cryptosec
Certificats X509 v3
Généralités :
L’objet d’un certificat est de certifier une clé publique. Pour utiliser une clé publique il faut être sûr de l’identité de son détenteur. La première méthode est d’avoir une relation de confiance directe avec son détenteur, comme dans le modèle "web of trust" associé à PGP ou GPG. La deuxième méthode repose sur le principe que tous les interlocuteurs ont confiance en un tiers, qui certifiera les clés en les signant. X509 est un standard définissant le format des certificats émis par ces tiers, ou émetteurs de certificats (Certificate Authority, CA ne anglais).
Il est à noter que l’utilisation de certificats ne fait que reporter la question de la confiance (en bout de (…)
Exemples de certificats
Quelques exemples de certificats X.509.
Le premier est simplement l’apparence d’un certificat en base-64. Le
formats DER et PKCS#7 ne sont pas très lisibles...
En bas de page, on peut voir à quoi ressemble un certificat de l’intérieur.
Certificat en base-64 : -----BEGIN CERTIFICATE----- MIICejCCAeOgAwIBAgIEN6WQeDANBgkqhkiG9w0BAzUJk QUFADAbMQswCQYDVQQGEwJGUjEMMAoGA1UEChMDQ1BFMB 4XDTk5MDgwMjEyMTA0OFoXDTAyMDgwMjEyNDA0OFowMjE LMAkGA1UEBhMCRlIxDDAKBgNVBAoTA0NQRTEVMBMGA1UE AxMMWXZlcyBMZSBSb3V4MIGdMA0GCSqGSIb3DQEBAQUAA 4GLADCBhwKBgQDWIb6MHRZTc1zUJKPZdBVnintsVc6/+2 ztftItA/+9HZVC4ybwSnn/73vj3MgXsckH7c8dWTDNxBj Zl/SjwrCc7YqZzvZe738Pr0HhzZbctDS97uVKqZsLgbFM (…)
Attaques et failles
Généralités :
Il est difficile de dresser un panorama de la cryptanalyse ou des attaques sur les logiciels. Ce sont des domaines très éclectiques, qui bougent très rapidement. Chaque attaque est en général très liée au sujet de l’attaque : l’algorithme, le protocole, le logiciel... Ca ressemble plus à de l’artisanat qu’à de l’industrie, dans le sens que l’on refait rarement deux fois la même chose. Il n’y aura donc sur cette page que le principe de quelques attaques présentées de façon succincte, pour donner une idée.
Dans tous les cas on n’examine que les systèmes qui se conforment aux principes de Kerckhoff, qui stipulent que l’attaquant connaît tous les détails de l’algorithme : (…)
IPSec
Généralités :
C’est un protocole développé par l’IETF qui a pour but de sécuriser TCP/IP, de façon standardisée et donc intéropérable (c’est du moins un des buts du standard). Par l’authentification et le chiffrement des paquets IP, IPSec permet de sécuriser toute transmission de données reposant sur TCP/IP (contrairement à SSL, il n’est pas nécessaire de lancer des processus particuliers, sur des ports particuliers... https sur 443 et ftps 990 par exemple, correspondant aux couches supérieures).
IPSec est un protocole particulièrement complexe.
Les principales implémentations d’IPSec se retrouvent dans les logiciels et matériels de VPN (Virtual Private Network).
De plus en plus de (…)
SSL-TLS
Généralités :
SSL (Secure Socket Layer) est un protocole à négociation (on parle du " handshake " SSL), développé à l’origine par Netscape.
Il a pour but de sécuriser les transactions Internet, par authentification du client (un navigateur la plupart du temps) et du serveur, et par chiffrement de la session.
La sécurisation des connexions à l’aide du protocole SSL doit assurer que :
- La connexion assure la confidentialité des données transmises
- La connexion assure que les données transmises sont intègres
- L’identité des correspondants peut être authentifiée
- La connexion est fiable
La version 2.0 vient de Netscape et la version 3.0, qui est actuellement la plus répandue, (…)
L’horodatage
Généralités
Le principe de l’horodatage est d’associer de façon la plus sûre possible une date et une heure à des données.
Avoir une garantie cryptographique de l’heure permet par exemple :
– De prouver l’existence de certaines données à partir d’une certaine date,
– A cette garantie d’existence on peut joindre des garanties de possession,
– De certifier des heures et dates de signature,
– De renforcer les fonctions de non-répudiation associées à la signature, puisque lors d’une signature classique la date de signature n’est pas forcement fiable, et peut donc être contestée,
– De garantir les heures et dates de validité des CRL. Si par exemple on souhaite vérifier une signature (…)
Authentification
MAC (Message Authentification Code) :
Une méthode consiste à utiliser un algorithme de chiffrement par blocs en mode chaîné.
On peut par exemple chiffrer les données à l’aide d’un DES en mode CBC, puis considérer le dernier bloc comme étant le MAC.
Le destinataire ne pourra vérifier l’intégrité des données que s’il possède la clé symétrique ayant servi à la génération du MAC.
Contrairement à la signature électronique, seul un destinataire particulier sera en mesure de faire cette opération.
L’utilisation de MAC (monde bancaire par exemple) n’assure pas vraiment la non-répudiation : les destinataires possèdent en effet la même clé symétrique que l’expéditeur. Ce dernier peut donc (…)
Cryptographie symétrique
CAST
Généralités
CAST est un algorithme original par certains aspects. Surtout parce que c’est en fait une spécification d’algorithme de chiffrement par blocs. C’est à dire que l’on peut suivre diverses options lors de l’implémentation. Et puis aussi parce que contrairement au DES, tout y est spécifié, notamment la façon de bâtir les S-tables (ou tables S).
Il y a des centaines de pages sur DES, une petite sur CAST changera un peu.
CAST a été développé par Carlisle Adams et Stafford Tavares.
Il en existe plusieurs "versions", CAST-128 (RFC 2144), CAST-256...
Détails :
CAST est un algorithme de chiffrement par bloc à réseau de Feistel.
Il opère sur 16 rondes en prenant (…)