web-dev-qa-db-fra.com

Différence entre SSL et l'authentification Kerberos?

J'essaie de comprendre quelle est la différence réelle entre les authentifications SSL et Kerberos, et pourquoi parfois j'ai à la fois du trafic SSL et Kerberos. Ou Kerberos utilise-t-il SSL d'une quelconque manière?

N'importe qui pourrait aider? Je vous remercie!

43
Layla

Alors que Kerberos et SSL sont les deux protocoles, Kerberos est un protocole d'authentification, mais SSL est un protocole de cryptage. Kerberos utilise UDP , SSL utilise (la plupart du temps) TCP . L'authentification SSL est généralement effectuée en vérifiant le serveur et le client RSA ou - ECDSA clés intégrées dans quelque chose appelé certificats X.509 . Vous êtes authentifié par votre certificat et la clé correspondante. Avec Kerberos, vous pouvez être authentifié par votre mot de passe ou d'une autre manière. Windows utilise Kerberos par exemple, lorsqu'il est utilisé dans le domaine.

Remarque connexe: les versions récentes de SSL sont appelées TLS pour Transport Layer Security.

32
KovBal

SSL utilise la cryptographie à clé publique:

  1. Vous (ou votre navigateur) avez une paire de clés publique/privée
  2. Le serveur possède également une clé publique/privée
  3. Vous générez une clé de session symétrique
  4. Vous chiffrez avec la clé publique du serveur et envoyez cette clé de session chiffrée au serveur.
  5. Le serveur déchiffre la clé de session chiffrée avec sa clé privée.
  6. Vous et le serveur commencez à communiquer à l'aide de la clé de session symétrique (essentiellement parce que les clés symétriques sont plus rapides).

Kerberos n'utilise pas la cryptographie à clé publique. Il utilise un tiers de confiance. Voici un croquis:

  1. Vous (serveur et client) prouvez votre identité à un tiers de confiance (via un secret).
  2. Lorsque vous souhaitez utiliser le serveur, vous vérifiez et voyez que le serveur est fiable. Pendant ce temps, le serveur vérifie que vous êtes digne de confiance. Maintenant, mutuellement assurés de l'identité de chacun. Vous pouvez communiquer avec le serveur. 2
31
Chris

Pour faire simple, Kerberos est un protocole pour établir une confiance mutuelle d'identité, ou authentification, pour un client et un serveur, via un tiers de confiance, tandis que SSL assure l'authentification du serveur seul, et uniquement si sa clé publique a déjà été établie comme digne de confiance via un autre canal. Les deux assurent une communication sécurisée entre le serveur et le client.

Plus formellement (mais sans entrer dans les preuves mathématiques), étant donné un client C , serveur S , et un tiers T qui à la fois C et S confiance:

Après l'authentification Kerbeos, il est établi que:

  • C croit [[# #]] s [~ # ~] est la personne avec laquelle il avait l'intention de contacter
  • S croit C est qui il prétend être
  • C croit qu'il dispose d'une connexion sécurisée avec S
  • C croit que S croit qu'il a une connexion sécurisée avec C
  • S croit qu'il a une connexion sécurisée avec C
  • S croit que C croit qu'il a une connexion sécurisée avec S

SSL, d'autre part, établit seulement que:

  • C croit [[# #]] s [~ # ~] est la personne avec laquelle il avait l'intention de contacter
  • C croit qu'il a une connexion sécurisée avec S
  • S croit qu'il dispose d'une connexion sécurisée avec C

De toute évidence, Kerberos établit une relation de confiance plus solide et plus complète.

De plus, pour établir l'identité de S via SSL, C nécessite une connaissance préalable de S , ou un moyen externe pour confirmer cette confiance. Pour l'usage quotidien de la plupart des gens, cela se présente sous la forme de certificats racine et la mise en cache du certificat de S pour les références croisées à l'avenir.

Sans cette connaissance préalable, SSL est sensible aux attaques de l'homme du milieu, où un tiers peut faire semblant d'être S to - C en relayant la communication entre eux en utilisant 2 canaux sécurisés distincts pour C et S . Pour compromettre une authentification Kerberos, l'écoute indiscrète doit se faire passer pour T aux deux [[# #]] s [~ # ~] et C . Notez, cependant, que l'ensemble des approbations n'est toujours pas rompu selon l'objectif de Kerberos, car l'état final est toujours correct selon la condition préalable " C et S fait confiance T ".

Enfin, comme cela a été souligné dans un commentaire, Kerberos peut être et a été étendu pour utiliser un mécanisme de type SSL pour établir la connexion sécurisée initiale entre C et T .

24
Yang Zhao

En bref:

Kerberos ne chiffre généralement pas le transfert de données, contrairement à SSL et TLS.

"il n'y a pas d'API standard pour accéder à ces messages. À partir de Windows Vista, Microsoft ne fournit pas de mécanisme permettant aux applications utilisateur de produire des messages KRB_PRIV ou KRB_SAFE." - depuis http://www.kerberos.org/software/appskerberos.pdf

En revanche, SSL et TLS ne transfèrent généralement pas et ne vérifient pas le nom de connexion de votre domaine Windows au serveur, mais Kerberos le fait.

4
Nashev

Une réponse courte: SSL et Kerberos utilisent tous les deux le cryptage mais SSL utilise une clé qui n'est pas modifiée pendant une session tandis que Kerberos utilise plusieurs clés pour crypter la communication entre un client et un client.

En SSL, le cryptage est traité directement par les deux extrémités de la communication tandis que dans Kerberos, la clé de cryptage est fournie par un tiers - une sorte d'intermédiaire - entre le client et le serveur.

2
Martin08

De https://www.eldos.com/security/articles/7240.php?page=all ,

Kerberos et TLS ne sont pas des choses à comparer. Ils ont des objectifs et des méthodes différents. Au début de notre article, nous avons mentionné les questions fréquemment posées comme "ce qui est mieux" et "que choisir". Le premier n'est pas une question du tout: rien n'est mieux et tout est bon si vous l'utilisez correctement. Cette dernière question mérite une réflexion sérieuse: ce que vous choisissez dépend de ce que vous avez et de ce que vous voulez.

Si vous souhaitez sécuriser vos communications dans un sens que personne ne peut le lire ou le falsifier, peut-être que le bon choix est d'utiliser TLS ou d'autres protocoles basés sur celui-ci. Un bon exemple d'utilisation de TLS pour sécuriser le trafic World Wide Web transporté par HTTP est d'utiliser HTTPS. Pour le transfert de fichiers sécurisé, vous pouvez utiliser FTPS et tenir compte du fait que SMTP (bien qu'il représente un protocole de transfert de courrier "simple" et non "sécurisé") est également protégé par TLS.

D'un autre côté, si vous devez gérer l'accès des utilisateurs aux services, vous pouvez utiliser Kerberos. Imaginez, par exemple, que vous avez plusieurs serveurs comme le serveur Web, les serveurs FTP, SMTP et SQL, et éventuellement autre chose, tout sur un seul hôte. Certains clients sont autorisés à utiliser SMTP et HTTP, mais pas à utiliser FTP, d’autres peuvent utiliser FTP mais n’ont pas accès à vos bases de données. C'est exactement la situation lorsque Kerberos arrive à être utilisé, il vous suffit de décrire les droits des utilisateurs et votre politique d'administration dans Authentication Server.

1
Ahmed MANSOUR

De http://web.mit.edu/kerberos/ : Kerberos a été créé par MIT comme solution à ces problèmes de sécurité réseau. Le protocole Kerberos utilise une cryptographie robuste afin qu'un client puisse prouver son identité à un serveur (et vice versa) via une connexion réseau non sécurisée. Après qu'un client et un serveur ont utilisé Kerberos pour prouver leur identité, ils peuvent également crypter toutes leurs communications pour garantir la confidentialité et l'intégrité des données comme ils vaquent à leurs occupations.

Pendant ce temps: SSL est utilisé pour établir l'authentification du serveur <--> serveur via le cryptage à clé publique.

1
SErik