SPARTA ISSO

Finished Projects

Cryptographic Technologies

Policy-Based Cryptographic Key Release Systems

Cryptographic Key Release Language Design and Specification

Overview
TIS has completed the initial design and prototype implementation of a Policy-Based Cryptographic Key Release system that meets a broad set of requirements. The goal was to develop an automated system that unifies and enforces the rules for key release specified by the owner of encrypted information and by all organizations having jurisdiction over the information. The key release policy (KRP) specification language provides a flexible vehicle for users and organizations to describe/select an appropriate policy for releasing each key that is protecting information under their control. Emphasis was placed on specifying a language that is easy to use and is understandable by users as well as computers. The language design incorporates several policy specification concepts developed in the research community and extends these results in a cohesive security structure supporting multiple security domains.

A prototype cryptographic key release system was developed and demonstrated which enforced dynamic and flexible authorization rules controlling key release. The system allows a set of authorization rules, collectively called a key release policy, to be created to control the release of a key. Provisions are included for: specifying who (by identity or role) can establish rules; specifying the precedence of rules established by different people or different organizations for the same data; and combining the rules provided by all these people and organizations into a single policy.

Generic requirements of various interests (e.g., individuals, corporations, jurisdictional organizations) in commercial cryptographic systems and for military organizations in unclassified applications were identified. Requirements for international computer network applications, such as international trade or commerce, were considered in the design model.

1.1 Background
All users of modern computer networks want to control and protect their information with high assurance. Military commanders require the ability to share vital and sensitive information with one group of allies one day and a different group the next day. Federal users need to disseminate public information about their programs widely but must be able to control and protect the information obtained in response to these programs. Corporations want control over their valuable, sensitive information, including that created by employees working on independent projects. Individual computer users want assurance that they can access their archived personal or financial information, including in times of crises such as the death of the creator of the information. Click Here to view a graphical explanation.

1.2 Scope
The initial task was to design and develop a prototype key release language that meets the requirements of private users, commercial organizations, and a variety of government users, including military personnel for unclassified applications. The second part of this task is to design a flexible system that can be built easily but that provides appropriate assurance (in a quantified manner) that the rules established for the release of a cryptographic key will be followed. The term "key release" as used in this statement means to provide the key or a copy of a key to a person (identified by a specific identity or role) in accordance with a specific and auditable set of policy rules. The goal was to support both normal and emergency distribution of cryptographic keys.

Key release, a subset of a larger topic termed key management, includes rules covering special requirements such as long-term key archiving and emergency key recovery. A key management policy may be as simple as generating one's own key, keeping it in a personal data storage encryption that the "owner" specifies, and never releasing to anyone but the owner. It may be as complex as specifying all the individuals and roles having authorization to access all the categories of sensitive information of an organization.

A key release policy may be easy to articulate at a "high" level but may be complex to specify in sufficient detail for a computer to enforce. The key release system needs to encompass individual-based policies, group-based policies, role-based policies, context- or environment-based policies, and authorization-based policies. The initial key release policy specification language includes both the syntax and semantics of the language. A prototype key release administration system implemented the initial key release policy language developed in this project. It included security support services such as user authentication and simple key release audit for demonstration purposes.

1.3 Technical Rationale and Plan for Achieving Goals
The first phase of the project included identifying generic requirements for key release by potential users, their managers (for organizational users), and organizations having jurisdiction in the location of use. A set of real and hypothetical requirements was identified. A representative set of requirements were defined for designing the initial release system without attempting to be comprehensive or complete.

Release Language using the set of real and theoretical requirements for key release, an initial release authorization language, was developed. Exemplary scenarios were defined (e.g.; a multinational military communication system, an individual's personal-records management system, a family's financial system, a corporate vital records system) for which key release policies were created. An initial set of release rules was developed, and a specification language was designed in which the rules were expressed. The system did not impose constraints on who could get access to encrypted data or what justified the authorized access but focused on establishing a rich syntactic language in which diverse requirements (i.e., rules) for key release could be expressed. The prototype system focused on automated methods of meeting the requirements (i.e., enforcing the rules). Emphasis was on developing mathematical, logical, and computational tools that provided controlled key release in accordance with a specific policy.

A formal language was designed that includes sets (e.g., keys, persons, groups, roles, organizations), relationships (e.g., MEMBER_OF, PRIORITY_N, SUBORTINATE_TO), constraints (e.g., BEFORE, AFTER), events (e.g., TIME, RELEASED), and conditions (e.g., DEFCON, CLOSED). Various key release policies were then specified for releasing the keys used to encrypt various data objects in various scenarios.

1.4 Government Coordination
Activities of this task were coordinated with the staffs of DARPA, NSA, NIST, and FBI. Points of contact were established within each organization that provided policy guidance and technical assistance and reviewed the results of the task.\

1.5 Personnel
The personnel selected to perform this task provide technical expertise, security experience, and organizational representation for this topic. Robert Rosenthal was the DARPA program manager responsible for overseeing the project. Dennis Branstad was the principal investigator (PI) on the task. David McGrew, Jeff Cook, and Sue Rho are TIS staff that provided policy administration system design, policy specification language, and formal policy analysis expertise and support. Dorothy Denning has done extensive work with law enforcement organizations in seeking to devise cryptographic systems in accordance with the laws of the U.S. Burt Kaliski has worked extensively with numerous commercial organizations in designing cryptographic algorithms for commercial applications. Russ Housley and Warwick Ford provided input on military and international security issues, respectively.

2.0 Deliverables
The primary deliverable of Part 1 of this task was the Key Release Language design. A set of requirement specifications was used in designing the language. PVS was used as a computer-based language verifier. The language was developed using formal methods as much as was feasible.

3.0. Status
The initial language design and prototype system implementation were completed in 1997. A design review and initial system demonstration were conducted in March 1997. TIS staff, the DARPA program manager, government coordinators, and several project consultants participated. The initial key release security requirements, language design, system architecture, and policy examples were reviewed. Demonstrations of the prototype policy administration system and initial formal policy analysis system were given. Feedback from the project consultants, government coordinators, and program manager was positive with specific suggestions for refinement provided. Final reports of the initial task are being prepared.

The DARPA/ITO Project Summary provides more information on recent accomplishments and plans.