Tangem Walletの生体認証の仕組みと安全性
主要な洞察
Tangemアプリに生体認証機能が追加され、カードをかざしたりパスワードを入力する代わりに、指紋や顔認証でウォレットの管理・ロック解除ができるようになりました。記事では、iOS・Androidともに生体情報は端末内の専用ハードウェア領域に安全に保存され、Tangemアプリや他のアプリがこの情報へアクセス・悪用することはできない仕組みを解説しています。そのため、Tangemアプリへの生体認証ログインは非常に安全かつ便利な方法です。
アプリのロック解除時にカードをスマートフォンにかざす必要はありません。カードやパスワードを使わず、すべてのTangem Walletを安全に確認できます。指紋認証やFace ID対応端末なら、指をセンサーに置くかカメラを見るだけで利用可能です。
生体認証対応の新しいアプリアップデートにより、Tangemアプリがさらに便利になり、暗号資産管理の幅が広がりました。ただし、生体情報の安全性に不安を感じる方もいるかもしれません。本記事では、その仕組みと安全性について解説します。
新しいTangemアプリ
Tangemアプリには「アプリ設定」が追加され、「ウォレットをアプリ内に保持」と「アクセスコードを保存」がデフォルトで有効になっています。これにより:
- 複数のTangem Walletをお持ちの場合でも、すべてアプリに紐付けられ、生体認証でアプリのロックを解除できます。
- すべてのカードの暗号化パスワードがスマートフォンに保存され、カード操作時もパスワード入力の代わりに生体認証が利用されます。
従来通りの使い方を希望する場合は、これらの設定を無効にすることもできます。
つまり、カードをかざしたりアクセスコードを入力しなくても、次の操作が可能です:
- Tangemアプリへのログイン
- コインやトークンの残高確認
- 複数ウォレット間の切り替え
Tangemアプリには追加のウォレットも簡単に登録できます。また、複数のTangem Walletをお持ちで、アプリに1つしか登録していない場合は、2枚目以降のカードをスマートフォンにかざすとアクセスコードの入力が求められ、その後自動的にアプリに紐付けされます。同時に、最初のウォレットへのアクセスは一時的にブロックされますが、生体認証で解除可能です。なお、トランザクション署名時には引き続きTangem Cardをかざす必要があります。
生体認証ログインはなぜ安全なのか
Tangemアプリのようなモバイルアプリは、スマートフォンのシステム機能を利用して、指紋や顔認証などの生体認証を設定できます。
重要:Tangemアプリを含むすべてのアプリは、認証の成否のみを確認でき、生体情報そのものへアクセスすることはできません。
現在、GoogleのAndroidとAppleのiOSはどちらも高い生体認証セキュリティを提供しています。両者とも仕組みは似ていますが、一部異なる点もあります。
iOSの生体認証セキュリティ
iOS端末のメインOSは生体情報を保存しません。機密情報は「Secure Enclave」と呼ばれる専用チップで隔離され、安全に管理されています。
Secure Enclaveは、メインプロセッサから独立した安全なサブシステムで、万が一メインプロセッサが侵害されても機密データを守るために設計されています。
最大限の隔離を実現するため、Secure Enclaveコプロセッサは専用のサブシステムのみで利用され、自律的にアップデートされます。メモリは製造時に割り当てられた固有の鍵で暗号化されています。
また、生体情報は復元不可能なハッシュとして保存され、iCloudやAppleのサーバーに送信されることはありません。
Touch ID
Touch IDモジュールは端末のハードウェアとソフトウェアに直接接続されています。各モジュールは製造時に特定のiPhone用に設定されます。
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と同様に、生体情報は独立したプロセッサ(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アプリでの生体認証ログインは非常に安全です。