Hypertext
: ์ฐธ์กฐ๋ฅผ ํตํด ํ ๋ฌธ์์์ ๋ค๋ฅธ ๋ฌธ์๋ก ์ฆ์ ์ ๊ทผํ ์ ์๋ ํ
์คํธ(์ฆ, ๋ค๋ฅธ ํ์ด์ง์ ๋งํฌ๋ฅผ ๋ด๊ณ ์๋ ํ
์คํธ)
Transfer
: ์ ์ก
Protocol
: ํต์ ๊ท์ฝ
http๋ ์ธํฐ๋ท ์์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์์์ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฐ๋ ํต์ ๊ท์ฝ์ด๋ค.
HTTP
: Hypertext ํต์ ๊ท์ฝ
over Secure Socket Layer | over TLS | over SSL | HTTP Secure
: ๋ณด์์ ํตํ
์์ผ ํต์ ์์ SSL/TLS ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์๋ฒ ์ธ์ฆ๊ณผ ๋ฐ์ดํฐ ์ํธํ๋ฅผ ํตํด ๋ ์์ ํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅํ ํ๋กํ ์ฝ์ด๋ผ๊ณ ํ ์ ์๋ค
SSL (Secure Sockets Layer)๊ณผ TLS (Transport Layer Security)์ ๋คํธ์ํฌ ํต์ ์์ ๋ฐ์ดํฐ์ ๋ณด์ ๋ฐ ๊ธฐ๋ฐ์ฑ์ ์ ๊ณตํ๊ธฐ ์ํ ํ๋กํ ์ฝ์ด๋ค.
๋ค์ค์ผ์ดํ์ ์ํด์ SSL์ด ๋ฐ๋ช ๋์๊ณ , ์ด๊ฒ์ด ์ ์ฐจ ํญ๋๊ฒ ์ฌ์ฉ๋๋ค๊ฐ ํ์คํ ๊ธฐ๊ตฌ์ธ IETF์ ๊ด๋ฆฌ๋ก ๋ณ๊ฒฝ๋๋ฉด์ TLS๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ฐ๋์๋ค(TLS 1.0์ SSL 3.0์ ๊ณ์นํ๋ค). ์ผ๋ฐ์ ์ผ๋ก๋ ๊ตฌ๋ถ์์ด SSL์ด๋ผ ๋งํ๋ค.
ํ๋์ ํค๋ก ์ํธํ์ ๋ณตํธํ๋ฅผ ๋ชจ๋ ์ํํ๋ ๋ฐฉ์
ํค ์ ๋ฌ, ๊ด๋ฆฌ์ ์ด๋ ค์์ด ์๋ค.
๋์งํธ ์๋ช ๊ธฐ๋ฒ ์ ์ฉ ๋ถ๊ฐ
์ํธํ์ ์ฐ์ด๋ ํค ๊ฐ๊ณผ ๋ณตํธํ์ ์ฐ์ด๋ ํค ๊ฐ์ด ๋ค๋ฅธ ๋ฐฉ์
๊ฐ์ธํค๋ก ์ํธํ ํ ์ ๋ณด๋ ๊ทธ ์์ด ๋๋ ๊ณต๊ฐํค๋ก๋ง ๋ณตํธํ๊ฐ ๊ฐ๋ฅํ๊ณ , ๊ณต๊ฐํค๋ก ์ํธํํ ์ ๋ณด๋ ๊ทธ ์์ด ๋๋ ๊ฐ์ธํค๋ก๋ง ๋ณตํธํ๊ฐ ๊ฐ๋ฅ
๊ณต๊ฐํค๊ฐ ์ ์ถ๋๋ค๊ณ ํด๋ ๋น๊ณต๊ฐํค๋ฅผ ๋ชจ๋ฅด๋ฉด ์ ๋ณด๋ฅผ ๋ณตํธํ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์์ ํจ
์ํธํ ๊ณผ์
[๊ณต๊ฐํค๋ก ์ํธํ] -> [๊ฐ์ธํค๋ก ๋ณตํธํ]
๊ณต๊ฐํค๋ก ์ํธํํ ์ ๋ณด๋ ๊ทธ ์์ด ๋๋ ๊ฐ์ธํค๋ก๋ง ๋ณตํธํ๊ฐ ๊ฐ๋ฅ.
์ธ๊ฐํ ์ฌ์ฉ์์ ๊ณต๊ฐํค๋ก ์ํธํ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ก -> ์ธ๊ฐ๋ ์ฌ์ฉ์๋ง ๋ณผ ์ ์์
[๊ฐ์ธํค๋ก ์ํธํ] -> [๊ณต๊ฐํค๋ก ๋ณตํธํ]
๊ฐ์ธํค๋ก ์ํธํ ํ ์ ๋ณด๋ ๊ทธ ์์ด ๋๋ ๊ณต๊ฐํค๋ก๋ง ๋ณตํธํ๊ฐ ๊ฐ๋ฅ.
์์์ ์ํธ๋ฌธ์ด A์ ์ํธ๋ฌธ์ธ์ง ํ์ธํ๋ ค๋ฉด A์ ๊ณต๊ฐํค๋ก ๋ณตํธํ๊ฐ ๊ฐ๋ฅํ์ง ํ์ธ ํ๋ฉด ๋จ
: ์๋ฒ์ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํด์ฃผ๋ ๊ณต์ธ๋ ๊ธฐ๊ด๋ค
SSL์ ํตํด์ ์ํธํ๋ ํต์ ์ ์ ๊ณตํ๋ ค๋ ์๋น์ค๋ CA๋ฅผ ํตํด์ ์ธ์ฆ์๋ฅผ ๊ตฌ์ ํด์ผ ํ๋ค.
์ธ์ฆ์๋ฅผ ๋ฐ๊ธฐ ์ํด CA๋ก ์๋ฒ์ ์ ๋ณด์ ์๋ฒ์ ๊ณต๊ฐ ํค๋ฅผ ์ ๋ฌ
CA์ ๋น๋ฐ ํค๋ก ์ํธํํ์ฌ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ
์๋ฒ๋ ํด๋ผ์ด์ธํธ์๊ฒ ์์ฒญ์ ๋ฐ์ผ๋ฉด, ์ธ์ฆ์๋ฅผ ๋ณด๋ด์ค
๋ธ๋ผ์ฐ์ (ํด๋ผ์ด์ธํธ)๋ CA ๋ฆฌ์คํธ์ CA์ ๊ณต๊ฐ ํค๋ฅผ ๋ด์ฅํ๊ณ ์๊ธฐ ๋๋ฌธ์, ์ธ์ฆ์๋ฅผ ๋ณตํธํํ์ฌ ์๋ฒ์ ์ ๋ณด์ ์๋ฒ์ ๊ณต๊ฐ ํค๋ฅผ ์ป์ ์ ์์ (+ ํด๋น ์๋ฒ๊ฐ ์ ๋ขฐํ ์ ์๋ ์๋ฒ์์ ์๊ฒ ๋จ)
๋์์ ํต์ฌ
์ค์ ๋ฐ์ดํฐ: ๋์นญํค ๋ฐฉ์์ผ๋ก ์ํธํ
ํด๋น ๋์นญํค์ ์ ๋ฌ: ๊ณต๊ฐํค ๋ฐฉ์์ผ๋ก ์ํธํํด์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์ฃผ๊ณ ๋ฐ๋๋ค.
์ปดํจํฐ์ ์ปดํจํฐ๊ฐ ๋คํธ์ํฌ๋ฅผ ํตํด์ ํต์ ์ ํ ๋ ํธ๋์์ดํฌ -> ์ธ์
-> ์ธ์
์ข
๋ฃ
์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
์ํธํ๋ HTTP ๋ฉ์์ง๋ฅผ ๊ตํํ๊ธฐ ์ ์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ SSL ํธ๋์์ดํฌ
๋ฅผ ์งํํ๋ค.
ํด๋ผ์ด์ธํฌ๊ฐ ์๋ฒ์๊ฒ ์ธ์ฌ!
๋๋คํ ๋ฐ์ดํฐ("hi")์ ์ง์ ๊ฐ๋ฅํ ์ํธํ ๋ฐฉ์, ์ธ์
์์ด๋๋ฅผ ์ ๋ฌ
*์ธ์ ์์ด๋ : ์ด๋ฏธ SSL ํธ๋์์ดํน์ ํ๋ค๋ฉด ๋น์ฉ๊ณผ ์๊ฐ์ ์ ์ฝํ๊ธฐ ์ํด์ ๊ธฐ์กด์ ์ธ์ ์ ์ฌํ์ฉํ๊ฒ ๋๋๋ฐ ์ด ๋ ์ฌ์ฉํ ์ฐ๊ฒฐ์ ๋ํ ์๋ณ์๋ฅผ ์๋ฒ ์ธก์ผ๋ก ์ ์กํ๋ค.
์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ์ธ์ฌ!
๋๋คํ ๋ฐ์ดํฐ("hello")์ ์ง์ ๊ฐ๋ฅํ ์ํธํ ๋ฐฉ์, CA์์ ๋ฐ๊ธ๋ฐ์ ์ธ์ฆ์
๋ฅผ ์ ๋ฌ
ํด๋ผ์ด์ธํธ์ ๋ด์ฅ๋ CA์ ๊ณต๊ฐํค๋ฅผ ์ด์ฉํด์ ์ธ์ฆ์๋ฅผ ๋ณตํธํํ์ฌ ์๋ฒ์ ์ ๋ณด์ ์๋ฒ์ ๊ณต๊ฐ ํค๋ฅผ ์ป๋๋ค.
๋ณตํธํ์ ์ฑ๊ณตํ๋ค๋ฉด ์ธ์ฆ์๋ CA์ ๊ฐ์ธํค๋ก ์ํธํ๋ ๋ฌธ์์์ด ์์์ ์ผ๋ก ๋ณด์ฆ๋ ๊ฒ์ด๋ค.
์ฆ, ์ ๋ขฐํ ์ ์๋ ์๋ฒ์์ด ์ฆ๋ช
๋จ
๊ทธ๋ฆฌ๊ณ 1-2 ๊ณผ์ ์์ ๊ตํํ ๋๋ค ๋ฐ์ดํฐ "hi"์ "hello"๋ฅผ ์กฐํฉํ์ฌ pre master secret(์์ ํค)
๋ฅผ ์์ฑํ๋ค.
pre master secret ํค
๋ ์ดํ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ์ํธํ๋ฅผ ์ํด ์ฌ์ฉ ๋ ํค์ด๋ฏ๋ก ์ 3์์๊ฒ ์ ๋ ๋
ธ์ถ๋์ด์๋ ์๋๋ค.
๋๋ฌธ์ ์ด ํค๋ฅผ ๊ณต๊ฐํค ๋ฐฉ์์ผ๋ก ๊ตํํ๋ค.
3๋จ๊ณ์์ ์ป์ ์๋ฒ์ ๊ณต๊ฐํค๋ก pre master secret ํค
๋ฅผ ์ํธํ ํ์ฌ ์ ์กํ๋ค.
์๋ฒ๋ ์์ ์ ๊ฐ์ธํค๋ก ์ํธํ ๋ pre master secret ํค
๋ฅผ ๋ณตํํ ํ์ฌ ํค๋ฅผ ์ป๋๋ค.
์ด๋ก์ ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ๋ชจ๋ ๊ฐ์ ํค๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค.
ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ์ผ๋ จ์ ๊ณผ์ ์ ๊ฑฐ์ณ pre master secret
๊ฐ์ master secret
๊ฐ์ผ๋ก ๋ง๋ ๋ค.
master secret
๋ session key
๋ฅผ ์์ฑํ๋๋ฐ ์ด session key
๊ฐ์ ์ด์ฉํด์ ์๋ฒ์ ํด๋ผ์ด์ธํธ๋ ๋ฐ์ดํฐ๋ฅผ ๋์นญํค ๋ฐฉ์์ผ๋ก ์ํธํ ํ ํ์ ์ฃผ๊ณ ๋ฐ๋๋ค
ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ํธ๋์์ดํฌ ๋จ๊ณ์ ์ข ๋ฃ๋ฅผ ์๋ก์๊ฒ ์๋ฆฐ๋ค.
๊ณต๊ฐ ํค ์ํธํ ๋ฐฉ์์ ๋ณด์์ ํ์คํ์ง๋ง, ๋ณต์กํ ์ฐ์ฐ๊ณผ ๋ง์ ์๊ฐ์ ์๋ชจํ๋ค.
๋ง์ฝ ๊ณต๊ฐํค๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๋ฉด ๋ง์ ์ ์์ด ๋ชฐ๋ฆฌ๋ ์๋ฒ๋ ๋งค์ฐ ํฐ ๋น์ฉ์ ์ง๋ถํด์ผ ํ๋ค.
๋ฐ๋๋ก, ๋์นญํค ์ํธํ ๋ฐฉ์์ ๋์นญํค๋ฅผ ์๋์๊ฒ ์ ์กํด์ผ ํ๋๋ฐ, ์ํธํ๊ฐ ๋์ง ์์ ์ธํฐ๋ท์ ํตํด์ ํค๋ฅผ ์ ์กํ๋ ๊ฒ์ ์ํํ๋ค.
๊ทธ๋์ ์๋๋ ๋๋ฆฌ์ง๋ง ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ๊ณต๊ฐํค ๋ฐฉ์์ผ๋ก ๋์นญํค๋ฅผ ์ํธํํ๊ณ , ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋๋ ๋์นญํค๋ฅผ ์ด์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ด๋ค.
Reference
RAON CTF - WEB Essential
HTTPS (HTTP Secure)
HTTPS์ SSL ์ธ์ฆ์
๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ๋ณด๋ HTTPS, SSL, TLS