English, Japanese

EasyPG with dired
[大きい画像はここをクリック]

EasyPG は Emacs 用の統合型 GnuPG インターフェイスです。EasyPG には Emacs から GnuPG を使うための便利なツール群 (EasyPG Assistant) と、Emacs Lisp から GnuPG の機能を利用するためのライブラリ (EasyPG Library) の 2 つの側面があります。

必要なもの

特長

EasyPG Assistant には以下の特長があります。

EasyPG Library には以下の特長があります。

ダウンロード

最新版は epg-0.0.16.tar.gz です。 (PGP 署名)

過去の版は http://sourceforge.jp/projects/epg/files/ から取得できます。

補助ツール

他のアプリケーションと連携して使うためのツールが http://sourceforge.jp/projects/epg/files/ から取得できます。

セキュリティ

Emacs の周辺にはセキュリティ上の落とし穴があります。

一時ファイルへのパスフレーズの漏洩

関数 call-process-region はリージョン内のデータを一時ファイルに書き出します。パスフレーズの送信に call-process-region を使う PGP ライブラリでは、署名の作成や復号のたびにパスフレーズがファイルシステムに漏れてしまう危険性があります。

EasyPG ライブラリは gpg との通信に call-process-region を使いません。

core ファイルからのパスフレーズの盗難

Emacs がクラッシュして core を吐くと、メモリ上の Lisp 文字列が core ファイルに吐き出されます。read-passwd 関数はパスフレーズの一部を含む文字列を (fillarray string 0) で塗り潰し、core ファイルにパスフレーズが漏洩するリスクを避けています。 しかし、Emacs は GC の sweep 段階で compaction を行なうので、もし fillarray の前に GC が起きると、文字列はメモリ上の別の場所に移動されるかもしれません。そういうわけで、elisp でパスフレーズを長時間記憶しておくのは一般に悪い考えです。

EasyPG ライブラリはパスフレーズをキャッシュする仕組みをあえて設けていません。幸いなことに、もっと安全にパスフレーズをキャッシュする方法があります。gpg-agent を使いましょう。

リソース


SourceForge.jp
Copyright (c) 2006-2009 Daiki Ueno
$Id: index.html.ja,v 1.61 2010-01-30 07:58:47 ueno Exp $