Re: [Mipshop] comments on drafts using CGA
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Mipshop] comments on drafts using CGA
Zhen,
A few years ago, some of us published some drafts on how to use ID crypto
for address security. Basically it came down to using the address as the
public key. The problem is the need for provisioning of the private key by
the KDC. The two problems with this were 1) the KDC knows the private key
and therefore could compromise it and 2) the KDC and the client need to
support some other kind of cryptosystem to provide confidentiality during
the key distribution. The first problem can be limited using a couple of
techniques, like HIDE (Hierarchical Identity-based Encryption) but the
second one seems insoluble. Given that RSA is a logical choice for the
cryptosystem between the KDC and the client, why not simply use CGA in the
first place? From a system perspective, ID crypto is like Kerberos, and it
suffers from the same limitations when used for deployment scenerios that
are open-ended, i.e. not limited to particular organizations or other
groups. Possibly you have some new insights into solving these problems, I
have not read your draft so I cannot say.
Regarding your other criticisms of the drafts that use CGAs, I haven't
looked at the drafts with this perspective in mind, but if they are not
abiding by the guidelines in RFC 3872, then they probably need some work.
Also, there is IPR on CGAs, and the IPR holders only released it for SEND,
so that issue would need to be addressed before the other drafts could
become standards.
I'll send you the drafts under separate email.
jak
----- Original Message -----
From: "CAO, ZHEN" <caozhenpku at gmail.com>
To: <mipshop at ietf.org>
Sent: Saturday, October 21, 2006 11:52 PM
Subject: [Mipshop] comments on drafts using CGA
Hi everybody,
CGA was proposed in RFC3972, and it was originally used in SEND related
protocols. Recently it has witnessed the proliferation of taking
advantages
of CGA in many protocols such as [draft-ietf-mipshop-cga-cba-00.txt] and [
draft-haddad-mipshop-hmipv6-security-06.txt]. But unfortunately, CGA was
originally designed for SEND related protocols, which means we should give
more considerations than the original CGA if we apply it in other
protocols.
Actually it has already been suggested in section 7.4 of RFC3972:
<snip>
Finally, a strong cautionary note has to be made about using CGA
signatures for purposes other than SEND. First, the other protocols
MUST include a type tag and the sender address in all signed messages
in the same way that SEND does. Each protocol MUST define its own
type tag values as explained in Section 8. Moreover, because of the
possibility of related-protocol attacks, the public key MUST be used
only for signing, and it MUST NOT be used for encryption. Second,
the minimum RSA key length of 384 bits may be too short for many
applications and the impact of key compromise on the particular
protocol must be evaluated. Third, CGA-based authorization is
particularly suitable for securing neighbor discovery [RFC2461] and
duplicate address detection [RFC2462] because these are network-layer
signaling protocols for which IPv6 addresses are natural endpoint
identifiers. In any protocol that uses other identifiers, such as
DNS names, CGA signatures alone are not a sufficient security
mechanism. There must also be a secure way of mapping the other
identifiers to IPv6 addresses. If the goal is not to verify claims
about IPv6 addresses, CGA signatures are probably not the right
solution.
<snip>
I do not think all the drafts meet the requirements above well. [
draft-haddad-mipshop-hmipv6-security-06.txt] does not include a type tag
and
makes use of the public key to distribute a shared key between MN and MAP;
[
draft-ietf-mipshop-cga-cba-00.txt] does not give any consideration on the
justification of using this short RSA key. As a result, I suggest that the
draft using CGA for authentication or authorization add a subsection in
the
Security Consideration section to address the problems mentioned above.
What's more, by signing a message with the private key, the address owner
can assert (a) that somebody owns this address and (b) that the message
was
sent by the address owner. But it cannot assert whether the address owner
is
a trusted entity. An attack can auto-configure a RSA public-private key
pair
and then configure a CGA ipv6 address, cheating the receiver to trust him.
If the keys are generated and distributed by a trusted entity in the
network, this problem can be avoided. Identity-based Cryptosystem (IBC)
does
the very thing for private/public keys generation binding with an IBC-ID,
and it does not introduce a long chain of certificates as PKI does. The
CGA
address is computed with the public key of IBC system, so by signing a
message with private key, the address owner can assert three points:
(a)that
somebody owns this address and (b) that the message was sent by the
address
owner, and (c) the address owner is a trusted entity. This is what we have
suggested in [draft-cao-mipshop-ibc-cga-00.txt] and it sounds better than
what the CGA has guaranteed.
Thanks,
Zhen
--------------------------------------------------------------------------------
_______________________________________________
Mipshop mailing list
Mipshop at ietf.org
https://www1.ietf.org/mailman/listinfo/mipshop
_______________________________________________
Mipshop mailing list
Mipshop at ietf.org
https://www1.ietf.org/mailman/listinfo/mipshop
Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.