1. 引言
组播[1]是一种可以把一份报文同时发送给多个接收者的有效通信方式。与单播通信方式相比,组播通信有效的减少发送者的资源开销和节约网络带宽等优势。但是目前的组播协议缺乏可靠的安全机制,采用明文传输的组播报文方式在网络上很容易被篡改、监听和冒充。对组播报文加密传输是实现组播保密性和完整性的一种有效的方法。加解密所用的密钥只有组成员可以获得,这样确保了被加密的报文只有组成员才能解读。与单播的密钥管理方式相比,组播方式面临更多挑战,如前向安全(Forward confidentiality)、后向安全(Backward confidentiality)、同谋破解(Conspiracy attack)等是组播密钥管理特有的问题。
前向安全要求离开后的组成员无法继续参与组播,即无法利用它所知道的密钥解密后继组播报文。后向安全要求新加入的组成员无法破解它加入之前的组播报文。当组成员退出或者加入时,更新组密钥可以实现前向和后向安全,但是更新密钥时不仅要防止某个已离开的组成员破解新的组密钥,还要防止多个已离开的组成员联合起来破解,这就涉及到同谋破解问题。同谋破解是指几个组成员恶意联合,掌握足够多的信息,使得新的组密钥被破解,导致组播管理的前向安全和后向安全失败。为了解决这些问题,近年来提出的一些组密钥管理协议大多有更新密钥通信代价过大、安全性不高等问题,如GKMP (Group key Management Protocol)集中控制式组密钥管理方案[2-5],此方案的密钥更新方式无法做到前向安全,且密钥服务器遭到物理攻击后,容易泄露密钥等重要信息。基于树的LKH (Logical Key Hierarchy)密钥管理方案[6-8]中,密钥更新的通信等代价较大,也没有解决密钥的可信产生、可信存储等问题。基于OFT (One-way Function Tree)的组密钥管理协议[9-11],有效的减少了的密钥更新产生的报文,但是OFT协议无法抵抗同谋破解,且没有解决密钥的安全存储问题,还有一定的改进空间。为此本文提出了一种安全高效的组播密钥管理协议T-OFT (One-way Function Tree based Ternary Tree)。其安全性主要体现在借用可信安全模块(TPM)来安全的产生和保存密钥等信息,确保没有密钥信息显式的出现在TPM之外,保证了密钥的绝对安全;而其高效性体现在采用三叉树(Ternary Tree)的逻辑密钥结构,减少了密钥服务器存储密钥的数目,有效的降低了存储开销,且由于组成员的加入和退出导致的密钥更新代价为,降低了系统的通信代价。
可信安全模块(TPM)[12-14]是指在当前计算机架构上添加硬件模块及相应的软件,以构建一个操作系统体系之外的计算机安全平台,从而从根本上解决计算机的安全隐患。TPM可以提供随机数生成、加解密算法封装、密封存储、哈希函数、证书操作等功能,为许多对物理安全性要求较高的领域提供安全可信的保证。将TPM和T-OFT密钥管理结合起来,有效的解决了对密钥信息的安全存储和计算密钥时保证没有密钥显式出现在TPM之外,做到了密钥不出卡,保证了密钥服务器的物理安全性。
2. 基于T-OFT的组密钥管理协议
由于缺乏有效的权限控制和身份认证机制,组播通信方式使得任何用户都可以接收和发送组播报文,有效的限制方式是加密组播敏感数据,使得只有组成员即拥有组播密钥的成员才能解密获得数据内容。组播密钥管理协议就是负责为组成员生成和下发密钥,并在有成员加入和离开时更新密钥,以保证系统的前向安全和后向安全。组密钥本身的安全性至关重要,对组密钥长度、随机性、也有一定的要求,这里我们用TPM生成随机数用于生成组密钥。
2.1. T-OFT结构
为了解决组密钥管理中密钥更新代价大以及密钥的安全生成及存储问题,本文提出了一种基于T-OFT组密钥管理协议,下面介绍协议里需要用到了函数及其逻辑密钥树结构,逻辑密钥树结构我们采用三叉 树(Ternary Tree),与传统二叉树相比,可以减少密钥服务器(KS)存储的密钥数量,有效的降低了系统的存储开销。
• 单向函数:通常为密钥,密钥通过单向函数的隐藏了原始密钥的内容,这样虽然携带密钥信息,但是无法计算得到,在组内共享对密钥没有安全隐患,在本协议中我们用可信安全模块(TPM)中提供的哈希函数作为单向函数。
• 普通混淆函数:该函数输入为三个数a、b、c,经过函数得到一个值,无法从的值退出a、b或c的值。
• 辅助密钥:用于生成组密钥,防止同谋破解
• 图1为高度的T-OFT逻辑密钥树,各成员可以通过下面的公式计算得到各个节点的密钥:
(1)
其中是节点的左中右孩子节点密钥,我们称为节点的单向密钥信息,公式中的密钥以及单向函数都是在TPM中计算完成的,保证了密钥不会在计算过程中暴露在内存里。
在T-OFT结构中,各个节点的密钥都是相互依赖的。每个组成员拥有一定的单向密钥信息。根据以上公式可以计算出各个节点的密钥分别为:
Figure 1. T-OFT logical key tree
图1. T-OFT逻辑密钥树
从而得到密钥为:
最后求出组密钥:
(2)
如组成员u1拥有其兄弟节点的单向密钥信息以及其祖先的兄弟的单向密钥信息,即、、、以及自己的节点密钥,就可以求得组密钥
这里,密钥服务器和组成员都是通过计算获得组密钥。
最后,对协议中用到的一些符号做一个定义和说明:
:单播
:组播
:通过安全信道
:请求TPM生成随机数
:第个组成员
:用密钥给加密
2.2. 密钥生成与下发
密钥管理包括安全的生成和下发密钥、密钥信息的安全存储以及安全的更新密钥等工作。密钥生成与分配主要是指密钥服务器如何安全的生成密钥并将密钥分配给各个用户,以组成员数为例,主要流程如下:
1) KS:TPM,
2) KS:,
3) KS在TPM中计算单向密钥信息,,再根据计算出、、。
4) KS给各个组成员下发单向密钥信息用于各自计算出密钥,如组成员下发消息结构如下:KS:同理给其他组成员下发密钥信息,并用其加密保护。
5) 各组成员收到单向密钥信息后,根据公式(1)求得密钥以及其对应的叶节点到根节点路径上的各个密钥。
6)KS:TPM
7) KS:
各成员根据公式(2)求得组密钥。
8) 最后KS请求其TPM封存,,,,,,,,以保证系统的物理安全性。
这样,经过1~8步,就完成了各个组成员密钥的生成和下发以及组密钥的生成和下发。
2.3. 成员退出
当组成员退出该组时,为了保证之后的组播信息不能被已退出的成员通过它拥有的密钥解密获得信息即前向安全,必须对其拥有的密钥更新,以组成员为例,离开后的逻辑密钥树如图2所示,此时假设存在节点uv,其密钥为,由逻辑密钥树可以看出,需要更新的密钥是和组密钥,主要过程如下:
1) KS:{quit request}
2) KS:TPM并在TPM中计算出和新的以替换旧的值。
3) 密钥服务器分别向组成员u1~u3、u4~u6以及u7~u8组播密钥更新消息,消息体如下:
Figure 2. The group after new member u9 leaves
图2. u9离开后的T-OFT逻辑密钥树
4) 各组成员收到单向密钥信息后,根据公式(1)求得新的密钥以及其对应的叶节点到根节点路径上的各个密钥。
5) 为抵抗同谋破解,KS:TPM
6) KS:
7) 最后KS请求其TPM封存,,,,,,,,,以保证系统的物理安全性。
通过以上过程,完成了前向安全的密钥更新,从该过程可以看出,密钥服务器需要组播的通信代价为,而前面提到的GKMP协议、基于树的LKH密钥管理方案中,都会产生大量的密钥更新报文,与之相比较,本协议大大降低了系统的资源开销和节约网络带宽,具有显著的优势。
2.4. 成员加入
当组成员加入该组时,为了保证之前的组播信息不能被刚加入的成员通过它拥有的密钥解密获得信息即后向安全,必须对旧的密钥进行密钥更新,即组密钥K以及其对应的叶节点到根节点路径上各个密钥。以组成员为例,加入后的逻辑密钥树如图3所示,由逻辑密钥树可以看出,需要更新的密钥是和组密钥K,主要过程如下:
1) KS:{join request}
2)KS:TPM
3)KS:并在TPM中计算出新的、以替换旧的值。
4)密钥服务器分别向组成员u1~u3、u4~u6以及u7~u8组播密钥更新消息,消息体如下:
Figure 3. The group after new member u9 joins
图3. u9加入后的T-OFT逻辑密钥树
6) 为抵抗同谋破解,KS:TPM
7) KS:各用户根据公式(2)得到组密钥。
8) 最后KS请求其TPM封存,,,,,,,。
通过以上过程,完成了后向安全的密钥更新,从该过程可以看出,密钥服务器需要组播的单向密钥信息为,降低了系统的资源开销和节约网络带宽,具有明显的优势。
3. 协议分析
下面比较了几种组密钥管理协议在组成员动态变化,即成员加入或离开时,为保证系统的前后向安全进行密钥更新造成的通信代价,密钥服务器及用户存储密钥信息的存储开销,以及各个协议做到的安全指标,具体内容如下表1安全性能比较表和表2通信及存储开销比较表,其中n为组成员数,K为密钥比特数。
由表1和表2可以看出,LKH协议的在组成员动态变化时引起的通信代价和存储开销较大,且没有解决密钥的安全存储问题,而GKMP协议中离开的组成员仍然能够解密报文,无法做到前向安全,且密钥服
Table 1. Comparisons of security performance
表1. 安全性能对比表
Table 2. Comparisons of communication and storage cost
表2. 通信及存储安全开销对比表
务器遭到物理攻击后,容易泄露密钥等重要信息,没有解决密钥的安全存储问题,存在多种问题。OFT协议有效的减少了的密钥更新产生的报文,但是OFT协议无法抵抗同谋破解,且没有解决密钥的安全存储问题。而本文提出的T-OFT组密钥管理协议既能做到前后向安全、抵御同谋破解,同时做到了系统中密钥的可信生成和存储,计算密钥时保证没有密钥显式出现在TPM之外,做到了密钥不出卡,保证了密钥服务器的物理安全性。并且其密钥更新所需要的通信代价为,存储开销在四种协议中最小。最后使用三叉树(Ternary Tree)的逻辑密钥结构,有效的降低了密钥服务器的存储代价,在组成员数量较大的情况下优势更加明显。
4. 总结
本文中,我们提出了一种基于T-OFT组密钥管理协议,借助于可信平台模块(TPM),保证物理安全性和高效性,其安全性主要体现在借用TPM来安全的产生和保存密钥等信息,并确保没有密钥信息显式的出现在TPM之外,保证了密钥的绝对安全;而其高效性体现在由于组成员的加入和退出导致的密钥更新代价为,与前人提出的密钥管理协议相比,降低了系统的通信代价。在存储开销方面,协议采用三叉树(Ternary Tree)的逻辑密钥结构,有效降低了存储开销,且在组成员较多的情况下优势更为明显。
本文的特色主要可以归结为四点,首先该协议实现系统中密钥的可信生成和存储,计算密钥时保证没有密钥显式出现在TPM之外,做到了密钥不出卡,保证了密钥服务器的物理安全性。第二采用OFT模式计算出组密钥,组密钥无需在密钥服务器生成后下发,而是由各个组成员自行计算得到,避免了组密钥在传输过程被窃取。第三采用Ternary Tree的逻辑密钥结构,降低了密钥服务器存储密钥的数量,有效的降低了系统的存储开销。最后,该协议的密钥更新的通信代价为,代价很小,为密钥管理的实施提供便利。
NOTES
*国家自然科学基金资助项目(61070207)。
参考文献