Techniques are disclosed to provide security for user output and input in
which a first, host operating system is used along with a second, high
assurance operating system (nexus), where the first system provides at
least some of the infrastructure for the second system. A trusted UI
engine has a trusted input manager and a trusted output manager. The
trusted input manager controls access to trusted input, distributing
decrypted input to the host operating system where appropriate, or to the
appropriate process running in the nexus. The trusted output manager
manages output to the display, and allows trusted agents in the nexus to
output data for display without needing to be aware of
output-device-dependent details.