Encryption and Real Time Decryption for protecting Machine Learning models in Android Applications
With the Increasing use of Machine Learning in Android applications, more research and efforts are being put into developing better-performing machine learning algorithms with a vast amount of data. Along with machine learning for mobile phones, the threat of extraction of trained machine learning models from application packages (APK) through reverse engineering exists. Currently, there are ways to protect models in mobile applications such as name obfuscation, cloud deployment, last layer isolation. Still, they offer less security, and their implementation requires more effort. This paper gives an algorithm to protect trained machine learning models inside android applications with high security and low efforts to implement it. The algorithm ensures security by encrypting the model and real-time decrypting it with 256-bit Advanced Encryption Standard (AES) inside the running application. It works efficiently with big model files without interrupting the User interface (UI) Thread. As compared to other methods, it is fast, more secure, and involves fewer efforts. This algorithm provides the developers and researchers a way to secure their actions and making the results available to all without any concern.
READ FULL TEXT