web-dev-qa-db-ja.com

キー署名とはどういう意味ですか?

「キー署名」とはどういう意味ですか?

たとえば、私が公開鍵を知っているので、人々が私に暗号化された電子メールを送信できるように、私は秘密/公開GPGキーを持っています。しかし、この例ではキー署名はどういう意味ですか?例:「第三者が私の公開鍵に署名する(方法は?)」

そして最も重要なのは、私の鍵が他の人によって署名されていることを他の人がどこで見ることができるかということです。

35
LanceBaynes

わかりました。あなたの言うとおり、秘密鍵と公開鍵のペアがあるので、私はあなたの公開鍵を知っているので、暗号化された電子メールを送信できます。

しかし方法私はあなたの公開鍵を知っていますか?明らかに、それが何であるかを教えてくれたし、セキュリティで保護されたチャネルを介して教えてくれた場合-たとえば、紙に書いて私的にそれを私に渡した場合-それは問題ありません。

しかし、安全でないチャネルを介して私にメールを送った場合、Eveがあなたのメールを傍受しておらず、キーを彼女のものに置き換えていなかったことをどうやって知ることができますか?その後、Eveは暗号化された電子メールを読み取ることができました。これは、herキーで暗号化したためです。

通信チャネルとしてインターネットしか利用できない場合、定義上、鍵の交換に使用するのは安全ではないため、これは実際の問題です。できませんまだキーを交換していないため

これを回避する方法の1つは、私たち2人が信頼するサードパーティを関与させることです。彼をボブと呼びましょう。

Bobには、人々への安全なチャネルがたくさんあります。彼は私に1つ持っているので、私は彼の公開鍵を知っています。彼はあなたにそれを持っています、そしてボブはあなたの公開鍵を知っています。

ボブができることは、公開鍵を受け取り、「ランスの公開鍵は18348273847473436」というメッセージを彼の秘密鍵で暗号化することです。次に、暗号化されたメッセージをあなたに渡します。ボブはあなたの鍵に署名しました。

さて、公開鍵を私に送信したい場合は、安全でないチャネルを介して署名済みの鍵を私に送信してください。ボブの公開鍵で解読できるので、私はそれをイブではなくあなたからのものだと知っています。ボブを信頼しています。

したがって、「グラハムとランスには安全なチャネルが必要」という問題は、「グラハムにはボブへの安全なチャネルが必要」と「ランスにはボブへの安全なチャネルが必要」という問題に変わりました。

D.W.への安全なチャネルの配置について心配する代わりに、今あなたが気づくまでは、私たちがより良いものにしたようには思えません。ルーカス、シュローダー、トーマス、ロリー、グラハム、そしてインターネット上のその他すべての人にとって、ボブへの安全なチャネルを一度取得することを心配する必要があるだけです。

38
Graham Hill

PGPでは、鍵署名とは、PGP(公開)鍵と呼ばれるものが、単に公開鍵ではなく証明書であるという事実を指します。

公開鍵証明書は、公開鍵、識別子(および場合によっては他の属性)間の署名付きの組み合わせです。この文書に署名する人は、パスポート発行機関が写真とパスポートの名前との間のバインディングを主張するのと同じように、公開鍵と識別子の間のバインディングの信頼性を効果的に主張します。

X.509証明書は、SSL/TLS通信で最も一般的に使用される証明書の一種です。署名は1つしか持てないため、公開鍵インフラストラクチャが階層化されます。

対照的に、 PGP証明書 は複数の署名を持つことができます。実際には、PGP証明書で参照されている公開鍵とIDの間のバインディングを、多くの個人が保証できます。これらの複数の署名により、Web-of-Trustモデルを構築できるため、単一の階層に依存して証明書の信頼を確立する必要がありません。

PGP鍵(より正確には、鍵とそれに関連付けられた識別子)に署名するときは、これを保証する人のリストに識別子と署名を追加します。この関連付けは、他の方法で(たとえば、公式のIDを確認するなど)正しいことを信頼する必要があるため、これには一定の責任があります。

自分の鍵が他の人によって署名されたことを他の人に見られるようにするには、自分で更新バージョンを提供するか(不便)、鍵を鍵配布サーバーに公開します。あなたの鍵を喜んで使用する人々は、時々(または、それを使用して検証する必要があるときに)新しい署名で更新されたバージョンをフェッチします。

8
Bruno

キーをシグニングすることは、キーが正しいことを信頼しており、特定の個人またはIDに関連付けられている(@Brunoに感謝)であると言う効果的な方法です。あなたを信頼する人は、あなたがそれに署名したという事実に基づいて、それを信頼することを選択するかもしれません。

署名とは、キー証明書にデジタル署名することを意味します。必要ではありませんが、たとえばPGPを使用すると、キーリングの各キーに信頼値が関連付けられていることがわかります。鍵に署名すると、信頼インジケーターをより高く移動できます。

たとえば、PGPの場合、鍵に署名した後、そのpgp鍵ストアの1つに鍵をアップロードして、他の人がそれを見ることができるようにすることができます。または、鍵署名者または直接会って鍵を交換します。

7
Rory Alsop

公開鍵を秘密鍵で暗号化することを「鍵に署名する」といいます

4
KawaiKx

公開鍵システムでの鍵署名は、鍵(特定のシーケンスの一連の数字)とサブジェクト(個人またはプリンシパルID)の間に関係があるという数学的な主張です。キー署名は、そのアサーションに対する信頼を確立または強化し、それによって何らかの目的のためのキーの有効性を確立または強化します。

階層型システム(X.509など)では、信頼できると見なされるには、ツリーの上位の機関によって鍵に署名する必要があります。 Web-of-trustシステム(例:クラシックPGP)では、ユーザーとグループがキーに署名して、IDがキーに関連付けられていることを信頼していることを示します。階層では、通常、特定の機関が鍵の署名(および発行)を担当します。 Webベースの公開キー基盤(PKI)では、独立した公証人を使用することもできます。

主要な署名者は、多くの人々と少数の公証人が集まり、他の人々からの複数のアサーション(署名)を迅速に収集することを可能にします。これによりWebが強化され、ユーザーはThawteやCACertなどのシステムで必要なポイントをすばやく獲得し、公証人になったり特典を利用できるようになります。

3
adric

アリス、ボブ、チャーリーはすべてPGP/GPGを使用しているので、アリスがボブにメッセージを送信する場合、実際にアリスのキーで実際に署名されていることをボブはどのように知るのか、攻撃者が生成したばかりのキーである可能性があります。そして、アリスの名前で設定します。チャーリーがアリスとボブの両方に別々の時間に会ったとしましょう。チャーリーはアリスの鍵に署名し、アリスはチャーリーの鍵に署名しました。ボブとチャーリーの間でも同じです。ボブはアリスのメッセージを受け取り、チャーリーがこの鍵に署名したので、チャーリーを信頼していると言います。したがって、このメッセージは確かにアリスからのものだと思います。

これで、署名に使用する実際の方法は、メッセージの署名に使用する方法と同じです(この場合のメッセージは公開鍵とそのメタデータの一部です)。通常、公開鍵をキーサーバーにアップロードし、他のユーザーはそれらを添付します署名。

0
ewanm89