CN103927488A - 一种针对可信嵌入式系统的可信平台模块 - Google Patents

一种针对可信嵌入式系统的可信平台模块 Download PDF

Info

Publication number
CN103927488A
CN103927488A CN201410137170.4A CN201410137170A CN103927488A CN 103927488 A CN103927488 A CN 103927488A CN 201410137170 A CN201410137170 A CN 201410137170A CN 103927488 A CN103927488 A CN 103927488A
Authority
CN
China
Prior art keywords
module
tpmd
credible platform
credible
entity
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
Application number
CN201410137170.4A
Other languages
English (en)
Inventor
刘刚
潘秋凡
张敬
田冬冬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201410137170.4A priority Critical patent/CN103927488A/zh
Publication of CN103927488A publication Critical patent/CN103927488A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种针对可信嵌入式系统的可信平台模块,包括tddl模块、tpmd模块、tpmd_dev模块、编码解码模块、密码学模块、存储模块、执行引擎模块。本发明设置tddl模块、tpmd模块、tpmd_dev模块、编码解码模块、密码学模块、存储模块、执行引擎模块七大模块,在实际使用上,只需编译移植到嵌入式系统平台,无需特殊硬件条件,克服了进行基于物理TPM的可信嵌入式计算平台设计时,可信平台模块难以扩展的缺点。本发明的各功能模块均用软件编码,易于实现、修改和扩展,克服了硬件方式实现的复杂性,以及难以扩展的问题;实体可通过tddl、tpmd和tpmd_dev三种方式访问可信平台模块,访问方式灵活,易于测试和管理可信平台模块功能。

Description

一种针对可信嵌入式系统的可信平台模块
技术领域
本发明属于嵌入式系统技术领域,尤其涉及一种针对可信嵌入式系统的可信平台模块。
背景技术
在构建可信嵌入式系统时,由于嵌入式系统平台种类繁多,针对嵌入式系统的可信平台模块(TPM)芯片较少,可信平台模块(TPM)与嵌入式硬件平台缺乏统一的接口,已有嵌入式平台缺乏外部接口资源等若干原因,无法找到一种比较容易实现、具有一定通用性的基于可信平台模块(TPM)芯片的可信嵌入式系统平台的设计方法,阻碍了可信嵌入式系统的应用和普及。
发明内容
本发明实施例的目的在于提供一种针对可信嵌入式系统的可信平台模块,旨在解决现有嵌入式系统平台上通过外部接口扩展TPM芯片比较困难的问题。
本发明实施例是这样实现的,一种针对可信嵌入式系统的可信平台模块,该针对可信嵌入式系统的可信平台模块包括七大子模块:tddl模块、tpmd模块、tpmd_dev模块、编码解码模块、密码学模块、存储模块、执行引擎模块;
tddl模块与tpmd模块连接,用于提供实体访问软件可信平台模块的标准接口,通过socket与tpmd模块的后台程序进行通信;
tpmd模块与tpmd_dev模块、编码解码模块、密码学模块、存储模块和执行引擎模块连接,tpmd模块是一个后台程序,用于在可信平台模块启动时创建通信套接字,当用户请求到来后,会接收数据并调用编码解码模块、密码学模块、存储模块、执行引擎模块中的一个或多个进行可信平台模块命令处理,最后将处理结果返回给实体;
tpmd_dev模块与tpmd模块连接,用于兼容硬件可信平台模块,或者用来直接与实体进行通信;
编码解码模块与tpmd模块连接,用于解析实体请求的具体可信平台模块命令以及将软件可信平台模块执行后的结果编码后返回;
密码学模块与tpmd模块连接,用于为可信平台模块的功能及命令实现提供辅助;
存储模块与tpmd模块连接,用于可信平台模块密钥的存储管理,尤其是背书密钥EK和存储根密钥SRK非易失性密钥;EK是可信计算平台的身份标识,是可信平台模块密钥系统中的最高级密钥;SRK由EK生成,用来管理可信平台模块的所有密钥和用户的数据;
执行引擎模块与tpmd模块连接,用于实现可信平台模块的指令;包含的是可信平台模块中绝大多数命令的实现。
进一步,密码学模块的包括TCG规范定义的主要算法的实现,包括RSA算法、SHA-1算法、HMAC算法以及随机数生成算法。
进一步,该基于可信平台模块芯片的可信嵌入式系统访问软件可信平台模块的三种方式:
一、通过tddl模块访问可信平台模块:tddl模块向实体提供了访问可信平台模块的标准接口函数,分别为Tddli_Open、Tddli_Close、Tddli_TransmitData、Tddli_Cancel、Tddli_GetStatus、Tddli_GetCapability、Tddli_SetCapability,tddl模块接收实体请求的可信平台模块命令并接收可信平台模块处理后的结果返回给实体;
二、通过tpmd模块访问可信平台模块:tpmd模块接收tddl模块发来的用户请求字节流,调用编码解码模块解析出相应的可信平台模块请求命令,调用执行引擎模块执行具体的可信平台模块命令,根据可信平台模块命令的需要,调用存储模块进行密钥的加载或存储、或调用密码学模块进行密码运算,最后再调用编码解码模块将执行结果编码后返回给tddl模块;
三、通过tpmd_dev模块访问可信平台模块:实体通过标准I/O接口write/read访问/dev/tpm,tpmd_dev获取操作命令并转发给用户空间的守护进程tpmd模块,tpmd模块通过调用相应的密码学模块、存储模块和执行引擎模块执行操作,tpmd_dev模块则再从tpmd模块读取执行结果,并最终返回给实体。
进一步,tpmd模块操作方法包括以下步骤:
步骤一,tpmd模块启动后会创建并初始化用于与tddl模块通信的socket,并且设置此后台程序退出标识stopflag为0,此标识为全局变量,当收到程序意外中断或程序收到结束信号,如,sig==SIGTERM||sig==SIGQUIT||sig==SIGINT时,则置标识stopflag为1;
步骤二,初始化可信平台模块模拟器,初始化可信平台模块模拟器是指在可信平台模块模拟器结构中存储模块的初始化、打开随机数设备/dev/urandom以及可信平台模块自我检查,包括检查随机数生成器、用给定值测试SHA-1算法、用给定值测试HMAC算法、通过产生密钥对测试RSA算法、身份认证;任何一项初始化失败,则执行步骤八;
步骤三,循环判断程序结束标识stopflag是否为0,如果为0,则执行步骤四;如果为1则执行步骤八;
步骤四,当实体请求到来时,建立与实体通信的socket连接,并且设置读取请求数据的长度标识in_len=0,然后调用read函数读取请求数据到in数组,in数组中存储的是待处理的数据;
步骤五,判断读取的用户程序请求数据长度是否大于0,若大于0,则执行步骤六;否则,执行步骤七,相当于处理数据失败,向实体返回失败结果;
步骤六,进行可信平台模块命令处理,执行步骤七;
步骤七,返回处理后的数据,通过write函数和socket通信将out数组中的数据经过tddl模块返回给实体,再转向步骤三;
步骤八,tpmd模块的程序结束。
进一步,可信平台模块实体请求返回对称密钥的命令处理包括以下步骤:
步骤一,tpmd模块后台程序调用编码解码模块的解码函数,解析出实体请求的可信平台模块命令;
步骤二,若解析的可信平台模块命令符合规范,即解码操作正确,则执行步骤三,否则执行步骤七;
步骤三,tpmd模块后台程序调用执行引擎模块中的对称密钥生成函数,此函数会调用密码学模块的随机数产生器函数生成对称密钥S_Key;
步骤四,tpmd模块后台程序调用执行引擎模块中的PCR合成对象函数,对象函数会读取位于存储模块中的PCR寄存器的值,经过计算会生成与平台状态相关的PCR合成对象O_Pcr,对象O_Pcr可用于密封对称密钥;
步骤五,tpmd模块后台程序调用执行引擎模块中的密封函数,使用步骤四生成的O_Pcr对步骤三生成的S_Key进行密封操作;
步骤六,将步骤五中密封后的对称密钥存储在软件可信平台模块的存储模块中,并调用编码解码函数的编码函数对此密封后的对称密钥进行编码;
步骤七,可信平台模块命令处理结束。
进一步,可信平台模块实体请求返回对称密钥的命令处理通过三方面来保证实体与可信平台模块通信的可信与安全:
一、实体编码的请求命令需经过编码解码模块解码,只有在请求合法的情况下才会执行可信平台模块命令;
二、软件可信平台模块生成的对称密钥经过与软件可信平台模块可信平台相关的PCR合成对象密封,当实体用此对称密钥进行数据加密,在进行数据解密时,需请求软件可信平台模块返回实体之前存储的密封后的对称密钥;
三、返回给实体的密封后的对称密钥经编码解码模块编码后才会返回。
本发明提供的嵌入式软件可信平台模块设计,设置tddl模块、tpmd模块、tpmd_dev模块、编码解码模块、密码学模块、存储模块和执行引擎模块,在实际使用时,只需编译移植到嵌入式系统平台,无需特殊硬件条件,克服了进行可信嵌入式计算平台设计时,可信平台模块难以扩展的缺点。本发明的各功能模块均用软件编码,易于实现、修改和扩展,克服了硬件方式实现的复杂性,以及难以扩展的问题;实体可通过tddl、tpmd和tpmd_dev三种方式访问可信平台模块,访问方式灵活,易于测试和管理可信平台模块功能。
附图说明
图1是本发明实施例提供的针对可信嵌入式系统的可信平台模块的结构示意图;
图中:1、tddl模块;2、tpmd模块;3、tpmd_dev模块;4、编码解码模块;5、密码学模块;6、存储模块;7、执行引擎模块;
图2是本发明实施例提供的tpmd模块的工作流程图;
图3是本发明实施例提供的实体请求返回对称密钥的命令处理流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图及具体实施例对本发明的应用原理作进一步描述。
如图1所示,本发明实施例的针对可信嵌入式系统的可信平台模块由tddl模块1、tpmd模块2、tpmd_dev模块3、编码解码模块4、密码学模块5、存储模块6、执行引擎模块7组成;
tddl模块1与tpmd模块2连接,用于提供实体访问可信平台模块的标准接口,通过socket与tpmd模块2的后台程序进行通信;
tpmd模块2与tpmd_dev模块3、编码解码模块4、密码学模块5、存储模块6和执行引擎模块7连接,是一个后台程序,用于在可信平台模块启动时创建通信套接字,当用户请求到来后,会接收数据并调用编码解码模块4、密码学模块5、存储模块6、执行引擎模块7中的一个或多个进行可信平台模块命令处理,最后将处理结果返回给实体;
tpmd_dev模块3与tpmd模块2连接,是运行于操作系统内核中的一个模块,在内核中注册一个名为/dev/tpm的字符设备;把tpmd_dev模块放在内核运行,第一是为了兼容硬件可信平台模块芯片,可信平台模块驱动程序或者实体则可以直接通过tpmd_dev模块与可信平台模块进行通信;
编码解码模块4与tpmd模块2连接,用于解析实体请求的具体可信平台模块命令以及将软件可信平台模块执行后的结果编码后返回,使得数据的通信更加安全;
密码学模块5与tpmd模块2连接,用于为可信平台模块的许多功能及命令实现提供辅助,密码学模块5的设计主要包括TCG规范定义的主要算法的实现,包括RSA算法、SHA-1算法、HMAC算法以及随机数生成算法等。如有需要,则可以对密码学模块的算法库进行扩充;
存储模块6与tpmd模块2连接,用于可信平台模块密钥的存储管理,尤其是背书密钥EK和存储根密钥SRK等非易失性密钥;EK是可信计算平台的身份标识,是可信平台模块密钥系统中的最高级密钥;SRK由EK生成,用来管理可信平台模块的所有密钥和用户的数据;因此需要安全存储和访问,最直接的方式就是加密存储在嵌入式存储器上,需要的时候进行读取调用;
执行引擎模块7与tpmd模块2连接,用于实现可信平台模块的指令;包含的则是可信平台模块中绝大多数命令的实现。
实体访问软件可信平台模块(TPM)的三种方式:
1.通过tddl模块访问可信平台模块(TPM):TCG规范推荐的访问方式,tddl向实体提供了访问可信平台模块(TPM)的标准接口函数,分别为Tddli_Open、Tddli_Close、Tddli_TransmitData、Tddli_Cancel、Tddli_GetStatus、Tddli_GetCapability、Tddli_SetCapability,tddl接收实体请求的可信平台模块(TPM)命令并接收可信平台模块(TPM)处理后的结果返回给实体,这之间的处理是通过tpmd模块完成的;
2.通过tpmd模块访问可信平台模块(TPM):软件可信平台模块(TPM)的核心是tpmd模块,软件可信平台模块(TPM)对可信平台模块(TPM)的模拟主要是在tpmd模块中实现的,其工作原理为:tpmd模块接收tddl模块发来的用户请求字节流,调用编码解码模块解析出相应的可信平台模块(TPM)请求命令,调用执行引擎模块执行具体的可信平台模块(TPM)命令,根据可信平台模块(TPM)命令的需要,调用存储模块进行密钥的加载或存储、或调用密码学模块进行密码运算,最后再调用编码解码模块将执行结果编码后返回给tddl模块;
3.通过tpmd_dev模块访问可信平台模块(TPM):tpmd_dev模块在内核中注册一个名为/dev/tpm的字符设备,实体通过此字符设备提供的驱动接口函数访问可信平台模块(TPM),其中间过程仍然是通过tpmd模块完成的,软件可信平台模块(TPM)中tpmd_dev模块工作原理为:实体通过标准I/O接口write/read访问/dev/tpm,tpmd_dev获取该操作命令并转发给用户空间的守护进程tpmd模块,tpmd模块通过调用相应的密码学模块、存储模块和执行引擎模块执行此操作,tpmd_dev模块则再从tpmd模块读取执行结果,并最终返回给实体;
三种访问方式的区别:方式1为最终推荐的访问方式,用户只需要根据接口规范编写程序而不用理会软件可信平台模块(TPM)的内部实现,其次方便开发管理可信平台模块(TPM)功能和用户访问软件可信平台模块(TPM)的接口;方式二可以认为是开发阶段对软件可信平台模块(TPM)的测试入口;方式三为兼容物理可信平台模块(TPM)的访问方式,当有可信平台模块(TPM)芯片时,实体也可直接通过tpmd_dev模块访问可信平台模块(TPM)芯片。
图2为tpmd模块程序的主要流程图;以下为对tpmd程序流程图的详细说明:
(1)tpmd模块启动后会创建并初始化用于与tddl模块通信的socket,并且设置此后台程序退出标识stopflag为0,此标识为全局变量,当收到程序意外中断或程序收到结束信号,如,sig==SIGTERM||sig==SIGQUIT||sig==SIGINT时,则置标识stopflag为1;
(2)初始化可信平台模块(TPM)模拟器,这里的初始化可信平台模块(TPM)模拟器是指在可信平台模块(TPM)模拟器结构中存储模块的初始化、打开随机数设备/dev/urandom以及可信平台模块(TPM)自我检查(包括检查随机数生成器、用给定值测试SHA-1算法、用给定值测试HMAC算法、通过产生密钥对测试RSA算法、身份认证等)等,任何一项初始化失败,则执行步骤(8);
(3)循环判断程序结束标识stopflag是否为0,如果为0,则执行步骤(4);如果为1则执行步骤(8);
(4)当实体请求到来时,建立与实体通信的socket连接(实际是建立与tddl模块的连接),并且设置读取请求数据的长度标识in_len=0,然后调用read函数读取请求数据到in数组(in数组中存储的是待处理的数据);
(5)判断读取的用户程序请求数据长度是否大于0,若大于0,则执行步骤(6);否则,执行步骤(7),相当于处理数据失败,但仍然需要向实体返回失败结果;
(6)进行可信平台模块(TPM)命令处理,执行步骤(7);
(7)返回处理后的数据,通过write函数和socket通信将out数组中的数据经过tddl返回给实体,再转向步骤(3);
(8)tpmd模块的程序结束。
图3为可信平台模块(TPM)命令处理举例-实体请求返回对称密钥的命令处理流程图;即,实体请求可信平台模块(TPM)生成对称密钥,可信平台模块(TPM)对此对称密钥进行封装后返回给实体过程,以下为处理的详细过程;
(1)tpmd模块后台程序调用编码解码模块的解码函数,解析出实体请求的可信平台模块(TPM)命令;
(2)若解析的可信平台模块(TPM)命令符合规范(即解码操作正确),则执行步骤(3),否则执行步骤(7);
(3)tpmd模块后台程序调用执行引擎模块中的对称密钥生成函数,此函数会调用密码学模块的随机数产生器函数生成对称密钥S_Key;
(4)tpmd模块后台程序调用执行引擎模块中的PCR合成对象函数,此函数会读取位于存储模块中的PCR寄存器的值,经过计算会生成与平台状态相关的PCR合成对象O_Pcr,此对象可用于密封对称密钥;
(5)tpmd模块后台程序调用执行引擎模块中的密封函数,使用(4)生成的O_Pcr对(3)生成的S_Key进行密封操作;
(6)将(5)中密封后的对称密钥存储在软件可信平台模块(TPM)的存储模块中,并调用编码解码函数的编码函数对此密封后的对称密钥进行编码;
(7)可信平台模块(TPM)命令处理结束;
此处理过程中,软件可信平台模块(TPM)通过三方面来保证实体与可信平台模块(TPM)通信的可信与安全:
(1)实体编码的请求命令需经过编码解码模块解码,只有在请求合法的情况下才会执行可信平台模块(TPM)命令;
(2)软件可信平台模块(TPM)生成的对称密钥经过与软件可信平台模块(TPM)可信平台相关的PCR合成对象密封,当实体用此对称密钥进行数据加密,在进行数据解密时,需请求软件可信平台模块(TPM)返回实体之前存储的密封后的对称密钥;
(3)返回给实体的密封后的对称密钥经编码解码模块编码后才会返回。
本发明克服了进行可信嵌入式计算平台设计时,可信平台模块难以扩展的缺点;可通过tddl、tpmd和tpmd_dev三种方式访问可信平台模块,访问方式灵活,易于测试和管理可信平台模块功能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种针对可信嵌入式系统的可信平台模块,其特征在于,该针对可信嵌入式系统的可信平台模块包括以下子模块:tddl模块、tpmd模块、tpmd_dev模块、编码解码模块、密码学模块、存储模块、执行引擎模块;
tddl模块与tpmd模块连接,用于提供实体访问软件可信平台模块的标准接口,通过socket与tpmd模块的后台程序进行通信;
tpmd模块与tpmd_dev模块、编码解码模块、密码学模块、存储模块和执行引擎模块连接,tpmd模块是一个后台程序,用于在可信平台模块启动时创建通信套接字,当用户请求到来后,会接收数据并调用编码解码模块、密码学模块、存储模块、执行引擎模块中的一个或多个进行可信平台模块命令处理,最后将处理结果返回给实体;
tpmd_dev模块与tpmd模块连接,用于兼容硬件可信平台模块,或者用来直接与实体进行通信;
编码解码模块与tpmd模块连接,用于解析实体请求的具体可信平台模块命令以及将软件可信平台模块执行后的结果编码后返回;
密码学模块与tpmd模块连接,用于为可信平台模块的功能及命令实现提供辅助;
存储模块与tpmd模块连接,用于可信平台模块密钥的存储管理,尤其是背书密钥EK和存储根密钥SRK非易失性密钥;EK是可信计算平台的身份标识,是可信平台模块密钥系统中的最高级密钥;SRK由EK生成,用来管理可信平台模块的所有密钥和用户的数据;
执行引擎模块与tpmd模块连接,用于实现可信平台模块的指令;包含的是可信平台模块中绝大多数命令的实现。
2.如权利要求1所述的针对可信嵌入式系统的可信平台模块,其特征在于,密码学模块包括TCG规范定义的主要算法的实现,包括RSA算法、SHA-1算法、HMAC算法以及随机数生成算法。
3.如权利要求1所述的针对可信嵌入式系统的可信平台模块,其特征在于,外部实体访问软件可信平台模块的三种方式:
通过tddl模块访问可信平台模块:tddl模块向实体提供了访问可信平台模块的标准接口函数,分别为Tddli_Open、Tddli_Close、Tddli_TransmitData、Tddli_Cancel、Tddli_GetStatus、Tddli_GetCapability、Tddli_SetCapability,tddl模块接收实体请求的可信平台模块命令并接收可信平台模块处理后的结果返回给实体;
通过tpmd模块访问可信平台模块:tpmd模块接收tddl模块发来的用户请求字节流,调用编码解码模块解析出相应的可信平台模块请求命令,调用执行引擎模块执行具体的可信平台模块命令,根据可信平台模块命令的需要,调用存储模块进行密钥的加载或存储、或调用密码学模块进行密码运算,最后再调用编码解码模块将执行结果编码后返回给tddl模块;
通过tpmd_dev模块访问可信平台模块:实体通过标准I/O接口write/read访问/dev/tpm,tpmd_dev获取操作命令并转发给用户空间的守护进程tpmd模块,tpmd模块通过调用相应的密码学模块、存储模块和执行引擎模块执行操作,tpmd_dev模块则再从tpmd模块读取执行结果,并最终返回给实体。
4.如权利要求1所述的针对可信嵌入式系统的可信平台模块,其特征在于,tpmd模块操作方法包括以下步骤:
tpmd模块启动后会创建并初始化用于与tddl模块通信的socket,并且设置此后台程序退出标识stopflag为0,此标识为全局变量,当收到程序意外中断或程序收到结束信号,如,sig==SIGTERM||sig==SIGQUIT||sig==SIGINT时,则置标识stopflag为1;
初始化可信平台模块模拟器,初始化可信平台模块模拟器是指在可信平台模块模拟器结构中存储模块的初始化、打开随机数设备/dev/urandom以及可信平台模块自我检查,包括检查随机数生成器、用给定值测试SHA-1算法、用给定值测试HMAC算法、通过产生密钥对测试RSA算法、身份认证;任何一项初始化失败,则执行步骤八;
循环判断程序结束标识stopflag是否为0,如果为0,则执行步骤四;如果为1则执行步骤八;
当实体请求到来时,建立与实体通信的socket连接,并且设置读取请求数据的长度标识in_len=0,然后调用read函数读取请求数据到in数组,in数组中存储的是待处理的数据;
判断读取的用户程序请求数据长度是否大于0,若大于0,则执行步骤六;否则,执行步骤七,相当于处理数据失败,向实体返回失败结果;
进行可信平台模块命令处理,执行步骤七;
返回处理后的数据,通过write函数和socket通信将out数组中的数据经过tddl模块返回给实体,再转向步骤三;
步骤八,tpmd模块的程序结束。
5.如权利要求1所述的针对可信嵌入式系统的可信平台模块,其特征在于,实体请求嵌入式软件可信平台模块返回对称密钥的命令处理包括以下步骤:
tpmd模块后台程序调用编码解码模块的解码函数,解析出实体请求的可信平台模块命令;
若解析的可信平台模块命令符合规范,即解码操作正确,则执行步骤三,否则执行步骤七;
tpmd模块后台程序调用执行引擎模块中的对称密钥生成函数,此函数会调用密码学模块的随机数产生器函数生成对称密钥S_Key;
tpmd模块后台程序调用执行引擎模块中的PCR合成对象函数,对象函数会读取位于存储模块中的PCR寄存器的值,经过计算会生成与平台状态相关的PCR合成对象O_Pcr,对象O_Pcr可用于密封对称密钥;
tpmd模块后台程序调用执行引擎模块中的密封函数,使用步骤四生成的O_Pcr对步骤三生成的S_Key进行密封操作;
将步骤五中密封后的对称密钥存储在软件可信平台模块的存储模块中,并调用编码解码函数的编码函数对此密封后的对称密钥进行编码;
可信平台模块命令处理结束。
6.如权利要求5所述的针对可信嵌入式系统的可信平台模块,其特征在于,实体请求可信平台模块返回对称密钥的命令处理通过三方面来保证实体与可信平台模块通信的可信与安全:
实体编码的请求命令需经过编码解码模块解码,只有在请求合法的情况下才会执行可信平台模块命令;
软件可信平台模块生成的对称密钥经过与软件可信平台模块可信平台相关的PCR合成对象密封,当实体用此对称密钥进行数据加密,在进行数据解密时,需请求软件可信平台模块返回实体之前存储的密封后的对称密钥;
返回给实体的密封后的对称密钥经编码解码模块编码后才会返回。
CN201410137170.4A 2014-04-04 2014-04-04 一种针对可信嵌入式系统的可信平台模块 Pending CN103927488A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410137170.4A CN103927488A (zh) 2014-04-04 2014-04-04 一种针对可信嵌入式系统的可信平台模块

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410137170.4A CN103927488A (zh) 2014-04-04 2014-04-04 一种针对可信嵌入式系统的可信平台模块

Publications (1)

Publication Number Publication Date
CN103927488A true CN103927488A (zh) 2014-07-16

Family

ID=51145706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410137170.4A Pending CN103927488A (zh) 2014-04-04 2014-04-04 一种针对可信嵌入式系统的可信平台模块

Country Status (1)

Country Link
CN (1) CN103927488A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105678173A (zh) * 2015-12-31 2016-06-15 武汉大学 基于硬件事务内存的vTPM安全保护方法
CN107577953A (zh) * 2017-10-19 2018-01-12 郑州云海信息技术有限公司 一种基于cuse模拟可信密码模块的系统及方法
CN110096256A (zh) * 2019-04-16 2019-08-06 苏州浪潮智能科技有限公司 一种利用可信根创建随机值字符设备的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138370A1 (en) * 2003-12-23 2005-06-23 Goud Gundrala D. Method and system to support a trusted set of operational environments using emulated trusted hardware
CN1801091A (zh) * 2005-01-07 2006-07-12 微软公司 用可信处理模块安全地引导计算机的系统和方法
US20070130472A1 (en) * 2005-09-21 2007-06-07 Broadcom Corporation System and method for securely provisioning and generating one-time-passwords in a remote device
CN1988534A (zh) * 2005-12-23 2007-06-27 联想(北京)有限公司 可信计算平台和在内核态下访问tpm服务的方法
DE102007057900A1 (de) * 2006-12-29 2008-07-03 Lenovo (Singapore) Pte. Ltd. Authentifikationen von verdächtigen Daten unter Verwendung von Schlüsseltabellen

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138370A1 (en) * 2003-12-23 2005-06-23 Goud Gundrala D. Method and system to support a trusted set of operational environments using emulated trusted hardware
CN1801091A (zh) * 2005-01-07 2006-07-12 微软公司 用可信处理模块安全地引导计算机的系统和方法
US20070130472A1 (en) * 2005-09-21 2007-06-07 Broadcom Corporation System and method for securely provisioning and generating one-time-passwords in a remote device
CN1988534A (zh) * 2005-12-23 2007-06-27 联想(北京)有限公司 可信计算平台和在内核态下访问tpm服务的方法
DE102007057900A1 (de) * 2006-12-29 2008-07-03 Lenovo (Singapore) Pte. Ltd. Authentifikationen von verdächtigen Daten unter Verwendung von Schlüsseltabellen

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
苏涤生: "可信计算开发环境的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
薛蕾: "可信端口扫描移动Agent的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105678173A (zh) * 2015-12-31 2016-06-15 武汉大学 基于硬件事务内存的vTPM安全保护方法
CN105678173B (zh) * 2015-12-31 2018-06-29 武汉大学 基于硬件事务内存的vTPM安全保护方法
CN107577953A (zh) * 2017-10-19 2018-01-12 郑州云海信息技术有限公司 一种基于cuse模拟可信密码模块的系统及方法
CN110096256A (zh) * 2019-04-16 2019-08-06 苏州浪潮智能科技有限公司 一种利用可信根创建随机值字符设备的方法及装置

Similar Documents

Publication Publication Date Title
US10148442B2 (en) End-to-end security for hardware running verified software
CN103748594B (zh) 针对arm*trustzonetm实现的基于固件的可信平台模块
CN107346401B (zh) 用于安全地执行程序的信息保障系统
CN103154925A (zh) 多处理器系统中的通信禁用
CN109840430A (zh) Plc的安全处理单元及其总线仲裁方法
EP4020435A1 (en) Efficient post-quantum secure software updates tailored to resource-constrained devices
US20140215202A1 (en) Extension of a platform configuration register with a known value
CN109783474B (zh) 虚拟可信根实例及其自身状态数据的安全迁移方法
US11438172B2 (en) Robust state synchronization for stateful hash-based signatures
CN103973431A (zh) 一种基于OpenCL的AES并行化实现方法
CN104268477A (zh) 一种安全控制方法及网络设备
CN106326751A (zh) 一种可信道系统及其实现方法
CN110210211A (zh) 一种数据保护的方法和计算设备
CN103927488A (zh) 一种针对可信嵌入式系统的可信平台模块
RU2602336C2 (ru) Установление взаимного физического местоположения защищенных сред выполнения
Strenzke An analysis of OpenSSL’s random number generator
Chen et al. Computation-Trace Indistinguishability Obfuscation and its Applications.
WO2022133164A1 (en) Privacy-enhanced computation via sequestered encryption
CN103150523B (zh) 一种简易的嵌入式可信终端系统及方法
US20220255757A1 (en) Digital signature verification engine for reconfigurable circuit devices
US9372985B2 (en) Information processing device, information processing method, and computer program
CN116415271A (zh) 数据处理的方法和计算平台
CN104992126A (zh) 一种抗错误注入攻击的安全芯片加固方法及装置
KR102565414B1 (ko) 데이터 처리 가속기에 사용되는, 난독화 유닛에 의해 난독화 를 진행하는 데이터 전송
US11651086B2 (en) Method for executing a computer program by means of an electronic apparatus

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140716