蓝牙配对过程分析

  

1。概念

  

配对是指“主人和奴隶通过协商确立用于加(解)密的关键的过程。指的是下图中的第7部分。
蓝牙配对过程分析

  

2。配对方法

  

主人和奴隶有两种可选的配对方法:遗留配对和安全连接。从命名上看,前者是过去的方法,后者是新方法。选择的依据是:当主人和奴隶都支持安全连接(新方法)的时候,则使用安全连接。否,则使用遗留配对。

  

3。配对过程

  

配对过程如图所示,主要由下面四部分完成:
蓝牙配对过程分析

  

3.1。配对功能交换

  

用于交换双方有关鉴权的需求(身份验证需求),以及双方具有怎么的人机交互能力(IO功能)。其中最重要的是IO能力交换。
蓝牙配对过程分析“> <br/> IO的能力可以归纳为如下的六种:<br/> NoInputNoOutput <br/> DisplayOnly <br/> NoInputNoOutput1 <br/> DisplayYesNo <br/> KeyboardOnly <br/> KeyboardDisplay <br/>上述的IO能力决定了后续的鉴权方式。</p>
  <h3> 3.2。公共密钥交换</h3>
  <p>两个设备之间交换公钥。一旦设备收到对端设备的公钥,它就可以开始计算Diffie赫尔曼密钥(DHKey)。耗时较多,应该尽早开始,以便用户交互可以隐藏计算时间。在步骤8之前不需要DHKey。<br/>当公钥的长度大于DM1包的长度时,要使用专门的PDU来进行数据发送。<br/> <img src=

  

3.3.Authentication

  

通过SMP协议进行实际的配对操作,根据阶段1”功能交换”的结果,有三种鉴权方法可选:

  

3.3.1.OOB鉴权:

  

如果双方都支持OOB鉴权,则选择该方式(优先级最高)。由配对的双方,在配对过程之外,额外的交互一些信息,并以这些信息为输入,进行后续的配对操作。这些额外信息也称作OOB(乐队),OOB的交互过程称为OOB协议。
蓝牙配对过程分析

  

3.3.2.MITM鉴权:

  

(中间人)认证,由两者方法:
<强>数值比较方式鉴权:两个设备自行协商生成6个数字,并显示出来(要求两个设备具有显示能力),用户比较后进行确认(一致,或者不一致,要求设备有简单的是或否的确认能力)。
蓝牙配对过程分析“> <br/> </强> <强>万能钥匙条目,通过输入配对码的方式鉴权。<br/> <img src=

  

3.3.3。只是工作:

  

就工作,不需要用户参与,两个设备自行协商。

  

3.4。DHKey检查

  

一旦设备完成鉴权过程,并且DHKey计算已完成,则检查生成的DHKey值。如果成功,则两个设备都将完成向用户显示关于该过程的信息,否则控制器向主机发送消息以通知其停止显示该信息。
蓝牙配对过程分析

  

当配对过程完成后,链接键就可以从DHKey中计算得到,并用做后续交互过程的输入(键+明文=比;加密数据),通过HCI_Link_Key_Notification来通知主机。
蓝牙配对过程分析

  

经过上述过程后,双方已经产生了加密钥匙,因而可以建立加密的连接。加密连接建立后,可以互相传送一些私密的信息,例如加密信息、身份信息、身份地址信息等。

蓝牙配对过程分析