本篇文章更新時間:2021/01/12
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~


前幾天在改版加密貨幣放貸機器人設定時,因為沒有帳號密碼機制,所以朋友這邊如果要做設定的頁面就可能被其他人「幫忙設定」。

思考怎小改版又能兼顧驗證的方式突然想到可以用 Two-factor authentication 簡稱 2FA,來處理。

搭配能夠自己輸入密鑰的 App 在手機裡就能綁定處理,這塊 App 使用 Authy

處理這樣的小功能,這安全性已經足夠,畢竟要破解這六碼數字,還得在 30 秒內解出,不然又會更新重來了~

網站擔任的是驗證密碼端與產出密鑰端,與用戶互動的流程如下:

2FA互動流程

密鑰只會提供一次,其後用戶只能透過 Authy App 提供的六位數密碼來讓網站授權使用。

驗證方法網路上有不少套件處理:

  1. Google Authenticator PHP class
  2. TotpAuthenticator

照著 RFC 6238 標準寫或許能產生一個好的結果,但仔細看有些套件還會把驗證六碼的機制補上時間偏移量,確保避免因為裝置與伺服器時間差過大產生的錯誤。

看這些程式碼還真是有趣~

也在前陣子看到有網友分享根據密鑰字串產生六碼驗證的簡單方法:Very small implementation of Google's OTP Authenticator 需求是當手機 App 失靈或是手機不見等意外發生時可以用電腦產生,只要記住當初的密鑰字串就可以處理。


Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[//////////____30%_________]

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *