周喜 蔡明杰
【摘 要】 國(guó)內(nèi)的SaaS和PaaS服務(wù)商提供的在線會(huì)計(jì)信息系統(tǒng)服務(wù),能幫助用戶隨時(shí)隨地進(jìn)行會(huì)計(jì)日常業(yè)務(wù)處理,充分發(fā)揮會(huì)計(jì)核算、分析和財(cái)務(wù)決策等職能。由于所有服務(wù)都是基于互聯(lián)網(wǎng)的應(yīng)用模式,網(wǎng)絡(luò)安全變得越來(lái)越重要。為維護(hù)和保障用戶的正當(dāng)利益,在線會(huì)計(jì)信息系統(tǒng)用戶身份認(rèn)證體系采用雙因素動(dòng)態(tài)口令方式構(gòu)建,能有效防止竊聽、重放、偽造、服務(wù)器欺騙、暴力破解和猜測(cè)等攻擊手段,相比傳統(tǒng)方式構(gòu)建的身份認(rèn)證體系更安全。
【關(guān)鍵詞】 OTP技術(shù); 在線會(huì)計(jì)信息系統(tǒng); 動(dòng)態(tài)口令; 身份認(rèn)證
隨著互聯(lián)網(wǎng)的不斷發(fā)展及在線服務(wù)業(yè)務(wù)的需求日益增加,金碟、用友、阿里巴巴和八百客等SaaS服務(wù)商相繼推出了在線會(huì)計(jì)、在線記賬、錢掌柜和管理自動(dòng)化等在線會(huì)計(jì)信息系統(tǒng)。如何保障在線業(yè)務(wù)開展的安全性是維護(hù)用戶切身利益的關(guān)鍵問(wèn)題。身份認(rèn)證是系統(tǒng)安全的第一道防線,也是系統(tǒng)安全的關(guān)鍵所在。常用的傳統(tǒng)身份認(rèn)證方式是ID/PW靜態(tài)口令模式,其廣泛應(yīng)用于Web應(yīng)用服務(wù)。但靜態(tài)口令是可以重復(fù)使用的,易受窮舉、重放、網(wǎng)絡(luò)數(shù)據(jù)包偵聽和協(xié)議分析等多種形式的攻擊。為解決上述問(wèn)題,在線服務(wù)提供商可構(gòu)建無(wú)須第三方認(rèn)證的基于動(dòng)態(tài)口令技術(shù)的雙因素身份認(rèn)證體系,是可行的、安全可靠的解決方案。
一、身份認(rèn)證及OTP技術(shù)
在線會(huì)計(jì)信息系統(tǒng)中確認(rèn)操作者身份的過(guò)程所應(yīng)用的OTP技術(shù),需要認(rèn)識(shí)兩個(gè)概念。
(一)身份認(rèn)證
身份認(rèn)證是主要用于阻止非授權(quán)用戶對(duì)系統(tǒng)的訪問(wèn)或入侵,是網(wǎng)絡(luò)安全的一個(gè)重要內(nèi)容,也是計(jì)算機(jī)信息系統(tǒng)的重要的安全保護(hù)手段。傳統(tǒng)常見(jiàn)的身份認(rèn)證方式有用戶口令核對(duì)法。即:系統(tǒng)為合法的用戶建立ID/PW,通過(guò)登錄時(shí)用戶輸入信息與系統(tǒng)內(nèi)的信息是否匹配來(lái)驗(yàn)證用戶身份。靜態(tài)口令是簡(jiǎn)單有效的安全措施,應(yīng)用也方便,用戶端不需要安裝軟硬件認(rèn)證設(shè)備,但由于用戶名和口令都以明文方式在網(wǎng)絡(luò)中傳輸,存在易攻擊、易竊取和易破解等問(wèn)題。身份認(rèn)證大致分為以下四大類型:一是用戶申請(qǐng)固定的秘密信息,如用戶名和口令、PIN碼等;二是用戶持有某些物理介質(zhì),如IC卡、智能卡和加密U盤等;三是用戶具有的生物學(xué)特征,如五官、指紋、DNA、掌紋、視網(wǎng)膜和聲音等;四是用戶和認(rèn)證系統(tǒng)雙向認(rèn)證后提供動(dòng)態(tài)口令令牌,如軟件令牌、硬件令牌和短信令牌等。
(二)OTP技術(shù)
OTP(One-time Password)技術(shù),即動(dòng)態(tài)口令技術(shù),是系統(tǒng)鑒別用戶身份合法性的數(shù)字化憑證,是防止非法用戶侵入而設(shè)計(jì)的一種身份認(rèn)證技術(shù)。OTP技術(shù)根據(jù)專門的算法生成一個(gè)只能使用一次且有生命周期,不可預(yù)測(cè)的隨機(jī)數(shù)字組合。OTP身份認(rèn)證的實(shí)現(xiàn)方式包括S/KEY方式、挑戰(zhàn)/應(yīng)答方式、時(shí)間同步方式和事件同步方式。OTP技術(shù)是一種先進(jìn)、安全和便捷的用戶信息防盜技術(shù),可有效地保護(hù)用戶登錄和交易的認(rèn)證安全。動(dòng)態(tài)口令認(rèn)證的實(shí)現(xiàn)原理是:用戶在登錄系統(tǒng)、驗(yàn)證身份的過(guò)程中加入一些不確定的因素,傳遞給認(rèn)證系統(tǒng)驗(yàn)證的數(shù)據(jù)是動(dòng)態(tài)和變化的,從而提高信息系統(tǒng)的安全性。OTP技術(shù)下的身份認(rèn)證系統(tǒng)采用自定的簡(jiǎn)單加密算法和身份認(rèn)證協(xié)議,為每個(gè)用戶分配一個(gè)用戶名,并生成一組密鑰。客戶端根據(jù)用戶的當(dāng)前時(shí)間值和密鑰生成用戶當(dāng)前登錄口令。用戶使用該登錄口令和用戶名提交身份認(rèn)證請(qǐng)求,認(rèn)證服務(wù)器通過(guò)用戶名的索引找到該用戶在認(rèn)證服務(wù)器數(shù)據(jù)庫(kù)中的密鑰,再經(jīng)過(guò)算法變換后得到校驗(yàn)口令,如校驗(yàn)口令和用戶請(qǐng)求口令一致,則通過(guò)身份認(rèn)證,否則,拒絕用戶登錄請(qǐng)求。
OTP身份認(rèn)證系統(tǒng)有以下特點(diǎn):1.動(dòng)態(tài)口令具有不重復(fù)使用及較強(qiáng)的時(shí)效性;2.動(dòng)態(tài)口令無(wú)需復(fù)雜的算法,減輕客戶端的運(yùn)算壓力;3.動(dòng)態(tài)口令的口令位數(shù)更長(zhǎng),具有8位的長(zhǎng)度,具備較好地抗分析與抗暴力破解能力;4.動(dòng)態(tài)口令無(wú)需另附加終端認(rèn)證的硬件設(shè)備;5.動(dòng)態(tài)口令無(wú)需缺乏權(quán)威的第三方認(rèn)證機(jī)構(gòu)的參與;6.動(dòng)態(tài)口令的使用,可有效防范外網(wǎng)和內(nèi)網(wǎng)的入侵攻擊;7.動(dòng)態(tài)口令認(rèn)證過(guò)程中客戶端和服務(wù)器間的通信次數(shù)少、信息量小。OTP身份認(rèn)證系統(tǒng)能有效抵御猜測(cè)、重放和竊聽等黑客攻擊,表1為基于動(dòng)態(tài)和靜態(tài)口令身份認(rèn)證系統(tǒng)的相關(guān)數(shù)據(jù)對(duì)比情況(見(jiàn)表1)。
二、國(guó)內(nèi)在線會(huì)計(jì)信息系統(tǒng)身份認(rèn)證體系現(xiàn)狀
我國(guó)在線會(huì)計(jì)服務(wù)模式是基于B/S架構(gòu)的軟件模式,企業(yè)不用花費(fèi)巨資購(gòu)買財(cái)務(wù)軟件,不需要進(jìn)行軟件的安裝、維護(hù)和升級(jí)等一系列工作,只需借助互聯(lián)網(wǎng)按年或月支付費(fèi)用即可租用軟件進(jìn)行會(huì)計(jì)業(yè)務(wù)處理的一種模式。目前推出在線會(huì)計(jì)信息系統(tǒng)服務(wù)的開發(fā)商有金蝶、用友、阿里巴巴和八百客等,筆者對(duì)表2中幾款在線會(huì)計(jì)信息系統(tǒng)的身份認(rèn)證系統(tǒng)進(jìn)行對(duì)比分析發(fā)現(xiàn):國(guó)內(nèi)在線系統(tǒng)身份認(rèn)證體系中暫無(wú)服務(wù)商提供動(dòng)態(tài)口令身份認(rèn)證服務(wù),這嚴(yán)重影響在線服務(wù)系統(tǒng)的安全性和用戶的切身利益,也將影響SaaS服務(wù)商提出的在線會(huì)計(jì)信息系統(tǒng)實(shí)現(xiàn)“未來(lái)五年的復(fù)合增長(zhǎng)率達(dá)到43%”的目標(biāo)(見(jiàn)表2)。
三、基于OTP技術(shù)的在線會(huì)計(jì)信息系統(tǒng)身份認(rèn)證體系構(gòu)建
按照系統(tǒng)論觀點(diǎn),會(huì)計(jì)信息系統(tǒng)是指由會(huì)計(jì)的確認(rèn)、計(jì)量、記錄、分析、預(yù)測(cè)、決策、控制等一系列元素有機(jī)構(gòu)成的集合體?,F(xiàn)重點(diǎn)闡述OTP技術(shù)的在線會(huì)計(jì)信息系統(tǒng)身份認(rèn)證體系構(gòu)建。
(一)常用OTP認(rèn)證的基本原理
1.挑戰(zhàn)/應(yīng)答(Challenge/Response)認(rèn)證技術(shù)
基于挑戰(zhàn)/應(yīng)答認(rèn)證技術(shù)的基本原理:選擇自定函數(shù)或加密算法作為口令生成算法。用戶在請(qǐng)求登錄時(shí),認(rèn)證服務(wù)器產(chǎn)生一個(gè)挑戰(zhàn)碼(隨機(jī)碼),包括種子Seed和迭代次數(shù)Seq。用戶端將口令(密鑰)和挑戰(zhàn)碼作為自定單向函數(shù)的參數(shù)進(jìn)行運(yùn)算。由于每個(gè)用戶的密鑰不同,不同用戶對(duì)同樣的挑戰(zhàn)碼算出不同的應(yīng)答數(shù),這個(gè)應(yīng)答數(shù)作為動(dòng)態(tài)口令發(fā)送給認(rèn)證服務(wù)器且這個(gè)應(yīng)答數(shù)只能使用一次。該方式具有較好的安全性(見(jiàn)圖1)。
2.時(shí)間同步(Time Synchrono-us)認(rèn)證技術(shù)
時(shí)間同步認(rèn)證技術(shù)的基本原理是以用戶登錄時(shí)間作為隨機(jī)因素,流逝的時(shí)間作為變動(dòng)因子,一般以60S為變化單位。同時(shí)選擇自定單向函數(shù)作為認(rèn)證數(shù)據(jù)的口令生成算法。將用戶端的口令(密鑰)和時(shí)間值作為自定單向函數(shù)的參數(shù)。因?yàn)檫\(yùn)算所得的認(rèn)證數(shù)據(jù)因時(shí)間值的不確定也在不斷變化,從而保證了每次產(chǎn)生的動(dòng)態(tài)口令值都不相同(見(jiàn)圖2)。
3.事件同步(Event Synochro-nous)認(rèn)證技術(shù)
基于事件同步的令牌基本原理是通過(guò)一組有序數(shù)列的時(shí)間次序及相同的種子值作為參數(shù),進(jìn)行自定函數(shù)算法得出密碼。用戶每次輸入一次ID就會(huì)產(chǎn)生一個(gè)密碼,密碼按照使用次數(shù)不斷的動(dòng)態(tài)變化。如用戶端和服務(wù)器通過(guò)自定算法得到一致的密碼,將通過(guò)登陸請(qǐng)求(見(jiàn)圖3)。
(二)系統(tǒng)的構(gòu)建及實(shí)現(xiàn)
1.構(gòu)建基本要求及設(shè)計(jì)思想
身份認(rèn)證系統(tǒng)的基本要求是:機(jī)密性、完整性、不可抵賴性和身份驗(yàn)證。系統(tǒng)設(shè)計(jì)思想:體系構(gòu)建將基于ID/PW和OTP技術(shù)雙因素身份認(rèn)證技術(shù);每次登錄動(dòng)態(tài)口令不重復(fù);認(rèn)證服務(wù)器和用戶主機(jī)端的私鑰和算法一致;動(dòng)態(tài)口令具有較強(qiáng)的時(shí)效性;支持分布式認(rèn)證。
2.身份認(rèn)證過(guò)程
用戶登錄系統(tǒng)時(shí)將提交認(rèn)證請(qǐng)求,認(rèn)證服務(wù)器確定用戶的合法性,身份認(rèn)證過(guò)程如圖4所示。
用戶身份認(rèn)證的詳細(xì)過(guò)程如下:用戶通過(guò)安全通道向認(rèn)證服務(wù)器輸入ID/PW,提交認(rèn)證請(qǐng)求;認(rèn)證服務(wù)器收到認(rèn)證請(qǐng)求后,查詢數(shù)據(jù)庫(kù)該用戶ID/PW是否一致,如是合法用戶,則下傳一個(gè)隨機(jī)的挑戰(zhàn)碼給用戶;用戶主機(jī)端根據(jù)挑戰(zhàn)碼和用戶私鑰,執(zhí)行自定單向函數(shù)運(yùn)算,輸出相應(yīng)的應(yīng)答碼(即為此次認(rèn)證的動(dòng)態(tài)口令)并通過(guò)安全通道發(fā)送至認(rèn)證服務(wù)器;認(rèn)證服務(wù)器執(zhí)行同樣的算法生成應(yīng)答碼,并與用戶發(fā)送過(guò)來(lái)的應(yīng)答碼進(jìn)行對(duì)比,其驗(yàn)證結(jié)果將返回給用戶。
3.身份認(rèn)證體系實(shí)現(xiàn)
基于OTP技術(shù)的身份認(rèn)證體系結(jié)構(gòu)主要由三大部分組成:用戶模塊、OTP生成器模塊和認(rèn)證服務(wù)器模塊。傳統(tǒng)的靜態(tài)驗(yàn)證系統(tǒng)中,由于用戶口令是一次設(shè)置后,可重復(fù)使用,用戶不需要通過(guò)其他手段獲取口令。而在動(dòng)態(tài)口令驗(yàn)證系統(tǒng)中,口令是有較強(qiáng)的時(shí)效性和隨機(jī)性,每個(gè)口令只能使用一次,因此在動(dòng)態(tài)口令認(rèn)證系統(tǒng)中增加了OTP生成器模塊來(lái)完成動(dòng)態(tài)口令的生成。這個(gè)模塊可以使用軟件或硬件來(lái)實(shí)現(xiàn),考慮到成本等因素,我們僅選擇軟件的形式實(shí)現(xiàn)。用戶模塊的主要作用是以認(rèn)證服務(wù)器產(chǎn)生的挑戰(zhàn)碼和用戶的私鑰按自定算法計(jì)算出一個(gè)響應(yīng)碼,通過(guò)安全通道傳輸?shù)秸J(rèn)證服務(wù)器,再將驗(yàn)證結(jié)果通知給用戶。OTP生成器模塊主要作用就是按用戶的私鑰和公鑰進(jìn)行計(jì)算生成動(dòng)態(tài)口令。該模塊可安裝在認(rèn)證服務(wù)器或用戶端,前者靈活性好,后者安全性高。認(rèn)證服務(wù)器模塊是整個(gè)系統(tǒng)的核心模塊,包括初始化模塊、用戶管理模塊和動(dòng)態(tài)口令模塊。該模塊主要作用是驗(yàn)證用戶口令是否正確;向用戶發(fā)送動(dòng)態(tài)口令;鑒定用戶端主機(jī)的合法性;監(jiān)控整個(gè)認(rèn)證過(guò)程;創(chuàng)建工作日志等。
4.安全性分析
(1)字典攻擊:假設(shè)攻擊者通過(guò)字典及窮舉法得到用戶和私鑰,但是私鑰的安全性由公鑰的加密算法決定。動(dòng)態(tài)口令加入時(shí)間這一不確定因素,每次連接請(qǐng)求時(shí)都不同。因此,動(dòng)態(tài)口令機(jī)制能有效防范字典攻擊。
(2)重放攻擊:用戶與認(rèn)證服務(wù)器雙方的挑戰(zhàn)信息采用了C/R認(rèn)證機(jī)制,每次雙向認(rèn)證時(shí),服務(wù)都會(huì)生成新的動(dòng)態(tài)身份認(rèn)證口令,即使攻擊者進(jìn)行了重放攻擊并截取到了大量信息,但認(rèn)證服務(wù)器計(jì)算機(jī)的結(jié)果與收到的值不一致,認(rèn)證服務(wù)器將拒絕登陸請(qǐng)求,此次認(rèn)證失敗。
(3)竊聽攻擊:用戶與認(rèn)證服務(wù)器間的信道上傳輸?shù)臄?shù)據(jù)是通過(guò)自定函數(shù)計(jì)算加密的,并非真正的口令。即使攻擊者獲得該信息,也無(wú)法進(jìn)行可逆運(yùn)算操作,無(wú)法獲取用戶的口令。另動(dòng)態(tài)口令生命周期一般為60S,也將有效地防御竊聽攻擊。
(4)猜測(cè)攻擊:用戶口令值通過(guò)公鑰對(duì)其加密并存儲(chǔ)在認(rèn)證服務(wù)器中,即使攻擊者獲取口令文件,但無(wú)法得到認(rèn)證服務(wù)器的私鑰而不能解密得到用戶的口令,有效地防御了猜測(cè)攻擊。
(5)暴力破解攻擊:系統(tǒng)的安全性主要依賴于協(xié)議中的公鑰密碼和自定函數(shù)算法等,系統(tǒng)一般輸出的數(shù)據(jù)為128位,如攻擊者通過(guò)窮舉法暴力破解方法需嘗試2 128次,另公鑰密碼是基于大素?cái)?shù)分解,目前沒(méi)有有效的破解方法。
四、結(jié)束語(yǔ)
基于OTP技術(shù)和用戶密碼雙因素身份認(rèn)證機(jī)制的在線會(huì)計(jì)信息系統(tǒng),有效地實(shí)現(xiàn)了雙向及多重認(rèn)證,能有效防范竊聽、重放、偽造、服務(wù)器欺騙、暴力破解和猜測(cè)等黑客攻擊,保障了在線會(huì)計(jì)信息系統(tǒng)的安全和用戶的切身利益?;贠TP技術(shù)構(gòu)建的身份認(rèn)證體系具有低成本和安全性高等特點(diǎn),已廣泛應(yīng)用于在線會(huì)計(jì)服務(wù)、銀行、政府、網(wǎng)絡(luò)游戲、電子商務(wù)、證券和內(nèi)部管理等領(lǐng)域。
【參考文獻(xiàn)】
[1] 周喜.SaaS在線會(huì)計(jì)服務(wù)模式發(fā)展的瓶頸問(wèn)題及對(duì)策研究[J].商業(yè)文化(下半月),2011(1):152-154.
[2] 敖山,劉慶華,姜樺.動(dòng)態(tài)口令身份認(rèn)證的實(shí)現(xiàn)方式分析[J].焦作大學(xué)學(xué)報(bào),2006(2):60-64.
[3] 韓平,朱艷琴,羅喜召.無(wú)線局域網(wǎng)中使用OTP的身份認(rèn)證方案[J].計(jì)算機(jī)工程,2008(14):16.
[4] 趙志輝,李新社.基于OTP和RSA的身份認(rèn)證系統(tǒng)研究[J].電腦知識(shí)與技術(shù),2009(11):42-45.
[5] 高明柯,陳錫文,王倩.密碼學(xué)中基于口令驗(yàn)證和身份確認(rèn)的網(wǎng)絡(luò)安全研究[J].湘潭師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2008(2):61-65.