TA远程证明
鲲鹏BoostKit机密计算提供的是一个用于保护客户的数据在使用中的安全的环境,当这个可信执行环境被部署到云上,即离开了数据提供方的信任域时,就要提供技术手段供数据提供方确认远端处理其数据的应用的可信,这个技术手段即远程证明。
远程证明在原理上,是由TEE的可信基对TA的完整性进行背书, 鲲鹏BoostKit机密计算TEE的可信基为TEE OS+AIK,其中AIK(Authentication Identity Key)由鲲鹏CPU硬件保护,并且只有TEEOS可以访问。
远程证明要求证明方(即TEE可信基)至少向挑战方(数据提供方)提供以下两类证据。
- 身份(证明TA运行在TEE平台上的机密区域内)。
- 完整性 (证明TA在使用过程中是没有被篡改的)。
- 为方便数据提供方校验以及查看报告,鲲鹏BoostKit机密计算提供了校验库。
- 数据提供方在使用该校验库时,为了使用该库,需要为校验库配置AIK公钥证书、TA的度量基线文件。其中TA的度量基线可以通过SDK中的构建工具自动化输出。
- 在计算节点,ISV应用CA可直接集成QCAlib,或将QCAlib封装成service后部署,为数据提供方的客户端提供证明服务。
- 业务运行过程中,对TA的证明由数据提供方发起,并且不限时机。
- ISV的CA通过QCAlib将挑战转交到TEE内的QTA(Quoting Trusted Application),入参中包括被度量的TA的标识。
- QTA调用TEEOS提供的度量接口,对目标ISV TA发起动态度量。度量是由iTrustee直接发起,ISV TA并不需要参与和感知。
- QTA获得度量值后,生成远程证明报告,并使用AK对报告签名,之后将报告由QCAlib返回数据提供方;AK由TEE OS动态生成(可选的,也可通过Attestation Service服务器下发AK证书,采用群签名签发方式下发。此特性自TEE OS 1.3.0版本支持),并由AIK签名。
- 数据提供方获得报告后,可通过Verifier完成报告校验,并获取报告信息。数据提供方可根据自己的证明实施策略,决定哪些字段为关键信息以及是否需要严格匹配,决策是否要信任该TA。
父主题: 关键功能