一种可更新信任根的移动终端安全启动方法技术

技术编号:36942532 阅读:54 留言:0更新日期:2023-03-22 19:04
本发明专利技术公开了一种可更新信任根的移动终端安全启动方法,其步骤包括:1)将安全启动系统的代码存储到移动终端内可读写存储介质被首先启动的启动分区,将启动引导程序存储到可读写存储介质其他启动分区;在介质的数据区设置用于存储操作系统镜像的系统分区和用于存储控制信息的安全启动辅助分区;2)通过配置移动终端的启动选项,使移动终端从介质中读取安全启动系统的相关代码并执行;安全启动系统根据控制信息确定是否更新移动终端的信任根;如果需要更新,则完成信任根更新后进行步骤3);如果不需要更新,则直接进行步骤3);3)将安全启动系统所在分区设置为只读后对将要启动的操作系统镜像进行完整性验证,并启动引导程序完成系统启动。完成系统启动。完成系统启动。

【技术实现步骤摘要】
一种可更新信任根的移动终端安全启动方法


[0001]本专利技术涉及一种可更新信任根的移动终端安全启动方法,属于移动终端安全


技术介绍

[0002]随着物联网及智能设备的发展,移动终端日渐普及。很多敏感业务开始在移动终端上运行,例如移动支付、个人健康数据采集、敏感文件处理等,涉及到大量敏感数据。移动终端如不对上述数据进行妥善保护,将导致数据的泄露,造成经济损失及其他不良后果。
[0003]保护敏感数据的安全首先需要移动终端能够确保自身操作系统的安全。如果攻击者破坏了操作系统的完整性,获得了管理员权限,操作系统所承载的敏感数据的安全自然无从谈起。安全启动是常见的操作系统完整性保护方案之一。安全启动系统的密钥通常由一对公私钥对组成,其中私钥由设备制造商持有,公钥作为信任根保存在移动终端上。设备制造商在发布操作系统镜像时会使用所持有的私钥对镜像文件的哈希值进行签名,并将签名值与操作系统镜像一同发布。移动终端在加载并启动操作系统之前,安全启动系统将会使用保存在终端中的信任根验证待加载的操作系统镜像的签名值。只有签名验证通过,操作系统才被允许启动。
[0004]现有的安全启动方案通常由移动终端的处理器芯片制造商提供,其中代码部分通常会固化在处理器的只读存储区域中,而所使用的信任根数据通常存储在电子保险丝(eFuse)中。上述组合虽然具有较好的安全性,但是对于移动终端制造商及使用者存在诸多不便。首先,在处理器制造商完成芯片制造后,移动终端制造商及使用者不能对其所实现的密码算法以及镜像验证逻辑进行任何修改;其次,虽然移动终端制造商及使用者可以通过烧录eFuse的方式来实现对信任根的配置,但因为eFuse只能写入一次,信任根的配置为一次性操作,不能满足灵活配置的需求。

技术实现思路

[0005]针对现有技术中存在的技术问题,本专利技术的目的在于提供一种可更新信任根的移动终端安全启动方法,能够实现对安全启动所使用的算法以及镜像验证逻辑的升级,同时能够根据移动终端不同的使用者灵活地更换镜像验证所需的信任根等数据。本专利技术基于可写存储介质实现安全启动方案可以获得更好的灵活性;通过对写入数据的验证,进行可控的升级,可以防止攻击者篡改可写存储介质中的内容,达到与基于只读存储类似的安全。
[0006]安全启动可以确保智能终端所启动的系统是可信的。为了实现这一目标,需要完成两个功能:
[0007]1.确保安全启动在智能终端开机后首先运行,这样才能够由安全启动去校验其他系统镜像;
[0008]2.确保安全启动系统不能够被篡改。在安全启动完成对系统镜像的校验后,自身便会退出。此时需要确保安全启动的相关代码数据不被篡改,否则下一次启动时,安全启动
便会因为被篡改而失效。
[0009]在手机的片上系统(SoC)中,通常会有一个只读的存储区域,SoC在上电之后,会默认的从此区域读取代码并执行,存储此代码的区域称为BootROM。传统的安全启动方案通常基于BootROM实现,即把代码放在BootROM中,便可满足上述的2个功能。BootROM会通过拨码开关或者其他的配置,来相对应地选择下一步的存储设备。在选择完毕后,BootROM会从选中的存储设备的约定位置(通常为启动分区)读取代码数据并执行。
[0010]本专利的主要思想便是弃用BootROM中厂商自带的安全启动机制,将其后移至存储设备中。因为在对存储设备进行配置后,移动终端会从存储设备的约定位置处执行代码,只需要将安全启动代码放在这个位置,即可实现安全启动代码被第一个启动。
[0011]同时现有的存储设备,通常有写保护功能,可以保护一部分数据不被篡改。具体而言,存储设备通常具有Power

on写保护功能,即在移动终端的一次上电开机过程中,可单次设置某一数据区域为只读,并在重启设备之前,该区域的只读状态不能再被修改。在重启后,该区域写保护将被解除。借助这一特性,本专利所实现的安全启动系统会在自身退出运行之前启动对自身的写保护,防止自身被篡改。
[0012]传统的安全启动系统基于只读的BootROM实现,无法进行更新。而本专利技术中安全启动系统的写保护基于Power

on写保护实现,在安全启动系统启用写保护之前;会对自身进行更新。如何有序进行可信更新,是本专利技术的另一个重要内容。
[0013]本专利技术的技术解决方案:
[0014]一方面,本专利技术提供一种可更新信任根的移动终端安全启动方法,包括:
[0015]1)将安全启动系统的代码存储到移动终端内可读写存储介质的被首先启动的启动分区,称为安全启动分区;将启动引导程序BootLoader存储到所述可读写存储介质的其他启动分区;在所述可读写存储介质的数据区设置安全启动辅助分区和系统分区,所述安全启动辅助分区用于存储用户发送的控制信息,所述系统分区用于存储移动终端的操作系统镜像;
[0016]2)通过拨码开关等配置移动终端的启动选项,从而确保移动终端将会从指定的可读写存储介质中读取移动终端的安全启动系统的相关代码并执行;拨码开关通常与SoC的管脚直接连接。可以配置SoC从何种存储设备读取系统镜像并启动。通常拨码开关可以配置存储设备,而SoC会从指定存储设备的固定分区(如启动分区)读取系统镜像。
[0017]3)在安全启动系统执行后,会从可读写存储介质中加载操作系统镜像至内存并对将要启动的操作系统镜像进行完整性验证;
[0018]4)安全启动系统为了实现对自身的保护,在启动操作系统前,需要配置存储设备,将自身所在的存储分区设置为只读。
[0019]进一步地,步骤2)包括:
[0020]2.1)加载安全启动系统:在移动终端上电后,处理器将从存储设备的固定存储分区位置加载需要执行的代码等数据至内存并执行。将安全启动系统相关代码存放至上述存储分区,即可实现在移动终端启动后首先执行安全启动系统;
[0021]2.2)加载操作系统镜像:安全启动系统将对移动终端的外设进行初步的初始化,随后从存储设备中加载操作系统镜像至内存;
[0022]2.3)验证操作系统镜像完整性:安全启动系统使用哈希算法计算位于内存中的操
作系统镜像的哈希值,并进一步使用信任根验证镜像的完整性。信任根是一个公钥,公私钥对由设备制造商生成,并将公钥写入移动终端作为信任根。
[0023]另一方面,本专利技术提供一种可信的安全启动算法与信任根等数据的传递更新升级机制。所述安全启动系统首先根据所述安全启动辅助分区的控制信息确定是否更新所述移动终端的信任根;如需更新,则完成信任根更新后进行步骤3);如果不需要更新,则直接进行步骤3)。
[0024]更新信任根的方法为:安全启动系统使用信任根对将要启动的系统镜像进行验签,信任根决定了移动终端仅能够启动由信任根私钥持有者所签名的系统镜像。因此对在移动终端所有者变更后,需要同时对信任根进行变更。为了实现对信任根的可控变更,防止攻击者在信任根变更环节发起攻击,本专利技术使用传递更新升级机本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可更新信任根的移动终端安全启动方法,其步骤包括:1)将安全启动系统的代码存储到移动终端内可读写存储介质被首先启动的启动分区,称为安全启动分区;将启动引导程序BootLoader存储到所述可读写存储介质的其他启动分区;在所述可读写存储介质的数据区设置系统启动分区和安全启动辅助分区,所述安全启动辅助分区用于存储用户发送的控制信息,所述系统启动分区用于存储移动终端的操作系统镜像;2)通过配置所述移动终端的启动选项,使所述移动终端从可读写存储介质中读取所述安全启动系统的相关代码并执行;所述安全启动系统根据所述安全启动辅助分区的控制信息确定是否更新所述移动终端的信任根;如果需要更新,则完成信任根更新后进行步骤3);如果不需要更新,则直接进行步骤3);3)所述安全启动系统将所述安全启动分区设置为只读后启动引导程序BootLoader,从所述系统启动分区中加载操作系统镜像至内存;然后所述安全启动系统对将要启动的所述操作系统镜像进行完整性验证。2.根据权利要求1所述的方法,其特征在于,更新信任根的方法为:在移动终端的所有权被转让时,所述移动终端的原所有者使用信任根私钥对新所有者设置的新信任根进行签名,并由新所有者将该新信任根发送至所述安全启动辅助分区;所述移动终端验证对该新信任根的签名验证通过后,将所述安全启动系统当前所存储的算法与信任根进行更新。3.根据权利要求1或2所...

【专利技术属性】
技术研发人员:王跃武马思源雷灵光周荃许守银史昊天孟敬姿
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1