You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Additionally, add a P384-SHA512 profile. This is to provide a classical
profile whose measurement format is compatible with ML-DSA-87.
Signed-off-by: Jordan Hand <[email protected]>
Currently, the only supported optional variant is "MIN", which supports a smaller subset of the DPE commands.
106
113
107
114
The profile name will be embedded as ASCII within the version field of the TCBInfo(s), enabling a verifier to confirm that the evidence originates from this profile.
108
115
@@ -447,6 +454,13 @@ cryptographic algorithms:
447
454
* ECDSA P-384
448
455
* SHA2-384
449
456
457
+
Profile `DPE_PROFILE_IROT_MLDSA87_SHA384` requires support for the following
458
+
cryptographic algorithms:
459
+
460
+
* ML-DSA-87
461
+
* SHAKE256
462
+
* SHA2-384
463
+
450
464
451
465
This profile defines the following derivation schemes for use in Profile
452
466
Attributes.
@@ -532,18 +546,31 @@ follows:
532
546
* Outputs
533
547
* 48-byte key
534
548
535
-
### ocp.key-format.p256.raw
549
+
### ocp.derive.kdf-asymmetric-mldsa87
536
550
537
-
The concatenation of the 32-byte X value and 32-byte Y value of the ECDSA public key.
551
+
The asymmetric key derivation scheme “ocp.derive.kdf-asymmetric-mldsa87” is defined as
552
+
follows:
538
553
539
-
Both the X and Y value SHALL be big-endian and left-padded with zeros.
554
+
* The asymmetric key type is ML-DSA-87
555
+
* Signature scheme is ML-DSA
556
+
* This derivation scheme SHALL use a cryptographically secure KDF or DRBG.
557
+
* Inputs
558
+
* CDI
559
+
* `LABEL`
560
+
* ASCII Bytes "MLDSA"
561
+
* Outputs
562
+
* 48-byte key
540
563
541
564
### ocp.key-format.p384.raw
542
565
543
566
The concatenation of the 48-byte X value and 48-byte Y value of the ECDSA public key.
544
567
545
568
Both the X and Y value SHALL be big-endian and left-padded with zeros.
546
569
570
+
### ocp.key-format.mldsa87.raw
571
+
572
+
A raw ML-DSA-87 key, encoded as using the pkEncode function in FIPS 204
573
+
547
574
## Sign Format
548
575
549
576
### ocp.tbs-format.digest-sha256
@@ -562,6 +589,15 @@ The format “ocp.tbs-format.digest-sha384” is defined as
562
589
additional processing. The size of the value SHALL be a SHA2-384 digest of
563
590
size 48 bytes.
564
591
592
+
### ocp.tbs-format.mldsa87-external-mu
593
+
594
+
The format “ocp.tbs-format.mldsa87-external-mu” is defined as
595
+
596
+
The mu parameter as described in FIPS 204.
597
+
598
+
* tr = SHAKE256(public_key, 64)
599
+
* mu = SHAKE256(tr || message, 64)
600
+
565
601
### ocp.signature-format.p256.raw
566
602
567
603
The concatenation of the 32-byte R value and 32-byte S value of the ECDSA signature.
@@ -574,6 +610,10 @@ The concatenation of the 48-byte R value and 48-byte S value of the ECDSA signat
574
610
575
611
Both the R and S value SHALL be big-endian and left-padded with zeros.
576
612
613
+
### ocp.signature-format.mldsa87.raw
614
+
615
+
TODO
616
+
577
617
## Recursive Derivation
578
618
579
619
### ocp.recursive-derivation.extend-tci
@@ -743,7 +783,7 @@ following requirements:
743
783
* version: The version of the CSR specification - the version SHALL be 0
744
784
* subject: The subject name of the CSR
745
785
* subjectPKInfo: This field SHALL contain the subject public key and the
746
-
OID for the EC public key algorithm used by the DPE profile
786
+
OID for the public key algorithm used by the DPE profile
747
787
* attributes: An "Extension Request" attribute as defined in RFC 2985
748
788
[@{ietf-rfc2985}] SHALL adhere to the following requirements
749
789
* The BasicConstraints extension SHALL be included
@@ -786,6 +826,16 @@ The format “ocp.certificate.irot-eca.p384” is defined as follows:
786
826
* For the Signature field, DPE SHALL use the ECDSA-with-SHA384 OID with NIST curve
787
827
P-384.
788
828
829
+
### ocp.certificate.irot-eca.mldsa87
830
+
831
+
The format “ocp.certificate.irot-eca.mldsa87” is defined as follows:
832
+
833
+
* SHALL follow all "Requirements for ECA Certificates" in @sec:eca-cert-requirements
834
+
* For FWID hashAlg fields provided by DeriveContext, DPE SHALL use the
835
+
SHA2-512 OID.
836
+
* For the SubjectPublicKeyInfo field, DPE SHALL use the ML-DSA-87 OID.
837
+
* For the Signature field, DPE SHALL use the ML-DSA-87 OID.
838
+
789
839
### ocp.certificate.irot-leaf.p256
790
840
791
841
The format ocp.certificate.irot-leaf.p256” is defined as follows:
@@ -810,6 +860,16 @@ The format “ocp.certificate.irot.p384” is defined as follows:
810
860
* For the Signature field, DPE SHALL use the ECDSA-with-SHA384 OID with NIST curve
811
861
P-384.
812
862
863
+
### ocp.certificate.irot-leaf.mldsa87
864
+
865
+
The format “ocp.certificate.irot-eca.mldsa87” is defined as follows:
866
+
867
+
* SHALL follow all "Requirements for ECA Certificates" in @sec:eca-cert-requirements
868
+
* For FWID hashAlg fields provided by DeriveContext, DPE SHALL use the
869
+
SHA2-512 OID.
870
+
* For the SubjectPublicKeyInfo field, DPE SHALL use the ML-DSA-87 OID.
871
+
* For the Signature field, DPE SHALL use the ML-DSA-87 OID.
872
+
813
873
### ocp.csr.irot-leaf.p256
814
874
815
875
The format “ocp.csr.irot-leaf.p256” is defined as follows:
@@ -834,6 +894,17 @@ The format “ocp.csr.irot-leaf.p384” is defined as follows:
834
894
* For the Signature of both the CMS message and the CertificationRequest, DPE SHALL
835
895
use the ECDSA-with-SHA384 OID with NIST curve P-384.
836
896
897
+
### ocp.csr.irot-leaf.mldsa87
898
+
899
+
The format “ocp.csr.irot-eca.mldsa87” is defined as follows:
900
+
901
+
* SHALL follow all "Requirements for CSRs" in @sec:csr-requirements
902
+
* For FWID hashAlg fields provided by DeriveContext, DPE SHALL use the
903
+
SHA2-512 OID.
904
+
* For the SubjectPublicKeyInfo field, DPE SHALL use the ML-DSA-87 OID.
905
+
* For the Signature of both the CMS message and the CertificationRequest, DPE SHALL
906
+
use the ML-DSA-87 OID.
907
+
837
908
## Profile Attributes
838
909
839
910
### ocp.profile.irot.p256
@@ -1178,6 +1249,46 @@ The format “ocp.csr.irot-leaf.p384” is defined as follows:
0 commit comments