A. 无线蓝牙音箱怎么设置密码
1、首先用手机搜索蓝牙的配对设备
2、找到蓝牙适配,当蓝牙音响打开电源开关(听到提示蓝牙音响已开启),
3、然后蓝牙指示灯呈现闪烁状态,表示蓝牙已经开启,并已经进入可搜索模式,只有这个时候才可被连接;
4、如果已和自己的蓝牙连接,即使蓝牙音响开机时,会立即连接你已连接过的蓝牙设备,不会连接别人的。
B. 蓝牙模块上面的芯片怎么编程
在线编程,模块的核心是蓝牙芯片,现在的蓝牙芯片很多都是Cortex-Mx的内核,是可以通过在线编程的形式来实现的,而且蓝牙芯片的程序量一般都比较小,就需要一个异步烧录的机器来支持,我知道目前ZLG致远电子的P800-ISP符合这种需求,如下图示。
C. 谁能详细的介绍一下蓝牙的各种协议和用途
蓝牙协议分为四个层次:物理层(Physical Layer)、逻辑层(Logical Layer)、L2CAP Layer和应用层(APP Layer)。
1、物理层
负责提供数据传输的物理通道(通常称为信道)。通常情况下,一个通信系统中存在几种不同类型的信道,如控制信道、数据信道、语音信道等等。
2、逻辑层
在物理层的基础上,提供两个或多个设备之间、和物理无关的逻辑传输通道(也称作逻辑链路)。
逻辑层的主要功能,是在已连接(LE Advertisement Broadcast可以看做一类特殊的连接)的蓝牙设备之间,基于物理链路,建立逻辑信道。
3、L2CAP层,L2CAP是逻辑链路控制和适配协议(Logical Link Control and Adaptation Protocol)的缩写,负责管理逻辑层提供的逻辑链路。
基于该协议,不同Application可共享同一个逻辑链路。类似TCP/IP中端口(port)的概念。
4、APP层
理解蓝牙协议中的应用层,基于L2CAP提供的channel,实现各种各样的应用功能。
Profile是蓝牙协议的特有概念,为了实现不同平台下的不同设备的互联互通,蓝牙协议规定了核心规范,也为不同的应用场景,定义了各种Application规范,这些应用层规范称作蓝牙profile。
D. 蓝牙的技术信息
主要文章:蓝牙协议栈和蓝牙协议
蓝牙被定义为协议层架构,包括核心协议、电缆替代协议、电话传送控制协议、选用协议。所有蓝牙堆栈的强制性协议包括:LMP、L2CAP和SDP。此外,与蓝牙通信的设备基本普遍都能使用HCI和 RFCOMM这些协议。
1 LMP:
链路管理协议(LMP)用于两个设备之间无线链路的建立和控制。应用于控制器上。
2 L2CAP
逻辑链路控制与适配协议(L2CAP)常用来建立两个使用不同高级协议的设备之间的多路逻辑连接传输。提供无线数据包的分割和重新组装。
在基本模式下,L2CAP能最大提供64kb的有效数据包,并且有672字节作为默认MTU(最大传输单元),以及最小48字节的指令传输单元。
在重复传输和流控制模式下,L2CAP可以通过执行重复传输和CRC校验(循环冗余校验)来检验每个通道数据是否正确或者是否同步。
蓝牙核心规格附录1 在核心规格中添加了两个附加的L2CAP模式。这些模式有效的否决了原始的重传和流控模式。 增强型重传模式(Enhanced Retransmission Mode,简称ERTM):该模式是原始重传模式的改进版,提供可靠的L2CAP 通道。 流模式(Streaming Mode,简称SM):这是一个非常简单的模式,没有重传或流控。该模式提供不可靠的L2CAP 通道。 其中任何一种模式的可靠性都是可选择的,并/或由底层蓝牙BDR/EDR空中接口通过配置重传数量和刷新超时而额外保障的。顺序排序是是由底层保障的。
只有ERTM 和 SM中配置的 L2CAP通道才有可能在AMP逻辑链路上运作。
3 SDP
服务发现协议(SDP)允许一个设备发现其他设备支持的服务,和与这些服务相关的参数。比如当用手机去连接蓝牙耳机(其中包含耳机的配置信息、设备状态信息,以及高级音频分类信息(A2DP)等等)。并且这些众多协议的切换需要被每个连接他们的设备设置。每个服务都会被全局独立性识别号(UUID)所识别。根据官方蓝牙配置文档给出了一个UUID的简短格式(16位)。
4 RFCOMM
射频通信(RFCOMM)常用于建立虚拟的串行数据流。RFCOMM提供了基于蓝牙带宽层的二进制数据转换和模拟EIA-232(即早前的的RS-232)串行控制信号,也就是说,它是串口仿真。
RFCOMM向用户提供了简单而且可靠的串行数据流。类似TCP。它可作为AT指令的载体直接用于许多电话相关的协议,以及通过蓝牙作为OBEX的传输层。
许多蓝牙应用都使用RFCOMM由于串行数据的广泛应用和大多数操作系统都提供了可用的API。所以使用串行接口通讯的程序可以很快的移植到RFCOMM上面。
5 BNEP
网络封装协议(BNEP)用于通过L2CAP传输另一协议栈的数据。主要目的是传输个人区域网络配置文件中的IP 封包。BNEP在无线局域网中的功能与SNAP类似。
6AVCTP
音频/视频控制传输协议(AVCTP)被远程控制协议用来通过L2CAP传输AV/C指令。立体声耳机上的音乐控制按钮可通过这一协议控制音乐播放器。
7 AVDTP
音视频分发传输协议(AVDTP)被高级音频分发协议用来通过L2CAP向立体声耳机传输音乐文件。适用于蓝牙传输中的视频分发协议。
8 TCS
电话控制协议–二进制(TCS BIN)是面向字节协议,为蓝牙设备之间的语音和数据通话的建立定义了呼叫控制信令。此外,TCS BIN 还为蓝牙TCS设备的的群组管理定义了移动管理规程。
TCS-BIN仅用于无绳电话协议,因此并未引起广泛关注。
9采用的协议
采用的协议是由其他标准制定组织定义、并包含在蓝牙协议栈中,仅在必要时才允许蓝牙对协议进行编码。采用的协议包括: 点对点协议(PPP):通过点对点链接传输IP数据报的互联网标准协议 TCP/IP/UDP:TCP/IP 协议组的基础协议 对象交换协议(OBEX):用于对象交换的会话层协议,为对象与操作表达提供模型 无线应用环境/无线应用协议(WAE/WAP):WAE明确了无线设备的应用框架,WAP是向移动用户提供电话和信息服务接入的开放标准。
根据不同的封包类型,每个封包可能受到纠错功能的保护,或许是1/3速率的前向纠错(FEC) ,或者是2/3速率。此外,出现CRC错误的封包将会被重发,直至被自动重传请求(ARQ)承认。 任何可发现模式下的蓝牙设备都可按需传输以下信息: 设备名称 设备类别 服务列表 技术信息(例如设备特性、制造商、所使用的蓝牙版本、时钟偏移等) 任何设备都可以对其他设备发出连接请求,任何设备也都可能添加可回应请求的配置。但如果试图发出连接请求的设备知道对方设备的地址,它就总会回应直接连接请求,且如果有必要会发送上述列表中的信息。设备服务的使用也许会要求配对或设备持有者的接受,但连接本身可由任何设备发起,持续至设备走出连接范围。有些设备在与一台设备建立连接之后,就无法再与其他设备同时建立连接,直至最初的连接断开,才能再被查询到。
每个设备都有一个唯一的48-位的地址。然而这些地址并不会显示于连接请求中。但是用户可自行为他的蓝牙设备命名(蓝牙设备名称),这一名称即可显示在其他设备的扫描结果和配对设备列表中。
多数手机都有蓝牙设备名称(Bluetooth name),通常默认为制造商名称和手机型号。多数手机和手提电脑都会只显示蓝牙设备名称,想要获得远程设备的更多信息则需要有特定的程序。当某一范围内有多个相同型号的手机(比如 Sony Ericsson T610)时,也许会让人分辨哪个才是它的目标设备。(详见Bluejacking) 1 动机
蓝牙所能提供多很多服务都可能显示个人数据或受控于相连的设备。出于安全上的考量,有必要识别特定的设备,以确保能够控制哪些设备能与蓝牙设备相连的。同时,蓝牙设备也有必要让蓝牙设备能够无需用户干预即可建立连接(比如在进入连接范围的同时).
未解决该矛盾,蓝牙可使用一种叫bonding(连接) 的过程。Bond是通过配对(paring)过程生成的。配对过程通过或被自用户的特定请求引发而生成bond(比如用户明确要求“添加蓝牙设备”),或是当连接到一个出于安全考量要求需要提供设备ID的服务时自动引发。这两种情况分别称为dedicated bonding和general bonding。
配对通常包括一定程度上的用户互动,已确认设备ID。成功完成配对后,两个设备之间会形成Bond,日后再再相连时则无需为了确认设备ID而重复配对过程。用户也可以按需移除连接关系。
2 实施
配对过程中,两个设备可通过一种创建一种称为链路字的共享密钥建立关系。如果两个设备都存有相同的链路字,他们就可以实现paring或bonding。一个只想与已经bonding的设备通信的设备可以使用密码验证对方设备的身份,以确保这是之前配对的设备。一旦链路字生成,两个设备间也许会加密一个认证的异步无连接(Asynchronous Connection-Less,简称ACL) 链路,以防止交换的数据被窃取。用户可删除任何一方设备上的链路字,即可移除两设备之间的bond,也就是说一个设备可能存有一个已经不在与其配对的设备的链路字。
蓝牙服务通常要求加密或认证,因此要求在允许设备远程连接之前先配对。一些服务,比如对象推送模式,选择不明确要求认证或加密,因此配对不会影响服务用例相关的用户体验。
3 配对机制
在蓝牙2.1版本推出安全简易配对(Secure Simple Pairing) 之后,配对机制有了很大的改变。以下是关于配对机制的简要总结: 旧有配对:这是蓝牙2.0版及其早前版本配对的唯一方法。每个设备必须输入PIN码;只有当两个设备都输入相同的PIN码方能配对成功。任何16-比特的 UTF-8字符串都能用作PIN码。然而并非所有的设备都能够输入所有可能的PIN码。 有限的输入设备: 显而易见的例子是蓝牙免提耳机,它几乎没有输入界面。这些设备通常有固定的PIN,如0000或1234,是设备硬编码的。 数字输入设备: 比如移动电话就是经典的这类设备。用户可输入长达16位的数值。 字母数字输入设备: 比如个人电脑和智能电话。用户可输入完整的UTF-8 字符作为PIN码。如果是与一个输入能力有限的设备配对,就必须考虑到对方设备的输入限制,并没有可行的机制能够让一个具有足够输入能力的设备去决定应该如何限制用户可能使用的输入。 安全简易配对(SSP):这是蓝牙2.1版本要求的,尽管蓝牙2.1版本的也许设备只能使用旧有配对方式和早前版本的设备互操作。 安全简易配对使用一种公钥密码学(public key cryptography),某些类型还能防御中间人(man in the middle,简称MITM)攻击。SSP 有以下特点: 即刻运行(Just works):正如其字面含义,这一方法可直接运行,无需用户互动。但是设备也许会提示用户确认配对过程。此方法的典型应用见于输入输出功能受限的耳机,且较固定PIN机制更为安全。此方法不提供中间人(MITM) 保护。 数值比较(Numeric comparison):如果两个设备都有显示屏,且至少一个能接受二进制的“是/否”用户输入,他们就能使用数值比较。此方法可在双方设备上显示6位数的数字代码,用户需比较并确认数字的一致性。如果比较成功,用户应在可接受输入的设备上确认配对。此方法可提供中间人(MITM) 保护,但需要用户在两个设备上都确认,并正确的完成比较。 万能钥匙进入(Passkey Entry):此方法可用于一个有显示屏的设备和一个有数字键盘输入的设备(如计算机键盘),或两个有数字键盘输入的设备。第一种情况下,显示屏上显示6位数字代码,用户可在另一设备的键盘上输入该代码。第二种情况下,两个设备需同时在键盘上输入相同的6位数字代码。两种方式都能提供中间人(MITM) 保护。 非蓝牙传输方式(OOB):此方法使用外部通信方式,如近场通信(NFC),交换在配对过程中使用的一些信息。配对通过蓝牙射频完成,但是还要求非蓝牙传输机制提供信息。这种方式仅提供OOB机制中所体现的MITM保护水平。 SSP被认为简单的原因如下: 多数情况下无需用户生成万能钥匙。 用于无需MITM保护和用户互动的用例。 用于数值比较,MITM 保护可通过用户简单的等式比较来获得。 使用NFC等OOB,当设备靠近时进行配对,而非需要一个漫长的发现过程。 4 安全性担忧
蓝牙2.1之前版本是不要求加密的,可随时关闭。而且,密钥的有效时限也仅有约23.5 小时。单一密钥的使用如超出此时限,则简单的XOR攻击有可能窃取密钥。 一些常规操作要求关闭加密,如果加密因合理的理由或安全考量而被关闭,就会给设备探测带来问题。 蓝牙2.1版本从一些几个方面进行了说明: 加密是所有非-SDP(服务发现协议)连接所必需的。 新的加密暂停和继续功能用于所有要求关闭加密的常规操作,更容易辨认是常规操作还是安全攻击。 加密必须在过期之前再刷新。 链路字可能储存于设备文件系统,而不是在蓝牙芯片本身。许多蓝牙芯片制造商将链路字储存于设备—然而,如果设备是可移动的,就意味着链路字也可能随设备移动。 另请参见:基于通信网络的移动安全和攻击
蓝牙拥有机密性、完整性和基于SAFER+分组密码的定制算法的密钥导出。蓝牙密钥生成通常基于蓝牙PIN,这是双方设备都必须输入的。如果一方设备(如耳机、或类似用户界面受限的设备)有固定PIN,这一过程也可能被修改。配对过程中,初始密钥或主密钥通过E22算法生成。 E0流密码也用于加密数据包、授权机密性,它是基于公共加密的、也就是之前生成的链路字或主密钥。这些密钥可用于对通过空中接口传输的数据进行后续加密,密钥有赖于双方或一方设备中输入的PIN。
Andreas Becher于2008年发表了蓝牙漏洞信息的利用概况。
2008年9月,美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)发布了蓝牙安全指南(Guide to Bluetooth Security),供相关机构参考。该指南描述了蓝牙的安全功能,以及如何有效的保护蓝牙技术。蓝牙技术有它的优势,但它易受拒绝服务攻击、窃听、中间人攻击、消息修改及资源滥用。用户和机构都必须评估自己所能接受的风险等级,并在蓝牙设备的生命周期中增添安全功能。为减轻损失,NIST文件中还包括安全检查列表,其内包含对蓝牙微微网、耳机和智能读卡器的创建和安全维护的指南和建议。
蓝牙2.1发布于2007年,相应的消费设备最早出现于2009年,为蓝牙安全(包括配对)带来了显着的改观。更多关于这一改变的信息,请参见“配对机制”部分。 主要文章:Bluejacking
Bluejacking是指用户通过蓝牙无线技术向对方不知情的用户发送图片或信息。常见的应用包括短信息,比如“你被Bluejack了”。Bluejacking不涉及设备上任何数据的删除或更改。Bluejacking可能涉及取得对移动设备的无线控制和拨打属于Bluejack发起者的付费电话。安全上的进展已经缓解了这一问题。 一、2001–2004
2001年,贝尔实验室的Jakobsson和Wetzel from发现并指出了蓝牙配对协议和加密方案的缺陷。2003年,A.L. Digital 公司的Ben和Adam Laurie发现蓝牙安全实施上的一些重要缺陷有可能导致个人信息的泄露。随后Trifinite Group的Martin Herfurt在德国汉诺威电脑展(CEBIT)的游乐场中进行了现场试验,向世界展示了这一问题的重要性。 一种称为BlueBug的新型攻击被用于此次实验。2004年,第一个生成通过蓝牙在移动电话间传播的病毒出现于塞班系统。卡巴斯基实验室最早发现了该病毒,并要求用户在病毒传播之前确认未知软件的安装。病毒是由一群自称“29A”的病毒开发者作为验证概念编写,并发送防病毒机构的。因此,它应被看作是对蓝牙技术或塞班系统的潜在威胁,而非实际的威胁,原因是该病毒并未散播至塞班系统之外。2004年8月,一个世界纪录级的实验(另请参见Bluetooth sniping)证实,如果有定向天线和信号放大器,2类蓝牙无线电的范围可扩增至1.78km(1.11mi)。这就造成了潜在的安全威胁,因为攻击者将能够在相当程度的远距离之外接入有缺陷的蓝牙设备。攻击者想要与目标设备建立连接,还必须能够接受其发出的信息。如果攻击者不知道蓝牙地址和传输通道(尽管它们在设备使用状态下几分钟之内就能推导出来),就不可能对蓝牙设备进行攻击。
二、2005年
2005年1月,一种称为Lasco.A的移动恶意程序蠕虫开始针对采用塞班系统(60系列平台)的移动电话,通过蓝牙设备自我复制并传播至其他设备。一旦移动用户允许接收另一设备发送来的文件(velasco.sis),这一蠕虫即可开始自动安装。一旦安装成功,蠕虫变回开始寻找并感染其他的蓝牙设备。此外,蠕虫会感染设备上其他的.SIS文件,通过可移动的媒体文件(保全数位、CF卡等)复制到另一设备上。蠕虫可导致移动电话的不稳定。
2005年4月,剑桥大学安全研究员发表了针对两个商业蓝牙设备间基于PIN配对的被动攻击的研究结果。他们证实了实际攻击之快,以及蓝牙对称密钥建立方法的脆弱。为纠正争议缺陷,他们通过实验证实,对于某些类型的设备(如移动电话),非对称密钥建立更可靠且可行。
2005年6月,Yaniv Shaked和Avishai Wool发表文章,描述了蓝牙链路获得PIN的被动和主动方法。如果攻击者出现在最初配对时,被动攻击允许配有相应设备的攻击者窃听通信或冒名顶替。主动攻击方法使用专门建立的、必须插入到协议中特定的点的信息,
让主从设备不断重复配对过程。然后再通过被动攻击即可攻获PIN码。这一攻击的主要弱点是它要求用户在设备受攻击时根据提示重新输入PIN。主动攻击可能要求定制硬件,因为大多数商业蓝牙设备并不具备其所需的定时功能。
2005年8月,英国剑桥郡警方发布警告,称有不法分子通过有蓝牙功能的电话跟踪放置于车中的其他设备。警方建议当用户把手提电脑或其他设备放置于车中时,须确保任何移动网络连接均处于禁用状态。
三、2006年
2006年4月, Secure Network和F-Secure的研究人员发布了一份报告,提醒人们注意可见状态下的设备之多,并公布了有关蓝牙服务的传播、以及蓝牙蠕虫传播进程缓解的相关数据。
四、2007年
2007年10月,在卢森堡黑客安全大会上,Kevin Finistere和Thierry Zoller展示并发布了一款课通过Mac OS X v10.3.9 和 v10.4上的蓝牙进行通信的远程跟外壳(root shell)。它们还展示了首个PIN 和 Linkkeys 破解器,这是基于Wool 和 Shaked的研究。