Towards secure integration of cryptographic software

Steven Arzt, Sarah Nadi, Karim Ali, Eric Bodden, Sebastian Erdweg, Mira Mezini

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

While cryptography is now readily available to everyone and can, provably, protect private information from attackers, we still frequently hear about major data leakages, many of which are due to improper use of cryptographic mechanisms. The problem is that many application developers are not cryptographic experts. Even though high-quality cryptographic APIs are widely available, programmers often select the wrong algorithms or misuse APIs due to a lack of understanding. Such issues arise with both simple operations such as encryption as well as with complex secure communication protocols such as SSL. In this paper, we provide a long-term solution that helps application developers integrate cryptographic components correctly and securely by bridging the gap between cryptographers and application developers. Our solution consists of a software product line (with an underlying feature model) that automatically identifies the correct cryptographic algorithms to use, based on the developer's answers to high-level questions in non-expert terminology. Each feature (i.e., cryptographic algorithm) maps into corresponding Java code and a usage protocol describing API restrictions. By composing the user's selected features, we automatically synthesize a secure code blueprint and a usage protocol that corresponds to the selected usage scenario. Since the developer may change the application code over time, we use the usage protocols to statically analyze the program and ensure that the correct use of the API is not violated over time.

Original languageEnglish (US)
Title of host publicationOnward! 2015 - Proceedings of the 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Part of SPLASH 2015
EditorsGuy L. Steele, Gail C. Murphy
PublisherAssociation for Computing Machinery, Inc
Pages1-13
Number of pages13
ISBN (Electronic)9781450336888
DOIs
StatePublished - Oct 21 2015
EventACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2015 - Part of SPLASH 2015 - Pittsburgh, United States
Duration: Oct 25 2015Oct 30 2015

Publication series

NameOnward! 2015 - Proceedings of the 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Part of SPLASH 2015

Conference

ConferenceACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2015 - Part of SPLASH 2015
Country/TerritoryUnited States
CityPittsburgh
Period10/25/1510/30/15

Keywords

  • API protocols
  • Cryptography
  • Software product lines
  • Typestate analysis

ASJC Scopus subject areas

  • Software
  • Computer Networks and Communications
  • Computational Theory and Mathematics
  • Computer Science Applications

Fingerprint

Dive into the research topics of 'Towards secure integration of cryptographic software'. Together they form a unique fingerprint.

Cite this