Subject: [quicwg/base-drafts] Packet Number Must Be Decrypted to Read Initial Token Field (#1492)

From: Nick Banks <[email-masked]>
Date: Wed, 27 Jun 2018 13:37:42 -0700

Because the Initial packet's token is after the rest of the long header, the packet number must be decrypted first to determine the starting offset of the Token Length field and then the Token field. This adds a requirement for DDoS Mitigation Devices, that would simple read the token field to validate address ownership before passing the packet along or sending a Retry packet of its own, to have crypto support. If the packet number followed the token, this would no longer be a requirement on the hardware.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1492

---

From: ianswett <[email-masked]>
Date: Wed, 27 Jun 2018 13:40:52 -0700

Does the Token need a packet number?  It already echos the DCID.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1492#issuecomment-400821852

---

From: Martin Thomson <[email-masked]>
Date: Wed, 27 Jun 2018 14:54:51 -0700

It seems like @ianswett has the answer.  It means that Retry will be specified like Version Negotiation, which is clumsy, but it's probably better that way.

I have to ask, were people assuming that Retry used packet protection?  I had not expected it to be, but I look and it seems like it does.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1492#issuecomment-400841528

---

From: Kazuho Oku <[email-masked]>
Date: Wed, 27 Jun 2018 15:07:47 -0700

@ianswett @martinthomson Isn't the issue about the format of the *Initial* packet, not about *Retry*?

I agree with @nibanks that the current format of the Initial packet that places token after packet number is incorrect, for two reasons:
* token is not a good source of randomness for PNE
* token should be accessible by middleboxes that do not want to deal with PNE

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1492#issuecomment-400844693

---

From: Kazuho Oku <[email-masked]>
Date: Wed, 27 Jun 2018 15:08:50 -0700

@martinthomson 
> I have to ask, were people assuming that Retry used packet protection? I had not expected it to be, but I look and it seems like it does.

My understanding is that the outcome of stream 0 DT was to have it _outside_ of packet protection.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1492#issuecomment-400844948

---

From: Nick Banks <[email-masked]>
Date: Wed, 27 Jun 2018 15:34:58 -0700

Yes, the issue here is the client **Initial** packet and we did agree to keep it **outside** of packet protection to reduce the complexity for DDoS mitigation.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1492#issuecomment-400851113

---

From: Martin Thomson <[email-masked]>
Date: Wed, 27 Jun 2018 17:13:04 -0700

Then let's put it before the Length field, outside encryption.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1492#issuecomment-400869648

---

From: ianswett <[email-masked]>
Date: Thu, 28 Jun 2018 06:36:14 -0700

Yes, the intent was for Retry not to use packet protection and to put the token outside of packet protection.

Given all the open issues with Retry, should we declare it out of scope for the Montreal interop?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/1492#issuecomment-401036991