我正在阅读《Bluetooth低功耗:开发者手册》,对于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
这本书声称这可以防止中间人攻击,因为中间人需要猜测2^128个随机数来计算确认值。
我的问题是,这如何有助于防止中间人攻击?我的意思是,如果我是中间人,我只需将确认号从一端传递到另一端,甚至不需要进行计算。
我确定我肯定漏掉了什么。