パターン暗号化:図形を描くだけでファイルを保護
指で模様を描きます。 PBKDF2 そのジェスチャをボールト キーに変換し、ファイルを保護する別のランダム キーのロックを解除します。 AES-256-GCM。パスワードフィールドや短いPINはありません。独自のパターンと意図的に階層化されたキー階層だけです。
Vaultaire は、5×5 グリッド上に描画された形状をシリアル化し、次のように処理します。 PBKDF2-HMAC-SHA512、600,000 回の反復、およびデバイス全体のソルトが iOS Keychain。 256 ビットの結果はボールト キーです。これはボールト インデックスを暗号化し、別のランダム マスター キーをアンラップします。 AES-256-GCM ファイルのコンテンツとメタデータに使用されます。
パターン暗号化とは何か
ほとんどのボールトアプリはPINかパスワードの後ろに隠れている。4桁を入力すると写真が現れる。十分に安全に聞こえる、そうではないか?
問題はこうだ:4桁のPINには正確に10,000の組み合わせがある。コンピューターは1秒以内にすべてを試せる。6桁?100万の組み合わせ。それでも現代のハードウェアには取るに足らない速さだ。8文字のパスワードでさえ、小文字だけを使うなら約2000億の可能性がある。それは多く聞こえるが、標準的なノートパソコンが1秒間に数十億のパスワードハッシュをテストできることを知るまでの話だ。
パターン暗号化は根本的に異なるアプローチを採用します。ボックスに文字を入力する代わりに、ドットのグリッド全体に幾何学的形状を描きます。トレースする特定のパス (どのドットを、どのような順序で、どのような形状でタッチするか) が、パスワード ベースのキー導出関数への入力になります。結果は単にインターフェイスによってチェックされるだけではなく、認証された暗号化インデックスとその中のランダムなマスター キーのロックを解除する必要があります。
区別が重要です。一部のアプリに PIN を入力すると、アプリは入力した番号が正しいかどうかのみを確認します。そうした場合、ファイルが主にアクセス制御によって保護されている場合でも、ファイルが開きます。 Vaultaire は代わりに、描画されたパターンを PBKDF2 256 ビットのボールト キーを取得します。ファイルで使用されているランダム マスター キーをアンラップする前に、そのキーでボールト インデックスを認証し、復号化する必要があります。認識されないパターンは空のボールトとして表示されますが、その根底にあるパターンは AES-GCM 認証では依然として正しいキーと間違ったキーが区別されます。
PIN ベースのアクセス ゲートは、読み取り可能なファイルの前に置かれた施錠されたドアのようなものです。 Vaultaire のパターンは金庫の組み合わせに近いもので、暗号化されたインデックスを開くキーを取得し、その結果、内容を保護する別のキーが解放されます。インターフェイスは、その暗号チェーンを単純にバイパスすることはできません。
仕組み:ステップごとの解説
指が画面に触れた瞬間から、ファイルが他の全員にとって読み取れなくなるまでに何が起きるかを説明する。
ステップ1:パターンを描く
Vaultaire は 5×5 のドットのグリッドを表示します。少なくとも 2 回の方向変更を伴う、少なくとも 6 つのドットを接続する連続パスを描画します。アプリは、どのドットをどのような順序で訪問したかを正確に記録します。このシーケンスがあなたのパターンです。
Android のロック画面で一般的に使用される 3×3 グリッドとは異なり、Vaultaire は 5×5 グリッドを使用します。これは見た目上の選択ではありません。 25 の位置では、9 つの位置よりもはるかに多くのパス、横断、スキップ、方向変更が可能になります。理論上の空間が大きいほど役立ちますが、実際のセキュリティは、選択したパスの予測不可能性に依存します。グリッドが何十億もの代替を表現できる場合でも、見慣れた文字や単純な形状は依然として推測可能です。
ステップ 2: パターンにより Vault キーが派生します
描画されたパターンはグリッド サイズでシリアル化され、 PBKDF2 (パスワードベースの鍵導出機能2)あり HMAC-SHA512、600,000 回の反復、およびランダムなデバイス全体のソルト。ソルトは、 iOS Keychain WhenUnlockedThisDeviceOnly アイテムとして。これにより、ローカル導出がデバイスに限定されます。これは各 Vault に固有のものではなく、人間が選択したパターンにエントロピーを追加するものではありません。
鍵の導出プロセスは意図的に高価です。 PBKDF2 600,000 回実行 HMAC-SHA512 候補パターンごとに反復が行われるため、推測攻撃のコストが増加します。これは低エントロピー パターンを 256 ビットのセキュリティに変換するものではなく、攻撃時間は攻撃者のハードウェアに依存します。その目的はより狭く、測定可能です。すべての推測を行うと、単純なハッシュよりも大幅にコストが高くなります。
ステップ3:ファイルが暗号化される
Vault が最初に作成されるとき、Vaultaire はランダムな 256 ビットのマスター キーを生成します。パターン派生のボールト キーはインデックスを暗号化し、そのマスター キーをラップします。すべてのファイルを直接暗号化するわけではありません。マスターキーは次のように使用されます。 AES-256-GCM ファイルヘッダー、コンテンツ、サムネイル、および関連するメタデータ。新しいノンスにより、平文が繰り返されても同じキーの下で暗号文が繰り返されないことが保証されます。
GCMモードは重要な層を追加する:認証だ。データをスクランブルするだけでなく、改ざんを検出するタグも生成する。暗号化ファイルの1ビットでも変更されると、復号が失敗する。あなたの知らないところでファイルを改ざんすることは誰にもできない。
ステップ 4: アクティブなキーの状態がクリアされる
Vaultaire がロックされると、アクティブな Vault とマスター キーの状態がクリアされ、ファイルを再度表示する前にもう一度ロック解除の儀式が必要になります。ボールトが開いている間、それらの対称キー バイトはアプリ プロセス内に必ず存在するため、 CryptoKit 実行できる AES-GCM 操作。また、Vaultaire は、パターンやフレーズで暗号化されたリカバリ エンベロープなどのリカバリ情報を、 AES-GCM に保存されている暗号化されたデータベース iOS Keychain。それは、パターンとすべてのキーのコピーがどこにも保存されていないと主張することとは大きく異なります。
背後にある数学(平易な言葉で)
なぜこれが機能するかを理解するために計算機科学の学位は必要ない。セキュリティは3つの数字に集約される:可能なパターン数、各推測にかかる時間、攻撃者が行える推測数。
エントロピー:予測不可能性の尺度
エントロピーは「推測がどれだけ難しいか」を表す専門用語だ。コイントスには1ビットのエントロピー(2通りの結果)がある。4桁のPINには約13ビットのエントロピー(10,000通りの結果)がある。5×5グリッドで8つ以上のドットをつなぐよく選ばれたパターンは30ビットを超えるエントロピーを持てる——10億以上の可能なパターンだ。
パターンのエントロピーが推測攻撃の上限を設定します。 PBKDF2 ジェスチャに含まれないエントロピーを作成することはできませんが、各候補のテストコストが大幅に高くなる可能性があります。
鍵導出:推測を高コストにする
PBKDF2 シリアル化されたパターンを採用し、600,000 ラウンドを実行します。 HMAC-SHA512。攻撃の推定には、推測を行うハードウェアで測定されたコストを使用する必要があります。完全な候補ごとにちょうど 1 ミリ秒の場合、1,000,000,000 の候補には 1 人のワーカーで 1,000,000 秒、つまり約 11.6 日かかります。測定された候補コストが遅いと、その時間が長くなります。並列ハードウェアによりそれが軽減されます。 256 ビットの出力長によってパターン検索スペースのサイズは変わりません。
デバイス全体のソルトは次の場所に保存されます。 Keychain 秘密にするように設計されていません。 Keychain そして iOS データ保護により、デバイス押収のシナリオでは抽出が困難になる可能性がありますが、暗号化分析では、暗号化されたファイルを取得する検査官がソルトも取得する可能性があることを想定する必要があります。ソルトは、デバイス間での事前計算を防ぎます。これは強力なパターンの代わりにはなりません。
AES-256:政府が信頼する標準
AES-256は米国政府が機密情報に使用する暗号化標準だ。「256」はビット単位の鍵の長さを指す。256ビット鍵には2256 の可能な値がある——観測可能な宇宙のすべての原子がコンピューターで、各コンピューターが1秒間に1兆の鍵をテストできるとしても、宇宙の熱的死の前に破れないほど大きな数だ。
のセキュリティ AES-256 アルゴリズムを秘密に保つことに依存しません。しかし、システム全体は AES キー空間だけでは保護されません。実際の推測限界はパターンのエントロピー、つまり PBKDF2 作業要素、デバイスソルトと暗号化ストレージ周りの保護。 AES-256-GCM 正しいランダム マスター キーのロックが解除されると、強力な認証暗号化が提供されます。
攻撃が克服しなければならないもの
誰かがあなたの暗号化されたファイルにアクセスしようとする主な方法、Vaultaire がコストを上げるために何をしているのか、そして制限がどこに残っているのかを考えてみましょう。
ブルートフォース:すべてのパターンを試す
PBKDF2 すべてのパターン候補に 600,000 の支払いを課す HMAC-SHA512 繰り返し。これは意味のある弁護ですが、一定の年数を約束するものではありません。結果は、パターンの選択、測定された導出速度、並列処理、および検査官がデバイス ソルトを回収したかどうかによって決まります。より長く、予測不可能なパスは重要です。 PBKDF2 新しいエントロピーを作成するのではなく、推測コストを増加させます。
スマッジ攻撃:画面を読む
3×3グリッドでは、画面の指紋跡が可能なパターンを大幅に絞り込める。5×5グリッドでは、指紋跡のパターンがどのドットが触れられたかを明かすが、順序、方向、それらの間のつながりは明かさない。組み合わせの爆発がこのアプローチを実用的でなくする。
ショルダーサーフィン:描くところを見る
小さなスマートフォン画面に素早く描かれたパターンは、特に5×5グリッドでは、観察によって覚えることが極めて難しい。研究によると、観察者がPINやパスワードを声に出して話しているのを聞くのと比べて、複雑なパターンを再現する方がはるかに難しいことが示されている。
デバイス押収:スマートフォンを取られる
誰かがあなたの携帯電話を盗んだとしても、Vaultaire のファイルの内容とインデックスは残ります AES-GCM 必要なキーが利用可能になるまで暗号文を暗号化します。このアプリは従来のパスワード検証記録を保存しませんが、オフライン検証が削除されるわけではありません。暗号化された各ボールト インデックスのファイル名には、ボールト キーの切り詰められたハッシュが含まれており、 AES-GCM 認証された復号化も、候補キーに対して成功または失敗します。したがって、デバイスの保護とパターンの強度は依然として脅威モデルの一部です。
認証された暗号文に対する推測をテストするために、別のパスワード ハッシュは必要ありません。ヴォルテールの AES-GCM タグは信頼性の高い成功または失敗の結果を提供し、インデックス ファイル名は安価な事前チェックを提供します。防御策は、資格情報のコストと予測不可能性に加えて、 iOS 地元資料の保護であって、検証の神託がないわけではない。
強力なパターンを選ぶ
暗号化は選ぶパターンの強度に比例する。最小の努力でセキュリティを最大化する方法を説明する。
強力なパターンを作るもの
- より多くのドットを使う。利用可能な25ドットのうち少なくとも8つをつなぐ。追加ドットごとに可能なパターン数が倍増する。
- 自分の経路を交差させる。ループバックし、ドットをスキップし、予期せず方向を変えるパターンは、記憶や観察による再現が格段に難しい。
- 明らかな形を避ける。文字(L、Z、S)、単純な幾何学的形状(正方形、三角形)、直線は攻撃者が最初に試すものだ。
- グリッド全体を使う。一角や一辺に留まるパターンは利用可能なエントロピーを無駄にする。広げること。
避けるべきもの
- 最小長のパターン。 Vaultaire では、少なくとも 6 つのドットと 2 つの方向変更が必要ですが、最小値を満たしていてもパスが予測不可能になることはありません。結果を確実に思い出せる場合には、グリッドをより多く使用してください。
- 単純な幾何学的形状。L字型、ジグザグ、直線の斜め線は「password123」のパターン版だ。
- 毎回同じ角から始める。Androidのロックパターンの研究によると、ほとんどの人が左上のドットから始める。攻撃者はこれを知っている。
最適な選択
少なくとも2回の方向転換を持つ8〜12ドットをつなぐパターンは、筋肉記憶で覚えやすいままで優れたセキュリティを提供する。パスワードのように覚える必要はない——署名の書き方を覚えるのと同じように、手が動きを覚える。
安心できる理由
Vaultaire のパターン暗号化は、単に PIN パッドをきれいにするだけではありません。ジェスチャは実際のキー導出機能によって処理され、認証された暗号化データのロックを解除する必要があります。その強度は依然として選択したジェスチャーに依存するため、Vaultaire はより大きなグリッドと高い強度を組み合わせています。 PBKDF2 256 ビットの出力長を 256 ビットの人間秘密エントロピーとして表す代わりに、作業係数を使用します。
パターンとローカル Vault キーは Vaultaire に送信されません。オプションのバックアップが有効になっている場合、別のパターン派生バックアップ キーで暗号化されます。 CloudKit レコードと暗号化されたリカバリ マニフェストにより、リカバリ フレーズでボールト キーとバックアップ キーを復元できます。 Vaultaire はこれらのレコードを復号化するプロバイダー キーを保持していませんが、デバイスと回復の資格情報は依然として設計のセキュリティ クリティカルな部分です。
形を描く。その形がファイルを守る。数学が残りをやる。
よくある質問
パターンを忘れたらどうなりますか?
Vault を作成すると、Vaultaire は 9 つの個別の単語を含むカスタムの回復文を生成します。 PBKDF2 はその文から回復キーを取得し、ボールト キーが入った暗号化された封筒を開きます。パターンと回復フレーズの両方を失った場合、Vaultaire にはボールトを復元できるサーバー側キーがありません。
パターンは本当にパスワードよりセキュアですか?
5×5グリッドでよく選ばれたパターンは、典型的なパスワードのエントロピーに匹敵するか上回れる。利点は使いやすさだ:人々は強力なものを覚えにくいため弱いパスワードを選ぶ。パターンは筋肉記憶を活用し、意識的に暗記せずに複雑なものを使うことを自然にする。
誰かがパターンのスクリーンショットや録画を撮れますか?
Vaultaire はベストエフォート型のスクリーンショット シールドをパターン グリッドに適用し、次の場合に反応します。 iOS アクティブな画面キャプチャを報告します。 iOS は、任意のアプリ コンテンツに対してパブリック セキュア スクリーン フラグを提供していないため、これらのコントロールは偶発的なキャプチャを減らしますが、すべてのキャプチャ方法がブロックされることを保証することはできません。
Vaultaireはどの暗号化アルゴリズムを使っていますか?
ヴォルテールは使用します PBKDF2-HMAC-SHA512 600,000 回の反復でパターンからボールト キーを導出し、デバイス全体の Keychain 塩。そのボールト キーはボールト インデックスを暗号化し、ランダムな 256 ビットのマスター キーをラップします。 AES-256-GCM マスターキーの下で、認証された暗号化を使用してファイルのコンテンツ、ヘッダー、メタデータ、サムネイルを保護します。
パターンはデバイスに保存されますか?
Vaultaire は、パターンを含むリカバリ情報を AES-GCM に保持される暗号化された回復データベース iOS Keychain。パターンは Vaultaire に送信されず、プレーンテキスト ファイルに保存されません。ボールトが開いている間、キーバイトはアプリプロセス内に存在します。ロックすると、Vaultaire のアクティブなキー状態が削除されます。
Vaultaireは暗号化されたファイルにアクセスできますか?
Vaultaire は、パターン、回復フレーズ、復号化キー、または読み取り可能な Vault コンテンツを受け取るサービスを運営していません。暗号化された iCloud バックアップはプライベートに残ります CloudKit データベース。このプロバイダー境界は、開いているコンテナーを、侵害されたアプリのビルド、オペレーティング システム、またはデバイスから保護しません。