draft-ietf-lwig-minimal-esp-08.txt   draft-ietf-lwig-minimal-esp-09.txt 
Light-Weight Implementation Guidance (lwig) D.M. Migault Light-Weight Implementation Guidance (lwig) D.M. Migault
Internet-Draft Ericsson Internet-Draft Ericsson
Intended status: Informational T.G. Guggemos Intended status: Informational T.G. Guggemos
Expires: 12 May 2022 LMU Munich Expires: 8 October 2022 LMU Munich
8 November 2021 6 April 2022
Minimal IP Encapsulating Security Payload (ESP) Minimal IP Encapsulating Security Payload (ESP)
draft-ietf-lwig-minimal-esp-08 draft-ietf-lwig-minimal-esp-09
Abstract Abstract
This document describes the minimal properties IP Encapsulating This document describes the minimal properties IP Encapsulating
Security Payload (ESP) implementation needs to meet to remain Security Payload (ESP) implementation needs to meet to remain
interoperable with the standard RFC4303 ESP. Such a minimal version interoperable with the standard RFC4303 ESP. Such a minimal version
of ESP is not intended to become a replacement of the RFC 4303 ESP. of ESP is not intended to become a replacement of the RFC 4303 ESP.
Instead, a minimal implementation is expected to be optimized for Instead, a minimal implementation is expected to be optimized for
constrained environment while remaining interoperable with constrained environment while remaining interoperable with
implementations of RFC 4303 ESP. In addition, this document also implementations of RFC 4303 ESP. In addition, this document also
skipping to change at page 1, line 45 skipping to change at page 1, line 45
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 12 May 2022. This Internet-Draft will expire on 8 October 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2022 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 (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components and restrictions with respect to this document. Code Components
extracted from this document must include Simplified BSD License text extracted from this document must include Revised BSD License text as
as described in Section 4.e of the Trust Legal Provisions and are described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Simplified BSD License. provided without warranty as described in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Security Parameter Index (SPI) (32 bit) . . . . . . . . . . . 3 2. Security Parameter Index (SPI) (32 bit) . . . . . . . . . . . 3
2.1. Considerations over SPI generation . . . . . . . . . . . 4 2.1. Considerations over SPI generation . . . . . . . . . . . 4
3. Sequence Number(SN) (32 bit) . . . . . . . . . . . . . . . . 5 3. Sequence Number(SN) (32 bit) . . . . . . . . . . . . . . . . 5
4. Padding . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4. Padding . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5. Next Header (8 bit) . . . . . . . . . . . . . . . . . . . . . 9 5. Next Header (8 bit) . . . . . . . . . . . . . . . . . . . . . 9
6. ICV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 6. ICV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
skipping to change at page 2, line 45 skipping to change at page 2, line 45
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
1. Introduction 1. Introduction
ESP [RFC4303] is part of the IPsec protocol suite [RFC4301]. IPsec ESP [RFC4303] is part of the IPsec protocol suite [RFC4301]. IPsec
is used to provide confidentiality, data origin authentication, is used to provide confidentiality, data origin authentication,
connectionless integrity, an anti-replay service (a form of partial connectionless integrity, an anti-replay service (a form of partial
sequence integrity) and limited traffic flow confidentiality (TFC) sequence integrity) and limited traffic flow confidentiality (TFC)
padding. padding.
Figure 1 describes an ESP Packet. Currently ESP is implemented in Figure 1 describes an ESP Packet. Currently, ESP is implemented in
the kernel of major multipurpose Operating Systems (OS). The ESP and the kernel of major multipurpose Operating Systems (OS). The ESP and
IPsec suite is usually implemented in a complete way to fit multiple IPsec suite is usually implemented in a complete way to fit multiple
purpose usage of these OS. However, completeness of the IPsec suite purpose usage of these OSes. However, completeness of the IPsec
as well as multipurpose scope of these OS is often performed at the suite as well as multipurpose scope of these OSes is often performed
expense of resources, or performance. As a result, constrained at the expense of resources, or performance. As a result,
devices are likely to have their own implementation of ESP optimized constrained devices are likely to have their own implementation of
and adapted to their specificities such as limiting the number of ESP optimized and adapted to their specificities such as limiting the
flash writes (for each packet or across wake time), handling frequent number of flash writes (for each packet or across wake
wakeup and sleep state, limiting wakeup time, or reducing the use of time), handling frequent wakeup and sleep state, limiting wakeup
random generation. With the adoption of IPsec by IoT devices with time, or reducing the use of random generation. With the adoption of
minimal IKEv2 [RFC7815] and ESP Header Compression (EHC) with IPsec by IoT devices with minimal IKEv2 [RFC7815] and ESP Header
[I-D.mglt-ipsecme-diet-esp] or Compression (EHC) with [I-D.mglt-ipsecme-diet-esp] or
[I-D.mglt-ipsecme-ikev2-diet-esp-extension], it becomes crucial that [I-D.mglt-ipsecme-ikev2-diet-esp-extension], it becomes crucial that
ESP implementation designed for constrained devices remains inter- ESP implementation designed for constrained devices remain inter-
operable with the standard ESP implementation to avoid a fragmented operable with the standard ESP implementation to avoid a fragmented
usage of ESP. This document describes the minimal properties an ESP usage of ESP. This document describes the minimal properties an ESP
implementation needs to meet to remain interoperable with [RFC4303] implementation needs to meet to remain interoperable with [RFC4303]
ESP. In addition, this document also provides a set of options to ESP. In addition, this document also provides a set of options to
implement these properties under certain constrained environments. implement these properties under certain constrained environments.
This document does not update or modify RFC 4303, but provides a This document does not update or modify RFC 4303, but provides a
compact description of how to implement the minimal version of the compact description of how to implement the minimal version of the
protocol. RFC 4303 remains the authoritative description. protocol. RFC 4303 remains the authoritative description.
For each field of the ESP packet represented in Figure 1 this For each field of the ESP packet represented in Figure 1 this
skipping to change at page 4, line 13 skipping to change at page 4, line 13
is not allowed to be removed. is not allowed to be removed.
The SPI has a local significance to index the Security Association The SPI has a local significance to index the Security Association
(SA). From [RFC4301] section 4.1, nodes supporting only unicast (SA). From [RFC4301] section 4.1, nodes supporting only unicast
communications can index their SA only using the SPI. On the other communications can index their SA only using the SPI. On the other
hand, nodes supporting multicast communications must also use the IP hand, nodes supporting multicast communications must also use the IP
addresses and thus SA lookup needs to be performed using the longest addresses and thus SA lookup needs to be performed using the longest
match. match.
For nodes supporting only unicast communications, this document For nodes supporting only unicast communications, this document
recommends to index SA with the SPI only. The index may be based on recommends indexing SA with the SPI only. The index may be based on
the full 32 bits of SPI or a subset of these bits. The node may the full 32 bits of SPI or a subset of these bits. The node may
require a combination of the SPI as well as other parameters (like require a combination of the SPI as well as other parameters (like
the IP address) to index the SA. the IP address) to index the SA.
Values 0-255 must not be used. As per section 2.1 of [RFC4303], Values 0-255 must not be used. As per section 2.1 of [RFC4303],
values 1-255 are reserved and 0 is only allowed to be used internally values 1-255 are reserved and 0 is only allowed to be used internally
and it must not be sent on the wire. and it must not be sent on the wire.
[RFC4303] does not require the SPI to be randomly generated over 32 [RFC4303] does not require the SPI to be randomly generated over 32
bits. However, this is the recommended way to generate SPIs as it bits. However, this is the recommended way to generate SPIs as it
provides some privacy benefits and avoids, for example, correlation provides some privacy benefits and avoids, for example, correlation
between ESP communications. To randomly generate a 32 bit SPI, the between ESP communications. To randomly generate a 32 bit SPI, the
node generates a random 32 bit valueand checks it does not fall in node generates a random 32 bit value and checks it does not fall in
the 0-255 range. If the SPI has an acceptable value, it is used to the 0-255 range. If the SPI has an acceptable value, it is used to
index the inbound session, otherwise the SPI is re-generated until an index the inbound session, otherwise the SPI is re-generated until an
acceptable value is found. acceptable value is found.
However, some constrained nodes may be less concerned by the privacy However, some constrained nodes may be less concerned by the privacy
properties associated to SPIs randomly generated. Examples of such properties associated to SPIs randomly generated. Examples of such
nodes might include sensors looking to reduce their code complexity, nodes might include sensors looking to reduce their code complexity,
in which case the use of a predictive function to generate the SPI in which case the use of a predictive function to generate the SPI
might be preferred over the generation and handling of random values. might be preferred over the generation and handling of random values.
An example of such predictable function may consider the combination An example of such predictable function may consider the combination
skipping to change at page 5, line 6 skipping to change at page 5, line 6
SPI that are not randomly generated over 32 bits may lead to privacy SPI that are not randomly generated over 32 bits may lead to privacy
and security concerns. As a result, the use of alternative designs and security concerns. As a result, the use of alternative designs
requires careful security and privacy reviews. This section provides requires careful security and privacy reviews. This section provides
some considerations upon the adoption of alternative designs. some considerations upon the adoption of alternative designs.
Note that SPI value is used only for inbound traffic, as such the SPI Note that SPI value is used only for inbound traffic, as such the SPI
negotiated with IKEv2 [RFC7296] or [RFC7815] by a peer, is the value negotiated with IKEv2 [RFC7296] or [RFC7815] by a peer, is the value
used by the remote peer when it sends traffic. As SPI is only used used by the remote peer when it sends traffic. As SPI is only used
for inbound traffic by the peer, this allows each peer to manage the for inbound traffic by the peer, this allows each peer to manage the
set of SPIs used for its inbound traffic. Similarly, the privacy set of SPIs used for its inbound traffic. Similarly, the privacy
concerns associated with the generation of nonrandom SPI is also concerns associated with the generation of non random SPI is also
limited to the incoming traffic. limited to the incoming traffic.
When alternate designs are considered, it is likely that the number When alternate designs are considered, it is likely that the number
of possible SPIs will be limited. This limit should both consider of possible SPIs will be limited. This limit should both consider
the number of inbound SAs - possibly per IP addresses - as well as the number of inbound SAs - possibly per IP addresses - as well as
the ability for the node to rekey. SPI can typically be used to the ability for the node to rekey. SPI can typically be used to
implement a key update with the SPI indicating the key is being used. implement a key update with the SPI indicating the key is being used.
For example, a SPI might be encoded with the Security Association For example, a SPI might be encoded with the Security Association
Database (SAD) entry on a subset of bytes (for example 3 bytes), Database (SAD) entry on a subset of bytes (for example 3 bytes),
while the remaining byte indicates the rekey index. while the remaining byte indicates the rekey index.
The use of a smaller number of SPIs across communications comes with The use of a smaller number of SPIs across communications comes with
privacy and security concerns. Typically some specific values or privacy and security concerns. Typically, some specific values or
subset of SPI values may reveal the models or manufacturer of the subset of SPI values may reveal the models or manufacturer of the
node implementing ESP. This may raise some privacy issues as an node implementing ESP. This may raise some privacy issues as an
observer is likely to be able to determine the constrained devices of observer is likely to be able to determine the constrained devices of
the network. In some cases, these nodes may host a very limited the network. In some cases, these nodes may host a very limited
number of applications - typically a single application - in which number of applications - typically a single application - in which
case the SPI would provide some information related to the case the SPI would provide some information related to the
application of the user. In addition, the device or application may application of the user. In addition, the device or application may
be associated with some vulnerabilities, in which case specific SPI be associated with some vulnerabilities, in which case specific SPI
values may be used by an attacker to discover vulnerabilities. values may be used by an attacker to discover vulnerabilities.
While the use of randomly generated SPIs may reduce the leakage or While the use of randomly generated SPIs may reduce the leakage or
privacy of security related information by ESP itself, these privacy of security related information by ESP itself, these pieces
information may also be leaked otherwise. As a result, a privacy of information may also be leaked otherwise. As a result, a privacy
analysis should consider at least the type of information as well the analysis should consider at least the type of information as well the
traffic pattern before determining non random SPI can be used. traffic pattern before determining a non random SPI can be used.
Typically, temperature sensors, wind sensors, used outdoors may not Typically, temperature sensors, wind sensors, used outdoors may not
leak privacy sensitive information and most of its traffic is leak privacy sensitive information and most of its traffic is
expected to be outbound traffic. When used indoors, a sensor that expected to be outbound traffic. When used indoors, a sensor that
reports every minute an encrypted status of the door (closed or reports every minute an encrypted status of the door (closed or
opened) may leak truly little privacy sensitive information outside opened) may leak truly little privacy sensitive information outside
the local network. In both cases, if the state of the sensor doesn't the local network. In both cases, if the state of the sensor doesn't
leak privacy info, a randomized SPI is not necessary. leak privacy info, a randomized SPI is not necessary.
3. Sequence Number(SN) (32 bit) 3. Sequence Number(SN) (32 bit)
skipping to change at page 7, line 40 skipping to change at page 7, line 40
lifetime of a session may be considered. However, when the SN is lifetime of a session may be considered. However, when the SN is
incremented differently - such as when time is used - the maximum incremented differently - such as when time is used - the maximum
value SN needs to be considered instead. Note that the limit of value SN needs to be considered instead. Note that the limit of
messages being sent is primarily determined by the security messages being sent is primarily determined by the security
associated with the key rather than the SN. The security of all data associated with the key rather than the SN. The security of all data
protected under a given key decreases slightly with each message and protected under a given key decreases slightly with each message and
a node must ensure the limit is not reached - even though the SN a node must ensure the limit is not reached - even though the SN
would permit it. Estimation of the maximum number of packets to be would permit it. Estimation of the maximum number of packets to be
sent by a node is always challenging and as such should be considered sent by a node is always challenging and as such should be considered
cautiously as nodes could be online for much more time than expected. cautiously as nodes could be online for much more time than expected.
Even for constrained devices, this document recommends to implement Even for constrained devices, this document recommends implementing
some rekey mechanisms (see Section 9). some rekey mechanisms (see Section 9).
4. Padding 4. Padding
The purpose of padding is to respect the 32 bit alignment of ESP or The purpose of padding is to respect the 32 bit alignment of ESP or
block size expected by an encryption transform - such as AES-CBC for block size expected by an encryption transform - such as AES-CBC for
example. ESP must have at least one padding byte Pad Length that example. ESP must have at least one padding byte Pad Length that
indicates the padding length. ESP padding bytes are generated by a indicates the padding length. ESP padding bytes are generated by a
succession of unsigned bytes starting with 1, 2, 3 with the last byte succession of unsigned bytes starting with 1, 2, 3 with the last byte
set to Pad Length, where Pad Length designates the length of the set to Pad Length, where Pad Length designates the length of the
padding bytes. padding bytes.
Checking the padding structure is not mandatory, so the constrained Checking the padding structure is not mandatory, so the constrained
device may not proceed to such checks, however, in order to device may omit such checks, however, in order to interoperate with
interoperate with existing ESP implementations, it must build the existing ESP implementations, it must build the padding bytes as
padding bytes as recommended by ESP. recommended by ESP.
In some situation the padding bytes may take a fixed value. This In some situation the padding bytes may take a fixed value. This
would typically be the case when the Data Payload is of fix size. would typically be the case when the Data Payload is of fixed size.
ESP [RFC4303] also provides Traffic Flow Confidentiality (TFC) as a ESP [RFC4303] also provides Traffic Flow Confidentiality (TFC) as a
way to perform padding to hide traffic characteristics, which differs way to perform padding to hide traffic characteristics, which differs
from respecting a 32 bit alignment. TFC is not mandatory and must be from respecting a 32 bit alignment. TFC is not mandatory and must be
negotiated with the SA management protocol. TFC has not yet being negotiated with the SA management protocol. TFC has not yet being
widely adopted for standard ESP traffic. One possible reason is that widely adopted for standard ESP traffic. One possible reason is that
it requires to shape the traffic according to one traffic pattern it requires to shape the traffic according to one traffic pattern
that needs to be maintained. This is likely to require extra that needs to be maintained. This is likely to require extra
processing as well as providing a "well recognized" traffic shape processing as well as providing a "well recognized" traffic shape
which could end up being counterproductive. As such, this document which could end up being counterproductive. As such, this document
skipping to change at page 8, line 39 skipping to change at page 8, line 39
disclosed on the specific device. In addition, some application use disclosed on the specific device. In addition, some application use
- such as health applications - may also reveal important privacy - such as health applications - may also reveal important privacy
oriented information. oriented information.
Some constrained nodes that have limited battery lifetime may also Some constrained nodes that have limited battery lifetime may also
prefer avoiding sending extra padding bytes. However, the same nodes prefer avoiding sending extra padding bytes. However, the same nodes
may also be very specific to an application and device. As a result, may also be very specific to an application and device. As a result,
they are also likely to be the main target for traffic shaping. In they are also likely to be the main target for traffic shaping. In
most cases, the payload carried by these nodes is quite small, and most cases, the payload carried by these nodes is quite small, and
the standard padding mechanism may also be used as an alternative to the standard padding mechanism may also be used as an alternative to
TFC, with a sufficient tradeoff between the require energy to send TFC, with a sufficient tradeoff between the required energy to send
additional payload and the exposure to traffic shaping attacks. In additional payload and the exposure to traffic shaping attacks. In
addition, the information leaked by the traffic shaping may also be addition, the information leaked by the traffic shaping may also be
addressed by the application level. For example, it is preferred to addressed by the application level. For example, it is preferred to
have a sensor sending some information at regular time interval, have a sensor sending some information at regular time interval,
rather than when a specific event is happening. Typically, a sensor rather than when a specific event is happening. Typically, a sensor
monitoring the temperature, or a door is expected to send regularly monitoring the temperature, or a door is expected to send regularly
the information - i.e. the temperature of the room or whether the the information - i.e. the temperature of the room or whether the
door is closed or open) instead of only sending the information when door is closed or open) instead of only sending the information when
the temperature has raised or when the door is being opened. the temperature has raised or when the door is being opened.
skipping to change at page 9, line 45 skipping to change at page 9, line 45
single transport protocol, in which case, the Next Header has a fixed single transport protocol, in which case, the Next Header has a fixed
value. value.
Specific processing indications have not been standardized yet Specific processing indications have not been standardized yet
[I-D.nikander-esp-beet-mode] and is expected to result from an [I-D.nikander-esp-beet-mode] and is expected to result from an
agreement between the peers. As a result, it should not be part of a agreement between the peers. As a result, it should not be part of a
minimal implementation of ESP. minimal implementation of ESP.
6. ICV 6. ICV
The ICV depends on the cryptographic suite used. Currently [RFC8221] The ICV depends on the cryptographic suite used. Currently,
only recommends cryptographic suites with an ICV which makes the ICV [RFC8221] only recommends cryptographic suites with an ICV which
a mandatory field. makes the ICV a mandatory field.
As detailed in [RFC8221] authentication or authenticated encryption As detailed in [RFC8221] authentication or authenticated encryption
are recommended and as such the ICV field must be present with a size are recommended and as such the ICV field must be present with a size
different from zero. It length is defined by the security different from zero. Its length is defined by the security
recommendations only. recommendations only.
7. Cryptographic Suites 7. Cryptographic Suites
The cryptographic suites implemented are an important component of The cryptographic suites implemented are an important component of
ESP. The recommended algorithms to use are expected to evolve over ESP. The recommended algorithms to use are expected to evolve over
time and implementers should follow the recommendations provided by time and implementers should follow the recommendations provided by
[RFC8221] and updates. [RFC8221] and updates.
This section lists some of the criteria that may be considered. The This section lists some of the criteria that may be considered. The
skipping to change at page 10, line 32 skipping to change at page 10, line 32
outdated ciphers). ESP can be used to authenticate only or to outdated ciphers). ESP can be used to authenticate only or to
encrypt the communication. In the latter case, authenticated encrypt the communication. In the latter case, authenticated
encryption must always be considered [RFC8221]. encryption must always be considered [RFC8221].
2. Resilience to nonce re-use: Some transforms -including AES-GCM - 2. Resilience to nonce re-use: Some transforms -including AES-GCM -
are very sensitive to nonce collision with a given key. While are very sensitive to nonce collision with a given key. While
the generation of the nonce may prevent such collision during a the generation of the nonce may prevent such collision during a
session, the mechanisms are unlikely to provide such protection session, the mechanisms are unlikely to provide such protection
across reboot. This causes an issue for devices that are across reboot. This causes an issue for devices that are
configured with a key. When the key is likely to be re-used configured with a key. When the key is likely to be re-used
across reboots, this document recommends to consider algorithms across reboots, this document recommends considering algorithms
that are nonce misuse resistant such as, for example, AES-SIV that are nonce misuse resistant such as, for example, AES-SIV
[RFC5297], AES-GCM-SIV [RFC8452] or Deoxys-II [DeoxysII]. Note [RFC5297], AES-GCM-SIV [RFC8452] or Deoxys-II [DeoxysII]. Note
however that currently none of them has yet been defined for ESP. however that currently none of them has yet been defined for ESP.
3. Interoperability: Interoperability considers the encryption 3. Interoperability: Interoperability considers the encryption
algorithm transforms shared with the other nodes. Note that it algorithm transforms shared with the other nodes. Note that it
is not because an encryption algorithm transform is widely is not because an encryption algorithm transform is widely
deployed that it is secured. As a result, security should not be deployed that it is secured. As a result, security should not be
weakened for interoperability. [RFC8221] and successors consider weakened for interoperability. [RFC8221] and successors consider
the life cycle of encryption algorithm transforms sufficiently the life cycle of encryption algorithm transforms sufficiently
skipping to change at page 12, line 10 skipping to change at page 12, line 10
management protocols such as for example IKEv2 [RFC7296] or minimal management protocols such as for example IKEv2 [RFC7296] or minimal
IKEv2 [RFC7815]. Such mechanisms are responsible for negotiating IKEv2 [RFC7815]. Such mechanisms are responsible for negotiating
fresh session keys as well as prevent a session key being use beyond fresh session keys as well as prevent a session key being use beyond
its lifetime. When such mechanisms cannot be implemented and the its lifetime. When such mechanisms cannot be implemented and the
session key is, for example, provisioned, the nodes must ensure that session key is, for example, provisioned, the nodes must ensure that
keys are not used beyond their lifetime and that the appropriate use keys are not used beyond their lifetime and that the appropriate use
of the key remains across reboots - e.g. conditions on counters and of the key remains across reboots - e.g. conditions on counters and
nonces remains valid. nonces remains valid.
When a node generates its key or when random value such as nonces are When a node generates its key or when random value such as nonces are
generated, the random generation must follow [RFC4086]. In addition generated, the random generation must follow [RFC4086]. In addition,
[SP-800-90A-Rev-1] provides appropriated guidance to build random [SP-800-90A-Rev-1] provides appropriated guidance to build random
generators based on deterministic random functions. generators based on deterministic random functions.
10. Acknowledgment 10. Acknowledgment
The authors would like to thank Daniel Palomares, Scott Fluhrer, Tero The authors would like to thank Daniel Palomares, Scott Fluhrer, Tero
Kivinen, Valery Smyslov, Yoav Nir, Michael Richardson, Thomas Peyrin, Kivinen, Valery Smyslov, Yoav Nir, Michael Richardson, Thomas Peyrin,
Eric Thormarker, Nancy Cam-Winget and Bob Briscoe for their valuable Eric Thormarker, Nancy Cam-Winget and Bob Briscoe for their valuable
comments. In particular Scott Fluhrer suggested to include the rekey comments. In particular Scott Fluhrer suggested including the rekey
index in the SPI. Tero Kivinen provided also multiple clarifications index in the SPI. Tero Kivinen provided also multiple clarifications
and examples of deployment ESP within constrained devices with their and examples of deployment ESP within constrained devices with their
associated optimizations. Thomas Peyrin Eric Thormarker and Scott associated optimizations. Thomas Peyrin Eric Thormarker and Scott
Fluhrer suggested and clarified the use of transform resilient to Fluhrer suggested and clarified the use of transform resilient to
nonce misuse. nonce misuse.
11. References 11. References
11.1. Normative References 11.1. Normative References
 End of changes. 23 change blocks. 
40 lines changed or deleted 40 lines changed or added

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