Many widely used Internet messaging and calling apps, such as WhatsApp, Viber, Telegram, and Signal, have deployed an end-to-end encryption functionality. To defeat potential MITM attackers against the key exchange protocol, the approach relies on users to perform a code verification task whereby each user must compare the code (a fingerprint of the cryptographic keys) computed by her app with the one computed by the other user's app and reject the session if the two do not match. In this paper, we study the security and usability of this human-centered code verification task for a setting where the end users are remotely located, and compare it as a baseline to a less frequent scenario where the users are in close proximity. We consider several variations of the code presentation and verification methods, incorporated into representative real-world apps, including codes encoded as numbers or images, displayed on the screen, and verbally spoken by the users. We perform a human factors study in a lab setting to quantify the security and usability of these different methods. Our study results expose key weaknesses in the security and usability of the code verification methods employed in the apps. First, we show that most code verification methods offer poor security (high false accepts) and low usability (high false rejects and low user experience ratings) in the remote setting. Second, we demonstrate that, security and usability under the remote code verification setting is significantly lower than that in the proximity setting. We attribute this result to the increased cognitive overhead associated with comparing the codes across two apps on the same device (remote setting) rather than across two devices (proximity setting). Overall, our work serves to highlight a serious vulnerability of Internet-based communication apps in the remote setting stemming from human errors.
翻译:许多广泛使用的互联网讯息和调用应用程序,例如“WhesApp”、“Viber”、“Telegram”和“Signal”等,都安装了终端到终端加密功能。为了在关键交换协议中击败潜在的MITM攻击者,该方法依靠用户执行代码核查任务,即每个用户必须将用其应用程序计算的代码(加密钥匙的指纹)与用另一个用户的应用程序计算出来的代码进行比较,如果两者不匹配,则拒绝会议。在本文中,我们研究了这一以人为中心的代码核查任务的安全和可用性,以远程用户所在地为位置,并将它作为基线,作为用户距离很近的较不频繁的场景。我们考虑将代码列报和核查方法的几种变异性纳入具有代表性的现实世界应用程序,包括以数字或图像编码计算出来的代码,如果两个用户的应用程序不匹配。我们在实验室环境中进行一项人类因素研究,以量化这些不同方法的安全和可用性。我们的研究结果揭示了在远程用户定位中使用的代码的安全和可用性方面的关键弱点,将它作为基准,将它作为基准,作为基准,将它作为基准,而用户接近于用户的比较接近的比较接近于用户的比较接近的基线,我们最接近的代码。我们开始显示的代码,我们最低的代码,我们开始显示的代码,在远程加密的代码, 显示的精确的精确的代码是低的精确性。我们比较的精确性。我们比较的精确性,我们最低的代码是低的精确性, 。我们开始显示的精确性,在服务器的精确性。在低的精确性。在低的精确性。我们比较性,在低的代码,在低的精确性,在低级的代码在低级性在低级度的精确性,我们比较的精确性,我们比较的精确性,我们比较性在低级的精确性,我们最深级中显示的精确性, 。在精确性, 。在精确性在低级的系统的精确性,我们最低级中显示的精确性,我们最低级中显示的精确性在低级的代码在低级中显示的精确性,我们在低级的精确性,我们最低级的精确性。在低级中,我们在低级的精确性,我们在低级的精确性,在低级