Visit the post for more.
Overview
The article introduces Conceal, a set of Java APIs designed for efficient storage encryption on Android devices. It emphasizes the importance of securing private data stored on SD cards and outlines the design choices made to enhance performance and security.
What You'll Learn
1
How to implement efficient storage encryption for Android applications using Conceal
2
Why AES-GCM is preferred over traditional AES modes for data encryption
3
How to manage cryptographic keys securely in Android applications
Prerequisites & Requirements
- Basic understanding of encryption concepts
- Familiarity with Java and Android development
Key Questions Answered
What is Conceal and how does it enhance storage encryption on Android?
Conceal is a set of Java APIs developed to provide efficient and secure storage encryption for Android applications. It encrypts private data stored on SD cards, ensuring that it is not accessible to other apps, and uses AES-GCM for both encryption and integrity checks.
Why is AES-GCM preferred over other AES modes in Conceal?
AES-GCM is preferred because it provides authenticated encryption, which ensures both data secrecy and integrity by computing a Message Authentication Code (MAC) simultaneously with the encryption process. This reduces the time and complexity associated with separate MAC computations.
How does Conceal manage cryptographic keys?
Conceal manages cryptographic keys by storing them in private SharedPreferences by default. This approach abstracts the complexities of key management from the user, ensuring that the keys are handled securely and efficiently.
Key Statistics & Figures
Size reduction of OpenSSL
85KB
Conceal reduces the size of the OpenSSL library from about 1MB to 85KB by using only the necessary components.
Technologies & Tools
Some links below are affiliate links. We may earn a commission if you make a purchase.
Backend
Openssl
Used for cryptographic algorithms in Conceal.
Programming Language
Java
The primary language used to develop the Conceal APIs.
Key Actionable Insights
1Implementing Conceal in your Android application can significantly enhance data security by encrypting sensitive information stored on SD cards.Given that SD card storage is publicly accessible, using Conceal ensures that private data remains secure from unauthorized access, which is crucial for protecting user privacy.
2Utilizing AES-GCM for encryption can streamline your security processes by combining encryption and integrity checks into a single operation.This approach not only simplifies the implementation but also improves performance, making it a preferred choice for developers focusing on secure data handling.
Common Pitfalls
1
Choosing insecure AES modes like AES-ECB can lead to vulnerabilities in applications.
Many developers may not be aware of the implications of selecting the wrong AES mode, which can compromise data security. Conceal mitigates this risk by abstracting these choices and providing secure defaults.
Related Concepts
Encryption Algorithms
Key Management Practices
Data Integrity And Security