T-GCC 1006-2025 机密计算远程证明服务技术要求_第1页
T-GCC 1006-2025 机密计算远程证明服务技术要求_第2页
T-GCC 1006-2025 机密计算远程证明服务技术要求_第3页
T-GCC 1006-2025 机密计算远程证明服务技术要求_第4页
T-GCC 1006-2025 机密计算远程证明服务技术要求_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

准机密计算远程证明服务技术要求2025-10-17发布2025-10-17实施全球计算联盟发布I 12规范性引用文件 13术语和定义 14缩略语 25远程证明服务架构和工作机制 26机密计算远程证明服务详细使用流程要求 57技术要求 8附录A(资料性)证明策略与令牌示例 21附录B(规范性)特定声明 参考文献 本文件按照GB/T1.1—2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定起限公司、中国电子技术标准化研究院、杭州诺崴信息科技有限公安谋科技(中国)有限公司、飞腾信息技术有限公司、杭州安恒信息技术股份有限公司、希奥端计算技本文件主要起草人:张磊、严志超、金意儿、于攀、周建平1本文件给出了机密计算远程证明服务的架构和工作机制,规定了机密计算远程证明服务的技术要安全机制。期望被证明的包含一个可信执行环境或同时连接若干个异构TEE外设的机密计算节点。2AS:证明服务(AttestationServices)CA:证书颁发机构(CertificateAuOID:对象标识符(ObjectIdentifier)机密计算远程证明是机密计算中一个重要环节,主要作用是证明机密应用运行在用户预期的可信验证令牌图1远程证明服务整体构成和工作机制图如图1所示远程证明服务应由第三方权威机构背书、策略引擎、硬件报告评估、证明结果签发、远程证明统一接口和远程证明服务客户端六大部分组成:a)第三方权威机构背书:通过接入第三方权威机构的证书体系,来对远程证明服务签发的证书、令牌等证明结果签名,以提高远程证明服务的权威性;b)策略引擎:提供采用标准格式的通用语法来定义允许获取证明结果的策略信息,并进行评估。该策略信息可设置硬件报告中包含的信息,从而保障证明结果仅可颁发给符合策略定义的证明者;c)硬件报告评估:提供不同体系架构的硬件报告评估插件接入标准,从而实现对不同的TEE和异构TEE外设的硬件报告开展硬件报告真实性的校验;证明结果签发:基于标准格式提供证书、令牌和分发秘密等证明结果的签发功能;d)证明结果签发:基于标准格式提供证书、令牌和分发秘密等证明结果的签发功能;e)远程证明统一接口:屏蔽不同TEE与异构TEE外设之间的差异,规范远程证明所需的接口规范,包括接口名称、接口协议等,提供获取令牌、获取证书、获取密钥、策略设置、策略删除等统一的远程证明接口;f)远程证明服务客户端:提供客户端,界面等让用户设置远程证明服务策略、秘密等。该技术功能为可选项。5.3整体工作机制根据图1,机密计算远程证明的工作机制为:a)设置策略:依赖方或者中立审计人员向远程证明服务设置合法的硬件报告评估策略或相应的4b)提交硬件报告:证明者是远程证明的发起者,通过调用TEE平台或异构TEE外设提供的接口获取硬件报告,并根据远程证明服务规范的统一接口将硬件报告提交给远程证明服务。c)报告评估:远程证明服务对提交的硬件报告使用硬件厂商提供的背书开展验证评估,确认硬件报告的有效性。d)策略评估:若报告评估校验通过,则提取硬件报告中的基线、度量值等硬件信息,并与策略引擎中设置的策略值开展评估。否则直接返回报告评估失败。e)签发结果:若策略评估成功,则根据证明者的请求信息,签发对应的证明结果,并返回给证明者。在令牌和证书的证明结果中都将嵌入提取到的硬件信息。f)验证令牌:如果证明者获取的是令牌,则可进一步携带令牌向依赖方请求敏感数据,依赖方收到令牌后,利用远程证明服务提供的CA证书,验证令牌的真实性,并提取令牌中的硬件信息,信息都符合预期后,将敏感数据返回给证明者。56机密计算远程证明服务详细使用流程要求6.1使用模式根据RemoteATtestationprocedureS(RATS)Architecture的定义,远程证明服务的使用流程分为背调模式和护照模式。6.2背调模式审计方证明者远程证明服务依赖方设置策略返回临时随机数校验报告真实性返回令牌获取硬件详细信息(仅可信集群令牌)6图2机密计算远程证明服务使用流程图-背调模式a)审计方应使用客户端或者调用策略设置接口(7.5.2)向远程证明服务设置策略;b)证明者可调用远程证明服务提供的获取临时随机数接口()获取临时随机数(可选);c)证明者可取得临时随机数(可选);e)证明者应携带硬件报告访问依赖方的获取敏感f)依赖方应调用远程证明服务提供的证明相关接口(.1、.1、.2),向远g)远程证明服务应校验硬件报告的真实性,若校验不h)远程证明服务可提取报告中的随机数信息并校验其正确性(可选),若校验不通过则返回错误;回错误;k)依赖方应获取远程证明服务的证书(通常是提前在远程证明服务的平台下载);1)依赖方应使用证书验证令牌的真实性,若令牌验证失败或过期则返回错误;应的硬件信息(可选);n)依赖方可对嵌入在令牌中的硬件信息或者获取的硬件信息进返回错误(可选);o)依赖方根据令牌中的策略标识,可调用远程证明服务的策略详情接口获取策略信息(可选);p)依赖方可对返回的策略进行验证,若验证失败则返回错误(可选);7审计方远程证明服务证明者依赖方设置策略获取临时随机数返回临时随机数生成硬件报告,并将临时随机数嵌入报告中调用远程证明接口请求令牌校验报告真实性校验临时随机数正确性解析报告并进行策略评估返回令牌携带令牌调用依赖方接口获取远程证明服务的证书验证令牌的真实性获取硬件详细信息(仅可信集群令牌)返回硬件详细信息,并验证根据令牌中的策略ID,获取策略详情返回策略详情,并验证返回敏感信息图3机密计算远程证明服务使用流程图-护照模式a)审计方应使用客户端或者调用策略设置接口()向远程证明服务设置策略;b)证明者可调用远程证明服务提供的获取临时随机数接口()获取临时随机数(可选);c)证明者可取得临时随机数(可选);8e)证明者应调用远程证明服务提供的证明相关接口(.1、、.2),向远程g)远程证明服务可提取报告中的随机数信息并校验器正确性(可选),若校验不通过则返回错误;h)远程证明服务应解析硬件报告并将硬件信息发送给策略引擎开展策略评估,若评估不通过j)证明者应携带令牌访问依赖方的获取敏感信息的接口;k)依赖方应获取远程证明服务的证书(通常是提前在远程证明服务的平台下载);1)依赖方应使用证书验证令牌的真实性,若令牌验证失败或过期则返回错误;应的硬件信息(可选);n)依赖方可对嵌入在令牌中的硬件信息或者获取的硬件信息进行验证,若硬件信息不符合预期则返回错误(可选);o)依赖方可根据令牌中的策略标识,调用远程证明服务的策略详情接口获取策略信息(可选);p)依赖方可对返回的策略进行验证,若验证失败则返回错误(可选);q)若验证都符合预期,则应返回敏感信息给证明者。用户可通过远程证明服务提供的策略引擎设置策略,策略引擎应使用Rego策略语言用于描述远程9如图4所示,策略引擎规则可用于筛选可信节点与可信集群,针对策略引擎输入信息(即硬件报告信息)进行评估,流程见图3。用户可通过远程证明服务提供的策略引擎,使用标准的Rego策略语言设a)可信节点JSON根字段名称应为trusted_node,描述示例见A.2b)trusted_node应包含一个可信执行环境描述结构(定义字段名为tee)和一个异构TEE外设描述数组(定义字段名为trusted_hetero_devices)。c)tee中的参数名应唯一,策略引擎应拒绝包含重复参数名的tee,各参数定义见表1。其中不说明字符串type>来表示。自定义该tee中包含的信息,应采用d)trusted_hetero_devices中的参数名应唯一,策略引擎应拒绝包含重复参数名的tee,各见B.2。说明字符串自定义该异构TEE外设的声明,标准采用规范key值。策略引擎输出应满足本文件规定的使用match_node关键词变量作为策略评估后的最终输出,具体输出结果见表3。根据Rego的语法,一个策略文件中可根据需要定义多个规则,但规定如果match_node=true,则说明满足整说明JSON体和一个签名组合而成,包括头部、主体和签名,这三部分应通过点号(.)分隔,具体格本文件规范可信节点令牌、可信集群令牌和可信集群中的节点令牌3种令声明签名算法,如RS256、ES256等(详见)JSONWeb密钥集URT。包含由kid标识的JSON编码的公有令牌签名密钥的url地址。用于对令牌进行签名的签名密钥的证书ID。令牌内容类型,固定JWT。声明令牌过期时间“Notbefore”-不得接受令牌进行处理的时间声明json格式的用广数据远程证明服务获取的nonce信息c)策略信息中的参数名应唯一,各参数定义见表7。策略信息声明(key值:p声明d)可信节点信息中的参数名应唯一,各参数定义见表8。可信节点信息声明(key值T声明tee的硬件环境信息,具体参考B...2可信集群主体可信集群主体应包括JWT基础声明、策略信息、可信集群信息,其中JWT基础声明与可信节点一致,不再赘述。a)策略信息中的参数名应唯一,各参数定义见表9。策略信息声明(key值:policy_infos)应包含若干组符合该令牌颁发的策略信息。声明b)可信集群信息中的参数名应唯一,各参数定义见表10。可信集群信息(key值:trusted_cluster)应包含集群中所有可信节点信息的hash值和获取地址。声明.3.3可信集群中可信集群中的节点主体应包括JWT基础声明、证明者信息、策略信息、可信节点信息,其中JWT基础声明、证明者信息和可信节点信息的声明都与可信节点一致,不再赘述。策略信息的参数名应唯一,各参数定义见表11。策略信息声明(key值:policy_infos)应包含若干组符合该令牌颁发的策略信息。声明签名部分应是包含头部和主体的签名,该签名采用远程证明服务的私钥或第三方权威机构背书的私钥生成。验证签名可确保令牌中的内容未被篡改,验证签名的参考证书可从令牌头部的jku(见表4)地址中通过kid索引获取。签名宜采用表12给出的算法。1远程证明服务证明结果可支持证书形式签发。证书应采用x509格式,应在证书的用于嵌入认证通过后签发的令牌。该证书使用远程证明服务的私钥或第三方权威机构背书的私钥进行 远程证明服务证明结果可支持秘密形式分发。秘密应使用JSON格式,可为任意JSON格式数据,如:"secret":"00112233445566778"secret":"00112233445566778远程证明服务可通过第三方权威机构背书来增加服务的权威性。远程证明服务方可通过向权威机远程证明服务应提供规范的TEE报告评估接口以及插件化的接入机制,支持不同的TEE报告评估插硬件报告在签发时可支持嵌入用户自定义数据用来确保该数据的真实性与务为了防止重放攻击,宜将远程证明服务的临时随机数信息嵌入到硬件报告在硬件报告中实际嵌入的是临时随机数与base64格式的自定义数据拼接后的sha256哈希值,在调用证明接口时,应将临时随机数与其他自定义数据作为参数携带,由远程接口名式可信节点远程证明数据类型值无硬件报告无tee的类型(tee-type)无硬件报告(basc64格式)→I无无设备类型→→无设备硬件报告(base64格式)无无硬件报告中的userData中hash值对应的实际数据(base64格式)无格式)无额外参数,如virtcca中需添加aik证书无事件日志(通常用于tpm的日志验证)无无响应体值无无接口名数据类型无无tee的类型(tee-type)无硬件报告(base64格式)→I无异构TEE外设认证报告无设备类型→→无设备硬件报告(base64格式)无无应的实际数据(basc64格式)无(basc64格式)无书无无获取的nonce值无响应体无无.3获取x509证书接口要求(可选)接口名式数据类型无认证信息无无tee的类型(tee-type)无硬件报告(base64格式)→→无异构TEE外设认证报告无设备类型无设备硬件报告(base64格式)T→一→parameter无无证书公钥(base61格式)无(base64格式)无书→一→event_log无事件口志(通常用于tpm的口志验证)无无无无无过期日期(年)响应体无无无无接口名数据类型无rcgo策略文件(basc64格式)无响应体无无接口名式数无响应休无信息无policy信息(base64格式)接口名式用于删除策略信息数无响应体无无接口名式用于可信集群远程证明数据类型T无点即返回有节点扩展:无无无tec的类型(tec-typc)无硬件报告(base64格式)→无异构TEE外设认证报告无设备类型→→I无设备硬件报告(base64格式)无无应的实际数据(base64格式)无(base64格式)无书无无获取的nonce值无响应体无无.2集群节点证明接口要求本接口用于证明者向远程证明服务获取可信集群中节点可信令牌,具体接口参数见表20。接口名/attest/cluster/node/{c式用于可信集群远程证明数据类型无无tee的类型(tee-type)无硬件报告(base61格式)→无异构TEE外设认证报告无设备类型→→无设备硬件报告(base64格式)无无应的实际数据(basc64格式)无(base64格式)无书无事件日志(通常用于tpm的日志验证)无响应体无无接口名数据类型无响应体无无T本接口用于添加策略到集群策略组,具体接口参数见表22。表22集群策略组策略添加接口参数定义接口名/trustedcluster/policygroup/{:cluster_无数据类型无rego策略文件(base64格式)无响应体无无.3集群策略组策略移除接口要求本接口用于从集群策略组中移除可信节点策略,具体接口参数见表23。接口名/trustedcluster/policygroup/{:cluster_id}/policy/{:po式数无无响应体无无.4获取集群策略组中的策略接口要求本接口用于获取集群策略组中的策略详情,具体接口参数见表24。接口名/Lrustedcluster/policygroup/{:c式2数无响应体无无策略组信息无无无7.5.3公共接口获取临时随机数接口要求本接口用于获取临时随机数nonce,具体接口参数见表25。表25获取临时随机数接口参数定义接口名式响应体无无nonce数据无过期时间获取远程证明服务CA证书接口要求本接口用于获取远程证明服务CA证书,具体接口参数见表26。表26获取远程证明服务CA证书接口参数定义接口名响应体无allowed_node(input.trnode.tee.virtccarim=="123"device.nvidia_gpu_validated"trusted{2}"jku":","https://api.trus"kid":"5145ac411afb4e84a"iss":"trustclusterattes"jti":"0953df8d-cbb3-41b4-84"831D8DD0ADD203AC3D8B4FBDE75E115278EEFCDCEAC5B87671A"39a6971982937de78255b5c93d609f4b4b5214689ad0ddf868"policy_id":"9e9f15d9-5cab-422b-a"virtcca_challenge":"iirrtp____"37a4a04fe4cb21a80a81419eb4f7592f7271069727fb5eb859fd"000000000000000000000000000000000000000000000000000"virtcca"000000000000000000000000000000000000000000000000000"virtcca"000000000000000000000000000000000000000000000000000"ea21ccelbb836ca79784ac11a2fe288c671e5f62c288371"measres":"comparison"x-nvidia-attestation-deta"x-nvidia-gpu-attestation-report-cert-"x-nvidia-gpu-attestation-"x-nvidia-gpu-attestation-report-sign"x-nvidia-gpu-driver-rim-c"x-nvidia-gpu-driver-rim-driver-measure"x-nvidia-gpu-driver-rim-s"x-nvidia-gpu-driver-rim-sch"x-nvidia-gpu-driver-rim-signature-"x-nvidia-gpu-measu"x-nvidia-gpu-vbios-rim-c"x-nvidia-gpu-vbios-rim-measurem"x-nvidia-gpu-vbios-rim-s"x-nvidia-gpu-vbios-rim-sch"x-nvidia-gpu-vbios-rim-signature"x-nvidia-gpu-driver-vers"x-nvidia-gpu-manufacturer":"NVIDIACorpora"x-nvidia-gpu-vbios-version""jku":","https://api.trustc"kid":"5145ac411afb4e84}.{"iss":"trustclusterattestation"jti":"0953df8d-cbb3-41b4-840c-{"clusterid":"b57078ec-b921-4531-8a09-d82ee6405af3","39a6971982937de78255b5c93d609f4b4b5214689ad0ddf868e0"00fefc6a6880d3a1le05e6967b0aa2dc2952d1f15bd60b1"trusted_cluster_ur1":"https://api.trustcluster.cc/v1/trcbb3-41b4-840c-87635}2"iss":"trustcluster"jti":"0953df8d-cbb3-41b4-840"runtimedatajson":{"runtimedata":"thisism"cluster_id":"b57078ec-b921-4531"39a6971982937de78255b5c93d609f4b4b5214689ad0ddf868e0"5cf05077f8471c962748984db10a34487bce70343edfddf6375"policy_id":"de280670-c43b-49d9-a2"virtcca_challenge":"1"virtcca_pub_key":"308"37a4a04fe4cb21a80a81419eb4f7592f7271069727fb5eb859fd"0000000000000000000000000000000000000000000000000000"0000000000000000000000000000000000000000000000000000"000000000000000000000000000000000000000000000000000"ea21ccelbb836ca79784acl1a2fe288c671e5f62c2883718"ueid":"51226992516801803766091055113116303"x-nvidia-gpu-attestation-report-cert"x-nvidia-gpu-driver-rim-"x-nvidia-gpu-driver-rim-driver-measure"x-nvidia-gpu-driver-rim-sch"x-nvidia-gpu-driver-rim-sc"x-nvidia-gpu-driver-rim-signatu"x-nvidia-gpu-measurem"x-nvidia-gpu-vbios-rim-"x-nvidia-gpu-vbios-rim-measureme"x-nvidia-gpu-vbios-rim-measureme"x-nvidia-gpu-vbios-rim-sc"x-nvidia-gpu-vbios-rim-sche"x-nvidia-gpu-vbios-rim-signature-v,"x-nvidia-gpu-driver-versi"virtcca_challenge":"virtccapubkey":"30"virtcca_pub_key_hash_a"37a4a04fe4cb21a80a81419eb4f7592f7271069727fb5eb8"ea21cce1bb836ca79784ac11a2fe288c671e5f62c288371"x-nvidia-attestation-deta"x-nvidia-gpu-measur]"csvuserdata":"00,2"x-nvidia-attestation"x-nvidia-attestation"x-nvidia-gpu-measure1)评估接口VerifyTeeReport(report[]byte,parameterinterface{})(VerifyTeeGetUserData(resultVerifyTeeResult)(string,error)该接口用于获取报告中的用户自定义数据,由于不同的TEE通常对应的字段名不同,因此采用GetInitData(resultVerifyTeeResult)(string,error)(规范性)特定声明B.1TEE特定声明表B.1~表B.7规范了不同TEE环境描述字段的命名规则。采用<tee-type>_<keyN>来规范声明的key值,其中keyN值参考具体的TEE硬件厂商公开的硬件报告信息描述方式以下划线格式方式命名。复合节点SEV+TCM2.0声明哈希算法公钥virtcca_pub_key_hash扩展度量值0扩展度量值1扩展度量值2扩展度量值3声明声明鲜性freshnesscca-realm-extensible-cca-realm-personali用于区分具有相同Realm初始测量值(Rea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论