CSCI.4220 Network Programming
Class 26 Anonymity on the Web, Tor, Flash
Here are Matt's notes on web anonymity
Here is the official Tor web site.
Read the Tor Overview.
This material will not be on the quiz, but if you want to go into
Tor in more detail, read The Tor design document
Tor: The second Generation Onion Router
Here is how Bob would go about establishing a hidden service, that is, a web service
where the IP address is unknown. (copied from the the above document)
- Bob generates a long-term public key pair to identify his service.
- Bob chooses some introduction points, and advertises them on the lookup service, signing the
advertisement with his public key. He can add more later.
- Bob builds a circuit to each of his introduction points, and tells them to wait for requests.
- Alice learns about Bob's service out of band (perhaps Bob told her, or she found it on a website). She retrieves the details of Bob's service from the lookup service. If Alice wants to access
Bob's service anonymously, she must connect to the lookup service via Tor.
- Alice chooses an OR as the rendezvous point (RP) for her connection to Bob's service. She builds a circuit to the RP, and gives it a randomly chosen "rendezvous cookie" to recognize Bob.
- Alice opens an anonymous stream to one of Bob's introduction points, and gives it a message (encrypted with Bob's public key) telling it about herself, her RP and rendezvous cookie, and the start of a DH handshake. The introduction point sends the message to Bob.
- If Bob wants to talk to Alice, he builds a circuit to Alice's RP and sends the rendezvous cookie, the second half of the DH handshake, and a hash of the session key they now share. By the same argument as in Section 4.2, Alice knows she shares the key only with Bob.
- The RP connects Alice's circuit to Bob's. Note that RP can't recognize Alice, Bob, or the data they transmit.
- Alice sends a relay begin cell along the circuit. It arrives at Bob's OP, which connects to Bob's webserver.
- An anonymous stream has been established, and Alice and Bob communicate as normal.
Kacper's notes on Flash
You can access the example site at
http://74.67.36.71/player/>
If you would like to use it, feel free, it was developed as an
example.
The Code has been copied to
http://74.67.36.71/player/code/, with
extensions renamed to .txt so as to make it easier to view from a
browser.
Media is held is
http://74.67.36.71/player/media/
Conversions & Uploads are dealt with in
http://74.67.36.71/player/upload/
There are three database tables used, mainly
t$mapping, (short_string, full_path)
t$clip_info (short_string, clip_name)
t$users (user_name, user_password) (So the upload script is at least a
bit secure)