From f91de4d5c1d4a33c173be9bd20cc34107fc334ec Mon Sep 17 00:00:00 2001 From: Krzysztof Jackiewicz Date: Thu, 20 Jul 2023 14:20:20 +0200 Subject: [PATCH] Pass key length to KBKDF in TZ backend Change-Id: I5cd90b8754b7aa89371e515ffac79cd35c9b5004 --- src/manager/crypto/tz-backend/internals.cpp | 3 +++ src/manager/crypto/tz-backend/tz-context.cpp | 2 ++ src/manager/crypto/tz-backend/tz-context.h | 1 + 3 files changed, 6 insertions(+) diff --git a/src/manager/crypto/tz-backend/internals.cpp b/src/manager/crypto/tz-backend/internals.cpp index d0cc232..5a19cba 100644 --- a/src/manager/crypto/tz-backend/internals.cpp +++ b/src/manager/crypto/tz-backend/internals.cpp @@ -810,6 +810,8 @@ void deriveKBKDF(const RawBuffer &secretId, const RawBuffer &keyHash) { RawBuffer label, context, fixed; + size_t length; + alg.getParam(ParamName::KDF_LEN, length); alg.getParam(ParamName::KBKDF_LABEL, label); alg.getParam(ParamName::KBKDF_CONTEXT, context); alg.getParam(ParamName::KBKDF_FIXED_INPUT, fixed); @@ -826,6 +828,7 @@ void deriveKBKDF(const RawBuffer &secretId, TrustZoneContext::Instance().executeKbkdf(secretId, secretPwd, + length, label, context, fixed, diff --git a/src/manager/crypto/tz-backend/tz-context.cpp b/src/manager/crypto/tz-backend/tz-context.cpp index ad09c65..a457462 100644 --- a/src/manager/crypto/tz-backend/tz-context.cpp +++ b/src/manager/crypto/tz-backend/tz-context.cpp @@ -891,6 +891,7 @@ void TrustZoneContext::executeEcdh(const RawBuffer &prvKeyId, void TrustZoneContext::executeKbkdf(const RawBuffer& secretId, const Pwd& secretPwd, + size_t length, const RawBuffer& label, const RawBuffer& context, const RawBuffer& fixed, @@ -910,6 +911,7 @@ void TrustZoneContext::executeKbkdf(const RawBuffer& secretId, auto sIn = makeSerializer(secretId, secretPwd, + length, label, context, fixed, diff --git a/src/manager/crypto/tz-backend/tz-context.h b/src/manager/crypto/tz-backend/tz-context.h index 015b44b..51f9be1 100644 --- a/src/manager/crypto/tz-backend/tz-context.h +++ b/src/manager/crypto/tz-backend/tz-context.h @@ -184,6 +184,7 @@ public: void executeKbkdf(const RawBuffer& secretId, const Pwd& secretPwd, + size_t length, const RawBuffer& label, const RawBuffer& context, const RawBuffer& fixed, -- 2.7.4