SSL/TLS & Certificate Authority(CA)
How can SSL certificates ensure security?
1. Prerequisites ๐ฉโ๐ป
์ผ๋จ URL ์ฃผ์๋ฅผ ์ ๋ ฅํ์ ๋ DNS ์ ์ํด ์ค์ IP ์ฃผ์๋ฅผ ์ป๋ ๊ณผ์ ์ ์๋ตํ๊ณ CA ๋ง ์ง์คํด์ ์ด์ผ๊ธฐํด๋ณด๋๋ก ํ๋ค. ์์ฆ HTTP ๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ดํธ๋ ์๋ค๊ณ ๋ด๋ ๋๋ค. ๊ทธ๋ ๋ค๋ฉด HTTPS ๋ ์ด๋ป๊ฒ HTTP ๋ณด๋ค ์์ ํ ์ ์๋ ๊ฒ์ผ๊น?
HTTP ๋ HTTPS ์ ์ํธํ๋ฅผ ํด์ ์ข๋ค๋๋ฐ ๋ฌด์กฐ๊ฑด ์ํธํ๋ง ํ๋ฉด ๋๋๊ฒ์ผ๊น?
์ฐ์ ๋์นญํค(Symmetric Key) ์ํธํ๋ ์ฌ์ฉํ ์ ์๋ค. ๋ชจ๋๊ฐ ๋์ผํ ํค๋ก ์ํธํ/๋ณตํธํ๋ฅผ ํ๋ค๋ฉด ๊ทธ์ ์๋์ง ๋ญ๋น์ผ ๋ฟ์ด๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋น๋์นญํค(Asymmetric Key) ์ํธํ๋ฅผ ์ฌ์ฉํด์ผํ๋ค. ๊ทธ๋ฌ๋ฉด ๋น๋์นญํค ์ํธํ๋ง ํ๋ฉด ์์ ํ ๊น?
NOโผ๏ธ ์ฌ๊ธฐ์ ๋์น๋ฉด ์ ๋๋ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ด, ์ํธํ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ด์ ์ ์๋๋ฅผ ์ ๋ขฐํ ์ ์๋์ง ์ฌ๋ถ๋ค. ์ ๋ขฐํ ์ ์๋ ์๋์ ๋น๋์นญํค ์ํธํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค๋ฉด, ๋ค๋ฅธ ์ฌ๋๋ค์ ๋ด๊ฐ ๋ณด๋ด๋ ์ ๋ณด๋ฅผ ํ์น ์ ์๊ฒ ์ง๋ง ์ ๋ขฐํ ์ ์๋ ์๋์๊ฒ ์ ๋ณด๋ฅผ ์๋ฐ์ ์ผ๋ก ๋ด ์ ๋ณด๋ฅผ ๋๊ฒจ์ฃผ๊ณ ์๋ ๊ผด์ด ๋๋ ๊ฒ์ด๋ค.
์ด์ ํฌ์คํ ์์ Public Key & Private Key ๊ฐ ํน๋ณํ๊ณ ์ค์ํ ์ด์ ๋ ๋ฐ๋ก ์๋ช (Signature)์ด๋ผ๊ณ ํ๋ค. ์ด ์๋ช ๋์ ์ฐ๋ฆฌ๋ ์๋๋ฅผ ์ ๋ขฐํ ์ ์๋ ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ฉด ์ด๋ป๊ฒ ๊ทธ ์๋ช ์ด ์ฌ๋ฐ๋ฅธ ์๋ฒ๋ผ๋ ๊ฒ์ ํ์ ํ ์ ์์๊น? ์๋ ๊ทธ๋ฆผ์ ๋ณด์.
- ์๋ฒ๊ฐ ์์ ์ ๋น๋์นญํค๋ฅผ ์์ฑ ํ ๊ณต๊ฐํค์ ์๋ฒ์ ์ ๋ณผ๋ฅด ์ธ์ฆ ๊ธฐ๊ด์ ๋ณด๋ธ๋ค.
- ์ธ์ฆ ๊ธฐ๊ด์ด ์์ ์ ๊ฐ์ธํค๋ก ์๋ฒ์ ๊ณต๊ฐํค์ ์ ๋ณด์ ์๋ช ํด ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ ํ ์๋ฒ์ ๋ณด๋ธ๋ค.
์ด๋ ๊ฒ ์ ๋ขฐํ ์ ์๋ ๊ธฐ๊ด์ผ๋ก๋ถํฐ ์๋ฒ๋ ์ธ์ฆ๊ธฐ๊ด์ ๊ฐ์ธํค๋ก ์ํธํ๋ ์ธ์ฆ์๋ฅผ ๊ฐ๊ฒ ๋๊ณ , ๊ฐ ๋ธ๋ผ์ฐ์ ์ ์กฐ์ฌ๋ ์ ๋ขฐํ ์ ์๋ ์ฌ๋ฌ ์ธ์ฆ ๊ธฐ๊ด์ด ๋ฐฐํฌํ ๊ณต๊ฐํค๋ฅผ ๋ธ๋ผ์ฐ์ ์ ํฌํจ์ํจ๋ค.
์ฌ๊ธฐ๊น์ง๊ฐ ์ฐ๋ฆฌ๊ฐ ์ด๋ค ์ฌ์ดํธ์ ์ ์ํ๊ธฐ ์ ์ ์๋ฃ๋์ด ์๋ ๊ฒ์ด๋ค.
2. When I Connect the Site ๐ฉโ๐ป
์ด์ ์ฐ๋ฆฌ๊ฐ ์๋ฒ์ ์ ์ํ ์ฐจ๋ก๋ค. ์ฐ๋ฆฌ๊ฐ HTTPS ๋ฅผ ํตํด ์ด๋ป๊ฒ ์๋ฒ๋ฅผ ์ ๋ขฐํ ์ ์๋์ง ๊ทธ๋ฆผ์ ํตํด ์์๋ณด์.
- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ ์ ์์ฒญ์ ๋ณด๋ธ๋ค.
- ์๋ฒ๋ ์ธ์ฆ๊ธฐ๊ด์ด ๋ฐ๊ธํ ์ธ์ฆ์๋ฅผ ํด๋ผ์ด์ธํธ์ ๋ณด๋ธ๋ค.
- ํด๋ผ์ด์ธํธ๋ ๋ธ๋ผ์ฐ์ ์ ๋ด์ฅ๋ ๊ณต๊ฐํค๋ก ์ธ์ฆ์๋ฅผ ๋ณตํธํ ํ๋ค. ์ด๋ ๊ฒ ์ ์์ธ์ฆ์ ํตํด ์ฐ๋ฆฌ๋ ์๋ฒ์ ์ ๋ณด์ ๊ณต๊ฐํค๋ฅผ ํ๋ํ๋ค. ์ธ์ฆ๊ธฐ๊ด์ ๊ณต๊ฐํค๋ก ๋ณตํธํ๊ฐ ๊ฐ๋ฅํ๋ค๋ฉด ์ ๋ขฐํ ์ ์๋ ์๋ฒ์์ด ์ฆ๋ช ๋๋ค.
- ํด๋ผ์ด์ธํธ๋ ์ธ์ฆ์์์ ํ๋ํ ์๋ฒ์ ๊ณต๊ฐํค๋ก ์์ ์ ๋์นญํค๋ฅผ ์ํธํ ์์ผ ์๋ฒ์ ์์ ํ๊ฒ ์ ์กํ๋ค.
- ์๋ฒ๋ ์์ ์ ๊ฐ์ธํค๋ก ๋ณตํธํ ํด ํด๋ผ์ด์ธํธ์ ๋์นญํค๋ฅผ ํ๋ํ๋ค.
- ์ด์ ๋์นญํค๋ฅผ ์ ์ผํ๊ฒ ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ง ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก ๋์ ์์ ํ๊ณ ๋น ๋ฅด๊ฒ ํต์ ์ ํ๋ค.
์ฆ, ์ฐ๋ฆฌ๊ฐ HTTPS ๋ฅผ ์ ๋ขฐํ ์ ์๋ ์ด์ ๋ Public Key & Private Key ์ ์๋ช (Signature) ๊ธฐ๋ฅ๊ณผ ์ ๋ขฐํ ์ ์๋ ์ธ์ฆ ๊ธฐ๊ด๊ณผ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ฐํ์ผ๋ก ์ด๋ฃจ์ด์ง๋ค.
3. Certificate Authority ๐ฉโ๐ป
์ ๋ขฐํ ์ ์๋ ์ธ์ฆ์ ๋ฐ๊ธ ๊ธฐ๊ด์ ์ฌ๋ฌ ๊ณณ์ด ์กด์ฌํ๋ ๋ฐ, ๋๋ถ๋ถ ์ ๋ฃ๋ก ์ด์๋๋ค.
- IdenTrust (์์ด๋ดํธ๋ฌ์คํธ)
- Symantec (์๋งํ )
- GoDaddy (๊ณ ๋ฐ๋)
- Comodo (์ฝ๋ชจ๋)
- GlobalSign (๋ธ๋ก๋ฒ์ฌ์ธ)
- DigiCert (๋์ง์ํธ)
- Verisign (๋ฒ ๋ฆฌ์ฌ์ธ)
HTTPS ์ ๋ณด๊ธ์ ๋์ด๊ธฐ ์ํด ์ ๊ณต๋๋ Letโs Encrypt ๋ ๋ฌด๋ฃ๋ก ์ ๊ณต๋๋ค. ๊ธฐ๊ฐ์ ์งง์ง๋ง ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฐฑ์ ์ด ๊ฐ๋ฅํด ๊ฐ์ธ ์๋ฒ๋ NAS ์ ๊ฐ์ ๊ณณ์ ๋ฌด๋ฃ๋ก ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ ๋ฐ์ ์ค์นํ ์ ์๋ค.