How usable are rust cryptography APIS?

Kai Mindermann, Philipp Keck, Stefan Wagner

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

23 Scopus citations

Abstract

Context: Poor usability of cryptographic APIs is a severe source of vulnerabilities. Aim: We wanted to find out what kind of cryptographic libraries are present in Rust and how usable they are. Method: We explored Rust's cryptographic libraries through a systematic search, conducted an exploratory study on the major libraries and a controlled experiment on two of these libraries with 28 student participants. Results: Only half of the major libraries explicitly focus on usability and misuse resistance, which is reflected in their current APIs. We found that participants were more successful using rustcrypto which we considered less usable than ring before the experiment. Conclusion: We discuss API design insights and make recommendations for the design of crypto libraries in Rust regarding the detail and structure of the documentation, higher-level APIs as wrappers for the existing low-level libraries, and selected, good-quality example code to improve the emerging cryptographic libraries of Rust.

Original languageEnglish
Title of host publicationProceedings - 2018 IEEE 18th International Conference on Software Quality, Reliability, and Security, QRS 2018
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages143-154
Number of pages12
ISBN (Print)9781538677575
DOIs
StatePublished - 2 Aug 2018
Externally publishedYes
Event18th IEEE International Conference on Software Quality, Reliability, and Security, QRS 2018 - Lisbon, Portugal
Duration: 16 Jul 201820 Jul 2018

Publication series

NameProceedings - 2018 IEEE 18th International Conference on Software Quality, Reliability, and Security, QRS 2018

Conference

Conference18th IEEE International Conference on Software Quality, Reliability, and Security, QRS 2018
Country/TerritoryPortugal
CityLisbon
Period16/07/1820/07/18

Fingerprint

Dive into the research topics of 'How usable are rust cryptography APIS?'. Together they form a unique fingerprint.

Cite this