「動態密碼」(OTP,One Time Password)顧名思義就是每次使用時產生的密碼都不一樣,而且每組密碼只能使用一次,因此也可稱作「一次性密碼」。與傳統固定式密碼相比,具有不可預測性,可避免遭駭客竊取密碼後執行重送攻擊的風險,即使駭客竊取該次的密碼,也無法通過下次的登錄驗證。

    「動態密碼」(OTP,One Time Password)大致可分為Event-Based、Time-Based與Challenge & Response三種類型,密碼產生方式有許多種,原則上是利用特定的密碼學相關運算函式(如DES、SHA...),加上變動性的參數運算後得到的結果。這次我拿到一張Event-Base類型的OTP Card,此卡動態密碼採用OATH HOTP標準方式產生,我寫了一支簡單的程式來驗證此卡片所產生的動態密碼,另外這支程式也順便加入HMAC_Sha1、HMAC_Sha256、HMAC_Sha384與HMAC_Sha512的功能。

DerYu 發表在 痞客邦 留言(4) 人氣()