蓝牙配对 – 第一篇:配对特性交换(Pairing Feature Exchange)

发布时间:2016-7-8 11:26    发布者:eechina
关键词: 配对 , 蓝牙
任凯

蓝牙(Bluetooth)核心规格中有三大主要架构层:控制器、主机和应用。主机层中有一个为配对和密钥分配定义方法和协议的安全管理器模块、相应的安全工具箱、以及定义配对指令框架形式、框架架构和超时限制的安全管理器协议。安全管理器采用密钥分配的方式执行无线电通讯中的身份和加密功能。

配对以建立密钥,然后就能用密钥来加密链路。然后执行传输特定的(transport specific)密钥分配来分享密钥。密钥可用来加密日后的重新连接、验证签名数据、或执行随机地址解析。总的来说配对有三个阶段:

·        第一阶段:配对特性交换

·        第二阶段(低功耗传统配对):生成短期密钥(Short Term Key,简称STK)

(低功耗安全连结):生成长期密钥(Long Term Key,简称LTK)

·        第三阶段:传输特定的密钥分配

大多数读者可能未必了解低功耗传统配对和低功耗安全连接。低功耗(Low Energy,简称LE)是蓝牙规格中蓝牙4.0及以上版本的主要特性之一。蓝牙4.2规格为低功耗物理传输添加了安全连接特性,升级了配对功能,在蓝牙低功耗物理传输中采用美国联邦信息处理(FIPS)许可的算法(AES-CMAC和P-256 椭圆曲线)。为了区别安全连接与蓝牙4.0和4.1规格中定义的低功耗配对,我们将后者成为低功耗传统配对。图1是传统配对和安全连接都适用的配对流程图。

1.jpg
图1:配对流程图

在这一篇中,我们主要讨论第一阶段,即配对特性交换。配对就是安全特性的交换,包括输入/输出(IO)功能、对于中间人保护的要求等。两台设备间配对信息的交换是通过配对请求(PairingRequest)和配对响应(PairingResponse)数据包实现的。这两种信息的内容请参考表1:配对请求/响应。

t1.jpg
表1 配对请求/ 响应
*位顺序从LSB到MSB。

·        “代码”
t2.jpg

·        IO 功能

IO 即为输入/输出,IO功能结合在一起可生成这一字段的值。

对于输入功能来说,可能为“无输入”、“是/否”或“键盘”,详情如下:

t3.jpg

对于输出功能来说,可能为“无输出”或“数字输出”,详情如下:

t4.jpg

将输入输出功能结合在一起之后,就有了以下矩阵,定义了蓝牙设备应有的IO功能。

t5.jpg
1 没有配对算法可以使用“是/否”的输入和“无输出”,因此其IO功能结果为“NoInputNoOutput”。

从以上矩阵中能大致了解相应的IO功能,并从下表中选择合适的值,置入配对请求/响应数据包。

t6.jpg

·        OOB DF(OOB Data Flag)

OOB即Out-of-Band的缩写,意为“带外”,采用外部通信方法交换一些配对过程中使用的信息。OOB媒体可能是任何一种能够传输相应信息的其他无线通信标准,如NFC或二维码。

t7.jpg

·        BF(Bonding Flags)

绑定(Bonding)是配对发生之后的长期密钥交换,并将这些密钥储存起来以供日后使用——即在设备间创建永久的安全连结。配对机制是绑定的前提。

t8.jpg

·        “MITM”

MITM是“Man-In-The-Middle(中间人)”。这一字段是1比特位的标识,如果设备需要MITM保护,则设置为1。本文主要着重于配对特性交换,如果您对MITM感兴趣,请参考蓝牙核心规范4.2版本第一卷中A部分的5.2.3。

·        “SC”

SC 字段是1比特位的标识,设置为1,以请求低功耗安全连接配对。可能的配对机制结果是:如果两台设备均支持低功耗安全连接,则采用低功耗安全连接;否则采用低功耗传统连接。因此这一标识是决定第二阶段配对方法的一项指标。

·        “KC”

按键字段是1比特位的标识,只用于万能钥匙进入协议,在其他协议中可忽略。万能钥匙进入是传统配对和安全连接的典型配对方法。这部分在下一篇博文中会进行讨论。

t9.jpg

·        “最大加密密钥规模”

最大密钥规模范围为7-16个八位字节。

·        “发起者密钥分配”&“响应者密钥分配”

这两个字段的定义如下,具体在后续的系列博文中会展开讨论。

当配对特性的交换开始之后,发起者和响应者会通过配对请求和响应来交换彼此的配对特性信息。有了这些信息,发起者和响应者就能确认对方的I/O功能(这是传统配对和安全连结的配对机制所需的),然后选择配对方法——直接运行、万能钥匙进入、数值比较或带外,然后进入第二阶段。详细内容会在第二部分:配对方法与密钥生成中继续讨论。
本文地址:https://www.eechina.com/thread-169715-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • 想要避免发生灾难,就用MPLAB SiC电源仿真器!
  • 更佳设计的解决方案——Microchip模拟开发生态系统
  • 利用模拟开发工具生态系统进行安全电路设计
  • 你仿真过吗?使用免费的MPLAB Mindi模拟仿真器降低设计风险
  • 贸泽电子(Mouser)专区

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表