home *** CD-ROM | disk | FTP | other *** search
Text File | 2003-06-11 | 63.3 KB | 1,348 lines |
-
-
-
-
-
-
- Network Working Group K. Sollins
- Request for Comments: 2276 MIT/LCS
- Category: Informational January 1998
-
-
- Architectural Principles of Uniform Resource Name Resolution
-
- Status of this Memo
-
- This memo provides information for the Internet community. It does
- not specify an Internet standard of any kind. Distribution of this
- memo is unlimited.
-
- Copyright Notice
-
- Copyright (C) The Internet Society (1998). All Rights Reserved.
-
- Abstract
-
- This document addresses the issues of the discovery of URN (Uniform
- Resource Name) resolver services that in turn will directly translate
- URNs into URLs (Uniform Resource Locators) and URCs (Uniform Resource
- Characteristics). The document falls into three major parts, the
- assumptions underlying the work, the guidelines in order to be a
- viable Resolver Discovery Service or RDS, and a framework for
- designing RDSs. The guidelines fall into three principle areas:
- evolvability, usability, and security and privacy. An RDS that is
- compliant with the framework will not necessarily be compliant with
- the guidelines. Compliance with the guidelines will need to be
- validated separately.
-
- Table of Contents
-
- 1. Introduction..................................................2
- 2. Assumptions...................................................5
- 3. Guidelines....................................................7
- 3.1 Evolution.....................................................7
- 3.2 Usability....................................................10
- 3.2.1 The Publisher................................................11
- 3.2.2 The Client...................................................12
- 3.2.3 The Management...............................................13
- 3.3 Security and Privacy.........................................14
- 4. The Framework................................................18
- 5. Acknowledgements.............................................23
- 6. References...................................................23
- 7. Author's Address.............................................23
- 8. Full Copyright Statement.....................................24
-
-
-
-
- Sollins Informational [Page 1]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- 1. Introduction
-
- The purpose of this document is to lay out the engineering criteria
- for what we will call here a Resolver Discovery Service (RDS), a
- service to help in the learning about URN (Uniform Resource Name)
- resolvers. The term "resolver" is used in this document to indicate
- a service that translates URNs to URLs (Uniform Resource Locators) or
- URCs (Uniform Resource Characteristics). Some resolvers may provide
- direct access to resources as well. An RDS helps in finding a
- resolver to contact for further resolution. It is worth noting that
- some RDS designs may also incorporate resolver functionality. This
- function of URN resolution is a component of the realization of an
- information infrastructure. In the case of this work, that
- infrastructure is to be available, "in the Internet" or globally, and
- hence the solutions to the problems we are addressing must be
- globally scalable. In this document, we are focussing specifically
- on the design of RDS schemes.
-
- The Uniform Resource Identifier Working Group defined a naming
- architecture, as demonstrated in a series of three RFCs 1736 [1],
- 1737 [2], and 1738 [3]. Although several further documents are
- needed to complete the description of that architecture, it
- incorporates three core functions often associated with "naming":
- identification, location, and mnemonics or semantics. By location,
- we mean fully-qualified Domain Names or IP addresses, possibly
- extended with TCP ports and/or local identifiers, such as pathnames.
- Names may provide the ability to distinguish one resource from
- another, by distinguishing their "names". Names may help to provide
- access to a resource by including "location" information. In
- addition, names may have other semantic or mnemonic information that
- either helps human users remember or figure out the names, or
- includes other semantic information about the resource being named.
- The URI working group concluded that there was need for persistent,
- globally unique identifiers, distinct from location or other semantic
- information; these were called URNs. These "names" provide identity,
- in that if two of them are "the same" (under some simple rule of
- canonicalization), they identify the same resource. Furthermore, the
- group decided that these "names" were generally to be for machine,
- rather than human, consumption. Finally, with these guidelines for
- RDS's, this group has recognized the value of the separation of name
- assignment management from name resolution management.
-
- In contrast to URNs, one can imagine a variety human-friendly naming
- (HFN) schemes supporting different suites of applications and user
- communities. These will need to provide mappings to URNs in tighter
- or looser couplings, depending on the namespace. It is these HFNs
- that will be mnemonic, content-full, and perhaps mutable, to track
- changes in use and semantics. They may provide nicknaming and other
-
-
-
- Sollins Informational [Page 2]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- aliasing, relative or short names, context sensitive names,
- descriptive names, etc. Their definition is not part of this effort,
- but will clearly play an important role in the long run.
-
- URNs as described in RFC 1737 are defined globally; they are
- ubiquitous in that a URN anywhere in any context identifies the same
- resource. Given this requirement on URNs, one must ask about its
- implication for an RDS. Does ubiquity imply a guarantee of RDS
- resolution everywhere? Does ubiquity imply resolution to the same
- information about resolution everywhere? In both cases the answer is
- probably not. One cannot make global, systemic guarantees, except at
- an expense beyond reason. In addition there may be policy as well as
- technical reasons for not resolving in the same way everywhere. It
- is quite possible that the resolution of a URN to an instance of a
- resource may reach different instances or copies under different
- conditions. Thus, although a URN anywhere refers to the same
- resource, in some environments under some conditions, and at
- different times, due to either the vagaries of network conditions or
- policy controls a URN may sometimes be resolvable and other times or
- places not. Ubiquitous resolution cannot be assumed simply because
- naming is ubiquitous. On the other hand wide deployment and usage
- will be an important feature of any RDS design.
-
- Within the URI community there has been a concept used frequently
- that for lack of a better term we will call a _hint_. A hint is
- something that helps in the resolution of a URN; in theory we map
- URNs to hints as an interim stage in accessing a resource. In
- practice, an RDS may map a URN directly into the resource itself if
- it chooses to. It is very likely that there will be hints that are
- applicable to large sets of URNs, for example, a hint that indicates
- that all URNs with a certain prefix or suffix can be resolved by a
- particular resolver. A hint may also have meta-information
- associated with it, such as an expiration time or certification of
- authenticity. We expect that these will stay with a hint rather than
- being managed elsewhere. We will assume in all further discussion of
- hints that they include any necessary meta-information as well as the
- hint information itself. Examples of hints are: 1) the URN of a
- resolver service that may further resolve the URN, 2) the address of
- such a service, 3) a location at which the resource was previously
- found. The defining feature of hints is that they are only hints;
- they may be out of date, temporarily invalid, or only applicable
- within a specific locality. They do not provide a guarantee of
- access, but they probably will help in the resolution process. By
- whatever means available, a set of hints may be discovered. Some
- combination of software and human choice will determine which hints
- will be tried and in what order.
-
-
-
-
-
- Sollins Informational [Page 3]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- We must assume that most resolutions of URNs will be provided by the
- use of locally stored hints, because maintaining a database of
- globally available, completely up-to-date location information is
- infeasible for performance reasons. There are a number of
- circumstances in which one can imagine that hints become invalid,
- either because a resource has moved or because a different URN
- resolver service has taken over the responsibility for resolution of
- the URN. Hints may be found in a variety of places. It is generally
- assumed that a well engineered system will maintain or cache a set of
- hints for each URN at each location where that URN is found. These
- may have been acquired from the owner of the resources, a
- recommendation of the resource, or one of many other sources. In
- addition, for those situations in which those hints found locally
- fail, a well engineered system will provide a fall-back mechanism for
- discovering further hints. It is this fall-back mechanism, an RDS,
- that is being addressed in this document. As with all hints, there
- can never be a guarantee that access to a resource will be available
- to all clients, even if the resource is accessible to some. However,
- an RDS is expected to work with reasonably high reliability, and,
- hence, may result in increased response time.
-
- The remainder of this document falls into three sections. The first
- identifies several sets of assumptions underlying this work. There
- are three general assumptions:
-
- * URNs are persistent;
- * URN assignment can be delegated;
- * Decisions can be made independently, enabling isolation from
- decisions of one's peers.
-
- The next section lays out three central principles Resolver Discovery
- Service design. For each of these, we have identified a number of
- more specific guidelines that further define and refine the general
- principle. This section is probably the most critical of the
- document, because one must hold any proposed RDS scheme up against
- these principles and corollary guidelines to learn whether or not it
- is adequate. The three central principles can be summarized as:
-
- 1) An RDS must allow for evolution and evolvability;
- 2) Usability of an RDS with regard to each of the sets of
- constituents involved in the identification and location or
- resources is paramount;
- 3) It is centrally important that the security and privacy needs
- of all constituents be feasibly supported, to the degree
- possible.
-
- Each of the three major subsections of the guidelines section begins
- with a summary list of the more detailed guidelines identified in
-
-
-
- Sollins Informational [Page 4]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- that section.
-
- The final section of the document lays out a framework for such RDSs.
- The purpose of this last section is to bound the search space for RDS
- schemes. The RDS designer should be aware that meeting the
- guidelines is of primary importance; it is possible to meet them
- without conforming to the framework. As will be discussed further in
- this last section, designing within the framework does not guarantee
- compliance, so compliance evaluation must also be part of the process
- of evaluation of a scheme.
-
- 2. Assumptions
-
- Based on previous internet drafts and discussion in both the URN BOFs
- and on the URN WG mailing list, three major areas of assumptions are
- apparent: longevity, delegation, and independence. Each will be
- discussed separately.
-
- The URN requirements [2] state that a URN is to be a "persistent
- identifier". It is probably the case that nothing will last forever,
- but in the time frame of resources, users of those resources, and the
- systems to support the resources, the identifier should be considered
- to be persistent or have a longer lifetime than those other entities.
- There are two assumptions that are implied by longevity of URNs:
- mobility and evolution. Mobility will occur because resources may
- move from one machine to another, owners of resources may move among
- organizations, or the organizations themselves may merge, partition,
- or otherwise transforms themselves. The Internet is continually
- evolving; protocols are being revised, new ones created, while
- security policies and mechanisms evolve as well. These are only
- examples. In general, we must assume that almost any piece of the
- supporting infrastructure of URN resolution will evolve. In order to
- deal with both the mobility and evolution assumptions that derive
- from the assumption of longevity, we must assume that users and their
- applications can remain independent of these mutating details of the
- supporting infrastructure.
-
- The second assumption is that naming and resolution authorities may
- delegate some of their authority or responsibility; in both cases,
- the delegation of such authority is the only known method of allowing
- for the kind of scaling expected. It is important to note that a
- significant feature of this work is the potential to separate name
- assignment, the job of labelling a resource with a URN, from name
- resolution, the job of discovering the resource given the URN. In
- both cases, we expect multi-tiered delegation. There may be RDS
- schemes that merge these two sets of responsibilities and delegation
- relationships; by doing so, they bind together or overload two
- distinctly different activities, thus probably impeding growth.
-
-
-
- Sollins Informational [Page 5]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- The third assumption is independence or isolation of one authority
- from another and, at least to some extent, from its parent. When one
- authority delegates some of its rights and responsibilities to
- another authority, the delegatee can operate in that domain
- independently of its peers and within bounds specified by the
- delegation, independently of the delegator. This isolation is
- critically important in order to allow for independence of policy and
- mechanism.
-
- This third assumption has several corollaries. First, we assume that
- the publisher of a resource can choose resolver services,
- independently of choices made by others. At any given time, the
- owner of a namespace may choose a particular URN resolver service for
- that delegated namespace. Such a URN resolver service may be outside
- the RDS service model, and only identified or located by the RDS
- service. Second, it must be possible to make a choice among RDS
- services. The existence of multiple RDS services may arise from the
- evolution of an RDS service, or development of new ones. Although at
- any given time there is likely to be only one or a small set of such
- services, the number is likely to increase during a transition period
- from one architecture to another. Thus, it must be assumed that
- clients can make a choice among a probably very small set of RDSs.
- Third, there must be independence in the choice about levels and
- models of security and authenticity required. This choice may be
- made by the owner of a naming subspace, in controlling who can modify
- hints in that subspace. A naming authority may delegate this choice
- to the owners of the resources named by the names it has assigned.
- There may be limitations on this freedom of choice in order to allow
- other participants to have the level of security and authenticity
- they require, for example, in order to maintain the integrity of the
- RDS infrastructure as a whole. Fourth, there is an assumption of
- independence of choice of the rule of canonicalization of URNs within
- a namespace, limited by any restrictions or constraints that may have
- been set by its parent namespace. This is a choice held by naming
- authorities over their own subnamespaces. Rules for canonicalization
- will be discussed further in the framework section below. Thus,
- there are assumptions of independence and isolation to allow for
- delegated, independent authority in a variety of domains.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sollins Informational [Page 6]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- The modularity assumptions of delegation and isolation imply
- independence of decision and implementation, leading to a
- decentralization that provides a certain degree of safety from denial
- of service. Based on these these assumptions in conjunction with
- that of longevity and those for URLs and URNs as detailed in RFCs
- 1736 and 1737, we can now turn to the guidelines for an RDS.
-
- 3. Guidelines
-
- The guidelines applying to an RDS center around three important
- design principles in the areas of evolvability, usability, and
- security and privacy. At its core the function of an RDS is to
- provide hints for accessing a resource given a URN for it. These
- hints may range in applicability from local to global, and from
- short-lived to long-lived. They also may vary in their degree of
- verifiable authenticity. While it may be neither feasible nor
- necessary that initial implementations support every guideline, every
- implementation must support evolution to systems that do support the
- guidelines more fully.
-
- It is important to note that there are requirements, not applicable
- specifically to an RDS that must also be met. A whole URN system
- will consist of names in namespaces, the resolution information for
- them, and the mapping from names in the namespaces to resolution
- information (or hints). URNs themselves must meet the requirements
- of RFC 1737. In addition, namespaces themselves must meet certain
- requirements as described by the URN Working Group [4]. Although all
- these requirements and guidelines are not described here, they must
- be supported to provide an acceptable system.
-
- Each section below begins with a summary of the points made in that
- section. There is some degree of overlap among the areas, such as in
- allowing for the evolution of security mechanisms, etc., and hence
- issues may be addressed in more than one section. It is also
- important to recognize that conformance with the guidelines will
- often be subjective. As with many IETF guidelines and requirements,
- many of these are not quantifiable and hence conformance is a
- judgment call and a matter of degree. Lastly, the reader may find
- that some of them are those of general applicability to distributed
- systems and some are specific to URN resolution. Those of general
- applicability are included for completeness and are not distinguished
- as such.
-
- 3.1 Evolution
-
- The issues in the area of the first principle, that of evolvability,
- are:
-
-
-
-
- Sollins Informational [Page 7]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- 1.1) An RDS must be able to support scaling in at least three
- dimensions: the number of resources for which URNs will be
- required, the number of publishers and users of those
- resources, and the complexity of the delegation, as
- authority for resolution grows and possibly reflects
- delegation in naming authority;
- 1.2) A hint resolution environment must support evolution of
- mechanisms, specifically for:
- * a growing set of URN schemes;
- * new kinds local URN resolver services;
- * new authentication schemes;
- * alternative RDS schemes active simultaneously;
- 1.3) An RDS must allow the development and deployment of
- administrative control mechanisms to manage human behavior
- with respect to limited resources.
-
- One of the lessons of the Internet that we must incorporate into the
- development of mechanisms for resolving URNs is that we must be
- prepared for change. Such changes may happen slowly enough to be
- considered evolutionary modifications of existing services, or
- dramatically enough to be considered revolutionary. They may
- permeate the Internet universe bit by bit, living side by side with
- earlier services or they may take the Internet by storm, causing an
- apparent complete transformation over a short period of time. There
- are several directions in which we can predict the need for
- evolution. At the very least, the community and the mechanisms
- proposed should be prepared for these.
-
- First, scaling is a primary issue in conjunction with evolution. The
- number of users, both human and electronic, as well as the number of
- resources will continue to grow exponentially for the near term, at
- least. Hence the number of URNs will also increase similarly. In
- addition, with growth in sheer numbers is likely to come growth in
- the delegation of both naming authority and resolution authority.
- These facts mean that an RDS design must be prepared to handle
- increasing numbers of requests for inclusion, update and resolution,
- in a set of RDS servers perhaps inter-related in more complex ways.
- This is not to say that there will necessarily be more updates or
- resolutions per URN; we cannot predict that at this time. But, even
- so, the infrastructure may become more complex due to delegation,
- which may (as can be seen in Section 4 on the framework) lead to more
- complex rules for rewriting or extracting terms for staged
- resolution. Any design is likely to perform less well above some set
- of limits, so it is worth considering the growth limitations of each
- design alternative.
-
-
-
-
-
-
- Sollins Informational [Page 8]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- Second, we expect there to be additions and changes to the
- mechanisms. The community already understands that there must be a
- capacity for new URN schemes, as described in [4]. A URN scheme will
- define a set of URNs that meet the URN requirements [2], but may have
- further constraints on the internal structure of the URN. The
- intention is that URN schemes can be free to specify parts of the URN
- that are left opaque in the larger picture. In fact, a URN scheme
- may choose to make public or keep private the algorithms for any such
- "opaque" part of the URN. In any case, we must be prepared for a
- growing number of URN schemes.
-
- Often in conjunction with a new URN scheme, but possibly
- independently of any particular URN scheme, new kinds of resolver
- services may evolve. For example, one can imagine a specialized
- resolver service based on the particular structure of ISBNs that
- improves the efficiency of finding documents given their ISBNs.
- Alternatively, one can also imagine a general purpose resolver
- service that trades performance for generality; although it exhibits
- only average performance resolving ISBNs, it makes up for this
- weakness by understanding all existing URN schemes, so that its
- clients can use the same service to resolve URNs regardless of naming
- scheme. In this context, there will always be room for improvement
- of services, through improved performance, better adaptability to new
- URN schemes, or lower cost, for example. New models for URN
- resolution will evolve and we must be prepared to allow for their
- participation in the overall resolution of URNs.
-
- If we begin with one overall plan for URN resolution, into which the
- enhancements described above may fit, we must also be prepared for an
- evolution in the authentication schemes that will be considered
- either useful or necessary in the future. There is no single
- globally accepted authentication scheme, and there may never be one.
- Even if one does exist at some point in time, we must always be
- prepared to move on to newer and better schemes, as the old ones
- become too easily spoofed or guessed.
-
- In terms of mechanism, although we may develop and deploy a single
- RDS scheme initially, we must be prepared for that top level model to
- evolve. Thus, if the RDS model supports an apparently centralized
- (from a policy standpoint) scheme for inserting and modifying
- authoritative information, over time we must be prepared to evolve to
- a different model, perhaps one that has a more distributed model of
- authority and authenticity. If the model has no core but rather a
- cascaded partial discovery of information, we may find that this
- becomes unmanageable with an increase in scaling. Whatever the
- model, we must be prepared for it to evolve with changes in scaling,
- performance, and policy constraints such as security and cost.
-
-
-
-
- Sollins Informational [Page 9]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- The third evolutionary issue is even more mechanical than the others.
- At any point in time, the community is likely to be supporting a
- compromise position with respect to resolution. We will probably be
- operating in a situation balanced between feasibility and the ideal,
- perhaps with policy controls used to help stabilize use of the
- service. Ideally, the service would be providing exactly what the
- customers wanted and they in turn would not request more support than
- they need, but it seems extremely unlikely. Since we will almost
- always be in a situation in which some service provision resources
- will be in short supply, some form of policy controls will generally
- be necessary. Some policy controls may be realized as mechanisms
- within the servers or in the details of protocols, while others may
- only be realized externally to the system. For example, suppose hint
- entries are being submitted in such volume that the hint servers are
- using up their excess capacity and need more disk space. Two
- suggestions for policy control are pricing and administrative. As
- technology changes and the balance of which resources are in short
- supply changes, the mechanisms and policies for controlling their use
- must evolve as well.
-
- 3.2 Usability
-
- To summarize, the usability guidelines fall into three areas based on
- participation in hint management and discovery:
-
- 2.1) The publisher
- 2.1.1) URN to hint resolution must be correct and efficient
- with very high probability;
- 2.1.2) Publishers must be able to select and move among URN
- resolver services to locate their resources;
- 2.1.3) Publishers must be able to arrange for multiple access
- points for their location information;
- 2.1.4) Publishers should be able to provide hints with
- varying lifetimes;
- 2.1.5) It must be relatively easy for publishers to specify
- to the management and observe their hint information as
- well as any security constraints they need for their
- hints.
- 2.2) The client
- 2.2.1) The interface to the RDS must be simple, effective,
- and efficient;
- 2.2.2) The client and client applications must be able to
- understand the information stored in and provided by
- the RDS easily, in order to be able to make informed
- choices.
- 2.3) The management
- 2.3.1) The management of hints must be as unobtrusive as
- possible, avoiding using too many network resources;
-
-
-
- Sollins Informational [Page 10]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- 2.3.2) The management of hints must allow for administrative
- controls that encourage certain sorts of behavior
- deemed necessary to meet other requirements;
- 2.3.3) The configuration and verification of configuration of
- individual RDS servers must be simple enough not to
- discourage configuration and verification.
-
- Usability can be evaluated from three distinct perspectives: those of
- a publisher wishing to make a piece of information public, those of a
- client requesting URN resolution, and those of the provider or
- manager of resolution information. We will separately address the
- usability issues from each of these three perspectives. It is
- important to recognize that these may be sitautions in which
- interests of some of the participants (for exampel a use and a
- publisher) may be in conflict; some resolution will be needed.
-
- It is worth noting that there are two additional sorts of
- participants in the whole naming process, as discussed in the URN WG.
- They are the naming authorities which choose and assign names, and
- the authors who include URNs in their resources. These two are not
- relevant to the design of an RDS and hence are not discussed further
- here.
-
- 3.2.1 The Publisher
-
- The publisher must be able to make URNs known to potential customers.
- From the perspective of a publisher, it is of primary importance that
- URNs be correctly and efficiently resolvable by potential clients
- with very high probability. Publishers stand to gain from long-lived
- URNs, since they increase the chance that references continue to
- point to their published resources.
-
- The publisher must also be able to choose easily among a variety of
- potential services that might translate URNs to location information.
- In order to allow for this mobility among resolvers, the RDS
- architecture must support such transitions, within policy control
- bounds. It is worth noting that although multiple listing services
- are available in telephone books, they are generally accompanied by a
- fee. There is nothing preventing there being fees collected for
- similar sorts of services with respect to URNs.
-
- The publisher must be able to arrange for multiple access points to a
- published resource. For this to be useful, resolver services should
- be prepared to provide different resolution or hint information to
- different clients, based on a variety of information including
- location and the various access privileges the client might have. It
- is important to note that this may have serious implications for
- caching this information. For example, companies might arrange for
-
-
-
- Sollins Informational [Page 11]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- locally replicated copies of popular resources, and would like to
- provide access to the local copies only for their own employees.
- This is distinct from access control on the resource as a whole, and
- may be applied differently to different copies.
-
- The publisher should be able to provide both long and short term
- location information about accessing the resource. Long term
- information is likely to be such information as the long term address
- of a resource itself or the location or identity of a resolver
- service with which the publisher has a long term relationship. One
- can imagine that the arrangement with such a long term
- "authoritative" resolver service might be a guarantee of reliability,
- resiliency to failure, and atomic updates. Shorter term information
- is useful for short term changes in services or to avoid short lived
- congestion or failure problems. For example, if the actual
- repository of the resource is temporarily inaccessible, the resource
- might be made available from another repository. This short term
- information can be viewed as temporary refinements of the longer term
- information, and as such should be more easily and quickly made
- available, but may be less reliable. Some RDS designs may not
- distinguish between these two extremes.
-
- Lastly, the publishers will be the source of much hint information
- that will be stored and served by the manager of the infrastructure.
- Despite the fact that many publishers will not understand the details
- of the RDS mechanism, it must be easy and straightforward for them to
- install hint information. This means that in general any one who
- wishes to publish and to whom the privilege of resolution has been
- extended through delegation, can do so. The publisher must be able
- not only to express hints, but also to verify that what is being
- served by the manager is correct. Furthermore, to the extent that
- there are security constraints on hint information, the publisher
- must be able to both express them and verify compliance with them
- easily.
-
- 3.2.2 The Client
-
- From the perspective of the client, simplicity and usability are
- paramount. Of critical importance to serving clients effectively is
- that there be an efficient protocol through which the client can
- acquire hint information. Since resolving the name is only the first
- step on the way to getting access to a resource, the amount of time
- spent on it must be minimized.
-
- Furthermore, it will be important to be able to build simple,
- standard interfaces to the RDS so that both the client and
- applications on the client's behalf can interpret hints and
- subsequently make informed choices. The client, perhaps with the
-
-
-
- Sollins Informational [Page 12]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- assistance of the application, must be able to specify preferences
- and priorities and then apply them. If the ordering of hints is only
- partial, the client may become directly
-
- involved in the choice and interpretation of them and hence they must
- be understandable to that client. On the other hand, in general it
- should be possible to configure default preferences, with individual
- preferences viewed as overriding any defaults.
-
- From the client's perspective, although URNs will provide important
- functionality, the client is most likely to interact directly only
- with human friendly names (HFNs). As in direct human interaction
- (not computer mediated), the sharing of names will be on a small,
- private, or domain specific scale. HFNs will be the sorts of
- references and names that are easy to remember, type, choose among,
- assign, etc. There will also need to be a number of mechanisms for
- mapping HFNs to URNs. Such services as "yellow pages" or "search
- tools" fall into this category. Although we are mentioning HFNs
- here, it is important to recognize that HFNs and the mappings from
- HFNs to URNs is and must remain a separate functionality from an RDS.
- Hence, although HFNs will be critical to clients, they do not fall
- into the domain of this document.
-
- 3.2.3 The Management
-
- Finally, we must address the usability concerns with respect to the
- management of the hint infrastructure itself. What we are terming
- "management" is a service that is distinct from publishing; it is the
- core of an RDS. It involves the storage and provision of hints to
- the clients, so that they can find published resources. It also
- provides security with respect to name resolution to the extent that
- there is a commitment for provision of such security; this is
- addressed in Section 3.3 below.
-
- The management of hints must be as unobtrusive as possible. First,
- its infrastructure (hint storage servers and distribution protocols)
- must have as little impact as possible on other network activities.
- It must be remembered that this is an auxiliary activity and must
- remain in the background.
-
- Second, in order to make hint management feasible, there may need to
- be a system for administrative incentives and disincentives such as
- pricing or legal restrictions. Recovering the cost of running the
- system is only one reason for levying charges. The introduction of
- payments often has an impact on social behavior. It may be necessary
- to discourage certain forms of behavior that when out of control have
- serious negative impact on the whole community. At the same time,
- any administrative policies should encourage behavior that benefits
-
-
-
- Sollins Informational [Page 13]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- the community as a whole. Thus, for example, a small one-time charge
- for authoritatively storing a hint might encourage conservative use
- of hints. If we assume that there is a fixed cost for managing a
- hint, then the broader its applicability across the URN space, the
- more cost effective it is. That is, when one hint can serve for a
- whole collection of URNs, there will be an incentive to submit one
- general hint over a large number of more specific hints. Similar
- policies can be instituted to discourage the frequent changing of
- hints. In these ways and others, behavior benefitting the community
- as a whole can be encouraged.
-
- Lastly, symmetric to issues of usability for publishers, it must also
- be simple for the management to configure the mapping of URNs to
- hints. It must be easy both to understand the configuration and to
- verify that configuration is correct. With respect to management,
- this issue may have an impact not only on the information itself but
- also on how it is partitioned among network servers that
- collaboratively provide the management service or RDS. For example,
- it should be straightforward to bring up a server and verify that the
- data it is managing is correct. Although this is not a guideline, it
- is worth nothing that since we are discussing a global and probably
- growing service, encouraging volunteer participants suggests that, as
- with the DNS, such volunteers can feel confident about the service
- they are providing and its benefit to both themselves and the rest of
- the community.
-
- 3.3 Security and Privacy
-
- In summary, security and privacy guidelines can be identified as some
- degree of protection from threats. The guidelines that fall under
- this third principle, that of security, are all stated in terms of
- possibilities or options for users of the service to require and
- utilize. Hence they address the availability of functionality, but
- not for the use of it. We recognize that all security is a matter of
- degree and compromise. These may not satisfy all potential
- customers, and there is no intention here to prevent the building of
- more secure servers with more secure protocols to suit their needs.
- These are intended to satisfy the needs of the general public.
-
- 3.1) It must be possible to create authoritative versions of a
- hint with access-to-modification privileges controlled;
- 3.2) It must be possible to determine the identity of servers or
- avoid contact with unauthenticated servers;
- 3.3) It must be possible to reduce the threat of denial of
- service by broad distribution of information across servers;
- 3.4) It must be possible within the bounds of organizational
- policy criteria to provide at least some degree of privacy
- for traffic;
-
-
-
- Sollins Informational [Page 14]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- 3.5) It must be possible for publishers to keep private certain
- information such as an overall picture of the resources they
- are publishing and the identity of their clients;
- 3.6) It must be possible for publishers to be able to restrict
- access to the resolution of the URNs for the resources they
- publish, if they wish.
-
- When one discusses security, one of the primary issues is an
- enumeration of the threats being considered for mitigation. The
- tradeoffs often include cost in money and computational and
- communications resources, ease of use, likelihood of use, and
- effectiveness of the mechanisms proposed. With this in mind, let us
- consider a set of threats.
-
- Voydock and Kent [5] provide a useful catalog of potential threats.
- Of these the passive threats to privacy or confidentiality and the
- active threats to authenticity and integrity are probably the most
- important to consider here. To the extent that spurious association
- causes threats to the privacy, authenticity, or integrity with
- respect to information within servers managing data, it is also
- important. Denial of service is probably the most difficult of these
- areas of threats both to detect and to prevent, and we will therefore
- set it aside for the present as well, although it will be seen that
- solutions to other problems will also mitigate some of the problems
- of denial of service. Furthermore, because this is intended to be
- provide a global service to meet the needs of a variety of
- communities, the engineering tradeoffs will be different for
- different clients. Hence the guidelines are stated in terms of, "It
- must be possible..." It is important to note that the information of
- concern here is hint information, which by nature is not guaranteed
- to be correct or up-to-date; therefore, it is unlikely to be worth
- putting too much expense into the correctness of hints, because there
- is no guarantee that they are still correct anyway. The exact choice
- of degree of privacy, authenticity, and integrity must be determined
- by the needs of the client and the availability of services from the
- server.
-
- To avoid confusion it is valuable to highlight the meanings of terms
- that have different meanings in other contexts. In this case, the
- term "authoritative" as it is used here connotes the taking of an
- action or stamp of approval by a principal (again in the security
- sense) that has the right to perform such an act of approval. It has
- no implication of correctness of information, but only perhaps an
- implication of who claimed it to be correct. In contrast, the term
- is often also used simply to refer to a primary copy of a piece of
- information for which there may also be secondary or cached copies
- available. In this discussion of security we use the former meaning,
- although it may also be important to be able to learn about whether a
-
-
-
- Sollins Informational [Page 15]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- piece of information is from a primary source or not and request that
- it be primary. This second meaning arises elsewhere in the document
- and is so noted there.
-
- It is also important to distinguish various possible meanings for
- "access control". There are two areas in which distinctions can be
- made. First, there is the question of the kind of access control
- that is being addressed, for example, in terms of hints whether it is
- read access, read and modify access, or read with verification for
- authenticity. Second, there is the question of to what access is
- being controlled. In the context of naming it might be the names
- themselves (not the case for URNs), the mapping of URNs to hints (the
- business of an RDS), the mapping of URNs to addresses (not the
- business of an RDS as will be discussed below in terms of privacy),
- or the resource itself (unrelated to naming or name resolution at
- all). We attempt to be clear about what is meant when using "access
- control".
-
- There is one further issue to address at this point, the distinction
- between mechanism and policy. In general, a policy is realized by
- means of a set of mechanisms. In the case of an RDS there may be
- policies internal to the RDS that it needs to have supported in order
- to do its business as it sees fit. Since, in general it is in the
- business of storing and distributing information, most of its
- security policies may have to do with maintaining its own integrity,
- and are rather limited. Beyond that, to the degree possible, it
- should impose no policy on its customers, the publishers and users.
- It is they that may have policies that they would like supported by
- the RDS. To that end, an RDS should provide a spectrum of "tools" or
- mechanisms that the customers can cause to be deployed on their
- behalf to realize policies. An RDS may not provide all that is
- needed by a customer. A customer may have different requirements
- within his or her administrative bounds than outside. Thus, "it must
- be possible..." captures the idea that the RDS must generally
- provide the tools to implement policies as needed by the customers.
-
- The first approach to URN resolution is to discover local hints. In
- order for hints to be discovered locally, they will need to be as
- widely distributed as possible to what is considered to be local for
- every locale. The drawback of such wide distribution is the wide
- distribution of updates, causing network traffic problems or delays
- in delivering updates. An alternative model would concentrate hint
- information in servers, thus requiring that update information only
- be distributed to these servers. In such a model the vulnerable
- points are the sources of the information and the distribution
- network among them. Attackers on the integrity of the information
- stored in a server may come in the form of masquerading as the owner
- or the server of the information. Wide replication of information
-
-
-
- Sollins Informational [Page 16]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- among servers increases the difficult of masquerading at all the
- locations of the information as well as reducing the threat of denial
- service. These lead us to three identifiable guidelines for our
- security model:
-
- * ACCESS CONTROL ON HINTS: It must be possible to create an
- authoritative version of each hint with change control limited only
- to those principals with the right to modify it. The choice of who
- those principals are or whether they are unlimited must be made by
- the publisher of a hint.
-
- * SERVER AUTHENTICITY: Servers and clients must be able to learn the
- identity of the servers with which they communicate. This will be
- a matter of degree and it is possible that there will be more
- trustworthy, but less accessible servers, supported by a larger
- cluster of less authenticatable servers that are more widely
- available. In the worst case, if the client receives what appears
- to be unvalidated information, the client should assume that the
- hint may be inaccurate and confirmation of the data might be sought
- from more reliable but less accessible sources.
-
- * SERVER DISTRIBUTION: Broad availability will provide resistance to
- denial of service. It is only to the extent that the services are
- available that they provide any degree of trustworthiness. In
- addition, the distribution of services will reduce vulnerability of
- the whole community, by reducing the trust put in any single
- server. This must be mitigated by the fact that to the extent
- trust is based on a linked set of servers, if any one fails, the
- whole chain of trust fails; the more elements there are in such a
- chain, the more vulnerable it may become.
-
- Privacy can be a double-edged sword. For example, on one hand, an
- organization may consider it critically important that its
- competitors not be able to read its traffic. On the other hand, it
- may also consider it important to be able to monitor exactly what its
- employees are transmitting to and from whom, for a variety of reasons
- such as reducing the probability that its employees are giving or
- selling the company's secrets to verifying that employees are not
- using company resources for private endeavor. Thus, although there
- are likely to be needs for privacy and confidentiality, what they
- are, who controls them and how, and by what mechanisms vary widely
- enough that it is difficult to say anything concrete about them here.
-
- The privacy of publishers is much easier to address. Since they are
- trying to publish something, in general privacy is probably not
- desired. However, publishers do have information that they might
- like to keep private: information about who their clients are, and
- information about what names exist in their namespace. The
-
-
-
- Sollins Informational [Page 17]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- information about who their clients are may be difficult to collect
- depending on the implementation of the resolution system. For
- example, if the resolution information relating to a given publisher
- is widely replicated, the hits to _each_ replicated copy would need
- to be recorded. Of course, determining if a specific client is
- requesting a given name can be approached from the other direction,
- by watching the client as we saw above.
-
- There are likely to be some publishers publishing for a restricted
- audience. To the extent they want to restrict access to a resource,
- that is the responsibility of the repository providing and
- restricting access to the resource. If they wish to keep the name
- and hints for a resource private, a public RDS may be inadequate for
- their needs. In general, it is intended for those who want customers
- to find their resources in an unconstrained fashion.
-
- The final privacy issue for publishers has to do with access control
- over URN resolution. This issue is dependent on the implementation
- of the publisher's authoritative (in the sense of "primary) URN
- resolver server. URN resolver servers can be designed to require
- proof of identity in order to be issued resolution information; if
- the client does not have permission to access the URN requested, the
- service denies that such a URN exists. An encrypted protocol can
- also be used so that both the request and the response are obscured.
- Encryption is possible in this case because the identity of the final
- recipient is known (i.e. the URN server). Thus, access control over
- URN resolution can and should be provided by resolver servers rather
- than an RDS.
-
- 4. The Framework
-
- With these assumptions and guidelines in mind, we conclude with a
- general framework within which RDS designs may fall. As stated
- earlier, although this framework is put forth as a suggested guide
- for RDS designers, compliance with it will in no way guarantee
- compliance with the guidelines. Such an evaluation must be performed
- separately. All such lack of compliance should be clearly
- documented.
-
- The design of the framework is based on the syntax of a URN as
- documented in RFC-2141 [6]. This is:
-
- URN:<NID>:<NSS>
-
- where URN: is a prefix on all URNs, NID is the namespace identifier,
- and NSS is the namespace specific string. The prefix identifies each
- URN as such. The NID determines the general syntax for all URNs
- within its namespace. The NSS is probably partitioned into a set of
-
-
-
- Sollins Informational [Page 18]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- delegated and subdelegated namespaces, and this is possibly reflected
- in further syntax specifications. In more complex environments, each
- delegated namespace will be permitted to choose the syntax of the
- variable part of the namespace that has been delegated to it. In
- simpler namespaces, the syntax will be restricted completely by the
- parent namespace. For example, although the DNS does not meet all
- the requirements for URNs, it has a completely restricted syntax,
- such that any further structuring must be done only by adding further
- refinements to the left, maintaining the high order to low order,
- right to left structure. A delegated syntax might be one in which a
- host is named by the DNS, but to the right of that and separated by
- an "@" is a string whose internal ordering is defined by the file
- system on the host, which may be defined high order to low order,
- left to right. Of course, much more complex and nested syntaxes
- should be possible, especially given the need to grandfather
- namespaces. In order to resolve URNs, rules will be needed for two
- reasons. One is simply to canonicalize those namespaces that do not
- fall into a straightforward (probably right to left or left to right)
- ordering of the components of a URN, as determined by the delegated
- naming authorities involved. It is also possible that rules will be
- needed in order to derive from URNs the names of RDS servers to be
- used in stages.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sollins Informational [Page 19]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- URN:<NID><NSS>
- |
- |
- |
- |
- v
- +-------------------+
- |Global NID registry|
- +-------------------+
- |
- |
- |
- (return rule or URN resolver service reference)
- |
- +----------------------------------+
- | |
- +->(apply rule to determine RDS server) |
- | | |
- | | |
- | | |
- | +----------+ |
- | |RDS server| +-----------------+
- | +----------+ |
- | | | v
- | | | (set of choices)
- | | +----+----------(...)--------+
- | (rule) | |
- | | | |
- | | | |
- +------+ | |
- v v
- +----------+ +----------+
- |URN | |URN |
- |resolver | |resolver |
- |service | |service |
- +----------+ +----------+
-
- Figure 1: An RDS framework
-
- The NID defines a top level syntax. This syntax will determine
- whether the NID alone or in conjunction with some extraction from the
- NSS (for the top level naming authority name) is to be used to
- identify the first level server to be contacted. At each stage of
- the lookup either a new rule for generating the strings used in yet
- another lookup (the strings being the identity of another RDS server
- and possibly a string to be resolved if it is different than the
- original URN) or a reference outside the RDS to a URN resolver
- service, sidestepping any further use of the RDS scheme. Figure 1
-
-
-
- Sollins Informational [Page 20]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- depicts this process.
-
- There are several points worth noting about the RDS framework.
- First, it leaves open the determination of the protocols, data
- organization, distribution and replication needed to support a
- particular RDS scheme. Second, it leaves open the location of the
- computations engendered by the rules. Third, it leaves open the
- possibility that partitioning (distribution) of the RDS database need
- not be on the same boundaries as the name delegation. This may seem
- radical to some, but if the information is stored in balanced B-trees
- for example, the partitioning may not be along those naming authority
- delegation boundaries (see [7]). Lastly, it leaves open access to
- the Global NID Registry. Is this distributed to every client, or
- managed in widely distributed servers? It is important to note that
- it is the intention here that a single RDS scheme is likely to
- support names from many or all naming schemes, as embodied in their
- NIDs.
-
- One concept that has not been addressed in Figure 1 is that there may
- be more than one RDS available at any given time, in order to allow
- for evolution to new schemes. Thus, the picture should probably look
- more like Figure 2.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sollins Informational [Page 21]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- URN:<NID>:<NSS>
- |
- |
- +-----------+-------(...)-------+
- | |
- | |
- | |
- v v
- +---------------------+ +---------------------+
- |Global NID registry 1| |Global NID registry N|
- +---------------------+ +---------------------+
- . .
- . .
- . .
-
-
- Figure 2: More than one co-existing RDS scheme
-
- If we are to support more than one co-existing RDS scheme, there will
- need to be coordination among them with respect to storage and
- propagation of information and modifications. The issue is that
- generally it should be assumed that all information should be
- available through any operational RDS scheme. One cannot expect
- potential publishers to submit updates to more than one RDS scheme.
- Hence there will need to be a straightforward mapping of information
- from one to the other of these schemes. It is possible that that
- transformation will only go in one direction, because a newer RDS
- service is replacing an older one, which is not kept up to date, in
- order to encourage transfer to the newer one. Thus, at some point,
- updates may be made only to the newer one and not be made available
- to the older one, as is often done with library catalogs.
-
- This framework is presented in order to suggest to RDS scheme
- designers a direction in which to start designing. It should be
- obvious to the reader that adherence to this framework will in no way
- guarantee compliance with the guidelines or even the assumptions
- described in Sections 2 and 3. These must be reviewed independently
- as part of the design process. There is no single correct design
- that will conform to these guidelines. Furthermore, it is assumed
- that preliminary proposals may not meet all the guidelines, but
- should be expected to itemized and justify any lack of compliance.
-
-
-
-
-
-
-
-
-
-
- Sollins Informational [Page 22]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- 5. Acknowledgments
-
- Foremost acknowledgment for this document goes to Lewis Girod, as my
- co-author on a preliminary URN requirements document and for his
- insightful comments on this version of the document. Thanks also go
- to Ron Daniel especially for his many comments on my writing. In
- addition, I recognize the contributors to a previous URN framework
- document, the "Knoxville" group. There are too many of you to
- acknowledge here individually, but thank you. Finally, I must thank
- the contributors to the URN working group and mailing list (urn-
- ietf@bunyip.com), for your animated discussions on these and related
- topics.
-
- 6. References
-
- [1] Kunze, J., "Functional Recommendations for Internet Resource
- Locators", RFC 1736, February 1995.
-
- [2] Sollins, K., and L. Masinter, "Functional Requirements for
- Uniform Resource Names", RFC 1738, December 1994.
-
- [3] Berners-Lee, T., Masinter, L., and M. McCahill, "Uniform Resource
- Locators (URL)", RFC 1738, December 1994.
-
- [4] URN Working Group, "Namespace Identifier Requirements for URN
- Services," Work in Progress.
-
- [5] Voydock, V. L., and Kent, S. T., "Security Mechanisms in High-
- Level Protocols", ACM Computing Surveys, v. 15, No. 2, June, 1983,
- pp. 135-171.
-
- [6] Moats, R., "URN Syntax", RFC 2141, May 1997.
-
- [7] Slottow, E.G., "Engineering a Global Resolution Service," MIT-
- LCS-TR712, June, 1997. Currently available as
- <http://ana.lcs.mit.edu/anaweb/ps-papers/tr-712.ps> or
- <http://ana.lcs.mit.edu/anaweb/pdf-papers/tr712.pdf>.
-
- 7. Author's Address
-
- Karen Sollins
- MIT Laboratory for Computer Science
- 545 Technology Sq.
- Cambridge, MA 02139
-
- Phone: +1 617 253 6006
- EMail: sollins@lcs.mit.edu
-
-
-
-
- Sollins Informational [Page 23]
-
- RFC 2276 Uniform Resource Name Resolution January 1998
-
-
- 8. Full Copyright Statement
-
- Copyright (C) The Internet Society (1998). All Rights Reserved.
-
- This document and translations of it may be copied and furnished to
- others, and derivative works that comment on or otherwise explain it
- or assist in its implementation may be prepared, copied, published
- and distributed, in whole or in part, without restriction of any
- kind, provided that the above copyright notice and this paragraph are
- included on all such copies and derivative works. However, this
- document itself may not be modified in any way, such as by removing
- the copyright notice or references to the Internet Society or other
- Internet organizations, except as needed for the purpose of
- developing Internet standards in which case the procedures for
- copyrights defined in the Internet Standards process must be
- followed, or as required to translate it into languages other than
- English.
-
- The limited permissions granted above are perpetual and will not be
- revoked by the Internet Society or its successors or assigns.
-
- This document and the information contained herein is provided on an
- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sollins Informational [Page 24]
-
-