绪论:写作既是个人情感的抒发,也是对学术真理的探索,欢迎阅读由发表云整理的11篇身份认证技术论文范文,希望它们能为您的写作提供参考和启发。
一、目前高校信息化建设现状
随着信息技术的发展,各个高校都高度重视信息化建设工作,“数字校园”即是将信息技术运用于教育改革过程形成的最新研究成果。在数字校园中,学校针对各种需求建设应用系统,力图通过信息化来整合机构内的各种资源。但在实际信息化建设过程中,由于前期缺少统一规划,并且高校系统软件很少有做的很全或很专业的公司,基本上是学校各个部门各自为政,各自购买建设自己的信息系统。如教务处购买自己的教学管理系统,学生处购买单独的学生综合管理系统,图书馆有自己的借还书管理系统。
在多系统并存的情况下,校园网内每个用户拥有多个密码,用户需要逐一登录自己所要使用的应用系统,这给用户造成了很大的不便,安全性存在严重隐患。同时,用户的信息分散存储于各个应用系统中,这不仅为用户的正常使用也为应用系统的管理和维护增加了很大的麻烦,工作效率重复低下。为了解决这些问题,需要在多应用系统并存的情况下,实现应用系统间的用户统一认证和信息共享。
二、统一身份认证在高校信息化建设中的重要作用
网络信息系统的统一认证技术已经相当成熟,从门户网站(如新浪)到企业内部网(如平安保险公司)都对原有的系统进行改造升级,使得不同历史时期购进的信息系统能够整合起来,进行统一认证,降低了管理成本同时又提高了信息系统的安全性,对用户来说也解决了多账户多密码难于记忆的问题。
目前,各大高校也在整合自己的网上资源,把各个独立信息系统的认证统一起来,实现统一身份认证,通过统一规划整合认证后的校园信息系统最大限度的减少用户的帐号数,简化登录过程,实现一次登录多点使用,实行统一管理,方便用户的同时也极大的提高了信息系统的安全性。校园网内用户只要登录一次就可以访问其它的网络资源。可以说随着高校信息化建设的发展,统一身份认证是重中之重,信息建设部门应做好统一规划,后期的软件开发应用必须和统一身份认证平台对接。
三、基于LDAP的统一身份认证的建设与特点
统一身份认证平台的目的是要解决不同的应用系统用户名和口令不统一的问题,通过提供统一的授权机制及一套方便、安全的口令认证方法,让用户只要一套用户名和口令就可以使用校园网络上有权使用的所有应用系统。保证用户通过网络单点登录或手机登录方式进入系统。目前使用最多的是采用目录访问进行身份认证,此技术基于LDAP(轻量型目录访问协议),具有高效的查询速度。利用LDAP 服务特性及WEB相关技术, 实现了对数字校园中用户及网络应用资源的统一开发管理。
统一身份认证平台的开发功能如下:
1、目录服务:目录服务与现有系统集成在一起,充当一个集中化的身份信息库,用于将学生、教师和其他人员的信息集中存储。
2、统一认证:认证服务提供了平台的核心基础服务,用于对学生、教师和其他人员的数字化身份的认证。 3、身份管理:提供基本的组、用户、用户属性、用户类型、口令的维护功能
4、管理控制台:承担整个统一身份认证平台的身份数据管理、系统服务管理、平台运行管理工作,是整个平台的集中管理控制中心。
基于目录访问协议的身份认证基于Linux系统下OPenLDAP设计,能够批量导入加密后的用户信息,打印明码条发给用户。然后围绕认证数据库进行各种应用程序设计,包括:基于浏览器界面的统一认证Web应用程序、基于窗口界面的登录界面设计(用于桌面应用软件等)、基于浏览器界面的统一认证后台管理Web应用程序等等。
基于目录访问协议的身份认证优点很多,主要有:采用开源解决方案,不需另外购买商业软件,可以在源码的基础上进行二次开发,能够最大程度减少IT信息建设投入;采用OpenLDAP进行系统认证,一定程度上防止SQL注入攻击,有效保护后台数据安全;LDAP具有很高的查询速度,保证认证查询速度;采用Linux作为认证平台,安全、稳定。
四、结束语
当然,统一身份认证在实际的建设过程中可能会遇到各种难点,主要是接口问题,如很多以前实施的应用系统现在开发商都联系不到(这种情况各个高校都有),整合到认证系统中可能花的代价比重新开发或购买的成本还要高。所以在后期规划中,要求系统供应商必须提供或开发和身份认证平台统一的接口。
目前,经过统一规划和投资,身份认证系统在苏州大学已经基本完成,整合集成了教务、学工、人事、行政等各种信息服务,是数字化校园的信息集中展示平台,也是校内重要业务系统的统一入口。经实际使用证明,它不仅提高了数字校园中各种应用系统的安全性、可靠性,也给用户提供了极大的方便,同时方便了数字校园的用户管理,具有很好的社会效益和经济效益。
参考文献
[1]openldap.org openldap官方网站
[2]宫恩辉,朱巧明,李培峰,史鑫.LDAP和Kerberos在统一身份认证中的应用[J].苏州大学学报(自然科学版).2006年02期
SSL 是Security Socket Layer 的缩写,称为安全套接字,该协议是由Netscape 公司设计开发。使用SSL 可以对通讯内容进行加密,以防止监听通讯内容,主要用于提高应用程序之间的数据的传输安全。SSL协议分为三个子协议:
(1)握手协议,用于协商客户端和服务器之间会话的安全参数,完成客户端和服务器的认证。
(2)记录协议,用于交换应用数据,所有的传输数据都被封装在记录中,主要完成分组和组合,压缩和解压缩,以及消息认证和加密等功能。
(3)警告协议:用来为对等实体传递SSL的相关警告。
SSL协议的实现有Netscape开发的商用SSL包,还有在业界产生巨大影响的Open SSL软件包。目前在国内的金融系统中,广泛使用OPENSSL软件包进行应用开发。
网上银行因为考虑易用性,大部分采用单向SSL认证.单向认证 SSL 协议不需要客户拥有 CA 证书。X509数字证书是SSL的重要环节,CA证书的任务就是确保客户和服务器之间的会话,并且保证使用的密钥是正确的。缺少了这个重要的环节,SSL中间人攻击也就难免了。
现在的网上银行因为考虑易用性,大部分采用单向SSL认证,这正是SSL中间人攻击的理论依据。
对于SSL中间人攻击,以CAIN工具软件为例:
首先在SNIFFER窗口中进行一次本网段的扫描探测
很快找到所有当前跟在同一网段内的活动主机IP地址与其MAC地址的对应关系。今天我们要欺骗演示的实验对象是192.168.121.199,这是另一台的笔记本电脑IP地址。
获取到IP地址与MAC地址的对应关系后,继续到ARP的子窗口中,选择添加欺骗主机在窗口左边选中当前网络的网关IP地址就是192.168.121.129,窗口右边选中我们要欺骗的IP地址192.168.121.199,选中后直接确定生效。毕业论文,SSL协议。毕业论文,SSL协议。
然后在ARP-HTTPS的选择树中添加一个当前我们需要伪装的HTTPS站点,选择确定后CAIN会自动把这个站点的证书文件下载回来备用。毕业论文,SSL协议。
一切准备就绪后,就可以点击CAIN工具栏中的ARP模式开始工作了。毕业论文,SSL协议。CAIN软件在后台采用第一章的ARP欺骗攻击的方式将被欺骗主机与 HTTPS网站间的通讯切断,在中间插入我们伪造的证书给被欺骗主机,同时伪装成为中间人代替它与HTTPS站点通讯。CAIN在其中把所有的通讯数据包 进行加密解密再加密传递的过程,当然所有原始的访问行为在这一过程中都被我们获取到了。
对于被欺骗主机在实际打开IE访问中,感觉不到任何异常本地显示依然是安全的SSL128位加密,只是不知道所有的访问行为在CAIN中都可以VIEW的方式来查看到了。
在VIEW的窗口中我们可以查看到所有通讯的访问原始记录,包括此台笔记本的登陆帐号与口令信息。
网上银行存在的攻击风险归其原因是SSL协议使用不健全导致,安全的解决方案建立以PKI技术为基础的CA认证系统,加入已经在运行的可靠的CA。 CA体系建立或加入时,通过对网上交易系统的二次开发,将数字证书认证功能嵌入到整个网上交易过程中去,这将实现基于数字证书的身份认证、通信安全、数据安全和交易安全。
【中图分类号】G420 【文献标识码】A 【论文编号】1009―8097(2010)09―0119―04
一 引言
现代远程教育系统是以计算机软硬件技术为基础,通过互联网向处于不同地域的用户提供教育服务的信息系统。远程用户在获得教育服务之前,通常需要通过系统的身份认证。目前来讲,最常用的身份认证技术是基于用户名/密码的静态认证技术。该身份认证技术起源于上个世纪70年代初[1],认证系统通过登记、注册等方式事先保存合法用户的用户名和密码;认证时,系统将用户输入的用户名和密码与对应合法用户的用户名和密码进行匹配,以此来验证用户身份的合法性。在这种认证技术中,用户名和密码均以明文的方式进行传输和存储,无法抵挡重放攻击[2]。一种解决办法是对密码加密后再传输和存储,只要加密算法够可靠,就可以有效地防止重放攻击。1992年,RIVEST R[3]提出了MD5(Message Digest 5)算法,该算法从理论上讲具有不可逆性、离散型和唯一性[4],因此基于用户名/密码的静态身份认证技术在应用了MD5算法后,其安全性可以得到较大的增强。然而王小云[5]等人在2004年8月召开的国际密码学会议(Crypto 2004)上做了破译MD5、HAVAL-128、 MD4和RIPEMD算法的报告,给出了一种高效的MD5碰撞[6]方法,可以在短时间内找到多个碰撞,这意味着如果攻击者窃取到密文并且展开碰撞攻击,则将有可能绕过认证,这又使得重放攻击变为可能。
针对这个问题,本文提出了一种基于MD5分组变序的动态身份认证技术,该技术通过随机数,对原MD5密文采用分组变序的方法生成伪MD5密文存储到数据库中,并且每次验证成功后,再次生成随机数重新分组变序,产生另一个伪MD5密文替换原伪MD5密文,以此实现了用户密码明文不变,但数据库中密文随认证次数不断变化的功能,进一步增强基于MD5的静态身份认证技术的安全性,从而更安全地保护远程教育系统中的教育资源以及用户的信息。
二 基于MD5分组变序的动态身份认证技术
传统的基于MD5用户名/密码的静态身份认证技术是将用户的密码进行MD5加密,再发送到服务器端进行存储,这种方式的安全性主要取决于MD5算法本身。除了向用户骗取密码以外,要获取真正的密码,只有通过对密文碰撞来获得,然而从理论上来讲,如果要对一个MD5密文使用穷举法进行碰撞破解,用一台运算速度为10亿次/秒的超级计算机,需要 年[6],即使使用效率较高的生日攻击法[5],同样的运算速度,仍需要58年的时间[6],而王小云等人提出的方法则可以在数小时之内找到一对碰撞[7],因此传统的基于MD5用户名/密码的静态身份认证技术已经不再安全。进一步分析,如果碰撞的对象并不是MD5值,那一切针对MD5的碰撞方法将不起作用。本文提出的基于MD5分组变序的动态身份认证技术的核心即在于动态地生成伪MD5密文,使针对MD5值的碰撞攻击无效,从而在原基于MD5的身份认证技术的基础上,进一步增强其安全性。
该身份认证技术的体系结构如图1所示。
从图中可以看出,所有关于用户密码的加密处理全部在客户端完成,在网络中仅传输用户名、密钥和加密后的伪MD5密文,而服务器端则为一个数据库,仅起到存储这些信息的功能,这么做既保证了网络传输的安全性,对用户的密码又做到了消息级的加密[8]。
客户端由密钥生成、MD5加密、密文数组生成、伪MD5密文生成、伪MD5密文分割、密文数组比较六个模块组成,这几个模块的不同组合构成了用户注册和认证过程。
1 用户注册阶段
用户注册主要流程如图2所示。
步骤1:用户输入用户名和密码,客户端首先对密码进行MD5加密操作,得到32位长度的MD5字符串,记为 ;同时执行密钥生成程序,生成随机数,记为 , ,且 为32的因数。
步骤2:执行MD5密文数组生成程序,将 按密钥 的值为长度进行分组,将分组后的字符串存入字符串数组中,该字串符数组记为 。
步骤3:执行伪MD5密文生成程序,随机变换 中元素的顺序,依次把值从变序后的 中取出,生成新字符串,该字符串即伪MD5密文,记为 。
步骤4:客户端将用户名、密钥和伪MD5密文 发送至服务端,并存储到数据库中。
从注册的过程可以看出,该认证技术的动态性体现在密钥 的随机性上, 的不同使密文 分组的位置不同,从而使得最终得到的密文 也是不同的。然而生成的伪MD5字符串 ,来源于标准的MD5字符串,这就为认证提供了依据,但同时又不是MD5字符串,因此任何针对MD5算法进行的破解将不起作用。
2 用户认证阶段
用户认证主要流程如图3所示。
步骤1:待验证用户输入用户名和密码,客户端依然执行MD5程序,将用户输入的密码进行MD5加密,生成待验证密文,记为 ,同时将用户名发送至服务器端。
步骤2:服务器端从数据库中查询是否存在该用户名,不存在则认证失败,存在则取出数据库中的伪MD5密文 和密钥 ,一起传输至客户端。
步骤3:用密钥 对待验证的MD5字符串 执行客户端MD5密文数组生成程序,得到待验证的字符串数组中,该数组记为 ,同时执行伪MD5密文分割程序,以 为每组长度对 进行分组,每 位后加入“,”生成分割后的伪MD5字符串,记为 。
步骤4:执行密文数组比较程序,依次取出数组 中的值与 进行比较,如果 的每个元素都包含在 中,则通过认证,如果有一个不包含,则认证失败。判断的根据在于 本身只是对MD5字符串做了位置上的改变,如果待认证的口令正确,那么 中的每个元素都应该包含在 中的,但只要数组中有一个元素不包含在密文字符串中,就可以判断认证失败。
步骤5:如果验证通过,则对 再重新执行一次分组变序操作,用得到的新的伪MD5密文和新密钥替换原有的密文与密钥,一起存入数据库。
需要说明的是,本文给出的匹配方法并没有直接把数据库中的 和 的元素进行包含比较,而是以“,”分割后再比较,原因在于密文的长度为32,而数组中值的长度小于或等于32,那么不排除数组的值交叉包含于密文中的情况,假设密文是c4ca4238a0b923820dcc509a6f75849b,密钥为16,则数组 的长度为2,再假设数组中的两个值分别为a0b923820dcc509a,20dcc509a6f75849b,虽然这两个值也都包含在密文中,但a0b923820dcc509a处于密文(c4ca4238-a0b923820dcc509a-6f75849b)的中间位置,而20dcc509a6f75849b处于密文(c4ca4238a0b9238-20dcc509a6f 75849b)的后半段,这种情况的出现有可能使匹配算法失效,反而造成认证的不精确。事实上标准的MD5字符串是多个16进制字符串的组合,而“,”是不可能出现在16进制字符串中的,采用“,”分组后再比较则可以有效地避免这种情况。
三 安全性验证
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文
以上认证技术是对单个MD5值进行分组变序,根据不同的 ,除去MD5值本身,每个MD5值能演变出 -1个伪MD5值,记为下式:
(1)
由于随机数的存在,要还原得到真正的MD5值,只能通过暴力破解法来实现,对于单个MD5值,暴力破解的运算量为 ,同样使用一台运算量为10亿次/秒的超级计算机,需要约 年。
由于伪MD5密文和密钥K均在网络中传输,如果攻击者知道该算法,利用密钥K进行攻击,那么最终密文的安全性取决于变换的顺序种类。变换的顺序种类由密钥K确定,K越小,顺序种类越多,破解的运算量越大。
对于单个MD5值,当 时, ,即不存在伪MD5值, 不可取。
当 时, ,暴力破解的运算量仅为1,很容易还原得到原始MD5值,因此密钥为16时,已经存在很大的安全隐患了。
当 时, ,暴力破解的运算量为23。
当 时, ,暴力破解的运算量为40319。
当 时, ,同样使用一台运算量为10亿次/秒的超级计算机,需要约663457年。
当 时,暴力破解的运算量更是巨大的。
更进一步研究,该认证技术同样适合对多个MD5值的组合进行分组变序,假设 为由 个 组成的长度为 的字符串,其中 。这种情况下,暴力破解的运算量为 ,这样的运算量更是天文数字。而在知道该认证算法的情况下,暴力破解的运算量为 , , 可取的值更多,运算量更大。
对于应用该认证技术的系统来讲,运算量仅仅取决于变序算法的复杂度,本文采取经典的洗牌算法[9]作为变序算法,以随机数 作为变序的基础,以保证每次交换顺序后的结果与交换之前的不同,算法复杂度仅为数组的长度,即 。
实际应用时,当 , 时,最终生成的密文的安全性将是相当高的。而当 时,可选择的 更多,安全性则更高,而同时对认证系统的运算量并不会有太大增加。
四 实验分析
本实验选择浏览器/服务器作为运行模式,选择JavaScript作为客户端注册、认证程序编写语言,保证运算均在浏览器端完成,选择Java作为服务器端数据库访问语言,选择MySQL作为测试数据库。假设密码明文为888888,则MD5值为21218CCA77804D2BA1922C33E0151105,对比最终密文、密钥做8次运算,其中第一次为注册,后7次为认证,运算结果对比如表1所示。
从表1可以看出,最终生成的密文已经和原MD5值已经有较大的不同,即使是相同的密钥,由于交换了顺序,密文也是不同的,攻击者即使得到这些密文,也是徒劳的。
五 结束语
本文通过分析目前远程教育系统常用的身份认证技术的优缺点,以基于MD5的用户名/密码的静态身份认证为基础,提出了基于MD5分组变序的动态身份认证技术,该技术通过分组变序随机地产生伪MD5密文,将伪MD5密文在客户端和服务器端之间传输,并存储到数据库中,从而可以有效抵挡碰撞攻击和重放攻击,并且实现了数据库中的密码随认证次数不断变化,而对用户透明的功能,进一步增强了原基于MD5的用户名/密码的静态身份认证的安全性。同时,该技术仅仅是对经MD5加密后的密文进行再处理,与MD5算法本身并有没有很大的关联,因此具有一定的通用性,只要稍做修改,就可以用于任何基于不可逆算法的身份认证技术中,以起到在原有认证技术的基础上,增加其安全性的作用。
参考文献
[1] 曹雪菲.基于身份的认证协议的理论及应用研究[D].西安:电子科技大学,2008.
[2] Carles Garrigues, Nikos Migas, William Buchanan, et al. Protecting mobile agents from external replay attacks[J]. Journal of Systems and Software,2009,82(2):197-206.
[3] RIVEST R.RFC 1321 The MD5 Message-Digest Algorithm[S].Boston: MIT Laboratory for Computer Science and RSA DATA Security, Inc, 1992.
[4] 王津涛,覃尚毅,王冬梅.基于MD5的迭代冗余加密算法[J].计算机工程与设计,2007,28(1):41-42.
[5] Wang Xiaoyun, Feng Dengguo, Lai Xuejia, et al. Collisions for hash functions MD4, MD5 Haval-128 and RIPEMD[R].CRYPTO 2004, Cryptology ePrint Archive, 2004.
[6] Eric Thompson.MD5 collisions and the impact on computer forensics[J].Digital Investigation,2005,2(1): 36-40.
[7] 张裔智,赵毅,汤小斌.MD5算法研究[J].计算机科学, 2008,35(7):295-297.
[8] Paul Kearney.Message level security for web services[J].
现代高校的发展离不开信息技术,特别是随着各高校学生人数急剧增加,新教学楼、新教室的不断扩建,教学方式的多样化等一系列因素使学校对多媒体、网络教学、办公应用系统等信息化技术依赖越来越大,数字化校园建设已经成为各高校信息化建设的重要任务之一。医学院校在发展过程中也面临着同样的问题,需要对学校的教学、科研、管理等信息资源进行全面的整合,以实现统一的管理。
一、数字化校园的涵义及意义
在传统观念中数字化校园一直被认为只是由一个一卡通系统和多个应用系统组成,例如各种办公系统、多媒体教学系统、人事系统和财务系统等。但由于各个系统中的信息,数据保存格式以及操作人员的权限设置都不一致,并且各系统由于开发商的不同很难做到统一的接口,系统间通讯困难,对于整个校园来讲只是一个个“信息孤岛”,造成大量冗余、错误的信息,因此这样的“数字化校园”只是一个狭义的概念,并不能完全发挥信息化的优势。而数字化校园真正的涵义是指以校园网络为基础,利用计算机、各种通讯手段对学校里各种办公系统、多媒体教学系统进行统一的信息化管理,包括统一的身份认证、权限控制、教学资源管理以及对人事、财务、后勤等信息系统的统一管理等。数字化校园在时间和空间上都超越传统意义上的校园,它是一个基于先进的信息化技术的虚拟校园,使现实的校园环境得到延伸[1]。
数字化校园的建设对于高校的管理和发展具有重要意义。首先,数字化校园是一个虚拟化的校园,它超越了时间和空间上的局限,使学校的跨地域业务得到有效开展,对学校建立创新型的教学模式,开放式的教育环境,多层次的管理方法都具有相当重要的意义。其次,数字化校园以网络通讯为基础,通过计算机处理大量的信息,使学校教工把一些查询、统计、计算等工作交给计算机来完成,大大降低了工作量,提高了工作效率。再者,数字化校园成功解决了学校“信息孤岛”的问题。数字化校园的成功实施,能把学校里各个分散的系统整合,实现数据的统一管理,避免出现数据的重复检索、录入。例如图书馆的图书借阅系统,里面的人员信息不需要重新录入,可以直接从人事处数据库中调用,有效解决了数据的不一致问题。
二、国内外相关课题的研究现状
“数字化”这个概念最先是由美国前副总统戈尔于1998年在美国加利福尼亚科学中心发表的题为《数字地球---21世纪认识地球的方式》(The Digital Earth:Understanding in our planet in the 21st Century)的报告中首次提到的,他提出了数字化地球的概念,此后,“数字化”名词在全球流行开来,各行各业如数字化城市、数字化校园、数字化图书馆等名词接二连三被提出。
近年来,校园数字化建设已经成为世界各国高校重点研究的课题之一。
在国外,英国信息教育技术走在前列。1998年1月英国启动了全国学习网,利用网络的高速优势把学校、科研机构、图书馆等网站连为一体,为网络教育开辟了途径。2002年,英国全国学习网的网络连接所有家庭、社区、学校、医院、社会服务以及大众媒体转播系统、单位,基本能满足学校教育、家庭教育、职业教育、终身教育和社会经济发展的需求。
国内大学信息化基础建设方面,在90年代初,建成校园网并通过CERNET建设与国际互联网连接的大学总数不过10所左右。到1999年,已经有500余所大学建设了结构先进、功能完备的校园网络。2002年,北京大学和香港大学共同启动了亚洲地区第一个国际性的高等教育信息化研究项目,对亚洲地区各国高校信息化建设、发展的最新动态和信息,进行研究。
现阶段医学院校信息化建设所面临的主要问题有:一是学校以医学专业为主,信息化意识不强,缺乏专业的信息化建设人才队伍;二是信息化建设各自为政,存在重复建设现象;三是信息化建设进程缓慢,没有建立网上自动办公系统和智能化决策支持系统。
三、数字化校园建设目标
医学院校数字化建设的总体目标是建成一个适合学校校情的数字化校园模型,即“统一平台+统一门户+多应用系统”的建设模式,从而实现校内教学、管理、科研的全面信息化、网络化。免费论文,整合。
1.统一平台是指一个高性能的、负载均衡的、可扩展易维护的、高安全的应用软件、硬件以及数据库平台。其中包括统一信息门户平台、统一身份认证平台和统一公共数据平台三大基础平台。
2.统一门户是指要建成一个统一的、开放的、能提供信息共享并能提供多种应用服务的高效稳定的门户中心。
3.多应用系统指为满足各种教学、管理、科研等日常业务的需要而提供的各种信息化软件、工具等,如教务系统、人事管理系统、财务系统、科研管理系统、学生管理系统等,这些系统从统一的数据库平台调用数据,共享规范标准格式的数据,提供统一的接口程序。
通过数字化校园的标准建设,集成现有的应用系统,在新需求下开发新的应用系统,从而实现校园的信息共享和传递,最终构建一个集教学、科研、管理、活动为一体的信息化环境,实现学校教育过程的全面信息化,从根本上提高教学质量、科研水平和管理水平。免费论文,整合。
四、数字化校园建设内容
数字化校园的建设是在现有网络基础设施的基础上对校内所有信息化资源(包括各种应用系统、数据库资源、认证系统等)进行全面整合的过程。数字化校园建设的各个环节必须互相紧扣,有计划、有步骤地实施,确保各个环节协调发展。医学院校的数字化校园建设可以结合自身特点,发展几项特色项目,如虚拟实验室、虚拟医院、虚拟手术台等。
数字化校园的总体架构设计包括基础设施建设、统一身份认证平台、应用系统建设
1、基础设施建设
基础设施建设包括基础网络平台、弱电系统和IDC数据中心建设,是建设好数字化校园的基本保证,为数字校园提供最底层的网络、硬件支持。
(1)基础网络平台、弱电系统
(2)IDC数据中心
IDC数据中心是由一系列的硬件、软件、相关网络组成的整体,它作为全校数据流转与交换的中心,主要包括主机系统、存储系统、网络系统、安全系统等硬件设备和数据库系统、应用服务器、目录服务器数据汇聚设备。
2、统一身份认证平台
在数字化校园中,各个系统之间经常需要相互协作才能完成一项任务。但对于同一个用户来说,如果不同的系统都要不同的登录信息,并且要重复登录,这就给用户带来极大的不便,也给系统加重了负担。而所谓的统一身份认证就是对校内各个不同的应用系统采用统一的身份认证系统,为各应用系统的集成奠定基础。
目前高校身份认证管理存在以下问题:
(1)由于目前校内各个系统都是分散管理,因此就难以统一管理用户的账号,这就难免会对一些账号信息进行重复管理,增加管理成本。免费论文,整合。
(2)账号的使用没有落实到实名,一个账号存在多人使用的现象,在出现安全事故时难以明确责任,因此在安全管理上存在漏洞。免费论文,整合。
(3)不同应用系统之间的认证模式和规范不同,安全等级划分标准也不同,不便于全校的安全管理。免费论文,整合。
(4)一个用户如要使用多个应用系统,就必须记忆多套账号信息,并需重复登录,给用户的操作带来极大的不变[2]。免费论文,整合。
3、应用系统建设
应用系统主要有一卡通系统、数字图书馆、教学系统、学工系统、人事系统、财务系统、精品课程等。
(1)一卡通系统
一卡通是数字化校园建设的重要内容,是校内各系统连接的枢纽。校园一卡通以校园网为基础,集成各种计算机网络设备、数据终端,以IC卡为载体实现校园管理的信息化。系统建成以后,将取代以前校内的各种卡证(如借书证、饭卡、工作证、学生证等),真正实现校内工作、学习、生活的“一卡通”。
(2)数字图书馆
数字图书馆是数字化校园的重要组成部分,它是指运用数字技术和信息技术把处于不同地理位置的信息资源进行整合存储,并通过网络向广大读者提供多媒体信息资源的虚拟化图书馆。数字图书馆不受地域空间的限制,能最大限度地共享各地信息资源。
(3)教学系统
教学系统主要有教务管理系统,它管理的对象主要有学生信息、教师信息、管理人员信息以及教学资源信息(如教室、多媒体等)。而它主要实现的功能有:排课、选课、考试安排、教学测评等[3]。
五.结束语
数字化校园已经成为建设现代化高校必须面临的课题。数字化校园建成后,将很大程度上改变学校的教学、管理、科研等工作模式,更方便了校内的信息传递、共享。但国内医学院校的数字化校园建设还有很长的一段路要走,必须在初期做好整体规划,以学校的中心工作为出发点有计划地实施。
参考文献
[1]傅霖,张凡,江魁.高校数字校园探索与信息标准化建设[J].中国教育信息化,2007
[2]张应祥,吴健,孟彤.数字校园统一身份认证系统及管理平台设计,2010
论文摘要:随着移动存储设备的广泛应用,由其引发的信息泄漏等安全问题日益受到关注。针对目前移动存储安全解决方案中利用用户名和密码进行身份认证的不足,本文提出了基于智能卡技术的安全管理方案。该方案将指纹特征作为判定移动存储设备持有者身份的依据,同时通过智能卡技术实现了移动存储设备与接入终端间的双向认证,从源头上杜绝了移动存储设备带来的安全隐患。
1引言
移动存储设备因其体积小、容量大、使用灵活而应用广泛,但其本身的“匿名性”给设备安全管理带来了巨大挑战,身份认证难、信息易泄露、常携带病毒等问题一直困扰着用户和计算机系统安全人员。
在移动存储的安全管理上应基于两个层面:首先是移动存储设备对用户的身份认证,以确保移动存储设备持有者身份的合法性;其次是移动存储设备与接入终端间的双向认证。目前,移动存储的安全管理往往是基于用户名和口令的身份认证方案,容易受到非法用户“假冒身份”的攻击,同时系统中所保存的口令表的安全性也难以保障,因此该方案存在较大的安全隐患。少数采用生物特征识别的安全方案也仅仅做到了第一个层面的身份认证,仍无法解决对移动存储设备本身的身份认证以及移动存储设备对接入终端的身份认证。然而,移动存储设备和接入终端间双向认证的必要性是显而易见的,只有被终端信任的移动存储设备才允许接入;同时,当终端也被移动存储设备信任时,移动存储设备和终端才能获得彼此间相互读写的操作权限。只有实现上述的双向认证,才能有效地在源头杜绝移动存储设备带来的安全隐患。
本文描述了一种移动存储安全管理方案,针对U盘和移动硬盘等移动存储设备,基于智能卡技术,结合指纹识别模块,解决了设备持有者的身份认证以及设备与接人终端间的双向认证问题,并将设备持有者的指纹作为实名访问信息记人审计系统,进一步完善了移动存储的安全管理方案。
2基于指纹识别的用户身份认证
指纹识别技术主要涉及指纹图像采集、指纹图像处理、特征提取、数据保存、特征值的比对和匹配等过程,典型的指纹识别系统如图1所示。
图1指纹识别系统
指纹图像预处理的目的是去除指纹图像中的噪音,将其转化为一幅清晰的点线图,便于提取正确的指纹特征。预处理影响指纹识别的效果,具有重要的意义。它分四步进行,即灰度滤波、二值化、二值去噪和细化。图像细化后,采用细节点模板提取出指纹图像的脊线末梢和脊线分支点的位置,将指纹认证问题转化成为点模式匹配问题。
如图2所示,移动存储设备采用兼容多种设备接口的控制芯片、安全控制闪存芯片、大容量用户标准Flash构成硬件基础,以智能卡控制芯片为控制中心,结合指纹识别模块,实现对设备持有者的身份认证;同时,结合大容量普通闪存存储结构,实现数据存储低层管理和数据存储加密。
3基于智能卡技术的双向认证
为加强系统认证安全性与可信性,在移动存储设备内集成智能卡模块,使之具备计笄能力,从而实现移动存储设备与终端之问的双向认证。移动存储设备的身份文件存放于智能卡模块中。身份文件是指存储着移动存储设备各项物理特征信息的私密文件,由于这些物理特征信息与个体紧密相联,所以可以起到唯一鉴别该移动存储设备的作用。
智能卡模块提供对终端的认证,只有通过认证的终端才能访问身份文件和移动存储设备中的数据。将现有移动存储设备硬件结构进行改造,在其中分别加人指纹处理模块与智能卡模块后的硬件结构如图3所示。
智能卡模块内置CPU、存储器、加解密算法协处理器、随机数发生器等硬件单元,及芯片操作系统(COS)、芯片文件系统等多个功能模块。其内部具有安全数据存储空间,用于存放移动存储设备的身份文件。对该存储空间的读写受身份认证机制保护,只有通过认证的用户和终端才能对其进行访问,并且操作必须通过定制的应用程序实现,用户无法直接读取。支持指纹认证的智能卡文件系统如图4所示。
对终端的身份认证方式有多种,本方案采用冲击一响应的认证方式_7]。需要验证终端身份时,终端向智能卡模块发送验证请求,智能卡模块接到此请求后产生一组随机数发送给终端(称为冲击)。终端收到随机数后,使用终端认证软件内置的密钥对该随机数进行一次三重DES加密运算,并将得到的结果作为认证依据传给智能卡模块(称为响应),与此同时,智能卡模块也使用该随机数与内置的密钥进行相同的密码运算,若运算结果与终端传回的响应结果相同,则通过认证。这种认证方式以对称密码为基础,特点是实现简单,运算速度快,安全性高,比较适合对移动存储设备的认证。
在终端通过认证,取得移动存储设备信任的前提下,终端通过智能卡模块读取移动存储设备身份文件,对移动存储设备进行准入认证。只有在双向认证通过的情况下,移动存储设备才能接入可信终端,进而在授权服务器分发的安全策略下与可信域终端进行正常的读写操作。
4移动存储安全管理系统设计
在采用智能卡技术的基础上,加入移动存储安全管理系统,提供对移动存储设备的接人控制,将认证体系扩展至计算机USB总线。
安全管理系统的认证体系示意图如图5所示。各终端首先需要加入某个信任域,在此之后可对移动存储设备提供基于所在信任域的接入认证,如果终端没有通过信任域认证,则不允许任何移动存储设备接入。
授权认证服务器位于各信任域的公共区域中,为各信任域的终端提供移动存储设备授权认证服务。它将设备授权给某个信任域后,该设备便成为该区域中的授权设备,可在该区域中任意一台终端上使用;在其他区域使用时将被认为是未授权的,接入将被拒绝。隔离区中的终端与授权认证服务器不能通过网络相连,从而保证了被隔离的终端不能够使用移动存储设备,防止安全隐患向外扩散。这种把安全域细分成不同信任域的整体设计可以最大限度地防止安全实体内敏感数据的任意传播,大大降低涉密信息向外非法泄露的可能性。
终端移动设备认证软件部署在网络系统中的各台终端上,实时监测终端上所有USB接口,探测接人的移动存储设备。发现设备后,认证软件将与接入设备进行相互认证,并与认证服务器通信,对设备进行认证,通过认证的设备被认为是当前信任域的授权设备,否则将被认为是未授权的。根据认证结果,允许或禁止移动设备接入。
4.1授权流程描述
服务器端授权软件运行时,探测出所有连接到授权服务器上的移动存储设备,并将结果报告给管理员。管理员指定需要授权的设备,填写好授权区域、授权日期、授权人、授权有效期并录入用户指纹信息后,授权软件开始对该移动存储设备进行授权。
(1)获取该设备的各项物理信息,这些信息具有特征标识,可以唯一地标识该设备;
(2)将收集到的物理信息和管理员输入的授权区域、授权日期、授权人、授权有效期等信息以一定格式排列,并注入随机字符,采用三重DES运算,生成身份文件;
(3)设置移动存储设备中指纹模块的指纹信息;
(4)将智能卡模块中的认证密钥设成与终端事先约定好的密钥;
(5)将(3)中生成的身份文件存入智能卡模块中的安全数据存储空间。
4.2认证流程描述
图6是移动存储设备管理系统完成认证的整个流程,其步骤如下:
(1)终端认证软件判断当前终端所处区域,如果处于信任域中,扫描各USB端口状态,判断是否有新设备接人;如果处于隔离区,则拒绝任何USB移动设备接入。
(2)如果探测到新设备接入,智能卡CPU调用指纹处理模块,接收并验证用户指纹。
(3)如果指纹认证通过,则终端向USB存储设备发送认证请求;否则禁用该USB存储设备。
(4)如果没有收到USB存储设备的智能卡模块发来的随机数,证明该设备是不符合系统硬件设计要求的,拒绝接入;如果收到随机数,则进行冲击一响应认证。如果没有通过认证,证明该终端为非信任终端,智能卡模块拒绝该设备接人终端。
(5)终端读取智能卡模块存储的身份文件,并读取该设备的各项物理信息,将身份文件、物理信息及终端所处的信任域信息发送至认证服务器进行认证。
(6)服务器认证软件接收到终端发送来的信息后,将标识文件解密,得到授权区域、授权日期、授权人、授权有效期等信息。
①将解密得到的物理信息与终端发来的物理信息作比对,如果不相符,证明该标识文件是被复制或伪造的,向终端发送未通过认证的指令。
②如果①中认证通过,将解密得到的信任域信息与终端发来的信任域信息作比对,如果不相符,证明该移动存储设备处于非授权区域中,向终端发送未通过认证的指令。
③如果②中认证通过,将解密得到的授权有效期与当前日期做比较,如果当前日期处于有效期内,向终端发送通过认证的指令;如果当前日期处于有效期外,向终端发送未通过认证的指令。
(7)终端接收认证服务器发来的指令,对USB设备执行允许或禁止接入的操作。如果USB设备被允许接入,则智能卡模块将设备持有者指纹提交给认证服务器,作为已授权访问记录记入日志中。
(8)转至(2)继续探测新设备。
5安全性分析
本方案通过在移动存储设备中加入指纹识别模块和智能卡模块,更安全可靠地解决了设备持有者身份认证问题以及移动存储设备的“匿名性”问题,通过引入身份文件,实现了移动存储设备的实名制认证。结合智能卡的相关技术,本方案从根本上解决了移动存储设备与接入终端问的双向认证问题,构建了双方互信的安全传输环境。
基于信任域的划分对设备进行授权管理,使整个系统能够同时对终端和移动存储设备提供接人控制,有效地阻止了安全威胁的传播。在方案的具体实现上,有如下安全性考虑:
(1)移动存储设备采用指纹识别的方式认证设备持有者身份,确保其身份的合法性;采用三重DES对称加密的方式对终端进行认证,确保终端为运行认证软件的合法授权终端,有效地避免了强力破解的可能性。
(2)移动存储设备的物理信息各不相同,身份文件也是唯一确定的。身份文件采用三重DES加密的方式,加解密过 程全部在服务器端认证软件中完成,密钥不出服务器,避
免了密码被截获的可能性。身份文件存储于智能卡模块中的安全数据存储区,受智能卡模块软硬件的双重保护。方案保证了身份文件的唯一性、抗复制性和抗伪造性,任何非授权设备都无法通过破译、复制、伪造等人侵手段冒名成为授权设备。
(3)认证服务器与隔离区中的终端相互隔离,只能被信任域中的终端访问,保证了认证服务器的安全。
(4)双向认证通过后,被授权的移动存储设备将设备持有者的指纹记入授权服务器的访问日志中,以便日后能够准确地确定安全事故责任人。
中图分类号:TP393.08
1 可信服务器的设计
1.1 系统结构
可信服务器主要有用户请求响应模块,用户身份识别模块,可信度量模块,可信修复模块,如图1所示。用户请求响应模块响应客户端的连接请求;用户身份识别模块记录用户的身份及可信属性信息;可信度量模块根据收集的客户端可信属性,计算出客户端的可信值,并将可信值发送给决策机构;可信修复模块对不可信的终端进行修复操作,其分为网络接口模块、用户身份认证模块、修复资源管理模块。
图1 系统结构
1.2 可信度量方法
定义1用户可信度是允许用户访问服务器需满足的最小可信度值,
如表1所示,终端A满足系统的完整性安全策略,因而能顺利的接入可信服务器。终端B不满足系统的安全策略的第(2)、(3)条属性,故需要可信修复后才可以再次进行可信接入认证。终端C没有安装TPM安全芯片,属于终端系统的硬件问题,无法修复,所以可信服务器通知终端无法修复,直接隔离。终端D的操作系统版本不对,不满足完整性安全策略第(1)条属性,也无法进行修复,直接进行隔离。
测试结果表明:
(1)接入认证过程及可信修复模块的功能都得到了正确的实现。
(2)可信服务器能有效防止不可信终端的接入,保证系统的安全可信。
(3)只有终端在身份认证成功后,且其完整性度量计算的可信度值满足系统的可信度阈值,才允许其访问可信服务器,而没有满足可信度阈值的终端将被隔离修复。
(4)可信服务器只能对终端的软件相关的属性进行修复,而不能修复终端硬件的不可信属性,如是否安装TPM安全芯片、操作系统是否符合等,符合预期。
3 结束语
本文设计并实现了可信服务器的基本功能,实现了可信服务器的核心功能可信修复应用,实现了身份认证、可信度量及可信修复功能。最后,对几种不同配置情形的终端进行了测试,结果表明测试结果符合预期,具有可行性。
参考文献:
[1]林闯,彭雪海.可信网络研究[J].计算机学报,2005(05):751-758.
[2]李兴国,顾震苏.基于可信网络连接的安全接入技术[J].信息安全,2007(23):28-29+46.
[3]David Challener(美).可信计算[M].北京:机械工业出版社,2009.
高校各个部门相对独立分散的业务系统通过数字化校园三大平台进行统一整合和有效的集成,对集成数据制定统一的标准,实时更新各种数据信息,确保信息的一致性和提高信息的准确性,从而提升领导的决策水平和高校整体管理水平。数字化校园三大平台不仅可以解决高校信息孤岛的问题,规范业务流程,还能为高校师生提供“一站式”服务,提高工作效率。
1 信息化标准建设与公共数据平台建设
现如今,高校各部门各司其职,根据需求建立各自的管理系统,缺乏数据统一标准和资源共享的意识。如果高校没有建立统一的信息化标准,往往会导致数据资源的浪费。建设数字化校园三大平台的主要目的是实现资源和数据共享以及将多个不关联的系统统一成一个系统,实现各部门之间数据交互,方便信息管理,提高工作效率。所谓信息化标准,是指信息在产生、传输、交换和处理时采用统一的概念、传输和表达格式、术语以及规则。
公共数据平台是建设信息门户平台和统一身份认证平台的基础,是数字化校园建设的重要组成部分。通过公共数据平台,可以对学校各个部门的数据信息进行收集、管理和利用,可以有效解决“数据共享难、信息孤岛”问题。公共数据库是统一管理数字化校园中的各种结构化数据的平台,具有建立和划分面向具体业务的数据库功能,可确保数据的一致性、完整性和安全性。通过数据集成平台可以将教务处、财务处、学工处、人事处、科研处、图书馆等应用系统的数据库集中到公共数据库里,并保持所有应用数据的统一。
2 统一身份认证平台建设
随着教育信息化的发展,学校需求的应用系统越来越多,不利于网络管理工作的开展。尤其是不同的应用系统其身份认证方式也不同,用户人员需要掌握大量的登录信息,经常会出现混淆登录信息以及忘记登录密码的问题,降低了用户的工作效率,同时也给网络中心工作人员增加了不少的任务量。高校现有的业务系统大部分都是单独授权、单独认证和单独的账号管理的模式,这种模式已经不能满足信息化快速发展的需求。因此,建设一个统一的、安全可靠的、集中式的身份认证和管理平台是一项相当重要的任务。
统一身份认证平台属于信息门户平台的身份认证方面,可以支持多个业务系统间单点登录(SSO),为各学校各个部门的业务系统提供集中式管理和安全认证机制,使得各种业务系统有效的整合和集成在一起。为了更好的使用系统和降低信息中心运维人员的工作负担,统一身份认证平台提供了自助密码找回功能。
3 信息门户平台建设
信息门户平台是直接展现给用户面前的,不仅可以及时的新闻通知,还可以提供管理、学习、生活等多方面的服务,增强了用户体验感,给全校师生带来了便捷性。
在该平台中,通过微博聚合方式将学校官方微博中的新闻、通知等信息推送到门敉站中。另外,学校目前拥有的业务系统如教务系统、财务系统、人事系统、科研系统、邮件系统、OA系统、校园一卡通、就业系统、迎新系统、离校系统等模块也会集成到门户网站中,并抽取OA待办事项、图书借阅情况、校园卡余额、教师的本月工资和公积金发送情况、站内信息未读提醒等服务模块。信息门户管理平台根据学校领导、普通教师以及学生需求的不同将信息门户页面展现的内容划分成三种,例如,以学生身份作为用户登录进去,页面中会增加成绩查询和已修学分信息,方便学生掌握自己的已修课程成绩和学分情况。此外,用户可以根据本身的爱好需求将一些应用模块添加到首页,对界面进行美化,增强用户体验感。
4 结束语
数字化校园三大平台建设在计算机和网络技术基础之上将高校内部各个相对独立分散的业务系统有效的集成在一起,有效的解决了信息孤岛的问题,实现了数据共享,提高了高校整体管理水平和综合实力,有助于学模式和观念的转变,更好的辅助学校领导决策。
参考文献
[1]张应祥.高校数字校园信息标准设计研究[J].中国教育信息化,2010(05):22-24.
[2]殷娜.数字化校园统一身份认证平台的构建[J].计算机技术与发展,2014(08).
[3]任婕.统一认证在校园门户网站上的应用[J].江苏教育学院学报:自然科学版,2010,26(12):63-67.
中图分类号:TP309 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.07.038
本文著录格式:[1]马萌,王全成,康乃林.Internet密钥IKE协议安全性分析[J].软件,2013,34(7):112-114
0 引言
在开放性的网络体系中,进行秘密、敏感信息传递时,首先要求通信双方拥有共享密钥,才能够按照安全性需求对数据进行机密性、完整性和身份认证保护。为了应对Internet密钥交换协议面临的复杂多样的网络威胁和攻击手段,本文详细分析了IKE协议的基本思想和主要存在的四个方面的安全缺陷,为采取更加有效的信息安全技术和方法,堵塞可能的安全漏洞和隐患提供帮助,从而满足日益增长的网络安全应用要求。
1 IKE协议的基本思想
IKE协议吸取ISAKMP协议、OAKLEY协议和SKEME协议各自的特点组合而成[1],同时还重新定义了两种密钥交换方式[1]。
一次典型的IKE密钥协商交换可描述如下(第一阶段采用主模式和公钥签名身份验证):
(1)SA载荷交换,协商认证算法、加密算法等,交换Cookies对;(2)KE载荷,Nonce载荷交换,提供计算共享密钥的有关参数信息。(3)通信双方分别计算共享密钥参数。(4)通信双方进行身份验证,构建IKE SA;(5)进行IPSec SA载荷和选择符信息交换,协商IPSec SA的验证算法、加密算法,计算IPSec SA密钥参数,构建IPSec SA。
由上可知,IKE 协议在两个通信实体间之间实现密钥协商的过程实际上分为2个阶段。第一阶段构建IKE SA,第二阶段构建IPSec SA。
在第一阶段,使用主模式或者积极模式,建立IKE SA,为通信实体之间建成安全的通信信道,为第二阶段的密钥协商提供安全保护服务。
第二阶段,使用快速模式,依托第一阶段创建的IKE SA通信信道,构建IPSec SA,为通信双方之间的数据传输提供机密性、完整性和可靠。
两个阶段的IKE协商相对增加了系统的初始开销,但是由于第一阶段协商建立的SA可以为第二阶段建立多个SA提供保护,从而简化了第二阶段的协商过程,结合第二阶段SA协商总体数量较多的实际,仍然是节约了系统的资源。
在第一阶段,当需要对协商双方提供身份保护时使用主模式相对安全一些,而积极模式实现起来简单一些,却无法提供身份保护服务;第二阶段使用的快速模式,在一个IKE SA的保护下可以同时进行多个协商;新组模式允许通信双方根据安全性要求协商私有Oakley组,但新组模式既不属于第一阶段也不属于第二阶段,且必须在第一阶段完成后方可进行。
2 IKE协议的交互流程
第一阶段主模式或积极模式中,都支持数字签名、预共享密钥和公钥加密等身份认证方法。不同的身份认证方式,身份认证的原理不同,传递的密钥协商交换消息也有所不同。其中,数字签名认证是利用公钥加解密原理,由通信双方生成数字签名信息,再由另一方对数字签名信息进行解密、比较,实现对通信双方的身份认证;预共享密钥认证是利用对称密钥加解密原理,由通信双方利用私钥对认证内容计算hash值,再将hash值发送给对方进行解密、比较,完成身份认证;公钥加密认证仍然是利用了公钥加解密原理,与数字签名认证不同的是,由通信双方利用对方的公钥分别加密身份识别负载和当前时间负载的数据部分,然后根据对方返回的结果以确定对方的身份。公钥加密认证方式有两种,区别在于加解密的次数不同。
下面,我们以数字签名为例,说明2个阶段的具体协商流程。
2.1第一阶段密钥生成
3 IKE 协议的安全缺陷
目前针对IKE协议的安全性分析结果非常多,已发现的安全问题和隐患也非常多,归纳起来主要有以下几类。
3.1 拒绝服务(DoS)攻击
拒绝服务(DoS)攻击是一种针对某些服务可用性的攻击,是一种通过耗尽CPU、内存、带宽以及磁盘空间等系统资源,来阻止或削弱对网络、系统或应用程序的授权使用的行为[2]。更加形象直观的解释,是指攻击者产生大量的请求数据包发往目标主机,迫使目标主机陷入对这些请求数据包的无效处理之中,从而消耗目标主机的内存、计算资源和网络带宽等有限资源,使目标主机正常响应速度降低或者彻底处于瘫痪状态。DoS攻击是目前黑客常用的攻击方式之一。在Internet密钥交换协议中,由于响应方要占用CPU和内存等进行大量的密集的模幂等复杂运算,而其存储和计算能力是有限的,鉴于这一瓶颈问题的制约,极易遭到DoS攻击。
虽然Internet密钥交换协议采用了Cookie机制,可在一定程度上防止DoS攻击,但Cookie数据的随机性又极大的制约了其作用的发挥[3]。同时,更有分析认为Internet密钥交换协议的Cookie机制会导致更加严重的DoS攻击。因为协议规定Internet密钥交换的响应方必须对已经验证过的合法Cookie建立SA请求予以响应,攻击者可以利用这一规定,直接复制以前的ISAKMP消息,不更改其Cookie数值并发送给响应方,而响应者需要大量CPU时间的运算后才能判别出发起者是非法的,从而无法从根本上防止DoS攻击。
3.2 中间人攻击
中间人攻击是指通信实体在通信时,第三方攻击者非法介入其中并与通信双方建立会话密钥,作为真实的通信实体间消息通信的中转站,从而共享通信实体双方的秘密信息。中间人攻击的方法主要是对消息进行篡改、窃听,重定向消息以及重放旧消息等[4],是一种攻击性很强的攻击方式,属于主动攻击方式的一种[5]。
图3.1详细描述了中间人攻击[6],当Initiator与Responder进行D-H算法密钥交换时,Initiator计算并发送公钥X,Attacker窃取X,并假冒Responder发送公钥Z给Initiator,从而完成一次D-H密钥交换,双方之间共享了一个密钥。同理,Attacker和Responder之间也可以共享一个密钥。这样,当真正的通信双方进行信息交换时,所有数据都经由Attacker中转,而不会被发觉。
IKE协议的身份验证机制可以有效防止中间人攻击,但仍有一些缺陷。
3.3 身份隐藏保护缺陷
IKE协议第一阶段有两种模式、四种认证方式,其中一个主要目的就是要能够提供发起方和响应方的身份隐藏保护功能,但是在积极模式下的数字签名认证和预共享密钥认证,以及主模式下的数字签名认证都无法提供身份隐藏保护。例如,在第一阶段主模式协商的数字签名认证方式中,一个主动攻击者就可以伪装响应方的地址并与发起方协商D-H公开值,从而获得发起方的身份信息[7]。
一般来说,在无法同时保护通信双方身份的情况下,要优先考虑隐藏发起方的身份。因为绝大多数的响应方在IKE交换中都是作为服务的一方,而服务器的身份信息一般是公共的,所以可以认为保护发起方的身份要比保护响应方的身份要更为重要[8]。
3.4 其它安全缺陷
除了以上的安全缺陷外,IKE机制还存在一些其它的问题,如难以抗重放攻击、新组模式定义多余等。
重放攻击是指攻击者采取网络数据包提取等技术手段,对发起方和接收方之间的通信数据进行窃听或者截取,获得通信双方之间的任意消息,然后将该消息重新发送给接收方,从而消耗网络资源,甚至瘫痪通信网络。在整个Internet密钥交换过程当中,通信双方都需要保存部分交换信息用来记录数据交换情况,同时,当Cookies对建立以后,数据状态信息可以用来表示数据交换状态。此时,第三方攻击者利用网上截获的正常数据包进行重新发送,或者攻击者截获Cookies对后伪造假消息,由于该Cookies对是真实的,通信实体双方仍然会对伪造的假消息进行处理,甚至再次解密消息,或者由于无法正常解密,从而发现消息不真实。这样会使系统被迫处理大量无效的操作,降低处理效率,浪费大量系统计算和存储资源。
4 结论
本文详细分析了IKE协议的基本思想和主要存在的四个方面的安全缺陷,认为必须深入分析Internet密钥交换协议面临的复杂多样的网络威胁和攻击手段,采取更加有效的信息安全技术和方法,不断改进Internet密钥交换协议,堵塞可能的安全漏洞和隐患,从而满足日益增长的网络安全应用要求。
参考文献
[1] D.Harkins,D. Carrel.Internet key exchange. RFC 2409,Nov 1998.
[2] William Stallings,Lawrie Brown.计算机安全原理与实践.北京:机械工业出版社,2008:166~180.
[3] 黄永锋.IKE协议改进及其实现框架[硕士论文].镇江:江苏大学.2005.
[4]张红旗.信息网络安全.北京:清华大学出版社,2002:106~107.
[5]William Stallings著.网络安全要素——应用与标准.北京:人民邮电出版社,2000.
0引言
由于网络环境的特殊性,每一个投人使用的网络应用系统都不可避免地面临安全的威胁,因此,必须采取相应的安全措施。国内在信息安全方面已做了很多相关研究,但大多是单独考虑资源保护或身份认证等某一方面,而对如何构建一个相对完善且通用的网络应用系统信息安全解决方案研究不多。本文在iso提出的安全服务框架下,融合了数据加密、身份认证和访问控制三种安全技术和机制,并充分考虑了系统安全性需求与可用性、成本等特性之间的平衡,提出了一个以信息资源传输和存储安全保护、身份认证安全管理和资源访问安全控制为基本要素的网络应用系统信息安全模型,为加强中小型企业网络应用系统安全性提供了一个比较简单可行的方案。
1网络应用系统信息安全模型设计
1.1信息安全模型总体设想
本文提出的网络应用系统信息安全模型主要基于三个要素:信息资源传输和存储安全保护,身份认证安全管理以及用户对资源访问的安全控制。wWW.133229.COm整个信息安全模型如图1所示。模型利用过滤器来区分敏感数据与非敏感数据,对于非敏感数据直接以明文形式进人信息资源层处理,而对敏感数据则采用加密传输通道进行传输,且需要经过身份认证层与访问控制层的控制后才能进人信息资源层。这样的设计在保证了信息传输和存储较高的安全性的同时,减少了身份认证层与访问控制层的系统开销,大大提高了系统的运行效率。而在信息资源层,则是通过备份机制、事务日志和使用常用加密算法对数据库中数据进行处理,来保障信息传输和存储的安全。
1.2身份认证层的设计
身份认证层主要包括两部分:用户身份认证和用户注册信息管理,采用了基于改进的挑战/应答式动态口令认证机制。
目前使用比较普遍的是挑战/应答式动态口令认证机制,每次认证时服务器端都给客户端发送一个不同的“挑战”字串,客户端收到这个字串后,作出相应的”应答”。但是,标准的挑战/应答动态口令认证机制具有攻击者截获随机数从而假冒服务器和用户,以及口令以明文形式存放在数据库中易受攻击两个缺点。在本模型采用的改进的挑战/应答式动态口令认证机制中,通过1.4节中论述的敏感数据加密通道对随机数进行加密传输解决了上述第一个问题;通过在客户端将用户口令经mds算法散列运算并保存在服务器端数据库解决了上述第二个问题,使得服务器在认证时只需要比对客户端处理后传来的加密字符串即可。方案的具体流程如下:
1)服务器端口令的保存当用户在服务器端录人注册信息时,将用户的密码进行k次mds散列运算放在数据库中。
2)用户请求登录服务器端开始执行口令验证:当用户请求登录服务器时,web服务器在送出登录页面的同时产生一个随机数并将其通过敏感数据加密传输通道发给客户端。
3)客户端mds口令的生成客户端首先重复调用与服务器端同样的mds运算k次,得到与保存在服务器端数据库中的口令一致的消息摘要。然后,将从服务器传来的随机数与该口令相加后再调用客户端的mds散列运算函数,将结果(mds口令)通过敏感数据加密传输通道传送给服务器。
4)服务器端对mds口令的验证服务器端收到客户端传来的用户名和mds口令后,通过查询数据库,将已存储的经过k次mds散列运算的口令与随机数相加后同样进行mds散列运算,并比较两个结果是否相同,如相同则通过验证,否则拒绝请求。整个用户口令的生成和验证过程如图2所示。
1.3基于rbac的访问控制层的设计
访问控制层主要包括两部分:权限验证与授权和资源限制访问,采用了基于角色的访问控制机制。在rbac中引人角色的概念主要是为了分离用户和访间权限的直接联系,根据组织中不同岗位及其职能,一个角色可以拥有多项权限,可以被赋予多个用户;而一个权限也可以分配给多个角色。在这里,约束机制对角色和权限分配来说非常重要,本模型设计的约束机制主要包括以下几方面:一是限制一个角色可以支持的最大用户容量。如超级管理员这个角色对于应用系统非常重要,只允许授权给一个用户,该角色的用户容量就是1。二是设置互斥角色。即不允许将互相排斥的角色授权给同一个用户。如客户类的角色和管理员类的角色是互斥的。三是设置互斥功能权限。即不允许将互相排斥的功能权限授权给同一个角色。如客户类角色查看自己银行账户余额信息的权限与修改自己账户余额的权限就是互斥的。
数据库结构设计是实现rbac的重要环节,良好的数据库结构设计本身就可以表述rbac的要求。具体设计如下:
1)用户信息表(user_info)保存用户基本信息。其字段有用户id(userid)、用户名称(username)、密码(passw)、用户类型(kind)。定义表中的kind数据项与role表中kind数据项具有相同的形式。将用户进行分类后,当分配给用户角色时可以指定用户只能被分派到与其kind属性相同的角色,这样就可以实现角色的互斥约束。
2)角色信息表(role)、保存各个等级的角色定义信息。其字段有角色id(role_id)、角色名称(rolename)、角色种类(kind)和角色描述(role_desc)okind数据项代表指定角色集合中的类别。
3)用户/角色关系信息表(user_role)保存用户和角色的对应关系,其字段有用户id和角色id。当向user_role表中添加数据即给用户分配角色时,要求user_info表中要分配角色的用户数据元组中的kind数据项与role表中相应角色的元组kind数据项相同,以实现一定尺度上的角色互斥,避免用户被赋予两个不能同时拥有的角色类型。
4)权限信息表(permission)保存系统中规定的对系统信息资源所有操作权限集合。其字段有权限id(per_id),操作许可(per),资源id(pro_id)和权限描述(perdesc)。
5)角色/权限信息表(role_per)保存各个角色应拥有权限的集合。其字段有角色id和权限id。
6)系统信息资源秘密级别表(secretlevel)保存规定的系统信息资源的秘密级别。其字段有资源id,密级id(secrlev_id)和密级信息描述(secr_desc)。在客户端和服务器端传输数据和存储的过程中,通过查询该表可以判断哪些信息资源为敏感数据,从而决定对其实施相应的安全技术和机制。
7)角色继承关系表(role_heir)存放表述各种角色之间继承关系的信息。其字段有角色id,被继承角色id(h_role_id)。角色继承关系可以是一对一,一对多或多对多的,通过遍历整个角色继承关系表,就可以知道所有的角色继承关系。
8)权限互斤表(mutexper)保存表述角色对应权限互斥关系的信息,其字段有权限id和互斥权限id。
1.4敏感数据加密传输通道的设计
设计敏感数据加密传输通道的目的是保障敏感信息在传输过程中的保密性与完整性。针对中小型企业网络应用系统的特点,在充分对比各种数据加密传输解决方案的基础上,从成本和效果两方面出发,我们选择3des加密算法对敏感数据进行加密。同时又结合了rsa算法对密钥进行传输,从而解决了对称加密算法缺乏非对称加密算法}/}/公钥的安全性这个问题。具体工作流程如下:
1)服务器端由rsa加密算法生成公钥kspub和私钥kspriv;
2)服务器端将公钥kspub传送给客户端;
3)客户端接收公钥kspub,然后由3des加密算法生成对称密钥ksym,用kspub加密ksym;
4)客户端将加密后的ksym传送给服务器端;
5)服务器端用kspriv解密得到ksym;
6)敏感数据加密传输通道建立成功,服务器端和客户端以ksym作为密钥对敏感数据加/解密并传输。
1.5安全审计部分的设计
中图分类号: TN99?34 文献标识码: A 文章编号: 1004?373X(2016)24?0022?04
Optimization improvement of key technology of cloud electronic identity management and authentication system
WANG Pengcheng, XIE Kunpeng
(Henan Institute of Finance, Zhengzhou 450000, China)
Abstract: There are high risk, low efficiency of database storage, high authentication error rate in the current identity management authentication technology. Therefore, a cloud electronic authentication management system is proposed. This system is mainly composed of authentication server, system server and cloud access server. The control agent module in the authentication server intercepts the data information that the user requests for authentication by resource server, and sends the data information to the certification service module. When the user enters into the information database, the files required by the user are encrypted and decrypted by the RSA system server module. The identity authentication relies on the user′s private key and authentication token. The data information is uploaded to the cloud access server for storage and transmission to complete the entire cloud electronic identity management and authentication. Partial functions, flow charts of file encryption and decryption in RSA module, as well as the power operation process of large numbers multiplication and large mathematical model in the verification process of RSA module are given in this paper. The experimental results shows that proposed identity management and authentication system has low energy consumption, high efficiency and high precision of data processing.
Keywords: identity management; identity authentication; RSA module; security
0 引 言
随着电子信息技术的不断发展,公共网络服务、事务查询等功能越来越多地出现在电子信息系统上。它可以为跨互联网的用户们提供安全快速的身份认证服务。电子信息系统给人们的生活带来便捷,但随之也存在电子信息技术安全性方面的问题[1?3]。其中的重要部分便是身份安全问题。构建一个安全性优良的电子身份信息管理和认证系统是目前相关专业人员的重点研究方向[4?6]。
目前的身份验证方法都存在一些不足。如文献[7]提出了OPEN ID身份信息处理系统,具体过程为让用户事先在网站上注册个人信息,并且任何网站都可以使用OPEN ID进行登录,对用户身份进行认证。因为网站质量参差不齐,导致OPEN ID技术不稳定,安全风险也很大。文献[8]提出单点登录法,当用户访问任意的服务器,只要登录过一次,通过其中的安全认证,那么下次用户再访问其他资源的时候则无需再次认证登录。其缺点为安全性能太低,中央数据库的管理代价较高。还会产生第三方服务器跨域问题。文献[9]采用了OITF联合身份管理系统,这种管理系统可以为多个应用系统进行身份认证,实现了跨域的单点登录与身份管理。但由于身份安全级别的不同,安全认证的需求也不同,在多个应用系统中,要想使用统一的认证体系需要大量的开销,极大地提高了成本。为了解决以上方法中存在的问题,本文设计了一种云电子身份管理认证系统。
1 云电子身份管理与认证系统设计
1.1 系统结构
云电子身份管理认证系统主要将数据库中的用户个人信息与各个应用系统的数据通过身份认证系统,来进行统一的管理、认证。首先,认证服务器将会对用户的身份进行确认,认证服务器中的控制模块截取用户对资源服务器请求认证的数据信息,并将数据信息发送到认证服务模块进行用户身份认证。用户进入到信息数据库中后,需要通过系统服务器中的核心模块,也就是RSA模块对用户所需文件进行加密解密处理,最终将数据信息上传到云访问服务器中,以完成整个电子身份认证管理过程。云电子身份管理与认证系统结构如图1所示。
(1) 认证服务器。认证服务器含有控制模块与认证服务模块。其中,控制模块截取用户对资源服务器请求认证的数据信息,并将数据信息发送到认证服务模块进行身份认证。认证服务器为身份认证系统与认证服务模块之间必不可少的一环。为了在服务器交换数据信息时,用户数据和认证服务器保持完全分离,需要使用控制模块,它可以保护用户个人信息的安全。而认证服务器在客户端完成相应的身份信息认证工作。在后台的信息数据库里存储了大量的用户个人信息数据。为了保护用户的个人信息安全,用户与认证服务器各拥有一个RSA密钥,RSA密钥可以实现用户与客户端的互相验证,用户可以根据认证服务器的公钥信息判断验证服务器身份是否合法。
(2) 认证客户端。在每个公共网络与内部网络的未认证的用户主机里都有一个认证客户端,其是身份验证系统的操作界面。
(3) 认证令牌。认证令牌是在进行身份认证时随机生成的动态数字,经过函数计算能够得到动态口令。身份验证系统会将得到的动态口令与用户的ID信息进行对比查询,提交到认证模块的服务器中,以此来验证用户的身份。在身份验证系统中,每一位用户都会得到一个认证令牌。
1.2 系统服务器结构设计
认证模块、系统管理模块、用户模块、RSA管理模块以及数据库管理模块组成了完整的系统服务器。系统服务器依靠模块化的部件,确保身份认证系统更具有扩展性、安全性。系统服务器构造如图2所示。
整个系统服务器的基础模块为RSA模块,其可进行RSA加密或解密,实现大数运算,根据其他模块的需要来进行计划调度。同样可以进行计划调度的还有数据库管理模块,它对用户数据进行处理。用户进入到信息数据库中后,通过系统服务器中的RSA模块,对用户所需文件进行加密解密处理,依靠用户私钥和认证令牌实现身份认证,将数据信息上传到云访问服务器中进行存储和传递。系统管理模块为身份认证系统的核心,可对其他模块进行协调并加载服务。
1.3 云访问服务器
云访问服务器给用户提供存储和共享数据信息,并进行数据传输功能。云访问服务器的工作效率对于身份管理与认证系统有着很大的影响。云访问服务器的结构图如图3所示。
由图3可见,云访问服务器分为用户注册、用户登录、添加删除好友、文件上传、文件下载和文件共享6个模块。依靠云系统的庞大容量来满足身份认证系统的扩展需求。数据库中的数据进行加密后即可储存在云系统中,进行过加密处理的文件除了用户本人以外,无法被读取,从而保证了整个身份认证系统的保密性、安全性。
2 身份管理与认证系统的软件设计
2.1 RSA模块功能设计
RSA模块是云电子身份管理认证系统的核心模块之一,其可以运算RSA算法,还可以对文件进行加密解密处理。RSA的性能影响着系统的性能,因为在身份验证系统中,基本上所有的函数运算都需要RSA模块来完成。下面为RSA模块中的部分功能函数:
Clargent函数的功能为可以将大数进行计算,比如基本的加减乘除、模幂与位移的运算等。内存中大数的构造即为Clargent函数:
enum LIMIT{LENGTH = 0xFF};
unsigned long _len;
unsigned long _data[LENGTH];
其中:len是大数的总长度,大数的最大长度即为len×32=8 192 b,Data为总长度中每一位的具体数值。进行运算设计时,将2×32作为基底,以左边代表低位,右边代表高位。
下列函数都与大素数相关:
InitSmallPrimes代表素数测试模块所用的初始化小素数表;
SmallPrimeTest代表对产生的大数p进行的小素数检验,检验通过后再对大数p进行RabinMiller测试;
RabinMillerTest代表对产生的大数p进行RabinMiller测试,若测试通过则认为大数p为素数;
下列是与密匙相关的一些函数:
GetCommonDivisor代表获取到两个大数的最大公约数;GetE代表生成私匙(n,e);GetD代表生成公匙(n,d);RSAEncrypt代表将数据进行RSA加密处理;RSADecrypt代表将数据进行RSA解密处理。
为了让文件与数据的相互转换变得更加简单,RSA模块在文件加密处理时将文件作为大数来运算。一般文件的大小基本都比理论上大数的总长度大,所以在进行文件转换时需将文件分段处理,对文件进行分段加密处理,最后再连接成一个完整的文件。解密过程同加密过程完全相反。
下面是文件的解密流程,如图4所示。由图4可知,需进行加密解密处理的文件共两个,其中,Encode text代表将对文件进行加密处理;Decode text代表将对文件进行解密处理。
2.2 RSA模块进行大数乘法过程
为了实现大数和unsigned long类型的乘法,RSA模块需要先列出一个函数式,然后依据函数式来反复调用这一模块。设A为位数是m的大数,设B为unsigned long类型数,则最后大数A*B的运算过程为:
(1) 设C0=0,i=0
(2) 则可得Ri=Ai*B+Ci
(3) 如果 Ri>0xFFFFFFFF,Ci+1=Ri/0xFFFFFFFF,Ri=Ri&0xFFFFFFFF
(4) 如果Ri
(5) 如果i≥m,则结束
(6) i=i+1,重复步骤2
2.3 RSA模块进行大数模幂运算过程
在RSA模块进行电子身份认证运算过程中,私钥与公钥的值确定后,若想完成身份验证并签名,无论再进行发送还是接收都只需再运算一次,这种运算的过程称之为模幂运算。构成模幂运算的为模乘运算,因为在RSA模块中,大数位通常大于512 b,大数模幂的运算量则会很大。若想提高运算速度,需要简化模幂算法,如下为简化的大数模幂运算过程:
为了求得D=C15%N,因为a*b%n=(a%n)*(b% n)%n,那么可以得出:
C1=C*C%N=C2%N
C2=C1*C%N=C3%N
C3=C2*C2%N=C6%N
C4=C3*C%N=C7%N
C5=C4*C4%N=C14%N
C6=C5*C%N=C15%N
故可以将模幂运算e=15分解为6个模乘运算。通过分析上述函数式的规律可以得出e为任意值时,使用函数算法计算出D=Ce%N:
D=1
While e≥0
If (e非偶数)
D=D*C%N
D=D*D%N
e=e-1
If (e非奇数)
D=D*D%N
e=e/2
最终回到D
根据结果进行分析得知,D乘C的具体时间通过检验e的二进制各位数得出,并且在检验过程中,由左至右的检测比较简单,如下:
D=1
For i=n to 0
D=D*D%N
If e[i]=1
D=D*C%N
最终回到D
3 实验分析
作为客户端与服务器之间重要的数据传输设备,身份认证系统需要向用户提供访问服务。用户是否能安全地登录客户端,对身份验证系统有很高的要求,实验对本文设计的云电子身份管理认证系统进行测试,验证其性能。
3.1 测试准备
在实验中本文采用了Avalanche 测试工具,其可模拟出大量的用户对本文设计的身份管理与认证系统进行访问,进而得出具体的实验结果。为了避免客户端和身份认证服务器在实验身份认证过程中读取的数据不同,采用Ethereal 抓包工具来抓取动态数据包,再对数据包进行解析。
3.2 测试结果
为了验证本文提出方法的有效性,在各种不同条件下进行了多次测试,测试的结果如表1所示。通过表1可以得知:当最大并发数达到2 000,2 500,3 000时,本文设计的身份管理和认证系统CPU 消耗的最大值并未超过系统合理运行所要求的最大限度,当并发数达到很大的数值时,系统依旧可以正常运作;本文的身份管理和认证系统对于用户要求响应的时间在220 ms左右,具有较高的认证效率;在测试过程中,当并发数值达到很大时,本文身份管理和认证系统对于数据处理的正确率也在99%以上。在身份认证系统中,由于系统软件部分的运算速度有限,所以在对文件进行读取和加密解密的过程中,对于函数式的运算性能要求十分苛刻。下面对本文提出的身份认证系统的文件加密解密运算执行时间进行性能检测,结果如表2所示。
由图5可知,对不同大小的文件分别进行加密和解密测试后的验证结果显示出文件的大小与文件加密解密的时间成正比,并且文件加密解密的所用时间都是ms级,非常微小。故本文提出的身份认证系统可以满足用户进行高效率身份认证的需求。
4 结 论
本文提出一种云电子身份管理认证系统,系统主要由认证服务器、系统服务器与云访问服务器组成。实验结果表明,提出身份管理和认证系统耗能低、认证效率高,具有较高的数据处理精度。
参考文献
[1] 王群,李馥娟,钱焕延.云计算身份认证模型研究[J].电子技术应用,2015,41(2):135?138.
[2] 朱莉蓉,陈宁江,何佩聪,等.基于动态信任管理的云用户行为认证服务系统[J].广西大学学报(自然科学版),2015,40(6):1485?1493.
[3] 王文清,柴丽娜,陈萍,等.Shibboleth与CALIS统一认证云服务中心的跨域认证集成模式[J].国家图书馆学刊,2015,24(4):45?50.
[4] 李丙戌,吴礼发,周振吉,等.基于信任的云计算身份管理模型设计与实现[J].计算机科学,2014,41(10):144?148.
[5] 王雷,王平建,向继.云存储环境中的统一认证技术[J].中国科学院大学学报,2015,32(5):682?688.
[6] 叶丹.云智能生活中的身份安全[J].五金科技,2014,42(5):82?85.
中图分类号:TP311 文献标识码:A文章编号:1009-3044(2009)13-3575-02
1 引言
随着校园网络建设的不断发展,越来越多的高校都在进行数字化校园的建设。利用先进的信息化手段和工具,实现从环境、资源到活动的数字化,学校各部门、院系陆续建设了各种业务应用系统,如教务管理、人事管理、学籍管理、科研管理等等。其中不乏很多基于Web提供公共服务的系统,由于这些系统相互独立,用户在使用每个应用系统之前都必须进行相应的系统身份认证,为此用户必须记住每一个系统的用户名和密码,这给用户带来诸多不便。特别是随着系统的增多,出错的可能性就会增加,用户信息受到非法截获和破坏的可能性也会增大,安全性就会相应降低。而且,用户每访问一个不同的应用系统,便需要重新登陆一次,严重影响了用户的体验同时不利于统一管理。
鉴于此,单点登录技术应运而生,它是一套身份认证机制,用来实施在多个独立的应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,无需再次登录,避免了应用系统的重复开发和数据同步更新问题,便于系统之间的资源共享,促进网络的应用和发展。对所有应用系统的访问,都必须从一个单点进行登录认证。成功通过认证的用户可以访问到所有的Web应用系统,切换时不受限制,增强了用户体验;本文介绍了单点登录的认证机制,分析了单点登录的实现模式,最后结合实践实现了一套简单高效的单点登录系统。
2 SSO的认证机制
单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。SSO体系结构如图1所示。
当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份效验,如果通过效验,应该返回给用户一个认证的凭据――ticket;用户再访问别的应用的时候就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行效验,检查ticket的合法性。如果通过效验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。
3 SSO现有技术
目前市场上出现了众多的SSO产品,例如Microsoft公司.net中的Passport, IBM WebSphere Portal Server, BEA的WebLogic,Netegrity SiteMinder,Oracle9 iAS Portal Server等。虽然每个SSO产品的实现机制都不尽相同,但这些产品的实现机制都遵循一种通用的模式。它由三个主要部分组成:入口检查单元、身份认证单元和用户凭证存储单元。
WebSphere通过Cookie记录认证信息,WebLogic则是通过Session共享认证信息。Cookie是一种客户端机制,它存储的内容主要包括:名字、值、过期时间、路径和域,路径与域结合在一起就构成了Cookie的作用范围,因此用Cookie方式可实现SSO,但域名必须相同; Session是一种服务器端机制,当客户端访问服务器时,服务器为客户端创建一个惟一的Session ID,以使在整个交互过程中始终保持状态,而交互的信息则可由应用自行指定,因此用Session方式实现SSO,不能在多个浏览器之间实现单点登录,但却可以跨域。
4 系统设计与实现
本文在研究SSO技术的基础上,采用登录时自动生成在所有系统的验证标志实现了一个简单高效的单点登录系统。目前我校在数字化校园建设的基础上实现了本科学分制系统、研究生信息管理系统、选课系统、工会会员管理系统、研究生信息管理系统、二级学院信息管理系统、学分制信息交流平台等一系列基于Web的信息系统,登录用户名都是采用校园一卡通的方式,用户登录不同系统每次都要输入用户名和密码信息进行验证,给用户造成不便。由于LDAP查询效率高,可以进行访问控制以及含有丰富的API与各种应用系统对接,安装管理维护也很简单,所以校园网的单点登录基于LDAP来实现。
实现方法为:将各个子系统的登录页面放置于框架页面中,在框架的页面隐藏其他子系统的登录页面,当点击“登录”时触发JS事件把当前的用户名/密码提交到其他子系统的登陆页面中。这样一次登录,其他所有系统也就登录了。框架页面如图2所示:
首先在系统入口输入用户名、密码进行登录,从客户端发送的认证请求通过统一身份认证接口到达LDAP服务器,LDAP服务器在目录信息树中查询是否为合法身份,进行身份认证和根据身份授予相应的权限,通过统一身份认证接口返回给客户端。成功登录后,可以直接单击相应子系统链接直接进入子系统,不需要再次输入登录信息,带来了更好的用户体验。
主要代码如下:
1) 系统入口端
if(!username.equals("")&&!pwd.equals("")){//表单输入不为空
Cert cert = new Cert();
UserLogin userLogin = new UserLogin();
userLogin.setUid(username);
userLogin.setPassword(pwd);
userInfo=cert.checkUserInfo("", 6002, 5000, "210.35.207.160", "portal", "210.35.207.160", userLogin, 0);//以上对客户端输入进行统一身份认证
if(userInfo!=null){//用户存在的话
getUid=userInfo.getUid();//得到一卡通号
session.setAttribute("username",getUid);//将用户名放入Session
session.setAttribute("pwd",pwd); //将密码放入Session
}}
研究生管理//单击触发JS事件将用户名密码提交到其他子系统中
function submit_to(url,target){
pageForm.action=url;
pageForm.target=target;
pageForm.submit();}
//提交表单的JS事件
2) 其他子系统端
String username=request.getParameter("username");
String pwd=request.getParameter("pwd");
loginform.username.value="";
loginform.password.value="";
loginform.submit();
5 结束语
本文在研究了单点登录技术及其实现模式的基础上,实现了一套简单高效的单点登录系统。使用户只进行一次登录认证,便能在所有应用系统之间自由穿行,而不需要进行多次身份认证,建立了一种更安全的登录方式,将多个系统独立的用户管理融合为统一用户管理。此方法几乎可以不要修改过多的代码,而且可以用于所有的多系统情况,可以跨平台,跨服务器。简单高效。缺点是登录完后,如果没有在各个子系统切换,那使用SESSION的子系统可能会发生超时现象。可以在其他子系统包含文件中用IFRAME的方式包含其他子系统的更新在线状态的页面来解决,也可考虑基于Cookie的方式,这个有待于进一步研究。
参考文献:
[1] 曾琴涛.基于Java平台的Web应用系统单点登陆方案研究与实现[D].中国地质大学硕士学位论文,2008
[2] 皮晓东.单点登录的研究与实现[J].计算机应用与软件,2007(6).