“蓝牙”安全

上传人:豆浆 文档编号:2129419 上传时间:2017-07-20 格式:DOC 页数:5 大小:41KB
返回 下载 相关 举报
“蓝牙”安全_第1页
第1页 / 共5页
“蓝牙”安全_第2页
第2页 / 共5页
“蓝牙”安全_第3页
第3页 / 共5页
“蓝牙”安全_第4页
第4页 / 共5页
“蓝牙”安全_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《“蓝牙”安全》由会员分享,可在线阅读,更多相关《“蓝牙”安全(5页珍藏版)》请在金锄头文库上搜索。

1、“蓝牙” 安全 摘要:蓝牙以低成本的近距离无线连接,为固定与移动设备实现快速灵活的数据与语音通讯。由于蓝牙系统的开放性,使其安全问题尤为重要。此文主要讨论蓝牙技术中的加密算法和安全措施,并进一步提出了对于蓝牙加密算法所存在的问题的解决方案。关键词:蓝牙技术 流加密 分组加密 DES AES一、概述1.信息概述随着信息产业的不断发展,电子产品在社会各个领域的广泛应用和迅速普及,人类社会已经步入信息时代。信息已经成了人类的一种重要资源,人们生产和生活的质量将愈来愈多的取决于知识信息的掌握和运用的程度。越来越多数字电子产品借着新科技提升本身的性能和实力。蓝牙技术这类开放技术,以无线,局域网络,可携带

2、式设备成为网络体的延伸。随着计算机网络技术的迅速发展,网络中的信息安全问题越来越受到广泛关注。信息安全主要涉及到用户身份验证、访问控制、数据完整性、数据加密等问题。网络安全产品大量涌现。虽然各种网络安全产品的功能多种多样,但它们无一例外地要使用加密技术。一个好的加密算法首先表现在它的安全性上,一个不安全的算法会使使用它的网络变得更加脆弱;其次要考虑它在软硬件方面实现的难易度,不易实现的加密算法是不现实的;第三要看使用此加密算法会不会降低数据传输速率。2.“蓝牙技术”简介蓝牙技术是一种新兴的无线网络标准,它基于芯片提供短距离范围的无线跳频通信。它注定会成为一项通用的低成本无线技术,可适用于一系列

3、范围广泛的数据通信应用。蓝牙标准定义了一系列安全机制,从而为近距离无线通信提供了基本的保护。它要求每个蓝牙设备都要实现密钥管理、认证以及加密等功能。此外蓝牙技术所采用的跳频数据通信方式本身也是一个防止窃听的有效安全手段。蓝牙加密过程中所用到的加密算法是 E0 流密码。但是这种算法存在有一些缺点,128 位密钥长度的 E0 流加密在某些情况下可通过 0(264)方式破解。所以对于大多数需要将保密放在首位来考虑的应用来说,仅仅采用蓝牙提供的数据安全性是不够的。蓝牙是一种短距无线通信的技术规范,它最初的目标是取代现有的掌上电脑、移动电话等各种数字设备上的有线电缆连接。在制定蓝牙规范之初,就建立了统一

4、全球的目标,向全球公开发布,工作频段为全球统一开放的 2.4GHz 工业、科学和医学(Industrial, Scientific and Medical, ISM)频段。从目前的应用来看,由于蓝牙体积小、功率低,其应用已不局限于计算机外设,几乎可以被集成到任何数字设备之中,特别是那些对数据传输速率要求不高的移动设备和便携设备。二、蓝牙安全系统1.蓝牙标准中的安全措施蓝牙技术中,物理层数据的安全性主要是采用了跳频扩展频谱,由于蓝牙技术采用了跳频技术从而使得窃听变得极困难。蓝牙射频工作在 2.4Hz 频段。在北美和欧洲的大部分国家,蓝牙设备工作与从 2.402 到 2.480Hz 的频带,整个频

5、带被分为 79 个 1MHz 带宽的子信道。FHSS 依靠频率的变化来对抗干扰。如果射频单元在某个频率遇到干扰,则会在下一步跳到另一频率点时重传受到干扰的信号,因此总的干扰可变得很低。为了得到完整的传输数据,蓝牙技术使用以下三种纠错方案:1/3 比例前向纠错码(FEC ),2/3 比例前向纠错码( FEC),数据的自动重发请求(ARQ)方案。蓝牙技术产品的认证和加密服务一般由链路层提供,认证采用口令-应答方式进行。在连接过程中往往需要一两次认证。为了确保通信安全,对蓝牙技术产品进行认证是十分必要的,通过认证之后,可以允许用户自行增添可信任的蓝牙技术设备,例如,用户自己的笔记本电脑经过认证之后,

6、能够确保只有用户自己的这台笔记本电脑,才可以借助用户自己的移动电话手机进行通信。若对于通信有更高的安全要求,那么通信中的蓝牙技术产品就不必局限于采用物理层的提供,还可以采用更高级别的传输层和应用层安全机制,以确保基于蓝牙技术产品的通信更加安全可靠。2.蓝牙底层安全技术蓝牙底层在这里主要指基带和链路管理层。蓝牙在链路层提供四个安全实体:蓝牙设备地址 BD_ADDR:每个蓝牙单元有惟一的 48 位 IEEE 地址。私有签权密钥(private link key):长度一般为 128 位,用于蓝牙装置连接过程中的鉴权。私有加密密钥(Private Encryption key):长度为 8 到 12

7、8 位,用于数据加密。随机数 RAND(Random number):由蓝牙系统本身产生,作为产生链路密钥和加密密钥的参数。3.蓝牙高层安全技术在蓝牙协议中,连接着许多不同的协议和应用层。在这些层之中,有一些是蓝牙特有的特性, 如 L2CAP 和 RFCOMN 层,其它则不是。我们应该在这些非蓝牙层建立它们自己的安全策略,以增加系统灵活性。 在这个体系中我们将设备和服务分为不同安全等级,设备分为以下两个信任等级:1) 可信任设备:有固定的连接对象并且可以无限制地和所有服务建立连接。2) 非信任设备:没有永久的固定连接对象 ( 可能会有临时连接的对象), 或有固定的连接对象但是是非信任的,即服务

8、是被限制的。一个信赖关系的建立是在设备建立连接期间。如果确实存在一个认证响应并且信任标志已经建立,那么这个装置就被证实是可信任的,否则,设备在安全控制器内部的数据库中被标识为非信任的。当一个非信任的装置被授权使用一个服务的时候,它在此进程期间也可以加入可信任装置列表。对提供蓝牙的服务分为 3 个的安全级别:1) 鉴权 : 要求连接链路必须是可信任装置,或者是通过鉴权过程后的非信任装置。鉴权过程实际上包含了认证过程。2) 认证 : 在申请连接之前,确定远程设备的身份。3) 加密 : 若需要加密数据,则链路上的数据在服务之前要进行加密。所有的上述设备和服务相关信息都存储在安全控制器的数据库中。安全

9、控制器是整个安全体系的关键组成部分,它决定是否同意连接请求以及在连接上应用什么安全功能,这些控制是以它的数据库中的数据为基础的。三、蓝牙技术中的加密算法在链路层中,蓝牙系统提供了认证、加密和密钥管理等功能,每一个用户都有一个标识码(PIN),蓝牙设备中所用的 PIN 码的长度可以在 1 到 16 个字节之间变化。通常 4 个字节的 PIN 码已经可以满足一般应用,但是更高安全级别的应用将需要更长的码字。PIN 码可以是蓝牙设备提供的一个固定码,也可以由用户任意指定,标识码(PIN)会被一个 128 位链路密钥来进行单双向认证。一旦认证完毕,链路层会以不同长度的密钥来加密。1. 认证算法 在认证

10、过程中,用于蓝牙认证的 E1 认证函数来计算出一个安全认证码或被称为 MAC(媒体访问控制地址)。E1 所采用的算法是 SAFER+,SAFER+算法是参与 1997 年美国国家标准技术研究所(NIST)征集 AES(Advanced Encryption Standard)的候选算法之一。SAFER+是基于现有的 64 位分组密码的SAFER-SK128,因此它的安全性可以说是经过了时间的考验。E1 函数的输入是 link key,AU_RAND 及 BD_ADDR在蓝牙技术中,认证采用口令应答方式。验证方要求申请者鉴别随机数AU_RAND 并返回计算结果 SRES,若双方的计算结果相等则认

11、证成功,并保留 ACO(Authenticated Ciphering Offset)值。 若某次认证失败,则必须等待一定的时间间隔才能进行再次认证。2. 加密算法在蓝牙技术中,用户信息可采用分组有效载荷的加密进行保护,但识别码和分组头不加密。有效载荷的加密采用 E0 流密码来实现。 E0 将对每一有效载荷重新同步。流密码系统 E0 由三部分组成。第一部分执行初始化(生成有效载荷字),第二部分生成密钥流,第三部分完成加密和解密。有效载荷字发生器非常简单,它仅仅以适当序列对输入的位进行组合,然后将它们转移到用于密钥流发生器的四位 LFSR 中。加密机采用了四个线性反馈移位寄存器(LFSR),依次

12、为 LFSR1、LFSR2 、 LFSR3、LFSR4,其长度分别为 25,31,33,39 比特。LFSR 的性质: 加密机把四个 LFSR 的输出结果输入到一个有限状态机中,经有限状态机的组合运算输出密钥流序列,若在初始化阶段则输出一个随机的初始化值。加密算法使用 Kc、BD_ADDR、主时钟CLK26-1 及 RAND 这些参数。时钟 CLK26-1 按时隙递增,在任两次发送中,CLK26-1 至少有一位是不同的,因此在每次初始化后都将产生新的密钥流。对占用多个时隙的分组来说,CLK26-1 为分组所占的第一个时隙的时钟值。第二部分是该密码系统的主要部分,并也将用于初始化过程中。密钥流取

13、自于 Massey 和 Rueppel 流密码发生器的方法来生成。最后就是流加密算法的加密过程。将数据流与密码算法生成二进制流比特 进行异或运算。对于加密规则,流密码算法用于将加密位按位模 2 并加到数据流上,然后通过无线接口进行传输。对每一分组的有效载荷的加密是单独进行的,它发生在 CRC 校验之后,FEC 编码之前。由于加密是对称的,解密使用完全和加密相同的密钥和相同的方法实现。3. 蓝牙加密算法中存在的问题蓝牙所采用的 E0 流密码算法的本身就有一些弱点。流密码算法主要的缺点在于若一个伪随机序列发生错误便会使整个密文发生错误,致使在解密过程中无法还原回明文。流加密算法系统的安全完全依靠密

14、钥流发生器的内部机制。如果它的输出是无穷无尽的 0 序列,那么密文就是明文,这样整个系统就一文不值;如果它的输出是一个周期性的 16-位模式,那么该算法仅是一个可忽略安全性的异或运算;如果输出的是一系列无尽的随机序列(是真正的随机,非伪随机),那么就有一次一密乱码本和非常完美的安全。实际的流密码算法的安全性依赖于简单的异或运算和一次一密乱码本。密钥流发生器产生的看似随机的密钥流实际上是确定的,在解密的时候能很好的将其再现。密钥流发生器输出的密钥越接近于随机,对密码分析者来说就越困难。然而,这种随机的密钥流却不容易得到。在蓝牙 E0 流加密中用到的 LFSR 易受到相关攻击和分割解决攻击,且用软

15、件实现效率非常低。在实现过程中要避免稀疏的反馈多项式,因为它们易遭到相关攻击,但稠密的反馈多项式效率也很低。事实上 LFSR 算法用软件实现并不比 DES 快。以上的这些问题会让人认为蓝牙的安全体系是高度不可靠的,然而一个不可忽略的事实是:通过蓝牙连接传输的数据一般来说并不是非常重要的。目前蓝牙标准考虑到的安全技术只适用于规模较小的网络,如果网络结点较多,拓扑复杂(如 Ad Hoc 网络),现有的基于点对点的密钥分配和认证机制不能满足需求。蓝牙所提供的数据安全性措施对小型应用来说看起来已足够了,但任何敏感数据或会产生问题的数据都不应直接通过蓝牙传输。为了使蓝牙技术应用得更广泛,我们可采用另外更

16、强劲的加密算法,如 DES 算法。四、结束语蓝牙是一项将会改变我们通信方式的令人激动的新技术。然而,蓝牙技术在标准化过程中都未曾完整地考虑安全问题。作为以无线信道为传输媒体的通信网络,蓝牙网络相对于固定网络更容易受到攻击。对于数据安全性处于首要地位的应用来说,实现高水平的数据安全性是必须的。目前蓝牙标准所采用的 E0流密码算法存在着很多弊端,而 DES 和 RSA 算法相对来说更安全,而且较易实现。我们应该更据实际请况对蓝牙的安全机制进行研究与改进,是蓝牙技术得到更广泛的应用。参考文献1 宋红,吴建军,岳俊梅.计算机安全技术(第 2 版). 北京: 中国铁道出版社,2003 年 9 月2 马利,姚永雷.计算机网络安全. 北京:清华大学出版社,2010 年 8 月3 金纯,许光辰,等编著.蓝牙技术. 北京:电子工业出版社, 2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号