home *** CD-ROM | disk | FTP | other *** search
/ Internet Core Protocols / Oreilly-InternetCoreProtocols.iso / RFCs / rfc2636.txt < prev    next >
Encoding:
Text File  |  1999-10-14  |  65.3 KB  |  1,628 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                       R. Gellens
  8. Request for Comments: 2636                                    Qualcomm
  9. Obsoletes: 2604                                              July 1999
  10. Category: Informational
  11.  
  12.  
  13.           Wireless Device Configuration (OTASP/OTAPA) via ACAP
  14.  
  15. Status of this Memo
  16.  
  17.    This memo provides information for the Internet community.  It does
  18.    not specify an Internet standard of any kind.  Distribution of this
  19.    memo is unlimited.
  20.  
  21. Copyright Notice
  22.  
  23.    Copyright (C) The Internet Society (1999).  All Rights Reserved.
  24.  
  25. Abstract
  26.  
  27.    Wireless carriers today are faced with creating more efficient
  28.    distribution channels, increasing customer satisfaction, while also
  29.    improving margin and profitability.  Industry trends are pushing the
  30.    sale of handsets further into the retail channel.  The cost and
  31.    effort of provisioning handsets, activating users, and updating
  32.    handset parameters can be greatly reduced by using over-the-air
  33.    activation mechanisms.  A comprehensive and extensible means for
  34.    over-the-air provisioning and handset parameter updating is required.
  35.  
  36.    One approach is to purchase EIA/TIA/IS-683A (Over-the-air Service
  37.    Provisioning of Mobile Stations in Spread Spectrum Systems)
  38.    equipment.  The cost of this has led carriers to seek alternative
  39.    solutions.  A very viable means for providing over-the-air (OTA)
  40.    provisioning is to leverage the rollout of IS-707 data services
  41.    equipment, which most carriers are in the process of deploying.  This
  42.    paper presents an approach to OTA provisioning that utilizes the
  43.    deployment of IS-707 to deliver OTA provisioning and parameter
  44.    upgrading.
  45.  
  46.    IS-707 data services makes available several methods of providing
  47.    over-the-air provisioning and parameter updating.  A well thought-out
  48.    approach utilizing Internet-based open standard mechanisms can
  49.    provide an extensible platform for further carrier service offerings,
  50.    enhanced interoperability among back-end services, and vendor
  51.    independence.
  52.  
  53.    This paper describes a viable and attractive means to provide
  54.    OTASP/OTAPA via IS-707, using the ACAP [ACAP] protocol.
  55.  
  56.  
  57.  
  58. Gellens                      Informational                      [Page 1]
  59.  
  60. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  61.  
  62.  
  63. Table of Contents
  64.  
  65.    1.  Terms  . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
  66.    2.  Feature Descriptions  . . . . . . . . . . . . . . . . . . .   6
  67.      2.1.  OTASP Feature Description  . . . . . . . . . . . . . . .  6
  68.      2.2.  OTAPA Feature Description . . . . . . . . . . . . . . .   6
  69.    3.  Operation  . . . . . . . . . . . . . . . . . . . . . . . . .  7
  70.      3.1.  Initial Provisioning Activity . . . . . . . . . . . . .   7
  71.      3.2.  OTASP for Authorized Users . . . . . . . . . . . . . . .  8
  72.      3.3.  OTAPA Activity  . . . . . . . . . . . . . . . . . . . .   8
  73.    4.  Requirements . . . . . . . . . . . . . . . . . . . . . . . .  9
  74.      4.1.  General Requirements  . . . . . . . . . . . . . . . . .   9
  75.      4.2.  OTASP Requirements  . . . . . . . . . . . . . . . . . . . 9
  76.      4.3.  OTAPA Requirements  . . . . . . . . . . . . . . . . . .  10
  77.      4.4.  Provisioning Server Requirements . . . . . . . . . . . . 10
  78.      4.5.  Security Requirements . . . . . . . . . . . . . . . . .  11
  79.    5.  Architecture . . . . . . . . . . . . . . . . . . . . . . . . 11
  80.      5.1.  ACAP over TCP/IP  . . . . . . . . . . . . . . . . . . .  11
  81.        5.1.1.  Mobile Authentication and A-Key Generation . . . . . 12
  82.        5.1.2.  Mobile Identification . . . . . . . . . . . . . . .  12
  83.        5.1.3.  ACAP Server  . . . . . . . . . . . . . . . . . . . . 12
  84.        5.1.4.  Overview of ACAP Structure  . . . . . . . . . . . .  13
  85.        5.1.5.  Data Organization and Capabilities . . . . . . . . . 13
  86.          5.1.5.1.  Structure . . . . . . . . . . . . . . . . . . .  14
  87.          5.1.5.2.  Conventions  . . . . . . . . . . . . . . . . . . 15
  88.          5.1.5.3.  Dataset . . . . . . . . . . . . . . . . . . . .  15
  89.          5.1.5.4.  Entries and Attributes . . . . . . . . . . . . . 15
  90.          5.1.5.5.  NAM Records . . . . . . . . . . . . . . . . . .  16
  91.          5.1.5.6.  Server Roaming Lists . . . . . . . . . . . . . . 17
  92.          5.1.5.7.  Requested-Data Record . . . . . . . . . . . . .  18
  93.          5.1.5.8.  Sample Server Entry  . . . . . . . . . . . . . . 18
  94.        5.1.6.  Administrative Client . . . . . . . . . . . . . . .  19
  95.        5.1.7.  Mobile Client  . . . . . . . . . . . . . . . . . . . 20
  96.      5.2.  WAP with ACAP . . . . . . . . . . . . . . . . . . . . .  22
  97.      5.3.  Network-Resident vs. Configuration Data  . . . . . . . . 23
  98.      5.4.  Intellectual Property Issues  . . . . . . . . . . . . .  23
  99.    6.  Handset Protocol Suites  . . . . . . . . . . . . . . . . . . 23
  100.      6.1.  ACAP over TCP/IP  . . . . . . . . . . . . . . . . . . .  23
  101.    7.  IS-683A Compatibility  . . . . . . . . . . . . . . . . . . . 24
  102.      7.1.  OTASP Operations  . . . . . . . . . . . . . . . . . . .  24
  103.      7.2.  OTASP Call Flow  . . . . . . . . . . . . . . . . . . . . 24
  104.      7.3.  OTAPA Operations  . . . . . . . . . . . . . . . . . . .  24
  105.      7.4.  OTAPA Call Flow  . . . . . . . . . . . . . . . . . . . . 25
  106.    8.  Alternative Methods . . . . . . . . . . . . . . . . . . . .  25
  107.      8.1.  IS-683A over TCP/IP  . . . . . . . . . . . . . . . . . . 25
  108.        8.1.1.  OTAF Server . . . . . . . . . . . . . . . . . . . .  25
  109.        8.1.2.  Interface Application  . . . . . . . . . . . . . . . 26
  110.        8.1.3.  Protocol Handset Suite  . . . . . . . . . . . . . .  26
  111.  
  112.  
  113.  
  114. Gellens                      Informational                      [Page 2]
  115.  
  116. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  117.  
  118.  
  119.      8.2.  Browser-Based Forms  . . . . . . . . . . . . . . . . . . 26
  120.    9.  Conclusion  . . . . . . . . . . . . . . . . . . . . . . . .  27
  121.    10.  References . . . . . . . . . . . . . . . . . . . . . . . .  28
  122.    11.  Security Considerations . . . . . . . . . . . . . . . . .   28
  123.    12.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . .  28
  124.    13.  Author's Address  . . . . . . . . . . . . . . . . . . . .   28
  125.    14.  Full Copyright Statement . . . . . . . . . . . . . . . . .  29
  126.  
  127. 1.  Terms
  128.  
  129.    Application Configuration Access Protocol (ACAP) -- An Internet
  130.    protocol (RFC-2244) that provides remote storage and access of
  131.    configuration and preference information.
  132.  
  133.    Activation -- A process in which a mobile station and network become
  134.    programmed so that a mobile station becomes operable and can be used
  135.    for cellular service once authorized by the service provider.
  136.  
  137.    Authentication -- A procedure used to validate a mobile station's
  138.    identity.
  139.  
  140.    Authentication Center -- An entity that manages the authentication
  141.    information related to the mobile station.
  142.  
  143.    Authentication Key (A-key) -- A secret 64-bit pattern stored in the
  144.    mobile station.  It is used to generate and update the mobile
  145.    station's shared secret data.  The A-key is used in the
  146.    authentication process.
  147.  
  148.    Authorization -- An action by a service provider to make cellular
  149.    service available to a subscriber.
  150.  
  151.    Call -- A temporary communication between telecommunications users
  152.    for the purpose of exchanging information.  A call includes the
  153.    sequence of events that allocates and assigns resources and signaling
  154.    channels required to establish a communications connection.
  155.  
  156.    Cellular Service Provider -- A licensee of the responsible government
  157.    agency (in the U.S. a licensee of the Federal Communications
  158.    Commission) authorized to provide Cellular Radiotelephone Service.
  159.  
  160.    Challenge/Response Authentication Mechanism using Message Digest 5
  161.    (CRAM-MD5) -- An authentication mechanism which is easy to implement,
  162.    and provides reasonable security against various attacks, including
  163.    replay.  Supported in a variety of Internet protocols.  Specified as
  164.    baseline mechanism in ACAP.  CRAM-MD5 is published as RFC 2195.
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Gellens                      Informational                      [Page 3]
  171.  
  172. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  173.  
  174.  
  175.    Code Division Multiple Access -- A technique for spread-spectrum
  176.    multiple-access digital communications that creates channels through
  177.    the use of unique code sequences.
  178.  
  179.    Customer Service Center -- An entity of a service provider that
  180.    provides user support and assistance to subscribers.
  181.  
  182.    Customer Service Representative -- A person that operates from a
  183.    customer service center and provides user support and assistance to
  184.    subscribers.
  185.  
  186.    Diffie-Hellman Algorithm -- A public-key cryptography algorithm for
  187.    exchanging secret keys.  Uses the equation , where k is the secret
  188.    key.  The equation is executed by each party of the session based on
  189.    the exchange of independently generated public values.
  190.  
  191.    Digits -- Digits consist of the decimal integers 0,1,2,3,4,5,6,7,8,
  192.    and 9.
  193.  
  194.    Dual-mode Mobile Station -- A mobile station capable of both analog
  195.    and digital operation.
  196.  
  197.    Electronic Serial Number (ESN) -- A 32-bit number assigned by the
  198.    mobile station manufacturer used to identify a mobile station.  The
  199.    ESN is unique for each legitimate mobile station.
  200.  
  201.    Home Location Registry (HLR) -- The location register or database to
  202.    which a MIN is assigned for record purposes such as subscriber
  203.    information.
  204.  
  205.    Message Digest 5 (MD5) -- A one-way cryptographic hash function.
  206.    Widely deployed in Internet protocols.  Published as RFC 1321.
  207.  
  208.    Mobile Identification Number (MIN) -- The 10-digit number that
  209.    represents a mobile station's directory number.
  210.  
  211.    Mobile Station (MS) -- A station, fixed or mobile, which serves as
  212.    the end user's wireless communications link with the base station.
  213.    Mobile stations include portable units (e.g., hand-held personal
  214.    units) and units installed in vehicles.
  215.  
  216.    Mobile Switching Center (MSC) -- A configuration of equipment that
  217.    provides cellular radiotelephone service.
  218.  
  219.    Mobile Terminal Authorizing System (MTAS) -- A control system that
  220.    provides the capability to load the CDMA network HLR with mobile
  221.    station profile information.
  222.  
  223.  
  224.  
  225.  
  226. Gellens                      Informational                      [Page 4]
  227.  
  228. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  229.  
  230.  
  231.    Number Assignment Module (NAM) -- The mobile station's electronic
  232.    memory module where the MIN and other subscriber-specific parameters
  233.    are stored.  Mobile stations that have multi-NAM features offer users
  234.    the option of using their units in several different markets by
  235.    registering with a local number in each location.
  236.  
  237.    Over-the-air Service Provisioning Function (OTAF) -- A configuration
  238.    of network equipment that controls OTASP functionality and messaging
  239.    protocol.
  240.  
  241.    Over-the-air Parameter Administration (OTAPA) -- Network initiated
  242.    OTASP process of provisioning mobile station operational parameters
  243.    over the air interface.
  244.  
  245.    Over-the-air Service Provisioning (OTASP) -- A process of
  246.    provisioning mobile station operational parameters over the air
  247.    interface.
  248.  
  249.    Quick-Net-Connect (QNC) -- An IS-707 data service capability that
  250.    utilizes the Async Data Service Option number but bypasses the modem
  251.    connection for a direct connection to an IP-based internet.
  252.  
  253.    Roamer -- A mobile station operating in a cellular system or network
  254.    other than the one from which service was subscribed.
  255.  
  256.    Simple Authentication and Security Layer (SASL) -- An Internet
  257.    protocol (RFC-2222) that provides a framework for negotiating
  258.    authentication and encryption mechanisms.
  259.  
  260.    Service Provider -- A company, organization, business, etc. which
  261.    sells, administers, maintains, and charges for the service.  The
  262.    service provider may or may not be the provider of the network.
  263.  
  264.    Shared Secret Data (SSD) -- A 128-bit pattern stored in the mobile
  265.    station (in semi-permanent memory) and known by the network.  The A-
  266.    key is used to generate the SSD at the network and in the mobile
  267.    station for comparison.
  268.  
  269.    Wireless Application Protocol (WAP) -- A set of network and
  270.    application protocols including a datagram protocol (WDP), Transport
  271.    Layer Security (WTLS), Transaction Protocol (WTP), Session Protocol
  272.    (WSP), and Application Environment (WAE), which use carrier-based
  273.    gateways to enable wireless devices to access Web resources.  See
  274.    <http://www.wapforum.org> for specifications and details.
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Gellens                      Informational                      [Page 5]
  283.  
  284. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  285.  
  286.  
  287. 2.  Feature Descriptions
  288.  
  289. 2.1.  OTASP Feature Description
  290.  
  291.     The Over the Air Service Provisioning (OTASP) feature allows a
  292.     potential wireless service subscriber to activate new wireless
  293.     services, and allows an existing wireless subscriber to make
  294.     services changes without the intervention of a third party.  OTASP
  295.     includes the following:
  296.  
  297.     * A way to establish a user profile.
  298.  
  299.     * "Over-The-Air" programming of a Number Assignment Module (NAM),
  300.     IMSI and Roaming Lists, including Data option parameters, and
  301.     optionally, service provider or manufacturer specific parameters
  302.  
  303.     (e.g., lock code, call timer).
  304.  
  305.     * An Authentication Key (A-key) Generation procedure.
  306.  
  307.     * A-key storage
  308.  
  309. 2.2.  OTAPA Feature Description
  310.  
  311.     The Over-the-Air Parameter Administration (OTAPA) feature allows
  312.     wireless service providers to update a NAM, IMSI, and Roaming List
  313.     information in the mobile station remotely without the intervention
  314.     of a third party.  This capability increases flexibility and reduces
  315.     costs for carriers involved with mass changes that affect every
  316.     handset, such as area-code splits.
  317.  
  318.     OTAPA includes the following:
  319.  
  320.     * Update a user's Number Assignment Module (NAM)
  321.  
  322.     * Update Data option parameters
  323.  
  324.     * Update service provider or manufacturer specific parameters (e.g.,
  325.     Server address(es), lock code, call timer).
  326.  
  327.     * Update roaming lists
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Gellens                      Informational                      [Page 6]
  339.  
  340. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  341.  
  342.  
  343. 3.  Operation
  344.  
  345. 3.1.  Initial Provisioning Activity
  346.  
  347.     A new subscriber needs to give the intended service provider
  348.     sufficient information (e.g., name, address, etc.) to prove credit-
  349.     worthiness and establish a record within the service provider's
  350.     billing system.  In addition, the ESN of the mobile station needs to
  351.     be given to the provider.  This may occur in three ways:
  352.  
  353.     Voice scenario -- A customer care representative collects credit
  354.     information during a voice conversation.  This call is made from a
  355.     different phone (e.g., wired service) or is initiated using the IS-
  356.     683A OTASP dialing scheme (i.e., *228xx).
  357.  
  358.     Once the user has been authorized, the customer care representative
  359.     creates a record in the CDMA network HLR, thus allowing use of the
  360.     CDMA network.  In addition, a limited-time N-digit password is
  361.     created which is tied to the ESN.  The choice of N (how many digits)
  362.     is up to the carrier (as a trade-off between security and user
  363.     inconvenience).  All required provisioning information (including
  364.     the limited-time password) is loaded into the provisioning server.
  365.  
  366.     The user is then told to hang up and call a special number, of the
  367.     form *228 XX <N-digit password> SEND (the XX code is the same as
  368.     used in the initial voice call).  This causes the mobile station to
  369.     initiate a provisioning session.
  370.  
  371.     The mobile station and the provisioning server authenticate, and all
  372.     required provisioning information is downloaded into the mobile
  373.     station.  The user receives some form of notification once the
  374.     activity is complete.  This notification can be an audible tone or a
  375.     text message on the mobile station display. (The form and content of
  376.     this notification can be part of the provisioning data downloaded by
  377.     the mobile station.) Once this initial provisioning activity is
  378.     complete the user has a fully authorized mobile station ready for
  379.     use.
  380.  
  381.     Forms scenario -- An interactive user interface is presented via a
  382.     browser on the mobile station.  The subscriber fills in the
  383.     requested information. (Note that entering non-numeric data presents
  384.     some user interface challenges on many mobile devices.)
  385.  
  386.     A back-end server validates the information, and if possible, the
  387.     customer is authorized, a limited-time password is generated, HLR
  388.     and provisioning server records are created and the actual OTASP
  389.     operation begins.  Otherwise, a voice call is made to a customer
  390.     care representative.
  391.  
  392.  
  393.  
  394. Gellens                      Informational                      [Page 7]
  395.  
  396. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  397.  
  398.  
  399.     Desktop scenario -- The subscriber uses a desktop (or in-store
  400.     kiosk) web browser to contact the carrier, and enters the usual
  401.     personal information.
  402.  
  403.     The carrier's server validates the information, and if possible, the
  404.     customer is authorized, a limited-time password is generated, HLR
  405.     and provisioning server records are created, and the subscriber is
  406.     told to dial a special number on the handset.  Once this code is
  407.     entered, the actual OTASP operation begins.  Otherwise, the user is
  408.     asked to make a voice call to a customer care representative.
  409.  
  410. 3.2.  OTASP for Authorized Users
  411.  
  412.     Users already authorized for use of the CDMA network can also
  413.     initiate provisioning activity.  This could happen after being
  414.     directed to do so by a Customer Care representative, either from a
  415.     phone conversation or via mail notification.  This type of OTASP
  416.     activity is needed in cases where the carrier desires to upgrade
  417.     CDMA parameters in the mobile stations or in cases where mobile
  418.     station troubleshooting is needed.
  419.  
  420.     This type of OTASP occurs in similar fashion to the initial OTASP
  421.     activity.  The mobile station downloads the new provisioning
  422.     information in the same way.
  423.  
  424. 3.3  OTAPA Activity
  425.  
  426.     Typical OTAPA capability involves upgrading a large number of mobile
  427.     stations.  OTAPA activity needs to be performed in a manner that
  428.     does not impose on revenue bearing CDMA network activity.  OTAPA
  429.     operations are initiated at the customer care center.  This can be
  430.     accomplished by queuing a notification to the mobile station (via
  431.     1-way SMS or special caller-ID) after the provisioning server has
  432.     the updated configuration data.  OTAPA activity will not occur until
  433.     the mobile station has acquired CDMA service on the carrier's
  434.     network and the notification has reached the mobile station.
  435.  
  436.     Alternatively, OTAPA can be handled by including a recheck interval
  437.     in the set of data used to provision the mobile station.  When using
  438.     a low-overhead protocol, such as ACAP [ACAP], it is reasonable to
  439.     have a mobile station check in periodically to see if anything has
  440.     changed.  The time of day and/or day of week that such rechecks
  441.     should occur could be included in the provisioning data.
  442.  
  443.     OTAPA activity can be terminated at any time due to user call
  444.     activity.
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Gellens                      Informational                      [Page 8]
  451.  
  452. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  453.  
  454.  
  455. 4.  Requirements
  456.  
  457. 4.1.  General Requirements
  458.  
  459.     IS-683A OTASP operations occur between a mobile station and an
  460.     over-the-air service provisioning function (OTAF) using IS-95A
  461.     traffic channel data burst messages.  OTASP/OTAPA via data services
  462.     require that the CDMA carrier have an IS-707 data services capable
  463.     network.  The IS-707 service must be either Packet Data Service
  464.     (IS-707.5) or Quick-Net-Connect (QNC).
  465.  
  466.     The mobile station must support:
  467.  
  468.     * IS-707 Data Service capability
  469.  
  470.     * Packet/QNC RLP protocol
  471.  
  472.     * PPP protocol to peer to the IS-707 IWF
  473.  
  474.     * IP protocol to provide the network layer for routing to the
  475.     provisioning server
  476.  
  477.     * A transport layer for end-to-end communication (such as TCP)
  478.  
  479.     * Authentication and optionally encryption
  480.  
  481.     * Application software to handle the provisioning protocol and
  482.     memory access.
  483.  
  484.     * Domain Name System (DNS) query capabilities sufficient to obtain
  485.     the (IP) address of the provisioning server (or the provisioning
  486.     server's address could be provided during PPP negotiation).
  487.  
  488.     Lastly, the ability must exist for the mobile to make a data call
  489.     (optionally) a voice call without a MIN.
  490.  
  491. 4.2.  OTASP Requirements
  492.  
  493.     The OTASP function requires the mobile station to originate an IS-
  494.     707 data call and (optionally) a voice call using a completely
  495.     unprovisioned mobile station.  The CDMA network must support this
  496.     capability.
  497.  
  498.     OTASP via data services uses a provisioning server that contains the
  499.     parameter information for mobile stations.  The authorizing agent
  500.     (or software) at the customer care center must be able to add user
  501.     and mobile station information into both the CDMA network HLR and
  502.  
  503.  
  504.  
  505.  
  506. Gellens                      Informational                      [Page 9]
  507.  
  508. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  509.  
  510.  
  511.     the provisioning server during the initial authorizing process.  The
  512.     provisioning server must be capable of servicing a mobile as soon as
  513.     its record is created.
  514.  
  515. 4.3.  OTAPA Requirements
  516.  
  517.     IS-683A OTAPA is performed by a mobile-terminated call that
  518.     downloads parameters to the mobile station.  OTAPA calls occur
  519.     without user interaction.
  520.  
  521.     In order to perform OTAPA via data services the network needs to
  522.     direct the mobile station to initiate a special-purpose data call.
  523.     Several existing methods can be used to implement this capability,
  524.     for example, a mobile-terminated one-way SMS message.  The SMS
  525.     message content can contain any information required by the mobile
  526.     station.  The mobile station would need a simple parser of SMS
  527.     messages in order to know when to originate an OTAPA call, as
  528.     opposed to normal SMS message processing.  The OTAPA call would be
  529.     performed in similar fashion to a registration call.  More
  530.     specifically, the user would not be informed of the call activity.
  531.  
  532.     There are alternative means that can be employed to initiate OTAPA
  533.     activity; for example, a mobile-terminated voice call with caller-ID
  534.     using a specialized telephone number.  Another alternative is for
  535.     mobile stations to periodically check in with the provisioning
  536.     server to check for updated information.  ACAP, for example, is
  537.     designed for such a model.  The recheck interval, as well as the
  538.     time of day and/or day of week that such checks should be used, can
  539.     be part of the provisioning data sent to the mobile stations.
  540.  
  541. 4.4.  Provisioning Server Requirements
  542.  
  543.     IS-683A utilizes an over-the-air service provisioning function
  544.     (OTAF) to perform the network-side provisioning activity.
  545.     OTASP/OTAPA via data services replaces the OTAF with a provisioning
  546.     server.  The provisioning server resides on an IP network within the
  547.     controlled confines of the carrier.  The provisioning server must
  548.     perform all the service provisioning and parameter administration
  549.     functions that the OTAF provides.  The provisioning server must also
  550.     have an interface to the carrier's Mobile Terminal Authorizing
  551.     System (MTAS).  This interface serves to synchronize the
  552.     provisioning server with the information in the MTAS.  The specific
  553.     requirements of this interface depend on the capabilities and
  554.     interfaces of the carrier's customer care center system(s).  The
  555.     provisioning server must be capable of receiving dynamic updates
  556.     from the MTAS and have the provisioning information immediately
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Gellens                      Informational                     [Page 10]
  563.  
  564. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  565.  
  566.  
  567.     available for downloading into the chosen mobile station.  A
  568.     standard ACAP server provides an excellent means to meet these
  569.     requirements.
  570.  
  571.     The provisioning server must be capable of performing an
  572.     authentication procedure with the mobile station.  This
  573.     authentication mechanism must be capable of authenticating both the
  574.     mobile station and the provisioning server.
  575.  
  576. 4.5.  Security Requirements
  577.  
  578.     OTASP requires that an authentication procedure be performed to
  579.     validate the mobile station to the provisioning server, while OTAPA
  580.     requires a mechanism where the mobile validates the server.
  581.  
  582.     The provisioning server must be capable of either:
  583.  
  584.     * OTAF A-key generation using a Diffie-Hellman mechanism
  585.  
  586.     Or:
  587.  
  588.     * Receiving A-keys from the carrier network.
  589.  
  590.     Since data OTASP/OTAPA operates over IP within the carrier's
  591.     network, end-to-end encryption between the mobile station and the
  592.     provisioning server should be considered as a future enhancement.
  593.     End-to-end encryption protects against attacks from within a
  594.     carrier's network, and safeguards the provisioning data (for
  595.     example, roaming lists).
  596.  
  597. 5.  Architecture
  598.  
  599. 5.1.  ACAP over TCP/IP
  600.  
  601.     Figure 1 shows a provisioning server in the carrier's intranet which
  602.     supports the Application Configuration Access Protocol (ACAP, RFC
  603.     2244).  An administrative client in the customer care domain updates
  604.     this server using ACAP.  Handsets are provisioned and configured
  605.     using a small ACAP client.
  606.  
  607.                     [Figure 1 -- see PostScript version]
  608.  
  609.     ACAP is an open Internet protocol designed to solve the problem of
  610.     client access to configuration and related data.  Among its primary
  611.     goals are protocol simplicity, support for thin clients, and ease of
  612.     operation over limited bandwidth.  ACAP provides a high degree of
  613.     extensibility, especially in authentication mechanisms, specialized
  614.     attribute handling, and data management.
  615.  
  616.  
  617.  
  618. Gellens                      Informational                     [Page 11]
  619.  
  620. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  621.  
  622.  
  623. 5.1.1.  Mobile Authentication and A-Key Generation
  624.  
  625.     The mobile client authenticates with the ACAP server prior to
  626.     performing any activities.  Authentication uses the mobile's ESN and
  627.     a shared secret.  Provisioned mobiles derive the shared secret from
  628.     the A-Key; unprovisioned mobiles use a limited-time password as the
  629.     secret.
  630.  
  631.     The limited-time password is provided to the user by the Customer
  632.     Care representative during the initial call (as instructions to dial
  633.     a specific number).  This code is N digits long.  The carrier
  634.     selects the number of digits, as a trade-off between security and
  635.     user convenience.
  636.  
  637.     The baseline ACAP authentication mechanism uses the shared secret
  638.     plus a random challenge from the server as input to a one-way
  639.     cryptographic hash function (specifically, keyed-MD5).  This is
  640.     analogous to the existing IS-683A authentication mechanism which
  641.     uses a random challenge and the CAVE algorithm.
  642.  
  643.     An A-Key is generated using a Diffie-Hellman exchange, as is done in
  644.     IS-683A.
  645.  
  646. 5.1.2.  Mobile Identification
  647.  
  648.     Provisioning records are identified using the ESN and the current
  649.     NAM in use.
  650.  
  651. 5.1.3.  ACAP Server
  652.  
  653.     As a standard ACAP server, the provisioning server includes
  654.     configurable datasets and dataset inheritance for the management of
  655.     the data stores.
  656.  
  657.     The administrative client can use the same simple ACAP protocol to
  658.     load and modify the ACAP server as the mobile stations uses for
  659.     provisioning.  While any implementation-specific mechanisms
  660.     available from the server vendor could instead be used for this
  661.     purpose, the ability to use ACAP can greatly simplify the
  662.     administrative client, as well as make it independent of the server.
  663.  
  664.     ACAP includes an authentication framework (Simple Authentication and
  665.     Security Layer, SASL, RFC 2222)[SASL].  SASL allows any standard or
  666.     custom authentication and encryption mechanism to be used.  One of
  667.     the most important features of SASL is that it is designed for a
  668.     world in which what is "good enough" security today isn't good
  669.     enough tomorrow.  As the threat model changes, SASL allows higher-
  670.     strength mechanisms to be easily added while supporting already
  671.  
  672.  
  673.  
  674. Gellens                      Informational                     [Page 12]
  675.  
  676. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  677.  
  678.  
  679.     deployed clients and servers.  SASL is achieving widespread
  680.     deployment in a number of Internet protocols.
  681.  
  682.     Strongpoints:  Since the ACAP protocol was designed for precisely
  683.     this type of provisioning activity, its adoption can greatly reduce
  684.     the cost, time to market, and support required for the provisioning
  685.     server.  Additionally, the ACAP protocol provides an open standard
  686.     method for mobile stations and other systems to access the
  687.     provisioning server.  Commercial ACAP servers are being developed by
  688.     numerous companies.  The ACAP client code is very small and simple,
  689.     and thus can be incorporated into virtually any mobile device at
  690.     minimal cost.  As an open standard, the ACAP protocol has benefited
  691.     from years of review and experience.
  692.  
  693. 5.1.4.  Overview of ACAP Structure
  694.  
  695.     ACAP organizes data by datasets.  The structure of a dataset is
  696.     defined by the dataset class.  Generally, ACAP servers do not have
  697.     knowledge of dataset classes.  This allows the dataset to be
  698.     expanded without modifying the server in any way.  A dataset is an
  699.     instantiation of the dataset class, which is a logical definition of
  700.     what is in a dataset, and how it is used.
  701.  
  702.     Datasets contain entries.  Entries contain attributes and values.
  703.     Attributes and values are actually metadata, such as name, length,
  704.     and value.  Any entry can also be a dataset (datasets are
  705.     hierarchical).
  706.  
  707.     For example, consider the ACAP addressbook dataset class, designed
  708.     to hold names, email addresses, phone numbers, and related
  709.     information for a person's contacts.  A given user may have one or
  710.     more addressbook datasets.  Each entry holds information about one
  711.     person or entity.  Attributes in the entry hold specific items of
  712.     information, such as the given name, surname, various email
  713.     addresses, phone numbers, and so forth.  If an entry is a list of
  714.     people (such as a mailing list or specific group of people), it is a
  715.     subdataset, containing its own entries.  Some clients may look at
  716.     only a subset of the attributes.  For example, a mobile handset ACAP
  717.     client may download only the alias (nickname), name, primary phone
  718.     number and email address of each entry, while a desktop client may
  719.     access all attributes.
  720.  
  721. 5.1.5.  Data Organization and Capabilities
  722.  
  723.     ACAP provides custom hierarchical datasets.  Server data can be
  724.     organized to fit the needs of the applications using the dataset.
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Gellens                      Informational                     [Page 13]
  731.  
  732. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  733.  
  734.  
  735.     In OTASP/OTAPA over ACAP, data on the server is organized to both
  736.     take advantage of ACAP capabilities and to use items that are
  737.     identical to IS-683A, allowing for reuse of IS-683A handset engines.
  738.  
  739.     ACAP servers also support data inheritance.  All data items which
  740.     are physically in the inherited dataset and not in the inheriting
  741.     dataset logically also exist in the inheriting dataset.  This is
  742.     recursive, as the inherited dataset can itself inherit from another
  743.     dataset.  This powerful concept allows potentially large groups of
  744.     mobile stations to inherit items from a single common entity.  For
  745.     example, preferred roaming lists can be stored in datasets based on
  746.     geographic areas, and automatically inherited by an individual
  747.     mobile station in that area.  The roaming lists could be further
  748.     subdivided, for example based on tiers of free NVRAM in the mobile.
  749.     The mobile client need not be aware of this; it happens entirely on
  750.     the server.
  751.  
  752.     ACAP uses trees to provide the data hierarchy.  These data trees can
  753.     be viewed as similar to the directory/file structure used with all
  754.     common operating systems.  The built-in inheritance mechanism,
  755.     together with the hierarchical structure, makes it extremely easy to
  756.     update general data without disturbing specific data.
  757.  
  758.     Datasets exist within the user, group, and host hierarchies.  The
  759.     user hierarchy holds datasets which belong to individual users.  The
  760.     group hierarchy holds datasets which belong to groups (for example,
  761.     the "Region." groups in section 5.1.6.3  Server Roaming Lists).  The
  762.     host hierarchy holds datasets which are for specific machines or
  763.     systems.
  764.  
  765.     In addition to providing customizable data trees, ACAP also provides
  766.     several standard datasets for all clients.  There is a capabilities
  767.     dataset that contains information on custom functionality and
  768.     enhanced features available to a specific client or at the site
  769.     generally.  This allows a server to advertise any protocol
  770.     extensions, specialized attribute handling, or other enhanced
  771.     functionality it supports.  A client that needs to use these
  772.     features can thus easily determine what is available before trying
  773.     to use them.
  774.  
  775. 5.1.5.1.  Structure
  776.  
  777.     We divide the data accessed by the client into provisioning items,
  778.     group items, and client state items.  Provisioning data contains NAM
  779.     items and requested-data items.  Group items (such as preferred
  780.     roaming lists), are not specific to any mobile device.  Group items
  781.     physically exist in their own datasets, but through inheritance
  782.     logically appear in client datasets.
  783.  
  784.  
  785.  
  786. Gellens                      Informational                     [Page 14]
  787.  
  788. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  789.  
  790.  
  791.     The mobile stations always read data from provisioning entries and
  792.     write data to client state entries.  This structure makes both
  793.     mobile clients and server configuration easy and simple, while
  794.     allowing for extensive custom and diagnostic capabilities.
  795.  
  796. 5.1.5.2.  Conventions
  797.  
  798.     "" This signifies the empty string (used here for ACAP entries).
  799.  
  800.     ~ This is shorthand for "user/<userid>".  It is part of the ACAP
  801.     protocol.
  802.  
  803. 5.1.5.3. Dataset
  804.  
  805.     Provisioning information is located in the "OTAP" dataset class.
  806.     (The full specification of this dataset will be published in a
  807.     subsequent document.) The prefix "Provision." is used for items that
  808.     are to be downloaded to the mobile, and the prefix "Client." is used
  809.     for items which the client stores on the server.
  810.  
  811.     Provisioning data within the OTAP dataset is organized as a series
  812.     of items, each of which is stored in its own entry.  The entry name
  813.     is the item name, and the "OTAP.VALUE" attribute contains the item
  814.     value.  This structure permits change notification on a per-item
  815.     basis.
  816.  
  817.     We chose the "Provision" and "Client" names to simplify various
  818.     operations.  For example, the mobile client can easily download all
  819.     changed provisioning items by performing a search which returns the
  820.     "OTAP.VALUE" attribute of all entries whose name begins with
  821.     "Provision" and whose modtime is greater than the last time the
  822.     client retrieved data.  An administrative client can easily generate
  823.     a report of all clients which have not received the most recent
  824.     update by searching for all entries named "Client" whose
  825.     "OTAP.modtime" attribute is less than the desired value.
  826.  
  827.     A partial list of items follows.
  828.  
  829. 5.1.5.4.  Entries and Attributes
  830.  
  831.     dataset.inherit
  832.  
  833.     This is a standard ACAP attribute that identifies the location of
  834.     inherited data.  It exists in the "" entry (the entry with the empty
  835.     name) within each dataset.
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Gellens                      Informational                     [Page 15]
  843.  
  844. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  845.  
  846.  
  847. 5.1.5.5.  NAM Records
  848.  
  849.     The OTAP dataset class contains an entry for each provisioned
  850.     mobile.  The standard location for provisioning records is:
  851.  
  852.         /OTAP/USER/<esn>/<nam>/
  853.  
  854.     This tree format allows multiple NAMs per ESN.  The specific entries
  855.     contain data in IS-683A parameter block types.
  856.  
  857.     For example, the CDMA NAM would be stored in an entry called:
  858.  
  859.         /OTAP/USER/<esn>/<nam>/Provision.CDMA-NAM/
  860.  
  861.     The entries below show how NAM records would be organized on the
  862.     ACAP server:
  863.  
  864.     CDMA/Analog NAM
  865.  
  866.         Entry-Path: /OTAP/USER/<esn>/<nam>/Provision.CDMA-AMPS-NAM/
  867.  
  868.         OTAP.Value: {17} xx xx xx ... xx
  869.  
  870.         The CDMA/Analog NAM entry from IS-683A (section 4.5.2.1)
  871.         consists of at least 129 information bits, depending on the
  872.         number of SID NID list entries.  This is stored as 17 (or more)
  873.         octets of binary data (padding is used to ensure an integral
  874.         number of octets).
  875.  
  876.     Mobile Directory Number
  877.  
  878.         Entry-Path: /OTAP/USER/<esn>/<nam>/Provision.MOBILE-DN/
  879.  
  880.         OTAP.Value: {10} nnnnnnnnnn
  881.  
  882.         The Mobile Directory Number from IS-683A contains BCD-encoded
  883.         digits representing the phone number.  This is stored as a
  884.         string of 10 or more ASCII digits, e.g., "6195551212".
  885.  
  886.     CDMA NAM
  887.  
  888.         Entry-Path: /OTAP/USER/<esn>/<nam>/ Provision.CDMA-NAM/
  889.  
  890.         OTAP.Value: {13} xx xx xx ... xx
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898. Gellens                      Informational                     [Page 16]
  899.  
  900. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  901.  
  902.  
  903.         The CDMA-NAM entry from IS-683A (section 4.5.2.3) consists of at
  904.         least 100 information bits, depending on the number of SID-NID
  905.         list entries.  This is stored as 13 (or more) octets of binary
  906.         data (padding is used to ensure an integral number of octets).
  907.  
  908.     IMSI_T
  909.  
  910.         Entry-Path: /OTAP/USER/<esn>/<nam>/ Provision.IMSI_T/
  911.  
  912.         OTAP.Value: {7} xx xx xx xx xx xx xx
  913.  
  914.         The IMSI_T entry from IS-683A (section 4.5.2.4) consists of 55
  915.         bits of information in five fields.  This is stored left-
  916.         justified in 7 octets of binary data.
  917.  
  918. 5.1.5.6.  Server Roaming Lists
  919.  
  920.     The ACAP Server will have an entry for each different roaming list
  921.     configuration for a carrier.  The example below assumes that the
  922.     desired differentiation for the roaming list is geographic, with
  923.     subdivisions for tiers of mobile free NVRAM It shows that for each
  924.     region there exists a set of roaming lists per free NVRAM range.
  925.     Note that a carrier can easily implement different or further
  926.     differentiation (e.g., by phone vendor or product type) by simply
  927.     changing the dataset tree and assigned the appropriate value to the
  928.     "dataset.inherit" attribute in the provisioning records.
  929.  
  930.         /OTAP/GROUP/region.NorthEast/free-nv.128-512/
  931.                     preferred.roaming.list/OTAP.Value
  932.         /OTAP/GROUP/region.NorthEast/free-nv.512-1024/
  933.                     preferred.roaming.list/OTAP.Value
  934.         /OTAP/GROUP/region.SouthEast/free-nv.128-512/
  935.                     preferred.roaming.list/OTAP.Value
  936.         /OTAP/GROUP/region.SouthEast/free-nv.512-1024/
  937.                     preferred.roaming.list/OTAP.Value
  938.         /OTAP/GROUP/region.NorthWest/free-nv.128-512/
  939.                     preferred.roaming.list/OTAP.Value
  940.         /OTAP/GROUP/region.NorthWest/free-nv.512-1024/
  941.                     preferred.roaming.list/OTAP.Value
  942.         /OTAP/GROUP/region.SouthWest/free-nv.128-512/
  943.                     preferred.roaming.list/OTAP.Value
  944.         /OTAP/GROUP/region.SouthWest/free-nv.512-1024/
  945.                     preferred.roaming.list/OTAP.Value
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954. Gellens                      Informational                     [Page 17]
  955.  
  956. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  957.  
  958.  
  959. 5.1.5.7.  Requested-Data Record
  960.  
  961.     Inside the OTAP dataset is an entry with the name
  962.     "Provision.Requested-Data", which contains one attribute called
  963.     "OTAP.Requested-Data".  This attribute is multi-valued.  It is
  964.     either NIL or contains a list of strings.  Each string is the name
  965.     of one element of data that the server requests the client to
  966.     supply.
  967.  
  968.     After authenticating, the ACAP client issues a SEARCH command to
  969.     retrieve the values of the "OTAP.Requested-Data" attribute of the
  970.     "Provision.Requested-Data" entry.  The client processes the returned
  971.     values (if any) by issuing a STORE command to set one or more
  972.     attributes in the "Client" entry.  The value of each attribute is
  973.     either the corresponding mobile value (which may be an empty string
  974.     if the item has no value), or the special value "[N/A]" if the item
  975.     does not exist or is unknown on the mobile.
  976.  
  977.     This mechanism is quite general, and can be used in the normal OTASP
  978.     case to modify the mobile's dataset as appropriate for the condition
  979.     of the mobile.  For example, the inheritance could be set based on
  980.     the amount of NVRAM available, to cause one set of preferred roaming
  981.     list data or another to be used.  This mechanism can also be used in
  982.     other situations, such as to retrieve a complete set of mobile
  983.     configuration parameters for diagnostic reasons.
  984.  
  985. 5.1.5.8.  Sample Server Entry
  986.  
  987.     The entry below is an excerpt of a sample ACAP server dataset entry
  988.     for a single mobile station, with an ESN of FB9876E and using NAM 1:
  989.  
  990.     /OTAP/USER/FB9876E/1/
  991.  
  992.        entry              =   ""
  993.        dataset.inherit    =   "/OTAP/GROUP/region.NorthEast/
  994.                                free-nv.128-512/preferred.roaming.list/
  995.                                OTAP.Value/"
  996.  
  997.        entry               =   "Provision.Requested-Data"
  998.        OTAP.Requested-Data =   ("Phone-Make" "Phone-Model" "SW-Rev"
  999.                                 "Free-NVRAM")
  1000.  
  1001.        entry               =   "Client"
  1002.        OTAP.Phone-Make     =   "Qualcomm"
  1003.        OTAP.Phone-Model    =   "pdQ1900"
  1004.        OTAP.SW-Rev         =   "001.030.0908"
  1005.        OTAP.Free-NVRAM     =   "65536"
  1006.        OTAP.Last-Modtime   =   "199812181703"
  1007.  
  1008.  
  1009.  
  1010. Gellens                      Informational                     [Page 18]
  1011.  
  1012. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  1013.  
  1014.  
  1015.        entry               =   "Provision.Mobile-DN"
  1016.        OTAP.Value          =   {10} 619 555 1234
  1017.  
  1018.        entry               =   "Provision.CDMA-NAM"
  1019.        OTAP.Value          =   {13} xx xx xx xx xx xx xx xx xx xx xx
  1020.                                            xx xx
  1021.  
  1022.     This dataset shows not only provisioning data which was downloaded
  1023.     into the mobile station, but also the items of client data requested
  1024.     by the server (the Requested-Data attribute) and the values of those
  1025.     items (the "Client" entry).  It also indicates that the mobile
  1026.     client successfully stored the values associated with the modtime
  1027.     "199812181703".  In addition, it shows that this client inherits
  1028.     data (i.e., roaming lists) from the "NorthEast" region.
  1029.  
  1030. 5.1.6.  Administrative Client
  1031.  
  1032.     The administrative client loads initial provisioning information
  1033.     into the server, including specifying the roaming list to inherit.
  1034.     The administrative client also updates provisioning server records
  1035.     as needed, and retrieves data for reports (such as a list of clients
  1036.     which have not yet been updated).
  1037.  
  1038.     Data is loaded into provisioning records by using the ACAP STORE
  1039.     command.  The administrative client authenticates to the ACAP server
  1040.     using credentials that permit access to datasets for mobiles.
  1041.  
  1042.     When a new mobile is authorized for service, the administrative
  1043.     client creates the dataset by storing into it values that are
  1044.     specific for the device.  It also sets the "dataset.inherit"
  1045.     attribute so that values which are not tied to the specific mobile
  1046.     are inherited as appropriate.
  1047.  
  1048.     * Updates to user records
  1049.  
  1050.          Existing user records may need updating from time to time.  For
  1051.          example, a user may change service plans or purchase an
  1052.          additional or replacement mobile device, or the carrier may
  1053.          need to modify some aspect of provisioned data.
  1054.  
  1055.     * Perusal and editing of provisioning records
  1056.  
  1057.          The administrative client can provide general browse and edit
  1058.          capability for user records.
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Gellens                      Informational                     [Page 19]
  1067.  
  1068. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  1069.  
  1070.  
  1071.     * Report generation
  1072.  
  1073.          The administrative client can extract data from the ACAP server
  1074.          in order to generate reports.  For example, after OTAPA
  1075.          activity, a carrier may wish to identify those mobiles which
  1076.          have not yet been updated.
  1077.  
  1078.     * Queuing of OTAPA sessions
  1079.  
  1080.          Depending on the OTAPA update procedures chosen (e.g., SMS,
  1081.          CLID, periodic recheck), the administrative client may be
  1082.          involved in initiating the activity.  This may or may not use
  1083.          an interface to the provisioning server.
  1084.  
  1085. 5.1.7.  Mobile Client
  1086.  
  1087.     The ACAP mobile client is implemented as a state machine that
  1088.     performs the equivalent of IS-683A provisioning parameter
  1089.     information exchange and non-volatile memory storage.  The ACAP
  1090.     Client state machine diagram (Figure 2) and descriptions are below.
  1091.  
  1092.                     [Figure 2 -- see PostScript version]
  1093.  
  1094.     * Establish Transport Layer/Authenticate
  1095.  
  1096.          Authentication and/or encryption can occur at the application
  1097.          layer and/or at the network/transport layer.
  1098.  
  1099.          Basic ACAP authentication occurs in the application layer
  1100.          (i.e., within the ACAP session), and in its baseline form uses
  1101.          the CRAM-MD5[CRAM-MD5] mechanism.  If desired, other mechanisms
  1102.          can be used which provide more protection and encryption.  This
  1103.          occurs after the transport layer is established, as shown in
  1104.          the client state machine diagram above
  1105.  
  1106.          Figure 3 shows the CRAM-MD5 authentication mechanism for an
  1107.          unprovisioned mobile.  In the case of provisioned mobiles, the
  1108.          shared secret is derived from the A-Key, instead of the
  1109.          limited-time N-digit code used for unprovisioned devices.
  1110.  
  1111.          Use of basic ACAP authentication is preferred for initial
  1112.          implementations of data-OTASP because it is simple, easy to
  1113.          implement, and all procedures and methods are in place.
  1114.          Stronger SASL mechanisms and/or IPSec can be rolled out in the
  1115.          future without disrupting the deployed base.
  1116.  
  1117.                       [Figure 3 -- see PostScript version]
  1118.  
  1119.  
  1120.  
  1121.  
  1122. Gellens                      Informational                     [Page 20]
  1123.  
  1124. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  1125.  
  1126.  
  1127.     * Requested-data SEARCH
  1128.  
  1129.          The mobile ACAP client issues a search command asking the
  1130.          server to return the attribute "OTAP.Requested-Data" in the
  1131.          entry "Requested-Data".
  1132.  
  1133.     * Receive requested-data values
  1134.  
  1135.          The server instructs the client to store attributes by
  1136.          returning one or more values of requested-data in response to
  1137.          the Requested-Data SEARCH.
  1138.  
  1139.          For example, the attribute "OTAP.Requested-Data" in the entry
  1140.          "Requested-Data" might contain four values: "phone-make",
  1141.          "phone-model", "SW-Rev", and "Free-NVRAM".
  1142.  
  1143.     * STORE attribute list
  1144.  
  1145.          If the response to the requested-data SEARCH returns any
  1146.          values, the client issues a STORE command.  Each attribute in
  1147.          the STORE command corresponds to one item of requested-data.
  1148.          If the client does not recognize an item, it stores the string
  1149.          "[n/a]".
  1150.  
  1151.          Continuing with our example, the client uses this STORE command
  1152.          to write four attributes into the "Client" entry.  Each
  1153.          attribute name is identical to one value of the
  1154.          OTAP.Requested-Data" attribute (with the prefix "OTAP." added).
  1155.          Each attribute value is determined by the respective mobile
  1156.          value.
  1157.  
  1158.          In our example, this STORE command sets the following
  1159.          attributes and values:
  1160.  
  1161.           - "OTAP.Phone-Make"     =   "Qualcomm
  1162.           - "OTAP.Phone-Model"    =   "pdQ1900
  1163.           - "OTAP.SW-Rev"         =   "001.030.0908"
  1164.           - "OTAP.Free-NVRAM"     =   "65536"
  1165.  
  1166.     * Provisioning data SEARCH
  1167.  
  1168.          The mobile ACAP client issues a search command to retrieve any
  1169.          items of provisioning data that have changed since it last
  1170.          checked in (which in the initial session retrieves all
  1171.          provisioning data).
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178. Gellens                      Informational                     [Page 21]
  1179.  
  1180. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  1181.  
  1182.  
  1183.          This SEARCH command asks the server to return the "OTAP.Value"
  1184.          attribute of any entries whose name starts with "provision."
  1185.          (case-insensitive) and whose modtime is greater than the
  1186.          supplied value (which is zero for an unprovisioned mobile).
  1187.  
  1188.     * Receive provisioning data and modtime
  1189.  
  1190.          The server returns the provisioning items, each as one entry
  1191.          name and one attribute value.  The server response to the
  1192.          SEARCH command includes the modtime of the latest entry
  1193.          returned.
  1194.  
  1195.     * Save values
  1196.  
  1197.          The mobile writes the returned values into NVRAM.
  1198.  
  1199.     * STORE modtime
  1200.  
  1201.          The ACAP client stores the returned modtime on the server as an
  1202.          acknowledgement that the data was received and NVRAM updated.
  1203.  
  1204.     * LOGOUT
  1205.  
  1206.          The client issues the LOGOUT command.
  1207.  
  1208.     * Close transport layer
  1209.  
  1210.          The client closes the TCP connection.
  1211.  
  1212.     * End call
  1213.  
  1214.          The data call is terminated.
  1215.  
  1216. 5.2.  WAP with ACAP
  1217.  
  1218.     An advantage of the ACAP solution is that is can easily coexist with
  1219.     a WAP-based mechanism, giving carriers more options.
  1220.  
  1221.     A carrier can deploy handsets into its service area which use WAP-
  1222.     based provisioning, if desired, alongside those which use ACAP
  1223.     provisioning.  All that is required is that the WAP server contain a
  1224.     small ACAP client (or an interface to an ACAP server).
  1225.  
  1226.     Figure 4 shows how mobile stations can be configured using a WAP
  1227.     browser.  By using an ACAP server for provisioning, carriers are
  1228.     free to simultaneously deploy mobile stations that use either WAP or
  1229.     ACAP, as desired.  In either case, the ACAP server is the source for
  1230.     provisioning data.
  1231.  
  1232.  
  1233.  
  1234. Gellens                      Informational                     [Page 22]
  1235.  
  1236. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  1237.  
  1238.  
  1239.                     [Figure 4 -- see PostScript version]
  1240.  
  1241. 5.3.  Network-Resident vs.  Configuration Data
  1242.  
  1243.     It is useful to recognize that wireless devices access two different
  1244.     types of carrier-provided data: network-resident and configuration.
  1245.     Network-resident data exists primarily within the carrier's network.
  1246.     Examples include account status, billing detail, service plan
  1247.     options, etc.  While mobiles may access this information for user
  1248.     display, it resides in the network.  Configuration data, in
  1249.     contrast, affects the operation of the handset, is usually not shown
  1250.     to the user, and must persist in the device.
  1251.  
  1252.     For network-resident data access, the obvious choice is the web.
  1253.     The data is highly interactive and time-variant, making web browsers
  1254.     a reasonable solution.  Any appropriate web browser can be used.
  1255.     There are many good reasons for having a web browser in a wireless
  1256.     device which contains a display and is capable of user interaction.
  1257.  
  1258.     For configuration data, the best solution is to use ACAP.  ACAP is
  1259.     optimized for the job, can be implemented quickly, requires a very
  1260.     small amount of memory, and does not depend on a display or any user
  1261.     interaction capability.
  1262.  
  1263.     Trying to use the same access method for both types of data
  1264.     unnecessarily complicates the solution, leading to increased design,
  1265.     development, and debug time and expense.  It makes it more difficult
  1266.     to offer low-cost devices.  Since the two types of data
  1267.     fundamentally differ, it is good engineering practice to select
  1268.     optimal code and protocols for each.
  1269.  
  1270. 5.4.  Intellectual Property Issues
  1271.  
  1272.     There are no known intellectual property issues with the ACAP
  1273.     solution.  The ACAP specification was developed within the IETF, and
  1274.     no ownership, patent, or other IP claims have been asserted.
  1275.     Multiple independent vendors are developing ACAP clients and
  1276.     servers, in addition to the existing usage in deployed products.
  1277.  
  1278. 6.  Handset Protocol Suites
  1279.  
  1280. 6.1.  ACAP over TCP/IP
  1281.  
  1282.     Figure 5 depicts the mobile station protocol suite for the ACAP over
  1283.     TCP/IP solution.  The mobile station is capable of supporting both
  1284.     IS-683A OTASP and OTASP over ACAP.
  1285.  
  1286.                     [Figure 5 -- see PostScript version]
  1287.  
  1288.  
  1289.  
  1290. Gellens                      Informational                     [Page 23]
  1291.  
  1292. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  1293.  
  1294.  
  1295. 7.  IS-683A Compatibility
  1296.  
  1297. 7.1.  OTASP Operations
  1298.  
  1299.     To maximize compatibility and allow for reuse of IS-683A handset
  1300.     code, the data formats used in OTASP over ACAP are identical to
  1301.     those used in IS-683A.  Section 5.1.5  Data Organization and
  1302.     Capabilities discusses this in more detail.
  1303.  
  1304.     OTASP via IS-683A requires custom design and development for the
  1305.     specific CDMA infrastructure used by a carrier.  This can greatly
  1306.     limit the data management capabilities and significantly reduces the
  1307.     extensibility of the solution.  Conversely, OTASP over data can be
  1308.     implemented on a generic IP network using an Internet standards-
  1309.     based capability that provides extensible provisioning activities
  1310.     for carriers.
  1311.  
  1312.     OTASP over data uses a traffic channel whereas IS-683A OTASP runs
  1313.     over the limited-bandwidth signaling channel.
  1314.  
  1315.     IS-683A OTASP operations are inherently simultaneous voice and data.
  1316.     This allows the customer care representative to extract information
  1317.     from the mobile station while conversing with the user.  OTASP over
  1318.     data services is a data-only solution (at least for now).  This
  1319.     makes OTASP operations slightly more sequential and potentially
  1320.     problematic.  Simultaneous voice and data will alleviate this issue.
  1321.  
  1322. 7.2   OTASP Call Flow
  1323.  
  1324.     The call flow diagram (Figure 6) depicts the message sequence and
  1325.     operations for a typical IS-683A OTASP (provisioning) call.  Any
  1326.     data-OTASP solution must perform all the functions of the IS-683A
  1327.     OTASP call.  The proposed solution meets these requirements.
  1328.  
  1329.                     [Figure 6 -- see PostScript version]
  1330.  
  1331. 7.3.  OTAPA Operations
  1332.  
  1333.     Data-OTAPA requires the ability to instruct mobiles to originate a
  1334.     data call to the provisioning server.  Several viable approaches are
  1335.     discussed in sections 3.3  OTAPA Activity and 4.3  OTAPA
  1336.     Requirements.
  1337.  
  1338.     OTAPA over data has the potential to require far less channel
  1339.     resources to download new information to mobile stations.  The ACAP
  1340.     server inherently only communicates changes to the clients, thus
  1341.     only changed information needs to be downloaded to the mobile
  1342.     stations using OTAPA over data via ACAP.
  1343.  
  1344.  
  1345.  
  1346. Gellens                      Informational                     [Page 24]
  1347.  
  1348. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  1349.  
  1350.  
  1351. 7.4.  OTAPA Call Flow
  1352.  
  1353.     The call flow diagram (Figure 7) depicts the message sequence for a
  1354.     typical IS-683A OTAPA operation.  Any data-OTAPA solution must
  1355.     perform all the functions of the IS-683A OTAPA call.  The proposed
  1356.     solution meets these requirements.
  1357.  
  1358.                     [Figure 7 -- see PostScript version]
  1359.  
  1360. 8.  Alternative Methods
  1361.  
  1362. 8.1.  IS-683A over TCP/IP
  1363.  
  1364.     One alternative is to port IS-683A to TCP, remaining as close as
  1365.     possible to the IS-683A protocol exchange.
  1366.  
  1367.     Figure 8 depicts the architecture and communications backbone to
  1368.     support OTASP/OTAPA via IS-707 data services with a provisioning
  1369.     server based on the IS-683A OTAF function.
  1370.  
  1371.                     [Figure 8 -- see PostScript version]
  1372.  
  1373. 8.1.1.  OTAF Server
  1374.  
  1375.     This provisioning server is modeled after the IS-683A OTAF.  The
  1376.     OTAF server performs the specific operations and messaging of IS-
  1377.     683A OTAF.  This includes A-key reauthentication procedures.
  1378.  
  1379.     Strongpoints:
  1380.  
  1381.     (1) OTAF and mobile station behavior mirrors IS-683A (reduced
  1382.     duplicate software in mobile station).  Nearly all procedures fully
  1383.     defined.
  1384.  
  1385.     Drawbacks:
  1386.  
  1387.     (1) The OTAF server would need to be custom-designed and built.
  1388.  
  1389.     (2) No inherent data manipulation capabilities in the OTAF server.
  1390.     All required or desired data management activities would have to be
  1391.     built from scratch.
  1392.  
  1393.     (3) Interface application would require a non-standard interface
  1394.     (and therefore proprietary) to OTAF server.
  1395.  
  1396.     (4) End-to-end encryption scheme still needed for full security.
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402. Gellens                      Informational                     [Page 25]
  1403.  
  1404. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  1405.  
  1406.  
  1407. 8.1.2.  Interface Application
  1408.  
  1409.     This function loads all required provisioning-related information
  1410.     from the CDMA network information system to the OTAF server.  This
  1411.     includes the queuing of provisioning transactions and data.
  1412.  
  1413.  
  1414. 8.1.3.  Protocol Handset Suite
  1415.  
  1416.     Figure 9 depicts the mobile station protocol suite for the IS-683A
  1417.     over TCP/IP solution.  The OTASP client is capable of supporting
  1418.     both IS-683A OTASP activities or OTASP activities over the data
  1419.     transport.
  1420.  
  1421.                     [Figure 9 -- see PostScript version]
  1422.  
  1423. 8.2.  Browser-Based Forms
  1424.  
  1425.     Another alternative is to use forms embedded in web pages.
  1426.  
  1427.     Encapsulating the provisioning data into custom tags embedded in a
  1428.     web form is an idea that at first seems attractive.  There are a lot
  1429.     of advantages in having a browser in the handset, web servers are
  1430.     very widely deployed, and everyone is familiar on some level with
  1431.     the web.
  1432.  
  1433.     However, a meta-protocol for this would need to be designed, and a
  1434.     fully detailed specification produced.  This solution requires
  1435.     custom software on the provider side to handle the meta-protocol.
  1436.     It additionally requires handset vendors to add custom software in
  1437.     the handset browser to handle this protocol.
  1438.  
  1439.     This solution would require a provisioning-capable browser in every
  1440.     phone.  While it may be desirable to have a browser, the decision to
  1441.     require it needs to be considered carefully, especially in light of
  1442.     the memory requirements it would impose on all devices.
  1443.  
  1444.     This solution would complicate the handset browser, by requiring it
  1445.     to handle provisioning as well as browsing.  As provisioning and
  1446.     browsing are functionally dissimilar, this code is not a natural fit
  1447.     within the browser.  Implementing this solution would require a
  1448.     significant increase in development and debug resources, and thus
  1449.     negatively impact time-to-market and cost.
  1450.  
  1451.     Also because the web is functionally dissimilar, a high level of
  1452.     carrier-side customization would be needed, leading to reduced
  1453.     vendor choice and increased deployment costs.
  1454.  
  1455.  
  1456.  
  1457.  
  1458. Gellens                      Informational                     [Page 26]
  1459.  
  1460. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  1461.  
  1462.  
  1463.     This approach would layer custom data on top of a standard protocol.
  1464.     This would require design work, and would not have much time for
  1465.     open review before deployment, greatly increasing the risk.  By
  1466.     contrast, ACAP has had years of open review and refinement.
  1467.  
  1468.     This approach also limits the extensibility of the solution.  ACAP,
  1469.     conversely, is very extensible.  Because ACAP is such a simple
  1470.     protocol, it can be added to a wide variety of applications at low
  1471.     cost.  This allows increasing numbers of applications on the mobile
  1472.     device to share information with servers as well as desktop
  1473.     applications.
  1474.  
  1475. 9.  Conclusion
  1476.  
  1477.     ACAP provides a high degree of extensibility, especially in
  1478.     authentication mechanisms, custom attribute handling, and data
  1479.     management.  By using an Internet standard protocol,
  1480.     interoperability and integration with a variety of equipment is
  1481.     possible, and carriers are not locked into any vendor.  It is also
  1482.     easier to add new levels of service and capabilities, especially
  1483.     integration with future subscriber devices and applications (e.g.,
  1484.     email).
  1485.  
  1486.     Since an ACAP client is so small, it can be incorporated into
  1487.     virtually any device, even low-end ones without displays, and can be
  1488.     added without sacrificing other features.  The simplicity of the
  1489.     client and protocol directly translate to shorter development cycles
  1490.     and faster time-to-market.
  1491.  
  1492.     Because the ACAP protocol was designed for precisely this type of
  1493.     provisioning activity, its adoption can greatly reduce the cost,
  1494.     time to market, and support required for the provisioning server as
  1495.     well as the handsets.  As an open standard, the ACAP protocol has
  1496.     benefited from years of review and experience.
  1497.  
  1498.     Another advantage of the ACAP solution is that is can easily coexist
  1499.     with a WAP-based mechanism, giving carriers more options and
  1500.     reducing the minimal requirement burden on mobile devices.
  1501.  
  1502.     A carrier can deploy handsets into its service area which use WAP-
  1503.     based provisioning, if desired, alongside those which use ACAP
  1504.     provisioning.  By using an ACAP server for provisioning, carriers
  1505.     are free to simultaneously deploy mobile stations that use either
  1506.     WAP or ACAP, as desired.
  1507.  
  1508.     The lack of intellectual-property issues further adds to ACAP's
  1509.     appeal.
  1510.  
  1511.  
  1512.  
  1513.  
  1514. Gellens                      Informational                     [Page 27]
  1515.  
  1516. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  1517.  
  1518.  
  1519. 10.  References
  1520.  
  1521.    [ACAP]     Newman, C. and J. Myers, "ACAP -- Application
  1522.               Configuration Access Protocol", RFC 2244, November 1997.
  1523.  
  1524.    [CRAM-MD5] Klensin, J., Catoe, R. and P. Krumviede, "IMAP/POP
  1525.               AUTHorize Extension for Simple Challenge/Response", RFC
  1526.               2195, September 1997.
  1527.  
  1528.    [SASL]     Myers, J., "Simple Authentication and Security Layer
  1529.               (SASL)", RFC 2222, October 1997.
  1530.  
  1531. 11.  Security Considerations
  1532.  
  1533.    Security is discussed in many sections of this document.  In
  1534.    particular, the need and methods to guard against unauthorized
  1535.    updating of handsets, usurpation of newly-created accounts,
  1536.    compromise of handset security values, and disclosure of carrier
  1537.    proprietary data and handset parameters is covered.
  1538.  
  1539. 12.  Acknowledgments
  1540.  
  1541.    Jim Willkie and Marc Phillips contributed greatly to this document.
  1542.    Their help is very much appreciated.
  1543.  
  1544. 13.  Author's Address
  1545.  
  1546.    Randall Gellens
  1547.    QUALCOMM Incorporated
  1548.    6455 Lusk Boulevard
  1549.    San Diego, CA  92121-2779
  1550.  
  1551.    Phone: +1 619 651 5115
  1552.    EMail: randy@qualcomm.com
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570. Gellens                      Informational                     [Page 28]
  1571.  
  1572. RFC 2636                  OTASP/OTAPA via ACAP                 July 1999
  1573.  
  1574.  
  1575. 14. Full Copyright Statement
  1576.  
  1577.    Copyright (C) The Internet Society (1999).  All Rights Reserved.
  1578.  
  1579.    This document and translations of it may be copied and furnished to
  1580.    others, and derivative works that comment on or otherwise explain it
  1581.    or assist in its implementation may be prepared, copied, published
  1582.    and distributed, in whole or in part, without restriction of any
  1583.    kind, provided that the above copyright notice and this paragraph are
  1584.    included on all such copies and derivative works.  However, this
  1585.    document itself may not be modified in any way, such as by removing
  1586.    the copyright notice or references to the Internet Society or other
  1587.    Internet organizations, except as needed for the purpose of
  1588.    developing Internet standards in which case the procedures for
  1589.    copyrights defined in the Internet Standards process must be
  1590.    followed, or as required to translate it into languages other than
  1591.    English.
  1592.  
  1593.    The limited permissions granted above are perpetual and will not be
  1594.    revoked by the Internet Society or its successors or assigns.
  1595.  
  1596.    This document and the information contained herein is provided on an
  1597.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  1598.    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  1599.    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  1600.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  1601.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  1602.  
  1603. Acknowledgement
  1604.  
  1605.    Funding for the RFC Editor function is currently provided by the
  1606.    Internet Society.
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626. Gellens                      Informational                     [Page 29]
  1627.  
  1628.