mirror of
https://github.com/google/boringssl.git
synced 2026-10-28 08:35:44 +08:00
crypto/x509 MTC: Strictly parse extensions in MTC verification
Add the missing check that the MTCProof's extensions field is a well-formed list of MTCLogEntryExtension structures in strictly ascending order by type, as required by section 5.2.1. Previously the field was hashed wholesale as opaque bytes without being parsed. No extension types are defined, so well-formed extensions are otherwise still ignored. Bug: 571178555 Change-Id: Ib25e7318ad9c27a4af5c972f34f93f3f6a6a6964 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/104509 Reviewed-by: David Benjamin <davidben@google.com> Commit-Queue: Lily Chen <chlily@google.com>
This commit is contained in:
1 parent
fdc425e3eb
commit
9b684de239
13 files changed
+396
-2
No files matched your search
@@ -3,7 +3,7 @@ to verifying Merkle Tree Certificates (MTCs).
|
||||
|
||||
Test certificates were generated by running the demo tool
|
||||
github.com/ietf-plants-wg/merkle-tree-certs/demo at revision
|
||||
7f5561c8f105f40fcb32a420825778eb2964759b.
|
||||
cc8797a94f4933e660f6ce369f3bfa5c6573db01.
|
||||
|
||||
The main corpus in this directory was generated using the demo tool with the
|
||||
config at ./mtc_testdata_config.json. (The demo tool also generates unneeded
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
-----BEGIN CERTIFICATE PROPERTIES-----
|
||||
AB0AAAAEgf1ZAQABABEADw6B/VmB/VkBAQICAIAAgA==
|
||||
-----END CERTIFICATE PROPERTIES-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
Rw==
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,65 @@
|
||||
-----BEGIN CERTIFICATE PROPERTIES-----
|
||||
AB0AAAAEgf1ZAQABABEADw6B/VmB/VkBAQICAIAAgA==
|
||||
-----END CERTIFICATE PROPERTIES-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,65 @@
|
||||
-----BEGIN CERTIFICATE PROPERTIES-----
|
||||
AB0AAAAEgf1ZAQABABEADw6B/VmB/VkBAQICAIAAgA==
|
||||
-----END CERTIFICATE PROPERTIES-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,65 @@
|
||||
-----BEGIN CERTIFICATE PROPERTIES-----
|
||||
AB0AAAAEgf1ZAQABABEADw6B/VmB/VkBAQICAIAAgA==
|
||||
-----END CERTIFICATE PROPERTIES-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
-----END CERTIFICATE-----
|
||||
@@ -123,7 +123,59 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"Repeat": 2000,
|
||||
"//0": "Well-formed MTCEntryExtensions of unrecognized types 1 and 2, which are ignored: 0001 0000 0002 0001 ff",
|
||||
"MTCEntryExtensions": "AAEAAAACAAH/",
|
||||
"PublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEyxiC16lts+SOL87OwHhGDzK9/dyUd7sM80jAf53VL+AV38HoHKpmA7LJoYLf4yVhcVleNcxufsAfcPueTLX0Vg==",
|
||||
"NotBefore": "2020-01-01T00:00:00Z",
|
||||
"NotAfter": "2030-12-31T23:59:59Z",
|
||||
"DNSNames": ["a.example"],
|
||||
"KeyUsage": ["DigitalSignature"],
|
||||
"ExtKeyUsage": ["ServerAuth"],
|
||||
"Certificates": [
|
||||
{"SubtreeStart": 32, "SubtreeEnd": 64, "Cosigners": ["32473.1"]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"//0": "Invalid because MTCEntryExtensions is truncated: 0001 0005 ff",
|
||||
"MTCEntryExtensions": "AAEABf8=",
|
||||
"PublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEyxiC16lts+SOL87OwHhGDzK9/dyUd7sM80jAf53VL+AV38HoHKpmA7LJoYLf4yVhcVleNcxufsAfcPueTLX0Vg==",
|
||||
"NotBefore": "2020-01-01T00:00:00Z",
|
||||
"NotAfter": "2030-12-31T23:59:59Z",
|
||||
"DNSNames": ["a.example"],
|
||||
"KeyUsage": ["DigitalSignature"],
|
||||
"ExtKeyUsage": ["ServerAuth"],
|
||||
"Certificates": [
|
||||
{"SubtreeStart": 32, "SubtreeEnd": 64, "Cosigners": ["32473.1"]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"//0": "Invalid because MTCEntryExtensions has a duplicate type: 0001 0000 0001 0000",
|
||||
"MTCEntryExtensions": "AAEAAAABAAA=",
|
||||
"PublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEyxiC16lts+SOL87OwHhGDzK9/dyUd7sM80jAf53VL+AV38HoHKpmA7LJoYLf4yVhcVleNcxufsAfcPueTLX0Vg==",
|
||||
"NotBefore": "2020-01-01T00:00:00Z",
|
||||
"NotAfter": "2030-12-31T23:59:59Z",
|
||||
"DNSNames": ["a.example"],
|
||||
"KeyUsage": ["DigitalSignature"],
|
||||
"ExtKeyUsage": ["ServerAuth"],
|
||||
"Certificates": [
|
||||
{"SubtreeStart": 32, "SubtreeEnd": 64, "Cosigners": ["32473.1"]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"//0": "Invalid because MTCEntryExtensions types are in descending order: 0002 0000 0001 0000",
|
||||
"MTCEntryExtensions": "AAIAAAABAAA=",
|
||||
"PublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEyxiC16lts+SOL87OwHhGDzK9/dyUd7sM80jAf53VL+AV38HoHKpmA7LJoYLf4yVhcVleNcxufsAfcPueTLX0Vg==",
|
||||
"NotBefore": "2020-01-01T00:00:00Z",
|
||||
"NotAfter": "2030-12-31T23:59:59Z",
|
||||
"DNSNames": ["a.example"],
|
||||
"KeyUsage": ["DigitalSignature"],
|
||||
"ExtKeyUsage": ["ServerAuth"],
|
||||
"Certificates": [
|
||||
{"SubtreeStart": 32, "SubtreeEnd": 64, "Cosigners": ["32473.1"]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Repeat": 1996,
|
||||
"Subject": {"CommonName": "Some more filler certificates"},
|
||||
"PublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEyxiC16lts+SOL87OwHhGDzK9/dyUd7sM80jAf53VL+AV38HoHKpmA7LJoYLf4yVhcVleNcxufsAfcPueTLX0Vg==",
|
||||
"NotBefore": "2020-01-01T00:00:00Z",
|
||||
|
||||
@@ -144,6 +144,29 @@ bool DigestUpdateNextASN1Element(EVP_MD_CTX *ctx, CBS *cbs) {
|
||||
return EVP_DigestUpdate(ctx, CBS_data(&element), CBS_len(&element));
|
||||
}
|
||||
|
||||
// CheckMTCLogEntryExtensions returns whether `extensions` is a well-formed list
|
||||
// of MTCLogEntryExtension structures, sorted in strictly ascending order by
|
||||
// extension type (see section 5.2.1). No extension types are currently
|
||||
// recognized, so the contents are otherwise ignored (see section 12.5).
|
||||
bool CheckMTCLogEntryExtensions(CBS extensions) {
|
||||
std::optional<uint16_t> prev_type;
|
||||
while (CBS_len(&extensions) > 0) {
|
||||
uint16_t type;
|
||||
CBS data;
|
||||
if (!CBS_get_u16(&extensions, &type) ||
|
||||
!CBS_get_u16_length_prefixed(&extensions, &data)) {
|
||||
OPENSSL_PUT_ERROR(X509, X509_R_INVALID_MTC_PROOF);
|
||||
return false;
|
||||
}
|
||||
if (prev_type.has_value() && *prev_type >= type) {
|
||||
OPENSSL_PUT_ERROR(X509, X509_R_INVALID_MTC_PROOF);
|
||||
return false;
|
||||
}
|
||||
prev_type = type;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// MTCCACosigner represents a Merkle Tree CA and its corresponding CA cosigner
|
||||
// (see draft-ietf-plants-merkle-tree-certs, section 5.5).
|
||||
// Only id-pe-mtcCertificationAuthority-SHA256 is supported.
|
||||
@@ -433,6 +456,9 @@ int x509_verify_mtc(const X509 *x509, const EVP_PKEY *pkey,
|
||||
OPENSSL_PUT_ERROR(ASN1, ASN1_R_DECODE_ERROR);
|
||||
return 0;
|
||||
}
|
||||
if (!CheckMTCLogEntryExtensions(extensions)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Iterate through the subtree signatures array to check that they conform to
|
||||
// spec, and identify the subtree signature from the CA cosigner.
|
||||
|
||||
@@ -12681,6 +12681,41 @@ TEST_P(X509VerifyMTCTest, EmptyUnrecognizedCosignature) {
|
||||
EXPECT_EQ(X509_V_OK, VerifyMTC(mtc_33_empty_unrecognized_cosignature.get()));
|
||||
}
|
||||
|
||||
TEST_P(X509VerifyMTCTest, UnrecognizedEntryExtensions) {
|
||||
UniquePtr<X509> mtc_34_unrecognized_extensions =
|
||||
CertFromPEM(GetTestData("crypto/x509/test/mtc/cert_34_0.pem"));
|
||||
ASSERT_TRUE(mtc_34_unrecognized_extensions);
|
||||
EXPECT_EQ(X509_V_OK, VerifyMTC(mtc_34_unrecognized_extensions.get()));
|
||||
}
|
||||
|
||||
TEST_P(X509VerifyMTCTest, InvalidEntryExtensions) {
|
||||
UniquePtr<X509> mtc_35_truncated_extensions =
|
||||
CertFromPEM(GetTestData("crypto/x509/test/mtc/cert_35_0.pem"));
|
||||
ASSERT_TRUE(mtc_35_truncated_extensions);
|
||||
EXPECT_EQ(X509_V_ERR_CERT_SIGNATURE_FAILURE,
|
||||
VerifyMTC(mtc_35_truncated_extensions.get()));
|
||||
EXPECT_TRUE(
|
||||
ErrorEquals(ERR_get_error(), ERR_LIB_X509, X509_R_INVALID_MTC_PROOF));
|
||||
ERR_clear_error();
|
||||
|
||||
UniquePtr<X509> mtc_36_duplicate_extensions =
|
||||
CertFromPEM(GetTestData("crypto/x509/test/mtc/cert_36_0.pem"));
|
||||
ASSERT_TRUE(mtc_36_duplicate_extensions);
|
||||
EXPECT_EQ(X509_V_ERR_CERT_SIGNATURE_FAILURE,
|
||||
VerifyMTC(mtc_36_duplicate_extensions.get()));
|
||||
EXPECT_TRUE(
|
||||
ErrorEquals(ERR_get_error(), ERR_LIB_X509, X509_R_INVALID_MTC_PROOF));
|
||||
ERR_clear_error();
|
||||
|
||||
UniquePtr<X509> mtc_37_misordered_extensions =
|
||||
CertFromPEM(GetTestData("crypto/x509/test/mtc/cert_37_0.pem"));
|
||||
ASSERT_TRUE(mtc_37_misordered_extensions);
|
||||
EXPECT_EQ(X509_V_ERR_CERT_SIGNATURE_FAILURE,
|
||||
VerifyMTC(mtc_37_misordered_extensions.get()));
|
||||
EXPECT_TRUE(
|
||||
ErrorEquals(ERR_get_error(), ERR_LIB_X509, X509_R_INVALID_MTC_PROOF));
|
||||
}
|
||||
|
||||
TEST_P(X509VerifyMTCTest, InvalidSerial) {
|
||||
// This cert with index 2 is below the minSerial for the CA, which is:
|
||||
// {"Log": 1, "Index": 8}.
|
||||
|
||||
Generated
+4
@@ -1034,6 +1034,10 @@ crypto_test_data = [
|
||||
"crypto/x509/test/mtc/cert_33_7.pem",
|
||||
"crypto/x509/test/mtc/cert_33_8.pem",
|
||||
"crypto/x509/test/mtc/cert_33_9.pem",
|
||||
"crypto/x509/test/mtc/cert_34_0.pem",
|
||||
"crypto/x509/test/mtc/cert_35_0.pem",
|
||||
"crypto/x509/test/mtc/cert_36_0.pem",
|
||||
"crypto/x509/test/mtc/cert_37_0.pem",
|
||||
"crypto/x509/test/mtc/cert_5036_0.pem",
|
||||
"crypto/x509/test/mtc/large_merkle_tree_consistency_proof_tests.txt",
|
||||
"crypto/x509/test/mtc/large_merkle_tree_inclusion_proof_tests.txt",
|
||||
|
||||
Generated
+4
@@ -1066,6 +1066,10 @@ set(
|
||||
crypto/x509/test/mtc/cert_33_7.pem
|
||||
crypto/x509/test/mtc/cert_33_8.pem
|
||||
crypto/x509/test/mtc/cert_33_9.pem
|
||||
crypto/x509/test/mtc/cert_34_0.pem
|
||||
crypto/x509/test/mtc/cert_35_0.pem
|
||||
crypto/x509/test/mtc/cert_36_0.pem
|
||||
crypto/x509/test/mtc/cert_37_0.pem
|
||||
crypto/x509/test/mtc/cert_5036_0.pem
|
||||
crypto/x509/test/mtc/large_merkle_tree_consistency_proof_tests.txt
|
||||
crypto/x509/test/mtc/large_merkle_tree_inclusion_proof_tests.txt
|
||||
|
||||
Generated
+4
@@ -1034,6 +1034,10 @@ crypto_test_data = [
|
||||
"crypto/x509/test/mtc/cert_33_7.pem",
|
||||
"crypto/x509/test/mtc/cert_33_8.pem",
|
||||
"crypto/x509/test/mtc/cert_33_9.pem",
|
||||
"crypto/x509/test/mtc/cert_34_0.pem",
|
||||
"crypto/x509/test/mtc/cert_35_0.pem",
|
||||
"crypto/x509/test/mtc/cert_36_0.pem",
|
||||
"crypto/x509/test/mtc/cert_37_0.pem",
|
||||
"crypto/x509/test/mtc/cert_5036_0.pem",
|
||||
"crypto/x509/test/mtc/large_merkle_tree_consistency_proof_tests.txt",
|
||||
"crypto/x509/test/mtc/large_merkle_tree_inclusion_proof_tests.txt",
|
||||
|
||||
Generated
+4
@@ -1013,6 +1013,10 @@
|
||||
"crypto/x509/test/mtc/cert_33_7.pem",
|
||||
"crypto/x509/test/mtc/cert_33_8.pem",
|
||||
"crypto/x509/test/mtc/cert_33_9.pem",
|
||||
"crypto/x509/test/mtc/cert_34_0.pem",
|
||||
"crypto/x509/test/mtc/cert_35_0.pem",
|
||||
"crypto/x509/test/mtc/cert_36_0.pem",
|
||||
"crypto/x509/test/mtc/cert_37_0.pem",
|
||||
"crypto/x509/test/mtc/cert_5036_0.pem",
|
||||
"crypto/x509/test/mtc/large_merkle_tree_consistency_proof_tests.txt",
|
||||
"crypto/x509/test/mtc/large_merkle_tree_inclusion_proof_tests.txt",
|
||||
|
||||
Generated
+4
@@ -1019,6 +1019,10 @@ boringssl_crypto_test_data := \
|
||||
crypto/x509/test/mtc/cert_33_7.pem \
|
||||
crypto/x509/test/mtc/cert_33_8.pem \
|
||||
crypto/x509/test/mtc/cert_33_9.pem \
|
||||
crypto/x509/test/mtc/cert_34_0.pem \
|
||||
crypto/x509/test/mtc/cert_35_0.pem \
|
||||
crypto/x509/test/mtc/cert_36_0.pem \
|
||||
crypto/x509/test/mtc/cert_37_0.pem \
|
||||
crypto/x509/test/mtc/cert_5036_0.pem \
|
||||
crypto/x509/test/mtc/large_merkle_tree_consistency_proof_tests.txt \
|
||||
crypto/x509/test/mtc/large_merkle_tree_inclusion_proof_tests.txt \
|
||||
|
||||
Reference in new issue
Block a user