web-dev-qa-db-ja.com

パスワードを保存する暗号化アプリ

私たちが使用している暗号化アプリは、同じ入力に対して同じ出力を生成しているようです。それは悪いですよね?しかし、私は使用されているスキームを理解するほど賢くはありません。

暗号化された各ファイルのヘッダーには「hexIdentifier」という文字列があります。これは、アプリが生成した暗号化ファイルのパスワード(ハッシュ?)をアプリが保存する方法と思われます。異なるファイルに同じパスワードを使用する場合、同じHexIdentifier文字列が使用されます。それは、パスワードが簡単に再作成できる簡単な方法でファイルに保存されることを意味しますか?

アプリはここにあります: http://www.koingosw.com/products/dataguardian.php

1
bpqaoozhoohjfpn

ふぐ…若く感じます。これは15年以上前のアルゴリズムであり、それ自体は悪くありませんが、Blowfish自体の作成者(Bruce Schneier)は、1998年にAESコンペティション用に Twofish という拡張バージョンを提案しました。 。この製品が「究極のデータベースソリューション」であると主張しているが、 [〜#〜] aes [〜#〜] を含む過去15年間の科学技術を無視していることは、良い兆候ではありません。

異なるファイルに同じパスワードを使用すると同じ「識別子」が生成されるが、パスワードが異なると異なる識別子が生成される場合、この「識別子」を使用して、コスト分担でパスワードを攻撃できます。つまり、 レインボーテーブル 。攻撃者は、その製品からのファイルのすべてのインスタンスにテーブルを適用できるため、テーブルを1回作成する費用を負担する可能性があります。これは悪い兆候ではありません、これは悪い兆候です。

これは、パスワードがファイルから簡単に抽出できることを意味するものではありませんが(これもこの可能性を排除するものではありません)、notを使用することをお勧めしますこの製品。

1
Thomas Pornin

この「hexidentifier」はパスワードの単純なハッシュのように聞こえますが、少なくとも、異なるファイルが同じパスワードで暗号化されているかどうかを判断できるという弱点があります。それは必ずしも致命的ではありません。ほとんどの暗号化スキームには、同じファイルが生成されないようにするために、事実上パスワードの一部である「ソルト」が含まれています。それも弱点です。

一般に、(私のような)意味のあるアマチュアによって開発されたアドホック暗号化システムは、この種の体系的な弱点に悩まされています。 「1zillionbitblowfish」と主張することは煙を吹いています。一方、国の秘密を保存しない限り、暗号化されたデータがこれらの弱点を悪用するような専門的な攻撃を受けることは決してありません。

0
ddyer