当前位置:首页 >资讯 >蓝牙加密算法以及存在的问题


蓝牙加密算法。

数据包中的净荷载加密采用蓝牙加密算法。由于密钥长度从8比特到128比特不等,信息互动双方必须通过协商确定密钥长度。

在蓝牙技术中,通过使用流程密码E0来实现用户信息作为分组有效载荷的加密保护。E0使用主节点地址、26bit主节点实时钟和加密密钥KC作为输入。它由初始化(生成有效载荷)三部分组成,第二部分生成密钥流,第三部分生成加密和解密,如图所示:



第二部分是密码系统的主要部分,也将在初始化过程中使用。由Masssey和Ruepel提出的密钥流使用求和流密生成器,对其强度进行了很好的评估。

最后是流量加密算法的加密过程。数据流和密码算法产生的二进制流量比特的不同或操作。对于加密规则,流量加密算法用于将加密位置按位模具2并将其添加到数据流中,然后通过无线接口传输。在CRC验证和FEC代码之前,单独对每组的有效载荷进行加密。由于加密是对称的,因此使用与加密完全相同的钥匙和方法进行解密。

缺乏蓝牙加密算法。

蓝牙使用的E0流代码算法的主要缺点是,如果一个伪随机序列出现错误,整个文本将出现错误,导致在解密过程中无法恢复到文本中。流加密算法系统的安全性完全取决于密钥流发生器的内部机制。如果它的输出是一个无穷无尽的0序列,那么密集的文本就是一个明确的文本,因此整个系统毫无价值;如果它的输出是一个周期性的16位模式,那么这个算法只是一个可以忽略安全性的差异或计算。密钥流发生器输出的密钥越接近随机性,密码分析师就越困难。然而,这种随机的密钥流并不容易获得。在蓝牙E0流加密中使用的LFSR很容易受到相关攻击和分割攻击的影响,并且使用软件实现的效率非常低。在实现过程中,我们应该避免稀疏的反馈多项式,因为它们容易受到相关攻击,但密集的反馈多项式的效率也很低。事实上,DFR算法并不比使用快。

蓝牙的安全系统被认为是高度不可靠的,但一个不可忽视的事实是,通过蓝牙连接传输的数据通常并不重要。目前,考虑到蓝牙标准的安全技术只适用于小型网络。如果有许多网络节点和复杂的拓扑,那么基于点对点的现有关键分配和认证机制就无法满足需求。对于小型应用程序来说,蓝牙提供的数据安全措施似乎足够了,但不应通过蓝牙直接传输任何敏感数据或有问题的数据。为了更广泛地应用蓝牙技术,我们应该使用其他更强大的蓝牙加密算法。