可信计算密码支撑平台

可信计算密码支撑平台是可信计算平台的重要组成部分, 包括密码算法、密钥管理、证书管理、密码协议、密码服务等内容, 为可信计算平台自身的完整性、身份可信性和数据安全性提供密码支持。可信计算密码支撑平台的产品形态主要表现为可信密码模块和可信密码服务模块。

可信计算密码支撑平台功能:
a) 平台完整性
利用密码机制, 通过对系统平台组件的完整性度量, 确保系统平台完整性, 并向外部实体可信地报告平台完整性。

b) 平台身份可信
利用密码机制, 标识系统平台身份, 实现系统平台身份管理功能, 并向外部实体提供系统平台身份证明。

c) 平台数据安全保护
利用密码机制, 保护系统平台敏感数据。 其中数据安全保护包括平台自身敏感数据的保护和用户敏感数据的保护。 另外也可为用户数据保护提供服务接口。

密码模块与平台功能的关系:

可信计算密码支撑平台组成结构:
可信计算密码支撑平台主要由可信密码模块(TCM) 和 TCM 服务模块(TSM) 两大部分组成。可信计算密码支撑平台以可信密码模块为可信根, 通过如下三类机制及平台自身安全管理功能, 实现平台安全功能:

a) 以可信度量根为起点, 计算系统平台完整性度量值, 建立计算机系统平台信任链, 确保系统平台可信。

b) 可信报告根标识平台身份的可信性, 具有唯一性, 以可信报告根为基础, 实现平台身份证明和完整性报告。

c) 基于可信存储根, 实现密钥管理、平台数据安全保护功能, 提供相应的密码服务。

可信密码模块

可信密码模块(TCM) 是可信计算密码支撑平台必备的关键基础部件, 提供独立的密码算法支撑。TCM 是硬件和固件的集合, 可以采用独立的封装形式, 也可以采用IP 核的方式和其他类型芯片集成在一起, 提供 TCM 功能。

可信密码模块部件功能:
I/O:TCM 的输入输出硬件接口;
SMS4 引擎: 执行SMS4 对称密码运算的单元;
SM2 引擎: 产生SM2 密钥对和执行SM2 加/解密、 签名运算的单元;
SM3 引擎: 执行杂凑运算的单元;
随机数发生器: 生成随机数的单元;
HMAC 引擎: 基于SM3 引擎的计算消息认证码单元;
执行引擎:TCM 的运算执行单元;
非易失性存储器: 存储永久数据的存储单元[1-5] ;
易失性存储器:TCM 运行时临时数据的存储单元。

TCM服务模块

可信密码模块定义了一个具有存储保护和执行保护的子系统, 该子系统将为计算平台建立信任根基, 并且其独立的计算资源将建立严格受限的安全保护机制。 为防止 TCM 成为计算平台的性能瓶颈,将子系统中需执行保护的函数与无需执行保护的函数划分开, 将无需执行保护的功能函数由计算平台主处理器执行, 而这些支持函数构成了 TCM 服务模块, 简记为 TSM。

国际上通用的可信计算规范由可信计算组织 (Trusted Computing Group, TCG)制定,核心是可信 平台芯片(Trusted Platform Module, TPM )和可信软件栈(Trusted Software Stack,TSS )。TCM 对应 TPM, 是我国具有自主知识产权的可信芯片。对应TSS的就是 TCM 服务模块(TCM Service Module, TSM )。

TSM 主要为用户使用 TCM 基础资源提供支持, 由多个部分组成, 每个部分间的接口定义具有互操作性 。 TSM 提供规范化的函数接口。TSM的设计目标是:
a) 为应用程序调用 TCM 安全保护功能提供一个入口点;
b) 提供对 TCM 的同步访问;
c) 向应用程序隐藏 TCM 所建立的功能命令;
d) 管理 TCM 资源。

密码算法规范

国家可信计算标准涉及的密码算法包括 SM2 椭圆曲线密码算法、SM4 对称密码算法、SM3 密码杂凑算法、HMAC 消息认证码算法、随机数发生器。上述密码算法必须符合国家密码管理局管理要求并在可信密码模块内实现。

SM2 算法, 其密钥位长为m (m =256) 。SM2 算法包含: 系统参数、密钥对生成、 数字签名算法(SM2-1)、密钥交换协议(SM2-2) 和加密算法(SM2-3) 共五个部分。SM2是基于椭圆曲线的密码算法。

SM2算法密钥生成:

  • SM2 的密钥对包括私钥(记为d ) 和公钥(记为Q) , 其中d 为小于n -1 的一个随机的正整数,Q 为曲线E (Fp) 上的一个非无穷远点且满足Q =dG(即连续d 个 G 点“相加”, 简称为“点乘”) 。
    输入参数:无
    输出参数: d : 私钥,Q: 公钥 Q =dG
  • 说明:
    a) E (Fp ) 上的两个点“相加”是一个较复杂的运算过程(与普通的整数加法不同) ,O 与E (Fp ) 上的任意点 P“相加”结果仍为 P, “相加”是一个可结合、 可交换的运算。
    b) Q = (xQ , yQ ) ∈E (Fp ) ,Q ≠O, 可以看作一个有序整数对;
    SM2 系统参数作为公共参数, 可以在所有的平台和系统之间公开共享。

SM2-1 数字签名算法:

  • 数字签名是书写签名的电子形式。 数字签名可以向第三方证明消息是由声称的始发者所签。 与书写签名不同, 数字签名要验证消息的完整性。 对存储的数据和程序产生数字签名, 使得在以后的任何时刻都可以验证数据和程序的完整性。
  • 数字签名算法流程是由一个签名者对数据产生数字签名, 并由一个验证者验证签名的正确性。 每个签名者有一个公钥和一个私钥, 其中私钥用于产生签名, 验证者用签名者的公钥验证签名的正确性。
  • 在签名的生成和验证过程之前, 都要用密码杂凑函数对待签消息 M 和待验证消息进行杂凑运算。

SM2-3 公钥加密算法:
SM2-3 可提供消息的机密性。在SM2 公钥加密算法中, 公钥用于加密, 私钥用于解密。国标中的SM2 公钥加密算法包括两个方面: 一方面是发送者用接收者的公钥将信息加密成密文;另一方面是接收者用自己的私钥对收到的密文进行解密还原成原始信息。可信计算平台中的SM2 公钥加密算法用于加密对称密钥和随机数等敏感信息, 公钥加密的明文信息的字节长度是可变的。

SM2-2 密钥交换协议:
密钥交换协议是在两个用户 A 和 B 之间建立一个共享秘密密钥的协商过程, 通过这种方式能够确定一个共享秘密密钥的值。设密钥协商双方为 A、B, 其密钥对分别为(dA, QA) 和(dB, QB) , 双方需要获得的密钥数据的比特长度为klen 。 密钥交换协议分为两个阶段。

SM3:
标准规定密码杂凑算法为SM3。对于给定的长度为k (k <264 ) 的消息,SM3 密码杂凑算法经过填充、 迭代压缩和选裁, 生成杂凑值。经预处理过的消息分组长度为512 比特, TCM标准选用的杂凑值长度为256 比特。
输入参数:512 比特长度的消息
输出参数:256 比特长度的摘要

HMAC:
消息验证码算法: 利用密码杂凑算法 SM3, 对于给定的消息和验证双方共享的秘密信息产生长度为t个字节的消息验证码。

SM4算法:
标准规定对称密码算法为SMS4。 该算法是一个分组算法, 该算法的分组长度为128 比特, 密钥长度为128 比特。加密算法与密钥扩展算法都采用32 轮非线性迭代结构。 解密算法与加密算法的结构相同, 只是轮密钥的使用顺序相反, 解密轮密钥是加密轮密钥的逆序。

SM4算法工作模式
TCM标准规定采用 CBC 模式,IV 由用户自定义。对于数据的最后一个分组, 数据需要填充, 方法如下:
a) 填充完的数据长度必须是16 的整数倍;
b)如果最后一个分组缺少d1个字节(0<d1<16) , 则在该组后面填充d1个字节, 每个字节内容均是d1;
c) 如果d1=0则填充16个字节, 每个字节内容均是16。

随机数发生器:
TCM标准没有规定随机数生成的具体算法, 随机数生成算法由可信密码模块制造商设计实现。所生成的随机数必须为真随机数,并满足国家商用密码随机数检测要求。

平台完整性

  • 可信计算密码支撑平台利用密码机制, 通过对系统平台组件的完整性度量、 存储与报告, 确保平台完整性。
  • 完整性度量、存储与报告
  • 完整性度量与存储是指计算部件的度量值, 记录该事件到事件日志, 并把度量值记入可信密码模块内相应的平台配置寄存器(PCR) 中。

    完整性度量与存储要求
    a) 计算度量值的过程应是执行杂凑运算的过程;
    b) 杂凑运算输入的数据应为度量者指定的可以表征被度量者特性的数据;
    c) 杂凑运算输出的杂凑值即为被度量者的完整性度量值;
    d) 度量者应把度量值记入指定的 PCR 中。 记入的办法是: 新 PCR 值 = 密码杂凑算法 ( 原PCR 值 ‖ 度量值 ) ;
    e) 应把度量过程信息记录到平台事件日志中。至少应记录: 度量者信息、被度量者信息、原 PCR值、 度量值、新 PCR 值、完成时间等;
    f) 如果一个部件序列中的各部件完整性度量值存储在同一个 PCR 中, 则采用一种专门的压缩存储方式, 即从第一个部件开始, 将该部件完整性度量值与目标 PCR 的已有存储值拼接, 进行杂凑运算, 然后将所得结果再存储于该 PCR 中, 依次类推, 最后一个部件的完整性度量值存储操作完成后, 所得值即为该部件序列存储到 PCR 中的完整性度量值。

完整性报告:
完整性报告是指平台向验证者提供平台或部分部件的完整性度量值的过程。完整性报告应满足如下要求:
a) 平台能够向验证者提供指定 PCR 值, 无需任何授权;
b) 平台能够向验证者提供指定 PCR 值以及对 PCR 值的签名。 签名使用平台身份密钥;
c) 平台可向验证者提供指定 PCR 的相关事件日志信息;
d) 验证者可通过分析完整性度量事件日志信息判断该 PCR 值是否来自正确的度量过程;
e) 验证者应使用平台身份密钥验证 PCR 值签名, 获得平台完整性报告结果。

信任链:

  • 信任链可以保障平台完整性。 以 PC 为例, 平台信任链的建立是以可信度量根为起点, 首先对BIOS 的其他部件进行完整性度量, 并将度量值存储于可信密码模块的PCR 中, 按照选择的判断机制判断BIOS 的完整性, 若完整性未被破坏, 则运行 BIOS; 并度量初始化程序加载器(Initial Program Loader—IPL)/主引导分区(Master Boot Record—MBR) 的完整性, 基于判断机制判断IPL/MBR 完整性:
  • 若IPL/MBR 完整性没有被破坏, 则运行 MBR; 然后由IPL/MBR 度量 OS 内核的度量与修复部件的完整性, 若该部件完整性未被破坏, 则由该部件度量 OS 内核的完整性, 若未被篡改, 则运行 OS 内核。 OS内核启动后基于同样机制检测 OS 服务完整性, 通过信任关系传递, 可以确保所启动的系统是可信的。

向外部实体证实平台完整性:

  • 系统运行时可以设置一个平台防护模块, 用于检测应用程序或进程的完整性, 确保应用程序或进程的可信性。
  • 平台可向外部实体提供完整性报告, 所报告的度量值作为判断平台可信性的依据。报告完整性度量值时, 平台身份密钥应对完整性度量值进行数字签名, 接收方通过验证签名有效性以及校验完整性度量值来判断该平台的可信性。外部实体可以向平台请求验证平台的完整性。

参考验证流程:

  • a) 平台按如下方式报告其完整性
  1. 平台启动后, 外部实体向平台发送完整性度量报告的请求;
  2. 可信密码模块收集 PCR 的值, 使用平台身份密钥(PIK) 对 PCR 的值进行签名;
  3. 平台将 PCR 的值,PIK 对 PCR 值的签名和 PIK 证书发送给验证者。
  • b) 验证者验证平台完整性
  1. 验证者得到平台发送的 PCR 值,PIK 对 PCR 值的签名和 PIK 证书
  2. 验证者验证 PIK 证书;
  3. 验证者验证 PCR 值的签名;
  4. 验证者对 PCR 的值与平台的完整性基准值进行比较, 若相同, 则表明当前平台处于可信状态。

平台身份可信–平台身份标识

可信计算密码支撑平台采用密码模块密钥(EK) 标识其身份, 在平台所有者授权下, 在 TCM 内部生成一个SM2 密钥对, 作为平台身份密钥(PIK) , 用于对 TCM 内部的信息进行数字签名, 实现平台身份认证和平台完整性报告, 从而向外部证实平台内部数据的可信性。

密码模块密钥(EK) 是唯一的, 必须被保存在 TCM 内, 仅仅在获取平台所有者操作及申请平台身份证书时使用, 且不得被导出 TCM 外部。

密码模块证书符合X.509 V3 标准, 在平台使用前由一个可信方签署, 确保其可信性, 用于建立密码模块密钥与可信密码模块的一一对应关系。

一个可信计算密码支撑平台可以产生多个 PIK, 每个 PIK 均与 EK 绑定, 对外代表平台身份。平台身份证书及其对应的平台加密证书由可信方提供, 符合 X.509 V3 标准, 用于验证平台身份密钥(PIK) 私钥对 PCR 值的签名。

  • 生成密码模块密钥(EK) 后, 才可以创建平台所有者, 取得平台所有权的操作步骤如下:
    a) 所有者输入口令, 对输入数据进行长度规一化处理得到平台所有者的授权数据;
    b) 使用密码模块密钥对应的公钥对平台所有者授权数据进行加密并植入到可信密码模块中, 在可信密码模块内部, 使用密码模块密钥的私钥, 对加密的授权数据进行解密, 得到长度规一化的平台所有者授权数据并存储于可信密码模块内部;
    c) 所有者输入存储主密钥口令, 对输入数据进行长度规一化处理得到存储主密钥的授权数据;
    d) 使用密码模块密钥的公钥对存储主密钥授权数据进行加密并植入到可信密码模块中, 在可信密码模块内部, 使用密码模块密钥的私钥, 对加密的授权数据进行解密, 得到长度规一化的存储主密钥授权数据并存储于可信密码模块内部;
    e) 可信密码模块采用对称密码算法SM4生成存储主密钥, 将其存储于可信密码模块内部;
    f) 使用随机数发生器产生平台验证信息, 存储于可信密码模块内部, 不允许外部实体访问, 在平台所有权有效期内平台验证信息不能被改变。平台验证信息主要用于数据封装。

平台身份密钥(PIK)的生成与激活:

  • a) 平台身份密钥的生成:
  1. 可信密码模块验证平台所有者的授权数据和存储主密钥的授权数据;
  2. 设置平台身份密钥授权数据, 使用密码模块密钥的公钥对授权数据进行加密并植入到可信密码模块中, 在可信密码模块内部, 使用密码模块密钥的私钥, 对加密的授权数据进行解密, 得到长度规一化的平台身份密钥授权数据并存储于可信密码模块内部;
  3. 可信密码模块采用SM2 密钥生成算法产生平台身份密钥;
  4. 可信密码模块使用存储主密钥加密平台身份密钥的私钥部分;
  5. 对权威中心的公钥进行杂凑运算, 获得权威中心公钥杂凑值;
  6. 可信密码模块使用平台身份密钥的私钥, 采用SM2 签名算法对权威中心公钥杂凑值和平台身份密钥的公钥进行签名, 获得平台身份密钥签名;
  7. 可信密码模块将平台身份密钥的公钥, 密码模块密钥的公钥和平台身份密钥签名发送给权威中心。
  • b)权威中心签署平台身份证书
  1. 验证平台身份密钥的签名;
  2. 验证通过, 则使用SM2 签名算法签署平台身份证书;
  3. 随机生成对称加密密钥SessionKey, 并采用对称加密算法(SM4) 加密平台身份证书, 得到加密的平台身份证书;
  4. 采用以下步骤创建平台身份密钥证书与可信密码模块的匹配关系:

使用密码杂凑算法计算平台身份密钥的公钥的杂凑值。使用密码模块密钥的公钥, 对平台身份密钥的公钥的杂凑值和SessionKey 进行加密, 将加密结果和加密的平台身份证书发送给平台。

激活 PIK 证书的过程:
1)可信密码模块使用密码模块密钥的私钥, 解密得到平台身份密钥的公钥的杂凑值和随机生成的对称加密密钥;
2) 判断所得到的平台身份密钥的公钥的杂凑值是否与该平台的平台身份密钥的公钥的杂凑值相同;
3) 若相同, 则可信平台使用所得到的对称加密密钥解密被加密的平台身份证书, 获得平台身份证书。

平台数据安全保护:
数据安全保护是可信计算密码支撑平台的核心功能之一, 数据安全保护就是通过密钥对数据采用特定的保护方式进行处理, 基本单元包括密钥、数据、数据保护方式。
a) 用于数据安全保护的密钥分为对称密钥和非对称密钥。密钥管理包括密钥生成、密钥加载、密钥销毁、密钥导入、密钥迁移、密钥协商等功能;
b) 被保护的数据可以是任何数据;
c) 数据安全保护方式包括数据加解密、数据封装、 数字信封等方式。

密钥管理功能:

  • 密钥生成
    密钥生成是指由应用层软件设置所需生成密钥的密钥属性、密钥使用授权、密钥迁移授权、密钥的保护操作密钥, 并发送给可信密码模块生成指定的密钥。在可信密码模块内, 由保护操作密钥加密所生成的密钥私钥部分, 然后将生成的密钥数据结构返回给应用层软件。
  • TCM中各类密钥生成方法:
    a) 密码模块密钥由厂商生成, 为256位SM2非对称密钥。密码模块密钥可以定义为不可撤销和可撤销两种类型;
    b) 存储主密钥必须在获取平台所有权时生成, 为128位SM4 对称密钥, 平台所有者生成存储主密钥时, 必须在可信密码模块内部生成;
    c) 平台身份密钥为256 位的SM2 密钥, 必须在可信密码模块内部生成。需向权威中心申请相应平台身份证书并激活该密钥;
    d)平台加密密钥由KMC生成。可信密码模块向权威中心发送 PEK证书请求, 获取加密的PEK证书(包含PEK公私钥信息) , 然后解密获得 PEK 及其证书, 并激活该 PEK;
    e) 用户密钥可以在可信密码模块内部生成, 也可在可信密码模块外部生成后导入。用户密钥可以是对称密钥或非对称密钥, 其属性设置参考附件密钥对象属性要求。
  • 密钥加载
    密钥生成后, 在应用层软件使用该密钥进行数据安全保护操作时, 如果需要使用该密钥的私钥, 需要将密钥数据(为一个数据结构) 加载到可信密码模块内部, 由保护操作密钥解密后才能使用。 如果使用该密钥的公钥, 则在应用层软件直接使用。
  • 可信密码模块密钥加载方法
    a) 使用可信密码模块密钥公钥在设置平台所有者之前不需要验证授权, 设置平台所有者之后, 必须验证所有者授权; 密码运算过程必须在可信密码模块内部进行;
    b) 使用存储主密钥必须验证所有者授权、存储主密钥授权; 密码运算过程必须在可信密码模块内部进行;
    c) 使用平台身份密钥必须验证平台身份密钥授权、存储主密钥授权; 平台身份密钥的私钥必须被加载到可信密码模块内部进行密码运算, 公钥的密码运算过程在模块外部进行;
    d) 使用平台加密密钥必须验证平台加密密钥授权、存储主密钥授权; 平台加密密钥的私钥必须被加载到可信密码模块内部进行密码运算, 公钥的密码运算过程在模块外部进行;
    e) 使用用户密钥必须验证用户密钥授权; 用户密钥的私钥必须被加载到可信密码模块内部进行密码运算。
  • 密钥销毁
    密钥生成后, 应用层软件可以销毁指定的密钥。 对于可信密码模块内各类密钥, 销毁方法如下:
    a) 销毁密码模块密钥是通过撤销可撤销的密码模块密钥完成的。 对于不可撤销的密码模块密钥, 不能销毁;
    b) 销毁存储主密钥通过清除所有者来完成;
    c) 销毁平台身份密钥必须验证平台身份密钥授权、存储主密钥授权后, 在可信密码模块内执行;
    d) 销毁平台加密密钥必须验证平台加密密钥授权、存储主密钥授权后, 在可信密码模块内执行;
    e) 销毁用户密钥需验证其保护操作密钥授权后, 在 TCM 服务模块内执行。
  • 密钥导入
    应用层软件可以采用密钥导入方式, 对可信密码模块外部创建的 SM2、SMS4 密钥进行保护, 并纳入到可信密码模块的密钥体系中。
    密钥导入方法: 外部密钥需按照指定格式设定密钥属性, 并使用指定的保护操作密钥对被导入密钥的私钥部分加密。
  • 密钥迁移
    为保证用户数据安全, 需要把相应的用户密钥予以迁移备份。 迁移时需要保证被迁移密钥的机密性和完整性。 平台内只有用户密钥可以迁移, 进行密钥迁移时需确保目标平台是可信计算平台。
    假定要将平台 A 的一个可迁移密钥迁移到平台 B 上, 其迁移方法描述如下:
    a) 平台 B 将保护操作密钥的公钥发送给平台 A;
    b) 平台 A 将被迁移的密钥加载到可信密码模块中, 解密出被迁移的密钥;
    c) 平台 A 的可信密码模块随机产生一个对称加密密钥, 使用该密钥加密被迁移的密钥, 生成被迁移密钥的迁移数据;
    d) 用平台 B 的保护操作密钥的公钥加密对称加密密钥;
    e) 将迁移数据和已加密的对称加密密钥从平台 A 传递到平台 B;
    f) 平台B 使用其保护操作密钥的私钥解出对称加密密钥, 使用SM4 对称密码算法, 用解密出的对称加密密钥解密迁移数据, 得到被迁移密钥;
    g) 平台 B 将被迁移密钥重新加密保护, 完成整个迁移过程。
  • 密钥协商
    密钥协商是在两个用户 A 和 B 之间建立一个共享秘密密钥的过程, 通过这种方式能够确定一个共享秘密密钥的值, 用来提供 A 用户与 B 用户之间数据安全保护。

数据安全保护方式

  • 数据加解密
    数据加解密可以采用对称密码算法和非对称加密算法实现。 非对称加密操作可在 TCM 服务模块执行, 非对称密钥解密和对称加解密必须在可信密码模块内部执行。在可信密码模块内部进行加解密操作时, 需要先加载密钥。非对称加解密主要用于短信息绑定, 对称加解密可以操作任意长度数据。
  • 数据封装
    将数据与特定的平台状态(PCR 值) 及可信密码模块绑定在一起, 这种操作称为数据封装。数据加密使一个数据只能绑定于一个可信密码模块。数据封装使一个数据不仅绑定于一个可信密码模块, 同时通过PCR绑定于一种平台状态。使用对称密码算法的封装表示为:sealedData = SM4_Encrypt [key, (data ‖ PCRValue ‖ TCM_Proof ) ]其中 TCM_Proof 为 TCM 唯一性标识。
  • 数据解封
    a) 可信密码模块解密数据:
    data ‖ PCRValue ‖ TCM_Proof = SM4_Decrypt (key,sealedData) ;
    b) 可信密码模块比对当前 PCR 的值是否与解密出的 PCRValue 相同;
    c) 可信密码模块比对解密出的 TCM_Proof 是否与内部存储的数值相同;
    d) 若比对相同, 输出data。
  • 使用椭圆曲线密码算法的封装
    sealedData = SM2_Encrypt (SM2PUBKEY, ( data ‖ PCRValue ‖ TCM_Proof ) )
    数据的解封表示为:
    a) 可信密码模块解密数据:
    b) data ‖ PCRValue ‖ TCM_Proof = SM2_Decrypt (SM2PRIKEY, sealedData) ;
    c) 可信密码模块比对当前 PCR 的值是否与解密出的 PCRValue 相同;
    d) 可信密码模块比对解密出的 TCM_Proof 是否与内部存储的数值相同;
    e) 若比对相同, 输出data。
  • 数字信封
    采用对称密码算法对数据进行加密保护, 同时采用椭圆曲线密码算法对对称密码算法使用的密钥进行加密保护, 这种数据安全保护操作称为数字信封。 具体方法如下:
    a) 随机产生对称加密密钥symmetricKey;
    b) 使用对称加密密钥, 采用对称加密算法对数据进行加密:
    c) encData = SMS4_Encrypt (symmetricKey, data ) ;
    d) 使用SM2 密钥的公钥, 采用SM2 加密算法加密对称密钥:
    e) encSymmetricKey = SM2_Encrypt (PUBKEY, symmetricKey ) ;
    f) 在可信密码模块内部, 使用SM2 密钥的私钥, 采用SM2 解密算法, 解密对称密钥, 使用对称密钥在平台内解密数据。

可信计算密码支撑平台功能接口

提供了可信计算密码支撑平台功能接口, 包括上下文管理、策略管理、可信密码模块管理、密码管理、数据加密与解密、PCR 管理、非易失性存储管理、杂凑操作、密钥协商等九大类接口的定义。
这些接口采用面向对象思想来设计, 应用软件在调用时需要创建各个类的工作对象。工作对象分为需要授权与无需授权两种, 需要授权的工作对象包括 TCM 管理工作对象、密钥对象、加密数据对象、NV 对象、密钥协商对象和策略对象。无需授权的工作对象包括杂凑对象和 PCR对象。

无需授权工作对象之间关系

需要授权工作对象之间关系

上下文管理
上下文管理类包含关于 TSM 对象的执行环境的信息, 如对象的标识和与其他 TSM 软件模块的交互/通信, 以及内存管理。

【可信计算】第七次课:可信计算密码支撑平台相关推荐

  1. 关于对政务云密码支撑方案及应用方案设计的学习及思考

    1.文章编写背景 写这篇文章的主要目的是记录和梳理我从事密码应用安全测评师工作以来学到的东西,同时也想分享给有需要的人,我们一起学习一起讨论,共同进步,如有错误和问题欢迎大家指出! 2.对于编写密码方 ...

  2. linux分区命名规则,《linux就该这么学》第七节课:文件的各种权限以及linux分区命名规则...

    笔记 (借鉴请改动) 5.3:文件特殊权限 SUID  临时拥有文件所有者的权限(基本上只是执行权限) SGID  临时拥有文件所有组的权限,在目录中创建文件自动继承该目录的用户组. SBIT  粘滞 ...

  3. 七月算法--12月机器学习在线班-第七次课笔记—最大熵

    七月算法--12月机器学习在线班-第七次课笔记-最大熵 七月算法(julyedu.com)12月机器学习在线班学习笔记 http://www.julyedu.com 转载于:https://www.c ...

  4. 阅读《Google成功七堂课》

    最近拜读了罗耀宗的<Google成功七堂课>,其中的观点很是不错,这里记录一下. 第一课:打破规则 第二课:打造更好的新产品 第三课:以世界为实验室 第四课:以用户的体验为念 第五课:创造 ...

  5. 进入Google:《Google成功的七堂课》读后感

    原文出处:http://www.djq.com.cn/post/40.html 上周因在探索一些未知的领域,从当当定购了将近30本书,其中一本就是罗耀宗先生写的一本目前唯一探讨Google成功经营的书 ...

  6. 读书札记:德鲁克生命中的七堂课(转)

    德鲁克说:在我的生命中有7堂课,他们教育我怎样保持高效.持续成长.应对变化.打破常规.超越过去.这些既可以是我的,也是大家的. 第一堂课:追求完美.1927年,18岁的德鲁克离开家乡奥地利来到德国的汉 ...

  7. 吾爱破解培训第一课作业密码_如何实现您的第一个无密码登录系统

    吾爱破解培训第一课作业密码 You may have heard that there are 360 Million Reasons to Destroy All Passwords and tha ...

  8. 商务汇报PPT制作的七堂课-第六课:数据美化

    我们七堂课转眼之间已经到第六堂-<数据呈现>了,那前三课我们分别讲了PPT配色.模板以及结构搭建,后三课是关于PPT制作美化的,这堂课也是PPT美化的最后一个部分,就是我们商务中常用的图表 ...

  9. 微软沈向洋自述:我职业生涯里的七堂课

    注:公司邮箱中收到微软公关发来的沈向洋博士的职业生涯七堂课,有所得而有所思,故转于自己博客中. 述 | 沈向洋博士,微软全球执行副总裁,微软人工智能及微软研究事业部负责人 以下为正文: 从卡内基 - ...

最新文章

  1. 普里姆(Prim)求最小生成树
  2. version robot
  3. 什么是RESTful
  4. linux shell 脚本攻略学习11--mkdir和touch命令详解
  5. 一维傅里叶变换后的复数怎样理解?
  6. (五)uboot移植补基础之shell
  7. Shopify 入门 (英文)
  8. 使用Navicat for MySQL设置定时备份数据库和数据恢复
  9. PCIe协议学习之-Ack/Nak协议
  10. dcs world f15c教学_高端DCS带电清洗用的什么清洗剂
  11. 人工智能对智能建筑有哪些影响,智能建筑发展存在哪些问题?
  12. DBF文件使用JAVA读写解决方案
  13. RecSys'22|CARCA:交叉注意力感知上下文和属性进行推荐
  14. 计算机正在获取ip,电脑频繁显示网络电缆已拔出和正在获取IP怎么办
  15. 如何查看你的公网ip?
  16. 基于matlab的pwm波形仿真与分析,基于Matlab的单相电压型PWM整流电路仿真与设计
  17. 【计算机网络面试高频】-HTTP协议详解,HTTP协议常见问题
  18. 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises02
  19. 2范数和F范数的区别
  20. 实例九— 除法器设计

热门文章

  1. java opencv orb_OpenCV提取ORB特征并匹配
  2. Tyramide Cy5.5,Cyanine5.5 Tyramide,花青素Cy5.5酪酰胺远红色近红外发射染料
  3. 用AutoIT 上传图片
  4. python 矩量法_《电磁场与波-电磁材料及MATLAB计算》【价格 目录 书评 正版】_中国图书网...
  5. UPS电源在线远程监控及多方式告警方案
  6. WinDBG 调试命令大全
  7. python flask 实现电脑屏幕实时共享
  8. 大数据基础之JAVA生成随机数案例
  9. [摘抄]将品牌机预装的Windows 7家庭版升级Windows 7旗舰版的超级方法
  10. android 阿里百川初始化的深坑