蓝牙安全机制在无线耳机中的应用
出处:zyhua 发布于:2007-05-27 13:08:09
安全性主要考虑有效性、可接人性、完整性和机密性四方面。蓝牙技术有几种主动的安全机制,包括设备鉴权、绑定和链路加密等。蓝牙技术还有一些被动的安全措施,例如使用快调频技术。本文重点围绕蓝牙耳机中应用的安全措施展开讨论。
1 蓝牙耳机安全模式
如图1所示,耳机剖面依赖于串行端口剖面和普通接人剖面。串行端口剖面为蓝牙无线设备提供了RS232串行电缆仿真,普通接人剖面(GAP)介绍了3种蓝牙无线链接的安全模式。既然蓝牙耳机剖面继承了普通接入剖面的特征,这些模式就同样适用于耳机剖面。
一个典型的耳机配置包括2个设备:耳机(HS)和音频网关(AG),如图2所示。
音频网关可以是蜂窝电话、膝上电脑、PC机和其他任何音频播放设备,例如收音机、CD播放器等。
网关和耳机可以使用不同的安全模式。耳机可以在任何安全模式下操作。虽然模式1不提供安全措施,他并没有被耳机或网关所排除。允许耳机和网关工作在模式1下,此操作在允许的时候为用户提供了展示系统参数的方法,并且还为用户提供了将设备切换到另一个安全模式的途径。建议在耳机端使用安全模式3。如果安全模式3被厂家预先设置并且不能被用户修改,那么每次建立连接时都需要进行蓝牙基带鉴权。这就防止被盗耳机的非法使用。
2 密钥管理
密钥管理包括蓝牙密钥应用、匹配程序和连接密钥的保存等方面内容。
2.1 蓝牙密钥应用
应用单元密钥进行鉴权和加密的机制与应用联合密钥的机制相同。应用单元密钥的设备只能使用一个密钥进行他的所有安全连接。这样他就必须和他信任的所有设备共享一个密钥。因此,所有被信任的设备都可以监听应用本密钥进行的任何通信过程。一个经过修改的被信任设备也可以假冒分发密钥的设备。因此,当使用单元密钥时,不能有效地防范来自被信任设备的攻击。联合密钥由建立连接的2个设备共同产生的,仅保护其对应的2个设备之间的通信。这样就排除了应用单元密钥时的不安全因素。联合密钥更适用于任何蓝牙单元,因此建议使用联合密钥。
2.2 匹 配
只有用户将耳机设置到匹配模式时,音频网关和耳机之间的匹配才能进行。当二者匹配时,耳机的蓝牙密钥需要输入网关中。
在蓝牙基带规范中,通过未加密信道进行的密钥初始交换是匹配程序薄弱的部分,在匹配程序进行之前要保证使用者在一个秘密区域,所谓秘密区域是一个确信没有未知设备在其周围的空间。不主张在公共场所进行匹配程序,可能会有破坏分子截取密钥。注意这种风险只有在应用低熵蓝牙密钥时才会发生。
要得到较的安全保障,当应用蓝牙基带规范中的匹配程序时,必须使用长的随机密钥值。长的应用密钥长度是128B。另一种安全匹配的方法是在音频网关和耳机之间提供一个物理串行接口来直接有效地传输连接密钥。
2.3 连接密钥保存
耳机使用联合密钥建立连接并将联合密钥保存在其存储器中。音频网关也应该允许将连接密钥保存到存储器中。如果二者的存储器比较安全,可以提供更好的安全保障。
3 连接和控制
对于音频网关和耳机的鉴权过程可以使用安全模式3,对于加密过程也可以选择本模式。音频网关也可以使用安全模式2和耳机进行鉴权和加密。
基于链路层的蓝牙鉴权机制是在LM层中实现,采用竞争应答方式。方和申请方各自对同一个随机数进行加密运算,若运算结果相匹配,则方认为申请方鉴权通过,否则鉴权失败。如果有一方链路密钥丢失,则必须先进行链路匹配:输入公共的个人识别号码(PIN)生成一个初始密钥。鉴权步骤:
①设备发出随机数AU_RANDA;
②设备和申请设备都通过算法El处理AU_RAND(A)和BD-ADDR(B)和即时的链路密钥K,El的运算式为:El:(K,RAND,BD-ADDR)→(SRES,ACO),生成响应SRES'和SRES;
③由申请设备发出响应SRES到设备,设备比较SRES'和SRES是否一致;在鉴权的同时,两个设备都产生一个鉴别派生值(ACO),ACO被用于产生加密密钥。地址的使用防止了简单反射攻击。
4 举 例
下面以蓝牙耳机与音频网关之间的匹配过程为例,说明以上安全措施的实现。假设用户新买了一个蓝牙耳机,与之手机匹配使用。手机是申请匹配的设备A,耳机是响应设备B。
(1)AG和HS都设置在可匹配模式。AG向HS发送LMP-in-rand(A)。因为HS的PIN是固定的并且是不可修改的,所以他通过生成自身的随机数用以请求进行"方一申请方"的角色切换,并在LMP_in_rand(B)中发回该随机数,因为AG具有可变PIN,AG用LMP_accepted消息应答,这样角色切换成功。通过匹配操作,两端设备采用Ez2算法生成初始密钥Kinit,计算式如下:
Kinit=E22(RANDB,PINˊ,Lˊ)
其中:
PIN[0...L一1] UBD_ADDRA [0...
PIN= min{5,15一L}],(L<16)
PIN[0...L一1],(L=16)
L'=min{16,L+6}为PINˊ,的八进制表示的长度;L为PIN进制表示的长度。
(2)生成初始密钥后两端设备需创建性的链路密钥,该密钥用于两设备间的所有后续链路的鉴权。匹配过程中创建的链路密钥可以是联合密钥或单元密钥,通过Ez,算法实现。建议使用联合密钥。
(3)联合密钥是两端设备生成的2个数字的组合。首先AG和HS各自产生一个随机数,LK-RAND^和LK-RANDB通过En计算各自的随机数和蓝牙地址,得到2个随机数:
LK_KA=E2l(LK_RANDA,BD_ADDRA)
LK_KB=E2l (LK_RANDB,BD_ADDRB)
然后这2个随机数和当前的链路密钥K(此时为Kinit)异或,得到结果K①LK-RAND^和K①LK-RANDB作为各自当前的随机数,AG和HS交换计算对方的随机数和蓝牙地址,然后两者开始以modulo-2算法创建128b的链路密钥,在各自的存储器中保存。只要链路密钥存在,HS和AG就不必再进行设备匹配,否则两设备要重新进行匹配。创建完链路密钥后,将原来的初始密钥删除,开始进行双向的鉴权。 (4)首先AG申请鉴权。HS向AG发送一个LMP_au_randPDU,其中带有16B的随机数,因为AG已有链路密钥,则直接进行"鉴权运算匹配"。两端设备得到随机数和链路后,分别进行E1运算。AG在LMP-sresPDU中把运算的结果返回给HS,HS把该结果和自己运算的结果进行比较,若两数相同,则返回LMP-accepted,表示鉴权成功。否则发送附加原因码"AUTHENTICATION_FALURE"的LMP-detach消息终止鉴权。然后HS进行反方向鉴权,角色切换后过程同上。
(5)从此链路创建完成,可以进行通信过程,还可以通过加密技术对通信数据进行进一步保护。将HS退出绑定模式,之后他不再响应任何新的查询和绑定请求。
如果耳机被盗,非法用户将企图与之建立连接,安全模式3的强制鉴权操作避免了这种情况的发生,此鉴权操作不可通过人为的将安全模式切换到模式1来忽略。
5 结 语
蓝牙技术得到广泛应用,相应的产品不断被推出,安全方面的问题等受到越来越受到人们的重视,本文具体介绍了密钥管理、链路层鉴权和匹配的一些操作。随着蓝牙技术的不断完善,安全问题会得到进一步解决。
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 光纤通信的基本原理是什么?2024/9/23 17:16:17
- GPRS对比CDMA有何区别2024/9/19 17:38:51
- 异步通信和同步通信的主要区别2024/9/14 14:44:22
- 带宽与网速之间的区别是怎样的2024/9/13 17:45:05
- NPU、TPU、IPU是什么?2024/9/13 17:43:10