我正在调查蓝牙低能(BLE)与GATT相关的安全类型。更具体地说,当使用具有不同安全级别(低、地中海、高)的gatttool时,会执行什么样的操作?我的理解是,BLE中的安全管理器支持4种不同的安全属性:
这些安全属性是否与使用gatttool指定的安全级别相关,还是在阅读“蓝牙规范”时遗漏了其他安全功能?
编辑:我想扩展我的问题,以澄清这个问题。4.2蓝牙堆栈如何确定是否使用遗留配对?也就是说,如果我有两个BLE 4.2设备配对的数据包捕获,我如何判断遗留配对是使用ECDH还是使用ECDH的配对?安全连接标志是否表示不应该使用遗留的配对,或者仅仅是它自己的模式确保使用FIPS批准的算法?
发布于 2016-08-16 14:28:41
你是对的,但你忘记了BLE沟通中的一个主要威胁。以下是三个基本的威胁:
Man In The (MITM):
MITM要求攻击者能够同时监视、更改或将消息注入通信信道。
窃听:
被动窃听是指未经他人同意,秘密地监听他人的私人通信(使用嗅探装置)。
隐私/身份跟踪:
由于大多数蓝牙LE广告和数据包都具有发送数据的设备的源地址,第三方设备可以将这些地址与用户的身份关联起来,并通过该地址跟踪用户。
您已经提到了针对MitM和窃听的保护,但是仍然存在身份跟踪问题。
防止身份跟踪的保护措施是使用无法通过时间链接到同一设备的MAC地址,即更改的MAC地址(通常每15分钟一次)。MAC地址有四种类型:
这在BLE核心规范4.2第3卷C 15.1.1蓝牙设备地址类型中作了解释。
关于安全级别,我不知道gatttool,但我会假设它在某种程度上类似于nRF连接/主控制面板或LightBlue。您在这里看到的可能是与每个属性相关联的安全级别。有四个安全级别,每个属性都可能不同:
模式1级1:
不需要加密。该属性可在纯文本、非加密连接上访问.
模式1 2级:
未经身份验证的加密需要。必须对连接进行加密才能访问该属性,但不需要对加密密钥进行身份验证(尽管它们可以进行验证)。
模式1 3级:
认证加密需要。要访问此属性,必须使用经过身份验证的密钥对连接进行加密。
模式1 4级:
认证了与加密配对的LE安全连接。必须使用安全连接对对连接进行加密,这是自版本4.2以来在蓝牙LE中引入的。
模式1-3的定义来自罗伯特·戴维森( Robert )、秋叶( Akiba )、卡尔斯( Carles )、凯文·汤森(Kevin汤森)的“开始使用蓝牙低能”。
该设备还可以处于名为Secure Connection Only的模式中,它的所有服务(模式1级别1中的服务除外)只能在模式1级别4中访问。
发布于 2016-08-17 00:46:41
4.2蓝牙堆栈如何确定是否使用遗留配对?也就是说,如果我有两个BLE 4.2设备配对的数据包捕获,我如何判断遗留配对是使用ECDH还是使用ECDH的配对?安全连接标志是否表示不应该使用遗留的配对,或者仅仅是它自己的模式确保使用FIPS批准的算法?
在配对特征交换阶段,如果在配对请求和配对响应PDU中设置了安全连接( SC )标志,则使用LE SC。这表明这两种设备都支持LE并同意使用它。
如果使用LE,日志将显示“配对公钥”和“配对DHKey检查”PDU。这些都是特定于LE SC的。
发布于 2016-08-16 01:48:14
是的,这是正确的,但您应该注意到,它们仍然存在安全模式、LE安全模式1和LE安全模式2,这些模式由不同的安全级别组合而成。而在蓝牙4.2之前,LE是不安全的,也就是说,您可以在LE连接的刚开始时嗅探加密密钥。
https://stackoverflow.com/questions/38963836
复制相似问题