238 lines
26 KiB
Plaintext
238 lines
26 KiB
Plaintext
<mxfile host="app.diagrams.net" modified="2026-05-10T00:00:00.000Z" agent="Mozilla/5.0" version="24.0.0" type="device">
|
|
<diagram name="s18d-algorithm-usage-location" id="alg-usage">
|
|
<mxGraphModel dx="1600" dy="900" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="900" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="0" />
|
|
<mxCell id="1" parent="0" />
|
|
|
|
<mxCell id="title" value="TLSOption → cipher suite 협상 → 알고리즘 실제 사용 위치" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=24;fontStyle=1;fontFamily=Pretendard,Helvetica;" vertex="1" parent="1">
|
|
<mxGeometry x="60" y="36" width="1500" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="subtitle" value="ClientHello / ServerHello = cipher suite '이름' 협상만 (algorithm 사용 X) · 실제 ECDSA · AES 사용은 후속 메시지부터" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=15;fontFamily=Pretendard,Helvetica;fontColor=#57606A;" vertex="1" parent="1">
|
|
<mxGeometry x="60" y="76" width="1500" height="22" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="grp-flow" value="① 설정 → 협상 → 선택 흐름" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F6F8FA;strokeColor=#D0D7DE;strokeWidth=1;fontSize=13;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#24292F;align=left;verticalAlign=top;spacingLeft=10;spacingTop=6;" vertex="1" parent="1">
|
|
<mxGeometry x="40" y="120" width="1520" height="120" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="tlsopt-bg" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#FB923C;strokeWidth=2;" vertex="1" parent="1">
|
|
<mxGeometry x="60" y="155" width="380" height="80" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tlsopt-title" value="TLSOption (정책 / 화이트리스트)" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;fontSize=12;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#C2410C;spacingLeft=14;spacingTop=8;" vertex="1" parent="1">
|
|
<mxGeometry x="60" y="155" width="380" height="22" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="tlsopt-body" value="cipherSuites: [...]
minVersion: VersionTLS12
sniStrict: true" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;fontSize=11;fontFamily=monospace;fontColor=#7C2D12;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="60" y="180" width="380" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="negot-bg" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#5B21B6;strokeWidth=2;" vertex="1" parent="1">
|
|
<mxGeometry x="500" y="155" width="420" height="80" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="negot-title" value="cipher suite 협상 (handshake 메시지 1, 2)" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;fontSize=12;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#5B21B6;spacingLeft=14;spacingTop=8;" vertex="1" parent="1">
|
|
<mxGeometry x="500" y="155" width="420" height="22" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="negot-body" value="ClientHello (cipher suites 목록 제시)
ServerHello (그 중 하나 선택)
★ '이름' 만 교환 — algorithm 실행 0" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;fontSize=11;fontFamily=Pretendard,Helvetica;fontColor=#3B0764;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="500" y="180" width="420" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="selected-bg" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#15803D;strokeWidth=2;" vertex="1" parent="1">
|
|
<mxGeometry x="980" y="155" width="560" height="80" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="selected-title" value="선택된 cipher suite (이후 핸드셰이크 + 데이터 단계 사용)" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;fontSize=12;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#15803D;spacingLeft=14;spacingTop=8;" vertex="1" parent="1">
|
|
<mxGeometry x="980" y="155" width="560" height="22" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="selected-body" value="TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
→ kex: ECDHE · auth: ECDSA · bulk: AES_256_GCM · mac: SHA384" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;fontSize=11;fontFamily=monospace;fontColor=#14532D;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="980" y="180" width="560" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="flow-arrow1" style="endArrow=classic;html=1;strokeColor=#57606A;strokeWidth=3;fontFamily=Pretendard,Helvetica;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="tlsopt-bg" target="negot-bg">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="flow-arrow1-lbl" value="허용 목록" style="text;html=1;align=center;verticalAlign=middle;fontSize=10;fontFamily=Pretendard,Helvetica;fontColor=#57606A;fillColor=#F6F8FA;fontStyle=2;" vertex="1" parent="1">
|
|
<mxGeometry x="442" y="186" width="60" height="18" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="flow-arrow2" style="endArrow=classic;html=1;strokeColor=#57606A;strokeWidth=3;fontFamily=Pretendard,Helvetica;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="negot-bg" target="selected-bg">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="flow-arrow2-lbl" value="결정" style="text;html=1;align=center;verticalAlign=middle;fontSize=10;fontFamily=Pretendard,Helvetica;fontColor=#57606A;fillColor=#F6F8FA;fontStyle=2;" vertex="1" parent="1">
|
|
<mxGeometry x="924" y="186" width="50" height="18" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="grp-matrix" value="② TLS 1.2 핸드셰이크 — 메시지별 algorithm 실제 사용 매트릭스" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D0D7DE;strokeWidth=1;fontSize=13;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#24292F;align=left;verticalAlign=top;spacingLeft=10;spacingTop=6;" vertex="1" parent="1">
|
|
<mxGeometry x="40" y="260" width="1520" height="490" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="hdr-msg" value="메시지" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F6F8FA;strokeColor=#D0D7DE;strokeWidth=1;fontSize=12;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#24292F;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="60" y="300" width="200" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="hdr-content" value="메시지 내용 (요약)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F6F8FA;strokeColor=#D0D7DE;strokeWidth=1;fontSize=12;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#24292F;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="260" y="300" width="500" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="hdr-kex" value="kex (ECDHE)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#DBEAFE;strokeColor=#1E40AF;strokeWidth=1;fontSize=12;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#1E40AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="760" y="300" width="180" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="hdr-auth" value="auth (ECDSA)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#EDE9FE;strokeColor=#5B21B6;strokeWidth=1;fontSize=12;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#5B21B6;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="940" y="300" width="180" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="hdr-bulk" value="bulk (AES)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#DCFCE7;strokeColor=#15803D;strokeWidth=1;fontSize=12;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#15803D;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1120" y="300" width="180" height="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="hdr-mac" value="mac (SHA)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FEF3C7;strokeColor=#B45309;strokeWidth=1;fontSize=12;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#B45309;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1300" y="300" width="180" height="40" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="r1-msg" value="① ClientHello" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D0D7DE;strokeWidth=1;fontSize=11;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#24292F;align=left;verticalAlign=middle;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="60" y="340" width="200" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r1-content" value="cipher_suites: [TLS_ECDHE_ECDSA_..., ...] (지원 목록)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D0D7DE;strokeWidth=1;fontSize=10;fontFamily=monospace;fontColor=#57606A;align=left;verticalAlign=middle;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="260" y="340" width="500" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r1-kex" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D0D7DE;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="760" y="340" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r1-auth" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D0D7DE;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="940" y="340" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r1-bulk" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D0D7DE;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1120" y="340" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r1-mac" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D0D7DE;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1300" y="340" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="r2-msg" value="② ServerHello" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F6F8FA;strokeColor=#D0D7DE;strokeWidth=1;fontSize=11;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#24292F;align=left;verticalAlign=middle;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="60" y="390" width="200" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r2-content" value="cipher_suite: TLS_ECDHE_ECDSA_AES_256_GCM_SHA384 (선택)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F6F8FA;strokeColor=#D0D7DE;strokeWidth=1;fontSize=10;fontFamily=monospace;fontColor=#57606A;align=left;verticalAlign=middle;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="260" y="390" width="500" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r2-kex" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F6F8FA;strokeColor=#D0D7DE;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="760" y="390" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r2-auth" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F6F8FA;strokeColor=#D0D7DE;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="940" y="390" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r2-bulk" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F6F8FA;strokeColor=#D0D7DE;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1120" y="390" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r2-mac" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F6F8FA;strokeColor=#D0D7DE;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1300" y="390" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="r3-msg" value="③ Certificate" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D0D7DE;strokeWidth=1;fontSize=11;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#24292F;align=left;verticalAlign=middle;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="60" y="440" width="200" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r3-content" value="X.509 cert (ECDSA 공개키 포함) ← 데이터 전달, algorithm 실행 X" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D0D7DE;strokeWidth=1;fontSize=10;fontFamily=Pretendard,Helvetica;fontColor=#57606A;align=left;verticalAlign=middle;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="260" y="440" width="500" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r3-kex" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D0D7DE;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="760" y="440" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r3-auth" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D0D7DE;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="940" y="440" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r3-bulk" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D0D7DE;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1120" y="440" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r3-mac" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#D0D7DE;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1300" y="440" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="r4-msg" value="④ ServerKeyExchange ★" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FEE2E2;strokeColor=#B91C1C;strokeWidth=2;fontSize=11;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#7F1D1D;align=left;verticalAlign=middle;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="60" y="490" width="200" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r4-content" value="ECDHE 매개변수 (서버 공개키) + ECDSA 개인키로 서명 ★" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FEE2E2;strokeColor=#B91C1C;strokeWidth=2;fontSize=10;fontFamily=Pretendard,Helvetica;fontColor=#7F1D1D;align=left;verticalAlign=middle;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="260" y="490" width="500" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r4-kex" value="✓" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#1E40AF;strokeColor=#1E40AF;strokeWidth=2;fontSize=18;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#FFFFFF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="760" y="490" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r4-auth" value="✓ ★" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#5B21B6;strokeColor=#5B21B6;strokeWidth=2;fontSize=18;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#FFFFFF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="940" y="490" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r4-bulk" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FEE2E2;strokeColor=#B91C1C;strokeWidth=2;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1120" y="490" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r4-mac" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FEE2E2;strokeColor=#B91C1C;strokeWidth=2;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1300" y="490" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="r5-msg" value="⑤ ClientKeyExchange" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F6F8FA;strokeColor=#D0D7DE;strokeWidth=1;fontSize=11;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#24292F;align=left;verticalAlign=middle;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="60" y="540" width="200" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r5-content" value="ECDHE 매개변수 (클라이언트 공개키) + cert verify (CA chain)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F6F8FA;strokeColor=#D0D7DE;strokeWidth=1;fontSize=10;fontFamily=Pretendard,Helvetica;fontColor=#57606A;align=left;verticalAlign=middle;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="260" y="540" width="500" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r5-kex" value="✓" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#1E40AF;strokeColor=#1E40AF;strokeWidth=1;fontSize=18;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#FFFFFF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="760" y="540" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r5-auth" value="✓" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#5B21B6;strokeColor=#5B21B6;strokeWidth=1;fontSize=18;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#FFFFFF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="940" y="540" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r5-bulk" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F6F8FA;strokeColor=#D0D7DE;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1120" y="540" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r5-mac" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F6F8FA;strokeColor=#D0D7DE;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1300" y="540" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="r6-msg" value="⑥ ChangeCipherSpec + Finished ★" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FEE2E2;strokeColor=#B91C1C;strokeWidth=2;fontSize=11;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#7F1D1D;align=left;verticalAlign=middle;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="60" y="590" width="200" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r6-content" value="첫 AES 암호화 시작 + HMAC-SHA384 무결성 검증 ★" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FEE2E2;strokeColor=#B91C1C;strokeWidth=2;fontSize=10;fontFamily=Pretendard,Helvetica;fontColor=#7F1D1D;align=left;verticalAlign=middle;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="260" y="590" width="500" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r6-kex" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FEE2E2;strokeColor=#B91C1C;strokeWidth=2;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="760" y="590" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r6-auth" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#FEE2E2;strokeColor=#B91C1C;strokeWidth=2;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="940" y="590" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r6-bulk" value="✓ ★" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#15803D;strokeColor=#15803D;strokeWidth=2;fontSize=18;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#FFFFFF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1120" y="590" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r6-mac" value="✓" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#B45309;strokeColor=#B45309;strokeWidth=1;fontSize=18;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#FFFFFF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1300" y="590" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="r7-msg" value="⑦ Application Data (Phase 2)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#DCFCE7;strokeColor=#15803D;strokeWidth=2;fontSize=11;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#14532D;align=left;verticalAlign=middle;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="60" y="640" width="200" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r7-content" value="모든 HTTPS 요청·응답 → AES-256-GCM 암호화 + SHA HMAC (지속)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#DCFCE7;strokeColor=#15803D;strokeWidth=2;fontSize=10;fontFamily=Pretendard,Helvetica;fontColor=#14532D;align=left;verticalAlign=middle;spacingLeft=14;" vertex="1" parent="1">
|
|
<mxGeometry x="260" y="640" width="500" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r7-kex" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#DCFCE7;strokeColor=#15803D;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="760" y="640" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r7-auth" value="—" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#DCFCE7;strokeColor=#15803D;strokeWidth=1;fontSize=14;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#9CA3AF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="940" y="640" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r7-bulk" value="✓ 지속" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#15803D;strokeColor=#15803D;strokeWidth=2;fontSize=14;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#FFFFFF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1120" y="640" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="r7-mac" value="✓ 지속" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#B45309;strokeColor=#B45309;strokeWidth=2;fontSize=14;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#FFFFFF;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="1300" y="640" width="180" height="50" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="matrix-summary" value="요점: ① ~ ③ = cipher suite '이름' 협상 + cert 전달 (algorithm 사용 0) · ④ = ECDSA 첫 사용 ★ · ⑥ = AES 첫 사용 ★ · ⑦ = AES 지속 (Phase 2)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF7ED;strokeColor=#FB923C;strokeWidth=1;dashed=1;fontSize=11;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#7C2D12;align=center;verticalAlign=middle;" vertex="1" parent="1">
|
|
<mxGeometry x="60" y="705" width="1480" height="32" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="tls13-note" value="TLS 1.3 (3 메시지) 의 경우: ECDSA 사용 = ② ServerHello 안의 CertificateVerify · AES 사용 = ② 안의 EncryptedExtensions 부터 (즉, ServerHello 직후 곧바로 AES)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontStyle=2;fontFamily=Pretendard,Helvetica;fontColor=#57606A;" vertex="1" parent="1">
|
|
<mxGeometry x="60" y="755" width="1480" height="22" as="geometry" />
|
|
</mxCell>
|
|
|
|
<mxCell id="caption-bg" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#F6F8FA;strokeColor=#D0D7DE;" vertex="1" parent="1">
|
|
<mxGeometry x="40" y="800" width="1520" height="44" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="caption" value="ClientHello / ServerHello = cipher suite 이름 협상만 (algorithm 사용 0) · 실제 algorithm 사용 = ④ ServerKeyExchange (ECDSA), ⑥ Finished (AES) 부터" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=14;fontStyle=1;fontFamily=Pretendard,Helvetica;fontColor=#24292F;" vertex="1" parent="1">
|
|
<mxGeometry x="40" y="800" width="1520" height="44" as="geometry" />
|
|
</mxCell>
|
|
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
</mxfile>
|