Skip to content

A secure Android application leveraging TEE and StrongBox for robust PIN storage and encryption. Features biometric authentication and file encryption for enhanced data protection.

Notifications You must be signed in to change notification settings

ahmed7official/android-tee-strongbox-pin-vault

Repository files navigation

PINVault

PINVault is a sample Android application designed to demonstrate the secure storage and management of PINs using advanced security features provided by the Android platform, such as the Android Keystore and Trusted Execution Environment (TEE).

Features

  • Secure PIN Storage: Demonstrates the use of Android Keystore to securely generate and store cryptographic keys.
  • Trusted Execution Environment (TEE): Showcases the use of TEE for enhanced security, ensuring that cryptographic operations are performed in a secure environment.
  • Biometric Authentication: Includes support for biometric authentication as an additional layer of security.
  • User-Friendly Interface: Provides a simple and intuitive interface for managing PINs.

Technical Overview

Android Keystore

The Android Keystore system provides a secure container to hold cryptographic keys. In this sample project, the Keystore is used to generate and store keys securely. The keys are used for encrypting and decrypting PINs, ensuring that sensitive data is protected even if the device is compromised.

Trusted Execution Environment (TEE)

TEE is used to perform cryptographic operations in a secure environment, isolated from the main operating system. This ensures that sensitive operations are protected from potential threats. The project checks for the availability of StrongBox, a hardware-backed Keystore, to further enhance security.

Key Classes and Files

  • SecureCryptoRepositoryImpl.kt: Implements the cryptographic operations using Android Keystore and TEE.
  • BiometricAuthenticator.kt: Handles biometric authentication processes.
  • MainActivity.kt: The main entry point of the application, setting up the user interface.

Contributing

Contributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License.

About

A secure Android application leveraging TEE and StrongBox for robust PIN storage and encryption. Features biometric authentication and file encryption for enhanced data protection.

Topics

Resources

Stars

Watchers

Forks

Languages