5 ms·
Here is the gist of how it works: user solves a one-time traditional CAPTCHA. A browser extension creates a bunch of "tokens", cryptographically blinds them, an
by mrb 10y ago
Here is the gist of how it works: user solves a one-time traditional CAPTCHA. A browser extension creates a bunch of "tokens", cryptographically blinds them, and asks the server to sign them. Each token can be used only 1 time to prove the user is not a robot: later the user can submit to the server an unblinded, signed token effectively saying "hey, you previously verified me as human, here his a signed token you gave me".
The key insight is the use of blind signatures (https://en.wikipedia.org/wiki/Blind_signature https://en.wikipedia.org/wiki/Blind_signature) to provide anonymity: 2 unblinded tokens can't be determined as belonging to the same user, because the server didn't see what it signed.
It's a neat idea but it's just moving the trade-off more towards user convenience and away from security: if a server accepts to sign 100 tokens per CAPTCHA, then solving 1 CAPTCHA now allows a robot to do 100x the work it did before.
- FiloSottile 10y agoIt's a bit more than that. Normally, once you pass a CAPTCHA we leave you alone across the network for a while. With Tor, however, you change circuit every 10 minutes and every origin change. Tracking you across circuits would be obviously an invasion of your privacy. This allows us to extend the lifetime of an "approval" across time and domains. So it's not just changing the trade-off. It's enabling a human behavior that should make the user experience much better, while preserving privacy and not really changing the equation for bots. (Disclaimer: I work for Cloudflare and wrote the original incomplete draft.)
- Retric 10y agoThis does not preserve anonymity. I suspect you may be confused as to why TOR is changing circuits it's not to prevent users from logging into websites.
- niij 10y agoYes it is. They are using blind signatures to track user's who have solved a captcha. https://en.wikipedia.org/wiki/Blind_signature https://en.wikipedia.org/wiki/Blind_signature
- Retric 10y agoHi I am 54.123.22.16 let's open a secure connection my public key is 5468.. connection -> This is FarkUser57, token:fark123 connection -> FarkUser57 -> "Actual message 1" Connection times out. Hi I am 55.55.55.123 let's open a secure connection my public key is 5592.. connection -> This is FarkUser57, token:fark123 connection -> FarkUser57 -> "Actual message 2" Connection times out. As long as FarkUser57 does not map back to your real you, then you preserve anonymity.
- deleted 10y ago[deleted]
- yorwba 10y agoBlind signatures do not work like user names. You would use a new signed token for every authentication and because the server itself does not know which tokens it signed, it can only verify that a token is valid, but not find out which tokens belong to the same user.
- simcop2387 10y agoI wonder about that. Could it use a different let for every user and verify which let it used to track them? Or would that be infeasible due to the cost of verifying the signature?
- Retric 10y agoThe point is blind signatures are not needed. If the first TOR connection is anonymous then it can hand you a token that is anonymous the second time. Using multiple IP over time is a way to maintain anonymity vs traffic analysis so you don't want third party's to see the token. You do need to trust the endpoint as. The end point can already easily deanonymize you in under a minute based on the traffic it's sending, if that can be compared with the traffic you get from TOR.
- belorn 10y ago> then solving 1 CAPTCHA now allows a robot to do 100x the work it did before The point of a CAPTCHA is to validate that the person browsing a website is a human being. Once they have done that, the person can click on 1 page, 100x pages, or 1000x pages on the site, and from a security perspective that is the same result. The goal was to identify the nature of the entity behind the request, not limit how many times the person accessed the site. If a server accepts to sign 100 tokens per CAPTCHA, it means that the server assumes those 100 tokens represent the same human person. It do not allow a robot to do 100x more work than before unless the captcha is so faulty that the assumption is incorrect, in which case the captcha is broken and should be replaced. A captcha that only work 90% of the times is not actually preventing bots, since bot owners can easily just add 10x more bots.
- greglindahl 10y ago1) Bot sends the CAPTCHA to a human (perhaps using https://de-captcher.com/ https://de-captcher.com/) 2) Have the bot crawl 100 pages 3) ...
- mrb 10y agoLet me reexplain the threat model that I see. Consuming one token bypasses the need to solve one CAPTCHA. Now you have heard about people being hired to solve CAPTCHAs, right? Well with these tokens, every time a human solves one CAPTCHA and obtains 100 tokens, it's as if he helped a robot bypass 100 CAPTCHAs. Other example: say a CAPTCHA system is so good that only 0.1% of its challenges can be solved by a robot. With these tokens, if 100 are signed per solved CAPTCHA, then it's as if the robot could solve 10% of them. A 100x improvement.