浅谈基于OAUTH2.0统一身份认证的多应用系统优化

2021-03-28 04:43段粘粘王益义
电子元器件与信息技术 2021年12期
关键词:账号密码加密

段粘粘,王益义

(浙江体育职业技术学院 体育系,浙江 杭州 310012)

0 引言

《国家中长期教育改革和发展规划纲要》阐述:“充分利用优质资源和先进技术,创新运行机制和管理模式,整合现有资源,构建先进、高效、实用的数字化校园,推进信息化校园建设”。职业教育的快速发展,校园信息化建设经历了从无到有再到优,实现了质的飞跃。校园网内各种信息系统为师生用户带来了很大的便利,但随着不同业务部门系统的不断增多,信息共享和大数据融合就成了棘手问题。大部分职业院校起初对数字化校园建设缺乏整体性战略规划,相关业务系统仅满足本部门的使用需求,造成用户登录账号多个、密码错误、账号密码不对应等问题。登录信息不统一,给用户带来使用上的不便,增添管理层和系统管理员额外的工作量,还给机房存储服务器造成很大负担。因此,建设统一身份认证平台,用户身份实行统一管理和认证非常重要。其建设必要性大致如下:

(1)单点登陆模式,即通过一次登陆认证即可登陆校园网内所有应用系统,提高使用者工作效率的同时减轻其工作任务,为日常办公带来极大的有效性;(2)通过统一认证平台操作账号,避免账号的遗漏、违建、不规则,数据误删除等操作,提高信息化安全性,满足校园信息化安全建设要求;(3)对访问行为进行控制和审计,统计在一定周期内恶意认证账号和暴力密码猜解账号及恶意认IP,及时删除休眠账号、孤儿账号等不符合规范要求的账号,便于统一管理;(4)IT技术的发展,网络规模的扩大,业务子系统和用户数量的不断增加,访问控制和系统安全问题日渐突出,原有分散的“独立认证、独立授权、独立管理”模式已不满足学校日益发展的需要;(5)统一身份认证平台还具有方便性、安全性、扩展性、兼容性强等特点,符合政策监管(GB/T 25070-2019信息安全技术网络安全等级保护安全设计技术要求)要求。

统一身份认证管理平台系统的实现,使学校的信息管理更加科学化、便捷化和信息化,解决各业务部门子系统之间信息不分享问题,打破信息化中的数据孤岛现象,为学校信息化建设提供更加安全保障措施。为使用人员减轻负担,为管理人员提供灵活、方便的操作,节约信息管理的成本,提高管理效率,创造良好工作氛围。

1 技术介绍

本章节主要介绍认证登录技术、两种不同的核心登陆方式、密码加密技术、身份认证功能、J2ee技术和审计管理。

1.1 认证登录技术

认证登录技术,登陆采用基于口令的认证方法。用户可以使用账号密码登录、开启免登录、动态密码登录、二维码扫描登录、RTX集成登录、联合登录(第三方联合登陆,如:腾讯QQ、新浪微博、微信等)。认证系统中存储统一身份的技术主要借助LDAP(Lightweight Directory Access Protocol)技术,协助完成存储用户权限、身份认证和信息识别[1]。

1.1.1 登录方式一

动态密码登录实现需有短信网关,UCP接口或二次开发对接,在imp(Identity Management Platform)管控台开启配置短信网关。操作步骤大致如下:登陆imp管控台,系统管理—>配置管理—>网关配置,设置ucp接口地址,开启短信验证码,如图1所示;登录配置策略,开启动态密码,其中动态密码可配置化(支持不同组合方式,如纯数字、大小写字母与数字组合等),修改方法如图2;最后绑定用户通讯号码。RTX集成登录跟动态密码登录方式相似,不在详细叙述。

图1 imp 管控台设置

图2 配置策略

1.1.2 登录方式二

联合登录,即借助第三方登录方式,以学校为单位申请成为开发者,添加至统一身份认证平台,最后在imp管控台配置即可完成,如图3。

图3 联合登录

1.2 加密算法

密码加密采用多值扩展加密方法[2],该方法对认证系统版本要求较高,适用于IDS6以上版本,优点是可提供扩展多个加密密码字段,也可设置自定义加密方式。目前市场上的很多硬件只支持密文认证或需要可解密密码字段,同时LDAP工具自带加密方式且不可逆,因此需要采用多值扩展加密方法解决此弊端。实现算法如下:

1.3 身份认证功能

身份认证功能提供了认证服务系统的核心服务,主要用于学校对所有使用者的数字化身份进行登录验证,其登录界面包括PC端、手机端,并且为不同终端提供不同的登录界面。通过统一认证的登录界面,系统对用户输入的账号和密码进行认证,进而为集成的应用系统提供访问控制功能(SSO)[3]。认证管理模块主要提供对全校师生身份认证需要集成应用的管理功能,以及认证统计的一些汇总,实际的身份认证服务提供并不在此进行,通过LDAP服务进行。认证应用是用于管理全校已经集成的所有系统,即每个集成的应用系统均需要在此注册,最终是所有应用系统在认证应用中的功能清晰明了。认证统计模块主要展现平台账号的认证情况,形成认证成功和失败日志,提供各个认证细节的查询,包括认证的账号、认证时间、认证IP等信息。逻辑结构和物理结构如图4、5。

图4 认证登录逻辑结构图

图5 认证登录物理结构图

1.4 J2ee技术

J2ee技术是统一身份认证系统中的核心技术之一,它是 Java语言的企业级开发标准,是web应用B/S网络计算模式开发的核心技术,优点在于可移植性高、安全性强[4]。统一身份认证系统开发中借助J2ee技术,使得开发效果高,周期短,对运行环境要求相对较低。J2ee技术和开放授权(Open Authorization,OAuth)的结合使得开发系统程序可以在异构环境中进行移植,不需要针对不同的部署环境单独部署不同的程序。OAuth协议是第三方授权的开放标准,本文中的认证系统是用的OAuth2.0,通过该标准可访问某一系统应用中的相关开放信息(如证件照、工号、办公电话等)。OAuth2.0有五种不同的授权模式,分别是授权码(authorization code)、简化(implicit)、密码(resource owner password credentials)、客户端(client credentials)和扩展(extension)模式[4]。采用双认证系统模式,其逻辑结构图如图6。

图6 oauth2.0 部署逻辑图

1.5 审计管理

审计管理是系统管理员发现登录账号、认证和授权中出现的一些问题,院校可自定义审计的阈值来满足个性化需求,主要分为账号审计、认证审计、授权审计和差异审计[5]。审计管理包括休眠账号、孤儿账号、密码强度不符合要求的账号和不规范账号,通过账号审计功能可查看详情,解决异常账号问题;恶意认证、暴力破解账号密码和恶意认证的IP地址可通过认证审计解决;空组或无容器账号,可通过授权审计查看详情;LDAP丢失账号和数据库丢失账号通过差异审计辨认出差错;系统的实时运行状态可通过监控管理查看各项服务运行的可能性,其界面如图7。

图7 系统实时运行状态

2 系统实现的论述

系统设计的实现,主要包括方案规划、系统设计、编码规则、具体实施等方面,其中安全因素是首要准则。系统采用浏览器/服务器(B/S)架构,严格执行身份认证服务,实现手动、自动备份两种模式,同时备份到服务器和客户端,预防服务器瘫痪和硬盘损坏时造成的数据丢失。B/S架构的优势在于部署简单,方便用户随时随地查看,权限层次分明,即不同身份人员权限不同。密码规则采用非对称(RSA)且不可逆解析加密方法(MD5)进行加密,避免用户使用跟银行账号、邮箱等相同密码或弱密码,造成因密码泄露导致的相关损失[6-7]。

系统设计约束包括业务无关性、标准化规则、高安全性、可集成性、易用性、高稳定性和开放性。业务无关性,与各个被保护的子系统相关业务逻辑无关,支持系统间的单点登录,选择性广,完全基于J2EE技术研发;标准化规则,以国际认证标准的CAS单点登陆方案为基调, 其中标准包括LDAP、OAuth、JASS、SSL等;高安全性指符合安全审计要求,通过安全等级保护测试,多种控制手段结合;可集成性是系统实现过程中最重要的一部分,对不同开发平台和模式下的应用系统实现认证集成,接入方式简单、易操作;高稳定性,实时监控设备结合自动预警方案;开放性指OAuth协议是目前互联网普遍认可且使用率最高的,通过身份认证开放OAuth协议,且被腾讯、Facebook、Google等使用的开放标准。

系统配置和软硬件配备,统一身份认证服务系统在2台服务器上分别部署Web服务+应用系统、数据库。从稳定、可控性能上看,采用2台刀片服务器,具体配置2CPU,32G内存,2T*2硬盘以保证有足够计算能力,运算空间和数据安全,采用Linux服务器版操作系统。软硬件配置清单如表1。

表1 统一身份认证系统软硬件配置

3 结语

本文以上海工程技术大学高职学院为例,研发基础OAUTH2.0统一身份认证的多应用系统,很大程度上满足了师生的日常工作、学习需求。经过6个月的上线试运行,系统稳定、安全性高、可用性强、兼容性强和界面友好等优化功能。

猜你喜欢
账号密码加密
密码里的爱
一种新型离散忆阻混沌系统及其图像加密应用
彤彤的聊天账号
施诈计骗走游戏账号
一种基于熵的混沌加密小波变换水印算法
密码抗倭立奇功
我国社交媒体账号的对外传播之道——以“人民日报”Facebook账号“特朗普访华”议题报道为例
密码藏在何处
Google Play游戏取消账号绑定没有Google账号也能玩
认证加密的研究进展