思想库的图片
0916年cypressblepart4promo.jpg

BLE v4.2:创建更快、更安全、更节能的设计-第4部分

2016年12月14日
蓝牙4.2中的新特性如何增加数据带宽、降低功耗、增强安全性和影响系统性能?
下载本文的。pdf格式
这种文件类型包括高分辨率的图形和原理图(如适用)。

第3部分在本系列中,我们讨论了无线系统中的安全需求。第4部分探讨了用于建立数据安全传输环境的配对过程。

配对是密钥交换和身份验证的过程。两种配对依赖于蓝牙低功耗版本:

LE安全连接(支持蓝牙4.2)

•LE Legacy配对(支持蓝牙4.0)

本文将只关注作为Bluetooth 4.2的一部分引入的LE Secure连接,它在安全性方面比以前的版本有了显著的改进。

蓝牙低能配对分为三个阶段。在第一阶段,设备交换配对参数。配对参数是用于确定要使用的关联模型的功能和安全需求。配对参数由不同的字段组成(图1)

1.BLE配对第一阶段使用的配对参数由多个字段组成。

在这个阶段,主设备向从设备发送一个配对请求(可能是对从设备发起的请求的响应),并带有自己的配对参数。作为响应,从设备向主设备发送一个配对响应,包含自己的配对参数。随后,两台设备根据交换的参数值选择配对方法。

配对参数包括:

代码固定为0x01用于配对请求,0x02用于配对响应。

I / O能力描述BLE设备的输入和输出能力。I/O能力包括以下几个选项:

——只显示

—“显示”和“Yes/No输入”

——键盘只

—无输入、无输出

-显示器和键盘

OOB数据标志表示是否有来自远端设备的带外(OOB)认证数据。

认证要求的旗帜有几个字段。键标志指定是否需要绑定。MITM指示是否需要中间人保护.SC显示是否有安全连接的请求。键盘按键指示输入密钥时发送按键通知的要求。SC和Keypress被突出显示,因为它们只在LE安全连接配对(蓝牙4.2)中可用。

最大加密密钥大小提供设备支持的最大加密密钥大小。

发起者密钥分发用于请求从发起者分发到响应者的密钥。

响应方密钥分发用于请求从响应程序分发到发起者的密钥。

交换参数后,阶段2开始。阶段2处理设备认证和链路加密。这个阶段很重要,因为它设置了正确的环境,以便在两个设备之间安全地发送数据。在LE安全连接中,在完成身份验证和生成用于加密的最终安全密钥之前,设备之间要进行一系列消息的通信。

什么是安全的?

在我们讨论这些步骤之前,让我们先来看看蓝牙4.2中防御被动窃听的骨干机制。如前所述,LE安全连接使用符合联邦信息处理标准(FIPS)的椭圆曲线Diffie-Hellman (ECDH)算法,该算法允许设备在非安全通道上建立两个设备之间的共享密钥。这里使用的ECDH形式是P-256,这意味着设备生成的私钥长度为256位(或32字节)。

2.当第三台设备监听两台设备之间的通信时,两台设备可以建立共享密钥。

在执行ECDH算法之前,两台设备必须确定一组特定的域参数。在LE安全连接的情况下,两个设备默认都知道参数,因为它们遵循fips兼容的P-256 ECDH机制。在此之后,每个设备生成一对密钥。第一种被称为私钥,设备从不共享或通过空中发送。第二个称为公钥。这是由设备键和域参数的一部分生成器函数生成的。

之后,每个设备将自己的公钥发送给另一个设备。使用从另一台设备接收到的公钥、它自己的公钥和它自己的私钥,两台设备都能够生成一个共享密钥。请注意,被动窃听者只能嗅探设备之间交换的公钥。但是如果没有来自任何设备的私钥,它就不能生成用于进一步加密的共享密钥。通过这种方式,ECDH能够在一个不安全的通道上生成共享密钥并加密链接。

图2显示一个示例,演示当第三个设备侦听它们之间的通信时,两个设备如何建立共享密钥。

在第二阶段,生成ECDH密钥对并共享公钥。为了确保设备与预期的设备通信,将使用本系列第3部分中讨论的关联模型之一执行身份验证。根据关联模型/IO功能,用户输入可以是输入法、输出方法或OOB。完成后,将执行以下步骤(图3)

•设备中产生一个随机数。

•使用用户输入的值,公钥作为ECDH和随机数的一部分生成。

•通过AES-CMAC功能计算出确认值,并与对方交换。

•计算所用的随机数与另一台设备交换。

3.这些是认证的第一阶段所采取的步骤。

接收设备使用用户输入的值、接收到的公钥和接收到的随机数生成另一个确认值。如果生成的确认值与从其他设备接收到的确认值相同,则完成第一阶段的身份验证。基于关联模型,用于计算确认值的参数略有变化。此外,在输入密钥的情况下,计算确认值的步骤会重复多次,对每个比特都是这样做的。

之后,设备从ECDH进程的共享密钥中生成LTK (Long Term Key),并进入认证检查的第二阶段,即检查DHKey(图4).当双方DHKey检查成功后,设备进入第三阶段。

4.认证的第二阶段是检查DHKey。

在配对阶段3期间,使用LTK加密链路。一旦链接被加密,密钥被共享,由配对参数中的启动器密钥分发/响应器密钥分发标志(例如,身份解析密钥,或IRK,使用可解析私有地址时需要)。

数据签名

BLE中可用的数据签名特性有助于为系统增加另一级别的安全性。当不使用加密时,BLE可以使用连接签名解析密钥(CSRK)来验证数据。为此,使用签名算法和计数器生成签名。该签名被放置在数据PDU旁边。计数器随每个数据PDU递增,以避免重放攻击。数据签名特性并不提供任何防止被动窃听的保护—它只是确保接收设备的数据来源的真实性。

简而言之,蓝牙低功耗提供了强大的安全方法,以防止未经授权的读写访问用户数据,使安全的无线系统。虽然蓝牙4.1和蓝牙4.2都提供了防止MITM的功能,但真正安全的BLE系统只能通过蓝牙4.2实现。当使用LE Legacy配对(蓝牙4.1)时,只有OOB提供了对被动窃听的保护。

蓝牙4.2包含了一个额外的关联模型,称为数值比较,并实现了一个椭圆曲线Diffie-Hellman算法。用于生成长期密钥(LTK)的参数从未在空中共享,以提供对被动窃听的保护。因为在Bluetooth LE 4.2中私钥从未通过无线方式共享,这使得窃听者很难解密在两个BLE设备之间传输的数据。

在本系列的下一部分中,我们将讨论与旧版本相比,支持蓝牙低功耗4.2特性所需的几个更新。它还将讨论如何为您的应用程序选择一个兼容蓝牙4.2的蓝牙低能耗设备。

应用注释AN99209或者是蓝牙核心规范(PDF下载)更多关于蓝牙4.2特性的细节。

受欢迎的合作伙伴的内容

DIY pmic:用户可编程pmic

在DIY PMIC:用户可编程PMIC培训中,我们将介绍DIY PMIC的概念,然后是用户可编程PMIC。一节集中在h…

用户可编程电源管理IC (PMIC) 6个DC/DC转换器,1个LDO和3个负载开关

用户可编程电源管理IC (PMIC) 6个DC/DC转换器,1个LDO和3个负载开关

多轨电视电源参考设计,灵活划分,最大限度地节省电力

一个完全组装的板已开发用于测试和性能验证,并没有出售。下载准备使用的系统…

实时操作系统(RTOS)及其应用

2021年2月25日,
什么是操作系统。实时操作系统(RTOS)是一个轻量级的操作系统,用于在资源和时间限制下简化多任务和任务集成……

声音你的意见!

本网站要求您注册或登录后发表评论。
目前还没有任何评论。想开始对话吗?
Baidu