Subject: [rohc] Verifying decompression in ROHC-TCP

From: "West, Mark" <[email-masked]>
Date: Thu, 17 Jul 2003 09:08:17 +0000 (GMT)

Hi all,

The good ol' IPR issue is looming over rohc TCP, even as I type..!
Specifically, this relates to the use of a CRC to verify correct
decompression (a la RFC 3095).

[note that we are only talking about verifying decompression -- we are not
considering 'context repair' (in 3095-speak)]

So, we appear to have (at least) 3 choices, which I document here to see
if anyone wants to discuss it... please..!

1/ try and do something very close to the 3095 approach, but avoid
infriging the claimed IPR.  A proposal along these lines could be to CRC
the *context*.  (This means some header fields are not included and some
meta-data is included).  It has essentially the same strength as the ROHC
RTP scheme.  The biggest disadvantage is that this requires us to define
the CRC over the context (i.e. some format for the context), which is
somewhat unpleasant.

1a/ a slight modification of the above, in which we only CRC the context
fields that are updated by the packet.  So, we are trying to protect the
mapping between the compressed and uncompressed representations.  It has
(most of) the same properties of scheme 1.  It should be possible to
specify this in a way that is slightly less onerous to compute...

2/ do it just like 1144/2507, i.e. rely solely upon the TCP checksum.
There are many problems with this, which include:
- known weaknesses of the TCP checksum
- issues with the changes that are signalled by deltas in 1144/2507
- lack of coverage of much of the IP header
  (and, worse, IPv6 extension headers)
- coverage includes the payload, which may be large and which (for
compression) we don't care about
Although we *could* do it this way, it is one of the things that we really
wanted to fix in ROHC-TCP.

3/ do something weird... for example: use the TCP checksum to verify
correct decompression (as per 1144/2507), acknowledging that this has a
number of weaknesses.  However, in addtion, we make use of the Master
Sequence Number (MSN) to add some extra protection.

Define the MSN to be (say) a 32-bit value.  Send a small number of LSBs of
this in each packet.  Also send a small checksum calculated over the MSN +
the *compressed* packet.  At the decompressor, decode the MSN and verify
the checksum.  [I assume that we have specified how robust we want
ROHC-TCP to be (e.g. to 3 consecutive packet losses)]

If the MSN doesn't verify, we call decompression failure.  If it *does*
verify, then we check it: if it's within the robustness bounds, we attempt
decompression (we believe that we have a valid compressed packet for which
decompression will work).
Otherwise, we call decompression failure.  Only if we attempt
decompression (and believe that it will succeed) do we use the TCP
checksum to finally verify decompression.

This still has most of the weaknesses of 1144/2507, but we *aren't* using
the checksum blindly to verify arbitrary decompression attempts.  Maybe
this makes things better?

Another small point to note is that the decompression methods of ROHC
*might* (and I haven't thought this through fully) be less vulnerable to
the 1144/2507 delta encoding with regard to exposing weaknesses in the
TCP/IP checksum.

4/ random aside: is a message digest the same thing as a checksum..? ;-)

Comments welcome...

Cheers,

Mark.

--
Mark A. West, Consultant Engineer
Roke Manor Research Ltd., Romsey, Hants.  SO51 0ZN
Phone +44 (0)1794 833311   Fax  +44 (0)1794 833433

_______________________________________________
Rohc mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rohc

---

From: Sukanta Kumar Hazra <[email-masked]>
Date: Thu, 17 Jul 2003 18:51:36 +0800

Some form of hash maybe, as discussed in point 4. Are there any reasons
why it might not be a good idea?

- Sukanta
----- Original Message -----
From: ""West, Mark" <[email-masked]>"
Date: Thu, 17 Jul, 2003 17:08 SGT
Subject: [rohc] Verifying decompression in ROHC-TCP

-- 
Sukanta K. Hazra		http://www.icr.a-star.edu.sg/~sukanta/

---

From: "West, Mark" <[email-masked]>
Date: Thu, 17 Jul 2003 12:07:37 +0000 (GMT)

Unfortunately, the most obvious reason why it might not be a good idea is
that if a hash can be regarded as a checksum, then it's probably covered
by the IPR that we're concerned about..!

Cheers,

Mark.

On Thu, 17 Jul 2003, Sukanta Kumar Hazra wrote:

> Date: Thu, 17 Jul 2003 18:51:36 +0800
> From: Sukanta Kumar Hazra <[email-masked]>
> To: [email-masked]
> Subject: Re: [rohc] Verifying decompression in ROHC-TCP
>