为什么Johnny不能秘密存储密码?Bouncycastle密码哈希算法的可用性评估
Why Johnny Can't Store Passwords Securely? A Usability Evaluation of Bouncycastle Password Hashing
摘要:
缺乏安全应用程序编程接口(API)的可用性是程序员犯错误的主要原因之一,这些错误导致他们开发的软件应用程序中存在安全漏洞。特别是,提供密码散列等加密功能的API有时太复杂,程序员无法学习和使用。为了提高这些API的可用性,使它们易于学习和使用,重要的是要识别这些API中存在的使其难以学习和使用的可用性问题。在这项工作中,我们评估了Bouncycastle API的SCrypt密码散列功能的可用性,以确定其中的可用性问题,这些问题促使程序员在开发可能导致安全漏洞的应用程序时犯错误。我们对10名程序员进行了一项研究,他们每人花了大约2个小时进行研究,并试图使用Bouncycastle API开发一个安全的密码存储解决方案。从我们收集的数据中,我们确定了Bouncycastle API的SCrypt实现中存在的63个可用性问题。我们的研究结果提供了关于如何设计、开发和改进安全/加密API的有用见解,以便为使用它们的程序员提供更好的体验。此外,我们希望这项工作将提供一个指导,如何进行安全API的可用性评估,以确定其中存在的可用性问题。
英文摘要:
Lack of usability of security Application Programming In- terfaces (APIs) is one of the main reasons for mistakes that programmers make that result in security vulnerabilities in software applications they develop. Especially, APIs that pro- vide cryptographic functionalities such as password hashing are sometimes too complex for programmers to learn and use. To improve the usability of these APIs to make them easy to learn and use, it is important to identify the usability issues exist on those APIs that make those harder to learn and use. In this work, we evaluated the usability of SCrypt password hashing functionality of Bouncycastle API to identify usabil- ity issues in it that persuade programmers to make mistakes while developing applications that would result in security vulnerabilities. We conducted a study with 10 programmers where each of them spent around 2 hours for the study and attempted to develop a secure password storage solution us- ing Bouncycastle API. From data we collected, we identified 63 usability issues that exist in the SCrypt implementation of Bouncycastle API. Results of our study provided useful insights about how security/cryptographic APIs should be designed, developed and improved to provide a better experi- ence for programmers who use them. Furthermore, we expect that this work will provide a guidance on how to conduct usability evaluations for security APIs to identify usability issues exist in them.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。