蓝牙配对方式

article/2025/10/8 11:20:51

 

4种蓝牙配对方式,通俗地说:


1.Numeric Comparison:配对双方都显示一个6位的数字,由用户来核对数字是否一致,一致即可配对。例如手机之间的配对。

 

2.Just Works:用于配对没有显示没有输入的设备,主动发起连接即可配对,用户看不到配对过程。例如连接蓝牙耳机。


3. Passkey Entry:要求配对目标输入一个在本地设备上显示的6位数字,输入正确即可配对。例如连接蓝牙键盘。


4.Out of Band:两设备的通过别的途径交换配对信息,例如NFC等。例如一些NFC蓝牙音箱。

这四种配对模式,在Classic 和 LE中都有
蓝牙连接需要安全加密,就涉及密钥的生成以及身份认证,通过配对完成这个过程中的交互。
1. Classic中
这四个配对方式就是SSP简单配对中四种模式
蓝牙配对流程主要防止两种攻击,MITM(man-in-the-middle (MITM))中间人攻击以及passive eavesdropping被动监听攻击。
这四种配对方式,除开JUSTWORK外,都可以防止这两种攻击。JUSTWORK由于不涉及人机交互,所以没法防止MITM的中间人攻击。
(插一句,传统蓝牙的PIN CODE配对方式就是由于无法防止被动监听攻击(穷举PIN码)才衍生了这四种SSP简单配对方式。)

2. BLE中
LE配对分为4.0版本中的LE LEGACY配对方式以及在BLE4.2版本开始导入的BLE Secure Connection配对方式。
前者LEGACY中,配对方式三种,JUSTWORK,PASSKEY ENTRY,以及OOB,JUSTWORK依然无法防止MITM,另外由于秘钥生成方式的缺陷,导致LE LEGACY配对方式无法防止被动监听攻击(OOB可以防止,因为用了非空中的传输交互)
正因为此,BLE4.2版本把Secure connection也引入到了BLE中(为什么说也,是因为CLASSIC模式中也有SECURE CONNECTION方式...),BLE Secure connection和CLASSIC 的SSP采用同样的ECDH加密方式,所以安全性恢复到同样等级,可以防止被动监听攻击了。
BLE SECURE CONNECTION配对又有了四种配对模式,JUSTWORK,PASSKEY ENTRY,NUMERIC COMP.,以及OOB,同样类同于SSP,JUSTWORK防止不了MITM。
以上内容,去蓝牙SPEC4.2及其以后版本里头查阅,大概可以弄清楚。
总之,用简单的话来说,配对目的就防止两种攻击,被动监听和MITM,防止MITM需要人机交互操作,所以所有的JUSTWORK都没法防止这种攻击。被动监听目前采用非对称加解密方式,即可破解,所以采用EDCH的SSP以及LE SECURE CONNECTION都能防止这种攻击。
 


http://chatgpt.dhexx.cn/article/mSl60yqC.shtml

相关文章

蓝牙的配对和连接的建立过程

蓝牙的建立过程是一个复杂的过程,即使有过相当一段工作和使用经验的人,如果不仔细去了解还是理解不全。 平时我们用蓝牙耳机听音乐,和不同的设备共享文件,打电话等,都有一个配对--连接--传输数据的过程。 配对&#…

蓝牙|标准蓝牙配对方式

蓝牙:BlueTooth,是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换,蓝牙又分为传统/标准蓝牙和BLE蓝牙。 在了解配对方式前,先了解设备的IOCapacity,IOCapcaity是由设备InputCapacity和OutputCapacity组合而成…

蓝牙学习八(配对与绑定)

1.简介 Paring(配对)和Bonding(绑定)是实现蓝牙射频通信安全的一种机制,有两点需要注意: Paring/bonding实现的是蓝牙链路层的安全,对应用层来说是完全透明的。也就是说,不管有没有…

蓝牙 - 配对和连接

什么是蓝牙配对? 蓝牙配对是为了连接设备的一种信息注册方法。通过在设备之间注册设备信息(配对),它们可以连接。要使用一个蓝牙设备,你必须首先将其与另一个蓝牙设备配对。配对有点像交换电话号码。类似于你必须与你…

Java 接口回调机制

日常开发中接口回调机制无处不在,刚开始用时却总是晕晕乎乎,网上也有很多相关的文章介绍,但总是没有看得太明白,今天端午假期正好花时间来总结一下,我们按如下顺序介绍 一、什么是接口回调 在应用开发中,接…

Android 接口回调

Android接口回调讲解 回调定义回调机制回调意义接口回调的实现步骤参考 网上看了一堆,感觉有点零散,我自己总结一下。 回调定义 正式定义 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一…

理解Java接口回调

初步认识: 实现步骤: 1、创建一个回调接口。 2、创建一个回调对象实现回调接口。 3、创建一个控制器对象,将回调对象作为参数传给控制器对象,控制器对象负责检查某个场景是否出现或某个条件是否满足,当满足时&#…

Android 自定义接口回调

1.定义一个简单的接口回调 下面是定义一个简单的接口,实现的功能是,设置名字爱好,并且返回给主 Activity。 1.1 自定义一个接口 定义一个名字为 setNameListener() 的接口类: /*** author: wu* date: on 2018/10/23.* describ…

接口回调(笔记

接口回调讲解 回调定义回调机制回调意义接口回调的实现步骤参考 网上看了一堆,感觉有点零散,我自己总结一下。看评论区说存在很多问题,我读了一下,雀氏存在一些,非常感谢批评指正,我重新写一写。&#xff0…

接口回调与方法回调

1.1 接口回调 简介: 笔者查阅了大量资料,接口回调没有定义,可以理解为是一种设计思想。 其本质是将实现接口的类通过向上转型至接口类型,通过传入不同的子类,实现调用相应的子类重写的父类接口方法。 详情见&#xff…

Java接口回调详解

一.产生接口回调的场景 在现实生活中,产生接口回调的场景很简单,比如我主动叫你帮我做一件事,然后你做完这件事之后会通知我,"通知我"这个动作就是接口回调的动作.接口回调重在理解思就好.再举个例子用于下面的代码演示,老师让学生做课堂练习,学生做完练习后并告诉老…

java 接口回调的例子_java接口回调

java的接口回调原理网上已经有很多生动形象的例子说明了,在此总结一下个人的理解:类A调用类B的方法b(),类B再回调类A的方法a(),其中方法a()是定义在接口中的,由类A来实现。这是一个双向调用的过程,用下面的类图来加以说明。 Callback.png 1. 创建一个接口: public inter…

巧妙理解接口回调

接口回调目的和用法解析 一、为什么会有接口回调?什么是接口回调? 其实这两个问题是一个问题,知道了接口回调的原理自然就知道了为什么会有这么个东西。我们知道java中接口是不可以直接创建实例的,那么问题来了,假如…

[Java]什么是接口回调?

什么是接口回调? 1.接口回调是什么[2]? 接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。实际上,当接口变量调用被类实现…

自定义动画animate

开发工具与关键技术:VS,MVC 作者:陈梅 撰写时间:2019年6月2 日 所有代码来源与老师教学 这次分享一个好玩的自定义动画效果,这次还是用jQuery做出来的小功能。这次我们先直接看最后已经布局好的效果。 把所想写的内容…

Android自定义动画专题一

Android自定义动画 在目前的移动端产品中,不管是app还是网页一个好看酷炫的页面总是会第一时间吸引人的眼球,那么对于android开发人员来说,要想实现一个好看的页面必然需要掌握自定义控件以及自定义动画这门技术。 1.Android原生动画 Androi…

百度地图添加自定义图标标注以及自定义动画效果

百度地图添加自定义图标标注以及自定义动画效果 1、添加自定义图标标注2、添加自定义动画效果2.1、标注对象marker的构成2.2、自定义动画效果实现过程2.3、最终实现效果 上次写的是添加自定义图标,但是用的是添加自定义覆盖物方法,结果不支持点聚合&…

Vue中如何进行自定义动画与动画效果设计

Vue中如何进行自定义动画与动画效果设计 在Vue中,动画效果是非常有用的,它可以使用户界面变得更加生动、有趣,从而提高用户体验。Vue提供了一套非常方便的动画系统,使得我们可以非常容易地实现动画效果。 在本文中,我…

Android 自定义动画(实现类似分享动画)

最近在开发app中,要实现点击进入分享动画页面,然后照着每个Item的功能,来实现各自的功能 效果图如下: 首选自定义动画Activity import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import andr…

UE4 创建自定义动画节点

创建自定义动画节点需要两个类: 一个是您在编辑器中看到的图表节点 一个是真正在运行时工作的行为节点 动画图表节点,派生自:UAnimGraphNode_Base 例如:class UAnimGraphNode_SequencePlayer : public UAnimGraphNode_Base 动画…