2017-01-02 2 views
0

DBからのパスワードを含む.propertiesデータを使用するアプリケーションがあります。このアプリケーションはクライアントで使用されますが、このプロパティへのアクセスを何も与えたくありません私たちが.jarを見てもデータはありません。私はzip4jを使用すると思ったが、これを解凍すると.propertiesはクライアントのアクセス権を与えるどこかで解凍されるので、これに対して他の最良の解決策があるだろうか?誰にも許可を与えずにファイルデータを使用する

+0

もしあなたがjarファイルに入れたら、それはとにかくアクセス可能になります。 –

答えて

3

これはできません。この考え方を忘れて、あなたのシステムを再考してください。 同時に読み取りアクセスを提供しない読み取りアクセスを提供することはできません。

これは、メディア業界の法務部の夢のような夢です。彼らは、決してうまくいかないDRMでこの断固不能な問題を解決するのに莫大な資金を投資するが、みんなを悩ます。

さまざまな難読化手法を使用して、データを抽出するのが面倒になることがありますが、それだけです。

これらのアイディアの1つは、passowordをC++ライブラリにエンコードし、JNI経由でリンクすることです。ユーザーはバイナリファイルを逆アセンブルせずに解凍することはできませんが、実行時にメモリダンプを行うことができます。

実行時に中央サーバからパスワードを読み取ることができます。そのためにワンタイムパスワードを使用することができます。カールやシンプルなスクリプトを使用してサーバーにパスワードを要求できるので、ユーザーには控えめな技術的スキルがある場合も、これは無駄です。

データベース(スマートカードなど)に接続できるハードウェアアクセストークンを使用できます。これは90年代には非常にポピュラーなテクニックでした。

あなたができることは、技術者以外の人を止めるいくつかのレベルの煩さを加えることです。十分なお金があれば、技術に精通した人々をしばらくは止めることができるまともなDRMを構築することができますが、私はそれが価値があると真剣に疑います。

データベースへのアクセスが非常に貴重で、ユーザーにアクセス権を与えることはできないが、彼が必要とする場合は、デザインが壊れています。

関連する問題