skip to main content
10.1145/2897845.2897887acmconferencesArticle/Chapter ViewAbstractPublication Pagesasia-ccsConference Proceedingsconference-collections
research-article

FLEX: A Flexible Code Authentication Framework for Delegating Mobile App Customization

Published:30 May 2016Publication History

ABSTRACT

Mobile code distribution relies on digital signatures to guarantee code authenticity. Unfortunately, standard signature schemes are not well suited for use in conjunction with program transformation techniques, such as aspect-oriented programming. With these techniques, code development is performed in sequence by multiple teams of programmers. This is fundamentally different from traditional single-developer/ single-user models, where users can verify end-to-end (i.e., developer-to-user) authenticity of the code using digital signatures. To address this limitation, we introduce FLEX, a flexible code authentication framework for mobile applications. FLEX allows semi-trusted intermediaries to modify mobile code without invalidating the developer's signature, as long as the modification complies with a "contract" issued by the developer. We introduce formal definitions for secure code modification, and show that our instantiation of FLEX is secure under these definitions. Although FLEX can be instantiated using any language, we design AMJ--a novel programming language that supports code annotations--and implement a FLEX prototype based on our new language.

References

  1. Apple App Store. http://www.apple.com/itunes/. Accessed: July 2015.Google ScholarGoogle Scholar
  2. Alessandro Armando, Gabriele Costa, Alessio Merlo, and Luca Verderame. Enabling BYOD Through Secure Meta-market. In Proceedings of the ACM Conference on Security and Privacy in Wireless and Mobile Networks, WiSec 2014, pages 219--230. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Giuseppe Ateniese, Daniel Chou, Breno de Medeiros, and Gene Tsudik. Sanitizable Signatures. In Proceedings of the European Symposium on Research in Computer Security, volume 3679 of ESORICS 2005, pages 159--177. Springer Berlin Heidelberg. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Gavin Bierman, Matthew Parkinson, and Andrew Pitts. MJ: An Imperative Core Calculus for Java and Java with Effects. Technical Report UCAM-CL-TR-563, University of Cambridge, 2003.Google ScholarGoogle Scholar
  5. Kai Bollert. On weaving aspects. In Ana M. D. Moreira and Serge Demeyer, editors, ECOOP Workshops, volume 1743 of Lecture Notes in Computer Science, pages 301--302. Springer, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. The Legion of the Bouncy Castle. https://www.bouncycastle.org/. Accessed: July 2015.Google ScholarGoogle Scholar
  7. Christina Brzuska, Marc Fischlin, Tobias Freudenreich, Anja Lehmann, Marcus Page, Jakob Schelbert, Dominique Schroder, and Florian Volk. Security of Sanitizable Signatures Revisited. In Proceedings of the International Conference on Practice and Theory in Public Key Cryptography, volume 5443 of PKC 2009, pages 317--336. Springer Berlin Heidelberg. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Lilian Burdy, Marieke Huisman, and Mariela Pavlova. Preliminary Design of BML: A Behavioral Interface Specification Language for Java Bytecode. In Proceedings of the Fundamental Approaches to Software Engineering, volume 4422 of FASE 2007, pages 215--229. Springer Berlin Heidelberg. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Firefox Marketplace. http://marketplace.firefox.com. Accessed: July 2015.Google ScholarGoogle Scholar
  10. FLEX Prototype. http://cl.ly/1L3n2P1i2F2d.Google ScholarGoogle Scholar
  11. Gogo Inflight Internet. http://www.gogoair.com.Google ScholarGoogle Scholar
  12. Google Play Store. http://play.google.com/. Accessed: July 2015.Google ScholarGoogle Scholar
  13. Robert Johnson, David Molnar, Dawn Xiaodong Song, and David Wagner. Homomorphic Signature Schemes. In Proceedings of the Cryptographer's Track at the RSA Conference on Topics in Cryptology, CT-RSA 2002, pages 244--262. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Gregor Kiczales. Aspect-oriented Programming. ACM Computer Survey, 28(4es), December 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier, and John Irwin. Aspect-oriented programming. In Mehmet Akşit and Satoshi Matsuoka, editors, ECOOP'97 -- Object-Oriented Programming, volume 1241 of Lecture Notes in Computer Science, pages 220--242. Springer Berlin Heidelberg, 1997.Google ScholarGoogle Scholar
  16. Gary Leavens, Albert Baker, and Clyde Ruby. JML: a Java Modeling Language. In Proceedings of the Workshop on Formal Underpinnings of Java, OOPSLA 1998.Google ScholarGoogle Scholar
  17. Steffen Lortz, Heiko Mantel, Artem Starostin, Timo Bahr, David Schneider, and Alexandra Weber. Cassandra: Towards a Certifying App Store for Android. In Proceedings of the Workshop on Security and Privacy in Smartphones and Mobile Devices, SPSM 2014, pages 93--104. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Bertrand Meyer. Applying "design by contract". Computer, 25(10):40--51, October 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Refik Molva and Françoise Baude. Mobile Code, Internet Security, and E-Commerce. In Proceedings of the European Conference on Object-Oriented Programming, ECOOP 2000, pages 270--281. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. George Necula. Proof-carrying Code. In Proceedings of the ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1997, pages 106--119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. OpenHAB project homepage. http://www.openhab.org/. Accessed: July 2015.Google ScholarGoogle Scholar
  22. R. Sekar, C. R. Ramakrishnan, I. V. Ramakrishnan, and S. A. Smolka. Model-Carrying Code (MCC): A New Paradigm for Mobile-code Security. In Proceedings of the Workshop on New Security Paradigms, NSPW 2001, pages 23--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Signing Your Applications. http://developer.android.com/tools/publishing/app-signing.html.Google ScholarGoogle Scholar
  24. Brian Cantwell Smith. Procedural Reflection in Programming Languages. PhD thesis, Massachusetts Institute of Technology, Laboratory for Computer Science, 1982.Google ScholarGoogle Scholar
  25. Starbucks. http://www.starbucks.com. Accessed: July 2015.Google ScholarGoogle Scholar
  26. Gregory Sullivan. Aspect-oriented Programming Using Reflection and Metaobject Protocols. Communications of the ACM, 44(10):95--97, October 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Wink Smart Hub. http://www.wink.com. Accessed: July 2015.Google ScholarGoogle Scholar
  28. Xsemantics. http://xsemantics.sourceforge.net/. Accessed: July 2015.Google ScholarGoogle Scholar
  29. Xtext. A framework for development of programming languages and domain specific languages. https://eclipse.org/Xtext/. Accessed: July 2015.Google ScholarGoogle Scholar

Index Terms

  1. FLEX: A Flexible Code Authentication Framework for Delegating Mobile App Customization

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ASIA CCS '16: Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security
      May 2016
      958 pages
      ISBN:9781450342339
      DOI:10.1145/2897845

      Copyright © 2016 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 30 May 2016

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      ASIA CCS '16 Paper Acceptance Rate73of350submissions,21%Overall Acceptance Rate418of2,322submissions,18%
    • Article Metrics

      • Downloads (Last 12 months)3
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader