過去10年間のGPUコンピューティングの登場は、オフラインでのパスワードクラッキングを飛躍的に加速させました。しかしこれまでは、コンピュータのマザーボード、BIOSシステム、そして最終的にはソフトウェアドライバによる制限により、1台のコンピュータで実行できるグラフィックカードの数は最大8枚に制限されていました。ゴスニー氏の画期的な成果は、VCL仮想化技術の活用によるものです。VCL仮想化は、複数のマシンに多数のグラフィックカードを分散させながら、それらが1台のコンピュータ上で動作しているかのように動作することを可能にします。
「VCLが登場する前は、人々は様々な方法を試していましたが、成功の度合いは様々でした」とゴスニー氏は述べた。「VCLはこうした状況に終止符を打ちました。今では、すぐに使える汎用ソリューションが提供され、複雑な処理をすべて自動的に処理してくれるからです。また、すべてのコンピューティングノードにVCLをインストールするだけで済むため、管理も非常に簡単です。クラスタコントローラにソフトウェアをインストールするだけで済みます。」
この新しいクラスタが築いた前例は、エンジニアにとって、用途に特化したハッシュ関数を用いたパスワード保存システムを設計することが、これまで以上に重要になっていることを意味します。MD5、SHA1、SHA2、最近発表されたSHA3、その他様々な「高速」アルゴリズムとは異なり、Bcrypt、PBKDF2、SHA512cryptといった関数は、平文入力を暗号ハッシュに変換するために、かなりの時間と計算リソースを費やすように設計されています。その結果、新しいクラスタは、速度が4倍に向上したにもかかわらず、Bcryptに対して71,000回、SHA512cryptに対して364,000回しか推測できません。
今のところ、読者はパスワードの大部分が高速アルゴリズムでハッシュ化されていると想定しておくべきです。つまり、パスワードは9文字未満であってはならず、13文字、あるいは20文字にすればさらにセキュリティは向上します。しかし、長いパスワードだけでは十分ではありません。数億に及ぶリストのクラッキングが蔓延していることを考えると、パスワードに名前、単語、または一般的なフレーズを使用しないことも重要です。パスコードがそのようなリストに含まれないようにする簡単な方法の一つは、Password Safeなどのパスワード管理プログラムを使用してランダムに生成された文字列を選択することです。
Gosney の Passwords^12 プレゼンテーションのスライドはここにあります。