闫玺玺,马兆丰,杨义先,钮心忻
(1. 北京邮电大学 信息安全中心, 北京 100876;2. 北京国泰信安科技有限公司, 北京100086)
目前,办公网络化、自动化、电子化及信息资源共享已经成为社会发展的必然趋势。无纸化办公成为政府机构、学校和企事业单位信息化建设的重点,电子文档的使用越来越普及。然而,由于电子文档的易复制、易分发、易扩散等特点决定了其不安全性,因此,电子文档安全管理与防泄密问题成为许多学者研究的热点之一。
快速发展的 Internet技术使得电子文档需要在不同的用户之间流转,为了提高办公效率,用户往往会有一些特殊的需求:①许多相关用户作为一个用户组共享一些电子文档,允许用户设备的频繁加入/离开家庭网络;②用户拥有多台设备,想要使用其中任何一台设备访问电子文档,并且允许设备的离线使用。为了满足上述的要求,在电子文档管理中引入共享域概念。共享域内每个用户合法获得的电子文档可以在域中各设备间无缝地流动,实现资源共享。但是,不同的域之间电子文档的传输需要经服务器认证。
为了实现域间用户的通信安全,域成员之间需要建立一个共享的域密钥来加密域共享电子文档,因此,本文采用双线性对构造了一个新的基于身份的域密钥分发算法,该算法实现了域环境下用户的动态加入与离开,通过广播加密的方式使域用户获得更新后的域密钥,避免了复杂的密钥更新协商协议。另外,提出基于共享域的电子文档许可分发协议,实现域内用户共享,不同域之间安全分发电子文档。在该协议工作下,共享域内每个用户合法获得的电子文档可以在域中各设备间无缝地流动,实现资源共享;不同的域之间电子文档的传输有严格的限制,需要经服务器认证,确保电子文档的安全管理与防泄密。
群通信系统中群密钥的管理主要分为2种分发机制:一种是群密钥分发机制,在这种方案中,群密钥是由一个主体(密钥分发中心)产生,并分发给每一个群成员;另一种是群密钥协商机制,每个用户负责生成一个秘密信息,然后利用各个用户所生成的秘密信息共同构造出共享的群会话密钥。
群密钥协商机制与群密钥分发机制相比,前者群密钥仅被群中的合法成员获得,具有更高的安全性和可靠性,同时无需可信赖机构,避免了分发机制中单一失效问题,适应于分布式网络环境。但是电子文档安全管理中,共享域可能存在大量的域共享用户,需要动态确定相应的密钥用户集合,保证域内授权的合法用户获得域密钥。密钥协商机制由于需要域内各个成员共同参与,计算量大,且交互信息多,增加了用户的负担。另外,域密钥仅被合法用户知道,服务端无法获取域密钥,不适应于电子文档安全管理中不同域之间文档的流转与分发。因此,本文主要采用群密钥分发机制实现电子文档的安全管理,该方案由密钥管理中心生成域密钥,并通过基于身份的域密钥分发机制将域密钥分发给域用户,允许任何用户任意时间的加入/撤离,应用灵活,算法简单,并减轻了用户的计算量。
目前已有的群密钥分发方案多是基于 Wong[1]提出的逻辑树结构[2~4],该方案应用于用户域变化不太大的情况下,可以达到很好的性能。文献[5]提出了单向函数树(OFT,one-way function trees)的群密钥管理方案,该方案基于单向函数构造密钥分发方案,树的每个叶节点代表一个群成员,根节点代表着群密钥,可以很好地适用于用户动态变化的共享域,降低了通信复杂度,但代价是存储复杂度的增大以及通信时延问题。Chou和 Chen[6]提出基于中国剩余定理的“安全锁”方式将群密钥安全广播到每个群成员,然而局限于其高通信复杂性和计算复杂性,方案只能应用于小规模群组通信。文献[7~10]提出了一些基于身份的群密钥分发体制,Yang 等人在文献[9]中提出了一种基于身份的容错群密钥分发方案(IFCKDS),服务端根据n个用户的签名采用秘密共享技术生成群密钥。文献[10]对Yang 等人的方案进行改进,使其可以抵抗被动攻击,并具有前向安全性。
本文采用双线性对构造了一个新的基于身份的域密钥分发算法,该算法可高效地处理电子文档共享域中域成员加入,通过广播加密的方式使域用户获得更新后的域密钥,避免了复杂的密钥更新协商协议,适用于大规模、动态共享域环境下。
电子文档共享域是拥有共同域密钥的所有设备,用于实现:将多个设备加入同一个域,统一管理设备及域的资源,通过域的机制实现资源共享,实现对域的管理,对域内设备的管理,同时保证域共享资源的安全。
同一部门中拥有的设备组成共享域,每个用户合法获得的电子文档可以在域中各设备间无缝地流动,实现资源共享。但是,不同的域之间电子文档的传输有严格的限制,需要经服务器认证。本文提出一种基于身份的电子文档域密钥分发算法及协议,其特点如下。
1) 一旦共享域形成且用户终端加入共享域,该共享域中任何用户终端合法获得的电子文档和权限都可以与共享域中所有的用户终端共享,属于某个共享域的所有用户可以离线共享绑定到该域的版权,而不必重新向服务端申请。
2) 同一域内,采用用户标识和设备标识相结合的方式进行身份识别,实现权限控制。不同的用户角色拥有不同的权限,如域内普通用户只拥有阅读权限,域内管理员拥有阅读、打印、修改等权限,该方案有效地避免共享域中电子文档权限滥用,实现细粒度的访问控制。
3) 引入域证书,由服务端向用户发放域证书,用来控制共享域中用户对共享电子文档的使用。域证书包括域标识、管理者标识、管理者签名参数、域类型、发布时间以及管理者的签名。
图1 电子文档域管理架构
1) 系统参数生成
Step1 选择阶为素数q的循环加法群G1,阶为素数q的循环乘法群G2。P∈G1是G1的一个生成元。
Step2 选取一个双线性映射e: G1* G1→G2,对任意P,Q,X∈G1,a,b∈Zq满足:
Step3 选择2个抗碰撞的杂凑函数H1,H2:H1:{0,1}*→G1,H2:G2→ { 0,1}l,l为密钥的长度。
Step4 随机选择s1,s2∈Zq*作为系统的主密钥。
2) 用户
Step1 用户Ui,i= 1 ,2,… ,q计算自己的身份信息H1(IDi)∈G1,其中,IDi为用户Ui的个人相关信息。
Step3 提交个人身份信息IDi∈ { 0,1}*和QIDi给密钥生成中心(KGC, key generation center)。
Step4 用户可以向KGC证明其知道xi,但不透露xi的信息。
3) 密钥生成中心
Step1 随机选择r∈Zq*,计算R=rP,R∈G1。
Step2 计算
Step3 KGC发送(Ui,Zi) 给用户Ui。
假定群密钥为s,KGC想把群密钥分发给每个域用户,进行如下操作。
Step1 KGC随机选择t∈Zq*。
Step1 用户收到广播信息H后,用户Ui应用其个人解密密钥计算
假定域D已经包含q个用户,申请加入的用户为Uq+1,其身份信息为IDq+1。
1) 用户Uq+1
Step1 用户Uq+1计算自己的身份信息H1(IDq+1) ∈G1。
Step2 随机选取xq+1∈Zq*,计算QIDq+1=xq+1H1(IDq+1)。
Step3 提 交 个 人 身 份 信 息IDq+1∈ { 0,1}*和QIDq+1给KGC。
Step4 用户可以向KGC证明其知道xq+1,但不透露xq+1的信息。
2) KGC
Step1 随机选择r′ ∈Zq*,计算R′ =r′P∈G1。
Step4 用户Uq+1的解密密钥为(Uq+1,Zq+1,xq+1)。
Step5 系统的加密密钥为{s1,s2,U′}。
3) 其余q个用户
用户Ui,i= 1 ,2,… ,q计算Ui′=Ui+Uupdate。
用户Ui,i= 1 ,2,… ,q的解密密钥为
Step1 用户iU应用其个人解密密钥计算
系统参数定义如表1所示。
表1 系统参数定义
Step1 域创建者A向域管理服务器提交建立一个新域的申请,发送用户名AID及设备硬件信息CID。
Step2 服务端域管理服务器收到申请后,解密获得用户A的用户名AID及设备信息CID,查询该终端是否归属于某个域,如未有归属的域,则同意用户A的申请;否则拒绝申请。
Step3 域创建者收到服务端的响应后,发送域标识符(DID),域用户列表Potential_user list等参数给服务端。
Step4 服务端收到用户列表后,对域DID进行域的参数设置,并创建设备域DID的列表:设备申请调入域列表、潜在设备入域列表以及用户设备列表,域DID创建完成。
Step5 DS发送域创建成功响应级用户A。
用户申请入域协议主要用于用户设备加入共享域,新的用户设备加入域后,密钥管理器需要进行域密钥更新,域管理器需要生成新的域证书分发给域内所有用户,并提交更新的信息给数据库服务器。
用户设备申请入域有2种方式:①用户向服务端申请入域时,已经是潜在用户设备列表中的用户,则不需要域管理者进行在线审核,直接入域,服务端将用户设备信息添加到域用户设备列表;②用户设备不是潜在用户设备列表中的用户,向服务端发出申请入域请求,用户设备信息将被添加到设备申请入域列表,由域管理者对其设备信息进行在线审核,审核通过后,服务端将用户设备加入到域用户设备标识列表中。
Applying_user list:设备申请入域列表。当设备申请入域时,服务端将设备信息记录到设备申请入域列表,由域管理者进行在线审核设备是否有资格加入域。
Potential_user list:潜在设备入域列表。由域管理者创建,当用户申请入域时,DS将检索潜在设备入域列表,如果存在,则直接接受用户入域请求,而无需返回给域管理者审核;如果不在,则将用户信息记录到设备申请入域列表。
Domain_user list:域用户设备列表。记录域中所有的用户,当用户设备成功入域后,用户设备将被添加到用户设备列表,用于生成域证书。
Step1 用户U向服务端发送入域申请,提交用户标识(UID)(包含个人身份信息和设备信息(CID)、以及申请加入的域标识DID。
Step2 DS解密获得用户信息,验证用户提交的信息,检索用户是否存在于Potential_user list。
1) 如果不存在,则:
① DS:将用户设备信息添加到设备申请入域列表,等待域管理者在线审核,返回等待信号给用户U。
② A :解密获得用户信息,审核用户U的信息,通过用户UID及CID判断用户是否有资格加入域DID,将审核结果返回给DS。
③ DS:如果审核通过,则更新Domain_user list;否则,将拒绝用户U的申请。
2) 如果存在于用户列表,则进行Step 3。
Step3 域证书分发阶段。
1) DS:将用户U的UID和CID提交给KS,调用域密钥分发算法,生成用户U的个人解密密钥dk_U,上传给CS。
2) CS:由CS为域DID生成域证书D_License。D_License={DID||SID||AID||User_list||Pub_time||dk_U}。
3) DS:DS对域证书进行签名,并以用户U的公钥进行加密,传输给U。
4) Database_S:将域ID、域证书发放时间、域用户列表及相关参数、域版本号写入数据库。
5) DS:广播密钥更新算子Uupdate。
Step4 域密钥恢复阶段。
1) 用户U使用自己的私钥解密获得域证书,并通过DS的公钥验证证书的签名,若验证通过,则接受证书,否则拒绝接受。
2) 用户通过个人解密密钥dk_U,获得域密钥。
3) 域内其他用户设备在下次上线时,将通过域密钥更新算子Uupdate,更新自己的解密密钥。
用户撤域主要存在2种情况:①用户主动申请撤域;②用户被动撤域,服务端强制性要求用户退出域。用户撤域后,密钥管理器需要进行域密钥更新,域管理器需要生成新的域证书分发给域内所有用户,并提交更新的信息给数据库服务器。
Step1 申请阶段。
1) 用户主动申请撤域
① 用户U向服务端发送撤域申请,提交UID、CID以及申请退出的DID。
② DS解密获得用户信息,验证用户提交的信息,检索用户信息是否存在于域DID用户列表内。如果未存在,则返回错误信息给用户,终止该协议;否则,执行域证书更新阶段。
2) 用户被动撤域
DS向用户U发出离域通知,并从域用户列表中删除其设备信息。
Step2 域证书更新阶段。
1) DS:将更新后的域用户设备信息,提交由KS更新域密钥key_Domain,上传给CS。
2) CS:由CS为域DID生成域证书D_License。
3) DS:DS对域证书进行签名。DS: SigDS(D_License)。
4) Database_S:将域ID、域证书发放时间、域用户列表及相关参数、域版本号写入数据库。
Step3 证书发放阶段。
域内其他用户设备在下次上线时,DS将发送新的域证书给用户。
1) 用户域密钥恢复正确性分析
本方案中用户收到广播信息后,需要利用自己的解密密钥,通过计算恢复出域密钥。
当新的用户加入域时,密钥服务器为新用户生成个人的解密密钥,同时发布密钥更新算子,其余用户根据密钥更新算子,计算出自己新的解密密钥。
1) 在 BDH(双线性 Diffie-Hellman问题)和ECDLP(椭圆曲线离散对数问题)等计算困难性假设下,基于身份的域密钥分发算法和协议是安全的。
证明 假设协议参与方为密钥生成中心KGC、用户集{U1,U2,… ,Uq}、敌手E。
①假设敌手E为非域中成员,采取主动攻击方式向 KGC发送申请域密钥请求,并提交个人UID。KGC收到敌手的申请请求后,解密获得用户信息,验证用户提交的信息,检索用户是存在于潜在设备入域列表Potential_user list。必然,敌手E并不存在于潜在设备入域列表。因此,攻击者将无法通过KGC服务器的验证,无法获得域密钥。
综上所述,在BDH和ECDLP等计算困难性假设下,基于身份的域密钥分发算法和协议是安全的。
2) 抗合谋攻击:系统中共享域用户的合谋不能产生一个有效的解密密钥,即该方案可以有效抵御域用户合谋攻击。
假设有m个域用户合谋,即假定m个域用户成员利用各自的解密密钥对系统进行合谋攻击。
②m个合谋用户利用各自的QIDi相加,由于随机数r∈Zq*的存在,无法计算出R=rP,增加了用户计算U的难度。
③根据基于双线性对的计算困难性问题,合谋用户从e(U,P)t也不能计算出U。
因此,合谋用户无法获得系统主密钥s1,s2∈Zq*或系统秘密参数U,即不能产生新的有效用户解密密钥。
电子文档经常需要在同一部门内流通,通过共享域来实现域内用户共享电子文档,一旦共享域形成且用户终端加入共享域,该共享域中任何用户终端合法获得的电子文档和权限都可以与共享域中所有的用户终端共享,属于某个共享域的所有用户可以离线共享绑定到该域的版权,而无需每次都向服务端申请解密,减轻了网络的负担,避免服务端负荷过载;同时,解决了移动设备离线使用电子文档的问题,实现同一用户在多个设备上使用电子文档。
假定用户A与用户B为同一共享域内用户,电子文档共享流程如图2所示。
1) 用户A合法获得电子文档D,本地客户端透明加密存储。
2) 客户端通过内容密钥解密电子文档。
3) 用户A采用域密钥加密电子文档,转发给用户B。
4) 用户B客户端通过域密钥解密获得电子文档,并采用本地内容密钥加密文档。
图2 域内用户共享电子文档流程
假定用户A与用户B为不同的域用户,电子文档转发流程如图3所示。
图3 跨域用户电子文档分发流程
1) 用户A合法获得电子文档D,本地客户端透明加密存储。
2) 用户B向用户A申请电子文档。
3) 用户A客户端通过内容密钥解密电子文档,采用域密钥加密电子文档。
4) 用户A向服务端发出转发电子文档申请,并设置用户B的文档权限,上传电子文档与权限给服务端。
5) 服务端解密获得电子文档明文与权限,并从数据库服务端获得用户B的角色,判断用户A为用户B设置的文档权限是否符合用户B的角色(rights∈B_role),如果符合,则确定用户B对电子文档的权限;否则,重新设置用户B对电子文档的权限。
6) 服务端从密钥数据库中提取用户B所在域的域密钥,由内容打包服务器加密打包电子文档与权限,发送给用户B。
7) 用户B解密获得电子文档,并根据权限控制使用电子文档。
该算法中,假定有n个用户,基于身份的电子文档域密钥分发方案的通信复杂度为O(1 ),KGC的密钥复杂度为O(n),用户的存储复杂度为O(1 ),计算复杂度为2TM+3TDM+2Te。
假定Te表示一次双线性映射运算所需的时间;TDM表示椭圆曲线中一次点乘运算所需的时间;TM表示Zq*中一次模乘运算所需的时间;忽略运算量较小的运算和异或操作所需的时间开销散列,基于身份的域密钥分发算法计算代价如表2所示。
表2 基于身份的域密钥分发算法计算代价
如果广播中心选择相同的生成元P,预先计算e(U,P),则可在以后的域密钥加密过程中不再进行双线性映射运算,则计算代价可以降低到2MT+3DMT+2eT。
当用户离开或加入时,KGC只需要广播一组广播分组,域用户只需要做一次点加操作,减少了密钥更新量和分发的复杂性。
与单向函数树的群密钥管理方案、文献[10]的基于身份的群密钥分发机制、群密钥协商机制比较,该方案在存储复杂度、通信复杂度、计算复杂度、适用环境比较结果如表3所示。
表3 与其他域密钥管理方案比较
针对共享域环境下电子文档安全管理系统中用户的通信安全,本文采用双线性对构造了一个基于身份的域密钥分发算法及协议,具备以下4个优点:①共享域内每个用户合法获得的电子文档可以在域中各设备间无缝地流动,实现资源共享;②不同的域之间电子文档的传输有严格的限制,需要经服务器认证,确保电子文档的安全管理与防泄密;③共享域中的用户可以离线使用电子文档;④采用用户标识和设备标识相结合的方式进行身份识别,实现对电子文档的细粒度使用控制。域密钥管理研究仍存在很多值得深入研究的问题,在后续的工作中将对该方法进行改进,以支持更为高效的域密钥管理机制。
[1] WONG C K, GOUDA M, LAM S S. Secure group communications using key graphs[J]. IEEE Tran Networks, 2000, 8(8): 16-30.
[2] WALLNER D M, HARDER E J, AGEE R C. Key management for multicast: issues and architectures[J]. Computer and Information Science, 1999, (7): 1-23.
[3] WALDVOGEL M, CARONNI G, SUM D,et al.The versa key framework: versatile group key management [J]. IEEE Journal on Selected Areas in Communications (Special Issue on Middleware), 1999,17(9):1614-1631.
[4] SHEMAN A T, ACGREW D A. Key establishment in large dynamic groups using one-way function trees[J]. IEEE Transactions on Software Engineering, 2003, 29 (5): 444-458.
[5] DINSMORE P T, BALENSON D M, HEYMAN M,et al. Policy-based security management for large dynamic groups: an overview of the DCCM project[A]. Proc the DARPA Information Survivability Conference &Exposition[C]. SC, USA, 2000. 64-73.
[6] CHOU G H, CHEN W T. Secure broadcasting using the secure lock[J]. IEEE Trans on Software Engineering, 1989, 15(8): 929-934.
[7] WANG T H, CHEN J L. Identity-based conference key broadcast systems[J]. IEEE Proc of Computers and Digital Techniques, 1994,141(l): 57-60.
[8] CHIKAZAWA T, YAMAGISHI A. An improved identity-based one-way conference key sharing system[A]. Proc of ICCS/ISITA[C]. IEEE Computer Society Press, 1992. 270-273.
[9] YANG Z K, XIE H T, CHEN W Q,et al. An identity-based fault-tolerant conference key distribution scheme[A]. The 7th International and Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT’06)[C]. 2006. 389-392.
[10] CAI Y Q, LI X Y. An Improved identity-based fault-tolerant conference key distribution scheme[A]. Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing[C]. 2007.345-349.
[11] 蒙杨,刘克龙,卿斯汉. 可扩展的多级会议密钥分发体制[J]. 计算机学报,2000,23(8):793-798.MENG Y, LIU K L, QING S H. A scalable key distribution system for multilevel security conference[J]. Chinese Journal of Computers, 2000,23(8):793-798.
[12] 李先贤,怀进鹏,刘旭东. 群密钥分配的动态安全性及其方案[J].计算机学报,2002, 25(4):337-345.LI X X, HUAI J P, LIU X D. Dynamic security of group key distribution and its solutions[J]. Chinese Journal of Computers, 2002, 25(4):337-345.
[13] 孙海波,林东岱. 基于零知识集的群组密钥分配方案[J]. 电子学报,2005, 33(2):345-349.SUN H B, LIN D D. A new group key exchange protocol based on zero-knowledge set[J]. Chinese Journal of Electronics, 2005, 33(2):345-349.
[14] 徐守志,杨宗凯.多服务安全组播组密钥管理技术研究[D]. 武汉:华中科技大学,2006.XU S Z, Y Z K. Research on Group Key Management Technology of Multi-Service Secure Multicast[D]. Wuhan: Huazhong Unversity of Science and Technology, 2006.
[15] 汪小芬,肖国镇. 认证密钥协商协议的研究[D]. 西安: 西安电子科技大学,2009.WANG X F, XIAO G Z. Study on Authenticated Key Agreement Protocols [D]. Xi’an: Xidian University, 2009.
[16] 张雅哲,徐海霞,李宝. 可否认群密钥协商协议的一般化构造方式[J]. 通信学报, 2011, 32(3): 143-149.ZHANG Y Z, XU H X, LI B. Generic construction of deniable group key establishment from group key establishment[J]. Journal on Communications, 2011, 32(3):143-149.