BLE-SMP详解

本文详细介绍了蓝牙低功耗(BLE)安全模型协议(SMP)的加密过程,包括基本概念、临时秘钥(TK)、短期秘钥(STK)、长期秘钥(LTK)的产生以及完整加密过程。内容涵盖了配对绑定的三个阶段,强调了密钥安全共享的重要性,并解释了Just Work和Passkey Entry两种不同方式下TK的生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、 基本概念

1.1 加密是要做什么?

加密认证的整个过程几乎都是围绕怎么将两个设备使用到的秘钥安全的共享,也就是当一方把密码告诉另一方时,始终要提防第三方也可能听得到这个密钥。

注意:数据包的报头和长度字段不会被加密的,这有个好处是,当接收到包时可以直接分析报头判断 SN 和 NESN 标志。
所以对于加密来说并不是加密数据有多难,而是把需要共享的密钥安全的送到正确的设备才是难点,这就引入了配对的复杂过程。

在 BLE的4.0中主要有5个密钥需要共享,这些密钥传输时一次比一次安全,有些密钥共享时并不是赤裸裸的直接传输特定密钥,而是传输计算相应密钥时使用到的参数。这5个密钥如下:

 临时密钥(Temporary Key:TK)
 短期密钥(Short Term Key:STK)
 长期秘钥(Long-Term Key:LTK)
 身份解析秘钥(Identity Resolving Key:IRK)
 连接签名解析秘钥(Connection Signature Resolving Key:CSRK)

1.2 加密配对绑定过程

这里先解释一下,什么是配对和绑定:

配对是找到并确定需要和自己通信的设备,也就是身份确定,接着是将安全密钥共享,而这一过程仅仅是由启动加密到得到短期秘钥(STK)为止(图中的 Phase1和 Phase2)

绑定就是将长期秘钥(LTK)、 身份解析秘钥(IRK)和连接签名解析秘钥(CSRK)这3个密钥中的某个或者组合进行交换(图中的Phase3)后,将交换的这些密钥存储到数据库中的过程。

这里先讲明白一个事情:配对绑定 (图中的Phase1、Phase2 和Phase3)只有在两个设备之间第一次进行配对绑定时才会发生,那么第二次和之后的连接呢?因为有在第一次配对绑定过程中有“绑定”过程,已经将第一次的密钥进行了存储,如果这个存储的数据库没有人为的清

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值