How To Protect Data in mobile apps using Encryption
Learn how to protect data stored in mobile apps using encryption in minutes, No code or coding required.
This Knowledge Base article describes Appdome’s mobile Encryption suite and explains how to add it to any mobile app. With TOTALData™ Encryption, Appdome protects all three states of mobile app data: data at rest, data in transit and data in use (in memory).
We hope you find this knowledge base useful and enjoy using Appdome!
What is Data Encryption
Data encryption is the process of encoding information. Encryption transforms the original representation of the information from human-readable ‘plaintext’ into non-human readable form (known as ciphertext). Only authorized parties (which hold a private key) can decipher (decrypt) ciphertext back to plaintext in order to read/access the original information. The main goal of encryption is to prevent unauthorized parties from reading private, confidential or sensitive data. Data Encryption is one of the most important ways to protect data stored or used in a mobile app.
The Three States of Mobile App Data
There are three states in which data exists in mobile apps:
- Data at rest is mobile app data that is persistent and stored in the application sandbox.
- Data in transit is mobile app data sent from the app to outside servers or other app users.
- Data in use (aka: data in memory) is data the mobile app temporarily stores in application memory, including Data at rest and in transit before they are sent/saved. Data at rest and Data in use encryption are enabled as part of TOTALData Encryption. Appdome’s Secure Communication ensures that Data in transit is encrypted and protected.
What Does Appdome Data-at-Rest Encryption Protect?
Overview of Appdome’s TOTALData Encryption
Using Appdome Data at Rest encryption, all data generated by the app is encrypted at runtime using industry-standard AES 256 cryptographic protocols. You can also choose to encrypt data in use/in memory, where all data temporarily stored in application memory is encrypted before it is sent/saved. With Appdome, encryption is accomplished dynamically, without any dependencies on the data structure, databases or file structures.
Appdome uses AES-CTR 256 bit encryption, which is faster when accessing partial files (i.e. when reading a buffer from a file or mapping a part of a file into memory). This is much more efficient than the AES-CBC encryption used by most Third-party SDKs and encryption libraries (which forces encryption/decryption of the entire file even when it only needs to read a small block within it).
Appdome’s mobile TOTALDataTM Encryption implementation does not impact app behavior. This results in a consistent and easy to implement experience, as opposed to a DIY approach which would require the mobile developer to choose encryption components from a wide variety of libraries, cipher strengths, and key stores (and then need to integrate them together).
Like all integrations on Appdome, customers can integrate just data at rest or data in use encryption, or they can combine this feature with any or all other features from Appdome’s Mobile Security Suite. They can even combine Appdome Mobile Security with multiple 3rd party SDKs and APIs, forming countless numbers of service combinations and integrations into any mobile app. On Appdome, there’s never any coding and all integrations are completed in under a minute.
Advanced Configuration Options for Mobile TOTALDataTM Encryption
Appdome also provides options for customers to exclude certain files or folders from being encrypted. There is an option to automatically exclude all media files from being encrypted. And there is another option to name specific files that you wish to be excluded from encryption. For more information about TOTALDataTM Encryption check out our blog and our troubleshooting article.
Appdome dynamically generates symmetric data encryption keys at runtime. Keys are generated by Appdome by using industry-standard AES mechanisms. Keys are never stored on the device and are derived at run-time. In addition, Appdome can factor in additional contextual information such as bundle ID, device ID, checksums, user input (passwords, tokens), and application state conditions (eg: the existence of a debugger) into the key derivation mechanism. See the diagram below.
For advanced users, appdome also provides an option for customers to control parts of the key management process via an external key management system (KMS). With this option, additional external factors may be introduced for key derivation.
Like all features in the Appdome Mobile Security Suite, customers can implement this feature standalone, or combined with other mobile security features or 3rd party SDK/APIs – all of which can be integrated into any mobile app in minutes with no coding.
3 Easy Steps to Protect Mobile Data using Data-at-Rest Encryption
Follow 3 easy steps to protect data by adding Data At Rest Encryption to any iOS or Android app.
- Upload a mobile app to your Appdome account
- Within the TOTALData Encryption section in the security category, toggle on Data-at-Rest Encryption.
- Click “Build My App”
Congratulations! The app is now protected with data-at-rest encryption.
Prerequisites for Using Appdome’s Mobile TOTALData Encryption
More Options within TOTALData Encryption
- Expand TOTALDataTM Encryption category
- Click on the toggle to enable Data at Rest Encryption
Appdome In-App Encryption Keys – Appdome automatically will generate AES -256 encryption keys and will store them encrypted in the app memory.
- Enable Smart Media Sharing (optional for Appdome-DEV)
- Add a list of files that will be excluded from encryption. (optional for Appdome-GO)
- Exclude Media files from encryption. (optional for Appdome-GO)
- Exclude HTML files from encryption. (optional for Appdome-GO)
- Enable the option to Encrypt In-App Preferences
Enable the option to Encrypt Strings and Resources
- Enable the feature Enclaved Keys BETA
- Expand the Encryption Management sub-category:
- Enable Smart Offline Handoff (requires Appdome-DEV)
- Specify a Designated Folder directory in the app for offline handoff to be accessible to the app user.
- Specify the Session Timeout for expiration in days of accessing the offline data.
- Enable Require Local Authentication to allow app users to unlock offline access through local authentication in face recognition, Pincode, and fingerprint.
- Enable Restore From Backup which allows a restore from backup with an encryption key that is device independent to allow migrating data. (requires Appdome-DEV)
- Use In-App generated seed for key generation (requires Appdome-DEV)
- Enable data in use encryption aka Store in Protected Memory (requires Appdome-DEV)
- Enable Smart Offline Handoff (requires Appdome-DEV)
- Enable Enclave Keys BETA
- Enable FIPS 140-2 Cryptographic Modules
- Click Build My App.
The technology behind Build My App has two major elements – (1) a microservice architecture filled with 1000s of code sets needed for mobile integrations, and (2) an adaptive code generation engine that can recognize the development environment, frameworks and methods in each app and match the app to the relevant code-sets needed to add MicroVPN to the mobile app in seconds.
No Coding Dependency
How to Sign & Publish Secured Mobile Apps Built on Appdome
After successfully building your app using Appdome, there are several available options to complete your project, depending on your app lifecycle or workflow. These include:
- Signing Secure iOS and Android apps
- Customizing, Configuring & Branding Secure Mobile Apps
- Deploying/Publishing Secure mobile apps to Public or Private app stores
Or, see this quick reference Releasing Secured Android & iOS Apps built on Appdome.
How to Learn More
If you have any questions, please send them our way at email@example.com or via the chat window on the Appdome platform.
Thanks for visiting Appdome! Our mission is to secure every app on the planet by making mobile app security easy. We hope we’re living up to the mission with your project. If you don’t already have an account, you can sign up for free.