广播加密作为一种将数据内容通过广播信道安全地分发给合法用户的安全机制,目前在付费电视、视频会议、无线传感网络等方面得到了广泛的应用。那么,我今天就带大家来认识一下广播加密。

广播加密

一、广播加密的概念

广播加密是一种在不安全信道上给一组用户传输加密信息的密码体制,它可使发送者选取任意用户集合进行广播加密,只有授权用户才能够解密密文。广播加密有着广泛的实际应用背景,例如,数字版权管理、付费电视、卫星广播通信等。一个广播加密方案满足完全抗同谋攻击(fully collusion resistant),即所有撤销用户合作,也无法解密密文。对于一个公钥广播加密方案,用户私钥长度、系统公钥长度、密文长度以及加密解密计算复杂度是衡量性能优劣的重要标准。

二、广播加密分类

广播加密根据使用场景不同,主要可分为有状态广播加密和无状态广播加密两类。

1、有状态广播加密

有状态广播加密方案是针对有状态接收者的,指接收者可以保存接收信息,用户可以根据接收到的广播信息对存贮的密钥进行更新。

该类方案的特点:由于密文是用当前组用户(即授权用户)共享的组密钥进行加密,密文短,计算量小,但当组用户发生动态变化时,即有用户加入和退出,此时为了保证广播安全,组内的其它用户的密钥都必须更新,此时通信量较大。另外有状态加密要求所有用户一直处于在线状态,因此在实际应用中受到一定的限制。

2、无状态广播加密 

无状态广播加密是指接收者不能改变其初始状态(例如修改用户密钥),仅按照初始设置的密钥处理接收到的广播数据,由于接收用户密钥不需要更新,因此不要求用户一直处于在线状态。

无状态广播加密方案可分为基于对称密钥的广播加密和基于公钥的广播加密两类。前者的特点是网络中必须有一个信任中心,信任中心产生并拥有所有用户的密钥,只有信任中心才能广播信息,这类方案对信任中心的依赖性会导致单一失效点问题。而基于公开密钥的加密方案克服了这个缺点,公钥可以存贮在每一个用户或任一个用户 都可以存取的共享存贮设备上,也可以广播给用户,因此所有的用户都可以用公钥加密并广播消息。

(1)基于对称密钥的广播加密

2001年,Naor提出了一个应用于无状态接收者的“子集覆盖”框架,基于该框架的广播加密方案由三个算法组成:

初始化

将所有的用户集合N分成不同的子集L1,L2,…,Lw∈N,每个集合Li 分配一个密钥Ki(1≤i≤w),系统分配给每个用户u秘密信息Pu,使得对于vu∈Li的用户可通过计算出Li,即每个用户属于若干个集合,该用户持有其所属所有集合对应的密钥。

广播加密

调用cover加密算法将授权用户集合,N/R划分为互不相交的子集{Pi1,Pi2 …,Pim},这些集合的并集覆盖了所有的授权用户S,即每个合法用户属于且仅属于这其中的某一个集合。广播方选取会话密钥K,分别用这些划分子集对应的密钥{Ki1,Ki2,…,Kim}对会话密钥K进行加密,而发送的消息M用会话密钥K进行加密,密文形如<[i1,i2…,im,EKi1(k),EKi2(k),…,EKim(k)],Ek(M)>,方括号内的部分称为广播头,Ek(M)称为广播体。

用户端解密

每个合法用户接受到加密消息后,在广播头中寻找到用自身所属集合的密钥加密的数据,使用自身持有的密钥对其进行解密后即可获得会话密钥K,并用K对广播体进行解密获得消息M。

(2)基于公钥的广播加密

第一个公钥广播加密方案是由Naor和Pinkas于2000年提出的,方案采用了门限秘密共享方法。公钥密码体制的引入可解决对称密钥带来的安全性问题以及只有信任中心才能广播加密信息的缺点。此后公钥广播加密得到更多人的研究和关注,相关文献不断发表,研究内容主要集中在如何减小公私钥大小、密文大小和加密解密的计算复杂度。

多公钥广播加密

2002年Dodisandio将“子集覆盖”对称广播加密转换为公钥广播加密,即将原方案中划分成的每个子集所对应的密钥转化为一对公钥/私钥,广播方在广播时选取一会话密钥,分别用这些划分子集对应的公钥对会话密钥K进行非对称加密,而发送的消息M用会话密钥K进行对称加密。为减少大量公钥带来的存贮开销,在CS方法中使用了基于身份的公钥加密结构的基于身份的公钥加密算法。

固定公钥广播加密

2005年有专家提出公开密钥广播加密方案,方案安全性基于BDHE假设,抗完全同谋,广播密文长度短,克服了以往密文长度会随着授权用户的个数而线性增加的缺点和多公钥广播加密方案有多个公钥不同,该类方案的公钥只有一个。

广播加密方案是把数据内容通过广播信道安全地分发给经过授权的合法用户的安全机制,它在付费有线电视和卫星电视、视频会议、无线传感网络、在线数据库中起着愈加重要的作用,其安全性已成为目前研究的热点。

小知识之对称密钥

对称密钥加密又叫专用密钥加密,即发送和接收数据的双方必使用相同的密钥对明文进行加密和解密运算。