home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / lib / librpc / secure_rpc / README next >
Encoding:
Text File  |  1989-07-11  |  3.9 KB  |  93 lines

  1. Export restriction prohibit us from including DES encryption routines in RPCSRC
  2. 4.0.  The main RPCSRC 4.0 hierarchy does not include DES Authentication,
  3. however this directory contains the documentation and code used to build secure
  4. rpc.  THIS DISTRIBUTION OF SECURE RPC NEEDS EXTENSIVE WORK BEFORE IT CAN BE
  5. USED.  PLEASE READ THE PORTING GUIDLINES BELOW.
  6.  
  7. HIERARCHY
  8.  
  9. bin/
  10.  
  11.     This directory contains chkey and keylogin. These are user programs
  12.     used to establish the credentials of an RPC user.
  13.  
  14. demo/
  15.     The 'whoami' service is found here.  It can be used to test secure RPC.
  16.     rpcgen is used to build the client and server.
  17.  
  18. des/
  19.  
  20.     des_crypt.h defines the interfaces to cbc_crypt() and ecb_crypt(),
  21.     the DES routines used by DES Authentication.
  22.     des.h defines the desparams structure that is used internally by
  23.     these routines.  Secure RPC expects it to be installed in
  24.     /usr/include/sys.
  25.     des_crypt.c defines the cbc_crypt() and ecb_crypt() routines.  These
  26.     eventually call the routine _des_crypt(), which is *not* provided.
  27.     des_soft.c contains the des_setparity() routine.
  28.  
  29. doc/
  30.  
  31.     The document "nfs.secure.ms" is found here. It describes Secure
  32.     RPC and Secure NFS.
  33.  
  34. keyserv/
  35.  
  36.     This is an RPC based program that stores the private keys for
  37.     users that are using secure RPC.
  38.  
  39. man/
  40.  
  41.     Manual pages for the programs and library routines are found here.
  42.  
  43. rpc/
  44.  
  45.     The routines in this directory should be integrated with the
  46.     default rpc directory to make a single RPC library.  The Makefile
  47.     found in this directory replaces the one in ../rpc.  Note: the file
  48.     svc_auth.c in this directory replaces the one in ../rpc.  Also, the
  49.     file ../rpc/rpc.h should be edited to include the file <rpc/des_auth.h>
  50.     (it presently is commented out).
  51.  
  52. PORTING GUIDELINES
  53.  
  54. You will need to provide a DES encryption routine.  man/des_crypt.3 describes
  55. the interface to ecb_crypt() and cbc_crypt() (secure RPC uses both modes).  The
  56. des/ directory has the "front-end" for these routines in the des_crypt.c file.
  57.  
  58. Since public key authentication systems require a network global data lookup
  59. facility, this implementation uses Sun's Yellow Pages.  If your site does not
  60. have Yellow Pages, you will have to modify the routines in rpc/publickey.c and
  61. bin/chkey.c.  One possible approach is to replace the YP calls with code to
  62. read the file /etc/publickey; this file would presumably be shared by all
  63. secure RPC sites via NFS or some equivalent file sharing facility.  If you wish
  64. to implement YP yourself, the RPCL (.x) protocol description file can be found
  65. in ../rpcsvc/yp.x.
  66.  
  67. The routines in rpc/ and keyserv/ assume that the file des/des_crypt.h
  68. is installed in /usr/include (they include <des_crypt.h>).  The file
  69. des/des_crypt.c assumes that des.h is installed in /usr/include/sys (it
  70. include <sys/des.h>).  The des/ directory does not have a Makefile that
  71. would install these header files, so you will either have to do this
  72. by hand, or modify the routines to include the header files in a way suitable
  73. for your site.
  74.  
  75. While the programs in bin/ and keyserv/ can be built in place (assuming
  76. the header files they include and the RPC library are available), the files
  77. in rpc/ must be moved into ../rpc/, the main RPC library.  The Makefile and
  78. svc_auth.c found in rpc/ will replace those found in ../rpc/.  You must also
  79. edit ../rpc/rpc.h to include <rpc/des_auth.h>.
  80.  
  81. OPERATION
  82.  
  83. Please read the documentation and manual pages for information on how to
  84. administer secure RPC.
  85.  
  86. In the demo/ directory you'll find the 'whoami' service.  This service uses DES
  87. Authentication, and can be used to check out secure RPC.  The client program,
  88. 'rme' takes a host as an argument.  This host must be running the keyserv
  89. daemon and the 'whoami_svc' server.  The service returns the identity of the
  90. client-user as known to the system on which the server is running.  This
  91. information is only returned, however, if the client request has proper DES
  92. credentials.
  93.