可信性验证的原理,是基于可信内容的“可信计算”,以及对该计算结果的验证。
1.“可信计算”内容
可信计算”内容可从以下这些方面认识。
①可信平台模块是可信根源。
可信平台模块TPM为可信计算平台的可信根源,用它保护计算设备,故基于该硬件底层的参数是可信的。
②正确的平台软硬件配置。
平台软硬件配置的正确性参数是可信的。
③正确的应用程序身份参数。
正确的应用程序身份参数,体现了它的完整性与合法性,因而是可信的。
④平台之间的可验证性。
网络环境下,一个平台对于另一个平台基于以上参数是可验证的,因此是可信的。
2.可信计算
“可信计算”开始系统上电启动,包括运行程序上电自检,对系统的几乎全部硬件进行检测,由TCPA标准,在自检过程中,全部硬件应给出一致性数字证书,借助它检验硬件的合法性。还要验证操作系统加载的合法性。
在启动程序前,也要验证应用程序的身份,只有通过验证,才可正常启动。“可信计算”完成后,整个系统的信任区域延伸至应用层,从而使得整个系统是可信赖的。
首次启动记录存在PCR中,之后每一次系统测量后,对测量值与PCR进行处理:PCR[n]←SHA-1(PCR[n]+MeasuredData)。这里,MeasuredData是本次的测量值,它串联在PCR的当前值之后。
如此,PCR留存了当前值与每一次测量值的Hash值,这样留下历史记录。之前的启动记录,加密后存在外部存储设备的日志里。
3.可信验证
可信验证是比较可信内容的“可信计算”结果MeasuredData,分析本次与上次测量值是否有变化,从而分析改变是否合理,同时验证Hash码有否被篡改。网络环境下,一个平台对另一个平台基于以上参数的验证含如下步骤。
①用非对称加/解密PCR,包括验证签名。
②验证通过后,建立对称加/解密会话通道。