FLEX: A Flexible Code Authentication Framework for Delegating Mobile App Customization
Title | FLEX: A Flexible Code Authentication Framework for Delegating Mobile App Customization |
Publication Type | Conference Paper |
Year of Publication | 2016 |
Authors | Costa, Gabriele, Gasti, Paolo, Merlo, Alessio, Yu, Shunt-Hsi |
Conference Name | Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security |
Publisher | ACM |
Conference Location | New York, NY, USA |
ISBN Number | 978-1-4503-4233-9 |
Keywords | composability, Metrics, object oriented security, pubcrawl, Resiliency, Security and privacy Digital signatures, Security and privacy Formal security models, Software and its engineering Object oriented languages |
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. |
URL | http://doi.acm.org/10.1145/2897845.2897887 |
DOI | 10.1145/2897845.2897887 |
Citation Key | costa_flex:_2016 |