What Do Software Developers Need to Know to Build Secure Energy-Efficient Android Applications?

Green computing is a growing trend in computing, pursuing the goal of helping software developers to be more aware and produce energy-efficient software. This is especially relevant for battery-powered mobile applications, where a minimal energy consumption is desired to both mitigate the greenhouse effect and extend the battery lifetime. In this paper, we analyze the energy consumption and execution time of cryptographic primitives in Android devices. Our ultimate goal is to help Android application developers, especially those who are not experts in security, to choose the most energy-efficient cryptographic algorithms considering different security providers and security transformations. Information to make a tradeoff between energy and time consumption is also provided, being especially useful when the differences in energy consumption of different alternatives are not so significant. We have conducted our experiments with an energy profiling tool based on the PowerTutor application, which has been adapted to automate the energy profiling. Our results show that this type of power consumption studies is necessary, because selecting the most energy-efficient configuration depends on many factors, and some of the choices are not obvious to developers.

[1]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[2]  Lei Yang,et al.  Accurate online power estimation and automatic battery behavior based power model generation for smartphones , 2010, 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[3]  Feng Qian,et al.  Measuring and optimizing android smartwatch energy consumption: poster , 2016, MobiCom.

[4]  Abram Hindle,et al.  Energy Profiles of Java Collections Classes , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[5]  Srivaths Ravi,et al.  Analyzing the energy consumption of security protocols , 2003, ISLPED '03.

[6]  Maurizio Aiello,et al.  Measuring the Energy Consumption of Cyber Security , 2017, IEEE Communications Magazine.

[7]  Gustavo Pinto,et al.  Mining questions about software energy consumption , 2014, MSR 2014.

[8]  Geovandro C. C. F. Pereira,et al.  Performance Evaluation of Cryptographic Algorithms over IoT Platforms and Operating Systems , 2017, Secur. Commun. Networks.

[9]  Mohey M. Hadhoud,et al.  Evaluating the Effects of Symmetric Cryptography Algorithms on Power Consumption for Different Data Types , 2010, Int. J. Netw. Secur..

[10]  Lidia Fuentes,et al.  A mobile and interactive multiobjective urban tourist route planning system , 2017, J. Ambient Intell. Smart Environ..

[11]  Alessio Merlo,et al.  A survey on energy-aware security mechanisms , 2015, Pervasive Mob. Comput..

[12]  Lidia Fuentes,et al.  iMuseumA: An Agent-Based Context-Aware Intelligent Museum System , 2014, Sensors.

[13]  Ding Li,et al.  An Empirical Study of the Energy Consumption of Android Applications , 2014, 2014 IEEE International Conference on Software Maintenance and Evolution.

[14]  Abhik Roychoudhury,et al.  Detecting energy bugs and hotspots in mobile apps , 2014, SIGSOFT FSE.

[15]  Alireza Sadeghi,et al.  Energy-aware test-suite minimization for Android apps , 2016, ISSTA.

[16]  Hiroshi Inamura,et al.  Power Consumption Profiling Method Based on Android Application Usage , 2015 .

[17]  Aleksandr Ometov,et al.  Feasibility characterization of cryptographic primitives for constrained (wearable) IoT devices , 2016, 2016 IEEE International Conference on Pervasive Computing and Communication Workshops (PerCom Workshops).

[18]  Stephen Kokoska,et al.  Chance Encounters: A First Course in Data Analysis and Inference , 2001, Technometrics.

[19]  Vijay Janapa Reddi,et al.  GreenWeb: language extensions for energy-efficient mobile web computing , 2016, PLDI.

[20]  Feng Xia,et al.  A Review on mobile application energy profiling: Taxonomy, state-of-the-art, and open research issues , 2015, J. Netw. Comput. Appl..

[21]  Jason Weiss,et al.  Java Cryptography Extensions: Practical Guide for Programmers , 2004 .

[22]  Joel J. P. C. Rodrigues,et al.  A survey on energy estimation and power modeling schemes for smartphone applications , 2017, Int. J. Commun. Syst..

[23]  David Brumley,et al.  An empirical study of cryptographic misuse in android applications , 2013, CCS.

[24]  Miguel Morales-Sandoval,et al.  An evaluation of AES and present ciphers for lightweight cryptography on smartphones , 2016, 2016 International Conference on Electronics, Communications and Computers (CONIELECOMP).

[25]  Alfredo De Santis,et al.  Modeling energy-efficient secure communications in multi-mode wireless mobile devices , 2015, J. Comput. Syst. Sci..

[26]  Naehyuck Chang,et al.  FEPMA: Fine-grained event-driven power meter for android smartphones based on device driver layer event monitoring , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[27]  Christian Bunse,et al.  Software Development Guidelines for Performance and Energy: Initial Case Studies , 2016, EnviroInfo.

[28]  Jose L. Muñoz,et al.  Evaluation of Cryptographic Capabilities for the Android Platform , 2015, FNSS.

[29]  Y. Charlie Hu,et al.  How much energy can we save from prefetching ads?: energy drain analysis of top 100 apps , 2013, HotPower '13.

[30]  Mingtian Zhou,et al.  The Survey and Future Evolution of Green Computing , 2011, 2011 IEEE/ACM International Conference on Green Computing and Communications.

[31]  Lidia Fuentes,et al.  Green Configurations of Functional Quality Attributes , 2017, SPLC.

[32]  Elaine B. Barker,et al.  Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher , 2004 .

[33]  Markus Wagner,et al.  Optimising Energy Consumption Heuristically on Android Mobile Phones , 2016, GECCO.

[34]  Abram Hindle,et al.  What Do Programmers Know about Software Energy Consumption? , 2016, IEEE Software.

[35]  Anudipa Maiti,et al.  Flexible And Effective Energy Management In Smartphones , 2015, MobiSys PhDForum.

[36]  William C. Barker,et al.  TECHNOLOGY ADMINISTRATION , 2004 .