Home » Posts tagged "otp"

把 CSC (卡片背面的三碼) 變成 OTP (動態密碼)

把信用卡背面的後三碼 (Card security code) 變成動態密碼,雖然一般只會有三碼,但對於網路消費應該會有不少幫助,不過這樣就不能完全不拿出卡片了...:「This high-tech card is being rolled out by French banks to eliminate fraud」。

產品叫做 MotionCode,會先從法國開始:

Today both Société Générale and Groupe BPCE, two of France’s largest banking groups, are preparing to roll out these cards across all their customers after completing a pilot scheme last year.

然後是波蘭、墨西哥以及英國在規劃:

There are other pilots underway in Poland and Mexico, and Davis is running Oberthur’s UK operation with the hope of getting a pilot or trial started with a UK bank soon.

WordPress.com 也支援 OTP 了...

WordPress.com 前幾天宣佈支援 One Time Password (OTP,動態密碼):「Greater Security with Two Step Authentication」。

因為是使用 HOTPTOTP,所以可以使用 Google Authenticator (Android) 或是 Google Authenticator (iOS) 當做 OTP software。

不過用手機跑 OTP software 的安全性還是沒有傳統實體 token 的高 (可以藉由 OS exploit 取得 key),像 AWS 就同時有提供實體 OTP 與 HOTP+TOTP 的版本...

不過 AWS 的實體 OTP 低成本應該是靠 AWS 量而壓出來 (靠 IAM 一個帳號設很多子帳號,每個子帳號都可以設定要不要用 OTP),這部份 WordPress.com 沒有這個需求。另外 WordPress.com 的資料似乎沒有 AWS 吸引人,所以...

大概還是不會設 OTP 吧...

為什麼有了 Google Authenticator 還要使用實體的 Two-Factor Token?

如標題的問題,因為 token 可以將 secret key 實體隔離開。

可以讀看看最近這篇報導:「Zitmo Trojan Variant Eurograbber Beats Two-Factor Authentication to Steal Millions」,其中這段:

To date, the researchers said, Eurograbber has infected more than 30,000 users and stolen an estimated 36 million Euros.

對於開發木馬的人,銀行服務算是「經濟效益」最高的「投資」...

用簡訊也有類似的問題,實體的 OTP 算是目前最能抵抗這類攻擊的方式了...

RSA SecurID 800 被破...

在「Scientists crack RSA SecurID 800 tokens, steal cryptographic keys」這篇報導裡提到了已經有辦法從 RSA SecurID 800 內取出 secret key,方法將會在 CRYPTO 2012 上發表...

RSA SecurID 800

(取自「RSA SecurID SID800 Authenticator Token」)

如果攻擊者可以碰觸到實體 token 並取出 secret key,他就可以準備一顆新的 token (HSM,Hardware security module) 把取出來的 secret key 灌進去,而原來的使用者不太容易會發現...

所以硬體式的 OTP 系統除了提供一次性密碼外,另外需要有能力阻擋從硬體取出 secret key 的能力。這次有能力在 13 分鐘就取出來,表示有不少辛苦事情要善後了...

如果要自己寫 TOTP 的幾個要看的東西...

整理下來:

有玩過 HMAC 的人,讀這些文件應該不難...

TOTP 在預設的情況下,其實就是 HMAC-SHA-1 後取後面 32bits,然後轉成數字取 100000 的餘數,而 TOTP 文件是架構在 HOTP 的定義上,把時間切齊 (預設 30secs) 變成整數丟進去攪和,然後特地交代要處理 2038 年超過 Int32 的 case XDDD

最後 Google 那份文件是要輸出 QR code 讓手機可以讀的方式,建議不要用網路服務產生 QR code (因為有 secret key 啊),寧可自己抓 library 建一個用...

另外 Google Authenticator 一堆東西都只能用預設值 (Currently, the XXX is ignored by the Google Authenticator implementations.),所以也沒什麼好選的,就拿預設值吧... :o

Server side 的話,至少我在 CPAN 上面看到 Authen-OATH 可以用了,用起來也很簡單 :o

Facebook 支援 OTP over SMS

Facebook 在美國開始支援 OTP over SMS:「More Ways to Stay Secure」。

在美國的手機號碼,先認證手機號碼並開啟 OTP over SMS 的功能,接下來在每次要登入時以簡訊送 "otp" 到 32665,就會收到一組 20 分鐘內有效的 token 讓你登入到 Facebook。

簡訊便宜的國家才有機會開發這種功能... :o

Archives