隨著電子商務(wù)和電子政務(wù)的興起,網(wǎng)絡(luò)信息安全成為當(dāng)前重要研究課題。密碼是一種重要信息安全技術(shù),身份認(rèn)證是網(wǎng)絡(luò)信息安全的第一道關(guān)口,而傳統(tǒng)的用戶名和密碼的認(rèn)證存在諸多風(fēng)險,采用動態(tài)密碼的身份認(rèn)證系統(tǒng)得到了普遍認(rèn)可。這里提出了一種基于動態(tài)密碼和密碼信息分離的身份認(rèn)證的構(gòu)架。
2 設(shè)計基礎(chǔ)
2.1 動態(tài)密碼
通常的身份認(rèn)證技術(shù)是利用密碼及簽名技術(shù)實現(xiàn)的。動態(tài)密碼就是將原先靜態(tài)的密碼變成動態(tài)的,即密碼時刻以一定的規(guī)則進(jìn)行變化。目前網(wǎng)絡(luò)銀行普遍采取的密碼卡就是動態(tài)密碼的一種。認(rèn)證時,用戶根據(jù)提示,比如,第N行,第M個數(shù)字,輸入密碼卡上的數(shù)字。每次認(rèn)證時,服務(wù)器給出的提示都是不同的,所以即便有人盜竊其中一次的密碼,由于密碼的變動性,仍然無法登錄賬戶。
2.2 輸入與密碼信息分離
密碼學(xué)在現(xiàn)代信息社會具有特殊的重要性。大多數(shù)密碼系統(tǒng)要求用戶輸入全部的密碼,而其密碼的輸入系統(tǒng)都準(zhǔn)確無誤地表達(dá)用戶密碼信息。這使得木馬或黑客可以輕而易舉地盜取用戶的所有密碼信息。密碼卡的出現(xiàn),在某種意義上實現(xiàn)了用戶部分輸入密碼信息,使得用戶輸入與密碼信息分離。
而傳統(tǒng)密碼盜竊是因為用戶每次登錄的準(zhǔn)確表達(dá)輸入密碼信號為黑客和木馬提供機(jī)會,一個記錄輸入和發(fā)送便可以產(chǎn)生一個木馬。如果能夠把用戶的輸入與密碼信息分離,這樣就大大增強(qiáng)了密碼體系的安全性。這種從物理層面的分離是任何黑客或木馬不可超越的。
2.3 人工識別
由于用戶每次登陸使用密碼時,都是自動手動操作,因此利用人工識別判斷圖片,幾乎無需增加任何成本。但對于盜號者而言,一旦盜取需要人工識別,與之前的機(jī)器直接盜取,這將極大增加難度和成本。
3 設(shè)計過程
3.1 方案流程
利用動態(tài)密碼,輸入與密碼信息分離,以及人工識別技術(shù),給出一種安全有效的密碼認(rèn)證方案,其流程圖如圖l所示。
3.2 密碼生成函數(shù)
首先根據(jù)用戶名u,從數(shù)據(jù)庫中調(diào)出用戶名u相對應(yīng)的全碼Acode=(a1 a2 a3 a4 a5 a6)并從全碼中隨機(jī)抽出1~4個字符。這里以3個字符為例,再從全碼字符之外隨機(jī)抽出4~7個字符,作為干擾碼。共從兩個碼中抽出8個字符,所以這里取5個干擾碼Dcode=(dm1 dm2 dm3 dm4 dm5)。
從全碼Acode中抽出3個字符,與干擾碼中的字符一起隨機(jī)排列,加上提示碼1到8,組成示碼:
其中,全碼字符對應(yīng)的提示碼為隨機(jī)口令Lcode=[2 5 8]。
將示碼圖像化,形成示碼圖片。服務(wù)器接收用戶登錄信息后,使用密碼生成函數(shù)F=f(u),調(diào)出用戶名DQ對應(yīng)的全碼whu029,在其中隨機(jī)抽出3個字符w02,在whu029之外任意選擇5個字符mlove作為干擾碼。w02和干擾碼mlove一起隨機(jī)排列v12ewmoo,再加上提示碼12345678形成示碼。
其中,2w0所對應(yīng)的(3 5 7)為此次的隨機(jī)口令。
服務(wù)器形成并傳遞示碼Seode圖片。用戶看到其中的2w0是自己設(shè)置的全碼中的字符,就輸入對應(yīng)的357此時即登錄成功。倘若輸入錯誤或者超時服務(wù)器記錄非法嘗試一次,記錄超過三次就啟動保護(hù)措施。
3.3 密碼生成函數(shù)和部分密碼
示碼生成函數(shù)F=f(u)構(gòu)造是由有用信息碼(key-word)和干擾碼(side-word)組成。Key-word從用戶第一次注冊信息中的密碼中隨機(jī)抽取的部分密碼組成。
(1)抽取用戶注冊密碼whu029,函數(shù)F隨機(jī)抽取2~4個字母(數(shù)字),如“w02”,此時key-word便為“w02”,然后函數(shù)F再從除whu之外的字母和除029之外數(shù)字中隨機(jī)抽取4~6個字母或數(shù)字,如“mlove”,此時molve便構(gòu)成干擾碼。至此完成示碼字母(數(shù)字)抽取過程;即:關(guān)鍵碼(kev-word)為w02;干擾碼(side-word)為mlove。
(2)組成對已經(jīng)選出的關(guān)鍵碼和干擾碼進(jìn)行排列組成示碼顯示信息:并標(biāo)有
對應(yīng)的數(shù)字順序,便于用戶輸入。同時服務(wù)機(jī)確定此時的登錄密碼為“3 5 7”。
(3)圖片化 將上面完成的示碼以圖片形式表示。此時完成DQ碼構(gòu)造全過程,將圖片化的示碼傳遞給用戶端即可進(jìn)行后續(xù)登錄操作。
4 效果分析
4.1 key-word動態(tài)化作用
服務(wù)機(jī)提供的動態(tài)關(guān)鍵碼使用戶每次輸入的密碼只能反應(yīng)全碼(注冊時的6位全碼)的一部分,即使被他人盜取登錄過程,盜取者也無法獲得全部密碼信息,因此不能根據(jù)下一次服務(wù)機(jī)提供的示碼正確輸入。
4.2 side-word干擾碼作用
(1)使得示碼能夠隱藏透露的密碼信息示碼中必定包含關(guān)鍵碼,它是用戶登錄的有用指導(dǎo)信息,而干擾碼的出現(xiàn)則是讓示碼中的字母(數(shù)字)信息減少其統(tǒng)計規(guī)律,從而讓盜取者無法通過大量次數(shù)獲取示碼信息的而獲得全碼信息。例如:用戶密碼whu029為6個字母。而總的字符為24個英文字母和10個數(shù)字。以key-word個數(shù)3,示碼個數(shù)8為例,在一次示碼里,單個關(guān)鍵字母出現(xiàn)的概率為3/6,即為O.5;其他干擾字母單個出現(xiàn)概率為(8—3)/(34—6),約為0.17。
由此看到干擾碼對隱藏關(guān)鍵碼的統(tǒng)計規(guī)律具有一定作用,特別在非法嘗試次數(shù)不能超過3次,盜取者無法通過3次的示碼顯示統(tǒng)計關(guān)鍵碼信息。
(2)引入干擾碼干擾碼的引入使得示碼中關(guān)鍵碼的排列隨機(jī)化,用戶輸入的數(shù)字序列信息同樣隨機(jī)化,因此,加強(qiáng)輸入與密碼的分離性以及輸入本身的不可預(yù)知性。
4.3 圖片的作用
可使機(jī)器無法識別普通的圖片處理技術(shù),若要讀取圖片信息,必須人工參與。即便木馬程序能夠盜取圖片信息,機(jī)器也無法讀取圖片信息。這使得破解過程一定要有人工參與:先通過木馬記錄用戶的輸入數(shù)字序列,然后木馬截取圖片,再由盜取者通過該數(shù)字序列辨識出對應(yīng)于圖片上的字母,得到一次登錄的key-word信息。木馬想獲取全部密碼信息需要記錄用戶多次登錄過程(多達(dá)4—6次),需要很長時間用戶才會在該臺機(jī)器(中木馬病毒)上累計登錄4~6次,這樣盜取者則需要很長時間才能獲取用戶的全部密碼信息;而用戶在利用這段時間定期殺毒或采取其他措施能夠有效查殺木馬,則可終止盜取。
DQ碼能夠有效防止密碼盜取。輸入數(shù)字序列與密碼信息的分離使木馬記錄用戶鼠標(biāo)鍵盤操作無意義;截取圖片難度大,還可通過其他方法(例如:登錄狀態(tài)時禁用剪貼板,印張技術(shù)等)防止木馬盜取圖片;需要人工參與破解過程,增大了盜取難度;由于引入動態(tài)密碼,一次盜取無法獲取全部密碼信息。盜取者需用更長時間來獲取用戶全部信息,這樣有
利于病毒查殺。
5 應(yīng)用
(1)ATM應(yīng)用 目前,很多用戶在ATM機(jī)上輸入密碼時,被偷窺而導(dǎo)致密碼被盜。而這種DQ認(rèn)證結(jié)構(gòu)使得盜竊者難以獲取全部的密碼信息,并要識別模糊處理的示碼圖片,又要同時記錄輸入。更重要的是,密碼是一次性的。
(2)網(wǎng)上銀行銀行電子化離不開信息安全技術(shù),傳統(tǒng)密碼盜取即為木馬病毒盜取,而采用DQ碼則能夠加強(qiáng)密碼盜竊難度,木馬除了記錄用戶輸入外還能截取示碼圖片.并通過人工識別才能盜竊密碼;只有當(dāng)用戶累計登錄一定次數(shù),木馬才能記錄全部信息,這樣才能有利于木馬病毒的查殺。
6 結(jié)論
在實例的全碼為6個,每次給出3個key—word,原本只需由機(jī)器盜取一次用戶登錄過程信息即可完成的盜密過程,現(xiàn)在不僅需要人工參與,而且平均需用登錄2—7次才可以完成盜取密碼。如果每次給出的key—wod數(shù)目不定,所需次數(shù)更多。人工參與的新型DQ認(rèn)證密碼設(shè)計需多次盜取用戶登錄過程信息才能完成密碼盜竊,這使盜密成本大大增加。因此,該種DQ認(rèn)證密碼設(shè)計能夠有效防止密碼被盜。
DQ認(rèn)證結(jié)構(gòu)的核心在于人本算法,在一個3x3方陣中,用戶注冊時任意指定2個或3個方格,登錄時,服務(wù)器顯示9個空位隨機(jī)填滿1~9處理的圖片,用戶將自己所指定方格中的數(shù)字相加,再將輸入結(jié)果,作為登錄密碼。
由于一個數(shù)字可能有多種相加方法構(gòu)成,所以可逆變得復(fù)雜。不僅圖片人工識別涉及到人本計算,而且相加也涉及人本計算。相加是不可逆,而且更復(fù)雜。因此,這種DQ認(rèn)證結(jié)構(gòu)由于采用人本算法,迫使密碼盜竊者進(jìn)行人工破解,極大增加盜竊密碼的成本,大大增強(qiáng)了密碼的安全性。