I often need to get passwords from clients for FTP, SSH, MySQL, Authorize.net, etc.

What's an easy way for them to send me passwords securely? Maybe even without them needing a login/password?

Encrypted IM sessions are a hassle to set up with non-techies. Phone calls break up my concentration and require arranging. (Are VOIP calls secure, anyway?)

Ideal: An easy way for non-tech-savvy people to send encrypted email. PGP/GPG doesn't cut it, unless Outlook has some super-easy built-in wizard. (You never know...?)

Good: A web-based secure message system (hopefully in PHP) that I could host and run over SSL. I haven't been able to find anything like this.

Maybe I'm asking the wrong thing or the wrong way. Any suggestions are appreciated!

link|improve this question
1  
Them knowing your password in the first place is a pretty big security issue – Ciaran Aug 11 '09 at 19:50
1  
Note - this question is a duplicate of stackoverflow.com/questions/1262424/… (Adam apparently didn't know about the question migration feature) - if the question is migrated here to superuser, one or the other should be closed as a duplicate. – bdonlan Aug 11 '09 at 19:55
2  
They never know my passwords, but I have to know tons of theirs, being their web developer. – Adam DiCarlo Aug 11 '09 at 19:56
Related question on ServerFault: serverfault.com/questions/61402/… – Tim Lytle Aug 8 '11 at 16:43
feedback

12 Answers

up vote 5 down vote accepted

your idea of a web-based messaging system could be implemented in a few dozen lines of html & php (mostly html) on any system that had an SSL web server and gpg installed. it's really just a very simple but specialised formmail type program. you could even hack an existing formmail CGI script to insert a call to gpg (assuming one doesn't already exist, try googling for formmail + gpg)

  • if you haven't already done so, install gpg on your workstation and create your public & private keys

  • create a php page that displays a form to accept a message (text field), encrypts it with gpg using your public key, and emails it to you. hard-code your email address in the script (i.e don't allow the sender to specify who to send to)

  • install the php page on an existing SSL server or create one just for the task. a self-signed cert is good enough for this job.

  • tell your client the URL when you need them to send you a login and password.

btw, thunderbird has the enigmail plugin which makes using gpg encryption very easy...but it's still probably too much trouble for casual users.

link|improve this answer
I was thinking I'd probably have to do something like that. If I do, I'll make it an open source project if I can think of a good name for it. – Adam DiCarlo Aug 12 '09 at 2:44
2  
Think of all the open source projects that were never open sourced because someone couldn't think of a good name! – Robert Aug 14 '09 at 18:56
feedback

Over the phone.

link|improve this answer
But when I'm subcontracting, should the client phone my client and then my client phone me? That's more hassle than my client wants, I'm sure. Especially when the client gives my client the wrong password; then I have to tell my client it was wrong and it all starts over. – Adam DiCarlo Aug 11 '09 at 19:55
+1: There's no way to securely send a password over the internet. – Sasha Chedygov Aug 11 '09 at 19:57
+1: Specifically over a non-voip connection. – David Locke Aug 11 '09 at 22:34
@musicfreak: of course there is - that's what public key cryptography is for....it's purpose is specifically to allow you to exchange confidential information WITHOUT pre-arranging shared secrets. and one of the common uses for PK crypto IS for the secure transmission of shared-secrets such as passwords. – Craig Sanders Aug 12 '09 at 2:17
Is my 3G cell phone essentially VOIP? – Adam DiCarlo Aug 12 '09 at 18:57
feedback

PGP is popular.

You can also try the tried and true method of a meeting at a pond, preferably with both of you wearing trench coats.

link|improve this answer
3  
+1 for both the PGP and the "french connection" ;-) – ldigas Aug 11 '09 at 20:03
1  
For those of you that was a FOSS version - GPG does the same. – Dentrasi Aug 11 '09 at 20:11
3  
I was trying to avoid PGP/GPG -- this is for non tech-savvy people who don't necessarily have much time (or patience) for something involved. – Adam DiCarlo Aug 11 '09 at 22:15
feedback

Don't overcomplicate the matter, and don't overestimate the importance of what your client is sending you.

If either computer has a key logger running, no amount of encryption will protect those precious passwords.

I wouldn't send REALLY sensitive passwords across the internet (such as an administrator's password) but for the applications you mentioned? It's not worth the effort to secure them on the off chance that someone might be intercepting your emails.

If your client is concerned, they have several options:

  1. Learn how to send encrypted emails.
  2. Send a fax, if possible.
  3. Snail mail? (lol)
  4. Speak it clearly over the phone using a Phonetic Alphabet
link|improve this answer
The applications I mentioned include Authorize.net. I consider that REALLY sensitive as (forgot to mention) I'm talking the transaction key. This key allows not only accepting payments, but basically making payments (crediting customers for refunds is the purpose). Also SSH/FTP and MySQL access allows the user to blow away their website... I think that's important to protect too. You say if my client's concerned; isn't it my responsibility as a professional not to say, "Go ahead and email me your sensitive passwords?" – Adam DiCarlo Aug 12 '09 at 19:01
Transaction keys - no question. Send those over fax, use the phone, whichever is easier. But for a client website? Sure, it's important stuff, but it's not worth going to all the effort of securing the email. If someone wants to get rid of one of your client's websites, there are far better ways to get rid of it than the off chance of intercepting an email - DDoS attacks, SQL injection, there's umpteen bazillion ways to take down a web server, and stealing someone's credentials by sniffing an email just isn't one of the better ones. Like I said, don't overestimate the importance of the info. – EvilChookie Aug 12 '09 at 21:10
1  
And since you work with websites, you should know better than most that you simply don't just store important stuff on the website. – EvilChookie Aug 12 '09 at 23:00
feedback

Skype's Instant Messaging is encrypted.

Now, here comes the necessary caveats: Skype is not open source so you don't know whether or not they did a terrible job or installed a government backdoor or copy all messages to Bob in IT, but the best available evidence suggests that it is secure.

link|improve this answer
feedback

set up a Password Safe file in a shard Dropbox, so clients can add passwords as needed.

Joel describes the technique here

link|improve this answer
2  
Interesting idea, but it involves each client learning/using not only Password Safe but also Dropbox, and presumably separate dropboxes for each client? Don't want them seeing other people's password safe files there -- that would look bad (even though they wouldn't have the password to open others' safes). – Adam DiCarlo Aug 12 '09 at 0:48
feedback

This is a combination between a text file and a phone call:

Have your client put password in a plain text file, and then drop the text file into a password-protected zip file. (7zip is free and open-source). Have them email the encrypted .zip/.rar/.7z file to you and then call with their username and the password for the zip file.

This prevents anyone from opening the zip file, and even if they did, it's only a password, which doesn't give you anything without any other information, like username and where to use it.

Additionally, this is a way to email a "forbidden" file type, like a .exe, to an email client that scans attachments and inside zips. In those cases, I usually just include the password for the zipped file in the email, and it's usually "password". It's enough to stop email software from checking the contents, though.

link|improve this answer
feedback

Use timebomb.it to conveniently send passwords online.

This will prevent hackers from discovering passwords by searching for "password" in the recipient's inbox or chat history months later. For really sensitive information, keep the password a secret from the non-techie for their own good.

link|improve this answer
feedback

How about in a text file on an encrypted USB key sent via snail mail

link|improve this answer
feedback

We just put out a web and mobile application to handle some of this stuff. It creates random URLs for credentials kind of like a URL shortener, using HTTPS and a hashed/AES encryption method for storage. Theres a simple JSON API too for devs, heres our writeup, give it a look.. http://blog.primestudiosllc.com/security/send-time-limited-secure-logins-with-timebomb-it

link|improve this answer
feedback

This one is a bit more effort but saves the client time as well:

Set them up with something like Roboform but store the data on the web so that you can access it. When they log in somewhere RF will save the password and it's available to you.

Downsides:
*Not sure how secure online storage of Roboform is * You then have access to all of the client's passwords and they may not like that idea.

link|improve this answer
feedback

I would recomend using something like axcrypt. It is very intuitive so even technically challenged people can make it work.

Download AxCrypt here

When you use AxCrypt you or whoever you are dealing with can create a file with all of the passwords/sensitive info and then encrypt it with a passphrase. I always recommend at a minimum exchanging the pass phrase over the phone or in person (This is the best option). AxCrypt uses some decent encryption, so you can be sure it will keep all but the most determined adversary out. The best part with AxCrypt is that it integrates into windows as an explorer extension. In windows explorer all you need to do is right click on the file to encrypt it/decrypt it/

Happy Hunting!

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.