[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.