Internet DRAFT - draft-harrison-avt-rtpkeys

draft-harrison-avt-rtpkeys






Network Working Group                                        C. Harrison
Internet-Draft                                 Far Field Associates, LLC
Expires: October 26, 2001                                 April 27, 2001


         RTP Payload Format for Keying-Information Stream (KS)
                     draft-harrison-avt-rtpkeys-00

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on October 26, 2001.

Copyright Notice

   Copyright (C) The Internet Society (2001).  All Rights Reserved.

Abstract

   [Note: This draft is preliminary and is believed to contain errors
   and omissions.]

   This memo describes an RTP payload format (KS) which transports
   cryptographic key information for encrypted media streams.  The media
   streams themselves are transported independently, and may or may not
   be carried by RTP.  The KS payload format makes particular provision
   for media carried by SRTP [4].  The payload carried over KS contains
   the information necessary for seamlessly applying new decryption keys
   during an active session, by means of byte-granularity pointers
   referencing into the protected stream.  The KS payload is based on
   CMS [2] and is scalable to a wide variety of streaming media



Harrison                Expires October 26, 2001                [Page 1]

Internet-Draft         KS Keystream Payload Format            April 2001


   applications, from lightweight wireless terminals to broadband video-
   on-demand.

Table of Contents

   1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . .   3
   2. Scenarios of Use . . . . . . . . . . . . . . . . . . . . . . .   4
   3. KS Messages  . . . . . . . . . . . . . . . . . . . . . . . . .   5
   4. Packet Structure . . . . . . . . . . . . . . . . . . . . . . .   7
   5. SDP Parameters . . . . . . . . . . . . . . . . . . . . . . . .   8
      References . . . . . . . . . . . . . . . . . . . . . . . . . .   9
      Author's Address . . . . . . . . . . . . . . . . . . . . . . .   9
      Full Copyright Statement . . . . . . . . . . . . . . . . . . .  10






































Harrison                Expires October 26, 2001                [Page 2]

Internet-Draft         KS Keystream Payload Format            April 2001


1. Introduction

   The RTP [1] protocol was developed for multimedia teleconference
   applications and provides a flexible framework for transporting
   multimedia content over the Internet.  In the existing RTP model,
   there is some provision for cryptographic protection
   (confidentiality), but key management is assumed to be "out of band"
   and is not standardized.  The absence of standardization has hindered
   interoperability.  Furthermore, existing practice in other broadband
   media delivery environments calls for the ability to seamlessly
   change cryptographic keys during a session.  This capability demands
   a closer real-time linkage between the keying information and the
   media stream than any IETF standard has provided.  This document
   defines a payload format which may overcome the interoperability
   problems of existing single-key-per-session applications in a low-
   overhead way, as well as extending RTP capabilities to the more
   sophisticated key management practices required by high-value content
   providers.

































Harrison                Expires October 26, 2001                [Page 3]

Internet-Draft         KS Keystream Payload Format            April 2001


2. Scenarios of Use

   Wireless mobile voice: Low bandwidth, low compute power in terminal,
      high error rate.  Runs with AMR or AMR-WB voice codec.  Mostly
      unicast.  Probably one key per session.

   Video/music on demand: High bandwidth.  Some unicast, some multicast.
      Free-preview models.  slow/rapid key updating schedule (up to ~ 1
      keychange/sec).  High latency tolerable.  May use partial-stream
      encryption, even sub-packet granularity.

   Secure teleconference: High bandwidth.  Multicast.  Hop-on's need
      keys fairly quickly.  Low key change rate.  Low latency
      (interactive).





































Harrison                Expires October 26, 2001                [Page 4]

Internet-Draft         KS Keystream Payload Format            April 2001


3. KS Messages

   The KS payload is carried by a "control"-type RTP stream with a
   distinct Synchronizing Source (SSRC) identifier.  Each packet of the
   KS stream is a KS message containing information about

   1.  The value of a particular cyrptographic key

   2.  The identity of the stream protected by this key (use
       SSRC+portnum for RTP/SRTP? Support other methods for non-RTP --
       e.g.  MPEG-n)

   3.  The point in this stream at which this key becomes effective (Use
       extended packet numbering system from SRTP [4].  Support
       alternative pointer method for vanilla RTP and non-RTP
       transports.)

   4.  The number of subsequent bytes to which this key applies

   5.  (OPTIONAL) An identifier supporting local storage and re-use of
       this key ("key carousel")

   This message complies with the Cryptographic Message Syntax CMS [2]
   and contains an object of type EnvelopedData.  The value of the
   media-protecting key (item 1 above) MUST be contained in an item of
   RecipientInfo type, and may be hidden by a key-transfer, key-
   agreement, or key-encrypting-key method.  The encryptedContentInfo
   field of the message SHALL contain the ContentType id-encryptedData
   and SHALL contain the ContentEncryptionAlgorithmIdentifier
   identifying the method used to encrypt the protected media stream.
   The encryptedContent field SHALL be empty.  The remaining items in
   the list above are carried in the EnvelopedData item within a single
   "unprotectedAttrs" item.

   More work here...  Need to define an OID for this attribute type.  It
   will have substructure for stream ID, byte pointer, etc.

    Here's some pidgin ASN.1:

      -- a DetachedDataPointer attribute is included in the
      --  unprotectedAttrs field of the EnvelopedData message

      DetachedDataPointer ::= SEQUENCE {
        stream StreamIdentifier,
        pointer StreamDataPointer,
        effectivity DataZones,
        carousel-addr CarouselAddr OPTIONAL }




Harrison                Expires October 26, 2001                [Page 5]

Internet-Draft         KS Keystream Payload Format            April 2001


      StreamIdentifier ::= SEQUENCE {
        streamType StreamType,
        identifier ANY DEFINED BY streamType }

      RtpIdentifier ::= SEQUENCE {
        ssrc    INTEGER,
        portnum INTEGER }

      StreamDataPointer ::= SEQUENCE {
        pointerType StreamDataPointerType,
        pointer ANY DEFINED BY pointerType }

      SrtpPointer ::= SEQUENCE {
        packetIndex INTEGER,
        byteOffset  INTEGER }
      -- packetIndex is i = 65,536 * r + s, per SRTP

      DataZones ::= SET OF DataZone

      DataZone ::= SEQUENCE {
        bytesToProcess  INTEGER,
        bytesToSkip     [0] IMPLICIT INTEGER OPTIONAL }

      CarouselAddr ::= OCTET STRING
      -- This would be cross-ref'd by keyIdentifier in KEKRecipientInfo

      -- add this new "NULL-ish" algorithm id to use carousel'd keys;
      --  it would be used in KEKRecipientInfo with zero-length encryptedKey:
      id-alg-TheKeyIsTheData OBJECT IDENTIFIER


   The DetachedDataPointer attribute MAY be wrapped as EnvelopedData if
   the application wants to conceal these parameters.  ...

   The entire KS EnvelopedData object described above MAY be
   encapsulated as SignedData in order to provide authentication of the
   KS message.

   Although the KS messages are fully-compliant CMS messages, a
   particular RTP Profile may define that only a limited number of the
   CMS features are used.  Therefore an implementation complying with
   that RTP Profile MAY fail to comply with the requirements of a
   general CMS [2] implementation.  This may be important, for example,
   when the processing power available on a particular platform is
   limited.






Harrison                Expires October 26, 2001                [Page 6]

Internet-Draft         KS Keystream Payload Format            April 2001


4. Packet Structure

   The structure of an RTP packet in a KS stream is shown below:


       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |V=2|P|X| CC=0  |M|     PT      |       sequence number         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                           timestamp                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           synchronization source (SSRC) identifier            |
      +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
      |                                                               |
      :                     KS message  (per RFC2630)                 :
      |                                                               |
      +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+


   Figure 1.  KS Packet.






























Harrison                Expires October 26, 2001                [Page 7]

Internet-Draft         KS Keystream Payload Format            April 2001


5. SDP Parameters

   Parameters of a KS stream may be published to receiving applications
   by means of the Session Description Protocol (SDP) [3].

   ...(incomplete)

        m=audio 1234 RTP/AVP 95             : dynamically assigned audio payload
        a=rtpmap:95 L16/48000/2             : stereo 48kHz
                                            :
        m=control 3456 RTP/AVP 99           : dynamically assigned payload type
        a=rtpmap:99 ks/1000                 : KS with 1kHz ticks







































Harrison                Expires October 26, 2001                [Page 8]

Internet-Draft         KS Keystream Payload Format            April 2001


References

   [1]  , ., Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson,
        "RTP: A Transport Protocol for Real-Time Applications", RFC
        1889, January 1996.

   [2]  Housley, R., "Cryptographic Message Syntax", RFC 2630, June
        1999.

   [3]  Handley, M. and V. Jacobson, "SDP: Session Description
        Protocol", RFC 2327, April 1998.

   [4]  Blom, R., "The Secure Real Time Transport Protocol", draft-ietf-
        avt-srtp-00 (work in progress), February 2001.


Author's Address

   Chuck Harrison
   Far Field Associates, LLC
   18815 111th Pl SE
   Snohomish, WA  98290
   US

   Phone: +1 360 863 8340
   EMail: chuck_harrison@iname.com

























Harrison                Expires October 26, 2001                [Page 9]

Internet-Draft         KS Keystream Payload Format            April 2001


Full Copyright Statement

   Copyright (C) The Internet Society (2001).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.



















Harrison                Expires October 26, 2001               [Page 10]