Hamutaro - Hamtaro 4

Security 3

JWT (JSON Web Token)

JWT ๋ž€?JSON Web Token, JSON ๊ฐ์ฒด๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ ๋ฐฉ์‹์ž๊ธฐ ํฌํ•จ (Self-contained) : ํ† ํฐ์•ˆ์— ์œ ์ € ์ •๋ณด๋‚˜ ๊ถŒํ•œ ๊ฐ™์€ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ง์ ‘ ๋‹ด๊ณ  ์žˆ์–ด์„œ ๋ณ„๋„์˜ ์„ธ์…˜ ์ €์žฅ์†Œ๊ฐ€ ํ•„์š”์—†์Œ์„œ๋ช… (Signature) : ํ† ํฐ์€ ์„œ๋ช…๋˜์–ด ์žˆ์–ด์„œ ๋‚ด์šฉ์ด ์œ„์กฐ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ๊ฒ€์ฆ์ด ๊ฐ€๋Šฅํ•จStateless : ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•  ํ•„์š”์—†์ด ํ† ํฐ๋งŒ ํ™•์ธํ•˜๋ฉด ๋จ JWT ๊ตฌ์กฐHeader : ํ† ํฐ์˜ ํƒ€์ž…๊ณผ ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (ex : HS256)Payload : ์œ ์ € ์ •๋ณด ๋ฐ ํด๋ ˆ์ž„(claims)์ด ํฌํ•จ๋˜๋Š” ๋ฐ์ดํ„ฐ (ex : sub, name, exp ๋“ฑ)Signature : ํ—ค๋”์™€ ํŽ˜์ด๋กœ๋“œ๋ฅผ ๋น„๋ฐ€ํ‚ค๋กœ ํ•ด์‹ฑํ•œ ์„œ๋ช… JWT util class ์˜ˆ์ œimport io.j..

Security 2025.02.18

[Security] IAM(Identity and Access Management) ์ธ์ฆ ์„œ๋ฒ„

IAM(Identity and Access Management) ์ธ์ฆ ์„œ๋ฒ„์‚ฌ์šฉ์ž ๋˜๋Š” ์‹œ์Šคํ…œ์˜ ์ธ์ฆ๊ณผ ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์‚ฌ์šฉ์ž์˜ ์‹ ์›์„ ํ™•์ธํ•˜๊ณ , ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ํ‰๊ฐ€ํ•˜๋Š” ์—ญํ•  IAM ์ธ์ฆ ์„œ๋ฒ„์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์ธ์ฆ (Authentication)์‚ฌ์šฉ์ž๊ฐ€ ์‹œ์Šคํ…œ์— ์ ‘๊ทผํ•  ๋•Œ ๋ณธ์ธ์ด ๋ˆ„๊ตฌ์ธ์ง€ ์ฆ๋ช…ํ•˜๋„๋ก ํ•จ์ผ๋ฐ˜์ ์œผ๋กœ ID/๋น„๋ฐ€๋ฒˆํ˜ธ, ์ƒ์ฒด ์ธ์ฆ, ์ธ์ฆ ํ† ํฐ ๋“ฑ์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง๊ถŒํ•œ ๋ถ€์—ฌ (Authorization)์ธ์ฆ๋œ ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธ์—ญํ• (Role) ๊ธฐ๋ฐ˜, ์ •์ฑ…(Policy) ๊ธฐ๋ฐ˜, ์†์„ฑ(Attribute) ๊ธฐ๋ฐ˜์˜ ์ ‘๊ทผ ์ œ์–ด ๋ชจ๋ธ์„ ํ™œ์šฉ์„ธ์…˜ ๋ฐ ํ† ํฐ ๊ด€๋ฆฌ์„ธ์…˜ ๊ด€๋ฆฌ : ์‚ฌ์šฉ์ž ์ธ์ฆ ํ›„ ์„ธ์…˜์„ ์ƒ์„ฑํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ ..

Security 2025.01.19

[Security] SSO(Single Sign-on)์— ๋Œ€ํ•ด์„œ

SSO(Single Sign-On)๋ž€?์‚ฌ์šฉ์ž๊ฐ€ ์—ฌ๋Ÿฌ ์‹œ์Šคํ…œ ๋˜๋Š” ์—ฌ๋Ÿฌ ์„œ๋น„์Šค์— ๋Œ€ํ•ด ๋‹จ์ผ ์ž๊ฒฉ ์ฆ๋ช…์œผ๋กœ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์‚ฌ์šฉ์ž๋Š” ํ•œ ๋ฒˆ์˜ ๋กœ๊ทธ์ธ์œผ๋กœ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค์— ์ ‘๊ทผ ๊ฐ€๋Šฅ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์— ๋กœ๊ทธ์ธ ์„ธ์…˜์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Œ SSO๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ํŽธ์˜์„ฑ ๋ฐ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ : ํ•œ ๋ฒˆ์˜ ๋กœ๊ทธ์ธ์œผ๋กœ ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ๊ธฐ๋•Œ๋ฌธ์— ๋กœ๊ทธ์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฐ˜๋ณตํ•  ํ•„์š”๊ฐ€ ์—†์Œ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ด€๋ฆฌ ์šฉ์ด์„ฑ : ํ•˜๋‚˜์˜ ๊ฐ•๋ ฅํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋งŒ ๊ด€๋ฆฌํ•˜๋ฉด ๋จ๋ณด์•ˆ ๊ฐ•ํ™” : SSO ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์ค‘์•™ํ™”๋œ ์ธ์ฆ ๋ฐ ์ ‘๊ทผ ์ œ์–ด๋น„์šฉ ์ ˆ๊ฐ : ๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌ์„ค์ • ๋ฐ ๊ด€๋ฆฌ์™€ ๊ฐ™์€ ์ง€์›์— ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„๊ณผ ๋น„์šฉ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Œ SSO ๋งค์ปค๋‹ˆ์ฆ˜ 1. ์ธ์ฆ ( Authentication )์‚ฌ์šฉ์ž๊ฐ€ SSO๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์–ด๋–ค ์„œ๋น„์Šค์— ์ฒ˜์Œ ๋กœ๊ทธ์ธํ•˜๋ฉด, ํ•ด๋‹น ์„œ๋น„์Šค..

Security 2023.12.26