HTTPS
HTTPS(Hyper Text Transfer Protocol Secure)
TCP/IP ์์ SSL/TLS ์ธต์ ์ถ๊ฐํ์ฌ ์ํธํ, ์ธ์ฆ ๊ทธ๋ฆฌ๊ณ ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅ์ ํตํด ๋ ์์ ํ๊ฒ ๋ง๋ค์ด์ฃผ๋ ํ๋กํ ์ฝ์ด๋ฉฐ, ๊ธฐ๋ณธ 433ํฌํธ๋ฅผ ์ฌ์ฉํ๋ค.
SSL(Secure Socket Layer)
์น ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ํต์ ์ํธํ ํ๋กํ ์ฝ์ด๋ฉฐ, ๋คํธ์ํฌ ์์์ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ธฐ ์ํด ๋ง๋ค์ด์ก๋ค.(1995๋ Nescape ๊ฐ๋ฐ) Certificate Authority(CA)๋ผ ๋ถ๋ฆฌ๋ ์๋ ํํฐ๋ก๋ถํฐ ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ์ธ์ฆ์ ํ๋๋ฐ ์ฌ์ฉ๋๋ค. HTTPS๋ SSL ํ๋กํ ์ฝ ์์์ ๋์๊ฐ๋ ํ๋กํ ์ฝ์ด๋ฉฐ FTP, NNTP, XMPP ๋ฑ๋ SSL ์์์ ๋์๊ฐ๋ฉฐ ๋ณด์์ ์ ์งํ ์ ์๋ค.
TLS(Transport Layer Security)
SSL์ 1996๋ 3.0 ๋ฒ์ ์ด ์ถ์๋์์ง๋ง, ๋ณด์์ทจ์ฝ์ ์ผ๋ก ์ธํด ํ์ฌ๋ ํด์ถ๋ ์ํ์ด๋ค. TLS๋ ๊ตญ์ ์ธํฐ๋ท ํ์คํ ๊ธฐ๊ตฌ์์ ๊ฐ๋ฐํ ๊ฒ์ผ๋ก, SSL 3.0์ ๋ณด์์ทจ์ฝ์ ์ ๋ณด์ํ ํต์ ๋ณด์ ํ๋กํ ์ฝ์ด๋ค. ํ์ฌ TLS๋ 2018๋ 1.3 ๋ฒ์ ์ด ์ถ์๋๋ค. SSL์ ๋ณด์ํ ๊ฒ์ด TLS์ด์ง๋ง, ์ธํฐ๋ท์ ์ ์ฉ๋๋ ํต์ ๋ณด์ ํ๋กํ ์ฝ์ ๋ณดํต SSL์ด๋ผ ๋ถ๋ฅธ๋ค. ํ์ง๋ง SSL์ ๋ง์ง๋ง ๋ฒ์ ์ธ 3.0 ๋ง์ ๊ธ์ง๋์ผ๋ฏ๋ก, ํ์ฌ ์ฌ์ฉ ์ค์ธ ํต์ ๋ณด์ ํ๋กํ ์ฝ์ ๋ชจ๋ TLS์ด๋ค.
SSL ํน์ง
- URL ํ๋กํ ์ฝ์ https์ด๋ฉฐ, ๊ธฐ๋ณธ ํฌํธ๋ 443์ด๋ค.
- ํต์ ๋ฐ์ดํฐ๊ฐ ์ํธํ๋์ด, ํจํท์ด ํ์ทจ๋๋ ์ฌ๊ณ ๊ฐ ๋ฐ์ํด๋ ๋ฐ์ดํฐ๋ฅผ ์งํฌ ์ ์๋ค.
- SSL ์ธ์ฆ์๋ฅผ ํตํด ๋๋ฉ์ธ์ ์ ๋ขฐ์ฑ์ ๊ฒ์ฆํ ์ ์๋ค.
- ๋ฐ์ดํฐ ์ก/์์ ๊ณผ์ ์์ ์/๋ณตํธํ๊ฐ ๋ฐ์ํ๋ฏ๋ก ์๋๊ฐ ๋๋ฆฌ๋ค.
SSL ํต์ ๊ณผ์
- ํด๋ผ์ด์ธํธ๊ฐ ํน์ ์ฃผ์์ ์ ๊ทผํ๋ฉด, ํด๋นํ๋ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ธ๋ค.(Client Hello)
- ๋์ ๋ฐ์ดํฐ
- ์ํธํ ํ๋กํ ์ฝ ์ ๋ณด
- ํด๋ผ์ด์ธํธ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ์ํธํ ๋ฐฉ์
- ์ธ์ ์์ด๋
- ๊ธฐํ ํ์ฅ ์ ๋ณด
- ์๋ฒ๊ฐ Client Hello ์์ฒญ์ ๋ฐ์ผ๋ฉด, ์์ ์ ๋ณด๋ฅผ ๋ด์ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ตํ๋ค.(Server Hello)
- ๋์ ๋ฐ์ดํฐ(Client Hello์ ๋ฐ์ดํฐ์ ๋ค๋ฅด๋ค.)
- ์๋ฒ๊ฐ ์ฌ์ฉํ ์ํธํ ๋ฐฉ์
- ์ธ์ฆ์(CA, ๋๋ฉ์ธ, ๊ณต๊ฐํค)
- ํด๋ผ์ด์ธํธ ์ธ์ฆ ํ์ธ
- ์๋ฒ๋ก๋ถํฐ ๋ฐ์ ์ธ์ฆ์๊ฐ CA์ ์ํด ๋ฐ๊ธ๋์๋์ง ๋ณธ์ธ์ด ๊ฐ์ง๊ณ ์๋ ๋ชฉ๋ก์์ ํ์ธํ๊ณ , ๋ชฉ๋ก์ ์๋ค๋ฉด CA ๊ณต๊ฐํค๋ก ์ธ์ฆ์ ๋ณตํธํ๋ฅผ ํ๋ค.
- ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ๊ฐ์ ๋๋ค ๋ฐ์ดํฐ๋ฅผ ์กฐํฉํ์ฌ pre mastet secret key๋ฅผ ์์ฑํ๋ค.
- pre master secret key์ ๊ณต๊ฐํค ๋ฐฉ์์ผ๋ก ์๋ฒ์ ์ ๋ฌํ๋ค.
- ์ผ๋ จ์ ๊ณผ์ ์ ๊ฑฐ์ณ์ session key๋ฅผ ์์ฑํ๋ค.
- ์ธ์ฆ์ ๊ฒํ
- ์๋ฒ๊ฐ ์ ๋ฌํ ์ธ์ฆ์๊ฐ ์ค์ ํด๋น ์๋ฒ์ ์ธ์ฆ์์ธ์ง, ์ ๋ขฐํ ์ ์๋ CA์์ ๋ฐ๊ธ๋ ๊ฒ์ธ์ง, ์ค์ ํด๋น CA์์ ๋ฐ๊ธ๋ฐ์๋์ง ๋ฑ ์ธ์ฆ์๋ฅผ ๊ฒํ ํ๋ค.
- pre master secret key ์ก์์
- Client Hello, Server Hello์์ ์ก์์ ํ ๋์ ๋ฐ์ดํฐ๋ฅผ ์กฐํฉํ์ฌ pre mastet secret key๋ฅผ ์์ฑํ๋ค.
- ์ด๋ฅผ Server Hello์์ ์ ๋ฌ๋ฐ์๋ ๊ณต๊ฐํค๋ก ์ํธํํ๋ค. ์ด ๋ฐ์ดํฐ๋ ์๋ฒ๊ฐ ๊ฐ์ง ๊ฐ์ธํค๋ก๋ง ๋ณตํธํ๊ฐ ๊ฐ๋ฅํ๋ค. ์ฆ, ์ด ๋ฐ์ดํฐ๋ ํ์ทจ๋๋ค ํ๋๋ผ๋ ๊ทธ ๋ด์ฉ์ด ๋ณดํธ๋๋ค.
- ์๋ฒ๋ ์์ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณตํธํํ์ฌ ํด๋ผ์ด์ธํธ์ ๋์ผํ pre mastet secret key๋ฅผ ์ ์ฅํ ์ ์๋ค.
- ํต์ ํค ์์ฑ
- ๋ณด์ ํ pre mastet secret key๋ฅผ ํ ๋๋ก master secret key, session key๋ฅผ ์์ฑํ๋ค.
- ์ด๋ฅผ ํตํด ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ๋์ผํ ํค๋ฅผ ๋ณด์ ํ๊ฒ ๋๋ฏ๋ก ์ํธํ ํต์ ์ด ๊ฐ๋ฅํ๋ค.
- ๋ฐ์ดํฐ ์ก์์
- ํ์ํ ๋ฐ์ดํฐ๋ ์ ์ฅ๋ session key๋ฅผ ํตํ ๋์นญํค ์ํธํ ๋ฐฉ์์ผ๋ก ์/๋ณตํธํํ์ฌ ํต์ ํ๋ค.
- ์ธ์
์ข
๋ฃ
- ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ์ด ๋๊ฒผ์ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ session key๋ ํ๊ธฐ๋๋ค.
Leave a comment