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