作者k70709 (嘎肉)
看板Steam
標題[閒聊]Steam Guard 手機驗證器原理
時間Fri Dec 4 14:02:57 2015
Steam所用代碼驗證器是使用非標準的TOTP
詳細可以查查Google Authenticator的原理
但是Steam上因為相容舊有的驗證系統(信箱)
簡單解釋一下 基本原理
當Steam Apps登錄後,雙方會自動取得共享金鑰並儲存下來
雙方利用此
共享金鑰加上
時間(可能用30-60秒間隔)來做計算
用戶→金鑰+時間→計算當前的驗證碼→Steam伺服器端
伺服器端的驗證方式我不確定,不過基本上就下面二種
1.Steam 伺服器端→收到驗證碼→驗證碼+時間→反推金鑰→驗證金鑰是否正確
2.Steam 伺服器端→收到驗證碼→(共享金鑰+時間)算出驗證碼→比對驗證碼是否正確
我認為第二種可能性比較高
時差部份沒問題,只要計算時用雙方統一使用UTC+0的時區即可同步
手機app無網路也沒關係,你已經有共享金鑰+時間,只要注意時間是否有校正至標準時間
當你手機時間有誤差太大時,所計算出來的驗證碼就會跟Steam端的驗證碼不符合
即使你手上的金鑰是正確的,也會因為時間的關係產生出錯誤的驗證碼
另外提醒一下有用APP驗證的版友們,備用代碼≠救援代碼
備用代碼是你臨時忘了帶手機,要登入STEAM時用的一次性代碼用完就會註銷
而救援代碼是你手機遺失時,要移除掉App驗證時用的
救援代碼取得方式
Steam Mobile的Steam Guard裡取得並保存好
┌────────────┐
│≡ Steam Guard │
├────────────┤
│ S T E A M │
│□□███████□□ │
│ Steam Account │
├────────────┤
╞════════════╡
│設定 │
│Steam 行動驗證器 │
├────────────┤
│
My Recovery Code │
├────────────┤
│幫助 │
├────────────┤
│ │
│ │
│ │
│ │
│ │
│ │
└────────────┘
救援代碼的格式為R+上五個數字
例:R12345
如果手機掉了,還能用救援代碼去取消手機App驗證
備用代碼取得方式
請使用Steam用戶端或是網頁進入下面取得
https://store.steampowered.com/twofactor/manage
--
玩家與遊戲平台的愛恨情仇
Steam :
75%off Gabe你讓我好痛苦.
GFWL :快死吧!!快死吧!!
Origin:我不要你!!你走!!你走呀!!
UPlay:要玩弄我到什麼時候..?
Desura:你是誰?我認識你嗎? DRM-Free:好久不見~近來可好?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.104.190
※ 文章網址: https://www.ptt.cc/bbs/Steam/M.1449208980.A.257.html
推 oas: 推~~~ 有趣~ 12/04 14:12
→ KeyFSN: hash function 通常是單向的 12/04 14:25
正常是單向,但是我不知道Steam會不會用其他方法
※ 編輯: k70709 (122.117.104.190), 12/04/2015 14:59:59
→ howar31: 之前刷手機忘記備份 二十幾個驗證器直接失效lol 12/04 15:27
→ howar31: 最後只好一家一家慢慢打電話請求解除lol 12/04 15:27
推 abult: 所以我後來用第三方的驗證程式,可以直接備份不用怕重灌 12/04 16:00
→ abult: 比較討厭這種一定要綁自己的驗證器 12/04 16:00
推 howar31: 刷機不管第幾方都全洗掉呀 如果你是說自動備份到網路帳號 12/04 16:26
→ howar31: 那種 那乾脆不要用驗證器 跟沒用一樣lol 12/04 16:26
推 abult: 用1password可以僅記錄在本地 也可以用dropbox同步 看需求 12/04 16:32
→ abult: 沒有一定的方式好拉 雲端方便但是有可能被破 本地不小心洗 12/04 16:33
→ abult: 掉就哭哭 12/04 16:33
→ reader2714: BZ很早就在用這東西了 12/04 16:48
推 t77133562003: MS 早就有自己的三方驗證了 但是STEAM不能用 12/04 19:25
推 Kenqr: 推 12/04 20:28
推 march55237: 救援其實在有備份碼後就不用了 等進Steam把驗證換回 12/04 20:44
→ march55237: 來即可 12/04 20:44
推 bespace: 我暈@.@ 12/05 15:26