企业动态
行业资讯

工业物联网蓝牙安全及基于标识算法的分布式鉴权技术研究

摘 要

蓝牙是当下流行的短距离通信技术,蓝牙标准中的配对机制可以在主从设备之间快速建立连接,连接建立以后可以避免第三方的窃听和篡改。为了解决蓝牙技术在工业物联网中的安全应用问题,首先分析了蓝牙协议的安全机制,其次分析工业物联网应用场景对蓝牙通信的安全需求,并研究现有蓝牙安全机制与工业物联网蓝牙需求的差异。最后提出了适用于工业物联网终端的蓝牙安全方案,可以实现基于合法身份的、分布式的鉴权及接入控制功能。

内容目录:

0 引 言

1 蓝牙技术安全概述

1.1 蓝牙安全版本

1.2 低功耗蓝牙安全

1.3 典型配对流程分析

2 工业物联网蓝牙应用场景

3 工业物联网蓝牙模组安全研究

3.1 工业物联网蓝牙风险

3.2 工业物联网蓝牙方案

4 结 语

 0  蓝牙技术安全概述

蓝牙技术是一种工作在 2.4 GHz ISM 免授权频段的短距离无线个人局域网(Wireless Personal Area Network,WPAN)技术,目前广泛应用于各类个人智能设备中,可实现固定设备与移动设备之间的数据交换功能。蓝牙标准在信息安全方面依靠配对机制可以在主从设备之间快速建立连接,连接建立以后可以避免第三方的窃听和篡改。如今,蓝牙已经成为多种消费电子产品的标配,同时,蓝牙技术被应用于各类工业物联网终端中。工业物联网场景对信息安全的要求远高于消费领域 [1],因此,蓝牙技术信息安全也成为工业物联网应用必须研究的问题。本文针对蓝牙技术的安全机制进行研究,分析了蓝牙协议的安全防护机制与工业物联网场景的安全需求差别。本文在兼容蓝牙安全机制整体框架的基础上,应用国密标识密码算法,实现了基于身份的蓝牙分布式接入控制方案,为蓝牙技术在工业物联网领域的安全应用和标准化提供了解决思路。

 1  蓝牙技术安全概述

蓝牙安全技术随着蓝牙版本的演进而变化,各版本的蓝牙在安全方案中又细分为不同的安全模式和操作方法。

1.1 蓝牙安全版本

蓝牙技术标准由蓝牙技术联盟(Bluetooth Special Interest Group,SIG)管理,目前最新版本为蓝牙 5.1。蓝牙各版本的安全机制不尽相同, 一般将蓝牙 3.0 及其之前版本称为传统蓝牙。

2010 年蓝牙推出 4.0 版本,蓝牙 4.0 及其以后的版本称为低功耗蓝牙(Low Energy,LE),传统蓝牙与低功耗蓝牙的安全机制在安全算法、密钥体系上存在较大差异。低功耗蓝牙与传统蓝牙相比在安全算法强度和隐私特性上有较大提升 [2],目前,在主流终端中常以低功耗蓝牙应用为主,因此,本文以低功耗蓝牙作为研究对象。

1.2 低功耗蓝牙安全

蓝牙安全的应用场景设定为两个互不信任的蓝牙设备,在操作人员的控制下,可以快速、简单地建立连接,连接通道可以防止中间人攻击、防止空口报文被窃听和篡改 [3]。蓝牙安全机制包括配对、绑定、设备鉴权、加密和完整性保护 5 个安全流程。在蓝牙协议栈中,与蓝牙安全强相关的模块为 SM(安全管理)和链路层。其中 SM 负责配对、绑定和鉴权的流程管理,并在上述流程中生成一系列的过程密钥;链路层负责接收 SM 的指令,按照 SM 指令和密钥进行数据的加解密、完整性保护的封装操作。

配对环节是低功耗蓝牙安全的关键环节, 两个蓝牙设备只有在完成配对后才能进行通信。由于蓝牙版本的差异,低功耗蓝牙配对分为传统模式和安全连接模式两种模式。

配对环节分为 3 个阶段,如图 1 所示 。第一阶段,配对双方通过协商消息进行协商, 最终确定采用传统模式或者安全连接模式。第二阶段,根据第一阶段的协商结果进行简单的可选择的认证,并生成链路密钥。第三阶段, 采用第二阶段生成的链路密钥进行会话密钥的分散派生。完成配对后,配对双方将一个长期密钥(Long-Term Key,LTK)存储在 Flash 中, 此后这两个设备可以省略配对过程,直接采用LTK 进行会话密钥的生成。两个设备完成 LTK 共享后,称为两个设备已经绑定。

每种配对模式,均可采用多种密钥协商方式,协商方式的选择依据蓝牙设备的安全需求及设备的输入 / 输出能力。

蓝牙设备的输入能力包括无输入、YES/ NO、键盘输入 3 种。无输入指设备没有任何的人机交互输入接口。YES/NO 指设备允许操作员进行 YES 或者 NO 的选择输入,比如一个蓝牙耳机有一个按键,操作员按下按键表示YES,操作员不按表示 NO。键盘输入指设备具备数字键盘类输入能力,可以是硬件或者软件键盘。

蓝牙设备的输出能力包括无输出和数字输出两种。无输出指蓝牙设备不具备操作员肉眼可见的显示和指示能力,比如蓝牙鼠标没有任何显示和指示能力。数字输出能力指蓝牙设备具备数字显示的能力,比如带屏幕的蓝牙设备。综上所述,每个设备的输入 / 输出能力一共包含了 6 种情况,详见表 1。

表 1  输入 / 输出能力表

三中网安:工业物联网蓝牙安全及基于标识算法的分布式鉴权技术研究1

三中网安:工业物联网蓝牙安全及基于标识算法的分布式鉴权技术研究02


图 1  配对环节流程框架

传统模式分为 3 种协商方式,安全连接模式分为 4 种协商方式,因此,低功耗蓝牙安全具有 7 种配对方式,如图 2 所示。

(1)Just Work:该方式适用于配对的一方没有任何的输入能力和显示能力。该方式无认证能力,无中间人攻击抵御能力。

三中网安:工业物联网蓝牙安全及基于标识算法的分布式鉴权技术研究2

图 2  低功耗蓝牙配对分类

(2)密码输入:该方式要求一方具备数字输入能力,另一方具备显示能力或数字输入能力。

(3)带外安全:带外安全即 OOB(Out of Band,OOB)方式,要求通信双方都具备蓝牙通道以外的安全通信方式,比如 NFC(Near Field Communication,NFC),带外 NFC 用来传输配对的机密信元。配对方式为操作人员操作两个待连接设备进行 NFC 触碰通信,从而触发蓝牙配对。

(4)数字比较:该方式要求一方具备 YES/ NO 的输入能力和显示能力,另一方具备数字输入能力和显示能力。

1.3 典型配对流程分析

上述各种配对方式的流程既有不同点,又有共同点。本文选择一种较为安全的方式,传统模式—密码输入协商方式进行详细分析。

在密码输入方式的应用场景中,操作员在两个设备上分别操作,确保两端设备共享一个6 位十进制的认证密码 ra 和 rb,如果 ra=rb 则认证成功,否则认证失败。其流程如图 3 所示 [5]。

(1)步骤 1,该阶段主、从设备完成了配对模式、协商方式的协商。

(2)步骤 2,主、从设备分别生成自己的随机数 Mrand 和 Srand,随机数将参与鉴权计算, 以确保在配对过程中能够防止重放攻击。

(3)步骤 3,操作人员通过对主、从设备的正确操作,确保两端配对临时密钥 TK 的赋值相同,即 TKA=ra=TKB=rb。比如,设备 A 显示输出一个 6 位数字 ra,操作员将该数字通过键盘输入设备 B 中。操作人员需要保证 ra 和 rb 是相同的,以便后续认证流程可以成功。

三中网安:工业物联网蓝牙安全及基于标识算法的分布式鉴权技术研究3

图 3  传统模式—密码输入配对模式

(4)步骤 4a,主设备 A 计算生成 Mconfirm 值。Mconfirm 是以 TKA=ra 为密钥的加密运算结果,被加密消息包括步骤 1 的协商消息、步骤2a 生成的随机数 Mrand 及双方蓝牙 MAC 地址信息。

步骤 4b,从设备 B 计算生成 Sconfrim 值。Sconfirm 是以 TKB=rb 为密钥的加密运算结果, 被加密消息包括步骤 1 的协商消息、步骤 2b 生成的随机数 Srand 及双方蓝牙 MAC 地址信息。

(5)步骤 5,主设备 A 将 Mconfirm 值发送给设备 B。

(6)步骤 6,从设备 B 将 Sconfirm 值发送给设备 A。

(7)步骤 7,主设备 A 将自己生成的随机数 Mrand 发送给设备 B。

(8)步骤 8,设备 B 用收到的 Mrand 和操作人员输入的 rb,验证收到的 Mconfirm 值是否正确。验证相同,则继续配对流程,否则配对失败。

(9)步骤 9,设备 B 将自己生成的随机数Srand 发送给设备 A。

(10)步骤 10, 设备 A 用收到的 Srand 和操作员的输入 ra,验证收到的 Sconfirm 值是否正确。验证相同,则配对验证完成,进入密钥生成流程。

上述流程中的加密流程引入了随机数和共享临时密钥 TK,可以很好地保护后续密钥协商的机密性,并可以防御重放攻击。

从上述配对的流程可知,配对过程中需要存在一个操作人员,可以同时对两个配对设备进行操作,并确保双方的 TK 赋值相同。

蓝牙其他带认证功能的协商方式——数字比较和带外安全,同样需要操作人员的判断和操作。数字比较需要操作人员对比配对双方的显示数字,做出判断后进行连接确认。而带外安全(以 NFC 带外为例)需要操作人员对配对双方进行触碰操作。各种场景都要求存在操作人员进行人为的输入操作或者判断。Just Work虽然简化了操作,但是不具备认证功能,其安全等级最低。

蓝牙依靠操作人员的配对流程和相应的安全机制,可以有效应对个人域消费电子场景的安全需求,却难以满足无人值守(或无人操作) 的工业物联网场景。

 2  工业物联网蓝牙应用场景

具有蓝牙需求的工业物联网终端种类众多, 在两个工业物联网终端通过蓝牙进行通信时, 通常通信双方至少有一方处于无人值守的状态, 常见的通信场景包括:

(1)物联设备之间的数据通信。比如各类传感设备和传感设备网关之间的通信。

(2)手持设备与物联设备之间的通信。此场景多为巡检或操作人员手持巡检设备与无人值守的物联网终端进行短距离通信。

在上述场景中,处于无人值守的蓝牙物联网终端需要对尝试连接的对端蓝牙设备进行身份验证,以便进行蓝牙通信的接入控制,才能保障物联设备本体安全及数据安全,工业物联网蓝牙的应用场景及安全需求与蓝牙协议侧重的个人域消费电子场景有如表 2 所示的差异。

表 2 工业物联网蓝牙与消费蓝牙安全差异

三中网安:工业物联网蓝牙安全及基于标识算法的分布式鉴权技术研究4

无人值守工业物联网终端的蓝牙模块是否允许对端蓝牙配对连接,应该是基于对端蓝牙设备是否拥有业主运维部门的授权,而不是现场人员的操作意愿,这是工业物联网场景与消费蓝牙的重要区别。

蓝牙通信早期版本的拓扑结构为短距离点对点方式,但是随着蓝牙技术的发展,蓝牙 5.1 已经达到 300 m 覆盖,并且可以支持 IPv6 星型组网和 Mesh 组网,其组网能力和覆盖能力已经达到了WiFi(无线局域网)水平。蓝牙组网能力及覆盖能力的增强为蓝牙安全接入带来了新的挑战。在工业物联网终端场景下,为了防止无关人员和恶意攻击者通过蓝牙连接工业物联网终端,工业物联网蓝牙应具备基于可信身份的分布式鉴权能力。

 3  工业物联网蓝牙模组安全研究

工业物联网终端对蓝牙通信的需求日益强烈,亟需研究适应工业物联网场景的蓝牙安全机制及产品。

3.1 工业物联网蓝牙风险

工业物联网终端蓝牙如果采用蓝牙协议内生的配对模式,即依靠操作人员主观操作进行接入控制,将给工业物联网终端带来潜在的风险。攻击者可以通过很低的成本搭建“无线公网 + 蓝牙”的攻击硬件,轻易地进行蓝牙通信层连接,进而对工业物联网终端和应用层协议进行持续的攻击尝试,如图 4 所示。

三中网安:工业物联网蓝牙安全及基于标识算法的分布式鉴权技术研究5

图 4  远程蓝牙攻击模型

《CNNVD 关于多个蓝牙协议安全漏洞情况的通报》[6] 指出,蓝牙各版本都存在一些安全漏洞,绝大多数漏洞在新版本会被修复,但是也存在各版本共存的一些脆弱点,包括:

(1)连接密钥的存储不当:如果连接密钥的存储没有访问控制机制,可能会被非法读取或修改,从而影响连接的安全性。

(2)伪随机数安全:蓝牙安全需要大量的随机数参与安全运算,如果随机数发生器安全性不足将会影响蓝牙的安全。

本文同时指出蓝牙进程在所有操作系统都具有最高权限,攻击者如果成功控制蓝牙模块, 将会对整个物联网终端的信息安全产生影响。

3.2 工业物联网蓝牙方案

国密 SM9 算法是一种基于标识的非对称密码算法,该算法可以实现以设备的 ID 为公钥,避免了公钥的验证步骤 ,非常适合分布式设备的互相认证。采用支持 SM9 算法的安全芯片与蓝牙芯片进行合封或集成,形成安全蓝牙模块, 可以解决蓝牙技术在工业物联网场景的接入安全问题。

工业物联网业主负责搭建基于标识算法的服务器,进行安全蓝牙模块的密钥发行,从而实现系统内的蓝牙互信关系,相关流程如图 5 所示:

(1)步骤 1,蓝牙设备运营方通过身份标识算法(SM9)密钥管理服务器进行基于身份的密钥管理和发行。服务器根据蓝牙芯片的 MAC 地址作为对应安全芯片的身份标识,进行密钥初始化。

(2)步骤 2a,安全芯片 A 的初始化参数包括加密主公密钥 P、加密私钥 deA 和身份标识 MAC-A;步骤 2b,安全芯片 B 的初始化参数包括加密主公密钥 P、加密私钥 deB 和身份标识MAC-B。

三中网安:工业物联网蓝牙安全及基于标识算法的分布式鉴权技术研究6

图 5 基于标识的身份鉴权机制

(3)步骤 3,根据蓝牙协议流程,双方在连接发现阶段会互相获得对方的蓝牙 MAC 地址。

(4)步骤 4,双方设置 SM9 密钥交换协议参数。安全芯片 A 设置自身标识为 MAC-A,设置对方标识为 MAC-B;安全芯片 B 设置自身标识为 MAC-B,设置对方标识为 MAC-A。

(5)步骤 5,双方安全芯片以蓝牙链路层为通道,以步骤 4 设置的参数启动 SM9 密钥交换流程。如果协商认证失败,则蓝牙配对流程失败。

(6)步骤 6,如果协商成功,双方则会产生相同的共享密钥 SKA=SKB。安全芯片 A 将密钥协商结果 SKA 发送给蓝牙芯片 A;安全芯片 B 将密钥协商结果 SKB 发送给蓝牙芯片B。SM9 密钥交换协议保障了 SKA 与 SKB 的机密性。

(7)步骤 7,双方蓝牙启动传统配对模式。蓝牙芯片 A 将 SKA 赋值给配对临时密钥TKA,蓝牙芯片 B 将 SKB 赋值给配对临时密钥TKB。TKA=TKB=SKA=SKB 作为配对临时密钥, 确保了配对流程可以校验成功。

(8)步骤 8,蓝牙 A 与蓝牙 B 通过各自的TK 值进行后续的配对流程,后续流程如图 3 步骤 4a/4b。

安全蓝牙模组中预制标识密码算法密钥, 巧妙地采用蓝牙 MAC 地址作为标识算法的公钥,将标识信息的交换与蓝牙报文地址紧密地耦合,既减少了交互流程,又增强了安全性。基于 MAC 地址的标识认证流程,可以让蓝牙模组支持基于合法身份的分布式鉴权,进而实施接入控制,可以有效解决基于操作人员的主观意识进行接入认证的问题。

基于标识密码算法可以完美解决分布式的终端间、离线状态的相互认证问题。传统的对称密码算法在工业物联网中应用较为广泛,比如电网的计量系统,其密钥分散采用自上而下的分散方式,终端侧密钥一般根据服务侧根密钥与终端 ID 分散而来,适用于服务器同终端之间一对多的认证与加密,难以实现分布式终端间的互认证。利用数字证书技术解决分布式的互信也存在很多困难,比如证书的成本问题及证书的离线验证问题,数字证书技术公钥为随机数,无法使用特定的蓝牙 MAC 地址作为公钥。

支持标识密码算法的安全芯片承载标识算法运算及真随机数生成,最终为蓝牙配对过程提供 TK 密钥共享服务,方案并未更改蓝牙协议的安全框架,因此降低了对标准蓝牙芯片内核的改动。标识算法安全模组一般都具备安全存储功能,不但可以保证预制密钥的安全,也可以为蓝牙配对流程后续产生的连接密钥提供安全的存储环境和访问控制机制。

 4  结 语

蓝牙技术在无线个人域通信领域得到广泛应用,产业链蓬勃发展,芯片成本不断下降, 可以有效解决工业物联网终端的短距离通信需求。本文首先分析了蓝牙标准的安全机制及应用场景;其次分析了工业物联网场景对短距离无线通信的安全需求,解析了蓝牙安全机制与工业物联网通信安全需求之间的差异;最后结合国密标识安全算法,为蓝牙基于可信身份的分布式、离线鉴权提出了可行的方案。

本文的研究成果已经在国家电网配电终端与巡检掌机间试点应用,可为无人值守的配电终端与巡检掌机提供安全的蓝牙通信通道。本方案也可适用于其他无人值守的工业物联网终端的蓝牙应用场景,可以为行业用户蓝牙技术的安全应用规范和技术标准提供参考。

文献引用格式:李延 , 耿震磊 , 袁艳芳 , 等. 工业物联网蓝牙安全及基于标识算法的分布式鉴权技术研究 [J]. 信息安全与通信保密 ,2021(10):82-91.

作者简介 >>>

李 延,学士, 工程师,主要研究方向为信息安全技术及应用研发;

耿震磊,学士, 工程师,主要研究方向为信息安全技术及应用研发;袁艳芳,硕士,高级工程师, 主要研究方向为信息安全技术及应用开发;张 磊,硕士,工程师,主要研究方向为信息安全技术及应用开发;杨 峰,学士,工程师,主要研究方向为信息安全技术及应用研发。

选自《通信技术》2021年第10期(为便于排版,已省去原文参考文献)

来源:信息安全与通信保密杂志社

 
版权所有:郑州三中网安科技有限公司 豫ICP备2020036495号-1    豫公网安备 41019702002241号 | 站点地图 | 人才招聘 | 联系我们