Experience with Secure Multi-Processing in Java
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.