山东省聊城第一中学 布吉瑞
云存储环境下支持动态所有权管理的安全协议设计
山东省聊城第一中学 布吉瑞
云存储环境为海量数据的存储和共享提供方便的同时也带了安全隐患。为保证数据安全,用户将自己的隐私数据加密后存储在开放的云存储环境中,如何在云存储环境下实现用户动态的所有权管理,保障数据共享安全性是亟需解决的问题。本文提出了一种新的解决方案,即通过服务器对文件密钥的二次加密,每当用户下载时,将二次密钥的密文分成若干段,秘密嵌入密文的不同位置,使得用户每次下载的密文都有所不同,从而实现安全共享,抵抗暴力攻击的目的。安全分析和实验结果表明,该安全协议在支持文件拥有权动态管理的同时,适用于实际的云存储环境。
云存储;动态所有权;Hash;加密
云存储是一种新兴的网络应用模式,它将大量计算资源和存储资源链接在一起,形成巨大的共享虚拟存储池为用户提供服务。为保证用户数据安全性,用户在上传文件之前,先进行加密,将密文和密钥的密文存放到云存储服务器,由服务器对密钥的密文进行二次加密,从而实现对文件拥有权的动态管理。当多个用户上传同一份文件时,传统服务器需要存储多个文件副本,这样会造成存储空间的浪费。而云端数据去重复化删除技术可以让服务器只存储一个文件副本,多个用户共享,解决了存储空间冗余问题。当首位上传者上传文件后,后续上传者不需要再次上传整个文件,只需要与服务器交互进行文件所有权的验证,通过验证后,即可被授权访问云端相应文件。但是这一方案,要求服务器需要有一定的安全机制,保证用户合法的文件访问权,支持文件拥有权的动态管理。当用户对上传的文件内容进行更新操作(比如:修改,删除,添加等),则服务器必须保证用户只能访问修改后的文件,而不允许访问修改前的文件。有一个解决思路是,云端共享同一文件的用户组成一个群,当群成员发生变动时,即有用户对文件内容进行修改,或有新的用户上传该文件,或原有的用户删除该文件,服务器及时更新群成员,保证仅当前群成员能够访问该文件。本文提出了一种新的安全机制,使服务器支持动态所有权管理,同时保证运行效率以及安全性。当文件在上传到云存储服务器时,经过了用户加密,而文件的密钥经过了用户和服务器的二次加密。与现有方案不同,没有采用运行效率低的CP-ABE,但能有效地抵抗暴力攻击,安全性高。本方案中,要求服务器对文件密钥的密钥盒子管理和更新。当有用户请求下载密文时,服务器先对密文做“加密”处理,即将密钥密文进行二次加密,将二次加密后的密钥秘密嵌入到密文中,在通过秘密通道将二层盒子的密钥和随机值传递给用户,保证密文密钥的安全性。
1.1 哈希算法
即散列函数,是一种单向密码体制,即从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。具有三大特性:
(1)单向性:从预映射能够简单迅速的得到散列值,而在计算上不可能构造一个预映射,使其散列结果等于某个特定的散列值,即构造相应的反向函数不可行。
(2)抗冲突性:在统计上无法产生2个散列值相同的预映射。
(3)映射分布均匀性和差分分布均匀性:要实现使散列结果中出现 1bit 的变化,则输入中至少有一半以上的 bit 必须发生变化。其实质是必须使输入中每一个 bit 的信息,尽量均匀的反映到输出的每一个 bit 上去;输出中的每一个 bit,都是输入中尽可能多 bit 的信息一起作用的结果。
1.2 加密算法
加密算法是对明文进行各种代替和变换得到一个密文的一种算法,由解密算法(本质上是加密算法的逆运算)将密文转换成原始明文。常见的加密算法有AES等。
2.1 系统模型及功能介绍
云存储系统共分为存储服务器、首位上传者和后继上传者三大部分。
存储服务器:作为服务器为大量用户提供存储服务,拥有巨大的计算和存储资源。存储服务器负责存储用户上传的文件。但服务器对用户数据的内容持有好奇心,所以服务器是半可信的。当用户对上传文件进行修改操作后,服务器应该控制管理该用户只能访问修改后的文件,而不能继续访问原上传文件。即实现用户文件拥有权的动态管理。
首位上传者:当一份文件被用户首次上传到存储服务器时,该用户就为文件的首位上传者。文件的首位上传者负责将文件加密上传,并将文件的密钥用文件内容(例如:哈希值)加密并上传,以实现多用户同一文件的共享。
后继上传者:当要上传的文件已经被某个用户上传,则当前用户只需要通过文件的所有权验证,即可被授权访问服务器端的密文和密钥。文件的所有权验证并不在本文的讨论范围。
用户:当用户通过服务器的身份验证时,该用户才是合法的。合法的用户可以访问自己上传过的文件。但是,当该用户对上传过的文件内容进行修改操作后,应只被允许访问修改后的文件,而不允许访问原上传文件。合法用户可以下载密文和密钥密文,恢复出原文件。
2.2 协议框架图
当首位上传者上传文件时,需要用随机生成的密钥加密文件,并用文件的哈希值加密该随机密钥,将密文和密钥密文一同上传到服务器端存储。后继上传者,只需要通过文件的所有权认证,即可被授权访问服务器端的密文和密钥密文,无需再次上传整个文件,节省上传带宽。服务器采用去重复化删除机制只需要存储同一文件的一个副本,实现用户间的文件共享,可以节省大量的存储空间,降低服务器供应商的成本。同时服务器还应当保护用户数据的安全性,即只允许文件的拥有者访问该文件,当上传者对文件的内容做修改操作后,服务器应只允许该用户访问修改后的新文件,而不允许用户拥有解密原上传文件的能力。为了实现这一功能,支持文件拥有权的动态更新操作,当有用户请求下载文件时,服务器需要先对密文做“加密”处理,再下载处理后的密文。“加密”处理过程:服务器随机产生一个密钥,用于二次加密文件密钥,将加密后的密钥分成若干个部分,随机地插入到文件密文中,将嵌入后的密文发送给用户。同时服务器将随机种子和二次加密密钥通过安全信道传递给用户。用户收到密文以及安全信道传送的两个秘密值后,可将密钥密文段从密文中分离出来,先解密密钥的二层密文,再用文件哈希值解密密钥的一层密文,得到的密钥解密原密文,即可恢复出明文。
由于每次用户请求,服务器都会随机产生二次加密密钥来生成密钥密文的外层盒子。当用户对上传的文件内容进行修改操作后,服务器会将该用户从原文件的拥有群中删除,添加到新文件的拥有群。当该用户再次对原文件有下载请求时,服务器不会应答。该用户也无法正确解密得到原来的文件密钥,因为文件密文会应每次嵌入的密钥密文段的内容和位置不同而不同,从而实现了用户文件拥有权的保护。
本文构造一种新型的、支持用户动态所有权管理的云端文件安全共享协议。在协议中,文件的加密密钥由首位上传者产生。上传同一文件的多个用户之间,通过收敛加密机制,传递文件密钥。为保证文件的安全性,服务器应该支持动态管理用户文件所有权,以实现文件的安全共享,保证当用户对上传后的文件进行修改操作后,不具备再次访问原文件的能力,只能访问修改后的文件。该方案采用了服务器端密钥二次加密、密钥密文随机嵌入文件密文的方法,以实现文件安全共享。通过实验测试,该协议的运行时间少,效率高,具有高的实用价值。
[1]姚文斌,韩司,李小勇.云存储环境下的密文安全共享机制[J].通信学报,2015.
[2]刘孟占.基于密文规则的属性基加密技术的云存储数据共享机制[J].计算机应用,2013.
[3]张大军,李运发,郑周.云计算中数据资源的安全共享机制[C].全国计算机安全学术交流会论文集,2012.