iOS 9 の発表の中には、セキュリティ関連の変更が 2 つありました。Apple は、4 桁のパスコードではなく 6 桁のパスコードを設定することを推奨するようになりました。また、2 要素認証は、後付けではなく iOS (および OS X) に組み込まれました。
桁違いに難しい
最初の変化は説明しやすいです。真にランダムな6桁のコード(つまり、「111111」や「123456」のようなパターンではないもの)を解読するのは、同じ4桁のコードよりも最大100倍困難です。iOSデバイスに1万個のコードを総当たり攻撃で入力するのは難しそうに思えますが、最近、ある研究者グループがiOSデバイスの電源オフ問題を悪用し、4桁のコードを自動で解読するシステムを開発しました。コードの解読には6秒から17時間かかるとのことです。
新しいパスコードは6桁です。Touch IDを搭載した新しいiOSデバイス(現在Appleが販売しているデバイスのほとんど)では、指紋認証が有効になっている場合、パスコードを入力する必要はほとんどありません。Appleはユーザーがパスコード入力を後戻りできるようにしています。「パスコードオプション」をタップすると、従来の4桁の数字コードを選択できます。しかし、ほとんどの人はパスコードオプションをタップしません。
うわ、@FBIがこれに激怒しそうだな。暗証番号は最低6桁になって、パスワードの選択肢も増えたし。pic.twitter.com/9v3vKhPeOY
— フレデリック・ジェイコブス(@FredericJacobs)2015年6月8日
同じクラッキング ルーチンが新しいバージョンの iOS でも機能するとしたら、クラッキングの上限は 6 秒から 7 か月近くになります。
それをあなたの経験に考慮してください
Appleは2013年3月に一部のアカウントに2段階認証を追加し、その後18ヶ月かけてiCloudを含む他のサービスにも拡大しました。現在、Appleは通知と「iPhoneを探す」機能を利用して、ユーザーに4桁のトークンを提供し、本人確認を行っています。しかも、2段階認証はすべてのアカウントで必須というわけではありません。私は今でもApple IDだけで開発者アカウントにログインでき、2度目の本人確認は必要ありません。
AppleはiOS 9とOS X 10.11 El Capitanの機能として統合することで、明らかにその強化を目指していますが、詳細はまだ明らかにされていません。Appleは、El Capitanに2要素認証のサポートも統合されることを確認しました。(Appleが「2段階認証」ではなく「2要素認証」と言っている点に注意してください。これは少し意味深長かもしれません。)
iOS 8では、設定で「シンプルなパスコード」をオフにして6桁のパスコードを使用できます。パスコードがすべて数字の場合、ロック画面にはテンキーのみが表示されます。ただし、入力が終わったら「OK」を押さなければなりません。
新しいシステムでは、より洗練されたオプションが使用されるようです。iOS 9プレビューページのスクリーンショットでは、iPadで別のデバイスからApple IDログインが試行された際に、「許可しない」または「許可」をタップするよう促すメッセージが表示されます。インセットのモーダルダイアログボックスには、要求元のデバイス名とアカウントだけでなく、地図上のデバイスの位置も表示されます。
より分かりやすく、グラフィカルで、情報量が多い方法にすることで、現在の方法よりも多くの人が採用するようになるかもしれません。数リリース前のOS XとiOSでは、Bluetoothデバイスのペアリングにおいて同様の改善が行われました。ペアリングされたデバイスの片方に表示されるコードをもう片方に入力するのではなく、ユーザーは両方のコードが一致していることを確認するだけで済みました。
二段階認証システムは、あらゆるセキュリティ侵害に対する万能薬ではありません。むしろ、フィッシング(パスワードを騙し取る行為)を抑止するものです。パスワードと二段階認証要素は、どちらも単独では役に立ちません。どちらか一方を取得すれば、もう一方が必要になります。また、他のサイトでアカウントを保有し、同じ認証情報(複数のサイトで同じメールアドレスとパスワードを使用するなど)を再利用している場合にも、二段階認証システムは役立ちます。これにより、攻撃対象が通常、世界中から物理的な近距離へと移行し、手段と可能性の両方でリスクを軽減します。
Appleはこれまで一貫して「2段階認証」という用語を使用してきました。これは、Appleのシステムでは、ユーザーが使用しているデバイス以外のデバイスにコードを送信する必要がないためです。コードはSMS経由で任意の電話番号や登録済みのiOSデバイスに送信できますが、OS Xデバイスには送信できません。SMSは厳密には安全ではなく、YosemiteおよびiOS 8.1以降で導入されたContinuityによるSMS転送機能により、SMSで送信された確認トークンが画面に表示されるコンピューターにログインしてしまう可能性があります。(この点については、2014年10月のPrivate Iコラムで詳しく書きました。)
二要素認証には、二段階認証の利点があり、リモート攻撃のみを阻止します。しかし、機器やデバイスに物理的に近い場所にいる場合の攻撃にも役立ちます。パスワード(知っている情報)、電話番号(所有物)、生体認証(本人の情報)といった要素は、別々の要素として扱われるべきではありません。つまり、パスワードと生体認証は、一緒に保存したり、同じ方法でアクセスしたりしてはいけません。誰かが一つにアクセスしたとしても(できればあなたの指先ではないことを祈ります)、他の要素にもアクセスすることはできません。
AppleはiOS 9のプレビューページで、前述の新しい方法と思われるものと、6桁のコード(これも現在の4桁から増加)を入力するiPhone画面の両方を公開しています。テキストによる説明では、新しい方法の説明も、なぜ新しい用語が選ばれたのかも説明されていません。この件については近々詳細が明らかになるはずですが、良い兆候と言えるでしょう。
2 段階認証または 2 要素認証の ID 証明が改善され、それを利用する人の数が増えるほど、悪用や ID 盗難、さらに悪い状況に陥る可能性が低くなります。