x
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@21697 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -0,0 +1,787 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Network Working Group Ken'ichi Kamada
|
||||||
|
INTERNET-DRAFT Shoichi Sakane
|
||||||
|
Expires: January 10, 2008 Yokogawa Electric Corporation
|
||||||
|
July 9, 2007
|
||||||
|
|
||||||
|
|
||||||
|
Client-Friendly Cross-Realm Model for Kerberos 5
|
||||||
|
draft-kamada-krb-client-friendly-cross-02.txt
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Status of this Memo
|
||||||
|
|
||||||
|
By submitting this Internet-Draft, each author represents that any
|
||||||
|
applicable patent or other IPR claims of which he or she is aware
|
||||||
|
have been or will be disclosed, and any of which he or she becomes
|
||||||
|
aware will be disclosed, in accordance with Section 6 of BCP 79.
|
||||||
|
|
||||||
|
Internet-Drafts are working documents of the Internet Engineering
|
||||||
|
Task Force (IETF), its areas, and its working groups. Note that
|
||||||
|
other groups may also distribute working documents as Internet-
|
||||||
|
Drafts.
|
||||||
|
|
||||||
|
Internet-Drafts are draft documents valid for a maximum of six months
|
||||||
|
and may be updated, replaced, or obsoleted by other documents at any
|
||||||
|
time. It is inappropriate to use Internet-Drafts as reference
|
||||||
|
material or to cite them other than as "work in progress."
|
||||||
|
|
||||||
|
The list of current Internet-Drafts can be accessed at
|
||||||
|
http://www.ietf.org/1id-abstracts.html.
|
||||||
|
|
||||||
|
The list of Internet-Draft Shadow Directories can be accessed at
|
||||||
|
http://www.ietf.org/shadow.html.
|
||||||
|
|
||||||
|
This Internet-Draft expires on January 10, 2008.
|
||||||
|
|
||||||
|
|
||||||
|
Copyright Notice
|
||||||
|
|
||||||
|
Copyright (C) The IETF Trust (2007).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kamada and Sakane [Page 1]
|
||||||
|
|
||||||
|
Internet-Draft Client-Friendly Cross-Realm July 2007
|
||||||
|
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
|
||||||
|
This document proposes a cross-realm traversal model, which is
|
||||||
|
suitable for resource-limited clients, for Kerberos Version 5. This
|
||||||
|
model provides a way to move the cost of consecutive Ticket-Granting
|
||||||
|
Service (TGS) exchanges from clients to Key Distribution Centers
|
||||||
|
(KDCs) and a way to reduce the traversal cost by generating a direct
|
||||||
|
inter-realm relationship between two realms. The document describes
|
||||||
|
behavior of clients and KDCs, but does not specify any wire format,
|
||||||
|
which need to be specified separately.
|
||||||
|
|
||||||
|
|
||||||
|
Table of Contents
|
||||||
|
|
||||||
|
1. Introduction ................................................. 3
|
||||||
|
2. Problems on Client Performance ............................... 3
|
||||||
|
2.1. Long Authentication Path ................................ 4
|
||||||
|
2.2. Client-Centric Ticketing ................................ 4
|
||||||
|
3. Proposal of Client-Friendly Cross-Realm Model ................ 4
|
||||||
|
3.1. Temporary Inter-Realm Relationship Generation Mode ...... 5
|
||||||
|
3.2. Attorney Ticketing Mode ................................. 6
|
||||||
|
3.3. Combination of the Two Modes ............................ 7
|
||||||
|
4. Advantage of The Proposed Model for Deployment ............... 8
|
||||||
|
4.1. Compatibility with Traditional Kerberos Deployment ...... 8
|
||||||
|
4.2. Orthogonality of the Two Modes .......................... 8
|
||||||
|
5. Front-End Protocol for Attorney Ticketing Mode ............... 9
|
||||||
|
6. Related Protocols Currently Proposed ......................... 10
|
||||||
|
6.1. PKCROSS ................................................. 10
|
||||||
|
6.2. XTGS .................................................... 10
|
||||||
|
7. Interoperability Considerations .............................. 10
|
||||||
|
8. Security Considerations ...................................... 11
|
||||||
|
8.1. Denial of Service (DoS) ................................. 11
|
||||||
|
8.2. Ticketing Policy ........................................ 11
|
||||||
|
9. IANA Considerations .......................................... 12
|
||||||
|
10. Acknowledgments .............................................. 12
|
||||||
|
11. References ................................................... 12
|
||||||
|
11.1. Normative References ................................... 12
|
||||||
|
11.2. Informative References ................................. 12
|
||||||
|
Authors' Addresses ............................................... 13
|
||||||
|
Full Copyright Statement ......................................... 13
|
||||||
|
Intellectual Property Statement .................................. 13
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kamada and Sakane [Page 2]
|
||||||
|
|
||||||
|
Internet-Draft Client-Friendly Cross-Realm July 2007
|
||||||
|
|
||||||
|
|
||||||
|
1. Introduction
|
||||||
|
|
||||||
|
Kerberos Version 5 [RFC4120] has a concept of cross-realm
|
||||||
|
authentication so that principals in different realms can
|
||||||
|
authenticate each other. However in the current cross-realm model,
|
||||||
|
each client has to traverse the authentication path, and the burden
|
||||||
|
of the traversal is not negligible for clients with limited
|
||||||
|
resources, e.g., computational speed or power supply [CRPS].
|
||||||
|
|
||||||
|
In the current cross-realm operation, a client obtains a service
|
||||||
|
ticket for a remote principal in the following steps:
|
||||||
|
|
||||||
|
1) N TGSes to get cross-realm TGTs in order to traverse the
|
||||||
|
intermediate realms, where N is the number of transit, and
|
||||||
|
|
||||||
|
2) One TGS to get the final service ticket.
|
||||||
|
|
||||||
|
That is, the client needs to perform N + 1 transactions to obtain a
|
||||||
|
ticket for the remote service.
|
||||||
|
|
||||||
|
This document proposes a new cross-realm model, which consists of
|
||||||
|
"temporary inter-realm relationship generation mode" and "attorney
|
||||||
|
ticketing mode". The former is intended to reduce transit cost
|
||||||
|
itself, and the latter is to move the cost from clients to KDCs. The
|
||||||
|
document describes behavior of clients and KDCs, but does not specify
|
||||||
|
any wire format, which need to be specified separately.
|
||||||
|
|
||||||
|
Terms defined in section 1.7 of RFC 4120 are used throughout this
|
||||||
|
document.
|
||||||
|
|
||||||
|
|
||||||
|
2. Problems on Client Performance
|
||||||
|
|
||||||
|
In the current model of cross-realm operation, a client has to
|
||||||
|
transit all realms on the path to the destination realm. When the
|
||||||
|
source realm and the destination realm have a direct inter-realm
|
||||||
|
relationship, a client is able to obtain a service ticket with two
|
||||||
|
TGS transactions (one for a cross-realm TGT and another for the
|
||||||
|
service ticket). When the realms have a multi-hop relationship, a
|
||||||
|
client must transit the intermediate realms before it obtains the
|
||||||
|
service ticket. That is, the client's task increases in proportion
|
||||||
|
to the distance of the relationship.
|
||||||
|
|
||||||
|
Two issues can be observed here behind the client load, which are
|
||||||
|
described in the following subsections.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kamada and Sakane [Page 3]
|
||||||
|
|
||||||
|
Internet-Draft Client-Friendly Cross-Realm July 2007
|
||||||
|
|
||||||
|
|
||||||
|
2.1. Long Authentication Path
|
||||||
|
|
||||||
|
When a client wants to get a service ticket for a remote realm, it
|
||||||
|
must transit to the remote realm by traversing the intermediate
|
||||||
|
realms on the authentication path to the remote realm. The result of
|
||||||
|
traversal is cached as a cross-realm TGT, but it is nothing more than
|
||||||
|
a per-client optimization. Thus all clients accessing a remote realm
|
||||||
|
must pay the cost separately, even if their resources are limited.
|
||||||
|
For a long authentication path, the cost of the whole system becomes
|
||||||
|
large.
|
||||||
|
|
||||||
|
2.2. Client-Centric Ticketing
|
||||||
|
|
||||||
|
In Kerberos, any service tickets or cross-realm TGTs are issued via
|
||||||
|
TGS, where a client present a ticket for the TGS and obtains a next
|
||||||
|
ticket. Currently, all TGS transactions are initiated by the client
|
||||||
|
and it needs to get all necessary cross-realm TGTs iteratively before
|
||||||
|
the final service ticket. This process is a burden to a resource-
|
||||||
|
limited client.
|
||||||
|
|
||||||
|
|
||||||
|
3. Proposal of Client-Friendly Cross-Realm Model
|
||||||
|
|
||||||
|
In this section, two modes of operation are introduced, "Temporary
|
||||||
|
Inter-Realm Relationship Generation Mode" and "Attorney Ticketing
|
||||||
|
Mode", to solve the issues described in the previous section. These
|
||||||
|
two modes are designed to be independent, that is, can be used
|
||||||
|
separately or in combination.
|
||||||
|
|
||||||
|
Temporary Inter-Realm Relationship Generation Mode solves the issue
|
||||||
|
of the long authentication path. In this mode, if the source realm
|
||||||
|
and the destination realm do not have a direct inter-realm
|
||||||
|
relationship, the source KDC traverses the authentication path by
|
||||||
|
itself, contacts with the remote KDC, and generates a direct inter-
|
||||||
|
realm relationship between them. After that, the source KDC can
|
||||||
|
issue direct inter-realm TGTs for the destination realm. The purpose
|
||||||
|
of this mode is to reduce the traversal cost itself by caching the
|
||||||
|
result of traversal.
|
||||||
|
|
||||||
|
Attorney Ticketing Mode solves the issue of the client-centric
|
||||||
|
ticketing. Consecutive TGS transactions to get cross-realm TGTs
|
||||||
|
and/or a final service ticket are initiated by a client in the
|
||||||
|
traditional Kerberos, whereas a KDC undertake that process in this
|
||||||
|
mode. The purpose of this mode is to shift the cost of TGSes from a
|
||||||
|
client to a KDC. This does not reduce the cost itself.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kamada and Sakane [Page 4]
|
||||||
|
|
||||||
|
Internet-Draft Client-Friendly Cross-Realm July 2007
|
||||||
|
|
||||||
|
|
||||||
|
3.1. Temporary Inter-Realm Relationship Generation Mode
|
||||||
|
|
||||||
|
Temporary inter-realm relationship generation mode enables a KDC to
|
||||||
|
issue an inter-realm TGT directly to a remote KDC with which the KDC
|
||||||
|
doesn't preshare an inter-realm key. To issue an inter-realm TGT
|
||||||
|
directly, a temporary inter-realm key needs to be provided somehow.
|
||||||
|
To achieve that, the local KDC obtains a special ticket for the
|
||||||
|
remote KDC and uses its session key as an inter-realm key. This
|
||||||
|
methodology was introduced by PKCROSS [PKCROSS]. In this document,
|
||||||
|
that special ticket is called as an "inter-KDC ticket", and an inter-
|
||||||
|
realm TGT generated from an inter-KDC ticket is called as a "direct
|
||||||
|
inter-realm TGT".
|
||||||
|
|
||||||
|
How does the local KDC reach the remote KDC is out of scope of this
|
||||||
|
model, but we can easily come up with 1) traversing a long
|
||||||
|
authentication path if available or 2) using PKINIT. In the context
|
||||||
|
of this model, PKCROSS is interpreted as a combination of this mode
|
||||||
|
and PKINIT.
|
||||||
|
|
||||||
|
This document does not standardize a specific protocol, but an inter-
|
||||||
|
KDC ticket will have the following form:
|
||||||
|
|
||||||
|
- its sname has a special form (PKCROSS proposes
|
||||||
|
"pkcross/realm@REALM", but it would be better to use a more
|
||||||
|
general name than "pkcross"),
|
||||||
|
|
||||||
|
and a direct inter-realm TGT will have the following form:
|
||||||
|
|
||||||
|
- its TicketExtensions field [KRBEXT] contains the inter-KDC ticket,
|
||||||
|
and
|
||||||
|
|
||||||
|
- it is protected by the session key (or the sub-session key) of the
|
||||||
|
inter-KDC ticket.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kamada and Sakane [Page 5]
|
||||||
|
|
||||||
|
Internet-Draft Client-Friendly Cross-Realm July 2007
|
||||||
|
|
||||||
|
|
||||||
|
client C KDC-L KDC-I KDC-R
|
||||||
|
-------- ----- ----- -----
|
||||||
|
|
||||||
|
1. --------TGS-REQ-------->
|
||||||
|
2. [Reach to KDC-R in any way.]
|
||||||
|
[Below is an example of PKCROSS.]
|
||||||
|
------------PKINIT------------>
|
||||||
|
<----------XTKT(L,R)-----------
|
||||||
|
3. <--TKT(C,R)w/XTKT(L,R)--
|
||||||
|
4. ----------------------TGS-REQ------------------------>
|
||||||
|
5. <---------------------TKT(C,S)------------------------
|
||||||
|
|
||||||
|
[Note: TKT(x,y) means a ticket whose cname is x and sname is y. ]
|
||||||
|
[ XTKT is an inter-KDC ticket. See PKCROSS. ]
|
||||||
|
[ The client C and KDC-L belong to the local realm L. ]
|
||||||
|
[ The KDC-I is a KDC of an intermediate realm I. ]
|
||||||
|
[ The KDC-R is a KDC of the remote realm R. ]
|
||||||
|
|
||||||
|
1. The client C sends a normal TGS-REQ to KDC-L, requesting
|
||||||
|
a cross-realm TGT to KDC-R.
|
||||||
|
2. KDC-L reaches KDC-R in any way and obtains a XTKT.
|
||||||
|
There is no standardized way to achieve this step yet.
|
||||||
|
PKCROSS is one candidate. We could also standardize a way
|
||||||
|
in which KDC-L normally transits to KDC-R and obtains an XTKT.
|
||||||
|
3. KDC-L generates a cross-realm TGT that is from C to KDC-R
|
||||||
|
and returns to it to C.
|
||||||
|
4. The same with the traditional cross-realm TGS.
|
||||||
|
5. The same with the traditional cross-realm TGS.
|
||||||
|
|
||||||
|
Figure 1: Message Flow of Temporary Inter-Realm Relationship
|
||||||
|
Generation
|
||||||
|
|
||||||
|
3.2. Attorney Ticketing Mode
|
||||||
|
|
||||||
|
Traditionally, a Kerberos client repeats TGS transactions until it
|
||||||
|
gets the final ticket. For example, it has a TGT for its own realm
|
||||||
|
and wants to get a ticket for a service in 3-hop neighbor realm, then
|
||||||
|
it will:
|
||||||
|
|
||||||
|
1) Present the TGT and get a cross-realm TGT for the next realm,
|
||||||
|
|
||||||
|
2) Present the 1st cross-realm TGT and get a cross-realm TGT for the
|
||||||
|
2nd next realm,
|
||||||
|
|
||||||
|
3) Present the 2nd cross-realm TGT and get a cross-realm TGT for the
|
||||||
|
final realm, and
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kamada and Sakane [Page 6]
|
||||||
|
|
||||||
|
Internet-Draft Client-Friendly Cross-Realm July 2007
|
||||||
|
|
||||||
|
|
||||||
|
4) Present the final cross-realm TGT and get a service ticket.
|
||||||
|
|
||||||
|
Attorney ticketing mode enables the client to delegate the KDC to
|
||||||
|
perform all transactions listed above on behalf of the client. An
|
||||||
|
example message flow is shown in Figure 2. The client entrust the
|
||||||
|
KDC with its TGT (step 1). The KDC "impersonates" the client and
|
||||||
|
performs all necessary TGS transactions (steps 2 to 4), and returns
|
||||||
|
the final ticket to the client (step 5).
|
||||||
|
|
||||||
|
client C KDC-L KDC-I KDC-R
|
||||||
|
-------- ----- ----- -----
|
||||||
|
|
||||||
|
1. --------TGS-REQ-------->
|
||||||
|
2. TKT(C,I)
|
||||||
|
3. ----TGS-REQ---->
|
||||||
|
<---TKT(C,R)----
|
||||||
|
4. ------------TGS-REQ----------->
|
||||||
|
<-----------TKT(C,S)-----------
|
||||||
|
5. <-------TKT(C,S)--------
|
||||||
|
|
||||||
|
1. The client C sends a special TGS-REQ, which indicates attorney
|
||||||
|
ticketing mode requesting a service ticket for a server S
|
||||||
|
instead of a cross-realm TGT, to KDC-L.
|
||||||
|
2. KDC-L internally generates a cross-realm TGT that is from C
|
||||||
|
to KDC-I, but does not return it to C.
|
||||||
|
3. KDC-L uses the generated cross-realm TGT by itself, and sends
|
||||||
|
a TGS-REQ to KDC-I, which requests a cross-realm TGT from C
|
||||||
|
to KDC-R.
|
||||||
|
4. KDC-L use the obtained cross-realm TGT by itself, and sends
|
||||||
|
a TGS-REQ to KDC-R, which requests a service ticket from C
|
||||||
|
to S.
|
||||||
|
5. KDC-L returns the final service ticket to C.
|
||||||
|
|
||||||
|
Figure 2: Message Flow of Attorney Ticketing Mode
|
||||||
|
|
||||||
|
3.3. Combination of the Two Modes
|
||||||
|
|
||||||
|
Figure 3 shows a typical message flow when the temporary inter-realm
|
||||||
|
relationship generation mode and the attorney ticketing mode are used
|
||||||
|
in combination. The figure shows the case of the initial contact, so
|
||||||
|
a transaction to obtain an inter-KDC ticket is shown (step 2), but it
|
||||||
|
is infrequently used because the XTKT is cached. Usually, only two
|
||||||
|
round-trips do all the work.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kamada and Sakane [Page 7]
|
||||||
|
|
||||||
|
Internet-Draft Client-Friendly Cross-Realm July 2007
|
||||||
|
|
||||||
|
|
||||||
|
client C KDC-L KDC-I KDC-R
|
||||||
|
-------- ----- ----- -----
|
||||||
|
|
||||||
|
1. --------TGS-REQ-------->
|
||||||
|
2. [Temporary inter-realm relationship
|
||||||
|
generation mode runs here.]
|
||||||
|
------------PKINIT------------>
|
||||||
|
<----------XTKT(L,R)-----------
|
||||||
|
3. [Attorney ticketing mode runs here.]
|
||||||
|
TKT(C,R)w/XTKT(L,R)
|
||||||
|
4. ------------TGS-REQ----------->
|
||||||
|
<-----------TKT(C,S)-----------
|
||||||
|
5. <-------TKT(C,S)--------
|
||||||
|
|
||||||
|
Figure 3: Message Flow When Temporary Inter-Realm Relationship
|
||||||
|
Generation Mode and Attorney Ticketing Mode
|
||||||
|
Are Combined
|
||||||
|
|
||||||
|
|
||||||
|
4. Advantage of The Proposed Model for Deployment
|
||||||
|
|
||||||
|
4.1. Compatibility with Traditional Kerberos Deployment
|
||||||
|
|
||||||
|
Temporary inter-realm relationship generation involves only KDCs.
|
||||||
|
From the viewpoint of a client (and a server), it seems that there is
|
||||||
|
a direct inter-realm relationship between two realms. This means
|
||||||
|
that temporary inter-realm relationship generation mode needs to be
|
||||||
|
deployed only in KDCs. This property is advantageous, because it
|
||||||
|
does not affect large installed base of clients. One impeding factor
|
||||||
|
in practice is that some existing implementations cannot handle
|
||||||
|
ticket extensions transparently. This is further discussed in
|
||||||
|
Interoperability Considerations section.
|
||||||
|
|
||||||
|
Attorney ticketing mode involves only a client and its local KDC.
|
||||||
|
From the viewpoint of the remote KDC, TGS-REQs from a KDC as an
|
||||||
|
attorney cannot be distinguished from those from a "genuine" client
|
||||||
|
(except caddr; see Interoperability Considerations section).
|
||||||
|
Resulting service ticket is identical to the traditional one, so the
|
||||||
|
remote server has nothing to do with this mode. In short, attorney
|
||||||
|
ticketing mode can be deployed in local realm, independently of the
|
||||||
|
remote deployment. The merit of this property is large, because
|
||||||
|
remote realms are often in different administration.
|
||||||
|
|
||||||
|
4.2. Orthogonality of the Two Modes
|
||||||
|
|
||||||
|
Temporary inter-realm relationship generation mode and attorney
|
||||||
|
ticketing mode are independent concepts. Both can be implemented
|
||||||
|
separately or can be used in combination. When they are combined,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kamada and Sakane [Page 8]
|
||||||
|
|
||||||
|
Internet-Draft Client-Friendly Cross-Realm July 2007
|
||||||
|
|
||||||
|
|
||||||
|
the load of clients are shifted to KDCs and additional load of KDCs
|
||||||
|
are minimized, thus efficient cross-realm environment is achieved.
|
||||||
|
|
||||||
|
|
||||||
|
5. Front-End Protocol for Attorney Ticketing Mode
|
||||||
|
|
||||||
|
This document does not specify wire-level protocol, which will be
|
||||||
|
done in another document. This section provides some candidates for
|
||||||
|
the protocol, which is used to request attorney ticketing mode from a
|
||||||
|
KDC (Figure 4). This protocol can be used for other than attorney
|
||||||
|
ticketing mode, as long as the KDC's behavior for clients is
|
||||||
|
identical to the mode.
|
||||||
|
|
||||||
|
+------+ +-------+
|
||||||
|
|client|------------>| KDC |-------------> cross-realm cloud
|
||||||
|
+------+ +-------+ Cross-realm
|
||||||
|
Front-end protocol traversal by KDC
|
||||||
|
to request a final (Attorney Ticketing Mode)
|
||||||
|
ticket in one shot
|
||||||
|
or
|
||||||
|
|
||||||
|
-------------> remote KDC (directly)
|
||||||
|
XTGSP
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
------------->
|
||||||
|
Whatever the KDC chooses
|
||||||
|
|
||||||
|
Figure 4: Front-End Protocol for Attorney Ticketing Mode
|
||||||
|
|
||||||
|
Candidate 1: Implicit Signaling
|
||||||
|
|
||||||
|
A client simply requests a final ticket to the local KDC. If the
|
||||||
|
KDC supports this implicit protocol, it will process the request.
|
||||||
|
If not, KDC_ERR_S_PRINCIPAL_UNKNOWN will be returned. A possible
|
||||||
|
drawback is that if a requested final ticket is for a TGS, the KDC
|
||||||
|
does not know whether the client expects normal mode or attorney
|
||||||
|
mode. In addition, implicit signaling can conflict with future
|
||||||
|
extensions.
|
||||||
|
|
||||||
|
Candidate 2: Explicit Signaling
|
||||||
|
|
||||||
|
A flag in KDCOptions or pre-authentication can be used to request
|
||||||
|
attorney mode.
|
||||||
|
[[what happens if not supported?]]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kamada and Sakane [Page 9]
|
||||||
|
|
||||||
|
Internet-Draft Client-Friendly Cross-Realm July 2007
|
||||||
|
|
||||||
|
|
||||||
|
6. Related Protocols Currently Proposed
|
||||||
|
|
||||||
|
6.1. PKCROSS
|
||||||
|
|
||||||
|
PKCROSS will be usable as a protocol for temporary inter-realm
|
||||||
|
relationship generation mode.
|
||||||
|
|
||||||
|
6.2. XTGS
|
||||||
|
|
||||||
|
The purpose of XTGS protocol is similar to that of this model, but
|
||||||
|
the behavior is somewhat different [XTGS]. If XTGS is viewed from
|
||||||
|
the perspective of this model, it blends the two modes indivisibly to
|
||||||
|
reduce the number of messages between KDCs as far as possible at the
|
||||||
|
price of the abstraction of cross-realm TGTs and inter-KDC tickets.
|
||||||
|
|
||||||
|
Once a front-end (i.e., between a client and a KDC) protocol to
|
||||||
|
request attorney ticketing mode is standardized, XTGS can be used as
|
||||||
|
an opaque back-end.
|
||||||
|
|
||||||
|
|
||||||
|
7. Interoperability Considerations
|
||||||
|
|
||||||
|
User-to-user mode
|
||||||
|
The protocol for the attorney mode should be able to indicate
|
||||||
|
user-to-user authentication.
|
||||||
|
|
||||||
|
The addresses field in TGS-REQ
|
||||||
|
This field is copied into the caddr field in EncTicketPart, so if
|
||||||
|
this field is used in a TGS-REQ, the resulting ticket can be used
|
||||||
|
only from the specified addresses. When the local KDC receives a
|
||||||
|
TGS-REQ requesting attorney mode, it should copy the addresses
|
||||||
|
field only into the final TGS-REQ in the attorney process. It
|
||||||
|
must not copy the field into TGS-REQs to intermediate KDCs,
|
||||||
|
because resulting tickets are to be used by the local KDC instead
|
||||||
|
of the client.
|
||||||
|
|
||||||
|
Opacity of ticket extensions
|
||||||
|
The ticket extensions defined in rfc1510ter [KRBEXT] extends the
|
||||||
|
Ticket ASN.1 type, which is visible to clients. This is not a
|
||||||
|
problem if a client implementation treats a Ticket as an opaque
|
||||||
|
data, and there are such implementations, but unfortunately the
|
||||||
|
major free implementations do not. On the other hand, there is a
|
||||||
|
proposal of etype-based ticket extensions [TKTEXTALT]. It
|
||||||
|
encapsulates cleartext bits in the enc-part component of a Ticket.
|
||||||
|
It should not have any problems of opacity.
|
||||||
|
|
||||||
|
[[negotiation of various parameters]]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kamada and Sakane [Page 10]
|
||||||
|
|
||||||
|
Internet-Draft Client-Friendly Cross-Realm July 2007
|
||||||
|
|
||||||
|
|
||||||
|
[[If there are multiple authentication paths and a client has enough
|
||||||
|
knowledge, it could choose which path to take. With attorney
|
||||||
|
ticketing mode, it cannot because it is up to the KDC to select the
|
||||||
|
path. Is this a problem? With temporary inter-realm relationship
|
||||||
|
generation mode, it can as before.]]
|
||||||
|
|
||||||
|
[[co-existence with the plain Kerberos; attorney ticketing mode
|
||||||
|
client vs. non-attorney KDC; inter-realm generating local KDC vs.
|
||||||
|
non-generating remote KDC]]
|
||||||
|
|
||||||
|
[[anything to do with referral?]]
|
||||||
|
|
||||||
|
[[when a KDC in attorney mode receives a KRB-ERROR?]]
|
||||||
|
|
||||||
|
|
||||||
|
8. Security Considerations
|
||||||
|
|
||||||
|
8.1. Denial of Service (DoS)
|
||||||
|
|
||||||
|
A KDC that implements attorney ticketing mode needs to initiate
|
||||||
|
multiple TGS-REQ upon a request from a client. This means that the
|
||||||
|
KDC will have some states in it and may suffer from DoS attacks.
|
||||||
|
|
||||||
|
Fortunately, attorney ticketing mode can be requested in TGS-REQ,
|
||||||
|
which is only available to authenticated clients, thus, any untrusted
|
||||||
|
party cannot exploit this statefulness.
|
||||||
|
|
||||||
|
8.2. Ticketing Policy
|
||||||
|
|
||||||
|
Attorney ticketing mode changes nothing about the messages sent to
|
||||||
|
the intermediate and remote KDCs. Those KDCs will not notice the
|
||||||
|
difference and their ticketing process have nothing to be changed.
|
||||||
|
|
||||||
|
Temporary inter-realm relationship generation mode dynamically
|
||||||
|
generates new authentication paths. This means that KDCs that are
|
||||||
|
involved in the transit of a client are different from those that
|
||||||
|
would be involved if this mode were not used.
|
||||||
|
|
||||||
|
- Parameters of cross-realm TGTs (lifetime and flags) for a new
|
||||||
|
relationship need to be dynamically transferred (a la PKCROSS).
|
||||||
|
|
||||||
|
- How to handle the transited fields in inter-KDC tickets, direct
|
||||||
|
inter-realm tickets, and service tickets?
|
||||||
|
|
||||||
|
- Where the remote KDC adds AuthorizationData and the end-server
|
||||||
|
checks it: there is no problem because it is a local matter of the
|
||||||
|
remote realm.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kamada and Sakane [Page 11]
|
||||||
|
|
||||||
|
Internet-Draft Client-Friendly Cross-Realm July 2007
|
||||||
|
|
||||||
|
|
||||||
|
- Where an intermediate KDC adds AuthorizationData: traditionally it
|
||||||
|
is added in a cross-realm TGT and propagated to the service
|
||||||
|
ticket; now it will be propagated to the inter-KDC ticket. Should
|
||||||
|
AuthorizationData in an inter-KDC ticket be copied into a cross-
|
||||||
|
realm TGT or not? Even if it is copied, AuthorizationData on
|
||||||
|
inter-KDC ticket cannot represent per-client information, so if it
|
||||||
|
is necessary, temporary inter-realm relationship generation mode
|
||||||
|
must not be used.
|
||||||
|
|
||||||
|
|
||||||
|
9. IANA Considerations
|
||||||
|
|
||||||
|
This document has no actions for IANA.
|
||||||
|
|
||||||
|
|
||||||
|
10. Acknowledgments
|
||||||
|
|
||||||
|
The authors would like to acknowledge Saber Zrelli, Masahiro
|
||||||
|
Ishiyama, Atsushi Inoue, Kazunori Miyazawa, and Nobuo Okabe for
|
||||||
|
contributions to this document.
|
||||||
|
|
||||||
|
|
||||||
|
11. References
|
||||||
|
|
||||||
|
11.1. Normative References
|
||||||
|
|
||||||
|
[KRBEXT] Yu, T., "The Kerberos Network Authentication Service
|
||||||
|
(Version 5)", draft-ietf-krb-wg-rfc1510ter-04, Work in
|
||||||
|
Progress, March 2007.
|
||||||
|
|
||||||
|
[RFC4120] Neuman, C., Yu, T., Hartman, S., and K. Raeburn, "The
|
||||||
|
Kerberos Network Authentication Service (V5)", RFC
|
||||||
|
4120, July 2005.
|
||||||
|
|
||||||
|
11.2. Informative References
|
||||||
|
|
||||||
|
[CRPS] Sakane, S., Zrelli, S., M. Ishiyama, "Problem statement
|
||||||
|
on the cross-realm operation of Kerberos in a specific
|
||||||
|
system", draft-sakane-krb-cross-problem-statement-02,
|
||||||
|
Work in Progress, April 2007.
|
||||||
|
|
||||||
|
[PKCROSS] Hur, M. et al., "Public Key Cryptography for Cross-
|
||||||
|
Realm Authentication in Kerberos", draft-ietf-cat-
|
||||||
|
kerberos-pk-cross-08 (expired), Work in Progress,
|
||||||
|
November 2001.
|
||||||
|
|
||||||
|
[TKTEXTALT] Message-ID: <tslfy54akcb.fsf@mit.edu>.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kamada and Sakane [Page 12]
|
||||||
|
|
||||||
|
Internet-Draft Client-Friendly Cross-Realm July 2007
|
||||||
|
|
||||||
|
|
||||||
|
[XTGS] Zrelli, S. et al., "XTGSP, the Inter-TGS protocol for
|
||||||
|
cross-realm operations in Kerberos", draft-zrelli-krb-
|
||||||
|
xtgsp-01, Work in Progress, March 2007.
|
||||||
|
|
||||||
|
Authors' Addresses
|
||||||
|
|
||||||
|
Ken'ichi Kamada
|
||||||
|
Shoichi Sakane
|
||||||
|
Yokogawa Electric Corporation
|
||||||
|
2-9-32 Nakacho, Musashino-shi,
|
||||||
|
Tokyo 180-8750 Japan
|
||||||
|
E-mail: Ken-ichi.Kamada@jp.yokogawa.com,
|
||||||
|
Shouichi.Sakane@jp.yokogawa.com
|
||||||
|
|
||||||
|
|
||||||
|
Full Copyright Statement
|
||||||
|
|
||||||
|
Copyright (C) The IETF Trust (2007).
|
||||||
|
|
||||||
|
This document is subject to the rights, licenses and restrictions
|
||||||
|
contained in BCP 78, and except as set forth therein, the authors
|
||||||
|
retain all their rights.
|
||||||
|
|
||||||
|
This document and the information contained herein are provided on an
|
||||||
|
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
|
||||||
|
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
|
||||||
|
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
|
||||||
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
|
||||||
|
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
Intellectual Property Statement
|
||||||
|
|
||||||
|
The IETF takes no position regarding the validity or scope of any
|
||||||
|
Intellectual Property Rights or other rights that might be claimed to
|
||||||
|
pertain to the implementation or use of the technology described in
|
||||||
|
this document or the extent to which any license under such rights
|
||||||
|
might or might not be available; nor does it represent that it has
|
||||||
|
made any independent effort to identify any such rights. Information
|
||||||
|
on the procedures with respect to rights in RFC documents can be
|
||||||
|
found in BCP 78 and BCP 79.
|
||||||
|
|
||||||
|
Copies of IPR disclosures made to the IETF Secretariat and any
|
||||||
|
assurances of licenses to be made available, or the result of an
|
||||||
|
attempt made to obtain a general license or permission for the use of
|
||||||
|
such proprietary rights by implementers or users of this
|
||||||
|
specification can be obtained from the IETF on-line IPR repository at
|
||||||
|
http://www.ietf.org/ipr.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kamada and Sakane [Page 13]
|
||||||
|
|
||||||
|
Internet-Draft Client-Friendly Cross-Realm July 2007
|
||||||
|
|
||||||
|
|
||||||
|
The IETF invites any interested party to bring to its attention any
|
||||||
|
copyrights, patents or patent applications, or other proprietary
|
||||||
|
rights that may cover technology that may be required to implement
|
||||||
|
this standard. Please address the information to the IETF at ietf-
|
||||||
|
ipr@ietf.org.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kamada and Sakane [Page 14]
|
||||||
|
|
Reference in New Issue
Block a user