From @alikic on Thu Jun 02 2016 03:20:57 GMT+0000 (UTC)
I need to set up a private IPFS network on the internet. I am trying to find the simplest solution that will hold until some more robust schema (PKI?) is in place. I am thinking of having a host (central authority) that hosts a list of trusted nodes (with public keys). Each node would have to log in to the host to retrieve the list of trusted nodes (and maybe initialize bootstrap). During secure connection handshake, a peer would cancel handshake should the provided public key is not from trusted set (or should the other peer cannot prove that it also holds the private key). Essentially, the nodes trust each other because both are trusted by the host (central authority) Does this make sense?
Assuming this makes sense, what would be a clean way to implement this feature and be accepted for inclusion into IPFS code base? My first thought is to have an interface called, say, TrustManager, that would be used during handshake. Different implementation would provide solutions for different trust schemas. Any thought?
Copied from original issue: https://github.com/ipfs/faq/issues/128