1. Master Difficult User Authentication Requirements with OAuth
https://thenewstack.io/master-difficult-user-authentication-requirements-with-oauth/
Master Difficult User Authentication Requirements with OAuth
Many organizations fail to recognize that user authentication for your digital services will evolve. Here’s how to switch methods.
thenewstack.io
[ ์์ฝ์ ๋ฆฌ ]
ํด๋น ๊ฒ์๋ฌผ์ ๋์งํธ ์๋น์ค์ ๋ํ ์ฌ์ฉ์ ์ธ์ฆ์ด ์งํํ ๊ฒ์์ ์ฃผ์ฅํ๋ฉฐ OAuth๋ฅผ ์ฌ์ฉํ ๊ณ ๋์ ์ฌ์ฉ์ ์ธ์ฆ ์ ํ ๋ฐฉ๋ฒ์ ์ ์ํ๋ค.
์ฌ์ฉ์ ์ธ์ฆ์ ์ ์ ์งํํ ๊ฒ์ด๋ค. ์ธ์ฆ ๋ฐฉ๋ฒ ๋ณ๊ฒฝ ์ถ์ฒ ์ด์ ๋ ์๋์ ๊ฐ๋ค.
1. ๋ณด์ ๊ฐํ ๋ฐ ๊ฐ๋ ฅํ ๊ณ ๊ฐ ์ธ์ฆ(SCA) ์๊ตฌ ์ฌํญ ์ถฉ์กฑ ๊ฐ๋ฅ
2. ์ฑ ๋ฉ์ถค/์ ๊น ํ์์ ์ค์ฌ ๋ก๊ทธ์ธ ์ฌ์ฉ์ ํ๊ฒฝ์ ๊ฐ์ ํ ์ ์์
3. ์ค์ํ ์ดํด ๊ด๊ณ์๋ก๋ถํฐ ์์ฒญ์ ๋ฐ์ ์ ์์.(ex. ์ค์ํ ๊ณ ๊ฐ ๊ธฐ์ ์ด ์ฑ์ด ์ธ์ฆ ์์คํ ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ธ์ฆ์ ํ๋๋ก ์๊ตฌํ ์ ์์)
4. ์ฌ์ฉ์๋ฅผ ๋์ ํ์ฌ ํด๋น ์์คํ ์ API๋ฅผ ํธ์ถํ๋ ค๋ฉด ํน์ ์์คํ ์์ ์ฌ์ฉ์๋ฅผ ์ธ์ฆํด์ผ ํ ์ ๋ ์์
1. OAuth?
- API, ํด๋ผ์ด์ธํธ, ์ฌ์ฉ์๋ฅผ ์์ ํ๊ฒ ์ฐ๊ฒฐํ๊ธฐ ์ํ ์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ ํ๋ ์์ํฌ
- API ๋ณด์์ ์ํ ๊ฐ๋ ฅํ ์ค๊ณ ํจํด์ผ๋ก, ์ก์ธ์ค ํ ํฐ์ ํตํด ์ธ์ฆ์ด ์งํ๋๋ค.
- ํ์ฅ์ฑ๊ณผ ์ ์ฐ์ฑ
OAuth ์ธ์ฆ ๋ฐฉ์
1. ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ (ํด๋ผ์ด์ธํธ)์ด ์ฌ์ฉ์์ ์ธ์ฆ์ ์์ฒญ
2. ์ธ์ฆ ์๋ฒ๊ฐ ์ฌ์ฉ์ ์ธ์ฆ ํ, ํด๋ผ์ด์ธํธ์ ์ธ์ฆ ์ฝ๋๋ฅผ ์ ๊ณต
3. ํด๋ผ์ด์ธํธ๋ ์ด ์ฝ๋๋ฅผ ์ก์ธ์ค ํ ํฐ์ผ๋ก ๊ตํ
4. ํ ํฐ์ ํ์ฉํ์ฌ ์ฌ์ฉ์ ๊ถํ์ ํ์ธํ๊ณ API์ ์์ ํ๊ฒ ์ ๊ทผํ ์ ์์
์์ ๊ฐ์ OAuth ๋งค์ปค๋์ฆ์ ํตํด ๋น๋ฐ๋ฒํธ ๊ณต์ ์์ด ์ธ๋ถ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ํ๋ ์์์ ์ ๊ทผํ ์ ์๊ฒ ๋๋ค.
2. OAuth๋ ์ธ์ฆ ํ๋กํ ์ฝ์ด ์๋๋ค

OAuth๋ ์ 3์์๊ฒ ์ก์ธ์ค๋ฅผ ๋ถ์ฌํด์ผ ํ ๋์๋ง ์ฌ์ฉํ๋ ํ๋กํ ์ฝ์ด ์๋๋ค!
OAuth๋ API, ํด๋ผ์ด์ธํธ ๋ฐ ์ฌ์ฉ์๋ฅผ ํฌํจํ ๋ชจ๋ ์๋ฃจ์ ์ ์ํ ์์ ํ๊ณ ํ๋์ ์ธ ๋ณด์ ํ๋ ์์ํฌ๋ค.
์ฆ, OAuth๋ ์ฌ์ฉ์ ์ธ์ฆ์ ์ฐํํ์ง ์๋๋ค๋ ์ด์ผ๊ธฐ๋ค.
์ฌ์ฉ์ ์ ์์ ์ฆ๋ช ํ๋ ๋ฐฉ๋ฒ์ ๋ฑํ ์ ์ํ์ง ์๋๋ค. ๊ถํ ๋ถ์ฌ ์๋ฒ์ ๊ตฌํ์ ์ ์ ์ผ๋ก ๋งก๊ฒจ์ง๋ ๋ถ๋ถ์ด๋ค.
์ฌ์ฉ์ ์ธ์ฆ์ ์ํ ์๋ง์ ์๋ฃจ์ ์ด ์กด์ฌํ๋ ๊ฒ์ด ๊ทธ ์ด์ ๋ค.
3. OAuth๋ก ์ธ์ฆ ํ์ฅ? ์ด๋ป๊ฒ?
์ธ์ฆ ํ์ฅ ์ ์, ๊ธฐ๋ฅ์ ์ดํดํ ํ์๊ฐ ์๋ค.
์ต๊ณ ์ ๊ถํ ๋ถ์ฌ ์๋ฒ๋ ์ฌ๋ฌ ๋ฐฉ์์ ์ฌ์ฉ์ ์ธ์ฆ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค.
1. ๋น๋ฐ๋ฒํธ + ๋ค์ค ์ธ์ฆ(MFA)
2. ํจ์คํค
3. ๋์งํธ ์ง๊ฐ
4. ํ์ค ๊ธฐ๋ฐ ์ธ๋ถ ์์คํ
5. ๊ธฐํ ์ธ๋ถ ์์คํ
6. ์ฌ์ฉ์ ์ ์ ์ธ์ฆ ๋ฐฉ๋ฒ
์ด์ฒ๋ผ ๋ค์ํ ์ธ์ฆ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๊ณ ์งํํ๊ณ ์์ด OAuth๋ ์ฌ์ฉ์ ์ ์ ์ฆ๋ช ์ ์ ์ํ์ง ์๋๋ค.
์ค์ํ ์ ์ OAuth์ ์ฝ๋ ํ๋ฆ์ด ๋ณด์ ๋ฌธ์ ๋ฅผ ๊ถํ ์๋ฒ๋ก ๋ถ๋ฆฌํ์ฌ,
ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฝ๋ ๋ณ๊ฒฝ ์์ด ์ธ์ฆ ๋ฐฉ์์ ๋ณ๊ฒฝํ ์ ์๋ค๋ ์ ์ด๋ค!
๊ฒฐ๋ก
๋ชจ๋ ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ธ์ฆ ์๊ตฌ ์ฌํญ์ ์์ ํ ์ ์ดํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด๋ฉด ๋๋ค
1. ์ฝ๋ ํ๋ฆ์ ๊ตฌํํ์ฌ ์ฌ์ฉ์ ์ธ์ฆ ์์
2. ์ต์ ์ธ์ฆ ํ์ค์ ์ง์ํ๋ ๊ถํ ๋ถ์ฌ ์๋ฒ๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆ ๋ฐฉ๋ฒ์ ํ์ฅ
3. ์ธ๋ถ IDP์ ์ฐ๊ฒฐ๋๋ ๊ถํ ๋ถ์ฌ ์๋ฒ๋ก ๋น์ฆ๋์ค ํตํฉ์ ํ์ฅ
4. ๋ง์ถคํ ์๊ตฌ ์ฌํญ์ด ์์ ๊ฒฝ์ฐ, ์ฌ์ฉ์ ์ ์ ์ธ์ฆ์ ๊ตฌํํ์ฌ ์ฅ์ ๋ฅผ ๋ฐฉ์ง
๐ค ์ด์ ๋ํ ๋์ ์๊ฐ
์ต๊ทผ ํจ์ค์๋ ์๋ ์ธ์ฆ ๋ฐฉ๋ฒ์ด ์ ์ ๋ ์ ํธ๋๋ ์ถ์ธ์ธ ๊ฒ ๊ฐ๋ค. ํจ์คํค๋ ์์ฒด์ธ์ฆ ๊ฐ์ ๋ฐฉ์์ด ๋์ ๋๋ฉด์, ๋น๋ฐ๋ฒํธ๋ฅผ ๊ธฐ์ตํ ํ์ ์์ด ๋ ์์ ํ๊ณ ์ฌ์ฉ์ ์นํ์ ์ธ ์ธ์ฆ ๋ฐฉ์์ ์ฌ์ฉํ ์ ์๊ฒ ๋ ๊ฒ ๊ฐ๋ค. OAuth ๊ฐ์ ํ๋ ์์ํฌ๋ ์ด๋ฌํ ํ๋ฆ์ ์ ๋ง๊ณ , ์ธ์ฆ ๋ฐฉ๋ฒ์ ์ ์ฐํ๊ฒ ์ ์ฉํ ์ ์์ด ๋ณด์๊ณผ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ชจ๋ ํฅ์ํ ์ ์๋ค. ์์ผ๋ก๋ ๋น๋ฐ๋ฒํธ๋ณด๋ค ๋ ์ง๊ด์ ์ด๊ณ ์์ ํ ์ธ์ฆ ๋ฐฉ์์ด ํ์ค์ด ๋ ๊ฒ์ผ๋ก ์์๋๋ค.
๊ทธ๋ ๋ค๋ฉด, ๋น๋ฐ๋ฒํธ ์๋ ์ธ์ฆ ๋ฐฉ์์ด ํ์ฐ๋๋ฉด์๋ ๋ณด์ ๊ด์ (?)์์ ์ฃผ์ํ ์ ์ด ๋ฌด์์ด ์์๊น ์๊ฐํด๋ดค๋ค.
- ๋ค์ค ์ธ์ฆ(2FA/MFA): ๋น๋ฐ๋ฒํธ๊ฐ ์์ด๋ ์ถ๊ฐ์ ์ธ ๋ณด์ ๊ณ์ธต์ ์ ๊ณตํ์ฌ ์ธ์ฆ์ ์์ ์ฑ์ ๊ฐํํด์ผ ํจ
- ํจ์คํค ๊ด๋ฆฌ: ํจ์คํค์ ์์ ํ ๊ด๋ฆฌ๋ฅผ ํตํด ๋ ธ์ถ์ด๋ ๋๋ ๋ฐฉ์ง ํ์!
- ์๋ฆผ๊ณผ ๋ชจ๋ํฐ๋ง: ๋น์ ์์ ์ธ ์ธ์ฆ ์๋์ ๋ํด ์ฆ์ ์๋ฆผ์ ๋ฐ๊ณ ๋ชจ๋ํฐ๋ง ์์คํ ์ ๊ฐ์ถ ํ์๊ฐ ์์
- ์ ๋ฐ์ดํธ์ ๊ต์ก: ์ต์ ๋ณด์ ํจ์น๋ฅผ ์ ์ฉํ๊ณ ์ฌ์ฉ์์๊ฒ ๋ณด์ ๊ต์ก์ ์ ๊ณตํ์ฌ ๋ณด์ ์ํ์ ๋์ํด์ผ ํจ
๋น๋ก ๋ด ๋ํผ์
(?)์ด์ง๋ง..
์ด๋ฌํ ์ ๋ค์ ๊ณ ๋ คํ์ฌ, ๋น๋ฐ๋ฒํธ ์๋ ์ธ์ฆ ๋ฐฉ์์ด ๋ณด๋ค ์์ ํ๊ณ ํจ์จ์ ์ธ ์ธ์ฆ์ ํ์ค์ผ๋ก ์๋ฆฌ ์ก์ ๊ฒ์ผ๋ก ๊ธฐ๋๋๋ค.