介紹
一次性密碼(英語:One Time Password,簡稱
OTP),又稱
動態密碼或
單次有效密碼,是指計算器系統或其他數字設備上只能使用一次的密碼,有效期為只有一次登錄會話或交易。OTP 避免了一些與傳統基於(靜態)密碼認證相關係的缺點;一些實現還納入了
雙因素認證,確保單次有效密碼需要訪問一個人有的某件事物(如內置 OTP 計算器的小鑰匙掛件設備)以及一個人知道的某件事物(如 PIN)。
相對於靜態密碼,OTP 最重要的優點是它們不容易受到
重放攻擊(replay attack)。這意味著管理記錄已用於登錄到服務或進行交易的 OTP 的潛在入侵者將無法濫用它,因為它將不再有效。第二個主要優點是,使用多個系統相同(或類似)密碼的用戶,如果其中一個密碼被攻擊者獲得,不是對所有的系統都容易變得脆弱。許多 OTP 系統也旨在確保會話不能輕易被截獲或沒有前一個會話期間產生不可預測數據的知識模擬,從而進一步減少攻擊面。
OTP 已被作為傳統密碼一個可能的替代以及增強方式討論。不利的是,OTP 人類難以記憶。因此,它們需要額外的技術來運作。
一般的靜態密碼在安全性上容易因為
木馬與鍵盤側錄程式等而被竊取,而只要花上相當程度的時間,也有可能被
暴力破解。為了解決一般密碼容易遭到破解情況,因此開發出一次性密碼的解決方案。
原理
動態密碼的產生方式,主要是以時間差做為伺服器與密碼產生器的同步條件。在需要登錄的時候,就利用密碼產生器產生動態密碼,OTP一般分為計次使用以及計時使用兩種,計次使用的OTP產出後,可在不限時間內使用;計時使用的OTP則可設定密碼有效時間,從30秒到兩分鐘不等,而OTP在進行
認證之後即廢棄不用,下次認證必須使用新的密碼,增加了試圖不經授權訪問有限制資源的難度。
獲取密碼的方法
文字簡訊
由於文字簡訊是很普及可以接觸到的技術,成為了動態密碼傳遞的方式中最常見的一種方式。但由於行動網路傳遞簡訊時的安全性問題,這種方式對於
中間人攻擊的抗性較低。
智慧型手機
對於有成本考量但希望獲取較高安全性的公司,會規劃使用在智慧型手機上安裝
移動應用程式產生動態密碼。
特殊載具
追求更高的安全性而可以接受較高的成本時,會使用獨立的載具存放產生動態密碼所需的密鑰,避免被
中間人攻擊(文字簡訊)或是被透過移動設備的系統漏洞而獲取密鑰(智慧型手機)。因為載具獨立而內置配有電池,因此會有壽命與回收的問題。
另外有折衷的方案是類似
YubiKey使用USB供電,透過模擬USB鍵盤輸入的方式,但由於與計算機有實體接觸,安全性在嚴格的考量下不會與完全隔離的方案相同。
網頁服務
紙張
在某些國家的線上銀行系統會採用預印的方式提供一次性的密碼。
優勢
動態密碼的解決方案有以下幾個優點:
解決用戶在密碼的記憶與保存上的困難性。
由於密碼只能使用一次,而且因為是動態產生,所以不可預測,也只有一次的使用有效性,可以大為提升使用的安全程度。
基於這些優點,有越來越多的銀行金融業甚至是遊戲業使用OTP解決方案,來提升保護其用戶的安全性。
挑選動態密碼技術
以下供您參考,為組織選擇適合的
動態密碼,同時支持兩種密碼器混合使用。
| 硬體令牌 | 簡訊密碼 |
安全性 | 最高 | 較高 |
便捷性 | 高 | 最高 |
表現形式 | 硬體,隨身攜帶 | 傳送手機簡訊 |
移動辦公 | 100%解決方案 | |
實時性 | 高 | 較高(依賴網關速率) |
簡訊認證核心優點是費用低,無需攜帶、無需更換。 硬體令牌核心優點是在產品質量可靠情況下可以在任何地方進行接入辦公。