Non-secrets, like addresses and SSNs, should be rendered harmless rather than squandering resources trying to keep them secret.
Though if you run a full domain you can use emails as one-use affairs. Most don't though and, really, what's the point? It only saves you from journalists, not from a motivated attacker.
or, if you use a service that lets you generate aliases, like gmail's "+", or a service like mailinator.
The problem is that the attack vector of email addresses is they are sometimes used as a username, and therefore contains more information than what is strictly required (for the purpose of a username). Leaking the "real" email address not only leads to spam, but allows a more dedicated attacker to use that email address as a starting point on a different site, or hack the email address altogether.
And with sites increasingly blocking disposable email addresses like mailinator, or disallowing email aliases, the problem can only get worse.
I can confirm the source of every email breach that contains one of my addresses.
p0wn3r $cat testerm
[email protected]
[email protected]
[email protected]
[email protected]
p0wn3r $cat testerm | sed 's/+.*@/@/'
[email protected]
[email protected]
[email protected]
[email protected]Does Gmail allow sending from the + addresses? There's quite an issue if somebody contacts you on that address but you reply without the alias.
Can you explain this claim?
If you generate your single-use email addresses wisely, then you should know that the one you gave to - say - Marriott should only ever receive emails from Marriott.
If - say - Marriott gets hacked and that particular one of your many different email addresses leaks, then:
a) you'll find out that address is burned just as soon as anyone other than Marriott uses it (you immediately generate a new one, give it to Marriott, and stop accepting any mail at all on the old one)
and
b) if anyone other than Marriott uses it, you know immediately that that message can't be legit.
ADD: and of course, you aren't really going to stick +BankCo after your real name to generate an email to use with BankCo. You're going to give them something generated like you'd generate a password - "[email protected]" or similar - so if anyone finds out that particular email address for you it doesn't tell them with whom you use it.
- Phone up the tax office and find out about all your finances, and make adjustments to your tax percentages and affairs.
- Phone your medical provider, and very possibly socially engineer them into revealing medial information. I could book an appointment with your doctor for example and impersonate you on the phone appointment.
- Call all your utility providers and cancel contract without you knowing about it.
- I highly suspect I could call your phone provider and take over your phone number, and in some cases use this to take over your email.
Whilst SSN should not be treated as a non-secret, the reality is that it is a secret and is often the only line of defense when dealing with companies.
The problem is that using a government issued ID is easy since everyone has one. That's the wrong use for something like a SSN, but you're right, it's what's done in practice.
We should be moving away from that. Government issued ID should merely be the equivalent of a user name, with any real use requiring additional factors of authentication (password, security key, etc). Unfortunately, most of these other factors are also easily accessible (mother's maiden name, date of birth, etc).
Ideally, we'd have something like:
- number issued at birth (like present system), frozen until individual activates it - individual sets password when unfreezing - all accesses must be explicitly allowed by the user - user can grant/revoke/audit access, and access is denied by default - no private data is stored in the account - companies that use the account for authentication are required to delete user data when the user requests it, and these systems are audited to ensure this happens
However, that's not the case. We should be fighting to change that. Having something like an email address or identification number become public knowledge shouldn't matter one bit...
I like the idea, but I'd like it better if my existing email provider that I already trust gave me unlimited aliases (long random ones are fine, and I'd even be willing to pay, say $0.10 each). "+" suffixes are a start but they still leak the original email address.
Why have 2 not 1. Well one of them has to be globally unique on the site, the other has to be hard to guess. Two different requirements.
Here's a much more in-depth article from Troy Hunt, the same security guy running HIBP quoted in this story: https://www.troyhunt.com/im-sorry-but-your-email-address-is-...
Right now if you know someone's personal email, you can be pretty sure they use it everywhere. It's not a good practice, but it's hard to understand why until you've been the target of wtf-level social engineering attacks where someone got into one of your many accounts starting with nothing but an email address they don't even control.
Of course, there are some issues with the OP's email forwarding service:
1. You have to be someone concerned enough about security to want to generate email addresses, yet you have to be cool piping them through a third party. Ouch.
2. Niche product. I didn't realize how bad social engineering could be until I started hosting bitcoin services. I've had people break in to my AWS accounts twice (with bogus information) after Amazon told me they made a note on my account and that it should now be impossible. As we speak, I cannot get into nor cancel an AWS account that someone SE'd that's charging my CC every month even though it has my CC on file. I have to issue a charge-back. It's hilarious. Amazon thinks an email is more authenticating than a CC that's been on file for years before the attacker changed the email. They literally don't even have a customer support process for this situation. 99% of people even on HN have no clue how pwned they'd be if they're ever a target.
3. It's more of a feature on an existing product than a standalone service. I'd expect players like 1Password to implement it themselves.
You have to jump through a few hoops for gmail to accept your emails. The documentation is there.
If you’re already running a VPS for other reasons, then this is free. If you’re not, then VPSs are extremely cheap anyway.
If all twitter accounts had a physical address scams would increase, crimes, etc.
Emails are an ID on most sites, that’s it. Just because you provide the email as an ID for the account you want to authenticate against doesn’t mean it’s a factor of the authentication.
The auto-generated email addresses seen in the screenshot look very long. There are sites that restrict email addresses to 30 characters, 40 characters, 50 characters, etc. A quick count on one of those on your site showed the length to be more than 50 characters. So this may not work unless you provide a way to specify the length of each generated email address.
Now for the suggestions: the pricing on the Plus tier seems quite high. In fact, one could pay less than $4 a month (the Plus pricing) and get a Runbox mail account with 100 aliases and a Fastmail account with 600 aliases. So the only value in using your service at that tier seems to be the auto-generation part. The pricing for the unlimited tier is also much higher than the average prices of any paid privacy respecting email service. With the services mentioned above, one wouldn’t get tied into an @users.idbloc.com address either if one were to use their own domain.
>Triggering important security processes (eg reset password, social engineering attacks) are trivial once you know someone’s email address.
Sure, but that alone isn't an issue unless you have weak passwords for your email accounts.
>If you want to keep your email address private (you should), generate a new, random email address whenever you give yours out (the same way you use a password manager)
If you're already using a password manager how's that going to provide any additional security? No one is going to crack your 128 bit entropy passwords even if they have your email.
I can also whitelist some of these private addresses, so that my spam filter can't hide e-mails from services I depend on, no matter who sends them (it can be automated no-reply address, or some support person's address, etc.), so it's not really whitelistable based on the sender. I can't whitelist my public addresses.
It has plenty of benefits with regards to security.
It's basically a secret passphrase you give to a company that it can use to reliably contact you, and that you can use to verify that you're talking with someone you've given this secret to. It's not perfect, but much better than public addresses.
- I have a simple custom web UI for managing mailboxes and aliases in the PostgreSQL database.
- I have postfix/dovecot setup with virtual mailboxes. I avoid DB/postfix interaction by simply dumping DB into a static postfix config files (this is much lighter on resources, than having postfix connect to the database, and much less complicated). I don't use catchall address.
- I use POP3 to get mails from my VPS, to avoid storing archive there, and to avoid having to deal with IMAP in my mail client and filtering scripts
- I use neomutt as a mail client. It has some nice options, like reverse_alias (which I use to display names of my private aliases)
- Neomutt can read configuration from a stdout of some command. I use this to generate aliases and other config options, that make it so that when I reply to something delivered to a private alias, the reply will be sent from that alias too. Using this I can have a single Inbox.
- I filter e-mail using a PHP script (it parses the e-mail, checks the alias database, and decides whether to pass the message to bogofilter, Junk, or Inbox)
Aside from adding aliases to the database, there's no other manual work.
You can probably avoid the database by having some scheme, where address is servicename.[substr(sha256(servicename+secret), 10)]@domain.com and filter/whitelist/highlight on the hash validity.
Of course you may also do this for privacy reasons as well, when your reddit account is leaked do you want that linked to your LinkedIn account?
all the ones in my password manager are
>Are you sure your accounts can’t be broken into with social engineering?
And who's to say that you can't also use social engineering to recover the real email? eg. "I forgot which email I used, but it's on my domain, example.com". This is even more plausible if you use any of the "tricks" that the GP mentioned, like putting random characters, since it further lends credence to your "forgot my email" story.
>Is your password manager infallible?
Considering you have to store all those different emails somewhere, I don't see how this mitigates the treat.
>It’s defence in depth.
Sure, it's defense in depth, but the gains in security is so marginal.
>Of course you may also do this for privacy reasons as well
Sure, I'd buy that aspect, but catchall domains or dot/plus tricks aren't going to cut it because they're relatively easy to deanonimize. Not to mention all the data you leak on those platforms just by using them (location references, friend lists, interests, etc.)
Because an email address is essentially an username.
I've done this before. You will get a shitload of spam. I recommend suffixing the user of all addresses with something you want to go to your inbox.
E.g. I use *[email protected] (r for "real"). Anything that doesn't end in [email protected] never hits my main inbox.
Having the "validating substring" in front of the @ will actually make it easier when you have to use the email address in vocal communication: many humans are unaccustomed to encountering more than one dot after the at.
I use a subdomain. *@abc.example.com goes to my CatchAll folder. [email protected] go to their respective users. There are no equivalent names between @abc.example.com and @example.com so if anyone gets cute[0] and tries stripping out subdomains, the messages are rejected. Also, subdomains are common enough that no one thinks anything of it.
As a nice bonus, the subdomain can also be directed elsewhere. I've aimed it at various "we automatically file your e-mail" type scripts and services before, just to try them out.
0 - Spammers absolutely try to get cute and drop the subdomain. For example, in the Dropbox leak, [email protected] and [email protected] of mine were leaked. I see tons of spam attempts to [email protected] and [email protected] daily.
Yours is a good solution.
Isn't it elementary for a bad agent to scrub those? Your actual e-mail address ([email protected]) is too visible.
Even if you have my [email protected] address it still won't help you with login in on other sites as the address used on another site is still unknown.
so you can do `[email protected]`
then if you get any email to `[email protected]` you can filter it
Of course, they can start stripping dots in gmail addresses too, but then they'd have to be targeting gmail specifically or they'd break for most services where dots do matter.
Sadly, "+" doesn't work. Too many web email validators fail when given a "+" character. Gmail has made some of that a little better, but I still bump into it too much.
I generally use "_" or "." for wildcard start as any email validator that hangs on those will get smashed immediately.
Rather than trying to fight windmills, it's better to use unique emails for sensitive/high-risk purposes. That way they cannot be used as primary key.
Company policy here is to never register any company account under a generic <[email protected]> email but use a partly randomized email for each provider <[email protected]>. That way no one can use one leaked email to even identify other services we use (think reset password/login dialogs leaking information about an email being registered or not).
Nice! I just started working on the same thing, and it would be great to be able to drop the project… except trusting a new service with your e-mail is hard. (It’s even hard to trust established names like Google or ProtonMail.) If only every service supported encrypting e-mail so providers couldn’t read it. :(
So, you need to share your email address to be able to communicate properly, but you also need to hoard it because it is part of how you identify yourself. Aliases are one workaround but are not universally accepted as identifiers.
But maybe something*@example.com
I have two Gmail addresses. A public and a private. For anything that is public facing, that exposes the email or that I don't trust as much, I use the public email. For everything important, I use the private one (and sometimes with the + method).
My private address is set to forward to my public. I only respond and send email from the public email.
- ask to connect, perhaps with a short message as to why (maybe limit to 100 text characters) - once approved, communication is encrypted (PGP keys are exchanged behind the scenes)
I think that would drastically limit the amount of spam, phishing, and intercepted messages, which is good for everyone. Unfortunately, I think it's also quite unlikely to hit the mainstream.
So, I just looked to see, and there is already a service doing this: https://www.abine.com/. The email forwarding is the easy part. They also do "burner" credit card numbers. I don't know that domain to know how you do that, but that seems good. They also do phone numbers. Neat idea.
Email is not a factor in authentication, it’s a user identifier. There is a huge difference between the two. Requiring users to also provide their first name is also not a factor.
Email is just a worse version of the same factor in a login. They are both just “something you know” only email is even worse because it’s something everyone who knows you knows.
Just to drive the point home, if a website asks you to set three passwords that it asks you for on each login, that’s not 3-factor or even 2-factor authentication. They are all just part of the “something you know” factor.
The first time I setup a top level catch all, I had the first dictionary style attack within a day or so. I've been using a catch-all mail-only subdomain for well over a decade, and have had no such attack.
That doesn't make any sense. Just create multiple email addresses, one for talking with people and a separate one for signing up for services.
The one problem is there are companies like Facebook where even if you sign up with a secret email address, they will send password reset tokens to the other public-facing email addresses you have on your profile.
Personally I have a bunch of spare email addresses from google, yahoo, and others that I created many years ago before they demanded a phone number when signing up. I just use those for website logins.
[email protected] -> (some unique symbol to denote hash, say +)(hash)@gmail.com
It wouldn't be complicated for them to implement, and give everyone a few such aliases.
Forget about email addresses, the network should scale globally from the user's public key that can be stored on any number of nodes as the user id with the data.
The fact is that email is often the keys to the kingdom, if compromised, or the baited hook to be used in phishing. With consequences which have had globally-significant consequences, to date.
It’s clear from this hack that the owners of the hacked site didn’t see emails as something worth securing (stored in plain text on a wide open mongo server)
If you want to keep your email address private (you should), generate a new, random email address whenever you give yours out (the same way you use a password manager). If you have your own domain you can use a catch all/wildcard address, eg. *@mydomain.com, if you use gmail you can use their plus support, e.g. [email protected], if you use neither or want more security I’ve recently launched https://idbloc.co which aims to help deal with this.