6

マスタープロジェクトのウェブアプリに取り組んでいます。これは、教授が学生のプロジェクトを管理するためのシステムであり、サーバー側のコードにJava、データベースにHSQLDB、プレゼンテーション層にJSPを使用し、Tomcatで実行されます。保存されるデータには機密情報(学生ID、財務情報など)は含まれていませんが、ユーザー名とパスワードが必須であるため、学生が次の目的でパスワードを使用する場合に備えて、パスワード自体を保護したいと思います。彼らが他のもっと重要なアプリに使用している私のアプリ(これは、私が人々にそれをしないように言ったとしても、間違いなく起こります)。

私はこれまでこの種のことを調べたことがなく、かなり迷っています。Javaを使用してパスワードのハッシュを作成する方法を説明する良い記事を見つけました。また、レルムで使用されているハッシュスキームを設定する方法とtomcatでSSLを実行する方法を説明する情報をTomcatのドキュメントで見つけました。パスワードからハッシュを作成するためのJavaScriptライブラリですが、すべての要素をまとめる方法と、正確に必要な部分がわかりません。

JavaScriptライブラリを使用してパスワードをハッシュし、ログイン手順にSSLを使用する場合(他のデータは保護する必要がないため、その後は不要だと思います)、ハッシュされたバージョンのパスワードのみをデータベースに保存するだけで十分です。 ?それとももっと何かする必要がありますか?回答でPBKDF2やその他のことについて話し合っている質問に出くわしましたが、それだけでさらに混乱しました...これらの回答に記載されているスキームのいずれかを使用する必要がある場合、どうすればよいですか?tomcatや他のドキュメントでそれらへの参照を見たことがないので、それらをどのように使用するかわかりません...

誰かが私の混乱を解消し、パスワードを安全に送信して保存する正しい方法を教えてくれれば、本当にありがたいです。

4

1 に答える 1

3

SSL は、トランスポート層全体を保護します。HTTPS 経由で送信されるデータについて心配する必要はありません。

データベースに実際のパスワードを保存しないでください。適切に安全な (つまり、MD5 ではない) ハッシュ関数で作成されたソルト付きハッシュのみを保存します。ハッシュごとに異なるソルトを使用します。

これらの原則に従えば、使用するコンポーネントに関係なく、妥当なユーザー名/パスワード ストレージ メカニズムが得られます。

于 2012-08-31T20:05:42.130 に答える