Sunbird RC as a PKI Infrastructure #317
Replies: 7 comments 2 replies
-
How often do we foresee the leaking of private keys happening? Who might be able to do this? Do we expect users (teachers or school principal) to manage their keys by themselves? What's the priority of this use-case? @sukhpreetsamagra I would think this complexity be best hidden from users. |
Beta Was this translation helpful? Give feedback.
-
1. High-level requirements
2. Implementation Design2.1 Key Management APIsThere are wrapper APIs to support various vaults behind the scene. POST keys/generate{
"entityId": "<entity-id>",
"keyType": "Ed25519VerificationKey2018 | …",
"name": "default | …"
} POST keys/:entity/rotateGenerate a new key and add it to the .well-known URI GET :entityId/.well-known/jwksReturns all keys for an entity. Fulfills the need for an ID resolver for now. POST keys/:key_ref/revokeThis is a potentially dangerous thing. Updating the JWKS to include a flag called revoked might be a better way to manage this. 2.2 KeyStore - Hashicorp Vault as a PKI StoreAbstracted storage APIs that allow connecting to any Vault
2.3 Security Considerations
|
Beta Was this translation helpful? Give feedback.
-
There must be some open source implementations that we can integrate with? First is to ensure an open service interface is created to allow plug and play with various vault services given some adopters will choose to use an HSM or other commercial services. Can @tejash-jl and you get on a call with Sasi (security architect) and have a quick discussion before we start any work? |
Beta Was this translation helpful? Give feedback.
-
We are also evaluating the following PKI. Everyone, please let your thoughts on this The parameters that we are looking into are
cc:- @suresh12 @surendrasinghs @parthlawate @coolbung @rahul101001000 |
Beta Was this translation helpful? Give feedback.
-
To solve this better can anyone explain how the teacher gets her/his key pair? I mean let's speak more about onboarding if this is clear then the remaining might be easier. Also can this not be done with a private key on the phone instead of key central storage? How is the teacher's key published? Are we relying on did resolution for teachers' key or it's just a PKI? |
Beta Was this translation helpful? Give feedback.
-
Maybe easier for all of you to get on a call and then publish back the summary here for the rest of the community? @ChakshuGautam @gsasikumar @sukhpreetsamagra @surendrasinghs @tejash-jl |
Beta Was this translation helpful? Give feedback.
-
How does the teacher gets her/his key pair? Also can this not be done with a private key on the phone instead of a central storage? How is the teacher's key published? Are we relying on |
Beta Was this translation helpful? Give feedback.
-
Should RC allow for Entities to be signing authorities and manage their own keys?
Example Use Cases
Specific Priority Use Cases
Issuer security - Meena, a private school teacher started enrolling students and issuing enrolment credentials to them. After she enrolled 10 students and while she was logged into the enrolment portal, the enrolment flow was not starting for her. After a few minutes she was seeing new students being added from her account in the school. Meena quickly changed her account password but this suspicious activity continued. Meena then called the state helpline and the technology team was able to resolve this.
In this case Meena's private key for issuing credentials was leaked. These keys will be stored centrally and therefore the person managing the private key store will be able to issue her a new private key.
Today, this is expected to be a central private key store. However, going forward there may be a need by power users in the private school ecosystem who prefer and want to manage their own private keys.
Additional Notes
I have gone through the current implementation and this does not cover some of the use cases mentioned above.
As an aside, we should cover the security guidelines as part of the documentation on how to manage the keys.
Beta Was this translation helpful? Give feedback.
All reactions