Hi Miika, all, thanks for reviewing the draft!
In this email I address the first part of your comments. I will send another email concerning the remaining comments by the end of the month latest. On Mon, Mar 28, 2016 at 10:05 PM, Miika Komu <[email protected]> wrote: > Hi, > > > 1.1. The HIP Diet EXchange (DEX) > > > Data packets start to flow after the 4th packet. The 3rd and 4th HIP > > packets may carry data payload in the future. However, the details > > of this may be defined later. > > Similarly as in RFC7401, data packets start to flow... > > (I guess you could also mention RFC6078 as another further work item) > Changed. I didn't include RFC6078 as it appears to rely on signatures. > > > An existing HIP association can be updated with the update mechanism > > defined in [RFC7401]. Likewise, the association can be torn down > > with the defined closing mechanism for HIPv2 if it is no longer > > needed. HIP DEX thereby omits the HIP_SIGNATURE parameters of the > > original HIPv2 specification. > > Why "thereby"? I don't see the connection. > Changed to "in doing so" > > > HIP DEX does not have the option to encrypt the Host Identity of the > > Initiator in the 3rd packet. The Responder's Host Identity also is > > not protected. Thus, contrary to HIPv2, there is no attempt at > > anonymity. > > The anonymous bit still exists, so I suggest changing the wording: > > there is no attempt at anonymity -> such Responder anonymity is not > preserved in HIP DEX. > > The statement refers to both Initiator and Responder. I changed the sentence as follows: "Thus, contrary to HIPv2, HIP DEX does not provide for end-point anonymity and any signaling that indicates such anonymity should be ignored." > > 2.1. Requirements Terminology > > In section 6.3, you are introduce also -> notation, which was > not explained. > I didn't think an explanation of this formal notation was necessary as it is also not further described, e.g., in RFC5869. What would you like me to write here? > > > 2.3. Definitions > > I suggest to add also the definitions of both MAC and CMAC because they > are used throughout the document. They are also used in this section. > > Thanks! We never really said what we meant by CMAC. I now added the following definition: " CMAC: The Cipher-based Message Authentication Code with the 128-bit Advanced Encryption Standard (AES) defined in RFC 4493 [RFC4493]." I addressed the comment about the MAC by noting the abbreviation on first use: "Still, note that CMAC is a message authentication code (MAC) ..." > > 3.1. Host Identity Tag (HIT) > > Just thinking aloud... should a DEX HIT have a different context ID? > Probably not. > We decided against this as HIP DEX is a variant of HIPv2 and as such should live in the same context. > > > 4.1. Creating a HIP Association > > > The HIP Diet EXchange serves to manage the establishment of state > > between an Initiator and a Responder. The first packet, I1, > > initiates the exchange, and the last three packets, R1, I2, and R2, > > constitute an authenticated Diffie-Hellman [DH76] key exchange for > > the Master Key SA generation. This Master Key SA is used by the > > Initiator and the Responder to wrap secret keying material in the I2 > > and R2 packets. Based on the exchanged keying material, the peers > > then derive a Pair-wise Key SA if cryptographic keys are needed, > > e.g., for ESP-based protection of user data. > > (Suggest replacing "user data" with e.g. "data plane" in the entire > document since you're talking about machines (sensors) that may not > have a user) > If you don't object, I would prefer to keep it the way it is right now in order stay in line with HIPv2. > > > In the I2 packet, the Initiator MUST display the solution to the > > received puzzle. Without a correct solution, the I2 packet is > > discarded. The I2 also contains a key wrap parameter that carries a > > secret keying material of the Initiator. This keying material is > > only half the final session key. The packet is authenticated by the > > sender (Initiator) via a MAC. > > ...half *of* the... > Fixed. > > > The R2 packet acknowledges the receipt of the I2 packet and completes > > the handshake. The R2 contains a key wrap parameter that carries the > > rest of the keying material of the Responder. The packet is > > authenticated by the sender (Responder) via a MAC. > > key wrap parameter -> parameter with encrypted contents > "Parameter with encrypted contents" is more generic than what key wrap parameter (encrypted parameter with secret keying material) indicates. I kept it as is. > > > 4.1.1. HIP Puzzle Mechanism > > > > The puzzle mechanism enables a Responder to immediately reject an I2 > > packet if it does not contain a valid puzzle solution. To verify the > > puzzle solution, the Responder only has to compute a single CMAC > > operation. After a successful puzzle verification, the Responder can > > securely create session-specific state and perform CPU-intensive > > operations such as a Diffie-Hellman key generation. By varying the > > difficulty of the puzzle, the Responder can frustrate CPU or memory > > targeted DoS attacks. > > ...can frustrate *an Initiator*... > I did not change the text as it is a straight copy/paste from RFC7401. Moreover, "Initiator" would indicate to me that the adversary must be a protocol-compliant entity. So, I would prefer keep this more general statement here. > > > Conceptually, the puzzle mechanism in HIP DEX is the same as in > > HIPv2. Hence, this document refers to Sections 4.1.1 and 4.1.2 in > > [RFC7401] for more detailed information about the employed mechanism. > > Notably, the only difference between the puzzle mechanism in HIP DEX > > and HIPv2 is that HIP DEX uses CMAC instead of a hash function for > > solving and verifying a puzzle. The implications of this change on > > the puzzle implementation are discussed in Section 6.1. > > The other difference is mentioned in section 6.1: > > "The only exceptions are that HIP DEX does not use pre-computation of > R1 packets and that RHASH is set to CMAC. As a result, the pre- > computation step in in Section 6.3 of [RFC7401] is skipped in HIP DEX." > True. I added the pre-computation bit here as well. > > > 4.1.2.1. HIP DEX Retransmission Mechanism > > > The potentially high processing time of an I2 packet at a (resource- > > constrained) Responder may cause premature retransmissions if the > > time required for I2 transmission and processing exceeds the RTT- > > based retransmission timeout. Thus, the Initiator should also take > > the processing time of the I2 packet at the Responder into account > > for retransmission purposes. To this end, the Responder MAY notify > > the Initiator about the anticipated delay once the puzzle solution > > was successfully verified and if the remaining I2 packet processing > > incurs a high processing delay. The Responder MAY therefore send a > > NOTIFY packet (see Section 5.3.6. in [RFC7401]) to the Initiator > > before the Responder commences the ECDH operation. The NOTIFY packet > > serves as an acknowledgement for the I2 packet and consists of a > > NOTIFICATION parameter with Notify Message Type I2_ACKNOWLEDGEMENT > > (see Section 5.2.19. in [RFC7401]). The NOTIFICATION parameter > > contains the anticipated remaining processing time for the I2 packet > > in milliseconds as two-octet Notification Data. This processing time > > can, e.g., be estimated by measuring the computation time of the ECDH > > key derivation operation at Responder boot-up. After the I2 > > processing has finished, the Responder sends the regular R2 packet. > > ( boot-up -> start-up procedures (it doesn't have to be a boot) ) > Changed. > > > 4.1.2.3. Simplified HIP State Diagram > > > The following diagram shows the major state transitions. Transitions > > based on received packets implicitly assume that the packets are > > successfully authenticated or processed. > > Is the new NOTIFY illustrated also in the figure? > Fixed.
_______________________________________________ Hipsec mailing list [email protected] https://www.ietf.org/mailman/listinfo/hipsec
