Ubuntu Weekly Recipe

第211回 メールをGnuPGで暗号化する

この記事を読むのに必要な時間:およそ 3 分

Sylpheed

軽量で使いやすく,Lubuntuの標準のメーラーになったSylpheedは,標準でPGP/MIMEの送受信に対応しています。鍵についても,何も設定しなくてもホームディレクトリの鍵を使用してくれますので,起動するだけで簡単に暗号化メールを送受信できます。

暗号化メールの送信

署名や暗号化は,メールの作成ウィンドウを開いて,⁠PGP署名」⁠PGP暗号化」にそれぞれチェックを入れるだけです。これだけで,メール送信時にPGP/MIMEにしてくれます。SylpheedもISO-2022-JPのテキストをそのまま暗号化しますが,こちらはEnigmailと異なり暗号化本文の方にContent-Typeで文字コードを指定するようです。

図4 Sylpheedはウィンドウに署名・暗号化チェックボックスがある

図4 Sylpheedはウィンドウに署名・暗号化チェックボックスがある

「設定→現在のアカウントの設定」の個人情報タブを開けば,⁠暗号化にASCII包装形式を使用する」にチェックを入れることでインラインPGPで送信できます。ただし,この設定は推奨されない旨のダイアログが出ます。

暗号化メールの復号

PGP/MIMEのメールで,鍵をもっていれば,添付ファイルも含めて自動的に復号してくれます。インラインPGPには未対応ですが,アクションを設定することで対応可能です。⁠設定→アクション」から,署名確認用と復号用の2つのアクションを入力します。

メニュー名:署名確認
アクション:gpg --no-tty --verify %p

メニュー名:復号
アクション:* gpg --no-tty --command-fd 0 --passphrase-fd 0 --decrypt %p | nkf -w |

復号アクションでは文字コードを自動判別しUTF-8に変換するためにnkfコマンドを使っていますので,nkfパッケージをインストールしておいてください。

これで復号したいインラインPGPメールを開いた状態で,⁠ツール→アクション→復号」を選べば,パスフレーズ入力後に復号されたメールを閲覧できます。nkfで文字コードを自動判別させているので,cr-gpgからの暗号化メールでも文字化けすることなく読めます。

図5 PGP/MIMEなので,添付ファイル扱いになっている

図5 PGP/MIMEなので,添付ファイル扱いになっている

Chromium/cr-gpg

GMailを常用していると,ブラウザーからメールの暗号化や復号はできないかと思うことがあるでしょう。

過去にFireGPGというGMailインターフェースにも対応したFirefox向けアドオンが存在したのですが,現在は開発を終了しています。

しかし昨年,cr-gpgというGMailにも対応したChromium向けの拡張機能が登場しました。まだアルファ版ではあるものの,これを使えばブラウザー上のGMailからでも,メールの暗号化や復号ができます。

まずはサイトからcrxファイルをダウンロードしてChromiumにインストールしてください。また,現在は英語版のGMailインターフェースしか対応していません。GMailの設定画面から「表示言語」「English(UI)」に変更しておいてください。

暗号化メールの送信

暗号化はメールの作成画面で相手のメールアドレスを入力した状態で,本文の入力ボックスの上にある"Encrypt Message"をクリックするだけです。ちなみに,一度クリックすると元に戻せなくなるので,メールを送る直前にクリックするようにしましょう。あとは普段と同様に送信するだけです。

形式はインラインPGPで,文字コードはUTF-8として送られます。このため,Thunderbird/Enigmailでは文字化けしますので注意してください。ただし,データその物が文字化けしているわけではないので,Sylpheedのように別途GPGコマンドで復号して,普通のテキストエディタで閲覧すれば問題なく内容を確認できます。

図6 一度暗号化するとこのように編集できなくなってしまうので注意が必要

図6 一度暗号化するとこのように編集できなくなってしまうので注意が必要

暗号化メールの復号

署名・暗号化されたメッセージを受信した場合は,返信ボタンの隣に復号用の鍵ボタンと,署名確認用のチェックボタンが現れます。ここで,鍵ボタンを押せばパスフレーズを入力して復号できます。

こちらも対応しているのはインラインPGPだけです。PGP/MIMEなメールは,cr-gpgのインターフェースでは復号できません。個々のパートをダウンロードして復号する必要があります。また,Enigmailが送ってくるインラインPGPはISO-2022-JPになるので,これも復号すると文字化けします。

図7 鍵アイコンをクリックするとパスフレーズが問われる

図7 鍵アイコンをクリックするとパスフレーズが問われる

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。