472,951 Members | 1,821 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,951 software developers and data experts.

Securing data against theft of the server or hackers

Hi,

As part of a website (ASP.NET) we're creating, we need the ability to
store documents with pretty much 'mission critical' security. ie, if the
server is completely compromised (eg a trojan/virus is installed or
someone physically steals the server) they will still not be able to
gain access to the content of the files. I can securely transfer the
files to and from the server, but I am unsure of how best to store them
securely.

What options do I have? I have thought of using public key encryption
like PGP, but the users would then have to be trusted with a private key
which they could leak or lose, and all users would have to have the same
private key so that they could see each others files. So I'm not sure
that idea could be made to work.

I'm wondering if there are any methods that would fit my needs (even if
it involves buying 3rd party hardware or software to achieve it).

If it matters, it will probably be a Win 2003 web server with a separate
box running SQL Server 2000 which could also be used for file storage.

Any advice would be appreciated!

Thanks,

Nick Gilbert
Nov 18 '05 #1
7 1278
If I was in your situation I'd seriously consider storing the files in SQL
Server. It's got built-in, high-quality security and can store files as
easily as any other kind of data.

--
I hope this helps,
Steve C. Orr, MCSD, MVP
http://Steve.Orr.net
"Nick Gilbert" <ne**@nickgilbert.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi,

As part of a website (ASP.NET) we're creating, we need the ability to
store documents with pretty much 'mission critical' security. ie, if the
server is completely compromised (eg a trojan/virus is installed or
someone physically steals the server) they will still not be able to
gain access to the content of the files. I can securely transfer the
files to and from the server, but I am unsure of how best to store them
securely.

What options do I have? I have thought of using public key encryption
like PGP, but the users would then have to be trusted with a private key
which they could leak or lose, and all users would have to have the same
private key so that they could see each others files. So I'm not sure
that idea could be made to work.

I'm wondering if there are any methods that would fit my needs (even if
it involves buying 3rd party hardware or software to achieve it).

If it matters, it will probably be a Win 2003 web server with a separate
box running SQL Server 2000 which could also be used for file storage.

Any advice would be appreciated!

Thanks,

Nick Gilbert

Nov 18 '05 #2
Thanks for your reply, but I don't think you've understood my problem.

SQL Server is only secure if you're limited to accessing it via queries.
But if someone has access to the box, they have access to the database
and all the files within it. They could just steal the database files
and restore them to their own server. SQL Server has no encryption on
its database files, so if you have the database, you also have access to
all the information in the files. I need a much more secure solution
than that... What you're suggesting isn't really any more secure than
storing something in a non-passworded ZIP/TAR file (or any other file
format which stores multiple files). If you have the database, you don't
even need to know any passwords to get the files back out again...

Also SQL Server isn't very good for storing lots of large files (eg
gigabytes of them) - I think the files themselves are best kept
seperately from the data.

I was more thinking of some kind of encryption system...

Nick....

Steve C. Orr [MVP, MCSD] wrote:
If I was in your situation I'd seriously consider storing the files in SQL
Server. It's got built-in, high-quality security and can store files as
easily as any other kind of data.

Nov 18 '05 #3
I've never tried this in an ASP.NET setting, but with server 2003
there is the Encrypting File System:

Encrypting File System in Windows XP and Windows Server 2003
http://www.microsoft.com/technet/pro...y/cryptfs.mspx

Also, you might want to check out the DPAPI. There are .NET wrappers
for this API.

Windows Data Protection
http://msdn.microsoft.com/security/s...tion-dpapi.asp
Of course, there is also the "C - 4" chip .... I just dont trust any
company with "cyber" in the name:
http://www.computeruser.com/news/00/..._ref=233393570

HTH,

--
Scott
http://www.OdeToCode.com

On Thu, 27 May 2004 09:47:31 +0100, Nick Gilbert
<ne**@nickgilbert.com> wrote:
Hi,

As part of a website (ASP.NET) we're creating, we need the ability to
store documents with pretty much 'mission critical' security. ie, if the
server is completely compromised (eg a trojan/virus is installed or
someone physically steals the server) they will still not be able to
gain access to the content of the files. I can securely transfer the
files to and from the server, but I am unsure of how best to store them
securely.

What options do I have? I have thought of using public key encryption
like PGP, but the users would then have to be trusted with a private key
which they could leak or lose, and all users would have to have the same
private key so that they could see each others files. So I'm not sure
that idea could be made to work.

I'm wondering if there are any methods that would fit my needs (even if
it involves buying 3rd party hardware or software to achieve it).

If it matters, it will probably be a Win 2003 web server with a separate
box running SQL Server 2000 which could also be used for file storage.

Any advice would be appreciated!

Thanks,

Nick Gilbert


Nov 18 '05 #4
Nick,

I was just looking into a similar issue yesterday.

Check out "NetLib Encryptionizer". I've never used it, but it allows
columns or an entire database to be encrypted.

The feature you might like is that you can set up the security so the
DB server is "linked" (my word) to another computer on the network so
that, even if the DB server is physically stolen the encrypted
database cannot be read because it is no longer connected to the
"linked" system.

Might be what you want.
-- Paul
Nick Gilbert <ne**@nickgilbert.com> wrote in message news:<ec**************@tk2msftngp13.phx.gbl>...
Thanks for your reply, but I don't think you've understood my problem.

SQL Server is only secure if you're limited to accessing it via queries.
But if someone has access to the box, they have access to the database
and all the files within it. They could just steal the database files
and restore them to their own server. SQL Server has no encryption on
its database files, so if you have the database, you also have access to
all the information in the files. I need a much more secure solution
than that... What you're suggesting isn't really any more secure than
storing something in a non-passworded ZIP/TAR file (or any other file
format which stores multiple files). If you have the database, you don't
even need to know any passwords to get the files back out again...

Also SQL Server isn't very good for storing lots of large files (eg
gigabytes of them) - I think the files themselves are best kept
seperately from the data.

I was more thinking of some kind of encryption system...

Nick....

Steve C. Orr [MVP, MCSD] wrote:
If I was in your situation I'd seriously consider storing the files in SQL
Server. It's got built-in, high-quality security and can store files as
easily as any other kind of data.

Nov 18 '05 #5
I'd be quite nervous about having a database that is so wide open to the
public as yours seems to be.

In that case, it sounds like you'll be needing some encryption whether you
store your files in SQL Server or elsewhere.
Here's some articles on encrypting files:
http://www.fawcette.com/vsm/2002_08/...us/default.asp
http://www.devx.com/security/article/7019

--
I hope this helps,
Steve C. Orr, MCSD, MVP
http://Steve.Orr.net
"Nick Gilbert" <ne**@nickgilbert.com> wrote in message
news:ec**************@tk2msftngp13.phx.gbl...
Thanks for your reply, but I don't think you've understood my problem.

SQL Server is only secure if you're limited to accessing it via queries.
But if someone has access to the box, they have access to the database
and all the files within it. They could just steal the database files
and restore them to their own server. SQL Server has no encryption on
its database files, so if you have the database, you also have access to
all the information in the files. I need a much more secure solution
than that... What you're suggesting isn't really any more secure than
storing something in a non-passworded ZIP/TAR file (or any other file
format which stores multiple files). If you have the database, you don't
even need to know any passwords to get the files back out again...

Also SQL Server isn't very good for storing lots of large files (eg
gigabytes of them) - I think the files themselves are best kept
seperately from the data.

I was more thinking of some kind of encryption system...

Nick....

Steve C. Orr [MVP, MCSD] wrote:
If I was in your situation I'd seriously consider storing the files in SQL Server. It's got built-in, high-quality security and can store files as
easily as any other kind of data.

Nov 18 '05 #6
> I'd be quite nervous about having a database that is so wide open to the
public as yours seems to be.


It won't be wide open - there are tight logon restrictions and the site
is SSL only. Additionally the SQL Server resides on a seperate box
behind a second firewall. However the database only contains meta-data
about the files.. it's the files I'm concerned about.

Nick...
Nov 18 '05 #7
Hi Nick,

I also think Steve Orr's suggestion on use encryption component is
reasonable and that'll make your resources mantained in not only database
but also anyother persistence. And it seems there isn't any other means on
protecting your resources if the machine is controled by the hacker.:)
Regards,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

Get Preview at ASP.NET whidbey
http://msdn.microsoft.com/asp.net/whidbey/default.aspx

Nov 18 '05 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

30
by: Robert Tweed | last post by:
Does anyone know a good resource discussing the issues involved in session theft? I've read a couple, but none that really address the problem apart from acknowledging that it is a problem; you...
17
by: David McNab | last post by:
Hi, I'm writing a web app framework which stores pickles in client cookies. The obvious security risk is that some 5cr1p7 X1ddi35 will inevitably try tampering with the cookie and malforming...
21
by: MLH | last post by:
A97 procedure to open http://www.arch.com/message/ enter an 800 number, press "Continue", enter a text msg string from a memo field and press "Send" This is a calendaring and appointment A97...
3
by: Juan | last post by:
Where can I find information on how to secure a socket server? I'd like to implement the necessary measures to avoid hackers attacks and to authenticate the clients... thanks, Juan.
11
by: Wm. Scott Miller | last post by:
Hello all! We are building applications here and have hashing algorithms to secure secrets (e.g passwords) by producing one way hashes. Now, I've read alot and I've followed most of the advice...
3
by: Mark Ingram | last post by:
Hi, what steps do i need to take to make our application as secure as possible? At some point over the coming months it will be released to the public and we want to make sure that our competitors...
10
by: Les Desser | last post by:
In article <fcebdacd-2bd8-4d07-93a8-8b69d3452f3e@s50g2000hsb.googlegroups.com>, The Frog <Mr.Frog.to.you@googlemail.comMon, 14 Apr 2008 00:45:10 writes Thank you for that. It was very...
0
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
2
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...
0
by: Aliciasmith | last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
0
tracyyun
by: tracyyun | last post by:
Hello everyone, I have a question and would like some advice on network connectivity. I have one computer connected to my router via WiFi, but I have two other computers that I want to be able to...
2
by: giovanniandrean | last post by:
The energy model is structured as follows and uses excel sheets to give input data: 1-Utility.py contains all the functions needed to calculate the variables and other minor things (mentions...
4
NeoPa
by: NeoPa | last post by:
Hello everyone. I find myself stuck trying to find the VBA way to get Access to create a PDF of the currently-selected (and open) object (Form or Report). I know it can be done by selecting :...
1
by: Teri B | last post by:
Hi, I have created a sub-form Roles. In my course form the user selects the roles assigned to the course. 0ne-to-many. One course many roles. Then I created a report based on the Course form and...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 1 Nov 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM) Please note that the UK and Europe revert to winter time on...
0
NeoPa
by: NeoPa | last post by:
Introduction For this article I'll be focusing on the Report (clsReport) class. This simply handles making the calling Form invisible until all of the Reports opened by it have been closed, when it...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.