基于云计算的安全技术研究

时间:2022-04-28 02:28:06

基于云计算的安全技术研究

摘要:云计算是一种新兴的计算模式,用户可以利用该模型在任何地方通过连接的设备访问应用程序,极为便利。但云计算在给大众生活提供方便的同时,也同时存在一些安全隐患。该文提出了一种新的云计算架构,包含具有双因子认证技术的安全网关及具有对外授信机制的云安全平台两道安全屏障,两种安全机制同时使用可有效保障用户安全使用云计算服务。

关键词:云计算;网络安全;安全模式;Web 服务

中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)23-5582-02

Research of Security Technology Based on Cloud Computing

DAI Wei

(Department of Computer Information Science, Neijiang Normal University, Neijiang 641000, China)

Abstract: Cloud Computing is a new computing model, people can use this resource by network anywhere and anytime. But this model include some risk. This paper raise a new architecture about Cloud Computing which includes a gateway of dual factors identification and a cloud security platform of credit extension mechanism, this two measures can help people use the service of Cloud Computing safely.

Key words: cloud computing; network security; security model; Web Service

1 云计算与云安全概述

云计算的前身是20世纪80年代末的网格计算和20世纪90年代末的公用计算。它是一种基于互联网的超级计算模式,能够提供动态资源池、虚拟化和高可用性的下一代计算平台的核心技术,是由几十万甚至上百万台廉价的服务器所组成的网络,为用户提供安全、快速、便捷的数据存储和网络服务,使互联网成为每一个用户的数据中心和计算中心,使用户从以桌面为核心使用各项应用,转移到以Web 为核心进行各种活动。云计算技术在当今的网络服务中已经随处可见,随着云计算技术的逐渐成熟,基于云计算的云安全也引入了网络安全中。云安全是通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中的木马、恶意程序、垃圾邮件等最新信息,并传送到云安全平台进行自动分析和处理,然后再把对病毒、木马和垃圾邮件等的解决方案分发到每个客户端。云安全平台是基于网络安全的云计算平台,利用云安全平台的及时性、强大的计算能力,直接把企业的安全网关作为1个客户端引入到云安全平台中。

2 具有安全网关及安全平台的云计算方案

该方案主要针对局域网集团用户使用云计算的情况,如公司局域网用户或校园网用户。方案具体内容主要包括如下三点:

1) 安全网关采用双因子登录认证技术,保证用户登录信息不被窃取,安全使用云计算服务;

2) 内部网络用户的各种网络请求首先需要通过安全网关到达云安全平台,经过云安全平台分析、处理并确认没有问题后,再允许通过;

3) 安全平台采用授信机制,对各种云计算服务加以分析,以确定其安全级别,针对有问题的网络请求,云安全平台应给出解决方案,并反馈到安全网关,由安全网关提示给用户。

云方案系统架构如图1所示。

在该体系结构中,所有网络请求都要通过安全平台提供的对外授信机制(Credit),授信机制和具体的Web、mail、DB等安全服务相连。授信机制主要原理:它在云安全平台建立互联网上的信誉机制,对互联网上的所有资源,包括对文件、邮件、网页、应用服务等资源进行评估,对评估的结果划分为3个等级,即安全、危险、禁止访问。另外,为了保障内部用户安全调用网络服务,登录信息不被窃取,在安全网关处采用安全系数较高的双因子认证模型,实验表明,基于该模型的认证安全性高、可靠性好。

2.1 双因子认证模型设计

主流云计算系统采用的都是单点登录认证,即在云用户登录时,只需输入用户名和口令就可进入云系统,然而其登录信息却容易被非法截取。与单点登录认证相比,双因子认证除输入用户名和口令外,还需进行一项特殊认证(如指纹认证、互动认证等)。然而,传统双因子登录要么需要用户增加外接设备(如指纹验证器),成本过高;要么仅仅增加一些简单、固定、有限的第二口令,信息被截取后仍可被简单地破译而出,参考现在主流认证技术,我们通过一动态算法来使此第二口令,并使认证码同时在云系统和终端产生,以避免其因网络传播而被窃取。基于上述想法,我们利用Java语言编制一个认证程序,用户在申请云系统权限成功后即可下载此程序,使此程序与用户绑定,且每一用户都有属于自己的程序(此程序可存储于用户的网络硬盘中,程序的独特性可通过一设定规则的单调算法通过批量产生来实现),当用户需要登录云系统时直接运行此程序即可得出认证码,此认证码有一定有效时间,且一次有效,一旦超时未登录或登陆完毕,认证码便会无效,如此即使用户名、口令、验证码被截取到,截取者也无法直接得到用户权限。此模型原理通过时间的变化来实现其动态性,具体运行过程如下:

1) 云用户通过浏览器登陆云计算系统网站;

2) 云用户输入用户名和密码,系统判断正误;

系统从其数据库中搜索库存用户信息,并与用户输入信息进行匹配判定,如用户输入信息正确,系统则给出正确反馈信息;若用户输入信息错误,系统则提示用户重新输入;

3) 当云用户的用户名和密码输入均正确后,用户运行与其绑定的程序,此程序首先通过网络与系统中和其相匹配的程序(即算法是相同的)进行验证,若经验证两者所运行的算法的确相同,则系统运行此程序将此时的系统时间交给算法,经过运算得到认证码;同时将此时间发送到终端的程序上,终端程序同样利用此时间进行计算并得到认证码,并在用户终端输出;

4) 用户输入经计算得到的认证码,系统端将运行所得到的认证码与之比较,若正确则进入云系统取得相关权限,云系统消除此验证码的合法性;若错误则返回步骤1。

根据上述思想采用java语言编写相关认证程序,部分关键代码如下:

{ String number= e.getActionCommand();

int n = Integer. parseIn t(num ber),b =0,c=0,d=0;

int a[] = new in t[5];

a[0] = (int) n/100000000;

a[1] = (int) (n-a[0]*100000000)/1000000;

a[2] = (int) (n-a[0]*100000000-a[1]*1000000)/10000;

a[3] = (int) (n-a[0]*100000000-a[1]*1000000-a[2]*10000)/100;

上一篇:游标在PowerScript程序中的用法 下一篇:从网络媒体的特点谈网络编辑的素质培养