DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T U

⟦cce2c65f2⟧ TextFile

    Length: 186385 (0x2d811)
    Types: TextFile
    Notes: Uncompressed file

Derivation

└─⟦4f9d7c866⟧ Bits:30007245 EUUGD6: Sikkerheds distributionen
    └─⟦8b63dcf25⟧ »./papers/Kerberos/techplan.PS.Z« 
        └─⟦this⟧ 

TextFile

%!PS-Adobe-1.0
%%Title: /mit/kerberos/doc/techplan/techplan.mss
%%DocumentFonts: (atend)
%%Creator: Jennifer Steiner,Jen,E40-318,0169, and Scribe 5(1501)-5
%%CreationDate: 20 December 1988 12:12
%%Pages: (atend)
%%EndComments
% PostScript Prelude for Scribe.
/BS {/SV save def 0.0 792.0 translate .01 -.01 scale} bind def
/ES {showpage SV restore} bind def
/SC {setrgbcolor} bind def
/FMTX matrix def
/RDF {WFT SLT 0.0 eq
  {SSZ 0.0 0.0 SSZ neg 0.0 0.0 FMTX astore}
  {SSZ 0.0 SLT sin SLT cos div SSZ mul SSZ neg 0.0 0.0 FMTX astore}
  ifelse makefont setfont} bind def
/SLT 0.0 def
/SI { /SLT exch cvr def RDF} bind def
/WFT /Courier findfont def
/SF { /WFT exch findfont def RDF} bind def
/SSZ 1000.0 def
/SS { /SSZ exch 100.0 mul def RDF} bind def
/AF { /WFT exch findfont def /SSZ exch 100.0 mul def RDF} bind def
/MT /moveto load def
/XM {currentpoint exch pop moveto} bind def
/UL {gsave newpath moveto dup 2.0 div 0.0 exch rmoveto
   setlinewidth 0.0 rlineto stroke grestore} bind def
/LH {gsave newpath moveto setlinewidth
   0.0 rlineto
   gsave stroke grestore} bind def
/LV {gsave newpath moveto setlinewidth
   0.0 exch rlineto
   gsave stroke grestore} bind def
/BX {gsave newpath moveto setlinewidth
   exch
   dup 0.0 rlineto
   exch 0.0 exch neg rlineto
   neg 0.0 rlineto
   closepath
   gsave stroke grestore} bind def
/BX1 {grestore} bind def
/BX2 {setlinewidth 1 setgray stroke grestore} bind def
/PB {/PV save def translate 100.0 -100.0 scale pop} bind def
/PE {PV restore} bind def
/SH /show load def
/MX {exch show 0.0 rmoveto} bind def
/W {0 32 4 -1 roll widthshow} bind def
/WX {0 32 5 -1 roll widthshow 0.0 rmoveto} bind def
%%EndProlog
%%Page: 1 1 
BS
0 SI
10 /NewCenturySchlbk-Bold AF
34463 7937 MT
(PROJECT ATHENA TECHNICAL PLAN)SH
1 SS 
2880 8280 11022 PB % Project Athena Owl Logo
% Copyright 1986 by the Massachusetts Institute of Technology
%
% Original developed by W. E. Sommerfeld, 1986.
% Owl eye shading, twig tuning by J. H. Saltzer
%
% Adjustments of size and position are provided at the end.
%
/circle { dup 3 index add 2 index moveto 0 360 arc } bind def

/ellipse
  { 
    matrix currentmatrix                % Push current matrix   
    5 1 roll                    % roll to bottom
    3 index 2 index add 3 index moveto  % move to start
    4 2 roll translate scale    % translate then scale
    0 0 1 0 360 arc             % draw it
    setmatrix                   % restore matrix
  } def

/owl1 {
% Do the filled sections first. . .
% right eye
newpath
120 120 6 circle
closepath 0 setgray fill
newpath
121 121 3 circle
closepath 1 setgray fill
% left eye
newpath
90 120 6 circle
closepath 0 setgray fill
91 121 3 circle
closepath 1 setgray fill
0 setgray

% Containing Circle
75 75 102 circle %75 75 100 circle     
% Left eye
90 120 10 circle
% Right eye
120 120 10 circle
% Berry on tree
37.5 111 3 circle  % 37.5 111 2.5 circle
% Theta (outside)
140 60 10 circle
% Theta (inside)
140 60 .5 circle

% High leaf

35 140 15 10 ellipse

% Low leaf

15 109 10 15 ellipse

% Twigs holding leaves and berry

% berry
4 145 moveto
36 113 lineto

% high leaf
9 140 moveto
51 140 lineto

% low leaf
15 134 moveto
15 93 lineto

% squarish outline lines
0 45 moveto
-10 65 -15 120 3 146 curveto
20 160 25 155 75 155 curveto
75 -5 moveto
100 -5 145 5 155 15 curveto
165 25 160 100 155 135 curveto

% Main outline of owl

stroke currentlinewidth dup 2 mul setlinewidth

35 14 moveto
35 18 lineto
36 19 lineto
37 20 lineto
50 20 lineto
52 21 lineto
55 24 lineto
56 29 lineto
54 34 lineto
53 36 lineto
51 38 lineto
48 40 lineto
41 43 lineto
31 46 lineto
26 45 lineto
20 44 lineto
15 43 lineto
13 43 lineto
11 44 lineto
10 45 lineto
10 46 lineto
11 48 lineto
13 51 lineto
20 61 lineto
30 75 lineto
34 80 lineto
40 87 lineto
45 93 lineto
50 97 lineto
55 101 lineto
60 103 lineto
64 105 lineto
71 105 lineto
69 108 lineto
67 112 lineto
66 115 lineto
67 120 lineto
68 124 lineto
71 129 lineto
72 132 lineto
73 135 lineto
71 141 lineto
75 139 lineto
80 137 lineto
90 136 lineto
100 135 lineto
120 135 lineto
130 136 lineto
140 137 lineto
146 140 lineto
144 136 lineto
142 132 lineto
141 125 lineto
142 118 lineto
142 112 lineto
140 106 lineto
136 100 lineto
132 95 lineto
129 92 lineto
124 89 lineto
126 86 lineto
127 80 lineto
126 73 lineto
124 66 lineto
120 60 lineto
116 55 lineto
110 50 lineto
105 46 lineto
100 43 lineto
91 39 lineto
84 36 lineto
75 35 lineto
73 30 lineto
73 25 lineto
74 22 lineto
76 20 lineto
90 20 lineto
92 18 lineto
92 14 lineto
75 35 moveto
65 33 lineto
62 31 lineto
61 27 lineto
61 22 lineto
62 20 lineto
63 19 lineto
64 19 lineto
66 21 lineto
67 25 lineto
66 31 lineto
65 33 lineto

20 44 moveto
20 27 lineto
22 25 lineto
38 25 lineto
40 27 lineto
40 43 lineto
%  (end of main owl outline)

stroke setlinewidth

% everything else

31 46 moveto
39 49 lineto
50 53 lineto
59 57 lineto
76 67 lineto
80 70 lineto
92 80 lineto
100 88 lineto
102 91 lineto
102 94 lineto

71 105 moveto
75 103 lineto
80 101 lineto
87 100 lineto
92 99 lineto
99 96 lineto
102 94 lineto
110 90 lineto
124 89 lineto
% Damned stack limit!
} bind def /owl2 {
26 45 moveto
26 30 lineto

35 45 moveto
35 30 lineto

64 105 moveto
78 80 lineto

33 79 moveto
60 66 lineto

68 97 moveto
66 99 lineto
61 98 lineto
48 83 lineto

72 90 moveto
68 94 lineto
65 93 lineto
63 92 lineto
53 82 lineto

75 85 moveto
73 87 lineto
70 88 lineto
66 86 lineto
60 80 lineto

77 80 moveto
75 83 lineto
73 83 lineto
67 79 lineto

44 73 moveto
40 74 lineto
38 73 lineto
33 68 lineto

51 70 moveto
46 71 lineto
42 69 lineto
32 61 lineto

60 66 moveto
54 67 lineto
46 64 lineto
30 52 lineto

105 92 moveto
105 100 lineto
106 104 lineto
108 107 lineto
110 109 lineto
115 112 lineto

105 100 moveto
104 104 lineto
102 107 lineto
100 109 lineto
95 112 lineto

130 90 moveto
150 80 lineto
130 70 lineto

137 86 moveto
137 74 lineto

130 30 moveto
130 45 lineto
150 45 lineto
150 30 lineto

140 45 moveto
140 35 lineto
} bind def

/owl { owl1 owl2 } bind def
/inch { 72 mul } def

gsave
% Here's where you set size and position.  
% Position is relative to lower left corner of picture box.  X offset first.
% Warning:  the logo is tuned for 0.4 0.4 scale; other sizes not warranted.
% 0.4 0.4 scale makes a 1 1/8 inch diameter logo.
%
0.16 inch .062 inch translate
.4 .4 scale
currentlinewidth 2 mul setlinewidth
owl stroke
grestore
 PE 16 /Helvetica-Bold AF
45117 13988 MT
(Section E.2.1)SH
16220 16872 MT
(Kerberos Authentication and Authorization System)SH
12 /Helvetica AF
23065 19187 MT
(by S. P. Miller, B. C. Neuman, J. I. Schiller, and J. H. Saltzer)SH
10 /Symbol AF
11228 23524 MT
(Kerberos)SH
/NewCenturySchlbk-Roman SF
(; also spelled)23 W
/NewCenturySchlbk-Italic SF
21888 XM
(Cerberus)SH
/NewCenturySchlbk-Roman SF
(.)SH
/NewCenturySchlbk-Italic SF
26832 XM
("n. The)
324 W( watch dog of Hades, whose)
23 W( duty it was to guard)22 W
10491 24666 MT
(the entrance)4 W
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Italic SF
(against whom or what does)
4 W( not clearly appear; . . . is known to have had three)5 W
10491 25808 MT
(heads. . .")SH
/Times-Roman SF
31462 27562 MT
(\320)SH
/NewCenturySchlbk-Roman SF
(Ambrose Bierce,)SH
/NewCenturySchlbk-Italic SF
40296 XM
(The Enlarged Devil's Dictionary)SH
11 /NewCenturySchlbk-Roman AF
9091 31553 MT
(This document describes the assumptions, short and long term goals, and)
116 W( system model)115 W
8280 32790 MT
(for a network authentication system, named Kerberos, for the Athena environment.)
178 W( An)663 W
8280 34027 MT
(appendix specifies the detailed design and protocols to support these goals, and)
185 W( a set of)184 W
9 SS 
11296 34916 MT
(1)SH
11 SS 
8280 35286 MT
(UNIX)SH
12350 XM
(manual pages,)
248 W( not included here, describes an implementation for Berkeley 4.3)249 W
8280 36523 MT
(UNIX of both user interface commands and also library interfaces for)
107 W( clients and servers.)106 W
8280 37760 MT
(The next section of the technical plan, E.2.2, describes a set of network applications)
133 W( that)134 W
8280 38997 MT
(use Kerberos for authentication.)SH
12 /Helvetica-Bold AF
8280 42350 MT
(Definitions)SH
11 /NewCenturySchlbk-Roman AF
8280 44500 MT
(Accounting)SH
18072 XM
(Measuring resource usage attributable to a particular client.)SH
8280 46356 MT
(Authentication)SH
18072 XM
(Verifying the claimed identity of a client or service.)SH
8280 48212 MT
(Authorization)SH
18072 XM
(Allowing an authenticated client to use a particular service.)SH
8280 50068 MT
(Client)SH
18072 XM
(A program that makes use of a network service, on behalf of a user.)SH
8280 51924 MT
(KDBM)SH
18072 XM
(Kerberos Data Base Manager, a system that maintains and provides)
50 W( an)49 W
18072 53161 MT
(interface for update of authoritative Kerberos data consisting)
569 W( of)570 W
18072 54398 MT
(principal identifiers and private keys for both clients and services.)SH
8280 56254 MT
(Kerberos)SH
18072 XM
(Aside from the 3-headed dog guarding Hades, the name given to the)218 W
18072 57491 MT
(Athena authentication service, the)
10 W( protocol used by that service, and the)11 W
18072 58728 MT
(libraries used to invoke the authentication and authorization services.)SH
8280 60584 MT
(KKDS)SH
18072 XM
(Kerberos Key Distribution Service, a network service)
376 W( that supplies)375 W
18072 61821 MT
(tickets and temporary session)
470 W( keys; or Kerberos Key Distribution)471 W
18072 63058 MT
(Server, an instance of that service.)SH
8280 64914 MT
(Principal)SH
18072 XM
(A uniquely named client or server instance that participates in)
406 W( a)405 W
18072 66151 MT
(network communication.)SH
10800 50 8280 69916 UL
8 SS 
9017 71649 MT
(1)SH
10 SS 
9462 72000 MT
(UNIX is a trademark of AT&T Bell Laboratories.)SH
/Helvetica-Bold SF
8280 74551 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
9 /Helvetica AF
16524 75600 MT
(Copyright)SH
/Symbol SF
20624 XM
(\343)SH
/Helvetica SF
21585 XM
(1985, 1986, 1987 by the Massachusetts Institute of Technology)SH
ES
%%Page: 2 2 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 2, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
11 /NewCenturySchlbk-Roman AF
6120 8011 MT
(Principal identifier)SH
15912 XM
(The name used to uniquely identify each different client and server.)SH
6120 9867 MT
(Private key)SH
15912 XM
(An encryption key between)
376 W( a principal and the KKDS, distributed)377 W
15912 11104 MT
(outside the system, with a long lifetime;)SH
6120 12960 MT
(Seal)SH
15912 XM
(To encipher a)
161 W( record containing several fields, in such a way that the)160 W
15912 14197 MT
(fields cannot be individually replaced)
167 W( without either knowledge of the)168 W
15912 15434 MT
(key or leaving evidence of tampering.)SH
6120 17290 MT
(Session key)SH
15912 XM
(A temporary encryption key used between two principals, with)
468 W( a)467 W
15912 18527 MT
(lifetime limited to the duration of a single communications "session".)SH
6120 20383 MT
(Ticket)SH
15912 XM
(A record that authenticates a client to a service; it contains the client's)90 W
15912 21620 MT
(identity, a session key, and a timestamp, all of which is sealed)
321 W( by)320 W
15912 22857 MT
(encryption using the service's private key.)SH
/NewCenturySchlbk-Italic SF
6931 24905 MT
(The term "principal," being somewhat)
228 W( formal, is replaced with the word "user" in this)229 W
6120 26142 MT
(document wherever the context permits that usage without confusion.)SH
12 /Helvetica-Bold AF
6120 29495 MT
(1. Introduction to Kerberos)SH
11 SS 
6120 32585 MT
(Purpose of This Plan)SH
/NewCenturySchlbk-Roman SF
6931 34953 MT
(Most conventional time-sharing systems require a prospective user)
247 W( to identify him or)246 W
6120 36190 MT
(herself and to authenticate that)
260 W( identity before using its services.  In an environment)261 W
6120 37427 MT
(consisting of a network that connects prospective clients with services, a network)
141 W( service)140 W
6120 38664 MT
(has a corresponding need to identify and authenticate)
33 W( its clients.  When the client is a user)34 W
6120 39901 MT
(of a time-sharing system,)
134 W( one approach is for the service to trust the authentication that)133 W
6120 41138 MT
(was performed by the time-sharing system.  For example,)
42 W( the network applications)43 W
/NewCenturySchlbk-Italic SF
49169 XM
(lpr)SH
/NewCenturySchlbk-Roman SF
51004 XM
(and)SH
/NewCenturySchlbk-Italic SF
6120 42375 MT
(rcp)SH
/NewCenturySchlbk-Roman SF
8332 XM
(provided with Berkeley 4.3 UNIX trust the user's time-sharing system)
299 W( to reliably)298 W
6120 43612 MT
(authenticate its clients.)SH
6931 45839 MT
(In contrast with the time-sharing system, in)
342 W( which a protection wall separates the)343 W
6120 47076 MT
(operating system from its users, a workstation is under the complete control of its)
72 W( user, to)71 W
6120 48313 MT
(the extent that the user can run a private version of the operating system, or even replace)66 W
6120 49550 MT
(the machine itself.  As)
265 W( a result, a network service cannot rely on the integrity of the)264 W
6120 50787 MT
(workstation operating system when it \050the network service\051 performs authentication.)SH
6931 53014 MT
(This plan extends the conventional notions of authentication, authorization,)
562 W( and)563 W
6120 54251 MT
(accounting to the network environment with untrusted workstations.  It establishes)
288 W( a)287 W
6120 55488 MT
(trusted third-party service)
60 W( named Kerberos that can perform authentication to the mutual)61 W
6120 56725 MT
(satisfaction of)
3 W( both clients and services.  The authentication approach allows for integration)2 W
6120 57962 MT
(with authorization and accounting facilities.  The resulting design is)
153 W( also applicable to a)154 W
6120 59199 MT
(mixed time-sharing/network environment in which a network service is)
91 W( not willing to rely)90 W
6120 60436 MT
(on the authentication performed by the client's time-sharing system.)SH
/Helvetica-Bold SF
6120 63526 MT
(Goals of Kerberos)SH
10 /Helvetica-BoldOblique AF
6120 66353 MT
(Authentication)SH
11 /NewCenturySchlbk-Roman AF
6931 67839 MT
(Authentication is not an end in itself, but rather a tool to)
216 W( support both integrity and)217 W
6120 69076 MT
(authorization. Its)
464 W( basic purpose is to prevent fraudulent connection requests.  The goal of)78 W
6120 70313 MT
(Kerberos is to)
355 W( support both one-way and mutual authentication of principals, to the)356 W
6120 71550 MT
(granularity of at least an individual user and specific service instance.)SH
10 /Helvetica-Bold AF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 3 3 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
45131 XM
(Section E.2.1, page 3)SH
/Helvetica-BoldOblique SF
8280 7929 MT
(Authorization)SH
11 /NewCenturySchlbk-Roman AF
9091 9484 MT
(Authentication can imply a coarse-grained authorization)5 W
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Roman SF
(for example, some)
5 W( services may)4 W
8280 10721 MT
(allow anyone)
25 W( who can be reliably authenticated by the local Kerberos to use the service.  In)26 W
8280 11958 MT
(cases where more selective authorization is needed, the goal)
356 W( of Kerberos is to allow)355 W
8280 13195 MT
(different services to implement different authorization models, and to allow)
533 W( those)534 W
8280 14432 MT
(authorization models to assume that authentication of user identities is reliable.)SH
10 /Helvetica-BoldOblique AF
8280 17259 MT
(Accounting)SH
11 /NewCenturySchlbk-Roman AF
9091 18745 MT
(Given an authenticated client, the goal)
83 W( of accounting is to support either quotas charged)82 W
8280 19982 MT
(against the client \050to limit consumption\051, e.g.)
400 W( disk)
1108 W( quota, and/or charges based on)401 W
8280 21219 MT
(consumption, e.g. $.01 per page printed.  The goal)
328 W( of Kerberos is to permit modular)327 W
8280 22456 MT
(attachment of an integrated, secure, reliable accounting system.)SH
/Helvetica-Bold SF
8280 25546 MT
(Requirement Examples)SH
/NewCenturySchlbk-Roman SF
9091 27914 MT
(Some examples)
776 W( of network services best illustrate the requirements of user)777 W
8280 29151 MT
(authentication and authorization:)SH
/Symbol SF
9901 30957 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Printing)SH
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Roman SF
(Only members of a)
13 W( certain group may use a printer that belongs to that)12 W
10713 32194 MT
(group, an expensive and relatively scarce shared resource.  On)
247 W( a more public)248 W
10713 33431 MT
(printer, users may be billed for printing, and may have)
163 W( a priori limits on their)162 W
10713 34668 MT
(use.)SH
/Symbol SF
9901 36524 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Remote File Access)172 W
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Roman SF
(Only designated users may perform operations)
172 W( on a given)173 W
10713 37761 MT
(remote file system or virtual disk.  Different users may)
9 W( have different permissions)8 W
10713 38998 MT
(allowed, e.g. only the owner may write, while others may read.)SH
/Symbol SF
9901 40854 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Remote Login)100 W
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Roman SF
(Only authorized users may)100 W
/NewCenturySchlbk-Italic SF
33451 XM
(rlogin)SH
/NewCenturySchlbk-Roman SF
36893 XM
(to centrally-managed hosts, or)101 W
10713 42091 MT
(to a private workstation.)SH
/Symbol SF
9901 43947 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Window system)247 W
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Roman SF
(The user of a network-driven)
247 W( display may want to limit the)246 W
10713 45184 MT
(ability of others to create or manipulate windows on that display.)SH
/Symbol SF
9901 47040 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Mail)SH
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Roman SF
(Only the addressee should be able to pick up his or her own mail at)
156 W( the)157 W
10713 48277 MT
(Post Office.)SH
/Symbol SF
9901 50133 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Service Management)
351 W( service)350 W
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Roman SF
(Users may be authorized to create, modify, or)350 W
10713 51370 MT
(destroy records that control various services.)
13 W( For)
334 W( example, system administrators)14 W
10713 52607 MT
(may have unlimited privileges, while the teaching assistant for a subject may only)4 W
10713 53844 MT
(be allowed to authorize use)
79 W( of the libraries belonging to the subject.  A user may)80 W
10713 55081 MT
(be able to add or delete his or her own name on a public mailing)
106 W( list, but not to)105 W
10713 56318 MT
(affect any other user's record in that list.)SH
10 /Helvetica-BoldOblique AF
8280 59145 MT
(Other Requirements Assumed by the Design)SH
11 /Symbol AF
9901 60951 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(The authentication requirement)
280 W( is two-way.  That is, the service learns with)281 W
10713 62188 MT
(confidence who the client is, and the client, if it wishes, can be certain that the)135 W
10713 63425 MT
(correct service is being used.)SH
/Symbol SF
9901 65281 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(No cleartext passwords should be transmitted over the net;)SH
/Symbol SF
9901 67137 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(No cleartext passwords should be stored on servers;)SH
/Symbol SF
9901 68993 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(At clients, cleartext passwords should be handled for the shortest possible time)154 W
10713 70230 MT
(and then destroyed.)SH
10 /Helvetica-Bold AF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 4 4 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 4, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
11 /Symbol AF
7741 8080 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(The design should)
58 W( confine any authentication compromises to the current session)57 W
8553 9317 MT
(or the current user.)SH
/Symbol SF
7741 11173 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(Authentication has a limited lifetime, of)
155 W( the order of a single login session, but)156 W
8553 12410 MT
(may be re-used within that lifetime;)SH
/Symbol SF
7741 14266 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(Network authentication should go on largely unnoticed in normal)
338 W( cases; the)337 W
8553 15503 MT
(traditional model of password-mediated login should be the only point)
177 W( that the)178 W
8553 16740 MT
(user notices that authentication is occurring.)SH
/Symbol SF
7741 18596 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(The design should)
216 W( minimize the effort needed to modify network services that)215 W
8553 19833 MT
(previously used other means of authentication.)SH
10 /Helvetica-BoldOblique AF
6120 22660 MT
(Future requirement possibilities)SH
11 /NewCenturySchlbk-Roman AF
6931 24146 MT
(The following are not currently considered essential,)
470 W( but may be re-evaluated as)471 W
6120 25383 MT
(experience increases:)SH
/Symbol SF
7741 27189 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(Forwarding of authentications, so that one service can)
270 W( do part of a job, then)269 W
8553 28426 MT
(invoke another service to complete it, under the credentials of the original client.)SH
/Symbol SF
7741 30282 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(Revocation of authentication or authorization)SH
/NewCenturySchlbk-Italic SF
32024 XM
(within)SH
/NewCenturySchlbk-Roman SF
35654 XM
(a login session.)SH
12 /Helvetica-Bold AF
6120 33635 MT
(2. Assumptions Surrounding Authentication)SH
11 SS 
6120 36725 MT
(Assumed Physical and Operational Security Environment)SH
/NewCenturySchlbk-Roman SF
6931 39093 MT
(From a security perspective, the environment will include:)SH
/Symbol SF
7741 40899 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(both public and private workstations.  Public workstations)
288 W( are in areas with)289 W
8553 42136 MT
(minimal physical security; private workstations are under physical and)698 W
8553 43373 MT
(administrative control of individuals with no responsibility to central)
250 W( network)251 W
8553 44610 MT
(administration.)SH
/Symbol SF
7741 46466 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(a campus network without link encryption, composed of local nets of varying)
2 W( types)1 W
8553 47703 MT
(linked by gateways to a backbone net; the)
402 W( local nets are widely dispersed)403 W
8553 48940 MT
(physically and thus are very vulnerable to security attacks;)
228 W( the backbone and)227 W
8553 50177 MT
(gateways are in locked closets and therefore are moderately secure.)SH
/Symbol SF
7741 52033 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(centrally-operated servers in locked rooms, assumed to operate under)
165 W( moderate)166 W
8553 53270 MT
(physical security with known legitimate software;)SH
/Symbol SF
7741 55126 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(a small number of centrally-operated servers,)
5 W( such as the Kerberos authentication)4 W
8553 56363 MT
(server, that operate under considerable physical security.)SH
/Helvetica-Bold SF
6120 59453 MT
(Relevant Threats and Risks)SH
/NewCenturySchlbk-Roman SF
6931 61821 MT
(The environment is not appropriate for sensitive data or high risk operations,)
188 W( such as)189 W
6120 63058 MT
(bank transactions, classified government data,)
433 W( student grades, controlling dangerous)432 W
6120 64295 MT
(experiments, and such.  The risks are primarily)
496 W( uncontrolled use of resources by)497 W
6120 65532 MT
(unauthorized parties, violations of the)
121 W( integrity of either the system's or user's resources,)120 W
6120 66769 MT
(and wholesale violations of privacy such as casual browsing through personal files.)SH
6931 68996 MT
(The primary security threats result from the potential of a workstation)
87 W( user to forge the)88 W
6120 70233 MT
(identity of another)
244 W( user in order to gain unauthorized access to data and/or resources.)243 W
6120 71470 MT
(Since a workstation, including its operating system and network interface,)
201 W( is under the)202 W
10 /Helvetica-Bold AF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 5 5 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
45131 XM
(Section E.2.1, page 5)SH
11 /NewCenturySchlbk-Roman AF
8280 8011 MT
(complete control of the user, the user can)
2 W( attempt to masquerade as another user or even as)1 W
8280 9248 MT
(another host.)
266 W( In)
840 W( lieu of the authentication provided by a centrally administered time)267 W
8280 10485 MT
(sharing system, an)SH
/NewCenturySchlbk-Italic SF
18249 XM
(authentication service)SH
/NewCenturySchlbk-Roman SF
29617 XM
(is required to counter such attempts.)SH
9091 12712 MT
(Privacy of data being transported across the network is currently a low priority,)
140 W( except)139 W
8280 13949 MT
(where it)
64 W( is necessary to prevent subsequent violations of integrity, e.g. the transmission of)65 W
8280 15186 MT
(passwords. When)
1062 W( the cost of providing communications privacy can)
378 W( be significantly)377 W
8280 16423 MT
(reduced, it will attain higher priority.)SH
9091 18650 MT
(Traffic analysis and covert channels are not an issue.)SH
/Helvetica-Bold SF
8280 21740 MT
(Assumptions about Encryption)SH
/NewCenturySchlbk-Roman SF
9091 24108 MT
(The private-key Data Encryption Standard \050DES\051, when used in single-encryption)
88 W( mode,)89 W
8280 25345 MT
(is assumed to provide)
107 W( enough security for campus applications that cryptanalysis is not a)106 W
8280 26582 MT
(significant threat.)SH
9091 28809 MT
(DES implementations are available in)
227 W( both hardware and software.  Because system-)228 W
8280 30046 MT
(integrated hardware implementations are)
12 W( not yet sufficiently low in cost, it is assumed that)11 W
8280 31283 MT
(software implementations will be)
58 W( used for Kerberos except optionally at a small number of)59 W
8280 32520 MT
(sites \050Key Distribution Servers\051 that do a lot of encryption.)SH
9091 34747 MT
(DES implementations may not be exported from the U.S.  without special license.  For)151 W
8280 35984 MT
(this reason, the Kerberos design makes the cryptosystem)
45 W( a modular, replaceable unit.)46 W
/NewCenturySchlbk-Italic SF
53165 XM
(The)SH
8280 37221 MT
(initial implementation of Kerberos is based on DES.)SH
/Helvetica-Bold SF
8280 40311 MT
(Global Clock Availability)SH
/NewCenturySchlbk-Roman SF
9091 42748 MT
(The design of Kerberos assumes that system clocks are)
175 W( loosely synchronized)174 W
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Roman SF
(within a)174 W
8280 43985 MT
(few minutes)294 W
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Roman SF
(on all machines that run)
294 W( Kerberos-authenticated services, and that this)295 W
/NewCenturySchlbk-Italic SF
8280 45222 MT
(global time)57 W
/NewCenturySchlbk-Roman SF
14345 XM
(is similarly available to all workstations that use Kerberos.  We do not assume)56 W
8280 46459 MT
(that all workstations correctly maintain the time, but)
166 W( in order to request authentication)167 W
8280 47696 MT
(tickets, a)
354 W( workstation is required to maintain its clock within the allowable margin.)353 W
/NewCenturySchlbk-Italic SF
8280 48933 MT
(Timeservers)SH
/NewCenturySchlbk-Roman SF
15049 XM
(provide the official)
377 W( time, and other systems synchronize periodically, for)378 W
8280 50170 MT
(example, at system boot time.)SH
/Helvetica-Bold SF
8280 53260 MT
(Service Management System)SH
/NewCenturySchlbk-Roman SF
9091 55628 MT
(This plan connects with the Athena Service Management System in a)
61 W( several ways.  The)60 W
8280 56865 MT
(Athena Service Management System provides authoritative information)
219 W( for Kerberos as)220 W
8280 58102 MT
(well as the related naming system.)SH
12 /Helvetica-Bold AF
8280 61455 MT
(3. Naming)SH
11 /NewCenturySchlbk-Roman AF
9091 63605 MT
(This plan assumes)
33 W( a means for numbering network hosts and service ports so that clients)32 W
8280 64842 MT
(may request connection to services, including Kerberos itself. If a naming)
324 W( system for)325 W
8280 66079 MT
(services is)
208 W( also available, it is important that the service names can be congruent with)207 W
8280 67316 MT
(Kerberos principal identifiers \050defined in)
31 W( the next paragraph\051 that are used to authenticate)32 W
8280 68553 MT
(services. In)
816 W( addition, Kerberos clients can make use of such a name service to locate)254 W
8280 69790 MT
(Kerberos service)
107 W( itself.  The design of Kerberos is modular; it can operate \050somewhat less)108 W
8280 71027 MT
(conveniently\051 in the absence of name services, and it)
15 W( does not require that the name service)14 W
10 /Helvetica-Bold AF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 6 6 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 6, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
11 /NewCenturySchlbk-Roman AF
6120 8011 MT
(itself be secure.)144 W
/NewCenturySchlbk-Italic SF
15197 XM
(A general network name service, Hesiod, is also)
144 W( an Athena development,)145 W
6120 9248 MT
(described in another Technical Plan section.)SH
/NewCenturySchlbk-Roman SF
6931 11475 MT
(In addition to such network host and service name spaces, Kerberos itself defines a name)44 W
6120 12712 MT
(space of authenticated users)
105 W( and services.  For use in authentication the following simple)106 W
6120 13949 MT
(naming model applies.)SH
10 /Helvetica-BoldOblique AF
6120 16776 MT
(Unifying Names)SH
11 /NewCenturySchlbk-Roman AF
6931 18262 MT
(There isn't much difference between a client and a service.  In fact, a service)
6 W( that wants to)5 W
6120 19499 MT
(use an authorization server must be able)
86 W( to authenticate itself to the authorization server)87 W
6120 20736 MT
(in the same manner a client would authenticate itself to a service.  For this reason)
143 W( both)142 W
6120 21973 MT
(client and service names share the)
203 W( same structure so that they can be interchanged as)204 W
6120 23210 MT
(necessary.)SH
6931 25437 MT
(A)SH
/NewCenturySchlbk-Italic SF
8031 XM
(principal identifier)SH
/NewCenturySchlbk-Roman SF
17952 XM
(consists of three components:)SH
/Symbol SF
7741 27243 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(a)SH
/NewCenturySchlbk-Italic SF
9471 XM
(principal name)SH
/Symbol SF
7741 29099 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(an)SH
/NewCenturySchlbk-Italic SF
10144 XM
(instance name)SH
/Symbol SF
7741 30955 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(a)SH
/NewCenturySchlbk-Italic SF
9471 XM
(realm name)SH
/NewCenturySchlbk-Roman SF
6120 32692 MT
(all three of which are strings of upper and lower case letters and numbers.)SH
6931 34919 MT
(Each different client and service has a unique)
173 W( principal name, assigned by negotiation)172 W
6120 36156 MT
(with the manager of Kerberos.)SH
6931 38383 MT
(The instance name is a label)
107 W( that permits the possibility that the same client or service)108 W
6120 39620 MT
(may exist)
78 W( in several forms that require distinct authentication; it is useful for both clients)77 W
6120 40857 MT
(and services.  In the case of services, an instance may specify the host)
145 W( that provides the)146 W
6120 42094 MT
(service. For)
312 W( example, the)3 W
/NewCenturySchlbk-Italic SF
19485 XM
(rlogin)SH
/NewCenturySchlbk-Roman SF
22830 XM
(service on host)3 W
/NewCenturySchlbk-Italic SF
30974 XM
(menelaus)SH
/NewCenturySchlbk-Roman SF
36069 XM
(is distinct from the)3 W
/NewCenturySchlbk-Italic SF
46052 XM
(rlogin)SH
/NewCenturySchlbk-Roman SF
49396 XM
(service)SH
6120 43331 MT
(on host)69 W
/NewCenturySchlbk-Italic SF
10254 XM
(tartaros)SH
/NewCenturySchlbk-Roman SF
(. For)
444 W( client principals)
69 W( the instance can be useful when one wishes to have)70 W
6120 44568 MT
(different identifiers for different privileges.  For example,)476 W
/NewCenturySchlbk-Italic SF
39426 XM
(JLSmith)SH
/NewCenturySchlbk-Roman SF
44753 XM
(operating as a)475 W
/NewCenturySchlbk-Italic SF
6120 45805 MT
(class-administrator)SH
/NewCenturySchlbk-Roman SF
16629 XM
(may have different privileges from)265 W
/NewCenturySchlbk-Italic SF
35832 XM
(JLSmith)SH
/NewCenturySchlbk-Roman SF
40950 XM
(operating as a normal)266 W
6120 47042 MT
(user. The)
306 W( usual case is that users operate using a name with the null instance.)SH
6931 49269 MT
(To allow independently administered sites, such as Athena, the)
242 W( M.I.T. administrative)241 W
6120 50506 MT
(services, and the M.I.T. Laboratory for Computer Science, to inter-operate using)
71 W( Kerberos,)72 W
6120 51743 MT
(a)SH
/NewCenturySchlbk-Italic SF
7062 XM
(realm)SH
/NewCenturySchlbk-Roman SF
10344 XM
(name is defined)
24 W( to identify each such independent Kerberos site.  Thus a)23 W
/NewCenturySchlbk-Italic SF
47910 XM
({principal)SH
6120 52980 MT
(name, instance name })146 W
/NewCenturySchlbk-Roman SF
18337 XM
(is qualified by the)146 W
/NewCenturySchlbk-Italic SF
28346 XM
(realm name)146 W
/NewCenturySchlbk-Roman SF
34972 XM
(to which it belongs, and is)
146 W( unique)147 W
6120 54217 MT
(only within that realm.  Kerberos does not specify any constraints on the form of the realm)39 W
6120 55454 MT
(name; it can be defined to be an)
155 W( ARPA internet domain name which is itself a qualified)156 W
6120 56691 MT
(hierarchical name.  That choice makes)
99 W( it possible to use the ARPA internet domain name)98 W
6120 57928 MT
(resolution system to locate the Kerberos authentication service for the realm.)SH
6931 60155 MT
(As described below, authentication is accomplished)
230 W( by giving out tickets.  Tickets are)231 W
6120 61392 MT
(labeled with the name of the realm for the)
177 W( service for which they are issued.  Principal)176 W
6120 62629 MT
(identifiers included in)
44 W( tickets include a non-null realm only if it is different from the realm)45 W
6120 63866 MT
(for which the ticket was issued.)SH
6931 66093 MT
(Workstations and service hosts have network)
61 W( names and network addresses, for example)60 W
6120 67330 MT
(those specified by the ARPA internet domain name system.)SH
6931 69557 MT
(Each application)
520 W( protocol using the authentication service binds Kerberos {)521 W
/NewCenturySchlbk-Italic SF
(name)SH
/NewCenturySchlbk-Roman SF
(,)SH
/NewCenturySchlbk-Italic SF
6120 70794 MT
(instance)SH
/NewCenturySchlbk-Roman SF
(} tuples for services to addresses using whatever means its chooses.  It may use,)
21 W( for)20 W
10 /Helvetica-Bold AF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 7 7 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
45131 XM
(Section E.2.1, page 7)SH
11 /NewCenturySchlbk-Roman AF
8280 8011 MT
(example, the)318 W
/NewCenturySchlbk-Italic SF
15746 XM
(internet domain name service)318 W
/NewCenturySchlbk-Roman SF
32215 XM
(or the Hesiod)
318 W( service and cluster location)319 W
8280 9248 MT
(system.)SH
10 /Helvetica-BoldOblique AF
8280 12075 MT
(Specifying names)SH
11 /NewCenturySchlbk-Roman AF
9091 13561 MT
(The primary interface where the user)
238 W( will have to be concerned with names is when)237 W
8280 14798 MT
("logging in" to a workstation.  Normally the user would simply enter his or her principal)131 W
8280 16035 MT
(name, which might be the user's last name.  Optionally, the)
21 W( user might specify an instance;)20 W
8280 17272 MT
(if not specified, a null instance would)
2 W( be used as default.  The realm is normally supplied by)3 W
8280 18509 MT
(the workstation as a default, but the user might override that default, in effect requesting)76 W
8280 19746 MT
(authentication by a different Kerberos server.)SH
9091 21973 MT
(The principal)
167 W( name and the instance name are separated by a period \050"."\051.  If no "." is)168 W
8280 23210 MT
(included in the name, it is assumed that the instance)
109 W( is null.  In order to include a "." as)108 W
8280 24447 MT
(part of the principal name or the instance name, it must be quoted with a backslash.)SH
9091 26674 MT
(In order to)
477 W( specify authentication in a realm different from the default for this)478 W
8280 27911 MT
(workstation, a user must specify the realm)
104 W( preceded by an at-sign \050"@"\051.  The realm itself)103 W
8280 29148 MT
(may contain periods without the use of a backslash.  As an)
44 W( example, consider the user who)45 W
8280 30385 MT
(desires authentication through the LCS.MIT.EDU realm using a system)
339 W( management)338 W
8280 31622 MT
(instance. That)
306 W( user might log in as follows:)SH
/Courier SF
16830 33239 MT
(Kerberos login:  RLSmith.sysadmin@LCS.MIT.EDU)SH
10 /Helvetica-BoldOblique AF
8280 36066 MT
(Local Names)SH
11 /NewCenturySchlbk-Roman AF
9091 37552 MT
(The namespace used for Kerberos authentication and authorization is independent of)
35 W( any)36 W
8280 38789 MT
(particular host's means of referring to users)
23 W( or services, and any operating system specified)22 W
8280 40026 MT
(conventions. Each host may translate the Kerberos principal identifiers)
206 W( to its own local)207 W
8280 41263 MT
(user names as required.)
269 W( Local)
842 W( translation provides a convenient means of supporting)268 W
8280 42500 MT
(proxies)SH
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Roman SF
(for example, Kerberos name)309 W
/NewCenturySchlbk-Italic SF
28894 XM
({RLSmith,""})SH
/NewCenturySchlbk-Roman SF
36118 XM
(might translate to)309 W
/NewCenturySchlbk-Italic SF
46611 XM
(guest)SH
/NewCenturySchlbk-Roman SF
49854 XM
(on a host)309 W
8280 43737 MT
(where)SH
/NewCenturySchlbk-Italic SF
11762 XM
(RLSmith)SH
/NewCenturySchlbk-Roman SF
16816 XM
(does not have an account.)59 W
/NewCenturySchlbk-Italic SF
30828 XM
(Berkeley Unix applications that are modified to)59 W
8280 44974 MT
(use Kerberos authentication generally support only the identity mapping from)
180 W( a Kerberos)181 W
8280 46211 MT
(principal identifier to the same Unix login name.)SH
12 /Helvetica-Bold AF
8280 49564 MT
(4. The Kerberos Authentication Model)SH
11 /NewCenturySchlbk-Roman AF
9091 51714 MT
(In response)
122 W( to the requirements and assumptions sketched above, this section describes)121 W
8280 52951 MT
(the Athena Kerberos model for authentication and authorization, with provision for)427 W
8280 54188 MT
(accounting. This)
372 W( model is based on the Needham and)
33 W( Schroeder key distribution protocols,)32 W
8280 55425 MT
(modified with the)
157 W( addition of timestamps.  Their paper \050listed in the References section\051)158 W
8280 56662 MT
(describes the basic protocol; a tutorial paper)
266 W( by Voydock and Kent provides a broader)265 W
8280 57899 MT
(introduction to the topic and explains the timestamp modifications.)SH
9091 60126 MT
(The basic approach for Kerberos authentication is the following: to use a service, a client)68 W
8280 61363 MT
(must supply a)39 W
/NewCenturySchlbk-Italic SF
15899 XM
(ticket)SH
/NewCenturySchlbk-Roman SF
18975 XM
(previously obtained from)
39 W( Kerberos.  A ticket for a service is a string of)38 W
8280 62600 MT
(bits with the property that it has)
136 W( been enciphered using the private key for that service.)137 W
8280 63837 MT
(That private key is known only to the service itself and to Kerberos.)
139 W( As)
583 W( a result of that)138 W
8280 65074 MT
(property, the service can be)
425 W( confident that any information found inside the ticket)426 W
8280 66311 MT
(originated from Kerberos.  As will be seen, Kerberos will have placed)
156 W( the identity of the)155 W
8280 67548 MT
(client inside the ticket, so the service that receives a ticket)
126 W( has a Kerberos-authenticated)127 W
8280 68785 MT
(opinion of the identity of the client.  To help ensure that one user does not)
64 W( steal and reuse)63 W
8280 70022 MT
(another user's tickets, the client accompanies)
139 W( the ticket with an authenticator, explained)140 W
8280 71259 MT
(later. \050In)
400 W( addition, tickets expire)
47 W( after a specified lifetime, which is usually on the order of)46 W
10 /Helvetica-Bold AF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 8 8 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 8, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
11 /NewCenturySchlbk-Roman AF
6120 8011 MT
(several hours.\051)SH
6931 10238 MT
(The client obtains a ticket by sending a message to Kerberos naming the principal)324 W
6120 11475 MT
(identifier of the desired service, the principal identifier of the \050alleged\051)
446 W( client, and)445 W
6120 12712 MT
(mentioning the current time of)
169 W( day.  Anyone could send such a message or intercept its)170 W
6120 13949 MT
(response; that)
22 W( response, however, is usable only to the client named in the original request,)21 W
6120 15186 MT
(because Kerberos seals the response by enciphering it in the private key of that client.  The)25 W
6120 16423 MT
(response contains three parts:)
37 W( the ticket \050which itself is further sealed in the private key of)36 W
6120 17660 MT
(the service\051, a newly-minted key for use in this client-server session, and)
241 W( a timestamp)242 W
6120 18897 MT
(issued by the Kerberos server.)SH
6931 21124 MT
(A legitimate user will be able to unseal this message, obtain)
112 W( the ticket and session key,)111 W
6120 22361 MT
(and verify that the timestamp is current \050thereby preventing replays of old responses\051.  No)51 W
6120 23598 MT
(other user, without the named user's private key, can correctly decrypt the reply to produce)21 W
6120 24835 MT
(the sealed tickets and corresponding session key.)SH
6931 27062 MT
(Once a client obtains a ticket and sends)
66 W( it to a service, and the service has identified the)67 W
6120 28299 MT
(client, further use of the fact of authentication is specific to the protocol of the service.)
27 W( One)359 W
6120 29536 MT
(application might)
10 W( use the session key \050Kerberos seals a copy in the ticket\051 for secure end-to-)11 W
6120 30773 MT
(end encryption, while at the other)
8 W( extreme, another application might throw everything but)7 W
6120 32010 MT
(the source network address away and assume that all)
263 W( further requests coming on the)264 W
6120 33247 MT
(connection from this particular network address are from the same user.)SH
6931 35474 MT
(The)SH
/NewCenturySchlbk-Italic SF
9625 XM
(authenticator)SH
/NewCenturySchlbk-Roman SF
17188 XM
(mentioned above is a)
431 W( simple mechanism designed to discourage)430 W
6120 36711 MT
(attempts at unauthorized reuse \050"replay"\051 of)
79 W( tickets by someone who notices a ticket going)80 W
6120 37948 MT
(by on the network and makes a copy.  The authenticator consists of,)
118 W( among other things,)117 W
6120 39185 MT
(the client's principal identifier, network address, and the current time of day all sealed)
2 W( with)3 W
6120 40422 MT
(the key that Kerberos minted for this session.  After)
50 W( the service decrypts the ticket, it uses)49 W
6120 41659 MT
(the session key found in that ticket to)
46 W( decrypt the authenticator.  If the principal identifier)47 W
6120 42896 MT
(of the authenticator matches the one)
4 W( in the ticket, the network address in the authenticator)3 W
6120 44133 MT
(is the same)
34 W( as the one that sent the packet, and the time in the authenticator is within the)35 W
6120 45370 MT
(last few minutes, the authenticator is)
160 W( probably not a replay, and the service accepts the)159 W
6120 46607 MT
(associated ticket.  It is because authenticators expire in a short time that)
10 W( all the clients and)11 W
6120 47844 MT
(servers in a Kerberos realm need to have their clocks loosely synchronized.)SH
6931 50071 MT
(If a private key is compromised, another party may)
211 W( successfully pose as the principal)210 W
6120 51308 MT
(until the private key)
215 W( is changed and all tickets previously issued under it expire.  If a)216 W
6120 52545 MT
(session key is compromised, another party may successfully pose as)
66 W( the principal until the)65 W
6120 53782 MT
(previously issued tickets expire.)SH
6931 56009 MT
(One more mechanism rounds out the complete Kerberos scenario.  If)
44 W( a client uses several)45 W
6120 57246 MT
(services, a distinct ticket is)
56 W( needed for each.  Not all the services to be used may be known)55 W
6120 58483 MT
(at the beginning of a login session, but that is when the)
17 W( user provides the password used as)18 W
6120 59720 MT
(a private key to decrypt tickets.)
280 W( To)
865 W( avoid storing the private key in the workstation)279 W
6120 60957 MT
(memory for the entire duration of the session, at login time the)
28 W( user obtains a single ticket,)29 W
6120 62194 MT
(useful only for)
48 W( a service provided by Kerberos itself, the ticket-granting service.  Whenever)47 W
6120 63431 MT
(the client goes back)
170 W( to Kerberos for an additional, service-specific ticket, the response is)171 W
6120 64668 MT
(actually enciphered in the session)
70 W( key of the ticket-granting service.  Thus the private key)69 W
6120 65905 MT
(is needed only for the initial)
72 W( ticket, and the workstation software can immediately destroy)73 W
6120 67142 MT
(its copy of that private key after that single use.)SH
10 /Helvetica-Bold AF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 9 9 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
45131 XM
(Section E.2.1, page 9)SH
11 SS 
8280 8002 MT
(Authentication Scenarios)SH
/NewCenturySchlbk-Roman SF
9091 10370 MT
(Here, at the next level)
237 W( of detail, are more complete scenarios of authentication using)236 W
8280 11607 MT
(Kerberos. These)
500 W( scenarios)
97 W( omit several options described in the next section.  The reader)98 W
8280 12844 MT
(not interested in security protocols can)
249 W( skip this and the next section without missing)248 W
8280 14081 MT
(anything needed later.  The reader interested in full detail will also)
160 W( want to consult the)161 W
8280 15318 MT
(complete protocol specification \050in the)
141 W( Appendix to this section\051, which includes provision)140 W
8280 16555 MT
(for errors, key versions, and protocol versions, and which manipulates timestamps)
56 W( in ways)57 W
8280 17792 MT
(not apparent in this simplified description.)SH
10 /Helvetica-BoldOblique AF
8280 20619 MT
(Scenario I. Getting the First Ticket.)SH
11 /NewCenturySchlbk-Roman AF
10714 22356 MT
(1.)SH
12244 XM
(The user establishes a principal name N)386 W
38123 XM
(and a private)
386 W( key, K)385 W
52341 XM
(,)SH
9 SS 
35111 22726 MT
(client)SH
50021 XM
(client)SH
11 SS 
10713 23722 MT
(through some channel)
264 W( outside the system, for example, by walking up to the)265 W
10713 24959 MT
(system administrator, and presenting his or)
95 W( her identification card.  The private)94 W
10713 26196 MT
(key K)226 W
16747 XM
(becomes the authenticator between the user and the Kerberos Key)227 W
9 SS 
13894 26566 MT
(client)SH
11 SS 
10713 27562 MT
(Distribution Server.  The Kerberos Authentication)
7 W( Server stores the user's private)6 W
10713 28799 MT
(key encrypted under its own master key, K)211 W
36975 XM
(. For)
728 W( the purpose of campus)211 W
9 SS 
34057 29169 MT
(master)SH
11 SS 
10713 30165 MT
(security, a one-way)
213 W( encrypted 8-character secret password serves as the user's)212 W
10713 31402 MT
(private key.  \050One-way encryption of)
78 W( the original password serves the function of)79 W
10713 32639 MT
(assuring that if the user's Kerberos key is somehow compromised it does)
259 W( not)258 W
10713 33876 MT
(reveal the original password, which the user may also be using on other systems.\051)SH
10714 35732 MT
(2.)SH
12244 XM
(The user initiates a workstation session by)
67 W( invoking a)68 W
/NewCenturySchlbk-BoldItalic SF
40624 XM
(login)SH
/NewCenturySchlbk-Roman SF
43915 XM
(command, giving)68 W
10713 36969 MT
(as one argument the principal name of the client, N)SH
39315 XM
(.)SH
9 SS 
36995 37339 MT
(client)SH
11 SS 
10713 38879 MT
(User)SH
/Times-Roman SF
13463 XM
(\320)SH
/NewCenturySchlbk-Roman SF
(> WS)SH
21513 XM
(N)SH
9 SS 
22410 39249 MT
(client)SH
11 SS 
10713 40735 MT
(The workstation knows the name)
245 W( of its default realm, R. The login command)244 W
10713 41972 MT
(makes a request to the Kerberos Key Distribution Server)
13 W( for realm R, asking for a)14 W
10713 43209 MT
(session key and a ticket for the Kerberos ticket-granting service.)SH
10713 45119 MT
(WS)SH
/Times-Roman SF
12792 XM
(\320)SH
/NewCenturySchlbk-Roman SF
(> KKDS)SH
21513 XM
({N)SH
25097 XM
(@R, N)SH
29462 XM
(, T)SH
33911 XM
(})SH
9 SS 
18127 45489 MT
(R)SH
22777 XM
(client)SH
28211 XM
(tgs)SH
30808 XM
(current)SH
11 SS 
10713 46975 MT
(where N)97 W
16784 XM
(is the name)
97 W( of the ticket-granting service, and T)96 W
45545 XM
(is the current)96 W
9 SS 
15130 47345 MT
(tgs)SH
42040 XM
(current)SH
11 SS 
10713 48341 MT
(date and time.)SH
10713 50197 MT
(This request crosses the network in cleartext to the KKDS for realm R.)SH
10714 52053 MT
(3.)SH
12244 XM
(The KKDS looks up N)102 W
26633 XM
(and N)102 W
31105 XM
(, finding private keys K)103 W
46214 XM
(and K)103 W
50646 XM
(. It)512 W
9 SS 
23905 52423 MT
(client)SH
29854 XM
(tgs)SH
43485 XM
(client)SH
49395 XM
(tgs)SH
11 SS 
10713 53419 MT
(creates a new temporary session key, K)201 W
37316 XM
(, for use)
201 W( in this session, and)200 W
9 SS 
31992 53789 MT
(temporary)SH
7 SS 
36343 54121 MT
(tgs)SH
11 SS 
10713 55076 MT
(prepares a ticket for the ticket-granting service:)SH
9 SS 
46460 56769 MT
(K)SH
7 SS 
47160 57101 MT
(tgs)SH
11 SS 
10713 57139 MT
(Ticket)SH
15165 XM
(:)SH
21513 XM
({K)SH
28060 XM
(, N)SH
31889 XM
(, N)SH
34649 XM
(,T)SH
38792 XM
(, WS, Lifetime})SH
9 SS 
13914 57509 MT
(tgs)SH
22736 XM
(temporary)SH
29569 XM
(client)SH
33398 XM
(tgs)SH
35689 XM
(current)SH
7 SS 
27087 57841 MT
(tgs)SH
9 SS 
22651 58832 MT
(K)SH
7 SS 
23351 59164 MT
(y)SH
11 SS 
10713 59202 MT
(where the)
159 W( notation {X})160 W
24193 XM
(means that message X is enciphered using encryption)160 W
10713 60439 MT
(key K)28 W
14179 XM
(. The)
362 W( value WS is the network address)
28 W( of the requesting workstation.  The)27 W
9 SS 
13696 60809 MT
(y)SH
11 SS 
10713 61805 MT
(value Lifetime is the ticket lifetime chosen by the KKDS.  An explanation of the)95 W
10713 63042 MT
(rules for the ticket lifetime appears in the next section.)SH
10714 64898 MT
(4.)SH
12244 XM
(The KKDS sends a response packet:)SH
9 SS 
45616 66591 MT
(K)SH
7 SS 
46316 66923 MT
(client)SH
11 SS 
10713 66961 MT
(KKDS)SH
/Times-Roman SF
14931 XM
(\320)SH
/NewCenturySchlbk-Roman SF
(> WS)SH
21513 XM
({K)SH
28060 XM
(, N)SH
30820 XM
(, Lifetime, T)SH
40185 XM
(, Ticket)SH
45249 XM
(})SH
9 SS 
13975 67331 MT
(R)SH
22736 XM
(temporary)SH
29569 XM
(tgs)SH
37082 XM
(current)SH
43998 XM
(tgs)SH
7 SS 
27087 67663 MT
(tgs)SH
11 SS 
10713 68871 MT
(Note that authentication has not yet occurred)208 W
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Roman SF
(a sealed)
208 W( response containing a)207 W
10713 70108 MT
(further sealed)
141 W( ticket comes back even if the user has misrepresented his or her)142 W
10713 71345 MT
(identity.)SH
10 /Helvetica-Bold AF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 10 10 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 10, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
11 /NewCenturySchlbk-Roman AF
8554 8011 MT
(5.)SH
10084 XM
(At this point, the workstation asks the user for the password.)SH
8553 9921 MT
(User)SH
/Times-Roman SF
11303 XM
(\320)SH
/NewCenturySchlbk-Roman SF
(> WS)SH
19353 XM
(<password>)SH
8553 11777 MT
(and the workstation runs the)
7 W( password through the one-way encryption algorithm)6 W
8553 13014 MT
(to produce K)SH
17331 XM
(. It)
306 W( immediately destroys its copy of the password.)SH
9 SS 
15011 13384 MT
(client)SH
11 SS 
8554 14870 MT
(6.)SH
10084 XM
(The workstation decrypts the response from KKDS)132 W
37927 XM
(using K)132 W
44773 XM
(and checks)132 W
9 SS 
36839 15240 MT
(R)SH
42015 XM
(client)SH
11 SS 
8553 16236 MT
(its authenticity)
580 W( by comparing T)579 W
30022 XM
(and N)579 W
35856 XM
(in the response with the)579 W
9 SS 
26919 16606 MT
(current)SH
33720 XM
(tgs)SH
11 SS 
8553 17602 MT
(corresponding values in the initial request.  If the)
117 W( response passes this test, the)118 W
8553 18839 MT
(user knows)
296 W( for certain that the response was prepared by the Kerberos Key)295 W
8553 20076 MT
(Distribution Service, because that is the only other entity in the universe that)189 W
8553 21313 MT
(knows K)146 W
15421 XM
(. The)
598 W( response)
146 W( is current rather than a replay of a response from)145 W
9 SS 
13101 21683 MT
(client)SH
11 SS 
8553 22679 MT
(yesterday, because it contains T)47 W
28112 XM
(. A)
400 W( fraudulent user)
47 W( finds that the response)48 W
9 SS 
25009 23049 MT
(current)SH
11 SS 
8553 24045 MT
(\050including the sealed ticket\051 is a worthless set of random bits because it is)343 W
8553 25282 MT
(enciphered with the unknown private key of the legitimate user.)SH
8553 27138 MT
(The legitimate user stashes away K)172 W
33423 XM
(and Ticket)172 W
40747 XM
(for later use.)
172 W( The)651 W
9 SS 
27621 27508 MT
(temporary)SH
39018 XM
(tgs)SH
7 SS 
31972 27840 MT
(tgs)SH
11 SS 
8553 28795 MT
(workstation destroys)
100 W( its copy of the user's private key K)99 W
40238 XM
(, because it will not)99 W
9 SS 
37918 29165 MT
(client)SH
11 SS 
8553 30161 MT
(be needed again during this login session.)SH
10 /Helvetica-BoldOblique AF
6120 32988 MT
(Scenario II.  Using a Kerberos-Mediated Service)SH
11 /NewCenturySchlbk-Roman AF
6931 34474 MT
(To use a service S, the)
309 W( user must have a ticket Ticket)310 W
40950 XM
(and the corresponding)310 W
9 SS 
37450 34844 MT
(service)SH
11 SS 
6120 35840 MT
(temporary session key for that service, K)56 W
33878 XM
(. Scenario)
417 W( I traced the acquisition of)55 W
9 SS 
27284 36210 MT
(temporary)SH
7 SS 
31635 36542 MT
(service)SH
11 SS 
6120 37497 MT
(one such ticket.  Assume for the moment that the client now has a ticket and)
132 W( temporary)133 W
6120 38734 MT
(session key for service S. \050Scenario III, later, demonstrates how)
422 W( the client can get)421 W
6120 39971 MT
(additional tickets without having to again present the user's password.\051)SH
8554 41708 MT
(1.)SH
10084 XM
(To use service S, the client first prepares an authenticator.)SH
9 SS 
30138 43401 MT
(K)SH
7 SS 
30838 43733 MT
(temporary)SH
11 SS 
8553 43771 MT
(Authenticator)SH
18573 XM
(:)SH
19353 XM
({N)SH
22937 XM
(, T)SH
27386 XM
(, WS})SH
5 SS 
34222 44027 MT
(service)SH
9 SS 
15689 44141 MT
(service)SH
20617 XM
(client)SH
24283 XM
(current)SH
11 SS 
8553 45627 MT
(where WS is the workstation's)
94 W( network address, T)95 W
38256 XM
(is a current timestamp,)95 W
9 SS 
34752 45997 MT
(current)SH
11 SS 
8553 46993 MT
(and K)SH
18531 XM
(is the temporary key that came with ticket Ticket)SH
46656 XM
(.)SH
9 SS 
11631 47363 MT
(temporary)SH
43772 XM
(service)SH
7 SS 
15982 47695 MT
(service)SH
11 SS 
8553 48849 MT
(Now the workstation begins)
37 W( the protocol for the target service S. The protocol has)36 W
8553 50086 MT
(one difference from the corresponding, non-Kerberos protocol for)
14 W( the same service:)15 W
8553 51323 MT
(it is prefaced with the authenticator and the ticket.)SH
8553 53233 MT
(WS)SH
/Times-Roman SF
10632 XM
(\320)SH
/NewCenturySchlbk-Roman SF
(> Service)SH
19353 XM
({Authenticator)SH
29740 XM
(, Ticket)SH
36437 XM
(})SH
9 SS 
26856 53603 MT
(service)SH
33553 XM
(service)SH
11 SS 
8554 55089 MT
(2.)SH
10084 XM
(When the target service receives this request, it first decrypts the)
63 W( ticket using)62 W
8553 56326 MT
(its private key, K)171 W
20758 XM
(. Since)
648 W( the only two entities in the universe that know)172 W
9 SS 
17874 56696 MT
(service)SH
11 SS 
8553 57692 MT
(K)SH
12626 XM
(are the service itself and Kerberos, the service can be confident that if the)27 W
9 SS 
9409 58062 MT
(service)SH
11 SS 
8553 59058 MT
(ticket deciphers properly it must have been originally)
41 W( prepared by Kerberos.  The)42 W
8553 60295 MT
(test of whether or not the)
135 W( ticket deciphered properly is whether or not the next)134 W
8553 61532 MT
(step works.  A correct ticket decipherment exposes the)
30 W( temporary session key, the)31 W
8553 62769 MT
(client's name, and the timestamp.  The)
94 W( temporary session key allows the service)93 W
8553 64006 MT
(to decrypt the authenticator, exposing its data.  If the client's name and network)75 W
8553 65243 MT
(address in the ticket)
230 W( and authenticator match, the ticket's timestamp has not)229 W
8553 66480 MT
(expired, the network)
123 W( address in the authenticator matches that in the incoming)124 W
8553 67717 MT
(packet, and the authenticator timestamp is sufficiently)
22 W( recent, then the request is)21 W
8553 68954 MT
(taken as legitimate.  The service knows)
82 W( for certain the identity of the requesting)83 W
8553 70191 MT
(client and the service and the client now)
222 W( share a temporary secret key.  This)221 W
8553 71428 MT
(authentication remains valid for the lifetime of the client-service connection.)SH
10 /Helvetica-Bold AF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 11 11 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
44575 XM
(Section E.2.1, page 11)SH
11 /NewCenturySchlbk-Roman AF
10714 8011 MT
(3.)SH
12244 XM
(Finally, the application protocol begins, typically by transferring an)745 W
10713 9248 MT
(application request from the client to the server, perhaps at the end)
44 W( of the packet)43 W
10713 10485 MT
(that contained the ticket.)SH
9091 12712 MT
(If a client has)
241 W( a ticket for some service, that client may reuse the ticket as often as)242 W
8280 13949 MT
(desired, until it expires.  Each reuse requires)
141 W( constructing a new authenticator, one that)140 W
8280 15186 MT
(contains a current time stamp.)SH
10 /Helvetica-BoldOblique AF
8280 18013 MT
(Scenario III.  Getting Additional Tickets)SH
11 /NewCenturySchlbk-Roman AF
9091 19499 MT
(If a client wants to use a service for which a ticket wasn't obtained as part)
93 W( of the initial)94 W
8280 20736 MT
(encounter with Kerberos, the client invokes the Kerberos Ticket-Granting Service.)
211 W( The)727 W
8280 21973 MT
(Kerberos Ticket-Granting Service is simply another protocol for talking to the)
211 W( Kerberos)212 W
8280 23210 MT
(Authentication Service, one that makes use of the ticket-granting)
271 W( ticket passed in the)270 W
8280 24447 MT
(initial encounter, rather than the user's private key, to establish authenticity.)SH
10714 26184 MT
(1.)SH
12244 XM
(The client first prepares an authenticator)
249 W( exactly as before, though with a)250 W
10713 27421 MT
(current timestamp)
316 W( and using the temporary session key that came with the)315 W
10713 28658 MT
(ticket-granting ticket.)SH
9 SS 
32298 30351 MT
(K)SH
7 SS 
32998 30683 MT
(temporary)SH
11 SS 
10713 30721 MT
(Authenticator)SH
19100 XM
(:)SH
21513 XM
({N)SH
25097 XM
(, T)SH
29546 XM
(, WS})SH
5 SS 
36382 30977 MT
(tgs)SH
9 SS 
17849 31091 MT
(tgs)SH
22777 XM
(client)SH
26443 XM
(current)SH
11 SS 
10713 32577 MT
(Now the workstation sends the authenticator, the previously obtained)
140 W( ticket for)141 W
10713 33814 MT
(the ticket-granting service,)
272 W( and the name of the service for which a ticket is)271 W
10713 35051 MT
(wanted to the ticket granting service.)SH
10713 36961 MT
(WS)SH
/Times-Roman SF
12792 XM
(\320)SH
/NewCenturySchlbk-Roman SF
(> KTGS)SH
21513 XM
({Authenticator)SH
30267 XM
(, Ticket)SH
35331 XM
(, N)SH
39724 XM
(@R})SH
9 SS 
18005 37331 MT
(R)SH
29016 XM
(tgs)SH
34080 XM
(tgs)SH
36840 XM
(service)SH
11 SS 
10714 38817 MT
(2.)SH
12244 XM
(The ticket-granting service goes through the same)
30 W( procedure as does any other)31 W
10713 40054 MT
(Kerberos-mediated service,)
199 W( first decrypting the ticket with its private key, and)198 W
10713 41291 MT
(using the temporary session key found inside to decrypt the authenticator.)
75 W( If)
457 W( all)76 W
10713 42528 MT
(the authenticity checks verify correctly,)
309 W( the ticket-granting service knows for)308 W
10713 43765 MT
(certain the identity of the requesting client.  In addition,)
217 W( it has recovered the)218 W
10713 45002 MT
(temporary session key which is known only to it and the client;)
112 W( this session key)111 W
10713 46239 MT
(can be used to securely return a ticket)
109 W( to the client.  KTGS looks up the service)110 W
10713 47476 MT
(name N)94 W
18107 XM
(in its database and finds the private key, K)94 W
43765 XM
(, for)
94 W( that service.)93 W
9 SS 
14823 47846 MT
(service)SH
40881 XM
(service)SH
11 SS 
10713 48842 MT
(It now prepares a ticket:)SH
9 SS 
42891 50535 MT
(K)SH
7 SS 
43591 50867 MT
(service)SH
11 SS 
10713 50905 MT
(Ticket)SH
16798 XM
(:)SH
21513 XM
({K)SH
29330 XM
(, N)SH
33159 XM
(, T)SH
37608 XM
(, Lifetime})SH
9 SS 
13914 51275 MT
(service)SH
22736 XM
(temporary)SH
30839 XM
(client)SH
34505 XM
(current)SH
7 SS 
27087 51607 MT
(service)SH
11 SS 
10713 52761 MT
(where K)103 W
22098 XM
(is a new temporary session key for use between this)
103 W( client)104 W
9 SS 
15095 53131 MT
(temporary)SH
7 SS 
19446 53463 MT
(service)SH
11 SS 
10713 54418 MT
(and the service; it then sends the response:)SH
9 SS 
45236 56111 MT
(K)SH
7 SS 
45936 56443 MT
(temporary)SH
11 SS 
10713 56481 MT
(KTGS)SH
/Times-Roman SF
14809 XM
(\320)SH
/NewCenturySchlbk-Roman SF
(> WS)SH
21513 XM
({K)SH
29330 XM
(, N)SH
33723 XM
(, T)SH
38172 XM
(, Ticket)SH
44869 XM
(})SH
5 SS 
49320 56737 MT
(tgs)SH
9 SS 
13853 56851 MT
(R)SH
22736 XM
(temporary)SH
30839 XM
(service)SH
35069 XM
(current)SH
41985 XM
(service)SH
7 SS 
27087 57183 MT
(service)SH
11 SS 
10713 58337 MT
(Note that the form of this response is identical to the form of the original)
8 W( response)7 W
10713 59574 MT
(of the KKDS when it returned the ticket granting ticket.)SH
10714 61430 MT
(3.)SH
12244 XM
(The client, knowing the value)
158 W( of K)159 W
35995 XM
(, decrypts the response, verifies)159 W
9 SS 
30671 61800 MT
(temporary)SH
7 SS 
35022 62132 MT
(tgs)SH
11 SS 
10713 63087 MT
(its authenticity as before, and stashes away the ticket for the target service.)SH
9091 65314 MT
(Scenario III)
140 W( emphasizes that the ticket-granting service is simply another example of a)139 W
8280 66551 MT
(Kerberos-mediated network service.  The)
115 W( form of the messages in step one of scenarios II)116 W
8280 67788 MT
(and III is identical, once one realizes that the last)
103 W( field in the second message of scenario)102 W
8280 69025 MT
(III is the application request mentioned in step three of Scenario II.)SH
10 /Helvetica-Bold AF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 12 12 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 12, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
11 SS 
6120 8002 MT
(Some Options)SH
/NewCenturySchlbk-Roman SF
6931 10370 MT
(As mentioned, the three scenarios above follow what is expected to be the)
99 W( most common)100 W
6120 11607 MT
(form of use of Kerberos authentication.  There are several)
140 W( optional possibilities available)139 W
6120 12844 MT
(for applications that use Kerberos:)SH
/Symbol SF
7741 14650 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(The examples specified no)
50 W( values for the instance name of either the client or the)51 W
8553 15887 MT
(service; those values are optional and default to the null instance.)SH
/Symbol SF
7741 17743 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(An application client may include in the sealed)
323 W( authenticator an application)322 W
8553 18980 MT
(authenticator, such as a checksum of data to be sent.  Calculating)
56 W( that checksum)57 W
8553 20217 MT
(is, of course, feasible)
155 W( only if all the data to be transmitted is known at connect)154 W
8553 21454 MT
(time. As)
884 W( an alternative, an application could devise a commit message that)290 W
8553 22691 MT
(appears at the end of the protocol, and that includes)
79 W( a checksum sealed with the)78 W
8553 23928 MT
(session key.)SH
/Symbol SF
7741 25784 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(If the application)
110 W( requires mutual authentication, it sets an option in its service)111 W
8553 27021 MT
(request, and places no application protocol information in the initial packet.  The)62 W
8553 28258 MT
(application server responds by adding one to)
673 W( the workstation's request)674 W
8553 29495 MT
(timestamp, encrypting the result using the session key,)
526 W( and sending the)525 W
8553 30732 MT
(encrypted result back to the client.  Once the client receives and decrypts this)190 W
8553 31969 MT
(handshake response, it)
337 W( can be certain that the server is authentic, and the)336 W
8553 33206 MT
(application protocol may safely begin.)SH
/Symbol SF
7741 35062 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(The application server may retain state \050timestamps\051)
157 W( about previous use to aid)158 W
8553 36299 MT
(detecting replay attempts.)SH
/Symbol SF
7741 38155 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(The application may use)
252 W( the application authenticator and the session key to)251 W
8553 39392 MT
(continue a session)
296 W( in which every message is both completely encrypted and)297 W
8553 40629 MT
(authenticated.)SH
/Symbol SF
7741 42485 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(An application may)
226 W( request a ticket with a specified lifetime; if the requested)225 W
8553 43722 MT
(lifetime is less than the default ticket lifetime and less than that)
74 W( specified in the)75 W
8553 44959 MT
(Kerberos database for the service, Kerberos)
333 W( issues a ticket with the shorter)332 W
8553 46196 MT
(lifetime.)SH
/Helvetica-Bold SF
6120 49286 MT
(Application and User Interface)SH
/NewCenturySchlbk-Roman SF
6931 51654 MT
(For the most part, Kerberos is designed to operate under)
187 W( the covers, without separate)188 W
6120 52891 MT
(actions by the user.  For network applications)
155 W( that make use of Kerberos authentication)154 W
6120 54128 MT
(there is a library of Kerberos functions that simplify the obtaining)
87 W( of authentication.  The)88 W
6120 55365 MT
(primary interface consists of three)
218 W( generic user commands and two generic subroutines)217 W
6120 56602 MT
(that are used by applications.)SH
/Symbol SF
7741 58408 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(User command)253 W
/NewCenturySchlbk-Bold SF
17025 XM
(kinit)SH
/NewCenturySchlbk-Roman SF
(: This command)
253 W( asks the user for a password, obtains a)254 W
8553 59645 MT
(ticket-granting ticket, and destroys the password as soon as it has)
240 W( stored the)239 W
8553 60882 MT
(ticket-granting ticket and associated session key.  Note that the function of this)125 W
8553 62119 MT
(command may be combined with the)SH
/NewCenturySchlbk-Bold SF
27430 XM
(login)SH
/NewCenturySchlbk-Roman SF
30633 XM
(command.)SH
/Symbol SF
7741 63975 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(User command)255 W
/NewCenturySchlbk-Bold SF
17029 XM
(klist)SH
/NewCenturySchlbk-Roman SF
(: Displays the list of tickets obtained so far)
255 W( in this login)254 W
8553 65212 MT
(session.)SH
/Symbol SF
7741 67068 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(User command)176 W
/NewCenturySchlbk-Bold SF
16871 XM
(kdestroy)SH
/NewCenturySchlbk-Roman SF
(: Destroys)
658 W( all)
176 W( tickets.  The function of this command)177 W
8553 68305 MT
(may be combined with the)SH
/NewCenturySchlbk-Bold SF
22214 XM
(logout)SH
/NewCenturySchlbk-Roman SF
26152 XM
(command.)SH
/Symbol SF
7741 70161 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(Subroutine)SH
/NewCenturySchlbk-Bold SF
14673 XM
(make_application_request\050\051)SH
/NewCenturySchlbk-Roman SF
(: Used by an)
124 W( application to get a copy)123 W
8553 71398 MT
(of, or if necessary obtain, a ticket and session key for a named)
52 W( service, to prepare)53 W
10 /Helvetica-Bold AF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 13 13 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
44575 XM
(Section E.2.1, page 13)SH
11 /NewCenturySchlbk-Roman AF
10713 8011 MT
(an authenticator, and return the result to)
239 W( the application for inclusion in the)238 W
10713 9248 MT
(initial service request.)SH
/Symbol SF
9901 11104 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Subroutine)SH
/NewCenturySchlbk-Bold SF
17328 XM
(read_application_request)SH
/NewCenturySchlbk-Roman SF
(: Used by an application server)
619 W( to)620 W
10713 12341 MT
(validate a)
19 W( presented ticket and authenticator.  It returns the identity found in the)18 W
10713 13578 MT
(ticket and a judgement about the authenticity of that identity.)SH
9091 15805 MT
(Note that the actual names, arguments, and parameters of these)
90 W( generic commands and)91 W
8280 17042 MT
(subroutines are implementation-dependent.  The Kerberos library implemented for UNIX,)95 W
8280 18279 MT
(for example, shortens some names, combines kinit and kdestroy)
242 W( with login and logout,)243 W
8280 19516 MT
(contains about a dozen additional supporting subroutines for the convenience of)621 W
8280 20753 MT
(applications that are using)
5 W( optional features, and includes conventions about where to store)6 W
8280 21990 MT
(tickets in the UNIX environment.)SH
/Helvetica-Bold SF
8280 25080 MT
(Realms)SH
/NewCenturySchlbk-Roman SF
9091 27448 MT
(Kerberos provides for)
28 W( partitioning authentication information according to administrative)27 W
8280 28685 MT
(divisions. All)
996 W( users need not be registered)
345 W( with a single organization.  In addition,)346 W
8280 29922 MT
(organizations that share authentication need not trust one another.  A)
377 W( realm is an)376 W
8280 31159 MT
(authentication domain.  It is that part of the namespace of)
9 W( authenticable users and services)10 W
8280 32396 MT
(that relies on a separately administered authentication server \050or)
22 W( set of servers sharing the)21 W
8280 33633 MT
(same database\051 for their)
211 W( authenticity.  A service can accept credentials produced by an)212 W
8280 34870 MT
(authentication server only for a realm of which it is a member.)
144 W( Both)
592 W( users and services)143 W
8280 36107 MT
(may belong to multiple realms.  Realm names within a network)
140 W( need to be unique.  The)141 W
8280 37344 MT
(earlier-mentioned convention of naming)
26 W( realms with ARPA Internet domain names has the)25 W
8280 38581 MT
(side effect of guaranteeing uniqueness.)SH
9091 40808 MT
(Realms can be either independent or semi-independent.)SH
10 /Helvetica-BoldOblique AF
8280 43635 MT
(Independent Realms)SH
11 /NewCenturySchlbk-Roman AF
9091 45121 MT
(Some users)
153 W( will want to access services from realms with which they aren't registered.)154 W
8280 46358 MT
(Some services will be willing to provide services to users from other realms.)
174 W( These)
652 W( two)173 W
8280 47595 MT
(requirements lead to a mechanism to authenticate users across realms.)SH
9091 49822 MT
(This mechanism is provided through)
232 W( the cooperation of the administrators of the two)233 W
8280 51059 MT
(realms involved.  The Kerberos for each such)
46 W( realm is a client of the Kerberos in the other,)45 W
8280 52296 MT
(and shares a secret key for a)
302 W( cross-realm ticket-granting service.  This mutual client)303 W
8280 53533 MT
(relationship between the Kerberos services allows a client of the Kerberos in)
90 W( one realm to)89 W
8280 54770 MT
(authenticate itself to the Kerberos in the)
29 W( other realm even though no information is shared)30 W
8280 56007 MT
(between the client and the other Kerberos service.  Once a client has authenticated itself to)25 W
8280 57244 MT
(the Kerberos)
129 W( in the new realm, that client can request tickets for services issued by that)130 W
8280 58481 MT
(Kerberos.)SH
9091 60708 MT
(As an example, consider a user in the LCS realm who wants to access a server)
173 W( in the)172 W
8280 61945 MT
(Athena realm.  The user must first authenticate with the LCS Kerberos)
128 W( using the initial)129 W
8280 63182 MT
(authentication protocol.  Once this authentication is done, the user can request a)
53 W( ticket for)52 W
8280 64419 MT
(the Athena Kerberos.  The user)
81 W( presents this ticket to the Athena Kerberos which accepts)82 W
8280 65656 MT
(the user's identity since the Athena Kerberos is a client)
29 W( of the LCS Kerberos.  The user can)28 W
8280 66893 MT
(then request a ticket for an Athena service and the Athena Kerberos will comply.  However,)8 W
8280 68130 MT
(the ticket that the Athena Kerberos issues indicates that the user is)
96 W( from the LCS realm.)95 W
8280 69367 MT
(Thus, all the)
69 W( ticket says is that the Athena Kerberos acknowledges that the user has been)70 W
8280 70604 MT
(authenticated by the LCS Kerberos.  The client then)
171 W( presents the new ticket to the end)170 W
8280 71841 MT
(service which decides whether or not to accept it, based on its own authorization policy.)SH
10 /Helvetica-Bold AF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 14 14 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 14, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
/Helvetica-BoldOblique SF
6120 7929 MT
(Semi-independent Realms)SH
11 /NewCenturySchlbk-Roman AF
6931 9415 MT
(The realm mechanism can also be used to provide)
85 W( authentication services for off-campus)86 W
6120 10652 MT
(independent living groups.  The problem is that the ILGs must have a)
544 W( way of)543 W
6120 11889 MT
(authenticating users)
271 W( to local services even when their connection to the campus-based)272 W
6120 13126 MT
(facilities fails.  Yet, at the same time, there cannot be)
19 W( a copy of the Kerberos for the Athena)18 W
6120 14363 MT
(realm in the ILG since there)
66 W( would be no guarantee of its security.  Instead, each ILG has)67 W
6120 15600 MT
(its own realm.)SH
6931 17827 MT
(Local services accept authentication by either realm.  Most services)
67 W( on campus, however,)66 W
6120 19064 MT
(accept authentication only from)
51 W( the Athena realm.  When communication with the campus)52 W
6120 20301 MT
(network is operational, ILG users authenticate themselves)
161 W( to the Athena Kerberos, then)160 W
6120 21538 MT
(use the protocol described above to authenticate themselves to the ILG)
113 W( Kerberos.  In this)114 W
6120 22775 MT
(way ILG users have to)
362 W( provide only one password \050the one required by the Athena)361 W
6120 24012 MT
(Kerberos\051 to use both local and campus services.)
SH( Users)
307 W( on campus who want to use services)1 W
6120 25249 MT
(located at the ILG will also be able to use this mechanism.)SH
6931 27476 MT
(If the connection between the ILG and main)
333 W( campus ceases to function, ILG users)332 W
6120 28713 MT
(authenticate themselves directly to the ILG Kerberos and are thus be able)
216 W( to use local)217 W
6120 29950 MT
(services. This)
496 W( local authentication)
95 W( does not allow them to use all the services on campus,)94 W
6120 31187 MT
(but since they are disconnected it doesn't matter.)SH
6931 33414 MT
(It is suggested that users choose different keys for)
217 W( the Athena Kerberos and the ILG)218 W
6120 34651 MT
(Kerberos since the ILG Kerberos may be much easier)
136 W( to compromise.  We do not plan to)135 W
6120 35888 MT
(enforce such a suggestion, however.)SH
10 /Helvetica-BoldOblique AF
6120 38715 MT
(More Complex Realm Relationships)SH
11 /NewCenturySchlbk-Roman AF
6931 40201 MT
(The realm mechanism of Kerberos is not fully developed.  In particular, the protocol)
57 W( does)58 W
6120 41438 MT
(not provide the target service with detailed information)
195 W( about the provenance of tickets)194 W
6120 42675 MT
(that have been)
430 W( authenticated in other realms.  More work is required on security)431 W
6120 43912 MT
(implications of cross-realm authentication, so that a service examining)
130 W( a ticket can know)129 W
6120 45149 MT
(exactly whom it is trusting for authentication.)SH
12 /Helvetica-Bold AF
6120 48502 MT
(5. Management of Kerberos Data)SH
11 /NewCenturySchlbk-Roman AF
6931 50652 MT
(The database underlying Kerberos contains a record for each user identity and for each)126 W
6120 51889 MT
(service \050that is, for)
139 W( each principal\051 known within that Kerberos realm.  In order to allow)138 W
6120 53126 MT
(security of the data to be the primary consideration when making operational)
210 W( tradeoffs)211 W
6120 54363 MT
(about management of)
308 W( a Kerberos service, the information that Kerberos stores is the)307 W
6120 55600 MT
(minimum required to accomplish)
102 W( and manage authentication.  Thus, although a Kerberos)103 W
6120 56837 MT
(record is a kind of per-user record, it does not)
286 W( contain information such as telephone)285 W
6120 58074 MT
(number and office address, which are not used by Kerberos for)
630 W( authentication.)631 W
6120 59311 MT
(Nevertheless, if there are a large number of)
49 W( users, the Kerberos database can still be quite)48 W
6120 60548 MT
(large and it requires some tools for its management.)
149 W( The)
605 W( data management interface of)150 W
6120 61785 MT
(Kerberos is designed to be used in two ways:)SH
/Symbol SF
7741 63591 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(By a set of manual tools manually from a system manager's)
152 W( workstation.  This)151 W
8553 64828 MT
(approach is suitable for management)
344 W( of a Kerberos realm that has a small)345 W
8553 66065 MT
(number of users.)SH
/Symbol SF
7741 67921 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(By an automated Service Management System.  This approach is intended for)206 W
8553 69158 MT
(managing a system with thousands of users.)SH
6931 71385 MT
(In both cases, the management of)
100 W( the Kerberos service is accomplished remotely via the)101 W
10 /Helvetica-Bold AF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 15 15 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
44575 XM
(Section E.2.1, page 15)SH
11 /NewCenturySchlbk-Roman AF
8280 8011 MT
(network, using Kerberos-authenticated secure connections.)SH
9091 10238 MT
(The information stored for each principal that)
35 W( Kerberos is prepared to authenticate is the)34 W
8280 11475 MT
(following:)SH
/Symbol SF
9901 13281 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(The principal identifier, including instance identifier.)SH
/Symbol SF
9901 15137 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(The private key \050password\051 for this principal.)SH
/Symbol SF
9901 16993 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(The expiration date for this identity.)SH
/Symbol SF
9901 18849 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(The date that this record was last modified.)SH
/Symbol SF
9901 20705 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Identity of the principal who last modified this record.)SH
/Symbol SF
9901 22561 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Maximum lifetime of tickets to be given to this principal.)SH
/Symbol SF
9901 24417 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Attributes \050unused\051.)SH
/Symbol SF
9901 26273 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Implementation data, not visible externally:)SH
8 /Symbol AF
12472 27860 MT
(\267)SH
11 /NewCenturySchlbk-Roman AF
13146 28010 MT
(Key version and master key version.)SH
8 /Symbol AF
12472 29716 MT
(\267)SH
11 /NewCenturySchlbk-Roman AF
13146 29866 MT
(Pointer to old values of this record.)SH
9091 32093 MT
(One piece of)
122 W( information in each record, the private key, must remain secret.  Kerberos)123 W
8280 33330 MT
(reversibly enciphers the private key fields, using a)
177 W( master key for this Key Distribution)176 W
8280 34567 MT
(Service. Encipherment)
504 W( of the private key fields allows a manager to remove copies of)
99 W( the)100 W
8280 35804 MT
(database from the machine and it also)
86 W( allows the Kerberos master to send copies over the)85 W
8280 37041 MT
(network to slave)
151 W( servers without going to extraordinary lengths to protect the privacy of)152 W
8280 38278 MT
(those copies.  Kerberos does not store the)
64 W( master key in the database; it manages that one)63 W
8280 39515 MT
(key separately.)SH
/Helvetica-Bold SF
8280 42605 MT
(Kerberos Database Replication)SH
/NewCenturySchlbk-Roman SF
9091 44973 MT
(The Kerberos database for a realm is managed and updated by a)
375 W( single Kerberos)376 W
8280 46210 MT
(Database Management server)
86 W( \050the KDBM\051; authentication requests are handled by one or)85 W
8280 47447 MT
(more Kerberos Key Distribution Servers \050KKDS's\051, each of which)
257 W( contains an identical)258 W
8280 48684 MT
(complete copy of the Kerberos database.  Since all KKDS's have identical data)
97 W( any KKDS)96 W
8280 49921 MT
(can handle any authentication request; a client uses a name service to obtain a list)
231 W( of)232 W
8280 51158 MT
(KKDS's, and chooses the)
63 W( one that is nearest in terms of network topology.  The separation)62 W
8280 52395 MT
(of responsibility between KDBM and KKDS's)
250 W( does not imply that several distinct host)251 W
8280 53632 MT
(computers are)
42 W( required; in the simplest deployment, one host can run both a KDBM server)41 W
8280 54869 MT
(and a KKDS.  The purpose of separation is to simplify update of)
294 W( the database while)295 W
8280 56106 MT
(permitting replicated KKDS's for improved)
267 W( availability and performance.  \050Since many)266 W
8280 57343 MT
(other network services may depend on it, continuous availability of Key)
347 W( Distribution)348 W
8280 58580 MT
(Service is essential; continuous availability of update service is not nearly so important.\051)SH
9091 60807 MT
(With respect to the Kerberos database, all operations done by a KKDS are "read-only,")
44 W( so)43 W
8280 62044 MT
(the only coordination among KKDS's and the KDBM is for the)
9 W( KKDS's to receive updates of)10 W
8280 63281 MT
(the information when changes are made at the)
150 W( KDBM.  Again for simplicity, the KDBM)149 W
8280 64518 MT
(issues KKDS updates occasionally \050e.g., a few times per day\051 and by copying)
202 W( the entire)203 W
8280 65755 MT
(database. Complete)
748 W( copying eliminates the)
221 W( need for considerably more complex update)220 W
8280 66992 MT
(procedures that would maintain update queues)
129 W( at the KDBM and recovery procedures at)130 W
8280 68229 MT
(the KKDS's.)
124 W( Because)
553 W( updates occur on a batch basis, the KKDS's may have data that is)123 W
8280 69466 MT
(slightly stale; update delay of a few hours is acceptable for this application.)SH
9091 71693 MT
(The KDBM copies its database to the KKDS's using a)
52 W( Kerberos-protected protocol.  First,)53 W
10 /Helvetica-Bold AF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 16 16 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 16, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
11 /NewCenturySchlbk-Roman AF
6120 8011 MT
(using the Kerberos mutual authentication protocol,)
141 W( a secure encryption key is exchanged)140 W
6120 9248 MT
(between the KDBM site and a given KKDS)
165 W( site. The KDBM creates a checkpoint of the)166 W
6120 10485 MT
(data to be transferred, and calculates its \050strong\051 checksum, seeding the checksum with)
22 W( the)21 W
6120 11722 MT
(session key.)
119 W( Then)
546 W( it transfers the actual data using a conventional file transfer protocol.)120 W
6120 12959 MT
(Recall that)
5 W( the data does not include any cleartext passwords or other particularly sensitive)4 W
6120 14196 MT
(information. However,)
702 W( its integrity must be assured.  The receiving)
198 W( KKDS temporarily)199 W
6120 15433 MT
(stores all the transferred data, then)
118 W( recalculates the checksum of the received data using)117 W
6120 16670 MT
(the secret session key.  It then compares the calculated checksum with)
357 W( the original)358 W
6120 17907 MT
(checksum, which was separately transmitted using the)
169 W( secure Kerberos protocol.  If and)168 W
6120 19144 MT
(only if the two checksums match, the newly received data updates the KKDS database.)SH
/Helvetica-Bold SF
6120 22234 MT
(Updates to the Kerberos Data Base)SH
/NewCenturySchlbk-Roman SF
6931 24602 MT
(Updates are done by an update protocol that runs between any authenticated client at a)84 W
6120 25839 MT
(workstation and the KDBM.  If the)
130 W( KDBM is not accessible, updates are temporarily not)129 W
6120 27076 MT
(allowed.)SH
6931 29303 MT
(There are several routine updates made to the Kerberos database.)SH
8554 31040 MT
(1.)SH
10084 XM
(adding a new user)SH
8554 32896 MT
(2.)SH
10084 XM
(a user changes a password)SH
8554 34752 MT
(3.)SH
10084 XM
(system manager changes a forgotten or compromised password)SH
8554 36608 MT
(4.)SH
10084 XM
(deactivating an old user)SH
8554 38464 MT
(5.)SH
10084 XM
(removing old user identities)SH
6931 40691 MT
(In emergencies, a system manager can also tinker)
174 W( directly with raw Kerberos data for)175 W
6120 41928 MT
(repair and other extraordinary maintenance operations.  Such tinkering)
124 W( must be done by)123 W
6120 43165 MT
(logging in directly on the host that runs the master Kerberos service.)SH
/Helvetica-Bold SF
6120 46255 MT
(Adding a New User)SH
/NewCenturySchlbk-Roman SF
6931 48623 MT
(Adding a new user to the Kerberos database is accomplished)
171 W( by invoking the add-user)172 W
6120 49860 MT
(message type of the Kerberos protocol, which)
33 W( requires that the user doing the addition be a)32 W
6120 51097 MT
(previously-added user of the system whose identity appears in an)
121 W( add-user access control)122 W
6120 52334 MT
(list maintained by the Kerberos master system.)SH
6931 54561 MT
(If an SMS is in use, a different approach is taken that is more suitable)
345 W( for mass)344 W
6120 55798 MT
(production. The)
748 W( intent of this different approach is that a user can choose a)
221 W( principal)222 W
6120 57035 MT
(identifier and register the chosen principal identifier and)
285 W( associated password without)284 W
6120 58272 MT
(actually involving a system manager.  Each)
59 W( fall, the SMS is primed with a list of potential)60 W
6120 59509 MT
(new users \050obtained from a list of all registered students\051 including for each user a full)187 W
6120 60746 MT
(name and a student identification number.  A prospective user walks up to)
225 W( an Athena)226 W
6120 61983 MT
(workstation, logs in as an unauthenticated user \050the user identity "register", with)
48 W( publicly-)47 W
6120 63220 MT
(known password "athena", is used for this purpose\051 and)
103 W( interacts with a user registration)104 W
6120 64457 MT
(program that obtains)
174 W( from the user his or her full name, student identification number,)173 W
6120 65694 MT
(proposed principal identifier and proposed password.  The user registration program)
125 W( first)126 W
6120 66931 MT
(connects to SMS to verify that this user's full name and)
228 W( student identification number)227 W
6120 68168 MT
(match one in the list of as-yet-unregistered users.  If so, it)
147 W( informs SMS of the principal)148 W
6120 69405 MT
(identifier that the user has chosen, and in turn receives an add-user session key from SMS.)23 W
6120 70642 MT
(The user registration program then opens an encrypted)
400 W( connection with the master)401 W
6120 71879 MT
(Kerberos service using the add-user session key.  It supplies the user's)
181 W( chosen principal)180 W
10 /Helvetica-Bold AF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 17 17 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
44575 XM
(Section E.2.1, page 17)SH
11 /NewCenturySchlbk-Roman AF
8280 8011 MT
(identifier and password to Kerberos, which checks to see that the principal)
43 W( identifier is not)44 W
8280 9248 MT
(one already on record \050rejecting the request if it is\051 and then records)
5 W( it and the password.  If)4 W
8280 10485 MT
(the transaction)
227 W( with Kerberos is successful, the user registration program confirms the)228 W
8280 11722 MT
(success with SMS, which then commits this registration transaction.)SH
9091 13949 MT
(This unsupervised registration scenario is a)
312 W( compromise that is only weakly secure,)311 W
8280 15186 MT
(because any one who knows another person's name)
74 W( and student identification number can)75 W
8280 16423 MT
(register as that person.  There is some protection against such an)
38 W( attack, however, because)37 W
8280 17660 MT
(when the authentic person)
338 W( with that identity attempts to register, the fraud will be)339 W
8280 18897 MT
(discovered when both SMS and Kerberos reject the second registration attempt.)
301 W( The)906 W
8280 20134 MT
(legitimate user can then appeal to a real)
57 W( system administrator, who can sort things out by)58 W
8280 21371 MT
(forcing into the Kerberos database a new password known only to the legitimate user.)SH
/Helvetica-Bold SF
8280 24461 MT
(User-Initiated Password Change)SH
/NewCenturySchlbk-Roman SF
9091 26829 MT
(The basic scenario for)
206 W( changing a password is that the user does it him or herself by)205 W
8280 28066 MT
(invoking the password-changing program)
40 W( at a workstation.  This program demands the old)41 W
8280 29303 MT
(and new passwords, uses)
144 W( the old password to create a completely encrypted session with)143 W
8280 30540 MT
(the master Kerberos server, and sends the new password on the encrypted)
104 W( connection.  If)105 W
8280 31777 MT
(the user)
64 W( has reason to believe that the old password is so badly compromised that it is not)63 W
8280 33014 MT
(safe to send the new password this way, the user may)
160 W( appeal to the system manager to)161 W
8280 34251 MT
(install a new password.)SH
/Helvetica-Bold SF
8280 37341 MT
(System-Manager-Initiated Password Change)SH
/NewCenturySchlbk-Roman SF
9091 39709 MT
(Kerberos maintains)
156 W( an access control list, which consists of a list of Kerberos principal)155 W
8280 40946 MT
(identifiers of individuals who are)
258 W( authorized to act as system manager.  When a user)259 W
8280 42183 MT
(reports that a password is forgotten)
375 W( or compromised, the system manager opens an)374 W
8280 43420 MT
(encrypted connection from the manager's workstation to)
156 W( the Kerberos master server and)157 W
8280 44657 MT
(runs a password-installation protocol.  This protocol)
11 W( requires that the invoker appear in the)10 W
8280 45894 MT
(system manager access control list.)SH
/Helvetica-Bold SF
8280 48984 MT
(User Deactivation)SH
/NewCenturySchlbk-Roman SF
9091 51352 MT
(Kerberos maintains an expiration date and an activation flag for every principal)
72 W( identity)73 W
8280 52589 MT
(that it is prepared to authenticate.  Kerberos)
295 W( always rejects attempts to authenticate)294 W
8280 53826 MT
(expired or inactive users, with an appropriate error response.)
66 W( The)
440 W( purpose of deactivation)67 W
8280 55063 MT
(is to provide a simple means of avoiding)
10 W( accidental reuse of principal identifiers, which may)9 W
8280 56300 MT
(continue to appear in access control lists for some time after a user departs from the scene.)SH
9091 58527 MT
(There is a secure protocol message type by)
102 W( which the system manager can deactivate or)103 W
8280 59764 MT
(reactivate a principal identifier, or change its expiration date.)SH
/Helvetica-Bold SF
8280 62854 MT
(Removing Old User Identities)SH
/NewCenturySchlbk-Roman SF
9091 65222 MT
(Kerberos maintains a last-modified-date as)
213 W( part of each record of a principal identity.)212 W
8280 66459 MT
(Deactivation updates this date.  One use of this date is to allow a system manager to)236 W
8280 67696 MT
(identify old identities that have not been in use for a sufficient)
16 W( period \050e.g., one year\051 that it)15 W
8280 68933 MT
(is safe to)
17 W( remove them.  A secure protocol message allows an authorized system manager to)18 W
8280 70170 MT
(remove any specific inactive identity, and to remove all inactive identities)
168 W( that have not)167 W
8280 71407 MT
(been changed since a specified)
44 W( date.  This operation is designed under the assumption that)45 W
10 /Helvetica-Bold AF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 18 18 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 18, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
11 /NewCenturySchlbk-Roman AF
6120 8011 MT
(it occurs rarely, perhaps two or three times a year, so the only)
49 W( record of identities removed)48 W
6120 9248 MT
(is in the Kerberos log.)SH
/Helvetica-Bold SF
6120 12338 MT
(Keeping Synchronized with SMS)SH
/NewCenturySchlbk-Roman SF
6931 14706 MT
(If a Service Management System is)
59 W( in use, it maintains its own records of registered and)60 W
6120 15943 MT
(prospective users; those records are correlated)
182 W( with the records of Kerberos by principal)181 W
6120 17180 MT
(identifer. Since)
1280 W( the)
487 W( principal identifier is the only piece of duplicate information)488 W
6120 18417 MT
(maintained, the only synchronization problem is to insure that every principal)
171 W( identifier)170 W
6120 19654 MT
(that appears)
38 W( in an SMS record also appears in some Kerberos record, and vice-versa.  User)39 W
6120 20891 MT
(registration, as described above, is the normal way of creating principal identifiers, and)
27 W( if a)26 W
6120 22128 MT
(user registration operation completes normally, both records will match.)
18 W( Failures,)
344 W( or hand-)19 W
6120 23365 MT
(tinkering, may unsynchronize these two sets)
145 W( of records.  No special tools are provided to)144 W
6120 24602 MT
(deal with this problem; the system manager, if trouble is suspected, may extract from)252 W
6120 25839 MT
(Kerberos a list of principal identifers to sort and compare with the)
70 W( corresponding list from)69 W
6120 27076 MT
(SMS.)SH
/Helvetica-Bold SF
6120 30166 MT
(Database Backup and Reload)SH
/NewCenturySchlbk-Roman SF
6931 32534 MT
(The Kerberos database is)
71 W( backed up by running a special backup program on the master)72 W
6120 33771 MT
(Kerberos server, which should be equipped with a private tape drive.  The Kerberos master)28 W
6120 35008 MT
(key is not stored on the backup tape.  A special reload program)
11 W( is also available, although if)12 W
6120 36245 MT
(the system is completely reset the Kerberos master key must be reinstalled by hand.)293 W
6120 37482 MT
(Reload of slave servers)
4 W( is done by invoking the usual Master-Slave update procedure, which)5 W
6120 38719 MT
(transfers a complete copy of the database.)SH
12 /Helvetica-Bold AF
6120 42072 MT
(6. Authorization Model)SH
11 /NewCenturySchlbk-Roman AF
6931 44222 MT
(The Kerberos authentication)
328 W( model provides only a certification of the identity of a)327 W
6120 45459 MT
(requesting client; by itself it provides no information as to whether or not that)
182 W( client is)183 W
6120 46696 MT
(actually authorized to use the service.  There are three)
61 W( forms in which authorization could)60 W
6120 47933 MT
(be integrated with the Kerberos authentication model:)SH
/Symbol SF
7741 49739 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(The Kerberos database could)
323 W( also contain authorization information for each)324 W
8553 50976 MT
(service, and issue service tickets only to authorized users of each service.)SH
/Symbol SF
7741 52832 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(A separate)
298 W( authorization service could maintain authorization information by)297 W
8553 54069 MT
(keeping access lists for each service)
298 W( and allowing the client to obtain sealed)299 W
8553 55306 MT
(certification of list membership.)
334 W( The)
973 W( client would present that certification,)333 W
8553 56543 MT
(rather than a Kerberos ticket, to the ultimate service.)SH
/Symbol SF
7741 58399 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(Each service could maintain its own authorization information, with the optional)72 W
8553 59636 MT
(help of a service that stores shared public lists and provides certification of public)36 W
8553 60873 MT
(list membership.)SH
6931 63100 MT
(The first of)
408 W( these alternatives places the large, dynamically updated authorization)409 W
6120 64337 MT
(database in the midst of)
30 W( the small, slowly changing, high-security encryption key database.)29 W
6120 65574 MT
(Operational parameters such as primary and)
41 W( secondary memory size, degree of replication,)42 W
6120 66811 MT
(nature of backup, and physical security must be chosen as a compromise between the)265 W
6120 68048 MT
(requirements of the two services.)
38 W( It)
384 W( also locks in one particular authorization model for all)39 W
6120 69285 MT
(applications.)SH
6931 71512 MT
(The second alternative)
301 W( separates the authorization database from the authentication)300 W
10 /Helvetica-Bold AF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 19 19 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
44575 XM
(Section E.2.1, page 19)SH
11 /NewCenturySchlbk-Roman AF
8280 8011 MT
(database, thereby improving separation of administration and making)
136 W( the authentication)137 W
8280 9248 MT
(service simpler and smaller, which should make it more reliable)
64 W( and easier to secure.  But)63 W
8280 10485 MT
(this alternative leads)
324 W( to an extraordinarily complex \050and therefore potentially fragile\051)325 W
8280 11722 MT
(collection of interacting protocols among the client)
141 W( and the authentication, authorization,)140 W
8280 12959 MT
(and target services.  It also creates a)
169 W( rendezvous problem, in that the client must know)170 W
8280 14196 MT
(which membership certification to request from the authorization server.)SH
9091 16423 MT
(The Kerberos authorization model is based on the principle that each service)
77 W( knows best)76 W
8280 17660 MT
(who its users should be)
SH( and what form of authorization is appropriate, so it adopts the third)1 W
8280 18897 MT
(of these alternatives.  This choice has several advantages:)SH
/Symbol SF
9901 20703 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Many services will have short,)
40 W( private lists of authorized users.  For example, the)39 W
10713 21940 MT
(display server on)
134 W( a private workstation may have as its list of authorized users)135 W
10713 23177 MT
(only one)
138 W( entry)137 W
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Roman SF
(the current user of the workstation)137 W
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Roman SF
(and that user's identity is)137 W
10713 24414 MT
(already known by the workstation.)
85 W( \050In)
477 W( addition, the identity of the user allowed)86 W
10713 25651 MT
(to use the display on)
117 W( a public workstation changes as often as someone logs in.\051)116 W
10713 26888 MT
(By far the simplest way to manage that)
128 W( information is to place it in the server.)129 W
10713 28125 MT
(Completely private services \050e.g., a)
452 W( dating service exported from a private)451 W
10713 29362 MT
(workstation\051 thus require no central registration, yet can)
348 W( take advantage of)349 W
10713 30599 MT
(Kerberos-quality authentication and implement access control.)SH
/Symbol SF
9901 32455 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Services that maintain their own lists \050e.g., the display server\051 or)
224 W( that do not)223 W
10713 33692 MT
(require an access control list \050e.g., a public library\051 do)
87 W( not depend on availability)88 W
10713 34929 MT
(of and network continuity to an authorization service.)SH
/Symbol SF
9901 36785 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Rendezvous is limited to getting the client together with the)
176 W( service; the client)175 W
10713 38022 MT
(does not need to figure out what kind of)
396 W( authorization to request for this)397 W
10713 39259 MT
(particular service.)SH
/Symbol SF
9901 41115 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(No one authorization model)
137 W( applies to all services; by making authorization the)136 W
10713 42352 MT
(responsibility of the server, the designer of the service)
116 W( has the option of using a)117 W
10713 43589 MT
(standard library authorization model,)
80 W( or creating a different model that is better)79 W
10713 44826 MT
(adapted to the particular service it is offering.)SH
/Symbol SF
9901 46682 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Since the amount of information storage required for authorization information is)36 W
10713 47919 MT
(proportional to the number of services offered, storing and)
498 W( managing the)497 W
10713 49156 MT
(authorization information at the service scales up well.  This scaling advantage is)33 W
10713 50393 MT
(of particular interest when one realizes that every workstation exports)
22 W( at least its)21 W
10713 51630 MT
(display service, and may export)
125 W( others.  It is also administratively preferable to)126 W
10713 52867 MT
(have each service provide its own authorization list)
524 W( storage, rather than)523 W
10713 54104 MT
(burdening a public storehouse with this responsibility.)SH
/Symbol SF
9901 55960 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Administrative authority to set and change the)
178 W( authorization information for a)179 W
10713 57197 MT
(service tends to be)
494 W( automatically delegated to the appropriate entity)493 W
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Roman SF
(the)SH
10713 58434 MT
(administration of the service itself.)SH
9091 60661 MT
(There is one significant disadvantage to requiring)
41 W( the service to do its own authorization:)42 W
8280 61898 MT
(Services that cannot depend on other network services \050for)
276 W( example, because they are)275 W
8280 63135 MT
(single-threaded and should not block waiting for a network)
258 W( reply\051 cannot make use of)259 W
8280 64372 MT
(shared public access control lists.)SH
10 /Helvetica-Bold AF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 20 20 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 20, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
11 SS 
6120 8002 MT
(Authorization Mechanics)SH
/NewCenturySchlbk-Roman SF
6931 10370 MT
(A standard)
436 W( authorization model based on access control lists is provided, and an)435 W
6120 11607 MT
(authorization library package is available for incorporation into)
95 W( any service that finds the)96 W
6120 12844 MT
(standard model useful.)
439 W( Under)
1182 W( this standard model, the service takes the \050known,)438 W
6120 14081 MT
(authenticated\051 identity of the client and inquires whether or not that client is a member)
53 W( of)54 W
6120 15318 MT
(a named)
84 W( list.  The access list library package maintains any number of named lists in the)83 W
6120 16555 MT
(local storage of the server.  A list may contain three kinds of names:)SH
8554 18292 MT
(1.)SH
10084 XM
(Kerberos-authenticable principal identifiers,)SH
8554 20148 MT
(2.)SH
10084 XM
(names of other local lists, and)SH
8554 22004 MT
(3.)SH
10084 XM
(names of shared, public access control lists.)SH
6931 24231 MT
(The access list library undertakes a search of the named list, local sublists stored at the)92 W
6120 25468 MT
(service host, and shared, public lists.  If the client's identity is)
165 W( found in this search, the)164 W
6120 26705 MT
(operation is authorized.)SH
6931 28932 MT
(Rather than associating operation-specific permissions with access list)
18 W( entries, the service)19 W
6120 30169 MT
(maintains distinct, named access lists for each different kind of operation.)SH
6931 32396 MT
(The lists are maintained as simple ASCII)
34 W( text string files in a special access list directory)33 W
6120 33633 MT
(that is protected from modification except by administrators)
156 W( of the target service.  Their)157 W
6120 34870 MT
(format allows, in)
197 W( simple cases, maintenance by use of standard text editors, or in more)196 W
6120 36107 MT
(complex cases, automatic maintenance by the Athena Service Management System.)SH
/Helvetica-Bold SF
6120 39197 MT
(The Public List Server)SH
/NewCenturySchlbk-Roman SF
6931 41565 MT
(A public)
119 W( list server provides Kerberos-quality certifications that principal identifier A is)120 W
6120 42802 MT
(\050or is not\051 in list B. The ability to use remote servers for such a certification allows)
178 W( the)177 W
6120 44039 MT
(possibility of shared, centrally managed)
261 W( lists.  The ability to use local lists allows the)262 W
6120 45276 MT
(possibility of lists whose contents are unknown to any central authority.)
76 W( The)
456 W( architecture)75 W
6120 46513 MT
(allows that these two possibilities can be mixed and matched in any way desired by)
162 W( the)163 W
6120 47750 MT
(implementer or manager of the host that offers the service.  \050The detailed)
19 W( design of a public)18 W
6120 48987 MT
(list service)
21 W( has not yet been undertaken.  Issues such as what action to take in the face of a)22 W
6120 50224 MT
(cycle in a list, and management of very large lists, have not yet been addressed.\051)SH
/Helvetica-Bold SF
6120 53314 MT
(Authentication/Authorization Scenario with Name Service)SH
/NewCenturySchlbk-Roman SF
6931 55682 MT
(A complete scenario for integrating)
327 W( name service, Kerberos, and authorization is as)326 W
6120 56919 MT
(follows \050there)
24 W( are a lot of services flying around in this discussion)25 W
/Times-Roman SF
(\320)SH
/NewCenturySchlbk-Roman SF
(the one the client really)25 W
6120 58156 MT
(wants to invoke is called the "desired service"\051:)SH
8554 59893 MT
(1.)SH
10084 XM
(Assume for starters that)
107 W( each client \050and service\051 knows the internet address)106 W
8553 61130 MT
(of a name service and the name of Kerberos.)
203 W( As)
714 W( part of its initialization, the)204 W
8553 62367 MT
(client invokes the name service to determine the)
51 W( internet address of Kerberos.  It)50 W
8553 63604 MT
(also performs an initial transaction with Kerberos to obtain a)
270 W( ticket-granting)271 W
8553 64841 MT
(ticket. Each)
576 W( service that cares about authorization)
135 W( has done the same thing as)134 W
8553 66078 MT
(part of its initialization.)SH
8554 67934 MT
(2.)SH
10084 XM
(The person exporting the desired service has previously)
32 W( registered the name of)33 W
8553 69171 MT
(that service with the name service.)
314 W( If)
933 W( this step hasn't happened, it doesn't)313 W
8553 70408 MT
(prevent use of the desired service, but it does mean)
12 W( that the client has to invoke it)13 W
8553 71645 MT
(by discovering and using a host name and port number, rather than by name.)SH
10 /Helvetica-Bold AF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 21 21 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
44575 XM
(Section E.2.1, page 21)SH
11 /NewCenturySchlbk-Roman AF
10714 8011 MT
(3.)SH
12244 XM
(The user learns the)
138 W( name of a desired service.  Learning may happen one of)137 W
10713 9248 MT
(any number of ways.  Here are a few examples:)SH
/Symbol SF
12334 11054 MT
(\267)SH
/NewCenturySchlbk-Roman SF
13146 XM
(A prospective user reads the name on a bulletin board.)SH
/Symbol SF
12334 12910 MT
(\267)SH
/NewCenturySchlbk-Roman SF
13146 XM
(The user copies a program from a public place; the program has the name)157 W
13146 14147 MT
(buried in it.)SH
/Symbol SF
12334 16003 MT
(\267)SH
/NewCenturySchlbk-Roman SF
13146 XM
(The name is embedded in a system-provided library program.)SH
/Symbol SF
12334 17859 MT
(\267)SH
/NewCenturySchlbk-Roman SF
13146 XM
(The name is embedded in a class-provided library program.)SH
/Symbol SF
12334 19715 MT
(\267)SH
/NewCenturySchlbk-Roman SF
13146 XM
(The user learns about the service name from a system staff member.)SH
10714 21571 MT
(4.)SH
12244 XM
(The client invokes the Kerberos ticket-granting service, requesting a ticket)
59 W( for)58 W
10713 22808 MT
(the desired service name.  If Kerberos has never heard of the)
27 W( desired service, that)28 W
10713 24045 MT
(doesn't cause the)
244 W( scenario to abort; it may simply be that the desired service)243 W
10713 25282 MT
(doesn't require authentication.)SH
10714 27138 MT
(5.)SH
12244 XM
(The client invokes the name service to learn the host name and port of)
186 W( the)187 W
10713 28375 MT
(desired service.  The client can cache this)
169 W( information at its own risk, to allow)168 W
10713 29612 MT
(future invocations of)
175 W( the desired service without using the name service again.)176 W
10713 30849 MT
(The name service)
82 W( provides a time-to-live value for the information that gives the)81 W
10713 32086 MT
(client a hint about how long it is safe to cache it.)SH
10714 33942 MT
(6.)SH
12244 XM
(The client invokes the name service)
104 W( again, to transform the host name of the)105 W
10713 35179 MT
(desired service into an internet address.)SH
10714 37035 MT
(7.)SH
12244 XM
(The client invokes the desired service, presenting its Kerberos ticket \050if)
24 W( by now)23 W
10713 38272 MT
(it has one\051 certifying the client's identity.)SH
10714 40128 MT
(8.)SH
12244 XM
(The desired service decides whether or not it wishes to deal with this client.)144 W
10713 41365 MT
(To decide, it may invoke the access)
72 W( list library, giving the name of the client and)71 W
10713 42602 MT
(the name of an access control list.  The access list library performs a)
162 W( recursive)163 W
10713 43839 MT
(descent through that list and any lists, local or remote, named)
59 W( in that list, trying)58 W
10713 45076 MT
(to verify list membership of the client.)SH
9091 47303 MT
(Because the desired service)
148 W( is depending on the authenticity of the certifications of the)149 W
8280 48540 MT
(list membership service, each connection with)
160 W( a remote list membership service must be)159 W
8280 49777 MT
(initiated via Kerberos and the responses from)
239 W( the service need to be integrity-assured.)240 W
8280 51014 MT
(Integrity assurance is provided by having the remote list membership service)
27 W( return a copy)26 W
8280 52251 MT
(of the original request,)
110 W( with a yes or no bit added, enciphered in the session key that the)111 W
8280 53488 MT
(invoker obtained at initial connection with the list membership service.)SH
12 /Helvetica-Bold AF
8280 56841 MT
(Acknowledgments)SH
11 /NewCenturySchlbk-Roman AF
9091 58991 MT
(Many people have provided ideas, or have been involved with the implementation)
75 W( of this)74 W
8280 60228 MT
(design. In)
714 W( addition to the authors of)
204 W( this document, they include: John Ostlund, Mark)205 W
8280 61465 MT
(Colan, Bob Baldwin, Dan Geer, Stan Zanarotti, Bill Sommerfeld, John Kohl,)
123 W( Jim Aspnes,)122 W
8280 62702 MT
(Chris Reed, and Brian Murphy.  The name "Kerberos" was suggested by Bill Bryant.)SH
10 /Helvetica-Bold AF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 22 22 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 22, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
12 SS 
6120 8160 MT
(7. Appendix I)SH
/Helvetica SF
(\320)SH
/Helvetica-Bold SF
(Design Specifications)SH
11 /NewCenturySchlbk-Roman AF
6931 10310 MT
(This section contains detailed design specifications)
272 W( for the current implementation of)273 W
6120 11547 MT
(Kerberos. It)
306 W( is of interest primarily to implementers.)SH
/Helvetica-Bold SF
6120 14637 MT
(7.1. Design)SH
10 /Helvetica-BoldOblique AF
6120 17464 MT
(7.1.1. Conventions)SH
11 /NewCenturySchlbk-Roman AF
6931 18950 MT
(The following conventions apply:)SH
9 SS 
42876 20539 MT
(2)SH
11 /Symbol AF
7741 20909 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(encryption or decryption implies DES private key in a)
244 W( modified)245 W
43927 XM
(cipher-block-)SH
8553 22146 MT
(chaining mode)SH
/Symbol SF
7741 24002 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
("{data}K)SH
13338 XM
(" means that "data" is encrypted using "x"s DES key;)SH
9 SS 
12855 24372 MT
(x)SH
11 /Symbol AF
7741 25858 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(all data to be encrypted)
10 W( is padded with trailing 0 bytes to an integral multiple of 8)9 W
8553 27095 MT
(bytes;)SH
/Symbol SF
7741 28951 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(all references to)187 W
/NewCenturySchlbk-Italic SF
17532 XM
(session key)187 W
/NewCenturySchlbk-Roman SF
23710 XM
(imply a distinct random session key valid only for)187 W
8553 30188 MT
(that particular session;)SH
/Symbol SF
7741 32044 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(bit 0 refers to the least significant bit;)SH
/Symbol SF
7741 33900 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(all field sizes are expressed)
179 W( in numbers of 8-bit bytes, unless otherwise stated,)178 W
8553 35137 MT
(and whether or not the value is signed \050s\051, unsigned)
90 W( \050u\051 or only printable ASCII,)91 W
8553 36374 MT
(null terminated \050a\051;)SH
/Symbol SF
7741 38230 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(strings are sequences of printable ASCII bytes, null terminated;)SH
/Symbol SF
7741 40086 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(all messages are)
249 W( self-framing, that is, do not depend on packet boundaries to)248 W
8553 41323 MT
(determine their extent;)SH
/Symbol SF
7741 43179 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(where not otherwise stated,)71 W
/NewCenturySchlbk-Italic SF
23249 XM
(name)SH
/NewCenturySchlbk-Roman SF
26396 XM
(implies the local)71 W
/NewCenturySchlbk-Italic SF
35237 XM
(realm)SH
/NewCenturySchlbk-Roman SF
(; similarly, a)
71 W( null)72 W
/NewCenturySchlbk-Italic SF
47535 XM
(realm)SH
/NewCenturySchlbk-Roman SF
8553 44416 MT
(implies the local one;)SH
/Symbol SF
7741 46272 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(principal, indicated in)
3 W( the protocols by either subscript)2 W
/NewCenturySchlbk-Italic SF
36746 XM
(p)SH
/NewCenturySchlbk-Roman SF
37685 XM
(or)SH
/NewCenturySchlbk-Italic SF
39031 XM
(principal)SH
/NewCenturySchlbk-Roman SF
(, refers to the)2 W
8553 47509 MT
(subject requesting authentication and/or authorization, i.e either a user's or)373 W
8553 48746 MT
(service's)SH
/NewCenturySchlbk-Italic SF
13116 XM
({name, instance})SH
/NewCenturySchlbk-Roman SF
21734 XM
(pair.)SH
/Symbol SF
7741 50602 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(service, indicated in the protocols by)
134 W( either a subscript)133 W
/NewCenturySchlbk-Italic SF
37805 XM
(s)SH
/NewCenturySchlbk-Roman SF
38732 XM
(or)SH
/NewCenturySchlbk-Italic SF
40209 XM
(service)SH
/NewCenturySchlbk-Roman SF
44026 XM
(refers to the)133 W
8553 51839 MT
(end service, object, or other user for which authentication/authorization was)351 W
8553 53076 MT
(requested. This)
500 W( is most often a service's)97 W
/NewCenturySchlbk-Italic SF
30099 XM
({name, instance})96 W
/NewCenturySchlbk-Roman SF
38909 XM
(pair, but could also be)96 W
8553 54313 MT
(any user's to allow secure key distribution between two users.)SH
10800 50 6120 68774 UL
8 SS 
6857 70507 MT
(2)SH
10 SS 
7302 70858 MT
(Modified to provide forward error propagation)
122 W( of a single bit error in the ciphertext thru to the)121 W
6120 72000 MT
(end of the resulting cleartext.  Refer to Voydock and Kent [17].)SH
/Helvetica-Bold SF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 23 23 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
44575 XM
(Section E.2.1, page 23)SH
11 /NewCenturySchlbk-Roman AF
9091 8011 MT
(Common fields used in messages)SH
16692 50 9091 8211 UL
/NewCenturySchlbk-Bold SF
8280 9852 MT
(field)SH
19080 XM
(size)SH
24480 XM
(u,s,a)SH
29880 XM
(description)SH
/NewCenturySchlbk-Roman SF
8280 11089 MT
(--------------------------------------------------------------------------------------)SH
8280 12326 MT
(version)SH
19080 XM
(1)SH
24480 XM
(u)SH
29880 XM
(Protocol version number;)SH
8280 13563 MT
(auth_msg_type)SH
19080 XM
(1)SH
24480 XM
(u)SH
29880 XM
(Protocol message type and byte order;)SH
29880 14800 MT
(= m_type << 1 + byte_order ;)SH
8892 16037 MT
(m_type)SH
19080 XM
(7bits)SH
24480 XM
(u)SH
29880 XM
(Protocol message type;)SH
8892 17274 MT
(byte_order)SH
19080 XM
(1bit)SH
24480 XM
(u)SH
29880 XM
(Byte order of sender;)SH
8280 18511 MT
(name)SH
19080 XM
(>=0)SH
24480 XM
(a)SH
29880 XM
(Athena principal name \050user or service\051;)SH
8280 19748 MT
(instance)SH
19080 XM
(>=0)SH
24480 XM
(a)SH
29880 XM
(Athena principal instance \050user or service\051;)SH
8280 20985 MT
(realm)SH
19080 XM
(>=0)SH
24480 XM
(a)SH
29880 XM
(Authentication realm name;)SH
8280 22222 MT
(group)SH
19080 XM
(>=0)SH
24480 XM
(a)SH
29880 XM
(Athena group name;)SH
8280 23459 MT
(time_sec)SH
19080 XM
(4)SH
24480 XM
(u)SH
29880 XM
(UTC timestamp, sec since 0000 GMT 1/1/70;)SH
29880 24696 MT
(may also have direction encoded in msbit;)SH
8280 25933 MT
(time_5ms)SH
19080 XM
(1)SH
24480 XM
(u)SH
29880 XM
(rest of UTC timestamp, 5ms units;)SH
8280 27170 MT
(lifetime)SH
19080 XM
(1)SH
24480 XM
(u)SH
29880 XM
(valid ticket lifetime, 5 minute units;)SH
8280 28407 MT
(key)SH
19080 XM
(8)SH
24480 XM
(u)SH
29880 XM
(64 bit encryption key;)SH
8280 29644 MT
(kvno)SH
19080 XM
(1)SH
24480 XM
(u)SH
29880 XM
(key version number;)SH
8280 30881 MT
(n)SH
19080 XM
(1)SH
24480 XM
(u)SH
29880 XM
(count of service entries;)SH
8280 32118 MT
(address)SH
19080 XM
(4)SH
29880 XM
(Internet host address, IP format and order;)SH
8280 33355 MT
(length)SH
19080 XM
(1)SH
24480 XM
(u)SH
29880 XM
(length of a field,)
SH( 0)
612 W( - 255, bytes;)SH
8280 34592 MT
(length_2)SH
19080 XM
(2)SH
24480 XM
(u)SH
29880 XM
(length of a field, 0 - 65535, bytes;)SH
8280 35829 MT
(length_4)SH
19080 XM
(4)SH
24480 XM
(u)SH
29880 XM
(length of a field, 0 - 4,294,967,295, bytes;)SH
8280 37066 MT
(exp_date)SH
19080 XM
(4)SH
24480 XM
(u)SH
29880 XM
(UTC expiration date,)SH
29880 38303 MT
(sec since 0000 GMT 1/1/1970;)SH
8280 39540 MT
(direction)SH
19080 XM
(1bit)SH
24480 XM
(u)SH
29880 XM
(within an association,)SH
29880 40777 MT
(zero if sending {addr, port } <)SH
29880 42014 MT
(receiving {addr,port}, else one;)SH
29880 43251 MT
(multiplex into msb of time_sec;)SH
8280 44488 MT
(app_data)SH
19080 XM
(n)SH
29880 XM
(application specific data, arbitrary length;)SH
8280 45725 MT
(checksum_4)SH
19080 XM
(4)SH
24480 XM
(u)SH
29880 XM
(4 byte checksum;)SH
8280 46962 MT
(checksum_16)SH
19080 XM
(16)SH
24480 XM
(u)SH
29880 XM
(16 byte checksum;)SH
8280 48199 MT
(flags)SH
19080 XM
(1)SH
24480 XM
(u)SH
29880 XM
(bit-flags within ticket, set by Kerberos;)SH
8280 49436 MT
(err_code)SH
19080 XM
(4)SH
24480 XM
(s)SH
29880 XM
(Kerberos error code;)SH
8280 50673 MT
(err_text)SH
19080 XM
(>=0)SH
24480 XM
(a)SH
29880 XM
(description of Kerberos error;)SH
10 /Helvetica-Bold AF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 24 24 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 24, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
11 /NewCenturySchlbk-Roman AF
6120 8011 MT
(Network Representations)SH
13023 50 6120 8211 UL
6120 10059 MT
(byte ordering)SH
15912 XM
(The least significant bit)
77 W( of)78 W
/NewCenturySchlbk-Italic SF
29926 XM
(auth_msg_type)SH
/NewCenturySchlbk-Roman SF
37889 XM
(will encode the byte ordering)78 W
15912 11815 MT
(for the transmitting host. LSB_FIRST, one, implies)
275 W( least signigicant)274 W
15912 13571 MT
(byte in lowest address, e.g. VAX and IBM PC's. MSB_FIRST, zero,)318 W
15912 15327 MT
(implies most significant byte in lowest address, e.g.)
32 W( Sun 68000 and IBM)31 W
15912 17083 MT
(RT's. The)
640 W( transmitter of a message always transmits in natural host)167 W
15912 18839 MT
(order, and)
160 W( marks its byte ordering in)159 W
/NewCenturySchlbk-Italic SF
36144 XM
(auth_msg_type)SH
/NewCenturySchlbk-Roman SF
(. The)
624 W( receiver, if)159 W
15912 20595 MT
(necessary, converts fields to its own byte ordering.)SH
6120 23229 MT
(alignment)SH
15912 XM
(to avoid possible incompatibilities between compiler alignment)
32 W( rules, all)33 W
15912 24985 MT
(protocol messages must be defined without use)
475 W( of structures. All)474 W
15912 26741 MT
(protocol messages have no)
27 W( holes for alignment.  Each field begins on the)28 W
15912 28497 MT
(next byte boundary.)SH
6931 30545 MT
(Protocol Message pattern)SH
12920 50 6931 30745 UL
6931 32772 MT
({ version, auth_msg_type, name)SH
23633 XM
(, instance)SH
29044 XM
(, realm)SH
33149 XM
(, time_sec, cleartext, ciphertext })SH
9 SS 
23116 33142 MT
(p)SH
28527 XM
(p)SH
32632 XM
(p)SH
11 SS 
8568 34138 MT
(where unneeded parts are omitted.)SH
6931 36365 MT
(The protocol message specifications should be read in increasing byte)
182 W( order within the)181 W
6120 37602 MT
(message as you read from left to right, with no holes.)SH
10 /Helvetica-BoldOblique AF
6120 40429 MT
(7.1.2. KKDS)SH
9 /Helvetica-Bold AF
6120 43400 MT
(7.1.2.1. Protocol.)924 W
11 /NewCenturySchlbk-Roman AF
14694 XM
(All the Kerberos protocols described)
337 W( are layered on a UDP datagram)338 W
6120 44637 MT
(between the client and the KKDS.  The)
179 W( client interface may retransmit a request up to)178 W
6120 45874 MT
(<AUTH_RETRY_MAX> times if a response is not received within)
649 W( time interval)650 W
6120 47111 MT
(<AUTH_RETRY_WAIT>. All)
560 W( protocol messages between a client and the)
127 W( KKDS must be)126 W
6120 48348 MT
(idempotent. To)
482 W( minimize retransmissions, all requests)
88 W( should generate a response, either)89 W
6120 49585 MT
(an)SH
/NewCenturySchlbk-Italic SF
7711 XM
(auth_reply)SH
/NewCenturySchlbk-Roman SF
13456 XM
(or an)SH
/NewCenturySchlbk-Italic SF
16391 XM
(err_reply)SH
/NewCenturySchlbk-Roman SF
(, even if the response only implies failure.)SH
6120 51633 MT
(auth_request =)SH
15912 XM
({ version, auth_msg_type, name)SH
32614 XM
(, instance)SH
38025 XM
(, realm)SH
42130 XM
(, time_sec)SH
48261 XM
(,)SH
9 SS 
32097 52003 MT
(p)SH
37508 XM
(p)SH
41613 XM
(p)SH
47144 XM
(ws)SH
11 SS 
15912 52999 MT
(lifetime)SH
20247 XM
(, name)SH
24089 XM
(, instance)SH
29400 XM
(})SH
9 SS 
19830 53369 MT
(s)SH
23672 XM
(s)SH
28983 XM
(s)SH
11 SS 
15912 54365 MT
(where)SH
15912 55602 MT
(auth_msg_type = <AUTH_MSG_KDC_REQUEST>)SH
15912 56839 MT
(The service requested is local to the realm managed by the)
205 W( Kerberos)204 W
15912 58076 MT
(receiving the request.)SH
6120 63635 MT
(auth_reply =)SH
15912 XM
({ version, auth_msg_type, name)SH
32614 XM
(, instance)SH
38025 XM
(, realm)SH
42130 XM
(, time_sec)SH
48261 XM
(,)SH
9 SS 
32097 64005 MT
(p)SH
37508 XM
(p)SH
41613 XM
(p)SH
47144 XM
(ws)SH
11 SS 
15912 65001 MT
(exp_date)SH
20973 XM
(, kvno)SH
24568 XM
(, length_2, {cipher}K)SH
37378 XM
(})SH
9 SS 
20456 65371 MT
(p)SH
24051 XM
(p)SH
34986 XM
(p)SH
7 SS 
35503 65703 MT
(kvno)SH
11 SS 
15912 66658 MT
(where)SH
15912 67895 MT
(auth_msg_type = <AUTH_MSG_KDC_REPLY>)SH
15912 69132 MT
(length_2 = length of cipher; zero if)SH
/NewCenturySchlbk-Italic SF
33644 XM
({name)SH
37298 XM
(, instance)SH
42623 XM
(})SH
/NewCenturySchlbk-Roman SF
43296 XM
(is unknown;)SH
9 /NewCenturySchlbk-Italic AF
36781 69502 MT
(p)SH
42106 XM
(p)SH
11 /NewCenturySchlbk-Roman AF
15912 70498 MT
(cipher =)SH
15912 71735 MT
({K)SH
20121 XM
(, name)SH
23963 XM
(, instance)SH
29274 XM
(, realm)SH
33279 XM
(, lifetime)SH
38226 XM
(, kvno)SH
41721 XM
(, {ticket)SH
46013 XM
(}K)SH
49222 XM
(,)SH
9 SS 
17135 72105 MT
(session)SH
23546 XM
(s)SH
28857 XM
(s)SH
32862 XM
(s)SH
37809 XM
(s)SH
41304 XM
(s)SH
45596 XM
(s)SH
47236 XM
(s)SH
7 SS 
47653 72437 MT
(kvno)SH
10 /Helvetica-Bold AF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 25 25 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
44575 XM
(Section E.2.1, page 25)SH
11 /NewCenturySchlbk-Roman AF
18072 8011 MT
(time_sec)SH
24476 XM
(})SH
9 SS 
22474 8381 MT
(kkds)SH
11 SS 
18072 9377 MT
(where)SH
18072 10614 MT
(ticket = { flags, name)214 W
30145 XM
(, instance)214 W
35770 XM
(, realm)214 W
40089 XM
(, address)214 W
45362 XM
(, K)214 W
50030 XM
(, lifetime,)214 W
9 SS 
29628 10984 MT
(p)SH
35253 XM
(p)SH
39572 XM
(p)SH
44845 XM
(p)SH
47044 XM
(session)SH
11 SS 
18072 11980 MT
(time_sec)SH
24476 XM
(, name)SH
28318 XM
(, instance)SH
33935 XM
(})SH
9 SS 
22474 12350 MT
(kkds)SH
27901 XM
(s)SH
33212 XM
(s)SH
11 SS 
18072 13346 MT
(note:)SH
18072 14583 MT
(the)SH
/NewCenturySchlbk-Italic SF
20053 XM
(lifetime)SH
/NewCenturySchlbk-Roman SF
24192 XM
(returned is the minimum of the principal's, server's,)
23 W( and the)24 W
18072 15820 MT
(lifetime requested.)SH
8280 21379 MT
(err_reply =)SH
18072 XM
({ version, auth_msg_type, name)726 W
36952 XM
(, instance)725 W
43088 XM
(, realm)725 W
47918 XM
(, time_sec)725 W
54774 XM
(,)SH
9 SS 
36435 21749 MT
(p)SH
42571 XM
(p)SH
47401 XM
(p)SH
53657 XM
(ws)SH
11 SS 
18072 22745 MT
(err_code, err_text })SH
18072 23982 MT
(where)SH
18072 25219 MT
(auth_msg_type = <AUTH_MSG_ERR_REPLY> ,)SH
18072 26456 MT
(err_code = Kerberos error code, defined in)SH
/NewCenturySchlbk-Italic SF
39639 XM
(prot.h)SH
/NewCenturySchlbk-Roman SF
42981 XM
(,)SH
18072 27693 MT
(err_text = text string describing error.)SH
9 /Helvetica-Bold AF
8280 30509 MT
(7.1.2.2. Protocol)
250 W( Vulnerability.)SH
11 /Symbol AF
9901 32315 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(replay -- The)
14 W( timestamp serves to prevent replay attempts by limiting the lifetime)15 W
10713 33552 MT
(of the key.)
321 W( If)
947 W( the server retains)320 W
/NewCenturySchlbk-Italic SF
29644 XM
(all)SH
/NewCenturySchlbk-Roman SF
31635 XM
(the still valid timestamps for previous)320 W
10713 34789 MT
(associations for the user, all replay attempts can be)
358 W( prevented.  The latter)359 W
10713 36026 MT
(requires stable store across process and machine crashes.)SH
/Symbol SF
9901 37882 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(modification -- The)11 W
/NewCenturySchlbk-Italic SF
20675 XM
(timestamps)SH
/NewCenturySchlbk-Roman SF
26817 XM
(and)SH
/NewCenturySchlbk-Italic SF
29050 XM
(name)SH
/NewCenturySchlbk-Roman SF
32137 XM
(can serve as effective integrity checks to)11 W
10713 39119 MT
(detect modification to the packet.  If the)
122 W( ciphertext was changed or forged, with)123 W
10713 40356 MT
(extremely high probability the)44 W
/NewCenturySchlbk-Italic SF
26694 XM
(timestamp)SH
/NewCenturySchlbk-Roman SF
32381 XM
(would no longer be valid, and the)44 W
/NewCenturySchlbk-Italic SF
49877 XM
(name)SH
/NewCenturySchlbk-Roman SF
10713 41593 MT
(in the ticket and in the)SH
/NewCenturySchlbk-Italic SF
22707 XM
(authenticator)SH
/NewCenturySchlbk-Roman SF
29839 XM
(would not match.)SH
9 /Helvetica-Bold AF
8280 44564 MT
(7.1.2.3. Administrative)
1164 W( Protocol.)458 W
11 /NewCenturySchlbk-Roman AF
24816 XM
(A set of protocols is required for interaction between)458 W
8280 45801 MT
(administrators, users, and the Kerberos Database Manager, for example to create new)256 W
8280 47038 MT
(principals and to change keys.  These protocols are not yet specified.)SH
9 /Helvetica-Bold AF
8280 50009 MT
(7.1.2.4. Authentication)
1154 W( Database.)452 W
11 /NewCenturySchlbk-Roman AF
24436 XM
(Each Kerberos)452 W
/NewCenturySchlbk-Italic SF
33122 XM
(realm)SH
/NewCenturySchlbk-Roman SF
36833 XM
(maintains an independent set of)453 W
8280 51246 MT
(databases. The)
306 W( following are represented:)SH
/Symbol SF
9901 53052 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Private keys of)
21 W( clients and services; estimate 10,000 users + <= 15000 services x 1)20 W
10713 54289 MT
(record; tag each key with an index number)
111 W( noting which KKDS master key was)112 W
9 SS 
18582 55178 MT
(3)SH
11 SS 
10713 55548 MT
(used to store it.)SH
10713 56785 MT
(record = {name,)
225 W( instance, kvno, {key)226 W
32257 XM
(}K)SH
40027 XM
(, KKDS-kvno, exp_date,)226 W
9 SS 
30239 57155 MT
(kvno)SH
33480 XM
(KKDS)SH
7 SS 
36148 57487 MT
(KKDS-kvno)SH
11 SS 
10713 58442 MT
(max_life, last_modified_by_name, last_modified_by_instance, last_modified_date})SH
/Symbol SF
9901 60298 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Audit trail -- A management audit trail of selected database)
139 W( operations, not yet)138 W
9 SS 
25275 61202 MT
(4)SH
11 SS 
10713 61572 MT
(specified, will be maintained)SH
25775 XM
(.)SH
/Symbol SF
9901 63428 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Statistics - To be specified.)SH
10800 50 8280 66490 UL
8 SS 
9017 68223 MT
(3)SH
10 SS 
9462 68574 MT
(In case the KKDS master key needs to be changed, this allows a more orderly transition to)
41 W( a new)40 W
8280 69716 MT
(master key.)SH
8 SS 
9017 71649 MT
(4)SH
10 SS 
9462 72000 MT
(Probably as a side effect of journaling the database.)SH
/Helvetica-Bold SF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 26 26 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 26, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
9 SS 
6120 8011 MT
(7.1.2.5. Database)
354 W( management.)52 W
11 /NewCenturySchlbk-Roman AF
20685 XM
(Kerberos is built on a database management layer with a very)53 W
6120 9248 MT
(simple set)
251 W( of lookup operations that can be implemented using any available database)250 W
6120 10485 MT
(system. The)
578 W( initial)
136 W( implementation of that layer uses Ingres as the supporting database)137 W
6120 11722 MT
(system; a second implementation uses the UNIX dbm package.  Slave servers)
262 W( use the)261 W
6120 12959 MT
(second implementation.)
93 W( The)
493 W( master server can use either implementation; the advantage)94 W
6120 14196 MT
(of the Ingres implementation is that administration of a large number of)
316 W( users \050e.g.,)315 W
6120 15433 MT
(producing a list of all users whose accounts)
48 W( will expire in the next six months\051 can be done)49 W
6120 16670 MT
(with more potent tools.)SH
9 /Helvetica-Bold AF
6120 19641 MT
(7.1.2.6. User)
716 W( interface.)233 W
11 /NewCenturySchlbk-Roman AF
17608 XM
(An implementation)
233 W( of a user interface to obtain, list, and destroy)232 W
6120 20878 MT
(Kerberos tickets for Berkeley 4.3 UNIX is described in a)
159 W( set of UNIX)160 W
/NewCenturySchlbk-Italic SF
43369 XM
(man)SH
/NewCenturySchlbk-Roman SF
46117 XM
(pages named)160 W
/NewCenturySchlbk-Italic SF
6120 22115 MT
(kerberos\0501\051, kinit\0501\051, klist\0501\051)258 W
/NewCenturySchlbk-Roman SF
(, and)258 W
/NewCenturySchlbk-Italic SF
24085 XM
(kdestroy\0501\051)SH
/NewCenturySchlbk-Roman SF
(. A)
822 W( command to change a)
258 W( user's Kerberos)257 W
6120 23352 MT
(password is described in)103 W
/NewCenturySchlbk-Italic SF
19227 XM
(kpasswd\0501\051)SH
/NewCenturySchlbk-Roman SF
(, and the Kerberos database administrator's program,)103 W
6120 24589 MT
(used for)
433 W( registering new Kerberos principals and setting or changing passwords, is)432 W
6120 25826 MT
(explained in the)SH
/NewCenturySchlbk-Italic SF
14645 XM
(kadmin\0508\051)SH
/NewCenturySchlbk-Roman SF
20229 XM
(manual page.)SH
10 /Helvetica-BoldOblique AF
6120 28653 MT
(7.1.3. Application Authentication Protocols)SH
9 /Helvetica-Bold AF
6120 31624 MT
(7.1.3.1. Request)
270 W( Interface.)10 W
11 /NewCenturySchlbk-Roman AF
18266 XM
(The changes)
10 W( involved in using a service should be as transparent as)11 W
6120 32861 MT
(possible. When)
564 W( a user uses)129 W
/NewCenturySchlbk-Italic SF
21141 XM
(lpr, lpr)129 W
/NewCenturySchlbk-Roman SF
25289 XM
(should automatically)
129 W( include the authenticator in its)128 W
6120 34098 MT
(request without the user having to do anything extra.  In the event that)
145 W( the ticket for a)146 W
6120 35335 MT
(service has not been obtained, or)
204 W( has expired, the service should obtain a ticket on the)203 W
6120 36572 MT
(user's behalf using the ticket granting ticket obtained when the user)SH
/NewCenturySchlbk-Italic SF
41273 XM
(logged in)SH
/NewCenturySchlbk-Roman SF
(.)SH
9 /Helvetica-Bold AF
6120 39543 MT
(7.1.3.2. Client)
596 W( Request.)173 W
11 /NewCenturySchlbk-Roman AF
17189 XM
(The following KKDS block normally would be transmitted from)
173 W( the)174 W
6120 40780 MT
(client to the server before any user data as the first packet)
115 W( sent, though this need not be)114 W
6120 42017 MT
(first. It)
654 W( serves to)
174 W( identify the requestor, present his or her ticket, and authenticate the)175 W
6120 43254 MT
(request. By)
518 W( appropriately decrypting and checking the integrity,)
106 W( the service may proceed)105 W
6120 44491 MT
(to offer or deny the requested service.)SH
6120 46539 MT
(appl_request)SH
15912 XM
({ version, auth_msg_type , kvno)573 W
34765 XM
(, realm)574 W
39344 XM
(, length_2, {ticket}K)574 W
52614 XM
(,)SH
9 SS 
34348 46909 MT
(s)SH
38927 XM
(s)SH
50628 XM
(s)SH
7 SS 
51045 47241 MT
(kvno)SH
11 SS 
15912 48196 MT
({authenticator}K)SH
27748 XM
(})SH
9 SS 
24456 48566 MT
(session)SH
11 SS 
15912 49562 MT
(where)SH
15912 50799 MT
(auth_msg_type = <AUTH_MSG_APPL_REQUEST>)SH
15912 52036 MT
(i.e. one-way authentication, or)SH
15912 53273 MT
(<AUTH_MSG_APPL_REQUEST_MUTUAL>)SH
15912 54510 MT
(i.e. mutual \050two-way\051 authentication request)SH
15912 55747 MT
(length_2 = length of ticket, then length of authenticator)SH
15912 56984 MT
(ticket = { flags, name)168 W
27801 XM
(, instance)168 W
33380 XM
(, realm)168 W
37653 XM
(, address)167 W
42879 XM
(, K)167 W
47500 XM
(, lifetime)167 W
52614 XM
(,)SH
9 SS 
27284 57354 MT
(p)SH
32863 XM
(p)SH
37136 XM
(p)SH
42362 XM
(p)SH
44514 XM
(session)SH
52197 XM
(s)SH
11 SS 
15912 58350 MT
(time_sec)SH
22316 XM
(, name)SH
26158 XM
(, instance)SH
31775 XM
(})SH
9 SS 
20314 58720 MT
(kkds)SH
25741 XM
(s)SH
31052 XM
(s)SH
11 SS 
15912 59716 MT
(authenticator = {name)SH
27842 XM
(, instance)SH
33253 XM
(, realm)SH
37358 XM
(, checksum_4,)SH
9 SS 
27325 60086 MT
(p)SH
32736 XM
(p)SH
36841 XM
(p)SH
11 SS 
15912 61082 MT
(time_5ms)SH
24134 XM
(, time_sec)SH
32722 XM
(})SH
9 SS 
20866 61452 MT
(ws_now)SH
29148 XM
(ws_now)SH
11 SS 
15912 62448 MT
(checksum_4 = optional data checksum to be used by service,)SH
15912 63685 MT
(checksum algorithm selected by service.)SH
9 /Helvetica-Bold AF
6120 66656 MT
(7.1.3.3. Server)
386 W( Verification)
68 W( and Response.)69 W
11 /NewCenturySchlbk-Roman AF
25062 XM
(The server decrypts request, checking)69 W
/NewCenturySchlbk-Italic SF
44967 XM
(name)SH
/NewCenturySchlbk-Roman SF
(,)SH
/NewCenturySchlbk-Italic SF
48418 XM
(instance)SH
/NewCenturySchlbk-Roman SF
(,)SH
/NewCenturySchlbk-Italic SF
6120 67893 MT
(realm)SH
/NewCenturySchlbk-Roman SF
(,)SH
/NewCenturySchlbk-Italic SF
9861 XM
(address)SH
/NewCenturySchlbk-Roman SF
(, and)177 W
/NewCenturySchlbk-Italic SF
16978 XM
(time_sec)SH
/NewCenturySchlbk-Roman SF
(, and optionally checks for a)177 W
/NewCenturySchlbk-Italic SF
36790 XM
(recent playback attempt)177 W
/NewCenturySchlbk-Roman SF
(. If the)176 W
6120 69130 MT
(authentication is invalid, the client's request is denied, and an)393 W
/NewCenturySchlbk-Italic SF
42090 XM
(appl_err)SH
/NewCenturySchlbk-Roman SF
47064 XM
(message is)394 W
6120 70367 MT
(returned. Otherwise,)
740 W( the service may then request the client's authorizations from)
217 W( the)216 W
6120 71604 MT
(authorization service, if need be. It then performs the)
298 W( requested operation within the)299 W
10 /Helvetica-Bold AF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 27 27 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
44575 XM
(Section E.2.1, page 27)SH
11 /NewCenturySchlbk-Roman AF
8280 8011 MT
(bounds of the authorizations granted.)SH
9091 10238 MT
(If)SH
/NewCenturySchlbk-Italic SF
10363 XM
(auth_msg_type)SH
/NewCenturySchlbk-Roman SF
18399 XM
(requests mutual authentication \050two-way\051, the server)
151 W( replies with the)150 W
8280 11475 MT
(message noted below.  If the client is satisfied with the server's response, it then begins)
26 W( the)27 W
8280 12712 MT
(normal operation.)SH
8280 14760 MT
(appl_reply)SH
18072 XM
({ version, auth_msg_type, {svc_authent}K)SH
42197 XM
(})SH
9 SS 
39211 15130 MT
(session)SH
11 SS 
18072 16126 MT
(where)SH
18072 17363 MT
(auth_msg_type = <AUTH_MSG_APPL_REPLY_MUTUAL>)SH
18072 18600 MT
(svc_authent = { time_sec)SH
33871 XM
(+1 })SH
9 SS 
30603 18970 MT
(ws_now)SH
11 SS 
8280 20648 MT
(appl_err =)SH
18072 XM
({ version, auth_msg_type, err_code, err_text })SH
18072 21885 MT
(where)SH
18072 23122 MT
(auth_msg_type = <AUTH_MSG_APPL_ERR> ,)SH
18072 24359 MT
(err_code = Kerberos error code, defined in)SH
/NewCenturySchlbk-Italic SF
39639 XM
(prot.h)SH
/NewCenturySchlbk-Roman SF
42981 XM
(,)SH
18072 25596 MT
(err_text = text string describing error.)SH
9 /Helvetica-Bold AF
8280 28567 MT
(7.1.3.4. Secure)
1009 W( Conversations.)379 W
11 /NewCenturySchlbk-Roman AF
23168 XM
(The authentication protocols described previously create a)379 W
8280 29804 MT
(secure session key exchange and authenticate the principals.  This is sufficient for)
142 W( many)143 W
8280 31041 MT
(purposes, but other services, such as the)309 W
/NewCenturySchlbk-Italic SF
31291 XM
(authorization service)309 W
/NewCenturySchlbk-Roman SF
42787 XM
(and the)309 W
/NewCenturySchlbk-Italic SF
47585 XM
(KDBM service)308 W
/NewCenturySchlbk-Roman SF
8280 32278 MT
(require protection for)
201 W( every message exchanged, not just for initial "connections".  Such)202 W
8280 33515 MT
(protection may take two alternate forms:)SH
/Symbol SF
9901 35321 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(message authentication -- guarantee that a given message has)
48 W( not been modified,)47 W
10713 36558 MT
(forged, replayed, or made out of sequence; the message is)
185 W( still readable on the)186 W
10713 37795 MT
(network;)SH
/Symbol SF
9901 39651 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(message secrecy --)
377 W( in addition to offering message authentication, providing)376 W
10713 40888 MT
(message secrecy by encrypting the contents of the message.)SH
9091 43115 MT
(Two additional protocol)
270 W( message envelopes are provided for these purposes;)271 W
/NewCenturySchlbk-Italic SF
50499 XM
(safe_msg)SH
/NewCenturySchlbk-Roman SF
8280 44352 MT
(provides message authentication, and)191 W
/NewCenturySchlbk-Italic SF
28574 XM
(private_msg)SH
/NewCenturySchlbk-Roman SF
35242 XM
(provides both message)
191 W( authentication)190 W
8280 45589 MT
(and privacy.  The)116 W
/NewCenturySchlbk-Italic SF
17897 XM
(app_data)SH
/NewCenturySchlbk-Roman SF
23086 XM
(field is application specific data. Each application determines)117 W
8280 46826 MT
(the pattern of message types needed --)200 W
/NewCenturySchlbk-Italic SF
29529 XM
(private_msg)SH
/NewCenturySchlbk-Roman SF
(,)SH
/NewCenturySchlbk-Italic SF
36512 XM
(safe_msg)SH
/NewCenturySchlbk-Roman SF
(,)SH
/NewCenturySchlbk-Italic SF
41904 XM
(appl_err)SH
/NewCenturySchlbk-Roman SF
(, and application)199 W
8280 48063 MT
(specific messages.)SH
9091 49300 MT
(A)SH
/NewCenturySchlbk-Italic SF
10581 XM
(safe_msg)SH
/NewCenturySchlbk-Roman SF
15858 XM
(provides strong means to detect any modification attempts,)
390 W( forgery, or)391 W
8280 50537 MT
(replays, but does not provide privacy.)SH
8280 52585 MT
(safe_msg =)SH
18072 XM
({ version, auth_msg_type, safe_data, checksum_16\050K)SH
47921 XM
(, safe_data\051 })SH
9 SS 
44935 52955 MT
(session)SH
11 SS 
18072 53951 MT
(where)SH
18072 55188 MT
(auth_msg_type = <AUTH_MSG_SAFE>)SH
18072 56425 MT
(length_4 = length of safe_data,)SH
18072 57662 MT
(safe_data = { length_4)17 W
33359 XM
(, app_data, time_5ms)17 W
47547 XM
(, address)17 W
54774 XM
(,)SH
9 SS 
29373 58032 MT
(safe_data)SH
44279 XM
(ws_now)SH
52106 XM
(source)SH
11 SS 
18072 59028 MT
(direction, time_sec)SH
31165 XM
(})SH
9 SS 
27591 59398 MT
(ws_now)SH
11 SS 
18072 60394 MT
(checksum_16 is a function of both)
295 W( K)296 W
41759 XM
(and)SH
/NewCenturySchlbk-Italic SF
44277 XM
(safe_data)SH
/NewCenturySchlbk-Roman SF
(, using the)296 W
9 SS 
38171 60764 MT
(session)SH
11 SS 
18072 61760 MT
(quad_cksum\050\051 algorithm.)SH
10 /Helvetica-Bold AF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 28 28 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 28, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
11 /NewCenturySchlbk-Roman AF
6931 8011 MT
(A)SH
/NewCenturySchlbk-Italic SF
8277 XM
(private_msg)SH
/NewCenturySchlbk-Roman SF
15000 XM
(provides strong means to detect any)
246 W( modification attempts, forgery, or)245 W
6120 9248 MT
(replays, and in addition provides privacy.)
310 W( However,)
927 W( to provide the privacy, it incurs)311 W
6120 10485 MT
(significant additional)
83 W( run-time overhead for encryption. Since the lifetime of a session key)82 W
6120 11722 MT
(may be greater than that of a process, timestamps are used instead of sequence numbers.)SH
6120 13770 MT
(private_msg =)SH
15912 XM
({ version, auth_msg_type, length_4)SH
36312 XM
(, cipher })SH
9 SS 
33710 14140 MT
(cipher)SH
11 SS 
15912 15136 MT
(where)SH
15912 16373 MT
(auth_msg_type = <AUTH_MSG_PRIVATE>)SH
15912 17610 MT
(length_4)SH
23246 XM
(= length of the encrypted portion of the message,)SH
9 SS 
20338 17980 MT
(cipher)SH
11 SS 
15912 18976 MT
(cipher ={ private_data } K)SH
9 SS 
29054 19346 MT
(session)SH
11 SS 
15912 20342 MT
(private_data = { length_4)157 W
30778 XM
(, app_data, time_5ms)157 W
45246 XM
(, address)158 W
52614 XM
(,)SH
9 SS 
29244 20712 MT
(app)SH
41978 XM
(ws_now)SH
49946 XM
(source)SH
11 SS 
15912 21708 MT
(direction, time_sec)SH
29005 XM
(})SH
9 SS 
25431 22078 MT
(ws_now)SH
11 SS 
15912 23074 MT
(length_4)SH
22178 XM
(= length of)SH
/NewCenturySchlbk-Italic SF
27944 XM
(app_data)SH
/NewCenturySchlbk-Roman SF
(,)SH
9 SS 
20338 23444 MT
(app)SH
11 SS 
15912 24440 MT
(app_data = application specific data,)SH
/NewCenturySchlbk-Bold SF
6931 26488 MT
(Rules for)SH
/NewCenturySchlbk-Italic SF
12457 XM
(safe_msg)SH
/NewCenturySchlbk-Bold SF
17354 XM
(and)SH
/NewCenturySchlbk-Italic SF
19833 XM
(private_msg)SH
/NewCenturySchlbk-Bold SF
(:)SH
/Symbol SF
7741 28294 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(Both sides discard messages with duplicate)
170 W( timestamps and messages with the)169 W
8553 29531 MT
(wrong direction \050replay attempts\051;)SH
/Symbol SF
7741 31387 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(Both sides retain state of both the transmitted and the)
272 W( received timestamps;)273 W
8553 32624 MT
(messages with out of order timestamps are discarded)
398 W( \050limited pipelining is)397 W
8553 33861 MT
(possible if one were ambitious\051;)SH
/Symbol SF
7741 35717 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(Messages with invalid checksums are discarded;)SH
/Symbol SF
7741 37573 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(\050Discarded messages cause a security log entry to be made either locally or sent to)15 W
8553 38810 MT
(a security audit trail log process ???\051.)SH
10 /Helvetica-BoldOblique AF
6120 41637 MT
(7.1.4. Library Routines)SH
11 /NewCenturySchlbk-Roman AF
6931 43123 MT
(Kerberos uses two major libraries. The first)
62 W( is a general purpose DES encryption library,)61 W
6120 44360 MT
(and the second is a Kerberos-specific library to help interface to the Kerberos protocols.)SH
9 /Helvetica-Bold AF
6120 47331 MT
(7.1.4.1. DES)
334 W( Encryption Library.)42 W
11 /NewCenturySchlbk-Roman AF
20986 XM
(The DES encryption)
42 W( library created for Kerberos is a software)43 W
6120 48568 MT
(only implementation)
415 W( of the DES algorithm, certain modes of operation, and related)414 W
6120 49805 MT
(utilities. It)
547 W( may be used independently of Kerberos, or may be replaced \050for example, for)121 W
6120 51042 MT
(export\051 by any other 64-bit block cipher algorithms which maintain a compatible interface.)SH
9 /NewCenturySchlbk-Italic AF
43887 52899 MT
(5)SH
11 /NewCenturySchlbk-Roman AF
6931 53269 MT
(The routines supported include)293 W
/NewCenturySchlbk-Italic SF
24307 XM
(ecb mode, cbc)
293 W( mode,)292 W
/NewCenturySchlbk-Roman SF
35867 XM
(and)SH
/NewCenturySchlbk-Italic SF
38381 XM
(pcbc mode)292 W
/NewCenturySchlbk-Roman SF
44985 XM
(encryption and)292 W
6120 54506 MT
(decryption, a)125 W
/NewCenturySchlbk-Italic SF
13279 XM
(cbc checksum mode)125 W
/NewCenturySchlbk-Roman SF
(, a)125 W
/NewCenturySchlbk-Italic SF
25086 XM
(quadratic checksum mode)125 W
/NewCenturySchlbk-Roman SF
(, \050not DES\051, a DES)125 W
/NewCenturySchlbk-Italic SF
48927 XM
(random)SH
6120 55743 MT
(key)SH
/NewCenturySchlbk-Roman SF
8155 XM
(generator, a routine to)79 W
/NewCenturySchlbk-Italic SF
20234 XM
(prompt)SH
/NewCenturySchlbk-Roman SF
24285 XM
(and read a password without echoing, a)
79 W( routine to one-)78 W
6120 56980 MT
(way-encrypt an arbitrary string)
4 W( into a DES key, and a routine to create a DES key schedule)5 W
6120 58217 MT
(from a DES key.)SH
6931 60444 MT
(The implementation for)
195 W( Berkeley 4.3 UNIX is described in a UNIX man page labelled)194 W
/NewCenturySchlbk-Italic SF
6120 61681 MT
(des_crypt\0503\051)SH
/NewCenturySchlbk-Roman SF
(.)SH
10800 50 6120 69916 UL
8 SS 
6857 71649 MT
(5)SH
10 SS 
7302 72000 MT
(pcbc is a modified cbc mode to provide indefinite error propagation on decryption.)SH
/Helvetica-Bold SF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 29 29 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
44575 XM
(Section E.2.1, page 29)SH
9 SS 
8280 8011 MT
(7.1.4.2. Kerberos)
454 W( Protocol)
102 W( Library.)103 W
11 /NewCenturySchlbk-Roman AF
24089 XM
(A Kerberos Protocol Library provides a callable interface to)103 W
8280 9248 MT
(the protocol described earlier.)SH
9091 11475 MT
(The implementation for)
195 W( Berkeley 4.3 UNIX is described in a UNIX man page labelled)194 W
/NewCenturySchlbk-Italic SF
8280 12712 MT
(kerberos\0503\051)SH
/NewCenturySchlbk-Roman SF
(.)SH
/Helvetica-Bold SF
8280 15802 MT
(7.2. Issues)SH
/NewCenturySchlbk-Roman SF
9091 18170 MT
(Master key management for the)
235 W( servers is a yet unresolved operational problem.  To)236 W
8280 19407 MT
(maintain security during maintenance operation it is preferable)
20 W( not to store the master key)19 W
8280 20644 MT
(on disk on)
14 W( the server, yet it is an operational headache to manually enter the master key at)15 W
8280 21881 MT
(each server every)
73 W( time it is restarted.  One possible solution is to build a simple hardware)72 W
8280 23118 MT
(box that supplies)
109 W( the master key from a set of thumbwheels, over a serial port.  This box)110 W
8280 24355 MT
(could remain plugged)
9 W( in to the KKDS in case a power loss causes it to reboot, yet it could be)8 W
8280 25592 MT
(unplugged \050or the thumbwheels set)
82 W( to zero\051 when it is necessary to turn the machine over)83 W
8280 26829 MT
(to a field service engineer for maintenance.  A related requirement is to)
20 W( completely clear all)19 W
8280 28066 MT
(copies of the master key, including any that may)
97 W( be in virtual memory swap areas on the)98 W
8280 29303 MT
(disk, when sanitizing the KKDS for service.)SH
9091 31530 MT
(Key management for user keys also presents)
262 W( some problems.  In order to make this)261 W
8280 32767 MT
(authentication mechanism as familiar)
192 W( and transparent to the user as possible, keys are)193 W
8280 34004 MT
(based on a password of the)
11 W( user's choice.  Because of this, Kerberos suffers from some of the)10 W
8280 35241 MT
(same problems as passwords.  In particular, users may choose keys which are easy to guess,)2 W
8280 36478 MT
(or they may record them where others can find them.)SH
9091 38705 MT
(Servers may require stable storage)
326 W( for the recently used)325 W
/NewCenturySchlbk-Italic SF
40860 XM
(authenticators)SH
/NewCenturySchlbk-Roman SF
(, in order to)325 W
8280 39942 MT
(eliminate replay attempts that)
120 W( cross system boot or process restart boundaries.  Whether)121 W
8280 41179 MT
(this is needed depends on the)
65 W( difference between the expected maximum downtime for the)64 W
9 SS 
36266 42068 MT
(6)SH
11 SS 
8280 42438 MT
(service and the size of the service's timestamp window.)SH
9091 44665 MT
(The KKDS workload needs to be estimated and)
289 W( measured, since it \050they\051 can easily)288 W
8280 45902 MT
(become a bottleneck.  We will then need to determine how to tune)
138 W( the KKDS's, and how)139 W
8280 47139 MT
(many are needed where.)SH
9091 49366 MT
(The server's private key is needed to decrypt the ticket for every application request.)
6 W( This)316 W
8280 50603 MT
(subjects it to potential exposure much)
195 W( more than is desirable for a private key.  In the)196 W
8280 51840 MT
(future, a means to automatically change the)
103 W( server's private key on a daily basis, using a)102 W
8280 53077 MT
(higher level key, is desirable. Also, a hardware implementation of DES supporting)
130 W( write-)131 W
8280 54314 MT
(only master keys is highly desirable for the Kerberos servers.)SH
9091 56541 MT
(Another problem that is not easily dealt with)
333 W( at the moment is authenticating the)332 W
8280 57778 MT
(workstation to the user.  How does a user)
210 W( know that an adversary hasn't modified the)211 W
8280 59015 MT
(software on the machine he or she is using so that it will store the secret)
259 W( key?  One)258 W
8280 60252 MT
(approach to this problem is to have the user carry around a)20 W
/NewCenturySchlbk-Italic SF
39012 XM
(boot disk)21 W
/NewCenturySchlbk-Roman SF
(. The)
348 W( user would then)21 W
8280 61489 MT
(boot the machine)
24 W( off that disk, and upon logging in, the authentication would be taken care)23 W
8280 62726 MT
(of by software on that disk.  The problem with this approach though, is that it)
41 W( requires the)42 W
8280 63963 MT
(user to carry something extra around.)SH
9091 66190 MT
(Another approach, although not practical at)
123 W( the moment, is the use of)122 W
/NewCenturySchlbk-Italic SF
46340 XM
(smart cards)122 W
/NewCenturySchlbk-Roman SF
52937 XM
(that)SH
10800 50 8280 68664 UL
8 SS 
9017 70397 MT
(6)SH
10 SS 
9462 70748 MT
(The service's timestamp window is the valid range for time_sec)119 W
43020 XM
(for which the service will)119 W
8 SS 
39719 71099 MT
(ws_now)SH
10 SS 
8280 72000 MT
(honor a request.)SH
/Helvetica-Bold SF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 30 30 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 30, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
11 /NewCenturySchlbk-Roman AF
6120 8011 MT
(would do the encryption for initial authentication internally.  With this approach, the key)94 W
6120 9248 MT
(never leaves the card, thus, there's nothing for)
172 W( a spoofer to store except the session key)171 W
6120 10485 MT
(\050which has a limited lifetime\051.)SH
6931 12712 MT
(The representation of names as entered by the user is somewhat awkward.)SH
6931 14939 MT
(The timestamp granularity for requests -- 5 ms. -- is more than)
179 W( sufficient for software)180 W
6120 16176 MT
(encryption, 4.3BSD, and)
67 W( current processors, but may be too large for systems 5 years from)66 W
6120 17413 MT
(now. \050The granularity will have to be reduced and the)
26 W( fields extended, and the systems will)27 W
6120 18650 MT
(have to provide higher resolution timestamps)
46 W( than the 10ms currently provided by 4.3BSD)45 W
6120 19887 MT
(UNIX.\051)SH
6931 22114 MT
(The timestamp base used in the protocols is based)
80 W( on the Berkeley UNIX clock standard)81 W
6120 23351 MT
(rather than the ARPA internet clock standard used elsewhere in TCP/IP)
141 W( protocol family;)140 W
6120 24588 MT
(the IP standard should be used instead.)SH
/Helvetica-Bold SF
6120 27678 MT
(7.3. Well Known Services)SH
/NewCenturySchlbk-Roman SF
6931 30046 MT
(All Kerberos installations should adhere to the following conventions:)SH
/Symbol SF
7741 31852 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(The following literals are reserved Kerberos)
326 W( principal names:)327 W
/NewCenturySchlbk-Italic SF
43270 XM
({K,M}, krbtgt,)327 W
8553 33089 MT
(changepw, default)SH
/NewCenturySchlbk-Roman SF
(.)SH
/Symbol SF
7741 34945 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(The Kerberos service is accessible at)
68 W( a well known UDP port, 750.  The Kerberos)67 W
9 SS 
43514 35849 MT
(7)SH
11 SS 
8553 36219 MT
(administration protocol is carried on via UDP port 751.)861 W
45182 XM
(In UNIX)862 W
8553 37456 MT
(implementations, these ports are named)830 W
/NewCenturySchlbk-Italic SF
33556 XM
(kerberos)SH
/NewCenturySchlbk-Roman SF
38905 XM
(and)SH
/NewCenturySchlbk-Italic SF
41956 XM
(kerberos_master)SH
/NewCenturySchlbk-Roman SF
(,)SH
8553 38693 MT
(respectively.)SH
/Helvetica-Bold SF
6120 41783 MT
(7.4. Revision History)SH
10 /Helvetica-BoldOblique AF
6120 44610 MT
(7.4.1. Revision 7 --> Release v1.1)SH
11 /NewCenturySchlbk-Roman AF
6931 46096 MT
(Revision 7 represents the definitive specification for the)
28 W( August 1986 Athena staff release)29 W
6120 47333 MT
(of Kerberos.)SH
/Symbol SF
7741 49139 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(Protocol changed to only allow one ticket request up front.  This was done)
230 W( to)229 W
8553 50376 MT
(decrease the complexity of the protocol, and)
192 W( to allow implementations that are)193 W
8553 51613 MT
(forced to limit)
5 W( the number of tickets returned to interact with others.  This change)4 W
8553 52850 MT
(was made)
312 W( after reliability problems resulted from the complextity of the old)313 W
8553 54087 MT
(protocol, and network limitations.  For a while, both the old)
48 W( protocol \050V3\051 and the)47 W
8553 55324 MT
(new protocol \050V4\051 will be supported.)SH
10 /Helvetica-BoldOblique AF
6120 58151 MT
(7.4.2. Revision 6 --> Release v1.0)SH
11 /NewCenturySchlbk-Roman AF
6931 59637 MT
(Revision 6 represents the definitive specification for the May 1986 Athena staff release of)42 W
6120 60874 MT
(Kerberos.)SH
6931 63101 MT
(Major changes:)SH
/Symbol SF
7741 64907 MT
(\267)SH
/NewCenturySchlbk-Roman SF
8553 XM
(Moved the design proposals for authorization into)
349 W( a new document, entitled)348 W
8553 66144 MT
("Project Athena Technical Plan -- Authorization Proposals".)SH
10800 50 6120 69916 UL
8 SS 
6857 71649 MT
(7)SH
10 SS 
7302 72000 MT
(These two port assignments are not official ones.  An official assignment is needed.)SH
/Helvetica-Bold SF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 31 31 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
44575 XM
(Section E.2.1, page 31)SH
11 /Symbol AF
9901 8080 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Added Kerberos)154 W
/NewCenturySchlbk-Italic SF
19473 XM
(err_reply)SH
/NewCenturySchlbk-Roman SF
24471 XM
(message type and an)154 W
/NewCenturySchlbk-Italic SF
36012 XM
(appl_err)SH
/NewCenturySchlbk-Roman SF
(, the)
154 W( latter message for)155 W
10713 9317 MT
(use with)SH
/NewCenturySchlbk-Italic SF
15363 XM
(safe_msg)SH
/NewCenturySchlbk-Roman SF
20250 XM
(and)SH
/NewCenturySchlbk-Italic SF
22472 XM
(private_msg)SH
/NewCenturySchlbk-Roman SF
(.)SH
/Symbol SF
9901 11173 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Disallowed wildcard lookups)
324 W( for ticket requests \050either via an authentication)323 W
10713 12410 MT
(request or ticket-granting-ticket request\051; removed the)
790 W( cleartext service)791 W
/NewCenturySchlbk-Italic SF
10713 13647 MT
({name,instance})SH
/NewCenturySchlbk-Roman SF
19025 XM
(and)SH
/NewCenturySchlbk-Italic SF
21247 XM
(lifetime)SH
/NewCenturySchlbk-Roman SF
25363 XM
(from the corresponding reply messages.)SH
/Symbol SF
9901 15503 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Added a)78 W
/NewCenturySchlbk-Italic SF
15330 XM
(flags)SH
/NewCenturySchlbk-Roman SF
18158 XM
(field to the beginning of the)
78 W( ticket, to include the byte order of the)77 W
10713 16740 MT
(system granting the ticket.)SH
/Symbol SF
9901 18596 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Changed the name of the)SH
/NewCenturySchlbk-Italic SF
23801 XM
(des_set_key)SH
/NewCenturySchlbk-Roman SF
29870 XM
(routine to)SH
/NewCenturySchlbk-Italic SF
35172 XM
(key_sched)SH
/NewCenturySchlbk-Roman SF
(.)SH
/Symbol SF
9901 20452 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Modified the)15 W
/NewCenturySchlbk-Italic SF
17470 XM
(safe_msg)SH
/NewCenturySchlbk-Roman SF
22373 XM
(and)SH
/NewCenturySchlbk-Italic SF
24611 XM
(private_msg)SH
/NewCenturySchlbk-Roman SF
31104 XM
(protocols to streamline them, removed the)16 W
/NewCenturySchlbk-Italic SF
10713 21689 MT
(app_code)SH
/NewCenturySchlbk-Roman SF
(, and replaced the)SH
/NewCenturySchlbk-Italic SF
24751 XM
(sequence)SH
/NewCenturySchlbk-Roman SF
29455 XM
(number with timestamps.)SH
/Symbol SF
9901 23545 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Added the cleartext)448 W
/NewCenturySchlbk-Italic SF
22348 XM
(exp_date)SH
/NewCenturySchlbk-Roman SF
27500 XM
(of the requesting principal to the)447 W
/NewCenturySchlbk-Italic SF
47208 XM
(auth_reply)SH
/NewCenturySchlbk-Roman SF
10713 24782 MT
(message.)SH
10 /Helvetica-BoldOblique AF
8280 27609 MT
(7.4.3. Rev 5)SH
11 /NewCenturySchlbk-Roman AF
9091 29095 MT
(Major changes:)SH
/Symbol SF
9901 30901 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Split authentication and authorization into)
233 W( two independent services; removed)234 W
10713 32138 MT
(authorization information from the authentication)
77 W( protocols.  Redefined the term)76 W
/NewCenturySchlbk-Italic SF
10713 33375 MT
(KDC/AS)SH
/NewCenturySchlbk-Roman SF
15659 XM
(to be the Key Distribution Center/Authentication Server.)SH
/Symbol SF
9901 35231 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Changed the naming of users and services to a single, unified name model)
232 W( of)233 W
/NewCenturySchlbk-Italic SF
10713 36468 MT
({name, instance})195 W
/NewCenturySchlbk-Roman SF
(, with an optional)195 W
/NewCenturySchlbk-Italic SF
29262 XM
(realm)SH
/NewCenturySchlbk-Roman SF
32714 XM
(specified. Modified protocols to reflect)194 W
10713 37705 MT
(the new naming model.)SH
/Symbol SF
9901 39561 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Added a discussion of replication for the authentication database.)SH
/Symbol SF
9901 41417 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Added more discussion of realms.)SH
/Symbol SF
9901 43273 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Added protocols for secure conversations.)SH
/Symbol SF
9901 45129 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Deleted most references to the existing)SH
/NewCenturySchlbk-Italic SF
30812 XM
(athena_reg)SH
/NewCenturySchlbk-Roman SF
36719 XM
(Athena Unix login database.)SH
10 /Helvetica-BoldOblique AF
8280 47956 MT
(7.4.4. Rev 4)SH
11 /NewCenturySchlbk-Roman AF
9091 49442 MT
(Major changes:)SH
/Symbol SF
9901 51248 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Added an)
226 W( authentication realm)227 W
/NewCenturySchlbk-Italic SF
27829 XM
(realm)SH
/NewCenturySchlbk-Roman SF
31314 XM
(to qualify all uses of the authentication)227 W
10713 52485 MT
(name)SH
/NewCenturySchlbk-Italic SF
14844 XM
({name,instance})SH
/NewCenturySchlbk-Roman SF
(. This allowed)
1012 W( future enhancements to support)1011 W
10713 53722 MT
(authentication across administratively independent Kerberos services, for)714 W
10713 54959 MT
(example between Athena's Kerberos and one at LCS.  \050This)
262 W( is similar to the)261 W
10713 56196 MT
(Internet domains, but not necessarily equivalent.\051)SH
/Symbol SF
9901 58052 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Added the cleartext service)270 W
/NewCenturySchlbk-Italic SF
25915 XM
({name,instance})SH
/NewCenturySchlbk-Roman SF
34497 XM
(and)SH
/NewCenturySchlbk-Italic SF
36989 XM
(lifetime)SH
/NewCenturySchlbk-Roman SF
41375 XM
(to the authentication)271 W
10713 59289 MT
(reply message,)367 W
/NewCenturySchlbk-Italic SF
19272 XM
(auth_reply)SH
/NewCenturySchlbk-Roman SF
(. This)
1038 W( supported the use of wildcard requests by)366 W
10713 60526 MT
(returning to)
37 W( the requestor a readable version of the specific servers and instances)38 W
10713 61763 MT
(selected.)SH
/Symbol SF
9901 63619 MT
(\267)SH
/NewCenturySchlbk-Roman SF
10713 XM
(Specified byte ordering in the least significant bit)
287 W( of the)286 W
/NewCenturySchlbk-Italic SF
42213 XM
(auth_msg_type)SH
/NewCenturySchlbk-Roman SF
(. The)286 W
10713 64856 MT
(transmitter of each message sends in its natural byte order, while the)
175 W( receiver)176 W
10713 66093 MT
(converts the byte order as needed.)SH
10 /Helvetica-Bold AF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 32 32 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 32, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
12 SS 
6120 8160 MT
(8. Appendix II)SH
/Helvetica SF
(\320)SH
/Helvetica-Bold SF
(The Kerberos Encryption Library)SH
11 /NewCenturySchlbk-Roman AF
6931 10310 MT
(The Kerberos encryption library supports various)
391 W( encryption related operations. Its)390 W
6120 11547 MT
(contents differ from the)SH
/NewCenturySchlbk-Italic SF
18431 XM
(crypt, setkey,)SH
/NewCenturySchlbk-Roman SF
25214 XM
(and)SH
/NewCenturySchlbk-Italic SF
27436 XM
(encrypt)SH
/NewCenturySchlbk-Roman SF
31448 XM
(library routines.  In this description,)
SH( eight)1 W
6120 12784 MT
(bit bytes are assumed; bit numbers start with the)
241 W( least significant bit.  Array and bit)240 W
6120 14021 MT
(indices start with 0.  Operation of the library is described below.)SH
6931 16248 MT
(For each)
47 W( key that may be simultaneously active, create a)48 W
/NewCenturySchlbk-Italic SF
36688 XM
(Key_schedule)SH
/NewCenturySchlbk-Roman SF
43783 XM
(structure, defined)48 W
6120 17485 MT
(in "krb.h" as a structure of 64 bit-fields:)SH
/Courier SF
11400 19102 MT
(typedef bit_64  Key_schedule[16];)SH
/NewCenturySchlbk-Roman SF
6120 20844 MT
(Next, create key schedules \050from the 8-byte)
86 W( keys\051 as needed, using)85 W
/NewCenturySchlbk-Italic SF
41076 XM
(krb_key_sched,)SH
/NewCenturySchlbk-Roman SF
49045 XM
(prior to)85 W
6120 22081 MT
(using the encryption or checksum routines. Then set up the input)
47 W( and output areas.  Make)48 W
6120 23318 MT
(sure to note the restrictions on lengths being multiples of eight)
140 W( bytes. Finally, invoke an)139 W
6120 24555 MT
(encryption/decryption routine)
510 W( such as)511 W
/NewCenturySchlbk-Italic SF
27668 XM
(pcbc_encrypt,)SH
/NewCenturySchlbk-Roman SF
35266 XM
(or, to generate a cryptographic)511 W
6120 25792 MT
(checksum, use a routine such as)SH
/NewCenturySchlbk-Italic SF
22792 XM
(quad_cksum.)SH
/NewCenturySchlbk-Roman SF
6931 28019 MT
(A)SH
/NewCenturySchlbk-Italic SF
8145 XM
(C_Block)SH
/NewCenturySchlbk-Roman SF
12720 XM
(structure is an 8)
114 W( byte block used as the fundamental unit for data and keys,)113 W
6120 29256 MT
(defined as:)SH
/Courier SF
11400 30873 MT
(typedef unsigned char C_Block[8];)SH
/NewCenturySchlbk-Roman SF
6120 32615 MT
(The individual library functions)232 W
/NewCenturySchlbk-Italic SF
23629 XM
(krb_read_password)SH
/NewCenturySchlbk-Roman SF
(,)SH
/NewCenturySchlbk-Italic SF
34370 XM
(krb_string_to_key)SH
/NewCenturySchlbk-Roman SF
(,)SH
/NewCenturySchlbk-Italic SF
44159 XM
(krb_random_key)SH
/NewCenturySchlbk-Roman SF
(,)SH
/NewCenturySchlbk-Italic SF
6120 33852 MT
(krb_key_sched)SH
/NewCenturySchlbk-Roman SF
(,)SH
/NewCenturySchlbk-Italic SF
14004 XM
(pcbc_encrypt)SH
/NewCenturySchlbk-Roman SF
(, and)SH
/NewCenturySchlbk-Italic SF
23313 XM
(quad_cksum)SH
/NewCenturySchlbk-Roman SF
29997 XM
(will now be described.)SH
/Courier SF
6120 35469 MT
(int krb_read_password\050key, prompt, verify\051)SH
11400 36583 MT
(C_Block *key;)SH
11400 37697 MT
(char *prompt;)1980 W
11400 38811 MT
(int verify;)2640 W
/NewCenturySchlbk-Italic SF
6931 41038 MT
(krb_read_password)SH
/NewCenturySchlbk-Roman SF
17159 XM
(writes the string specified by)25 W
/NewCenturySchlbk-Italic SF
32309 XM
(prompt)SH
/NewCenturySchlbk-Roman SF
36306 XM
(to the)
25 W( standard output, turns off)24 W
6120 42275 MT
(echo \050if)
154 W( possible\051 and reads an input string from standard input until terminated with a)155 W
6120 43512 MT
(newline. If)324 W
/NewCenturySchlbk-Italic SF
12184 XM
(verify)SH
/NewCenturySchlbk-Roman SF
15330 XM
(is non-zero, it prompts and reads)
9 W( input again, for use in applications such)8 W
6120 44749 MT
(as changing a password; both versions are compared, and the input is)
33 W( requested repeatedly)34 W
6120 45986 MT
(until they match.  Then)241 W
/NewCenturySchlbk-Italic SF
19685 XM
(krb_read_password)SH
/NewCenturySchlbk-Roman SF
30129 XM
(converts the input string into a valid)
241 W( key,)240 W
6120 47223 MT
(internally using the)41 W
/NewCenturySchlbk-Italic SF
16667 XM
(krb_string_to_key)SH
/NewCenturySchlbk-Roman SF
25959 XM
(routine. The)
390 W( newly created key is copied to the area)42 W
6120 48460 MT
(pointed to by)
32 W( the)31 W
/NewCenturySchlbk-Italic SF
15116 XM
(key)SH
/NewCenturySchlbk-Roman SF
17103 XM
(argument.)SH
/NewCenturySchlbk-Italic SF
23077 XM
(krb_read_password)SH
/NewCenturySchlbk-Roman SF
33311 XM
(returns a zero if no errors occurred, or)31 W
6120 49697 MT
(-1 indicating that an error occurred trying to manipulate the terminal echo.)SH
/Courier SF
6120 51314 MT
(int krb_string_to_key\050s, k\051)SH
11400 52428 MT
(char *s;)1980 W
11400 53542 MT
(C_Block *k;)SH
/NewCenturySchlbk-Italic SF
6931 55769 MT
(krb_string_to_key)SH
/NewCenturySchlbk-Roman SF
16494 XM
(converts a null-terminated string of arbitrary length \050e.g., a)
312 W( user's)313 W
6120 57006 MT
(password\051 into an 8 byte key, with odd byte parity, per the FIPS Data Encryption Standard)20 W
6120 58243 MT
(\050DES\051 specification.  A one-way function is used)
125 W( to convert the string to a key, making it)126 W
6120 59480 MT
(very difficult to reconstruct the string, given)
114 W( the key.  The)113 W
/NewCenturySchlbk-Italic SF
37155 XM
(s)SH
/NewCenturySchlbk-Roman SF
38062 XM
(argument is a pointer to the)113 W
6120 60717 MT
(string, and)55 W
/NewCenturySchlbk-Italic SF
12102 XM
(k)SH
/NewCenturySchlbk-Roman SF
13075 XM
(should point)
55 W( to a)56 W
/NewCenturySchlbk-Italic SF
22128 XM
(C_Block)SH
/NewCenturySchlbk-Roman SF
26645 XM
(supplied by the caller to receive the generated key.)56 W
6120 61954 MT
(No meaningful)
127 W( value is returned. Void is not used for compatibility with other compilers.)126 W
6120 63191 MT
(The algorithm for the conversion is described below.)SH
6931 65418 MT
(The first step is to flatten the input string into a stream of 7*length\050s\051 bits)SH
/NewCenturySchlbk-Italic SF
45086 XM
(b)SH
/NewCenturySchlbk-Roman SF
46004 XM
(as follows:)SH
/Courier SF
11400 67035 MT
(b[0] = bit 0 of s[0])SH
11400 68149 MT
(b[1] = bit 1 of s[0])SH
11400 69263 MT
(...)SH
11400 70377 MT
(b[6] = bit 6 of s[0])SH
11400 71491 MT
(b[7] = bit 0 of s[1])SH
10 /Helvetica-Bold AF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 33 33 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
44575 XM
(Section E.2.1, page 33)SH
11 /Courier AF
13560 7886 MT
(b[8] = bit 1 of s[1])SH
13560 9000 MT
(...)SH
13560 10114 MT
(b[7n + m] \0500<=m<=6\051 = bit m of s[n])SH
/NewCenturySchlbk-Roman SF
9091 12341 MT
(In other words, the eighth \050most significant\051 bit of each)
211 W( byte of)212 W
/NewCenturySchlbk-Italic SF
43677 XM
(s)SH
/NewCenturySchlbk-Roman SF
44683 XM
(is dropped, and the)212 W
8280 13578 MT
(remaining bits are shifted over to fill in the gaps.)SH
9091 15805 MT
(The second step is to "fan-fold" and XOR)222 W
/NewCenturySchlbk-Italic SF
31738 XM
(b)SH
/NewCenturySchlbk-Roman SF
32878 XM
(into a string)222 W
/NewCenturySchlbk-Italic SF
40111 XM
(b')SH
/NewCenturySchlbk-Roman SF
41474 XM
(exactly 56 bits long.  For)221 W
8280 17042 MT
(example, if)SH
/NewCenturySchlbk-Italic SF
14173 XM
(b)SH
/NewCenturySchlbk-Roman SF
15091 XM
(is 63 bits long:)SH
/Courier SF
13560 18659 MT
(b'[55] = b[55] XOR b[56],)SH
13560 19773 MT
(b'[54] = b[54] XOR b[57],)SH
13560 20887 MT
(...)SH
13560 22001 MT
(b'[49] = b[49] XOR b[62])SH
/NewCenturySchlbk-Roman SF
9091 24228 MT
(\050The two steps described above can easily be combined.\051)SH
9091 26455 MT
(A key is 8 bytes long, but with odd parity in each byte; the least significant bit of the)
30 W( byte)31 W
8280 27692 MT
(is the parity bit.  The key is formed from)27 W
/NewCenturySchlbk-Italic SF
29467 XM
(b')SH
/NewCenturySchlbk-Roman SF
30635 XM
(above in two steps.  The first step is to form the)26 W
8280 28929 MT
(key with zero parity as follows:)SH
/Courier SF
13560 30546 MT
(bit 1 of k[0] = b'[0])SH
13560 31660 MT
(bit 2 of k[0] = b'[1])SH
13560 32774 MT
(bit 1 of k[1] = b'[7])SH
13560 33888 MT
(...)SH
13560 35002 MT
(bit m of k[n] = b'[7n+m-1]  \0501<=m<=7\051 and)SH
13560 36116 MT
(bit 0 of k[n] = 0)SH
/NewCenturySchlbk-Roman SF
9091 38343 MT
(In other words, a zero)
73 W( parity bit is inserted into the stream)74 W
/NewCenturySchlbk-Italic SF
40268 XM
(b')SH
/NewCenturySchlbk-Roman SF
41484 XM
(every seven bits, resulting)74 W
8280 39580 MT
(in the array)77 W
/NewCenturySchlbk-Italic SF
14893 XM
(k)SH
/NewCenturySchlbk-Roman SF
15888 XM
(of eight 8-bit bytes.  The second step is to set or clear the parity bit in each)77 W
8280 40817 MT
(byte of)SH
/NewCenturySchlbk-Italic SF
11991 XM
(k)SH
/NewCenturySchlbk-Roman SF
12909 XM
(as appropriate.)SH
9091 43044 MT
(Next, the DES)
73 W( key schedule of)74 W
/NewCenturySchlbk-Italic SF
25270 XM
(k)SH
/NewCenturySchlbk-Roman SF
26262 XM
(is computed using)74 W
/NewCenturySchlbk-Italic SF
35983 XM
(krb_key_sched.)SH
/NewCenturySchlbk-Roman SF
44321 XM
(Then the 64 bit DES)74 W
8280 44281 MT
(cipher-block-chaining \050CBC\051 checksum of the original string)
139 W( is computed, and finally, the)138 W
8280 45518 MT
(CBC checksum is forced to odd parity.  The generated checksum is the resulting key.)SH
9091 47745 MT
([CBC checksumming produces an 8 byte cryptographic checksum by)
190 W( cipher-block-chain)191 W
8280 48982 MT
(encrypting the cleartext data.  All of the)
106 W( ciphertext output is discarded, except the last 8-)105 W
8280 50219 MT
(byte ciphertext block.  If the cleartext length is not an)
67 W( integral multiple of eight bytes, the)68 W
8280 51456 MT
(last cleartext block is zero filled \050highest addresses\051.  The output is always eight bytes.])SH
/Courier SF
8280 53073 MT
(int krb_random_key\050key\051)SH
13560 54187 MT
(C_Block *key;)5280 W
/NewCenturySchlbk-Italic SF
9091 56414 MT
(krb_random_key)SH
/NewCenturySchlbk-Roman SF
18001 XM
(generates a random encryption key \050eight bytes\051, set to)
149 W( odd parity per)148 W
8280 57651 MT
(FIPS specifications.  The routine may use any algorithm it wishes to generate a key at)192 W
8280 58888 MT
(random. The)
428 W( caller must supply space for the output key, pointed to by the argument)61 W
/NewCenturySchlbk-Italic SF
53124 XM
(key,)SH
/NewCenturySchlbk-Roman SF
8280 60125 MT
(then after calling)49 W
/NewCenturySchlbk-Italic SF
17524 XM
(krb_random_key)SH
/NewCenturySchlbk-Roman SF
26334 XM
(should call the)49 W
/NewCenturySchlbk-Italic SF
34231 XM
(krb_key_sched)SH
/NewCenturySchlbk-Roman SF
41858 XM
(routine when needed.)
49 W( No)405 W
8280 61362 MT
(meaningful value is returned.  Void is not used for compatibility with other compilers.)SH
/Courier SF
8280 62979 MT
(int krb_key_sched\050k, schedule\051)SH
13560 64093 MT
(C_Block *k;)5280 W
13560 65207 MT
(Key_schedule schedule;)1980 W
/NewCenturySchlbk-Italic SF
9091 67434 MT
(krb_key_sched)SH
/NewCenturySchlbk-Roman SF
16986 XM
(calculates a DES key schedule from all eight)
317 W( bytes of the input key,)316 W
8280 68671 MT
(pointed to by)
54 W( the)55 W
/NewCenturySchlbk-Italic SF
17368 XM
(k)SH
/NewCenturySchlbk-Roman SF
18341 XM
(argument, and outputs the schedule into the)55 W
/NewCenturySchlbk-Italic SF
41704 XM
(Key_schedule)SH
/NewCenturySchlbk-Roman SF
48806 XM
(indicated by)55 W
8280 69908 MT
(the)SH
/NewCenturySchlbk-Italic SF
10304 XM
(schedule)SH
/NewCenturySchlbk-Roman SF
15014 XM
(argument. Make sure to pass a valid eight byte key; no padding)
66 W( is done.  The)65 W
8280 71145 MT
(key schedule may then be used in subsequent)
102 W( encryption/decryption/checksum operations.)103 W
10 /Helvetica-Bold AF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 34 34 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 34, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
11 /NewCenturySchlbk-Roman AF
6120 8011 MT
(Many key schedules may be cached by the user for later use.  The user is responsible for)119 W
6120 9248 MT
(clearing keys and schedules as soon as they)
368 W( are no longer needed, to prevent their)369 W
6120 10485 MT
(disclosure. The)
700 W( routine also checks the key parity,)
197 W( and returns 0 if the key is good, -1)196 W
6120 11722 MT
(indicating a key parity error, or -2 indicating use of an illegal weak key.)
209 W( If an error is)210 W
6120 12959 MT
(returned, the key schedule was not created.)SH
/Courier SF
6120 14576 MT
(int pcbc_encrypt\050input, output, length, schedule, ivec, encrypt\051)SH
11400 15690 MT
(C_Block *input;)5280 W
11400 16804 MT
(C_Block *output;)5280 W
11400 17918 MT
(long length;)7260 W
11400 19032 MT
(Key_schedule schedule;)1980 W
11400 20146 MT
(C_Block *ivec;)5280 W
11400 21260 MT
(int encrypt;)7920 W
/NewCenturySchlbk-Italic SF
6931 23487 MT
(pcbc_encrypt)SH
/NewCenturySchlbk-Roman SF
13924 XM
(encrypts/decrypts using a modified)
212 W( block chaining mode.  It differs in its)211 W
6120 24724 MT
(error propagation characteristics from the DES cipher-block-chaining)
96 W( \050CBC\051 mode, in that)97 W
6120 25961 MT
(modification of)
207 W( a single bit of the ciphertext will affect ALL the subsequent \050decrypted\051)206 W
6120 27198 MT
(cleartext; whereas with CBC, modifying a)
33 W( single bit of the ciphertext, then decrypting, only)34 W
6120 28435 MT
(affects the resulting cleartext)
195 W( from the modified block and the succeeding block.  PCBC)194 W
6120 29672 MT
(mode, on encryption, "xors" both the cleartext of block N and the)
68 W( ciphertext resulting from)69 W
6120 30909 MT
(block N with the cleartext for block N+1 prior to encrypting block)
30 W( N+1.  By "ciphertext", we)29 W
6120 32146 MT
(mean ciphertext generated using the DES Electronic Code Book \050ECB\051 encryption mode.)SH
6931 34373 MT
(If the)61 W
/NewCenturySchlbk-Italic SF
10132 XM
(encrypt)SH
/NewCenturySchlbk-Roman SF
14205 XM
(argument is non-zero, the routine encrypts the)
61 W( cleartext data pointed to by)62 W
6120 35610 MT
(the)SH
/NewCenturySchlbk-Italic SF
8209 XM
(input)SH
/NewCenturySchlbk-Roman SF
11377 XM
(argument into the ciphertext pointed to by the)130 W
/NewCenturySchlbk-Italic SF
36334 XM
(output)SH
/NewCenturySchlbk-Roman SF
40073 XM
(argument, using the key)130 W
6120 36847 MT
(schedule provided by the)83 W
/NewCenturySchlbk-Italic SF
19373 XM
(schedule)SH
/NewCenturySchlbk-Roman SF
24100 XM
(argument, and initialization vector provided by the)83 W
/NewCenturySchlbk-Italic SF
51006 XM
(ivec)SH
/NewCenturySchlbk-Roman SF
6120 38084 MT
(argument. If)
446 W( the)70 W
/NewCenturySchlbk-Italic SF
15391 XM
(length)SH
/NewCenturySchlbk-Roman SF
18947 XM
(argument is not an integral multiple of eight bytes, the last block)70 W
6120 39321 MT
(is copied zero filled \050highest addresses\051.  The output is always an integral multiple)
52 W( of eight)53 W
6120 40558 MT
(bytes.)SH
6931 42785 MT
(If)SH
/NewCenturySchlbk-Italic SF
8160 XM
(encrypt)SH
/NewCenturySchlbk-Roman SF
12280 XM
(is zero, the routine decrypts the \050now\051 ciphertext data pointed)
108 W( to by the)107 W
/NewCenturySchlbk-Italic SF
50188 XM
(input)SH
/NewCenturySchlbk-Roman SF
6120 44022 MT
(argument into \050now\051 cleartext pointed to by the)148 W
/NewCenturySchlbk-Italic SF
31688 XM
(output)SH
/NewCenturySchlbk-Roman SF
35445 XM
(argument using the key schedule)149 W
6120 45259 MT
(provided by the)10 W
/NewCenturySchlbk-Italic SF
14343 XM
(schedule)SH
/NewCenturySchlbk-Roman SF
18997 XM
(argument, and initialization vector provided by the)10 W
/NewCenturySchlbk-Italic SF
45391 XM
(ivec)SH
/NewCenturySchlbk-Roman SF
47620 XM
(argument.)SH
6120 46496 MT
(Decryption ALWAYS)
109 W( operates on integral multiples of 8 bytes, so it will round the)110 W
/NewCenturySchlbk-Italic SF
49740 XM
(length)SH
/NewCenturySchlbk-Roman SF
6120 47733 MT
(provided up to the appropriate multiple. Consequently, it will always produce the rounded-)42 W
6120 48970 MT
(up number)
282 W( of bytes of output cleartext. The application must determine if the output)283 W
6120 50207 MT
(cleartext was zero-padded due to original cleartext lengths that)
30 W( were not integral multiples)29 W
6120 51444 MT
(of 8.)SH
6931 53671 MT
(No errors)
213 W( or meaningful values are returned.  Void is not used for compatibility with)214 W
6120 54908 MT
(other compilers.)SH
/Courier SF
6120 56525 MT
(unsigned long quad_cksum\050input, output, length, out_count, seed\051)SH
11400 57639 MT
(C_Block *input;)5280 W
11400 58753 MT
(C_Block *output;)5280 W
11400 59867 MT
(long length;)7260 W
11400 60981 MT
(int out_count;)7920 W
11400 62095 MT
(C_BLOCK *seed;)5280 W
/NewCenturySchlbk-Roman SF
6931 64322 MT
(The)SH
/NewCenturySchlbk-Italic SF
9251 XM
(quad_cksum)SH
/NewCenturySchlbk-Roman SF
15992 XM
(routine is)
57 W( based on the Quadratic Congruential Manipulation Detection)56 W
6120 65559 MT
(Code described by Jueneman et al.)408 W
/NewCenturySchlbk-Italic SF
27219 XM
(quad_cksum)SH
/NewCenturySchlbk-Roman SF
34311 XM
(produces a checksum by)
408 W( chaining)409 W
6120 66796 MT
(quadratic operations on the cleartext data pointed to by the)164 W
/NewCenturySchlbk-Italic SF
38343 XM
(input)SH
/NewCenturySchlbk-Roman SF
41545 XM
(argument. The)163 W
/NewCenturySchlbk-Italic SF
49740 XM
(length)SH
/NewCenturySchlbk-Roman SF
6120 68033 MT
(argument specifies the length of the input)
72 W( -- only exactly that many bytes are included for)73 W
6120 69270 MT
(the checksum, without any padding.)SH
6931 71497 MT
(The algorithm may be iterated over the same input data, if)
15 W( the)14 W
/NewCenturySchlbk-Italic SF
39326 XM
(out_count)SH
/NewCenturySchlbk-Roman SF
44579 XM
(argument is 2, 3)14 W
10 /Helvetica-Bold AF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Page: 35 35 
BS
0 SI
10 /Helvetica-Bold AF
8280 4329 MT
(Athena Technical Plan)SH
44575 XM
(Section E.2.1, page 35)SH
11 /NewCenturySchlbk-Roman AF
8280 8011 MT
(or 4, and the optional)56 W
/NewCenturySchlbk-Italic SF
19755 XM
(output)SH
/NewCenturySchlbk-Roman SF
23420 XM
(argument is a non-null pointer .)
56 W( The)
420 W( default is one iteration,)57 W
8280 9248 MT
(and it will not run more than 4 times. Multiple iterations run)
68 W( slower, but provide a longer)67 W
8280 10485 MT
(checksum if desired. The)110 W
/NewCenturySchlbk-Italic SF
21640 XM
(seed)SH
/NewCenturySchlbk-Roman SF
24193 XM
(argument provides an 8-byte seed for the)
110 W( first iteration.  If)111 W
8280 11722 MT
(multiple iterations are requested, the results of one iteration)
43 W( are automatically used as the)42 W
8280 12959 MT
(seed for the next iteration.)SH
9091 15186 MT
(It returns both an unsigned long checksum value, and if the)13 W
/NewCenturySchlbk-Italic SF
40020 XM
(output)SH
/NewCenturySchlbk-Roman SF
43643 XM
(argument is not a null)14 W
8280 16423 MT
(pointer, up to 16 bytes of the computed checksum are written into the output.)SH
9091 18650 MT
(Modifications to the algorithm described)
411 W( by Jueneman et al. are as follows.  The)410 W
8280 19887 MT
(accumulator \050referred)
96 W( to as Z in the paper\051 is 64 bits, as is its initial value \050referred to as)97 W
8280 21124 MT
(C\051; and the modulus N is 2**63)
53 W( - 1 rather than the suggested 2**31-1.  The optional secret)52 W
8280 22361 MT
(seed S is not implemented.)SH
10 /Helvetica-Bold AF
8280 75600 MT
(Kerberos Authentication and Authorization System)SH
49521 XM
(27 Oct 1988)SH
ES
%%Page: 36 36 
BS
0 SI
10 /Helvetica-Bold AF
6120 4329 MT
(Page 36, Section E.2.1)SH
42250 XM
(Athena Technical Plan)SH
11 SS 
6120 8002 MT
(References)SH
/NewCenturySchlbk-Bold SF
6120 10370 MT
(1.)SH
/NewCenturySchlbk-Roman SF
7547 XM
(Bauer, R.K., Berson, A., and Feiertag, R.J.  "A Key Distribution Protocol Using Event)SH
6120 11607 MT
(Markers".)SH
/NewCenturySchlbk-Italic SF
11803 XM
(ACM Transactions on Computer Systems 1)SH
/NewCenturySchlbk-Roman SF
(, 3 \050August 1983\051, 249-255.)SH
/NewCenturySchlbk-Bold SF
6120 13655 MT
(2.)SH
/NewCenturySchlbk-Roman SF
7669 XM
(Birrell, Andrew D. et. al.  "Grapevine: An Exercise in Distributed Computing".)SH
/NewCenturySchlbk-Italic SF
48135 XM
(CACM)SH
6120 14892 MT
(25)SH
/NewCenturySchlbk-Roman SF
(, 4 \050April 1982\051, 260-274.)SH
/NewCenturySchlbk-Bold SF
6120 16940 MT
(3.)SH
/NewCenturySchlbk-Roman SF
7669 XM
(Birrell, A.D.  "Secure Communication Using Remote Procedure Calls".)SH
/NewCenturySchlbk-Italic SF
43992 XM
(ACM)SH
6120 18177 MT
(Transactions on Computer Systems 3)SH
/NewCenturySchlbk-Roman SF
(, 1 \050February 1985\051, 1-14.)SH
/NewCenturySchlbk-Bold SF
6120 20225 MT
(4.)SH
/NewCenturySchlbk-Roman SF
7669 XM
(Denning, Dorothy E. and Sacco, Giovanni Maria.  "Timestamps in Key Distribution)SH
6120 21462 MT
(Protocols".)SH
/NewCenturySchlbk-Italic SF
12112 XM
(CACM 24)SH
/NewCenturySchlbk-Roman SF
(, 8 \050August 1981\051, 533-536.)SH
/NewCenturySchlbk-Bold SF
6120 23510 MT
(5.)SH
/NewCenturySchlbk-Roman SF
7669 XM
(National Bureau of Standards.  "DES Modes of Operation".)SH
/NewCenturySchlbk-Italic SF
38328 XM
(Federal Information)SH
6120 24747 MT
(Processing Standards Publication 81)SH
/NewCenturySchlbk-Roman SF
25152 XM
(\0501980\051.)SH
/NewCenturySchlbk-Bold SF
6120 26795 MT
(6.)SH
/NewCenturySchlbk-Roman SF
7669 XM
(National Bureau of Standards.  "Data Encryption Standard".)SH
/NewCenturySchlbk-Italic SF
39290 XM
(Federal Information)SH
6120 28032 MT
(Processing Standards Publication 46)SH
/NewCenturySchlbk-Roman SF
25152 XM
(\0501977\051.)SH
/NewCenturySchlbk-Bold SF
6120 30080 MT
(7.)SH
/NewCenturySchlbk-Roman SF
7669 XM
(Gifford, D.K.  "Cryptographic Sealing for Information Secrecy and Authentication".)SH
/NewCenturySchlbk-Italic SF
6120 31317 MT
(CACM 25)SH
/NewCenturySchlbk-Roman SF
(, 4 \050April 1982\051, 274-286.)SH
/NewCenturySchlbk-Bold SF
6120 33365 MT
(8.)SH
/NewCenturySchlbk-Roman SF
7669 XM
(Girling, C. G.)SH
/NewCenturySchlbk-Italic SF
15113 XM
(Representation and Authentication on Computer Networks)SH
/NewCenturySchlbk-Roman SF
(. Ph.D.)
306 W( Th.,)SH
6120 34602 MT
(University of Cambridge, April 1983. Technical report 37.)SH
/NewCenturySchlbk-Bold SF
6120 36650 MT
(9.)SH
/NewCenturySchlbk-Roman SF
7669 XM
(Jaeger, Eric.  Protocol for Trusted Third Party Access Control.  Bachelor Thesis,)SH
6120 37887 MT
(Massachusetts Institute of Technology, February 1985.)SH
/NewCenturySchlbk-Bold SF
6120 39935 MT
(10.)SH
/NewCenturySchlbk-Roman SF
8178 XM
(Jueneman, R.R. et. al.  "Message Authentication".)SH
/NewCenturySchlbk-Italic SF
34194 XM
(IEEE Communications 23)SH
/NewCenturySchlbk-Roman SF
(, 9)SH
6120 41172 MT
(\050September 1985\051, 29-40.)SH
/NewCenturySchlbk-Bold SF
6120 43220 MT
(11.)SH
/NewCenturySchlbk-Roman SF
8056 XM
(Kent, Steven T.  Encryption-Based Protection Protocols for Interactive User-Computer)SH
6120 44457 MT
(Communications. Master)
306 W( Th., Massachusetts Institute of Technology,May 1976. MIT-LCS)SH
6120 45694 MT
(Tech Report TR-162.)SH
/NewCenturySchlbk-Bold SF
6120 47742 MT
(12.)SH
/NewCenturySchlbk-Roman SF
8178 XM
(Miller, Steven P.  Security for Local Area Networks.  Tech. Rept. TR-227, Digital)SH
6120 48979 MT
(Equipment Corporation, August, 1983.)SH
/NewCenturySchlbk-Bold SF
6120 51027 MT
(13.)SH
/NewCenturySchlbk-Roman SF
8178 XM
(Needham, R.M. and Herbert, A.J..)SH
/NewCenturySchlbk-Italic SF
26234 XM
(The Cambridge Distributed Computing System.)SH
/NewCenturySchlbk-Roman SF
6120 52264 MT
(Addison-Wesley, London, 1982.)SH
/NewCenturySchlbk-Bold SF
6120 54312 MT
(14.)SH
/NewCenturySchlbk-Roman SF
8178 XM
(Needham, R. M. and Schroeder M. D.  "Using Encryption for Authentication in Large)SH
6120 55549 MT
(Networks of Computers".)SH
/NewCenturySchlbk-Italic SF
19528 XM
(CACM 21)SH
/NewCenturySchlbk-Roman SF
(, 12 \050Dec 78\051, 993-999.)SH
/NewCenturySchlbk-Bold SF
6120 57597 MT
(15.)SH
/NewCenturySchlbk-Roman SF
8178 XM
(Neuman, Barry Clifford.  Sentry, A Discretionary Access Control Server.  Bachelor)SH
6120 58834 MT
(Thesis, Massachusetts Institute of Technology, May 1985.)SH
/NewCenturySchlbk-Bold SF
6120 60882 MT
(16.)SH
/NewCenturySchlbk-Roman SF
8178 XM
(Popek, Gerald J. and Kline, Charles S.  "Encryption and Secure Computer Networks".)SH
/NewCenturySchlbk-Italic SF
6120 62119 MT
(Computing Surveys 11)SH
/NewCenturySchlbk-Roman SF
(, 4 \050December 1979\051, 331-356.)SH
/NewCenturySchlbk-Bold SF
6120 64167 MT
(17.)SH
/NewCenturySchlbk-Roman SF
8178 XM
(Voydock, Victor L., and Kent, Stephen T.  "Security Mechanisms in High-Level)SH
6120 65404 MT
(Network Protocols".)SH
/NewCenturySchlbk-Italic SF
16840 XM
(Computing Surveys 15)SH
/NewCenturySchlbk-Roman SF
(, 2 \050June 1983\051, 135-171.)SH
10 /Helvetica-Bold AF
6120 75600 MT
(Kerberos Authentication and Authorization System)SH
47361 XM
(27 Oct 1988)SH
ES
%%Trailer
%%Pages: 36 
%%DocumentFonts: NewCenturySchlbk-Roman Helvetica Helvetica-Bold Symbol NewCenturySchlbk-Bold NewCenturySchlbk-Italic Times-Roman Helvetica-BoldOblique Courier NewCenturySchlbk-BoldItalic