当尝试配对2个蓝牙设备(例如2 iPhones)时,会出现一个弹出窗口,它需要输入显示在另一个设备上的代码。我知道带外认证的概念,以及为什么它是必要的.
不过,我现正尝试回答以下问题:
发布于 2014-11-17 13:36:22
这背后的想法是,由设备A生成的代码必须单独传送到设备B。任何通信方法都可以做到:电子邮件、短信、电话等等。
回答你的问题:
首先,代码是如何计算的?从键盘上?
这取决于设备的软件。一些供应商将产生一个随机的4位引脚。一些将生成一个密码。这取决于供应商如何产生它,以及他们想要有多少熵。TeamViewer在其远程桌面软件中使用这种类型的方法。它们允许用户选择密码的长度和类型。使用密钥对来生成密码似乎有些过火,而且它们很可能使用某种类型的伪随机数生成器。
从设备B发送代码到设备A不是要受到被动的MITM攻击吗?这个通信是如何认证的?
这取决于如何/是否保护通信。有可能使用安全协议加密设备之间的通信。这可以是一个标准化的协议,比如SSL/TLS,也可以是专有的。只要以某种方式保护通信,密码就会被加密发送到设备,并且不太可能受到MitM攻击。
如果密码被清晰地发送给每个人看,那么是的,我会说MitM攻击是非常可能的。
发布于 2016-03-08 08:40:51
蓝牙4.0配对依赖于两个设备都同意相同的128位“临时键”。在大多数实际情况下,密钥是从密码生成的(零扩展)。根据规范,密码是伪随机生成的.
(所有来自https://www.bluetooth.com/specifications/adopted-specifications的引号)
Passkey条目STK生成方法使用用户在设备之间从带外传递的6个数字数字。一个6位数字随机生成的密码实现了大约20位的熵。
该规范还确定哪个设备生成(并显示)密钥,以及哪个设备需要用户输入。
蓝牙配对协议使用“比特承诺”方案,旨在防止MitM攻击。基本上,这两个设备根据多个参数交换“确认值”,包括临时密钥(密码)和私有随机数。在稍后阶段公开私有随机数,证明设备在处理开始时确实知道密码。
passkey入口方法提供了防止主动“中间人”攻击的保护措施,因为在每次调用该方法时,活动的中间人将获得成功的概率为0.000001。
该方案被发现存在根本缺陷,允许活跃的MITM攻击者在飞行中确定密码,并在配对前假装它是已知的。有关该漏洞的详细描述可以在这里找到:https://eprint.iacr.org/2013/309.pdf。
https://security.stackexchange.com/questions/73031
复制相似问题