2023-10-10 21:25:56

by Dimitri John Ledkov

[permalink] [raw]
Subject: [PATCH] crypto: mscode_parser: remove sha224 authenticode support

It is possible to stand up own certificates and sign PE-COFF binaries
using SHA-224. However it never became popular or needed since it has
similar costs as SHA-256. Windows Authenticode infrastructure never
had support for SHA-224, and all secureboot keys used fro linux
vmlinuz have always been using at least SHA-256.

Given the point of mscode_parser is to support interoperatiblity with
typical de-facto hashes, remove support for SHA-224 to avoid
posibility of creating interoperatibility issues with rhboot/shim,
grub, and non-linux systems trying to sign or verify vmlinux.

SHA-224 itself is not removed from the kernel, as it is truncated
SHA-256. If requested I can write patches to remove SHA-224 support
across all of the drivers.

Signed-off-by: Dimitri John Ledkov <[email protected]>
---
crypto/asymmetric_keys/mscode_parser.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/crypto/asymmetric_keys/mscode_parser.c b/crypto/asymmetric_keys/mscode_parser.c
index 6416bded0e..855cbc46a9 100644
--- a/crypto/asymmetric_keys/mscode_parser.c
+++ b/crypto/asymmetric_keys/mscode_parser.c
@@ -84,9 +84,6 @@ int mscode_note_digest_algo(void *context, size_t hdrlen,
case OID_sha512:
ctx->digest_algo = "sha512";
break;
- case OID_sha224:
- ctx->digest_algo = "sha224";
- break;

case OID__NR:
sprint_oid(value, vlen, buffer, sizeof(buffer));
--
2.34.1


2023-10-21 00:18:00

by Dimitri John Ledkov

[permalink] [raw]
Subject: [PATCH v2] crypto: mscode_parser - remove sha224 authenticode support

It is possible to stand up your own certificates and sign PE-COFF
binaries using SHA-224. However it never became popular or needed
since it has similar costs as SHA-256. Windows Authenticode
infrastructure never had support for SHA-224, and all secureboot keys
used for linux vmlinuz have always been using at least SHA-256.

Given the point of mscode_parser is to support interoperability with
typical de-facto hashes, remove support for SHA-224 to avoid the
possibility of creating interoperability issues with rhboot/shim,
grub, and non-linux systems trying to sign or verify vmlinux.

SHA-224 itself is not removed from the kernel, as it is truncated
SHA-256. If requested I can write patches to remove SHA-224 support
across all of the drivers.

Signed-off-by: Dimitri John Ledkov <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
---

Changes since v1:

* Correct spelling and grammatical mistakes in the commit
message. This is a request to replace c1d760a471 ("crypto:
mscode_parser - remove sha224 authenticode support") in cryptodev
repository with this one.

crypto/asymmetric_keys/mscode_parser.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/crypto/asymmetric_keys/mscode_parser.c b/crypto/asymmetric_keys/mscode_parser.c
index 6416bded0e..855cbc46a9 100644
--- a/crypto/asymmetric_keys/mscode_parser.c
+++ b/crypto/asymmetric_keys/mscode_parser.c
@@ -84,9 +84,6 @@ int mscode_note_digest_algo(void *context, size_t hdrlen,
case OID_sha512:
ctx->digest_algo = "sha512";
break;
- case OID_sha224:
- ctx->digest_algo = "sha224";
- break;

case OID__NR:
sprint_oid(value, vlen, buffer, sizeof(buffer));
--
2.34.1