Today Android is one of the most popular mobile device (smart phones, tablet PCs, and their various hybrids) platforms, where the confortable Java environment can be used for application development. However, Android does not support high-level ordinary distributed application development (like RPC, Corba, RMI).
To achieve this, a modular, extensible and reusable framework has been developed at the Department of Control Engineering and Information Technology. The framework “AJAR” allows for remote procedure calls, providing an RMI-like comfort and functionality, regardless of the mode of the low-level communication applied.
The main goal of this thesis is to improve the previously developed AJAR by integrating it with security functions. The addition I’ve developed is called AJAR Crypto, featuring optional services like session-key encrypted data flow by key agreement protocol, peer authentication, message authentication by MAC (Message Authentication Code) and traffic compression – similarly to SSL/TLS standards.
The thesis begins with introducing the most applied and various cryptographic primitives, algorithms and methods. The next part is about the JSSE-based AJAR addition that works only over TCP/IP and implements secure communication based SSL/TLS standards. After that I present the AJAR Crypto, the idea based on the JSSE addition, a network layer independent implementation and the static and dynamic models of that extension. Finally, the thesis presents the measurement of the process overhead that comes from the methods of security modules.