随着移动通讯技术的发展,手机已经进入千家万户。手机的代码却有着一定的脆弱性,市场上的某些人可能将手机的存储介质中的代码进行修改,以达到一定的目的。或者手机可能被非法下载其他代码。所有这些对于手机设备商或运营商而言都是不希望看到的。有鉴于此,本文提出了一种可以对手机中将要运行的代码进行认证的方法,如果是设备商认可的代码,则可以允许该代码在手机中运行,如果该代码不能通过手机的安全认证,则不允许该代码在手机中启动运行。OTP 区,在一般的 NAND FLASH 器件上都会有一块OTP 区域,OTP 含义是 One Time Programmable, 即一次可编程区,OTP(一次可编程)存储区的特性与一般FLASH存储器不同,一般FLASH存储器可以通过擦除命令恢复出厂状态(0xFF),然后可以重新写入数据,而OTP存储区一旦写入数据后,就无法通过擦除命令恢复出厂状态,即对于每个 bit 位,只能从“1”改写为“0”,而不能从“0”改写为“1”,即不可逆。存储器厂家保证OTP区域的可使用性,不会有坏块的情况。
为了解决现有技术中的问题,本方法提供了一种手机安全启动的方法,手机的启动过程同大多数嵌入式式系统一样,分为boot阶段和OS操作系统阶段。不论是手机产品还是嵌入式系统,都需要一个OS系统(或封闭式OS系统,或开发式OS系统),系统上电后,总是先运行启动代码boot,完成CPU的初始化,以及各种外设和外部存储器(NandFlash,Sdram)然后将处理权交给OS系统,运行各式应用程序。
这一段启动代码就是我们通常所说的boot代码。此处所讲的OS代码,不仅仅指的是手机的嵌入式操作系统,还有与之相关的在该操作系统上运行的其他应用任务程序代码。正常的手机启动过程是手机上电,系统自动将boot代码加载到ram中运行,此时boot的任务就是初始化CPU,初始化NandFlash,Sdram, 加载下一级运行代码 OS 到 Sdram 中。等到OS加载完成后,从boot手中将CPU控制权交到OS控制,开始执行OS代码。但是在有些非法使用者在拿到手机后会用一些手段防止有些手机在未经授权的情况下被非法用户通过强力手段,通过TRACE32或类似的擦写Flash的方法将原来存在的代码擦除掉,然后再将修改过的或者未经授权认证的代码下载到手机中使用。
,Copyright © 2008-2022 秒下下载站
m.down10s.com .All Rights Reserved