mardi 11 août 2009

cryptophail

Korben (le fameux) a balancé dans la matinée un lien vers une sorte de lib permettant de réaliser des formulaires web dont le contenu est chiffré (par le browser, en javascript) avant d'être envoyé sur le réseau, puis déchiffré côté serveur et ensuite utilisé.
En lisant la FAQ, un truc m'a quelque peu ennuyé:
* How secure is jCryption ?
Well that’s not easy to say, the RSA public key encryption algorithm is one of the strongest and most secure in the world. It has survived over 20 years although it has some disadvantages/weaknesses. For example if you use a keylength +512bit. Like I mentioned before, everytime you submit a form the keypair will be newly generated, because of this fact jCryption, with it’s functions, is immune to some attacks. But I think in most cases it should be enough using a 512bit key because it’s not that easy to factorize a 512bit prime. But you can adjust the security level of jCryption very easy in PHP (see documentation page). But remeber the higher the security, the longer it takes to generate the keypair. Although jCryption offers some nice ways to bypass the waiting time of the key generation (see the full featured example).

* Why should I use jCryption instead of SSL ?
In my opinion jCryption is much easier to install and configure. Although I don’t think that jCryption is a replacement for SSL. It could be a nice addtion for your contact form or login page to simply make it more secure. If you need highest security you have to use SSL, because jCryption offers no way of authentication.
Et c'est là que vous réalisez à quel point des années de sécurité informatique tombent aux oubliettes. Parce que bon, les attaques Man in the Middle ça n'existe pas, c'est bien connu; donc on peut utiliser une clé de 512 bits (trop la classe, quand on lit que RSA 1024 bits ne doit plus être utilisé d'ici quelques années, même si ce n'est pas pour tout de suite) sans avoir peur que, au hasard, quelqu'un détourne le flux, et se fasse passer pour le véritable correspondant sans le prouver (car vous l'avez bien lu, "jCryption offers no way of authentication"), et puisse déchiffrer les données chiffrées et/ou les modifier (et ça, que ça soit 512 bits ou 4096).
Bon, au moins ils disent que ça ne remplace pas SSL. C'est déjà ça.

Aucun commentaire: