On Fri, 16 Jul 2010, Jürgen Keil wrote:

>> > The differences reported by cmp -l are in octal;
>> > so this is actually a single bit error.
>> 
>> But then TCP checksums should discover the problem
>
>That bit could have fllipped both on the sending
>or the receiving machine (before or after TCP is
>used).

        I agree. Given that recent versions of OpenSSH prefer AES-CTR to 
AES-CBC it could really happen that one flipped bit in the cipher text 
would flip just one bit in the plain text. Aside from the fact that, as 
already mentioned, TCP checksum would detect one flipped bit, I do not 
believe that the strong integrity protection in the SSH protocol could 
fail occasionally. It's more like once in a lifetime situation.

        I believe the issue has nothing to do with SSH. An easy way to 
verify that would be to use "-o Ciphers=aes128-cbc" on the client side. 
Note that on OpenSolaris, "aes128-cbc" would have to be added to the 
cipher list on the server side as well since it's not allowed by 
default. If one bit is flipped in data encrypted with the CBC mode 
before it is decrypted then after decryption it would corrupt all bytes 
in 2 adjacent cipher blocks which is 32 bytes in total.

        if the plain text is corrupted before being encrypted with CBC, 
all transferred data after the first flipped bit will be corrupted.

        I think the problem happens on the remote machine after the data 
is decrypted and it's not a problem in SSH since it does work with 8KB 
data chunks. I don't see how it could corrupt just one bit before 
writing the data to the disk.
        
        J.

-- 
Jan Pechanec
http://blogs.sun.com/janp
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to