アカウントセキュリティの基本

二要素認証が重要なのはなぜ?

パスワードが盗まれただけで、アカウントまで乗っ取られてしまわないように。2FAの役割、認証用の秘密鍵を安全に保管することの大切さ、そしてSign Inでご自身のデータを管理する方法を解説します。

作成: Sign In更新日:

パスワードだけでは不十分な理由

強固なパスワードであっても盗まれる可能性があります。偽のログインページで盗まれることもあれば、別のサービスで使い回していたパスワードがデータ侵害によって漏洩することもあります。攻撃者はそのパスワードを他のアカウントでも試します。二要素認証を使えば、パスワードが盗まれても、ログインにはもう一つの確認が必要になります。英国の国家サイバーセキュリティセンター(NCSC)は、強固なパスワードを使用している場合であっても、重要度の高いアカウントでは2段階認証を有効にすることを推奨しています。

まず、普段使っているメールアカウントから始めましょう。多くの場合、他のサービスのパスワードをリセットするためのリンクが届きます。次に、金融口座、仕事用ツール、クラウドストレージ、SNSアカウントを保護します。アカウントが乗っ取られると、個人的な文書が漏えいしたり、仕事が中断されたり、あなたの名前で友人や顧客に連絡を取られてしまうおそれがあります。

二要素認証コードの仕組み

二要素認証は、異なる2種類の方法での本人確認を組み合わせます。パスワードと認証コードの場合、これらは「あなたが知っていること(パスワード)」と「あなたが持っているもの(アカウントの秘密鍵を保持する認証アプリへのアクセス)」です。多要素認証(MFA)は、複数の要素で本人確認をする方法の総称です。

時間ベースのワンタイムパスワード、TOTPは、秘密の設定キーと現在時刻から計算される短時間だけ有効なコードです。認証アプリを使った2FAを有効にすると、サービス側から通常QRコードの形式でそのキーが提供されます。Sign Inはこのキーを使用してローカルでコードを生成し、サービス側はその控えを使って確認を行います。TOTPの仕様であるRFC 6238に記載されているように、コードは通常30秒ごとに変更されます。

設定キーは、個々のコードよりも重要です。キーをコピーした人は、その後のコードを生成できてしまいます。設定キーとQRコードは他人に見られないようにしてください。サポートメッセージで送信したり、スクリーンショットを共有したり、チャットに貼り付けたりしないでください。

2FAコードにSign Inを選ぶ理由

普段iPhoneを使う方にとって、認証用の秘密鍵を保管する上で最も安全な方法は、ユーザーご自身の管理下に置くことから始まると私たちは考えています。当社の認証アプリ「Sign In」は、ローカルでのコード生成、当社のサーバーに認証用の秘密鍵を保存しないこと、そしてユーザーが選択した場合のみの安全な同期という原則に基づいて構築されています。

  • コードはお使いのデバイス上で生成されます。 アカウントの設定が完了すると、Sign Inはインターネット接続なしでコードを生成できます。
  • 当社のサーバーには認証データを保存しません。 設定キー、アカウントラベル、および生成されたコードは、Sign Inのサーバーに送信または保存されることはありません。当社のサーバーには認証用の秘密鍵をまとめて保存していないため、そこから秘密鍵を盗み出されることもありません。
  • Sign Inのアカウントは不要です。 新たにアカウントを作らずにアプリを使用できます。
  • バックアップはご自身の選択です。 登録したアカウントをデバイス上に保持するか、ご自身のiCloudキーチェーンを通じた同期を有効にしてください。

これは明確なセキュリティ上の利点です。認証用の秘密鍵を保持する場所が少なくなります。デバイスのセキュリティや、ご利用のサービスのセキュリティは依然として重要です。各サービスは、独自のコードを検証するために必要な情報を保持し続けます。当社のプライバシーポリシーでは、任意で利用できるサービスロゴの取得機能を含め、Sign Inの保管およびデータ処理について説明しています。

AppleのiCloudキーチェーンによるオプションの安全な同期

複数のデバイスで登録したアカウントを利用できるようにしたい場合は、Sign Inのオプションであるアカウントバックアップを有効にしてください。これは、Appleの安全なキーチェーン同期システムであるご自身のiCloudキーチェーンを使用して、同じApple Accountにサインインしているお使いのiOSデバイス間でそれらを同期状態に保ちます。Sign Inが自社のサーバーにコピーをアップロードすることはありません。

Appleのドキュメントによると、標準のiCloudデータ保護を含め、パスワードとキーチェーンデータはエンドツーエンドで暗号化されます。キーチェーンのこの保護には、「高度なデータ保護」を有効にする必要はありません。また、AppleはiCloudキーチェーンを読み取ることはできないと明言しています。

同期では、コードの生成に必要な保護されたアカウントの秘密鍵が転送され、各デバイスがその時点のコードを計算します。これにより、Sign Inのサーバーに秘密鍵を渡すことなく、複数のデバイスを便利に使えます。

Sign Inが認証データを保管する場所
場所そこで行われること
ご自身のデバイス登録したアカウントがここに保存され、コードはローカルで生成されます。
ご自身のiCloudキーチェーンアカウントバックアップを有効にすると、Appleのエンドツーエンド暗号化を使用して登録したアカウントが同期されます。
Sign Inのサーバー認証用の秘密鍵、アカウントラベル、生成されたコードは保存されません。

アカウントバックアップはいつでもオフにできます。オフにしても、既存の同期済みコピーが必ずしも削除されるわけではありません。該当するアプリやiCloudの設定から、保存されているコピーを個別に管理してください。同期や復旧が利用できるかどうかは、Appleのサービスおよびアカウントの設定に依存します。

認証コード、パスキー、それともSMS?

サービスがサポートしている方法を選択し、それぞれの保護機能を理解しておきましょう。

  • 認証コード: サービスがTOTPをサポートしている場合、Sign Inは私たちが推奨する選択肢です。コードはオフラインで機能し、SMSの受信や電話番号を利用できるかどうかに依存しません。
  • パスキーおよびFIDOセキュリティキー: これらは、認証を実際のサービスに結びつけることで、フィッシングに強いサインインを提供します。対応しているサービス、特に機密性の高いアカウントで使用してください。FIDO Allianceがパスキーの仕組みを説明しています。
  • SMSまたはテキストメッセージ: より安全な方法が使えないときにも、SMSなら確認を一つ増やせます。ただし、電話番号の乗っ取りやメッセージの傍受により、ローカルで生成されるコードでは回避できるリスクが生じます。

コードベースの2FAは依然としてフィッシングの標的になる可能性があります。偽のウェブサイトがパスワードと現在のコードを要求し、両方を即座に悪用する場合があります。NISTの認証に関するガイダンスでは、ワンタイムコードとフィッシング耐性のある方法を区別し、電話ネットワークのリスクについて説明しています。サインインしようとしている本物のサービスでのみコードを入力し、突然電話をかけてきた相手にコードを読み上げないようにしてください。

Sign Inで最初のアカウントを保護する

  1. サービスのセキュリティ設定を開きます。 二要素認証または2段階認証の設定を見つけ、利用できる場合は認証アプリのオプションを選択します。
  2. 設定キーをSign Inに追加します。 別の画面に表示されたQRコードの場合は、Add → Scan QR Codeを使用します。同じスマートフォンの場合は、サービスに表示された設定キーでAdd → Enter Setup Keyを使用し、次にAdd Accountを選択します。
  3. サービスのウェブサイトまたはアプリで完了させます。 Sign Inに表示されているコードを入力し、2FAが有効になっていることを確認します。Sign Inにアカウントを追加しただけでは、サービス側の設定は完了しません。
  4. サービスの復旧用コードを保存します。 スマートフォンが利用できない場合にアクセスできる安全な場所に保管してください。

サービス固有の正確な手順については、まずGoogle 2FAガイド、Instagram 2FAガイドをご覧いただくか、すべてのセットアップガイドを参照してください。iPhone用認証アプリが必要な場合は、App StoreでSign Inを入手してください。

スマートフォンを紛失する前に備える

オプションのiCloudキーチェーン同期は複数のデバイス間でのアクセス維持に役立ちますが、各サービスが提供する復旧方法の代わりにはなりません。復旧用コードは、そのコードで復旧するアカウントとは別の場所に保管し、紛失したスマートフォンなしでもアクセスできることを確認してください。

強固なパスコードでデバイスを保護し、ソフトウェアを最新の状態に保ち、Apple Accountの復旧方法を最新の状態に維持してください。古いスマートフォンのデータを消去する前に、新しいデバイスでアカウントとコードが機能することを確認してください。当社のサーバーには秘密鍵を保存していないため、当社がそれらを取り出したり、ご自身のiCloudバックアップを復元したりすることはできません。

2FAとSign Inに関するよくある質問

強力で使い回していないパスワードを使用していれば、2FAはまだ必要ですか?

はい、パスワードでサインインし、サービスがそれをサポートしている場合は必要です。サービスごとに異なるパスワードを使えば、一つのサービスでの漏えいが他のアカウントに波及するリスクを減らせます。また、2FAを設定しておけば、パスワードが盗まれてもログイン時に追加の確認が必要になります。パスキーは、対応しているサービスでは、フィッシングに強い別のサインイン方法を提供します。

Sign Inは私の2FAコードを保存しますか?

Sign Inは、お使いのデバイスに保存されている認証用の秘密鍵から、ローカルでコードを生成します。それらの秘密鍵、アカウントラベル、または生成されたコードを当社のサーバーに保存することはありません。アカウントバックアップを有効にすると、登録したアカウントがご自身のiCloudキーチェーン経由で同期されます。

iCloud同期なしでSign Inを使用できますか?

はい。登録したアカウントのバックアップはオプションです。有効にしなくても、お使いのデバイス上でコードを生成できます。そのデバイスを紛失した場合に備えて、サービスの復旧用コードを保存しておいてください。

インターネット接続なしでも認証コードは機能しますか?

はい。セットアップ後、Sign Inは保存された秘密鍵とデバイスの時計を使用してTOTPコードを生成します。サインイン先のウェブサイトやサービス側には通常インターネット接続が必要です。デバイスの日付と時刻を正確に保ってください。

出典と参考資料

このガイドは、2段階認証に関するNCSCのガイダンス、TOTPに関するRFC 6238、NISTの認証ガイダンス、およびFIDO Allianceのパスキー概要を参考に作成されています。Appleの暗号化については、iCloudデータのセキュリティの概要およびiCloudキーチェーンのプライバシーに関する通知に記載されています。Sign Inのアプリでのデータの取り扱いについては、当社のプライバシーポリシーに記載されています。