add an invalid protection level to the enum
[heimdal.git] / doc / standardisation / draft-sakane-krb-cross-problem-statement-03.txt
blob2ac425adaf82f5010cce1b60b7573d5a136a8eff
7 INTERNET-DRAFT                                                 S. Sakane
8 Intended Status: Informational                   Yokogawa Electric Corp.
9 Expires: January 10, 2008                                      S. Zrelli
10                                                                    JAIST
11                                                              M. Ishiyama
12                                                            Toshiba Corp.
13                                                             July 9, 2007
16              Problem statement on the cross-realm operation
17                     of Kerberos in a specific system
18             draft-sakane-krb-cross-problem-statement-03.txt
23 Status of this Memo
25    By submitting this Internet-Draft, each author represents that any
26    applicable patent or other IPR claims of which he or she is aware
27    have been or will be disclosed, and any of which he or she becomes
28    aware will be disclosed, in accordance with Section 6 of BCP 79.
30    Internet-Drafts are working documents of the Internet Engineering
31    Task Force (IETF), its areas, and its working groups.  Note that
32    other groups may also distribute working documents as Internet-
33    Drafts.
35    Internet-Drafts are draft documents valid for a maximum of six months
36    and may be updated, replaced, or obsoleted by other documents at any
37    time.  It is inappropriate to use Internet-Drafts as reference
38    material or to cite them other than as "work in progress."
40    The list of current Internet-Drafts can be accessed at
41    http://www.ietf.org/1id-abstracts.html
43    The list of Internet-Draft Shadow Directories can be accessed at
44    http://www.ietf.org/shadow.html
46    This Internet-Draft expires in January 10, 2008.
49 Copyright Notice
51    Copyright (C) The IETF Trust (2007).
58 S.Sakane, et al.                                                [Page 1]
60 Internet-Draft                                                 July 2007
63 Abstract
65    There are some issues when the cross-realm operation of the Kerberos
66    Version 5 [RFC4120] is employed into actual specific systems.  This
67    document describes some examples of actual systems, and lists
68    requirements and restriction of the operation in such system.  Then
69    it describes issues when we apply the cross-realm operation to such
70    system.
74 Conventions used in this document
76    It is assumed that the readers are familiar with the terms and
77    concepts described in the Kerberos Version 5 [RFC4120].
114 S.Sakane, et al.                                                [Page 2]
116 Internet-Draft                                                 July 2007
119 Table of Contents
121     1. Introduction .................................................  4
122     2. Kerberos system ..............................................  4
123        2.1. Kerberos basic operation ................................  4
124        2.2. Cross-realm operation ...................................  5
125     3. Example of actual environment ................................  6
126     4. Requirements .................................................  7
127     5. Issues .......................................................  8
128        5.1. Unreliability of authentication chain ...................  8
129        5.2. No PFS in case of the indirect trust model ..............  8
130        5.3. Scalability of the direct trust model ...................  9
131        5.4. Exposure to DoS Attacks .................................  9
132        5.5. Client's performance ....................................  9
133        5.6. Pre-authentication problem in roaming scenarios ......... 10
134     6. Implementation consideration ................................. 10
135     7. IANA Considerations .......................................... 11
136     8. Security Considerations ...................................... 11
137     9. Acknowledgments .............................................. 11
138    10. References ................................................... 11
139        10.1. Normative References ................................... 11
140        10.2. Informative References ................................. 11
141    Authors' Addresses ............................................... 12
142    Full Copyright Statement ......................................... 12
143    Intellectual Property Statement .................................. 13
170 S.Sakane, et al.                                                [Page 3]
172 Internet-Draft                                                 July 2007
175 1.  Introduction
177    The Kerberos Version 5 is a widely deployed mechanism that a server
178    can authenticate a client access.  Each client belongs to a managed
179    domain called realm.  Kerberos supports the authentication in case of
180    situation that a client and a server belong to different realms.
181    This is called the cross-realm operation.
183    Meanwhile, there are lots of manners of operation in actual systems,
184    where Kerberos could be applied.  Large system or distributed system
185    are typically split into several managed domain.  The reason is, for
186    example, geographical reason or different management policy.  Even in
187    such system, an authentication mechanism over the different managed
188    domains is required.  When the cross-realm operation of Kerberos is
189    applied to such systems, some issues come out.
191    This document briefly describes the Kerberos Version 5 system and the
192    cross-realm operation.  Then, it describes two actual systems that
193    could be applied the Kerberos system, and describes seven
194    requirements of those systems in term both of management and
195    operation.  Finally, it lists six issues of the cross-realm operation
196    when it is applied to those system.
198    Note that this document might not describe whole of issues of the
199    cross-realm operation.  It also does not propose any solution to
200    solve issues which described in this document.  In further step, we
201    have to analyze the issues, define problems and explore the
202    solutions.  This work will be in another document.
204    This document is assumed that the readers are familiar with the terms
205    and concepts described in the Kerberos Version 5 [RFC4120].
208 2.  Kerberos system
211 2.1.  Kerberos basic operation
213    Kerberos [RFC4120] is a widely deployed authentication system.  The
214    authentication process in Kerberos involves principals and a Key
215    Distribution Center (KDC).  The principals can be users or services.
216    Each KDC maintains a principals database and shares a secret key with
217    each registered principal.
219    The authentication process allows a user to acquire the needed
220    credentials from the KDC.  These credentials allow services to
221    authenticate the users before granting them access to the resources.
222    An important part of the credentials are called Tickets.  There are
226 S.Sakane, et al.                                                [Page 4]
228 Internet-Draft                                                 July 2007
231    two kind of tickets: Ticket Granting Ticket (TGT) and Service Ticket.
232    The TGT is obtained periodically from the KDC and has a limited limit
233    after which it expires and the user must renew it.  The TGT is used
234    to obtain the other kind of tickets, Service Tickets.  The user
235    obtains a TGT from the Authentication Service (AS), a logical
236    component of the KDC.  The process of obtaining a TGT is referred to
237    as 'AS exchange'.  When a TGT request is issued by an user, the AS
238    responds by sending a reply packet containing the credentials which
239    consists of the TGT along with a random key called 'TGS Session Key'.
240    The TGT contains a set of information encrypted using a secret key
241    associated with a special service referred to as TGS (Ticket Granting
242    Service).  The TGS session key is encrypted using the user's key so
243    that the user can obtain the TGS session key only if she knows the
244    secret key shared with the KDC.  The TGT then is used to obtain
245    Service Tickets from the Ticket Granting Service (TGS)- the second
246    component of the KDC.  The process of obtaining service tickets is
247    referred to as 'TGS exchange'.  The request for a service ticket
248    consists on a packet containing a TGT and an 'Authenticator'.  The
249    Authenticator is encrypted using the TGS session key and contains the
250    identity of the user as well as time stamps (for protection against
251    replay attacks).  After decrypting the TGT (which was encrypted by
252    the AS using the TGS's secret key), the TGS extracts the TGS session
253    key.  Using that session key, it decrypts the Authenticator and
254    authenticates the user.  Then, the TGS issues credentials requested
255    by the user.  These credentials consist on a service ticket and a
256    session key that will be used to authenticate the user with the
257    desired application service.
260 2.2.  Cross-realm operation
262    The Kerberos protocol provides the cross-realm authentication
263    capabilities.  This allows users to obtain service tickets to access
264    services in foreign realms.  In order to access such services, the
265    users first contact their home KDC asking for a TGT that will be used
266    with the TGS of the foreign realm.  If the home realm and the foreign
267    realm share keys and have an established trust relationship, the home
268    KDC delivers the requested TGT.
270    However, if the home realm does not share inter-realm keys with the
271    foreign realm, the home KDC will provide a TGT that can be used with
272    an intermediary foreign realm that is likely to be sharing inter-
273    realm keys with the target realm.  The client can use this
274    'intermediary TGT' to communicate with the intermediary KDC which
275    will iterate the actions taken by the home KDC.  If the intermediary
276    KDC does not share inter-realm keys with the target foreign realm it
277    will point the user to another intermediary KDC (just as in the first
278    exchange between the user and its home KDC).  However, in the other
282 S.Sakane, et al.                                                [Page 5]
284 Internet-Draft                                                 July 2007
287    case (when it shares inter-realm keys with the target realm), the
288    intermediary KDC will issue a TGT that can be used with the KDC of
289    the target realm.  After obtaining a TGT for the desired foreign
290    realm, the client uses it to obtain service tickets from the TGS of
291    the foreign realm.  Finally, the user access the service using the
292    service ticket.
294    When the realms belong to the same institution, a chain of trust can
295    be determined by the client or the KDC by following the DNS domain
296    hierarchy and supposing that the parent domains share keys with all
297    its child sub-domains.  However, because the inter-realm trust model
298    is not necessarily constructing the hierarchic approach anytime, the
299    trust path must be specified manually.  When intermediary realms are
300    involved, the success of the cross-realm operation completely depends
301    on the realms that are part of the authentication path.
304 3.  Example of actual environment
306    In order to help understanding both requirements and restriction,
307    this section describes scale and operation of actual systems, where
308    it is possible to apply Kerberos.
310    We refer to actual petrochemical enterprise [SHELLCHEM], and show two
311    examples among its plants.  The enterprise produces bulk
312    petrochemicals and their delivery to large industrial customers.
313    There are 43 typical plants of the enterprise all over the world.
314    They are managed by the operation sites placed in 35 countries.  This
315    section shows two examples of them.
317    One is an example of a centralized system [CSPC].  CSPC is operated
318    by a joint enterprise of two companies.  This system is one of the
319    largest systems of this enterprise in the world.  This is placed in
320    the area of 3.4 square kilo meters in the north coast of Daya Bay,
321    Guangdong, which is at the southeast of China.  3,000 network
322    segments are established in the system.  16,000 control devices are
323    connected to the local area network.  These devices belong to
324    different 9 sub systems, A control device has some control points,
325    which are controlled and monitored by other devices remotely.  There
326    are 200,000 control points in all.  They are controlled by 3
327    different control center.
329    Another example is a distributed system [NAM].  The NAM (Nederlandse
330    Aardolie Maatschappij) is operated by a partnership company of two
331    enterprises that represent the oil company.  This system is
332    constituted by some plants that are geographically distributed within
333    the range of 863 square kilometers in the northern part of
334    Netherlands.  26 plants, each is named "cluster", are scattered in
338 S.Sakane, et al.                                                [Page 6]
340 Internet-Draft                                                 July 2007
343    the area.  They are connected each other by a private ATM WAN.  Each
344    cluster has approximately 500-1,000 control devices.  These devices
345    are managed by each local control center in each cluster.  In the
346    entire system of the NAM, there are one million control points.
348    In the both of the systems, the end devices are basically connected
349    to a local network by a twisted pair cable, which is a low band-width
350    of 32 kbps.  Low clock CPU, for example H8 [RNSS-H8] and M16C [RNSS-
351    M16C], are employed by many control devices.  Furthermore, to
352    suppress power consumption, these CPU may be lowered the number of
353    clocks.  Because there is a requirement of the explosion-proof.  The
354    requirement restricts the amount of total energy in the device.
356    A device on the network collects data from other devices which are
357    monitoring condition of the system.  The device uses the data to make
358    a decision how to control another devices.  And then the device gives
359    more than one instruction that controls other devices.  If it took
360    time for data to reach, they could not be associated.  The travel
361    time of data from the device to the other device is demanded within 1
362    second at least.
364    A part of the operation, like control of these system, maintenance,
365    and the environmental monitoring, is consigned to an external
366    organization.  Agents who are consigned walk around the plant to get
367    their information, or watch the plant from a remote site.
370 4.  Requirements
372    This section lists the requirements derived from the previous
373    section.  R-1, R-2, R-3 and R-4 are related to the management of the
374    divided system.  R-5, R-6 and R-7 are related to the restriction to
375    such industrial network.
378    R-1  It is necessary to partition a management domain into some
379         domains.  Or it is necessary to delegate a management authority
380         to another independent management domain.
382    R-2  It is necessary to allow different independent management
383         domains to coexist on the same network because two or more
384         organizations need to enter into the system and to management
385         it.
387    R-3  It is necessary that a device controls other devices that belong
388         to a different domain.
394 S.Sakane, et al.                                                [Page 7]
396 Internet-Draft                                                 July 2007
399    R-4  It is necessary to consider that a device is not always
400         geographically or network topologically close to the other
401         devices even when the devices belong to a same management
402         domain.
404    R-5  It is demanded to reduce the management cost as much as
405         possible.
407    R-6  It is necessary to consider the processing performance of the
408         device.  And, it is necessary to suppress the power consumption
409         of the device.
411    R-7  It is necessary to consider bandwidth of the communication.
414 5.  Issues
416    This section lists the issues in the cross-realm operation when we
417    apply the Kerberos version 5 into the system described in the section
418    3, and consider the system applied the Kerberos with the requirements
419    described in the section 4.
422 5.1.  Unreliability of authentication chain
424    When the relationship of trust is constructed like a chain or
425    hierarchical, the authentication path is not dependable since it
426    strongly depends on intermediary realms that might not be under the
427    same authority.  If any of the realms in the authentication path is
428    not available, then the principals of the end-realms can not perform
429    the cross-realm operation.
431    The end-point realms do not have full control and responsibility of
432    the success of the operations even if their respective KDCs are fully
433    functional.  Dependability of a system decreases if the system relies
434    on uncontrolled components.  We can not be sure at 100% about the
435    result of the authentication since we do not know how is it going in
436    intermediary realms.
438    This issue will happen as a by-product of a result meeting the
439    requirements R-1 and R-2.
442 5.2.  No PFS in case of the indirect trust model
444    In [SPECCROSS], any KDC in the authentication path can learn the
445    session key that will be used between the client and the desired
446    service.  This means that any intermediary realm is able to spoof the
450 S.Sakane, et al.                                                [Page 8]
452 Internet-Draft                                                 July 2007
455    identity either of the service or the client as well as to eavesdrop
456    on the communication between the client and the server.
458    This issue will happen as a by-product of a result meeting the
459    requirements R-1 and R-2.
462 5.3.  Scalability of the direct trust model
464    In the direct relationship of trust between each realm, the realms
465    involved in the cross-realm operation share keys and their respective
466    TGS principals are registered in each other's KDC.  When direct trust
467    relationships are used, the KDC of each realm must maintain keys with
468    all foreign realms.  This can become a cumbersome task when the
469    number of realms increase.  This also increases maintenance cost.
471    This issue will happen as a by-product of a result meeting the
472    requirements R-1, R-2 and R-5.
475 5.4.  Exposure to DoS Attacks
477    One of the assumption made when allowing the cross-realm operation in
478    Kerberos is that users can communicate with KDCs located in remote
479    realms.  This practice introduces security threats because KDCs are
480    open to the public network.  Administrators may think of restricting
481    the access to the KDC to the trusted realms only.  However, this
482    approach is not scalable and does not really protect the KDC.
483    Indeed, when the remote realms have several IP prefixes (e.g. control
484    centers or outsourcing companies, located world wide), then the
485    administrator of the local KDC must collect the list of prefixes that
486    belong to these organization.  The filtering rules must then
487    explicitly allow the incoming traffic from any host that belongs to
488    one of these prefixes.  This makes the administrator's tasks more
489    complicated and prone to human errors.  And also, the maintenance
490    cost increases.  On the other hand, when ranges of external IP
491    addresses are allowed to communicate with the KDC, the risk of
492    becoming target to attacks from remote malicious users increases.
495 5.5.  Client's performance
497    In the cross-realm operation, Kerberos clients have to perform TGS
498    exchanges with all the KDCs in the trust path, including the home KDC
499    and the target KDC.  TGS exchange requires cryptographic operations.
500    This exchange demands important processing time especially when the
501    client has limited computational capabilities.  The overhead of these
502    cross-realm exchanges grows into unacceptable delays.
506 S.Sakane, et al.                                                [Page 9]
508 Internet-Draft                                                 July 2007
511    We ported the MIT Kerberos library (version 1.2.4), implemented a
512    Kerberos client on our original board with H8 (16-bit, 20MHz), and
513    measured the process time of each Kerberos message [KRBIMPL].  It
514    takes 195 milliseconds to perform a TGS exchange with the on-board
515    H/W crypto engine.  Indeed, this result seems reasonable to the
516    requirement of the response time for the control network.  However,
517    we did not modify the clock speed of the H8 during our measurement.
518    The processing time must be slower in a actual environment because H8
519    is used with lowered clock speed in such system.  Also, the delays
520    can grow to unacceptable delays when the number of intermediary
521    realms increases.
523    This issue will happen as a by-product of a result meeting the
524    requirements R-1, R-2, R-6 and R-7.
527 5.6.  Pre-authentication problem in roaming scenarios
529    In roaming scenarios, the client needs to contact her home KDC to
530    obtain a cross-realm TGT for the local (or visited) realm.  However,
531    the policy of the network access providers or the gateway in the
532    local network usually does not allow clients to communicate with
533    hosts in the Internet unless they provide valid authentication
534    credentials.  In this manner, the client encounters a chicken-and-egg
535    problem where two resources are interdependent; the Internet
536    connection is needed to contact the home KDC and for obtaining
537    credentials, and on the other hand, the Internet connection is only
538    granted for clients who have valid credentials.  As a result, the
539    Kerberos protocol can not be used as it is for authenticating roaming
540    clients requesting network access.
542    This issue will happen as a result meeting the requirements R-3 and
543    R-4.
546 6.  Implementation consideration
548    This document just describes issues of the cross-realm operation.
549    However, there are important matters to be considered, when we solve
550    these issues and implement solution.  Solution must not introduce new
551    problem.  Solution should use existing components or protocols as
552    much as possible, should not introduce any definition of new
553    component.  Solution must not require a KDC to have any additional
554    process.  You must not forget that there would be a trade-off matter
555    anytime.  So an implementation may not solve all of the problems
556    stated in this document.
562 S.Sakane, et al.                                               [Page 10]
564 Internet-Draft                                                 July 2007
567 7.  IANA Considerations
569    This document makes no request of IANA.
572 8.  Security Considerations
574    This document just clarifies some issues of the cross-realm operation
575    of the Kerberos V system.  There is especially not describing
576    security.  Some troubles might be caused to your system by malicious
577    user who misuses the description of this document if it dares to say.
580 9.  Acknowledgments
582    The authors are very grateful to Nobuo Okabe, Kazunori Miyazawa,
583    Ken'ichi Kamada and Atsushi Inoue.  They gave us lots of comments and
584    input for this document.
587 10.  References
590 10.1.  Normative References
592    [RFC4120]     Neuman, C., Yu, T., Hartman, S., and K. Raeburn, "The
593                  Kerberos Network Authentication Service (V5)", RFC
594                  4120, July 2005.
597 10.2.  Informative References
599    [CSPC]        http://www.shellchemicals.com/news/1,1098,72-news_id=
600                  531,00.html
602    [KRBIMPL]     "A Prototype of a Secure Autonomous Bootstrap Mechanism
603                  for Control Networks", Nobuo Okabe, Shoichi Sakane,
604                  Masahiro Ishiyama, Atsushi Inoue and Hiroshi Esaki,
605                  SAINT, pp. 56-62, IEEE Computer Society, 2006.
607    [NAM]         http://www.nam.nl/
609    [RNSS-H8]     http://www.renesas.com/fmwk.jsp?cnt=h8_family_landing.
610                  jsp&fp=/products/mpumcu/h8_family/
612    [RNSS-M16C]   http://www.renesas.com/fmwk.jsp?cnt=m16c_family_landi
613                  ng.jsp&fp=/products/mpumcu/m16c_family/
618 S.Sakane, et al.                                               [Page 11]
620 Internet-Draft                                                 July 2007
623    [SHELLCHEM]   http://www.shellchemicals.com/home/1,1098,-1,00.html
625    [SPECCROSS]   I. Cervesato and A. Jaggard and A. Scedrov and C.
626                  Walstad, "Specifying Kerberos 5 Cross-Realm
627                  Authentication", Fifth Workshop on Issues in the Theory
628                  of Security, Jan 2005.
630 Authors' Addresses
632    Shoichi Sakane
633    Yokogawa Electric Corporation
634    2-9-32 Nakacho, Musashino-shi,
635    Tokyo  180-8750 Japan
636    E-mail: Shouichi.Sakane@jp.yokogawa.com,
639    Saber Zrelli
640    Japan Advanced Institute of Science and Technology
641    1-1 Asahidai, Nomi,
642    Ishikawa  923-1292 Japan
643    E-mail: zrelli@jaist.ac.jp
646    Masahiro Ishiyama
647    Toshiba Corporation
648    1, komukai-toshiba-cho, Saiwai-ku,
649    Kawasaki  212-8582 Japan
650    E-mail: masahiro@isl.rdc.toshiba.co.jp
653 Full Copyright Statement
655    Copyright (C) The IETF Trust (2007).
657    This document is subject to the rights, licenses and restrictions
658    contained in BCP 78, and except as set forth therein, the authors
659    retain all their rights.
661    This document and the information contained herein are provided on an
662    "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
663    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
664    THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
665    OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
666    THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
667    WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
674 S.Sakane, et al.                                               [Page 12]
676 Internet-Draft                                                 July 2007
679 Intellectual Property Statement
681    The IETF takes no position regarding the validity or scope of any
682    Intellectual Property Rights or other rights that might be claimed to
683    pertain to the implementation or use of the technology described in
684    this document or the extent to which any license under such rights
685    might or might not be available; nor does it represent that it has
686    made any independent effort to identify any such rights.  Information
687    on the procedures with respect to rights in RFC documents can be
688    found in BCP 78 and BCP 79.
690    Copies of IPR disclosures made to the IETF Secretariat and any
691    assurances of licenses to be made available, or the result of an
692    attempt made to obtain a general license or permission for the use of
693    such proprietary rights by implementers or users of this
694    specification can be obtained from the IETF on-line IPR repository at
695    http://www.ietf.org/ipr.
697    The IETF invites any interested party to bring to its attention any
698    copyrights, patents or patent applications, or other proprietary
699    rights that may cover technology that may be required to implement
700    this standard.  Please address the information to the IETF at ietf-
701    ipr@ietf.org.
730 S.Sakane, et al.                                               [Page 13]