I have an application that would send sensitive data through email to specific users. I have setup a google business account which provides email addresses on my business domain. I will be sending email through Nodejs nodemailer over smtp protocol with TSL. The way I understand it, the data being transferred between my server and gmail server and the data then delivered to the user's email address will be sent through secure encrypted channel. I am mainly worried about the security of data being sent from my server to the gmail server. Will this be secure or should I set up my own email server?
-
1As long as the configuration requires TLS, the data in transit will be secure.– Neil SmithlineMar 21, 2016 at 18:06
-
3Am I correct that you are not concerned about rogue Google employees and law enforcement agencies spying on your data?– Neil SmithlineMar 21, 2016 at 18:22
-
Even if you don't concerned, you better start concerned... Any adversary, is an adversary right?– feritMar 21, 2016 at 18:28
-
1@NeilSmithline The level of blind-faith people put in unelected entities answerable only to their shareholders never ceases to disappoint me. Any company capable of providing targetted advertising is an intelligence agency in my book - much like PayPal is a bank.– Phil LelloMar 21, 2016 at 19:20
-
@NeilSmithline yes I am not concerned with that, all the users to whom the email would be sent will be part of the system and accounts can only be added by trusted admins. My concern is/was only that any man-in-the-middle type attacks or anything that would allow anyone to intercept the email being sent to gmail server through nodemailer would be possible. I am assuming that won't happen using TLS correct?– HassaanMar 22, 2016 at 7:44
2 Answers
If you are worried about the confidentiality of the data you're sending:
Use end to end encryption and make it mandatory.
The two (more or less popular) alternatives that will both serve the purpose are
- S/MIME
- PGP/GPG
If you are only worried about the transfer to the google servers, as long as you are making sure using SMTP with TLS, the transport way is secure.
Note:
While the end-to-end encryption only encrypts the message body, the message headers (as well as the message, if you are not using end-to-end encryption) are transmitted over the secure connection between the SMTP server and your server, thus only accessable for those parties, as far as your question goes.
Keep in mind that this is only true as long as the user does check his/her mails over a secure connection, which you have no control over.
At a minimum, if you soley rely on SMTP with TLS, all hops of your email must be trusted by you to exclusively use TLS and to respect the privacy of the user.
Those are, at least:
- Your server,
- Google,
- The user's email provider,
- Potentially many of those, depending on the forwarding the user has configured,
- The user.
Bottom line being, as you cannot establish that trust:
Make either S/MIME or PGP/GPG mandatory to protect the sensitive user data on transit.
You should use end-to-end encryption, if you send sensitive data. And do not use gmail, it is not secure (they don't respect privacy).
I'm currently using an e-mail service from https://www.autistici.org, which is a volunteer organization. You may want to check.
Keep in mind, even if you use end-to-end encryption, you can't encrypt e-mail headers (title, from, to etc.)
And actually there is a new mailing protocol under development, called DarkMail, to create a secure e-mailing protocol. But, not ready yet.
-
2Can you back up your statement that Google doesn't respect the privacy of its business users' emails? Google claims otherwise. Note that the question is about a business account and not a standard end-user account. Mar 21, 2016 at 18:04
-
Also, the OP says "I am mainly worried about the security of data being sent from my server to the gmail server.", a point that you didn't address in your answer. Mar 21, 2016 at 18:07
-
1Yes, I can. But before that, as a principle, any black box system should be considered as violation of privacy. Because you can't confirm "We respect your privacy" claims.– feritMar 21, 2016 at 18:07
-
@NeilSmithline Best way to deliver a message from somewhere to another , it doesn't make difference if it's a gmail server or not, to encrypt it end-to-end, if you need privacy really(as he said that he is sending sensitive data)– feritMar 21, 2016 at 18:08
-
1You seem to be arguing for a security model that, at least IMO, isn't required by the OP. I'm willing to assume that nothing's NSA proof and that, without end-to-end encryption, any service (even the one you mention) is subject to warrants. But the OP isn't doesn't seem to have indicated a need to worry about that. Mar 21, 2016 at 18:17