Novaz Authenticator は安全?
要点を言えば、設定キーは iPhone のキーチェーンに保存され、私たちに送信されることはありません。キーが iPhone の外に出るのは、あなたが選んだ場合に暗号化されたバックアップとしてだけです。アカウントも、コードを保持するサーバーもありません。以下では、限界も含めて詳しく説明します。
このページは、アプリのバージョン 1.0.5 について、そのコードと照らし合わせて確認した内容を説明しています。ここに書かれた内容が変わったときは、ページと上の日付を更新します。アプリと本サイトがあなたの情報をどう扱うかは、プライバシーポリシーに記載しています。
設定キーの保存場所
追加したアカウントにはそれぞれ設定キーがあります。コードの計算に使われるシークレットです。Novaz はキーを iPhone のキーチェーン に、保護クラス AfterFirstUnlockThisDeviceOnly で保存します。具体的には次のとおりです。
- このデバイスのみ。 キーの本体は iCloud キーチェーンで同期されません。クイックスタートや、iPhone のバックアップを別の iPhone に復元することでも移行されません。アカウントを新しい iPhone に移すには、下記の任意のバックアップのいずれかを使ってください。認証アプリを新しい iPhone に移行する方法をご覧ください。
- 初回ロック解除後。 再起動したあとは、iPhone のロックを一度解除するまでキーを読み取れません。「パスコードが設定されている場合」と指定された項目とは異なり、iPhone のパスコードをオフにしてもキーは消えません。
- 私たちのサーバーにはありません。 Novaz のアカウントも、キーを保持するサーバーもありません。たとえ見ようとしても、私たちにはあなたのキーやコードを見ることができません。
カウントダウンの表示スタイルやアプリロックのオン・オフといったアプリの設定も、デバイス上に保存されます。
バックアップ(任意)
設定の バックアップ にある次のいずれかをオンにしない限り、何も iPhone の外に出ません。
- iCloud バックアップ(PRO)。Novaz はアカウントのコピーを独立した項目として iCloud キーチェーン に保存します。iCloud キーチェーンは Apple がエンドツーエンドで暗号化し、同じ Apple ID でサインインしているデバイス間で同期します。iCloud キーチェーンがオンになっている必要があります。新しい iPhone では、空の コード 画面に iCloud から復元 が表示されます。復元は無料版でも使えます。iCloud バックアップをオフにすると、すべてのデバイスの iCloud からそのコピーが削除されます。iPhone 上のコードはそのまま残ります。
- バックアップファイル(無料)。ファイルに書き出す… は、あなたが決めた8文字以上のパスワードで暗号化したファイルにアカウントを保存します。ファイルは AES-256-GCM で暗号化され、その鍵はパスワードから PBKDF2-HMAC-SHA256(600,000回)で導出されます。ファイルの保存先は、「ファイル」App や AirDrop など、あなたが決めます。ファイルから読み込む… で、パスワードを入力すると読み込めます。私たちはファイルを開くことも、パスワードを復元することもできません。
Apple Watch、ウィジェット、自動入力(任意、PRO)
これらは設定でオンにするまでオフのままです。それぞれ、システムの別の部分にコードを渡します。
- Apple Watch にコードを表示 は、ペアリングされた Apple Watch の Authenticator にアカウントを送信します。アカウントは Apple Watch のキーチェーンに保存され、Apple Watch のパスコードで保護されます。
- ウィジェットにコードを表示 は、アプリのウィジェットと共有するキーチェーン項目に「このデバイスのみ」としてアカウントを書き込みます。ウィジェットのコードは、アプリのロックを解除しなくても見えます。ロック画面では、iPhone のロックを解除するまで隠されたままです。
- コードを自動入力 をオンにすると、ウェブサイトやアプリがコードを求めたときに、iOS がコードを候補として表示します。アプリロックがオンの場合、Novaz はコードを入力する前に Face ID またはパスコードを求めます。
いずれかをオフにすると、その機能が使っていたコピーは削除されます。
コードの生成方法
コードは、標準の時間ベースのワンタイムパスワードのアルゴリズム(TOTP、RFC 6238)を使って iPhone 上で計算されます。HMAC には Apple の CryptoKit を使用しています。Novaz が対応しているのは次のとおりです。
- SHA-1、SHA-256、SHA-512
- 6〜8桁のコード
- 1〜300秒の間隔
これらの範囲外の値を求める設定リンクは、保存されずに拒否されます。カウンターベースのコード(HOTP)と MD5 には対応していません。
アプリロック
アプリロックは任意です。Novaz は、アプリを初めて開いたときにアプリロックを提案します。あとから設定の セキュリティ にある アプリをロック でオンにし、ロック解除方法 で方法を選ぶこともできます。

- Face ID または Touch ID は、Apple の LocalAuthentication フレームワークを使います。Novaz があなたの顔や指紋のデータを見ることはなく、わかるのは認証に成功したかどうかだけです。アプリ専用パスコードがない場合は、iPhone のパスコードが代替手段になります。6桁のアプリ専用パスコードを設定した場合は、代わりにそれが代替手段になります。
- 6桁のアプリ専用パスコード そのものは保存されません。Novaz は、ランダムなソルトを使い 100,000回の PBKDF2-HMAC-SHA256 で計算したハッシュを、このデバイスのキーチェーンに保存します。計算に時間のかかるハッシュなので、その項目のコピーからパスコードを推測するには大きなコストがかかります。
- パスコードを間違える と、待ち時間が段階的に長くなります。5回目の誤入力のあとは30秒、その後は1分、5分、15分と延び、9回目以降は1時間です。試行回数はキーチェーンに保存されるため、アプリを閉じてもリセットされません。
- ロック解除を要求。 設定で すぐに、1分後、5分後 のいずれかを選びます。アプリを離れてから再びロックされるまでの時間です。
- パスコードを忘れた場合。 Novaz はパスコードそのものを保存しないため、パスコードを表示することも、どこかに送ることもできません。Face ID を使い、パスコードを代替手段にしている場合は、Face ID で引き続きアプリを開けます。
- App スイッチャー。 アプリがバックグラウンドに移ると画面が覆い隠されるため、App スイッチャーにコードは表示されません。
- タップするまでコードを隠す。 これをオンにすると(設定の セキュリティ にあります)、コードはタップするまで点で表示され、アプリを離れると再び隠されます。
クリップボード
コードをコピーすると、Novaz は次の2つの制限を付けてクリップボードに入れます。
- コードが無効になると 期限切れ になって消えます。
- ローカルのみ のため、ユニバーサルクリップボードでほかの Apple デバイスに送られることはありません。
カメラと写真
- カメラ。 カメラは、設定用 QR コードを読み取るために QR コードをスキャン 画面が開いている間だけ使われます。何も録画・保存されません。
- 写真。 Novaz は写真ライブラリへのアクセスを求めません。スクリーンショットを選ぶと、iOS の写真ピッカーはその1枚の画像だけをアプリに渡します。アプリはそこから QR コードを読み取り、それ以外は何も保持しません。
アプリが行う通信
Novaz はオフラインで動作します。コードの生成に接続は必要ありません。オンラインのときは、アプリは次の通信を行います。
| 通信 | 目的 | 送信される内容 |
|---|---|---|
https://www.apple.com/ への HEAD リクエスト |
応答から現在時刻を読み取り、iPhone の時計がずれていれば警告するため。アプリを開いたときやアプリに戻ったときに、最大で10分に1回。 | 空のリクエスト。あなたやあなたのアカウントに関するデータは含まれません。 |
https://novaz.app/apps.json、Apple の itunes.apple.com/lookup、Apple の画像サーバーにあるアプリアイコン |
設定を開いたときに その他のアプリ にほかの Novaz アプリを表示するため。最大で6時間に1回。 | 標準的なリクエストデータのみ。あなたのアカウントは関係しません。 |
novaz.cc 上のページ |
設定で ガイド、サポート、プライバシーポリシー、利用規約 のいずれかをタップしたときのみ。アプリ内ブラウザで開きます。 | 標準的なウェブリクエストのデータ。 |
| Apple が運営する iCloud キーチェーン | iCloud バックアップ をオンにした場合のみ。Apple が暗号化されたバックアップをデバイス間で同期します。 | あなたのバックアップ。Apple によりエンドツーエンドで暗号化されています。私たちが受け取ることはありません。 |
| StoreKit を介した App Store | 価格を表示し、PRO サブスクリプションを処理するため。 | Apple が処理します。私たちがあなたの支払い情報を見ることはありません。 |
アプリには、分析、広告、トラッキングの SDK は一切含まれていません。App Store のプライバシーラベルは「データの収集なし」です。
Novaz が防げないこと
限界をはっきりさせておくことは、アプリの使い方を決める助けになります。
- バックアップなしで iPhone を失うこと。 キーが私たちに送られることはないため、私たちには復元できるものがありません。iCloud バックアップをオンにするかバックアップファイルを保管し、さらに各サービスのバックアップコードも別の場所に保管してください。
- 弱いバックアップパスワード。 バックアップファイルを持ち、そのパスワードを推測できた人は、あなたのキーを読み取れます。ほかで使っていない長いパスワードを使ってください。
- あなたの iPhone のロックを解除できる人。 アプリロックがオフなら、その人はアプリを開いてコードを読めます。アプリロックはちょっとした盗み見は防げますが、自分しか知らない iPhone のパスコードの代わりにはなりません。
- 侵害されたデバイス。 脱獄した iPhone や、システムへのアクセス権を持つマルウェアが動いている iPhone では、どのアプリもデータの秘密を守ると約束することはできません。
- フィッシング。 偽のサインインページは、現在のコードを入力させ、すぐにそれを使うことができます。コードを入力する前に、必ず本物のウェブサイトにいることを確認してください。
セキュリティ上の問題の報告
アプリまたは本サイトに脆弱性を見つけたと思われる場合は、件名に「セキュリティ」と入れて support@novaz.app までメールでお知らせください。詳細を公開する前に、修正の機会をいただけますようお願いします。security.txt にも同じ連絡先を記載しています。