0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

泰凌微电子经典蓝牙技术安全知识讲解

泰凌微电子 来源:泰凌微电子 2024-01-10 15:57 次阅读

由于个人生产设备的快速蔓延,使用蓝牙设备的频率和数量也在不断的增长,这对蓝牙通信安全性提出了更高的要求。随着蓝牙官方协议版本的迭代,经典蓝牙信息安全模型也在不段更新和完善。本文主要讲述经典蓝牙技术安全相关内容。

1

蓝牙安全模型

目前,蓝牙安全模型主要分为五个安全部分:

认证(Authentication):建立设备间的信任关系,证明正在通讯的设备是真正的设备而不是其他冒名的设备。

保密性(Confidentiality):对传输的数据加密,确保内容不被窃听者获取。

授权(Authorization):是否允许对端设备通过建立的链接操作本地的数据项。

数据完整性(Integrity):确认收到的数据就是对端发送的数据。

配对/绑定(Pairing/Bonding):创建一个或多个共享密钥并存储用于后续连接,以形成可信设备。

2

经典蓝牙安全机制

蓝牙核心安全架构随着时间的推移而发展,已经有多种安全机制。

早期BR/EDR使用legacy pairing方式进行配对,该方式基于E21或E22算法进行。E21和E22均基于E1算法。通信加密则利用了MasseyRueppel 算法衍生的e0算法。这种方式局限于无法提供加密消息的完整性。目前,出于加密安全的考虑,使用较多的是Secure Simple Pairing (SSP),其使用ECDH生成Link Key。且在4.0版本之前使用P-192 Elliptic Curve计算Link Key,设备认证和加密算法与2.0+EDR相同。4.1版本引入Secure connection功能,使用P-256 Elliptic Curve计算Link Key,通过AES-CCM进行加密。

SSP提供了四种关联模型:Numeric Comparison、Passkey Entry、Just Works以及Out of Band (OOB)。

Numeric Comparison:两个蓝牙设备显示6位数字,用户选择“是”或“否”,与使用PIN的区别是显示的数字不作为计算Link Key的条件,因此窃听者也不能用它生成连接或者密钥。

Passkey Entry:一个设备有输入能力另外一个有显示能力使用此模型,和Numeric Comparison一样,传输的6位数字不作为计算Link Key的条件,所以对窃听者也没有作用。

Just Works:没有输入和显示的设备适用此模型,与Numeric Comparison在认证阶段1相同,因为没有显示,不能对比两个设备上的数值就接受了连接,因此不能提供MITM保护。

Out of Band (OOB):通过有线或者NFC等其他方式进行设备的发现和加密数据的交换。

a72608e8-af8d-11ee-8b88-92fbcf53809c.png

SSP流程图

a737112e-af8d-11ee-8b88-92fbcf53809c.png

SSP生成Link Key流程

总共分为三步:

a748731a-af8d-11ee-8b88-92fbcf53809c.png

a7525696-af8d-11ee-8b88-92fbcf53809c.png

a76306f8-af8d-11ee-8b88-92fbcf53809c.png

每个设备各自计算自己的公-私密钥,双方都支持安全连接使用P-256 elliptic curves 否则 P-192 curves。

1:每个设备发送public key给对方。这里public key的依赖于椭圆加密算法,每次连接时随机生成。

2:执行authentication stage 1。

3:第一个设备计算出确认值E1并发送给设备2,设备2对E1 进行验证,验证通过后,设备二计算确认值E2并发给第一个设备。

4:如果E2检查通过,那么双方就进行Link Key的计算。

01

认证

蓝牙的认证过程使用challenge–response scheme(质询-响应)方式,这个方式通过验证Link Key的方式验证设备。

认证流程有2种:Legacy Authentication和Secure Authentication(双方都支持安全连接使用此流程)

如果认证失败,蓝牙设备会间隔一段时间后重试,间隔时间会成指数级增长,以避免攻击。

02

传统身份验证

当使用传统配对或者P-192进行SSP配对时使用此流程。

a774bb28-af8d-11ee-8b88-92fbcf53809c.png

Step 1:verifier发送128bit的随机数(AU_RAND)质询claimant。

Step 2:claimant使用 “E1 algorithm”,通过输入48bit的mac地址、Link Key、AU_RAND来计算认证响应。Verifier也执行相同的流程。E1输出的高32位用于身份验证。剩余的96位时ACO,用于创建加密密钥。

Step 3:E1输出的高32位,即the Signed Response (SRES),发送给Verifier。

Step 4:Verifier拿自己的SRES与claimant的SRES进行比较。

Step 5:如果相同则认证成功否则失败。

03

安全认证

使用P-256 Elliptic Curve进行SSP执行此流程。

a77e3392-af8d-11ee-8b88-92fbcf53809c.png

Step 1:Master发送128bit的随机数RAND_M给Slave

Step 2:Slave 发送RAND_S给Master

Step 3:Master和Slave都利用“h4 and h5 algorithms”计算认证响应。以Master的MAC地址,Slave的mac地址、RAND_S、RAND_M、Link Key作为输入。h5输出的高32位用于验证,其余96位作为Authenticated Ciphering Offset (ACO) 用于创建密钥。

Step 4:Slave把SRES_slave 传给master

Step 5:Master吧SRES_master传给Slave

Step 6:Master和Slave拿自己的SRES与对方的进行比较

Step 7:相同则认证成功,否则失败。

3

经典蓝牙的保密性

处理配对和认证之外蓝牙还有单独的保密服务,防止数据包被监听。

Encryption Mode 1 — 没有任何保加密

Encryption Mode 2—Individually addressed traffic is encrypted using encryption keys based on individual link keys; broadcast traffic is not encrypted.

Encryption Mode 3—All traffic is encrypted using an encryption key based on the master link key.

模式2和3使用E0或者AES_CCM加密机制。

AES_CCM是一种对称密钥加密算法,用于保护通信中传输的数据的机密性和完整性。它广泛应用于无线通信协议如蓝牙(Bluetooth)和Wi-Fi等中,为4.0版本之后新加入的加密机制。

AES_CCM是基于AES算法(Advanced Encryption Standard)和CCM模式(Counter with CBC-MAC mode)的组合设计。AES算法是一种分组密码算法,通过多轮置换和混淆的方式进行加密和解密。CCM模式则是一种加密模式,它使用计数器和CBC-MAC模式对数据进行加密和验证,同时提供了认证和传输机密性保护功能。

下图为蓝牙packet中AES_CCM与E0的加密范围和流程:

a78ecc5c-af8d-11ee-8b88-92fbcf53809c.png

需要注意的是,AES_CCM算法仅提供对数据的机密性和完整性保护,而无法提供绝对的安全性。如同时使用质询机制等其他安全措施可以增强安全性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙
    +关注

    关注

    112

    文章

    5428

    浏览量

    165652
  • 算法
    +关注

    关注

    23

    文章

    4455

    浏览量

    90756
  • 泰凌微
    +关注

    关注

    5

    文章

    124

    浏览量

    10650

原文标题:【技术专栏】泰凌微电子经典蓝牙技术安全知识讲解

文章出处:【微信号:telink-semi,微信公众号:泰凌微电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    电子入门知识百题讲解

    电子入门知识百题讲解电子基础很重要,如果你还是电子新手,你的一切迷惑将在这里揭晓!看完之后是否觉得茅舍顿开,那么恭
    发表于 11-30 17:14 1941次阅读

    研究生毕业继续送资料——超经典复旦大学微电子工艺教案

    `超经典复旦大学微电子工艺教案包含:离子注入、晶体生长、实验室净化与硅片清洗、 光刻、氧化、工艺集成、未来趋势与挑战等。错过便不再拥有研究生毕业继续送资料——超经典复旦大学微电子工艺教
    发表于 12-15 15:23

    电子技术基础知识测试题

    本帖最后由 病态节奏 于 2012-6-7 11:28 编辑   2012年5月22日-6月22日,赛微电子技术论坛推出“有奖知识竞答,参与即送金币”活动。本次活动旨在让广大电子技术爱好者在
    发表于 06-07 11:21

    微电子封装及微连接技术.pdf

    微电子封装及微连接技术.pdf
    发表于 08-19 08:30

    电子基础知识经典收藏

    ` 本帖最后由 gk320830 于 2015-3-5 17:53 编辑 电子基础知识经典收藏`
    发表于 08-20 22:51

    微电子封装技术

    论述了微电子封装技术的发展历程 发展现状及发展趋势 主要介绍了微电子封装技术中的芯片级互联技术微电子
    发表于 12-24 16:55

    关于目前上有哪些蓝牙模块的探讨

    模块主要分音箱和汽车电子传统音箱行业目前有芯中芯,博鹏发等比较大的厂家汽车电子则有慧翰,嘉实,闻强等老牌厂商。4.0蓝牙数传模块以信驰达,碧德这两家做的较早,还有一个后起之秀就是上海
    发表于 11-24 14:58

    经典SOC设计教程(中兴微电子研究所总工写的)

    经典SOC设计教程(中兴微电子研究所总工写的)
    发表于 09-27 09:55

    微电子技术

    微电子技术
    发表于 11-20 17:18

    灵动微电子MM32 MCU 2018Q3技术沟通培训会***站举行

    、经销、开发合作伙伴的近百位产品经理、FAE工程师参会。灵动微电子市场总监、技术专家,分别围绕MM32MCU产品的市场动态和产品技术等做了详细的讲解,会中介绍了MM32 MCU产品的最
    发表于 08-09 14:21

    灵动微电子MM32 MCU 2018Q3技术沟通培训会上海站举行

    知识。 为了便于灵动MM32 MCU的众多合作伙伴及时沟通交流MCU市场信息和产品技术知识。灵动微电子将在深圳市丽思卡尔顿酒店三楼宴会厅召开“2018灵动MM32 协作大会”,欢迎大家扫码报名参会
    发表于 08-24 15:47

    必备电子技术经典资料汇总

    封装结构特点及引脚方向识别图解芯片制作工艺流程经典教程: 深入浅出半导体制造技术工程师必备工具:电容电感参数查看软件电子元器件知识及术语资料集合 电路图:一周看懂电路图如何看懂电路图:
    发表于 01-23 17:33

    蓝牙模块基础知识讲解 精选资料分享

    随着蓝牙技术的不断更新发展,蓝牙的传输速率也在不断的提高,并且功耗也是越来越低,这也使得蓝牙的应用范围变得更加广泛。但是若是想自己设计一套完善的蓝牙
    发表于 07-27 06:20

    TB-02 Kit 开发板介绍 基于微TLSR8258国产BLE蓝牙芯片 精选资料分享

    。芯片性能开发板采用的主芯片TLSR是由微电子设计的一款低功耗蓝牙芯片,该芯片主要性能如下:32 Bit...
    发表于 07-29 06:20

    基于微电子平台实现OpenHarmony开发—综述

    ,其中包括微电子基于TLSR9系列芯片的B91通用开发套件(B91 Generic Starter Kit)。 该套件是一个可用于评估TLSR9系列芯片组的硬件平台,可用于开发BLE,BLE
    发表于 02-22 10:42