DuckDuckGo is a search engine that has a Tor Exit Enclave and hidden service. This site is focused on the safe, secure searching of its users.

  • Since DNS is not used in Tor, it appears that HTTPS is less secure due to its reliance on DNS

  • Considering that the Tor Hidden Service protocol encrypts traffic end-to-end, does that remove any threats that exist when compared to a HTTPS session?

  • Is MITM risk reduced?

  • Is name resolution more secure than DNS? (protection from spoofers)

  • Are there additional risks?

Please provide additional details and information. For example, how does Tor HSP compare to HTTPS + IPSEC + DNSSec (or the lack of the latter two)?

  • "threat protection". what or who is your threat? from whom do you seek protection?
    – ordag
    Mar 7, 2012 at 17:36
  • 1
    @ordag - I want to list the knowns and unknowns threats between each (TOR vs HTTPS) and see where they overlap and where they are different. So far, the utilization of DNS seems to be a key differentiator. Mar 7, 2012 at 17:45

4 Answers 4


makerofthings7 wrote:

it seems TOR is better/more secure since it doesn't use DNS, and it doesn't rely on CAs

Just as it's ultimately the user's responsibility to verify a TLS certificate before accepting it, it's the user's responsibility to verify that an onion address is the intended address. By starting with

  • (a) I know an onion address
  • (b) I know a regular domain name (f.ex. "google.com")

you are stating, by hypothesis:

  • (a) I have solved a tricky problem
  • (b) I have yet to solve a tricky problem

and (a) directly implies more security than (b) because of the stronger hypothesis.

But stating (a) actually means "I know how to solve tricky problems" so you should be able to also solve (b). IOW, if you can reliably obtain an onion address (f.ex. over the phone from someone whose voice you know), you should be able to reliably obtain a TLS certificate fingerprint of the website by the same provider.

But you are probably relying on some Internet resource (website, Usenet message, email...) to learn the onion address:

  • (1) do you trust the claimed author of the message?
  • (2) do you trust that the message was really written by this author?

Maybe the message was found on an HTTPS website, and you are back with:

  • (a) verifying that the owner of the website is the person you trust
  • (b) the website you see is the real website, IOW that the TLS certificate is valid.

Maybe the message was found in an email, and you have to check the PGP/GPG (or S/MIME) signature. Then you are back with: who owns this PGP/GPG/S/MIME signature? In any case, you need a trust anchor.

No cryptographic protocol or tool alone solves this problem, because it isn't an algorithmic matter, it's a matter of fact checking, facts like "this key really belongs to this person", and in most cases trusting others to do the fact checking, unless you can meet the guy in person and ask him his key fingerprint, which honestly is rarely the case (I tried with my bank and they had no idea what the fingerprint of the key was).

  • 1
    Bank's IT prefer to delegate security responsabilities to experimented pro (like CISCO)... This means: There are very few IT admin in banks, that know how SSL do work... Unfortunately. Mar 22, 2014 at 7:44
  • @f-hauri Seems you meant to say "experienced" or something similar instead of "experimented"? In general I find this answer overly pedantic, perhaps the question was changed after the answer was written? Nov 17, 2016 at 14:07

One problem with HTTPS is that you need to trust the root CA. And most browsers have many of those by default.

With TOR hidden services, the .onion address itself contains a hash of the server public key, so you don't need any CAs.

But the main issue is that .onion addresses aren't very user friendly. So the problem shifts to getting/verifying that you're using the correct .onion address. I see at a glance that stackexchange.com is the site I want, since it's easy to remember. Remembering a .onion address on the other hand is hard.

Some projects such as namecoin aim to create a secure association of user friendly name and a public key. But no such project is integrated into TOR yet.

  • 1
    Is there any additional information on how the connection is set up and protected from MITM attacks? Mar 1, 2012 at 22:14
  • 1
    @makerofthings7 - isn't the fact that the path to the server is via different (unknown) relays give you at least some protection against MITM? You can set up a rogue relay, but it will only be able to see parts of the communication, so a targetted MITM should be rather difficult.
    – Yoav Aner
    Mar 6, 2012 at 8:49
  • 1
    So it seems TOR is better/more secure since it doesn't use DNS, and it doesn't rely on CAs. Add to that complete anonymity and it's quite safe for certain applications Mar 7, 2012 at 17:16
  • 1
    @curiousguy I think you should turn that into an answer Jun 17, 2012 at 20:37
  • 1
    @CodeInChaos "you should turn that into an answer" Done!
    – curiousguy
    Jun 17, 2012 at 22:53

"more", yes. But that's not meaningful if the threat you're trying to counter is not the vulnerability being used against you.

MITM attacks are a strange thing to ask about in Tor hidden services. If you trust the hidden service (maybe you met somebody who handed you a .onion url?), and you trust your Tor client (i.e, the MITM is not feeding you tainted binaries), then, because you're not outsourcing your trust to a Certificate Authority, it provides protection against "more" threats... but so would a self-signed certificate and a pre-shared secret or PGP.

Specific answers to your questions would be:

  • HTTPS also encrypts traffic end-to-end
  • MITM is reduced compared to trusting a CA if and only if you have a shared certificate or .onion or something, otherwise, you're connecting to an anonymous server.
  • There is no name resolution equivalent in TOR (.onions are analogous to network addresses)
  • HTTPS has the additional risk of traditionally trusting every CA in your browser's certificate store (unless you self-sign)

How does TOR HSP compare to HTTPS + IPSEC + DNSSec? A. Apples and oranges. One provides encrypted anonymized communication with anonymous services, the other provides secure communications with services where trust was bought from authorities and registrars (along with the implications of involving money in the trust relationship).

Are you new to Tor? it sounds like you might mistake what it's intended for.

  • 3
    that's correct. One good example of why to use a Tor hidden service would be to blow the whistle on government abuse of power, or to deliver a story to a media organization. Tor exit nodes are outrageously dangerous to run, but Tor hidden services are reasonably safe. Duckduckgo's Tor hidden service 3g2upl4pq6kufc4m.onion , lets you search for things you'd be afraid to search for normally. E.g., if you're single in Iran and looking for information about contraception. Keeping the search off the Tor exit nodes shrinks the number of people who know what you're looking for.
    – mgjk
    Mar 3, 2012 at 20:36
  • 2
    Thank you mgjk - So now we are in the same frame of mind... given that a HTTPS connection has so many security issues (documented on this site), how does a TOR based connection compare? Mar 3, 2012 at 21:03
  • 2
    HTTPS uses SSL, Tor uses TLS. TLS and SSL are almost identical. HTTPS is usually for web browsers. Tor is usually for web browsers. The weaknesses in HTTPS are in the CAs or in browser info leaks. Tor doesn't use the browser's CA trust list for TLS, and when you load a stack for Tor, you turn off all the known leaks for info (e.g., scripting, plugins, cookies, etc.). So Tor is stronger... but if you used tools to protect from information leaks in HTTPS and you used self-signed certificates with shared secrets, you'd be just as well protected as Tor... but you would not be anonymous.
    – mgjk
    Mar 3, 2012 at 21:48
  • 2
    It depends on the scenario. You can disable all that stuff in https, using self-signed certs, ip addresses and disable all scripting and plugins. It would give you more control but no anonymity, and in your certificate, you could specify the strength of your encryption with your clients. Without knowing the scenario, it's highly theoretical. Security can't be quantified in this way. (btw, you have to have a bad CA and a DNS hijack to break https).
    – mgjk
    Mar 7, 2012 at 18:35
  • 2
    @makerofthings7 "Since HTTPS broken by one "bad" CA, or DNS Hijack would you agree that TOR is more secure since it doesn't use DNS or CAs?" Your anonymity within Tor could be broken by a consensus a "bad" Tor directories (many directories hacked at once), something that isn't really implausible. And you trust that you have the true Tor client with the true directory keys Is that because you got it with HTTPS, with the torproject.org server TLS certificate verified by some CA? (Have you checked which CA? Have you checked this CA track record?)
    – curiousguy
    Jun 18, 2012 at 3:08

Just use Tor and tunnel through an Internet SSL/TLS proxy. Just make sure the tunnels and DNS resolvers are configured properly on both sides. There's a lot to know about this stuff, and it's best if you can troubleshoot, verify, and understand every little detail.

Some tools such as Qualys SSL Labs and sslstrip/ssldump are very helpful.

Another, potentially better option is to utilize something like OpenVPN to your own hidden Tor node.

In other words, don't compare these technologies; combine them.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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