網絡安全之身份認證---基於口令的認證

基於口令的認證方式是較常用的一種技術。在最初階段,用戶首先在系統中註冊自己的用戶名和登錄口令。系統將用戶名和口令存儲在內部數據庫中,注意這個口令一般是長期有效的,因此也稱爲靜態口令。當進行登錄時,用戶系統產生一個類似於時間戳的東西,把這個時間戳使用口令和固定的密碼算法進行加密,連同用戶名一同發送給業務平臺,業務平臺根據用戶名查找用戶口令進行解密,如果平臺能恢復或接收到那個被加密的時間戳,則對解密結果進行比對,從而判斷認證是否通過;如果業務平臺不能獲知被加密的時間戳,則解密後根據一定規則(如時間戳是否在有效範圍內)判斷認證是否通過。靜態口令的應用案例隨處可見,如本地登錄Windows系統、網上博客、即時通信軟件等。

基於靜態口令的身份認證技術因其簡單和低成本而得到了廣泛的使用。但這種方式存在嚴重的安全問題, 安全性僅依賴於口令,口令一旦泄露,用戶就可能被假冒。簡單的口令很容易遭受到字典***、窮舉***甚至暴力計算破解。特別地,一些業務平臺沒有正確實現使用口令的認證流程,讓用戶口令在公開網絡上進行傳輸,認證方收到口令後,將其與系統中存儲的用戶口令進行比較,以確認對象是否爲合法訪問者。這種實現方式存在許多隱患,一旦記錄用戶信息的文件泄露,整個系統的用戶賬戶信息連同對應的口令將完全泄露。網上發生的一系列網絡用戶信息被公開到網上的現象,反映的就是這種實現方式的弊病。另外,這種不科學的實現方式也存在口令在傳輸過程中被截獲的安全隱患。隨着網絡應用的深入化和網絡***手段的多樣化,口令認證技術也不斷髮生變化,產生了各種各樣的新技術。爲了防止一些計算機進程模擬人自動登錄,許多業務平臺還增加了計算機難以識別的模糊圖形。

基於口令的身份認證容易遭受如下安全***。

(1)字典***。***者可以把所有用戶可能選取的密碼列舉出來生成一個文件,這樣的文件被稱爲“字典”。當***者得到與密碼有關的可驗證信息後,就可以結合字典進行一系列的運算,來猜測用戶可能的密碼,並利用得到的信息來驗證猜測的正確性。

(2)暴力破解。也稱爲“蠻力破解”或“窮舉***”,是一種特殊的字典***。在暴力破解中所使用的字典是字符串的全集,對可能存在的所有組合進行猜測,直到得到正確的信息爲止。

(3)鍵盤監聽。按鍵記錄軟件以***方式植入到用戶的計算機後,可以偷偷地記錄下用戶的每次按鍵動作,從而竊取用戶輸入的口令,並按預定的計劃把收集到的信息通過電子郵件等方式發送出去。

(4)搭線竊聽。通過嗅探網絡、竊聽網絡通信數據來獲取口令。目前,常見的Telnet、FTP、HTTP 等多種網絡通信協議均用明文來傳輸口令,這意味着在客戶端和服務器端之間傳輸的所有信息(包括明文密碼和用戶數據)都有可能被竊取。

(5)窺探。***者利用與用戶接近的機會,安裝監視設備或親自窺探合法用戶輸入的賬戶和密碼。窺探還包括在用戶計算機中植入***。

(6)社會工程學(Social Engineering)。這是一種通過對受害者心理弱點、本能反應、好奇心、信任、貪婪等設置心理陷阱進行諸如欺騙、傷害等手段,取得祕密信息的手法。

(7)垃圾搜索。***者通過搜索被***者的廢棄物(如硬盤、U 盤、光盤等),得到與口令有關的信息。

爲了儘量保證安全,在使用口令時通常需要注意以下幾點:

(1)使用足夠長的口令,不使用默認口令;

(2)不要使用結構簡單的字母或數字,儘量增加密碼的組合複雜度;

(3)避免在不同平臺使用相同的口令,並且要定期更換口令。

爲克服靜態口令帶來的種種安全隱患,動態口令認證逐漸成爲口令認證的主流技術。顧名思義,動態口令是指用戶每次登錄系統的口令都不一樣,每個口令只使用一次,因而也叫一次性口令(OTP , One Time Password),具有“一次一密”的特點,有效保證了用戶身份的安全性。但是如果客戶端與服務器端的時間或次數不能保持良好的同步,就可能發生無法使用的問題。OTP的原理是採用一類專門的算法(如單向散列函數變化)對用戶口令和不確定性因子(如隨機數)進行轉換生成一個一次性口令,用戶將一次性口令連同認證數據提交給服務器。服務器接收到請求後,利用同樣的算法計算出結果與用戶提交的數據對比,對比一致則通過認證;否則認證失敗。通過這種方式,用戶每次提交的口令都不一樣,即使***者能夠竊聽網絡並竊取登錄信息,但由於***每次竊取的數據都只有一次有效,並且無法通過一次性口令反推出用戶的口令,從而極大地提升了認證過程的安全性。 OTP 從技術上可以分爲3種形式:“挑戰—應答”、時間同步和事件同步。
動態口令的3種方式
(1)“挑戰—應答”。“挑戰—應答”認證機制中,通常用戶攜帶一個相應的“挑戰—應答”令牌。令牌內置種子密鑰和加密算法。用戶在訪問系統時,服務器隨機生成一個挑戰並將挑戰數發送給用戶,用戶將收到的挑戰數手工輸入到“挑戰—應答”令牌中,“挑戰—應答”令牌利用內置的種子密鑰和加密算法計算出相應的應答數,將應答數上傳給服務器,服務器根據存儲的種子密鑰副本和加密算法計算出相應的驗證數,和用戶上傳的應答數進行比較來實施認證。不過,這種方式需要用戶輸入挑戰數,容易造成輸入失誤,操作過程較爲繁瑣。近年來,通過手機短信實現OTP驗證碼用得比較廣泛。是目前主流的OTP驗證方式,目前被廣泛用於交易系統以及安全要求較高的管理系統中。

(2)時間同步。原理是基於動態令牌和動態口令驗證服務器的時間比對,基於時間同步的令牌,一般每60 s產生一個新口令,要求服務器能夠十分精確地保持正確的時鐘,同時對其令牌的晶振頻率有嚴格的要求,這種技術對應的終端是硬件令牌。目前,大多數銀行登錄系統採用這種動態令牌登錄的方式,用戶持有一個硬件動態令牌,登錄到系統時需要輸入當前的動態口令以便後臺實現驗證。近年來,基於智能手機的軟件動態令牌逐漸受到青睞,用戶通過在智能手機上安裝專門的客戶端軟件並由該軟件產生動態口令完成登錄、交易支付過程。

(3)事件同步。事件同步機制的動態口令原理是通過特定事件次序及相同的種子值作爲輸入,通過特定算法運算出相同的口令。事件動態口令是讓用戶的的密碼按照使用的次數不斷動態地發生變化。每次用戶登錄時(當作一個事件),用戶按下事件同步令牌上的按鍵產生一個口令,與此同時系統也根據登錄事件產生一個口令,兩者一致則通過驗證。與時鐘同步的動態令牌不同的是,事件同步令牌不需要精準的時間同步,而是依靠登錄事件保持與服務器的同步。因此,相比時間同步令牌,事件同步令牌適用於非常惡劣的環境中,即便是掉進水中也不會發生失步問題。

基於口令認證是目前使用最爲廣泛的身份認證技術,靜態口令認證主要用於系統登錄時的身份驗證如門戶網站、網上銀行的登錄。而在銀行支付、網上銀行轉賬、交易時一般採用靜態口令+動態口令組合的方式進行認證。例如,在支付寶中交易時,支付寶系統要求用戶同時輸入支付口令及與該賬戶綁定的軟件動態令牌。招商銀行在進行低額度交易、轉賬時採用靜態口令與短信動態驗證碼,這種雙重保障的方式可以大大提高使用的安全性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章