6f28340e96d97cb2281cf6e22348ba0a FIDO是個讓使用者能安全、快速登入網路服務的協定,它能在維持簡單操作的前提下,降低網路釣魚、密碼被破解等資安風險,繼SoloSomu這些開源實體金鑰之後,Google也同樣以開源的形式推出OpenSK,讓使用者能自行製作金鑰裝置。

免密碼登入網路服務

FIDO(Fast IDentity Online)是種免密碼的身份認證協定,它需以實體金鑰搭配使用,透過非對稱加密技術來保護使用者登入網路服務的過程,不會受到網路釣魚攻擊,強固的密碼機制也能將低被破解的風險。

透過FIDO申請帳號的時候,系統會要求使用者連接並透過指紋、按鈕或是輸入兩步驟驗證的PIN碼,解鎖對應的FIDO驗證器(可能是USB金鑰或與行動裝置)。然後驗證器就會產生一對非對稱金鑰,並將公鑰上傳至網路端與帳號綁定,而私鑰與相關本地端身份驗證資訊(如指紋)則只儲存於驗證器內。

在登入服務的時候,系統一樣會要求連接並解鎖驗證器,接著網路端會傳送一段字串給至本地端,系統會將字串以私鑰加密後回傳至網路端,如此一來如果網路端以公鑰解開後確認字串相符,就能確定使用者確實持有驗證器,而使用者也能確定網路端確實是當初申請帳號的網站,而不是釣魚網站。

Solo是款開源且支援FIDO2的實體金鑰驗證器。(圖片來源:Solokeys,下同)

Somu則是以採用Solo韌體的超迷你驗證器。

透過FIDO申請帳號時,系統會將公鑰上傳至網路端,並將私鑰保留在本地端。(圖片來源:FIDO,下同)

登入帳號時,使用者與網路端會互相比對彼此是否擁有正確的公、私鑰。

DIY實體驗證器

為了發揮促進FIDO研發與普及的目的,Google推出開源的OpenSK作為研究平台,希望吸引研究人員、廠商,以及硬體玩家、創客使用,讓更多人能接觸FIDO。

目前OpenSK還處於初期開發階段,研發團隊選擇以Nordic的推出的驗證器為參考平台(價格約為美金10元,約合新台幣300元),可以在刷入OpenSK的韌體後使用。

選擇它的原因除了價格低廉外,它也具有專用硬件加密核心並支援NFC,低功耗藍牙、USB等FIDO2的所有主要傳輸協定,並可能於日後推廣硬體的相容性。

OpenSK採用具有強固記憶體安全性與高效能抽象化Rust語言編寫,並在TockOS作業系統上執行,透過沙盒架構隔離系統核心、驅動程式與安全金鑰應用程式,以構建深度防禦機制,增加系統安全性。

同時,研發團隊也提供保護套的3D列印檔案,使用者可以自行製作驗證器的保護套。

▲OpenSK的登入實際操作展示,登入網站時只要插入USB。

有興趣的讀者可以自行DIY製作OpenSK驗證器。(圖片來源:Google,下同)

目前研發團隊已經將OpenSK的原始碼上傳至GitHub,有興趣的讀者可以在那邊找到更多相關資訊,並跟隨安裝教學的指示刷寫驗證器韌體,親自動手嘗試OpenSK。

使用 Facebook 留言

發表回應

謹慎發言,尊重彼此。按此展開留言規則