draft-ietf-opsawg-sdi-07.txt   draft-ietf-opsawg-sdi-08.txt 
Network Working Group W. Kumari Network Working Group W. Kumari
Internet-Draft Google Internet-Draft Google
Intended status: Informational C. Doyle Intended status: Informational C. Doyle
Expires: October 9, 2020 Juniper Networks Expires: October 23, 2020 Juniper Networks
April 07, 2020 April 21, 2020
Secure Device Install Secure Device Install
draft-ietf-opsawg-sdi-07 draft-ietf-opsawg-sdi-08
Abstract Abstract
Deploying a new network device in a location where the operator has Deploying a new network device in a location where the operator has
no staff of its own often requires that an employee physically travel no staff of its own often requires that an employee physically travel
to the location to perform the initial install and configuration, to the location to perform the initial install and configuration,
even in shared datacenters with "smart-hands" type support. In many even in shared datacenters with "smart-hands" type support. In many
cases, this could be avoided if there were a secure way to initially cases, this could be avoided if there were a secure way to initially
provision the device. provision the device.
skipping to change at page 2, line 4 skipping to change at page 2, line 4
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on October 9, 2020. This Internet-Draft will expire on October 23, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 3, line 5 skipping to change at page 3, line 5
9.2. Informative References . . . . . . . . . . . . . . . . . 13 9.2. Informative References . . . . . . . . . . . . . . . . . 13
Appendix A. Changes / Author Notes. . . . . . . . . . . . . . . 14 Appendix A. Changes / Author Notes. . . . . . . . . . . . . . . 14
Appendix B. Demo / proof of concept . . . . . . . . . . . . . . 15 Appendix B. Demo / proof of concept . . . . . . . . . . . . . . 15
B.1. Step 1: Generating the certificate. . . . . . . . . . . . 15 B.1. Step 1: Generating the certificate. . . . . . . . . . . . 15
B.1.1. Step 1.1: Generate the private key. . . . . . . . . . 15 B.1.1. Step 1.1: Generate the private key. . . . . . . . . . 15
B.1.2. Step 1.2: Generate the certificate signing request. . 16 B.1.2. Step 1.2: Generate the certificate signing request. . 16
B.1.3. Step 1.3: Generate the (self signed) certificate B.1.3. Step 1.3: Generate the (self signed) certificate
itself. . . . . . . . . . . . . . . . . . . . . . . . 16 itself. . . . . . . . . . . . . . . . . . . . . . . . 16
B.2. Step 2: Generating the encrypted config. . . . . . . . . 16 B.2. Step 2: Generating the encrypted config. . . . . . . . . 16
B.2.1. Step 2.1: Fetch the certificate. . . . . . . . . . . 16 B.2.1. Step 2.1: Fetch the certificate. . . . . . . . . . . 16
B.2.2. Step 2.2: Encrypt the config file. . . . . . . . . . 16 B.2.2. Step 2.2: Encrypt the config file. . . . . . . . . . 17
B.2.3. Step 2.3: Copy config to the config server. . . . . . 17 B.2.3. Step 2.3: Copy config to the config server. . . . . . 17
B.3. Step 3: Decrypting and using the config. . . . . . . . . 17 B.3. Step 3: Decrypting and using the config. . . . . . . . . 17
B.3.1. Step 3.1: Fetch encrypted config file from config B.3.1. Step 3.1: Fetch encrypted config file from config
server. . . . . . . . . . . . . . . . . . . . . . . . 17 server. . . . . . . . . . . . . . . . . . . . . . . . 17
B.3.2. Step 3.2: Decrypt and use the config. . . . . . . . . 17 B.3.2. Step 3.2: Decrypt and use the config. . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18
1. Introduction 1. Introduction
In a growing, global network, significant amounts of time and money In a growing, global network, significant amounts of time and money
skipping to change at page 3, line 29 skipping to change at page 3, line 29
datacenters"), which have staff on hand that can be contracted to datacenters"), which have staff on hand that can be contracted to
perform tasks including physical installs, device reboots, loading perform tasks including physical installs, device reboots, loading
initial configurations, etc. There are also a number of (often initial configurations, etc. There are also a number of (often
vendor proprietary) protocols to perform initial device installs and vendor proprietary) protocols to perform initial device installs and
configurations - for example, many network devices will attempt to configurations - for example, many network devices will attempt to
use DHCP [RFC2131]to get an IP address and configuration server, and use DHCP [RFC2131]to get an IP address and configuration server, and
then fetch and install a configuration when they are first powered then fetch and install a configuration when they are first powered
on. on.
The configurations of network devices contain a significant amount of The configurations of network devices contain a significant amount of
security related and / or proprietary information (for example, security related and/or proprietary information (for example, RADIUS
RADIUS [RFC2865] or TACACS+ [I-D.ietf-opsawg-tacacs] secrets). [RFC2865] or TACACS+ [I-D.ietf-opsawg-tacacs] secrets). Exposing
Exposing these to a third party to load onto a new device (or using these to a third party to load onto a new device (or using an auto-
an auto-install techniques which fetch an unencrypted config file via install techniques which fetch an unencrypted config file via TFTP
TFTP [RFC1350]) or something similar, is an unacceptable security [RFC1350]) or something similar, is an unacceptable security risk for
risk for many operators, and so they send employees to remote many operators, and so they send employees to remote locations to
locations to perform the initial configuration work; this costs, time perform the initial configuration work; this costs, time and money.
and money.
There are some workarounds to this, such as asking the vendor to pre- There are some workarounds to this, such as asking the vendor to pre-
configure the devices before shipping it; asking the smart-hands to configure the devices before shipping it; asking the smart-hands to
install a terminal server; providing a minimal, unsecured install a terminal server; providing a minimal, unsecured
configuration and using that to bootstrap to a complete configuration and using that to bootstrap to a complete
configuration, etc; but these are often clumsy and have security configuration, etc; but these are often clumsy and have security
issues - for example, in the terminal server case, the console port issues - for example, in the terminal server case, the console port
connection could be easily snooped. connection could be easily snooped.
This document layers security onto existing auto-install solutions to This document layers security onto existing auto-install solutions to
skipping to change at page 4, line 11 skipping to change at page 4, line 10
it is explicitly not intended to be an "all singing, all dancing" it is explicitly not intended to be an "all singing, all dancing"
fully featured system for managing installed / deployed devices, nor fully featured system for managing installed / deployed devices, nor
is it intended to solve all use-cases - rather it is a simple is it intended to solve all use-cases - rather it is a simple
targeted solution to solve a common operational issue where the targeted solution to solve a common operational issue where the
network device has been delivered, fibre laid (as appropriate) but network device has been delivered, fibre laid (as appropriate) but
there is no trusted member of the operator's staff to perform the there is no trusted member of the operator's staff to perform the
initial configuration. initial configuration.
Solutions such as Secure Zero Touch Provisioning (SZTP)" [RFC8572], Solutions such as Secure Zero Touch Provisioning (SZTP)" [RFC8572],
[I-D.ietf-anima-bootstrapping-keyinfra] and similar are much more [I-D.ietf-anima-bootstrapping-keyinfra] and similar are much more
fully featured, but also more complex to implement and / or are not fully featured, but also more complex to implement and/or are not
widely deployed yet. widely deployed yet.
This solution is specifically designed to be a simple method on top This solution is specifically designed to be a simple method on top
of exiting device functionality. If devices do not support this new of exiting device functionality. If devices do not support this new
method, they can continue to use the existing functionality. In method, they can continue to use the existing functionality. In
addition, operators can choose to use this to protect their addition, operators can choose to use this to protect their
configuration information, or can continue to use the existing configuration information, or can continue to use the existing
functionality. functionality.
The issue of securely installing devices is in no way a new issue, The issue of securely installing devices is in no way a new issue,
skipping to change at page 5, line 7 skipping to change at page 5, line 7
the devices serial number, MAC address or similar. This document the devices serial number, MAC address or similar. This document
extends this (vendor specific) paradigm by allowing the configuration extends this (vendor specific) paradigm by allowing the configuration
file to be encrypted. file to be encrypted.
This document describes a concept, and some example ways of This document describes a concept, and some example ways of
implementing this concept. As devices have different capabilities, implementing this concept. As devices have different capabilities,
and use different configuration paradigms, one method will not suit and use different configuration paradigms, one method will not suit
all, and so it is expected that vendors will differ in exactly how all, and so it is expected that vendors will differ in exactly how
they implement this. they implement this.
This document uses the serial number of the device as a unique This document uses the serial number of the device as a unique device
identifier for simplicity; some vendors may not want to implement the identifier for simplicity; some vendors may not want to implement the
system using the serial number as the identifier for business reasons system using the serial number as the identifier for business reasons
(a competitor or similar could enumerate the serial numbers and (a competitor or similar could enumerate the serial numbers and
determine how many devices have been manufactured). Implementors are determine how many devices have been manufactured). Implementors are
free to choose some other way of generating identifiers (e.g., UUID free to choose some other way of generating identifiers (e.g., UUID
[RFC4122]), but this will likely make it somewhat harder for [RFC4122]), but this will likely make it somewhat harder for
operators to use (the serial number is usually easy to find on a operators to use (the serial number is usually easy to find on a
device, a more complex system is likely harder to track). device, a more complex system is likely harder to track).
[ Ed note: This example also uses TFTP because that is what many [ Ed note: This example also uses TFTP because that is what many
skipping to change at page 5, line 29 skipping to change at page 5, line 29
instead be HTTP, FTP, etc. ] instead be HTTP, FTP, etc. ]
2.1. Example Scenario 2.1. Example Scenario
Sirius Cybernetics Corp needs another peering router, and so they Sirius Cybernetics Corp needs another peering router, and so they
order another router from Acme Network Widgets, to be drop-shipped to order another router from Acme Network Widgets, to be drop-shipped to
the Point of Presence (POP) / datacenter. Acme begins assembling the the Point of Presence (POP) / datacenter. Acme begins assembling the
new device, and tells Sirius what the new device's serial number will new device, and tells Sirius what the new device's serial number will
be (SN:17894321). When Acme first installs the firmware on the be (SN:17894321). When Acme first installs the firmware on the
device and boots it, the device generates a public-private keypair, device and boots it, the device generates a public-private keypair,
and Acme publishes it on their keyserver (in a public key and Acme publishes the public key on their keyserver (in a public key
certificate, for ease of use). certificate, for ease of use).
While the device is being shipped, Sirius generates the initial While the device is being shipped, Sirius generates the initial
device configuration, fetches the certificate from Acme keyservers by device configuration, fetches the certificate from Acme keyservers by
providing the serial number of the new device. Sirius then encrypts providing the serial number of the new device. Sirius then encrypts
the device configuration and puts this encrypted config on a (local) the device configuration and puts this encrypted config on a (local)
TFTP server. TFTP server.
When the device arrives at the POP, it gets installed in Sirius' When the device arrives at the POP, it gets installed in Sirius'
rack, and cabled as instructed. The new device powers up and rack, and cabled as instructed. The new device powers up and
skipping to change at page 6, line 18 skipping to change at page 6, line 18
3. Vendor Role / Requirements 3. Vendor Role / Requirements
This section describes the vendors roles and responsibilities and This section describes the vendors roles and responsibilities and
provides an overview of what the device needs to do. provides an overview of what the device needs to do.
3.1. Device key generation 3.1. Device key generation
Each devices requires a public-private key keypair, and for the Each devices requires a public-private key keypair, and for the
public part to be published and retrievable by the operator. The public part to be published and retrievable by the operator. The
cryptograthic algorithm and keylenghts to be used are out of the cryptograthic algorithm and key lenghts to be used are out of the
scope of this document. This section illustrates one method, but, as scope of this document. This section illustrates one method, but, as
with much of this document the exact mechanism may will vary by with much of this document the exact mechanism may vary by vendor.
vendor. [I-D.gutmann-scep] is one method which vendors may want to EST [RFC7030]and [I-D.gutmann-scep] are methods which vendors may
strongly consider. want to consider.
During the manufacturing stage, when the device is initially powered During the manufacturing stage, when the device is initially powered
on, it will generate a public-private keypair. It will send its on, it will generate a public-private keypair. It will send its
unique identifier and the public key to the vendor's Certificate unique device identifier and the public key to the vendor's
Publication Server to be published. The vendor's Certificate Certificate Publication Server to be published. The vendor's
Publication Server should only accept certificates from the Certificate Publication Server should only accept certificates from
manufacturing facility, and which match vendor defined policies (for the manufacturing facility, and which match vendor defined policies
example, extended key usage, extensions, etc.) Note that some (for example, extended key usage, extensions, etc.) Note that some
devices may be constrained, and so may send the raw public key and devices may be constrained, and so may send the raw public key and
unique identifier to the certificate publication server, while more unique device identifier to the certificate publication server, while
capable devices may generate and send self-signed certificates. more capable devices may generate and send self-signed certificates.
3.2. Certificate Publication Server 3.2. Certificate Publication Server
The certificate publication server contains a database of The certificate publication server contains a database of
certificates. If newly manufactured devices upload certificates the certificates. If newly manufactured devices upload certificates the
certificate publication server can simply publish these, if the certificate publication server can simply publish these; if the
devices provide raw public keys and unique identifiers the devices provide the raw public keys and unique device identifier, the
certificate publication server will need to wrap these in a certificate publication server will need to wrap these in a
certificate. Note that the certificate publication server MUST only certificate.
accept certificates or keys from the vendor's manufacturing
facilities.
The customers (e.g., Sirius Cybernetics Corp) query this server with The customers (e.g., Sirius Cybernetics Corp) query this server with
the serial number (or other provided unique identifier) of a device, the serial number (or other provided unique identifier) of a device,
and retrieve the associated certificate. It is expected that and retrieve the associated certificate. It is expected that
operators will receive the unique identifier (serial number) of operators will receive the unique device identifier (serial number)
devices when they purchase them, and will download and store / cache of devices when they purchase them, and will download and store /
the certificate. This means that there is not a hard requirement on cache the certificate. This means that there is not a hard
the uptime / reachability of the certificate publication server. requirement on the uptime / reachability of the certificate
publication server.
+------------+ +------------+
+------+ |Certificate | +------+ |Certificate |
|Device| |Publication | |Device| |Publication |
+------+ | Server | +------+ | Server |
+------------+ +------------+
+----------------+ +--------------+ +----------------+ +--------------+
| +---------+ | | | | +---------+ | | |
| | Initial | | | | | | Initial | | | |
| | boot? | | | | | | boot? | | | |
skipping to change at page 8, line 40 skipping to change at page 8, line 40
Fetching the certificate, encrypting the configuration, publishing Fetching the certificate, encrypting the configuration, publishing
the encrypted configuration. the encrypted configuration.
4.3. Example Initial Customer Boot 4.3. Example Initial Customer Boot
When the device is first booted by the customer (and on subsequent When the device is first booted by the customer (and on subsequent
boots), if the device does not have a valid configuration, it will boots), if the device does not have a valid configuration, it will
use existing auto-install functionality. As an example, it performs use existing auto-install functionality. As an example, it performs
DHCP Discovery until it gets a DHCP offer including DHCP option 66 DHCP Discovery until it gets a DHCP offer including DHCP option 66
(Server-Name) or 150 (TFTP server address), contact the server listed (Server-Name) or 150 (TFTP server address), contacts the server
in these DHCP options and downloads its config file. Note that this listed in these DHCP options and downloads its config file. Note
is existing functionality (for example, Cisco devices fetch the that this is existing functionality (for example, Cisco devices fetch
config file named by the Bootfile-Name DHCP option (67)). the config file named by the Bootfile-Name DHCP option (67)).
After retrieving the config file, the device needs to determine if it After retrieving the config file, the device needs to determine if it
is encrypted or not. If it is not encrypted, the existing behavior is encrypted or not. If it is not encrypted, the existing behavior
is used. If the configuration is encrypted, the process continues as is used. If the configuration is encrypted, the process continues as
described in this document. The method used to determine if the described in this document. The method used to determine if the
config is encrypted or not is implementation dependant; there are a config is encrypted or not is implementation dependant; there are a
number of (obvious) options, including having a magic string in the number of (obvious) options, including having a magic string in the
file header, using a file name extension (e.g., config.enc), or using file header, using a file name extension (e.g., config.enc), or using
specific DHCP options. specific DHCP options.
If the file is encrypted, the device will attempt to decrypt and If the file is encrypted, the device will attempt to decrypt and
parse the file. It able, it will install the configuration, and parse the file. If able, it will install the configuration, and
start using it. If this fails, the device with either abort the start using it. If it cannot decrypt the file, or if parsing the
auto-install process, or will repeat this process until it succeeds. configurations fails, the device will either abort the auto-install
process, or will repeat this process until it succeeds.
Note that the device only needs to be able to download the config Note that the device only needs to be able to download the config
file; after the initial power-on in the factory it never needs to file; after the initial power-on in the factory it never needs to
access the Internet or vendor or certificate publication server - it access the Internet or vendor or certificate publication server - it
(and only it) has the private key and so has the ability to decrypt (and only it) has the private key and so has the ability to decrypt
the config file. the config file.
+--------+ +--------------+ +--------+ +--------------+
| Device | |Config server | | Device | |Config server |
+--------+ | (e.g. TFTP) | +--------+ | (e.g. TFTP) |
skipping to change at page 10, line 46 skipping to change at page 10, line 46
| v | | | | v | | |
| / \ | | | | / \ | | |
| / \ Y +--------+ | | | | / \ Y +--------+ | | |
| |Sane?|---->|Install,| | | | | |Sane?|---->|Install,| | | |
| \ / | Boot | | | | | \ / | Boot | | | |
| \ / +--------+ | | | | \ / +--------+ | | |
| V | | | | V | | |
| |N | | | | |N | | |
| | | | | | | | | |
| +----v---+ | | | | +----v---+ | | |
| |Give up | | | | | |Give up,| | | |
| |go home | | | | | |go home | | | |
| +--------+ | | | | +--------+ | | |
| | | | | | | |
+---------------------------+ +------------------+ +---------------------------+ +------------------+
Device boot, fetch and install config file Device boot, fetch and install config file
5. Additional Considerations 5. Additional Considerations
5.1. Key storage 5.1. Key storage
skipping to change at page 12, line 11 skipping to change at page 12, line 11
devices such as: unencrypted config files which can be downloaded by devices such as: unencrypted config files which can be downloaded by
connecting to unprotected ports in datacenters, mailing initial connecting to unprotected ports in datacenters, mailing initial
config files on flash drives, or emailing config files and asking a config files on flash drives, or emailing config files and asking a
third-party to copy and paste it over a serial terminal. It does not third-party to copy and paste it over a serial terminal. It does not
protect against devices with malicious firmware, nor theft and reuse protect against devices with malicious firmware, nor theft and reuse
of devices. of devices.
An attacker (e.g., a malicious datacenter employee) who has physical An attacker (e.g., a malicious datacenter employee) who has physical
access to the device before it is connected to the network the access to the device before it is connected to the network the
attacker may be able to extract the device private key (especially if attacker may be able to extract the device private key (especially if
it isn't stored in a TPM), pretend to be the device when connecting it is not stored in a TPM), pretend to be the device when connecting
to the network, and download and extract the (encrypted) config file. to the network, and download and extract the (encrypted) config file.
This mechanism does not protect against a malicious vendor - while This mechanism does not protect against a malicious vendor - while
the keypair should be generated on the device, and the private key the keypair should be generated on the device, and the private key
should be securely stored, the mechanism cannot detect or protect should be securely stored, the mechanism cannot detect or protect
against a vendor who claims to do this, but instead generates the against a vendor who claims to do this, but instead generates the
keypair off device and keeps a copy of the private key. It is keypair off device and keeps a copy of the private key. It is
largely understood in the operator community that a malicious vendor largely understood in the operator community that a malicious vendor
or attacker with physical access to the device is largely a "Game or attacker with physical access to the device is largely a "Game
Over" situation. Over" situation.
skipping to change at page 13, line 15 skipping to change at page 13, line 15
9.2. Informative References 9.2. Informative References
[I-D.gutmann-scep] [I-D.gutmann-scep]
Gutmann, P., "Simple Certificate Enrolment Protocol", Gutmann, P., "Simple Certificate Enrolment Protocol",
draft-gutmann-scep-16 (work in progress), March 2020. draft-gutmann-scep-16 (work in progress), March 2020.
[I-D.ietf-anima-bootstrapping-keyinfra] [I-D.ietf-anima-bootstrapping-keyinfra]
Pritikin, M., Richardson, M., Eckert, T., Behringer, M., Pritikin, M., Richardson, M., Eckert, T., Behringer, M.,
and K. Watsen, "Bootstrapping Remote Secure Key and K. Watsen, "Bootstrapping Remote Secure Key
Infrastructures (BRSKI)", draft-ietf-anima-bootstrapping- Infrastructures (BRSKI)", draft-ietf-anima-bootstrapping-
keyinfra-40 (work in progress), April 2020. keyinfra-41 (work in progress), April 2020.
[I-D.ietf-opsawg-tacacs] [I-D.ietf-opsawg-tacacs]
Dahm, T., Ota, A., dcmgash@cisco.com, d., Carrel, D., and Dahm, T., Ota, A., dcmgash@cisco.com, d., Carrel, D., and
L. Grant, "The TACACS+ Protocol", draft-ietf-opsawg- L. Grant, "The TACACS+ Protocol", draft-ietf-opsawg-
tacacs-18 (work in progress), March 2020. tacacs-18 (work in progress), March 2020.
[IEEE802-1AR] [IEEE802-1AR]
IEEE, "IEEE Standard for Local and Metropolitan Area IEEE, "IEEE Standard for Local and Metropolitan Area
Networks - Secure Device Identity", June 2018, Networks - Secure Device Identity", June 2018,
<https://standards.ieee.org/standard/802_1AR-2018.html>. <https://standards.ieee.org/standard/802_1AR-2018.html>.
skipping to change at page 14, line 5 skipping to change at page 14, line 5
[RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally [RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally
Unique IDentifier (UUID) URN Namespace", RFC 4122, Unique IDentifier (UUID) URN Namespace", RFC 4122,
DOI 10.17487/RFC4122, July 2005, DOI 10.17487/RFC4122, July 2005,
<https://www.rfc-editor.org/info/rfc4122>. <https://www.rfc-editor.org/info/rfc4122>.
[RFC5751] Ramsdell, B. and S. Turner, "Secure/Multipurpose Internet [RFC5751] Ramsdell, B. and S. Turner, "Secure/Multipurpose Internet
Mail Extensions (S/MIME) Version 3.2 Message Mail Extensions (S/MIME) Version 3.2 Message
Specification", RFC 5751, DOI 10.17487/RFC5751, January Specification", RFC 5751, DOI 10.17487/RFC5751, January
2010, <https://www.rfc-editor.org/info/rfc5751>. 2010, <https://www.rfc-editor.org/info/rfc5751>.
[RFC7030] Pritikin, M., Ed., Yee, P., Ed., and D. Harkins, Ed.,
"Enrollment over Secure Transport", RFC 7030,
DOI 10.17487/RFC7030, October 2013,
<https://www.rfc-editor.org/info/rfc7030>.
[RFC8572] Watsen, K., Farrer, I., and M. Abrahamsson, "Secure Zero [RFC8572] Watsen, K., Farrer, I., and M. Abrahamsson, "Secure Zero
Touch Provisioning (SZTP)", RFC 8572, Touch Provisioning (SZTP)", RFC 8572,
DOI 10.17487/RFC8572, April 2019, DOI 10.17487/RFC8572, April 2019,
<https://www.rfc-editor.org/info/rfc8572>. <https://www.rfc-editor.org/info/rfc8572>.
Appendix A. Changes / Author Notes. Appendix A. Changes / Author Notes.
[RFC Editor: Please remove this section before publication ] [RFC Editor: Please remove this section before publication ]
From -03 to -04 From -03 to -04
skipping to change at page 15, line 34 skipping to change at page 15, line 39
o Added a bunch of ASCII diagrams o Added a bunch of ASCII diagrams
Appendix B. Demo / proof of concept Appendix B. Demo / proof of concept
This section contains a rough demo / proof of concept of the system. This section contains a rough demo / proof of concept of the system.
It is only intended for illustration, and is not intended to be used It is only intended for illustration, and is not intended to be used
in production. in production.
It uses OpenSSL from the command line, in production something more It uses OpenSSL from the command line, in production something more
automated would be used. In this example, the unique identifier is automated would be used. In this example, the unique device
the serial number of the router, SN19842256. identifier is the serial number of the router, SN19842256.
B.1. Step 1: Generating the certificate. B.1. Step 1: Generating the certificate.
This step is performed by the router. It generates a key, then a This step is performed by the router. It generates a key, then a
csr, and then a self signed certificate. csr, and then a self signed certificate.
B.1.1. Step 1.1: Generate the private key. B.1.1. Step 1.1: Generate the private key.
$ openssl genrsa -out key.pem 2048 $ openssl genrsa -out key.pem 2048
Generating RSA private key, 2048 bit long modulus Generating RSA private key, 2048 bit long modulus
 End of changes. 22 change blocks. 
48 lines changed or deleted 52 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/