サイトマップ
最近の更新
2018-09-12

DokuWiki gpgプラグイン - Wikiテキストを暗号化して保存する

注意 このプラグインは実験的な実装です。ある程度実用的には作られていますが、今後の保守および利用によって発生する損害をなんらの保証をするものではありません。

概要

DokuWikiの文書をGnuPGの対称暗号(秘密鍵暗号)を使って暗号化して保存し、パスワードによって解読します。 近年不逞なクラッカー集団を名乗る人たちが、サーバクラッキングで世間を騒がせています。 善意の人々はなんとかそういう魔の手から逃れようと工夫を重ねていますが、なかなか完全に対応しきれないのが実情です。

だからといってあきらめてはいけません。 近年の大規模なクラッキングの手法は、サーバ側に侵入し、その中の情報を根こそぎ盗っていくというものです。 そういえば、長さんも言ってました。 「いいか、青島。サーバに置いてある瞬間が一番危ないんだ。」(←嘘です) だとすれば、サーバに置いてある状態のデータを保護してやることが身を守るための1つの手段となります。

そのような理由で、便利なDokuWikiもサーバ上には生データがそのまま置かれるのはいただけないので、暗号化した状態で置けるようにしたらどうだろうというのがこの実験の試みです。 もちろん、そんな機密情報をWikiに書くなよというツッコミがあることは承知の上です。 ですが、イントラネット向けの使用なら、そういうことをするのもありではないかと考えました。

そして、作ってみて思ったことは、これは個別にIDを発番するほどではない仲間内のみに公開したいような文書、たとえばイベントや旅行の案内だとか、フォトアルバムだとかに使えるではないか、と。話は長くなりましたが、そういった理由で公開することにいたしました。

インストール

アーカイブファイルをダウンロードし、DOKU_ROOT/lib/plugins/の下で展開してください。以下のファイルが展開されます。

ファイル 説明
gpg
conf
default.php 設定のデフォルト値
metadata.php 設定値の編集時の型
lang
en
lang.php 英語の言語ファイル
ja
lang.php 日本語の言語ファイル
images
lock.png 編集画面のツールバーアイコン
COPYING ライセンス
action.php action処理プログラム
helper.php helper処理プログラム
plugin.info.txt プラグインの情報
script.js JavaScriptプログラム
style.css スタイルシート
syntax.php syntax処理プログラム

設定

  • 管理画面の”plugin gpg program”でgpgプログラムの場所を指定してください。標準では”/usr/local/bin/gpg”となっています。

使い方

編集画面での暗号化

  1. 対象とする文書を暗号化して保存するには、Wiki編集画面でツールバーのgpg鍵アイコンをクリックしてください。
    鍵アイコン
  2. 暗号化用パスフレーズの入力ダイアログが現われますので、適当なパスフレーズを入力して[OK]ボタンをクリックしてください。[キャンセル]ボタンをクリックすると暗号化を中止します。
    パスフレーズ入力ダイアログ
  3. 次に上記パスフレーズの確認ダイアログが現われますので、同じパスフレーズを入力して[OK]ボタンをクリックしてください。[キャンセル]ボタンをクリックすると暗号化を中止します。
    パスフレーズ確認ダイアログ
  4. 編集テキストエリアの内容は暗号化後に<gpg>..</gpg>で囲まれます。テキストエリアはロックされ、編集できなくなります。この状態で保存ボタンを押して文書を保存してください。
    暗号化された文書

編集画面での解読

  1. 既に暗号化されて保存されている文書を編集画面を開くと、パスワード入力のダイアログが開きます。
    解読パスフレーズ入力ダイアログ
  2. ここで正しいパスフレーズを入力して[OK]ボタンをクリックすると、テキストが解読されて編集可能となります。[キャンセル]ボタンをクリックすると編集を中止します。
  3. 鍵アイコンをクリックして暗号化したものを、もう一度鍵アイコンをクリックしてパスフレーズを入力すれば元に戻すことができます。

閲覧

  1. 暗号化された文書はそのままでは表示されず、パスフレーズの入力フォームのみが表示されます。
    パスフレーズの入力フォーム
  2. 正しいパスフレーズを入力すると、保存された文書が解読・レンダリングされて表示されます。
    解読された文書

文書の共有

  1. DokuWikiはIDによる素晴らしいアクセス制御機構を持っていますが、単一の文書を特定の人たちにだけ見せたい場合に、逐一IDの発番とアクセス制御の設定を行うことは現実的とはいえません。
  2. そこで、この仕組みを使えば、共通のパスフレーズのみで仲間内だけで見られるページが作成できます。
  3. ちょっとした会合や旅行の案内、フォトアルバム等のコンテンツの閲覧を制御できるようになります。

検索・タグ

  1. 当然ですが、暗号化された文書の検索もタグ付けもできません。

利用上の注意

  • パスフレーズはサーバ上には保存されません。万が一間違えてセットしてしまったとか忘れてしまったとかでも復元は難しくなります。
  • 暗号化・解読はサーバ側で行うため、コンテンツもパスフレーズも生のまま通信路上を通ることになります。安全でない通信路上での使用はお勧めできません。
  • プラグインの中には、自前のメタ情報をページ情報以外の場所に保存するものがあります。そういうメタ情報はこの仕組みでは安全ではありませんので、そういうプラグインによる拡張記法は避けてください。よくわからない場合は、DokuWikiオリジナルの表記法のみを使ってページを記述するようにしてください。
  • 一度でも暗号化しないで保存したページは、履歴として残されるため、安全ではありません。一旦暗号化して保存すると決めたページは、一貫して常に暗号化保存をするように心がけてください。なお、履歴の削除はサーバ側で行う必要があります。

利用環境

  • DokuWiki本体
  • GnuPGプログラム
  • FireFox4, Internet Explorer 6.0/7.0 on Windowsにて動作確認済。

ライセンス

ダウンロード

コメント

お名前
メッセージ
 
plugin/gpg.txt · 最終更新: 2011/06/26 17:21 by Kazuyuki Matsuda
特に明示されていない限り、本サイトの内容は次のライセンスに従います:Copyright(C) 2011 Shorindo, Inc. All Rights Reserved
Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki