home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_i / draft-ietf-ids-iwps-schema-spec-03.txt < prev    next >
Text File  |  1997-01-21  |  18KB  |  424 lines

  1.  
  2.                                                       T. Genovese
  3.                                                         Microsoft
  4.  
  5.                                                  Barbara Jennings
  6.                                        Sandia National Laboratory
  7.  
  8.                                                                                                            
  9.                                                    10 January 1997
  10.                                                Expires:  July 1997
  11.  
  12.  
  13.       A Common Schema for the Internet White Pages Service
  14.       File Name: draft-ietf-ids-iwps-schema-spec-03.txt
  15.  
  16. Status of this Memo
  17.  
  18. This document is an Internet-Draft.  Internet-Drafts are working
  19. documents of the Internet Engineering Task Force (IETF), it areas,
  20. and its working groups.  Note that other groups may also distribute
  21. working documents as Internet-Drafts.
  22.  
  23. Internet-Drafts are draft documents valid for a maximum of six months
  24. and may be updated, replaced, or obsoleted by other documents at any
  25. time.  It is inappropriate to use Internet-Drafts as reference
  26. material or to cite them other than as "work in progress".
  27.  
  28. To learn the current status of any Internet-Draft, please check the
  29. "1id-abstracts.txt" listing contained in the Internet-Drafts
  30. Shadow Directories on ds.internic.net (US East Coast), nic.nordu.net
  31. (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au  (Pacific Rim).
  32.  
  33.  
  34. Overview
  35.  
  36. The work is the result of the IETF Integrated Directory Services (IDS) 
  37. Working Group which proposes to establish a specification for a simple 
  38. Internet white pages service.  To facilitate this effort it would be 
  39. helpful to have a common schema used by the various white page servers.  
  40. This document is designed to specify the basic set of attributes to be 
  41. used for a white page entry for an individual.  It describes how new 
  42. objects can be defined and registered.  This schema is independent of 
  43. specific implementations of the White Page service.
  44.  
  45. This document does not describe how to represent other objects in the 
  46. White page service. Further it does not address the search/sort expectations
  47. within a particular service. 
  48.  
  49. 1.0 Introduction
  50.  
  51. The Internet community has stated that there is a need for the 
  52. development and deployment of a White Page service.  This service 
  53. would be used to locate information about people in the Internet[PA94].  
  54. To facilitate interoperability and a common user expectation the
  55. Internet White Pages Service (IWPS) needs to have a common set of 
  56. information about each person.
  57.  
  58. This Document will focus only on common information modeling issues to 
  59. which all IWPS providers must conform.  To insure a consistent user 
  60. experience of this service we need to define a common user object.  This 
  61. will allow a user to go between different implementations of the service 
  62. and have a consistent expectation as to what information can be found about 
  63. people on the Internet.  Developers of this service need to have an 
  64. unambiguous method of representing the Information objects managed by 
  65. the service.  This will help facilitate interoperability and data management.
  66.  
  67. 2.0 Scope
  68.  
  69. This document will establish the set of attributes that specify the common
  70. user information object for the IWPS.  It will not attempt to be an 
  71. exhaustive specification of all objects that will be stored in the IWPS. 
  72. The process used by this document to define the user object will be used to
  73. define all other information objects used in the IWPS.
  74.  
  75. All conforming implementations must support at the minimum, the core 
  76. attributes listed in Appendix A.  Implementations may include additional 
  77. local attributes and be considered in conformance as long as they support
  78. the core set of attributes.
  79.  
  80. This document will not specify rules with respect to information privacy.
  81. Each country has its own set of laws and practices.  Work covering
  82. this area was done by North American Directory Forum (NADF) [NADF92].  In 
  83. this are recommendations for registrants rights for both the USA and Canada.
  84.  
  85. 3.0 IWPS Schema Considerations
  86.  
  87. The information object description requirements for the IWPS 
  88. consists of the following:
  89.  
  90.               1. Syntax for definition/representation of Information
  91.                  Object Templates.
  92.               2. Registration procedures for information object
  93.                  Templates, etc.
  94.               3. Database structure or schema.
  95.  
  96. Items 1 and 2 will be covered in this Document.  Database structure
  97. can potentially restrict implementations (i.e. X.500 schema based verses 
  98. DNS schema based) and will not be defined in this document.  This area is 
  99. a separate Research topic and will be covered in its own document.
  100.  
  101. 3.1 Syntax for Definition/Representation of Information objects
  102.  
  103. A clear, precise and consistent method must be used when information
  104. object Templates and their associated attributes are discussed within 
  105. the context of IWPS.  There are two possible methods to do this. i.e.
  106.  
  107.               1.  BNF
  108.               2.  ASN.1
  109.  
  110. The Working Group has recommended the use of BNF. BNF is widely used by
  111. the Internet community and is well understood.  It is used by the 
  112. LDAP work on attribute definitions.  This document makes use of the 
  113. previously defined syntaxes use by LDAP.  They are included in Appendix
  114. B for convenience. 
  115.  
  116. The use of Object inheritance is not used or specified by this document.  
  117. The IWP person object specifies a set of recommended attributes that a 
  118. White Page Service should include.  This draft suggests storage sizes, 
  119. but does not recommend storage types.  Storage of user attributes is a
  120. local issue.  The Syntax listed with the attributes are provided so the 
  121. developers of user interfaces (UIs) may have a consistent expectation.  
  122. This document does not specify a Directory access protocol (i.e. whoi++, 
  123. LDAP, DAP, etc.) or how the UI is to display these attributes.
  124.  
  125. Attributes that contain textual information that must be split over multiple
  126. lines (i.e. Postal address) will use the procedure defined in RFC 822 in 
  127. section 3.1.1 on "folding" long header lines [RFC-822].
  128.  
  129. For International localization it is recommended that attributes (except 
  130. email addresses) used to identify people must follow the DirectoryString 
  131. syntax defined by LDAP [LDAP-A].
  132.  
  133. 3.2 Publishing of IWPS Information object Templates.
  134.  
  135. The Working Group recommends that all information object Templates
  136. used for the IWPS be published as an RFC at the mimimum. To facilitate 
  137. distribution of IWPS information object Templates they should be made 
  138. available on the Internet information server (i.e. InterNIC).
  139.  
  140. Individual organizations may define information object Templates that
  141. are only local in scope.  This may be needed to meet local
  142. organizational needs.  All information that the organization wishes 
  143. to be part of the IWPS must use an IWPS published information object 
  144. Template.
  145.  
  146. 4.0 Data Privacy
  147.  
  148. Each country and within the US, each state, has legislation defining
  149. information privacy.  The suggested attributes in Appendix A may be
  150. considered private and the directory administrator is stongly advised
  151. to verify the privacy legislation for his domain.
  152.  
  153. As suggested in RFC 1355 (4) each Directory provider should provide a 
  154. clear statement of the purpose of the directory, the information that 
  155. will be contained in it, and a privacy policy associated with the 
  156. information that is stored within the directory. This policy should
  157. include restrictions for data dissimenation.
  158.  
  159. This policy is strongly recommended for the US and Canada and required 
  160. for many counties in the European Community for data sharing.
  161.  
  162. 5.0 Data Integrity
  163.  
  164. Data Integrity was first addressed in RFC1107 [KS89].  Which states, 
  165. that if the information is out of date it is useless and the service 
  166. will not be used.  Therefore, a clear requirement is that any production 
  167. IWPS provider must insure that all data is reasonably correct and current.
  168.  
  169. Ancillary attributes have been included which state the source of origin 
  170. and the current party responsible for the data in addition to date; 
  171. such that the owner and the freshness of the data can be easily determined.
  172.  
  173. To facilitate the user in determining the quality of the data that
  174. has been retrieved it is recommended that the optional Ancillary
  175. attributes of the IWPS person Template be supported.  This would require 
  176. that the IWPS User Agent be able to retrieve and display this 
  177. information.  This may be done as a separate operation from the fetch 
  178. of the information object. The Ancillary Attributes are defined in 
  179. Appendix A.  It is further recommended that any new information object 
  180. Template include as a minimum the Ancillary attributes as an optional 
  181. set of attributes.  It would then be left to the IWPS servers to 
  182. optionally support the storage and retrieval of this data.
  183.  
  184. The Ancillary attributes have been designed to provide the following 
  185. information about the information object with which it is associated:
  186.  
  187.               1.  The date and time the entry was created; Creation Date. 
  188.  
  189.               2.  Owner or individual responsible for the data creation;
  190.                   Creator Name. 
  191.  
  192.               3.  The date and time of the last modification; 
  193.                   Modified Date.
  194.  
  195.               4.  Individual responsible forthe last modification; 
  196.                   Modifier Name.
  197.  
  198.  
  199. 6.0 References
  200.  
  201.    [Davis] M. Davis, UTF-8, (WG2 N1036) DAM for ISO/IEC 10646-1.
  202.  
  203.    [LDAP-A] Wahl, M., Coulbeck, A., Howes, T., Kille, S., "Lightweight
  204.    Directory Access Protocol: Standard and Pilot Attribute Definitions",
  205.    Draft-ietf-asid-ldapv3-attributes-01.txt, June, 1996
  206.  
  207.    [KS89]  Sollins, K., "A Plan for Internet Directory Services", RFC
  208.    1107, Laboratory for Computer Science, MIT, July 1989.
  209.  
  210.    [NADF92] North American Directory Forum, "User Bill of Rights for
  211.     entries and listings in the Public Directory', RFC 1295,
  212.     North American Directory Forum, January 1992.
  213.  
  214.    [PA94]  Postel, J., Anderson, C., "WHITE PAGES MEETING REPORT", RFC
  215.    1588, University of Southern California, February 1994.
  216.  
  217.    [RFC-822] Crocker, D., "Standard for the Format of  ARPA  Internet  
  218.    Text Messages", STD 11, RFC 822, August 1982.
  219.  
  220.    [UCS] Universal Multiple-Octet Coded Character Set (UCS) - Architecture
  221.    and Basic Multilingual Plane, ISO/IEC 10646-1 : 1993.
  222.  
  223. 7.0 Authors Address
  224.  
  225.    Tony Genovese
  226.    The Microsoft Corporation
  227.    One Microsoft way
  228.    Redmond, Washington 98007
  229.    USA
  230.  
  231.    Phone: (206) 703-0852
  232.    EMail: TonyG@Microsoft.com
  233.  
  234.    Barbara Jennings
  235.    Sandia National Laboratories
  236.    Albuquerque, New Mexico 87106
  237.    USA
  238.  
  239.    Phone:  (505) 845-8554
  240.    EMail:  jennings@sandia.gov
  241.  
  242.  
  243.  
  244. Appendix A Information Object Template Definitions
  245.  
  246. This appendix contains the IWPS Person Information Object Template 
  247. and its associated attributes.  The Person Object is a simple list 
  248. of attributes, no structure or object inheritance is implied.  All 
  249. size recommendations are in bytes.  
  250.  
  251. The following size recommendations should be used as an indication 
  252. of the largest size of a particular attribute that an IWPS client 
  253. application would see in practice.  In particular instances, actual 
  254. user attributes may be larger or smaller than these recommendations,
  255. and applications should be written to accept any size attribute returned
  256. from a server.
  257.  
  258. -- SPECIAL CONSIDERATIONS --
  259.  
  260. Phone number:  the full international form is recommended; 
  261.                i.e. +1 206 703 0852.  The field may contain
  262.                additional information following the phone
  263.                number.  For example:
  264.  
  265.                         +1 800 sky page #123456
  266.                         +1 882 8080 ext 30852
  267.  
  268. Email address: Is multivalued and uses the otherMailbox syntax
  269.                to identify the different email addresses.
  270.  
  271. Certificate:   Is multivalued.
  272.  
  273. Common Name:   Is multivalued. 
  274.  
  275. -- THE INFORMATION OBJECT TEMPLATE FOR THE IWPS PERSON --
  276.  
  277. --General Attributes --
  278.  
  279.       Field Name         Size          Syntax
  280.  
  281.       Email               360          otherMailbox
  282.       Cert               4000          Certificate
  283.       Home Page           128          URI
  284.       Common Name          64          DirectoryString
  285.       Given Name           48          DirectoryString
  286.       Surname              48          DirectoryString
  287.       Organization         64          DirectoryString
  288.       Locality             20          DirectoryString
  289.       Country              02          DirectoryString (ISO3166)
  290.       Language Spoken      02          DirectoryString (ISO 639)
  291.  
  292. --Personal Attributes
  293.  
  294.       Telephone Number     30          PrintableString
  295.       Fax                  30          PrintableString
  296.       Mobile Phone         30          PrintableString
  297.       Pager Number         30          PrintableString
  298.       Postal Address       255         PostalAddress
  299.       Description          255         DirectoryString
  300.   
  301. --Organizational Attributes
  302.  
  303.       Title                 64         DirectoryString
  304.       Office Phone          30         PrintableString
  305.       Office Fax            30         PrintableString
  306.       Office Mobile Ph      30         PrintableString
  307.       Office Pager          30         PrintableString
  308.       Postal Address       255         PostalAddress
  309.       
  310. --Security
  311.  
  312.       Password              64         Password
  313.  
  314. --Ancillary
  315.  
  316.       Creation Date         24         GeneralizedTime
  317.       Creator Name         255         URI 
  318.       Modified Date         24         GeneralizedTime 
  319.       Modifier Name        255         URI
  320.  
  321. Appendix B IWPS Person Information Object Template Syntaxes
  322.  
  323. This Appendix contains the definitions of the syntaxes used by the 
  324. IWPS Person Information Object Template.  They are copied in whole 
  325. from the LDAP attribute working document. Some modification to the 
  326. LDAP attribute text was done for completeness.
  327.  
  328. Certificate:
  329.  
  330.    Do to differences from version X.509(1988) and X.509(1993) and additional 
  331.    changes to the ASN.1 definition to support certificate extensions, no 
  332.    string representation is defined, and values with Certificate syntax 
  333.    must only be transferred using the binary encoding, by requesting or 
  334.    returning the attributes with descriptions "userCertificate;binary" or 
  335.    "caCertificate;binary".  The BNF notation in RFC 1778 for 
  336.    "User Certificate" is not recommended to be used.
  337.  
  338. DirectoryString:
  339.  
  340.    A string with DirectoryString syntax is encoded in the UTF-8 form of 
  341.    ISO 10646 (a superset of Unicode).  Servers and clients must be prepared to 
  342.    receive arbitrary Unicode characters in values.
  343.  
  344.    For characters in the PrintableString form, the value is encoded as the 
  345.    string value itself.
  346.  
  347.    If it is of the TeletexString form, then the characters are transliterated
  348.    to their equivalents in UniversalString, and encoded in UTF-8 [Davis].
  349.  
  350.    If it is of the UniversalString or BMPString forms [UCS], UTF-8 is used to 
  351.    encode them.  
  352.  
  353.    Note: the form of DirectoryString is not indicated in protocol unless the
  354.    attribute value is carried in binary.  Servers which convert to DAP must 
  355.    choose an appropriate form.  Servers must not reject values merely because 
  356.    they contain legal Unicode characters outside of the range of printable 
  357.    ASCII.
  358.  
  359. GeneralizedTime:
  360.  
  361.    Values of this syntax are encoded as printable strings, represented 
  362.    as specified in X.208.  Note that the time zone must be specified.
  363.    It is strongly recommended that Zulu time zone be used.  For example, 
  364.         
  365.                 199412161032Z
  366. OtherMailbox:
  367.  
  368.    Values of the OtherMailbox syntax are encoded according to the
  369.    following BNF:
  370.  
  371.       <otherMailbox> ::= <mailbox-type> '$' <mailbox>
  372.  
  373.       <mailbox-type> ::= an encoded Printable String
  374.  
  375.       <mailbox> ::= an encoded IA5 String
  376.  
  377.    In the above, <mailbox-type> represents the type of mail system in
  378.    which the mailbox resides, for example "MCIMail"; and <mailbox> is the 
  379.    actual mailbox in the mail system defined by <mailbox-type>.
  380.  
  381. Password:
  382.  
  383.    Values with Password syntax are encoded as octet strings.
  384.  
  385. PostalAddress:
  386.  
  387.    Values with the PostalAddress syntax are encoded according to the 
  388.    following BNF:
  389.  
  390.       <postal-address> ::= <dstring> | <dstring> '$' <postal-address>
  391.  
  392.    In the above, each <dstring> component of a postal address value is
  393.    encoded as a value of type DirectoryString syntax.  Backslashes and 
  394.    dollar characters, if they occur in the component, are quoted as 
  395.    follows:
  396.    A backslash quoting mechanism is used to encode symbol character
  397.    such as ''', '$' or '#'.  The backslash is followed by a pair of 
  398.    hexadecimal digits representing the next character.  A backslash 
  399.    itself in the string which forms part of a larger syntax is   
  400.    always transmitted as '\5C' or '\5c'.
  401.  
  402. PrintableString:
  403.  
  404.    The encoding of a value with PrintableString syntax is the string
  405.    value itself.  PrintableString is limited to the characters in 
  406.    production <p>. Where production <p> is discribed by the following 
  407.    BNF:
  408.  
  409.      <a> ::= 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' |
  410.              'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' |
  411.              's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z' | 'A' |
  412.              'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' |
  413.              'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' |
  414.              'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z'
  415.  
  416.      <d> ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
  417.  
  418.      
  419.      <p> ::= <a> | <d> | ''' | '(' | ')' | '+' | ',' | '-' | '.' |
  420.              '/' | ':' | '?' | ' '
  421.  
  422.  
  423.  
  424.