了解低功耗蓝牙中的安全密钥
了解蓝牙 LE 中三个安全密钥的作用——长期密钥 (LTK)、连接签名解析密钥 (CSRK) 和身份解析密钥 (IRK)。
在深入研究低功耗蓝牙 (LE) 技术如何使用安全密钥(图 1)的具体细节之前,让我们先回顾一下,通过了解安全密钥是什么来奠定基础,特别是对于那些刚刚进入有趣的密码学世界的人来说。
简而言之,密码学就是在存在对手的情况下,用于保护通信安全的技术的实践和研究。其目标是确保只有那些有权访问的人才能访问所需的信息。密码学中用于实现此目标的基本工具之一是“安全密钥”。
在这里插入图片描述
***图 1.**蓝牙 LE 使用安全密钥进行加密保护。
安全密钥本质上是一条信息——由数字、字符或两者组成的字符串——它决定着加密算法或密码的输出。你可以把它想象成食谱中的秘密成分,一旦改变,结果就会发生巨大的改变。
安全密钥用于各种加密功能,例如加密、解密、签名和验证。它们有助于将明文数据转换为看似随机的字符集合(加密数据),然后再转换回来。
- 加密是对数据进行加扰的过程,使其即使被拦截也无法被解读。安全密钥定义了数据混合的具体方式。
- 解密是相反的过程,将加密数据解扰回其原始形式。此过程同样使用安全密钥,该密钥可以与加密密钥相同(对称加密),也可以是不同的相关密钥(非对称加密)。
- 签名是使用安全密钥为数据创建唯一“签名”的过程。此签名可以证明数据的完整性和真实性,表明数据自签名以来未被篡改。
在本文中,我们将重点介绍蓝牙 LE 技术如何使用安全密钥。重点介绍三种类型的密钥——长期密钥 (LTK)、连接签名解析密钥 (CSRK) 和身份解析密钥 (IRK)。
蓝牙 LE 安全的支柱
低功耗蓝牙 (LE) 的安全机制建立在三大支柱之上:加密、数据签名和设备隐私。这些流程利用不同的安全密钥来确保数据和设备隐私的安全。
蓝牙低功耗中的加密
加密是任何安全通信的核心,蓝牙低功耗也不例外。它采用对称密钥分组密码系统,即高级加密标准 (AES),密钥长度为 128 位。正确使用时,它因其抵御所有已知实际攻击的强度而得到广泛认可。
在蓝牙低功耗中,加密过程涉及长期密钥 (LTK),它是两个连接设备共享和存储的密钥。此密钥在配对过程中生成,并在 AES-CCM 加密算法中用于加密和解密数据。
具体来说,在加密过程中,明文数据会通过 AES-CCM 算法与 LTK 进行组合,生成密文——经过扰乱的、不可读的数据。只有拥有相应 LTK 的设备才能解密并访问原始信息。
蓝牙 LE 中的数据签名
蓝牙 LE 还通过数据签名来确保数