CN102222181A - 一种在嵌入式设备中实现可信计算平台的方法 - Google Patents
一种在嵌入式设备中实现可信计算平台的方法 Download PDFInfo
- Publication number
- CN102222181A CN102222181A CN2010101490495A CN201010149049A CN102222181A CN 102222181 A CN102222181 A CN 102222181A CN 2010101490495 A CN2010101490495 A CN 2010101490495A CN 201010149049 A CN201010149049 A CN 201010149049A CN 102222181 A CN102222181 A CN 102222181A
- Authority
- CN
- China
- Prior art keywords
- embedded device
- data
- digest value
- calculation modules
- creditable calculation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
一种在嵌入式设备中实现可信计算平台的方法,涉及信息安全技术领域。本发明的方法步骤为:将嵌入式设备与可信计算模块相互连接;在可信计算模块中存储引导关键特征数据和应用程序关键特征数据的摘要值;嵌入式设备进行信任链的建立并将关键特征数据传递给可信计算模块;可信计算模块把摘要值一返回嵌入式设备;嵌入式设备对摘要值一进行正确性验证;实时操作系统将需要启动的应用程序的关键数据传递给可信计算模块;可信计算模块把摘要值二返回嵌入式设备;嵌入式设备将摘要值二进行正确性验证。本发明通过将嵌入式设备与可信计算模块的连接,在嵌入式设备中实现可信计算平台的全部功能,为嵌入式设备提供可靠的安全保障。
Description
技术领域
本发明涉及信息安全技术领域,特别是在嵌入式设备中实现可信计算平台的方法。
背景技术
近几年来,可信计算已经成为信息安全领域的一个热点,中国的可信计算现在已经越来越受到国家密码管理部门的重视,并已经上升为国家标准,众多的对安全保密要求比较高的场所对可信计算的需求越来越多。
但是,现有的可信计算标准主要针对的是电脑PC用户,通常是通过PC主板上的低引脚数目LPC接口连接可信计算模块TMC,从而完成可信计算的功能。对于更大量的嵌入式设备,如防火墙产品、税控机产品、以及其他各种手持设备,如手机、PDA等等,由于技术的进步,它们承载的功能越来越丰富,对于安全方面的需求也越来越受到关注,因此在嵌入式设备中增加一种安全机制成为必要。而目前针对嵌入式设备的可信计算平台技术这块还是空白,急需建立和完善。
发明内容
针对上述现有技术中存在的欠缺,本发明的目的是提供一种使嵌入式设备实现可信计算平台的装置及其实现方法。它通过将嵌入式设备与可信计算模块的连接,在嵌入式设备中实现可信计算平台的全部功能,为嵌入式设备提供可靠的安全保障。
为了达到上述发明目的,本发明的技术方案以如下方式实现:
一种在嵌入式设备中实现可信计算平台的方法,其步骤为:
1)将内含实时操作系统的嵌入式设备通过串行接口与可信计算模块相互连接;
2)在可信计算模块中存储引导关键特征数据和应用程序关键特征数据的摘要值;
3)嵌入式设备在引导阶段进行信任链的建立,确认正常引导后将关键特征数据通过串行接口传递给可信计算模块;
4)可信计算模块对传入的关键特征数据进行摘要计算,并把摘要值一通过串行接口返回嵌入式设备;
5)嵌入式设备对摘要值一进行正确性验证,以确保实时操作系统启动正确;
6)实时操作系统启动加载后通过串行接口将需要启动的应用程序的关键数据传递给可信计算模块;
7)可信计算模块对传入的应用程序关键数据进行摘要计算,并把摘要值二通过串行接口返回嵌入式设备;
8)嵌入式设备的实时操作系统将摘要值二进行正确性验证,以确保应用程序启动正确。
在上述方法中,所述信任链的建立方法为:
1)启动可信计算模块并进行初始化;
2)将与安全相关的敏感数据送给可信计算模块进行摘要计算;
3)把摘要计算的结果存放在可信计算模块的平台配置寄存器中;
4)将摘要计算结果和存放在可信计算模块内部非易失存储区中的摘要值进行比较;
5)比较结果正确则开始正常引导,否则将发出告警。
在上述方法中,所述对摘要值一和/或摘要值二进行正确性验证的方法为:
在初始化阶段,
1)随机生成一个密钥和一段数据;
2)将摘要值一和/或摘要值二与密钥绑定,然后对数据做加密封装;
3)将密钥和加密封装后的数据存储到非易失存储区。
在验证阶段,
1)读取密钥和加密封装后的数据;
2)将摘要值一和/或摘要值二与密钥绑定,对数据解封装;
3)如果能够完成数据的解封装,说明比较的结果是正确的,否则是错误的。
本发明由于采用了上述方法,通过将嵌入式设备与可信计算模块的连接,在嵌入式设备中实现可信计算平台的全部功能。可信计算模块TCM作为一种在通用PC平台上已经成功运用的技术,将它移植到嵌入设备中,借助TCM完备的安全机制,为嵌入式设备提供可靠的安全保障。
下面结合附图和具体实施方式对本发明作进一步说明。
附图说明
图1为本发明的连接示意图;
图2为本发明方法流程图;
图3为本发明实施例中12C接口总线数据传输图;
图4为本发明实施例中主机向从机写数据示意图;
图5为本发明实施例中主机向从机读数据示意图;
图6为本发明实施例中可信计算模块接收嵌入式设备命令流程图。
具体实施方式
参看图1和图2,本发明在嵌入式设备中实现可信计算平台的方法步骤为:
1)将内含实时操作系统的嵌入式设备通过串行接口与可信计算模块相互连接;
2)在可信计算模块中存储引导关键特征数据和应用程序关键特征数据的摘要值。
3)嵌入式设备在引导阶段进行信任链的建立,信任链的建立方法为:
a)启动可信计算模块并进行初始化;
b)将与安全相关的敏感数据送给可信计算模块进行摘要计算;
c)把摘要计算的结果存放在可信计算模块的平台配置寄存器中;
d)将摘要计算结果和存放在可信计算模块内部非易失存储区中的摘要值进行比较;
e)比较结果正确则开始正常引导,否则将发出告警。
确认正常引导后将关键特征数据通过串行接口传递给可信计算模块。
4)可信计算模块对传入的关键特征数据进行摘要计算,并把摘要值一通过串行接口返回嵌入式设备。
5)嵌入式设备对摘要值一进行正确性验证,以确保实时操作系统启动正确。
6)实时操作系统启动加载后通过串行接口将需要启动的应用程序的关键数据传递给可信计算模块。
7)可信计算模块对传入的应用程序关键数据进行摘要计算,并把摘要值二通过串行接口返回嵌入式设备。
8)嵌入式设备的实时操作系统将摘要值二进行正确性验证,以确保应用程序启动正确。
上述方法中,对摘要值一和/或摘要值二进行正确性验证的方法为:
在初始化阶段,
1)随机生成一个密钥和一段数据;
2)将摘要值一和/或摘要值二与密钥绑定,然后对数据做加密封装;
3)将密钥和加密封装后的数据存储到非易失存储区。
在验证阶段,
1)读取密钥和加密封装后的数据;
2)将摘要值一和/或摘要值二与密钥绑定,对数据解封装;
3)如果能够完成数据的解封装,说明比较的结果是正确的,否则是错误的。
本发明中嵌入式设备同可信计算模块上的串行接口可采用I2C接口或者SMBUS接口。I2C接口是一种两线接口协议,在很多的嵌入式设备中广泛使用,SMBUS接口是在I2C总线基础上形成的一种针对系统控制和电源管理的总线协议,两者在本质上没有什么区别。这里选择I2C接口说明如下:
●I2C总线具备两条总线线路:一条串行数据总线SDA和一条串行时钟总线SCL;
●每个连接到I2C总线的器件都可以通过唯一的地址同主机通讯,主机可以作为主机发送器和主机接收器。
本发明中的可信计算模块作为I2C总线的从机设备,嵌入式设备作为主机设备,两者的信号传输过程如下:
(一)I2C数据传输的发起和终止,如图3所示。
数据传输起始阶段:在SCL为高电平时,SDA出现下降沿,表示I2C总线启动一次传输。
数据结束阶段:在SCL为高电平时,SDA出现上升沿,表示I2C总线传输结束。
(二)主机写数据,如图4所示。
从机地址SLAVE ADDRESS是7bit地址,后跟一位表示传输方向的数据,‘0’表示主机向从机写,‘1’表示主机需要从从机读取数据。
在主机向从机写的过程中,每发送8个bit,从机就要给出一个低电平应答ACK,或者高电平不应答NAK。
(三)主机读数据,如图5所示。
主机读取从机数据,主机在每收到8bit数据后给出应答和不应答信号。
(四)数据传输中的等待机制。
在I2C总线的设计中,通过SCL信号来完成主机、从机两者间的协调。例如:在主机需要从从机读取数据时,从机速度可能比较慢,因此主机在决定从机数据是否有效时,会先查看SCL信号是否为低电平。如果是低电平,则说明从机数据还没有准备好,不允许读取数据。反之,当主机向从机写入数据,从机如果接收的速度比较慢,也是通过将SCL信号拉低,来向主机表示还没有准备好接收数据,希望主机等待。通过这种握手机制,可以很好的均衡主机和从机之间的通讯,保证双方通讯的正确性。
(五)嵌入式设备同可信计算模块之间通讯的状态转换。
由于可信计算模块需要处理非常复杂的加解密运算以及其他耗费时间的存储和计算功能,因此对于嵌入式设备来讲需要明确知道何时才可以向可信计算模块发送命令,或者何时才可以读取数据。因此,在可信计算模块中定义了几种状态:
●忙状态,表示可信计算模块无法接收任何数据,也无法向主机发送任何数据,此时需要外部嵌入式设备等待。
●只允许写状态,表示可信计算模块已经处于接收状态,嵌入式设备可以向其发送指令,但是可信计算模块并没有数据供嵌入式设备读取。
●只允许读状态,表示可信计算模块有数据需要嵌入式设备读取,在读取这些数据之前,不允许嵌入式设备对其执行写操作。
参看图6,可信计算模块按照如下流程接收嵌入式设备命令,并执行:
1)起始状态,只允许主机写,此时等待接收主机命令;
2)接收到命令后,检查命令格式,并进入命令执行阶段;
3)命令执行完毕后,进入只读状态,此时只允许主机读取应答数据;
4)主机读取应答数据后,可信计算模块回复到起始状态。
采用上述简单的状态机,保证了可信计算模块和嵌入式设备之间可靠的通讯,嵌入式设备通过判断可信计算模块的当前状态,决定接收和发送数据。
可信计算模块的功率控制方法为:
●可信计算模块时钟采用内部时钟,可通过命令选择不同的时钟频率,嵌入式设备可根据不同的应用场景平衡功耗和速度的关系,频率低,则功耗低,频率高,则功耗高。
●可信计算模块具备睡眠功能,当嵌入式设备整体需要处于睡眠状态时,可通过发送指令,使得可信计算模块完全进入睡眠状态,此时只有主通讯接口工作,可通过向通讯接口发送指令,产生中断唤醒可信计算模块。
●在某些应用场景中,可信计算模块可能会通过自带的输入输出接口连接外部输入信息,或者主动扫描外部的某些输入信息,因此在可信计算模块中通过定时睡眠的方式,即睡眠后开启定时器,经过一定时间后,唤醒可信计算模块,并执行主动扫描功能。这样既降低了功耗,又保证了对输入信息的及时相应。
●在可信计算模块中,存在很多功能组件,如:ECC加密模块,ECC解密模块,随机数发生模块等等,这些模块并不需要同时工作,嵌入式设备可以通过发送指令只开启需要使用的部分,这样可实现精确的功率管理,最大限度的节省电能。
Claims (3)
1.一种在嵌入式设备中实现可信计算平台的方法,其步骤为:
1)将内含实时操作系统的嵌入式设备通过串行接口与可信计算模块相互连接;
2)在可信计算模块中存储引导关键特征数据和应用程序关键特征数据的摘要值;
3)嵌入式设备在引导阶段进行信任链的建立,确认正常引导后将关键特征数据通过串行接口传递给可信计算模块;
4)可信计算模块对传入的关键特征数据进行摘要计算,并把摘要值一通过串行接口返回嵌入式设备;
5)嵌入式设备对摘要值一进行正确性验证,以确保实时操作系统启动正确;
6)实时操作系统启动加载后通过串行接口将需要启动的应用程序的关键数据传递给可信计算模块;
7)可信计算模块对传入的应用程序关键数据进行摘要计算,并把摘要值二通过串行接口返回嵌入式设备;
8)嵌入式设备的实时操作系统将摘要值二进行正确性验证,以确保应用程序启动正确。
2.根据权利要求1所述的方法,其特征在于,所述信任链的建立方法为:
1)启动可信计算模块并进行初始化;
2)将与安全相关的敏感数据送给可信计算模块进行摘要计算;
3)把摘要计算的结果存放在可信计算模块的平台配置寄存器中;
4)将摘要计算结果和存放在可信计算模块内部非易失存储区中的摘要值进行比较;
5)比较结果正确则开始正常引导,否则将发出告警。
3.根据权利要求1或2所述的方法,其特征在于,所述对摘要值一和/或摘要值二进行正确性验证的方法为:
在初始化阶段,
1)随机生成一个密钥和一段数据;
2)将摘要值一和/或摘要值二与密钥绑定,然后对数据做加密封装;
3)将密钥和加密封装后的数据存储到非易失存储区;
在验证阶段,
1)读取密钥和加密封装后的数据;
2)将摘要值一和/或摘要值二与密钥绑定,对数据解封装;
3)如果能够完成数据的解封装,说明比较的结果是正确的,否则是错误的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101490495A CN102222181A (zh) | 2010-04-15 | 2010-04-15 | 一种在嵌入式设备中实现可信计算平台的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101490495A CN102222181A (zh) | 2010-04-15 | 2010-04-15 | 一种在嵌入式设备中实现可信计算平台的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102222181A true CN102222181A (zh) | 2011-10-19 |
Family
ID=44778732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101490495A Pending CN102222181A (zh) | 2010-04-15 | 2010-04-15 | 一种在嵌入式设备中实现可信计算平台的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102222181A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819706A (zh) * | 2012-07-26 | 2012-12-12 | 重庆大学 | 在现有嵌入式设备上实现可信嵌入式系统的装置和方法 |
CN103049293A (zh) * | 2012-12-12 | 2013-04-17 | 中国电力科学研究院 | 一种嵌入式可信系统的启动方法 |
CN104615947A (zh) * | 2015-02-02 | 2015-05-13 | 中国科学院软件研究所 | 一种可信的数据库完整性保护方法及系统 |
CN105608385A (zh) * | 2015-12-29 | 2016-05-25 | 南京理工大学 | 基于嵌入式可信计算模块的嵌入式设备可信启动方法 |
CN110730079A (zh) * | 2019-10-16 | 2020-01-24 | 北京仁信证科技有限公司 | 基于可信计算模块的嵌入式系统安全启动和可信度量的系统 |
-
2010
- 2010-04-15 CN CN2010101490495A patent/CN102222181A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819706A (zh) * | 2012-07-26 | 2012-12-12 | 重庆大学 | 在现有嵌入式设备上实现可信嵌入式系统的装置和方法 |
CN103049293A (zh) * | 2012-12-12 | 2013-04-17 | 中国电力科学研究院 | 一种嵌入式可信系统的启动方法 |
CN103049293B (zh) * | 2012-12-12 | 2016-09-21 | 中国电力科学研究院 | 一种嵌入式可信系统的启动方法 |
CN104615947A (zh) * | 2015-02-02 | 2015-05-13 | 中国科学院软件研究所 | 一种可信的数据库完整性保护方法及系统 |
CN104615947B (zh) * | 2015-02-02 | 2017-10-03 | 中国科学院软件研究所 | 一种可信的数据库完整性保护方法及系统 |
CN105608385A (zh) * | 2015-12-29 | 2016-05-25 | 南京理工大学 | 基于嵌入式可信计算模块的嵌入式设备可信启动方法 |
CN110730079A (zh) * | 2019-10-16 | 2020-01-24 | 北京仁信证科技有限公司 | 基于可信计算模块的嵌入式系统安全启动和可信度量的系统 |
CN110730079B (zh) * | 2019-10-16 | 2023-06-02 | 北京信长城科技发展有限公司 | 基于可信计算模块的嵌入式系统安全启动和可信度量的系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11829776B2 (en) | Integrated circuit device that includes a protected memory component for transmitting protected data over a communication interface | |
KR101825005B1 (ko) | 하드웨어 플랫폼에 대한 펌웨어의 인-시스템 프로비저닝 | |
US20200366135A1 (en) | Near field communication and wireless power | |
KR101043842B1 (ko) | Ulpi phy 인터페이스 표준을 사용하는 usb 2.0 링크 전력 관리 부록의 물리적 장치(phy) 지원 | |
US20030109218A1 (en) | Portable wireless storage unit | |
CN112597089A (zh) | 使用消息总线接口的phy重新校准 | |
CN104951701B (zh) | 一种基于usb控制器的终端设备操作系统引导的方法 | |
US11836262B2 (en) | Protection of communications between trusted execution environment and hardware accelerator utilizing enhanced end-to-end encryption and inter-context security | |
CN101540738B (zh) | 信息安全中间设备及其使用方法 | |
CN102222181A (zh) | 一种在嵌入式设备中实现可信计算平台的方法 | |
CN107908589B (zh) | I3c验证从设备、主从设备的通信验证系统及方法 | |
US20190064909A1 (en) | Electronic device and power management method | |
JP2001236304A (ja) | マイクロコンピュータ | |
CN100476851C (zh) | 计算机与磁盘数据安全传输防护系统 | |
US20210334383A1 (en) | Secure boot method for terminal device, terminal device and medium | |
CN104380274B (zh) | 用于优化的链路训练及管理的装置和方法 | |
TWI765257B (zh) | 用於usb-pd充電器的韌體更新方法和裝置 | |
CN102236747A (zh) | 一种传统计算机升级为可信计算机的方法 | |
CN103428560A (zh) | 一种key码烧录的方法以及装置 | |
CN111143898B (zh) | 可插拔存储器装置数据保护方法 | |
CN111832090A (zh) | 一种基于多通道spi程序读写接口的安全电子装置 | |
JP3655597B2 (ja) | 電子機器、電子カード、及びカード識別方法 | |
CN104102871A (zh) | 电子签名认证扩展设备及信息处理方法 | |
CN104102870B (zh) | 电子签名认证扩展设备及信息处理方法 | |
CN101697148B (zh) | 一种提高计算机内存卡接口速率的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20111019 |