欢迎来到学术参考网

可信计算中的密钥管理技术研究

发布时间:2015-07-11 10:02
摘 要 可信计算的技术基础是公开密钥技术,公钥体制中密钥管理体系的安全性直接关系到整个可信计算平台的安全程度。其中EK、SRK、AIK等三类密钥管理是重点。本文着重分析了密钥的分类和结构,提出了密钥管理系统模型,基于该模型对所涉及密钥的生成、存储和销毁等重点环节进行了研究。
关键词 可信计算;密钥;密钥管理

1 引言

传统的安全保护基本上以软件为基础,附以密钥技术,侧重以防为主。事实证明这种保护并不是非常可靠而且存在着被篡改的可能性。因此,在我国目前硬件、操作系统、安全等许多关键技术还严重依赖国外的情况下,对可信计算的要求迫切地摆在用户的面前。可信计算不同于传统的安全的概念,它将加密、解密、认证等基本的安全功能写入硬件芯片,并确保芯片中的信息不能在外部通过软件随意获取。
在可信平台中,TPM等硬件是“信任根”,信任的建立是“链式展开”,从而实现身份证明、平台完整性度量、存储保护、远程证明等。这些功能的实现大多与各种密钥密切相关。比如,EK实现平台惟一身份标识,是平台的可信汇报根;SRK实现对数据和密钥的存储保护,是平台的可信存储根[1];AIK代替EK对运行环境测量信息进行签名从而提供计算平台环境的证言等等。可以说可信计算的技术基础就是公开密钥技术,公钥体制中密钥管理体系的安全性直接关系到整个应用系统的安全程度。因此,作为密码系统基本要素之一的密钥管理的好坏直接决定整个可信计算平台本身的安全性,是实现终端可信的核心环节,在整个可信计算体系中占有举足轻重的地位。

2 密钥的分类和结构

可信计算平台中用到的密钥分成以下几类:
1) 背书密钥EK(Endorement Key)
对应公钥、私钥分别表示为PUBEK、PRIVEK。其中私钥只存在于TPM中,且一个TPM对应惟一的EK。EK可以用来表明TPM属主身份和申请“证言身份证书 ”时使用,并不直接提供身份证明。
2) 存储密钥SK(Storage Keys)
用来提供数据和其它密钥的安全存储。其根密钥为SRK(Storage Root Key), 每个可信计算平台只对应一个惟一的SRK。
3) 签名密钥(Signing Keys)
非对称密钥,用来对普通数据和消息进行数字签名。
4) 证言身份密钥AIK ( Attestation Identity Key)
对应一组公私密钥对,专门对来源于TPM的数据进行签名,实现对运行环境测量信息进行签名从而提供计算平台环境的证言。每个可信计算平台没有限制AIK密钥的数量,但必须保证AIK密钥不会重复使用。
5) 会话密钥:加密传输TPM之间的会话。
在信息处理系统中,密钥的某些信息必须放在机器中,总有一些特权用户有机会存取密钥,这对密码系统的安全是十分不利的。解决这一问题的方法之一是研制多级密钥管理体制。在可信计算平台中,密钥分层体系如图1所示。
图1 密钥分层体系结构
SRK作为一级密钥(也称主密钥),存储在安全区域,用它对二级密钥信息加密生成二级密钥。依次类推,父节点加密保护子节点,构成整个分层密钥树结构。在密钥分层树中,叶子节点都是各种数据加密密钥和实现数据签名密钥。这些动作都应该是连贯的密箱操作。相比之下,纯软件的加密系统难以做到密箱操作。但如果把主密钥、加密算法等关键数据、程序固化在硬件设备TPM中,就能解决密箱操作的难题。
在整个密钥体系中,每个密钥在开始创建的时候都指定了固定的密钥属性。密钥按照属性不同分为:可移动密钥(Migratable Key)、不可移动密钥( Non- Migratable )。可移动存储密钥并不局限于某个特定平台,可以由平台用户在平台之间互换而不影响信息交互。不可移动密钥则永久与某个指定平台关联,任何此类密钥泄漏到其它平台都将导致平台身份被假冒。不可移动密钥能够用来加密保护可移动密钥,反之则不行。

3 密钥管理系统(KMS)模型

密钥管理是可信计算实现技术中的重要一环,密钥管理的目的是确保密钥的真实性和有效性。一个好的密钥管理系统应该做到:
(1) 密钥难以被窃取。
(2) 在一定条件下窃取了密钥也没有用,密钥有使用范围和时间的限制。
(3) 密钥的分配和更换过程对用户透明,用户不一定要亲自掌管密钥。
在可信计算平台中,密钥管理基于安全PC平台和PKI/CA。其中CA由证书生成和管理两部分组成。证书生成包括用户公钥证书和私钥证书的生成模块。证书管理主要响应公钥证书请求,CA为证书用户生成密钥对,请求作废一个证书,查看CRL,直接从证书服务器中接收有关CA密钥或证书的更新、CRL刷新和用户废弃证书通告等信息。CA可以是平台制造商、组件生产厂商或者可信第三方。在可信计算平台中所产生的密钥对有些永久存在于TPM之中,有些可以存储于外部存储设备中。为了保证可信计算平台中不同类型密钥生成、管理、存储等过程中的安全性,加强对各种密钥的系统管理,提高可信计算平台自身的安全性,本文依据可信计算平台自身安全需求,针对可信计算平台中分层密钥管理体系结构,提出了一种系统化密钥管理模型,结构如图2所示 。
图2 基于CA的密钥管理系统
1) 密钥生成服务器
由三部分组成,密钥发生器、密钥检测控制器和密钥制作设备。负责各种密钥的产生、检测、选取和制作。密钥的制作是按照一定格式和规定,将密钥写入载体。根据密钥类型不同,密钥生成服务器产生密钥的方式也不相同,但必须保证密钥生成服务器与可信计算平台紧密相关,共同负责密钥安全。
2) 密钥库服务器
密钥库服务器是密钥管理服务系统的重要基础设施,密钥库中的数据应加密存放。可与缓存管理器配合,在密钥管理服务器的管理下实现数据保护密钥在TPM存储载体中的调入调出。
3) 密钥管理服务器
它是密钥管理系统的核心,是密钥管理系统所有操作的出入口包括密钥管理和密钥发送,接收CA的密钥管理请求,发送相应的密钥信息。
4) 密钥缓存管理器
实现对数据保护密钥中的Key Blob以及由SRK分级保护的层次密钥的管理,管理TPM中有限的存储资源。

4 基于KMS的密钥管理方案

可信计算平台中密钥包括多种类型,不同类型密钥具有不同的安全需求,特别是密钥的产生、传输、存储、备份、销毁等主要环节。为了便于管理,增强可信计算平台中各种密钥的安全性,围绕密钥管理系统模型,本节深入研究了各类密钥的管理方案。

4.1 背书密钥EK

EK是TPM中最核心的密钥,它是TPM的惟一性密码身份标识。基于EK本身的重要性,在产生EK时基于以下几个前提:
(1) EK在最初创建时就必须是保密的。
(2) EK创建时,设备必须是真实的并且是没有被篡改的。
(3) 密码算法的弱点不会危及该秘密信息的安全。
(4) 设备的各项操作不会导致EK的泄露。
EK可以通过密钥生成服务器,采用两种方法来产生:一是使用TPM命令,TCG规范定义了一组背书密钥操作命令,其中创建背书密钥对的命令为:TPM_ CreateEndorsement KeyPair,产生密钥长度要求至少2048位;另一种方法是密钥“注入”技术,在信任制造商的前提下,由TPM制造商产生背书密钥对,然后采用人工方式注入,注入的方法有:键盘输入、软盘输入、专用密钥枪输入等。对比这两种方法,前者必须依赖硬件中提供受保护的功能(Protected Capability)和被隔离的位置(Shielded Location),从而保证在设备内部产生密钥对,而且密钥对是在篡改保护的环境下产生,能够很好地减少密钥对泄露的风险;后者则对环境、管理和操作方法要求较高,首先密钥的装入过程应当在一个封闭的环境下进行,不存在可能被窃听装置接收的电磁泄露或其它辐射,所有接近密钥注入工作的人员应该绝对可靠。采用密钥枪或密钥软盘应与键盘输入的口令相结合,并建立一定的接口规范,只有在输入了合法的加密操作口令后,才能激活密钥枪或软盘里的密钥信息。在密钥装入后,应将使用过的存储区清零,防止一切可能导出密钥残留信息的事件发生。
在TPM中,可以采用篡改检测电路和篡改检测协议技术,确保当攻击者试图采用物理攻击时TPM内的秘密信息(包括EK)将自动销毁。同时采用硬件锁机制,建立受保护页面来防止特权软件****或者修改秘密信息,保证秘密信息的隐私性和完整性。这样,EK从开始生成之后,一直到销毁的整个生命周期内都能够安全存储在TPM的非易失性存储设备中,永远不会泄露给外界。

4.2 证言身份密钥AIK

出于安全和隐私保护方面的考虑,并不直接使用EK来进行数据加密和身份证明。而是采用一种“间接”证明的方式,由EK通过隐私CA生成身份证明密钥AIK用来证明平台身份。AIK是一个签名密钥,TPM使用AIK来证明自己的身份,凡是经过AIK签名的实体,都表明已经经过TPM的处理。
1) AIK密钥的产生
在AIK密钥产生过程中,需要可信第三方PCA(Privacy CA)的支持。在具体应用过程中,为使远程依赖方信任,平台必须想办法将这些签过名的声明和Hash值与PCA信任的某些东西绑定。TCPA/TCG体系结构通过一组证书来达到这个目标:
■ TPM背书证书(Endorsement Credential)
由TPM制造商签发的X.509属性证书,用于证明一个TPM模块正确实现了TCG的TPM规范所规定的各种功能。
■ 平台证书(Platform Credential)
用来声明、证言一个集成有TPM和RTM的计算平台符合TCG规范,一般由计算机平台制造商签发,X.509属性证书。
■ 符合性证书(Conformance Credential)
用来声明、证实一类计算平台的实现符合TCG的哪些规范,符合哪些安全要求,X.509属性证书;它与平台证书的区别在于,平台证书是针对一个具体、特定平台的,而符合性证书是针对一类平台。
图3是AIK密钥通过安全PC平台和CA交互的产生过程。过程描述
(1) TP→PCA:IdPub,EndCred,PlaCred,ConCred,Sign(IdPri,Hash);
(2) TP←PCA:Enc(EndPub,IdCred)
首先由TPM在密钥生成服务器产生一对身份密钥(IdPub,IdPri),把公钥IdPub和证书EndCred、PlatCred、ConCred一起绑定发送给PCA。为了把请求与身份密钥对绑定,由TPM运算得到PCA公钥的哈希值Hash,再使用AIK的私钥IdPri对刚产生的Hash加密,产生数字签名Sign也一起发送给PCA。PCA接收到所有请求,验证签名和证书是否正确,若正确则根据AIK公钥生成一个AIK证书,并由PCA私钥对该证书进行签名,再由EndCred证书得到EK的公钥对AIK证书进行加密,从而保证只有特定的TPM才能解密。AIK证书被发送回平台,通过EK解密证书。至此,一个完整的AIK的产生过程就完成了,这个AIK就可以开始使用了。但是PCA很容易遭受Dos攻击,文献提出了有选择地接收AIK申请请求的解决方案。

图3 AIK密钥创建过程
2) AIK密钥的存储
AIK在整个身份证明过程中不能重复,而且每次证明过程中都需要重新生成新的AIK密钥,所以AIK私钥不需要常驻TPM,可以保存到密钥库服务器中。当需要AIK时,使之并行加载到TPM的易失性存储设备中。
3) AIK密钥的销毁
当出现AIK私钥泄露,TPM EK私钥遭受攻击安全性受到威胁,或者AIK证书泄露与相关EK证书的关系(实际上AIK不应暴露EK的任何信息)等情况时,AIK应该被销毁,同时相应证书应该被撤销。PCA应该被告知该AIK私钥已经不再安全,CA必须采取措施,撤销用户证书或者使它无效,并警告证书使用者,该证书不再代表一个可信身份。同时更新证书CRL服务中的撤销证书列表。但与PKI不同的是,AIK证书与背书证书的关系密切,在AIK证书撤销时要决定相关证书的处理,情况比较复杂。文献[10]对可信平台中的证书撤销机制有比较深入的讨论。

4.3 数据保护密钥

由于TPM本身存储能力有限,可信计算平台中处理的数据必须能够存储在TPM之外的存储媒介中,这样使得数据不但可以在不同的计算机设备之间交互,同时还能够实现数据备份。但必须为存储在TPM之外的这类数据提供数据保护,这里数据保护包括数据传输保护和存储保护。在TPM中,当数据量小于2048位时,直接利用TPM中的RSA算法实现加解密;当数据量大于2048位时有以下两种解决方案[11]:
(1) 平台生成一次一密的对称加密密钥(小于2048位)加密数据,然后利用TPM保护该对称密钥。
(2) 把数据分成一些小的数据块(最大不超过2048位),然后直接由TPM加密。
通常采用第一种方法,特点是方便、迅速。所以数据加密保护的重点就是该加密密钥的存储保护。密钥存储时必须保证密钥的机密性、认证性、完整性,防止泄露和修改。加密设备还应做到:无论通过直观的方法还是自动的方法(如X射线、电子等)都不能从密码设备中读出信息。对当前使用的密钥应有密钥合法性验证措施,防止被篡改。密钥保护实现方案如图4。
  
图4 密钥存储保护结构
通常采用密钥分层保护的思想,由TPM属主生成存储根密钥SRK,使用SRK来加密存储其它密钥。从方案可以看出,外部数据(VPN Key,FEK等)采用密钥K加密,而密钥K利用上层密钥K-1加密保护,最后SRK加密保护K-1。被加密的数据构成Data Blob直接存储在外部存储设备中,而Key Blob以及由SRK分级保护的层次密钥由密钥缓存管理器KCM(Key Cache Manager)进行管理[12],把某段时间内不活动的密钥调度到外部存储设备中。
整个密钥存储保护过程中最重要的是保护SRK的安全,它和EK密钥一样永久驻留在TPM中,由TPM保护SRK,能够抵抗各种物理攻击和软件攻击。

5 小结

EK、SRK和AIK等各类密钥在可信计算平台身份证明、平台完整性测量、存储和报告中起着非常重要的作用,保证其安全性是实现可信计算的重要环节。本文对可信计算所涉及到的各类密钥的产生、管理、存储和保护措施等相关技术进行了研究,提出了一种密钥管理系统模型,结合模型详述了密钥管理的整体方案,依据该方案能够更好地保证可信计算平台的安全,使得可信计算平台在计算机世界里发挥更加重要的使用。

参考文献

[1] TPM Main Part1 Design Principles [EB/OL]. http://. 2003.10
David Grawrock..TCG101[R].ICICS2005.2005
韦卫,杜炜等.构造基于X.509公钥证书的密钥管理系统[J].计算机工程.1999.10:133-135
邢启亮,陈晓苏.密钥管理服务及其在PKI中的设计与实现[J].通信技术.2003.4:93-94.
TPM Main Part3 Commands [EB/OL]. http://www. . 2003.10
TCG Credential Profiles Specification Version 1.0 [EB/ OL]. http://. 2006.1
Sean 着,冯登国,徐震等译.可信计算平台:设计与应用[M]. 北京:清华大学出版社.2006.10: 61-71
龙毅宏.可信计算中的数字证书[J].信息网络安全.2004.10:35-38
郭煜.TPM中身份证明密钥的管理[J].信息安全与通信保密,2006,(4):76-78
[10] Jason Reid,juan ez Nieto,Ed Dawson. Privacy and Trusted Computing. Proceedings of the 14th International Workshop on Database and Expert Systems Applications (DEXA’03). IEEE. 2003:1-6
[11] Sundeep d Platform Module (TPM) based security on Notebook PCs-white Paper[J].Intel Corporation. 2002.6
[12] TCG Specification Architecture Overview [EB/OL]. http:// .2003. 04

上一篇:一种基于离散小波变换的稳健的混淆盲视频水印

下一篇:流媒体技术及其在远程教育中的应用