Xref subject next Hi, Paul, I think we can actually agree here. As you point out, there are (at least) three goals for supporting compression + privacy + authenticity: 1 - limit the number of "Security Transforms" 2 - ensure that combinations of security services are provided correctly 3 - limit the overhead required to provide a set of security services. Let me expand on 3: 3a - limit the added computational complexity 3b - limit the added communication complexity (= total # of bits) My earlier note claimed that (3a) is NOT better achieved by supporting "composite" transforms. (As a timely example, the suggestion just posted by Russ Housley is not correct.) But you are right to suggest that I didn't think much about (3b). Thus I wrongly concluded that it is just as well to wrap your packets with independent carriers for privacy, authenticity, and compression. You observe, correctly, that this would result in extra bytes of header -- overhead which we can avoid by having a single carrier with implicit instructions about what transforms to apply in what order. I find your approach perfectly acceptable (in fact, better than mine). Of course I'd say that one must implement this suggestion in a way that provides orthogonality in the transforms the user wishes to select (but it sounds like that was exactly your intent). I would like to make a minor suggestion on nomenclature: that we reserve the word "transform" to apply only to the "lower-level" meaning -- a function for privacy or authenticity or compression divorced of details of packet formats, etc. A Protected Packet Header (or whatever phrase you like) would specify what sequence of transforms to apply to its payload. Let's use a word different from "transform", like "encapsulation mapping", for the function you get by applying, in order, the specified sequence of transforms. Under the above approach I see no reason why we would maintain two distinct concepts (or documents) for ESP and AH: the encapsulation mapping would be computed in one packet type. A final comment: near the end of your note you say that there are times that an encryption computation after an integrity/authenticity computation might be desirable. Though I haven't seen such example, I have no reason to believe that one can't exist. So I too favor an approach in which the underlying transforms can be applied in an arbitrary order. The "customary" order should be made clear, and there should be a comment on possible problems which could result from deviating from this customary order. Regards, Phil
>Can we have a well known port to send the ICMP Unreachable to regardless >of the key management used? Or will they all use different ports do you >think? In IP4 (don't know IPv6), ICMP Unreachables don't have "port" numbers. ICMP messages do include the IP header of the offending packet, plus 8 bytes of the transport header. This is sufficient in ESP for the original sender to identify the security association in question and to take appropriate action, such as possibly clearing the security association and creating a new one. The denial-of-service opportunities are apparent here, so this needs some more thought. Yet we need a way to clear out half-open security associations to recover from system crashes. Phil
Xref subject previous Xref subject next Hugo, >Author: hugo@watson.ibm.com@INTERNET >Date: 5/15/95 12:51 PM >In any case, to the main issue of key-less ICV's, the paper by Jueneman et >al. that I referenced in my previous note shows weaknesses of these schemes >in general. These attacks may appear as not the most realistic ones in the >world but when you get to multi-user scenarios as described by Steve Bellovin >they may become a real concern. I agree that they are not very realistic. > >A simple illustrative attack on appended key-less checksums (not described >in that paper) is that I can produce a >message M of the form M= M1|CS1|M2, where CS1 is the (keyless) checksum >of M1. When M is transmitted then a CS2 checksum is appended to the whole >message M and all of it encrypted. However, I can selectively choose to >cut the message after CS1 and still be authenticated (CS1 needs to fall >in the boundary of a CBC block). This attack is more useful against off-line >authenticated information like files, rather that IP packets (which >solve this attack by having the total length of the authenticated >information PREpended). Yes, these threats can be countered by including the length of the data! >Still these weaknesses show that these mechanisms >are not secure enough. (BTW, they are trivially breakable under >stream cipher modes of encryption.) Yes, key-less checksums under a stream cipher can be manipulated (not secure). No, one example of an attack does not imply that all use of key-less checksums is insecure. > >In some constrained situations one may think of using less secure mechanisms >to gain in performance. I doubt this is critical here. Performance is very important! >As for key management, the cost of deriving an *additional* key is negligible, >just an additional application of a pseudorandom function (based on DES, >MD5, etc). Computation time of cryptographic checksums is more significant >here since they usually take more time than a non-cryptographic checksum. Yes, but ... >In the current combination of DES and key-ed MD5 it is the time of DES >which largely dominates the performance penalty while the effect of MD5 is >secondary. Therefore, I see no justification to go to an insecure cehcksum. This is not correct for "high speed" implementations. When DES is implemented in hardware the software processing for the integrity processing has the greatest performance impact. This is a good reason to have a efficient integrity mechanism I am not proposing a particular new integrity mechanism at this time, but I do object to key-less ICV's being thrown out in total as a viable mechanism. > >Hugo Paul PS - I might be able to read mail again May 26.
Xref subject previous Ref: Your note of 18 May 95 15:11:00 -0500 >I am not proposing a particular new integrity mechanism at this time, but I do >object to key-less ICV's being thrown out in total as a viable mechanism. This is fine with me under the following interpretation: Whoever wants to register a key-less ICV to have it as an option, welcome. Whoever wants to propose such a mechanism as *default* transformation will need to provide evidence for the acceptable security of that mechanism. Hugo
Xref: Re: meeting in Stockholm?? Masataka Ohta Xref subject next Hello everybody. What a wonderfully quiet list we have! However, wearing my Chair's hat, it's time to think about a meeting in Stockholm. I'm soliciting for comments on whether to meet in Stockholm. Here's our current status to help you decide. 1. Eastlake/Kaufman are almost done with the last revision of the current specification. 2. TIS is almost done with an alpha implementation of the specification. The implementation is alpha because we have'nt implemented everything in the spec, yet, but what we have done is complete. I expect both of these things to come to closure very soon now. When E/K are done with the specification, we'll post it as an internet-draft and immediately start a working group two week last call. After that, it will go to our area director for consideration to be published as a proposed standard. TIS will release our alpha software when the specification is released. This version of the software will be provided by request only. Future versions will be available via anonymous FTP. For now, it will only be available to a US or Canadian site. (Sorry, that's the law. We will resolve international distribution before we're done.) If you want the software, now would be a good time to let me know. Send a note to me at "galvin@tis.com". (REPLYING TO THIS MESSAGE WILL NOT WORK.) In the past, it was requested that the discussions that E/K and TIS be visible to the community. I will be posting the collected works to our anonymous FTP server, probably next week, for those who want to indulge. The problem I have is creating an agenda for a meeting in Stockholm. There might be some interesting operational issues to discuss. In addition, there are some issues related to dynamic update that are probably worth discussing. However, all of these things we could do on the mailing list and thus involve more people. So, I'm leaning towards not having a meeting but I'm interested in what other people think. Comments? Jim
Xref: Re: meeting in Stockholm?? James M Galvin Xref subject previous Xref subject next > Hello everybody. What a wonderfully quiet list we have! However, > wearing my Chair's hat, it's time to think about a meeting in Stockholm. > > I'm soliciting for comments on whether to meet in Stockholm. Here's our > current status to help you decide. > > 1. Eastlake/Kaufman are almost done with the last revision of the current > specification. In Danvers, I talked with Donald. To my surprize, he, then, could have understood several issues of why his protocol does NOT work, which is too complex DNS issue that people without real coding experience have the least chance to understand. Later, he send me a mail on the way on how to avoid some of the issues. But, unfortunately, he doesn't understand the issue well that it does not work. So, I'm quite sure that > 2. TIS is almost done with an alpha implementation of the specification. > The implementation is alpha because we have'nt implemented everything > in the spec, yet, but what we have done is complete. your implementation is broken. > TIS will release our alpha software when the specification is released. > This version of the software will be provided by request only. Future > versions will be available via anonymous FTP. For now, it will only be > available to a US or Canadian site. (Sorry, that's the law. We will > resolve international distribution before we're done.) Then, WG, including me, can't evaluate the code, which is equivalent to having no code. > The problem I have is creating an agenda for a meeting in Stockholm. > There might be some interesting operational issues to discuss. Sure. The E/K spec has several defects, which might have been revealed with some operational experience. > However, all of these things we could do on > the mailing list and thus involve more people. Distribute some working code. You are about a year late. > I expect both of these things to come to closure very soon now. When > E/K are done with the specification, we'll post it as an internet-draft > and immediately start a working group two week last call. After that, > it will go to our area director for consideration to be published as a > proposed standard. Wasn't that agreed in Tronto that the draft should be made as a proposed standard after working code appears, which was scheduled to be before San Jose? Masataka Ohta
Xref: Re: meeting in Stockholm?? Masataka Ohta Xref subject previous Xref subject next In Danvers, I talked with Donald. To my surprize, he, then, could have understood several issues of why his protocol does NOT work, which is too complex DNS issue that people without real coding experience have the least chance to understand. Please do describe what you believe is broken. It is important that we all understand and we resolve any problems. your implementation is broken. While there may be scenarios in which in doesn't work, owing to our not testing all possible operational environments, it does, in fact, work at this time. It is far from broken in all of the cases in which we have tested it. For a protocol as important as DNS, we agree with you that real, operational testing is essential. We're going to begin that process soon. > For now, it will only be > available to a US or Canadian site. Then, WG, including me, can't evaluate the code, which is equivalent to having no code. You are correct, the situation is a bit lop-sided at the moment. However, I don't believe it is as bad as having no code. There are a set of folks who will get to see the code and test it, in the short-term. You, too, will eventually have access. Unfortunately, this situation is not under our control so there is nothing I or you can do about it. > The problem I have is creating an agenda for a meeting in Stockholm. > There might be some interesting operational issues to discuss. Sure. The E/K spec has several defects, which might have been revealed with some operational experience. As I suggested above, please do describe your defects. In our experience, what we've implemented works fine. > However, all of these things we could do on > the mailing list and thus involve more people. Distribute some working code. You are about a year late. You're exaggerating Ohtason, since we've only been working on this for a year. In any case, we're distributing code now. > I expect both of these things to come to closure very soon > now. When E/K are done with the specification, we'll post it > as an internet-draft and immediately start a working group two > week last call. After that, it will go to our area director > for consideration to be published as a proposed standard. Wasn't that agreed in Tronto that the draft should be made as a proposed standard after working code appears, which was scheduled to be before San Jose? I don't remember it that way but I could be wrong. What I remember is simply stating, as a TIS person not the Chair, that we would have some code very soon. We had hoped to have a demo in San Jose but didn't have enough pieces implemented to justify it. As we got further along in the implementation some questions came up which we resolved with the authors of the specs. Had there not been any questions we would have had code some time ago, well in advance of the specification release. As Chair, I know there is no requirement for working code for a proposed standard. There is for a draft standard, however. In any case, the working group can aspire to a higher standard and insist on working code before the spec is published as a proposed standard. What do others think? Jim
Xref: Re: meeting in Stockholm?? James M Galvin Xref subject previous Xref subject next > In Danvers, I talked with Donald. To my surprize, he, then, could have > understood several issues of why his protocol does NOT work, which is > too complex DNS issue that people without real coding experience have > the least chance to understand. > > Please do describe what you believe is broken. I did several times. > It is important that we all understand and we resolve any problems. The problem is that you, Jim, can't understand. For example, at the last meeting, it was discussed why glue records can not be and does not have to be authenticated. People with some DNS experience could have understood the issue and the agreement was reached. But, judging from the meeting summary you wrote, you didn't understand it at all. And now, dynamic update draft is combined with secure DNS in wrong way related to glue record and can't work. Sue was able to understand the issue when I talked with her personally at Danvers. But I doubt she realized the seriousness of the defect (because dynamic update draft has other problems). > your implementation is broken. > > While there may be scenarios in which in doesn't work, owing to our not > testing all possible operational environments, it does, in fact, work at > this time. It's not a problem of operational environment but just a wrong specification. > For a protocol as important as DNS, we agree with you that real, > operational testing is essential. It is inessential to have real operational test on protocols which is known to be broken in advance. > Then, WG, including me, can't evaluate the code, which is equivalent > to having no code. > > You are correct, the situation is a bit lop-sided at the moment. > However, I don't believe it is as bad as having no code. Agreed. It is worse than having no code. > You, too, will eventually have access. Unfortunately, this > situation is not under our control so there is nothing I or you can do > about it. Fine. You can't say operational code is reviewd by WG. And, can't I do nothing? Don't you remember that I said, at the last meeting, my secure name server is running? It's export control free. > As I suggested above, please do describe your defects. In our > experience, what we've implemented works fine. Read WG log. Cryptographic part should work just fine but not more than that. > Distribute some working code. You are about a year late. > > You're exaggerating Ohtason, since we've only been working on this for a > year. Not, as I spent only a week or two about a year ago to make my mostly complete secure name server run. > In any case, we're distributing code now. You aren't. > As Chair, I know there is no requirement for working code for a proposed > standard. No. But it's an agreement of the WG and is also a personal opinion of Donald. Masataka Ohta
Xref: Re: meeting in Stockholm?? Masataka Ohta Xref subject previous Xref subject next And now, dynamic update draft is combined with secure DNS in wrong way related to glue record and can't work. Sue was able to understand the issue when I talked with her personally at Danvers. But I doubt she realized the seriousness of the defect (because dynamic update draft has other problems). The next version of the Secure DNS draft should say more about glue records, to clarify the issue of concern with respect to Secure DNS. We haven't looked carefully at the relationship to dynamic update, yet. > As I suggested above, please do describe your defects. In our > experience, what we've implemented works fine. Read WG log. Cryptographic part should work just fine but not more than that. I don't understand this comment. > As Chair, I know there is no requirement for working code for > a proposed standard. No. But it's an agreement of the WG and is also a personal opinion of Donald. As always, the working group may aspire to a higher standard. I don't remember the working group agreeing to working code before any publication but I've no problem being corrected if others in the working group agree with you. Also, I suspect you are misinterpreting Donald's preference. Although I won't attempt to speak for him or to his rationale, I do know that he's in agreement with me with respect to publishing the specification as soon as the revision is ready, in parallel with software release. Jim
Xref: Re: meeting in Stockholm?? Donald E. Eastlake 3rd Xref subject previous Xref subject next > And now, dynamic update draft is combined with secure DNS in > wrong way related to glue record and can't work. Sue was able to > understand the issue when I talked with her personally at > Danvers. But I doubt she realized the seriousness of the defect > (because dynamic update draft has other problems). > > The next version of the Secure DNS draft should say more about glue > records, What's wrong is not wording, but protocol. > to clarify the issue of concern with respect to Secure DNS. As Donald still does not understand it to be able to propose a solution, it is worthless. And, of course, there are several other wrongness in the specification. > We > haven't looked carefully at the relationship to dynamic update, yet. You don't have to. > > As I suggested above, please do describe your defects. In our > > experience, what we've implemented works fine. > > Read WG log. Cryptographic part should work just fine but not > more than that. > > I don't understand this comment. Don't you know that secure DNS consists of cryptography and DNS? DNS part is subtly but fatally broken. > As always, the working group may aspire to a higher standard. I don't > remember the working group agreeing to working code before any > publication but I've no problem being corrected if others in the working > group agree with you. Read WG log. Masataka Ohta
Xref: Re: meeting in Stockholm?? Masataka Ohta Xref: Re: meeting in Stockholm?? Masataka Ohta Xref subject previous Xref subject next Ohta San, I believe that the next version of the draft, which I plan to have out next week, will address most of your concerns. While it is true that in the past, even when you spoke to me in person at Danvers, I did not fully understand these, I believe that I do now. Donald ===================================================================== Donald E. Eastlake 3rd +1 508-287-4877(tel) dee@cybercash.com 318 Acton Street +1 508-371-7148(fax) dee@world.std.com Carlisle, MA 01741 USA +1 703-620-4200(main office, Reston, VA)
Xref subject previous Xref subject next It would help if detailed descriptions of the problems are posted rather than terse, inconclusive statements. -dpg
Xref subject previous Xref subject next > I believe that the next version of the draft, which I plan to have out > next week, will address most of your concerns. While it is true that > in the past, even when you spoke to me in person at Danvers, I did not > fully understand these, I believe that I do now. I really hope so. But, as the implementation is said to be still partial, I, quite righteously from my experience, can't believe you completely. :-) Anyway, I'm looking forward to see the next version. Masataka Ohta
Folks, Paul Lambert and I need to put together the Stockholm agenda very soon. People with proposed agenda items should email them to both of us. Proposals should include: short title short 1 paragraph synopsis of what is to be presented speaker time requested As there will only be one session in Stockholm, I believe time will be limited. Priority will be given to items that are directly on the workplan at this time. I have requested that the IPsec session be multicast but final decisions on which sessions will be multicast have not yet been made by the scheduling folks. Because so few people attended Amsterdam, we have only asked for a small meeting room in Stockholm. Thanks, Ran rja@cs.nrl.navy.mil PS: In case anyone has misplaced it, Paul Lambert's email address is: paul_lambert@email.mot.com
Xref subject previous
Xref subject next
Ref: Your note of Tue, 23 May 1995 10:13:41 -0400 (attached)
Charles,
I do not remember if you're subscribed to this list (dns-sec).
Let me know if you are, so I do not forward these messages.
This one seems important fyi.
Hugo
----------------------------- Note follows ------------------------------
Received: from TIS.COM by watson.ibm.com (IBM VM SMTP V2R3) with TCP;
Tue, 23 May 95 11:08:08 EDT
Received: from neptune.tis.com by neptune.TIS.COM id aa15930;
23 May 95 10:15 EDT
Received: from relay.tis.com by neptune.TIS.COM id aa15926; 23 May 95 10:09 EDT
Received: from sol.tis.com(192.33.112.100) by relay.tis.com via smap (g3.0)
id sma006572; Tue, 23 May 95 10:13:52 -0400
Received: from antares.tis.com by tis.com (4.1/SUN-5.64)
id AA17288; Tue, 23 May 95 10:13:29 EDT
Message-Id: <9505231413.AA17288@tis.com>
Reply-To: dns-security@TIS.COM
To: dns-security@TIS.COM
Subject: meeting in Stockholm??
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Id: <17368.801238419.1@tis.com>
Date: Tue, 23 May 1995 10:13:41 -0400
From: James M Galvin
Hello everybody. What a wonderfully quiet list we have! However,
wearing my Chair's hat, it's time to think about a meeting in Stockholm.
I'm soliciting for comments on whether to meet in Stockholm. Here's our
current status to help you decide.
1. Eastlake/Kaufman are almost done with the last revision of the current
specification.
2. TIS is almost done with an alpha implementation of the specification.
The implementation is alpha because we have'nt implemented everything
in the spec, yet, but what we have done is complete.
I expect both of these things to come to closure very soon now. When
E/K are done with the specification, we'll post it as an internet-draft
and immediately start a working group two week last call. After that,
it will go to our area director for consideration to be published as a
proposed standard.
TIS will release our alpha software when the specification is released.
This version of the software will be provided by request only. Future
versions will be available via anonymous FTP. For now, it will only be
available to a US or Canadian site. (Sorry, that's the law. We will
resolve international distribution before we're done.) If you want the
software, now would be a good time to let me know. Send a note to me at
"galvin@tis.com". (REPLYING TO THIS MESSAGE WILL NOT WORK.)
In the past, it was requested that the discussions that E/K and TIS be
visible to the community. I will be posting the collected works to our
anonymous FTP server, probably next week, for those who want to indulge.
The problem I have is creating an agenda for a meeting in Stockholm.
There might be some interesting operational issues to discuss. In
addition, there are some issues related to dynamic update that are
probably worth discussing. However, all of these things we could do on
the mailing list and thus involve more people.
So, I'm leaning towards not having a meeting but I'm interested in what
other people think.
Comments?
Jim
Colin Plumb, who did much of the modular exponentiation code for PGP, has recently developed a fast algorithm for the special case when the base is 2. This speeds up one part of Diffie-Hellman, the precomputation of the public component from the private component (but not the computation of the actual session key). The strong prime currently in the Photuris draft has generator 5. To accomodate Colin's work I'm going to change to another 1024-bit strong prime with a generator of 2. I'd already generated several strong primes with generators of 2, but not having any reason to prefer one over another I originally chose another one at random. As far as anyone knows, all these generator/prime pairs are equally secure, but of course if anyone has heard anything to the contrary I would like to know. Phil
Xref subject next
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the IP Security Protocol Working
Group of the IETF.
Title : IP Authentication Header
Author(s) : R. Atkinson
Filename : draft-ietf-ipsec-auth-02.txt
Pages : 12
Date : 06/06/1995
This document describes a mechanism for providing cryptographic
authentication for IPv4 and IPv6 datagrams. An Authentication Header (AH)
is normally inserted after the main IP header and before the other
information being authenticated.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-ipsec-auth-02.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-auth-02.txt>draft-ietf-ipsec-auth-02.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-auth-02.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.2)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-ipsec-auth-02.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950606144127.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-ipsec-auth-02.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-ipsec-auth-02.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950606144127.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref subject previous
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the IP Security Protocol Working
Group of the IETF.
Title : IP Authentication Header
Author(s) : R. Atkinson
Filename : draft-ietf-ipsec-auth-02.txt
Pages : 12
Date : 06/06/1995
This document describes a mechanism for providing cryptographic
authentication for IPv4 and IPv6 datagrams. An Authentication Header (AH)
is normally inserted after the main IP header and before the other
information being authenticated.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-ipsec-auth-02.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-auth-02.txt>draft-ietf-ipsec-auth-02.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-auth-02.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.2)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-ipsec-auth-02.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950606144127.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-ipsec-auth-02.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-ipsec-auth-02.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950606144127.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref: Re: Production IPSP needed in July for pilot... Chris Swanson Xref subject next Chrysler has an immediate need for network level security for piloting in July and production in September. Basic configuration is 50 - 100 DOS/Windows PCs run LAN WORKPLACE for DOS for their TCP/IP stack (some small flexablity on that from Proof of Concept). 1 COMPAQ Prolina running Netware 4.1 (NWIP an option). 2 SPARC 1000s running Solaris 2.4. 1 RS/6000 running AIX. Nominal connectivity for the PCs an Novell server is Ethernet, 10baseT. The SPARCs tend to be on FDDI and the RS/6000 on T/R. PPP notebook access perdicted for October. Code must be a shipping product. D&B will be run on all evaluated companies. What else is out there besides the Timestep PERMIT product (granted, pre-IPSP). Encrypting routers need not apply. I need security closer to the devices. Robert Moskowitz Chrysler Corporation (810) 758-8212
Xref subject next
IPSECers:
I have been traveling a great deal, so I let this issue drop. But I want
to revisit the discussion. The last e-mail I recall on the topic was from
Paul Lambert, and Paul was voicing support for keyless ICVs (a.k.a. keyless
checksums). Before that, Hugo posted a message about attacks on keyless
ICVs. Hugo described the following chosen message attack:
- Construct a message M = M1 | CS1 | M2, where CS1 is the
keyless checksum on M1, and M1 and M2 are arbitrary. The
length of M1 | CS1 should be an integral number of blocks.
- Give M to the party that's encrypting and authenticating,
to obtain C = E (M | CS2), where CS2 is the checksum on M,
and E is the encryption function.
- In typical modes of encryption, it will be the case that
that C = C1 | C2, where C1 = E (M1 | CS1) --- so C1 is a
valid message as far as authentication is concerned
- Replace C1 with C on the transmission line -- the recipient
will accept C1 as authentic
I discussed Hugo's attack with Burt Kaliski, and Burt came to the following
conclusion:
This [attack] works for any kind of checksum, and although
it can be thwarted by including the total message length at
the beginning of the message, it's an attack cryptographers
would like to avoid entirely.
Given that we are interested in protecting IP datagrams as well as TCP and
UDP protocol data units, we should revisit the keyless ICV discussion
because these protocol formats all include payload data lengths.
Russ
Xref subject previous Greetings again, How are you doing? I was just in Ann Arbor, but for less than 20 hours. Have you looked at the SunScreen stuff? Regards, -=Chris +-------------------------+------------------------+-------------------------+ | @@@ @@@ @@@@ @@@ | SSDS, Inc. | Chris Swanson | | @ @ @ @ @ | Minneapolis Operations | Engineer | | @@@ @@@ @ @ @@@ | 8841 Nicollet Ave S. | Tel: (612)/888-4045 | | @ @ @ @ @ | Bloomington, MN | FAX: (612)/888-4066 | | @@@@ @@@@ @@@@ @@@@ | 55420 | Email: cds@ssds.com | +-------------------------+------------------------+-------------------------+ | ** The Intelligent Network Computing Company ** | +----------------------------------------------------------------------------+ On Thu, 8 Jun 1995, Robert Moskowitz wrote: > Date: Thu, 08 Jun 1995 06:49:04 -0400 > From: Robert Moskowitz> To: ipsec@ans.net > Subject: Production IPSP needed in July for pilot... > > Chrysler has an immediate need for network level security for piloting in > July and production in September. > > Basic configuration is 50 - 100 DOS/Windows PCs run LAN WORKPLACE for DOS > for their TCP/IP stack (some small flexablity on that from Proof of > Concept). 1 COMPAQ Prolina running Netware 4.1 (NWIP an option). 2 SPARC > 1000s running Solaris 2.4. 1 RS/6000 running AIX. Nominal connectivity for > the PCs an Novell server is Ethernet, 10baseT. The SPARCs tend to be on > FDDI and the RS/6000 on T/R. PPP notebook access perdicted for October. > > Code must be a shipping product. D&B will be run on all evaluated companies. > > What else is out there besides the Timestep PERMIT product (granted, > pre-IPSP). Encrypting routers need not apply. I need security closer to > the devices. > > Robert Moskowitz > Chrysler Corporation > (810) 758-8212 > >
Xref subject next subscribe ipsec
Xref subject previous
Russ,
Thanks for the note of support on keyless Integrity Check Values (ICVs). As
you noted I am a proponent of this class of security techniques. The keyed
integrity mechanisms are not yet widely available in hardware, so the software
integrity check process becomes the most critical factor in improving the
performance of network security. A simple keyless ICV (with message length
either in the ip header or explicit) covered by an encryption algorithm is the
most efficient way to provide the best security (integrity, authentication,
confidentiality).
Paul
_______________________________________________________________________________
Subject: Keyless Integrity Check Values
Author: housley@spyrus.com@INTERNET
Date: 6/8/95 11:19 AM
Encoding: 1630 Text
IPSECers:
I have been traveling a great deal, so I let this issue drop. But I want
to revisit the discussion. The last e-mail I recall on the topic was from
Paul Lambert, and Paul was voicing support for keyless ICVs (a.k.a. keyless
checksums). Before that, Hugo posted a message about attacks on keyless
ICVs. Hugo described the following chosen message attack:
- Construct a message M = M1 | CS1 | M2, where CS1 is the
keyless checksum on M1, and M1 and M2 are arbitrary. The
length of M1 | CS1 should be an integral number of blocks.
- Give M to the party that's encrypting and authenticating,
to obtain C = E (M | CS2), where CS2 is the checksum on M,
and E is the encryption function.
- In typical modes of encryption, it will be the case that
that C = C1 | C2, where C1 = E (M1 | CS1) --- so C1 is a
valid message as far as authentication is concerned
- Replace C1 with C on the transmission line -- the recipient
will accept C1 as authentic
I discussed Hugo's attack with Burt Kaliski, and Burt came to the following
conclusion:
This [attack] works for any kind of checksum, and although
it can be thwarted by including the total message length at
the beginning of the message, it's an attack cryptographers
would like to avoid entirely.
Given that we are interested in protecting IP datagrams as well as TCP and
UDP protocol data units, we should revisit the keyless ICV discussion
because these protocol formats all include payload data lengths.
Russ
Phil, Hugo has proposed in many notes, some already from March, as well as in his presentation in the last IETF, that there are advantages in changing the method of authentication the DH flows in Photuris. The most radical suggestion is that instead of using a signed exchange _after_ the DH messages, Photuris would distribute a key before the DH phase based on public key encryption, and use this key to authenticate the DH messages. I feel that we didn't get a proper response to this (and other) suggestions. While I realise that time is precious and rare, I still expect you to reply to such important suggestions in a timely and reasoned manner. Please do so. As a short reminder, the main advantage of using an encrypted key-exchange before the DH step, instead of authenticating the DH exchange after it's done (using signed messages), is the ability to use the same protocol while skipping the DH exchange, for much higher efficiency. This is esp. relevant to the applications where the protocol is used mainly for authentication (not encryption). Hugo provided a much more detailed discussion of advantages in his notes (and presentation). Please be responsive. We don't care so much for the outcome, as we care for an open discussion and a clear resolution. We are moving rapidly on our implementation, which we hope to ship very soon as a product compatible with as much of the IPSEC standards as possible. While our plan is to later adjust the product to the final standards, we do want to make it as close to the standards as possible. We cannot do this if standards are developed in a closed circle, without active discussion and responses. Best, Amir Herzberg
Phil,
Stockholm is approaching and we have not heard about the
developments with Photuris since Danvers. I would like to know the status
of the following important issues on which I have had objections and/or
recommendations.
1) The DH key (or "session key" SK) must not be signed. Signing SK is
unnecessary and, even worst, it is insecure. (See my note of April 12)
2) Encryption of the signature messages is needed for privacy (anonymity).
However, it is *not* the right solution for proving possession of the DH key.
(The latter is needed to avoid some of the attacks described in the
Diffie-Van Oorschot-Wiener paper).
A right (and necessary!) solution is to have, in addition of the
signature, a MAC (message authentication code, e.g., key-ed MD5) keyed
with the DH key and applied to the same information that the signature
is applied to (or to the signature itself). In particular,
the MAC must be mandated even if the signature is encrypted for privacy
(notice that this is a change relative to the original STS protocol).
(See my note of April 12).
3) A fast re-key mechanism is to be provided for key refreshment based on
symmetric key techniques (as opposed to DH and/or PK techniques). This
is to be done by refreshing the key by means similar to those implied in the
draft (page 20). However, the necessary nonces for freshness
guarantee should be provided explicitly (e.g., by replacing the DH-exponent
fields of the DH-exchange message with a fresh nonce). SAID's are not to be
used for this purpose. Cookies can be used (since cookies must be
unpredictable by definition), however, I would still recommend using special
purpose nonces, to avoid the double functionality of cookies against denial
of service attacks and nonces (in particular, cookies may be unncessary if
the parties already share a previous key since then verifying a MAC is very
fast, actually as fast as generating a cookie).
One simple and secure solution to this fast re-key is presented in the
IKMP draft (Usenix conference version also available); this solution is
compatible with the basic Photuris format.
(See exchange of notes with Phil at end of March).
4) The protocol should support a DH exchange that is authenticated by means
of a previously shared key between the parties. This provides for a secure
solution in many important scenarios, including the cases of
* parties with manually installed long-lived master keys,
* parties that get a common key from a key distribution center (a la
Kerberos), or
* parties that use a previously shared DH key for refresh via a new
DH exchange.
In these cases, signatures can be replaced MAC w hich is beneficial
both for efficiency and privacy.
For the purpose of this exchange the basic DH flows of Photuris remain
unchanged except that
a) signature is omitted
b) the MAC field is used to authenticate the information that is
otherwise signed, but the MAC is computed using the previously shared key
(e.g., the shared Kerberos key, etc).
[This is a basic functionality provided by my "Photuris variant" but which
is easily adaptable to the basic Photuris. This was described and discussed
with Phil in Danvers]
5) The non-interactive key refreshment in page 26 of the draft (re-key message)
needs to be eliminated. If there is a good reason to keep it, it needs
to be re-designed to avoid replay attacks (e.g., via a shared counter).
The way it is designed now it is vulnerable to replay and then insecure.
Hugo
PS: Hope this time a revised draft will be available well before Stockholm.
Xref: Re: no meeting in Stockholm Masataka Ohta Xref subject next Looks like the right thing to do is not have a meeting in Stockholm. I expect to propose an agenda for this mailing list before then, following the next (final?) version of the specification, whichever is later. Thanks, Jim
Xref subject next The IESG has received a request from the IP Security Protocol Working Group to consider the followingt documents for the status of Proposed Standard: 1. Security Architecture for the Internet Protocol <draft-ietf-ipsec-arch-02.txt> 2. IP Authentication Header <draft-ietf-ipsec-auth-02.txt> 3. IP Encapsulating Security Payload (ESP) <draft-ietf-ipsec-esp-01.txt> 4. IP Authentication using Keyed MD5 <draft-ietf-ipsec-ah-md5-03.txt> 5. The ESP DES-CBC Transform <draft-ietf-ipsec-esp-des-cbc-04.txt> The IESG plans to make a decision in the next few weeks, and solicits final comments on this action. Please send any comments to the iesg@cnri.reston.va.us or ietf@cnri.reston.va.us mailing lists by June 30, 1995.
Xref subject previous The IESG has received a request from the IP Security Protocol Working Group to consider the followingt documents for the status of Proposed Standard: 1. Security Architecture for the Internet Protocol <draft-ietf-ipsec-arch-02.txt> 2. IP Authentication Header <draft-ietf-ipsec-auth-02.txt> 3. IP Encapsulating Security Payload (ESP) <draft-ietf-ipsec-esp-01.txt> 4. IP Authentication using Keyed MD5 <draft-ietf-ipsec-ah-md5-03.txt> 5. The ESP DES-CBC Transform <draft-ietf-ipsec-esp-des-cbc-04.txt> The IESG plans to make a decision in the next few weeks, and solicits final comments on this action. Please send any comments to the iesg@cnri.reston.va.us or ietf@cnri.reston.va.us mailing lists by June 30, 1995.
Folks, Partly because I'm working on "TCP for IPv6" and partly to sanity check that my specs are readable by folks other than me, Craig Metz is the person working on our Auth Hdr implementation for IPv6. This past week, Craig has been working on IPv6 reassembly code. For those unfamiliar with IPv6, it might be worthwhile to note that there is no intermediate fragmentation in IPv6 because Path MTU Discovery is always used, but end-to-end fragmentation can still occur (e.g. due to naive UDP applications). As part of work on IPv6 reassembly, Craig pointed out that I put a crucial sentence about fragmentation/reassembly in an "IPv4-only" paragraph rather than in an "applies to both IPv4 and IPv6" paragraph where it should have been. I will make this editorial fix prior to going to RFC, but the change is too small to merit bothering the CNRI folks with putting out a revised online I-D. In Section 4 of that I-D, the existing sentence below applies to both IPv4 and IPv6: "Reassembly of fragmented IP packets occurs PRIOR to processing by the local IP Authentication Header implementation." For clarity, Craig suggested (and I agree) that I should also note with a new sentence in the outgoing processing description that: "For outgoing IP datagrams, IP Authentication Header processing always occurs PRIOR to IP packet fragmentation." Ran rja@cs.nrl.navy.mil
Xref subject next
CALL FOR PAPERS
The Internet Society Symposium on
Network and Distributed System Security
February 22-23, 1996
San Diego Princess Resort, San Diego, California
GOAL: The symposium will bring together people who are building hardware
and software to provide network and distributed system security services.
The symposium is intended for those interested in the practical aspects of
network and distributed system security, focusing on actual system design
and implementation, rather than theory. We hope to foster the exchange of
technical information that will encourage and enable the Internet community
to apply, deploy, and advance the state of available security technology.
Symposium proceedings will be published by the IEEE Computer Society Press.
Topics for the symposium include, but are not limited to, the following:
* Design and implementation of communication security services:
authentication, integrity, confidentiality, authorization,
non-repudiation, and availability.
* Design and implementation of security mechanisms, services, and
APIs to support communication security services, key management
and certification infrastructures, audit, and intrusion detection.
* Requirements and designs for securing network information resources
and tools -- WorldWide Web (WWW), Gopher, archie, and WAIS.
* Requirements and designs for systems supporting electronic commerce --
payment services, fee-for-access, EDI, notary -- endorsement,
licensing, bonding, and other forms of assurance.
* Design and implementation of measures for controlling network
communication -- firewalls, packet filters, application gateways, and
user/host authentication schemes.
* Requirements and designs for telecommunications security especially
for emerging technologies -- very large systems like the Internet,
high-speed systems like the gigabit testbeds, wireless systems, and
personal communication systems.
* Special issues and problems in security architecture, such as
interplay between security goals and other goals -- efficiency,
reliability, interoperability, resource sharing, and cost.
* Integration of security services with system and application security
facilities, and application protocols -- including but not limited to
message handling, file transport, remote file access, directories, time
synchronization, data base management, routing, voice and video
multicast, network management, boot services, and mobile computing.
GENERAL CHAIR:
Jim Ellis, CERT Coordination Center
PROGRAM CHAIRS:
David Balenson, Trusted Information Systems
Clifford Neuman, USC Information Sciences Institute
LOCAL ARRANGEMENTS CHAIR:
Thomas Hutton, San Diego Supercomputer Center
PUBLICATIONS CHAIR:
Steve Welke, Institute for Defense Analyses
REGISTRATIONS CHAIR:
Donna Leggett, Internet Society
PROGRAM COMMITTEE:
Tom Berson, Anagram Laboratories
Matt Bishop, University of California at Davis
Doug Engert, Argonne National Laboratory
Warwick Ford, Bell Northern Research (Canada)
Burt Kaliski, RSA Laboratories
Steve Kent, Bolt Beranek and Newman
Paul Lambert, Motorola
John Linn, OpenVision Technologies
Teresa Lunt, Advanced Research Projects Agency
Dan Nessett, Sun Microsystems
Hilarie Orman, University of Arizona
Michael Roe, Cambridge University (UK)
Rob Rosenthal, U.S. National Institute of Standards and Technology
Avi Rubin, Bellcore
Jeff Schiller, Massachusetts Institute of Technology
Rob Shirey, Bolt Beranek and Newman
Doug Tygar, Carnegie Mellon University
Roberto Zamparo, Telia Research (Sweden)
SUBMISSIONS: The committee invites technical papers and panel proposals
for topics of technical and general interest. Technical papers should
be 10-20 pages in length. Panel proposals should be two pages and
should describe the topic, identify the panel chair, explain the format
of the panel, and list three to four potential panelists. Technical
papers will appear in the proceedings. A description of each panel will
appear in the proceedings, and may at the discretion of the panel chair,
include written position statements from each panelist.
Each submission must contain a separate title page with the type of
submission (paper or panel), the title or topic, the names of the
author(s), organizational affiliation(s), telephone and FAX numbers,
postal addresses, Internet electronic mail addresses, and must list a
single point of contact if more than one author. The names of authors,
affiliations, and other identifying information should appear only on
the separate title page.
Deadline for paper submission: August 14, 1995
Notification sent to authors by: October 16, 1995
Deadline for camera-ready copy: November 13, 1995
Submissions must be received by 14 August 1995. Submissions should be
made via electronic mail. Submissions may be in either of two formats:
PostScript or ASCII. If the committee is unable to print a PostScript
submission, it will be returned and hardcopy requested. Therefore,
PostScript submissions should arrive well before 14 August. If
electronic submission is difficult, submissions should be sent via
postal mail.
All submissions and program related correspondence (only) should be
directed to the program chair:
Clifford Neuman
University of Southern California
Information Sciences Institute
4676 Admiralty Way
Marina del Rey, California 90292-6695
Phone: +1 (310) 822-1511
FAX: +1 (310) 823-6714
Email: sndss96-submissions@isi.edu
Dates, final call for papers, advance program, and registration
information will be made available at the URL:
http://nii.isi.edu/info/sndss
Each submission will be acknowledged by e-mail. If acknowledgment is
not received within seven days, please contact the program chair as
indicated above. Authors and panelists will be notified of acceptance
by 16 October 1995. Instructions for preparing camera-ready copy for
the proceedings will be sent at that time. The camera-ready
copy must be received by 13 November 1995.
Xref subject previous
CALL FOR PAPERS
The Internet Society Symposium on
Network and Distributed System Security
February 22-23, 1996
San Diego Princess Resort, San Diego, California
GOAL: The symposium will bring together people who are building hardware
and software to provide network and distributed system security services.
The symposium is intended for those interested in the practical aspects of
network and distributed system security, focusing on actual system design
and implementation, rather than theory. We hope to foster the exchange of
technical information that will encourage and enable the Internet community
to apply, deploy, and advance the state of available security technology.
Symposium proceedings will be published by the IEEE Computer Society Press.
Topics for the symposium include, but are not limited to, the following:
* Design and implementation of communication security services:
authentication, integrity, confidentiality, authorization,
non-repudiation, and availability.
* Design and implementation of security mechanisms, services, and
APIs to support communication security services, key management
and certification infrastructures, audit, and intrusion detection.
* Requirements and designs for securing network information resources
and tools -- WorldWide Web (WWW), Gopher, archie, and WAIS.
* Requirements and designs for systems supporting electronic commerce --
payment services, fee-for-access, EDI, notary -- endorsement,
licensing, bonding, and other forms of assurance.
* Design and implementation of measures for controlling network
communication -- firewalls, packet filters, application gateways, and
user/host authentication schemes.
* Requirements and designs for telecommunications security especially
for emerging technologies -- very large systems like the Internet,
high-speed systems like the gigabit testbeds, wireless systems, and
personal communication systems.
* Special issues and problems in security architecture, such as
interplay between security goals and other goals -- efficiency,
reliability, interoperability, resource sharing, and cost.
* Integration of security services with system and application security
facilities, and application protocols -- including but not limited to
message handling, file transport, remote file access, directories, time
synchronization, data base management, routing, voice and video
multicast, network management, boot services, and mobile computing.
GENERAL CHAIR:
Jim Ellis, CERT Coordination Center
PROGRAM CHAIRS:
David Balenson, Trusted Information Systems
Clifford Neuman, USC Information Sciences Institute
LOCAL ARRANGEMENTS CHAIR:
Thomas Hutton, San Diego Supercomputer Center
PUBLICATIONS CHAIR:
Steve Welke, Institute for Defense Analyses
REGISTRATIONS CHAIR:
Donna Leggett, Internet Society
PROGRAM COMMITTEE:
Tom Berson, Anagram Laboratories
Matt Bishop, University of California at Davis
Doug Engert, Argonne National Laboratory
Warwick Ford, Bell Northern Research (Canada)
Burt Kaliski, RSA Laboratories
Steve Kent, Bolt Beranek and Newman
Paul Lambert, Motorola
John Linn, OpenVision Technologies
Teresa Lunt, Advanced Research Projects Agency
Dan Nessett, Sun Microsystems
Hilarie Orman, University of Arizona
Michael Roe, Cambridge University (UK)
Rob Rosenthal, U.S. National Institute of Standards and Technology
Avi Rubin, Bellcore
Jeff Schiller, Massachusetts Institute of Technology
Rob Shirey, Bolt Beranek and Newman
Doug Tygar, Carnegie Mellon University
Roberto Zamparo, Telia Research (Sweden)
SUBMISSIONS: The committee invites technical papers and panel proposals
for topics of technical and general interest. Technical papers should
be 10-20 pages in length. Panel proposals should be two pages and
should describe the topic, identify the panel chair, explain the format
of the panel, and list three to four potential panelists. Technical
papers will appear in the proceedings. A description of each panel will
appear in the proceedings, and may at the discretion of the panel chair,
include written position statements from each panelist.
Each submission must contain a separate title page with the type of
submission (paper or panel), the title or topic, the names of the
author(s), organizational affiliation(s), telephone and FAX numbers,
postal addresses, Internet electronic mail addresses, and must list a
single point of contact if more than one author. The names of authors,
affiliations, and other identifying information should appear only on
the separate title page.
Deadline for paper submission: August 14, 1995
Notification sent to authors by: October 16, 1995
Deadline for camera-ready copy: November 13, 1995
Submissions must be received by 14 August 1995. Submissions should be
made via electronic mail. Submissions may be in either of two formats:
PostScript or ASCII. If the committee is unable to print a PostScript
submission, it will be returned and hardcopy requested. Therefore,
PostScript submissions should arrive well before 14 August. If
electronic submission is difficult, submissions should be sent via
postal mail.
All submissions and program related correspondence (only) should be
directed to the program chair:
Clifford Neuman
University of Southern California
Information Sciences Institute
4676 Admiralty Way
Marina del Rey, California 90292-6695
Phone: +1 (310) 822-1511
FAX: +1 (310) 823-6714
Email: sndss96-submissions@isi.edu
Dates, final call for papers, advance program, and registration
information will be made available at the URL:
http://nii.isi.edu/info/sndss
Each submission will be acknowledged by e-mail. If acknowledgment is
not received within seven days, please contact the program chair as
indicated above. Authors and panelists will be notified of acceptance
by 16 October 1995. Instructions for preparing camera-ready copy for
the proceedings will be sent at that time. The camera-ready
copy must be received by 13 November 1995.
To the IP Security working group:
I've included my comments below regarding <draft-ietf-ipsec-ah-md5-03.
txt>:
This draft is about as close as you can get to perfect. Unless I
missed something, I didn't see any errors in grammar, etc..
Conclusion: Structure and content - check ( fine ). :-)
---Russell---
Xref: Re: draft-ietf-ipsec-esp-01.txt (complete) ascii (fwd) Kate Marika Alhola
Xref subject next
To the IP Security working group:
I've included below my comments/suggestions regarding <draft-ietf-
ipsec-esp-01.txt>:
------ begin of draft-ietf-ipsec-esp-01.txt -- ascii -- complete ------
Network Working Group Randall Atkinson
Internet Draft Naval Research Laboratory
draft-ietf-ipsec-esp-01.txt 25 April 1995
IP Encapsulating Security Payload (ESP)
STATUS OF THIS MEMO << Should probably add a blank line after the heading. >>
This document is an Internet Draft. Internet Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas, and
its working groups. Note that other groups may also distribute working
documents as Internet Drafts.
Internet Drafts are draft documents valid for a maximum of 6 months.
Internet Drafts may be updated, replaced, or obsoleted by other
documents at any time. It is not appropriate to use Internet Drafts as
reference material or to cite them other than as "work in progress".
This particular Internet Draft is a product of the IETF's IPng and
IPsec working groups. It is intended that a future version of this
draft be submitted to the IPng Area Directors and the IESG for
possible publication as a standards-track protocol.
0. ABSTRACT
^
Since when is '0' used as a heading number?
This document describes the IP Encapsulating Security Payload (ESP).
ESP is a mechanism for providing integrity and confidentiality to IP
datagrams. In some circumstances it can also provide authentication
to IP datagrams. The mechanism works with both IPv4 and IPv6. This
document also describes the mandatory DES CBC encryption transform for
use with ESP.
1. INTRODUCTION
ESP is a mechanism for providing integrity and confidentiality to IP
datagrams. It may also provide authentication, depending on which
algorithm and algorithm mode are used. Non-repudiation and protection
from traffic analysis are not provided by ESP. The IP Authentication
Header (AH) might provide non-repudiation if used with certain
authentication algorithms. [Atk95b] The IP Authentication Header may
^^^^^^^^^^
Place the period after the reference to avoid
confusion.
be used in conjunction with ESP to provide authentication. Users
desiring integrity and authentication without confidentiality should
use the IP Authentication Header (AH) instead of ESP. This document
Atkinson [Page 1]
Internet Draft Encapsulating Security Payload 25 April 1995
assumes that the reader is familiar with the related document "IP
Security Architecture", which defines the overall Internet-layer
security architecture for IPv4 and IPv6 and provides important
background for this specification. [Atk95a]
^^^^^^^^^^
Place period after reference.
1.1 Overview
The IP Encapsulating Security Payload (ESP) seeks to provide
confidentiality and integrity by encrypting data to be protected and
placing the encrypted data in the data portion of the IP Encapsulating
Security Payload. Depending on the user's security requirements, this
mechanism may be used to encrypt either a transport-layer segment
(e.g. TCP, UDP, ICMP, IGMP) or an entire IP datagram. Encapsulating
the protected data is necessary to provide confidentiality for the
entire original datagram.
Use of this specification will increase the IP protocol processing
costs in participating systems and will also increase the
communications latency. The increased latency is primarily due to the
encryption and decryption required for each IP datagram containing an
Encapsulating Security Payload.
In order for ESP to work properly without changing the entire
Internet infrastructure (e.g. non-participating systems), the original
IP datagram is placed in the encrypted portion of the Encapsulating
Security Payload and that entire ESP frame is placed within an
^^
Try 'a'
instead.
datagram having unencrypted IP headers. The information in the
unencrypted IP headers is used to route the secure datagram from
origin to destination. An unencrypted IP Routing Header might be
included between the IP Header and the Encapsulating Security Payload.
In the case of IP, an IP Authentication Header may be present both
as an header of the unencrypted IP packet and also as a header within
the encrypted IP packet. In such a case, the unencrypted IPv6
Authentication Header is primarily used to provide protection for the
contents of the unencrypted IP headers and the encrypted
Authentication Header is used to provide authentication for the
encrypted IP packet. This is discussed in more detail later in this
document.
The encapsulating security payload is structured a bit differently
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For consistency, either capitalize first letters or place
quotes around each occurrence of this phrase.
than other IP payloads. The first component of the ESP payload
consist of the unencrypted field(s) of the payload. The second
^^^^^^^
Should be 'consists'.
component consists of encrypted data. The field(s) of the unencrypted
ESP header inform the intended receiver how to properly decrypt and
process the encrypted data. The encrypted data component includes
protected fields for the security protocol and also the encrypted
encapsulated IP datagram.
Atkinson [Page 2]
Internet Draft Encapsulating Security Payload 25 April 1995
The concept of a "Security Association" is fundamental to ESP. It
is described in detail in the compaion document "Security Architecture
^^^^^^^^
Should be 'companion'.
for the Internet Protocol" which is incorporated here by
reference. [Atk95a] Implementers should read that document before
^^^^^^^^^^
Period after reference.
reading this one.
1.2 Requirements Terminology
In this document, the words that are used to define the significance
of each particular requirement are usually capitalised. These words
are:
- MUST
This word or the adjective "REQUIRED" means that the item is an
absolute requirement of the specification.
- SHOULD
This word or the adjective "RECOMMENDED" means that there might
exist valid reasons in particular circumstances to ignore this item,
but the full implications should be understood and the case carefully
weighed before taking a different course.
- MAY
This word or the adjective "OPTIONAL" means that this item is truly
optional. One vendor might choose to include the item because a
particular marketplace requires it or because it enhances the product,
for example; another vendor may omit the same item.
2. KEY MANAGEMENT
Key management is an important part of the IP security
architecture. However, a specific key management protocol is not
included in this specification because of a long history in the public
literature of subtle flaws in key management algorithms and protocols.
IP tries to decouple the key management mechanisms from the security
protocol mechanisms. The only coupling between the key management
protocol and the security protocol is with the Security Association
Identifier (SPI), which is described in more detail below. This
^^^^^
??
decoupling permits several different key management mechanisms to be
used. More importantly, it permits the key management protocol to be
changed or corrected without unduly impacting the security protocol
implementations. Thus, a key management protocol for IP is not
specifed within this draft. The IP Security Architecture describes
key management in more detail and specifies the key management
requirements for IP. Those key management requirements are
Atkinson [Page 3]
Internet Draft Encapsulating Security Payload 25 April 1995
incorporated here by reference. [Atk95a]
^^^^^^^^^^
Period after reference.
The key management mechanism is used to negotiate a number of
parameters for each security association, including not only the keys
but other information (e.g. the cryptographic algorithms and modes,
security classification level if any) used by the communicating
^^^^^^^^ ^
Place 'and' Place ',' here.
before this
word.
parties. The key management protocol implementation usually creates
and maintains a logical table containing the several parameters for
each current security association. An ESP implementation normally
needs to read that security parameter table to determine how to
process each datagram containing an ESP (e.g. which algorithm/mode and
key to use).
3. ENCAPSULATING SECURITY PAYLOAD SYNTAX
The Encapsulating Security Payload (ESP) may appear anywhere after
the IP header and before the final transport-layer protocol. The
Internet Assigned Numbers Authority has assigned Protocol Number 50 to
IP ESP. [STD-2] The header immediately preceding an ESP header will
^^^^^^^^^
Place period after reference.
always contain the value 50 in its Next Header field. ESP consists of
an unencrypted header followed by encrypted data. The encrypted data
includes both the protected ESP header fields and the protected user
data, which is either an entire IP datagram or an upper-layer protocol
frame (e.g. TCP or UDP). A high-level diagram of a secure IP datagram
follows.
|<-- Unencrypted -->|<---- Encrypted ------>|
+-------------+--------------------+------------+---------------------+
| IP Header | Other IP Headers | ESP Header | encrypted data |
+-------------+--------------------+------------+---------------------+
A more detailed diagram of the ESP Header follows below.
+-------------+--------------------+------------+---------------------+
| Security Association Identifier (SPI), 32 bits |
+=============+====================+============+=====================+
| Opaque Transform Data, variable length |
+-------------+--------------------+------------+---------------------+
Encryption and authentication algorithms, and the precise format of
the Opaque Transform Data associated with them are known as
"transforms". The ESP format is designed to support new transforms in
the future to support new or additional cryptographic algorithms. The
transforms are specified by themselves rather than in the main body of
this specification. The mandatory transform for use with IP is
defined in a separate document [MS95]. Other optional transforms
exist in other separate specifications and additional transforms might
be defined in the future.
Atkinson [Page 4]
Internet Draft Encapsulating Security Payload 25 April 1995
3.1 Fields of the Encapsulating Security Payload
This is a 32-bit pseudo-random value identifying the security
association for this datagram. If no security association has been
established, the value of this field shall be 0x00000000. An
SPI is similar to the SAID used in other security protocols. The
name has been changed because the semantics used here are not
exactly the same as those used in other security protocols.
The set of SPI values in the range 0x00000001 though 0x000000FF
are reserved to the Internet Assigned Numbers Authority (IANA) for
future use. A reserved SPI value will not normally be assigned by
IANA unless the use of that particular assigned SPI value is openly
specified in an RFC.
The SPI is the only mandatory transform-independent field.
Particular transforms may have other fields unique to the transform.
Transforms are not specified in this document.
3.2 Security Labeling with ESP
The encrypted IP datagram need not and does not normally contain any
explicit Security Label because the SPI indicates the sensitivity
level. This is an improvement over the current practices with IPv4
where an explicit Sensitivity Label is normally used with
Compartmented Mode Workstations and other systems requiring
Security Labels. [Ken91] [DIA] In some situations, users MAY choose
^^^^^^^^^^^^^^^
Period after references.
to carry explicit labels (for example, IPSO labels as defined by
RFC-1108 might be used with IPv4) in addition to using the implicit
labels provided by ESP. Explicit label options could be defined for
use with IPv6 (e.g. using the IPv6 End-to-End Options Header or the
IPv6 Hop-by-Hop Options Header). Implementations MAY support explicit
labels in addition to implicit labels, but implementations are not
required to support explicit labels. Implementations of ESP in
systems claiming to provide multi-level security MUST support implicit
labels.
4. ENCAPSULATING SECURITY PROTOCOL PROCESSING << Blank line after heading. >>
This section describes the steps taken when ESP is in use between
two communicating parties. Multicast is different from unicast only
in the area of key management (See the definition of the SPI, above,
for more detail on this). There are two modes of use for ESP. The
first mode, which is called "Tunnel-mode", encapsulates an entire IP
datagram inside ESP. The second mode, which is called
"Transport-Mode", encapsulates a transport-layer (e.g. UDP or TCP)
frame inside ESP. The term "Transport-mode" must not be misconstrued
as restricting its use to TCP and UDP. For example, an ICMP
message MAY be sent either using the "Transport-mode" or the
Atkinson [Page 5]
Internet Draft Encapsulating Security Payload 25 April 1995
"IP-mode" depending upon circumstance. This section describes
^^^^^^^^^^^^
Should be 'circumstances'.
protocol processing for each of these two modes.
4.1 ESP in Tunnel-mode
The sender takes the original IP datagram, encapsulates it into the
ESP, uses at least the sending userid and Destination Address as data
to locate the correct Security Association, and then applies the
appropriate encryption transform. If host-oriented keying is in use,
then all sending userids on a given system will have the same Security
Association for a given Destination Address. If no key has been
established, then the key management mechanism is used to establish a
^
Should be 'an'.
encryption key for this communications session prior to the use of
ESP. The (now encrypted) ESP is then encapsulated in a cleartext IP
datagram as the last payload. If strict red/black separation is being
enforced, then the addressing and other information in the cleartext
IP headers and optional payloads MAY be different from the values
contained in the (now encrypted and encapsulated) original datagram.
The receiver strips off the cleartext IP header and cleartext
optional IP payloads (if any) and discards them. It then uses the
combination of Destination Address and SPI value to locate the
correct decryption key to use for this packet. Then, it decrypts
the ESP using the session key that has been established for this
traffic.
If no valid Security Association exists for this session (for
example, the receiver has no key), the receiver MUST discard the
encrypted ESP and the failure MUST be recorded in the system log or
audit log. This system log or audit log entry SHOULD include the SPI
value, date/time, cleartext Sending Address, cleartext Destination
Address, and the cleartext Flow ID. The log entry MAY also include
other identifying data. The receiver might not wish to react by
immediately informing the sender of this failure because of the strong
potential for easy-to-exploit denial of service attacks.
If decryption succeeds, the original IP datagram is then removed
from the (now decrypted) ESP. This original IP datagram is then
processed as per the normal IP protocol specification. In the case of
system claiming to provide multilevel security (for example, a B1 or
Compartmented Mode Workstation) additional appropriate mandatory
access controls MUST be applied based on the security level of the
receiving process and the security level associated with this Security
Association. If those mandatory access controls fail, then the packet
SHOULD be discarded and the failure SHOULD be logged using
implementation-specific procedures.
Atkinson [Page 6]
Internet Draft Encapsulating Security Payload 25 April 1995
4.2 ESP in Transport-mode
The sender takes the original UDP or TCP or ICMP frame, encapsulates
it into the ESP, uses at least the sending userid and Destination
Address to locate the appropriate Security Association, and then
applies the appropriate encryption transform. If host-oriented keying
is in use, then all sending userids on a given system will have the
same Security Association for a given Destination Address. If no key
has been established, then the key management mechanism is used to
establish a encryption key for this communications session prior to
the encryption. The (now encrypted) ESP is then encapsulated as the
last payload of a cleartext IP datagram.
The receiver processes the cleartext IP header and cleartext
optional IP headers (if any) and temporarily stores pertinent
information (e.g. source and destination addresses, Flow ID, Routing
Header). It then decrypts the ESP using the session key that has been
established for this traffic, using the combination of the destination
address and the packet's Security Association Identifier (SPI) to
locate the correct key.
If no key exists for this session or the attempt to decrypt fails,
the encrypted ESP MUST be discarded and the failure MUST be recorded
in the system log or audit log. If such a failure occurs, the
recorded log data SHOULD include the SPI value, date/time received,
clear-text Sending Address, clear-text Destination Address, and the
Flow ID. The log data MAY also include other information about the
failed packet. If decryption does not work properly for some reason,
then the resulting data will not be parsable by the implementation's
protocol engine. Hence, failed decryption is detectable in the case
that cryptography is used with ESP.
If decryption succeeds, the original UDP or TCP frame is removed
from the (now decrypted) ESP. The information from the cleartext IP
header and the now decrypted UDP or TCP header is jointly used to
determine which application the data should be sent to. The data is
then sent along to the appropriate application as normally per IP
protocol specification. In the case of a system claiming to provide
multilevel security (for example, a B1 or Compartmented Mode
Workstation), additional Mandatory Access Controls MUST be applied
based on the security level of the receiving process and the security
level of the received packet's Security Association.
4.3. Authentication
Some transforms provide authentication as well as confidentiality
and integrity. When such a transform is not used, then the
Authentication Header might be used in conjunction with the
Atkinson [Page 7]
Internet Draft Encapsulating Security Payload 25 April 1995
Encapsulating Security Payload. There are two different approaches to
using the Authentication Header with ESP, depending on which data is
to be authenticated. The location of the Authentication Header makes
it clear which set of data is being authenticated.
In the first usage, the entire received datagram is authenticated,
including both the encrypted and unencrypted portions, while only the
data sent after the ESP Header is confidential. In this usage, the
sender first applies ESP to the data being protected. Then the other
plaintext IP headers are prepended to the ESP header and its now
encrypted data. Finally, the IP Authentication Header is calculated
over the resulting datagram according to the normal method. Upon
receipt, the receiver first verifies the authenticity of the entire
datagram using the normal IP Authentication Header process. Then if
authentication succeeds, decryption using the normal IP ESP process
occurs. If decryption is successful, then the resulting data is
passed up to the upper layer.
If the authentication process were to be applied only to the data
protected by IP ESP and ESP were encapsulating an entire IP datagram,
then the IP Authentication Header would be placed normally within that
protected datagram. However, if the data encapsulated by ESP were
less than an entire IP datagram, then the IP Authentication Header
would be placed as the first header inside the encrypted ESP payload
and would be calculated across the data encrypted by ESP.
If the Authentication Header is encapsulated within the ESP header,
and both headers have specific security classification levels
associated with them, and the two security classification levels are
not identical, then an error has occurred. That error SHOULD be
recorded in the system log or audit log using the procedures described
previously. It is not necessarily an error for an Authentication
Header located outside of the ESP header to have a different security
classification level than the ESP header's classification level. This
might be valid because the cleartext IP headers might have a different
classification level when the data has been encrypted using ESP.
5. CONFORMANCE REQUIREMENTS << Blank line after heading. >>
Implementations that claim conformance or compliance with this
specification MUST fully implement the header described here, MUST
support manual key distribution with this header, MUST comply with all
requirements of the "Security Architecture for the Internet Protocol"
[Atk95a], and MUST support the use of DES CBC as specified in the
companion document entitled "The ESP DES-CBC Transform" [MS95].
Implementers MAY also implement other ESP transforms. Implementers
should consult the most recent version of the "IAB Official Standards"
RFC for further guidance on the status of this document.
Atkinson [Page 8]
Internet Draft Encapsulating Security Payload 25 April 1995
6. SECURITY CONSIDERATIONS
This entire draft discusses a security mechanism for use with IP.
This mechanism is not a panacea, but it does provide an important
component useful in creating a secure internetwork.
Cryptographic transforms for ESP which use a block-chaining
algorithm and lack a strong integrity mechanism are vulnerable to a
cut-and-paste attack described by Bellovin and should not be used
unless the Authentication Header is always present with packets using
that ESP transform. [Bel95]
^^^^^^^^^
Period after reference.
Users need to understand that the quality of the security provided
by this specification depends completely on the strength of whichever
encryption algorithm that has been implemented, the correctness of
^^^^
Omit this word.
that algorithm's implementation, upon the security of the key
management mechanism and its implementation, the strength of the key
[CN94][Sch94, p233] and upon the correctness of the ESP and IP
^ Need comma here.
implementations in all of the participating systems.
If any of these assumptions do not hold, then little or no real
security will be provided to the user. Use of high assurance
development techniques is recommended for the IP Encapsulating
Security Payload.
Users seeking protection from traffic analysis might consider the
use of appropriate link encryption. Description and specification of
link encryption is outside the scope of this note.
If user-oriented keying is not in use, then the algorithm in use
should not be an algorithm vulnerable to any kind of Chosen Plaintext
attack. Chosen Plaintext attacks on DES are described in [BS93] and
[Mit94]. Use of user-oriented keying is recommended in order to
^^^^^^^
Should probably be '[MIT94]'.
preclude any sort of Chosen Plaintext attack and to generally make
cryptanalysis more difficult. Implementations SHOULD support
user-oriented keying as is described in the IP Security
Architecture. [Atk95a]
ACKNOWLEDGEMENTS << Blank line after heading. >>
This document benefited greatly from work done by Bill Simpson, Perry
Metzger, and Phil Karn to make general the approach originally defined
by the author for SIP, SIPP, and finally IPv6.
Many of the concepts here are derived from or were influenced by the
US Government's SP3 security protocol specification, the ISO/IEC's
NLSP specification, or from the proposed swIPe security
protocol. [SDNS89, ISO92a, IB93, IBK93, ISO92b] The use of DES for
confidentiality is closely modeled on the work done for the
Atkinson [Page 9]
Internet Draft Encapsulating Security Payload 25 April 1995
SNMPv2. [GM93] Steve Bellovin, Steve Deering, Dave Mihelcic, and
^^^^^^^^
Period after reference.
Hilarie Orman provided solid critiques of early versions of this
draft.
REFERENCES << Blank line after heading. >>
[Atk95a] Randall J. Atkinson, IP Security Architecture, Internet Draft,
draft-ietf-ipsec-arch-01.txt, 25 April 1995.
[Atk95b] Randall J. Atkinson, IP Authentication Header, Internet Draft,
draft-ietf-ipsec-auth-01.txt, 25 April 1995.
[Bel89] Steven M. Bellovin, "Security Problems in the TCP/IP Protocol
Suite", ACM Computer Communications Review, Vol. 19, No. 2,
March 1989.
[Bel95] Steven M. Bellovin, Presentation at IP Security Working Group
Meeting, Proceedings of the 32nd Internet Engineering Task
Force, March 1995, Internet Engineering Task Force, Danvers, MA.
[BS93] Eli Biham and Adi Shamir, "Differential Cryptanalysis of the
Data Encryption Standard", Springer-Verlag, New York, NY, 1993.
[CN94] John M. Carroll & Sri Nudiati, "On Weak Keys and Weak Data:
Foiling the Two Nemeses", Cryptologia, Vol. 18, No. 23,
July 1994. pp. 253-280
[CERT95] Computer Emergency Response Team (CERT), "IP Spoofing Attacks
and Hijacked Terminal Connections", CA-95:01, January 1995.
Available via anonymous ftp from info.cert.org.
[DIA] US Defense Intelligence Agency (DIA), "Compartmented Mode
Workstation Specification", Technical Report DDS-2600-6243-87.
[GM93] James Galvin & Keith McCloghrie, Security Protocols for Version 2
of the Simple Network Management Protocol (SNMPv2), RFC-1446,
DDN Network Information Center, April 1993.
[Hin94] Robert Hinden (Editor), IP Specification, Internet Draft,
draft-hinden-ipng-IP-spec-00.txt, October 1994.
[IB93] John Ioannidis & Matt Blaze, "Architecture and Implementation
of Network-layer Security Under Unix", Proceedings of the USENIX
Security Symposium, Santa Clara, CA, October 1993.
[IBK93] John Ioannidis, Matt Blaze, & Phil Karn, "swIPe: Network-Layer
Security for IP", presentation at the Spring 1993 IETF Meeting,
Columbus, Ohio.
Atkinson [Page 10]
Internet Draft Encapsulating Security Payload 25 April 1995
[ISO92a] ISO/IEC JTC1/SC6, Network Layer Security Protocol, ISO-IEC
DIS 11577, International Standards Organisation, Geneva,
Switzerland, 29 November 1992.
[ISO92b] ISO/IEC JTC1/SC6, Network Layer Security Protocol, ISO-IEC
DIS 11577, Section 13.4.1, page 33, International Standards
Organisation, Geneva, Switzerland, 29 November 1992.
[Ken91] Steve Kent, "US DoD Security Options for the Internet Protocol
(IPSO)", RFC-1108, DDN Network Information Center, November 1991.
[Mit94] Matsui, M., "Linear Cryptanalysis method for DES Cipher",
Proceedings of Eurocrypt '93, Berlin, Springer-Verlag, 1994.
[MS95] Perry Metzger & W.A. Simpson, "The ESP DES-CBC Transform with MD5",
Work in Progress, April 1995.
[NIST77] US National Bureau of Standards, "Data Encryption Standard",
Federal Information Processing Standard (FIPS) Publication 46,
January 1977.
[NIST80] US National Bureau of Standards, "DES Modes of Operation"
Federal Information Processing Standard (FIPS) Publication 81,
December 1980.
[NIST81] US National Bureau of Standards, "Guidelines for Implementing and
Using the Data Encryption Standard", Federal Information
Processing Standard (FIPS) Publication 74, April 1981.
[NIST88] US National Bureau of Standards, "Data Encryption Standard",
Federal Information Processing Standard (FIPS) Publication 46-1,
January 1988.
[STD-2] J. Reynolds and J. Postel, "Assigned Numbers", STD-2,
DDN Network Information Center, 20 October 1994.
[Sch94] Bruce Schneier, Applied Cryptography, John Wiley & Sons,
New York, NY, 1994. ISBN 0-471-59756-2
[SDNS89] SDNS Secure Data Network System, Security Protocol 3, SP3,
Document SDN.301, Revision 1.5, 15 May 1989, as published
in NIST Publication NIST-IR-90-4250, February 1990.
DISCLAIMER
The views and specification here are those of the author and are not
necessarily those of his employer. The Naval Research Laboratory has
not passed judgement on the merits, if any, of this work. The author
Atkinson [Page 11]
Internet Draft Encapsulating Security Payload 25 April 1995
and his employer specifically disclaim responsibility for any problems
arising from correct or incorrect implementation or use of this
specification.
AUTHOR INFORMATION
Randall Atkinson
Information Technology Division
Naval Research Laboratory
Washington, DC 20375-5320
USA
Telephone: (202) 404-7090
Fax: (202) 404-7942
Atkinson [Page 12]
------ end of draft-ietf-ipsec-esp-01.txt -- ascii -- complete ------
---Russell---
Xref: Re: draft-ietf-ipsec-esp-01.txt (complete) ascii (fwd) Perry E. Metzger Xref subject previous Xref subject next One question about ESP and transport-mode sending encrypted datagrams. The ESP header contains only SPI, that is used to describe, what key is used to encrypt payload, the IP protocol id is ESP ( 50 ). The rest of ESP datatgram is opaque data. The Tunnel mode is clear, all IP datagram is in encrypted payload, including IP protocol ID, that descrips, what protocol (TCP/IP/ICMP) is used, but how this is done in transport mode ? The IP prptocol ID is now ESP, and only TCP/UDP/ICMP datagram is in the payload, where is protocol ID of the payload ? Kate +=============================================================+ ! Kate Marika Alhola Internet Technologies International Oy ! ! kate@digiw.fi Phone +358 49 740701 ! ! kate@nic.funet.fi http://nic.funet.fi/~kate/ ! +=============================================================+
Xref subject previous Kate Marika Alhola writes: > One question about ESP and transport-mode sending encrypted datagrams. > The ESP header contains only SPI, that is used to describe, what key is > used to encrypt payload, the IP protocol id is ESP ( 50 ). The rest > of ESP datatgram is opaque data. > > The Tunnel mode is clear, all IP datagram is in encrypted payload, including > IP protocol ID, that descrips, what protocol (TCP/IP/ICMP) is used, > but how this is done in transport mode ? The IP prptocol ID is now ESP, > and only TCP/UDP/ICMP datagram is in the payload, where is protocol > ID of the payload ? The protocol ID of the ultimate payload is contained inside the opaqued region. Its precise location is described in the documents for each security transform. Perry
Xref subject next I've sent repeated mail to ipsec-request@ans.net asking to take me off this list. No luck. So I must do the gauche thing and LOUDLY beg to the whole list that whoever owns this PLEASE take me off. Or if you know the Email address of someone who has control over the list, please let me know it so I can get off the list. Thanks, mjr.
Xref subject previous > Looks like the right thing to do is not have a meeting in Stockholm. Agreed. It's not meaningful to have discussion on an incomplete and defective draft. > I > expect to propose an agenda for this mailing list before then, following > the next (final?) version of the specification, whichever is later. I hope, someday for the first time, we can have a discussion on DNS-affinity issues of proposals, which you couldn't have understood the importance and actively obstructed at the last meeting. Masataka Ohta
Xref subject previous Xref subject next At 03:24 PM 6/19/95 -0400, Marcus J Ranum wrote: > I've sent repeated mail to ipsec-request@ans.net asking to >take me off this list. No luck. So I must do the gauche thing and >LOUDLY beg to the whole list that whoever owns this PLEASE take >me off. Or if you know the Email address of someone who has control >over the list, please let me know it so I can get off the list. Marcus, What is TIS's (or your) position on IPSP. Will this get implemented or does the 'real' world already have an interop alternative. This is VERY important for a trade group that I serve as main technician to. Also, what do you know of Cylink's plans to create their own IP security standard? Robert Moskowitz Chrysler Corporation (810) 758-8212
Xref subject previous At 07:06 AM 6/20/95 -0400, Robert Moskowitz wrote: >At 03:24 PM 6/19/95 -0400, Marcus J Ranum wrote: >> I've sent repeated mail to ipsec-request@ans.net asking to Whoops so much for privacy on a security list! Robert Moskowitz Chrysler Corporation (810) 758-8212
Robert Moskowitz writes: >Marcus, > >What is TIS's (or your) position on IPSP. Will this get implemented or does >the 'real' world already have an interop alternative. I need to specify that nowaday's Marcus' position and TIS' position may no longer be the same thing. :) We've parted company quite amiably but I can no longer speak for TIS in any way, shape, or form. I believe (my personal opinion), however, that IPSP will be what everyone will likely hew to when the standards bodies finally get something relevant out the door. At an open discussion today with a number of firewall vendors, the question of standardizing encryption was raised and I was interested (and grimly amused/pained) that nobody seemed to feel that IETF's work was going to produce near-term relevant results. I caught myself sticking up for IETF (since the alternatives are worse) by encouraging people to at least look hard at swIPe before rolling their own, and that way there'd be some kind of evolutionary path. I think a lot of firewalls out there are based on something swIPe-like and if IPSP ever happens and IPV6 ever happens then they'll probably cut over if unencumbered and commercially useable/high-quality versions of IPSP are available. >Also, what do you know of Cylink's plans to create their own IP security >standard? All I know is that they have one. :) Since the standards process has proven ineffective, and vendor lobbyists on standards working groups have shown that they can easily drag IETF's efforts into increasing irrelevance, I suspect a number of vendors are seeing an opportunity to try to grab market share with de facto standards. How well it will work remains to be seen, but it is certainly hard to lose against something that's not available, when you have a customer demand that you can meet today. mjr. [Obviously, since I've just loudly said some harsh truths, these are my opinions only. If you don't like them, you can complain to the president of Information Works! directly at mjr@iwi.com]
Xref: Re: Implementation question Perry E. Metzger Xref subject next Shouldn't the SPI be sent in network order as well as the other fields that were specifically mentioned (IV, DES Blocks)? Thanks, Rob G. glenn@snad.ncsl.nist.gov
Xref subject previous Xref subject next > Shouldn't the SPI be sent in network order as well as the other > fields that were specifically mentioned (IV, DES Blocks)? No. The SPI is an opaque field to the sender. It was supplied, via the key management protocol, by the receiver; the sender just emits it unchanged.
Xref subject previous Robert Glenn writes: > Shouldn't the SPI be sent in network order as well as the other > fields that were specifically mentioned (IV, DES Blocks)? The DES IV is loaded into a DES algorithm which is (hopefully!) highly positionally dependent. Since the SPI is arbitrary, it doesn't really make any difference what order you interpret it in. You can interpret it in either little or big endian order and it won't alter your operation (so long as you are consistant, of course!) Perry
When an encryption header is added to an MTU-length packet, the encryptor will have to fragment its output intentionally, with all the problems that entails. The obvious answer is to reduce the MTU advertised upstream. But that's problematic for bump-in-the-cord encryptors or for anything below of the IP layer. Furthermore, if a receiving bump-in-the-cord decryptor is to handle such packets, it would need a full IP reassembly mechanism. (In-kernel decryptors could, of course, let the existing mechanisms reassemble the packet, and pass the result *up* to the IPSP protocol module.) So we need some way to make sure that fragmentation does not happen at this point. The right answer is Path MTU. But only a small fraction of hosts have deployed that to date. (The answer may be different for IPv6, of course.) I suggest, therefore, that whenever we agree on a key management protocol, it include an MTU that can be passed upwards. Thus, machines on the end of, say, PPP links with a 256 byte MTU will advertise a small packet size during any key management negotiations. I should note that the context here is quite concrete. David Wagner is implementing the IPv4 security protocols as a packet driver shim for DOS and Windows. This operates at the link layer, below IP, and while it can tell IP its effective MTU, we don't want to have to reimplement IP fragment reassembly for input packets. So we need some way to make sure that folks don't send us large packets. (By contrast, it's relatively easy for this module to fragment a jumbogram and send out complete IPSP packets whose payload is a single fragment. The normal reassembly mechanisms can cope with that quite nicely.) --Steve Bellovin
Xref subject next Steve, For what its worth, IPv6 land should have Path MTU Discovery universally deployed except for very small systems that will never send any packet bigger than the smallest legal MTU size for IPv6. I agree it would be good to get the MTU data, but I'm not sure whether or not it might belong inside the key mgmt mechanism (especially if the same key mgmt mechanism were also used to distribute security association/keying information for OSPF/RIP/whatever) . I'd be interested to hear of any other ideas on this. I'm still thinking about the SPI question that Rob Glenn raised. I'm not sure its obvious what the right answer is just yet. My own thought had been that all of the network-layer packet fields were in network-order whilst on the net and in host-order whilst being processed by the host. Recall that we only have required manual key distribution for the present. Consider that two systems A and B have opposite host byte ordering and are using manual key distribution (i.e. administrator types in the key on the console of each machine in, say, hexadecimal). Maybe I'm not thinking clearly, but it seems to me that if the SPI isn't in network-order within the transmitted packet while that packet is on the wire, then the human doing the typing will have to (1) know whether their is a byte ordering issue for the remote system and (2) convert to the receiver's order prior to typing it in. If this is so, then I'd say that it ought to be in network-order whilst on the wire. Corrections of my mistakes are solicited. :-) Ran rja@cs.nrl.navy.mil
Xref subject previous Ran makes a good point about manual key management. The SPI (I still do not like that name) bit and byte ordering must be specified so that the identifiers can be matched with the IPSP PDU field. This is a simple thing to specify, and it does not impact implementations very much either. Russ
Xref subject next
--NextPart
A New Internet-Draft is available from the on-line Internet-Drafts
directories.
Title : Keyed-MD5 for Message Authentication
Author(s) : H. Krawczyk
Filename : draft-krawczyk-keyed-md5-00.txt
Pages : 3
Date : 06/22/1995
This document describes a keyed-MD5 mechanism for use as a message
authentication code (MAC) (or, integrity check value -- ICV). It is mainly
intended for integrity verification of information transmitted over open
networks (e.g., Internet) between parties that share a common secret key.
The proposed mechanism combines the (key-less) MD5 hash function [RFC-1321]
with a shared secret key. The description of keyed-MD5 in this document is
independent of its use in any particular protocol. An analogous mechanism
can be used in combination with other iterative hash functions, e.g., SHA.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-krawczyk-keyed-md5-00.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-krawczyk-keyed-md5-00.txt>draft-krawczyk-keyed-md5-00.txt>ftp://ds.internic.net/internet-drafts/draft-krawczyk-keyed-md5-00.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.2)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-krawczyk-keyed-md5-00.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950622161106.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-krawczyk-keyed-md5-00.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-krawczyk-keyed-md5-00.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950622161106.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref subject next This note is in response to the Last Call on the Keyed MD5 draft: > From: The IESG> Subject: Last Call: Security Architecture for the Internet Protocol to > Proposed Standard > Date: Fri, 16 Jun 95 13:14:01 -0400 > Sender: scoya@CNRI.Reston.VA.US > The IESG has received a request from the IP Security Protocol Working Group > to consider the followingt documents for the status of Proposed Standard: > 4. IP Authentication using Keyed MD5 <draft-ietf-ipsec-ah-md5-03.txt> ======= Summary ======= The following are apparent deficiencies of the current Keyed MD5 draft. 1. Despite the inclusion of a section ``Security Considerations'', the I-D gives no estimate of the security level of the proposed keyed hash function (e.g. work factor 2^{n} to break, etc.). Moreover, from reading the I-D itself, it is not clear what the conjectured level is. 2. The I-D does not seem to be aware of, nor take into consideration, recent work in the areas of hash functions and keyed hash functions. This includes both generic results, and results specific to functions like MD4 and MD5, both of which indicate that the proposed method is almost certainly less secure than hoped (cf. point 1.). 3. The current I-D does not offer the best (w.r.t. security and speed) solution currently available for the proposed application. One alternative is discussed below; others almost certainly exist. 4. Some technical statements in the current I-D regarding security are both inaccurate and misleading. I suggest that it is unacceptable for such an I-D to be progressed without specifying a conjectured level of security; without this, it cannot be decided if it meets the requirements of an application, or compared with alternatives. I further suggest that upon investigation, it will be found that recent attacks, both generic and MD4/MD5-specific (as noted below), will show the proposed method is weaker than has been believed to date. As a consequence, alternative algorithms should be considered (as discussed below). I suggest that serious attention be given to these points before a decision is taken on the progression of this I-D. Some technical discussion follows in support of these statements. Sincerely, Paul C. Van Oorschot 1995 June 26 ------------------------------------------------------------------------------ Paul Van Oorschot Bell-Northern Research | EMAIL: paulv@bnr.ca | MAIL TO: SHIP TO: | VOICE: 613-763-4199 | BNR, Box 3511, Station C, BNR, 2 Constellation Cr. | FAX: 613-765-3520 | Ottawa, Canada K1Y 4H7 Nepean, ON, Canada K2G 5J9 | | ------------------------------------------------------------------------------ =============================================================== Additional Discussion and Technical Details on the above points =============================================================== The technical content of the I-D is as follows. A keyed hash function is built from MD5 using below will be referred to as the ``envelope method'': ``The variable length secret authentication key is ... concatenated with ... the invariant fields of the entire IP datagram ... concatenated with the variable length secret authentication key again (trailing padded is added by the MD5 algorithm). The resulting 128-bit digest is inserted into the Authentication Data field.'' 1. The ID makes no mention of the level of security which the proposed technique offers. Since historically security of this nature cannot be proven, it is customary to state a conjectured level of security, which essentially summarizes how much work would be required using the best currently-known attack. Some relevant information can be found in a recent newletter article [rsabytes] in which three MD5-based MAC proposals are made for the IPSEC working group, by Matt Robshaw and Burt Kaliski (citing help from Hugo Krawczyk and Mihir Bellare). The three methods are: i. The envelope method with K1 = K2 where K1 is a 128-bit key (padded to a complete first block) ii. MAC(x) = h( K1, h(K2,x) ) iii. MAC(x) = h( K1, h(K1,x) ) Scheme (i) here is essentially that of the proposed I-D. The paper suggests (without details) that the best known attack on these schemes requires 2^{64} chosen message texts. Another paper, to be presented at Crypto'95 [crypto95], provides actual details of an attack which applies to (i). When applied to the proposal of the current I-D with a 128-bit key K = K1, the attack requires 2^{64} _known_ message-MAC pairs, and reduces the number further in the case that the known messages contain a common sequence of s trailing blocks (e.g. reduced to 2^{56.5} known text-MAC pairs for s=2^{16}). (As an aside, the same type of attack can be applied to scheme (ii), using a divide and conquer strategy as outlined in [crypto95], effectively reducing its security to the larger of K1 and K2.) The results are general for an n-bit key (n=128 is discussed above); for n=64, the attack requires on the order of 2^{32} known text-MAC pairs or less, which becomes more worrisome in practice. Perhaps more significantly, the attacks continue to apply in cases where messages are of fixed length, or are prepended by length fields. 2. Point 1. above discusses generic attacks. Regarding attacks on specific hash functions, the I-D notes an attack on the compression function of MD5 by den Boer and Bosselaers, and states: ``There is not yet a known method to exploit these collisions to attack MD5 in practice, but this fact is disturbing to some authors [Schneier94].'' Indeed, considerable additional research has been recently carried out. Bert den Boer himself proposed a new hash function, namely RIPEMD, which was analyzed under the European RACE/RIPE consortium in 1992. RIPEMD is a ``very strong'' version of MD4 involving essentially two strengthened versions of MD4 running in parallel. It was designed to counter known two-round attacks on MD4 and MD5. However, more recent cryptanalytic work on MD4 by Vaudenay [md4-attack] and on RIPEMD by Dobbertin [ripemd-attack] suggests that both MD4 and (very likely) MD5 fail to be as resistent as previously believed to manipulations of their internal structures. As a result of this work, some European researchers now believe that collisions for MD4 and MD5 themselves (rather than just for their compression functions) may soon be found by similar techniques. Even if this is not the case, a very reasonable (and prudent) conclusion is that if functions like these are to be used as the basis for constructing a MAC, a more conservative design should be used than the envelope method. Neither the work of Vaudenay nor Dobbertin is discussed or referenced in the I-D. 3. One alternative to the keyed MD5 method of the I-D is the MDx-MAC construction specified in [crypto95]. This is a conservative design (as recommended in Point 2. above), has been fully implemented and verified by two independent implementations (one at BNR-Ottawa and the other at K.U.Leuven, Belgium), and runs only 5% to 20% slower than MD5 (depending on the processor and implementation). Regarding speed, the MDx-MAC construction allows the function to be based on any MD4-like function, e.g. MDx = MD4, MD5, SHA or RIPEMD; MDx = MD5 yields MD5-MAC. If speed is a tremendous concern, then MD4-MAC runs fastest, with a similar speed ration to MD5-MAC as MD4 to MD5. If security is more of a concern, SHA-MAC can be used. In contrast, the envelope method is not a conservative design. While it may be possible to argue that the envelope method is theoretically secure against various attacks, such proofs typically must assume that the underlying hash function is ``secure'' in some black-box sense (i.e. attacks cannot benefit by taking advantage of details of its internal structure, which the attacks of Vaudenay and Dobbertin noted above clearly do). 4. Two important points in the current I-D are misleading, which is particularly alarming given that so little is said about even a conjectured security level for the proposed method. i) The result from the parallel collision search paper of van Oorschot and Wiener in [OW94] is mis-stated. The I-D states that the attack ``could find messages that hash to an arbitrary given MD5 hash''. The correct statement is that two messages can be found which have a common hash, where both messages can be almost-entirely chosen by an attacker; however, the hash value cannot be. While subtle, the difference is enormous from a security viewpoint: the relative work factors for the two statements are 2^128 and 2^64 operations. ii) The I-D suggests, regarding 128-bit hashes: ``Although this is not a substantial weakness, it should be recognized that current technology is catching up to the 128-bit hash length used by MD5. Applications requiring extremely high levels of security may wish to move in the near future to algorithms with longer hash lengths." I believe this statement to be quite misleading, and may dangerously contribute to further confusion between a MAC and an unkeyed hash algorithm. A 128-bit MAC should indeed be sufficient for the forseeable future (although one might conceivably desire a larger internal chaining variable at some point). In fact, for a hash function such as MD5, [crypto95] shows that keeping less than the full 128 bits makes the MAC more resistant to certain attacks. On the other hand, 128 bits soon may well be too short for an unkeyed hash function, for applciations requiring very high levels of security. ================== Concluding remarks ================== Given the recent work in the area of both hash functions and MACs built from hash functions, the method of the proposed I-D appears to have been either insufficiently analyzed, or improperly placed in context with the best currently-known attacks. The method does not appear sufficiently sound to warrant progression of the I-D to RFC. Given the length of time it has taken for IPSEC to resolve this difficult matter, it would be ironic for this I-D to be progressed to RFC concurrently with the publication of [crypto95] which shows that the level of security it and similar constructions offer is considerably less than believed. Both the proposal of [crypto95], and other similar proposals, should be investigated as alternatives to that of the current I-D. That of [crypto95] can be MD5-based, is resistant to all currently known attacks, is essentially the same speed as MD5 itself, and would appear to be stronger than the envelope method in the case that flaws are found in the future in MD5 itself. The authors would be happy to post [crypto95] to the usual ftp sites convenient to IPSEC. It can also be made available from: K.U.Leuven ftp server: ftp.esat.kuleuven.ac.be directory: pub/COSIC/preneel Hopefully this can be discussed further, as appropriate, prior to and/or at the Stockholm IETF. ========== References ========== [rsabytes] B. Kaliski, M. Robshaw, ``Message authentication with MD5,'', pp.5--8 in _CryptoBytes_ (RSA Labs Technical Newsletter), vol.1 no.1 Spring 1995. [crypto95] Bart Preneel, Paul C. van Oorschot, ``MDx-MAC and Building Fast MACs from Hash Functions'', Proc. Crypto'95, Springer-Verlag LNCS (to appear, Aug. 1995). (A preliminary version of this paper excluding the MDx-MAC construction, ``A new generic attack on message authentication codes'', has been available to some members of the IPSEC working group.) [md4-attack] S. Vaudenay, ``On the need for multipermutations: cryptanalysis of MD4 and SAFER'', _Fast Software Encryption_, Springer-Verlag LNCS, 1995 (to appear). (Proc. of Algorithms Workshop, Leuven, Belgium, Dec. 1994). {email: Serge.Vaudenay@ens.fr} [ripemd-attack] H. Dobbertin, ``Collisions for the last two rounds of the RIPEMD compress function'', presented at rump session of Eurocrypt'95, St. Malo, France, May 1995. {email: dobbertin@skom.rhein.de} ----------------------------------------------------------------------
Xref subject previous
--NextPart
A New Internet-Draft is available from the on-line Internet-Drafts
directories.
Title : Keyed-MD5 for Message Authentication
Author(s) : H. Krawczyk
Filename : draft-krawczyk-keyed-md5-00.txt
Pages : 3
Date : 06/22/1995
This document describes a keyed-MD5 mechanism for use as a message
authentication code (MAC) (or, integrity check value -- ICV). It is mainly
intended for integrity verification of information transmitted over open
networks (e.g., Internet) between parties that share a common secret key.
The proposed mechanism combines the (key-less) MD5 hash function [RFC-1321]
with a shared secret key. The description of keyed-MD5 in this document is
independent of its use in any particular protocol. An analogous mechanism
can be used in combination with other iterative hash functions, e.g., SHA.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-krawczyk-keyed-md5-00.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-krawczyk-keyed-md5-00.txt>draft-krawczyk-keyed-md5-00.txt>ftp://ds.internic.net/internet-drafts/draft-krawczyk-keyed-md5-00.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.2)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-krawczyk-keyed-md5-00.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950622161106.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-krawczyk-keyed-md5-00.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-krawczyk-keyed-md5-00.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950622161106.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref: Re: response to Last Call on: IP Authentication using Keyed MD5 Perry E. Metzger Xref: Re: response to Last Call on: IP Authentication using Keyed MD5 Hilarie Orman Xref subject previous The document: draft-ietf-ipsec-ah-md5-03.txt presents what is supposed to become the "must to implement" message authentication function for IPSP and IPv6. The authors of that document have ignored past recommendations I made to this group regarding the choice of this function. This included recommendations worked out together with my colleagues Mihir Bellare and Ran Canetti in IBM Research, and Burt Kaliski and Matt Robshaw from RSA Labs. Out of these recommendations, all based on the idea of keying the (otherwise keyless) MD5 function, I chose one that seems the most acceptable to the WG (based on feedback from people to the list and personal discussions with some of its members). This particular function is presented in an Internet draft that was just posted: draft-krawczyk-keyed-md5-00.txt This draft limits itself to the description of the function in a way which is protocol independent, and can be referenced by other documents specifying its particular use for a given protocol, e.g., the Authentication Header of IPSP and IPv6. (This approach is similar to the way RFC-1321 is referenced for MD5). In particular, the draft does not explain the rationale for this particular transform. Information on that is provided in the articles referenced in the draft. Some of this rationale was also several times sketched in my notes to the IPSEC WG list. The particular choice presented in this new draft is intended to keep the following properties: * no change to the MD5 code required * no degradation of MD5 speed * simple key requirements Departing from these conditions, other constructions with better analytical properties can be suggested . For example, keying the MD5 function via its initial registers as proposed in references BCK and PV of the draft (this requires less assumptions on the compression function of MD5 at the cost of a minimal change in MD5 code). However, the proposed scheme does not suffer of any practical weakness known today. On the other hand, if the above properties are to be relaxed then other designs which may prove more robust to future attacks are possible. A separate note by Paul Van OOrschot to these lists proposes going in this direction. I support his position if the above conditions (no modification of MD5, speed, etc) are relaxed. Otherwise, I propose the adoption of keyed-MD5 as described in the above draft (draft-krawczyk-keyed-md5-00.txt). Hugo (Krawczyk)
Xref: Re: response to Last Call on: IP Authentication using Keyed MD5 Amir Herzberg Xref subject next To be very clear here, I'm speaking (as usual) for Perry Metzger -- not for my co-authors, just for me. These are *my* views. Take them as such. hugo@watson.ibm.com writes: > The document: draft-ietf-ipsec-ah-md5-03.txt > presents what is supposed to become the "must to implement" message > authentication function for IPSP and IPv6. The authors of that document > have ignored past recommendations I made to this group regarding > the choice of this function. I'd say that "ignored" is too strong a statement. "Felt exhausted by the battles over the authentication transform and were too desultory about making changes to the document because we were utterly and completely burned out" is perhaps a much more accurate statement. We were sort of depending on people to come up with specific language to insert. There being none mentioned, things slouched towards last call. I'm happy to see the suggestions you made adopted in this round, *PROVIDED* that my co-authors don't object (big provisio) and that the incorporation of your suggestions does not substantially delay the adoption of the document (another big provisio). This has been a draft for some time, and has been in last call for some time -- you did have an opportunity to make objections a long time ago. This is not to say that I don't want the technically best solution adopted, but it is to say that I'm more willing to try to make the changes when the documents move the next notch up the standardization process than I am to let these documents, which should have been out literally years ago, get delayed any longer. The architecture we have adopted permits open addition of new security transforms and it will be a simple matter to make your transform a new one in the suite and to mandate its implementation instead of the the existing MD5 transform in the next round of standardization. The IETF process is very forgiving in this regard. I'd like to say that had your results on this topic in cryptography not been informally discussed in Danvers and had I not enormous (that is to say, overwhelming) respect for you, Hugo, I would be of a mind to work to have your objections tossed out right now because of how ill timed they are. You should have been pressing us with specific language to insert into the drafts two months ago. As it is because I am forced to admit that you know far more about the technical merits of one signed hash method over another than almost anyone else around I feel like we have to bend over backwards to try to accomodate your ideas -- but PLEASE DONT EVER DO THIS AGAIN! Next time, please bring this all up earlier, and be mindful of the fact that the earlier set of working group last calls were in place specifically to remind you to jog our memory about such things. Also remember that this is just the first move towards standardization and that there are plenty of more opportunities to make this sort of technical correction as we move forward. > Hugo (Krawczyk) Perry
Hugo, Excellent specification for a keyed hash! Your text represents improvements and clarifications on a approach that has been a group consensus within the ipsec working group. As you know, keyed MD5 is being implemented several ways in the IETF, so your clear documentation is a significant contribution. Paul PS - now how do we most expediently update the ipsp specifications
Xref subject previous Xref subject next Perry, > > ... The authors of that document > > have ignored past recommendations I made to this group regarding > > the choice of this function. > > I'd say that "ignored" is too strong a statement. "Felt exhausted by > the battles over the authentication transform and were too desultory > about making changes to the document because we were utterly and > completely burned out" is perhaps a much more accurate statement. We > were sort of depending on people to come up with specific language to > insert. There being none mentioned, things slouched towards last call. > > I'm happy to see the suggestions you made adopted in this round, > *PROVIDED* that my co-authors don't object (big provisio) and that the > incorporation of your suggestions does not substantially delay the > adoption of the document (another big provisio). This has been a draft > for some time, and has been in last call for some time -- you did have > an opportunity to make objections a long time ago. Hugo _did_ make his objections known long ago, as you recognize in your note. The one thing he didn't do so far is to contribute replacement text, and your text implies that the only reason you know for not adopting Hugo's suggestions is that such text was not provided and you were too, well, tired to write it yourselves. Your complaint here is not justified, as you (all editors) never expressed your agreement with Hugo's suggestions and asked him to contribute text. > This is not to say that I don't want the technically best solution > adopted, but it is to say that I'm more willing to try to make the > changes when the documents move the next notch up the standardization > process than I am to let these documents, which should have been out > literally years ago, get delayed any longer. We certainly don't want any more delay!! But then, it is folly for the WG to produce a standard where we agree that the basic technique should be changed. The process was delayed too long, and we, and hopefully other vendors, are already planning to offer products which comply to the standard as much as possible this year. If the `draft standard' would contain a wrong function, then it would be implemented, and it'll be difficult to get rid of it. It's not much work to change the draft to make use of Hugo's spec and that seems the best solution. > ... > I feel like we have to bend over backwards to try to accomodate your > ideas -- but PLEASE DONT EVER DO THIS AGAIN! Next time, please bring > this all up earlier, and be mindful of the fact that the earlier set > of working group last calls were in place specifically to remind you > to jog our memory about such things. I'm happy to see you plan to fix things. But please understand: you can't complain that Hugo did not provide text as you never asked him to do so; clearly you were aware of his objections and suggestions. best, Amir
Xref subject previous Xref subject next Amir Herzberg writes: > Hugo _did_ make his objections known long ago, as you recognize in your > note. Yes, but he said nothing during working group last call. He also didn't have his paper on the topic ready yet as I recall. Never mind the recriminations. I've made my opinion on the topic known, and I've also made my opinion that Hugo's work is sufficiently worthy to bend over backwards to insert in spite of any such opinions on the topic provided that we can handle this expiditiously. Hugo, do you suppose you could propose appropriate text changes quickly? Perhaps Bill or Ran will volunteer to do it instead (assuming they agree with me that the changes are meritorious -- a big if), but I'm not in a position to volunteer them and frankly I have to do way too much other stuff in the next couple of days to volunteer much time myself. I want to emphasize that this is *my* opinion here. The co-chairs and my co-authors haven't spoken. I'm just saying what *I* think the best course of action is. Perry
Xref subject previous Xref subject next Ref: Your note of Tue, 27 Jun 1995 09:15:40 -0400 (attached) Perry, > > Hugo, do you suppose you could propose appropriate text changes > quickly? > A simple and healthy way to proceed is to have a document specifying the keyed-MD5 independently of IPSEC/IPv6 etc. The Authentication Header draft could directly reference that document, or your draft with Bill could do it. Not only I had insisted in the past with modifications to keyed-MD5, I also had suggested (in particular, echoing Phil Rogaway's clear request) to have documents that define the transforms independently of the protocol that use them (the "rfc-1321 model"). The draft draft-krawczyk-keyed-md5-00.txt can be used for this purpose (or any accepted modification of it). Hugo
Xref subject previous Xref subject next The draft repeats a defect that Van Oorschot noted with respect to draft-ietf-ipsec-ah-md5-03.txt, that it does not address the desired security properties of the transform. I realize that "better than brand X and costs no more" is meant to be a compelling argument, but some reference to absolute criteria would be useful. Why is the padding is changed from 128-bits to 512-bits in the initial key setup? Is this to allow pre-computation? If so, this should be noted so that it is not confused with a security consideration. I cannot find any of the references for the security of the method. I was only able to see a copy of the preprint of Crypto '95 paper for a few minutes and have received no replies to requests for a copy, the URL http://www.rsa.com/rsalabs/cryptobytes/ is non-existent, another reference is a "manuscript". It seems unreasonable to ask the group to make a decision if none of the background material is available to it.
Xref subject previous
Xref subject next
In his response of June 16, 95 to
Last Call on: IP Authentication using Keyed MD5,
Paul Van Oorschot has referenced the following paper:
[crypto95] Bart Preneel, Paul C. van Oorschot,
``MDx-MAC and Building Fast MACs from Hash Functions'',
Proc. Crypto'95, Springer-Verlag LNCS (to appear, Aug. 1995).
This paper is now available in postscript via anonymous ftp:
K.U.Leuven ftp server: ftp.esat.kuleuven.ac.be
directory: pub/COSIC/preneel
file: 175285 Jun 28 10:20 mdxmac_crypto95.ps
Bart Preneel
Katholieke Universiteit Leuven
-----------------------------------------------------------------
ESAT-COSIC | phone: +32 16 32 11 48
K. Mercierlaan 94 | fax : +32 16 32 19 86
B-3001 Heverlee | email: bart.preneel@esat.kuleuven.ac.be
Belgium |
-----------------------------------------------------------------
Xref subject next
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the Domain Name System Security
Working Group of the IETF.
Title : Domain Name System Security Extensions
Author(s) : D. Eastlake, C. Kaufman
Filename : draft-ietf-dnssec-secext-04.txt
Pages : 41
Date : 06/26/1995
The Domain Name System (DNS) has become a critical operational part of the
Internet infrastructure yet it has no strong security mechanisms to assure
data integrity or authentication. Extensions to the DNS are described that
provide these services to security aware resolvers or applications through
the use of cryptographic digital signatures. These digital signatures are
included in secured zones as resource records. Security can still be
provided even through non-security aware DNS servers in many cases.
The extensions also provide for the storage of authenticated public keys in
the DNS. This storage of keys can support general public key distribution
service as well as DNS security. The stored keys enable security aware
resolvers to learn the authenticating key of zones in addition to keys for
which they are initially configured. Keys associated with DNS names can be
retrieved to support other protocols. Provision is made for a variety of
key types and algorithms.
In addition, the security extensions provide for the optional
authentication of DNS protocol transactions.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-dnssec-secext-04.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-secext-04.txt>draft-ietf-dnssec-secext-04.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-secext-04.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.2)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-dnssec-secext-04.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950626104131.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-dnssec-secext-04.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-dnssec-secext-04.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950626104131.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref subject previous
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the Domain Name System Security
Working Group of the IETF.
Title : Domain Name System Security Extensions
Author(s) : D. Eastlake, C. Kaufman
Filename : draft-ietf-dnssec-secext-04.txt
Pages : 41
Date : 06/26/1995
The Domain Name System (DNS) has become a critical operational part of the
Internet infrastructure yet it has no strong security mechanisms to assure
data integrity or authentication. Extensions to the DNS are described that
provide these services to security aware resolvers or applications through
the use of cryptographic digital signatures. These digital signatures are
included in secured zones as resource records. Security can still be
provided even through non-security aware DNS servers in many cases.
The extensions also provide for the storage of authenticated public keys in
the DNS. This storage of keys can support general public key distribution
service as well as DNS security. The stored keys enable security aware
resolvers to learn the authenticating key of zones in addition to keys for
which they are initially configured. Keys associated with DNS names can be
retrieved to support other protocols. Provision is made for a variety of
key types and algorithms.
In addition, the security extensions provide for the optional
authentication of DNS protocol transactions.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-dnssec-secext-04.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-secext-04.txt>draft-ietf-dnssec-secext-04.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-secext-04.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.2)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-dnssec-secext-04.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950626104131.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-dnssec-secext-04.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-dnssec-secext-04.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950626104131.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref subject previous Xref subject next Dear Perry, I think it is wrong to characterize Hugo as jumping into this at the last minute: Hugo has been trying, unsuccessfully, to get the MAC mechanism straightened out for a very long time. When you say "PLEASE DONT EVER DO THIS AGAIN!" you do Hugo (and the community) an injustice. Your note suggests that the "correct" model is to have the more knowledgeable scientists press less knowledgeable authors to insert bits of language into their documents. This will never work to yield good cryptographic architecture or mechanisms. In this case the entire MD5 MAC document was in need of being redone (e.g. a transform was not even cleanly (use-independently) specified). Your final remark characterizes Hugo's Internet Draft as a "technical correction" (which is unjust) and suggests that there will be ample opportunities to absorb such "corrections" in the future (a prospect I find extremely unlikely). Phil Rogaway
Xref: Re: response to Last Call on: IP Authentication using Keyed MD5 Perry E. Metzger Xref subject previous Now that it may finally be on the table to do something about draft-ietf-ipsec-ah-md5-03.txt I would like to remind this community that not only should the MAC be defined independent of its intended use, so too should the encryption transform. I did this two months ago (Internet Draft draft-rogaway-cbc-encrypt-00.txt -- the suggested replacement to what is now draft-ietf-ipsec-esp-des-cbc-04.txt). I received 0 (zero) comments on this work, and the revised IPSEC document (draft-ietf-ipsec-esp-des-cbc-04.txt) was non-responsive. This despite the fact that not only is the transform in draft-ietf-ipsec-esp-des-cbc-04.txt intertwined with its use, but its description has at least two major technical errors. These were already pointed out in earlier notes: incorrectly asserting that the mechanism provides integrity, and incorrectly stating that a counter provides as an acceptable IV. Phil Rogaway
Xref subject next
Phil Rogaway writes:
> Now that it may finally be on the table to do something about
> draft-ietf-ipsec-ah-md5-03.txt
> I would like to remind this community that not only
> should the MAC be defined independent of
> its intended use, so too should the encryption transform.
More properly, you should state that it is your opinion that the
transforms should be independant of use.
> I did this two months ago
> (Internet Draft draft-rogaway-cbc-encrypt-00.txt -- the suggested
> replacement to what is now draft-ietf-ipsec-esp-des-cbc-04.txt).
> I received 0 (zero) comments on this work,
Many of us are too tired to comment in detail on every idea that comes
forward. I'm still to tired, myself. Hugo has a legitimate point that
his method provides more security, so I'm reluctantly seeing if I can
lobby to do something about them. Your changes were gratuitous and
actually less efficient, so I didn't think of them as being a good idea.
> This despite the fact that not only is the transform in
> draft-ietf-ipsec-esp-des-cbc-04.txt intertwined with its use, but
> its description has at least two major technical errors. These were
> already pointed out in earlier notes: incorrectly asserting that the
> mechanism provides integrity, and incorrectly stating that a counter
> provides as an acceptable IV.
"Major technical errors?"
I was an author of that document. There is already an explicit
reference in the document to the fact that under some circumstances
integrity can be breeched...
The usual (ICMP, TCP, UDP) transport checksum can detect |
this attack, but on its own is not considered cyptographically |
strong. In this situation, user or connection oriented integrity |
checking is needed [A-AH]. |
and the only other reference to the word "integrity" is in the
introductory sentence which generically describes goals of ESP and not
specific properties of the DES transform.
However, I'm sure in this or a later version of the document a single
sentence could easily be inserted to note that DES alone can't
guarantee integrity. This is hardly the mark of a "major technical
error" in the proposal. At worst it's something that we could say more
redundantly. I don't see that this would justify holding up the
documents, but I'll find out if we could insert a single line to that
effect.
As for counters, assuming that DES does in fact work as advertised,
flipping one bit in the IV should flip, on average, 50% of the output
bits. Do you have evidence that this is insufficient for purposes of
disguising identical initial blocks, which is all an IV does in life?
Perry
Xref subject previous Xref subject next > There is already an explicit > reference in the document to the fact that under some circumstances > integrity can be breeched... I'm not sure what you're trying to say, but the introduction of your document, AND the next higher-level document (draft-ietf-ipsec-esp-01.txt), AND the next higher-level document after that (draft-ietf-ipsec-arch-02.txt) ALL maintain that the encryption mechanism provides integrity. Either DES CBC encryption is architecturally non-compliant (and so the mechanism has to be changed), or else all of the above statements about the encryption buying you integrity need to be changed. (I've said this enough times to turn blue....) > As for counters, assuming that DES does in fact work as advertised, > flipping one bit in the IV should flip, on average, 50% of the output > bits. Do you have evidence that this is insufficient for purposes of > disguising identical initial blocks, which is all an IV does in life? Maybe you don't understand the purpose of the IV: properly used in CBC encryption the method achieves semantic security; improperly used, it does not. A one-line proof of this: simply note that if the IV takes on values <0>, <1>, ... then the adversary can distinguish the encryption of message <0> followed by the encryption of message <0> FROM the encryption of message <0> followed by the encryption of message <1>. (Here means the 64-bit encoding of integer i). (Perry - further discussion on these particular issues need not involve the entire mailing list.) Phil
Comments on the IP Security Internet Drafts
Michael Roe
Roger Needham
Mark Lomas
Ross Anderson
Ian Jackson
Cambridge University Computer Laboratory
Executive Summary
=================
This document identifies some fairly serious problems with the
cryptographic protocols which have been proposed for IP-level
security.
Accordingly, we believe that these draft protocols should not be
adopted as Internet Proposed Standards without undergoing further revision.
References
===========
``Security Architecture for the Internet Protocol''
draft-ietf-ipsec-arch-02.txt 8 May 1995
``Encapsulating Security Payload''
draft-ietf-ipsec-esp-01.txt 23 April 1995
``The ESP DES-CBC Transform''
draft-ietf-ipsec-esp-des-cbc-04.txt April 1995
``IP Authentication using Keyed MD5''
draft-ietf-ipsec-ah-md5-03.txt
``Keyed-MD5 for Message Authentication''
draft-krawczyk-keyed-md5-00.txt
1. DES-CBC doesn't provide integrity
====================================
In the architecture, clause 1.3, 5th para, the current text says:
``The IP Encapsulating Security Payload (ESP) is designed to provide
integrity, authentication, and confidentiality to IP datagrams.''
Clause 4.3 of the ESP document says that ESP doesn't always provide
integrity.
In ESP DES-CBC, clause 1, the current text says:
``The Encapsulating Security Payload (ES) [A-ESP] provides confidentiality
and integrity by encrypting the data to be protected.
This specification describes the ESP use of the Cipher Block Chaining
(CBC) mode of the US Data Encryption Standard (DES) algorithm
(FIPS-46, FIPS-46-1, FIPS-74, FIPS-81).''
In ESP DES-CBC, ``Security Considerations'' clause, the current text says:
``... on its own is not considered cryptographically strong. In this
situation, user or connection oriented integrity checking is needed [A-AH].''
The CBC mode of DES does not provide integrity; it only provides
confidentiality. This in itself is not a problem, as CBC mode is quite
suitable in situations where only confidentiality is needed.
However, it does cause a major problem for this series of related
documents. The architecture document assumes that the Encapsulating Security
Payload provides integrity as well as confidentiality. The ESP document
then admits that ESP, when used with some cryptographic transformations,
doesn't provide integrity. Finally, the DES-CBC document defines the
cryptographic transformation that is to be used, and it doesn't provide
integrity.
In the two steps from the architecture, to the ESP, to the cryptographic
transformation, things have gone badly wrong. The position has changed
by degrees from integrity being provided, to being optionally provided,
to not being provided.
To make matters worse, the DES-CBC document implies (but doesn't say outright)
that DES-CBC provides integrity.
This isn't true.
For example:
(a) The attacker can remove an integral number of 8-octet blocks from
the beginning of the ciphertext without being detected.
(b) The attacker can remove an integral number of 8-octet blocks from
the end of the ciphertext without being detected.
(c) The attacker can splice together messages (When the spliced
message is deciphered, the block at which the splice occurred may
look unusual. The attacker may well be able to get away with this)
It could be argued that DES-CBC does provide integrity, it just does it
poorly. In the same spirit, one can argue that a Caesar cipher or ROT-13
provides confidentiality, but does it poorly. No-one is seriously proposing
that a Caesar cipher should be the standard confidentiality transformation
for Internet use. Similarly, DES-CBC shouldn't be the standard integrity
transformation; integrity-wise, it's just too easy to break.
Suggested Improvements:
This could potentially be fixed in two possible ways:
(a) By replacing the DES-CBC transformation currently used by ESP with a
different transformation that does provide integrity.
We recommend this alternative.
(b) By deciding that ESP sometimes provides confidentiality only, and
changing the documents to reflect this:
i) The DES-CBC document would have to admit that DES-CBC doesn't
provide integrity
ii) The architecture document would have to admit that ESP doesn't
always provide integrity, and that if you need integrity and
confidentiality you may need BOTH an ESP header AND an Authentication
header on each datagram.
The ESP document explains that two headers may be needed (in
clause 4.3). The architecture document doesn't mention this.
This is a very important feature of the architecture. If you're
intended to use two headers, the architecture document should say
so. Conversely, if you're not supposed to use two headers, then the
ESP document shouldn't advise you to do so.
2. ``Keyed MD5'' may not be as secure as MD5
============================================
The MD5 algorithm is designed as a collision-free hash function. That is,
it is designed so that it is hard to find x and y such that MD5(x) = MD5(y),
and x<>y.
The ``keyed MD5'' method of authentication that is proposed in the
``keyed MD5'' document assumes that MD5 has a completely different property.
Specifically, it assumes that MD5(k,m,k) for message m and secret key k is
good as a message authentication code.
MD5 wasn't designed to have this property. Furthermore, it is quite possible
that MD5 will turn out not to have this property. It is quite possible that
``keyed MD5'' turns out to be very easy to break, while MD5 (used as a
collision-free hash function) remains very strong.
For example, suppose there is a statistical correlation between the input
bits and the output bits of MD5. An attacker might be able to use this
correlation to determine k, the session key. Once the attacker knows the
session key, you're lost. Note that this doesn't help the attack break
MD5 used as a collision-free hash function. It's purely an attack on
MD5 used as a MAC.
The assumption that MD5 is good as a MAC occurs elsewhere in these
documents:
IP Authentication Header, clause 4, para 1:
``Only algorithms believed to be cryptographically strong one-way functions
should be used with the IP authentication header.''
Being a good one-way function has nothing to do with being a good MAC.
This clause prevents the Authentication Header being used with some
perfectly acceptable cryptographic algorithms, because although they're
good MACs (which is what is needed) they're not good one-way functions.
Conversely, this clause encourages implementors to use unsuitable algorithms:
there are good one-way functions which are extremely poor as MACs.
IP Authentication Header, clause 4, para 3 says:
``If a block-oriented authentication algorithm (e.g. MD5, MD4) ...''
This is another example of the same error.
Suggested improvement
=====================
Delete ``one-way functions'' from IP-AH, clause 4, para 1, last sentence
(shown above).
Use ``DES MAC'' as an example of a data origin authentication algorithm,
not MD5 and MD4 (in IP-AH, clause 4, para 2)
More significantly, there should be a new document which describes the
use of the Authentication Header with a DES MAC. This algorithm could
be used by people who fear that keyed-MD5 is weak. DES MAC needn't be
made MANDATORY for all implementations. Indeed, export laws and other
regulations will probably prevent some vendors supporting DES MAC.
However, it should be specified so that people who want it can use it.
3. Separation of DES-CBC from other protocol layers
This issue isn't to do with *security*, but has rather to do with
the best way of organising the specification into separate documents.
As currently written, the DES MAC document describes the cryptographic
transformation in way that is dependent on other parts of the protocol
(the SPI, and the payload type).
It is quite likely that some other Internet protocol will be developed
that needs a DES MAC. It would be nice to have a document that just
describes DES MAC, and nothing else, that could be cited by other protocols
that need a DES MAC.
As things stand, the description of the DES MAC is badly entangled with
details of how ESP works. If another Internet protocol needs a DES MAC,
an entirely new RFC will have to be written (which will be almost exactly
like the ESP DES-MAC document, but with the ESP specific bits removed).
Suggested change:
Separate the description of DES CBC from the rest of the protocol.
in particular, take the SPI out of the DES CBC document (there is
no real reason why it should be in there).
It would make it easier to separate the description of DES MAC from
ESP if the payload type field came *before* the padding, rather than after.
That way, the DES MAC document could just describe how to pad and encipher
a block of data. The ESP document would explain what was in the enciphered
block of data (including the payload type).
4. Use of a counter as an IV
The DES CBC document suggests using a counter as an IV. This may be vulnerable
with some higher layer protocols.
If two ciphertexts are the same, an attacker can infer that the plaintext are
the same.
One of the purposes of the IV is to prevent an attacker doing this. The IV is
always different, ensuring that if the same plaintext is sent twice, the
ciphertexts will be different.
Unfortunately, this can go wrong if changes in the IV are statistically
correlated with changes in the plaintext.
Suppose that both the IV and the first block of plaintext are counters
(e.g. the plaintext is a transport layer sequence number, or something
like that). The first block of ciphertext will be DES(IV xor P1)
= DES(counter1 XOR counter2) = DES(0) = constant. That is, the effect of the
IV has been cancelled out. The same plaintext for the rest of the message
will result in the same ciphertext for the rest of the message, leaking
valuable information to an attacker.
The above example is an extreme case. In less extreme cases, what happens
is that collisions just become more likely, rather than happening every
time. For example, half the time only the bottom bit of a counter changes.
If the first block of plaintext also has the property that sometime only
the bottom bit changes, then the two may cancel each other out quite often.
Xref subject previous Xref subject next Phil Rogaway writes: > > There is already an explicit > > reference in the document to the fact that under some circumstances > > integrity can be breeched... > I'm not sure what you're trying to say, but the introduction of your > document, AND the next higher-level document (draft-ietf-ipsec-esp-01.txt), > AND the next higher-level document after that (draft-ietf-ipsec-arch-02.txt) > ALL maintain that the encryption mechanism provides integrity. Phil, do I have to spell it out yet again? ESP *does* potentially provide integrity. Thats why the language is in there. ESP is *not* the "encryption mechanism". The architecture defines it simply as the the way to encapsulate opaque IPSP packets. Thats why the "E" doesn't stand for "encrypton". One is free to define an ESP transform that combines integrity and privacy. Thats why the documents say what they do. > Either DES CBC encryption is architecturally non-compliant (and so > the mechanism has to be changed), or else all of the above > statements about the encryption buying you integrity need to be > changed. There is a third possibility, which I will leave to people's imaginations. > > As for counters, assuming that DES does in fact work as advertised, > > flipping one bit in the IV should flip, on average, 50% of the output > > bits. Do you have evidence that this is insufficient for purposes of > > disguising identical initial blocks, which is all an IV does in life? > Maybe you don't understand the purpose of the IV: properly used in CBC > encryption the method achieves semantic security; improperly used, it > does not. What is "semantic security"? This is a term I have yet to hear in many years of work in the field of cryptography. Doubtless its just my ignorance at play. I always thought that an IV was just a way to assure identical plaintext doesn't turn to identical cyphertext. Silly me. > A one-line proof of this: simply note that if the IV takes > on values <0>, <1>, ... then the adversary can distinguish the encryption of > message <0> followed by the encryption of message <0> FROM the > encryption of message <0> followed by the encryption of message <1>. > (Here means the 64-bit encoding of integer i). What are you talking about here? Pardon me, but I don't understand your "one line proof". > (Perry - further discussion on these particular issues need not involve > the entire mailing list.) Thank you. In the future, feel free to send private mail. Perry
Xref subject previous Xref subject next Ref: Your note of Tue, 27 Jun 1995 15:21:54 -0700 (attached) Hillary and all, The draft I posted was intended to have the minimal information needed for implementation of the keyed-MD5 primitive and not to explain the rationale of the choice of this particular mechanism. Explaining this rationale in a consistent and accurate way is not easy. It requires getting into the mathematical details of the analysis. However, I have sketched the ideas in notes to this list in the past. In a separate message I am sending another (more extensive) explanation of these ideas. As for the cited papers: The Preneel-VanOOrschot paper is now available. I've just learned that the RSA Cryptobytes publication is not yet in electronic form (I am told that it will be soon). As for my own paper with Bellare and Canetti [BCK], which is the strongest basis for the analysis I have, it is currently written in a "very mathematical" form, including detailed proofs of the main results. However, it lacks a good "human interface" which may be more useful for most people in this list (e.g., the practical meaning of these results, the difference in approach to previous work, etc.). This will still take a while until done (we are all busy with many other things). However, I may make the proofs available to you or other specifically interested people; let me know if you are interested. In the meantime, the high level description I am sending in the next message will hopefully help to clarify some of these issues. Hugo ----------------------------- Note follows ------------------------------ Date: Tue, 27 Jun 1995 15:21:54 -0700 From: Hilarie OrmanTo: hugo@watson.ibm.com Cc: ipsec@ans.net In-Reply-To: Yourmessage <199506270121.AA40361@interlock.ans.net> Subject: Re: response to Last Call on: IP Authentication using Keyed MD5 The draft repeats a defect that Van Oorschot noted with respect to draft-ietf-ipsec-ah-md5-03.txt, that it does not address the desired security properties of the transform. I realize that "better than brand X and costs no more" is meant to be a compelling argument, but some reference to absolute criteria would be useful. Why is the padding is changed from 128-bits to 512-bits in the initial key setup? Is this to allow pre-computation? If so, this should be noted so that it is not confused with a security consideration. I cannot find any of the references for the security of the method. I was only able to see a copy of the preprint of Crypto '95 paper for a few minutes and have received no replies to requests for a copy, the URL http://www.rsa.com/rsalabs/cryptobytes/ is non-existent, another reference is a "manuscript". It seems unreasonable to ask the group to make a decision if none of the background material is available to it.
Xref: Re: response to Last Call on: IP Authentication using Keyed MD5 Perry E. Metzger Xref subject previous Xref subject next Ref: Your note of Tue, 27 Jun 1995 15:21:54 -0700 (attached) Hillary and all, The draft I posted was intended to have the minimal information needed for implementation of the keyed-MD5 primitive and not to explain the rationale of the choice of this particular mechanism. Explaining this rationale in a consistent and accurate way is not easy. It requires getting into the mathematical details of the analysis. However, I have sketched the ideas in notes to this list in the past. In a separate message I am sending another (more extensive) explanation of these ideas. As for the cited papers: The Preneel-VanOOrschot paper is now available. I've just learned that the RSA Cryptobytes publication is not yet in electronic form (I am told that it will be soon). As for my own paper with Bellare and Canetti [BCK], which is the strongest basis for the analysis I have, it is currently written in a "very mathematical" form, including detailed proofs of the main results. However, it lacks a good "human interface" which may be more useful for most people in this list (e.g., the practical meaning of these results, the difference in approach to previous work, etc.). This will still take a while until done (we are all busy with many other things). However, I may make the proofs available to you or other specifically interested people; let me know if you are interested. In the meantime, the high level description I am sending in the next message will hopefully help to clarify some of these issues. Hugo ----------------------------- Note follows ------------------------------ Date: Tue, 27 Jun 1995 15:21:54 -0700 From: Hilarie OrmanTo: hugo@watson.ibm.com Cc: ipsec@ans.net In-Reply-To: Yourmessage <199506270121.AA40361@interlock.ans.net> Subject: Re: response to Last Call on: IP Authentication using Keyed MD5 The draft repeats a defect that Van Oorschot noted with respect to draft-ietf-ipsec-ah-md5-03.txt, that it does not address the desired security properties of the transform. I realize that "better than brand X and costs no more" is meant to be a compelling argument, but some reference to absolute criteria would be useful. Why is the padding is changed from 128-bits to 512-bits in the initial key setup? Is this to allow pre-computation? If so, this should be noted so that it is not confused with a security consideration. I cannot find any of the references for the security of the method. I was only able to see a copy of the preprint of Crypto '95 paper for a few minutes and have received no replies to requests for a copy, the URL http://www.rsa.com/rsalabs/cryptobytes/ is non-existent, another reference is a "manuscript". It seems unreasonable to ask the group to make a decision if none of the background material is available to it.
Xref subject next
I am appending here a high-level and informal presentation of the rationale
and analysis of keyed-MD5 that makes the basis for the choice of the
particular mode of keyed-MD5 (for message authentication) presented in
draft-krawczyk-keyed-md5-00.txt.
I assume the reader is familiar with the iterative structure of MD5 but not
necessarily with the details of the compression function.
All the information that follows is based on the upcoming paper [BCK]
by Bellare, Canetti and Krawczyk (as referenced in the above draft).
Hugo
ANALYSIS OF KEYED MD5 (sketch)
******************************
The basic issue with analyzing keyed-MD5 as a message authentication
function is that it builds on MD5, a function that was originally designed
for a different goal, namely, as a *keyless* collision-resistant hash function.
What follows is a high-level and informal description of the analysis in
[BCK] which is intended to identify the cryptographic requirements from a
function as MD5 (more precisely, its compression function) that would
guarantee that keyed-MD5 be a good MAC. The specific mode of keyed-MD5
presented in draft-krawczyk-keyed-md5-00.txt is an adaptation of the results
of this analysis.
KEYED COMPRESSION FUNCTIONS AND PSEUDORANDOM FUNCTIONS: Our approach
for the analysis of keyed-MD5 (or keying any other iterative hash function)
is to look at the compression function as a function *keyed via its IV*
(the initial registers of MD5). We consider the set of the resultant
(compression) functions (one function for each 128 bit key) as a
"family of pseudorandom functions". This is a well-known notion in cryptography
which captures the "proximity" of such functions to a set of truly random
functions, and generalizes the more common concept of pseudorandom generators.
The notion of security of a pseudorandom function (more precisely, a
family of such functions) can be related to the famous Turing test for
"intelligent computers". In Turing's test a human asks questions and
gets responses; then this human has to decide if he was talking to another
human being or to a machine. A computer that passes such a test, i.e.,
is not distinguished from a human being, is proven "intelligent".
With pseudorandom functions the game is similar. But the one that asks
the questions (inputs to the function) is the adversary and the responses
may come from a truly random function or from a pseudorandom function
(whose key is unknown to the adversary). The adversary wins if he decided
correctly (with probability better than half!) on whether the function
used was truly random or pseudorandom.
The adversary could distinguish the pseudorandom function from random
by recovering the secret key that defines the function, or just by being
able to predict its output, etc. The parameters that define the adversary
success are the resources it uses: time and number of queries, and the
probability (beyond half) with which it successfully distinguishes.
This probability is denoted by eps (this eps is a function of the adversary
resources, the family of pseudorandom functions in use, the length of key, etc).
An example of a (conjectured) good family of pseudorandom functions (or
permutations) is DES. In this example each DES key determines a function
in the family. If you know the key then you can compute the function in any
point, but if not you can hardly predict a single bit of output.
DES in MAC-CBC mode is also an example of pseudorandom functions (and
the reason why it makes a good MAC).
MAC FUNCTION: In general, a good pseudorandom function (i.e., one with
small eps for reasonable resources by the adversary) makes a good MAC.
A MAC (for message authentication code) is a function that uses a secret
key and computes tags or checksums on information that only parties possessing
the secret key can generate. The game for the adversary (that doesn't
know the key) is that he can request the result of the checksum computed
on a sequence of messages of his choice. At the end, after asking enough
queries, the adversary needs to come with a message that he didn't ask
before, but for which he can generate the checksum by himself.
(This represents a "chosen message attack", and the new message for which
the adversary can generate the checksum is a "forged message").
The more time and/or queries an adversary needs to reach a certain probability
of forging a message the better the MAC function is.
The goal of the design of keyed-MD5 is to come with a scheme that makes a
good MAC.
FROM PSEUDORANDOM COMPRESSION FUNCTION TO SECURE MAC: What we [BCK]
essentially prove is that *if the keyed compression function* of MD5
makes a good pseudorandom function, then its iterations preserve this
condition, and then the whole keyed-MD5 function makes a good MAC.
Moreover, we give a precise reduction of the form: if you give me a forgery
attack on keyed-MD5 we construct from it an explicit distinguishing attack
on the basic compression function, where the success parameters
(eps, etc) of both attacks are precisely related in our analysis.
This approach is a formalization of the intuitive reasoning that assumes
MD5 and similar functions to "behave as random functions". The pure intuitive
approach, if not taken carefully, can be very misleading. In particular,
one can prove (with different levels of sophistication) that the MD5
function does not behave as a random function (e.g., through extension
attacks, statistical collisions, etc). However, in our formal analysis
we prove that if the *keyed* compression function is close enough to
random then the iterations are not far from random.
This methodology of relating the security of the iterated function to that
of the compression function is analogous to the traditional approach to
constructing collision-resistant hash functions. For the later, the
resistance of the compression function to collision search guarantees that
property for the iterated function. In our case, it is the pseudorandom
property that is propagated through the iterations, to provide a secure MAC.
THE PSEUDORANDOMNESS ASSUMPTION: To this date we do not know of significant
weaknesses of MD5's keyed compression function as a pseudorandom function.
Still this property is a conjecture and not something that can be expected
to be proven (soon). It is important to remark that it is the same property
that is implicitly assumed by everybody that uses these functions to
generate (pseudo) random keys (this is done "everywhere" these days:
in Photuris, SSL, MKMP, the Preneel-van OOrschot paper [PV], just to
mention some places that come to my mind). Interestingly, in the case of SHA
the pseudorandomness of the function is claimed by the designers who
recommend (in the DSS standard) the use of SHA for pseudorandom key generation.
(In other words, if you consider your keys generated using MD5 as "random"
then you can safely assume keyed-MD5 is a good MAC.)
On the other hand, we do not prove the *necessity* of the pseudorandomness
condition on the compression function in order for keyed-MD5 to be a secure
MAC. Thus, it may be the case that even if the compression function is not
pseudorandom still keyed-MD5 is a good MAC.
Indeed, we have a more subtle analysis of some of the modes of keyed-MD5
in which pseudorandomness can be traded by different assumptions on the
compression function. (I won't get into these details here).
MAC AND COLLISION-RESISTANCE: It is important to remark that our approach
reflects a significant distinction between keyed and keyless hash functions,
namely, that the *traditional* security requirement of collision-resistance
for keyless hash functions does not apply to a (keyed) MAC.
Namely, the feasibility of finding (traditional) collisions in a given
function is *not* (by itself) a sign that the function does not make
a good MAC. The reason being that collision search (for MD5 and similar
functions) concentrates on finding collision when the IV is *known* (or
even chosen). In keyed-MD5 the IV is the key and then *random and secret*.
A good search engine designed for known IV's (e.g. Van Oorschot-Wiener)
may be useless to attack keyed-MD5.
A good example for the independence between the collision resistance
aspect and being a good MAC is (again) DES. If you know the key for
DES-CBC-MAC you can find as many collisions as you want
(using the invertibilty of DES with known key), but if you do not know the
key, then collisions are hard to find (except for the fact that 64 bits of
output allows for attacks in the order of 2^32 known/chosen message attacks).
In other words, even if you hear tomorrow of (real) collisions in your
favorite hash function it does not mean the function becomes insecure
as a keyed function. (Though, that could be the case depending on the
effect of that analysis on the pseudorandomness of the compression function).
On the other hand, if collisions can be found (more than statistically
expected) even if the IV is secret, that will have a significant negative
effect on the security of the MAC. However, this kind of collisions are
very different than the traditional ones. In particular, the adversary will
need the "assistance" of the legal user to collect MAC results on known
and/or chosen messages; this is in sharp contrast to known-IV collisions
that can be searched by the adversary off-line and independently of
any user or secret key.
THE PROPOSED MODE OF KEYED-MD5: Now back to the keyed-MD5 function as
described in my draft, namely, MD5(K,pad,text,K).
As you can see this mode does not directly use a keyed-IV. Indeed, in
order *not to change* the MD5 code, we are applying regular MD5 (with
its regular "magic IV") to the actual key (which is padded to complete
a full block), and the result of this first application becomes the "random
secret IV" for the rest of the function. The appended key has two roles:
to prevent extension attacks, and to serve as yet another (implicit)
transformation on the output of MD5. Notice that the appended key is
not padded (see below for its rationale).
On the other hand, the padding of the prepended key is done due to
*security reasons*. One is to achieve a transformation of the key into
a pseudorandom IV (as explained above), the other is to avoid, in the
case of short messages having a single iteration of MD5 (Kaliski and
Robshaw pointed out that a single iteration may be more vulnerable
to linear cryptanalysis - though, no such weakness is known today).
The use of keys of length less that 128 bits is not recommended.
Keys longer than 128 bits may not add any significant security given that
the actual strength is given by the resultant IV which is 128 bit long.
As said in an note I sent a few days ago, this particular choice of
keyed-MD5 is intended to satisfy the following properties:
* it is based on MD5 (or similar functions)
* no change to the MD5 code required
* no degradation of MD5 speed
* simple key requirements
Departing from these conditions, other constructions with better analytical
properties can be suggested . For example, directly keying the MD5 function
via its initial registers as proposed in [BCK] (and [PV])
(this requires less assumptions on the compression function of MD5
at the cost of a minimal change in MD5 code).
However, the proposed scheme does not suffer of any practical weakness
known today. On the other hand, if the above properties are to be relaxed
then other designs which may prove more robust to future attacks are
possible. This includes functions that may be completely unrelated to MD5 or
similar hash functions; indeed such an approach may prove more secure and/or
more efficient than basing the MAC on iterated hash functions.
THE BIRTHDAY ATTACK: The best attack on keyed-MD5 that we know is a 2^64
chosen/known message attack that we sketch next.
For simplicity, consider the application of keyed-MD5 (denoted KMD5)
on messages of the form AB where A is a 512-bit block and B a 320-bit block.
KMD5(AB) results on three iterations of the compression function of MD5
on the information (K, pad, A , B, K, length), where K is the 128-bit
key, pad is '1' followed by 383 0's, and length is the 64 bit encoding
of the total length (i.e, 960) as added by MD5.
An attacker fixes a block B, and asks for the KMD5 of (Ai,B),
for i=1,2,...,2^64, where the Ai's are 2^64 (arbitrary and different)
blocks of 512 bits each.
With good probability (by the birthday paradox), there exist i<>j with
KMD5(Ai,B)=KMD5(Aj,B). In particular,with good probability it happens
in this case that MD5(K,Ai)=MD5(K,Aj) (this is the result of the first
iteration of MD5, i.e. no length appended). The adversary then asks for
KMD5(Ai,C) for any value of C<>B. It then "guesses" the value of KMD5(Aj,C)
to be the same as KMD5(Ai,C). If, indeed, it happened that (K,Ai) collided
with (K,Aj) after the first iteration of MD5 then the adversary is right.
That is, with high probability the adversary correctly forged KMD5(Aj,C).
(Clearly, improvements for the adversary are possible such as testing
whether the latter collision happened by using some other value
of C, but the above is enough for a forgery with good probability).
Strictly speaking the above attack requires 2^64 *chosen* messages since
it requires keeping the last block unchanged. The blocks Ai, however, can be
arbitrary. They need to be known to the adversary (at least those that
generate collisions) but not to be chosen by him. In some scenarios a common
trailing block may be available as part of standard encoding of information
in which case the attack may become a known-only attack.
(This is a reason not to pad the appended key in keyed-MD5 to a full block
and for keeping the appended length of MD5).
In addition, the attack works with messages of any length (even variable
length) and the more common trailing blocks in the messages being queried
the better the success probability of the attack.
However, these attacks require, in any case, a huge amount of information
(2^64 blocks) being MAC-ed with the *same key*. To be avoided one just
needs to change keys before processing that much information.
We note that the same type of attack applies to all proposed modes for
keying MD5, and more generally it applies to all iterative constructions
of MAC (including CBC-MAC).
As said, it is the best attack we know on keyed-MD5. In [BCK] we show that
this attack is optimal if the compression function is a truly random
function. However, for functions like keyed-MD5 this may very well not be
the case.
It is important to note the essential difference between the above
attack and the traditional birthday attacks on collision-resistant hash
functions as MD5. In the latter, the processing time for the attack is
also 2^64 but is independent of any secret information and requires no
interaction with the legitimate party. Thus, it is far more realistic than
against keyed-MD5.
The birthday attack on iterative MAC described above was independently
discovered by [BCK] and by Preneel and Van Oorschot. A detailed description
of the attack can be found in the upcoming Crypto'95 paper by the later
authors [PV].
REFERENCES
[BCK] M. Bellare, R. Canetti, and H. Krawczyk, "Keying MD5 -- Message
Authentication via Iterated Pseudo-randomness", manuscript.
[PV] B. Preneel and P. Van Oorschot, "Building fast MACs from hash
functions", to appear Crypto'95.
Xref: Re: Some comments on IPSEC proposals Perry E. Metzger
Xref subject next
To: IPSEC Community, IESG
(iesg@cnri.reston.va.us, ietf@cnri.reston.va.us, ipsec@ans.net)
From: Ronald L. Rivest
Date: June 30, 1995
Re: Comments on IPSEC Internet Drafts
This is response to the call for comments on the following documents,
which are proposed for consideration as Proposed Standards:
[SA] Security Architecture for the Internet Protocol
<draft-ietf-ipsec-arch-02.txt>
[AH] IP Authentication Header
<draft-ietf-ipsec-auth-02.txt>
[AHMD] IP Authentication using Keyed MD5
<draft-ietf-ipsec-ah-md5-03.txt>
[ESP] IP Encapsulating Security Payload (ESP)
<draft-ietf-ipsec-esp-01.txt>
[ESPDES] The ESP DES-CBC Transform
<draft-ietf-ipsec-esp-des-cbc-04.txt>
0. EXECUTIVE SUMMARY
I believe these documents are in need of significant further work
before they are ready for adoption as proposed standards.
1. INTRODUCTION
These documents propose techniques for securing network communications
at the IP layer. The first gives a general overview of the proposed
security architecture. The next two discuss the use of authentication
headers to authenticate IP packets. The last two discuss methods for
achieving confidentiality (and authentication) of IP packets. This
note will critique these documents collectively, emphasizing the areas
where I believe further work is needed, rather than discussing areas
that are already well done.
Since I have not actively followed the dialogue leading up to these
proposals, and am not an expert at IP/Internet protocols, some of my
concerns may reflect my own ignorance of the context or intent of
these proposals. If so, this may be an indication of where these
documents should be improved, without necessarily changing the
proposals themselves.
I was stimulated in part to provide these comments by Phil Rogaway's note:
[ROG] Problems with Proposed IP Cryptography
<draft-rogaway-ipsec-comments-00.txt>
Some of my comments will be based on Phil Rogaway's excellent critique.
I have also found the following excellent document very relevant and
interesting:
[PO] MDx-MAC and Building Fast MACs from Hash Functions
by Bart Preeneel and Paul C. van Oorschot
available by ftp from K.U.Leuven:
ftp server: ftp.esat.kuleuven.ac.be
directory: pub/COSIC/preneel
file: mdxmac_crypto95.ps
2. DISCUSSION OF PHIL ROGAWAY'S COMMENTS
I begin by reviewing Phil Rogaway's comments.
2.1 "AUTHENTICITY = INTEGRITY" [cf ROG 1.]
I agree entirely with Phil here; the distinction between message authenticity
and message integrity is vacuous here, and the proposed documents should be
rewritten to use just a single term (message authenticity) for this notion.
(I support Phil's recommendation 1.)
2.2 "ENCRYPTION DOES NOT GUARANTEE INTEGRITY" [cf ROG 2.]
Again, Phil is on target here. The proposed documents have a confused
and ambiguous discussion as to how authenticity is to be achieved. The
confidentiality and authenticity techniques should be cleanly separated
orthogonal mechanisms.
(I strongly support Phil's recommendation 2.)
2.3. "IT IS WORTHLESS TO ENCRYPT KNOWN HEADERS" [cf ROG 3.]
Here Phil recommends (his recommendation 3) that the encryption of
known headers should be forbidden, on the grounds that AH, and not ESP,
should be used for authenticity. I agree.
(I support Phil's recommendation 3.)
2.4 "DON'T ENCRYPT MESSAGE AUTHENTICATION CODES" [cf ROG 4.]
Although it is not uncommon to encrypt MACs, Phil is exhibiting excellent
taste by suggesting that the scope of the authentication header should
include the encrypted packet, rather than vice versa. While I don't know
of any security weaknesses from the proposed organization, Phil's suggestion
is cleaner and preferable.
(I support Phil's recommendation 4.)
2.5 "DEFINE TRANSFORMS GENERICALLY" [cf ROG 5.]
This recommendation is just common sense in support of better modularity
in the description of what is being proposed.
(I support Phil's recommendation 5.)
2.6 "MANDATE HARDWARE-EFFICIENT *AND* SOFTWARE-EFFICIENT TRANSFORMS"[cf ROG 6.]
Efficiency is clearly an important issue when we are talking about
operations that affect potentially every packet on the Internet.
I think that the main point here is that there should be considerable
freedom to choose alternative encryption techniques.
(I have no problem with Phil's recommendation 6.)
2.7 "USE 128-BIT KEYS" [cf ROG 7]
The key sizes should either be totally arbitrary (perhaps up to some
generous limit, such as 4096 bits), at the user's discretion, or else
be fixed at 128 bits as Phil proposes. I prefer the former approach,
as it provides flexibility that may be necessary to accomodate
different algorithms or other considerations (such as export control).
(I think that the key sizes should be at the user's discretion.)
2.8 "THE MAC MECHANISM" [cf ROG 8]
I begin by noting that Burt Kaliski and Matt Robshaw have written an
excellent article that is relevant:
"Message Authentication with MD5"
by Burt Kaliski and Matt Robshaw
CRYPTOBYTES, vol 1, number 1 (spring 1995), pages 5--8.
(available from the authors at burt@rsa.com or matt@rsa.com)
Phil criticizes the proposed use of MD5 as a MAC mechanism for:
(1) being too slow,
(2) having no theoretical foundations for the proposed mode of use
of MD5.
(3) having no manifest parallelism in the design of MD5.
Unfortunately, at this point in time we faced with choosing from what
is available. Phil proposes an excellent direction in his recommendation
8, but this is still research, not something that is ready for standardization.
Phil says he is working on something, and this may turn out to be a better
proposal than the current MD5 proposal. I have also been thinking about
new hash function designs that might provide superior performance. However,
at this point in time there are no concrete alternatives on the table.
Keyed-MD5 may be a plausible choice at the current instant, but we should be
prepared for the fact that in the very near future we may see
significantly better alternatives proposed and sufficiently evaluated
to be considered as replacements. (Also, the use of hash functions
with more than 128 bits of output may become routine good practice.)
There may be some confusion as to whether the current proposal is
(1) MAC_a(x) = MD5(MD5(x).a) or
(2) MAC_a(x) = MD5(a.x.a)
Phil seems to say that the current proposal is (1), whereas [AH] says
that it is (2); I believe Phil's comment here is based on an earlier
proposal.
The general question of how to best design a (keyed-)MAC from a
one-way hash function is still quite open, and under vigorous
research. The paper [PO] provides some excellent discussion and
analysis of the proposed methods (1) and (2), among others. I think
that our understanding of this area is likely to improve significantly
in the very near term. The best solution in the end is likely to be
an approach one that is designed to be a keyed-MAC from the start. We
are still at the early stages of understanding how to do this, but I
think that efficient and workable proposals may arise very quickly
from the crypto community, now that attention has been drawn to this
issue.
(I think Phil's recommendation 8 is an excellent goal; but it doesn't
answer the question as to what one should do something immediately,
or if one should do something immediately.)
The best approach may be not to commit to a keyed-MAC function at this
time, but rather to explicitly nominate a "straw-man" proposal that is
obviously weak and which MUST clearly be replaced at a later date (but
soon!) when we know a little more. The straw-man algorithm could be
used in trial implementations for testing purposes, but would provide
no real authentication. For example, choosing as a straw-man
algorithm MD5 with NO key input would be such a straw-man algorithm.
This can be used as a place-holder until there is a better consensus
in the cryptographic community as to how to proceed with a
(keyed-)MAC. I believe that such an approach is better than
nominating one of the current proposals (e.g. (2) above) as a
"straw-man", since there might then be too much pressure to leave it
in place, even if it turned out to have significant deficiencies under
further analysis (such as is begun with [PO].) Having an explicitly
weak "straw-man standard" in place as an acknowledgement that we are
not really sure yet of what we are doing will put intense pressure on
the crypto community to get its act together on this matter quickly,
and I would hope that within six to eighteen months a consensus will
evolve (so this issue could be resolved during '96 at the latest).
The current workings of the ipsec community have generally been
outside the purview of much of the crypto community, although a few
cryptographers have paid attention to ipsec issues and have
contributed generously of their time. The straw-man proposal would
provide a very high-profile challenge that there is a still a felt
need for efficient, secure, keyed-MACs for standardization purposes.
2.9 "THE ENCRYPTION MECHANISM" [cf ROG 9]
Phil suggests that "at this point, it may be irresponsible for any NEW
proposal to specify DES in a mode of operation which is susceptible to
2**56 complexity key-exhaustion." I agree. The proposal to use triple-DES
in a mode that is potentially compatible with single-DES (due originally,
I believe, to Walt Tuchman), can satisfy those users who want the efficiency
(and security) of single-DES.
(I agree with Phil's recommendation number 9.)
Phil also criticizes the proposal for lack of specificity in describing
how the DES-CBC is to be performed. I think that his comments here are
well-motivated.
(I agree with Phil's recommendation number 10, although I think that this
is a minor point.)
3. ADDITONAL COMMENTS AND DISCUSSION
I give here some additional comments, in no particular order. Some of these
may reflect real concern about the security or feasibility of the proposed
schemes, whereas others may merely reflect my misunderstanding of the
proposal. Some of these comments may repeat themes already addressed
above.
3.1 KEY DISTRIBUTION / KEY AGREEMENT
These proposals are incomplete and essentially unusable without at
least one specific proposal for non-manual key distribution or key
agreement. While individual parties can clearly set up ad-hoc
mechanism for key distribution or key agreement, the proposals studied
here are not going to have any widespread deployment or utility until
some standards for key distribution or key agreement are also available.
While there is some discussion of this issue in [SA], there is nothing
yet usable provided in terms of a proposal for a standard.
I think that the current proposals should be held in abeyance (and worked on)
until a complete package including key distribution and/or key agreement
is also ready for consideration; I see little harm, and much potential
good, in doing so.
3.2 LACK OF SPECIFICITY OR CLARITY
There are many places where the proposals are insufficiently clear about
what is intended, so much so that an implementor can not proceed. Here
is a small list of items I noticed. (This is not intended to be comprehensive.)
[SA]
p 6: "SHOULD let that SPI become stale..."
(when is an SPI stale?)
[AH]
(page 6) It is recommended here and in other
places [e.g. AHMD p. 1] to use "pseudo-random" values
(here for the SPI, in AHMD for the authentication key).
How is a user to pick a "pseudo-random" value? Are
counters suitable for the SPI? Is a linear-congruential generator
suitable?
(page 7-8) "This requirement is placed in order to allow for
future IP optional headers which the receiver might not know about
but the sender necessarily knows about if it is including such
options in the packet." (I have no idea what this means.)
[AHMD]
[ESP]
(page 6) "If strict red/black separation is being enforced..."
(This term needs a reference or a definition.)
(page 7) "If no key exists for this session or the attempt to
decrypt fails,"
It is not clear what it means for the decryption to fail.
The authors seem to imply that the it means that the next
layer of protocol has a problem with the decrypted text, which
is, in my opinion, a poor choice. I think that the only reason
decryption should "fail" is that decryption is impossible
(e.g. the ciphertext is not a multiple of the cipher block
size). Authentication failure should be used to detect all
other problems.
(page 8) If user-oriented keying is not in use..."
This paragraph makes no sense to me. It should be elaborated.
What is the attack that is being prevented here?
[ESPDES]
(page 3) "The session key SHOULD be changed at least as frequently
as every 2**32 datagrams."
What is the justification for this condition? What attack
is being prevented here?
(page 3) "This field is considered to be transparent, though most
users will not be able to make sense of its contents."
This sentence pretends to be transparent, but this reader could
not make sense of its contents.
3.3 HOST-ORIENTED vs USER-ORIENTED KEYING
In [SA, section 4.4] it is stated that "support for user-oriented keying
SHOULD be present in all IP implementations".
Since "users" as such are not named principals at the IP protocol level,
we are getting into strange territory here.
It is not clear what "support for user-oriented keying" means. Does
this merely mean that each user can be associated with a separate SPI,
or does it mean that the host system must support secure multi-user
processing somehow (e.g., so one user can not read another user's key
by probing memory addresses assigned to the other user)? If I send
encrypted traffice to an SPI that is associated with a particular
user, what am I guaranteed about the security of that traffic from other
users on the same host as the receiver? If nothing is guaranteed, why
have this feature?
The entire discussion on user-oriented keying seems confused (or at least
confusing). This capability ought to be more carefully described, or
dropped. I'm tempted to recommend just dropping it.
More broadly, these documents need to have a clearer philosophical position
as to what their goals are. In particular, these documents should make it
clear how what they are doing differs from security protocols that work
at higher layers of the protocol stack. It would seem sensible to think
that a protocol at this IP layer should ONLY worry about security between
hosts, and let protocols at higher layers take care of security between
end-users or their applications. Bringing in users and userids to this
protocol risks great confusion and muddled systems.
3.4 USE OF MD5
The language in [AH, section 4] says "If a block-oriented authentication
algorithm (e.g. MD5 or MD4) is in use and the IP packet is not an integral
number of blocks, the authentication data calculation is performed using
zero bytes at the end to pad the length out to an integral number of blocks
[Riv92]."
This is VERY confused, since MD5 (and MD4) are byte-oriented algorithms
that are specified to normally take variable-length byte-strings as input.
It is not necessary (and may even be dangerous) for the user to supply his
own padding!
3.5 AUDIT LOGS
In [AH, page 9] and other places, it is stated that the system "MUST
record the authentication failure in the system log or audit log."
Given the rate at which bad packets can be delivered to a system by a
malicious adversary, it may not be too hard for the adversary to fill
up the disk of a complying implementation with the audit log. I think
the "MUST" should be downgraded to "SHOULD".
4. CONCLUSIONS
I feel that the proposed protocols are not sufficiently worked out to
allow proceedings with them as a proposed standard.
Ronald L. Rivest
Room 324
545 Technology Square
Cambridge, MA 02139
617-646-0504
http://theory.lcs.mit.edu/~rivest
rivest@theory.lcs.mit.edu
Xref subject previous Xref subject next It appears that all that is needed to incorporate Hugo's suggestion is a change of a line or two of the MD5 AH draft to specify that the prepended part of the key be padded out with a 1 bit and some number of 0 bits to 512 bits. Am I correct on this, Hugo? Given the simplicity of this change, I'm inclined to see if we can insert it before RFC publication, in spite of the late timing. Again, this depends on what my co-authors say and on general consensus. It would also be nice if Hugo were to post a message explaining the rationale for this in approximate laymans terms. (I'd still like him to write the language to insert but I don't have much hope that he'll do it.) Perry
Xref: Re: Some comments on IPSEC proposals Hilarie Orman
Xref subject previous
Xref subject next
It appears that by failing to be as vicious as possible about Phil
Rogaway's lack of understanding of the architecture of IPSP that I
have inspired people to take him seriously. It also appears that Phil
has been lobbying people to have them comment. I can understand how
even an intelligent reader, going through his comments, could become
confused about the architectural issues here. However, let me say that
I found his comments to be almost completely without merit. Other than
a few comments about places where the text used ambiguous language
(i.e. textual ambiguity) I found almost nothing of value in what he
had to say.
Ron Rivest writes:
> I was stimulated in part to provide these comments by Phil Rogaway's note:
>
> [ROG] Problems with Proposed IP Cryptography
> <draft-rogaway-ipsec-comments-00.txt>
Phil doesn't understand the architecture.
> 2.1 "AUTHENTICITY = INTEGRITY" [cf ROG 1.]
>
> I agree entirely with Phil here; the distinction between message authenticity
> and message integrity is vacuous here, and the proposed documents should be
> rewritten to use just a single term (message authenticity) for this notion.
> (I support Phil's recommendation 1.)
This is a serious problem? It's a textual change.
> 2.2 "ENCRYPTION DOES NOT GUARANTEE INTEGRITY" [cf ROG 2.]
>
> Again, Phil is on target here.
No he isn't.
> The proposed documents have a confused and ambiguous discussion as
> to how authenticity is to be achieved.
They are completely clear. The problem is that Phil doesn't undstand
that "ESP can provide authentication" doesn't mean "ESP provies
authentication". As for how it is achieved, that depends on the
individual transform. The DES transform, as defined, does *not*
provide authentication. Each transform provides authentication and/or
privacy in a transform dependant manner.
> 2.3. "IT IS WORTHLESS TO ENCRYPT KNOWN HEADERS" [cf ROG 3.]
>
> Here Phil recommends (his recommendation 3) that the encryption of
> known headers should be forbidden, on the grounds that AH, and not ESP,
> should be used for authenticity. I agree.
> (I support Phil's recommendation 3.)
I'm not sure what you mean here.
> 2.4 "DON'T ENCRYPT MESSAGE AUTHENTICATION CODES" [cf ROG 4.]
>
> Although it is not uncommon to encrypt MACs, Phil is exhibiting excellent
> taste by suggesting that the scope of the authentication header should
> include the encrypted packet, rather than vice versa. While I don't know
> of any security weaknesses from the proposed organization, Phil's suggestion
> is cleaner and preferable.
This is a transform issue, not an architectural issue. Because Phil
seemed to have no understanding of how the architecture works, of course...
> (I support Phil's recommendation 4.)
>
> 2.5 "DEFINE TRANSFORMS GENERICALLY" [cf ROG 5.]
>
> This recommendation is just common sense in support of better modularity
> in the description of what is being proposed.
> (I support Phil's recommendation 5.)
There is no good reason for this and there is lots of reason not to
want it.
> 2.6 "MANDATE HARDWARE-EFFICIENT *AND* SOFTWARE-EFFICIENT TRANSFORMS"[cf ROG 6
.]
>
> Efficiency is clearly an important issue when we are talking about
> operations that affect potentially every packet on the Internet.
> I think that the main point here is that there should be considerable
> freedom to choose alternative encryption techniques.
And the drafts make it clear that sides are free to negotiate any
security transform they wish. What is the issue here?
> (I have no problem with Phil's recommendation 6.)
>
> 2.7 "USE 128-BIT KEYS" [cf ROG 7]
>
> The key sizes should either be totally arbitrary (perhaps up to some
> generous limit, such as 4096 bits), at the user's discretion, or else
> be fixed at 128 bits as Phil proposes.
Pardon, but as I've noted, this is a transform issue, not an
architectural issue, and individual tranforms are free to pick what
parameters they want. We are mandating a few baseline transforms for
interoperability, but thats it.
> 2.8 "THE MAC MECHANISM" [cf ROG 8]
Let me point out that the fact that we have modular transforms renders
this entire issue fairly unimportant. We can replace transforms as we
like.
> Keyed-MD5 may be a plausible choice at the current instant, but we should be
> prepared for the fact that in the very near future we may see
> significantly better alternatives proposed and sufficiently evaluated
> to be considered as replacements.
And that is why the architecture makes it easy to replace transforms
at will.
> 2.9 "THE ENCRYPTION MECHANISM" [cf ROG 9]
>
> Phil suggests that "at this point, it may be irresponsible for any NEW
> proposal to specify DES in a mode of operation which is susceptible to
> 2**56 complexity key-exhaustion." I agree. The proposal to use triple-DES
> in a mode that is potentially compatible with single-DES (due originally,
> I believe, to Walt Tuchman), can satisfy those users who want the efficiency
> (and security) of single-DES.
I wanted to mandate 3DES but the feeling was that it wasn't a good
idea for a variety of reasons. A 3DES transform has been defined but
is not being made explicitly part of the baseline -- however it is my
expectation that vritually everyone is going to implement it.
> 3.1 KEY DISTRIBUTION / KEY AGREEMENT
>
> These proposals are incomplete and essentially unusable without at
> least one specific proposal for non-manual key distribution or key
> agreement.
We understand that. Thats why we are working on a key distribution
proposal. We aren't stupid. It looks like Photuris, which is a variant
on the Diffie-Hellman based STS protocol, is going to be used.
> I think that the current proposals should be held in abeyance (and worked on)
> until a complete package including key distribution and/or key agreement
> is also ready for consideration; I see little harm, and much potential
> good, in doing so.
I see enormous harm. The current proposals do us a lot of good RIGHT
NOW. There are dozens of manufacturers preparing to unleash
incompatible versions of this same thing on the world. The IPSEC
working group has delayed its output for years already -- there is no
reason not to move forward to draft right now.
> 3.2 LACK OF SPECIFICITY OR CLARITY
>
> There are many places where the proposals are insufficiently clear about
> what is intended, so much so that an implementor can not proceed. Here
> is a small list of items I noticed. (This is not intended to be comprehensive
.)
> [SA]
> p 6: "SHOULD let that SPI become stale..."
> (when is an SPI stale?)
After sufficient time has elapsed for it to be reasonable that the
counterparty would not attempt to reuse the value. It is hard to set a
time value on this in stone because it is dependant on too many things
that will change with time and technology. There are plenty of similar
magic values in the TCP documents and we've survived it.
> [AH]
> (page 6) It is recommended here and in other
> places [e.g. AHMD p. 1] to use "pseudo-random" values
> (here for the SPI,
Actually, the SPI is an *arbitrary* value, not a randomly generated
number. The rest of the document makes this clear.
in AHMD for the authentication key).
> How is a user to pick a "pseudo-random" value?
Security considerations makes it clear that the authentication key
must selected as any other key is selected -- i.e. it can't be
guessable and otherwise can be selected by some random process. We
don't specify a process because that is up to the key management
system, which might assign it using Diffie-Hellman, a voting
mechanism, selection based on a key generator box on one of the
machines, etc.
> Are
> counters suitable for the SPI? Is a linear-congruential generator
> suitable?
ANY mechanism is suitable. The documents make this clear. Some
implementations may wish to assign them in a way that makes hashing
efficient. Some may wish to assign them with a counter. Some may wish
to assign them by counting upwards by the value of the national debt
of Vanuatu modulo the phase of the moon. It makes no difference.
> (page 7-8) "This requirement is placed in order to allow for
> future IP optional headers which the receiver might not know about
> but the sender necessarily knows about if it is including such
> options in the packet." (I have no idea what this means.)
You removed the context.
" The sender MUST compute the authentication over the packet as that
packet will appear at the receiver."
The construction is awkward but makes it clear that you do the
authentication over the packet as it will look when the receiver gets
it, excluding things that will be stripped along the way.
> [AHMD]
> [ESP]
> (page 6) "If strict red/black separation is being enforced..."
> (This term needs a reference or a definition.)
Its a DOD term of art.
> (page 7) "If no key exists for this session or the attempt to
> decrypt fails,"
> It is not clear what it means for the decryption to fail.
ESP doesn't just mean "privacy", it can also mean
"authentication". Also, there are checksums in the underlying packet,
like IP layer checksums, that can fail.
> The authors seem to imply that the it means that the next
> layer of protocol has a problem with the decrypted text, which
> is, in my opinion, a poor choice.
What is your alternative?
> I think that the only reason
> decryption should "fail" is that decryption is impossible
> (e.g. the ciphertext is not a multiple of the cipher block
> size). Authentication failure should be used to detect all
> other problems.
This is a matter of pragmatism. In practice, there often won't be
any other way to detect the problem.
> (page 8) If user-oriented keying is not in use..."
> This paragraph makes no sense to me. It should be elaborated.
> What is the attack that is being prevented here?
Bellovin's attack, among others.
> [ESPDES]
> (page 3) "The session key SHOULD be changed at least as frequently
> as every 2**32 datagrams."
> What is the justification for this condition? What attack
> is being prevented here?
Attacks. 1)IV replication and 2) attacks based on excessive use of the
key. Its a SHOULD, not a MUST.
> (page 3) "This field is considered to be transparent, though most
> users will not be able to make sense of its contents."
> This sentence pretends to be transparent, but this reader could
> not make sense of its contents.
Do you grok the Transparent/Opaque boundary in the datagram? The IV is
an arbitrary number and thus has no meaning, but it is in the
transparent part of the datagram, not the opaque part.
> 3.3 HOST-ORIENTED vs USER-ORIENTED KEYING
>
> In [SA, section 4.4] it is stated that "support for user-oriented keying
> SHOULD be present in all IP implementations".
>
> Since "users" as such are not named principals at the IP protocol level,
> we are getting into strange territory here.
This has been discussed in detail. Please read the extremely extensive
archives and IETF proceedings.
> It is not clear what "support for user-oriented keying" means. Does
> this merely mean that each user can be associated with a separate SPI,
> or does it mean that the host system must support secure multi-user
> processing somehow (e.g., so one user can not read another user's key
> by probing memory addresses assigned to the other user)?
Neither. It really means that there has to be support to allow use of
different keys for different TCP or UDP sessions in process between
two hosts. The reason is to allow users to avoid sharing keys. There
are attacks, due to Bellovin, among others, if two mutually hostile
users are sharing a key that they do not know.
> The entire discussion on user-oriented keying seems confused (or at least
> confusing). This capability ought to be more carefully described, or
> dropped. I'm tempted to recommend just dropping it.
Perhaps that is because you are stepping in to the middle of a
discussion that lasted for a very long time (over a year) without
having carefully read all the rationale behind all the components of
the design.
> More broadly, these documents need to have a clearer philosophical position
> as to what their goals are. In particular, these documents should make it
> clear how what they are doing differs from security protocols that work
> at higher layers of the protocol stack. It would seem sensible to think
> that a protocol at this IP layer should ONLY worry about security between
> hosts, and let protocols at higher layers take care of security between
> end-users or their applications.
That isn't the goal.
> Bringing in users and userids to this protocol risks great confusion
> and muddled systems.
Users and userids are NOT in this protocol. The requirement is much
simpler than that and has several good justifications.
> 3.4 USE OF MD5
>
> The language in [AH, section 4] says "If a block-oriented authentication
> algorithm (e.g. MD5 or MD4) is in use and the IP packet is not an integral
> number of blocks, the authentication data calculation is performed using
> zero bytes at the end to pad the length out to an integral number of blocks
> [Riv92]."
>
> This is VERY confused, since MD5 (and MD4) are byte-oriented algorithms
> that are specified to normally take variable-length byte-strings as input.
> It is not necessary (and may even be dangerous) for the user to supply his
> own padding!
The examples were perhaps bad, but MACs in the general case may be
block oriented.
> 3.5 AUDIT LOGS
>
> In [AH, page 9] and other places, it is stated that the system "MUST
> record the authentication failure in the system log or audit log."
>
> Given the rate at which bad packets can be delivered to a system by a
> malicious adversary, it may not be too hard for the adversary to fill
> up the disk of a complying implementation with the audit log. I think
> the "MUST" should be downgraded to "SHOULD".
The requirement is prehaps inapropriate.
> 4. CONCLUSIONS
>
> I feel that the proposed protocols are not sufficiently worked out to
> allow proceedings with them as a proposed standard.
1) We are attempting to proceed with them as a draft standard.
2) a proposed or draft standard is not a standard.
Perry
Xref subject previous Xref subject next Hilarie Orman writes: > > It appears that by failing to be as vicious as possible ... > > No, the wolverine approach to technical consensus has been highly > unprofitable in this group. A revival may well be the end of it. > > Almost everyone who has read the drafts has been confused by many of > the points that Ron and Phil have raised. I, too, would like to see > almost all of these things clarified. I've got no problems with clarifying the language. Language can almost always stand to be improved. I have problems, however, with Phil Rogaway's characterization of difficulties in wording as fatal flaws in the architecture, which they obviously are not. I also see a clear distinction between a minor but very useful techincal change like Hugo's and Phil's desire to interpose another layer of indirection purely for the sake of having "generic" transforms. > I'd be willing to take another editorial pass over the arch and mode > docs, perhaps less tentative this time, now that I've some > implementation experience. The documents could use lots of little wording changes. However, I believe we both agree that... > I don't think that the documents should be held up if there is an > obvious and ongoing good faith effort to address the concerns. In any case, we are discussing going to the lowest of the three stages of standardization. There is plenty of opportunity even for significant technical improvements, let alone wording changes, before the thing becomes a standard. We need a lot more implementation experience before we can really complete that portion of the work. Perry
Xref subject previous Xref subject next > It appears that by failing to be as vicious as possible ... No, the wolverine approach to technical consensus has been highly unprofitable in this group. A revival may well be the end of it. Almost everyone who has read the drafts has been confused by many of the points that Ron and Phil have raised. I, too, would like to see almost all of these things clarified. I'd be willing to take another editorial pass over the arch and mode docs, perhaps less tentative this time, now that I've some implementation experience. I'm don't think that the documents should be held up if there is an obvious and ongoing good faith effort to address the concerns. I'd like to hear more discussion of the relevance of recent work MD5 collisions, and to thank Paul and Hugo for making some of the background material available.
Xref subject previous Hilarie Orman writes: > > It appears that by failing to be as vicious as possible ... > > No, the wolverine approach to technical consensus has been highly > unprofitable in this group. A revival may well be the end of it. > > Almost everyone who has read the drafts has been confused by many of > the points that Ron and Phil have raised. I, too, would like to see > almost all of these things clarified. I've got no problems with clarifying the language. Language can almost always stand to be improved. I have problems, however, with Phil Rogaway's characterization of difficulties in wording as fatal flaws in the architecture, which they obviously are not. I also see a clear distinction between a minor but very useful techincal change like Hugo's and Phil's desire to interpose another layer of indirection purely for the sake of having "generic" transforms. > I'd be willing to take another editorial pass over the arch and mode > docs, perhaps less tentative this time, now that I've some > implementation experience. The documents could use lots of little wording changes. However, I believe we both agree that... > I don't think that the documents should be held up if there is an > obvious and ongoing good faith effort to address the concerns. In any case, we are discussing going to the lowest of the three stages of standardization. There is plenty of opportunity even for significant technical improvements, let alone wording changes, before the thing becomes a standard. We need a lot more implementation experience before we can really complete that portion of the work. Perry
Xref subject previous
Xref subject next
I am appending here a high-level and informal presentation of the rationale
and analysis of keyed-MD5 that makes the basis for the choice of the
particular mode of keyed-MD5 (for message authentication) presented in
draft-krawczyk-keyed-md5-00.txt.
I assume the reader is familiar with the iterative structure of MD5 but not
necessarily with the details of the compression function.
All the information that follows is based on the upcoming paper [BCK]
by Bellare, Canetti and Krawczyk (as referenced in the above draft).
Hugo
ANALYSIS OF KEYED MD5 (sketch)
******************************
The basic issue with analyzing keyed-MD5 as a message authentication
function is that it builds on MD5, a function that was originally designed
for a different goal, namely, as a *keyless* collision-resistant hash function.
What follows is a high-level and informal description of the analysis in
[BCK] which is intended to identify the cryptographic requirements from a
function as MD5 (more precisely, its compression function) that would
guarantee that keyed-MD5 be a good MAC. The specific mode of keyed-MD5
presented in draft-krawczyk-keyed-md5-00.txt is an adaptation of the results
of this analysis.
KEYED COMPRESSION FUNCTIONS AND PSEUDORANDOM FUNCTIONS: Our approach
for the analysis of keyed-MD5 (or keying any other iterative hash function)
is to look at the compression function as a function *keyed via its IV*
(the initial registers of MD5). We consider the set of the resultant
(compression) functions (one function for each 128 bit key) as a
"family of pseudorandom functions". This is a well-known notion in cryptography
which captures the "proximity" of such functions to a set of truly random
functions, and generalizes the more common concept of pseudorandom generators.
The notion of security of a pseudorandom function (more precisely, a
family of such functions) can be related to the famous Turing test for
"intelligent computers". In Turing's test a human asks questions and
gets responses; then this human has to decide if he was talking to another
human being or to a machine. A computer that passes such a test, i.e.,
is not distinguished from a human being, is proven "intelligent".
With pseudorandom functions the game is similar. But the one that asks
the questions (inputs to the function) is the adversary and the responses
may come from a truly random function or from a pseudorandom function
(whose key is unknown to the adversary). The adversary wins if he decided
correctly (with probability better than half!) on whether the function
used was truly random or pseudorandom.
The adversary could distinguish the pseudorandom function from random
by recovering the secret key that defines the function, or just by being
able to predict its output, etc. The parameters that define the adversary
success are the resources it uses: time and number of queries, and the
probability (beyond half) with which it successfully distinguishes.
This probability is denoted by eps (this eps is a function of the adversary
resources, the family of pseudorandom functions in use, the length of key, etc).
An example of a (conjectured) good family of pseudorandom functions (or
permutations) is DES. In this example each DES key determines a function
in the family. If you know the key then you can compute the function in any
point, but if not you can hardly predict a single bit of output.
DES in MAC-CBC mode is also an example of pseudorandom functions (and
the reason why it makes a good MAC).
MAC FUNCTION: In general, a good pseudorandom function (i.e., one with
small eps for reasonable resources by the adversary) makes a good MAC.
A MAC (for message authentication code) is a function that uses a secret
key and computes tags or checksums on information that only parties possessing
the secret key can generate. The game for the adversary (that doesn't
know the key) is that he can request the result of the checksum computed
on a sequence of messages of his choice. At the end, after asking enough
queries, the adversary needs to come with a message that he didn't ask
before, but for which he can generate the checksum by himself.
(This represents a "chosen message attack", and the new message for which
the adversary can generate the checksum is a "forged message").
The more time and/or queries an adversary needs to reach a certain probability
of forging a message the better the MAC function is.
The goal of the design of keyed-MD5 is to come with a scheme that makes a
good MAC.
FROM PSEUDORANDOM COMPRESSION FUNCTION TO SECURE MAC: What we [BCK]
essentially prove is that *if the keyed compression function* of MD5
makes a good pseudorandom function, then its iterations preserve this
condition, and then the whole keyed-MD5 function makes a good MAC.
Moreover, we give a precise reduction of the form: if you give me a forgery
attack on keyed-MD5 we construct from it an explicit distinguishing attack
on the basic compression function, where the success parameters
(eps, etc) of both attacks are precisely related in our analysis.
This approach is a formalization of the intuitive reasoning that assumes
MD5 and similar functions to "behave as random functions". The pure intuitive
approach, if not taken carefully, can be very misleading. In particular,
one can prove (with different levels of sophistication) that the MD5
function does not behave as a random function (e.g., through extension
attacks, statistical collisions, etc). However, in our formal analysis
we prove that if the *keyed* compression function is close enough to
random then the iterations are not far from random.
This methodology of relating the security of the iterated function to that
of the compression function is analogous to the traditional approach to
constructing collision-resistant hash functions. For the later, the
resistance of the compression function to collision search guarantees that
property for the iterated function. In our case, it is the pseudorandom
property that is propagated through the iterations, to provide a secure MAC.
THE PSEUDORANDOMNESS ASSUMPTION: To this date we do not know of significant
weaknesses of MD5's keyed compression function as a pseudorandom function.
Still this property is a conjecture and not something that can be expected
to be proven (soon). It is important to remark that it is the same property
that is implicitly assumed by everybody that uses these functions to
generate (pseudo) random keys (this is done "everywhere" these days:
in Photuris, SSL, MKMP, the Preneel-van OOrschot paper [PV], just to
mention some places that come to my mind). Interestingly, in the case of SHA
the pseudorandomness of the function is claimed by the designers who
recommend (in the DSS standard) the use of SHA for pseudorandom key generation.
(In other words, if you consider your keys generated using MD5 as "random"
then you can safely assume keyed-MD5 is a good MAC.)
On the other hand, we do not prove the *necessity* of the pseudorandomness
condition on the compression function in order for keyed-MD5 to be a secure
MAC. Thus, it may be the case that even if the compression function is not
pseudorandom still keyed-MD5 is a good MAC.
Indeed, we have a more subtle analysis of some of the modes of keyed-MD5
in which pseudorandomness can be traded by different assumptions on the
compression function. (I won't get into these details here).
MAC AND COLLISION-RESISTANCE: It is important to remark that our approach
reflects a significant distinction between keyed and keyless hash functions,
namely, that the *traditional* security requirement of collision-resistance
for keyless hash functions does not apply to a (keyed) MAC.
Namely, the feasibility of finding (traditional) collisions in a given
function is *not* (by itself) a sign that the function does not make
a good MAC. The reason being that collision search (for MD5 and similar
functions) concentrates on finding collision when the IV is *known* (or
even chosen). In keyed-MD5 the IV is the key and then *random and secret*.
A good search engine designed for known IV's (e.g. Van Oorschot-Wiener)
may be useless to attack keyed-MD5.
A good example for the independence between the collision resistance
aspect and being a good MAC is (again) DES. If you know the key for
DES-CBC-MAC you can find as many collisions as you want
(using the invertibilty of DES with known key), but if you do not know the
key, then collisions are hard to find (except for the fact that 64 bits of
output allows for attacks in the order of 2^32 known/chosen message attacks).
In other words, even if you hear tomorrow of (real) collisions in your
favorite hash function it does not mean the function becomes insecure
as a keyed function. (Though, that could be the case depending on the
effect of that analysis on the pseudorandomness of the compression function).
On the other hand, if collisions can be found (more than statistically
expected) even if the IV is secret, that will have a significant negative
effect on the security of the MAC. However, this kind of collisions are
very different than the traditional ones. In particular, the adversary will
need the "assistance" of the legal user to collect MAC results on known
and/or chosen messages; this is in sharp contrast to known-IV collisions
that can be searched by the adversary off-line and independently of
any user or secret key.
THE PROPOSED MODE OF KEYED-MD5: Now back to the keyed-MD5 function as
described in my draft, namely, MD5(K,pad,text,K).
As you can see this mode does not directly use a keyed-IV. Indeed, in
order *not to change* the MD5 code, we are applying regular MD5 (with
its regular "magic IV") to the actual key (which is padded to complete
a full block), and the result of this first application becomes the "random
secret IV" for the rest of the function. The appended key has two roles:
to prevent extension attacks, and to serve as yet another (implicit)
transformation on the output of MD5. Notice that the appended key is
not padded (see below for its rationale).
On the other hand, the padding of the prepended key is done due to
*security reasons*. One is to achieve a transformation of the key into
a pseudorandom IV (as explained above), the other is to avoid, in the
case of short messages having a single iteration of MD5 (Kaliski and
Robshaw pointed out that a single iteration may be more vulnerable
to linear cryptanalysis - though, no such weakness is known today).
The use of keys of length less that 128 bits is not recommended.
Keys longer than 128 bits may not add any significant security given that
the actual strength is given by the resultant IV which is 128 bit long.
As said in an note I sent a few days ago, this particular choice of
keyed-MD5 is intended to satisfy the following properties:
* it is based on MD5 (or similar functions)
* no change to the MD5 code required
* no degradation of MD5 speed
* simple key requirements
Departing from these conditions, other constructions with better analytical
properties can be suggested . For example, directly keying the MD5 function
via its initial registers as proposed in [BCK] (and [PV])
(this requires less assumptions on the compression function of MD5
at the cost of a minimal change in MD5 code).
However, the proposed scheme does not suffer of any practical weakness
known today. On the other hand, if the above properties are to be relaxed
then other designs which may prove more robust to future attacks are
possible. This includes functions that may be completely unrelated to MD5 or
similar hash functions; indeed such an approach may prove more secure and/or
more efficient than basing the MAC on iterated hash functions.
THE BIRTHDAY ATTACK: The best attack on keyed-MD5 that we know is a 2^64
chosen/known message attack that we sketch next.
For simplicity, consider the application of keyed-MD5 (denoted KMD5)
on messages of the form AB where A is a 512-bit block and B a 320-bit block.
KMD5(AB) results on three iterations of the compression function of MD5
on the information (K, pad, A , B, K, length), where K is the 128-bit
key, pad is '1' followed by 383 0's, and length is the 64 bit encoding
of the total length (i.e, 960) as added by MD5.
An attacker fixes a block B, and asks for the KMD5 of (Ai,B),
for i=1,2,...,2^64, where the Ai's are 2^64 (arbitrary and different)
blocks of 512 bits each.
With good probability (by the birthday paradox), there exist i<>j with
KMD5(Ai,B)=KMD5(Aj,B). In particular,with good probability it happens
in this case that MD5(K,Ai)=MD5(K,Aj) (this is the result of the first
iteration of MD5, i.e. no length appended). The adversary then asks for
KMD5(Ai,C) for any value of C<>B. It then "guesses" the value of KMD5(Aj,C)
to be the same as KMD5(Ai,C). If, indeed, it happened that (K,Ai) collided
with (K,Aj) after the first iteration of MD5 then the adversary is right.
That is, with high probability the adversary correctly forged KMD5(Aj,C).
(Clearly, improvements for the adversary are possible such as testing
whether the latter collision happened by using some other value
of C, but the above is enough for a forgery with good probability).
Strictly speaking the above attack requires 2^64 *chosen* messages since
it requires keeping the last block unchanged. The blocks Ai, however, can be
arbitrary. They need to be known to the adversary (at least those that
generate collisions) but not to be chosen by him. In some scenarios a common
trailing block may be available as part of standard encoding of information
in which case the attack may become a known-only attack.
(This is a reason not to pad the appended key in keyed-MD5 to a full block
and for keeping the appended length of MD5).
In addition, the attack works with messages of any length (even variable
length) and the more common trailing blocks in the messages being queried
the better the success probability of the attack.
However, these attacks require, in any case, a huge amount of information
(2^64 blocks) being MAC-ed with the *same key*. To be avoided one just
needs to change keys before processing that much information.
We note that the same type of attack applies to all proposed modes for
keying MD5, and more generally it applies to all iterative constructions
of MAC (including CBC-MAC).
As said, it is the best attack we know on keyed-MD5. In [BCK] we show that
this attack is optimal if the compression function is a truly random
function. However, for functions like keyed-MD5 this may very well not be
the case.
It is important to note the essential difference between the above
attack and the traditional birthday attacks on collision-resistant hash
functions as MD5. In the latter, the processing time for the attack is
also 2^64 but is independent of any secret information and requires no
interaction with the legitimate party. Thus, it is far more realistic than
against keyed-MD5.
The birthday attack on iterative MAC described above was independently
discovered by [BCK] and by Preneel and Van Oorschot. A detailed description
of the attack can be found in the upcoming Crypto'95 paper by the later
authors [PV].
REFERENCES
[BCK] M. Bellare, R. Canetti, and H. Krawczyk, "Keying MD5 -- Message
Authentication via Iterated Pseudo-randomness", manuscript.
[PV] B. Preneel and P. Van Oorschot, "Building fast MACs from hash
functions", to appear Crypto'95.
Xref subject previous
I am appending here a high-level and informal presentation of the rationale
and analysis of keyed-MD5 that makes the basis for the choice of the
particular mode of keyed-MD5 (for message authentication) presented in
draft-krawczyk-keyed-md5-00.txt.
I assume the reader is familiar with the iterative structure of MD5 but not
necessarily with the details of the compression function.
All the information that follows is based on the upcoming paper [BCK]
by Bellare, Canetti and Krawczyk (as referenced in the above draft).
Hugo
ANALYSIS OF KEYED MD5 (sketch)
******************************
The basic issue with analyzing keyed-MD5 as a message authentication
function is that it builds on MD5, a function that was originally designed
for a different goal, namely, as a *keyless* collision-resistant hash function.
What follows is a high-level and informal description of the analysis in
[BCK] which is intended to identify the cryptographic requirements from a
function as MD5 (more precisely, its compression function) that would
guarantee that keyed-MD5 be a good MAC. The specific mode of keyed-MD5
presented in draft-krawczyk-keyed-md5-00.txt is an adaptation of the results
of this analysis.
KEYED COMPRESSION FUNCTIONS AND PSEUDORANDOM FUNCTIONS: Our approach
for the analysis of keyed-MD5 (or keying any other iterative hash function)
is to look at the compression function as a function *keyed via its IV*
(the initial registers of MD5). We consider the set of the resultant
(compression) functions (one function for each 128 bit key) as a
"family of pseudorandom functions". This is a well-known notion in cryptography
which captures the "proximity" of such functions to a set of truly random
functions, and generalizes the more common concept of pseudorandom generators.
The notion of security of a pseudorandom function (more precisely, a
family of such functions) can be related to the famous Turing test for
"intelligent computers". In Turing's test a human asks questions and
gets responses; then this human has to decide if he was talking to another
human being or to a machine. A computer that passes such a test, i.e.,
is not distinguished from a human being, is proven "intelligent".
With pseudorandom functions the game is similar. But the one that asks
the questions (inputs to the function) is the adversary and the responses
may come from a truly random function or from a pseudorandom function
(whose key is unknown to the adversary). The adversary wins if he decided
correctly (with probability better than half!) on whether the function
used was truly random or pseudorandom.
The adversary could distinguish the pseudorandom function from random
by recovering the secret key that defines the function, or just by being
able to predict its output, etc. The parameters that define the adversary
success are the resources it uses: time and number of queries, and the
probability (beyond half) with which it successfully distinguishes.
This probability is denoted by eps (this eps is a function of the adversary
resources, the family of pseudorandom functions in use, the length of key, etc).
An example of a (conjectured) good family of pseudorandom functions (or
permutations) is DES. In this example each DES key determines a function
in the family. If you know the key then you can compute the function in any
point, but if not you can hardly predict a single bit of output.
DES in MAC-CBC mode is also an example of pseudorandom functions (and
the reason why it makes a good MAC).
MAC FUNCTION: In general, a good pseudorandom function (i.e., one with
small eps for reasonable resources by the adversary) makes a good MAC.
A MAC (for message authentication code) is a function that uses a secret
key and computes tags or checksums on information that only parties possessing
the secret key can generate. The game for the adversary (that doesn't
know the key) is that he can request the result of the checksum computed
on a sequence of messages of his choice. At the end, after asking enough
queries, the adversary needs to come with a message that he didn't ask
before, but for which he can generate the checksum by himself.
(This represents a "chosen message attack", and the new message for which
the adversary can generate the checksum is a "forged message").
The more time and/or queries an adversary needs to reach a certain probability
of forging a message the better the MAC function is.
The goal of the design of keyed-MD5 is to come with a scheme that makes a
good MAC.
FROM PSEUDORANDOM COMPRESSION FUNCTION TO SECURE MAC: What we [BCK]
essentially prove is that *if the keyed compression function* of MD5
makes a good pseudorandom function, then its iterations preserve this
condition, and then the whole keyed-MD5 function makes a good MAC.
Moreover, we give a precise reduction of the form: if you give me a forgery
attack on keyed-MD5 we construct from it an explicit distinguishing attack
on the basic compression function, where the success parameters
(eps, etc) of both attacks are precisely related in our analysis.
This approach is a formalization of the intuitive reasoning that assumes
MD5 and similar functions to "behave as random functions". The pure intuitive
approach, if not taken carefully, can be very misleading. In particular,
one can prove (with different levels of sophistication) that the MD5
function does not behave as a random function (e.g., through extension
attacks, statistical collisions, etc). However, in our formal analysis
we prove that if the *keyed* compression function is close enough to
random then the iterations are not far from random.
This methodology of relating the security of the iterated function to that
of the compression function is analogous to the traditional approach to
constructing collision-resistant hash functions. For the later, the
resistance of the compression function to collision search guarantees that
property for the iterated function. In our case, it is the pseudorandom
property that is propagated through the iterations, to provide a secure MAC.
THE PSEUDORANDOMNESS ASSUMPTION: To this date we do not know of significant
weaknesses of MD5's keyed compression function as a pseudorandom function.
Still this property is a conjecture and not something that can be expected
to be proven (soon). It is important to remark that it is the same property
that is implicitly assumed by everybody that uses these functions to
generate (pseudo) random keys (this is done "everywhere" these days:
in Photuris, SSL, MKMP, the Preneel-van OOrschot paper [PV], just to
mention some places that come to my mind). Interestingly, in the case of SHA
the pseudorandomness of the function is claimed by the designers who
recommend (in the DSS standard) the use of SHA for pseudorandom key generation.
(In other words, if you consider your keys generated using MD5 as "random"
then you can safely assume keyed-MD5 is a good MAC.)
On the other hand, we do not prove the *necessity* of the pseudorandomness
condition on the compression function in order for keyed-MD5 to be a secure
MAC. Thus, it may be the case that even if the compression function is not
pseudorandom still keyed-MD5 is a good MAC.
Indeed, we have a more subtle analysis of some of the modes of keyed-MD5
in which pseudorandomness can be traded by different assumptions on the
compression function. (I won't get into these details here).
MAC AND COLLISION-RESISTANCE: It is important to remark that our approach
reflects a significant distinction between keyed and keyless hash functions,
namely, that the *traditional* security requirement of collision-resistance
for keyless hash functions does not apply to a (keyed) MAC.
Namely, the feasibility of finding (traditional) collisions in a given
function is *not* (by itself) a sign that the function does not make
a good MAC. The reason being that collision search (for MD5 and similar
functions) concentrates on finding collision when the IV is *known* (or
even chosen). In keyed-MD5 the IV is the key and then *random and secret*.
A good search engine designed for known IV's (e.g. Van Oorschot-Wiener)
may be useless to attack keyed-MD5.
A good example for the independence between the collision resistance
aspect and being a good MAC is (again) DES. If you know the key for
DES-CBC-MAC you can find as many collisions as you want
(using the invertibilty of DES with known key), but if you do not know the
key, then collisions are hard to find (except for the fact that 64 bits of
output allows for attacks in the order of 2^32 known/chosen message attacks).
In other words, even if you hear tomorrow of (real) collisions in your
favorite hash function it does not mean the function becomes insecure
as a keyed function. (Though, that could be the case depending on the
effect of that analysis on the pseudorandomness of the compression function).
On the other hand, if collisions can be found (more than statistically
expected) even if the IV is secret, that will have a significant negative
effect on the security of the MAC. However, this kind of collisions are
very different than the traditional ones. In particular, the adversary will
need the "assistance" of the legal user to collect MAC results on known
and/or chosen messages; this is in sharp contrast to known-IV collisions
that can be searched by the adversary off-line and independently of
any user or secret key.
THE PROPOSED MODE OF KEYED-MD5: Now back to the keyed-MD5 function as
described in my draft, namely, MD5(K,pad,text,K).
As you can see this mode does not directly use a keyed-IV. Indeed, in
order *not to change* the MD5 code, we are applying regular MD5 (with
its regular "magic IV") to the actual key (which is padded to complete
a full block), and the result of this first application becomes the "random
secret IV" for the rest of the function. The appended key has two roles:
to prevent extension attacks, and to serve as yet another (implicit)
transformation on the output of MD5. Notice that the appended key is
not padded (see below for its rationale).
On the other hand, the padding of the prepended key is done due to
*security reasons*. One is to achieve a transformation of the key into
a pseudorandom IV (as explained above), the other is to avoid, in the
case of short messages having a single iteration of MD5 (Kaliski and
Robshaw pointed out that a single iteration may be more vulnerable
to linear cryptanalysis - though, no such weakness is known today).
The use of keys of length less that 128 bits is not recommended.
Keys longer than 128 bits may not add any significant security given that
the actual strength is given by the resultant IV which is 128 bit long.
As said in an note I sent a few days ago, this particular choice of
keyed-MD5 is intended to satisfy the following properties:
* it is based on MD5 (or similar functions)
* no change to the MD5 code required
* no degradation of MD5 speed
* simple key requirements
Departing from these conditions, other constructions with better analytical
properties can be suggested . For example, directly keying the MD5 function
via its initial registers as proposed in [BCK] (and [PV])
(this requires less assumptions on the compression function of MD5
at the cost of a minimal change in MD5 code).
However, the proposed scheme does not suffer of any practical weakness
known today. On the other hand, if the above properties are to be relaxed
then other designs which may prove more robust to future attacks are
possible. This includes functions that may be completely unrelated to MD5 or
similar hash functions; indeed such an approach may prove more secure and/or
more efficient than basing the MAC on iterated hash functions.
THE BIRTHDAY ATTACK: The best attack on keyed-MD5 that we know is a 2^64
chosen/known message attack that we sketch next.
For simplicity, consider the application of keyed-MD5 (denoted KMD5)
on messages of the form AB where A is a 512-bit block and B a 320-bit block.
KMD5(AB) results on three iterations of the compression function of MD5
on the information (K, pad, A , B, K, length), where K is the 128-bit
key, pad is '1' followed by 383 0's, and length is the 64 bit encoding
of the total length (i.e, 960) as added by MD5.
An attacker fixes a block B, and asks for the KMD5 of (Ai,B),
for i=1,2,...,2^64, where the Ai's are 2^64 (arbitrary and different)
blocks of 512 bits each.
With good probability (by the birthday paradox), there exist i<>j with
KMD5(Ai,B)=KMD5(Aj,B). In particular,with good probability it happens
in this case that MD5(K,Ai)=MD5(K,Aj) (this is the result of the first
iteration of MD5, i.e. no length appended). The adversary then asks for
KMD5(Ai,C) for any value of C<>B. It then "guesses" the value of KMD5(Aj,C)
to be the same as KMD5(Ai,C). If, indeed, it happened that (K,Ai) collided
with (K,Aj) after the first iteration of MD5 then the adversary is right.
That is, with high probability the adversary correctly forged KMD5(Aj,C).
(Clearly, improvements for the adversary are possible such as testing
whether the latter collision happened by using some other value
of C, but the above is enough for a forgery with good probability).
Strictly speaking the above attack requires 2^64 *chosen* messages since
it requires keeping the last block unchanged. The blocks Ai, however, can be
arbitrary. They need to be known to the adversary (at least those that
generate collisions) but not to be chosen by him. In some scenarios a common
trailing block may be available as part of standard encoding of information
in which case the attack may become a known-only attack.
(This is a reason not to pad the appended key in keyed-MD5 to a full block
and for keeping the appended length of MD5).
In addition, the attack works with messages of any length (even variable
length) and the more common trailing blocks in the messages being queried
the better the success probability of the attack.
However, these attacks require, in any case, a huge amount of information
(2^64 blocks) being MAC-ed with the *same key*. To be avoided one just
needs to change keys before processing that much information.
We note that the same type of attack applies to all proposed modes for
keying MD5, and more generally it applies to all iterative constructions
of MAC (including CBC-MAC).
As said, it is the best attack we know on keyed-MD5. In [BCK] we show that
this attack is optimal if the compression function is a truly random
function. However, for functions like keyed-MD5 this may very well not be
the case.
It is important to note the essential difference between the above
attack and the traditional birthday attacks on collision-resistant hash
functions as MD5. In the latter, the processing time for the attack is
also 2^64 but is independent of any secret information and requires no
interaction with the legitimate party. Thus, it is far more realistic than
against keyed-MD5.
The birthday attack on iterative MAC described above was independently
discovered by [BCK] and by Preneel and Van Oorschot. A detailed description
of the attack can be found in the upcoming Crypto'95 paper by the later
authors [PV].
REFERENCES
[BCK] M. Bellare, R. Canetti, and H. Krawczyk, "Keying MD5 -- Message
Authentication via Iterated Pseudo-randomness", manuscript.
[PV] B. Preneel and P. Van Oorschot, "Building fast MACs from hash
functions", to appear Crypto'95.
>> Now that it may finally be on the table to do something about >> draft-ietf-ipsec-ah-md5-03.txt >> I would like to remind this community that not only >> should the MAC be defined independent of >> its intended use, so too should the encryption transform. > > More properly, you should state that it is your opinion that the > transforms should be independant of use. There are many advantages to a protocol specifiation that is independent of mechanism and a separate mechanism description. One iportnat benefit is that other IETF groups can use the same mechanism description in the same way that Hugo's I-D references the MD5 RFC. Good modularity in the specifications saves alot of time and effort down the road. And, it makes specification maintenence easier too. Russ
Xref subject next
======================================================================
Some comments on Keyed-MD5 for Message Authentication
and on the ESP DES-CBC Transform
Bart Preneel
Katholieke Universiteit Leuven, Belgium
Summary
In this document we comment on the security of keyed-MD5 for message
authentication and on some alternatives which have been put forward.
We also make a note on the ESP DES-CBC transform.
1. Keyed-MD5 for Message Authentication
---------------------------------------
In [Krawczyk] H. Krawczyk proposes a modification to the keyed MD5
method proposed in [Metzger-Simpson]. The new method has a security
proof based on the pseudo-randomness of the function MD5#, which is
the MD5 compression function keyed with the IV [Krawczyk2].
THE PSEUDO-RANDOMNESS ASSUMPTION
A first remark is that while the collision resistance of MD4 and
MD5 has been analyzed, no one has ever published any results regarding
an evaluation to verify whether MD5# is actually a pseudo-random function.
Both properties (collision resistance of MD5 and pseudo-randomness of
MD5#) are independent, i.e., either of them can be present without the
other one. A related observation has been made in [Roe et al.].
Second, weaknesses have been found in the compression function of
MD5, and recent work on MD4 [Vaudenay] and RIPEMD [Dobbertin] suggests
that the internal structure of these hash functions could be used to
find collisions faster than by a brute force birthday attack
(2^{64} operations). It is not clear what the implications of this
are on the pseudo-randomness of MD5#, but it seems quite plausible that
the internal structure of these functions can be exploited in an attack
as well.
Note that in [Krawczyk2] it is stated that "everybody uses these functions
[MD5, SHA] to generate (pseudo) random keys": while it is true that this
is based on the pseudo-randomness of MD5#, it should be noted that when
MD5 is used for key derivation, an attacker has much less input-output
pairs available, which makes statistical attacks infeasible.
In view of the above it would appear more secure (or at least prudent) to
key not only the beginning and the end of the hashing process, but also the
compression function as done in MD5-MAC. In this way, the MAC is more
robust against weaknesses of the underlying hash function. By keeping
the modification as simple as possible, it is highly unlikely that new
vulnerabilities are introduced. While both the scheme proposed by
Krawczyk and MD5-MAC use a key as IV, the introduction of a secret key
in the compression function is a major difference between both schemes.
Note that this does not preclude a security proof based on the
pseudo-randomness of the compression function MD5-MAC#.
The following quote of [Krawczyk] seems to support this statement:
% However, the proposed scheme does not suffer of any practical weakness
% known today. On the other hand, if the above properties are to be relaxed
% then other designs which may prove more robust to future attacks are
% possible.
%
% A separate note by Paul Van Oorschot to these lists proposes going in this
% direction. I support his position if the above conditions (no modification
% of MD5, speed, etc) are relaxed. Otherwise, I propose the adoption of
% keyed-MD5 as described in the above draft (draft-krawczyk-keyed-md5-00.txt).
%
In [Krawczyk2], it is also remarked that "functions completely unrelated
to MD5 or similar hash functions could be used". However, no concrete
proposal along these lines has been made yet.
SIZE OF THE MAC: 64 vs. 128 BITS
The reference [crypto'95] explains why keeping 64 bits of the MAC rather
than 128 can increase the security. Indeed, a birthday attack on the 64-bit
MAC requires 2^{64} chosen and 2^{64} known texts, while the same attack on
the 128-bit MAC requires 2^{64} known texts and only a single chosen text
(under the assumption that the appended key is padded to a complete block).
A point to drive this home: this *known* attack demonstrates that one method
is better than the other, vs. this attack. While both may be unrealistic,
it is reasonable to argue that this may well indicate that the same scheme
is more secure than the other against yet-unknown attacks, which may be
feasible in the one case and not in the other.
In [Krawczyk2], it is stated that the birthday attack requires strictly
speaking 2^{64} chosen messages for his proposal [Krawczyk], even with a
128-bit result: indeed, the attack requires that the last block is constant,
which need not be true for all texts. This is the motivation to omit the
padding of the appended key. However, it is likely that mixing in a
single block the secret key and data under complete control of an attacker
makes it easier to obtain information on that secret key.
Note that the model in [Bellare94] does not make a distinction between
chosen and known text attacks, while in practice there is a major difference
between both types of attacks.
CBC-MAC
In [Roe et al.], it is proposed to make DES based CBC-MAC the default algorithm.
We do not support this proposal for the following reasons:
1. While it is shown in [Bellare94] that certain variants of the CBC-MAC
are secure, provided the underlying encryption algorithm is pseudo-random,
it should also be noted that in [crypto95] a practical attack is described
on DES CBC-MAC, which requires 2^{32} known text-MAC pairs and a single
chosen text. One can argue that the key should be changed more frequently,
but if the CBC-MAC key is changed after 2^{25} messages, the success
probability equals 1/30,000, which is still non-negligible.
2. It is suggested in [Roe et al.] to use simple CBC mode as defined in
[Fips81]; however, if no additional measures are taken (such as a special
processing of the last block), simple CBC-MAC is vulnerable to an attack
requiring 2 known and 1 chosen texts.
3. Because of the short key size, single DES does not offer a sufficient
security level, as noted in [Metzger-Karn-Simpson].
4. The fastest DES implementations in software are about 5 times slower than
a fast MD5 implementation on the same machine. Current DES hardware
solutions are in general not much faster due to communication overhead and
loss of pipelining in CBC/CFB mode. Note that the 1 Gbit implementation
referenced in [Metzger-Karn-Simpson] is a very expensive GA-As chip, which
was an academic design exercise; it is far from a commercial product
(the fastest chips available are about 4 times slower). This problem will
become more important if one moves to triple-DES, which is about 2.5 times
slower in software.
2. The ESP DES-CBC Transform
----------------------------
THE INITIALIZATION VALUE (IV)
The IV in CBC-mode should be unpredictable and should be kept secret;
it must be impossible to correlate subsequent IV's (see also [Roe et al.]).
Therefore the solution proposed in [Metzger-Karn-Simpson] is not acceptable.
If one wants to use a counter, one could encrypt it with the session key
(or with a key derived from the session key) to obtain the IV.
A second alternative is to use a pseudo-random generator based on the OFB
mode of DES. Both solutions require only a negligible amount of computation
compared to the encryption of a complete message.
The problem of the IV could be eliminated by using 64-bit CFB mode, which
has the same performance as the CBC-mode, but allows to send the IV in clear
(since it is encrypted before it is used). Also, the IV need not be a
pseudo-random value (it can be a counter). The integrity protection of the
last 64 bits of a message is weaker than that of the CBC mode (with a
secret IV), but encryption should not be used to provide integrity anyway.
REFERENCES
[Bellare94] M. Bellare, J. Kilian, P. Rogaway,
"The Security of Cipher Block Chaining,"
Proc. Crypto'94, Springer-Verlag LNCS 839, 1994, pp. 341-358
[crypto95] B. Preneel, P.C. van Oorschot,
"MDx-MAC and Building Fast MACs from Hash Functions,"
Proc. Crypto'95, Springer-Verlag LNCS (to appear, Aug. 1995).
{ftp: ftp.esat.kuleuven.ac.be, directory pub/COSIC/preneel}
[Dobbertin] H. Dobbertin, "Collisions for the Last Two Rounds of
the RIPEMD Compress Function," presented at rump session of Eurocrypt'95,
St. Malo, France, May 1995. {email: dobbertin@skom.rhein.de}
[FIPS180-1] Secure Hash Standard,
NIST, US Department of Commerce, Washington D.C., April 1995.
{http://csrc.ncsl.nist.gov/fips/fip180-1.txt}
[Krawczyk] H.~Krawczyk,
"Keyed MD5 for Message Authentication",
draft-krawczyk-keyed-md5-00.txt.
[Krawczyk2] H.~Krawczyk,
"Analysis of Keyed MD5 (sketch)",
June 30, 1995.
[Metzger-Karn-Simpson] P. Metzger, P, Karn, W.A. Simpson,
"The ESP DES-CBC transform",
draft-ietf-ipsec-esp-des-cbc-04.txt.
[Metzger-Simpson] P. Metzger, W.A. Simpson,
"IP Authentication Using Keyed MD5",
draft-ietf-ipsec-ah-md5-03.txt.
[Roe et al.] M Roe, R. Needham, M. Lomas, R. Anderson, I. Jackson,
"Comments on the IP Security Internet Drafts,"
June 30, 1995.
[Vaudenay] S. Vaudenay, "On the Need for Multipermutations:
Cryptanalysis of MD4 and SAFER," Fast Software Encryption,
Springer-Verlag LNCS, 1995 (to appear). (Proc. of Algorithms Workshop,
Leuven, Belgium, Dec. 1994). {email: Serge.Vaudenay@ens.fr}
==============================================================================
Xref subject previous
Xref subject next
Ref: Your note of Mon, 3 Jul 1995 18:53:13 +0200
I agree with most of Bart Preneel's comments (some clarifications
are brought below). In particular, I do not see any significant
conflict between what Bart says and what I have written in my draft
and companion notes.
My conclusions are the same as I already presented ("Never underestimate
the power of repetition" says an old proverb...), namely:
The key-pad-text-key mode of keyed-MD5 in draft-krawczyk-keyed-md5-txt.00
is the result of adapting the analytical work of BCK to the constraints:
1) do not modify MD5 code
2) do not slow down MD5 performance
3) keep simple keying rules
The relaxation of any of these constraints can produce a more secure
proposal in the sense of better matching the BCK analysis and/or having
potentially better heuristic security.
It is up to this WG to decide whether this is desirable or not.
(Please speak up!). I, as a cryptographer, will always support
going to the (plausibly) more secure solutions. However, in this WG
the system and performance considerations are of prime importance
and trade-offs and compromise are behind any decision made.
Again, as said several times, we will eventually need a faster transform,
and more secure transforms. The work many of us are carrying in analysis
and design of these transforms will hopefully bring a better solution.
But, in any case, the choice of an interim default for the authentication
transform cannot wait until we have enough confidence in new solutions.
I want to make one point that was not mentioned before but is significant
If you use an encryption function that is broken 5 years from now,
any adversary that recorded today's traffic will be able to read
your information then (of course, it depends on the kind of information
the attacker gathered and the nature of the encryption breaking).
However, an authentication function which is broken in the future
has no implication on the security of past traffic. This consideration
makes it easier to go towards some system/security trade-offs
for the authentication function in spite of potential weaknesses.
Of course, one shouldn't gratuitly sacrifice security, and most
importantly one has to be ready to replace the authentication function
as soon significant evidence against the security of the transform is
found. This is why modularity and support (upon negotiation) of
alternative functions is of prime importance for the proposed standard.
I believe that the keyed-MD5 function specified in the current drafts
will be replaced *before* this becomes a final standard. The only
reason for my draft is to "optimize" the choice from the security
point of view without paying any additional price in performance,
complexity, etc.
Here is a list of possible improvements depending on how much of
the above constraints are relaxed:
* With a minimal complexity addition to keying: have "independent"
prepended and appended keys (i.e., K1, pad, text, K2, where K1 and
K2 may be derived from a common 128-bit key using standard techniques)
* A minimal change in MD5 code: do not use prepend and/or append keys
to text but rather use the keys to replace the fixed MD5 IV (key-ed
IV approach). Define the function to be: MD5_K1(MD5_K2(text))
(which was my original preferred proposal).
Note: MD5_K stands for MD5 with IV=K.
* If some slow-down of MD5 is accceptable (and somewhat more complex
change to MD5 code) then the Preneel-Van Oorschot recommendation
of keying the MD5 rounds can be incorporated.
And when we'll eventually come with better performance/security
transforms we'll replace any of the above.
Note: One change that will not pay with any system penalty (actually, has
some bandwidth advantage) and applies to any of the avove variants
is to reduce the size of the MAC output as Bart proposes.
I do not see right now a conflict of that choice with our analysis,
however, I have not personally given much thought to this issue.
Appended are some direct comments on Bart's note. (In what follows
Bart's note is indented and incomplete)
> ======================================================================
> Some comments on Keyed-MD5 for Message Authentication
> and on the ESP DES-CBC Transform
>
> Bart Preneel
>
> THE PSEUDO-RANDOMNESS ASSUMPTION
>
> A first remark is that while the collision resistance of MD4 and
> MD5 has been analyzed, no one has ever published any results regarding
> an evaluation to verify whether MD5# is actually a pseudo-random function.
> Both properties (collision resistance of MD5 and pseudo-randomness of
> MD5#) are independent, i.e., either of them can be present without the
> other one. A related observation has been made in [Roe et al.].
Bart is absolutely correct here. Unfortunately, all of the work on
iterated one-way hash function from design to further
cryptanalytical work concentrated solely in the (known-IV) collision
resistance aspect. As I pointed out in my sketch this is
an aspect which does not follow from a function being a good MAC neither
guarantees the quality of MAC. In order to be able to analyze these
functions as a MAC one needs to gain a better understanding of
necessary and sufficient conditions of a compression function to
produce a good MAC. BCK and PV are a first step in this direction.
(And definitely not the final one!)
>
> Second, weaknesses have been found in the compression function of
> MD5, and recent work on MD4 [Vaudenay] and RIPEMD [Dobbertin] suggests
> that the internal structure of these hash functions could be used to
> find collisions faster than by a brute force birthday attack
> (2^{64} operations). It is not clear what the implications of this
> are on the pseudo-randomness of MD5#, but it seems quite plausible that
> the internal structure of these functions can be exploited in an attack
> as well.
>
> Note that in [Krawczyk2] it is stated that "everybody uses these functions
A minor correction: I didn't say that "evrybody uses", though I said
it is used "everywhere" (quotes included) to mean that is quite common
to find that use of these functions these days.
> [MD5, SHA] to generate (pseudo) random keys": while it is true that this
> is based on the pseudo-randomness of MD5#, it should be noted that when
> MD5 is used for key derivation, an attacker has much less input-output
> pairs available, which makes statistical attacks infeasible.
In reality, our analysis shows that the significant parameter for the
pseudorandomness quality of the compression function depends on
information gained by an adversary by quering the function only once
(on average).
>
> In view of the above it would appear more secure (or at least prudent) to
> key not only the beginning and the end of the hashing process, but also the
> compression function as done in MD5-MAC. In this way, the MAC is more
> robust against weaknesses of the underlying hash function. By keeping
> the modification as simple as possible, it is highly unlikely that new
> vulnerabilities are introduced. While both the scheme proposed by
> Krawczyk and MD5-MAC use a key as IV, the introduction of a secret key
> in the compression function is a major difference between both schemes.
I have no idea how to qualify/quantify this "major difference",
but as I said I will support that change, if the slow down it carries
is accepted by the WG.
>
> CBC-MAC
>
> In [Roe et al.], it is proposed to make DES based CBC-MAC the default algorithm.
> We do not support this proposal for the following reasons:
I agree with Bart. Attacks in the order of 2^32 messages are not
acceptable for a general purpose MAC (which will be used in many
differennt scenarios). Moreover, I want to make clear a point
which is a fundamental conclusion of the Birthday attacks on MAC:
even going to triple-DES will not improve against these attacks
as far as the output is (as in CBC-DES) 64 bits!!
Hugo
Xref subject previous Ref: Your note of Mon, 3 Jul 1995 18:53:13 +0200 PS to my response to Preneel's note: I omitted the following comment related to the pseudorandomness condition on the keyed compression function of MD5 and to the construction MD5_K(MD5_K(text)). For the above construction to be a good MAC the requirement of pseudorandomness can be traded for two requirements each of which is weaker than pseudorandomness. The first is the compression function being a MAC. This is significantly weaker condition than being pseudorandom, in particular, statistical weaknesses of the output do not necessarily imply a weakness as MAC. (Let me note that the compression function just being a MAC is no guarantee for the iterative construction to be a MAC. It seems intuitively as a *necessary* requirement, although a proof of that will depend on the particular way the compression function is used in a given construction). The second requirement is that the internal application of MD5_K(text) be collision-resistant against an adversary that does not know K. Notice that this requirement applies to the iterated MD5_K function, not just the compression function. This is weaker than requiring that the compression function is pseudorandom, and weaker also than the traditional requirement of collision resistance with known IVs. The above second requirement is yet to be formalized, and the exact (quantified) security relations between the above assumptions and the quality of the resultant MAC to be derived. However, when purely heuristic arguments are considered (and much of this discussion is carried in pure heuristic terms -- much more than I'd like) the above combination of assumptions must be considered seriously. This is an important consideration behind MD5_K1(MD5_K2(text)). In this case the external MD5_K1 (which involves only one application of the keyed compression function) is assumed to be a MAC function, while the internal application of (iterated) MD5 is assumed to be collision resistant when used with a secret key K2. Intuitively, if one can forge authenticated messages under the composed construction then one can either find collisions in the internal MD5_K2 (with random and secret K2) or break the external MD5_K1 as a MAC. The key-pad-text-key is a "dirty" approximation to this construction. The prepended key acts as the internal K2, and the appended key as the external K1. Hugo
Xref subject previous Xref subject next > > It appears that all that is needed to incorporate Hugo's suggestion is > a change of a line or two of the MD5 AH draft to specify that the > prepended part of the key be padded out with a 1 bit and some number > of 0 bits to 512 bits. Am I correct on this, Hugo? Right, that's the only change to the calculation description. > > Given the simplicity of this change, I'm inclined to see if we can > insert it before RFC publication, in spite of the late timing. Again, > this depends on what my co-authors say and on general consensus. I am not sure if draft draft-ietf-ipsec-ah-md5 is needed anymore. The mandatory function for implementation can be specified in Atkinson's draft-ietf-ipsec-auth by referencing a protocol-independent description of the function as done in draft-krawczyk-keyed-md5 or similar document. > > It would also be nice if Hugo were to post a message explaining the I hope the message I sent an hour ago will help in this regard. > rationale for this in approximate laymans terms. (I'd still like him > to write the language to insert but I don't have much hope that he'll > do it.) I have contributed text by posting draft-krawczyk-keyed-md5. Contributing to draft-ietf-ipsec-ah-md5 would mean for me changing it to the language used in my draft. Hugo > > Perry
Xref subject previous H.Krawczyk writes: > > It appears that all that is needed to incorporate Hugo's suggestion is > > a change of a line or two of the MD5 AH draft to specify that the > > prepended part of the key be padded out with a 1 bit and some number > > of 0 bits to 512 bits. Am I correct on this, Hugo? > > Right, that's the only change to the calculation description. Bill assures me that it has been inserted in the document, though I have yet to see the language he has used. > > Given the simplicity of this change, I'm inclined to see if we can > > insert it before RFC publication, in spite of the late timing. Again, > > this depends on what my co-authors say and on general consensus. > > I am not sure if draft draft-ietf-ipsec-ah-md5 is needed anymore. The > mandatory function for implementation can be specified in Atkinson's > draft-ietf-ipsec-auth by referencing a protocol-independent description of > the function as done in draft-krawczyk-keyed-md5 or similar document. Hugo, you are a great cryptographer, but I've read your document and I don't think it is suitable for an implementer. Bill has effected the needed change by an alteration of only a sentence or two in the current draft. I will make sure that you are heavily referenced and, although I didn't think to do it, I'll put a large pointer to your work in the security considerations section. I also think that a modified version of your draft should be made into an informational RFC, with much cleaned up language explaining the rationale and the rest -- there is a need for such a document. However, I don't think its suitable as a replacement for the current document. > > It would also be nice if Hugo were to post a message explaining the > > I hope the message I sent an hour ago will help in this regard. It did. Perry
There is a new RSADSI newsletter called "CryptoBytes". One of their articles in the fist issue is about use of MD5 for authentication. Perry
In message "MD5 for authentication article in RSA's "CryptoBytes"",
'perry@imsi.com' writes:
>There is a new RSADSI newsletter called "CryptoBytes". One of their
>articles in the fist issue is about use of MD5 for authentication.
>
>Perry
Note there is a comment related to this in [crypto95],
at the end of section 4.3:
Three MD5-based MAC proposals for the IPSEC
working group are made in [kaliski95]:
one is the envelope method with
$K_1=K_2$ and $k_1=128$ ($K_1$ is padded to a complete block),
the other two are
$MAC(x) = h( K_1 || h( K_2 || x))$ and
$MAC(x) = h( K_1 || h( K_1 || x))$.
It is suggested that the best known attack on
these schemes requires $2^{64}$ chosen messages;
however, Proposition 4 shows that $2^{56.5}$ known text-MAC
pairs are sufficient (if $s=2^{16}$).
Also, the second scheme is vulnerable to the
divide and conquer attack described above.
[crypto95] Bart Preneel, Paul C. van Oorschot,
``MDx-MAC and Building Fast MACs from Hash Functions,''
Proc. Crypto'95, Springer-Verlag LNCS (to appear, Aug. 1995).
{ftp: ftp.esat.kuleuven.ac.be, directory pub/COSIC/preneel}
[kaliski95] B. Kaliski, M. Robshaw, ``Message authentication with MD5,''
CryptoBytes (RSA Laboratories Technical Newsletter),
Vol.1, No.1, Spring 1995, pp.5--8.
Paul Van Oorschot.
Ref: Your note of Wed, 5 Jul 1995 15:05:00 -0400 (attached)
Paul,
What are you concluding from your remarks below?
If you see that as an indication that the functions proposed in
[kaliski95] are weak I disagree. (Not that I am claiming that these
functions must be good, but, in my opinion, your arguments below show
no real weaknesses of these schemes).
More details below:
>
> In message "MD5 for authentication article in RSA's "CryptoBytes"",
> 'perry@imsi.com' writes:
>
> >There is a new RSADSI newsletter called "CryptoBytes". One of their
> >articles in the fist issue is about use of MD5 for authentication.
> >
> >Perry
>
> Note there is a comment related to this in [crypto95],
> at the end of section 4.3:
>
> Three MD5-based MAC proposals for the IPSEC
> working group are made in [kaliski95]:
> one is the envelope method with
> $K_1=K_2$ and $k_1=128$ ($K_1$ is padded to a complete block),
> the other two are
> $MAC(x) = h( K_1 || h( K_2 || x))$ and
> $MAC(x) = h( K_1 || h( K_1 || x))$.
> It is suggested that the best known attack on
> these schemes requires $2^{64}$ chosen messages;
> however, Proposition 4 shows that $2^{56.5}$ known text-MAC
> pairs are sufficient (if $s=2^{16}$).
As I already explained in past notes when the appended key in the envelope
method is not padded but mixed with data, the attack is *strictly speaking*
a *chosen* message attack. Moreover, I would not call an attack assuming
common trailing blocks in the queried messages a *known* message attack.
This is mainly a semantical issue with not much contents in the case
of 128-bit output functions as MD5. Indeed, when I communicated this
attack to Kaliski and Robshaw (the authors in [kaliski95]),
I saw little value in making the precise distinction in the chosen vs
semi-chosen vs known-message attacks (there is even place for a "semi-known"
category here) when in any case:
* all of these attacks *require* to be applicable to maintain *
* the *same* key for MAC-ing 2^73 bits of information !!! *
This is true also in the $2^{56.5}$ attack (that in addition requires
4Mb of common trailing information in all queried messages).
The attacks are unrealistic anyway. Moreover, they do not imply by
themselves any further weaknesses of these constructions.
These attacks are applicable to any of the proposed constructions
even if you use a perfectly random compression function!
(Things are *very* different when you move from 2^64 to 2^32 as is the case
of DES-MAC-CBC)
> Also, the second scheme is vulnerable to the
> divide and conquer attack described above.
That is true. But what is the conclusion?. In any case no one is claiming
an effective key length of more than 128 bits. Notice that [kaliski95]
explicitly says that these two keys could be derived from a single 128-bit key.
Hugo
>
> [crypto95] Bart Preneel, Paul C. van Oorschot,
> ``MDx-MAC and Building Fast MACs from Hash Functions,''
> Proc. Crypto'95, Springer-Verlag LNCS (to appear, Aug. 1995).
> {ftp: ftp.esat.kuleuven.ac.be, directory pub/COSIC/preneel}
>
> [kaliski95] B. Kaliski, M. Robshaw, ``Message authentication with MD5,''
> CryptoBytes (RSA Laboratories Technical Newsletter),
> Vol.1, No.1, Spring 1995, pp.5--8.
>
>
> Paul Van Oorschot.
>
>
The following note contains a short description of MD5-MAC, which is
a simple and efficient way to derive a Message Authentication Code
from MD5.
We believe that the Internet Draft on IP Authentication should contain
the most robust algorithm currently available, which meets the
performance constraints, and which requires only a very small
implementation effort.
We thus propose that MD5-MAC be included in the Internet Draft
on Authentication Using Keyed MD5.
The rationale behind this scheme can be found in the reference
[crypto95].
A short description of MD5-MAC
------------------------------
MD5-MAC is a conservative construction for a MAC based on MD5.
MD5 itself is specified in [RFC-1321]. The key size is 128 bits,
(provision can be made to extend a key less than 128 bits up to
128 bits) and the MAC size is 64 bits. For an extensive motivation
of the design (including the weaknesses observed in other
constructions), the reader is referred to [crypto95].
The 16-byte key K is used to derive three 16-byte keys K0, K1, and K2.
K1 is split into four 32-bit substrings K1[0], K1[1], K1[2], and K1[3].
MD5-MAC(x) is computed in a similar way as MD5(x), with the following
modifications:
1 the initial value IV of MD5 is replaced by K0;
2 the value K1[i] is added modulo 2**32 to the all the constants
in round i (the rounds are numbered 0,1,2,3), i.e. effectively
to the result of each of the 64 steps, immediately prior to the
circular shift;
3 after the last block (which contains the padding and the appended
length), the following 64-byte block is inserted:
K2 ; K2 + T0 ; K2 + T1 ; K2 + T2
(here T0, T1, and T2 are 16-byte constant strings defined below,
; denotes concatenation, and + denotes XOR, i.e. bitwise addition
modulo 2);
4 the MD5-MAC value consists of the leftmost 64 bits of the hash value.
The computational overhead of MD5-MAC is a single MD5 block operation for
each message (step 3); the basic operation can become slightly slower,
since the constants are replaced by variables. MD5-MAC is only 5% to 20%
slower than MD5 (depending on the processor and the implementation).
Code for MD5-MAC can be obtained by some small and easy modifications
to existing code for MD5.
When the 16-byte key K is installed, K0, K1, and K2 are computed as follows:
K0 := MD5*( K ; U0 ; K)
K1 := MD5*( K ; U1 ; K)
K2 := MD5*( K ; U2 ; K)
Here - U0, U1, and U2 are 96-byte constant strings defined below;
- MD5* is the MD5 hash function without postprocessing
(.e. omitting padding and appended length).
This computation has to be done only once and requires in total
6 MD5 block operations.
The 16-byte `magic' strings T0, T1, and T2 (given in hexadecimal):
T0 = 97 ef 45 ac 29 0f 43 cd 45 7e 1b 55 1c 80 11 34
T1 = b1 77 ce 96 2e 72 8e 7c 5f 5a ab 0a 36 43 be 18
T2 = 9d 21 b4 21 bc 87 b9 4d a2 9d 27 bd c7 5b d7 c3
The 96-byte strings U0, U1, and U2:
U0 = T0 ; T1 ; T2 ; T0 ; T1 ; T2
U1 = T1 ; T2 ; T0 ; T1 ; T2 ; T0
U2 = T2 ; T0 ; T1 ; T2 ; T0 ; T1
[crypto95] Bart Preneel, Paul C. van Oorschot,
``MDx-MAC and Building Fast MACs from Hash Functions,''
Proc. Crypto'95, Springer-Verlag LNCS (to appear, Aug. 1995).
{ftp: ftp.esat.kuleuven.ac.be, directory pub/COSIC/preneel}
> From: Bart.Preneel@esat.kuleuven.ac.be
> The following note contains a short description of MD5-MAC, which is
> a simple and efficient way to derive a Message Authentication Code
> from MD5.
This is not, strictly speaking, MD5. If you wish to propose a new MD,
with different parameters and internal modifications, please indicate
with a new name.
And demonstrate how it is _faster_ than MD5, since a few others are
indicating that MD5 is unacceptably slow in their environments.
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
subscribe I don't know if this is an automated listserver, but if a human reads this please add me to the list -------- Don Sharp cc32859@vantage.fmrco.com Fidelity Investments (617) 570-3905 82 Devonshire St. A2A Boston, MA 02109
Xref subject next
The IESG has approved the Internet-Drafts as a Proposed Standards:
1. Security Architecture for the Internet Protocol
<draft-ietf-ipsec-arch-02.txt>
2. IP Authentication Header <draft-ietf-ipsec-auth-02.txt>
3. IP Encapsulating Security Payload (ESP) <draft-ietf-ipsec-esp-01.txt>
4. IP Authentication using Keyed MD5 <draft-ietf-ipsec-ah-md5-03.txt>
5. The ESP DES-CBC Transform <draft-ietf-ipsec-esp-des-cbc-04.txt>
These documents are the product of the IP Security Protocol Working
Group. The IESG contact person is Jeffrey Schiller.
Technical Summary
These documents specify mechanisms for providing Authentication,
Integrity, and Confidentiality of data traveling at the IP (both IPv4
and IPv6) layer. Although not intended as a replacement for security
services at other layers of the protocol stack, this technology
provides significant benefit to the many applications that today use
the network with little or no security protection.
Working Group Summary
After an extended period of discussion and debate, the Working Group
has come to consensus around these five documents. More work remains
to be done, including the development of an Internet key management
protocol, which the working group is currently addressing. Although
an automated key management protocol is not yet specified, the above
documents do not require a specific mechanism, by design. As such
they are implementable as they stand.
Protocol Quality
Jeff Schiller reviewed these protocols for the IESG. The need for
security services on the Internet is now well known and these
protocols provide an effective and in many cases transparent solution
for many of the Internet Security problems we are experiencing today.
Several implementations are currently underway and there is high
confidence that these protocols will operate properly.
Note: A formal response to the comments raised during the Last Call
period will be forthcoming.
Xref subject previous
The IESG has approved the Internet-Drafts as a Proposed Standards:
1. Security Architecture for the Internet Protocol
<draft-ietf-ipsec-arch-02.txt>
2. IP Authentication Header <draft-ietf-ipsec-auth-02.txt>
3. IP Encapsulating Security Payload (ESP) <draft-ietf-ipsec-esp-01.txt>
4. IP Authentication using Keyed MD5 <draft-ietf-ipsec-ah-md5-03.txt>
5. The ESP DES-CBC Transform <draft-ietf-ipsec-esp-des-cbc-04.txt>
These documents are the product of the IP Security Protocol Working
Group. The IESG contact person is Jeffrey Schiller.
Technical Summary
These documents specify mechanisms for providing Authentication,
Integrity, and Confidentiality of data traveling at the IP (both IPv4
and IPv6) layer. Although not intended as a replacement for security
services at other layers of the protocol stack, this technology
provides significant benefit to the many applications that today use
the network with little or no security protection.
Working Group Summary
After an extended period of discussion and debate, the Working Group
has come to consensus around these five documents. More work remains
to be done, including the development of an Internet key management
protocol, which the working group is currently addressing. Although
an automated key management protocol is not yet specified, the above
documents do not require a specific mechanism, by design. As such
they are implementable as they stand.
Protocol Quality
Jeff Schiller reviewed these protocols for the IESG. The need for
security services on the Internet is now well known and these
protocols provide an effective and in many cases transparent solution
for many of the Internet Security problems we are experiencing today.
Several implementations are currently underway and there is high
confidence that these protocols will operate properly.
Note: A formal response to the comments raised during the Last Call
period will be forthcoming.
Xref subject next
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the IP Security Protocol Working
Group of the IETF.
Title : The Photuris Session Key Management Protocol
Author(s) : P. Karn, W. Simpson
Filename : draft-ietf-ipsec-photuris-02.txt
Pages : 35
Date : 07/07/1995
Photuris [1] is an experimental session-key management protocol intended
for use with the IP Security Protocols (AH and ESP) in a point-to-point
mode.
Photuris is still in the early design stages and has not yet been
completely specified. It is hoped that this draft will stimulate
discussion about the merits of the design philosophy.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-ipsec-photuris-02.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-02.txt>draft-ietf-ipsec-photuris-02.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-02.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-ipsec-photuris-02.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950707150009.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-ipsec-photuris-02.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-ipsec-photuris-02.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950707150009.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref subject next
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories.
Title : Internet Security Association and Key Management
Protocol (ISAKMP)
Author(s) : D. Maughan, B. Patrick, M. Schertler
Filename : draft-nsa-isakmp-01.txt, .ps
Pages : 38
Date : 07/07/1995
This memo describes a protocol utilizing security concepts necessary for
establishing Security Associations (SA) and cryptographic keys in an
Internet environment. A Security Association protocol negotiates,
establishes, modifies and deletes Security Associations and their
attributes is required for an evolving Internet, where there will be
numerous security mechanisms and several options for each security
mechanism. The key management protocol must be robust in order to handle
public key generation for the Internet community at large and private key
requirements for those enclaves with that requirement.
The Internet Security Association and Key Management Protocol (ISAKMP)
defines the procedures for authenticating a communicating peer, creation
and management of Security Associations, key generation techniques, and
threat (e.g. denial of service and replay attacks) mitigation. All of
these are necessary to establish and maintain secure communications (via IP
Security Service or any other security protocol) in an Internet
environment.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-nsa-isakmp-01.txt".
Or
"get draft-nsa-isakmp-01.ps".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-nsa-isakmp-01.txt>draft-nsa-isakmp-01.txt>ftp://ds.internic.net/internet-drafts/draft-nsa-isakmp-01.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-nsa-isakmp-01.txt".
Or
"FILE /internet-drafts/draft-nsa-isakmp-01.ps".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950707190040.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-nsa-isakmp-01.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-nsa-isakmp-01.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950707190040.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref subject previous
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the IP Security Protocol Working
Group of the IETF.
Title : The Photuris Session Key Management Protocol
Author(s) : P. Karn, W. Simpson
Filename : draft-ietf-ipsec-photuris-02.txt
Pages : 35
Date : 07/07/1995
Photuris [1] is an experimental session-key management protocol intended
for use with the IP Security Protocols (AH and ESP) in a point-to-point
mode.
Photuris is still in the early design stages and has not yet been
completely specified. It is hoped that this draft will stimulate
discussion about the merits of the design philosophy.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-ipsec-photuris-02.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-02.txt>draft-ietf-ipsec-photuris-02.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-02.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-ipsec-photuris-02.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950707150009.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-ipsec-photuris-02.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-ipsec-photuris-02.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950707150009.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref subject previous
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories.
Title : Internet Security Association and Key Management
Protocol (ISAKMP)
Author(s) : D. Maughan, B. Patrick, M. Schertler
Filename : draft-nsa-isakmp-01.txt, .ps
Pages : 38
Date : 07/07/1995
This memo describes a protocol utilizing security concepts necessary for
establishing Security Associations (SA) and cryptographic keys in an
Internet environment. A Security Association protocol negotiates,
establishes, modifies and deletes Security Associations and their
attributes is required for an evolving Internet, where there will be
numerous security mechanisms and several options for each security
mechanism. The key management protocol must be robust in order to handle
public key generation for the Internet community at large and private key
requirements for those enclaves with that requirement.
The Internet Security Association and Key Management Protocol (ISAKMP)
defines the procedures for authenticating a communicating peer, creation
and management of Security Associations, key generation techniques, and
threat (e.g. denial of service and replay attacks) mitigation. All of
these are necessary to establish and maintain secure communications (via IP
Security Service or any other security protocol) in an Internet
environment.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-nsa-isakmp-01.txt".
Or
"get draft-nsa-isakmp-01.ps".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-nsa-isakmp-01.txt>draft-nsa-isakmp-01.txt>ftp://ds.internic.net/internet-drafts/draft-nsa-isakmp-01.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-nsa-isakmp-01.txt".
Or
"FILE /internet-drafts/draft-nsa-isakmp-01.ps".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950707190040.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-nsa-isakmp-01.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-nsa-isakmp-01.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950707190040.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
I just picked this up from www-security: > Message-Id:> Date: Sat, 15 Jul 1995 06:54:27 -0500 > From: Albert-Lunde@nwu.edu (Albert Lunde) > Subject: More restrictive controls on cryptography proposed in US Senate > > Senator Grassley has proposed a bill S974 "The Anti-Electronic Racketeering > Act": > > >S974 prohibits the distribution of "computer software that encodes or > >encrypts electronic or digital communications to computer networks that > >the person distributing the software knows or reasonably should know, > >is accessible to foreign nationals and foreign governments, > >regardless of whether such software has been designated as > >nonexportable". > [...] > >There is an important exception though. S974 allows distribution if > >the software contains a "universal decoding device". It is assumed that > >key escrow schemes such the now-infamous "Clipper Chip" are the target of > >this statement. > > The material above is taken from the "Voters Telecommunication Watch" > analysis. (I got the first announcement in VTW BillWatch Issue #9, Date: > Sat Jul 15) For the full text of the bill e-mail: vtw@vtw.org with "send > s974" in the subject line. (For general VTW info see: > http://www.panix.com/vtw/) > > It appears that the bill was referred to the Judiciary Committee and action > is not imminent, but it seems this bears watching as it could have an > extremely adverse effect on electronic commerce and network security. One > might read it to outlaw international use of any kind of cryptography > without Clipper-like holes: i.e. the encryption functions of PGP, SSL, > SHTTP, etc. > > --- > Albert Lunde Albert-Lunde@nwu.edu
Albert, you are right, this is a big danger. Jeff, Mark, read this!!! > Senator Grassley has proposed a bill S974 "The Anti-Electronic Racketeering > Act": We should suggest it renamed "The Racketeering Anti-Electronic Act"!! > > >S974 prohibits the distribution of "computer software that encodes or > >encrypts electronic or digital communications to computer networks that > >the person distributing the software knows or reasonably should know, > >is accessible to foreign nationals and foreign governments, > >regardless of whether such software has been designated as > >nonexportable". > [...] This should be prevented. Mark, I trust you to get this message in IBM and CSPP. Jeff, I suggest we discuss this in the SAAG and make IETF position known to all relevant bodies including the press (whatever that position would be :-) (I admit; this is so crazy that probably it wouldn't pass anyway, I mean, these people do _think_ about the bills, right? Umm... I guess maybe we should still do something...) > >There is an important exception though. S974 allows distribution if > >the software contains a "universal decoding device". It is assumed that > >key escrow schemes such the now-infamous "Clipper Chip" are the target of > >this statement. Oh, wonderful, such a surprise exception!! > > The material above is taken from the "Voters Telecommunication Watch" > analysis. (I got the first announcement in VTW BillWatch Issue #9, Date: > Sat Jul 15) For the full text of the bill Email: vtw@vtw.org with "send > s974" in the subject line. (For general VTW info see: > http://www.panix.com/vtw/exon) > > It appears that the bill was referred to the Judiciary Committee and action > is not imminent, but it seems this bears watching as it could have an > extremely adverse effect on electronic commerce and network security. One You bet! > might read it to outlaw international use of any kind of cryptography > without Clipper-like holes: i.e. the encryption functions of PGP, SSL, > SHTTP, etc. > best, Amir
SECOND CALL FOR PAPERS
Submission deadline is 14 August
LESS THAN ONE MONTH AWAY
The Internet Society Symposium on
Network and Distributed System Security
February 22-23, 1996
San Diego Princess Resort, San Diego, California
GOAL: The symposium will bring together people who are building hardware
and software to provide network and distributed system security services.
The symposium is intended for those interested in the practical aspects of
network and distributed system security, focusing on actual system design
and implementation, rather than theory. We hope to foster the exchange of
technical information that will encourage and enable the Internet community
to apply, deploy, and advance the state of available security technology.
Symposium proceedings will be published by the IEEE Computer Society Press.
Topics for the symposium include, but are not limited to, the following:
* Design and implementation of communication security services:
authentication, integrity, confidentiality, authorization,
non-repudiation, and availability.
* Design and implementation of security mechanisms, services, and
APIs to support communication security services, key management
and certification infrastructures, audit, and intrusion detection.
* Requirements and designs for securing network information resources
and tools -- WorldWide Web (WWW), Gopher, archie, and WAIS.
* Requirements and designs for systems supporting electronic commerce --
payment services, fee-for-access, EDI, notary -- endorsement,
licensing, bonding, and other forms of assurance.
* Design and implementation of measures for controlling network
communication -- firewalls, packet filters, application gateways, and
user/host authentication schemes.
* Requirements and designs for telecommunications security especially
for emerging technologies -- very large systems like the Internet,
high-speed systems like the gigabit testbeds, wireless systems, and
personal communication systems.
* Special issues and problems in security architecture, such as
interplay between security goals and other goals -- efficiency,
reliability, interoperability, resource sharing, and cost.
* Integration of security services with system and application security
facilities, and application protocols -- including but not limited to
message handling, file transport, remote file access, directories, time
synchronization, data base management, routing, voice and video
multicast, network management, boot services, and mobile computing.
GENERAL CHAIR:
Jim Ellis, CERT Coordination Center
PROGRAM CHAIRS:
David Balenson, Trusted Information Systems
Clifford Neuman, USC Information Sciences Institute
LOCAL ARRANGEMENTS CHAIR:
Thomas Hutton, San Diego Supercomputer Center
PUBLICATIONS CHAIR:
Steve Welke, Institute for Defense Analyses
REGISTRATIONS CHAIR:
Donna Leggett, Internet Society
PROGRAM COMMITTEE:
Tom Berson, Anagram Laboratories
Matt Bishop, University of California at Davis
Doug Engert, Argonne National Laboratory
Warwick Ford, Bell Northern Research (Canada)
Burt Kaliski, RSA Laboratories
Steve Kent, Bolt Beranek and Newman
Paul Lambert, Motorola
John Linn, OpenVision Technologies
Teresa Lunt, Advanced Research Projects Agency
Dan Nessett, Sun Microsystems
Hilarie Orman, University of Arizona
Michael Roe, Cambridge University (UK)
Rob Rosenthal, U.S. National Institute of Standards and Technology
Avi Rubin, Bellcore
Jeff Schiller, Massachusetts Institute of Technology
Rob Shirey, Bolt Beranek and Newman
Doug Tygar, Carnegie Mellon University
Roberto Zamparo, Telia Research (Sweden)
SUBMISSIONS: The committee invites technical papers and panel proposals
for topics of technical and general interest. Technical papers should
be 10-20 pages in length. Panel proposals should be two pages and
should describe the topic, identify the panel chair, explain the format
of the panel, and list three to four potential panelists. Technical
papers will appear in the proceedings. A description of each panel will
appear in the proceedings, and may at the discretion of the panel chair,
include written position statements from each panelist.
Each submission must contain a separate title page with the type of
submission (paper or panel), the title or topic, the names of the
author(s), organizational affiliation(s), telephone and FAX numbers,
postal addresses, Internet electronic mail addresses, and must list a
single point of contact if more than one author. The names of authors,
affiliations, and other identifying information should appear only on
the separate title page.
Deadline for paper submission: August 14, 1995
Notification sent to authors by: October 16, 1995
Deadline for camera-ready copy: November 13, 1995
Submissions must be received by 14 August 1995. Submissions should be
made via electronic mail. Submissions may be in either of two formats:
PostScript or ASCII. If the committee is unable to print a PostScript
submission, it will be returned and hardcopy requested. Therefore,
PostScript submissions should arrive well before 14 August. If
electronic submission is difficult, submissions should be sent via
postal mail.
All submissions and program related correspondence (only) should be
directed to the program chair:
Clifford Neuman
University of Southern California
Information Sciences Institute
4676 Admiralty Way
Marina del Rey, California 90292-6695
Phone: +1 (310) 822-1511
FAX: +1 (310) 823-6714
Email: sndss96-submissions@isi.edu
Dates, final call for papers, advance program, and registration
information will be made available at the URL:
http://nii.isi.edu/info/sndss
Each submission will be acknowledged by e-mail. If acknowledgment is
not received within seven days, please contact the program chair as
indicated above. Authors and panelists will be notified of acceptance
by 16 October 1995. Instructions for preparing camera-ready copy for
the proceedings will be sent at that time. The camera-ready
copy must be received by 13 November 1995.
Xref: Re: meeting in Stockholm?? Donald E. Eastlake 3rd Xref subject previous Xref subject next Donald; > Ohta San, > > I believe that the next version of the draft, which I plan to have out > next week, will address most of your concerns. While it is true that > in the past, even when you spoke to me in person at Danvers, I did not > fully understand these, I believe that I do now. I haven't had enough time to review all the part of your draft. But, at least, your draft ignores the WG consensus at the last meeting that non-authoritative delegation RRs do not have to and should not be authenticated by parent zones. As discussed in the meeting, the ignorance makes delegation packets unnecessarily lengthy so that 512 bytes won't be enough. I'd like to propose that, instead of seeking your own way only to make secure DNS complex, you should merge your partially implemented proposal with mine whose implementation of export-free, almost-complete nameserver has been running for these 8 monthes after my 2 weeks of hacking. Masataka Ohta
Subscribe ipsec
An IPSEC implementors list has been created to work towards Steve Crocker's "manual keyed IPSEC by Dallas" challenge. If I haven't already sent you mail informing you of how to subscribe (which I did for most of the implementors I know of -- no slight intended if I forgot about you), please get in touch. Note that this mailing list is for implementors and testers ONLY. Please don't subscribe just to monitor progress -- we will be making periodic announcements. Perry
Xref: Re: meeting in Stockholm?? Masataka Ohta Xref subject previous Xref subject next On Tue, 25 Jul 1995, Masataka Ohta wrote: > Donald; > > > Ohta San, > > > > I believe that the next version of the draft, which I plan to have out > > next week, will address most of your concerns. While it is true that > > in the past, even when you spoke to me in person at Danvers, I did not > > fully understand these, I believe that I do now. > > I haven't had enough time to review all the part of your draft. > > But, at least, your draft ignores the WG consensus at the > last meeting that non-authoritative delegation RRs do not > have to and should not be authenticated by parent zones. I think the draft follows the consensus. See sections 2.3.4 which says that only the KEY RR (for which the parent zone is authoritative) should be signed by the parent (and the NXT RR but you don't see that on "delegation packets"). > As discussed in the meeting, the ignorance makes delegation packets > unnecessarily lengthy so that 512 bytes won't be enough. > > I'd like to propose that, instead of seeking your own way only > to make secure DNS complex, you should merge your partially It's my opinion that, while the original proposal by myself and Charlie Kaufman was more complex than yours, our current proposal is simpler. > implemented proposal with mine whose implementation of > export-free, almost-complete nameserver has been running for > these 8 monthes after my 2 weeks of hacking. I am not doing the implementation so I don't have any ability to make decisions concerning "merging" of implementations. > Masataka Ohta Donald ===================================================================== Donald E. Eastlake 3rd +1 508-287-4877(tel) dee@cybercash.com 318 Acton Street +1 508-371-7148(fax) dee@world.std.com Carlisle, MA 01741 USA +1 703-620-4200(main office, Reston, VA)
I've been reading draft-ietf-dnssec-secext-04.txt and have a few comments
about section 5, the section dealing with the NXT RR. I realize that the
NXT RR is realitively new (used to be the NXD RR but was renamed when the
bitmap was added), but the documentation for the RR needs to be made a bit
clearer. You don't really say what the bitmap is a bitmap of (you get the
impression that it is a bitmap of RR types (as in the WKS bitmap of
protocols), but this isn't clearly stated, nor is the structure of the
bitmap defined. The example on the bottom of page 27 implies that the
bitmap has a value of 130. I'm not sure how to interept this. If it is
decimal, then you are saying that it applies to DNS RR types 0 and 6.
Also, has the FTP site for the archives changed? The last archive on
FTP.TIS.COM is 9411 and I can't seem to find any place where the NXT RR
was discussed.
Bruce
Xref: Re: manually distributed SA's Craig Metz Xref: Re: manually distributed SA's Craig Metz Xref subject next Is anyone interested in specifying/developing a simple program to generate SA's from text descriptions, maybe a text-to-C-structure tool? Something to facilitate manual distribution of SA's. I'm thinking of something to work with static tables, but maybe a parser that can read a configuration file periodically is more useful. At any rate, just having a common format for the text descriptions would help. And a few other things, like whether the DES key is assumed to be parity correct or not.
Xref subject previous Xref subject next In message <9507251850.AA00452@uncial.CS.Arizona.EDU>, Hilarie Orman writes: >Is anyone interested in specifying/developing a simple program to >generate SA's from text descriptions, maybe a text-to-C-structure >tool? Something to facilitate manual distribution of SA's. I'm >thinking of something to work with static tables, but maybe a parser >that can read a configuration file periodically is more useful. At >any rate, just having a common format for the text descriptions would >help. And a few other things, like whether the DES key is assumed to >be parity correct or not. I don't believe that it is necessarily a good idea to go so far as to talk about C structures because that is something that I expect to differ among implementations, but I do think that it is a good idea to specify a standard table format for security associations. It would be a win for interoperability testing because it would make manual key management more manageable (and I'd expect that people would have to exchange keys for testing purposes using electronic mail in practice). I would really like to see DES keys treated as 64-bit entities that just happen to have their most significant bits be odd parity bits. Packing and unpacking a 56-bit representation is annoying, if not painful. One question I would throw out is, if such a beast were to be developed, how variable-length entities such as IVs and keys might be stored. Do we want to make their length explicit by having two tokens (length, datum) or do we want to make it implicit from the datum representation, which might introduce granularity restrictions and will require leading zeros? -Craig
Xref: Re: manually distributed SA's Bill Sommerfeld Xref: Re: manually distributed SA's Bill Sommerfeld Xref subject previous Xref subject next In message <9507251850.AA00452@uncial.CS.Arizona.EDU>, Hilarie Orman writes: >Is anyone interested in specifying/developing a simple program to >generate SA's from text descriptions, maybe a text-to-C-structure >tool? Something to facilitate manual distribution of SA's. I'm >thinking of something to work with static tables, but maybe a parser >that can read a configuration file periodically is more useful. At >any rate, just having a common format for the text descriptions would >help. And a few other things, like whether the DES key is assumed to >be parity correct or not. I don't believe that it is necessarily a good idea to go so far as to talk about C structures because that is something that I expect to differ among implementations, but I do think that it is a good idea to specify a standard table format for security associations. It would be a win for interoperability testing because it would make manual key management more manageable (and I'd expect that people would have to exchange keys for testing purposes using electronic mail in practice). I would really like to see DES keys treated as 64-bit entities that just happen to have their most significant bits be odd parity bits. Packing and unpacking a 56-bit representation is annoying, if not painful. One question I would throw out is, if such a beast were to be developed, how variable-length entities such as IVs and keys might be stored. Do we want to make their length explicit by having two tokens (length, datum) or do we want to make it implicit from the datum representation, which might introduce granularity restrictions and will require leading zeros? -Craig
Xref subject previous Xref subject next -----BEGIN PGP SIGNED MESSAGE----- content-type: text/plain; charset=us-ascii I would really like to see DES keys treated as 64-bit entities that just happen to have their most significant bits be odd parity bits. Careful... the DES libraries I'm familiar with put the parity bit in the *least significant* bit of each byte; this rather bizzare usage is apparantly mandated by the standard (I don't have the FIPS spec handy to check..). It's also worth noting that overly agressive key parity checking was a contributing factor to a significant security bug in an encrypting version of telnet -- the key scheduleing routine checked parity, saw that it was bad, and left the key schedule uninitialized (all zeros) which was equivalent to a "encrypting" with a weak key of 01 01 01 01 01 01 01 01. One question I would throw out is, if such a beast were to be developed, how variable-length entities such as IVs and keys might be stored. Do we want to make their length explicit by having two tokens (length, datum) or do we want to make it implicit from the datum representation, which might introduce granularity restrictions and will require leading zeros? I think an explicit bit count should be included. S/Key-style multiple word format should be available to increase the redundancy of the transmission format.. - Bill -----BEGIN PGP SIGNATURE----- Version: 2.6.1 iQCVAwUBMBWUj1pj/0M1dMJ/AQEsJgP+IYx1xklHPmWw2q7ODZAhb+jjdyoIrB+J eQc7W3ZBiQTQSSJe7PiKAM6K0nXWKTENihvO6PTa8wrdiQkHggTCoYiXuqi6M9TX nFrC84nUQGJDRaCt9tVm6m/SerFo2SDusJQjc86idFT71vbPNM9GwyoMj6/YocR/ 0mE/yC5Pf+c= =lT6N -----END PGP SIGNATURE-----
Xref: Re: manually distributed SA's Hilarie Orman Xref: Re: manually distributed SA's Craig Metz Xref subject previous Xref subject next -----BEGIN PGP SIGNED MESSAGE----- content-type: text/plain; charset=us-ascii I would really like to see DES keys treated as 64-bit entities that just happen to have their most significant bits be odd parity bits. Careful... the DES libraries I'm familiar with put the parity bit in the *least significant* bit of each byte; this rather bizzare usage is apparantly mandated by the standard (I don't have the FIPS spec handy to check..). It's also worth noting that overly agressive key parity checking was a contributing factor to a significant security bug in an encrypting version of telnet -- the key scheduleing routine checked parity, saw that it was bad, and left the key schedule uninitialized (all zeros) which was equivalent to a "encrypting" with a weak key of 01 01 01 01 01 01 01 01. One question I would throw out is, if such a beast were to be developed, how variable-length entities such as IVs and keys might be stored. Do we want to make their length explicit by having two tokens (length, datum) or do we want to make it implicit from the datum representation, which might introduce granularity restrictions and will require leading zeros? I think an explicit bit count should be included. S/Key-style multiple word format should be available to increase the redundancy of the transmission format.. - Bill -----BEGIN PGP SIGNATURE----- Version: 2.6.1 iQCVAwUBMBWUj1pj/0M1dMJ/AQEsJgP+IYx1xklHPmWw2q7ODZAhb+jjdyoIrB+J eQc7W3ZBiQTQSSJe7PiKAM6K0nXWKTENihvO6PTa8wrdiQkHggTCoYiXuqi6M9TX nFrC84nUQGJDRaCt9tVm6m/SerFo2SDusJQjc86idFT71vbPNM9GwyoMj6/YocR/ 0mE/yC5Pf+c= =lT6N -----END PGP SIGNATURE-----
Xref: Re: manually distributed SA's Bill Sommerfeld Xref: Re: manually distributed SA's Bill Sommerfeld Xref subject previous Xref subject next Well, Dallas is for interoperability testing, and this tool is primarily for supporting that short-term goal ... will we need to consider more than DES and MD5? I was just suggesting that we agree on a simple set of conventions for a throw-away tool.
Xref subject previous Xref subject next -----BEGIN PGP SIGNED MESSAGE----- content-type: text/plain; charset=us-ascii Well, Dallas is for interoperability testing, and this tool is primarily for supporting that short-term goal ... I suspect that the "throw away tool" may be useful well after Dallas. will we need to consider more than DES and MD5? I was just suggesting that we agree on a simple set of conventions for a throw-away tool. At least as I read it, draft-ietf-ipsec-ah-md5-03.txt specifies a variable-length key with no maximum length. Given that there are two different transforms and an infinite number of key sizes to worry about, I think most of the cost of full generality will have to be in there. Alternatively, for the Dallas demonstration, we could agree to have the ah-md5 keysize be exactly 128 or 64 bits, but that would be cheating :-). - Bill -----BEGIN PGP SIGNATURE----- Version: 2.6.1 iQCVAwUBMBWcw1pj/0M1dMJ/AQFlDQP9ELUUBT7SXBETUVgD5w5ruEKjSxwkyPJB hnY70F7wlwByCxuQJt9qaGkUccCIf7DTFaoLiZAR4D+qoZUraSzIK6YashGV+4YU XRCByz8M/mDZcNj8FK7IDPf1uzeDGcV107XlXNZL+JVH2GhqJiPQ1440LaM6ZzZP kJ7hLhcm7b0= =2Uh9 -----END PGP SIGNATURE-----
Xref: Re: manually distributed SA's Craig Metz Xref: Re: manually distributed SA's Craig Metz Xref subject previous Xref subject next -----BEGIN PGP SIGNED MESSAGE----- content-type: text/plain; charset=us-ascii Well, Dallas is for interoperability testing, and this tool is primarily for supporting that short-term goal ... I suspect that the "throw away tool" may be useful well after Dallas. will we need to consider more than DES and MD5? I was just suggesting that we agree on a simple set of conventions for a throw-away tool. At least as I read it, draft-ietf-ipsec-ah-md5-03.txt specifies a variable-length key with no maximum length. Given that there are two different transforms and an infinite number of key sizes to worry about, I think most of the cost of full generality will have to be in there. Alternatively, for the Dallas demonstration, we could agree to have the ah-md5 keysize be exactly 128 or 64 bits, but that would be cheating :-). - Bill -----BEGIN PGP SIGNATURE----- Version: 2.6.1 iQCVAwUBMBWcw1pj/0M1dMJ/AQFlDQP9ELUUBT7SXBETUVgD5w5ruEKjSxwkyPJB hnY70F7wlwByCxuQJt9qaGkUccCIf7DTFaoLiZAR4D+qoZUraSzIK6YashGV+4YU XRCByz8M/mDZcNj8FK7IDPf1uzeDGcV107XlXNZL+JVH2GhqJiPQ1440LaM6ZzZP kJ7hLhcm7b0= =2Uh9 -----END PGP SIGNATURE-----
Xref subject previous Xref subject next Well, Dallas is for interoperability testing, and this tool is primarily for supporting that short-term goal ... will we need to consider more than DES and MD5? I was just suggesting that we agree on a simple set of conventions for a throw-away tool. OK, let's try this as a proposal for everyone to take potshots at: SA# srcaddr dstaddr alg(parm,...) where SA# specifies the input and output SA numbers, srcaddr and dstaddr are either host names or addresses, or address/masklen to support host-to-router or router-to-router encryption. alg is the ``official'' name of a security transform; as many parameters as needed are given in hex. The length of the supplied parameter is defined by the number of hex bytes that are given (I recommend against ASCII strings here, since we don't want to encourage the return of passwords); a given transform may require a particular length. Repeat the line to give the reverse direction, or extend the format to be SA#;# srcaddr dstaddr alg(parm,...;parm,...) Anything after a # is ignored, as are blank lines. White space is allowed in the parm strings, to make the long hex stuff more readable. A sample line, more or less matching what I used to call home from Stockholm might be: 1000 39.11.22.20 1.2.3.4 ah-md5(01234567) 1001 1.2.3.4 39.11.22.20 ah-md5(89abcdef) or 1000;1001 39.11.22.20 135.104.26.7 ah-md5(01234567;89abcdef) (No, that's not the exact key or inside address I used -- not that it matters, since our firewall will no longer pass the traffic.) I haven't though much about how to denote per-user or per-connection keying. user@addr, perhaps, for the former? The latter doesn't seem to be a useful thing to specify in a static file, though it might work for special cases, such as DNS traffic. I'm not convinced that we need this file for Dallas as much as for products. After all, these are secret keys, which means that more or less by definition we're not sharing them with others. But for products, it might be useful to be able to generate key pairs on a central security server, stamp out diskettes, and hand them to users. There, I wouldn't want to have to know 17 different formats.
Xref subject previous Xref subject next Well, Dallas is for interoperability testing, and this tool is primarily for supporting that short-term goal ... will we need to consider more than DES and MD5? I was just suggesting that we agree on a simple set of conventions for a throw-away tool. OK, let's try this as a proposal for everyone to take potshots at: SA# srcaddr dstaddr alg(parm,...) where SA# specifies the input and output SA numbers, srcaddr and dstaddr are either host names or addresses, or address/masklen to support host-to-router or router-to-router encryption. alg is the ``official'' name of a security transform; as many parameters as needed are given in hex. The length of the supplied parameter is defined by the number of hex bytes that are given (I recommend against ASCII strings here, since we don't want to encourage the return of passwords); a given transform may require a particular length. Repeat the line to give the reverse direction, or extend the format to be SA#;# srcaddr dstaddr alg(parm,...;parm,...) Anything after a # is ignored, as are blank lines. White space is allowed in the parm strings, to make the long hex stuff more readable. A sample line, more or less matching what I used to call home from Stockholm might be: 1000 39.11.22.20 1.2.3.4 ah-md5(01234567) 1001 1.2.3.4 39.11.22.20 ah-md5(89abcdef) or 1000;1001 39.11.22.20 135.104.26.7 ah-md5(01234567;89abcdef) (No, that's not the exact key or inside address I used -- not that it matters, since our firewall will no longer pass the traffic.) I haven't though much about how to denote per-user or per-connection keying. user@addr, perhaps, for the former? The latter doesn't seem to be a useful thing to specify in a static file, though it might work for special cases, such as DNS traffic. I'm not convinced that we need this file for Dallas as much as for products. After all, these are secret keys, which means that more or less by definition we're not sharing them with others. But for products, it might be useful to be able to generate key pairs on a central security server, stamp out diskettes, and hand them to users. There, I wouldn't want to have to know 17 different formats.
Xref subject previous Xref subject next In message <199507260104.AA073450662@relay.hp.com>, Bill Sommerfeld writes: > I would really like to see DES keys treated as 64-bit entities > that just happen to have their most significant bits be odd parity > bits. > >Careful... the DES libraries I'm familiar with put the parity bit in >the *least significant* bit of each byte; this rather bizzare usage is >apparantly mandated by the standard (I don't have the FIPS spec handy >to check..). Mea culpa, you are correct. >It's also worth noting that overly agressive key parity checking was a >contributing factor to a significant security bug in an encrypting >version of telnet -- the key scheduleing routine checked parity, saw >that it was bad, and left the key schedule uninitialized (all zeros) >which was equivalent to a "encrypting" with a weak key of >01 01 01 01 01 01 01 01. The way our code does it right now, the kernel expects "keys" to be variable length entities that have already had any transform-specific checking done on them. These "keys" are then passed to the algorithm (i.e. DES-CBC) initialization function to build a key schedule when they need to be used. For DES-CBC, if the "key" fails parity checking or isn't 64 bits long, the initialization function will simply refuse to build a key schedule and the encrypt or decrypt operation is considered to be in error. This prevents the case where a packet could go out with either a dummy key as you cite or with an indeterminate key arising from the error condition. > One question I would throw out is, if such a beast were to be > developed, how variable-length entities such as IVs and keys might be > stored. Do we want to make their length explicit by having two tokens > (length, datum) or do we want to make it implicit from the datum > representation, which might introduce granularity restrictions and will > require leading zeros? > >I think an explicit bit count should be included. I would like to avoid one, but I don't see any particularly good choices. >S/Key-style multiple word format should be available to increase the >redundancy of the transmission format.. I disagree. I think a continuous hexadecimal string would be best for a key distribution file. I believe that a OTP-style six-word (or, possibly, n-word) format would be appropriate if not necessary for a user front-end utility (consider bootstrapping problems). But, for a database, we need something that is easy to parse and manipulate. For instance, if I want to write a quick Perl script to check key parity for DES-CBC keys, writing code for the Perl script to translate to and from the six-word format is a large burden, while parsing hexadecimal number strings is easy. When we are doing manual key entry, a small front-end program is a reasonable thing IMO for production use, and that could easily have a six-word (or n-word) to hexadecimal translation as part of its functions (which should also include key checking, IMO). For just storing those keys, though, I'd much rather have something easy to parse to reduce the overhead of using the file. -Craig
Xref subject previous Xref subject next In message <199507260139.AA094992762@relay.hp.com>, Bill Sommerfeld writes: > Well, Dallas is for interoperability testing, and this tool is > primarily for supporting that short-term goal ... > >I suspect that the "throw away tool" may be useful well after Dallas. Also, keep in mind that "throw-away tools" have this wierd way of becoming de facto standards. > will we need to consider more than DES and MD5? I was just > suggesting that we agree on a simple set of conventions for a > throw-away tool. > >At least as I read it, draft-ietf-ipsec-ah-md5-03.txt specifies a >variable-length key with no maximum length. This is my read, as well. >Given that there are two different transforms and an infinite number >of key sizes to worry about, I think most of the cost of full >generality will have to be in there. Also, we don't want to give the impression of restricting the security specs to the two defined algorithms, lest the while crypto debate become an issue again. >Alternatively, for the Dallas demonstration, we could agree to have >the ah-md5 keysize be exactly 128 or 64 bits, but that would be >cheating :-). Agreed. Flexibility is very important and needs to be demonstrated. -Craig
Xref subject previous In message <199507260139.AA094992762@relay.hp.com>, Bill Sommerfeld writes: > Well, Dallas is for interoperability testing, and this tool is > primarily for supporting that short-term goal ... > >I suspect that the "throw away tool" may be useful well after Dallas. Also, keep in mind that "throw-away tools" have this wierd way of becoming de facto standards. > will we need to consider more than DES and MD5? I was just > suggesting that we agree on a simple set of conventions for a > throw-away tool. > >At least as I read it, draft-ietf-ipsec-ah-md5-03.txt specifies a >variable-length key with no maximum length. This is my read, as well. >Given that there are two different transforms and an infinite number >of key sizes to worry about, I think most of the cost of full >generality will have to be in there. Also, we don't want to give the impression of restricting the security specs to the two defined algorithms, lest the while crypto debate become an issue again. >Alternatively, for the Dallas demonstration, we could agree to have >the ah-md5 keysize be exactly 128 or 64 bits, but that would be >cheating :-). Agreed. Flexibility is very important and needs to be demonstrated. -Craig
Xref: Re: Testing ESP and/or AH Perry E. Metzger Xref subject next Is anyone ready for ESP and/or AH interoperability testing yet?
Trusted Information Systems is pleased to announce the availability of a secure DNS: TIS/DNSSEC Version 1.0 alpha. It provides integrity and authentication services for DNS resource records using digital signature technology. It is being made available for alpha testing on the following basis. o TIS/DNSSEC is available via anonymous FTP in source code form. All modules have been written in the C programming language and it is known to run on many UNIX-derived operating systems. o This version of TIS/DNSSEC depends on a specialized version of TIS/MOSS, which is currently included in the distribution. o This version of TIS/DNSSEC is not available outside the United States or Canada, nor can you give it to anyone who is not a U.S. or Canadian citizen and does not have a U.S. "green card." (These are U.S. State and Commerce Department requirements because of the use of TIS/MOSS. We hope to be able to remove this restriction in a future version.) This version of TIS/DNSSEC is an alpha implementation because it does not implement the entire specification. As soon as we complete the implementation it will be a beta distribution until the code stabilizes. TIS/DNSSEC is a product of Trusted Information Systems that may be used free of charge during the alpha test period. Instructions on how to retrieve TIS/DNSSEC Version 1.0 alpha may be found in the file "/pub/DNSSEC/README" on the host "ftp.tis.com" which may be retrieved via anonymous ftp. If you have any questions or comments please send email to "tisdnssec-support@tis.com".
Xref: Re: WG Last Call: draft-ietf-dnssec-secext-04.txt Masataka Ohta Xref: Re: WG Last Call: draft-ietf-dnssec-secext-04.txt Donald E. Eastlake 3rd Xref subject next Speaking as chair of the DNS Security Working Group, I would like to announce a working group last call on the following document: draft-ietf-dnssec-secext-04.txt This document will be submitted to the IESG on or after August 16 (3 weeks from now) for consideration as a Proposed Standard unless it is found to be technically flawed. Speak now (on technical flaws) or forever hold your peace. Jim
Xref: Re: Testing ESP and/or AH Craig Metz Xref subject previous Xref subject next Karl Fox writes: > Is anyone ready for ESP and/or AH interoperability testing yet? Well, one also has to ask at what level... Perry
Xref subject previous In message <9507262202.AA17586@snark.imsi.com>, "Perry E. Metzger" writes: >Karl Fox writes: >> Is anyone ready for ESP and/or AH interoperability testing yet? > >Well, one also has to ask at what level... And over what network protocol... -Craig
Xref: Re: query Craig Metz Xref: Re: query Perry E. Metzger Xref subject next Could people state the organization sponsoring their implementation, whether it will be freely distributable, whether they are in the export gravity well, what platforms they are working on, whether they are working on transport level security associations, and their estimated dates? Here is the data for me: Company: Piermont Information Systems Inc. ETA: September 1, 1995 Platform: 4.4BSD Lite (NetBSD) Transport SAs?: Yes Free?: After testing Written in US?: Yes Perry
Xref subject previous Xref subject next > From: perry@imsi.com (Perry E. Metzger) > > Could people state the organization sponsoring their implementation, > whether it will be freely distributable, whether they are in the > export gravity well, what platforms they are working on, whether they > are working on transport level security associations, and their > estimated dates? > Company: USC/Information Sciences Institute ETA: September, 1995 Platform: SunOS 4.1.3 Transport SAs?: Yes Free?: Yes (patches to SunOS 4.1.3 and binaries only) Written in US?: Yes Joe ---------------------------------------------------------------------- Joe Touch touch@isi.edu ISI / Project Leader, ATOMIC-2 http://www.isi.edu/~touch USC / Research Assistant Prof. http://www.isi.edu/atomic2
Xref: Re: query Karl Fox Xref subject previous Xref subject next In message <9507262213.AA15972@webster.imsi.com>, Perry E. Metzger writes: >Here is the data for me: >Company: Piermont Information Systems Inc. >ETA: September 1, 1995 >Platform: 4.4BSD Lite (NetBSD) >Transport SAs?: Yes >Free?: After testing >Written in US?: Yes I'll add for us (just in case someone higher up than I doesn't approve of me telling anyone about our work, you didn't hear it from me ;): Company: U. S. Naval Research Lab ETA: Alpha expected by end of 3Q95 Platform: 4.4BSD-alikes Transport SAs?: Yes (host- and socket- oriented) Free?: When released/after testing (BSDish license) Written in US?: Yes And I'll add two fields I consider important: Specs that will be implemented: AH, AH-MD5, ESP, ESP-DES-CBC Network transports supported: IPv6 (*maybe* IPv4, if we have time) -Craig
Xref subject previous Xref subject next Craig brings up a good point: > And I'll add two fields I consider important: > > Specs that will be implemented: AH, AH-MD5, ESP, ESP-DES-CBC > Network transports supported: IPv6 (*maybe* IPv4, if we have time) Here's our complete info: Company: USC/Information Sciences Institute ETA: September, 1995 Platform: SunOS 4.1.3 Transport SAs?: Yes Free?: Yes (patches to SunOS 4.1.3 and binaries only) Written in US?: Yes Specs that will be implemented: AH, AH-MD5 Network transports supported: IPv4 We're also implementing some alternate hashing algorithms, for comparison. Joe ---------------------------------------------------------------------- Joe Touch touch@isi.edu ISI / Project Leader, ATOMIC-2 http://www.isi.edu/~touch USC / Research Assistant Prof. http://www.isi.edu/atomic2
Xref subject previous Xref subject next Hmmm. Maybe I should supplement this, too. Perry E. Metzger writes: > Company: Piermont Information Systems Inc. > ETA: September 1, 1995 > Platform: 4.4BSD Lite (NetBSD) > Transport SAs?: Yes > Free?: After testing > Written in US?: Yes Transforms: AH: MD5, SHA; ESP: DES-CBC, 3DES-CBC, possibly combinations IP Versions: IPv4 (*maybe* IPv6, if I get a stack I can use) Perry
Xref subject previous Company: Morning Star Technologies, Inc. ETA: Currently testing; first customer ship expected about August 7 Platform: Morning Star Express and/or SecureConnect routers Transport SAs?: [see below] Free?: No Written in US?: Yes Specs supported: AH, AH-MD5, ESP, ESP-DES-CBC Network transports supported: IPv4 I'm afraid I don't understand what you mean by `Transport SAs?' -- are you asking about user-oriented SPIs versus host-oriented ones? If so, since we are a router, we only support host-oriented SPIs, and we only support the tunneled mode (AH over ip_p=4, ESP over ip_p=4, and AH over ESP over ip_p=4), not the `transport' mode.
Xref: Re: location of the AH in IPv4 Perry E. Metzger Xref subject next Hi, I'm a little confused about the location of the AH in IPv4. The AH spec (draft-ietf-ipsec-auth-02.txt, 25 May '95), says that: 0. Abstract (p 1) AH is normally inserted after the main IP header 3. Authentication Header (p 4-5) When used with IPv4, the AH normally follows the main IPv4 header. but later says: 4. Calculation... (p 8) The IPv4 TTL and HDR-CHKSM fields are then only fields in the IPv4 base header that... This confuses base and main header. What is the main header? I'm presuming the following: A. AH comes after IPv4 base and after IPv4 options (if any) B. IPv4 base length includes base and options only i.e., IPv4 length points to the AH start Is there any verification of this in the specs? Joe ---------------------------------------------------------------------- Joe Touch touch@isi.edu ISI / Project Leader, ATOMIC-2 http://www.isi.edu/~touch USC / Research Assistant Prof. http://www.isi.edu/atomic2
Xref subject previous
touch@ISI.EDU writes:
> The IPv4 TTL and HDR-CHKSM fields are then only fields
> in the IPv4 base header that...
>
> This confuses base and main header. What is the main header?
IPv6isms creeping back to v4. Think of base header as "IPv4 header"
> I'm presuming the following:
>
> A. AH comes after IPv4 base and after IPv4 options (if any)
In IPv4, AH comes in the payload.
[IPv4 Header][AH [Original payload]]
^payload boundary.
Just think of it that way and you are far safer.
Perry
Xref subject previous > > > I believe that the next version of the draft, which I plan to have out > > > next week, will address most of your concerns. While it is true that > > > in the past, even when you spoke to me in person at Danvers, I did not > > > fully understand these, I believe that I do now. > > > > I haven't had enough time to review all the part of your draft. > > > > But, at least, your draft ignores the WG consensus at the > > last meeting that non-authoritative delegation RRs do not > > have to and should not be authenticated by parent zones. > > I think the draft follows the consensus. See sections 2.3.4 which > says that only the KEY RR (for which the parent zone is authoritative) > should be signed by the parent (and the NXT RR but you don't see that > on "delegation packets"). I'm afraid you still misunderstand what "authoritative" means. > > As discussed in the meeting, the ignorance makes delegation packets > > unnecessarily lengthy so that 512 bytes won't be enough. And this issue remains unsolved. > > I'd like to propose that, instead of seeking your own way only > > to make secure DNS complex, you should merge your partially > > It's my opinion that, while the original proposal by myself and > Charlie Kaufman was more complex than yours, our current proposal is > simpler. It is no excuse that you made a bad proposal less bad, especially in the face of a good proposal. > > implemented proposal with mine whose implementation of > > export-free, almost-complete nameserver has been running for > > these 8 monthes after my 2 weeks of hacking. > > I am not doing the implementation so I don't have any ability to make > decisions concerning "merging" of implementations. I'm talking not about implementations but about specifications, only one of which is implemented. Masataka Ohta
Xref subject previous Xref subject next > Speaking as chair of the DNS Security Working Group, I would like to > announce a working group last call on the following document: > > draft-ietf-dnssec-secext-04.txt I don't think we are ready to proceed. > This document will be submitted to the IESG on or after August 16 (3 > weeks from now) for consideration as a Proposed Standard unless it is > found to be technically flawed. Why didn't you have a meeting or two at Stockholm, if you want to have an intense discussion? Yes, it is technically flawed. If you don't think so, give a full implementation. Moreover, E&K proposal is not compared to the alternative proposal of mine, because, at the last meeting, you forced your wrong view that the difference is merely on the number of RR types. > Speak now (on technical flaws) or forever hold your peace. While your misjudgement was understandable at the time of the last meeting, I really hope you not repeat it again. Masataka Ohta
Xref subject next
I will re-iterate a comment I made in private in Stockholm. I would
strongly suggest that the signature computation be exactly compatible with
that performed by the RSAREF toolkit (not to mention other toolkits, PEM
and PGP which all conform to the PKCS standard for signatures). The current
documented version is only "close."
-Jeff
Xref: Re: WG Last Call: draft-ietf-dnssec-secext-04.txt Donald E. Eastlake 3rd Xref subject previous Xref subject next On Wed, 26 Jul 1995, James M Galvin wrote: > Speaking as chair of the DNS Security Working Group, I would like to > announce a working group last call on the following document: > > draft-ietf-dnssec-secext-04.txt > > This document will be submitted to the IESG on or after August 16 (3 > weeks from now) for consideration as a Proposed Standard unless it is > found to be technically flawed. > > Speak now (on technical flaws) or forever hold your peace. > > Jim I would like to make the following minor changes. I do not believe these have any techncial effect. (1) As suggested by Jeff Schiller, change the RSA algorithm signature to be exactly PKCS1. (see his message below) This mostly involved adding the MD5 OID algorithm identifier to the MD5 message digest before encrypting with the private key. It would make it possible to implement DNSSEC with RSAREF. (2) Since MOSS has now gone to Proposed Standard, I want to reserve bit 9 in the KEY RR flags to indicate MOSS. (3) Due to the message sent by Bruce Crabill below, I would like to add the following clarifying text to section 5 and to change the examle to use a list of RR type mnemonics. "The NXT RR type bit map is one bit per RR type present for the owner name similar to the WKS socket bit map. The first bit represents RR type zero (an illegal type which should not be present.) A one bit indicates that at least one RR of that type is present for the owner name. A zero indicates that no such RR is present. All bits not specified because they are beyond the end of the bit map are assumed to be zero. Note that bit 30, for NXT, will always be on so the minimum bit map length is actually four octets. The NXT bit map should be printed as a list of type mnemonics or decimal numbers similar to the WKS RR." I believe these changes are not of a type that would require delaying forwarding the draft to the IESG. Donald
Xref subject previous
I will re-iterate a comment I made in private in Stockholm. I would
strongly suggest that the signature computation be exactly compatible with
that performed by the RSAREF toolkit (not to mention other toolkits, PEM
and PGP which all conform to the PKCS standard for signatures). The current
documented version is only "close."
-Jeff
I've been reading draft-ietf-dnssec-secext-04.txt and have a few comments about section 5, the section dealing with the NXT RR. I realize that the NXT RR is realitively new (used to be the NXD RR but was renamed when the bitmap was added), but the documentation for the RR needs to be made a bit clearer. You don't really say what the bitmap is a bitmap of (you get the impression that it is a bitmap of RR types (as in the WKS bitmap of protocols), but this isn't clearly stated, nor is the structure of the bitmap defined. The example on the bottom of page 27 implies that the bitmap has a value of 130. I'm not sure how to interept this. If it is decimal, then you are saying that it applies to DNS RR types 0 and 6. ... ===================================================================== Donald E. Eastlake 3rd +1 508-287-4877(tel) dee@cybercash.com 318 Acton Street +1 508-371-7148(fax) dee@world.std.com Carlisle, MA 01741 USA +1 703-620-4200(main office, Reston, VA)
CURRENT MEETING REPORT
Minutes of the IP Security Working Group (IPSEC)
Reported by Antonio Fernandez (afa@bellcore.com)
and Mark Schertler (mjs@tycho.nsa.gov)
The IP Security (IPSEC) Working Group met on Wednesday July 19th from
9:00-12:00 during the 33rd IETF. Paul Lambert chaired the meeting,
which was broadcast on the mbone. The meeting covered the status of the
IP ESP and AH documents, a presentation and discussion about the
Internet Key Management Protocol (IKMP) and a presentation of DNS
Security Extensions (DNSSEC) to provide long term keys on the
Internet.
Martin Patterson announced a SKIP BOF. Several implementations of SKIP
have been developed and alignment of SKIP with ESP and AH is being
discussed. The main purpose of the BOF is to get the people
implementing versions of SKIP together.
IPSEC Document Status
The following IPSEC Specifications have been advanced to Proposed
Standard:
1. Security Architecture for the Internet Protocol
<draft-ietf-ipsec-arch-02.txt>
2. IP Authentication Header <draft-ietf-ipsec-auth-02.txt>
3. IP Encapsulating Security Payload (ESP) <draft-ietf-ipsec-esp-01.txt>
4. IP Authentication using Keyed MD5 <draft-ietf-ipsec-ah-md5-03.txt>
5. The ESP DES-CBC Transform <draft-ietf-ipsec-esp-des-cbc-04.txt>
The IP Authentication using Keyed MD5 specification before it is
forwarded to the RFC editor will be edited to reflect Hugo Krawczyk's
comments concerning having the prepended key padded with a one (1) and
some number of zeros (0) to a length of 512 bits.
Jeff Schiller, Security Area Director, will provide the official
response to the comments received during the last call period.
Several implementations of ESP and AH are being developed and an
implementor's mailing list has been started. Contact Perry Metzger
(perry@imsi.com) if you are an implementor and would like to be on the
mailing list.
Internet Key Management Protocol (IKMP)
Currently IPSEC is considering two Internet Key Management Protocol
(IKMP) Proposals:
1. Photuris <draft-ipsec-photuris-02.txt>
2. Internet Security Association Key Management Protocol (ISAKMP) http://www.nsa.gov:8080/) . The developer's future plans are to
prototype an Internet security solution using ISAKMP, ESP, and AH. A
model of ISAKMP has been developed using the Foresight modeling tool.
This model will be used to perform vulnerability testing prior to
prototype completion.
DMS Security Extensions (DNSSEC)
Donald Eastlake presented work being done on DNS Security Extentions
(DNSSEC) and its relationship to IPSEC work. IKMP will create session
(short term) keys, but there is also a requirement for long term keys.
There are several sources for long term keys, and one is the DNSSEC.
DNSSEC includes provisions for associating long term keys with users
and hosts and also explicit provisions for indicating the protocols
associated with the long term keys. The public (long term) keys can be
signed (e.g. certifed) and stored in the DNS. Thus the long term keys
are available on line. DNSSEC supports a variety of key types requests.
DNS is widely deployed in the Internet and having the entities being
named linked to the domain names is a natural in the global Internet.
Public alpha code will be made available soon (in the next days) by
Trusted Information Systems (TIS).
The Internet-Draft which incorporates implementation experience thus
far is available at:
ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-secext-04.txt>draft-ietf-dnssec-secext-04.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-secext-04.txt
Xref subject next
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the Domain Name System Security
Working Group of the IETF.
Title : Mapping Autonomous Systems Number into the
Domain Name System
Author(s) : D. Eastlake
Filename : draft-ietf-dnssec-as-map-02.txt
Pages : 9
Date : 08/07/1995
One requirement of secure routing is that independent routing entities,
such as those identified by Internet Autonomous System Numbers, be able to
authenticate messages to each other. Modifications currently being
developed (see draft-ietf-dnssec-secext-*.txt>draft-ietf-dnssec-secext-*.txt) to the Domain Name System
will enable it to be used for authenticated public key distribution. This
draft maps all Autonomous System numbers into DNS Domain Names so that the
DNS can be used to distribute their public keys.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-dnssec-as-map-02.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-as-map-02.txt>draft-ietf-dnssec-as-map-02.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-as-map-02.txtXref subject next -----BEGIN PGP SIGNED MESSAGE----- content-type: text/plain; charset=us-ascii I've been following the ipsec work for just about a year now, from (among other things) the point of view of being a potential user of these protocols. As best I can tell, the current IPSEC architecture documents make no mention of what services are visible from the point of view of *applications* running on top of transport-layer protocols running over ipsec. Clearly, certain guarantees need to be made in order for IPSEC to provide useful security services to applications. A number of them seem fairly obvious to me.. but if everyone doesn't agree on what these guarantees are, either interoperability or security or both will suffer. As a specific example, all of the TCP implementations I'm familiar with do not expose TCP packet boundaries to the application. Therefore, a system which implements ipsec should (or must) ensure that all packets sent in one direction on a TCP connection come from the same sender and are protected equivalently. All the encryption and integrity protection in the world won't help you if a spoofer can just forge an unauthenticated packet and hijack your TCP connection. [I'll note in passing here that requiring that all packets on a given TCP connection share the same SPI seems to be too strong a requirement, as it appears from some comments in the current Photuris draft (draft-ietf-ipsec-photuris-02) that SPI's are fairly ephemeral, and a given TCP connection may long outlive the SPI it was opened under.] More generally, what information contained in a security association must be made visible to applications? And what must not? - Bill -----BEGIN PGP SIGNATURE----- Version: 2.6.1 iQCVAwUBMCeg2Fpj/0M1dMJ/AQELpgP8DnMhaovL/ivBmP+Nh7cuZOmJn+BItvMX qcQefhITZrOFSbJAcM7D+KE8ri2cMBGndyJdNN9hx/osPVkpMjWcT//HDThMzT0H FsX1D/Ei2Odk7JIWTOsZIJmzjhsi2j1eXyRbpDzh6Sq2SdjC6Koeon4zJEAFhpB2 pgscbnCEDJI= =XCu/ -----END PGP SIGNATURE-----
Xref subject previous
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the Domain Name System Security
Working Group of the IETF.
Title : Mapping Autonomous Systems Number into the
Domain Name System
Author(s) : D. Eastlake
Filename : draft-ietf-dnssec-as-map-02.txt
Pages : 9
Date : 08/07/1995
One requirement of secure routing is that independent routing entities,
such as those identified by Internet Autonomous System Numbers, be able to
authenticate messages to each other. Modifications currently being
developed (see draft-ietf-dnssec-secext-*.txt>draft-ietf-dnssec-secext-*.txt) to the Domain Name System
will enable it to be used for authenticated public key distribution. This
draft maps all Autonomous System numbers into DNS Domain Names so that the
DNS can be used to distribute their public keys.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-dnssec-as-map-02.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-as-map-02.txt>draft-ietf-dnssec-as-map-02.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-as-map-02.txtXref: Re: What can applications running over ipsec assume? Bob Smart Xref: Re: What can applications running over ipsec assume? Steve Kent Xref subject previous Xref subject next -----BEGIN PGP SIGNED MESSAGE----- content-type: text/plain; charset=us-ascii I've been following the ipsec work for just about a year now, from (among other things) the point of view of being a potential user of these protocols. As best I can tell, the current IPSEC architecture documents make no mention of what services are visible from the point of view of *applications* running on top of transport-layer protocols running over ipsec. Clearly, certain guarantees need to be made in order for IPSEC to provide useful security services to applications. A number of them seem fairly obvious to me.. but if everyone doesn't agree on what these guarantees are, either interoperability or security or both will suffer. My own view is that the ipsec layer should pass the security characteristics of a received packet up to the transport layer. It, in turn, must match those characteristics against what the user has requested. Packets that don't meet those requirements are dropped.
Xref: Re: What can applications running over ipsec assume? Bill Sommerfeld Xref: Re: What can applications running over ipsec assume? bound@zk3.dec.com Xref subject previous Xref subject next > My own view is that the ipsec layer should pass the security characteristics > of a received packet up to the transport layer. It, in turn, must > match those characteristics against what the user has requested. Packets > that don't meet those requirements are dropped. > This seems sensible. It implies modifications to APIs at 2 layer boundaries. I guess if there was work proceeding to define these API changes you would have mentioned it... Bob Smart
Xref subject previous
Xref subject next
-----BEGIN PGP SIGNED MESSAGE-----
content-type: text/plain; charset=us-ascii
> My own view is that the ipsec layer should pass the security characterist
ics
> of a received packet up to the transport layer. It, in turn, must
> match those characteristics against what the user has requested. Packets
> that don't meet those requirements are dropped.
>
This seems sensible.
I think a generalized form of this would be:
Each layer above ipsec needs to:
1) provide some form of access control limiting which incoming packets
are accepted and passed upwards, based on the identity of the sender
and the quality of protection
2) where appropriate, pass up information about the identity
of the sender and the quality of protection of data
passed upwards. (That's worded awkwardly.. anyone got
a better phrasing?)
Some applications would want to rely on (1); others would want to rely
on (2). For instance, an SMTP server would most likely not deny
service to an unauthenticated sender, but might want to log the
identity of the sender if it was known. You could of course, use both
(1) and (2) in conjunction (i.e., insist on confidentiality and/or
data origin authentication, but let the application make the final
access control decisions).
It implies modifications to APIs at 2 layer boundaries.
I guess if there was work proceeding to define these API changes you would
have mentioned it...
I haven't seen any public discussion of API's for this yet and I
suspect that such discussion would be premature until more of this is
nailed down..
- Bill
-----BEGIN PGP SIGNATURE-----
Version: 2.6.1
iQCVAwUBMCfn0lpj/0M1dMJ/AQHSlwP+Jd45lCKOr4OQ9qF+p2MnrCcPsWsjNs1H
7tDmovWtfLae1/gm0baHoCy3UR8JxTwZNIM8SriM/FtnNyXvoo3SAVOQbQ5VNXVP
h30OUSxBabMu7+R1+b+NP01LK2cRV6bMs7KmkMjRFYvzs2a33URxDfudTX3l5A0v
U0KsE1kEaBs=
=NvQl
-----END PGP SIGNATURE-----
Xref subject previous Xref subject next > My own view is that the ipsec layer should pass the security charac teristics > of a received packet up to the transport layer. It, in turn, must > match those characteristics against what the user has requested. P ackets > that don't meet those requirements are dropped. > This seems sensible. It implies modifications to APIs at 2 layer boundaries. I guess if there was work proceeding to define these API changes you would have mentioned it... Well... The interfaces from IP to the transport layer and from the transport layer to the user I/O layer aren't open. That there's any coherency at all is because of the common ancestry of most UNIX networking code -- and at that, there are now two very different interfaces, mbufs+sockets and streams. The interesting API is the user-to-kernel interface. The only work I've seen is draft-mcdonald-ipv6-sec-api-00.txt, which I didn't like for various reasons. (My apologies for being vague here; I had some specific objections, but I don't remember them clearly any more, and I'd rather not blather.) I suspect we won't really know what the API should be like until we've built a few.
Xref subject next The Photuris draft says that the local address should be used for cookie generation and distinguishing simultaneous key generation sessions with the same host. However, there is no (portable?) way to find over what local interface a UDP packet arrived. I think the draft should be modified to exclude the use of the local address (and possibly local port as well). Of course, one could have the daemon bind to each and every address of the host, but it doesn't sound like a good solution, especially when there's not much gain from using the local address/port (the secret value is enough). -Aggelos
Something i forgot to ask in my previous mail: Photuris draft, Page 8, paragraph 2.1: "The UDP checksum is required. Any messages with an incorrect or zero UDP checksum is silently discarded." How can this be enforced from a user level process ? -Aggelos
Xref subject previous Xref subject next Steve, It might be most appropriate for applications to express security QoS parameters during connection establishment, but initially applications will not be prepared to do this. Moreover, one of the motivations for IP layer security is the flexibility to implementing it remotely from an end system, where an application has no direct means of passing on its security QoS parameters. So, I think it is very important to provide very good management tools that allow a system administrator to express security QoS for classes of associations, so that appropriate services can be selected automatically, without explicit invocation by (or notification to) applications. Steve
Xref subject previous Xref subject next Steve, It might be most appropriate for applications to express security QoS parameters during connection establishment, but initially applications will not be prepared to do this. Moreover, one of the motivations for IP layer security is the flexibility to implementing it remotely from an end system, where an application has no direct means of passing on its security QoS parameters. So, I think it is very important to provide very good management tools that allow a system administrator to express security QoS for classes of associations, so that appropriate services can be selected automatically, without explicit invocation by (or notification to) applications. Agreed, absolutely. My point was more that an application *can* behave differently if it knows the security level of a connection. Thus, rlogin -- which uses address-based authentication, and hence is not secure -- may be acceptable if the address is cryptographically validated, and the administrator has reason to trust the originating machine. Your point about remote implementations is also a good one. Some time ago, I suggested that we needed some mechanism -- a header, or IP options -- by which an IPSEC-aware host could request, or be informed of, the security functions implemented by a remote encryptor (possibly a bump-in-the-cord unit). There's an obvious analogy to the IP security label, which specifies this information implicitly. Naturally, the administrator would have to configure a machine to believe such labels, and this should only be done in the proper physical environment.
Xref: Re: WG Last Call: draft-ietf-dnssec-secext-04.txt Masataka Ohta Xref subject previous Xref subject next Since there have not been any particular objections, I have incorporated the changes listed in my 3 August message with exact wording indicated below interspersed with my original message. In addition, I would like to make the following minor clarifications in the next few days in connection with dynamic update. (1) Add an explicit statement that a SIG RR with an expiration date before the date signed is ineffective. (2) Add an explicit statement that SIG RRs should not have a date signed significantly in the future. and (3) Add an explicit statement that, to prevent misordering of network request to update a zone dynamically, monotonically increasing "time signed" dates are necessary. Donald On Thu, 3 Aug 1995, Donald E. Eastlake 3rd wrote: > On Wed, 26 Jul 1995, James M Galvin wrote: > > Speaking as chair of the DNS Security Working Group, I would like to > > announce a working group last call on the following document: > > > > draft-ietf-dnssec-secext-04.txt > > > > This document will be submitted to the IESG on or after August 16 (3 > > weeks from now) for consideration as a Proposed Standard unless it is > > found to be technically flawed. > > > > Speak now (on technical flaws) or forever hold your peace. > > > > Jim > > I would like to make the following minor changes. I do not > believe these have any techncial effect. > > (1) As suggested by Jeff Schiller, change the RSA algorithm signature > to be exactly PKCS1. (see his message below) This mostly involved > adding the MD5 OID algorithm identifier to the MD5 message digest > before encrypting with the private key. It would make it possible to > implement DNSSEC with RSAREF. -- exact source changed/reordered .in +3 .ne 3 hash = MD5 ( data ) signature = ( 01 | FF* | 00 | prefix | hash ) ** e (mod n) .in -3 where MD5 is the message digest algorithm documented in RFC 1321, "|" is concatenation, "e" is the secret key exponent of the signer, and "n" is the public modulus of the signer's public key. 01, FF, and 00 are fixed octets of the corresponding hexadecimal value. "prefix" is the ASN.1 BER MD5 algorithm designator prefix specified in PKCS1, that is, .br .ti +5 hex 3020300c06082a864886f70d020505000410 [NETSEC]. .br The FF octet is repeated the maximum number of times such that the value of the quantity being exponentiated is one octet shorter than the value of n. The above specifications are exactly Public Key Cryptographic Standard #1 [PKCS1]. The size of n, including most and least significant bits (which will be 1) SHALL be not less than 512 bits and not more than 2552 bits. n and e SHOULD be chosen such that the public exponent is small. Leading zeros bytes are not permitted in the MD5/RSA algorithm signature. -- end exact source changed/reordered > (2) Since MOSS has now gone to Proposed Standard, I want to reserve > bit 9 in the KEY RR flags to indicate MOSS. -- begin exact changed source Bit 8 is reserved to be the "IPSEC" bit and indicate that this key is valid for use in conjunction with the IP level security standard. This key could be used in connection with secured communication on behalf of an end entity or user whose name is the owner name of the KEY RR if the entity or user bits are on. The presence of a KEY resource with the IPSEC and entity bits on and experimental and no-key bits off is a guarantee that the host speaks IPSEC. .ti +5 Bit 9 is reserved to be the "MOSS" bit and indicate that this key is valid for use in conjunction with MIME object security standard. This key could be used in connection with secured communication on behalf of an end entity or user whose name is the owner name of the KEY RR if the entity or user bits are on. The presence of a KEY resource with the MOSS and entity bits on and experimental and no-key bits off is a guarantee that the host speaks MOSS. .ti +5 Bits 10-11 are reserved and must be zero. -- end exact changed source > (3) Due to the message sent by Bruce Crabill below, I would like to > add the following clarifying text to section 5 and to change the > examle to use a list of RR type mnemonics. > "The NXT RR type bit map is one bit per RR type present for the owner > name similar to the WKS socket bit map. The first bit represents RR > type zero (an illegal type which should not be present.) A one bit > indicates that at least one RR of that type is present for the owner > name. A zero indicates that no such RR is present. All bits not > specified because they are beyond the end of the bit map are assumed > to be zero. Note that bit 30, for NXT, will always be on so the > minimum bit map length is actually four octets. The NXT bit map > should be printed as a list of type mnemonics or decimal numbers > similar to the WKS RR." Exact text above added and example line changed to the following: big.foo.bar. NXT medium.foo.bar. A, MX, SIG, NXT > I believe these changes are not of a type that would require delaying > forwarding the draft to the IESG. > > Donald > > > >From jis@mit.eduThu Aug 3 13:13:13 1995 > Date: Wed, 2 Aug 1995 21:44:31 -0400 > From: "Jeffrey I. Schiller"> To: dns-security@TIS.COM > Subject: Re: WG Last Call: draft-ietf-dnnsec-secext-04.txt > > I will re-iterate a comment I made in private in Stockholm. I would > strongly suggest that the signature computation be exactly compatible with > that performed by the RSAREF toolkit (not to mention other toolkits, PEM > and PGP which all conform to the PKCS standard for signatures). The current > documented version is only "close." > > -Jeff > > > >From BRUCE@umdd.umd.eduThu Aug 3 13:23:50 1995 > Date: Tue, 25 Jul 95 09:13:43 EDT > From: Bruce Crabill > To: DNS-SECURITY@TIS.COM > Subject: comments on NXT RR > > I've been reading draft-ietf-dnssec-secext-04.txt and have a few comments > about section 5, the section dealing with the NXT RR. I realize that the > NXT RR is realitively new (used to be the NXD RR but was renamed when the > bitmap was added), but the documentation for the RR needs to be made a bit > clearer. You don't really say what the bitmap is a bitmap of (you get the > impression that it is a bitmap of RR types (as in the WKS bitmap of > protocols), but this isn't clearly stated, nor is the structure of the > bitmap defined. The example on the bottom of page 27 implies that the > bitmap has a value of 130. I'm not sure how to interept this. If it is > decimal, then you are saying that it applies to DNS RR types 0 and 6. > ... > > ===================================================================== > Donald E. Eastlake 3rd +1 508-287-4877(tel) dee@cybercash.com > 318 Acton Street +1 508-371-7148(fax) dee@world.std.com > Carlisle, MA 01741 USA +1 703-620-4200(main office, Reston, VA) > ===================================================================== Donald E. Eastlake 3rd +1 508-287-4877(tel) dee@cybercash.com 318 Acton Street +1 508-371-7148(fax) dee@world.std.com Carlisle, MA 01741 USA +1 703-620-4200(main office, Reston, VA)
Xref subject next The second thing that I've heard that I disagree with is that the IP header has so many more variant fields and fields that aren't critical to security that we should just use a pseudo-header. One thing in these arguments I disagree with is the definition of "critical to security". Ninth assertion: Fields that can be used for denial-of-service attacks must be authenticated so that the denial-of-service attack can be detected and logged. Even if mucking with a field can't be used to get into a system, steal a connection, or something direct like that, it frequently has the ability to cause other denial-of-service situations. When any denial-of- service attack is in progress, you need to be able to know this in order to stop it. Fields that aren't critical to system security but could be modified to create a denial-of-service attack should still be authenticated for the sole purpose of detecting that attack. Also, I'm not a cryptographer and I don't play one on TV, but it would seem to me that known nonzero but not really important values are probably better than zero values and should not be worse. It would seem to me that information of that sort should be stirred into the pot just to have some nonzero bits in the stew. Someone who knows more about cryptography and cryptographic checksums could offer better input on this subject, but, unless someone with more crypto experience can explain otherwise, I am working from the assumption that nonzero fields are better than zero fields. Some discussion should be given to reserved fields. Currently, I believe that reserved fields should be included in the hash for exactly the same reason unknown option fields should be. The argument and cases is exactly the same. That all said, this is what I concluded for variance: Legend: Classes: Invariant = If this field changes, the packet is not authentic (C) = Changed by some routers. By definition, however, the packet is not actually authentic if this field is changed and not changed back before the next AH check. Variant = If this field changes, the packet is still authentic (L) = Due to layering (e.g., of fragmentation below AH) (T) = Due to transit Predictable = This field changes deterministically, so we can figure out what it will look like at the receiver Actions: Hash = Run straight through hash (R) = Redundant, i.e., should be authentic by virtue of getting to AH processing, but we still want a crypto guarantee Zero = Run a same-size zero block through hash Roll = "Roll-forward"/compute how it would look at the receiver after re-assembly, run result through hash Other Symbols: (deprecated) = Obsolete or never caught on. If I label your favorite option deprecated, don't think I'm trying to slam it. It's just that I don't know of any system that uses it. You can probably get away with not processing deprecated options, but I wouldn't recommend that you do so. (*)(+) = Indicate footnotes follow with more info. ==== IPv4 ==== IPv4 Header: [RFC791] Field Size Class Action Version 4 bits Invariant Hash (R) IHL 4 bits Invariant (C) Hash (R) TOS 8 bits Invariant (C) Hash Total length 16 bits Invariant (C) Hash (R) Identification 16 bits Invariant Hash Flags: Reserved 1 bit Invariant Hash DF 1 bit Invariant Hash MF 1 bit Predictable Roll (=Zero) Fragment off. 13 bits Predictable Roll (=Zero) Time to Live 8 bits Variant (T) Zero Protocol 8 bits Invariant Hash (R) Header Checksum 16 bits Variant (L) Zero (R) Source Address 32 bits Invariant Hash Destination Ad. 32 bits Predictable(*) Roll(*) (*) If a source route is present and the pointer is less than the length (indicating that this is not the final destination), the Destination Address field must be filled in with the last destination address in the source route's list. IPv4 End of Option List Option: [RFC791] Field Size Class Action Type 8 bits Invariant Hash IPv4 No Operation: [RFC791] Field Size Class Action Type 8 bits Invariant Hash IPv4 Security Option: [RFC791] (*) (deprecated) Field Size Class Action Type 8 bits Invariant Hash Length 8 bits Invariant Hash Security (S) 16 bits Invariant Hash Compartments(C) 16 bits Invariant Hash Handling Rst(H) 16 bits Invariant Hash Trans. Ctl(TTC) 24 bits Invariant Hash (*) This option has the same type value (130) as the IPv4 Basic Security option [RFC1108]. IPv4 Loose/Strict Source and Record Route options: [RFC791] Field Size Class Action Type 8 bits Invariant Hash Length 8 bits Invariant Hash Pointer 8 bits Predictable(*) Roll Data var. Predictable(+) Roll (*) At the final destination, the Pointer will be equal to (Length+1) (+) The algorithm for rolling source route data is: 0. If Pointer > Length, don't roll (you have it already) 1. Hash up to the octet before the one pointed to by Pointer 2. Hash the destination address in the IP header 3. If (Pointer + (size of dest address)) > Length, you're done 4. Hash from Pointer to (Length - (size of the dest. address)) IPv4 Record Route option: [RFC791] Field Size Class Action Type 8 bits Invariant Hash Length 8 bits Invariant Hash Pointer 8 bits Variant Zero Data var. Variant Zero IPv4 Stream Identifier option: [RFC791] (deprecated) Field Size Class Action Type 8 bits Invariant Hash Length 8 bits Invariant Hash Stream ID 16 bits Invariant Hash IPv4 Internet Timestamp option: [RFC791] (deprecated) Field Size Class Action Type 8 bits Invariant Hash Length 8 bits Invariant Hash Pointer 8 bits Variant Zero Overflow 4 bits Variant Zero Flag 4 bits Invariant Hash Data var. Variant Zero IPv4 Probe/Reply MTU options: [RFC1063] (*) (deprecated) Field Size Class Action Type 8 bits Invariant Hash Length 8 bits Invariant Hash Value 16 bits Variant Zero (*) RFC1700, Assigned Numbers, lists RFC1191 as being the current specification for these options. RFC1191 is the current specification for Path MTU Discovery and obseletes RFC1063, but it does not mention this option at all. RFC1063 defines the latest version of this options. IPv4 Basic Security option: [RFC1108] (*) Field Size Class Action Type 8 bits Invariant Hash Length 8 bits Invariant Hash Classification 8 bits Invariant Hash Protection Auth var. Invariant Hash (*) This option has the same type value (130) as the IPv4 Security option [RFC791]. IPv4 Extended Security option: [RFC1108] Field Size Class Action Type 8 bits Invariant Hash Length 8 bits Invariant Hash Add. Info Fmt. 8 bits Invariant Hash Add. Info var. Invariant Hash IPv4 Traceroute option: [RFC1393] (deprecated) Field Size Class Action Type 8 bits Invariant Hash Length 8 bits Invariant Hash ID Number 16 bits Invariant Hash Outbound Hop C. 16 bits Variant Zero Return Hop Cnt. 16 bits Variant Zero Originator IP 32 bits Invariant Hash ==== IPv6 ==== IPv6 Header: [draft-ietf-ipngwg-ipv6-spec-02] Field Size Class Action Version 4 bits Invariant Hash (R) Priority 4 bits Invariant Hash Flow Label 24 bits Invariant Hash Payload Length 16 bits Invariant Hash (R) Next Header 8 bits Invariant Hash (R) Hop Limit 8 bits Variant (T) Zero Source Address 128 bit Invariant Hash Destination Ad. 128 bit Predictable(*) Roll(*) (*) If a source route is present and the pointer is less than the length (indicating that this is not the final destination), the Destination Address field must be filled in with the last destination address in the source route's list. IPv6 Hop-by-Hop/Destination Options Headers: [draft-ietf-ipngwg-ipv6-spec-02] Field Size Class Action Next Header 8 bits Invariant Hash Hdr Ext Len 8 bits Invariant Hash Option Data var. var.(*) var.(*) (*) If the third-highest-order bit in the Option Type is set, the Option Data MUST be Zeroed. If the third-highest-order bit in the Option Type is not set, you must either Hash or Roll, depending on the option. IPv6 Pad1 Option: [draft-ietf-ipngwg-ipv6-spec-02] Field Size Class Action Option Type 8 bits Invariant Hash IPv6 PadN Option: [draft-ietf-ipngwg-ipv6-spec-02] Field Size Class Action Option Type 8 bits Invariant Hash Option Length 8 bits Invariant Hash Option Data var. Invariant Hash IPv6 Jumbo Payload Option: [draft-ietf-ipngwg-ipv6-spec-02] Field Size Class Action Option Type 8 bits Invariant Hash Option Length 8 bits Invariant Hash Option Data 32 bits Invariant Hash IPv6 Routing Header: [draft-ietf-ipngwg-ipv6-spec-02] Field Size Class Action Next Header 8 bits Invariant Hash Routing Type 8 bits Invariant Hash (*) (*) (*) (*) (*) More data follows depending on type. IPv6 Routing Header Type 0: [draft-ietf-ipngwg-ipv6-spec-02] Field Size Class Action Next Header 8 bits Invariant Hash Routing Type 8 bits Invariant Hash Num Addrs 8 bits Invariant Hash Next Addr 8 bits Predictable(*) Roll(*) Reserved 8 bits Invariant Hash Strict/Loose 24 bits Invariant Hash Addresses var. Predictable(+) Roll(+) (*) At the final destination, the Next Addr field will be equal to the Num Addrs field (+) The algorithm for rolling source route data is: 0. If Next Addr = Num Addrs field, don't roll (you have it) 1. Hash Address[0] through Address[Next Addr - 1] 2. Hash the destination address in the IPv6 header 3. If (Next Addr + 1) > Length, you're done 4. Hash from Address[Next Addr] through Address[Num Addrs - 2] IPv6 Fragment Header: (*) [draft-ietf-ipngwg-ipv6-spec-02] Field Size Class Action Next Header 8 bits Invariant Hash Reserved 8 bits Invariant Hash Fragment Offset 13 bits Predictable Roll (=Zero) Res 2 bits Invariant Hash M flag 1 bit Predictable Roll (=Zero) Identification 32 bits Predictable Hash (*) This is academic, since you MUST not ever authenticate fragments except when the fragments are inside a tunnel (AH processing is done before fragmentation and after re-assembly). ==== IPv4/IPv6 Common ==== IP Authentication Header: (*) [RFC1826] Field Size Class Action Next Header 8 bits Invariant Hash Length 8 bits Invariant Hash Reserved 16 bits Invariant Hash Security Param. 32 bits Invariant Hash Auth. Data var. Variant (L)(+) Zero (*) Yes, you have to authenticate the authentication header. (+) You have to zero this field or you get a chicken-and-egg problem. IP Encapsulating Security Payload: [RFC1827] Field Size Class Action Security Associ 32 bits Invariant Hash Opaque Transfor var. Invariant(*) Hash(*) (*) Unless the authenticating point participates in the ESP key management, it doesn't know what the transform. Treating all of this data as opaque seems to be the most reasonable thing given the nature of the data and the currently defined DES-CBC transform.
Xref subject next I have heard several statements on this issue that I disagree with, and now I have working (well, mostly ;) code that I can use to back up my disagreement. The first thing I've heard that I disagree with is that we should not include IPv4 options in the IPv4 authentication computation. There are two main reasons given: 1. If we get an option that we can't process, we must ignore it (RFC1122). If we can't process it, though, we don't know whether the fields are invariant, so we might be dropping the packet solely because we can't process the option, which conflicts with RFC1122. 2. Routers might insert, remove, or re-order options. I will discuss the latter one first. When routers mess with the options attached to the packet, you are guaranteeing that the packet does not have intermediate authenticity because the packet at some points along its path of travel is not the same as the packet as sent by the sender. Therefore, whenever routers modify the packet in any way other than the modification of specific variant fields, you do not have intermediate authenticity anymore at some or all points along your path. In the context of my second example, C may legitimately insert an IPSO option, but if E or F is the router stripping that option and restoring the packet, the packet will not have intermediate authenticity at D because the packet is not what A sent or what A intends B to receive. However, end-to-end authenticity guarantees are not mutually exclusive with routers that modify options *as long as they put things back the way they found them somewhere along the line*. In the context of my second example, C may legitimately insert an IPSO option so long as D, E, or F removes it and restores the packet to its original form. As long as it does, B will see the packet as A intended it to be seen, and it is therefore end-to-end authentic. If C inserts the IPSO option and no router removes it, the packet at B is not end-to-end authentic because the packet at B is not what A sent or intended B to see. It is important that the AH verification procedure fail in this case exactly because the packet has been modified in transit. AH has no concept of good or bad modifications, but it has a strict concept of authenticity. This packet is not authentic because it has been modified. One of our resident experts on routers that insert, examine, and remove IPSO options into IPv4 packets tells me that "no known router ships configured to perform IPSO modifications and that such modifications only happen if the router admin actively configures the router to do so. Further, IPSO modifications are directly security-relevant -- we do want packets with intermediate IPSO modifications to fail end-to-end authenticity checks". Now to discuss the first problem. A number of interpretations of RFC1122 have been posted in this discussion, but I would like to work from what RFC1122 says about options you can't process: "The IP and transport layer MUST each interpret those IP options that they understand and silently ignore the others." The problem here is one of how we can determine whether fields of an option are variant or not. I think that we all can agree that if we know how to handle an option, we can presumably get some sort of consensus on what is and isn't variant and implement that. So the question is really what "silently ignore" means. The reason I quote the text here is because most people have substituted the word "skip" for "silently ignore" and operated with the assumption that this is the only legitimate interpretation. I disagree. Consider transport headers and transport data. They're not network- level, we have no right at the AH level to mess with them. What do we do with them for AH computation? We run the cryptographic checksum straight over them with no variance substitutions. Therefore, I believe that a reasonable definition of "ignore" is also to simply run the cryptographic checksum straight over the options we can't handle with no variance substitutions. Another possibility, which I don't recommend, is to zero out the options we can't process except for their type and length fields (more on this later). There are three classes of unknown options for purposes of evaluating which definition of "silently ignore" is most reasonable. The first are unpredictably variant options. For example, the timestamp option. The second are invariant options. For example, the IPSO option. The third are predictably-variant options. For example, the SSRR option. Fifth assertion: If both sides cannot process an option and both sides do the same thing in cases of unknown options (either skip/omit, zero, or blind-hash), all three methods will work. Only in the last case, however, will the contents of the option be protected from modification in transit. In this case, the best option is a blind-hash. Now we have the case, which I consider more common and more interesting, where one side does not know how to process the option but the other does. If you "skip over" (omit from computation) options you can't handle, you lose for all three cases because the side that does know how to process the option will include data, some of which may be zeroed out, from the option at that position in its computation. If you zero out options you can't process except for the type and length, you win for fields of the first class. In the case of the second class, the field will be hashed blindly as its value, and you will lose if its value doesn't happen to be zero. In the case of the third class, the field has a value that is computed for authentication to match what it would look like at the receiver -- if it doesn't happen that the value should be zero, you lose. If you blindly hash options you can't process, you lose for the first class unless the values you blindly hash happen to be zero. You never lose in the second class. You lose in the third class unless you are the receiver, in which case the values you see and hash are also what you're supposed to see at the receiver (because you ARE the receiver). Skipping over the options you can't process is clearly bad to me because you always lose if one of the ends can process the option. Coincidental zeros aside, you lose in two of the three cases if you zero out the fields other than type and length. Coincidental zeros aside, you lose in one case all the time and another if you are not the receiver if you blindly hash the options you can't process. Sixth assertion: Blindly hashing the value gives you clearly better security if both sides can't process an option and slightly better security if one side can't process an option. It also provides for a simpler implementation versus hashing the type and length and zeroing the rest, which would otherwise be the next best way to handle the problem of IPv4 options you can't process. For purposes of processing IPv4 options when you don't know how, keep in mind this statement from RFC1122: "For this purpose, every IP option except NOP and END-OF-LIST will include a specification of its own length." RFC791 says that there are two forms an IPv4 option can take: "Case 1: a single octet of option-type. Case 2: An option-type octet, an option-length octet, and the actual option-data octets.". Seventh assertion: There are no options of case 1 that make sense other than NOP and END-OF-LIST, which all non-brain-damaged systems can handle. Therefore, all options that you do not know how to process will be of case 2, and you can therefore determine the length of options you can't handle. This allows you to get back on track when an unknown option is followed by a known option. You're walking with a safety-net here -- in the event that this assertion is not true, you will eventually either run into an option that looks legitimate or come into a situation where you are out of option data. Eighth assertion: If you encounter an out-of-option-data situation or encounter the END-OF-LIST option with more data between it and the end of the option space data (the IP header length with the size of the base IP header subtracted), you treat all offending data as an unknown option and, therefore, you blindly hash it. If you run into, for instance, a source route, and that source route's length points outside the option space data length (computed as aforementioned), something is wrong with the source route and you can't process it properly. If you know with certainty that the option is bad, immediately drop the packet. There is no point in computing the hash over a known-bogus packet and/or passing it on to the next hop. Padding between the END-OF-LIST option and the end of option space data "is zero" [RFC791]. This data should be blind-hashed.
As I had mentioned on the IPsec developers' list, I had some specific thoughts on some IP security issues that are currently being discussed, but I wanted to wait until I had built some code before making them known because I wanted to be sure that my ideas were implementable. I have, it mostly works, there are no outstanding questions as to whether something is doable or not, so I have prepared my thoughts into three messages to form a long tirade. I am carbon- copying this and these to the IPng list, because at some point, in order to be IPng spec-compliant, all IPng implementations will have to do security processing, so these issues need to be thought about by IPng people. The first message I will send (part one) is some general background discussion. The second message I will send (part two) is on IPv4 options that we can't handle. IPng people may want to skip this one, but I believe that some of the discussion is relevant. The third message I will send (part three) is a detailed listing of my conclusions as to the variance/invariance/predictability of every defined field in every IP (IPv4 and IPv6) network-level header I could find a spec for. These messages are intended to prompt discussion. Please direct this discussion to themailing list, NOT the mailing list. Unfortunately, I will not have very good network access for the next month, so I will not be able to participate in this discussion as much as I would like to. -Craig
Throughout these notes, I am assuming that we are not dealing with
fragments. Fragment processing creates wrinkles that have been discussed
previously, and I think that omitting the special case of fragmentation will
help to keep things on-track. In a nutshell, fragments cannot be subject to
intermediate network authentication unless they are passively re-assembled
(which I believe is not a good thing) because authentication processing happens
before fragmentation and after reassembly (think of AH as an ULP instead of a
network option for fragmentation/reassembly purposes).
First, I have some background architectural points to make. I view the
IP Authentication Header as being able to provide two different types of
security assurances. The first of these is what I will call "intermediate
authenticity", which I define as having guarantees that a packet must have come
from a finite set of senders because of authentic tunnels and network
design. This is not the same as "intermediate network authentication," which I
define as a specific mid-point in a network processing the Authentication
Header in a packet to determine whether or not the packet-in-transit is
currently authentic. The second of these is guaranteed authenticity end-to-end
(i.e., at the sender and receiver). You might think of the former as implicit
security and the latter as explicit security.
First assertion: End-to-end authenticity assurances imply intermediate
authenticity, but the reverse is not true.
This all seems fairly obvious, but I think that some of the
subtleties might turn into "gotchas" that people need to consider. Several
of Steve Bellovin's attacks are cases where I believe these two assurance
levels have been confused.
My first example is a simple use of the "AH Tunnel", where virtual
links between gateways are built by taking the packet in transit, encapsulating
it using IP-IP tunneling, and doing normal AH processing on the resulting
packet. This case supports both assurances of security for A and B. It
supports end-to-end security between A and B if they use an explicit
Authentication Header in their packets. It provides intermediate authenticity
assurances for A and B because there is a finite set of possible senders. It
also supports intermediate network authentication at C and D of packets between
A and B. Consider this fictitious network:
A------| |------ B
|----- C ===== D -----|
I------| |------ J
(Legend for this note: '=' is a configured AH tunnel, '-' is a link,
and '|' is a network)
B has received a packet that claims to be from A to B that carries no
Authentication Header. B has no guarantee that A really sent the packet -- any
other machine in this diagram could have forged it. If C and D have the
security policy that they only allow packets from the tunnel (and won't forward
other packets onto the nets), then, without doing any AH processing itself, B
has an intermediate authenticity guarantee: If the packet is forged, there is a
finite set of possible forgers: I, C, D, J, and B. Random machines on the
Internet, which is where we can envision the tunnel from C to D traversing,
cannot forge a packet from A to B. If D receives a packet from the tunnel, from
the end-to-end authenticity, it has a stronger guarantee: the packet presumably
from A to B that it received from the tunnel must have been sent to D by C.
This is because C and D are sending packets that carry the Authentication
Header, which gets C and D end-to-end (tunnel-end to tunnel-end, really)
assurances.
If B wants to be guaranteed that the packet could only have come from
A, it must require that there be an authentication header on the packet as sent
by A. In this case, B will get both assurances and you will actually have two
authentication headers (as well as two IP headers) between C and D. This is,
however, the only way to provide end-to-end security in this configuration.
My second example is more complex. Consider this fictitious network:
A------| |------ B
|----- C ===== D ===== E ===== F -----|
I------| |------ J
For extra fun, A is source-routing its packet to B through C, D, E, and
F. The packet goes from A to C without an Authentication Header. C encapsulates
the packet in a new IP packet and authenticates it with a C->D key. D verifies
the auth header, decapsulates the packet, processes the source route to find
the next destination E, encapsulates the packet in a new IP packet, and
authenticates it with D->E key. E does the same thing as D, though shifted
along the chain. F checks the auth header against the E->F key, decapsulates
the packet, and sends it to B without an Authentication Header.
When B gets a packet claiming to be from A, it knows that it can only
have come from a finite set of senders because of the intermediate
authenticity: A, C, D, E, F, I, J, and B. The packet could not have been forged
between C and D, D and E, or E and F, thanks to the authenticated tunnels
between those hosts. Again, A could explicitly add an Authentication Header to
its packet to B to provide end-to-end protection, which would result in the
tunnels carrying a total of two IP headers and two AH headers on the lines
between them (one for the tunnel and one end-to-end).
Now, let's say that B gets a packet claiming to be from E. The
set of senders who could forge that packet is F, J, and B. A, J, C, and
D cannot forge the packet assuming reasonable security policy because E
will find that its source address is on a packet it received from D and
is forwarding, which is not correct. This has the nifty property of helping
to drop packets caught in a routing loop. F, however, can guarantee using
end-to-end authentication that the packet it is receiving is from E because
it verifies it in the E->F key.
Let's say that A sends an end-to-end authenticated packet to B over
this network. C and F can add and remove, respectively, any options it
wants from this packet so long as the packet from F->B is the same (except
for obviously variant fields that are exempt from AH processing) as the
packet from A->C. In this case, while you have end-to-end authenticity,
your packet will fail intermediate network authentication. This property has
implications for people doing real intermediate network authentication
are is beyond the scope of our current worries.
Second assertion: Intermediate changes will not
affect end-to-end authenticity so long as they are reversed.
This is important for routers with a reputation of mucking with packets
in transit. As long as a router puts things back the way they were before the
packet gets to the receiver, end-to-end authenticity is preserved. If a router
does not, the packet at the receiver MUST fail authentication, because it is
not end-to-end authentic -- the sender didn't send the packet that way. More
on this later.
My third example is a recent attack scenario from Steve Bellovin:
A-----|
|------B
C-----|
Steve's attack goes something like this: C sends B an IP-in-IP
tunneled packet (not from a configured tunnel) where the outside is
authenticated using the C->B key and the inside header claims to be from A.
B verifies the packet, marks it as authentic, decapsulates the inside packet,
and processes it, thinking that it came from A. My belief here is that
this is a case of B confusing the two assurances of authentication.
B is getting intermediate authenticity -- B knows that the "tunneled" C->B
packet is authentic, but B is not getting end-to-end authenticity -- B
doesn't know that the inside packet (that claims to be from A->B) is
authentic. This is a costly mistake.
Third assertion: When processing a tunneled packet, outside
header authenticity is an issue of intermediate security and inside
header authenticity is an issue of end-to-end security. If you take my
second example and make F and B one system, this might become clearer.
Fourth assertion: If your system or network policy is FUBAR, so
are your security guarantees. If your system or network policy does something
obviously drain bamaged such as depending on intermediate security to provide
end-to-end security, then your security assurances are going to be very weak.
Some sites will want to use intermediate security for performance reasons or
because they believe that only "outside" machines are a risk. These sites must
be careful not to fall into the trap of believing that they have a higher
level of authenticity assurance than they really have.
Xref subject next
-----BEGIN PGP SIGNED MESSAGE-----
Hello everybody,
the Swiss version of SKIP is now available as a pre-alpha source code release
for IRIX, NetBSD, Nextstep and Solaris.
You may get it from ftp://ktik0.ethz.ch/~ftp/pub/packages/skip.
Have fun,
Germano
Excerpt from the README:
========================================================================
This is ENskip, pre-alpha 0.10. ENskip is a security module for the TCP/IP
stack. It provides encryption, authentication and sequencing of packets on
the IP layer between two or more machines. For more information on the SKIP
protocol, see the Internet Draft draft-ietf-ipsec-aziz-skip-00.txt and
following. You might also want to check http://skip.incog.com for information
about the background, the protocol itself and future directions of it.
ENskip is pre-alpha. If you are not absolutely sure what this is all about,
you might want to read the draft, and perhaps reconsider using this package.
No bug-fixes, installation help or any other support is granted. If you
have any suggestions, comments or contributions to make ENskip work better,
mail to skip@tik.ee.ethz.ch.
Enjoy!
M. Hauber and Ch. Schneider
G. Caronni
=======================================================================
-----BEGIN PGP SIGNATURE-----
Version: 2.6.2
iQCVAwUBMCwX8rH8jId7euXhAQEJ4gP9EiwqFbUQI7XsLRDmZidFdzGHsTk2CQYx
GnDBM9Z5F117UDd5NLyK99h2QVuffjK9LxMd4KbTrO5gwKM/OeZHoJTdkfQHb3mN
FJrg++hWlrTggrrv6mPQuB2j4TzbsHwed2uLN/f9HmImFQtZ5UPqIUgTueJy5DDa
3DKmCVnpsfU=
=sjb1
-----END PGP SIGNATURE-----
Xref subject previous Xref subject next > My own view is that the ipsec layer should pass the security characteristics > of a received packet up to the transport layer. It, in turn, must > match those characteristics against what the user has requested. Packets > that don't meet those requirements are dropped. > >This seems sensible. It implies modifications to APIs at 2 layer boundaries. >I guess if there was work proceeding to define these API changes you would >have mentioned it... This would be very useful and if we do an API can we PLEASE make sure its not just for UNIX but can be used by MVS, VMS, NT, WINSOCK, etc.. thanks /jim
Xref subject next
Over the past couple of weeks, a group of interested individuals has been
putting together a proposal for a new IETF Working Group to develop
Internet standards for an X.509-based public-key infrastructure. The result is
the draft WG Charter attached below. Since plans were announced last year to
form this WG (and to shut down the PEM WG) it is considered reasonable to start
up the new WG without the usual preliminary BOF at the next IETF. Steve Kent
and I have offered our services to co-chair this group, and Chandra Shrivastava
has offered to run a mailing list.
The following mailing list has now been established for discussion of this
proposal: ietf-pkix@tandem.com. To subscribe to the mailing list, send a
messsage to listserv@tandem.com with the following in the body:
subscribe ietf-pkix
Warwick Ford
--------------------------------------------------------------------
Public-Key Infrastructure (X.509) Group
IETF Working Group Charter
---------------------------------------
Chair(s):
Applications Area Director(s)
Area Advisor:
Mailing lists:
General Discussion:
To Subscribe:
In Body:
Archive:
Description of Working Group:
Many Internet protocols and applications which use the Internet employ
public-key technology for security purposes and require a public-key
infrastructure (PKI) to securely deliver public keys to widely-distributed users
or systems. The X.509 standard constitutes a widely-accepted basis for such an
infrastructure, defining data formats and procedures related to distribution of
public keys via certificates digitally signed by certification authorities
(CAs). RFC 1422 specified the basis of an X.509-based PKI, targeted primarily
at satisfying the needs of Internet Privacy Enhanced Mail (PEM). Since RFC 1422
was issued, application requirements for an Internet PKI have broadened
tremendously, and the capabilities of X.509 have advanced with the development
of standards defining the X.509 version 3 certificate and version 2 certificate
revocation list (CRL).
The task of the Working Group will be to develop Internet standards needed to
support an X.509-based PKI. The goal of this PKI will be to facilitate the use
of X.509 certificates in multiple applications which make use of the Internet
and to promote interoperability between different implementations choosing to
make use of X.509 certificates. The resulting PKI is intended to provide a
framework which will support a range of trust/hierarchy environments and a range
of usage environments (RFC1422 is an example of one such model).
Candidate applications to be served by this PKI include, but are not limited to,
PEM, MOSS, GSS-API mechanisms (e.g., SPKM), ipsec protocols, Internet payment
protocols, and www protocols. This project will not preclude use of
non-infrastructural public-key distribution techniques nor of non-X.509 PKIs by
such applications. Efforts will be made to coordinate with the IETF White Pages
(X.500/WHOIS++) project.
The group will focus on tailoring and profiling the features available in
the v3 X.509 certificate to best match the requirements and characteristics
of the Internet environment.
Other topics to be addressed potentially include:
- Alternatives for CA-to-CA certification links and structures, including
guidelines for constraints
- Revocation alternatives, including profiling of X.509 v2 CRL extensions
- Certificate and CRL distribution options (X.500-based, non-X.500-based)
- Guidelines for policy definition and registration
- Administrative protocols and procedures, including certificate generation,
revocation notification, cross-certification, and key-pair updating
- Naming and name forms (how entities are identified, e.g., email address,
URN, DN, misc.)
Goals and Milestones:
Sep, 95 Agreement on draft Working Group charter
Nov, 95 Completion of initial strawman PKI specification
Dec, 95 First Working Group meeting (Dallas IETF)
Jul, 96 Submit PKI (X.509) specification for
consideration as Proposed standard.
Xref subject previous
Over the past couple of weeks, a group of interested individuals has been
putting together a proposal for a new IETF Working Group to develop
Internet standards for an X.509-based public-key infrastructure. The result is
the draft WG Charter attached below. Since plans were announced last year to
form this WG (and to shut down the PEM WG) it is considered reasonable to start
up the new WG without the usual preliminary BOF at the next IETF. Steve Kent
and I have offered our services to co-chair this group, and Chandra Shrivastava
has offered to run a mailing list.
The following mailing list has now been established for discussion of this
proposal: ietf-pkix@tandem.com. To subscribe to the mailing list, send a
messsage to listserv@tandem.com with the following in the body:
subscribe ietf-pkix
Warwick Ford
--------------------------------------------------------------------
Public-Key Infrastructure (X.509) Group
IETF Working Group Charter
---------------------------------------
Chair(s):
Applications Area Director(s)
Area Advisor:
Mailing lists:
General Discussion:
To Subscribe:
In Body:
Archive:
Description of Working Group:
Many Internet protocols and applications which use the Internet employ
public-key technology for security purposes and require a public-key
infrastructure (PKI) to securely deliver public keys to widely-distributed users
or systems. The X.509 standard constitutes a widely-accepted basis for such an
infrastructure, defining data formats and procedures related to distribution of
public keys via certificates digitally signed by certification authorities
(CAs). RFC 1422 specified the basis of an X.509-based PKI, targeted primarily
at satisfying the needs of Internet Privacy Enhanced Mail (PEM). Since RFC 1422
was issued, application requirements for an Internet PKI have broadened
tremendously, and the capabilities of X.509 have advanced with the development
of standards defining the X.509 version 3 certificate and version 2 certificate
revocation list (CRL).
The task of the Working Group will be to develop Internet standards needed to
support an X.509-based PKI. The goal of this PKI will be to facilitate the use
of X.509 certificates in multiple applications which make use of the Internet
and to promote interoperability between different implementations choosing to
make use of X.509 certificates. The resulting PKI is intended to provide a
framework which will support a range of trust/hierarchy environments and a range
of usage environments (RFC1422 is an example of one such model).
Candidate applications to be served by this PKI include, but are not limited to,
PEM, MOSS, GSS-API mechanisms (e.g., SPKM), ipsec protocols, Internet payment
protocols, and www protocols. This project will not preclude use of
non-infrastructural public-key distribution techniques nor of non-X.509 PKIs by
such applications. Efforts will be made to coordinate with the IETF White Pages
(X.500/WHOIS++) project.
The group will focus on tailoring and profiling the features available in
the v3 X.509 certificate to best match the requirements and characteristics
of the Internet environment.
Other topics to be addressed potentially include:
- Alternatives for CA-to-CA certification links and structures, including
guidelines for constraints
- Revocation alternatives, including profiling of X.509 v2 CRL extensions
- Certificate and CRL distribution options (X.500-based, non-X.500-based)
- Guidelines for policy definition and registration
- Administrative protocols and procedures, including certificate generation,
revocation notification, cross-certification, and key-pair updating
- Naming and name forms (how entities are identified, e.g., email address,
URN, DN, misc.)
Goals and Milestones:
Sep, 95 Agreement on draft Working Group charter
Nov, 95 Completion of initial strawman PKI specification
Dec, 95 First Working Group meeting (Dallas IETF)
Jul, 96 Submit PKI (X.509) specification for
consideration as Proposed standard.
Xref: Re: WG Last Call: draft-ietf-dnssec-secext-04.txt Donald E. Eastlake 3rd Xref subject previous Xref subject next > Since there have not been any particular objections, I have incorporated > the changes listed in my 3 August message with exact wording indicated > below interspersed with my original message. Why are you so much interested in revising your proposal which is proven to be broken to unnecessarily cause UDP packet size overflow? Masataka Ohta
Xref subject previous Xref subject next Ohta-san, On Sun, 13 Aug 1995, Masataka Ohta wrote: > > Since there have not been any particular objections, I have incorporated > > the changes listed in my 3 August message with exact wording indicated > > below interspersed with my original message. > > Why are you so much interested in revising your proposal which > is proven to be broken to unnecessarily cause UDP packet size > overflow? I have suggest six very minor changes to the draft and I think the reasons for each should have been clear. In the initial batch of three, one was specifically requested by the Security Area Head so that DNS RSA signatures could be calculated by RSAREF, on was simply a clarification requested by a mailing list participant, and one was the reservation of an additional KEY RR bit because MOSS has gone to Proposed Standard. The second batch were all requested by the editor of the DNS Dyanmic Update Draft. On Wed, 2 Aug 1995, Masataka Ohta wrote: > [responding to a posting by Jim Galvin, DNSSEC WG Chair:] > > Speaking as chair of the DNS Security Working Group, I would like to > > announce a working group last call on the following document: > > > > draft-ietf-dnssec-secext-04.txt > > I don't think we are ready to proceed. I believe the consensus is that we are ready. > > This document will be submitted to the IESG on or after August 16 (3 > > weeks from now) for consideration as a Proposed Standard unless it is > > found to be technically flawed. > > Why didn't you have a meeting or two at Stockholm, if you want to have > an intense discussion? > > Yes, it is technically flawed. If you don't think so, give a full > implementation. If you believe the current proposal has flaws, that you can not persuade other of, but will be shown by implementation, you need only sit back and these will become aparent, will they not? > Moreover, E&K proposal is not compared to the alternative proposal of > mine, because, at the last meeting, you forced your wrong view that > the difference is merely on the number of RR types. If you beieve that you were not treated fairly at the last DNS SEC working group meeting, you have had ample time to post to the mailing list. I have seen very few postings from you and none addressing this point. > > Speak now (on technical flaws) or forever hold your peace. > > While your misjudgement was understandable at the time of > the last meeting, I really hope you not repeat it again. It seems to me that, very roughly, there are two possible levels of problem. One relates to such matters as efficiency, how many retrievals will overflow the UDP packet maximum, etc., but does not generally touch on correct operation of the protocol. It is clear that in this area you have your own opinions but they differ from the working group consensus. You have not persuaded the working group to your opinion and I do not think you will be able to do so at this point. There is also a second level of problem which would be a clear case where the protocol, as described, acted incorrectly. By this I do not mean, for example, the problems with securing CNAME RRs in old servers, becasue that problem is documented in the draft. I mean some case of incorrect operation that has not been considered or documented. If you know of a problem of this second type, it should be possible for you to describe an exact, clear, and complete exmaple which would produce such incorrect (not just "inefficient") results, and I would suggest that you do so. > Masataka Ohta Donald ===================================================================== Donald E. Eastlake 3rd +1 508-287-4877(tel) dee@cybercash.com 318 Acton Street +1 508-371-7148(fax) dee@world.std.com Carlisle, MA 01741 USA +1 703-620-4200(main office, Reston, VA)
Xref subject previous > This is ENskip, pre-alpha 0.10. ENskip is a security module for the TCP/IP > stack. It provides encryption, authentication and sequencing of packets on > the IP layer between two or more machines. For more information on the SKIP > protocol, see the Internet Draft draft-ietf-ipsec-aziz-skip-00.txt and > following. You might also want to check http://skip.incog.com for information > about the background, the protocol itself and future directions of it. > > ENskip is pre-alpha. If you are not absolutely sure what this is all about, > you might want to read the draft, and perhaps reconsider using this package. Well RMS will probably dislike your license which effectively is a derivative work of the GLPL and thus quite possibly a copyright violation in itself, and I can't use the code with the Linux kernel with its present license. I'll stick to playing with IP-AH, IP-ESP for the moment on that basis Alan
Sincere apologies all. That was meant to be a reply to the originator only Alan
Xref subject previous Xref subject next In message <9508112244.AA20004@ixextra2.watson.ibm.com>, Pau-Chen Cheng writes: >Craig, I just glanced over your 3 parts. I have not thought them over in >details >yet. But I have a simple question : > > I got the impression if a IP header field is labeled "invariant" by you, > it does not mean it will not be changed. It means that if it is changed, > then the packet should be considered "bad". Is my impression correct ? Yes. "Invariant = If this field changes, the packet is not authentic". This is to say that there exists a set of fields, which I call invariant, that MUST be passed through the network without change in order for the packet to maintain authenticity. If these invariant fields are changed, then the packet is not authentic. Which fields fall within this definition of invariant is a decision that we need to make by some sort of reasonable consensus. I described my conclusions as a starting point for this. -Craig
Xref subject previous >> This would be very useful and if we do an API can we PLEASE make sure >> its not just for UNIX but can be used by MVS, VMS, NT, WINSOCK, etc.. This is a laudable goal, but I suspect it's also a rathole of planetary proportions. Just a warning :-) Marc
Xref: Re: Field Variance Analysis Craig Metz Xref subject next > From: Craig Metz> Yes. "Invariant = If this field changes, the packet is not authentic". > This is to say that there exists a set of fields, which I call invariant, that > MUST be passed through the network without change in order for the packet to > maintain authenticity. If these invariant fields are changed, then the packet > is not authentic. Which fields fall within this definition of invariant is > a decision that we need to make by some sort of reasonable consensus. > First, I will agree with Craig's statement, there are header fields that must pass though the network unchanged. Second, I will then utterly disagree with the remainder of his analysis! The unspoken fundamental assumption is that it is better to throw traffic away in the event of uncertainty. I do not agree. We must design for _only_ the utmost certainty. We are not authenticating packet headers. We are authenticating payload data. The purpose is to get that data across a diverse network, not throw as much as possible away. Therefore, in order to promote _use_ of authentication, we need to make it as easy and robust to _use_ as possible! Suddenly discovering that data stops flowing because of a change in some router somewhere that is not under the user's control will not be a big win, folks.... ---- As to specific IP header fields, I have written code that is widely deployed that changes the TOS en route. That is not a "security" violation, it does not affect the _DATA_, it just changes the path characteristics.... I have worked on at least 3 routers that set the "reserved" bit in the IP header when congestion is experienced, and every router and host that I have worked on passes that bit transparently (even if it doesn't use or understand it). My current software base does not use most IP options, and certainly not the IPSO. I do not care about its authenticity, since it does not affect the Security Association that I have with my peer. In short, I am not currently working on software that could possibly talk to Craig's software. That is up to him. It may be his security policy. But I plan on _giving_ this software away to every compatible router vendor that I have ever worked with, and I won't design a security policy that could cause the Internet to fragment! ---- There are only a few fields that require authentication: - the Destination, as it is the field that together with the SPI will determine the Security Association. - the Source, since we probably want to send a response. - the Length, to preclude appending attacks. There are a couple of other fields that we might as well authenticate, as they well known to be invariant: - Version (has to be constant). - Identification (invariant end-to-end, or fragmentation would fail). - Protocol (it had better be ours, or processing will fail anyway). ---- Here is the pseudo header that I have implemented (so far only in the receive direction). I beleive this is similar if not identical to what other vendors have implemented, and hope to test this week. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL | 0 | Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification |0 0 0| 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0 | Protocol | 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options = 0 | Padding = 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The rationale is that since we can't predict rearrangement of options, we can't verify them. But if some router _ADDS_ or _REMOVES_ them, or lengthens or shortens existing ones, that in itself could be a security violation, which we can easily test for, using IHL and zero placeholders. I am zeroing not just the Option data fields, but the lengths and types, too. I don't care what they are, as they have absolutely no effect on the authenticity of the payload. Routers can rearrange them to their heart's content.... I never reverse LSRR, so I do not care how authentic it may be. Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Here are the minutes from the SKIP BOF, held at the Stockholm
IETF meeting.
SKIP BOF (July, 19th 1995; 3:30 pm)
====================================
Working Group Session: Simple Key Management for IP
Chairperson: Martin Patterson (martinp@france.sun.com)
Minutes reported by Hemma Prafullchandra (hemma@incog.com).
Agenda:
3:30 Intro and reason for the BOF - Martin Patterson (chair)
3:35 SKIP in AH/ESP
4:05 Presentation of ETHZ SKIP implementation
4:30 Presentation of ELVIS+ SKIP implementation
4:55 Presentation of End-System SKIP implementation
5:20 Q&A and general discussion
SKIP in AH/ESP Tom Markson
--------------------------
Q1: How is the Kp algorithm related to the ipsec security transforms algorithm ?
Kp algorithm is specified using eight bits, so one can assign a number for
every transform defined by ipsec.
Q2: What if it requires more than eight bits ? Would Sun/author be
willing to change the specification to allow it to inter-work with ESP ?
Yes, as our goal is to allow SKIP to inter-work with ESP.
Q3: What is the lifetime of Kij ?
The lifetime of Kij is dependent on the lifetime of the Diffie-Hellman
keys of the communicating parties. The lifetime of Kijn is
implementation dependent, meaning whenever n is changed Kijn will
change. n is never zero.
Comment: For interoperability, how n changes also needs to be defined
and not only how the initial value is established.
Q4: Why not use ephimereal half keys instead of Kijn ?
(Hilarie Orman -- we could not answer this to Hilarie's satisfaction.
Ashar will have to address this one.)
Comment from Hilarie: there are other more elegant solutions ...
Q5: The skip header appears in every ESP packet, any plans to integrate
skip further into ESP ?
No clear consensus.
What is the overhead per packet considering there is a skip hdr in
every packet ??
Martin --> refered performance numbers on skip... mention of path mtu discovery.
Point was made that crypto performance is often CPU bound.
(note: Cheryl Madson informed me that path mtu discovery and multicast
is not intended to work for ipv4 as per Steve Deering)
A request was made for some performance figures on unencrypted data but with
skip hdrs to evaluate the skip hdr overhead per packet issue. Also, some
figures on cpu/network throughput.
A suggestion was made to make use of compressed headers even though
state would have to be maintained. (from Jeff Schiller)
Q6: what are we doing about certificate distribution ?
There is quite a bit of work in progress in this area, no specifications
as this time. We have a limited protocol implemented to do bilateral
certificate exchange, we are also working on both chained and
cross-certification models of the X.509/PEM world and the PGP
web-of-trust. We would like to work within ipsec on this.
Q7: How many bits of the Diffie-Hellman keys are used to derive the shared secret ?
Q8: Now that we are also discussing the key distribution problem why was
skip not presented at the ipsec wg session during the key management
session ?
skip assumes that the communicating parties have already established
certified Diffie-Hellman public keys for the corresponding party/parties. Now,
we are working on solving the problem of certificate distribution; we
have nothing to present yet !
Germano Caronni (skip@tik.ethz.ch) on ETHZ SKIP implementation
--------------------------------------------------------------
- based on first draft + modifications
- ipsp protocol 79
- unicast only
- transport and encapsulated mode
- des, idea and "rc4"
- keyed MD5
- manual keying
- solaris 2.4, NeXTstep, NetBSD
- not interoperable with the other implementations
ftp over ip with DES+MD5 (ss10 -> ss20) => ~ 300kB/sec
This work will be released in the public domain around the 15th of August.
Q: why skip and not photuris ?
In Feb '95, when my work was started the photuris spec. was not concrete.
SKIP much more simple, basically context free. SKIP works with gateways,
and has concept for small multicast groups.
Still missing:
- multicast
- key management (key distribution for bilateral key exchange on its way)
- no ASN.1, X.509 -- next
Differences from spec:
- defined padding of Kp if required
- for transport mode, used reserved byte after next-p-field to transmit
number of pad bytes
- authentication over next-p-field, reserved bytes, sequence number, data
Q1: which level of OS was this implemented to ?
For Solaris, to binary (no source available).
For NeXtStep, as a binary patch.
For NetBSD, catch interrupts ...
ELVIS+ Nickolai Tzarev
----------------------
Two realizations:
a) Solaris 2.4
- unicast
- simple command line interface
- simple graphical interface
- MD5
- final release in October
Futures: support for multicast and key distribution
b) DOS/Windows
- NDISv2 compliance driver
- NDIS v3 next
- final release in November
Futures: windows for workgroups and windows95
Q1: cryptography is Russia is banned, how is this going to effect your
work ?
Encryption/decryption is banned but if used for privacy of personal
information then is it okay. Also, the president has signed the decree,
the parliament has not.
ES-SKIP (Tom Markson)
---------------------
Slides from Tom.
Q1: Loadable kernel module ?
yes, but tried to limit the dependencies on the kernel.
Q2: does it always have to below ip layer ?
yes
Q3: the draft is not sufficient to implement SKIP, the faq's are also
required. Are you planning to interate the changes into the draft ?
yes, a revision of the draft will be made
Q4: what are the node-ids ?
Martin -> explanation.
Q5: Other groups of algorithms that can be used, is skip flexible enough
to support other algorithms, e.g. elliptic curves ?
Martin -> yes, though Diffie-Hellman is the implicit default.
Q6: How do negotiate what values of the Diffie-Hellman modulus was used
? If you have a 512 bit modulus and a 1024 bit modulus, will they
interoperate ?
skip does not negotiate this. It is done out-of-band. 512 bit DH keys
will not interoperate with 1024 bit DH keys.
For interoperability, a set of 512 bits and 1024 bits DH params should
be published as part of the draft. Generate a set of these parameters
that impeachable in the IETF forum.
Internet standards need to be specified in a manner that independent
implementations can interoperate. photuris negotiates almost everything,
so that if independent implementations existed they are very likely to
interoperate. Skip should be able to negotiate which Kij and Kp
algorithms are supported by the remote party.
Q7: should the faq's be folded incorporated into th skip draft ?
Jeff S. -> not necessarily, they can be specified as separate drafts,
but all the information needs to be provided, and there needs to
concensus on the drafts.
Q8: what is the relation with ipsec ?
At this point Jeff decided to take a straw-poll.
Q: How many people would be happy with skip moving into the standards
track as an elective standard ?
80% of the attendees raised their hands,
Jeff -> I think there is
concensus here to move SKIP into the stds track. Ashar needs to discuss with
Jeff S., Paul L. and Ran A. the process by which to proceed further;
clearly some changes will be required to the internet-draft.
SKIP BOF ROSTER (July, 19th 1995; 3:30 pm)
===========================================
Martin Patterson martinp@france.sun.com (Chair)
Hemma Prafullchandra hemma@incog.com
Joseph Reveane jreveane@france.sun.com
Denis Pinkas D.pinkas@frcl.bull.fr
Uwe Ellermann Ellermann@cert.dfn.de
Ward Bathrick Ward@mls.hac.com
Eric Fleischman Ericf@atc.hvery.com
Math Aarnro Mea@funet.fi
Dragan Greboviom Dragan@bnr.ca
Antonin Fernandez Afa@bellcore.com
Eric Rescorla Ekr@eit.com
Jeff Schiller Jis@mit.edu
Richard Graveman Rfg@ctt.bellcore.com
Tatu Ylonen Ylo@cs.hut.fi
Charlie Kaufman Charlie_Kaufman@iris.com
Germano Caronni Caronni@tik.ethz.ch
Nick Tzarev Nick@elvis.ru
Roman Sagalaev kanat@elvis.ru
Don Stephenson Dons@eng.sun.com
Masayaki Abe Abe@isl.ntt.jp
Marc Hasson Marc@mentat.com
Hiroshi Tachibaa Tachi@iij.ad.jp
Hilarie Orman Ho@cs.arizona.edu
Sven Tafvelin Tafvelin@ce.chalmers.se
David Johnson Dbj@cs.cmu.edu
Dan Frommer Dan@radguard.co il
Brett Chappell Bchappe@relay.nsmc.navy.mil
Bill Medlin Billmd@cap.hp.com
Cyrus Chow Cyrus.Chow@arc.nasa.gov
Peter Yee Yee@Spyrus.com
Sean Kennedy Liam@bbnplanet.com
Mark Hollinger Myth@ucx.lkg.dec.com
Mark Scherther Mjs@tycho.ncsc.mil
David Carrel Carrel@cisco.com
Leonid Yegoshin Egoshin@ihep.su
Marcus Leech Mleech@bnr.ca
Matti Huvila Matti.Huvila@abo.fi
Randy Catoe Randy@mci.net
Bob Gilligan Gilligan@Eng.sun.com
Johan Sandfeldt Johan.Sandfeldt@it.ki.se
Carl Smith Cs@Eng.sun.com
Hans Davidson Hans.Davidson@it.ki.se
Nevil Brownlee N.Brownlee@auckland.ac.nz
Gunnar Lindberg Lindberg@cs.chalmers.se
Fumio Teraoka Tera@csl.sony.co.jp
Joaquim Macedo Macedo@umunho.pt
Don Bonaddio Donbon@it.hq.nasa.gov
Cheryl Madson Cmadson@baynetworks.com
Chris Shenton Cshenton@wirehead.hq.nasa.gov
Paul Lambert Paul_Lambert@email.mot.com
Joseph Ferracin Joseph.Ferracin@ed.nce.sita.int
Juha-Pekka Ahopello Juha-Pekka.Ahopello@ntc.nokia.com
Urs Eppenberger Eppenberger@switch.ch
Osman Ismael Osman@france.sun.com
Bo Kullmar Bo.Kullmar@riksbank.se
Henry Sihnreich Hsinreich@mcimail.com
William R. Soley Soley@eng.sun.com
Alon Cohen Alon@vocaltec.com
Ute Bormam Ute@informatikuni-bremen.de
M. Hampton M.Hampton@ic.ac.uk
Peter Ford Pford@mci.net
Tom Markson Markson@incog.com
Xref: Re: Field Variance Analysis Hilarie Orman Xref: Re: Field Variance Analysis Perry E. Metzger Xref subject previous Xref subject next In message <199508141948.AA68240@interlock.ans.net>, "William Allen Simpson" wr ites: >First, I will agree with Craig's statement, there are header fields that >must pass though the network unchanged. Well, at least we agree here. > >Second, I will then utterly disagree with the remainder of his analysis! While I find this unfortunate, it's important that we be talking about these things and come to some sort of consensus. >The unspoken fundamental assumption is that it is better to throw >traffic away in the event of uncertainty. I do not agree. We must >design for _only_ the utmost certainty. I think that we are disagreeing as to what certainty we would like to provide with the Authentication Header. It is my opinion that we need to provide certainty that the packet that arrives at the receiver is what the sender expected the receiver to receive and that the claimed sender is the actual sender. These guarantees are at odds with certainty of packet delivery in some cases that you have brought up. I have not seen a case presented yet, however, in which it was not my clear opinion that the spirit, if not the letter, of the appropriate standards and reasonable network practice was being violated. >We are not authenticating packet headers. We are authenticating payload >data. The purpose is to get that data across a diverse network, not >throw as much as possible away. This is a fundamentally important design decision. I believe that this has already been decided. If it has not, then we better do so now before trying to proceed, because it has a dramatic effect on further directions. It is my understanding that there are basically three "checklist" attacks that IPsec must offer reasonable protection against, and it is my understanding that these are requirements that we either meet or pack up and go home: 1. TCP connection stealing 2. Source-route attacks 3. IPSO modifications The third is one that many people discount, claiming that IPSO is just broken and shouldn't be a factor. I'm not here to judge IPSO, but certain government organizations have a large IPSO deployed base and they won't buy into IPsec at all if it leaves them SOL with IPSO. Both the second and third on this list implies no alternative but to protect IPv4 options if we are going to defend against these attacks. If we aren't going to defend against these attacks, then we can talk in terms of not authenticating options. >Therefore, in order to promote _use_ of authentication, we need to make it >as easy and robust to _use_ as possible! Suddenly discovering that data >stops flowing because of a change in some router somewhere that is not >under the user's control will not be a big win, folks.... Bill, I've been at sites that use Proxy-ARP as an IGP across multiple buildings. I've been at sites where admins ROUTINELY assign multiple machines the same IP address. I've been at sites where a single, massive Ethernet has over three hundred machines directly attached (no routers, no bridges, all gobs of big hubs). You and I can probably agree that these are three scenarios that are examples of bad network design. In none of those cases did the parts used to build those networks come out of the box drain bamaged -- bonehead network administrators made them that way. And they won't go and fix it BECAUSE IT SEEMS TO WORK. This has a lot to do with my fundamental disagreement with you on the Cisco/Telebit router issue. On the Ciscos, yes, you can configure them in ways that will cause them to munge IPv4 headers. This is a configuration that is as valid per the specs as using Proxy ARP as your IGP, and it's a configuration that is just as dead wrong. Causing these kinds of setups to break is more of a feature to me because it forces the admins into the realization that they are doing something that is really brain damaged and that they better fix it. IPsec might just provide a suitable carrot to these network admins to fix things. Also, I strongly believe that sites with Cisco routers configured to munge IPv4 headers are in the vast minority of deployed IP sites. This seems analogous to engineering all UNIX software to run on a VAX 11/780 just because some sites still use them. Do you want to be the person at Cisco that tells large corporate customers who do things right that the security guarantees they're getting from IPsec aren't as strong as they could be because it might break some sites who are doing things that are drain bamaged? I know that I wouldn't want to be. And on the NetBlazer... I've used one for a good bit of time, and I have never noticed it messing with my TOS bits. I'd be interested in more data on this example of yours (as with the Cisco example, you have provided a canned conclusion as a reason for why network-level data must be all but omitted from IPsec without much data to independently confirm or deny your claims). RFC791 doesn't say it, but it seems to me that routers that twiddle the TOS bits aren't conforming to the spirit of the spec even if they might be conforming to the letter. TOS bits tell routers what kind of data the packet is in a form that routers might be able to deal with in a very simplistic way (i.e., low-delay, bulk-data). If a router changes the TOS bits, the routers upstream are getting a different request for treatment than what the sender asked, and I doubt that the router mucking with the TOS bits has more information about the type of data being sent than the sending host. Please don't interpret this to mean that I'm against operating with the installed base. This is not so. I'm for trying to push technology, in this case, trying to push people who've been doing the wrong thing into fixing what they've got. IPsec could provide the motivation for them to do it. >As to specific IP header fields, I have written code that is widely >deployed that changes the TOS en route. That is not a "security" >violation, it does not affect the _DATA_, it just changes the path >characteristics.... It remains unclear to me how a router can know more than the sending host what kind of data is in transit. If we find that enough systems mess with the TOS bits, we can call them variant and move on. Protecting the TOS bits is a Good Thing, IMO, because it pushes people in the direction I believe is correct. The TOS bits are mostly unusable even today because so many widely deployed implementations have completely drain bamaged TOS processing. While I'd like to see that get fixed, I can live with calling TOS a loss and moving on. We all have bigger fish to fry. >I have worked on at least 3 routers that set the "reserved" bit in the >IP header when congestion is experienced, and every router and host that >I have worked on passes that bit transparently (even if it doesn't use >or understand it). Is it just me, or do these statements directly conflict? >My current software base does not use most IP options, and certainly not >the IPSO. I do not care about its authenticity, since it does not >affect the Security Association that I have with my peer. Again, these are design decisions. >In short, I am not currently working on software that could possibly >talk to Craig's software. That is up to him. It may be his security >policy. As I understand it right now, we have a number of bubbles forming of IPsec implementations that won't talk to each other. This is why we need to come to a consensus as to what goes into the authentication soup. >But I plan on _giving_ this software away to every compatible router >vendor that I have ever worked with, and I won't design a security >policy that could cause the Internet to fragment! Then I expect that you'll make sure to give away something that follows the consensus that develops. >There are only a few fields that require authentication: > > - the Destination, as it is the field that together with the SPI will > determine the Security Association. > > - the Source, since we probably want to send a response. The source is also a part of the security association nowadays. Also, source and dest frequently are needed for transport demuxes (for instance, finding the right TCP connection). > - the Length, to preclude appending attacks. Strictly speaking, the total length isn't necessary by your logic, since appending without also munging the checksum will cause the packet to fail auth, and the transport has a length field in all cases I know of. >There are a couple of other fields that we might as well authenticate, >as they well known to be invariant: > > - Version (has to be constant). > > - Identification (invariant end-to-end, or fragmentation would fail). > > - Protocol (it had better be ours, or processing will fail anyway). How do you define this "might as well authenticate"? Could you expand as to how you are making these conclusions? On what basis are you classifying these fields? >Here is the pseudo header that I have implemented (so far only in the >receive direction). I beleive this is similar if not identical to what >other vendors have implemented, and hope to test this week. > > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > |Version| IHL | 0 | Total Length | > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > | Identification |0 0 0| 0 | > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > | 0 | Protocol | 0 | > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > | Source | > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > | Destination | > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > | Options = 0 | Padding = 0 | > +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ >The rationale is that since we can't predict rearrangement of options, >we can't verify them. But if some router _ADDS_ or _REMOVES_ them, or >lengthens or shortens existing ones, that in itself could be a security >violation, which we can easily test for, using IHL and zero placeholders. Again, this is a design question. I can predict that if I send a packet over our routers, it will either get there with its options the same way I sent them or it will get dropped because our filter got it. We have Cisco routers. It just happens that we don't have configurations on our routers that cause them to go munging packets. For that matter, Bill, I've never seen a site in my entire life that has a router that messes with IPv4 options on a packet in transit. Maybe they're more common in your environment. >I am zeroing not just the Option data fields, but the lengths and types, >too. I don't care what they are, as they have absolutely no effect on >the authenticity of the payload. Routers can rearrange them to their >heart's content.... Again, this is a design decision. >I never reverse LSRR, so I do not care how authentic it may be. Personally, I could easily live without source routes. I don't like them -- never have, never will. But there are a number of legitimate cases in which you might need them. Do we tell people who have systems that might process source routes that they're SOL if they use them, or do we try to give them some guarantees through AH? I believe that source routes can be authenticated, and I explained how I think it can be done. I have code that has been able to authenticate IPv4 source routes. If you believe that my method of handling source routes is in error, please elaborate. If you believe that we shouldn't be authenticating options, as you seem to have been indicating, then please explain this conclusion. We need to talk about this. Simply saying that it's not right, we shouldn't do it because people could break, or that you don't care doesn't seem to me to be a good alternative to putting facts on the table that back up your conclusions. -Craig
Xref: Re: Field Variance Analysis Perry E. Metzger Xref: Re: Field Variance Analysis Perry E. Metzger Xref subject previous Xref subject next > The third is one that many people discount, claiming that IPSO is > just broken and shouldn't be a factor. I'm not here to judge IPSO, but > certain government organizations have a large IPSO deployed base and they > won't buy into IPsec at all if it leaves them SOL with IPSO. Both the second > and third on this list implies no alternative but to protect IPv4 options > if we are going to defend against these attacks. If we aren't going to > defend against these attacks, then we can talk in terms of not authenticating > options. Might not the certain government organizations use encapsulation with a MD5 transform as a method of protecting the IPSO?
Xref subject previous Xref subject next Craig Metz writes: > Again, this is a design question. I can predict that if I send a > packet over our routers, it will either get there with its options > the same way I sent them or it will get dropped because our filter got it. > We have Cisco routers. It just happens that we don't have configurations > on our routers that cause them to go munging packets. For that matter, > Bill, I've never seen a site in my entire life that has a router that > messes with IPv4 options on a packet in transit. Maybe they're more > common in your environment. I recall that you were mentioning IPSO. I seem to vaguely remember that CISCOs can be set to add IPSO tags to outgoing packets. This would seem to be something that could screw things up. Anyone recall if this is the case? .pm
Xref subject previous Xref subject next Craig Metz writes: > Again, this is a design question. I can predict that if I send a > packet over our routers, it will either get there with its options > the same way I sent them or it will get dropped because our filter g ot it. > We have Cisco routers. It just happens that we don't have configurat ions > on our routers that cause them to go munging packets. For that matte r, > Bill, I've never seen a site in my entire life that has a router tha t > messes with IPv4 options on a packet in transit. Maybe they're more > common in your environment. I recall that you were mentioning IPSO. I seem to vaguely remember that CISCOs can be set to add IPSO tags to outgoing packets. This would seem to be something that could screw things up. Anyone recall if this is the case? You're absolutely correct.
Xref: Re: Field Variance Analysis Craig Metz Xref subject previous Xref subject next Hilarie Orman writes: > > The third is one that many people discount, claiming that IPSO is > > just broken and shouldn't be a factor. I'm not here to judge IPSO, > > but certain government organizations have a large IPSO deployed > > base and they won't buy into IPsec at all if it leaves them SOL > > with IPSO. Both the second and third on this list implies no > > alternative but to protect IPv4 options if we are going to defend > > against these attacks. If we aren't going to defend against these > > attacks, then we can talk in terms of not authenticating options. > > Might not the certain government organizations use encapsulation with > a MD5 transform as a method of protecting the IPSO? I believe that Hilarie has hit on the way to cut the gordian knot. If the originating system wants to protect options under IPv4, it probably should encapsulate the whole packet and not just the transport. Perry
Xref subject previous Xref subject next Hilarie Orman writes: > > The third is one that many people discount, claiming that IPSO is > > just broken and shouldn't be a factor. I'm not here to judge IPSO, > > but certain government organizations have a large IPSO deployed > > base and they won't buy into IPsec at all if it leaves them SOL > > with IPSO. Both the second and third on this list implies no > > alternative but to protect IPv4 options if we are going to defend > > against these attacks. If we aren't going to defend against these > > attacks, then we can talk in terms of not authenticating options. > > Might not the certain government organizations use encapsulation with > a MD5 transform as a method of protecting the IPSO? I believe that Hilarie has hit on the way to cut the gordian knot. If the originating system wants to protect options under IPv4, it probably should encapsulate the whole packet and not just the transport. Perry
Xref: Re: Field Variance Analysis Craig Metz
Xref subject previous
Xref subject next
Craig metz writes:
I recall that you were mentioning IPSO. I seem to vaguely remember
that CISCOs can be set to add IPSO tags to outgoing packets. This
would seem to be something that could screw things up. Anyone recall
if this is the case?
And in fact, not only CAN they be configured to mess with IPSO,
CISCO's are shipped with a DEFAULT behaviour that allows only
unclassified BSO traffic thru. To allow other IPSO (of the RFC1108
flavor) thru you have to jump thru hoops to figure out how to
configure the routers. And to this day I am not sure how to do that.
Someone obviously decided that this was proper behaviour to keep
classified data from accidently being routed to unclassified networks,
but it makes deployment of classified networks an administrative
nightmare.
Now, having gotten that off my chest, I can get off my soapbox and
try to add my 2 cents to the issue being discussed.
The filtering of packets that do not meet a set of configured criteria,
such as the above, is an extreme case of (perhaps inappropriate) behaviour
on the part of a router, that can lead to connectivity problems. It relates
only tangentially to the more general isues of:
a) Whether IPSO options should/may be modified by any router
b) Whether IPSO options should be part of the authentication stream
c) Whether the IPSO options should be included at all
The answer to (a) is yes in the most common deployed MLS (multi-level
security) configurations that I am aware of. In this case, however,
the "router" in question is really an MLS gateway between networks
with differing security policies. It could, potentially, be something like
a CISCO configured to filter and add IPSO appropriately, but will often
be a B1 or B1/CMW or B2 evaluated MLS system. A configuration might
look something like this:
Unclassified Classified
Single Level ---+ MLS +---+ WAN +---+ MLS +---+ Single Level
Network Gateway 1 + Gateway 2 Network
|
|
|
+
MLS +-----+ Multi-level
Gateway 3 Network
In this case, the single level systems are assumed to be non-MLS systems
which generate and expect traffic with no IPSO. The MLS gateways add
IPSO with the appropriate classification and compartments before
putting it on the WAN. They strip the IPSO before forwarding packets
to the single level networks.
The MLS gateway 3 probably just passes the IPSO on unmodified but here
there are also cases where the IPSO could be changed to reflect differing
policies. A case in point might be where the WAN has routers that only
pass RFC1108 BSO IPSO. In that case the ESO (compartments) would be
dropped before going out on the WAN.
The WAN is assumed to be reliably authenticated, possibly encrypted,
and physically secure data link. In IPv4 this is presumably done with
special hardware. In IPv6, hopefully, the authentication features would
come into play. The caveat here of course would be that it is unlikely
that highly classified data would be routed over the big bad Internet
but certainly some of it could be. For example, unclassified and
confidential compartmented data could perhaps be routed over the Internet
with secret and top secret data going over the protected links.
So now on to (b). I see the following cases:
1) The endpoint systems are IPv6 security aware (but not necessarily
MLS) and do end-to-end authentication. Here, the answer is obviously
that the IPSO CANNOT be part of the authentication stream, since the
MLS gateways will be adding, stripping or possibly modifying them.
This presents a problem to the gateways in that IPSO coming from
the WAN cannot be authenticated and cannot be used reliably for
routing/filtering decisions.
2) The endpoint systems use unauthenticated IPv6 (or IPv4) possibly
with IPSO in the case of the multi-level network. In this case
the MLS gateways would add the authentication.
(NOTE: I am assuming that this is possible. Can someone please
tell me if it is so?)
In this case, if we assume the routers on the WAN do not muck
with the IPSO, the IPSO could and probably should be part of the
authentication stream. This gives us assurance that the IPSO is what
it says it is, but it still has the well-known flaw of putting up the
bright red flag that says this secured data worthy of analysis.
3) We attempt to use the Security Association features of the
authentication mechanism. If the S/A is strictly end-to-end
(is this TRUE?), then the answer is simple. The endpoint
systems (even the single level ones in my diagram) become MLS aware
to the extent that the S/A has an implied senstivity level. The MLS
gateways become simple routers, since they are presumably no privy
to the S/A and cannot make routing decisions based on the
sensitivity level.
Number (3) provides the best security and it works for deployment of new
programs with endpoint systems that use the latest technology. Unfortunately,
in my experience, that is rarely the case. Usually, there is a VERRRYYYY
long lag time between program inception and actual deployment and once
deployed it is extremely difficult to inject updates.
I suspect that the answer will probably be encapsulation, as suggested by
Hillarie. I am not completely sure how works in gory detail, but seems
to be the only real answer in this type of configuration.
/andy
IP Security WG Folks, I've gotten permission to put a longish code fragment from the NRL implementation of IP Authentication Header (for IPv6 & IPv4) out for anonymous ftp at the URL below: ftp://ftp.nrl.navy.mil/pub/security/ipsec This is copyrighted but freely distributable under the license terms included at the front of the file. It is part of our overall implementation of IPv6 (including ESP and AH), IPv4 ESP, and IPv4 AH inside 4.4-lite BSD. We anticipate that our "alpha" release of all of this software will be available this fall under these same terms. NRL's work on IP Security is sponsored by ARPA/CSTO and SPAWAR. This is the code that Craig Metz has been discussing and is posted primarily to refute by existence-proof the idea that it is too hard to implement IP options processing as specified in the Proposed Standard RFC. The posted code works. Not all of the IP options supported by our AH implementation are supported by the remainder of our IPv4 stack, which serves to demonstrate that one doesn't have to add full support for all of the IPv4 options in order to process them properly for AH. I will have some other AH comments coming in a few days as I get time. I've been gone unexpectedly for part of the summer and have been busy writing code for the remainder of the summer. I have to say that writing code is among the more pleasant ways to spend one's days. Regards, Ran rja@cs.nrl.navy.mil
Xref: Re: Comments on IPSO and AH/ESP Sean O'Malley Xref subject next [my co-chair hat is off :-] IPsec folks, % And in fact, not only CAN they be configured to mess with IPSO, % CISCO's are shipped with a DEFAULT behaviour that allows only % unclassified BSO traffic thru. To allow other IPSO (of the RFC1108 % flavor) thru you have to jump thru hoops to figure out how to % configure the routers. And to this day I am not sure how to do that. Folks at NRL and other parts of the DoD do know how to do it. It isn't THAT hard to do. Also, by default a Cisco will pass traffic without any IPSO label whatsoever. The key thing is that no router will by default munge any IPSO labels -- IPSO munging is something that the router admin must specifically turn on and configure in each router. % The filtering of packets that do not meet a set of configured criteria, % such as the above, is an extreme case of (perhaps inappropriate) behaviour % on the part of a router, that can lead to connectivity problems. It relates % only tangentially to the more general isues of: % a) Whether IPSO options should/may be modified by any router % b) Whether IPSO options should be part of the authentication stream % c) Whether the IPSO options should be included at all % The answer to (a) is yes in the most common deployed MLS (multi-level % security) configurations that I am aware of. In this case, however, % the "router" in question is really an MLS gateway between networks % with differing security policies. It could, potentially, be something like % a CISCO configured to filter and add IPSO appropriately, but will often % be a B1 or B1/CMW or B2 evaluated MLS system. A configuration might % look something like this: Note: IPSO is strictly an IPv4 option. There is currently no analogous option for IPv6. Ditto for CIPSO at present. I agree that it is not uncommon. It is widely viewed within the DoD as being a "least of all evils". Many in the DoD believe that using unauthenticated IPSO labels to perform Mandatory Access Controls for security is highly undesirable because of the security risk. I personally dislike IPSO labels for that latter reason and because they advertise "this packet is a high-value target, see the IPSO label". One of the goals of the IPsec WG from long ago was to be able to authenticate IPSO labels from source to destination, thus potentially permitting a filtering router with a MAC policy to authenticate the label to provide assurance that the MAC policy was implemented as intended and was not being spoofed. % In this case, the single level systems are assumed to be non-MLS systems % which generate and expect traffic with no IPSO. The MLS gateways add % IPSO with the appropriate classification and compartments before % putting it on the WAN. They strip the IPSO before forwarding packets % to the single level networks. They do the above only when the sys/net admin wants that done as part of policy. More often in my experience, unlabeled packets are sent, no router mangling occurs, and unlabeled packets are implicitly treated as "unclassified". The multi-level systems generally do include IPSO labels with the label reflecting the level of the data in the packet. % The MLS gateway 3 probably just passes the IPSO on unmodified but here % there are also cases where the IPSO could be changed to reflect differing % policies. A case in point might be where the WAN has routers that only % pass RFC1108 BSO IPSO. In that case the ESO (compartments) would be % dropped before going out on the WAN. Again, these are LOCAL policies. If users wish to shoot themselves in the foot, no RFC will prohibit that. But if they want to use AH with the labels, they won't want or need to configure the routers to munge IPSO options. % The WAN is assumed to be reliably authenticated, possibly encrypted, % and physically secure data link. It is always encrypted, with either a link encryptor or an IP encryptor, but never in my experience has per-packet authentication (which authentication IS needed and currently missing and is something AH ought to be providing). % The caveat here of course would be that it is unlikely that highly % classified data would be routed over the big bad Internet... Yes. Certainly it is never sent without military-grade encryption being used, typically with SP3D as the encapsulation protocol if IP encryption is in use. % 1) The endpoint systems are IPv6 security aware (but not necessarily % MLS) and do end-to-end authentication. Here, the answer is obviously % that the IPSO CANNOT be part of the authentication stream, since the % MLS gateways will be adding, stripping or possibly modifying them. Typo: Substitute "IPv4" above where it says "IPv6". IPSO is ONLY IPv4. I would contradict this directly and say that it is obvious that IPSO MUST be authenticated in order to prevent spoofing attacks and false downgrading of information. I am aware of major router vendorS that report are implementing AH for IPv4 (I can't say which ones, sorry). There are MANY users and a few good vendors who want to have routers authenticate but not modify IPSO labels. If IPSO is included in the AH computation, this desirable goal will almost certainly come to pass. If IPSO is excluded from the AH computation, this will definitely be precluded. The community is definitely on a major decision point here. % This presents a problem to the gateways in that IPSO coming from % the WAN cannot be authenticated and cannot be used reliably for % routing/filtering decisions. % 2) The endpoint systems use unauthenticated IPv6 (or IPv4) possibly % with IPSO in the case of the multi-level network. In this case % the MLS gateways would add the authentication. No. The IPv6 end systems will use authenticated or encrypted packets and will include the security level as part of the Security Association data as the specs already make clear and will NOT use IPSO [IPSO is for IPv4 only in any event. Please go read the spec language about implicit labeling being "must implement". IPv4 systems SHOULD use authentication and add their own labels. It is likely that future DoD contracts (e.g. Navy's TAC-5, worth a few Billion $) will make support for authenticated IPSO labels a "must implement in hosts if you want to bid" item. In the past, vendors have implemented new features of similar complexity in order to bid on large DoD contracts (e.g. TAC-3, TAC-4). % In this case, if we assume the routers on the WAN do not muck % with the IPSO, the IPSO could and probably should be part of the % authentication stream. This gives us assurance that the IPSO is what % it says it is, but it still has the well-known flaw of putting up the % bright red flag that says this secured data worthy of analysis. % 3) We attempt to use the Security Association features of the % authentication mechanism. If the S/A is strictly end-to-end % (is this TRUE?), then the answer is simple. The endpoint % systems (even the single level ones in my diagram) become MLS aware % to the extent that the S/A has an implied senstivity level. The MLS % gateways become simple routers, since they are presumably no privy % to the S/A and cannot make routing decisions based on the % sensitivity level. IMHO, this is the best approach, particularly if we use encryption rather than authentication. For MLS, one really wants encryption to separate the different security levels. % Number (3) provides the best security and it works for deployment of % new programs with endpoint systems that use the latest technology. % Unfortunately, in my experience, that is rarely the case. Usually, % there is a VERRRYYYY long lag time between program inception and % actual deployment and once deployed it is extremely difficult to % inject updates. Systems that can't be updated will be forced to not use ANY of the IPsec mechanisms by the same reasoning that you use in the paragraph above. For them there will be no change in the status quo. % I suspect that the answer will probably be encapsulation, as % suggested by Hillarie. I am not completely sure how works in gory % detail, but seems to be the only real answer in this type of % configuration. One obvious problem with encapsulation is that if IPSO is in the inner packet, it can't easily be examined by the routers to perform filtering as routers do right now. This means the same interoperability issues with the status quo will also exist in this case. It is really important to understand that IPSO is almost never used outside of military networks and is almost never used within The Internet. Within those military networks, the network operator has fairly total control over how the network and its routers are configured. So if they don't want to use AH or ESP, they simply decide not to use it. The specs as agreed to and as published are and always were intended to provide end2end authentication of the entire IP packet, not just the upper-layer data portion as Bill as recently misstated. I don't think it is hard to implement the specs as written and suggest perusal of the code I announced earlier today before we continue that line of discussion, if we do. Now as a process comment, the specs are out as Proposed Standard and the usual IETF way is that the next 6 months or so will be spent implementing and testing interoperability. After that period, the WG will be asked to consider moving the specs to Draft Standard. At that point the WG can alter/amend/clarify the specs as WG consensus dictates and subject, as always, to IESG approval. As document editor, I _will_ edit the documents in accordance with WG consensus, as best the co-chairs and Security AD can determine it, even if I personally disagree with the changes. NRL is ready to do interoperability testing for IPv4 or IPv6 AH or ESP today. Mind, our implementation is per the Proposed Standard RFCs. If you want to test, send me email and we can arrange something. Ran rja@cs.nrl.navy.mil employed by, but not speaking officialy for the US Naval Research Laboratory
Xref subject previous Xref subject next > One obvious problem with encapsulation is that if IPSO is in the inner > packet, it can't easily be examined by the routers to perform > filtering as routers do right now. This means the same > interoperability issues with the status quo will also exist in this > case. > Why not have the IPSO option appear in BOTH IP headers. The encapsulated one to be signed and the real IP header to be looked at by the router. Now someone could change the IPSO in the real header so that the router would do something unnatural to it but unless you are expecting the router to understand IPSEC and authenticate the header (which requires that it know about IPSEC anyway and hence could compare the copies of the IPSO fields to see if they match) this is not an issue. At this point saving bits are the least of our problems. Sean O'Malley
Xref subject previous Xref subject next In message <9508150258.AA04859@uncial.CS.Arizona.EDU>, Hilarie Orman writes: >> The third is one that many people discount, claiming that IPSO is >> just broken and shouldn't be a factor. I'm not here to judge IPSO, but >> certain government organizations have a large IPSO deployed base and they >> won't buy into IPsec at all if it leaves them SOL with IPSO. Both the second >> and third on this list implies no alternative but to protect IPv4 options >> if we are going to defend against these attacks. If we aren't going to >> defend against these attacks, then we can talk in terms of not authenticatin >> options. > >Might not the certain government organizations use encapsulation with >a MD5 transform as a method of protecting the IPSO? If we choose not to protect IPv4 options, then it is possible for those organizations to use IP-IP tunneling with AH on the outside packet and the IPSO option on the inside (tunnelled) packet, except that this will defeat the purpose of IPSO because routers will only look at the outside packet. So, in order to provide intermediate IPSO processing (and IPSO is meant to be used by intermediate glorified-routers to make policy decisions), we have no reasonable choice but to find a way to authenticate IPv4 options. -Craig
Xref subject previous Xref subject next In message <9508150258.AA04859@uncial.CS.Arizona.EDU>, Hilarie Orman writes: >> The third is one that many people discount, claiming that IPSO is >> just broken and shouldn't be a factor. I'm not here to judge IPSO, but >> certain government organizations have a large IPSO deployed base and they >> won't buy into IPsec at all if it leaves them SOL with IPSO. Both the second >> and third on this list implies no alternative but to protect IPv4 options >> if we are going to defend against these attacks. If we aren't going to >> defend against these attacks, then we can talk in terms of not authenticatin >> options. > >Might not the certain government organizations use encapsulation with >a MD5 transform as a method of protecting the IPSO? If we choose not to protect IPv4 options, then it is possible for those organizations to use IP-IP tunneling with AH on the outside packet and the IPSO option on the inside (tunnelled) packet, except that this will defeat the purpose of IPSO because routers will only look at the outside packet. So, in order to provide intermediate IPSO processing (and IPSO is meant to be used by intermediate glorified-routers to make policy decisions), we have no reasonable choice but to find a way to authenticate IPv4 options. -Craig
Xref subject previous Xref subject next In message <199508150308.XAA23251@panix4.panix.com>, "Perry E. Metzger" writes: > >Craig Metz writes: >> Again, this is a design question. I can predict that if I send a >> packet over our routers, it will either get there with its options >> the same way I sent them or it will get dropped because our filter got it. >> We have Cisco routers. It just happens that we don't have configurations >> on our routers that cause them to go munging packets. For that matter, >> Bill, I've never seen a site in my entire life that has a router that >> messes with IPv4 options on a packet in transit. Maybe they're more >> common in your environment. > >I recall that you were mentioning IPSO. I seem to vaguely remember >that CISCOs can be set to add IPSO tags to outgoing packets. This >would seem to be something that could screw things up. Anyone recall >if this is the case? Cisco routers can add IPSO options to outgoing packets. Question: Can they *remove* IPSO options from incoming packets? If you set your network up to symmetrically add and remove the options, the reciever receives the intended packet.. assuming that the sender didn't send an IPSO packet. The right solution is that IPSO options be sent by the sender if they're used at all. An even more right solution, of course, might be to use implicit labels as part of the security association, but this is something we don't quite yet have the technology to do (this becomes an easier case of the intermediate network authentication problem). But if your operational network has routers that take packets from hosts that never add IPSO and adds IPSO to them (which I believe is the common case subset of this already rather pathological case), then a solution is to have the routers strip them before receipt by the sender. I believe that IP-IP tunneling can also be used creatively to get around problems where routers muck with IPv4 options. Routers can muck all they want with the outside packet and the inside packet stays intact end-to- end. This MIGHT provide a reasonable solution for many cases. Compare with proposals to IP-IP tunnel if you have any IPv4 options. This shifts the extra overhead to the less common case, IMO. -Craig
Xref subject previous Xref subject next In message <199508151336.JAA04440@panix4.panix.com>, "Perry E. Metzger" writes: >Hilarie Orman writes: >> > The third is one that many people discount, claiming that IPSO is >> > just broken and shouldn't be a factor. I'm not here to judge IPSO, >> > but certain government organizations have a large IPSO deployed >> > base and they won't buy into IPsec at all if it leaves them SOL >> > with IPSO. Both the second and third on this list implies no >> > alternative but to protect IPv4 options if we are going to defend >> > against these attacks. If we aren't going to defend against these >> > attacks, then we can talk in terms of not authenticating options. >> >> Might not the certain government organizations use encapsulation with >> a MD5 transform as a method of protecting the IPSO? > >I believe that Hilarie has hit on the way to cut the gordian knot. If >the originating system wants to protect options under IPv4, it >probably should encapsulate the whole packet and not just the >transport. Consider the goal of protecting source routes. If you do things this way, you would build a packet of (my notation may be wierd to some): IPv4 AH IPv4 LSRR ULP You have two options. You either don't do the LSRR, in which case having it there in the first place is a waste, or you only get intermediate authenticity guarantees because each hop has to decapsulate it and re- encapsulate it, doing the appropriate AH processing on each operation. Keep in mind my second example in part 1. You can't get end-to-end LSRR security and have the LSRR do something useful using a tunnel, IMO. -Craig
Xref subject previous Xref subject next In message <199508151458.AA06122@interlock.ans.net>, Andy Bayerl writes: > Craig metz writes: > I recall that you were mentioning IPSO. I seem to vaguely remember > that CISCOs can be set to add IPSO tags to outgoing packets. This > would seem to be something that could screw things up. Anyone recall > if this is the case? >The filtering of packets that do not meet a set of configured criteria, >such as the above, is an extreme case of (perhaps inappropriate) behaviour >on the part of a router, that can lead to connectivity problems. It relates >only tangentially to the more general isues of: IMO, it is inappropriate, but this depends on your view of things. > a) Whether IPSO options should/may be modified by any router > b) Whether IPSO options should be part of the authentication stream > c) Whether the IPSO options should be included at all > >The answer to (a) is yes in the most common deployed MLS (multi-level >security) configurations that I am aware of. In this case, however, >the "router" in question is really an MLS gateway between networks >with differing security policies. It could, potentially, be something like >a CISCO configured to filter and add IPSO appropriately, but will often >be a B1 or B1/CMW or B2 evaluated MLS system. A configuration might >look something like this: > > Unclassified Classified > Single Level ---+ MLS +---+ WAN +---+ MLS +---+ Single Level > Network Gateway 1 + Gateway 2 Network > | > | > | > + > MLS +-----+ Multi-level > Gateway 3 Network > >In this case, the single level systems are assumed to be non-MLS systems >which generate and expect traffic with no IPSO. The MLS gateways add >IPSO with the appropriate classification and compartments before >putting it on the WAN. They strip the IPSO before forwarding packets >to the single level networks. For single-level to single-level, IPSO is stripped, end of problem. For single-level to multi-level, tunneling seems reasonable to me. > 1) The endpoint systems are IPv6 security aware (but not necessarily > MLS) and do end-to-end authentication. Here, the answer is obviously > that the IPSO CANNOT be part of the authentication stream, since the > MLS gateways will be adding, stripping or possibly modifying them. > > This presents a problem to the gateways in that IPSO coming from > the WAN cannot be authenticated and cannot be used reliably for > routing/filtering decisions. Luckily, there is no IPSO in IPv6, so this isn't a problem. If you mean that they have IPv4 AH, then you can strip (single-level to single-level) or tunnel (any combination of MLS). The latter packet would be: IPv4 IPSO IPv4 AH ULP > 2) The endpoint systems use unauthenticated IPv6 (or IPv4) possibly > with IPSO in the case of the multi-level network. In this case > the MLS gateways would add the authentication. > > (NOTE: I am assuming that this is possible. Can someone please > tell me if it is so?) IPv4, yes. IPv6, no. > In this case, if we assume the routers on the WAN do not muck > with the IPSO, the IPSO could and probably should be part of the > authentication stream. This gives us assurance that the IPSO is what > it says it is, but it still has the well-known flaw of putting up the > bright red flag that says this secured data worthy of analysis. In which case use with ESP might be in order... > 3) We attempt to use the Security Association features of the > authentication mechanism. If the S/A is strictly end-to-end > (is this TRUE?), then the answer is simple. The endpoint > systems (even the single level ones in my diagram) become MLS aware > to the extent that the S/A has an implied senstivity level. The MLS > gateways become simple routers, since they are presumably no privy > to the S/A and cannot make routing decisions based on the > sensitivity level. Security associations are currently end-to-end but can be used for intermediate network authentication. The intermediate network authentication part allows one to use asymmetric cryptography to create case where the routers/gateways can verify that a packet is authentic and belongs to a certain security association (and they can thusly make policy decisions based on the implied labels) without being able to forge packets. The pieces aren't all in place yet for intermediate network authentication, though. >Number (3) provides the best security and it works for deployment of new >programs with endpoint systems that use the latest technology. Unfortunately, >in my experience, that is rarely the case. Usually, there is a VERRRYYYY >long lag time between program inception and actual deployment and once >deployed it is extremely difficult to inject updates. Implicit security labels, IMO, have a number of important benefits over IPSO. But we have IPSO in use right now, and we have no AH implicit security labels in use right now. >I suspect that the answer will probably be encapsulation, as suggested by >Hillarie. I am not completely sure how works in gory detail, but seems >to be the only real answer in this type of configuration. For single-level to single-level, stripping makes more sense to me. Involve a MLS box, and encapsulation for this case as I explained above seems more reasonable. -Craig
Xref subject previous Xref subject next Craig Metz writes: > >I believe that Hilarie has hit on the way to cut the gordian knot. If > >the originating system wants to protect options under IPv4, it > >probably should encapsulate the whole packet and not just the > >transport. > > Consider the goal of protecting source routes. I'm not sure there is a point to protecting source routes. Consider the following: 1) The worst the attacker can do is force you to use a different route than the intended one. He can force you to reply on a reversed bad source route and can read your messages and keep the intended recipient from reading them. However, if he's an active attacker in the line he can do that anyway. 2) We can't authenticate to intermediate nodes so the only thing the machine on the end knows is what source route options the packet was sent with, *not* what path it took. Authentication makes source routing safe not because it makes the source routes themselves immune from attack but because it authenticates the endpoints. Perry
If you want to subscribe to the IETF PKIX mailing list, please send a message to
listserv@tandem.com with the following in the message body:
subscribe ietf-pkix
Your can omit in the message, if you are sending the message
from the same address that you want to put in the mailing list.
The reason I am sending this message is because lot of people are sending
the subscription request to ietf-pkix@tandem.com, which will not put them in the
mailing list and I have received complaints.
Regards
Chandra Srivastava
Xref subject previous Xref subject next Ran: I really like the idea of an implicit security label. The security association can be established for one particular security label. Multi-level systems simply establish multiple security associations, protected in different keys (and maybe different algorithms), one for each label. This way, all of the overhead associated with labels falls on the key management protocol, not each datagram. Russ
Xref subject previous Xref subject next Ran: I really like the idea of an implicit security label. The security association can be established for one particular security label. Multi-level systems simply establish multiple security associations, protected in different keys (and maybe different algorithms), one for each label. This way, all of the overhead associated with labels falls on the key management protocol, not each datagram. Russ That's certainly my preference as well.
Xref: Re: Comments on IPSO and AH/ESP Andy Bayerl Xref subject previous Xref subject next Russ, I personally could not agree more that implicit security labels are the better way to go. The recently published Proposed Standard RFCs actually require that systems claiming to provide MLS features MUST implement support for implicit labels. NRL's (otherwise single-level) implementation for 4.4 BSD supports implicit labels. For that matter, I think that data at different security levels ought to use encryption to provide separation of data (DES encryption is vastly better than no encryption, IMHO, though the military will no doubt use Type 1 algorithms instead of DES). Reality is that there are folks (primarily TSIG/CIPSO people and those who have been strongly influenced by them) who will continue using explicit labels. It would be significant risk reduction to authenticate such IPSO (or CIPSO, though that is neither standard nor widely interoperable [we run multi-vendor tests of this once in a while] or well documented) labels end-to-end using AH, hence my concern that IPSO be included in the AH computation (as the Proposed Standard RFCs already require). Thanks for your note. Regards, Ran rja@cs.nrl.navy.mil
Xref subject previous
Xref subject next
Ran Writes:
Reality is that there are folks (primarily TSIG/CIPSO people and
those who have been strongly influenced by them) who will continue
using explicit labels.
Being one of those *TSIG/CIPSO people*, it is MHO that in the IPv6
world we will use implicit labelling unless for some reason it proves to
be unworkable. I cannot speak for all TSIG vendors, but I believe that
our Digital MLS+ products would most certainly make every attempt
to use it.
From everything that has been said, it is quite
obviously the most secure mechanism available and given that it is
a *must implement*, it will be the most widely available and I see
no reason why any MLS vendor with IPv6 would not take advantage of it.
Of course, in the IPv4 world we will still continue to use (C)IPSO
since we have no choice. That wouldn't seem to be related to this
discussion (unless IPv4 tunnelled thru IPv6 comes into play, but
I don't think so.)
The only concern I have is how the notion of the implied labelling
scales to networks with a large number of compartments where the
number of *potential* labels increases exponentially. Your model
assumes a small number of classifications (which scales linearly)
and a small comparment set.
The solution may be simply a matter of using a subset of the compartments
for network labelling or restricting the number of active security
associations with different labels between any 2 end points.
We will need to keep this in mind when we get around to discussions
of how the S/A's are managed.
It would be significant risk reduction to
authenticate such IPSO (or CIPSO, though that is neither standard nor
widely interoperable [we run multi-vendor tests of this once in a
while] or well documented) labels end-to-end using AH, hence my
concern that IPSO be included in the AH computation (as the Proposed
Standard RFCs already require).
If we assume that vendors will be able to use the implied S/A labelling,
then whether or not (C)IPSO labels are authenticated may be moot.
If a vendor chooses to stick with IPSO then not authenticating is
certainly no worse than IPv4 and would give an incentive to using the
S/A labelling. I don't think I have a strong opinion one or the other.
BTW: Most MLS vendors that I know about support CIPSO. Sun and Sequent
are the only exceptions I know about and I think Sun is working on it.
I can't speak to how well it is documented by individual vendors
and how easily configurable it is for other vendors. From the Digital
perspective it is easily configurable in all of our MLS+ 3.x releases.
The CIPSO specifications are accessible in the TSIG archives.
(I do not want to get into a discussion of why it is not an RFC,
since that predated my involvement and I would rather let it lie.)
/andy
Xref subject previous Xref subject next Andy, Thanks for your note. I'm pleased to hear that we share somewhat similar views on security labeling. [BEGIN ASIDE: My hangup with CIPSO interoperability is that different vendors have implemented different subsets of the possible "tag types". So if vendor A has implemented one subset, vendor B has implemented a slightly different subset, and vendor C has implemented a third slightly different subset of the tag types -- then users have a hard time getting all 3 kinds of systems talking (in some cases, we can't find a tag type that has been implemented by all of the systems that we are trying to get to talk with each other). A _vast_ improvement would be to require that all vendors implement at least one or two of the tag types so that users could at least be able to buy a CIPSO system and know that it is possible to get it to talk with a CIPSO system from any arbitrary different vendor. That, regrettably, is not true today, though it could be true in the future. I agree the TSIG/IETF history is best left aside at this point. END ASIDE] Your inputs/advice on how to ensure that a Security Association's Implicit Label is flexible enough to meet MLS needs would be most welcome. Its highly desirable that the Internet community get this right and your experience could well help us avoid some pitfalls. I had been hoping there would be more discussion of this in the context of NSA's ISA/KMP draft, but there hasn't been a lot of discussion of security association mgmt just yet. Regards, Ran rja@cs.nrl.navy.mil
Alan Cox wrote: > From: iialan@iifeak.swan.ac.uk (Alan Cox) > Subject: Re: SKIP (Security on the IP Layer) Sources > This is ENskip, pre-alpha 0.10. ENskip is a security module for the TCP/IP > stack. It provides encryption, authentication and sequencing of packets on [...] Well RMS will probably dislike your license which effectively is a derivative work of the GLPL and thus quite possibly a copyright violation in itself, and I can't use the code with the Linux kernel with its present license. [...] sigh. The fact is that we want nobody to actually *use* this pre-alpha version in a productive environment. At the moment you can play around with it, enhance it or familiarize yourself with SKIP. It is definitively too early for using it in something commercial, or let it be used by 'security-unaware' people. Also we had the problem that neither the Gnu License nor the Gnu Library License (IMHO) fully fitted the concept of a loadable kernel module. Thus we put something together which really is closely related to the Library License, but is somewhat simpler. I really would like to hear your opinion if this license is illegal, and in what points it is too incompatible with the GPLL. Should we revert back to a pure GPLL? Wouldn't this give problems in SKIP over Irix, Solaris and NeXTstep? Please give me a hint, I really hate this legalese stuff, and would happily accept an easy solution! Germano p.s. here the text which caused the hassle: ENskip Public License ===================== This is the ENskip public License, strongly influenced by the GNU Library License V 2.0. Whenever the ENskip License does not address a certain point, you may feel free to act according to the GNU Library License V 2.0 or, at your wish, any later version. 1. You may copy and distribute verbatim copies of ENskip's complete source code as you receive it, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with ENskip. 2. You may not charge any fee for the distribution of ENskip, other than a reasonable amount to compensate for the physical act of transferring a copy. 3. You may modify your copy or copies of ENskip or any portion of it, thus forming a work based on ENskip, and copy and distribute such modifications or work under the terms of this License, provided that you cause the files modified to carry prominent notices stating that you changed the files and the date of any change. You are encouraged to notify the authors of ENskip (skip@tik.ee.ethz.ch) about your changes. 4. You may copy and distribute ENskip or a derivative of it, under the condition that you accompany it with the complete corresponding machine- readable source code, which must be distributed under the terms of this License, or point to a place where the person receiving your distribution of ENskip may reliably receive the machine-readable source code without additional costs other than a reasonable amount for the actual transfer of the data. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of ENskip, but is designed to work with ENskip by interacting with its run-time components, is called a "work that uses ENskip". Such a work, in isolation, is not a derivative work of the ENskip, and therefore falls outside the scope of this License. 6. You may not copy, modify, sublicense, execute, use, or distribute ENskip except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, execute, use, or distribute ENskip is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 7. Each time you redistribute ENskip (or any work based on ENskip), the recipient automatically receives a license from the original licensor to copy, distribute, execute, use or modify ENskip subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 8. Commercial exploitation of a product based on this work or a derivative of it except as provided by section 5) of this License is expressly forbidden unless you receive written consent by the copyright holders of this work. They are reachable viaor Swiss Federal Institute of Technology TIK / Germano Caronni CH-8092 Zuerich / Switzerland NO WARRANTY BECAUSE ENskip IS PROVIDED FREE OF CHARGE, THERE IS NO WARRANTY FOR THIS PACKAGE. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PACKAGE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PACKAGE IS WITH YOU. SHOULD THE PACKAGE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. IN NO EVENT WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PACKAGE AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PACKAGE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PACKAGE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. -- <...cookie space for rent...> Germano Caronni caronni@tik.ee.ethz.ch http://www.tik.ee.ethz.ch/~caronni PGP-Key-ID:7B7AE5E1 997C6DC4AF930A5D2D5D6AEAA196C33B
Xref subject previous
In message <199508152014.AA37578@interlock.ans.net>, Sean O'Malley writes:
>> One obvious problem with encapsulation is that if IPSO is in the inner
>> packet, it can't easily be examined by the routers to perform
>> filtering as routers do right now. This means the same
>> interoperability issues with the status quo will also exist in this
>> case.
>Why not have the IPSO option appear in BOTH IP headers. The
>encapsulated one to be signed and the real IP header to be
>looked at by the router. Now someone could change the IPSO
>in the real header so that the router would do something
>unnatural to it but unless you are expecting the router to
>understand IPSEC and authenticate the header (which requires
>that it know about IPSEC anyway and hence could compare the
>copies of the IPSO fields to see if they match) this is not
>an issue. At this point saving bits are the least of our
>problems.
This seems pretty sensible to me, but it only seems to work in the
case where both ends understand IPSO. If you have a single-level machine
talking to a multi-level machine where the routers are adding IPSO options
midstream, I don't think this solves the problem. If you built a packet at
the single-level machine of the form IPv4 AH ULP, the midstream router would
create IPv4 IPSO IPv4 IPSO AH ULP this way, and the inner packet would still
fail authentication.
After doing some thinking, it seems to me that a possible solution to
the single-level to multi-level problem is to have the gateway that puts the
IPSO option on the packet calculate/re-calculate the AH. This changes your
security guarantee mode from end-to-end to intermediate and has unfortunate
keying implications, but it seems to me that you are already putting a fairly
heavy degree of trust in your router in this case in the first place, so the
risk added isn't all that great. This would create this kind of configuration:
[Singe-Level] [Multi-Level]
BSD Box-----------Gateway-----------MLS Box
IPv4 AH1 ULP IPv4 IPSO AH2 ULP
(Note: AH1 = AH in key from BSD Box, AH2 = AH in key from Gateway)
This might create key distribution problems, however. Proxy keying
time, everyone.
-Craig
Xref subject previous In message <199508152239.SAA16243@frankenstein.piermont.com>, perry@piermont.co m writes: >> Consider the goal of protecting source routes. > >I'm not sure there is a point to protecting source routes. >Consider the following: > >1) The worst the attacker can do is force you to use a different route > than the intended one. He can force you to reply on a reversed bad > source route and can read your messages and keep the intended > recipient from reading them. However, if he's an active attacker in > the line he can do that anyway. This is true. But source routing can expand the scope of who can be "in the line" in some cases. And it could create a class of annoyance attacks. Imagine a world where providers charge per unit volume and you select provider paths via source routes (this is being thought about seriously in an IPv6 scope). If some bozo can cause large volumes of your packets through Tokyo and Bangkok, they can run you up a nice bill. This can also hose quality-of-service guarantees. >2) We can't authenticate to intermediate nodes so the only thing the > machine on the end knows is what source route options the packet > was sent with, *not* what path it took. I disagree with your supposition that we can't authenticate to intermediate nodes. I believe that we do not yet have a solid grasp as to how to handle intermediate keying, but I believe that intermediate authentication is possible and, in the case of source routes, needs to be done. For now, this needs to be left for further study so that we can get something working, but I don't think we should write-off intermediate network authentication because it is a valuable topic for future work. When we start talking about things like providers charging by usage and guaranteed qualities of service, this may become especially important. >Authentication makes source routing safe not because it makes the >source routes themselves immune from attack but because it >authenticates the endpoints. I think that in the here and now, this is so. I believe that in the future, it may not be. In general, I have always held the opinion that source routes are bad and should be gotten rid of. In IPv6, it would seem reasonable to me that the flow support should be used as a stateful alternative to source routes, which would also make security processing easier. But people really do plan on using source routes, and some of the things they plan to use source routes for involve money, which means that a lot of users are going to want security guarantees for them. -Craig
Xref: Re: WG Last Call: draft-ietf-dnssec-secext-04.txt James M Galvin Since there was no objection to the changes listed below, I have incorporated them. Donald ===================================================================== Donald E. Eastlake 3rd +1 508-287-4877(tel) dee@cybercash.com 318 Acton Street +1 508-371-7148(fax) dee@world.std.com Carlisle, MA 01741 USA +1 703-620-4200(main office, Reston, VA) ---------- Forwarded message ---------- Date: Fri, 11 Aug 1995 14:26:07 -0400 (EDT) From: Donald E. Eastlake 3rdTo: dns-security@TIS.COM Subject: Re: WG Last Call: draft-ietf-dnssec-secext-04.txt ... In addition, I would like to make the following minor clarifications in the next few days in connection with dynamic update. (1) Add an explicit statement that a SIG RR with an expiration date before the date signed is ineffective. (2) Add an explicit statement that SIG RRs should not have a date signed significantly in the future. and (3) Add an explicit statement that, to prevent misordering of network request to update a zone dynamically, monotonically increasing "time signed" dates are necessary. Donald ===================================================================== Donald E. Eastlake 3rd +1 508-287-4877(tel) dee@cybercash.com 318 Acton Street +1 508-371-7148(fax) dee@world.std.com Carlisle, MA 01741 USA +1 703-620-4200(main office, Reston, VA)
-----BEGIN PGP SIGNED MESSAGE-----
Response to Last Call Comments for IPSEC Proposals
(RFC1825-RFC1829)
Introduction
The IPSEC documents describe a security protocol for the IP
Layer of the Internet, both IPv4 and IPv6 are considered. These
documents have undergone our normal working group process and have been
in evolution for some years now.
Shortly before the Danvers IETF (April 1995) the documents
entered a period of "Working Group" Last Call. During the last call
period issues were raised and the documents evolved based upon comments
received. A rough consensus was reached.
The consensus was rough, not all parties to the discussions
completely agreed with the final forms of the documents, such is the
process of compromise and negotiation.
On June 22cd, the documents went to IETF last call prior to
being elevated to the status of "Proposed Standard." The purpose of IETF
last call is to give the community one last chance to review documents
and flag fatal errors that should prevent a document from advancing. It
is not a time to rehash the discussions that already took place within
the context of the working group. It is not a time to recommend delaying
progress in order to do a slightly better job.
We did receive a significant number of comments during the last
call. Many of these were supportive of the advancement of the document
set to Proposed Standard. However there were some comments that
recommended that we delay advancement and/or make major changes in the
direction of the work.
The purpose of this document is to answer those comments.
Rather than address each message individually, I will address the broad
category of complaints.
Complaint: The IETF should not mandate confidentiality mechanisms for
which vendors may have difficulty obtaining export approval from the
United States (and some other countries as well).
Response: This is an old complaint and one that the IESG, IAB and the
IETF as a whole have addressed numerous times. The clear consensus of
the community is that we must specify the best possible technologies
based upon the requirements of Internet users world wide. Weakening
of confidentiality in order to meet the arbitrary export requirements
of some governments is not appropriate.
Complaint: The document wording is ambiguous and some things could be
stated better.
Response: Indeed there is room for improvement in the particular wording
of the documents. However the IESG believes that the documented
*protocols* are sound and worthy of the implementation efforts that
spawn from a Proposed Standard RFC. All five documents still have two
important standardization steps to progress through ("Draft Standard"
and "Full Standard"). We fully expect that the document authors, in
cooperation with the working group, will take all such comments into
consideration. As these documents evolve through the standards
process they will likely become much better written, while still
essentially documenting the same (or only slightly modified)
protocols.
Complaint: You didn't pick the absolute best algorithm for each
function. Shortly, some new and/or better algorithms will be
available.
Response: In all endeavors there comes a time to "fish or cut bait." We
have to make progress to provide the security services that the
Internet community badly needs. No comment pointed out a fundamental
flaw or security breach in the current proposed protocols. Instead
comments were made that if we waited, we would get a little better
security.
The protocols provide for a choice of algorithms, so as better
algorithms become available, we can incorporate them into the
Internet Protocol Security standards with ease. But the IESG believes
that we can no longer wait. The security provided by these protocols
is more then adequate to meet the security challenges of the Internet
today.
The mandatory to implement algorithms are there to ensure a guarantee
of interoperability between differing implementations. However
implementors are free to implement other algorithms which end-users
are then free to use provided both end points of an association
implement a common set of algorithms.
Complaint: This is all very hard stuff and we should cogitate some more
on this subject.
Response: The Internet is no longer a research network. Most Internet
users view it as a service utility, one that is expected to be
reliable, available and secure. The lack of good security on the
Internet is a cause of great concern in many communities. These
documents specify a much needed IP Protocol level set of security
services, services that are urgently needed. The IESG believes that
very little will be gained and much lost from waiting any longer.
Summary
Although many valuable comments were received during the last
call period, none provided sufficient argument for the IESG to remand
the documents back to the IPSEC working group. However many of the
comments will influence the next versions of the documents as they
evolve through the standards process.
-----BEGIN PGP SIGNATURE-----
Version: 2.6.2
iQCVAwUBMDfnb8UtR20Nv5BtAQFAzgP5AfagaHxVRL6UJZjSe11CShR7naiGrNlN
ciIhH9S+ffxUBI8m/1Ogp7ERiMld5gO9KkCmU9OnRCVRi0/ue31tTvdlxmWYUHNL
guDQlD2/gAV8WFX7NqKI3PyPf+xgoHIjamNiZeIE8bbk37I3DI4Z2ZY3R1JjlCn6
1QP4OSr9f8w=
=MNc5
-----END PGP SIGNATURE-----
Hi, If you think it's worth to work on providing "manageability" to IPSP, or would like to participate in WG that will do it - please send me e-mail. I'm trying to judge the amount of interest (and participants :-). -- Regards, Uri uri@watson.ibm.com -----------
Uri, Management of IPsec is within the charter of the current IPsec Working Group. There is no need for a new working group as the existing group and mailing list should completely suffice. The need for management of security functions was discussed in Danvers, for example. If you have a specific proposal, the place to put it is on the IPsec mailing listfor group discussion. Thanks, Ran rja@cs.nrl.navy.mil Co-chair, IP Security WG
subscribe
Xref: Re: IPSP Management Specifications was - Re: Managing IPSP Michael Richardson
Hi Uri,
The ipsec WG does need to develop a draft recommendation for "management of
IPSP" (aka ah/esp). Your contributions would be greatly helpful if you are
working in this area. Most of the security management problems have been
worked before so you might want to check the NIST and ISO publications for NLSP
(ISO11577). There was a complete CMIP MIB developed for NLSP. Some of this
work could be converted to SNMP (just a rough idea for a starting point).
Note that there could be specific work items for:
1) ah/esp security management (perhaps two specifications)
- access control (allowed network addresses, allowed protocols, etc.)
- audit / alarms
- configuration
- etc.
2) Security for IPSEC Management
it would be nice to decouple security from the security management info
What if IPSEC security management used SNMP over IPSP (aka ah/esp)?...
3) Key Management (we are already working on the real-time exchange
part of this item). There still needs to be additional functionality for
moving keys, managing IKMP, etc. Note that access control mechanisms should
be defined both at the IKMP level and at the netework (ah/esp) level.
At the IKMP level access control could be based on allowed lists of
"identities". A SA would then only be created for an acceptable identity.
Regards,
Paul
_______________________________________________________________________________
Subject: Managing IPSP
Author: uri@watson.ibm.com@INTERNET
Date: 8/21/95 12:41 PM
X-External-Networks: yes
X-Mailer: ELM [version 2.4 PL23]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 282
Hi,
If you think it's worth to work on providing
"manageability" to IPSP, or would like to
participate in WG that will do it - please
send me e-mail. I'm trying to judge the
amount of interest (and participants :-).
--
Regards,
Uri uri@watson.ibm.com
-----------
Xref: Re: IPSP Management Specifications was - Re: Managing IPSP Uri Blumenthal > (ISO11577). There was a complete CMIP MIB developed for NLSP. Some of this > work could be converted to SNMP (just a rough idea for a starting point). > > Note that there could be specific work items for: > > 1) ah/esp security management (perhaps two specifications) > - access control (allowed network addresses, allowed protocols, etc.) > - audit / alarms > - configuration > - etc. Whatever mechanism MIB is arrived at for managing security via IPSC, would transport fairly well into the firewall world. Firewalls are "security gateways" afterall. In May, there a flurry of discussion on about starting a firewall MIB group. Many of the participants (myself included) have little experience with the IETF or SNMP standards process, but we did know one thing: we wanted SNMPv2 security to manage the firewall. Much recent discussion about security in SNMPv2 (please do not follow up anything here -- I'm cross posting) suggests that using IPSEC for SNMP authentication is premature. Similarly, it seems that using SNMPv2 for IPSEC configuration may be a problem :-) A strawman MIB Charter was posted by Howard Berkowitzon May 14th if you are looking through the archives. The strawman firewall MIB is 'fw-snmp' --- ask majordomo@mid.net to add you. :!mcr!: | Milkyway Networks Corporation Michael Richardson | Makers of the Black Hole firewall NCF: aa714 || xx714 | +1 613 566-4574 ... mcr@milkyway.com Home: mcr@sandelman.ocunix.on.ca. PGP key available.
Michael Richardson writes: > Whatever mechanism MIB is arrived at for managing security via IPSC, would > transport fairly well into the firewall world. Firewalls are "security > gateways" afterall. First - it's not "managing *via* IPSP - it's managing IPSP *itself*. Second - I don't think it maps onto firewall world at all. > Much recent discussion about security in SNMPv2 (please do not follow > up anything here -- I'm cross posting) suggests that using IPSEC for SNMP > authentication is premature. Similarly, it seems that using SNMPv2 for IPSEC > configuration may be a problem :-) IPSEC for SNMP auth is wrong, since SNMP is designed to go over many more transports, than IP (or IPSEC). Using SNMP for IPSEC configuration seems perfectly good idea to me. > A strawman MIB Charter was posted by Howard Berkowitzon > May 14th if you are looking through the archives. Thanks for the reference. It will be useful. -- Regards, Uri uri@watson.ibm.com angmar!uri -----------
> First - it's not "managing *via* IPSP - it's managing IPSP *itself*. I realize that. > Second - I don't think it maps onto firewall world at all. Maybe I misunderstand the point: I assume that you want to determine a. when to encrypt --- by source, dest, service. b. when to authenticate --- src,dst,service c. when to accept without ESP, by src,dst,service d. when to accept without AH, by src,dst,service It you can do all of those things, you can have a security gateway. > IPSEC for SNMP auth is wrong, since SNMP is designed to go over many > more transports, than IP (or IPSEC). Using SNMP for IPSEC configuration > seems perfectly good idea to me. I agree about SNMP over IPSEC being wrong. Maybe in couple of weeks the the SNMPv2 proposals will settle down again with a clear security contender. --- you have to use authenticated SNMP for IPSEC configuration. :!mcr!: | Milkyway Networks Corporation Michael Richardson | Makers of the Black Hole firewall NCF: aa714 || xx714 | +1 613 566-4574 ... mcr@milkyway.com Home: mcr@sandelman.ocunix.on.ca. PGP key available.
Xref subject previous In message <9508232116.AA19735@flagstaff.Princeton.EDU>, "David A. Wagner" writ es: >> Also, I'm not a cryptographer and I don't play one on TV, but it >> would seem to me that known nonzero but not really important values are >> probably better than zero values and should not be worse. It would seem >> to me that information of that sort should be stirred into the pot just to >> have some nonzero bits in the stew. > >No. They're not. If the MD5 MAC is found insecure without those extra >ingredients in the pot, it should be thrown away without delay. (And I >want to emphasize that noone has found MD5 MAC to be insecure in that way.) This is a question for the crypto people. >> Some discussion should be given to reserved fields. Currently, I >> believe that reserved fields should be included in the hash for exactly >> the same reason unknown option fields should be. The argument and cases >> is exactly the same. > >You mean, like the reserved field in the AH header? (which *is* >explicity included in the hash) Or did you mean some other reserved >field? Yes. -Craig
Xref: Re: Part Two: IPv4 Options We Can't Handle Karl Fox Xref subject previous Xref subject next In message <9508232111.AA19555@flagstaff.Princeton.EDU>, "David A. Wagner" writ es: >You forgot a few: > > 3. modularity: the AH transform should be a modular protocol. Not so. IPsec reaches its tentacles into a lot of places in any layering model I've seen (in BSD, for instance, we're talking sockets, transport, and network layers). Modularity is a good design ideal, but it's not clear to me that the kind of security guarantees IPsec would like to make can be done without violating layering. > 4. functionality: the current AH spec precludes IP ESP AH .. packets. > (Do you see why?) You can't put optional headers inside an ESP payload without another IP header (giving you tunnel mode). While we can get along without this rule, it ends up making implementations much less complex on the output side. The two valid packets similar to what you have there are IP AH ESP [ULP] and IP ESP [IP AH ULP]. >I think we have here a fundamental disagreement about what data >AH should guarantee the authenticity of. Agreed, as I have said in previous messages. >We agree that AH must guarantee the authenticity of the payload >and the AH header. But we disagree beyond that: I claim that AH >should not (and need not) guarantee the authenticity of the IP >options, at least for IPv4. (More precisely, if a SA demands >authenticity of certain IP options, I believe that the implementation >should encapsulate first, saving those IP options, and then apply >AH to the resulting datagram.) > >I haven't seen any attack on my view of what AH should authenticate, >and I haven't seen any attack on your view. I think they're probably >both secure. So the argument is over issues of modularity, cleanness, >expandability, and functionality -- not over security! There are thousands of real users of IPSO right now who would not agree with your statement that IPv4 options need not be protected. The same security-conscious sites that use IPSO and CIPSO right now are a significant portion of IPsec's potential user base. Failing to deliver on what could be their main requirement for IPsec will NOT make them happy, will NOT cause them to buy into IPsec, and will NOT help IPsec's deployment. To me, IPSO/CIPSO is a harsh market reality that IPsec must face. The good news here is that, because they are invariant [or BETTER BE ;)], protecting them with AH is tractable. -Craig
To Mark Schertler
NSA R23
Mark,
We met at the NSA Techfest. I am working with Jack Wool to identify
to what extent formal security analysis using belief logic could support
the development of security protocols such as the ISAKMP.
I have started reviewing the internet draft from the IPSEC Working Group
on ISAKMP. My initial reaction is that this development would be a good
fit; our methodology can help systematically identify potential avenues
for certain attacks, particularly masquerade and replay, within the protocol.
We do however need more information. Please let us know where we
can obtain a copy of the Karn95 paper:
P. Karn and B. Simpson, "The Photuris Key Management Protocol",
Internet Draft, work in progress, March 1995.
This paper is referenced for information on "cookie" generation.
I will be in touch by telephone as well.
Grace L. Hammonds
AGCS, Inc.
91 Montvale Avenue
Stoneham, MA 02180
Tel. 617-279-2864
Fax. 617-279-2865
Xref subject next
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the Domain Name System Security
Working Group of the IETF.
Title : Domain Name System Security Extensions
Author(s) : D. Eastlake, C. Kaufman
Filename : draft-ietf-dnssec-secext-05.txt
Pages : 41
Date : 08/23/1995
The Domain Name System (DNS) has become a critical operational part of the
Internet infrastructure yet it has no strong security mechanisms to assure
data integrity or authentication. Extensions to the DNS are described that
provide these services to security aware resolvers or applications through
the use of cryptographic digital signatures. These digital signatures are
included in secured zones as resource records. Security can still be
provided even through non-security aware DNS servers in many cases.
The extensions also provide for the storage of authenticated public keys in
the DNS. This storage of keys can support general public key distribution
service as well as DNS security. The stored keys enable security aware
resolvers to learn the authenticating key of zones in addition to keys for
which they are initially configured. Keys associated with DNS names can be
retrieved to support other protocols. Provision is made for a variety of
key types and algorithms.
In addition, the security extensions provide for the optional
authentication of DNS protocol transactions.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-dnssec-secext-05.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-secext-05.txt>draft-ietf-dnssec-secext-05.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-secext-05.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-dnssec-secext-05.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950823133519.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-dnssec-secext-05.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-dnssec-secext-05.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950823133519.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref subject previous
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the Domain Name System Security
Working Group of the IETF.
Title : Domain Name System Security Extensions
Author(s) : D. Eastlake, C. Kaufman
Filename : draft-ietf-dnssec-secext-05.txt
Pages : 41
Date : 08/23/1995
The Domain Name System (DNS) has become a critical operational part of the
Internet infrastructure yet it has no strong security mechanisms to assure
data integrity or authentication. Extensions to the DNS are described that
provide these services to security aware resolvers or applications through
the use of cryptographic digital signatures. These digital signatures are
included in secured zones as resource records. Security can still be
provided even through non-security aware DNS servers in many cases.
The extensions also provide for the storage of authenticated public keys in
the DNS. This storage of keys can support general public key distribution
service as well as DNS security. The stored keys enable security aware
resolvers to learn the authenticating key of zones in addition to keys for
which they are initially configured. Keys associated with DNS names can be
retrieved to support other protocols. Provision is made for a variety of
key types and algorithms.
In addition, the security extensions provide for the optional
authentication of DNS protocol transactions.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-dnssec-secext-05.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-secext-05.txt>draft-ietf-dnssec-secext-05.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-secext-05.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-dnssec-secext-05.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950823133519.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-dnssec-secext-05.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-dnssec-secext-05.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950823133519.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref: Re: SKIP with AH/ESP/etc. Michael Richardson Xref: Re: SKIP with AH/ESP/etc. Germano Caronni Xref subject next Folks, Hilarie Orman has proposed an excellent alternative protocol to integrate SKIP with the AH/ESP protocols which is in many ways superior to what we proposed at the Stockholm SKIP BOF. Since there was clear consensus at the last BOF to make SKIP a standards track protocol, I would like to make sure that there is group consensus on this alternative SKIP protocol header before we publish it in the next revision of the SKIP draft. Hilarie has proposed that we separate SKIP key-mgmt info from transform specific information (e.g. IVs, MACs etc.) and place this in a separate SKIP header that precedes the AH/ESP headers. SKIP would need its own protocol number, and would contain a next header field which would indicate AH or ESP. There are actually other possibilities as well, which I will describe below. A figure (courtesy of Paul Lambert) illustrating this is as follows: > +---------------------------------------------------------+ > | IP Header (Next Header == SKIP) | > +---------------------------------------------------------+ > | SKIP Header with key mgmt data but w/o the | > | transform data (such as IV) and NextHeader=(AH/ESP/etc)| > +---------------------------------------------------------+ > | ESP or AH exactly as per RFC-1825-1829 but with a SPI | > | value that is from the reserved SPI space and is | > | assigned to mean (look at the preceding SKIP header) | > +---------------------------------------------------------+ The big win here is that all of the current proposed standard RFCs 1825-1829 can be used directly with SKIP key-mgmt without making any new protocol transforms specific to SKIP. This includes the DES-CBC and the key-ed MD5 transform as currently specified. Any new transforms defined can be similarly accommodated. This also makes possible the use of SKIP with other protocols that also need keying material, without modifying the protocols themselves. The SKIP nextheader field would simply specify those protocols. Some examples of this are routing protocols that use keyed MD5 (and dont need/use AH for this purpose). (Thanks to Cheryl Madson for pointing out the need/possibility of these other alternatives). Because this is a much cleaner and simpler way to integrate SKIP with AH/ESP (as well as other protocols that may need keying material) I am inclined to adopt Hilarie's suggestion and specify this in the next draft of SKIP (due in a week or so from now). Please let me know if people have strong opinions on this, either for or against. Thanks, Ashar.
Xref subject previous Xref subject next From my understanding of SKIP, the key management info is essentially the bulk encryption key encoded in long term key. I'd rather that stuff stayed with the SKIP data. Or, is there other key mgmt data that SKIP stores? To me, it seems messier, since SKIP gets special processing in an generalized ESP/AH processing system.
SUBSCRIBE bwilmes@primenet.com
Xref subject previous Xref subject next The Last Call period officially ended last week and a new version of the document has been issued with the suggested changes. Since no technical problems have been found with the specification, I'm declaring the working group consensus to be to move the document forward. With this note I'm officially forwarding the document: draft-ietf-dnssec-secext-05.txt as a product of this working group to the Security Area Director to be considered for publication as a Proposed Standard. Jim
Trusted Information Systems is pleased to announce the availability of a secure DNS: TIS/DNSSEC Version 1.1 alpha. It provides integrity and authentication services for DNS resource records using digital signature technology. It is being made available for alpha testing on the following basis. o TIS/DNSSEC is available via anonymous FTP in source code form. All modules have been written in the C programming language and it is known to run on many UNIX-derived operating systems. o This version of TIS/DNSSEC depends on a specialized version of TIS/MOSS, which is currently included in the distribution. The next version will depend exclusively on RSAREF. o This version of TIS/DNSSEC is not available outside the United States or Canada, nor can you give it to anyone who is not a U.S. or Canadian citizen and does not have a U.S. "green card." (These are U.S. State and Commerce Department requirements because of the use of TIS/MOSS. We hope to be able to remove this restriction in a future version.) This version of TIS/DNSSEC is an alpha implementation because it does not implement the entire specification. As soon as we complete the implementation it will be a beta distribution until the code stabilizes. TIS/DNSSEC is a product of Trusted Information Systems that may be used free of charge during the alpha test period. Instructions on how to retrieve TIS/DNSSEC Version 1.1 alpha may be found in the file "/pub/DNSSEC/README" on the host "ftp.tis.com" which may be retrieved via anonymous ftp. If you have any questions or comments please send email to "tisdnssec-support@tis.com".
Xref subject previous
At 13:58 8/25/95, James M Galvin wrote:
>The Last Call period officially ended last week and a new version of the
>document has been issued with the suggested changes.
>
>Since no technical problems have been found with the specification, I'm
>declaring the working group consensus to be to move the document
>forward.
>
>With this note I'm officially forwarding the document:
>
> draft-ietf-dnssec-secext-05.txt
>
>as a product of this working group to the Security Area Director to be
>considered for publication as a Proposed Standard.
OK. I'll review it and get back to you (which shouldn't take too long as I
have already read through it once).
-Jeff
Xref subject next
Call for Papers
For the new journal published in cooperation with the ACM:
WIRELESS NETWORKS
Special Issue: Mobility and Security
Scope:
Mobility introduces a new dimension to the problem of secure computing and
communication. The securing becomes harder and often more important. This is
sometimes due to the mobility of the communication devices, sometimes due
to the mobility of users (without mobile device), or the mobility of objects,
or that of the attackers.
Papers are sought that address the requirements, designs, algorithms and
implementation experience for securing networks, distributed systems,
information, and applications in environments that can support mobility.
Possible topics include, but are not limited to:
Securing communication and distributed systems, such as:
- Internet (TCP/IP, mobile IP, DNS, DHCP)
- ATM
- CDPD
- GSM
- SNA
- Wireless LAN
Cryptographic protocols, such as:
- key distribution
- authentication
- payments
- anonymity and privacy
Cryptographic functions, such as:
- encryption
- message authentication
- message digest
- signatures
Computer viruses and worms
Security for intelligent and mobile objects and agents
Secure electronic commerce
Cryptographic hardware
Security and cryptography for wireless communication systems.
The authors should send 6 copies of their paper to one of the guest
editors by November 15, 1995. The following time-table shall be followed:
Manuscript Submission Deadline: November 15, 1995
Acceptance Notification: May 15, 1996
Final Manuscript Submission Deadline: July 15, 1996
Expected Publication Date: Last Quarter 1996
E-mail submissions are encouraged (post-script only). Set subject
to `Submission to WINET special issue'.
Guest Editors:
Amir Herzberg
IBM T.J. Watson Research Center
P.O. Box 704 #H3-D18
Yorktown Heights, NY 10598
Telephone: (914) 784-6981
Facsimile: (914) 784-6205
Internet: amir@watson.ibm.com
Shay Kutten
IBM T.J. Watson Research Center
P.O. Box 704 #H3-D38
Yorktown Heights, NY 10598
Telephone: (914) 784-7346
Facsimile: (914) 784-6205
Internet: kutten@watson.ibm.com
Xref subject previous
Call for Papers
For the new journal published in cooperation with the ACM:
WIRELESS NETWORKS
Special Issue: Mobility and Security
Scope:
Mobility introduces a new dimension to the problem of secure computing and
communication. The securing becomes harder and often more important. This is
sometimes due to the mobility of the communication devices, sometimes due
to the mobility of users (without mobile device), or the mobility of objects,
or that of the attackers.
Papers are sought that address the requirements, designs, algorithms and
implementation experience for securing networks, distributed systems,
information, and applications in environments that can support mobility.
Possible topics include, but are not limited to:
Securing communication and distributed systems, such as:
- Internet (TCP/IP, mobile IP, DNS, DHCP)
- ATM
- CDPD
- GSM
- SNA
- Wireless LAN
Cryptographic protocols, such as:
- key distribution
- authentication
- payments
- anonymity and privacy
Cryptographic functions, such as:
- encryption
- message authentication
- message digest
- signatures
Computer viruses and worms
Security for intelligent and mobile objects and agents
Secure electronic commerce
Cryptographic hardware
Security and cryptography for wireless communication systems.
The authors should send 6 copies of their paper to one of the guest
editors by November 15, 1995. The following time-table shall be followed:
Manuscript Submission Deadline: November 15, 1995
Acceptance Notification: May 15, 1996
Final Manuscript Submission Deadline: July 15, 1996
Expected Publication Date: Last Quarter 1996
E-mail submissions are encouraged (post-script only). Set subject
to `Submission to WINET special issue'.
Guest Editors:
Amir Herzberg
IBM T.J. Watson Research Center
P.O. Box 704 #H3-D18
Yorktown Heights, NY 10598
Telephone: (914) 784-6981
Facsimile: (914) 784-6205
Internet: amir@watson.ibm.com
Shay Kutten
IBM T.J. Watson Research Center
P.O. Box 704 #H3-D38
Yorktown Heights, NY 10598
Telephone: (914) 784-7346
Facsimile: (914) 784-6205
Internet: kutten@watson.ibm.com
Xref subject previous Ashar Aziz wrote: > Hilarie has proposed that we separate SKIP key-mgmt info > from transform specific information (e.g. IVs, MACs etc.) > and place this in a separate SKIP header that precedes > the AH/ESP headers. SKIP would need its own protocol number, > and would contain a next header field which would indicate > AH or ESP. There are actually other possibilities as well, > which I will describe below. > > Please let me know if people have strong opinions on this, > either for or against. IMHO this is a very valuable idea. The problem so far with SKIP was that it did not fit into the 'security association' philosophy with which AH and ESP are designed. With the proposed changes, SKIP would kind of establish its own security association on a per-packet base, which could then be used by the rest of the packet. Very neat! At the same time the idea does not introduce additional overhead or offline communication. I am looking forward to the new draft ;-) Friendly greetings, Germano Caronni
Xref subject previous Craig Metz writes: > There are thousands of real users of IPSO right now who would not > agree with your statement that IPv4 options need not be protected. The same > security-conscious sites that use IPSO and CIPSO right now are a significant > portion of IPsec's potential user base. Failing to deliver on what could be > their main requirement for IPsec will NOT make them happy, will NOT cause > them to buy into IPsec, and will NOT help IPsec's deployment. > > To me, IPSO/CIPSO is a harsh market reality that IPsec must face. > The good news here is that, because they are invariant [or BETTER BE ;)], > protecting them with AH is tractable. I agree that protecting security options with the AH is desirable, but how do we do it in the face of existing IPv4 routers that reorder options? Sort them before calculating the AH? (only .5 :-)
Xref subject next Routers that arbitrarily reorder IP options are broken. Bill Simpson "educated" me about this issue offline. To the best of my knowledge (including my understanding of Bill's inputs) those routers never included high-volume vendors (e.g. Cisco, Wellfleet/Bay, 3COM) and the software releases that did reorder options are ancient by now. To the best of my understanding, all such routers were derived in part on a single original TCP/IP stack. That original stack has not reordered options for a long while now. I don't think we can or should make any effort to protect AH from such routers. I don't think we should change specs just to make older broken systems conforming. If the IETF started changing specs to accomodate every broken implementation that existed, we'd never make any forward progress at all, IMHO... :-) Ran rja@cs.nrl.navy.mil
Xref: Re: AH & IPv4 options Steve Kent Xref subject previous Xref subject next Routers that arbitrarily reorder IP options are broken. Bill Simpson "educated" me about this issue offline. To the best of my knowledge (including my understanding of Bill's inputs) those routers never included high-volume vendors (e.g. Cisco, Wellfleet/Bay, 3COM) and the software releases that did reorder options are ancient by now. To the best of my understanding, all such routers were derived in part on a single original TCP/IP stack. That original stack has not reordered options for a long while now. I don't think we can or should make any effort to protect AH from such routers. I don't think we should change specs just to make older broken systems conforming. What of routers -- specifically Cisco -- that will add or delete IPSO options? Bill claimed that that's broken, too -- but it certainly exists, and is probably necessary for single-level systems on, say, top secret nets.
Xref subject previous Xref subject next On Aug 28, 11:54, smb@research.att.com wrote: } Subject: Re: AH & IPv4 options % What of routers -- specifically Cisco -- that will add or delete IPSO % options? Bill claimed that that's broken, too -- but it % certainly exists, IPSO mangling is turned OFF in all Cisco routers UNLESS the network admin specifically configures it on. IETF specs can't protect against users who shoot themselves in the foot by misconfiguring their networks and are then surprised when things don't work as expected. Moreover, MOST sites that do anything with IPSO in the first place ONLY apply IPSO filtering (e.g. Cisco's Access Lists) and do NOT mangle the packet by inserting/modifying/deleting IPSO labels. Having some familiarity with sites that currently use IPSO filtering (commonplace in classified networks), I can say that most of those sites desire to authenticate their IPSO options and are uncomfortable with non-authenticatable IPSO options as we have at present. The ability to authenticate IPSO labels is really really important because those labels are used for Mandatory Access Controls. % and is probably necessary for single-level systems on, say, % top secret nets. I disagree with the assertion that IPSO mangling is ever really necessary, based on experience consulting with folks who have classified networks. Moreover, the classified nets don't cross connect with The Internet and their operators DO have complete control over the network configuration so it is straight-forward to reconfigure their routers to disable IPSO mangling if it is currently enabled. Ran rja@cs.nrl.navy.mil
Xref subject previous Xref subject next >What of routers that will add or delete IPSO >options? Bill claimed that that's broken, too -- but it certainly exists, >and is probably necessary for single-level systems on, say, top secret >nets. As a vendor of routers that can be (and routinely are) profiled to add or delete options such as CIPSO, DIN6 or others. Not being able to stamp packets is an inconvenience, not the end of the world. Our filter can be programed that if the protocol is IPSEC, then do not add any labels. That is possible. Specific firewalling instructions for IPSEC will be necessary regardless of the labeling issues... This is not a problem for IP in IP, right? The inner packet is not touched by labeling... ---------------------- James P HughesNetwork Systems Corporation, A Subsidiary of StorageTek. Voice (612)424-1676 FAX (612)391-1821 Key fingerprint = 68 E7 D5 75 3C 88 86 71 D4 34 36 C3 8E DD 48 17
Xref subject previous Steve, Routers have been called upon to add IPSO options for hosts that are unable to generate them, or to delete IPSO for hosts that do not tolerate receipt of these options. Such hosts do not seem likely candidates to be updated to generate AH headers, i.e., they are old IP implementations that were not compliant with option processing in general and/or were unable to generate IPSO. So, I agree with Ran that this is not a big deal. Steve
Xref subject next
I spent the past day visiting NRL in DC with Atkinson and Schertler. We
were unable to come to closure on merging or making Photuris compatible
with ISAKMP.
There were minor changes we could agree upon.
1) Certificate TLVs need an authority field. Some of the certificate
types do not indicate their root inherently, and we need to be able
to choose among roots (for DNS-SIG and X.509). Some places (large
multi-national corporations) will not use or trust the basic DNS
tree. I was not aware of this, and need guidance as to the format.
Bellovin?
2) Expand the LifeTime field to 24 bits. Allows a key to live more
than a day. Seemingly far too long (in my view), but something that
they wouldn't reveal needs longer-lived keys. (I hate the secrecy.)
If you don't think this is much of a compromise, you should know
that the alternative was adding a length field to every timestamp to
allow completely variable time bases (as ISAKMP does). KISS.
3) Expand the Moduli Index cum Group Index to 16 bits. Rename as
Exchange Method (from ISAKMP) or something similar (Scheme?).
As you may recall, this was originally just a simple index for
moduli for modular exponentiation. Then, broadened to indicate the
"group" to allow use by other public-key techniques, such as
elliptical curves.
They claim that there will be thousands of proprietary (government)
key management schemes, which they want to indicate during cookie
exchange. So, we can reserve the first 256 for "well-known" values,
and leave the rest for "proprietary".
Again, I resisted making this a TLV, or having fixed subfields.
Flat numbering should work, as we only will require support for
_one_ value in this field. The others can certainly allocate as
many from their proprietary values as they like, since they will
have to distinguish themselves in some other way.
Also, they want to be able to indicate non-public key techniques.
This seems to violate the very principles of Photuris, which is
designed around public-key exchange.
My first inclination was to agree with Karn on this one. For
other keying variants, use another UDP port and another set of
messages. Trying to shoe-horn extra messages or more variable
values will make the actual key management process nearly impossible
to formally prove or verify.
We are already pushing the edge with variable moduli, variable key
generation method, variable signature methods, and completely
variable final security association attributes. There's 4!/2 (12)
combinations to verify already, assuming we use only D-H, MD5, DES
and PGP RSA as our verification base. It balloons rapidly.
However, Atkinson claims that it would be useful for the same
overall message exchange of security association parameters (what he
calls the SAMP) together with a KDC such as Kerberos. The public
value fields could be replaced with Kerberos tickets or something.
So, I agreed to expand this field to allow the attempt, as long as
we don't waste short term working group time and confusion exploring
the issue. If Ran doesn't actually come out with a Kerberos scheme
in two years, he owes me dinner....
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Folks, Bill Simpson was in town in late August and unexpectedly telephoned me and then dropped by NRL 30 minutes later for a chat about IPv4 options and AH. This discussion largely consisted of Bill "educating" me about things. It turns out that the way one might read LSRR's specification is not the way it has been implemented in most systems that implement it. It has been implemented so that the addresses recorded are NOT the arriving interfaces of the listed intermediate systems but instead the next-hop after leaving each listed intermediate system. This last isn't predictable in the general case. I can see both interpretations in the text of RFC-791, but what matters is what has been implemented. Similarly, SSRR originally lists the inbound address of each intermediate hop but records the outbound address of each intermediate hop (at least in real world implementations). Again, this makes SSRR unpredictable in the general case. RFC-791 does appear to say this upon re-reading, but it is too subtly worded for my taste. This leaves only IPSO/BSO, IPSO/ESO, SATID, NOP and EOL as the only really invariant options. Of these, EOL and NOP don't impact security. The software that Bill has mentioned that did reorder IPv4 options is now ancient and has long been superceded by software releases that do not reorder IPv4 options. None of the major router vendors (by market share) ever used the particular implementation that Bill cited. I believe that implementations that reorder IP options are broken (ignoring security, it is a PAINFUL performance hit) and should be ignored in our mulling things over. Bill, Craig, and I think we have a compromise position on IPv4 AH processing. At least one router vendor that Bill talks with has also agreed that this is reasonable. I am altering the freely distributable NRL implementation to reflect this compromise. The compromise goes like this: Included in AH computation: IP Version IP Header Length Total Length Ident Protocol Source Address Destination Address IPSO/BSO IPSO/ESO CIPSO (Option # available from Assigned Numbers, Option Length should be in the usual place) SATNET ID Zeroed for AH computation: TOS (enough real world routers munge this one that it ought to be excluded even though router munging of this sort really is evil) Frag Offset Flags Field TTL IP-layer Checksum All existing documented IP options other than IPSO/*, CIPSO, and SATNET ID Ran rja@cs.nrl.navy.mil On behalf of Bill, Craig, and Ran...
Xref subject next One of Ran's suggestions that came up in discussion was allocating entire blocks of SPIs (and therefore keys) with the same attributes. It might permit much faster session-key changes under high bandwidth*delay. This is very easy in Photuris, since a change in SPI makes a change in session key. A list of SPIs will have widely variant keys (assuming the mixing function of MD5, SHA, etc, works well). Note that reducing the number of Photuris exchanges reduces the amount of analysis material available, too. After thinking, it seems easiest to make this an attribute: type, length, #SPIs, time By default (no attribute), only one SPI would be generated. Each exchange would allocate some number of SPIs starting with the current one (say, 1000 is the SPI, then <#SPIs> = 100 would allocate 1000-1099), and the next SPI would be used every
Xref subject previous > From: Hilarie Orman> We've been looking at this some, and we feel that Photuris must have > the class identifiers that ISAKMP uses. Did your discussions get around > to this? > We discussed the convoluted/layered class/sets et alia at some length, and we concluded this is more of a implementation command processing issue than a protocol issue. It is much more rational for the implementor to decide which are the few useful combinations of attributes, than to have each user try to configure the correct classes and sets of attributes in each environment. Reduces the number of points of interoperability failure. Phil, Ran and I all deemed that there were too many variable layerings, although Phil is even more conservative than I am on this topic. Experience has shown that this is very difficult for many implementors to handle correctly. As the IP length versus UDP length, PPP packet length versus sum of option lengths, etc, showed us in the past. Therefore, Photuris indicates in the Appendix which attributes are useful for which operations (an addition I made between drafts 00 and 01 at the request of a WG member). Perhaps more text could be provided for implementation notes? I will try to add more detail in the next draft. Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref: Re: replay attacks Steve Kent Xref subject next So how does IPSEC AH defend against replay attacks? (Or has there been an explicit decision to not worry about replays?)
Xref subject previous > One of Ran's suggestions that came up in discussion was allocating > entire blocks of SPIs (and therefore keys) with the same attributes. [...] > Also, these SPIs could be used when a large number of sessions are > needed between 2 hosts, to obscure traffic analysis. The policy > management could choose randomly from the SPI list, obscuring both types > of traffic and number of users. That's a really bad idea unless all the users trust each other. Let Alice be a honest user, and Eve a malicious user on the same host. If the session uses just encryption but not authentication, then Eve can simply replay messages (changing the dest. port) to read destined for Alice. Also smb's cut-and-paste attack might work. (?) Alternatively, Eve can wait till Alice relinquishes her port, bind to it herself, and replay the earlier messages. Finally, the receiving host has no way to authenticate incoming messages -- the dest. host can't determine which user sent it! (Port numbers don't tell the receiver anything: see above.) Mutually suspicious users require distinct keys for each session. In general, I believe a design principle is suggested here: treat incoming messages as coming from a key (or a SPI), not from a host or a user@host!
Xref: Re: replay attacks Craig Metz Xref subject previous Xref subject next David, I submitted a design note that described a range of security facilities that we might offer at the IP layer, in the context of a MIB for these protocols, before the split into AH and ESP was made. It included a replay countermeasure facility. It might be appropriate to revisit that feature and ask whether it has a place in either AH or ESP. In reviewing the documents that were eleveated to RFCs, I observed that sometimes ESP was described as providing only confidentialtiy, someitmes as confidentiality and integrity, and sometimes confidentiality and opitonal integrity. ESP is really just a shell as defined now, with all the "meat" coming in the algorithm/mode- specific documents that are subordinate to the ESP definition. One might argue for a defintion of an ESP sub-type that did provide integrity (and authenticity) so that the definition of AH could be cleaner, i.e., so that AH always covered the IP header and ULPs vs. sometimes covering only the ULPs. This integrity sub-type could provide just the sort of data origin authentication and connectionless integrity that AH provides, and it could have an option for anti-replay. In keeping with the overall IPSEC design philosophy, the option choices would be negotiated during association establishment. Unfortunately, if we follow this course, then we might have a DES-CBC sub-type, a DES-CBC with integrity subtype, a triple-DES CBC w/o integroty subtype, ... I'm afriad that is a natural outgrowth of the current structuring of ESP and its subtypes. I would rather have ESP become a non-trivial payload definition that included these facilities as options, so that the sub-types of ESP really were only algorithm/mode specific, not algorithm, mode, and other features. Perhaps this latter approach can be considered as we gain experience with the current versions of AH and ESP. Steve
Xref subject previous Xref subject next In message <199509082327.AA24179@interlock.ans.net>, Steve Kent writes: >It included a replay countermeasure facility. It might be appropriate >to revisit that feature and ask whether it has a place in either AH or >ESP. I'm not entirely sure that it does, though it might need to. If a packet is authentic, it is authentic no matter how many times you get it so long as it isn't modified. Similarly, if you get an encrypted packet, as long as it decrypts properly, the encryption/decryption is sucessful. I believe that it is intended that ULPs handle replays much as they would handle normal duplicate packets (usually, this will mean just discarding them). > Unfortunately, if we follow this course, then we might have a >DES-CBC sub-type, a DES-CBC with integrity subtype, a triple-DES CBC >w/o integroty subtype, ... I'm afriad that is a natural outgrowth of >the current structuring of ESP and its subtypes. I would rather have >ESP become a non-trivial payload definition that included these >facilities as options, so that the sub-types of ESP really were only >algorithm/mode specific, not algorithm, mode, and other features. >Perhaps this latter approach can be considered as we gain experience >with the current versions of AH and ESP. I think that the current design is an explicit statement that we know that we all have a lot to learn here. We're going to have to implement something and gain experiences with security. Then we can design a better protocol and repeat the process again. -Craig
Xref subject previous Xref subject next In message <199509082327.AA24179@interlock.ans.net>, Steve Kent writes: >It included a replay countermeasure facility. It might be appropriate >to revisit that feature and ask whether it has a place in either AH or >ESP. I'm not entirely sure that it does, though it might need to. If a packet is authentic, it is authentic no matter how many times you get it so long as it isn't modified. Similarly, if you get an encrypted packet, as long as it decrypts properly, the encryption/decryption is sucessful. I believe that it is intended that ULPs handle replays much as they would handle normal duplicate packets (usually, this will mean just discarding them). I thought we settled this in the aftermath of Danvers -- replay protection is vital for secrecy with host-pair keying, because an attacker can bind to the port later on and replay the message. This clearly works for UDP, though TCP sequence numbers make life a bit more difficult. Similarly, a packet may be authentic, but it may be possible to fool a new instantiation of the service. (TCP's sequence number behavior is predicated on the assumed maximum lifetime of a packet bouncing around the net. Malicious reinjection has totally different properties, which invalidate the original assumption.) I originally opposed the sequence numbering in swIPe and the like; these new attacks have persuaded me that I was wrong.
A new version of TIS/DNSSEC is now available. This version is distinguished from the previous version as follows. in sync with bind Beta26 uses RSAREF For information on how to acquire TIS/DNSSEC retrieve the file /pub/DNSSEC/README on the host ftp.tis.com via anonymous FTP. If you have any questions or problems please send a note to tisdnssec-support@tis.com. Enjoy, Jim
Xref subject previous Xref subject next Craig, The AH provide not just an authentication service, but also a connectionless integrity service as well. Replay prevention is a more elaborate integrity service and thus it would not be unreasonable to include it as an option part of AH, consistent with the name of this protocol. Inclusion in ESP of any form of integrity/authenticity features would be both an optimization (less bandwidth than a separate, embedded AH header, and would allow making the defintion of AH more consistent (in terms of what portion of a packet is covered). While I agree that upper layer protocols are nominally good places to provide for a variety of sequencing (and thus anti-replay) integrity services, there are good reasons for providing some of these services in the IPSEC context. I originally argued with Phil when he suggested putting sequence numbers in IPSEC, for the same reasons you cited. However, to the extent that one implements AH/ESP in a router, then it does seem defensible to include anti-replay facilities at that point as a form of denail of serviec countermeasure. This is the same rationale that leads to inclusion of the cookie mechanism in Photuris. More extensive sequencing facilities, e.g., analogous to those of a connection-oriented protocol such as TCP, would be inappropriate, since the IP layer does not provide sequencing. However, a simple anti-replay facility, using a window size negotiated on a per-association basis, would be consistent with IP layer services and also seems amenable to implementation in multi-homed environments. Steve
Bill, I'm not comfortable with the way you have tried to characterise my views on things in your recent notes. You've attributed things to me that I don't really agree with, at least the way you put them. Examples include "blocks of SPIs" which I'm not terribly keen on. I do think it is sensible to grab several keys out of a single D-H exponentiation if possible and cache a few of the keys for later use by those two parties. This permits me to take advantage of locality in which systems my system is talking with if I want to, but I am not sure any spec change is really needed to make this work. Similarly, while I think that it is overkill for ISAKMP to have _both_ attribute lists and attribute sets, I can probably live with either one of those two. I do think we need more flexibility in negotiating SA attributes than I see in the most recent online Photuris draft, but there are also aspects of ISAKMP that I'm not comfortable with (I've sent email to them about those issues). (In general I'd be obliged if you let me speak for myself. :-) Thanks much, Ran rja@cs.nrl.navy.mil
Xref subject previous Xref subject next I had thought that there was consensus at Danvers (particularly after Steve Bellovin outlined his active attack) that we ought to have an ESP transform that combined DES and MD5. If someone is motivated and has the time to write up such a transform for the WG to review and discuss, that would seem useful to me. I would very probably add such a transform to the NRL implementation of ESP once it had undergone review within the WG. As to adding sequence numbers to AH, there remain 16 bits of reserved space in the AH header. Would it be sensible to have a 16 bit sequence number there ? If not, then what do folks think the replay attack detection mechanism should look like ? Ran rja@cs.nrl.navy.mil speaking for himself, not as co-chair... :-)
Xref: Re: replay attacks David A. Wagner Xref subject previous Xref subject next > Date: Wed, 13 Sep 95 08:55:40 EDT > From: atkinson@itd.nrl.navy.mil (Ran Atkinson) > To: ipsec@ans.net > Subject: replay attacks > > As to adding sequence numbers to AH, there remain 16 bits of reserved > space in the AH header. Would it be sensible to have a 16 bit sequence > number there ? If not, then what do folks think the replay attack > detection mechanism should look like ? > > Ran > rja@cs.nrl.navy.mil I would think 16 bits would be insufficient. To avoid replay attacks, I would presume the sequence space should be large enough to handle the round-trip bandwidth-delay product for "worst case" delay and bandwidth. Let us assume the worst combination: reasonably attainable link speeds (300 Mbps) reasonably small packet sizes (1.5 KB) reasonably large round-trip latency (1 s) (tolerated before replay) That results in 300 Mb in transit, or 25000 packets in transit. That's about 1/2 the sequence number space. If bandwidth increases, or if the acceptable replay latency should be larger (2s?, e.g., for radio/satellite?), the space is insufficient. The replay sequence space should be reasonably close to the window-buffer size required e.g., for TCP, measured in packets. Joe
Xref: Re: replay attacks Sean O'Malley Xref: Re: replay attacks Germano Caronni Xref subject previous Xref subject next Hi Ran, I would be willing to write up a privacy+integrity transform based on DES + some flavor of keyed MD5. My sense has been that these goals are best kept architecturally orthogonal (i.e., one would use ESP + AH protection if you expect privacy + authenticity), yet there may be some benefits (e.g., slightly smaller total packet length) if one treats the privacy + authenticity transform as a single composite one. Regarding replay detection: I suggest that, rather than use as a sequence number the 16-bit reserved space of the AH header (which would be a bit spare!) replay detection can be handled by choosing a MAC mechanism which directly provides that service. Indeed a 96-128 bit MAC has ample space to directly incorporate replay detection, and one can "generically" modify any (ordinary) Message Authentication mechanism into a new one which protects against replays. The cost is making the MAC some 32-64 bits longer, say. Phil
Xref: Re: replay attacks Germano Caronni Xref subject previous Xref subject next > > Hi Ran, > > Regarding replay detection: I suggest that, > rather than use as a sequence number the 16-bit reserved space of > the AH header (which would be a bit spare!) replay detection can > be handled by choosing a MAC mechanism which directly provides > that service. Indeed a 96-128 bit MAC has ample space to > directly incorporate replay detection, and one can "generically" > modify any (ordinary) Message Authentication mechanism into a new > one which protects against replays. The cost is making the > MAC some 32-64 bits longer, say. > > > Phil > This sounds like a good idea to me because I no longer have any confidence in the ability of higher level protocols that were designed to weed out accedentally delayed packets to weed out intentionally delayed packets. There are two basic problems you have to worry about: 1. sequence space wrapping 2. brain dead initialization of the sequence number Going to a 64 bit sequence number probably takes care of the first for a while. But remember that the TCP large windows options actually has a 32 bit sequence number combined in an with a 32 bit time stamp which just happends to be accurate enough to weed out old duplicates. This is complex enough that it took me a while to figure out that it would work on accedently delayed packets. I don't what an active atacker could do with it. The real problem though is that every time a machine reboots you are supposed to come up with a random number for the intial sequence number. It is unclear how many TCP's actually do this. Thus you may be able to predict a-prioir what the sequence space will look like after a re-boot. As we all know a good random number is often hard to find especially at boot time. Just to be parinoid I would also like to see any sequence number designed for protection against active attacks be encrypted or otherwise obscured. Putting in the clear in the packet is asking for trouble. Sean O'Malley ps. I used to be in the "its not our job" camp on this issue but enought thought about TCP changed my mind.
> From: Ran Atkinson> Examples include "blocks of SPIs" which I'm not terribly keen on. > I do think it is sensible to grab several keys out of a single > D-H exponentiation if possible and cache a few of the keys for later > use by those two parties. This permits me to take advantage of > locality in which systems my system is talking with if I want to, > but I am not sure any spec change is really needed to make this work. > Fascinating..... You expect the keys to change, and not change the SPIs? You expect to "cache a few of the keys", without telling your peer how many are assigned, and how and when they are used? You expect this magically to happen without changing the spec? I think this is an excellent example of our differences. I am a _practical_ protocol designer. You suggested a feature you wanted to see. I wrote up a protocol mechanism to implement your feature. If nobody implements it, then it will be removed in the Draft Standard. > Similarly, while I think that it is overkill for ISAKMP to have > _both_ attribute lists and attribute sets, I can probably live with > either one of those two. I do think we need more flexibility in > negotiating SA attributes than I see in the most recent online > Photuris draft, but there are also aspects of ISAKMP that I'm > not comfortable with (I've sent email to them about those issues). > We don't need more flexibility, we need less. A few simple features, which everyone implements. Otherwise, we have no interoperability. And if you have suggestions for changes, mail them to the list, not to the authors. That goes for the rest of you, too. Thanks. Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous
Xref subject next
> From: atkinson@itd.nrl.navy.mil (Ran Atkinson)
> I had thought that there was consensus at Danvers (particularly
> after Steve Bellovin outlined his active attack) that we ought to have
> an ESP transform that combined DES and MD5.
I do not agree. It was clear that when ESP algorithms do not provide
interity, then an AH is needed, also.
I have absolutely no interest in a thousand permutations of encryption
and authentication transforms. Separate ESP and AH suit me just fine!
Combining AH and ESP in one header is yet another case of too many cooks
spoil the soup....
Photuris is quite capable of negotiating a single SPI which generates
both AH and ESP headers in every packet, or separate SPIs for each,
however and whenever needed for implementation policy.
> As to adding sequence numbers to AH, there remain 16 bits of reserved
> space in the AH header. Would it be sensible to have a 16 bit sequence
> number there ?
>
Well, swIPe had sequence numbers, and "WG consensus" was to remove them.
Yet another instance where a few good designers were overridden by a
hundred bad ones. The Steves have now admitted they were wrong....
Hopefully, the rest of you will follow.
The next draft of AH should have sequence numbers. I hope that you get
the draft ready soon, Ran.
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous Xref subject next > I would think 16 bits would be insufficient. To avoid replay attacks, > I would presume the sequence space should be large enough to handle > the round-trip bandwidth-delay product for "worst case" delay and > bandwidth. 16 bits is probably insufficient. (unless you plan to always rekey after every 2^16 datagrams!) Basing your sequence number space on bandwidth-delay products is fine for protocols like TCP which ignore adversaries -- but the IPSEC requirements are totally different. With IPSEC, I don't see any way to safely reuse sequence numbers unless you rekey. (If legitimate endpoints are reuseing sequence numbers, then how will they tell if an adversary replays an old packet?) Also, note that you don't need to keep *that* much state in the receiving end if you assume that most IP datagrams don't get reordered significantly. Keep a small amount of state recording the last few sequence numbers received, and a low water mark; when a datagram arrives with sequence number less than the low water mark, drop it; whenever your state table fills up, throw away the smallest few sequence numbers and bump up the low water mark. This will drop a few valid datagrams, but presumably they'll get retransmitted. (Just how *much* state you need is a question for some measurement...)
Xref: Re: replay attacksXref subject previous Xref subject next Phillip Rogaway wrote in the IPSEC mailing list: > [...] replay detection can > be handled by choosing a MAC mechanism which directly provides > that service. Indeed a 96-128 bit MAC has ample space to > directly incorporate replay detection, and one can "generically" > modify any (ordinary) Message Authentication mechanism into a new > one which protects against replays. The cost is making the > MAC some 32-64 bits longer, say. Perhaps there is even no need to make the MAC longer? Using e.g. keyed MD5 or whatever one could place a time stamp with sufficent granularity into the 'key' part of the authenticated data. So the MAC would only be correct if the receiver gets it in the same time-frame. The only drawback I see, is that you can not actually read from the packet for which time-slot it has been produced. Are there other drawbacks I am not aware of? Friendly greetings, Germano
Xref: Re: replay attacks David A. Wagner Xref subject previous Xref subject next Sean O'Malley wrote: > 1. sequence space wrapping > > 2. brain dead initialization of the sequence number > > Going to a 64 bit sequence number probably takes care of the first > for a while. But remember that the TCP large windows options actually > has a 32 bit sequence number combined in an with a 32 bit time > stamp which just happends to be accurate enough to weed out old > duplicates. This is complex enough that it took me a while to > figure out that it would work on accedently delayed packets. > I don't what an active atacker could do with it. I guess that - if the sequence number is itself authenticated - he can do nothing about it. If it's not authenticated, it's not secure against malevolent attacks. Replay protection and authentication are closely coupled. > The real problem though is that every time a machine reboots you are > supposed to come up with a random number for the intial sequence > number. It is unclear how many TCP's actually do this. Thus you may > be able to predict a-prioir what the sequence space will look like > after a re-boot. As we all know a good random number is often hard > to find especially at boot time. Assume that each time the time-part of the sequence number is incremented, the 'counting' part of it is reset to zero. Then interaction of different hosts where one has been reset and the other kept counting will be possible again. AFAIK the TCP sequence numbers are initialized to random values and incremented by 2^16 all .5 seconds. This should hinder unwanted re-splicing of old connections if the same port is being reused for a new one. But I am sure you know this better than I. What I want to say is that we do not have the same problem. Re-splicing an UDP or IP data exchange is okay. And would work if the time-part is not set to a random value but according to 'real' time, and the counting part is reset each time the time part goes up. > Just to be parinoid I would also like to see any sequence number > designed for protection against active attacks be encrypted or > otherwise obscured. Putting in the clear in the packet is asking > for trouble. Definitvely. I am sure authenticating is enough to 'gurantee' it's integrity. I am not so sure about encryption alone. My $0.02 Germano
Xref subject previous Xref subject next >> Date: Wed, 13 Sep 95 08:55:40 EDT >> From: atkinson@itd.nrl.navy.mil (Ran Atkinson) >> To: ipsec@ans.net >> Subject: replay attacks >> >> As to adding sequence numbers to AH, there remain 16 bits of reserved >> space in the AH header. Would it be sensible to have a 16 bit sequence >> number there? Ran, How long do you want to be certain that all the packets are different, so that you will not have to change keys to avoid a cut-and-paste attack? -Rob-
Xref subject previous Xref subject next > Using e.g. keyed MD5 or whatever one could place a time stamp with sufficent > granularity into the 'key' part of the authenticated data. So the MAC would > only be correct if the receiver gets it in the same time-frame. A design decision to use timestamps would have some annoying consequences: * the sender & receiver must synchronize their clocks * all clock code (e.g. NTP) becomes security-critical * attackers can still replay within the allowed time window * the time window must be at least the MSL (~ 2 minutes)
Xref subject previous Xref subject next dawagner@phoenix.Princeton.EDU wrote: > > Using e.g. keyed MD5 or whatever one could place a time stamp with sufficent > > granularity into the 'key' part of the authenticated data. So the MAC would > > only be correct if the receiver gets it in the same time-frame. > > A design decision to use timestamps would have some annoying consequences: > > * the sender & receiver must synchronize their clocks > * all clock code (e.g. NTP) becomes security-critical This is a severe drawback. You are right. Is there another way to achieve reliable sequencing, if you do not use an initial negotiation between the two machines supposed to interact? (If you use initial negotiation you can design a protocol where the two machines exchange the 'delta' of their clocks in a untamperable way - but I guess that is not what we want.) > * attackers can still replay within the allowed time window > * the time window must be at least the MSL (~ 2 minutes) The time window can be choosen rather large, if you combine the timestamp with the sequence number approach. (see my reply to O'Malleys mail) But then again you could not place the sequence number into the 'key' part of the MAC, otherwise the receiver would have to guess it. Germano
Xref subject next We think you might need classes ala ISAKMP to implement Photuris; there are some ambiguities in the spec that would be solved by them. It's possible that we think this only because our reading of Photuris is more general than is intended, but some things are not clear about the negotiation. Here are a couple of questions. Can you use one algorithm for hashing during key exchange, and a different one for the AH algorithm? Can the initiator indicate to the responder that it demands that the responder choose privacy for the responder-initiator ESP? Separately, we've stumbled over an issue in the architecture spec that is reflected in the Photuris draft; it implies that for ESP you can choose auth AND priv. I think it means you can choose one or the other, not both, but we haven't found the clarifying words yet. Can one SA be used for AH and ESP? Your recent message indicate this is so. How does Photuris go about getting keys for the two algorithms?
Xref subject previous Xref subject next Bill, If you reread my recent message on this topic, you'll find that I changed my mind about sequence numbers not based on the rationale put forth by the swipe proponents, but as an anti-replay countermeasure in the context of denial of service attacks. So, yes, I did change my mind, but I did not do so because I "saw the light" in the arguments put forth by the original proponents. There is certainly merit in having an authentication-only protocol at the IP layer, and for having an encryption-only protocol configuration. However, I worry that the current definition for AH is rather schizophrenic in terms of what data is covered by the authenticity/integrity check. It would be much cleaner if AH always covered a whole IP datagram. That argues for a version of ESP that could provide integrity and authenticity for ULP only, in conjunction with encryption. I'd like to see ESP re-defined with a facility for this integrity feature, plus a sequence number feature, both as optional parts of the top-level ESP spec. (While we're at it, let's put in space for an optional IV as well.) Then the ESP variants really would differ only based on algorithms and modes. I think we can still set this up to preserve 32-bit alignment and to take up no more space for encryption-only uses of the protocol. However, when we could now have both an ESP and an embedded AH header (to cover ULP data), we could have just an ESP header with the right features turned on. This would be more space efficient and probably slighter (marginally?) faster to process. It certainly would be easier to explain to people. And, as you suggested, this is all something that is negotiated during security association establishment. Steve
Xref subject previous Xref subject next > [ ... email about using TCP sequence numbers to avoid replays ... ] IMHO TCP sequence numbers are not the right way to avoid replays: * TCP sequence numbers were designed to handle unintended unwanted network errors: they were NOT designed with an adversary in mind * other protocols (e.g. UDP) deserve replay protection too * TCP sequence numbers wrap too quickly (though there are workarounds) > > The real problem though is that every time a machine reboots you are > > supposed to come up with a random number for the intial sequence > > number. It is unclear how many TCP's actually do this. Thus you may > > be able to predict a-prioir what the sequence space will look like > > after a re-boot. IMHO TCP sequence numbers are (mostly) irrelevant. One standard way to avoid replay attacks is to add sequence numbers which never repeat, and are authenticated by the sender. These can be sent in the clear, need not be unpredictable, and can start at 0 or any other convenient value. They can be reset whenever the MAC is rekeyed. There are other solutions (e.g. use unpredictable unauthenticated non-repeating tags, such as the output from a stream cipher); but TCP sequence numbering isn't one of them. > Definitvely. I am sure authenticating is enough to 'gurantee' it's > integrity. I am not so sure about encryption alone. Yes. The protocol designer must ensure the authenticity of IPSEC's sequence numbers; there is no need to keep them confidential. TCP and IPSEC sequence numbers have entirely different security properties, and must satisfy entirely different goals. So here's a discussion question for those who believe in IPSEC sequence numbers: should they be handled in an algorithm-specific way, or should they be a part of the generic AH protocol header? (For certain MACs, e.g. those based on stream ciphers, replays are automatically avoided; yet as far as I know these MACs have not been used in practice much.)
Xref: Re: replay attacks Theodore Ts'o Xref subject previous Xref subject next So here's a discussion question for those who believe in IPSEC sequence numbers: should they be handled in an algorithm-specific way, or should they be a part of the generic AH protocol header? (For certain MACs, e.g. those based on stream ciphers, replays are automatically avoided; yet as far as I know these MACs have not been used in practice much.) As Steve Kent has noted, he and I changed our minds about sequence numbers not because of rationale originally given, but because a new attack was found. That is, the original proposal for sequence numbers in the IPSEC header was to prevent th annoyance of the receiving process or protocol by reinjecting packets. Since that's already a risk the receivers are (or should be) engineered to handle, adding another layer of defense seemed to be redundant. The new threat is different: by proper use of replays, an enemy can subvert the function of the IPSEC header. It is thus *necessary* to have sequence numbering at the IPSEC level. As to whether it should be algorithm-specific or not -- the attacks don't depend on the characteristics of the particular cryptosystem used. This means that any cryptosystem will need the function; to me, that's a good justification for doing it right, in one place. The sequence number must be big enough that no packet using it can be replayed during the lifetime of a key. 32 bits is demonstrably insufficient; if my arithmetic is right, at FDDI speeds such a counter would cycle in just a few hours. 48 bits would suffice, though if line speeds get much above 10 giabits/second we may have to cut our key lifetime a bit.
Xref subject previous Xref subject next From: smb@research.att.com Date: Wed, 13 Sep 95 19:53:05 EDT The sequence number must be big enough that no packet using it can be replayed during the lifetime of a key. 32 bits is demonstrably insufficient; if my arithmetic is right, at FDDI speeds such a counter would cycle in just a few hours. 48 bits would suffice, though if line speeds get much above 10 giabits/second we may have to cut our key lifetime a bit. At the risk of having people who worry about low speed lines run out and lynch me (although I could imagine some creative header compression algorithms could be done if necessary), would it perhaps be a good idea to go to 64 bits for the sequence number? This has the further advantage of keeping things 32-bit aligned, which I thought was something that preferred to do, at least for IPv6. For IPV4, of course, this isn't an issue. - Ted
Xref subject previous Xref subject next The sequence number must be big enough that no packet using it can be replayed during the lifetime of a key. 32 bits is demonstrably insufficient; if my arithmetic is right, at FDDI speeds such a counter would cycle in just a few hours. 48 bits would suffice, though if line speeds get much above 10 giabits/second we may have to cut our key lifetime a bit. At the risk of having people who worry about low speed lines run out and lynch me (although I could imagine some creative header compression algorithms could be done if necessary), would it perhaps be a good idea to go to 64 bits for the sequence number? This has the further advantage of keeping things 32-bit aligned, which I thought was something that preferred to do, at least for IPv6. For IPV4, of course, this isn't an issue. It's certainly reasonable, but I won't comment on that without further analysis. I wanted to bound the size from below; it might be that clever packet layout might find a way to use 48 bits, while 64 would cause another boundary jump. One point I inadvertently omitted from my last message: given my stated preference for an algorithm-independent replay counter, I don't have any objection to a particular algorithm using the counter field for its own purposes, such as the IV. But whether or not that actually works in a given case has to be analyzed for that algorithm, given its own particular characteristics.
Xref subject next I'd like to clarify my questions, based on one response I've received. Can the initiator indicate which transforms it will accept for the K-transforms and which it will accept for the AH transforms? The architecture rfc, as I read it now, through a glass more clearly, indicates that in the case that the ESP transform provides both auth and priv, then two keys must be indicated in the SA. How does Photuris derive the two keys (I know, you don't think ESP should do this, but if it did ...). Can the initiator indicate to the responder that ESP in the resp-init direction is a requirement? Could there be an auth-only transform for ESP?
Xref: Re: Photuris questions Hilarie Orman Xref subject previous Xref subject next > From: Hilarie Orman> We think you might need classes ala ISAKMP to implement Photuris; there are > some ambiguities in the spec that would be solved by them. It's > possible that we think this only because our reading of Photuris is > more general than is intended, but some things are not clear about > the negotiation. > Could you please be more specific? In recent drafts, algorithms which can be used for more than one purpose are indicated by the list in Appendix B. But each such use is clearly distinguished in other specifications. You can't use MD5 for ESP.... That's why the "classes" are utterly unnecessary. The implementor needs to make the decisions, not the user/operator. > Can you use one algorithm for hashing during > key exchange, and a different one for the AH algorithm? Yes. The session-key hash function (Key-Transform) is already separate from the AH algorithm (I/R Transform). And of course, you can add new SPIs at will.... Most folks will use ESP I/R Transforms for the Signature step, and then either use the same SPI-key for both AH and ESP on later traffic, or add a second SPI-key for AH with the key_change, or even a series of SPI-keys for ESP. The I/R Transforms might _only_ be used for running Photuris! Perhaps the word "transform" is over used. I will go through and call things "algorithms", "choices", "features", "methods" and "techniques" instead, and leave "transform" for the AH and ESP packets alone. > Can the > initiator indicate to the responder that it demands that the responder choose > privacy for the responder-initiator ESP? > Huh? All responder->initiator SPIs are chosen BY the initiator from the responder's list of supported attributes. That takes care of "demand". But the responder can simply refuse to support privacy. Photuris was designed to work on all nets including AMPR nets, and they are not allowed to encrypt at all! > Separately, we've stumbled over an issue in the architecture spec that > is reflected in the Photuris draft; it implies that for ESP you can > choose auth AND priv. I think it means you can choose one or the > other, not both, but we haven't found the clarifying words yet. > If you _have_ such an algorithm, you _can_ choose both auth and priv for ESP. However, DES only supports priv. So, you would need both DES and MD5 for your selected attributes. Mix and match: 3DES, SHA, etc.... > Can one SA be used for AH and ESP? Your recent message indicate this is so. Yes. If the attributes listed for a particular SA have both DES and MD5, you would expect arriving packets to have both AH and ESP headers, with the same SPI for both. This is probably not optimal, as others have indicated they prefer separate SPI-keys for AH and ESP. > How does Photuris go about getting keys for the two algorithms? > The session keys are bound to the SPIs. More SPIs means more session keys. Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref: Re: replay attacks Steve Kent Xref subject previous Xref subject next > From: Steve Kent> If you reread my recent message on this topic, you'll find > that I changed my mind about sequence numbers not based on the > rationale put forth by the swipe proponents, but as an anti-replay > countermeasure in the context of denial of service attacks. So, yes, > I did change my mind, but I did not do so because I "saw the light" > in the arguments put forth by the original proponents. > That's certainly odd.... To quote SwIPe: Packet sequence number This field protects against replay attacks and may also be used for synchronization by a stream cipher. It is unique within the context of an endpoint pair (common source/destination address and Policy identifier). It is incremented by one with every packet sent, and initialized whenever the hosts re-negotiate keys and/or policies. The hosts MUST renegotiate crypto variables before the packet sequence number wraps around. A host MUST NOT accept duplicate packets; this may be achieved by only accepting packets which increment the sequence number, or maintaining a small window of acceptable packet numbers. Seems to me that was the _main_ rationale; perhaps you just forgot. > ... I worry that the current definition for AH is > rather schizophrenic in terms of what data is covered by the > authenticity/integrity check. It would be much cleaner if AH always > covered a whole IP datagram. Huh? It _does_ always cover the whole datagram! Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref: Re: Photuris, once more Hilarie Orman Xref subject previous Xref subject next > From: Hilarie Orman> Can the initiator indicate which transforms it will accept for the K-transforms > and which it will accept for the AH transforms? > The initiator indicates the transforms which it can handle. Some of these transforms can be used for key hashing, some can be used for AH, some for both, as indicated in Appendix B. The responder chooses the key transform from the list of functions. If the responder wants an AH, the responder separately chooses an AH transform as well. The initiator does not restrict transforms on its own. The initiator must implement the functions as defined in the Photuris specification. Such restrictions are made _now_, after careful community examination and testing, not willy-nilly by clueless operators. > The architecture rfc, as I read it now, through a glass more clearly, > indicates that in the case that the ESP transform provides both auth and priv, > then two keys must be indicated in the SA. How does Photuris derive > the two keys (I know, you don't think ESP should do this, but if it did ...). > Well, as none exists now, when you define an ESP transform which _does_ do this, you will also need to define how its keys are derived. Photuris can supply rather a large amount of keying material, depending on the key-transform chosen. > Can the initiator indicate to the responder that ESP in the resp-init direction > is a requirement? > As specified, the initiator chooses the transforms which will be used for SPIs in the incoming direction. If it always wants ESP to be used, it will always specify a transform which can only be used with ESP. These transforms are described in separate drafts, and are outside the scope of Photuris. But its peer chooses which SPI (among many) to use, or whether to use a SPI at all.... This is rather a fundamental principle of the Security Architecture, and is already mentioned in the "Attributes" section. > Could there be an auth-only transform for ESP? > Seems rather a non-sequitor to me, as this has nothing to do with Photuris. ESP defines an "opaque" payload. If you have an auth-only transform which provides opacity, then I guess we'll take it up when you write the draft describing it.... Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous Xref subject next Each party selects an authentication function from the list of mechanisms supported by the other party. Authentication policy is in the receiver direction. Only the receiver can determine that arriving traffic is authentic. It indicates its need for authentication by including authentication transforms, and/or authenticated encryption transforms, in its transform list. How does the initiator indicate that it wants MD5 as a K-transform and does not want AH from the responder?
Could you kindly add me to your mailing list. Thanks, --Naganand ---------------------------------------------------------------- naganand@ftp.com Tel #: (508)659-6743 (O)
Xref subject previous Xref subject next > > Can the > > initiator indicate to the responder that it demands that the responder choose > > privacy for the responder-initiator ESP? > > > Huh? All responder->initiator SPIs are chosen BY the initiator from the > responder's list of supported attributes. That takes care of "demand". No, not really. The initiator must indicate it supports at least one hash method, and the responder is free to choose this with AH as its corresponding security association, without being aware that the initiator expects, desires, frantically demands ESP in return. > But the responder can simply refuse to support privacy. Photuris was > designed to work on all nets including AMPR nets, and they are not allowed > to encrypt at all! If the responder refuses to accede to the expectations of the initiator, it would be nice for the two of them to part with mutual understanding of the cause of their estrangement. In the current situation, the responder would be baffled if the exchange terminated abnormally.
Xref subject previous > From: Hilarie Orman> Each party selects an authentication function from the list of > mechanisms supported by the other party. Authentication policy is in > the receiver direction. Only the receiver can determine that > arriving traffic is authentic. It indicates its need for > authentication by including authentication transforms, and/or > authenticated encryption transforms, in its transform list. > > How does the initiator indicate that it wants MD5 as a K-transform and > does not want AH from the responder? > Hmmm, have you read the latest draft? You are using earlier terms.... Don't bother now, I'll have a new one out by Monday. First, the exchange of packets is not a "negotiation". It is a statement of capabilities. If the initiator supports MD5, and the responder picks it, then that's just the way it is! Assume the responder makes an MD5 SPI, but the initiator merely put the MD5 in its attribute list to use for a Key-Transform. The responder also made a SHA SPI. There is no reason the initiator cannot just use the SHA SPI for sending traffic, ignoring the MD5 SPI. But, as the quoted text already states, if the responder made only a MD5 SPI and the initiator ignored it, sending without an AH at all, then the responder just tosses it into the bit-bucket! Second, the responder picks the Key-Transform, not the initiator. 4.2. Key_Response +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Reserved | Responder-LifeTime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Responder-Transform | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Key-Transform | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Key-Transform variable. Although the field is depicted as 32-bits for convenience, the size may be shorter or longer, as indicated by its Length field. A cryptographic hash function is selected by the Responder from the intersection of the two lists of Attributes, and is used to calculate the session- key. This transform is not necessarily the same as either SPI Transform in use. Note, the responder can only pick a Key-Transform that both parties support. I had the responder pick, since I assume that the initiator is a more likely attacker. Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref: Re: Photuris questions Bill Sommerfeld Xref subject previous Xref subject next > From: Hilarie Orman> No, not really. The initiator must indicate it supports at least one > hash method, and the responder is free to choose this with AH as its > corresponding security association, without being aware that the > initiator expects, desires, frantically demands ESP in return. > How can it frantically "demand" ESP when the peer doesn't support it? > If the responder refuses to accede to the expectations of the initiator, > it would be nice for the two of them to part with mutual understanding of > the cause of their estrangement. In the current situation, the responder > would be baffled if the exchange terminated abnormally. > Ahhh, you want another Photuris error message! Good idea! Why didn't you say so in the first place? Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref: Re: Photuris questions Hilarie Orman Xref subject previous Xref subject next -----BEGIN PGP SIGNED MESSAGE----- content-type: text/plain; charset=us-ascii > From: Hilarie Orman> No, not really. The initiator must indicate it supports at least one > hash method, and the responder is free to choose this with AH as its > corresponding security association, without being aware that the > initiator expects, desires, frantically demands ESP in return. > How can it frantically "demand" ESP when the peer doesn't support it? What about the case where each host supports ESP, but only wants to use it some of the time, for *some* of the SA's between each host? I can see cases where: a) the initiator wants to use ESP, and wants the responder to use ESP, (client initiates connection to server and wants encryption) b) the responder wants to use ESP, and wants the initiator to use ESP. (the connection above is sitting idle; the SA's have all expired; the server generates some output, and needs to reestablish the SA with the client) a) the initiator would prefer to avoid using ESP, and the responder doesn't care b) the responder would prefer to avoid using ESP, and the initiator doesn't care. - Bill -----BEGIN PGP SIGNATURE----- Version: 2.6.1 iQCVAwUBMFmhSlpj/0M1dMJ/AQFVCQP9EsDcH+r9tr7m0G80YHS05fYoPaICCP/R BoWrxunrjVVb9uyVNr/JNy1X8KMfdzPUelzCrNQ85IvOWRi5FP/8dtoCu1mo22JX Q6eBdodkhHlLLps+FgEcL+3r3niIZeBL9/qRFf1O0Hg0wP95FGpHcog00H/GGfty xNX2/TikKKs= =XeM8 -----END PGP SIGNATURE-----
Xref subject previous Xref subject next Bill, Thanks for the reminder from the written swipe I-D, but note that the mention of replay attacks here is orthogonal to my notion of the RATIONALE for sequencing. As I recall, the anti-replay feature was represented in the verbal presentations as supporting UDP and TCP implementations in dealing with replay attacks. I was not persuaded by this argument, in part because of the layering violation implications. However, anti-replay measures also serve a purpose in dealing with denial of service attacks, especially when the measures are implemented at the permieter, e.g., in a "security router." Thus, this mechanism may be argued for based on different rationales and people may reasonably support or reject the proposal based not just on the mechanism but also on the rationale provided. As for the quesition of what portion of a packet is covered by AH, let me quite from section 4.3 of the ESP I-D (a discussion of authentication in both transport mode and tunnel modes): " ... There are two different approaches to using the Authentication Header with ESP, depending on which data is to be authenticated. The location of the Authentication Header makes it clear which set of data is being authenticated." " ... if the data encapsulated by ESP were less than an entire IP datagram, then the IP Authentication Header would be placed as the first header inside the encrypted ESP payload and would be calculated across the data encrypted by ESP." This would suggest that the data covered by the AH differs, depending on where AH appears. It is also confusing that this discussion of what data is covered by AH appears not in the AH spec, or in the architecture spec, but in the ESP spec. I'd like to see us evolve the specs to remove this dual mode usage of AH and focus, instead on providing (optional) integrity and authenticity services within ESP. Steve
Xref: Re: going forward Steve Kent Xref subject next > From: Steve Kent> ... written swipe I-D, ... verbal presentations ... > people may reasonably support or reject the proposal based not just on > the mechanism but also on the rationale provided. > Fine, at least you belatedly came to the same conclusion. I simply read the I-D, and what they wrote made sense to me. Some people just take more lengthy explainations. > This would suggest that the data covered by the AH differs, depending > on where AH appears. Of course. This was discussed at some length, on several lists. Very clean approach, easily implementable. Sorry you missed it before. Water under the bridge. > It is also confusing that this discussion of > what data is covered by AH appears not in the AH spec, or in the > architecture spec, but in the ESP spec. Yeah, architecture would have been better. Draft Standard would be a good time to raise this issue again. > I'd like to see us evolve the > specs to remove this dual mode usage of AH and focus, Let's not. Complicates the protocol. Headers should just be processed as they come. > instead on > providing (optional) integrity and authenticity services within ESP. > This WG went down that all-things-to-all-people rat-hole for 3 years. Waste of time. We've made our decisions. Unless there is a demonstrable security hole, impossible to fix with a simple implementation note, let's move on. And how is _your_ AH and ESP implementation coming? Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref: Re: Photuris questions Angelos D. Keromytis Xref: Re: Photuris questions Angelos D. Keromytis Xref subject previous Xref subject next The initiator cannot indicate that it is willing to use MD5 or SHA for the key hash but will only use SHA for the security association. Is this a deliberate design decision? As Bill Sommerfield points out, the responder can choose AH even if it is capable of supporting ESP. The initiator should be able to indicate early on that this will not be acceptable. The initiator might be capable of supporting ESP, but chooses AH; possibly the responder should be able to indicate to the responder "although you seem to be capable of supporting ESP, you aren't using it, please do so."
Xref subject previous Xref subject next In message <199509160143.AA36361@interlock.ans.net>, Hilarie Orman writes: >The initiator cannot indicate that it is willing to use MD5 or SHA for >the key hash but will only use SHA for the security association. >Is this a deliberate design decision? > There is also another problem: since a K-transform HAS to be in the list of transforms sent in the COOKIE_RESPONSE/KEY_REQUEST packets, the remote can't distinguish mere inclusion of it as a K-transform or as a request to use authentication. So it'll always try to use authentication (when the algorithms are supported of course). -Angelos
Xref subject previous Xref subject next In message <199509160143.AA36361@interlock.ans.net>, Hilarie Orman writes: >The initiator cannot indicate that it is willing to use MD5 or SHA for >the key hash but will only use SHA for the security association. >Is this a deliberate design decision? > There is also another problem: since a K-transform HAS to be in the list of transforms sent in the COOKIE_RESPONSE/KEY_REQUEST packets, the remote can't distinguish mere inclusion of it as a K-transform or as a request to use authentication. So it'll always try to use authentication (when the algorithms are supported of course). -Angelos
Xref: Re: Photuris questions Hilarie Orman Xref subject previous Xref subject next > From: Hilarie Orman> The initiator cannot indicate that it is willing to use MD5 or SHA for > the key hash but will only use SHA for the security association. > Is this a deliberate design decision? > Yes, it is. For one thing, since MD5 is required to be supported, while SHA is not, no initiator will _EVER_ be able to to "indicate" any such thing. Perhaps you used a poor example? A major purpose of Photuris is to _eliminate_ user configuration and allow scaling to millions of interconnections. Rather pointless to have to user configure the thing which is designed to eliminate user configuration. If you have a user situation where configuration to use SHA is required, then of course you have to fall back to user configuration. User configuration is required to be supported (see Security Architecture). But this has nothing to do with Photuris. In summary, please get out of the "user configuration" mind-set. Think automated. Think implementable. Think interoperable. > As Bill Sommerfield points out, the responder can choose AH even if it > is capable of supporting ESP. The initiator should be able to > indicate early on that this will not be acceptable. The initiator > might be capable of supporting ESP, but chooses AH; possibly the > responder should be able to indicate to the responder "although you > seem to be capable of supporting ESP, you aren't using it, please do so." > Maybe you missed "authentication policy is in the receiver, encryption policy is in the sender"? Perhaps you are confused by the fact that the initiator and responder can each both send and receive? Let's use "sender" and "receiver" in the remaining discussion. If the sender isn't sending anything encrypted, then it will only use AH headers. No matter that the receiver is capable of receiving ESP. This is axiomatic, not theoretic. And not specific to Photuris. However, as you previously requested, if the sender _needs_ to send encrypted material, and the receiver hasn't indicated that it can receive encrypting transforms by generating a SPI with such attributes, then there is a Photuris error message that indicates this to the peer (#4). Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref: Re: MDx signatures Angelos D. Keromytis Xref subject next I've come to the conclusion that the implementors list is a mistake, since virtually all the questions there are about protocol design (specifically Photuris) rather than arranging for interoperation testing of AH and ESP. > Date: Sat, 16 Sep 1995 10:31:50 +0300 > From: "Angelos D. Keromytis"> > Since the MDx attributes will be included everywhere, i think every > implementation should support signatures using them. Should the draft > make them a requirement ? > Only MD5 will be included everywhere, and although many folks are using them for initial testing, I think that we should not make them mandatory as a signature function, but instead specify PGP instead. Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref: Re: Photuris questions Angelos D. Keromytis Xref subject previous Xref subject next > From: "Angelos D. Keromytis"> There is also another problem: since a K-transform HAS to be in the > list of transforms sent in the COOKIE_RESPONSE/KEY_REQUEST packets, the > remote can't distinguish mere inclusion of it as a K-transform or as a request > to use authentication. So it'll always try to use authentication (when the > algorithms are supported of course). > Clearly, the language needs further clarification, as I know that you are implementing, and that you are not a native English speaker. It is very important that the spec can be easily implemented directly from the language, particularly with our US international export problem (can't just export the source). I will shorten the paragraphs and wording, and add a note there. Further suggestions for text are welcomed. Yes, a hashing algorithm _HAS_ to be supported. Indeed, every implementation MUST support MD5! It may be used for either/both K-Transform and I/R-Transform. However, the authentication policy is in the receiver. Therefore, even though the Initiator MUST list MD5 in its attributes, and the Responder might choose MD5 for the K-Transform, there is no requirement that it choose _anything_ for authentication, unless it _wants_ authentication! ---- Selection among several different attributes is needed to enable future implementation changes without affecting the basic protocol. Each party specifies a list of the attributes supported. The attribute list includes authentication, compression, encryption and signature types. These are mixed in the same list for simplicity. The implementation can easily distinguish between the separate uses of each supported attribute, as indicated in the "Attribute List" Appendix. This is not a "negotiation". The sender indicates the attributes that it supports, and the receiver selects from that list. Each party may select an authentication function from the list of mechanisms supported by the other party. Authentication policy is in the receiver direction. Only the receiver can determine that arriving traffic is authentic. It indicates its need for authentication by choosing authentication attributes, and/or authenticated encryption attributes, when creating each SPI. It enforces the authentication through the simple expedient of dropping all datagrams that don't arrive with authentication. Each party may additionally select an encryption mode, from the list of mechanisms supported by the other party. Encryption policy is in the transmitter direction. Only the sender knows whether each datagram needs privacy protection, and it uses an encryption SPI created by the receiver, in addition to an authentication SPI (as needed). In the case that the sender needs privacy protection for a datagram, and its peer (the receiver) has not yet created an encryption SPI, an Error_Message listing encryption attributes is sent to the peer, and the datagram is silently discarded. Implementation Notes: Support for some attributes is required (MD5 and DES-CBC), and MUST be present in every Offered-Attributes list. It is not required that a Security Association be created including every such attribute. The authentication, compression, encryption and signature mechanisms, as well as the encapsulation mode (if any), need not be the same in both directions. Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous In message <199509161716.AA56369@interlock.ans.net>, "William Allen Simpson" wr ites: >Only MD5 will be included everywhere, and although many folks are using >them for initial testing, I think that we should not make them mandatory >as a signature function, but instead specify PGP instead. > Still, it might be a "quick and dirty" way to setup a secure communications path...the down side is that ppl might go around using only this and avoid the stronger authentication forms, but i know i'd like to have the ability to do this. -Angelos
Xref subject previous Xref subject next In message <199509161716.AA16427@interlock.ans.net>, "William Allen Simpson" wr ites: > >Yes, a hashing algorithm _HAS_ to be supported. Indeed, every >implementation MUST support MD5! It may be used for either/both >K-Transform and I/R-Transform. > So far so good. >However, the authentication policy is in the receiver. Therefore, even >though the Initiator MUST list MD5 in its attributes, and the Responder >might choose MD5 for the K-Transform, there is no requirement that it >choose _anything_ for authentication, unless it _wants_ authentication! > Understood. I don't know whether this might present a problem when the Initiator supports the K-transform function of an algorithm (ie. MD5), but not the I/R side of it; for example, i might want to use SHA as a K-transform, but my AH code doesn't support it; i couldn't send the SHA attribute since the remote might just support it as an I/R transform and try to use it as an authentication method (assuming he wants to do authentication). In short, it would be nice to be able to support subfunctions of an an attribute (i think this only happens with hash algorithms ?). -Angelos
Xref: Re: Photuris questions Angelos D. Keromytis Xref subject previous Xref subject next > From: "Angelos D. Keromytis"> Understood. I don't know whether this might present a problem when the > Initiator supports the K-transform function of an algorithm (ie. MD5), but > not the I/R side of it; I can't tell whether you are serious or just blowing smoke. There is no provision in Photuris for implementing just one of several functions for which an attribute can be used. The functions that must be implemented are clearly indicated for MD5, and hopefully will be just as clearly indicated for other algorithms as they are defined. This is not an onerous problem, as we are talking about 6 lines of code, in the case of K-transforms. The I/R is already required by RFC-1828. There simply won't _be_ any implementations that don't support it. KISS. Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous Xref subject next In message <199509171319.AA09982@interlock.ans.net>, "William Allen Simpson" wr ites: >> From: "Angelos D. Keromytis">> Understood. I don't know whether this might present a problem when the >> Initiator supports the K-transform function of an algorithm (ie. MD5), but >> not the I/R side of it; > >I can't tell whether you are serious or just blowing smoke. There is no >provision in Photuris for implementing just one of several functions for >which an attribute can be used. The functions that must be implemented >are clearly indicated for MD5, and hopefully will be just as clearly >indicated for other algorithms as they are defined. > >This is not an onerous problem, as we are talking about 6 lines of code, >in the case of K-transforms. The I/R is already required by RFC-1828. >There simply won't _be_ any implementations that don't support it. > >KISS. > >Bill.Simpson@um.cc.umich.edu > Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2 Some style there. No problem supporting all functions of MD5, but if i'm required to, mention it in the draft; there's no indication that the signature algorithm HAS to be implemented. -Angelos
Xref subject previous Xref subject next The error message I'd like to recommend is for the case where one side says to the other "I really wanted you to establish an ESP SA for sending stuff to me; you chose not to, I'm displeased." If both AH and ESP are indicated by one SPI, then how are the keys for the two modes assigned? Are there two separate keys? If the number of bits required for supporting all the underlying algorithms exceeds the number that Photuris can safely deliver, is there an error message to that effect? If all the algorithms must have independent keys, this situation can occur under realistic scenarios.
Xref subject previous Xref subject next Bill, It's good of you to be so polite in waiting for the rest of us to catch up, even if catching up means that we have to find other rationales for mechanisms that were poorly argued for the first time around. By the way, my recommendation for including sequence numbers goes back to eraly this year, or late 1994, in a lengthy message that received no responses. So don't discuss this as though I made the recommendation (with a different rationale) only recently. As for your comments re AH, you seem to have a short term memory problem. My message pointed out the two different data regions cofered by AH and your response was a resounding "huh?" So, I quoted the basis for my comment, only to have you respond with a "Oh, sure, what's wrong with that" rejoinder. I'm not the only member of this list to suggest that the specs could be improved by this change. While you are right that it would have been preferable to make a chaneg like this prior to publication of the RFCs, my comments one the I-Ds arrived about a week too late for that. As for my the progress of "my" implementation, well, I don't write code so there is no progress to report on that front. I'm one of the folks who still believes that its better to analyze the specs and get them right, using implementation experience to refine them, rather than letting implementation experience drive the specs. So, each of us has a way to contribute to the specification process. Steve
Xref: Re: Photuris questions Mike Roe Xref subject previous Xref subject next > From: Hilarie Orman> The error message I'd like to recommend is for the case where one side says > to the other "I really wanted you to establish an ESP SA for sending > stuff to me; you chose not to, I'm displeased." > You seem confused. Since _I_ establish the ESP SA for sending stuff to _me_, this would be a pointless error message. Remember, SPIs are Destination oriented. I did add a message for when I want to _send_ ESP, and _you_ didn't establish an ESP SA. That's the correct direction. That's how I had interpreted your suggestion, which is a very good idea. > If both AH and ESP are indicated by one SPI, then how are the keys for > the two modes assigned? Are there two separate keys? > The same key bitstuff is reused. There are two separate session-keys only when two separate SPIs. SPI => session-key, remember? Note that specifically using MD5 and DES, there will be two slightly different keys anyway, since MD5 uses the entire generated key, while DES uses only the first 64-bits and inserts parity. But they are obviously algorithmically derived. I added more explicit keying instructions long ago. The new draft should be coming to a directory near you Real Soon Now, after Phil and I go over the new text today. But, since you have been so helpful in the past, I'll quickly send you a private copy for review. Particularly as I have some questions on the text and references that you sent previously. > If the number of bits required for supporting all the underlying algorithms > exceeds the number that Photuris can safely deliver, is there an error > message to that effect? If all the algorithms must have independent keys, > this situation can occur under realistic scenarios. > Huh? Safely deliver? Sounds like you are getting theoretical on me again. I certainly don't have an algorithm for "safeness" of bits! The implementation just has to be smart enough that when MD5 delivers 128-bits, it can't pick an algorithm that requires a key of more than 128-bits. DES will always be implemented, so no problem there (56-bits). Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous Xref subject next > From: "Angelos D. Keromytis"> Some style there. No problem supporting all functions of MD5, but if i'm > required to, mention it in the draft; there's no indication that the > signature algorithm HAS to be implemented. > Aaarrrggghhh! That's what those little x spots mean. I will add a line saying "x feature must be supported". Thanks for bringing it up; have to eliminate these little points of confusion.... Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous At 08:51 PM 9/13/95 -0400, Theodore Ts'o wrote: > From: smb@research.att.com > Date: Wed, 13 Sep 95 19:53:05 EDT > > The sequence number must be big enough that no packet using it can > be replayed during the lifetime of a key. 32 bits is demonstrably > insufficient; if my arithmetic is right, at FDDI speeds such a counter > would cycle in just a few hours. 48 bits would suffice, though if > line speeds get much above 10 giabits/second we may have to cut our > key lifetime a bit. > >At the risk of having people who worry about low speed lines run out and >lynch me (although I could imagine some creative header compression >algorithms could be done if necessary), would it perhaps be a good idea >to go to 64 bits for the sequence number? This has the further >advantage of keeping things 32-bit aligned, which I thought was >something that preferred to do, at least for IPv6. For IPV4, of course, >this isn't an issue. Can I again make a plea for an ESP + AH + Compression Transform????? This will be critical in support of IPSP for dialup users. This could transform (pun intended) the nature of corporate remote connectivity! Even if you have to go with a patented compression. Seems like they are all patented. Put the necessary wording in the document. Just get it done, please???? Hope to see you all at Dallas. Robert Moskowitz Chrysler Corporation (810) 758-8212
Xref subject next > > > If both AH and ESP are indicated by one SPI, then how are the keys for > > the two modes assigned? Are there two separate keys? > > > The same key bitstuff is reused. There are two separate session-keys > only when two separate SPIs. SPI => session-key, remember? > > Note that specifically using MD5 and DES, there will be two slightly > different keys anyway, since MD5 uses the entire generated key, while > DES uses only the first 64-bits and inserts parity. But they are > obviously algorithmically derived. > "Slightly different keys" for different algorithms is not enough!!! Such keys have to be "independent and random". In particular, knowing one of the keys (e.g., for DES) should leak nothing about the other key (e.g., for keyed-MD5). [Example: assume your 56 bits of DES are a prefix of the 128 bits of MD5. Then exhaustive search of MD5 key is reduced from 2^128 to 2^72 by just attacking the DES key in 2^56 steps, and then recovering the additional 72 bits of MD5 in 2^72. The latter seems as an unrealistic number, however potential slight weaknesses of keyed-MD5 may take a big advantage of this 128 to 72 bits security reduction. Moreover, a not-impossible future "total breaking" of MD5 (say, requiring 2^32 steps to find the key) will reduce the securtiy of your encryption to 2^32.] One way to derive different keys for different algorithms from a single session key SK is to use a keyed-hash function (more precisely, a pseudorandom function) that uses SK as the key and an "algorithm identifier" as argument. For example, if DES is assigned identifier '01234567' and keyed-MD5 identifier '98765432', then DES-KEY = 56 bits of HASH(SK, '01234567') MD5-KEY = 128 bits of HASH(SK, '98765432') The algorithm identifiers are the standard code assigned to the algorithm and used, e.g., in the attributes list. These HASH function can have a variable output size, corresponding to different key lengths for different algorithms. This keyed-hash function HASH (should be called "pseudorandom") is also an atribute to appear in the attributes list. One has to be chosen as default. Hugo
Xref subject previous Xref subject next > > If both AH and ESP are indicated by one SPI, then how are the keys for > > the two modes assigned? Are there two separate keys? > > > The same key bitstuff is reused. There are two separate session-keys > only when two separate SPIs. SPI => session-key, remember? Re-using the same key with two different algorithms (or the same algorithm in two different modes) is a really bad thing to do: - If the same key is used in two modes, there often attacks when one mode is used to break the other (particularly if one mode is a confidentiality mode and the other is an authentication mode), - If the same key is used with two algorithms, one algorithm can be used to break the other. Suppose I'm using RC4-40 for ESP confidentiality (which, for the sake of argument, imagine I don't care too much about) and a DES MAC for AH integrity (which I do care about). An attacker can break the RC4-40 by exhaustive search, and then use their new-found knowlege of 40 bits of the DES key to break the DES key by exhaustive search too. This would be bad. If multiple use of the same key is to be permitted at all, the specification should contain some warning about why you shouldn;t do it. Mike
Xref subject previous
> "Slightly different keys" for different algorithms is not enough!!!
>
> Such keys have to be "independent and random". In particular, knowing
> One of the keys (e.g., for DES) should leak nothing about the other key
> (e.g., for keyed-MD5).
Hugo is, of course, absolutely right.
Performing key separation is essential; in its absence, the architecture
should not claim to be transform non-specific.
I have earlier tried (unsuccessfully) to draw attention to this gap.
Perhaps Hugo's note will be more successful.
...
> Have you ignored key separation? It wasn't clear to me if you expect
> key separation to be done by the key-distribution mechanism or within
> the various AH and ESP mechanisms. In the first case this is an
> architectural requirement which you are effectively levying on the key
> distribution mechanism, so you should say so; in the second case, you
> are levying this requirement on each MAC and encryption mechanism, and
> you should say that.
>
> Eg: Suppose you distribute a session key for A-->B and you use this
> SAME session key for DES-CBC-MAC authentication and DES-CBC encryption
> (in an AH and ESP mechanism, respectively). Then clearly the
> encryption mechanism destroys the authenticity you thought you were
> getting from the authentication mechanism. There are two outs: the
> architecture specifies that distinct session key distributions are
> used for each mechanism; or else the architecture lets mechanisms
> share distributed keys, but each mechanism is expected to produce and
> act using its own key variant, said key variants not being related to
> one another by any efficiently-computable means.
...
> Key separation is very important. A failure to perform proper key
> separation will almost certainly cause security "interaction" problems
> if the set of supported MAC and encryption mechanisms becomes
> reasonably populated. If the architecture document doesn't mandate
> who does this, no one will do it.
>
2/16/95
e-mail to Atkinson et. al.
Xref subject previous Xref subject next > From: Steve Kent> It's good of you to be so polite in waiting for the rest of us > to catch up, I seem to remember that you are a former IAB member, and heavily involved in internet security discussions. As a consequence, it rather surprises me that you have any need to "catch up" on developments and designs that are 3-5 years (or more) old. > As for your comments re AH, you seem to have a short term > memory problem. My message pointed out the two different data regions > cofered by AH and your response was a resounding "huh?" Because there aren't two data regions. > So, I quoted > the basis for my comment, only to have you respond with a "Oh, sure, > what's wrong with that" rejoinder. You quoted a part of the draft that requires the implementor to cover the data that s/he has available, and is rather more explicit than usual about what that data needs to be. If the AH follows an IP header, wherever the IP header happens to be (inside or outside ESP), it covers the IP header and any other subsequent headers, too. If the AH follows an ESP header, it covers the data _inside_ the ESP header. The ESP payload is "opaque". Pretty damn difficult to mandate covering an IP header when there isn't one visible.... Particularly when there was possibly a hardware encryption engine between you and the interface. So, we have a push from you to cover non-existant IP headers, and a pull from others to _not_ cover IP headers at all. I think Ran (with "a little help from his friends") made an excellent engineering tradeoff there. Cover all the information you have which is carried end-to-end. > While you are right that it would have been preferable to make a > chaneg like this prior to publication of the RFCs, my comments one the > I-Ds arrived about a week too late for that. > Which I find truly amazing, after 2 internal last calls, and an IESG last call, too. > As for my the progress of "my" implementation, well, I don't > write code so there is no progress to report on that front. I'm one > of the folks who still believes that its better to analyze the specs > and get them right, using implementation experience to refine them, > rather than letting implementation experience drive the specs. So, > each of us has a way to contribute to the specification process. > Ahem. Implementation got them done. Years of analysis did not. If I seem hostile on this topic, that's because I am! Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous > From: Mike Roe> Re-using the same key with two different algorithms (or the same algorithm > in two different modes) is a really bad thing to do: > You must be new to the list. We've already discussed this issue into the ground. But of course, we will now have a flurry of pointless email on this subject again from people who haven't bothered to read the Security Architecture. > If multiple use of the same key is to be permitted at all, the specification > should contain some warning about why you shouldn;t do it. > No, the Photuris specification is about how to generate key material. The Security Architecture and subordinate documents is the place to discuss which algorithms to use whenever. I have tried very hard _NOT_ to include material already in other documents, except by reference. It's long enough already.... Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous Bill, This correspondence is getting us nowhere, Bill. I'll attempt to respond to your most recent message, but with great trepidation. >I seem to remember that you are a former IAB member, and heavily >involved in internet security discussions. As a consequence, it rather >surprises me that you have any need to "catch up" on developments and >designs that are 3-5 years (or more) old. Now, Bill, we both know that I was active in the initial IPSP discussions, over the past 2 years, both at IETF meetings and on the mail list. Unfortunately, my time was devoted to other activities (for those of us who are not independent consultants, others have some say over how we spend our time) during the last phases of the work, which resulted in the final round of I-Ds and then the RFCs. Thus my comments are in the context of the last phases of this work, something I think you really do recall. >Because there aren't two data regions. ... >If the AH follows an IP header, wherever the IP header happens to be >(inside or outside ESP), it covers the IP header and any other >subsequent headers, too. >If the AH follows an ESP header, it covers the data _inside_ the ESP >header. The ESP payload is "opaque". Pretty damn difficult to mandate >covering an IP header when there isn't one visible.... Particularly >when there was possibly a hardware encryption engine between you and the >interface. Your characterization is what is covered by AH exactly matches my interpretation, and it sure sounds like two different sets of data being covered, depending on context. The suggestion I made was to make the definition of AH more consistent by not requiring its use within ESP when what is encapsulated is only ULP, not a whole datagram. This suggestion does not conflcit with any of the scenarios you, or others, have put forth, and other contributors to the list have made similar arguments. >Which I find truly amazing, after 2 internal last calls, and an IESG >last call, too. Well, Bill, as I said earlier, some of us have bosses who like to believe that they get to set priorities for what we do. I may be old fashioned in this, but since they pay me for my time, I tend to agree with this basic philosophy. So, my comments were late, as I admitted. >Ahem. Implementation got them done. Years of analysis did not. I didn't realize that implementation got the specs done; I thought it was mostly the work of people like Ran and Perry who took the time to sit down and do the writing, trying to codify the discussions from the WG meetings and the mail list. I don't mean to minimize the important contributions made by implementation experience, but it should be viewed in perspective. For exaple, I recall that Phil Karn, as an early implementor of a precursor protocol, came to one WG meeting and noted the substantial performance impact he encountered as a dialup user. The reason for the impact was pretty obvious, i.e., with encryption enabled the link layer compression provided by the modem was defeated. This was not a result that required implementation experience to predict, and I hear folks still arguing for inclusion of compression as an option in ESP to help counteract this throughly predictable effect. However, the WG has not chosen to include that facility in the specs, despite the early implementation experience. >If I seem hostile on this topic, that's because I am! I don't interpret your comments as being hostile, Bill, just in character. Steve
Xref: Re: comments on secure DNS spec Donald E. Eastlake 3rd
Xref subject next
Hello Charles and Donald,
I have some comments about the latest secure DNS draft dated Aug. 16.
Overall I think the paper is good. It does a clean job of fitting
a secure framework over the existing DNS infrastructure.
1. On page 15 the MD5/RSA algorithm is specified as 1. I'd
recommend that MD5 not be explicitly specified. The algorithm
octet should only specify an (asymmetric) encryption algorithm.
For example specify the following on page 21:
hash = MD5 ( data )
signature ( 01 | FF* | 00 | prefix | implicit tag | hash ) ** e (mod n)
Where 'implicit tag' = A0 10 for MD5
A1 14 for SHA1
The first byte the hex 'A' means an ASN.1 Context specific Class i.e.
this document, Constructed constructor i.e. a non-atomic data type
(similer a C struct definition). The '0' or '1' are the tag numbers
for each hash type. The 2nd byte is simply the number of bytes that
will follow it.
The ASN.1 grammar notation is as follows:
HashMd5 ::= [0] IMPLICIT OCTET STRING (SIZE (16))
HashSha ::= [1] IMPLICIT OCTET STRING (SIZE (20))
The reason I recommend this is for two reasons:
A. To allow other protocols to interoperate with this specification.
A proposed draft for secure SNMP uses this to specify MD5 and SHA1
hashes. I would like to see secure Telnet and FTP adhere to this
as well. This is more a coordination issue among the major Internet
protocols, since they may be using secure DNS as a key management
server.
B. To allow more than one hash to be used. If improved hashes
are designed or needed this allows a simple mechanism to
upgrade hashes without modifying the algorithm number.
2. Why not use ElGamal instead of RSA for keys and signatures?
This is a practical issue. Why not specify ElGamal instead of RSA?
the RSA patent has 5 more years before it expires. ElGamal is
unpatented and its underlying patent, Diffie-Hellman, expires in
1.5 years. I believe ElGamal is just as strong as RSA and has
undergone over a decade of cryptanalysis. It is being used as the
foundation of the US Digital Signature Standard.
3. Why not double encrypt the hash during DNS transactions? (pages 10, 22)
This requires that a security aware resolver has a public/private key.
Basically the resolver generates a SIG by hashing its request, then
encrypting it with its own private key, and finally encrypting it
with the DNS server's public key. When the server responds it
encrypts its SIG hash with its own private key and then with the
resolver's public key. The resolver's public key does not have to
be stored on the DNS server, it could be sent as part of the
request (KEY). Doing this would reduce the possibility of an
intermediate gateway from replaying the response to multiple
resolvers. Also it prevents the resolver's request from getting
modified without detection.
4. Why not securely encapsulate the DNS packet? (pages 10, 22)
Why not fully encapsulate the DNS packet, by using an authentication
header and having the DNS packet as the data payload. This would
simplify authentication machinery. A nice side benefit is that
existing DNS servers could be retrofited without rewriting code.
You have to fool them into thinking they are receiving the old DNS
packet, when in fact the encapsulation machinery first receives,
then verifies the authentication header, then strips the header off
and finally passes the rest into the old DNS protocol machinery.
The old DNS parotocol machinery never has to be recompiled, relinked,
etc. The double encryption of the hash from #3 could be used here
as well.
4. Why not use a larger key footprint? (page 20)
I noticed that you use a "key footprint" of 16 bits. Other protocols
that I seen typically use more bits. For example 64 bits (8 bytes).
Would this larger size make more sense since DNS is distributed
world-wide and there could eventually be millions of keys (assuming
it will also be a key management server).
Sincerely,
- Alex
--
Alexander I. Alten
Alten@Na.Sjf.Novell.Com
(408) 577-8224
Novell, Inc.
Member of Technical Staff
Mail Stop F1-42-D2
2180 Fortune Drive
San Jose, CA 95131
USA
Xref: Re: Use of UDP ports for Photuris Hilarie Orman
Xref: Re: Use of UDP ports for Photuris Perry E. Metzger
Xref: Re: Use of UDP ports for Photuris Bill Sommerfeld
Xref subject next
All,
There have been some notes on the Implementer's List recently that
perhaps Photuris should not be using a well known UDP port. The
long-standing consensus has been to use a well known UDP port for
Photuris messages. Now the working group _can_ change its mind on this.
Perhaps it would be useful if those in favour of the change would
outline in detail on the main IPsec WG list
(1) what they would like to change to
and (2) why the change is needed.
[Begin personal commentary]
Our implementation includes a new kind of key management socket
that is analgous to the PF_ROUTE "routing socket" of BSD. We
call our new socket PF_KEY. From the NRL implementation perspective
(somewhat BSD oriented, but BSD is mainstream), it is highly desirable
to be able to put the key management protocol into applications that
sit on top of normal network Sockets and also a PF_Key socket.
Keeping the key mgmt protocol outside the kernel reduces kernel bloat
and more importantly makes it easier to add new key mgmt protocols
or to replace old key mgmt protocols (e.g. if a new bad attack
should be discovered in the future).
[End personal commentary]
Ran
rja@cs.nrl.navy.mil
Xref: Re: Use of UDP ports for Photuris Perry E. Metzger Xref: Re: Use of UDP ports for Photuris Paul Ferguson Xref: Re: Use of UDP ports for Photuris Paul Ferguson Xref: Re: Use of UDP ports for Photuris Perry E. Metzger Xref subject previous Xref subject next I'd like to see key management done as a protocol over IP. This is because it facilitates building high-assurance systems. For example, if the host policy requires all user-level network communication to be AH or ESP protected, then I can easily build a protocol graph that ensures this if key management is in the kernel. If it isn't, then there must be a filter that allows some key management messages to be delivered to the user level while blocking other traffic. This is a displeasing architecture. And, I'm not comfortable about having keys managed by a user-level process, anyway. I'd like to have the code that manages the keys be able to manage real memory. UDP doesn't have anything to offer IP key management. Its port numbers and checksum are just red herring.
Xref subject previous Xref subject next I'd like to see key management done as a protocol over IP. This is because it facilitates building high-assurance systems. For example, if the host policy requires all user-level network communication to be AH or ESP protected, then I can easily build a protocol graph that ensures this if key management is in the kernel. If it isn't, then there must be a filter that allows some key management messages to be delivered to the user level while blocking other traffic. This is a displeasing architecture. And, I'm not comfortable about having keys managed by a user-level process, anyway. I'd like to have the code that manages the keys be able to manage real memory. UDP doesn't have anything to offer IP key management. Its port numbers and checksum are just red herring. I tend to agree with Ran that key management is most easily implemented in user space; however, this can be done just as well with a raw socket as with a UDP port. The real issues lie elsewhere. Hilarie is right about the policy issues being complicated by use of UDP. If (a) we want to protect all normal traffic to/from a certain host, and (b) key management is done by UDP, we somehow have to make an exception for the key management ports, including (possibly) the arbitrary UDP port number used by a client. This is messy, especially for bump-in-the-cord encryptors. Folks interested in this aspect may want to look at a draft paper by David Wagner and myself, on a ``bump- in-the-stack'' encryptor for MS/DOS'', available as ftp://ftp.research.att.com/dist/smb/bis.ps For a UNIX-style implementation, where possibly root could issue the setsockopt() to turn off security for the key management sockets, this wouldn't be as much of an issue, but of course the whole world isn't a UNIX box. Similar issues apply to IPSEC hosts behind firewalls -- it's a *lot* easier to get the key management packets in and out if they don't use UDP.
Xref subject previous Xref subject next Ran Atkinson writes: > [Begin personal commentary] > Our implementation includes a new kind of key management socket > that is analgous to the PF_ROUTE "routing socket" of BSD. We > call our new socket PF_KEY. From the NRL implementation perspective > (somewhat BSD oriented, but BSD is mainstream), it is highly desirable > to be able to put the key management protocol into applications that > sit on top of normal network Sockets and also a PF_Key socket. > Keeping the key mgmt protocol outside the kernel reduces kernel bloat > and more importantly makes it easier to add new key mgmt protocols > or to replace old key mgmt protocols (e.g. if a new bad attack > should be discovered in the future). > > [End personal commentary] This is similar to my own work and I strongly favor the approach of keeping the key management system out of the kernel. Perry
Xref subject previous Xref subject next I'd like to see key management done as a protocol over IP. This is because it facilitates building high-assurance systems. For example, if the host policy requires all user-level network communication to be AH or ESP protected, then I can easily build a protocol graph that ensures this if key management is in the kernel. If it isn't, then there must be a filter that allows some key management messages to be delivered to the user level while blocking other traffic. This is a displeasing architecture. And, I'm not comfortable about having keys managed by a user-level process, anyway. I'd like to have the code that manages the keys be able to manage real memory. UDP doesn't have anything to offer IP key management. Its port numbers and checksum are just red herring. I tend to agree with Ran that key management is most easily implemented in user space; however, this can be done just as well with a raw socket as with a UDP port. The real issues lie elsewhere. Hilarie is right about the policy issues being complicated by use of UDP. If (a) we want to protect all normal traffic to/from a certain host, and (b) key management is done by UDP, we somehow have to make an exception for the key management ports, including (possibly) the arbitrary UDP port number used by a client. This is messy, especially for bump-in-the-cord encryptors. Folks interested in this aspect may want to look at a draft paper by David Wagner and myself, on a ``bump- in-the-stack'' encryptor for MS/DOS'', available as ftp://ftp.research.att.com/dist/smb/bis.ps For a UNIX-style implementation, where possibly root could issue the setsockopt() to turn off security for the key management sockets, this wouldn't be as much of an issue, but of course the whole world isn't a UNIX box. Similar issues apply to IPSEC hosts behind firewalls -- it's a *lot* easier to get the key management packets in and out if they don't use UDP.
Xref subject previous Xref subject next Hilarie Orman writes: > I'd like to see key management done as a protocol over IP. This is > because it facilitates building high-assurance systems. For example, > if the host policy requires all user-level network communication to be > AH or ESP protected, then I can easily build a protocol graph that > ensures this if key management is in the kernel. If it isn't, then > there must be a filter that allows some key management messages to be > delivered to the user level while blocking other traffic. This is a > displeasing architecture. No it isn't. You have to be able to handle mulitple, per-port policies anyway. I have seen no trouble with this at all. I don't understand why it is that it should be more difficult to have a distinct policy for the Photuris port than it is to have a distinct policy for any other port, and you basically have to be able to do that. Also, I explicitly don't want it to use an IP datagram. Among other things, its very antisocial -- the IP type space is finite and dwindling, and there is no need. Also, its much easier to have user space processes deal with UDP. > And, I'm not comfortable about having keys managed by a user-level > process, anyway. I'd like to have the code that manages the keys > be able to manage real memory. I don't want the key management system hardwired in because I want to be able to pop them in and out and I don't see the need for the kernel bloat. Its also far easier to write user space code and change it. > UDP doesn't have anything to offer IP key management. Its port numbers > and checksum are just red herring. No one cares about the checksum and port numbers -- thats a red herring. We want it for the other reasons above. Perry
Xref subject previous Xref subject next > > I'd like to see key management done as a protocol over IP. This is > because it facilitates building high-assurance systems. For example, > if the host policy requires all user-level network communication to be > AH or ESP protected, then I can easily build a protocol graph that > ensures this if key management is in the kernel. If it isn't, then > there must be a filter that allows some key management messages to be > delivered to the user level while blocking other traffic. This is a > displeasing architecture. > Well, it would also accommodate application layer authentication, not transport layer, which is what we should all be shooting for anyway. Oops, wrong list. :-) - paul
Xref subject previous Xref subject next > > I'd like to see key management done as a protocol over IP. This is > because it facilitates building high-assurance systems. For example, > if the host policy requires all user-level network communication to be > AH or ESP protected, then I can easily build a protocol graph that > ensures this if key management is in the kernel. If it isn't, then > there must be a filter that allows some key management messages to be > delivered to the user level while blocking other traffic. This is a > displeasing architecture. > Well, it would also accommodate application layer authentication, not transport layer, which is what we should all be shooting for anyway. Oops, wrong list. :-) - paul
Xref subject previous Xref subject next Hilarie Orman writes: > I'd like to see key management done as a protocol over IP. This is > because it facilitates building high-assurance systems. For example, > if the host policy requires all user-level network communication to be > AH or ESP protected, then I can easily build a protocol graph that > ensures this if key management is in the kernel. If it isn't, then > there must be a filter that allows some key management messages to be > delivered to the user level while blocking other traffic. This is a > displeasing architecture. No it isn't. You have to be able to handle mulitple, per-port policies anyway. I have seen no trouble with this at all. I don't understand why it is that it should be more difficult to have a distinct policy for the Photuris port than it is to have a distinct policy for any other port, and you basically have to be able to do that. Also, I explicitly don't want it to use an IP datagram. Among other things, its very antisocial -- the IP type space is finite and dwindling, and there is no need. Also, its much easier to have user space processes deal with UDP. > And, I'm not comfortable about having keys managed by a user-level > process, anyway. I'd like to have the code that manages the keys > be able to manage real memory. I don't want the key management system hardwired in because I want to be able to pop them in and out and I don't see the need for the kernel bloat. Its also far easier to write user space code and change it. > UDP doesn't have anything to offer IP key management. Its port numbers > and checksum are just red herring. No one cares about the checksum and port numbers -- thats a red herring. We want it for the other reasons above. Perry
Xref: Re: comments on secure DNS spec Alex Alten Xref subject previous Xref subject next On Wed, 20 Sep 1995, Alex Alten wrote: > Hello Charles and Donald, > I have some comments about the latest secure DNS draft dated Aug. 16. > Overall I think the paper is good. It does a clean job of fitting > a secure framework over the existing DNS infrastructure. > 1. On page 15 the MD5/RSA algorithm is specified as 1. I'd > recommend that MD5 not be explicitly specified. The algorithm > octet should only specify an (asymmetric) encryption algorithm. > > For example specify the following on page 21: > > hash = MD5 ( data ) > > signature ( 01 | FF* | 00 | prefix | implicit tag | hash ) ** e (mod n) > > Where 'implicit tag' = A0 10 for MD5 > A1 14 for SHA1 > > The first byte the hex 'A' means an ASN.1 Context specific Class i.e. > this document, Constructed constructor i.e. a non-atomic data type > (similer a C struct definition). The '0' or '1' are the tag numbers > for each hash type. The 2nd byte is simply the number of bytes that > will follow it. > > The ASN.1 grammar notation is as follows: > > HashMd5 ::= [0] IMPLICIT OCTET STRING (SIZE (16)) > HashSha ::= [1] IMPLICIT OCTET STRING (SIZE (20)) Your idea seems pretty simiple. I don't know why you clutter it up with all this ASN.1 cruft. In fact, your material above is yet another good example of how ASN.1 makes something very simple much harder to understand and a little more complex to implement. *If* we put this in, I would like just a one byte hash selector field. > The reason I recommend this is for two reasons: > > A. To allow other protocols to interoperate with this specification. > A proposed draft for secure SNMP uses this to specify MD5 and SHA1 > hashes. I would like to see secure Telnet and FTP adhere to this > as well. This is more a coordination issue among the major Internet > protocols, since they may be using secure DNS as a key management > server. SNMP long ago made the error of using ASN.1, something regretted by many of those involved. We don't need to duplicate that error. I think secure Telnet and FTP and the plethora of other point to point security protocols in the Internet should go away and be replaced by IPSEC. If the decision were up to me, I'd seriously consider an embargo on any "improvements" to these other point-to-point protocols to encourage development and deployment of IPSEC. (These comments do not apply to store-and-forward security such as DNS and email.) > B. To allow more than one hash to be used. If improved hashes > are designed or needed this allows a simple mechanism to > upgrade hashes without modifying the algorithm number. I don't see how this additional complexity of two numbers to specify the full algorithm makes things simpler. True, it allows easier combinations of different algorithms and hashes. But we are talking about the DNS here, a fundamental global naming system of the Internet, not just some point-to-point Telnet connections or something. If people switch to secure DNS in significant numbers, and some people wanted to add SHA as an alternative hash algorithm, I think it should take a standards action and, unless it is an emergency, a *lot* of advance notice. MD5 is the Internet standard for now. I'm included to leave things as they are and see how it goes. This change seems to invite the proliferation of non-interoperable options. It could always be added later. > 2. Why not use ElGamal instead of RSA for keys and signatures? > > This is a practical issue. Why not specify ElGamal instead of RSA? > the RSA patent has 5 more years before it expires. ElGamal is > unpatented and its underlying patent, Diffie-Hellman, expires in > 1.5 years. I believe ElGamal is just as strong as RSA and has > undergone over a decade of cryptanalysis. It is being used as the > foundation of the US Digital Signature Standard. Some of your points are good but RSA is the standard for use in the Internet now. Defining additional key types, such a ElGamal and Diffie-Hellman is reasonable for storage in the DNS but a variety of SIGs in DNS raises interoperability questions unless everyone implements every algorithm. > 3. Why not double encrypt the hash during DNS transactions? (pages 10, 22) > > This requires that a security aware resolver has a public/private key. > Basically the resolver generates a SIG by hashing its request, then > encrypting it with its own private key, and finally encrypting it > with the DNS server's public key. When the server responds it > encrypts its SIG hash with its own private key and then with the > resolver's public key. The resolver's public key does not have to > be stored on the DNS server, it could be sent as part of the > request (KEY). Doing this would reduce the possibility of an > intermediate gateway from replaying the response to multiple > resolvers. Also it prevents the resolver's request from getting > modified without detection. You are talking one hell of a lot of expensive public key operations at a busy DNS server for no gain that I can see. An intermediate gateway (like a caching server?) replaying the response to multiple servers sounds like a good thing if it's data that the servers want. If it's not, then it's not much different from other denial of service attacks. It would take a lot less work for many DNS servers to just answer a tampered with request rather than figure out its bad. And if the optional transaction security is in use, the requester knows if the query was tampered with anyway, if they can't tell from the data in the response. A fundamental WG assumption is that DNS queries and data are public. Why bother signing the query when you can tell if it got through by just checking the sig on the response if transaction security is being used? If you want a secure private pipe to your DNS server, use IPSEC. > 4. Why not securely encapsulate the DNS packet? (pages 10, 22) > > Why not fully encapsulate the DNS packet, by using an authentication > header and having the DNS packet as the data payload. This would > simplify authentication machinery. A nice side benefit is that > existing DNS servers could be retrofited without rewriting code. > You have to fool them into thinking they are receiving the old DNS > packet, when in fact the encapsulation machinery first receives, > then verifies the authentication header, then strips the header off > and finally passes the rest into the old DNS protocol machinery. > The old DNS parotocol machinery never has to be recompiled, relinked, > etc. The double encryption of the hash from #3 could be used here > as well. Now that IPSEC is a Proposed Standard, I think the last think people need is yet another point to point transport level security protocol. There is never a need to authenticate the source of an DNS request since a fundamental WG assumption is that DNS gives the same answer to everyone so it does not matter where a request came from. I don't see that it is of much use securing a DNS response unless it's to an insecure resolver from a secure DNS server. Just putting authentication on all or any large subset of the DNS point to point transmissions would have approximately no effect on DNS security. If might help for some small network if you maintained host access control lists and only ran DNS components on trusted machines, which seems pretty unrealistic and uninteresting to me. The transaction security optionally provided in dnssec seems to answer the need of a stub resolver for secure communications with a secure recursive resolver. It was an interim measure pending IPSEC and should be re-evaluated when IPSEC is significantly deployed. It may still be a saving since it secures two packets with one sig. > 4. Why not use a larger key footprint? (page 20) > > I noticed that you use a "key footprint" of 16 bits. Other protocols > that I seen typically use more bits. For example 64 bits (8 bytes). > Would this larger size make more sense since DNS is distributed > world-wide and there could eventually be millions of keys (assuming > it will also be a key management server). The key footprint is used only to help pick between and to provide a really trivial insecure first level validity check on the keys associated with a particular DNS name. I doubt there will be millions of keys assoicated with any single DNS name. > Sincerely, > > - Alex > > -- > > Alexander I. Alten > Alten@Na.Sjf.Novell.Com > (408) 577-8224 > > Novell, Inc. > Member of Technical Staff > Mail Stop F1-42-D2 > 2180 Fortune Drive > San Jose, CA 95131 > USA Donald ===================================================================== Donald E. Eastlake 3rd +1 508-287-4877(tel) dee@cybercash.com 318 Acton Street +1 508-371-7148(fax) dee@world.std.com Carlisle, MA 01741 USA +1 703-620-4200(main office, Reston, VA)
Xref subject previous Xref subject next -----BEGIN PGP SIGNED MESSAGE----- content-type: text/plain; charset=us-ascii This is changing the subject slightly, but I've been meaning to bring this up since Stockholm. There's another problem with using UDP for photuris, in situations where multiple principals are active on both hosts involved in the exchange. [I'm being intentionally vague about what principals and principal names are, as it's not really relevant to the discussion.] If there's more than one long-term certified key on a responder, initiators need some way to either select between them, or provide enough information to the responder to allow it to make the correct choice for it. Currently, the photuris drafts state When both parties initiate Photuris key establishment concurrently, or one party initiates more than one Photuris session, the UDP Ports keep the sessions separate. Given this, I can see how to do "host-to-host" and "user-to-host", but not "user-to-user" or "host-to-user". In short, if the initiator picks a random client port, and always sends to a well-known port, there's no way in the current Photuris protocol for the initiator to select among multiple principals on the responder host. I can think of several ways to do this -- either by "principal name" or by transport endpoint -- but it's just not in there right now. I'll note in passing that in DCE, we had situations where application writers did *not* want to be burdened with the duty of figuring out what the responder's principal name was in advance -- they wanted to connect to the responder, find out who it was, and then apply an authorization check based on the identity of the responder. - Bill -----BEGIN PGP SIGNATURE----- Version: 2.6.1 iQCUAwUBMGGO8lpj/0M1dMJ/AQENVQP4tYwpW7X5D8dRrHzUCNUEYNI56J8KUfvZ u2L3Nljrz9gXPqt27eJu/WFFVukDCQuqfCnnqpZ9dcOjuv29Zok8Q1WCteNKb7WL vl1F4dgLAyiKjyE/mbfUTj7spwkWD6CvyJObwjumhp9UN/CEi1NdJmzBUrNrCz7z R83jLkPotw== =TViS -----END PGP SIGNATURE-----
Xref subject previous Bill, I see that as a Photuris protocol (clarification/bug) issue rather than a UDP port issue. Although I'm not yet building photurisd(8), we do have the other pieces already and we've thought A Whole Lot about building photurisd(8). Our system can store multiple certificates just fine. We can also let a key mgmt daemon sitting on PF_KEY pull certificates that it needs. So the critical issue in my mind is not UDP (which is not the problem or solution on this issue) but rather ensuring that it is clear HOW photuris the protocol lets either side indicate which certificate to use. As long as photurisd knows what certificate it wants, we're sure that photurisd can get it if it exists in the system. By the way, Mike StJohns has had an excellent idea on helping to bootstrap certificates without using Secure DNS (as an option, not a replacement for Secure DNS) by creating two new ICMP messages: 1) ICMP Certificate Request (data portion indicates what type certificate is desired AND provides sender's certificate) 2) ICMP Certificate Response (data portion provides sender's certificate). Since certificates would be sent, lack of authentication of these 2 ICMP message types at the IP layer would not be an issue. Ran rja@cs.nrl.navy.mil
Subject: Time:2:40 PM
OFFICE MEMO RFI-IPSP Commercial vendors Date:9/21/95
Please let me know how I may obtain a list of the commercial vendors that are
currently implementing (or have plans to implement in 1996) the IP AH or the
IP ESP specifications.
In the absence of such a list, please respond identifying vendors which you
know are (or will be in 1996) implementing either of the above protocols.
Thanks for your help,
Rafols Ramirez
Lead Staff Engineer
MITRE Corporation
rram@mitre.org
Xref: Re: comments on secure DNS spec Donald E. Eastlake 3rd
Xref subject previous
Xref subject next
Don,
Thanks for replying so promptly. I agree with most of your answers.
>> hash = MD5 ( data )
>>
>> signature ( 01 | FF* | 00 | prefix | implicit tag | hash ) ** e (mod n)
>>
>> Where 'implicit tag' = A0 10 for MD5
>> A1 14 for SHA1
>>
>> The first byte the hex 'A' means an ASN.1 Context specific Class i.e.
>> this document, Constructed constructor i.e. a non-atomic data type
>> (similer a C struct definition). The '0' or '1' are the tag numbers
>> for each hash type. The 2nd byte is simply the number of bytes that
>> will follow it.
>>
>> The ASN.1 grammar notation is as follows:
>>
>> HashMd5 ::= [0] IMPLICIT OCTET STRING (SIZE (16))
>> HashSha ::= [1] IMPLICIT OCTET STRING (SIZE (20))
>
>Your idea seems pretty simiple. I don't know why you clutter it up
>with all this ASN.1 cruft. In fact, your material above is yet
>another good example of how ASN.1 makes something very simple much
>harder to understand and a little more complex to implement.
>
>*If* we put this in, I would like just a one byte hash selector field.
>
Good point. I'm so used to ASN.1 from my work with SNMP that I usually
don't think twice about it.
Speaking of ASN.1 I noticed in your document that you do have an ASN.1
construct called the "prefix" (p 21). It is as follows:
prefix = hex 3020300c06082a864886f70d020505000410
signature = ( 01 | FF* | 00 | prefix | hash ) ** e (mod n)
Why are you bothering with this "cruft"? Why not just pad out the hash
with random numbers? Or at least pseudo-random numbers if the secure
DNS server can't generate true random numbers. Wouldn't this strengthen
the resulting signature? When we decrypt the signature we already know
that the hash is in the last 16 bytes of the buffer. Or if you use the
hash selector byte then place it and the hash in the front and pad with
random bytes to the end of the buffer.
>I think secure Telnet and FTP and the plethora of other point to point
>security protocols in the Internet should go away and be replaced by
>IPSEC. If the decision were up to me, I'd seriously consider an
>embargo on any "improvements" to these other point-to-point protocols
>to encourage development and deployment of IPSEC. (These comments do
>not apply to store-and-forward security such as DNS and email.)
>
I'm afraid that I must disagree with you about Telnet and FTP. These
protocols depend on user authentication. IP level authentication is
not enough to distinguish between users on a multi-user system. Some
protocols like SNMP are also used over other non-Internet protocols,
such as Appletalk and IPX. From an overall design perspective I doubt
IPSEC will be able to adequately deal with the security needs of all
higher level protocols. I'm finding out that each one has its individual
needs which cannot always be covered by a "one size fits all" solution.
>> 2. Why not use ElGamal instead of RSA for keys and signatures?
>>
>> This is a practical issue. Why not specify ElGamal instead of RSA?
>> the RSA patent has 5 more years before it expires. ElGamal is
>> unpatented and its underlying patent, Diffie-Hellman, expires in
>> 1.5 years. I believe ElGamal is just as strong as RSA and has
>> undergone over a decade of cryptanalysis. It is being used as the
>> foundation of the US Digital Signature Standard.
>
>Some of your points are good but RSA is the standard for use in the
>Internet now. Defining additional key types, such a ElGamal and
>Diffie-Hellman is reasonable for storage in the DNS but a variety of
>SIGs in DNS raises interoperability questions unless everyone
>implements every algorithm.
Unless I missed it, RSA has not been specified as a proposed standard RFC.
RSA has a major drawback, its licensing costs. This is not a trivial
point, many people will object to this.
I'm asking you and the WG to seriously consider using ElGamal instead of
RSA for signatures because we will avoid many years of licensing costs. I
sincerely believe that this will enhance the acceptance of secure DNS in
the Internet community by removing a financial constraint during the
first half decade of its deployment.
- Alex
--
Alexander I. Alten
Alten@Na.Sjf.Novell.Com
(408) 577-8224
Novell, Inc.
Member of Technical Staff
Mail Stop F1-42-D2
2180 Fortune Drive
San Jose, CA 95131
USA
Folks, Paul Lambert and I are putting together the agenda for the Dallas IETF meeting. We hope to have 2 sessions -- one to discuss implementation status, implementation issues, and interoperability testing for RFC-1825 thru RFC-1829. another would focus on key mgmt issues. People interested in agenda time should please send email to both Paul Lambert and I indicating the subject matter and desired time length. I would like to put together a fairly complete "Implementation Status" presentation for the first meeting. So if you are now or soon will be implementing any of RFC-1825 thru RFC-1829 and you are willing for that information to be public, then please send me the following data: Implementor(s): RFCs being implemented: Platform (e.g. BSD, custom encryptor): Anticipated Availability Date: Availability terms (for sale, free, etc): Whether would want to participate in interoperability testing: Thanks very much, Ran rja@cs.nrl.navy.mil Paul Paul_Lambert@email.mot.com
Xref: Re: comments on secure DNS spec Phil Karn Xref subject previous Xref subject next On Thu, 21 Sep 1995, Alex Alten wrote: > Don, > > Thanks for replying so promptly. I agree with most of your answers. > > >> hash = MD5 ( data ) > >> > >> signature ( 01 | FF* | 00 | prefix | implicit tag | hash ) ** e (mod n) > >> > >> Where 'implicit tag' = A0 10 for MD5 > >> A1 14 for SHA1 > >> > >> The first byte the hex 'A' means an ASN.1 Context specific Class i.e. > >> this document, Constructed constructor i.e. a non-atomic data type > >> (similer a C struct definition). The '0' or '1' are the tag numbers > >> for each hash type. The 2nd byte is simply the number of bytes that > >> will follow it. > >> > >> The ASN.1 grammar notation is as follows: > >> > >> HashMd5 ::= [0] IMPLICIT OCTET STRING (SIZE (16)) > >> HashSha ::= [1] IMPLICIT OCTET STRING (SIZE (20)) > > > >Your idea seems pretty simiple. I don't know why you clutter it up > >with all this ASN.1 cruft. In fact, your material above is yet > >another good example of how ASN.1 makes something very simple much > >harder to understand and a little more complex to implement. > > > >*If* we put this in, I would like just a one byte hash selector field. > > Good point. I'm so used to ASN.1 from my work with SNMP that I usually > don't think twice about it. > > Speaking of ASN.1 I noticed in your document that you do have an ASN.1 > construct called the "prefix" (p 21). It is as follows: > > prefix = hex 3020300c06082a864886f70d020505000410 > > signature = ( 01 | FF* | 00 | prefix | hash ) ** e (mod n) > > Why are you bothering with this "cruft"? Why not just pad out the hash > with random numbers? Or at least pseudo-random numbers if the secure > DNS server can't generate true random numbers. Wouldn't this strengthen > the resulting signature? When we decrypt the signature we already know > that the hash is in the last 16 bytes of the buffer. Or if you use the > hash selector byte then place it and the hash in the front and pad with > random bytes to the end of the buffer. We are bothering with this silly cruft for exactly one reason: it is required to implement on top of RSAREF, the royalty free reference implementation that you have to use in the USA for non-commercial use to avoid either infringing or paying a license fee. We were requested to make this change by the IETF Security Area Head. As for the FF*, this is a signature, not encyption. Producing random numbers is an effort that buys you nothing in this case. You have the public key so you are supposed to be able to decyrpt the sig. It is a benefit, not a bug, if two sigs by the same authenticator over the same data to be authentiated are identical. The situation is entirely different if you are encyrpting in which case I agree fully that you need random padding. > >I think secure Telnet and FTP and the plethora of other point to point > >security protocols in the Internet should go away and be replaced by > >IPSEC. If the decision were up to me, I'd seriously consider an > >embargo on any "improvements" to these other point-to-point protocols > >to encourage development and deployment of IPSEC. (These comments do > >not apply to store-and-forward security such as DNS and email.) > > I'm afraid that I must disagree with you about Telnet and FTP. These > protocols depend on user authentication. IP level authentication is > not enough to distinguish between users on a multi-user system. Some > protocols like SNMP are also used over other non-Internet protocols, > such as Appletalk and IPX. From an overall design perspective I doubt > IPSEC will be able to adequately deal with the security needs of all > higher level protocols. I'm finding out that each one has its individual > needs which cannot always be covered by a "one size fits all" solution. This is not the place to discuss IPSEC, whose key management is not yet a standard, but you can bet it will provide user level authentication, multi-level secure level authentication, etc., as well as host/interface level authentication. I never claimed that IPSEC would answer all needs, just almost all point-to-point needs. > >> 2. Why not use ElGamal instead of RSA for keys and signatures? > >> > >> This is a practical issue. Why not specify ElGamal instead of RSA? > >> the RSA patent has 5 more years before it expires. ElGamal is > >> unpatented and its underlying patent, Diffie-Hellman, expires in > >> 1.5 years. I believe ElGamal is just as strong as RSA and has > >> undergone over a decade of cryptanalysis. It is being used as the > >> foundation of the US Digital Signature Standard. > > > >Some of your points are good but RSA is the standard for use in the > >Internet now. Defining additional key types, such a ElGamal and > >Diffie-Hellman is reasonable for storage in the DNS but a variety of > >SIGs in DNS raises interoperability questions unless everyone > >implements every algorithm. > > Unless I missed it, RSA has not been specified as a proposed standard RFC. > RSA has a major drawback, its licensing costs. This is not a trivial > point, many people will object to this. As far as I am aware, every Internet standard that specified a public key algorithm specifies RSA and none specify ElGamal. That's enough of a standard for me for this first pass at a standard for DNS security. ElGamal is not free of licensing costs as of this date. > I'm asking you and the WG to seriously consider using ElGamal instead of > RSA for signatures because we will avoid many years of licensing costs. I > sincerely believe that this will enhance the acceptance of secure DNS in > the Internet community by removing a financial constraint during the > first half decade of its deployment. > - Alex > -- > Alexander I. Alten > Alten@Na.Sjf.Novell.Com > (408) 577-8224 > > Novell, Inc. > Member of Technical Staff > Mail Stop F1-42-D2 > 2180 Fortune Drive > San Jose, CA 95131 > USA Donald ===================================================================== Donald E. Eastlake 3rd +1 508-287-4877(tel) dee@cybercash.com 318 Acton Street +1 508-371-7148(fax) dee@world.std.com Carlisle, MA 01741 USA +1 703-620-4200(main office, Reston, VA)
Xref: Re: IP security Alex Alten Xref subject next Don Eastlake wrote: >I think secure Telnet and FTP and the plethora of other point to point >security protocols in the Internet should go away and be replaced by >IPSEC. If the decision were up to me, I'd seriously consider an >embargo on any "improvements" to these other point-to-point protocols >to encourage development and deployment of IPSEC. (These comments do >not apply to store-and-forward security such as DNS and email.) Alex Alten responded: % I'm afraid that I must disagree with you about Telnet and FTP. % These protocols depend on user authentication. IP level % authentication is not enough to distinguish between users on a % multi-user system. The above comment tells me that you must not have read RFC-1825 thru RFC-1827 carefully enough. The IPsec Proposed Standards _require_ that implementations support user-oriented keying so that one _can_ distinguish between users on a multi-user system with cryptographic assurances. The NRL IPsec implementation does support keying on a per-socket basis NOW. (We have a BSD based implementation, so sockets are the appropriate term; one could do the same thing with TLI/XTI though the implementation details would differ). % Some protocols like SNMP are also used over other non-Internet protocols, % such as Appletalk and IPX. True, though at last report ALL security was being removed from SNMPv2 by the working group. Also, Don did not say that there were no applications needing application security, just that most applications did not need application layer security. % From an overall design perspective I doubt IPSEC will be able to % adequately deal with the security needs of all higher level protocols. % I'm finding out that each one has its individual needs which cannot % always be covered by a "one size fits all" solution. I agree with Don that IPsec can fully handle the security needs of MOST higher level protocols and that we probably ought not keep stuffing security into EVERY upper-layer protocol. DNS and PEM are good examples of higher level protocols that really need application layer security. Ran rja@cs.nrl.navy.mil [Followups probably belong on the IPsec list or in private email rather than on the DNS Security list...]
Hugo suggested that I forward my note below to the DNS Security list back to the IP Security list, so I'm doing so. Ran ----------------------------- Note follows ------------------------------ Date: Fri, 22 Sep 95 09:42:25 EDT From: Ran AtkinsonMessage-Id: <9509221342.AA20247@itd.nrl.navy.mil> To: alten@novell.com Subject: IP security Cc: dns-security@TIS.COM Don Eastlake wrote: >I think secure Telnet and FTP and the plethora of other point to point >security protocols in the Internet should go away and be replaced by >IPSEC. If the decision were up to me, I'd seriously consider an >embargo on any "improvements" to these other point-to-point protocols >to encourage development and deployment of IPSEC. (These comments do >not apply to store-and-forward security such as DNS and email.) Alex Alten responded: % I'm afraid that I must disagree with you about Telnet and FTP. % These protocols depend on user authentication. IP level % authentication is not enough to distinguish between users on a % multi-user system. The above comment tells me that you must not have read RFC-1825 thru RFC-1827 carefully enough. The IPsec Proposed Standards _require_ that implementations support user-oriented keying so that one _can_ distinguish between users on a multi-user system with cryptographic assurances. The NRL IPsec implementation does support keying on a per-socket basis NOW. (We have a BSD based implementation, so sockets are the appropriate term; one could do the same thing with TLI/XTI though the implementation details would differ). % Some protocols like SNMP are also used over other non-Internet protocols, % such as Appletalk and IPX. True, though at last report ALL security was being removed from SNMPv2 by the working group. Also, Don did not say that there were no applications needing application security, just that most applications did not need application layer security. % From an overall design perspective I doubt IPSEC will be able to % adequately deal with the security needs of all higher level protocols. % I'm finding out that each one has its individual needs which cannot % always be covered by a "one size fits all" solution. I agree with Don that IPsec can fully handle the security needs of MOST higher level protocols and that we probably ought not keep stuffing security into EVERY upper-layer protocol. DNS and PEM are good examples of higher level protocols that really need application layer security. Ran rja@cs.nrl.navy.mil [Followups probably belong on the IPsec list or in private email rather than on the DNS Security list...] -----------------------End of forwarded mail ----------------------
Sent this earlier, but MichNet failed. Trying again:
This past week, Phil and I have been going over Photuris with a finer
tooth comb. One of the questions was the use of the SPI we are also
currently creating in Value Exchange during the Signature Exchange.
This raises implementation difficulties with turning "on" the Security
Association for an already created UDP socket. This means that the
authentication or decryption success needs to be flagged, and passed all
the way up to the Photuris application. Some folks are finding this
hard.
Also, if the SPI creation is delayed until the Signature step, it should
be "safer" internally, as there wouldn't be any implementation confusion
about half created (but as yet unsigned) SPIs. This has a certain
appeal and cleanliness.
All of the attribute exchanges could be delayed (moved back a step).
This means that the Initiator could no longer overlap D-H calculation
with the packet transmission time of the last public-value step. A
minor decrease in overall speed.
Encryption for Signature anonymity could be made optional, and
negotiated separately from the SPI. It would be another piece of state
to be kept. But it might make some of the earlier naysayers happy.
It means that Photuris code itself would be a bit larger, since it would
have separate calls to the encryption library routines, not using the
same ESP processing. Shouldn't be too much more code, but probably
couldn't be in the fast paths of hardware. On the other hand, these
aren't executed that frequently.
It also mean a big shift in the packet formats. Not a big issue for the
few of us that are currently implementing.
Therefore, if there are no vehement objections, we'll make this change.
Take note, I am interested in settling Photuris in the next few weeks.
We hope to demonstrate at least some implementations at Dallas, and
can't dither much longer.
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref: Re: comments on secure DNS spec Donald E. Eastlake 3rd Xref subject previous Xref subject next >>> This is a practical issue. Why not specify ElGamal instead of RSA? >>> the RSA patent has 5 more years before it expires. ElGamal is >>> unpatented and its underlying patent, Diffie-Hellman, expires in >>> 1.5 years. I believe ElGamal is just as strong as RSA and has >>> undergone over a decade of cryptanalysis. It is being used as the >>> foundation of the US Digital Signature Standard. >> >> Some of your points are good but RSA is the standard for use in the >> Internet now. Defining additional key types, such a ElGamal and >> Diffie-Hellman is reasonable for storage in the DNS but a variety of >> SIGs in DNS raises interoperability questions unless everyone >> implements every algorithm. > > Unless I missed it, RSA has not been specified as a proposed standard RFC. > RSA has a major drawback, its licensing costs. This is not a trivial > point, many people will object to this. Not just "object". DNSSEC cannot go to "recommended standard" until we have a signed license agreement from RSA in favour of ISOC. RFC 1601 or 1602 (my memory is lapsing) pretty much requires this. I recommend that you send mail to the IETF Security Area Director(s) explaining your concerns; perhaps they will let you (or all of us?) know the status of their work with RSA on this point. Note that I do not expect RSA to give away _everything_; they'll likely want licenses with vendors and individual users who _generate_ signatures, but to merely _verify_ one is something that we can't require users to pay for or DNSSEC will not catch on. > I'm asking you and the WG to seriously consider using ElGamal instead of > RSA for signatures because we will avoid many years of licensing costs. I > sincerely believe that this will enhance the acceptance of secure DNS in > the Internet community by removing a financial constraint during the > first half decade of its deployment. I strongly agree with this, but from my own efforts in this area I have learned that RSA is the 600-pound gorilla in this picture, it will sit anywhere it wants to. Your objection will no doubt be noted, along with mine. -- Paul Vixie La Honda, CA "Illegitimi non carborundum."pacbell!vixie!paul (dont let the bastards grind you down)
Xref subject previous Xref subject next I strongly agree with this, but from my own efforts in this area I have learned that RSA is the 600-pound gorilla in this picture, it will sit anywhere it wants to. Your objection will no doubt be noted, along with mine. Note that the world has changed. A few days ago, an arbitration panel *dissolved* PKP. The so-called Stanford patents, most notably Diffie- Hellman, reverted to Cylink; the others reverted to RSA. The press releases from RSA and Cylink are flat-out contradictory on what licenses one needs for which algorithms -- but there's no doubt that RSA is in a much weaker position than it was, since Bidzos no longer controls the Diffie-Hellman patent. Not, of course, that this necessarily makes our life any easier, just different...
Xref subject next
*******************************************************************
***********************CALL FOR PAPERS*****************************
*******************************************************************
The ACM journal on WIRELESS NETWORKS, published in cooperation with
Baltzer Science publishers announces a special issue on,
MOBILITY MANAGEMENT IN WIRELESS NETWORKS
with guest editors,
Prof. Christopher Rose Prof. Ramesh Sitaraman
Director of Mobility Studies Department of Computer Science
Rutgers University, WINLAB University of Massachusetts, Amherst
OVERVIEW:
Our highly mobile society and its increasing demand for immediate
access to knowledge will require that future information networks
gracefully accommodate mobility of both users and services. For
example, a particular user might wish to gain network access through
any number of different ports or connection media. Likewise, a
network service might reside on one of many possible processors.
Under such a scenario, where both users and network services change
location, the distinction between the ``fixed'' and ``mobile'' network
blurs; all networks are mobile networks.
The overall costs of maintaining accurate location records are at
present only poorly understood. However, recent work indicates that
simply for telephone traffic, the excess network signaling load
expense would be much larger than that required for classical fixed
traffic. If migrant services and databases are included, the
aggregate signaling load can only be greater. In addition, for
wireless systems, the relevant signaling events require use of radio
channels and such use must be minimized owing to the scarcity of
bandwidth. Thus, either from the standpoint of modifying existing
fixed network signaling structures or designing wireless network
paging/registration strategies, it is important to understand,
quantify and devise methods for handling the impact of location
uncertainty on signaling.
SCOPE:
This special issue will concentrate on the problems associated with
acquiring and maintaining mobile unit location information in the
wireless environment. A representative sampling of topics is provided
below:
- Mobility modeling
- Location prediction
- Empirical measurements for user profiles
- Location tracking and mobile network topology
- Location tracking for handoff
- Paging/Registration cost minimization
- Multi-unit paging techniques
- Performance Analysis of location management strategies
PUBLICATION SCHEDULE:
MANUSCRIPT DUE: October 1, 1995
ACCEPTANCE NOTIFICATION: January 1, 1996
FINAL MANUSCRIPT DUE: March 1 1996
Publication Date: Summer 1996.
SUBMISSION GUIDELINES:
Authors should email an electronic Postscript copy of their paper to
winet_mobility@cs.umass.edu by October 1, 1995. The editors will
acknowledge the receipt of the paper within a few days. Submissions
should be limited to 20 pages, excluding figures and references. If
email submission is inconvenient, then six (6) copies of their paper
(double-sided if possible) should be sent by the due date to
Christopher Rose
P.O. Box 909
Piscataway, N.J. 08855-0909
VOICE: (908) 445-5250
FAX: (908) 445-2820
EMAIL: winet_mobility@cs.umass.edu
We look forward to your participation in providing a stimulating special issue
on an important topic.
Xref subject previous
Xref subject next
*******************************************************************
***********************CALL FOR PAPERS*****************************
*******************************************************************
The ACM journal on WIRELESS NETWORKS, published in cooperation with
Baltzer Science publishers announces a special issue on,
MOBILITY MANAGEMENT IN WIRELESS NETWORKS
with guest editors,
Prof. Christopher Rose Prof. Ramesh Sitaraman
Director of Mobility Studies Department of Computer Science
Rutgers University, WINLAB University of Massachusetts, Amherst
OVERVIEW:
Our highly mobile society and its increasing demand for immediate
access to knowledge will require that future information networks
gracefully accommodate mobility of both users and services. For
example, a particular user might wish to gain network access through
any number of different ports or connection media. Likewise, a
network service might reside on one of many possible processors.
Under such a scenario, where both users and network services change
location, the distinction between the ``fixed'' and ``mobile'' network
blurs; all networks are mobile networks.
The overall costs of maintaining accurate location records are at
present only poorly understood. However, recent work indicates that
simply for telephone traffic, the excess network signaling load
expense would be much larger than that required for classical fixed
traffic. If migrant services and databases are included, the
aggregate signaling load can only be greater. In addition, for
wireless systems, the relevant signaling events require use of radio
channels and such use must be minimized owing to the scarcity of
bandwidth. Thus, either from the standpoint of modifying existing
fixed network signaling structures or designing wireless network
paging/registration strategies, it is important to understand,
quantify and devise methods for handling the impact of location
uncertainty on signaling.
SCOPE:
This special issue will concentrate on the problems associated with
acquiring and maintaining mobile unit location information in the
wireless environment. A representative sampling of topics is provided
below:
- Mobility modeling
- Location prediction
- Empirical measurements for user profiles
- Location tracking and mobile network topology
- Location tracking for handoff
- Paging/Registration cost minimization
- Multi-unit paging techniques
- Performance Analysis of location management strategies
PUBLICATION SCHEDULE:
MANUSCRIPT DUE: October 1, 1995
ACCEPTANCE NOTIFICATION: January 1, 1996
FINAL MANUSCRIPT DUE: March 1 1996
Publication Date: Summer 1996.
SUBMISSION GUIDELINES:
Authors should email an electronic Postscript copy of their paper to
winet_mobility@cs.umass.edu by October 1, 1995. The editors will
acknowledge the receipt of the paper within a few days. Submissions
should be limited to 20 pages, excluding figures and references. If
email submission is inconvenient, then six (6) copies of their paper
(double-sided if possible) should be sent by the due date to
Christopher Rose
P.O. Box 909
Piscataway, N.J. 08855-0909
VOICE: (908) 445-5250
FAX: (908) 445-2820
EMAIL: winet_mobility@cs.umass.edu
We look forward to your participation in providing a stimulating special issue
on an important topic.
Xref subject previous
Xref subject next
*******************************************************************
***********************CALL FOR PAPERS*****************************
*******************************************************************
The ACM journal on WIRELESS NETWORKS, published in cooperation with
Baltzer Science publishers announces a special issue on,
MOBILITY MANAGEMENT IN WIRELESS NETWORKS
with guest editors,
Prof. Christopher Rose Prof. Ramesh Sitaraman
Director of Mobility Studies Department of Computer Science
Rutgers University, WINLAB University of Massachusetts, Amherst
OVERVIEW:
Our highly mobile society and its increasing demand for immediate
access to knowledge will require that future information networks
gracefully accommodate mobility of both users and services. For
example, a particular user might wish to gain network access through
any number of different ports or connection media. Likewise, a
network service might reside on one of many possible processors.
Under such a scenario, where both users and network services change
location, the distinction between the ``fixed'' and ``mobile'' network
blurs; all networks are mobile networks.
The overall costs of maintaining accurate location records are at
present only poorly understood. However, recent work indicates that
simply for telephone traffic, the excess network signaling load
expense would be much larger than that required for classical fixed
traffic. If migrant services and databases are included, the
aggregate signaling load can only be greater. In addition, for
wireless systems, the relevant signaling events require use of radio
channels and such use must be minimized owing to the scarcity of
bandwidth. Thus, either from the standpoint of modifying existing
fixed network signaling structures or designing wireless network
paging/registration strategies, it is important to understand,
quantify and devise methods for handling the impact of location
uncertainty on signaling.
SCOPE:
This special issue will concentrate on the problems associated with
acquiring and maintaining mobile unit location information in the
wireless environment. A representative sampling of topics is provided
below:
- Mobility modeling
- Location prediction
- Empirical measurements for user profiles
- Location tracking and mobile network topology
- Location tracking for handoff
- Paging/Registration cost minimization
- Multi-unit paging techniques
- Performance Analysis of location management strategies
PUBLICATION SCHEDULE:
MANUSCRIPT DUE: October 1, 1995
ACCEPTANCE NOTIFICATION: January 1, 1996
FINAL MANUSCRIPT DUE: March 1 1996
Publication Date: Summer 1996.
SUBMISSION GUIDELINES:
Authors should email an electronic Postscript copy of their paper to
winet_mobility@cs.umass.edu by October 1, 1995. The editors will
acknowledge the receipt of the paper within a few days. Submissions
should be limited to 20 pages, excluding figures and references. If
email submission is inconvenient, then six (6) copies of their paper
(double-sided if possible) should be sent by the due date to
Christopher Rose
P.O. Box 909
Piscataway, N.J. 08855-0909
VOICE: (908) 445-5250
FAX: (908) 445-2820
EMAIL: winet_mobility@cs.umass.edu
We look forward to your participation in providing a stimulating special issue
on an important topic.
Xref subject previous
*******************************************************************
***********************CALL FOR PAPERS*****************************
*******************************************************************
The ACM journal on WIRELESS NETWORKS, published in cooperation with
Baltzer Science publishers announces a special issue on,
MOBILITY MANAGEMENT IN WIRELESS NETWORKS
with guest editors,
Prof. Christopher Rose Prof. Ramesh Sitaraman
Director of Mobility Studies Department of Computer Science
Rutgers University, WINLAB University of Massachusetts, Amherst
OVERVIEW:
Our highly mobile society and its increasing demand for immediate
access to knowledge will require that future information networks
gracefully accommodate mobility of both users and services. For
example, a particular user might wish to gain network access through
any number of different ports or connection media. Likewise, a
network service might reside on one of many possible processors.
Under such a scenario, where both users and network services change
location, the distinction between the ``fixed'' and ``mobile'' network
blurs; all networks are mobile networks.
The overall costs of maintaining accurate location records are at
present only poorly understood. However, recent work indicates that
simply for telephone traffic, the excess network signaling load
expense would be much larger than that required for classical fixed
traffic. If migrant services and databases are included, the
aggregate signaling load can only be greater. In addition, for
wireless systems, the relevant signaling events require use of radio
channels and such use must be minimized owing to the scarcity of
bandwidth. Thus, either from the standpoint of modifying existing
fixed network signaling structures or designing wireless network
paging/registration strategies, it is important to understand,
quantify and devise methods for handling the impact of location
uncertainty on signaling.
SCOPE:
This special issue will concentrate on the problems associated with
acquiring and maintaining mobile unit location information in the
wireless environment. A representative sampling of topics is provided
below:
- Mobility modeling
- Location prediction
- Empirical measurements for user profiles
- Location tracking and mobile network topology
- Location tracking for handoff
- Paging/Registration cost minimization
- Multi-unit paging techniques
- Performance Analysis of location management strategies
PUBLICATION SCHEDULE:
MANUSCRIPT DUE: October 1, 1995
ACCEPTANCE NOTIFICATION: January 1, 1996
FINAL MANUSCRIPT DUE: March 1 1996
Publication Date: Summer 1996.
SUBMISSION GUIDELINES:
Authors should email an electronic Postscript copy of their paper to
winet_mobility@cs.umass.edu by October 1, 1995. The editors will
acknowledge the receipt of the paper within a few days. Submissions
should be limited to 20 pages, excluding figures and references. If
email submission is inconvenient, then six (6) copies of their paper
(double-sided if possible) should be sent by the due date to
Christopher Rose
P.O. Box 909
Piscataway, N.J. 08855-0909
VOICE: (908) 445-5250
FAX: (908) 445-2820
EMAIL: winet_mobility@cs.umass.edu
We look forward to your participation in providing a stimulating special issue
on an important topic.
Xref: Re: comments on secure DNS spec Theodore Ts'o Xref: Re: comments on secure DNS spec Alex Alten Xref subject previous Xref subject next Humm...., I suppose if PKP is really disolved then the RFC from them which guarantees reasonable and non-discriminatory licensing is no longer in effect and no IETF standards using RSA can proceed until new assurances are in place. In this regard, RSA and ElGamal are in the same boat right now. Donald On Fri, 22 Sep 1995, Paul A Vixie wrote: > >>> This is a practical issue. Why not specify ElGamal instead of RSA? > >>> the RSA patent has 5 more years before it expires. ElGamal is > >>> unpatented and its underlying patent, Diffie-Hellman, expires in > >>> 1.5 years. I believe ElGamal is just as strong as RSA and has > >>> undergone over a decade of cryptanalysis. It is being used as the > >>> foundation of the US Digital Signature Standard. > >> > >> Some of your points are good but RSA is the standard for use in the > >> Internet now. Defining additional key types, such a ElGamal and > >> Diffie-Hellman is reasonable for storage in the DNS but a variety of > >> SIGs in DNS raises interoperability questions unless everyone > >> implements every algorithm. > > > > Unless I missed it, RSA has not been specified as a proposed standard RFC. > > RSA has a major drawback, its licensing costs. This is not a trivial > > point, many people will object to this. > > Not just "object". DNSSEC cannot go to "recommended standard" until we > have a signed license agreement from RSA in favour of ISOC. RFC 1601 or > 1602 (my memory is lapsing) pretty much requires this. I recommend that > you send mail to the IETF Security Area Director(s) explaining your > concerns; perhaps they will let you (or all of us?) know the status of > their work with RSA on this point. Doesn't need any actual license. Just a guarantee that licenses will be available on a reasonable and non-discriminatory basis. > Note that I do not expect RSA to give away _everything_; they'll likely > want licenses with vendors and individual users who _generate_ signatures, > but to merely _verify_ one is something that we can't require users to > pay for or DNSSEC will not catch on. > > > I'm asking you and the WG to seriously consider using ElGamal instead of > > RSA for signatures because we will avoid many years of licensing costs. I > > sincerely believe that this will enhance the acceptance of secure DNS in > > the Internet community by removing a financial constraint during the > > first half decade of its deployment. > > I strongly agree with this, but from my own efforts in this area I have > learned that RSA is the 600-pound gorilla in this picture, it will sit > anywhere it wants to. Your objection will no doubt be noted, along with > mine. > -- > Paul Vixie > La Honda, CA "Illegitimi non carborundum." >> pacbell!vixie!paul (dont let the bastards grind you down) Donald ===================================================================== Donald E. Eastlake 3rd +1 508-287-4877(tel) dee@cybercash.com 318 Acton Street +1 508-371-7148(fax) dee@world.std.com Carlisle, MA 01741 USA +1 703-620-4200(main office, Reston, VA)
Xref subject previous Xref subject next Date: Mon, 25 Sep 1995 12:13:45 -0400 (EDT) From: "Donald E. Eastlake 3rd"I suppose if PKP is really disolved then the RFC from them which guarantees reasonable and non-discriminatory licensing is no longer in effect and no IETF standards using RSA can proceed until new assurances are in place. In this regard, RSA and ElGamal are in the same boat right now. In the RSAREF license, RSADSI indemnified the users of the RSAREF license against "any claim, suit or proceeding against you on the basis of infringement of any United States patent in the field of cryptography by the unmodified Program". Hence, users of RSAREF have nothing to fear, since RSADSI has promised to defend (or at its option settle) any patent claims brought against those users from Cylink. Another Good Reason for making the dns-sec patent formats compatible with RSAREF. - Ted
Xref: Re: comments on secure DNS spec Donald E. Eastlake 3rd Xref subject previous Xref subject next >It is a >benefit, not a bug, if two sigs by the same authenticator over the >same data to be authentiated are identical. Is this true? I thought the consensus among the cryptographers was that you should never sign something unless you control part of the message to be signed. Phil
un subscribe E-MAIL:
Xref subject previous Xref subject next Well, you never want to sign something, especially with RSA, that someone else gives you because they might be secretly getting you to decrypt something or the like. But signing a hash of what they give you should be fine. If they can control what you are signing then, it means they can invert the hash function in which case you are sunk anyway and your signatures provide no security. Donald On Mon, 25 Sep 1995, Phil Karn wrote: > >It is a > >benefit, not a bug, if two sigs by the same authenticator over the > >same data to be authentiated are identical. > > Is this true? I thought the consensus among the cryptographers was > that you should never sign something unless you control part of the > message to be signed. > > Phil > ===================================================================== Donald E. Eastlake 3rd +1 508-287-4877(tel) dee@cybercash.com 318 Acton Street +1 508-371-7148(fax) dee@world.std.com Carlisle, MA 01741 USA +1 703-620-4200(main office, Reston, VA)
Xref subject previous
Xref subject next
At 11:03 AM 9/26/95, Donald E. Eastlake 3rd wrote:
>Well, you never want to sign something, especially with RSA, that
>someone else gives you because they might be secretly getting you to
>decrypt something or the like. But signing a hash of what they give
>you should be fine. If they can control what you are signing then, it
>means they can invert the hash function in which case you are sunk
>anyway and your signatures provide no security.
>
The first problem is an argument for using SHA/DSA instead of RSA.
I don't understand the concern with the hash function. Is it invertable?!
Can you be a little more descriptive than "sunk"?
Ken,
-------------------------------------------------------------
Kenneth E. Rowe (kerowe@ncsa.uiuc.edu)
Senior Security Engineer (217) 244-5270 (Office)
/ Security Coordinator (217) 244-0710 (NCSA IRST)
National Center for Supercomputing Applications
*** email ncsa-irst@ncsa.uiuc.edu for computer incident response ***
For those of you who are interested, there are a few pre-publication drafts
located at ftp.morningstar.com:pub/I-Net
1) AH-SHA, IESG approved, but RFC Editor is slow....
2) ESP-3DES, ditto.
3) IP-Tunneling, ditto.
4) A recent revision of Photuris (-02b). The one I just sent to
internet-drafts as -03, but not quite as well formatted.
This draft has the re-organized packet formats, as suggested by the
implementors. Over the next week, I'd like to have a wider group of
folks take pot-shots at it. Anything I forgot?
I split out all the non-required attributes to a separate draft, just in
case you were wondering.....
So, let's stick to just the fields and protocol facilities. Next week,
we can worry about nits in wording, although if you see anything you
don't understand, send the list a paragraph or two to replace it!
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous Xref subject next On Tue, 26 Sep 1995, Kenneth E. Rowe wrote: > At 11:03 AM 9/26/95, Donald E. Eastlake 3rd wrote: > >Well, you never want to sign something, especially with RSA, that > >someone else gives you because they might be secretly getting you to > >decrypt something or the like. But signing a hash of what they give > >you should be fine. If they can control what you are signing then, it > >means they can invert the hash function in which case you are sunk > >anyway and your signatures provide no security. > > The first problem is an argument for using SHA/DSA instead of RSA. The point about RSA is the signing is encrypting under the private key which is decrypting under the public key. Yes, this is an argument for other signature algorithms, but not a very stong one if you use proper procedures. > I don't understand the concern with the hash function. Is it invertable?! > Can you be a little more descriptive than "sunk"? If someone can invert a hash function and easily come up with things that hash to a particular hash value, they can probably find something that you wouldn't sign with the same hash as what you did sign so they can forge messages your signature will appear to sign. That's what I meant by sunk. There is no particular reason to think MD5 is weak in this regard. > Ken, > ------------------------------------------------------------- > Kenneth E. Rowe (kerowe@ncsa.uiuc.edu) > Senior Security Engineer (217) 244-5270 (Office) > / Security Coordinator (217) 244-0710 (NCSA IRST) > National Center for Supercomputing Applications > *** email ncsa-irst@ncsa.uiuc.edu for computer incident response *** Donald ===================================================================== Donald E. Eastlake 3rd +1 508-287-4877(tel) dee@cybercash.com 318 Acton Street +1 508-371-7148(fax) dee@world.std.com Carlisle, MA 01741 USA +1 703-620-4200(main office, Reston, VA)
Xref subject previous After thinking about this for a while, I've come to the conclusion that the Internet community needs to settle on a public key standard. The situation right now is untenable, defacto standards like PGP are implemented with homegrown RSA, RFC1824 (TESS) specifies ElGamal, many drafts are specifing RSAREF. Managing and distributing keys among all these protocols will be difficult, if not impossible. We need to issue a RFC that secure DNS, secure SNMP, and others can reference. Certainly RSA is a fine algorithm, albeit expensive over the next 5 years. We need to seriously consider other algorithms, such as ElGamal, for the standard. I think the choice should be one that has withstood years of cryptanalysis, it is reasonable to implement and use, and it will be unencumbered with patents, etc., as soon as possible. At this point in time I tend to favor ElGamal as having the best mix of these properties, it will be unencumbered in 1.5 years. - Alex > > Humm...., > > I suppose if PKP is really disolved then the RFC from them which > guarantees reasonable and non-discriminatory licensing is no longer > in effect and no IETF standards using RSA can proceed until new > assurances are in place. In this regard, RSA and ElGamal are in > the same boat right now. > > Donald > > On Fri, 22 Sep 1995, Paul A Vixie wrote: > > > >>> This is a practical issue. Why not specify ElGamal instead of RSA? > > >>> the RSA patent has 5 more years before it expires. ElGamal is > > >>> unpatented and its underlying patent, Diffie-Hellman, expires in > > >>> 1.5 years. I believe ElGamal is just as strong as RSA and has > > >>> undergone over a decade of cryptanalysis. It is being used as the > > >>> foundation of the US Digital Signature Standard. > > >> > > >> Some of your points are good but RSA is the standard for use in the > > >> Internet now. Defining additional key types, such a ElGamal and > > >> Diffie-Hellman is reasonable for storage in the DNS but a variety of > > >> SIGs in DNS raises interoperability questions unless everyone > > >> implements every algorithm. > > > > > > Unless I missed it, RSA has not been specified as a proposed standard RFC. > > > RSA has a major drawback, its licensing costs. This is not a trivial > > > point, many people will object to this. > > > > Not just "object". DNSSEC cannot go to "recommended standard" until we > > have a signed license agreement from RSA in favour of ISOC. RFC 1601 or > > 1602 (my memory is lapsing) pretty much requires this. I recommend that > > you send mail to the IETF Security Area Director(s) explaining your > > concerns; perhaps they will let you (or all of us?) know the status of > > their work with RSA on this point. > > Doesn't need any actual license. Just a guarantee that licenses will be > available on a reasonable and non-discriminatory basis. > > > Note that I do not expect RSA to give away _everything_; they'll likely > > want licenses with vendors and individual users who _generate_ signatures, > > but to merely _verify_ one is something that we can't require users to > > pay for or DNSSEC will not catch on. > > > > > I'm asking you and the WG to seriously consider using ElGamal instead of > > > RSA for signatures because we will avoid many years of licensing costs. I > > > sincerely believe that this will enhance the acceptance of secure DNS in > > > the Internet community by removing a financial constraint during the > > > first half decade of its deployment. > > > > I strongly agree with this, but from my own efforts in this area I have > > learned that RSA is the 600-pound gorilla in this picture, it will sit > > anywhere it wants to. Your objection will no doubt be noted, along with > > mine. > > -- > > Paul Vixie > > La Honda, CA "Illegitimi non carborundum." > >> > pacbell!vixie!paul (dont let the bastards grind you down) > > Donald > ===================================================================== > Donald E. Eastlake 3rd +1 508-287-4877(tel) dee@cybercash.com > 318 Acton Street +1 508-371-7148(fax) dee@world.std.com > Carlisle, MA 01741 USA +1 703-620-4200(main office, Reston, VA) > > -- Alexander I. Alten Alten@Na.Sjf.Novell.Com (408) 577-8224 Novell, Inc. Member of Technical Staff Mail Stop F1-42-D2 2180 Fortune Drive San Jose, CA 95131 USA
Xref: Re: IP security Hilarie Orman Xref: Re: IP security Hilarie Orman Xref subject previous Xref subject next > > > Don Eastlake wrote: > >I think secure Telnet and FTP and the plethora of other point to point > >security protocols in the Internet should go away and be replaced by > >IPSEC. If the decision were up to me, I'd seriously consider an > >embargo on any "improvements" to these other point-to-point protocols > >to encourage development and deployment of IPSEC. (These comments do > >not apply to store-and-forward security such as DNS and email.) > > Alex Alten responded: > % I'm afraid that I must disagree with you about Telnet and FTP. > % These protocols depend on user authentication. IP level > % authentication is not enough to distinguish between users on a > % multi-user system. > > The above comment tells me that you must not have read RFC-1825 thru > RFC-1827 carefully enough. The IPsec Proposed Standards _require_ > that implementations support user-oriented keying so that one _can_ > distinguish between users on a multi-user system with cryptographic > assurances. The NRL IPsec implementation does support keying on a > per-socket basis NOW. (We have a BSD based implementation, so sockets > are the appropriate term; one could do the same thing with TLI/XTI > though the implementation details would differ). > I read 1825 and 1826. While these documents do comment on supporting user authentication, it is not clear to me how this information is actually percolated between IP, UDP/TCP, and the application protocols. IP can certainly communicate authentication information with UDP and TCP but without redesigning those protocols how does the information get to the application layer? For example how could FTP command and data sessions insert user authentication info into the IPSEC AH header? How does the IP layer coordinate with the FTP layer to verify an incoming packet? It seems this all becomes rather difficult unless you are willing to break the modularity of each layer. The NRL implementation must be reaching around the UDP and TCP headers in order to insert the user keys into the IPSEC AH header. If I have two FTP users establishing command sessions with a distant FTP server, how does that server's IP stack know which key belongs to which incoming packet? It would have to look into the TCP header to find out what is going on and then somehow look up the correct key associated with that incoming port number and IP address. What if an FTP client disconnects and then reconnects with a new command session source port number? Key management based on IP and port number (a socket) will be a challenge. Interoperability at the socket level between various vendors will be even more of a challenge. I believe that IP security should only concern itself with the IP layer e.g. authenticating IP addresses, etc. Nothing more, nothing less. > % Some protocols like SNMP are also used over other non-Internet protocols, > % such as Appletalk and IPX. > > True, though at last report ALL security was being removed from SNMPv2 > by the working group. Also, Don did not say that there were no > applications needing application security, just that most applications > did not need application layer security. > This is correct, I was one of those who recommended that it be dropped from the current round. We hope to continue with an effort focused only on security. > % From an overall design perspective I doubt IPSEC will be able to > % adequately deal with the security needs of all higher level protocols. > % I'm finding out that each one has its individual needs which cannot > % always be covered by a "one size fits all" solution. > > I agree with Don that IPsec can fully handle the security needs of MOST > higher level protocols and that we probably ought not keep stuffing > security into EVERY upper-layer protocol. DNS and PEM are good examples > of higher level protocols that really need application layer security. > I disagree with this statement for the following reasons: 1. If IPSEC fails to be accepted by the Internet community, then there is no alternative mechanism (except SSL?). An example of this is the failure of the old SNMP security design. I think it is important for application protocols to develop their own security mechanisms. 2. For the forseeable future IPSEC will not be uniformly deployed throughout the world. Thus one cannot be assured that data can be sent securely anywhere using only IPSEC. A company may be able to ensure that its employees can use a secure application level protocol since it can control it's host machines. But it may not be able to control intermediate gateways to guarentee end-to-end IP security. 3. An IP stack may not be under user control, therefore there is no assurance that user data is always safe. Security will depend on the trustworthiness of an administrator of the stack. Or the transport stack could be poorly implemented, allowing others to crack or retrieve keys (like the recent snafu with Netscape). > Ran > rja@cs.nrl.navy.mil > > [Followups probably belong on the IPsec list or in private email > rather than on the DNS Security list...] Please tell me how to register with the IPsec list. - Alex -- Alexander I. Alten Alten@Na.Sjf.Novell.Com (408) 577-8224 Novell, Inc. Member of Technical Staff Mail Stop F1-42-D2 2180 Fortune Drive San Jose, CA 95131 USA
Xref subject previous Xref subject next The RFCs in question address IP message protection and authentication, not much more nor less, just as one would wish. Can there exist an interface to higher levels that provide authentication at the granularity of a "user" (whatever such an entity may be)? It appears so to several people, and the binding between security association identifiers and users is the central to the feasibility. The mechanism of that binding and the interface to it hasn't been defined in detail yet. So we have a network level mechanism with the informal claim that it covers almost all transport level uses, given an appropriate interface definition. One important use that the RFC's don't define is a way of providing message protection at a granularity smaller than one IP message. If this is crucial to one's need for security, then another mechanism will be required. Multipart secure messages seem like a useful thing for many applications, of course. So I think there is a legitimate argument that is brewing where the application layer security people clash with the ESP people on which territory is more rightfully theirs.
Xref subject previous The RFCs in question address IP message protection and authentication, not much more nor less, just as one would wish. Can there exist an interface to higher levels that provide authentication at the granularity of a "user" (whatever such an entity may be)? It appears so to several people, and the binding between security association identifiers and users is the central to the feasibility. The mechanism of that binding and the interface to it hasn't been defined in detail yet. So we have a network level mechanism with the informal claim that it covers almost all transport level uses, given an appropriate interface definition. One important use that the RFC's don't define is a way of providing message protection at a granularity smaller than one IP message. If this is crucial to one's need for security, then another mechanism will be required. Multipart secure messages seem like a useful thing for many applications, of course. So I think there is a legitimate argument that is brewing where the application layer security people clash with the ESP people on which territory is more rightfully theirs.
Xref subject next
I have a question about making 3DES keys. Are there particular hardware
and software implementation requirements?
For a key generator of MD5, it seems relatively obvious that the 128-bits
could be split into two 64-bit chunks, and allocated between encrypt and
decrypt (EDE), wasting the lsb of each octet.
But when using SHA, we get 160-bits, which is almost enough for three
separate 56-bit keys. We could do something clever to make up the last
8 bits.
What have people implemented in the past?
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject next
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the IP Security Protocol Working
Group of the IETF.
Title : The Photuris Session Key Management Protocol
Author(s) : P. Karn, W. Simpson
Filename : draft-ietf-ipsec-photuris-03.txt
Pages : 44
Date : 09/26/1995
Photuris [Firefly] is an experimental session-key management protocol
intended for use with the IP Security Protocols (AH and ESP).
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-ipsec-photuris-03.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-03.txt>draft-ietf-ipsec-photuris-03.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-03.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-ipsec-photuris-03.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950926174904.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-ipsec-photuris-03.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-ipsec-photuris-03.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950926174904.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref subject previous
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the IP Security Protocol Working
Group of the IETF.
Title : The Photuris Session Key Management Protocol
Author(s) : P. Karn, W. Simpson
Filename : draft-ietf-ipsec-photuris-03.txt
Pages : 44
Date : 09/26/1995
Photuris [Firefly] is an experimental session-key management protocol
intended for use with the IP Security Protocols (AH and ESP).
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-ipsec-photuris-03.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-03.txt>draft-ietf-ipsec-photuris-03.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-03.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-ipsec-photuris-03.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950926174904.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-ipsec-photuris-03.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-ipsec-photuris-03.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950926174904.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref: Re: 3DES keys Hilarie Orman
Xref subject previous
Xref subject next
It would be best to describe a way to partionIt would be best to describe a way
to use a key stream to obtain keys for a given algorithm separate from the
creation of the key stream.
We should not use clever tricks to create bits for a specific algorithm (3DES
and SHA).
Proposal
All "security transforms" should include the size of key stream required for
initialization and the process for using these bits with the defined transform.
An algorithmic approach (e.g. using MD5 or SHA) should be defined to lengthen a
sequence when required to provide sufficient keying bits.
This means that for 3DES with 2 keys (112 bits) one MD5 (128 bits) chunk or one
SHA (160 bits) chunk would suffice. For 3DES with 3 keys (168 bits) two
"chunks" of MD5 (256) or SHA (320) would be required.
Should "extra" bits be ignored, or should an algorithm be defined to mix down
excess bits into a given key size?
Paul
_______________________________________________________________________________
Subject: 3DES keys
Author: bsimpson@morningstar.com@INTERNET
Date: 9/27/95 10:36 AM
I have a question about making 3DES keys. Are there particular hardware
and software implementation requirements?
For a key generator of MD5, it seems relatively obvious that the 128-bits
could be split into two 64-bit chunks, and allocated between encrypt and
decrypt (EDE), wasting the lsb of each octet.
But when using SHA, we get 160-bits, which is almost enough for three
separate 56-bit keys. We could do something clever to make up the last
8 bits.
What have people implemented in the past?
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref: Re: 3DES keys Theodore Ts'o Xref: Re: 3DES keys Theodore Ts'o Xref subject previous Xref subject next I think there is some concern about the starting entropy, and it is worthwhile to have a careful discussion about it. My understanding is that Photuris will have only 64 bits of initial entropy. Using this with MD5 to generate 112 bits for 3DES (2 key) is inappropriate, I believe. It is inappropriate in the same way that 40-bit DES is a crippled DES. And 3DES (2 key) has its own problems.
Xref: Re: 3DES keys Hilarie Orman Xref: Re: 3DES keys Hilarie Orman Xref subject previous Xref subject next > From: Hilarie Orman> I think there is some concern about the starting entropy, and it is > worthwhile to have a careful discussion about it. My understanding is > that Photuris will have only 64 bits of initial entropy. Goodness, where did that 64-bit limit come from? Your elliptic curves should provide (fixed) 155 bits, correct? Do you have some longer ones? The currently specified moduli should provide a maximum of 1024 bits (and we are looking at 2048 bit primes now), and a minimum of the (sum of the?) length of the two exponents, correct? The current test code uses 128-bit exponents for each side. As written, The most conservative advice received to date [Hellman95] is to make the random exponent twice as long as the intended session-key. ... The size of the exponent is entirely implementation dependent, is unknown to the other party, and can be easily changed. Could you read the (rather sparse) text that I put in security considerations, and expand it, please? The modular exponentiation, elliptic curve, and key generator algorithms provide a number of bits of keying material. Use of an algorithm which produces a fewer number of keying bits than required for a selected transform results in less robust security than would otherwise be expected. > Using this > with MD5 to generate 112 bits for 3DES (2 key) is inappropriate, I > believe. It is inappropriate in the same way that 40-bit DES is a > crippled DES. > Absolutely! > And 3DES (2 key) has its own problems. > Yes, which is why I was asking whether we are stuck with 2 key, or can agree on some method of making 3 keys work. Maybe we need some better (longer) key hashers than MD5 and SHA? But, that is only effective if we aren't limited to 2 keys by current implementations. Who's doing hardware 3DES out there? Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous
Xref subject next
> From: Paul_Lambert-P15452@email.mot.com
> It would be best to describe a way to partionIt would be best to describe a way
> to use a key stream to obtain keys for a given algorithm separate from the
> creation of the key stream.
>
Well, Paul, it's bloody obvious you haven't read Photuris! Already done!
> All "security transforms" should include the size of key stream required for
> initialization and the process for using these bits with the defined transform.
>
Ah, you haven't read AH-MD5 or ESP-DES either. (So much for "WG review"
when a chair hasn't read it.) See the section labeled "Keys". (sigh)
> An algorithmic approach (e.g. using MD5 or SHA) should be defined to lengthen a
> sequence when required to provide sufficient keying bits.
>
That's what I'm asking. What algorithm should we use?
> This means that for 3DES with 2 keys (112 bits) one MD5 (128 bits) chunk or one
> SHA (160 bits) chunk would suffice. For 3DES with 3 keys (168 bits) two
> "chunks" of MD5 (256) or SHA (320) would be required.
>
Yeah, that's what I thought. That's why I asked.
> Should "extra" bits be ignored, or should an algorithm be defined to mix down
> excess bits into a given key size?
>
Currently written that the extra bits are ignored in each attribute.
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous Xref subject next Date: Wed, 27 Sep 1995 15:39:31 -0700 From: Hilarie OrmanAnd 3DES (2 key) has its own problems. What sort of problems does 3DES (2key) have? I had thought that it was unsettled whether or not there was any advantage in using a 3rd key for triple-DES. Has there been some recent developments that answer this question one way or another? - Ted
Xref subject next
--NextPart
A New Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the IP Security Protocol Working
Group of the IETF.
Title : Photuris Extended Attributes
Author(s) : W. Simpson
Filename : draft-ietf-ipsec-photuris-attrib-00.txt
Pages : 10
Date : 09/27/1995
Photuris is an experimental session-key management protocol intended for
use with the IP Security Protocols (AH and ESP). Extensible Attributes are
provided to enable future implementation changes without affecting the
basic protocol.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-ipsec-photuris-attrib-00.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-attrib-00.txt>draft-ietf-ipsec-photuris-attrib-00.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-attrib-00.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-ipsec-photuris-attrib-00.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950927171218.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-ipsec-photuris-attrib-00.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-ipsec-photuris-attrib-00.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950927171218.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref subject previous Xref subject next Date: Wed, 27 Sep 1995 15:39:31 -0700 From: Hilarie OrmanAnd 3DES (2 key) has its own problems. What sort of problems does 3DES (2key) have? I had thought that it was unsettled whether or not there was any advantage in using a 3rd key for triple-DES. Has there been some recent developments that answer this question one way or another? - Ted
Xref subject previous
--NextPart
A New Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the IP Security Protocol Working
Group of the IETF.
Title : Photuris Extended Attributes
Author(s) : W. Simpson
Filename : draft-ietf-ipsec-photuris-attrib-00.txt
Pages : 10
Date : 09/27/1995
Photuris is an experimental session-key management protocol intended for
use with the IP Security Protocols (AH and ESP). Extensible Attributes are
provided to enable future implementation changes without affecting the
basic protocol.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-ipsec-photuris-attrib-00.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-attrib-00.txt>draft-ietf-ipsec-photuris-attrib-00.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-attrib-00.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-ipsec-photuris-attrib-00.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950927171218.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-ipsec-photuris-attrib-00.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-ipsec-photuris-attrib-00.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950927171218.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref: Re: 3DES keys Bill Sommerfeld Xref: Re: 3DES keys Bill Sommerfeld Xref subject previous Xref subject next > The modular exponentiation, elliptic curve, and key generator > algorithms provide a number of bits of keying material. Use of an > algorithm which produces a fewer number of keying bits than required > for a selected transform results in less robust security than would > otherwise be expected. Shouldn't this be "fewer than *twice* as many keying bits ..." ? (The 155 bits from the elliptic curve example is only good for 155/2 keying bits.)
Xref subject next
Call for Papers
For the new journal published in cooperation with the ACM:
WIRELESS NETWORKS
Special Issue: Mobility and Security
Scope:
Mobility introduces a new dimension to the problem of secure computing and
communication. The securing becomes harder and often more important. This is
sometimes due to the mobility of the communication devices, sometimes due
to the mobility of users (without mobile device), or the mobility of objects,
or that of the attackers.
Papers are sought that address the requirements, designs, algorithms and
implementation experience for securing networks, distributed systems,
information, and applications in environments that can support mobility.
Possible topics include, but are not limited to:
Securing communication and distributed systems, such as:
- Internet (TCP/IP, mobile IP, DNS, DHCP)
- ATM
- CDPD
- GSM
- SNA
- Wireless LAN
Cryptographic protocols, such as:
- key distribution
- authentication
- payments
- anonymity and privacy
Cryptographic functions, such as:
- encryption
- message authentication
- message digest
- signatures
Computer viruses and worms
Security for intelligent and mobile objects and agents
Secure electronic commerce
Cryptographic hardware
Security and cryptography for wireless communication systems.
The authors should send 6 copies of their paper to one of the guest
editors by November 15, 1995. The following time-table shall be followed:
Manuscript Submission Deadline: November 15, 1995
Acceptance Notification: May 15, 1996
Final Manuscript Submission Deadline: July 15, 1996
Expected Publication Date: Last Quarter 1996
E-mail submissions are encouraged (post-script only). Set subject
to `Submission to WINET special issue'.
Guest Editors:
Amir Herzberg
IBM T.J. Watson Research Center
P.O. Box 704 #H3-D18
Yorktown Heights, NY 10598
Telephone: (914) 784-6981
Facsimile: (914) 784-6205
Internet: amir@watson.ibm.com
Shay Kutten
IBM T.J. Watson Research Center
P.O. Box 704 #H3-D38
Yorktown Heights, NY 10598
Telephone: (914) 784-7346
Facsimile: (914) 784-6205
Internet: kutten@watson.ibm.com
Xref subject previous
Call for Papers
For the new journal published in cooperation with the ACM:
WIRELESS NETWORKS
Special Issue: Mobility and Security
Scope:
Mobility introduces a new dimension to the problem of secure computing and
communication. The securing becomes harder and often more important. This is
sometimes due to the mobility of the communication devices, sometimes due
to the mobility of users (without mobile device), or the mobility of objects,
or that of the attackers.
Papers are sought that address the requirements, designs, algorithms and
implementation experience for securing networks, distributed systems,
information, and applications in environments that can support mobility.
Possible topics include, but are not limited to:
Securing communication and distributed systems, such as:
- Internet (TCP/IP, mobile IP, DNS, DHCP)
- ATM
- CDPD
- GSM
- SNA
- Wireless LAN
Cryptographic protocols, such as:
- key distribution
- authentication
- payments
- anonymity and privacy
Cryptographic functions, such as:
- encryption
- message authentication
- message digest
- signatures
Computer viruses and worms
Security for intelligent and mobile objects and agents
Secure electronic commerce
Cryptographic hardware
Security and cryptography for wireless communication systems.
The authors should send 6 copies of their paper to one of the guest
editors by November 15, 1995. The following time-table shall be followed:
Manuscript Submission Deadline: November 15, 1995
Acceptance Notification: May 15, 1996
Final Manuscript Submission Deadline: July 15, 1996
Expected Publication Date: Last Quarter 1996
E-mail submissions are encouraged (post-script only). Set subject
to `Submission to WINET special issue'.
Guest Editors:
Amir Herzberg
IBM T.J. Watson Research Center
P.O. Box 704 #H3-D18
Yorktown Heights, NY 10598
Telephone: (914) 784-6981
Facsimile: (914) 784-6205
Internet: amir@watson.ibm.com
Shay Kutten
IBM T.J. Watson Research Center
P.O. Box 704 #H3-D38
Yorktown Heights, NY 10598
Telephone: (914) 784-7346
Facsimile: (914) 784-6205
Internet: kutten@watson.ibm.com
Xref subject previous Xref subject next -----BEGIN PGP SIGNED MESSAGE----- content-type: text/plain; charset=us-ascii > The modular exponentiation, elliptic curve, and key generator > algorithms provide a number of bits of keying material. Use of an > algorithm which produces a fewer number of keying bits than required > for a selected transform results in less robust security than would > otherwise be expected. Shouldn't this be "fewer than *twice* as many keying bits ..." ? (The 155 bits from the elliptic curve example is only good for 155/2 keying bits.) Are you saying that you think that the keys in each direction need to be completely independant? i.e.: key A->B = hash (secret1, A, B, ...) key B->A = hash (secret2, B, A, ...) where secret1 and secret2 each consist of half of the bits of the shared secret? - Bill -----BEGIN PGP SIGNATURE----- Version: 2.6.1 iQCVAwUBMGr53Vpj/0M1dMJ/AQEFZAP+LKBECjijmqQnt2f/sCWuJiWzFUlFlboQ ZbOSgzGZQe4fbL8eXlPsnuP4TxXBnz1gkM6PIsA8JJUEOMW2zeHaNTfXT2HNA6kr J7FfA8Df7YqlEYUedCwE1vHSNDHE3xZMo+vUKxteX3+n5rERe/WzWnaUtt0CTU/0 JnCEZ7kNUWc= =Z/hn -----END PGP SIGNATURE-----
Xref: Re: 3DES keys Uri Blumenthal Xref: Re: 3DES keys Uri Blumenthal Xref subject previous Xref subject next -----BEGIN PGP SIGNED MESSAGE----- content-type: text/plain; charset=us-ascii > The modular exponentiation, elliptic curve, and key generator > algorithms provide a number of bits of keying material. Use of an > algorithm which produces a fewer number of keying bits than required > for a selected transform results in less robust security than would > otherwise be expected. Shouldn't this be "fewer than *twice* as many keying bits ..." ? (The 155 bits from the elliptic curve example is only good for 155/2 keying bits.) Are you saying that you think that the keys in each direction need to be completely independant? i.e.: key A->B = hash (secret1, A, B, ...) key B->A = hash (secret2, B, A, ...) where secret1 and secret2 each consist of half of the bits of the shared secret? - Bill -----BEGIN PGP SIGNATURE----- Version: 2.6.1 iQCVAwUBMGr53Vpj/0M1dMJ/AQEFZAP+LKBECjijmqQnt2f/sCWuJiWzFUlFlboQ ZbOSgzGZQe4fbL8eXlPsnuP4TxXBnz1gkM6PIsA8JJUEOMW2zeHaNTfXT2HNA6kr J7FfA8Df7YqlEYUedCwE1vHSNDHE3xZMo+vUKxteX3+n5rERe/WzWnaUtt0CTU/0 JnCEZ7kNUWc= =Z/hn -----END PGP SIGNATURE-----
Xref subject previous Xref subject next Bill Sommerfeld writes: > Are you saying that you think that the keys in each direction need to > be completely independant? I'd say - intractable relation should be good enough. -- Regards, Uri uri@watson.ibm.com -=-=-=-=-=-=-
Xref subject previous Xref subject next Bill Sommerfeld writes: > Are you saying that you think that the keys in each direction need to > be completely independant? I'd say - intractable relation should be good enough. -- Regards, Uri uri@watson.ibm.com -=-=-=-=-=-=-
The 10th draft of the SILS Key Management Protocol (KMP) is available
on-line.
The document is in four PostSrcipt files:
ftp://atlas.arc.nasa.gov/pub/sils/kmpd101.ps
ftp://atlas.arc.nasa.gov/pub/sils/kmpd102.ps
ftp://atlas.arc.nasa.gov/pub/sils/kmpd103.ps
ftp://atlas.arc.nasa.gov/pub/sils/kmpd104.ps
This draft is being balloted by the working group. With the execption of
the Examples Appendix, it is pretty complete. We have found a few errors,
and these will be fixed when the comments from the working group ballot are
resolved.
The SILS KMP includes many features that are not available in Photuris
including support for manual key deistribtion, support for center-based key
distribution, and support for multicast key distribution.
As always, comments are welcome.
Russ
Xref subject next
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the IP Security Protocol Working
Group of the IETF.
Title : Simple Key-Management For Internet Protocols (SKIP)
Author(s) : A. Aziz
Filename : draft-ietf-ipsec-skip-02.txt
Pages : 50
Date : 09/28/1995
There are occasions where it is advantageous to put authenticity and
privacy features at the network layer. The vast majority of the privacy and
authentication protocols in the literature deal with session oriented
key-management schemes. However, many of the commonly used network layer
protocols (for example, IP and IPv6) are session-less datagram oriented
protocols. We describe a key-management scheme that is particularly well
suited for use in conjunction with a session-less datagram protocol like IP
or IPv6.
We also describe a simple extension of this protocol to provide scalable
group key-management for Internet multicasting protocols. The SKIP protocol
has been designed to work with the IP Security Protocols AH and ESP [8,9,10]
which are specified for both IPv4 and IPv6.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-ipsec-skip-02.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-skip-02.txt>draft-ietf-ipsec-skip-02.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-skip-02.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-ipsec-skip-02.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950928165041.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-ipsec-skip-02.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-ipsec-skip-02.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950928165041.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref subject previous
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the IP Security Protocol Working
Group of the IETF.
Title : Simple Key-Management For Internet Protocols (SKIP)
Author(s) : A. Aziz
Filename : draft-ietf-ipsec-skip-02.txt
Pages : 50
Date : 09/28/1995
There are occasions where it is advantageous to put authenticity and
privacy features at the network layer. The vast majority of the privacy and
authentication protocols in the literature deal with session oriented
key-management schemes. However, many of the commonly used network layer
protocols (for example, IP and IPv6) are session-less datagram oriented
protocols. We describe a key-management scheme that is particularly well
suited for use in conjunction with a session-less datagram protocol like IP
or IPv6.
We also describe a simple extension of this protocol to provide scalable
group key-management for Internet multicasting protocols. The SKIP protocol
has been designed to work with the IP Security Protocols AH and ESP [8,9,10]
which are specified for both IPv4 and IPv6.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-ipsec-skip-02.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-skip-02.txt>draft-ietf-ipsec-skip-02.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-skip-02.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-ipsec-skip-02.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19950928165041.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-ipsec-skip-02.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-ipsec-skip-02.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19950928165041.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref: Re: 3DES keys Tatu Ylonen
Xref: Re: 3DES keys Tatu Ylonen
Xref subject previous
Xref subject next
I think this might be misleading:
The size of the exponent is entirely implementation dependent,
is unknown to the other party, and can be easily changed.
Both parties must agree on the minimum acceptable exponent size. It
is not enough for one party to say "I need 56 bits of key so I'll use
a 112 bit exponent" and for the other to say "I need 112 bits of key
so I'll use a 224 bit exponent." The resulting strength would be the
lesser of the two choices. So, if both parties want to get keys from
one DH exchange, they've got to agree on the goal.
I am uncertain about the entropy relationship of "keying material" and
"shared secret". If the shared secret were based on 256-bit exponents,
would this result in an effective 128-bits of "keying material"? I can't
quite separate the notion of actual bitstring length from the strength
of the keying material in this paragraph:
The modular exponentiation, elliptic curve, and key generator
algorithms provide a number of bits of keying material. Use of an
algorithm which produces a fewer number of keying bits than required
for a selected transform results in less robust security than would
otherwise be expected.
I'm not sure how to rewrite the paragraph, but it's got to include these
four notions:
1. length of the shared secret (depends on the modulus or field size)
2. strength of the shared secret (depends on the minimum exponent size
used by Alice and Bob)
3. length of the bitstring of the resulting keying material
(depends on the details of the key generator algorithm)
4. strength of the keying material (should be the minimum of the length of
the keying material bitstring and one-half the minimum exponent).
Both the strength and the length must be appropriate for the resulting
keys (which presumably have strength nearly equal to length).
Xref subject previous Xref subject next Mr. Simpson: >> From: Paul_Lambert-P15452@email.mot.com >>It would be best to describe a way to use a key stream to >>obtain keys for a given algorithm separate from the creation of the key stream. >> >Well, Paul, it's bloody obvious you haven't read Photuris! Already done! Yes I have read the last release of Photuris. You had just proposed that: > We could do something clever to make up the last 8 bits. We should *not* do something clever to extend a key stream just for a specific algorithm and key stream size! >Ah, you haven't read AH-MD5 or ESP-DES either. (So much for "WG review" >when a chair hasn't read it.) See the section labeled "Keys". (sigh) Yes, I have read the specifications and am aware of both the content and warts. Lighten-up Bill, you might enjoy life more if you dropped some of your hostilities. Paul
Xref: Re: 3DES keys Hilarie Orman Xref subject previous Xref subject next > From: Hilarie Orman> I think this might be misleading: > > The size of the exponent is entirely implementation dependent, > is unknown to the other party, and can be easily changed. > Phil's words, so I'll let him defend it. But, I'm not sure that I agree with your analysis here: > Both parties must agree on the minimum acceptable exponent size. It > is not enough for one party to say "I need 56 bits of key so I'll use > a 112 bit exponent" and for the other to say "I need 112 bits of key > so I'll use a 224 bit exponent." The resulting strength would be the > lesser of the two choices. So, if both parties want to get keys from > one DH exchange, they've got to agree on the goal. > As you know, crypto-math isn't my strength. But, my understanding of the basic function of exponentiation is that multiplying two unknowns together yields an uncertainty size which is the _sum_ of the lengths of the unknowns. That's how it works for standard errors elsewhere. For your examples, one party uses 112 bits and the other uses 224, between them they have 336 bits of uncertainty. Each doesn't care that they have more than needed, only that they got enough. Moreover, the leading zero bits are uncertain, too. That is, within the moduli size of 1024, if the exponent could be 1024 or 512 or 256 or anything in between, then those all have 1024 bits of uncertainty AS VIEWED FROM AN ATTACKER. Correct? That may be what Phil meant about exponent size being an "unknown", even to the other party. > I am uncertain about the entropy relationship of "keying material" and > "shared secret". If the shared secret were based on 256-bit exponents, > would this result in an effective 128-bits of "keying material"? The "keying material" is generated from the "shared secret". I don't understand why a 128-bit hash of an unknown (shared-secret) with entropy of 128-bit strength wouldn't yield 128-bits of strength in the hash? How does the hash become twice as certain? > I can't > quite separate the notion of actual bitstring length from the strength > of the keying material in this paragraph: > Good point. > I'm not sure how to rewrite the paragraph, but it's got to include these > four notions: > Thanks. I agree the terms need better detailing, and that they are different for modular exponentiation than elliptic curves, and also in the key generation; thus, need elaboration in their respective sections. > 4. strength of the keying material (should be the minimum of the length of > the keying material bitstring and one-half the minimum exponent). > I don't understand this last. Where did the 1/2 come from? (I already disagreed with the "minimum" instead of sum above.) Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous Xref subject next > For your examples, one party uses 112 bits and the other uses 224, > between them they have 336 bits of uncertainty. Each doesn't care that > they have more than needed, only that they got enough. Yes, but there number of bits of uncertainity here isn't the same as the strength, or work factor for breaking the system. It's often the case in cryptography that things don't add up this way. In DH, you've got g^x and g^y traveling over the wire, and the secret is g^(xy). Revealing either x or y will unravel the secret. So if the work factor for solving g^y for y is less than the work factor for solving g^x for x, then g^y is the weak link. As for the upper bits, the attacker has read the Photuris spec and knows that small exponents are recommended for efficiency. If you use 128 bits of exponent with DH, this has a strength of only 64 bits. This is because the time to solve a discrete log problem, using known techniques, is the square root of the exponent space. So if you used 64-bit exponents to get 64-bit keys, the attacker would have a work factor of only 2^32 to crack the DH, which would be disappointing to the user of the crypto algorithm, who thought the work factor was close to the key length.
We are planning on doing a SKIP interoperability test session at the Dallas IETF, based on the SKIP I-D that was recently published. Note: these aren't demos, (which we have been doing for over a year now) but rather interoperability efforts between independent implementations. I am happy to announce that at the SKIP BOF at Interop in Atlanta this week, 3 independent implementations of SKIP (based on an earlier draft) have successfully interoperated! There was not a single line of shared code between the 3 implementations, which were implemented in different parts of the world, with little communication between the parties. They have interoperated using different encryption algorithms, such as DES-CBC, RC4 etc. and with configurable key update policies. At least 2 of these implementations will become freely available. We will include support for ESP in our forthcoming free SKIP source sw, delayed by just a little bit to implement the draft that was published yesterday. Anyone else wishing to participate in SKIP interoperability tests at the Dallas IETF is more than welcome. These are open forums, and everyone is invited. Most of the current independent implementors plan to be there, to interoperate using SKIP/ESP/AH. If you plan to come, let me know. We'll try to reserve the right sized room, based on the response. After unicast SKIP interoperabililty, our goal is to focus on multicast SKIP interoperability at the April IETF, just in case you plan on implementing, and would like to know the road map. Ashar.
Xref: Re: 3DES keys Hilarie Orman Xref: Re: 3DES keys Hilarie Orman Xref: Re: 3DES keys David_A Wagner Xref subject previous Xref subject next > From: Hilarie Orman> Yes, but there number of bits of uncertainity here isn't the same as > the strength, or work factor for breaking the system. It's often the > case in cryptography that things don't add up this way. In DH, you've > got g^x and g^y traveling over the wire, and the secret is g^(xy). > Revealing either x or y will unravel the secret. So if the work > factor for solving g^y for y is less than the work factor for solving > g^x for x, then g^y is the weak link. > I'd forgotten that. I'll put some text in the Mod Exp section. As to elliptic curves, 155 bits of length or 155 bits of strength? > As for the upper bits, the attacker has read the Photuris spec and > knows that small exponents are recommended for efficiency. > Hmmm, have to think about that. Actually, I think it was the number of 1 bits.... Maybe we could still have very large exponents. > If you use 128 bits of exponent with DH, this has a strength of only 64 bits. > This is because the time to solve a discrete log problem, using known > techniques, is the square root of the exponent space. So if you used > 64-bit exponents to get 64-bit keys, the attacker would have a work factor > of only 2^32 to crack the DH, which would be disappointing to the user > of the crypto algorithm, who thought the work factor was close to the key > length. > Now again, I still don't understand this well enough to write about it. In Photuris, all the keys are generated by hashing from the shared-secret. Assume the shared-secret length is 128-bits, and its strength is therefore 64-bits. But given MD5, its 128-bit length birthday attack is also 64-bit strength. So, I don't understand why one would use more than 128 bits for the length of the shared-secret. Why would the conservative advice be 256 bit length? Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref: Re: 3DES keys Hilarie Orman
Xref subject previous
Xref subject next
> Both parties must agree on the minimum acceptable exponent size. It
> is not enough for one party to say "I need 56 bits of key so I'll use
> a 112 bit exponent" and for the other to say "I need 112 bits of key
> so I'll use a 224 bit exponent." The resulting strength would be the
> lesser of the two choices. So, if both parties want to get keys from
> one DH exchange, they've got to agree on the goal.
May I suggest choosing fixed exponent and other parameters that would
provide 256 bits of keying material (and a mechanism for agreeing on
extensions in future to cope e.g. with improved factoring methods).
For each algorithm you use as much of that as you need. I am worried
that the complexity may get out of hands. KISS (Keep It Simple
Stupid).
Slight performance improvements may be insufficient justification for
the added complexity. A 512 bit exponentiation takes much less than a
second on a 486; is there any real need to to ever use anything
smaller? This would provide enough key material and would avoid all
the complications.
Why not just say: the minimum exponent is 512 bits.
I am not familiar with elliptic curves, and it is not clear to me what
the speed tradeoff is with them.
Tatu Ylonen
Xref subject previous
Xref subject next
> Both parties must agree on the minimum acceptable exponent size. It
> is not enough for one party to say "I need 56 bits of key so I'll use
> a 112 bit exponent" and for the other to say "I need 112 bits of key
> so I'll use a 224 bit exponent." The resulting strength would be the
> lesser of the two choices. So, if both parties want to get keys from
> one DH exchange, they've got to agree on the goal.
May I suggest choosing fixed exponent and other parameters that would
provide 256 bits of keying material (and a mechanism for agreeing on
extensions in future to cope e.g. with improved factoring methods).
For each algorithm you use as much of that as you need. I am worried
that the complexity may get out of hands. KISS (Keep It Simple
Stupid).
Slight performance improvements may be insufficient justification for
the added complexity. A 512 bit exponentiation takes much less than a
second on a 486; is there any real need to to ever use anything
smaller? This would provide enough key material and would avoid all
the complications.
Why not just say: the minimum exponent is 512 bits.
I am not familiar with elliptic curves, and it is not clear to me what
the speed tradeoff is with them.
Tatu Ylonen
Xref subject previous Xref subject next > As to elliptic curves, 155 bits of length or 155 bits of strength? That's 155/2 bits of strength. > > As for the upper bits, the attacker has read the Photuris spec and > > knows that small exponents are recommended for efficiency. > > > Hmmm, have to think about that. Actually, I think it was the number of > 1 bits.... Maybe we could still have very large exponents. This is actually an interesting suggestion, but it probably doesn't win. You can get 64-bits of strength by dispersing 19 bits at random in 1024. This makes one part of the DH computation very fast, but it slows down the other substantially. > In Photuris, all the keys are generated by hashing from the > shared-secret. Assume the shared-secret length is 128-bits, and its > strength is therefore 64-bits. But given MD5, its 128-bit length > birthday attack is also 64-bit strength. Yes, that's true. > So, I don't understand why one would use more than 128 bits for the > length of the shared-secret. Why would the conservative advice be 256 > bit length? The title of the thread is 3DES keys. That's 112 bits * 2 = 224 bits of exponent. Separately Tatu Ylonen in <199509301605.SAA09672@shadows.cs.hut.fi> asks about the speed tradeoff for elliptic curves. The advantage of elliptic curves becomes more pronounced as the *length* of the shared secret (the modulus) increases. We found the break-even point to be 512 bits for mod p vs. 155 bits for EC. If you use 1024 bit or 2048 bit mod p systems, the corresponding EC's are much more efficient.
Xref subject previous Xref subject next Upon reading this a couple of more times: > In Photuris, all the keys are generated by hashing from the > shared-secret. Assume the shared-secret length is 128-bits, and its > strength is therefore 64-bits. But given MD5, its 128-bit length > birthday attack is also 64-bit strength. > So, I don't understand why one would use more than 128 bits for the > length of the shared-secret. Why would the conservative advice be 256 > bit length? I see your point. Yes, for a 128-bit MD5 key it is reasonable to choose from a 64-bit space. Hashing requires a different analysis than encryption. The difficulty of finding a collision for MD5 is about the same whether the key is 64 or 128 bits. Of course, with a 64 bit key, the probability of there being a collision is reduced.
Xref subject previous Xref subject next > A 512 bit exponentiation takes much less than a > second on a 486; With a 1024-bit modulus, which Photuris is leaning towards, this would be more like 2 seconds, I believe.
Xref: Re: lengths and strengths Hilarie Orman Xref subject next > From: Hilarie Orman> > As to elliptic curves, 155 bits of length or 155 bits of strength? > > That's 155/2 bits of strength. > Hmmm, that's only good enough for DES and/or MD5, not 3DES and/or SHA. Do you have any stronger groups we could use instead? > elliptic curves becomes more pronounced as the *length* of the shared > secret (the modulus) increases. We found the break-even point to be > 512 bits for mod p vs. 155 bits for EC. If you use 1024 bit or 2048 > bit mod p systems, the corresponding EC's are much more efficient. > Let's use the corresponding EC's then, please. We aren't even using 512 bit moduli for ModExp. > > > As for the upper bits, the attacker has read the Photuris spec and > > > knows that small exponents are recommended for efficiency. > > > > > Hmmm, have to think about that. Actually, I think it was the number of > > 1 bits.... Maybe we could still have very large exponents. > > This is actually an interesting suggestion, but it probably doesn't win. > You can get 64-bits of strength by dispersing 19 bits at random in 1024. > This makes one part of the DH computation very fast, but it slows down the > other substantially. > Which half? I'm only concerned about the speed of shared-secret generation, not public key computation (precomputed in background). Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
As I mentioned last week, I'd like to come to closure on the packet
formats, so that we can go on to discussing the actual text, examples,
and implementation notes later.
There has been one comment that they'd like to have no anonymity in one
direction, while having it in the other. I cannot see how this enhances
security, and it overly complicates the protocol.
Are other folks generally comfortable with the Photuris messages?
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref: Re: 3DES keys David_A Wagner Xref: Re: 3DES keys Perry E. Metzger Xref: Re: 3DES keys Hilarie Orman Xref subject previous Xref subject next > From: Hilarie Orman> The title of the thread is 3DES keys. That's 112 bits * 2 = 224 bits of > exponent. > Yes, we have gone rather far afield. I asked a simple question about generating 3DES keys, and we ended up talking about relative strengths of all kinds of keys. Right now, I'd like to concentrate of the correctness of the Photuris mechanisms, rather than adding better implementation notes. Could someone post the location of the paper or argument which says that 3DES with 2 keys is no better than DES? Are 3 keys any better? What is the current analysis? Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous Xref subject next > > In Photuris, all the keys are generated by hashing from the > shared-secret. Assume the shared-secret length is 128-bits, and its > strength is therefore 64-bits. But given MD5, its 128-bit length > birthday attack is also 64-bit strength. > > So, I don't understand why one would use more than 128 bits for the > length of the shared-secret. Why would the conservative advice be 256 > bit length? > I don't see how MD5's collision resistance is relevant here. MD5 is being used mainly as a one-way mixing function to make its output appear uniformly distributed. Anyhow, the length of the input to MD5 isn't an interesting quantity: it's the strength (the effective entropy) that matters. If the input to MD5 can be guessed with 2^64 operations, the output can also be guessed with 2^64 operations. This is insufficient for (e.g.) IDEA. That explains the advice that (conservatively) you want 128 bits of entropy in the shared secret (which is input to MD5): because (conservatively) you want 128 bits of entropy in the IDEA key. Now for discrete-log based key exchange algorithms, 128 bits of entropy in the shared secret corresponds to a length of 256 bits. But again, the *length* of the shared secret isn't the fundamental quantity: the *strength* of the shared secret is the important value; then you derive the required length by an algorithm-dependent process. (The relative relationship between length & strength depends on the key exchange algorithm, while the absolute required strength depends on the underlying symmetric-key encryption algorithm.)
Xref subject previous
Xref subject next
>
> Could someone post the location of the paper or argument which says that
> 3DES with 2 keys is no better than DES? Are 3 keys any better? What is
> the current analysis?
>
I'm not aware of any paper which says ``two-key 3DES is no stronger than
DES''. If you know of any, I'd love to hear of it.
There are two papers which have described attacks on two-key 3DES which
don't apply to three-key 3DES. You get to decide whether they worry you;
certainly they're not practical right now.
The first paper was (I think) by Hellman; he described an attack on two-key
3DES which needs 2^56 chosen plaintexts. He called this a certificational
weakness. Unfortunately, I can't seem to find the reference for this
right now..
A more recent known plaintext attack was described by Wiener & van Oorschot.
Here's a reference:
@InProceedings{OorschotWi91,
author = "P. C. van Oorschot and M. J. Wiener",
year = "1991",
title = "A Known-plaintext attack on two-key triple
encryption",
booktitle = "Advances in Cryptology --- Eurocrypt '90",
editor = "I. B. Damg{\aa}rd",
pages = "318--325",
publisher = "Springer-Verlag",
address = "Berlin",
}
Xref subject previous subscribe Sue Rodger
Xref subject previous Xref subject next "William Allen Simpson" writes: > Could someone post the location of the paper or argument which says that > 3DES with 2 keys is no better than DES? Are 3 keys any better? What is > the current analysis? Two n bit keys in multiple encryption schemes give you somewhat less than an effective 2n key bit key length, whereas three keys actually give you an effective 2n bit key length. See the discussion in Schneier's book on crypto -- I think its in chapter 8. Perry
Xref: Re: 3DES keys Perry E. Metzger Xref: Re: 3DES keys Bob Wilmes Xref subject previous Xref subject next > From: "Perry E. Metzger"> Two n bit keys in multiple encryption schemes give you somewhat less > than an effective 2n key bit key length, whereas three keys actually > give you an effective 2n bit key length. See the discussion in > Schneier's book on crypto -- I think its in chapter 8. > I've read it Perry. Hilary said this years' Crypto had a session showing that 2 key 3DES was no better than DES. I'm asking for the details, or some refutation. And I have asked twice: what folks have implemented 3DES in hardware, so we can make a sensible decision on how to generate the keys? I consider software more maleable than hardware. If no one speaks up, it will be clear that nobody important has done anything in hardware, and what I write on the topic will be acceptable and final. Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous Xref subject next "William Allen Simpson" writes: > > From: "Perry E. Metzger"> > Two n bit keys in multiple encryption schemes give you somewhat less > > than an effective 2n key bit key length, whereas three keys actually > > give you an effective 2n bit key length. See the discussion in > > Schneier's book on crypto -- I think its in chapter 8. > > > I've read it Perry. Hilary said this years' Crypto had a session showing > that 2 key 3DES was no better than DES. I'm asking for the details, or > some refutation. Either way I feel more comfortable with generating the extra few bytes of keying material and going with separate keys -- in the long run we are going to be switching to longer key lengths in new block cyphers anyway, and its pretty clear that three keys are strictly more secure (if only marginally so). > And I have asked twice: what folks have implemented 3DES in hardware, so > we can make a sensible decision on how to generate the keys? There are a bunch of 3DES hardware implementations -- what do you need to know specifically? Perry
Xref subject previous Xref subject next In William Stalling's recent book on PGP mail, he makes the reference to the 2 key 3DES being better than using a single key 3 DES, because of the susceptability of the single key 3DES to a "middle fork attack." (I believe this is the correct phrase, but I don't have the actual book available to check). Regarding key generation for DES, I believe there are several references in the literature regarding DES keys which if choosen, result in cipher text that is the same as the original plain text. A key generation scheme should check for these possibilities. ------------------------------------------------------------------------ = Bob Wilmes = bwilmes@primenet.com = Phoenix/Scottsdale, Arizona, USA = ------------------------------------------------------------------------ On Tue, 3 Oct 1995, William Allen Simpson wrote: > > From: "Perry E. Metzger"> > Two n bit keys in multiple encryption schemes give you somewhat less > > than an effective 2n key bit key length, whereas three keys actually > > give you an effective 2n bit key length. See the discussion in > > Schneier's book on crypto -- I think its in chapter 8. > > > I've read it Perry. Hilary said this years' Crypto had a session showing > that 2 key 3DES was no better than DES. I'm asking for the details, or > some refutation. > > And I have asked twice: what folks have implemented 3DES in hardware, so > we can make a sensible decision on how to generate the keys? > > I consider software more maleable than hardware. If no one speaks up, > it will be clear that nobody important has done anything in hardware, > and what I write on the topic will be acceptable and final. > > Bill.Simpson@um.cc.umich.edu > Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2 >
Xref subject previous Xref subject next > From: "Perry E. Metzger"> Either way I feel more comfortable with generating the extra few bytes > of keying material and going with separate keys -- in the long run we > are going to be switching to longer key lengths in new block cyphers > anyway, and its pretty clear that three keys are strictly more secure > (if only marginally so). > > > And I have asked twice: what folks have implemented 3DES in hardware, so > > we can make a sensible decision on how to generate the keys? > > There are a bunch of 3DES hardware implementations -- what do you need > to know specifically? > Thank you for offering to do the research, Perry. Who are the vendors? What keying requirements do the products have? If we specify 3 keys for 3DES, will all the products handle it? Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Hey there, I am currently working with Your DNS Security Implementation Package sec_bind493-b26-v1.2.tar.gz I was curious if you have had anyone successfully compile this package under freebsd v2.0.5 Rel #7? If so, could you please point me in their direction or send me the diffs for the things they had to change in order to get it to compile. I am having problems myself, and am just about to get ready to edit some of the makefiles and stuff, but if someone else has done it first, I may as well as use their work. Thanks a lot Scott Carlson National Security Agency sjc@tycho.ncsc.mil
We (NRL) have done basic interoperability testing with Morningstar, the only other implementer to respond to our public requests for interoperability testing, and we do interoperate with DES-CBC ESP and MD5 AH over IPv4. We interoperated fine. This was not interoperability stress testing, just basic interoperability testing. I think there will be a need for more formal ESP/AH interoperability testing this winter/spring. As far as I know, NRL has the only working ESP/AH for IPv6 at this time. If anyone else has one and is ready to test, please drop me an email. Thanks, Ran rja@cs.nrl.navy.mil
Xref subject previous >> You can get 64-bits of strength by dispersing 19 bits at random in 1024. >> This makes one part of the DH computation very fast, but it slows down the >> other substantially. > > Which half? I'm only concerned about the speed of shared-secret > generation, not public key computation (precomputed in background). It's the shared secret part that gets slower -- QED by Murphy's :-)
Xref: Re: "Null" SIGs, NXT ordering, SIG orig TTL Edie E. Gunter
Xref subject next
I have made some minor edits and one significant change to the last
posted version of the DNS Security draft. I do not plan to send this
latest version in to Internet-Drafts until waiting a bit for comments.
The significant change is to define Algorithm 253 as the null security
algorithm. That is to say, KEY algorithm type 253 has null key
information and SIG algorithm type 253 has a null signature part. The
primary reason for this SIG type is so that DNS dynamic updates can be
done without any security overhead in the same way as secure dynamic
updates can be done. (Presumably one would only do this inside a
secure subnet where all hosts were trusted...) The DNS dynamic update
uses the date signed field in the SIG and that, along with all of the
other RDATA fields, except signature, is still present in algorithm
type 253 SIGs. An algorithm type 253 KEY is necessary so that you can
authoritatively declare that algorithm type 253 SIGs can be used in a
zone. Secure DNS resover and similar software should normally treate
a zone authoritatively secured by algorithm type 253 as if it were a
zone authoritatively declared to be insecure. Such software needs, in
any case, to know which algoirthms or possibly even key lengths it
will consider secure and which it will consider insecure.
The minor changes consist of fixing some typos (pubic -> public, etc.),
changing referenced to dynamic update to the present tense, etc., and
also (1) providing that the ordering of labels for NXT purposes is as
if all letters were lower case (to follow the hash ordering rules) and
(2) providing that the original TTL field for a SIG can be omitted in
a master file if it is the same at the TTL of the SIG itself.
I will append the new version (draft-ietf-dnssec-secext-06.txt) below.
People are welcome to do diffs with the previous version, comment, or
whatever.
Donald
=====================================================================
Donald E. Eastlake 3rd +1 508-287-4877(tel) dee@cybercash.com
318 Acton Street +1 508-371-7148(fax) dee@world.std.com
Carlisle, MA 01741 USA +1 703-620-4200(main office, Reston, VA)
DNS Security Working Group Donald E. Eastlake, 3rd
INTERNET-DRAFT CyberCash
UPDATES RFC 1034, 1035 Charles W. Kaufman
Iris
Expires: 2 April 1996 3 October 1995
Domain Name System Security Extensions
------ ---- ------ -------- ----------
Status of This Document
This draft, file name draft-ietf-dnssec-secext-06.txt, is intended to
be become a Proposed Standard RFC. Distribution of this document is
unlimited. Comments should be sent to the DNS Security Working Group
mailing list or to the authors.
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months. Internet-Drafts may be updated, replaced, or obsoleted by
other documents at any time. It is not appropriate to use Internet-
Drafts as reference material or to cite them other than as a
``working draft'' or ``work in progress.''
To learn the current status of any Internet-Draft, please check the
1id-abstracts.txt listing contained in the Internet-Drafts Shadow
Directories on ds.internic.net, ftp.isi.edu, nic.nordu.net,
ftp.nis.garr.it, munnari.oz.au, or ftp.is.co.za.
Eastlake, Kaufman [Page 1]
INTERNET-DRAFT DNS Protocol Security Extensions 3 October 1995
Abstract
The Domain Name System (DNS) has become a critical operational part
of the Internet infrastructure yet it has no strong security
mechanisms to assure data integrity or authentication. Extensions to
the DNS are described that provide these services to security aware
resolvers or applications through the use of cryptographic digital
signatures. These digital signatures are included in secured zones
as resource records. Security can still be provided even through
non-security aware DNS servers in many cases.
The extensions also provide for the storage of authenticated public
keys in the DNS. This storage of keys can support general public key
distribution service as well as DNS security. The stored keys enable
security aware resolvers to learn the authenticating key of zones in
addition to keys for which they are initially configured. Keys
associated with DNS names can be retrieved to support other
protocols. Provision is made for a variety of key types and
algorithms.
In addition, the security extensions provide for the optional
authentication of DNS protocol transactions.
Acknowledgements
The significant contributions of the following persons (in alphabetic
order) to this draft are gratefully acknowledged:
Madelyn Badger
Matt Crawford
James M. Galvin
Olafur Gudmundsson
Sandy Murphy
Masataka Ohta
Michael A. Patton
Jeffrey I. Schiller
Eastlake, Kaufman [Page 2]
INTERNET-DRAFT DNS Protocol Security Extensions 3 October 1995
Table of Contents
Status of This Document....................................1
Abstract...................................................2
Acknowledgements...........................................2
Table of Contents..........................................3
1. Overview of Contents....................................5
2. Overview of the Extensions.............................6
2.1 Services Not Provided..................................6
2.2 Key Distribution.......................................6
2.3 Data Origin Authentication and Integrity...............7
2.3.1 The SIG Resource Record..............................8
2.3.2 Authenticating Name and Type Non-existence...........8
2.3.3 Special Considerations With Time-to-Live.............8
2.3.4 Special Considerations at Delegation Points..........9
2.3.5 Special Considerations with CNAME RRs................9
2.3.6 Signers Other Than The Zone.........................10
2.4 DNS Transaction Authentication........................10
3. The KEY Resource Record................................11
3.1 KEY RDATA format......................................11
3.2 Object Types, DNS Names, and Keys.....................11
3.3 The KEY RR Flag Field.................................12
3.4 The Protocol Octet....................................14
3.5 The KEY Algorithm Number and the MD5/RSA Algorithm....14
3.6 Interaction of Flags, Algorithm, and Protocol Bytes...15
3.7 KEY RRs in the Construction of Responses..............16
3.8 File Representation of KEY RRs........................16
4. The SIG Resource Record................................18
4.1 SIG RDATA Format......................................18
4.1.1 Signature Data......................................20
4.1.2 MD5/RSA Algorithm Signature Calculation.............21
4.1.3 Zone Transfer (AXFR) SIG............................22
4.1.4 Transaction SIGs....................................22
4.2 SIG RRs in the Construction of Responses..............23
4.3 Processing Responses and SIG RRs......................24
4.4 Signature Expiration, TTLs, and Validity..............25
4.5 File Representation of SIG RRs........................25
5. Non-existent Names and Types...........................27
5.1 The NXT Resource Record...............................27
5.2 NXT RDATA Format......................................28
5.3 Example...............................................28
5.4 Interaction of NXT RRs and Wildcard RRs...............29
5.5 Blocking NXT Pseudo-Zone Transfers....................30
Eastlake, Kaufman [Page 3]
INTERNET-DRAFT DNS Protocol Security Extensions 3 October 1995
5.6 Special Considerations at Delegation Points...........30
6. The AD and CD Bits and How to Resolve Securely.........31
6.1 The AD and CD Header Bits.............................31
6.2 Boot File Format......................................32
6.3 Chaining Through Zones................................33
6.4 Secure Time...........................................34
7. Operational Considerations.............................35
7.1 Key Size Considerations...............................35
7.2 Key Storage...........................................36
7.3 Key Generation........................................36
7.4 Key Lifetimes.........................................36
7.5 Signature Lifetime....................................37
7.6 Root..................................................37
8. Conformance............................................38
8.1 Server Conformance....................................38
8.2 Resolver Conformance..................................38
9. Security Considerations................................39
References................................................39
Authors Addresses.........................................41
Expiration and File Name..................................41
Appendix: Base 64 Encoding................................42
Eastlake, Kaufman [Page 4]
INTERNET-DRAFT DNS Protocol Security Extensions 3 October 1995
1. Overview of Contents
This draft describes extensions of the Domain Name System (DNS)
protocol to support DNS security and public key distribution. It
assumes that the reader is familiar with the Domain Name System,
particularly as described in RFCs 1034 and 1035.
Section 2 provides an overview of the extensions and the key
distribution, data origin authentication, and transaction security
they provide.
Section 3 discusses the KEY resource record, its structure, use in
DNS responses, and file representation. These resource records
represent the public keys of entities named in the DNS and are used
for key distribution.
Section 4 discusses the SIG digital signature resource record, its
structure, use in DNS responses, and file representation. These
resource records are used to authenticate other resource records in
the DNS and optionally to authenticate DNS transactions.
Section 5 discusses the NXT resource record and its use in DNS
responses. The NXT RR permits authenticated denial in the DNS of the
existence of a name or of a particular type for an existing name.
Section 6 discusses how a resolver can be configured with a starting
key or keys and proceed to securely resolve DNS requests.
Interactions between resolvers and servers are discussed for all
combinations of security aware and security non-aware. Two
additional query header bits are defined for signaling between
resolvers and servers.
Section 7 reviews a variety of operational considerations including
key generation, lifetime, and storage.
Section 8 defines levels of conformance for resolvers and servers.
Section 9 provides a few paragraphs on overall security
considerations.
An Appendix is provided that gives some details of base64 encoding
which is used in the file representation of some RR's defined in this
draft.
Eastlake, Kaufman [Page 5]
INTERNET-DRAFT DNS Protocol Security Extensions 3 October 1995
2. Overview of the Extensions
The Domain Name System (DNS) protocol security extensions provide
three distinct services: key distribution as described in Section 2.2
below, data origin authentication as described in Section 2.3 below,
and transaction authentication, described in Section 2.4 below.
Special considerations related to time to live, CNAMEs, and
delegation points are also discussed in Section 2.3.
2.1 Services Not Provided
It is part of the design philosophy of the DNS that the data in it is
public and that the DNS gives the same answers to all inquirers.
Following this philosophy, no attempt has been made to include any
sort of access control lists or other means to differentiate
inquirers.
In addition, no effort has been made to provide for any
confidentiality for queries or responses. (This service may be
available via IPSEC. [put refs to IPSEC RFCs here if available])
2.2 Key Distribution
Resource records (RRs) are defined to associate keys with DNS names.
This permits the DNS to be used as a general public key distribution
mechanism in support of the data origin authentication and
transaction authentication DNS services as well as other security
services.
The syntax of a KEY resource record (RR) is described in Section 3.
It includes an algorithm identifier, flags indicating the type of
entity the key is associated with and/or asserting that there is no
key associated with that entity, and the actual public key
parameters.
Under conditions described in Section 3, security aware DNS servers
may automatically attempt to return KEY resources as additional
information, along with those resource records actually requested, to
minimize the number of queries needed.
Eastlake, Kaufman [Page 6]
INTERNET-DRAFT DNS Protocol Security Extensions 3 October 1995
2.3 Data Origin Authentication and Integrity
Authentication is provided by associating with resource records in
the DNS cryptographically generated digital signatures. Commonly,
there will be a single private key that signs for an entire zone. If
a security aware resolver reliably learns the public key of the zone,
it can verify, for any data read from that zone, that it was properly
authorized and is reasonably current. The expected implementation is
for the zone private key to be kept off-line and used to re-sign all
of the records in the zone periodically.
This data origin authentication key belongs to the zone and not to
the servers that store copies of the data. That means compromise of
a server or even all servers for a zone will not necessarily affect
the degree of assurance that a resolver has that it can determine
whether data is genuine.
A resolver can learn the public key of a zone either by reading it
from DNS or by having it staticly configured. To reliably learn the
public key by reading it from DNS, the key itself must be signed.
Thus, to provide a reasonable degree of security, the resolver must
be configured with at least the public key of one zone that it can
use to authenticate signatures. From that, it can securely read the
public keys of other zones if the intervening zones in the DNS tree
are secure. (It is in principle more secure to have the resolver
manually configured with the public keys of multiple zones, since
then the compromise of a single zone would not permit the faking of
information from other zones. It is also more administratively
cumbersome, however, particularly when public keys change.)
Adding data origin authentication and integrity requires no change to
the "on-the-wire" DNS protocol beyond the addition of the signature
resource types and, as a practical matter, the key resource type
needed for key distribution. This service can be supported by
existing resolver and server implementations so long as they can
support the additional resource types (see Section 8) with the one
exception that CNAME referals can not be authenticated if they are
from non-security aware servers (see Section 2.3.5).
If signatures are always separately retrieved and verified when
retrieving the information they authenticate, there will be more
trips to the server and performance will suffer. To avoid this,
security aware servers mitigate that degradation by always sending
the signature(s) needed.
Eastlake, Kaufman [Page 7]
INTERNET-DRAFT DNS Protocol Security Extensions 3 October 1995
2.3.1 The SIG Resource Record
The syntax of a SIG resource record (signature) is described in
Section 4. It includes the type of the RR(s) being signed, the name
of the signer, the time at which the signature was created, the time
it expires (when it is no longer to be believed), its original time
to live (which may be longer than its current time to live but cannot
be shorter), the cryptographic algorithm in use, and the actual
signature.
Every name in a secured zone will have associated with it at least
one SIG resource record for each resource type under that name. A
security aware server supporting the performance enhanced version of
the DNS protocol security extensions will attempt to return, with all
records retrieved, the corresponding SIGs. If a server does not
support the protocol, the resolver must retrieve all the SIG records
for a name and select the one or ones that sign the resource
record(s) that resolver is interested in.
2.3.2 Authenticating Name and Type Non-existence
The above security mechanism provides only a way to sign existing RRs
in a zone. "Data origin" authentication is not obviously provided
for the non-existence of a domain name in a zone or the non-existence
of a type for an existing name. This gap is filled by the NXT RR
which authenticatably asserts a range of non-existent names in a zone
and the non-existence types for the initial name in that range.
Section 5 below covers the NXT RR.
2.3.3 Special Considerations With Time-to-Live
A digital signature will fail to verify if any change has occurred to
the data between the time it was originally signed and the time the
signature is verified. This conflicts with our desire to have the
time-to-live field tick down when resource records are cached.
This could be avoided by leaving the time-to-live out of the digital
signature, but that would allow unscrupulous servers to set
arbitrarily long time to live values undetected. Instead, we include
the "original" time-to-live in the signature and communicate that
data in addition to the current time-to-live. Unscrupulous servers
under this scheme can manipulate the time to live but a security
aware resolver will bound the TTL value it uses at the original
signed value. Separately, signatures include a time signed and an
expiration time. A resolver that knows the absolute time can
Eastlake, Kaufman [Page 8]
INTERNET-DRAFT DNS Protocol Security Extensions 3 October 1995
determine securely whether a signature has expired. It is not
possible to rely solely on the signature expiration as a substitute
for the TTL, however, since non-security aware servers must still be
supported.
2.3.4 Special Considerations at Delegation Points
DNS security would like to view each zone as a unit of data
completely under the control of the zone owner and signed by the
zone's key. But the operational DNS views the leaf nodes in a zone
which are also the apex nodes of a subzone (i.e., delegation points)
as "really" belonging to the subzone. These nodes occur in two
master files and will have RRs signed by both the upper and lower
zone's keys. A retrieval could get a mixture of these RRs and SIGs,
especially since one server could be serving both the zone above and
below a delegation point.
In general, the KEY RR from the superzone is authoritative while for
all other RRs, the data from the subzone is more authoritative. To
avoid conflicts, only the KEY RR in the superzone should be signed
and the NS and any A (glue) RRs should only be signed in the subzone
along with the SOA and any other RRs that have the zone name as
owner. The only exception is the NXT RR type that will always appear
differently and authoritatively in both the superzone and subzone, if
both are secure, as described in Section 5.
2.3.5 Special Considerations with CNAME RRs
There is a significant problem with security related RRs with the
same owner name as a CNAME RR when retrieved from a non-security-
aware server. In particular, an initial retrieval for the CNAME or
any other type will not retrieve an associated signature, key, or NXT
RR. For types other than CNAME it will retrieve that type at the
target name of the CNAME (or chain of CNAMEs) and will return the
CNAME as additional info. In particular, a specific retrieval for
type SIG will not get the SIG, if any, at the original domain name
but rather an SIG at the target name.
In general, security aware servers must be used to securely CNAME in
DNS. Security aware servers must (1) allow KEY, SIG, and NXT RRs
along with CNAME RRs, (2) suppress CNAME processing on retrieval of
these types as well as on retrieval of the type CNAME, and (3)
automatically return SIG RRs authenticating the CNAME or CNAMEs
encountered in resolving a query.
Eastlake, Kaufman [Page 9]
INTERNET-DRAFT DNS Protocol Security Extensions 3 October 1995
2.3.6 Signers Other Than The Zone
There are two cases where a SIG resource record is signed by other
than the zone private key. One is for support of dynamic update
where an entity is permitted to authenticate/update its own records.
The public key of the entity must be present in the DNS and be
appropriately signed but the other RR(s) may be signed with the
entity's key. The other is for support of transaction authentication
as described in Section 2.4 below.
2.4 DNS Transaction Authentication
The data origin authentication service described above protects
resource records but provides no protection for DNS message headers.
If header bits are falsely set by a server, there is little that can
be done. However, it is possible to add transaction authentication.
Such authentication means that a resolver can be sure it is at least
getting messages from the server it thinks it queried, that the
response is from the query it sent, and that these messages have not
been diddled in transit.
This is accomplished by optionally adding a special SIG resource
record to the end of the reply which digitally signs the
concatenation of the server's response and the resolver's query. The
private key used belongs to the host composing the reply, not to the
zone being queried. The corresponding public key is stored in and
retrieved from the DNS. Because replies are highly variable, message
authentication SIGs can not be pre-calculated. Thus it will be
necessary to keep the private key on-line, for example in software or
in a directly connected piece of hardware.
DNS level transaction authentication will be unnecessary when IPSEC
end-to-end security protocol is generally available [refernce IPSEC
RFCs when RFC numbers assigned]. However, there will be a
significant time during which there will be systems on which it will
be hard to add such a protocol but relatively easy to replace the DNS
components.
Eastlake, Kaufman [Page 10]
INTERNET-DRAFT DNS Protocol Security Extensions 3 October 1995
3. The KEY Resource Record
The KEY resource record (RR) is used to document a key that is
associated with a Domain Name System (DNS) name. It will be a public
key as only public keys are stored in the DNS. This can be the
public key of a zone, of a host or other end entity, or a user. A
KEY RR is, like any other RR, authenticated by a SIG RR. Security
aware DNS implementations MUST be designed to handle at least two
simultaneously valid keys of the same type associated with a name.
The type number for the KEY RR is 25.
3.1 KEY RDATA format
The RDATA for a KEY RR consists of flags, a protocol octet, the
algorithm number, and the public key itself. The format is as
follows:
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| flags | protocol | algorithm |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| /
/ public key /
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
The meaning of the KEY RR owner name, flags, and protocol octet are
described in Sections 3.2, 3.3 and 3.4 below respectively. The flags
and protocol must be examined before any following data as they
control the format and even whether there is any following data. The
algorithm and public key fields are described in Section 3.5. The
format of the public key is algorithm dependent.
3.2 Object Types, DNS Names, and Keys
The public key in a KEY RR belongs to the object named in the owner
name.
This DNS name may refer to up to three different things. For
example, dee.cybercash.com could be (1) a zone, (2) a host or other
end entity , and (3) the mapping into a DNS name of the user or
account dee@cybercash.com . Thus, there are flags in the KEY RR to
indicate with which of these roles the owner name and public key are
associated as described below.
Eastlake, Kaufman [Page 11]
INTERNET-DRAFT DNS Protocol Security Extensions 3 October 1995
Although the same name can be used for up to all three of these
contexts, such overloading of a name is discouraged. It is also
possible to use the same key for different things with the same name
or even different names, but this is strongly discouraged. In
particular, the use of a zone key as a non-zone key will usually
require that the private key be kept on line and thereby become much
more vulnerable.
It would be desirable for the growth of DNS to be managed so that
additional possible simultaneous uses for names are NOT added. New
uses should be distinguished by exclusive domains. For example, all
IP autonomous system numbers have been mapped into the in-as.arpa
domain [draft-ietf-dnssec-as-map-*.txt>draft-ietf-dnssec-as-map-*.txt Xref: Re: 3DES keys Donald E. Eastlake 3rd Xref: Re: 3DES keys Donald E. Eastlake 3rd Xref subject previous Xref subject next RSA Labs, http://www.rsa.com/rsalabs/cryptobytes/spring95/news.htm: Modes involving single-DES instead of triple-DES as a primitive, such as encrypting three times with single-DES in cipher block chaining mode, have been shown by Eli Biham in the past year to be potentially no stronger than single-DES against certain attacks. Encrypting with triple-DES in cipher block chaining mode is not vulnerable to those attacks. A handout at the Crypto 95 rump session by Thomas Jones (peace@acm.org) refers to Kaliski's 1994 tech report on combined DES modes, which might only be available to subscribers of RSA Labs tech reports. The handout also refers to Bihams's attack, giving an Asiacrypt '94 reference and the proceedings, to be published by Springer. The "triple-DES in cipher block chaining mode" method, if I understand it correctly, is subject to a dictionary attack of somewhat less than 2^64 space complexity, depending on your attack scenario. This mode was described earlier this year in this mailing list by Ashar Aziz and John Ioannides. The two attacks motivated Jones to suggest several alternative combined DES modes that carry more internal state and are resistant to known forms of attack. It is arguable that neither attack is practical. However, one might take it to mean that the strength of the systems is far less than the number of key bits would indicate. In that case, why bother generating lots of keying material? About 76 bits would be the maximum needed.
Xref: Re: Photuris Chapter 1 Hilarie Orman
Xref subject next
Well, we've gotten quiet around here, and there seem to be no more
packet format questions. I've gotten encouraged that interoperable
MD5/DES are coming along, and want to finalize Photuris. Besides,
Phil's going on a trip, and so I'd like to have some consensus when he
gets back.
So, look hard at Chapter 1, see if it fits well with the whole, and has
enough terminology to be understood by inexperienced implementors.
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject next
Herebelow it follows the call for papers for a special issue of Wireless
Networks Journal. I would be very grateful if you could diffuse it
according your distribution list. Thank you for your kind attention.
Call for Papers
WIRELESS NETWORKS JOURNAL
Baltzer Science Publishers
Special Issue
"Exposure Hazards and Health Protection in Personal Communication Services"
Scope:
The rapid diffusion of electronic and telecommunication equipments and
systems emitting electromagnetic waves has brought into focus the problems
of electromagnetic pollution of the environment and the possible adverse
health effects on human beings. In particular, over the past decade there
has been a significant increase in the use of hand-held cellular
telephones. Because of the proximity of the transmitting antenna to the
user's head, great concerns have arose about the potential risks to human
health. The problem has been made even more acute by the impending
development of wireless data services and wide-band wireless local area
networks. Many national and international standard organizations,
governmental bodies, and health authorities have issued or are considering
approval of standards, recommendations, or legistative actions to protect
the public from excessive exposures. In the meantime, scientists and
manufacturers are contemplating new design techniques that may reduce the
exposure.
The aim of this special issue is to highlight problems which are presently
under consideration and to present recent progress in this area of
research, with particular emphasis on scientific studies used to define
exposure limits.
Possible topics include, but are not limited to:
Biological effects (in vitro and in vivo):
- CW fields
- modulated fields
Dosimetry:
- source characterization
- electric and magnetic properties of biological materials
- experiments and numerical models
Epidemiology
Interaction mechanisms:
- at subcellular, cellular, single organ, and physiological system level
Standards and Safety Issues:
- cellular phones
- wireless data systems and services
- wireless local-area networks
- Video Display Units
The authors should send 4 copies of their paper to one of the Guest Editors
by February 1, 1996. The following time-table shall be followed:
Manuscript Submission: Deadline: February 1, 1996
Final Manuscript Submission after Revision: Deadline: July 1, 1996
Expected Publication Date: xx, xx, xx
Guest Editors:
Prof. Paolo Bernardi
Department of Electronic Engineering
Universita' di Roma "La Sapienza"
Via Eudossiana 18, 00184
Roma, ITALY
Tel. +39 6 4458 5 855
Fax +39 6 4742647
e-mail: bernardi@tce.ing.uniroma1.it
Prof. James C. Lin
The University of Illinois at Chicago
College of Engineering (M/C 154)
851 South Morgan Street
Chicago, Illinois 60607 - 7053
tel: +312 413 1052
fax: +312 413 0024
e-mail: u45339@uicvm.uic.edu
Prof. Paolo Bernardi
Department of Electronic Engineering
Universita' di Roma "La Sapienza"
Via Eudossiana 18, 00184 Roma
ITALY
Tel. +39 6 4458 5 855
Fax +39 6 4742647
E-mail bernardi@tce.ing.uniroma1.it
Xref subject previous
Xref subject next
Herebelow it follows the call for papers for a special issue of Wireless
Networks Journal. I would be very grateful if you could diffuse it
according your distribution list. Thank you for your kind attention.
Call for Papers
WIRELESS NETWORKS JOURNAL
Baltzer Science Publishers
Special Issue
"Exposure Hazards and Health Protection in Personal Communication Services"
Scope:
The rapid diffusion of electronic and telecommunication equipments and
systems emitting electromagnetic waves has brought into focus the problems
of electromagnetic pollution of the environment and the possible adverse
health effects on human beings. In particular, over the past decade there
has been a significant increase in the use of hand-held cellular
telephones. Because of the proximity of the transmitting antenna to the
user's head, great concerns have arose about the potential risks to human
health. The problem has been made even more acute by the impending
development of wireless data services and wide-band wireless local area
networks. Many national and international standard organizations,
governmental bodies, and health authorities have issued or are considering
approval of standards, recommendations, or legistative actions to protect
the public from excessive exposures. In the meantime, scientists and
manufacturers are contemplating new design techniques that may reduce the
exposure.
The aim of this special issue is to highlight problems which are presently
under consideration and to present recent progress in this area of
research, with particular emphasis on scientific studies used to define
exposure limits.
Possible topics include, but are not limited to:
Biological effects (in vitro and in vivo):
- CW fields
- modulated fields
Dosimetry:
- source characterization
- electric and magnetic properties of biological materials
- experiments and numerical models
Epidemiology
Interaction mechanisms:
- at subcellular, cellular, single organ, and physiological system level
Standards and Safety Issues:
- cellular phones
- wireless data systems and services
- wireless local-area networks
- Video Display Units
The authors should send 4 copies of their paper to one of the Guest Editors
by February 1, 1996. The following time-table shall be followed:
Manuscript Submission: Deadline: February 1, 1996
Final Manuscript Submission after Revision: Deadline: July 1, 1996
Expected Publication Date: xx, xx, xx
Guest Editors:
Prof. Paolo Bernardi
Department of Electronic Engineering
Universita' di Roma "La Sapienza"
Via Eudossiana 18, 00184
Roma, ITALY
Tel. +39 6 4458 5 855
Fax +39 6 4742647
e-mail: bernardi@tce.ing.uniroma1.it
Prof. James C. Lin
The University of Illinois at Chicago
College of Engineering (M/C 154)
851 South Morgan Street
Chicago, Illinois 60607 - 7053
tel: +312 413 1052
fax: +312 413 0024
e-mail: u45339@uicvm.uic.edu
Prof. Paolo Bernardi
Department of Electronic Engineering
Universita' di Roma "La Sapienza"
Via Eudossiana 18, 00184 Roma
ITALY
Tel. +39 6 4458 5 855
Fax +39 6 4742647
E-mail bernardi@tce.ing.uniroma1.it
Xref subject previous
Xref subject next
Herebelow it follows the call for papers for a special issue of Wireless
Networks Journal. I would be very grateful if you could diffuse it
according your distribution list. Thank you for your kind attention.
Call for Papers
WIRELESS NETWORKS JOURNAL
Baltzer Science Publishers
Special Issue
"Exposure Hazards and Health Protection in Personal Communication Services"
Scope:
The rapid diffusion of electronic and telecommunication equipments and
systems emitting electromagnetic waves has brought into focus the problems
of electromagnetic pollution of the environment and the possible adverse
health effects on human beings. In particular, over the past decade there
has been a significant increase in the use of hand-held cellular
telephones. Because of the proximity of the transmitting antenna to the
user's head, great concerns have arose about the potential risks to human
health. The problem has been made even more acute by the impending
development of wireless data services and wide-band wireless local area
networks. Many national and international standard organizations,
governmental bodies, and health authorities have issued or are considering
approval of standards, recommendations, or legistative actions to protect
the public from excessive exposures. In the meantime, scientists and
manufacturers are contemplating new design techniques that may reduce the
exposure.
The aim of this special issue is to highlight problems which are presently
under consideration and to present recent progress in this area of
research, with particular emphasis on scientific studies used to define
exposure limits.
Possible topics include, but are not limited to:
Biological effects (in vitro and in vivo):
- CW fields
- modulated fields
Dosimetry:
- source characterization
- electric and magnetic properties of biological materials
- experiments and numerical models
Epidemiology
Interaction mechanisms:
- at subcellular, cellular, single organ, and physiological system level
Standards and Safety Issues:
- cellular phones
- wireless data systems and services
- wireless local-area networks
- Video Display Units
The authors should send 4 copies of their paper to one of the Guest Editors
by February 1, 1996. The following time-table shall be followed:
Manuscript Submission: Deadline: February 1, 1996
Final Manuscript Submission after Revision: Deadline: July 1, 1996
Expected Publication Date: xx, xx, xx
Guest Editors:
Prof. Paolo Bernardi
Department of Electronic Engineering
Universita' di Roma "La Sapienza"
Via Eudossiana 18, 00184
Roma, ITALY
Tel. +39 6 4458 5 855
Fax +39 6 4742647
e-mail: bernardi@tce.ing.uniroma1.it
Prof. James C. Lin
The University of Illinois at Chicago
College of Engineering (M/C 154)
851 South Morgan Street
Chicago, Illinois 60607 - 7053
tel: +312 413 1052
fax: +312 413 0024
e-mail: u45339@uicvm.uic.edu
Prof. Paolo Bernardi
Department of Electronic Engineering
Universita' di Roma "La Sapienza"
Via Eudossiana 18, 00184 Roma
ITALY
Tel. +39 6 4458 5 855
Fax +39 6 4742647
E-mail bernardi@tce.ing.uniroma1.it
Xref subject previous
Herebelow it follows the call for papers for a special issue of Wireless
Networks Journal. I would be very grateful if you could diffuse it
according your distribution list. Thank you for your kind attention.
Call for Papers
WIRELESS NETWORKS JOURNAL
Baltzer Science Publishers
Special Issue
"Exposure Hazards and Health Protection in Personal Communication Services"
Scope:
The rapid diffusion of electronic and telecommunication equipments and
systems emitting electromagnetic waves has brought into focus the problems
of electromagnetic pollution of the environment and the possible adverse
health effects on human beings. In particular, over the past decade there
has been a significant increase in the use of hand-held cellular
telephones. Because of the proximity of the transmitting antenna to the
user's head, great concerns have arose about the potential risks to human
health. The problem has been made even more acute by the impending
development of wireless data services and wide-band wireless local area
networks. Many national and international standard organizations,
governmental bodies, and health authorities have issued or are considering
approval of standards, recommendations, or legistative actions to protect
the public from excessive exposures. In the meantime, scientists and
manufacturers are contemplating new design techniques that may reduce the
exposure.
The aim of this special issue is to highlight problems which are presently
under consideration and to present recent progress in this area of
research, with particular emphasis on scientific studies used to define
exposure limits.
Possible topics include, but are not limited to:
Biological effects (in vitro and in vivo):
- CW fields
- modulated fields
Dosimetry:
- source characterization
- electric and magnetic properties of biological materials
- experiments and numerical models
Epidemiology
Interaction mechanisms:
- at subcellular, cellular, single organ, and physiological system level
Standards and Safety Issues:
- cellular phones
- wireless data systems and services
- wireless local-area networks
- Video Display Units
The authors should send 4 copies of their paper to one of the Guest Editors
by February 1, 1996. The following time-table shall be followed:
Manuscript Submission: Deadline: February 1, 1996
Final Manuscript Submission after Revision: Deadline: July 1, 1996
Expected Publication Date: xx, xx, xx
Guest Editors:
Prof. Paolo Bernardi
Department of Electronic Engineering
Universita' di Roma "La Sapienza"
Via Eudossiana 18, 00184
Roma, ITALY
Tel. +39 6 4458 5 855
Fax +39 6 4742647
e-mail: bernardi@tce.ing.uniroma1.it
Prof. James C. Lin
The University of Illinois at Chicago
College of Engineering (M/C 154)
851 South Morgan Street
Chicago, Illinois 60607 - 7053
tel: +312 413 1052
fax: +312 413 0024
e-mail: u45339@uicvm.uic.edu
Prof. Paolo Bernardi
Department of Electronic Engineering
Universita' di Roma "La Sapienza"
Via Eudossiana 18, 00184 Roma
ITALY
Tel. +39 6 4458 5 855
Fax +39 6 4742647
E-mail bernardi@tce.ing.uniroma1.it
Xref subject previous Xref subject next Bill, a question : If during the signature exchange phase, the signature msg indicates that DES and MD5 are used for the security association and a session key is computed. How to determine if this session key is used for DES, MD5 or both ? Thank you. Regards, Pau-Chen
Bill wants to finalize Photuris. Me too. However, Photuris is still an *insecure* protocol as defined. (It also contains several ambiguiites and lacks some basic -IMHO- functionality but that's a subject for another message). I have raised more than 6 months ago several issues related to Photuris security holes for which I never got a response from the editors. Needless to say, these comments were never reflected in the protocol. I have brought up these issues several times in these months both in the list, and personally (in Danvers) with the editors. I know that Phil is very busy with other stuff, and I can't blame him for that (I am busy too). However, this cannot be a justification to have a buggy key management protocol for IP. I am appending a message I sent to this WG list on June 12th on these issues. I'd like to know how the editors dealt with these comments; I cannot imagine they just ignored them, that's too much irresponsibility especially with those comments that touch the basic security of the scheme. Points (1), (2), and (5) in the attached message are the most critical for security. (As for (5) the comment now applies to the "Change_Message" in pg 24 of draft 03). In partricular can you please let me know: About (1): do you have a requiremnet that the signature transform hides the contents of the signed information? This is not written in the document, and is *not* the property of signatures in general. For example RSA signature without hashing reveals all of its contents which in this case include the shared-secret (as an example, hashing may not be applied if the total information length is less than the RSA modulus length, a perfectly possible case when the DH is based on 155-bit Elliptic Curve). About (2): I am willing to explain more on this if you are receptive to the need of change in the protocol. In particular, MAC-ing as I suggest solves both the shared-secret leakage problem of (1), and prevents the [DOW92] attacks that motivated the signing of K. About (5): If you believe that a previous (possibly broken) SPI cannot be replayed please explain that to me. In addition: the way keys are derived for data-transforms (e.g., DES-CBC, MD5) from a session key as described in the draft (Appendix B) is unacceptable as already posted in this list (i.e., re-use of same bits for DES-CBC and MD5). I have many other comments on the draft that I will send in next days. However, the above seem to be the most critical for security. Hugo Appended (historical) message: > Date: Mon, 12 Jun 95 20:40:43 EDT > From: hugo at watson.ibm.com > To: KARN@QUALCOMM.COM > Cc: IPSEC@ans.net > Subject: Status of Photuris > > Phil, > > Stockholm is approaching and we have not heard about the > developments with Photuris since Danvers. I would like to know the status > of the following important issues on which I have had objections and/or > recommendations. > > 1) The DH key (or "session key" SK) must not be signed. Signing SK is > unnecessary and, even worst, it is insecure. (See my note of April 12) > > 2) Encryption of the signature messages is needed for privacy (anonymity). > However, it is *not* the right solution for proving possession of the DH key. > (The latter is needed to avoid some of the attacks described in the > Diffie-Van Oorschot-Wiener paper). > A right (and necessary!) solution is to have, in addition of the > signature, a MAC (message authentication code, e.g., key-ed MD5) keyed > with the DH key and applied to the same information that the signature > is applied to (or to the signature itself). In particular, > the MAC must be mandated even if the signature is encrypted for privacy > (notice that this is a change relative to the original STS protocol). > (See my note of April 12). > > 3) A fast re-key mechanism is to be provided for key refreshment based on > symmetric key techniques (as opposed to DH and/or PK techniques). This > is to be done by refreshing the key by means similar to those implied in the > draft (page 20). However, the necessary nonces for freshness > guarantee should be provided explicitly (e.g., by replacing the DH-exponent > fields of the DH-exchange message with a fresh nonce). SAID's are not to be > used for this purpose. Cookies can be used (since cookies must be > unpredictable by definition), however, I would still recommend using special > purpose nonces, to avoid the double functionality of cookies against denial > of service attacks and nonces (in particular, cookies may be unncessary if > the parties already share a previous key since then verifying a MAC is very > fast, actually as fast as generating a cookie). > One simple and secure solution to this fast re-key is presented in the > IKMP draft (Usenix conference version also available); this solution is > compatible with the basic Photuris format. > (See exchange of notes with Phil at end of March). > > 4) The protocol should support a DH exchange that is authenticated by means > of a previously shared key between the parties. This provides for a secure > solution in many important scenarios, including the cases of > * parties with manually installed long-lived master keys, > * parties that get a common key from a key distribution center (a la > Kerberos), or > * parties that use a previously shared DH key for refresh via a new > DH exchange. > In these cases, signatures can be replaced MAC w hich is beneficial > both for efficiency and privacy. > For the purpose of this exchange the basic DH flows of Photuris remain > unchanged except that > a) signature is omitted > b) the MAC field is used to authenticate the information that is > otherwise signed, but the MAC is computed using the previously shared key > (e.g., the shared Kerberos key, etc). > [This is a basic functionality provided by my "Photuris variant" but which > is easily adaptable to the basic Photuris. This was described and discussed > with Phil in Danvers] > > 5) The non-interactive key refreshment in page 26 of the draft (re-key message) > needs to be eliminated. If there is a good reason to keep it, it needs > to be re-designed to avoid replay attacks (e.g., via a shared counter). > The way it is designed now it is vulnerable to replay and then insecure. > > > Hugo > > PS: Hope this time a revised draft will be available well before Stockholm. > >
Xref subject previous Xref subject next How about omitting the cookies and message type from the anonymity algorithm? Makes processing a bit more uniform and avoids encrypting known plaintext. The architecture document implies that the mode is part of the security association, but Photuris seems oblivious to this. Perhaps I'm missing something, but I think the recipient of an ESP message cannot know, without checking the full security association, whether a full IP datagram or only the payload is contained in the protected region. Shouldn't Photuris have a field for specifying mode? A forward reference from the 5.2 mention of "Anonymity Choice specified cryptographic hash" to appendix B.2 would be helpful. Or else an explanation of this when the Anonymity Choice is first introduced. Otherwise, the term causes breathless astonishment on first encounter (aka "huh?"). I know that you appreciate good writing, so you would probably be annoyed to read this construction had it arisen from another author: This message is required to be encrypted using the Anonymity-Choice indicated in the Key_Response. The chosen algorithm does not need to provide integrity, ... Instead you might prefer This message must be encrypted using ... The chosen algorithm need not provide integrity, ...
Xref subject next
> Date: Fri, 6 Oct 95 18:51:29 EDT
> From: hugo@watson.ibm.com
> To: karn@qualcomm.com, bsimpson@MorningStar.Com, ipsec@ans.net
>
I remind Hugo that Phil and I are both on the ipsec list, and really
don't need multiple copies of a message to bring it to our attention.
Also, I asked for comments on Chapter 1. You are outside the scope of
the discussion at this point. There will be a "last call" from the IESG
where you are certainly welcome to raise whatever issues that you wish
on the overall document.
> I have many other comments on the draft that I will send in next days.
Please don't, unless they are explicit language improvements, which is
the current discussion. Note the excellent recent comments by Hilary.
> However, Photuris is still an *insecure* protocol as defined.
> ...
> I am appending a message I sent to this WG list on June 12th on these issues.
> I'd like to know how the editors dealt with these comments;
> I cannot imagine they just ignored them, that's too much irresponsibility
> especially with those comments that touch the basic security of the scheme.
>
Actually, because there was so little substance, it would have been
irresponsible to pay _any_ credence what-so-ever to the plaints. I was
asked _not_ to respond (by more than one person).
Moreover, although I cannot speak for Phil, I was so turned off by your
incessant rants that I stopped working on Photuris for several months.
I have recently been encouraged by the results of widespread
implementation efforts. I am doing my best to address the issues raised
by these implementors, so that they also are encouraged and satisfied
and work together.
However, the IETF Standards Process requests that we certify that we
have addressed even insignificant objections. When your earlier
messages were sent, we were only asking for Experimental status, and
could safely ignore you. Unfortunately, the WG chairs seem to want to
progress this as a Proposed Standard instead.
Therefore, I will attempt to review these few items, under the
assumption that this will satisfy your curiousity as to _why_ we ignored
them. I have rearranged them more logically, in the order discussed in
the actual Photuris document.
Nota Bene, for the rest of the folks: this is a direct and personal
response, which may be offensive to some, although I have attempted
to keep the sarcasm to a minimum. You have been warned.
----
> > (See my note of April 12)
This was interspersed throughout the message.
Actually, I prefer to _again_ ignore your note of April 12, since it has
so many inaccuracies with respect to Photuris, including its derivation
and the use of its fields. Particularly, you seem to suffer from the
delusion that Photuris is based on STS, and interpret Photuris features
as STS features. This is not correct. We did not learn of STS until
Van Oorschot faxed a copy to Karn in March 95.
Another example is the reference to failure with respect to certain
unnamed stream cyphers, which are nowhere discussed in Photuris. It
would be helpful if, in the future, you did not make up attacks based on
material which is not in the document.
----
> > 4) The protocol should support a DH exchange that is authenticated by means
> > of a previously shared key between the parties. This provides for a secure
> > solution in many important scenarios, ...
It would be very helpful if you actually _read_ Photuris, and paid more
attention to the other messages on the IP Sec mailing list.
This is already required to be supported by Photuris.
This is the only currently implemented authentication technique.
Other techniques such as RSA (PKCS, PGP, X.509) are optional, because of
patent and export restrictions. But, they have been reserved and are
described elsewhere in great detail.
The ability to dynamically select which signature method is used has
long been a fundamental principle of Photuris.
> > For the purpose of this exchange the basic DH flows of Photuris remain
> > unchanged except that
> > a) signature is omitted
> > b) the MAC field is used to authenticate the information that is
> > otherwise signed, but the MAC is computed using the previously shared key
> > (e.g., the shared Kerberos key, etc).
This is some unusual use of the word "signature", which is not that same
as I am given to understand in either the English language or
cryptography.
The Signature_Message always has a Signature field. This field can
indeed contain any form of authentication. But the basic specification
requires that it contain a MD5 hash.
There is no separate "MAC field", as referenced above.
----
> > 1) The DH key (or "session key" SK) must not be signed. Signing SK is
> > unnecessary and, even worst, it is insecure. (See my note of April 12)
> >
Early drafts (include -01 which you were so vehemently against) did not
discuss which fields were signed. They did not mention signing the
shared-secret (computed by the D-H exchange). Indeed, the shared-secret
was not signed in Karn's early implementation. Only the public values
were signed.
However, Van Oorschot (as I remember) later noted that an
authentication-only version of the protocol was possible if we signed
the shared-secret. Since an authentication-only version of the protocol
is desirable in amateur radio networks, that is what we have selected.
Only the authentication-only signature form (using MD5) is described in
the base Photuris document. It is clearly indicated as "required to be
supported".
You have not explained to my satisfaction why signing the fields as
described in Photuris in any way "leaks" information about the computed
shared-secret or the trailing secret-key used for MD5 (see Appendix B).
> About (1): do you have a requiremnet that the signature transform hides the
> contents of the signed information? This is not written in the document,
> and is *not* the property of signatures in general.
Then, it should not be surprising that it is not written in the document.
> For example RSA signature without hashing reveals all of its contents which
> in this case include the shared-secret
Perhaps you make a nice publication record out of reiterating the
obvious, but it does not belong in Photuris.
> (as an example, hashing may not be applied if the total information length
> is less than the RSA modulus length, a perfectly possible case when the
> DH is based on 155-bit Elliptic Curve).
>
It would be helpful if, in the future, you did not make up attacks based
on material which is not in the document.
----
> > 2) Encryption of the signature messages is needed for privacy (anonymity).
> > However, it is *not* the right solution for proving possession of the DH key.
I can find no reference in Photuris (any draft) where _optional_
encryption of the exchange is used for the _requirement_ of proving
possession of the D-H shared-secret.
> > (The latter is needed to avoid some of the attacks described in the
> > Diffie-Van Oorschot-Wiener paper).
> > ...
> > (notice that this is a change relative to the original STS protocol).
> > (See my note of April 12).
> >
Again, you have mistaken Photuris for a derivation of STS. Photuris has
never had this putative STS failing.
It would be helpful if, in the future, you did not make up attacks based
on material which is not in the document.
> About (2): I am willing to explain more on this if you are receptive to the
> need of change in the protocol.
You have not yet given any reason for a change in the protocol.
----
> > 3) A fast re-key mechanism is to be provided for key refreshment based on
> > symmetric key techniques (as opposed to DH and/or PK techniques). This
> > is to be done by refreshing the key by means similar to those implied in the
> > draft (page 20).
This feature was not in the original Photuris drafts, but was added at
the repeated request of _many_ members of the WG.
I do not understand what you mean by "implied in the draft". Upon
reviewing page 20 of draft -01 (now page 22 of draft -03), the section
is clearly labeled "Session-Key Computation", and clearly and completely
describes the derivation of session keys.
> > However, the necessary nonces for freshness
> > guarantee should be provided explicitly (e.g., by replacing the DH-exponent
> > fields of the DH-exchange message with a fresh nonce).
Exchanging _new_ public-values is already an option. "Either party may
initiate an exchange at any time." [page 6].
However, the alternative Change_Message does not exchange the public
values. This results in fewer messages, and avoids overloading the
public-value fields with other "nonce" fields (which I find preposterous).
> > SAID's are not to be
> > used for this purpose.
You have not yet described any cryptographic weakness with the approach.
Until you can, please don't tell me or anyone else what may "be used"!
The SPI _is_ currently used. It is guaranteed to be unique to the party
generating it over the lifetime of the shared-secret, is recommended to
be generated randomly, and is "fresh" in every known cryptographic sense.
Oh yeah, and we avoid the IBM patents, too....
> > Cookies can be used (since cookies must be
> > unpredictable by definition),
You are incorrect. The cookies of subsequent exchanges are _not_
required to change in the Responder direction. Indeed, there is explicit
mention of rapid calculation when the public-values are the same.
> > however, I would still recommend using special
> > purpose nonces, to avoid the double functionality of cookies against denial
> > of service attacks and nonces (in particular, cookies may be unncessary if
> > the parties already share a previous key since then verifying a MAC is very
> > fast, actually as fast as generating a cookie).
Since the parties already share a previous D-H shared secret, this is
already used.
Using a previous session-key instead would be a _SERIOUS_ security flaw,
as it would not ensure Perfect Forward Secrecy.
The cookies are _not_ used as nonces, and therefore not subject to such
"double functionality".
----
> > 5) The non-interactive key refreshment in page 26 of the draft (re-key message)
> > needs to be eliminated. If there is a good reason to keep it, it needs
> > to be re-designed to avoid replay attacks (e.g., via a shared counter).
> > The way it is designed now it is vulnerable to replay and then insecure.
> >
This seems very much to be the same issue as (3), except you now want to
eliminate the message altogether.
You have not yet described any cryptographic weakness with the approach.
> About (5): If you believe that a previous (possibly broken) SPI cannot
> be replayed please explain that to me.
>
It is not a matter of belief. This is one of the reasons that
protection of Perfect Forward Secrecy (which you have tried to
"optionally" eliminate in your "variants") is so important.
The session-keys are dependent on the D-H shared secret, the signatures,
the cookies and the SPI. The shared-secret and cookies are in turn
dependent on the Photuris session. The signatures are dependent on the
Photuris session _and_ the long term certificates or secret keys.
Once any of the above have changed, the SPI cannot possibly be replayed.
----
> In addition: the way keys are derived for data-transforms (e.g., DES-CBC,
> MD5) from a session key as described in the draft (Appendix B) is unacceptable
> as already posted in this list
To date, there has been no posting to this list which describes a
cryptographic weakness in the derivation of the session key for either
DES-CBC or MD5.
Your "proof by assertion" is not acceptable to me.
> (i.e., re-use of same bits for
> DES-CBC and MD5).
>
This "potential weakness" has been discussed from time to time, but no
_actual_ interaction between DES-CBC and MD5 has been described in the
literature to my knowledge. Perhaps you could be more explicit?
While the same SPI and session-key _may_ be used for both ESP and AH, it
is not required. See [page 10]:
Typically, an encryption method is chosen for the primary
attribute of the SPI, and an authentication method is later added
for the same SPI, or as an additional separate SPI.
In any case, since this is a potential limitation of both manual and
automatic key generation, its discussion belongs in the Security
Architecture. Perhaps you should raise this theoretical issue again
when that document goes to Draft Standard.
Moreover, this is less likely with Photuris than with manual key
management. Photuris is quite capable of rapid SPI session-ley
generation, as noted earlier, and will not need to "re-use" keys.
----
Sat, 7 Oct 95 18:58:08 GMT
By the clock, I have now wasted over 3 hours of a nice Saturday morning
and part of an afternoon replying to this message.
I could have been doing many other things, such as actually editing
drafts or working on code, or just plain enjoying the day.
I refuse to expend more time on this particular individual. Certainly
not when he merely repeats previously posted messages, that were roundly
ignored by everyone the first time! Perhaps again in 3 months....
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous > From: Hilarie Orman> How about omitting the cookies and message type from the anonymity > algorithm? Makes processing a bit more uniform and avoids encrypting > known plaintext. > I had thought I'd already done this. Where did I miss some text? Anonymity Choice When selected as an Anonymity-Choice, its anonymity session-key uses the most significant 64-bits of MD5 generated material. The least significant bit of each octet is ignored (parity). The 64-bit Initialization Vector (IV) is set to the Type, LifeTime, and Security-Parameter-Index fields. Encryption begins with the next field, and continues to the end of the data indicated by the UDP Length. > The architecture document implies that the mode is part of the > security association, but Photuris seems oblivious to this. Perhaps > I'm missing something, but I think the recipient of an ESP message > cannot know, without checking the full security association, whether a > full IP datagram or only the payload is contained in the protected > region. Shouldn't Photuris have a field for specifying mode? > Hmmm, I always thought of "mode" as CBC, not tunneling. I think that the recipient of an ESP message can _easily_ tell whether a full IP datagram or just another header (such as TCP) is next, by using the Payload Type! I even mentioned payload type 4 for IP! [RFC-1829] Are you saying that we need another attribute to negotiate whether the data is tunneled? Anyone else need this? > A forward reference from the 5.2 mention of "Anonymity Choice specified > cryptographic hash" to appendix B.2 would be helpful. Or else an explanation > of this when the Anonymity Choice is first introduced. Otherwise, the > term causes breathless astonishment on first encounter (aka "huh?"). > Good idea! Done. Both places. > I know that you appreciate good writing, so you would probably be annoyed > to read this construction had it arisen from another author: > > This message is required to be encrypted using the Anonymity-Choice > indicated in the Key_Response. The chosen algorithm does not need to > provide integrity, ... > > Instead you might prefer > > This message must be encrypted using ... The chosen algorithm need not > provide integrity, ... > Thanks, always appreciate actual text suggestions. Sometimes, I even use them verbatim. ;-) The fact that you are commenting so far along (Chapter 5) is evidence that you already are happy with Chapter 1, so I'll move the process along. Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Since folks seem to not focus on a single chapter at a time, and are
finding the most editorial comment in #5 or later, how about we cover
only 1 through 4 in the next day or so, and then get down to the nitty
gritty of 5, 6, 7?
And, I've had a number of items sent to me personally, rather than the
list. Could we keep it on the list, so that the little changes don't
surprise anyone?
Other than minor definitions, the major suggestion is that the clogging
description is too much too soon. I could move some of the little arrow
pictures up to the introduction. Normally, I try to define the names of
things before using them, but people seem to like the diagram sooner.
Oh, and it's OK to tell the list you _like_ something, too. ;-)
How else are we to gauge consensus?
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject next I'd like to know what critical IPSEC projects still need work done. In other words, what does IP security need to move forward that we're still lacking? I need a medium-sized (200+ hours) project for an operating systems class, and I'd like to spend it on something useful. If the working group is searching for a volunteer to implement some piece of IPSEC, please let me know. (Or if anybody has any suggestions or wish lists outside of IPSEC, I'd love to hear from you!) Thanks!
Xref subject previous Bill, I've got some general comments on the Photuris draft and a number of specific suggestion for wording changes. Where the wording changes are to clarify and do not involve any question of meaning I will send them to you directly. I'll make the more general comments here. As you and I have talked about a number of times, I am a fan of description, reason and context. The IETF documents that are most often cited to me as a "good" standards are the host requirements documents. In particular, the inclusion of a section of discussion about specific topics is seen to be very helpful in understanding not only why something was suggested but also why something else was not. Many of the reasons that particular paths were chosen have been made clear on the mailing lists but that information will not be generally available to someone reading the final standard a few years from now. (Note, I think the Implementation notes are a *very* good thing to have.) In addition I think that a paragraph of overview can be very helpful in setting the context in which the details of a protocol are defined. I would like to have IETF standards be easily readable and understandable by a range of people, from students to implementers. With the above in mind, I'd like to make a number of specific suggestions. move sections 1.2 and 1.3 later into the document, they are quite confusing to encounter before understanding just what the protocol is. add an introductory part to section 2 describing, in prose, what the protocol is providing to the user and the process it uses to do so. in section 2.2 - include the reason that the cookies are 16 octets long (rather than some other length) sec 2.3 - paragraph 2 - I'm confused by "such as moduli" sec 3.1, 3.2, 4.1 4.2, 5, 6.1, and 6.5 - add a paragraph at the start saying what each procedure or message is for (a general comment, I think it is better to say for reserved fields "unused, MUST be set to zero when transmitted and MUST be ignored when received" ) (oops - I've gone past the chapt 5 boundary, more later) Thanks Scott
Xref: Re: major areas needing work Craig Metz Xref: Re: major areas needing work Angelos D. Keromytis Xref subject previous Xref subject next > From: David_A Wagner> I need a medium-sized (200+ hours) project for an operating systems > class, and I'd like to spend it on something useful. If the working > group is searching for a volunteer to implement some piece of IPSEC, > please let me know. (Or if anybody has any suggestions or wish lists > outside of IPSEC, I'd love to hear from you!) > Is anyone working on AH-MD5 and ESP-DES-CBC for Linux? I think that would be very useful, and the kind of thing a class project could do. And of course, Photuris for Linux.... Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref: Re: Photuris-04 Hilarie Orman
Xref subject next
I have submitted an internet-draft incorporating many of Hilary and
Scott suggestions. Those which want an early copy can get it from
ftp.morningstar.com:pub/I-Net/photuris-04b.txt
I mostly just reorganized text sections, added a couple of definitions,
and Hilary's length versus strength text. Also, the various nits that
have been noticed so far are fixed.
I also changed the key calculations somewhat, appending the shared-key.
While there is no possibility of an appending attack, I figured, "what
the heck, it may be more secure against cryptanalysis in the case that
someday someone may figure out how to unroll MD5." Particularly as
those leading 1024-bit shared-secrets just happen to fall on a 512-bit
MD5 hash boundary.
And, as requested, I added a 2048-bit modulus. I'm still waiting for a
stronger elliptic curve.
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref: Re: IPsec mailing list Hilarie Orman Xref subject next [co-chair hat on] The IPsec WG mailing list is open to any and all discussion on the IETF's IP Security proposals. While Bill's efforts to herd and focus the discussion of Photuris might be useful, people ought not feel inhibited from posting topics that are outside the scope of what Bill views as current if the poster really believes it is important. [co-chair hat off, begin personal comments] Now I don't know about other folks, but I find Hugo's most recent notes on Photuris to be impenetrable. It would be MUCH more useful if it were made a stand-alone note based on the most recent online version of Photuris, provided specific cites to the parts of that draft that are being objected to, and ecxplained the particulars on how to exploit any claimed vulnerabilities. If the complaints are editorial (that is, relating mostly to wording or clarity), then it would be more useful to propose specific revised text (as others already have been doing). Those folks who provided me with specific text changes tothe ESP/AH drafts (e.g. Hilarie Orman) generally found that those changes were taken before the RFCs were published. This is simply because it is MUCH easier as an editor to make specific changes than to figure out which part of the current text is confusing and how to make it less confusing. Ran rja@cs.nrl.navy.mil
Xref: Re: IPsec mailing list Bill Sommerfeld Xref: Re: IPsec mailing list Bill Sommerfeld Xref subject previous Xref subject next I don't see any reason that Change_Message's (6.1) cannot be replayed, and this could could be used as a denial of service mechanism. The Change_Message's have mutated significantly since Hugo's original comments, but I think his observation that there is no replay prevention is valid. Imagine A sending two change messages for the same SPI to B. Each message changes the validity-choice method to a different algorithm. E replays the first message, and now A and B are out of sync. Actually, if one of the messages is lost, it would seem that similar trouble would result.
Xref subject previous Xref subject next In message <199510090500.AA56783@interlock.ans.net>, "William Allen Simpson" wr ites: >Is anyone working on AH-MD5 and ESP-DES-CBC for Linux? I think that >would be very useful, and the kind of thing a class project could do. > >And of course, Photuris for Linux.... I am sort-of-working on this, where sort-of-working means that I do not have as much time lately to spend on actual code as I would like. Of course, being able to play divide-and-conquer would make this happen faster. -Craig
Xref subject previous In message <199510090500.AA56783@interlock.ans.net>, "William Allen Simpson" wr ites: >And of course, Photuris for Linux.... > I'll probably port Photuris to a few architectures when i have a final version (BSD, SunOS, AIX, Linux come to mind). -Angelos
Xref subject previous Xref subject next The 155 bit EC is virtually the same strength as the 1024 bit mod p system, so there's no need for another EC in that range. We are looking into getting a slightly larger EC to match the strength of 2048 bit mod p systems, will send parameters when they are available.
Xref subject previous Xref subject next -----BEGIN PGP SIGNED MESSAGE----- content-type: text/plain; charset=us-ascii I don't see any reason that Change_Message's (6.1) cannot be replayed, and this could could be used as a denial of service mechanism. The Change_Message's have mutated significantly since Hugo's original comments, but I think his observation that there is no replay prevention is valid. There's enough support in the protocol for replay detection if some restrictions are made on SPI reuse. Some sort of timestamp or sequence number would reduce the amount of storage needed to provide replay protection, but it's not really necessary. I think the "change" message is misnamed, since it either creates a new SPI, or deletes an existing one. I'm not going to suggest edits to change that, however.... The draft doesn't explicitly disallow modifying an existing SPI, but it doesn't specifically allow it, either. I don't see how one could change arbitrary SPI attributes reliably, since packets sent using the SPI could be reordered around the change request. The fix is relatively simple: - limit the lifetime of the shared secret, and require that photuris remember the existance of all SPI's created using the shared secret until the shared secret expires. - -- Here's my suggested additions to the spec; there's admittedly some redundancy here, but I don't think it's excessive. [these should go into section 5.4]: The shared secret, and any SPIs created using it, must be destroyed once the initial SPI, created here, expires. [These should go into section 6.4 implementation guidelines]: Change_Message packets must not be allowed to *modify* already existing SPI's, or to resurrect SPI's which have been deleted. If an otherwise-valid change_message is received which would produce an SPI which would live beyond the expiration time of the shared secret, the new SPI must be silently adjusted to expire when the shared secret expires. To prevent resurrection of already-used SPI's, implementations MUST remember, but mark as unusable, deleted or expired SPIs until the shared secret used to create them also expires. - Bill -----BEGIN PGP SIGNATURE----- Version: 2.6.1 iQCVAwUBMHmMqlpj/0M1dMJ/AQEkHQP9Gt+9c4046ACcvzZxfP0m39S25B5zDVhE ukp3WqRC7RlHCkHo4tf9IR7aL5UXR+y2K/oecpVH0tyQ3G+EywIn630LvvOqU3l6 YelJzN8hueDS0dJ3Gd4ZgrQ4JJlNkLUEGtEL4mJzd4n44PxMT6l8IHYlzzpUER0K QD7lFVAFrDM= =dMo5 -----END PGP SIGNATURE-----
Xref subject previous -----BEGIN PGP SIGNED MESSAGE----- content-type: text/plain; charset=us-ascii I don't see any reason that Change_Message's (6.1) cannot be replayed, and this could could be used as a denial of service mechanism. The Change_Message's have mutated significantly since Hugo's original comments, but I think his observation that there is no replay prevention is valid. There's enough support in the protocol for replay detection if some restrictions are made on SPI reuse. Some sort of timestamp or sequence number would reduce the amount of storage needed to provide replay protection, but it's not really necessary. I think the "change" message is misnamed, since it either creates a new SPI, or deletes an existing one. I'm not going to suggest edits to change that, however.... The draft doesn't explicitly disallow modifying an existing SPI, but it doesn't specifically allow it, either. I don't see how one could change arbitrary SPI attributes reliably, since packets sent using the SPI could be reordered around the change request. The fix is relatively simple: - limit the lifetime of the shared secret, and require that photuris remember the existance of all SPI's created using the shared secret until the shared secret expires. - -- Here's my suggested additions to the spec; there's admittedly some redundancy here, but I don't think it's excessive. [these should go into section 5.4]: The shared secret, and any SPIs created using it, must be destroyed once the initial SPI, created here, expires. [These should go into section 6.4 implementation guidelines]: Change_Message packets must not be allowed to *modify* already existing SPI's, or to resurrect SPI's which have been deleted. If an otherwise-valid change_message is received which would produce an SPI which would live beyond the expiration time of the shared secret, the new SPI must be silently adjusted to expire when the shared secret expires. To prevent resurrection of already-used SPI's, implementations MUST remember, but mark as unusable, deleted or expired SPIs until the shared secret used to create them also expires. - Bill -----BEGIN PGP SIGNATURE----- Version: 2.6.1 iQCVAwUBMHmMqlpj/0M1dMJ/AQEkHQP9Gt+9c4046ACcvzZxfP0m39S25B5zDVhE ukp3WqRC7RlHCkHo4tf9IR7aL5UXR+y2K/oecpVH0tyQ3G+EywIn630LvvOqU3l6 YelJzN8hueDS0dJ3Gd4ZgrQ4JJlNkLUEGtEL4mJzd4n44PxMT6l8IHYlzzpUER0K QD7lFVAFrDM= =dMo5 -----END PGP SIGNATURE-----
> From: Hilarie Orman> Imagine A sending two change messages for the same SPI to B. Each > message changes the validity-choice method to a different algorithm. > E replays the first message, and now A and B are out of sync. > Actually, if one of the messages is lost, it would seem that similar > trouble would result. > The Validity-Choice is pertinent only to that single Change_Message. Every Change_Message carries a Validity-Choice. It has no relation to any SPI. So, it is not possible to get out of sync: Validity-Choice variable. A cryptographic hash function is selected from the peer's list of supported Attributes, and used to provide message integrity. ---- Attribute-Choices variable. A list of one or more attributes for the Security Association, selected from the list of Attributes sent by the peer. Instead, let us assume that you _meant_ two different authentication or encryption Attribute-Choices for the same SPI. This is not expressly illegal, although it boggles the mind. The whole purpose of having multiple SPI values is to establish such _different_ Security Associations. Indeed, it would appear at first examination that a replay would be possible in that improbably bad implementation. However, the length of time that such a replay can occur is limited by a second feature, which is fundamental to Photuris. The public-values are changing on a regular basis. When the public-value changes, the cookies will no longer match at that party, and the Photuris exchange will begin again from the cookie exchange. Ran and NSA asked for the ability to modify attributes on the fly. Thus, it is a recent addition to Photuris. If they don't give a better reason for needing the facility, I would be happy to restrict it again to adding/deleting entire SPIs. Or, if they would like, we could restrict it to only certain attributes, which are individually specified. So far, there is only one that has been mentioned as a candidate for modification -- Sensitivity Label. BTW, as the modify feature is relatively new, that old crufty message for which you became apologist could not have been refering to it. Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous > From: Hilarie Orman> The 155 bit EC is virtually the same strength as the 1024 bit mod p > system, so there's no need for another EC in that range. I don't understand. The 1024 bit mod p has a maximum strength of 1024. You told us before that 155 EC has a strength of 155/2 bits. Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject next
Hello Ashar, Everybody,
I have read the newest SKIP draft, and have some comments, suggestions,
critics and so on to make. Buried in all the comments are some small but
substantial proposed changes to the protocol. Please tell me if any comment
of mine is unclear, or if I need to justify it more. If you want me to, I
can incorporate some of the proposed changes into the document myself.
Understand me well: I like this draft, and think it is a good evolution of
the first draft. But there are some severe shortcomings (certificate
discovery protocol, sequencing, 'S' 'R' 'N' 'C' bits, assigned numbers,
ambiguities) which need to be fixed.
As all this is open and published information, discussing it should be no
threat to ITAR.
If you adapt some of the suggested changes, I suggest to turn out a new
revision of the draft until end of october, so we can use november to
implement this stuff.
Friendly greetings,
Germano Caronni
| Simple Key-Management For Internet Protocols (SKIP)
| <draft-ietf-ipsec-skip-02.txt>
|
I have added my comments, opinions and suggestions on lines without '|',
| CONTENTS
In the contents section, several line numbers are not aligned. Do you
happen to work with 'FrameMaker' ? ;-)
| - i -
At the end of the first and second page of the table of contents
a ^L is missing.
|1. Overview
|There are two ways authenticated RSA public keys can be used to provide
^^^
It is not easy to find the second way - one has to read carefully.
|authenticity and privacy for a datagram protocol, such as IP. The first
|is to use out-of-band establishment of an authenticated session key,
|using one of several session key establishment protocols prior to
|communication [2,3]
, the second one is the inband transmission of the authenticated session
key.
How about explicitly referencing inband establishment at this point, and
point to later discussion. Perhaps even separate subchapters would be
useful.
|This session key is then used to
|encrypt/authenticate IP data traffic.
Separate subchapters would also allow for better partitioning of the
arguments. The following 8 paragraphs mix some lines of reasoning which make
no smoth reading out of it. I would suggest to separate the issues of
- - context-free vs session-context (recovery, load balancing)
- - DH keyexchange vs RSA (amount of per-packet data)
more strongly.
Perhaps you can leave out some argumentation simply by pointing to section
1.6 ?
The draft contains a lot of reasoning and motivations. When re-reading
it I tentatively clipped out all subjects not needed to define a standard
for SKIP which let the document shrink somewhat. Is it really needed to give
this high amount of 'motivation' and explanative material in the definition
of a standard? I fully understand the need for it, to let people assess the
value of this standard, but I would rather prefer to see this stuff in an
informative annex, than in the document itself. I prefer short documents to
long ones ;-)
[[ Yes - it is really needed. Please disregard all future rantings about it
in the comments. ]]
|1.1 Simple Key-Management for Internet Protocols
|
|We stipulate that each IP based source and destination shall have an
|authenticated Diffie-Hellman public key. This public key may be
|distributed in numerous ways. One mechanism (described here) is by the
|use of X.509/PEM certificate format [6]. Other mechanisms, for example,
|PGP certificates, secure DNS resource records, and related issues such
|as various trust models are detailed in an adjunct Internet-Draft.
Hmm. Is there a reference to this draft?
|Examples of principals in the network are IP nodes, or users. In the
|discussion below we focus on IP nodes, although a straightforward
|extrapolation to user oriented keying is possible and is further
|described later.
I suggest referring to section 1.8. The 'extrapolation' itself is not given,
it is only shown that the mean exist to make it possible. I would write
...user oriented keying is possible. The protocol parts allowing this are
described in section 1.8.
I assume this would/could happen such that the SKIP daemon contacts an other
appropriate user-level process (or external hardware) to get Kij (or the
currently valid form of it). Another way would be that a user-process may
setsockopt() a Kij (or Kp??) which causes the kernel to allocate a node ID
for this socket, and cache node-id and Kij. I guess we do not want to
elaborate on such topics at this point in time?
|Thus each IP source or destination I has a secret value i, and a public
|value g^i mod p. Similarly, IP node J has a secret value j and a public
|value g^j mod p.
There is a very! sharp break between the two above chapters. The 'thus'
and the non-definition of i leads me to believe that a chapter is missing?
Who assigns 'i'?
|(SKCS) like DES, RC2, IDEA, and such. Since Kij is used for key-
|encryption, it is not practical to use a stream cipher for this purpose.
...encryption, one MUST NOT use a stream cipher...
|Kij is derived from g^ij mod p by taking the low order key-size bits of
|g^ij mod p. Since g^ij mod p should minimally be 512 bits and for
|greater security should be 1024 bits or more, we can always derive
|enough bits for use as Kij which is a key for a SKCS. SKCS key sizes are
|typically in the range of 40-256 bits.
I would change this to define what happens if there are not enough bits
for use as Kij. I can easily go and use RC5 with 2048 keying bits.
I suggest ALWAYS using the method described in 1.11 -- see there.
|
|The important point here is that Kij is an implicit pairwise shared key.
|It does not need to be sent in ANY packet or negotiated out-of-band. The
|destination IP node can compute this shared key (Kij) by simply knowing
|the source IP node's authenticated public key. Because this key is
|implicit, and is used as a MMMMaaaasssstttteeeerrrr kkkkeeeeyyyy,,,, its length can be made as long as
Oops. Junk. (backspaces)
|use. (In order to do this, if it did not already possess I's
|authenticated DH public key, it may have to obtain this from the local
|directory service.)
And check the authenticity!
|Since the authenticated public keys are Diffie-Hellman public keys, the
|nodes themselves have no public-key signature algorithm. This is not a
need
|problem, since signing on a per-packet basis using a public-key
|cryptosystem is too cumbersome. The integrity of the packets is
|determined using a symmetrically keyed Message Authentication Code
|(MAC).
We do not provide sender/receiver non-repudiation in authentication.
Perhaps this should be stated somewhere near 1.7.4
I really would like to see this but it can be done with an appropriate
(and expensive) AH.
Again - this is quite a long discussion, not all of it is relevant to the
realisation of SKIP. Only to the evaluation ;-)
|1.3 Zero-Message Master Key Update Algorithm
|
|counter value n is only incremented and never decremented. It is used to
|prevent re-use of compromised traffic authentication keys as well as to
[--------------] (delete)
|provide coarse-grain playback protection of data traffic. In the event
|
|Recommended time units/counter update frequency and the agreed upon
|start time is specified later in the document.
... in section 6.3.
I have mixed feelings about n. I certainly helps to prevent coarse grain
replay attacks. (And we need to use it for keying purposes - otherwise it
would be without effect in the encryption-only scenario) I do not like the
implicit master keys, but I see no alternative.
|Once the counter has moved forward, and after a short grace period to
|allow traffic in transit to be received, packets encrypted with the help
|of counter values earlier than n MUST be rejected.
Assume the following denial-of-service attack: Using the NTP protocol I
forward the time of a host to a high value. Then communication will be
impossible. (Latest when I stop influencing the clock)
Other issue. Should 'n' be stored on disk or other permanent storage? Or is
it sufficient to always recaluclate n from the actual time?
|1.3.1 Zero Message Master key Update with Diffie-Hellman
Clever ;-)
|1.3.2 Zero Message Master Key update with Manual Keying
|
|As before, n can be computed as the difference between an agreed upon
|start time (specified later in this document) and the current time.
|Then, the n'th master key is generated using the following function:
|
|Kijn = h(Kij, n, 1) | h(Kij, n, 0)
|
|where h() is a pseudo-random, one-way hash function, for example, MD5
|[13]. For this version of SKIP, the one-way function MUST be MD5. The
|"|" represents concatenation. The low order bits of this operation are
|used for Kijn.
Well, what exactly do you mean by Kij,n,1 ?
I would write
Kijn = h(Kij | n | 1) | h(Kij | n | 0)
where '|' means concatenation, and the high-order bits are on the right
side. Again you might need to define the amount of bits used?
|1.4 Independence from Cryptographic Algorithms
|
|a prime field, that can be used to provide the same public key agreement
|property are constructions that employ elliptic curves over finite
|fields and schemes that utilize exponentiation using composite moduli.
Literature References, perhaps?
|Essentially, all aspects of the key-management protocol described above
|can be generalized to public and private values of the public key
|agreement type. This includes the master key update algorithm described
|in the previous section.
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
>
>We describe this using an abstract description of a public key agreement
>system as follows. We define Public_Key_Agree() as a cryptographic
>function that takes two inputs, one public and one private to generate a
>mutually shared secret. We let secret_i and public_i refer to the
>private and public values respectively of principal I, and secret_j and
>public_j refer to the private and public values respectively of
>principal J. The pairwise mutually shared secret between I and J is
>denoted shared_secret_ij. The master key Kij is derived from the
>shared_secret_ij by taking the low-order keysize bits of
>shared_secret_ij.
>
>A public key agreement function is then defined as:
>
>shared_secret_ij = Public_Key_Agree(secret_i, public_j)
> = Public_Key_Agree(secret_j, public_i)
>
>Having described a key agreement algorithm in the abstract form given
>above, the master key update algorithm described in the specific context
>of classic Diffie-Hellman above can be specified using the same form in
>a manner independent of the cryptographic construction as follows,
>
>shared_secret_ijn = Public_Key_Agree(n, shared_secret_ij)
>
>Kijn is derived from shared_secret_ijn. As before, from an
>implementation perspective, it may be faster to utilize the (n-1)th
>value of the shared secret in order to compute the n'th value of the
>shared secret.
>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The bracketed section above is - IMHO - completely unneeded and of no
interest for this draft. There is no need defining a terminology which is
not used.
Place this in a draft dealing with alternative algorithms for gaining Kij!
SKIP should _not_ care how the shared secret could be derived, but define
one mandatory menthod (d-h).
|The public key agreement algorithm is specified by the algorithm
|identifier used to identify the public key in the public key certificate
|or equivalent mechanism (e.g. secure DNS).
|
|1.5 Storage of Cryptographic Keys
|
|One possible way to do this is to utilize a hardware device to compute,
|store and perform operations using these keys. This device can ensure
|that there are no interfaces to extract the keys from the device. Such
|devices can be in the form of tamper-proof smart cards, PCMCIA devices,
|and so on.
Where can I buy it? ;-))
|1.6 SKIP for High Availability and Load Balancing
|1.7 Attacks that the protocol guards against
Interesting. But for evaluation purposes only.
|1.7.1 Intruder in the Middle Attacks
'Man in the Middle' is the terminology I know. But never mind...
|1.7.2 Known Key Attacks
|If the in-band traffic keys Kp used for packet authentication are ever
|compromised, then the master key update algorithm described above
|precludes the re-use of compromised keys to send forged traffic.
In a coarse-grained fashion! Otherwise use sequencing. Which reminds me:
What happened to sequencing??!!
I rather liked it being in the SKIP header - as no other means for it was
available, and it is algorithm independant. Do I correctly assume that you
expect AH/ESP transforms to come up with sequencing? And then, will it be
an issue of authentication or of encryption. Or both? Sigh... Another dozen
transforms looming on the horizon.
|This is because even if a particular traffic key Kp is compromised, this
|does not tell an attacker anything about the current implicit key Kijn,
|and therefore the attacker would not be able to compute the encryption
|of Kp in Kijn. Without knowing the encryption of Kp under the Kijn, an
|attacker cannot re-use past compromised keys Kp to any advantage.
Wrong semantic. This particular Kp is already available. Should be
...the encryption of differing Kp's in Kijn or this compromised Kp in
future different Kijn's...
A replay attack is still possible in a limited window of opportunity, before
n changes.
|Also, knowing any number of past keys Kp does not help an attacker learn
|any other Kp, since knowing any number of Kp keys does not allow an
|attacker to learn Kijn. Knowing or even choosing Kp keys, and using that
|to learn Kijn is equivalent to a known or chosen plain-text attack on
|Kijn, and that should be infeasible even given a very large number of
|known/chosen Kp keys as long as the key-encryption algorithm is immune
|to a chosen text attack, which will always be the case. Thus SKIP is
^known/choosen ^^^^^^^^^^^^^^^^^
|immune to known or chosen key attacks of this variety.
DES has been shown to be vulnerable to such attack (2^41). 'which will
always be the case' is a dangerous wording...
|1.7.3 Anti-Clogging Defense
|
|An attacker may attempt to mount a denial-of-service attack on a node
|implementing SKIP, by trying to force it to perform an unacceptably high
|number of computationally expensive operations, e.g. the Diffie-Hellman
|computation.
... or seeking in a stream cipher!
|In order to prevent denial-of-service attacks on the SKIP scheme
|described above, a recommended solution is to pre-compute and cache
|master keys Kij, based either on usage patterns of the machine or
|through administrative action. In case a clogging attack occurs, the IP
|node will still be able to communicate with the set of machines for
|which it has pre-computed master keys, it will simply stop computing new
|master keys. This allows business as usual activities to carry on, even
|while a clogging attack occurs, since there are no computationally
|expensive (e.g. public key) operations required to key or re-key with an
|IP node once the master key Kij has been computed.
Interesting strategy.
|The keys belonging to administrator's SHOULD always be in the pre-
[-]
|compute cache used to prevent this form of denial-of-service attack.
|This allows the administrator to securely add more nodes to the pre-
|compute cache, even during a clogging attack.
A side issue: The usage of may/should/may-not vs SHOULD/MAY/MUST should
be carefully checked throughout the document. Different styles are visible.
|1.7.4 Non-Goal: Perfect Forward Secrecy
|
|Although perfect forward secrecy as described in [3], is a desirable and
|appealing goal for a key-distribution protocol, there are no known
|practical and scalable techniques for achieving perfect forward secrecy
Do you know a non-scalable but practical technique? I honestly do not know
any practical technique. if you do - please tell me.
|for a stateless message based protocol. Here a message based protocol is
|contrasted with a stateful session based protocol. Common examples of
Hmm. I get the feeling you really have mixed two papers in this draft. A
'statelessness-ratio' and a technical description of skip. sigh.
|message based protocols include secure e-mail protocols such as PEM and
|PGP. There are no known techniques for providing perfect forward secrecy
|of encrypted data for these message based protocols.
I tend to disagree. Might be possible when strict sequencing is implied, and
bilateral state is kept. I will check, and perhaps write about it later.
|above, vastly complicating (or making impossible) highly available and
|load-balanced protected IP configurations.
Perfect forward secrecy can be achieved when user-level keying is used, and
appropriate protocols are employed on that level...
Here, just before section 1.8, a newline is missing.
|Master Key-IDs effectively decouple the identification of a master key
|for purposes of key lookup and access control from issues of network
|topology, routing and IP addressing. As one example, this allows IP
adresses.
|The length of the Master Key ID is implicit in the choice of the NSID.
|There are two possible lengths, 32 bits and 128 bits. A 32 bit name
|space identifier may be used to identify, e.g., IPv4 addresses. A 128
|bit identifier may be used to refer to an IPv6 address.
|
|The 128-bit Master Key-ID format also allows many different name spaces
|(up to 256) to be used with SKIP, by letting the Master Key-ID be the
|message digest of the name in its native name space. Examples of name or
|identifier spaces that can be accommodated in this manner are DNS names,
|ISO Distinguished Names, U.S. Social Security numbers, Credit Card
|numbers, Bank Account numbers etc.
I would suggest keeping the length of IDs subject to the NSID value.
Additionally it is not clear whether all other NSID types than IPv4
require 128 bit. I see at least one application where 64 bits are
sufficient, but 32 are not. I would write '... There are two commonly used
lengths, 32 bits and 128 bits...'
And I would replace 'The 128-bit Master Key-ID format also...' with 'The
usage of NSIDs also allows many...' -- why should I be bound to 128 bit when
using a NSID?
|Although some of these name spaces have associated privacy concerns
|(e.g. social security numbers, credit card numbers etc.), these
|sensitive values would not actually be disclosed, since message-digests
|are one-way functions. Commonly used message digests have a 128-bit
|output, and this provides a compact and private way of carrying this
|identification information in a packet header.
I strongly disagree. Common credit card numbers contain 16 digits, where the
first four digits contain a country code. I can precompute all hashes, and
would thus be able to recover the credit card number. This need to be
mentioned. The name space has to be made such that precomputation is
infeasible, if the values are sensitive.
|It is also possible for this identifier to be the message digest of the
|public key of a principal, since some principals may wish to be known by
|their public keys alone. If the public key is used as an identification
|mechanism, it simplifies the distribution of authenticated public keys,
Good idea. Have you ever thought if it is possible to construct DH values
from RSA public/secret keys? if it is possible, users could use their PGP
keys to establish a 'security association' by using them as input to a DH
calculation. I will have to think about it...
|Principals in the network will need to be able to reverse lookup a
|certificate (or equivalent information) using the Master Key ID. There
Are we obsoleting Kerberos? Hmm....
|If the "N" bit is zero, i.e. there are no name space identifiers
|present, the Master Key-ID is a 32 bit identifier for SKIP encapsulated
|in IPv4 and a 128 bit identifier for SKIP in encapsulated in IPv6. In
|this case, the Master Key-IDs default to IPv4 and IPv6 addresses
|respectively.
Suggestion: Do NOT use a 'N' bit, but use the value of the two NSID fields
directly. (e.g. value == 0 -> no corresponding node-id field present!
I deem this important, because you are running out of toggle-bits.
I am sure that the value assigned to NSID in this draft can still be changed
to reflect the modified behaviour.
Thus we would also save the 'S' and the 'R' bit. It is of equal cost to
directly check the NSID fields.
|a semi-permanent identifier
^strange word. What do you actually mean?
|To illustrate one possible user, this decoupling allows, nodes to move
[-] [-]
|around on the network, and come in from dynamically assigned IP
|addresses (using, for example, the DHCP protocol) and still have access
^reference?
|control and Diffie-Hellman public key lookup occur based on the semi-
|permanent Master Key-IDs.
Again the semi-permanence.
|If the "S" bit is set, the sender Master Key-ID MUST be used for lookups
|and the source IP address MUST NOT be used. If the "R" bit is set, the
|receiver Master Key-ID MUST be used for authenticated public key lookups
|and the destination IP address MUST NOT be used.
If source NSID is non-zero, the sender Master Key-ID MUST be used for
lookups and the source IP address MUST NOT be used. If the destination NSID
is non-zero, the receiver...
|Some commonly used name spaces have been assigned NSIDs. These are
|described in the "Assigned Numbers" section below. More name spaces will
|be registered through IANA.
"assigned numbers" section 5.3
|1.8.1 The SKIP Header
|
|SKIP Header
|
| 0 1 2 3
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Clear IP Header protocol = SKIP... (typically 20-bytes)
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Ver |C|S|R|N| Source NSID | Dest NSID |NEXT HEADER |
1 2 3 4 1 2 3 4 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
x x x x
I strongly suggest NOT having the four bits marked with 'x' but using
the corresponding byte-fields instead. (This would allow to re-introduce
sequencing, if wanted!)
|Following the NSID bytes in the SKIP header, the NEXT HEADER field is
|used to indicate which protocol follows the SKIP header. This field will
|usually indicate ESP or AH. But the NEXT HEADER may be any protocol
|which requires keying material. Examples of protocols other than AH/ESP
|that may use SKIP are given below.
Well, it even could be IP, for encapsulation purposes.
What happens if neither encryption nor authentication are present? Does Kp
get dropped?
|The input to the key encryption algorithm is padded with a random fill
|up to a multiple of the block size of the key-encryption algorithm. The
Where is the padding applied. Low-order bits or high-order bits? I suggest
high-order bits.
|length of Kp is derived from knowledge of the encryption/MAC algorithms.
|The low order key-length bits of the decrypted output are used as Kp.
Ah. I see.
|The Kp Alg and MAC Alg specify algorithms used by the interior protocol
I suggest changing the name of the field 'Kp Alg' to 'Crypt Alg', as both
fields depend on Kp.
|not an absolute, however. For instance, it is possible to have a Kp
|algorithm which provides encryption and MAC computation. This is further
|described in a later section.
...in section 1.11.2.
|The Comp Alg field specifies the algorithm that was used to compress
|packets prior to encryption/authentication. This field is only used when
|the "C" bit is set.
Drop the C bit. Just rely on the Comp Alg field. As you do with encryption
and MAC computation, and I suggest doing it with Node-IDs too.
|The values for the algorithm fields will be described later in this
|document.
...in section 5.4. sigh.
I suggest adding the algorithms '0' in 5.4, for defining 'no ecnryption/MAC
performed. Same for compression.
|The field "Kp encrypted in Kij" is the ...
Explain again that the length of Kp is variable, and depends on the
MAC/crypt algorithm?
|The sender Master Key-ID field contains the Master Key-ID of the sender.
|This field is only present if the "S" bit has been set.
...if the source NSID is set.
|The receiver Master Key-ID field contains the Key-ID of the intended
|receiver. This field is only present if the "R" bit has been set.
...if the destination NSID is set.
|1.8.2 The relative order of compression, encryption and authentication
|
|The protocol allows three potential transforms to be performed, namely
|compression, encryption and authentication. The order in which these
|transforms are performed is very important. It is desirable for
|encryption to follow compression, because encrypted data is not
|(generally) compressible. Authentication must follow encryption and/or
^usually not!
|compression because it is unknown whether transforming a MAC using
|either encryption or compression results in a valid MAC.
I do not understand. You think it possible that an encrypted MAC will match
an encrypted plaintext, over which it was originally computed? Hmm. Would
be interesting to work out the properties such a MAC computation AND/OR
encryption would need to have. It surely does not exist as of now ;-)
|Received packets will naturally be transformed using the reverse order.
[---------]
|specific transform. The packet key Kp is used as a key to compute a MAC
|using, for example, Keyed MD5. The MAC is inserted into the encapsulated
See further below.
in 1.9.1 perhaps add a reference to the new SHA RFC, which appeared some
weeks ago, as alternative to keyed-MD5.
|1.9.2 Scope of MAC computation
|
|The only fields that are non-zero for the purposes of the MAC
|computation in the 20-byte outer IP header are: 1) 4-bit IP version
|number, 2) 16-bit ID field, 3) the two 32-bit source and destination IP
|addresses, and 4) the 8-bit protocol field. All other fields of the 20-
|byte IP header are treated as zero.
Isn't this a disagreement to:
|All IP options other than IPSO are ignored for the purposes of the MAC
|computation. The intent is to ignore any fields that may potentially be
|changed in transit by routers.
Does this mean that IPSO MUST be 0 on the receiving side, or what? Please
elaborate...
|1.10 SKIP for Encryption
|
|When SKIP is used to supply keying material for encryption only, the Kp
|algorithm indicates packet encryption algorithm. Kp will be used as a
|key to the Kp algorithm. The Kp algorithm will be mapped to standard
|transforms such as RFC 1829. These transforms will also contain
|information such as Initialization Vectors or Message Indicators.
Where is this mapping to std. transfroms defined?
|1.10.1 SKIP with ESP
|
| 0 1 2 3
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Clear IP Header protocol = SKIP... (typically 20-bytes)
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Ver |C|S|R|N| Source NSID | Dest NSID |NEXT HEADER=ESP|
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Counter n |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Kij Alg | Kp Alg | RESERVED | COMP Alg |
1 2 3 4 5 6 7 1 2 3 4 5 6 7
please check the width of these fields in the different graphics.
|value SKIP_SPI. The SKIP_SPI value is specified later in this document.
in section [guess] 5.2
|1.11 SKIP for Packet Encryption and Authentication
|
|Packets may be both encrypted and authenticated. An important issue when
|performing both authentication and encryption is key separation. Namely,
|the authentication and encryption keys MUST be different. This allows,
|for example, encryption keys to be short (possibly to satisfy export
|control laws) while keeping the authentication key as long as necessary.
|Furthermore, it MUST be infeasible to derive either one of the
|authentication key or the encryption key, should one of them be
|compromised.
Why?? Please explain. I see that there is a problem, if Kp can be recovered,
and that the recovery is made more difficult when the two alg's use differnt
representations of Kp. But why is it _important_ ?
|This is accomplished as follows. The Kp that is decrypted from the
|packet header is not used directly to encrypt/decrypt or authenticate
|the packet. Rather, it is used to derive two separate keys named E_kp
|and A_kp, where A_kp is used as the authentication key and E_kp is used
|as the encryption key. E_kp and A_kp are related to the Kp decrypted
|from the packet header as follows:
|
|E_kp = h(Kp, 1, Kp) | h(Kp, 0, Kp)
|A_kp = h(Kp, 3, Kp) | h(Kp, 2, Kp)
As above, the "," operator needs to be defined. Also the width of 0..3 needs
to be defined. See comments about 'Kijn and manual keying' above.
Incidentally, why are you using Kp|0|Kp, and not simply Kp|0 ?? I do not
think it makes things more secure.
I am not sure whether this makes sense, but I tend to propose that we always
use the output of the key separation process. So nobody would have to
decide when to use Kp directly, and when to use E_kp, A_kp instead.
This is not important. Comments?
|When using MD5, the function specified above provides a total of 256
|bits, which is a sufficient number of key bits for the expected
|encryption and authentication algorithms that will be used with SKIP.
What will you do if it is not sufficient? Redesign SKIP?
|A SKIP implementation will know when to perform the key separation
|procedure specified above by presence of non-zero values in both the Kp
|Alg identifier and the MAC Alg identifier. This indicates that both
|encryption and authentication are taking place, and therefore separate
|keys need to be computed.
Hmm. What happens if MAC Alg. is non-zero, but no AH header follos? What
happens if it is zero, and an AH header follows.
Have you somewhere explicitly defined the significance of MAC alg being 0,
or Kp alg being 0?
|The other important issue when performing both authentication and
|encryption is the order of the two operations. For sending, SKIP
|compliant implementations MUST first encrypt the packet using E_kp as
|the encryption key, and then compute the MAC over the encrypted packet
|and invariant clear header fields using A_kp as the authentication key.
Isn't this a reiteration of section 1.8.2 ?
|Any protocol which uses both authentication and encryption MUST use this
|key separation algorithm. When performing encryption without
|authentication, or authentication without encryption, then key bits are
MUST be
|directly derived from Kp, without using the key separation functions
|described above.
|1.11.1 SKIP with AH and ESP
|
|SKIP combines naturally with AH and ESP. The Next protocol field in the
^^^^^^^^^
;-))))
|The following is an example of SKIP with AH and ESP. In Addition, the
|use of Master Key-ID's is also demonstrated.
Key-IDs
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Kij Alg | Kp Alg | MAC ALG | COMP Alg |
again, check alignment of fields.
|All 32-bit quantities are transmitted in network order.
This I would state somewhere earlier, or make it a global definition, near
to the introduction!!
|1.11.2 SKIP with combined ESP transforms
|
|For ESP transforms which combine encryption and authentication (for
^both
|instance: Keyed MD5 with DES-CBC), only an ESP header is needed. The Kp
|algorithm in the SKIP header will indicate the transform and A_kp would
|be used for authentication and the E_kp (as discussed in a previous
|section) would be used for encryption.
|
|Since a SKIP implementation has to unambiguously distinguish between
|when authentication and encryption are both being taking place in order
|to perform key separation, the MAC field MUST contain the same algorithm
|identifier as the Kp algorithm identifier. Since this algorithm
|identifier will indicate a combined encryption/authentication transform
|for ESP, setting both fields to non-zero values unambiguously indicates
|that both encryption and authentication are taking place.
Well. Now this gets weird. The semantics of Kp alg (suggested: Crypt alg)
and MAC alg are somewhat convoluted. Don't you think that a combined
transform would itself provide the key-separation process?
I understand that otherwise this coupling of the two algorithm fields (and
the numbering spaces) is the only practical solution to handle such combined
transforms.
But usually, if a MAC alg is defined, I would demand to see an AH header...
|1.12 Generic use of SKIP header
|
|In particular it is possible to pass SKIP in the payload of of a TCP/UDP
[--]
|packet. This allows the key-management and encryption/authentication to
|be performed in the application protocol (above TCP/UDP), and there may
|be times where it is advantageous to do so.
We are linking network layer with application layer here. Is this wise?
(Note: I like it, as I like the user-initiated, or per-socket keying; but is
it a smart thing to do?)
AH always needs the IP header to check integrity. Does this combine with an
application layer authentication?
|2.1 Transient Multicast Groups
|
|Furthermore, in order to distribute multicast keying material, the
|notion of a group owner needs to exist. How the identity of the group
|owner is established and communicated to the participating nodes is left
|to the application layer. However, this also needs to be done in a
|secure fashion, otherwise the underlying key-management can be defeated.
Does this imply user-level keying of SKIP?
|encrypted packet, using the pairwise secure protocol described in
|Section 1 above.
... using SKIP as described in section 1.
|requests/response messages. The request is sent to TCP/UDP port # 2000.
2000 is a bad choice. This is the most commonly used port for experiments
etc. As it is the first x000 number accessible to everybody. How about using
something like 17530/17531 ?
|The first field specifies the version of this protocol, which is 1. It
|is followed by the actual IP multicast address for which the GIK is
|being requested. The request packet that is sent must have the minimal
|enhancement of source-origin authentication, which is accomplished using
|the AH protocol.
The user level would not need to care about this, would it? As we are using
SKIP below, this would have to be implied.
|The group owner's response is an encrypted packet
|containing the GIK Kg. The response is sent to TCP/UDP port # 2001 at
|the requester's unicast IP address. The packet format is as follows, and
|as before, it defines the data-portion of a TCP or UDP packet.
Nice. Small and complete. I like it.
|key-change policy. There are two ways of specifying key-change policy.
|One is in terms of elapsed time since last key-change. This is specified
Perhaps state that you are talking about key change of Kp, not Kijn ?
|Transmitting nodes to group address M will randomly generate packet
|encryption keys Kp, and encrypt these keys using Kg. The packet
|structure is similar to the structure used for encrypted unicast SKIP
|packets, except that the packet keys Kp are not encrypted in the
|pairwise keys Kijn, but instead are encrypted using the GIK Kg. An
...Kg, analogous to manual keying as described... .
| 0 1 2 3
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Clear IP Header protocol = SKIP... (typically 20-bytes)
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Ver |C|S|R|N| Source NSID | Dest NSID |NEXT HEADER |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Counter n=1 (unused) |
Why????!!! This might be used to convolute Kg. (I know, you can do the same
with expiration of Kg, and requiring it to be fetched again.) Perhaps this
issue should be discussed. And why is it set to 1, and not to 0 ? ;-)
There is a small little arrow at the left side of the image. Any
significance?
|An implementation of this protocol will use the destination IP multicast
|address to lookup the GIK Kg.
Hmm. You have not yet implemented it. (-:C
Take care your cache is large enough (and uses LRU) when handling a
multicast group. Otherwise you SKIP implementation will run into problems if
somebody does not follow the Kp change schedule. (see experiments in Atlanta
where a bilateral SKIP already flooded (and blocked) your chache.
|the group. This can be extremely frequent, e.g. once every few seconds
|even with very large multicast groups, because there is no extra
|communications overhead for updating packet encryption keys.
Again. Remember the cache size.
|Second, since all the packet encryption keys are randomly generated, and
|hence different, there is no problem in using stream-ciphers with
|multicast.
Perhaps we could note the synchronisation problems with stream ciphers, as
observed in Atlanta. I will discuss this in a later mail.
|2.2 SKIP for Broadcast/Permanent Multicast Groups
|
|GIKn = h(GIK, n, 1) | h(GIK, n, 0)
sigh. again the ',' operator.
|This use of SKIP to supply keys for non AH/ESP protocols is intended to
|be illustrative, and not exclusive. Other protocols can similarly be
exhaustive?
|The Algorithm discovery ICMP message:
|
| 0 1 2 3
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | TYPE=SKIP_ICMP| CODE | CHECKSUM |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | nKij | nKp | nmac | ncomp |
MAC
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Current Time |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | n update Frequency (in seconds) |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Expected n |
Isn't this tightly coupled to 'current time'? Might be redundant?
| 7 6 5 4 3 2 1 0
| +-+-+-+-+-+-+-+-+
| |I|P|M|C|N| res |
| +-+-+-+-+-+-+-+-+
| bits 0-2 are reserved and should be set to 0.
MUST/SHOULD
|
|The ICMP type field SKIP_ICMP is specified later in this document.
|
|The time field, Current Time, is set to the system's concept of current
|time in seconds since 0h Jan 1, 1900. This is identical to the Integer
^ UTC
|portion of the NTP timestamp.
and will work until about 2036.
Have you ever thought about augmenting NTP by authentication using SKIP.
This would secure the usage of 'n' for hosts using NTP. See RFC1305,
appendix C.
|The nKij, nKp, nmac and ncomp fields should be filled in with the number
nMAC
|of Kij, Kp, MAC and Compression algorithms the system supports,
|respectively.
|
|A host may force an ICMP message by sending a SKIP packet to the remote
|host with either the Kij or Kp algorithms set to zero. The compression
|algorithm may be set to 0 as well, but only if the "C" bit has been set.
See my suggested changes above, and forget about the 'C' bit. Directly use
the comrepssion alg. field.
Kp algorithms = 0 actually makes sense. I suggest forcing ICMP messages
only with Kij alg = 0.
|The DHPublicKey gets encapsulated as the BIT STRING in
|SubjectPublicKeyInfo of an X.509 certificate in the obvious manner. The
^^^^^^^?
|certificate and CRL encoding is the same as in RFC 1422. CRLs will be
|used with SKIP in the usual manner, in line with each site's
^^^^^?
|certificate/CRL management policies.
|4.3 Certificate Discovery Protocol
|algorithm for choosing a particular certificate (essentially a Diffie-
|Hellman public value) when more than one exist is described later.
...is described in section 4.4 ?
|All certificate discovery protocol communication use the User Datagram
|Protocol (UDP). The initiator binds to port skip-cert-send (6456) and
|sends a certificate request to port skip-cert-recv (6455). The
|responder binds to port cert-recv-port and sends the response to port
|cert-send-port. Two separate ports are used to allow for multiple
2 ports but 4 names?!
|certificate requests to be made without waiting for the response to be
|received, (that means, one port is used to simply send requests out and
|the other port is used to receive responses). A simple cache of the
|Master Key-ID and the IP address to which the request was sent is all
|that is required to manage outstanding certificate requests.
If I receive a SKIP packet containg an IP-v4 Master-ID and a source IP
address, and I try to do certificate discovery, to whom do I send my
UDP packet?
Why using 2 ports? If one process allocated both ports, as is suggested byt
the menioning of the cache, then one port is sufficent. Same applies to
ports in multicast scenario above.
|Implementation detail: Considering that a node may be pre-configured to
|allow only encrypted communication with any other node, a certificate
|request would be rejected. It is suggested that the two ports (cert-
|send-port and cert-recv-port) be treated as a "by-pass" channel for
|encryption. As only certificates requests are satisfied on these ports
|the window for vulnerability is limited.
Again we have a break of the layering. This would suggest SKIP
implementations where you can choose which ports are to be protected, and
which not. Which I like ;-)
|The certificate discovery packet:
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | VERSION | ACTION | STATUS |NUMBER-OF-CERTS|
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ACTION indicates the type of message. Possible values are:
|1 (Request) - request for remote parties certificate(s).
|2 (Reply) - response to a certificate request.
You need no second port, when you distinguish requests from replies!
|NUMBER-OF-CERTS - if 0 then no certificates are present in the message
| and the message is simply a request for all certificates
| for the specified Master Key-ID or a response where the
| STATUS octet indicates an error.
Suggestion: Use more than 8 bit for this value. There are no space
limitations demanding us to save 3 bytes. I know, more than 256
certificates are highly improbable in UDP packets <64k , but why limit
oneself...
|Note that this allows for the initiator to not only request for all
|certificates for a particular Key-ID but can also send in the same
|message all the certificates it has. As certificates have the subjects
for a certain master-ID. How about allowing for multiple master-IDs ?
We have a collsion of terminology here: Key-ID vs Master-ID ?
|identity (i.e. specifies the certificate owner), this information does
|not have to be sent to other party.
^the
|
|Master Key-ID - this is a 32 bit or a 128 bit identifier as described
| in the section on Master Key-IDs.
Hmm. How do I know if it is 32bit or 128 bit? Why only the two values?
Redesign. Include NSID!
...and it is section 1.8.
|CERT-TYPE specifies the certificate type of the certificate that is to
|follow.
see 5.4 for values.
|CERTIFICATE - the actual certificate.
|
|
|The Certificate Discovery Protocol allows certificate requests to be
|made to any arbitrary IP-node. This feature allows the initiator to send
|requests to, say, an IP-node which is acting as a DNS or NFS server (and
|hence would have many certificates stored in its local certificate
|database).
How about defining when the authenticity of a certificate is to be chacked,
and what happens if it is not authentic?
I just remeber that RFC1825 contains some MUSTs concerning logging of
authentication failures... Are we RFC1825 compliant in SKIP? Or should we
ask for a change of RFC1825? I deem it stupid to enforce logging. This is
up to the admin to decide.
|5.3 Name Space Identifier (NSID) Assignments
|
|Some of the name spaces that may be used with SKIP are assigned
|identifiers here. Other name space identifiers will be assigned by IANA.
| NSID Value Name Space Master Key ID length
| 0 IPv4 Address Space 32-bits
I suggest using 0 as implicitly meaning the actual IP adress of the packet
| 1 POSIX/XOPEN User Ids 32-bits
| 2 IPv6 Address Space 128-bits
| 3 MD5 of DNS Names 128-bits
| 4 MD5 of ISO DN ASN.1 encoding 128-bits
| 5 MD5 of U.S. Social Security # 128-bits
| 6 MD5 of Credit Card # 128-bits
| 7 MD5 of Principal's Public Key 128-bits
| 8 MD5 of RFC-822 Mailbox Address 128-bits
| 9 MD5 of Bank Account # 128-bits
| 10 MD5 of NIS Name 128-bits
|
|
|Only the IPv4 and IPv6 address spaces are used without transformation
|using MD5. All other names are hashed into 128-bits from their native
|name space encoding mechanism using the MD5 message digest algorithm.
See earlier discussion of weakness!
By the way: What happens if two different values hash to the same digest,
and the database sees this collision?
|5.4 Assigned Algorithm Numbers
|
|Key-Encryption Algorithms (Kij Alg)
0 Invalid
|1 DES-CBC (IV = 0, random fill upto multiple of 64-bits)
MANDATORY
|2 3 key Triple DES-EDE-CBC (IV = 0, random fill upto multiple of 64-bits)
|3 IDEA-CBC (IV = 0, random fill upto multiple of 64-bits)
10 Simple Crypt
What about using the same numbers as for Kp (or Crypt) Alg ?
What about RC2, RC5?
|Traffic Encryption Algorithms (Kp Alg)
|
0 Not encrypted, no Kp present if no MAC Alg defined.
|1 DES-CBC (64-bit IV, padding ESP transform RFC 1829)
1 DES-CBC (RFC 1829)
MANDATORY
|2 40-bit RC2-CBC (64-bit IV, PKCS # 5 padding algorithm)
why not the one in PKCS #7 ?
|3 40-bit RC4 (64-bit byte offset Message Indicator)
|4 128-bit RC4 (64-bit byte offset Message Indicator)
ESP formats need to be defined!
|5 2 key (k1, k2, k1) Triple DES (EDE-CBC) (64-bit IV, padding according to PKCS #7, FIPS 81)
|6 3 key (k1, k2, k3) Triple DES (EDE-CBC) (64-bit IV, padding according to PKCS #7, FIPS 81)
|7 IDEA-CBC (64-bit IV, padding according to PKCS #7, FIPS 81)
|8 DES-CBC (64-bit IV, padding according to PKCS #7, FIPS 81)
Do wee need these two?? Very redundant!
10 Simple Crypt
What about RC2, RC5 ?
What about RFC1851?
|MAC Algorithms (MAC Alg)
|
0 Not authenticated, no Kp present if no Crypt Alg defined.
|1 128-bit Keyed MD5 (RFC 1828)
MANDATORY
|2 DES-CBC MAC
where defined?
3 SHA (RFC1852) ??
|Compression Algorithms (Comp Alg)
|
0 No compression used
| Currently Unassigned
|
|Certificate Type (Cert Type)
^Format
|
|1 X.509
|2 PGP
|3 Secure DNS
How about defining an ASCII interchange format, which is human-readable
and needs no binary encoding. Printable, Mailable, etc. ? Just print out
numbers.... (No authentication needed, just transfer of g,p,public value)
|characters. It is best to utilize as many different sources of random
|information as possible.
Our suggestion for generation of in-kernel random data is to use vmstat
netstat etc. data, and use this to key RC4, which then delivers 'Random'
bytes. Comments?
|The traffic encryption/authentication key SHOULD be updated for every 10
|Mbytes of protected traffic, or once every 2 minutes, which ever one
|results in a more frequent update policy.
Perhaps discuss problem of resynchronizing stream ciphers, because of
out-of-seekrange offsets?
I do not remember having read anywhere that the IV of a streamcipher drops
back to zero when Kp changes. Where do we place this, in the RC4 or whatever
draft?
|The start time for computing "n" is 0h Jan 1, 1995. The time units of n
^UTC
Yet another starting point ;-)
|are hours since this start time. Therefore the "n" counter is
|incremented once every hour.
|
|Symbolically, n is computed locally as
|
|local n = (current time) - (start time) normalized to hours
^^^ without rounding, perhaps use
'truncated' or 'granularity of'
|
|check this against the value of n in the received SKIP header. If they
|do not differ by more than 1, the packet is accepted. If they differ by
Define the window to be +/- 1 hour.
|Note that this doesn't require the use of fine-grain synchronized clocks
|or a secure clock synchronization protocol. Nodes should by default have
|clocks synchronized within an hour of each other. If they are not
|synchronized even in this coarse-grain manner, then validating
|certificates and CRLs becomes problematic.
Is there a way to switch off Zero-Message Master Key Update? I would say
yes, simply by setting 'n' to 0. This should be stated in the draft. It
depends on policy if such packets may be accepted or not.
|Two sets of values are specified here. One uses a 1024 bit modulus (p).
|The other uses a 512 bit modulus. These values were computed using the
|BSAFE library from RSA Data Security, Inc. The 512 bit modulus is
|defined for interoperability with exportable implementations due to US
|export control regulations.
Exactly how did you generate them? As mentioned in IETF Stockholm by
Schiller, it would be wiese to do this in a public forum, using lots of
random noise, as available on any conference ;-)
===========
That's it.
Germano
--
<...cookie space for rent...>
Germano Caronni caronni@tik.ee.ethz.ch http://www.tik.ee.ethz.ch/~caronni
PGP-Key-ID:7B7AE5E1 gec@acm.org 997C6DC4AF930A5D2D5D6AEAA196C33B
Xref subject next
Hello Bill!
While implementing Photuris I've found some possible inconsistency in
the draft. Section 2.3 "Exchange Scheme" states:
"Selection among several different schemes is needed to enable
experimental and proprietary extensions without affecting the basic
protocol. The Initiator of the exchange specifies a list of the
^^^^^^^^^
schemes supported, and the Responder chooses one which it
^^^^^^^^^
supports. "
However, the detailed protocol description states that Offered-Schemes are
offered by the *Responder* in the Cookie_Response message (section 3.2)
and the Scheme-Choice is returned by the *Initiator* in the Key_Request
message (section 4.1).
Thanks,
Sara
Xref: Re: "Null" SIGs, NXT ordering, SIG orig TTL Francis Dupont
Xref: Re: "Null" SIGs, NXT ordering, SIG orig TTL Olafur Gudmundsson
Xref subject previous
Xref subject next
I have a few comments on the draft...
- Section 3 says:
Security
aware DNS implementations MUST be designed to handle at least two
simultaneously valid keys of the same type associated with a name.
Why isn't the ability to handle one enough? Why MUST two valid
keys be supported? Optional support of more than one is fine.
(Why would anyone want more than one KEY of the same type, anyway?)
- Section 3.7 refers to type AAAA RR's. What are these?
- Section 4 says:
The SIG RR unforgably authenticates other RRs of a particular type,
class, and name and binds them to a time interval and the signer's
domain name.
If this is true, why isn't the SIG on a dynamic update sufficient
to make that name/RR a full-fledged part of the DNS database,
allowing dynamically updated data to be treated just like "static"
data? If this is true, why do we even need the distinction of
static versus dynamic RRs?
- Section 4.1.3 says:
Thus
such dynamic RRs are not directly signed by the zone, are not
included in the AXFR SIG, and are not generally protected against
omission from zone transfers.
I am quite sure this is not what anyone running a secure DNS that
supports secure dynamic updates would want. It seems this section
should cover how to securely include dynamic updates in a zone transfer --
if not via the method described in 4.1.3 using AXFR SIG, etc. then by
some other method.
- Section 4.3 says:
Only a proper SIG RR signed by the zone can authenticate RRs.
What about entity signed dynamic RRs?
- Section 4.4 Signature Expiration
When a SIG expires, the covered RR's are not removed from the database,
but are kept around and the AD bit is used to indicate if the data
is no longer authentic. Is that right?
- Section 5.1 says:
The NXT RRs for a zone should be automatically calculated and added
to the zone by the same recommended off-line process that signs the
zone.
What about dynamic updates? Can't you get into a situation where
something was added via a dynamic update and the NXT RR computed at
start-up is no longer correct? It seems to me that these NXT RR's
must be computed on the fly to be accurate in the face of dynamic
updates.
- Section 6 says:
Authenticated means that the data has a valid SIG under a KEY
traceable via a chain of zero or more SIG and KEY RRs to a KEY
configured at the resolver via its boot file.
So, if the KEY RR for a name was in the statically read master
file for the zone, then RR's added dynamically and signed with
the private part of that KEY are considered authenticated?
- Section 6.1 says:
Security aware servers never return Bad data.
Is this true, given that zone transfers may omit dynamically added
RR's and given that NXT RR's are calculated offline? Perhaps I
don't understand the definition of Bad data here.
- Section 6.3 says:
A resolver should keep track of the number of successive secure zones
traversed from a starting point to any secure zone it can reach. <...>
Should a query encounter
different data for the same query with different distance values,
that with a larger value should be ignored.
I don't see exactly how this is supposed to work. Are you suggesting
that after sending out a query, the client waits around for multiple
query responses and then picks the one with the lower distance value?
In practice, wouldn't a client just take the first response with
a non-empty answer section and use that?
- Section 7.2 says:
Periodically an application can be
run to re-sign the RRs in a zone by adding NXT and SIG RRs.
It seems to get dynamic updates to work within the DNSSEC framework,
this period would have to be such that everything is re-signed
after each dynamic update. The update becomes part of the "static"
data and all the "static" data is then resigned. No, this can't be right.
- Section 7.5 says:
It is recommended that signature lifetime be a small multiple of the
TTL but not less than a reasonable re-signing interval.
In an environment where DHCP is used to hand out IP address leases
and DNS is updated dynamically to reflect the lease information,
the lifetime of the data will usually be that of the lease duration.
In the case of mobile clients, this lease duration may be just 5 - 10
minutes. That said, what is your idea of a reasonable re-signing interval?
- Also, it was mentioned to me in private email that:
if you want a completely dynamic zone, you can just have
the zone key sign an entity key with wildcard authority over the
entire zone and then use the entity key for everything in the zone
I don't see anything like this discussed in the draft --
particularly with respect to zone transfers and handling
NXT records. (And if there really is this other way to do security
in DNS servers that support dynamic updates, I'd really
like to understand how it would work!)
Edie
Xref subject previous > From: Sara Bitan> "Selection among several different schemes is needed to enable > experimental and proprietary extensions without affecting the basic > protocol. The Initiator of the exchange specifies a list of the > ^^^^^^^^^ > schemes supported, and the Responder chooses one which it > ^^^^^^^^^ > supports. " > Yes, that was left over text from -02. It was fixed in -04. Thanks. Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous Xref subject next In your previous mail you wrote: I have a few comments on the draft... - Section 3.7 refers to type AAAA RR's. What are these? => RR for IPv6 addresses (the name is from the proposed AA RR for SIP 8 byte addresses). Regards Francis.Dupont@inria.fr PS: according to draft-ietf-ipngwg-dns-00.txt: The AAAA resource record type is a new record specific to the Inter- net class that stores a single IPv6 address. The value of the type is 28 (decimal). An IPv6 address is encoded in the data portion of an AAAA resource record in network byte order (high-order byte first). (PS: IPv6 addresses have a 16 byte length)
Xref subject previous Germano, Thanks for your detailed and thoughtful comments. I will send a detailed reply a little bit later, given the extensive nature of your comments. On a related note, many people are privately e-mailing me comments and questions. Please cc the ipsec mailing list on your comments/questions. This is a work item of the ipsec WG, and a group discussion is more useful than private one-on-one discussions. Thanks, Ashar.
Xref subject next
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the IP Security Protocol Working
Group of the IETF.
Title : The Photuris Session Key Management Protocol
Author(s) : P. Karn, W. Simpson
Filename : draft-ietf-ipsec-photuris-04.txt
Pages : 51
Date : 10/10/1995
Photuris [Firefly] is an experimental session-key management protocol
intended for use with the IP Security Protocols (AH and ESP).
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-ipsec-photuris-04.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-04.txt>draft-ietf-ipsec-photuris-04.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-04.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-ipsec-photuris-04.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19951010101909.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-ipsec-photuris-04.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-ipsec-photuris-04.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19951010101909.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref subject previous
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the IP Security Protocol Working
Group of the IETF.
Title : The Photuris Session Key Management Protocol
Author(s) : P. Karn, W. Simpson
Filename : draft-ietf-ipsec-photuris-04.txt
Pages : 51
Date : 10/10/1995
Photuris [Firefly] is an experimental session-key management protocol
intended for use with the IP Security Protocols (AH and ESP).
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-ipsec-photuris-04.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-04.txt>draft-ietf-ipsec-photuris-04.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-ipsec-photuris-04.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-ipsec-photuris-04.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19951010101909.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-ipsec-photuris-04.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-ipsec-photuris-04.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19951010101909.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref subject next
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the Domain Name System Security
Working Group of the IETF.
Title : Domain Name System Security Extensions
Author(s) : D. Eastlake, C. Kaufman
Filename : draft-ietf-dnssec-secext-06.txt
Pages : 43
Date : 10/10/1995
The Domain Name System (DNS) has become a critical operational part of the
Internet infrastructure yet it has no strong security mechanisms to assure
data integrity or authentication. Extensions to the DNS are described that
provide these services to security aware resolvers or applications through
the use of cryptographic digital signatures. These digital signatures are
included in secured zones as resource records. Security can still be
provided even through non-security aware DNS servers in many cases.
The extensions also provide for the storage of authenticated public keys in
the DNS. This storage of keys can support general public key distribution
service as well as DNS security. The stored keys enable security aware
resolvers to learn the authenticating key of zones in addition to keys for
which they are initially configured. Keys associated with DNS names can be
retrieved to support other protocols. Provision is made for a variety of
key types and algorithms.
In addition, the security extensions provide for the optional
authentication of DNS protocol transactions.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-dnssec-secext-06.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-secext-06.txt>draft-ietf-dnssec-secext-06.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-secext-06.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-dnssec-secext-06.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19951010103755.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-dnssec-secext-06.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-dnssec-secext-06.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19951010103755.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
Xref subject previous
--NextPart
A Revised Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the Domain Name System Security
Working Group of the IETF.
Title : Domain Name System Security Extensions
Author(s) : D. Eastlake, C. Kaufman
Filename : draft-ietf-dnssec-secext-06.txt
Pages : 43
Date : 10/10/1995
The Domain Name System (DNS) has become a critical operational part of the
Internet infrastructure yet it has no strong security mechanisms to assure
data integrity or authentication. Extensions to the DNS are described that
provide these services to security aware resolvers or applications through
the use of cryptographic digital signatures. These digital signatures are
included in secured zones as resource records. Security can still be
provided even through non-security aware DNS servers in many cases.
The extensions also provide for the storage of authenticated public keys in
the DNS. This storage of keys can support general public key distribution
service as well as DNS security. The stored keys enable security aware
resolvers to learn the authenticating key of zones in addition to keys for
which they are initially configured. Keys associated with DNS names can be
retrieved to support other protocols. Provision is made for a variety of
key types and algorithms.
In addition, the security extensions provide for the optional
authentication of DNS protocol transactions.
Internet-Drafts are available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
"get draft-ietf-dnssec-secext-06.txt".
A URL for the Internet-Draft is:
ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-secext-06.txt>draft-ietf-dnssec-secext-06.txt>ftp://ds.internic.net/internet-drafts/draft-ietf-dnssec-secext-06.txt
Internet-Drafts directories are located at:
o Africa
Address: ftp.is.co.za (196.4.160.8)
o Europe
Address: nic.nordu.net (192.36.148.17)
Address: ftp.nis.garr.it (192.12.192.10)
o Pacific Rim
Address: munnari.oz.au (128.250.1.21)
o US East Coast
Address: ds.internic.net (198.49.45.10)
o US West Coast
Address: ftp.isi.edu (128.9.0.32)
Internet-Drafts are also available by mail.
Send a message to: mailserv@ds.internic.net. In the body type:
"FILE /internet-drafts/draft-ietf-dnssec-secext-06.txt".
NOTE: The mail server at ds.internic.net can return the document in
MIME-encoded form by using the "mpack" utility. To use this
feature, insert the command "ENCODING mime" before the "FILE"
command. To decode the response(s), you will need "munpack" or
a MIME-compliant mail reader. Different MIME-compliant mail readers
exhibit different behavior, especially when dealing with
"multipart" MIME messages (i.e., documents which have been split
up into multiple messages), so check your local documentation on
how to manipulate these messages.
For questions, please mail to Internet-Drafts@cnri.reston.va.us.
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version
of the Internet-Draft.
--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"
--OtherAccess
Content-Type: Message/External-body;
access-type="mail-server";
server="mailserv@ds.internic.net"
Content-Type: text/plain
Content-ID: <19951010103755.I-D@CNRI.Reston.VA.US>
ENCODING mime
FILE /internet-drafts/draft-ietf-dnssec-secext-06.txt
--OtherAccess
Content-Type: Message/External-body;
name="draft-ietf-dnssec-secext-06.txt";
site="ds.internic.net";
access-type="anon-ftp";
directory="internet-drafts"
Content-Type: text/plain
Content-ID: <19951010103755.I-D@CNRI.Reston.VA.US>
--OtherAccess--
--NextPart--
In spite of the attempt of Bill to discredit me and my findings about security holes in Photuris, the issues I brought up are serious and substantial. They apply to Photuris draft 03 (referred to as Photuris.03 in the sequel) and several of them were identified long ago (>6 months) and no action was taken. I consider this situation unacceptable: can we afford defining an insecure key management protocol for IP??? I will try to elaborate on these issues in a few messages to this list. Ran Atkinson referred to my last note as "impenetrable" and I can't but agree with him. To understand these issues one needs much more background on these problems than I have provided to the list. I mainly intended my last note to the editors of Photuris whom I expect to be more knowledgeable of the subtle issues involved here, and with whom I had the opportunity to discuss some of the issues in the past. I hoped that by having the editors taking care of these changes, my life, and yours, would be easier, and our convergence to a secure protocol faster. Since this is not happening I will try to be more explicit about the Photuris problems. All the issues that I'll mention are related to Photuris.03 (except if otherwise noted). The problems fall in different categories, and have varying effect on the security. Some of these categories are (I will elaborate on the particular examples in the upcoming messages): (1) insecure mechanisms. For example, the allowed use of digital signatures to be applied to secret information, or the derivation of keys for DES-CBC and keyed-MD5. (2) insufficient mechanisms. For example, missing defenses against replay for the Change_Message, or the proposed solution to fast re-key. (3) language problems. Usually, missing or insufficient specification of cryptographic requirements or functionality. The specifications for the certificate field in the signature message is an example. As a general remark: I will point out to problems, and will suggest solutions. I am not contributing text at this time since this would increase too much my wasted time if the editors oppose these changes. In case they are receptive to the need for change I may try to contribute text as well. *An important point to stress*: none of the changes I propose require any radical modification to the protocol, or to ongoing implementations of the protocol, they are simple to do and are fundamental to the security of the protocol. I hope people will read this, and give their feedback (in favor or against the required changes) to the list. Waiting for a "last call" to deal with the basic security of the protocol would be irresponsible. Also from my part. We need to give time to other people (in particular, other cryptographers) to scrutinize these security solutions as well. TO BE CONTINUED Hugo
Xref subject next
Summary of this message: I claim that the security of Photuris
needs to be guaranteed not only based on its default transforms,
but for any replacement of these transforms by other secure algorithms.
The current definition of Photuris does not satisfy this criterion.
As an example, use of plain RSA signature as the signature attribute
in the protocol discloses the exchanged DH key. [Whoever consider this
not to be a serious and practical security bug, please let us know.]
Protocol security and Algorithm independence
********************************************
Photuris is intended to be algorithm independent.
To me this means that the protocol with the defined default algorithms is
secure, but also that substituting any default algorithm by another that
has the same required security functionality, e.g., encryption, signature,
would result in a secure implementation of the protocol.
For example, any specifications-conformant implementation of Photuris that
uses a sound digital signature algorithm as its "signature attribute"
(as well as other secure algorithms for the other attributes) must result in
a secure key-exchange protocol. If the use of a particular, secure (i.e.,
computationally unforgeable) signature method results in an insecure
implementation of Photuris then the protocol, as defined, is *insecure*.
In such a case we can either
* change the protocol, or
* explicitly specify the extra requirements from the function (e.g.,
"a signature-attribute is a signature function that is infeasible to forge
*and also* protects the secrecy of the signed information.")
The first option is generally preferable if it does not add unnecessary
complexity to the protocol (the second option increases the chances of a
mistaken implementation, and reduces the number of useful algorithms).
Some of my claims about Photuris insecurity fall under the above understanding
of algorithm independence.
Namely, I show that for particular choices of signature or encryption
algorithms the resultant Photuris realization is insecure.
The algorithms used in my examples are well-known and secure, still their
use makes Photuris insecure.
This does not contradict in any way that there exist certain signature
and encryption algorithms for which Photuris is secure.
It is not enough that *there exist* secure conformant implementations of
Photuris, it must be that *all* conformant implementations are secure.
In addition, I warn about accepting the security of a protocol only based on
the fact that all the *known* examples of algorithms that realize a given
attribute happen to have some extra feature. For example, cryptographic hash
functions are designed with the goal of being "collision-resistant", ie. to
guarantee infeasibility of finding collisions. If we need the algorithm to
provide some extra feature, e.g., that the output of the function
does not leak any information on its input, or that the output is
unpredictable (or pseudorandom), then these properties need to
be explicitely specified.
The following is an example of a security failure in Photuris, related to
the above algorithm-independence issue.
Problems with the signature message
***********************************
Section 5.3 specifies the information on which the signature is verified
(which in turn defines the information on which the signature is computed)
> 5.3. Verification
>
> The two parties now verify the signatures received. The indicated
> Signature-Choice is calculated over the following concatenated
> values:
>
> + the computed shared-secret,
+ [other fields]
Clearly, any signature-choice that has the property of *not hiding* the
contents of the signed information will leak information on the
shared-secret (ie., the DH key). And there is *no requirement*
(in the Photuris document, or elsewhere in the literature) that
a signature scheme should hide the information contents. Moreover,
we also have a handy example of such a signature: plain RSA (without hashing).
If you see an RSA signature computed directly on a piece of data D
then the public verification process of that signatures consists of
*recovering D*. In this case, the whole shared-secret has leaked!
(Notice that if one uses a 1024 RSA modulus and works for the DH exchange
over a 155-bit fields then the whole signed information fits in 1024 bits,
as required for such a plain RSA signature).
Bill answered to this security bug by saying that the current default
signature-choice which is MD5-based does not suffer of that problem.
[This is right if we assume that MD5 with an appended secret key
(which is the default signature-choice in Photuris)
does not leak information on its input (a property that is not guaranteed
by cryptographic or collision resistant hash functions).]
However, even if this mechanism is secure it does not guarantee the
security of Photuris when using other signature transforms.
And the above RSA example shows that, indeed, there are natural signatures
that would reveal the whole shared-secret.
How to fix the above "sign the shared-secret" bug?
One solution is to fix the "language": specify that only
signature-attributes that cryptographically hide the signed information
are acceptable.
Or just leave "signatures" to mean what they traditionally mean (ie.,
unforgeability), and add an explicit mechanism that takes care of the
required additional aspects.
I vote for the second way. In the next message I will present the solution
I suggest.
Hugo
Xref subject previous "Edie E. Gunter" writes: > I have a few comments on the draft... > I will take a stab at few of these comments > - Section 3 says: > > Security > aware DNS implementations MUST be designed to handle at least two > simultaneously valid keys of the same type associated with a name. > > Why isn't the ability to handle one enough? Why MUST two valid > keys be supported? Optional support of more than one is fine. > (Why would anyone want more than one KEY of the same type, anyway?) Two examples: Current Key and Future Key. Current Key and Old Key. A zone may have decided to use a new key but it can not start signing with that key untill its superzone has signed the key. Superzone will have to sign two KEY RR's for the zone during KEY transition. Zone can not start signing with the new key until the superzone has signed the new key. Superzone can not stop signing the old KEY until after the zone starts signing with the New KEY. If zone knows that zonekey has been compromized it may request the superzone to only sign the NEW KEY. This will lead to service interruptions, but this is an acceptable price to pay in this rare case. Even if zone has started to use the new KEY, a server may have two sets RR's from the zone one signed by the OLD KEY and one signed by the NEW KEY, as long as the TTL and or the Signature have not expired on the RR's signed by the OLD KEY these are valid RR's. Zone may also have Key for signing zone (640bits and with exponent=3), and a second key for MOSS (2084bits and with exponent>2^20) and a third key for IPSEC (1028bits with exponent>2^12K). > - Section 4 says: > > The SIG RR unforgably authenticates other RRs of a particular type, > class, and name and binds them to a time interval and the signer's > domain name. > > If this is true, why isn't the SIG on a dynamic update sufficient > to make that name/RR a full-fledged part of the DNS database, > allowing dynamically updated data to be treated just like "static" > data? If this is true, why do we even need the distinction of > static versus dynamic RRs? Signed static RR's are covered by the SIG(AXFR). SIG(AXFR) needs to be recalculated if there are any changes (see more below). > > - Section 4.1.3 says: > > Thus > such dynamic RRs are not directly signed by the zone, are not > included in the AXFR SIG, and are not generally protected against > omission from zone transfers. > > I am quite sure this is not what anyone running a secure DNS that > supports secure dynamic updates would want. It seems this section > should cover how to securely include dynamic updates in a zone transfer -- > if not via the method described in 4.1.3 using AXFR SIG, etc. then by > some other method. IF Dynamic RR's are covered by SIG(AXFR) then the SIG(AXFR) has to be recomputed whenever a dynamic RR changes. To do this in REAL TIME the P RIVATE zonekey has to be online and available to the primary server. See section 7.2 for more details. > - Section 4.3 says: > > Only a proper SIG RR signed by the zone can authenticate RRs. > > What about entity signed dynamic RRs? > > - Section 4.4 Signature Expiration > > When a SIG expires, the covered RR's are not removed from the database, > but are kept around and the AD bit is used to indicate if the data > is no longer authentic. Is that right? Incorrect: When the SIG expires the RR's are to be purged. > > - Section 5.1 says: > > The NXT RRs for a zone should be automatically calculated and added > to the zone by the same recommended off-line process that signs the > zone. > > What about dynamic updates? Can't you get into a situation where > something was added via a dynamic update and the NXT RR computed at > start-up is no longer correct? It seems to me that these NXT RR's > must be computed on the fly to be accurate in the face of dynamic > updates. You can ONLY add types NOT names in a zone via secure dynamic update. The zone has to sign the KEY and NS RR's for the dynamic name in order for the name to be able to add/change it's RR's, This does not outlaw dynamic subzones, (subzone is indicated by ZONE KEY). > > - Section 6 says: > > Authenticated means that the data has a valid SIG under a KEY > traceable via a chain of zero or more SIG and KEY RRs to a KEY > configured at the resolver via its boot file. > > So, if the KEY RR for a name was in the statically read master > file for the zone, then RR's added dynamically and signed with > the private part of that KEY are considered authenticated? Correct if the KEY has sign bit set and the new RR are stored under the same name as the KEY. > > - Section 6.1 says: > > Security aware servers never return Bad data. > > Is this true, given that zone transfers may omit dynamically added > RR's and given that NXT RR's are calculated offline? Perhaps I > don't understand the definition of Bad data here. RR's that fail Signature check, RR's with expired Signature RR's with expired TTL... > - Section 7.2 says: > > Periodically an application can be > run to re-sign the RRs in a zone by adding NXT and SIG RRs. > > It seems to get dynamic updates to work within the DNSSEC framework, > this period would have to be such that everything is re-signed > after each dynamic update. The update becomes part of the "static" > data and all the "static" data is then resigned. No, this can't be right. Unless data that was dynamic has been added to the zone master file the dynamic data stays dynamic. Remember the only RR's signed by a zone for a dynamic name are KEY (and possibily NS) RR's. All other RR's are signed by the private key of that name. > > - Section 7.5 says: > > It is recommended that signature lifetime be a small multiple of the > TTL but not less than a reasonable re-signing interval. > > In an environment where DHCP is used to hand out IP address leases > and DNS is updated dynamically to reflect the lease information, > the lifetime of the data will usually be that of the lease duration. > In the case of mobile clients, this lease duration may be just 5 - 10 > minutes. That said, what is your idea of a reasonable re-signing interval? for static zone a day, week, 2 weeks, month, depending on local policy and requirements. If you have a signing process that you can securly send data, you can have expiration time as short as you want. But you need to lower your TTL time to be say 1 minute. > > - Also, it was mentioned to me in private email that: > > if you want a completely dynamic zone, you can just have > the zone key sign an entity key with wildcard authority over the > entire zone and then use the entity key for everything in the zone > > I don't see anything like this discussed in the draft -- > particularly with respect to zone transfers and handling > NXT records. (And if there really is this other way to do security > in DNS servers that support dynamic updates, I'd really > like to understand how it would work!) Simple you create a subzone for dynamic hosts, when ever there is a change in the zone some online process resigns the whole zone. Seriously, this is possible, and it is possible to optimize the process to only sign the changed RR and calculate the new SIG(AXFR). > > Edie Olafur
-----BEGIN PGP SIGNED MESSAGE-----
Hello everybody,
the SKIP interoperability work done in Atlanta has lead to a new (slightly
improved) version of ENskip. The pre-alpha source code release 0.14 for
IRIX, NetBSD, Nextstep and Solaris (for this verision only Solaris has been
tested, the others should work nevertheless) is available as:
ftp://www.tik.ee.ethz.ch/pub/packages/skip/ENskip-0.14pa.tgz
Currently only the old draft skip-00 is implemented. We expect to add DH
calculation soon, and will switch to the new draft in the next few months.
Friendly greetings,
Germano
Excerpt from the README:
========================================================================
This is ENskip, pre-alpha 0.10. ENskip is a security module for the TCP/IP
stack. It provides encryption, authentication and sequencing of packets on
the IP layer between two or more machines. For more information on the SKIP
protocol, see the Internet Draft draft-ietf-ipsec-aziz-skip-00.txt and
following. You might also want to check http://skip.incog.com for information
about the background, the protocol itself and future directions of it.
ENskip is pre-alpha. If you are not absolutely sure what this is all about,
you might want to read the draft, and perhaps reconsider using this package.
No bug-fixes, installation help or any other support is granted. If you
have any suggestions, comments or contributions to make ENskip work better,
mail to skip@tik.ee.ethz.ch.
Enjoy!
M. Hauber and Ch. Schneider
G. Caronni
=======================================================================
-----BEGIN PGP SIGNATURE-----
Version: 2.6.2
iQCVAwUBMHxJLLH8jId7euXhAQFC9gP8DxQiB3C0n/SPNtsAm6mPDPKtOi/zdJXl
EP2N15y468+Y9C62P51uToxzBicDIgDGW8tYdljoe3a/3gNvRNPkC1ItIHEB7TQ+
xUGE6wKTKdQMyOFyiwF5AolAWTgZjEIQzndw7iO4ya/jBb+w9i08JmF4QorNbwiT
SgBrVLPRXFE=
=/yZy
-----END PGP SIGNATURE-----
Xref: Re: Security problems in Photuris #2 David A Wagner
Xref subject previous
Xref subject next
> From: hugo@watson.ibm.com
>
> Summary of this message: I claim that the security of Photuris
> needs to be guaranteed not only based on its default transforms,
> but for any replacement of these transforms by other secure algorithms.
I dispute your claim. You did not specify the scope of "secure".
This statement would require that a zero-knowledge proof of a
Hamiltonian cycle (to pick something randomly from Schneier) would be an
appropriate algorithm for Photuris.
> The current definition of Photuris does not satisfy this criterion.
> As an example, use of plain RSA signature as the signature attribute
> in the protocol discloses the exchanged DH key.
I cannot find _anywhere_ in our documents where a "plain" RSA signature
is mentioned, let alone used. Plain RSA alone is not secure for digital
signatures over any hidden text. And it is "just plain inefficient"!
The forms of signatures specified are currently DNS-SIG, DSS, MD2, MD4,
MD5, PGP, PKCS, SHA, and X.509. MD5 is required. The others are not
specified in the base document, but have been split off to an extensions
document. Therefore, I refuse to discuss their details until the base
is complete.
> Photuris is intended to be algorithm independent.
No, it is not. Only a few, well chosen, algorithms are specified.
Anything else would destroy interoperability and burden the implementor.
Protocol designers are expected to have both knowledge and common sense.
Implementors are expected to follow the specification.
Bad assumptions lead to a bogus argument.
'Nuff said.
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Summary of this message: The issue of this note is how to fix
the signature message of Photuris.03 in order to avoid the security
holes discussed in my previous notes (mainly, the signing of the
shared-secret) as well as the lack of clear specifications for
the Certificate field as discussed below. I start by a lengthy
discussion of the subtle cryptographic issues behind the protocol, and
then present a solution based on this discussion. The length of the
present note does not represent the complexity of the solution but
the complexity of its rationale. The Photuris changes required
by this solution are minimal (both in terms of specifications
and implementation). The solution can be read in sections
"The signature message using Digital Signatures" and
"The pre-shared key signature option", below.
How to sign in the Signature_Message
************************************
To really understand this solution and the real problems it comes to solve
(which are more involved than the sole issue of signing or not the
shared-secret), one needs a good understanding of the cryptographic
subtleties surrounding this protocol. I will make an attempt
to explain some of the issues here, though a complete treatment
of this would require an even more detailed discussion.
Notice that the way I presented the Photuris signature bug is by
explaining that information on the shared-secret can be leaked
by a signature. One could wonder why, in the first place, is
the shared-secret signed. A (partial) answer is that:
* the signature message in Photuris has dual cryptographic functionality *
It serves to
(1) authenticate the DH exponents
(2) to prove possession of the shared-secret (ie. DH key) by the parties,
and to bind this shared-secret to the identity of the parties.
The first item is mandatory to prevent traditional man-in-the-middle attacks aga
The second is far more subtle and its need was pointed out in the
(excellent) paper on the STS protocol (that paper is referenced as [DOW92] in
Photuris, and is a must to read to understand the issues discussed here).
It turns out that without (2) the protocol would be insecure.
I elaborate on this after the following note.
[Note on STS vs Photuris: STS and Photuris are different protocols as a
whole. However, they have a lot in common and many of the cryptographic
aspects of STS are applicable to Photuris. This allows us to apply
(where relevant) the lessons learned from the STS protocol to Photuris.
I note that the issues discussed in this message apply to Photuris.03,
and may or may not apply to STS.]
To see the need to involve the shared-secret into the authentication of
the protocol, let's take Photuris.03 as defined but remove the
shared-secret from the signed information. We assume for simplicity that
no anonymity-encryption is in place (such encryption is optional in
Photuris). An attacker, Eve, can now act between A and B (which
represent Initiator and Responder, respectively) as follows.
Eve leaves all the Photuris messages
flowing between A and B unchanged except that she replaces two fields in
A's signature message: she replaces A's certificate by her own, and
changes the signature field to Eve's signature. Since all
information being signed is public Eve can easily do that.
The result of such an attack is that Eve does not know the shared
secret, however while A believes to have exchanged the key with
B, B believes to have exchanged it with Eve. The actual effects
of such an attack depend on the particular scenario where the
protocol is run; see [DOW92] for an example of possible consequences.
The abstract problem behind this attack is the lack of cryptographic
binding between the identities of the parties and the shared-secret.
There are several possible fixes to this problem. The idea is that
any party, say Eve, that does not know the shared-secret (i.e. the DH
key) should not be able to trick B to believe that he (B) was communicating
with Eve.
The STS protocol uses encryption of the signature message under the DH key
to avoid this problem. I have observed that encryption, in general,
is not a good enough protection here.
[In particular, if a stream cipher mode of encryption is
being used I can present two weaknesses of this solution (this applies even
for ideal one-time pad encryption), other modes of encryption may suffer
of similar weaknesses as well. I will not elaborate on this here.]
For Photuris this means that even if encryption of the signature_message
is used for anonymity, this encryption does not solve the above problem.
Photuris.03 uses the signing of the shared-secret to solve the above
impersonation problem. This is a tricky solution.
Reason 1: As pointed out before, if the signature does not provide secrecy of
the signed information then the shared-secret (or information about it) can be
disclosed.
Reason 2: Even if a signature with secrecy protection is used but the
identity of the signer is *not* included in the signature, the protocol
becomes insecure.
To see the latter, consider the example of a signature performed with RSA
and MD5 hashing.
In this case, Eve doesn't need to find the shared-secret in order to
replace A's signature with her own. She just uses
A's public key to recover the hashed information, and then sign it herself
(no need to know the shared-secret)!
By including the identity of the signer in the signed information this
problem is solved. (The need to sign the identity of the signer may seem
counter-intuitive -- why wouldn't be the use of a private key enough? --
but essential for security here.)
Therefore, we have learned that we need to
(1) sign the DH exponents
(2) prove that the parties know the shared secret (DH key)
(3) bind the identity of the signer to the shared-secret.
Notice that Photuris.03 provides this binding through the inclusion of the
Certificate field in the signature. What the current draft fails to make
clear is the mandatory need to *always* include the identity of the
signer in the certificate field (current language in Photuris.03,
implies that an implementation could not include a certificate at all,
and then, in particular, no identity into the signature). This issue is
further clarified below.
Given all this background on these subtle protocol issues, and Photuris
deficiencies in addressing them, here is my proposed solution.
For concreteness, I first present the solution assuming the use of a public
key-based digital signature, later I will show the solution for
the case of parties that have a previously-shared key (e.g., a manually
installed master key, a Kerberos key, etc), and use this key to authenticate
the DH exchange. As we'll see, the solution to the second is a "particular
case" of the former.
The signature message using Digital Signatures:
**********************************************
Most of the signature-message is unchanged from the specification in
Photuris.03. The changes are in the signature-choice, the signature
computation, and the certificate specification.
The Signature-Choice variable will specify the following attributes
(1) Digital signature algorithm (e.g., RSA, DSS), and a corresponding
certificate method (e.g., X.509, DNS, PGP, private formats, etc).
(2) a keyed MAC algorithm (e.g. keyed-MD5 a la RFC-1829, envelope SHA,
DES-CBC-MAC, etc.).
[(1) is identical to what Photuris.03 specifies; (2) is an additional
specification here]
The Certificate MUST include at a minimum the identity of the signer, and
may include additional information binding the public key of that signer
with the identity (as in traditional certificates).
[This is different than what's specified by Photuris.03 in the sense that
we add the "MUST requirement" that the Certificate field includes at a
minimum the identity. This mandatory inclusion is not clear in Photuris.03
which states
> Certificate variable precision number. When the Signature-
> Choice indicates a certification method, such as
> X.509, PGP or DNS-SIG, the certificate is included.
>
> The content is outside the scope of this
> specification. Although the field is depicted as
> 32-bit aligned for convenience, the size may be
> shorter or longer, as indicated by its integral Size
> field.
For example, an implementation that does not use regular certificates, but
just uses the sender's IP address to retrieve the public key of the sender
(from a local data base, a directory, etc), may interpret the above
specification as saying that in such a case the certificate field may not
be included at all. This would be insecure; instead, the IP address on
which the public key search is based must be included in that field.]
The signature field is computed by
(1) key the MAC function using the computed shared-secret (the MAC
function is as specified by the Signature-Choice variable);
apply this keyed MAC to the information as stated in Photuris.03
with the exception of the shared-secret, namely, MAC the information:
+ the Offered-Schemes,
+ the SPI Owner (receiver) Exchange-Value,
+ the SPI User (sender) Exchange-Value,
+ the SPI Owner (receiver) Offered-Attributes,
+ the SPI User (sender) Offered-Attributes,
+ the Type, LifeTime and SPI,
+ the Certificate
+ the contents of the remainder of the message following the
Certificate.
[Notice that I erased the phrase "(which may be specially handled)"
appearing in Photuris.03 after "the Certificate" in the
above list. I do not understand what does it mean. By the
requirement that the certificate field must contain the identity of the
sender we guarantee that the MAC computation includes this identity]
Note: I would like to eventually change the structure of the
above list (e.g., put the Offer-Attributes at the end,
have all the message signed instead of parts of it, etc.),
but this is a secondary issue and would distract us from the
more essential issues.
(2) Apply the Digital Signature, as specified by the Signature-choice variable,
using the sender's private-key and computed on the result
of the MAC computation described in (1).
The pre-shared key signature option
***********************************
An important scenario to support is that of communicating parties that
share a key before the execution of the Photuris key-exchange.
We call this key a pre-shared key.
This pre-shared key could have been shared via a previous execution of
Photuris, or it can be a manually installed key -- e.g., between a user's
laptop and the user's workstation --, or via Kerberos distribution,
and so on. In such a case the parties may use the pre-shared
key to authenticate the DH exchange, thus avoiding the need and
cost of the digital signature.
The above solution to the Signature_Message will work in this case
by performing the MAC computation as explained above but with the key
to the MAC being the pre-shared key (instead of the shared-secret).
The digital signature computation is omitted.
Notice that in this case the sender needs to specify the pre-shared key in
use. This can be done by including a "pointer" to this key (e.g., an SPI, a
key-identifier, etc.) in the certificate.
Issues:
******
* how long should signature-choice be to include the specification of
the MAC function (are 16 bits still enough?)
* need to provide attribute codes (or types) to be used as
signature-choice when a pre-shared key is used for authentication
(namely, these codes would specify a MAC function, and the omission
of a digital signature). Implementations need to be careful in this case
to use the specified pre-shared key for keying the MAC, and not
using the shared-secret for that purpose.
* Another subtle issue for future treatment: since MAC functions
are not guaranteed by definition not to leak (partial) information
on their keys, one should not use the shared-secret directly to
key the MAC but a key derived from the shared-secret; alternatively,
one can use the Key-Generator function as a MAC. Since all the
issue of deriving keys from the shared-secret is not well resolved
in Photuris.03, I'll leave this issue for future discussion.
* Non-repudiation (if you are not a real crypto fun, skip this):
the solution of signing a MAC value contradicts the traditional
property of non-repudiation provided by digital signatures.
If such non-repudiation would be a requirement for Photuris,
my solution wouldn't be acceptable. [The point is that for some
MAC functions (e.g., DES-MAC) the party knowing the MAC key can
find different messages mapping to the same MAC value and then
could argue that its peer signed a different stream of information
than it really did.] I find this perfectly acceptable for Photuris:
Not only should non-repudiation be a non-goal of Photuris; ideally,
complete repudiability of communication should have been a property
of key-exchange for IP. I explained this privacy-related issues
in the past (related to my "Photuris variant").
If non-repudiation had to be provided then some slight modifications
of the above solution could achieve that (e.g., hash with a collision
resistant function before MAC-ing, or use a collision-resistant MAC;
MAC-ing a signature instead of signing the MAC is another possibility,
however it requires an extra field and accomodates less naturally the
pre-shared key case).
Hugo
Xref subject next The ACM/Baltzer Wireless Networks Journal announces a special issue on Personal Communications Scope: Personal communications provide communication services anywhere, anytime, with anybody, and in any form. To implement the personal communications concepts, extremely sophisticated systems which integrate many diverse technologies are required. This special focuses on the research and development of advanced PCS technologies. Original contributions related to the following topics are solicited: - Small scale mobility (handover) management - Channel allocation algorithms - Large scale mobility (roaming) management - Privacy and authentication - Multi-tier system - PCS database reliability - Intelligent networks for PCS - PCS data applications - PCS backbone architecture (e.g., ATM) - Local wireless network - Wireless multimedia - Mobile IP - Modeling of PCS (measurement, analysis, and simulation) Authors are invited to submit postscript files of their papers to liny@csie.nctu.edu.tw or submit 6 copies of their papers to Professor Yi-Bing Lin, Dept. Comp. Sci. & Info. Engr., National Chiao Tung University, Hsinchu, Taiwan, R.O.C. Papers should not exceed twenty double spaced pages in length, excluding figures and diagrams. Submission deadline: April 15, 1996 Acceptance notification: July 30, 1996 Final manuscript due: October 30, 1996 Guest editors: Yi-Bing Lin Dept. Comp. Sci. & Info. Engr. National Chiao Tung University Hsinchu, Taiwan, R.O.C. Russell T. Hsing Bellcore MRE 2M199 445 South St. Morristown, NJ 07960 trh@thumper.bellcore.com
Xref subject previous The ACM/Baltzer Wireless Networks Journal announces a special issue on Personal Communications Scope: Personal communications provide communication services anywhere, anytime, with anybody, and in any form. To implement the personal communications concepts, extremely sophisticated systems which integrate many diverse technologies are required. This special focuses on the research and development of advanced PCS technologies. Original contributions related to the following topics are solicited: - Small scale mobility (handover) management - Channel allocation algorithms - Large scale mobility (roaming) management - Privacy and authentication - Multi-tier system - PCS database reliability - Intelligent networks for PCS - PCS data applications - PCS backbone architecture (e.g., ATM) - Local wireless network - Wireless multimedia - Mobile IP - Modeling of PCS (measurement, analysis, and simulation) Authors are invited to submit postscript files of their papers to liny@csie.nctu.edu.tw or submit 6 copies of their papers to Professor Yi-Bing Lin, Dept. Comp. Sci. & Info. Engr., National Chiao Tung University, Hsinchu, Taiwan, R.O.C. Papers should not exceed twenty double spaced pages in length, excluding figures and diagrams. Submission deadline: April 15, 1996 Acceptance notification: July 30, 1996 Final manuscript due: October 30, 1996 Guest editors: Yi-Bing Lin Dept. Comp. Sci. & Info. Engr. National Chiao Tung University Hsinchu, Taiwan, R.O.C. Russell T. Hsing Bellcore MRE 2M199 445 South St. Morristown, NJ 07960 trh@thumper.bellcore.com
Xref subject previous Xref subject next I suppose people like 3DES becasue the financial community is headed that way and there is hardware for it. But if I wanted something stronger than DES but keeping the measly 64 bit block size, I think I'd go for D-I-D. You take 128 bits of key, DES with the top 64 (ignoring parity), IDEA the output with them all, then DES with the bottom 64 (ignoring parity). Then you can CBC around the whole thing. Donald From: Hilarie OrmanTo: bsimpson@morningstar.com Cc: ipsec@ans.net In-Reply-To: Yourmessage <199510020505.AA26294@interlock.ans.net> }RSA Labs, http://www.rsa.com/rsalabs/cryptobytes/spring95/news.htm: } } Modes involving single-DES instead of triple-DES as a primitive, such } as encrypting three times with single-DES in cipher block chaining } mode, have been shown by Eli Biham in the past year to be potentially } no stronger than single-DES against certain attacks. Encrypting with } triple-DES in cipher block chaining mode is not vulnerable to those } attacks. } }... }
Xref subject previous I suppose people like 3DES becasue the financial community is headed that way and there is hardware for it. But if I wanted something stronger than DES but keeping the measly 64 bit block size, I think I'd go for D-I-D. You take 128 bits of key, DES with the top 64 (ignoring parity), IDEA the output with them all, then DES with the bottom 64 (ignoring parity). Then you can CBC around the whole thing. Donald From: Hilarie OrmanTo: bsimpson@morningstar.com Cc: ipsec@ans.net In-Reply-To: Yourmessage <199510020505.AA26294@interlock.ans.net> }RSA Labs, http://www.rsa.com/rsalabs/cryptobytes/spring95/news.htm: } } Modes involving single-DES instead of triple-DES as a primitive, such } as encrypting three times with single-DES in cipher block chaining } mode, have been shown by Eli Biham in the past year to be potentially } no stronger than single-DES against certain attacks. Encrypting with } triple-DES in cipher block chaining mode is not vulnerable to those } attacks. } }... }
Xref subject next
Because the generality of Photuris has apparently lead to the
misconception that it is applicable to every current and future
cryptographic mechanism, I have added the following Design Notes:
Although attributes offer great flexibility, only a few
well-chosen algorithms are specified. This provides opportunity
for intensive review by the cryptographic community, reduces
implementation complexity, and improves potential for
interoperability.
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref: Re: Security problems in Photuris #2 Perry E. Metzger
Xref subject previous
Xref subject next
Ref: Your note of Thu, 12 Oct 95 00:51:30 GMT (attached)
Here are my answers to Bill's message.
The moral is:
We need a robust and secure Photuris for many years to come.
Let's do it right.
The mechanisms I propose pay no extra penalty relative to what is
in Photuris today and they increase security and robustness.
Let's not wait to last minute to do changes because I want my own
proposals scrutinized by others.
>
> > From: hugo@watson.ibm.com
> >
> > Summary of this message: I claim that the security of Photuris
> > needs to be guaranteed not only based on its default transforms,
> > but for any replacement of these transforms by other secure algorithms.
>
> I dispute your claim. You did not specify the scope of "secure".
I wish the Photuris draft would have specified this scope. It would make the
whole specification clearer and more robust. I was not trying to get
too much into specifications. But, I believe it is clear from the rest
of my original message that the security of an algorithm is relative to the
functionality it gives.
For example, a signature algorithm provides for authentication and
unforgeability AND NOT FOR SECRECY.
>
> This statement would require that a zero-knowledge proof of a
> Hamiltonian cycle (to pick something randomly from Schneier) would be an
> appropriate algorithm for Photuris.
If you read my message it says
To me this means that the protocol with the defined default algorithms is
secure, but also that substituting any default algorithm by another that
has the same required security functionality, e.g., encryption, signature,
would result in a secure implementation of the protocol.
Notice the words "same required security functionality"; a zero-knowledge
proof of Hamiltonian cycle is a beautiful protocol but no one has claimed it
achieves any of the functionalities required by Photuris, like signature,
encryption, authentication, etc.
>
> > The current definition of Photuris does not satisfy this criterion.
> > As an example, use of plain RSA signature as the signature attribute
> > in the protocol discloses the exchanged DH key.
>
> I cannot find _anywhere_ in our documents where a "plain" RSA signature
Plain RSA is not explicitely specified in Photuris. I gave it as a natural,
easy to understand, example of a signature function that does not hide the
signed text.
The basic point is: digital signatures do not hide text by definition (or
requirement). Hiding the text may (or may not) be achieved as a "side
effect" of particular mechanisms like hashing.
But even hashing, in general, does *not* guarantee the hiding of text.
We are not even sure about this property for the current natural candidates
like MD5. We definitely cannot guarantee that property for each of the
algorithm that with time people will want to use with Photuris.
On the other hand, Photuris is "plain insecure" if this secrecy property is
not provided by the signature attribute.
Photuris has to be robust enough to remain secure for long time, even when
algorithms change (and they will!) because of efficiency or security reasons!!!!
> is mentioned, let alone used. Plain RSA alone is not secure for digital
> signatures over any hidden text. And it is "just plain inefficient"!
I don't want to discuss the merits of plain RSA. I am not proposing (or
recommending) using this mode of RSA. It is just a very natural, practical
example. (And if efficiency is your issue, then let me remark that it
is *more* efficient if the signed text is no longer than the RSA modulus,
as the case of Photuris with 155-bit elliptic curve)
>
> The forms of signatures specified are currently DNS-SIG, DSS, MD2, MD4,
> MD5, PGP, PKCS, SHA, and X.509. MD5 is required. The others are not
> specified in the base document, but have been split off to an extensions
> document. Therefore, I refuse to discuss their details until the base
> is complete.
>
>
> > Photuris is intended to be algorithm independent.
>
> No, it is not.
HUH?!
I thought Photuris follows the decisions of the IPSEC WG.
Let me cite from RFC1825 " Security Architecture for IP":
This section describes some of the design objectives of this security
architecture and its component mechanisms. The primary objective of
this work is to ensure that IPv4 and IPv6 will have solid
cryptographic security mechanisms available to users who desire
security.
These mechanisms are designed to avoid adverse impacts on Internet
users who do not employ these security mechanisms for their traffic.
These mechanisms are intended to be algorithm-independent so that the
cryptographic algorithms can be altered without affecting the other
parts of the implementation. These security mechanisms should be
useful in enforcing a variety of security policies.
Standard default algorithms (keyed MD5, DES CBC) are specified to
ensure interoperability in the global Internet.
Let me highlight this part from the above citation:
*************************************************************************
* These mechanisms are intended to be algorithm-independent so that the *
* cryptographic algorithms can be altered without affecting the other *
* parts of the implementation. *
*************************************************************************
And just to be clear about the point I made above, let me repeat it
Photuris has to be robust enough to remain secure for long time, even when
algorithms change because of efficiency or security reasons !!!!
> Only a few, well chosen, algorithms are specified.
For immediate interoperability purpose this is perfect.
But please give guidance to the future implementor/user on how to decide
on "well chosen" algorithms.
>
> Anything else would destroy interoperability and burden the implementor.
>
> Protocol designers are expected to have both knowledge and common sense.
Well, at least an issue where we are in complete agreement!!!
>
> Implementors are expected to follow the specification.
Again we are in agreement. This is *exactly* why I am so concerned about the
current specifications
>
> Bad assumptions lead to a bogus argument.
>
> 'Nuff said.
>
> Bill.Simpson@um.cc.umich.edu
> Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Bill, please. We are wasting time here. Let's go on. Stubborn defiance will
not help us.
And Phil, where are you????????
Hugo
Xref subject previous Xref subject next hugo@watson.ibm.com writes: > Here are my answers to Bill's message. > The moral is: > > We need a robust and secure Photuris for many years to come. > Let's do it right. > The mechanisms I propose pay no extra penalty relative to what is > in Photuris today and they increase security and robustness. > Let's not wait to last minute to do changes because I want my own > proposals scrutinized by others. I'd like to say that I think Hugo's comments ought to be seriously discussed. As he says, they don't produce any extra penalty, so if they give us potential added flexibility and strength we ought to consider them seriously. Given that we have no installed base to remain compatible with, its worth talking about at the very least. Perry
Xref subject previous
Xref subject next
> From: hugo@watson.ibm.com
> I was not trying to get
> too much into specifications. But, I believe it is clear from the rest
> of my original message that the security of an algorithm is relative to the
> functionality it gives.
>
On the other hand, I am _only_ interested in specifications.
The latter sentence is not obvious. What relation? What does it add to
the specification? (and where would it be put?)
> Notice the words "same required security functionality"; a zero-knowledge
> proof of Hamiltonian cycle is a beautiful protocol but no one has claimed it
> achieves any of the functionalities required by Photuris, like signature,
> encryption, authentication, etc.
>
Actually, in our terms, it is _not_ a protocol, it is an algorithm.
> I don't want to discuss the merits of plain RSA. I am not proposing (or
> recommending) using this mode of RSA. It is just a very natural, practical
> example.
What you have done is specified a "straw man". You admit that it has
none of the functionalities required by the Photuris protocol. Since
Photuris does not recommend its use, and you are unwilling to recommend
its use, why have you wasted our time?
> (And if efficiency is your issue, then let me remark that it
> is *more* efficient if the signed text is no longer than the RSA modulus,
> as the case of Photuris with 155-bit elliptic curve)
>
Another inapplicable "straw man", since Photuris clearly indicates that
the signed text includes more than the shared-secret.
> Bill, please. We are wasting time here. Let's go on. Stubborn defiance will
> not help us.
>
You are correct. You are wasting our time. Stubborn disputation of
irrelevancies will not help us.
> And Phil, where are you????????
>
Surely, if he finds a point that is interesting, he will answer it.
Why do you continue to insist on badgering everyone to answer you?
Well, I've had enough. Let's go on. Does anyone else have something
useful to add to Photuris?
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous Xref subject next Ref: Your note of Thu, 12 Oct 1995 10:37:21 -0700 (PDT) (attached) > > I propose a simple compromise: document the assumptions. > > Since Bill keeps asking for text contributions, here's one: > > ``Photuris signature transforms must hide their input. > A signature transform which leaks information about > its input is unsuitable for use in Photuris.'' This is not a compromise. This is the absolute minimum required for the current Photuris design. As I said in my messages, language changes can help here. But why not to get a better, less restrictive design that does not require (inflexible) assumptions from a signature transform as above? The additional MAC operation I am asking for before applying the digital signature cannot be a reason not to go to a better, more robust design. Anyway, don't forget another "mandatory" language change regarding the Signature-Message. A Photuris implementation MUST sign the identity of the signer (this is unrelated to the issue of whether the signature provides secrecy or not). This can be accomplished by specifying that the Certificate field MUST always be present and, at least, include the signer's identity. Or, any other way to ensure that this identity is included in the signature (and known to the verifier). See my "Security problems in PHoturis #3" for a rationale about mandatory signing of identity. Hugo
Xref subject previous Xref subject next > Plain RSA alone is not secure for digital > signatures over any hidden text. > > Photuris is intended to be algorithm independent. > > No, it is not. Only a few, well chosen, algorithms are specified. > Bad assumptions lead to a bogus argument. I propose a simple compromise: document the assumptions. Since Bill keeps asking for text contributions, here's one: ``Photuris signature transforms must hide their input. A signature transform which leaks information about its input is unsuitable for use in Photuris.''
Xref subject previous -----BEGIN PGP SIGNED MESSAGE----- content-type: text/plain; charset=us-ascii I propose a simple compromise: document the assumptions. I was thinking the same thing.. Since Bill keeps asking for text contributions, here's one: ``Photuris signature transforms must hide their input. A signature transform which leaks information about its input is unsuitable for use in Photuris.'' Hmm. How about the following, which includes some rationale text.. "Since the shared secret is included in the value to be signed, Photuris signature transforms must not leak information about any part of their input. An example of an unsuitable signature transform would be RSA of the raw signature value." The following text may also help: "Because the shared secret is found at both the beginning and the end of the input to the signature transform, and all specified signature transforms hash their input and then sign the hash, one may look at this process as the signature of a keyed hash of the remaining fields, with the shared secret as the key." BTW, the same issue also applies to the verification of change messages in section 6.4; the validity_choice algorithm also must not leak info about the shared secret. - Bill -----BEGIN PGP SIGNATURE----- Version: 2.6.1 iQCVAwUBMH1rpVpj/0M1dMJ/AQEHbwP9F/DLG7ET7Psi3I0X3gcioj4Jbkk/9hdp v1L/4jbWMDjUq3/Ptq2ORS9UFfkMqU9Vyzd83nYIfX6ANlxD7F1JILL8Z17DYacd nHQIDPJcXTD+JejS4Flfk3D3t7hw9rt9lkiZqy6uF2Z1wtnzD8dl3At2EGaPM0kU mdTlHkrOWj4= =t2gz -----END PGP SIGNATURE-----
I have one more review promised me by tomorrow for 1-4. I think I'm
ready to take comments on Chapters 5 through 7, while I get the new
draft done over the weekend.
Also, there is a minor item that folks ought to note. Originally,
Photuris was intended to be published as Experimental. The WG Chairs
decided that they wanted official WG review for possible Proposed
Standard publication.
Indeed, WG review effected some significant changes, which were
suggested by implementors. In this case, adding AH and ESP on the same
ports in the middle of the Photuris exchange worked fine on one
platform, but was difficult on a couple of others. And so, we
reorganized the messages and added explicit Privacy and Validity fields.
Wide implementation experience on multiple platforms is often very
helpful. But that's also true of Experimental, and would likely have
happened in the normal course of events.
However, most of the feedback _on_ this list has been one very verbose
naysayer. Unless other members of the WG indicate to the Chairs that
they desire to see this published as a Standards' Track protocol, I am
quite content to stay with Experimental. For one thing, I won't have
the extra grief, and publication can be that much sooner.
So, while you ponder the wording of 5-7, also indicate whether you wish
this published as Experimental or Proposed Standard. Thanks.
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
I've finally updated the example online AH code fragment at ftp://ftp.nrl.navy.mil/pub/ security/ipsec/ipsec-ah-fragment.c to reflect the version of AH that we included with the "alpha-quality" release of the NRL IPv6/IPsec software distribution for 4.4-Lite BSD. This implements the Simpson/Metz/Atkinson compromise on what to include with AH and is known to interoperate with Morningstar's AH implementation over IPv4. Ran rja@cs.nrl.navy.mil
Xref subject previous Xref subject next > Because the generality of Photuris has apparently lead to the > misconception that it is applicable to every current and future > cryptographic mechanism, I have added the following Design Notes: > > Although attributes offer great flexibility, only a few > well-chosen algorithms are specified. This provides opportunity > for intensive review by the cryptographic community, reduces > implementation complexity, and improves potential for > interoperability. > > Bill.Simpson@um.cc.umich.edu Bill -- The above is completely off the mark. What cryptographers want and expect of a protocol like Photuris is that it works under the assumption that each of its primitives is instantiated to meet the (standard) definition of the goal of that primitive. You certainly don't have that in Photruis. Adding some sort of proviso like the one you suggest isn't going to do anything to solve this problem. You do not facilitate analysis by saying that Photuris is only required to work when its primitives are drawn from a certain concrete set of possibilities; exactly the opposite-- you render cryptographic analysis impossible. Phil
Xref subject next
I agree with Hugo Krawczyk's concern that the use of the term
"Signature" (as in section 5, "Signature Exchange") is somewhat
misleading, and introduces some risk. The difficulty can be removed
by slightly changing the protocol (Hugo's proposal), or adding some
clarifying language.
The danger, as he points out, is that the term "signature" generally
refers only to a quantity computed from the message and the private
key that can only be computed by someone possessing the private key,
while being capable of being verified by anyone holding the
corresponding public key.
*****************************************************************
*** There is nothing in this notion of "signature" that means ***
*** that the message can not be derived from the signature. ***
*****************************************************************
Indeed, I believe that the CCITT standards distinguish explicitly between
"signature schemes with message recovery" and "signature schemes without
message recovery".
Furthermore, it IS important that the signature scheme used not have
the "message recovery" property, since part of what is signed is the
computed shared-secret.
At the minimum, this requirement should be noted in the document. Otherwise,
there is a risk that the list of approved "signature schemes" might be
inadvertently expanded in the future to include one that had message recovery.
(Not by anyone currently involved in the proposal, but by some future
caretaker...)
I would suggest adding language of the following form somewhere (such as
on the top of page 23):
The Signature-Choice method must specify a signature method that
does not have "message recovery": it should not be feasible to
compute the message from the signature. (More specifically, it should
not be feasible to compute any of the bits of the message from
the signature.) This property is required of the signature method
to prevent an adversary from computing the computed shared-secret
from the signature. The signature methods specified in Appendix B
are believed to be satisfactory from this point of view. Also,
any signature scheme that signs a cryptographic hash of the
message should be satisfactory.
Ronald L. Rivest
> To: David A Wagner> From: Bill Sommerfeld > I propose a simple compromise: document the assumptions. > > I was thinking the same thing.. > > Since Bill keeps asking for text contributions, here's one: > Thank you, David and Bill, for sensible suggestions. Of course, this is generally true of every encryption and authentication algorithm -- it should not leak its key. We could repeat this text in virtually every part of the draft, and in every other security document as well. Hopefully, you are not proposing such silliness. Although it is restating the obvious, at your request I have added something of the sort in the Security Considerations section: In general, where the shared-secret or session-keys are involved in any calculation, the algorithms selected should not reveal information about the secret, either directly or indirectly. Bill.Simpson@um.cc.umich.edu Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous
Xref subject next
Page 17 (Initiator-Offered-Attributes)
Page 20 (Responder-Offered-Attributes)
It is not clear exactly what is intended by "three or more"
Security Parameter Attributes. Is the number three somewhat
arbitrary, or is there some rationale (like maybe I'm supposed to
choose one encryption algorithm, one authentication algorithm, and
one signature algorithm at least)? If the number is just arbitrary,
it would help to say so.
Xref subject previous
Xref subject next
Page 24, section 5.2, second paragraph:
"The fields protected are described for each method." I don't
see where these descriptions are, and I don't see why they should
differ for different "methods." More explanation is needed here.
Xref subject previous
Xref subject next
Page 22: It is not described anywhere what the recipient is supposed to
do with the "LifeTime" variable in the Signature_Message.
If this is not used by the recipient, it should be omitted.
(Presumably it should documented what is to be done with this
by the recipient.)
Xref subject previous
Xref subject next
Page 24: Is padding required even if encryption is not specfied?
Page 24, line 7: "size of the Padding field" -->
"size of the Padding field in octets"
Xref subject previous
Xref subject next
Thank you for taking the time to read the draft. Are there any other
cryptographic flaws or misunderstandings that you have found?
Are you actually on this list?
Or did Hugo "appeal to authority" again?
> From: rivest@theory.lcs.mit.edu (Ron Rivest)
> I agree with Hugo Krawczyk's concern that the use of the term
> "Signature" (as in section 5, "Signature Exchange") is somewhat
> misleading, and introduces some risk. The difficulty can be removed
> by slightly changing the protocol (Hugo's proposal), or adding some
> clarifying language.
>
> The danger, as he points out, is that the term "signature" generally
> refers only to a quantity computed from the message and the private
> key that can only be computed by someone possessing the private key,
> while being capable of being verified by anyone holding the
> corresponding public key.
> *****************************************************************
> *** There is nothing in this notion of "signature" that means ***
> *** that the message can not be derived from the signature. ***
> *****************************************************************
It always helps when communicating persons are speaking the same
language. Of course, we have had the same problem with other parts of
Hugo's messages. For example, he calls things "protocols", when we
would call them "algorithms". Our protocols require a specific
instantiation. He refuses to condescend to discuss such mere
"specifications".
That is not the definition used in Photuris. Photuris relies instead on
the definition from [Schneier, p 36] (which Photuris references):
"That bit string attached to the document when signed ... will be
called the digital signature, or just the signature."
This definition is _much_ more useful. Particularly as the current
Photuris draft does not require use of public/private key pairs!
I understand that with your involvement in public-key algorithms you
might see signatures only in the light of public and private keys.
However, the default required by Photuris specifies MD5 as the signature
algorithm. A long-term authentication secret is used instead of a
public/private key-pair.
The excised text indicated by ellipses are the following words:
"(in the above example, the one-way hash of the document encrypted
with the private key)"
Note that even the Schneier examples use a one-way hash with private
keys!
> Indeed, I believe that the CCITT standards distinguish explicitly between
> "signature schemes with message recovery" and "signature schemes without
> message recovery".
>
It has always amazed me what the ITU is willing to "standardize".
> Furthermore, it IS important that the signature scheme used not have
> the "message recovery" property, since part of what is signed is the
> computed shared-secret.
>
Yes, but this is "obvious", even to non-cryptographers.
As I noted in another message, not revealing the secret when you use it
in _any_ transform is a rather fundamental and well-known principle.
This applies to authentication, encryption, and key generation, as well
as the signature.
Photuris makes no attempt to be a "pure" cryptographers' thesis. Such a
thesis would run to hundreds of pages.
Instead, Photuris is a protocol specification which can be implemented
by non-cryptographers. It selects from a few _useful_ tools. The
usefulness of the tools is determined in advance.
> At the minimum, this requirement should be noted in the document. Otherwise,
> there is a risk that the list of approved "signature schemes" might be
> inadvertently expanded in the future to include one that had message recovery.
> (Not by anyone currently involved in the proposal, but by some future
> caretaker...)
>
That presumes that "caretaking" occurs in a vacuum. Surely, when
someone attempted to standardize something that silly, then the ever
vigilant Hugo would leap at the opportunity to correct them!
And of course, a malicious caretaker could simply _remove_ any such text
as you herein propose. So nothing is gained....
> I would suggest adding language of the following form somewhere (such as
> on the top of page 23):
>
I will again note that it is not my intention to reiterate the
properties required for "good" cryptographic hashes, encryption methods,
or any other algorithm. We are tool users, and it is outside the scope
of the document to conduct an analysis of the tools. There are plenty
of other sources and continuing research in the field.
And all of the tools selected for signatures already have the property
that the message _cannot_ be derived from the signature.
However, at your august request (and of two others in the working
group), I will incorporate something akin to this in the Security
Considerations:
The signature method must not allow "message recovery", to prevent
determination of the shared-secret or any long-term distributed
secret-key (where applicable). More specifically, it should not be
feasible to compute any of the bits of the authenticated message
from the signature.
In general, where a secret (such as the shared-secret or
session-keys) is involved in any calculation, the algorithms
selected should not reveal information about the secret, either
directly or indirectly.
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous
> From: rogaway@cs.ucdavis.edu (Phil Rogaway)
> What cryptographers want and expect of a protocol like Photuris is
> that it works under the assumption that each of its primitives
> is instantiated to meet the (standard) definition of the goal of that
> primitive.
Primitives?
> You do not facilitate analysis
> by saying that Photuris is only required to work when its
> primitives are drawn from a certain concrete set of possibilities;
> exactly the opposite-- you render cryptographic analysis impossible.
>
Thank you, thank you!
It gladdens my heart to hear that self-described cryptographers find
that analysis is impossible!
I was worried that there would be some subtle flaw that would facilitate
cryptanalysis. Now that you have assured us that it is not possible,
that makes Photuris the only protocol that has ever come to perfection!
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
Xref subject previous
Xref subject next
Page 23, Key Generator Choice:
It is not clear to me how to take the output of the Key
Generator Choice and use it as a session key. Do I use the
the first bits or the last bits, or what? (For example, the
discussion of MD5 on pages 44-45 only says that when MD5 is
chosen as the Key Generator Choice, it generates 128 bits of
keying material. It does not say how to pick a subset of those
bits for an algorithm that might need fewer than 128 key bits,
nor does it describe what to do if the algorithm needs more
(for example, RC5 takes a variable-length key as input, and could
easily make use of more than 128 key bits.)
Xref subject previous
Xref subject next
Page 23: Signature:
The sentence "Although the field is depicted as 32-bit aligned
for convenience, the size may be shorter or longer, as indicated
by its integral Size field." appears here and several other places,
and is confusing to me. The first clause talks about alignment, and
the second clause talks about length. It would be clearer to talk
about these separately, as in:
"The field may be any integral number of octets in length,
as indicated by its Size field. It does not need to have
any particular alignment (the 32-bit alignment shown in
the figure is merely for convenience in the illustration)."
Xref subject previous
Xref subject next
Page 25: "accept only those users found there" -->
"accept only those users whose certificates are found there".
Page 32: Is the error code 3 supposed to be used as well if the
certificate fails to verify (as opposed to the certificate
being OK, but the signature failing)? Probably another error
code would be better...
Xref subject previous
Xref subject next
Page 9: What is the length of the "Type" field (in this and the
other message types)?
Also: There is no explicit "version number" in the header anywhere,
which makes me nervous. Is the "Reserved" field (which is present
in all but the Cookie_Request) intended for this purpose? If so,
perhaps it should be called "Version_Number" instead of "Reserved".
If not, perhaps a "Version_Number" field should be added.
Xref subject previous
Xref subject next
Page 22 and page 32:
Is an Error_Message sent if a Signature_Message is received
with an invalid Signature-Choice or an invalid Key-Generator-Choice?
If so, what error code is to be used?
Ron Rivest
Xref subject previous
Xref subject next
Page 11: Section 2.5 Variable Precision Numbers
It seems possible that a variable-precision number could have
a size of 0 octets. Indeed, many of the examples given have
exactly that (e.g. the Validity-Choice field on pages 27--28 are
shown as 16-bits, which must be a size of 0). Yet the value
of such a quantity is undefined. Is it 0?
Ron Rivest
Xref subject previous
Xref subject next
Page 11: Section 2.5 (Variable-Precision Numbers)
You might also leave an "escape" for longer numbers. I always
worry about fixed upper bounds on the lengths of things. In the
case of Photuris, for example, a single such variable-length
number is supposed to be able to contain a certificate chain.
When everyone is done throwing everything they think they want
in the certificates (e.g. explicit statements of certification
policies translated into all languages), certificates might be
a lot bigger than we expect, and we might overrun this limit with
a long certificate chain. (I hope not, but I see no reason to
needlessly restrict this here...)
There are lots of standard techniques for handling such things
(presumably ASN.1 DER has one such technique), or you could
do something ad-hoc (reserve 0xFFFF to mean that the length
is in the next four bytes, followed by the value, etc..)
Xref subject previous
Xref subject next
Page 10: [Size of cookies]
The size of the cookies (16 octets) seems unnecessarily large.
Why not 8 octets each?
The chance that a random cookie will satisfy the recipient is
then only 2^{-64}.
From an engineering point of view, it seems that the cookie length
is about right when the probability of a random cookie being accepted
is about the same as the ratio of the cookie computation time to the
exchange-value computation time. The only penalty we really pay for
bogus cookies being accepted is the possible extra computation time
for computing the exchange value; with the condition I gave this is
on the order of the cookie computation time (in terms of expected
value).
This argument is perhaps not correct if the adversary can detect
when he has success; but this I don't see how to do unless he uses
his real IP address, which he is unlikely to do.
Even then, if the recipient increments his secret value for computing
cookies every so often, then the adversary can't keep pounding on a
discovered cookie.
2^{-64} is really quite small...
(If you think it is too big you should certainly never use DES, since
its key is only 56 bits long...)
Xref subject previous
Xref subject next
Thank you for the detailed review. I have grouped these together for
ease of processing:
> From: rivest@theory.lcs.mit.edu (Ron Rivest)
> Page 17 (Initiator-Offered-Attributes)
> Page 20 (Responder-Offered-Attributes)
>
> It is not clear exactly what is intended by "three or more"
> Security Parameter Attributes. Is the number three somewhat
> arbitrary, or is there some rationale (like maybe I'm supposed to
> choose one encryption algorithm, one authentication algorithm, and
> one signature algorithm at least)? If the number is just arbitrary,
> it would help to say so.
>
Actually, 3 is the minimal number of attributes which are required to be
supported. Therefore, the list will always be 3 or more....
* * * * 5 MD5
* 17 DES-CBC, 32-bit IV
* * 18 DES-CBC, 64-bit IV
added "three (minimum required) or more"
> Page 22: It is not described anywhere what the recipient is supposed to
> do with the "LifeTime" variable in the Signature_Message.
> If this is not used by the recipient, it should be omitted.
> (Presumably it should documented what is to be done with this
> by the recipient.)
>
Good idea. Actually, the LifeTime is first described under Expiration
in Chapter 1, but an additional explicit section is useful in Security
Parameters as well.
Each SPI has an associated LifeTime, specified by the SPI owner
(receiver). The SPI can also be deleted by the SPI Owner using the
Change_Message. Once the SPI has expired or been deleted, the
parties cease using the SPI, and purge the associated state.
> Page 24, section 5.2, second paragraph:
>
> "The fields protected are described for each method." I don't
> see where these descriptions are, and I don't see why they should
> differ for different "methods." More explanation is needed here.
>
It currently says (see "Attribute List" Appendix).
In the only described method thus far (DES-CBC), the IV and encrypted
fields are 64-bit aligned. There may be methods in which the privacy
can take place beginning at the LifeTime, or cover the SPI, for example.
I wanted to leave this open as a possibility.
How about:
The fields protected, the length of the Padding (if any), and other
details are described for each Anonymity-Choice method. A single
non-negotiable key generation cryptographic hash is specified to
create a special anonymity session-key. See the "Attribute List"
Appendix for details.
> Page 24: Is padding required even if encryption is not specfied?
>
Added:
This field is always present, even though no Anonymity-Choice is
specified or no Padding is required.
> Page 24, line 7: "size of the Padding field" -->
> "size of the Padding field in octets"
>
Fixed.
> Page 43: It is not specified what the lengths are of the "Type" and "Length"
> fields themselves. Are these supposed to be single bytes, or to
> be inferred from the figure, or what?
>
Single bytes, inferred from the figure. (This is traditional RFC format,
and each +-+ is one bit.)
However, I see that I have not been consistent here, as some places the
size is specified, and others it is not. Also, I have not been
consistent in using words versus numbers, and capitalization. Fixed.
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2
I like the revised language proposed by Bill Sommerfeld regarding the "Change" message of Photuris. I think it greatly improves clarity and makes interoperability more likely. I hope Bill will take that text into the next Photuris draft. Ran rja@cs.nrl.navy.mil
1. I really appreciate Hugo's providing more detailed explanation of his concerns. His latest efforts have been much more easily understood by me, at least. However, I'm inclined to say that the problem he sees with signatures is more of a "specification clarity" issue than a "fundamental flaw" in the protocol. 2. I think that David Wagner, Bill Sommerfeld, & Ron Rivest have all been extremely helpful here by providing proposed clarifying text. I like the language each has proposed. Because it includes a bit more rationale for the benefit of those not familiar with the cryptographic issues, perhaps the Rivest language should be added to the spec in an appropriate place. IMHO, Bill's more general rewording of those 3 clarification proposals is not sufficient because it is too generic and isn't blunt enough for lay people who aren't familiar with the issues. I would be greatly obliged if Bill would also take the Rivest language (verbatim) into the draft in an appropriate place. I also believe that the following clarifying sentence should be added at the very end of Section 1.0 (end of the paragraph just before the start of Section 1.1): "Not all digital signature algorithms are suitable for use with Photuris. This is discussed further in Section [which cite] of this document." [which cite] == whichever section the Rivest language is added into. 3. I think it would also be helpful if a definition of "Signature" or "Digital Signature" would be added to Section 1.1. This definition should NOT be a highly technical cryptographer's definition. Instead the definition should be one readable and understandable by network protocol implementers (since that is the intended audience of this document). 4. It is true that the theoretical cryptography community and the computer networking community do not share the same meaning for the term "protocol". The former uses "protocol" in a way that the latter would generally use "algorithm". Neither group is wrong, but perhaps it is helpful to remind folks of this. I don't find flames on this matter to be constructive. We all need to try to cooperate and work together here. :-) I'm still behind (due to other real work) in my study of the drafts (SKIP and Photuris) and also on the mailing list, but I'm trying to catch up soon. :-) Regards, Ran rja@cs.nrl.navy.mil
Xref subject next Ran Atkinson writes: > 4. > It is true that the theoretical cryptography community and the > computer networking community do not share the same meaning for the > term "protocol". The former uses "protocol" in a way that the latter > would generally use "algorithm". Neither group is wrong, but perhaps > it is helpful to remind folks of this. I don't find flames on this > matter to be constructive. We all need to try to cooperate and work > together here. :-) In a distributed, network environment, a protocol is (should be) a collection of algorithms, one for each participant. Cheers, Juan PS 'hope this comment doesn't place me (at least completely) in the theoretician camp! :-)
Xref subject previous The Photuris document uses the words "signature" and "certificate" in ways that, to the cryptographic community, are misleading. In order to avoid confusion, these terminological abuses should at minimum be pointed out explicitly. Better, they should be replaced with more accurate terms. The problem arises in allowing MD5 (or any other hash algorithm) as a "Signature-Choice". If only public-key algorithms were permitted in Photuris as a "Signature-Choice", then there would be no problem. In the cryptographic community, the term "signature" is NEVER used to refer to a MAC (message authentication code). These concepts are always kept quite distinct. -- A signature is fundamentally a public-key notion: the signature for a message is created with the signer's private key, and verfied using the signer's public key. -- A message authentication code is a secret-key notion: the MAC for a message is computed by the sender using a secret that is shared with the receiver; the receiver verifies the MAC by recomputing it from the message and the shared secret. Using MD5 as a "Signature-Choice" results in a MAC, not a "signature". Allowing MD5 as a "Signature-Choice" is an unnecessary abuse of terminology. Note that I'm not arguing that one might not want to use MD5 here, but rather that it is improper and unnecessary to call this a "signature" method. ****************************************************************************** ** Since both techniques provide authentication, I would suggest the following ** changes in terminology: ** ** Signature-Choice --> Authentication-Choice ** Signature --> Authentication-Value ****************************************************************************** Similarly, the term "certificate" is used in the cryptographic community exclusively to denote a public-key certificate. An "email address" (as specified in the document, page 45, when MD5 is the Signature Choice), is not a "certificate". ****************************************************************************** ** I suggest the following change in terminology: ** ** Certificate --> Authentication-Descriptor ****************************************************************************** which could either be an email address or a public-key certification. We have enough confusion in this field without abusing standard terminology. Presumably this arose since the original work [DOW] only envisioned public-key signature methods, and then the use of MAC's was later added to Photuris. Ron Rivest
Hugo, The reference on "algorithm-independence" that you cite from RFC-1825 has been misconstrued by you. That reference only refers to ESP and AH, with which it is cross-dependent. As author of RFC-1825, I can say this authoritatively. I will attempt to recall the need to clarify that language when RFC-1825 next comes up for review, do feel free to remind me if I forget. To the best of my knowledge, the Photuris specification is not intended to be completely algorithm-independent (however, I'm still studing the Photuris draft and so I might be contradicted by some part of the Photuris spec I misread or haven't yet read). Photuris needs to be interpreted within the context of the Photuris drafts, IMHO. IMHO, if any IPsec key mgmt proposal were unable to distribute keys/SAs for use with ESP/AH, then there would be an architectural problem. I don't believe Photuris has such a problem. I haven't read the latest SKIP draft in detail, but if the changes to SKIP I anticipate were made in the current draft then SKIP no longer has that particular problem. Regards, Ran rja@cs.nrl.navy.mil
Xref subject previous > From: "Juan A. Garay ((914) 784-6852)"> Subject: Photuirs & signature - protocol vs. algorithm > > Ran Atkinson writes: > > > 4. > > It is true that the theoretical cryptography community and the > > computer networking community do not share the same meaning for the > > term "protocol". The former uses "protocol" in a way that the latter > > would generally use "algorithm". Neither group is wrong, but perhaps > > it is helpful to remind folks of this. I don't find flames on this > > matter to be constructive. We all need to try to cooperate and work > > together here. :-) > > In a distributed, network environment, a protocol is (should be) > a collection of algorithms, one for each participant. A protocol is the set of rules the set of distributed algorithms obey, i.e., the way they interact. It comes from the term for the rules of diplomatic interaction. Spec the rules, and the algorithms can be implemented independently. That's the whole point. Joe
Xref subject previous Xref subject next I'd like to raise another issue that is being swept under the rug, but which needs to be addressed by ipsec, and needs to be explicitly addressed by Photuris: ****************************************************************************** ** Who are the entities between whom a Security Association is established? ** ** How are they named? ** ****************************************************************************** IPSEC needs to provide EXPLICT answers to these questions. The Photuris spec needs to be based on these answers. This cannot be swept under the rug any longer. * On page 2 of the Photuris draft, it is said that the Security Association is established between "two nodes". What is a node??? (A machine with an IP address??) * On page 45 of the Photuris draft, it is specified that the Certificate (when MD5 is the `Signature Choice') is an "email address". Are we envisioning that the Security Association may link users? (I imagine that some would like the answer to be "yes".) Or was this intended merely to be an IP address? The problem: If I try to establish a Security Association with a specific user, or a specific process, on another machine, then I need some way to specify who I wish to talk to in my initial Key_Request. With Photuris as it is, the Responder is not identified by the Photuris initiator to any finer granularity than the IP address to which the Photuris packets are sent. If the intent is to support Security Associations between entities at some other level of granularity, then the initiator needs to be able to name who (or which process, whatever) at that IP address he desires to communicate with. ** The Key_Request message needs to be expanded to name the ** ** party with whom I wish to establish a Security Association, if this ** ** is to be identified in some way that is different or more specific ** ** than merely the IP address of the responder. ** As it stands, Photuris apparently only supports the establishment of Security Associations between entities named by IP addresses. Is this what is intended?
Xref subject previous
Now to address the ones that came _after_ midnight....
> From: rivest@theory.lcs.mit.edu (Ron Rivest)
>
> Page 9: What is the length of the "Type" field (in this and the
> other message types)?
>
one octet. Fixed.
> Also: There is no explicit "version number" in the header anywhere,
> which makes me nervous. Is the "Reserved" field (which is present
> in all but the Cookie_Request) intended for this purpose? If so,
> perhaps it should be called "Version_Number" instead of "Reserved".
> If not, perhaps a "Version_Number" field should be added.
>
There are _two_ version numbers:
1) the major version number is the UDP port. A protocol that is truly
different will need another port.
2) the minor version number is the Scheme. A protocol that differs
only in small ways, such as moduli, will use a different scheme
number. Also, this field was increased from 8 bits to 16 bits.
NSA claims they are going to have thousands of variants, including
some which don't have all the same steps after the cookie exchange.
> Page 10: [Size of cookies]
>
> The size of the cookies (16 octets) seems unnecessarily large.
> Why not 8 octets each?
>
Very simply, it's the output of MD5.
Have to do all 128 bits of work, whether or not we use all of the bits.
Meanwhile, the Photuris exchanges are so rare (every 10 minutes or so)
that even on bandwidth constrained links, this size isn't very big.
So, no real savings in terms of computation time or bandwidth, which are
the important factors.
> This argument is perhaps not correct if the adversary can detect
> when he has success; but this I don't see how to do unless he uses
> his real IP address, which he is unlikely to do.
>
Correct. Which is the second sentence in the design decision covers.
ATM clouds. They claim to be gigabit speeds. The field also needs to
be big enough to be improbable when 2^32 cookies a second can be tested.
Even then, 8 bytes is probably enough, from a theoretical standpoint.
> Even then, if the recipient increments his secret value for computing
> cookies every so often, then the adversary can't keep pounding on a
> discovered cookie.
>
Yes, and probably should change more often on the faster links.
> 2^{-64} is really quite small...
>
> (If you think it is too big you should certainly never use DES, since
> its key is only 56 bits long...)
>
Yeah, we all agree on that!
> Page 11: Section 2.5 Variable Precision Numbers
>
> It seems possible that a variable-precision number could have
> a size of 0 octets. Indeed, many of the examples given have
> exactly that (e.g. the Validity-Choice field on pages 27--28 are
> shown as 16-bits, which must be a size of 0). Yet the value
> of such a quantity is undefined. Is it 0?
>
Yes. Fixed:
A value of zero is represented by a Size of zero, and no value field.
A value of one is represented by a Size of one, and no value field.
However, you've mistaken the validity-choice field. That field is an
attribute, which has a type-length format.
The validity-choice is followed by the Verification, which is a separate
variable precision number.
If you look carefully, you will notice that the MD5 attribute is
16-bits, and the VPN Size is 16 bits, making the hash value align
neatly on the next 32-bit boundary. (of course, this cannot be depended
upon for other algorithms, but I did optimize for the defaults.)
> You might also leave an "escape" for longer numbers. I always
> worry about fixed upper bounds on the lengths of things. In the
> case of Photuris, for example, a single such variable-length
> number is supposed to be able to contain a certificate chain.
> When everyone is done throwing everything they think they want
> in the certificates (e.g. explicit statements of certification
> policies translated into all languages), certificates might be
> a lot bigger than we expect, and we might overrun this limit with
> a long certificate chain. (I hope not, but I see no reason to
> needlessly restrict this here...)
>
There is also a maximum size on the UDP packet of 16 bits.
> There are lots of standard techniques for handling such things
> (presumably ASN.1 DER has one such technique), or you could
> do something ad-hoc (reserve 0xFFFF to mean that the length
> is in the next four bytes, followed by the value, etc..)
>
True -- anybody have any preferences? Know off the top of their head
what PGP does? X.509?
> Page 23, Key Generator Choice:
>
> It is not clear to me how to take the output of the Key
> Generator Choice and use it as a session key. Do I use the
> the first bits or the last bits, or what? (For example, the
> discussion of MD5 on pages 44-45 only says that when MD5 is
> chosen as the Key Generator Choice, it generates 128 bits of
> keying material. It does not say how to pick a subset of those
> bits for an algorithm that might need fewer than 128 key bits,
> nor does it describe what to do if the algorithm needs more
> (for example, RC5 takes a variable-length key as input, and could
> easily make use of more than 128 key bits.)
>
Correct. That's why _each_ algorithm which _uses_ a key specifies how
it uses the bits.
MD5:
... its SPI session-key uses the entire Key-Generator-Choice
generated keying material.
DES-CBC:
... its SPI session-key uses the most significant 64-bits of
Key-Generator-Choice generated material. The least significant bit
of each octet is ignored (parity).
RC5 (in extensions draft):
... its SPI session-key uses the most significant Key-Size bits of
Key-Generator-Choice generated material.
> Page 23: Signature:
>
> "The field may be any integral number of octets in length,
> as indicated by its Size field. It does not need to have
> any particular alignment (the 32-bit alignment shown in
> the figure is merely for convenience in the illustration)."
>
Thank you. Done.
> Page 25: "accept only those users found there" -->
> "accept only those users whose certificates are found there".
>
Done.
> Page 32: Is the error code 3 supposed to be used as well if the
> certificate fails to verify (as opposed to the certificate
> being OK, but the signature failing)? Probably another error
> code would be better...
>
Yes, as currently written.
Why? Usually, you don't want to give out that kind of information....
Such as when a username is unrecognized, but the same error is given as
if the password is invalid.
> Page 22 and page 32:
>
> Is an Error_Message sent if a Signature_Message is received
> with an invalid Signature-Choice or an invalid Key-Generator-Choice?
> If so, what error code is to be used?
>
Nothing currently written. For other messages, either!
How about a new error code #5 indicating invalid attribute choice?
Or would it be better to just silently discard the bad message? Could
be an attack where an invalid message is sent during an exchange to
abort the exchange.
Needs thought.
Bill.Simpson@um.cc.umich.edu
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2