87 votes

Quel est le rôle du jeton de clé publique?

Quel est le rôle du jeton de clé publique? At-il une part dans le déchiffrement du hachage signé? Dans GAC, pourquoi y a-t-il autant d'assemblys de Microsoft avec le même jeton de clé publique?.

173voto

Eric Lippert Points 300275

Quel est le rôle de jeton de clé publique?

Le jeton de clé publique est un petit nombre qui est une pratique de "jeton", représentant une clé publique. Les clés publiques sont assez long; le but de le jeton de clé publique est de vous permettre de consulter les touches sans dire l'ensemble de la clé. Sorte de la même manière en disant: "Le Seigneur des Anneaux" est de cinq mots qui représentent un demi-million de mots nouveaux. Il serait plutôt gênant si à chaque fois vous avez voulu vous en parler, vous avez eu à l'état de ceux d'un demi-million de mots.

A-t-elle un rôle dans le décryptage de la signature de hachage?

Pas de. Le jeton de clé publique n'a "aucune information" en elle. C'est juste un nombre qui représente une clé publique. Il n'est pas lui-même une clé publique.

pourquoi il y a tant d'assemblées à partir de Microsoft avec le même jeton de clé publique?

Parce qu'ils ont tous signé avec la même clé privée -- Microsoft clé privée, et sont donc vérifié avec la même clé publique, et par conséquent, tous ont le même jeton de clé publique.

16voto

rism Points 2864

À Partir De Wikipedia

"Le jeton de clé publique est utilisée pour rendre le nom de l'assemblage unique. Ainsi, deux fort nommé assemblées peuvent avoir le même PE nom de fichier et encore .NET de les reconnaître comme des assemblages différents. Le système de fichiers de Windows (FAT32 et NTFS) ne reconnaît que le PE nom de fichier, donc deux assemblées, avec le même PE nom de fichier (mais une culture différente, une version ou jeton de clé publique) ne peut pas exister dans le même dossier Windows. Pour résoudre ce problème .NET introduit quelque chose qui s'appelle le GAC (Global Assembly Cache) qui est traité comme un seul dossier par la .NET CLR, mais est réellement mis en œuvre à l'aide de imbriquée NTFS (ou FAT32) dossiers.

Pour prévenir les attaques d'usurpation d', où un pirate pourrait essayer de faire passer une assemblée apparaître comme quelque chose d'autre, l'assemblée est signé avec une clé privée. Le développeur de l'assemblée conserve la clé privée secrète, si un pirate ne peut pas y avoir accès, ni simplement de le deviner. Ainsi, le pirate ne peut pas faire de son assemblée usurper l'identité de quelque chose d'autre, dépourvu de la possibilité de correctement le signer après le changement. La signature de l'assemblée consiste à prendre un hachage de parties importantes de l'assemblée et du cryptage, le hachage avec la clé privée. La signature de hachage est stocké dans l'assemblée avec la clé publique. La clé publique peut décrypter la signature de hachage. Lorsque le CLR charge un nommé fortement de l'assemblée, il va générer un hachage de l'assemblée et ensuite la comparer avec la restitution de hachage. Si la comparaison réussit, alors cela signifie que la clé publique dans le fichier (et donc le jeton de clé publique) est associée à la clé privée utilisée pour signer l'assembly. Cela signifie que la clé publique de l'assemblée est la clé publique de l'assemblée de l'éditeur, et donc à une attaque par usurpation d'identité est contrecarré. "

7voto

ur. Points 2130

Le hash est une sorte "d'empreinte digitale". Il est signé à l'aide d'une clé privée détenue (et uniquement connue) par le signataire. Si vous connaissez la clé publique du signataire, vous pouvez vérifier si le hachage provient réellement du signataire et donc si les données / fichiers proviennent réellement du signataire (et sont inchangés). Les mêmes clés publiques pour certains fichiers du GAC signifient "toutes signées par le même signataire".

5voto

Henk Holterman Points 153608

Le Jeton de Clé Publique est une (sorte de) lisible extrait de la vraie clé publique. L'complet de la clé publique est stockée à l'intérieur d'un signé de l'assemblée et est utilisé pour déchiffrer la signature (= hachage chiffré). Le chargeur utilise pour vérifier le contenu n'est pas altéré (ou endommagés). Le hachage d'origine a été chiffré par l'auteur à l'aide d'une clé privée et seule une personne en possession de cette clé peut produire une signature valide.

Chaque entreprise (ou département) ne devrait utiliser que 1 paire de clés, c'est pourquoi vous voyez des groupes identiques (PKT est dans le GAC.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X