APP下载

基于CAS神东身份认证与管理平台的设计与实现

2020-11-06贺建荣刘明昌王欢

科技创新与应用 2020年31期

贺建荣 刘明昌 王欢

摘  要:基于企业对信息化的需求越来越多,神东煤炭集团开发了全面的信息系统供不同业务板块使用,各系统统一身份认证互通成为各大业务系统需要解决的问题,为减少用户记录各系统的不同密码与账号的麻烦,解决因系统较多给用户及企业管理带来的不便。神东研发人员就神东业务系统的现状,结合当前信息化发展的趋势,以及CAS单点开源系统特点,基于原系统设计开发出了一套符合神东信息整体规划与适应未来业务发展的新的统一身份认证与管理平台。通过此平台可以解决记密码难的问题,认证安全问题,多平台集中登录问题,同时增加日志审计模块便于更好的实现信息审计,为神东煤炭信息化高速公路奠定基础,为煤炭行业信息化集成提供解决方案。

关键词:统一身份;单点认证;CAS

中图分类号:TP315 文献标志码:A         文章编号:2095-2945(2020)31-0068-03

Abstract: Based on the increasing demand of enterprises for information technology, Shendong Coal Group Corporation has developed a lot of information systems for different business sections. The unified identity authentication and intercommunication of each system has become a problem that needs to be solved by the major business systems. In order to reduce the trouble of users recording different passwords and accounts of each system and deal withthe inconvenience brought by more systems to user and enterprise management,researchers of Shendong Coal Group Corporation analyzed the current situation of their corporationand based their research on the current trend of information development, thecharacteristics ofthe CAS Single Sign On source system, and the original system,thereby designed and developeda new unified identity authentication and management platform which conforms to the overall planning of Shendong Coal Group Corporation and adapts to the future business development. Through this platform, the problems of password recording, authentication security, and the centralized login of different platforms were solved. Meanwhile, the log audit module is added to facilitate the better implementation of information audit,thus laying the foundation for ShendongCoal Group Corporation and providing solutions for coal industry information integration

Keywords: unified identity; Single Sign On; CAS

1 概述

原神东统一身份认证平台仅支持WEB端的账号密码登录,用户需要记住账号密码,原系统账号密码未设置高安全级别规则。随着移动应用的普及应用,原认证系统无法实现手机APP与WEB端通过统一平台认证,原认证平台已无法满足当前企业信息化发展以及企业信息系统的整体规划需要。由于原身份认证的技术是CAS,为方便老系统无缝集成,本系统也基于CAS实现神东统一身份认证,解决原有系统存在的问题以及适应新的信息化发展要求,助力企业信息化整体的发展,保障信息系统身份认证的安全与可靠。

2 需求说明

2.1 支持多种身份认证

神东作为大型煤炭企业,近4万员工,需要通过信息平台进行业务处理,需要通过统一身份认证平台解决信息系统的身份认证问题,神东统一身份认证平台需求是实现PC端、移动端、企业微信平台身份认证系统集中统一,根据平台特点实现用户账号/身份证号/员工编码与密码登录、手机APP/企业微信扫码登录、短信验证码登录、企业微信平台鉴权登录等多种认证模式,简化认证流程,多平台身份认证互通,最大化支持多种认证模式,便于用户访问多个应用系统。

2.2 支持移动APP与H5身份认证合并

通过平台能使得APP认证后原生应用與H5应用身份认证统一,便于多端、跨平台的应用合并,解决移动端身份认证难题。

3 系统架构设计

3.1 CAS工作原理

CAS(Central Authentication Service)是由耶鲁大学发起的一个企业级的、开源的项目,为WEB应用提供可信任的身份单点认证服务。

TGT:TGT是CAS为用户签发的登录票据,拥有了TGT,用户就可以证明自己在CAS成功登录过。

TGC:存放用户身份认证凭证的cookie,在浏览器和CAS Server间通讯时使用,并且只能基于安全通道传输Https),是CAS Server用来明确用户身份的凭证。

ST:客户端应用的凭证,不可重复,时效短。

认证过程:

(1)用户访问A系统资源,判断无会话被CAS客户端拦截,并重定向到CAS服务器,检查无TGT则返回登录页面,并与server和ticket拼接成url返回等待用户登录。(2)用户输入登录信息后提交,服务器接收验证是否有效,有效后返回重定向到server后A资源地址,并设置CAS服务器域cookies的TGC,A系统带着ticket与CAS服务器验证票是否有效,有效后绑定会话与用户信息,再次访问A系统则可以正常访问。(3)上述通过后在B系统资源时,判断会话不存在重定向到单点登录地址,判断存在TGC,携带到服务器认证,判断用户登录过了,则不需要再次登录即可访问B系统资源。

3.2 系统架构设计

原有的系统实现认证方式单一不灵活,随着更安全高效的认证模式的发展以及认证途径的多样化,本系统架构在原有的基础上进行了优化与升级,方便快速构建新的认证方式,基于SOA架构设计,采用java语言开发,使用关系数据库及缓存技术实现,通过身份认证模块接口实现多种不同方式的身份认证,满足适合本企业个性化的认证需求,最终通过CAS实现统一身份认证。系统数据层通过缓存技术实现数据层的访问与校验,提升认证速度,优化用户体验,提高系统访问并发量,实现大负载高可用。

4 系统功能设计

系统功能主要是基于CAS认证中心,通过接口开发的独立的神东身份认证模块,此模块可根据需要集成当前流行的各种认证方式,具有较好的扩展性,后期用户开发时勿须研究复杂的CAS认证过程,只需要基于神东身份认证模块开发新的认证接口即可。本系统将结合企业自身特点,以及用户使用信息系统的习惯,实现如下几个功能模块。

4.1 账号密码认证

基于传统的身份认证方式,为了更好的与旧系统过渡,保留原普通账号密码认证方式,同时提高密码强度校验规则,对于弱口令用户强制按新密码规则修改,密码规则包含大小写字母、数字、特殊字符。长度不少于8位。

4.2 企业微信扫码认证

通过企业微信用户扫描二维码,通过企业微信用户信息与二维码token信息进行绑定,后台校验用户身份,实现企业微信扫码后系统自动登录功能。该功能的实现,将免除用户在浏览器中输入账号密码,减少账号密码被盗的风险提高了用户认证的安全性,因企业微信的安全可靠性,用户经常使用企业微信后,将不需要再记住大量的账号与密码,解决用户登录应用系统的烦恼。

4.3 移动APP扫码认证

自动生成二维码,二维码设置2分钟有效期,超时后重新生成,二维码由系统随机生成,系统通过代码实现判断是否扫码并确认登录,如确认登录,则系统自动登录认证并绑定用户信息。

移动APP扫码功能同企业微信扫码功能类似,是基于自建APP扫码实现,该功能也是通过统一身份认证平台身份认证,通过APP扫码实现WEB端免密的登录认证方式,此种方式将采用token交换的方式解决登录认证的安全性。

4.4 移动APP通过企业微信认证

神东自建移动APP登录认证方式除了支持傳统的账号密码登录方式,还支持通过企业微信的sdk一键登录,企业微信为企业内部的沟通工具,认证机制很安全,移动APP基于企业微信一键登录,实现APP端用户身份认证。此功能不需要记住任何用户名密码即可实现认证,后台通过统一的身份鉴权模块,最终实现单点统一认证,认证成功后,再次进入APP后将不再需要登录,通过静默登录功能实现免登录。

4.5 短信验证码扫码认证

短信验证是当前较流行的简单认证方式,通过短信接口实现短信验证码的发送,设置短信验证码的有效期为1分钟,可多次发送验证码,为确保短信验证安全,后台会发送验证token至客户端,需要客户提交登录时发送到后台进行token校验,为确保安全,验证码指定有效期,过期后不能通过认证。移动端短信验证通过一键获取手机号的方式,验证用户信息,验证手机号用户状态,通过后自动发送短信验证码,为了便于用户填写验证码,系统支持剪切板自动录入短信验证码,实现用户快速登录的目标,此功能极大提高了用户认证的速度,提高了用户体验。

4.6 十天免登录

十天免登录功能基于用户经常访问系统时每次需要输入登录信息很浪费时间,为了满足登录设备相对固定,安全意识强的用户需要,针对部分用户单独授权实现十天免登录,通过勾选免登录选项,实现十天免登录,后期访问系统直接认证通过,后台记录登录人ip信息与token验证信息,确保免登录用户信息不被伪造。免登录信息在新的电脑登录后,旧的电脑将不能自动免登录,有效保证用户登录信息安全,不被非法用户使用。

4.7 登录审计日志

记录用户的登录认证方式,登录成功与否,登录用户的客户端信息如浏览器、分辨率、操作系统等信息,便于分析用户登录数据,以便更好的优化升级系统。

为确保统一身份认证平台的安全,系统对登录异常信息进行分析。对于错误次数超过规定次数的访问做拒绝处理。

4.8 移动APP静默登录认证功能

移动端用户第一次认证通过后,后期用户使用APP时,不再需要输入验证信息进行身份认证。系统基于绑定用户设备信息以及有效期内的token信息共同识别后台绑定的用户信息,通过统一身份认证平台后台实现静默身份认证,不需要用户进行任何操作即可实现身份鉴权的目标。系统不仅有效解决了移动端原身份验证不能通过单点认证的问题,而且解决了移动端webview应用与移动端原生应用共用一套身份证验证信息,避免多平台使用多次认证的麻烦,解决不同平台系统集成的难题,实现一平台多架构的认证机制,降低了神东移动业务集成难度。

4.9 密码找回、修改功能

统一身份认证平台不仅支持用户登录认证,同时支持用户通过短信验证码找回密码与修改密码。实现用户密码统一管理,弱口令密码强制用户提升安全级别。

5 系统部署

系统部署一套CAS认证服务器,统一管理一套组织机构、用户名与密码信息,通过缓存实现账号登录验证,提高了登录认证的速度,为了便于各子系统集成,统一用户组织机构与用户信息,提供子系统用户信息集成接口,统一维护机构与用户信息,减少多点维护造成的时间浪费与数据不准确的问题,使用一整套组织、人员数据,使统一身份认证信息统一可靠。

6 结束语

神东新统一身份认证系统可以实现神东各业务系统一处登录,多处漫游访问,使用基于账号密码、短信验证码、企业微信扫码、移动APP扫码等认证方式解决多点的身份认证问题,不再需要记录很多用户名密码,甚至不需要知道用户名密码即可实现身份的鉴权,解决了用户登录系统的麻烦。为了平台能便于集成各大应用系统,使信息化系统的更好实施与落地,本系统采用较通用的认证解决方案,适用于企业各大信息系统的统一身份认证的需要。

新的身份认证系统上线后,经测试,能与现使用的企业微信平台充分结合,扩宽了身份认证方式,实现了需求目标。为了便于实现不同平台的多渠道认证,进一步加强了系统接口的擴展能力,有效解决了不同客户端使用同一认证方式的难题。未来将根据企业信息化发展需要不断集成新的客户端,真正实现一站式集中认证,有效解决企业信息化发展的瓶颈,降低信息化项目实施成本。

参考文献:

[1]沈杰,朱程荣.基于Yale-CAS的单点登录的设计与实现[J].计算机技术与发展,2007(12):144-146.

[2]苏国辉.基于CAS和LDAP的单点登录系统设计与实现[J].自动化与仪器仪表,2017(010):101-103.

[3]孙甲泉.基于LDAP的CAS的校园统一身份认证系统的研究[J].电脑知识与技术,2013(2X):1318-1320.

[4]王峥.基于CAS构建门户平台的单点认证模型[D].北京大学,2008.

[5]王兴建,陈平,田小萍.基于微信企业号的扫码认证授权的设计与实现[A].中国计算机用户协会网络应用分会.中国计算机用户协会网络应用分会2018年第二十二届网络新技术与应用年会论文集[C].中国计算机用户协会网络应用分会:北京联合大学北京市信息服务工程重点实验室,2018:4.

[6]谭立球,费耀平,李建华.企业信息门户单点登录系统的实现[J].计算机工程,2005,31(17):102-104.

[7]秦怡,马自卫.基于CAS模式的统一认证与门户管理的研究与实现[J].现代图书情报技术,2008(12):1-7.

[8]王水霞.神东业务协同平台设计与实现[J].陕西煤炭,2013,32(002):49-51.

[9]张倩.基于SOA架构的企业应用集成的设计和实现[D].北京交通大学,2008.

[10]廖露阳,郭兵.基于Android APP安全登录认证解决方案[J].现代计算机,2016(12):9-12.

[11]景民昌,唐弟官.开放源码的CAS单点登录系统研究[J].现代情报,2009,29(003):125-127.

[12]张冬冬.基于CAS实现的单点登录模型的改进及其应用[D].吉林大学,2011.