web-dev-qa-db-fra.com

Différence entre authentification et identification [Crypto and Security perspective]

Je suis toujours confus par la façon dont l'authentification Word est utilisée dans la littérature sur la sécurité (c'est-à-dire en dehors du domaine de la cryptographie). La plupart du temps, je comprends qu'ils impliquent en fait une identification .

Par exemple de Wikipedia: Central Authentication Service utilise le terme authentification pour impliquer une identification (si je comprends bien).

Dans Crypto, pour autant que je comprends:

  • Authentification: une preuve que le message provient du détenteur d'un secret donné.
  • Identification: une preuve non transférable que l'autre partie connaît un secret donné (sans révéler de secret)
  • Non-répudiation: une preuve transférable que le message provient du détenteur d'un secret donné.

[Veuillez me faire savoir si j'ai bien compris les trois termes. N'hésitez pas à fournir des définitions alternatives/raffinées/plus utiles]

Quelqu'un peut-il expliquer la signification des deux termes authentication et identification dans la littérature cryptographique et la sécurité générale?

19
Jus12

Dans le contexte des communications via un réseau, une identité équivaut à la connaissance d'une donnée spécifique: dites sommairement, de l'extérieur, ce que vous savoir d'une entité donnée de l'extérieur consiste exclusivement en quels octets cette entité émet, c'est-à-dire ce qu'elle peut calculer. Étant donné que tout le monde peut acheter le même type de PC, les différences de capacités de calcul résident en fin de compte dans ce que les entités savent. Par exemple. vous sont différents de moi, du point de vue StackExchange, seulement en ce que vous connaissez le mot de passe du compte 'Jus12', et je ne le sais pas, alors que je connais le mot de passe du compte "Tom Leek", et vous ne le savez pas.

L'identification consiste à s'assurer qu'une entité donnée est impliquée et en quelque sorte "active". Par exemple, le serveur StackExchange peut s'assurer que je suis vivant et que je donne des coups de pied en me mettant au défi (mon ordinateur) de montrer mon mot de passe. Notez que le serveur StackExchange (en fait, un autre serveur car ils utilisent un schéma indirect, mais c'est une technicité) aussi connaît mon mot de passe, donc lorsque le défi SE est répondu avec succès, le serveur SE uniquement sait qu'à l'autre bout de la ligne opère une entité qui est moi ou le serveur SE lui-même. Les protocoles d'identification doivent veiller à éviter ou au moins à détecter de manière fiable l'occurrence d'un serveur induit à se parler par un individu mal intentionné mal intentionné (ci-après désigné par le terme générique "attaquant").

L'identification, comme elle-même, est tout à fait inutile. Ce que le serveur SE veut savoir, ce n'est pas que moi, Tom Leek, j'existe et que je suis éveillé; le serveur SE en est assez convaincu et s'en fiche. Ce que le serveur SE veut, c'est s'assurer que je approuve des requêtes HTTP que je vais émettre. Ils veulent l'authentification : c'est l'identification appliquée à d'autres données. Ainsi, l'identification est utile dans la mesure où elle peut être considérée comme s'appliquant à un ensemble de données, qui constituent alors une provenance "vérifiée". Le lien entre l'identité et les données doit être résilient vis-à-vis des atteintes que l'attaquant peut infliger aux données. Dans le cas de StackExchange, l'attaquant est censé être assez faible, car l'intégrité d'une requête HTTP est supposée: la partie identification devient un cookie, comme partie d'une requête HTTP, et le serveur SE suppose simplement que l'attaquant ne peut pas modifier la requête ou le cookie, ou copier le cookie et le greffer sur une nouvelle requête HTTP bidon.

Une authentification plus approfondie utilise généralement une liaison cryptographiquement solide, par exemple a SSL/TLS tunnel (souvent dans le cadre de HTTPS). Les propriétés cryptographiques du tunnel impliquent que le serveur peut être sûr qu'il parlera à la même entité tout au long de la session SSL; de plus, le serveur suppose que l'utilisateur ne jouera aucun protocole d'identification lié à son mot de passe de compte, sauf si cela se produit sur un tunnel SSL dans lequel le serveur est dûment authentifié (c'est-à-dire que le client est sûr qu'il parle au bon serveur - c'est à cela que sert le serveur certificat - et que toutes les données qu'il enverra iront uniquement à ce serveur, c'est donc l'authentification). Dans ces conditions, si le serveur peut - identifier moi dans ce tunnel, alors l'identification couvre toutes les données envoyées par le tunnel par la suite: le tunnel est le lien entre l'identification et les données, donc c'est l'authentification .

La non-répudiation est une caractéristique de certains protocoles d'authentification, dans lesquels le lien entre l'identité et les données peut être vérifié non seulement par celui qui est, interactivement, au à l'autre bout du fil, mais aussi par un tiers postérieur, par exemple un juge. Les schémas basés sur un mot de passe n'offrent normalement pas cette propriété, car quiconque vérifie le mot de passe doit également le connaître plus ou moins directement, et pourrait donc encadrer l'émetteur présumé. La non-répudiation nécessite des mathématiques. Notez que, dans un tunnel SSL, le client authentifie le serveur via son certificat, qui est plein de cryptographie asymétrique, mais cela n'accorde pas la non-répudiation: le client est sûr que toutes les données qu'il reçoit du serveur proviennent vraiment du serveur , mais il n'y a rien que le client puisse enregistrer, ce qui pourrait convaincre un juge que le serveur vraiment a envoyé ces données. Pour obtenir la non-répudiation, vous avez besoin de signatures numériques . Sans non-répudiation, on peut obtenir une authentification avec des algorithmes connus sous le nom de Message Authentication Codes , qui sont plus légers en termes de calcul. De façon confuse, il existe une tradition répandue (mais incorrecte) d'appeler des "signatures" MAC.

Résumé:

  • Identification: l'entité spécifique [~ # ~] e [~ # ~] est impliquée et répond.
  • Intégrité: tout élément de données reçu a été envoyé tel quel par une entité E ' et n'a pas été modifié.
  • Authentification: identification et intégrité à la fois ( E = E ').
  • Non-répudiation: authentification qui peut convaincre un juge.
20
Tom Leek

L'identification est un moyen de décrire le principal, par ex. nom d'utilisateur, email, prénom + nom, etc. Le principal est l'utilisateur.

L'authentification est un moyen de prouver que le mandant est bien celui qu'il prétend être.

Ainsi, par exemple, lorsque je me connecte à un système, je m'identifie avec mon nom d'utilisateur (bonjour, je suis SteveS) et je m'authentifie en fournissant un mot de passe que je connais seulement et le système peut valider (je suis SteveS parce que mon mot de passe est " foo ").

Un bon exemple concret est l'utilisation de permis de conduire. Je peux coller une étiquette de nom sur ma chemise et identifier que je suis Joe, mais si quelqu'un a besoin d'une preuve que je suis Joe, je lui montre mon permis de conduire. L'authentification se fait en comparant la photo sur la licence à la personne.

8
Steve

Ma réponse est courte, mais c'est ainsi que je lis toujours les deux.

Identifier, c'est "Je suis Joe Schmoe!" L'authentification, c'est le prouver avec quelque chose (mot de passe, certificat de naissance, résultats ADN).

En informatique, nous avons besoin que chaque personne ait des identifiants séparés afin que nous puissions les identifier correctement et leur attribuer des droits (je suis Joe Schmoe! Moi aussi! Moi trois! Mais nous n'avons pas tous besoin du même accès). Nous avons également besoin que les gens prouvent qu'ils sont qui ils prétendent être en s'authentifiant (rappelez-vous les trois facteurs d'authentification, quelque chose que vous savez, avez ou êtes).

3
Jeff

Utiliser une explication simple

Identification: c'est la façon dont vous identifiez quelqu'un, c'est-à-dire la façon dont vous appelleriez cette personne ou cette entreprise. Cela pourrait être le nom, le numéro de compte dans une banque, le nom d'utilisateur dans un système spécifique.

Authentification: c'est la façon dont vous confirmez qu'une personne, qui fait quelque chose dans votre système, est vraiment ce qu'il dit. Il peut le prouver en donnant quelque chose qu'il sait (un mot de passe - authentification à un facteur), ou en donnant quelque chose qu'il sait + quelque chose qu'il possède (mot de passe + certificat numérique - authentification à deux facteurs).

Non-répudiation: une personne ne peut pas nier la paternité d'un document, etc., car le document ne peut être produit que par une personne authentifiée, et il existe donc une relation entre une identité spécifique et le document.

2
woliveirajr

Identification - Qui êtes-vous?

Authentification - Assurez-vous que vous êtes bien ce que vous dites être.

Je fournirai une réponse très différente de toutes les réponses ici.

La distinction entre authentification et identification peu importe.

Tout le monde semble le définir différemment, par exemple le document Fiat-Shamir définit ce qui suit:

  1. Authentification: Alice peut prouver à Bob qu'elle est Alice, mais Charles ne peut pas prouver à Bob qu'il est Alice.
  2. Identification: Alice peut prouver à Bob qu'elle est Alice, mais Bob ne peut pas prouver à David qu'il est Alice.
  3. Signature: Alice peut prouver à Bob qu'elle est Alice, mais Bob ne peut pas se prouver qu'il est Alice.

(ce qui, je suppose, est basé sur le fait que dans les protocoles sigma comme le protocole schnorr identification, pour fournir la propriété de connaissance zéro, un vérificateur doit être en mesure de créer une fausse transcription avec succès en identifiant le prouveur )

Deux points de confusion supplémentaires:

  • l'authentification est également un terme surchargé, par exemple, il est utilisé dans les codes d'authentification des messages et le chiffrement authentifié pour signifier "intégrité (protection)".
  • de nombreux articles sur le Web traitent de l'authentification par rapport à l'autorisation, en raison de certains problèmes avec les protocoles d'autorisation tels que OAuth 2.0 (par exemple, laissez-moi accéder à l'e-mail et à la photo de profil de ce profil facebook)). comme protocoles d'authentification (par exemple, je suis ce profil facebook).

Donc, pour être simple, l'authentification consiste à prouver qui vous êtes. Rien de plus.

0
David 天宇 Wong

Identification nécessite que le vérificateur vérifie les informations présentées par rapport à toutes les entités qu'il connaît Authentification nécessite que les informations soient vérifiées pour une seule entité préalablement identifiée.

0
Hamidullah Amid

Identification: qui êtes-vous?

Authentification: ok. Comment pouvez-vous le prouver?

Autorisation: que puis-je faire?

0