蓝牙模块配对机制基础知识

电子说

1.3w人已加入

描述

  蓝牙是当今应用最多的技术之一,采用蓝牙模块技术,我们可以实现数据的传输以及其它功能。为了统一规范,蓝牙在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等都是建立在其基础上的。

审核编辑 黄宇

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分