web-dev-qa-db-fra.com

Pourquoi devrais-je signer des données déjà cryptées?

Ma question concerne la différence entre la signature et le cryptage. Pourquoi signeriez-vous toujours quelque chose si vous alliez déjà à PKI le crypter?

Le cryptage PKI ne fournit-il pas de manière intrinsèquement authentification, intégrité et non-répudiation?

== Ajouté plus tard ===

Et si j'utilise ma clé privée pour chiffrer Mon message. Alors n'importe qui peut déchiffrer ce message avec ma clé publique, donc ce n'est pas privé, mais tous ceux qui font, savent que c'est de moi parce que c'était déchiffré par ma clé publique. Aussi tout savoir que ce n'était pas altéré avec précision parce qu'ils pouvaient le déchiffrer

15
Jaap

cryptage fournit une confidentialité, c'est-à-dire que seul le destinataire prévu pourra déchiffrer le message.

Signature Fournit une authentification, c'est-à-dire un destinataire de vérifier que le message a été envoyé par un expéditeur particulier et n'a pas été modifié.

Une façon de regarder cela dans le contexte de PKI est comme ceci: le cryptage nécessite uniquement la connaissance de la clé du destinataire public, donc quiconque Peut crypter un message. Signature, d'autre part, nécessite une connaissance de la clé de l'expéditeur privée, alors seul l'expéditeur peut signer le message. Comme vous pouvez le constater, le cryptage puissant-clé publique ne fournit pas d'intégrité ni d'authentification.

35
Andrey

Le cryptage avec la clé publique de quelqu'un offre une confidentialité, mais ne fournit pas d'authentification ou d'intégrité.

Dans une architecture PKI, vous chiffrez votre message avec la clé publique du destinataire. Cela ne prouve que vous connaissez leur clé publique, mais rien sur vous-même. Lorsque leur clé publique est en effet publique, vous pourriez être n'importe qui, y compris un attaquant qui a intercepté le message (sans incapable de le lire) et l'a remplacé par un autre message crypté avec la même clé publique.

Mais en ajoutant une signature avec votre propre clé privée (qui peut ensuite être vérifiée avec votre clé publique), vous prouvez votre propre identité qui facilite l'altération du message impossible.

Notez que cela ne s'applique que lorsque la clé publique du destinataire est en réalité publique. Lorsque la clé "publique" est un secret partagé uniquement entre vous et le destinataire, une signature devient effectivement redondante.

10
Philipp

Si j'ai laissé une boîte verrouillée sur votre porche au milieu de la nuit et enchaînée à votre porte et laissa tomber une clé dans la fente de courrier, elle serait sécurisée. Personne d'autre ne pourrais y arriver et que vous seul seriez capable de l'ouvrir, mais vous n'auriez aucun moyen de savoir qui l'a laissé pour vous. Il aurait pu être laissé par le gars de la maison de compensation de l'éditeur ou un terroriste, vous ne savez tout simplement pas. Le cryptage en fait cela, cela empêche toute personne d'accéder à votre message, mais vous n'avez aucun moyen de savoir qui c'était.

Si le gars de la maison de compensation de l'éditeur ait laissé le chèque, signé et assis devant votre porte. Vous sauriez que c'était d'eux parce qu'ils l'ont signé et que le chèque était valide, mais tout le monde pouvait venir et le prendre car il n'est pas protégé. C'est ce que la signature fait. Cela prouve qu'un message provenait d'une personne particulière, mais ne protège pas le contenu du message.

Ce que vous voulez vraiment, c'est un paquet signé assis sur la porte. De cette façon, personne d'autre ne peut dire ce que c'est, mais vous pouvez vérifier qui c'était de et qu'il n'a pas été altéré.

7
AJ Henderson

La façon dont je regarde, c'est que si j'ai un message crypté qui est une série d'octets, je peux décrypter cela avec votre clé publique. Cependant, toute série d'octets est "valide" à la suite de votre cryptage. Cela signifie que si quelqu'un modifie le message, je peux toujours le déchiffrer, je n'obtiens tout simplement pas ce que vous avez crypté à l'origine. La personne qui a fait la firme ne saura probablement pas quel effet leur altération a eu sur le message (à moins qu'ils ne disposaient de la clé privée), mais ils peuvent garantir qu'ils auront changé le message. Parfois (par exemple, si ce n'est que des données binaires plutôt qu'un message texte), vous ne saurez pas qu'il a été altéré parce que vous n'avez rien à comparer à.

Quelle signature peut faire est de garantir que le message n'a pas été altéré. Vous prenez un hasch du message d'origine, puis crypté avec votre clé privée. Maintenant, quand je découle le message, je peux le hash et le comparer au hasch que vous m'avez donné. S'ils correspondent, je sais que cela a) le contenu n'a pas été altéré (parce que le match de hachage) et b) que c'est de vous parce que le hachage a été crypté par votre clé privée.

3
Chris