科技發展飛快的時代,人手一支手機,除此之外許多APP也如雨後春筍般的誕生,而每一款APP背後幾乎都是獨立的一間公司在提供服務,因此每個公司都會獨立維護客戶的資料,身為客戶的我們為了享受到各家大廠的服務,每使用一間公司服務的同時也隨之註冊一組帳號密碼,不知不覺就註冊了好幾十組帳密,每一組都一樣也不太安全,每一組都不一樣又很容易忘記,到底該怎麼辦呢? 相信這應該是大部分使用者的一大煩惱吧! 為了解決這個問題,過程中不斷推出一些策略,像是最早期的SSO到現在的OAuth都是解決太多組帳密的問題,作法上雖然有些差異,但最終想要解決的就是多組帳密的惱人場景,簡化到只要一組帳密,取得授權之後就能登入並享受服務。 舉例來說,像我們開始使用Notion這套筆記軟體時,會有三種註冊方式,除了從Notion本身的平台註冊以外,亦提供的Google及Apple帳密進行註冊及登入,讓我們在使用其他服務的同時就能夠透過不需要重新注冊的方式進來使用,看似非常方便對吧! 但其實背後隱藏著一些問題值得我們探討與省思…。 試想,我們畫面上只看到Google與Apple,其實無非就是在爭奪誰是市場上最大的應用廠,誰就能夠做為業界的唯一標準,假設今天又出了一間更大廠的服務,是不是又要依賴於該大廠並註冊一組帳密了呢? 對於用戶來說這就是目前SSO與OAuth仍遇到的問題之一。 基於過往的一些問題進而誕生出FIDO這套機制,由非營利組織 FIDO 聯盟所訂定的一套網路識別標準,目的在於保護伺服器與終端裝置的安全性,並秉持著三大原則,便於使用、隱私安全、標準化。 FIDO更為安全的原因是什麼? 背後又是怎麼運作的呢? 我們之前有介紹過什麼是公開金鑰加密,還不清楚這是什麼的朋友歡迎先行閱讀「 【開發智能合約 - 密碼學系列】編碼(Encode)、雜湊(Hash)、加密(Encrypt)傻傻分不清楚? 」,裡面最後一個章節有提到非對稱加密,這也是公開金鑰加密的一種別稱。 這種架構之下,伺服器不再需要保存密碼,只需要保有「公開金鑰」,而「私密金鑰」則保存在個人裝置中,因此個資只需要自己保管好,責任就由伺服端轉嫁到使用者端囉! 帶來的好處當然是「自己的東西自己管」,但風險就是「自己管不好就完蛋」,凡事總有一體兩面,並非十全十美,我們只能選擇一種更有優勢的方式來解決問題, FIDO UAF UAF(Un