28
Facebook、GitHubでアカウント復旧機能をテスト

FacebookとGitHubは、ユーザーがアカウントへのアクセスを永久に失うことがないよう、提携しました。Facebookのセキュリティエンジニア、ブラッド・ヒル氏が作成した「委任アカウント復旧」仕様に基づくこのシステムは、将来的には他のサービスプロバイダーにも利用される可能性があります。

GitHubによると、この機能の利用には5つのステップが必要だという。セキュリティ設定を開き、リカバリートークンの保存を確認し、アカウントへのアクセスが失われ、カスタマーサポートチームに連絡し、Facebookの「他の場所でアカウントを回復」機能からGitHubを選択する。これで完了だ。現在、このシステムは一方通行で、Facebookアカウントを使ってGitHubアカウントを回復できるが、近いうちに逆も可能になるという。

Facebookの野望はGitHubだけにとどまらない。ヒル氏はブログ記事でこう説明した。

近い将来、Facebookを利用したアカウント復旧エクスペリエンスを、あらゆるサービスが改善できるよう支援したいと考えています。また、GitHubアカウントなど、他のアカウントを使ってFacebookへのアクセスを復旧できる機能も提供したいと考えています。[...] 実用的なセキュリティは、アカウント復旧が必要な場合も含め、アカウントにアクセスするあらゆる方法をカバーする必要があります。このソリューションによって、パスワードを忘れたり、携帯電話を紛失したりしてアカウントを復旧する必要がある場合のセキュリティとエクスペリエンスの両方が向上することを願っています。

この発表は、FacebookがFast Identity Online(FIDO)AllianceのUniversal 2nd Factor(U2F)標準のサポートを追加した直後に行われました。U2Fにより、ユーザーはテキストメッセージで送信されるコードやモバイルアプリで生成されるコードに頼る代わりに、USBセキュリティキーでアカウントを保護できます。(ただし、Facebookを含む多くの企業は、バックアップとしてSMSまたはアプリベースのコードを要求しています。)この目的は、2要素認証をより使いやすくすることです。

FacebookとGitHubは、この機能を有効にしてもデータ共有は発生しないことを強調した。GitHubは次のように説明した。

GitHubはトークンID、ユーザーID、トークンの状態のみを保存します。Facebookは、Facebookアカウントに関連付けられた暗号化されたシークレットを含むトークンのみを保存します。このトークンはリカバリで使用されるまで有効になりません。このプロセスにより、暗号化キーと署名キーがさらに侵害されることなく、データベースダンプやSQLインジェクション脆弱性の影響を最小限に抑えることができます。

このシステムは現在展開中です。Facebookはこの機能の基盤となるプロトコルをGitHubで公開しており、両社はFacebook Bug Bountyに報告された仕様上のバグに対して報酬を支払う予定です。試験運用が順調に進めば、最終的には他のサービスでも委任によるアカウント回復が利用可能になる予定です。