home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Security / Security.zip / kerbefaq.zip / KERBEROS.FAQ
Internet Message Format  |  2003-03-13  |  37KB

  1. From ankh.iia.org!babbage.ece.uc.edu!news.kei.com!yeshua.marcam.com!zip.eecs.umich.edu!newsxfer.itd.umich.edu!uunet!noc.near.net!pad-thai.aktis.com!suan-la-chow-show.aktis.com!not-for-mail Sun Aug 28 10:17:11 1994
  2. Path: ankh.iia.org!babbage.ece.uc.edu!news.kei.com!yeshua.marcam.com!zip.eecs.umich.edu!newsxfer.itd.umich.edu!uunet!noc.near.net!pad-thai.aktis.com!suan-la-chow-show.aktis.com!not-for-mail
  3. From: bjaspan@cam.ov.com (Barry Jaspan)
  4. Newsgroups: comp.protocols.kerberos,comp.answers,news.answers
  5. Subject: Kerberos Users' Frequently Asked Questions 1.10
  6. Supersedes: <kerberos-faq/user_767032033@cam.ov.com>
  7. Followup-To: poster
  8. Date: 25 Aug 1994 15:55:54 -0400
  9. Organization: OpenVision Technologies
  10. Lines: 808
  11. Approved: news-answers-request@mit.edu
  12. Expires: 22 Sep 1994 19:55:53 GMT
  13. Message-ID: <kerberos-faq/user_777844553@cam.ov.com>
  14. NNTP-Posting-Host: suan-la-chow-show.aktis.com
  15. Summary: This document answers Frequently Asked Questions about the
  16.     Kerberos authentication system.  Read this before you post a
  17.     question to comp.protocols.kerberos or kerberos@athena.mit.edu.
  18. Xref: ankh.iia.org comp.protocols.kerberos:860 comp.answers:3348 news.answers:10027
  19.  
  20. Archive-name: kerberos-faq/user
  21. Version: 1.10
  22.  
  23. Kerberos Users' Frequently Asked Questions
  24. August 25, 1994
  25. Compiled by: Barry Jaspan, <bjaspan@cam.ov.com>
  26.              OpenVision Technologies
  27.  
  28.      Kerberos; also spelled Cerberus.  n.  The watch dog of
  29.      Hades, whose duty it was to guard the entrance--against
  30.      whom or what does not clearly appear; . . . it is known
  31.      to have had three heads. . .
  32.  
  33.         -Ambrose Bierce, The Enlarged Devil's Dictionary
  34.  
  35. This document answers Frequently Asked Questions about the Kerberos
  36. authentication system.  It is freely distributable.  Direct all
  37. responses and questions to bjaspan@cam.ov.com.  Most of the
  38. information presented here has been collected from postings to the
  39. comp.protocols.kerberos newsgroup (gatewayed to the mailing list
  40. kerberos@athena.mit.edu).
  41.  
  42. DISCLAIMER: OpenVision Technologies makes no representations about the
  43. suitability of this information for any purpose.  It is provided "as
  44. is" without express or implied warranty.  In particular, this document
  45. is not intended as legal advice for exporting Kerberos, DES, or any
  46. other encryption software.
  47.  
  48. Release Notes: Answer 1.7 has been updated with information from Joe
  49. Pato.  There is a new entry for TGV, Inc. in the Kerberos vendor list.
  50.  
  51. Questions addressed in this release:
  52.  
  53. 1.  Kerberos and its Many Incarnations
  54. ----------------------------------------------------------------------
  55.  
  56. (1.1)    What is Kerberos?  What is it good for?
  57. (1.2)    Where can I get Kerberos version 4 or 5?
  58. (1.3)    What is the current status of version 4?
  59. (1.4)    What is the current status of version 5?
  60. (1.5)    Are version 4 and version 5 compatible?
  61. (1.6)    How/why is Transarc's Kerberos different from MIT Kerberos V4?
  62.     Can they interoperate?
  63. (1.7)    How/why is OSF DCE Security different from MIT Kerberos V5?
  64.     Can they interoperate?
  65. (1.8)    How/why is DEC Ultrix Kerberos different from MIT Kerberos V4?
  66.     Can they interoperate?
  67. (1.9)    What is Bones?  What is it for?
  68.  
  69. 2.  Using and Administering Kerberos
  70. ----------------------------------------------------------------------
  71.  
  72. (2.1)    Can I use Kerberos for local password validation?
  73. (2.2)    What is the export status of Kerberos?
  74. (2.3)    How can I delete a principal from the database?
  75. (2.4)    What are the officially assigned Kerberos port numbers?
  76. (2.5)    Are there Kerberos versions of telnet and ftpd?
  77.     What other Kerberos clients exist?
  78. (2.6)    Why does rlogin print "Warning: No Kerberos tickets obtained"?
  79. (2.7)    What operating systems has Kerberos been ported to?
  80.     What vendors provide commercial support for Kerberos?
  81.  
  82. 3.  Building and Installing Kerberos
  83. ----------------------------------------------------------------------
  84.  
  85. (3.1)    Why do I get an error message from ld when make_commands is
  86.     executed?
  87. (3.2)    Why doesn't KRB5_defs.h exist when I build version 5?
  88. (3.3)    What is libkrb.a, and why can't ld find it?
  89.  
  90. 4.  Miscellaneous
  91. ----------------------------------------------------------------------
  92.  
  93. (4.1)    List references for Kerberos and network security in general.
  94. (4.2)    Where are archives of comp.protocols.kerberos (a.k.a 
  95.     kerberos@athena.mit.edu)?
  96.  
  97. ======================================================================
  98.  
  99. 1.  Kerberos and its Many Incarnations
  100. ----------------------------------------------------------------------
  101.  
  102. (1.1)    What is Kerberos?  What is it good for?
  103.  
  104. Kerberos is a network authentication system for use on physically
  105. insecure networks, based on the key distribution model presented by
  106. Needham and Schroeder.[3] It allows entities communicating over
  107. networks to prove their identity to each other while preventing
  108. eavsdropping or replay attacks.  It also provides for data stream
  109. integrity (detection of modification) and secrecy (preventing
  110. unauthorized reading) using cryptography systems such as DES.
  111.  
  112. Kerberos works by providing principals (users or services) with
  113. /tickets/ that they can use to identify themselves to other principals
  114. and secret cryptographic keys for secure communication with other
  115. principals.[1] A ticket is a sequence of a few hundred bytes.  These
  116. ticket can then be embedded in virtually any other network protocol,
  117. thereby allowing the processes implementing that protocol to be sure
  118. about the identity of the principals involved.
  119.  
  120. Practically speaking, Kerberos is mostly used in application-level
  121. protocols (ISO model level 7), such as TELNET or FTP, to provide user
  122. to host security.  It is also used, though less frequently, as the
  123. implicit authentication system of data stream (such as SOCK_STREAM) or
  124. RPC mechanisms (ISO model level 6).  It could also be used at a lower
  125. level for host to host security, in protocols like IP, UDP, or TCP
  126. (ISO model levels 3 and 4), although such implementations are
  127. currently rare, if they exist at all.
  128.  
  129. It is important to realize that Kerberos is a one-trick pony.  It
  130. provides for mutual authentication and secure communication between
  131. principals on an open network by manufacturing secret keys for any
  132. requestor and providing a mechanism for these secret keys to be safely
  133. propagated through the network.  Kerberos does not, per se, provide
  134. for authorization or accounting, although applications that wish to
  135. can use their secret keys to perform those functions securely.
  136. Kerberos also does not provide password validation for individual
  137. workstations unless care is taken; see question 2.1.
  138.  
  139. It is also important to understand the using Kerberos on time-sharing
  140. machines greatly weakens its protections, since a user's tickets
  141. are then only as secure as the 'root' account (read: not very).
  142. Furthermore, dumb terminals and most X terminals do not understand the
  143. Kerberos protocol and as a result their cable connections remain
  144. insecure.
  145.  
  146. (1.2)    Where can I get Kerberos version 4 or 5?
  147.  
  148. In the United States and Canada (*), Kerberos is available via
  149. anonymous FTP from athena-dist.mit.edu (18.71.0.38).  For specific
  150. instructions, cd to pub/kerberos and get the file README.KRB4 (for
  151. version 4) or README.KRB5_BETA4 (for version 5).  Note that *YOU WILL
  152. NOT BE ABLE TO RETRIEVE KERBEROS WITHOUT READING THIS FILE*.
  153.  
  154. Outside the United States, you can get Bones via anonymous ftp from
  155. ftp.funet.fi (128.214.6.100) in pub/unix/security/kerberos.  A DES
  156. library is available from the same place.  See question 1.9 for
  157. information on Bones.
  158.  
  159. (*) Kerberos and DES can be exported to Canada.  See question 2.2.
  160.  
  161. (1.3)    What is the current status of version 4?
  162.  
  163. With the release of patch level 10 on December 10, 1992, MIT Kerberos
  164. 4 is now in its final form.  MIT does not anticipate ever making a new
  165. Kerberos 4 release.
  166.  
  167. Several vendors provide their own versions of Kerberos which may
  168. contain improvements or extensions; see question 2.7.
  169.  
  170. (1.4)    What is the current status of version 5?
  171.  
  172. The newest version of MIT Kerberos V5 is beta 4 patchlevel 2, released
  173. 10 August 1994.  It contains numerous bug fixes, a new build system
  174. based on autoconf rather than imake, hand-coded ASN.1 parsers so that
  175. ISODE is not required, and many other additions and improvements.  MIT
  176. tested it on Ultrix, SunOS, Solaris, and Linux, and it has already
  177. been ported to other platforms.  
  178.  
  179. See question 1.2 for instructions on acquiring it.
  180.  
  181. (1.5)    Are version 4 and version 5 compatible?
  182.  
  183. No.  Versions 4 and 5 are based on completely different protocols.
  184. The MIT Kerberos V5 distribution contains some compatibility code,
  185. however: (a) there is a library which converts Kerberos V4 library
  186. calls into Kerberos V5 requests, so you can run many V4 programs in a
  187. V5 environment by relinking; (b) the Kerberos server can optionally
  188. service V4 requests; (c) there is a program to convert a V4 format
  189. Kerberos database to a V5 format database.  The names used by the V5
  190. library have a prefix "krb5_" so they do not conflict with the V4
  191. library.
  192.  
  193. (1.6)    How/why is Transarc's Kerberos different from MIT Kerberos V4?
  194.     Can they interoperate?
  195.  
  196. This is a fairly complex question, and this answer is known to be
  197. incomplete.  The issue is regularly discussed on the
  198. info-afs-kerberos@transarc.com mailing list; send mail to the -request
  199. list for subscriptions.
  200.  
  201. Years ago, the designers of AFS decided to implement their own
  202. security system based on the Kerberos specification instead of using
  203. the (then, not yet publicly available) MIT Kerberos V4.  As a result,
  204. Transarc's AFS Kerberos speaks a different protocol but also
  205. understands the MIT Kerberos V4 protocol.  They can, in principal,
  206. talk to each other; however, there are a sufficient number of annoying
  207. details and an insufficient number of advantages such that it may not
  208. be practical.
  209.  
  210. The two versions use a different string-to-key function (the algorithm
  211. that turns a password into a DES key); the AFS version uses the realm
  212. name as part of the computation while the MIT version does not.  A
  213. program that uses a password to acquire a ticket (e.g.  kinit or
  214. login) will only work with one version, unless it is hacked up to try
  215. both string-to-key algorithms.
  216.  
  217. The two versions also use a different method of finding Kerberos
  218. servers.  MIT Kerberos uses krb.conf and krb.realms to map hostnames
  219. to realms and realms to Kerberos servers.  AFS kaservers for a realm,
  220. by definition, are located on the AFS database servers and can
  221. therefore be located using /usr/vice/etc/CellServDB.  This means that
  222. a program built using the MIT Kerberos libraries will look in one
  223. place for the information while a program built using the AFS Kerberos
  224. libraries will look in another.  You can certainly set up all three
  225. files and use both libraries, but be sure that everything is
  226. consistent.
  227.  
  228. The two versions have a different password changing protocol, so you
  229. must use the correct 'kpasswd' program for the server you are talking
  230. to.  In general, AFS clients that talk directly to the kaserver use an
  231. Rx-based protocol, instead of UDP as with MIT Kerberos, so those AFS
  232. clients cannot talk to an MIT server.
  233.  
  234. In summary, AFS Kerberos and MIT Kerberos can interoperate once you've
  235. acquired a ticket granting ticket, which you can do with kinit (MIT)
  236. or klog (AFS).  With a tgt, Kerberos applications such as rlogin can
  237. talk to an MIT or AFS Kerberos server and achieve correct results.
  238. However, it is probably best to pick one implementation and use it
  239. exclusively
  240.  
  241. (1.7)    How/why is OSF DCE Security different from MIT Kerberos V5?
  242.     Can they interoperate?
  243.  
  244. DCE Security is based on Kerberos V5, and uses the same wire protocol.
  245. However, applications from two systems use the protocol in different
  246. ways, so the actual interoperability is limited.  Furthermore, DCE
  247. Security started from an early alpha release of V5 and the two
  248. versions have developed independently; there are therefore some minor
  249. incompatibilities that MIT and the OSF have agreed to resolve.  [Time
  250. frame?]
  251.  
  252. The DCE Security Server, secd, listens on UDP port 88 for standard
  253. Kerberos requests and responds appropriately.  Therefore, clients of
  254. MIT Kerberos can operate in a DCE environment without modification,
  255. assuming the DCE Security database contains the appropriate principals
  256. with the correct keys.
  257.  
  258. An MIT Kerberos V5 server cannot replace the DCE Security Server,
  259. however.  First, DCE applications communicate with secd via the DCE
  260. RPC.  Second, the DCE security model includes a Privilege Server (PS)
  261. that fills in the authorization field of a principal's ticket with
  262. DCE-specific data, and the DCE Security Server has a PS built in.  In
  263. order for the MIT Kerberos V5 server to support DCE clients it would
  264. need to talk to a stand-alone PS and, although the necessary
  265. information is available, no such PS presently exists.
  266.  
  267. As an additional complication, the DCE does not officially export the
  268. Kerberos V5 API; it only exports a DCE Security-specific API.
  269. Individual vendors are capable of providing the Kerberos V5 API if
  270. they wish, but unless they all do (which seems unlikely) Kerberos V5
  271. API applications will not be compile-time portable to pure DCE
  272. environments; only binaries will continue to work.
  273.  
  274. [Does secd provide all features of the MIT Kerberos server?  Is it
  275. guaranteed to do so?]
  276.  
  277. (1.8)    How/why is DEC Ultrix Kerberos different from MIT Kerberos V4?
  278.     Can they interoperate?
  279.  
  280. DEC ULTRIX contains Kerberos for a single reason, namely, to provide
  281. authenticated name service for the ULTRIX enhanced security option.
  282. It does not support user-level authentication in the normal manner.
  283.  
  284. DEC's version is essentially the same as (and derived from) MIT
  285. Kerberos V4 with a few changes.  The most significant change is that
  286. the ability to perform any kind of end-to-end user data encryption has
  287. been eliminated in order to comply with export restrictions.  Minor
  288. changes include the placement of ticket files (/var/dss/kerberos/tkt
  289. vs. /tmp) and the principal names used by some standard Kerberos
  290. services (e.g.: kprop vs. rcmd); there are probably other minor
  291. changes as well.
  292.  
  293. These changes make it annoying but not impossible to use DEC ULTRIX
  294. Kerberos in the normal way.  However, there is no reason at all to do
  295. so, because the MIT distribution supports ULTRIX directly.  [This may
  296. not be completely true.  I imagine that using ULTRIX Kerberos for
  297. enhanced security and MIT's Kerberos at the same time would cause
  298. problems.  Has anyone tried this?]
  299.  
  300. (1.9)    What is Bones?  What is it for?
  301.  
  302. Bones is a system that provides the Kerberos API without using
  303. encryption and without providing any form of security whatsoever.  It
  304. is a fake that allows the use of software that expects Kerberos to be
  305. present when it cannot be.
  306.  
  307. Why does it exist?  Kerberos is a network security system which relies
  308. on cryptographic methods for its security.  Since Kerberos' encryption
  309. system, DES, is not exportable, Kerberos itself cannot be exported or
  310. used outside of the United States in its original form.  (See question
  311. 2.2 for more information.)
  312.  
  313. As a partial solution to this problem, the Kerberos source code was
  314. modified by the addition of #ifdef NOENCRYPTION around all calls to
  315. DES functions.  Compiling this version with the symbol NOENCRYPTION
  316. defined results in a system that looks like Kerberos from an
  317. application's point of view but that does not require DES libraries
  318. (and, as a result, does not speak the real Kerberos protocol and does
  319. not provide any security).
  320.  
  321. The final piece in this puzzle is a program called "piranha" which
  322. takes the Kerberos sources and removes all of the calls to the
  323. encryption routines, replacing it with the code which was under #ifdef
  324. NOENCRYPTION, producing the system known as Bones.  Bones has the
  325. property that there is absolutely no question about whether or not it
  326. is legal to transport its sources across national boundaries, since it
  327. neither has any encryption routines nor any calls to encryption
  328. routines.
  329.  
  330. #ifdef NOENCRYPTION was not documented, and it was only intended to be
  331. used in the above manner.  Someone who tries compiling Kerberos with
  332. that #define has in some sense "voided the warranty", and will get
  333. something which is both (a) not secure and (b) not Kerberos.
  334.  
  335. 2.  Using and Administering Kerberos
  336. ----------------------------------------------------------------------
  337.  
  338. (2.1)    Can I use Kerberos for local password validation?
  339.  
  340. Yes, but only under certain circumstances and only if you are
  341. careful.
  342.  
  343. Requests for Kerberos ticket granting tickets (tgts) (e.g. from kinit
  344. or login) are sent in plaintext to the Kerberos server, which then
  345. responds with credentials encrypted in the requesting principal's
  346. secret key.  The program then attempts to decrypt the data with the
  347. supplied password and considers the authentication "successful" if the
  348. decryption appears to yield meaningful results (such as the correct
  349. principal name).
  350.  
  351. The problem here is that the requesting program cannot know for sure
  352. whether the decryption succeeded or, more importantly, whether the
  353. response actually came from the Kerberos server.  An attacker could,
  354. for example, walk up to an unattended machine and "log in" as a
  355. non-existent user.  Kerberos will eventually respond with an
  356. appropriate error, but the attacker can arrange for another program to
  357. deliver a fake response to login first; he then types the correct
  358. password (which he knows because he created the fake response in the
  359. first place) and succeeds in spoofing login.
  360.  
  361. The solution to this problem is for login to verify the tgt by using
  362. it to acquire a service ticket with a known key and comparing the
  363. results.  Typically, this means requesting an rcmd.<hostname> ticket,
  364. where <hostname> is the local hostname, and checking the response
  365. against the key stored in the machine's /etc/srvtab file.  If the keys
  366. match then the original tgt must have come from Kerberos (since the
  367. key only exists in the srvtab and the Kerberos database), and login
  368. can allow the user to log in.
  369.  
  370. The solution works only so long as the host has a srvtab containing an
  371. rcmd.<hostname> (or any other standard principal) entry.  This is fine
  372. for physically secure or single-user workstations, but does not work
  373. on public workstations in which anyone could access the srvtab file.
  374.  
  375. (2.2)    What is the export status of Kerberos?
  376.  
  377. [ This answer was written by John Gilmore of Cygnus Support.  It is
  378. not intended as legal advice and may contain errors. ]
  379.  
  380. The export status of Kerberos is unclear, largely because the export
  381. regulations are unclear in general.  There's an overview of cryptography
  382. export cases in http://www.cygnus.com/~gnu/export.html .
  383.  
  384. Export of technology is controlled by both the State Department and by
  385. the Commerce Department.  The two agencies' jurisdictions don't
  386. actually legally overlap, but nobody really knows which agency has
  387. jurisdiction over which products.  So there is a process by which you,
  388. as a potential exporter, can ask the State Department which agency
  389. controls your particular export.  It's called a Commodity Jurisdiction
  390. Request or CJR.  There is a "CJR Kit" for helping you to file CJR's
  391. available at ftp://ftp.cygnus.com/pub/export/cjr.kit .
  392.  
  393. The State Department has the power to regulate exports of even
  394. publicly available (published) materials, in apparent contradiction to
  395. the First Amendment.  The Commerce Department regulations (Commerce
  396. Control List) specifically exempts publicly available materials from
  397. export controls (section 779.3), allowing their export under `General
  398. License' GTDA, which requires no paperwork and is usable by everyone
  399. except a few hundred people or companies who have abused export
  400. controls in the past.  The State Department regulation (International
  401. Traffic in Arms Regulations, or ITAR) exempts `public domain
  402. information' (22 CFR 120.11) but fails to define `information'.  The
  403. State Department takes the position that software is not
  404. `information'.
  405.  
  406. Kerberos is an authentication system, and export of authentication
  407. software and hardware is controlled by the Commerce Department.
  408. However, the State Department has never formally said where the line
  409. between authentication and encryption is, so they are also apparently
  410. interested in Kerberos.
  411.  
  412. Cygnus Support filed a CJR for the Kerberos Bones software, and got
  413. back a formal notification that it was controlled by the Commerce
  414. Dept.  We then filed a CCATS request with the Commerce Department, and
  415. eventually found out that it is exportable to all destinations without
  416. paperwork under the GTDA license (because it is `publicly available'
  417. without charge on the Internet).  The formal documents are in
  418. ftp://ftp.cygnus.com/pub/export .  This just confirms what we all
  419. suspected anyway -- if you take the crypto out of Kerberos (which is
  420. how the Bones were generated), it's exportable.  The Bones are
  421. available at ftp://athena-dist.mit.edu/pub/kerberos; look at
  422. README.ftp for instructions.
  423.  
  424. Several companies, including DEC, have apparently gotten export
  425. licenses for *binaries* of Kerberos.  The DECathena product is
  426. licensed this way.  However, they had to make unspecified changes to
  427. the code, removing entry points that would allow people to do
  428. arbitrary encryption.
  429.  
  430. As for the exportability of full strength Kerberos in source code,
  431. nobody has apparently applied for this.  (Please let us know if
  432. you know of a case.)
  433.  
  434. I believe that the best bet for threading the export maze is to define
  435. and defend Kerberos as an authentication product, to get it past the
  436. State Department, and then to show that it is publicly available, to
  437. get it past the Commerce Department.  To do this, you actually have to
  438. be trying to export a publicly available version of Kerberos, though.
  439.  
  440. There is a bill pending in U.S. Congress, HR 3627, by Rep. Maria
  441. Cantwell, which would make export of Kerberos (and all other mass
  442. market and publicly available crypto software) legal.  Statements of
  443. support sent by email to `cantwell@eff.org' will be forwarded to Ms.
  444. Cantwell.  So far more than 5,000 such statements have been forwarded.
  445. More info on the bill is available at
  446. ftp://ftp.eff.org/Alerts/berman_cantwell.alert .  See also
  447. ftp://ftp.eff.org/eff/Issues/Crypto and Issues/Export .
  448.  
  449. Canada is considered a part of the United States for export control
  450. purposes so Kerberos can be exported to Canada without problems.
  451.  
  452. As for other countries besides the U.S., few countries control the
  453. export of encryption software, and even fewer control the import or
  454. use of encryption inside their countries.  Most of the countries that
  455. signed the COCOM treaty, before it was dissolved, controlled
  456. cryptography as a ``dual use'' item, meaning that commercial products
  457. that use crypto are fine, but military products are controlled as
  458. weapons.  There is a master list of crypto export control regulations
  459. compiled by George Washington University researchers, available from
  460. the Software Publishers' Association.
  461.  
  462. Copies of the Kerberos Bones with DES routines and calls added back in
  463. by foreign programmers are called `eBones', and are available by
  464. anonymous FTP from machines in Sweden, Germany, Israel, Finland,
  465. Australia, and France (so far); check with "archie".
  466.  
  467. (2.3)    How can I delete a principal from the database?
  468.  
  469. MIT Kerberos V4 does not include a single command to delete a Kerberos
  470. principal.  This was an intentional omission based on the assumption
  471. that by making deletion difficult, accidents were less likely to
  472. happen.  If you want to delete a principal, do "kdb_util dump", edit
  473. the ASCII dump with an editor, and do a "kdb_util load".  Obviously,
  474. you can write a shell script to make this more convenient.
  475.  
  476. The admin tools for AFS Kerberos, MIT Kerberos V5, and the DCE
  477. Kerberos have a simple delete request.
  478.  
  479. (2.4)    What are the officially assigned Kerberos port numbers?
  480.  
  481. The file src/prototypes/services.append in the MIT Kerberos
  482. distribution contains the commonly used port assignments.  This file
  483. is not the whole story, however.
  484.  
  485. "kerberos" has officially been moved to port 88, although people will
  486. have to listen on port 750 for some time to come, and assume
  487. that many servers won't be converted to listen to port 88 for some
  488. time.
  489.  
  490. "kerberos_master" and "krb_prop" have not been reserved, but they are
  491. only used for intra-site transactions so having them reserved probably
  492. isn't necessary.  Furthermore, both of their port numbers have already
  493. been assigned to other services, so requesting an official assignment
  494. will force them to change.
  495.  
  496. "eklogin", "kpop", and "erlogin" have not been officially reserved,
  497. but probably should be.  Their ports are not currently assigned to
  498. other services, so hopefully they will not have to change if an
  499. official assignment is requested.
  500.  
  501. (2.5)    Are there Kerberos versions of telnet and ftpd?
  502.  
  503. (a) TELNET.  An experimental Telnet Authentication Option has been
  504. defined, and is described in RFC1416.  A separate document, RFC1411,
  505. describes how that option is to be used with Kerberos V4, but no RFC
  506. exists for its use with Kerberos V5.  These RFC's only define how
  507. /authentication/ is to be performed; the standard for full encryption
  508. is still under development.
  509.  
  510. An implementation of Kerberos V4 telnet is available via anonymous ftp
  511. from ftp.uu.net, in /networking/telnet.91.03.25.tar.Z, but it predates
  512. both of the above-mentioned RFCs and is therefore almost certainly not
  513. compliant with them.  A Kerberos V5 telnet implementation, based on
  514. the 4.4BSD telnet/telnetd, also exists but has been temporarily
  515. removed from the MIT V5 beta 2 release (probably because it also does
  516. not comply with the proposed standards).
  517.  
  518. (b) FTP.  The IETF Common Authentication Technology (CAT) Working
  519. Group has published the Internet Draft "FTP Security Extensions"
  520. <draft-ietf-cat-ftpsec-05.txt> which defines Kerberos V4 and GSS-API
  521. authentication systems.  Source code for a Kerberos V4 ftp/ftpd with
  522. the extensions is available via anonymous FTP:
  523.  
  524.     thumper.bellcore.com:pub/lunt/ftp_ftpd.tar.Z
  525.  
  526. Please note that the extensions are still in the Draft stage and may
  527. change at any time, in incompatible ways.
  528.  
  529. (2.6)    Why does rlogin print "Warning: No Kerberos tickets obtained"?
  530.  
  531. Kerberos rlogin uses a standard Kerberos exchange to prove the
  532. identity of the user to the remote host, after which it uses the
  533. /etc/passwd and a .klogin file to determine whether the user is
  534. authorized to log in.
  535.  
  536. Since the user never types a password, klogind on the remote host
  537. cannot obtain a new ticket granting ticket.  The user's existing tgt
  538. cannot be used on the remote host, because MIT Kerberos V4 tickets are
  539. host-specific.  Therefore, even though the user has logged in to the
  540. remote host, there is no ticket granting ticket for the user available
  541. on the remote host.  The warning message is merely a reminder of this
  542. fact.
  543.  
  544. The most recent release of MIT Kerberos V4 (patchlevel 10) contains a
  545. system called "rkinit" that allows a user to obtain a ticket granting
  546. ticket on a remote machine.  Using this system, it is possible first
  547. to obtain a tgt on a machine and then log into it with Kerberos
  548. rlogin, thereby achieving a secure remote login with tickets.
  549. Alternatively, you use Kerberos V5 which has forwardable tickets.
  550. However, forwardable tickets do not seem to work in the current
  551. release of MIT Kerberos V5.
  552.  
  553. (2.7)    What operating systems has Kerberos been ported to?
  554.     What vendors provide commercial support for Kerberos?
  555.  
  556. The Kerberos vendor's list is maintained as a public service and is
  557. not intended as advertising.  Any vendor can submit an entry.  Entries
  558. will be edited for form and style.  Obviously, all of the "Added
  559. value" sections are incomplete; call the vendor for details.
  560.  
  561. NOTE: The current author of this list works for OpenVision
  562. Technologies, Inc.
  563.  
  564. ----------------------------------------
  565.  
  566. Vendor:        Cygnus Support
  567. Product:    Cygnus Network Security (CNS)
  568. Contact:    Simon Elphick
  569.         +1 415 903 1400  voice
  570.         +1 415 903 0122  fax
  571.         network-security@cygnus.com
  572. Last update:    4/20/94
  573.  
  574. Base version:    MIT Kerberos 4
  575. Added value:
  576.  
  577.     o technical support
  578.     o easier configuration and building
  579.     o much improved documentation
  580.     o many bug fixes
  581.     o full source code and easy-to-install binaries provided
  582.     o still freely available sourceware -- not proprietary
  583.  
  584. Availability:
  585.  
  586.     SPARC / SunOS 4.1.3:        available
  587.     SPARC / Solaris 2.3:        available
  588.     Sun-3 / SunOS 4.x        available
  589.     DECstation / Ultrix 4.2a    available
  590.     IBM RS/6000 / AIX 3.2        available
  591.     SGI / IRIX 4 and 5        available
  592.     i386 / SCO 3.2v4        available
  593.     HPPA / HPUX 8.07        available
  594.  
  595.     PC / Windows 3.1        beta test July '94 (client only)
  596.     Macintosh / System 7        beta test July '94 (client only)
  597.  
  598. Free availability of the CNS software:
  599.  
  600.     To obtain a copy of Cygnus Network Security, fax a request to:
  601.         +1 415 903 0122
  602.  
  603.     To satisfy export restrictions, the fax should state that you are a
  604.     U.S./Canadian citizen or permanent resident, and that the software is
  605.     exclusively for use in the United States/Canada.
  606.  
  607.     Cygnus will reply with information on how to access the CNS source,
  608.     binaries and documentation through anonymous ftp.
  609.  
  610. Future plans:
  611.     o MIT Kerberos 5 in December 94
  612.  
  613. ----------------------------------------
  614.  
  615. Vendor:        Digital Equipment Corporation
  616. Product:    DECathena
  617. Contact:    Susanna Wood
  618.         (508) 952-4399
  619.         wood@athena.tay.dec.com
  620. Last update:    4/11/94
  621.  
  622. Base version:    MIT Kerberos 4
  623.  
  624.     o integration into DECathena
  625.     o available world-wide
  626.  
  627. Availability:
  628.  
  629.     Alpha AXP OSF/1        available
  630.     DECstation Ultrix 4.x    available
  631.     VAXstation Ultrix 4.x    available
  632.     SunOS 4.x        available
  633.     HP-UX            available (client only)
  634.     RS/6000 AIX        available (client only)
  635.     MS-DOS            available (client only)
  636.     Windows            available (client only)
  637.  
  638. Notes:
  639.     o requires INGRES/SQL
  640.     o requires PC-NFS with MS-DOS or Windows
  641.  
  642. Future plans:
  643.     o MIT Kerberos 5
  644.  
  645. ----------------------------------------
  646.  
  647. Vendor:        OCSG, CyberSAFE Corporation
  648. Product;    OCSG Kerberos
  649. Contact:    Gene Egan
  650.         (206) 883-8721
  651.         genee@ocsg.com
  652. Last update:    4/1/94
  653.  
  654. Base version:    MIT Kerberos 5
  655. Added value:
  656.  
  657.     o forwardable tickets from rlogin, rcp, and rsh
  658.     o Kerberos 4 compatibility for rlogin, rcp, and rsh
  659.     o installation system
  660.     o administration GUI
  661.     o token card integration (Security Dynamics SecureID Card)
  662.     o DEC GSS-API
  663.  
  664. Availability:
  665.  
  666.     SunOS 4.x:        available
  667.     Solaris 2.3:        available
  668.     IBM RS/6000 AIX 3.2.5:    available
  669.     HP 9000 HP-UX 9.0:    available
  670.     NEXTSTEP 3.2 for Intel:    available
  671.     DEC Ultrix 4.3:        available
  672.  
  673.     Microsoft Windows 3.1:    available
  674.     MS-DOS 6.0:        available
  675.     Macintosh System 7:    available
  676.     OS/2:            available in May '94
  677.     NT:            available in June '94
  678.  
  679. Future plans:
  680.     o Support for additional platforms
  681.     o Kerberos Telnet, FTP, and AFS
  682.  
  683. ----------------------------------------
  684.  
  685. Vendor:        OpenVision Technologies, Inc.
  686. Product:    OpenV*Secure
  687. Contact:    Gregg Lebovitz
  688.         (617) 374-3700 (voice)
  689.         (617) 374-3715 (fax)
  690.         gregg@cam.ov.com
  691. Last update:    4/20/94
  692.  
  693. Base version:    MIT Kerberos 5
  694. Added value:
  695.  
  696.     o administration server (not based on Sandia's kadmin)
  697.     o easy-to-use remote administration GUI
  698.     o security policies (password minimum and maximum lifetime,
  699.     expiration, minimum length, character class mix, and history)
  700.     o Kerberos 4 compatibility
  701.     o OpenVision GSS-API (now part of the standard MIT release)
  702.     o Full documentation set
  703.     o 24x7 support
  704.  
  705. Availability:
  706.     
  707.     SunOS 4.1.3:    available
  708.     Solaris 2.3:    available
  709.     HP-UX 9.01:    available
  710.     AIX 3.2:    available
  711.  
  712. Future plans:
  713.     o FTP security with GSS-API
  714.     o Authorization
  715.     o Integration with other OpenVision products
  716.  
  717. ----------------------------------------
  718.  
  719. Vendor:        TGV, Inc.
  720.           101 Cooper Street
  721.           Santa Cruz, CA  95060
  722. Product:    MultiNet V3.3
  723. Contact:    (408) 457-5200
  724.         sales@tgv.com, info@tgv.com
  725. Last update:    7/15/94
  726.  
  727. Base version:    MIT Kerberos 4
  728.  
  729. Availability:
  730.     
  731.     DEC OpenVMS (VAX and Alpha AXP): available
  732.  
  733. 3.  Building and Installing Kerberos
  734. ----------------------------------------------------------------------
  735.  
  736. (3.1)    Why do I get an error message from ld when make_commands is
  737.     executed? 
  738.  
  739. The make_commands program (from the file util/ss/make_commands.c,
  740. around line 101) spawns ld as part of its normal operation.  The
  741. arguments to ld are hard-coded into the exec() call and are not
  742. correct for all systems.  To fix the problem, examine the call and
  743. determine the correct arguments for your environment; once you know
  744. the correct arguments, the change to the source code will be obvious.
  745.  
  746. (3.2)    Why doesn't KRB5_defs.h exist when I build version 5?
  747.  
  748. KRB5_defs.h, and other files like KRB5_tables.c, KRB5-types.h, and
  749. KRB5_pre_defs.h are created by the ISODE ASN.1 compiler, pepsy, from
  750. KRB5.py.  You therefore need to have ISODE built and you have to
  751. configure your site.def file so that the Makefiles know how to run the
  752. pepsy compiler.
  753.  
  754. Note that there's a bug in Sun's imake/cpp setup, so the Makefile that
  755. is generated in lib/asn.1 is broken.  KRB5-types.h is generated by the
  756. ISODE program pepsy; look in the makefile just before pepsy is called.
  757. It's fairly obvious where a tab character is missing.
  758.  
  759. (3.3)    What is libkrb.a, and why can't ld find it?
  760.  
  761. The MIT Kerberos V5 server (krb5kdc) can operate in a V4 compatibility
  762. mode in which it accepts and responds to standard V4 requests (see
  763. question 1.5).  In order to do so, it needs the V4 Kerberos library,
  764. libkrb.a.  That library is not part of the V5 distribution.  It is
  765. assumed that if you want V4 compatibility you already have V4 built
  766. and installed; see question 1.2 for information on obtaining V4.
  767.  
  768. To get krb5kdc to link properly, set the KRB4LIB variable in site.def
  769. to the path of your V4 library.  If you do not need V4 backwards
  770. compability, comment out the definition of Krb4KDCCompat in site.def.
  771. (Be sure to run "make clean" after changing anything in site.def to
  772. make sure everything is rebuilt correctly according to the new
  773. parameters.)
  774.  
  775. 4.  Miscellaneous
  776. ----------------------------------------------------------------------
  777.  
  778. (4.1)    List references for Kerberos and network security in general.
  779.  
  780. See the bibliography at the end of this document.
  781.  
  782. (4.2)    Where are archives of comp.protocols.kerberos (a.k.a 
  783.     kerberos@athena.mit.edu)?
  784.  
  785. Archives are available via anonymous FTP from athena-dist.mit.edu in
  786. the directory pub/kerberos/krb-mail.  The kerberos@athena.mit.edu
  787. archives prensently extend up to the end of 1992.  Some archives of
  788. the kerberos protocol mailing list are also available.
  789.  
  790. ----------------------------------------------------------------------
  791.  
  792. BIBLIOGRAPHY
  793.  
  794. The FTP site for a reference, when known, is listed in square brackets
  795. following the entry.  Yes, I know that these are not in Officially
  796. Blessed Bibliography Format.  Sue me.
  797.  
  798. [1] Jennifer G. Steiner, Clifford Neuman, Jeffrey I. Schiller.
  799. "Kerberos: An Authentication Service for Open Network Systems", USENIX
  800. Mar 1988.  [athena-dist.mit.edu:pub/kerberos/doc/usenix.PS]
  801.  
  802. [2] S. P. Miller, B. C. Neuman, J. I. Schiller, and J. H. Saltzer,
  803. "Kerberos Authentication and Authorization System", 12/21/87.
  804.  
  805. [3] R. M. Needham and M. D.  Schroeder, "Using Encryption for
  806. Authentication in Large Networks of Computers," Communications of the
  807. ACM, Vol.  21(12), pp. 993-999 (December, 1978).
  808.      
  809. [4] V. L. Voydock and S. T. Kent, "Security Mechanisms in High-Level
  810. Network Protocols," Computing Surveys, Vol.  15(2), ACM (June 1983).
  811.  
  812. [5] Li Gong, "A Security Risk of Depending on Synchronized Clocks",
  813. Operating Systems Review, Vol 26, #1, pp 49--53.
  814.  
  815. [6] S.M. Bellovin and M. Merritt, "Limitations of the Kerberos
  816. Authentication System," USENIX Jan 1991.
  817. [research.att.com:dist/internet_security/kerblimit.usenix.ps]
  818.  
  819. [7] Refik Molva, Gene Tsudik, Els Van Herreweghen, and Stefano Zatti,
  820. "KryptoKnight Authentication and Key Distribution System."
  821. [jerico.usc.edu:pub/gene/kryptoknight.ps.Z]
  822.  
  823. [8] C. Neumann and J. Kohl, "The Kerberos Network Authentication
  824. Service (V5)," RFC 1510, September 1993.
  825. -- 
  826. Barry Jaspan, bjaspan@security.ov.com
  827. OpenVision Technologies
  828.  
  829.