我正在研究与GATT相关的蓝牙低功耗(BLE)中可用的安全类型。更具体地说,当使用指定了不同安全级别(低,中,高)的gatttool时,会进行什么样的操作?我的理解是BLE中的安全管理器支持4种不同的安全属性:
这些安全属性是否与gatttool指定的安全级别相关,或者在阅读蓝牙规范时是否遗漏了其他一些安全功能?
编辑:我想扩展我的问题以澄清问题。 4.2蓝牙堆栈如何确定是否使用传统配对?也就是说,如果我有两个BLE 4.2设备配对的数据包捕获,我如何判断是否正在使用传统配对与使用ECDH的配对? Secure Connections标志是否表明不应使用传统配对,或仅仅是它自己的模式确保使用FIPS认可的算法?
答案 0 :(得分:6)
你是对的,但你忘记了BLE通讯中的一个主要威胁。以下是三个基本威胁:
中间人(MITM):
MITM要求攻击者能够监控和更改消息或将消息注入通信渠道
窃听:
被动窃听在未经同意的情况下秘密收听(使用嗅探设备)私人通讯
隐私/身份跟踪:
由于大多数蓝牙LE广告和数据包都具有发送数据的设备的源地址,因此第三方设备可以将这些地址与用户的身份相关联,并通过该地址跟踪用户
您已经提到了针对MitM和窃听的保护措施,但仍然存在身份跟踪问题。
针对身份跟踪的保护是使用不能通过时间链接到同一设备的MAC地址,即改变的MAC地址(通常每15分钟)。有四种类型的MAC地址:
BLE Core Spec 4.2 Vol。 3 C部分15.1.1蓝牙设备地址类型。
关于安全级别,我不知道gatttool但我会假设它与nRF Connect / Master Control Panel或LightBlue类似。您在此处看到的可能是与每个属性关联的安全级别。有四个安全级别,每个属性可以不同:
模式1级别1 :
无需加密。该属性可在纯文本非加密连接上访问。
模式1级别2 :
需要未经身份验证的加密。必须加密连接才能访问此属性,但不需要对加密密钥进行身份验证(尽管可以)。
模式1级别3 :
需要验证加密。必须使用经过身份验证的密钥对连接进行加密才能访问此属性。
模式1级别4 :
经过身份验证的LE安全连接与加密配对。必须使用自4.2版本以来在蓝牙LE中引入的安全连接配对对连接进行加密。
模式1级1-3的定义来自Robert Davidson,Akiba,Carles Cufi,Kevin Townsend的'Getting Started with Bluetooth Low Energy'。
设备也可以处于称为Secure Connection Only
的模式,其中除模式1级别1之外的所有服务只能在模式1级别4中访问。
答案 1 :(得分:1)
是的,这是正确的,但你应该注意它们仍然存在安全模式,LE安全模式1和LE安全模式2,它由不同的安全级别组合。在蓝牙4.2之前,LE并不安全,即您可以在LE连接刚刚开始时嗅探加密密钥。
答案 2 :(得分:1)
4.2蓝牙堆栈如何确定是否使用传统配对?也就是说,如果我有两个BLE 4.2设备配对的数据包捕获,我如何判断是否正在使用传统配对与使用ECDH的配对? Secure Connections标志是否表明不应使用传统配对,或仅仅是它自己的模式确保使用FIPS认可的算法?
在配对功能交换阶段期间,如果在配对请求和配对响应PDU中设置了安全连接(SC)标志,则使用LE SC。它表明两个设备都支持LE SC并同意使用它。
如果使用LE SC,日志将显示正在交换的“配对公钥”和“配对DHKey检查”PDU。这些是LE SC特有的。