์ผ๋‹จ ํ•˜๊ณ  ๋ณด๋Š” ์‚ฌ๋žŒ

๋‚˜์ค‘๋ณด๋‹จ ์ง€๊ธˆ์— ์ง‘์ค‘ํ•˜๋˜, ์ง€๊ธˆ๋ณด๋‹จ ๋‚˜์ค‘์— ์™„๋ฒฝํ•ด์ง€์ž๐Ÿ’ช๐Ÿป

๐Ÿ—ž๏ธ IT ๋™ํ–ฅ ํŒŒ์•… ๋ฐ ๋‚˜์˜ ์ƒ๊ฐ ์ •๋ฆฌ

OAuth๋ฅผ ํ†ตํ•œ ์ง„ํ™”๋œ ์‚ฌ์šฉ์ž ์ธ์ฆ

JanginTech 2024. 9. 12. 15:27

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): ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์—†์–ด๋„ ์ถ”๊ฐ€์ ์ธ ๋ณด์•ˆ ๊ณ„์ธต์„ ์ œ๊ณตํ•˜์—ฌ ์ธ์ฆ์˜ ์•ˆ์ „์„ฑ์„ ๊ฐ•ํ™”ํ•ด์•ผ ํ•จ
  • ํŒจ์Šคํ‚ค ๊ด€๋ฆฌ: ํŒจ์Šคํ‚ค์˜ ์•ˆ์ „ํ•œ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ๋…ธ์ถœ์ด๋‚˜ ๋„๋‚œ ๋ฐฉ์ง€ ํ•„์ˆ˜!
  • ์•Œ๋ฆผ๊ณผ ๋ชจ๋‹ˆํ„ฐ๋ง: ๋น„์ •์ƒ์ ์ธ ์ธ์ฆ ์‹œ๋„์— ๋Œ€ํ•ด ์ฆ‰์‹œ ์•Œ๋ฆผ์„ ๋ฐ›๊ณ  ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์„ ๊ฐ–์ถœ ํ•„์š”๊ฐ€ ์žˆ์Œ
  • ์—…๋ฐ์ดํŠธ์™€ ๊ต์œก: ์ตœ์‹  ๋ณด์•ˆ ํŒจ์น˜๋ฅผ ์ ์šฉํ•˜๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์•ˆ ๊ต์œก์„ ์ œ๊ณตํ•˜์—ฌ ๋ณด์•ˆ ์œ„ํ˜‘์— ๋Œ€์‘ํ•ด์•ผ ํ•จ

๋น„๋ก ๋‚ด ๋‡Œํ”ผ์…œ(?)์ด์ง€๋งŒ..

์ด๋Ÿฌํ•œ ์ ๋“ค์„ ๊ณ ๋ คํ•˜์—ฌ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์—†๋Š” ์ธ์ฆ ๋ฐฉ์‹์ด ๋ณด๋‹ค ์•ˆ์ „ํ•˜๊ณ  ํšจ์œจ์ ์ธ ์ธ์ฆ์˜ ํ‘œ์ค€์œผ๋กœ ์ž๋ฆฌ ์žก์„ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€๋œ๋‹ค.