摘要:結構概述版本協議中文文檔。根據已配置的認證器元數據驗證認證器的可靠性,確保只有可信賴的認證器注冊使用。利用認證機構提供的認證元數據來對認證器的真實性和可靠性進行驗證。具體來說,是通過認證器元數據中發布的認證公鑰完成驗證。
FIDO UAF 結構概述
版本 v1.1
FIDO UAF協議中文文檔。
現在FIDO UAF有關的文章還比較少,這主要是文檔翻譯和UAF系統概要介紹。
FIDO官網
感謝原文作者:
摘要Salah Machani, RSA, the Security Division of EMC
Rob Philpott, RSA, the Security Division of EMC
Sampath Srinivas, Google, Inc.
John Kemp, FIDO Alliance
Jeff Hodges, PayPal, Inc.
FIDO UAF強大的認證框架使得網絡服務提供端能夠透明的利用用戶終端上已有的安全功能來完成用戶身份的認證工作,并在這個過程中避免認證過程中和多認證憑證關聯所帶來的問題。
FIDO UAF參考架構描述了它的組件、協議及構成其強認證生態系統的接口。
1. 介紹本文檔介紹了FIDO通用認證框架(UAF)的參考架構。本文會方便技術架構師來深入理解FIDO UAF強大的身份認證解決方案和它的相關工業標準。
FIDO UAF將按如下順序介紹:
FIDO UAF 協議
FIDO UAF 應用程序API和傳輸綁定(Transport Binding)
FIDO UAF 認證器命令
FIDO UAF 認證器特定模塊(Authenticator-Specific Module,ASM)API
FIDO UAF 預定義值注冊表
FIDO UAF APDU(Application Protocol Data Unit,應用協議數據單元)
附錄文檔提供和UAF架構相關的重要信息:
FIDO AppID和Facets規范
FIDO 元數據語句
FIDO 元數據服務
FIDO 預定值注冊表
FIDO ECDAA算法
FIDO 安全參考
FIDO 詞匯表
以上文檔在FIDO聯盟網站獲取。
1.1 背景FIDO聯盟旨在通過以下方式來改善線上強認證生態:
制定開放、可擴展的、可互操作的線上用戶身份認證技術規范,取消對傳統密碼等的依賴;
制定確保這套標準再全球推廣的行業計劃方案;
向相關機構提交已成熟化的技術規范以推動標準化制定。
FIDO的核心驅動思想是:
易用性
隱私和安全
標準化
主要工作是使得網絡服務提供端能夠透明的利用用戶終端上已有的安全功能來完成用戶身份的認證工作,并在這個過程中避免認證過程中和多認證憑證關聯所帶來的問題。
FIDO中包含兩個關鍵協議來滿足用戶使用網絡服務的時兩種基本模式。兩個協議共享了大量的基礎內容,不過各自針對不用的使用場景有了不同的發展變化。
Universal Authentication Framework (UAF) 協議
UAF協議允許網絡服務端提供無密碼和多因子安全的服務。用戶通過本地認證機制(例如指紋,人臉識別,聲紋,PIN碼等)將用戶注冊到在線服務端。UAF協議允許服務選擇哪些安全因子來進行用戶認證。一旦注冊,當用戶需求服務時只需進行身份驗證,用戶只需重復本地身份驗證操作就能完認證過程。當在該設備進行身份驗證后,用戶將不再需要輸入密碼。 UAF還可以提供多因子認證的操作,例如指紋+ PIN碼等。
本文將著重介紹UAF相關內容。
Universal 2nd Factor (U2F) 協議
U2F協議允許在線服務通過要求用戶提供第二個安全因子構成的強認證來增強其現有密碼架構的安全性。用戶和以前一樣通過用戶名密碼登陸,而后服務端可以在它選擇的任何時間點要求用戶進行第二安全因子驗證。強認證方式可以簡單的如4位PIN碼,而不會影響其之前原有結構的安全性。在驗證期間,還可以通過U盾、點擊NFC等方式完成。用戶可以在任何支持此協議的在線服務中使用他的FIDO U2F設備。
1.2 FIDO UAF 文件(名詞對照)了解以下名詞有助于更好的理解FIDO UAF。
FIDO UAF 概述:本文檔,介紹FIDO UAF 框架、協議和規范。
FIDO技術術語:定義FIDO 聯盟規范和文件中使用的技術術語和短語。
UAF
UAF協議規范:所有UAF協議消息的消息格式和處理規則。
UAF應用程序API和傳輸綁定規范:規范客戶端應用程序使用FIDO的API和互操作性的配置文件。
UAF認證器命令:UAF認證機構應實現的最基本功能,用以支持UAF協議。
UAF認證器特定模塊API:由ASM向FIDO客戶端提供的特定于認證器的模塊API。
UAF預定義值注冊表:定義UAF協議保留的所有字符串和常量。
UAF APDU:將FIDO UAF認證器命令映射到應用協議數據單元(APDU)。
FIDO AppID和Facet規范:用戶憑證的范圍以及支持應用程序隔離的可信計算基礎。可以對哪些應用程序和Web來源可以使用哪些密鑰進行訪問控制決定。
FIDO元數據語句:FIDO認證過程中用于交互和策略描述的因子、特征、功能等的信息。
FIDO元數據服務:依賴方訪問最新元數據語句的基線方法。
FIDO ECDAA算法:定義FIDO認證器的直接匿名證明算法。
FIDO預定義值注冊表:定義FIDO協議保留的與多個FIDO相關的所有字符串和常量協議族。
FIDO安全參考:根據與FIDO相關的安全威脅的詳細分析,提供對FIDO安全性的分析基于其目標,假設和固有安全措施的協議。
參考架構文檔的“介紹”的其余部分主要講了有關UAF的關鍵驅動因素,目標和原則。
在后續章節中,本文檔會繼續介紹以下內容:
對架構定義的組件,協議和API進行更深入的介紹。
一個的FIDO UAF實例和實現它們所需的協議消息流。
FIDO協議與其他相關行業標準的關系。
1.3 FIDO UAF目標為了解決當下在強認證領域所面臨的問題,需要有一個運作良好的生態系統,一個全面、開放、多元化的架構,包括:
多樣化的用戶設備,無論是個人的、企業發布的還是企業BYOD,多樣化的設備運行環境,如家里、辦公室、開放場所等。
認證器
依賴方應用程序及其部署環境
滿足最終用戶和依賴方的需求
非常重視基于瀏覽器或傳統應用的終端用戶體驗
此解決方案架構必須具有以下特點:
FIDO UAF認證器的發現,認證和配置
通過FIDO UFA認證器實現跨平臺的強身份認證協議
統一的跨平臺的認證器API
依賴方簡單的整合機制
FIDO聯盟旨在打造一個開放、 多供應商、跨平臺的參考架構,其具有以下目標:
支持多因子強認證:通過兩個或更多個安全因子對終端用戶的身份認證來使服務提供方避免未經授權的訪問。
基于但不限于已有的設備功能:使用設備內置的認證器或功能(如指紋、相機、聲紋、嵌入式TPM硬件)來進行用戶身份認證,也可以使用一些額外的輔助認證器。
認證機制的可選擇性:使服務提供端和用戶選擇最合適的認證機制來盡量減少特定用戶場景下的風險。
簡化新認證功能的集成:使組織可以簡便的擴展所使用的強認證手段以解決新場景、新挑戰并和新的認證器功能所匹配。
保持可擴展性:設計可擴展的協議和API方便以后使用
盡可能利用現有的標準,并使其變得更開放、更具有可擴展性:一個開放、標準化的規范套件會帶來一個良性循環的生態系統,并降低部署強認證時遇到的風險、復雜度和成本。現有標準主要有下面的問題,缺乏統一的身份驗證器配置和認證,缺少統一的跨平臺的用于身份認證API,用戶認證過程中更靈活強大的的認證挑戰-響應協議。
完善現有的登錄模式和認證聯合方式:現有的工業解決方案(如OpenID、OAuth、SAML等)已經在減少對密碼驗證方式和傳統認證聯合方式的依賴了,但是它們并沒有直接解決用戶和服務提供端初始的強認證交互過程所面臨的問題。
對最終用戶隱私的保護:向用戶提供控制服務提供方對設備等信息的傳播的能力,同時減少服務端潛在的信息傳播能力。
統一的最終用戶的體驗:在所有的平臺和類似的身份認證器上創建簡單、統一的用戶體驗。
2 FIDO UAF 高階架構分析FIDO UAF架構旨在滿足FIDO目標并產生所需的生態系統優勢。 它通過使用標準化協議和API填補現狀的空白來實現這一點。
下圖給出了參考架構及其組件和用戶、服務提供端的關系。
2.1 FIDO UAF 客戶端它實現了FIDO UAF 協議中客戶端的部分,主要負責:
通過FIDO UAF認證器抽象層的認證器API來完成和特定FIDO UAF認證器的交互;
使用用戶設備上(如手機app、瀏覽器等)特定的代理接口來完成和FIDO UAF 服務端的交互。舉個例子:FIDO可能會采用瀏覽器現有的插件,在app上可能會使用FIDO特定的SDK。隨后,用戶代理負責將FIDO UAF 傳送到服務提供方的FIDO UAF 服務器上。
FIDO UAF 架構確保FIDO客戶端軟件可以實現跨系統跨平臺的能力。盡管每個特定的FIDO客戶端是平臺相關的,但是組件間的交互會確保平臺到平臺的一致性的用戶體驗。
2.2 FIDO UAF服務器它實現了FIDO UAF協議中服務端的部分,主要負責:
服務端利用FIDO UAF協議通過設備用戶代理向FIDO UAF客戶端傳遞信息。
根據已配置的認證器元數據驗證FIDO UAF認證器的可靠性,確保只有可信賴的認證器注冊使用。
管理用戶接入的FIDO UAF認證器的認證聯合。
評估用戶認證和交易確認響應以確定其有效性。
FIDO UAF服務器一般又服務端作為內部服務器進行部署,或者又第三方外包服務商提供。
2.3 FIOD UAF協議FIDO UAF協議用于在用戶設備和依賴方之間傳遞信息。這些信息主要包括:
認證器注冊:FIOD UAF注冊協議使依賴方能夠:
發現用戶系統或設備上可用的FIDO UAF身份驗證器,并把認證器的相關屬性傳遞到服務依賴端,使得后續的安全策略得以確定和執行。
利用FIDO UAF認證機構提供的認證元數據來對認證器的真實性和可靠性進行驗證。具體來說,是通過認證器元數據中發布的認證公鑰完成驗證。
注冊認證者,并將其與依賴方的用戶帳戶相關聯。一旦認證者證明了驗證方,依賴方可以提供獨特的安全標識符,該標識符是依賴方和FIDO UAF身份驗證器所特有的。該標示符可以通過{RP,Authentication}這樣的對耳朵形式應用在后續的交互過程中,并且這個標示符對其他設備是不可知的。
用戶認證:認證過程使用基于加密的挑戰-響應認證協議,并且讓用戶選用認證過程中將要使用的具體認證器。
確保安全的傳輸過程:如果用戶端認證器包含這樣的功能,依賴方就只需向用戶顯示一個安全消息進行確認。消息內容由依賴方決定。這個確認可以用于各種情況,如金融交易、用戶合同確定、醫療手續的確認。
認證器注銷:用戶不再需要服務時,反注冊是一個基本的需求。服務提供方在驗證認證器合法性后刪除本地用戶相關認證數據,隨后向用戶確認注銷,用戶刪除UFA憑證完成注銷。
2.4 FIDO UAF認證器抽象層它為FIDO客戶端提供統一的API,可以為FIDO支持的操作提供基于認證器的加密服務。它向下提供了一個底層的認證器插件API,以便部署多廠商FIDO UAF認證器和對應的驅動。
2.5 FIDO UAF認證器FIDO UAF身份驗證器是連接到或安裝在FIDO用戶設備中的安全實體,可以創建與依賴方相關的key等。密鑰用于參與FIDO UAF強認證過程中。如,隨后的FIDO UAF身份驗證器可以使用密鑰材料提供對加密挑戰的響應,從而完成依賴方進行認證器的身份驗證。
為了達到簡單集成可信認證功能的目標,一個FIOD UAF認證器需要提供它特有的認證類型(如:生物特征),功能(如支持的加密算法)和設備來源等。這為依賴方驗證用戶認證器身份的可靠性提供了支持。
在FIDO UAF認證的過程中,認證是由認證器向依賴方提出的需求,認證器通過生成密鑰或信息報告來證明認證設備的真實性。然后有UAF協議攜帶包含簽名的信息給UAF服務端進行驗證。首先由認證器使用其私鑰進行簽名,然后在服務端通過認證元數據中的公鑰進行證書驗簽。元數據采用數據外放的方式和FIDO UAF服務器進行共享。
3 FIDO UAF使用場景和協議消息流 3.1 FIDO UAF認證器采集和用戶注冊用戶將會有多種途徑獲取FIDO UAF認證器:比如購買了具有嵌入式FIDO UAF認證功能的新系統,后買了具有嵌入式FIDO UAF身份認證器的設備,或又其他機構(eg.銀行)分發得到身份認證器。
獲取了認證期之后,用戶需要向認證器進行特定的注冊(此注冊過程不再FIDO UAF協議范圍內)。如,認證器設備是基于指紋的,用戶需要向認證器注冊其指紋。在注冊完成后,認證器就可以在支持FIDO UAF的服務提供端進行下一步的用戶注冊。
3.2 認證器注冊如下給出的FIDO UAF架構,當用戶開始進行認證器初始化并和服務端發起交互時,依賴方可以把信息透傳到FIDO服務器中。在初始化階段,服務端將提示用戶檢測到的認證器,并給出用戶注冊相關的選項。
3.3 認證注冊后,FIDO UAF身份認證器將在隨后用戶和服務端進行身份認證時使用。如果FIDO身份認證器不存在時,服務端將采用各種預備策略。這些策略可能包括允許常規登陸或者因權限減少而不允許登陸等。
用戶所使用的FIDO UAF認證器有多種類型。 一些認證器可以采樣生物特征數據,如臉部圖像,指紋或語音檢測。 一些通過PIN或本地認證者特定密碼條目, 還有一些可能只是一個硬件承載認證器。 這里,只要遵守FIDO隱私原則,FIDO客戶端就可以與外部服務進行交互 。
3.4 加強認證(Step-up Authentication)強認證是傳統的網站登陸驗證場景下的補充策略。通常網站會允許未經驗證或者經普通驗證方式認證的用戶瀏覽信息。但是當用戶希望有更高價值的交互時,如進入會員專區等,服務端會要求用戶進一步認證來提高安全級別。
FIDO UAF將幫助實現這種需求,有FIDO服務的網站將能識別用戶端系統可用的FIDO UAF認證器,并從中選擇合適的認證器來完成身份的認證。即,根據用戶對交互的安全要求,服務端將根據客戶端能提供的認證方式和網站風險分析引擎來動態的制定認證交互標準。
3.5 交易確認(安全交易)提供FIDO服務的依賴方結合有FIDO認證器的客戶端可以提供多樣化的服務。例如之前的網站登錄認證和加強認證等。另一個更高級的使用場景就是安全交易的處理。
考慮如下場景,依賴方希望最終用戶確認交易(例如財務操作,特權操作等)的情況,以便可以檢測到在其到達終端設備顯示和返回的路由期間任何篡改交易消息。FIDO架構具有提供此功能的“安全事務”概念。如果FIDO UAF身份驗證器具有事務確認顯示功能,則FIDO UAF架構可確保系統支持“你看到的就是你要的”(WYSIWYS)。很多場景需要這種功能- 主要涉及交易授權(匯款,執行上下文特定的特權操作,電子郵件/地址的確認等)。
3.6 認證注銷在某些情況下,依賴方可能需要刪除FIDO中與特定用戶帳戶相關聯的UAF憑據認證。 例如,用戶的帳戶被取消或刪除,用戶的FIDO認證器丟失或被盜等。在這種情況下,RP可以請求FIDO認證器刪除綁定到用戶帳戶的認證密鑰。
3.7 對新FIDO UAF的可擴展性隨著技術的發展,各種新的認證器將會出現。只要它們是基于FIDO結構的。則添加對它的支持,只需要依賴方在認證器描述元數據中添加對應條目,和認證證書即可。用戶就可以通過新型認證器和依賴方進行交互。
4 隱私保護用戶隱私是FIDO在設計之初就予以考慮的,并在又UAF提供了支持。一些核心的隱私保護設計如下:
UAF沒有一個全局可見的唯一標識符(實現不可鏈接性,即對同一角色或身份的關聯)如果出現UAF設備丟失的情況,撿到設備的人也無法準確的將其指向某個服務方,并發現其他關聯賬戶。此外,如果有多名用戶共享某個UAF設備,且都進行過認證注冊過程,依賴方將不能通過UAF協議來多帶帶識別兩個賬戶在共享設備。
UAF協議基于賬戶、設備、服務端生成唯一的非對稱加密密鑰對。不同服務端的加密密鑰不能讓他們相互產生任何關聯,即UAF具有不可鏈接性。
UAF協議需要極少量的用戶個人數據,最多需要提供一個用戶在依賴方的username,這個信息指揮用在FIDO的作用過程中,如注冊、認證、驗權等。這個數據信息只存在在用戶端環境中,且只有在必要的時候會做本地永久化處理。
在UAF中,用戶驗證(用戶生物特征校驗等)在本地執行。UAF不向依賴方傳遞任何生物特征數據,更不會要求依賴方對它進行存儲。
用戶會明確自己使用的某特定廠商的UAF設備。只有在用戶同意的情況下,才會在注冊期間生產唯一的加密密鑰并將其綁定到依賴方。
UAF認證器只能通過生產批次或制造商和設備型號的認證證書來識別。它們不能被多帶帶標識。UAF規范要求廠商要以相同的認證證書和私鑰來制造一批100,000個或更多的UAF認證器,以確保不可鏈接性。
5 和其他技術的關系OpenID, SAML, OAuth
FIDO協議(UAF和U2F)完善了身份聯合管理(FIM)框架,如OpenId、SAML;也完善了web授權協議,如OAuth。
FIM依賴方可以利用身份提供者(IdP)的初始身份驗證事件。然而,OpenID和SAML在IdP上沒有定義用于直接用戶身份驗證的特定機制。(就是OpenId和SAML只解決了第二公里的問題——通過鑒別后身份憑證的分享,沒有解決第一公里——對最終用戶的直接鑒別的問題)
當IdP與啟用FIDO的認證服務集成時,它可以配合服務端進行強身份認證。下圖說明了這種關系。基于FIDO的認證機制首先被觸發,隨后FIM協議把這個身份認證用于隨后的身份憑證分享。
原創內容,版權所有,轉載請注明出處
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/11250.html
摘要:詳情中文版網頁調色板工具是一個簡單易用的免費瀏覽器擴展程序,可提取出網頁的基本顏色生成調色板,可作為設計師和前端開發人員的有用工具。 01. 2018 前端開發者手冊 這是一份 2018 前端開發手冊,內容包括三個部分:前端工程實踐、前端開發學習和前端開發工具。 詳情:https://frontendmasters.com/books/front-end-handbook/2018/ ...
閱讀 3457·2021-11-17 17:00
閱讀 3818·2021-08-09 13:46
閱讀 2866·2019-08-30 15:54
閱讀 627·2019-08-30 13:54
閱讀 2945·2019-08-29 17:13
閱讀 3218·2019-08-29 14:00
閱讀 2975·2019-08-29 11:11
閱讀 1379·2019-08-26 10:15