kangear注:
文章转自:http://blog.csdn.net/myxmu/article/details/12217135
原文把图给搞丢了。可是文章太好了,这个时候我就发挥多年的Google和人脉关系依据链接找到了,补上图(这个图是MTK内部用图)。

[DESCRIPTION]
 
在BT2.1及之后版本号,蓝牙协议有在传统的password配对(PIN Code Pairing)之外,新增一种简单配对(Simple Pairing)的方式。

这样的新的配对方式操作更为简单、安全性也更强。眼下市面上大部分蓝牙设备均已支持简单配对方式。

从用户角度上看。传统的PIN Code Pairing 须要两方蓝牙设备输入配对password(假设两方都有输入设备的话),而简单配对则仅仅须要两方确认屏幕上的6位随机数同样就可以(假设两方都有屏幕)。
以下对简单配对的协议及代码流程进行简单描写叙述。
 
 
[SOLUTION]
 

1、  在蓝牙规范中实用下图描写叙述简单配对过程

a)         上方第一行描写叙述了三种配对过程,分别为Bluetooth In Band, OOB Discovery only, OOB Discovery and Authentication。这里OOB是指Out
of Band。即非蓝牙的传输方式。如NFC。

b)         左边第一列从Device Discovery到Authentication 是配对的四个步骤,各自是搜索设备、建立物理连接、各自产生数据加密所需的Link
key、鉴权(即确认两方Link key正确)。

c)         Bluetooth In Band是手机最经常使用的蓝牙配对方式

i.              通过Inquiry (蓝牙术语,规范中有具体定义怎样通过Inquiry操作来找到周围设备)来搜索周围设备。

ii.              再通过Page(和Inquiry一样。也是专有术语)建立蓝牙物理连接(ACL
Link)

iii.              产生Link key的过程比較深入,这里暂不深入讨论,有兴趣可研究BLUETOOTH SPECIFICATION Version 4.0
– Volume 3 – Part H - Security Manager Specification

iv.              两方各自产生Link key后,可通过三种方式进行鉴权:Numeric
Compare (6位随机password比較)、Passkey Entry (一方显示数据,还有一方输入password)、Just Works (不鉴权,直接使用)。

d)         OOB Discovery only & OOB Discovery and Authentication 这两种方式是使用非蓝牙的传输方式来完毕Bluetooth In Band的部分步骤,如通过NFC来交换两方蓝牙地址和Link
key。以达到“不用配对”的用户体验。

2、  Mediatek Android的配对代码流程

下述代码流程基于ALPS.JB2.MP完毕,其它版本号大同小异,也能够參考。在这里仅将流程图贴出,如有想进一步了解的地方。可提交eService讨论,以便我们依据客户需求改进。

 

蓝牙简单配对(Simple Pairing)协议及代码流程简述的更多相关文章

  1. bluetooth(蓝牙) AVRCP协议概念及代码流程解析

    一 概念 AVRCP全称:The Audio/Video Remote Control Profile (AVRCP) 翻译成中文就是:音视频远程控制协议.概念:AVRCP定义了蓝牙设备之间的音视频传 ...

  2. 蓝牙接收苹果手机通知 ANCS协议分析

    蓝牙接收苹果手机通知 ANCS协议分析 转载,请注明出处:http://www.cnblogs.com/alexcai/p/4321514.html 综述 现在有许多蓝牙手表.手环都能接收苹果ipho ...

  3. Android蓝牙自动配对Demo,亲测好使!!!

    蓝牙自动配对,即搜索到其它蓝牙设备之后直接进行配对,不需要弹出配对确认框或者密钥输入框. 转载请注明出处http://blog.csdn.net/qq_25827845/article/details ...

  4. Android蓝牙自动配对Demo,亲测好使!!!(转)

    蓝牙自动配对,即搜索到其它蓝牙设备之后直接进行配对,不需要弹出配对确认框或者密钥输入框. 转载请注明出处http://blog.csdn.net/qq_25827845/article/details ...

  5. iOS开发系列--Objective-C之协议、代码块、分类

    概述 ObjC的语法主要基于smalltalk进行设计的,除了提供常规的面向对象特性外,还增加了很多其他特性,这一节将重点介绍ObjC中一些常用的语法特性.当然这些内容虽然和其他高级语言命名不一样,但 ...

  6. 《zw版·Halcon-delphi系列原创教程》简单的令人发指,只有10行代码的车牌识别脚本

    <zw版·Halcon-delphi系列原创教程>简单的令人发指,只有10行代码的车牌识别脚本 简单的令人发指,只有10行代码的车牌识别脚本      人脸识别.车牌识别是opencv当中 ...

  7. JNI_最简单的Java调用C/C++代码

    JNI_最简单的Java调用C/C++代码 JNI.是Java Native Interface的简称,中文是"Java本地调用".通过这种技术能够做到下面两点: Java程序中的 ...

  8. 基于Python使用SVM识别简单的字符验证码的完整代码开源分享

    关键字:Python,SVM,字符验证码,机器学习,验证码识别 1   概述 基于Python使用SVM识别简单的验证字符串的完整代码开源分享. 因为目前有了更厉害的新技术来解决这类问题了,但是本文作 ...

  9. ubuntu蓝牙音响配对成功但在声音设置中无法设置 解决

    ubuntu蓝牙音响配对成功但在声音设置中无法设置 解决 首先,连接蓝牙 但是,在声音设置中如下: 都没有发现设备??? 打开终端输入: ~$ pactl load-module module-blu ...

随机推荐

  1. 洛谷 P1054 等价表达式

    洛谷 P1054 等价表达式 题目描述 明明进了中学之后,学到了代数表达式.有一天,他碰到一个很麻烦的选择题.这个题目的题干中首先给出了一个代数表达式,然后列出了若干选项,每个选项也是一个代数表达式, ...

  2. SQLite-SQLiteDatabase 数据库实例练习

    今天趁着有时间,自己在网上找了相关的数据库操作代码,进行了一下练习,先上代码 main.xml文件 <RelativeLayout xmlns:android="http://sche ...

  3. Impala基础认知与安装

    一.Impala简介 Cloudera Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL.除了像Hive使用相同的统一存储平台,Impala也使用相 ...

  4. 《社交红利》读书总结--如何从微信微博QQ空间等社交网络带走海量用户、流量与收入

    <社交红利--如何从微信微博QQ空间等社交网络带走海量用户.流量与收入>--徐志斌 著 <社交红利>这本书2013年9月才上市,卖的非常火. 我最初是在公司内部的期刊上,看到有 ...

  5. 洛谷 P2430 严酷的训练

    P2430 严酷的训练 题目背景 Lj的朋友WKY是一名神奇的少年,在同龄人之中有着极高的地位... 题目描述 他的老师老王对他的程序水平赞叹不已,于是下决心培养这名小子. 老王的训练方式很奇怪,他会 ...

  6. CentOS 6 通过DVD快速建立本地YUM源

    一.将DVD光盘放入RedHat/CentOS6.X服务器/电脑光驱中 二.挂载DVD光驱到/mnt/cdrom # mkdir -p /mnt/cdrom # mount -t iso9660 /d ...

  7. LA 2191 - Potentiometers

    看题传送门 Fenwick树的应用~~~ #include <cstdio> #include <cstring> #include<algorithm> usin ...

  8. SaltStack快速部署及测试

    测试环境:CentOS6.6 X86_64 # cat /etc/hosts 192.168.199.61 Ansible 192.168.199.60 Nginx1 192.168.199.62 N ...

  9. VS无法访问IIS元数据库 您没有足够的特权访问计算机上的IIS网站

    进入windows\regedit.exe下的HKEY_CRRENT_USER\Software\Microsoft\Windows\CurrentVersion\Exploer\User Shell ...

  10. 基于深度学习的人脸识别系统系列(Caffe+OpenCV+Dlib)——【四】使用CUBLAS加速计算人脸向量的余弦距离

    前言 基于深度学习的人脸识别系统,一共用到了5个开源库:OpenCV(计算机视觉库).Caffe(深度学习库).Dlib(机器学习库).libfacedetection(人脸检测库).cudnn(gp ...