Re: Replays - thoughts on Gutmann response

Mr Allwyn Fernandes <[email protected]>
Newsgroups gmane.comp.encryption.cipe
Message-ID <[email protected]>
Just as another thought, has anyone seen this paper?
http://plg.uwaterloo.ca/~aeehassa/home/papers/crypto/secureUDP.htm

The paper discusses an (application-layer) UDP-based encrypted link. 
The author is essentially discussing a TLS-style secure link for UDP 
traffic. He goes through the reasons not to use TLS or SSL for his 
application (multimedia streaming). (He does use TLS for his key-ex 
step however.)

The paper suggests using the sliding-window technique for replay 
protection... (as used in IPSEC and OpenVPN)... This addresses Allan's 
concerns about how to simultaneously allow out-of-sequence packets, 
while preventing problems with duplicates...

Just my $0.02... Thoughts, anyone?

Cheers,

Allwyn.


On Fri, 26 Sep 2003 18:16, Allan Latham wrote:
> Hi all
>
> the replay problem is this:
>
> An attacker can record a packet and simply resend it later. If the
> key in use is still valid the inserted packet will decrypt correctly.
> What happens then depends on the nature of the payload.
>
> If the payload is a TCP packet it will be out of sequence in the
> stream and the TCP stack will discard it. This is therefore not a
> problem.
>
> If the payload is UDP or ICMP then the application will see the
> packet for a second time. Whether this is a problem or not depends on
> how the application has been written.
>
> Good design princples dictate that a program should not make
> assumptions about the data transport over and above what is specified
> at the level of the API used by that program. That means that if the
> program is written to use TCP it can safely assume that the data
> stream is reliable and duplicate packets have already been discarded.
> This is the TCP spec.
>
> Now if the program uses UDP then it must allow for the fact that
> packets can arrive out of order or can be duplicated. The program
> must not assume that there is a layer under UDP and IP which drops
> duplicate packets. If a program using UDP cannot cope with duplicate
> packets this a bug in that program.
>
> It is not the job of the link layer (in this case CIPE) to provide
> protection against duplicate packets. Duplicate packets happen anyway
> even without a malicious attacker. Even if individual links protect
> against duplication as soon as you allow dynamic routing over
> multiple routes the problem will reappear.
>
> If that were all, my opinion would be that we don't have a replay
> problem with CIPE. Unfortunately there are some concerns:
>
> 1. ICMP and UDP traffic could possibly be replayed to cause a DOS
> attack. 2. Key exchange replays may allow an attacker to force CIPE
> to use the static key or an already cracked dynamic key.
>
> I hope to cover the whole subject of how to harden key exchange
> later.
>
> The price to pay for avoiding duplicates is program complexity. A
> simple approach would be to run a sequence count in each packet sent
> with a specific key starting from a sequence number negotiated during
> key exchange. You then need to address the problem of what to do with
> out of sequence packets.
>
> The simple approach is to discard any with sequence numbers which are
> not greater than the last one you saw. This however discards out of
> sequence packets as well as duplicates. Avoiding this problem adds
> program complexity again.
>
> My own opinion is that if there is going to be an update to CIPE then
> this should be added for the sake of stopping the DOS attacks and
> part of making hacking the key exchange more difficult.
>
> Best regards to all
>
> Allan

-- 
Allwyn Fernandes
Director
Stobor Pty Ltd

Mobile: + 61 414 470 392
Email: [email protected]
Web: http://stobor.net/

--
Message sent by the [email protected] mailing list.
Unsubscribe: mail [email protected], "unsubscribe cipe-l" in body
Other commands available with "help" in body to the same address.
CIPE info and list archive: <URL:http://sites.inka.de/~bigred/devel/cipe.html>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.