< ์ ์ก๊ณ์ธต์ ๋ณด์ ์๊ตฌ์ฌํญ >
์๋ฒ์ ํด๋ผ์ด์ธํธ์ ์ธ์ฆ, ๊ธฐ๋ฐ์ฑ, ๋ฌด๊ฒฐ์ฑ
์์ผ์ธต ๋ณด์ ํ๋กํ ์ฝ
์์ฉ์ธต์์ ์์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ํ๊ณ ์์ถํ๋ ์๋น์ค ์ ๊ณต
์์ฉ์ธต -> SSL -> TCP ๊ณ์ธต
http:// โ https:// ๋ฐ๋
ํค ๊ตํ ์๊ณ ๋ฆฌ์ฆ : ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ 6๊ฐ์ ํค๊ฐ ํ์
์/๋ณตํธํ ์๊ณ ๋ฆฌ์ฆ :
๋ฉ์์ง ๋ฌด๊ฒฐ์ฑ ํด์ฌ ์๊ณ ๋ฆฌ์ฆ :
์ธ์ :
- ์ธ์ ์ ์ฐ๊ฒฐ๊ณผ ๋ค๋ฅธ ๋ป์ ๊ฐ์ง๋ค.
- ์ธ์ ์ ํ์ชฝ์ ํด๋ผ์ด์ธํธ์ ์ญํ ์ด ๋๊ณ , ๋๋จธ์ง ํ์ชฝ์ ์๋ฒ์ ์ญํ ์ด ๋๋ค.
- ์ธ์ ์ด ํ๋ฆฝ๋๋ฉด ์์ชฝ์ ํต์ ์ ํ์ํ ๊ณตํต ์ ๋ณด๋ฅผ ๊ฐ๊ฒ๋๋ค.
SSL์ 4๊ฐ์ ํ๋กํ ์ฝ :

Handshake ํ๋กํ ์ฝ : ์ํธ ๊ทธ๋ฃน ํ์, ์ธ์ฆ, ๋น๋ฐ ํ๋ฆฝ
ChangeCipherSpec ํ๋กํ ์ฝ : ๋งค๊ฐ๋ณ์ ๋น๋ฐ๋ค์ ์ธ์ ์ฌ์ฉํ ์ง ๋๊ธฐ, ํ์ฑ ์ํ ๊ณผ์ ์ ์ฒ๋ฆฌ
Alert ํ๋กํ ์ฝ : ์ค๋ฅ์ ๋น์ ์ ์ํ๋ฅผ ์๋ฆผ
Record ํ๋กํ ์ฝ : ํ์ฑ์ํ์ผ๋, ์์ ๊ณ์ธต์์ ๋ฐ์ ๋ฉ์์ง๋ฅผ ์บก์ํํ์ฌ ์ ์ก๊ณ์ธต์ผ๋ก ์ ๋ฌํ๋ค. ๋ฉ์์ง ๋จํธํ, ์์ถ ๋ฑ ์ํ (์์ : ๋จํธํ โ ์์ถ โ MAC์ฒจ๋ถ โ ์ํธํ โ SSL ๋ ์ฝ๋ ํค๋ ๋ถ์ด๊ธฐ)
HelloRequest ๋ฉ์์ง : ์ธ์ ์ด ์๋ชป๋์๊ฑฐ๋, ์๋ก์ด ์ธ์ ์ด ํ์ํ๋ฉด ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ์๊ตฌํ๋ค.
ClientHello ๋ฉ์์ง : Handshaking์์ ์ฒซ ๋ฒ์งธ๋ก ๊ตํ๋๋ ๋ฉ์์ง. ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋
ServerHello ๋ฉ์์ง : ClientHello์ ๋ํ ์๋ฒ์ ์๋ต ๋ฉ์์ง
Certificate ๋ฉ์์ง : ๊ณต๊ฐํค ์ธ์ฆ์ ์ฒด์ธ๋ชฉ๋ก์ ๋ณด๋ด๋ ๋ฉ์์ง
ServerKeyExchange ๋ฉ์์ง : ์๋ฒ์ ์ํด ์์ฑ๋ ํค๋ฅผ ๋ณด๋ด๋ ๋ฉ์์ง
CertificateRequest ๋ฉ์์ง : ์๋ฒ์ ์ธ์ฆ์ ํด๋ผ์ด์ธํธ์๊ฒ ์์ฒญํ๋ ๋ฉ์์ง
ServerHelloDone ๋ฉ์์ง : Handshaking์ ๋ง์ง๋ง ๋ฉ์์ง
CertificateVerify ๋ฉ์์ง : ํด๋ผ์ด์ธํธ๊ฐ ๊ณต๊ฐํค์ ๊ด๋ จ๋ ์์ ์ ๊ฐ์ธํค๋ฅผ ์ธ์ฆํ๋ ๋ฉ์์ง
ClientKeyExchange ๋ฉ์์ง : ํด๋ผ์ด์ธํธ๊ฐ ํค๋ฅผ ์ ๊ณตํ๋ ๋ฉ์์ง
Finished ๋ฉ์์ง : ํ์๊ฐ ๋๋ฌ์์ ๋ํ๋ด๋ ๋ฉ์์ง
SSL์ IETF ํ์ค ๋ฒ์
์ ์ก ๊ณ์ธต ๋ณด์ ํ๋กํ ์ฝ
SSL๊ณผ ๋ค๋ฅธ์
Fortezza๊ฐ ์ง์๋์ง ์๋๋ค.
SSL๋ณด๋ค ๋ณต์กํ๋ค. (HMAC๊ณผ PRF ์์ฌ๋์ ํจ์๋ฅผ ์ฌ์ฉํ๋ค)
โ ๏ธ SSL/TLS๋ TCP๋ง ๋ณดํธํ๊ณ , UDP๋ ๋ณดํธํ์ง ์๋๋ค!