鄭秋霞,嚴(yán)衛(wèi)華
(浙江金融職業(yè)學(xué)院,浙江 杭州 310018)
隨著網(wǎng)絡(luò)應(yīng)用的普及,傳統(tǒng)認(rèn)證方式導(dǎo)致的盜取賬號(hào)密碼事件頻傳,并產(chǎn)生了惡劣的后果,嚴(yán)重影響到信息的安全[1].目前最常見的高級(jí)認(rèn)證方式為使用令牌來保證身份的正確識(shí)別,市場(chǎng)上成熟的動(dòng)態(tài)口令商業(yè)產(chǎn)品主要是由用戶端的密碼令牌和應(yīng)用系統(tǒng)端的認(rèn)證服務(wù)器組成,該方式需用戶隨身攜帶密碼令牌并定期進(jìn)行時(shí)間同步和令牌更換[2-3],并付出很高的采購(gòu)成本和管理成本,對(duì)于很多企業(yè)特別是小型企業(yè)來說無法承受.基于中小企業(yè)的需求,本文考慮使用手機(jī)和短信相結(jié)合來替代專用令牌設(shè)備是解決此問題.
本文設(shè)計(jì)并初步實(shí)現(xiàn)一套基于開源軟件和動(dòng)態(tài)短信口令的雙因子身份認(rèn)證系統(tǒng),見圖1.本系統(tǒng)可彌補(bǔ)靜態(tài)密碼安全性不足之處,又有別于市場(chǎng)上的雙因子認(rèn)證的解決方案,使用普及率較高的手機(jī)及其短信服務(wù)來取代價(jià)格較為昂貴的Token,可以降低設(shè)備購(gòu)置成本及系統(tǒng)后續(xù)維護(hù)管理成本,并能為廣大中小型企業(yè)安全性較高的身份認(rèn)證功能.
圖1 系統(tǒng)構(gòu)成示意圖
啟動(dòng)使用的服務(wù)器或工作站,使用CentOS5.3 DVD安裝光盤安裝操作系統(tǒng),完全安裝的操作系統(tǒng)已經(jīng)包括Apache、PHP、MySQL等,并且在CentOS5.3 DVD裝光盤均包含上述開源軟件的RPM安裝包,這些軟件也可以使用yum工具進(jìn)行相應(yīng)的安裝.并且根據(jù)需要進(jìn)行配置.
安裝中需要自行增加php-gd-5.1.6-23.el5、phppdo-5.1.6-23.el5和php-mysql-5.1.6-23.el5三個(gè)RPM包,來滿足實(shí)現(xiàn)PHP和MySQL的協(xié)同和在網(wǎng)頁(yè)中自動(dòng)生成校驗(yàn)碼圖片兩個(gè)功能.此外為了更快的執(zhí)行MySQL的管理,也可以通過使用phpMyadmin實(shí)現(xiàn)MySQL的圖形界面管理,便于對(duì)MySQL的管理和操作.
FreeRADIUS安裝分三步:
(1)下載FreeRADIUS
通過http://freeradius.org/下載安裝文件和相關(guān)文檔[4],將該安裝文件保存到/opt/download/路徑下.
(2)編譯
通過tar zxvf freeradius-server-2.1.6.tar.gz對(duì)源程序進(jìn)行解壓 ,并使用 congfigure、make、make install命令編譯和安裝
上述編譯過程前必須安裝mysql-devel-5.0.45-7.el5.i386.rpm文件包,否則無法成功編譯rlmsql-mysql,FreeRADIUS和Mysql數(shù)據(jù)庫(kù)不可以正常聯(lián)動(dòng)工作.
(3)SMS server Tool 3安裝
下載SMS server Tool 3[5],首先對(duì)其進(jìn)行解壓縮,tar-xzf smstools*.tar.gz,然后執(zhí)行預(yù)置編譯腳本make和make install,該腳本自動(dòng)對(duì)源文件進(jìn)行編譯和安裝,并實(shí)現(xiàn)SMS短信服務(wù)的自動(dòng)運(yùn)行.安裝必須使用root權(quán)限,并確認(rèn)gcc、make、tar可用.
(1)進(jìn)入/etc/httpd/conf/增加AddType application/X-httpd-php.php項(xiàng).
重啟httpd service httpd restart
(2)執(zhí)行表生成腳本,也可通過phpMyAdmin圖形界面執(zhí)行,內(nèi)容如下:
通過上述文件生產(chǎn)的數(shù)據(jù)庫(kù)和表,可以生成符合本認(rèn)證系統(tǒng)要求的數(shù)據(jù)庫(kù),滿足基于開源軟件和動(dòng)態(tài)短信口令的雙因子身份認(rèn)證系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的需求、提供動(dòng)態(tài)口令的存活時(shí)間控制、存活時(shí)間外隨機(jī)碼的自動(dòng)生成和定時(shí)更換等密碼等控制措施數(shù)據(jù)的存放.
(3)SMS Server Tools 3配置
根據(jù)和GSM modem相連接的COM端口和速率修改smsd.conf內(nèi)容:
其中COM1對(duì)應(yīng)/dev/ttyS0.
SMS Server Tools通過dev/ttyS0串口設(shè)備連接GSM modem(使用 Wavecom 1206A進(jìn)行測(cè)試并通過),進(jìn)行短信的發(fā)送.
默認(rèn)狀態(tài)下SMS Server Tools 3的sendsms程序僅能發(fā)送ASCII碼,如果需要發(fā)送中文短信,必須更改其sendsms腳本.在原始sendsms腳本后增加內(nèi)容如下:
這是因?yàn)閲?guó)內(nèi)短信中文編碼為UCS-2BE格式進(jìn)行,但是在該認(rèn)證系統(tǒng)中中所有字符均通過UTF-8格式存放,通過上述短信發(fā)送腳本的編寫,對(duì)短信中中文的編碼格式UTF進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換后格式為國(guó)內(nèi)短信中文編碼格式UCS-2BE,則移動(dòng)短信網(wǎng)關(guān)可以正常識(shí)別發(fā)送的中文數(shù)據(jù),實(shí)現(xiàn)通過SMS modem正常發(fā)送中文短信.
動(dòng)態(tài)口令認(rèn)證系統(tǒng)的用戶界面主要提供用戶的第一階段認(rèn)證接口,該接口提供一個(gè)https加密的通道來進(jìn)行動(dòng)態(tài)口令的申請(qǐng).按照工作流程,一旦用戶成功通過靜態(tài)密碼的驗(yàn)證,則后端通過SMS短信modem發(fā)送動(dòng)態(tài)口令,并將頁(yè)面跳轉(zhuǎn)到應(yīng)用的登錄頁(yè)面,并再次進(jìn)行認(rèn)證,保證內(nèi)部信息的安全.如果客戶不能通過此項(xiàng)認(rèn)證,則不能獲得生產(chǎn)系統(tǒng)的正式登陸頁(yè)面.身份認(rèn)證系統(tǒng)WEB UI生成的用戶登錄WEB UI截屏,見圖2.普通用戶登錄成功后會(huì)自動(dòng)轉(zhuǎn)向管理模塊預(yù)設(shè)的二次登陸界面,并在此頁(yè)面中輸入用戶ID和動(dòng)態(tài)口令即可.如果通過此次認(rèn)證即可成功進(jìn)入系統(tǒng),訪問內(nèi)部資源.否則無法正常登錄.
圖2 用戶登錄WEB UI截屏
管理界面是整個(gè)系統(tǒng)的核心部分,可以進(jìn)行系統(tǒng)整體參數(shù)的設(shè)置,包括預(yù)設(shè)值密碼、動(dòng)態(tài)密碼長(zhǎng)度設(shè)置、動(dòng)態(tài)密碼存活時(shí)間、登錄成功后跳轉(zhuǎn)頁(yè)面(二次認(rèn)證頁(yè)面)等系統(tǒng)關(guān)鍵參數(shù)的設(shè)置.
管理用戶登錄系統(tǒng)后操作界面,見圖3.管理員登錄WEB UI及系統(tǒng)參數(shù)截屏所示.
圖3 管理員登錄WEB UI及系統(tǒng)參數(shù)截屏
同時(shí)此系統(tǒng)可以實(shí)現(xiàn)用戶管理、權(quán)限管理等項(xiàng)的管理.并可實(shí)現(xiàn)radius客戶端、動(dòng)態(tài)密碼申請(qǐng)記錄、登錄時(shí)間、訪問IP等事件的日志記錄.
這樣整個(gè)短信認(rèn)證系統(tǒng)的搭建,通過實(shí)例的安裝環(huán)境、操作系統(tǒng)、開源應(yīng)用系統(tǒng)等系統(tǒng)的安裝,實(shí)現(xiàn)了基于開源軟件和動(dòng)態(tài)短信口令的雙因子身份認(rèn)證系統(tǒng).可以良好的對(duì)單WEB應(yīng)用系統(tǒng)或企業(yè)內(nèi)部Portal進(jìn)行良好的認(rèn)證支持.
從整個(gè)系統(tǒng)的應(yīng)用和發(fā)展來看,今后可以在核心部分RADIUS認(rèn)證功能進(jìn)行改進(jìn),而且通過對(duì)中國(guó)移動(dòng)飛信協(xié)議的分析,基本獲得了該協(xié)議的登錄、發(fā)送短信功能的編碼結(jié)構(gòu),可以在后續(xù)版本中使用飛信這個(gè)免費(fèi)的短信發(fā)送平臺(tái),通過網(wǎng)絡(luò)進(jìn)行密碼短信的發(fā)送.同時(shí)使用GSM modem作為短信發(fā)送的備份手段,從而為企業(yè)提供更為安全、可靠的認(rèn)證功能.
[1]RSA公司.使用SecuID保護(hù)企業(yè)數(shù)據(jù)資產(chǎn)——身份認(rèn)證系統(tǒng)安全解決方案[R/OL].2005-01-10[2009-08-01]http://www.winscom.com/dzqk/c7.html.
[2]單廣玉,張振濤,楊義先.基于短消息業(yè)務(wù)的動(dòng)態(tài)口令方案[J].現(xiàn)代電信科技,2004(2):35-37.
[3]代 亮,戴英俠.動(dòng)態(tài)口令系統(tǒng)Radius接口的簡(jiǎn)單實(shí)現(xiàn)方法[J].計(jì)算機(jī)工程與應(yīng)用.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.