HTTPS
HTTP์ ๋ณด์ ์ทจ์ฝ์ ์ ๋ณด์ํ๊ธฐ ์ํด ์ค๊ณ๋ ํ๋กํ ์ฝ์ด๋ค.
HTTP ํ๋กํ ์ฝ ๋ด์ฉ ์์ฒด๋ฅผ ์ํธํํ์ฌ TCP/IP ํต์ ์ ์ํ
SSL(Secure Socket Layer) ๋๋ TLS(Transport Layer Security) ๋ณด์ ๊ณ์ธต ์์์ ๋์
HTTP์ ๋ณด์ ์ทจ์ฝ์
HTTP๋ ํ ์คํธ๋ฅผ ํ๋ฌธ์ผ๋ก ์ ์กํ๊ธฐ ๋๋ฌธ์ ๋คํธ์ํฌ ์ค๋ํ(Sniffing)๊ณผ ๊ฐ์ ๊ณต๊ฒฉ์ ์ทจ์ฝํ๋ค.
๋์ฒญ ๊ฐ๋ฅ(Confidentiality ์นจํด)
TCP/IP ํจํท์ ํต์ ๊ฒฝ๋ก ์์ ๋ผ์ฐํฐ๋ ๋คํธ์ํฌ ์ฅ๋น์์ ํ์ทจ ๊ฐ๋ฅ
ํจํท ์บก์ฒ ๋๊ตฌ(Wireshark ๋ฑ)๋ฅผ ์ฌ์ฉํ๋ฉด ๋ก๊ทธ์ธ์ด ID/PW ๋ฑ์ ์ฝ๊ฒ ํ์ทจํ ์ ์์
์์ฅ ๊ฐ๋ฅ(Authentication ๋ถ์ฌ)
ํด๋ผ์ด์ธํธ๋ ์์ ์ด ์์ฒญ์ ๋ณด๋ธ ์๋ฒ๊ฐ ์ ๋ง ๋ค์ด๋ฒ๋ ๊ตฌ๊ธ ๊ฐ์ ์ค์ ์ ๋ขฐํ ์ ์๋ ์๋ฒ์ธ์ง ํ์ธํ ๋ฐฉ๋ฒ์ด ์์
๊ณต๊ฒฉ์๊ฐ ์์กฐ๋ ์๋ฒ๋ฅผ ๋ง๋ค์ด ํด๋ผ์ด์ธํธ๋ฅผ ์์ผ ์ ์์
๋ณ์กฐ ๊ฐ๋ฅ(Integrity ์นจํด)
์๋ฒ์์ ๋ณด๋ธ ๋ฐ์ดํฐ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ๋์ฐฉํ๊ธฐ ์ ์ ์ค๊ฐ์(Man-in-the-Middle)๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ก์ฑ ์ ์ฑ์ฝ๋๋ฅผ ์ฌ๊ฑฐ๋ ๋ด์ฉ ๋ณ๊ฒฝ ๊ฐ๋ฅ
HTTPS์ ํต์ฌ ์๋ฆฌ
HTTPS๋ ์์ ์ธ ๊ฐ์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด SSL/TLS ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ค.
๊ธฐ๋ฐ์ฑ(Encryption): ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ๋์ฒญ๋๋๋ผ๋ ๋ด์ฉ์ ์ ์ ์๊ฒ ํจ
๋ฌด๊ฒฐ์ฑ(Integrity): ๋ฐ์ดํฐ๊ฐ ์ ์ก ์ค์ ๋ณ์กฐ๋์ง ์์์์ ๋ณด์ฅ (MAC: Message Authentication Code ์ฌ์ฉ)
์ธ์ฆ(Authentication): ์ ๋ขฐํ ์ ์๋ ์ธ์ฆ๊ธฐ๊ด(CA)์ ์ธ์ฆ์๋ฅผ ํตํด ์ ์ํ ์๋ฒ๊ฐ ์ ๋นํ ์๋ฒ์์ ๋ณด์ฅ
HTTP - ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต
HTTP - ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต
-
SSL or TLS - ๋ณด์ ๊ณ์ธต
TCP - ์ ์ก ๊ณ์ธต
TCP - ์ ์ก ๊ณ์ธต
IP - ๋คํธ์ํฌ ๊ณ์ธต
IP - ๋คํธ์ํฌ ๊ณ์ธต
๋คํธ์ํฌ ์ธํฐํ์ด์ค - ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต
๋คํธ์ํฌ ์ธํฐํ์ด์ค - ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต
์ธ์ฝ๋ฉ ๋ฐ ๋์ฝ๋ฉ ์์ ์ ๋๋ถ๋ถ SSL ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ด๋ถ์์ ์ฒ๋ฆฌ๋๊ธฐ ๋๋ฌธ์, ์น ํด๋ผ์ด์ธํธ๋ ์๋ฒ๊ฐ ๋ณ๋๋ก ํฌ๊ฒ ์ฒ๋ฆฌํ ๋ถ๋ถ์ ์๋ค.
๋์นญํค์ ๋น๋์นญํค์ ํผ์ฉ(ํ์ด๋ธ๋ฆฌ๋ ์ํธํ)
HTTPS๋ ์๋์ ๋ณด์์ ๊ท ํ์ ๋ง์ถ๊ธฐ ์ํด ๋ ๊ฐ์ง ์ํธํ ๋ฐฉ์์ ํผํฉํ์ฌ ์ฌ์ฉํ๋ค.
์ฐ๊ฒฐ ์๋ฆฝ ๋จ๊ณ(Handshake): ๊ณต๊ฐํค(๋น๋์นญํค) ์ํธํ ์ฌ์ฉ
๋ชฉ์ : ๋์นญํค๋ฅผ ์์ ํ๊ฒ ๊ณต์ ํ๊ธฐ ์ํจ
ํน์ง: ๋ณด์์ฑ์ ๋์ผ๋ ๊ณ์ฐ ๋น์ฉ์ด ๋น์ธ๊ณ ์๋๊ฐ ๋๋ฆผ
๋ฐ์ดํฐ ์ ์ก ๋จ๊ณ: ๋์นญํค ์ํธํ ์ฌ์ฉ
๋ชฉ์ : ์ค์ HTTP ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ํธํํ์ฌ ์ ์ก
ํน์ง: ๊ณ์ฐ ๋น์ฉ์ด ์ ๋ ดํ๊ณ ์๋๊ฐ ๋น ๋ฆ
SSL๊ณผ TLS์ ๊ด๊ณ
SSL(Secure Sockets Layer): ๋ท์ค์ผ์ดํ์ฌ๊ฐ ๊ฐ๋ฐํ ์ด๊ธฐ ํ๋กํ ์ฝ๋ก, ํ์ฌ๋ ๋ณด์ ์ทจ์ฝ์ ์ผ๋ก ์ธํด ์ฌ์ฉ๋์ง ์์
TLS(Transport Layer Security): SSL์ ํ์คํํ์ฌ ๋ฐ์ ์ํจ ํ๋กํ ์ฝ๋ก, ํ์ฌ๋ TLS 1.2์ TLS 1.3์ด ์ฃผ๋ก ์ฌ์ฉ
์ค๋ฌด์์๋ ๊ด์ต์ ์ผ๋ก SSL์ด๋ผ ๋ถ๋ฅด์ง๋ง, ์ค์ ๋ก๋ TLS ํ๋กํ ์ฝ์ ์๋ฏธ
HTTP / HTTPS ํธ๋์ญ์
๋น๊ต
URL ํ๋กํ ์ฝ ์คํค๋ง์ ๋ฐ๋ผ HTTP/HTTPS๋ก ํต์ ํ๊ฒ ๋๋ฉฐ, ๊ฐ๊ฐ ์๋์ ๊ฐ์ ํธ๋์ญ์ ์ ๊ฑฐ์น๊ฒ ๋๋ค.
์๋ฒ์ 80ํฌํธ๋ก TCP ์ปค๋ฅ์ ์๋ฆฝ
์๋ฒ์ 443ํฌํธ๋ก TCP ์ปค๋ฅ์ ์๋ฆฝ
-
SSL ๋ณด์ ๋งค๊ฐ๋ณ์ ํธ๋์ ฐ์ดํฌ
TCP๋ฅผ ํตํด ๋ณด๋ด์ง HTTP ์์ฒญ
SSL์ ํตํด ๋ณด๋ด์ง HTTP ์์ฒญ / TCP๋ฅผ ํตํด ๋ณด๋ด์ง ์ํธํ๋ ์์ฒญ
TCP๋ฅผ ํตํด ๋ณด๋ด์ง HTTP ์๋ต
SSL์ ํตํด ๋ณด๋ด์ง HTTP ์๋ต / TCP๋ฅผ ํตํด ๋ณด๋ด์ง ์ํธํ๋ ์๋ต
-
SSL ๋ซํ ํต์ง
TCP ์ปค๋ฅ์ ๋ซํ
TCP ์ปค๋ฅ์ ๋ซํ
SSL Handshake
TCP 3-way Handshake ์ดํ์ TLS Handshake๊ฐ ์ํ๋๋ค.(TLS 1.2 ๊ธฐ์ค)
Client Hello: ํด๋ผ์ด์ธํธ๊ฐ ์ง์ํ๋ ์ํธํ ๋ฐฉ์ ๋ชฉ๋ก(Cipher Suite)๊ณผ ๋์(Random Value)๋ฅผ ์ ์ก
Server Hello: ์๋ฒ๊ฐ ์ํธํ ๋ฐฉ์์ ์ ํํ๊ณ , ์์ ์ ์ธ์ฆ์์ ๋์๋ฅผ ์ ์ก
์ธ์ฆ์ ๊ฒ์ฆ: ํด๋ผ์ด์ธํธ๋ CA์ ๊ณต๊ฐํค๋ฅผ ์ฌ์ฉํด ์๋ฒ ์ธ์ฆ์์ ์ ์ ์๋ช ์ ๊ฒ์ฆ
ํค ๊ตํ: ํด๋ผ์ด์ธํธ๋ ์์ ๋น๋ฐํค(Pre-Master Secret)๋ฅผ ์์ฑํ๊ณ , ์ด๋ฅผ ์๋ฒ ์ธ์ฆ์์ ์๋ ๊ณต๊ฐํค๋ก ์ํธํํ์ฌ ์ ์ก
์ธ์ ํค ์์ฑ: ์๋ฒ๋ ์์ ์ ๊ฐ์ธํค๋ก ์ด๋ฅผ ๋ณตํธํํจ. ์ด์ ์์ชฝ์ ๋์ผํ ํค(์ธ์ ํค)๋ฅผ ๊ฐ์ง๊ฒ ๋จ
ํต์ ์์: ์ดํ ๋ชจ๋ HTTP ๋ฉ์์ง๋ ์ด ์ธ์ ํค๋ฅผ ์ด์ฉํด ์ํธํ๋์ด ์ ์ก
์ต์ TLS 1.3์ ๋ณด์์ด ์ทจ์ฝํ ์๊ณ ๋ฆฌ์ฆ์ ์ ๊ฑฐํ๊ณ , ์ ํธ๋์ ฐ์ดํฌ ๊ณผ์ ์ ๊ฐ์ํํ์ฌ(1-RTT) ์ฐ๊ฒฐ ์๋๋ฅผ ํ๊ธฐ์ ์ผ๋ก ๊ฐ์ ํ๋ค.
์ฌ์ดํธ ์ธ์ฆ์ ๊ฒ์ฌ
SSL ์์ฒด๋ ์ฌ์ฉ์์๊ฒ ์ธ์ฆ์ ๊ฒ์ฆ ์๊ตฌ๋ฅผ ํ์ง ์์ง๋ง, ์ต์ ์น๋ธ๋ผ์ฐ์ ๋๋ถ๋ถ์ด ์ธ์ฆ์์ ๋ํด ๊ธฐ๋ณธ์ ์ธ ๊ฒ์ฌ๋ฅผ ํ ๋ค ๋์ ์์ค์ ๊ฒ์ฌ๋ฅผ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๋ค.
์ธ์ฆ์ ๊ฒ์ฌ ์ ์ฐจ
๋ท์ค์ผ์ดํ์์๋ ์น ์๋ฒ ์ธ์ฆ์ ๊ฒ์ฌ๋ฅผ ์ํ ์๊ณ ๋ฆฌ์ฆ์ ๋ง๋ค์ด ๊ธฐ์ด๋ฅผ ๊ตฌ์ถํ์ผ๋ฉฐ, ์ํ ๋จ๊ณ์์ ์๋์ ๊ฒ์ฌ๋ฅผ ์ํํ๋ค.
๋ ์ง ๊ฒ์ฌ: ์ธ์ฆ์์ ์์ ๋ฐ ์ข ๋ฃ์ผ ๊ฒ์ฌ
์๋ช ์ ์ ๋ขฐ๋ ๊ฒ์ฌ: ๋ธ๋ผ์ฐ์ ์ ๋ด์ฅ๋ ์ธ์ฆ์ ๋ฐ๊ธ์ ๋ชฉ๋ก๊ณผ ์ธ์ฆ์ ๋ฐ๊ธ์์ ์ด๋ฆ์ ๋น๊ต(์ ๋ขฐํ ์ ์๋ ๋ฐ๊ธ์์ธ์ง ๊ฒ์ฌ)
์๋ช ๊ฒ์ฌ: ์๋ช ๊ธฐ๊ด์ ๊ณต๊ฐํค๋ฅผ ์๋ช ์ ์ ์ฉํ์ฌ ์ฒดํฌ์ฌ๊ณผ ๋น๊ตํ์ฌ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ
์ฌ์ดํธ ์ ์ ๊ฒ์ฌ: ์ธ์ฆ์ ๋ณต์ฌ ํน์ ํธ๋ํฝ ์ค๊ฐ์ ๊ณต๊ฒฉ์ ๋ง๊ธฐ ์ํด ์ธ์ฆ์์ ๋๋ฉ์ธ ์ด๋ฆ๊ณผ ํต์ ์ค์ธ ์๋ฒ ํธ์คํธ์ ๋๋ฉ์ธ์ด ์ผ์นํ๋์ง ๊ฒ์ฌ
์ฐธ๊ณ ์๋ฃ
Last updated
Was this helpful?