skip to main content
10.1145/3210459.3210483acmotherconferencesArticle/Chapter ViewAbstractPublication PageseaseConference Proceedingsconference-collections
short-paper

Why Johnny Can't Store Passwords Securely?: A Usability Evaluation of Bouncycastle Password Hashing

Published:28 June 2018Publication History

ABSTRACT

Lack of usability of security Application Programming Interfaces (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 provide 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 usability 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 using 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 experience 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.

References

  1. Yasemin Acar, Michael Backes, Sascha Fahl, Simson Garfinkel, Doowon Kim, Michelle L Mazurek, and Christian Stransky. 2017. Comparing the usability of cryptographic apis. In Security and Privacy (SP), 2017 IEEE Symposium on. IEEE, 154--171.Google ScholarGoogle ScholarCross RefCross Ref
  2. Yasemin Acar, Christian Stransky, Dominik Wermke, Michelle Mazurek, and Sascha Fahl. 2017. Security Developer Studies with GitHub Users: Exploring a Convenience Sample. In Symposium on Usable Privacy and Security (SOUPS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Tehmina Basit. 2003. Manual or electronic? The role of coding in qualitative data analysis. Educational research 45, 2 (2003), 143--154.Google ScholarGoogle Scholar
  4. Felix Fischer, Konstantin Böttinger, Huang Xiao, Christian Stransky, Yasemin Acar, Michael Backes, and Sascha Fahl. 2017. Stack overflow considered harmful? the impact of copy&paste on android application security. In Security and Privacy (SP), 2017 IEEE Symposium on. IEEE, 121--136.Google ScholarGoogle ScholarCross RefCross Ref
  5. Peter Leo Gorski and Luigi Lo Iacono. 2016. Towards the Usability Evaluation of Security APIs.. In HAISA. 252--265.Google ScholarGoogle Scholar
  6. Matthew Green and Matthew Smith. 2016. Developers are not the enemy!: The need for usable security apis. IEEE Security & Privacy 14, 5 (2016), 40--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Mohit Kumar. 2017. Collection of 1.4 Billion Plain-Text Leaked Passwords Found Circulating Online. https://thehackernews.com/2017/12/data-breach-password-list.html. (2017). Accessed: 2018-03-26.Google ScholarGoogle Scholar
  8. Kai Mindermann. 2016. Are easily usable security libraries possible and how should experts work together to create them?. In Proceedings of the 9th international workshop on cooperative and human aspects of software engineering. ACM, 62--63. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Samantha Murphy. 2012. LinkedIn Confirms, Apologizes for Stolen Password Breach. https://mashable.com/2012/06/06/linkedin- passwords-hacked- confirmation/#Gs9W57eXuuqr. (2012). Accessed: 2018-03-26.Google ScholarGoogle Scholar
  10. Alena Naiakshina, Anastasia Danilova, Christian Tiefenau, Marco Herzog, Sergej Dechand, and Matthew Smith. 2017. Why Do Developers Get Password Storage Wrong?: A Qualitative Usability Study. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. ACM, 311--328. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Colin Percival and Simon Josefsson. 2016. The scrypt password-based key derivation function. Technical Report.Google ScholarGoogle Scholar
  12. Thomas Scheller and Eva Kühn. 2015. Automated measurement of API usability: The API concepts framework. Information and Software Technology 61 (2015), 145--162. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. MW Van Someren, YF Barnard, and JAC Sandberg. 1994. The think aloud method: a practical approach to modelling cognitive. (1994).Google ScholarGoogle Scholar
  14. Chamila Wijayarathna, Nalin AG Arachchilage, and Jill Slay. 2017. A Generic Cognitive Dimensions Questionnaire to Evaluate the Usability of Security APIs. In International Conference on Human Aspects of Information Security, Privacy, and Trust. Springer, 160--173.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Glenn Wurster and Paul C van Oorschot. 2009. The developer is the enemy. In Proceedings of the 2008 New Security Paradigms Workshop. ACM, 89--97. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Other conferences
    EASE '18: Proceedings of the 22nd International Conference on Evaluation and Assessment in Software Engineering 2018
    June 2018
    223 pages
    ISBN:9781450364034
    DOI:10.1145/3210459

    Copyright © 2018 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 28 June 2018

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • short-paper
    • Research
    • Refereed limited

    Acceptance Rates

    Overall Acceptance Rate71of232submissions,31%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader