Webのコンテンツを保護して、私がそれを最初に作成したことを保証するアルゴリズムパターンはありますか?


29

数年前、特定のシステムの脆弱性を完全に開示したハッカーがいた(彼が誰であったか覚えていない)が、誰も信用していないことを確認するために、彼は何らかのPGPキーを作成した。

当時私が理解していたのは、彼がそれを発見した人であることを保証するためのキーを作成したが、実際に誰であるかを開示せず、彼が開示を作成した人であることを証明できるメカニズムを作成したことです。

OK。アルゴリズムと暗号化の仕組みを理解しています。しかし、ウェブで公開された特定のコンテンツを保護するためのキーを作成して、それが最初に作成されたものであることを証明する方法をまだ理解していません!言葉だけです!

本当に可能ですか?経験的に証明できるようにするためのプロセスは何ですか?私はそれを正しく理解しましたか、またはおそらくこのケースに関する何かを見逃しましたか?

この質問が十分具体的であることを願っています。基本的には、Webで作成したコンテンツ(段落、コード、単語など)を保護する方法であり、与えられたコンテキスト。

私の知る限り、それがどのように可能かはわかりませんが、実用的な方法があれば興味をそそられます。ある?


9
おそらくcrypto.stackexchange.comに尋ねる方が良いでしょうか?
陶酔14

5
@FagnerBrack-コピー/貼り付けをしないでください。暗号SEへの移行に関する質問にフラグを立てるだけです。
ムービシエル14

10
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!何かを作成したことを証明することと、最初に何かを作成したことを証明することには違いがあります。PGPキーは、ハッカーが脆弱性レポートを提出したことを証明できます。脆弱性が彼の前に発見または報告されなかったという保証はありませんが、少なくとも特定の日に報告したことを示すことができます。
ドーバル14

2
証明を発見し、それをまだ公開したくないが、他の誰かに信用を得たくない数学者についての話がありました。それで、代わりに彼は、アルファベット順にソートされた証明の文を発行しました。私は彼の名前が何であるか忘れました。
ポール14

3
@ポール-ロバート・フック、フックの法則en.wikipedia.org/wiki/Hooke's_law
ジェームズ・マクロード14

回答:


1

この件に関して何か見落としたのでしょうか?

不足しているビットは信頼できるエンティティだと思います。

証明したいコンテンツでファイルをハッシュすると、このドキュメントを公開せずに、あなたがこのドキュメントの所有者であることを世界に示すことができます。これはすべて非常にうまくいきますが、過去の特定の時点でこのドキュメントがあったことをどのように証明できますか?

これが、信頼できるタイムスタンプについてです。ウィキペディアからの抜粋は次のとおりです。

この手法は、デジタル署名とハッシュ関数に基づいています。最初に、データからハッシュが計算されます。ハッシュは、元のデータの一種のデジタル指紋です。データのセットごとに異なるビットの文字列です。元のデータが変更された場合、これは完全に異なるハッシュになります。このハッシュはTSA *に送信されます。TSAは、タイムスタンプをハッシュに連結し、この連結のハッシュを計算します。このハッシュは、TSAの秘密鍵で順番にデジタル署名されます。この署名付きハッシュとタイムスタンプは、タイムスタンプの要求者に送り返され、元のデータとともに保存されます(図を参照)。

(*)タイムスタンプ機関

私は、Universsignのタイムスタンプサービスを使用しています。このサービスには、操作全体を簡単に実行できる優れたツールセットがあります。同様のサービスを提供する会社はたくさんあります。

@JoelFanが述べたように、そのビットコインは、一元化されていない信頼できるエンティティを取得する方法を提供することに注意するのは興味深いことです(なぜ誰かを信頼する必要があるのでしょうか?)。ビットコインチェーンはタイムラインを提供します(ビットコインチェーンで覆われた1つのドキュメントが、チェーン内でさらに別のドキュメントが作成される前に作成されたことを証明できます)。しかし、私の理解では、イベントの発効日時はまだ見逃しています。

また、信頼できるタイムスタンプは、訴訟における有効な参考資料です。


2
ビットコインのブロックヘッダーには日付時刻が埋め込まれています...プロトコルによって強制されていませんが、一般に少なくとも「球場」の正確さ(つまり1日以内の正確さ)が信頼されています...必ず日付・時間が単調に増加している作るために、今日まで、問題のブロックから全体blockchainを検査する
JoelFan

回答を受け入れるのに時間がかかりすぎて申し訳ありません。ハッカーは信頼できるエンティティを使用している可能性が高いため、信頼できるエンティティがないとコンテンツの作成者を保護する合理的な方法を見つけることができませんでした。
ファグナーブラック

39

昔は、科学者は自分の研究のアナグラムを発表して、「この考えを思いついた」と言うことができました。(「歴史」と「優先順位の確立」セクションを見てください)ことは、彼らはそれを信用したいだけでなく、元のアイデアを基にせずに他のアイデアがあれば他の科学者に結果を公開することを望んでいます。

たとえば、ガリレオはSMAISMRMILMEPOETALEVMIBVNENVGTTAVIRASを公開しました。これは、ラテン語から翻訳されたaltissimvm planetam tergeminvm obseraviのアナグラムで、「最高の惑星を3重の形で観測しました」と読みます。彼はそれを間違えました-土星(当時知られている「最高」の惑星)は3つの部分で構成されていません。五十年後、クリスチャン・ホイヘンスが公開AAAAAAA CCCCC D EEEEE H IIIIIII LLLL MM NNNNNNNNN OOOO PP Q RR S TTTTT UUUUUラテン語であるAnnulo cingitur、tenuiを、平、nusquam cohaerente、広告eclipticam inclinato「それは薄い囲まれているために変換されそれに触れず、黄道に対して傾いている平らなリング。」

これらは現在興味深い歴史的なビットですが、当時重要な概念を示しています-「このハッシュはこのテキストをエンコードします」と簡単に言うことができる「ハッシュ」を提供します。既知のテキストからアナグラムまたはハッシュに移動するのは簡単ですが、そもそもそれが何であるかわからない場合、それが何であるかを理解するのは困難です。

現代のメカニズムでは、ハッシュを実行する他の方法があります。それらの多くは暗号化と非常に密接に関連しています。暗号化ハッシュ関数があります。アイデアは、まだ、あなたが知っているテキストからハッシュに行くのは簡単ですが、ハッシュからあなたが知らないテキストに行くのは難しいということです。

そして、あなたがプログラムを持っている場合ので、あなたはありませんプログラムのハッシュ公開する可能性が何かを、あなたはときにしている(おそらく同社の修正それ以降の一定期間の後に)それを公開する準備ができて、あなたは実際のコードを公開することができますし、はい、このコードはそのハッシュと一致します。


1
デジタル時代以前のハッシュの使用に関する非常に素晴らしい歴史:)
mika 14

30

それはとても簡単にできます。あなたが平文text、秘密鍵Sおよび公開鍵Pを持っS(text)ているなら、あなたがして、cipher

今、あなたは公開することができますcipherし、PではありませんS。そのため、誰もが解読できるcipherとのPことでP(cipher)。自分を作成したcipher(つまり元のtext)ことを証明したい場合は、公開するかS、誰かにSを知られたくない場合は、別の人S("I was really the one who found the text first")を作成して公開することができます。暗号化された暗号を作成する方法がないためP(cipher)、意味のあるテキストが生成されます。

それはあなたがそれを証明する方法です。


13
これはどのように役立ちますか?暗号を解読できる人は誰でも、自分の秘密鍵を使用して同じ方法で再公開できます。公開時間のサードパーティの記録を信頼せずに、最初に公開した当事者と他の当事者からコピーした当事者を証明する方法はありません。
R .. 14

2
@R ..インターネット上のコンテンツには通常、日付が関連付けられています(例:フォーラムの投稿)。元の発明者/発見者であると主張する人が複数いる場合は、日付を確認するだけです。
ポール14

2
P(content)を介して暗号化されたプレーンテキストにコンテンツを含めることもできます。Sの真の所有者はその追加情報を復号化できますが、リピーターはそれを行うことができません。
ダンクラム14

10
@ポール:しかし、暗号化は無関係です。これは、プレーンテキストコンテンツを投稿し、日付に依存することと同じです。
R .. 14

2
@R ..アイデアは、知らなくてもS、意味のないテキストを思い付くのは非常に難しいcipher2ということP(cipher2)です。ではSそれとして、簡単ですS("the text you want")= cipher2。逆に行うと、暗号化方式が無効になります。
コンガスボンガス14

21

タイムスタンプを付けたいデータをハッシュ化し、ビットコインアドレスに変換することができます。これは、信頼できるタイムスタンプとして知られてます。それに少額の支払い(サトシ、または0.00000001 BTC)を行うことにより、支払いはあなたが支払った住所とともにブロックチェーンに保存されます。

ハッシュのみがビットコインブロックチェーンに保存されているため、誰が保存したデータを知ることはできませんが、事前にハッシュされたデータがあれば、そのアドレスに対して行われた支払いを含むブロックの前にデータが作成されたことを証明できます。


1

あなたがすぐに誰であるかを明かすことなく、後でこれを行うオプションを持つことなく、あなたが何かを最初に公開することを確立する非常に簡単な方法:

  1. よく知られている公開ソースで公開します(公開したことを誰でも見ることができます)
  2. この出版物に、次の行を追加します。元々はxxx@gmail.comの所有者によってdd / mm / yyyyに公開されました

何も暗号化する必要はありません。

もちろん、結果をまだ公開したくない場合もあります。その場合、メールアドレスのある行を除くすべてを暗号化する必要があります。しかし、今では有名なサイトでこれを公開するのは難しいかもしれません。


4
「有名なサイト」が日付や出版物の電子メールを変更したらどうなりますか?サイトがハッキングされた場合でも、悪意により発生する可能性があります。(わかりましたが、私はここでかなり妄想していますが、それがポイントです。元の作者以外の誰かが証明を変更する方法がある場合、あなたの解決策は本当に決定論的ではありません)。ここでのポイントは、人間の証人だけに頼るのではなく、信頼できるエンティティによってコンテンツが「公開」または「特許」されることなく、誰でも特定の方法で作成者を確認できるようにすることです。
ファグナーブラック14

@ FagnerBrack、arxiv.orgは、ほぼ100万件の研究論文に十分であることが証明されています。
ブライアンS 14

1
そこに何かを置くことはできますか、それともピアレビューを通過する必要があり、特定の制約の下でのみ許可されますか?この質問は、論文を直接研究することを目的とするものではなく、プログラムで同じ結果(または同等の結果)を達成する可能性に関するものです。
ファグナーブラック14

2
archive.orgを使用して公開します-arXivと同様、非常に長持ちし、信頼できるリポジトリですが、arXivとは異なり、そこにコンテンツを無料でアップロードできます。そこで公開するもののタイムスタンプは、非常に信頼性が高いと見なされます。
スティーブミッドリー14

1
私は同意します。名声は知識を迅速かつ確実に広める唯一の方法です。
ビッグストーン14

0

これは、ヴァレンテリーの答えに対する別の見解です。

PGPを使用して行う方法は次のとおりです。

公開鍵と秘密鍵のペアを生成します。

  1. 秘密鍵を保持し、秘密に保つようにします。
  2. あなたの公開鍵でアイデアを暗号化する:P(idea)
  3. P(idea)を信頼できる(自分ではなく一般的に)どこかに置き、時間を記録します。
  4. 最初にアイデアを作成したことを証明する必要がある場合は、データを保存したときのタイムスタンプを取得し、秘密鍵でデータを復号化します。S(P(idea))=>アイデア

この方法では、秘密鍵を解放する必要はありません。これは一般に悪い考えです。確かに、いつでも新しいPGPキーペアを作成できます。費用はかかりませんが、信頼性を高めたい場合は、無謀に秘密キーを配布するべきではありません。

最も困難なのは時間を証明することですが、脆弱性を文書化するという観点からは、100%防弾で法廷で検証可能なソリューションは必要ありません。「十分な」ものだけが必要です。クラウドストレージプロバイダー(ドロップボックス、ラックスペース、グーグルなど)のログは、安全なサービスを実装していると仮定すると、おそらく十分です。

また、アイデアとタイムスタンプを付けた最初の人であることは、あなたがそのアイデアを最初に考えたことを意味するものではなかったことにも注意してください。誰かがあなたの前でそれを考えたが、タイムスタンプメカニズムでアイデアを登録したことがない場合、彼らはあなたの前でそれを作ったことを証明することはできません。だから、誰が最初にそれを作ったかを理解しようとしており、私たちが知っているのはあなたがそれを思いついた時だけである場合、あなたは最初にあなたがそれを思いついたと仮定しなければなりません(他の人が嘘を吐き出す可能性があります)。


-1

うーん、これらの答えの多くは、ポイントを逃しています。

1)ハッカーが行ったことは、暗号化とは関係ありませんでした。

2)ハッカーがやったことは、時間とは関係ありません(タイムスタンプなど)。

ハッカーが行ったことは、リリース文書に公開署名することでした。PGPに何か(電子メール、ワードドキュメントなど)に署名すると、署名されているドキュメントのハッシュと独自の秘密鍵の合計であるハッシュが作成されます。さて、あなたがドキュメントの作成者であることを証明するためには、秘密鍵を「表示」するだけで十分です。おそらく、著者だけが知っているからです。暗号的に言えば、実際に鍵自体を表示することなく、秘密鍵を所有していることを「表示」できます。

そのため、事実上、彼は文書にデジタル署名しました。その署名をコピーできる唯一の人は、彼の秘密鍵を持つ人です。文書が今日、または昨日作成された、または史上初めて存在したと言うことはできません。ハッシュ化タイムスタンプの量またはそれを変更するものはありません。

何かをデジタル署名する唯一の方法は、ブロックチェーンをビットコインで使用することです。時間の検証なしにデジタル通貨は存在し得ません。つまり、人Aが人Bにお金を送ったという事実は、いつわからない限り無関係です。紙を持って店に行って「お母さんから100ドル送ってくれました。パンを買いたい」と言うことはできません。取引を受け取ったからといって、お金がまだあなたのものであるというわけではないからです。その間に他の誰かにそれを与えたかもしれません。ブロックチェーンは、トランザクションが特定の時間に発生したという事実に多数の人々(ビットコインマイナー)に同意してもらうことで(そしてその時間をブロックチェーンに永久に記録することで)この問題を解決します。


2
これはかなりのオーバーポイントが作られ、(特に、多くが信頼できるタイムスタンプについて書かれた、およびビットコインのアプローチはすでに発表された)前6つの回答で説明したのオファーは何もしていないようだ
ブヨ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.