> > http://www.untruth.org/~josh/security/radius/radius-auth.html
> 
> 
> I'm not familiar with this protocol at all, but in briefly skimming
> this paper and the description of the cipher, it seems like the
> there's opportunity for padding oracle attacks, provided the server
> somehow indicates (through timing or otherwise) whether the 0 padding
> is valid.


Hmm, sorry, no this is much more like CFB mode than CBC, and the vast
majority of passwords are going to fit into one block.  So, I guess
the question is:

If a users password is "password", and the decryption routine receives
a replayed and modified ciphertext (with, say, a bit flipped in the
last byte of the ciphertext) that decrypts to:

password\x00\x00\x00\x00\x00\x00\x00\x01

How will it handle that?  Will it try to do a strcmp and ignore the
corrupt final byte?  Will it hash the entire block and compare with a
stored hash, or will it treat the block as string efore feeding it to
a hash routine, thereby ignoring the final \x01?  If it ever treats
the block as a C-style string during validation, then it would be
trivial to determine the length of the user's password.  In diabolicly
bad implementations, you could even argue for full decryption of the 
password through timing side channels, but that's probably tough to
pull off in practice.

tim
_______________________________________________
cryptography mailing list
cryptography@randombit.net
http://lists.randombit.net/mailman/listinfo/cryptography

Reply via email to