-
Notifications
You must be signed in to change notification settings - Fork 22
What is Secio? #7
Comments
secio is our implementation of a crypto channel. It exists since there was none TLS 1.3(RFC, talk) like crypto channel available at the time and even today, there is none (TLS 1.3 is just a draft). @dominictarr has written down a good description of how it works. Dominic, could you link it here? @victorbjelkholm also cool to read -> https://dominictarr.github.io/secret-handshake-paper/shs.pdf |
Can I confirm that IPFS is designed in a way that secio channels are agnostic of (application-level) PeerID? For example, assume a relay node |
@JustinDrake |
Would it be fair to characterise SecIO as an implementation of the Integrated Encryption Scheme? Particularly it shares many similarities with the Ethereum v1 ECIES scheme used in RLPx.
Is this a fair assessment? Helps me place SecIO within a domain that I already know. |
It was modeled after TLS but intentionally dropped the CA/certificate integration. Juan wanted to use TLS but apparently the go package made this difficult (at the time) without using the CA system (although it may have been possible with some nasty hacks). |
would be great to get a contribution for this :) |
So, after seeing both https://github.com/ipfs/go-libp2p-secio and https://github.com/libp2p/js-libp2p-secio with some discussions happening about how to make the two work together, there doesn't seem to be a description of what Secio actually is. Tried doing some googling as well, but seems to have been a thing invented together with the libp2p stuff.
Would be nice to include either a link to a description in the two repos or at least a short description about what it is in them.
The text was updated successfully, but these errors were encountered: