首页 > 专利 > 上海斐讯数据通信技术有限公司 > 一种终端的安全启动系统和方法专利详情

一种终端的安全启动系统和方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2015-11-13
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2016-02-03
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2018-04-06
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2035-11-13
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201510778872.5 申请日 2015-11-13
公开/公告号 CN105224875B 公开/公告日 2018-04-06
授权日 2018-04-06 预估到期日 2035-11-13
申请年 2015年 公开/公告年 2018年
缴费截止日 2021-12-13
分类号 G06F21/57 主分类号 G06F21/57
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 6
权利要求数量 7 非专利引证数量 0
引用专利数量 3 被引证专利数量 0
非专利引证
引用专利 CN1874486A、CN1874487A、CN1972433A 被引证专利
专利权维持 5 专利申请国编码 CN
专利事件 转让 事务标签 公开、实质审查、授权、权利转移
申请人信息
申请人 第一申请人
专利权人 上海斐讯数据通信技术有限公司 当前专利权人 湖州爱迪电气有限公司
发明人 蒋晨磊 第一发明人 蒋晨磊
地址 上海市松江区思贤路3666号 邮编 201616
申请人数量 1 发明人数量 1
申请人所在省 上海市 申请人所在市 上海市松江区
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州千克知识产权代理有限公司 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
周希良
摘要
本发明提供一种终端的安全启动系统,包括:文件加载模块,用于在所述终端上电复位后,加载所述终端的系统文件的进程;存储模块,用于存储所述系统文件;引导加载模块,用于引导加载所述存储模块完成加载;安全验证模块,用于对验证所述存储模块加载后的内容;系统启动模块,用于启动安全协议同时完成操作所述终端的系统加载。在数字签名的基础上,采用OTP硬件并结合hash运算,来对公钥Puk提供更高的安全性,对启动系统提供更加可靠地保障。
  • 摘要附图
    一种终端的安全启动系统和方法
  • 说明书附图:图1
    一种终端的安全启动系统和方法
  • 说明书附图:图2
    一种终端的安全启动系统和方法
  • 说明书附图:图3
    一种终端的安全启动系统和方法
  • 说明书附图:图4
    一种终端的安全启动系统和方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2020-12-18 专利权的转移 登记生效日: 2020.12.08 专利权人由上海斐讯数据通信技术有限公司变更为湖州爱迪电气有限公司 地址由201616 上海市松江区思贤路3666号变更为313023 浙江省湖州市吴兴区埭溪镇上强路
2 2018-04-06 授权
3 2016-02-03 实质审查的生效 IPC(主分类): G06F 21/57 专利申请号: 201510778872.5 申请日: 2015.11.13
4 2016-01-06 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种终端的安全启动系统,其特征在于:包括:
文件加载模块,用于在所述终端上电复位后,加载所述终端的系统文件的进程;
存储模块,用于存储所述系统文件;
引导加载模块,用于引导加载所述存储模块完成加载;
安全验证模块,用于对验证所述存储模块加载后的内容;
系统启动模块,用于启动安全协议同时完成操作所述终端的系统加载;
OTP单元;用于所述存储模块初始化后,存储所述系统文件的公钥的值进行hash运算后的hash值;
随机存储单元;用于所述存储模块初始化后,存储所述公钥的值;
所述文件加载模块还用于检查系统内存映射、加载内核映像及文件系统映像;
数字签名模块,用于对需要加载的所述内核映像及所述文件系统映像分段进行数字签名;
所述安全验证模块还用于分段加载后,判断所述OTP单元中的hash值与所述随机存储单元中的所述公钥的值的匹配结果是否一致,以及判断所述公钥的值进行数字签名认证是否通过;还用于将上述判断结果发送至所述系统启动模块;
所述系统启动模块根据所述安全验证模块的判断结果决定是否安全启动系统。

2.根据权利要求1所述的终端的安全启动系统,其特征在于:所述文件加载模块还用于从预先设定的地址上获取指令,从而将固态设备映射到所述地址上。

3.一种终端的安全启动方法,涉及所述权利要求1至2任一项所述的终端的安全启动系统,其特征在于,所述终端的安全启动方法包括以下步骤:
S1、所述终端上电复位,所述文件加载模块加载所述终端的系统文件的进程;
S2、所述引导加载模块引导所述存储模块加载完成系统文件;
S3、所述安全验证模块进行安全验证;
S4、所述系统启动模块启动安全协议同时完成所述终端的系统加载。

4.根据权利要求3所述的终端的安全启动方法,其特征在于:所述步骤S1还包括步骤:
从预先设定的地址上获取指令,从而将固态设备映射到所述地址上。

5.根据权利要求3所述的终端的安全启动方法,其特征在于:所述步骤S2还包括步骤:
S21、对所述存储模块进行初始化;
S22、存储所述系统文件的公钥的值进行hash运算后的hash值到所述OTP单元;
S23、存储所述公钥的值至所述随机存储单元。

6.根据权利要求5所述的终端的安全启动方法,其特征在于:所述步骤S2还包括步骤:
所述文件加载模块检查系统内存映射;加载内核映像及文件系统映像。

7.根据权利要求6所述的终端的安全启动方法,其特征在于:所述步骤S3还包括步骤:
S31、所述数字签名模块对需要加载的所述内核映像及所述文件系统映像分段进行数字签名,同时提供与私钥对应的公钥;
S32、所述安全验证模块将分段加载后所述OTP单元中的hash值与初始的所述公钥的值进行匹配,并判断结果是否一致;若否则系统加载失败;若是,则进入步骤S33;
S33、判断所述公钥的值进行数字签名认证是否通过;若否,则系统加载失败;若是,则所述系统启动模块控制所述终端跳转至所述终端的内核的第一条指令处;
S34、从所述第一条指令处依次执行所有指令。
说明书

技术领域

[0001] 本发明涉及电子领域,特别是涉及一种终端的安全启动系统和方法。

背景技术

[0002] 嵌入式终端设备已经广泛使用在人们的日常生活中,在人们享受它给我们带来了巨大便利性的同时,安全性已经成为一项重要的课题,甚至也是人们选购嵌入式终端产品的一项重要考量。目前,对于嵌入式终端设备的运行安全,已经有了很多成熟、有效的解决方案,然而,对于启动阶段的保护,并不多见。
[0003] 在嵌入式系统启动阶段,目前主流的安全设计一般通过对所需加载的系统进行数字签名的方式,来验证所加载系统的完整性和一致性。然而,对于和私钥(Prk)配对用来数字签名验证的公钥(Puk)来说,它的安全性并没有得到保障。这意味着,恶意代码可以通过修改Puk的方式,来使被修改的系统通过验证。同时,单一Puk、Prk配对的验证使得一旦数字签名被破解,整个系统便处于危险之中。

发明内容

[0004] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种终端的安全启动系统和方法,用于解决现有技术中对启动阶段保护较少,且安全性存在漏洞的问题。
[0005] 为实现上述目的及其他相关目的,本发明提供一种终端的安全启动系统,包括:文件加载模块,用于在所述终端上电复位后,加载所述终端的系统文件的进程;存储模块,用于存储所述系统文件;引导加载模块,用于引导加载所述存储模块完成加载;安全验证模块,用于对验证所述存储模块加载后的内容;系统启动模块,用于启动安全协议同时完成操作所述终端的系统加载。
[0006] 于本发明的一实施例中,所述文件加载模块还用于从预先设定的地址上获取指令,从而将固态设备映射到所述地址上。
[0007] 于本发明的一实施例中,所述存储模块包括:OTP单元;用于所述存储模块初始化后,存储所述系统文件的公钥的值进行hash运算后的hash值;随机存储单元;用于所述存储模块初始化后,存储所述公钥的值。
[0008] 于本发明的一实施例中,所述文件加载模块还用于检查系统内存映射、加载内核映像及文件系统映像。
[0009] 于本发明的一实施例中,还包括:数字签名模块,用于对需要加载的所述内核映像及所述文件系统映像分段进行数字签名;所述安全验证模块还用于分段加载后,判断所述OTP单元中的hash值与所述随机存储单元中的所述公钥的值的匹配结果是否一致,以及判断所述公钥的值进行数字签名认证是否通过;还用于将上述判断结果发送至所述系统启动模块;所述系统启动模块根据所述安全验证模块的判断结果决定是否安全启动系统。
[0010] 本发明还提供一种终端的安全启动方法,涉及上述的终端的安全启动系统,所述终端的安全启动方法包括以下步骤:S1、所述终端上电复位,所述文件加载模块加载所述终端的系统文件的进程;S2、所述引导加载程序模块引导所述存储模块加载完成系统文件;S3、所述安全验证模块进行安全验证;S4、所述系统启动模块启动安全协议同时完成所述终端的系统加载。
[0011] 于本发明的一实施例中,所述步骤S1还包括步骤:从预先设定的地址上获取指令,从而将固态设备映射到所述地址上。
[0012] 于本发明的一实施例中,所述步骤S2还包括步骤:S21、对所述存储模块进行初始化;S22、存储所述系统文件的公钥的值进行hash运算后的hash值到所述OTP单元;S23、存储所述公钥的值至所述随机存储单元。
[0013] 于本发明的一实施例中,所述步骤S2还包括步骤:所述文件加载模块检查系统内存映射;加载内核映像及文件系统映像。
[0014] 于本发明的一实施例中,所述步骤S3还包括步骤:S31、所述数字签名模块对需要加载的所述内核映像及所述文件系统映像分段进行数字签名,同时提供与私钥对应的公钥;S32、所述安全验证模块将分段加载后所述OTP单元中的hash值与初始的所述公钥的值进行匹配,并判断结果是否一致;若否则系统加载失败;若是,则进入步骤S33;S33、判断所述公钥的值进行数字签名认证是否通过;若否,则系统加载失败;若是,则所述系统启动模块控制所述终端跳转至所述终端的内核的第一条指令处;S34、从所述第一条指令处依次执行所有指令。
[0015] 如上所述,本发明的终端的安全启动系统和方法,具有以下有益效果:在数字签名的基础上,采用OTP硬件并结合hash运算,来对公钥Puk提供更高的安全性,对启动系统提供更加可靠地保障。

实施方案

[0029] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0030] 需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0031] 请参阅图1,图1显示为本发明终端的安全启动系统的一实施例中的模块方框示意图。本发明提供一种终端的安全启动系统,包括:文件加载模块10,用于在终端上电复位后,加载终端的系统文件的进程;存储模块20,用于存储系统文件;引导加载模块30,用于引导加载存储模块完成加载;安全验证模块40,用于对验证存储模块加载后的内容;系统启动模块50,用于启动安全协议同时完成操作终端的系统加载。
[0032] 进一步地,文件加载模块10还用于从预先设定的地址上获取指令,从而将固态设备映射到地址上。本发明的一实施例中,存储模块20包括:OTP(one-time-programmable)单元201;用于存储模块初始化后,存储系统文件的公钥的值进行hash(哈希)运算后的hash值;随机存储单元202;用于存储模块初始化后,存储公钥的值。一般而言,通过RSA-PSS算法生产的公钥(Puk)长度超过1024位。因此,为了减少OTP的使用,降低SOC的成本,本发明对公钥(Puk)进行hash(哈希)运算,得到长度较小的hash(哈希)值,这样,公钥(Puk)便可以存放在安全性相对较低的Off-soc,而在OTP中存放公钥(Puk)的hash(哈希)值。利用OTP只能写一次的硬件特性,在Soc中集成多个OTP,以存放公钥(Puk)的hash(哈希)值,以保证公钥(Puk)的安全性。
[0033] 文件加载模块10还用于检查系统内存映射、加载内核映像及文件系统映像。终端的安全启动系统还包括数字签名模块60,用于对需要加载的内核映像及文件系统映像分段进行数字签名。通常受信任的嵌入式设备生产商通过私钥(Prk)对系统映像(image)进行签名,同时,在设备上提供一个与私钥(Prk)配对的公钥(Puk)进行数字签名验证。在此基础上,嵌入式设备生产商可以对文件系统映像(image)进行分段,即通过多段数字签名,以保证系统启动时文件加载模块10在每一段都加载了正确的系统image。
[0034] 安全验证模块40还用于分段加载后,判断OTP单元201中的hash值与随机存储单元202中的公钥的值的匹配结果是否一致,以及判断公钥的值进行数字签名认证是否通过;还用于将上述判断结果发送至系统启动模块;系统启动模块50根据安全验证模块的判断结果决定是否安全启动系统。当判断OTP单元201中的hash值与随机存储单元202中的公钥的值的匹配结果不一致或者公钥的值进行数字签名认证没有通过时,系统加载失败。当判断OTP单元201中的hash值与随机存储单元202中的公钥的值的匹配结果一致且者公钥的值进行数字签名认证通过时,内核映像(kernel image)及文件系统映像被正确加载,终端跳转至终端的内核的第一条指令处;从第一条指令处依次执行所有指令,所有指令执行完后,系统安全启动。
[0035] 本发明还提供了一种终端的安全启动方法,涉及上述述的终端的安全启动系统,如图2所示,图2显示为本发明终端的安全启动方法的一实施例中的流程方框示意图。本发明的一实施例中,终端的安全启动方法包括以下步骤:S1、终端上电复位,文件加载模块10加载终端的系统文件的进程;S2、引导加载程序模块30引导存储模块20加载完成系统文件;S3、安全验证模块40进行安全验证;S4、系统启动模块50启动安全协议同时完成终端的系统加载。
[0036] 在本发明的另一实施例中,终端的安全启动方法包括以下步骤:S1、终端上电复位,文件加载模块10加载终端的系统文件的进程;文件加载模块10从预先设定的地址上获取指令,从而将固态设备映射到地址上。系统上电或复位后,所有的CPU通常都从某个由CPU制造商预先安排的地址上取指令。比如:CPU复位后,通常都从地址0x00000000取它的第一条指令。而基于CPU构建的嵌入式系统通常都有某种类型的固态设备(如:ROM、EEPROM或FLASH等)被映射到这个预先安排的地址上。因此,系统上电或复位后,CPU将从ROM首先执行文件加载模块10程序,在这个过程中文件加载模块10对硬件设备进行初始化、准备所需的ram、加载、跳转到下一步所需的入口地址。到目前为止,系统启动基本是安全的,因为rom可以保证文件加载模块10中的代码不会被修改。
[0037] 如图3所示,图3显示为本发明终端的安全启动方法的另一实施例中的步骤S2的流程方框示意图。S2、引导加载程序模块30引导存储模块20加载完成系统文件;文件加载模块10检查系统内存映射;加载内核映像及文件系统映像。其中,步骤S2还包括步骤:S21、对存储模块20进行初始化;S22、存储系统文件的公钥的值进行hash运算后的hash值到OTP单元
201;S23、存储公钥的值至随机存储单元202。加载过程中,首先检查系统内存映射,接着加载内核image以及文件系统image。由于文件加载模块10程序的代码在ram中,意味着它有可能会被修改,导致去加载被恶意修改过的kernel iamge及文件系统Image。通过对所需加载的image分段进行RSA数字签名,同时,在设备上留下与Prk配对的Puk。由于通过RSA-PSS生成的Puk长度通常超过1024bit,分别存放进OTP中会对Soc的尺寸、功耗、成本带来比较大的影响。因此,通过对各个Puk进行hash运算得到32bit的hash值,再将Puk的hash值分别保存在OTP中。同时,OTP可以集成进Soc内以提供更可靠地安全性,而将Puk存放在Soc外的存储器中,比如flash等。
[0038] 如图4所示,图4显示为本发明终端的安全启动方法的另一实施例中的步骤S3的流程方框示意图。S3、安全验证模块进行安全验证;其中,步骤S3还包括步骤:S31、数字签名模块对需要加载的内核映像及文件系统映像分段进行数字签名,同时提供与私钥对应的公钥;S32、安全验证模块将分段加载后OTP单元中的hash值与初始的公钥的值进行匹配,并判断结果是否一致;若否则系统加载失败;若是,则进入步骤S33;S33、判断公钥的值进行数字签名认证是否通过;若否,则系统加载失败;若是,则系统启动模块控制终端跳转至终端的内核的第一条指令处;S34、从第一条指令处依次执行所有指令。
[0039] 在分段加载系统过程中,分别通过存放在OTP中的hash值与相应的Puk进行hash运算进行比对,如果一致,则说明Puk未被恶意修改,Puk验证通过。接着,通过此Puk进行数字签名认证,如果通过,则说明此分段Image未被恶意修改,验证通过。所有分段image的验证通过后,kernel image及文件系统image被正确加载。最后,直接跳转到内核的第一条指令处执行,从第一条指令处依次执行所有指令。所有指令执行完后进入步骤S4。
[0040] S4、系统启动模块启动安全协议同时完成终端的系统加载,系统安全启动。
[0041] 综上所述,本发明,在数字签名的基础上,采用OTP硬件并结合hash运算,来对公钥Puk提供更高的安全性,对启动系统提供更加可靠地保障。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0042] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

附图说明

[0016] 图1显示为本发明终端的安全启动系统的一实施例中的模块方框示意图。
[0017] 图2显示为本发明终端的安全启动方法的一实施例中的流程方框示意图。
[0018] 图3显示为本发明终端的安全启动方法的另一实施例中的步骤S2的流程方框示意图。
[0019] 图4显示为本发明终端的安全启动方法的另一实施例中的步骤S3的流程方框示意图。
[0020] 元件标号说明
[0021] 10      文件加载模块
[0022] 20      存储模块
[0023] 30      引导加载模块
[0024] 40      安全验证模块
[0025] 50      系统启动模块
[0026] 60      数字签名模块
[0027] 201     OPT单元
[0028] 202     随机存储单元
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号