認証アプリとは?SMS認証との違いをわかりやすく解説
一時的な確認コードをスマートフォン内で生成し、パスワードに追加の本人確認を加えるアプリです。
認証アプリとは?
認証アプリは、二段階認証などで使う一時的な確認コードを生成します。代表的な使い方では、アプリに6桁などのコードが表示され、一定時間ごとに変化します。
- メールアドレスとパスワードを入力する
- 認証アプリを開く
- 対象サービスのコードを入力する
- 両方が正しければログインできる
Google Authenticator、Microsoft Authenticator、パスワード管理サービス内の認証機能などがあります。利用できるアプリはサービス側の案内を確認します。
コードを生成する仕組み
一般的な時間ベースのワンタイムパスワード(TOTP)は、サービスとアプリが共有した秘密情報と現在時刻をもとにコードを生成します。RFC 6238では標準の時間間隔を30秒としています。
コードは毎回SMSで届くのではありません。一度設定すれば、生成自体は携帯電話の電波やインターネット接続がなくてもできる場合があります。ただし、ログインやクラウド同期には通信が必要です。
QRコードは秘密情報
設定用QRコードには、認証コードを作るための情報が含まれます。第三者が取得すると、その人のアプリでも同じコードを生成できる可能性があります。SNSへの掲載、他人への送信、提供元不明アプリでの読み取りは避けます。
SMS認証との違い
- SMS認証:登録した電話番号へサービスがコードを送る
- 認証アプリ:登録した秘密情報を使い、アプリ内でコードを生成する
SMSは導入しやすい一方、SIMスワップの影響を受ける可能性があります。認証アプリは電話番号へ依存しにくい代わりに、紛失、機種変更、バックアップを自分で管理する必要があります。
認証アプリのメリット
SIMスワップの影響を受けにくい
コードは電話番号へ送られないため、電話番号を奪われただけでは取得されにくい点がメリットです。
SMSの受信環境に左右されにくい
地下、海外、圏外などでもコードを生成できる場合があり、SMSの到着を待つ必要もありません。
電話番号に依存しにくい
サービスによっては、追加認証用の電話番号を登録せずに使えます。
複数サービスをまとめられる
メール、SNS、クラウドなどのコードを一つのアプリで管理できます。
認証アプリなら絶対安全?
いいえ。認証アプリのコードを偽サイトへ入力すると、攻撃者にリアルタイムで悪用される可能性があります。NISTは、手入力するOTPは特定の正規サイトへ結びついていないため、フィッシング耐性があるとはみなしていません。
サポートなどを名乗られてもコードを共有しません。自分が正規サービスへのログインを始めた場合にだけ、公式画面へ入力します。
スマートフォン自体を守る
- 画面ロックを設定する
- 対応していれば認証アプリにも端末認証を設定する
- OSと認証アプリを更新する
- 紛失時に遠隔ロックできるようにする
端末のロックが解除された状態で他人に操作されると、コードを見られる可能性があります。
機種変更前に必ず移行する
- 新しい端末を準備する
古い端末はまだ初期化しません。 - 公式手順で移行する
同期、エクスポート、QRコードなどアプリ指定の方法を使います。 - 実際にログインする
重要サービスで新端末のコードが使えるか確認します。 - 復旧手段を確認する
バックアップコードなども利用できる状態にします。 - 古い端末を初期化する
すべて確認してから行います。
紛失に備えて復旧手段を用意する
バックアップコード、予備の認証方法、別の信頼済み端末、セキュリティキー、正式な復旧手続きを確認します。バックアップコードを同じスマートフォンだけに保存すると紛失時に両方を失うため、別の安全な場所へ保管します。
クラウド同期の注意点
同期機能は移行や復元を簡単にしますが、同期先アカウントが重要になります。同期先の強い認証、画面ロック、復旧方法を設定し、何が同期されるかを公式案内で確認します。
SMSを予備として残す場合
SMSを残すと電話番号を狙う弱点も残りますが、端末紛失時の復旧に役立つ場合があります。不正ログインを防ぐ強さと、本人が安全に復旧できることの両方で判断します。
パスキーとの違い
パスキーは、サービスごとの暗号学的な認証情報を使い、画面ロックや生体認証などで本人確認します。コードを偽サイトへ入力する必要がないため、フィッシングへの耐性を高めやすい方式です。
認証アプリを選ぶポイント
- 信頼できる提供元か
- 継続的に更新されているか
- 端末認証に対応しているか
- バックアップと移行方法が明確か
- 復旧手順とプライバシーポリシーを確認できるか
広告や突然の警告から提供元不明のアプリを入れず、公式ストアや提供元サイトから確認します。
コードが使えないとき
TOTPでは端末の時刻が大きくずれると認証に失敗することがあります。日時の自動設定、選択中のアカウント、コードの有効時間、アクセス先が正規かを確認し、解決しなければ正式な復旧手続きを使います。
SECRET CLOUD
シークレットクラウドではGoogleアカウントを保護する
シークレットクラウドはGoogleログインを使用し、独自の認証アプリ用コードは発行しません。Google Accountで認証アプリ、Googleからのメッセージ、パスキーなど、利用可能な追加認証と復旧方法を確認してください。
プライバシー設計を見る安全に使う7つのポイント
- 信頼できる認証アプリを使う
- スマートフォンに画面ロックを設定する
- 認証コードを他人へ教えない
- 設定用QRコードや秘密鍵を見せない
- バックアップコードを別の安全な場所へ保管する
- 機種変更前に移行とログインを確認する
- 偽サイトへのコード入力に注意する
まとめ
認証アプリは、秘密情報と時刻などから本人確認用コードを端末内で生成します。SMS認証より電話番号へ依存しにくく、SIMスワップの影響を受けにくい点がメリットです。一方、フィッシング、端末紛失、機種変更、復旧手段の管理には注意が必要です。固有のパスワード、端末保護、バックアップ、公式画面の確認を組み合わせましょう。
参考情報
- IETF「RFC 6238: TOTP」
- NIST「Authentication and Authenticator Management」
- Google「Google 認証システムで確認コードを取得する」
- Microsoft「Restore account credentials」
同期、移行、復旧方法はアプリごとに異なります。最新情報は公式案内で確認してください。