パスワードは、何千年もの間、他人や、最近ではコンピュータに対して自分を識別する手段として使われてきました。 これは、個人間で秘密にされ、身元を「証明」するために使用される共有情報という、シンプルな概念です。
IT の文脈におけるパスワードは、1960 年代にメインフレーム コンピュータ(ユーザー アクセス用のリモート「端末」を備えた中央管理の大型コンピュータ)で出現しました。 現在では、ATM で入力する暗証番号から、コンピューターやさまざまな Web サイトへのログインに至るまで、あらゆるものにパスワードが使用されています。
良いパスワードとは
比較的最近まで、良いパスワードとは、6~8文字程度の単語やフレーズであったと思われます。 しかし、現在では、最小限の長さのガイドラインがあります。
パスワードについて話すとき、エントロピーは予測可能性の尺度です。 この背後にある数学は複雑ではありませんが、さらに単純な尺度、すなわち可能なパスワードの数(「パスワード空間」とも呼ばれる)で検証してみましょう。
1 文字のパスワードに小文字が 1 つしか含まれていない場合、考えられるパスワードは 26 個しかありません(「a」~「z」)。 大文字を含めることで、パスワードのスペースは52個に増えます。
長さを長くし、他の文字の種類を追加すると、パスワード空間は拡大し続けます。
上記の数字を見ると、なぜ私たちが大文字と小文字、数字、記号を使った長いパスワードを使うように勧められているのか、簡単に理解できますね。 パスワードが複雑であればあるほど、それを推測するために必要な試行回数が増えます。
しかしながら、パスワードの複雑さに依存することの問題は、コンピュータがパスワードの推測を含むタスクを繰り返すことに非常に効率的であるということです。
昨年、考えうるすべてのパスワードを生成しようとするコンピュータの記録が更新されました。
この計算能力を活用することにより、サイバー犯罪者は、ブルートフォース攻撃と呼ばれるプロセスで、できるだけ多くのパスワードの組み合わせを浴びせることにより、システムに侵入することができます。
また、パスワードはほとんどの場合、機密データや重要なシステムにアクセスするために使用されるため、サイバー犯罪者は積極的にパスワードを探し出す動機となります。 また、パスワードを販売する有利なオンライン市場もあり、その中には、電子メール アドレスやユーザー名が含まれているものもあります。
Web サイトでパスワードはどのように保存されますか。
Web サイトのパスワードは通常、ハッシュ化という数学アルゴリズムを使って保護された方法で保存されます。 ハッシュ化されたパスワードは認識できなくなり、パスワードに戻すこともできなくなります(不可逆的な処理)。
ログインしようとすると、入力したパスワードは同じプロセスでハッシュ化され、サイトに保存されているバージョンと比較されます。 このプロセスはログインするたびに繰り返されます。
たとえば、パスワード「Pa$$w0rd」は、SHA1 ハッシュ化アルゴリズムで計算すると、「02726d40f378e716981c4321d60ba3a325ed6a4c」という値が与えられます。 実際に試してみてください。
ハッシュ化されたパスワードでいっぱいのファイルに直面した場合、パスワードの長さの範囲であらゆる文字の組み合わせを試す、ブルート フォース攻撃を使用することができます。 これは、一般的なパスワードをハッシュ化した値(計算値)と共にリストアップしているウェブサイトがあるほど、一般的な方法となっています。 5740>
パスワードリストの盗難や販売は、現在では非常に一般的になっており、ユーザーが自分のアカウントが「野放し」になっているかどうかをチェックするための専用サイト – haveibeenpwned.com-が用意されています。
自分のメールアドレスがこのサイトに掲載されている場合、検出されたパスワードはもちろん、同じ認証情報を使用している他のサイトも必ず変更すべきです。
より複雑にすれば解決するか?
毎日多くのパスワード違反が発生しているので、パスワード選択の方法も改善されていると思うことでしょう。 残念ながら、昨年の SplashData の年次パスワード調査では、5 年間でほとんど変化がありませんでした。
コンピューティングの能力が向上すると、解決策は複雑さを増すことになるようです。 しかし、人間として、私たちは高度に複雑なパスワードを記憶することに長けているわけではありません(また、そのような意欲もありません)。
また、パスワードが必要なシステムを 2 つか 3 つしか使わないという段階も過ぎました。 現在では、多数のサイトにアクセスし、それぞれにパスワード (多くの場合、長さや複雑さはさまざま) を必要とするのが一般的です。 最近の調査では、1 人当たり平均 70 ~ 80 のパスワードがあることが示唆されています。
良い知らせは、これらの問題に対処するツールがあることです。 ほとんどのコンピュータは、現在、オペレーティング システムまたは Web ブラウザでパスワードの保存をサポートしており、通常は、複数のデバイスで保存情報を共有するオプションがあります。
Apple の iCloud キーチェーンや、Internet Explorer、Chrome、Firefox (信頼性は低いですが) のパスワード保存機能などがその例です。
KeePassXC などのパスワード管理ツールでは、ユーザーが長く複雑なパスワードを生成して、必要になったときに安全な場所に保存できるようにします。
この場所はまだ保護する必要がありますが (通常は長い「マスター パスワード」で)、パスワード マネージャーを使用すると、アクセスするすべての Web サイトで一意の複雑なパスワードを持つことができます。 しかし、盗まれたとしても、他のすべてのサイトで同じパスワードを変更することを心配する必要はありません。
もちろん、これらのソリューションにも脆弱性はありますが、それはまた別の機会にお話ししましょう。