M2351應用系列:智能認證 (Smart Authentication) USB FIDO Key

Post Reply
User avatar
NuvotonMarcom
Posts: 227
Joined: 10 Sep 2018, 17:23

01 Jul 2019, 19:23

新唐科技 微控制器應用事業群技術經理 – 凌立民 (Robert Ling)

什麼是FIDO (Fast Identity Online)
首先我們先來看看什麼是FIDO,根據英文字面意思, 應該可輕易臆測這是一種跟網路認證有關的方法。的確,由於傳統資訊系統關於密碼驗證的問題層出不窮,不管是安全不足、帳號遭盜用或記憶不易與使用不便等原因始終讓人詬病。加上網路興起後,愈來愈多的網路連結更加需要更安全與快速的網路身分識別技術,於是FIDO標準在2012年由幾家大型公司諸如PayPal、Nok Nok Labs、Lenovo等創立的聯盟 (FIDO Alliance) 開始制定,近年來已有非常多的資通訊產業大公司加入,諸如Google、Alibaba、Intel、Qualcomm甚至連支付產業Visa、美國運通等超過兩百家公司或機構都加入其中致力於推廣無密碼 (password-less)且安全亦簡易的網路認證方法,適用於解決任何公私雲網路的身分認證問題。
7.png
7.png (261.76 KiB) Viewed 4279 times
圖片來源: FIDO Alliance

簡單由上圖來看, FIDO的認證機制包含了本地端的認證裝置喊遠端的伺服器設備,不同於傳統網路服務的密碼驗證方法,FIDO認證並不經由網路傳送密碼資訊,此舉將身分「驗證」(Verification)和「識別」(Identification)拆開來,用戶端在本地端需要搭配認證器,可以是手機、USB Key、智能卡或安全足夠存儲個人身分驗證資料的裝置,並採公私鑰架構(Public Key Infrastructure)來進行驗證結果資料的傳遞,遠端的伺服器將依傳遞過來的驗證結果判斷是否是合法的網路存取要求。這樣的作法有以下特點:
1. 伺服器端不用存儲密碼或私鑰,所以沒有個人的秘密分享的問題,伺服器即使被駭也不會有個資外洩的情況,例如近年臉書等大型網站資料遭到的案例
2. FIDO的認證協定主要希望建立非密碼輸入的身分確認方法開放標準,所以結合生物辨識、雙認證或多認證因素(second factor/ multi-factors)將變得更容易實現
在未來FIDO發展的趨勢下,我們相信一定會有許多相關的認證方法會因應而生,尤其是個人隨身端的認證裝置的使用。

NuMicro® M2351的USB FIDO Key參考設計方案
經由前述的背景說明,我們先來看新唐提出的智能認證—USB FIDO Key的參考設計如下:
身分認證 FIDO Key.png
身分認證 FIDO Key.png (125.53 KiB) Viewed 4279 times
由於M2351是基於Armv8-M TrustZone®的架構,所以我們建議把跟身分驗證的相關程式放在安全區(Secure World),諸如連接Fingerprint Sensor、Smart Card、Micro SD或當成NFC卡片被讀取的無線傳輸連接之介面;而非關於驗證相關的程式可開發後置於非安全區(Non-Secure World),例如USB介面到PC/Notebook端以傳送資料或供電(當然基於使用需求USB,也是可以規劃為安全區控管的資源)。這樣的方案有以下好處:
(A) 是一個兼具多樣功能又能兼顧安全的最佳FIDO終端裝置設計平台。舉個例子,傳統的公司或機構對於人員的門禁控管多經由識別卡來管理,對於網路的存取又有其他的驗證方式亦如用USB Dongle/U-Key類似產品,卡片容易被拿走盜刷不用講,U-Key要輸入一些密碼也是令人感到麻煩,一個整合的裝置就可以實現更安全又便利的辨公室資源存取方式。
(B) 是一個具成本競爭力的參考設計方案。傳統的通用型微控制器並沒有TrustZone的配置,對於資料加密的支持也不盡完整,更不用對軟體IP的保護先關做法;而傳統的安全微控制器則多是以智能卡(Smart Card)的設計為基礎,其所能支持連接周邊裝置及本身運算的能力都非常有限,對於多個因素認證的做法(為求password-less)難以實現。M2351由TrustZone搭配XOM (eXecute-Only-Memory)則是業界目前唯一在微控制器上實現的保護軟體IP的安全組合方法,輔以Flash Memory的讀寫保護技術,將可達到MCU內(CPU操作)外(除錯與燒錄操作)都安全的保護。在一些封閉的私有雲系統,甚至可以不需要加安全單元;如果真要到智能卡安全級別,也可以透過ISO-7816讀取智能卡、SD卡或Security IC安全單元(Secure Element)。同時M2351優異的性能與省電操作功耗更可提供快速的指紋傳感器辨識效能,以SunASICTM公司的Fingerprint Sensor為例,可提供120x120, 160x160, 176x176, 192x192四種解析度電容式傳感器在一秒內的辨識成功率。
(C) 是一個適於建立二次開發商業模式的平台。由於並非每家公司都對網路安全與周邊感測都有專長,透過這個平台,有技術的公司可以發展出核心的FIDO開發套件,讓有通路或有最終產品生產需求的公司來完成最後的軟體設計與產品設計與生產,只要雙方協調好該如何做軟體連結。如此不但保護了核心的軟體安全,也能讓FIDO的終端認裝置能快速普及方便大眾使用。

M2351 USB FIDO Key的二次開發的商模價值與安全等級說明
隨著產品的智慧化程度加深,運行在微控制器的軟體也日趨複雜,需要更多研發時間。舉例來說,精確、快速的指紋辨識算法軟體,可以幫助消費者在附指紋傳感器的FIDO認證裝置上有更好的使用體驗,例如省去密碼輸入的需求。但其中,一個好的指紋辨識軟體,並不容易在短時間內開發出來,以致於產品的開發商,往往必須尋求軟體商的協助,應用其提供的解決方案,以縮短開發時程。這樣的產業趨勢造就二次開發的商業模式愈發蓬勃,亦即一個產品上,會有兩家開發商協力合作:一個提供特定功能的軟體、演算法;另一個則專注於終端應用產品的開發。
另有關於安全級別的疑慮,我們認為未來的FIDO認證應用應該是非常多元的,所以我們認為會有許多不同型態的FIDO認證裝置會相應而產出,本地端個人身分驗證之憑證(certificate)儲存的安全應該會受到非常高層級的安全要求,若搭配生物辨識如指紋的驗證,指紋相關的資料也要放在安全的區域,所以我們認為仍有必要提醒讀者,可以透過連接Smart Card (如SIM卡)、SD卡或Security IC (Secure Element, 安全晶片)等方式來增加安全強度,對於這一類的快速又要高安全的FIDO認證要求,NuMicro® M2351的安全規格將是與SIM卡、SD卡或安全晶片最好的搭配,也是非常經濟的搭配,例如中國大陸的SIM卡的成本已在一元人民幣以下,對這些傳統的SIM卡軟體開發商來說也可以開闢另一個商機。

Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 34 guests