[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Proposed changes to the DES-CBC, HMAC and Replay Prevetion Security Transform.
The following are changes I'd like to make to the above document. I've
posted comments about the changes to the list and didn't get a lot of
comments.
I've made the following changes:
1) added a new transform specified by a different IANA number for
packets including an IV.
2) made the replay window size NON-negotiated. It is left to the
implementation.
I did not change the padding to the start of the packet because of the
hardware assist thoughts.
Comments please..
-Rob
The text follows:
|2. Packet Format
|
| DES-CBC/HMAC/Replay has two supported transforms, each with its own
| packet format. The first packet format for IPSEC_ESP_DESCBCHR is as
| follows:
|
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+---
| | Security Parameters Index (SPI) | ^
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | Replay Prevention Field (count) | | ^
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | | | |
| ~ Payload Data ~ | |
| | |HMAC |
| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DES
| | | Padding (0-255 bytes) | | CBC
| +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | | Pad Length | Payload Type | v |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--- |
| | | |
| ~ HMAC digest ~ |
| | | v
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---
|
| The initialization vector for this transform is discussed in section
| 2.2.
|
| The other transform, IPSEC_ESP_DESCBCHR_IV, includes the initialization
| vector in the packet. This transform is useful for implementations
| using hardware assisted encryption which generates its own IV.
|
Hughes September 14, 1996 [Page 3]
INTERNET DRAFT September 1996
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+---
| | Security Parameters Index (SPI) | ^
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | | |
| + Initialization Vector + |
| | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ---
| | Replay Prevention Field (count) | | ^
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | | | |
| ~ Payload Data ~ | |
| | |HMAC |
| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DES
| | | Padding (0-255 bytes) | | CBC
| +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | | Pad Length | Payload Type | v |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--- |
| | | |
| ~ HMAC digest ~ |
| | | v
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---
|
2.2. Initialization Vector
The use of an explicit Initialization Vector MAY be negotiated. The
| purpose of this transform is to support devices that automatically gen-
| erate IVs and can not operate using a constant IV_key_.
| used in place of the constant IV_key_ described later in this docu-
ment.
2.3. Replay Prevention
| Replay window size is an implementation detail.
Appendix A has actual code that implement a 32 packet replay window
and a test routine. The purpose of this routine is to show how it
could be implemented.