蓝牙配对机制基础知识

这篇具有很好参考价值的文章主要介绍了蓝牙配对机制基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 蓝牙配对机制

为了统一规范,蓝牙在2.1版本引入了安全简单的配对机制,从尔加强了蓝牙通讯安全方面性能。以下总结了蓝牙配对机制:

一、遗留配对(Lagacy pairing){密码配对(PIN Code Pairing)}
仅适用于蓝牙v2.0及之前版本。每个设备必须输入PIN码(Personal identification number),且只有双方输入的PIN码相同时才会配对成功。任何16字节的UTF-8字符串都可以用作PIN码。
缺点是:1:不是所有的蓝牙设备都能输入所有可能的PIN码。
2: 有限的输入蓝牙设备:蓝牙免提耳机(Bluetooth Hands-free headset),通常只有固定的PIN码“0000”or“1234”,它们只能被硬编码到设备中。
3:数字的输入蓝牙设备: 手机(Mobile phones),允许用户输入长度不超过16位的数字值。
4:个人电脑和智能手机(PCs & Smartphones),它们允许用户以PIN码的形式输入完整的UTF-8文本。但如果与能力较弱的设备配对,则用户必须了解其他设备上的输入限制;相对尔言对于有能力的设备,没有可用的机制来确定它应该如何限制用户可能使用的可用输入。
二、安全简易配对(Secure Simple Pairing,SSP)
蓝牙v2.1版本新规范的,尽管蓝牙v2.1以后设备只能使用遗留配对与v2.0或更早的设备进行互操作。后续蓝牙版本高于或等于2.1的蓝牙鼠标就可以使用安全简易配对。安全简单配对其实是使用一种形式的公钥密码学(public key cryptograph)。
SSP具有以下身份验证机制:
1:只工作(Just works):只是工作,不需要用户交互,设备可以提示用户确认配对过程。常用于IO有限的耳机,且比遗留配对的固定PIN码更安全,但这种方法不提供中间人(HITM)保护。
2:数字比较(Numeric comparison):如果两个设备都有显示屏,并且至少有一个设备能接受二进制的yes/no用户输入,那么它们可以使用数字比较。此方法在每个设备上显示6位数字代码。用户应该比较这些数字以确保它们是相同的,如果比较成功,用户应该在能够接受输入的设备上确认配对。这个方法提供了MITM保护,假设用户在两个设备上都确认并正确地执行比较。
3:密钥输入(Passkey entry):此方法可用于具有显示的设备和具有数字键盘输入的设备(如键盘)之间,或用于具有数字键盘输入的两个设备之间。在第一种情况下,显示器向用户显示一个6位数字代码,然后用户在键盘上输入代码。在第二种情况下,每个设备的用户输入相同的6位数。这两种情况都提供了MITM保护。
4:带外数据(Out of band,OOB):该方法使用外部通信手段,如近场通信(NFC)来交换配对过程中使用的一些信息。配对是使用蓝牙无线层完成的,但是需要来自OOB机制的信息。这只提供了OOB机制中存在的MITM保护级别。
优点:
SSP比较简单,原因如下:在大多数情况下,它不需要用户生成密钥。对于不需要MITM保护的用例,可以消除用户交互。对于数值比较,用户可以通过简单的等式比较来实现MITM保护。可以在设备接近时进行配对,而不需要很长的发现过程。

 名词解释:中间人攻击(Man-in-the-Middle Attack, MITM)是一种由来已久的网络入侵手段,并且当今仍然有着广泛的发展空间,如SMB会话劫持、DNS欺骗等攻击都是典型的MITM攻击。简而言之,所谓的MITM攻击就是通过拦截正常的网络通信数据,并进行数据篡改和嗅探,而通信的双方却毫不知情。

总结:随着无线通信网技术的不断发展,MITM攻击也越来越多样化。最初,MITM只要将网卡设为混杂模式,伪装成代理服务器监听特定的流量就可以实现,这是因为很多蓝牙通信协议都是以明文来进行传输的,如HTTP、FTP、Telnet等。后来,随着科技发展,简单的嗅探攻击已经不能轻易成功,必须先进行ARP欺骗才行。现在,越来越多的蓝牙无线传输(网上银行,邮箱登陆)开始采用加密通信,SSL(Secure Sockets Layer 安全套接层),HTTPS、FTPS等都是建立在其基础上的。蓝牙配对机制也会越来越完善!文章来源地址https://www.toymoban.com/news/detail-447863.html

到了这里,关于蓝牙配对机制基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HC05蓝牙模块配对步骤

    如果要使用HC05进行通信的话,配置蓝牙名称,配对密码,设置主从模式,设置波特率,然后退出AT模式,使用HC05连接另一个蓝牙设备即可,使用单片机向连接蓝牙的串口便可以收发数据了。 HC05蓝牙模块的AT模式设置的方法有以下三种: 一、默认设置 模块工作角色:从模式

    2024年02月15日
    浏览(50)
  • Android Bluetooth | 蓝牙配对源码分析

    好厚米们,我又来了! 这次分享的是 蓝牙设备执行配对动作时Android源码的执行流程。 下面先来说下, 应用层是如何发起蓝牙配对的: ( ps:大多数业务逻辑,都是扫描到可用设备后,点击可用设备 - 发起配对。) 这里我直接略过点击可用设备的步骤哈,扫描到第一个可用

    2024年02月06日
    浏览(54)
  • 蓝牙模块HC-05 AT指令使用以及两个蓝牙模块的配对

      蓝牙模块用的就 是某宝常见的蓝牙模块,首先要将蓝牙模块进入AT模式,按住蓝牙按键后再通电就会进入蓝牙的AT模式,进入AT模式后蓝牙led慢闪,然后就可以利用TTL或者J-Link与串口助手给模块发送AT指令了,AT指令有很多,这里我讲几个常用的就行。 初始波特率好像是384

    2024年02月03日
    浏览(75)
  • Windows原生蓝牙编程 第三章 配对后进行蓝牙通信【C++】

    蓝牙系列文章目录 第一章 获取本地蓝牙并扫描周围蓝牙信息并输出 第二章 选取设备输入配对码并配对 第三章 配对后进行蓝牙通信 接着第二章,我们已经配对完成,接下来就是通过winsock进行通信了。 我又加了个SOCKET全局变量来保存套接字和WSADATA wsaData用于初始化套接字库

    2024年02月08日
    浏览(45)
  • android 实现ble蓝牙自动配对连接

    蓝牙自动配对,即搜索到其它蓝牙设备之后直接进行配对,不需要弹出配对确认框或者密钥输入框。 本文章用来连接蓝牙设备ai-thinker,如果你要连接其他蓝牙设备,注意修改相关名字以及修改设备初试pin值。 将Demo安装在Android手机上,点击按钮,可以实现与目标蓝牙设备的

    2023年04月24日
    浏览(52)
  • 蓝牙BLE安全-SSP简单安全配对

    SSP的配对过程由于可以根据设备的IO能力选择不同的关联模型,因此十分灵活,其提供了四种方式:Numeric Comparison、Passkey Entry、Just Works以及Out of Band (OOB) 。这里关联方式的选择实质上对后面的流程是有一定影响的,如Just Works就不需要对Link Key进行验证。 Numeric Comparison : 数值

    2024年02月20日
    浏览(58)
  • Arduino UNO HC-05蓝牙配对教程

    1. 准备材料         Arduino1(主)、Arduino2(从)、蓝牙1(主)、蓝牙2(从)、杜邦线若干 2. 接线方式(主从一致) 1.主机配对 1. 新建一个空白工程,直接上传到Arduino。   2. 设置蓝牙进入AT指令模式,具体操作方法:按住蓝牙模块按钮,然后上电,直到蓝牙模块LED进入慢闪烁模式,

    2023年04月27日
    浏览(50)
  • 【STM32】基础知识 第五课 C 语言基础知识

    stdint.h 是从 C99 中引进的一个标准 C 库的文件. 路径: “D:MDK5.34ARMARMCCinclude” 运算符 含义 运算符 含义 按位与 ~ 按位取反 | 按位或 左移 ^ 按位异或 右移 按位与: num1 运算符 num2 结果 0 0 0 1 0 0 0 1 0 1 1 1 按位或: num1 运算符 num2 结果 0 | 0 0 1 | 0 1 0 | 1 1 1 | 1 1 按位异或: num1 运算符

    2024年02月13日
    浏览(74)
  • 数字电路基础知识系列(六)之LC滤波器的基础知识

    LC滤波器,是指将电感(L)与电容器 ©进行组合设计构成的滤波电路,可去除或通过特定频率的无源器件。电容器具有隔直流通交流,且交流频率越高越容易通过的特性。而电感则具有隔交流通直流,且交流频率越高越不易通过的特性。因此,电容器和电感是特性完全相反的被

    2024年02月03日
    浏览(89)
  • Unity | Shader基础知识(第九集:shader常用单词基础知识速成)

    目录 一、顶点(Vertex)和法线(Normal) 二、UV信息 三、 基础数据种类 1 基础数据种类 2 基础数据数组 3 基础数据数组的赋值 4 对数据数组的调用 四、 基础矩阵 1 基础矩阵种类  2 对矩阵数组的调用 2.1对一个数据的调用  2.2对多个数据的调用  2.3对数据的赋值 五、基础纹理种

    2024年02月01日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包