The original dB File can only be accessed by the username it is
opened under, ( a different one than the logon username for the OS ), so it
cannot be read until the application is shut down.  But you did make me
realize that I should make the file exclusive to that user only, even if the
app isn't running in the event something prevents the encryption and delete
procedures from running.  I can do this when the original file is first
created, as by then the username will have been set.  
        As it was explained in the worksheet I was given, they are really
only worried about users who have access to the application but under a
different logon name.  That's why I set this up to run with each user having
their own file, even if plugged into the local network.  You may remember an
app I mentioned writing for a guy a few years back where he had three shifts
working on the same computers.  Well they've upgraded to Vista all around,
and so far the UAC seems to work pretty well provided the head man who had
full control privileges doesn't get lazy and allow any other users more
access control to root directories.  
        No, if they needed to worry about data theft to any great degree, I
wouldn't even touch it.  I don't have any experience with high level
security issues.  Oh yes, as to the problem...I was trying to get around the
trade-off between access speed and the vendor's method of file encryption,
witch is only important for a couple tables that access shell functions and
really don't even present any security risk at all.  But as they handle
their security on a page basis for the entire single dB File, the only way I
could prevent the trade-off was by handling it myself pre and post actually
working with the File.  Individual record encryption prevents anyone from
getting at the open file while away from your desk, and Exclusive access to
the tables provides protection from another application running elsewhere at
the same time a file is actually opened.  So the only downside to this is
that should the app terminate without closing down first, there could still
be left a file behind that could possible be opened by another app, But I
don't think that's something I really need to worry about as long as they
encrypt those records that need higher security individually, within the
transactions.  In fact, individual record encryption should be more than
enough, but they're requiring full file encryption.  I imagine I'll have the
opportunity to speak to him some more about this, but he can't have it both
ways!                 

from Robert Meek dba "Tangentals Design"
e-mail: [EMAIL PROTECTED]
Freelance Windows Programming for XP and Vista 
Also proud to be a Moderator of the "Delphi-List" at elists.org

"Reality cannot be explained...only enjoyed or endured as your current
perspective allows!"

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Rob Kennedy
Sent: Thursday, October 04, 2007 6:00 PM
To: Delphi-Talk Discussion List
Subject: Re: Creating new solutions

Robert Meek wrote:
> At the same time, my client, whom I don't believe ever used the word
> "security" in a sentence before his firm was computerized, was insistent
> that I use the cheapest database possible AND that it be "secure"!

Secure from what? The database has parameters, files, and desktop
shortcuts, and it needs NSA-grade encryption? What security risks is your
client hoping to protect against?

Someone else already pointed out that when you delete the source file
you're crippled if the program crashes. But your program could run
perfectly and still expose the data in an unencrypted manner. While your
program is running, the entire database file is sitting there on the disk
unencrypted. Any other program running as the user could read it. You'd be
in exactly the same situation if you had never encrypted the database at
all and just left it in the user's folder all the time.

So I'm still unclear on what the problem was, and on how what you did
solved it.

-- 
Rob


__________________________________________________
Delphi-Talk mailing list -> Delphi-Talk@elists.org
http://www.elists.org/mailman/listinfo/delphi-talk

__________________________________________________
Delphi-Talk mailing list -> Delphi-Talk@elists.org
http://www.elists.org/mailman/listinfo/delphi-talk

Reply via email to