M2351应用系列:智能认证 (Smart Authentication) USB FIDO Key
新唐科技 微控制器应用事业群技术经理 – 凌立民 (Robert Ling)
什么是FIDO (Fast Identity Online)
首先我们先来看看什么是FIDO,根据英文字面意思, 应该可轻易臆测这是一种跟网络认证有关的方法。的确,由于传统信息系统关于密码验证的问题层出不穷,不管是安全不足、账号遭盗用或**不易与使用不便等原因始终让人诟病。加上网络兴起后,愈来愈多的网络链接更加需要更安全与快速的网络身分识别技术,于是FIDO标准在2012年由几家大型公司诸如PayPal、Nok Nok Labs、Lenovo等创立的联盟 (FIDO Alliance) 开始制定,近年来已有非常多的资通讯产业大公司加入,诸如Google、Alibaba、Intel、Qualcomm甚至连支付产业Visa、美国运通等超过两百家公司或机构都加入其中致力于推广无密码(password-less)且安全亦简易的网络认证方法,适用于解决任何公私云网络的身分认证问题。 图片来源: FIDO Alliance
简单由上图来看, FIDO的认证机制包含了本地端的认证装置喊远程的服务器设备,不同于传统网络服务的密码验证方法,FIDO认证并不经由网络传送密码信息,此举将身分「验证」(Verification)和「识别」(Identification)拆开来,客户端在本地端需要搭配认证器,可以是手机、USB Key、智能卡或安全足够存储个人身分验证数据的装置,并采公私钥架构(PublicKey Infrastructure)来进行验证结果数据的传递,远程的服务器将依传递过来的验证结果判断是否是合法的网络存取要求。这样的作法有以下特点:
1. 服务器端不用存储密码或私钥,所以没有个人的秘密分享的问题,服务器即使被骇也不会有个资外泄的情况,例如近年脸书等大型网站数据遭到的案例
2. FIDO的认证协议主要希望建立非密码输入的身分确认方法开放标准,所以结合生物辨识、双认证或多认证因素(secondfactor/ multi-factors)将变得更容易实现
在未来FIDO发展的趋势下,我们相信一定会有许多相关的认证方**因应而生,尤其是个人随身端的认证装置的使用。
NuMicro® M2351的USBFIDO Key参考设计方案
经由前述的背景说明,我们先来看新唐提出的智能认证—USB FIDO Key的参考设计如下:
由于M2351是基于Armv8-M TrustZone®的架构,所以我们建议把跟身分验证的相关程序放在安全区(SecureWorld),诸如连接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卡或SecurityIC安全单元(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卡软件开发商来说也可以开辟另一个商机。
|