Il y a quelques années, il y avait ce pirate informatique (je ne me souviens pas qui il était) qui révélait complètement une vulnérabilité dans un système donné, mais pour s'assurer que personne ne s'en rendait compte, il a créé une sorte de clé PGP.
Ce que j'ai compris à l'époque, c'est qu'il a créé une clé pour s'assurer qu'il était bien celui qui l'a découverte, mais n'a pas révélé qui il était en fait, il a juste créé un mécanisme pour pouvoir prouver qu'il était celui qui a créé la divulgation .
D'accord. Je comprends comment fonctionnent les algorithmes et la cryptographie. Mais je ne comprends toujours pas comment vous pouvez créer une clé pour protéger un contenu donné divulgué sur le Web pour prouver que vous êtes celui qui l'a créé en premier! Ce ne sont que des mots!
Est-ce vraiment possible? Quel devrait être le processus pour vous assurer que vous pouvez le prouver empiriquement? L'ai-je bien compris ou j'ai probablement raté quelque chose concernant cette affaire?
J'espère que cette question est suffisamment précise, c'est simplement comment protéger un contenu que vous avez créé sur le Web (un paragraphe, un code, un mot, etc.) et vous assurer que vous êtes celui qui l'a créé en premier, à l'intérieur d'un contexte donné.
Avec mes connaissances, je ne vois pas comment cela est possible, mais je suis intrigué s'il existe un moyen pratique de le faire. Y a-t-il?
la source
But I still don't understand how you can create a key to protect a given content disclosed in the web to prove you are the one who created it first! It is just words!
Il y a une différence entre prouver que vous avez créé quelque chose et prouver que vous avez été le premier à créer quelque chose. La clé PGP peut prouver que le pirate a soumis le rapport de vulnérabilité. Il n'y a aucune garantie que la vulnérabilité n'a pas été découverte ou signalée avant lui, mais il peut au moins montrer qu'il l'a signalée à une certaine date.Réponses:
Je pense que le morceau qui vous manque est une entité de confiance.
Lorsque vous hachez le fichier avec le contenu que vous souhaitez certifier, vous pouvez montrer au monde que vous êtes le propriétaire de ce document, sans divulguer ce document. C'est très bien, mais comment pouvez-vous prouver que vous aviez ce document à un moment précis dans le passé?
C'est de cela qu'il s'agit. Voici un extrait de wikipedia :
J'utilise le service d'horodatage d'Universign, qui dispose d'un bel ensemble d'outils pour rendre l'opération facile à effectuer. Il existe de nombreuses entreprises offrant des services similaires.
Il est intéressant de noter que, comme @JoelFan l'a mentionné, ce bitcoin fournit un moyen d'obtenir une entité de confiance qui n'est pas centralisée (pourquoi devrais-je faire confiance à quelqu'un?). La chaîne bitcoin fournit une chronologie (vous pouvez prouver qu'un document incrusté dans la chaîne bitcoin a été créé avant un autre plus bas dans la chaîne). À ma connaissance, cependant, la date et l'heure de l'événement vous manqueraient toujours.
De plus, le Trusted Timestamping est une référence valable dans les litiges.
la source
Autrefois, les scientifiques publiaient des anagrammes de leurs travaux pour pouvoir dire «j'ai pensé à cette idée». (regardez les sections «histoire» et «établissement des priorités») Le fait est qu'ils voulaient pouvoir s'en attribuer le mérite, mais aussi donner à d'autres scientifiques la possibilité de publier leurs résultats s'ils avaient d'autres idées sans s'appuyer sur l'idée originale. .
Par exemple, Gallileo a publié SMAISMRMILMEPOETALEVMIBVNENVGTTAVIRAS qui était une anagramme d' altissimvm planetam tergeminvm obseravi qui traduit du latin se lit "J'ai observé la plus haute planète en forme de triple". Il s'est trompé - Saturne (la planète 'la plus haute' connue à l'époque) n'est pas construite en trois parties. Cinquante ans plus tard, Christiaan Huygens a publié AAAAAAA CCCCC D EEEEE H IIIIIII LLLL MM NNNNNNNNN OOOO PP Q RR S TTTTT UUUUU qui en latin est Annulo cingitur, tenui, plano, nusquam cohaerente, ad eclipticam inclinato qui est entouré par " anneau plat qui ne le touche pas et est incliné contre l'écliptique. "
Bien que ce soient des éléments historiques maintenant intéressants, ils montrent un concept important à l'époque - fournir un «hachage» qui est facile à dire «ce hachage encode ce texte». Il est facile de passer du texte connu à l'anagramme ou au hachage, mais difficile de comprendre ce que c'est si vous ne savez pas ce que c'est en premier lieu.
Avec les mécanismes modernes, nous avons d'autres façons de faire des hachages. Beaucoup d'entre eux sont très étroitement liés à la cryptographie. Il y a la fonction de hachage cryptographique . L'idée étant, encore, il est facile de passer du texte que vous connaissez au hachage, mais difficile de passer du hachage au texte que vous ne connaissez pas.
Et donc, si vous avez un programme, vous pouvez publier un hachage du programme qui fait quelque chose , puis lorsque vous êtes prêt à le divulguer (peut-être après que l'entreprise le corrige ou une période de temps plus tard), vous pouvez publier le code réel et tout le monde peut voir que, oui, ce code correspond à ce hachage.
la source
Vous pouvez le faire assez facilement. Si vous avez un texte en clair
text
, une clé secrèteS
et une clé publique,P
vous le faitesS(text)
et obtenez lecipher
.Vous pouvez maintenant publier
cipher
etP
nonS
. Par conséquent, tout le monde peut décrypter lecipher
avecP
en faisantP(cipher)
. Si vous voulez maintenant prouver que vous êtes celui qui a créé lecipher
(et donc l'originaltext
), vous pouvez soit publierS
, soit - si vous ne voulez pas que quiconque connaisse S - vous pouvez en créer un autreS("I was really the one who found the text first")
et le publier. Parce qu'il n'y a aucun moyen de créer un chiffrement qui est déchiffré avecP(cipher)
cela donne un texte significatif.Voilà comment vous pouvez le prouver.
la source
S
, il est très difficile de trouver un morceau de textecipher2
quiP(cipher2)
ne soit pas du charabia. AvecS
c'est trivial, commeS("the text you want")
=cipher2
. Faire l'inverse revient à vaincre la méthode crypto.Il est possible de hacher les données que vous souhaitez horodater et de les transformer en une adresse Bitcoin. Ceci est connu sous le nom d' horodatage approuvé . En lui faisant un petit paiement (un satoshi ou 0,00000001 BTC), le paiement est stocké sur la blockchain avec l'adresse à laquelle vous avez payé.
Étant donné que seul le hachage est stocké sur la blockchain Bitcoin, personne ne peut dire quelles données vous avez stockées, mais étant donné les données pré-hachées, vous pouvez prouver que les données ont été créées avant le bloc qui contient le paiement effectué à cette adresse.
la source
Un moyen très simple d'établir que vous êtes le premier à publier quelque chose, sans révéler qui vous êtes immédiatement mais en ayant la possibilité de le faire plus tard:
Pas besoin de crypter quoi que ce soit.
Bien sûr, il est possible que vous ne souhaitiez pas encore publier vos résultats. Dans ce cas, vous devez tout crypter sauf la ligne avec l'adresse e-mail. Cependant, maintenant il peut être plus difficile de faire publier ceci sur un site renommé.
la source
C'est une vision différente de la réponse de valenterry.
Voici comment vous le feriez avec PGP:
Générez une paire de clés publique / privée.
Cette méthode ne nécessite pas de libérer votre clé secrète, ce qui est généralement une mauvaise idée. Certes, vous pouvez toujours créer une nouvelle paire de clés PGP - cela ne coûte rien, mais vous ne devriez pas distribuer des clés secrètes si vous voulez être crédible.
La partie la plus difficile est de prouver le temps, mais en termes de documentation d'une vulnérabilité, nous n'avons pas besoin d'une solution 100% à l'épreuve des balles et vérifiable en justice, nous avons juste besoin de quelque chose de `` assez bon ''. Les journaux d'un fournisseur de stockage cloud (dropbox, rackspace, google, etc.) sont probablement assez bons, en supposant qu'ils mettent en œuvre un service sécurisé.
Il convient également de noter qu'être le premier à avoir une idée et un horodatage n'a jamais signifié que vous avez été la première personne à penser à l'idée. Si quelqu'un y a pensé avant vous mais n'a jamais enregistré l'idée avec un mécanisme d'horodatage, il ne peut pas prouver qu'il l'a fait avant vous. Donc, si nous essayons de savoir qui l'a fait en premier, et tout ce que nous savons, c'est le moment où vous l'avez inventé, alors nous devons supposer que vous l'avez inventé en premier (l'autre personne pourrait cracher des mensonges).
la source
Ugh, tant de ces réponses manquent de raison.
1) Ce que le pirate a fait n'a rien à voir avec le chiffrement.
2) Ce que le pirate informatique a fait n'a rien à voir avec le temps (horodatage, etc.).
Ce que le pirate a fait a été de signer publiquement le document de sortie. Lorsque vous PGP signez quelque chose (un e-mail, un document Word, etc.), vous créez un hachage qui est la somme du hachage du document signé et de votre propre clé privée. Maintenant, pour prouver que vous êtes le créateur du document, il vous suffit de "montrer" la clé privée, car seul l'auteur le sait. Cryptographiquement parlant, vous pouvez "montrer" que vous êtes en possession de la clé privée sans afficher la clé elle-même.
Donc, en fait, il a signé numériquement le document. La seule personne qui peut copier cette signature, c'est quelqu'un avec sa clé privée. Il n'y a rien à dire que le document a été rédigé aujourd'hui ou hier, ou a été le premier exemple de celui-ci à avoir jamais existé. Aucune quantité d'horodatage de hachage ou autre ne changera cela.
La seule façon de signer numériquement quelque chose DANS LE TEMPS, est d'utiliser la blockchain à la bitcoin. Il ne pourrait y avoir de monnaie numérique sans vérification de l'heure - le fait que la personne A ait envoyé de l'argent à la personne B est sans importance à moins que nous sachions quand. Vous ne pouvez pas entrer dans un magasin avec un morceau de papier et dire "ma maman m'a envoyé 100 $ une fois. Je voudrais acheter du pain", car le reçu d'une transaction ne signifie pas que l'argent vous appartient toujours. Vous l'avez peut-être remis à quelqu'un d'autre dans l'intervalle. La blockchain résout ce problème en amenant un grand nombre de personnes (mineurs de bitcoin) à s'accorder sur le fait que la transaction s'est produite à un certain moment (puis en enregistrant ce temps dans la blockchain pour toujours).
la source