linux-credentials / linux-credentials/credentialsd
Implement platform authenticator
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 259
- Forks
- 19
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 12
Description
The current implementation of the platform authenticator demonstrates signing requests with RSA, P-256 and Ed25519 keys
This is a general issue noting some considerations for completing this implementation.
- [ ] run the platform authenticator in a separate process from the credential service. Define an API to use between the platform authenticator and the credential service (probably also using D-Bus)
- [ ] Investigate integrating with various LSMs (SELinux, AppArmor, Landlock) for increased security of stored credentials.
- [ ] Implement the `prf`, `credProp` and `largeBlob` extensions
- [ ] Add support for the non-polymorphic versions of the standard WebAuthn COSE key types: `-9` for ECDSA w/ P256 curve, and `-50` for EdDSA w/ Ed25519 curve (cf. https://github.com/w3c/webauthn/issues/2276)
- [ ] Consider whether the `ring` crate should continue to be used for cryptography functions, or whether to migrate to use `OpenSSL` or `aws-lc-rs`
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the current platform authenticator implementation and the existing credential service boundary. Break the checklist into separately scoped work covering the process API, LSM integration, WebAuthn extensions and key types, and cryptography-library choice; the issue is done only when those design and implementation questions are resolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, rust
- Domain
- authentication, operating-systems, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100