Hi,

 

o Valery Smyslov gave a suggestion that we instead stir in the PPK
into the initial SK_d; as all keying material is generated based on
that, this would also mean that IPsec SAs and any child IKE SAs are
also protected. This also means that an implementation would not need
to remember the PPK after the initial negotiation. The only downside I
can see is that we would have to be a bit careful about when we update
the SK_d (obviously, before we actually use it).


If we can make this work, it seems like the best, as it means we can forget
more things sooner.

 

I’m guessing this would be something along these lines:

 

OLD:

   {SK_d | SK_ai | SK_ar | SK_ei | SK_er | SK_pi | SK_pr }
                   = prf+ (SKEYSEED, Ni | Nr | SPIi | SPIr )

 

NEW:

   {SK_proto_d | SK_ai | SK_ar | SK_ei | SK_er | SK_pi | SK_pr }
                   = prf+ (SKEYSEED, Ni | Nr | SPIi | SPIr )n


   SK_d = prf(PPK, SK_proto_d}
 
 
I also thought of something like this.
 

 

So assuming this works and is secure, it seems like an easy change.

 

 

Yes, and the simplicity was the main reason I suggested this variant.

It allows to have the only place in the code where you have to change

key derivation logic and to deal with PPK. Obviously, I vote for it.





o Would this idea of pseudonyms actually give any real identity
protection? Wouldn’t that assume that several initiators use the same
PPK (so they could use the same pseudonym)? Is that the sort of thing
we should be encouraging?


I need to think about this.

It only matters to "road warriors", i.e. remote access situations where the
end user can move around.  This includes many more site to site VPNs these
days due to CGN and just poor network architecture, such as the Cloud
operators' baked in NAT44.

I'm concerned that we would wind up with a new Group PSK like we had with IKEv1.

 

Pseudonyms are not too difficult on the protocol level, but managing them makes 
products and configuration very difficult. So you’re giving groups of people 
the same pseudonym and the same PPK? How do you group people together? With 
non-careful grouping of users you can make it worse than exposing real names 
(not “ynir”, but “RND_ACCESS_GROUP”, which is more useful to an attacker). And 
that is the kind of exposure that we can’t fix in protocol - we’re trusting 
administrators to balance convenience, privacy and corporate information 
security. I think they’ll all choose a single PPK and single pseudonym for 
everybody.





o Would we be happy with always negotiating a child SA (as none of the
three proposals for stirring in the PPK attempt to protect the initial
IKE SA)?


I wonder if this might be simpler and more reliable to just always do it, and
specify it up front.

 

Simple, yes. Reliable, yes. Necessary? IDK

 

 

I fail to understand how mandating to always negotiate Child SA helps protect 
anonymity.

The only place where IKEv2 peers exchange identities is currently IKE_AUTH 
exchange.

The current draft suggests that in case of PPK the peers should immediately 
initiate 

CREATE_CHILD_SA exchange and rekey the IKE SA using PPK. But CREATE_CHILD_SA

doesn’t allow to exchange identities. So, if pseudonyms were used in IKE_AUTH,

how are you going to exchange real identities? Even if we modify CREATE_CHILD_SA

to optionally include IDi & IDr, this won’t be enough, because the first 
CREATE_CHILD_SA

(right after IKE_AUTH is finished) will have no protection against QC (since 
PPK is not

used in original IKE SA and the first CREATE_CHILD_SA will be protected using

keys created during initial exchange). So, to protect identities from QC the 
peers

need to initiate the second CREATE_CHILD_SA (or INFORMATIONAL) exchange. 

And the peers must also somehow prove their real identities, so AUTH payloads 

must also be included, and we end up with something like full IKE_AUTH 
exchange...

 

Isn’t it too complex? 

 

If protecting identities is so much a concern, then we’d probably rather

go back to original draft, where PPK was used in initial exchanges

and the identities were protected by it.

 

So, I think that the problem of protecting anonymity cannot be easily solved

now without substantial complicating of the protocol (unless I misunderstood 
something

very obvious). My vote is for follow-up draft (if it happen to appear at all) or

for going back to original QR proposal. 

 

Regards,

Valery.

 

 

Yoav

 

_______________________________________________
IPsec mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to