Done
Details
Details
Assignee
Victor C
Victor C(Deactivated)Reporter
Joakim Bech
Joakim BechLabels
Fix versions
Original estimate
3w
Time tracking
Components
Priority
Checklist
Checklist
Sentry
Sentry
Created September 10, 2019 at 9:08 AM
Updated October 2, 2021 at 4:53 PM
Resolved October 2, 2021 at 4:53 PM
Deliverables
This Epic is about implementing support for the HMAC (MD5 and SHA based) mechanisms in PKCS#11, i.e., in short make it possible to compute plain HMACs using MD5 and SHA algorithms. The list of PKCS#11 mechanisms that we intend to implement in this Epic are:
CKM_MD5_HMAC
CKM_MD5_HMAC_GENERAL
CKM_SHA_1_HMAC
CKM_SHA_1_HMAC_GENERAL
CKM_SHA224_HMAC
CKM_SHA224_HMAC_GENERAL
CKM_SHA256_HMAC
CKM_SHA256_HMAC_GENERAL
CKM_SHA384_HMAC
CKM_SHA384_HMAC_GENERAL
CKM_SHA512_HMAC
CKM_SHA512_HMAC_GENERAL
Note that this depends on (PKCS#11 - Signature and MAC functions).
For most mechanisms mentioned here, we need to write code in optee_os, optee_client and optee_test. I.e., these functions are called on the client side, but in most cases there is a 1:1 mapping to a function on secure side also (as a service in a Trusted Application).
Out of Scope
N/A
Risks and Assumptions
Assumptions: possible to implement this as a standalone component.
Acceptance Criteria
Criteria
Status
Closeout Notes/Links
Patches upstream implementing PKCS#11 mechanisms for traditional HMACs in OP-TEE (Armv7-A and Armv8-A)
See link to patches below.
Patches upstream enabling tests for the PKCS#11 HMAC support
See link to patches below.
CKM_MD5_HMAC, implemented/upstream
https://github.com/OP-TEE/optee_os/pull/4193
https://github.com/OP-TEE/optee_client/pull/232
https://github.com/OP-TEE/optee_test/pull/461
CKM_SHA_1_HMAC, implemented/upstream
Same as above.
CKM_SHA224_HMAC, implemented/upstream
Same as above.
CKM_SHA256_HMAC, implemented/upstream
Same as above.
CKM_SHA384_HMAC, implemented/upstream
Same as above.
CKM_SHA512_HMAC, implemented/upstream
Same as above.
CKM_MD5_HMAC_GENERAL, implemented/upstream
https://github.com/OP-TEE/optee_os/pull/4746
https://github.com/OP-TEE/optee_client/pull/279
https://github.com/OP-TEE/optee_test/pull/535
CKM_SHA_1_HMAC_GENERAL, implemented/upstream
Same as above.
CKM_SHA224_HMAC_GENERAL, implemented/upstream
Same as above.
CKM_SHA256_HMAC_GENERAL, implemented/upstream
Same as above.
CKM_SHA384_HMAC_GENERAL, implemented/upstream
Same as above.
CKM_SHA512_HMAC_GENERAL, implemented/upstream
Same as above.
Legend:
Done, Not Done, Doesn't apply (note the reason)