La Cryptographie
|
|
Bienvenu à JavaScrypt, la solution de haute- sécurité de cryptage des données qui fonctionne tout à fait dans votre navigateur Internet. Pour utiliser la page, votre navigateur doit supporter le langage JavaScript. Voyons...
Si la boîte au-dessus de dit "Votre navigateur supporte JavaScript", vous êtes en affaire. JavaScrypt fonctionne entièrement sur votre navigateur--rien n'est envoyé à un site d'Internet quand vous l'utilisez. Vous pouvez, si vous souhaitez, l'utiliser sans la connexion à l'Internet. Les outilles de cryptage avec JavaScrypt utilisent le Standard de Cryptage Avancé (Advanced Encryption Standard: AES) a adopté par les États-Unis comme le Standard 197 de Traitement d'Information Fédérale. AES supporte les clés de longueurs de 128, 192, et 256 bits; JavaScrypt utilise les clefs de 256 bits exclusivement. Si vous êtes déjà familier avec cryptage, continuez directement aux pages qui rendent effectif les plusieurs composants de JavaScrypt. Si vous êtes un nouveaux venus, vous pouvez préférer travailler à travers les Travaux pratiques JavaScrypt qui montrent comme ils sont utilisés. Composants JavaScrypt
Pourquoi Coder avec JavaScript?À première vue, JavaScript peut paraître un choix bizarre pour rendre effectif cryptage. Ces programmes sont plutôt grands et compliqués, et télécharger et les faire fonctionner ça prend plus longtemps que serait exigé pour une appliquette de Java ou accéder à un programme du CGI sur un serveur Internet. J'ai choisi JavaScript pour deux raisons: la sécurité et la transparence.La Sécurité. La seule raison pour cryptage est protéger le secret. Cela veut dire le processus ne peut pas impliquer un lien dont la sécurité est suspecte. Si les messages avaient été codés par un serveur Internet, ils devraient passer par Internet où tout site intermédiaire peut les intercepter. Même si quelque mécanisme tel que HTTP sûr pourra absolument empêcher l'interception des données, vous n'auriez encore aucune façon d'être sûr si le site qui a exécuté le cryptage n'a pas gardé une copie dans un dossier, étiqueté commodément avec votre adresse Internet. Pour avoir tout degré de sécurité, c'est essentiel que tout le traitement soit fait sur votre ordinateur, sans impliquer une transmission ou interaction avec les autres sites sur Internet. Un navigateur Internet avec JavaScript rend ceci possible, car les programmes intégrés dans ces pages fonctionnent entièrement sur votre propre ordinateur et ne transmettent rien sur Internet. Le résultat paraît seulement dans les boîtes du texte, en vous permettant de le couper et coller à une autre application. Ensuit, la sécurité dépend seulement de vous. La sécurité n'est jamais absolue. Les données codées avec ces pages peuvent être compromises dans une variété de façons, y compris mais n'est pas limité au suivant:
On peut se fouetter dans une fièvre fine de paranoïa en s'inquiétant au sujet de choses comme ceci. Une façon d'éliminer les risques les plus vraisemblables est de fonctionner ces pages et les programmes JavaScript qu'elles intègrent sur un ordinateur localisé dans les lieux sûrs sous votre contrôle sans aucune connexion du réseau. Et regardez très soigneusement tous dossiers créés par votre navigateur Internet. Vous pouvez y trouver des choses les plus intéressantes. . . . La transparence. Tout outil de sécurité est seulement aussi bon que son dessin et mise en oeuvre. La transparence est, essentiellement, que toutes les parties en mouvement sont visibles donc vous pouvez juger par vous-même si l'outil mérite votre confiance. Dans le cas d'un programme, cela veut dire que son code de la source complet doit être disponible, et que vous pouvez vérifier que le programme que vous fonctionnez correspond au code de la source fourni. La nature même de JavaScript accomplit cette transparence. Les programmes sont intégrés dans les pages d'Internet avec lesquels vous réagissez réciproquement; pour les examiner vous avez besoin seulement de les garder dans un dossier sur votre ordinateur et lisez-le avec un éditeur du texte; toutes composantes JavaScript des pages peuvent être examinées en forme du code de la source. JavaScript est une langue interprétée éliminant le risque de déclencher un programme différent du code de la source prétendu: avec une langue interprétée ce que vous avez vu est ce que vous faites fonctionner. La transparence est importante même si vous ne savez pas assez au sujet de la programmation ou la sécurité pour déterminer si les programmes contiennent les défauts. Le même fait qu'ils peuvent être examinés par personne permet à ceux avec la compétence exigée de passer un jugement, et vous pouvez former vos propres conclusions basées sur leur analyse. Les remerciementsLa mise en oeuvre d'algorithme de cryptage JavaScript de l'AES (Rijndael) a été développé par Fritz Schneider; il a été modifié légèrement pour l'usage dans JavaScrypt. Si vous souhaitez intégrer cryptage AES dans votre propre utilité JavaScript, vous pouvez préférer commencer avec la version originale. La mise en oeuvre d'algorithme JavaScript du MD5 a été développée par Henri Torgemane; s'il vous plaît regardez le dossier du code de la source md5.js examiner le code, y compris l'avis de copyright et conditions d'usage. L'algorithme MD5 a été développé par Ron Rivest.
adapté par ing. Rafal Swiecki courrier Novembre, 2004 |