Java, Jini, Datagrams, and Cryptography:
A Recipe for Secure Remote Service

Alan Kaminsky
Information Technology Laboratory, RIT


Small mobile computing devices -- PDAs, cellphones, pagers -- are becoming prevalent. The old system architectures, based on fixed computers and peripherals, are no longer adequate. Federated service architectures will allow ever-changing collections of computers, mobile computing devices, and peripherals to discover each other's existence and make use of each other's services. Sun Microsystems' Java and Jini Connection Technology provide the infrastructure for federated service architectures. However, Java Remote Method Invocation (RMI) is not practical for invoking remote services involving small devices, and there is no defense against security threats such as unauthorized users performing remote service invocations, passive intruders learning sensitive information from remote service invocations, or active intruders replaying remote service invocations to disrupt the system.

In this talk I'll describe my recent work on Poor Man's Remote Method Invocation (PMRMI), a lightweight remote service invocation protocol based on UDP datagrams, that is suitable for small devices. I'll also describe my recent work on Secure PMRMI, which is PMRMI extended with encryption (to foil passive intruders and for authentication) and a challenge-response protocol (to foil active intruders). For encryption I am using the Rijndael block cipher, the recently-announced NIST Advanced Encryption Standard winner. I'll describe the Java implementation of Secure PMRMI and give a demonstration of Secure PMRMI in action.


Alan Kaminsky is a Senior Research Engineer in the Information Technology Laboratory, Rochester Institute of Technology. With 23 years of industrial and academic experience, Alan has taught software engineering as an assistant professor at RIT and has developed distributed embedded real-time software and served as a project team leader at AT&T Bell Laboratories, Harris Corporation RF Communications Division, and Xerox Corporation. Alan has been involved with Sun Microsystems' Jini Connection Technology since its inception in January 1999 and is a member of the Jini Community Technical Oversight Committee, the Jini Community's governing board. While at Xerox, Alan led the Jini Printing Working Group, a consortium of printer vendors which developed the standard for a Jini Print Service, and he was the chief architect of the Jini Print Service API. Alan is also a member of the IEEE Computer Society.

Colloquia Series page.