[閒聊] Steam Guard 手機驗證器驗證原理
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
推
12/04 14:12, , 1F
12/04 14:12, 1F
→
12/04 14:25, , 2F
12/04 14:25, 2F
正常是單向,但是我不知道Steam會不會用其他方法
※ 編輯: k70709 (122.117.104.190), 12/04/2015 14:59:59
→
12/04 15:27, , 3F
12/04 15:27, 3F
→
12/04 15:27, , 4F
12/04 15:27, 4F
推
12/04 16:00, , 5F
12/04 16:00, 5F
→
12/04 16:00, , 6F
12/04 16:00, 6F
推
12/04 16:26, , 7F
12/04 16:26, 7F
→
12/04 16:26, , 8F
12/04 16:26, 8F
推
12/04 16:32, , 9F
12/04 16:32, 9F
→
12/04 16:33, , 10F
12/04 16:33, 10F
→
12/04 16:33, , 11F
12/04 16:33, 11F
→
12/04 16:48, , 12F
12/04 16:48, 12F
推
12/04 19:25, , 13F
12/04 19:25, 13F
推
12/04 20:28, , 14F
12/04 20:28, 14F
推
12/04 20:44, , 15F
12/04 20:44, 15F
→
12/04 20:44, , 16F
12/04 20:44, 16F
推
12/05 15:26, , 17F
12/05 15:26, 17F
Steam 近期熱門文章
PTT遊戲區 即時熱門文章
90
144