加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_郴州站长网 (http://www.0735zz.com/)- 云通信、区块链、物联设备、云计算、站长网!
当前位置: 首页 > 云计算 > 正文

安全云存储系统的核心技术

发布时间:2021-07-01 15:44:00 所属栏目:云计算 来源:互联网
导读:安全云存储系统的关键技术 为了保证安全云存储系统的正确性和高效性,不同系统的设计者往往会根据自己系统的特征,为系统添加一些特定的解决方案,这些解决方案便称为安全云存储系统中的关键技术,在不同的系统中所使用的关键技术也不尽相同,特别是随着云存
    安全云存储系统的关键技术
 
 
    为了保证安全云存储系统的正确性和高效性,不同系统的设计者往往会根据自己系统的特征,为系统添加一些特定的解决方案,这些解决方案便称为安全云存储系统中的关键技术,在不同的系统中所使用的关键技术也不尽相同,特别是随着云存储的发展与应用,一些在传统安全网络存储系统中所不关注的技术在安全云存储系统中却受到了重视,现有的云存储系统中所使用到的关键技术大致可分为以下几类。
 
 
    1 安全、高效的密钥生成管理分发机制
 
 
    在目前的安全云存储系统中,数据加密存储是解决机密性问题的主流方法。数据加密时必须用到密钥,在不同系统中,根据密钥的生成粒度不同,需要管理的密钥数量级也不一样,若加密粒度太大,虽然用户可以很方便地管理,却不利于密钥的更新和分发;若加密粒度太小,虽然用户可以进行细粒度的访问权限控制,但密钥管理的开销也会变得非常大,现有的安全云存储系统大都采用了粒度偏小或适中的加密方式,在这种方式下系统将会产生大量密钥,如何安全、高效地生成密钥并对其进行管理与分发是安全云存储系统中需要解决的重要问题。
 
 
    1.1 密钥的生成机制
 
 
    密钥生成关键在于如何减少需要维护的密钥数量和能够高效处理密钥的更新,目前的安全云存储系统所采用的密钥生成机制主要有以下3种。
 
 
    1)随机生成
 
 
    随机生成密钥是最直接产生对称密钥的方式,CRUST和Plutus等系统均采用了这种方式产生对称密钥对数据进行加密,这种加密方式具有良好的私密性和可扩展性,数据内容不容易被破解,但是密钥不能用作其他用途(例如数据的完整性校验),生成的数据密文随机性较强,不利于系统的重复数据删除操作。
 
 
    2)数据收敛加密
 
 
    使用数据明文的某种(或多种)属性生成密钥对数据本身进行加密,使得相同数据明文经过加密后,生成的密文也相同的技术被称为数据收敛加密技术,Corslet系统利用收敛加密的思想提出了一种数据白加密的方式(如图2所示),通过每个文件块的散列值与偏移量作为密钥,对文件块本身进行加密。
 
      
 
    图 数据自加密
 
 
    数据收敛加密的好处主要体现在以下几个方面:①若密钥的生成方式与数据的散列值有关,生成的密钥则可以用来校验数据的完整性,从而节省了存储空间;
 
 
    ②修改数据的同时会修改密钥,因此特别适合懒惰权限撤销;
 
 
    懒惰权限撤销是指在基于共享的安全云存储系统中,若某个用户的访问权限被撤销,系统并不立即更换密钥对数据重新进行加密,而是采用触发的方式,当某个特定的事件发生时才对数据重新加密,例如,使用自加密技术后,若某个用户的访问权限被撤销,系统只需在访问控制信息中删除此用户的相关信息,待下次写操作发生时再对数据重新加密即可;
 
 
    ③相同内容的文件加密后密文依然相同,非常适合在系统中进行重复数据删除操作。
 
 
[page]    3)通过特殊计算生成
 
 
    在一些特定的应用场景中,为了提供一些特殊的功能,有时对文件密钥的生成也有一些特殊的要求,例如Vanish系统为了提供可信删除机制,要求密钥能够分成研份,用户只需要取得其中行份就能够解密文件,通过特殊计算生成的密钥通常是为了实现某个特定的功能,丧失了一定的通用性。
 
 
    1.2密钥的管理机制
 
 
    目前的安全云存储系统大都采用分层密钥管理方式,其基本思想是将所有的密钥以金字塔形式排列,上层密钥用来加密/解密下层密钥,这样层层加密后,用户只需要管理位于金字塔尖的密钥,其他的密钥均可以放在不可信的环境中,或者以不可信的方式进行分发传递,因此,分层密钥管理方式可以在保证系统安全性的前提下,将大量的密钥交给不可信的实体进行管理,用户及可信实体只需要保存极少量的密钥就可以达到以前的效果,大大提高了用户的方便性。
 
 
    安全云存储系统大都采用2~3层的密钥管理方式,一般来说,无论某个系统将密钥分为多少层,我们都可以将它看成两层——顶层和其他层,现有系统在管理与分发顶层密钥时大都采用了PKI。26一体系中的公私钥算法,或是直接交给一个可信的第三方进行,相对地,其他层密钥可以直接存放在云存储中,合法用户在需要时从云存储中下载即可。
 
 
    通过分层密钥管理的方式,安全云存储系统中的众多密钥可以被高效地组织起来,在保证数据私密性和完整性的同时,能够大量减少用户在密钥管理方面的开销,提高系统的效率,也有利于用户身份认证、访问授权等功能的安全实现。
 
 
    1.3密钥的分发机制
 
 
    安全云存储系统大都具有共享功能,从而有了密钥分发的需求,一般来说,安全云存储系统中的密钥有以下3种分发方式:
 
 
    1)通过客户端进行分发
 
 
    通过客户端对密钥进行分发是一种较老的分发方式,在这种方式下,服务器在任何情况下都不接触任何形式的密钥,因此安全程度很高,这种方式的缺点是要求客户端一直在线,一旦数据拥有者下线,数据的被共享者将因为无法获取密钥而不能访问数据。
 
 
    2)密文形式通过云存储进行分发
 
 
    密钥经加密后存放在云存储中,数据被共享者访问数据时需要先从云存储中获取到数据密文和加密后的密钥,然后通过某种约定的方式(例如公私钥加解密方式)解密出密钥明文,随即再解密出数据明文,这种密钥分发的方式目前是业界中的主流方法,Spideroak,wuala等系统都是采用这种方式进行密钥分发,这种方式的优点是充分利用云存储的存储资源,采用了成熟的加解密技术,并可以随时对密钥进行发放;其缺点是过于依赖云存储,同时密钥冗余量太大,存储资源浪费较严重。
 
 
    3)通过第三方机构进行分发
 
 
    密钥分发除了通过客户端和云存储进行之外,还可以通过与客户端和服务器独立的“第三方”进行,FADE系统和Corslet系统使用一个可信的第三方服务器,用来集中管理分发密钥;Vanish系统通过DHT网络进行密钥分发,通过第三方机构的密钥分发方式结合以上两种方式的优点,但对应用场景的依赖较强,因此大都出现在某些特定的应用中。
 
 
    2 基于属性的加密方式
 
 
    在公私钥加密体系中有一种特殊的加密方式:基于属性的加密方式(attribute-based encryption),基于属性的加密方式以属性作为公钥对用户数据进行加密,用户的私钥也和属性相关,只有当用户私钥具备解密数据的基本属性时用户才能够解密出数据明文,例如:用户1的私钥有A,B两个属性,用户2的私钥有A,C两个属性,若有一份密文解密的基本属性要求为A或B,则用户1和用户2都可以解密出明文;同样,若密文解密的基本属性要求为A和B,则用户1可以解密m明文,而用户2无法解密此密文。
 
 
    基于属性的加密方式是在公钥基础设施(PKI)体系的基础上发展起来的,它将公钥的粒度细化,使得每个公钥都包含多个属性,不同公钥之间可以包含相同的属性,基于属性的加密机制有以下4个特点。1)资源提供方仅需要根据属性加密数据,并不需要知道这些属性所属的用户,从而保护了用户的隐私;2)只有符合密文属性的用户才能解密出数据明文,保证了数据机密性;3)用户密钥的生成与随机多项式或随机数有关,不同用户之间的密钥无法联合,防止了用户的串谋攻击;4)该机制支持灵活的访问控制策略,可以实现属性之间的与、或、非和门限操作。
 
 
    安全云存储系统中基于属性的加密方式其研究点在于:如何在系统中使用这种新的加密机制提高其服务效率与质量,而不是加密方式本身,基于属性的加密方式其特点使得它非常适合于模拟社区之类的应用,但是,目前基于属性的加密方式其时间复杂度很高、系统面向群体的安全需求很少的特点,使得这种加密方式目前的安全云存储系统中的应用并不广泛,随着安全云存储系统研究的进一步深入、属性加密方式的时间复杂度的降低,未来的安全云存储系统中一定会广为使用这种新的加密机制。
 
 
    3 基于密文的搜索方式
 
 
    一些云存储系统中添加了数据搜索的机制,使得用户可以高效、准确地查找自己所需要的数据资源,在安全云存储系统中,为了保证用户数据的机密性,所有数据都以密文的形式存放在云存储中,由于加密方式和密钥的不同,相同的数据明文加密后所生成的数据密文也不一样,因此无法使用传统的搜索方式进行数据搜索。
 
 
    为了解决这个问题,近年来一些研究机构提出了可搜索加密机制(searchable encryption),能够提供基于数据密文的搜索服务,目前可搜索加密机制的研究可分为基于对称加密(symmetry keycryptography based)的SE机制和基于公钥加密(public key cryptography based)的SE机制两类,基于对称加密的SE机制主要是使用一些伪随机函数生成器(pseudorandom function generator)、伪随机数生成器(pseudorandom number generator)、散列算法和对称加密算法构建而成,而基于公钥加密的SE机制主要是使用双线性映射等工具。将安全性建立在一些难以求解复杂性问题之上,基于对称加密的SE机制在搜索语句的灵活性等方面有所欠缺,并只能支持较简单的应用场景,但是加解密的复杂性较低,而基于公钥加密的SE机制虽然有着灵活的搜索语句,能够支持较复杂的应用场景,但搜索过程中需要进行群元素之前和双线性对的计算,其开销远高于基于对称加密的SE机制。
 
 
    在安全云存储系统中,基于对称加密的SE机制比较适用于客户端负责密钥分发的场景:当数据共享给其他用户时,数据所有者需要根据用户的搜索请求产生相应的搜索凭证,或将对称密钥共享给合法用户,由合法用户在本地产生相应的搜索凭证进行搜索,基于公钥加密的SE机制则更加适用于存在可信第三方的应用场景:用户可以通过可信第三方的公钥生成属于可信第三方的数据,若其他用户想要对这些数据进行搜索,只需要向可信的第三方申请搜索凭证即可,目前SE机制的难点与发展方向在于如何提高效率且支持灵活查询语句,以及如何保留数据明文中的语义结果,随着可搜索加密机制的逐步完善,安全云存储系统中对数据密文搜索的关联度、准确度以及效率方面将会越来越高,越来越多的安全云存储系统将会选择添加SE机制进行搜索,到那时,安全云存储系统的应用范围将更加广泛。
 
 
    4 基于密文的重复数据删除技术
 
 
    在一般的云存储系统中,为了节省存储空间,系统或多或少会采用一些重复数据删除(data deduplication)技术来删除系统中的大量重复数据,但是在安全云存储系统中,与数据搜索问题一样,相同内容的明文会被加密成不同的密文,因此也无法根据数据内容对其进行重复数据删除操作,比密文搜索更困难的是,即使将系统设计成服务器可以对重复数据进行识别,由于加密密钥的不同,服务器不能删除掉其中任意一个版本的数据密文,否则有可能出现合法用户无法解密数据的情况。
 
 
    目前对数据密文删冗的研究仍然停留在使用特殊的加密方式,相同的内容使用相同的密钥加密成相同的密文阶段,并没有取得实质性的进展,Storer等人在2008年提出了一种基于密文的重复数据删除的方法,该方法采用收敛加密技术,使得相同的数据明文的加密密钥相同,因此在相同的加密模式下生成的数据密文也相同,这样就可以使用传统的重复数据删除技术进行对数据进行删冗操作,除此之外,近年来并无真正基于相同明文生产不同的密文的问题提出合适的解决办法。
 
 
    重复数据的删除是安全云存储系统中很重要的部分,但目前的研究成果仅限于采用收敛加密方式,将相同的数据加密成相同的密文才能在云存储中进行数据删冗操作,因此,如何在加密方式一般化的情况下对云存储中的数据进行删冗是安全云存储系统中的一个很有意义的研究课题。
 
 
[page]    5 基于密文的数据持有性证明
 
 
    在安全云存储系统中,用户数据经加密后存放至云存储服务器,但其中许多数据可能用户在存放至服务器后极少访问,例如归档存储等,在TWinstrata公司2012年的调查报告中,这类应用在云存储系统的使用中占据不小的比例,在这种应用场景下,即使云存储丢失了用户数据,用户也很难察觉到,因此用户有必要每隔一段时间就对自己的数据进行持有性证明检测,以检查自己的数据是否完整地存放在云存储中。
 
 
    目前的数据持有性证明主要有可证明数据持有(provable data possession,PDP)和数据证明与恢复(proof of retrievability,POR)两种方案,PDP方案通过采用云存储计算数据某部分散列值等方式来验证云端是否丢失或删除数据,文献[41]最早提出了远程数据的持有性证明,通过基于RSA的散列函数计算文件的散列值,达到持有性证明的目的。在此之后,许多文献各自采用了同态可认证标签、公钥同态线性认证器、校验块循环队列以及代数签名副等结构或方式,分别在数据通信量、计算开销、存储空间开销以及安全性与检查次数等方面进行了优化,POR方案在PDP方案的基础上添加了数据恢复机制,使得系统在云端丢失数据的情况下仍然有可能恢复数据,最早的POR方案通过纠删码提供数据的可恢复机制,之后的工作在持有性证明方面作了一定的优化,但也大都使用纠删码机制提供数据的可恢复功能。
 
 
    云存储的不可信使得用户有着数据是否真的存放在云端的担忧,从而有了数据持有性证明的需求,现有的数据持有性证明在加密效率、存储效率、通信效率、检测概率和精确度以及恢复技术方面仍然有加强的空间,此外,由于不同安全云存储系统的安全模型和信任体系并不相同,新的数据持有性证明应该考虑到不同的威胁模型,提出符合相应要求的持有性证明方案,以彻底消除安全云存储系统中用户数据在存储过程中是否完整的担忧。
 
 
    6 数据的可信删除
 
 
    云存储的可靠性机制在提高数据可靠性的同时也为数据的删除带来了安全隐患:数据存储在云存储中,当用户向云存储下达删除指令时,云存储可能会恶意地保留此文件,或者由于技术原因并未删除所有副本,一旦云存储通过某种非法途径获得数据密钥,数据也就面临着被泄露的风险,为了解决这个问题,2007年Perlman等人在文献[47]中首次提出了可信删除(assured delete)的机制,通过建立第三方可信机制,以时间或者用户操作作为删除条件,在超过规定的时间后自动删除数据密钥,从而使得任何人都无法解密出数据明文,Vanish系统中提出了一种基于DHT网络的数据可信删除机制:用户在发送邮件之前将数据进行加密,然后将加密密钥分成”份存放在DHT网络中,邮件的接收者只需要拿到k(k≤n)份密钥就能够正常地解密,所有的密钥在超过规定的时间后将自动删除,使得在超过规定的时间后任何人无法恢复数据明文。
 
 
    FADE系统在文献[47]的基础上提出了一种基于策略(policy-based)的可信删除方式:每个文件都对应一条或多条访问策略(访问策略类似于属性加密(attribute-based encryption)机制中的属性,例如Bob可以访问和2013年之前是两条不同的策略),不同的访问策略之间可以通过逻辑“与”和逻辑“或”组成混合策略,只有当文件的访问者符合访问策略的条件时才能解密出数据明文,在具体的实现中,首先随机生成一个对称密钥K加密文件,然后为每个访问策略生成一个随机密钥S,并按照混合策略的表达式对对称密钥K进行加密,第三方可信的密钥管理服务器(key manager)为每一个S,生成一个公私钥对,客户端使用此公钥加密S,后,将数据密文、对称密钥K的密文以及S,的密文保存在云存储端,当数据删除操作发生或策略失效时,密钥管理服务器只需要删除相应的私钥就能够保证数据无法被恢复,从而实现了数据的可信删除。
 
 
    云存储不可控的特性产生了用户对数据的可信删除机制的需求,目前在数据可信删除方面的研究还停留在初始阶段,需要通过第三方机构删除密钥的方式保证数据的可信删除,因此在实际的安全云存储系统中,如何引入第三方机构让用户相信数据真的已经被可信删除,或是采用新的架构来保证数据的可信删除都是很值得研究的内容。

(编辑:开发网_郴州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读