Hey, 2012/6/27 Nagaev Boris <[email protected]>: > Hello! > > Long time ago I had a crazy idea of using public key cryptography > through JS. I know about SSL, but unfortunately it has one big > problem: you are to buy a certificate (actually, sign a certificate by > certificate authority). Certificate authority free encryption systems > are known to be vulnerable to active attacks, but they can prevent at > least passive attacks. But in Web you can't take advantage of public > key cryptography without paying money to certificate authority (ok, > you can use self-signed cert, but most of browsers will show ugly > warnings to users). > > The workaround seems to be JavaScript-based encryption. At the > beginning of Ajax session, Diffie-Hellman key exchange is done and > then this key, that is known only by a client and a server, is used to > encrypt all the information, passing through the ajax. This encryption > system would be resistant to passive attacks (passwords, entered by > user, can't be captured). This system is not be resistant to active > attacks. But most of attacks are passive (for example, free WiFi > access points). The advantage over SSL is free of charge. > > I think, this encryption would be a great part of Wt. Almost no > changes of Wt applications would be needed, since all the JS is > generated by Wt itself or Wt's functions, so can be easily wrapped. It > would be a method of WApplication, enabling this encryption. > > Is it possible to implement this?
I have thought about all this too while implementing the Wt::Auth module. The idea was to protect somehow the transmission of the password when not using SSL. Unfortunately, whatever scheme you try, you always remain vulnerable to a man-in-the-middle attack who can simply change the JavaScript (of the encryption) itself to by-pass it. It may sound that a MITM attack is not that easy to do, but with increasing use of WIFI this is apparently more practical to do (using for example rogue access points). On the other hand, there are now very cheap options to get a certificate signed (< 15 euro per year), see for example: https://www.rapidsslonline.com/, and I believe this is part of the rethoric for new transport protocols such as SPDY to be SSL-based only. My conclusion from all this is that there is not much reason to not justify using SSL, except for communication with local appliances which do not have global IP addresses and that typically cannot be protected by a certificate. Regards, koen ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ witty-interest mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/witty-interest
