Valery Smyslov writes:
> Section 4 lists conformance requirements for IKEv2 implementations.
> 
> First, the following text:
> 
>    Every implementation MUST be capable of doing four-message
>    IKE_SA_INIT and IKE_AUTH exchanges establishing two SAs (one for IKE,
>    one for ESP or AH).  
> 
> is formally incorrect, because IKE_AUTH results in two child SAs -
> one in each direction. Moreover, AH support is purely optional, so
> why is it here? I suggest to rephrase:
> 
>    Every implementation MUST be capable of doing four-message
>    IKE_SA_INIT and IKE_AUTH exchanges establishing one SA for IKE,
>    and a pair SAs for ESP.  

This change looks good to me.

> Then, paragraphs:
> 
>    A minimal IPv4 responder implementation will ignore the contents of
>    the CP payload except to determine that it includes an
>    INTERNAL_IP4_ADDRESS attribute and will respond with the address and
>    other related attributes regardless of whether the initiator
>    requested them.
> 
>    A minimal IPv4 initiator will generate a CP payload containing only
>    an INTERNAL_IP4_ADDRESS attribute and will parse the response
>    ignoring attributes it does not know how to use.
> 
> seem just to repeat what is said in previous paragraph. I suggest to
> remove them.

Yes, they just repeat what could be also seen from the generic text,
but they do agree on the same thing and I think they clarify (at least
a bit) what are the minimal requirements. 

> And last (but not least). THe following requrements:
> 
>    For an implementation to be called conforming to this specification,
>    it MUST be possible to configure it to accept the following:
> 
>    o  PKIX Certificates containing and signed by RSA keys of size 1024
>       or 2048 bits, where the ID passed is any of ID_KEY_ID, ID_FQDN,
>       ID_RFC822_ADDR, or ID_DER_ASN1_DN.
> 
>    o  Shared key authentication where the ID passed is any of ID_KEY_ID,
>       ID_FQDN, or ID_RFC822_ADDR.
> 
>    o  Authentication where the responder is authenticated using PKIX
>       Certificates and the initiator is authenticated using shared key
>       authentication.
> 
> suggest that every implementation MUST support both RSA PKIX certificates
> and preshared key. Isn't it too strong requirement?
> 
> 1. Why to pay so much attention to "minimal IKEv2 implementation"
>     lacking some not-so-difficult-to-implement functions, if we still
>     require it to have full PKIX support? I see no logic here.
>     PKIX support requires quite a lot of code and resources, so making 
>     "IPsec garage opener" becomes problematic.
> 
> 2. Some implementations may have pluggable crypto modules (or use
>     external tokens for authentication), so it may not have RSA at
>     all, while having all public key authentication support for
>     other algorithms. Or implementation may elect not to support
>     1024 bits RSA keys as not so strong. Do such implementations
>     become non-conformant?
> 
> 
> Is it possible to lower those requirements from MUST to SHOULD?

We need at least one "MUST to implement" authentication methods, so we
know two complient implementations can talk to each other. Selecting
Shared key authentication would put the limit too low. On the other
hand I agree that full PKIX Certificates support puts the rquirement
bit too high.

On the other hand, does it really matter that your garage door opener
is conformant to the RFC4306 / IKEv2bis. Shouldn't it be enough to say
that your garage door opener is implementing enough IKEv2bis that it
can talk to the conformant IKEv2bis server implementation?

If we want to set one mandatory to implement authentication method I
think the some type of RSA keys is the logical choice. This would not
care whether the RSA keys are in form of RAW RSA keys or whether they
are in form of PKIX Certificate. You can always take the PKIX
Certificate having RSA key and extract the RSA key from there and
configure it to the system which only supports RAW RSA keys. Also you
can take RAW RSA key and make self-signed certificate it using
generally available tools, and if you configure that self-signed
certificate as trusted in your system with suitable ID data, then
other end can use the raw rsa keys and you can use certificates.

Anyways the certificates is mandatory to implement feature of RFC4306,
and I think it should stay there, even when it makes some of those
very minimal garage door openers not following the full spec as they
might use raw rsa keys or even shared keys instead of certificates.

For example section 3.6 also says:

   Implementations MUST be capable of being configured to send and
   accept up to four X.509 certificates in support of authentication,
   and also MUST be capable of being configured to send and accept the
   two Hash and URL formats (with HTTP URLs).  
-- 
kivi...@iki.fi
_______________________________________________
IPsec mailing list
IPsec@ietf.org
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to