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)

  1. Bob generates a long-term public key pair to identify his service.
  2. Bob chooses some introduction points, and advertises them on the lookup service, signing the advertisement with his public key. He can add more later.
  3. Bob builds a circuit to each of his introduction points, and tells them to wait for requests.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. The RP connects Alice's circuit to Bob's. Note that RP can't recognize Alice, Bob, or the data they transmit.
  9. Alice sends a relay begin cell along the circuit. It arrives at Bob's OP, which connects to Bob's webserver.
  10. 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)