<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-netdoc/src/doc/hsdesc/build.rs, branch arti-v1.1.5</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.5</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.5'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2023-05-18T18:18:53Z</updated>
<entry>
<title>netdoc, hsclient: Update remaining ed25519::SecretKey users</title>
<updated>2023-05-18T18:18:53Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-05-18T15:09:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=82801d9963b654dec27d8deff58910caa9f3f7c8'/>
<id>urn:sha1:82801d9963b654dec27d8deff58910caa9f3f7c8</id>
<content type='text'>
Fortunately, these are all in experimental code.

Closes #798
</content>
</entry>
<entry>
<title>Use non-deprecated *Secret::random_from_rng.</title>
<updated>2023-05-13T20:52:23Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-05-13T20:52:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bfda3082d454e1ce6cbf62974b82395fff254c80'/>
<id>urn:sha1:bfda3082d454e1ce6cbf62974b82395fff254c80</id>
<content type='text'>
The `new` function is deprecated in x25519-dalek 2.0.0-rc.2
</content>
</entry>
<entry>
<title>Generate a new KP_hss_desc_enc keypair for each new descriptor.</title>
<updated>2023-03-31T14:04:30Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-03-31T11:25:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3d0bf0d6ab3ee6f6248055eeaf060102c5895a76'/>
<id>urn:sha1:3d0bf0d6ab3ee6f6248055eeaf060102c5895a76</id>
<content type='text'>
Previously, to build descriptors for hidden services with client auth
enabled, in addition to the list of authorized clients, users of
`HsDescBuilder` were required to also provide a descriptor encryption
keypair and a descriptor cookie. This was potentially dangerous and/or
error-prone, because the ephemeral encryption key and the descriptor
cookie are expected to be randomly generated and unique for each
descriptor.

This change makes `ClientAuth` private to the `hsdesc::build` module and
updates `HsDescBuilder` to build `ClientAuth`s internally. Users now
only need to provide the list of authorized client public keys.

Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
<entry>
<title>Remove unnecessary test constant.</title>
<updated>2023-03-31T14:04:26Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-03-31T11:20:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=94a4d2ea43b5a74c21c82cbc3224cda96f23f3e7'/>
<id>urn:sha1:94a4d2ea43b5a74c21c82cbc3224cda96f23f3e7</id>
<content type='text'>
It's not really needed, it can just be generated at (test) runtime.

Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
<entry>
<title>Add an encode-decode test for descriptors with client auth.</title>
<updated>2023-03-31T14:04:23Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-03-28T13:16:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=cd66781577f8373155c77ad7755b888bc38f86d4'/>
<id>urn:sha1:cd66781577f8373155c77ad7755b888bc38f86d4</id>
<content type='text'>
This adds a test for an `encode -&gt; decode -&gt; encode` flow for a hidden
service descriptor with client authorization enabled.

Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
<entry>
<title>Use constants instead of magic numbers.</title>
<updated>2023-03-31T14:04:19Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-03-28T13:35:42Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=8aa930a645b2d5275628e0c874da66799bb52612'/>
<id>urn:sha1:8aa930a645b2d5275628e0c874da66799bb52612</id>
<content type='text'>
Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
<entry>
<title>Stop requiring the caller to supply `AuthClient`s.</title>
<updated>2023-03-31T14:04:15Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-03-27T17:02:32Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2d9d16aabc34a06596a98e1309a3a7b6f82c01f7'/>
<id>urn:sha1:2d9d16aabc34a06596a98e1309a3a7b6f82c01f7</id>
<content type='text'>
`AuthClient`s were originally meant to represent parsed `auth-client`
lines. In !1070, this struct was repurposed for representing individual
authorized clients in the HS descriptor encoder. However, hidden
services will likely use a list of public keys to represent the
authorized clients rather than a list of `AuthClient`s, as the
information from an `AuthClient` (`client_id`, `iv`, `encrypted_cookie`)
likely won't be immediately available to the hidden service.

This change updates the HS descriptor encoder to represent authorized
clients as a list of `curve25519::PublicKey`s. As such, it is now the
responsibility of the encoder to create the `client_id`, `iv`, and
`encrypted_cookie` using the available keys, the unencrypted descriptor
cookie, and HS subcredential.

Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
<entry>
<title>Remove hard-coded test certs.</title>
<updated>2023-03-27T18:44:49Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-03-27T18:44:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=ef72e927acc57557166a7f90602432402ad07243'/>
<id>urn:sha1:ef72e927acc57557166a7f90602432402ad07243</id>
<content type='text'>
We can use a deterministic rng to generate predictable keypairs instead.

Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
<entry>
<title>Make the HS encoder randomness source injectable.</title>
<updated>2023-03-27T18:07:41Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-03-27T17:02:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=70d247e59c5fd0a161392aaccdcecae4bac3afef'/>
<id>urn:sha1:70d247e59c5fd0a161392aaccdcecae4bac3afef</id>
<content type='text'>
This makes it possible to plug in a deterministic randomness source for
testing.

Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
<entry>
<title>Use the type system to enforce use of blinded keys.</title>
<updated>2023-03-27T10:45:51Z</updated>
<author>
<name>Gabriela Moldovan</name>
<email>gabi@torproject.org</email>
</author>
<published>2023-03-22T19:09:54Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1d4069cc7f233c40c079a6dfbc7f5d93f350c555'/>
<id>urn:sha1:1d4069cc7f233c40c079a6dfbc7f5d93f350c555</id>
<content type='text'>
Hidden services use blinded singing keys derived from the identity key
to sign descriptor signing keys.

Before this patch, the hidden descriptor builder represented its blinded
signing keys (`blinded_id`) as plain `ed25519::Keypair`s. This was not
ideal, as there was nothing preventing the caller from accidentally
initializing `blinded_id` with an unblinded keypair.

This introduces a new `HsBlindKeypair` type to represent blinded
keypairs.

Signed-off-by: Gabriela Moldovan &lt;gabi@torproject.org&gt;
</content>
</entry>
</feed>
