Tangem Walletの生体認証はどのように機能する?
主要な洞察
Tangemアプリに生体認証機能が追加され、カードをかざしたりパスワードを入力する代わりに、指紋や顔認証でウォレットのロック解除や管理ができるようになりました。iOS・Androidともに生体情報は端末内の隔離されたハードウェア領域で安全に保存され、Tangemアプリや他のアプリがこの情報にアクセスすることはありません。そのため、生体認証によるTangemアプリへのログインは非常に安全かつ便利な方法です。
アプリのロック解除時にカードをスマートフォンにかざす必要はありません。カードやパスワードなしで、すべてのTangemウォレットを安全に確認できます。指紋認証センサーに指を置くか、Face ID対応端末ならカメラを見るだけでOKです。
生体認証対応の新しいアプリアップデートにより、Tangemアプリはさらに便利になり、仮想通貨管理の幅も広がりました。ただし、生体情報の安全性に不安を感じる方もいるかもしれません。この記事では、その仕組みと安全性について解説します。
新しいTangemアプリ
Tangemアプリには「アプリ設定」が追加され、「ウォレットをアプリ内に保持」「アクセスコードを保存」オプションがデフォルトで有効になっています。これにより、
- 複数のTangemウォレットをお持ちの場合も、すべてアプリに紐付けされ、生体認証でロック解除できます。
- すべてのカードパスワードは暗号化されてスマートフォン内に保存され、カード操作時もパスワードの代わりに生体認証が利用されます。
従来通りの運用をしたい場合は、これらのオプションを無効にすることも可能です。
つまり、カードをかざしたりアクセスコードを入力しなくても、次の操作が簡単に行えます:
- Tangemアプリへのログイン
- コインやトークンの残高確認
- 複数ウォレット間の切り替え
Tangemアプリには追加のウォレットを簡単に登録できます。もしくは自動的に追加されます。Tangemアプリに1つだけウォレットが登録されている状態で、2つ目・3つ目のTangemウォレットをスマートフォンにかざすと、アクセスコードの入力が求められます。その後、2つ目のウォレットが自動的にアプリに紐付けされ、1つ目のウォレットは一時的にロックされます。必要に応じて生体認証で解除可能です。なお、トランザクション署名時には引き続きTangem Cardをかざす必要があります。
生体認証ログインが安全な理由
Tangemアプリのようなモバイルアプリは、スマートフォンのシステムインターフェースを通じて、指紋認証や顔認証などの生体認証を設定できます。
重要:Tangemアプリを含むすべてのアプリは、認証の成否のみを確認でき、生体情報そのものには一切アクセスできません。
現在、GoogleのAndroidやAppleのiOSはいずれも高い生体認証セキュリティを備えています。両者とも生体情報の保護技術は似ていますが、細かな違いもあります。
iOSの生体認証セキュリティ
iOS端末のメインOSは生体情報を保存しません。機密情報は「Secure Enclave」という専用チップで隔離・保護されています。
Secure Enclaveは、メインプロセッサから独立した安全なサブシステムで、アプリケーションプロセッサのカーネルが侵害された場合でも、機密データの安全性を確保するために設計されています。
最大限の隔離を実現するため、Secure Enclaveコプロセッサは専用サブシステムのみで利用され、自律的にアップデートされます。メモリは製造時に割り当てられた固有の鍵で暗号化されています。
さらに、生体情報は復元不可能なハッシュ化形式で保存され、iCloudやAppleのサーバーに送信されることはありません。
Touch ID
Touch IDモジュールは端末のハードウェアとソフトウェアに直接接続されており、各端末ごとに製造時に個別設定されています。
Appleは追加のセキュリティ対策として、指紋認証の有効時間を制限しています:
- 48時間以上ロック解除されていない場合
- 過去6日間パスワードが一度も入力されていない場合は8時間
また、iPhoneの電源を切ったり再起動した場合や、新しい指紋を登録した際も、最初のログイン時にはパスワード入力が必要です。
Face ID
Face IDはTrueDepthカメラと機械学習技術を活用し、顔を認識します。
Face IDのデータ(顔の数値化データなど)は暗号化され、Secure Enclaveのみが利用できる鍵で保護されています。
Face IDは写真では取得できない奥行き情報をもとに認証します。目が開いているか、端末に視線を向けているかも判別できるため、寝ている間などに他人がロック解除するリスクも低減されています。
追加のセキュリティ確認として、以下の場合はパスコードの入力が必要です:
- 端末の電源を入れた直後や再起動直後
- 48時間以上ロック解除されていない場合
- 過去6日半パスコードでロック解除しておらず、過去4時間Face IDで解除していない場合
- リモートロックコマンドを受信した場合
- 顔認証に5回連続で失敗した場合
- 電源オフや緊急SOSを起動した後
端末を紛失・盗難した場合は、「探す」アプリで紛失モードに設定すれば、Face IDによるロック解除を防止できます。
Androidの生体認証セキュリティ
Android 6.0以降のスマートフォンは指紋認証ログインに対応しています。
指紋センサーは端末背面・側面・画面下部など、端末によって配置が異なります。
GoogleはAndroid端末メーカーに対して、データ暗号化の強制を含む様々な条件を設けており、これに準拠しないと認証が受けられません。主な要件は、Trusted Execution Environment(TEE)で生体情報を専用管理することです。
TEEは、メインOSから分離されたプロセッサ内の安全領域です。
- 生体認証に5回連続で失敗すると、以降の試行ごとに30秒間の待機時間が発生します。
- 指紋の追加・削除時はパスワードなど追加認証が必要です。
AppleのTouch IDやFace ID同様、Android端末の生体情報も専用プロセッサ(Trusty OS搭載)内に保存されます。このデータはGoogleやTangemアプリ、他アプリからアクセスできず、他端末と同期されることもありません。スマートフォン内の隔離領域にのみ保存されます。
Trusty OSはTEE上で動作する軽量OSです。
指紋登録時、センサーがスキャンデータを取得し、Trusty OSがTEE内で解析して、
- 暗号化された指紋テンプレート
- 検証用データセット
を生成します。暗号化テンプレートはTEE内か端末の暗号化ストレージに保存されます。このデータは復元が極めて困難で、万が一取得されても解読は不可能です。
つまり、Androidの生体情報保護は次の通りです:
- 生体情報そのものはどこにも保存されません。端末で受信後すぐハッシュ化され、TEEに格納されます。
- 指紋センサーや認証インターフェースもTEE内にあります。
- 生体情報はTEE内にのみ保存されます。
- TEE外からセンサーハードウェアにアクセスできません。
- Trustletは認証結果のみを提供し、スキャンデータ自体は提供しません。
TrustletはTEE上で動作するアプリで、単独では機能せず、指紋認証専用に設計されています。対象アプリ以外では利用価値がありません。
生体認証の流れは次の通りです:
- Tangemアプリを起動
- 生体認証でログインを試行
- スマートフォンがTrustletを起動
- 画面上に指紋認証インターフェースが表示
- Trustletが登録済み指紋と照合し、結果をTangemアプリに送信
これで認証完了です。
まとめ
AppleとGoogleは生体情報のセキュリティに万全を期しています。生体データは端末内の隔離された安全な領域に保管され、外部からアクセスできません。そのため、Tangemアプリでの生体認証ログインは非常に安全です。