Internet DRAFT - draft-amsuess-ace-brski-ace

draft-amsuess-ace-brski-ace







ace                                                            C. Amsüss
Internet-Draft                                               7 July 2023
Intended status: Standards Track                                        
Expires: 8 January 2024


               Provisioning ACE credentials through BRSKI
                     draft-amsuess-ace-brski-ace-00

Abstract

   The autonomous onboarding mechanisms defined in ANIMA's voucher
   artifact and the BRSKI protocol provide a means of onboarding a
   device (the pledge) onto a PKI managed domain.  This document extends
   the voucher with expressions for onboarding it into a domain managed
   through ACE.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Discussion of this document takes place on the Authentication and
   Authorization for Constrained Environments Working Group mailing list
   (ace@ietf.org), which is archived at
   https://mailarchive.ietf.org/arch/browse/ace/.

   Source for this draft and an issue tracker can be found at
   https://gitlab.com/chrysn/brski-ace.

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 https://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 8 January 2024.






Amsüss                   Expires 8 January 2024                 [Page 1]

Internet-Draft                BRSKI for ACE                    July 2023


Copyright Notice

   Copyright (c) 2023 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 (https://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 Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Applicability preconditions . . . . . . . . . . . . . . .   2
   2.  Voucher extensions  . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  YANG Module . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   5.  Open questions  . . . . . . . . . . . . . . . . . . . . . . .   6
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
     6.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .   7
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   [ See abstract. ]

   The main application pattern considered for this kind of enrollment
   is [authz]: After basic networking services (possibly link-local when
   used in combination with CoJP as in Appendix A of [authz]) are
   available, the pledge initiates EDHOC to the lake-authz.arpa anycast
   address, sending an encrypted identifier for its MASA (party W) in
   EAD_1.

1.1.  Applicability preconditions

   While ACE in general does not constrain the type of tokens used, or
   how the authorization space is split up, using the extensions of this
   document introduces additional conditions:

   *  The key used to authenticate the token is a COSE key, and [CWT]
      are used as tokens.



Amsüss                   Expires 8 January 2024                 [Page 2]

Internet-Draft                BRSKI for ACE                    July 2023


      The alternative to this constraint is to declare this a blob of
      some key; what it is depends would be preconfigured in the RS.
      While this is the general approach of ACE, the author considers it
      unsuitable for this particular case where a concrete identifier is
      assigned and thus should have concrete semantics.  Users of any
      other key format may use this document as scaffolding for
      declaring an own YANG leaf instead.

      While this does allow symmetric keys in theory (and they are used
      in ACE, for example in the [ace-oscore]) profile), they should not
      be used in BRSKI deployments, as the secret key would be shared
      with the MASA as it signs the voucher. [ See also the Open
      Questions section. ]

   *  The pledge is identified with a single audience value.  (More
      precisely, there is an "aud" claim conveyed in the CWTs that can
      be checked for equality against a configured value).

      This rules out setups in which multiple security systems coinhabit
      the pledge, are enrolled in a single step to a single AS, but act
      independently at runtime.

      Future iterations of this document may relax this, but will always
      need to express a condition based on which the pledge will know
      whether or not it may act on a token.

   Using these extensions introduces no constraints on the type of scope
   values used with tokens.  The structure of scope values needs to be
   agreed between the AS and the RS out of band.  Typically, the AS will
   have configured knowledge of how to generate scope values that match
   the hard-coded model of the RS's firmware from authorizations of its
   native model.

2.  Voucher extensions

   This specification adds two leaf nodes to the voucher artifact
   defined in Section 6.1 of [_8366bis] [ this is currently done in a
   monkey-sees-monkey-does fashion, rather than having the yang files
   standalone and using pyang to build the tree as is done in 8366bis ]:

   module: ietf-voucher
     augment voucher:
       +-- ace-as-key?                      binary
       +-- ace-aud?                         string

2.1.  YANG Module





Amsüss                   Expires 8 January 2024                 [Page 3]

Internet-Draft                BRSKI for ACE                    July 2023


   <CODE BEGINS> file "ietf-ace-brski-ace@2023-07-07.yang"
   module ietf-ace-brski-ace {
     yang-version 1.1;

     namespace "urn:ietf:params:xml:ns:yang:ietf-ace-brski-ace";

     prefix vch-ace;

     import ietf-voucher {
       prefix vch;
       reference "I-D.ietf-anima-rfc8366bis-07";
     }

     organization
       "IETF ACE (Authentication and Authorization for Constrained Environments)
       Working Group";

     contact
       "WG Web:   <http://tools.ietf.org/wg/ace/>
        WG List:  <mailto:ace@ietf.org>

        Editor:   Christian Amsüss
                  <mailto:christian@amsuess.com>";

     description
       "This module augments the voucher artifact for bootstrapping
       (onboarding) with mechanisms for onboarding onto ACE (Authentication
       and Authorization for Constrained Environments) Authorization
       Servers.

       Copyright (c) 2019 IETF Trust and the persons identified as
       authors of the code. All rights reserved.

       Redistribution and use in source and binary forms, with or
       without modification, is permitted pursuant to, and subject
       to the license terms contained in, the Simplified BSD License
       set forth in Section 4.c of the IETF Trust's Legal Provisions
       Relating to IETF Documents
       (http://trustee.ietf.org/license-info).

       This version of this YANG module is part of RFC XXXX; see the
       RFC itself for full legal notices.";

     revision 2023-07-07 {
       description
         "Initial revision.";

       reference



Amsüss                   Expires 8 January 2024                 [Page 4]

Internet-Draft                BRSKI for ACE                    July 2023


         "I-D.amsuess-ace-brski-ace, Provisioning ACE credentials through
         BRSKI";
     }

     uses "vch:voucher-artifact-grouping" {
       augment "voucher" {
         description
           "Mechanisms for onboarding onto ACE (Authentication and Authorization
           for Constrained Environments) Authorization Servers";

         leaf ace-as-key {
           type binary;
           description
             "Key(s) held by the ACE Authorization Server by which it
             authenticates (and the Resource Server verifies) tokens.
             It is a CBOR encoded COSE_KeySet.";
           reference
             "I-D.amsuess-ace-brski-ace, Provisioning ACE credentials
             through BRSKI";
         }

         leaf ace-aud {
           type string;
           description
             "Audience identifier by which the ACE Authorization Server
             will be the pledge that is enrolled as an ACE Resource
             Server.";
           reference
             "I-D.amsuess-ace-brski-ace, Provisioning ACE credentials
             through BRSKI";
         }
       }
     }
   }
   <CODE ENDS>

   A device accepting this voucher will accept tokens signed with the
   credials expressed as a COSE key in the ace-as-pubk field, provided
   they are issued with an audience value of "jada89".

3.  Security Considerations

   [ TBD; in particular the open question on symmetric keys. ]

4.  IANA Considerations

   [ TBD: Request this for the YANG Module Names Registry; the module
   itself is registered differently. ]



Amsüss                   Expires 8 January 2024                 [Page 5]

Internet-Draft                BRSKI for ACE                    July 2023


5.  Open questions

   *  There are probably missing steps in this specification; the
      current draft's intention is primarily to start discussion.

   *  Is there a shorter route to the same result I missed (and should
      take instead)?

      Is there a longer route (doing EST style onboarding into a PKI,
      and then obtain AS data by using those certificates) that I missed
      (and could reference and learn from)?

   *  Is there existing YANG terminology for ACE (or just OAuth) to use?

      There was some OAuth in the YANG of draft-kwatsen-netconf-http-
      client-server-03, but that was just FIXMEs, and later removed.

   *  AIU the voucher artifact data assembled by the registrar travels
      to the MASA to be signed during BRSKI.  That's fine when we're
      shipping a pinned-domain-cert, and also when we're shipping as-
      public-key and an audience identifier (for the ACE EDHOC profile),
      but not when shipping a shared key (for the ACE OSCORE profile).

   *  Is this suitable use of BRSKI and the voucher?

   *  This document currently only describes expressing the ACE details
      in YANG for an ACE voucher.

      For use with more EST-like enrollments, it could define resources
      equivalent to the rt=ace.est.sen resources.

      Alternatively, such setups could use COMI to manipulate the AS.
      (But in the EST direction, would this need "pull mode COMI"?)

6.  References

6.1.  Normative References

   [CWT]      Jones, M., Wahlstroem, E., Erdtman, S., and H. Tschofenig,
              "CBOR Web Token (CWT)", RFC 8392, DOI 10.17487/RFC8392,
              May 2018, <https://www.rfc-editor.org/rfc/rfc8392>.

   [_8366bis] Watsen, K., Richardson, M., Pritikin, M., Eckert, T. T.,
              and Q. Ma, "A Voucher Artifact for Bootstrapping
              Protocols", Work in Progress, Internet-Draft, draft-ietf-
              anima-rfc8366bis-07, 7 February 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-anima-
              rfc8366bis-07>.



Amsüss                   Expires 8 January 2024                 [Page 6]

Internet-Draft                BRSKI for ACE                    July 2023


6.2.  Informative References

   [ace-oscore]
              Palombini, F., Seitz, L., Selander, G., and M. Gunnarsson,
              "The Object Security for Constrained RESTful Environments
              (OSCORE) Profile of the Authentication and Authorization
              for Constrained Environments (ACE) Framework", Work in
              Progress, Internet-Draft, draft-ietf-ace-oscore-profile-
              19, 6 May 2021, <https://datatracker.ietf.org/doc/html/
              draft-ietf-ace-oscore-profile-19>.

   [authz]    Selander, G., Mattsson, J. P., Vučinić, M., Richardson,
              M., and A. Schellenbaum, "Lightweight Authorization for
              EDHOC", Work in Progress, Internet-Draft, draft-selander-
              lake-authz-02, 21 April 2023,
              <https://datatracker.ietf.org/doc/html/draft-selander-
              lake-authz-02>.

Acknowledgments

   TODO acknowledge.

Author's Address

   Christian Amsüss
   Austria
   Email: christian@amsuess.com
























Amsüss                   Expires 8 January 2024                 [Page 7]