-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PKI in conodes #433
Comments
The PKI would be something like
in the
onet would then have to contact the remote node, ask its public key, verify the signature of the public key using the public key of the remote conode (which is known), and then pass that key to the service. But then it gets more complicated with things like signatures that need to be verifiable externally to the cothority. If there is a CoSi signature (or BLSCoSi) using a
Any better ideas are welcome. |
How about this. Every time a conode wants to be part of a new service it creates a new registration which is signed by its private key and sends it for validation to the PKI-Service. The service check the signature and updates the mapping. This service can be implemented using the current skipchain code and will resemble the keyblock blockchain of ByzCoin without the need for PoW. There seems to be a slight issue here if we want to use BLS-CoSi for the PKI-Service though. Could it be that by default the nodes have an individual BLS keypair instead of a Schnorr? |
The roster is like our source of truth, e.g,., we verify the signatures using the roster from skipblocks. If we start from there, then is it possible to change the server identity (inside the roster) to include additional keys? For example, To start a protocol, the root must specify the key type (maybe using Actually, it doesn't even have to be automated, if a protocol is only for a particular key type, then it should just always get the right key type from its roster. |
Following #432
A first proposition was to add a
Sign
andVerifySignature
method toTreeNodeInstance
andContext
, so that each service can set up its own public/private key. But, this might be messy, and perhaps we need to suggest a more streamlined way of doing so, some kind of PKI that works over #408.In the upcoming months, we would need to start changing the protocols/services to set up their own keypairs and use those. The difficult part is how to verify a signature created with this service-key, when all you have is the roster containing the public key of the node...
To be discussed.
The text was updated successfully, but these errors were encountered: