web-dev-qa-db-ja.com

Java Webサービスに認証するBlackBerryクライアント

私はすでにここのStackOverflowでこの質問をしました: https://stackoverflow.com/questions/4970681/blackberry-app-security そしてこのサイトに向けられました、誰でも私がどのように解決できるかについて売り込むことができますこの問題?


ユーザーは、登録時に提供されたユーザー名とパスワードを使用して、BlackBerryアプリにログインします。私のアプリは、すべてのロジックを実行するJava Webサービスに接続します。

  • パスワードとユーザー名をサーバーに安全に保存するにはどうすればよいですか?誰もが塩漬けとハッシュを言いますが、私はそれを使ったことがないので、これを行う方法がわかりません。 Javaでこれを行うにはどうすればよいですか?
  • アプリからサーバーへのパスワードの安全な送信を管理するにはどうすればよいですか?
3
8vius

これについては、OWASP Webサイトに適切な説明があります。ページ Hashing Java を参照してください。
ハッシュの使用とソルトを追加する理由に関する詳細の一部を説明し、コード例も含まれています。これはあなたが始めるのに良いポイントかもしれません。

まだ良いスタートを切っていない場合は、HTTPの代わりにHTTPSを使用してアプリからパスワードを安全に送信することをお勧めします。

3
Mark Davidson

これがJavaに広く採用されている標準実装が見つからないことに驚いています。これは非常に重要なトピックであり、暗号コードを正しく理解し、絶えず改善されている攻撃に対して最新の状態に保つのは非常に難しい場合があります。

Java 6の時点で、SunJCEにPBKDF2:PBKDF2WithHmacSHA1が実装されているのを見てうれしいです。PBKDF2標準の使用に関する説明も参照してください( notPBKDF1)最近の PBKDF1質問 。そしてStackOverflowでの質問への回答で説明したように、以前のバージョンのJavaの場合、その実装は-にあります。 無料Java RFC 2898/PKCS#5 PBKDF2の実装

また、Java回答( jBCrypt-Javaの強力なパスワードハッシュ を使用)、およびパスワードハッシュの一般的な問題に関する役立つディスカッションが にあります。 C#パスワードハッシュと検証のリファレンス実装-ITセキュリティ

別の回答で参照されているOWASPサンプルコードは、私が望むほど注意深く説明または精査されていないようですが、他のコードと比較していません。

3
nealmcb