2 minute read

๊ธฐํš ์‹œ๋ฆฌ์ฆˆ: Web Authentication

  1. Cookie & Session & JWT
  2. OAuth
  3. OpenID Connect(OIDC)
  4. SSO ๐Ÿ‘ˆ
  5. SAML

์ด ๊ธ€์€ SSO๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๊ฐœ์ธ์ ์œผ๋กœ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ง€์ ๊ณผ ์กฐ์–ธ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค ใ…Žใ…Ž


SSO(Single Sign-On)์€ ํ•œ๋ฒˆ์˜ ๋กœ๊ทธ์ธ์œผ๋กœ ์—ฌ๋Ÿฌ ์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ ์ธ์ฆ์„ ํ•œ๋ฒˆ์— ์ˆ˜ํ–‰ํ•˜์—ฌ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ๋“ค์„ ์ด์šฉํ•  ๋•Œ ์ถ”๊ฐ€์ ์ธ ๋กœ๊ทธ์ธ ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋งํ•œ๋‹ค.

SSO์˜ ๋Œ€ํ‘œ์ ์ธ ์‚ฌ๋ก€๋Š” Google ๋กœ๊ทธ์ธ์œผ๋กœ ํ•œ๋ฒˆ์˜ ๋กœ๊ทธ์ธ์œผ๋กœ, Gmail, YouTube, Google Calendar ๋“ฑ์˜ ์„œ๋น„์Šค๋ฅผ ๋กœ๊ทธ์ธ ์—†์ด ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค! ๐Ÿ˜

๋ณดํ†ต โ€œํ†ตํ•ฉ ์ธ์ฆโ€์„ SSO๋ผ๊ณ  ์ด๋ฅด๋ฉฐ, ํ•˜๋‚˜์˜ ์‹œ์Šคํ…œ์—์„œ ํ†ตํ•ฉ ์ธ์ฆ์œผ๋กœ ๋กœ๊ทธ์ธ์„ ํ–ˆ๋‹ค๋ฉด, ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์„ ์ด์šฉํ•  ๋•Œ ์ธ์ฆ ์ •๋ณด ์œ ๋ฌด๋ฅผ ํ™•์ธํ•ด ์žˆ์œผ๋ฉด ๊ทธ๊ฒƒ์œผ๋กœ ๋กœ๊ทธ์ธ์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ์—†๋‹ค๋ฉด ๋‹ค์‹œ ํ†ตํ•ฉ ์ธ์ฆ์œผ๋กœ ๋กœ๊ทธ์ธ ํ•˜๋„๋ก ์šด์˜๋œ๋‹ค.


์žฅ์ .

  • ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ์•”ํ˜ธ์˜ ๋‚œ๋ฆฝ์„ ์ฐจ๋‹จํ•จ์œผ๋กœ์จ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX) ๊ฐœ์„ 
  • ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„๊ณผ ์•”ํ˜ธ์˜ ์ˆ˜๋ฅผ ์ค„์—ฌ ์•”ํ˜ธ ์œ„์ƒ ์ƒํƒœ๋ฅผ ๊ฐœ์„ ํ•˜์—ฌ ๋ณด์•ˆ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.
    (์ฆ‰, ์‰ฌ์šด ์•”ํ˜ธ๋ฅผ ์—ฌ๋Ÿฌ ๊ณณ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ SSO๋กœ ํ•˜๋‚˜์˜ ๋กœ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜๋˜ ๊ทธ SSO์˜ ์•”ํ˜ธ๋Š” ๋ณต์žกํ•œ ๊ฒƒ์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๋ง์ด๋‹ค!)
  • ํ™•์žฅ์„ฑ
  • ์ธ์ฆ์— ๋Œ€ํ•œ ๋ถ€๋ถ„์„ ์ค‘์•™์—์„œ ๊ด€๋ฆฌํ•จ์œผ๋กœ์จ, ์ธ์  ์ž์›์„ ์ ˆ์•ฝ

SSO๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ๋ชจ๋ธ๋กœ ๋‚˜๋ˆ„์–ด ์ง„๋‹ค.

1. Delegation Model; ์ธ์ฆ ๋Œ€ํ–‰ ๋ชจ๋ธ

Image from here

๊ฐ ๊ฐœ๋ณ„ ์„œ๋น„์Šค์˜ ์ธ์ฆ์„ ํ†ตํ•ฉ ์ธ์ฆ์„ ํ†ตํ•ด ์ ‘๊ทผ. ๋ณธ์ธ์ด ์žฌํ•™ ์ค‘์ธ POSTECH SSO๊ฐ€ ์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค.


2. Propagation Model; ์ธ์ฆ ์ •๋ณด ์ „๋‹ฌ ๋ชจ๋ธ

Image from here

SSO ํ†ตํ•ฉ ์ธ์ฆ์— ๋กœ๊ทธ์ธ ํ–ˆ์„ ๋•Œ, โ€œ์ธ์ฆ ํ† ํฐโ€์„ ๋ฐœ๊ธ‰ ๋ฐ›์Œ. โ€œ์ธ์ฆ ํ† ํฐโ€์œผ๋กœ ๊ฐœ๋ณ„ ์„œ๋น„์Šค์—์„œ ์ธ์ฆ์„ ์ˆ˜ํ–‰ํ•จ. Google ๋กœ๊ทธ์ธ์ด ์ด๊ฒƒ์— ํ•ด๋‹นํ•จ.

๋งŒ์•ฝ Cookie๋กœ ์ธ์ฆ ํ† ํฐ์„ ๊ตฌํ˜„ํ•œ๋‹ค๋ฉด, ์•„๋ž˜์˜ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•ด์•ผ ํ•œ๋‹ค.

  • Data Confidentiality; ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ€ ์œ ์ง€: ํ† ํฐ์€ ์ ์ ˆํ•œ ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์•”ํ˜ธํ™” ๋˜์–ด์•ผ ํ•œ๋‹ค.
  • Data Integrity; ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ: ํ† ํฐ์€ MAC(๋ฉ”์‹œ์ง€ ์ธ์ฆ ์ฝ”๋“œ) ๋“ฑ์„ ํฌํ•จํ•ด ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•ด์•ผ ํ•œ๋‹ค.
  • ํ† ํฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์†Œ๋ฅผ ์ œํ•œํ•˜๊ฑฐ๋‚˜ ์œ ํšจ ์‹œ๊ฐ„์„ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.

์ฐธ๊ณ ์ž๋ฃŒ