In case anyone has *any* interest... ---------- Forwarded message ---------- Date: Mon, 17 Dec 2001 14:29:43 -0500 From: Franco Travostino <travos@nortelnetworks.com> Reply-To: anon@wireless.eecs.harvard.edu To: Anon Fwd <anon@wireless.eecs.harvard.edu> Subject: Re: Anon Fwd: analysis of covert channels in draft-kung-annfwd-framework Geoff, the security protocol that you're describing---i.e., generate a symmetric key and ship it encrypted with the recipient's public key---seems very expensive for a layer 3 forwarder (or, better, for what I think that that beast is, really). I understand that a) you have limited a forwarder's scope to processing signalling data only, and b) PGP email, for one, use keys pretty much the way you said. Yet, I think one could do much better with a Diffie-Hellman cycle producing a batch of symmetric keys, which need not to be exchanged across the wire. This is what IKE (rfc2409) does. IKE has all sort of wrinkles to it in order to thwart DH vulnerabilities to men-on-the-middle attackers. A forwarder implementing such solution could attain a wide range of throughputs, possibly exceeding 1Gb/s with hardware crypto-assists (as commodity VPN boxes show today). Public key operations as you scoped will definitely lock you out of these ranges. -franco At 03:39 PM 12/15/2001, Geoffrey L Goodell wrote:
In our last meeting, we discovered that we could discard the various metadata fields in our protocol, thus reducing the ability for attackers to discover clients or servers by sending an exorbitant number of packets to a forwarder and simultaneously monitoring the forwarder's output link. So, with the stipulation that the various field types have a specified size, and each forwarder only provides exactly one of the three anonymity options (client, server, and bidirectional), the only means by which attackers can correlate their packets with packets found on the output link of the forwarder is to examine the data contained in the fields themselves. In order for a successful attack to be possible, it must be possible for an attacker to correlate the fields on the packet entering the forwarder with the packets leaving the forwarder; in other words, individual fields leaving the forwarder must be encrypted in such a manner to not be decryptable by the attacker into a form that the attacker can recognize.
SUMMARY: We discover that the single-hop protocols are demonstrably free of covert channels, provided that the cipher upon which we ultimately decide is also demonstrably free of covert channels. We find that if we expect to get away with packet sizes that do not grow linearly with the number of forwarders on the path between the client and the server, multi-hop forwarding depends on some sort of public-key infrastructure.
THE "GOOD" NEWS: We need a public key infrastructure for our network of forwarders.
THE ACTUALLY-GOOD NEWS: Clients and servers need not be a part of this network, though forwarders must be able to verify the authenticity of their public keys.
DETAILS:
----------
I have examined the three single-hop protocols closely, and discovered the following:
1. Client Anonymity
C's certificate and the request are passed along by the forwarder on the way to the server, so an attacker posing as a client can find the location of a server by monitoring the forwarder's output link. This is acceptable, though, since the protocol explicitly does not call for server anonymity.
On the way back to the client, the message is encrypted in a symmetric key chosen by the forwarder, and the symmetric key is encrypted with the client's public key. One apparent attack on this system would be to send a certificate for an arbitrary public key for which the attacker holds the corresponding private key; given enough computing power, the attacker could feasibly use this private key to decrypt the symmetric key on packets leaving the forwarder and verify which ones contained the reply datum the attacker sent. We can successfully defend against this attack by requiring that the forwarder verify the authenticity of the client's public key.
So, to my knowledge, this protocol does not have any threatening covert channels.
2. Server anonymity
En route from the client to the server, the forwarder encrypts a packet with a symmetric key and sends that key encrypted with the server's public key. To avoid an attack similar to the one suggested above with the client anonymity protocol, we require that the forwarder verify the authenticity of the server's public key.
On the way back, the messages can easily be correlated by an attacker. But, symmetrically to above, the protocol explicitly does not call for client anonymity, and thus allowing an attacker to find client locations is acceptable.
So, to my knowledge, this protocol does not have any threatening covert channels.
3. Bidirectional anonymity
En route from the client to the server, the forwarder encrypts the fields with a randomly generated symmetric key of its choosing, and sends the symmetric key encrypted with the public key of the server. Thus, we need the forwarder to verify the authenticity of the server's public key.
On the way back, the forwarder encrypts the fields with a randomly generated symmetric key of its choosing, and sends the symmetric key encrypted with the public key of the client. Thus, we need the forwarder to verify the authenticity of the client's public key.
So, to my knowledge, this protocol does not have any threatening covert channels.
----------
The multi-hop protocols as described in the Internet Draft are like the single-hop protocols, with the important exception that specific fields are passed directly between the forwarders. Here, we have two problems:
A. Since one of the encrypted fields contains more and more information as it gets constructed, and never gets decrypted in the construction process, it necessarily grows in size. This in turn means that information about the position of a particular forwarder in the path will necessarily be leaked.
B. Since fields are passed directly between the forwarders without alteration, they can be correlated by an attacker to find the path through the forwarding network. One possible solution to this is for the forwarders to choose randomly-generated symmetric keys at each hop, and then encrypt the relevant field with this key, and then send that key along, encrypted with the client's or server's public key. The trouble with this is that the size of the packet becomes increasingly large, just as in (A).
To eliminate the problem with linearly growing packets along the pathe need a PKI for the network of forwarders so that forwarders can encrypt and decrypt at each hop. This reduces the packets to a constant size (whatever we agree upon), and prevents the problems associated by the covert channels described in (A) and (B) above.
Geoff
To post: mail to anon@wireless.eecs.harvard.edu To unsubscribe: mail anon@wireless.eecs.harvard.edu with "unsubscribe" (no quotes) in the subject line To subscribe: mail anon@wireless.eecs.harvard.edu with "subscribe" (no quotes) in the subject line To visit archive: go to http://wireless.eecs.harvard.edu/anon Comments, suggestions? Send them to postmaster@wireless.eecs.harvard.edu
Franco Travostino, Director Content Internetworking Lab Advanced Technology Investments Nortel Networks, Inc. 600 Technology Park Billerica, MA 01821 USA Tel: 978 288 7708 Fax: 978 288 4690 email: travos@nortelnetworks.com