移动云计算中基于身份的轻量级加密方案
2018-10-16王占君马海英王金华
王占君,马海英,王金华
1.南通大学 理学院,江苏 南通 226019
2.南通大学 计算机科学与技术学院,江苏 南通 226019
3.南洋理工大学 计算机科学工程学院,新加坡 639815
1 引言
随着移动通信和云计算技术的快速发展,移动云计算通过移动网络能够向人们提供自由、方便、按需使用存储和计算的云服务模式。移动云服务除了具备传统云计算的便捷云端数据存储、大量的开放软件服务、无所不在的强大云计算支撑、终端配置要求低等特点,融合了移动通信设备和互联网,将云服务从云端推送到移动终端。近年来,世界各大IT公司纷纷推出自己的移动云服务产品,比如加拿大RIM公司的黑莓服务、苹果公司MobileMe服务、微软公司的LiveMesh服务等,这些移动云服务越来越广泛地被人们所使用。然而,存储在云端的海量数据往往包含个人隐私信息,如电子病历、隐私邮件、个人机密信息、金融战略文件等,这些隐私信息的泄露势必对个人或企业造成重大损失。现代密码学机制是保障隐私数据安全的一种重要方法。
1984年,Shamir提出了基于身份加密(Identity-Based Encryption,IBE)的概念[1],改进了传统公钥加密机制,解决了PKI的证书管理问题。在IBE系统中,用户使用唯一的身份信息表示其公钥,比如身份证号、邮箱地址、电话号码等,可信的第三方密钥生成中心根据其身份为用户颁发其私钥。在移动云环境中,移动终端设备在计算能力、存储能力等方面都存在限制,然而,IBE的加解密需要执行许多椭圆曲线上的幂乘和双线性对等复杂运算,这使得传统的IBE方案很难适用于轻量级移动设备,如手机、无线传感器。
在线离线密码机制[2]可以将加密过程分解成离线和在线两个阶段,离线加密利用高性能设备对加密所需要的大部分复杂运算进行预处理,并将预处理结果存储于轻量级设备中,轻量级设备执行在线加密,根据得到消息和接受者身份后,仅需执行一些简单运算即可快速生成密文。研究人员将在线离线密码机制应用到IBE中,提出一系列基于身份在线离线加密方案[3-7],减少了终端设备的加密开销,但是,现有IBE方案[3-8]的解密过程仍需要执行一些幂乘和双线性对复杂运算,很难适用移动设备。
由于可外包解密的密码机制[9-12]在保证数据安全性的前提下,能够有效地将绝大部分的解密工作量外包给云服务器处理,备受移动用户的青睐。为了减轻移动设备的解密负担,文献[9]提出了可外包解密的基于属性加密方案。文献[10-11]提出了可外包双线性对的密码方案。文献[13-15]提出了基于属性在线离线加密方案。文献[16]提出了可外包解密的基于属性在线离线加密方案,有效缓解了轻量级设备的加解密计算开销。因此,构造一种适用于移动云计算的基于身份轻量级加密机制,使得加密和解密能够同时适用于轻量级设备,将有助于IBE在移动云计算环境中的广泛应用。
本文利用在线离线和外包技术,对IBE的加密和解密过程进行合理扩展,提出可外包解密的基于身份在线离线加密方案(IBOOE-OD),并基于DBDHI假设对其安全性进行了严格证明,该方案非常适用于移动云计算中轻量级设备处理隐私数据。首先,该IBOOE-OD方案将加密过程分解为两个阶段:在无需获知消息和接受者身份的情况下,离线阶段利用高性能设备对加密所需的大部分复杂运算进行预处理,并将预处理结果保存在轻量级移动设备中;之后,在得到消息和身份后,移动设备执行在线阶段,仅需计算少量简单运算即可生成密文。在此基础上,利用外包解密技术,修改密钥生成算法,输出一个Elgmal型密钥和一个转化密钥,其中,Elgmal型密钥是由用户秘密保存,转化密钥可提交给云服务商。通过增加一个密文转化算法,使得云服务商在不能获知用户私钥和明文的任何信息情况下,利用转化密钥和转化算法,将密文转化成Elgmal型密文。最后,移动终端利用用户私钥和Elgmal型密文,仅通过一个幂乘运算即可恢复明文。通过对该IBOOE-OD方案进行性能分析,表明移动设备仅需执行少量的加密和解密计算量即可生成密文和恢复明文,非常适合于移动云计算中的轻量级终端设备。
2 双线性对和q-DBDHI假设
双线性对:设G和GT是两个阶为素数p的乘法循环群,g是G的生成元,是一个映射满足:(1)双线性,对任意的 U,V∈G ,a,b∈Z ,有非退化性,;(3)可计算性,对任意的U,V∈G,可在多项式时间内计算e(U,V),则称e为一个双线性对。
3 IBOOE-OD定义和安全模型
一个IBOOE-OD方案包括以下六个算法:初始化Setup、密钥生成 KeyGen、离线加密Encoff、在线加密Encon、密文转化Trans、解密Dec。
Setup(λ)初始化算法输入安全参数λ,输出系统公钥Pk和主密钥Msk。
KeyGen(Msk,ID)密钥生成算法输入系统主密钥Msk和用户身份ID,输出用户转化密钥TKID和用户私钥SKID。
Encoff(Pk)离线加密算法输入系统公钥Pk,输出离线密文CToff。
Encon(ID,m,CToff)在线加密算法输入用户身份ID,消息m和离线密文CToff,输出密文CT。
Trans(TKID,CT)密文转化算法输入转化密钥TKID和密文CT,如果转化密钥和密文中的身份相同,输出转化密文CT'。否则输出失败符号
Dec(SKID,CT')解密算法输入私钥SKID和转化密文CT',如果CT'与私钥中的身份ID相同,输出明文m,否则输出失败符号^。
IBOOE-OD的安全性模型是由挑战者C和攻击者A之间的游戏定义如下:
InitA提交一个挑战身份ID*并发送给C。
SetupC运行初始化算法Setup,将系统公钥Pk发送给A,并秘密保存系统主密钥Msk。
Phase1A提交身份ID给C,C运行密钥生成算法,生成用户转化密钥TKID和用户私钥SKID,若IDID*,C将SKID发送给A;否则,C将TKID发送给A。
ChallengeA提交两个等长的消息m0和m1给C,C随机选择b∈{0,1},利用ID*对mb执行加密算法,得到挑战密文CT*,并将其发送给A。
Phase2与Phase 1相同。
GuessA给出b的猜测值b'。若b=b',C输出1;否则C输出0。
在上述安全性游戏中,将A攻破IBOOE-OD的优势定义为 Adv(λ)=Pr[b'=b]-1/2 。
定义1(安全性)若所有多项式时间攻击者A攻破上述游戏的优势都是可以忽略的,则称该IBOOE-OD在选择身份模型下满足选择明文攻击的安全性。
4 IBOOE-OD方案和安全性证明
本章首先给出一种IBOOE-OD方案,然后,基于q-DBDHI假设对其安全性进行证明。
Setup(λ)初始化算法随机选择群G的生成元g∈G和一个随机数,并计算P=gα,令M 为消息空间,且是两个密码学哈希函数,输出系统公钥Pk={G,GT,p,g,P,M,H1,H2}和系统主密钥Msk=α。
Encoff(Pk)离线加密算法输入系统公钥Pk,随机选择,计算输出离线密文CToff=(C1,c,x,y)。
Encon(ID,m,CToff)在线加密算法输入用户身份ID,消息m和离线密文CToff,计算C2=x(H1(ID)-y)modp ,,输出密文
Dec(SKID,CT')解密算法输入私钥 SKID=(z,TKID)和转化密文CT'=(C3,C4),如果密文还没有被转化,该算法首先调用密文转化算法,得到转化密文CT'=(C3,C4),然后计算
定理如果q-DBDHI假设成立,则本文的IBOOE-OD方案在选择身份模型下满足选择明文攻击的安全性。
证明如果存在一个攻击者A能以ε的优势攻破IBOOE-OD方案,则可以构造一个挑战者C以相同的优势攻破q-DBDHI假设。
假定挑战者 C 获得一个(q+2)元组 (g,gα,gα2,…,,其中或T是GT中的一个随机元素。若,C 输出1;否则,C 输出0。
InitA提交一个挑战身份ID*并发送给C。
SetupC 随机选择和,对任意的 i∈{1,2,L,l}{ π},计算,构造 l-1次多项式并设定G的生成元Q=计算和
Phase1A设置一个指针变量v=1,提交身份IDv给C,C询问下面的随机预言机和私钥生成预言机,生成用户转换钥TKID和用户私钥SKID,若将SKID发送给A,否则,C将TKID发送给A。注意每次询问Hash函数H1的身份IDv都是不同的。
随机预言机:假设第v次询问的身份为IDv,C输出 H1(IDv)=Iv,并令v增加1。
图1 移动云计算中基于身份的轻量级加密方案的示意图
ChallengeA输入两个消息m0和m1,C首先计算TG=Tc20T0,其中:
Phase2与Phase 1相同。
GuessA输出猜测值b ′,若 b=b′,C 输出1,表示;否则C输出0,表示T是中的一个随机元素。
因此,C以ε的优势攻破q-DBDHI假设。
5 移动云计算IBOOE-OD方案及性能分析
本章首先给出IBOOE-OD在移动云计算环境中的具体应用场景,如图1所示。
(1)在移动云计算环境中,可信权威中心首先执行初始化算法,生成系统主密钥Msk和系统公钥Pk;
(2)移动用户向权威中心提交自己的身份ID,权威中心执行密钥生成算法,给用户颁发相应的私钥SKID;
(3)移动用户在其可信环境中,利用高性能设备执行离线加密算法,计算离线密文,并将其保存在移动设备中;
(4)当移动用户需要上传隐私数据到云端时,利用离线密文和接收者的身份ID,执行在线加密算法,生成相应的密文,并将其上传到云存储中心;
(5)当移动用户ID需要读取隐私数据时,首先将其转化密钥提交给云服务器,使其执行密文转化算法,生成转化密文CT';
(6)移动用户获取转化密文,如果其身份ID和转化密文中的身份ID'相同时,执行解密算法,获知隐私数据m,否则,解密失败。
表1将本文IBOOE-OD方案和两个相关著名方案在性能方面进行了详细的比较,其中,在素数p阶的双线性群中,用分别表示双线性群G和有限域Zp中一个元素的长度。消息m的长度为,P表示双线性对运算,E表示G或GT中的幂乘运算,M表示G或GT中的乘法运算,mc表示Zp或ZN中的模乘计算。
表1 本文方案与两个知名方案的性能比较
由表1可知,文献[3]和[4]的解密过程需要执行复杂度非常大的双线性对和乘法运算,很难适用于轻量级移动设备解密文件。与IBOOE[3]、IBOOE[4]相比,本文IBOOEOD方案在线加密运算仅需执行一个模乘计算的前提下,不仅具有最短的密文长度,而且大大提高了解密的效率。因此,本文IBOOE-OD方案仅需执行少量计算即可完成文件的加密和解密运算,非常适合移动环境下轻量级设备。
6 结束语
针对移动云计算环境中基于身份加密中加密和解密过程存在大量复杂计算,不适合轻量级设备的问题,提出了一种可外包解密的基于身份在线离线加密方案,并对其安全性进行严格证明。本文利用在线离线和外包技术,在保证数据安全性的前提下,将加解密中的复杂计算进行合理分解,使得文件的加密仅需少量简单运算,解密仅需一个幂乘运算即可完成。与现有知名方案相比,本文IBOOE-OD方案仅需执行少量运算即可完成文件的加密和解密处理,且密文长度最短,适合移动环境下轻量级设备。