datasheet

在物联网应用中,如何确保BLE连接的安全

2019-03-01来源: EEWORLD 关键字:BLE  物联网

安全性是设计物联网(IoT)应用时面临的最大挑战之一。由于物联网设备通过无线方式进行通话,因此一切控制和状态信息以及私人用户数据都可能会暴露于风险之中。不安全的物联网设备可能会使人员生命和财产面临风险,而不是带来更便捷的生活。试想一下,有人可以攻击家庭照明控制系统,跟踪到用户何时在家,然后闯入家中。或者有人可以通过伪造您的身份,然后开启您的智能锁。

 

为保障物联网设备的安全性,需要进行以下三项部署:

 

对未经授权的设备隐藏设备身份的机制 - 身份保护对于保护用户免受破坏者跟踪其物理位置至关重要。如果没有足够的保护,物联网设备会使用户面临隐私泄露以及潜在的生命或财产威胁。这一情况类似于有人根据您的汽车注册编号对你进行跟踪。

 

防止被动窃听- 被动窃听是指收听两台设备之间私人通信的过程。被动窃听者静静地听取通信,但不会更改数据。

 

防范中间人攻击 - 中间人(MITM)攻击是所有安全威胁中最为严重的一种情况。在这种情况下,称为MITM攻击者的第三台设备不仅可以监听两台设备之间的私密通信,还可以模仿其中任意一台设备并更改数据。

 

对未经授权的设备隐藏设备身份

 

BLE设备使用48位地址,如果该地址可被另一台设备解码,则后者可对前者实时跟踪。BLE使不可信设备难以通过频繁更改地址来实施跟踪。以上是通过使用仅可信设备可用的身份解析密钥(IRK)实现的。对链路进行加密后,可信设备之间可在配对过程中共享IRK。然后将其作为绑定过程的一部分存储在内部。这一类型的地址称为可解析私有地址(RPA)。

 

可解析私有地址包含两个组件 - 24位hash和24位prand。hash是IRK函数,prand则由22位随机数和两个固定的MSB(最高有效位)组成。

 

随机产生的22位prand不能所有位都为'1'或'0'。之后,使用IRK和prand作为加密函数'e'的输入变量计算hash。

Hash = e(IRK,prand),截断为24位

 

设备IRK是一组128位数字。通过104位填充连接,其中填充位设置为‘0’,使得prand的大小与IRK一致。原始prand的LSB(最低有效位)在填充后依然是prand的LSB。生成后的hash将与prand连接从而生成RPA。

 

为解析RPA,需要使用在广告包中接收的prand和在配对过程中接收的IRK生成本地hash。然后将这一本地hash与地址中的hash进行比较。如果匹配,则可解析地址。由于一台设备可存储来自多台设备的IRK,因此可使用存储的每一个IRK逐个计算本地hash值,直至匹配为止。

 

BLE 4.2及更高版本允许该地址最快可每秒更改一次,最长更改间隔为11.5小时,这称为RPA超时。RPA更改的频次越高,对设备实施跟踪就越困难。

 

防止被动窃听

 

假设在一次会议中,交谈中有两个人突然切换到与会的其他人难以听懂的他们的母语,那么,将会发生什么情况?事实上通过这一方式,他们让这一部分对话免受被动窃听。类似地,BLE设备使用共享密钥对链路进行加密。因此,没有秘钥的设备将无法理解链路加密之后设备之间的对话。保护强度取决于钥匙强度–即获取或猜测钥匙的难易程度。

 

BLE(4.2或更高版本)使用符合美国联邦信息处理标准(FIPS)的Elliptic Curve Diffie-Hellman(ECDH)算法来生成和交换密钥。之后,这些密钥用于生成其他密钥,也称为DHKey共享密钥。再之后,可通过DHKey共享密钥对链路进行加密或生成另一组密钥对链路进行加密。

 

在BLE设备中,这一安全通信的基础是在配对过程中建立的。配对过程分为三个阶段:

 

在第1阶段,配对过程中涉及的两台设备发送配对请求和响应以及配对参数,其中包括设备的性能和安全要求。在此之后,两台设备将根据交换参数的值选择配对方式。

 

第2阶段涉及设备身份验证和链路加密。该阶段建立的安全性环境可确保设备不受被动窃听和MITM攻击。

 

如前所述,为防止被动窃听,BLE使用符合FIPS标准的ECDH算法,使设备能够在不安全的信道上建立共享密钥,然后使用该秘钥或其衍生秘钥对链路进行加密。

 

为便于理解ECDH算法的工作原理,我们给出了非常经典的Alice和Bob示例(参见图5)。Alice和Bob希望建立一个安全的通信链路,然而他们正在通信的信道正在被第三方Eve窃听。

 

1. Alice和Bob生成了他们自己的私钥和公钥,其中私钥d是从[1到n-1]的随机数,并通过将d乘以G, dG获得公钥Q。

假设Alice的私钥和公钥是dA和QA = dAG,Bob的私钥和公钥分别是dB和QB = dBG。

 

2. Alice和Bob在不安全的频道上互相分享他们的公钥QA和QB,而该信道正在被Eva窃听。Eve可以拦截QA和QB,但她无法确定私钥。

 

3. Alice使用自己的私钥QBdA计算共享密钥,Bob则使用QAdB计算共享密钥。请注意,共享密钥是相同的。

 

S = QBdA = (dBG)dA = (dAQ)dB = QAdB

 

4. 现在,Alice和Bob可使用该共享密钥保护其通信,或使用该共享密钥生成另一个密钥。而Eve则无法计算该密钥,因为她仅仅知道QA和QB。

 

以上示例假设Alice和Bob都使用相同的域参数。在LE Secure(低功耗安全)连接的情况下,两台设备默认遵循FIPS标准的P-256 ECDH机制。

 

一旦两台BLE设备成功生成共享密钥,它们就会生成长期密钥(LTK)和MAC(介质访问控制)密钥。MAC密钥用于确认生成的密钥是否正确。成功确认后,两台设备都将使用LTK对链路进行加密。请注意,该LTK永远不会通过无线共享,因此被动窃听者将无法计算LTK,窃听者也将无法拦截两台设备之间交换的信息。

 

虽然ECDH提供的安全性保护可防止被动窃听,但却并不能阻止设备免受MITM攻击。为防止MITM攻击,基于设备的I / O功能,BLE使用身份验证作为配对过程第2阶段的一部分。

 

 


关键字:BLE  物联网

编辑:muyan 引用地址:http://www.eeworld.com.cn/IoT/2019/ic-news03015022.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:Commvault:2019年中国数据保护市场的关键词
下一篇:最后一页

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

RFID,BLE技术助养蜂人进行数据管理

集微网消息(文/科技瞄)近日,美国和加拿大的养蜂人正在试验蒙特利尔的Nectar的无线技术,可以捕获每小时的传感器读数和关于其蜂巢健康的相关性分析,用以防止蜜蜂群落丢失。养蜂人在管理蜂巢的环境时面临着后勤和时间方面的挑战。这些公司往往会在粗糙、偏远的很多个院子里堆放不计其数的蜂巢,为了近乎实时地跟踪每个蜂巢里蜜蜂的状态,技术公司Nectar利用NFC RFID,蓝牙和蜂窝技术设计了一个系统的解决方案。据了解,该方案系统包括两个Beecons传感器,NFC标签和读卡器,蓝牙适配器,移动网关和云软件。传感器通过跟踪温度和湿度水平,每个蜂巢可以识别蜂巢是否变得太冷,没有蜂后或水积聚,并使用麦克风跟踪声音,识别潜在问题,并确定蜜蜂是否已经开
发表于 2019-01-10
RFID,BLE技术助养蜂人进行数据管理

stm32中关于NVIC_SetVectorTable函数使用的疑惑与理解

先描述下这几天碰到的一个奇怪的问题:一个基于stm32的工程中使用到了IAP编程,其中boot空间预留长度为0x6100,实际boot的bin文件大小为21.1KB,具体为21633Byte.我在最开始调试时对于IAP编程的app程序直接下载到单片机中,程序工作一切正常,但是在通过boot将app更新到单片机中后程序可以进入到app中,但是程序工作不正常。最后经过查找原因,最后在代码注释中找到了问题所在:途中划红线的部分可以看出,NVIC_SetVectorTable函数参数中的Offset必须是0x200的倍数,但是~但是我刚刚说的那个IAP中的boot空间大小为0x6100,这个值并不是0x200的整数倍,这也就是问题所在
发表于 2019-01-07
stm32中关于NVIC_SetVectorTable函数使用的疑惑与理解

贸泽开售Cypress Semiconductor EZ-BLE和EZ-BT WICED蓝牙模块

半导体与电子元器件授权分销商贸泽电子 (Mouser Electronics) 即日起开始分销Cypress Semiconductor的EZ-BLE™和EZ-BT™ WICED®模块。这两款模块分别是完全集成的蓝牙®智能就绪EZ-BT和蓝牙低功耗EZ-BLE嵌入式设备无线互联网连接 (WICED) 模块,可简化物联网 (IoT) 设备、家居自动化、医疗设备以及工业应用的设计与开发。         贸泽备货的Cypress EZ-BLE和EZ-BT WICED模块具有板载晶振、闪存、无源元件,以及支持32位Arm® Cortex®-M3处理器的
发表于 2018-11-23
贸泽开售Cypress Semiconductor EZ-BLE和EZ-BT WICED蓝牙模块

Project Treble没有效果,数据显示Android碎片化依旧很严重

集微网消息,众所周知,谷歌的Android操作系统在用户体验上之所以比不上苹果的iOS操作系统是因为碎片化问题,导致开发者应用优化不及iOS,最终导致了消费者在两个操作系统之间巨大的体验差异,为了应对这一问题,谷歌推出了Project Treble。所谓的Project Treble,按照谷歌的设定就是重构Android OS 的framework,让Android设备制造商能够更快,更容易,更低成本的去升级Android 版本,一句话就是方便手机厂商以更快的速度升级Android操作系统。        理想很丰满,现实很骨感,由于Project Treble在Android Oreo时期
发表于 2018-10-30
Project Treble没有效果,数据显示Android碎片化依旧很严重

openocd 命令行烧写ARM裸机程序 problems and solutions

摘要:  以前是用RVDS 的IDE来烧写调试ARM程序的,不过RVDS虽然是集成化的调试工具调试起来方便,但是有的时候只知其一,不知其二,只知道按部就班的来点击按钮,忽略了一些本质性的东西。而且RVDS还有一个不好的地方是它只能在windows平台下运行,不支持Linux OS。为了便于学习Linux,使用Openocd会是个不错的选择,可以学习gnu 汇编,Makefile编写,工具链命令行使用。   如果这些命令搞熟悉了,你还可以利用Qt 来做个自己的图形化界面烧写调试工具。(不过这只是个壳子而已,精髓在于openocd ,所以如果有时间你还可以分析一下Openocd的源码,因为它是开源的,开源
发表于 2018-10-12
openocd 命令行烧写ARM裸机程序 problems and solutions

Music:Not Impossible,失聪人士体验现场音乐的全新方式

前段时间,许多失聪人士体验到了一种尽享现场音乐的全新方式,让“不可能”成为了“可能”。在安富利和Not Impossible Labs的首次产品合作中,运用Vibrotextile™技术的可穿戴设备“Music:Not Impossible”实现了这个“包容性”的时刻。 在一场面向受邀者的活动中,音乐会观众身穿轻质背心,并佩戴手环及脚环,这些设备可以通过皮肤表面的音乐振动创造出了身临其境的感官体验。这种先进的振动技术使“Music:Not Impossible”产品能够营造一种具有包容性且更强大的现场音乐体验,失聪人士和听力正常的观众在音乐会上共享了一场史无前例的音乐体验。 这项新技术在拉斯维加斯的“Life
发表于 2018-10-11

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved