【问题标题】:How Bluetooth Passkey protects agains MITM attack蓝牙密钥如何防止 MITM 攻击
【发布时间】:2014-06-11 19:59:36
【问题描述】:

我正在阅读低功耗蓝牙:开发人员手册,对 MITM 的保护感到困惑。

书上说交换配对信息后,双方都会产生一个随机数。连同该随机数一起计算确认值。然后双方交换确认值,然后显示随机数。

配对时交换的信息是这样的。

[Apr 25 18:04:43.919]  [SMP Send]  LE SMP Pairing Request Command
[Apr 25 16:53:09.005]  [SMP Receive]  LE SMP Pairing Response Command 
[Apr 25 16:53:09.019]  [SMP Send]  LE SMP Pairing Confirm Command 
[Apr 25 16:53:14.016]  [SMP Receive]  LE SMP Pairing Confirm Command 
[Apr 25 16:53:14.017]  [SMP Send]  LE SMP Pairing Random Command 
[Apr 25 16:53:14.076]  [SMP Receive]  LE SMP Pairing Random Command 

这本书声称这可以防止 MITM 攻击,因为 MITM 必须猜测 2^128 个可能的随机数来计算确认值。

我的问题是,这如何帮助防止 MITM 攻击。我的意思是,如果我是中间人,我只需将确认号从一端传递到另一端,甚至不需要计算。

我确定我一定错过了什么。

【问题讨论】:

  • 我为仅链接的答案道歉,但很难很好地总结视频:wimp.com/howencryption
  • @JeremyJStarcher:从过程的描述(随机数在最后显示)听起来不像是 Diffie-Hellman 密钥交换。
  • 那些时间戳不按顺序排列。
  • 时间戳可能是日志工具中的一个错误。日志直接从日志记录工具复制。而且我认为这也是规范中设计的顺序。

标签: security bluetooth bluetooth-lowenergy


【解决方案1】:

攻击可能不是一直的意图; MITM 可能只是对挖掘数据感兴趣;数据可能非常重要,以至于无需攻击/修改,因此取决于;仅仅泄露数据本身就已经足够破坏了!!

【讨论】:

    【解决方案2】:

    您没有理解 MITM 攻击的意义。

    仅将接收自一台设备的数据传递到另一台设备并不会使您成为 MITM 攻击者。只是一个中间人。

    要“攻击”,您必须在传递数据之前实际修改数据,而接收端不会注意到它。理想情况下,您不仅会搞砸沟通,而且还会进行有意义的更改(例如,用您的银行帐号替换目标银行帐号,同时保留发件人的签名,这样您就可以收到钱而不是原始发件人)。

    通过不对您截获的数据进行任何修改(发送前),您只是充当转发器

    【讨论】: