6. 署名と検証

署名の検証(公開鍵なし)

この演習のために事前に署名を施した文書sign.txt.ascを用意しました.リンクを右ボタンクリックして表示されるメニュからダウンロードを選択します.ダウンロードした文書の署名は「gpg --veriry」コマンドで検証できるはずですが,署名者である report@joho.org の公開鍵がないため,署名の検証には失敗します.

署名の検証(公開鍵なし)

公開鍵の読込

署名者である report@joho.org の公開鍵の鍵ファイルreport.pubがあります.リンクを右ボタンクリックして表示されるメニュからダウンロードを選択します.公開鍵は「gpg --import」コマンドで,鍵束に取り込むことができます.公開鍵の読込結果を「gpg --list-secret-keys」コマンドや「gpg --list-keys」コマンドで確認しましょう.report@joho.org の公開鍵だけが鍵束に読み込まれているはずです.

公開鍵の読込

署名の検証(公開鍵あり)

署名者の公開鍵が入手できましたので,「gpg --verify」コマンドで署名を検証できるはずです.

署名の検証

署名を検証できるのですが,鍵の信頼性に問題がある旨の警告が出ます.というのは利用した公開鍵が署名者自身のものであること(署名者自身が作成した公開鍵・秘密鍵ペアであり,秘密鍵は署名者しか持っていないこと)が前提となっているにもかかわらず,その保証がないためです.

公開鍵への署名

公開鍵の信頼性は,公開鍵に対する署名によって向上されます.つまり信頼性の高い人が公開鍵に署名することによって,公開鍵の信頼性を上げられるのです.このような仕組みで信頼性を上げる方法を「信頼の鎖」や「信頼の輪」と呼びます.公開鍵への署名は「gpg --lsign-key」コマンドで実行できます.公開鍵への署名にあたっても,秘密鍵が利用されるので,パスフレーズの入力を求められ(る場合があり)ます.

公開鍵への署名の後で,「gpg --list-keys」コマンドで,公開鍵を調べると,「究極」の信頼性を持っている自分自身の署名を受けることで「十分」な信頼性を獲得していることがわかります.

公開鍵への署名 署名時のパスフレーズ入力

署名の検証(署名付きの公開鍵あり)

公開鍵に署名が付けられたので,改めて「gpg --verify」コマンドで署名を検証してみましょう.公開鍵に署名が付いているため,署名は「十分」な検証を得られます.

署名の検証

公開鍵暗号方式では,以下の2点が欠かせない前提となっていることを,心に留めておいてください.

  1. 鍵の作成者(本来の所有者)のみが秘密鍵を保持している
  2. 公開鍵が本来の所有者のものである

公開鍵ファイルの書出

他の参加者との間で,暗号文や署名付文書をやりとりするためには,公開鍵の共有が必要になります.鍵束内にある(自分の)公開鍵は「gpg --export」コマンドで鍵ファイルに書き出すことができます.公開鍵ファイルを作成・交換して,自分のPCとECCSとの間や,友人との間で,暗号化と復号や署名と検証を試してみましょう.なお課題提出にあたっても,公開鍵ファイルを求められます.

公開鍵ファイルの書出