GB/T29829-2013

信息安全技术可信计算密码支撑平台功能与接口规范

Informationsecuritytechniques-Functionalityandinterfacespecificationofcryptographicsupportplatformfortrustedcomputing

本文分享国家标准信息安全技术可信计算密码支撑平台功能与接口规范的全文阅读和高清PDF的下载,信息安全技术可信计算密码支撑平台功能与接口规范的编号:GB/T29829-2013。信息安全技术可信计算密码支撑平台功能与接口规范共有144页,发布于2014-02-01
  • 中国标准分类号(CCS)L80
  • 国际标准分类号(ICS)35.040
  • 实施日期2014-02-01
  • 文件格式PDF
  • 文本页数144页
  • 文件大小1.59M

以图片形式预览信息安全技术可信计算密码支撑平台功能与接口规范

信息安全技术可信计算密码支撑平台功能与接口规范


国家标准 GB/T29829一2013 信息安全技术 可信计算密码支撑平台功能与接口规范 Infmationsurtytechmiques一Funetionalityamdintertaeespeifieatonf cryptographicsupportplatformfortrustedcomputing 2013-11-12发布 2014-02-01实施 国家质量监督检监检疫总局 发布 国家标准花管理委员会国家标准

GB/T29829一2013 目 次 前言 引言 范围 规范性引用文件 术语、定义和缩略语 3.1术语和定义 3.2缩略语 可信计算密码支撑平台功能原理 .1平台体系结构 4.1.1密码与平台功能的关系 4.1.2平台组成结构 4.1.3可信密码模块 4.1.4TCM服务模块 4.2密码算法要求 4.2.1概述 4.2.2SM2 4.2.3SM3 4.2.4HIMAC 4.2.5SMS4 4.2.6随机数发生器 4.3功能原理 4.3.1平台完整性 4.3.2平台身份可信 4.3.3平台数据安全保护 可信计算密码支撑平台功能接口 17 概述 17 5.1 5.,2上下文管理 18 5.2.1概述 18 5.2.2创建上下文 18 5.2.3关闭上下文 19 5.2.4设置上下文属性(整型参数 19 5.2.5获取上下文属性(整型参数 20 5.2.6设置上下文属性(变长参数 2 5.2.7获取上下文属性(变长参数 22 5.2.8连接上下文 23 23 5.2.9释放上下文 24 5.2.10获取上下文默认策略
GB/T29829一2013 22 5.2.11创建对象 25 5.2.12关闭对象 25 5.2.13获取平台功能特性 21 5.2.14获取TCM对象句柄 5.2.15通过密钥属性加载密钥 2 5.2.16通过密钥D加载密钥 28 5.2.17注册密钥 28 5.2.18销毁密钥 29 30 5.2.19通过密钥ID获取密钥 30 5.2.20通过公钥获取密钥 5.2.21通过ID获取注册密钥 31 5.2.22设置传输会话加密密钥 32 关闭传输会话 5.2.23 32 5.3策略管理 32 设置策略类属性(整型参数 5.3.1 33 5.3.2获取上下文属性(整型参数 34 5.3.3设置上下文属性(变长参数 35 5.3.4获取上下文属性(变长参数 36 5.3.5设置策略授权 37 5.3.6清除策略授权 37 5.3.7绑定策略对象 38 5.4可信密码模块(TCM)管理 38 5,4.1概述 38 5.4.2创建平台身份和证书请求 38 5,4.3激活平台身份和获取PIK证书 39 5.4.4创建PEK请求 40 5.4.5获取PEK证书 4 5.4. 导人PEK密钥 42 ,.4.7创建不可撒消的密码模块密钥 42 5.4.、获取密码模块密钥公镇 3 5.4.9刨建可撤销的密码模块密钥 43 5.4.10撇销密码模块密钥 4 豆.d.创建喘码模块所有者 5 5.4.12清除可信密码模块所有者 45 5.4.13设置操作者授权 46 5.4.14设置可信密码模块状态 46 5.4.15查询设置可信密码模块状态 48 5.4.16获取可信密码模块特性 49 5.4.17可信密码模块完全自检 52 53 5.4.18获取可信密码模块自检结果 53 5.4.19获取可信密码模块产生的随机数 54 5.4.20获取可信密码模块单个事件 54 5.4.21获取可信密码模块一组事件
GB/I29829一2013 55 5.4.22获取可信密码模块事件日志 55 5.4.23可信密码模块PCR扩展 56 5.4.24读取可信密码模块PCR值 5 5.4.25重置可信密码模块PCR 57 5.4.26引证PCR 58 读可信密码模块计数器 58 5.4.28读可信密码模块当前时钟 59 获取可信密码模块审计摘要值 60 设置可信密码模块命令审计状态 60 5.5密钥管理 60 5.5.l 概述 5.5.2改变实体授权数据 66 6 5.5.3获取策略对象 5.5.4设置密钥属性(整型参数 61 获取密钥属性(整型参数 63 5.5.5 5.5.6设置密钥属性(变长参数 65 5.5.7获取设置密钥属性(变长参数 65 5.5.8加载密钥 67 5.5.9卸载密钥 67 5.5.10获取密钥公钥 68 5.5.11签署密钥 68 5.5.12创建密钥 69 5.5.13封装密钥 69 5.5.14创建迁移授权 70 5.5.15创建迁移密钥数据块 70 5.5.16导人迁移密钥数据块 71 5.6数据加密与解密 72 5.6.1改变实体授权 72 5.6.2获取策略对象 73 5.6.3获取数据属性整型参数) 73 5.6.4设置数据属性(变长参数 74 5.6.5获取数据属性 75 5.6.6数据加密 76 76 5.6.7数据解密 7? 5.6.8数据封装 78 5.6.9数据解封 79 5.6.10数字信封封装 79 5.6.11数字信封解密 8G 5.7PCR管理 8G 5.7.1概述 80 5.7.2设置PCRLoeality属性 80 5.7.3获取PCRLoeality属性 81 5.7.4获取PCR摘要
GB/T29829一2013 81 5.7.5设置PCR值 82 5.7.6获取PCR值 83 5.7.7选择PCR索引 83 5.7.8非易失性存储管理 5.7.9设置非易失性存储区属性(整型参数) 83 5.7.10获取非易失性存储区属性(整型参数) 84 5.7.l1获取非易失性存储区属性(变长参数 85 5.7.12创建非易失性存储区空间 86 87 5.7.l3释放非易失性存储区空间 5.7.14数据写人非易失性存储区 88 5.7.15从非易失性存储区读取数据 86 5.8杂凑操作 8 5.8.1设置杂凑对象属性整型参数 89 获取杂凑对象属性(整型参数 5.8.2 90 5.8.3设置杂凑对象属性(变长参数) 91 5.8.4对用户数据进行杂凑操作 92 5.8.5设置杂凑值 93 5.8.6获取杂凑值 93 5.8.7更新杂凑值 94 5.8.8对杂凑值签名 94 5.8.9验证杂凑值签名 95 5.8.10给杂凑类加时间戳 96 5.9密钥协商 96 5.9.1创建会话 96 5.9.2获取会话密钥 97 5.9.3释放会话 98 附录A(规范性附录数字证书格式 100 附录B规范性附录)接口规范数据结构 106 参考文献 33
GB/T29829一2013 前 言 本标准依据GB/T1.1一2009给出的规则起草 请注意本文件的某些内容可能涉及专利 本文件的发布机构不承担识别这些专利的责任 本标准由国家密码管理局提出 本标准由全国信息安全标准化技术委员会(SAC/TC260)归口 本标准主要起草单位;联想(北京)有限公司、国民技术有限责任公司科学院软件研究所、同方 股份有限公司、北京信息科技大学、北京兆日技术有限责任公司、瑞达信息安全产业股份有限公司、长春 吉大正元信息技术股份有限公司,方正科技集团股份有限公司长城计算机深圳股份有限公司成 都卫士通信息产业股份有限公司.无锡江南信息安全工程技术巾心.人民解放军国防科学技术 大学 本标准主要起草人吴秋新,韦卫,冯登国,徐震、杨贤伟、邹浩,余发江、宁晓魁、秦宇,郑必可,刘韧 王梓、林洋、刘鑫、李伟平、尹洪兵、严飞、李丰、许勇、贾兵、王蕾、顾健、何长龙
GB/T29829一2013 引 言 本标准以我国可信计算密码技术要求与应用方案为指导,描述了可信计算密码支撑平台的功能原 理与要求,并定义了可信计算密码支撑平台为应用层提供服务的接口规范,用以指导我国相关可信计算 产品开发和应用
GB/T29829一2013 信息安全技术 可信计算密码支撑平台功能与接口规范 范围 本标准描述可信计算密码支撑平台功能原理与要求,并详细定义了可信计算密码支撑平台的密码 算法、密钥管理、证书管理、密码协议、密码服务等应用接口规范 本标准适用于可信计算密码支撑平台相关产品的研制,生产,测评与应用开发 规范性引用文件 下列文件对于本文件的应用是必不可少的 凡是注日期的引用文件,仅注日期的版本适用于本文 件 凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件 GB/T5271.8一2001信息系统词汇第8部分:安全(idtISO/IEC2382-8:1998 GB/T16264.82005信息技术开放系统互连目录第8部分;公钥和属性证书框架(IsO/ IEC9594-8;2001,IDT RFc3280互联网x.S0公钥基础设施证书租cRL轮席[RFrc3280" lnternetX.509PublicKey InfrastructureCertificateandCertificateRevocationListCRLProfile 术语,定义和缩略语 3.1术语和定义 GB/T5271.82001中界定的以及下列术语和定义适用于本文件 3.1.1 可信计算平台trustedleoputingplatform 构建在计算系统中,用于实现可信计算功能的支撑系统 3.1.2 可信计算密码支撑平台eryptographiecsupporlplatformfortrustedeomputing 可信计算平台的重要组成部分,包括密码算法、密钥管理、证书管理、密码协议、密码服务等内容,为 可信计算平台自身的完整性、身份可信性和数据安全性提供密码支持 注;可信计算密码支撑平台的产品形态主要表现为可信密码模块和可信密码服务模块 3.1.3 完整性度量inteeritymeasurement 使用密码杂凑算法对被度量对象计算其杂凑值的过程 3.1.4 可信度量根rootoftrustformeasureent 个可信的完整性度量单元,是可信计算平台内进行可信度量的基础 3.1.5 可信存储根 ootoftrstfor”storage 存储主密钥,是可信计算平台内进行可信存储的基础
GB/T29829一2013 3.1.6 rootoftrusfor 可信报告根 ”rep0rting 密码模块密钥,是可信计算平台内进行可信报告的基础 3.1.7 odule 可信密码模块trustedic lcryptography 可信计算平台的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间 3.1.8 TCM服务模块ICMIservicemodule 可信计算密码支撑平台内部的软件模块,为对平台外部提供访问可信密码模块的软件接口 3.1.9 部件component 计算系统中可被度量的硬件和/或软件模块 3.1.10 平台配置寄存器platfrm.eomfigurationregister 可信密码模块内部用于存储平台完整性度量值的存储单元 3.1.11 完整性度量值integritymeasurementvalue 部件被度量后得到的杂凑值 3.1.12 完整性基准值predeflinedlintegrity Value 部件在可信状态下被度量得到的杂凑值 该值可作为完整性校验的基准 3.1.13 信任链trustelehain 在计算系统启动和运行过程中,使用完整性度量方法在部件之间所建立的信任传递关系 3.1.14 可信方trwtedpnrtsy 提供可信证明的机构,包含可信第三方和主管方 3.1.15 密钥管理中心keymanagementcentre 用于密钥生成和管理的软硬件系统 3.1.16 双证书dualcertificate 包括签名证书和加密证书,分别用于签名和数据加密,由可信方一同签发 3.1.17 实体entity 访问密码支撑平台资源的应用程序和用户 3.1.18 对象objeet 可信计算密码支撑平台内可以被实体访问的各类资源,包括密钥数据、运行环境数据、敏感数据等 3.1.19 SMS4 本标准采用的对称密码算法
GB/T29829一2013 3.1.20 SM2 本标准采用的椭圆曲线密码算法 包括三个子算法;椭圆曲线数字签名算法(sM2-1)、椭圆曲线密 钥交换协议(SM2-2)、椭圆曲线公钥加密算法(SM2-3 3.1.21 SM3 本标准采用的密码杂凑算法 3.1.22 HMIAC 本标准采用的消息验证码算法 3.1.23 密码模块密钥ICMendorsementkey 可信密码模块的初始密钥 3.1.24 平台身份密钥platformidentitykey 可信密码模块的身份密钥 3.1.25 平台加密密钥platformeneryptionkey 可信密码模块中与平台身份密钥关联的加密密钥 3.1.26 存储主密钥storagemasterkey 用于保护平台身份密钥和用户密钥的主密钥 3.2缩略语 下列缩略语适用于本文件 EK:密码模块密钥(TCMEndor )rsementkey KMC;密钥管理中心(KeyManagementCentre) NV;非易失性(Non-volatility) PCR;平台配置寄存器(Platc Iorm ConfgurationRegister) PEK:平台加密密钥(PlatformEneryptionkey) PIK;平台身份密钥(PlatformldentityKey SMK;存储主密钥(StorageMasterKey) TCM;可信密码模块(TrustedCryptographyModule) TSM;TCM服务模块(TCMServiceModuley 可信计算密码支撑平台功能原理 平台体系结构 4.1 4.1.1密码与平台功能的关系 密码与平台功能关系如下:
GB/T29829一2013 平台完整性 a 利用密码机制,通过对系统平台组件的完整性度量,确保系统平台完整性,并向外部实体可信地报 告平台完整性 b平台身份可信 利用密码机制,标识系统平台身份,实现系统平台身份管理功能,并向外部实体提供系统平台身份 证明 平台数据安全保护 利用密码机制,保护系统平台敏感数据 其中数据安全保护包括平台自身敏感数据的保护和用户 敏感数据的保护 另外也可为用户数据保护提供服务接口 密码对平台功能的支撑关系如图1所示 平台完整性 平台身份可信 平台数据安全保护 密码算法 SM3 SM2 sMS4 随机数生成器 图1密码与平台功能的关系 4.1.2平台组成结构 可信计算密码支撑平台主要由可信密码模块(TCM)和TCM服务模块(TSM)两大部分组成,其功 能架构如图2所示
GB/T29829一2013 计算系统 安全应用 平台完整性 平台身份可信 平台数据安全保护 可信计算密码支撑平台 TCM服务模块(TSMD 密码学服务 平台 完整性报告 安全 平台数据安全 运行时平台防护 管理 身份证明 密钥管理 操作系统(Os oS内核度量与修复 PMBR BIOs CRTM 可信度量根 度量存储 可信报告怅 可信存储根 密码算法 TCM 可信密码模块 图2可信计算密码支撑平台功能架构 可信计算密码支撑平台以可信密码模块为可信根,通过如下三类机制及平台自身安全管理功能,实 现平台安全功能 以可信度量根为起点,计算系统平台完整性度量值,建立计算机系统平台信任链确保系统平 a 台可信 b)可信报告根标识平台身份的可信性,具有唯一性,以可信报告根为基础,实现平台身份证明和 完整性报告 基于可信存储根,实现密钥管理,平台数据安全保护功能提供相应的密码服务 4.1.3可信密码模块 可信密码模块(TCM)是可信计算密码支撑平台必备的关键基础部件,提供独立的密码算法支撑 TcM是硬件和固件的集合,可以采用独立的封装形式,也可以采用IP核的方式和其他类型芯片集成在 -起,提供TCM功能 其基本组成结构如图3所示
GB/T29829一2013 1O SMS4引擎 s2引禁 随机数发生器 SM3擎 执行引擎 HnMAc引擎 非易失存储器 易失存储器 图3可信密码模块结构 图3中各部件说明如下 1/O:TCM的输人输出硬件接口; SMS4引擎;执行SMS4对称密码运算的单元; sM2引擎;产生sM2密钥对和执行sM2加/解密,签名运算的单元; sM3引擎;执行杂凑运算的单元 随机数发生器生成随机数的单元 HIMAc引擎;基于SM3引擎的计算消息认证码单元 执行引擎;TCM的运算执行单元 非易失性存储器;存储永久数据的存储单元习; 易失性存储器;TCM运行时临时数据的存储单元 4.1.4ICM服务模块 可信密码模块定义了一个具有存储保护和执行保护的子系统,该子系统将为计算平台建立信任根 基,并且其独立的计算资源将建立严格受限的安全保护机制 为防止TCM成为计算平台的性能瓶颈, 将子系统中需执行保护的函数与无需执行保护的函数划分开,将无需执行保护的功能函数由计算平台 主处理器执行,而这些支持函数构成了TCM服务模块,简记为TsM TsM主要为用户使用TCM基础资源提供支持,由多个部分组成,每个部分间的接口定义应具有 互操作性[司 TsM应提供规范化的函数接口 TsM设计目标 a)为应用程序调用TCM安全保护功能提供一个人口点; b 提供对TCM的同步访问; c)向应用程序隐藏TCM所建立的功能命令; d)管理TCM资源 4.2密码算法要求 4.2.1概述 本标准涉及的密码算法包括SM2椭圆曲线密码算法,SMS!对称密码算法,SM3密码杂凑算法、 HMAC消息认证码算法、随机数发生器 上述密码算法必须符合国家密码管理局管理要求并在可信密 码模块内实现
GB/T29829一2013 4.2.2SM2 本标准采用的SM2算法,其密钥位长为m(m=256). SM2算法包涵;系统参数、密钥对生成、数字签名算法(SM2-1,密钥交换协议(SM2-2)和加密算法 SM2-3)共五个部分 4.2.2. 系统参数 SM2算法使用固定的F,域,系统参数如下 a)F,域的特征p,户是m比特长度的素数; b F,中的两个元素a和b,它们定义曲线E的方程:y==工十a.r十b,a,b满足4a'十2760; 基点G=(rG,ya)E(F,),GO(O为无穷远点); d)基点G的阶n,n是比特长度的素数 系统参数说明: p,a、b、rG、y,和n均为川比特长度的大整数,也可以看作m/8字节长度的字符串 a bG可以看作一个有序整数对,也可以看作- m/4十1字节长度的字符串 - 个 无穷远点O是一个理想点,不能用有序整数对(r,y)即仿射坐标表示 SM2系统参数作为公共参数,可以在所有的平台和系统之间公开共享 4.2.2.2密钥对生成 sM2的密钥对包括私钥(记为d)和公钥(记为Q),其中d为小于n一1的一个随机的正整数,Q为 曲线E(F,)上的一个非无穷远点且满足Q=dG即连续山个G点“相加",简称为"点乘"). 输人参数, 无 输出参数 d:私钥 Q;公钥Q=dG 说明: a)E(F,)上的两个点“相加”是一个较复杂的运算过程(与普通的整数加法不同),O与E(F,上 的任意点P“相加”结果仍为P,“相加”是一个可结合、可交换的运算 bQ=(.ro,yo)EE(F,),QO,可以看作一个有序整数对 SM2系统参数作为公共参数,可以在所有的平台和系统之间公开共享 4.2.2.3SM2-1数字签名算法 数字签名是书写签名的电子形式 数字签名可以向第三方证明消息是由声称的始发者所签 与书 写签名不同,数字签名要验证消息的完整性 对存储的数据和程序产生数字签名,使得在以后的任何时 刻都可以验证数据和程序的完整性 数字签名算法流程是由一个签名者对数据产生数字签名,并由一个验证者验证签名的正确性 每 个签名者有一个公钥和一个私钥,其中私钥用于产生签名,验证者用签名者的公钥验证签名的正确性 在签名的生成和验证过程之前,都要用密码杂凑函数对待签消息M和待验证消息进行杂凑运算 数字签名的生成算法 输人参数 M:待签名的消息摘要(M为m比特长度 d:签名者的私钥
GB/T29829一2013 输出参数 r;签名的第一部分,小于的正整数 S :签名的第二部分,小于的正整数 说明: r和s均可看作m/8字节长度的字符串 数字签名的验证算法 输人参数: M:待验证的消息摘要(M为m比特长度 !;签名的第一部分,小于n的正整数 签名的第二部分,小于月的正整数 Q;签名者的公钥 输出参数: Res;验证结果,为“真”表示“验证通过”,为“假”表示“验证不通过" 说明 和、均可看作m/8字节长度的字符串 4.2.2.4s12-3公钥加密算法 sM2-3可提供消息的机密性 在SM2公钥加密算法中,公钥用于加密,私钥用于解密 本部分的SM2公钥加密算法包括两个方面:一方面是发送者用接收者的公钥将信息加密成密文 另一方面是接收者用自已的私钥对收到的密文进行解密还原成原始信息 可信计算平台中的sM2公钥加密算法用于加密对称密钥和随机数等敏感信息,公钥加密的明文信 息的字节长度是可变的 加密算法 输人参数 M.待加密的明文信息 Q;加密密钥(解密方的公钥 输出参数 C;密文字节串.C=CIlc2lC3,其中CI为E(F,)上一个点的字节串表示,C2为与M 长度相同的字节串,C3为长度为m/8的字节串 解密算法 输人参数 C;密文比特串C=C1lC2lC'3, d;解密密钥(解密方的私钥 输出参数 V:密文有效信息,为“真”表示“密文有效”,输出M,为“假”表示“密文无效”,不输出M M解密的结果,明文信息(与C2的字节长度相同 4.2.2.5SM2-2密钥交换协议 密钥交换协议是在两个用户A和B之间建立一个共享秘密密钥的协商过程,通过这种方式能够确 -个共享秘密密钥的值 设密钥协商双方为A,B,其密钥对分别为(d,Q)和(d,Qn),双方需要获得的密钥数据的比特 长度为klen 密钥交换协议分为两个阶段
GB/T29829一2013 第一阶段;产生临时密钥对 用户A 调用密钥对产生算法产生一对临时密钥对(rA,RA),将R和A的个人信息M发送 给B 用户B 调用密钥对产生算法产生一对临时密钥对(rn,R),将R,和B的个人信息M,发送给A 第二阶段;计算共享的密钥数据 用户A 输人参数 QA:用户A的公钥 Q用户B的公钥 R.用户A的临时公朗 M,用户A的个人信息 用户B的临时公钥 R M用户B的个人信息 d:Q、对应的用户A的私钥 R对应的用户A的临时私钥 rA: klen;需要输出的密钥数据的比特长度 输出参数 K;比特长度为klen的密钥数据 用户B 输人参数 Q;用户B的公钥 QA:用户A的公钥 Rw;用户B的临时公钥 M;用户B的个人信息 RA;用户A的临时公钥 M;用户A的个人信息 dn:Q对应的用户B的私钥 rw;R对应的用户B的临时私钥 klen:需要输出的密钥数据的比特长度 输出参数 K:比特长度为klen的密钥数据 4.2.3SM13 本标准规定密码杂凑算法为SM3 对于给定的长度为k(h<2)的消息,SM3密码杂凑算法经过 填充、迭代压缩和选裁,生成杂凑值 经预处理过的消息分组长度为512比特,本标准选用的杂凑值长 度为256比特 对分组后的消息迭代压缩: 输人参数 M:512比特长度的消息 输出参数 D:256比特长度的摘要
GB/T29829一2013 4.2.4HMAc 消息验证码算法;利用密码杂凑算法SM3,对于给定的消息和验证双方共享的秘密信息产生长度 为!个字节的消息验证码,消息验证码产生过程参考FIPSPUB198中的消息验证码产生过程" 输人参数: terl:消息 Seerel_K;双方共享的秘密信息 K_len:双方共享的秘密信息长度 1;消息验证码的长度,不小于16字节,不大于32字节 输出参数 diges:!个字节的消息验证码 算法描述 步骤1:如果K_len=Bock_Len,则K ;=Secre_K,跳转执行步骤4; 步骤2;如果K_len>Bock_L.en,则对K进行杂凑运算得到L个字节,然后拼接上Bork Len-一L个字节0得到BlockLen个字节的K ,即K ;=SM3(Kl0000,跳转执 行步骤4:; 步骤3;如果K_leGB/T29829一2013 K:l28比特长度的密钥信息 输出参数 M:128比特长度的明文信息 4.2.5.2使用模式 本标准规定采用CBC模式,IV由用户自定义 对于数据的最后一个分组,数据需要填充,方法如下 a)填充完的数据长度必须是16的整数倍 b》如果最后一个分组缺少d1个字节(0GB/T29829一2013 完整性度量与存储应满足如下要求: a)计算度量值的过程应是执行杂凑运算的过程; b杂凑运算输人的数据应为度量者指定的可以表征被度量者特性的数据; 杂凑运算输出的杂凑值即为被度量者的完整性度量值; c 度量者应把度量值记人指定的PCR中 记人的办法是:新PCR值=密码杂凑算法原 PCR值 度量值); 应把度量过程信息记录到平台事件日志中 至少应记录;度量者信息、被度量者信息、原PCR 值、度量值,新PCR值、完成时间等; 如果 -个部件序列中的各部件完整性度量值存储在同一个PcR中,则采用一种专门的压缩存 储方式,即从第一个部件开始,将该部件完整性度量值与目标CR的已有存储值拼接,进行杂 凑运算,然后将所得结果再存储于该PCR中,依次类推,最后一个部件的完整性度量值存储操 作完成后,所得值即为该部件序列存储到PCR中的完整性度量值 完整性报告是指平台向验证者提供平台或部分部件的完整性度量值的过程 完整性报告应满足如下要求 平台能够向验证者提供指定PCR值,无需任何授权; a b)平台能够向验证者提供指定PCR值以及对PCR值的签名 签名使用平台身份密钥; 平台可向验证者提供指定R的相关事件日志信息 c d)验证者可通过分析完整性度量事件日志信息判断该CR值是否来自正确的度量过程; 验证者应使用平台身份密钥验证PCR值签名,获得平台完整性报告结果 4.3.1.3信任链 信任链可以保障平台完整性 以PC为例,平台信任链的建立是以可信度量根为起点,首先对 BOs的其他部件进行完整性度量,并将度量值存储于可信密码模块的PCR中,按照选择的判断机制判 断BOs的完整性,若完整性未被破坏,则运行BIOs;并度量初始化程序加载器(InitialProgramLoad erIPL)/主引导分区(MasterBootRecord一MBR)的完整性,基于判断机制判断IPL/MBR完整性, 若IPL/MBR完整性没有被破坏,则运行MBR;然后由IPL/MBR度量0s内核的度量与修复部件的完 整性,若该部件完整性未被破坏,则由该部件度量Os内核的完整性,若未被篡改,则运行Os内核 OSs 内核启动后基于同样机制检测0OS服务完整性,通过信任关系传递,可以确保所启动的系统是可信的 系统运行时可以设置一个平台防护模块,用于检测应用程序或进程的完整性,确保应用程序或进程的可 信性1可 若上述过程中,发现某一部件的完整性受到破坏,则报告问题并按照指定策略执行相关操作 4.3.1.4向外部实体证实平台完整性 平台可向外部实体提供完整性报告,所报告的度量值作为判断平台可信性的依据 报告完整性度量值时,平台身份密钥应对完整性度量值进行数字签名,接收方通过验证签名有效性 以及校验完整性度量值来判断该平台的可信性 外部实体可以向平台请求验证平台的完整性 一个参考的验证流程如下 平台按如下方式报告其完整性 1) 平台启动后,外部实体向平台发送完整性度量报告的请求; 2)可信密码模块收集PCR的值,使用平台身份密钥(PIK)对PCR的值进行签名; 3)平台将PCR的值,PIK对PCR值的签名和PIK证书发送给验证者 b验证者验证平台完整性 1验证者得到平台发送的PCR值,PIK对PCR值的签名和PIK证书; 12
GB/T29829一2013 2)验证者验证PIK证书 3)验证者验证PCR值的签名; 验证者对CR的值与平台的完整性基准值进行比较,若相同,则表明当前平台处于可信 4 状态 4.3.2平台身份可信 4.3.2.1平台身份标识 可信计算密码支撑平台采用密码模块密钥(EK)标识其身份,在平台所有者授权下,在TCM内部 生成一个SM2密钥对,作为平台身份密钥(PIK),用于对TCM内部的信息进行数字签名,实现平台身 份认证和平台完整性报告,从而向外部证实平台内部数据的可信性 密码模块密钥(EK)是唯一的,必须被保存在TCM内,仅仅在获取平台所有者操作及申请平台身 份证书时使用,且不得被导出TCM外部 密码模块证书符合X.509V3标准,在平台使用前由一个可信方签署,确保其可信性,用于建立密码 模块密钥与可信密码模块的一一对应关系 常码模块证书格式见附录A 一个可信计算密码支撑平台可以产生多个PIK,每个PIK均与EK绑定,对外代表平台身份 平台身份证书及其对应的平台加密证书由可信方提供,符合X.509V3标准,用于验证平台身份密 钥PIK)私钥对PCR值的签名,证书格式及说明参见附录A 4.3.2.2平台身份建立 4.3.2.2.1获得平台所有权 生成密码模块密钥(EK)后,才可以创建平台所有者,取得平台所有权的操作步骤如下 所有者输人口令,对输人数据进行长度规一化处理得到平台所有者的授权数据; a 使用密码模块密钥的公钥对平台所有者授权数据进行加密并植人到可信密码模块中,在可信 b 密码模块内部,使用密码模块密钥的私钥,对加密的授权数据进行解密,得到长度规一化的平 台所有者授权数据并存储于可信密码模块内部; 所有者输人存储主密钥口令,对输人数据进行长度规一化处理得到存储主密钥的授权数据 使用密码模块密钥的公钥对存储主密钥授权数据进行加密并植人到可信密码模块中,在可信 密码模块内部,使用密码模块密钥的私钥,对加密的授权数据进行解密,得到长度规一化的存 储主密钥授权数据并存储于可信密码模块内部 可信密码模块采用对称密码算法SMS!生成存储主密钥,将其存储于可信密码模块内部 使用随机数发生器产生平台验证信息,存储于可信密码模块内部,不允许外部实体访问,在平 台所有权有效期内平台验证信息不能被改变 平台验证信息主要用于数据封装 4.3.2.2.2平台身份密钥的生成与激活 平台身份密钥生成及其证书签署与激活的步骤如下 平台身份密钥的生成 可信密码模块验证平台所有者的授权数据和存储主密钥的授权数据 2)设置平台身份密钥授权数据,使用密码模块密钥的公钥对授权数据进行加密并植人到可 信密码模块中,在可信密码模块内部,使用密码模块密钥的私钥,对加密的授权数据进行 13
GB/T29829一2013 解密,得到长度规一化的平台身份密钥授权数据并存储于可信密码模块内部 3) 可信密码模块采用SM2密钥生成算法产生平台身份密钥 可信密码模块使用存储主密钥加密平台身份密钥的私钥部分 4 对可信方的公钥进行杂凑运算,获得可信方公钥杂凑值; 5 可信密码模块使用平台身份密钥的私钥,采用SM2签名算法对可信方公钥杂凑值和平台 身份密钥的公钥进行签名,获得平台身份密钥签名 可信密码模块将平台身份密钥的公钥,密码模块密钥的公钥和平台身份密钥签名发送给 可信方 可信方接收到平台发送的信息后,签署平台身份证书 b 验证平台身份密钥的签名; 验证通过,则使用SM2签名算法签署平台身份证书 2) 3)随机生成对称加密密钥SessionkKey,并采用对称加密算法(SMs4)加密平台身份证书,得 到加密的平台身份证书; 采用以下步骤创建平台身份密钥证书与可信密码模块的匹配关系 使用密码杂凑算法计算平台身份密钥的公钥的杂凑值 使用密码模块密钥的公钥,对平 台身份密钥的公钥的杂凑值和Sessionkey进行加密,将加密结果和加密的平台身份证书 发送给平台 激活PIK证书的过程表示为 可信密码模块使用密码模块密钥的私钥,解密得到平台身份密钥的公钥的杂凑值和随机 生成的对称加密密钥; 2)判断所得到的平台身份密钥的公钥的杂凑值是否与该平台的平台身份密钥的公钥的杂凑 值相同 3)若相同,则可信平台使用所得到的对称加密密钥解密被加密的平台身份证书,获得平台身 份证书 4.3.2.2.3平台身份密钥的使用 平台身份密钥代表平台身份,用于对可信计算密码支撑平台内部产生的数据进行签名 4.3.3平台数据安全保护 数据安全保护是可信计算密码支撑平台的核心功能之一,数据安全保护就是通过密钥对数据采用 特定的保护方式进行处理,基本单元包括密钥、数据、数据保护方式 用于数据安全保护的密钥分为对称密钥和非对称密钥 密钥管理包括密钥生成、密钥加载、密 a 钥销毁、密钥导人、密钥迁移、密钥协商等功能 b)被保护的数据可以是任何数据; c 数据安全保护方式包括数据加解密、数据封装,数字信封等方式 4.3.3.1密钥管理功能 4.3.3.1.1密钥生成 密钥生成是指由应用层软件设置所需生成密钥的密钥属性、密钥使用授权、密钥迁移授权,密钥的 保护操作密钥,并发送给可信密码模块生成指定的密钥 在可信密码模块内,由保护操作密钥加密所生 成的密钥私钥部分,然后将生成的密钥数据结构返回给应用层软件 14
GB/T29829一2013 对于可信密码模块内各类密钥,生成方法包括 a)密码模块密钥由厂商生成,为256位SM2非对称密钥 密码模块密钥可以定义为不可撤销和 可撤销两种类型 存储主密钥必须在获取平台所有权时生成,为128位sMIs!对称密钥,平台所有者生成存储主 b 密钥时,必须在可信密码模块内部生成; 平台身份密钥为256位的SM2密钥,必须在可信密码模块内部生成 需向可信方申请相应平 台身份证书并激活该密钥; 平台加密密钥由KMC生成 可信密码模块向可信方发送PEK证书请求,获取加密的PEK 证书(包含PEK公私钥信息),然后解密获得PEK及其证书,并激活该PEK; 用户密钥可以在可信密码模块内部生成,也可在可信密码模块外部生成后导人 用户密钥可 以是对称密钥或非对称密钥,其属性设置参考附件密钥对象属性要求 4.3.3.1.2密钥加载 密钥生成后,在应用层软件使用该密钥进行数据安全保护操作时,如果需要使用该密钥的私钥,需 要将密钥数据(为一个数据结构)加载到可信密码模块内部,由保护操作密钥解密后才能使用 如果使 用该密钥的公钥,则在应用层软件直接使用 可信密码模块内各类密钥的加载方法包括 使用可信密码模块密钥公钥在设置平台所有者之前不需要验证授权,设置平台所有者之后,必 a 须验证所有者授权;密码运算过程必须在可信密码模块内部进行 使用存储主密钥必须验证所有者授权,存储主密钥授权;密码运算过程必须在可信密码模块内 部进行; 使用平台身份密钥必须验证平台身份密钥授权、存储主密钥授权;平台身份密钥的私钥必须被 加载到可信密码模块内部进行密码运算,公钥的密码运算过程在模块外部进行; 使用平台加密密钥必须验证平台加密密钥授权、存储主密钥授权;平台加密密钥的私钥必须被 加载到可信密码模块内部进行密码运算,公钥的密码运算过程在模块外部进行 使用用户密钥必须验证用户密钥授权;用户密钥的私钥必须被加载到可信密码模块内部进行 密码运算 4.3.3.1.3密钥销毁 密钥生成后,应用层软件可以销毁指定的密钥 对于可信密码模块内各类密钥,销毁方法如下 销毁密码模块密钥是通过撒销可撤销的密码模块密钥完成的 对于不可撤销的密码模块密 钥,不能销毁, 销毁存储主密钥通过清除所有者来完成 b c 销毁平台身份密钥必须验证平台身份密钥授权,存储主密钥授权后,在可信密码模块内执行 d)销毁平台加密密钥必须验证平台加密密钥授权、存储主密钥授权后.在可信密码模块内执行; 销毁用户密钥需验证其保护操作密钥授权后,在TcM服务模块内执行 4.3.3.1.4密钥导入 应用层软件可以采用密钥导人方式,对可信密码模块外部创建的SM2,SMS密钥进行保护,并纳 人到可信密码模块的密钥体系中 密钥导人方法:外部密钥需按照指定格式设定密钥属性,并使用指定的保护操作密钥对被导人密钥 15
GB/T29829一2013 的私钥部分加密 4.3.3.1.5密钥迁移 为保证用户数据安全,需要把相应的用户密钥予以迁移备份 迁移时需要保证被迁移密钥的机密 性和完整性 平台内只有用户密钥可以迁移,进行密钥迁移时需确保目标平台是可信计算平台 假定要将平台A的一个可迁移密钥迁移到平台B上,其迁移方法描述如下 a)平台B将保护操作密钥的公钥发送给平台A; b平台A将被迁移的密钥加载到可信密码模块中,解密出被迁移的密钥; 平台A的可信密码模块随机产生 个对称加密密钥,使用该密钥加密被迁移的密钥,生成被 迁移密钥的迁移数据; D 用平台B的保护操作密钥的公钥加密对称加密密钥: 将迁移数据和已加密的对称加密密钥从平台A传递到平台B; e 平台B使用其保护操作密钥的私钥解出对称加密密钥,使用sMS4对称密码算法,用解密出的 f 对称加密密钥解密迁移数据,得到被迁移密钥 平台B将被迁移密钥重新加密保护,完成整个迁移过程 g 4.3.3.1.6密钥协商 密钥协商是在两个用户A和B之间建立一个共享秘密密钥的过程,通过这种方式能够确定一个共 享秘密密钥的值,用来提供A用户与B用户之间数据安全保护 密钥协商方法参见4.2密码算法要求描述 4.3.3.2数据安全保护方式 4.3.3.2.1数据加解密 数据加解密可以采用对称密码算法和非对称加密算法实现 非对称加密操作可在TCM服务模块 执行,非对称密钥解密和对称加解密必须在可信密码模块内部执行 在可信密码模块内部进行加解密操作时,需要先加载密钥 非对称加解密主要用于短信息绑定,对称加解密可以操作任意长度数据 4.3.3.2.2数据封装 将数据与特定的平台状态(PCR值)及可信密码模块绑定在一起,这种操作称为数据封装 数据加密使一个数据只能绑定于一个可信密码模块 数据封装使一个数据不仅绑定于一个可信密码模块,同时通过PCR绑定于一种平台状态 使用对称密码算法的封装表示为: sealedData=SMS4_Encrypt[key,dataCRValueTCM_Proof刀 其中TCMProof为TCM唯一性标识 数据的解封表示为 可信密码模块解密数据: dataPCRValueTCM_Proof=SMS4_Decryptkey,sealedData); b)可信密码模块比对当前PCR的值是否与解密出的PCRValue相同 可信密码模块比对解密出的TCMProof是否与内部存储的数值相同, c d)若比对相同,输出data 16
GB/T29829一2013 使用椭圆曲线密码算法的封装表示为 sealedData=SM2_EncryptSM2PUBKEY,dataPCRValueTCM_Proof 数据的解封表示为: a)可信密码模块解密数据: b dataPCRValueTCM_Proof=SM2_DecryptSM2PRIKEY,sealedData); 可信密码模块比对当前PCR的值是否与解密出的PCRValue相同; d)可信密码模块比对解密出的TCM_Proof是否与内部存储的数值相同 若比对相同,输出data 4.3.3.2.3数字信封 采用对称密码算法对数据进行加密保护,同时采用椭圆曲线密码算法对对称密码算法使用的密钥 进行加密保护,这种数据安全保护操作称为数字信封 具体方法如下 随机产生对称加密密钥symmetricKey; a b)使用对称加密密钥,采用对称加密算法对数据进行加密 encData SMS4Ene cryptsymmetrickey,data); d)使用sM2密钥的公钥,采用SM2加密算法加密对称密钥 encSymmetricKey SM2Enc PUBKEY,symm meriekey) CI rypt 在可信密码模块内部,使用sM2密钥的私钥,采用sM2解密算法,解密对称密钥,使用对称凿 钥在平台内解密数据 可信计算密码支撑平台功能接口 5.1概述 本章提供了可信计算密码支撑平台功能接口,包括上下文管理,策略管理、可信密码模块管理,密码 管理、数据加密与解密、PCR管理、非易失性存储管理、杂凑操作、密钥协商等九大类接口的定义 这些接口采用面向对象思想来设计,应用软件在调用时需要创建各个类的工作对象 工作对象分为需要授权与无需授权两种,需要授权的工作对象包括TCM管理工作对象、密钥对 象、加密数据对象、NV对象、密钥协商对象和策略对象 无需授权的工作对象包括杂凑对象和CR 对象 对象之间的关系如图5和图6所示 上下文管理对象 .,n 上下文 创建 创建 0..n 0..n 杂凑对象 CR对象 图5无需授权的工作对象之间关系 17
GB/T29829一2013 上下文情理对刻 0..n 上下文 创建 创建 0.,n 0. n 0..n 加密数据对象 密制对象 密钥协商对象 NV对象 创建 TcM管理对象 0..1 0..1 分脱 分配 分配 默认策略 策略对象 策略对象 图6需授权的工作对象之间关系 有关接口函数涉及的数据结构见附录B 5.2上下文管理 概述 5.2.1 上下文管理类包含关于TSM对象的执行环境的信息,如对象的标识和与其他TSM软件模块的交 互/通信以及内存管理 5.2.2创建上下文 功能描述 创建一个上下文对象,返回该对象句柄 接口定义 TSMRESULTTspiContextCreate TsM_HHcoNTExT! phContext/out 输人参数描述 无 输出参数描述 一phContext创建的上下文对象句柄 18
GB/T29829一2013 返回参数 TSM_sUCCESs TSMEINTERNALERRO)R 5.2.3关闭上下文 功能描述 销毁一个上下文对象,并释放所分配的所有资源 接口定义: TSM_RESU1TTspi_ContextL_Close TsM_HcoNTEXThCcontext / in 输人参数描述: -hcContext要关闭的上下文对象的句柄 输出参数描述 返回参数 TSM_ScCEss TSM_E_INVALID_HANDLE TSM_E_INTERNAL_ERROR 5.2.4设置上下文属性(整型参数 功能描述 本函数设置上下文对象的32-bit属性 如果请求的数据长度小于UINT32,必须将数据转换 成32-bit长度的数据 接口定义 TSM_RESULTTspiSetAttribUint32 TSMHOBJECT hObject. in TSM_FLAG attribFlag / in / in TSMFLAG subFlag UINT32 ulAttrib in / 输人参数描述 -hObjeet 需要设置属性的对象句柄 -attribFlag需要设置的属性标记 需要设置的子属性标记 subFlag ulAttrib 属性设置的值 设置属性定义见表1 19
GB/T29829一2013 表1设置属性定义表 子属性 属性值 述 属性 描 TSM_TSPATTRIB TSM_TSPATTRIB coNTEXTsLENT 显示协议接口的对话窗口 cONTExTNOTsLENT _MODE TSM_TSPATTRIB 不显示协议接口对话窗口默认 coNTExT_sLENT TSM_TSPAT'TRIL TSM_TSPAT'TRIB TsM_TsPATTRIB_HAsHH 对于不包括其他数据授权密码进 SECRET_HASH SECRETHASH MODE_NOT_NULL 行杂凑计算 MoDE MoDE_POPUP B 对于包括其他数据授权密码进行 TSM_TSPATTRIB_HASH MODENULL 杂凑计算 输出参数描述 无 返回参数 TSMSUCCESS TSME_INVALlD_HANDLE TSM_EINVALID_ATTRIB_FLAG TsM_E_INVALlID_ATTRIBSUBFLAG TSM_E_INVALID_ATTRIB_DATA TSM_E_BADPARAMETER TSM_E_INTERNAL_ERROR 5.2.5获取上下文属性(整型参数 功能描述 本函数获取上下文对象的32-bit属性 接口定义. TSMREsU1TTspi_GetAttribUint32 hObiect, in TSM_HOBECT atribFlag TSM_FLAG inm TSMFLAG subFug" in / pulAttril UINT32" out 输人参数描述: -hobjgect需要查询属性的对象句柄 -atribFlaeg需要查询的属性标记 -sahFlHag需要查询的子属性标记 属性查询定义见表2 心
GB/T29829一2013 表2查询属性定义表 子属性 属性值 属 性 描述 TSM TSPATTRIB TSMTSPATTRIB_cON 显示协议接口的对话窗口 coNTExT_sLENT_MODE TEXT_NoT_sILENT TSM_TSPATTRIB_CON 不显示协议接口对话窗口 默认 TEXT_sILENT TsM-TsPATTRIB TsM_TSPATTRI_SE:CRET TSM_TSPATTRIB_HASH对于不包括其他数据授权 SECRET HASH MoDE_NoT_NUL. 密码进行杂凑计算 HAsHB_MoDE MoDE_PoPUP TsMTsPATTRIB_HASH对于包括其他数据授权衡 _MODE_NULL 码进行杂凑计算 输出参数描述 pulAttrilb指向查询到的属性值 返回参数 TSMSUcCESs TSM_E_INVALID_HANDLE TSM_E_INVALID_ATTRIB_FLAG TSM_E_INVALID_ATTRIB_SUBFLAG TSM_EINVALID_ATTRB_DATA TSM_E_BAD_PARAMETER TSM_E_INTERNALERROR 5.2.6设置上下文属性(变长参数 功能描述: 本函数设置上下文对象的非32-bit属性 属性数据的结构和大小依属性而定 接口定义 TsM_REsUL.TTspi_SetAttribData TSM_HoBECT hObject, in TSM_FL.AG attribFlag" in TsM_FLAG subFlag, in UINT32 ulAttribDataSize in BYTE rgbAttribData in 输人参数描述 -hObjeet 需要设置属性的对象句柄 -attrihbFlhag 需要设置的属性标记 -sbFhag 需要设置的子属性标记 ulAttriDataSize prgbAtrihData参数的大小(以字节为单位) rgbAttribData 此参数指向一个存放设置属性值的缓冲区 21
GB/T29829一2013 输出参数描述: 无 返回参数 TSMSUcCESS TSMEINVALID_HANDLE TSM_E_INVALID_ATTRIBFLAG TSM_EINVALID_ATTRIB_sUBFLAG TSM_EINVALID_ATTRIB_DATA TSM_E_BADPARAMETER TsMEINTERNALERROR 获取上下文属性(变长参数 5.2.7 功能描述 本函数获取上下文对象的非32-bit属性 属性数据的结构和大小依属性而定 为属性数据所 分配的内存块必须用Tpi_Context FreeMemory来释放 接口定义: TSM_REsU1.TTspi_GetAttribData TSMHoBEECT hObject /in TSMFLAG atribFlag" in subFlag" TSMFLAG /in UINT32 pulAttribDataSize. / out / BYTE" prgbAttribData out 输人参数描述: -hObject需要获取属性的对象句柄 -atribFlag需要获取的属性标记 subFlag需要获取的子属性标记 输出参数描述: -pulAttribDataSize 取得的rgbAttribData参数的大小以字节为单位) 若参数 rgbAtribData为一个TSM_UNIcODE字符串,则该大小还包括结束符NULL prgbAttribData 此参数指向一个存放获取的属性值的缓冲区 属性定义见表3 表3获取属性定义表 属性 子属性 属性值 TSMTSPATTRIB_C(ONTEXT 提供TSM运行的机器名,是一个以NULL结束的TSM _MNCHINE_NAME UNcoDE字符串 返回参数: TSMsUCCESs TSM_EINVALID_HANDLE 22

信息安全技术可信计算密码支撑平台功能与接口规范GB/T29829-2013

可信计算是指通过硬件、软件和协议等多方面的技术手段,保证计算系统的安全性、可靠性和正确性。可信计算密码支撑平台则是可信计算技术的重要组成部分。它主要负责管理密钥、加解密操作等关键功能,确保计算系统的安全性。

GB/T29829-2013是我国制定的可信计算密码支撑平台功能与接口规范标准,其中包括了密码支撑平台的相关规范。根据该标准,密码支撑平台必须满足以下条件:

  • 支持安全启动和可信度量。
  • 支持密钥管理和保护。
  • 支持高效的加解密操作。
  • 支持密码算法的灵活配置和更新。

除了以上基本要求之外,密码支撑平台还需要满足诸如单点登录、数据完整性保护、远程认证等更高级的安全需求。为此,GB/T29829-2013标准也规定了一些可选功能和接口。

密码支撑平台的应用范围非常广泛,包括金融、电子商务、社会保障等多个领域。它可以为各种类型的计算系统提供安全保障,有效地避免黑客攻击和数据泄露等风险。

总之,可信计算技术是信息安全领域中的重要技术手段之一,而密码支撑平台则是实现可信计算的关键组成部分。GB/T29829-2013标准为密码支撑平台的应用提供了明确的规范和指导。

和信息安全技术可信计算密码支撑平台功能与接口规范类似的标准

信息安全技术术语

信息安全技术可信计算规范可信连接架构
上一篇 本文分享国家标准信息安全技术可信计算规范可信连接架构的全文阅读和高清PDF的下载,信息安全技术可信计算规范可信连接架构的编号:GB/T29828-2013。信息安全技术可信计算规范可信连接架构共有148页,发布于2014-02-01
危险货物运输爆炸品的认可和分项试验方法
本文分享国家标准危险货物运输爆炸品的认可和分项试验方法的全文阅读和高清PDF的下载,危险货物运输爆炸品的认可和分项试验方法的编号:GB/T14372-2013。危险货物运输爆炸品的认可和分项试验方法共有60页,发布于2014-05-012013年第22号公告 下一篇
相关推荐