๐Ÿงด์†”ํŠธยทํ•ด์‹œ ๋ฐ˜๋ณต ๋ผ์šด๋“œ ๊ถŒ์žฅ ๊ฐ€์ด๋“œ

์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ ํƒ๊ณผ PBKDF2 ๋ฐ˜๋ณตยท์†”ํŠธ ๊ธธ์ด๋ฅผ ์—ญ์‚ฐ

ํšŒ
ms
ms
B
๋ช…
์•Œ๊ณ ๋ฆฌ์ฆ˜OWASP ๊ฐ€ ๋‘๋Š” ์ž๋ฆฌ๋ช…์‹œํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ

์†”ํŠธ๋Š” ๋น„๋ฐ€์ด ์•„๋‹ˆ๋ผ ํ•ด์‹œ์™€ ํ•จ๊ป˜ ์ €์žฅํ•˜๋Š” ๊ฐ’์ด๊ณ , ์‚ฌ์šฉ์ž๋งˆ๋‹ค ๋‹ค๋ฅธ ๋‚œ์ˆ˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ™์€ ์†”ํŠธ๋ฅผ ์ „์—ญ์œผ๋กœ ๋Œ๋ ค์“ฐ๋ฉด ์†”ํŠธ๋ฅผ ์“ฐ๋Š” ์˜๋ฏธ๊ฐ€ ์—†์–ด์ง‘๋‹ˆ๋‹ค. bcrypt ์˜ cost ๊ฐ’ ์ž์ฒด๋Š” ์ด ๋„๊ตฌ๊ฐ€ ๋‹ค๋ฃจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทผ๊ฑฐ: OWASP Password Storage Cheat Sheet (2026๋…„ 10์›” ํ™•์ธ) - ์ด์ƒ์ ์ธ work factor ์— ํ™ฉ๊ธˆ๋ฅ ์€ ์—†๋‹ค๊ณ  ๋ฐํžˆ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ด€๋ จ๋œ ๋„๊ตฌ

์†”ํŠธยทํ•ด์‹œ ๋ฐ˜๋ณต ๋ผ์šด๋“œ ๊ฐ€์ด๋“œ ์‚ฌ์šฉ๋ฒ•

์“ฐ๋ ค๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณ ๋ฅด๊ณ , ์ธก์ •์— ์“ด PBKDF2 ๋ฐ˜๋ณต ํšŸ์ˆ˜์™€ ๊ทธ๋•Œ ๊ฑธ๋ฆฐ 1ํšŒ ์‹œ๊ฐ„, ๋ชฉํ‘œ ์‹œ๊ฐ„์„ ๋„ฃ์œผ๋ฉด ๋ชฉํ‘œ ์•ˆ์— ๋“ค์–ด์˜ค๋Š” ์ตœ๋Œ€ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ์—ญ์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์†”ํŠธ ๊ธธ์ด์™€ ์ €์žฅํ•  ์‚ฌ์šฉ์ž ์ˆ˜๋ฅผ ๋„ฃ์œผ๋ฉด ์†”ํŠธ ์กฐํ•ฉ ์ˆ˜์™€ ์ค‘๋ณต ํ™•๋ฅ ๋„ ๋‚˜์˜ต๋‹ˆ๋‹ค. bcrypt ์˜ cost ๊ฐ’ ์ž์ฒด๋Š” ๋‹ค๋ฃจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ณ„์‚ฐ ๋ฐฉ์‹๊ณผ ๊ทผ๊ฑฐ

PBKDF2 ๋Š” ๋ฐ˜๋ณต ํšŸ์ˆ˜์— ์‹œ๊ฐ„์ด ๊ฑฐ์˜ ๋น„๋ก€ํ•˜๋ฏ€๋กœ ์ตœ๋Œ€ ๋ฐ˜๋ณต = ์ธก์ • ๋ฐ˜๋ณต ร— (๋ชฉํ‘œ ์‹œ๊ฐ„ รท ์ธก์ • ์‹œ๊ฐ„) ์œผ๋กœ ๋‚ด๋ฆผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์†”ํŠธ ์ค‘๋ณต์€ ์กฐํ•ฉ ์ˆ˜ 2^(8 ร— ๋ฐ”์ดํŠธ) ์—์„œ ์ƒ์ผ ๋ฌธ์ œ๋กœ ๊ทผ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ณ„ ๊ธฐ์ค€์€ OWASP Password Storage Cheat Sheet (2026๋…„ 10์›” ํ™•์ธ) ๋ฅผ ๋”ฐ๋ž์Šต๋‹ˆ๋‹ค.

ํ•œ๊ณ„์™€ ์ฃผ์˜์‚ฌํ•ญ

OWASP ๋Š” ์ด์ƒ์ ์ธ work factor ์— ํ™ฉ๊ธˆ๋ฅ ์ด ์—†๋‹ค๊ณ  ๋ชป ๋ฐ•์Šต๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋Š” ํ•ด์‹œ๋ฅผ ์ง์ ‘ ๋Œ๋ฆฌ์ง€ ์•Š์œผ๋ฏ€๋กœ ์šด์˜๊ณผ ๊ฐ™์€ CPU ์—์„œ ์ธก์ •ํ•œ ๊ฐ’์„ ๋„ฃ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ’์„ ๊ณผํ•˜๊ฒŒ ์˜ฌ๋ฆฌ๋ฉด ๋กœ๊ทธ์ธ์ด ๋ชฐ๋ฆด ๋•Œ CPU ๊ฐ€ ๋จผ์ € ๊ณ ๊ฐˆ๋ผ ์Šค์Šค๋กœ ๋ฉˆ์ถฅ๋‹ˆ๋‹ค. ์–ด๋–ค ์„ค์ •๋„ ๊ทธ ์ž์ฒด๋กœ ์•ˆ์ „์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

์†”ํŠธ๋Š” ๋น„๋ฐ€๋กœ ์ˆจ๊ฒจ์•ผ ํ• ๊นŒ?

์†”ํŠธ๋Š” ๋น„๋ฐ€์ด ์•„๋‹ˆ๋ผ ํ•ด์‹œ์™€ ๋‚˜๋ž€ํžˆ ์ €์žฅํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๊ฐ™์€ ํ•ด์‹œ๋กœ ๋‚จ์ง€ ์•Š๊ฒŒ ํ•ด์„œ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ๋‘” ํ‘œ๋กœ ํ•œ๊บผ๋ฒˆ์— ๊นจ๋Š” ๊ณต๊ฒฉ์„ ๋ง‰๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ž…๋‹ˆ๋‹ค. ๋Œ€์‹  ์‚ฌ์šฉ์ž๋งˆ๋‹ค ๋‹ค๋ฅธ ๋‚œ์ˆ˜์—ฌ์•ผ ํ•˜๊ณ , ์ „์—ญ์œผ๋กœ ํ•˜๋‚˜๋ฅผ ๋Œ๋ ค์“ฐ๋ฉด ํšจ๊ณผ๊ฐ€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

๋ฐ˜๋ณต ํšŸ์ˆ˜๋Š” ๋ช‡์œผ๋กœ ๋‘˜๊นŒ?

OWASP ๋Š” ์ด์ƒ์ ์ธ ๊ฐ’์— ํ™ฉ๊ธˆ๋ฅ ์ด ์—†๋‹ค๊ณ  ๋ฐํž™๋‹ˆ๋‹ค. PBKDF2 ๋ผ๋ฉด FIPS-140 ์ด ํ•„์š”ํ•  ๋•Œ 600,000ํšŒ ์ด์ƒ์„ ์ œ์‹œํ•˜๊ณ , ํ•ด์‹œ 1ํšŒ๊ฐ€ 1์ดˆ๋ฅผ ๋„˜์ง€ ์•Š๊ฒŒ ๋‘๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ธ ์ง€์นจ์ž…๋‹ˆ๋‹ค. ์šด์˜๊ณผ ๊ฐ™์€ CPU ์—์„œ ์žฌ์–ด ๋ณธ ๊ฐ’์„ ๋„ฃ์–ด ์—ญ์‚ฐํ•˜์„ธ์š”.

์–ด๋А ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณจ๋ผ์•ผ ํ• ๊นŒ?

OWASP ๋Š” ์‹ ๊ทœ ์‹œ์Šคํ…œ์— Argon2id ๋ฅผ ๋จผ์ € ๋‘๊ณ , ์“ธ ์ˆ˜ ์—†์œผ๋ฉด scrypt, FIPS-140 ์ด ํ•„์š”ํ•˜๋ฉด PBKDF2, bcrypt ๋Š” ๋ ˆ๊ฑฐ์‹œ์šฉ์œผ๋กœ ๋‘ก๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋Š” ๊ทธ ๊ธฐ์ค€์„ ๋‚˜๋ž€ํžˆ ๋ณด์—ฌ ์ฃผ๊ธฐ๋งŒ ํ•˜๊ณ  ๋Œ€์‹  ๊ณจ๋ผ ์ฃผ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.