Network Working Group M. Pritikin Internet-Draft Cisco Systems, Inc. Expires: April 16, 2004 October 17, 2003 Trusted Transitive Introduction Model draft-pritikin-ttimodel-00.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http:// www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on April 16, 2004. Copyright Notice Copyright (C) The Internet Society (2003). All Rights Reserved. Abstract We describe the 'out-of-band' exchange of data in a classical enrollment protocol as a Trusted Transitive Introduction (TTI) between two end entities and an introducer, thus distinguishing introduction from enrollment. This document describes the three system entities in the trusted transitive introduction model and the data exchanges between them. Three introduction stages are defined and examined in the context of a 'TTI over HTTP' introduction. Pritikin Expires April 16, 2004 [Page 1] Internet-Draft Trusted Transitive Introduction Model October 2003 Table of Contents 1. Requirements notation . . . . . . . . . . . . . . . . . . . 3 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 3. TTI Entities . . . . . . . . . . . . . . . . . . . . . . . . 5 4. TTI transports . . . . . . . . . . . . . . . . . . . . . . . 8 4.1 TTI over HTTP . . . . . . . . . . . . . . . . . . . . . . . 8 4.1.1 TTI over HTTP Welcome . . . . . . . . . . . . . . . . . . . 8 4.1.2 TTI over HTTP Introduction . . . . . . . . . . . . . . . . . 9 4.1.3 TTI over HTTP Completion . . . . . . . . . . . . . . . . . . 10 5. Where is the User in all this? . . . . . . . . . . . . . . . 11 6. Existing Infrastructures . . . . . . . . . . . . . . . . . . 12 7. Security Considerations . . . . . . . . . . . . . . . . . . 13 References . . . . . . . . . . . . . . . . . . . . . . . . . 15 Author's Address . . . . . . . . . . . . . . . . . . . . . . 15 Intellectual Property and Copyright Statements . . . . . . . 16 Pritikin Expires April 16, 2004 [Page 2] Internet-Draft Trusted Transitive Introduction Model October 2003 1. Requirements notation The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. Pritikin Expires April 16, 2004 [Page 3] Internet-Draft Trusted Transitive Introduction Model October 2003 2. Introduction When adding a device into a security domain the first task is to exchange cryptographic and configuration information between the security domain and the device. This process we term an Introduction. Prior to a successful Introduction there are no security associations between the device and the target security domain. After an introduction there is enough of a security association for the device and the security domain to communicate securely at least once. It is our expectation that this initial secure communication will be used to enroll and receive longer term credentials as appropriate. Classically this enrollment process has been handled by the 'out-of-band' communication of cryptographic and configuration information. Although this works well in the simple case, and is common practice, complex authentication and authorization infrastructures often require complex cryptographic keys and configurations to be exchanged. For example PKI deployments often involve involve manual verification of RSA public key material hashes, complex configuration tasks, and/or specific authorization tasks that must occur in a particular sequence. This process is a burden on the administrator and complicates deployment scenarios tremendously. The intuitive nature of the introduction has been lost in the details of the complex cryptographic and configuration material. Here we describe the introduction process as a communication protocol that leverages transitive trust across a third party, the introducer, to complete the 'out-of-band' exchange of data. This maintains the intuitive nature of an introduction while allowing complex configuration and cryptographic material to be exchanged, thus allowing simple enrollment procedures to be leveraged to support more complex enrollments. This process is Trusted Transitive Introduction (TTI). The basic concepts follow from a real life introduction: "Alice, meet Bob. Bob, this is Alice." The third party in this exchange is the Introducer, known by both Alice and Bob. Pritikin Expires April 16, 2004 [Page 4] Internet-Draft Trusted Transitive Introduction Model October 2003 3. TTI Entities An introduction involves at least three logical entities. For example the new device, the security domain, and the 'out-of-band' system administrator(s). TTI defines these entities as, (P) Petitioner (e.g. a new VPN client device). (I) Introducer (e.g. a user at their browser). (R) Registrar (e.g. the VPN network hub). Although described here as a discrete entities an instantiation of the TTI model may include situations where the logical entities are themselves complex systems. For example, (P) Petitioner (e.g. a product). (I) Introducer (e.g. a product vendor). (R) Registrar (e.g. a service provider). An important and likely component of at least one of these systems is the existing Authentication and Authorization (AA) the Petitioner is expecting to enroll with. In some instantiations of the TTI model all entities may include complex AA infrastructures. For clarity these are occasionally discussed as distinct from the TTI entities themselves. (A) Authority (e.g. a radius server, CA, or other) Graphically this looks like: +------------+ +-------------------+ +------------+ | Petitioner | | P's Authority (A) | | |<------>| (P) |--| (AAA, CA or other)| | | | | +-------------------+ | | +------------+ | | | Introducer | (there is no initial trust relationship | (I) | between P and R) | | +------------+ | | | Registrar | +-------------------+ | |<------>| (R) |--| R's Authority (A) | +------------+ | | | (AAA, CA or other)| +------------+ +-------------------+ Figure 1 Pritikin Expires April 16, 2004 [Page 5] Internet-Draft Trusted Transitive Introduction Model October 2003 The Petitioner is the entity obtaining new credentials after the TTI exchange. The Registrar is the entity issuing the new credentials. One possibility is that an entity may be both a Registrar and a Petitioner. The TTI protocols must consider such situations. The specifics of the relationship between each entity and its own Authority are out of the scope of the TTI model. The existence of either a Petition's or a Registrar's Authority does not effect the sequence of communication events, although it may effect the enrollment and configuration protocols that depend on TTI for their 'out-of-band' data exchange and it may effect the configuration information exchanged by TTI. The Introducer must authenticate to the Petitioner and Registrar using the authentication and authorization mechanisms currently in place. This recursive use of prior associations is the strength of TTI. It allows complex authentication and authorization mechanisms to be built from relatively simple default mechanisms. It is important to note that current enrollment scenarios also depend on existing authentication mechanisms. For example when a certificate request hash for PKI enrollment is transfered 'out-of-band' it is obtained, sent, and checked using the existing authentication/authorization mechanisms. After introduction is complete the Petitioner and Registrar have exchanged key and configuration material and can complete an authenticated exchange with each other. Due to the transitive and possibly manual nature of the introduction process TTI is not envisioned as as a full featured policy, configuration distribution, or enrollment mechanism. Instead peers are expected to conclude the introduction with an appropriate 'in band' enrollment mechanism. The specifics of this exchange are out of scope of this document. The peer entities now communicate directly to enroll: +------------+ +-------------------+ +------------+ | Petitioner | | P's Authority (A) | | | | (P) |--| (AAA, CA or other)| | | | | +-------------------+ | | +------------+ | | | | Introducer | | (Now can run enrollment protocol) | (I) | | | | +------------+ | (No longer | | Registrar | +-------------------+ | involved) | | (R) |--| R's Authority (A) | +------------+ | | | (AAA, CA or other)| +------------+ +-------------------+ Pritikin Expires April 16, 2004 [Page 6] Internet-Draft Trusted Transitive Introduction Model October 2003 Figure 2 Pritikin Expires April 16, 2004 [Page 7] Internet-Draft Trusted Transitive Introduction Model October 2003 4. TTI transports TTI should be transport independent. It is envisioned that the different TTI protocol instantiations of the TTI model may run on a variety of systems and protocols and should not be locked into a particular transport mechanism. Some areas that should be considered include: IP Layer 2 (e.g. over an 802.1x EAP or EAP/TLS exchange) IP Layer 3 (e.g. over an HTTP web/user based exchange) Storage medium (e.g. an introduction should be 'distributable' over a cd, smartcard, or other physical transport device) 4.1 TTI over HTTP The use of HTTP mechanisms for the TTI transport allows a common HTML web browser to be used as the Introducer in a TTI exchange. This provides support for an extremely important and useful example; where a user with their web browser initiates and completes the intuitive introduction of two network entities without having to know or understand the details of an introduction or enrollment. This document provides a brief overview of what this would look like to help explain the TTI model. The specific details of the TTI over HTTP redirections, encoding of cryptographic information, configuration information and resulting enrollment are out of scope of this document. For a simple implementation of TTI over HTTP the TTI entities are, 1. Petitioner - the device or product running a simple HTTP[S] server used by the TTI exchange. 2. Introducer - a user at their web browser. This may be on the same system as the Petitioner or it may be on a different system. 3. Registrar - the service or provider running a simple HTTP[S] server used by the TTI exchange. There are three phases to TTI over HTTP, each of these include an HTTP GET or an HTTP POST of data as described in the following sections. 4.1.1 TTI over HTTP Welcome Pritikin Expires April 16, 2004 [Page 8] Internet-Draft Trusted Transitive Introduction Model October 2003 Welcome. The user initiates their web browser (Introducer) to do an HTTP[S] GET from the Petitioner. This requires that the user, or the users web browser, log into the Petitioner according to the authentication and authorization infrastructure currently in place. The web page received includes 'hidden' input elements with cryptographic information that identifies the Petitioner device and and input field for the Registrar's HTTP address. The HTML input type 'hidden' avoids displaying complex cryptographic information and confusing the naive user, it is not a security mechanism. The user inputs the Registrar's HTTP[S] URL and clicks the 'next' button. The Introducer does an HTTP GET from Petitioner: +------------+ +-------------------+ +------------+ | Petitioner | | P's Authority (A) | | |<-------| (P) |--| (AAA, CA or other)| | | | | +-------------------+ | | +------------+ | | | Introducer | | (I) | | Web | +------------+ | Browser | | Registrar | +-------------------+ | | | (R) |--| R's Authority (A) | +------------+ | | | (AAA, CA or other)| +------------+ +-------------------+ Figure 3 4.1.2 TTI over HTTP Introduction Introduction. The Petitioner's cryptographic information is HTTP[S] POSTed to the Registrar's server. This requires that the user, or the user's web browser, log into the Registrar's server. As a result of the HTTP[S] POST, and authorization of the Introducer, the resulting web page includes, as hidden attributes, the cryptographic and configuration information for the Petitioner device. The user clicks the 'next' button. Introducer does an HTTP POST to the Registrar: +------------+ +-------------------+ +------------+ | Petitioner | | P's Authority (A) | | | | (P) |--| (AAA, CA or other)| | | | | +-------------------+ | | +------------+ | | Pritikin Expires April 16, 2004 [Page 9] Internet-Draft Trusted Transitive Introduction Model October 2003 | Introducer | | (I) | | Web | +------------+ | Browser |------->| Registrar | +-------------------+ | |<-------| (R) |--| R's Authority (A) | +------------+ | | | (AAA, CA or other)| +------------+ +-------------------+ (Note that an HTML page is recieved after doing an HTTP POST) Figure 4 4.1.3 TTI over HTTP Completion Completion. The cryptographic and configuration information from the registrar is HTTP[S] POSTed to the Petitioner. Introducer does an HTTP POST back to the Petitioner: +------------+ +-------------------+ +------------+ | Petitioner | | P's Authority (A) | | |------->| (P) |--| (AAA, CA or other)| | | | | +-------------------+ | | +------------+ | | | Introducer | | (I) | | Web | +------------+ | Browser | | Registrar | +-------------------+ | | | (R) |--| R's Authority (A) | +------------+ | | | (AAA, CA or other)| +------------+ +-------------------+ Figure 5 At this point the Petitioner and the Registrar have exchanged the appropriate information to engage in a secure enrollment protocol as in Figure 2. Pritikin Expires April 16, 2004 [Page 10] Internet-Draft Trusted Transitive Introduction Model October 2003 5. Where is the User in all this? The user drives an introduction by initiating events in an intuitive order. What they do not do is manually exchange or process data. The software tools they are using perform the actual work of the data exchange. In the above TTI over HTTP scenario the user drives the introduction process using a generic web browser. The user, at their web browser, is involved in every aspect of the TTI exchange. They are playing the role of the Introducer with only the very thin layer of their web browser to 'protect' them from being exposed to the raw cryptographic and configuration material. In the example presented they could examine this material by viewing the source of the HTML pages. Other uses of the TTI model can provide a thicker layer on top of the user experience. For example, custom introduction software, or tools, might be used. The user driving the introduction might not be at the Introducer at all. There is nothing in the TTI model to preclude a Petitioner from requesting an introduction from an Introducer. For example consider a user on their corporate laptop as the Petitioner. The user might initiate an introduction to one corporate resource by contacting the corporate Introducer resource. The Introducer, after authenticating and authorizing the user and/or laptop, proceeds to introduce the user's laptop to the resource. The laptop enrolls with the ultimate resource. Note that this is a transitive operation, the Introducer no longer needs to be involved during subsequent communications between the laptop and the resource. A common scenario may involve the user working from the Registrar to establish a security association with a new entity. From the user's perspective this should be the same as initiating an introduction from the Petitioner, with the only distinction being that data traffic (which AA infrastructure will be used). Instantiations of the TTI model should be careful to consider the possibilities that the initiating user may be initiating the process through any one of the TTI entities. Pritikin Expires April 16, 2004 [Page 11] Internet-Draft Trusted Transitive Introduction Model October 2003 6. Existing Infrastructures The TTI model depends on an existing security association between the Introducer and the Petitioner (and between the Introducer and the Registrar). These security associations may have been established with the help of a prior TTI exchange but some will have come about using one of the common mechanisms of, Imprinting (e.g. a new device with no password or authentication mechanism accepts the first entity to contact it as being an administrator). Assigned password (e.g. the most intuitive and simple of the 'out-of-band' mechanisms where an administrator selects an initial password and provides this to the new user. This includes one time password scenarios). Pre-provisioning (e.g. a more complex version of the 'assigned password' mechanism where an administrator pre-configures a device while it is in a 'safe' location. This is an expensive solution and it is usually used only when complex configurations and/or complex keys are being used) Self-introduction. (e.g. when a user generates a new account with minimal authorization steps involved. We see this at free email providers. "Hi Alice, my name is Bob".) These mechanisms are in common use because, by reducing the dependency on an out-of-band data exchange, they provide for simplified deployment scenarios (security is of course compromised by this approach). The TTI model allows us to limit their use to one time enrollment. After enrollment more secure authentication and authorization infrastructures can be used. Pritikin Expires April 16, 2004 [Page 12] Internet-Draft Trusted Transitive Introduction Model October 2003 7. Security Considerations This document discusses models for deploying security infrastructures. Any resulting TTI protocols will need to carefully consider how the protocol elements will be protected. The TTI model assumes that cryptographic material can be produced on the Petitioner and Registrar, passed over third parties (the Introducer) and later be be used to secure an enrollment between the Petitioner and Registrar. It is expected that asymmetric key material should be used for this portion of the exchange. This document develops the concept of the Introducer, a new construct in the normally bi-entity discussions of secure enrollment. This serves as an alternative to the historically loosely defined 'out-of-band' security measures. The security implications of a transitive relationship still apply. A compromised introducer could act to enable enrollment of unexpected elements into a secure domain in much the same way that a compromised 'out-of-band' mechanism can be used to subvert a classic enrollment scenario. Care must be taken not to overlook this when designing the TTI protocols. The transitive nature of TTI (and any 'out-of-band' data exchange) means that the Registrar does not know how secure the communication channel between the Petitioner and the Introducer is. An example of this is a Petitioner device, a wireless camera, that is being deployed over a wireless connection. Assuming the camera was purchased as a consumer product it might supports something like the Imprinting model above, the first consumer to activate and connect to it can establish an initial security association with the device. Possibly by configuring the administrator password on the device (A more complex scenario may involve an initial introduction to their home network). When the consumer then Introduces the device to a service, such as a video conferencing provider, the provider may be concerned that such a wireless imprinting provides too great of an attack risk. In such a situation the Registrar may require that the camera assert an identity (e.g. a manufacturer ID certificate) which can be verified by having the Introducer confirm some characteristic of the device (e.g. inputing a serial number off the device). In such scenarios the TTI protocol should provide a clear mechanism by which the Registrar can coach the Introducer through the appropriate sequence of events without undue confusion. The above examples of TTI over HTTP provides for this by leveraging a manufacturer PKI (the manufacturer ID certificate). Similar care Pritikin Expires April 16, 2004 [Page 13] Internet-Draft Trusted Transitive Introduction Model October 2003 should be taken to consider when the process is being initiated by automated deployment systems, or when the user is at the Petitioner device itself. Pritikin Expires April 16, 2004 [Page 14] Internet-Draft Trusted Transitive Introduction Model October 2003 References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. Author's Address Max Pritikin Cisco Systems, Inc. EMail: pritikin@cisco.com Pritikin Expires April 16, 2004 [Page 15] Internet-Draft Trusted Transitive Introduction Model October 2003 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. The IETF has been notified of intellectual property rights claimed in regard to some or all of the specification contained in this document. For more information consult the online list of claimed rights. Full Copyright Statement Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assignees. Pritikin Expires April 16, 2004 [Page 16] Internet-Draft Trusted Transitive Introduction Model October 2003 This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Pritikin Expires April 16, 2004 [Page 17]