Serviços
Da mesma forma que o Tor fornece anonimização para usuários querendo acessar serviços, também é possivel esconder um serviço para que seus usuários não saibam seu endereço e localização.
Como seu endereço é escondido e consequentemente seu host, o servidor deve anunciar seu serviço à rede Tor elegendo alguns nós para serem pontos de introdução. Isso é feito construindo circuitos para os onion routers escolhidos e compartilhando-se as chaves entre os nós/servidor.
![hid1](images/THS-1.png)
Construção do circuito virtual. (7)
Para que os usuários possam saber do serviço, o servidor envia para um servidor de diretório – fora da rede Tor – um sumário com a descrição do serviço oferecido e sua chave pública para que os outros possam acessá-lo. Essa transação é feita por dentro do Tor, de modo a proteger a identidade do servidor. Nesta etapa, o servidor de diretório gera um nome para o serviço com caracteres aleatórios, do tipo xyz.abc.onion, os usuários da rede Tor usam esse nome para acessar o serviço escondido, via HTTP, FTP, etc.
![to2](images/THS-2.png)
Envio do sumário para o servidor de diretório. (7)
Para um usuário (Alice) acessar o serviço, ela deve buscá-lo no servidor de diretório, obtendo sua chave pública e o ponto de introdução. Ao invés de Alice se conectar diretamente no ponto de introdução, é selecionado um onion router para atuar como rendezvous point (ponto de encontro).
![tor3](images/THS-3.png)
Estabelecimento de um rendezvous point. (7)
Alice envia um pedido de conexão no serviço contendo o rendezvous point escolhido. Esta mensagem é criptografada com a chave pública do servidor, portanto só ele pode decodificá-la. O servidor pode negar ou aceitar a conexão.
![tor4](images/THS-4.png)
Solicitação de uso do serviço de Bob. (7)
O servidor aceita a conexão e procede para utilizar o rendezvous point. O uso deste mecanismo de ponto de encontro é feito para um serviço poder negar conexões, reduzir a sobrecarga em cima dos pontos de introdução e distribuir o tráfego para não criar pontos de atenção na rede.
![topr5](images/THS-5.png)
Bob aceita a conexão de Alice. (7)
Depois disso, o servidor e o usuário se comunicam via onion routers normalmente.