APP下载

基于开源软件和动态短信口令的双因子身份认证系统

2010-11-28郑秋霞严卫华

浙江水利水电学院学报 2010年4期
关键词:令牌口令开源

郑秋霞,严卫华

(浙江金融职业学院,浙江 杭州 310018)

0 引 言

随着网络应用的普及,传统认证方式导致的盗取账号密码事件频传,并产生了恶劣的后果,严重影响到信息的安全[1].目前最常见的高级认证方式为使用令牌来保证身份的正确识别,市场上成熟的动态口令商业产品主要是由用户端的密码令牌和应用系统端的认证服务器组成,该方式需用户随身携带密码令牌并定期进行时间同步和令牌更换[2-3],并付出很高的采购成本和管理成本,对于很多企业特别是小型企业来说无法承受.基于中小企业的需求,本文考虑使用手机和短信相结合来替代专用令牌设备是解决此问题.

本文设计并初步实现一套基于开源软件和动态短信口令的双因子身份认证系统,见图1.本系统可弥补静态密码安全性不足之处,又有别于市场上的双因子认证的解决方案,使用普及率较高的手机及其短信服务来取代价格较为昂贵的Token,可以降低设备购置成本及系统后续维护管理成本,并能为广大中小型企业安全性较高的身份认证功能.

图1 系统构成示意图

1 安装操作系统

启动使用的服务器或工作站,使用CentOS5.3 DVD安装光盘安装操作系统,完全安装的操作系统已经包括Apache、PHP、MySQL等,并且在CentOS5.3 DVD装光盘均包含上述开源软件的RPM安装包,这些软件也可以使用yum工具进行相应的安装.并且根据需要进行配置.

安装中需要自行增加php-gd-5.1.6-23.el5、phppdo-5.1.6-23.el5和php-mysql-5.1.6-23.el5三个RPM包,来满足实现PHP和MySQL的协同和在网页中自动生成校验码图片两个功能.此外为了更快的执行MySQL的管理,也可以通过使用phpMyadmin实现MySQL的图形界面管理,便于对MySQL的管理和操作.

2 需要的开源软件安装配置

FreeRADIUS安装分三步:

(1)下载FreeRADIUS

通过http://freeradius.org/下载安装文件和相关文档[4],将该安装文件保存到/opt/download/路径下.

(2)编译

通过tar zxvf freeradius-server-2.1.6.tar.gz对源程序进行解压 ,并使用 congfigure、make、make install命令编译和安装

上述编译过程前必须安装mysql-devel-5.0.45-7.el5.i386.rpm文件包,否则无法成功编译rlmsql-mysql,FreeRADIUS和Mysql数据库不可以正常联动工作.

(3)SMS server Tool 3安装

下载SMS server Tool 3[5],首先对其进行解压缩,tar-xzf smstools*.tar.gz,然后执行预置编译脚本make和make install,该脚本自动对源文件进行编译和安装,并实现SMS短信服务的自动运行.安装必须使用root权限,并确认gcc、make、tar可用.

3 系统相关应用配置

(1)进入/etc/httpd/conf/增加AddType application/X-httpd-php.php项.

重启httpd service httpd restart

(2)执行表生成脚本,也可通过phpMyAdmin图形界面执行,内容如下:

通过上述文件生产的数据库和表,可以生成符合本认证系统要求的数据库,满足基于开源软件和动态短信口令的双因子身份认证系统对数据库的需求、提供动态口令的存活时间控制、存活时间外随机码的自动生成和定时更换等密码等控制措施数据的存放.

(3)SMS Server Tools 3配置

根据和GSM modem相连接的COM端口和速率修改smsd.conf内容:

其中COM1对应/dev/ttyS0.

SMS Server Tools通过dev/ttyS0串口设备连接GSM modem(使用 Wavecom 1206A进行测试并通过),进行短信的发送.

默认状态下SMS Server Tools 3的sendsms程序仅能发送ASCII码,如果需要发送中文短信,必须更改其sendsms脚本.在原始sendsms脚本后增加内容如下:

这是因为国内短信中文编码为UCS-2BE格式进行,但是在该认证系统中中所有字符均通过UTF-8格式存放,通过上述短信发送脚本的编写,对短信中中文的编码格式UTF进行转换,转换后格式为国内短信中文编码格式UCS-2BE,则移动短信网关可以正常识别发送的中文数据,实现通过SMS modem正常发送中文短信.

4 WEB界面

4.1 用户界面

动态口令认证系统的用户界面主要提供用户的第一阶段认证接口,该接口提供一个https加密的通道来进行动态口令的申请.按照工作流程,一旦用户成功通过静态密码的验证,则后端通过SMS短信modem发送动态口令,并将页面跳转到应用的登录页面,并再次进行认证,保证内部信息的安全.如果客户不能通过此项认证,则不能获得生产系统的正式登陆页面.身份认证系统WEB UI生成的用户登录WEB UI截屏,见图2.普通用户登录成功后会自动转向管理模块预设的二次登陆界面,并在此页面中输入用户ID和动态口令即可.如果通过此次认证即可成功进入系统,访问内部资源.否则无法正常登录.

图2 用户登录WEB UI截屏

4.2 管理界面

管理界面是整个系统的核心部分,可以进行系统整体参数的设置,包括预设值密码、动态密码长度设置、动态密码存活时间、登录成功后跳转页面(二次认证页面)等系统关键参数的设置.

管理用户登录系统后操作界面,见图3.管理员登录WEB UI及系统参数截屏所示.

图3 管理员登录WEB UI及系统参数截屏

同时此系统可以实现用户管理、权限管理等项的管理.并可实现radius客户端、动态密码申请记录、登录时间、访问IP等事件的日志记录.

5 结语与展望

这样整个短信认证系统的搭建,通过实例的安装环境、操作系统、开源应用系统等系统的安装,实现了基于开源软件和动态短信口令的双因子身份认证系统.可以良好的对单WEB应用系统或企业内部Portal进行良好的认证支持.

从整个系统的应用和发展来看,今后可以在核心部分RADIUS认证功能进行改进,而且通过对中国移动飞信协议的分析,基本获得了该协议的登录、发送短信功能的编码结构,可以在后续版本中使用飞信这个免费的短信发送平台,通过网络进行密码短信的发送.同时使用GSM modem作为短信发送的备份手段,从而为企业提供更为安全、可靠的认证功能.

[1]RSA公司.使用SecuID保护企业数据资产——身份认证系统安全解决方案[R/OL].2005-01-10[2009-08-01]http://www.winscom.com/dzqk/c7.html.

[2]单广玉,张振涛,杨义先.基于短消息业务的动态口令方案[J].现代电信科技,2004(2):35-37.

[3]代 亮,戴英侠.动态口令系统Radius接口的简单实现方法[J].计算机工程与应用.2005,41(32):142-144,202.

[4]The FreeRADIUS Server Project FreeRADIUS:Documentation and man pages[EB/OL]2009-05-01[2009-08-01]http://freeradius.org/radiusd/man/.

[5]SMSTools3 Community.How to configure[EB/OL].2009-06-01[2009-08-01].http://smstools3.kekekasvi.com/index.php?p=configure.

猜你喜欢

令牌口令开源
称金块
基于路由和QoS令牌桶的集中式限速网关
高矮胖瘦
五毛钱能买多少头牛
2019开源杰出贡献奖
口 令
好玩的“反口令”游戏
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
基于WTRP网络的自适应令牌传递算法*