「AES-256」は、スキンケア製品に「臨床試験済み」と書かれているのと同じように、セキュリティページに登場します。説明というよりバッジです。それを読む人のほとんどは、それが実際にファイルに何をしているのか、なぜ256という数字が肝心な部分なのかを問うたことがありません。理解しておく価値があります。なぜなら、本物の暗号化された保管庫と、鍵のアイコンが付いているだけのフォルダとの違いは、たいていまさにここに行き着くからです。

AES-256とは実際に何か

AESはAdvanced Encryption Standard(高度暗号化標準)の略で、秘密鍵を使って読み取り可能なデータを読み取れないデータに変換し、また元に戻すための特定のアルゴリズムです。2001年に米国国立標準技術研究所(NIST)が公開コンペを経て選定したもので、現在では世界中のパスワードマネージャー、メッセージアプリ、VPN、ファイルボールト(Vaultineを含む)を支えるデフォルトの暗号化アルゴリズムになっています。

「256」は鍵の長さをビット単位で表したものです。AESには128ビット版と192ビット版もあり、この3つはすべて同じ基本アルゴリズムを使い、鍵のサイズと内部処理のラウンド数がわずかに異なるだけです。AES-256で暗号化されたファイルは、256ビットの鍵を使ってそのラウンドを経て処理され、出力は暗号文になります。同じ鍵で処理を逆転させない限り、サイズのパターンを除けば、元のファイルの内容について何も明かさないバイト列の並びです。

なぜ256ビットという数字が重要なのか

256ビットの鍵には2の256乗通りの値があります。この数はあまりに日常の感覚とかけ離れているため直感的に捉えるのは難しいのですが、よく使われる比較は的を射ています。それはおおよそ、観測可能な宇宙のかなりの部分に存在する原子の数に匹敵します。総当たりで特定の鍵を推測すること、つまりうまくいくまですべての組み合わせを試すことは、より高速なコンピュータやより大きな予算の問題ではありません。これまで存在したすべてのコンピュータを、宇宙の始まりから継続的に動かし続けたとしても、そのすべてを試すことに意味のある程度近づくことすらできません。

だからこそセキュリティ研究者は、総当たりによってAES-256を「解読する」という話をしません。それは選択肢にすら入っていないのです。暗号化されたデータが実際に露出する場合、その原因はほぼ常にアルゴリズムそのもの以外の何かにあります。鍵を生成するために使われた弱い、あるいは使い回されたパスワード、盗まれうる場所に保存された鍵、あるいは周辺ソフトウェアの実装上のバグです。弱点は錠前ではありません。たいてい、その鍵を守っているものの方です。

暗号化されていることと、隠されていることは違う

これは「セキュアフォルダ」アプリを探している人にとって最も重要な違いです。ファイルを隠すというのは、それが表示されるかどうかを変えるだけで、それが何であるかを変えるものではありません。隠しフォルダ、ドットファイル、写真を目立たない場所に移すだけのアプリ。ファイルの実際のバイト列は一切手つかずです。端末をパソコンに接続し、「隠しファイルを表示」を切り替えれば、その写真は他のどの写真ともまったく同じように開きます。そこには一度も鍵が関わっていなかったからです。

AES-256による暗号化はまったく別の操作です。ファイルを移動したり表示を変えたりするのではなく、鍵を使ってファイルの中身そのものを暗号文に書き換えます。あるアプリが実際にどちらを行っているかを見分ける手っ取り早い方法があります。隠しファイルを表示するか、端末を別のパソコンに接続してみることです。「保護された」ファイルが普通に開くなら、それは隠されていただけで暗号化されていません。アプリとあなたのPINなしには読み取れないノイズであれば、暗号化されています。(最初のケースがどれほど頻繁に2番目のケースとして宣伝されているかについては、「非表示」フォルダは本当は隠れていない理由をご覧ください。)

マーケティングページが省く部分:誰が鍵を持っているか

「AES-256で暗号化」というのは、それを作った企業自体からあなたを守れない多くの製品にも技術的には当てはまります。このアルゴリズムはかき混ぜの方法だけを示しており、鍵がどこにあるかについては何も語りません。クラウドストレージのプロバイダーは、自社のサーバー上であなたのファイルをAES-256で暗号化しつつ、鍵を自分自身で保持することができます。つまりその暗号化は外部の攻撃者は止めても、そのプロバイダーの侵害や、アクセス権を持つ従業員、あなたではなくそのサーバーに向けられた法的請求には何もしてくれません。

これこそが、「ゼロ知識」が「AES-256で暗号化」とは別の主張である理由であり、どちらかを信頼する前に両方を確認する価値がある理由です。誰が鍵を持っているかを知らないままの暗号化は、実際に誰が締め出されているのかについてほとんど何も教えてくれません。

Vaultineがそれをどう実装しているか

Vaultineはすべてのファイルを、完全にあなたの端末上で生成・使用される独自のAES-256鍵で暗号化します。あなたの保管庫を保護するマスターキーは、あなたのパターンまたはPINから端末上で生成され、どこにも送信されることはありません。サーバーにも、クラウド上のコピーにも、あなたの目の前にある端末以外のどこにも何も復号されません。これが、プライバシーポリシー上だけでなく実際にゼロ知識設計たらしめている理由です(そのアーキテクチャの残りの部分についてはアカウント不要の保管庫アプリが、実はより安全である理由をご覧ください)。

これはまた、あらかじめ知っておく価値のあるトレードオフも説明しています。PINと12単語のリカバリーフレーズの両方を失った場合、Vaultineは本当にあなたのファイルを取り戻すことができません。それはサポート体制の限界ではなく、侵害や召喚状があなたのファイルに届かないようにしているのと同じ性質です。錠前を開ける鍵は、常にあなたの端末上にしか存在しなかったのです。

要約

AES-256は、総当たりが現実的な脅威にならないほど大きな鍵を使って、ファイルを読み取れないノイズに変える、特定の、よく検証された方法です。魔法の呪文ではなく、システムの一部分であり、それが実際にあなたを守るかどうかを決めるのは、その後誰が鍵を持っているかです。ファイルを隠すことは暗号化することではなく、鍵を保持し続ける企業のために暗号化することは、あなただけが開けるように暗号化することとは同じではありません。

Vaultineはすべてのファイルを、あなたの端末上で、あなた自身のPINから生成されどこにも送信されない鍵を使って、AES-256で暗号化します。最初の10ファイルはvaultine.appで無料です。