94
AppleのiCloud認証システムがブラウザ使用時にアカウントを保護できない理由

2019年4月15日更新: Appleは、問題はiCloudの2要素認証システムではなく、ブラウザの扱い方にあると述べています。担当者は、ブラウザは信頼できる別のデバイスとして扱われるため、現在使用しているデバイスを含む他のすべてのデバイスにコードが送信されると説明しました。

iCloudアカウントとAppleデバイスの場合、2要素認証は他のデバイスやアカウントとは全く異なります。Appleのやり方として、iPhoneやMacの2要素認証はデバイス自体に組み込まれており、理論上はセキュリティキーと同じくらい安全なシステムが構築されています。ただし、必ずしもそうとは限りません。

仕組みは以下のとおりです。iPhoneでiCloudまたはApple Musicアカウントにログインしようとすると、まずパスワードの入力を求められます。パスワードが認識されると、次に信頼できるデバイス(例えばiPad)に送信されたコードの入力を求められます。iPadには、誰かがあなたのアカウントにログインしようとしていることを知らせるメッセージが表示され、許可するかどうかを尋ねられます。その後、6桁のコードが送られてくるので、iPhoneのボックスに入力します。

コードが届かない場合(時々起こります)、標準のSMSコードをリクエストするか、iPhoneの設定アプリまたはシステム環境設定でランダムに生成されたコードのいずれかを使用できます。iPhoneの場合はiCloud名、 Macの場合はアカウント詳細をタップし、 「パスワードとセキュリティ」をタップして、「確認コードを取得」をタップします。6桁のコードが表示されるので、他のデバイスの適切なボックスに入力してください。

Appleは2FAのあらゆる基盤を網羅しているように見えますが、独自の信頼できるデバイスシステムには欠点がないわけではありません。まず、複数のiOSデバイスを所有している場合に最も効果的に機能します。2台目のデバイスを追加することで保護層が強化されるだけでなく、ユーザーが知っている情報(パスワード)とユーザーが所有する情報(デバイス)を組み合わせることで、真の2FAを実現できます。

セキュリティシステムの穴

しかし、Appleデバイスを1台しか持っていない場合は、残念ながら運が悪く、そこから問題が発生します。例えば、iPhoneが唯一のAppleデバイスだとしたら、基本的にSMSを使うしかありません。他のAppleデバイスでコードを取得できないのは当然ですが、Appleは信頼できるデバイスをiOS 9以降を搭載したiPhone、iPad、iPod touch、またはOS X El Capitan以降を搭載したMacに限定しています。つまり、PC、Chromebook、Androidスマートフォンは使えないということです。これは大きな制限です。また、設定アプリでiCloudにサインインするため、内蔵の認証タブを使って確認コードを取得することもできません。

2FA iCloudアカウント IDG

ブラウザを使用して iCloud アカウントにログインする必要がある場合、2FA コードは同じデバイスに送信されます。

2FAは技術的にはアカウントとサービスを保護しているものの、最も安全性の低い方法です。なりすましや、届いたテキストベースのコードを盗み取られる問題はよく知られています。確かに、ほとんどのAndroidユーザーはスマートフォンでも2つの方法のいずれかを使用していますが、少なくとも生体認証機能付きの認証アプリをダウンロードするオプションはあります。AppleはまだiCloudのハードウェアセキュリティキーをサポートしていないため、2台目のAppleデバイスを使用する以外に選択肢はありません。

しかし、Appleデバイス1台でのiCloud 2FAの実装が不十分だとすれば、Web経由でアカウントを管理する必要がある場合、それは全くの欠陥です。Apple IDアカウントページにログインするためにパスワードを入力すると、iCloudキーチェーンに保存されているかどうかにかかわらず、Appleは当然のことながら、自動的に2FAコードの入力を求めます。

しかし、そのコードはあなたが信頼しているすべてのデバイスに送信されます。あなたが使用しているデバイスも例外ではありません。MacでSafariを使用している場合、2FAコードは同じ画面に表示されますが、これは本来の目的を損ない、Macが盗難された場合、最も機密性の高いデータが危険にさらされることになります。つまり、Apple IDページでiCloudキーチェーンを有効にしていれば、Macのパスワードさえあれば(ほとんどのモデルはTouch IDを搭載していないため)、誰かがあなたのアカウント全体にアクセスできてしまうのです。

iPhone、Mac、PCなど、どこからログインしても、Appleは信頼できるデバイスからアカウントにログインしようとしている人に2FAコードを送信します。Appleによると、問題はiCloudの2要素認証システムではなく、ブラウザの扱い方にあるとのことです。担当者の説明によると、iCloudの2要素認証ではブラウザは別の信頼できるデバイスとして扱われるため、コードはユーザーが使用しているデバイスに送信されるとのことです。これは理にかなっていますが、ユーザーに誤った安心感を与え、本来は強力なAppleの2要素認証システムを、安全性の低い1要素認証システムに変えてしまうことになります。