[Search] [txt|html|xml|pdf|bibtex] [Tracker] [Email] [Diff1] [Diff2] [Nits]

Versions: 00 01 02 03 04 05                                             
anima Working Group                                        M. Richardson
Internet-Draft                                  Sandelman Software Works
Intended status: Standards Track                                  W. Pan
Expires: 11 December 2020                            Huawei Technologies
                                                             9 June 2020

  Operatonal Considerations for Voucher infrastructure for BRSKI MASA


   This document describes a number of operational modes that a BRSKI
   Manufacturer Authorized Signing Authority (MASA) may take on.

   Each mode is defined, and then each mode is given a relevance within
   an over applicability of what kind of organization the MASA is
   deployed into.  This document does not change any protocol

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 11 December 2020.

Copyright Notice

   Copyright (c) 2020 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

Richardson & Pan        Expires 11 December 2020                [Page 1]

Internet-Draft             MASA Considerations                 June 2020

   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 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
   2.  Operational Considerations for Manufacturer Authorized Signing
           Authority (MASA)  . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Self-contained multi-product MASA . . . . . . . . . . . .   5
     2.2.  Self-contained per-product MASA . . . . . . . . . . . . .   5
     2.3.  Per-product MASA keys intertwined with IDevID PKI . . . .   6
     2.4.  Rotating MASA authorization keys  . . . . . . . . . . . .   7
   3.  Operational Considerations for Constrained MASA . . . . . . .   7
   4.  Operational Considerations for creating Nonceless vouchers  .   8
   5.  Privacy Considerations  . . . . . . . . . . . . . . . . . . .   8
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   8
   9.  Changelog . . . . . . . . . . . . . . . . . . . . . . . . . .   8
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     10.1.  Normative References . . . . . . . . . . . . . . . . . .   8
     10.2.  Informative References . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   [I-D.ietf-anima-bootstrapping-keyinfra] introduces a mechanism for
   new devices (called pledges) to be onboarded into a network without
   intervention from an expert operator.

   This mechanism leverages the pre-existing relationship between a
   device and the manufacturer that built the device.  There are two
   aspects to this relationship: the provision of an identity for the
   device by the manufacturer (the IDevID), and a mechanism which
   convinces the device to trust the new owner (the [RFC8366] voucher).

   The manufacturer, or their designate, is involved in both aspects of
   this process.  This requires the manufacturer to operate a
   significant process for each aspect.

   This document offers a number of operational considerations for each

Richardson & Pan        Expires 11 December 2020                [Page 2]

Internet-Draft             MASA Considerations                 June 2020

   The first aspect is the device identity in the form of an
   [ieee802-1AR] certificate that is installed at manufacturing time in
   the device.  The first section of this document deals with
   operational considerations of building this public key

   The second aspect is the use of the Manufacturer Authorized Signing
   Authority (MASA), as described in
   [I-D.ietf-anima-bootstrapping-keyinfra] section 2.5.4.  The device
   needs to have the MASA anchor built in; the exact nature of the
   anchor is subject to many possibilities.  The second section of this
   document deals with a number of options for architecting the security
   of the MASA relationship.

   There are some additional considerations for a MASA that deals with
   constrained vouchers as described in
   [I-D.ietf-anima-constrained-voucher].  In particular in the COSE
   signed version, there are no PKI structure included in the voucher
   mechanism, so cryptographic hygiene needs a different set of

2.  Operational Considerations for Manufacturer Authorized Signing
    Authority (MASA)

   The manufacturer needs to make a Signing Authority available to new
   owners so that they may obtain [RFC8366] format vouchers to prove
   ownership.  This section initially assumes that the manufacturer will
   provide this Authority internally, but subsequent sections deal with
   some adjustments when the authority is externally run.

   The MASA is a public facing web system.  It will be subject to loads
   from legitimate users when a network is bootstrapped for the first
   time.  The legitimate load will be proportional to sales.

   The MASA will be subject to a malicious load: the best way to deflect
   unwanted users is to require TLS Client Certificates for all
   connections, even if the TLS Certificate is not validated.  This
   increases the effort requires for attackers, and if they repeat the
   same certificate then it becomes easier to reject such attackers
   earlier.  The use of this certificate forces attackers to generate
   new key pairs and certificates each time.  The accompanying document
   [I-D.richardson-anima-registrar-considerations] recommends in section
   5.2.1 recommends the use of a public anchor, or an anchor that is
   known to the MASA.

   Web framework three-tier mechanisms are the most obvious.  See
   [threetier] for an overview.  Consideration should be made to
   deploying the presentation layer into multiple data centers in order

Richardson & Pan        Expires 11 December 2020                [Page 3]

Internet-Draft             MASA Considerations                 June 2020

   to provide resiliency against distributed denial of service (DDoS)
   attacks that affect all tenants of that data center.  Consideration
   should be given to the use of a cloud front end to mitigate attacks,
   however, such a system needs to be able to securely transmit the TLS
   Client Certificates, if the MASA wants to identify Registrars at the
   TLS connection time.

   The middle (application) tier needs to be scalable, but it is
   unlikely that it needs to scale very much on a per-minute or even
   per-hour basis.  It is probably easier and more reliable to have
   application tiers do database operations across the Internet or via
   VPN to a single location database cluster than it is to handle
   asynchronous database operations resulting from geographically
   dispersed multi-master database systems.  The assets tables that the
   MASA needs scale linearly with the number of products sold.  Many
   columns could be replicated in a read-only manner from a sales
   database.  Direct integration with a sales system could be
   considered, but would involve a more significant security impact

   In any case, the manufacturer SHOULD plan for a situation where the
   manufacturer is no longer able or interested in running the
   Authority: this does not have to an unhappy situation of the
   manufacturer going out of business.  It could be a happy event where
   the manufacturer goes through a merge or acquisition and it makes
   sense to consolidate the Signing Authority in another part of the

   Business continuity plan should include backing up the voucher
   signing keys.  This may involve multiple Hardware Security Modules,
   and secret splitting mechanisms SHOULD be employed.  For large value
   items, customers are going to need to review the plan as part of
   their contingency audits.

   The anchors for the MASA need to be "baked-in" to the device firmware
   so that they are always available to validate vouchers.  In order to
   avoid locking down a single validation key, a PKI infrastructure is
   appropriate.  Note that constrained devices without code space to
   parse and validate a public key certificate chain require different
   considerations, and this document does not (yet) provide that

   There are many ways to construct a resilient PKI to sign vouchers.

Richardson & Pan        Expires 11 December 2020                [Page 4]

Internet-Draft             MASA Considerations                 June 2020

2.1.  Self-contained multi-product MASA

   The most obvious is to just create a new offline CA, have it
   periodically sign a new End-Entity (EE) Certificate with an online
   private key, and use that to sign voucher requests.  The entity used
   to sign [RFC8366] format vouchers does not need to be a certificate

   The public key of the offline CA is then built-in to the firmware of
   the device, providing a trust anchor with with to validate vouchers.
   In addition, the DN of the appropriate End-Entity certificate needs
   to built-in to the device, otherwise a voucher created for one
   product could be used to sign a voucher for another product.  This
   situation is also mitigated by never repeating serialNumbers across
   product lines.

   An End-Entity certificate used to sign the voucher is included in the
   certificate set in the CMS structure that is used to sign the
   voucher.  The root CA's trust anchor should _also_ be included, even
   though it is self-signed, as this permits auditing elements in a
   Registrar to validate the End-Entity Certificate.

   The inclusion of the full chain also supports a Trust-on-First-Use
   (TOFU) workflow for the manager of the Registrar: they can see the
   trust anchor chain and can compare a fingerprint displayed on their
   screen with one that could be included in packaging or other sales
   channel information.

   When building the MASA public key into a device, only the public key
   contents matter, not the structure of the self-signed certificate
   itself.  Using only the public key enables a MASA architecture to
   evolve from a single self-contained system into a more complex
   architecture later on.

2.2.  Self-contained per-product MASA

   A simple enhancement to the previous scenario is to have a unique
   MASA offline key for each product line.  This has a few advantages:

   *  if the private keys are kept separately (under different
      encryption keys), then compromise of a single product lines MASA
      does not compromise all products.

   *  if a product line is sold to another entity, or if it has to go
      through an escrow process due to the product going out of
      production, then the process affects only a single product line.

Richardson & Pan        Expires 11 December 2020                [Page 5]

Internet-Draft             MASA Considerations                 June 2020

   *  it is safe to have serialNumber duplicated among different product
      lines since a voucher for one product line would not validate on
      another product line.

   The disadvantage is that it requires a private key to be stored per
   product line, and most large OEMs have many dozens of product lines.
   If the keys are stored in a single Hardware Security Module (HSM),
   with the access to it split across the same parties, then some of the
   cryptographic advantages of different private keys goes away, as a
   compromise of one key likely compromises them all.  Given a HSM, the
   most likely way a key is compromised is by an attacker getting
   authorization on the HSM through theft or coercion.

   The use of per-product MASA signing keys is encouraged.

2.3.  Per-product MASA keys intertwined with IDevID PKI

   The IDevID certificate chain (the intermediate CA and root CA that
   signed the IDevID certificate) should be included in the device
   firmware so that they can be communicated during the BRSKI-EST

   Since they are already present, could they be used as the MASA trust
   anchor as well?

   In order to do this there is an attack that needs to mitigated.
   Since the root-CA that creates IDevIDs and the root-CA that creates
   vouchers are the same, when validating a voucher, a pledge needs to
   make sure that it is signed by a key authorized to sign vouchers.  In
   other scenarios any key signed by the voucher-signing-root-CA would
   be valid, but in this scenario that would also include any IDevID,
   such as would be installed in any other device.  Without an
   additional signal as to which keys can sign vouchers, and which keys
   are just IDevID keys, then it would be possible to sign vouchers with
   any IDevID private key, rather than just the designated voucher-
   signing key.  An attacker that could extract a private key from even
   one instance of a product, could use that to sign vouchers, and
   impersonate the MASA.

   The challenge with combining it into the IDevID PKI is making sure
   that only an authorized entity can sign the vouchers.  The solution
   is that it can not be the same intermediate CA that is used to sign
   the IDevID, since that CA should have the authority to sign vouchers.

   The PKI root CA therefore needs to sign an intermediate CA, or End-
   Entity certificate with an extension OID that is specific for Voucher
   Authorization.  This is easy to do as policy OIDs can be created from
   Private Enterprise Numbers.  There is no need for standardization, as

Richardson & Pan        Expires 11 December 2020                [Page 6]

Internet-Draft             MASA Considerations                 June 2020

   the entity doing the signing is also creating the verification code.
   If the entire PKI operation was outsource, then there would be a
   benefit for standardization.

2.4.  Rotating MASA authorization keys

   As a variation of the scenario described in Section 2.2, there could
   be multiple Signing Authority keys per product line.  They could be
   rotated though in some deterministic order.  For instance, serial
   numbers ending in 0 would have MASA key 0 embedded in them at
   manufacturing time.  The asset database would have to know which key
   that corresponded to, and it would have to produce vouchers using
   that key.

   There are significant downsides to this mechanism:

   *  all of the MASA signing keys need to be online and available in
      order to respond to any voucher request

   *  it is necessary to keep track of which device trust which key in
      the asset database

   There is no obvious advantage to doing this if all the MASA signing
   private keys are kept in the same device, under control of the same
   managers.  But if the keys are spread out to multiple locations and
   are under control of different people, then there may be some
   advantage.  A single MASA signing authority key compromise does not
   cause a recall of all devices, but only the portion that had that key
   embedded in it.

   The relationship between signing key and device could be temporal:
   all devices made on Tuesday could have the same key, there could be
   hundreds of keys, each one used only for a few hundred devices.
   There are many variations possible.

   The major advantage comes with the COSE signed constrained-vouchers
   described in [I-D.ietf-anima-constrained-voucher].  In this context
   there isn't space in the voucher for a certificate chain, nor is
   there code space in the device to validate a certificate chain.  The
   (public) key used to sign is embedded directly in the firmware of
   each device without the benefit of any public key infrastructure to
   allow indirection of the key.

3.  Operational Considerations for Constrained MASA


Richardson & Pan        Expires 11 December 2020                [Page 7]

Internet-Draft             MASA Considerations                 June 2020

4.  Operational Considerations for creating Nonceless vouchers


5.  Privacy Considerations


6.  Security Considerations


7.  IANA Considerations

   This document makes no IANA requests.

8.  Acknowledgements


9.  Changelog

10.  References

10.1.  Normative References

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8366]  Watsen, K., Richardson, M., Pritikin, M., and T. Eckert,
              "A Voucher Artifact for Bootstrapping Protocols",
              RFC 8366, DOI 10.17487/RFC8366, May 2018,

              Richardson, M., Stok, P., and P. Kampanakis, "Constrained
              Voucher Artifacts for Bootstrapping Protocols", Work in
              Progress, Internet-Draft, draft-ietf-anima-constrained-
              voucher-07, 15 January 2020, <http://www.ietf.org/

Richardson & Pan        Expires 11 December 2020                [Page 8]

Internet-Draft             MASA Considerations                 June 2020

              Pritikin, M., Richardson, M., Eckert, T., Behringer, M.,
              and K. Watsen, "Bootstrapping Remote Secure Key
              Infrastructures (BRSKI)", Work in Progress, Internet-
              Draft, draft-ietf-anima-bootstrapping-keyinfra-41, 8 April
              2020, <http://www.ietf.org/internet-drafts/draft-ietf-

              Richardson, M., "Operational Considerations for BRSKI
              Registrar", Work in Progress, Internet-Draft, draft-
              richardson-anima-registrar-considerations-03, 9 March
              2020, <http://www.ietf.org/internet-drafts/draft-

              Moskowitz, R., Birkholz, H., Xia, L., and M. Richardson,
              "Guide for building an ECC pki", Work in Progress,
              Internet-Draft, draft-moskowitz-ecdsa-pki-08, 14 February
              2020, <http://www.ietf.org/internet-drafts/draft-

              Wikipedia, ., "Multitier architecture", December 2019,

              IEEE Standard, ., "IEEE 802.1AR Secure Device Identifier",
              2009, <http://standards.ieee.org/findstds/

10.2.  Informative References

   [RFC7030]  Pritikin, M., Ed., Yee, P., Ed., and D. Harkins, Ed.,
              "Enrollment over Secure Transport", RFC 7030,
              DOI 10.17487/RFC7030, October 2013,

              Wikipedia, "In-circuit test", 2019,

Richardson & Pan        Expires 11 December 2020                [Page 9]

Internet-Draft             MASA Considerations                 June 2020

              Qualcomm press release, "Qualcomm Licenses Rambus
              CryptoManager Key and Feature Management Security
              Solution", 2014, <https://www.rambus.com/qualcomm-

              Verisign, "DNSSEC Practice Statement for the Root Zone ZSK
              Operator", 2017, <https://www.iana.org/dnssec/dps/zsk-

              Community, "Root Key Ceremony, Cryptography Wiki", April

              Digi-Sign, "SAS 70 Key Ceremony", April 2020,

              NIST, "SP 800-57 Part 1 Rev. 4 Recommendation for Key
              Management, Part 1: General", 1 January 2016,

Authors' Addresses

   Michael Richardson
   Sandelman Software Works

   Email: mcr+ietf@sandelman.ca

   Wei Pan
   Huawei Technologies

   Email: william.panwei@huawei.com

Richardson & Pan        Expires 11 December 2020               [Page 10]