draft BCP for the Internet White Pages Service April 96 Best Current Practice for the Internet White Pages Service Tue Feb 13 14:38:43 MET 1996 Harald Tveit Alvestrand UNINETT Harald.T.Alvestrand@uninett.no Peter Jurg SURFnet Peter.Jurg@surfnet.nl Status of this Memo Please send comments to the author. The following text is required by the Internet-draft rules: This document is an Internet Draft. Internet Drafts are working documents of the Internet Engineering Task Force (IETF), its Areas, and its Working Groups. Note that other groups may also distribute working documents as Internet Drafts. Internet Drafts are draft documents valid for a maximum of six months. Internet Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet Drafts as reference material or to cite them other than as a "working draft" or "work in progress." Please check the I-D abstract listing contained in each Internet Draft directory to learn the current status of this or any other Internet Draft. The file name of this version is draft-ietf-ids-ds-bcp-00.txt Alvestrand, Jurg Expires September 96 [Page 1] draft BCP for the Internet White Pages Service April 96 *** DRAFT *** DRAFT *** DRAFT *** DRAFT *** WARNING: This document contains text that might be harmful to senior persons' blood pressure. Distribute with care! *** DRAFT *** DRAFT *** DRAFT *** DRAFT *** 1. Summary and recommendations This document makes the following recommendations for organizations on the Internet: (1) An organization SHOULD publish the E-mail addresses and some other info about Internet users within their site. (2) It MUST do this in accordance with the laws of the land, and SHOULD also follow the recommendations of [PRIVACY] (3) It SHOULD publish the information using X.500 as its data structure and naming scheme. It MAY additionally publish it using additional data structures such as whois++. (4) It SHOULD make the published information available to LDAP clients, by supporting an LDAP server for those data. (5) It SHOULD NOT attempt to charge for simple access to the data. In addition, it makes the following recommendations for various and sundry other parties: (1) E-mail vendors SHOULD include LDAP lookup functionality into their products, either as built-in functionality or by providing translation facilities. (2) Internet Service providers SHOULD help smaller organizations follow this recommendation, either by providing services for hosting their data, by helping them find other parties to do so, or by helping them bring their own service on-line. (3) All interested parties SHOULD make sure there only exists one X.500 namespace in the world, and that all names in Alvestrand, Jurg Expires September 96 [Page 2] draft BCP for the Internet White Pages Service April 96 this namespace are resolvable. The rest of this document is justification and details for this recommendation. 2. Introduction The Internet is used for information exchange and communication between its users. It can only be effective as such if users are able to find each other's addresses. Therefore the Internet benefits from an adequate White Pages Service, i.e. a directory service offering (Internet) address information related to people and organizations. This document describes the way in which the Internet White Pages Service (from now on abbreviated as IWPS) is best exploited using today's experience, today's protocols, today's products and today's procedures. Experience ([SURFNET], [ESNET]....) has shown that a White Pages Service based on self-registration of users or on centralized servers tends to gather data in a haphazard fashion, and, moreover, collects data that ages rapidly and is not kept up to date. The most vital attempts to establish the IWPS are based on models with distributed (local) databases each holding a manageable part of the IWPS- information. Such a part mostly exists of all relevant IWPS- information from within a particular organisation or from within an Internet service provider and its users. On top of the databases there is a directory services protocol that connects them and provides user access. Today X.500 is the most popular directory services protocol on the Internet, connecting the address information of about 1.5 million individuals and 3,000 organisations. Whois++ is the second popular protocol. X.500 and Whois++ may also be used to interconnect other information than only IWPS- information, but here we only discuss the IWPS features. Currently X.500 must be recommended as the directory services protocol to be used for the IWPS. However, future technology may make it possible to use other protocols as well or instead. When Alvestrand, Jurg Expires September 96 [Page 3] draft BCP for the Internet White Pages Service April 96 such technology becomes available and experiments show that they work, this document will be updated. The sections 3-7 below contain recommendations related to the publication of information in the IWPS that are independent of a directory services protocol. The remainig sections discuss X.500 specific issues. 3. Who should publish IWPS- information and how? IWPS- information is public address information regarding individuals and organizations. IWPS- information of an individual should be published and maintained by an organization that has a direct, durable link with this individual, like in the following cases: - The individual is employed by the maintainer's organization - The individual is enrolled in the university/school that maintains the data - The individual is a (personal) subscriber of the maintainer's Internet service The organization that maintains the data doesn't have to store the data in a local database of its own. Though running a local database in the X.500 or Whois++ service is not a too difficult job, it is recommended that Internet service providers provide database facilities for those organizations among its customers that only maintain a small part of the IWPS- information or don't have enough system management resources. This will encourage such organizations to join the IWPS. Collection of IWPS- information and keeping it up-to-date should always be in the hands of the organization the information relates to. 4. What kind of information should be published? The information to be published about an individual should at least include: Alvestrand, Jurg Expires September 96 [Page 4] draft BCP for the Internet White Pages Service April 96 - The individual's name - The individual's e-mail address, in RFC-822 format - Some indication of the individual's relationship with the maintainer When X.500 is used as directory services protocol the last requirement may be fulfilled by using the "organizationalStatus" attribute (see [RFC1617]) or by adding a special organizational unit to the local X.500 namespace that reflects the the relation (like ou=students or ou=employees). Additionally some other public address information about individuals may be included in the IWPS: - The individual's phone number - The individual's fax number - The individual's postal address - The URL of the individual's home page on the Web Organizations should publish the following information about themselves in the IWPS: - The URL of the organization's home page on the Web - Postal address Organizations may also publish phone numbers. 5. Data management Data management, i.e. collecting the IWPS- information and keeping it up-to-date is a task that must not be underestimated for larger organizations. The following recommendations can be made with respect to these issues: - An organization should achieve an executive level commitment to start a local database with IWPS- information. This will Alvestrand, Jurg Expires September 96 [Page 5] draft BCP for the Internet White Pages Service April 96 make it much easier to get cooperation from people within the organisation that are to be involved in setting up a Directory Service. - An organization should decide on the kind of information the database should contain and how it should be structured. It should follow the Internet recommendations for structuring the information. Besides the criteria in the previous section, [RFC-1274] and [RFC-1617]] should be followed if X.500 is used as directory services protocol. - An organization should define criteria for the quality of the data in the Directory, like timeliness, update frequency, correctness, etc. These criteria should be communicated throughout the organization and contributing entities should commit to the defined quality levels. - Existing databases within an organisation should be used to retrieve IWPS- and local information, to the greatest extent possible. An organization should involve the people who maintain those databases and make sure to get a formal written commitment from them to use their data source. The organization should rely on these people, since they have the experience in management and control of local, available data. - The best motivation for an organization to join the IWPS is that they will have a local database for local purposes at the same time. A local database may contain more, not necessarily public, information and serve more purposes than is requested for in the IWPS. In connecting to the IWPS an organization must "filter out" the extra local information and services that is not meant for the public IWPS using the directory services protocol. 6. Legal issues Most countries have privacy laws regarding the publication of information about people. They range from the relaxed US laws to the UK requirement that information should be accurate to the Norwegian law that says that you can't publish unless you get specific permission from the individual. Every maintainer of IWPS- information should publish data according to the national law of the country in which the local database which holds the Alvestrand, Jurg Expires September 96 [Page 6] draft BCP for the Internet White Pages Service April 96 information resides. Some of these are documented in [SURFNET] and [PRIVACY]. A maintainer of IWPS- information should also follow some common rules, even when they are not legally imposed: - Publish only correct information. - Give people the possibility to view the information stored about themselves and the right to withold information or have information altered. - Don't publish information "just because it's there". Publish what's needed and what's thought useful, and no more. Given the number of data management and legal issues that are involved in publishing IWPS- information, good consulting services are vital to have smaller companies quickly and efficiently join the IWPS. Internet service providers are encouraged to provide such services. 7. Do not charge for lookups A very common question with respect to the IWPS is how it has to be financed. In the current IWPS it believed that due to todays technological constraints, charging users is harmful to the viability of the service. There are several arguments for this belief: - Micropayment technology is not available at the moment. - Subscription services require either that the customer sign up to multiple search services or that the services are linked "behind the scene" with all kinds of bilateral agreements; both structures have unacceptably high overhead costs and increase the entry cost to the service. - The current directory services protocols do not support authentication to a level that would seem appropriate for a service that charges. Alvestrand, Jurg Expires September 96 [Page 7] draft BCP for the Internet White Pages Service April 96 Therefore it is strongly recommended that all lookups by users in the IWPS are for free. This, of course, does not limit in any way the ability to use the same IWPS dataset to support other services where charging may be appropriate. 8. Use X.500 The IWPS based on the X.500 protocol has a relatively wide deployment. The current service contains about 3,5 million entries of individuals and 3,000 of organizations. It is coordinated by Dante, an Internet service provider in the UK, and known as "Nameflow/Paradise". Though X.500 is sometimes criticized by the fact that its functionality is restricted by the hierarchical naming structure it imposes, it provides a reasonably good functionality as has been shown in several pilots by organizations [SURFNET], [ESNET], [PARADISE], [AARNET] that are now running a production X.500 IWPS. User interfaces also determine the functionality the X.500 IWPS offers. Usually they offer lookups in the IWPS based on the following user input: - The name of a person - The name of an organization this person can be related to - The name of a country As a result they will provide the publicly available information about the person in question. Most user interfaces offer the possibility to list organizations in a country and users in an organization to help users to make their choice for the input. It may also be possible to use part of the names as input or approximate names. Specific user interfaces can provide lookups based on other input, like e-mail addresses of people or postal addresses of organizations. Such possibilities may however violate privacy laws. See Appendix A for the algorithms used to achieve the functionality that is mentioned. Alvestrand, Jurg Expires September 96 [Page 8] draft BCP for the Internet White Pages Service April 96 Organizations are strongly encouraged to use the X.500 protocol for joining the IWPS. The current service is based on the X.500 1988 standard [xxx] and some Internet-specific additions to the protocol that connects the local databases [Kille] and to the access protocol [LDAP]. Organizations should use X.500 software based on these specifications and additionally supports [RFC1006] for the transportation of OSI protocols over the Internet. For recommendations on which attributes to use in X.500 and how to use them (either for public IWPS- information or additional local information the reader is referred to [RFC1274] and [RFC1617]. For specific non-public local purposes also new attributes (and object classes) may be defined. Generally it should be recommended to use as much as possible the multi-valuedness of attributes in X.500 as this will improve the searching functionality of the service considerably. For example, the commonName attribute which can hold the common name of an organisation or person should contain all known aliases for the organization or person. Another recommendation that can be made is that replication of data [Kille] between local databases is used in order to improve the performance of the service. Since replicating all entries of a part of the IWPS from one local database in another may violate local privacy laws, it is recommended to restrict replication to country and organizational entries and knowledge references (which tell where to go for which part of the IWPS). Of course privacy laws are not violated when the replicating database is managed by the same organization as the one that masters the information. So local replication between two databases within the same organization is highly recommended. X.500 is not recommended to be used for: - A Yellow Pages service with a large scope. See [SURFnet]. - Searching outside the limited patterns listed here, in particular searching for a person without knowing which organization he might be affiliated to. - Publishing information in other character sets than ASCII, some of the Latin-based European scripts and Japanese (the T.61 character sets). ISO is revising X.500, but products that support the revision aren't available yet. Alvestrand, Jurg Expires September 96 [Page 9] draft BCP for the Internet White Pages Service April 96 9. Use the global namespace Some people, for instance when using Novell 4 servers, have decided that they will use X.500 or X.500-like services as an internal naming mechanism, without coordinating with an outside source. This suffers from many of the same problems as private IP addresses, only more so: your data may need significant restructuring once you decide to expose them to the outer world. A globally accessible X.500 service requires a globally connected X.500 namespace. 10. Use LDAP At the moment, LDAP as documented in [LDAP] is the protocol that offers the most X.500 functionality in places where it is not feasible to implement the full OSI stack. It is implemented on a lot of platforms, including several PC-type platforms, and is popular in a multitude of commercial offerings. A concerted effort to make LDAP available is the publication method that gives the widest access to the data. In addition, DSAs must implement the necessary linkages to make sure they are properly integrated into the naming/referral tree; in most cases, this will mean that they should implement the X.500 DSP protocol at least. (The question of whether one gateways LDAP to DAP or DAP to LDAP is irrelvant in this context) 11. Make services available The technical investment in running an X.500 service is not enormous. Alvestrand, Jurg Expires September 96 [Page 10] draft BCP for the Internet White Pages Service April 96 12. Name globally Given that X.500 practically dictates that there should be a single root context operated under a cooperative agreement, one can be sure that there will be turf battles over its control. However, if those turf battles aren't decided outside the actual running service, the effect on the service quality will be ruinous. This document appeals to all players in the field to let existing practice alone until a better system is agreed and is ready to go into place; at the moment, the root context of the day is operated by the DANTE NameFlow project. 13. Security considerations Security issues WILL BE considered in this memo. 14. References [DUMMY REFERENCE] Here is the title of the reference 15. Author's address Harald Tveit Alvestrand UNINETT P.O.Box 6883 Elgeseter N-7002 TRONDHEIM NORWAY +47 73 59 70 94 Harald.T.Alvestrand@uninett.no Peter Jurg SURFnet P.O.Box 19035 NL-3501 DA UTRECHT THE NETHERLANDS Alvestrand, Jurg Expires September 96 [Page 11] draft BCP for the Internet White Pages Service April 96 +31 30 2305305 Peter.Jurg@surfnet.nl APPENDIX A - Algorithms In pseudocode, the algorithms for X.500 searches used go like this: To get from (country, company, name) to entry: 1) Search, single-level, the Root context for the country. Set the current location to this country. 2) Search, single-level, the current context for the Organization and any Locality entries. Add the Locality entries to the list of possible search contexts. 3) If the organization is not found, take the first context in the list of possible search contexts and go to 2). 4) When the organization is found, search, whole subtree, for the person name. This algorithm requires: - That the company name be unique within the country. Otherwise, first match may be returned. - That the person name be unique within the company. Otherwise, multiple matches will be returned. - That the whole subtree search is allowed across the whole company. This process can be considerably speeded up by a periodic searching of the country for all Organizations and storing these in a cache or private alias tree; however, this requires special code in the client. To get from E-mail address to entry: 1) Take the last component of the domainname as the search object, and the root context as the only possible search context. Alvestrand, Jurg Expires September 96 [Page 12] draft BCP for the Internet White Pages Service April 96 2) Search, single-level, all the currently possible search contexts for the attribute "AssociatedDomain" with the value of the search object. 3) If at least one search was successful, take the list of found objects as the list of possible search contexts. Otherwise, keep the old set. 4) If there are more components of the domainname, add one more component of the domainname to the search object, and go to 2) 5) If the search failed, or there are no more domain components, search, whole-subtree, for the attribute "RFC822Address" with the whole E-mail address as its value. This algorithm requires: - That AssociatedDomain be populated throughout the tree. Note that jumps are allowed; having "nexor.co.uk" directly under "C=gb/assocDomain=uk" is not a problem. - That *all* entries having some entry under them in a given domain have the corresponding shortened AssociatedDomain; for instance, many countries would need to show the "com" AssociatedDomain. Alvestrand, Jurg Expires September 96 [Page 13]