二要素認証(2FA)は、個人情報の保護のために何億人もの人々が利用せざるを得なくなるであろう最新の技術です。これは必要不可欠なものであり、多くの人にとって苛立たしいものとなるでしょう。なぜなら、サイトがクラッキングされ、パスワードが漏洩したという報告が後を絶たないからです。パスワードが平文で保存されていた場合も、クラッカーが盗んだ情報と一般的なパスワードを簡単に照合できるような、単純な暗号化方式が使用されていた場合も、それは変わりません。
2FAのセキュリティ強化を維持しながら、できる限り手間をかけずに済むようにするのは容易ではありません。ほとんどの人は既にパスワード管理に苦労しており、今回の変更はそこに新たな難題を突きつけることになります。数週間前までのAppleのアプローチは悪くなかったものの、今ほど徹底して実装されていなかったのです。しかし、Appleをはじめとする企業は、サードパーティ製ソフトウェアの脆弱性を突くことを避けるために、非常に大きな抜け穴を残しており、まさにこれがエクスプロイトが蔓延する温床となっているのです。
Appleの2FAを使うべきでしょうか?はい、今すぐ有効にしましょう。あなたほど技術に詳しくない人も使うべきでしょうか?はい、そして彼らをサポートしましょう!設定には少し手間がかかりますが、ほとんどは一度で済みます。Appleはもっとできるでしょうか?もちろんです。続きをお読みください。
まず背景
このコラムの読者のほとんどが、2FA(二段階認証とも呼ばれる)がウェブサイトやアカウントなどのリソースへの有効なアクセスを証明する2つの方法を組み合わせたものであることは既にご存知でしょう。1つは従来の方法で、通常はパスワードを使用します。もう1つは、スタンドアロンの物理キー、カードのタップ、生体認証センサーのスキャン、アプリで生成された数桁の数字、または携帯電話にテキストメッセージとして送信される数桁の数字によって生成されるトークンです。(3要素以上の認証要素を使用することもできますが、一般の消費者が利用しているようなケースは多くありません。)
これは、IDの作成または検証に「帯域外」方式を採用するという考え方です。パスワードは盗まれても、確認には別の方法、例えば物理デバイスや、後から発見できない特定の数値をシードしたアルゴリズムなどが必要になります。別の帯域を使用して2要素認証を取得することで、たとえパスワードが盗まれたとしても、アカウントやサービスへのアクセスは不可能になります。(キー入力キャプチャなどのマルウェアは、コードのデータ入力をキャプチャしたり、セッションを乗っ取ったりすることで、アクティブなセッション中にリアルタイムでアクセスをハッキングされる可能性があります。また、サイトの脆弱性を悪用して2要素認証を回避する例もあります。)
Google アカウントでアプリ固有のパスワードを使用したことがある場合は、iCloud の手順は馴染みがあるでしょう。
理論上は、「123456」のような極めて弱いパスワードを使い、2要素認証で攻撃を防ぐことも可能です。しかし実際には、賢明な人なら誰もこれを推奨しません。なぜなら、サイトのセキュリティ侵害によってのみ突破可能な強固な1つ目の壁は、2つ目の壁によってさらに強化されるからです。
Appleは2FA導入の初期段階にはいませんでした。これは、セキュリティを懸念しつつも、2要素認証に伴う煩わしさを避けたい一般ユーザーにとって、2FA導入は負担となることが大きな理由のようです。私はeBay/PayPalと株式取引サイトで長年数値トークン生成ツールを使っており、Googleの2FAが利用可能になった際には追加しました。大企業は、社内リソースやリモートアクセスの認証に、10年以上前からスマートカードなどのツールを使っていました。
iCloud をロックする
iCloudは2013年3月に2FAを追加しましたが、Appleのエコシステム特有の要素がいくつか含まれています。2段階認証コンポーネントの有効化と管理は、Apple IDサイトから行います(AppleのFAQで説明されています)。2段階認証には、少なくとも1台の信頼できるデバイスが必要です。信頼できるデバイスとは、「iPhoneを探す」を実行したり、SMSを受信できるデバイスで、信頼できるデバイスの少なくとも1台はSMSに対応している必要があります。Appleはバックアップとして14文字の復旧キーを提供しています。復旧キーを保管していれば、パスワードや信頼できるデバイスへのアクセスをすべて失った後でも、アカウントに再びアクセスできます。3つの要素(パスワード、信頼できるデバイス、復旧キー)のうち2つを失った場合、アカウントは永久にロックされます。
より多くの Apple ユーザーがデータの同期と保存に iCloud を利用するようになるにつれて、iCloud のセキュリティは今後も大きな問題となります。
最近まで、2FAは特定の操作、主にiOSにおいてのみ求められていました。iCloud.comではパスワードのみが必要で、iCloudバックアップは2要素認証を使わずにフォレンジックやクラッキングソフトウェアで取得・ロック解除できました。有名人のプライベート写真が流出した最近のセキュリティ問題(一部はiCloudパスワードへのブルートフォース攻撃によって可能になった)の後、ティム・クックはセキュリティ対策を強化すると表明し、今やそれが現実のものとなりました。
まず、アカウント変更に関するメールやシステムメッセージによるアラートの強化から始まり、iCloud.comへの2FAの完全実装へと進み、先週にはメール、連絡先、カレンダー項目のためにiCloudにアクセスするサードパーティ製アプリやサービスにアプリ固有のパスワードを要求することでほぼ完了しました。(Googleは、2010年に法人顧客向けに2FAを導入し、2011年初頭には全ユーザー向けに広く展開して以来、アプリ固有のパスワードを提供してきました。)
各アプリに新しいパスワード
アプリ固有のパスワードはちょっとした混乱を引き起こしました。Appleの2FA(2段階認証は依然として任意)を有効にするような人は、Appleから送られてきたメールも読んで、必要なコードの生成方法も把握しているはずなので、この切り替えについて大きな騒ぎは起きませんでした。しかし、接続に失敗した人からのコメントを読んで、なぜ一部のソフトウェアが接続に失敗するのか疑問に思いました。
こうしたパスワードには優れた特性がある一方で、大きな欠点が一つあります。パスワードは自分で選択できず、生成することしかできないため、Appleは長くて強力なパスワードを作成します。そのため、現在知られているあらゆる手法を用いた総当たり攻撃では、パスワードを解読することは事実上不可能です。パスワードは復元できません。一度作成され、「完了」ボタンが押されると、Appleは元のパスワードに関する情報を一切保持せず、復元方法も提供しません。保持されるのは、片方向暗号化されたパスワードのみです。
Apple IDサイトの「パスワードとセキュリティ」の「履歴を表示」セクションにある管理ツールを使えば、これらのパスワードも個別に、あるいは一括で無効にすることができます。また、メインアカウントのパスワードが変更されると、アプリ固有のパスワードもすべて自動的に無効になります。
できる限り、特に iCloud アカウントに結び付けられる可能性のあるサイトやサービスでは、2 要素認証を使用することが重要です。
しかし、これらのアプリは2要素認証のメリットを回避しており、特にメールアドレスに関しては懸念事項です。Appleの2要素認証は、パスワード変更の確認のためにApple自身のアカウント情報へのアクセスをブロックします。しかし、iCloudのメールアドレスを登録している他の1要素認証アカウントの場合、アプリ固有のパスワードにアクセスした第三者は、他のサービスでパスワードをリセットできてしまいます。
さて、これらの機能のメリットは、面倒な設定を経た後は、それほど頻繁に、あるいは全く煩わしくないことです。そのため、継続的なサポートの負担がなくなり、他の人(家族、友人、同僚など)を助けることができます。信頼できるデバイスの設定には数分かかります。iCloudと連携するメールクライアント、カレンダーアプリ、連絡先管理アプリをいくつ使っているかによって、必要なアプリ固有のパスワードを生成するのにも多少の時間がかかります。
ほとんどの人は 1 台のコンピューターまたはコンピューターのセットを使用する傾向があり、Apple では、特定のブラウザーで iCloud.com に初めてログインするときに 2FA を使用できるようにし、その後はセッションがタイムアウトしたときにパスワードのみを使用できるようにしています。
二要素認証はセキュリティの解決策にはなりません。悪用される可能性のある侵入ポイントは数多く存在し、常に新たな脆弱性が発見され(そして修正され)ています。二要素認証は、バターナイフで玄関の鍵をピッキングするのを防ぐだけでなく、通常は大型ハンマーでドアを壊すのも防ぎます。