11月の技術講座

2014-11-08

テーマ: OpenPGP鍵署名の会合

開催日時 2014年11月25日(火曜日)18:30 〜 19:30

場所:東京体育館第四会議室

GnuPG (GNU Privacy Guard)の新しいバージョン 2.1.0がリリースされました。

この機会に、EZKSP (Easy KeySigning Party Protocol)による鍵の署名の証明のための情報交換をします。

概要

OpenPGP鍵署名の会合を行います。

時間が余ればGnuPG の開発に参加している g新部が、いくつかの話題を紹介します。

EZKSP (Easy KeySigning Party Protocol)

今回の集まりでは EZKSP による鍵の署名の証明のための情報交換をします。

近年、よく行われるKSP(Key Signing Party)のプロトコルでは、コーディネータによる的確な事前の準備が必要であり、また、参加者もファイルを事前に入手し印刷しチェックサムを計算しておく必要があります。

これには、厳格に手順が定まっていてKSPの評価がしやすく手間も減らせてきちんと確認ができる、という利点がありますが、準備が必要なこと、飛び入り参加の扱いが難しい、などの問題があるかもしれません。

今回のプロトコルは、わかりやすく、大人数でなければ手間もさほど問題にはなりません。

EZKSP に持ってくるもの

  • 自分の鍵の情報の紙: 鍵のID、名前、フィンガープリントを印刷した紙(の短冊)を想定される人数分 たとえば、以下のようです(gpg --list-key --fingerprint <自分の鍵ID> の出力):

    pub   2048R/4CA7BABE 2010-10-15
          Key fingerprint = 1241 24BD 3B48 62AF 7A0A  42F1 00B4 5EBD 4CA7 BABE
    uid                  NIIBE Yutaka <gniibe@fsij.org>
    uid                  NIIBE Yutaka <gniibe@debian.org>
    sub   2048R/084239CF 2010-10-15
    sub   2048R/5BB065DC 2010-10-22
    
  • 自分の名前を証明するもの。User ID に英字を使っている場合はパスポート。

今回のEZKSP (前提)

今回は鍵サーバの利用をデフォルトとします。

  • 鍵サーバに鍵があることが前提
  • 署名した鍵を署名した人が送信することが前提

この前提を選択しない場合は、相手にその旨を伝えて、鍵を相手にメールで送付してください。

EZKSP のやり方(事前準備)

  • 持っていない場合は、鍵を作っておく。(gpg --gen-key)
  • 自分の鍵の情報の紙を印刷する。

EZKSP のやり方(現場)

だいたいのやりかた:

  • 机の回りにそれぞれ並びます。向き合った二人の優先順位(東が先とか)を決めておきます。
  • 自分の鍵と自分の名前を結びつけてもらうため、まず、自分の鍵の情報の紙を渡します。
  • 次に、自分の名前をパスポート(などで)確認してもらいます。
  • 相手の鍵に対して同じように。
  • 違う人とこれを繰り返します。

「違う人とこれを繰り返す」のをシステマチックにもれなく全部効率よくやる場合は、参加者の半分のグループがひとつ隣に動く、というようにし、それで、その方法での組み合わせがすべて終わったら、再帰的に半分のグループのメンバー同士で同じように繰り返します。

EZKSP のやり方(現場での情報交換が終わった後)

  • 鍵サーバから鍵のIDで鍵を入手します。(あるいはメールで送ってもらいます)
  • 現場でもらった紙と情報を確認します。(鍵のID、名前、フィンガープリントの一致) (一致しない場合は署名しません。)
  • 署名します。(gpg --sign-key)
  • 相手に(gpg --encrypt --armor で)暗号メールを作成して送るか、(gpg --send-keys で)鍵サーバに署名した鍵を送ります。

リンク