蓝牙的安全性

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浅谈蓝牙的安全性

摘要:随着蓝牙技术的发展,蓝牙的应用越来越广泛,蓝牙存在的问题也越来越突出,尤其是安全问题。本文对蓝牙安全问题进行深入研究,提出自己的解决方案——蓝牙安全性的防御方法。

关键词:蓝牙技术蓝牙网络安全机制攻击和防御

1、引言

蓝牙技术自1994年出现以来得到了快速的发展,在人们的日常工作和生活中也越来越普遍。蓝牙设备具有体积小、价格低等特点,因此很容易与其他电子设备集成,进而出现了蓝牙电脑、蓝牙手机、蓝牙耳机等,扩展了蓝牙的应用,但随着蓝牙技术的发展,蓝牙的应用越来越广泛,蓝牙存在的问题也越来越突出,尤其是安全问题,一些蓝牙用户的私人资料被窃取,蓝牙电话在用户不知情的情况下自动接通,诸如此类问题的出现对蓝牙的发展产生了很大的负面影响,所以对于安全问题的研究及解决势在必行。本文将对蓝牙安全问题进行深入研究并提出自己的解决方案。

2、蓝牙技术现状

蓝牙技术是一个开放性,短距离的无线通信的标准,它可以用来在较短距离内取代目前多种电缆连接方案,通过统一的短距离无线链路在各种数字设备之间实现方便快捷,低成本,小功耗的语音和数据通信。蓝牙工作在全球通用的2.4ghz ism频段。蓝牙技术的最终目的就是要建立一个全球统一的无线连接标准,使不同厂家生产的各种移动设备与固定设备,在近距离内部能不用电缆就可以

方便连接起来,实现相互操作与数据共享。蓝牙中的安全问题却也越来越多地出现在我们周围。

3、对蓝牙网络的攻击和防御方案

internet在设计之初,没有考虑安全机制,所以目前面临着大量的安全问题。2005年6月yaniv shaked和avishai woll提出对pin(personal identification number)码进行攻击,同时给出了实现,得出了对4位pin码的攻击在普通的计算机设置下,只需0.27秒的时间就可以得出pin码的结论。由于通常在银行系统和手机sim卡的密码的经验,人们在蓝牙手机和pda等输入方式非常不方便的设备上的密钥不会超过8位,而蓝牙设备默认pin码为4个字符。所以这种攻击方式非常有效。但针对这种非常有效的攻击,并没有人提出有效的解决方案。在现实的应用中,也迫切需要有效地解决这种针对pin码的攻击。

3.1 防御分析

无论提供的密文有多少,如果由一个加密方案产生的密文中包含的信息不足以惟一地决定对应的明文,则称此加密方案是无条件安全的,这就是说无论对手用多少时间,他也不可能破译出密文。无条件安全的加密算法(如一次一密)在现实使用中是不可行的。因此,加密算法的设计者所能做的全部努力就是满足下列准则中的一个或两个:

破译该密码的成本超过被加密信息的价值。

破译该密码的时间超过该信息有用的生命周期。

如果满足上述的两个准则中的任何一个,加密方案就可以认为在计算上是安全的。我们考虑使用暴力攻击法所需要的时间,该方法只是用每种可能的密钥进行尝试,直到获得了从密文到明文的一种可理解的转换为止。平均而言,为取得成功,必须尝试所有可能采用的密钥的一半。对于上文所说的对蓝牙pin码进行攻击的方法,也是一种暴力攻击的方法,所以,它攻击成功的可能,也是尝试所有可能采用的密钥空间的一半。

3.2 防御方案

针对蓝牙pin码进行攻击的方法,我们提出了两种防御方案:(1)通过增加破译每个pin的时间的方案:对于加密过程来说,加密时间如果比原来增加一倍,那么对于暴力攻击来说,要想得到正确的pin码,便要增加密钥空间的倍数。也就是说,对于pin长度为4的密钥来说,如果在蓝牙设备每次配对时的加密过程时间增加l秒,那么,对于暴力攻击来说,它的每一次pin的破译过程便需要增加1秒,所以要想得到正确的pin码,对于pin码长度为4的密钥来说,平均便需要l*10∧4/2*0.36*10∧4=1小时的时间。而对于pin码长度为8的密钥来说,平均便需要增加l*10∧

8/2*0.36*10∧4=10000小时的时间,从而可以看出,它的安全强度己经远远要超过原来的把pin长度设置到12位的安全强度了。对于人们己经习惯的银行系统的6位密码来说,平均也需要l*10∧

6/2*0.36*10∧4=100小时的时间。如果把中间的加密过程增加到2秒,那么平均攻击成功的时间便需要2*10∧6/2*0.36*10∧4=200

小时的时间,对于通常的移动设备来说,已经基本上够用的了。

对蓝牙设备进行配对时,我们可以在产生初始化密钥的过程中通过增加加密的时间来增强攻击的时间复杂度。我们的方案便是在生成kinit之前,通过在进行e22之前或之后增加一个hash过程来增加加密的时间,它并没有什么功能,只是进行反复的运算,来进行增加时间,从而满足加密设计时的第二个准则:破译该密码的时间超过该信息有用的生命周期。

在对蓝牙安全体系结构的分析中,它的产生初始化密钥的过程如图1所示。

通过实验我们可以知道,当pin码长度增加到6时,攻击成功的平均时间为30小时,这对于移动设备来说己经基本够用了,当pin码长度增加到7时,攻击成功的平均时间便显示为300小时。这种方案简单可行且非常有效,只需在输入pin码的软件接口上,简单增加一个hash函数,对于蓝牙硬件和原来的协议并不需要进行任何改变。

(2)对于暴力攻击蓝牙pin码的方法:我们还可以通过增加一个硬件设施来进行防御,也即是对于蓝牙手机或蓝牙pda移动设备来说,增加一个能随机生成一个16字节的生成器。在加密过程中直接从生成器中取pin值,从根本上解决用户的输入问题,也就是说,让蓝牙设备在每次进行配对时,都重新生成一个16字节的pin。从上文的分析来看,对于16字节的密码来说,暴力攻击蓝牙pin

码的方法几乎是不可能的。但是,这种方式又带来一种不方便处,

对于需要用同一密钥的地方,却又是一个问题,像蓝牙主设备在发送广播信息时,它需用kmaster来作为链路密钥,要求所有的从设备也必须用同一密钥,而随机生成的一个16字节的kinit不会相同。针对这种情况,可以把硬件设施上设置一个重置开关,当需要重新配对时,才启动硬件中的生成算法,生成一个16字节的pin 码,而对于已经经过配对的设备,并不需要重新进行配对。

4、结语

对于暴力攻击蓝牙pin码的方法,我们可以采用两种方案来进行防御:如果希望还是用原来的pin码输入的方案,只需在进行e22之前或之后增加一个hash过程即可达到提高攻击的难度。这种方案简单、有效,而且不改变原来用户的操作模式。对于安全强度要求高的移动设备来说,可以采用第二种方案,这种方案提供了高强度的安全性,当然,它也同时带来了操作上的复杂性。

参考文献

[1]张基温.计算机网络技术[m].北京:高等教育出版社,2004年.

[2]海涛,龙军.计算机通信技术[m].重庆:重庆大学出版社,2004年.

[3]喻宗泉.蓝牙技术基础[m].北京:机械工业出版社,2006年.

[4]刘书生,赵海.蓝牙技术应用[m].辽宁:东北大学出版社,2001年.

[5]严紫建,刘元安.蓝牙技术[m].北京:北京邮电大学出版社,

相关文档
最新文档