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

DPK attestation may create possible side channel attack on the batch key. #1701

Closed
ve7jtb opened this issue Feb 23, 2022 · 1 comment · Fixed by #1663
Closed

DPK attestation may create possible side channel attack on the batch key. #1701

ve7jtb opened this issue Feb 23, 2022 · 1 comment · Fixed by #1663
Assignees
Milestone

Comments

@ve7jtb
Copy link
Contributor

ve7jtb commented Feb 23, 2022

For a normal attestation during make credential the batch key is always signing over a new public key, preventing an attacker from controlling the output.

In the DPK case the public key for a given credentialID is a fixed value. This allows an attacker to repeatedly request a signature with the batch key over the same value.

This may open a hardware authenticator up to a side channel attack on the batch key.

Some algorithms used in smart card environments like RSA and deterministic ECDSA might be vulnerable to this.

Non deterministic ECDSA likely would not be susceptible.

By not including an authenticator generated nonce in the output to be signed we are counting on the underlying crypto to be resistant.

We can :

  1. make an authenticator generated nonce required.
  2. make an authenticator generated nonce optional.
  3. add sufficient security warnings for authenticators to use non deterministic algs, though that may turn out to be lmiting at some point in the future.
@nadalin nadalin added this to the L3-WD-01 milestone Feb 23, 2022
@equalsJeffH
Copy link
Contributor

equalsJeffH commented Feb 23, 2022

on 23-Feb-2022 call:
@agl: options 1 or 2 are ok.
@ve7jtb maybe do option 2 and leave it to authnr to add a nonce if the signature alg being used is not properly side-channel resistant.
@agl: also authnr can select nonce length (?)
@ve7jtb: maybe make length max 32 bytes could be less?
@agl: if rp gets same sig, then ok, if not same, then need to do verify
@ve7jtb: tho with non-deterministic ecdsa, will need to do verify each time even if nonce not included

@agl current design: authnr stores dpk attstn sig and replays it (when there's no nonce). adding nonce fine. RPs will need to validate sigs.

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

Successfully merging a pull request may close this issue.

4 participants
@ve7jtb @equalsJeffH @nadalin and others