Subject: Re: draft-ietf-ospf-ospfv3-auth-04.txt

From: Vishwas Manral <[email-masked]>
Date: Mon, 5 Jul 2004 21:33:19 -0700

Hi Mukesh,

>>1. I am not sure we should have a statement which says OSPFv3 
>>is only for IPv6. 
>>"As OSPFv2 is only for IPv4 and OSPFv3 is only for IPv6, 
>> the distinction between the packets can be easily made by 
>> IP version. "
>Do you have a replacement statement that you would prefer ?
>As the IP protocol type value for OSPF and OSPFv3 is same,
>we have to depend upon the IP version to separate OSPF and
>OSPFv3 packets.
There is a distinction between running over and "only for"(which 
I assumed you meant the contents). It seems you mean running over.

>>2. I think the value of next header field in the ESP header 
>>to indicate OSPFv3 should be specified, though it may seem 
>>a trivial question.
>Why do you think it should be specified?  Whenever ESP is
>applied to any IP packet, the IP Protocol Type field value
>from the IP header is copied to the next header field of
>ESP/AH.  There are no exceptions here.
The whole draft is full of informational statements like: -

   "AH in transport mode provides authentication to
   higher layer protocols, selected portions of IPv6 header, selected
   portions of extension headers and selected options.  ESP with NULL
   encryption in transport mode will provide authentication to only
   higher layer protocol data and not to the IPv6 header, extension
   headers and options."

I think putting what the value in the next header would be would be
helpful.

>>3. ESP already states that "integrity-only (MUST be supported)" 
>>do we really need to put down "ESP with NULL encryption MUST be 
>>supported in transport mode".
>An implementation may support ESP/AH that conform to ESP/AH RFCs,
>but the idea of putting this in this draft was to ensure that the
>user is allowed to use the specified combinations for securing
>the OSPF traffic.  So that 2 independent secured OSPF 
>implementations have at least one common combination to configure.
>Do you see any harm in putting this text in the draft ?
Not at all, but I am unable to see the point of 
"ESP with NULL encryption MUST be supported in transport mode". The 
point is we are saying a restriction on ESP MUST be there, where ESP 
already has said its a MUST in the protocol itself. I think we may 
also want to state other things then, like using ESN(if its supported), 
default authentication/encryption algorithm etc when using manual keying.

>>5. OSPF packets received in clear text or with incorrect AH 
>>Integrity Check Value (ICV) MUST be dropped when authentication is 
>>enabled. 
>> Do we mean only AH/ICV or do we need ESP ICV too? Besides do we 
>>need to state about combined mode algorithms like AES-CCM where 
>>ICV may not checked even when authentication is done.
>It should be AH/ESP ICV.  I will replace "AH" with "AH/ESP" in the 
>next version.
>The draft for AES-CCM says "it is inappropriate to use this CCM
>with statically configured keys".  We are using staticaly configured
>keys here.  So should we just NOT use AES-CCM ?
AES-CCM is an example of a combined mode algorithm, there are other
and can be further combined mode algorithms. We shouldn't put any 
restriction that is based on the algorithm we use.

From ESP "For combined mode algorithms, the ICV that would normally 
appear at the end of the ESP packet (when integrity is selected) may 
be omitted. "

>>6. SA Granularity and Selectors section - I think you are referring 
>>to parallel links we may want to state that too. 
>No I am not referring to parallel links (if you mean 2 links connecting
>the same routers).  It should be possible to use the same SA for multiple 
>interfaces belonging to even different areas.
May be text clarifying what you mean should be put. Also text to state 
whether in case of parallel links we need to have one SA or not can be 
clarified.

>>7. Changing Keys may also be required in case of sequence number rollover.
>How is the user going to know about the sequence number rollover ?
>so that he/she can initiate the key change.  That brings an interesting
>question.  If the user never changes the keys, what happens when the
>sequence number rollovers ?
There are a lot of ways to provide that, a simple way could be to poll at some
interval, and when we are near rollover we change the keys.

From ESP 
"Thus, the sender's counter and the receiver's counter MUST
 be reset (by establishing a new SA and thus a new key) prior to the
 transmission of the 2^32nd packet on an SA."

This is in case of normal SN, when we use ESN that will change, I think.

>That's a good idea but the problem is that if we put the new drafts 
>as normative references, this draft will not be published before those 
>drafts.  Do we want to block the draft waiting for those drafts ?

I think that is the authors wish.

>We will be working on addressing all the comments now and will publish
>an updated version of the draft probably after the IETF 60th.
That would be great.

Thanks,
Vishwas

-----Original Message-----
From: Mailing List [mailto:[email-masked]]On Behalf Of
[email-masked]
Sent: Tuesday, July 06, 2004 12:49 AM
To: [email-masked]
Subject: Re: draft-ietf-ospf-ospfv3-auth-04.txt

Hi Vishwas,

Thanks for the comments.  Please see my comments inline..

> 1. I am not sure we should have a statement which says OSPFv3 
> is only for IPv6. 
> "As OSPFv2 is only for IPv4 and OSPFv3 is only for IPv6, 
> the distinction between the packets can be easily made by 
> IP version. "

Do you have a replacement statement that you would prefer ?
As the IP protocol type value for OSPF and OSPFv3 is same,
we have to depend upon the IP version to separate OSPF and
OSPFv3 packets.

> 2. I think the value of next header field in the ESP header 
> to indicate OSPFv3 should be specified, though it may seem 
> a trivial question.

Why do you think it should be specified?  Whenever ESP is
applied to any IP packet, the IP Protocol Type field value
from the IP header is copied to the next header field of
ESP/AH.  There are no exceptions here.

> 3. ESP already states that "integrity-only (MUST be supported)" 
> do we really need to put down "ESP with NULL encryption MUST be 
> supported in transport mode".

An implementation may support ESP/AH that conform to ESP/AH RFCs,
but the idea of putting this in this draft was to ensure that the
user is allowed to use the specified combinations for securing
the OSPF traffic.  So that 2 independent secured OSPF 
implementations have at least one common combination to configure.

Do you see any harm in putting this text in the draft ?

> 4. I think we may want to state that Authentication service must 
> always be supported whenever we do encryption. Our primary aim is 
> to have data integrity right(anyway encryption only service is a 
> MAY for ESP)?

Doesn't the sentence "Providing confidentiality to OSPFv3 in addition 
to authentication is optional." imply that ?  Or would it better to
replace 

"ESP with non-null encryption in transport mode MUST be used 
for providing the confidentiality to OSPFv3." 

with 

"ESP with non-null encryption and non-null authentication in transport 
mode MUST be used for providing the confidentiality to OSPFv3."

> 5. OSPF packets received in clear text or with incorrect AH 
> Integrity Check Value (ICV) MUST be dropped when authentication is 
> enabled. 
> Do we mean only AH/ICV or do we need ESP ICV too? Besides do we 
> need to state about combined mode algorithms like AES-CCM where 
> ICV may not checked even when authentication is done.

It should be AH/ESP ICV.  I will replace "AH" with "AH/ESP" in the 
next version.

The draft for AES-CCM says "it is inappropriate to use this CCM
with statically configured keys".  We are using staticaly configured
keys here.  So should we just NOT use AES-CCM ?

> 6. SA Granularity and Selectors section - I think you are referring 
> to parallel links we may want to state that too. 

No I am not referring to parallel links (if you mean 2 links connecting
the same routers).  It should be possible to use the same SA for multiple 
interfaces belonging to even different areas.

> 7. Changing Keys may also be required in case of sequence number rollover.

How is the user going to know about the sequence number rollover ?
so that he/she can initiate the key change.  That brings an interesting
question.  If the user never changes the keys, what happens when the
sequence number rollovers ?

> 8. Would we want to refer to the newer drafts for ESP/AH drafts rather 
> then the old RFC's itself? 

That's a good idea but the problem is that if we put the new drafts 
as normative references, this draft will not be published before those 
drafts.  Do we want to block the draft waiting for those drafts ?

The draft was reviewed by the IESG on June 26th and the comments can 
be seen at https://datatracker.ietf.org/public/pidtracker.cgi?command=view_id&dTag=9745&rfc_flag=0
We will be working on addressing all the comments now and will publish
an updated version of the draft probably after the IETF 60th.

regards
Mukesh