Network Working Group                                         S. Imadali
Internet-Draft                                               A. Petrescu
Intended status: Informational                              C. Janneteau
Expires: August 19, 2013                                             CEA
                                                       February 15, 2013


Vehicle Identification Number-Based Unique Local IPv6 Unicast Addresses
                                 (VULA)
                 draft-imadali-its-vinipv6-vula-00.txt

Abstract

   The Vehicle Identification Number (VIN) is standardized in ISO-3779
   and ISO-3780.  The VIN is made of 17 alphanumeric characters code
   that uniquely identifies a vehicle worldwide.  Some public
   information related to a vehicle can be obtained knowing its VIN
   code.  This code may also be used to enable novel vehicular
   networking communications.

   RFC 4193 introduces a globally unique IPv6 unicast address format
   intended for local communications, usually inside of a site.  These
   addresses (ULA) are not expected to be routable on the global
   Internet.  This document introduces a method to build a VIN-based
   IPv6 Prefix that is intended for local communications involving more
   than one hop (VULA).  The VIN-based generated prefix is assured to be
   unique among other VIN-based generated prefixes.  Typically, in a
   scenario involving several vehicles, each single vehicle (in which
   one Mobile Router is in charge) is capable of generating its own
   unique infrastructure-independent globally-scoped VIN-based IPv6
   prefix.  This document also describes some use cases where VULA could
   be exploited.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   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."




Imadali, et al.          Expires August 19, 2013                [Page 1]


Internet-Draft           VIN-based ULA prefixes            February 2013


   This Internet-Draft will expire on August 19, 2013.

Copyright Notice

   Copyright (c) 2013 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
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.



































Imadali, et al.          Expires August 19, 2013                [Page 2]


Internet-Draft           VIN-based ULA prefixes            February 2013


Table of Contents

   1.  Introduction and Problem . . . . . . . . . . . . . . . . . . .  4
     1.1.  Requirements Language  . . . . . . . . . . . . . . . . . .  5
     1.2.  Abbreviations Used . . . . . . . . . . . . . . . . . . . .  5
   2.  VIN Overview . . . . . . . . . . . . . . . . . . . . . . . . .  5
     2.1.  WMI  . . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     2.2.  VDS  . . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     2.3.  VIS  . . . . . . . . . . . . . . . . . . . . . . . . . . .  8
   3.  Mapping method . . . . . . . . . . . . . . . . . . . . . . . .  9
     3.1.  Initial assumption . . . . . . . . . . . . . . . . . . . .  9
     3.2.  Detailed algorithm . . . . . . . . . . . . . . . . . . . . 10
     3.3.  Examples of use  . . . . . . . . . . . . . . . . . . . . . 11
   4.  VIN-based Unique Local IPv6 Unicast  Addresses . . . . . . . . 12
     4.1.  Method 1: RFC 4193 compliant Unique  Local IPv6
           Unicast Address generation . . . . . . . . . . . . . . . . 12
     4.2.  Method 2: VIN-based Unique Local  IPv6 Unicast Address
           generation . . . . . . . . . . . . . . . . . . . . . . . . 13
   5.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 13
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 14
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
     8.1.  Normative References . . . . . . . . . . . . . . . . . . . 14
     8.2.  Informative References . . . . . . . . . . . . . . . . . . 15
   Appendix A.  Base-VIN Numeral System Specification . . . . . . . . 15
     A.1.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . 15
     A.2.  Conversion from decimal to Base-VIN  . . . . . . . . . . . 15
     A.3.  Conversion from Base-VIN to decimal  . . . . . . . . . . . 16
     A.4.  Number of positions  . . . . . . . . . . . . . . . . . . . 17
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17





















Imadali, et al.          Expires August 19, 2013                [Page 3]


Internet-Draft           VIN-based ULA prefixes            February 2013


1.  Introduction and Problem

   There exist currently several scenarios and requirements for IP in
   Intelligent Transportation systems (its).  A number of such scenarios
   are described in [I-D.petrescu-its-scenarios-reqs].  Depending on the
   typical topology where the communication happen, the draft groups the
   communications into 4 categories: Intra-Vehicular communications (V),
   Vehicle-to-Infrastructure (V2I), Vehicle-to-Vehicle (V2V) and
   Vehicle-to-Vehicle-to-Infrastructure communications (V2V2I).

   For example, in order to realize IP communications within a vehicle
   (V), it is necessary to configure a distinct IP address on each IP-
   enabled device deployed within a vehicle.  This includes, and is not
   limited to: passenger entertainment devices, navigation assistance
   devices and, not least important, computers dedicated to electronics
   control and safety messaging.

   As another example, for Vehicle-to-Vehicle communications, it is
   necessary to configure addresses on the devices within the two
   vehicles in such a manner that it is possible to exchange IP packets
   with a source address of a device in one vehicle and the destination
   address a device in the other vehicle.

   Finally, for Vehicle-to-Infrastructure communications (to Internet),
   it is necessary that an address in one vehicle be globally unique and
   topologically correct at the current point of attachment to the
   Internet.

   Whereas the last case is relatively solved with existing methods of
   address auto-configuration (e.g.  DHCPv6 or Stateless Address Auto-
   configuration) the first two cases are more difficult.  This
   difficulty lies in the lack of authority of IP addressing in an
   inherently distributed system formed by the vehicles.  For example, a
   DHCPv6 Server pre-configured with a pool of addresses to distribute
   in one vehicle will allow for intra-vehicular communications (V).
   But these addresses will be topologically incorrect with respect to
   the current point of attachment to the Internet.  This point of
   attachment changes when a handover is performed re-connecting the
   vehicle from GSM to WiFi access.  In addition, these addresses will
   be topologically incorrect with respect to the addresses of nearby
   vehicles (the vehicle vicinity is highly dynamic).

   The Mobile IP protocol could be employed to alleviate the problem of
   topological correctness change upon inter-technology handovers; yet
   this protocol has its inconvenients as well, such as the multi-
   angular routing and the necessity of the presence of a Home Agent in
   the infrastructure.




Imadali, et al.          Expires August 19, 2013                [Page 4]


Internet-Draft           VIN-based ULA prefixes            February 2013


   The prefix exchanges between moving networks could be implemented to
   avoid the IP topological incorectness between vehicles.

   For these reasons, several approaches exist to realize the address
   auto-configuration without the help of a centralized management
   scheme (DHCP nor ND no Mobile IP).  Some approaches propose the use
   of hardwired IP addresses in vehicles - at vehicle manufacturing
   time, a number of addresses are hard-wired within a vehicle; in other
   approaches the geographical coordinates may be used to form IP
   addresses.  Finally, certain approaches propose the use of the
   vehicle's Vehicular Identification Number (VIN) in order to generate
   IPv6 addresses related to the vehicle.  It is along the lines of
   these proposals that the current draft presents a method of forming a
   ULA starting from the VIN ('VULA').

1.1.  Requirements Language

   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 [RFC2119].

1.2.  Abbreviations Used

   VIN - Vehicle Identification Number

   WMI - World Manufacturer Identifier

   VDS - Vehicle Description Section

   VIS - Vehicle Identification Section


2.  VIN Overview

   The VIN is a 17 characters alphanumeric code that uniquely identifies
   a vehicle worldwide.  Involved standard documents include :

   o  ISO 3833:1977, "Road vehicles -- Types -- Terms and definitions".
      This document defines terms relating to some types of road
      vehicles designated according to certain design and technical
      characteristics.  It Applies to all vehicles designated for road
      circulation (with exception of agricultural tractors).

   o  ISO 4030:1983, "Road vehicles -- Vehicle identification number
      (VIN) -- Location and attachment".  This document Specifies the
      requirements for the location and marking of the VIN on motor
      vehicles, trailers, motorcycles and mopeds as defined in ISO 3833.




Imadali, et al.          Expires August 19, 2013                [Page 5]


Internet-Draft           VIN-based ULA prefixes            February 2013


   o  ISO 3779:2009, "Road vehicles -- Vehicle identification number
      (VIN) -- Content and structure".  It specifies the content and
      structure of a VIN in order to establish, on a world-wide basis, a
      uniform identification numbering system for road vehicles.  This
      document applies to motor vehicles, towed vehicles, motorcycles
      and mopeds as defined in ISO 3833.

   o  ISO 3780:2009, "Road vehicles -- World manufacturer identifier
      (WMI) code".  It specifies the content and structure of an
      identifier in order to establish, on a world-wide basis, the
      identification of road vehicle manufacturers.  The WMI constitutes
      the first section of the VIN described in ISO 3779.  ISO 3780:2009
      applies to motor vehicles, towed vehicles, motorcycles and mopeds
      as defined in ISO 3833.

   The VIN is used to uniquely identify a vehicle and therefore must
   appear on each vehicle.  Some public information related to a vehicle
   can be obtained knowing its VIN code.  This possibility is used in
   thefts prevention by assisting law enforcement authorities in tracing
   and recovering parts from stolen motor vehicles, or reporting vehicle
   history to sell/buy a used car.

   The VIN is written in 17 alphanumeric characters with a combination
   of the 10 Arabic numbers and 23 capital letters of the Latin
   alphabet.  Excluded letters are I(i), O(o) and Q(q).  This is to
   avoid confusion between these characters and the numbers 0 and 1.


                          | 1 2 3 4 5 6 7 8 9 0 |
              |A B C D E F G H J K L M N P R S T U V W X Y Z|

            Figure 1: Alphabet for the generation of VIN codes

   Although the definition of the code differs from USA, where the
   National Highway Traffic Safety Administration (NHTSA) definition is
   used, and Europe where the ISO is used, both VIN codes are compliant
   and do not cause confusion.  There are some other implementations of
   the same code, for example within the Society of Automotive Engineers
   (SAE) and Australian Design Rules (ADR) which are also compliant with
   the European ISO format of the VIN.  The VIN code contains three
   sections.

              1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
            +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
            |   WMI  |        VDS      |         VIS           |
            +--------+-----------------+-----------------------+

                        Figure 2: VIN code sections



Imadali, et al.          Expires August 19, 2013                [Page 6]


Internet-Draft           VIN-based ULA prefixes            February 2013


2.1.  WMI

   The WMI is 3 digits long and uniquely designates the manufacturer's
   continent, country, and the unique national identifier.  The 3 digit
   codes are defined within ISO-3780 and the database is maintained by
   the SAE.  A WMI code can be revoked but cannot be used to designate
   another manufacturer for 30 years after its revocation date.

   ISO-3780 standard specifies the use of each bit in the WMI code.
   From the left to the right, the first bit value designates the region
   of the car manufacturer.  Values [A-C] are reserved for Africa, [1-5]
   for North America, [8-9] for South America, [J-R] for Asia, [S-Z] for
   Europe and [6] for Oceania.  Multiple alphanumeric values can be
   assigned for the same region, depending on the needs.  Some values
   are reserved for future use.

   Second bit indicates a country in the region designated by the first
   bit.  Multiple values are possible for the same country if needed.
   For example, if the first bit is V (in Europe) and the second bit is
   one the letters (F to R), then the designated country is France.
   Unique identity of a country is assured by the combination of these
   two values.  The assigned codes by country are maintained by SAE and
   listed in ISO-3780.

   Third character of this section designates a national unique value
   for the car manufacturer, maintained by national authorities.  It is
   possible to assign more than one value to the manufacturer if needed.
   Thus, a unique identification of the car manufacturer can be obtained
   by the combination of the three values.

   ISO-3780 distinguishes manufacturers building more or less than 500
   cars per year.  If less, 3rd digit of WMI is set to '9' and positions
   12 to 14 (included) form an extended unique manufacturer identifier
   that identifies all the manufacturers that build less than 500 cars a
   year in the same country.  If the manufacturer builds more than 500
   cars a year, it has one or more identification number(s) depending on
   the needs.  For example, "1FA" and "3FA" identifies Ford in USA and
   Mexico, respectively.  "VF3" is one of the WMI codes of French
   manufacturer Peugeot.

2.2.  VDS

   The VDS is the second part of the VIN code.  It is 6 characters long
   and gives more information about the vehicle.  The description of the
   vehicle is not unique and each manufacturer has its own mapping table
   for this section; that is, a same character may have different
   meanings depending on the manufacturer, and sometimes differ upon the
   vehicle model.



Imadali, et al.          Expires August 19, 2013                [Page 7]


Internet-Draft           VIN-based ULA prefixes            February 2013


   The information given by this section may relate to the vehicle
   weight, the model, the engine type, the body style or the engine
   power, for example.  It is also possible for the manufacturer to fill
   this section with "dummy" information if it does not want to use it,
   as spaces (blanks) are not allowed.  Therefore, the manufacturer may
   not rely on this section to complete the unique identification of a
   vehicle.

   Last position of this section (9th digit) is called the check digit.
   Like the TCP checksum, the check digit is the result of a standard
   algorithm where the values of other positions are used to generate
   this value.  Possible values for the check digit are numbers 0 to 9
   and the letter X [CHECK].

2.3.  VIS

   The VIS is the third section of the VIN code.  It is 8 characters
   long and, combined with the VDS section, uniquely identifies a
   vehicle within a car manufacturer for 30 years.  The combination of
   the VIS and the WMI section allows to uniquely identify a vehicle
   worldwide.  This section goes from the 10th digit to the 17th.

   Digit number 10 designates the year model.  It is the year during
   which the vehicle has been manufactured, or the vehicle model year
   depending on the manufacturer choice.  For this digit, the allowed
   values are 1 to 9 (0 forbidden) and uppercase Latin alphabet letters
   except I, O, Q, U and Z. Years from 1980 to 2000 are coded with
   letters from A to Y; years from 2001 to 2009 are represented with
   digits from 1 to 9; year 2010 and later are represented with letters
   from A to Y. This representation gives a cycle of 30 years during
   which a VIS code is guaranteed to be unique.

   11th digit of the VIN designates the plant of the manufacturer where
   the vehicle has been assembled.  For example, 'E' refers to 'Kentucky
   Truck' plant (Jefferson county, Kentucky) and 'T' refers to 'Otosan
   Kocaeli Assembly' plant (Kocaeli, Turkey), both plants belong to the
   manufacturer 'Ford'.  The same value may represent different plants
   depending on the manufacturer.

   Positions 12 to 17 represent the sequential identification part which
   is unique on the production line and assigned by the car
   manufacturer.  Digits from 12 to 14 (if digit 3 of WMI is '9')
   represent the rest of the WMI code of the car manufacturer that
   produces less than 500 cars a year.  Otherwise (general case),
   positions 12 to 17 are considered as a whole and generally considered
   as a sequential number.  ISO-3779:2009 specifies that the last 4
   positions must be numeric, which is applied in Europe.  In North
   America (Canada and USA), the last 5 digits must be numeric for some



Imadali, et al.          Expires August 19, 2013                [Page 8]


Internet-Draft           VIN-based ULA prefixes            February 2013


   kind of vehicles and only the last 4 digits for the rest.


           1 2 3 4 5 6 7  8   9     10    11   12  13  14  15  16  17
   +------+-+-+-+-+-+-+-+--+-----+-----+-----+---+---+----+---+---+--+
   | ISO  |     |          |     |                                   |
   | 3779 | WMI |    VDS   |     |               VIS                 |
   +------+-----+----------+-----+-----+-----+-----------------------+
   | >500 |     | Vehicle  |Check|Model|Plant|                       |
   |cars a| WMI |Attributes|digit|Year |Code |   Sequential Number   |
   | year |     |          |     |     |     |                       |
   +------+-----+----------+-----+-----+-----+------------+----------+
   | <500 |     | Vehicle  |Check|Model|Plant|Manufacturer|Sequential|
   |cars a| WMI |Attributes|digit|Year |Code | IDentifier |  Number  |
   | year |     |          |     |     |     |            |          |
   +------+-----+----------+-----+-----+-----+------------+----------+

        Figure 3: Summary of VIN  code, sections definition and use


3.  Mapping method

   The VIN code can be split into 3 parts: WMI, VDS, and VIS.  Each part
   gives a partial description of one vehicle's attributes: manufacturer
   ID, vehicle's description and vehicle's serial ID.

   This section specifies the algorithm to perform in order to set an
   IPv6 [RFC4291] Unique Local Unicast Address out of a VIN code (VULA).
   ULA addresses [RFC4193] are specified for local communications.  The
   method used is based on two short and powerful assumptions that allow
   for the compression of a maximum number of VIN digits in a minimum
   number of bits.

   The generation method conserves the uniqueness property of VIN codes
   hence the uniqueness of generated prefixes.  This collision-free
   derivation method is also infrastructure-less, and allows for up to
   32 subnets (5 bits) with the same VULA prefix.

3.1.  Initial assumption

   The unique identity of a vehicle is set through two sections of the
   VIN: the WMI (digits 1 to 3, included) and VIS (digits 12 to 17,
   included).  According to ISO 3779:2009, this information may not be
   enough, but it is certainly mandatory.  Specifically, the cases where
   dummy values are filled in the VDS section (allowed by ISO 3779:2009)
   makes these two sections the only relevant information known about
   the vehicle in order to have its unique identity .




Imadali, et al.          Expires August 19, 2013                [Page 9]


Internet-Draft           VIN-based ULA prefixes            February 2013


   The VDS section can be recovered in the cases when WMI and VIS
   sections are known, using a multi-key query on a local database owned
   by the manufacturer.  A reasonable assumption statement (Assumption
   1) based on the previous arguments is summarized as follows:

   Assumption 1: WMI and VIS sections of a VIN code uniquely identify a
   vehicle

3.2.  Detailed algorithm

   In order to convert the alphanumeric VIN into a binary ULA, an
   initial and straightforward two-steps approach consists in following
   the operation of mapping (transliteration) by the operation of
   conversion.  The VIN alphabet previously described, leaves 33
   possible values for every single VIN digit.  The mapping operation
   consists in representing a VIN digit in decimal and the conversion
   phase consists in converting this decimal to a binary number.  Each
   resulting binary is 6 bits long in order to cover all the
   possibilities.

   This initial method is highly inefficient regarding the number of
   digits converted versus the number of bits used (which is limited to
   64 for ULA).  For instance, converting WMI and VIS sections (a total
   of 11 digits) would require 66 bits (6*11) which would not fit in the
   ULA address format.

   The current proposal specifies the use of a VIN-specific numeral
   system (cf. Appendix) using only allowed values; that is Arabic
   numerals (0 to 9) and Latin letters (A to Z) excluding the exceptions
   (I, O, and Q) in order to generate Base-VIN numbers.  As a
   comparison, Base-36 (radix 36) contains numerals (0-9) and letters
   (A-Z).  Numbers of this system can be converted to other bases (Hex,
   decimal, octal and binary).  Digits are ordered as follows: 0 < 1 ...
   < 9 < A ... < Y < Z. Base-VIN can be considered as Base-36 system
   tailored for VIN-related uses.  From this proposal derives the below
   work hypothesis (Assumption 2) that allows us to convert more than a
   single VIN digit at a time.

   Assumption 2: VIN codes are numbers written in the Base-VIN system.


              1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
            +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
            |    A   |       B      | C| D|    E   |     F     |
            +--------+--------------+--+--+--------+-----------+

   Figure 4: Redesign of the  VIN code according to sections definitions




Imadali, et al.          Expires August 19, 2013               [Page 10]


Internet-Draft           VIN-based ULA prefixes            February 2013


   The compression gain is achieved by converting a value read in Base-
   VIN to the binary base, rather than mapping/converting separate
   digits.  The restricted set of allowed values for VIN sections helps
   reducing the number of bits besides preserving the VIN uniqueness
   property.  Sections A, D, E, and F are extracted from the VIN code
   and converted accordingly.  Sections A and E are read in Base-VIN
   while sections D and F in decimal.

   The resulting number of bits after conversion is 51 (over 66 with the
   previous method).  Using ULA bitmap, 51 bits (40 + 11 bits) would
   require using the 40 global ID section and 11 extra bits from the
   subnet ID.  The new prefix ID is 5 bits long which leaves up to 32
   distinct subnets with the initial VIN-extracted Global ID.

   | 7 bits |1|          51 bits       |5 bits|     64 bits           |
   +--------+-+------------------------+------+-----------------------+
   | Prefix |L|   VIN-based Global ID  |  ID  |   Interface ID        |
   +--------+-+------------------------+------+-----------------------+

                      Figure 5: VIN-based ULA bitmap

   In details, section A (WMI) after conversion is 16 bits long (log2
   (33^3)); section D (year model) is 5 bits long (log2(30)); section E
   (first alphanumeric part of the VIS) is 16 bits long (log2 (33^3 ));
   and section F (second numeric part of the VIS) is 14 bits long
   (log2(10^4)).  This algorithm is reversible: from the converted
   values (binary), it is possible to compute the initial coded sections
   (VMI and VIS).  This property is the result of the bijectiveness of
   used operations for conversion between different numeral systems.
   Useful scenarios are discussed below and privacy consequences are
   addressed in the security considerations section.

3.3.  Examples of use

   The Mobile Router (MR) that executes the previous algorithm, is
   capable of announcing the generated prefix on one or several internal
   interfaces and configure one or several external interfaces,
   depending on the scenario.  For instance, under some conditions,
   knowing the VIN code of a vehicle, one can deduce the internally
   advertised prefix and remotely access a well-known internal device
   (with a certain MAC address).  This access might be possible for
   vehicle manufacturers in order to perform remote diagnostic, or other
   car rental companies depending on the application.

   Using the vehicle's VIN and the above method, the MR can deduce the
   same VULA prefix and advertise it internally or use it to configure
   its own external interfaces.  The use of MIPv6/NEMO protocol
   [RFC3963] on the MR in order to guarantee the use of the same home



Imadali, et al.          Expires August 19, 2013               [Page 11]


Internet-Draft           VIN-based ULA prefixes            February 2013


   prefix is no longer necessary and the remote access to internal
   devices might be addressed using other techniques.

   Possible use cases involve classical vehicular IPv6 networking
   scenarios: in-vehicle communications (Machine-type), and inter-
   vehicles communications (distributed games, social communications
   enabler).  In order to enable vehicle-to-Infrastructure
   communications using VULA (remote monitoring), which is not in the
   initial scope of ULA addresses, a special IANA request should be made
   about reserving a special code for VULA prefixes, or the
   (re)definition of the L bit in the current ULA bitmap format
   [RFC4193].


4.  VIN-based Unique Local IPv6 Unicast  Addresses

   ULA addresses are used interchangeably with globally-scoped IPv6
   addresses and communication between a limited set of sites is
   possible.  In particular, RFC 4193 defines the functionality of a
   border router that prevents packets with ULA destination to cross
   towards the global Internet.  In a vehicular setting, a border router
   could be the MR if provided with access to the Infrastructure.

   Known limitations of RFC 4193 are due to the pseudo-random generation
   method of these addresses.  Depending on the algorithm, a collision
   is highly unlikely but theoretically possible with a low probability.
   In the VIN-based scenario, a ULA prefix is generated at the MR level
   (independently from the ISP/RIR) and advertised inside the vehicular
   network, to allow in-vehicle network to network communications if the
   necessary routes are installed in respective MRs (border routers).

4.1.  Method 1: RFC 4193 compliant Unique  Local IPv6 Unicast Address
      generation

   The VIN is, according to section 3.2.2 of RFC 4193, a suitably unique
   identifier that could be used locally to the MR for the generation of
   an IPv6 ULA prefix and can thus be used in the algorithm described in
   the same section.  Basically, step 2 of the aforementioned algorithm
   is transformed in order to take the local VIN code as input.  The
   resulting ULA prefix is advertised on MR's ingress interface, or used
   to configure any other local interface.

   Since RFC 4193 algorithm relies on a pseudo-random generation method
   for the ULA prefix, and introduces, for example, the timestamp at the
   moment of the execution, two different instances of the same
   algorithm given the same VIN code, will result in two different
   prefixes.  When this method has obvious benefits for privacy concerns
   or collision avoidance, it fails in the requirements described in



Imadali, et al.          Expires August 19, 2013               [Page 12]


Internet-Draft           VIN-based ULA prefixes            February 2013


   Section 3.3.  In particular, in-vehicle advertised prefix changes
   with the timestamp, which makes our remote access scenario based on
   the knowledge of a vehicle's VIN almost impossible to realize without
   MIPv6/NEMO running on the MR.  Also, the VIN code is hashed and
   partly present in the Global ID, which makes it impossible to guess
   from a given ULA prefix.

   A similar RFC4193-compliant approach for the prefix generation has
   been presented at IETF-83 (Paris, France) [BLESS].  This method
   employs the VIS (or VIN7) part only of the VIN in a pseudo-random
   generation algorithm.  It can also be used to derive an IPv6 address
   more deterministically, and yet preserve privacy.

4.2.  Method 2: VIN-based Unique Local  IPv6 Unicast Address generation

   The conversion method described in Section 3.2 defines a new VULA
   prefix format (as depicted in Figure 5) which is guaranteed unique
   amongst the VIN-based generated prefixes.  Knowing a VIN code, it is
   possible to derive the related ULA prefix and use this information
   for a remote access.

   This subtype of ULA prefixes which has enhanced uniqueness guarantees
   may be defined in a separate category that requests specific /8
   prefix (for example) that are expected to be globally routed.
   Another solution might be the (re)definition of the value 0 of the
   bit L illustrated in the ULA prefix bitmap.

   There are obvious privacy and security concerns if the method 2 is
   used.  Some of these considerations are discussed in Section 7.


5.  Acknowledgements

   This work has been performed in the framework of the ICT project ICT-
   5-258512 EXALTED, which is partly funded by the European Union.  The
   organisations on the source list [CEA] would like to acknowledge the
   contributions of their colleagues to the project, although the views
   expressed in this contribution are those of the authors and do not
   necessarily represent the project.

   Roland Bless provided useful comments helping to clarify the
   presentation.


6.  IANA Considerations

   This memo includes no request to IANA.




Imadali, et al.          Expires August 19, 2013               [Page 13]


Internet-Draft           VIN-based ULA prefixes            February 2013


7.  Security Considerations

   Collision happens if at least two interfaces try to set the same IPv6
   address in the same subnet.  The 5 remaining bits using our method
   can then be used to fix the collision by pulling another adjacent
   prefix (32 possibilities).  The proposed mapping/conversion method
   strictly applied to ISO-3779 definitions makes a collision highly
   unlikely but theoretically possible with the use of revoked or forged
   VIN codes.  We recommend the collision avoidance using the 5
   remaining bits to complete assumption 1 (uniqueness conservation) in
   order to use a vehicle's VIN to generate VULA even in these rare
   exceptions.  If VIN codes cannot be forged (using tamper-proof
   devices for example) the 5 bits could be used for subnets inside a
   VIN identified vehicle.

   Privacy is an important requirement for in-vehicle network-to-network
   communications.  State of the art vehicular applications proposals
   usually disclose accurate information about geographical position,
   velocity and identity in safety beacons.  Even if these
   advertisements are signed according to IEEE 1609.2, the above VULA
   proposal does not fit in this category and does not provide
   mechanisms to protect the in-vehicle network privacy.  The focus of
   this work is to enable in-vehicle networks to exchange packets with
   VIN-based IPv6 addresses.  Uniqueness and collision-avoidance are
   thus top list requirements for this objective.  In order not to
   exacerbate privacy concerns, VIN-based IPv6 communications should
   take precautions in advance.  For instance, a Caesar ciphering method
   would map into Base-VIN with substituted values, before VULA
   generation.  A compromise between collisions and privacy expectations
   should be made in this case.


8.  References

8.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3963]  Devarapalli, V., Wakikawa, R., Petrescu, A., and P.
              Thubert, "Network Mobility (NEMO) Basic Support Protocol",
              RFC 3963, January 2005.

   [RFC4193]  Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast
              Addresses", RFC 4193, October 2005.

   [RFC4291]  Hinden, R. and S. Deering, "IP Version 6 Addressing
              Architecture", RFC 4291, February 2006.



Imadali, et al.          Expires August 19, 2013               [Page 14]


Internet-Draft           VIN-based ULA prefixes            February 2013


8.2.  Informative References

   [BLESS]    Bless, R., "A Secure IPv6-based Architecture for Internal
              Automotive Networks", March 2012,
              <http://www.lara.prd.fr/ietf-its>.

   [CHECK]    US Code of Federal Regulations, "PART 565--VEHICLE
              IDENTIFICATION NUMBER REQUIREMENTS", June 1996, <http://
              www.nhtsa.gov/DOT/NHTSA/Rulemaking/Rules/
              Associated%20Files/VIN_Final_Rule_April_08.pdf>.

   [I-D.petrescu-its-scenarios-reqs]
              Petrescu, A., Janneteau, C., Boc, M., and W. Klaudel,
              "Scenarios and Requirements for IP in Intelligent
              Transportation Systems",
              draft-petrescu-its-scenarios-reqs-01 (work in progress),
              July 2012.


Appendix A.  Base-VIN Numeral System Specification

A.1.  Definitions

   The Base-VIN is the numeral system where all VIN codes belong.  A
   number in Base-VIN is convertible in other numeral systems (decimal,
   binary, hexadecimal, etc) by simple multiplication operations and
   vice-versa, with simple division operations.  The Base-VIN numeral
   system contains 33 different ordered digits.  Their value in the
   decimal system goes from 0 to 32, and the symbols used are those
   defined in the VIN description: One of the letters in the set
   [ABCDEFGHJKLMNPRSTUVWXYZ] or a numeral in the set [0123456789].  The
   ordered set of Base-VIN numerals is defined below.


   [ Decimal|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17]
   [Base-VIN|0|1|2|3|4|5|6|7|8|9| A| B| C| D| E| F| G| H]

   [ Decimal|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32]
   [Base-VIN| J| K| L| M| N| P| R| S| T| U| V| W| X| Y| Z]

                   Figure 6: Base-VIN ordered  numbering

A.2.  Conversion from decimal to Base-VIN

   A decimal number can be written in the Base-VIN following simple
   rules using simple division operations.  The algorithm is similar to
   conversion from decimal to other numeral systems (binary for example)
   and it is defined as an extension of it.  Here are the necessary



Imadali, et al.          Expires August 19, 2013               [Page 15]


Internet-Draft           VIN-based ULA prefixes            February 2013


   steps: Suppose we have to convert X from decimal system to VIN
   system.  The resulting number is Y

   1)  Divide X by 33 while the quotient is greater than 33

   2)  Write the remainder in the Base-VIN numeral system

   3)  Stop division when the quotient is less than 33 and write it in
       Base-VIN

   4)  Read Y backwards from last quotient to first remainder, putting
       the last quotient in the most significant bit (MSB) and the first
       remainder in the least significant bit (LSB).  Y is now in the
       Base-VIN numeral system

   Example: Let us convert 1200 from decimal system to VIN system.

   o  1200/33 = 36 + 12[33] ---> 12 is the first remainder.  It is C in
      Base-VIN

   o  36 is greater than 33, so we shall continue

   o  36/33 = 1 + 3[33] ---> 3 is the second remainder.  It is 3 in
      Base-VIN

   o  1 is less than 33, so this is the end of our algorithm. 1 is 1 in
      Base-VIN

   o  The result of the conversion is '13C'

A.3.  Conversion from Base-VIN to decimal

   A Base-VIN number can be written in the decimal system following
   simple rules using simple multiplication and power operations.  The
   algorithm is similar to conversion from other numeral systems to
   decimal (binary for example) and it defined as an extension of it.
   Here are the necessary steps: Suppose we have to convert 'X' from
   Base-VIN numeral system to decimal.  The resulting number is 'Y'.
   Let 'n' be the number of positions in X and X(i) the Base-VIN digit
   of X in ieth position starting from 1, reading the number from the
   right (LSB) and converted to decimal (from the table above).  Then:

   Y = 0;

   for (i = n-1; i == 0; i--)






Imadali, et al.          Expires August 19, 2013               [Page 16]


Internet-Draft           VIN-based ULA prefixes            February 2013


      Y+=X(i+1)*(33^i);

   Example: Let us reconvert the result from the previous example, from
   Base-VIN to decimal.  X = 13C, n = 3, LSB = C and MSB = 1.

      Y = 1*(33^2) + 3*(33^1) + C*(33^0)

      = 1*(1089) + 3* (33) + 12*(1)

      = 1200

A.4.  Number of positions

   It is possible to know how many positions are necessary to write a
   number in the Base-VIN numeral system before doing the conversion
   from decimal.  It is necessary for that to have the immediate power
   of 33 that is greater than or equal to the decimal number to convert.
   The number of necessary positions is this power of 33.  For example,
   suppose that you have to convert 1200 from decimal numeral system to
   Base-VIN. 1200 is immediately less than 33^3 and greater than 33^2.
   So 1200 will be written in 3 Base-VIN positions after conversion (We
   saw above that 1200 is actually '13C' in Base-VIN).


Authors' Addresses

   Sofiane Imadali
   CEA
   CEA, LIST, Communicating Systems Laboratory, Point Courrier 173
   Gif-sur-Yvette, Essonne  F-91191
   France

   Phone: +33 0169080727
   Email: sofiane.imadali@cea.fr


   Alexandru Petrescu
   CEA
   CEA, LIST, Communicating Systems Laboratory, Point Courrier 173
   Gif-sur-Yvette, Essonne  F-91191
   France

   Phone: +33 0169089223
   Email: alexandru.petrescu@cea.fr







Imadali, et al.          Expires August 19, 2013               [Page 17]


Internet-Draft           VIN-based ULA prefixes            February 2013


   Christophe Janneteau
   CEA
   CEA, LIST, Communicating Systems Laboratory, Point Courrier 173
   Gif-sur-Yvette, Essonne  F-91191
   France

   Phone: +33 0169089182
   Email: christophe.janneteau@cea.fr











































Imadali, et al.          Expires August 19, 2013               [Page 18]