Closed akakou closed 2 years ago
Maybe the FIDO's specification is useful to solve it, but I have no concrete idea to solve it.
Hi @akakou, sorry for the response delay
I'm afraid I don't follow your question.
someone who has many credentials, can generate many different nym with the same basename
It seems that keeping someone from using multiple credentials is outside the scope of this library.
Ensuring that a particular physical device is only allowed to receive a single credential is typically handled by having the joiner send some unique device identifier (e.g. an X509 certificate signed by the manufacturer). Is that what you're looking for?
Thank you for replying!
Ensuring that a particular physical device is only allowed to receive a single credential is typically handled by having the joiner send some unique device identifier (e.g., an X509 certificate signed by the manufacturer).
That is true. As you said, it's might outside the scope of this library.
But if you don’t mind, could you tell me whether the credentials of the library are compatible with activating credentials, or not?
Activate credential is used for the join protocol on FIDO. https://fidoalliance.org/specs/fido-uaf-v1.1-ps-20170202/fido-ecdaa-algorithm-v1.1-ps-20170202.html#ecdaa-join-split-between-tpm-and-asm
Sorry again for the long delay.
I haven't tested it, but yes I believe this library should properly implement the FIDO Join. Steps 1.3.1 and 1.3.2 (creating the initial keypair) in your link would have to be implemented yourself; you can take a look at this test utility and this doc for pointers.
However, as mentioned in this doc, the TPM signatures of this project use TPM2_Sign
rather than TPM2_Certify
. So, I don't think you would be able to use this library for signing using credentials created as above.
Does this help?
Sorry for the long delay. Thank you so much!
No problem! Good luck!
To limit the number of times someone access with basename mode DAA, we have to limit the number of times someone can join. (Because someone who has many credentials, can generate many different
nym
with the same basename.)So could you tell me how to limit the number of times someone can join, with this ecdaa library?