.

.

東京エリア Debian 勉強会
資料.
岩松 信洋 iwamatsu@debian.or.jp
IRC nick: iwamatsu

2009 年 9 月 16 日

.

.
..

設営準備にご協力くださいAgenda

注意事項
特になし

最近あった Debian 関連のイベント報告
前回の勉強会

GPG キーサインパー
ティの説明
GPG キーサインパー
ティを楽に済ませるた
めのツール caff の紹介
キーサインパーティ

2009 年 8 月

注意事項
飲食禁止

最近あった Debian 関連のイベント報告
前回の勉強会

Debian JP Project 会長就任の挨拶
Debconf9 報告会
夏休みの宿題Hack Cafe

毎週水曜日、週に一回東京のどっかのカフェでハック。
http://twitter.com/debian_hackcafe
関西でも始めたようです。
(今日は Hack Cafe も兼ねています。)

2009 年計画..1. 新年の企画 (アンサンブル荻窪開催)..2. OSC TokyoVAIO P インストール記録、カーネル読書会 ディストリビューション大集合 (小..3. 林さん)(東京大学?)..4. Git Handson (岩松)(あんさんぶる荻窪?)..5. 家 Debian サーバ vs 職場のネットワーク (千代田区都立図書館?1 )..6. DDTSS..7. スペインにて開催..8. Debconf 報告会..9. Asterisk (東京大学?)、udev + HAL..10. OSC Fall? (10 月 30・31 日)..11. 3D graphics 開発..12. Debian サーバ+VMware + 各種 OS、他の仮想化ツール (vserver etc.)、忘年会

1

http://www.library.chiyoda.tokyo.jp/

GPG キー
サインパー
ティの説明

なぜキーサインするのか？

なぜキーサインするのか？

リア充

なぜキーサインするのか？

PGP/GnuPG は認証局がないので、自分が相手を信頼するしかない。
キーサインパーティを行って、PGP/GnuPG の公開鍵をソーシャルな情報とともに交換し、信頼の輪 (web oftrust) を広げる。

使いどころフリーソフトウェア開発者の場合アカウント作成時のチェックに使ったり。（インターネット上での存在を示す。）
ソフトウェアのリリース時に使ったり。

Debian ではパッケージへの署名、投票などに使う。

ユーザの場合は？

メールへの署名／暗号化に利用。

Debian 開発者になるための通過儀礼。

ユーザの場合は？

Linux カーネルのリリースチェック。ちゃんと Linus がタグを打っているのか！
$ git tag -v v2.6.31
object 74fca6a42863ffacaf7ba6f1936a9f228950f657
type commit
tag v2.6.31
tagger Linus Torvalds <torvalds@linux-foundation.org> 1252534447 -0700
Linux 2.6.31
gpg: 2009 年 09 月 10 日 07 時 14 分 11 秒 JST に DSA 鍵 ID 76E21CBB で施された署名
gpg: 署名を検査できません: 公開鍵が見つかりません
error: could not verify the tag ’v2.6.31’

ユーザの場合は？

身近なところでは、改竄のチェックにつかう。Debian の場
合は secure-apt で使われている。
# apt-get update.....
W: GPG error: http://cdn.debian.or.jp testing Release: The following
signatures couldn’t be verified because the public key is notavailable: NO_PUBKEY 9AA38DCD55BE302B

ユーザの場合は？

# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 9AA38DCD55BE302B# gpg --armor --export 9AA38DCD55BE302B | apt-key add # apt-get update.....
Fetched 2B in 1s (1B/s)
Reading package lists... Done

エラーがでなくなった！これで大丈夫です！(って書いてある Web サイト多いよね。)

ユーザの場合は？

じゃなくて、ちゃんと鍵と信頼度をチェックしましょう。
鍵のチェックをするには、Web Of Trust に入らないとできない。

チェックする簡単な方法

9AA38DCD55BE302B の鍵に署名している人は以下のとおり。

pub 4096R/55BE302B 2009-01-27
uid Debian Archive Automatic Signing Key (5.0/lenny) <ftpmaster@debian.org>
sig sig3 55BE302B 2009-01-27 _____ 2012-12-31 [selfsig]
sig sig
7E7B8AC9 2009-01-27 _____ __________ Joerg Jaspert <joerg@debian.or
sig sig
D0EC0723 2009-01-27 _____ __________ Mark Hymers <mhy@debian.org>
sig sig
BE9BF8DA 2009-01-27 _____ __________ Mike O’Connor (stew) <stew@vir
sig sig
30B94B5C 2009-05-24 _____ __________ ******** (imacat) <imacat@mail鍵のチェック$ gpg --keyserver pgp.mit.edu --recv-keys 55BE302B$ gpg --list-sig 55BE302B
pub
4096R/55BE302B 2009-01-27 [満了: 2012-12-31]
uid
Debian Archive Automatic Signing Key (5.0/lenny)<ftpmaster@debian.org>
sig
7E7B8AC9 2009-01-27 [ユーザー ID が見つかりません]
sigD0EC0723 2009-01-27 [ユーザー ID が見つかりません]
sig
BE9BF8DA 2009-01-27 [ユーザー ID が見つかりません]
sig
30B94B5C 2009-05-24 [ユーザー ID が見つかりません]
sig 3
55BE302B 2009-01-27 Debian Archive Automatic Signing Key (5.0/le

だれともサインしていないようです。

trust path finder
しかし Web of Trust なので、信頼のパスが使える。
trust path finder を使うと、信頼のパスが分かる。
http://pgp.cs.uu.nl/mk_path.cgi

Joerg と岩松の trust path

他の人を介して、Web of Trust がつながっていることが分GPG キーサインパー
ティを楽に済ませるためのツール
caff の紹介

相手に鍵を送るまでがキーサインパーティです

相手に鍵を送るまでがキーサインパーティです。ちゃんと相手に署名した鍵を送りましょう。

キーサインの流れgpg のコマンドでやった場合$ gpg --keyserver pgp.mit.edu --recv-key 40AD1FA6$ gpg --fingerprint 40AD1FA6$ gpg --edit-key 40AD1FA6$ gpg --sign-key 40AD1FA6$ gpg --check-sig 40AD1FA6$ gpg --export -a 40AD1FA6 > iwamatsu.gpgkey$ iwamatsu.gpgkey を 相手にメールに 署名+暗号化して送信数人ならいいけど、100 人とかやってられん！

そこで caff の登場

インストール

caff は signing-party パッケージで提供されている。
$ sudo apt-get install signing-party

初期化

caff を使うための初期化を行う。caff を一回実行すると、初期ファイルを作成してくれる。
$ caff.......
##Regards,#{$owner}#EOM
Please edit /home/hoge/.caffrc and run caff again.

caff の設定
˜/.caffrc にある 設定ファイルを修正する。
$ cat ~/.caffrc$CONFIG{’owner’} = ’Nobuhiro Iwamatsu’;$CONFIG{’email’} = ’iwamatsu@debian.org’;$CONFIG{’keyid’} = [ qw{4121C7433170EBE9 32247FBB40AD1FA6} ]# Additionally encrypt messages for these keyids$CONFIG{’also-encrypt-to’} = [ qw{4121C7433170EBE9 32247FBB40AD1FA6} ]# Mail template to use for the encrypted part
$CONFIG{’mail-template’} = << ’EOM’\maketitle#Hi,please find attached the user id{(scalar @uids >= 2 ? ’s’ : ’’)}
{foreach $uid (@uids) {$OUT .= ‘‘\t’’.$uid.’’\n’’;};}of your key {$key} signed by me.
......

caff の設定

caff のデフォルトの設定では、cert-digest-algo が SHA1 になっているので、2 SHA512 に設定する。
$ mkdir -p ~/.caff/gnupghome$ chmod 700 ~/.caff/gnupghome$ cat >> ~/.caff/gnupghome/gpg.conf
cert-digest-algo SHA512
personal-digest-preferences SHA512
EOF

2

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=527944

ローカル SMTP の設定

ローカル（作業するマシン）の SMTP を設定しておく必要がある。

caff を使った署名署名する ID をキーサーバから取得し、指定した自分の IDで署名してくれる。そして、署名した鍵を暗号化して送信してくれる。
$ caff -u 自分の ID 署名する ID .......

署名完了後

署名後のデータは ˜/.gnupg/pubring.gpg ではなく、˜/.caff/gnupghome/pubring.gpg に格納される。この鍵束を ˜/gnupg/pubring.gpg に 取り込む。
$ gpg --import ~/.caff/gnupghome/pubring.gpg

取り込んだら、自分の鍵をキーサーバに送信。
$ gpg --keyserver pgp.nic.ad.jp --send-keys 自分の ID$ gpg --keyserver pgp.mit.edu --send-keys 自分の IDキーサインパーティ

キーサインパーティ

みんなで sha256 ハッシュをチェックしましょう。

キーサインパーティ

7be4 db5f 8cef 8aa5
70d8 f3ac b564 8d7def81 739e 6298 1b5b004a a646 44ab 00a7

キーサインパーティ

Enjoy GPG Key Signing Party!