[tor-bugs] #9767 [Tor]: Implement proposal 222: Eliminate client timestamps in Tor

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Sep 20 03:49:04 UTC 2013


#9767: Implement proposal 222: Eliminate client timestamps in Tor
-------------------------+-------------------------------------------------
     Reporter:  nickm    |      Owner:
         Type:  defect   |     Status:  needs_review
     Priority:  major    |  Milestone:  Tor: 0.2.4.x-final
    Component:  Tor      |    Version:
   Resolution:           |   Keywords:  tor-client fingerprinting time
Actual Points:           |  prop222
       Points:           |  Parent ID:
-------------------------+-------------------------------------------------

Comment (by andrea):

 Some thoughts:

  * Since the standard specifies the use of a timestamp, it seems unlikely
 to get this patch merged into OpenSSL - maybe supporting an option to
 disable the timestamp instead would improve the odds there?
    - It would also make an easy autoconf test for whether the OpenSSL
 we're building against has it; for the utility thereof, see below.

  * After the Munich meeting, ioerror and I had discussed techniques for
 doing this on the assumption of *not* having an OpenSSL patch.  If libc is
 dynamically linked and we're on an ELF system, we can define a time()
 routine in Tor to override libc's and then dlsym(time, RTLD_NEXT) to get
 the real symbol from libc, so we can effectively hook the system call in
 *some* cases (again, this would have to be an autoconf test and couldn't
 be supported *portably* or necessarily on all systems).
    - Using this technique, we could selectively override time() to pass a
 32-bit random value to openssl at the right point, allowing us to disable
 the timestamps without patching OpenSSL.

 The second option is ugly enough I think we should only do it if a patched
 OpenSSL isn't available, but there are probably going to be plenty of
 machines out there where we don't get a say about the system OpenSSL.
 Therefore, I suggest changing the OpenSSL patch to use timestamps by
 default but add an option to disable them, and use an autoconf test in Tor
 for this.  Then we have the option of adding a second test to check if we
 can override time() in that manner in the case that we don't have a
 patched OpenSSL, and can warn about timestamp fingerprinting if neither is
 available.  Feel free to ignore if you think it's too hairy.

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/9767#comment:3>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list