蓝牙配对第二篇:密钥生成方法

本文作者:任凯       点击: 2016-07-08 10:50
前言:
作者:蓝牙亚太区技术项目经理 任凯
《蓝牙配对第一篇:配对特性交换》谈到了低功耗(Low Energy,简称LE)的蓝牙配对特性交换。配对特性交换让连接的发起设备和响应设备双方都能够获悉彼此的配对特性。
 
可启用的配对特性有:
• OOB(Out-of-Band)数据标志位
• MITM(Man-in-the-Middle)标志位
• SC—低功耗安全连接(LE Secure Connection)标志位
• IO Cap—IO功能
 
*请阅读蓝牙技术联盟微信公众号3月25日历史文章《蓝牙配对第一篇:配对特性交换》,了解以上特性。
 
完成特性交换之后,双方设备就可以选择下一阶段所用的密钥生成方法了。下方列表中是低功耗传统配对(Legacy Pairing) 和低功耗安全连接 (LE Secure Connection) 的密钥生成方法。
 
低功耗传统配对:
• 直接连接(Just Works)
• 万能钥匙(Passkey Entry)
• 带外数据(Out-of-Band,简称OOB)
 
低功耗安全连接,除了以上三种方法以外,还增添了一种新方法:
• 数值比较(Numeric Comparison)
 
操作流程(Workflow)
下面介绍一下选用设备的密钥生成操作流程:
 
第1步:查看配对特性交换框架中的安全连接位。如果双方的安全连接位都等于1,则采用低功耗安全连接,并进入第2步。否则采用低功耗传统配对,并进入第3步。
 
第2步:当选用低功耗安全连接时,发起设备和响应设备应遵循如下矩阵选择配对方法:

 

 

发起设备

 

 

OOB已设置

OOB未设置

MITM已设置

MITM未设置

响应设备

OOB已设置

使用OOB

使用OOB

 

 

OOB未设置

使用OOB

查看MITM

 

 

MITM已设置

 

 

使用IO功能

使用IO功能

MITM未设置

 

 

使用IO功能

采用直接连接

 
• “使用OOB”意为选择Out-of-Band
• “查看MITM”意为忽略“OOB”,查看MITM标识
• “使用IO功能”,进入第4步,根据双方设备的IO功能选择密钥生成方法
 
第3步:当选用低功耗传统配对(Legacy Pairing)时,发起设备和响应设备应遵循如下矩阵选择配对方法:
  

 

 

发起设备

 

 

OOB已设置

OOB未设置

MITM已设置

MITM未设置

响应设备

OOB已设置

使用OOB

查看MITM

 

 

OOB未设置

查看MITM

查看MITM

 

 

MITM已设置

 

 

使用IO功能

使用IO功能

MITM未设置

 

 

使用IO功能

采用直接连接

 
• “使用OOB”意为选择Out-of-Band
• “查看MITM”意为忽略“OOB”,查看MITM标识
• “使用IO功能”,进入第4步,根据双方设备的IO功能选择密钥生成方法
 
第4步:以下是IO功能和密钥生成方法的映射。根据下面这张图表,发起设备和响应设备双方就能根据他们的配对特性找到适合的连接方法。
 

 

发起设备

响应设备

仅有显示屏

显示是或否

仅有键盘

无输入

无输出

键盘和显示屏

仅有显示屏

直接连接

未经验证

直接连接

未经验证

密钥输入:响应设备显示,发起设备输入

通过验证

直接连接

未经验证

密钥输入:响应设备显示,发起设备输入

通过验证

显示是或否

直接连接

未经验证

直接连接(低功耗传统配对)

未经验证

密钥输入:响应设备显示,发起设备输入

通过验证

直接连接

未经验证

密钥输入(低功耗传统配对):响应设备显示,发起设备输入

通过验证

数值比较(低功耗安全连接)

通过验证

数值比较(低功耗安全连接)

通过验证

仅有键盘

密钥输入:发起设备显示,响应设备输入

通过验证

密钥输入:发起设备显示,响应设备输入

通过验证

密钥输入:发起设备和响应设备输入

通过验证

直接连接

未经验证

密钥输入:发起设备显示,响应设备输入

通过验证

无输入

无输出

直接连接

未经验证

直接连接

未经验证

直接连接

未经验证

直接连接

未经验证

直接连接

未经验证

键盘和显示屏

密钥输入:发起设备显示,响应设备输入

通过验证

密钥输入(低功耗传统配对):发起设备显示,响应设备输入

通过验证

密钥输入:响应设备显示,发起设备输入

通过验证

直接连接

未经验证

密钥输入(低功耗传统配对):发起设备显示,响应设备输入

通过验证

数值比较(低功耗安全连接)

通过验证

数值比较(低功耗安全连接)

通过验证

 
随后,发起设备和响应设备就能获悉密钥生成阶段将要应用的方法了。后续的第三篇文章将继续介绍如何通过使用密钥输入(Passkey Entry),在低功耗传统配对中生成匹配密钥。
 
关于Bluetooth®蓝牙无线技术
蓝牙是一项全球通用的无线标准,它为我们带来了简便、安全的连接。蓝牙技术联盟携手30,000家成员公司,构建了覆盖全球的蓝牙社区。蓝牙技术在我们身边广泛的互连设备之间建立了统一与和谐的无线连接,并有力地驱动了创新。借助集体的智慧和共享的技术标准,蓝牙为全球用户带来了更加简便、安全、充实的技术体验。更多详情,请访问
www.bluetooth.com
 
欲了解更多蓝牙技术联盟开发人员相关资讯,请访问www.developer.bluetooth.cn
 
欲了解有关蓝牙的更多详情,请关注蓝牙技术联盟官方LinkedIn 、新浪微博、微信(搜索蓝牙技术联盟)