Re: A review of draft-ietf-hip-dex-02.txt

René Hummen <[email protected]>
Newsgroups gmane.ietf.hipsec,gmane.ietf.hip
Message-ID <CAEhFMchqnp4njqabjo3KOo=Zsmb4dtw7RBTsFgbtdP06wfKRxw@mail.gmail.com>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.