In applications such as end-to-end encrypted instant messaging, secure email, and device pairing, users need to compare key fingerprints to detect impersonation and adversary-in-the-middle attacks. Key fingerprints are usually computed as truncated hashes of each party's view of the channel keys, encoded as an alphanumeric or numeric string, and compared out-of-band, e.g. manually, to detect any inconsistencies. Previous work has extensively studied the usability of various verification strategies and encoding formats, however, the exact effect of key fingerprint length on the security and usability of key fingerprint verification has not been rigorously investigated. We present a 162-participant study on the effect of numeric key fingerprint length on comparison time and error rate. While the results confirm some widely-held intuitions such as general comparison times and errors increasing significantly with length, a closer look reveals interesting nuances. The significant rise in comparison time only occurs when highly similar fingerprints are compared, and comparison time remains relatively constant otherwise. On errors, our results clearly distinguish between security non-critical errors that remain low irrespective of length and security critical errors that significantly rise, especially at higher fingerprint lengths. A noteworthy implication of this latter result is that Signal/WhatsApp key fingerprints provide a considerably lower level of security than usually assumed.
翻译:在端到端加密即时通讯、安全电子邮件及设备配对等应用中,用户需要比较关键指纹以检测冒充攻击和中间人攻击。关键指纹通常计算为各方对信道密钥视角的截断哈希值,编码为字母数字或数字字符串,并通过带外方式(例如手动)进行比较以发现任何不一致。先前研究已广泛探讨了各种验证策略与编码格式的可用性,但关键指纹长度对验证安全性与可用性的确切影响尚未得到严格探究。我们开展了一项包含162名参与者的研究,考察数字关键指纹长度对比较时间和错误率的影响。结果证实了一些广泛接受的直觉判断,例如比较时间和错误率随长度增加而显著上升,但进一步观察揭示了有趣的细微差别。比较时间的显著增加仅发生在高度相似指纹的比较场景中,而其他情况下比较时间保持相对稳定。在错误方面,我们的研究清晰区分了安全非关键错误(其发生率不随长度变化而保持在低水平)与安全关键错误(其发生率显著上升,尤其在指纹长度增加时)。后一结果的一个重要意义在于,Signal/WhatsApp的关键指纹提供的安全水平远低于通常假设的程度。