[tor-bugs] #23466 [Core Tor/Tor]: hs: v3 client descriptor cache entry should be indexed by blinded key

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Sep 12 10:39:25 UTC 2017


#23466: hs: v3 client descriptor cache entry should be indexed by blinded key
-----------------------------------------+---------------------------------
 Reporter:  dgoulet                      |          Owner:  (none)
     Type:  defect                       |         Status:  needs_review
 Priority:  High                         |      Milestone:  Tor:
                                         |  0.3.2.x-final
Component:  Core Tor/Tor                 |        Version:
 Severity:  Normal                       |     Resolution:
 Keywords:  tor-hs, tor-client, prop224  |  Actual Points:
Parent ID:                               |         Points:
 Reviewer:  asn                          |        Sponsor:
-----------------------------------------+---------------------------------
Changes (by asn):

 * status:  new => needs_review


Comment:

 Hello,

 please see branch `bug23466` in my repo which implements (a) from above.
 FWIW, I don't think setting the expiration date to 24 hours will work,
 since it can still leave the descriptor hanging after the time period is
 over (and cause roger's bug). So instead, I'm now using the consensus time
 to set the expiration time to be at the start of the next time period, as
 you suggested. I also did (c) as part of it since it seemed like a good
 idea. See the commit msg for more details, please.

 I also started implementing approach (b) but it's actually not that easy.
 Using the blinded key when storing the descriptor is easy. However, using
 the blinded key to lookup the descriptor is not as easy, since we lookup
 descriptors in many many situations (see callers of
 `hs_cache_lookup_as_client()`) and in many of those situations the blinded
 key is not readily available which means we have to compute it on the spot
 (which could cause race conditions if we previously computed it using a
 different TP/SRV), or carry it in all sorts of ident objects (and others)
 which is not trivial to implement. Let's start looking into this if (a)
 fails.

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


More information about the tor-bugs mailing list