linux-credentials / linux-credentials/credentialsd

Implement platform authenticator

Open
#8 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.