Wiser Locker

セキュリティホワイトペーパー

パスワードから各ファイル、データベース、バックアップまで、端末上でデータを守る Wiser Locker の暗号化設計を公開しています。

Wiser Locker がデータを守る仕組み

公開日: 2026年9月24日
最終更新日: 2026年9月24日

このセキュリティホワイトペーパーは、Wiser Locker が写真をどのように守っているのかを知りたい方のための資料です。私たちが仕組みを公開するのは、優れた暗号化は設計を隠すことではなく、あなたが持つパスワードだけに依存するものだからです。

  • パスワードは端末内でのみ使われ、私たちに送信されることはありません。バックドアや、代わりにロックを解除できるマスターキーもありません。
  • すべてのファイルに個別のランダムな鍵があります。ファイル一覧、タグ、サムネイルも暗号化されます。
  • 非表示スペースには独立した鍵があり、開くには保管庫パスワードと非表示スペースのパスワードの両方が必要です。
  • 暗号化にはすべて、公開され長年検証されてきた標準アルゴリズムを使用しています。
  • 最終的な安全性はパスワードの強さで決まります。長く、他で使っていないパスワードを使用してください。

1. パスワードが鍵になるまで

図 1:パスワードからファイルまでの鍵の連なり

Wiser Locker はパスワードで直接ファイルを暗号化しません。上から下へと続く鍵の連なりを使います。

  1. 保管庫パスワードは、意図的に時間とメモリを多く必要とする計算を経て「解錠キー」になります。
  2. 解錠キーの役割はマスターキーを開けることだけです。マスターキーは保管庫の作成時にランダムに生成される 256 ビットの鍵で、パスワードとは無関係です。
  3. マスターキーからは三つの用途別キーが作られます。データベース用、ファイルキーの保管用、改ざん検出用です。用途がそれぞれ異なるため、一つが漏れてもマスターキーは割り出せません。
  4. 各ファイルには個別のファイルキーがあり、「ファイル保管キー」で暗号化して保存されます。

この設計により、パスワードを変更するときはマスターキーを包み直すだけで済みます。数秒で完了し、写真を暗号化し直す必要はありません。

知っておいていただきたい代償もあります。パスワードを変更してもマスターキーは変わりません。パスワードを変更する前に誰かが保管庫全体をコピーし、古いパスワードも知っている場合、変更してもそのコピーは無効になりません。

2. ファイルごとの施錠

  • 追加されたファイルには、それぞれランダムなファイルキーが割り当てられます。元のファイルとサムネイルは、そこからさらに別々の鍵を作ります。
  • ファイルは 1 MiB ごとのブロックに分けて暗号化されます。各ブロックには認証タグが付き、どのファイルの何番目のブロックで長さはいくつかが記録されます。切り詰め、順序の入れ替え、他のファイルのデータの混入はすべて検出され、読み込みを拒否します。
  • ファイルキーの保管方法は、そのファイルとスペースに結び付いています。別のファイルやスペースに移すと解読できません。
  • 通常スペースと非表示スペースの間でファイルを移動しても、包み直すのはファイルキーだけです。写真や動画そのものがストレージ上で復号されることはありません。

3. ファイル一覧とタグ

  • ファイル名、タグ、フィルター、日付、場所、統計はすべて暗号化されたデータベースに保存されます。
  • データベースの鍵はマスターキーから作られるため、推測できる別のパスワードはありません。
  • 各ファイルの記録には認証コードも付いており、鍵を知らない人は改ざんできません。

4. 非表示スペースの二重の鍵

図 2:非表示スペースを開くために必要な二つの条件

非表示スペースには独自の非表示マスターキーがあります。これもランダムに生成され、通常スペースのマスターキーとはまったく無関係です。取り出すには、次の二つが同時に必要です。

  1. 通常スペースのロックが解除されていること。つまり保管庫パスワードまたは生体認証でログインしていること。
  2. 正しい非表示スペースのパスワード。

この二つを組み合わせて初めて、非表示マスターキーを開ける鍵ができます。そのため、

  • 非表示スペースのパスワードだけを知っていても開けません。
  • 保管庫パスワードだけを知っていても(たとえば無理やり聞き出されても)開けません。
  • 生体認証でログインできるのは通常スペースだけで、非表示スペースは開けません。

リカバリーキーは、非表示スペースの設定時に作られるランダムなコードで、非表示スペースのパスワードを忘れたときにデータを整理するために使います。これも通常スペースのロックが解除されているときにしか使えません。アプリでは、リカバリーキーで開いた非表示スペースは整理のみで、非表示の解除と削除だけができ、写真や動画は閲覧できません。ただし暗号の面では、非表示スペースのパスワードと同じく非表示マスターキーを開けられるため、同じように大切に保管してください。

私たちは、非表示スペースの存在を他人に気付かれないとは主張していません。端末内のファイルを調べられる人は、非表示スペースが設定されていることや、おおよそのファイル数とサイズを知ることができる場合があります。私たちが守っているのは中身です。

5. ロック解除の方法と強要用パスワード

方法 開けるもの
保管庫パスワード 通常スペース
生体認証 通常スペース(鍵のコピーは Android のハードウェアで保護された安全な保存領域にあり、強力な生体認証が必要)
非表示スペースのパスワード 非表示スペース(先に通常スペースへのログインが必要)
リカバリーキー 非表示スペースの整理(先に通常スペースへのログインが必要)
強要用パスワード 何も開けません

強要用パスワード(メンバーシップ機能)は、あらかじめ設定しておく別のパスワードです。ロック解除を強要されたときにこれを入力すると、アプリは端末上の保管庫全体を直ちに消去し、設定に応じて「ログイン失敗」または空の保管庫を表示します。この操作は取り消せず、別の場所に保存した .wlz バックアップは削除できません。強要用パスワードの保存形式には鍵を入れる場所がないため、これを使ってデータに到達することはできません。

アプリにはパスワードの再試行を遅らせる仕組みもあります。ただし、これが制限するのはアプリ内での入力だけです。第 9 節をご覧ください。

6. バックアップ

  • バックアップファイル(.wlz)は保管庫パスワードで保護されますが、各バックアップには個別のランダムな鍵があります。
  • ファイル数やサイズなどの情報は暗号化された内容に含まれ、バックアップファイルの外見からは分かりません。
  • 非表示スペースのデータは暗号化されたままバックアップに入ります。バックアップの作成時も復元時も非表示スペースは開かれず、復元後も非表示スペースのパスワードが必要です。
  • 復元の前にバックアップ全体を検査します。想定と異なるファイルが一つでもあれば復元を中止し、不完全なデータで保管庫を上書きすることはありません。

7. 使用中の保護

  • 復号した写真やサムネイルはメモリ上にのみ存在し、一時ファイルとして書き出されることはありません。
  • 動画は端末内でしか接続できない経路で再生され、アドレスには推測できないランダムなアクセスコードが含まれます。
  • スクリーンショットと画面録画は既定で防止されます。解除するには保管庫パスワードの再入力が必要です。
  • ロック、バックグラウンドでの自動ロック、ログアウトの際には、使用中の鍵が直ちに消去され無効になります。
  • Android のシステムバックアップには参加せず、他のアプリにアクセスを公開しません。
  • 任意の利用状況分析は既定で無効です。有効にしても記録するのは使った機能だけで、ファイル名、タグ、内容、鍵は含みません。
  • 元のファイルが端末のストレージに書き出されるのは、あなたが復号を選んだときだけです。

8. 防げること

状況 結果
端末を紛失または盗まれ、相手がパスワードを知らない 見えるのは暗号化されたデータだけ
誰かが保管庫フォルダーやバックアップファイルをコピーした パスワードがなければ開けず、推測のたびに大量の計算が必要
保管庫パスワードを無理やり聞き出された 非表示スペースは開けないまま
指紋認証を強要された 開けるのは通常スペースだけ
パスワードの入力を強要された 強要用パスワードを入力して端末上の保管庫を消去できる
暗号化ファイル、記録、バックアップが改ざんされた 検出して読み込みを拒否
他のアプリが内容を読み取ろうとした アクセスできない

9. 防げないこと

次の限界を必ずご理解ください。

  • 弱いパスワードはオフラインで推測されるおそれがあります。 保管庫は端末の共有ストレージにあります。フォルダー全体を入手した人は、それをパソコンにコピーして無制限にパスワードを試せます。アプリの再試行制限は及びません。一回ごとの推測は遅いものの、6 桁の数字のような短いパスワードは見つかる可能性があります。保管庫パスワードと非表示スペースのパスワードは、どちらも長いものを使用してください。
  • 端末が侵害されている場合。 端末が root 化されていたりマルウェアが入っていたりすると、ロック解除中に画面やメモリを読み取られるおそれがあります。
  • 画面ののぞき見や撮影。 スクリーンショットの防止は、別のカメラによる撮影は防げません。
  • パスワードを忘れた場合。 バックドアはありません。保管庫パスワードを忘れると解読できません。非表示スペースのパスワードを忘れた場合、リカバリーキーでできるのは非表示の解除と削除だけです。
  • パスワード変更前にコピーされたデータ。 第 1 節をご覧ください。
  • すでに別の場所へコピーされたバックアップ。 強要用パスワードで消去できるのは端末上の保管庫だけで、他の場所に保存した .wlz バックアップは削除できません。
  • 非表示スペースの存在。 第 4 節をご覧ください。

10. あえて行わないこと

  • 保管庫パスワードや鍵を受け取ることも保存することもありません。 私たちのサーバーには、あなたの保管庫パスワード、マスターキー、リカバリーキーはありません。そのため、私たちはあなたのデータを見ることも、パスワードを取り戻すこともできません。現在、保管庫はあなたの端末上にのみ存在します。将来クラウド同期を提供する場合も、クラウドに置かれるのは暗号化された保管庫だけで、それを開ける保管庫パスワードや鍵を私たちが受け取ることはありません。
  • 保管庫を特定の端末に固定しません。 再インストールや機種変更の際も、パスワードと保管庫フォルダー(またはバックアップ)があれば復元できます。その代償が、第 9 節で述べたオフラインでの推測のリスクです。
  • 独自の暗号アルゴリズムは作りません。

11. 技術仕様

詳細を知りたい方へ。

用途 使用している標準
パスワードから鍵を作る Argon2id:メモリ 64 MiB、反復 3 回、並列度 2、毎回ランダムな 16 バイトのソルト
鍵からサブキーを作る HKDF-SHA256(用途、スペース、保管庫ごとに分離)
鍵の包装 AES-256-GCM
写真と動画の内容 AES-256-GCM または XChaCha20-Poly1305(設定で選択)、1 MiB ブロックごとの認証付き暗号化
データベース SQLCipher
記録の改ざん検出 HMAC-SHA256
乱数 OS が提供する暗号論的に安全な乱数
鍵の長さ すべてのマスターキー、ファイルキー、リカバリーキーは 256 ビット

Argon2id のパラメーターは形式に固定されており、読み込み時に一致しなければ拒否します。ファイルを書き換えて計算の負荷を下げることはできません。