๋ถ๋ฅ:์ปดํจํฐ ๋ณด์
์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
1. ๊ฐ์[ํธ์ง]
HSTS(HTTP Strict Transport Security)๋ HTTPS์ ๋ณด์กฐํ๋ ์ ์ฑ
์ค ํ๋๋ก์, ์ผ์ ๊ธฐ๊ฐ ๋์ ์ด์ฉ์์ ๋ณด์(HTTPS) ์ ์์ ๊ฐ์ ํ ์ ์๋ค.
2. ์ค๋ช [ํธ์ง]
์ปดํจํฐ ๋ณด์์์ ๋ณด์์ ์(HTTPS)์ ์ ์ฉํ ์น ๊ธฐ๋ฐ ์์คํ
์ด ํญ์ ๋ณด์์ ์์ ์ ์งํ ์ ์๋์ง๋ ์ธ์ ๋ ์ด์ ์ฌํญ์ด๋ค. ์ด ์ด์ ์ฌํญ์ ํด๊ฒฐํ๊ธฐ ์ํด์ ๊ฐ๋ฐ ๊ณผ์ ์์ ํ๋กํ ์ฝ(์ผ๋ฐ HTTP์ธ์ง HTTPS์ธ์ง)์ ๋งค๋ฒ ํ์ธํ๊ฑฐ๋, ๋ณด์์ ์์ ์ด์ฉํ๋ ์ฌ์ฉ์๊ฐ ์๋๋ฉด ์ ๊ทผ์ ๋ถ๊ฐ๋ฅํ๊ฒ ํ๊ฑฐ๋, ์์กฐ๋ ์ธ์ฆ์ ํน์ ์ด์ ์ ์ฌํ ๋ถ์ ํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ๋ฑ์ ๊ฒฝ์ฐ๋ฅผ ๋ชจ๋ ํ์ธ[1]ํด์ผ ํ๋๋ฐ, ์๋น์ค๋ฅผ ์ด์ํจ์ ์์ด์ ํ์ค์ ์ผ๋ก๋ ๋ถ๊ฐ๋ฅํ๋ค.
๊ทธ๋์ ๋์จ ๊ฐ๋ ์ค ํ๋๊ฐ HSTS์ด๋ค. HSTS๋ ์ผ์ ๊ธฐ๊ฐ ๋์ ์์ ํน์ ๋๋ฉ์ธ์ HTTPS ์ ์์ ๊ฐ์ ํ ์ ์์ด, ๋ง์ฝ ํ์ด์ง ์ด๋ ์ค ์ผ๋ฐ HTTP ์ ์์ด ์๋๋ ๊ฒฝ์ฐ ๊ฐ์ ๋ก HTTPS๋ก ํ๋กํ ์ฝ์ ๋ณ๊ฒฝ์ํจ๋ค.[2] ํ์คํ๋ ์ ์ฐจ์ด๊ธฐ ๋๋ฌธ์ ๋ค์ํ ์น ๋ธ๋ผ์ฐ์ ์ ๋๋ฐ์ด์ค์ ํธํ๋๋ค. (Microsoft Edge, ์ธํฐ๋ท ์ต์คํ๋ก๋ฌ, ํฌ๋กฌ, ํ์ด์ดํญ์ค, ์ฌํ๋ฆฌ, ์คํ๋ผ, ๊ทธ ์ธ ๋ชจ๋ฐ์ผ ์น ๋ธ๋ผ์ฐ์ ๋ฑ)
๊ตฌ๊ธ ํฌ๋กฌ์ด ์ฃผ๋ํ๋ HSTS Preload List์ ์ฌ์ดํธ๋ฅผ ๋ฑ๋กํ๋ฉด ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํธ ์ดํ ํด๋น ๋๋ฉ์ธ์ ๋ฐ์๊ตฌ์ ์ผ๋ก ๋ฌด์กฐ๊ฑด HTTPS๋ก ์ฐ๊ฒฐ๋๋ค. ํฌ๋กฌ ๋ฟ๋ง ์๋๋ผ ์ฃ์ง, ์ฌํ๋ฆฌ, ํ์ด์ดํญ์ค ๋ฑ ๋ค์ํ ๋ธ๋ผ์ฐ์ ๋ ์ด๋ฅผ ์ง์ํ๋ฉฐ ๋์ผํ DB๋ฅผ ์ฌ์ฉํ๋ค. ํด๋น ์ฌ์ดํธ์ ๋๋ฉ์ธ์ ์ ๋ ฅํ๋ฉด ์ฌ์ดํธ๊ฐ Preload List์ ๋ฑ๋ก๋์ด ์๋์ง, ๋๋ ๋ฑ๋ก์ด ๊ฐ๋ฅํ ์ํ์ธ์ง ์ ์ ์๋ค. ์ฐ์ ํด๋น ๋ฆฌ์คํธ์ ์ฌ์ดํธ๊ฐ ๋ฑ๋ก๋๋ฉด ์ดํ ์ ๋ฐ์ดํธ๋๋ ๋ธ๋ผ์ฐ์ ๋ ๋ฑ๋ก๋ ๋๋ฉ์ธ์ ๋ฌด์กฐ๊ฑด์ ์ผ๋ก HTTPS๋ก ์ฐ๊ฒฐํ๋ฉฐ, HTTPS๊ฐ ์ง์๋์ง ์๋ ๊ฒฝ์ฐ ์ฐ๊ฒฐ ์์ฒด๊ฐ ๋ถ๊ฐํ๊ฒ ๋๋ค.[3] ๋ง์ผ ๋ฆฌ์คํธ์์ ๋๋ฉ์ธ ์ญ์ ๋ฅผ ์ ์ฒญํ๋๋ผ๋ ๋ฐ์๋๊ธฐ๊น์ง ๋ง์ฐฌ๊ฐ์ง๋ก ๋ธ๋ผ์ฐ์ ์ ์ ๋ฐ์ดํธ ์ฃผ๊ธฐ๋ฅผ ๋ฐ๋ฅด๋ฏ๋ก ์ ์ด๋ถํฐ ์ ์คํ๊ฒ ๋ฑ๋กํด์ผ ํ๋ค. ์ฅ๊ธฐ์ ์ผ๋ก ์ฌ์ดํธ์ ํ์ ๋๋ฉ์ธ์ ํฌํจํ ๋ชจ๋ ํ์ด์ง์ HTTPS๋ฅผ ์ง์ํ ์ ์๋ค๋ ๋ณด์ฅ์ด ์๋ ํ ๋ฑ๋กํด์ ์ ๋๋ค.
๊ทธ๋์ ๋์จ ๊ฐ๋ ์ค ํ๋๊ฐ HSTS์ด๋ค. HSTS๋ ์ผ์ ๊ธฐ๊ฐ ๋์ ์์ ํน์ ๋๋ฉ์ธ์ HTTPS ์ ์์ ๊ฐ์ ํ ์ ์์ด, ๋ง์ฝ ํ์ด์ง ์ด๋ ์ค ์ผ๋ฐ HTTP ์ ์์ด ์๋๋ ๊ฒฝ์ฐ ๊ฐ์ ๋ก HTTPS๋ก ํ๋กํ ์ฝ์ ๋ณ๊ฒฝ์ํจ๋ค.[2] ํ์คํ๋ ์ ์ฐจ์ด๊ธฐ ๋๋ฌธ์ ๋ค์ํ ์น ๋ธ๋ผ์ฐ์ ์ ๋๋ฐ์ด์ค์ ํธํ๋๋ค. (Microsoft Edge, ์ธํฐ๋ท ์ต์คํ๋ก๋ฌ, ํฌ๋กฌ, ํ์ด์ดํญ์ค, ์ฌํ๋ฆฌ, ์คํ๋ผ, ๊ทธ ์ธ ๋ชจ๋ฐ์ผ ์น ๋ธ๋ผ์ฐ์ ๋ฑ)
๊ตฌ๊ธ ํฌ๋กฌ์ด ์ฃผ๋ํ๋ HSTS Preload List์ ์ฌ์ดํธ๋ฅผ ๋ฑ๋กํ๋ฉด ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํธ ์ดํ ํด๋น ๋๋ฉ์ธ์ ๋ฐ์๊ตฌ์ ์ผ๋ก ๋ฌด์กฐ๊ฑด HTTPS๋ก ์ฐ๊ฒฐ๋๋ค. ํฌ๋กฌ ๋ฟ๋ง ์๋๋ผ ์ฃ์ง, ์ฌํ๋ฆฌ, ํ์ด์ดํญ์ค ๋ฑ ๋ค์ํ ๋ธ๋ผ์ฐ์ ๋ ์ด๋ฅผ ์ง์ํ๋ฉฐ ๋์ผํ DB๋ฅผ ์ฌ์ฉํ๋ค. ํด๋น ์ฌ์ดํธ์ ๋๋ฉ์ธ์ ์ ๋ ฅํ๋ฉด ์ฌ์ดํธ๊ฐ Preload List์ ๋ฑ๋ก๋์ด ์๋์ง, ๋๋ ๋ฑ๋ก์ด ๊ฐ๋ฅํ ์ํ์ธ์ง ์ ์ ์๋ค. ์ฐ์ ํด๋น ๋ฆฌ์คํธ์ ์ฌ์ดํธ๊ฐ ๋ฑ๋ก๋๋ฉด ์ดํ ์ ๋ฐ์ดํธ๋๋ ๋ธ๋ผ์ฐ์ ๋ ๋ฑ๋ก๋ ๋๋ฉ์ธ์ ๋ฌด์กฐ๊ฑด์ ์ผ๋ก HTTPS๋ก ์ฐ๊ฒฐํ๋ฉฐ, HTTPS๊ฐ ์ง์๋์ง ์๋ ๊ฒฝ์ฐ ์ฐ๊ฒฐ ์์ฒด๊ฐ ๋ถ๊ฐํ๊ฒ ๋๋ค.[3] ๋ง์ผ ๋ฆฌ์คํธ์์ ๋๋ฉ์ธ ์ญ์ ๋ฅผ ์ ์ฒญํ๋๋ผ๋ ๋ฐ์๋๊ธฐ๊น์ง ๋ง์ฐฌ๊ฐ์ง๋ก ๋ธ๋ผ์ฐ์ ์ ์ ๋ฐ์ดํธ ์ฃผ๊ธฐ๋ฅผ ๋ฐ๋ฅด๋ฏ๋ก ์ ์ด๋ถํฐ ์ ์คํ๊ฒ ๋ฑ๋กํด์ผ ํ๋ค. ์ฅ๊ธฐ์ ์ผ๋ก ์ฌ์ดํธ์ ํ์ ๋๋ฉ์ธ์ ํฌํจํ ๋ชจ๋ ํ์ด์ง์ HTTPS๋ฅผ ์ง์ํ ์ ์๋ค๋ ๋ณด์ฅ์ด ์๋ ํ ๋ฑ๋กํด์ ์ ๋๋ค.
3. ์ํผ ์ฟ ํค[ํธ์ง]
HSTS๋ ๋ณด์ ํฅ์์ ์ํด ๋์จ ๊ฐ๋
์ด์ง๋ง, HSTS๋ฅผ ์ด์ฉํ '์ํผ ์ฟ ํค' ๊ฐ๋
์ด ์๋ ค์ง๋ฉด์ ๋
ผ๋์ด ๋์๋ ์ ์ด ์๋ค. ํน์ ๋๋ฉ์ธ์ HTTPS ์ ์์ ๊ฐ์ ํ๊ธฐ ์ํด ์ด๋๊ฐ์ ๋๋ฉ์ธ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๋ ํ์๊ฐ, ์ด์ฉ์์ ๋ฐฉ๋ฌธ ์น ์ฌ์ดํธ ์ถ์ ๋๊ตฌ๋ก ์
์ฉ๋ ์ํ์ฑ์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ค์ ๋ก, PC์ฉ ๋ธ๋ผ์ฐ์ ์ ๊ฒฝ์ฐ ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋ ๋ชจ๋ ์บ์ ํ์ผ์ ์ง์์ผ๋ง ์ค์ ์ด ์ด๊ธฐํ๋๊ณ , PC๊ฐ ์๋ ์๋ฒ ๋๋์ฉ ๋ธ๋ผ์ฐ์ ์ ๊ฒฝ์ฐ ์์ ์ง์ฐ๋ ๋ฐฉ๋ฒ์ด ์ ๊ณต๋์ง ์์ ์๋ ์๋ค.
์ด์ฉ์๊ฐ ์ ๋ง ์ธ์ฌํ ์ ๊ฒฝ ์จ์ ์ง์ฐ์ง ์๋ ํ ์์ํ ๋จ์์์ ์๋ ์๋ ํน์ฑ ๋๋ฌธ์, HSTS์ ์ํด ๊ตฌ์์ง๋ ์ผ๋ช `์ํผ ์ฟ ํค`๋ ๊ตฌ๊ธ, ์ ํ, MS, ๋ชจ์ง๋ผ ๋ฑ์ ๋ชจ๋ ์น ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ฌ๊ฐ ๋ฒ์ ๋ฉด์ฑ ์กฐํญ์ ์ถ๊ฐํ ์ ๋์ด๋ค. ์ค์ ๋ก HSTS๊ณผ ์ฐ๊ด๋์ด ์๋ ์น ๋ธ๋ผ์ฐ์ ์ ๋ณด์ ์ทจ์ฝ์ ์ด๋ ์ํํธ์จ์ด ๋ฒ๊ทธ๋ฅผ ๋ฆฌํฌํ ํ๋ฉด, ๋ณด๊ณ ๋ด์ฉ ์์ฒด์ ๋ํ ์๊ฒฌ๋ณด๋ค ์ด์ฉ ์ฝ๊ด์ ๋ช ์๋ ๋ฉด์ฑ ์กฐํญ์ด ๋ต์ผ๋ก ๋์์ฌ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
์ด์ ์ ์ฌํ ๊ฐ๋ ์ ์์ด HSTS๊ฐ ๋๋ฉ์ธ ๋ฒ์ ์ด๋ผ๋ฉด ์ธ์ฆ์ ๋ฒ์ ์ผ๋ก๋ HPKP๊ฐ ์๋๋ฐ, HPKP ์ญ์ HSTS์ ์ฃผ์ ์ฐ๋ ค ์ฌํญ์ ๊ทธ๋๋ก ๊ฐ์ง๊ณ ์๋ค.
๋ค๋ง 1์ 26์ผ ๋ชจ์ง๋ผ ํ์ด์ดํญ์ค์์ ์ํผ ์ฟ ํค๋ฅผ ํตํ ์ถ์ ์ ๋ฐฉ์งํ๋ ์ ๋ฐ์ดํธ๋ฅผ ์ ์ฉํ์๋ค.
์ด์ฉ์๊ฐ ์ ๋ง ์ธ์ฌํ ์ ๊ฒฝ ์จ์ ์ง์ฐ์ง ์๋ ํ ์์ํ ๋จ์์์ ์๋ ์๋ ํน์ฑ ๋๋ฌธ์, HSTS์ ์ํด ๊ตฌ์์ง๋ ์ผ๋ช `์ํผ ์ฟ ํค`๋ ๊ตฌ๊ธ, ์ ํ, MS, ๋ชจ์ง๋ผ ๋ฑ์ ๋ชจ๋ ์น ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ฌ๊ฐ ๋ฒ์ ๋ฉด์ฑ ์กฐํญ์ ์ถ๊ฐํ ์ ๋์ด๋ค. ์ค์ ๋ก HSTS๊ณผ ์ฐ๊ด๋์ด ์๋ ์น ๋ธ๋ผ์ฐ์ ์ ๋ณด์ ์ทจ์ฝ์ ์ด๋ ์ํํธ์จ์ด ๋ฒ๊ทธ๋ฅผ ๋ฆฌํฌํ ํ๋ฉด, ๋ณด๊ณ ๋ด์ฉ ์์ฒด์ ๋ํ ์๊ฒฌ๋ณด๋ค ์ด์ฉ ์ฝ๊ด์ ๋ช ์๋ ๋ฉด์ฑ ์กฐํญ์ด ๋ต์ผ๋ก ๋์์ฌ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
์ด์ ์ ์ฌํ ๊ฐ๋ ์ ์์ด HSTS๊ฐ ๋๋ฉ์ธ ๋ฒ์ ์ด๋ผ๋ฉด ์ธ์ฆ์ ๋ฒ์ ์ผ๋ก๋ HPKP๊ฐ ์๋๋ฐ, HPKP ์ญ์ HSTS์ ์ฃผ์ ์ฐ๋ ค ์ฌํญ์ ๊ทธ๋๋ก ๊ฐ์ง๊ณ ์๋ค.
๋ค๋ง 1์ 26์ผ ๋ชจ์ง๋ผ ํ์ด์ดํญ์ค์์ ์ํผ ์ฟ ํค๋ฅผ ํตํ ์ถ์ ์ ๋ฐฉ์งํ๋ ์ ๋ฐ์ดํธ๋ฅผ ์ ์ฉํ์๋ค.
[1] HTTPS ์ ์ ์ ํน์ ์ธ์ฆ์๋ง ์ฌ์ฉํ๋๋ก ๊ฐ์ ํ ์๋ ์๋ค. ๊ด๋ จ ๊ฐ๋
์ผ๋ก HPKP(HTTP Public Key Pinning)๊ฐ ์๋ค.
[2] ์ด๋ HTTP ์๋ต์ฝ๋ 302๋ฅผ ์ด์ฉํ ํ์ด์ง ์ด๋(๋ฆฌ๋ค์ด๋ ์
)์ด ์ผ์ด๋๋ค.
[3] ์ธ์ฆ์๊ฐ ๋ง๋ฃ๋๋ ๋ฑ์ ์ํฉ์์๋ HSTS ๋ฏธ์ ์ฉ ์ฌ์ดํธ๋ ์์ธ ์ต์
์ผ๋ก ์ฌ์ดํธ๋ฅผ ์ ์ํ ์ ์๋ ๊ฒฝ๋ก๋ผ๋ ์์ง๋ง, HSTS๊ฐ ์ ์ฉ๋ ์ฌ์ดํธ๋ ์์ธ ์ต์
์กฐ์ฐจ ์ฃผ์ด์ง์ง ์๋๋ค. ์ฆ HTTPS๊ฐ ์๋๋ฉด ์ ์์ด ๋ถ๊ฐํ๊ฒ ๋๋ค๋ ์๋ฏธ์ด๋ค.