tags:

views:

77

answers:

4

If I had let's say a sensitive report in PDF format and wanted to send it to someone, what is the most secure way?

Does a desktop application make it more secure? Since we are basically doing a client to server communication via private IP address? Then add some kind of standard encryption algorithm to the data as you send it over the wire?

What about a web based solution? In web based, you have a third person in the loop. Sure, it would do the same kind of encryption that I would have on a desktop.. but now instead of client->server directly, you have client->server | server<- client... You also have exposure to the broad internet for any intruders to jump in, making yourself more open to man-in-middle attack... One thing the web has going for it is digitial certificates but I think that is more authentication than authorization.. which the desktop problem doesnt have?

Obviously from a usability point of view - a person wants to just goto a web page and download a report he's expecting. But most secure? Is desktop the answer? Or is it just too hard to do from a usability perspective?

OK there seems to be some confusion. I am a software engineer and am facing a problem where business users have some secure documents that they need to distribute - I am just wondering if using the web and SSL/CA is the standard solution to this, or maybe a desktop application could be the answer??

A: 

Print it off, seal it in an envelope, hire some armed guards for protection and hand deliver it to them.

You may think its a silly answer, but unless you can identify what your threat vectors are any answer is pretty meaningless, since there is no guarantee it will address those threats.

Visage
Just hire the transporter. Rule #3 never open the package. Of course, if he does, the process fails.
RQDQ
it was clear that the OP was requesting a reasonable network based solution, armed guards? come on
Define reasonable. What is reasonable for a birthday card for granny may not be reasonable for nuclear launch codes.
Visage
Fortunately the people that handle classified data have a well defined procedure and don't ask stackoverflow how to send a pdf of nuclear launch codes over the internet.
Oh, the naivety!
Visage
Can you trust a CA to sign a SSL certificate? Can you trust RSA 95:39:b1:89:db:5d:65:3a:57:3e:fc:6e:f7:45:6d:09 over SSH? Don't, cause it is a bot in a botnet. Any technique that doesn't involve armed men isn't very secure, but you can make compromises.
jbcreix
+2  A: 

The method that comes to mind as being very easy (as in it has been done a lot and is proven) is just distributing via a web site that is secured with SSL. It's trivial to set up (doesn't matter if you're running Windows, *nix, etc) and is a familiar pattern to the user.

Setting up a thick client is likely more work because you have to do the encryption yourself (not difficult these days, but there is more to know in terms of following best practices). I don't think that you'll gain much (any?) security from having to maintain a significantly larger set of code.

RQDQ
It's good enough for online banking...
Brandon Horsley
@Brandon - And they **never** have security breeches... wait... :P Good point, though.
AllenG
@AllenG - they have security breaches, but it's usually because an employee leaves their unencrypted laptop sitting around with a bunch of customer account information.
RQDQ
+1  A: 

Most secure would be print it, give it to a courier in a locked briefcase, and have the courier hand deliver it. I think that'd be going overboard, though :)

In real world terms, unless you're talking national security (in which case, see courier option above), or Trade Secrets Which Could Doom Your Company (again, see courier option above), having a well encrypted file downloaded from the web is secure enough. Use PGP encryption (or similar), and I recommend the Encrypt and Sign option, make the original website a secure one as well, and you're probably fine.

The other thing about a desktop application is: how is it getting the report? If it's not generating the report locally, it's really doing just as many steps as a web page: app requests report, report generated, server notifies client, client downloads.

A third option, though, is to use something other than the website to download the reports. For instance, you could allow the user to request the report through the web, but provide a secure FTP (SFTP or FTPS) site or AS2 (or AS3) connection for the actual download.

AllenG
thanks. current option is a SSL certed website from a CA. Problem is, the certs expire after 15 days. When you send 100 of these a month half of them dont make it to the expieration. The other half users can't understand what a CA is. Oh, and answer to the desktop question, i would say its not request for report, but a push directly where the request came from email
dferraro
That's a unique set of constraints... What cert do you have that expires in 15 days? Certs are normally issued for years at a time. If your enterprise has a requirement that the cert expires that quickly, then just send nag emails to the users that they have x days left to download this really important document. They don't need to understand what a CA is.
RQDQ
RQDQ - what i meant is that if they *dont* download the cert in 15 days, it expires
dferraro
A: 

Any system is only as secure as it's weakest link. If you sent the document securely and the user downloaded / saved it to their desktop then you'd be no better off than an unsecure system. Even worse they could get the docuemnt and then send it onto loads of people that shouldn't see it, etc. That leads on to a question whether you have an actual requirement that they can only view and not download the document? If not, why go to all this effort?

But if they are able to down load it, then the most secure method may be to send them an email telling them that the document is available. They then connect to a system (web / ftp?) using credentials sent separately to authenticate their access.

Paul Hadfield
While the first paragraph is true, it rarely comes into play in industries where "best effort protection" (Banking, Medicine, etc) is the order of the day. The idea is that "I" should make it as secure as I can, and "They" will bear the consequences if something blows up.
AllenG
Allen hit it on the head. We won't get sued if the user sends it out to a bunch of people he shouldn't, and we frankly don't care =)
dferraro
That's good, I understand it's hard when you've signed a NDA, but I think a few of us were trying to help with little information. So hopefully now you've provided a little more infor, a few of the other answers are more helpful.
Paul Hadfield