https - GANGNAM-JAVA/JAVA-STUDY GitHub Wiki
์ปดํจํฐ(ํด๋ผ์ด์ธํธ)์ ์ปดํจํฐ(์๋ฒ)๊ฐ ๋คํธ์ํฌ๋ฅผ ์ด์ฉํด์ ํต์ ์ ํ ๋๋ 3๊ฐ์ง ๋จ๊ณ๋ก ์งํ๋๋ค.
์ ์ -> ์ ์ก(์ธ์ ) -> ์ธ์ ์ข ๋ฃ
Https๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค
HTTP vs HTTPS
HTTP๋ Hypertext Transfer Protocol์ ์ฝ์๋ค.
์ฆ Hypertextdls HTML์ ์ ์กํ๊ธฐ ์ํ ํต์ ๊ท์ฝ์ ์๋ฏธํ๋ค.
HTTP๋ ์ํธํ๋ฅผ ํ์ง ์์ ์ฑ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ค.
๋ฐ๋ผ์ HTTP ๋ฐฉ์์ผ๋ก ์ฃผ๊ณ ๋ฐ๋ ๋ฉ์์ง(ํจํท)๋ ์ ์ถ๋๊ธฐ ์ฝ๋ค.
HTTPS๋ Hypertext Transfer Protocol over Secure Socket Layer์ ์ฝ์๋ค.
์ฆ ๋ณด์์ด ๊ฐํ๋ HTTP๋ผ๊ณ ํ ์ ์๋ค.
HTTPS vs SSL
HTTPS์ SSL์ ๊ฐ์ ์๋ฏธ๋ก ์ดํดํ๊ณ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
์ด๊ฒ์ ๋ง๊ธฐ๋, ํ๋ฆฌ๊ธฐ๋ ํ๋ค. ๋ง์น ์ธํฐ๋ท๊ณผ ์น์ ๊ฐ์ ์๋ฏธ๋ก ์ดํดํ๋ ๊ฒ๊ณผ ๊ฐ๋ค.
(์ธํฐ๋ท ์์์ ๋์๊ฐ๋ ์๋น์ค ์ค์ ํ๋๊ฐ ์น) HTTPS๋ SSLํ๋กํ ์ฝ ์์์ ๋์๊ฐ๋ ํ๋กํ ์ฝ์ด๋ค.
SSL๊ณผ TLS
๋ท์ค์ผ์ดํ๊ฐ ๋ฐ๋ช ํ SSL์ด ์ ์ฐจ ํญ๋๊ฒ ์ฌ์ฉ๋๋ค๊ฐ, ํ์คํ ๊ธฐ๊ตฌ์ธ IETF์ ๊ด๋ฆฌ๋ก ๋ณ๊ฒฝ๋๋ฉด์ TLS๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ฐ๋์๋ค.
TLS 1.0์ SSL 3.0์ ๊ณ์นํ๋ค. (ํ์ง๋ง TLS๋ผ๋ ์ด๋ฆ๋ณด๋ค SSL์ด๋ผ๋ ์ด๋ฆ์ด ํจ์ฌ ๋ง์ด ์ฌ์ฉ๋๊ณ ์๋ค.)
SSL ๋์งํธ ์ธ์ฆ์
SSL ์ธ์ฆ์๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ์ ํต์ ์ ์ 3์๊ฐ ๋ณด์ฆํด์ฃผ๋ ์ ์ํ๋ ๋ฌธ์๋ค.
ํด๋ผ์ด์ธํธ๊ฐ HTTPS ๋ฐฉ์์ผ๋ก ์๋ฒ์ ์ ์ํ๋ฉด ๊ณง๋ฐ๋ก ์๋ฒ๋ ํด๋ผ์ด์ธํธ์๊ฒ ์ด ์ธ์ฆ์ ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ค.
ํด๋ผ์ด์ธํธ๋ ์ด ์ธ์ฆ์ ์ ๋ณด๊ฐ ์ ๋ขฐํ ์ ์๋ ๊ฒ์ธ์ง๋ฅผ ๊ฒ์ฆ(handshake) ํ ํ์ ๋ค์ ์ ์ฐจ๋ฅผ ์ํํ๊ฒ ๋๋ค. (๋ณธ๊ฒฉ์ ์ธ ๋ฐ์ดํฐ ์ ์ก)
SSL๊ณผ SSL ๋์งํธ ์ธ์ฆ์๋ฅผ ์ด์ฉํ์ ๋์ ์ด์ ์ ์๋์ ๊ฐ๋ค.
- ์ ์ก๋๋ ๋ฐ์ดํฐ๊ฐ ๊ณต๊ฒฉ์์๊ฒ ๋ ธ์ถ๋๋ ๊ฒ์ ๋ง์ ์ ์๋ค.
- ํด๋ผ์ด์ธํธ๊ฐ ์ ์ํ๋ ค๋ ์๋ฒ๊ฐ ์ ๋ขฐํ ์ ์๋ ์๋ฒ์ธ์ง๋ฅผ ํ๋จํ ์ ์๋ค.
- ํต์ ๋ด์ฉ์ ์ ์์ ์ธ ๋ณ๊ฒฝ์ ๋ฐฉ์งํ ์ ์๋ค.
SSL์์ ์ฌ์ฉํ๋ ์ํธํ์ ์ข ๋ฅ
SSL์ ํต์ฌ์ ์ํธํ๋ค. SSL์ ๋ ๊ฐ์ง ์ํธํ ๊ธฐ๋ฒ์ ํผ์ฉํด์ ์ฌ์ฉํ๊ณ ์๋ค. ๋ฐ๋ก ๋์นญํค, ๊ณต๊ฐํค ๊ธฐ๋ฒ์ด๋ค.
๋์นญํค๋ ์ฑ๋ฅ์ด ์ข์ง๋ง ๋ณด์์ด ์ทจ์ฝํ๊ณ ๊ณต๊ฐํค๋ ๋ณด์์ด ์ข์ง๋ง ์ฑ๋ฅ์ด ์ทจ์ฝํ๋ค. ๊ทธ๋์ ํผ์ฉํ์ฌ ์ฌ์ฉ๋๋ค.
SSL ์ธ์ฆ์์ ์ญํ
SSL ์ธ์ฆ์์ ์ญํ ์ ๋ค์ ๋ณต์กํ๋ค.
๋ฐ๋ผ์ ์ธ์ฆ์์ ๋งค์ปค๋์ฆ์ ์ดํดํ๊ธฐ ์ํด ๋ช ๊ฐ์ง ์ง์๋ค์ ์๊ณ ์์ด์ผ ํ๋ค.
์ธ์ฆ์์ ๊ธฐ๋ฅ์ ํฌ๊ฒ ๋๊ฐ์ง๋ค.
- ์ธ์ฆ์๋ฅผ ํตํด, ํด๋ผ์ด์ธํธ๋ ์ ์ํ ์๋ฒ๊ฐ ์ ๋ขฐํ ์ ์๋ ์๋ฒ์์ ํ์ธํ ์ ์๋ค.
- ์ธ์ฆ์๋ฅผ ํตํด, ํด๋ผ์ด์ธํธ๋ SSL ํต์ ์ ์ฌ์ฉํ ๊ณต๊ฐํค๋ฅผ ์ป์ ์ ์๋ค.
CA
SSL ์ธ์ฆ์๋ ํด๋ผ์ด์ธํธ๊ฐ ์ ์ํ ์๋ฒ๊ฐ ์๋ํ ์๋ฒ๊ฐ ๋ง๋์ง๋ฅผ ๋ณด์ฅํ๋ ์ญํ ์ ํ๋ค.
์ด๋ฌํ ๋ณด์ฅ์ ๋์์ฃผ๋ ๋ฏผ๊ฐ ๊ธฐ์ ๋ค์ด ์๋ค. ์ด ๊ธฐ์ ๋ค์ CA(Certificate authority) ํน์ Root Certificate ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
CA๋ ์ ๋ขฐ์ฑ์ด ์๊ฒฉํ๊ฒ ๊ณต์ธ๋ ๊ธฐ์ ๋ค์ด๋ค. ๋ํ์ ์ธ ๊ธฐ์ ๋ค์ ์๋์ ๊ฐ๋ค.
- Symantec (VeriSign, Thawte, Geotrust)
- Comodo
- GoDaddy
- GlobalSign (์ฐธ์กฐํ๋ ๊ธ์ด ๊ฝค ์ค๋ ์ ์ ์์ฑ๋ ํฐ๋ผ (2013๋ ) ํ์ฌ(2020๋ )์๋ ์ฐจ์ด๊ฐ ์์ ์ ์๋ค.)
SSL์ ํตํด์ ์ํธํ๋ ํต์ ์ ์ ๊ณตํ๋ ค๋ ์๋น์ค๋ CA๋ฅผ ํตํด์ ์ธ์ฆ์๋ฅผ ๊ตฌ์ ํด์ผ ํ๋ค.
๊ฐ์ธ ๊ฐ๋ฐ ๋ฑ์ ์ฌ์ ์ธ ๋ชฉ์ ์ ์ํด์ SSL์ ์ํธํ ๊ธฐ๋ฅ์ ์ด์ฉํ๋ ค ํ๋ค๋ฉด ์์ ์ด ์ง์ CA ์ญํ ์ ํ ์๋ ์๋ค.
๋ฌผ๋ก ์ด๊ฒ์ ๊ณต์ธ๋ ์ธ์ฆ์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ๋ธ๋ผ์ฐ์ ๋ ์๋์ ๊ฐ์ ๊ฒฝ๊ณ ๋ฅผ ์ถ๋ ฅํ๋ค
๊ณต์ธ๋ CA๊ฐ ์ ๊ณตํ๋ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ๋ธ๋ผ์ฐ์ ์ ์ฃผ์์ฐฝ์ ์๋์ ๊ฐ์ ๋ชจ์ต์ด ๋๋ค.
SSL ์ธ์ฆ์์ ๋ด์ฉ
SSL ์ธ์ฆ์์๋ ๋ค์๊ณผ ๊ฐ์ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์๋ค.
-
์๋น์ค์ ์ ๋ณด(CA, ์๋น์ค ๋๋ฉ์ธ ๋ฑ)
-
๊ณต๊ฐํค(๊ณต๊ฐํค์ ๋ด์ฉ, ์ํธํ ๋ฐฉ๋ฒ ๋ฑ)
1๋ฒ์ ์ ์ํ ์๋ฒ๊ฐ ์๋ํ ์๋ฒ๊ฐ ๋ง๋์ง์ ๋ํ ๋ด์ฉ์ด๊ณ
2๋ฒ์ ์๋ฒ์ ํต์ ์ ํ ๋ ์ฌ์ฉํ ๊ณต๊ฐํค์ ๊ทธ ๊ณต๊ฐํค์ ์ํธํ ๋ฐฉ๋ฒ๋ค์ ๋ํ ๋ด์ฉ์ด๋ค.
(1, 2๋ฒ์ ๋ด์ฉ๋ค์ ์๋ฒ๊ฐ CA๋ก๋ถํฐ ์ธ์ฆ์๋ฅผ ๊ตฌ์ ํ ๋ ๋ฑ๋กํ๊ณ ์ ์ถํด์ผํ๋ค)
CA๋ ์์ ์ CA ๋น๊ณต๊ฐํค๋ฅผ ์ด์ฉํด์ ์๋ฒ๊ฐ ์ ์ถํ ์ธ์ฆ์ ์ ๋ณด๋ค์ ์ํธํํ๋ค.
CA์ ์์ ์ ๋น๊ณต๊ฐํค๋ ์ ๋๋ก ์ ์ถ๋์ด์๋ ์๋๋ค. (๋์ง๋ ธํ ๋ผ๋ CA ํ์ฌ๊ฐ ๋น๊ณต๊ฐํค๊ฐ ์ ์ถ๋๋ ๋ฐ๋์ ํ์ฐ๋๊ธฐ๋ ํ๋ค.)
๋ธ๋ผ์ฐ์ ๋ CA๋ฅผ ์๊ณ ์๋ค.
ํด๋ผ์ด์ธํธ์ ๋ธ๋ผ์ฐ์ ๋ ๋ด๋ถ์ ์ผ๋ก CA์ ๋ฆฌ์คํธ๋ฅผ ๋ฏธ๋ฆฌ ํ์ ํ๊ณ ์๋ค.
๋ธ๋ผ์ฐ์ ์ ์์ค์ฝ๋ ์์ CA์ ๋ฆฌ์คํธ๊ฐ ๋ค์ด์๋ค.
์ด ๋ฆฌ์คํธ์ ํฌํจ๋์ด์ผ๋ง ๊ณต์ธ๋ CA๊ฐ ๋ ์ ์๋ ๊ฒ์ด๋ค.
CA์ ๋ฆฌ์คํธ์ ํจ๊ป ๊ฐ CA์ ๊ณต๊ฐํค๋ฅผ ๋ธ๋ผ์ฐ์ ๋ ์ด๋ฏธ ์๊ณ ์๋ค.
SSL ์ธ์ฆ์๊ฐ ์๋น์ค๋ฅผ ๋ณด์ฆํ๋ ๋ฐฉ๋ฒ
-
๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ์ ์ ์ํ ๋ ์๋ฒ๋ ์ ์ผ ๋จผ์ ์ธ์ฆ์๋ฅผ ์ ๊ณตํ๋ค.
-
๋ธ๋ผ์ฐ์ ๋ ์ด ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํ CA๊ฐ ์์ ์ด ๋ด์ฅํ์ฌ ์์ ์ค์ธ CA ๋ฆฌ์คํธ์ ํฌํจ๋ผ ์๋์ง ํ์ธํ๋ค.
-
ํฌํจ๋์ด ์์ผ๋ฉด ํด๋น CA์ ๊ณต๊ฐํค๋ฅผ ์ด์ฉํด์ ์ธ์ฆ์๋ฅผ ๋ณตํธํํ๋ค.
CA์ ๊ณต๊ฐํค๋ฅผ ์ด์ฉํด์ ์ธ์ฆ์๋ฅผ ๋ณตํธํํ ์ ์๋ค๋ ๊ฒ์ ์ด ์ธ์ฆ์๊ฐ CA์ ๋น๊ณต๊ฐํค์ ์ํด์ ์ํธํ ๋ ๊ฒ์ด๋ผ๊ณ ํ ์ ์๋ค. (์ ์ ์๋ช )
ํด๋น CA์ ๋น๊ณต๊ฐ ํค๋ฅผ ๊ฐ์ง๊ณ ์๋ CA๋ ํด๋น CA ๋ฐ์ ์๊ธฐ ๋๋ฌธ์ ์๋ฒ๊ฐ ์ ๊ณตํ ์ธ์ฆ์๊ฐ CA์ ์ํด์ ๋ฐ๊ธ๋ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์๋ฏธํ๋ค.
CA์ ์ํด์ ๋ฐ๊ธ๋ ์ธ์ฆ์๋ผ๋ ๊ฒ์ ์ ์ํ ์ฌ์ดํธ๊ฐ CA์ ์ํด์ ๊ฒํ ๋์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
CA์ ๊ฒํ ๋ฅผ ํต๊ณผํ๋ค๋ ๊ฒ์ ํด๋น ์๋น์ค๊ฐ ์ ๋ขฐํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ด๊ฒ์ด CA์ ๋ธ๋ผ์ฐ์ ๊ฐ ํน์ ์๋ฒ๋ฅผ ์ธ์ฆํ๋ ๊ณผ์ ์ด๋ค.
์ธ์ฆ์๋ฅผ ์ด์ฉํด์ ์๋น์ค๋ฅผ ๋ณด์ฆ์ ์๋ฃํ๋ค! ๋งจ ์์์ ์ธ๊ธํ๋ ์ ์(handshake) ๊ณผ์ ์ด ์๋ฃ๋ ๊ฒ์ด๋ค.
์ด์ ๊ฐ์ฅ ์ค์ํ ์์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์ํธํํด์ ์ ๋ฌํ๋ ๊ณผ์ ์ด ๋จ์๋ค.
์ด ๊ณผ์ ์์ ์ธ์ฆ์์ ๊ณต๊ฐํค๋ฅผ ๊ณ์ํด์ ์ฌ์ฉํ๋ค.
SSL์ ๋์ ๋ฐฉ๋ฒ
SSL ์ธ์ฆ์๋ฅผ ์ด์ฉํด ์๋ฒ์ ์ ๋ขฐ๋๋ฅผ ํ์ธํ๋ ์ ์(handshake) ๋จ๊ณ๊ฐ ๋๋๋ฉด
๋ณธ๊ฒฉ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๋จ๊ณ๊ฐ ์์๋๋ค.
SSL์ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ์ ์กํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ณต๊ฐํค์ ๋์นญํค๋ฅผ ํผํฉํ์ฌ ์ฌ์ฉํ๋ค.
๊ณต๊ฐํค ๋ฐฉ์์ ์ํธํ๋ ์์ ํ์ง๋ง ๋งค์ฐ ๋ง์ ์ปดํจํฐ ์์์ ์ฌ์ฉํ๊ณ ,
๋์นญํค ๋ฐฉ์์ ์ํธํ๋ ํจ์จ์ ์ด์ง๋ง ๋ณด์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ SSL์ ํผํฉํ๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๋ค.
ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์ฃผ๊ณ ๋ฐ๋ ์ค์ ๋ฐ์ดํฐ๋ ๋์นญํค ๋ฐฉ์์ผ๋ก ์ํธํํ๊ณ ,
๋์นญํค ๋ฐฉ์์ผ๋ก ์ํธํ๋ ์ค์ ๋ฐ์ดํฐ๋ฅผ ๋ณตํธํํ ๋ ์ฌ์ฉํ ๋์นญํค๋
๊ณต๊ฐํค ๋ฐฉ์์ผ๋ก ์ํธํํด์ ์ฃผ๊ณ ๋ฐ๋๋ค.
-
์ค์ ๋ฐ์ดํฐ : ๋์นญํค๋ก ์ํธํ
-
๋์นญํค์ ํค : ๊ณต๊ฐํค๋ก ์ํธํ
ํฐ ๊ทธ๋ฆผ์ ๊ทธ๋ ค๋ณด๊ธฐ ์ํด, ์ ์๋จ๊ณ๋ถํฐ ๋ค์ ์ ๋ฆฌํด๋ณด์
1. ์ ์(handshake)
๋จผ์ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ ์ํ๋ค. ์ด ๋จ๊ณ๋ฅผ Client Hello๋ผ๊ณ ํ๋ค. ์ด ๋จ๊ณ๊ฐ ์ฃผ๊ณ ๋ฐ๋ ์ ๋ณด๋ ์๋์ ๊ฐ๋ค
- ํด๋ผ์ด์ธํธ ์ธก์์ ์์ฑํ ๋๋ค ๋ฐ์ดํฐ :: ์๋ 3๋ฒ ์ฐธ์กฐ
- ํด๋ผ์ด์ธํธ๊ฐ ์ง์ํ๋ ์ํธํ ๋ฐฉ์๋ค :: ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์ง์ํ๋ ์ํธํ ๋ฐฉ์์ด ์๋ก ๋ค๋ฅผ ์ ์๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ํธ๊ฐ์ ์ด๋ค ์ํธํ ๋ฐฉ์์ ์ฌ์ฉํ ๊ฒ์ธ์ง์ ๋ํ ํ์์ ํด์ผ ํ๋ค.
์ด ํ์์ ์ํด์ ํด๋ผ์ด์ธํธ๋ ์์ ์ด ์ฌ์ฉํ ์ ์๋ ์ํธํ ๋ฐฉ์์ ์ ์กํ๋ค.
- ์ธ์
์์ด๋ : ์ด๋ฏธ SSL handshake๋ฅผ ํ๋ค๋ฉด ๋น์ฉ๊ณผ ์๊ฐ์ ์ ์ฝํ๊ธฐ ์ํด์ ๊ธฐ์กด์ ์ธ์
์ ์ฌํ์ฉํ๊ฒ ๋๋๋ฐ, <br>์ด ๋ ์ฌ์ฉํ ์ฐ๊ฒฐ์ ๋ํ ์๋ณ์๋ฅผ ์ ์กํ๋ค.
์๋ฒ๋ Client Hello์ ๋ํ ์๋ต์ผ๋ก Server Hello๋ฅผ ํ๊ฒ ๋๋ค. ์ด ๋จ๊ณ์์ ์ฃผ๊ณ ๋ฐ๋ ์ ๋ณด๋ ์๋์ ๊ฐ๋ค.
- ์๋ฒ ์ธก์์ ์์ฑํ ๋๋ค ๋ฐ์ดํฐ :: ์๋ 3๋ฒ ์ฐธ์กฐ
- ์๋ฒ๊ฐ ์ ํํ ํด๋ผ์ด์ธํธ์ ์ํธํ ๋ฐฉ์ :: ํด๋ผ์ด์ธํธ๊ฐ ์ ๋ฌํ ์ํธํ ๋ฐฉ์ ์ค์์
์๋ฒ์ชฝ์์๋ ์ฌ์ฉํ ์ ์๋ ์ํธํ ๋ฐฉ์์ ์ ํํด์ ํด๋ผ์ด์ธํธ๋ก ์ ๋ฌํ๋ค.
์ด๋ก์จ ์ํธํ ๋ฐฉ์์ ๋ํ ํ์์ด ์ข
๋ฃ๋๋ค.
์๋ฒ์ ํด๋ผ์ด์ธํธ๋ ์ด ์ํธํ ๋ฐฉ์์ ์ด์ฉํด์ ์ ๋ณด๋ฅผ ๊ตํํ๊ฒ ๋๋ค.
- ์ธ์ฆ์
๊ทธ๋ฆฌ๊ณ ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์ธ์ฆ์๊ฐ CA์ ์ํด์ ๋ฐ๊ธ๋ ๊ฒ์ธ์ง๋ฅผ ํ์ธํ๊ธฐ ์ํด ์์ ์๊ฒ ๋ด์ฅ๋ CA ๋ฆฌ์คํธ๋ฅผ ํ์ธํ๋ค.
CA ๋ฆฌ์คํธ์ ์ธ์ฆ์๊ฐ ์๋ค๋ฉด ์ฌ์ฉ์์๊ฒ ๊ฒฝ๊ณ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ด์ฅ๋ CA์ ๊ณต๊ฐํค๋ฅผ ์ด์ฉํด์ ์ธ์ฆ์๋ฅผ ๋ณตํธํํ๋ค.
(๋ณตํธํ์ ์ฑ๊ณตํ๋ค๋ฉด ์ธ์ฆ์๋ CA์ ๊ฐ์ธํค๋ก ์ํธํ๋ ๋ฌธ์์์ด ์์์ ์ผ๋ก ๋ณด์ฆ๋ ๊ฒ์ด๋ค.)
ํด๋ผ์ด์ธํธ๋ 1๋ฒ์์ ์์ ์ด ์์ฑํ ๋๋ค ๋ฐ์ดํฐ์ 2๋ฒ์ ํตํด์ ๋ฐ์ ์๋ฒ์ ๋๋ค ๋ฐ์ดํฐ๋ฅผ ์กฐํฉํด์
pre master secret ์ด๋ผ๋ ํค๋ฅผ ์์ฑํ๋ค. ์ด ํค๋ ๋ค์์ ์ดํด๋ณผ ์ธ์
๋จ๊ณ์์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ์ ์ํธํ์ ์ฌ์ฉ๋๋ค.
์ด ๋ ์ฌ์ฉ๋ ์ํธํ ๊ธฐ๋ฒ์ ๋์นญํค์ด๊ธฐ ๋๋ฌธ์ pre master secret ํค๋ ์ 3์์๊ฒ ์ ๋๋ก ๋
ธ์ถ๋์ด์๋ ์๋๋ค.
๊ทธ๋ ๋ค๋ฉด pre master secret ํค๋ฅผ ์ด๋ป๊ฒ ์๋ฒ์๊ฒ ์ ๋ฌํ ๊ฒ์ธ๊ฐ?
์ด ๋ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก ๊ณต๊ฐํค ๋ฐฉ์์ด๋ค.
์๋ฒ๋ก๋ถํฐ ๋ฐ์ ์ธ์ฆ์ ๋ด์ ๊ณต๊ฐํค๋ก pre master secret ํค๋ฅผ ์ํธํํด์ ์๋ฒ๋ก ์ ์กํ๋ค.
์๋ฒ๋ ์ด ์ํธํ๋ ํค๋ฅผ ์์ ์ ๋น๊ณต๊ฐํค๋ก ์์ ํ๊ฒ ๋ณตํธํํ ์ ์๋ค.
๋ง์ง๋ง์ผ๋ก ์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ์ ์กํ pre master secret ํค๋ฅผ ์์ ์ ๋น๊ณต๊ฐํค๋ก ๋ณตํธํํ๋ค.
์ด๋ก์จ ์๋ฒ์ ํด๋ผ์ด์ธํธ ๋ชจ๋ pre master secret ๊ฐ์ ๊ณต์ ํ๊ฒ ๋์๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ฒ์ ํด๋ผ์ด์ธํธ๋ ๋ชจ๋ ์ผ๋ จ์ ๊ณผ์ ์ ๊ฑฐ์ณ์ pre master secret ํค๋ฅผ master secret ํค๋ก ๋ง๋ ๋ค.
master secret ํค๋ session key๋ฅผ ์์ฑํ๋๋ฐ, ์ด session key ๊ฐ์ ์ด์ฉํด์ ์๋ฒ์ ํด๋ผ์ด์ธํธ๋
๋ฐ์ดํฐ๋ฅผ ๋์นญํค ๋ฐฉ์์ผ๋ก ์ํธํํ ํ์ ์ฃผ๊ณ ๋ฐ๋๋ค.
์ด๋ ๊ฒ ํด์ ์ธ์
ํค๋ฅผ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ๋ชจ๋ ๊ณต์ ํ๊ฒ ๋์๋ค.
ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ handshake ์ข
๋ฃ๋ฅผ ์๋ก์๊ฒ ์๋ฆฌ๊ณ ๋ณธ๊ฒฉ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋์นญํค ๋ฐฉ์์ผ๋ก ์ํธํํ์ฌ ์ ์กํ๋ค.(์ธ์
์์)
2. ์ ์ก(์ธ์ )
์ธ์ ์ ์ค์ ๋ก ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋จ๊ณ์ด๋ค.
์ด ๋จ๊ณ์์ ํต์ฌ์ '์ ๋ณด๋ฅผ ์๋๋ฐฉ์๊ฒ ์ ์กํ๊ธฐ ์ ์ session key ๊ฐ์ ์ด์ฉํด์ ๋์นญํค ๋ฐฉ์์ผ๋ก ์ํธํ ํ๋ค'๋ ์ ์ด๋ค.
์ํธํ๋ ์ ๋ณด๋ ์๋๋ฐฉ์๊ฒ ์ ์ก๋ ๊ฒ์ด๊ณ , ์๋๋ฐฉ๋ session key ๊ฐ์ ์๊ณ ์๊ธฐ ๋๋ฌธ์ ์ํธ๋ฅผ ๋ณตํธํํ ์ ์๋ค.
3. ์ ์ก(์ธ์ ) ์ข ๋ฃ
๋ฐ์ดํฐ์ ์ ์ก์ด ๋๋๋ฉด SSL ํต์ ์ด ๋๋ฌ์์ ์๋ก์๊ฒ ์๋ ค์ค๋ค.
์ด ๋ ํต์ ์์ ์ฌ์ฉํ ๋์นญํค์ธ session key๋ฅผ ํ๊ธฐํ๋ค.