Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
ramfox
left a comment
There was a problem hiding this comment.
Grammatically and structurally, this is good. I also like the tone, for example "let's go full paranoid" lol
My current hold up is the tension between a) informing folks of the very important point that endpoint ids should not be used as secret keys, and b) possible solutions to make them able to be used as secret keys. Since these possible solutions need so many caveats, we may want to remove them or just make them even more vague.
Regardless of which version we choose (only state problems or state problems and potential solutions)I have made suggestions in the text on how to re-phrase some of the language!
|
|
||
| No. | ||
|
|
||
| There are various ways to learn of the existence of an iroh public key, so while keeping an iroh public key secret provides a modest amount of security that is sufficient for [some applications], it definitely **isn't** a secret in the cryptographic sense. |
There was a problem hiding this comment.
| There are various ways to learn of the existence of an iroh public key, so while keeping an iroh public key secret provides a modest amount of security that is sufficient for [some applications], it definitely **isn't** a secret in the cryptographic sense. | |
| There are various ways to learn of the existence of an `iroh` public key, so while keeping an `iroh` public key secret provides a modest amount of security that is sufficient for [some applications], it definitely **isn't** a secret in the cryptographic sense. |
|
|
||
| ## Relays | ||
|
|
||
| The iroh relay protocol works using iroh public keys as identifier for endpoints connected to the relays. |
There was a problem hiding this comment.
| The iroh relay protocol works using iroh public keys as identifier for endpoints connected to the relays. | |
| The `iroh` relay protocol works using `iroh` public keys as identifiers for endpoints connected to the relays. |
|
|
||
| This additional information must be safe against replay attacks. | ||
|
|
||
| I haven't worked out the details yet and don't want to share more half-baked ideas, but I am pretty sure this is doable. |
There was a problem hiding this comment.
Maybe we hand this to @matheus23 or @dignifiedquire to get a second opinion, so we can remove this line or change it to something like:
"The exact process for achieving this hasn't been worked out, but we are confident that this is theoretically possible."
?
| [`SecretKey`]: https://docs.rs/iroh/latest/iroh/struct.SecretKey.html | ||
| [`raw_sign`]: https://docs.rs/ed25519-dalek/latest/ed25519_dalek/hazmat/fn.raw_sign.html | ||
| [some applications]: https://iroh.computer/sendme | ||
| [granovetter property]: https://erights.org/elib/capability/ode/index.html |
There was a problem hiding this comment.
😬 this link is unreachable for me
Co-authored-by: ramfox <kasey@n0.computer>
Co-authored-by: ramfox <kasey@n0.computer>
Co-authored-by: ramfox <kasey@n0.computer>
Yes, I had this tension as well and was hoping for some input how to resolve this. My take is that all these solutions are great for the future, but we don't want to imply that iroh is flawed in some way. Iroh is working as designed, we don't want to do a half-assed privacy feature. If we ever proclaim that iroh public keys are private, it will be after we have implemented all these improvements and have them independenty vetted. Maybe an info box along these lines? The final part where we mention rcan would also be a cliffhanger to a rcan blog post that we would have to publish soonish after. |
This explains why iroh endpoint ids are currently not private, sketches a plan to make them more private in the future (whether we do this is another question), and provides a proof of concept blinded mainline address lookup service.
It also contains a teaser to the rcan work.
If you want to publish this while I am away, feel free to finish it.
The corresponding repo is https://github.com/n0-computer/iroh-mainline-address-lookup-blinded
Todo: