Cryptocatの作者であるNadim Kobeissi氏が、またもや使いやすい暗号化ツールを発表しました。今回はChromeアプリで、暗号化されたファイルを簡単に作成し、他のユーザーと共有できるようにしています。「miniLock」と呼ばれるこのアプリは、Chromeウェブストアから無料で入手できます。
他の暗号化ツールと同様に、miniLockは公開鍵暗号方式を採用しています。この方式では、公開鍵を他のユーザーと共有することで、自分だけがアクセスできるファイルを暗号化することができます。しかし、多くの暗号化ツールは操作が難しいことが多いのに対し、miniLockは非常に使いやすく、暗号化ツールにありがちな煩わしさを大幅に軽減します。
miniLock IDと呼ばれる公開鍵自体は、約45文字と比較的短いです。miniLockのサイトによると、ツイートに簡単に収まる長さです。しかし、覚えるには長すぎるので、書き留めるか、LastPassやKeePassなどのパスワードマネージャーに保存する必要があります。
miniLockは暗号化にCurve25519楕円曲線暗号を使用しています。これはKobeissiのCryptocatで使用されているものと同じです。しかし、暗号化ツールの問題は、暗号化の強度ではなく、実装の質にある場合が多いです。
miniLockのウェブサイトでは、侵入テスト会社Cure53による最新のminiLockセキュリティ監査レポートをご覧いただけます。このレポートでは、miniLockに問題がないと評価され、「MiniLockは暗号化という特定の機能のみを提供する単一目的のアプリであり、その機能を可能な限り適切に実行しているようです…コードはしっかりと整理され、構造化されており、最小限に抑えられているため、直接的な悪用を許すような隙はありません」と述べられています。
しかし、これはあくまでも一つの報告に過ぎず、他のユーザーもminiLockに熱中し、エクスプロイトを見つけようとすることは間違いありません。暗号化技術の品質を判断することはこの記事の範囲を超えています。しかし、miniLockはまだ新しいアプリであるため、政治的抑圧や企業秘密といったリスクの高い環境で文書を暗号化する人にとっては、まだ最適な選択肢ではないかもしれません。とはいえ、セキュリティコミュニティが今後miniLockについてどのような発言をするか、注視していく価値は十分にあります。
すぐに使ってみたいという方のために、Windows 8.1 PC で miniLock を簡単に試す方法をご紹介します。
IDの生成

公開鍵が生成された後、miniLock を実行します。
始めるには、Chrome ウェブストアにアクセスし、他の Chrome アプリと同じように miniLock をインストールしてください。インストールが完了したら、Chrome ウェブストアから直接起動するか、タスクバーの Chrome アプリランチャー(インストール済みの場合)から起動できます。
miniLockを起動すると、メールアドレスとパスフレーズでサインインするよう求められます。この2つの情報を使ってminiLock IDが生成されますが、これは1~2秒ほどで完了します。
私のテストでは、miniLockはパスフレーズに関してかなり厳格でした。大文字、小文字、数字、特殊文字を組み合わせた10文字のランダム生成パスフレーズを試してみました。私から見ればかなり強固なパスワードですが、miniLockにとっては十分な強度ではありませんでした。
代わりに、アプリは自動生成されるパスフレーズ(辞書に載っているランダムな単語の羅列)を使うように提案しました。私は簡単にするためにminiLockが生成したパスフレーズを使用しましたが、自分で作成することもできます。ただし、覚えやすく、忘れないようなユニークなパスフレーズにしてください。そうでない場合は、パスワードマネージャーに保存することが重要になります。他の暗号化ツールと同様に、パスフレーズを紛失すると、そのminiLock IDで送信されたファイルのロックを解除できなくなります。
miniLock IDを取得したら、ぜひ多くの人にシェアしてください。このセクションの一番上にある写真が私のIDです。
暗号化
このファイルは暗号化の準備ができています。
独自のIDを設定したら、ファイルを暗号化して動作を確認してみましょう。言うまでもありませんが、万が一何か問題が発生した場合に備えて、テストファイルは暗号化されていない状態でバックアップしておいてください。
ファイルを選択するには、miniLockウィンドウのファイルドロップエリアをタップするか、ファイルエクスプローラーからファイルをドラッグしてminiLockウィンドウにドロップします。暗号化するファイルが見つかると、miniLockウィンドウが反転し、最大4つのminiLock IDを入力できるスペースが表示されます。
デフォルトでは、ファイルを暗号化するユーザーであるため、あなたの miniLock ID が一番上に表示されます。
その下には、ファイルを暗号化する相手を3人追加するオプションがあります(ただし、その人のminiLock IDを知っていることが前提です)。このファイルを1人に送信し、自分はアクセスしたくない場合は、miniLock IDの右端にある「X」を押してキーを削除できます。
送信内容を秘密にしておきたい場合は、miniLock のファイル名の下にランダムなファイル名を作成するオプションもあります。
受信者全員のIDが準備できたら、ウィンドウ下部の矢印をタップして暗号化を開始します。ファイルのサイズによっては、完了までに数秒から数分かかる場合があります。
完了すると、ファイル名の下に小さな文字で「暗号化されたファイルの準備ができました」と表示されます。次に、ファイル名をクリックして、Chromeのダウンロードマネージャー経由でファイルをPCに保存します。
暗号化されたファイルができたので、電子メール、インスタント メッセージ、USB キー、Facebook など、お好きな方法で対象の受信者に送信できます。選択肢は無限にあります。
復号化
ファイルの復号は暗号化よりもさらに簡単です。miniLockで暗号化されたファイルをメールなどで受け取り、PCのどこかにダウンロードして、miniLockウィンドウにドロップするだけです。miniLockにサインインしていて、ファイルがminiLock IDで暗号化されている限り、ファイルは自動的に復号されます。その後、暗号化されたファイルと同じ方法でPCに保存できます。
miniLockの機能については以上です。唯一の欠点は、アプリを開くたびにサインインする必要があることです。MiniLockはユーザーセッション間でログイン情報を保存しません。
これは、ユーザーのプライバシーを保護するための意図的な選択だったと思われます。攻撃者が物理的にマシンにアクセスしても、復号されたファイルを閲覧できないようにするためです。しかしながら、常時ログインは一部の人にとってはデメリットとなる可能性があります。
全体的に見て、miniLockは非常に使いやすく、そのワークフローは一般ユーザー向けの暗号化ツール開発のテンプレートとなるはずです。暗号化自体の品質については、ここでは判断できませんが、近いうちに他の開発者がこの点について言及してくれると確信しています。