1

MS Access *.accdbデータベースに依存する VB.NET デスクトップ アプリケーションを作成しています。アプリケーションがエンド ユーザーのマシンにインストールされている場合、データベース ファイルはアセンブリと同じディレクトリにある必要があります。

私の懸念は、データの機密性を維持したいということと、アクセス データベースのパスワード保護が簡単に破られる可能性があることです。

これらのデータをどのように保護できますか?

データベースをアセンブリに埋め込むことを考えましたが、それは不可能 (または不可能) のようです。それでも埋め込もうとしましたが、接続文字列を変更する方法がわかりませんでした。

どんな助けでも大歓迎です!

4

1 に答える 1

2

アクセスは、機密データの適切な記憶媒体ではありません。そして、あなたが言うように、パスワードメカニズムは簡単に破られる可能性があります。

すべての機密データを暗号化された形式でデータベースに保存できますが、アプリケーションがデータを読み取るには、同じシステムに暗号化キーを保存する必要があります。アプリケーションは暗号化/復号化を行う必要があります。少なくともファイルが開かれ、パスワードが推測された場合でも、内容は読みにくいでしょう。ただし、データを暗号化/復号化するには、アプリケーションが暗号化キーを取得できる場所に暗号化キーを保存する必要があるため、.NETとセキュリティについて十分な知識がある人なら誰でもデータを復号化できます。

埋め込まれたリソースは実行時に更新できないため、データベースの埋め込みもあまり役に立ちません。さらに、アセンブリ全体を暗号化しない限り、アセンブリから簡単に抽出できます(それを実行できるツールがあります)。

結論:機密性が重要な場合、人が自分のシステムで見ることができない/見ることができないデータを保存しないでください。または、その人のシステムに暗号化キーを保存しないでください。

于 2013-01-23T14:13:41.313 に答える