【发布时间】: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