针对云存储的数据保护.doc
上传人:sy****28 上传时间:2024-09-12 格式:DOC 页数:8 大小:1.8MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

针对云存储的数据保护.doc

针对云存储的数据保护.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

针对云存储的数据保护前言用户面临的问题随着云计算概念的流行,云存储也在越来越多地被提及。云存储依靠其低成本、可扩展的特点得到了广泛的支持和关注,但是也带来了新的安全问题:大多数情况下,用户并不能完全信任云存储服务提供商,一项调查显示,出于安全方面的考虑,多达70%的用户仍然不愿意将关键数据置于自身控制域之外。事实上,GoogleDocs,TheLinkup等多家著名云服务提供商都曾出现过各种安全问题,并导致了严重的后果。安全技术的缺失已经成为云存储普及的最重要障碍。本文分析了用户面临的两大问题:(1)在众多安全中,访问权限问题处于云存储系统中的接口层,主要负责身份认证和权限管控。该问题主要表现为:目前已有的认证机制,只考虑了服务器端对用户端的身份认证,而缺乏用户对服务器端的认证。容易存在数据劫持等安全隐患问题。针对以上问题本文提出一种可以有效的实现用户对服务器身份认证的机制。(2)云服务提供商完全可能为了自己的利益将用户的资料给予非法用户或者私自查看用户的资料。现有研究成果(1)如图1所示,当用户在其云服务平台注册时,服务器端为每一个用户分配一个AccessKeyID和一个SecretAccessKey,当用户发出服务请求时,系统会自动生成一个服务请求字符串,用户端使用HMAC函数将SecretAccessKey生成数字签名,然后将数字签名和服务请求字符串发送给云服务端,云服务端接收到消息后根据用户提供的AccessKeyID查询到其对应的SecretAccessKey,然后再生成数字签名,若和用户提供的数字签名一致,则表示通过认证,否则拒绝。图1由以上用户认证方式我们可以发现,在整个认证过程中,只有云服务端对用户端的认证,而缺乏用户端对服务端的认证,这就会带来至少2个方面的问题:1)假使有其他恶意机构通过数据劫持伪造云服务提供商,可是用户却并不知晓,这样用户会将SecretAccessID,用户ID发送至恶意机构。2)云服务提供商可以在不通知用户的情况下随心所欲地查看用户存放在云端的数据。因为云端读取数据时并不需要用户的参与。2)密文访问控制技术是服务器端不可信场景下的数据机密性解决方案。数据属主在存储数据之前预先对其进行加密,通过控制用户对密钥的获取权限来实现访问控制目标。一个典型的密文访问控制结构如图2所示。当前已经有许多针对密文访问控制技术进行的研究,此类方法可以较好地解决数据机密性的问题,但是由于用户对数据密钥的获取权限完全由数据属主控制,权限管理的复杂程度将随着数据量和用户量的增长显著提高,从而导致云端成为系统的瓶颈。图2典型密文访问控制架构在最初的密文访问控制方法中,数据属主将每个数据文件分别使用单独的密钥加密,并通过特定渠道向用户分发数据密钥。为了降低分发代价,Goh等人提出将数据密钥以用户的公钥加密,并存储于服务器端,用户直接访问服务器获取数据密钥。在上述2类方法中,系统都需要维护大量的数据密钥信息.为了减少需要维护的密钥数量,Damiani等人提出了一种层次访问控制方法(hierachicalaccesscontrol,HAC),让用户可以通过用户私人密钥以及一份公开的信息表(token)推导出被授权访问的数据密钥。HAC是一种经典的密文访问控制方法,许多不可信存储环境下的访问控制技术研究都是以HAC为基础的。但是目前HAC至少存在2个问题:首先,结构复杂,其次,token表的安全性也难以保证:token表也保存于服务器端,同样面临着来自不可信CSP的威胁。因此在实际应用中该方法仍然难以抵抗恶意服务器发起的重放攻击。云存储数据保护用户对服务器的认证方案详解本方案是在传统认证机制的基础上加上了用户对服务器端的认证,保证了用户数据安全,防止数据被非法截取。如图3所示,首先用户发送服务请求服务器认证,若服务器认证未通过,则服务器向用户发送认证失败消息,若认证通过服务器对用户发送认证请求,用户认证服务器合法性,若服务器合法则发送认证通过消息,并发送数据或请求服务器发送数据,若认证不通过,则用户得知服务器非法,拒绝通信。图3认证机制具体流程:服务器端对用户的认证如图4所示,当用户在其云服务平台注册时,服务器端为每一个用户分配ID、KEYuser(用于服务器对用户的认证)、KEYserver(用于用户对服务器的认证),当用户发出服务请求时,系统会自动生成一个服务请求字符串,用户端使用过HMAC函数将服务请求字符串和KEYuse生成数字签名,然后将数字签名和服务请求字符串发送给云服务端,在云服务端接收到消息后根据用户提供的ID查询到其对应的KEYuser,然后再同请求字符串生成数字签名,若和用户提供的数字签名一致,则表示通过认证,否则拒绝。用户对服务器端的认证如