From 5c2ab9f609e12ef51ccf1becc82ff97e91e40a35 Mon Sep 17 00:00:00 2001 From: tkgstrator Date: Thu, 9 Apr 2026 02:03:47 +0000 Subject: [PATCH] =?UTF-8?q?docs(spec):=20Phase=201=20=E3=81=AB=20DH=20Priv?= =?UTF-8?q?Key=20=E5=87=BA=E5=8A=9B=E3=82=92=E8=BF=BD=E5=8A=A0=E3=80=81Pha?= =?UTF-8?q?se=202=20=E3=81=AE=E5=8F=82=E7=85=A7=E3=82=92=E7=B5=B1=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Phase 1: DH_generate_key から PrivKey 出力 + to Phase 2 参照を追加 - Phase 2: Client DH PrivKey を from Phase 1 参照ノードに変更 Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/spec/msl_key_relationship.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/spec/msl_key_relationship.md b/docs/spec/msl_key_relationship.md index 5f336d6..365c771 100644 --- a/docs/spec/msl_key_relationship.md +++ b/docs/spec/msl_key_relationship.md @@ -37,6 +37,8 @@ graph LR DH_P["DH p 1024-bit"] --> OP_DHGEN(["DH_generate_key"]) DH_G["DH g = 5"] --> OP_DHGEN OP_DHGEN --> DH_PUB["Client DH PubKey 128B"] + OP_DHGEN --> DH_PRIV["Client DH PrivKey 128B"] + DH_PRIV -->|to Phase 2| TO_P2a[/"to Phase 2"/] DH_PUB --> OP_TFIT1(["TFIT-WB-AES-128-ECB x8"]) OP_TFIT1 --> KEY336_PT["key 33.6 plaintext 352B"] FROM_P0[/"from Phase 0: MGK Pair 32B"/] --> KEY336_PT @@ -53,6 +55,8 @@ graph LR style NONCE_SRV fill:#2ecc71,stroke:#27ae60,color:#fff style SERVER fill:#3498db,stroke:#2980b9,color:#fff style DH_RESP fill:#3498db,stroke:#2980b9,color:#fff + style DH_PRIV fill:#2ecc71,stroke:#27ae60,color:#fff + style TO_P2a fill:#555,stroke:#333,color:#fff style OP_DHGEN fill:#2ecc71,stroke:#27ae60,color:#fff style OP_TFIT1 fill:#2ecc71,stroke:#27ae60,color:#fff style OP_XOR fill:#2ecc71,stroke:#27ae60,color:#fff @@ -67,8 +71,8 @@ graph LR ```mermaid graph LR - FROM_P1[/"from Phase 1: appboot Response"/] -->|Server DH PubKey| OP_DH(["DH_compute_key"]) - DH_PRIV["Client DH PrivKey"] -->|from Phase 1| OP_DH + FROM_P1a[/"from Phase 1: Server DH PubKey"/] --> OP_DH(["DH_compute_key"]) + FROM_P1b[/"from Phase 1: Client DH PrivKey"/] --> OP_DH OP_DH --> DH_SHARED["DH Shared Secret 1024-bit"] FROM_P3[/"from Phase 3: session_bind upper 16B"/] --> OP_SHA2(["SHA384"]) OP_SHA2 --> KEY48["48B Key 384-bit"] @@ -77,7 +81,8 @@ graph LR OP_HMAC --> NEW_ENC["new enc_key 128-bit"] OP_HMAC --> NEW_SIGN["new sign_key = bootstrap_key 256-bit"] - style FROM_P1 fill:#555,stroke:#333,color:#fff + style FROM_P1a fill:#555,stroke:#333,color:#fff + style FROM_P1b fill:#555,stroke:#333,color:#fff style FROM_P3 fill:#555,stroke:#333,color:#fff style OP_DH fill:#2ecc71,stroke:#27ae60,color:#fff style DH_SHARED fill:#2ecc71,stroke:#27ae60,color:#fff