これは私にとってちょっとした思考実験になりました。
誰かが、対応するPGP鍵とともに仮名を確立したいとしますが、他の人はどのように名前と鍵の間の対応を確認できますか?
一般に、PGP鍵は実在の人向けであり、そのIDはIRLを検証できますが、ここでは適用されません。
私の最初の当初の考えは、仮名はキーフィンガープリントに基づいた名前である可能性があるということでしたが、文字数によっては、この要件を満たす新しいキーを生成するのは非常に簡単でした。
誰かがこの対応を検証するための戦略(潜在的には技術よりも社会的である可能性が高い)がありますか?
編集:
この要件を持つ仮名の潜在的な目的は、中本聡、または内部告発者と同じ方針に沿っている可能性があります。偽名の所有者からの検証可能なドキュメントまたはソフトウェアを常にリリースしたい。
仮名キーの課題は、匿名性だけではありません。あなたのアイデンティティが一意ではないという追加の問題がありますand証明するのがより困難です。仮名/ニックネームが確立されていると見なす(つまり、これらの行のハッシュまたは何かに基づいて新しいIDを作成するのではなく、既存のIDを使用している)ニックネームだけではありませんあなたのアイデンティティと評判を主張するのに十分。
あなたのニックネームがサムであり、友達のニックネームがサムであり、あなたの両方が「信頼できる」偽名キーを持っている場合、どちらも相手に叫んで「彼は本当のサムではありません! 」
1つの解決策は、オンラインIDに関するすべての情報をいくつかの一意の場所(「私はStackExchangeのSamだ」、「私はsamlanning.com
ドメインとWebサイトを所有している」など)に再グループ化し、次に取得することです。 これらすべてのIDを検証および確認する。それには2つの方法があります。
OpenPGPに基づいた Keybase (またはmake/Host your own)などのWebサイトに参加します。内部ではありますが、これらの「中央の一意のアイデンティティ」はすべて、アイデンティティ/仮名に対して信頼の輪を作ります。プロファイルは次のようになります これのように (はい、GnuPGの主要な作成者でさえこのWebサイトを使用しています)。
OpenPGP(特にGnuPG)を使用して、仮名鍵に署名(認証)する意思のある人を見つけ、仮名IDを確認する個人的な方法に従って、ポリシーURLと表記を組み込むように要求します。証明書のデータ。
私は他の人の鍵を認証するときに個人的にこれを行います:
gpg --ask-cert-level \
--cert-policy-url http://diti.me/pgp/\#policy \
--cert-notation [email protected]=http://diti.me/pgp/certs/%f.notes.asc \
--sign-key
policy URLは、OpenPGPキー認証ポリシーが何であるかを世界に説明するURL(ここでは、インターネットドキュメント)です。偽名キーに署名する人は、このドキュメントでは、偽名キーを実際に認証することとその方法を伝える必要があります。
キー表記は、key=value
という形式の任意のテキストです。 OpenPGP仕様では、実装がこれらをどのように使用するかを実際に指定していませんが、URLをvalue
として使用することが1つの用途です。ただし、必要に応じて、署名者に「サムの偽名を慎重に確認した」などのテキストを入力することもできます。
上記の私のコマンドを使用すると、デフォルトでポリシーURLと表記データの両方が表示されることがわかります on keyservers :
sig sig1 CD42FF00 2014-04-07 __________ __________ []
Policy URL: http://diti.me/pgp/#policy
Notation data: [email protected] http://diti.me/pgp/certs/A31D4F81EF4EBD07B456FA04D2BB0D0165D0FD58.notes.asc
記録のために、これはCAcert.orgの自動GPG署名鍵に署名する私であり、ここに 表記データへのWeb Archiveリンク を残します。
署名者によって作成された表記データを読み取ることができる限り、誰もがあなたの仮名IDを信頼するかどうかを決定できます。これらを使用して、やる気のある人は、あなたの仮名がどれほど信頼でき、信頼できるかを注意深く確認してくれる人が実際にそうすることができます。
編集:実際には、私はポイント2で少し話題から外れたかもしれないと思います。あなたの質問は、偽名の認証プロセスについてのみですか、それとも監査についても?
もう少し友達と話した後、私たちは候補の解決策を考え出したかもしれません。
回避しようとしているのは、元のキーホルダーになりすましている人物であるため、誰かが新しいキーペアを生成し、元の人物が行ったすべてに再署名して、同じ偽名を所有していると主張してはなりません。
分散タイムスタンプシステムを使用して、仮名と公開鍵の関連付けが特定の時間(つまり、仮名が作成された時間)に存在したことを証明できます。例 https://www.btproof.com/
人々はそれから、関連付けが有効であることの証明としてこれを十分に考慮し、UIDに署名することを選択できます。
この問題について読み、Bicoinタイムスタンプについて調べた後、私は、PGPキーとビットコインアドレスを所有者として使用して、偽名IDの所有者であることを証明する方法を作成する比較的簡単な方法を思いつきました。このシステムは、これら2つのことのロックを解除するために、原則としてあなたとあなただけが所有している秘密が必要であることを利用しています。
誰かにあなたの身元を検証させるには、このプロトコルに従ってください:
ステップ3を正常に完了することができるのは、公開鍵を使用して送信されたメッセージのロックを解除する秘密鍵を所持している場合のみです。これは、支払い手順を読むために必要です。支払いは、キーのフィンガープリントにタイムスタンプを付けたときにブロックチェーンに到達したアドレス1YouR0wn4dRESSでウォレットのロックを解除する秘密キーを所有している場合にのみ完了できます。これで認証されました。