欢迎来到天天文库
浏览记录
ID:22129571
大小:53.50 KB
页数:5页
时间:2018-10-27
《一种安全启动手机的方法 》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一种安全启动手机的方法□袁一泳中兴通讯股份有限公司【】本文提供了一种对的代码的合法性进行鉴定的管理方法,利用NandFlash的OTP(OneTimeProgrammable)区域来存放hash签名中的密钥。在启动时对运行代码进行认证,可以确保代码没有经过攻击者的修改,避免了被恶意修改从而被非法使用的现象。【关键字】OTP区安全认证一、技术领域本文涉及嵌入式系统技术,更具体地,涉及对安全启动的技术。二、背景技术随着移动通讯技术的发展,已经进入千家万户。的代码却有着一定的脆弱性,市场上的某些人可能将的存储介质中的代码进行修改,以达到一定的目的。或者可能被非法
2、下载其他代码。所有这些对于设备商或运营商而言都是不希望看到的。有鉴于此,本文提出了一种可以对中将要运行的代码进行认证的方法,如果是设备商认可的代码,则可以允许该代码在中运行,如果该代码不能通过的安全认证,则不允许该代码在中启动运行。OTP区,在一般的NANDFLASH器件上都会有一块OTP区域,OTP含义是OneTimeProgrammable,即一次可编程区,OTP(一次可编程)存储区的特性与一般FLASH存储器不同,一般FLASH存储器可以通过擦除命令恢复出厂状态(0xFF),然后可以重新写入数据,而OTP存储区一旦写入数据后,就无法通过擦除命令恢复出
3、厂状态,即对于每个bit位,只能从“1”改写为“0”,而不能从“0”改写为“1”,即不可逆。存储器厂家保证OTP区域的可使用性,不会有坏块的情况。三、具体内容为了解决现有技术中的问题,本方法提供了一种安全启动的方法,的启动过程同大多数嵌入式式系统一样,分为boot阶段和OS操作系统阶段。不论是产品还是嵌入式系统,都需要一个OS系统(或封闭式OS系统,或开发式OS系统),系统上电后,总是先运行启动代码boot,完成CPU的初始化,以及各种外设和外部存储器(NandFlash,Sdram)然后将处理权交给OS系统,运行各式应用程序。这一段启动代码就是我们通常所
4、说的boot代码。此处所讲的OS代码,不仅仅指的是的嵌入式操作系统,还有与之相关的在该操作系统上运行的其他应用任务程序代码。正常的启动过程是上电,系统自动将boot代码加载到ram中运行,此时boot的任务就是初始化CPU,初始化NandFlash,Sdram,加载下一级运行代码OS到Sdram中。等到OS加载完成后,从boot手中将CPU控制权交到OS控制,开始执行OS代码。但是在有些非法使用者在拿到后会用一些手段防止有些在未经授权的情况下被非法用户通过强力手段,通过TRACE32或类似的擦写Flash的方法将原来存在的代码擦除掉,然后再将修改过的或者未
5、经授权认证的代码下载到中使用。本方法的一个方面提供了一种在启动时boot阶段对即将运行的操作系统及相关应用代码进行安全认证的方法。本方法将boot阶段认证操作系统及相关应用代码认证的密钥存放在NANDFLASH的OTP区域,该区域不存在坏块问题,可以确保密钥不会遭到非法修改。对OTP区的读写操作同其他的NANDFLASH的block不同,对于sumsung的NandFlash对OTP区域的读写命令。OTP(OneTimeProgrammable)block是NandFlash里一个隐藏的block,该block必须使用特殊的指令来存取,以三星的NandFl
6、ash为例,对普通block的一个page进行读操作的时序其指令部分只有一个字节(0x00),对OTPblock的一个page进行读操作的时序其指令部分有三个字节(0x30,0x65和0x00)。对普通block的一个page进行写操作的时序其指令部分只有一个字节(0x80),对OTPblock的一个page进行写操作的时序其指令部分有三个字节(0x30,0x65和0x80)。通过这种不同的读写操作,OTP区域page的读写与普通的block的page读写区别开来。所以我们可以将密钥存储在OTP区域中,不会担心会被正常的NandFlash读写操作所访问到,
7、确保该密钥是安全的,而且由于OTP区域的信息是一次写好的,如果对它进行修改的话也是不成功的。下面分别介绍这种安全启动的方法:一般的启动过程分为2个阶段,Boot阶段和操作系统运行阶段。上电后首先将Boot代码从NandFlash中加载到内部Ram或者外部Sdram中进行运行,主要内容就是将系统的硬件部分进行初始化,初始化NandFlash,初始化Sdram,还有与系统相关的一些寄存器,在这部分完成后,Boot代码还需要将操作系统相关的代码从NandFlash中拷贝到Sdram中。然后将指令执行权交还给操作系统,运行应用程序。在此过程中很有可能出现一些使用者
8、非法下载一些未经过运营商或设备商许可的软件版本在中运行,或者修改部
此文档下载收益归作者所有