基于BLE安全攻击反制措施之浅析

周立功单片机 2018-07-09 15:59 次阅读

近年来出现了越来越多的低功耗蓝牙应用,即BLE(Bluetooth Low Energy),比如说智能手环、防丢器等,对蓝牙的安全要求也越来越高。这篇文章将深入浅出说明BLE4.0~4.2中的一些安全攻击反制措施,从而引出BLE中最主要的两个安全机制“加密”和“认证”。

1.  加密(Encryption)

两个设备正常通信,Device1往Device2发送123,Device2往Device1发送456,这种通信方式非常危险,因为在空中的数据包都是明文。窃听设备Device3很容易就能获取Device1和Device2的通信内容。

基于BLE安全攻击反制措施之浅析

图1

针对以上攻击,BLE4.0提供以下反制方法,Device1和Device2首先协商出一个密钥key,Device1将加密过后的数据Text1发送给Device2,Device2得到Text1之后根据之前协商的key解出Device1真正发送的内容123。第三方能够偷听到Text1和Text2,但是没有key就没办法解出Device1和Device2真正的通信内容。

基于BLE安全攻击反制措施之浅析

图2

从上图可以知道,链路是否安全取决于密钥key会不会被Device3获取到。对于BLE4.0来说,其实只要Device3窃听Device1和Device2协商密钥过程,就能够获取密钥key,所以这是BLE4.0的一个漏洞,只有保证协商密钥过程中不被别人窃听,才认为链路是安全的。

针对BLE4.0的漏洞,BLE4.2增加了基于椭圆曲线的DH密钥交换协议(ECDH),使用该交换协议目的就是在Device3窃听的情况下,仍然能够协商出Device3不知道的密钥key。在举例子前,我们需要了解以下知识:

对于椭圆曲线的离散对数数学难题可用如下简单的话描述:

k为正整数,p是椭圆曲线上的点(称为基点)。

Q = k * p

已知k和p,很容易推导出Q;已知Q和p,很难推导出k。

对于该数学难题这里不展开说明,只说明它们是如何和BLE关联起来的,这里的‘*’不是普通乘法符号,看成是一种特殊的运算法则即可。

基于BLE安全攻击反制措施之浅析

图3

经过ECDH之后,Device1和Device2就能得到共享密钥key,基于该共享密钥key可以衍生出LTK密钥,用于后续对称加密。至此,BLE的加密部分已到尾声,下一节将会从另一个攻击角度,引出BLE的另一个安全机制:认证。

2.  认证

Device1希望与Device2建立直接连接。但是,存在Device3屏蔽掉真实的信号,同时伪装成Device1和Device2,导致空间中实际存在两个连接,而不是一个连接,这样的攻击叫做中间人攻击。正常情况下, Device2和Device1建立连接之后会进行ECDH,形成第三方无法解密的安全链路,这一点我们在上一节提到过;但是在中间人攻击下,实际是Device3分别和Device1和Device2进行ECDH,所以对于Device3来说,Device1和Device2发送的数据都是没有秘密的。

基于BLE安全攻击反制措施之浅析

图4

为了防止中间人攻击,BLE在连接之后加入了“认证”机制,目的就是在设备Device3存在的情况下,Device1知道自己连接上的是Device2还是设备Device3。

正常认证过程如下:

第一步:Device1和Device2交换公钥;

第二步:Device1和Device2用蓝牙以外的交流方式达成共识,使用相同的配对码;

第三步:Device1生成随机数Nai,Device2生成随机数Nbi;

第四步:Device1将相关参数代入函数f得出Cai,发给Device2;

第五步:Device2将相关参数代入函数f得出Cbi,发给Device1;

第六步:Device1将Nai发给Device2;

第七步:Device2用刚刚收到的Nai校验第四步收到的Cai;

第八步:Device2校验Cai成功,将Nbi发给Device1;

第九步:Device1用刚刚收到的Nbi校验第五步收到的Cbi。

基于BLE安全攻击反制措施之浅析

图5

下图是中间人攻击下的认证过程,通过对比正常认证过程可以发现问题会出现在第五步。

为了让Device2第七步能够校验通过,Device3在第五步一定要发送给Device2恰当的Cai。

所以第五步似乎有两种方案:

将第四步收到的Cai,直接发给Device2。

因为pk1不等于pk2,所以第七步校验会出错。

私自捏造Cai发给Device2。

由于不知道Nai和passkey两个参数,所以无法确认Cai的值是多少。

也就是说,无论Device3怎么样做都没办法通过第七步校验,导致认证不通过。所以通过“认证”机制可以给连接提供中间人攻击保护。

基于BLE安全攻击反制措施之浅析

图6

为了方便理解上面用到的例子是经过简化的,有些地方会与标准协议有出入,但是原理是一样的。

ZLG52810P0-1-TC是基于nrf52810的无线透传模块,串口AT指令控制,使用简单方便。除了支持BLE的加密和认证安全机制外,还支持BLE4.2的LE Data Packet Length Extension与BLE5的2M PHY特性,大大提高了传输速率。

基于BLE安全攻击反制措施之浅析

热门推荐

原文标题:安全加密(二):BLE安全攻击反制措施

文章出处:【微信号:Zlgmcu7890,微信公众号:周立功单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

多协议设备会带来怎样的体验改变?IoT将如何发展?

这么多的无线协议,我们怎么去确保它们互联互通?未来IoT的发展又会是什么情况?

的头像 面包板社区 发表于 07-17 17:47 473次 阅读
多协议设备会带来怎样的体验改变?IoT将如何发展?

BLE蓝牙模块在医疗物联网的数据传输应用

常用的医疗物联网无线传输方法包括WiFi技术和蓝牙通信技术。从技术效果上看,WiFi拥有宽带高、传输....

的头像 无线模块 发表于 07-17 11:27 457次 阅读
BLE蓝牙模块在医疗物联网的数据传输应用

简化工业IoT设备通信 芯科科技推出新无线软件

Silicon Labs(亦称“芯科科技”)近期推出了全新的Wireless Gecko SoC软件....

的头像 SiliconLabs 发表于 07-17 08:57 475次 阅读
简化工业IoT设备通信 芯科科技推出新无线软件

蓝牙无线耳机怎么选?get一下挑选蓝牙无线耳机的正确姿势!

降噪技术减少环境噪音,降噪耳机并不能消除外界的干扰,但是它们可以让你享受音乐,而不需要提高音量来克服....

的头像 Qualcomm中国 发表于 07-16 15:54 170次 阅读
蓝牙无线耳机怎么选?get一下挑选蓝牙无线耳机的正确姿势!

Qualcomm旗下的蓝牙音频系统级芯片是什么?一款闪存可编程的无线耳机

今天,Qualcomm宣布推出一款闪存可编程的蓝牙音频系统级芯片(SoC)QCC3026,与前一代入....

的头像 Qualcomm中国 发表于 07-16 14:33 183次 阅读
Qualcomm旗下的蓝牙音频系统级芯片是什么?一款闪存可编程的无线耳机

智能控制是选WiFi模块好还是组合模块好?

在之前SKYLAB君有简单介绍过无线模块WiFi模块和WiFi+蓝牙二合一组合模块在智能家居中的控制....

的头像 无线模块 发表于 07-16 13:59 94次 阅读
智能控制是选WiFi模块好还是组合模块好?

一文教你用51单片机做蓝牙开关

首先是蓝牙APP, 易安卓编写的,说编写其实我只是修改了其中的一些内容,两张界面和代码截图,非常简单....

的头像 玩转单片机 发表于 07-16 08:38 552次 阅读
一文教你用51单片机做蓝牙开关

功耗更低的四种PCB板载天线蓝牙设计

一直以来,无论是智能手机,还是笔记本电脑,亦或是平板电脑,蓝牙都是智能设备的标配。随着移动互联网的发....

的头像 电子发烧友网工程师 发表于 07-15 09:49 112次 阅读
功耗更低的四种PCB板载天线蓝牙设计

几种低功耗蓝牙板载天线设计

一直以来,无论是智能手机、还是笔记本电脑、亦或是平板电脑,蓝牙都是智能设备的标配。

的头像 PCBworld 发表于 07-13 17:21 167次 阅读
几种低功耗蓝牙板载天线设计

如何实现智能控制,无线模块选型至关重要

无线通信技术高速发展的物联网时代,真正实现了人与物、物与物的信息交换和通讯,我们只需要在智能手机上安....

的头像 无线模块 发表于 07-12 16:31 381次 阅读
如何实现智能控制,无线模块选型至关重要

bTool工具应用程序免费下载

蓝牙cc2540专业分析工具,可以分析BLE问题。

发表于 07-12 10:54 21次 阅读
bTool工具应用程序免费下载

无线数据传输通讯技术的竞争与同行

手机连接至基地台、笔记本电脑连接至家中路由器或无线耳机连接至手机时,都会遇到覆盖范围问题。大部分的人....

发表于 07-11 14:41 66次 阅读
无线数据传输通讯技术的竞争与同行

蓝牙射频技术的详细介绍和蓝牙射频技术有什么重要性资料概述

蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术。能在包括移动电话、PDA、无线耳机、笔记....

发表于 07-11 08:00 47次 阅读
蓝牙射频技术的详细介绍和蓝牙射频技术有什么重要性资料概述

浅谈可穿戴技术与智能手环背后的那些事

智能手表、智能手环这些智能穿戴设备逐渐走入普通人的生活,健康监测功能是多数产品的一大卖点,除了计算走....

的头像 OFweek可穿戴设备网 发表于 07-10 17:02 453次 阅读
浅谈可穿戴技术与智能手环背后的那些事

蓝牙Mesh模块做智能照明方案的优势

蓝牙的低功耗特性让蓝牙在许多全新的领域中展现了其独特的价值,从消费电子到医疗电子,从智能家居到工业应....

的头像 无线模块 发表于 07-10 10:50 555次 阅读
蓝牙Mesh模块做智能照明方案的优势

Silicon Labs推出蓝牙和Zigbee动态多协议解决方案

支持多种协议时面临的其中一个挑战是,要求配备多个芯片或 SoC,每个协议一个。对于使用相同频带的协议....

的头像 SiliconLabs 发表于 07-10 09:09 770次 阅读
Silicon Labs推出蓝牙和Zigbee动态多协议解决方案

AP路由WiFi模块和USB口WiFi及串口蓝牙模块使用中出现的问题解答

文档详细介绍了AP路由WiFi模块、usb接口的WiFi模块,以及蓝牙透传模块在使用过程中会遇到的各....

发表于 07-10 08:00 42次 阅读
AP路由WiFi模块和USB口WiFi及串口蓝牙模块使用中出现的问题解答

如何选择老人智能穿戴产品?

老人智能穿戴产品是老人、家属、养老机构的链接,在老人生活照护方面起到至关重要的作用。如何选择老人智能....

的头像 电子发烧友网工程师 发表于 07-07 10:53 582次 阅读
如何选择老人智能穿戴产品?

「技术前沿」蓝牙将致力于推动哪些领域的连接?

随着蓝牙5.0标准、蓝牙Mesh技术的发布和广泛使用,越来越多的物联网连接应用开始倾向于使用功耗更低....

的头像 无线模块 发表于 07-06 13:58 637次 阅读
「技术前沿」蓝牙将致力于推动哪些领域的连接?

「经验分享」BLE低功耗蓝牙和传统蓝牙的五大区别

现在移动设备上使用的蓝牙大多是4.0,而蓝牙 4.0 有两个分支,经典 4.0 和 BLE4.0,经....

的头像 无线模块 发表于 07-05 14:26 248次 阅读
「经验分享」BLE低功耗蓝牙和传统蓝牙的五大区别

干货:关于蓝牙beacon的几个特征

蓝牙beacon 的即是蓝牙信标,或者说蓝牙基站,是建立在低功耗蓝牙协议基础上的一种广播协议,同时它....

的头像 GPS_WiFi_蓝牙模块知识 发表于 07-05 14:24 224次 阅读
干货:关于蓝牙beacon的几个特征

拆解Apple Watch的视频

Apple Watch采用蓝宝石屏幕,两个屏幕尺寸。支持电话,语音回短信,连接汽车,天气、航班信息,....

的头像 EE techvideo 发表于 07-05 03:27 781次 观看
拆解Apple Watch的视频

介绍STM32CubeMX和X_CubeBLE开发基于STM32低功耗蓝牙应用

STM32CubeMX和X_CubeBLE开发低功耗蓝牙应用

的头像 EE techvideo 发表于 07-03 04:21 231次 观看
介绍STM32CubeMX和X_CubeBLE开发基于STM32低功耗蓝牙应用

Nordic推出nRF Connect for Cloud低功耗蓝牙设计评估服务

提供基于云的低功耗蓝牙设计评估服务,以简化将Nordic产品集成到大型物联网系统的工作

的头像 Nordic半导体 发表于 06-29 15:19 336次 阅读
Nordic推出nRF Connect for Cloud低功耗蓝牙设计评估服务

博泰顺应市场潮流,推出了智能虚拟钥匙

基于T-BOX到TSP后台通讯方案,使用最新TLS1.2标准,支持 SSL 的双向认证,实现 T-B....

的头像 高工智能汽车 发表于 06-28 09:52 450次 阅读
博泰顺应市场潮流,推出了智能虚拟钥匙

Silicon Labs发布新版无线软件,同时支持蓝牙和Sub-GHz双协议

通过Silicon Labs新型Wireless Gecko硬件和软件解决方案,用户能够利用手机应用....

发表于 06-28 09:26 50次 阅读
Silicon Labs发布新版无线软件,同时支持蓝牙和Sub-GHz双协议

BP2876D+BP5926+BP8519C蓝牙球泡灯驱动方案

本文主要介绍了BP2876D+BP5926+BP8519C蓝牙球泡灯驱动方案.

发表于 06-28 08:00 97次 阅读
BP2876D+BP5926+BP8519C蓝牙球泡灯驱动方案

智能语音仅是开始,蓝牙必是新战场

专家表示:如果不掌握芯片技术,科技强国终究是镜花水月,企业也被跨国巨头扼住咽喉,“缺屏少芯”一直是领....

的头像 射频半导体 发表于 06-27 16:54 1363次 阅读
智能语音仅是开始,蓝牙必是新战场

【回顾往年CES】LG推出全新Lifeband Touch智能手环与心率测量耳机

LG电子在美国时间1月6日推出全新Lifeband Touch智能手环与心率测量耳机,想由此两款穿戴....

的头像 ces asia 2018 发表于 06-27 15:16 574次 阅读
【回顾往年CES】LG推出全新Lifeband Touch智能手环与心率测量耳机

WiFi模块种类三:蓝牙WiFi二合一多功能一体WiFi模块

前面两节介绍了单WiFi功能的单/双频WiFi模块,有时候由于应用设计需要有蓝牙功能,但是如果wif....

的头像 通信模块 发表于 06-27 13:51 923次 阅读
WiFi模块种类三:蓝牙WiFi二合一多功能一体WiFi模块

一个将Wi-Fi和蓝牙连接组合在单个器件中的无线模块

在设计电子产品项目或产品时,电子产品经常需要能够与其他设备进行通信。它们需要传输各种各样的数据,从天....

的头像 Duke 发表于 06-27 09:29 1279次 阅读
一个将Wi-Fi和蓝牙连接组合在单个器件中的无线模块

蓝牙模块基础知识

本文主要介绍了蓝牙模块基础知识.

发表于 06-27 08:00 100次 阅读
蓝牙模块基础知识

想改装一个车载蓝牙电话,请教高手怎么实现

发表于 06-26 11:12 296次 阅读
想改装一个车载蓝牙电话,请教高手怎么实现

一文解读蓝牙beacon在智能楼宇解决方案中的4大应用

基于蓝牙 beacon 的位置解决方案逐渐得到广泛的应用,越来越多的蓝牙 Beacon 和传感器在世....

发表于 06-26 08:00 43次 阅读
一文解读蓝牙beacon在智能楼宇解决方案中的4大应用

Nordic推出基于三星SDS的低功耗蓝牙智能门锁

SHP-DP930智能门锁采用Nordic的nRF52832 SoC为家庭或办公室提供安全稳定的低功....

的头像 人间烟火123 发表于 06-25 14:08 1238次 阅读
Nordic推出基于三星SDS的低功耗蓝牙智能门锁

低功耗蓝牙模块是如何作用于传感器的?

快速发展的物联网大环境及用户对智能家居系统的远程控制需求;模拟传感器和数据传感器的广泛应用,在产品设....

的头像 无线模块 发表于 06-22 10:36 340次 阅读
低功耗蓝牙模块是如何作用于传感器的?

润欣科技为客户产品提供物联网蓝牙方案

物联网无疑是目前最受关注的新兴领域,蓝牙技术则致力于在特定空间内使所有支持该技术的设备建立联系传输。

的头像 润欣科技Fortune 发表于 06-21 11:13 1077次 阅读
润欣科技为客户产品提供物联网蓝牙方案

蓝牙Beacon室内导航解决方案

蓝牙室内定位方案包括硬件部分(蓝牙beacon等)、软件部分、室内定位算法部分、工程部分等,本文档介....

发表于 06-21 08:00 74次 阅读
蓝牙Beacon室内导航解决方案

来看看蓝牙Beacon都有哪些功能和技术参数

物联网应用的高速落地,加快了市场对无线通信技术的需求,其中满足物联网应用低功耗需求的蓝牙技术应用极为....

的头像 无线模块 发表于 06-19 10:22 803次 阅读
来看看蓝牙Beacon都有哪些功能和技术参数

喜视手机二维码智慧云门禁系统概述

二维码门禁系统是为企业大厦、科技大楼、智能小区等场所提供的可靠的解决方案。该系统运用二维码、物联网等....

的头像 门禁读卡器 发表于 06-15 08:47 553次 阅读
喜视手机二维码智慧云门禁系统概述

可同时支持蓝牙和Sub-GHz IoT设备通信的无线软件

Silicon Labs(亦称“芯科科技”,NASDAQ:SLAB)日前发布了针对其Wireless....

的头像 益登科技 发表于 06-14 15:51 934次 阅读
可同时支持蓝牙和Sub-GHz IoT设备通信的无线软件

SKYLAB:蓝牙网关应用场景案例分析

为优化物联网各类设备的数据管理,满足日益增长的物联网智慧城市建设中无线通信技术的需求;SKYLAB在....

的头像 无线模块 发表于 06-14 11:04 791次 阅读
SKYLAB:蓝牙网关应用场景案例分析

如何系统掌握智能硬件开发的核心技术知识呢?

疯壳开源可编程蓝牙心率运动手环众筹项目正在火热进行中,支持者可获得100%开源的蓝牙心率运动手环硬件....

的头像 电子发烧友网 发表于 06-14 09:24 940次 阅读
如何系统掌握智能硬件开发的核心技术知识呢?

蓝牙设备有没有辐射?会不会影响健康?

随着移动互联网的发展,越来越多的电子产品应运而生,蓝牙作为成熟的短距离无线传输技术,可以有效地简化移....

发表于 06-13 14:51 420次 阅读
蓝牙设备有没有辐射?会不会影响健康?

DataLock安全加密便携存储设备,可通过蓝牙技术提供数据锁保护功能

该平台使智能手机和穿戴式装置能够通过Bluetooth Smart技术验证安全物联网产品、家庭自动化....

发表于 06-13 10:55 76次 阅读
DataLock安全加密便携存储设备,可通过蓝牙技术提供数据锁保护功能

蓝牙智能遥控器介绍

Nordic现已提供nRFready Smart Remote 3完整先进硬件和软件蓝牙智能参考设计....

发表于 06-13 09:55 158次 阅读
蓝牙智能遥控器介绍

小米手环3上手评测:延续小米高性价比的信念结晶

小米手环3延续了小米产品一贯的高性价比,定价169元,我们快科技在第一时间拿到了这款产品,一起来看一....

的头像 39度创意研究所 发表于 06-13 09:51 1731次 阅读
小米手环3上手评测:延续小米高性价比的信念结晶

智能手环真能监测睡眠吗?

戴上手环睡觉,第二天早上醒来,数据就会告诉你这一晚深睡眠的时间、浅睡眠的时间……这些监测数据靠谱吗?

的头像 OFweek可穿戴设备网 发表于 06-13 08:45 1104次 阅读
智能手环真能监测睡眠吗?

经验分享:如何选择适合的BLE蓝牙模块

物联网应用中,成功连接设备的过程,连接性的角色至关重要,选择范围也很广:如Wi-Fi、低功耗蓝牙(B....

的头像 无线模块 发表于 06-11 15:26 931次 阅读
经验分享:如何选择适合的BLE蓝牙模块

斐讯发布三款智能新品,深耕智能家居、家庭健康、运动健康三大领域

6月8日,仲夏之夜,2018斐讯夏季新品发布会绽放在三亚海棠湾。本次盛会以“智型致美,领潮未来”为主....

发表于 06-11 10:54 192次 阅读
斐讯发布三款智能新品,深耕智能家居、家庭健康、运动健康三大领域

斐讯推出一款智能运动手环W3,国内第一款采用半反半透屏的运动手环,定价999元

6月8日,斐讯在三亚举办“智型致美,领潮未来”新品发布会,推出了一款智能运动手环W3,定价999元,....

发表于 06-11 10:26 703次 阅读
斐讯推出一款智能运动手环W3,国内第一款采用半反半透屏的运动手环,定价999元

请问哪位大神知道比较好的蓝牙开发平台吗?求分享?

发表于 06-11 06:48 230次 阅读
请问哪位大神知道比较好的蓝牙开发平台吗?求分享?

BLE Execute Write Request Callback在哪里?请问我该如何知道合适数据已经全部传输完毕?

发表于 06-06 12:45 109次 阅读
BLE Execute Write Request Callback在哪里?请问我该如何知道合适数据已经全部传输完毕?

请问哪位大神有蓝牙4.0BLE UART串口的学习资料?求分享

发表于 06-06 06:16 117次 阅读
请问哪位大神有蓝牙4.0BLE UART串口的学习资料?求分享

请问有大神懂蓝牙的给介绍下蓝牙音响主板的几大模块及其电路图详细解读吗?

发表于 05-29 20:05 860次 阅读
请问有大神懂蓝牙的给介绍下蓝牙音响主板的几大模块及其电路图详细解读吗?

做一个基于stm32f407的低功耗蓝牙门禁设计,程序编译之后,就是不出来现象,请问是哪里出了问题?

发表于 05-24 20:23 438次 阅读
做一个基于stm32f407的低功耗蓝牙门禁设计,程序编译之后,就是不出来现象,请问是哪里出了问题?

请问STC89c52最小开发系统和BT08-B蓝牙模块相连,手机无法搜到蓝牙的信号,蓝牙模块上的指示灯也不亮是什么原因?

发表于 05-24 19:56 353次 阅读
请问STC89c52最小开发系统和BT08-B蓝牙模块相连,手机无法搜到蓝牙的信号,蓝牙模块上的指示灯也不亮是什么原因?

keil环境下,基于STM32F407单片机,通过手机蓝牙控制门禁的程序谁有?

发表于 05-17 23:38 711次 阅读
keil环境下,基于STM32F407单片机,通过手机蓝牙控制门禁的程序谁有?

【HC-02V1.1蓝牙串口模块试用体验】接线篇-邮票孔焊接杜邦线

发表于 05-14 15:51 493次 阅读
【HC-02V1.1蓝牙串口模块试用体验】接线篇-邮票孔焊接杜邦线

第一次画蓝牙PCB,用的8640,大神帮我看看指点指点,感谢!!

发表于 05-10 15:22 874次 阅读
第一次画蓝牙PCB,用的8640,大神帮我看看指点指点,感谢!!