GnuPGプラグインを利用したデジタルセキュリティの導入
本稿で紹介するアプリケーション群の大半はGnuPGを透過的に実行できるものであり、暗号化やデジタルセキュリティに詳しくないユーザでも使いこなすことができるはずだ。とは言うもののデータのセキュリティという観点からは、この種の知識に慣れ親しんでおくのも重要である。入門用の参考文献としては、下記のものが適当だろう。
- 「The GNU Privacy Handbook」
- 「The GNU Privacy Guard (GnuPG) Mini Howto」
- 「The Case For Email Security」
- 「A Lesson in Encryption, Part 1」
- 「A Lesson in Encryption, Part 2」
- 「A Lesson in Encryption, Part 3」
GnuPGを使用したデジタルセキュリティの導入時において最初に行うのは、GnuPG用の鍵をセットアップしておくことである。この作業が終了すると、GnuPGをサポートしたGNOMEデスクトップのアプリケーション群にて、そこで扱うメッセージ、電子メール、テキスト、ファイルに暗号化や署名を施せるようになる。
Seahorse
最初に解説するSeahorseはGnuGP操作用GUIの一種で、GnuPG鍵の生成と管理を行う目的でGNOME用に構築されたものである。これは大部分のLinuxディストリビューションのリポジトリに収録されているので、その場合はリポジトリにアクセスして必要な項目を選択するだけでインストールできるはずだ。インストールが終了すると、gEdit、Nautilus、Epiphany(Webブラウザ)用の各プラグインおよび、1つのパネルアプレットが追加される。
Seahorseの起動は、Applicationsメニューに追加されているPasswords and Encryption Keysから行う。次にKey → Create New Keyメニューをクリックして、新規PGP Keyの作成オプションを選択する。ここでは最低限、自分の名前と電子メールアドレスを入力しておく。通常の用途であれば、その他の鍵生成用オプションはSeahorseのデフォルト設定のままで問題ないはずだ。なおこのプロセスでは、秘密鍵用のパスフレーズの指定が求められる。このパスフレーズは簡単に見破られないものを選ぶ必要があるが、自分が何を指定したかを忘れてしまうと、データの復号や署名ができなくなるので注意が必要だ。パスフレーズの入力後にOKをクリックすると、鍵ペアが生成される。
生成された鍵ペアのうち、公開鍵は電子メールの署名に入れて友人に配布したり、Webサイトやブログに置いておけばいい。自分の公開鍵については、信頼できる友人に署名してもらったり、逆にそれを使って友人達の公開鍵に自分が署名するといった関係を相互に築くことで、信頼できる公開鍵の輪を広げることができる。
作成した公開鍵は、鍵サーバに登録しておくこともできる。これを行うには、SeahorseでRemote → Sync and Publish Keysを選択すればいい。
GnuPGで使う鍵の設定が終了したGNOMEデスクトップは、デジタルセキュリティに対応したワークステーションとして運用できるようになる。後述するGnuPG対応アプリケーションの操作法は、基本的に次の手順で進行する。
- 署名、暗号化、検証、復号化を施すデータを選択する
- 処理に必要な鍵(1つまたは複数)を選択する
- 自分の秘密鍵を使用する場合は、パスフレーズを指定する
テキストエディタ
Seahorseをインストールすると、gEdit用のプラグインが追加され、gEdit上でプレインテキストの暗号化、復号、署名、検証を行えるようになる。gEdit用のGnuGPプラグインを有効化するには、EditメニューにあるPreferencesを選択し、Pluginsタブに移動してText Encryptionプラグインを選択してOKをクリックする。設定の終了後に、暗号化、復号、署名を行うには、対象となるテキストを選択して、Editメニューにある暗号化オプションを指定すればいい。こうして暗号化または署名の施されたテキストについては、コピー&ペーストによって他のアプリケーションに移すことができる。
クリップボードの暗号化用パネルアプレット
Seahorseをインストールすると、Clipboard Text Encryptionというパネル用アプレットが追加されるが、これはクリップボード上のテキストを暗号化して他のアプリケーションにペーストするためのツールである。この種のツールは、例えばWebベースの電子メールクライアントで暗号化機能を使いたい場合に利用することができる。使用前の設定としては、パネルを右クリックしてAdd to Panelを選択し、Clipboard Text Encryptionアプレットを選んでAddを押せばいい。この設定の終了後、アプレットをクリックすることで、クリップボードに格納されたテキストを対象とした暗号化や署名を施すことができるようになる。また既に暗号化や署名の施されたテキストについても、同様の手順で、当該テキストの復号や検証が行える。
ファイルマネージャ
Seahorseをインストールすると、Nautilus File Manager用のプラグインも追加され、そこで扱うデータに暗号化や署名を施すメニューコマンドが利用可能となる。こうして追加されるメニューコマンドは、NautilusのEditメニューおよび、個々のファイルやフォルダを右クリックして表示させるコンテクストメニューから実行することができる。具体的に必要な操作は、ファイルやフォルダを選択してから、Edit → EncryptあるいはEdit → Signを選択するだけである。GnuPGによる処理結果は新規ファイルとして出力されるが、暗号化したファイルには.pgpという拡張子が、署名したファイルには.sigという拡張子が付けられ、また暗号化していないオリジナルのファイルは元のまま残される。
.sig拡張子の付けられた署名ファイルを検証するには、右クリックしてOpen with Verify Signatureを選択すればいい。同じく.pgp拡張子の付けられた署名ファイルを復号化するには、右クリックしてOpen with Decrypt Fileを選択する。なお旧バージョンのNautilusプラグインでは、最後のオプションが表示されないことがある。その場合はOpen With → Open with Other Applicationを選択し、Open with Custom Commandオプションをクリックして表示されるテキストフィールドに「seahorse-tool -d
」と入力しておく。この設定後に暗号化されたファイルを右クリックすると、コンテクストメニューにOpen with seahorse-toolというアイテムが追加されるはずで、このオプションをクリックすればファイルを復号できるようになる。
Webブラウザ
Seahorseのインストールでは、Epiphany Webブラウザ用のGnuPGプラグインも追加される。このプラグインを使用すると、Webページ上のテキストフィールドで暗号化や署名を施せるようになるが、Tools → ExtensionsメニューからSeahorse機能拡張を選択できるようにするには、あらかじめepiphany-extensionsをインストールしておく必要がある。その後テキストフィールド内部で右クリックをすると、コンテクストメニューに暗号化オプションが表示される。その他FireGPGアドオンを利用すると、Firefoxで表示したWebページにあるテキストフィールドでも暗号化や署名を直接施せるようになる。この場合の操作法も、テキストフィールド中で右クリックしてFireGPGサブメニューに表示される暗号化オプションを選択するだけである。これらのツールは、GmailやYahoo! MailといったWebベースの電子メールクライアントでGnuPGを利用したい場合に重宝するだろう。
電子メール
電子メールクライアントにおけるGnuPGのサポートレベルは、かなりのレベルに達している。例えばThunderbirdの場合は、自己完結したGnuPGのフロントエンドとして機能するEnigmailアドオンをインストールすることで、GnuPGをサポートできる。その他にBalsaやClawsなどの電子メールアプリケーションもGnuPGをサポートしている。
インスタントメッセージ
Psiはクロスプラットフォーム型のJabberクライアントであり、GnuPGを利用した暗号化通信をサポートしている。同じくGabberというJabberクライアントでもGnuPGを使用できる。またPidgin(旧Gaim)の場合は暗号化プラグインとOTRプラグインが用意されており、これらを使うことでインスタントメッセージの通信を暗号化することができるが、どちらもGnuPGとは異なる方式が使われている。
その他のプラットフォームでのGnuPGの対応状況
署名や暗号化を施したデータを受け取る側の人間は、必ずしもLinuxをメインのオペレーティングシステムに使っているとは限らない。もっともGnuPGはWindowsおよびMac OS Xでも実装されており、またこれらのデスクトップ上でGnuPGによるデータ処理をするためのアプリケーションやプラグインも各種作成されているので、プラットフォームの違いが特に問題となることはないはずだ。
まとめ
GNOMEデスクトップには、プラグインまたはビルトインの形式でGnuPGをサポートしたアプリケーションが多数用意されており、デスクトップ環境にデジタルセキュリティを導入する作業が簡単に行えるようになっている。また本稿で紹介したGnuPG対応アプリケーションの大半については、KDE用の同等品が作成されていることも付け加えておこう。このようにLinuxデスクトップは、デジタル世界で交換されるデータや通信をセキュリティ保護するためのツールに関して、非常に恵まれた状況に置かれていると評していいだろう。
Peter Enseleitはオーストラリア出身のソフトウェア開発者であり、Linuxの使用歴は8年以上に及んでいる。