HTTPS ์ด๋? (Hyper Text Transfer Protocol Secure Socket layer )
HTTP ํ๋กํ ์ฝ ๋ด์ฉ์ ์ํธํ (HTTP + Secure)
HTTP over SSL(TLS), HTTP over Secure๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
HTTPS๋ HTTP ์์ฒญ์ SSL ํน์ TLS๋ผ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํด, HTTP ํต์ ์ ํ๋ ๊ณผ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ์ ์กํ๋ ๋ฐฉ๋ฒ์ด๋ค.
HTTPS ํน์ง
- ์ธ์ฆ์ (certificate)
- ๋ฐ์ดํฐ ์ ๊ณต์ ์ ์ ๋ณด์ฅ = ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ ์๋ฒ๊ฐ ์ ๋ง๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด์ค ์๋ฒ์ธ์ง ์ธ์ฆ, ํ์ธํ๋ ์ฉ๋์ด๋ค.
- ๋๋ฉ์ธ ์ข ์ = ์ธ์ฆ์ ๋ด์ฉ์ ์๋ฒ์ ๋๋ฉ์ธ ๊ด๋ จ ์ ๋ณด๊ฐ ์์ด์ ๋ฐ์ดํฐ ์ ๊ณต์์ ์ธ์ฆ์ ์ฉ์ดํ๊ฒ ํ๋ค. ์ธ์ฆ์์ ๋๋ฉ์ธ๊ณผ ์๋ต๊ฐ์ฒด์ ๋๋ฉ์ธ์ ๋น๊ตํ ์ ์๋ค.
- CA (certificate authority = ๊ณต์ธ ์ธ์ฆ์ ๋ฐ๊ธ ๊ธฐ๊ด)
์ธ์ฆ์๋ฅผ ๋ฐ๊ธํ๋ ๊ณต์ธ๋ ๊ธฐ๊ด์ด๋ฉฐ, ๊ฐ ๋ธ๋ผ์ฐ์ ๋ ๊ฐ์ ์ ๋ขฐํ๋ CA ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ๊ทธ๋์ ๊ฐ ๋ธ๋ผ์ฐ์ ๋ ์ธ์ฆ์์ ์ฐจ์ด๊ฐ ์๋ค.
๋ํ CA๋ ์๊ฒฉ์ ๊ณ์ ์ ์งํ๋ ๊ฒ ์๋๊ณ ์๊ฒฉ์ ๋ฐํ ๋นํ ์ ์๋ค.
- ๋น๋์นญ ํค ์ํธํ
๋ค๋ฅธ ํค ํ์์ผ๋ก ์ํธํ์ ๋ณตํธํ๋ฅผ ํ ์ ์๋ค.
์๋ฅผ๋ค์ด, Aํค๋ก ํน์ ๋ฐ์ดํฐ๋ฅผ ์ํธํ ํ๋ค๋ฉด, ํด๋น ๋ฐ์ดํฐ๋ฅผ ๋ณตํธํํ๋๋ฐ Aํค์ ํ์์ธ Bํค๋ก๋ง ๋ณตํธํ๊ฐ ๊ฐ๋ฅํ๋ค.
๊ทธ๋์ ํค ์ค์์ ํ๋๋ ๋น๋ฐ๋ก ์จ๊ฒจ๋๊ณ , ๋ค๋ฅธ ํ๋๋ ํด๋ผ์ด์ธํธ์ ๊ณต๊ฐ๋ฅผ ํด์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ ์กํ ์ ์๊ฒ ํ๋ค.
๋ค๋ง ๋ชจ๋ ํต์ ์ ๋ํด์ ๊ณต๊ฐํค ๋ฐฉ์์ ์ฌ์ฉํ๋ ๊ฒ์ ์๋๋ค! ํต์ ์ ์ด์ฐฝ๊ธฐ์ ๋น๋ฐํค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ํค๋ฅผ ๋ง๋ค์ด๋ด๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค.
ํต์ ๊ณผ์
Hand Shake : ์๋ก๋ฅผ ํ์ธํ๊ณ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ๊ณต๊ฐํค ํ์์ ํค ์ค ํ๋๋ฅผ ์ ๋ฌํ๋ค.
๋น๋ฐ ํค ์์ฑ : ํด๋ผ์ด์ธํธ๋ ์ ๋ฌ๋ฐ์ ํค๋ฅผ ์ด์ฉํด์ ์๋ฒ์ ํค๋ฅผ ๋ง๋ค์ด๋ผ ์์์ ์ ๋ณด๋ฅผ ์ํธํํด์ ์ ์กํ๋ค. ์ด์ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์์์ ์ ๋ณด๋ฅผ ์ํธํํด์ ์ ์กํ๋ค. ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ์๋ก ๋ง๋ค๊ณ ๊ตํํ ์์์ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ๋น๋ฐํค๋ฅผ ์์ฑํ๊ฒ ๋๋ค.
์ํธ ํค ๊ฒ์ฆ : ๊ทธ๋ฆฌ๊ณ ๊ฐ์ ์์ฑํ ํค๋ฅผ ๋ฐํ์ผ๋ก ํด๋ผ์ด์ธํธ๊ฐ ํ ์คํธ์ฉ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค์ด๋ธ ๋น๋ฐํค๋ก ๋ฉ์ธ์ง๋ฅผ ์ํธํ๋ฅผ ํด์ ์ ๋ฌํ๋ค. ์๋ฒ ์ญ์ ๋ง๋ค์ด์ง ๋น๋ฐํค๋ก ๋ณตํธํ๋ฅผ ํ๊ณ , ๋ค์ ์ํธํ๋ฅผ ํด์ ํด๋ผ์ด์ธํธ๋ก ์ ๋ฌํ๋ค. ๋ง์ฝ ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ์ ๋ด์ฉ์ ๋ฐ์ดํฐ๋ฅผ ๋ณตํธํํ๋๋ฐ ์ฑ๊ณตํ๋ค๋ฉด, ์ฑ๊ณต์ ์ผ๋ก ๋น๋ฐํค๊ฐ ๋ง๋ค์ด์ง ์ํ์ด๋ค. ๋ํ HTTPS ์ฐ๊ฒฐ์ด ์ฑ๋ฆฝ๋ ์ํ์ด๋ค.
์ดํ, ์ด ๋น๋ฐํค๋ฅผ ๋ฐํ์ผ๋ก ๋ฐ์ดํฐ ์ก,์์ ์ ํ์ํ ๋์ผ ํค ์ํธํ ๋ฐ ๋ณตํธํ๋ฅผ ์งํํ๋ค.
HTTPS ๋ชฉ์
์ํธํ = ์ 3์๊ฐ ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ์ฃผ๊ณ ๋ฐ๋ ์ ๋ณด๋ฅผ ํ์ทจํ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ค.
์๋ฒ์ ํด๋ผ์ด์ธํธ๋ ์๋ก ํฉ์ํ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ํธํํด์ ์ฃผ๊ณ ๋ฐ๋๋ค. ๊ทธ๋์ ์ค๊ฐ์ ์ 3์๊ฐ ํ์ทจํด๋ ๊ทธ ๋ด์ฉ์ ์์๋ณด์ง ๋ชปํ๋ค.
๋ด์ฉ์ด ์ํธํ๋์ด ์ ์ก๋๊ธฐ ๋๋ฌธ์ ์ ํํ ํค๋ก ๋ณตํธํํ๊ธฐ ์ ๊น์ง๋ ์ด๋ค ๋ด์ฉ์ธ์ง ์ ์ ์๋ค.
HTTPS๋ ๋์นญํค์ ๋น๋์นญํค ๋ฐฉ์์ ์ด์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๋ค.
1. ๋น๋์นญํค ๋ฐฉ์ = ๊ฐ๊ฐ ๊ณต๊ฐํค์ ๋น๋ฐํค๋ฅผ ๊ฐ์ง๊ณ ์๋๊ฐ ๋์ ๊ณต๊ฐํค๋ก ์ํธํํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ธ์ด ๊ฐ์ง ๋น๋ฐํค๋ก ๋ณตํธํํ๋ ๊ฒ
2. ๋์นญํค ๋ฐฉ์ = ์์ชฝ์ด ๊ณตํต์ ๋น๋ฐ ํค๋ฅผ ๊ณต์ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ํธํ ๋ฐ ๋ณตํธํํ๋ ๊ฒ
์ธ์ฆ์ = ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ์ ์๋ต๊ณผ ํจ๊ป ์ ๋ฌ๋ ์ธ์ฆ์๋ฅผ ํ์ธํ ์ ์๋ค.
์ฌ๊ธฐ์ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํด์ฃผ๋ ๊ณต์ธ๋ ๊ธฐ๊ด์ Certificate Authority, CA๋ผ๊ณ ๋ถ๋ฅธ๋ค. CA๋ ์๋ฒ์ ๊ณต๊ฐํค์ ์ ๋ณด๋ฅผ CA์ ๋น๋ฐํค๋ก ์ํธํํ์ฌ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํ๋ค.
์ธ์ฆ์๊ฐ CA์ ๋น๋ฐํค๋ก ์ํธํ๋์ด ์๊ธฐ ๋๋ฌธ์ CA์ ๊ฐ์ธํค๋ก ๋ณตํธํ ๊ฐ๋ฅํ๋ค.
๋ฐ๋ผ์ ํด๋น CA์์ ๋ฐ๊ธํ ์ธ์ฆ์๋ผ๋ ๊ฒ์ ๋ณด์ฆํ ์ ์๋ค.
ํ์ธ ๊ณผ์
์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ CA์์ ๋ฐ๊ธ๋ฐ์ ์ธ์ฆ์๋ฅผ ์ ๋ฌํ๋ฉด ํด๋ผ์ด์ธํธ๋ OS ๋๋ ๋ธ๋ผ์ฐ์ ์ ๋ฏธ๋ฆฌ ๋ด์ฅ๋์ด ์๋ CA ๋ฆฌ์คํธ๋ฅผ ํตํด ๋ธ๋ผ์ฐ์ ์์ ์ธ์ฆ๋ CA์์ ๋ฐ๊ธ๋ฐ์ ์ธ์ฆ์์ธ์ง ๋จผ์ ํ์ธํ๋ค.
๋ง์ฝ ์ธ์ฆ๋ CA์์ ๋ฐ๊ธํ ์ธ์ฆ์๊ฐ ์๋๋ผ๋ฉด ์๋์ ๊ฐ์ด ํ๋ฉด์ ๊ฒฝ๊ณ ์ฐฝ์ ๋์ ์๋ฒ์ ์ฐ๊ฒฐ์ด ์์ ํ์ง ์๋ค๋ ํ๋ฉด์ ๋ณด์ฌ์ค๋ค.
๋ง์ฝ ์ธ์ฆ์๊ฐ ํ์ธ๋์๋ค๋ฉด ๋ธ๋ผ์ฐ์ ์ ์ ๊ณต๋ ํด๋น CA ๊ธฐ๊ด์ ๊ณต๊ฐํค๋ก ์๋ฒ ์ธ์ฆ์๋ฅผ ๋ณตํธํํ๋ค.
๋ณตํธํํด ์ป์ ๊ณต๊ฐํค๋ก ํด๋ผ์ด์ธํธ๋ ์๋ฒ๋ฅผ ๋ฏฟ์๋งํ ๋์์ธ ์ง ์ ๋ขฐํ ์ ์๋ค. (๋ง์ฝ ์ธ์ฆ์๊ฐ ์์กฐ๋์๋ค๋ฉด CA์ ๊ณต๊ฐํค๋ก ์๋ฒ์ ์ธ์ฆ์๋ฅผ ๋ณตํธํํ ์ ์์ํ ๋๊น!)
์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ์ CA๋ฅผ ํตํด ์๋ฒ๋ฅผ ์ธ์ฆํ๋ ๊ณผ์ ๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๋ ๊ณผ์ ์ ์์ฐ๋ฅธ ํ๋กํ ์ฝ์ TLS ๋๋ SSL์ด๋ผ๊ณ ํ๋ค. (*SSL๊ณผ TLS๋ ์ฌ์ค์ ๋์ผํ ๊ท์ฝ์ ๋ปํ๋ฉฐ SSL์ด ํ์คํ๋๋ฉฐ ๋ฐ๋ ์ด๋ฆ์ด TLS)