TLS ํธ๋์์ดํฌ์ ๋ํด์ ๊ฐ๋จํ ์์ฝ์ ํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค
ClientHello ( Client )
- ์๋ฒ์๊ฒ TLS ์ฐ๊ฒฐ์ ์ฒ์ ์๋ ํ๋ค ์๋ ํ๋ ์ธ์ฌ
- ํด๋ผ์ด์ธํธ์ ๋๋ค ๊ฐ๊ณผ ์ฌ์ฉ ๊ฐ๋ฅํ Cipher Suite ์ ๋ณด๋ฅผ ์๋ ค ์ค๋ค.
- DTLS ์์๋ cookie ๊ฐ์ด ์์ด ๋ณด๋ด๊ณ ์๋ฒ๋ก ๋ถํฐ ๋ฐ์ผ๋ฉด ๊ทธ ๊ฐ์ ์ฌ์ฉํด์ ClientHello ๋ฅผ ํ๋ฒ๋ ์ฌ์ฉ ํ๋ค.
HelloVerifyRequest ( Server )
- DTLS ์์๋ง ์ฌ์ฉํ๋ ๋ฉ์ธ์ง ์ด๋ค.
- ํด๋ผ์ด์ธํธ์๊ฒ cookie ๊ฐ์ ์ ๋ฌํ์ฌ ์ฐ๊ฒฐ์ ๋ํ ๊ตฌ๋ถ๊ฐ์ผ๋ก ์ด๋ค (DTLS๋ ์ฐ๊ฒฐ ๋ณด์ฅ์ด ์๋์)
ServerHello ( Server )
- ClientHello ์์ ๋ฐ์ Cipher Suite ์์ ์ต์ข ์ฌ์ฉํ Cipher Suite ๊ฐ์ ์๋ ค์ค๋ค.
Certificate ( Server | Client )
- Server ๊ฒฝ์ฐ ์๋ฒ ์ธ์ฆ์์ ์ธ์ฆ์ ์ฒด์ธ์ ๋ชจ๋ ๋ณด๋ด์ค๋ค.
- Client ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ ์ธ์ฆ์๋ฅผ ๋ณด๋ด ์ค๋ค.( ์๋ฒ์์ CertificateRequest ์์ฒญ์ด ์์ด์ผ ํจ )
ServerKeyExchange ( Server )
- ์๋ฒ์์ ์ธ์ฆ์๋ฅผ ํตํ ์ ์ ์๋ช ๊ฐ๊ณผ PRF ํค ์์ฑ์ ์ํ ํ๋ผ๋ฏธํฐ ์ ๋ณด๋ฅผ ๋ณด๋ด์ค๋ค.
- ์ด๋ ์ ์์๋ช ์ ํค ๊ด๋ จ ์ ๋ณด์ ๋ํ ์ ์ ์๋ช ๊ฐ์ด๋ค.
- ์ด ๋ฉ์ธ์ง๋ฅผ ํตํด ์๋ฒ ์ธ์ฆ์ ๊ฒ์ฆ์ ํ๊ฒ ๋๋ค.
CertificateRequest ( Server )
- ์๋ฒ๊ฐ ์ํธ ์ธ์ฆ์ ์ํด ํด๋ผ์ด์ธํธ์๊ฒ ์ธ์ฆ์๋ฅผ ์์ฒญํ๋ ๋ฉ์ธ์ง
- ์๋ฒ ์ธ์ฆ๋ง ํ๋ฉด ์ด ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด์ง ์๋๋ค.
ServerHelloDone ( Server )
- ์๋ฒ์ชฝ์์ ๊ด๋ จ ๋ฉ์ธ์ง ์ ๋ฌ ์๋ฃ๋ฅผ ์๋ ค์ค๋ค.
ClientKeyExchange ( Client )
- ํด๋ผ์ด์ธํธ์์ ํค ํฉ์๋ฅผ PRF ๊ด๋ จ ํค ์์ฑ๊ด๋ จ ์ ๋ณด๋ฅผ ๋ณด๋ด์ค๋ค.
CertificateVerify ( Client )
- ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ ์ธ์ฆ์๋ฅผ ์์ฒญ์ ํ๊ฒ ๋๋ฉด ํด๋น ์ธ์ฆ์์ ์ ์์๋ช ๋ฉ์ธ์ง๋ฅผ ๋ด์์ ๋ณด๋ธ๋ค.
- ์ง๊ธ ๊น์ง ์ฃผ๊ณ ๋ฐ์ ํธ๋์์ดํฌ ๋ฉ์ธ์ง์ ๋ํ ์ ์์๋ช ์ ํ๋ค.
- ์ด ๋ฉ์ธ์ง๋ ์ํธ ์ธ์ฆ ์ฆ CertificateRequest ์์ ๊ฒฝ์ฐ์ ๋ณด๋ธ๋ค.
ChangeCipherSpec ( Server | Client )
- ์ด์ ๋ถํฐ ์ํธํ๋ผ๋๊ฒ์ ๋งํ๋ค.
- ์ด๊ฒ์ ์ ๋ฌ ๋ฉ์ธ์ง๋ ์๋๋ค.
Finished ( Server | Client )
- ๋ชจ๋ ์ค๋น๊ฐ ๋๋ฌ๋ค๊ฒ์ ์๋ ค์ค๋ค.
- ์ง๊ธ๊น์ง ์ฃผ๊ณ ๋ฐ์ ํธ๋์์ดํฌ์ PRF ๊ฐ์ ๊ตฌํด์ ์ ๋ฌํ๋ค.
๋ฐ์ํ
'PKI > TLS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SSL ์ธ์ฆ์์ https ๋๋ฉ์ธ ์ฃผ์ ์ฐ๊ด์ฑ (0) | 2023.06.08 |
---|---|
TLS ์์ ECDH ํค ํฉ์ ๊ฒฝ์ฐ PRF (PseudoRandom Function) ๋ฐฉ์ (0) | 2023.04.14 |
TLS ์ DTLS ๋ฒ์ 1.2 ์ ๊ดํ ํน์ฑ (0) | 2023.04.11 |