\r\n\r\n
もし、あなたがパスワードの正しいバージョンは、あなたが使っている正確な大文字と文字/記号の順序だけだと思っているなら、あなたは驚かれるかもしれません。Facebookでは、お客様の便宜を図るため、パスワードのちょっとした変更も受け付けています。しかも、とても安全です。
Facebookなどには問題がある。長くて複雑なパスワードを使うようにとのことですが、これでは入力が困難です。本来はパスワードマネージャーで対応すべきですが、ほとんどの人はそうしていません。そして、この2つの要因から、間違ったパスワードを入力してしまうことがよくあるのです。
その時、Facebookはどうするのでしょうか?
パスワードが少し間違っているというだけで、入室を拒否され、イライラさせるためにもう一度トライする必要があるのでしょうか?それとも、入力されたパスワードは正しいかもしれないが、タイプミスがあることを認識し、そのミスを見過ごして猫のプレゼントや赤ちゃんの写真の旅をスムーズに行うべきでしょうか?
ロンドンのFacebook Engineeringでセキュリティ・インフラ・チームの元ソフトウェアエンジニアであるAlec Muffet氏が説明するように、Facebookは後者を選択したのである。パスワードが正解に近い場合、正確なパスワードと判断される可能性があります。そのためのルールは簡単です。Facebookは、以下の条件のいずれかに該当する場合、不正なパスワードを受け付けます。
ご覧のように、これらの亜種はすべて、入力時にパスワードがわずかに失われるという基本コンセプトを軸に展開されています。場合によっては、単語の最初の文字が大文字になっているなど、オートコレクトの問題である可能性があります。このような特定のルールに合致しないパスワードを入力しても、問題があることに気づかず、そのままログインしてしまうのです。
例えば、あなたのパスワードが「letMeIn」だとすると、Facebookは「letMeIn」(大文字と小文字の反転が簡単だから)、「letMeIn」も受け入れるでしょう。" (最初の文字が大文字でないため)。また、"1letMeIn "や "letMeIn2 "のような変形も、先頭や末尾の追加文字以外は正しいので、受け入れることができます。ただし、「LETMEIN」「LETMEIN」「12LetMeIn」は一切受け付けません。
一見すると、フェイスブックのパスワードに対する甘さは、安全性に欠けるように思えます。しかし、この場合、真実はもっと複雑である。ハッキングというと、昔のハッキング犯罪ドラマのように、わずか数分の間にパスワードを素早く暴力的に推測するようなものを想像しがちですが、ハッキングはそのようなものではありません。未知のパスワードの暴力的な強要は存在するが、テレビが意味するものとは全く異なるものである。xkcdで有名なように、パスワードの長さが長くなればなるほど、解読にかかる時間は指数関数的に増加します。複雑さを増すことは有効ですが、あなたが思うほどではありません。
そこで、Facebookが許容するシナリオの一つとして、パスワードの先頭または末尾に文字を追加することで、ブルートフォースの利用をより困難にすることができます。ハッカーは、パスワードを入力する前に、すでに正しいパスワードを持っていて、さらに1文字追加する必要があるのです。
特に注目されたのは、キャップロック方式である。まずメモ帳でパスワードを手入力し、その結果をFacebookに貼り付けてテストしてみました。そのパスワードを拒否したのだ。そして、キャップスロックをオンにして、キャップスロックがオフであるかのようにパスワードを入力し、状況を逆転させたのです。facebookはパスワードだけでなく、その入力方法もチェックします。ブルートフォースは、この場合、資本ロックをシミュレートする以外には役に立ちませんが、実際のパスワードを狙うよりも難しいでしょう。
更新:情報セキュリティコンサルタントのpaulmoore氏がTwitterで指摘したように、Facebookはあなたのオリジナルのパスワード(適切にハッシュ化、塩漬けされたもの)だけを保存し、その変種は保存しない可能性があります。ログインのためにパスワードを送信すると、元のパスワードと照合されます。不一致の場合、Facebookはあなたの送信されたパスワードをこれらのバリアントで実行します。例えば、大文字と小文字のロックをオンにしている場合、Facebookは送信されたパスワードを受け取り、文字の大文字と小文字を反転させて、もう一度試行します。これでダメなら、Facebookはまた次のシナリオを試します。基本的に、Facebookはパスワードの偶発的なエラーをチェックし、「パスワードが間違っています」というメッセージが表示されたら、それを修正するようになっています。これなら、すべてのプロセスでイライラすることもありません。正しいパスワードの概念が必要であり、許容されるバリエーションも狭いため、セキュリティが低下するわけではありません。
さらに重要なことは、暴力的な手段がソーシャルネットワークやその他のアカウントへの主なアクセス手段ではないことです。ソーシャルエンジニアリングやパスワードダンプはもっと簡単です。パスワードリセットの質問がある場合、少なくともいくつかの回答は一般にアクセス可能な情報である可能性が高いです。出身地、母親の旧姓、高校のマスコットなどに関する質問であれば、答えが見つかる可能性があります。この時点で、悪者はパスワードをリセットできるため、パスワードそのものを推測・判断する必要は全くなくなります。
残念ながら、多くの人が、ログイン情報を必要とするすべてのサイトで、同じメールアドレスとパスワードの組み合わせを使用しています。情報漏えいの例は、遠くを探さなくても次から次へと見つかります。同じメールアドレスとパスワードの組み合わせを複数の場所で使用し、何年もそうしてきたのであれば、Facebookのポリシーではなく、あなたのパスワードが侵害されているのです。
被害にあっているかどうかわからない場合は、haveibeenpwned.comのウェブサイトにアクセスし、パスワードが盗まれていないかどうかを確認してください。少なくともどこかでアカウントを漏洩している可能性が高いです。
このポリシーがあなたを弱者にしているとまだ懸念している場合、あなたが取ることができるいくつかのステップがあります。まず、各サイトで同じパスワードを使うのをやめることです。その代わりに、パスワードマネージャーを入手し、使用するさまざまなサイトごとに固有の長いパスワードを生成させるようにします。そうすれば、次に自分が使っているサイトが危険にさらされているのを見たときに、たった一つのパスワードを変更するだけで、この既知のパスワードがハッカーに役立つことはないとわかって安心できます。
パスワードを強化したら、2ファクタ認証を提供しているサイトでは、2ファクタ認証を有効にしましょう。 Facebookは2ファクタ認証を提供していますので、そちらも設定してください。二要素認証は、スマートフォン**のアプリを利用して、頻繁に新しいコードを生成したり、物理的なキーを持ち歩いたりすることができます。SMSベースの二要素認証は、ないよりはましですが、ソーシャルエンジニアリングの手法に対して脆弱であることに変わりはありません。したがって、認証アプリケーションや物理鍵に頼ることができるのであれば、そうすべきです。もし、**や鍵に何かあった場合、スペアを用意しておくと安心です。
この組み合わせで、Facebookのパスワードポリシーに関係なく、あなたのアカウントの安全性が高まります。少なくともパスワードマネージャーと固有のパスワードを使用する必要がありますが、二要素認証と組み合わせて使用するのがよいでしょう。
Facebookのパスワードポリシーについては、安全性が低いのではと心配になりがちですが、現実にはメリットがデメリットを上回っているのです。セキュリティはバランス感覚です。システムをロックダウンすればするほど、アクセスは不便になります。しかし、より簡単なアクセスを追加すると、セキュリティが失われます。ユーザーをイライラさせることなく、ユーザーを保護するためには、その両方を適切に行うことが重要です。facebookは、ユーザーの使いやすさの点でミスを犯していますが、これは許容範囲内の判断かもしれません。