HIP Working Group Gyu Myoung Lee Internet Draft TELECOM SudParis Intended status: Informational Jun Kyun Choi Expires: April 2010 KAIST Seng Kyoun Jo Jeong Yun Kim ETRI Noel Crespi TELECOM SudParis October 26, 2009 Naming Architecture for Object to Object Communications draft-lee-object-naming-01.txt Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. 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 This Internet-Draft will expire on April 26, 2010. Lee, et al. Expires April 26, 2010 [Page 1] Naming Architecture for Object to Object Communications October 2009 Copyright Notice Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Lee, et al. Expires April 26, 2010 [Page 2] Naming Architecture for Object to Object Communications October 2009 Abstract This document explains the concept of object to object communications and describes naming issues for object identification. In order to develop protocols for object to object communications, this document provides the naming architecture according to mapping relationships between host and object(s). In addition, considerations of protocols for naming object are specified. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119. Lee, et al. Expires April 26, 2010 [Page 3] Naming Architecture for Object to Object Communications October 2009 Table of Contents 1. Introduction.................................................5 2. Object to Object Communications..............................5 2.1. Definition of object....................................5 2.2. Concept of object to object communications..............6 2.3. Various types of objects................................6 3. Object Identification........................................7 3.1. Classification of network entities to be identified.....7 3.2. Identification codes....................................8 3.3. Examples of IDs for objects.............................8 3.3.1. RFID...............................................8 3.3.2. Content ID.........................................9 3.4. Requirements for naming using object identification.....9 4. Naming Architecture for Objects..............................9 4.1. Layered architecture for identity processing............9 4.2. The mapping relationships between host and object(s)...11 4.2.1. Host = Object (one to one mapping)................11 4.2.2. Host =! Object (one to many mapping)..............11 4.3. The stack architecture.................................11 4.4. Object mapping schemes.................................12 4.5. Providing connectivity to objects......................15 5. Considerations of Protocols for Naming Objects..............16 5.1. Security association...................................16 5.2. Support of DNS.........................................16 5.3. Protocol overhead......................................16 5.4. Common identifier for object...........................16 5.5. Specific user cases....................................16 5.6. Services using naming objects..........................17 6. Protocol operations and procedures..........................18 6.1. HIP basic operation (an example).......................18 6.2. Protocol procedures....................................18 7. Security Considerations.....................................19 8. IANA Considerations.........................................19 9. References..................................................19 9.1. Normative References...................................19 9.2. Informative References.................................20 Author's Addresses.............................................20 Lee, et al. Expires April 26, 2010 [Page 4] Naming Architecture for Object to Object Communications October 2009 1. Introduction The one of new capabilities for future network will be the ubiquitous networking such as the Internet of things. This networking capability requires "Any Services, Any Time, Any Where and Any Devices" operation. In order to connect objects (e.g., devices and/or machines) to large databases and networks, a simple, unobtrusive and cost-effective system of item identification is crucial. The concept of host should be extended to support all of objects. However, there is no consideration for new type of objects (e.g., contents, RFID tags, sensors, etc) as end points. This document explains object to object communications. For identification of network entities, we consider new type of identifiers (e.g., RFID code, content ID, etc) for object and describe specific requirements for object identification in naming point of view. Architectural aspect, this document shows architecture for identity processing and mapping relationship between several identities with conceptual diagram for providing connectivity to objects. According to several alternative architectures for object naming, this document aims to provide requirements and right direction for protocol development for realization of object to object communications. 2. Object to Object Communications 2.1. Definition of object An object means a model of an entity. An object is characterized by its behaviour. An object is distinct from any other object. An object interacts with its environment including other objects at its interaction points. An object is informally said to perform functions and offer services (an object which makes a function available is said to offer a service). For modelling purposes, these functions and services are specified in terms of the behaviour of the object and of its interfaces. An object can perform more than one function. A function can be performed by the cooperation of several objects. NOTE: Objects include terminal devices (e.g. used by a person to access the network such as mobile phones, Personal computers, etc), Lee, et al. Expires April 26, 2010 [Page 5] Naming Architecture for Object to Object Communications October 2009 remote monitoring devices (e.g. cameras, sensors, etc), information devices (e.g. content delivery server), products, contents, and resources. NOTE: The above definition was quoted from ITU-T [Y.2002]. 2.2. Concept of object to object communications For ubiquitous networking [Y.2002], future network will require the extensions of networking functionalities to all objects. New networking concept will be considered for networking capabilities to support various classes of applications/services which require "Any Services, Any Time, Any Where and Any Devices" operation using Internet. This networking capability should support human-to-human, human-to-object (e.g., device and/or machine) and object-to-object communications. 2.3. Various types of objects There are many different kinds of devices connecting to the network supported for ubiquitous networking in Internet. RFID tag, sensors, smart cards, medical devices, navigation devices, vehicles as well as the existing personal devices such as PC, Personal Digital Assistant (PDA), etc., are examples of these. This document considers that the end points which are not always humans but may be objects such as devices /machines, and then expanding to small objects and parts of objects. The object means that the user or other entity which is connected to the network. It includes almost everything around us such as remote monitoring and information device/machine/content, etc. Figure 1 shows the connection of Internet with the relationship between humans and objects in terms of identification and location in specifically mobile environments. The types of objects in end-user side include the following: personal devices, information devices, RFID/sensors, contents, appliances, vehicles, etc. Lee, et al. Expires April 26, 2010 [Page 6] Naming Architecture for Object to Object Communications October 2009 Objects +-------------------------------------+ | +--------------+ | | | +---------+ | +--------------+ | | | |Personal | | | Contents | | | | |Devices | | | | | | | +---------+ | +--------------+ | | H | | | Providing ------- | u | +---------+ | +--------------+ | Connectivity / \ | m | |Info. | | | Appliances | | | | | a | |Devices | | | | |-------------- | Internet | | n | +---------+ | +--------------+ | | | | | | | | | | | +---------+ | +--------------+ | | | | | |RFID/ | | |Transportation | | \ / | | |Sensors | | | | | ------- | | +---------+ | +--------------+ | | +--------------+ | +-------------------------------------+ Figure 1 Communications with objects through Internet 3. Object Identification 3.1. Classification of network entities to be identified There are several network entities to be identified in the network. These network entities have a layered architecture and are used for naming, addressing and routing. o Services (i.e., information related to applications/services) o End points (i.e., global unique identifier) o Location (i.e., IP address) o Path (i.e., routing) In particular, for object to object communications, information for several kinds of object on top of end points should be identified in the network. Lee, et al. Expires April 26, 2010 [Page 7] Naming Architecture for Object to Object Communications October 2009 3.2. Identification codes Identification of all objects for providing end-to-end connectivity in ubiquitous networking environment is crucial. Identifier is capable of identifying all objects and facilitates objects-to-objects communications. In particular, the globally unique identifier enables a lot of applications including item tracking, access control, and protection, etc [1]. There are many kinds of identifiers such as E.164 number code, Extended Unique Identifier (EUI)-64, Media Access Control (MAC) address, Uniform Resource Identifier (URI)/ Uniform Resource Locator (URL), etc. These identification codes can be classified as follows. o Object IDs: include RFID, Content ID, telephone number, URL/URI, etc o Communication IDs: include session/protocol ID, IP address, MAC address, etc In this document basically consider an "Object ID" which generally takes the form of an application-specific integer or pointer that uniquely identifies an object. 3.3. Examples of IDs for objects 3.3.1. RFID The identification codes, so-called Electronic Product Code (EPC), for RFID/sensors are very important in ubiquitous networking environment. An EPC is simply a number assigned to an RFID tag representative of an actual electronic product code. Their value is that they have been carefully characterized and categorized to embed certain meanings within their structure. Each number is encoded with a header, identifying the particular EPC version used for coding the entire EPC number. An EPC manager number is defined, allowing individual companies or organizations to be uniquely identified; an object class number is present, identifying objects used within this organization, such as product types. Finally, a serial number is characterized, allowing the unique identification of each individual object tagged by the organization [2]. Lee, et al. Expires April 26, 2010 [Page 8] Naming Architecture for Object to Object Communications October 2009 3.3.2. Content ID The Content ID is a unique identifier that can specify and distinguish any kind of digital content that is distributed. As a unique code attached to a content object, the Content ID serves well enough as an identifier, but actually it is much more than just that. It is also the key to a complete set of attribute information about a content object stored as metadata including the nature of the contents, rights-related information, information about distribution, and more. The Content ID provides the key enabling metadata to be uniquely associated with a particular digital object [3]. 3.4. Requirements for naming using object identification For object to object communications, how to map/bind IP address (i.e., communications IDs) with other identifiers (i.e., object IDs) for providing end-to-end IP connectivity is challenging issue. Additionally, the following features should be provided using naming capability through object identification. o Scalability with enough name space to support new devices/machines enabling communications o Protection of object (including right management)using security function o Connecting to anything for providing the connectivity to end device without additional equipment such as Network Address Translator using object identification o Service and location discovery through performing two functions; Routing using network prefix information and identification code using object IDs 4. Naming Architecture for Objects 4.1. Layered architecture for identity processing As shown in Figure 2, the layered architecture of identity processing requires specific processing capabilities at each layer. Each user/object in applications identifies by identity like name with a set of attributes of an entity. An attribute can be thought of as metadata that belongs to a specific entity in a specific context, some of which could to be highly private or sensitive. The identity Lee, et al. Expires April 26, 2010 [Page 9] Naming Architecture for Object to Object Communications October 2009 should be associated with object IDs through identification and authorization. Each object ID also should be associated with communication IDs through mapping/binding [Y.ipv6-object]. Identity Processing Identifiers ------------ +-----------------+ + User Name + |Logical identities | + (Attributes) + | for services | + + | | ------------ +-----------------+ ^ | | +---------------+ | ----- |----- |Identification/ |---------------- |----------- | |Authorization | | | +---------------+ | | | ------------- +------------------+ + Object IDs + | RFID,Content ID, | + (Physical & + |Telephone number, | + logical IDs) + | URL/URI, etc | ------------- +------------------+ ^ | | +---------------+ | ----- |----- | Mapping/ |---------------- |----------- | | Binding | | | +---------------+ | | +---------------------+ | | Session/Protocol ID | | +---------------------+ | | +---------------------+ -------------- | IP address | + Communication + +---------------------+ + IDs + | + + +---------------------+ -------------- | MAC address | +---------------------+ Figure 2 Layered architecture for identity processing Lee, et al. Expires April 26, 2010 [Page 10] Naming Architecture for Object to Object Communications October 2009 4.2. The mapping relationships between host and object(s) In this document, host means a device that communicates using the Internet protocols (i.e., IP addresses). 4.2.1. Host = Object (one to one mapping) In case of a host is equal to an object, there is one to one mapping relationship between host and object. Most of information devices such as PC, etc are included in this case. For example, if you use a telephone device, the device as host can be allocated a telephone number as object ID and be treated the same object. 4.2.2. Host =! Object (one to many mapping) In case of a host is not equal to an object, there is one to many mapping relationship between host and object(s). Content server, RFID tags/Reader, etc are included in this case. There are two kinds of one to many mapping as follows (see Figure 2): o As shown in Figure 3 (a), host including objects such as content server, a host includes many objects and these objects should be identified using content ID, etc. o As shown in Figure 3 (b), host with remote objects such as RFID tags, a host has many remote objects and these objects should be identified using RFID code, etc. In this case, each object might be non IP. 4.3. The stack architecture The original stack architecture of HIP can be extended according to the mapping relationships between host and object(s). o As shown in Figure 4 (a), objects in a host (case #1), the end point is the same with current HIP architecture. However, each object in service layer should be identified by a host using mapping protocol for object. Lee, et al. Expires April 26, 2010 [Page 11] Naming Architecture for Object to Object Communications October 2009 o As shown in Figure 4 (b), remote objects (case #2), the end point will be each object. This means that host location is different from end point(s). Thus, current HIP should be extended to support several end points with a host. From object information in service layer, each object identity should be defined. 4.4. Object mapping schemes There are two kinds of object mapping schemes using one to many mapping relationship as follows: o Direct mapping (Figure 4 (a)) An object at application layer is directly reachable to host entity at network attachment point which IP is terminated. An object is located on top of TCP/IP protocol stack. For example, host including objects such as content server, a host includes many objects and these objects should be identified using content ID, etc. o Indirect mapping (Figure 4 (b)) An object at application layer is remotely reachable through non- IP interface to host entity at network attachment point which IP is terminated. An object is located outside of physical network attachment which IP is terminated. For example, host with remote objects such as RFID tags, a host has many remote objects and these objects should be identified using RFID code, etc. In this case, each object might be non IP. Lee, et al. Expires April 26, 2010 [Page 12] Naming Architecture for Object to Object Communications October 2009 +--------------------------+ | | | +--------+ | | | Object | | | +--------+ | | | | +--------+ | | | Object | | | +--------+ | | . | | . | | . | | | | +--------+ | | | Object | | | +--------+ | | | | Host | | | +--------------------------+ (a) Host including objects(e.g., content server) +-------+ -----------------| Object | / +--------+ / . / . +------+ +--------+ | Host | ------------------ | Object | +------+ +--------+ \ . \ . \ +--------+ ----------------| Object | +-------+ Remote objects (non IP) (b) Host with remote objects(e.g., RFID tags/Reader) Figure 3 Mapping between host (IP address) and objects (object IDs) (one to many mapping) Lee, et al. Expires April 26, 2010 [Page 13] Naming Architecture for Object to Object Communications October 2009 Host (e.g., content server) +----------------------------+ | +----+ | | | | Object IDs | | +----+ | | | | | +----+ | | | | IP address | | +----+ | | | | | +----+ | | | | Network | | +----+ attachment | +----------------------------+ IP interface | -----------------------+ (a) Case #1: Objects in a host (host location = end points) Object IDs +----+ | | Host (e.g., RFID reader) +----+ +---------------------------+ | | | | | +----+ | | | | | IP address | | | +----+ | | | | | | | +----+ | | | | | Network | | | +----+ attachment | | +---------------------------+ | IP interface | | non-IP interface | ---------------------+ +-------------------------+ (b) Case #2: Remote objects (host location =! end points) Figure 4 Extension of stack architecture Lee, et al. Expires April 26, 2010 [Page 14] Naming Architecture for Object to Object Communications October 2009 4.5. Providing connectivity to objects For providing connectivity to objects using object identification, the Figure 5 shows object mapping/ binding with IP address for IP connectivity to all objects in end-user side. This scheme can provide the global connectivity with NGN to objects through the association (e.g., mapping/binding) between identifier for object and IP address. Host(e.g., server) |----------Object(e.g.,content) +---------------|--------------+ | +-----------|-------+ | | | +--|-+ | | IP address | | | +----------| | | ******************** | | +----+ | ****| | | * * | | +----+ | * |--- | * * | | | +--------------* |---------------|------* * | | +----+ | ****| | * * | | +----+ | / | | * * | | | |-------/ | | * * | | +----+ | | | * * | +-------------------+ | | * * +------------------------------+ | * * Object(e.g.,device, product, sensor,etc) | * Internet * | | * * +---|------------+ Gateway | * * | | +----+ | | | * * | |---| | | Non-IP | | * * | +----+ | interface | | * * | +----+ | | +----|-+ | * * | | |---------|-----|---|--****| | * * | +----+ |-----|---| * |------------|------* * | +----+ | | |-|--**|*| | * * | | |-----------| +--|-|-+ | * * | +----+ | | | | ******************** | +----+ | |--| | IP interface | | |---------|---------| | | +----+ | IP address +----------------+ +------------+ Mapping +-----------+ ***************** + Identifier + <---------> + IP + ====> * Global * + for object + Binding + Address + * Connectivity * +------------+ +-----------+ * with Internet * ***************** Figure 5 Conceptual diagram for providing connectivity to objects Lee, et al. Expires April 26, 2010 [Page 15] Naming Architecture for Object to Object Communications October 2009 5. Considerations of Protocols for Naming Objects 5.1. Security association It is critical to provide security association for secure binding between object identity and IP address similar with HIP [4]. 5.2. Support of DNS An ID resolution server such as Domain Name System (DNS), can provide a function to translate the identifier of object into service /communication ID to access networking services provided by database/application servers. In order to support from existing infrastructure, including DNS, it is required to define DNS resource records. The newly defined DNS resource records should include information on object IDs. 5.3. Protocol overhead Real time communications and some limitation of power and packet size, lightweight identity handshake for datagram transactions is critical. 5.4. Common identifier for object Most of identifiers for object specified with different format according to applications. However, in order to contain information of all objects in HIP message and interoperate globally, it is required to specify common identifier and rules to accommodate all objects with unified format. 5.5. Specific user cases HIP for object can use original advantages of HIP for specific user cases. o Identity-based roaming and mobility Lee, et al. Expires April 26, 2010 [Page 16] Naming Architecture for Object to Object Communications October 2009 o Hierarchical routing o Addressing and location management o Multi-homing o Rendezvous service (or mechanism) o DNS service 5.6. Services using naming objects The proposed naming objects can provide an integrated solution for personal location and management through identification /naming /addressing including ID registration, location tracking, dynamic mobility control, and security using the following networking services: o Identity management (IdM) services for the management of the identity life cycle of objects including managing unique IDs, attributes, credentials, entitlements to consistently enforce business and security policies. o Location management services for real-time location tracking, monitoring, and information processing of moving objects similar with Supply Chain Management. o Networked ID (N-ID) services for providing communication service which is triggered by an identification process started via reading an identifier from identifier storage such as RFID tag, barcode label, smartcard, etc. o Home networking services for the management of multiple object identities in a host and/or remote host using RFID tag, ubiquitous sensor, etc. Lee, et al. Expires April 26, 2010 [Page 17] Naming Architecture for Object to Object Communications October 2009 6. Protocol operations and procedures 6.1. HIP basic operation (an example) o In case of communications using RFID reader/tags, HIP Initiator can be a RFID reader which is connected to a RFID tag (object) using air interface and HIP Responder can be the information server which stores all information of RFID tags. And then, if this information server has a role of HIP rendezvous server, a client can get binding information between Host (HIP Initiator)and an object behind RFID reader for reachability to object(S) as end point(s). o The RFID reader has one-to-many mapping relationship. So, a host identity of RFID reader maps onto many object identities. o For IPsec security associations, HIP will definitely be terminated at the RFID reader because HIP should be tightly coupled with network layer. Similar with objects inside server, although each object is located remotely through air interface with RFID reader, we would like to consider RFID reader and tag as the same node virtually. o In this case, we need to find possible solutions. NOTE: The related solutions will be provided later. 6.2. Protocol procedures We illustrate the basic protocol procedure of sending a data packet to an object and mappings/bindings that are involved as shown in Figure 6: o Find a node on which the required object resides. This requires finding object and end point through object ID registration. Name resolution using DNS is optionally required. o Find a network attachment point to which the node is connected. This requires finding location. For this, a client gets binding information of object ID and IP address. o Find a path from the client to object(s). The client can reachable to object(s) using routing path and binding information between HIP initiator and object(s). The datagram which is transferred to object(s) might have the information of object ID. Lee, et al. Expires April 26, 2010 [Page 18] Naming Architecture for Object to Object Communications October 2009 +---+ Name +-----+ DNS | |<-----------> | | Information Server +---+ Resolution +-----+ (HIP Responder) / \ / \ / \ Find Location / \ Find objects (end points) / \ 2)get binding information \ 1) Register object IDs of Object ID and / \ IP address / \ / \ / +-------------------+ / |+--+ | / || |HIP Initiator | / |+--+ | / | ++ ++ ++ | +------+ Find path | ++ ++ ++ objects | | |<=========================> | | +------+ 3)connect to object(s) | ++ ++ ++ | Client using routing path & | ++ ++ ++ | binding information +-------------------+ Figure 6 Protocol procedure for connecting objects 7. Security Considerations This document has specific security considerations as described in Section 5 and aligns with the security requirements in [RFC4423] and [RFC5201]. 8. IANA Considerations This document has no actions for IANA. 9. References 9.1. Normative References None Lee, et al. Expires April 26, 2010 [Page 19] Naming Architecture for Object to Object Communications October 2009 9.2. Informative References [RFC4423] R. Moskowitz, P. Nikander, "Host Identity Protocol (HIP) Architecture", RFC 4423, May 2006. [RFC5201] R. Moskowitz, P. Nikander, P. Jokela, T. Henderson, "Host Identity Protocol", RFC 5201, April 2008. [Y.2002] ITU-T TD65 (PLEN/13), "Overview of ubiquitous networking and of its support in NGN", consented at September 2009. [Y.IPv6-object]ITU-T TD43 (WP5/13), "Framework of Object Mapping using IPv6 in NGN", work in progress, September 2009. [1] Gyu Myoung Lee, Jun Kyun Choi, Taesoo Chung, Doug Montgomery, "Standardization for ubiquitous networking in IPv6-based NGN", ITU-T Kaleidoscope Event - Innovations in NGN, pp.351-357, May 2008. [2] EPCglobal, "EPCglobal Object Name Service (ONS) 1.0.1", May 2008. [3] Content ID Forum (cIDf), "cIDf Specification 2.0", April 2007. [4] Heer, Varjonen, "HIP Certificates," IETF Internet-Draft, draft- ietf-hip-cert-02.txt, work in progress, October 2009. Author's Addresses Gyu Myoung Lee Institut TELECOM, TELECOM SudParis 9 rue Charles Fourier, 91011, Evry, France Phone: +33 (0)1 60 76 41 19 Email: gmlee@it-sudparis.eu Jun Kyun Choi Korea Advanced Institute of Science and Technology (KAIST) 119 Munjiro, Yuseong-gu, Daejeon, 305-732, KOREA Phone: +82-42-350-6122 Email: jkchoi@ee.kaist.ac.kr Lee, et al. Expires April 26, 2010 [Page 20] Naming Architecture for Object to Object Communications October 2009 Seng Kyoun Jo Electronics and Telecommunications Research Institute (ETRI) 138 Gajeongno, Yuseong-gu, Daejeon, 305-700, KOREA Phone: +82-42-860-6461 Email: skjo@etri.re.kr Jeong Yun Kim Electronics and Telecommunications Research Institute (ETRI) 138 Gajeongno, Yuseong-gu, Daejeon, 305-700, KOREA Phone: +82-42-860-5311 Email: jykim@etri.re.kr Noel Crespi Institut TELECOM, TELECOM SudParis 9 rue Charles Fourier, 91011, Evry, France Phone: +33 (0)1 60 76 46 23 Email: noel.crespi@it-sudparis.eu Lee, et al. Expires April 26, 2010 [Page 21]