Secure Internet Programming - menu
Secure Internet Programming
Home
Projects
People
Publications
Support
Seminar
History
FAQ
Princeton University
Department of Computer Science

sip@cs.princeton.edu

Experience with Secure Multi-Processing in Java

Authors
Dirk Balfanz
Li Gong

Abstract
As Java is the preferred platform for the deployment of network computers, it is appealing to run multiple applications on a single Java desktop. We experimented with using the Java platform as a multi-processing, multi-user environment. Although the Java Virtual Machine (JVM) is not inherently a single-application design, we have found that the implementation of the Java Development Kit (JDK) often implicitly assumes that the Java Virtual Machine runs exactly one application at any one time. In this paper, we report the limitations we encountered and propose improvements to several aspects of the Java architecture, including its security features. We have implemented all the proposed changes in a prototype based on the in-house beta version of JDK 1.2. Our prototype uses a Bourne shell-like command line tool to launch multiple applications (such as Appletviewer) within one JVM.

Published
Technical Report 560-97, Department of Computer Science, Princeton University, September 1997

Text
GZip'ed Postscript (164k)
PDF (Adobe Acrobat) (2904k)

See Also
Tech Report 560-97
A slightly shorter version of this paper has appeared in the proceedings of ICDCS'98. It is available as GZip'ed Postscript and PDF.