精华内容
下载资源
问答
  •  蓝牙配对过程,其实就是一个认证的过程。  为什么不配对便无法建立连接?  任何无线通信技术都存在被监听和破解的可能,蓝牙SIG为了保证蓝牙通信的安全性,采用认证的方式进行数据交互。同时为了保证使用的...
  • 主要介绍了Android 取消蓝牙配对框实现自动配对功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  •  蓝牙配对过程,其实就是一个的过程。  为什么不配对便无法建立连接?  任何无线通信技术都存在被监听和破解的可能,蓝牙SIG为了保证蓝牙通信的安全性,采用的方式进行数据交互。同时为了保证使用的方便性,以...
  • DeviceListPreferenceFragment是蓝牙扫描到的设备列表,点击其中一个蓝牙设备,调用onPreferenceTreeClick方法开始蓝牙配对过程。 /packages/apps/Settings/src/...
  • HC-05蓝牙配对软件.rar

    2019-11-01 12:12:59
    HC05蓝牙配对软件,可以方便快捷的进行配对,免除人工配对的繁杂。
  • HC-05蓝牙配对助手.exe

    2021-07-30 09:48:29
    C#之HC-05蓝牙配置助手,请结合笔者对应博客学习使用。
  • android 8.1系统蓝牙连接,获取通讯录及通话记录、蓝牙电话等相关代码逻辑梳理
  • 蓝牙配对

    2020-11-26 15:12:01
    //所有获取到的蓝牙配对 void GetMatchRedio() { CString strVal(L""); m_vBluetoothInfo.clear(); for (int i = 0; i < m_BlueTooth.m_arrRemote.GetSize(); ++i) { //获取蓝牙信息 BLUETOOTH_DEVICE_...

     

    //所有获取到的蓝牙配对
    void GetMatchRedio()
    {
    	CString strVal(L"");
    	m_vBluetoothInfo.clear();
    	for (int i = 0; i < m_BlueTooth.m_arrRemote.GetSize(); ++i)
    	{
    		//获取蓝牙信息
    		BLUETOOTH_DEVICE_INFO bdi;
    		//获取蓝牙信息
    		if (!GetRemoteRadioInfo(i, bdi))
    		{
    			break;
    		}
    
    		BLUETOOTH_INFO BlueInfo;
    		BlueInfo.btAddr = bdi.Address.ullLong;
    		BlueInfo.strName = m_BlueTooth.m_arrRemote[i].sName;
    		BlueInfo.strAddr = m_BlueTooth.AddrToStr(bdi.Address.rgBytes);
    		m_vBluetoothInfo.push_back(BlueInfo);
    		strVal.Format(L"MAC:%s 设备名称:%s", m_BlueTooth.AddrToStr(bdi.Address.rgBytes), BlueInfo.strName);
    		SetTips(strVal);
    	}
    }
    
    //配对某个蓝牙
    BOOL MatchReadiByNO(int nNo)
    {
        BLUETOOTH_DEVICE_INFO bdi;
        //获取蓝牙信息
        if (!GetRemoteRadioInfo(nNo, bdi))
        {
            return FALSE;
        }
        if (!bdi.fAuthenticated) //未自动配对则密码配对
        {
            SetTips(L"正蓝牙密码配对。。。");
            t_RemoteBthDevInfo RemoteBthDevInfo;
            RemoteBthDevInfo.Address.ullLong = bdi.Address.ullLong;
            m_BlueTooth.EnumerateInstalledServices(RemoteBthDevInfo);
            DWORD nRes = 100;
            //配对密码1234
            if (nRes = BluetoothAuthenticateDevice(NULL, m_hLocalRadio, &bdi, L"1234", 4) != ERROR_SUCCESS)
            {
                SetTips(L"蓝牙密码配对失败。");
                return FALSE;;
            }
            bdi.fAuthenticated = TRUE;
            BluetoothUpdateDeviceRecord(&bdi);
        }
        return TRUE;
    }

     

    展开全文
  • NFC蓝牙配对方案

    热门讨论 2013-03-08 17:18:11
    TI的NCF自动配对蓝牙方案demo,介绍了NFC握手过程以及蓝牙配对过程
  • 蓝牙配对过程分析

    2020-08-23 14:40:48
    配对是指“Master和Slave通过协商确立用于加(解)密的key的过程。指的是下图中的第7部分。 2.配对方法 Master和Slave有两种可选的配对方法:legacy pairing和Secure Connections。从命名上看,前者是过去的方法,...

    1.概念

    配对是指“Master和Slave通过协商确立用于加(解)密的key的过程。指的是下图中的第7部分。
    蓝牙配对过程分析

    2.配对方法

    Master和Slave有两种可选的配对方法:legacy pairing和Secure Connections。从命名上看,前者是过去的方法,后者是新方法。选择的依据是:当Master和Slave都支持Secure Connections(新方法)的时候,则使用Secure Connections。否则,使用legacy pairing。

    3.配对过程

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

    3.1.Pairing Feature Exchange

    用于交换双方有关鉴权的需求(authentication requirements),以及双方具有怎么的人机交互能力(IO capabilities)。其中最重要的是IO capabilities exchange。
    蓝牙配对过程分析
    IO的能力可以归纳为如下的六种:
    NoInputNoOutput
    DisplayOnly
    NoInputNoOutput1
    DisplayYesNo
    KeyboardOnly
    KeyboardDisplay
    上述的IO能力决定了后续的鉴权方式。

    3.2.Public key exchange

    两个设备之间交换Public key。 一旦设备收到对端设备的公钥,它就可以开始计算Diffie Hellman密钥(DHKey)。耗时较多,应该尽早开始,以便用户交互可以隐藏计算时间。 在步骤8之前不需要DHKey。
    当 Public key的长度大于DM1包的长度时,要使用专门的PDU来进行数据发送。
    蓝牙配对过程分析

    3.3.Authentication

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

    3.3.1.OOB鉴权:

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

    3.3.2.MITM鉴权:

    (man-in-the-middle)authentication,由两者方法:
    Numeric Comparision方式鉴权:两个设备自行协商生成6个数字,并显示出来(要求两个设备具有显示能力),用户比较后进行确认(一致,或者不一致,要求设备有简单的yes or no的确认能力)。
    蓝牙配对过程分析
    Passkey Entry,通过输入配对码的方式鉴权。
    蓝牙配对过程分析

    3.3.3.Just Work:

    Just Work,不需要用户参与,两个设备自行协商。

    3.4.DHKey Checks

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

    当配对过程完成后,link key就可以从DHKey中计算得到,并用做后续交互过程的输入(KEY + 明文 => 加密数据),通过HCI_Link_Key_Notification来通知host。
    蓝牙配对过程分析

    经过上述过程后,双方已经产生了加密key,因而可以建立加密的连接。加密连接建立后,可以互相传送一些私密的信息,例如Encryption Information、Identity Information、Identity Address Information等。

    展开全文
  • 蓝牙配对协议分析一

    千次阅读 2020-05-20 10:46:06
    蓝牙配对协议分析一 蓝牙配对是整个蓝牙连接过程中必不可少的环节,配对的目的是通过各种方法创建共享的 链路密钥(Link Key),该密钥用于设备间连接时认证鉴权并加密相互交互的数据,使得蓝牙技术更具有安全行。...

    蓝牙配对协议分析一

    在这里插入图片描述

    蓝牙配对是整个蓝牙连接过程中必不可少的环节,配对的目的是通过各种方法创建共享的 链路密钥(Link Key),该密钥用于设备间连接时认证鉴权并加密相互交互的数据,使得蓝牙技术更具有安全行。密钥不但可以用于当前的连接中,还可以用于两个设备后续的重连过程中,但是鉴权过程中如果比较双方的Link Key不一致,则必须重新开始配对流程,从而创建新的链路密钥(Link Key)用于新的连接交互流程。

    链路密钥(Link Key)通过HCI命令HCI_Link_Key_Notification上报协议栈Host并保存,存储路径:/data/misc/bluedroid/bt_config.conf

    存储内容如下图:
    在这里插入图片描述
    Bluetooth Core Specification定义了两种标准配对流程:

    1. PIN码配对:蓝牙核心协议2.0及之前版本使用的配对流程。
    2. SSP安全简单配对:Secure Simple Pairing,蓝牙核心协议2.1及之后版本新增的一种配对流程,由于相较于PIN码配对具有更高的安全性、更方便的操作,从而现在市面上的蓝牙设备基本上都使用这种配对流程。

    两种配对流程的触发时机都是在鉴权过程中(Authentication Requested),向协议栈Host请求Link Key,Host回复没有该链路密钥,从而芯片开始配对流程。接下来简单介绍PIN码配对的流程,然后重点分析SSP安全简单配对。

    PIN码配对
    该种方式配对时需要输入4位十进制组成的数,配对双方输入的数字相同,则配对流程才能成功创建共享的链路密钥(Link Key)。

    其主要流程如下图:
    在这里插入图片描述

    SSP安全简单配对
    新增SSP安全简单配对的主要目的是简化用户的配对过程,次要目的是维护或提高蓝牙无线技术的安全性。由于在许多技术和产品中,高安全和易于使用的程度往往是相反的,因此从最终用户的角度来看,最终就是为了最大限度地提高安全性,同时尽量减少复杂性。

    安全简单配对流程有如下两个安全目标:

    1. 防止被动窃听
    2. 防止中间人(MITM)攻击

    SSP流程根据两个配对连接的蓝牙设备双方的I/O能力来确定采用如下哪种模型:
    1、Numeric Comparison:数字比较模型,配对连接的两个蓝牙设备都有屏幕显示一个六位数字,并且有提供用户输入“Yes”或者“No”的选项。

    显示的这6位数字的范围是:000000~999999,用户比较两个设备上显示的数字是否一致。连个设备上都确定Yes,配对才能成功,这样可以有效防止中间人(MITM)攻击。

    使用场景:手机、车机、个人电脑等带有屏幕可以显示六位数字且提供Yes/No选项的设备间进行配对。

    2、Passkey Entry:密码输入模型,配对连接的设备中其中一个设备具有输入能力,但不具有显示六位数字的能力,另一个设备具有输出显示六位数字的能力。只具有输入能力的设备正确输入另一个设备上显示的六位数字,配对才能成功,有效防止中间人(MITM)攻击。

    使用场景:手机和蓝牙键盘这样的组合,一个设备只具有输入能力,另一个设备具备输出显示能力。

    3、Just Works:工作模型,配对连接的设备中至少有一台设备没有能够显示六位数字的显示器,也没有能够输入六位数字的键盘。该模型使用类似Numeric Comparison数字比较,但不会向用户显示那六位数字,应用程序可以简单地要求用户接受连接即可。由于看不到配对过程,总是同意配对,所以无法防止中间人(MITM)攻击。

    使用场景:蓝牙耳机和其他设备配对,因为大部分蓝牙耳机没有显示也没有数字输入功能。

    4、Out Of Band:简称OOB,两个配对设备通过其他途径交换配对信息,比如带有NFC功能的蓝牙音箱等,但此种模型很少使用到,本篇不做过多讲解。

    以上四种模型就是安全简单配对SSP的模型了,每种模型都有自己的使用场景,根据配对连接设备的具体条件来决定采用哪种模型来让用户确定是否配对。详细了解可以参考蓝牙核心协议《Core_v5.2.pdf》的Vol 1 -> Part A -> 5.2.4 Association models部分。

    本篇蓝牙配对协议的分析就先到这儿,下篇继续分析SSP的完整流程。感兴趣的小伙伴欢迎私信留言一起讨论。

    更多互联互通技术,欢迎关注微信公众号:Connectivity
    在这里插入图片描述

    展开全文
  • 蓝牙配对方式

    千次阅读 2019-11-20 14:51:55
    4种蓝牙配对方式,通俗地说: 1.Numeric Comparison:配对双方都显示一个6位的数字,由用户来核对数字是否一致,一致即可配对。例如手机之间的配对。 2.Just Works:用于配对没有显示没有输入的设备,主动发起...

     

    4种蓝牙配对方式,通俗地说:


    1.Numeric Comparison:配对双方都显示一个6位的数字,由用户来核对数字是否一致,一致即可配对。例如手机之间的配对。

     

    2.Just Works:用于配对没有显示没有输入的设备,主动发起连接即可配对,用户看不到配对过程。例如连接蓝牙耳机。


    3. Passkey Entry:要求配对目标输入一个在本地设备上显示的6位数字,输入正确即可配对。例如连接蓝牙键盘。


    4.Out of Band:两设备的通过别的途径交换配对信息,例如NFC等。例如一些NFC蓝牙音箱。

    这四种配对模式,在Classic 和 LE中都有
    蓝牙连接需要安全加密,就涉及密钥的生成以及身份认证,通过配对完成这个过程中的交互。
    1. Classic中
    这四个配对方式就是SSP简单配对中四种模式
    蓝牙配对流程主要防止两种攻击,MITM(man-in-the-middle (MITM))中间人攻击以及passive eavesdropping被动监听攻击。
    这四种配对方式,除开JUSTWORK外,都可以防止这两种攻击。JUSTWORK由于不涉及人机交互,所以没法防止MITM的中间人攻击。
    (插一句,传统蓝牙的PIN CODE配对方式就是由于无法防止被动监听攻击(穷举PIN码)才衍生了这四种SSP简单配对方式。)

    2. BLE中
    LE配对分为4.0版本中的LE LEGACY配对方式以及在BLE4.2版本开始导入的BLE Secure Connection配对方式。
    前者LEGACY中,配对方式三种,JUSTWORK,PASSKEY ENTRY,以及OOB,JUSTWORK依然无法防止MITM,另外由于秘钥生成方式的缺陷,导致LE LEGACY配对方式无法防止被动监听攻击(OOB可以防止,因为用了非空中的传输交互)
    正因为此,BLE4.2版本把Secure connection也引入到了BLE中(为什么说也,是因为CLASSIC模式中也有SECURE CONNECTION方式...),BLE Secure connection和CLASSIC 的SSP采用同样的ECDH加密方式,所以安全性恢复到同样等级,可以防止被动监听攻击了。
    BLE SECURE CONNECTION配对又有了四种配对模式,JUSTWORK,PASSKEY ENTRY,NUMERIC COMP.,以及OOB,同样类同于SSP,JUSTWORK防止不了MITM。
    以上内容,去蓝牙SPEC4.2及其以后版本里头查阅,大概可以弄清楚。
    总之,用简单的话来说,配对目的就防止两种攻击,被动监听和MITM,防止MITM需要人机交互操作,所以所有的JUSTWORK都没法防止这种攻击。被动监听目前采用非对称加解密方式,即可破解,所以采用EDCH的SSP以及LE SECURE CONNECTION都能防止这种攻击。
     

    展开全文
  • 蓝牙配对不弹配对框Google Home’s speaker sounds pretty good, but the Home Mini is a little lacking. Now, you can pair any Home or Home Mini with a Bluetooth speaker for a better audio experience. ...
  • 蓝牙:BlueTooth,是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换,蓝牙又分为传统/标准蓝牙和BLE蓝牙。 在了解配对方式前,先了解设备的IOCapacity,IOCapcaity是由设备...
  • 蓝牙配对开始于settings设备列表 /packages/apps/Settings/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java中。 DeviceListPreferenceFragment是蓝牙扫描到的设备列表,点击其中一个蓝牙设备...
  • 蓝牙配对流程(一)

    2021-06-25 08:19:51
    一、扫描 被动扫描(主从之间没有扫描请求与扫描响应) 2.主动扫描(主从之间有扫描请求与扫描响应) 二、过滤 1、信息匹配(是否在白名单) 三、建立连接 1、建立连接 建立连接后的结果: ......
  • 一、蓝牙配对介绍 二、蓝牙配对过程 三、蓝牙配对方式展示 一、蓝牙配对介绍 蓝牙规范定义了两种标准配对过程,LMP配对(也称为基于PIN码)和SSP安全简易配对。 LMP(LinkManager Protocol)配对,又名PIN码配对...
  • 蓝牙配对过程分析(经典蓝牙)

    万次阅读 2018-03-21 10:24:13
    安全简易配对SSP(Secure simple pairing),蓝牙2.0之后配对方式,简易安全配对一共有四种,其中Out of Band很少使用到,具体如下: Numeric Comparison 配对双方都显示一个6位的数字,由用户来核对数字...
  • 讲解了打开蓝牙设备和搜索蓝牙设备,这篇文章来讲解蓝牙配对和蓝牙连接 1.蓝牙配对 搜索到蓝牙设备后,将设备信息填充到listview中,点击listiew则请求配对 蓝牙配对有点击配对和自动配对,点击配对就是我们...
  • 蓝牙配对上位机

    2018-08-15 11:22:46
    HID转串口小助手,实现蓝牙模块配对,简单快捷,方便使用
  • 来自:FreeBuf,作者:...从音频传输、图文传输、视频传输,再到以低功耗为主打的物联网传输,蓝牙耳机、蓝牙手环、车载蓝牙蓝牙设备无一不在影响人们的日常生活。不可否认的是,蓝牙技术带来的数据传输便捷性让...
  • 在列表中找到您需要配对的手机,在第二部手机中点击【配对】提示;选择您需要发送的文件,选择蓝牙发送,然后接收即可。以下是详细介绍: 1、打开手机【设置】,点击该应用进入设置管理页面;在【设置】页面上,...
  • BLE蓝牙配对方式

    千次阅读 2020-05-29 14:24:52
    Capacity IOCapcaity是由设备InputCapacity和OutputCapacity组合而成,表示的是设备的输入输出的能力,InputCapacity和OutputCapacity具体如下: ...Core_V5.0中蓝牙2308页讲述了BLE蓝牙配对方式,其中低功
  • 蓝牙配对协议分析二

    2020-05-21 13:54:47
    蓝牙配对协议分析二 本篇接着《蓝牙配对协议分析一》来继续分析下SSP安全简单配对的完整流程。 SSP流程总体上的消息序列图如下: 从上图可以明显看出整个过程大概分为11个步骤,有些步骤存在不同的可选项,接下来...
  • 因此通过蓝牙技术进行的配对就是大家理解中的蓝牙配对。随着蓝牙技术在消费市场上越来越普及,生活中很容易就能遇到蓝牙配对这一使用蓝牙功能是必不可缺失的步骤。本期我们就简单聊聊安卓系统蓝牙配对的流程是如何...
  • 前面两篇文章【Android】蓝牙开发——经典蓝牙(附完整Demo)和【Android】蓝牙开发——经典蓝牙配对介绍(通过手机系统蓝牙演示),分别介绍了经典蓝牙的开发流程以及通过手机系统蓝牙演示经典蓝牙的四种配对方式.....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,710
精华内容 5,884
关键字:

蓝牙配对