导航:首页 > 文档加密 > 蓝牙通信加密

蓝牙通信加密

发布时间:2024-09-23 08:36:53

‘壹’ 蓝牙加密必需配对吗

必须。两个蓝牙设备若要建立加密连接,则必须使用链接密钥相互配对。蓝牙(Bluetooth)是一种无线数据与语音通信的开放性全球规范,它以低成本的短距离无线连接为基础,可为固定的或移动的终端设备提供廉价的接入服务。

‘贰’ 蓝牙的安全机制有哪些

蓝牙采取的安全机制适用于对等通信的情况,即双方以相同的方式实现认证与加密规程。主要的安全机制为使用密钥。它的链路层使用4个实体提供安全性,一个公开的蓝牙设备地址,长度为48比特;认证密钥,长度为128比特;加密密钥,长度为8~128比特;随机数,长为128比特。蓝牙安全管理器存贮着有关设备和服务的安全信息,安全管理器将决定是否接收数据,断开连接或是否需要加密和身份认证,它还初始化一个可信任的关系以及从用户那里得到一个PIN码。

蓝牙设备有两种信任级别,即可信任和不可信任。可信任级别有一个固定的可信任关系,可以得到大多数服务。可信任设备是预先得到鉴别的。而不可信任设备所得到的服务是有限的,它也可以具有一个固定的关系,但不是可信任的。一个新连接的设备总是被认为是未知的,不可信任的。

对蓝牙协议本身的攻击可以分为两类:主动攻击和被动攻击。主动攻击是没有被认证的第三方对传输过程中的数据流进行修改。主动攻击包括伪装、中继、信息修改以及拒绝服务。被动攻击可以是对传输内容进行窃听,也可以是对通信模式进行监听获取相关信息。




2.1字管理机制

蓝牙链字是长度为128位的随机数,它是蓝牙系统鉴权和加密的基础。为了支持不同阶段、模式的要求,蓝牙系统在链路层上用了4种不同的字来保证系统的安全性。包括单元字KA组合字是KAB,临时字Kmaster及初始化字Kinit。单元字KA与组合字KAB仅产生方式不同,执行的功能是完全相同的。也就是说,KAB是由两个单元A,B共同产生的,而KA仅由一个单元A产生,因此KA在初始化阶段产生后就基本不变了。系统的内存比较小时通常选择KA,而系统对稳定性要求比较高时选择KAB。临时字Kmaster只是临时取代原始字。例如,当主机想与多个子机通信时主机将用同一个加密字,因此把它存放在临时字中,以便于使用。初始化字Kinit仅仅在初始化阶段有效,也主是单元字KA,KAB产生的阶段,它不仅仅是初始化阶段的一个临时字,其产生需要一个PIN。半永久性的链接字在特定的时间内被称作当前链接字。当前链接字和其它

链接字一样,用于鉴权和加密过程。

此外,还用到了加密字KC,加密字被LM的命令激活后将自动被改变。

另外,鉴权字和加密字在不同的阶段执行不同的功能。例如:在两个单元没有建立连接的阶段和已经建立连接的阶段有很大的不同,前者必须首先产生加密字,而后者可以继续使用上次通信的加密字。相应地不同的阶段对字的管理是不一样的。此外当主机想广播消息,而不是一个一个地传送消息时,需要特殊的字管理方法。正是蓝牙系统有力的字管理机制,才使得系统具有很好的安全性,而且支持不同的应用模式。

2.2链接字的产生

初始化字Kunit的值以申请者的蓝牙设备地址、一个PIN码、PIN码的长度和一个随机数作为参数,通过E22算法产生。而申请者相对校验者而言是需要通过验证的一方。因此,申请者需要正确的PIN码和PIN码的长度。一般来讲,由HCI决定谁是申请者,谁是校验者。当PIN的长度少于16个八进制数时,可以通过填充蓝牙设备地址的数据使其增大,因此如果循环使用E22可以使链接字的长度增长为128位。初始化链接字Kint产生后,该单元将产生一个半永久字KA或KAB。如果产生的是一人KAB,则该单元将用一个随机数LK_RAND周期性地加密蓝牙设备地址,加密后的结果为LK_KA,而各自产生的LK_RAND与当前的链接字进行异或运算后,分别产生新值,永为CA和CA,然后互相交换,从而得到了对方的LK_RAND,并以对方的LK_RAND和蓝牙设备地址作为参数,用E21函数产生新值LK_KB的异或运算得到组合字KAB。当KAB产生后,首先单向鉴权一次,看KAB变为当前链接字,而丢弃原先的链接字K。E22的工作原理与E21类似。

阅读全文

与蓝牙通信加密相关的资料

热点内容
做生鲜配送员选择哪个app好 浏览:781
编译程序输入学生的三个课程成绩 浏览:258
哪里下载国外新闻app 浏览:879
什么是android手机号码 浏览:835
帮别人买云服务器安全吗 浏览:170
c语言编译器电脑怎么下载 浏览:775
适合儿童的编程软件 浏览:782
成人英语考试用哪个APP 浏览:569
python程序设计大作业论文 浏览:54
服务器端口号叫什么 浏览:644
高性能平台编译优化技术 浏览:733
旧热水器安装需要解压吗 浏览:46
解压自我调整教程 浏览:601
服务器硬盘怎么拷贝到其他硬盘 浏览:327
程序员考试偏文科还是理科 浏览:124
go接口加密 浏览:716
算法类上市公司 浏览:492
android程序员进阶 浏览:368
数据结构是算法吗 浏览:349
计算机项目未编译 浏览:576