web-dev-qa-db-fra.com

Quand Diffie-Hellman est-il utilisé exactement dans TLS?

Je sais que Diffie-Hellman est un algorithme d'échange de clés tandis que RSA est un algorithme de chiffrement asymétrique.

J'ai les questions suivantes:

  1. Au cours de la négociation TLS, est-ce que RSA et DH seront utilisés? (Je ne vois pas son utilisation, que ce soit RSA ou DH, nous allons l'utiliser pour finir avec une clé symétrique sûre pour AES ou DES.)

  2. Un exemple de suite de chiffrement est EDH-RSA-DES-CBC3-SHA. C'est assez déroutant. Ne devrait-il pas être RSA-DES-CBC3-SHA et EDH-DES-CBC3-SHA, deux suites de chiffrement distinctes?

  3. Mis à part les raisons historiques, y a-t-il une raison pour laquelle nous utilisons encore DH?

  4. Quand utiliserais-je DH sur RSA? (Penser en tant que pratiquant)

Si ma compréhension de TLS est incorrecte, veuillez me corriger.

11
Vinod Pn

DH est un algorithme d'échange de clés, il est utilisé pour dériver la clé de session qui sera ensuite utilisée dans le cryptage symétrique. Le DH en lui-même n'est pas authentifié, donc bien que vous puissiez dériver la clé de session sans qu'un MITM soit intercepté, il n'y a aucune garantie que le gars à l'autre bout avec lequel vous dérivez les clés est qui qu'ils disent être. Ne pas être en mesure d'authentifier l'autre partie signifie que vous seriez toujours vulnérable au MITM de toute façon.

RSA est un algorithme de chiffrement asymétrique. RSA peut également être utilisé comme algorithme d'échange de clés (sans DH), mais l'algorithme d'échange de clés RSA n'a pas la propriété de Forward Secrecy. Forward Secrecy est la propriété qu'un attaquant qui a enregistré votre communication cryptée puis obtenu votre clé privée, ne devrait pas être en mesure de décrypter la communication précédemment enregistrée. Cependant, RSA peut être utilisé pour la signature et l'authentification.

DH est utilisé avec RSA afin que vous obteniez un canal de communication à la fois authentifié et sécurisé en amont.

19
Lie Ryan