s4:torture: Adapt KDC canon test to Heimdal upstream changes
[samba.git] / source4 / heimdal / doc / standardisation / draft-sakane-krb-cross-problem-statement-03.txt
1
2
3
4
5
6
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
14
15
16              Problem statement on the cross-realm operation
17                     of Kerberos in a specific system
18             draft-sakane-krb-cross-problem-statement-03.txt
19
20
21
22
23 Status of this Memo
24
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.
29
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.
34
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."
39
40    The list of current Internet-Drafts can be accessed at
41    http://www.ietf.org/1id-abstracts.html
42
43    The list of Internet-Draft Shadow Directories can be accessed at
44    http://www.ietf.org/shadow.html
45
46    This Internet-Draft expires in January 10, 2008.
47
48
49 Copyright Notice
50
51    Copyright (C) The IETF Trust (2007).
52
53
54
55
56
57
58 S.Sakane, et al.                                                [Page 1]
59 \f
60 Internet-Draft                                                 July 2007
61
62
63 Abstract
64
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.
71
72
73
74 Conventions used in this document
75
76    It is assumed that the readers are familiar with the terms and
77    concepts described in the Kerberos Version 5 [RFC4120].
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114 S.Sakane, et al.                                                [Page 2]
115 \f
116 Internet-Draft                                                 July 2007
117
118
119 Table of Contents
120
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170 S.Sakane, et al.                                                [Page 3]
171 \f
172 Internet-Draft                                                 July 2007
173
174
175 1.  Introduction
176
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.
182
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.
190
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.
197
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.
203
204    This document is assumed that the readers are familiar with the terms
205    and concepts described in the Kerberos Version 5 [RFC4120].
206
207
208 2.  Kerberos system
209
210
211 2.1.  Kerberos basic operation
212
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.
218
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
223
224
225
226 S.Sakane, et al.                                                [Page 4]
227 \f
228 Internet-Draft                                                 July 2007
229
230
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.
258
259
260 2.2.  Cross-realm operation
261
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.
269
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
279
280
281
282 S.Sakane, et al.                                                [Page 5]
283 \f
284 Internet-Draft                                                 July 2007
285
286
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.
293
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.
302
303
304 3.  Example of actual environment
305
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.
309
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.
316
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.
328
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
335
336
337
338 S.Sakane, et al.                                                [Page 6]
339 \f
340 Internet-Draft                                                 July 2007
341
342
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.
347
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.
355
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.
363
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.
368
369
370 4.  Requirements
371
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.
376
377
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.
381
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.
386
387    R-3  It is necessary that a device controls other devices that belong
388         to a different domain.
389
390
391
392
393
394 S.Sakane, et al.                                                [Page 7]
395 \f
396 Internet-Draft                                                 July 2007
397
398
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.
403
404    R-5  It is demanded to reduce the management cost as much as
405         possible.
406
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.
410
411    R-7  It is necessary to consider bandwidth of the communication.
412
413
414 5.  Issues
415
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.
420
421
422 5.1.  Unreliability of authentication chain
423
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.
430
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.
437
438    This issue will happen as a by-product of a result meeting the
439    requirements R-1 and R-2.
440
441
442 5.2.  No PFS in case of the indirect trust model
443
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
447
448
449
450 S.Sakane, et al.                                                [Page 8]
451 \f
452 Internet-Draft                                                 July 2007
453
454
455    identity either of the service or the client as well as to eavesdrop
456    on the communication between the client and the server.
457
458    This issue will happen as a by-product of a result meeting the
459    requirements R-1 and R-2.
460
461
462 5.3.  Scalability of the direct trust model
463
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.
470
471    This issue will happen as a by-product of a result meeting the
472    requirements R-1, R-2 and R-5.
473
474
475 5.4.  Exposure to DoS Attacks
476
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.
493
494
495 5.5.  Client's performance
496
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.
503
504
505
506 S.Sakane, et al.                                                [Page 9]
507 \f
508 Internet-Draft                                                 July 2007
509
510
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.
522
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.
525
526
527 5.6.  Pre-authentication problem in roaming scenarios
528
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.
541
542    This issue will happen as a result meeting the requirements R-3 and
543    R-4.
544
545
546 6.  Implementation consideration
547
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.
557
558
559
560
561
562 S.Sakane, et al.                                               [Page 10]
563 \f
564 Internet-Draft                                                 July 2007
565
566
567 7.  IANA Considerations
568
569    This document makes no request of IANA.
570
571
572 8.  Security Considerations
573
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.
578
579
580 9.  Acknowledgments
581
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.
585
586
587 10.  References
588
589
590 10.1.  Normative References
591
592    [RFC4120]     Neuman, C., Yu, T., Hartman, S., and K. Raeburn, "The
593                  Kerberos Network Authentication Service (V5)", RFC
594                  4120, July 2005.
595
596
597 10.2.  Informative References
598
599    [CSPC]        http://www.shellchemicals.com/news/1,1098,72-news_id=
600                  531,00.html
601
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.
606
607    [NAM]         http://www.nam.nl/
608
609    [RNSS-H8]     http://www.renesas.com/fmwk.jsp?cnt=h8_family_landing.
610                  jsp&fp=/products/mpumcu/h8_family/
611
612    [RNSS-M16C]   http://www.renesas.com/fmwk.jsp?cnt=m16c_family_landi
613                  ng.jsp&fp=/products/mpumcu/m16c_family/
614
615
616
617
618 S.Sakane, et al.                                               [Page 11]
619 \f
620 Internet-Draft                                                 July 2007
621
622
623    [SHELLCHEM]   http://www.shellchemicals.com/home/1,1098,-1,00.html
624
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.
629
630 Authors' Addresses
631
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,
637
638
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
644
645
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
651
652
653 Full Copyright Statement
654
655    Copyright (C) The IETF Trust (2007).
656
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.
660
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.
668
669
670
671
672
673
674 S.Sakane, et al.                                               [Page 12]
675 \f
676 Internet-Draft                                                 July 2007
677
678
679 Intellectual Property Statement
680
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.
689
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.
696
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.
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730 S.Sakane, et al.                                               [Page 13]
731 \f