SSL๊ณผ TLS
TLS(Transport Layer Security)๋ SSL(Secure Socket Layer)์ ์์ ๋ฒ์ ํํ์ด๋ผ๊ณ ํ ์ ์๋ค. SSL์ SSL 1.0๋ถํฐ ์์ํด SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.3๊น์ง ๋ฒ์ ์ ๋ฐ์ดํธ๊ฐ ๋๋ฉด์ SSL์ ๋ช ์นญ์ด TLS๋ก ๋ณ๊ฒฝ๋ ๊ฒ์ด๋ค. ์ด ํฌ์คํธ์์๋ TLS 3.0์ ๊ธฐ๋ฐ์ผ๋ก ์ค๋ช ํ๋ฉฐ ๋ช ์นญ์ TLS๋ก ํต์ผํ๋ค.
TLS๋ ์ ์ก๊ณ์ธต์์ ๋ณด์์ ์ ๊ณตํ๋ ํ๋กํ ์ฝ์ด๋ค. HTTPS ํต์ ์ ์ฃผ๋ก ์ฌ์ฉ๋๋ฉฐ, ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ํต์ ํ ๋ TLS๋ฅผ ํตํด ์ 3์๊ฐ ๋ฉ์์ง๋ฅผ ๋์ฒญํ๊ฑฐ๋ ์์กฐ, ๋ณ์กฐํ์ง ๋ชปํ๋๋ก ํ๋ค.
TLS๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ ๋ฐ ์ญํ ์ ๊ฐ์ง๋ค.
- ์ํธํ: ์ 3์์ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์จ๊น
- ์ธ์ฆ: ํต์ ์ ๋์์ด ์ ๋ขฐํ ์ ์๋ ์์ฒญ๋ ๋น์ฌ์์์ ๋ณด์ฅ (์ ์ ํ์ธ)
- ๋ฌด๊ฒฐ์ฑ: ๋ฐ์ดํฐ๊ฐ ์์กฐ๋๊ฑฐ๋ ๋ณ์กฐ๋์ง ์์๋์ง ํ์ธ
๋ณธ๊ฒฉ์ ์ผ๋ก TLS ํธ๋์์ดํฌ์ ๋ํด ์ดํด๋ณด๊ธฐ ์ด์ ์ ๋์นญํค์ ๋น๋์นญํค(๊ณต๊ฐํค) ์ํธํ, ์ธ์ฆ์์ ๊ด๋ จํ ๊ฐ๋
์ ์ดํดํด์ผ ํ๋ค.
ํด๋น ๊ฒ์๋ฌผ์ ์๋์ ๋งํฌ๋ก ๋ค์ด๊ฐ ํ์ธํ์.
https://zu-techlog.tistory.com/114
TLS ํธ๋์์ดํฌ
- ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ ์๋ฒ์ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ ์์ ํ์ธํ๊ณ , ๋์นญํค๋ฅผ ์ ๋ฌํ๊ธฐ๊น์ง์ ๊ณผ์
- ์ฌ์ฉ์๊ฐ TLS๋ฅผ ์ฌ์ฉํ๋ ์น์ฌ์ดํธ๋ฅผ ์ ์ํ๋ฉด ํด๋ผ์ด์ธํธ์ ์น ์๋ฒ๊ฐ์ TLS Handshake๊ฐ ์์
- ์ฌ์ฉํ TLS ๋ฒ์ ์ง์
- ์ฌ์ฉํ ์ํธ ์ ํ๊ตฐ(์ฌ์ดํผ์ํธ) ๊ฒฐ์
- ์๋ฒ๋ ๊ณต๊ฐํค๋ก TLS ์ธ์ฆ์ ๋ฐ๊ธ
- ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ TLS ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ์ ์ ์ ์ธ์ฆ
- ๋ฉ์์ง ์ํธํ๋ฅผ ์ํ ์ธ์ ํค ์์ฑ/์ ๋ฌ
TLS Handshake ์งํ๊ณผ์ - TLS 1.3
- Client Hello
- ํด๋ผ์ด์ธํธ๋ ์๋ฒ์์ ์ฐ๊ฒฐ์ ์ํด TLS๋ฒ์ , ์ฌ์ดํผ์ํธ(์ํธ ์ ํ๊ตฐ ์๊ณ ๋ฆฌ์ฆ ์งํฉ), ํด๋ผ์ด์ธํธ ๋๋ค๊ฐ, ์์ DH ๋งค๊ฐ๋ณ์(๋์นญํค ์์ฑ ์๊ณ ๋ฆฌ์ฆ)๋ฅผ ๋ด์ ํจํท ์ ์ก
- Server Hello, EncryptedExtensions, Certificate, CertificateVerify
- ์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ Client Hello ํจํท์์ TLS ๋ฒ์ ์๋ณ๊ณผ ์ฌ์ดํผ์ํธ ์ ํ
- ์์ ์ ๊ณต๊ฐํค๊ฐ ํฌํจ๋ TLS์ธ์ฆ์, ์๋ฒ ๋๋ค๊ฐ, ์์ DH ๋งค๊ฐ๋ณ์๋ฅผ ๋ด์ ์ ์ก
- ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์๋ก ๊ตํํ DH ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์์ ์ํธ ํค์ธ ์ธ์ ํค(๋์นญํค) ์์ฑ
- Finished
- ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ์ธ์ ํค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ํธํ๋ ํต์ ์์