view Side-By-Side changes
Internet Draft Sam X. Sun Document:draft-sun-handle-system-09.txtdraft-sun-handle-system-10.txt CNRI Expires:JanuaryMarch 2003 Larry Lannom CNRIJulySeptember 2002 Handle System Overview Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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 and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This document provides an overview of the Handle System in terms of its namespace and service architecture, as well as its relationship to other Internet services such as DNS, LDAP/X.500, and URN. The Handle System is a general-purpose global name service that allows secured name resolution and administration over the public Internet. The Handle System manages handles, which are unique names for digital objects and other Internet resources.This document provides an overview of the Handle System in terms of its namespace and service architecture, as well as its relationship to other Internet services such as DNS, LDAP/X.500, and URN.Table of Contents 1. Introduction..................................................2 2. Handle Namespace..............................................5 3. Handle System Architecture....................................6 4. Handle System Service and itsSecurity.......................10Security........................9 5. The Handle System and other InternetServices................11 Sun Expires - January !Undefined Bookmark, SAVEDATE [Page 1] Internet-Draft Handle System Overview July 2002Services................10 5.1 Domain Name Service (DNS)...................................11 5.2 Directory Services(X.500/LDAP).............................12(X.500/LDAP).............................11 5.3 Uniform Resource Names (URN)................................12 Sun Expires - April 2003 [Page 1] Internet-Draft Handle System Overview October 2002 6. Security Considerations......................................13 6.1 Generalsecurity practice...................................13Security Practice...................................13 6.2 Privacyprotection..........................................14Protection..........................................14 6.3 Caching andproxy...........................................14Proxy...........................................14 6.4 Mirroring...................................................15 6.5 Denial ofserviceService (DoS).....................................15 7. History of the Handle System.................................15 8.Acknowledgement..............................................16 Author's Addresses..............................................16Acknowledgement..............................................15 References andBibliography.....................................17Bibliography.....................................16 Author's Addresses..............................................17 1. Introduction This document provides an overview of the Handle System, a distributed information system designed to provide an efficient, extensible, and secured global name service for use on networks such as the Internet. The Handle System includes an open protocol, a namespace, and a reference implementation of the protocol. The protocol enables a distributed computer system to store names, or handles, of digital resources and resolve those handles into the information necessary to locate, access, and otherwise make use of the resources. These associated values can be changed as needed to reflect the current state of the identified resource without changing thehandle, thus allowinghandle. This allows the name of the item to persist over changes of location and other current state information. Each handle may have its own administrator(s) and administration can be done in a distributed environment. Thename-to-value bindings may also be secured, allowing handles to be used in trust management applications.Handle System supports secured handle resolution. Security service such as data confidentiality, service integrity, and non-repudiation are provided upon client's request. The Handle System provides a confederated name service that allows any existing local namespace to join the global handle namespace by obtaining a unique handle system naming authority. Local names and their value-binding(s) remain intact after joining the Handle System. Any handle request to the local namespace may be processed by a service interface speaking the handle systemprotocol which would map the handle request into the local name.protocol. Combined with the unique naming authority, any local name is guaranteed unique under the global handle namespace. There are several services that are in use today to provide name service for Internetresources, of whichresources. Among these the Domain Name System (DNS) [2,3] is the most widely used. DNS is designed "to provide a mechanism for naming resources in such a way that the names are mappable into IP addresses and are usable in different hosts, networks, protocol families, internets,Sun Expires - January !Undefined Bookmark, SAVEDATE [Page 2] Internet-Draft Handle System Overview July 2002and administrative organizations" [3]. The growth of the Internet hasincreasedraised demands for various extensions toDNS, and even itsDNS. There are also attempts to use DNS as ageneral purposegeneral-purpose resource namingsystem, but itssystem. However, the Sun Expires - April 2003 [Page 2] Internet-Draft Handle System Overview October 2002 importance of DNS in basic network routing has led to great caution in implementingsuch extensions and a general conclusion thatany DNSis notextension or overloading theplace to lookDNS forgeneral purposegeneral-purpose resource naming. An additional factor which argues against using DNS as ageneral purposegeneral-purpose namingsystemservice is the DNS administrative model. DNS names are typically managed by the network administrator(s) at the DNS zonelevel, withlevel. There is no provision fora per nameper-name administrativestructure,structure and no facilities for anyone other than the networkadministratorsadministrator to create or manage DNS names. This is appropriate for domain name administration but less so forgeneral purposegeneral-purpose resourcename administration.naming. The Handle System has been designed from the start to serve as a general-purpose namingsystem forservice. It is designed to accommodate very large numbers of entities and to allow distributed administrationatover thename level.public Internet. The handle system data model allows access control to be defined at the level of each handle data. Each handle can further define its ownadministrator(s) to manage the handle data viaset of administrators that are independent from thehandle system authentication protocol. Traditional URLsnetwork or host administrator. Traditional URLs (Uniform Resource Locators) [4] allow certain Internet resources to be named as a combination of a DNS name and local name. The local name may be a local file path, or a reference to some localservice, e.g.service (e.g. a cgi-binscript.script). This combination of DNS name and local name provides a flexible administrative model for naming and managing individual Internet resources.There are, however, severalHowever, the URL practice also has some key limitations. Most URL schemes (e.g., http) are defined for resolutionserviceonly. Any URL administration has to be done either at the local host, or via some other network service such as NFS. Using a URL as a name typically ties the Internet resource to its current networklocation, andlocation. For example, a URL will be tied to its local file path when the file path is part of the URL. When the resource moves from one location toanother,another for whatever reason, the URL breaks. The Handle System is designed to overcome these limitations(i.e. per DNS name administration rather than per digital item, resolution-only name service which must be done at local host or distributed file system, location dependence)and to add significantincreasedfunctionality. Specifically, the Handle System is designed with the following objectives: . Uniqueness: Every handle is globally unique within the Handle System. . Persistence: A handle is not derived in any way from the entitywhichthat it names, but is assigned to it independently. While an existing name, or even a mnemonic, may be included in a handle for convenience, the only operational connection between a handle and the entity it names is maintained within the Handle System. This ofSun Expires - January !Undefined Bookmark, SAVEDATE [Page 3] Internet-Draft Handle System Overview July 2002course does not guarantee persistence, which is a function of administrativecare, butcare. But it does allow the same name to persist over changes of Sun Expires - April 2003 [Page 3] Internet-Draft Handle System Overview October 2002 location, ownership, and other state conditions. For example, when a named resource moves from one location to another, the handle may be kept valid by updating its value in the Handle System to reflect the new location. . Multiple Instances: A single handle can refer to multiple instances of a resource, at different and possibly changing locations in a network. Applications can take advantage of this to increase performance and reliability. For example, a network service may define multiple entry points for its service with a single handleandso as to distribute the service load. . Extensible Namespace: Existing local namespaces may join the handle namespace by acquiring a unique handle naming authority. This allows local namespaces to be introduced into a global context while avoiding conflict with existing namespaces. Use of naming authorities also allows delegation of service, both resolution and administration, to a local handle service. . International Support: The handle namespace is based on Unicode 3.0 [1], which includes most of the characters currently used around theworld, facilitating the use of the systemworld. This allows handles to be used in any native environment. The handle protocol mandates UTF-8 [5] as the encoding used for handles. . Distributed Service Model: The Handle System defines a hierarchical service model such that any local handle namespace may be serviced either by a corresponding local handle service or by the global service or by both. The global service, known as the Global Handle Registry, can be used to dispatch any handle service request to the responsible local handle service. The distributed service model allows replication of any given service into multiple service sites and each service site may further distribute its service into a cluster of individual servers. (Note that local here refers only to namespace and administrative concerns. A local handle service could in fact have many service sites distributed across the Internet.) . Secured Name Service: The handle system allows secured name resolution and administration over the public Internet. The handle system protocol defines standard mechanisms for both client and server authentication, as well as service authorization. It also provides security options toallow guaranteedassure service integrity and data confidentiality. Sun Expires - April 2003 [Page 4] Internet-Draft Handle System Overview October 2002 . Distributed Administration Service: Each handle may define its own administrator(s) oradministrativeadministrator group(s). Ownership of each handle is defined in terms of its administrator or administratorSun Expires - January !Undefined Bookmark, SAVEDATE [Page 4] Internet-Draft Handle System Overview July 2002groups. This, combined with the handle system authentication protocol, allows any handle to be managed securely over the public network by its administrator at any network location. . Efficient Resolution Service: The handle protocol is designed to allow highly efficient name resolution performance. To avoid resolution being affected by computationally costly administration service, separate service interfaces (i.e., server processes and their associated communication ports) for handle name resolution and administration may be defined by any handle service. This document provides an overview of the handle namespace and service architecture. It also compares the Handle System with other existing Internet services, protocols, and specifications (e.g., DNS [2, 3], URLs [4], X.500/LDAP [6,7,8], and URN [9,10]). Details of the handle system data and service model, as well as its communication protocol, are specified in separate documents. They can be found under the handle system website at http://www.handle.net. 2. Handle Namespace Every handle consists of two parts: its naming authority, otherwise known as its prefix, and a unique local name under the naming authority, otherwise known as itssuffix.suffix: <Handle> ::= <Handle Naming Authority> "/" <Handle Local Name> The naming authority and local name are separated by the ASCII character "/".AThe collection of local names under a naming authority defines the local handlemay thusnamespace for that naming authority. Any local name must bedefined as: <Handle> ::= <Handle Naming Authority> "/" <Handle Local Name>unique under its local namespace. The uniqueness of a naming authority and a local name under that authority ensures that any handle is globally unique within the context of the Handle System. For example, "10.1045/january99-bearman" is a handle for an article published in D-Lib magazine[13]. It[12]. Its naming authority isdefined under the Handle Naming Authority "10.1045","10.1045" and itsHandle Local Namelocal name is "january99-bearman". The handle namespace can be considered as superset of many local namespaces, with each local namespace havingits owna uniquehandlenamingauthority.authority under the Handle System. The naming authority identifies the administrative unit of creation, although not necessarily continuing administration, of the associated handles. Each naming authority is guaranteed to be Sun Expires - April 2003 [Page 5] Internet-Draft Handle System Overview October 2002 globally unique within the Handle System. Any existing local namespace can join the global handle namespace by obtaining a unique namingauthority, withauthority so that any local name under theresulting handles beingnamespace can be globally referenced as a combination of the naming authority and the local name as shown above.Handles may consist of any printable characters from the Universal Character Set, two-octet form (UCS-2) of ISO/IEC 10646, which isNaming authorities under theexact character set defined by Unicode v2.0. The UCS-2 character set encompasses most characters used in every major Sun Expires - January !Undefined Bookmark, SAVEDATE [Page 5] Internet-DraftHandle SystemOverview July 2002 language written today. To allow compatibility with most of the existing systems and prevent ambiguity among different encoding, handle protocol mandates UTF-8 to be the only encoding used for handles. The UTF-8 encoding preserves any ASCII encoded names, which allows maximum compatibility to existing systems without causing naming conflict. Some encoding issues over the global namespace and the choice of UTF-8 encoding are discussed in [14]. By default, handles are case sensitive. However, any handle service, including the global service, may define its namespace such that all ASCII characters within any handle are case insensitive. Handle naming authoritiesare defined in a hierarchicalfashion, i.e.,fashion resembling a tree structure. Each node and leaf of the tree is given a label that corresponds to a naming authority segment. The parent node presents the parent naming authority of its child nodes. Unlike DNS, handle naming authorities are constructed left to right, concatenating the labels from the root of the tree to the node that represents the naming authority. Each label is separated by the octet used for ASCII character "." (0x2E). For example, a naming authority for the National Digital Library Program ("ndlp") at the Library of Congress ("loc") is defined as "loc.ndlp". Each naming authority may have many child naming authorities registered underneath. Any child naming authority can only be registered by its parent after its parent naming authority is registered. However, there is no intrinsic administrative relationship between the namespaces represented by the parent and child naming authorities. The parent namespace and its child namespaces may be served by different handle services, and they may or may not share any administration privilegesamongbetween each other.Every handleHandles may consist of any printable characters from the Universal Character Set (UCS-2) of ISO/IEC 10646, which is the exact character set definedunder a naming authority.by Unicode v2.0 [1]. Thenaming authorityUCS-2 character set encompasses most characters used in every major language written today. To allow compatibility with most of the existing systems and prevent ambiguity among different encoding, thelocal name are separated byhandle system protocol mandates UTF-8 to be theoctetonly encoding used forASCII character "/" (0x2F).handles. Thecollection of localUTF-8 encoding preserves any ASCII encoded namesunder aso as to allow maximum compatibility to existing systems without causing namingauthority isconflict. Some encoding issues over thelocalglobal namespacefor that naming authority. Any local name must be unique under its local namespace. The uniqueness of a naming authorityand the choice of UTF-8 encoding are discussed in [13]. By default, handles are case sensitive. However, alocal name under that authority ensureshandle service may define its namespace so that ASCII characters within any handleis globally unique within the context ofunder theHandle System.namespace are case insensitive. 3. Handle System Architecture The Handle System defines a hierarchical service model. The top level consists of a single global service, known as the Global HandleRegistry.Registry (GHR). The lower level consists of all other handle services,which aregenerically known aslocal handle services. TheLocal Handle Services (LHS). Sun Expires -January !Undefined Bookmark, SAVEDATEApril 2003 [Page 6] Internet-Draft Handle System OverviewJulyOctober 2002 The Global Handle Registryprovides a handle service (for resolution) andcan be used to manage any handle namespace. It is uniqueamongfrom any other handle services only in that it provides the service used to managethe namespace of handlenaming authorities, all of which are managed as handles. Thestate information of thesenaming authorityhandles is the servicehandle provides information that clients can use to access and utilizeassociated local services. Thethe local handle servicelayer consists of all local handle services managing allfor handles undertheirthe namingauthorities, providing resolution and administration service for these local names.authority. LocalservicesHandle Services are intended to be hosted by organizations with administrative responsibility forthehandleswithin the service or acting on behalfunder certain naming authority. A Local Handle Service may be responsible for any number ofthelocal handle namespaces, each of which identified by a unique naming authority. The Local Handle Service and its responsibleorganizations. A secondset of local handle namespaces must be registered under the Global Handle Registry. One important aspect of the Handle Systemarchitectureis its distributednature.architecture. The Handle System as a whole consists of a number of individual handleservices, eachservices. Each ofwhich consiststhese service may consist of one or morehandleservicesites, where eachsites. Each of these service sitereplicates theis a completeindividual handle service,replication of each other, at least forthe purposes ofhandle resolution.EachAdditionally, a service site may also consist of one or more handle servers. Handle requests directed at the service sitein turn consistsmay be evenly distributed into these handle servers. The Handle System may consist ofone or more handle servers. There are no design limits on the totalany number of handleservices which constitute the Handle System, thereservices. There are no design limits on the number of sites which make up eachservice, andservice. Neither there arenoany limits on the number of serverswhichthat make up each site. Replicationby site, within a service,among any service sites does not require that each sitecontaincontains the same number ofservers; that is,servers. In other words, while each site will have the same replicated set of handles, each site may allocate that set of handles across a different number of servers. This distributed approach is intended to aid scalability to accommodate any large-scale of operation and to mitigate problems of single point failure. Figure 3.1 illustrates a potential handle service that consists of two servicesites,sites: one located at the US East coast and the other at the US West coast. The East coast service site consists of fourhost computers that process all the client requests, and theserver computers. The West coast service site, with more powerful computers deployed, decides twohostservers will suffice. The number of service sites for anyHandle System,handle service, as well as the number of servers that are used by any service site, may be added or removed dynamicallyaccording todepending on the service requirement. Sun Expires -January !Undefined Bookmark, SAVEDATEApril 2003 [Page 7] Internet-Draft Handle System OverviewJulyOctober 2002 ------------------------- ------------------ | --------- --------- | | ----- ----- | | | | | | | | | S | | S | | | | server1 | | server2 | | | | E | | E | | | | | | | | | | R | | R | | | --------- --------- | | | V | | V | | | --------- --------- | | | E | | E | | | | | | | | | | R | | R | | | | Server3 | | Server4 | | | | | | | | | | | | | | | | 1 | | 2 | | | --------- --------- | | ----- ----- | ------------------------- ------------------ Handle Service Site 1 Handle Service Site 2 (US East Coast) (US West Coast) Fig.3.13.1: Handle service configured with two servicesites.sites Each handle service manages a distinct sub-namespace under the Handle System. Namespaces under different handle services may notoverlap, however, a handle service itself may consist of many replicated service sites.overlap. The sub-namespace typically consists of handles under a number of naming authorities. The handle service is called the "home" service of these naming authorities and is the only one that provides resolution and administration service forits handles.handles under these naming authorities. Before resolving a handle, a client has to determine the "home" service of the handle in question. The "home" service of each handle is the "home" service of its naming authority and is registered at the Global Handle Registry.This determination is carried outClients can find the "home" service for each handle by querying theclient software.naming authority handle at the Global Handle Registry. The Global Handle Registry maintains naming authority handles. Each naming authority handle maintains the service information that describes the "home" service of the naming authority. The service information lists the service sites of the handle service, as well as the interface to each handle server within each site. To find the "home" service for any handle, a client can query the Global Handle Registry for the service informationthat is maintained byassociated to the corresponding naming authority handle. The service information provides the necessary information for clients to communicate with the "home"service for any request. Sun Expires - January !Undefined Bookmark, SAVEDATE [Page 8] Internet-Draft Handle System Overview July 2002service. Figure 3.2 shows an example of a typical handle resolutionprocess whereprocess. In this case, the "home" service is alocal handle service. In this case, theLocal Handle Service. The client is trying to resolve the handle "cnri.dlib/july95-arms" and has to find its "home" service from theglobal handle registry.Global Handle Registry. The "home" serviceis determinedcan be found by sending a query to the Global Handle Registry for thecorrespondingnaming authorityhandle.handle for "cnri.lib". The Global Handle Registry returns the service informationthat describesof thelocal handle serviceLocal Handle Sun Expires - April 2003 [Page 8] Internet-Draft Handle System Overview October 2002 Service that is responsible for handles under the naming authority"cnri.dlib", including the handle "cnri.dlib/july95-arms"."cnri.dlib". The service information allows the client toidentifycommunicate with thelocal handle service in orderLocal Handle Service to resolve thehandle.handle "cnri.dlib/july95-arms". ------------------------ | | 4. Result of client request | Client with global | <-------------------------------. | service information | | | | ----------------------------. | ------------------------ 3. Request to responsible | | | ^local handle serviceLocal Handle Service | | 1. Client | | | | query for | | | | naming | | 2. Service information | | authority | | for "cnri.dlib" V | "cnri.dlib" | |----------------------------------------- | | | | V | | LocalserviceHandle Service | --------------- | responsible for the | | | | naming authority | | Global Handle | | "cnri.dlib" | | Registry | | | | |----------------------------------------- --------------- Fig.3.23.2: Handle resolution starting with global To improve resolution performance, any client may choose to cache the service information returned from the Global Handle Registry and use it for subsequent queries. A separate handle caching server, either stand-alone or as a piece of a general caching mechanism, may also be used to provide shared caching within a local community. Given a cached resolution result, subsequent queries of the same handle may be answered locally without contacting any handle service. Given cached service information, clients can send their requests directly to theresponsible handle serviceLocal Handle Service without contacting the Global Handle Registry.Sun Expires - January !Undefined Bookmark, SAVEDATE [Page 9] Internet-Draft Handle System Overview July 20024. Handle System Service and its Security The Handle System provides handle resolutionservice, as well as handleand administration service over the public Internet. Each handle can be assigned with a set of values. Clients use the handle resolution service to resolve any handle into its set of values. Each value has a data type and a unique value index. Clients can query for specific handle values based on data type or value index. Sun Expires - April 2003 [Page 9] Internet-Draft Handle System Overview October 2002 The handle administration service answers requests fromadministrative clientclients to managehandles, includinghandles. These include adding handles, deleting handles or updating their values. It also manages naming authorities via naming authority handles. Each handle can define its own administrator(s) and each administratoriscan be granted a certain set of permissions. The handle system authentication protocol authenticates the handle administrator before fulfilling any administrative request. The Handle System providesauthenticationsecurity services such as client and server authentication, dataintegrity services, depending on client request.confidentiality and integrity, as well as service non-repudiation. By default, handle resolution service does not require any client authentication. However, resolutionrequestsrequest for confidential data assigned to any handle (by its administrator), as well asallany administrationrequestsrequest (e.g. adding or deleting handle values) require authentication of the clientas having the requisite authority.for proper authorization. When authentication is required, theresponsiblehandle server will issue a challenge to the requesting client before carrying out the client's request. To satisfy the authentication requirement, the client must send back the correct response that identifies itself as theadministrator or otherwise in possession of the appropriate credentials.administrator. The handle server will respond to the initial request only after successful authentication of the client. Handle clients may choose to use either secret key or public key cryptography for authentication. Authentication under Handle System can also be carried out via third party authentication services.HandleTo ensure data integrity, clients mayalsorequest digitally signed responses from any handleserver, to ensure data integrity. Handle system clients canserver. They may also set up asecuresecured communication session withathe handle server so that any exchanged informationtransferred within the sessioncan be encryptedwith a session key for(for dataconfidentiality.confidentiality) using the session key. The Handle System provides service options forthe secure transmission ofsecured information exchange between client and server. This does notimply any credentials ofguarantee the truthfulness of handle values. Incorrect values assigned tohandles byanyof the administratorshandle by its administrator may very well mislead clients. On the other hand,anya handle valuerecordmay contain references to other handlevalue recordsvalues to provideSun Expires - January !Undefined Bookmark, SAVEDATE [Page 10] Internet-Draft Handle System Overview July 2002additional credentials. For example, a handle valuerecordR (e.g., a claim)of any handlemay contain a reference to some other handle valuerecord (from another handle)that containsathe digital signaturefor(from a creditable source) upon the valuerecordR. Clients who trust the signature could then trust the handle valuerecordR. 5. The Handle System and other Internet Services There are a number of existing and proposed Internet identifier services or specifications that by design or intent cover some of the functionalities proposed for the Handle System. This section briefly reviews them in relationship to the Handle System. Sun Expires - April 2003 [Page 10] Internet-Draft Handle System Overview October 2002 5.1 Domain Name Service (DNS) The Domain Name Service, or DNS, was originally designed and is heavily used for mapping domain names into IP Addresses for network routing purposes. RFC1034 [2] and RFC1035 [3] provide detailed descriptions of its design and implementation. The growth of the Internet has increased demands for various extensions to DNS,andeven its possible use as a general purpose resource naming system. However, any such use has the potential to slow down the network addresstranslation, and altertranslation and/or affect its effectiveness in network routing. DNSimplementationimplementations typicallydoesdo not scale well when large amount of data is associated with any particular DNSname, andname. It is generally considerednot adequateinadequate tosupport a very large number ofuse DNSnames usedfor naming any kind of resources over the Internet. An additional factor that argues against using DNS as ageneralgeneral- purpose namingsystemservice is the DNS administrative model. DNS names are typically managed by the network administrator(s) at the DNS zonelevel,level. There is with no provision for aper nameper-name administrativestructure, and nostructure. No facilities are provided for anyone other than network administrators to create or manage DNS names. This is appropriate for domain name administration but less so forgeneral purpose resourcegeneral-purpose name administration. The Handle System differs from DNS in its distributed administration and service model, as well as itssecured servicesecurity features. The handle system protocol(see section 4).comprise security options to assure confidentiality and integrity during data transmission. Each handlewithinunder the Handle System may define its ownadministrator, and the Handle System defines a distributed administration and access control modeladministrator that is independent from the server administrator. The handle system protocol allowsan individualany handleand its contentsadministrator tobe managedmanage its handles securely over the public network.TheAdditionally, the Handle System service model allows any of its service sites to dynamically configure its service distributionSun Expires - January !Undefined Bookmark, SAVEDATE [Page 11] Internet-Draft Handle System Overview July 2002among a cluster of servers to accommodate increased service requests. This also allows less powerful computers to be used together to support any huge number of handles. 5.2 Directory Services (X.500/LDAP) X.500 [6] is the OSI Directory Standard defined by ISO and the ITU. It is designed "to provide a white pages service that would return either the telephone numbers or X.400 O/R addresses of people", and is "concerned mainly with providing the name server service for Open Systems Interconnection (OSI) applications" [7]. X.500 defines a hierarchical data and information model with a set of protocols to allow global name lookup and search. The protocol, however, has proved difficult to implement and there has been difficulty in Sun Expires - April 2003 [Page 11] Internet-Draft Handle System Overview October 2002 getting "client access integrated into existing products"[15].[14]. LDAP (Lightweight Directory Access Protocol) [8] has overcome many of these difficulties by making the protocol simpler, and easier to implement. Some concern remains, however, that as LDAP is emerging from a local directory access protocol (LDAP v2) into a distributed service protocol (LDAP v3), it faces many issues not addressed in its original design, resulting in newcomplications [15].complications. The fundamental difference between a name resolution service such as the Handle System and a directory service such as LDAP is search capability. The added functionality of being able to search a directory service necessarily carries with it addedcomplexity.complexity, thus affects its efficiency. A pure name service, such as the HandleSystem can, in comparison,System, can be designed solely around efficient resolution of known items without addressing functions and data structures required for discovery of unknown items based on incomplete criteria. Directory services such as LDAP or WHOIS++[16,17][15,16] may be used in tandem with the Handle System to provide reversenamelookup service. Existing corporate directory services, for example, could providea single interfaceinterfaces to both services. The handle system interface would provide a highly efficient name resolutionservice, while theservice. The directory service interface would provideanextended search capability. Handles could also beused, for example,used in LDAP servicereferral such thatreferral. For example, a LDAPservices couldservice may be referenced as a handle. Doing so will make the reference persistent overtime, independentof network location.from location change. 5.3 Uniform Resource Names (URN) The IETF URN Working Group[12][11] has defined a syntax, possible resolution mechanisms, and namespace registration procedure for a resource identifier intended to cover a large array of existing and potential namespaces. Namespaces are to be registered and assigned unique Namespace Ids (NIDs). Any resolution services associatedSun Expires - January !Undefined Bookmark, SAVEDATE [Page 12] Internet-Draft Handle System Overview July 2002with these namespaces require further registration with a Resolution Discovery System (RDS) which clients could use to begin, or discover, the appropriate resolution mechanisms. The objectives and some of the approaches of the URN and Handle System efforts have enough in common that some observers might think that they are in contention. This is not the case. The URN effort is explicitly designed to accommodate multiple identifier namespaces and resolution systems. The Handle System is one suchcase, withcase. It has a very specific data and service model,andalong with a protocol that supportsnameboth handle resolution and administration. URNs and the Handle System may interact in variety ofways, theways. The most obvious of which is thathandlesthe Handle System could be registered as a URNnamespace, which is to say, theynamespace. In other words, handles under the Handle System Sun Expires - April 2003 [Page 12] Internet-Draft Handle System Overview October 2002 could beusedreferenced as a type of URN.ItOn the other hand, it would also be possible to use the Handle System as a type of RDS for other URN namespaces. The success of either system however, is not dependent upon the success of the other. 6. Security Considerations This section is meant to inform people of security limitations of the Handle System, as well as precautions that should be taken by application developers, service providers, and handle system clients. Specific security considerations regarding the handle system protocol[22][21] or its data and service model[23][22] are addressed in separate documents. 6.1 General Security Practice The securitypracticeof the Handlesystem securitySystem depends on both client and server host security at every step in the transaction. It assumes the client host has not been tampered with and that client software willconveyreliably convey the received data to the client. The client of any handle service must also assume that any handle servers involved have not been compromised. To trust the Global Handle Registrymeansis totrustbelieve thatitthe Global Handle Registry will rightfully direct the client request to the responsible Local Handle Service. To trust a Local Handle Servicemeansis totrustbelieve thatitthe Local Handle Service will correctlyrespond withreturn the data that wasentered byassigned to the handle by its administrator. A Local Handle Service typically supports a set of naming authorities. Thus, trusting a Local Handle Servicemaywould imply trusting those naming authorities. The handle system service integrity depends heavily on the integrity of the global service information. Invalid global service information may mislead clients into inappropriatelocal handle services, and/orLocal Handle Services. It may also allow attackers to forge server signatures. Theglobal handle serviceGlobal Handle Registry must take extreme caution in protecting theSun Expires - January !Undefined Bookmark, SAVEDATE [Page 13] Internet-Draft Handle System Overview July 2002global serviceinformation, as well asinformation and the public key pair used to sign the global service information. Client applications should only accept the global service information from theglobal handle service, andGlobal Handle Registry. They should check its integrity uponeveryeach update. For efficiency reasons,by default,handle servers will not generate or return digital signaturealong withfor every serviceresponse,response unless specificallyrequrestedrequested by clients. To assure data integrity, clients must explicitly ask theclient application.server to return the digital signature. To protect sensitive data from exposure, clients may establish a communication session with the server and ask the server to encrypt any data using the session key. Sun Expires - April 2003 [Page 13] Internet-Draft Handle System Overview October 2002 6.2 PrivacyprotectionProtection By default, most handle data stored in the Handle System is publiclyaccessible,accessible unless otherwise specified by the handle administrator. Handle administrators must pay attention when adding handle values thatmaycontain private information. They may choose to mark these handle values readable only by the handle administrator(s), or to storethethese handle values encrypted, so thattheythese values can only be readable within a controlled set of audience. Log files generated by the handle server are another vulnerable point where client privacy may be under attack. Operators of handle servers must protect such information carefully. 6.3 Caching andproxyProxy Besides performance gains and other value-added services, both the proxy and caching server present themselves as men-in-the-middle, and as such are vulnerable to man-in-the-middle attacks. It is important to know that proxy and caching servers are not part oftheany handlesystemservice. They are clients of the Handle System. Service responses from proxyand/orand caching servers cannot be authenticated via handle system protocol. The trust between the client and itsproxy/cachingproxy and caching server has to be setupdirectly.independently. By using the proxyorand caching server, clients assume that the server will submit their request and relay any response from the Handle System, without mishandling any of the contents. They also assume that thecaching/proxyserver will protectany security and privacy relatedany sensitive information on their behalf. Proxy and caching server operators should protect the systems on which such servers are running as they would protect any system that contains or transports sensitive information. In particular, log information gathered at proxies often contain highly sensitive personal information, and/or information about organizations. SuchSun Expires - January !Undefined Bookmark, SAVEDATE [Page 14] Internet-Draft Handle System Overview July 2002information should be carefully guarded, and appropriate guidelines for their use developed and followed. Caching servers provide additional potentialvulnerabilities, sincevulnerabilities because the contents of the cache represents an attractive target for malicious exploitation. Potential attacks on the cache can reveal private data for a handle user, or information still kept after a user believes that they have been removed from the network. Therefore, cache contents should be protected as sensitive information. Sun Expires - April 2003 [Page 14] Internet-Draft Handle System Overview October 2002 6.4 Mirroring Handle system clients should be aware of possible delays in content replication among mirroringsites, and maysites. They should consider sending their request to the primary service site for any time-sensitive data. Selection of mirroring sites by service administrator must be done carefully. Each mirroring site must follow the same security procedures in order to ensure the service integrity. Software tools may be applied to ensure data consistency among mirroring sites. 6.5 Denial ofserviceService (DoS) As with any public service, the Handle System is subject to denial of service attack. No general solutions are available to protect against such attack in today's technology. Server implementations may be developed to be aware of such attack and notify its administrator when it happens.The Handle System security protocols need to ensure that the Handle System server is not easy prey to DoS by performing expensive cryptographic operations for messages that are in no way validated as to their source or integrity.Stateless cookies[20, 21][19, 20] are one means to mitigate some of the effects of DoS attacks on hosts that perform authentication, integrity, and encryption services.Handle System security services,Server implementations, moreover, need to be upgradeable to take advantage of new security technologies including anti-DoS technologies as these become available. 7. History of the Handle System The Handle System was originally conceived and developed at CNRI as part of the Computer Science Technical Reports (CSTR) project, funded by the Defense Advanced Projects Agency (DARPA) under Grant Number MDA-972-92-J-1029. One aspect of this early digital library project, which was also a major factor in the evolution of the Networked Computer Science Technical Reference Library (NCSTRL)Sun Expires - January !Undefined Bookmark, SAVEDATE [Page 15] Internet-Draft Handle System Overview July 2002 [19][18] and related activities, was to develop a framework for the underlying infrastructure of digital libraries. It is described in a paper by Robert Kahn and Robert Wilensky[18].[17]. The first implementation was created at CNRI in the fall of 1994 in an effort led by David Ely. Early adopters of the Handle Systemhave includedinclude the Library of Congress, the Defense Technical Information Center (DTIC), and the International DOI Foundation (IDF). Feedback from these organizations as well as NCSTRL, other digital library projects, and related IETF efforts as mentioned above have all contributed to the evolution of the Handle System. Current status and available software, both client and server, can be found at http://www.handle.net. 8. Acknowledgement Sun Expires - April 2003 [Page 15] Internet-Draft Handle System Overview October 2002 This work is derived from the earlier versions of the handle system implementation. Design ideas are based on those discussed within the handle system development team, including David Ely, Charles Orth, Allison Yu, Sean Reilly, Jane Euler, Catherine Rey, Stephanie Nguyen, Jason Petrone, and Helen She. Their contributions to this work are gratefully acknowledged. The authors also thanks and acknowledges Mark Baugher (mbaugher@cisco.com) for his extensive review and comments of these drafts, as well as recommendations received from other members of the IRTF IDRM research group (http://www.idrm.org).Author's Addresses Sam X. Sun Corporation for National Research Initiatives (CNRI) 1895 Preston White Dr. Suite 100 Reston, VA 20191 Phone: 703-262-5316 Email: ssun@cnri.reston.va.us Larry Lannom Corporation for National Research Initiatives (CNRI) 1895 Preston White Dr. Suite 100 Reston, VA 20191 Phone: 703-620-8990 Email: llannom@cnri.reston.va.us Sun Expires - January !Undefined Bookmark, SAVEDATE [Page 16] Internet-Draft Handle System Overview July 2002References and Bibliography [1] The Unicode Consortium, "The Unicode Standard, Version v3.0", Addison-Wesley Pub Co; ISBN: 0201616335 [2] P. Mockapetris, "DOMAIN NAMES - CONCEPTS AND FACILITIES", RFC1034, November1987, http://www.ietf.org/rfc/rfc1034.txt1987 [3] P. Mockapetris, "DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION", RFC1035, November1987, http://www.ietf.org/rfc/rfc1035.txt1987 [4] Berners-Lee, T., Masinter, L., McCahill, M., et al., "Uniform Resource Locators (URL)", RFC1738, December1994, http://www.ietf.org/rfc/rfc1738.txt1994 [5] Yergeau, Francois, "UTF-8, A Transform Format for Unicode and ISO10646", RFC2044, October1996, http://www.ietf.org/rfc/rfc2044.txt1996 [6] ITU-T Rec. X.500, "The Directory: Overview of Concepts, Models, and Services", 1993. [7] D W Chadwick, "Understanding X.500 - The Directory", Chapman & Hall ISBN: 0-412-43020-7. [8] Wahl, M., Howes, T., and S. Kille, "Lightweight Directory Access Protocol (v3)", RFC 2251, December1997, http://www.ietf.org/rfc/rfc2251.txt1997 [9] Sollins, K., and L. Masinter, "Functional Requirements for Uniform Resource Names", RFC 1737, December1994, http://www.ietf.org/rfc/rfc1737.txt1994 [10] Sollins, K. "Architectural Principles of Uniform Resource Name Resolution", RFC 2276, January1998, http://www.ietf.org/rfc/rfc2276.txt1998 [11]S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", RFC2119, March, 1997, http://www.ietf.org/rfc/rfc2119.txt [12]IETF Uniform Resource Names (URN) Working Group, April, 1998, http://www.ietf.org/html.charters/urn-charter.html[13][12] D-Lib Magazine, http://www.dlib.org[14]Sun Expires - April 2003 [Page 16] Internet-Draft Handle System Overview October 2002 [13] Sam X. Sun, "Internationalization of the Handle System - A Persistent Global Name Service", Proceeding of 12th International Unicode Conference, April,1998, http://www.cnri.reston.va.us/unicode-paper.ps [15]1998 [14] D Goodman, C Robbins, "Understanding LDAP & X.500", August 1997[16][15] Deutsch P., Schoultz R., Faltstrom P., and C. Weider, "Architecture of the Whois++ service", RFC 1835, August1995, http://www.ietf.org/rfc/rfc1835.txt [17]1995 [16] Weider, C., J. Fullton, and S. Spero, "Architecture of the Whois++ Index Service", RFC 1913, February1996, http://www.ietf.org/rfc/rfc1913.txt [18]1996 [17] Kahn, Robert and Wilensky, Robert. "A Framework for Distributed Digital Object Services", May,1995, http://www.cnri.reston.va.us/tmp_hp/k-w.html Sun Expires - January !Undefined Bookmark, SAVEDATE [Page 17] Internet-Draft Handle System Overview July 2002 [19]1995 [18] The Networked Computer Science Technical Reports Library (NCSTRL), http://www.ncstrl.org/[20][19] P. Karn, W. Simpson, "Photuris: Session-Key Management Protocol", March,1999, ftp://ftp.isi.edu/in-notes/rfc2522.txt [21]1999 [20] D. Harkins, D Carrel, "The Internet Key Exchange (IKE)", November,1998, ftp://ftp.isi.edu/in-notes/rfc2409.txt [22]1998 [21] S. Sun, S. Reilly, L. Lannom, "Handle System Namespace and Service Definition", IETF draft, http://www.ietf.org/internet- drafts/draft-sun-handle-system-def-05.txt, work in progress.[23][22] S. Sun, S. Reilly, L. Lannom, J. Petrone, "Handle System Protocol Specification", IETF draft, http://www.ietf.org/internet- drafts/draft-sun-handle-system-protocol-02.txt, work in progress. Author's Addresses Sam X. Sun Corporation for National Research Initiatives (CNRI) 1895 Preston White Dr. Suite 100 Reston, VA 20191 Phone: 703-262-5316 Email: ssun@cnri.reston.va.us Larry Lannom Corporation for National Research Initiatives (CNRI) 1895 Preston White Dr. Suite 100 Reston, VA 20191 Phone: 703-620-8990 Email: llannom@cnri.reston.va.us Sun Expires -January !Undefined Bookmark, SAVEDATEApril 2003 [Page18]17] ----