Skip to content
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

U2F implementation #56

Draft
wants to merge 28 commits into
base: main
Choose a base branch
from
Draft

U2F implementation #56

wants to merge 28 commits into from

Commits on May 28, 2022

  1. Configuration menu
    Copy the full SHA
    1e6ca27 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f50f336 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    98d660d View commit details
    Browse the repository at this point in the history

Commits on May 29, 2022

  1. Progress on internal U2F protocol

    This implements enough of the CTAP1 protocol to complete transactions, albeit with hard-coded responses that don't pass cryptographic muster.
    MatthewWilkes committed May 29, 2022
    Configuration menu
    Copy the full SHA
    e4b1cd2 View commit details
    Browse the repository at this point in the history
  2. Update U2F implementation to be ready for crypto drop-in

    This changes the u2f implementation around somewhat, so it no longer hard-codes
    lengths of some variable length fields. It moves the crypto functions out to their
    own file, ahead of implementation.
    MatthewWilkes committed May 29, 2022
    Configuration menu
    Copy the full SHA
    ae3e5f7 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2022

  1. Configuration menu
    Copy the full SHA
    02ff0f7 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2022

  1. Configuration menu
    Copy the full SHA
    260af72 View commit details
    Browse the repository at this point in the history
  2. Update ECC108A interface

    Fix reading of config zone to get all 128 bytes, split initialisation into a helper function and initial (non-working) version of genkey.
    MatthewWilkes committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    ed6dc1d View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2022

  1. Attempts to configure keys

    This sets up slot configs, suspected bit packing errors causing this not to work. It also exposes the lock functions in Python. Be very careful.
    MatthewWilkes committed Aug 21, 2022
    Configuration menu
    Copy the full SHA
    6995c47 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6cec889 View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2022

  1. Provision ATECC108A and offer some initial helper functions

    This allows provisioning the 108A to the point that genkey can be called, and offers helper functions for some basic funtionality. These functions can easily brick your badge, so don't run them unless  you know what you're doing. The crypto outputs haven't been verified yet.
    MatthewWilkes committed Aug 29, 2022
    Configuration menu
    Copy the full SHA
    7b0596a View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2022

  1. Configuration menu
    Copy the full SHA
    42c115c View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2022

  1. U2F Implementation includes crypto functions

    At this stage, the critical cryptographic functions of the U2F implementation are linked in. Unfortunately, it's not yet working, currently because the signature parameters aren't parsing correctly.
    
    I'm somewhat concerned that the fido raw message formats document specifies that cryptographic signatures are over the input bytestring, rather than the SHA-256 of that bytestring. The 108A only allows signatures of 32-byte strings, so I've gone that way. I don't think that's the problem I'm seeing yet though, I think it's a more general problem parsing.
    
    In addition, the code is currently hard-coded to use handle 1 for attestation and handle 6 for authentication. This is because only handle 6 is set up correctly on my main test device. Handle 1 will need the keys from keys/* loaded into it - I'm aware that it's silly to put a key in git, but in this case it's not part of the trust path and we have no way of distributing the key without exposing it unless we do it in person in 2024.
    
    No work yet on setting up the UI.
    MatthewWilkes committed Nov 27, 2022
    Configuration menu
    Copy the full SHA
    51ee313 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    91e249c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e26308f View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2022

  1. Configuration menu
    Copy the full SHA
    2a66ea5 View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2024

  1. Configuration menu
    Copy the full SHA
    64564fd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    237bf9b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    eaba9ee View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2024

  1. Fix signature size, allowing authentication to work (!)

    Co-authored-by: Skyler Mansfield <[email protected]>
    MatthewWilkes and Skyler84 committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    99487ac View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2024

  1. Configuration menu
    Copy the full SHA
    44df071 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3a347cc View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fb4a4f2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    020440b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    818d729 View commit details
    Browse the repository at this point in the history
  6. Use IDF 4.4.1 in github

    MatthewWilkes committed Apr 15, 2024
    Configuration menu
    Copy the full SHA
    b440c3c View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2024

  1. Configuration menu
    Copy the full SHA
    7e94e9d View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2024

  1. Improvements to u2f

    MatthewWilkes committed Jul 7, 2024
    Configuration menu
    Copy the full SHA
    be695b2 View commit details
    Browse the repository at this point in the history