在物联网应用中,如何确保 BLE 连接的安全
时间:2019-03-08 15:04来源:21Dianyuan
摘要:安全性是设计物联网(IoT)应用时面临的最大挑战之一。由于物联网设备通过无线方式进行通话,因此一切控制和状态信息以及私人用户数据都可能会暴露于风险之中。不安全的物联网设备可能会使人员生命和财产面临风险,而不是带来更便捷的生活。
安全性是设计物联网(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。
设备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计算共享密钥。请注意,共享密钥是相同的。
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阶段的一部分。
关于作者
Pushek Madaan现任职于赛普拉斯半导体印度公司,担任高级应用工程师。他主要使用C语言和汇编语言设计用于模拟和数字电路的嵌入式系统应用,同时使用C#开发GUI(图形用户界面)。
Sachin Gupta现任职于赛普拉斯半导体公司物联网业务部,担任资深产品营销工程师。他拥有德里洲际大学(Guru Gobind Singh Indraprastha University)电子与通信学士学位。Sachin在SoC应用开发和产品营销方面拥有9年的经验。
为保障物联网设备的安全性,需要进行以下三项部署:
对未经授权的设备隐藏设备身份的机制 - 身份保护对于保护用户免受破坏者跟踪其物理位置至关重要。如果没有足够的保护,物联网设备会使用户面临隐私泄露以及潜在的生命或财产威胁。这一情况类似于有人根据您的汽车注册编号对你进行跟踪。
防止被动窃听- 被动窃听是指收听两台设备之间私人通信的过程。被动窃听者静静地听取通信,但不会更改数据。
防范中间人攻击 - 中间人(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阶段的一部分。
关于作者
Pushek Madaan现任职于赛普拉斯半导体印度公司,担任高级应用工程师。他主要使用C语言和汇编语言设计用于模拟和数字电路的嵌入式系统应用,同时使用C#开发GUI(图形用户界面)。
Sachin Gupta现任职于赛普拉斯半导体公司物联网业务部,担任资深产品营销工程师。他拥有德里洲际大学(Guru Gobind Singh Indraprastha University)电子与通信学士学位。Sachin在SoC应用开发和产品营销方面拥有9年的经验。
免责声明:本文若是转载新闻稿,转载此文目的是在于传递更多的信息,版权归原作者所有。文章所用文字、图片、视频等素材如涉及作品版权问题,请联系本网编辑予以删除。
我要投稿
近期活动
- 安森美汽车&能源基础设施白皮书下载活动时间:2024年04月01日 - 2024年10月31日[立即参与]
- 2023年安森美(onsemi)在线答题活动时间:2023年09月01日 - 2023年09月30日[查看回顾]
- 2023年安森美(onsemi)在线答题活动时间:2023年08月01日 - 2023年08月31日[查看回顾]
- 【在线答题活动】PI 智能家居热门产品,带您领略科技智慧家庭时间:2023年06月15日 - 2023年07月15日[查看回顾]
- 2023年安森美(onsemi)在线答题活动时间:2023年06月01日 - 2023年06月30日[查看回顾]
分类排行榜
- 汽车电子电源行业可靠性要求,你了解多少?
- 内置可编程模拟功能的新型 Renesas Synergy™ 低功耗 S1JA 微控制器
- Vishay 推出高集成度且符合 IrDA® 标准的红外收发器模块
- ROHM 发布全新车载升降压电源芯片组
- 艾迈斯半导体推出行业超薄的接近/颜色传感器模块,助力实现无边框智能手机设计
- 艾迈斯半导体与 Qualcomm Technologies 集中工程优势开发适用于手机 3D 应用的主动式立体视觉解决方案
- 维谛技术(Vertiv)同时亮相南北两大高端峰会,精彩亮点不容错过
- 缤特力推出全新商务系列耳机 助力解决开放式办公的噪音难题
- CISSOID 和泰科天润(GPT)达成战略合作协议,携手推动碳化硅功率器件的广泛应用
- 瑞萨电子推出 R-Car E3 SoC,为汽车大显示屏仪表盘带来高端3D 图形处理性能
编辑推荐
小型化和稳定性如何兼得?ROHM 推出超小型高输出线性 LED 驱动器 IC,为插座型 LED 驱动 IC 装上一颗强有力的 “心脏”
众所周知,LED的驱动IC担负着在输入电压不稳定的情况下,为LED提供恒定的电流,并控制恒定(可调)亮度的作用。无论是室内照明,还是车载应用,都肩负着极为重要的使命。
- 关于反激电源效率的一个疑问
时间:2022-07-12 浏览量:10228
- 面对热拔插阐述的瞬间大电流怎么解决
时间:2022-07-11 浏览量:8983
- PFC电路对N线进行电压采样的目的是什么
时间:2022-07-08 浏览量:9632
- RCD中的C对反激稳定性有何影响
时间:2022-07-07 浏览量:7232
- 36W单反激 传导7~10M 热机5分钟后超标 不知道哪里出了问题
时间:2022-07-07 浏览量:6004
- PFC电感计算
时间:2022-07-06 浏览量:4210
- 多相同步BUCK
时间:2010-10-03 浏览量:37880
- 大家来讨论 系列之二:开机浪涌电流究竟多大?
时间:2016-01-12 浏览量:43181
- 目前世界超NB的65W适配器
时间:2016-09-28 浏览量:60040
- 精讲双管正激电源
时间:2016-11-25 浏览量:128183
- 利用ANSYS Maxwell深入探究软磁体之----电感变压器
时间:2016-09-20 浏览量:107581
- 【文原创】认真的写了一篇基于SG3525的推挽,附有详细..
时间:2015-08-27 浏览量:100338