施媛波
(云南师范大学商学院 计算机科学系,云南 昆明 650106)
随着云计算技术的进步,文本、音频、视频、图像等各种信息被存储在云中,但由于存在许多攻击者和恶意用户,在云环境中管理多媒体文件是最受关注的挑战之一[1,2]。由于数据被分发到不同的存储设备,数据完整性和隐私成为云计算中主要考虑的问题[3,4]。加密技术通常用于解决云数据安全问题[5,6],其中有价值的信息受到保护,并限制未经授权的用户访问私有数据。DNA计算在密码学领域得到了广泛的应用[7,8],使用DNA计算进行数据加密,可以使未经授权的、恶意的用户和攻击者无法读取数据内容[9,10]。
针对云计算环境下多媒体文件的保护问题,提出了一种云计算中基于DNA的多媒体安全模型,该模型的数据所有者根据用户属性、用户密码、DNA参考密钥、互补规则和十进制编码规则随机生成长1024位密钥,以降低密钥生成、密钥检索、多媒体加密和多媒体解密的时间和成本。利用1024位DNA密钥、数据所有者(data owner,DO)密钥和云服务提供商(cloud service provider,CSP)公钥来加密多媒体文件的安全性,以保护多媒体文件免受校验值丢失攻击、碰撞攻击、网络钓鱼攻击、密码猜测攻击、伪装攻击等多种安全攻击。实验结果表明,本文算法具有更高的效率,能够保护多媒体文件免受多种安全攻击。
提出的算法使用1024位的DNA密钥对用户的机密多媒体文件或消息进行加密,并通过多个过程生成密钥以提高安全性。该方案主要包括4个阶段:DNA密钥生成、基于DNA序列的多媒体加密、用户登录注册、多媒体访问。
数据所有者(DO)执行密钥生成过程,并仅为授权或有效用户生成DNA密钥。若用户是有效的,DO要求用户提供密码并获取必要的用户属性。将十进制编码规则(表1)应用于密码和属性的值,使信息具有相同的格式。十进制编码规则通过使用基于DNA的加密来支持随机性从而提高多媒体文件的安全性,产生的DNA序列作为DNA密钥提供给用户或客户。
表1 十进制编码规则
密钥生成过程如下:首先为了获得密钥和证书,用户向DO发送一个请求,DO验证用户的授权,若用户无效,拒绝用户请求。若用户请求有效,DO要求用户提供密码,并收集用户的密码和必要的属性进行十进制编码,生成的十进制数被转换成其相应的8位二进制数,这些8位二进制数被转换成相应的美国信息交换标准码(American standard code for information interchange,ASCII)[11,12],见表2,以生成一个与每个8位二进制数相对应的随机十进制数,将ASCII值再次转换为它们的实际8位二进制数。若二进制数的长度小于1024位,则在其右侧添加额外的0以使其成为1024位,否则将从左侧删除多余的位。
表2 ASCII编码规则
生成的1024位二进制数分为4部分(每组256位),并将DNA碱基(A(腺嘌呤)、C(胞嘧啶)、G(鸟嘌呤)和T(胸腺嘧啶))分配给每个部分[13,14],见表3。DO从公开可用的DNA碱基中随机选择一个DNA参考密钥,并将其添加到前一步生成的DNA碱基的中间。将互补规则应用于DNA序列,使其成为最终的DNA密钥。这个过程提高了多媒体文件的安全性,以防黑客和恶意用户的攻击。互补规则可以表示为V(C)=W, 其中C≠W。 补充规则如下: (CA)(AT)(GC) 表示为V(C)=A, 以此类推。
在多媒体加密过程中使用删除或添加位生成的二进制数,通过DO私钥和用户的公钥加密后,将应用互补规则所得DNA字符串(密钥)提供给用户。DO还会在同一个
表3 2位二进制的DNA碱基
加密消息中发送十进制编码规则、ASCII编码规则、DNA参考密钥和互补规则。相应的用户只能利用用户私钥和DO公钥对加密后的消息进行解密。用户可以快速恢复原始密钥,因为其拥有DO提供的所有凭据。
在基于DNA的多媒体加密阶段,DO将明文分成1024位的块,然后将每个1024位块分组为4个相等的块(每个块256位)。将明文分为256位块后,根据表2的8位二进制数将其转换为相应的ASCII值,将这些二进制位转换成实数。在加密明文的256位块和密钥的256位块之间执行EXOR操作。因此,每1024位明文块有4个EXOR操作,使用表3将将每个2位二进制数转换成相应的DNA碱基。因为有4个DNA碱基,所以最多可以有24个DNA碱基的组合,DO可以从24个组合中选择任何一个,将明文加密的二进制形式转换成DNA碱基。
为了提高安全性,DO在获得的DNA碱基中间添加了DNA参考密钥,DNA参考密钥与密钥生成阶段使用的密钥相同,DO使用的互补规则与1.1节中使用的互补规则相同。
最后用DO私钥对得到的DNA序列进行加密,再用CSP公钥对其进行再次加密。DO还将相应的访问权限或证书与多媒体数据内容一起加密,并将整个加密信息保存在云数据库中。CSP无法解密加密的多媒体文件,因为密钥和其它凭据仅与授权用户共享。CSP仅使用CSP的私钥和DO公钥对加密的多媒体文件或消息进行解密,并将其与证书一起保存在云数据库中。
授权用户必须向CSP发送请求以在云服务器中注册,CSP收到请求后收集用户的个人或机密信息(如,出生日期、家庭住址、学校名称),并生成用户的个人资料。然后,建立安全通信介质(安全套接字层(secure socket layer,SSL)来传送密钥对、注册应答和重复身份,特定的注册用户只能从重复的身份中获取真实身份。攻击者或黑客无法从重复的身份中获取实际用户的身份,DO在云服务器中的注册也遵循相同的过程。
授权用户或客户只允许在注册阶段后登录系统或服务器。CSP在登录过程之后向用户回复确认。在登录过程之后,用户向服务提供商发送访问多媒体文件的请求。CSP以加密的形式将DO公钥发送给用户或客户,以从相应的DO获得证书或访问权限以及密钥或密码。用户只有在得到相应的DO公钥后才能请求相应的DO。在确认用户所请求的秘密文件的真实性后,CSP以用户的授权证书的形式对其进行加密。
只有授权用户才能从云服务器访问多媒体文件。任何多媒体文件的访问都有几个步骤:
首先用户必须在云服务器(CSP)中注册,CSP向用户发出确认,用户登录到云服务器。CSP接受有效或授权用户的登录请求,当成功的授权过程完成时,CSP向用户发送回复或确认。用户以加密的形式向CSP发送请求,以访问多媒体文件,CSP从云数据库中找到相应的请求多媒体文件的DO公钥,CSP使用CSP私钥和用户公钥生成密文后,将DO公钥提供给相应的用户,用户使用用户公钥和CSP公钥解密后检索DO公钥。然后,用户通过使用用户公钥和DO公钥向相应的DO发起一个加密请求,以提供密钥和证书,DO从CSP验证用户的真实性,CSP向DO发送关于用户身份验证的回复,DO要求用户提供密码。用户向DO提供密码,DO利用密码和用户属性信息生成DNA密钥,然后将所有凭证发送给使用DO私钥和用户公钥加密的用户。
DO将多媒体文件的密文和相应的证书存储在云服务器上,使用DO密钥和CSP公钥加密。CSP仅仅通过使用CSP密钥和DO公钥来解密信息。然后,用户将证书提交给使用用户密钥和CSP公钥加密的CSP,加密的消息由CSP解密以获取证书。最后,CSP从服务器搜索请求的多媒体文件,并根据DO提供的证书验证用户的证书。当证书正确或有效时,将执行其余进程。CSP通过使用CSP密钥和用户公钥对用户请求的多媒体文件进行加密,然后将其发送给用户。用户获得加密的消息并通过用户密钥对其进行解密,然后使用CSP公钥进行解密。最后,利用DNA密钥再次执行解密过程。由于用户拥有DO在加密期间使用的所有凭证,因此用户可以获得原始数据内容。
为了评价算法的性能,所有实验均是在配置为8 GB RAM、1 TB存储容量、3.40 GHz Intel Core i5 processor的Windows 10操作系统进行的,使用CloudSim3.0.3构建了一个云模拟环境。在CloudSim中使用10个数据中心来创建一个异构云环境,该环境由2000个物理节点、1 GB/s的网络带宽和4 GB的存储容量组成。数据集是从可公开获得的CityPulse数据集集合[15]中收集的,该数据集提供了不同类型的数据集(污染、天气和道路交通等),本文车辆交通数据集(大小为3 GB)用于实验。为了计算多媒体文件的密钥生成时间、密钥检索时间和加密解密次数,在不同的情况下进行了50次实验,得到了每个结果,取这50个结果的平均值。
表4给出了基于DNA的可逆数据隐藏方案(reversible data hiding scheme,RDHS)和基于混沌的图像加密(chaos-based image encryption,CBIE)与本文算法的密钥生成时间。这3种方案均是基于DNA进行数据加密,CBIE首先利用DNA序列和logistic图谱生成许多DNA掩模,然后利用遗传算法寻找最佳的DNA模板,以寻找适合图像加密的最佳DNA掩模。RDHS使用DNA异或规则来处理用户的机密或敏感多媒体文件。RDHS中,信息被嵌入,经过提取处理后,信息准确地还原为原始的宿主信号。但是,如果攻击者获得二进制编码规则和DNA异或规则,则攻击者可以获得数据的原始内容。
表4 各算法的密钥生成时间/ms
可以看出,与CBIE和RDHS相比,本文算法可以更快速生成密钥,这是因为一旦密钥被提供给用户,用户就可在将来使用生成的密钥,对于已具有密钥的现有或老用户,密钥生成时间减少。在CBIE和RDHS方案中,所有用户或客户必须在每次访问多媒体时获得密钥才能进行下一步的处理,导致检索时间呈现线性增长。
表5给出了各算法的密钥检索时间。可以看出,所提算法可以更快检索用户生成的密钥,为用户检索密钥提供更好的结果。这是因为在本文算法中,如果老用户或现有用户已经收集了密钥,则不需要从Do获取DNA密钥,为用户检索密钥提供了更好的结果。在现有的CBIE和RDHS中,每当用户想要从云数据库中获取任何数据时,每次都需要从DO获取密钥并进行检索,其密钥检索时间较长,并且会产生线性增长。
表6给出了各算法的加密时间。可以看出,在云计算环境下,本文算法加密时间最短,具有较快的加密速度。这是因为,本文算法使用表1、表2和DNS参考秘钥和补充规则生成DNA秘钥,一旦密钥被提供给用户,用户就可以在将来使用它,对于已经具有DNA秘钥的现有或老用
表5 各算法的密钥检索时间/ms
户,密钥生成时间减少。而CBIE的迭代算法增加了多媒体文件加密的时间,RDHS使用直方图修改技术,所有用户必须在每次访问多媒体时获得密钥才能进行下一步的处理,增加了数据加密的时间。
表6 各算法的加密时间/ms
表7给出了各算法的多媒体解密时间。可以看出,本文算法具有最短的解密时间,产生了更好的效果。这是因为,本文算法在DO在传输密钥时向用户提供所有凭证,用户可以使用这些凭证轻松地解密多媒体文件或信息。多媒体解密不需要复杂的操作,需要4个EXOR操作,减少了解密时间。而CBIE和RDHS需要进行许多复杂的操作和EXOR操作来解密多媒体文件,增加了时间。
表7 各算法的解密时间/ms
所提出的基于DNA的多媒体加密方案可以防止许多攻击。
碰撞攻击:在本文算法中,密钥是根据用户提供的密码和用户的属性(如ID、地址和出生日期)生成的,两个用户的属性不可能完全相同,此外,密码是基于用户的选择。DO和CSP不会向其他人透露任何敏感信息,如果黑客试图合并两个不同用户的两个不同输入的详细信息,则黑客或恶意用户必须拥有两个授权用户的所有机密详细信息以及表1、表2、表3以及DNA参考密钥和补充规则。获取关于两个不同用户的所有信息几乎是不可能的,因此,本文算法可以抵抗碰撞攻击。
校验值丢失攻击:在本文算法中,DO生成DNA密钥并用它加密多媒体文件,加密后的多媒体文件在存储到云数据库之前使用DO密钥和CSP公钥再次加密。DNA私钥只提供给使用DO私钥和用户公钥加密的授权用户,DO通过CSP验证用户的真实性后生成密钥。相应的用户只有在使用用户密钥和DO公钥解密时才能获得密钥。DO不会将DNA密钥存储在任何地方,甚至不会存储在云服务器上。在窃取的校验值攻击中,黑客或恶意用户不能获得哈希密码,提出的算法可以抵抗校验值丢失攻击。
网络钓鱼攻击:在本文算法中,CSP在收到用户的注册请求后,将用户的所有详细信息或信息集合起来,CSP通过安全套接字层提供公钥和私钥对。CSP也遵循相同的方法来注册DO。当用户发送对多媒体或数据的访问请求时,服务提供商仅以密文形式向用户提供相应DO公钥,DO仅在确认用户的真实性后提供DNA私钥。DO和CSP都不会向授权用户公开自己的任何敏感或机密信息。因此,黑客或恶意用户无法获取授权用户的信息,可以抵抗网络钓鱼攻击。
密码猜测攻击:黑客或恶意用户尝试所有可能的密码组合来获得有效密码,在该方案中DO根据密码和用户属性,使用表1、表2、DNA参考密钥和互补规则创建DNA密钥。在多媒体加密阶段,DO使用表2、表3、DNA参考密钥和补充规则。由于DNA密钥是利用用户的秘密信息生成的,因此黑客或未经授权的用户难以获取所有的秘密信息。如果一个黑客在最坏的情况下获得了一个授权用户的所有秘密信息,则其必须有表1、表2、DNA参考密钥和补充规则来检索密钥。DO通过使用DO密钥和用户公钥,只与加密结构中的授权或有效用户共享这些凭证,只有相应的有效用户可以使用其DO密钥和用户公钥对其进行解密,对于任何攻击者或恶意用户来说,猜测所有这些信息几乎是不可能的。提出的算法可以抵抗密码猜测攻击。
伪装攻击:未经授权的用户使用任何虚假信息或身份进行未经授权的访问,所有用户都需要在CSP上注册,注册成功后才能访问任何服务。因此,未经授权或恶意用户无法使用伪造的身份登录云服务器,也无法在未登录云服务器的情况下访问云服务器上的任何服务。在最坏的情况下,如果黑客登录到云服务器并请求获取任何多媒体文件,CSP将提供DO公钥,用于从相应的DO获取密钥和证书。在生成和发送DNA密钥和证书之前,DO从CSP确认用户的真实性,如果黑客使用伪造的身份访问任何多媒体文件,则CSP端不验证其真实性,DO拒绝发送密钥和证书的请求。因此,攻击者或黑客无法通过使用伪造的身份从云服务器获得任何未经授权的访问,提出的算法可以抵御这种攻击。
提出了一种云计算中基于DNA密码学的多媒体安全模型,用来解决云环境下多媒体由于通过互联网传输而易受到黑客攻击的问题。数据所有者根据用户属性、用户密码、DNA参考密钥、互补规则和十进制编码规则随机生成长1024位密钥,使用生成的密钥基于DNA序列来加密多媒体文件。数据所有者将加密的多媒体数据内容存储在云数据库中,只有授权用户才能从云服务器访问加密的多媒体文件。实验结果表明,本文算法具有更高的效率,能够保护多媒体文件免受校验值丢失攻击、碰撞攻击、网络钓鱼攻击、密码猜测攻击、伪装攻击等多种安全攻击。未来的工作是对本文方案的安全性分析进行数学证明,并改进云计算环境的认证过程。