7 INTERNET-DRAFT S. Sakane
8 Intended Status: Informational Yokogawa Electric Corp.
9 Expires: January 10, 2008 S. Zrelli
16 Problem statement on the cross-realm operation
17 of Kerberos in a specific system
18 draft-sakane-krb-cross-problem-statement-03.txt
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-
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.
51 Copyright (C) The IETF Trust (2007).
58 S.Sakane, et al. [Page 1]
60 Internet-Draft July 2007
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
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
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
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].
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
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
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.
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
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
404 R-5 It is demanded to reduce the management cost as much as
407 R-6 It is necessary to consider the processing performance of the
408 device. And, it is necessary to suppress the power consumption
411 R-7 It is necessary to consider bandwidth of the communication.
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
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
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
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.
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.
590 10.1. Normative References
592 [RFC4120] Neuman, C., Yu, T., Hartman, S., and K. Raeburn, "The
593 Kerberos Network Authentication Service (V5)", RFC
597 10.2. Informative References
599 [CSPC] http://www.shellchemicals.com/news/1,1098,72-news_id=
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.
633 Yokogawa Electric Corporation
634 2-9-32 Nakacho, Musashino-shi,
636 E-mail: Shouichi.Sakane@jp.yokogawa.com,
640 Japan Advanced Institute of Science and Technology
642 Ishikawa 923-1292 Japan
643 E-mail: zrelli@jaist.ac.jp
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-
730 S.Sakane, et al. [Page 13]