ํ๋ก ํธ์๋ ์ ๋ขฐ ํ ํฐ ๋ฐ๊ธ์ ๋ณต์กํ ์ธ๊ณ๋ฅผ ํํํด ๋ณด์ธ์. ์ด ํฌ๊ด์ ์ธ ๊ฐ์ด๋๋ ๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ์ํ ํ ํฐ ์์ฑ ๋ฉ์ปค๋์ฆ, ๋ฐฐํฌ ์ ๋ต ๋ฐ ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ฌ๋ ์๊ฒ ๋ค๋ฃน๋๋ค.
ํ๋ก ํธ์๋ ์ ๋ขฐ ํ ํฐ ๋ฐ๊ธ: ํ ํฐ ์์ฑ ๋ฐ ๋ฐฐํฌ์ ๋ํ ๊ธ๋ก๋ฒ ์ฌ์ธต ๋ถ์
์ค๋๋ ์ํธ ์ฐ๊ฒฐ๋ ๋์งํธ ํ๊ฒฝ์์ ๋ฆฌ์์ค์ ๋ํ ์์ ํ๊ณ ํจ์จ์ ์ธ ์ ๊ทผ์ ๋ณด์ฅํ๋ ๊ฒ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ํ๋ก ํธ์๋ ์ ๋ขฐ ํ ํฐ์ ํ๋ ์น ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์ ์ํคํ ์ฒ์ ํต์ฌ ๊ตฌ์ฑ ์์๋ก ๋ถ์ํ์ต๋๋ค. ์ด ํ ํฐ์ ๋์งํธ ์๊ฒฉ ์ฆ๋ช ์ญํ ์ ํ์ฌ, ์์คํ ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ก ํธ์๋์ ์ํธ ์์ฉํ๋ ์ฌ์ฉ์๋ ์๋น์ค์ ์ ์ ๋ฐ ๊ถํ์ ํ์ธํ ์ ์๊ฒ ํด์ค๋๋ค. ์ด ํฌ๊ด์ ์ธ ๊ฐ์ด๋๋ ํ๋ก ํธ์๋ ์ ๋ขฐ ํ ํฐ ๋ฐ๊ธ์ ๋ณต์ก์ฑ์ ํ์ํ๋ฉฐ, ๊ธ๋ก๋ฒ ๊ด์ ์์ ํ ํฐ ์์ฑ ๋ฐ ๋ฐฐํฌ์ ๊ธฐ๋ณธ ํ๋ก์ธ์ค์ ์ค์ ์ ๋ ๊ฒ์ ๋๋ค.
ํ๋ก ํธ์๋ ์ ๋ขฐ ํ ํฐ์ ์ดํด
๋ณธ์ง์ ์ผ๋ก ํ๋ก ํธ์๋ ์ ๋ขฐ ํ ํฐ์ ์ผ๋ฐ์ ์ผ๋ก ๋ฌธ์์ด ํํ์ ๋ฐ์ดํฐ ์กฐ๊ฐ์ผ๋ก, ์ธ์ฆ ์๋ฒ์์ ๋ฐ๊ธ๋์ด ํด๋ผ์ด์ธํธ(ํ๋ก ํธ์๋)๊ฐ API ๋๋ ๋ฆฌ์์ค ์๋ฒ์ ์ ์ํฉ๋๋ค. ์ด ํ ํฐ์ ํด๋ผ์ด์ธํธ๊ฐ ์ธ์ฆ๋์์ผ๋ฉฐ ํน์ ์์ ์ ์ํํ๊ฑฐ๋ ํน์ ๋ฐ์ดํฐ์ ์ ๊ทผํ ๊ถํ์ด ์์์ ํ์ธํฉ๋๋ค. ์ ํต์ ์ธ ์ธ์ ์ฟ ํค์ ๋ฌ๋ฆฌ, ์ ๋ขฐ ํ ํฐ์ ์ข ์ข ๋ฌด์ํ(stateless)๋ก ์ค๊ณ๋์ด ์๋ฒ๊ฐ ๊ฐ ๊ฐ๋ณ ํ ํฐ์ ๋ํ ์ธ์ ์ํ๋ฅผ ์ ์งํ ํ์๊ฐ ์์ต๋๋ค.
์ ๋ขฐ ํ ํฐ์ ์ฃผ์ ํน์ง:
- ๊ฒ์ฆ ๊ฐ๋ฅ์ฑ: ํ ํฐ์ ๋ฆฌ์์ค ์๋ฒ์์ ์ง์์ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ๊ฒ์ฆ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค.
- ๊ณ ์ ์ฑ: ๊ฐ ํ ํฐ์ ์ฌ์ ์ก ๊ณต๊ฒฉ(replay attack)์ ๋ฐฉ์งํ๊ธฐ ์ํด ๊ณ ์ ํด์ผ ํฉ๋๋ค.
- ์ ํ๋ ๋ฒ์: ํ ํฐ์ ์ด์์ ์ผ๋ก ์ ์๋ ๊ถํ ๋ฒ์๋ฅผ ๊ฐ์ ธ์ผ ํ๋ฉฐ, ํ์ํ ์ ๊ทผ ๊ถํ๋ง ๋ถ์ฌํด์ผ ํฉ๋๋ค.
- ๋ง๋ฃ: ํ ํฐ์ ์์๋ ์๊ฒฉ ์ฆ๋ช ์ด ๋ฌด๊ธฐํ ์ ํจํ๊ฒ ์ ์ง๋ ์ํ์ ์ํํ๊ธฐ ์ํด ์ ํํ ์๋ช ์ ๊ฐ์ ธ์ผ ํฉ๋๋ค.
ํ ํฐ ์์ฑ์ ์ค์ํ ์ญํ
์ ๋ขฐ ํ ํฐ์ ์์ฑํ๋ ๊ณผ์ ์ ๋ณด์๊ณผ ์ ๋ขฐ์ฑ์ ๊ธฐ์ด์ ๋๋ค. ๊ฒฌ๊ณ ํ ์์ฑ ๋ฉ์ปค๋์ฆ์ ํ ํฐ์ด ๊ณ ์ ํ๊ณ , ๋ณ์กฐ ๋ฐฉ์ง๋๋ฉฐ, ์ ์๋ ๋ณด์ ํ์ค์ ์ค์ํ๋๋ก ๋ณด์ฅํฉ๋๋ค. ์์ฑ ๋ฐฉ๋ฒ์ ์ ํ์ ์ข ์ข ๊ธฐ๋ณธ ๋ณด์ ๋ชจ๋ธ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
์ผ๋ฐ์ ์ธ ํ ํฐ ์์ฑ ์ ๋ต:
์ ๋ขฐ ํ ํฐ์ ์์ฑํ๋ ๋ฐ์๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ๋ก ์ด ์ฌ์ฉ๋๋ฉฐ, ๊ฐ๊ฐ ๊ณ ์ ํ ์ฅ์ ๊ณผ ๊ณ ๋ ค ์ฌํญ์ด ์์ต๋๋ค:
1. JSON ์น ํ ํฐ (JWT)
JWT๋ ๋น์ฌ์ ๊ฐ์ ์ ๋ณด๋ฅผ JSON ๊ฐ์ฒด๋ก ์์ ํ๊ฒ ์ ์กํ๊ธฐ ์ํ ์ ๊ณ ํ์ค์ ๋๋ค. ์ปดํฉํธํ๊ณ ์์ฒด ํฌํจ์ ์ด์ด์ ๋ฌด์ํ ์ธ์ฆ์ ์ด์์ ์ ๋๋ค. JWT๋ ์ผ๋ฐ์ ์ผ๋ก ํค๋, ํ์ด๋ก๋, ์๋ช ์ ์ธ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๋ชจ๋ Base64Url๋ก ์ธ์ฝ๋ฉ๋๊ณ ์ ์ผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
- ํค๋: ์๋ช ์ ์ฌ์ฉ๋ ์๊ณ ๋ฆฌ์ฆ(์: HS256, RS256)๊ณผ ๊ฐ์ ํ ํฐ์ ๋ํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ํฌํจํฉ๋๋ค.
- ํ์ด๋ก๋: ์ํฐํฐ(์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์)์ ๋ํ ์ค๋ช ๊ณผ ์ถ๊ฐ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ ํด๋ ์(claim)์ ๋ด๊ณ ์์ต๋๋ค. ์ผ๋ฐ์ ์ธ ํด๋ ์์๋ ๋ฐ๊ธ์(iss), ๋ง๋ฃ ์๊ฐ(exp), ์ฃผ์ (sub), ๋์(aud)์ด ํฌํจ๋ฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ๋ณ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ์ปค์คํ ํด๋ ์์ ํฌํจํ ์๋ ์์ต๋๋ค.
- ์๋ช : JWT์ ๋ฐ์ ์๊ฐ ์ฃผ์ฅํ๋ ์ ์๊ณผ ์ผ์นํ๋์ง ํ์ธํ๊ณ ๋ฉ์์ง๊ฐ ๋์ค์ ๋ณ๊ฒฝ๋์ง ์์์์ ๋ณด์ฅํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ช ์ ์ธ์ฝ๋ฉ๋ ํค๋, ์ธ์ฝ๋ฉ๋ ํ์ด๋ก๋, ๋น๋ฐ ํค(HS256๊ณผ ๊ฐ์ ๋์นญ ์๊ณ ๋ฆฌ์ฆ์ ๊ฒฝ์ฐ) ๋๋ ๊ฐ์ธ ํค(RS256๊ณผ ๊ฐ์ ๋น๋์นญ ์๊ณ ๋ฆฌ์ฆ์ ๊ฒฝ์ฐ)๋ฅผ ๊ฐ์ ธ์ ํค๋์ ๋ช ์๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ์๋ช ํจ์ผ๋ก์จ ์์ฑ๋ฉ๋๋ค.
JWT ํ์ด๋ก๋ ์์:
{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
}
JWT์ ๋ํ ๊ธ๋ก๋ฒ ๊ณ ๋ ค ์ฌํญ:
- ์๊ณ ๋ฆฌ์ฆ ์ ํ: ๋น๋์นญ ์๊ณ ๋ฆฌ์ฆ(RS256, ES256)์ ์ฌ์ฉํ ๋, ๊ฒ์ฆ์ ์ฌ์ฉ๋๋ ๊ณต๊ฐ ํค๋ฅผ ์ ์ธ๊ณ์ ์ผ๋ก ๋ฐฐํฌํ ์ ์์ด, ์ด๋ค ๋ฆฌ์์ค ์๋ฒ๋ ๊ฐ์ธ ํค๋ฅผ ๊ณต์ ํ์ง ์๊ณ ์ ๋ขฐํ ์ ์๋ ๊ธฐ๊ด์ด ๋ฐ๊ธํ ํ ํฐ์ ๊ฒ์ฆํ ์ ์์ต๋๋ค. ์ด๋ ๋๊ท๋ชจ ๋ถ์ฐ ์์คํ ์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
- ์๊ฐ ๋๊ธฐํ: ํ ํฐ ๋ฐ๊ธ ๋ฐ ๊ฒ์ฆ์ ๊ด๋ จ๋ ๋ชจ๋ ์๋ฒ ๊ฐ์ ์ ํํ ์๊ฐ ๋๊ธฐํ๋ ํนํ 'exp'(๋ง๋ฃ ์๊ฐ)์ ๊ฐ์ ์๊ฐ์ ๋ฏผ๊ฐํ ํด๋ ์์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์๊ฐ ๋ถ์ผ์น๋ ์ ํจํ ํ ํฐ์ด ๊ฑฐ๋ถ๋๊ฑฐ๋ ๋ง๋ฃ๋ ํ ํฐ์ด ์๋ฝ๋๋ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค.
- ํค ๊ด๋ฆฌ: ๊ฐ์ธ ํค(์๋ช ์ฉ)์ ๊ณต๊ฐ ํค(๊ฒ์ฆ์ฉ)๋ฅผ ์์ ํ๊ฒ ๊ด๋ฆฌํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ค์ํฉ๋๋ค. ๊ธ๋ก๋ฒ ์กฐ์ง์ ๊ฒฌ๊ณ ํ ํค ์ํ ๋ฐ ํ๊ธฐ ์ ์ฑ ์ ๊ฐ์ถ์ด์ผ ํฉ๋๋ค.
2. ๋ถํฌ๋ช ํ ํฐ (์ธ์ ํ ํฐ / ์ฐธ์กฐ ํ ํฐ)
JWT์ ๋ฌ๋ฆฌ ๋ถํฌ๋ช ํ ํฐ์ ํ ํฐ ์์ฒด์ ์ฌ์ฉ์๋ ๊ถํ์ ๋ํ ์ ๋ณด๋ฅผ ํฌํจํ์ง ์์ต๋๋ค. ๋์ , ์๋ฒ์ ์ ์ฅ๋ ์ธ์ ๋๋ ํ ํฐ ์ ๋ณด์ ๋ํ ์ฐธ์กฐ ์ญํ ์ ํ๋ ์์์ ๋ฌธ์์ด์ ๋๋ค. ํด๋ผ์ด์ธํธ๊ฐ ๋ถํฌ๋ช ํ ํฐ์ ์ ์ํ๋ฉด, ์๋ฒ๋ ์ฐ๊ด๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ์ฌ ์์ฒญ์ ์ธ์ฆํ๊ณ ์ธ๊ฐํฉ๋๋ค.
- ์์ฑ: ๋ถํฌ๋ช ํ ํฐ์ ์ผ๋ฐ์ ์ผ๋ก ์ํธํ์ ์ผ๋ก ์์ ํ ์์์ ๋ฌธ์์ด๋ก ์์ฑ๋ฉ๋๋ค.
- ๊ฒ์ฆ: ๋ฆฌ์์ค ์๋ฒ๋ ํ ํฐ์ ๊ฒ์ฆํ๊ณ ๊ด๋ จ ํด๋ ์์ ๊ฒ์ํ๊ธฐ ์ํด ์ธ์ฆ ์๋ฒ(๋๋ ๊ณต์ ์ธ์ ์ ์ฅ์)์ ํต์ ํด์ผ ํฉ๋๋ค.
๋ถํฌ๋ช ํ ํฐ์ ์ฅ์ :
- ํฅ์๋ ๋ณด์: ํ ํฐ ์์ฒด๊ฐ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ๋ ธ์ถํ์ง ์๊ธฐ ๋๋ฌธ์, ์๋ฒ ์ธก ๋ฐ์ดํฐ ์์ด ์บก์ฒ๋๋๋ผ๋ ๊ทธ ํผํด๊ฐ ๋ํฉ๋๋ค.
- ์ ์ฐ์ฑ: ์๋ฒ ์ธก ์ธ์ ๋ฐ์ดํฐ๋ ํ ํฐ ์์ฒด๋ฅผ ๋ฌดํจํํ์ง ์๊ณ ๋ ๋์ ์ผ๋ก ์ ๋ฐ์ดํธ๋ ์ ์์ต๋๋ค.
๋ถํฌ๋ช ํ ํฐ์ ๋จ์ :
- ์ง์ฐ ์๊ฐ ์ฆ๊ฐ: ๊ฒ์ฆ์ ์ํด ์ธ์ฆ ์๋ฒ๋ก์ ์ถ๊ฐ์ ์ธ ์๋ณต์ด ํ์ํ๋ฉฐ, ์ด๋ ์ฑ๋ฅ์ ์ํฅ์ ์ค ์ ์์ต๋๋ค.
- ์ํ ๊ธฐ๋ฐ ํน์ฑ: ์๋ฒ๊ฐ ์ํ๋ฅผ ์ ์งํด์ผ ํ๋ฏ๋ก, ํ์ฅ์ฑ์ด ๋์ ๋ถ์ฐ ์ํคํ ์ฒ์์๋ ์ด๋ ค์์ด ์์ ์ ์์ต๋๋ค.
๋ถํฌ๋ช ํ ํฐ์ ๋ํ ๊ธ๋ก๋ฒ ๊ณ ๋ ค ์ฌํญ:
- ๋ถ์ฐ ์บ์ฑ: ๊ธ๋ก๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ, ํ ํฐ ๊ฒ์ฆ ๋ฐ์ดํฐ์ ๋ํ ๋ถ์ฐ ์บ์ฑ์ ๊ตฌํํ์ฌ ์ฌ๋ฌ ์ง๋ฆฌ์ ์ง์ญ์ ๊ฑธ์ณ ์ง์ฐ ์๊ฐ์ ์ค์ด๊ณ ์ฑ๋ฅ์ ์ ์งํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค. Redis๋ Memcached์ ๊ฐ์ ๊ธฐ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ง์ญ๋ณ ์ธ์ฆ ์๋ฒ: ์ฌ๋ฌ ์ง์ญ์ ์ธ์ฆ ์๋ฒ๋ฅผ ๋ฐฐํฌํ๋ฉด ํด๋น ์ง์ญ์์ ๋ฐ์ํ๋ ํ ํฐ ๊ฒ์ฆ ์์ฒญ์ ์ง์ฐ ์๊ฐ์ ์ค์ด๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
3. API ํค
์ข ์ข ์๋ฒ ๊ฐ ํต์ ์ ์ฌ์ฉ๋์ง๋ง, API ํค๋ ํน์ API์ ์ ๊ทผํ๋ ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์ ๋ขฐ ํ ํฐ์ ํ ํํ๋ก๋ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก API ์ ๊ณต์์๊ฒ ํน์ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ์ฌ์ฉ์๋ฅผ ์๋ณํ๋ ๊ธธ๊ณ ์์์ ๋ฌธ์์ด์ ๋๋ค.
- ์์ฑ: API ์ ๊ณต์๊ฐ ์์ฑํ๋ฉฐ, ์ข ์ข ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ํ๋ก์ ํธ๋ณ๋ก ๊ณ ์ ํฉ๋๋ค.
- ๊ฒ์ฆ: API ์๋ฒ๋ ํธ์ถ์๋ฅผ ์๋ณํ๊ณ ๊ถํ์ ๊ฒฐ์ ํ๊ธฐ ์ํด ๋ ์ง์คํธ๋ฆฌ์ ๋ํด ํค๋ฅผ ํ์ธํฉ๋๋ค.
๋ณด์ ๊ด๋ จ ์ฐ๋ ค ์ฌํญ: API ํค๋ ํ๋ก ํธ์๋์ ๋ ธ์ถ๋ ๊ฒฝ์ฐ ๋งค์ฐ ์ทจ์ฝํฉ๋๋ค. ๊ทน๋์ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ฌ ๋ค๋ฃจ์ด์ผ ํ๋ฉฐ, ์ด์์ ์ผ๋ก๋ ๋ธ๋ผ์ฐ์ ์์ ์ง์ ๋ฏผ๊ฐํ ์์ ์ ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค. ํ๋ก ํธ์๋์์ ์ฌ์ฉํ ๊ฒฝ์ฐ, ๋ ธ์ถ์ ์ ํํ๊ฑฐ๋ ๋ค๋ฅธ ๋ณด์ ์กฐ์น์ ํจ๊ป ์ฌ์ฉํ๋ ๋ฐฉ์์ผ๋ก ๋ด์ฅ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
API ํค์ ๋ํ ๊ธ๋ก๋ฒ ๊ณ ๋ ค ์ฌํญ:
- ์๋ ์ ํ(Rate Limiting): ๋จ์ฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด API ์ ๊ณต์๋ ์ข ์ข API ํค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ ์ ํ์ ๊ตฌํํฉ๋๋ค. ์ด๋ ์ฌ์ฉ์์ ์์น์ ๊ด๊ณ์์ด ์ ์ฉ๋๋ฏ๋ก ๊ธ๋ก๋ฒํ ๋ฌธ์ ์ ๋๋ค.
- IP ํ์ดํธ๋ฆฌ์คํ : ๋ณด์ ๊ฐํ๋ฅผ ์ํด API ํค๋ฅผ ํน์ IP ์ฃผ์๋ ๋ฒ์์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์ด๋ IP ์ฃผ์๊ฐ ๋ณ๊ฒฝ๋๊ฑฐ๋ ํฌ๊ฒ ๋ฌ๋ผ์ง ์ ์๋ ๊ธ๋ก๋ฒ ํ๊ฒฝ์์ ์ ์คํ ๊ด๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
ํ ํฐ ๋ฐฐํฌ์ ๊ธฐ์
์ ๋ขฐ ํ ํฐ์ด ์์ฑ๋๋ฉด ํด๋ผ์ด์ธํธ(ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ )์ ์์ ํ๊ฒ ๋ฐฐํฌ๋ ํ ๋ฆฌ์์ค ์๋ฒ์ ์ ์๋์ด์ผ ํฉ๋๋ค. ๋ฐฐํฌ ๋ฉ์ปค๋์ฆ์ ํ ํฐ ์ ์ถ์ ๋ฐฉ์งํ๊ณ ํฉ๋ฒ์ ์ธ ํด๋ผ์ด์ธํธ๋ง ํ ํฐ์ ์์ ํ๋๋ก ๋ณด์ฅํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
์ฃผ์ ๋ฐฐํฌ ์ฑ๋ ๋ฐ ๋ฐฉ๋ฒ:
1. HTTP ํค๋
์ ๋ขฐ ํ ํฐ์ ๋ฐฐํฌํ๊ณ ์ ์กํ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ด๊ณ ๊ถ์ฅ๋๋ ๋ฐฉ๋ฒ์ HTTP ํค๋, ํนํ Authorization ํค๋๋ฅผ ์ด์ฉํ๋ ๊ฒ์
๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ OAuth 2.0 ๋ฐ JWT์ ๊ฐ์ ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ์ ํ์ค ๊ดํ์
๋๋ค.
- ๋ฒ ์ด๋ฌ ํ ํฐ(Bearer Tokens): ํ ํฐ์ ์ผ๋ฐ์ ์ผ๋ก "Bearer " ์ ๋์ฌ์ ํจ๊ป ์ ์ก๋์ด ํด๋ผ์ด์ธํธ๊ฐ ์ธ์ฆ ํ ํฐ์ ์์ ํ๊ณ ์์์ ๋ํ๋ ๋๋ค.
HTTP ์์ฒญ ํค๋ ์์:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
HTTP ํค๋์ ๋ํ ๊ธ๋ก๋ฒ ๊ณ ๋ ค ์ฌํญ:
- ์ฝํ ์ธ ์ ์ก ๋คํธ์ํฌ(CDN): ๊ธ๋ก๋ฒ ์ฌ์ฉ์์๊ฒ ํ ํฐ์ ๋ฐฐํฌํ ๋, CDN์ ์ ์ ์์ฐ์ ์บ์ํ ์ ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ๋ฏผ๊ฐํ ํ ํฐ์ ํฌํจํ๋ ๋์ ์๋ต์ ์บ์ํ์ง ์์ต๋๋ค. ํ ํฐ์ ์ผ๋ฐ์ ์ผ๋ก ์ธ์ฆ๋ ์ธ์ ๋ง๋ค ์์ฑ๋์ด ์ค๋ฆฌ์ง ์๋ฒ์์ ์ง์ ์ ์ก๋ฉ๋๋ค.
- ๋คํธ์ํฌ ์ง์ฐ ์๊ฐ: ํ ํฐ์ด ์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก, ๊ทธ๋ฆฌ๊ณ ๋ค์ ์๋ฒ๋ก ์ด๋ํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์ง๋ฆฌ์ ๊ฑฐ๋ฆฌ์ ์ํฅ์ ๋ฐ์ ์ ์์ต๋๋ค. ์ด๋ ํจ์จ์ ์ธ ํ ํฐ ์์ฑ ๋ฐ ์ ์ก ํ๋กํ ์ฝ์ ์ค์์ฑ์ ๊ฐ์กฐํฉ๋๋ค.
2. ๋ณด์ ์ฟ ํค
์ฟ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ขฐ ํ ํฐ์ ์ ์ฅํ๊ณ ์ ์กํ ์๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋ฐฉ๋ฒ์ ๋ณด์์ ๋ณด์ฅํ๊ธฐ ์ํด ์ ์คํ ๊ตฌ์ฑ์ด ํ์ํฉ๋๋ค.
- HttpOnly ํ๋๊ทธ:
HttpOnlyํ๋๊ทธ๋ฅผ ์ค์ ํ๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ฟ ํค์ ์ ๊ทผํ๋ ๊ฒ์ ๋ฐฉ์งํ์ฌ, ์ฌ์ดํธ ๊ฐ ์คํฌ๋ฆฝํ (XSS) ๊ณต๊ฒฉ์ผ๋ก ํ ํฐ์ ๋์ฉ๋นํ ์ํ์ ์ํํฉ๋๋ค. - Secure ํ๋๊ทธ:
Secureํ๋๊ทธ๋ ์ฟ ํค๊ฐ HTTPS ์ฐ๊ฒฐ์ ํตํด์๋ง ์ ์ก๋๋๋ก ๋ณด์ฅํ์ฌ ๋์ฒญ์ผ๋ก๋ถํฐ ๋ณดํธํฉ๋๋ค. - SameSite ์์ฑ:
SameSite์์ฑ์ ์ฌ์ดํธ ๊ฐ ์์ฒญ ์์กฐ(CSRF) ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ฟ ํค์ ๋ํ ๊ธ๋ก๋ฒ ๊ณ ๋ ค ์ฌํญ:
- ๋๋ฉ์ธ ๋ฐ ๊ฒฝ๋ก: ์ฟ ํค์ ๋๋ฉ์ธ ๋ฐ ๊ฒฝ๋ก ์์ฑ์ ์ ์คํ๊ฒ ๊ตฌ์ฑํ๋ ๊ฒ์ ๋ค๋ฅธ ํ์ ๋๋ฉ์ธ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฌ ๋ถ๋ถ์ ๊ฑธ์ณ ์ฌ๋ฐ๋ฅธ ์๋ฒ๋ก ์ ์ก๋๋๋ก ๋ณด์ฅํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ํธํ์ฑ: ๋๋ฆฌ ์ง์๋์ง๋ง, ์ฟ ํค ์์ฑ์ ๋ํ ๋ธ๋ผ์ฐ์ ๊ตฌํ์ด ๋๋๋ก ๋ค๋ฅผ ์ ์์ผ๋ฏ๋ก ๋ค๋ฅธ ์ง์ญ ๋ฐ ๋ธ๋ผ์ฐ์ ๋ฒ์ ์ ๊ฑธ์ณ ์ฒ ์ ํ ํ ์คํธ๊ฐ ํ์ํฉ๋๋ค.
3. ๋ก์ปฌ ์คํ ๋ฆฌ์ง / ์ธ์ ์คํ ๋ฆฌ์ง (์ฌ์ฉ ์ ๊ทน๋์ ์ฃผ์ ํ์!)
๋ธ๋ผ์ฐ์ ์ localStorage๋ sessionStorage์ ์ ๋ขฐ ํ ํฐ์ ์ ์ฅํ๋ ๊ฒ์ ๋ณด์์์ ์ด์ ๋ก, ํนํ ๋ฏผ๊ฐํ ํ ํฐ์ ๊ฒฝ์ฐ ์ผ๋ฐ์ ์ผ๋ก ๊ถ์ฅ๋์ง ์์ต๋๋ค. ์ด๋ฌํ ์ ์ฅ ๋ฉ์ปค๋์ฆ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํตํด ์ ๊ทผํ ์ ์์ผ๋ฏ๋ก XSS ๊ณต๊ฒฉ์ ์ทจ์ฝํฉ๋๋ค.
์ด๋ค ๊ฒฝ์ฐ์ ๊ณ ๋ ค๋ ์ ์์๊น? ํ ํฐ์ ๋ฒ์๊ฐ ๋งค์ฐ ์ข๊ณ ์ํ์ด ์ธ์ฌํ๊ฒ ํ๊ฐ๋ ๋งค์ฐ ํน์ ํ ์ ํ๋ ์ฌ์ฉ ์๋๋ฆฌ์ค์์ ๊ฐ๋ฐ์๋ ์ด ๋ฐฉ๋ฒ์ ์ ํํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ฑฐ์ ํญ์ HTTP ํค๋๋ ๋ณด์ ์ฟ ํค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ๋์ ๊ดํ์ ๋๋ค.
๊ธ๋ก๋ฒ ๊ณ ๋ ค ์ฌํญ: localStorage ๋ฐ sessionStorage์ ๋ณด์ ์ทจ์ฝ์ ์ ๋ณดํธ์ ์ด๋ฉฐ ํน์ ์ง์ญ์ ๊ตญํ๋์ง ์์ต๋๋ค. XSS ๊ณต๊ฒฉ์ ์ํ์ ์ฌ์ฉ์์ ์ง๋ฆฌ์ ์์น์ ๊ด๊ณ์์ด ์ผ์ ํ๊ฒ ์ ์ง๋ฉ๋๋ค.
ํ ํฐ ๋ฐ๊ธ์ ์ํ ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก
์ ํํ ์์ฑ ๋ฐ ๋ฐฐํฌ ๋ฐฉ๋ฒ์ ๊ด๊ณ์์ด ๊ฒฌ๊ณ ํ ๋ณด์ ๊ดํ์ ์ค์ํ๋ ๊ฒ์ ํํํ ์ ์๋ ๋ฌธ์ ์ ๋๋ค.
1. ๋ชจ๋ ๊ณณ์์ HTTPS ์ฌ์ฉ
ํด๋ผ์ด์ธํธ, ์ธ์ฆ ์๋ฒ ๋ฐ ๋ฆฌ์์ค ์๋ฒ ๊ฐ์ ๋ชจ๋ ํต์ ์ HTTPS๋ฅผ ์ฌ์ฉํ์ฌ ์ํธํํด์ผ ํฉ๋๋ค. ์ด๋ ์ค๊ฐ์ ๊ณต๊ฒฉ(man-in-the-middle attack)์ด ์ ์ก ์ค์ธ ํ ํฐ์ ๊ฐ๋ก์ฑ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
2. ํ ํฐ ๋ง๋ฃ ๋ฐ ๊ฐฑ์ ๋ฉ์ปค๋์ฆ ๊ตฌํ
์๋ช ์ด ์งง์ ์ก์ธ์ค ํ ํฐ์ ํ์์ ์ ๋๋ค. ์ก์ธ์ค ํ ํฐ์ด ๋ง๋ฃ๋๋ฉด, ์ผ๋ฐ์ ์ผ๋ก ์๋ช ์ด ๋ ๊ธธ๊ณ ๋ ์์ ํ๊ฒ ์ ์ฅ๋๋ ๋ฆฌํ๋ ์ ํ ํฐ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ๋ค์ ์ธ์ฆํ ํ์ ์์ด ์๋ก์ด ์ก์ธ์ค ํ ํฐ์ ์ป์ ์ ์์ต๋๋ค.
3. ๊ฐ๋ ฅํ ์๋ช ํค ๋ฐ ์๊ณ ๋ฆฌ์ฆ
JWT์ ๊ฒฝ์ฐ ๊ฐ๋ ฅํ๊ณ ๊ณ ์ ํ ์๋ช ํค๋ฅผ ์ฌ์ฉํ๊ณ , ๊ณต๊ฐ ํค๋ ๊ฒ์ฆ์ ์ํด ๋๋ฆฌ ๋ฐฐํฌํ ์ ์์ง๋ง ๊ฐ์ธ ํค๋ ๋ฐ๊ธ์์๊ฒ ์์ ํ๊ฒ ์ ์ง๋๋ ๋น๋์นญ ์๊ณ ๋ฆฌ์ฆ(์: RS256 ๋๋ ES256) ์ฌ์ฉ์ ๊ณ ๋ คํ์ญ์์ค. ์์ธก ๊ฐ๋ฅํ ๋น๋ฐ ํค๋ฅผ ์ฌ์ฉํ๋ HS256๊ณผ ๊ฐ์ ์ฝํ ์๊ณ ๋ฆฌ์ฆ์ ํผํ์ญ์์ค.
4. ํ ํฐ ์๋ช ๋ฐ ํด๋ ์์ ์๊ฒฉํ ๊ฒ์ฆ
๋ฆฌ์์ค ์๋ฒ๋ ํญ์ ํ ํฐ์ ์๋ช ์ ๊ฒ์ฆํ์ฌ ๋ณ์กฐ๋์ง ์์๋์ง ํ์ธํด์ผ ํฉ๋๋ค. ๋ํ ๋ฐ๊ธ์, ๋์, ๋ง๋ฃ ์๊ฐ๊ณผ ๊ฐ์ ๋ชจ๋ ๊ด๋ จ ํด๋ ์์ ํ์ธํด์ผ ํฉ๋๋ค.
5. ํ ํฐ ํ๊ธฐ ๊ตฌํ
JWT์ ๊ฐ์ ๋ฌด์ํ ํ ํฐ์ ์ผ๋จ ๋ฐ๊ธ๋๋ฉด ์ฆ์ ํ๊ธฐํ๊ธฐ ์ด๋ ค์ธ ์ ์์ง๋ง, ์ค์ํ ์๋๋ฆฌ์ค๋ฅผ ์ํด ๋ฉ์ปค๋์ฆ์ ๋ง๋ จํด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ํ๊ธฐ๋ ํ ํฐ์ ๋ธ๋๋ฆฌ์คํธ๋ฅผ ์ ์งํ๊ฑฐ๋, ๋ ์งง์ ๋ง๋ฃ ์๊ฐ๊ณผ ๊ฐ๋ ฅํ ๋ฆฌํ๋ ์ ํ ํฐ ์ ๋ต์ ๊ฒฐํฉํ๋ ๋ฐฉ๋ฒ์ด ํฌํจ๋ ์ ์์ต๋๋ค.
6. ํ ํฐ ํ์ด๋ก๋ ์ ๋ณด ์ต์ํ
ํนํ ๋ ธ์ถ๋ ์ ์๋ ๋ถํฌ๋ช ํ ํฐ์ด๋ ๊ธฐ๋ก๋ ์ ์๋ JWT์ ๊ฒฝ์ฐ, ํ ํฐ์ ํ์ด๋ก๋์ ๋งค์ฐ ๋ฏผ๊ฐํ ๊ฐ์ธ ์๋ณ ์ ๋ณด(PII)๋ฅผ ์ง์ ํฌํจํ์ง ๋ง์ญ์์ค. ๋์ , ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ ์๋ฒ ์ธก์ ์ ์ฅํ๊ณ ํ ํฐ์๋ ํ์ํ ์๋ณ์๋ ๋ฒ์๋ง ํฌํจํ์ญ์์ค.
7. CSRF ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธ
ํ ํฐ ๋ฐฐํฌ์ ์ฟ ํค๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ SameSite ์์ฑ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋์๋์ง ํ์ธํ์ญ์์ค. ํค๋์ ํ ํฐ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ๋๊ธฐํ ํ ํฐ ๋๋ ๊ธฐํ CSRF ๋ฐฉ์ง ๋ฉ์ปค๋์ฆ์ ์ ์ ํ๊ฒ ๊ตฌํํ์ญ์์ค.
8. ์์ ํ ํค ๊ด๋ฆฌ
ํ ํฐ ์๋ช ๋ฐ ์ํธํ์ ์ฌ์ฉ๋๋ ํค๋ ์์ ํ๊ฒ ์ ์ฅ๋๊ณ ๊ด๋ฆฌ๋์ด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ์ ๊ธฐ์ ์ธ ์ํ, ์ ๊ทผ ์ ์ด ๋ฐ ๋ฌด๋จ ์ ๊ทผ์ผ๋ก๋ถํฐ์ ๋ณดํธ๊ฐ ํฌํจ๋ฉ๋๋ค.
๊ธ๋ก๋ฒ ๊ตฌํ ์ ๊ณ ๋ ค ์ฌํญ
๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ์ํ ํ๋ก ํธ์๋ ์ ๋ขฐ ํ ํฐ ์์คํ ์ ์ค๊ณํ๊ณ ๊ตฌํํ ๋ ๋ช ๊ฐ์ง ์์๊ฐ ์์ฉํฉ๋๋ค:
1. ์ง์ญ๋ณ ๋ฐ์ดํฐ ์ฃผ๊ถ ๋ฐ ๊ท์ ์ค์
๊ฐ๊ธฐ ๋ค๋ฅธ ๊ตญ๊ฐ์๋ ๋ค์ํ ๋ฐ์ดํฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ (์: ์ ๋ฝ์ GDPR, ์บ๋ฆฌํฌ๋์์ CCPA, ๋ธ๋ผ์ง์ LGPD)์ด ์์ต๋๋ค. ํ ํฐ ๋ฐ๊ธ ๋ฐ ์ ์ฅ ๊ดํ์ด ์ด๋ฌํ ๊ท์ ์ ์ค์ํ๋์ง, ํนํ ํ ํฐ๊ณผ ๊ด๋ จ๋ ์ฌ์ฉ์ ๋ฐ์ดํฐ๊ฐ ์ฒ๋ฆฌ๋๊ณ ์ ์ฅ๋๋ ์์น์ ๋ํด ํ์ธํ์ญ์์ค.
2. ์ธํ๋ผ ๋ฐ ์ง์ฐ ์๊ฐ
๊ธ๋ก๋ฒ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ ๊ฐ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ, ์ง์ฐ ์๊ฐ์ ์ต์ํํ๊ธฐ ์ํด ์ฌ๋ฌ ์ง๋ฆฌ์ ์ง์ญ์ ์ธ์ฆ ๋ฐ ๋ฆฌ์์ค ์๋ฒ๋ฅผ ๋ฐฐํฌํ๋ ๊ฒ์ด ์ข ์ข ํ์ํฉ๋๋ค. ์ด๋ฅผ ์ํด์๋ ๋ถ์ฐ ์๋น์ค๋ฅผ ๊ด๋ฆฌํ๊ณ ๋ชจ๋ ์ง์ญ์์ ์ผ๊ด๋ ๋ณด์ ์ ์ฑ ์ ๋ณด์ฅํ ์ ์๋ ๊ฒฌ๊ณ ํ ์ธํ๋ผ๊ฐ ํ์ํฉ๋๋ค.
3. ์๊ฐ ๋๊ธฐํ
ํ ํฐ ์์ฑ, ๋ฐฐํฌ ๋ฐ ๊ฒ์ฆ์ ๊ด๋ จ๋ ๋ชจ๋ ์๋ฒ ๊ฐ์ ์ ํํ ์๊ฐ ๋๊ธฐํ๋ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋คํธ์ํฌ ์๊ฐ ํ๋กํ ์ฝ(NTP)์ ๊ตฌํํ๊ณ ์ ๊ธฐ์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ์ฌ ํ ํฐ ๋ง๋ฃ ๋ฐ ์ ํจ์ฑ๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํด์ผ ํฉ๋๋ค.
4. ์ธ์ด ๋ฐ ๋ฌธํ์ ๋์์ค
ํ ํฐ ์์ฒด๋ ์ผ๋ฐ์ ์ผ๋ก ๋ถํฌ๋ช ํ ๋ฌธ์์ด์ด๊ฑฐ๋ JWT์ ๊ฐ์ ๊ตฌ์กฐํ๋ ํ์์ด์ง๋ง, ์ธ์ฆ ํ๋ก์ธ์ค์ ์ฌ์ฉ์ ๋๋ฉด ์ธก๋ฉด(์: ํ ํฐ ๊ฒ์ฆ๊ณผ ๊ด๋ จ๋ ์ค๋ฅ ๋ฉ์์ง)์ ํ์งํ๋๊ณ ๋ฌธํ์ ์ผ๋ก ๋ฏผ๊ฐํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ํ ํฐ ๋ฐ๊ธ์ ๊ธฐ์ ์ ์ธก๋ฉด์ ํ์คํ๋์ด์ผ ํฉ๋๋ค.
5. ๋ค์ํ ์ฅ์น ๋ฐ ๋คํธ์ํฌ ํ๊ฒฝ
์ ์ธ๊ณ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๋ ์ฌ์ฉ์๋ ๋ค์ํ ์ฅ์น, ์ด์ ์ฒด์ ๋ฐ ๋คํธ์ํฌ ํ๊ฒฝ์์ ์ ์ํ ๊ฒ์ ๋๋ค. ํ ํฐ ์์ฑ ๋ฐ ๋ฐฐํฌ ๋ฉ์ปค๋์ฆ์ ๋๋ฆฐ ๋คํธ์ํฌ๋ ์ฑ๋ฅ์ด ๋ฎ์ ์ฅ์น์์๋ ์ ์๋ํ๋๋ก ๊ฐ๋ณ๊ณ ํจ์จ์ ์ด์ด์ผ ํฉ๋๋ค.
๊ฒฐ๋ก
์์ฑ๊ณผ ๋ฐฐํฌ๋ฅผ ๋ชจ๋ ํฌํจํ๋ ํ๋ก ํธ์๋ ์ ๋ขฐ ํ ํฐ ๋ฐ๊ธ์ ํ๋ ์น ๋ณด์์ ์ด์์ ๋๋ค. JWT ๋ฐ ๋ถํฌ๋ช ํ ํฐ๊ณผ ๊ฐ์ ๋ค์ํ ํ ํฐ ์ ํ์ ๋์์ค๋ฅผ ์ดํดํ๊ณ ๊ฒฌ๊ณ ํ ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๊ตฌํํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ์์ ํ๊ณ ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ ์ ์ธ๊ณ์ ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ๋ ผ์๋ ์์น์ ๋ณดํธ์ ์ด์ง๋ง, ๊ทธ ๊ตฌํ์ ๋ค์ํ ๊ตญ์ ์ฌ์ฉ์์๊ฒ ํจ๊ณผ์ ์ผ๋ก ์๋น์ค๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ์ง์ญ ๊ท์ ์ค์, ์ธํ๋ผ ๋ฐ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ํ ์ ์คํ ๊ณ ๋ ค๊ฐ ํ์ํฉ๋๋ค.
ํต์ฌ ์์ฝ:
- ๋ณด์ ์ฐ์ : ํญ์ HTTPS, ์งง์ ํ ํฐ ์๋ช , ๊ฐ๋ ฅํ ์ํธํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ญ์์ค.
- ํ๋ช ํ ์ ํ: ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด์ ๋ฐ ํ์ฅ์ฑ ์๊ตฌ์ ๋ง๋ ํ ํฐ ์์ฑ ๋ฐ ๋ฐฐํฌ ๋ฐฉ๋ฒ์ ์ ํํ์ญ์์ค.
- ๊ธ๋ก๋ฒ ๋ง์ธ๋: ๊ตญ์ ์ฌ์ฉ์๋ฅผ ์ํด ์ค๊ณํ ๋ ๋ค์ํ ๊ท์ , ์ธํ๋ผ ์๊ตฌ ์ฌํญ ๋ฐ ์ ์ฌ์ ์ง์ฐ ์๊ฐ์ ๊ณ ๋ คํ์ญ์์ค.
- ์ง์์ ์ธ ๊ฒฝ๊ณ: ๋ณด์์ ์ง์์ ์ธ ํ๋ก์ธ์ค์ ๋๋ค. ์๋ก์ด ์ํ์ ์์ ๋๊ฐ๊ธฐ ์ํด ์ ๊ธฐ์ ์ผ๋ก ํ ํฐ ๊ด๋ฆฌ ์ ๋ต์ ๊ฒํ ํ๊ณ ์ ๋ฐ์ดํธํ์ญ์์ค.