暗号化でクラウドをさらに便利に

昨今はネット上でいろいろな無償サービスが提供されるようになってきました。 例えば Google,Yahoo などのウェブサービスです。 仕事やプライベートにこれらを利用している方も非常に多いと思われます。

ブックマーク管理や電子メールだけでなく,ワープロや表計算までオンラインで出来るようになりましたが, そこに秘密の情報(例えばますます増えるIDとパスワード)を記した文書やメモを保存しておこうとする人は, まともな神経の持ち主ならば,まだほとんどいないでしょう。

根本的な障害は,近ごろ進んできたウェブサービスでの通信の暗号化ではなく,相手が全面的に信用できない(営利目的でサービスを提供している外部企業である)ことです。

解決策の1つとして,自分自身や自分の会社でオンラインメモやストレージのようなサービスを提供してしまうことが考えられます。 これならば保管を任せる相手は信用できますが,しかし,サービスの維持という負担が大きくのしかかりますし, 品質もメジャーなウェブサービスのそれより落ちるでしょう。 よって,外の人が親切にも24時間365日ほぼ落ちることなく動かし続け,迅速な障害対応まで行ってくれ,なおかつ無償だというサービスを, なんとか活用できる手を探したいところです。

おすすめの解決策は,クライアント側(ユーザ側)で内容を暗号化してしまってから通信することです。 そうすれば,通信経路の第三者だけでなく,保管をお願いする相手も内容を知ることはできません。 古典的には,オンラインストレージにパスワード付きzipファイルを保存するという利用法がこれに当たります。 ただ,ほとんどテキストベースであるウェブサービスにて,いくらzipがどこでも使える形式だからといって, メモの保管にパスワード付きzipを経由するのは手間がかかりすぎます。

そこで,JavaScriptを使ってウェブサービスでの入力フォームをさらっと暗号化しちゃうのが一番良さそうに思えます。

一例として,私が使っていたものを手直しして,(セキュリティ分野では珍しく)公開します。 選択部分のテキストをBlowfishで暗号化するブックマークレットです。 入力ボックス内のテキストを選択してこれを実行すると,その部分を暗号化/復号化して置き換えます。 選択されているのが入力ボックス内ではなく普通のページテキストの場合は,暗号化/復号化の結果がポップアップで表示されます。

これで,山ほどある○○○の番号や△△のアカウント情報を,心おきなくウェブ上のメモサービスに保存することができます。 どこからでも使えるパスワード帳の完成です。

こんな暗号化してもすぐに解かれるのではないかという懸念をお持ちの方には,こうご説明しましょう: Blowfishはファイル暗号化ソフトや暗号化通信でも用いられているアルゴリズムです。 よって十分な長さのキー(パスワード)を与えれば,その解かれにくさは,オンラインの銀行口座やショッピングと同程度です。 オンラインショッピングでの通信を信用しない人は,上のブックマークレットで機密メモを保存することも信用しないほうがよいでしょう。 逆に,オンラインショッピングを懸念無く使っている人は,このブックマークレットでの暗号化も同様に信用できるはずです。

ブックマークレットの使い方とか,Blowfishって何だとか,Greasemonkey への応用だとか,技術的な事はここには書かないので,他で調べるか個人的に訊くかしてください。 例えば,上のブックマークレットは Internet Explorer (Microsoftの情報では現在最新の IE8 も) では文字数制限のため動きませんが, IE で使うための回避策はあります。

お約束ですが,

  1. first published on 2010-06-21