基于FIDO技术的物联网身份认证解决方案

2021-04-06 00:39柴海新
信息安全研究 2021年4期
关键词:鉴别器密钥身份

李 俊 柴海新

(国民认证科技(北京)有限公司 北京 100085)

(lijun@gmrz-bj.com)

1 问题与挑战

随着万物互联的物联网时代到来,大量物联网设备开始逐渐进入人们的日常工作和生活中,在带给人们便利的生产和生活体验的同时,也带来了严重的安全隐患.针对物联网的设备类型多样化、窄带宽、低时延、异构环境以及海量隐私信息等特点,传统身份认证方式已经不能满足需求.例如,账号口令是一种最常见的传统身份认证方式,由于物联网服务的多样化使得用户需要记忆的账号和口令的数量也大大增加,为了便于记忆和输入,使用弱口令的现象普遍发生.国际组织OWASP于2018年发布了IoT Top 10[1],提出了在创建、配置和管理物联网系统时应避免的十大风险,其中,弱口令、易猜测以及硬编码的口令被列为首位.同时,传统身份认证体系还存在“孤岛”问题.物联网各种服务采用独立的认证方式用于各类认证场景(例如人脸识别、指纹识别、动态口令等),不同认证方式的系统各自为政,类似于一个个“孤岛”,无法互操作,导致认证体系变得更为复杂、难以管理并且部署成本高.此外,集中式管理用户凭证也存在安全风险.用户凭证(口令、生物特征模板等)集中存储在服务端,一旦服务端遭受攻击,所有用户凭证都存在泄露的风险,容易形成大规模的攻击威胁,而且也容易形成功能和性能瓶颈.还有一个问题特别需要注意,用户的隐私信息也存在被滥用的风险.用户的个人敏感信息(包括口令、身份信息、生物特征模板等)以及物联网感知设备所采集到的用户相关信息(例如位置信息、事件日志等)可能被服务方滥用.与此同时,也存在物联网应用服务方自身的业务运营数据被第三方服务提供方滥用的风险.

2 场景分析

物联网系统中存在多种实体对象,主要包括用户、设备和服务.为确保安全,这些实体对象均需进行身份认证.用户和服务之间、设备和服务之间、设备和设备之间、用户和设备之间均存在身份认证的需求.因此,物联网身份认证涵盖了多种场景(如图1所示),包括:

1) 人到云的认证;

2) 人到IoT设备的认证;

3) 人到IoT控制设备的认证;

4) 设备到设备的认证;

5) 设备到云的认证.

在以上场景中,“设备”可分为2种:不连接云服务的IoT设备,如智能灯泡、智能开关等;连接云服务的IoT控制设备,如智能手机、智能音箱、智能家居控制中心等.至于“人”,则可通过IoT控制设备(如智能手机)作为主交互设备与其他设备或者云服务连接并完成认证.

图1 物联网身份认证场景

3 解决方案

3.1 FIDO简介

在线快速身份(Fast Identity Online, FIDO)联盟是一个非营利性国际组织,于2013年2月正式成立,其宗旨在于解决强认证设备之间缺乏互操作性,以及用户为进行身份认证而创建和记忆多个账号及口令所面临的问题,从而实现消除口令的最终目标.FIDO联盟已经发布了一系列技术标准,包括通用鉴别框架(universal authentication framework, UAF)、通用第2因子(universal 2nd factor, U2F)以及FIDO 2.0等[2].FIDO系列技术标准的核心思想是将身份认证手段与身份认证协议解耦合[3],以密码技术为基础,采用非对称密码算法机制,以密钥作为用户凭证,通过签名验签的方法完成对用户的身份鉴别.

FIDO UAF提供了具有高扩展性的轻量级统一身份鉴别框架,如图2[4]所示:

图2 UAF体系框架

UAF协议引入了“鉴别器(authenticator)”概念,该组件由匹配器(matcher)和密钥管理器组成,运行于用户终端设备中,执行FIDO核心关键功能.匹配器使用生物特征识别技术(例如指纹识别、人脸识别、虹膜识别等)或者其他身份识别技术(例如PIN码、九宫格图形码等)对用户进行身份识别;密钥管理器则为用户创建并管理公私钥对,并进行各种密码学运算(例如签名、杂凑、加解密等).密钥管理器作为鉴别器的密码学内核(cryptographic kernel),只有在匹配器成功识别用户后才释放出用户私钥进行签名操作[5].密钥管理器除了需要管理代表用户身份的密钥之外,还需要管理代表其自身身份的鉴证(attestation)密钥.为确保鉴别器的运行安全,鉴别器应运行于可靠的安全边界内,一般采用可信执行环境(trusted execution environment, TEE)、安全元件(secure element, SE)或白盒加密技术对鉴别器进行安全保护.鉴别器的各项属性(例如鉴别器厂商标识符、版本号、支持的算法和公钥格式、支持的识别用户方法、密钥保护方法、厂商根公钥证书等)包含于元数据文件中,通过FIDO元数据服务提供给FIDO服务器,以便FIDO服务器了解用户设备的情况,并可使用厂商根公钥证书对设备进行鉴证.

FIDO协议遵循端到端安全设计原则,涉及设备端和服务端的底层设计,产业链较长,环节众多,需要整个产业链的支持.FIDO生态系统主要由依赖方(即应用服务商)、设备制造商、鉴别器厂商以及协议实现方共同构成.依赖方作为FIDO协议的使用方,需要实施部署FIDO服务器和整体解决方案;鉴别器厂商需要生产支持FIDO协议的鉴别器设备(例如支持FIDO协议的指纹算法芯片等);设备制造商需要将鉴别器集成在设备系统中,使得设备在出厂时就能够支持FIDO协议;协议实现方即FIDO整体解决方案提供商,为依赖方、鉴别器厂商和设备制造商提供FIDO技术支持.目前,FIDO生态系统已经成熟,苹果、Intel、ARM、三星、华为、小米、微软、谷歌、亚马逊、阿里巴巴以及各大银行卡组织等重量级组织或机构均为FIDO联盟成员,基于FIDO技术标准的身份认证解决方案已经在国内和国际上大规模应用.

3.2 基于FIDO的物联网身份认证体系架构

为实现“智联万物”的核心能力,物联网技术体系架构涵盖了“云服务”“通信网络”“边缘计算”以及“设备终端”等多个层面.因此,物联网身份认证也应实现“云-边-端”一体化,对物联网用户和物联网设备进行统一身份标识和身份认证.本文提出了基于FIDO技术的物联网身份认证体系架构(如图3所示),充分发挥了FIDO技术轻量化和高扩展性的优势,通过灵活部署鉴别器和FIDO服务器,实现了安全、便捷且保护用户隐私的物联网全场景身份认证.

图3 基于FIDO的物联网身份认证体系架构

整体架构中包含如下参与角色:

1) 用户.物联网服务的使用者.用户的角色可以有多种,例如消费用户、管理用户和运维用户等.用户可直接访问并使用物联网设备,也可通过物联网控制设备对物联网设备进行访问、控制和使用.

2) IoT控制设备.用于对各类物联网设备进行控制和监控的设备.通常具备较强的通信、计算和存储能力,例如移动智能终端、智能音箱、智能家居控制器等.IoT控制设备可通过网络直接连接到云服务,也可在本地连接网关.IoT控制设备一般通过近场通信协议(如低功耗蓝牙、NFC、ZigBee等)实现与IoT设备的通信,以完成对IoT设备的控制和监控.IoT控制设备中内置了FIDO鉴别器,可实现对用户的身份认证以及对自身的身份标识和身份认证.例如智能手机使用指纹鉴别器验证用户身份;智能音箱通过声纹验证用户身份.

3) IoT设备.具备感知、计算、机械操作和通信等能力的设备,例如各类传感器、感知终端、摄像头、智能灯泡、智能电器等.不同种类的IoT设备在计算和通信能力方面差异巨大,对能源消耗的需求也有较大不同.某些具备较强计算和通信能力的IoT设备可内置FIDO鉴别器,可对用户进行身份认证,也可实现对自身的身份标识和身份认证.对于大多数计算能力和通信能力较弱的IoT设备而言,可采用粘贴RFID标签或二维码标签的方式实现对该设备的身份标识.

4) 网关.通过协议转换、路由选择等功能实现不同网络协议之间的互操作,从而实现多种异质网络的互相兼容.IoT设备和IoT控制设备可通过网关互相通信,并通过网关接入到网络而与云服务进行通信.网关设备可内置FIDO服务器,用于对连接到网关的IoT控制设备、IoT设备以及用户进行身份认证.

5) 网络.由局域网、广域网、互联网等构成的信息传输基础设施.

6) IoT应用服务.用于实现各类物联网应用的服务平台,如智能家居、智能交通、工业物联网等.IoT应用服务可通过IoT设备管理服务和FIDO服务器实现对用户和设备的可信身份认证.

7) IoT设备管理服务.用于对IoT设备进行管理的服务平台.在IoT设备的重要生命周期阶段,如入网登记、固件升级、注销等,均受到IoT设备管理服务的控制.

8) FIDO服务器.用于实现对用户及IoT设备进行身份标识管理及身份认证的FIDO服务平台.

3.3 人到云的认证

基于FIDO的人到云的身份认证框架(如图4所示)是一种基于信任传递的两步式认证.首先,此场景中的IoT控制设备应为用户的主要交互设备(例如移动智能手机),通过该设备内置的FIDO鉴别器对IoT用户进行本地身份识别,可采用指纹、人脸、声纹等生物识别方式;识别通过后即可执行下一步,即使用代表用户身份的私钥对协议消息进行签名并提交到云端FIDO服务器,由FIDO服务器采用用户公钥进行验签,成功后即完成人到云的身份认证.整体流程包括注册、认证、注销等过程,由内置于IoT控制设备中的鉴别器负责对代表用户身份的密钥进行全生命周期管理.此外,鉴别器还负责管理代表自身设备身份的密钥的生命周期.此框架中,鉴别器发挥了关键作用,成为可信身份认证的锚点.

图4 人到云的认证

3.4 人到IoT设备的认证

IoT设备需要对当前使用者进行身份认证.对于计算能力和通信能力都很弱的IoT设备,其无法单独对用户进行身份认证,只能接受IoT控制设备的监控和管理;对于计算能力和通信能力较强且内置FIDO鉴别器的IoT设备,可利用鉴别器所拥有的安全能力(例如指纹识别、3D人脸识别、声纹识别等)对使用者进行身份识别,技术原理与人到云的认证类似.在此场景中,FIDO服务器可根据IoT设备的通信能力部署在不同的地方:云或网关中.

3.5 人到IoT控制设备的认证

IoT控制设备需要对当前使用者进行身份认证.对于内置FIDO鉴别器的IoT控制设备,可利用鉴别器所拥有的安全能力(例如指纹识别、3D人脸识别、声纹识别等)对使用者进行身份识别,技术原理与人到云的认证类似.在此场景中,FIDO服务器可视情况部署在云或网关中.

3.6 设备到设备的认证

物联网中的海量设备需要协同工作,因此需要彼此间的身份认证.由于在此场景中不涉及用户,因此身份认证模型可简化为对设备的鉴证,无需管理代表用户身份的密钥.设备与设备之间存在2种连接方式:直接连接和间接连接.直接连接方式是指设备与设备之间通过近场通信方式建立通信信道;间接连接方式是指设备与设备之间通过网关连接.直连方式下,FIDO服务器需简化后内置在设备中;间接方式下,FIDO服务器可内置在网关中.

设备到设备的认证可包括以下情况:

1) IoT设备到IoT设备的认证;

2) IoT设备到IoT控制设备的认证;

3) IoT控制设备到IoT设备的认证;

4) IoT控制设备到IoT控制设备的认证.

无论何种情况,对于内置FIDO鉴别器的设备,可将鉴别器置为静默状态(由于不涉及用户,因此无需通过用户交互验证用户身份),直接使用设备鉴证密钥对消息进行签名,FIDO服务器收到消息后通过证书链对消息进行验签,从而完成身份认证.

图5描述了设备到设备的认证的技术原理和流程:

图5 设备到设备的认证

具体步骤如下:

1) 设备使用鉴别器预置的鉴证密钥和公钥证书产生签名消息;

2) 将签名消息发送给对方设备;

3) 对方设备收到后透传给FIDO服务器;

4) FIDO服务器使用证书链进行验签;

5) FIDO服务器返回认证结果.

3.7 设备到云的认证

对于内置FIDO鉴别器的IoT设备和IoT控制设备而言,可以通过网络直接连接到云服务进行身份认证.可将鉴别器置为静默状态(由于不涉及用户,因此无需通过用户交互验证用户身份),直接使用设备鉴证密钥对消息进行签名,FIDO服务器收到消息后通过证书链对消息进行验签,从而完成身份认证.

图6介绍了设备到云的认证的技术原理和流程.

具体步骤如下:

1) 云端FIDO服务器生成认证请求消息发给设备;

2) 设备使用鉴证私钥对消息进行签名;

3) 组装成正式响应消息发送给云端FIDO服务器;

4) FIDO服务器使用证书链进行验签.

图6 设备到云的认证

3.8 IoT设备生命周期

对于内置FIDO鉴别器的物联网设备,由于涉及密钥的安全使用,应实施严格的生命周期管理.本节将结合物联网身份认证整体架构及应用场景,简要描述物联网设备的完整生命周期管理.

物联网设备的生命周期包含以下阶段(如图7所示).

图7 物联网设备生命周期

3.8.1 生产阶段

物联网设备在出厂前,设备厂商应为每个设备分配唯一标识符,并为每个设备预置密钥并签发公钥证书.标识符、密钥和公钥证书应保存在设备安全存储区域,防止被恶意篡改.设备私钥应能有效抵御非法读取和复制.无需将设备公钥分发到外部服务,而仅需要将设备厂商的根公钥证书以元数据的形式提供给FIDO服务器,极大地降低了信息泄露的安全风险.

除上述方式外,还存在可不进行密钥预置处理的方式.在这种方式中,设备密钥仅在入网登记时由管理员持支持FIDO协议的智能手机进行激活操作而动态生成[6].由于此方式需要管理员身份信息及特定设备的深入参与,复杂性较高,仅适用于特定场景,本文不对此方式进行详述.

3.8.2 入网登记阶段

物联网设备在进入某个物联网系统中时,需要对该设备身份的真实性和完整性进行核验.可在设备初次连接到网络中时向FIDO服务器发起登记指令,由设备使用鉴别器私钥和公钥证书产生签名消息,FIDO服务器完成验签则成功完成入网登记操作.此外,也可由管理员用户使用物联网控制设备(如移动智能终端)通过带外认证的方式进行入网登记.例如,管理员使用智能手机扫描设备上的二维码标签或RFID标签,获得该设备唯一标识符,并上传FIDO服务器,查验该标识符真伪,最终完成入网登记.如果物联网设备内置了FIDO2鉴别器,则可通过低功耗蓝牙、NFC等近场通信方式使用CTAP2协议连接到管理员智能手机,由管理员通过智能手机完成设备入网登记.

3.8.3 使用阶段

物联网设备在完成入网登记阶段之后即可正常使用.可根据该设备的能力选择适用的身份认证方式.在使用阶段,支持对物联网用户进行认证的设备可动态产生代表用户身份的密钥,并对这些密钥进行管理.

3.8.4 升级阶段

如果物联网设备支持升级,例如系统固件升级,应确保升级过程不会变更唯一标识符和设备密钥.此外,升级文件的真实性和完整性也需要进行核验,以确保升级文件不被恶意篡改.

3.8.5 注销阶段

当物联网设备老化或者无法继续使用时,需要将其进行注销处理.注销操作可由设备自身发起,也可由管理员用户向FIDO服务器主动发起.当设备被注销后,如果需要重新投入使用,应重新进行入网登记操作.

3.9 设备密钥种类及关系

内置FIDO鉴别器的物联网设备中涉及到以下几种密钥:鉴别器密钥、用户密钥和保护密钥(如图8所示).代表用户身份的公私钥对在注册时动态产生(静默鉴别器则不存在用户密钥),并由鉴别器使用保护密钥对用户私钥进行加密保护;代表设备身份的鉴别器私钥和相应公钥证书则由鉴别器厂商在设备出厂时预置在鉴别器中,根私钥由鉴别器厂商安全保管,根公钥证书则由鉴别器厂商以元数据文件的形式提供给FIDO服务器.

图8 设备密钥种类及关系

物联网设备应优先支持国家密码管理局所核准的密码算法,例如SM2椭圆曲线密码算法[7]、SM3杂凑算法[8]、SM4分组密码算法[9]等.

4 方案优势和特点

本方案基于FIDO协议,将认证手段与认证协议相分离,使得物联网应用服务只需部署1套FIDO服务器即可支持多种不同的认证手段,极大地提高了系统的可扩展性,有效地解决了传统方案存在的“身份认证孤岛”问题.此外,本方案的安全特色还包括:用户的秘密信息(如生物特征、PIN码等)从不离开设备,不会被采集到服务端,极大地减少了泄露的威胁,同时也分散了服务端被攻击的风险;服务及用户账号之间不存在可链接性,不同的服务使用的用户密钥是不同的,降低了用户被攻击者通过“足印”进行定位追踪的风险.这些安全设计将整体方案的安全性和便捷性同时提高到新的高度,并着重考虑了对用户隐私的增强保护.

此外,对于物联网而言,本方案所具备的3个特点尤其符合物联网对身份认证的需求:

1) 轻量化设计.

方案采用了简明的C/S架构,客户端管理代表用户身份和代表设备身份的私钥,服务端管理代表用户身份的公钥和代表设备身份的根公钥,整体架构中未引入可信第三方(例如CA中心等),减少安全干扰因素,降低不可控的业务风险,增强物联网应用服务对身份认证系统的控制力.同时,协议对设备的计算能力和通信能力的要求并不高,可适用于窄带宽和低计算能力的物联网环境.

2) 去中心化.

传统身份认证解决方案中,一般至少存在1个集中式管理的认证中心或者密钥管理中心,当网络出现故障或者集中式认证中心或密钥管理中心遭受攻击时,整个身份认证系统将陷入不可用状态.而本方案中,用户凭证(公私钥)分散存储在设备和FIDO服务器中.这种去中心化的设计特别适用于采用多种网络类型的物联网,FIDO服务器可以按需部署在“云”“边”甚至“端”侧,具有极高的健壮性和可用性.

3) 零信任理念.

整体方案的设计符合零信任的理念:从不信任,一直验证.在物联网中,设备往往处于无法保证物理安全以及网络不可靠的繁杂环境中,有时设备在完成认证后遭受攻击成为不可信任的,因此必须时刻对设备和用户保持警惕性.基于FIDO的物联网身份认证方案非常重视物联网设备的生命周期保障,在安全前提中将设备和用户假定为不可信任的,只有经过严格的基于数学安全的公私钥体制对设备和用户完成每次身份认证,才能正常开展物联网应用业务,从而确保物联网系统的安全.

5 总 结

本文基于FIDO技术的轻量化和去中心化的设计思想提出了物联网身份认证解决方案,全面覆盖了物联网中用户、设备与服务之间的各种认证场景,提出了针对物联网设备的生产、入网登记、使用、升级、注销等阶段进行全生命周期管理,阐述了物联网设备密钥种类及关系,并对方案所具备的轻量化设计、去中心化和零信任理念等优势和特点进行了分析,为实现安全、便捷且保护隐私的物联网身份认证系统提供了参考和指导.

猜你喜欢
鉴别器密钥身份
基于多鉴别器生成对抗网络的时间序列生成模型
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
卫星导航信号无模糊抗多径码相关参考波形设计技术*
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
跟踪导练(三)(5)
身份案(下)
阵列天线DOA跟踪环路鉴别器性能分析
他们的另一个身份,你知道吗