๊ด€๋ฆฌ ๋ฉ”๋‰ด

Jin's Dev Story

[Spring Security] ์„ธ์…˜๊ณผ ์ฟ ํ‚ค๋ฅผ ์ด์šฉํ•œ ์ธ์ฆ ๋ณธ๋ฌธ

Web & Android/Spring Security

[Spring Security] ์„ธ์…˜๊ณผ ์ฟ ํ‚ค๋ฅผ ์ด์šฉํ•œ ์ธ์ฆ

woojin._. 2023. 10. 17. 16:08
๐Ÿ’ก ์„ธ์…˜๊ณผ ์ฟ ํ‚ค๋ฅผ ์ด์šฉํ•œ ์ธ์ฆ

์ธ์ฆ ์ˆœ์„œ

  1. ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธ์„ ํ•จ
  2. ์„œ๋ฒ„์—์„œ ๊ณ„์ • ์ •๋ณด๋ฅผ ์ฝ์–ด ์‚ฌ์šฉ์ž ํ™•์ธ
  3. ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ณ ์œ ํ•œ ID ๊ฐ’ ๋ถ€์—ฌํ•˜์—ฌ ์„ธ์…˜ ์ €์žฅ์†Œ์— ์ €์žฅ
  4. ์ด์™€ ์—ฐ๊ฒฐ๋˜๋Š” Session ID๋ฅผ ๋ฐœ๊ธ‰
  5. ์„œ๋ฒ„์—๋Š” HTTP ์‘๋‹ต ํ—ค๋”์— ๋ฐœ๊ธ‰๋œ Session ID๋ฅผ ๊ฐ™์ด ๋ณด๋ƒ„
  6. ์ดํ›„ ๋งค ์š”์ฒญ๋งˆ๋‹ค HTTP ์š”์ฒญ ํ—ค๋”์— Session ID๊ฐ€ ๋‹ด๊ธด ์ฟ ํ‚ค๋ฅผ ๊ฐ™์ด ๋ณด๋ƒ„
  7. ์„œ๋ฒ„์—์„œ๋Š” ์ฟ ํ‚ค๋ฅผ ๋ฐ›์•„ ์„ธ์…˜ ์ €์žฅ์†Œ์—์„œ ๋Œ€์กฐ๋ฅผ ํ•œ ํ›„
  8. ๋Œ€์‘๋˜๋Š” ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ด
  9. ์ธ์ฆ์ด ์™„๋ฃŒ๋˜๊ณ  ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด์คŒ

์žฅ์ 

  • ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋Š” ์„ธ์…˜ ์ €์žฅ์†Œ์— ์ €์žฅ๋˜๊ณ , ์ฟ ํ‚ค๋Š” ๊ทธ ์ €์žฅ์†Œ๋ฅผ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ๋Š” ์ถœ์ž…์ฆ ์—ญํ• ์„ ํ•จ
  • → ์ฟ ํ‚ค๊ฐ€ ๋‹ด๊ธด HTTP ์š”์ฒญ์ด ๋„์ค‘์— ๋…ธ์ถœ๋˜๋”๋ผ๋„ ์ฟ ํ‚ค ์ž์ฒด์—๋Š” ์œ ์˜๋ฏธํ•œ ๊ฐ’์„ ๊ฐ–๊ณ  ์ž‡์ง€ ์•Š์•„์„œ ์ฟ ํ‚ค์— ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๋‹ด์•„ ์ธ์ฆ์„ ๊ฑฐ์น˜๋Š” ๊ฒƒ๋ณด๋‹ค ์•ˆ์ „ํ•จ
  • ๊ฐ๊ฐ์˜ ์‚ฌ์šฉ์ž๋Š” ๊ณ ์œ ์˜ Session ID๋ฅผ ๋ฐœ๊ธ‰ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ์ผ์ผ์ด ํšŒ์› ์ •๋ณด๋ฅผ ํ™•์ธํ•  ํ•„์š”๊ฐ€ ์—†์–ด ์„œ๋ฒ„ ์ž์›์— ์ ‘๊ทผํ•˜๊ธฐ ์šฉ์ดํ•จ

๋‹จ์ 

  • ์ฟ ํ‚ค์— ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๋‹ด์•„ ์ธ์ฆ์„ ๊ฑฐ์น˜๋Š” ๊ฒƒ๋ณด๋‹ค ์•ˆ์ „ํ•˜์ง€๋งŒ, ํ•ด์ปค๊ฐ€ ์ฟ ํ‚ค๋ฅผ ํƒˆ์ทจํ•œ ํ›„ ๊ทธ ์ฟ ํ‚ค๋ฅผ ์ด์šฉํ•ด HTTP ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž๋กœ ์˜ค์ธํ•ด ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๊ฒŒ ๋จ⇒ ํ•ด๊ฒฐ์ฑ… : HTTPS ํ”„๋กœํ† ์ฝœ ์‚ฌ์šฉ๊ฐ€ ์„ธ์…˜์— ๋งŒ๋ฃŒ ์‹œ๊ฐ„์„ ๋„ฃ์–ด์ฃผ๊ธฐ
  • → ์ด๋ฅผ ์„ธ์…˜ ํ•˜์ด์žฌํ‚น ๊ณต๊ฒฉ์ด๋ผํ•จ
  • ์„œ๋ฒ„์—์„œ ์„ธ์…˜ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ถ”๊ฐ€์ ์ธ ์ €์žฅ๊ณต๊ฐ„์„ ํ•„์š”๋กœ ํ•จ