Home |
---|
Définir un ensemble des techniques permettant de fournir :
Java offre des API cryptographiques mettant en oeuvre :
Version | 1 | Commentaire | |||
---|---|---|---|---|---|
Domaine | Paradigme | Release | 1 | 2 | |
Permission | Par nature (fonction de la provenance du code) | ||||
Cryptographie | JCA | Signatures et condensés de messages uniquement. | Oui | ||
JCE | 1.1 | ||||
Signature | Stockage | Base de la sandbox | Indissociable du code | ||
Implémentations | JDK | Pluggable | API cryptographiques standardisées et donc pluggables et interopérables | ||
Identité | Classe java. security. Identity |
Interface java. security. Principal |
Afin de permettre à tout éditeur de fournir une implémentation d'un ou de plusieurs concepts de sécurité introduits dans Java 2, tout classe de sécurité générique (engine class) est implémentée sous forme de fabrique (factory) retournant les implémentations paramétrées dans la plate-forme (on retrouve là le modèle de SPI)
Tout fournisseur est effectivement susceptible de ne pas implémenter un protocole demandé par une application (il pourra fournir une implémentation de signature RSA/MD2 mais pas de RSA/MD5 par exemple). Il est donc possible d'installer dans la plate-forme plusieurs implémentations des classes de sécurité, avec un ordre de préférence. Pour un algorithme donné, la première implémentation trouvée dans cette liste de préférence sera utilisée. Il est également possible pour une application de spécifier son fournisseur de prédilection par programmation.
Les concepts implémentables par un fournisseur sont :
L'implémentation par défaut de la base de clés
est la base "JKS" (Java Key Store) de Sun. Cette implémentation
effectue la persistance de l'objet java.security.KeyStore
dans
un fichier au format propriétaire.
Sun fournit de plus dans le JDK 1.2 l'outil keytool
, qui permet
un accès utilisateur (bien qu'en ligne de commande) à un objet
KeyStore stocké dans un tel fichier.
Si l'on utilise la base de clé JKS de Sun, le fichier chargé
par défaut par la plate-forme (et par keytool
) est par ordre
de préférence :
.keystore
trouvé dans le répertoire
HOME de l'utilisateur courant (d:\WINNT\Profiles\Administrateur
par exemple, mais c'est à l'utilisateur de le créer)keystore
du fichier %JAVA_HOME%/lib/security/java.policy
keystore
du fichier %HOME%/.java.policy
Il est cependant possible d'utiliser une autre implémentation de KeyStore installée, soit :
java.security
(keystore.type
définit le KeyStore JKS comme KeyStore
par défaut)KeyStore
myKeyStore = KeyStore.getInstance (keystoreType, keystoreProvider)
).Algorithme de cryptage.
Algorithme de cryptage du nom de ses deux auteurs, Whit Diffie (l'un des plus grands experts mondiaux en matière de sécurité) et Hellman.
Diffie Hellman est disponible dans la JCE.
Personne ou organisme identifiable par sa clé publique.
Dans Java 2, une identité est représentée par un java.security.Principal.
Acronyme pour Message Authentication Code, standard permettant de garantir l'intégrité d'un message.
Standard de sécurisation du courrier électronique conçu pour dépasser les limites de PEM en supportant les messages MIME.
Parce que MOSS est plus un framework qu'une spécification, et parce qu'il dispose de nombreuses implémentations différentes, deux correspondants MOSS peuvent avoir des difficultés à communiquer. On pourra donc lui préférer S/MIME, clairement défini.
Acronyme pour Password-Based Encryption. Système de cryptage basé sur MD5-RC4 et standardisé dans PKCS#5.
PBE est disponible dans la JCE.
Acronyme pour RIPE Message Digest, algorithme de hâchage permettant de générer des condensés de messages.
RIPEMD-160 ou SHA sont considérés comme plus sûr que MD5, dans la mesure ou MD5 a été cassé (pour des messages courts cependant). RSA elle-même ne recommande plus l'utilisation de MD5.
Acronyme pour Random Number Generation, algorithme sécurisé de génération de nombres aléatoires (non périodiques), utilisés pour la génération de clés.
Java 2 ne fournit qu'une implémentation de nombres pseudo-aléatoires (PRNG).
Acronyme pour Pseudo Random Number Generation, algorithme sécurisé de génération de nombres pseudo-aléatoires (pérodiques), utilisé pour la génération de clés.
Java 2 inclut une implémentation de PRNG, via le générateur java.security.SecureRandom.
Acronyme pour Secure Electronic Transactions.
Protocole de commerce électronique situé au-dessus de SSL, permettant les authentifications des clients porteurs de cartes de crédit, des commerçants et des fournisseurs, l'intégrité et la confidentialité des informations de paiement (du client vers le commerçant) et de commande (du commerçant vers le fournisseur).
Comme SSL, SET exploite les certificats X509.
Acronyme pour Secure Key Internet Protocol.
Nouvelle génération de SSL.
Acronyme pour Toolkit for Interoperable Privacy Ehanced Mail, librarie de RSA permettant de développer des produits intégrant S/MIME dans les applications de courrier électronique.
Retour | Home | Contact |
---|