1 Network Working Group Johansson
2 Internet-Draft Stockholm university
3 Expires: December 30, 2004 July 2004
7 An information model for Kerberos version 5
8 draft-johansson-kerberos-model-01
14 This document is an Internet-Draft and is in full conformance with
15 all provisions of Section 10 of RFC2026.
18 Internet-Drafts are working documents of the Internet Engineering
19 Task Force (IETF), its areas, and its working groups. Note that
20 other groups may also distribute working documents as
24 Internet-Drafts are draft documents valid for a maximum of six months
25 and may be updated, replaced, or obsoleted by other documents at any
26 time. It is inappropriate to use Internet-Drafts as reference
27 material or to cite them other than as "work in progress."
30 The list of current Internet-Drafts can be accessed at
31 http://www.ietf.org/ietf/1id-abstracts.txt.
34 The list of Internet-Draft Shadow Directories can be accessed at
35 http://www.ietf.org/shadow.html.
38 This Internet-Draft will expire on December 30, 2004.
44 Copyright (C) The Internet Society (2004). All Rights Reserved.
50 This document describes an information model for Kerberos version 5
51 from the point of view of an administrative service. There is no
52 standard for administrating a kerberos 5 KDC. This document
53 describes the services exposed by an administrative interface to a
66 Johansson Expires December 30, 2004 [Page 1]
67 Internet-Draft An information model for Kerberos version 5 July 2004
74 1. Requirements notation . . . . . . . . . . . . . . . . . . . . 3
75 2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . 4
76 3. How to interpret RFC2119 terms . . . . . . . . . . . . . . . . 5
77 4. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6
78 5. Information model . . . . . . . . . . . . . . . . . . . . . . 7
79 5.1 Principal . . . . . . . . . . . . . . . . . . . . . . . . 7
80 5.1.1 Principal: Attributes . . . . . . . . . . . . . . . . 7
81 5.1.2 Principal: Associations . . . . . . . . . . . . . . . 7
82 5.1.3 Principal: Remarks . . . . . . . . . . . . . . . . . . 8
83 5.2 KeySet . . . . . . . . . . . . . . . . . . . . . . . . . . 8
84 5.2.1 KeySet: Attributes . . . . . . . . . . . . . . . . . . 8
85 5.2.2 KeySet: Associations . . . . . . . . . . . . . . . . . 8
86 5.2.3 KeySet: Remarks . . . . . . . . . . . . . . . . . . . 8
87 5.3 Key . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
88 5.3.1 Key: Attributes . . . . . . . . . . . . . . . . . . . 9
89 5.3.2 Key: Associations . . . . . . . . . . . . . . . . . . 9
90 5.3.3 Key: Remarks . . . . . . . . . . . . . . . . . . . . . 10
91 5.4 Policy . . . . . . . . . . . . . . . . . . . . . . . . . . 10
92 5.4.1 Policy: Attributes . . . . . . . . . . . . . . . . . . 10
93 5.4.2 Password Quality Policy . . . . . . . . . . . . . . . 10
94 5.4.3 Password Management Policy . . . . . . . . . . . . . . 10
95 5.4.4 Keying Policy . . . . . . . . . . . . . . . . . . . . 11
96 6. Implementation Scenarios . . . . . . . . . . . . . . . . . . . 12
97 6.1 LDAP backend to KDC . . . . . . . . . . . . . . . . . . . 12
98 6.2 LDAP frontend to KDC . . . . . . . . . . . . . . . . . . . 12
99 6.3 SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
100 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13
101 8. Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
102 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
103 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 14
104 Intellectual Property and Copyright Statements . . . . . . . . 15
124 Johansson Expires December 30, 2004 [Page 2]
125 Internet-Draft An information model for Kerberos version 5 July 2004
129 1. Requirements notation
132 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
133 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
134 document are to be interpreted as described in [RFC2119].
182 Johansson Expires December 30, 2004 [Page 3]
183 Internet-Draft An information model for Kerberos version 5 July 2004
190 The Kerberos version 5 authentication service described in [RFC1510]
191 describes how a Key Distribution Service (KDC) provides
192 authentication to clients. The standard does not stipulate how a KDC
193 is managed and several "kadmin" servers have evolved. This document
194 describes the services required to administrate a KDC and the
195 underlying information model assumed by a kadmin-type service.
198 The information model is written in terms of "attributes" and
199 "services" or "interfaces" but the use of these particular words MUST
200 NOT be taken to imply any particular modeling paradigm so that
201 neither an object oriented model or an LDAP schema is intended. The
202 author has attempted to describe in natural language the intended
203 semantics and syntax of the components of the model. An LDAP schema
204 (for instance) based on this model will be more precise in the
205 expression of the syntax while preserving the semantics of this
209 Implementations of this document MAY decide to change the names used
210 (eg principalName). If so an implementation MUST provide a name to
211 name mapping to this document.
242 Johansson Expires December 30, 2004 [Page 4]
243 Internet-Draft An information model for Kerberos version 5 July 2004
247 3. How to interpret RFC2119 terms
250 This document describes an information model for kerberos 5 but does
251 not directly describe any mapping onto a particular schema- or
252 modelling language. Hence an implementation of this model consists
253 of a mapping to such a language - eg an LDAP or SQL schema. The
254 precise interpretation of terms from [RFC2119] therefore require some
255 extra explanation. The terms MUST, MUST NOT, REQUIRED, SHALL, SHALL
256 NOT mean that an implementation MUST provide a feature but does not
257 mean that this feature MUST be REQUIRED by the implementation - eg an
258 attribute is available in an LDAP schema but marked as OPTIONAL. If
259 a feature must be implemented and REQUIRED this is made explicit in
260 this model. The term MAY, OPTIONAL and RECOMMENDED means that an
261 implementation MAY need to REQUIRE the feature due to the particular
262 nature of the schema/modelling language. In some cases this is
263 expressly forbidden by this model (feature X MUST NOT be REQUIRED by
267 Note that any implementation of this model SHOULD be published as an
301 Johansson Expires December 30, 2004 [Page 5]
302 Internet-Draft An information model for Kerberos version 5 July 2004
309 Love H÷rnquist-Êstrand <lha@it.su.se> for important contributions.
359 Johansson Expires December 30, 2004 [Page 6]
360 Internet-Draft An information model for Kerberos version 5 July 2004
370 The fundamental entity stored in a KDC is the principal. The
371 principal is associated to keys and generalizes the "user" concept.
372 The principal MUST be implemented in full and MUST NOT be optional in
376 5.1.1 Principal: Attributes
379 5.1.1.1 principalName
382 The principalName MUST uniquely identify the principal within the
383 administrative context of the KDC. The type of the principalName is
384 not described in this document. It is a unique identifier and can be
385 viewed as an opaque which can be compared for equality.
388 5.1.1.2 principalNotUsedBefore
391 The principal may not be used before this date. The syntax of the
392 attribute MUST be semantically equivalent with the standard ISO date
396 5.1.1.3 principalNotUsedAfter
399 The principal may not be used after this date. The syntax of the
400 attribute MUST be semantically equivalent with the standard ISO date
404 5.1.1.4 principalIsDisabled
407 A boolean attribute used to temporarily disable a principal.
410 5.1.1.5 principalAliases
413 This multivalued attribute contains a set of aliases for the
417 5.1.2 Principal: Associations
420 Each principal MAY be associated with 1 or more KeySet and MAY be
421 associated with 1 or more Policies. The KeySet is represented as an
422 object in this model since it has attributes associated with it (the
423 key version number). In typical situations the principal is
424 associated with exactly 1 KeySet but implementations MUST NOT assume
425 this case, i.e an implemenation of this standard (e.g an LDAP schema)
426 MUST be able to handle the general case of multiple KeySet associated
431 Johansson Expires December 30, 2004 [Page 7]
432 Internet-Draft An information model for Kerberos version 5 July 2004
439 5.1.3 Principal: Remarks
442 Traditionally a principal consists of a local-part and a realm
443 denoted in string form by local-part@REALM. The realm concept is
444 used to provide administrative boundaries and together with
445 cross-realm authentication provides scalability to Kerberos 5.
446 However the realm is not central to an administrative information
447 model. For instance the initialization or creation of a realm is
448 equivalent to creating a specific set of principals (krbtgt@REALM,
449 etc) which is covered by the model and services described in this
450 document. A realm is typically associated with policy covering (for
451 instance) keying and password management. The management of such
452 policy and their association to realms is beyond the scope of this
459 A KeySet is a set of keys associated with exactly one principal.
460 This object and its associations MUST NOT be REQUIRED by an
461 implementation. It is expected that most implementations of this
462 standard will use the set/change password protocol for all aspects of
463 key management [I-D.ietf-krb-wg-kerberos-set-passwd]. This
464 information model only includes these objects for the sake of
468 5.2.1 KeySet: Attributes
471 5.2.1.1 keySetVersionNumber
474 This is traditionally called the key version number (kvno).
477 5.2.2 KeySet: Associations
480 To each KeySet MUST be associated a set of 1 or more Keys.
483 5.2.3 KeySet: Remarks
486 The reason for separating the KeySet from the Principal is security.
487 The security of Kerberos 5 depends absolutely on the security of the
488 keys stored in the KDC. The KeySet type is provided to make this
489 clear and to make separation of keys from other parts of the model
493 Implementations of this standard (eg an LDAP schema) MUST preserve
500 Johansson Expires December 30, 2004 [Page 8]
501 Internet-Draft An information model for Kerberos version 5 July 2004
508 Implementations of this model MUST NOT REQUIRE keys to be
512 5.3.1 Key: Attributes
515 5.3.1.1 keyEncryptionType
518 The enctype. The precise representation depends on the
525 The binary representation of the key data.
531 The binary representation of the key salt.
534 5.3.1.4 keyStringToKeyParameter
537 The syntax of this opaque object is defined by the encryption type
541 5.3.1.5 keyNotUsedAfter
544 This key MUST NOT be used after this date. The syntax of the
545 attribute MUST be semantically equivalent with the standard ISO date
549 5.3.1.6 keyNotUsedBefore
552 This key MUST NOT be used before this date. The syntax of the
553 attribute MUST be semantically equivalent with the standard ISO date
557 5.3.1.7 keyIsDisabled
560 If this attribute is true the key MUST NOT be used. This is used to
561 temporarily disable a key.
564 5.3.2 Key: Associations
575 Johansson Expires December 30, 2004 [Page 9]
576 Internet-Draft An information model for Kerberos version 5 July 2004
583 The security of the keys is an absolute requirement for the operation
584 of Kerberos 5. If keys are implemented adequate protection from
585 unauthorized modification and disclosure MUST be available and
586 REQUIRED by the implementation.
592 Implementations SHOULD implement policy but MAY allow them to be
596 5.4.1 Policy: Attributes
599 5.4.1.1 policyIdentifier
602 The policyIdentifier MUST be unique within the local administrative
603 context and MUST be globally unique. Possible types of identifiers
607 An Object Identifier (OID)
612 5.4.1.2 policyIsMandatory
615 This attribute indicates that the KDC MUST be able to correctly
616 interpret and apply this policy for the key to be used.
619 5.4.1.3 policyContent
622 This is an optional opaque binary value used to store a
623 representation of the policy. In general a policy cannot be fully
624 expressed using attribute-value pairs. The policyContent is OPTIONAL
625 in the sense that an implementation MAY use it to store an opaque
626 value for those policy-types which are not directly representable in
630 5.4.2 Password Quality Policy
633 5.4.2.1 Password Quality Policy: Attributes
636 Password quality policy controls the requirements placed by the KDC
637 on new passwords. TODO: update with information from Nico
640 5.4.3 Password Management Policy
647 Johansson Expires December 30, 2004 [Page 10]
648 Internet-Draft An information model for Kerberos version 5 July 2004
652 5.4.3.1 Password Management Policy: Attributes
655 Password management policy controls how passwords are changed. TODO:
656 update with information from Nico and Ludovic
662 5.4.4.1 Keying Policy: Attributes
665 A keying policy specifies the association of enctypes with new
666 principals, i.e when a principal is created one of the possibly many
667 applicable keying policies determine the set of keys to associate
668 with the principal. In general the expression of a keying policy may
669 require a Touring-complete language.
708 Johansson Expires December 30, 2004 [Page 11]
709 Internet-Draft An information model for Kerberos version 5 July 2004
713 6. Implementation Scenarios
716 There are several ways to implement an administrative service for
717 Kerberos 5 based on this information model. In this section we list
721 6.1 LDAP backend to KDC
724 Given an LDAP schema implementation of this information model it
725 would be possible to build an administrative service by backending
726 the KDC to a directory server where principals and keys are stored.
727 Using the security mechanisms available on the directory server keys
728 are protected from access by anyone apart from the KDC.
729 Administration of the principals, policy and other non-key data is
730 done through the directory server while the keys are modified using
731 the set/change password protocol
732 [I-D.ietf-krb-wg-kerberos-set-passwd].
735 6.2 LDAP frontend to KDC
738 An alternative way to provide a directory interface to the KDC is to
739 implement an LDAP-frontend to the KDC which exposes all non-key
740 objects as entries and attributes. As in the example above all keys
741 are modified using the set/change password protocol
742 [I-D.ietf-krb-wg-kerberos-set-passwd]. In this scenario the
743 implementation would typically not use a traditional LDAP
744 implementation but treat LDAP as an access-protocol to data in the
751 Given an XML schema implementation of this information model it would
752 be possible to build a SOAP-interface to the KDC. This demonstrates
753 the value of creating an abstract information model which is mappable
754 to multiple schema representations.
772 Johansson Expires December 30, 2004 [Page 12]
773 Internet-Draft An information model for Kerberos version 5 July 2004
777 7. Security Considerations
780 This document describes an abstract information model for Kerberos 5.
781 The Kerberos 5 protocol depends on the security of the keys stored in
782 the KDC. The model described here assumes that keys MUST NOT be
783 transported in the clear over the network and furthermore that keys
784 are treated as write-only attributes that SHALL only be modified
785 (using the administrative interface) by the change-password protocol
786 [I-D.ietf-krb-wg-kerberos-set-passwd].
789 Exposing the object model of a KDC typically implies that objects can
790 be modified and/or deleted. In a KDC not all principals are created
791 equal, so that for instance deleting krbtgt/EXAMPLE.COM@EXAMPLE.COM
792 effectively disables the EXAMPLE.COM realm. Hence access control is
793 paramount to the security of any implementation. This document does
794 not (at the time of writing - leifj) mandate access control. This
795 only implies that access control is beyond the scope of the standard
796 information model, i.e that access control MAY NOT be accessible via
797 any protocol based on this model. If access control objects is
798 exposed via an extension to this model the presence of access control
799 may in itself provide points of attack by giving away information
800 about principals with elevated rights etc. etc.
831 Johansson Expires December 30, 2004 [Page 13]
832 Internet-Draft An information model for Kerberos version 5 July 2004
839 A few notes and TODOs:
840 Do we want to model access control? I have received a few notes on
841 that from Love. It will affect both the model and the security
842 considerations but It may be relevant. The catch is that most
843 implementations (SOAP, LDAP, etc) will have acl mechanisms
844 separate from the data which makes modeling acls difficult.
845 Perhaps there are certain aspects of access control which can be
846 modeled with relative ease - for instance the ability to make an
848 Need to specify how extensions to the model happens.
849 Comparison for equality is implied by specifying syntax, but what
850 about ordering? Do we need/want to compare objects/
851 attribute-values for order?
852 Explanatory text on a few of the basic attributes that doesn't
853 just repeat the section title.
854 Expand on the password policy types. Is the subdivision into
855 quality and management policies valid?
861 [I-D.ietf-krb-wg-kerberos-clarifications]
862 Neuman, C., "The Kerberos Network Authentication Service
863 (V5)", draft-ietf-krb-wg-kerberos-clarifications-05 (work
864 in progress), February 2004.
867 [I-D.ietf-krb-wg-kerberos-set-passwd]
868 Trostle, J., "Kerberos Set/Change Password: Version 2",
869 draft-ietf-krb-wg-kerberos-set-passwd-01 (work in
870 progress), October 2003.
873 [RFC1510] Kohl, J. and B. Neuman, "The Kerberos Network
874 Authentication Service (V5)", RFC 1510, September 1993.
877 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
878 Requirement Levels", BCP 14, RFC 2119, March 1997.
887 Enheten f÷r IT och Media
891 EMail: leifj@it.su.se
892 URI: http://people.su.se/~leifj/
897 Johansson Expires December 30, 2004 [Page 14]
898 Internet-Draft An information model for Kerberos version 5 July 2004
902 Intellectual Property Statement
905 The IETF takes no position regarding the validity or scope of any
906 intellectual property or other rights that might be claimed to
907 pertain to the implementation or use of the technology described in
908 this document or the extent to which any license under such rights
909 might or might not be available; neither does it represent that it
910 has made any effort to identify any such rights. Information on the
911 IETF's procedures with respect to rights in standards-track and
912 standards-related documentation can be found in BCP-11. Copies of
913 claims of rights made available for publication and any assurances of
914 licenses to be made available, or the result of an attempt made to
915 obtain a general license or permission for the use of such
916 proprietary rights by implementors or users of this specification can
917 be obtained from the IETF Secretariat.
920 The IETF invites any interested party to bring to its attention any
921 copyrights, patents or patent applications, or other proprietary
922 rights which may cover technology that may be required to practice
923 this standard. Please address the information to the IETF Executive
928 Full Copyright Statement
931 Copyright (C) The Internet Society (2004). All Rights Reserved.
934 This document and translations of it may be copied and furnished to
935 others, and derivative works that comment on or otherwise explain it
936 or assist in its implementation may be prepared, copied, published
937 and distributed, in whole or in part, without restriction of any
938 kind, provided that the above copyright notice and this paragraph are
939 included on all such copies and derivative works. However, this
940 document itself may not be modified in any way, such as by removing
941 the copyright notice or references to the Internet Society or other
942 Internet organizations, except as needed for the purpose of
943 developing Internet standards in which case the procedures for
944 copyrights defined in the Internet Standards process must be
945 followed, or as required to translate it into languages other than
949 The limited permissions granted above are perpetual and will not be
950 revoked by the Internet Society or its successors or assignees.
953 This document and the information contained herein is provided on an
954 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
955 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
956 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
961 Johansson Expires December 30, 2004 [Page 15]
962 Internet-Draft An information model for Kerberos version 5 July 2004
966 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
967 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
974 Funding for the RFC Editor function is currently provided by the
1019 Johansson Expires December 30, 2004 [Page 16]