(a proposal of light-weight iTrace authentication) Re: Potential agenda for SF meeting
"S. Felix Wu" <[email protected]> Fri, 07 Feb 2003 10:14:55 -0800
| Newsgroups | gmane.ietf.itrace |
|---|---|
| Message-ID | <[email protected]> |
Hi, On the subject of cryptographic support of iTrace, one of my students finished a MS thesis on a weak authentication method for iTrace, which requires no public key or any format of secret key exchanges. The overhead is two extra messages for some interesting iTrace messages. And, yes, this certainly can be optional. Before I submit this idea as a draft to the working group, I would like to briefly explain how it works and whether this working group feels that this is something we should pursue at all: Each router supporting this feature will generate two keys, and these two keys will never need to reveal to anybody else, at least, conceptually. I will call them: key_FAST and key_SLOW. Preprocessing: When the router starts, it will use key_FAST and some secure hash function (such HMAC-SHA1) to produce a table of digests on some portion of IP addresses (this part is kind of hard to explain quickly but I will try). For example, a very simple way will be to choose the first 8 bits of the IP address. Since we have 2^8 different values for the first 8 bits, then we will have 256 (2^8) different digests in the table. (BTW, this table is used mainly for denial of service attacks on the iTrace authentication mechanism itself.) On each iTraced packet: We use key_SLOW (or some hash-chained version of key_SLOW) to authenticate the whole iTrace message. Then, use the first 8 bits of the "source IP address" of the iTraced packet as the index and do a table lookup. And, include the digest into the iTrace message as well. So, in each iTrace message, we have two level of protection: one guarded by key_SLOW on the whole packet, while the second guarded by key_FAST only on a small portion of the source IP address of the original packet. On receiving the iTraced packet (by the destination): Now the receiver will need to decide whether this iTrace message is at all interesting -- in a lot of cases, the receiver will not even bother to look at the message, and they should simply drop it. In case that the receiver is indeed interested in finding out whether this iTrace message is indeed valid, it can do one of the following: (1). It can produce a challenge (a nouce) and send the received iTrace message back to the producer of this iTrace message. If the producer then sends back a "Yes" message (with the correct nouce) to validate the message, then we will "trust in the weak sense" this iTrace message. On the producer side, when it receives such an authentication request, it will first use the original packet's IP address to check the digest table (by key_FAST). This is to prevent malicious attackers trying to flood this iTrace router. If the digest table match is OK, then it will further use key_SLOW to validate the whole iTrace message. If everything is OK, an YES will be sent back to the receiver. (2). Since many of the tracing activities might involve some human intervention after the fact, a human administrator can then try to use their human channels (with administrators in another ISP for example) to validate those iTrace messages. In both scenarios, we try very hard to avoid any public key infrastructure or pre-shared key management (or any kind of key exchange) because I personally believe, at least in short term, this avoidance will eliminate many difficult problems in deployment of iTrace to everywhere. Any comments? -Felix Pekka Savola wrote: > > On Wed, 5 Feb 2003, Tom Taylor wrote: > > I figure I can recycle the document incorporating comments received, within the next > > week. I will flag the big issue with key disclosure. > > Also, I sent some comments on the list about two weeks ago, no replies > yet. > > The biggest thing I'd like to have w.g. discuss is whether cryptographic > parts of iTrace could be optional in the implementations -- even specified > separately. > > Those seem to have a lot of weight in the spec and make implementing seem > like a lot more complex task; I'm not sure if the tradeoffs are worth > that. > > > Leech, Marcus [CAR:W669:EXCH] wrote: > > > "Leech, Marcus [CAR:W669:EXCH]" wrote: > > > > > >>I'd like to discuss a couple of things at the upcoming SF meeting: > > >> > > >> 1) Problems with current document, with solutions > > >> o actual problems > > >> o ommissions that reduce document clarity > > >> o stuff that makes implementations a lot harder > > >> > > >> 2) Definitions of public-key data in XML > > >> > > >>I'd like a couple of people to step forward to lead the discussion on these items > > >> at the meeting. > > >> > > > > > > So far, Don Eastlake has said he could talk about XML public-key data representations, > > > but noone has come forward for the other item. If I don't hear from anybody > > > by Friday, I *won't* schedule a WG meeting for SF. > > > > > > > -- > Pekka Savola "You each name yourselves king, yet the > Netcore Oy kingdom bleeds." > Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings