JanusDG/仕様

基本コンセプト

GnuPGのGUIラッパーに徹する。

マウス操作だけでデータの暗号化、復号が可能なようにする。

GnuPGにない機能は実装しない。

暗号データの取り扱い

暗号化機能

GnuPGの非対称暗号機能をGUIから利用可能にする。暗号化に際しては必ず電子署名をつけ、データの出所を明示する。

gpg --ser fingerprint filename に相当する。

(1.0.4より電子署名はオプション化)

復号機能

上記暗号化機能(OpenPGPのサブセット)で暗号化されたデータを復号する。復号に際しては署名の検証を行い、検証結果を表示する。

gpg -d filename に相当する。

(1.0.4より署名検証はオプション化)

電子署名

GnuPGの分離署名(detatched signature)作成機能をGUIから利用可能にする。

gpg --detach-sign filename に相当する。

署名検証

上記の分離署名の検証機能を持たせる。

gpg --verify filename.sig filename に相当する。

鍵の取り扱い

鍵管理

鍵の扱いについては、GnuPGとの相互運用にはこだわらない。公開鍵暗号に初めて触れるユーザーにはGnuPGの鍵輪管理は敷居が高すぎるとここでは判断した。JanusDGでは、鍵は直接バイナリ形式でファイルとしてやり取りすることとし、信用の網モデルは採用せず、信頼の置けるルートから入手した鍵だけを利用することとする。

鍵輪

一つの鍵輪には鍵は一組(署名用鍵一つ、暗号化用鍵一つ)とし、ユーザーIDは一つだけとする。この鍵輪をバイナリ形式のままユーザー間でファイルとしてやりとりすることで鍵交換とする。ユーザーは一つ一つの鍵(輪)を個別のファイルとして管理する。

リムーバブルメディアでの運用

USBキーなどに鍵ファイルを含む暗号ソフト一式を入れ、パソコンから外して鍵のかかるケースに入れて保管できるようにする。もちろん、パソコンのハードディスク上で運用することも可能とする。

ソース公開

何はともあれ、怪しいソフトでないことを証明ために、ソースを公開する。

別にコーディングに自信があってとかそういうわけではありません。不正を企図したコードが含まれていないということだけ、読み取ってもらえればいいという主旨です。正直なところではやはり、コードを晒すというのには抵抗感があります...

その他

仔細については、GnuPGと、JanusDGのソースを基準とする。JanusDGについてはバグフィックスはするが、機能追加・削除・変更は原則として行わない。さらなる操作性向上等については、別のソフトを開発する。