• Aucun résultat trouvé

Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009

N/A
N/A
Protected

Academic year: 2022

Partager "Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009"

Copied!
21
0
0

Texte intégral

(1)

Table des mati`eres Introduction Protocole de transport Protocole d’authentification Protocole de connexion ef´erences

Protocole SSH-2.0

Tuan-Tu, TRAN

Janvier 2009

(2)

1 Introduction

2 Protocole de transport

Etablissement des cl´es de session Protection des donn´ees ´echang´ees

3 Protocole d’authentification Identification par mot de passe Identification par cl´e publique Identification par hˆote

4 Protocole de connexion

(3)

Table des mati`eres Introduction Protocole de transport Protocole d’authentification Protocole de connexion ef´erences

Utilisations de Secure Shell

Acc`es `a distance, orient´e compte utilisateur.

Entre autres:

sessions interactives `a distance;

execution de commandes `a distance;

transfert de fichiers vers des machines distantes (sftp, scp);

redirection de ports;

montage de syst`emes de fichiers distants (sshfs);

... de mani`ere s´ecuris´ee !

(4)

Pr´ed´ecesseurs non s´ecuris´es

Remplacement des r-commandes (rsh,rlogin,rcp) et de ftp, non s´ecuris´es:

envoi de donn´ees en clair sur le r´eseau (dont les informations d’identification);

pas de contrˆole d’int´egrit´e des donn´ees;

pas de contrˆole d’authenticit´e des participants.

(5)

Table des mati`eres Introduction Protocole de transport Protocole d’authentification Protocole de connexion ef´erences

Architecture du protocole SSH-2.0

Mod`ele client-serveur, subdivis´e en 3 protocoles:

Transport: canal de communication s´ecuris´e;

Authentification: identification du client et contrˆole d’acc`es;

Connexion: multiplexage du canal s´ecuris´e.

(6)

Protocole de transport

Protocole de base.

Canal de communication s´ecuris´e:

Authentificationdu serveur;

Chiffrementdes donn´ees;

Contrˆole d’int´egrit´eet d’authenticit´edes donn´ees.

Chiffrement sym´etrique et authentification des messages

⇒´etablissement de cl´es de session.

N´egociation des algorithmes.

(7)

Table des mati`eres Introduction Protocole de transport Protocole d’authentification Protocole de connexion ef´erences

Etablissement des cl´es de session Protection des donn´ees ´echang´ees

Sp´ecifications de l’´etablissement des cl´es de session

Algorithme →

(secret partag´e K

hash d’´echange secret H =f(K, ...) D´erivation d’un identificateur de session:

session id := 1erhash d’´echangeH propre `a chaque session

d´efinitif pour la session

D´erivation des vecteurs d’initialisation et des cl´es de sessions:

HASH(K k H k X k session id) fonction HASH d´etermin´ee par l’algorithme n´egoci´e X = constante d´efinie pour chaque cl´e/vecteur `a d´eriver

(8)

Algorithme de Diffie-Hellman pour l’´echange de cl´es

Etablissement d’un secretK partag´e entre 2 acteurs Aet B.

1 Choix d’un groupe cycliqueG et d’un g´en´erateurg.

2 AB :ga aveca priv´e `aA BA:gb avecbpriv´e `aB

3 A: K = gba B: K = (ga)b

Difficult´e du logarithme discret en base g dans G. H := HASH(f(K,a,b,g,...))

Diff´erentes variantes selon le choix de G,g et HASH.

ex.: diffie-hellman-group1-sha1

Probl`eme de l’identit´e des participants.

(9)

Table des mati`eres Introduction Protocole de transport Protocole d’authentification Protocole de connexion ef´erences

Etablissement des cl´es de session Protection des donn´ees ´echang´ees

Authentification du serveur

But: assurer au client C qu’il s’adresse effectivement au serveurS S signe H avec sa cl´e priv´ee.

S envoie sa cl´e publique et la signature `aC + ´eventuellement un certificat d’authenticit´e C v´erifie que la cl´e publique re¸cue est bien celle de S

soit `a l’aide du certificat

soit grˆace `a une base de donn´ee locale

C v´erifie la signature `a l’aide la cl´e publique re¸cue

C est alors certain que les cl´es de sessions ont ´et´e partag´ees avecS et la communication crypt´ee peut commencer.

(10)

Traitement des messages

Communication de messages par paquet Compression ´eventuelle du message.

Bourrage al´eatoire:

adapter la taille du paquet;

compliquer la crypto-analyse.

Calcul du MAC.

Chiffrement.

(11)

Table des mati`eres Introduction Protocole de transport Protocole d’authentification Protocole de connexion ef´erences

Etablissement des cl´es de session Protection des donn´ees ´echang´ees

Code d’authentification des messages

MAC =fMAC(cl´e , n de s´equence kpaquet non chiffr´e)

Protection contre: alt´eration, contre-fa¸con, rejeu

0 ≤n de s´equence <232⇒ changement de cl´es de sessions avant 232 paquets

(12)

Protocole d’authentification

Identifier le client pour le contrˆole d’acc`es aux ressources.

Identification par mot de passe;

Identification par cl´e publique;

Identification par hˆote.

Processus contrˆol´e par le serveur.

D´efinition des m´ethodes admises Identifications multiples possibles

(13)

Table des mati`eres Introduction Protocole de transport Protocole d’authentification Protocole de connexion ef´erences

Identification par mot de passe Identification par cl´e publique Identification par hˆote

Identification par mot de passe

byte SSH MSG USERAUTH REQUEST string user name

string service name string "password"

boolean FALSE

string plaintext password

possibilit´e de modifier le mot de passe Vuln´erabilit´es:

d´ecryption du paquet;

modification du paquet en cas de changement de mot de passe;

compromission du serveur.

(14)

Identification par cl´e publique

byte SSH MSG USERAUTH REQUEST string user name

string service name string "publickey"

boolean TRUE

string public key algorithm name string public key to be used string signature

signature avec session id.

rˆole du bool´een.

Vuln´erabilit´e: compromission du client.

(15)

Table des mati`eres Introduction Protocole de transport Protocole d’authentification Protocole de connexion ef´erences

Identification par mot de passe Identification par cl´e publique Identification par hˆote

Identification par hˆ ote

byte SSH MSG USERAUTH REQUEST string user name

string service name string "hostbased"

string public key algorithm name string public host key

string client host name

string user name on the client host string signature

signature avec session id.

possibilit´e d’inclure un certificat.

(16)

Protocole de connexion

Multiplexage de plusieurs flux de donn´ees `a travers l’unique canal s´ecuris´e.

Terminal `a distance Session graphique (X11) Port forwarding

protocole sftp

(17)

Table des mati`eres Introduction Protocole de transport Protocole d’authentification Protocole de connexion ef´erences

Port forwarding: connexion non s´ecuris´ee

mysql --host=distant --port==3306

3 3 0 6

????

Local Distant

(18)

Port forwarding: connexion s´ecuris´ee

ssh -L 2212:local:3306 user@distant mysql --host=local --port=2212

ssh(22)

????

Local Distant

2 2 1 2 3 3 0 6

ssh(22)

(19)

Table des mati`eres Introduction Protocole de transport Protocole d’authentification Protocole de connexion ef´erences

R´ef´erences I

D.J. Barrett, R.E. Silverman, and R.G. Byrnes.

SSH, The Secure Shell: The Definitive Guide.

O’Reilly Media, Inc., 2005.

A.J. Menezes, P.C. Van Oorschot, and S.A. Vanstone.

Handbook of Applied Cryptography.

CRC Press, 1997.

Wikipedia.

Diffie-Hellman key exchange.

Available from World Wide Web:

http://en.wikipedia.org/wiki/Diffie-Hellman_key_exchange

(20)

R´ef´erences II

Wikipedia.

Message authentication code.

Available from World Wide Web:

http://en.wikipedia.org/wiki/Message_authentication_code T. Ylonen and C. Lonvick.

The Secure Shell (SSH) Authentication Protocol.

Technical report, RFC 4252, January 2006.

T. Ylonen and C. Lonvick.

The Secure Shell (SSH) Connection Protocol.

Technical report, RFC 4254, January 2006.

(21)

Table des mati`eres Introduction Protocole de transport Protocole d’authentification Protocole de connexion ef´erences

R´ef´erences III

T. Ylonen and C. Lonvick.

The Secure Shell (SSH) Protocol Architecture.

Technical report, RFC 4251, January 2006.

T. Ylonen and C. Lonvick.

The Secure Shell (SSH) Transport Layer Protocol.

Technical report, RFC 4253, January 2006.

Références

Documents relatifs

Si le segment est acquitté avant expiration d’une temporisation, il augmente la taille de la fenêtre de congestion (la nouvelle fenêtre est de taille double par rapport à

Pour chaque segment vertical affiché en noir, le numéro de séquence correspond au bas du segment, le haut du segment correspond au numéro de séquence augmenté de sa taille. Les

UDP, lui, utilise le protocole IP pour acheminer un message d’un ordinateur à un autre, sans aucune valeur ajoutée (pas de connexion, pas de contrôle d’erreur, de contrôle de flux

 Un réseau Modbus est composé d’un maître et d’un ou plusieurs esclave(s).  Le maître est le seul à pouvoir émettre

De plus, le protocole de transport fournit un identifiant unique de session (lié en partie aux données pseudo aléatoires qui font partie de l’algorithme et du processus d'échange

Les demandes d'allocations de nouvelles valeurs de 'code de cause' d'échec de connexion de canal, et leur chaîne de description associée d'échec de connexion de canal, dans la

Si le traitement d'une liaison de variable échoue pour une raison autre que celles données ci-dessus, la PDU Response est alors reformatée avec les mêmes valeurs dans ses

Voici comment cela fonctionne : la clé publique sert au chiffrement et peut être utilisée par tout le monde pour chiffrer, mais seule la clé privée correspondante sera