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