An Authorization Information Format (AIF) for ACE
draft-bormann-core-ace-aif-00

The information below is for an old version of the document
Document Type Active Internet-Draft (individual)
Author Carsten Bormann 
Last updated 2014-01-17
Stream (None)
Intended RFC status (None)
Formats pdf htmlized (tools) htmlized bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                         C. Bormann
Internet-Draft                                   Universitaet Bremen TZI
Intended status: Informational                          January 17, 2014
Expires: July 21, 2014

           An Authorization Information Format (AIF) for ACE
                     draft-bormann-core-ace-aif-00

Abstract

   Constrained Devices as they are used in the "Internet of Things" need
   security.  One important element of this security is that devices in
   the Internet of Things need to be able to decide which operations
   requested of them should be considered authorized, need to ascertain
   that the authorization to request the operation does apply to the
   actual requester, and need to ascertain that other devices they place
   requests on are the ones they intended.

   On the ACE mailing list, an activity to create specifications for
   such authenticated authorization for constrained devices is
   contemplated.

   One potential work item is an Authorization Information Format (AIF).

   This document provides a strawman for such a format that is intended
   to enable further discussion of the objectives for its development.

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

   This Internet-Draft will expire on July 21, 2014.

Copyright Notice

Bormann                   Expires July 21, 2014                 [Page 1]
Internet-Draft                   ACE AIF                    January 2014

   Copyright (c) 2014 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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Information Model . . . . . . . . . . . . . . . . . . . . . .   2
     2.1.  Limitations . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Data Model  . . . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   5
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   5
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   5
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   5
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   6

1.  Introduction

   (See Abstract.)

1.1.  Terminology

   This memo uses terms from [I-D.ietf-core-coap] and [RFC4949].

   The term "byte", abbreviated by "B", is used in its now customary
   sense as a synonym for "octet".

2.  Information Model

   Authorizations are generally expressed through some data structures
   that are cryptographically secured (or transmitted in a secure way).
   This section discusses the information model underlying the payload
   of that data (as opposed to the cryptographic armor around it).

Bormann                   Expires July 21, 2014                 [Page 2]
Internet-Draft                   ACE AIF                    January 2014

   For the purposes of this strawman, the underlying access control
   model will be that of an access matrix, which gives a set of
   permissions for each possible combination of a subject and on object.

   For the objects, we simply use the URI of a resource on a CoAP
   server.  More specifically, the parts of the URI that identify the
   server ("authority" in [RFC3986]) are considered to be the realm of
   the authentication mechanism (which are handled in the cryptographic
   armor); we therefore focus on the "path-absolute" and "query" parts
   of the URI (URI "local-part" in this specification, as expressed by
   the Uri-Path and Uri-Query options in CoAP).  Similarly, we do not
   concern the AIF format with the subject for which the AIF object is
   issued, focusing the AIF object on a single row in the access matrix
   (such a row traditionally is also called a capability list).

   At the information model level, this leaves a set of pairs of local
   URIs and related permissions.  We simplify the model for the
   permissions to simply giving the subset of the CoAP methods
   permitted.  This model is summarized in Table 1 (what is a row in an
   access matrix is now just a set of pairs, so it looks like a pair of
   columns):

                      +------------+----------------+
                      | local-part | Permission Set |
                      +------------+----------------+
                      | /s/light   | GET            |
                      |            |                |
                      | /a/led     | PUT, GET       |
                      |            |                |
                      | /dtls      | POST           |
                      +------------+----------------+

      Table 1: An authorization instance in the AIF Information Model

   In this example an authenticated subject is authorized to access
   three resources on the server to which this authorization information
   applies.  Different operations are allowed on the individual objects,
   e. g. read access (CoAP method GET) to /s/light, or create access
   (CoAP method POST) on /dtls.

2.1.  Limitations

   This simple information model only allows granting permissions for
   static URIs.  It is probably necessary to extend the model towards
   URI templates [RFC6570], however, that requires some considerations
   of the ease and unambiguity of matching a given URI against a set of
   templates in an AIF object.

Bormann                   Expires July 21, 2014                 [Page 3]
Internet-Draft                   ACE AIF                    January 2014

   This simple information model also doesn't allow conditionalizing
   access (e.g., "opening a door is allowed if that isn't exhibiting the
   state 'locked'").

   Finally, the model does not provide any dynamic functions such as
   enabling special access for a set of resources that are specific to a
   subject, e.g. those that the subject created itself by previous
   operations (PUT, POST) or that were specifically created for the
   subject by others.

3.  Data Model

   For representing the AIF object discussion in Section 2, the
   permission set is reduced to a single number by the following steps:

   o  The entries in the table that specify the same local-part are
      merged into a single entry that specifies the union of the
      permission sets

   o  The methods in the permission sets are converted into their CoAP
      method numbers

   o  The set of numbers is converted into a single number by taking
      each number to the power of two and computing the inclusive OR of
      the binary representations of all the numbers.

   This strawman data model could be interchanged in the JSON [RFC4627]
   representation given in Figure 1 (more extensible/more compact
   representations are possible).

   [["/s/light", 1], ["/a/led", 5], ["/dtls", 2]]

      Figure 1: An authorization instance encoded in JSON (46 bytes)

   A straightforward representation of the same information in CBOR
   [RFC7049] is given in Figure 2; again, several optimizations/
   improvements are possible.

   83                        # array(3)
      82                     # array(2)
         68                  # text(8)
            2f732f6c69676874 # "/s/light"
         01                  # unsigned(1)
      82                     # array(2)
         66                  # text(6)
            2f612f6c6564     # "/a/led"
         05                  # unsigned(5)
      82                     # array(2)

Bormann                   Expires July 21, 2014                 [Page 4]
Internet-Draft                   ACE AIF                    January 2014

         65                  # text(5)
            2f64746c73       # "/dtls"
         02                  # unsigned(2)

      Figure 2: An authorization instance encoded in CBOR (29 bytes)

4.  IANA Considerations

   This document makes no requirements on IANA.  (This section to be
   removed by RFC editor.)

5.  Security Considerations

   (TBD.  Some issues are already discussed in the security
   considerations of [I-D.ietf-core-coap] and in
   [I-D.garcia-core-security].)

6.  Acknowledgements

   TBD

7.  References

7.1.  Normative References

   [I-D.ietf-core-coap]
              Shelby, Z., Hartke, K., and C. Bormann, "Constrained
              Application Protocol (CoAP)", draft-ietf-core-coap-18
              (work in progress), June 2013.

   [RFC4949]  Shirey, R., "Internet Security Glossary, Version 2", RFC
              4949, August 2007.

7.2.  Informative References

   [I-D.garcia-core-security]
              Garcia-Morchon, O., Kumar, S., Keoh, S., Hummen, R., and
              R. Struik, "Security Considerations in the IP-based
              Internet of Things", draft-garcia-core-security-06 (work
              in progress), September 2013.

   [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
              Resource Identifier (URI): Generic Syntax", STD 66, RFC
              3986, January 2005.

   [RFC4627]  Crockford, D., "The application/json Media Type for
              JavaScript Object Notation (JSON)", RFC 4627, July 2006.

Bormann                   Expires July 21, 2014                 [Page 5]
Internet-Draft                   ACE AIF                    January 2014

   [RFC6570]  Gregorio, J., Fielding, R., Hadley, M., Nottingham, M.,
              and D. Orchard, "URI Template", RFC 6570, March 2012.

   [RFC7049]  Bormann, C. and P. Hoffman, "Concise Binary Object
              Representation (CBOR)", RFC 7049, October 2013.

Author's Address

   Carsten Bormann
   Universitaet Bremen TZI
   Postfach 330440
   Bremen  D-28359
   Germany

   Phone: +49-421-218-63921
   Email: cabo@tzi.org

Bormann                   Expires July 21, 2014                 [Page 6]