BLE配对绑定总结---总结来自低功耗蓝牙协议总结

一.配对绑定的简介

配对是找到并确定需要和自己通信的设备,也就是身份确定,而这一过程仅仅是由启动加密到得到短期秘钥(STK)为止; 而绑定是将长期秘钥(LTK)、 身份解析秘钥(IRK)和连接签名解析秘钥(CSRK)这 3 个密钥中的某个或者组合进行交换后,将交换的这些密钥存储到数据库中的过程。配对绑定过程只会发生在两个设备之间第一次连接,因为在第一次配对绑定过程中已经进行了密钥存储,如果这个存储的数据库没有人为的清空,那么之后的连接就不会再出现配对过程

二.配对绑定过程

1、配对特征交换得到临时密钥TK
2、身份确认以及短期密钥STK的产生
3、传输特定密钥

PS:第一、第二阶段为配对过程。第三阶段时绑定过程,此阶段传输的数据是通过第一、二阶段的短期密钥进行加密传输的

配对特征交换:

配对特征交换的是输入输出(IO)功能、认证需求(需不需要绑定以及防止MITM )、密钥大小(固定为128bit)。在BLE4.0协议中根据保护程度,协议中将安全分为3种特性:

  • Authenticated MITM protection: 可靠中间人保护
  • Unauthenticated no MITM protection: 不可靠无中间人保护
  • No security requirements: 无安全需求

这里的中间人MITM的意思是第三方的蓝牙设备。可靠

  • 6
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于蓝牙配对模式的问题,我可以给你一些基本的解释和思路。 首先,蓝牙设备通常有两种配对模式:传统配对模式和简单配对模式。传统配对模式需要输入 PIN 码或者确认码进行配对,而简单配对模式则不需要输入任何信息,只需要按下按钮或者触摸屏幕即可完成配对。 对于 Java BLE 开发,你可以使用 BLE API 来实现配对绑定。具体实现过程如下: 1. 获取蓝牙适配器 首先,你需要获取 BluetoothAdapter 对象。你可以使用 getSystemService() 方法来获取 BluetoothManager 对象,进而获取 BluetoothAdapter 对象。 ``` BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter(); ``` 2. 扫描设备 使用 BluetoothAdapter.startLeScan() 方法可以扫描附近的 BLE 设备。扫描到设备后,你可以将其添加到列表中。 ``` bluetoothAdapter.startLeScan(callback); ``` 3. 连接设备 当你选择一个设备时,你需要使用 connectGatt() 方法来连接设备。该方法会返回一个 BluetoothGatt 对象,你可以使用该对象来与设备进行通信。 ``` BluetoothDevice device = ...; BluetoothGatt gatt = device.connectGatt(this, false, gattCallback); ``` 4. 发现服务 连接成功后,你需要发现设备的服务。你可以使用 BluetoothGatt.discoverServices() 方法来发现服务。 ``` gatt.discoverServices(); ``` 5. 通信 连接成功并且服务发现成功后,你可以使用 BluetoothGattCharacteristic 来进行通信。你可以使用 BluetoothGatt.writeCharacteristic() 方法向设备写入数据,使用 BluetoothGatt.readCharacteristic() 方法读取设备的数据。 6. 断开连接 当你完成通信后,你需要使用 disconnect() 方法来断开连接。 ``` gatt.disconnect(); ``` 这是一个简单的 BLE 设备配对绑定的实现过程。当然,具体的实现过程可能会因为不同的设备而有所不同,你需要仔细阅读设备的文档和示例代码来完成开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值