[Divunal-list] Security Considerations

Mark Benvenuto ivymccough@worldnet.att.net
Mon, 21 Jun 1999 22:34:02 -0400


Raffi Krikorian wrote:

> pardon the interjection-
>
> 1) use SHA-1 ... according to rivest it is more secure and you'll have
> less collisions.  its a pain to code by yourself, but oh well...  this
> is legal, right?  i don't remember the laws for SHA-1...
>

Yes. MD5 has problems I think in one phase. MD2 and MD4 are are even more
broken. SHA-1 is legal since it is distributed with the JDK1.1+.

>
> 2) why stop at only encrypting the password?  you may have a good
> reason, but i couldn't pick it out from the e-mail.
>
> if you want to encrypt everything (if memory servers -- usual
> disclaimers apply -- i'm not a cryptographer)....
>
>  1. client sends the server the user name
>  2. server sends back a nonce encrypted with the client's hashed password
>  3. client hashes the password so he can decrypt the nonce
>  4. use the nonce to encrypt all communications back and forth
>

Good idea (basic idea of SSL/TLS but with public key encryption) (could use
r2, r5, r6, IDEA, MARS, Blowfish, Twofish, etc). but impossible. See
Commercial Encryption Export Controls or  mozilla.org crypto faq . The mozilla
faq is quite detailed and should any answer questions. In short, you cannot
add public/private key or symmetric key encryption to this project because it
cannot be exported outside the U.S. You cannot even add in hooks for the
cryptography so someone could add it in later. If it was added, any downloads
containing cryptography would have to be validated that they are sent to a
U.S. citizen in the U.S.

> my only complaint is that we are using an uniform key for the
> communications.  make sure the nonce is generated by a good random
> function that is time stamped.
>

Use long keys and a good random generator. JCE 1.2 has everything you will
need but see above.

>
> oh well -- this is just a paranoia freak talking...

Security people have to be paranoid.

Mark Benvenuto