パターン暗号化:図形を描くだけでファイルを保護
指でパターンを描く。そのパターンがAES-256暗号化でファイルをロックする暗号鍵になる。忘れるべきパスワードなし、推測されるPINなし。パターンとその背後にある数学だけだ。
Vaultaireのパターン暗号化は、5×5グリッドに描いた形をPBKDF2鍵導出を通じて256ビットのAES-GCM暗号化鍵に変える。パターンはPINでもアクセスコードでもない。ボールト内のすべてのファイルを数学的にスクランブルする暗号鍵を生成するための生の入力だ。
パターン暗号化とは何か
ほとんどのボールトアプリはPINかパスワードの後ろに隠れている。4桁を入力すると写真が現れる。十分に安全に聞こえる、そうではないか?
問題はこうだ:4桁のPINには正確に10,000の組み合わせがある。コンピューターは1秒以内にすべてを試せる。6桁?100万の組み合わせ。それでも現代のハードウェアには取るに足らない速さだ。8文字のパスワードでさえ、小文字だけを使うなら約2000億の可能性がある。それは多く聞こえるが、標準的なノートパソコンが1秒間に数十億のパスワードハッシュをテストできることを知るまでの話だ。
パターン暗号化は根本的に異なるアプローチをとる。ボックスに文字を入力する代わりに、ドットのグリッドに幾何学的な形を描く。描いた具体的な経路——どのドットに触れるか、どの順序で、どの幾何学で——が暗号化鍵を生成するための生の材料になる。アクセスコードではない。利便性のためのロック解除でもない。データを数学的にスクランブルする実際の暗号鍵だ。
この区別が重要だ。ほとんどのアプリにPINを入力すると、アプリは正しい数字を入力したかどうかを確認する。正しければ開く。データ自体はしばしばディスク上で読み取れる形式で座っており、アクセスゲートの後ろに隠されているだけだ。VaultaireのパターンEncryptionは違う仕組みで動く:描いたパターンが鍵導出関数に送られ、ユニークな256ビット暗号化鍵を生成する。その鍵がファイルを暗号化し復号する。別のパターンを描くと、別の鍵を得る。復号はゴミを出力する。「パスワードが違います」のメッセージはない——ただの意味のないノイズだ。
PINベースのボールトは施錠されたドアのようなものだ:錠をピッキングすれば中に入れる。パターン暗号化は組み合わせが金庫を作っている金属そのものである金庫のようなものだ。間違った組み合わせでは金庫がない——ただのランダムな屑だ。
仕組み:ステップごとの解説
指が画面に触れた瞬間から、ファイルが他の全員にとって読み取れなくなるまでに何が起きるかを説明する。
ステップ1:パターンを描く
Vaultaireは5×5のドットグリッドを表示する。少なくとも4つのドットをつなぐ連続した経路を描く。アプリはどのドットをどの順序で訪れたかを正確に記録する。このシーケンスがパターンだ。
Androidのロック画面で見る3×3グリッドとは違い、Vaultaireは5×5グリッドを使う。これは見た目の選択ではない。3×3グリッドは9つのドットを持ち、少なくとも4つのドットをつなぐと約14万の可能なパターンがある。25ドットの5×5グリッドは?可能なパターン数が数十億に跳ね上がる。ドットが多いほど、つながりが多いほど、エントロピーが指数的に増える。
ステップ2:パターンが鍵になる
描いたパターンは数値シーケンスに変換される。このシーケンスが鍵導出関数——具体的にはPBKDF2(パスワードベース鍵導出関数2)——と一意にランダム生成されたソルトと組み合わせて送られる。ソルトは、異なるボールト上の2つの同一パターンでも完全に異なる鍵を生成することを保証するランダムデータの文字列だ。
鍵導出プロセスは意図的に遅くなっている。PBKDf2は数千回のイテレーションを実行し、各推測を計算コストの高いものにする。これは設計上のものだ:パターンを描くのは一度だけなので、数分の一秒はあなたには知覚できない。しかし何百万ものパターンを試す攻撃者は1回の試みに時間、日数、または年単位の計算に直面する。
ステップ3:ファイルが暗号化される
導出された256ビット鍵はAES-256-GCM(Advanced Encryption Standard、256ビット鍵、Galois/Counter Mode)とともにボールト内のすべてのファイルを暗号化するために使われる。各ファイルには独自の一意な初期化ベクター(IV)が与えられるため、同一のファイルでも完全に異なる暗号化出力を生成する。
GCMモードは重要な層を追加する:認証だ。データをスクランブルするだけでなく、改ざんを検出するタグも生成する。暗号化ファイルの1ビットでも変更されると、復号が失敗する。あなたの知らないところでファイルを改ざんすることは誰にもできない。
ステップ4:鍵が消える
Vaultaireを閉じると、暗号化鍵はデバイスメモリから消去される。ディスクに保存されず、キャッシュされず、どこにも保存されない。次にアプリを開くとき、鍵を再生成するためにパターンを再描画しなければならない。正しいパターンを描けば、鍵導出が同じ鍵を生成し、ファイルが完全に復号される。別のパターンを描けば、数学は別の鍵を生成し、復号はノイズを出力する。
背後にある数学(平易な言葉で)
なぜこれが機能するかを理解するために計算機科学の学位は必要ない。セキュリティは3つの数字に集約される:可能なパターン数、各推測にかかる時間、攻撃者が行える推測数。
エントロピー:予測不可能性の尺度
エントロピーは「推測がどれだけ難しいか」を表す専門用語だ。コイントスには1ビットのエントロピー(2通りの結果)がある。4桁のPINには約13ビットのエントロピー(10,000通りの結果)がある。5×5グリッドで8つ以上のドットをつなぐよく選ばれたパターンは30ビットを超えるエントロピーを持てる——10億以上の可能なパターンだ。
しかし本当のセキュリティはパターン単体からは来ない。描いた後に何が起きるかから来る。
鍵導出:推測を高コストにする
PBKDF2はパターンを取り、数千回の暗号ハッシュのラウンドを通じて実行する。各ラウンドはわずかな時間を取る——千分の一秒程度だ。それが積み重なる。攻撃者が10億のパターンをテストしたいとして、各テストが千分の一秒かかれば、100万秒になる。約11.5日だ。1つのボールトに対して。
そしてそれはソルトを知っているという前提だが、ソルトは各ボールトに一意で、デバイスへの物理アクセスを必要とする方法で保存されている。リモート攻撃はまったく論外だ。
AES-256:政府が信頼する標準
AES-256は米国政府が機密情報に使用する暗号化標準だ。「256」はビット単位の鍵の長さを指す。256ビット鍵には2256 の可能な値がある——観測可能な宇宙のすべての原子がコンピューターで、各コンピューターが1秒間に1兆の鍵をテストできるとしても、宇宙の熱的死の前に破れないほど大きな数だ。
これはマーケティング言語ではない。数学だ。AES-256のセキュリティは秘密や難読化に依存しない。アルゴリズムは公開されている。コードは公開されている。セキュリティは完全に鍵に依存する——そしてパターンがその鍵を生成する。
誰も突破できない理由
誰かが暗号化ファイルにアクセスしようとする方法と、それぞれが失敗する理由を考えよう。
ブルートフォース:すべてのパターンを試す
速いコンピューターを使っても、鍵導出関数は各試みを高コストにする。10億の可能なパターン×1回の試みにかかる1ミリ秒=年単位の計算量になる。そしてそれはほとんどの人がアクセスできないハードウェアを使った場合だ。
スマッジ攻撃:画面を読む
3×3グリッドでは、画面の指紋跡が可能なパターンを大幅に絞り込める。5×5グリッドでは、指紋跡のパターンがどのドットが触れられたかを明かすが、順序、方向、それらの間のつながりは明かさない。組み合わせの爆発がこのアプローチを実用的でなくする。
ショルダーサーフィン:描くところを見る
小さなスマートフォン画面に素早く描かれたパターンは、特に5×5グリッドでは、観察によって覚えることが極めて難しい。研究によると、観察者がPINやパスワードを声に出して話しているのを聞くのと比べて、複雑なパターンを再現する方がはるかに難しいことが示されている。
デバイス押収:スマートフォンを取られる
誰かにスマートフォンを取られると、暗号化されたブロブを持っている。パターンがなければ、データは数学的にランダムノイズと区別がつかない。Vaultaireは鍵を保存せず、パターンのハッシュを保存せず、推測が正しいかどうかを確認するために使えるものを何も保存しない。攻撃者が確認できるオラクルがない。
ほとんどのパスワードシステムはパスワードのハッシュを保存する。データベースアクセスを持つ攻撃者はそのハッシュに対して推測を確認できる。Vaultaireは何も保存しない。すべてのパターンが有効に見える鍵を生成する。正しい鍵だけが意味のあるデータを生成する。ボールト全体を復号して内容を確認しなければ、攻撃者は正しく推測したかどうかさえわからない。
強力なパターンを選ぶ
暗号化は選ぶパターンの強度に比例する。最小の努力でセキュリティを最大化する方法を説明する。
強力なパターンを作るもの
- より多くのドットを使う。利用可能な25ドットのうち少なくとも8つをつなぐ。追加ドットごとに可能なパターン数が倍増する。
- 自分の経路を交差させる。ループバックし、ドットをスキップし、予期せず方向を変えるパターンは、記憶や観察による再現が格段に難しい。
- 明らかな形を避ける。文字(L、Z、S)、単純な幾何学的形状(正方形、三角形)、直線は攻撃者が最初に試すものだ。
- グリッド全体を使う。一角や一辺に留まるパターンは利用可能なエントロピーを無駄にする。広げること。
避けるべきもの
- 短いパターン。4つのドットだけをつなぐと可能な組み合わせが大幅に少なくなる。2文字のパスワードのようなものだ。
- 単純な幾何学的形状。L字型、ジグザグ、直線の斜め線は「password123」のパターン版だ。
- 毎回同じ角から始める。Androidのロックパターンの研究によると、ほとんどの人が左上のドットから始める。攻撃者はこれを知っている。
最適な選択
少なくとも2回の方向転換を持つ8〜12ドットをつなぐパターンは、筋肉記憶で覚えやすいままで優れたセキュリティを提供する。パスワードのように覚える必要はない——署名の書き方を覚えるのと同じように、手が動きを覚える。
安心できる理由
Vaultaireのパターン暗号化はギミックではない。PINパッドを見た目だけ良くしたものでもない。人間に親しみやすいジェスチャーを軍事レベルの暗号化に変える本物の暗号メカニズムだ。
パターンはデバイスを離れない。そこから導出された鍵はサーバーに触れない。暗号化されたファイルは正確な鍵なしでは復号できず、鍵は正確なパターンなしでは導出できない。この連鎖のすべてのリンクは数学的に検証可能であり、会社、サーバー、クラウドプロバイダーを信頼することに依存しない。
形を描く。その形がファイルを守る。数学が残りをやる。
よくある質問
パターンを忘れたらどうなりますか?
ボールトを作成するとき、Vaultaireはリカバリーフレーズ——暗号化鍵を再生成できる一連の単語——を生成する。パターンを忘れた場合は、このフレーズを入力してアクセスを取り戻せる。パターンとリカバリーフレーズを両方失うと、データは回復できない。これは設計上のものだ:つまり他の誰も回復できないということだ。
パターンは本当にパスワードよりセキュアですか?
5×5グリッドでよく選ばれたパターンは、典型的なパスワードのエントロピーに匹敵するか上回れる。利点は使いやすさだ:人々は強力なものを覚えにくいため弱いパスワードを選ぶ。パターンは筋肉記憶を活用し、意識的に暗記せずに複雑なものを使うことを自然にする。
誰かがパターンのスクリーンショットや録画を撮れますか?
Vaultaireはパターングリッドが表示されている間スクリーンショットをブロックする。画面録画もオペレーティングシステムのセキュアスクリーンフラグで防止される。攻撃者は描いている間に画面への直接の視覚アクセスが必要だ。
Vaultaireはどの暗号化アルゴリズムを使っていますか?
ファイル暗号化にAES-256-GCM、鍵導出にPBKDF2を使用。各ボールトには一意のソルトがあり、各ファイルには一意の初期化ベクターがある。メタデータはChaCha20で保護される。鍵マテリアルはデバイスのSecure Enclaveを通じて管理される。
パターンはデバイスに保存されますか?
いいえ。Vaultaireはパターン、パターンのハッシュ、またはパターンの表現を保存しない。パターンはリアルタイムで鍵を導出するために使われ、パターンデータと鍵の両方がアプリを閉じると記憶から消去される。
Vaultaireは暗号化されたファイルにアクセスできますか?
いいえ。Vaultaireはゼロ知識アーキテクチャを持つ。会社はあなたのパターンを見ることも、鍵を生成することも、暗号化されていないデータにアクセスすることもない。裁判所命令で強制されても、渡すものが何もない。