๐Ÿ’ Spring/Spring Security

4. JWT๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์ „ RSA์— ๋Œ€ํ•ด์„œ

iseunghan 2021. 10. 27. 10:33
๋ฐ˜์‘ํ˜•

์ด ํฌ์ŠคํŠธ๋Š” ๋ฐ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ๋‹˜์˜ ์œ ํŠœ๋ธŒ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๋‚˜์„œ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

 

2021.10.26 - [๐Ÿ’ Spring/Spring Security] - 3. JWT๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์ „ CIA ๋Œ€ํ•ด ์ดํ•ดํ•˜๊ธฐ

 

3. JWT๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์ „ CIA ๋Œ€ํ•ด ์ดํ•ดํ•˜๊ธฐ

์ด ํฌ์ŠคํŠธ๋Š” ๋ฐ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ๋‹˜์˜ ์œ ํŠœ๋ธŒ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๋‚˜์„œ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. CIA CIA(Confidentiality Integrity Availability) Confidentiality(๊ธฐ๋ฐ€์„ฑ) ๊ฐœ์ธ์ •๋ณด, ๋ฏผ๊ฐํ•œ ์ •๋ณด ๋“ฑ์„ ์ธ๊ฐ€๋œ ์‚ฌ์šฉ์ž์—๊ฒŒ๋งŒ ํ—ˆ๊ฐ€..

iseunghan.tistory.com

 

์ €๋ฒˆ ์‹œ๊ฐ„์— ๋‘ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

  1. ์—ด์‡  ์ „๋‹ฌ ๋ฌธ์ œ
  2. ๋ˆ„๊ฐ€ ๋ณด๋ƒˆ๋Š”์ง€? ์— ๋Œ€ํ•œ ๋ฌธ์ œ, ์ธ์ฆ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•  ๊ฒƒ์ธ๊ฐ€

 

RSA(์•”ํ˜ธํ™”)

  • Public Key : ๊ณต๊ฐœ ํ‚ค
    • ์ž์‹ ์˜ ๋ธ”๋กœ๊ทธ๋‚˜ ์˜คํ”ˆ๋œ ๊ณต๊ฐ„์— ๊ณต๊ฐœํ•ด๋„ ๋ฌธ์ œ๋˜์ง€ ์•Š์Œ
  • Private Key : ๊ฐœ์ธ ํ‚ค
    • ์˜ค์ง ์ž์‹ ๋งŒ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•จ

 

๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”๋ฅผ ํ–ˆ๋‹ค๋ฉด, ๊ฐœ์ธํ‚ค๋กœ๋งŒ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”๋ฅผ ํ–ˆ๋‹ค๋ฉด, ๊ณต๊ฐœํ‚ค๋กœ๋งŒ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด์ „ ๋ฌธ์ œ์— RSA๋ฅผ ์ ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•ด๋ณด์ž

  • A๊ฐ€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณด๋‚ผ ๋•Œ, B์˜ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”๋ฅผ ํ•œ ๋’ค ๋ณด๋ƒˆ๋‹ค.
  • ํ•˜์ง€๋งŒ, ์ค‘๊ฐ„์— C๊ฐ€ ์ค‘๊ฐ„์— ๊ฐ€๋กœ์ฑ˜๋‹ค. ํ•˜์ง€๋งŒ C๋Š” ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜๊ฐ€ ์—†๋‹ค. ์™œ? B์˜ ๊ณต๊ฐœํ‚ค๋Š” ๋ฐ˜๋“œ์‹œ B์˜ ๊ฐœ์ธํ‚ค๋กœ๋งŒ ์—ด ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ

 

์—ด์‡  ์ „๋‹ฌ ๋ฌธ์ œ ํ•ด๊ฒฐ

 

๊ทธ๋ ‡๋‹ค๋ฉด ๋ˆ„๊ฐ€ ๋ณด๋ƒˆ๋Š”์ง€๋Š” ์–ด๋–ป๊ฒŒ ์ธ์ฆํ• ๊นŒ?

  • ์œ„์—์„œ B์˜ ๊ณต๊ฐœํ‚ค๋Š” ๋ฐ˜๋“œ์‹œ B์˜ ๊ฐœ์ธํ‚ค๋กœ๋งŒ ์—ด ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ–ˆ๋‹ค.
  • ๊ทธ๋ ‡๋‹ค๋Š” ๊ฑด? ๋ฐ˜๋Œ€๋กœ ์ ์šฉํ•˜๋ฉด ์–ด๋–จ๊นŒ?
  • A๊ฐ€ ๋ณด๋ƒˆ๋‹ค๋Š” ์˜๋ฏธ๋กœ ์ž์‹ ์˜ ๊ฐœ์ธํ‚ค๋กœ ํ•œ๋ฒˆ ๋” ์ž ๊ทธ๋Š” ๊ฒƒ์ด๋‹ค.
  • ๋งŒ์•ฝ A๊ฐ€ ๋ณด๋‚ธ๊ฒŒ ๋งž๋‹ค๋ฉด ๋ฌด์กฐ๊ฑด A์˜ ๊ณต๊ฐœํ‚ค๋กœ ์—ด๋ ค์•ผ๋งŒ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค!

 

B๋Š” ์ด์ œ ๋ฌธ์„œ๋ฅผ ๋ฐ›์•˜์„ ๋•Œ, ์•„๋ž˜์™€ ๊ฐ™์ด ์ฒ˜๋ฆฌํ•œ๋‹ค.

์ธ์ฆ
  • A์˜ ๊ณต๊ฐœํ‚ค๋กœ ๋ฌธ์„œ๋ฅผ ์—ด์–ด๋ณธ๋‹ค. 
    • ์—ด๋ฆฐ๋‹ค? A๊ฐ€ ๋ณด๋‚ธ ๊ฒƒ์ด ํ™•์‹คํ•˜๋‹ค. (์ธ์ฆ ์™„๋ฃŒ)
    • ์•ˆ์—ด๋ฆฐ๋‹ค? A๊ฐ€ ๋ณด๋‚ธ ๊ฒƒ์ด ์•„๋‹ˆ๋ฏ€๋กœ ์—ด์ง€ ์•Š๋Š”๋‹ค.
์•”ํ˜ธํ™”
  • B์˜ ๊ฐœ์ธํ‚ค๋กœ ์—ด์–ด๋ณธ๋‹ค.
    • ์—ด๋ฆฐ๋‹ค? ์•”ํ˜ธํ™”๊ฐ€ ์ž˜ ๋˜์—ˆ๋‹ค. (์•”ํ˜ธํ™” ์™„๋ฃŒ)
    • ์•ˆ์—ด๋ฆฐ๋‹ค? ์•”ํ˜ธํ™”๊ฐ€ ๋˜์ง€ ์•Š์•˜๋‹ค.

 

 

RSA

๊ณต๊ฐœํ‚ค -> ๊ฐœ์ธํ‚ค (์•”ํ˜ธํ™”์— ์ž์ฃผ ์‚ฌ์šฉ)
๊ฐœ์ธํ‚ค -> ๊ณต๊ฐœํ‚ค (์ „์ž ์„œ๋ช…์— ์ž์ฃผ ์‚ฌ์šฉ)


๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•