圖片來源 |
簡介
Web Authentication(WebAuthn)是一種網路身份驗證協議,它為用戶提供了一種更安全和更方便的登錄方式,無需使用傳統的密碼。
WebAuthn使用公開密鑰加密技術,使用戶可以通過使用一個加密金鑰對其身份進行驗證,而無需輸入密碼。這個加密金鑰可以存儲在使用者的智能卡、USB金鑰、手機等安全硬件設備中,以保護用戶的數據安全。
WebAuthn的實現依賴於瀏覽器和服務器之間的相互認證,以確保用戶的安全。該協議已被多個瀏覽器和網站採用,成為了一種推廣的網絡身份驗證方式。
原理
Web Authentication(WebAuthn)的原理基於公開密鑰加密技術,以下是其基本流程:
1. 註冊:當用戶首次註冊一個帳戶時,服務器會生成一對公開密鑰和私有密鑰。其中,公開密鑰會被發送給瀏覽器,而私有密鑰則留存在服務器端。
2. 建立連接:當用戶想要登錄到該帳戶時,瀏覽器會與服務器建立安全的連接。
3. 選擇設備:用戶可以選擇一個合適的安全硬件設備(如智能卡、USB金鑰、手機等)來進行身份驗證。
4. 驗證:當選擇設備後,瀏覽器會向設備發送驗證請求,設備會使用內部的私有密鑰進行簽名,將簽名信息發送回瀏覽器。
5. 認證:瀏覽器將簽名信息與公開密鑰進行比對,如果匹配成功,則瀏覽器將該用戶識別為合法用戶,並讓其進入到帳戶頁面。
由於公開密鑰加密技術的應用,Web Authentication具有很高的安全性,能夠有效地防範偽冒、中間人攻擊等安全威脅,同時也能夠提供更便利的使用體驗。
用於何處
Web Authentication(WebAuthn)已經被廣泛應用於許多網絡應用場景中,其中包括:
1. 在線帳戶登錄:WebAuthn可以用於替換傳統的密碼,提供更安全的登錄方式。用戶可以使用智能卡、USB金鑰、手機等安全硬件設備來進行身份驗證,避免了密碼被盜用的風險。
2. 雙因素身份驗證:WebAuthn可以與其他身份驗證技術(如TOTP、SMS驗證碼等)結合,實現更強大的雙因素身份驗證。
3. 在線支付:WebAuthn可以用於在網絡支付時進行身份驗證,提高支付的安全性。
4. 網絡授權:WebAuthn可以用於對應用程序、服務器或API進行身份驗證,確保只有合法的用戶可以訪問相應的資源。
總之,Web Authentication是一個強大的網絡身份驗證協議,它可以用於各種場景中,為用戶提供更安全和更便捷的身份驗證方式。
結語
WebAuth主要是為了解決繁雜的帳號密碼登入問題以及資安疑慮,以「無密碼」的方式減少輸入的過程中因傳遞被竊取的風險,只要給予部分識別資訊之後,透過第三方驗證方式進行個人身分的檢核(指紋、臉部、金鑰…),至於為何較為安全? 這牽涉到密碼學原理,有興趣的朋友可以參考「【開發智能合約 - 密碼學系列】編碼(Encode)、雜湊(Hash)、加密(Encrypt)傻傻分不清楚?」建立基本概念之後,我們後續再來介紹如何實際操演這樣的驗證方式會加深印象,提升學習效率。
留言
張貼留言