Hi all,
I have been investigating the Tor hidden services for some research work.
I am finding it hard to obtain information about how often do Introduction Points of hidden service change.
More specifically, I am looking for answers to the following questions:
1.) If the tor relays selected as Introduction Points for a hidden service go down (e.g., due to DoS), then in what time duration does the hidden service select new Introduction Points automatically?
2.) Even when the Introduction Points are not down, is there a duration after which they are automatically changed by the hidden service? If so, what is this duration?
I have already tried to find this information in the Tor-spec about onion v3 services. But could not find answers to these specific questions.
Thus, it would be really helpful if someone can answer these questions or point to some resources where this information can be obtained.
Thanks
On 16 Mar (00:16:19), Piyush Kumar Sharma wrote:
Hi all,
I have been investigating the Tor hidden services for some research work.
I am finding it hard to obtain information about how often do Introduction Points of hidden service change.
More specifically, I am looking for answers to the following questions:
1.) If the tor relays selected as Introduction Points for a hidden service go down (e.g., due to DoS), then in what time duration does the hidden service select new Introduction Points automatically?
Almost immediately. Basically, if the introduction circuit collapses, the service will select a new one, update its descriptor and upload them.
2.) Even when the Introduction Points are not down, is there a duration after which they are automatically changed by the hidden service? If so, what is this duration?
Yes, it is a random value between 18h and 24h.
https://gitlab.torproject.org/tpo/core/tor/-/blob/main/src/feature/hs/hs_ser...
I have already tried to find this information in the Tor-spec about onion v3 services. But could not find answers to these specific questions.
Yeah, these are mostly implementation details rather than specific to the protocol.
And so unfortunately, these details can only be found in the source code.
David
Thank you David for the prompt reply. The information you provide is helpful.
I would also like to ask one more question related to HSDIRs.
From what I understand from the onion service v3 specification, the HSDIRs
corresponding to a particular hidden service change every 24 hours. This is achieved with the help of a shared random variable (SRV) advertised in the network consensus, which is changed after every 24 hours.
So my question is: If all the HSDIRs corresponding to a hidden service go down (for some reason), can the hidden service somehow change it's HSDIRs before the 24 hours epoch? Or does it mean that as soon as the HSDIRs are inaccessible, the hidden service corresponding to them cannot be accessed before the next epoch?
Thanks in advance for your response!
On Wed, Mar 16, 2022 at 1:37 PM David Goulet dgoulet@torproject.org wrote:
On 16 Mar (00:16:19), Piyush Kumar Sharma wrote:
Hi all,
I have been investigating the Tor hidden services for some research work.
I am finding it hard to obtain information about how often do
Introduction
Points of hidden service change.
More specifically, I am looking for answers to the following questions:
1.) If the tor relays selected as Introduction Points for a hidden
service
go down (e.g., due to DoS), then in what time duration does the hidden service select new Introduction Points automatically?
Almost immediately. Basically, if the introduction circuit collapses, the service will select a new one, update its descriptor and upload them.
2.) Even when the Introduction Points are not down, is there a duration after which they are automatically changed by the hidden service? If so, what is this duration?
Yes, it is a random value between 18h and 24h.
https://gitlab.torproject.org/tpo/core/tor/-/blob/main/src/feature/hs/hs_ser...
I have already tried to find this information in the Tor-spec about onion v3 services. But could not find answers to these specific questions.
Yeah, these are mostly implementation details rather than specific to the protocol.
And so unfortunately, these details can only be found in the source code.
David
-- XCDp/6g7VDnD9DKkqaFIgC6L0xCXfPx8WSh3zXD6JTA= _______________________________________________ tor-dev mailing list tor-dev@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
On 23 Mar (09:57:50), Piyush Kumar Sharma wrote:
Thank you David for the prompt reply. The information you provide is helpful.
I would also like to ask one more question related to HSDIRs. From what I understand from the onion service v3 specification, the HSDIRs corresponding to a particular hidden service change every 24 hours. This is achieved with the help of a shared random variable (SRV) advertised in the network consensus, which is changed after every 24 hours.
So my question is: If all the HSDIRs corresponding to a hidden service go down (for some reason), can the hidden service somehow change it's HSDIRs before the 24 hours epoch? Or does it mean that as soon as the HSDIRs are inaccessible, the hidden service corresponding to them cannot be accessed before the next epoch?
They are not pinned to an immutable set of HSDir but rather the location in the hashring of where to start picking HSDirs is decided by the SRV.
In other words, HSDirs are picked up by proximity of that location on the hashring. If all HSDirs go down, the service will simply pick the next ones on the hashring (closer to the location).
A bit like if the location needs to be 0xAAAA and the closer HSDir is 0xAAAB. If that one goes down, tor will select the next one let say at 0xAAAC, and so on..
The tor code does re-upload descriptors to any new/changing HSDir on the hashring (if any) upon receiving a new consensus.
Cheers! David