@@ -71,12 +71,40 @@ sival-token-losec: Low security generic securet used for token generation.
7171The following sequence diagram shows the end to end SKU provisioning flow
7272involving ` Offline ` and ` SPM ` HSMs.
7373
74- Each SKU should have three configuration bundles:
74+ Each SKU should have the following configuration bundles:
7575
76761 . SPM HSM Initialization
77772 . SKU Initialization (Offline HSM)
78783 . SKU Export (Offline HSM)
79794 . SKU Import (SPM HSM)
80+ 5 . Certificate Authority Operations
81+
82+ ### Certificate Authority Operations
83+
84+ The certificate authority operations are split into three main steps:
85+
86+ 1 . Root CA Certificate Generation (Offline HSM)
87+ 2 . Intermediate CA CSR Generation (SPM HSM)
88+ 3 . Intermediate CA CSR Signing (Offline HSM)
89+
90+ ``` mermaid
91+ sequenceDiagram
92+ participant Offline
93+ participant SPM
94+ participant File
95+ autonumber
96+
97+ note left of Offline: Root CA Certificate Generation
98+ Offline->>File: generate-root-cert(opentitan-ca-root)
99+
100+ note left of SPM: Intermediate CA CSR Generation
101+ SPM->>SPM: ecdsa-generate(sival-dice-key-p256)
102+ SPM->>File: generate-csr(sival-dice-key-p256)
103+
104+ note left of Offline: Intermediate CA CSR Signing
105+ File->>Offline: import-csr(sival-dice-key-p256)
106+ Offline->>File: sign-csr(opentitan-ca-root, sival-dice-key-p256)
107+ ```
80108
81109### Build SKU
82110
@@ -158,11 +186,6 @@ sequenceDiagram
158186
159187 note left of Offline: Offline - HSM SKU Keygen
160188 Offline->>Offline: rsa-generate(sku-rsa-rma)
161-
162- loop all <application> endorsement certs
163- Offline->>Offline: ecdsa-generate(sku-endorse-cert-<application>-key)
164- end
165-
166189 Offline->>Offline: generic-secret-generate(sku-token-hisec)
167190 Offline->>Offline: generic-secret-generate(sku-token-losec)
168191```
@@ -194,11 +217,6 @@ sequenceDiagram
194217 note left of Offline: Offline - SKU Key Export
195218 File->>Offline: rsa-import(spm-rsa-wrap)
196219 Offline->File: wrap(spm-rsa-wrap, sku-aes-wrap)
197-
198- loop left all <application> endorsement certs
199- Offline->>File: wrap(sku-aes-wrap, sku-endorse-cert-<application>-key)
200- end
201-
202220 Offline->>File: wrap(sku-aes-wrap, sku-token-hisec)
203221 Offline->>File: wrap(sku-aes-wrap, sku-token-losec)
204222```
@@ -243,12 +261,9 @@ sequenceDiagram
243261
244262 note left of File: SPM SKU Initialization
245263 File->>SPM: unwrap(spm-rsa-unwrap, sku-aes-wrap)
246- loop all <application> endorsement certs
247- File->>SPM: unwrap(sku-aes-wrap, sku-endorse-cert-<application>-key)
248- end
249-
264+ SPM->>SPM: ecdsa-generate(sival-dice-key-p256)
250265 File->>SPM: unwrap(sku-aes-wrap, sku-token-hisec)
251- File->>SPM: unwrap(spm-rsa -wrap, sku-aes-wrap )
266+ File->>SPM: unwrap(sku-aes -wrap, sku-token-losec )
252267```
253268
2542691 . Expand the contents of ` sival_sku_release.tar.gz ` .
@@ -257,15 +272,9 @@ sequenceDiagram
257272$ tar vxf sival_sku_release.tar.gz
258273```
259274
260- 2 . Run SKU export scripts.
275+ 2 . Run scripts
261276
262- ``` shell
263- $ ./spm_sku_init.bash \
264- -m " ${HSMTOOL_MODULE} " \
265- -t " ${SPM_HSM_TOKEN_SPM} " \
266- -p " ${HSMTOOL_PIN} " \
267- -i offline_export_sival_sku.tar.gz
268- ```
277+ See ` token_init.sh ` script for examples.
269278
270279## Troubleshooting
271280
0 commit comments