Facebookのパスワードリセット機能のまとめ

Facebookのパスワードを忘れてしまった場合、「パスワードを忘れた場合はこちら」のリンクから、パスワードを再設定することができる。いわゆるパスワードリセット機能で、大抵の Webサービスには似たような機能があると思うが、Facebookでは実に多様な方法でパスワードをリセットすることができる。そしてこれがセキュリティ上問題になったり、混乱を生む原因にもなっているのではないかと思う。ということで Facebookのパスワードリセット機能についてまとめておく。(続編も一緒にどうぞ!)

通常の方法

まず、もっともポピュラーな方法として以下がある*1

1-1. Googleアカウントでログインする
1-2. 登録しているメールアドレスにメールで確認コードを送る
1-3. 登録している携帯電話に SMSで確認コードを送る
1-4. コードジェネレータを利用する

FacebookGmailのメールアドレスを登録している場合、Googleアカウントでログインするのが最も簡単な方法だ (1-1)。Facebookに登録された Googleのアカウントでログインし、Facebookにメールアドレスの表示を許可するだけで OK。すぐに新しいパスワードを再設定することができる。(Google以外にもアカウント連携できるものがあるかも。未確認。)

Gmail以外のメールアドレスを登録している場合や携帯電話番号を登録している場合には、(1-2) か (1-3) の方法で 6桁の確認コードを受信できる。またログイン承認 (いわゆる 2段階認証) の機能に用いられるコードジェネレータを有効に設定している場合には、それを使ってもよい (1-4)。いずれの場合でも確認コードを正しく入力できればパスワードの再設定が可能だ。

ややイレギュラーな方法

次に上記のいずれの手段も利用できない場合に使う方法を紹介する。スマホを紛失したり、メールアドレスにもアクセスできないというかなり特殊な状況だとは思うが、こういう緊急時(?)でもパスワードをリセットすることができる。

2. セキュリティのための質問に回答する

「セキュリティのための質問」は他のサービスでは「秘密の質問」などと呼ばれることもある。本人以外には知りえない情報をあらかじめ登録しておき、その内容を答えさせることで本人かどうかを確認するものだ。しかし実際には、質問の選択肢が限定されていて、質問の内容も本人以外が容易に知りうるものが多く、アカウント乗っ取りに利用されるケースもある。なかなか問題の多い機能である。

Facebookでは以下の 6つの中から質問を選択して、あらかじめ回答を登録しておく。

  • 小学校1年生の時の担任の先生の苗字は?
  • お母さんが生まれた町の名前は?
  • 8才の時に住んでいた町の名前は?
  • 小学校3年のときの担任の先生の名前は?
  • おじいさんの職業は?
  • おばあさんの職業は?

選択肢が少ないうえに、本人以外には知りえない秘密かと言われれば疑問を感じるものもある。

ところで秘密の質問を使ってパスワードリセットを行うのは他のサービスでは一般的に行われているが Facebookではやや日陰の存在だ。なぜかというと、実は Facebookでは設定することをもはや推奨していないからだ(後述する「信頼できる連絡先」の利用をすすめている)。機能としては存在しているのに、設定項目としてどこにも表示されないのである。以前は「アカウント設定 > セキュリティ」の中に項目として表示され、一度設定を行うと以後表示されなくなっていた。しかし現在は設定の有無に関係なく表示されないようになっている*2

また「セキュリティのための質問」は一度設定すると以後その内容を変更することができなくなる。その理由はヘルプによると、次のとおりである。

セキュリティのための質問を変更することはできますか。

ユーザーのアカウントと情報を安全な状態に維持するため、アカウントのセキュリティのための質問を一度設定すると、変更することはできません。ご不便をおかけして申し訳ありません。

うっかり間違って他人が容易に推測可能な回答を設定してしまった場合はどうすればいいのだろうか。設定してもあとから変更できるようにするべきだと思うがこういう仕様なので仕方がない。(実はちょっとした技を使うと再設定することはできるのだが、それについては別記事で。)
ちなみに Yahoo! Japanでも Facebookと同じように、一度設定すると変更できない仕様になっている

というわけなので、Facebookの「セキュリティのための質問」は強制ではないし、設定項目にも表示されないし、一度設定したら変更できないし、うっかり簡単な答えを設定したら悪用される危険性が高いので、設定しないほうがいいと思う。万が一の場合に備えて設定しおきたいという奇特な人は、ランダムな回答を登録してパスワード管理ソフトにでも覚えさせておけばいい。

なお設定項目に表示されないため、自分が過去に設定したかどうか忘れてしまうこともあるだろう。そういう場合には以下の URLにアクセスすると、セキュリティのための質問を設定したか確認することができる。

https://www.facebook.com/update_security_info.php (要ログイン)

3. 友達の助けを借りる

さて次に SNSらしいユニークな方法が「友達の助けを借りる」というものだ。これは実際には次の 2つのパターンにわかれる。

3-1. 信頼できる連絡先を事前に登録している場合

信頼できる連絡先」とは何かというと、パスワードリセットを行う際に助けてもらう友人をあらかじめ登録しておく機能のことだ。3〜5人の友達をあらかじめ登録しておくことができる。この場合のパスワードリセットの手順は以下のようになる。

  1. あらかじめ登録した友達 3-5人の中から 3人の友達に連絡する。
  2. 友達にこの URL にアクセスしてコードを取得してもらい、そのコードを聞く。
  3. 3人から聞いた 3つのコードを入力する。

3つのコードがすべて正しく入力できれば、パスワードを再設定することができるようになる。
これは「セキュリティのための質問」に代わるものとして今年 5月に導入された比較的新しい機能なので、まだ利用できないユーザがいるかもしれない*3

3-2. 信頼できる連絡先を登録していない場合

信頼できる連絡先を登録していない場合はどうなるかというと、実はパスワードリセットを行う際にあとから助けてもらう友人を選択することもできる。この場合の手順は以下のとおり。

  1. 友達一覧の中から 3人の友達を選択する。
  2. 3人の友達に手順を説明するメッセージが送信される。
  3. 3人の友達から確認コードを取得し、3つのコードを入力する。

基本的な手順はさきほどとほとんど変わらないが、助けを借りる友達をあらかじめ登録しておくか、あとから選択するかという点が異なる。そしてこの違いが実は問題で、いわゆる「3人の架空アカウントと友達になると乗っ取られる」問題はこの機能を悪用するものだ。フェイスブックナビが注意喚起をしたことで最近ちょっと話題にもなったが、実はこの問題自体は約 2年前から存在している。そしてこれを解決するために改良されたのが前述の「信頼できる連絡先」の機能である。

攻撃者はあらかじめ架空のダミーアカウントを複数登録し、ターゲットとなるアカウントに友達申請をする。運良く 3人の友達(いずれもダミー)が承認されれば、(3-2)の手順を利用して攻撃者はターゲットのアカウントのパスワードをリセットできるという仕組みだ。しかしこの乗っ取り方法は攻撃者からすれば面倒で効率が悪いし、2年も前から存在するのにこの方法で乗っ取られたという話は聞いたことがない。
また最近新しく登録したアカウントではそもそもこの方法は有効になっていないほか、古いユーザのアカウントでも無効になっている場合がある。おそらくセキュリティの設定項目などが影響しているのだと思うが、無効になるアカウントの条件がはっきりしないため、この攻撃方法が有効なアカウントの総数もよくわかっていない*4。まああまり心配する必要はないと思うが、心配な人は「信頼できる連絡先」を登録しておけばよい*5

まとめ

  • Facebookのパスワードリセットの方法はいろいろある。
  • (2)と (3-2)の方法は攻撃者に悪用されるかもしれないので要注意。
  • 通常の方法が使えない緊急時に備えるのであれば、「セキュリティのための質問」は設定しないで、「信頼できる連絡先」を設定しよう
  • アカウントによってどの方法が使えるかはそれぞれ異なる(設定項目の有無や、登録時期など様々な要素が影響すると思われる)。
  • 自分のアカウントではどの方法が使えるのか、一度確認しておくべきFacebookは告知もなしに頻繁に仕様を変更するので、定期的に確認するのもいいかもしれない。
1. 通常の方法
 1-1. Googleアカウントでログインする
 1-2. 登録しているメールアドレスにメールで確認コードを送る
 1-3. 登録している携帯電話に SMSで確認コードを送る
 1-4. コードジェネレータを利用する
2. セキュリティのための質問に回答する
3. 友達の助けを借りる
 3-1. 信頼できる連絡先を事前に登録している場合
 3-2. 信頼できる連絡先を登録していない場合

*1:この他にもあるかもしれないが未確認。

*2:いつからこのような変更が行われたのか、よくわからない。信頼できる連絡先の機能が提供されたあとからか?

*3:Facebookでは新機能が全ユーザに行き渡るまでに数週間かかることが多い。

*4:おそらく近いうちにこの機能は全ユーザで無効になると思われる。

*5:ただし「信頼できる連絡先」を設定しているにもかかわらず、(3-2)の手順が実行できるアカウントが存在する。どういう条件でそうなるのかわからない。