web-dev-qa-db-ja.com

JavaのJasyptによる暗号化

Webアプリケーションがあり、暗号化されたデータをデータベースに送信しようとしています。 WebアプリケーションはJavaにあり、データベースはMySQLにあります。私のテーブルフィールドは、varcharの場合はStringintの場合はintegerなどの通常のものです。

私は暗号技術に不慣れであることを言わなければならないので、暗号を完全に研究するまで、今のところ簡単に実装できるAPIを探していました。それから私は Jasypt に出くわしました。

私はこのAPIをテストしましたが、バイナリをBase64文字列に変換するのが良い点です。ただし、次の質問があります。

  1. JasyptはAuthenticated Encryptionをサポートしていますか?もしそうなら、どのアルゴリズムについて?

  2. Jasyptの最終公開日は2014年2月25日です。これは、暗号化方式が「古くなった」ことを意味しますか? (おそらく今だと思います)

  3. Jasyptで文字列暗号化アルゴリズムを使用する場合、クレジットカード番号や健康記録などの機密情報を保護するのに十分ですか? (私は「最高」の保護はなく、いつまでも「壊れない」ことになることを知っています。そのため、「十分に十分」な言葉を使用しました。)

3
Lemon Juice

Java Cryptographic Extensionsを自分で使用するのが最善の方法です。つまり、Jasyptはかなり古く、それ自体、さまざまなJCE実装のラッパーです。

OWASP(OWASPを知らない場合は、OWASPについて知ってください-大量のセキュリティアドバイスを提供する素晴らしい非営利団体)が、JCEを直接使用するための素晴らしいページを持っています-AESの例を確認してください: https:// www。 owasp.org/index.php/Using_the_Java_Cryptographic_Extensions#AES_Encryption_and_Decryption

おそらく、これで十分です。 AES-128は、量子コンピューティングが不足していると考えられています。

3
crovers