Skip to content

Implement trussed-auth API#1

Merged
sosthene-nitrokey merged 11 commits intomainfrom
trussed-auth
Sep 28, 2023
Merged

Implement trussed-auth API#1
sosthene-nitrokey merged 11 commits intomainfrom
trussed-auth

Conversation

@sosthene-nitrokey
Copy link
Copy Markdown
Collaborator

Since this is amongst the most security-sensible parts of the entire backend, it should be thoroughly reviewed.

See the se050 notes and key derivation schema on the nextcloud for the approach taken.

@sosthene-nitrokey
Copy link
Copy Markdown
Collaborator Author

I've tested this in the firmware and it appears to work reliably, though the initial testing did lead to inconsistent state between the filesystem and the SE050 which lead to failures, this suggests that some improvements to error handling could be done and that a full device factory reset will likely be useful, at least to expose the factory reset of the SE050 some way for developers.

@tlaurion
Copy link
Copy Markdown

tlaurion commented Aug 28, 2023

@sosthene-nitrokey ELI5 here would be really really appreciated for downstream projects.
What are the impacts? improvements? general status outside of reviewing the implementation? What is usable, time generation of lets say RSA3076/RSA4096 keys?

Sorry for the request, but I would prefer high level explanation then to dig down this rabbit hole and follow the rabbit.

@sosthene-nitrokey
Copy link
Copy Markdown
Collaborator Author

This repo will contain an implementation of the trussed APIs through the SE050 secure element rather than the current software implementation.

This PR adds an implementation of the russed-auth APIs.
This API provides:

  • Pin handling (creation and verification)
  • Key derivation from PINs (in this case, rather protecting a key with a PIN).

Future PR will implement the required APIs for asymmetric crypto operations (ECC and RSA), and key wrapping.

This is currently heavily WIP and should not be used in production.

@tlaurion
Copy link
Copy Markdown

@sosthene-nitrokey
Copy link
Copy Markdown
Collaborator Author

Ok, I understand. You are asking whether this will allow supporting RSA3072 generated on the device for heads support.

This work will indeed lead to that, but in another PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants