1

データベース駆動型の Windows アプリケーションを作成していますが、実行可能ファイルとデータベースの両方を顧客のマシンにインストールする必要があります。

ユーザーがデータベースが保存されているのと同じマシンを使用している場合でも、ユーザーがアクセスできないアプリケーションのバックエンドとして使用できるデータベースはありますか。

私が知る限り、これには Postgres は機能しません。また、私が試したバージョンのアクセスでは、パスワードを簡単に解読できます。

私のアプリケーションは、ラップトップにインストールでき、インターネットにアクセスできないときでも使用できる必要があるため、通常のクライアント サーバー データベース モデルは機能しません。

一部のバージョンの Linux に Postgres がインストールされた VMWare 仮想アプライアンスを使用することを検討しましたが、これはシステムの負荷がかなり高くなります。

暗号化されたテキスト ファイルなどを使用する必要はありません。

4

3 に答える 3

2

ユーザー (またはハッカー) がマシンを所有しているため、セキュリティを確保するためにできることは何もありません。あなたが試みるものは何でも、 Security Through Obsecurityと呼ばれるカテゴリに分類されます。

最善の策は、データベースを暗号化し、キーをバイナリ内のわかりにくい場所に隠そうとすることです。これはインストール済みのアプリケーションであるため、データベース サーバーは使用しないでください。Postgres のような DB ライブラリを使用するだけです。

于 2009-08-14T04:39:32.560 に答える
1

データはどの程度重要ですか? アプリケーションに保存および暗号化されたキーを使用して、標準の RSA または AES を使用してシステム上のデータを暗号化すると、ママとパパのユーザーを遠ざけることができます。

しかし、クライアント アプリケーションから秘密を守ることができない場合は、ここで問題が発生します。

于 2009-08-14T04:34:06.657 に答える
0

予算に応じて、いくつかのオプションを利用できます。

まず、SQL Server Compact Edition 3.5と .NET プログラムを使用して、暗号化されたローカル データベースを実行しました。幸いなことに、ファイルは暗号化されており、パスワードを知っている場合にのみアクセスできました. もちろん、悪いニュースは、パスワードを生成するためにシード PRNG のようなことをしない限り、おそらくパスワードが接続文字列に含まれるということです。また、SSCE では、アプリケーションとは別に SSCE をインストールする必要があります。何らかの理由でユーザーがコントロール パネルから SSCE をアンインストールすると、アプリケーションは実行されません。

次に、 VistaDBという商用製品も使用しましたが、これは暗号化されたローカル データベース ファイルもサポートしています。VistaDB と他のデータベース エンジンの比較機能は、Web サイトで利用できます。しかし、別の利点として、事前にインストールする必要のあるランタイムがないということです。ディストリビューションに別のアセンブリを追加するだけです (彼らは、できると主張しています)。静的にリンクしますが、個人的には試していません)。ディスク上のローカル ファイルも VistaDB で暗号化されており、パスワードがないと、基になるデータベースにアクセスできません。

幸運を!

于 2009-08-14T04:49:39.313 に答える