http://www.perlmonks.org?node_id=73704


in reply to Login Encryption and CGI understanding

I almost hate to suggest this, but this might (emphasis on might) be a case where client-side Java (not javascript) could be appropriate. By transmitting compiled java bytecode to the browser (instead of a plaintext script) you could have at least some small semblance of control, which could help to conceal your encryption algorithm from casual snoopers.

There are also numerous techniques for concealing or obfuscating bytecode, which may or may not be worth the amount of time and trouble you'd have to invest in this endeavor. (especially if you don't already have Java experience.)

Once the login/password is encrypted, you could have the applet submit it to a Perl CGI script for authentication, which would then free you from the constraints of Java.;-) You might at this point consider using HTTPS to further secure the session.

This is probably not going to be a very popular tactic around here, since it involves using Java, but at the moment, client-side Perl is not yet feasible for most applications. I'm curious what the other Monks will have to say about this.

Hushmail uses a technique very similar to this, I believe, which makes it somewhat more difficult to intercept logins using packet sniffers. At this point, though, the biggest security risk in my opinion come from social engineering and lower-tech approaches such as simple keystroke loggers. Good luck, I'm curious how your experience goes!