Tim Wilson-Brown - teor <teor2...@gmail.com> writes: > Hi All, > > prop224 salts the encrypted portion of each descriptor with a random value. > If we use the same "salt" for every replica/spread, the encrypted portions of > the descriptor will be identical. > (In the spec, it looks like the same encrypted descriptor / salt is used for > each replica / spread, but it's not explicit.) > > I can't think of an attack based on matching up the encrypted portions of > descriptors. > But I like the idea of making the blinded key and encrypted portion of every > descriptor different, so there's no way to tell if they're from the same > service or not. > > Then there would be no way of telling whether replica/spread descriptors were > from the same hidden service, which I think is a useful property. >
You are suggesting we should use a different salt for each descriptor we push? Sounds reasonable, with a small cost on implementation complexity since now we will have to generate N different descriptors and push them properly to the right HSDirs. Plausible. If you send a patch for the proposal, I will merge! Thanks! > (Unless you can decrypt them, and therefore you'd likely know the key, or > could > match up the introduction points. Even then, the service might be using a load > balancing technique that puts different intro points in each descriptor, like > OnionBalance; or posting multiple descriptors with the same key, like the Tor: > Hidden Service Scaling paper.[0]) > > The relevant portion of the proposal is: >> The encrypted part of the hidden service descriptor is encrypted and >> authenticated with symmetric keys generated as follows: >> >> salt = 16 random bytes >> >> secret_input = blinded_public_key | subcredential | >> INT_4(revision_counter) >> keys = KDF(secret_input, salt, "hsdir-encrypted-data", >> S_KEY_LEN + S_IV_LEN + MAC_KEY_LEN) >> >> SECRET_KEY = first S_KEY_LEN bytes of keys >> SECRET_IV = next S_IV_LEN bytes of keys >> MAC_KEY = last MAC_KEY_LEN bytes of keys >> >> The encrypted data has the format: >> >> SALT (random bytes from above) [16 bytes] >> ENCRYPTED The plaintext encrypted with S [variable] >> MAC MAC of both above fields [32 bytes] > > Tim > > Tim Wilson-Brown (teor) > > [0]: > https://www.benthamsgaze.org/wp-content/uploads/2015/11/sucu-torscaling.pdf > > >> On 7 Nov 2015, at 07:22, teor <teor2...@gmail.com> wrote: >> >> Hi all, >> >> I think we can make next-generation onion (hidden) services (proposal #224) >> more resilient against certain kinds of DoS / client discovery attacks, by >> using a different blinded public key for each HSDir. >> >> Attack Summary: >> >> Once a malicious HSDir receives a descriptor, it can locate other HSDirs with >> that descriptor's blinded public key. It doesn't need to know the onion >> service address or decrypt the descriptor. Each descriptor contains the >> blinded public key: >> >>> ... > > > _______________________________________________ > tor-dev mailing list > tor-dev@lists.torproject.org > https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev _______________________________________________ tor-dev mailing list tor-dev@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev