暗号

共通鍵暗号と公開鍵暗号

  • 共通鍵暗号
  • 同じ鍵を使う
  • 公開鍵暗号
  • 2つの対になった鍵を使う

共通鍵暗号

共通鍵暗号

  • AとBが同じ「鍵」を持つ
  • A:「箱」に入れて「鍵」をかける ... 暗号(化)
  • 「箱」を運ぶ
  • B:「鍵」で「箱」を開ける ... 復号(化)

公開鍵暗号

公開鍵暗号

  • 2つ「鍵」を持つ。
  • 片方の「鍵」で閉じた「箱」はもう一方の「鍵」で開く
  • A:Bの「公開鍵」で暗号化
  • B:自分の「秘密鍵」で復号

公開鍵暗号における署名

  • B: 自分が書いた文書に、「秘密鍵」を使った暗号を付ける。
  • A: Bの公開鍵で復号し、文書と比べる
    • 合えば、OK
    • 違えば、Bの書いた文書では無い

Webへの応用 (HTTPS)

  • SSL (Secure Socket Layer)
  • ブラウザに「認証機関」の公開鍵を持つ
  • サーバ側のBが正しいことを認める
  • 乱数で共通鍵を生成
  • Bの公開鍵で暗号化した共通鍵をサーバに送り、以後の通信を暗号化する

HTTPS (図解)

HTTPS の役割

  • サイトが本物であることの確認
    • URL が正しいことは自分で見て確認しないといけない
  • 通信の暗号化(盗聴できない)

暗号/署名メール

  • Thunderbird のアドオンとして Enigmail を入れると、OpenPGP (GnuPG) での鍵生成から暗号メールのやりとりまで、簡単にできるようになります。
  • Thunderbird へのアドオンの追加は、各自で行う必要があります。

GnuPG のインストール

Enigmail のインストール

  • 学内でダウンロード
  • Thunderbird のメニューから「ツール」⇒「アドオン」を選択
  • 「インストール」をクリックして、ダウンロードした enigmail-1.0.1-tb-win.xpi を探して、インストール
  • Thunderbird を再起動して、アドオンを有効にする
  • 以上で、Thunderbird のメニューに OpenPGP が追加されます。

設定と鍵の生成

  • 再起動した Thunderbird の OpenPGP メニューから
  • 「設定」を選ぶ。
    • GnuPG が次のようにみつかりました:C:\Program Files\GNU\GnuPG\gpg.exe と出るのを確認。
    • OK で保存
  • 「鍵の管理」を選ぶ。
    • 「生成」⇒「新しい鍵」
    • パスフレーズ(パスワードに相当)を入れて、「キー生成」をクリック(次の質問に「はい」で答える)
    • 失効証明書の生成は任意(生成した場合、証明書は安全なところに保管する)

自分宛のメールでテスト(署名)

  • 自分宛にメールを作成
  • 送信前に、OpenPGP ボタンをクリックして、「メッセージに署名」を選択
  • 送信ボタンをクリックすると、パスフレーズの入力を求めてくるので、鍵生成の際に入れたパスフレーズを入力する。
  • 受信したメールを表示すると、「署名が一致しました」と表示される。

自分宛のメールでテスト(暗号化)

  • 再度、メールを作成
  • 送信前に、OpenPGP ボタンをクリックして、「メッセージの暗号化」を選択
  • 送信する
  • 受信したメールを表示すると、パスフレーズの入力を求めてくるので、鍵生成の際に入れたパスフレーズを入力する。
  • メッセージが表示され、「メッセージを復号」と表示される

パスフレーズの入力は

  • 5分以内であれば、省略されることもある。

公開鍵を友人に渡す

  • 再度、OpenPGP メニューから
  • 公開鍵をメールで送信
    • 鍵のリストから、生成した鍵を選択し、ファイルメニューから「公開鍵をメールで送る」を選ぶ
    • メール作成ウィンドウに公開鍵が添付された状態で出てくるので、宛先・本文等を記入して送信
  • 公開鍵をファイルに書き出して友人に渡したり、自分のウェブページから誰でも取れるようにしておくことができる。(公開鍵サーバに登録することもできる)

友人の公開鍵を Enigmail に登録

  • 受け取ったメールに添付された公開鍵を右クリックしてメニューから「OpenPGP鍵を読み込む」を選ぶ
  • ウェブページからダウンロードした公開鍵はファイルメニューから「鍵をファイルから読み込む」ことができる

友人との間で暗号・署名メール

  • 自分宛に送ったのと同じようにして暗号メールを送信できる。(友人は読むときにパスフレーズが必要)
  • 友人が署名を付けて送信してきたメールは、その署名を確認することができる