previous next trail start tutorial home feedback openwings.org

Openwings Security: Introduction

There is no silver bullet for security. However, a well-thought-out security strategy greatly increases the chances of achieving a secure system. Anyone that says a system is 100% secure is fooling themselves one hundred percent. In fact, security is much like a vaccine, as eventually new variants of disease occur that make the vaccine ineffective. A static security scheme will naturally deteriorate over time. If security is a wall, the higher it is the harder it is to overcome; but there is always a way to get over the wall. Security requires a good strategy, diligence, and the acceptance of the occasional inconvenience of security enforcement.

The Openwings architecture focuses on zero administration, plug-n-operate (PLOP) systems. Security is in direct opposition to this, as it attempts to put barriers in place to make systems more difficult to access. The trick is to provide ease of use for those who authorized to use it, while making it very difficult for those who are not authorized to use it. There is a natural tension between the dynamic nature of Openwings and the static nature of security models.

Achieving balance between the fundamental tension of security and ease of use is the goal of the Openwings Security specification. All security schemes create some barrier to entry--The variance in schemes is seen in how high and how many barriers there are. These barriers started with castle walls, moats, and keys; today there are firewalls, encryption, and certificates.

The Openwings Security Architecture is divided into several areas. These include Code Installation Security, Code Execution Security, and Service/Transport Security. Each of these areas addresses a different aspect of the security problem.

Code Installation Security provides a mechanism to verify that software installed within a distributed system is supplied by a trusted source, and to validate the integrity of the software prior to installation.

Code Execution Security addresses the problem of what code is allowed to do when it is executing on a platform. This includes permissions such as access to the file system, network ports, system devices and other such services. By limiting this access, the system provides a mechanism by which both trusted and untrusted mobile code can run within a "sandbox", within which access to resources may be controlled based on the level of trust allocated to the code.

Service/Transport Security addresses the problem of securing access to services, and at which level a given user may perform actions provided by a service. Additionally, it provides the ability to apply the concepts of privacy, integrity, and non-repudiation within a distributed system.

Openwings Security is a large and complex topic. Look at the Openwings Security Presentation for a good overview. You may also find reading the Security Specification helpful.

The rest of this tutorial trail covers how to install, configure, and use the secure version of the Openwings reference implementation. We provide three additional tutorial trails for component developers:

Next: Installing the Secure Openwings Reference Implementation

back to top

Copyright 2003, General Dynamics Decision Systems. All rights reserved.

previous next trail start tutorial home feedback openwings.org