Javaデコンパイラを使用してMySQLクレデンシャルを公開することなく、MySQLのリモートインスタンスに接続する方法はありますか?JDBC:リモートMysqlデータベースに安全にアクセスできますか?
デスクトップアプリケーションがMySQLサーバに接続する場合は、アクセスするためにユーザに読み取り専用アクセス権を割り当てる必要がありますか?これは十分安全ですか?
Javaデコンパイラを使用してMySQLクレデンシャルを公開することなく、MySQLのリモートインスタンスに接続する方法はありますか?JDBC:リモートMysqlデータベースに安全にアクセスできますか?
デスクトップアプリケーションがMySQLサーバに接続する場合は、アクセスするためにユーザに読み取り専用アクセス権を割り当てる必要がありますか?これは十分安全ですか?
あなた自身がこれらの質問をしている場合、おそらく委任された承認を実装する時期です。ユーザーがデスクトップアプリケーションからMySQLに直接アクセスする代わりに、アクセスするために一連の資格情報が割り当てられた各ユーザーでシン・サーバー・レイヤーを作成します。データベースへのすべてのアクセスは、このサーバーを介して仲介されます。このサーバーは、DBを保護し、各ユーザーに関連するデータのみが実際に与えられていることを保証します。
あなたの懸念は、あなたのアプリを難読化でき、パスワードの逆コンパイルを避けるのであれば...
アプリで読み取り専用の資格情報を使用することができますが、デコンパイルされた場合、これは、しかし、(デコンパイルを防ぐことはできませんでしょうユーザーはデータを変更することはできませんが、これは1つの方法です)。
あなたは、コンパイルし、上の手を得ることデからだけでなく、経験豊富なユーザーを防ぐことができます上記の技術の
どれを(このクラスは、資格情報が含まれていないだろう)、ネットワークからクラスをロードするために、カスタムクラスローダを使用することができます資格情報
これについても考えましたが、中間サーバーレイヤーを検出してこのサーバーを直接使用することはできませんか?とにかくJavaデスクトップアプリケーションからのこのサーバーへのアクセスを制限するには? – KJW
サーバーの検出を防ぐことはできません。これは単にインターネットの現実です。しかし、あなたはそれを強化するために、より高いレベルのセキュリティを適用することができます。これはますます高価になるので、セキュリティ対可用性のバランスと、保護しようとするデータの重要性とのバランスをとる必要があります。まず、SSLでサーバーを保護し、ダイジェスト認証を使用してクライアント通信を保護することをお勧めします。 – Perception