最近、いくつかの企業がパスワードをプレーンテキスト形式で保存することを認めています。これは、パスワードをメモ帳に保存して.txtファイルとして保存するようなものです。パスワードはセキュリティのためにソルト化してハッシュ化する必要がありますが、2019年にそれが行われないのはなぜですか?
パスワードをプレーンテキストで保存すべきではない理由
会社がパスワードをプレーンテキストで保存する場合、パスワードデータベース(またはパスワードが保存されている他のファイル)を持っている人は誰でもパスワードを読み取ることができます。ハッカーがファイルにアクセスすると、すべてのパスワードを見ることができます。
パスワードをプレーンテキストで保存するのはひどい習慣です。企業はパスワードをソルトおよびハッシュする必要があります。これは、「パスワードにデータを追加してから、元に戻せない方法でスクランブルをかける」という別の言い方です。通常、これは、誰かがデータベースからパスワードを盗んだとしても、それらは使用できないことを意味します。ログインすると、会社はパスワードが保存されているスクランブルバージョンと一致することを確認できますが、データベースから「逆方向に作業」してパスワードを特定することはできません。
では、なぜ企業はパスワードをプレーンテキストで保存するのでしょうか。残念ながら、企業がセキュリティを真剣に受け止めていない場合があります。または、利便性の名目でセキュリティを危険にさらすことを選択します。それ以外の場合、会社はパスワードを保存するときにすべてを正しく行います。ただし、パスワードをプレーンテキストで記録する熱心なロギング機能を追加する可能性があります。
いくつかの会社がパスワードを不適切に保存しています
あなたはすでに悪い習慣の影響を受けているかもしれません ロビンフッド 、 グーグル 、 フェイスブック 、GitHub、Twitter、その他はパスワードをプレーンテキストで保存しました。
Googleの場合、同社はほとんどのユーザーのパスワードを適切にハッシュおよびソルトしていました。だが G SuiteEnterpriseアカウントのパスワード プレーンテキストで保存されました。同社によれば、これはドメイン管理者にパスワードを回復するためのツールを提供したときからの残りの慣行でした。 Googleがパスワードを適切に保存していたら、それは不可能だったでしょう。パスワードが正しく保存されている場合、回復のために機能するのはパスワードリセットプロセスのみです。
Facebookも パスワードの保存を認めた プレーンテキストでは、問題の正確な原因はわかりませんでした。ただし、後の更新から問題を推測できます。
…Instagramパスワードの追加ログが読み取り可能な形式で保存されていることを発見しました。
最初にパスワードを保存するときに、会社がすべてを正しく行う場合があります。そして、問題を引き起こす新しい機能を追加します。 Facebookの他に、 ロビンフッド 、 Github 、および ツイッター 誤ってログに記録されたプレーンテキストのパスワード。
ロギングは、アプリ、ハードウェア、さらにはシステムコードの問題を見つけるのに役立ちます。ただし、企業がそのログ機能を徹底的にテストしないと、解決するよりも多くの問題が発生する可能性があります。
FacebookとRobinhoodの場合、ユーザーがサインインするためにユーザー名とパスワードを入力すると、ログ機能は入力されたユーザー名とパスワードを確認して記録できます。次に、それらのログを別の場所に保存しました。これらのログにアクセスできる人は誰でも、アカウントを引き継ぐために必要なすべてのものを持っていました。
まれに、T-Mobile Australiaのような会社が、場合によっては利便性の名目で、セキュリティの重要性を無視することがあります。で 以来-削除されたTwitterエクスチェンジ 、T-Mobileの担当者は、会社がパスワードをプレーンテキストで保存していることをユーザーに説明しました。この方法でパスワードを保存すると、カスタマーサービス担当者は確認のためにパスワードの最初の4文字を確認できました。他のTwitterユーザーが、誰かが会社のサーバーをハッキングした場合にどれほど悪いかを適切に指摘したとき、担当者は次のように答えました。
セキュリティが驚くほど優れているためにこれが発生しない場合はどうなりますか?
同社はそれらのツイートを削除し、後で発表した すべてのパスワードはすぐにソルトされ、ハッシュされます 。しかし、会社が設立されるまでそれほど長くはありませんでした 誰かがそのシステムを侵害した 。 T-Mobileは、盗まれたパスワードは暗号化されていると述べましたが、それはパスワードをハッシュするほど良くはありません。
企業がパスワードを保存する方法
企業はプレーンテキストのパスワードを保存しないでください。代わりに、パスワードは 塩漬け、次にハッシュ 。塩漬けとは何か、そしてその違いを知ることは重要です 暗号化とハッシュ 。
塩漬けはパスワードに余分なテキストを追加します
パスワードのソルトは簡単な概念です。このプロセスでは、基本的に、指定したパスワードにテキストが追加されます。
通常のパスワードの末尾に数字や文字を追加するようなものだと考えてください。パスワードに「Password」を使用する代わりに、「Password123」と入力することもできます(これらのパスワードは絶対に使用しないでください)。ソルトも同様の概念です。システムがパスワードをハッシュする前に、余分なテキストをパスワードに追加します。
したがって、ハッカーがデータベースに侵入してユーザーデータを盗んだとしても、実際のパスワードが何であるかを確認するのははるかに困難になります。ハッカーは、どの部分がソルトで、どの部分がパスワードであるかを知りません。
企業は、ソルトされたデータをパスワードからパスワードに再利用するべきではありません。そうしないと、盗まれたり壊れたりして役に立たなくなる可能性があります。ソルトデータを適切に変更すると、衝突も防止されます(詳細は後で説明します)。
暗号化はパスワードの適切なオプションではありません
パスワードを適切に保存するための次のステップは、パスワードをハッシュすることです。ハッシュを暗号化と混同しないでください。
データを暗号化するときは、キーに基づいてわずかに変換します。誰かがキーを知っている場合、彼らはデータを元に戻すことができます。 「A = C」と表示されたデコーダーリングで遊んだことがある場合は、データを暗号化しています。 「A = C」を知っていると、そのメッセージが単なるOvaltineコマーシャルであることがわかります。
ハッカーが暗号化されたデータを使用してシステムに侵入し、暗号化キーも盗むことができた場合、パスワードはプレーンテキストである可能性があります。
ハッシュはパスワードを意味不明に変換します
パスワードハッシュは、基本的にパスワードを理解できないテキストの文字列に変換します。ハッシュを見ている人は誰でも意味不明に見えるでしょう。 「Password123」を使用した場合、ハッシュによってデータが「873kldk#49lkdfld#1」に変更される可能性があります。会社は、パスワードをどこかに保存する前にハッシュする必要があります。そうすれば、実際のパスワードの記録がなくなります。
ハッシュの性質により、暗号化よりもパスワードを保存するための優れた方法になります。暗号化されたデータを復号化することはできますが、データを「ハッシュ解除」することはできません。したがって、ハッカーがデータベースに侵入した場合、ハッシュされたデータのロックを解除するためのキーは見つかりません。
代わりに、パスワードを送信するときに会社が行うことを彼らが行う必要があります。パスワードの推測をソルトし(ハッカーが使用するソルトを知っている場合)、それをハッシュしてから、ファイル上のハッシュと比較して一致させます。 Googleまたは銀行にパスワードを送信すると、同じ手順に従います。 Facebookのようないくつかの会社は タイプミスを説明するための追加の「推測」 。
ハッシュの主な欠点は、2人が同じパスワードを持っている場合、最終的にハッシュになることです。その結果は衝突と呼ばれます。これが、パスワードごとに変わるソルトを追加するもう1つの理由です。適切にソルトおよびハッシュされたパスワードは一致しません。
ハッカーは最終的にハッシュデータを突破する可能性がありますが、ほとんどの場合、考えられるすべてのパスワードをテストし、一致することを期待するゲームです。このプロセスにはまだ時間がかかり、自分自身を守るための時間が与えられます。
データ漏えいから保護するためにできること
企業がパスワードを不適切に処理するのを防ぐことはできません。残念ながら、それは本来あるべきよりも一般的です。企業がパスワードを適切に保存している場合でも、ハッカーが企業のシステムを侵害し、ハッシュされたデータを盗む可能性があります。
その現実を考えると、パスワードを再利用しないでください。代わりに、 別の複雑なパスワード あなたが使用するすべてのサービスに。そうすれば、攻撃者が1つのサイトでパスワードを見つけたとしても、それを使用して他のWebサイトのアカウントにログインすることはできません。複雑なパスワードは非常に重要です。パスワードを推測しやすいほど、ハッカーがハッシュプロセスをより早く突破できるからです。パスワードをより複雑にすることで、被害を最小限に抑えるための時間を稼ぐことができます。
一意のパスワードを使用すると、その被害も最小限に抑えられます。せいぜい、ハッカーは1つのアカウントにアクセスでき、1つのパスワードを数十よりも簡単に変更できます。複雑なパスワードは覚えにくいので、 パスワードマネージャーをお勧めします 。パスワードマネージャーはパスワードを生成して記憶し、ほぼすべてのサイトのパスワードルールに従うようにパスワードを調整できます。
いくつかのように LastPass そして 1Password 、現在のパスワードが危険にさらされているかどうかをチェックするサービスも提供します。
別の良いオプションは 2段階認証を有効にする 。そうすれば、ハッカーがパスワードを危険にさらしたとしても、アカウントへの不正アクセスを防ぐことができます。
会社がパスワードを誤って処理するのを防ぐことはできませんが、パスワードとアカウントを適切に保護することで、フォールアウトを最小限に抑えることができます。