cryptosec

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 (...)

 
 

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 (...)

 
 

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 (...)

 
 

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 (...)

 
 

Diffie-Hellman

Généralités : Inventé en 1976 par Whitfield Diffie et Martin Hellman c’est le plus ancien cryptosytème à clé publique, et il est encore largement en usage. Il peut être utilisé pour la signature électronique ou pour établir des clés symétriques entre deux ou plusieurs protagonistes sans qu’ils aient à échanger auparavant de secret partagé par un canal sûr, comme dans IPSec ou SSL. Dans ce cas, il est toujours utilisé en conjonction avec un algorithme symétrique. Sa sécurité repose sur la difficulté de calculer des logarithmes discrets par rapport à la "facilité" de calculer les exponentielles. Principe : Soient Dédé-la-malice et Julie-la-furie deux protagonistes désirant (...)

 
 

Test de primalité Miller-Rabin

Généralités : Les algorithmes comme RSA ou Diffie-Hellman ont besoin de nombres premiers pour fonctionner. Pour générer ces nombres premiers on fait appel à des tests probabilistes. Les nombres ainsi trouvés sont premiers avec une certaine probabilité (très grande) paramétrable lors des implémentations. Factoriser un grand nombre, ou essayer de le faire, est très long. Savoir si tel nombre est premier avec telle probabilité peut par contre être très rapide. Les tests de primalité renvoient deux types de réponses : Soit le nombre ne passe pas le test, et le nombre est un nombre composé. Soit le nombre passe le test, et le nombre peut être un nombre premier. Le test de (...)

 
 

Creative Commons - BY - NC - ND

Tous les textes, images et sons de cryptosec sont publiés selon les termes de la licence Creative Commons - Attribution - Pas d’Utilisation Commerciale - Pas de Modification - 3.0