La cryptographie est traditionnellement utilisée pour dissimuler des messages aux yeux de certains utilisateurs.
Cette utilisation a aujourd'hui un intérêt, d'autant plus grand que les communications via Internet circulent dans des infrastructures dont on ne peut pas garantir la fiabilité et la confidentialité.
Désormais, la cryptographie sert non seulement à préserver la confidentialité des données mais aussi à garantir leur intégrité et leur authenticité.
La confidentialité consiste à rendre l'information incompréhensible à d'autres personnes que les acteurs de la transaction.
L'intégrité : Vérifier l'intégrité des données consiste à déterminer si les données n'ont pas été altérées durant la communication (de manière fortuite ou intentionnelle).
L'authentification consiste à assurer l'identité d'un utilisateur, c'est-à-dire de garantir à chacun des correspondants que son partenaire est bien celui qu'il croit être.
La non-répudiation de l'information est la garantie qu'aucun des correspondants ne pourra nier la transaction.
SSL ( Secure Sockets Layers , que l'on pourrait traduire par couche de sockets sécurisée ) est un procédé de sécurisation des transactions effectuées via Internet. Repose sur un procédé de cryptographie par clef publique afin de garantir la sécurité de la transmission de données sur internet.
Il existe de nombreuses méthodes pour sécuriser ces échanges:
Introduction à la notion de signature électronique
Le paradigme de signature électronique (appelé aussi signature numérique ) est un procédé permettant de garantir l'authenticité de l'expéditeur (fonction d' authentification ) et de vérifier l'intégrité du message reçu.
Qu'est-ce qu'une fonction de hachage ?
Une fonction de hachage (parfois appelée fonction de condensation ) est une fonction permettant d'obtenir un condensé d'un texte, c'est-à-dire une suite de caractères assez courte représentant le texte qu'il condense.
Les algorithmes de hachage les plus utilisés actuellement sont :
MD5 ( MD signifiant Message Digest ). Développé par Rivest en 1991, MD5 crée une empreinte digitale de 128 bits. Il est courant de voir des documents accompagnés d'un fichier MD5, il s'agit du condensé du document permettant de vérifier l'intégrité de ce dernier
SHA (pour Secure Hash Algorithm , pouvant être traduit par Algorithme de hachage sécurisé ) crée des empreintes d'une longueur de 160 bits (SHA-1 est une version améliorée) .
Les algorithmes de hachage les plus utilisés actuellement sont :
MD5 ( MD signifiant Message Digest ). Développé par Rivest en 1991, MD5 crée une empreinte digitale de 128 bits. Il est courant de voir des documents accompagnés d'un fichier MD5, il s'agit du condensé du document permettant de vérifier l'intégrité de ce dernier
SHA (pour Secure Hash Algorithm , pouvant être traduit par Algorithme de hachage sécurisé ) crée des empreintes d'une longueur de 160 bits (SHA-1 est une version améliorée) .
Un certificat permet d’associer la clé publique d’un chiffrement asynchrone avec une entité (une personne, une société, une machine…)
Il utilise en fait l’inverse d’un chiffrement asynchrone, à savoir une clé privée secrète pour générer une signature numérique du certificat et une clé publique pour déchiffrer et valider cette signature.
Utilisé par le protocole SSL sur les sites d’e-commerce
On distingue différents types de certificats selon le niveau de signature :
Les certificats auto-signés sont des certificats à usage interne. Signé au sein d'une organisation, par exemple pour le besoin d'un intranet. Ce type de certificat permet de garantir la confidentialité des échanges sans authentification des utilisateurs grâce à des certificats auto-signés.
Les certificats signés par un organisme de certification sont nécessaires lorsqu'il s'agit d'assurer la sécurité des échanges avec des utilisateurs anonymes, par exemple dans le cas d'un site web sécurisé accessible au grand public. Le certificateur tiers permet d'assurer à l'utilisateur que le certificat appartient bien à l'organisation à laquelle il est déclaré appartenir.
Les certificats servent principalement dans trois types de contextes :
Le certificat client , stocké sur le poste de travail de l'utilisateur ou embarqué dans un conteneur tel qu'une carte à puce, permet d'identifier un utilisateur et de lui associer des droits (comme une carte d’identité). Le serveur lui donnera les droits selon son certificat.
Le certificat serveur installé sur un serveur web permet d'assurer le lien entre le service et le propriétaire du service. Dans le cas d'un site web, il permet de garantir que l'URL appartienne bien à l’entreprise (le plus souvent SSL v3).
Le certificat VPN est un type de certificat installé dans les équipement réseaux, permettant de chiffrer les flux de communication de bout en bout entre deux points. Dans ce type de scénario, les utilisateurs possèdent un certificat client, les serveurs mettent en œuvre un certificat serveur et les équipements de communication utilisent un certificat particulier (IPSec).
SSH (Secure SHell) permet de se connecter de façon sécurisée à un système Unix, Linux et Windows (très peu utilisé mais disponible via le logiciel cygwin).
Il faut distinguer :
SSH : le protocole de communication
ssh : le programme client permettant de se connecter au serveur
sshd : le serveur (ssh daemon) écoutant sur le port 22 par défaut
Il existe des clients SSH pour toutes les architectures :
Du point de vue de l'utilisateur une connexion ssh s'établit comme une session telnet (demande de connexion, demande de login, demande de mot de passe), le principe est en réalité beaucoup plus complexe.
SSH permet de garantir :
La confidentialité : le cryptage des paquets permet de garantir celle-ci. Les anciens services tels que telnet, rlogin, ..., envoyaient les données en clair.
L'intégrité : SSH permet de garantir que les paquets circulant d'un hôte vers un autre ne sont pas altérés.
L'authentification : chaque connexion SSH vérifie l'identité du serveur puis celle du client.
L'autorisation : il est possible avec SSH de limiter les actions autorisées à l'utilisateur
Tunneling : SSH permet de sécuriser un service dont les informations circulent habituellement en clair (POP,IMAP,VNC, ...).
Les clés de la partie cliente se situent dans ~/.ssh/. Il est également possible de créer des clés pour le serveur afin de renforcer le chiffrement. La commande utilisée est alors la commande ssh-keygen .
Il existe 2 types de clés : RSA et DSA de longueur différente : 1024, 2048, 4096 bits.
Pour créer une clé DSA de 1024 bits : ssh-keygen -t dsa -b 1024 -C username@domain.tld
Deux fichiers ont été créés (dans le dossier ~/.ssh/) :
id_dsa (ou id_rsa dans le cas d'une clé RSA) : contient la clé privée et ne doit pas être dévoilé ou mis à disposition
id_dsa.pub (ou id_rsa.pub dans le cas d'une clé RSA) : contient la clé publique, c'est elle qui sera mise sur les serveurs dont l'accès est voulu.
Un VPN (Virtual Private Network) permet de relier deux réseaux privés à travers Internet en y établissant un tunnel sécurisé selon le protocole IPSEC (couche 3) ou L2TP, PPTP et PPP (couche 2) et SSL (couche 4 et +)
Ce protocole d’encapsulation va chiffrer les données et les rendre confidentielles via la méthode de clés asynchrones. Seuls les deux réseaux privées auront accès aux informations de bout en bout.
Attention, il faudra pouvoir vérifier l’identité du réseau qui demandera une connexion, en passant par un certificat ou bien par une clé symétrique de chiffrement préalablement échangée (PSK – Pre-Shared Key).
web : http://www.agilis.fr Centre de formation langues bureautique Internet services informatiques et réseaux
0 comments
Post a comment