1

I want to protect my MS access 2002 database with .NET file encryption.

I want to

  1. decrypt the databasefile
  2. query and cash the database file into memory

I'm using the encrypt/decrypt example described here. I'm wondering if this doen't create a security hole since the file gets decrypted to another file that can be easily read out.

Is there a way I can decrypt the file to memory and read it from there?

1
  • Why don't you simple encrypt the each field of data. Like others of said if somebody is able to get physical access to your database, its just a measure of how much work it is to access the data, and anyone accessing the most likely that shouldn't be accessing the data is willing to go to the effort. Commented Feb 11, 2011 at 12:43

2 Answers 2

1

Anything that is placed in memory is liable to leak to the hard drive when paging occurs.

I'd respectfully suggest that encrypting the file does little to add security. There are database products which support encryption directly: however, applications still need to have access to the decryption key, which means that anyone with machine administrator access (and/or access to the hardware) can obtain the decryption key from your executable.

Consider instead what attacks you are trying to prevent -- unless you are just interested in checkbox compliance with some security policy requiring encryption as a panacea...

Sign up to request clarification or add additional context in comments.

Comments

1

As far as I know, the .Net Access providers can't connect to an in-memory file.

However, you can read data in memory just as easily as if it was in a file. Hiding it in a temp file or in memory is ultimately the same, it just changes the difficulty level a tiny bit.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.