什麼是WebAuthn、FIDO 是什麼?
WebAuthn
https://webauthn.io/
身份安全|什麼是Webauthn?
參考URL: https://baijiahao.baidu.com/s?id=1667228882303147989
WebAuthn(Web 身份驗證)是由全球資訊網聯盟(W3C)釋出的 Web 標準。WebAuthn 是 FIDO 聯盟指導下的 FIDO2 專案的核心組成部分。該專案的目標是標準化使用者對基於 Web 的應用程式和服務的公鑰認證的介面。
WebAuthn全稱Web Authentication API 使用asymmetric (public-key) cryptography (不對稱加密)替代密碼或SMS文字在網站上註冊,驗證, second-factor authentication(雙因素驗證). 解決了phishing(釣魚), data breaches(資料破壞), SMS 文字攻擊,其他雙因素驗證等重大安全問題. 同時顯著提高易用性(因為使用者不必管理許多越來越複雜的密碼)。
WebAuthn支援的生物驗證方式包括:膝上型電腦的指紋識別和麵部識別、安卓裝置的指紋識別。追求高安全的使用者還可額外購買相容FIDO的實體安全金鑰,FIDO完整支援包括:指紋識別、面部識別、虹膜識別、聲音識別、實體金鑰(USB連線、藍芽連線、NFC連線),支援裝置系統包括:Windows 10、Linux、Mac OS、Android、iOS、智慧手錶等。
WebAuthn用公鑰證照代替了密碼,完成使用者的註冊和身份認證(登入)。它更像是現有身份認證的增強或補充。為了保證通訊資料安全,一般基於HTTPS(TLS)通訊。
Webauthn的架構實現
WebAuthn用公鑰證照代替了密碼,完成使用者的註冊和身份認證(登入)。它更像是現有身份認證的增強或補充。為了保證通訊資料安全,一般基於HTTPS(TLS)通訊。在這個過程中,有4個模組。
-
Server(服務端):
它可以被認為一個依賴方(Relying Party),它會儲存使用者的公鑰並負責使用者的註冊、認證。 -
JavaScript(Js指令碼):
呼叫瀏覽器API,與Server進行通訊,發起註冊或認證過程。 -
Browser(瀏覽器):
需要包含WebAuthn的Credential Management API提供給js呼叫,還需要實現與認證模組進行通訊,由瀏覽器統一封裝硬體裝置的互動。 -
Authenticator(認證模組):
它能夠建立、儲存、檢索身份憑證。它一般是個硬體裝置(智慧卡、USB,NFC等),也可能已經整合到了你的作業系統(比如Windows Hello,MacOS的Touch ID等)
Webauthn應用場景
Webauthn提供了一個安全的無密碼認證標準,徹底拋棄了密碼,並且統一由作業系統完成安全硬體裝置和生物特徵識別的整合及管理,瀏覽器呼叫作業系統進行提供的能力形成認證器, 應用開發者按標準與瀏覽整合即可完成FIDO認證,無需關心硬體裝置的相容和生物特徵的演算法,使得應用開發者整合FIDO認證拋棄密碼更加容易和安全。
場景一:整合Windows hello認證
Win10系統的Windows hello模組,本身可以整合人臉、指紋、pin碼等認證方式,在windows上執行的web應用註冊或認證時可以通過瀏覽器直接與windows hello整合獲取使用者身份憑證進行認證;
場景二:整合MacOS Touch ID認證
MacBook系統自帶Touch ID整合指紋認證,瀏覽器通過介面可以直接喚醒mac的Touch ID進行認證;支援Webauthn的web應用可以直接使用TouchID進行登入;
場景三:整合Android指紋認證
由於Android系統廠商的異構,不同手機廠商會有不同的人臉識別或指紋識別模組,通過Webauthn由系統層面封裝了與生物裝置對接,應用系統就無需關心Android系統的異構行,直接使用手機的生物認證登入;
場景四:整合iOS人臉認證
iPhone系統自帶Face ID整合人臉認證,瀏覽器通過介面可以直接喚醒Face ID進行認證;支援Webauthn的web應用可以直接使用Face ID進行登入;
場景五:使用YubiKey認證
YubiKey是一個外接的ukey儲存使用者私鑰來進行webauthn認證,其可以同時支援pc和移動app;pc模式下通過usb介面訪問,移動app模式下通過nfc訪問;
Webauthn存在的缺點
Webauthn依賴於瀏覽器與認證模組通訊,那麼必須使用最新的瀏覽方可支援。在無瀏覽器情況下如CS應用或移動APP無法簡便的使用;
Webauthn設計的目標是解決認證,使用者一旦通過認證,就可以訪問所有資源,在零信任架構中不能允許一次認證永久使用的場景存在。
FIDO (Fast Identity Online)線上快速身份驗證
FIDO 是什麼?
參考URL: https://www.zhihu.com/question/28233883
2018年4月,FIDO和W3C在基於Web的“強身份認證”(Stronger Authentication)上取得了重要突破。**通過標準Web API——WebAuthn,Web應用開發者可以輕鬆呼叫FIDO基於生物特徵、安全、快速的線上身份認證服務。**11月27日,FIDO聯盟和W3C在京聯合舉辦技術研討會,公開了其技術理念和細節。
FIDO聯盟是全球性的行業協作,致力於不依賴“共享祕密”解決傳統口令(password)給身份認證所帶來的弊端。隨著移動網際網路在中國的迅猛發展,FIDO生態在中國也在不斷壯大。目前,聯盟在中國的董事會成員包括:阿里巴巴、聯想、飛天誠信、以及台灣的神盾股份(Egis)。
基於公私鑰對的非對稱加密體系,只在本地的可信執行環境(TEE)中儲存使用者的生物特徵資訊,是FIDO相較於傳統身份認證方式的兩個重要不同點。
Web Authentication(https://www.w3.org/TR/webauthn/)由W3C和FIDO聯盟一起完成的標準制定,目前僅在Win10和安卓系統下,有三款主流瀏覽器Chrome、Edge、Firefox提供原生支援,可使用平臺認證器(即內建在PC上)或漫遊認證器(如手機,平板,智慧手錶等),通過WebAuthn介面呼叫FIDO服務,完成Web應用的強身份認證。當然,因為W3C標準的一般性,所以不只是瀏覽器,任何Web應用,如使用html5語言開發的手機app,都可以呼叫該介面。好處有兩點,一是通過WebAuthn介面Web應用的開發者可以更容易的以一個統一標準呼叫FIDO服務,二是讓FIDO2強身份認證能力支援的場景通過瀏覽器和Web應用得以延伸的更加廣泛。
參考
WebAuthn預覽 - 基於公鑰的免密認證登入
參考URL: https://blog.csdn.net/weixin_34381666/article/details/91435407
相關文章
- 什麼是DNS,什麼是HostsDNS
- 這是什麼這是什麼
- 什麼是分而治之?什麼是WBS?
- 什麼是cookie,什麼是sessionCookieSession
- ###什麼是Linux核心###什麼是MMULinux
- ITIL是什麼意思?ITIL是什麼?
- SNP全稱是什麼? SNP是什麼公司? SNP是什麼意思?
- 人是什麼?人生是什麼?人為什麼會變?
- 什麼是正向代理?什麼是反向代理?
- NLA是什麼?NLA的原理是什麼?
- ftp是什麼,ftp是什麼東西?FTP
- Java是什麼_Java是做什麼的?Java
- 什麼是this
- 為什麼要有 Servlet ,什麼是 Servlet 容器,什麼是 Web 容器?ServletWeb
- 什麼是API介面,具體是什麼意思?API
- IDFA、IMEI、OAID 是什麼,區別是什麼AI
- DRBD是什麼意思?優缺點是什麼?
- 什麼是SSRF攻擊?SSRF用途是什麼?
- GNU是什麼?和Linux是什麼關係?Linux
- 什麼是塊元素?什麼是行內元素?
- 什麼是Tornado?它的特點是什麼?
- 什麼是框架?為什麼說 Angular 是框架?框架Angular
- 什麼是zoom?它有什麼作用?OOM
- 什麼是NLA,它有什麼用?
- 什麼是Django?有什麼用途?Django
- nginx 是什麼,能幹什麼?Nginx
- AI三重問:什麼是AI?什麼是AI模型?什麼是AI大模型?AI大模型
- 什麼是eval()?eval是用來幹什麼的?
- 什麼是CDN?CDN的技術原理是什麼?
- 域名是什麼?申請域名的流程是什麼?
- DHCP是什麼?DHCP伺服器是什麼意思?伺服器
- 什麼是樂觀鎖,什麼是悲觀鎖
- 什麼是重繪repaint?什麼是迴流reflow?AI
- 車上HOLD是什麼意思,AUTO HOLD是什麼功能,有什麼作用?
- 幽默圖:什麼是Bug纏身?什麼是義大利麵條?什麼是大泥球?
- benchmarks是什麼
- 什麼是SOA
- 什麼是PLC