面向云环境的高效匿名认证系统的设计与实现
2017-07-14王家礼张杰郭振远瞿兴鹏徐凯文石
王家礼+张杰+郭振远+瞿兴鹏+徐凯文+石润华
摘要:随着信息化程度的不断提高,云存储以其扩展性强、性价比高、容错性好等优势得到快速的发展。利用Hadoop构建分布式系统以搭建云环境存储平台,采用Java开发平台设计与实现用户与云服务器的双向认证系统。并进一步实现了用户对身份隐匿性的安全需求,从而能够保护用户的敏感信息不会被泄露。
关键词:Hadoop;匿名认证;云存储
云计算为用户提供了大量的计算资源和存储资源,同时也提供了强有力的处理能力,使得用户不再受到本地资源的限制。然而,随着云计算技术被广泛采用,各种安全和隐私问题成为阻碍其进一步发展的重要因素。在云计算环境下,用户需要和云服务器进行安全的双向认证以避免攻击者进行伪造攻击。但是同时,在认证过程中用户的敏感身份信息需要得到保护,因此该认证系统需要实现用户匿名性。
1系统功能
面向云环境的高效匿名认证系统的功能主要优势体现在能够很好地满足各种用户的需要。对于不同的用户(如老师和学生),在使用系统时,用户无法确认文件的归属者是谁。例如老师可以知道文件是某班学生上传,而无法确定具体是哪位学生,这样就很好地保护了上传文件学生的敏感信息。同时该系统能实现数据的云端存储和下载,普通用户可以在系统中实现对文件的操作(上传、下载等),管理员则负责对文件的管理。由于云端存储空间巨大,同时配合hadoop平台的高容错率和稳定性,能够实现资源的共享功能,不会因为资源而有太多的限制。
2系统设计
本系统是在虚拟机环境下利用Hadoop搭建的伪分布式平台来实现云环境的搭建。系统的底层环境采用HDFS作为云端存储,基本模式是市面上常见的基于C/S(即客户端/服务器)模式设计系统。客户端软件程序是利用Java语言进行开发的。该系统是充分利用Hadoop集群威力,通过匿名认证能够满足用户在系统中高效的进行上传文件以及下载文件等操作的同时保持身份的匿名性,在实现匿名认证的同时,系统也支持高效的用户撤销功能。
2.1云环境系统搭建
该系统利用Hadoop平台构建伪分布式系统用来接受并存储文件。Hadoop伪分布式平台利用集群的威力具有很高的可靠性、扩展性、容错性和高效性,而且搭建平台的技术门槛较低,用户可以在不了解分布式底层细节的情况下,开发分布式程序,适合初学者。
平台具体搭建过程如下:1)选择三台或三台以上机器:我们选择了在虚拟机上创建了三台主机。2)下载并安装JDK以及Hadoop,之后进行正确的配置来构建运行环境。3)配置完环境之后选择三台主机的网络节点来配置连通信道,利用Hadoop的特点构建一个由三台主机构成的集群系统。4)根据已建立的云平台进行存储系统的配置,云存储系统结构图如图1所示。5)正确调配服务器,保证各功能的正常使用。
2.2客户端软件开发
客户端先利用Android Studio开发环境设计架构一个安卓用户APP模板,之后基于此APP上通过编程来实现用户注册登录过程。
用户登录时,后台会对用户信息进行验证,如果验证正确将被云服务器授予权限,进入系统界面,如果验证错误,会出现信息“身份信息错误,请重新输入!”之后用户重新写入个人信息重复上面的登录过程。
用户登录后进入系统界面,上面有几项功能,分别为数据传输与数据接收功能。
点击数据传输按钮,APP将与云服务器端进行数据传递,传递的数据进行加密。之后点击数据接收按钮,APP将接收云服务器端发送过来的数据。
如果用户退出登录,用户将被撤销访问云服务器的权限,如若想继续获得权限,需重新登录,认证之后会被云服务器授予访问权限。系统结构图如图2所示。
2.3认证系统
身份认证是确保用户安全使用云服务的一种重要手段。通过身份认证技术,云服务器可以防止非法用户访问受控信息、恶意破坏数据等恶意行为,同时,用户可以验证云服务器身份以预防攻击者攻击。考虑到认证过程中恶意攻击者的存在,以及云服务器可能为了自身利益挖掘用户隐私偏好的情况,所以认证过程中用户的身份信息必须加以保护。通过安全多方计算中的点积基础协议进行隐秘向量求积计算可以有效防止云服务器获取用户的真实身份。
认证系统包括注册模块、认证模块、撤销模块。
注册模块由用户、云存储服务器分别与注册服务器交互执行。在接收到用户或云服务器注册请求后,注册服务器通过安全信道向其发送认证凭证。
认证模块由云服务器和用户交互执行。用户端与云服务器分别具有安全多方计算处理子模块。在双向认证的过程中,云服务器和用户利用各自的秘密信息进行安全多方计算点积协议,从而实现双向认证。如云服务器方拥有一秘密向量,每个用户拥有一个隐私向量,并且每个和点积的结果相等。由于隐私向量中并没有包含用户身份信息,因此实现匿名认证。
撤销模块由用户与云服务器交互执行。在用户撤销时,撤销模块能够安全高效的更新认证机制以阻止未授权用户访问云服务器。
系统网站概要设计为:在注册服务器上搭建注册网站,包括用户注册网页以及云服务器注册网页。在云服务器上搭建访问控制网站,包括用户身份认证网页以及用户撤销网页。
云环境中的认证系统模型如图3所示。
3系统实现
系统支持用户远程操作、多人同时在线操作。实现匿名认证、身份验证、信息管理、文件管理、信息加密、在线上传与下载、私密文件、共享文件等功能。在线上传与下载是整个系统的核心部分,主要根据云服务器中存储的文件来实现用户与用户、用户与云服务器之间的数据共享。同时,用户可根据文件内容的私密性来选择上传为私密文件或者是共享文件。而私密文件与共享文件的管理在系统各个模块中实现。下面主要对用户与服务器的认证实现进行分析。
1)用户与服务器认证的实现
系统使用了基于JAVA语言的开发软件,开发出了简易美观的用户程序使用界面。在系統认证方面,由图3可知,在整个模型中,总共有三种设备:注册服务器,云服务器以及用户(或终端)。注册服务器主要负责为用户颁发认证凭证以及向云服务器发送相应的验证信息。当用户提出接人请求时,云服务器将会验证用户身份,并提供相应的服务。旨在向提供用户和云服务器之间的匿名认证,使用户的隐私不仅对云服务器不可见,而且对其他用户是不可见的。用户访问云服务器时,需要先进行匿名认证,只有通过认证的合法用户才能访问或享受云服务器的资源或服务。
整个认证过程包括两个阶段:注册阶段和认证阶段。认证阶段实现流程如图4所示。
注册阶段。用户U提交自己的真实信息或(其他证明凭证等)进行注册,注册服务器,为用户U生成一个隐私向量X,用作用户以后的认证凭证,并把验证信息安全的发送给应用服务器。具体步骤如下:相应的秘密向量Y以及d发送给云服务器。
认证阶段。当用户发送接人请求时,云服务器将完成对用户U的身份验证:
·用户向云服务器提出接人请求,认证开始;
·云服务器和用户U调用两方安全计算点积协议进行认证。在过程中,用户U隐秘输入向量X,云服务器输入秘密向量Y。协议执行点积协议后,云服务器得到同时在认证过程中两方都不能获取对方的隐私输入信息;
·云服务器验证是否存在d1=d,若相等,则被可认为被认证用户的身份是合法的,并开放相应的服务和资源,否则验证失败,拒绝用户的请求。
对于云服务器来说,由于隐私向量X中并没有包含用户的身份信息,这个是由注册服务器完成。因此认证协议是匿名的。
4结束语
面对现在越来越复杂的网络环境和一些未知的突发因素,在高效的匿名认证中要充分保证环境的稳定性,整个体系才能安全无误的运行。充分利用Hadoop伪分布式环境下强大的集群威力,对数据进行高速的处理和存储是认证系统高效运行的保证。在这个普遍存在隐私泄露的网络环境中,一个高效的匿名认证系统会为公司,企业单位或者个人提供一个安全的匿名隐私保障环境。同时,随着大数据时代的不断深入发展和公众对于隐私信息问题的不断重视,基于云环境下的高效匿名认证系统将会更加的发挥自己的优势。