Abstract
People share impressive amounts of sensitive data through the internet. They purchase things online, communicate via mobile phones, store, share and utilise data kept on remote servers. Technological advances, such as the proliferation of mobile devices, and the drive for increased functionality, the advent of the Internet of Things for example, will further strengthen our dependency on the internet. By the end of 2023, it is projected that the number of connected devices world-wide will reach just over 15 billion and it is estimated to increase to almost 30 billion by 2030 [153].Consider, for example, the proliferation of mobile phone applications. By the end of 2022 there were around 2.5 million application in Google Play app store and about 2.2 million applications in Apple store [117,152]. Some of these mobile phones incorporate components that deal with sensitive user data, e.g., credit card numbers. Given the rate at which these applications are being developed and the opportunity for catastrophic failures that a networked world entails [159], we need to hold applications against high security standards. A recent study has found that 88% of some 11,000 Android applications show signs of cryptographic misuse through violations of fundamental best practices and standard recommendations.
Many works, within the field of usable security research, have concluded that the reason for the cryptographic misuse seen in these applications is that developers find cryptographic APIs (interfaces through which developers write secure code) difficult to use. The thesis presents a thematic analysis of over 2,400 posts from StackOverflow of questions and responses raised by developers as they try to use 7 cryptographic APIs. The analysis results in the identification of 16 usability issues, categorised into 7 themes. We map the 16 usability issues against a well-known set of principles, defined by Green & Smith. Green & Smith proposed these 10 principles as guidance for improving the usability of security APIs. Through the mapping, we see to what extent the proposed principles are effective and address the 16 identified usability issues.
When it comes to guidance for the improving the usability of security APIs, Green & Smith, is a integral piece of work, but not the only one. We perform a systematic literature review of 65 papers that offer 883 recommendations, spanning over 47 years. Through this literature review, we find out what current recommendations focus, how they came to be, and to what extent have they been validated. We also present a set of meta-recommendations based on our insights from the literature review.
Later in the thesis, we task a study group of 20 participants to design a system through which two parties can communicate securely while achieving the conditions for which the concept of Public Key Cryptography was originally developed. Through our analysis, we elicit the developers' mental models surrounding Public Key Cryptography and identify misalignments between their mental models and the way in which Public Key Cryptography actually works. The misalignments found through the elicited mental models give us a clear understanding as to why developers find it challenging to use cryptographic APIs and also offers insights into how they can be helped in writing secure code.
To conclude, we present a shift-left initiative in CryptoBridge, that introduces the need for cryptographic APIs earlier during the design stage of the Secure Software Development Lifecycle.
Date of Award | 5 Dec 2023 |
---|---|
Original language | English |
Awarding Institution |
|
Supervisor | Awais Rashid (Supervisor) & Bogdan Warinschi (Supervisor) |
Keywords
- cryptography
- security
- API
- mental model
- cryptographic API