๐Ÿง‚bcrypt ํ•ด์‹œ cost ์„ค์ • ๊ฐ€์ด๋“œ

์ธก์ •๊ฐ’์œผ๋กœ cost๋ณ„ ํ•ด์‹œ ์‹œ๊ฐ„์„ ์—ญ์‚ฐ

cost
ms
ms
/์ดˆ
cost์˜ˆ์ƒ ์‹œ๊ฐ„์ฒ˜๋ฆฌ๋Ÿ‰๋ชฉํ‘œ ๋Œ€๋น„

ํ‘œ์˜ ์‹œ๊ฐ„์€ cost 1 ์ฆ๊ฐ€๋งˆ๋‹ค 2๋ฐฐ๊ฐ€ ๋œ๋‹ค๋Š” bcrypt ์˜ ์„ฑ์งˆ๋กœ ์ž…๋ ฅํ•œ ์ธก์ •๊ฐ’์„ ํ™˜์‚ฐํ•œ ๊ฐ’์ž…๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด๋ณ„ ๋ฒค์น˜๋งˆํฌ ์ˆ˜์น˜๋ฅผ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ ๋ณธ์ธ ์„œ๋ฒ„์—์„œ ์ธก์ •ํ•œ ๊ฐ’์„ ๋„ฃ์œผ์„ธ์š”. ๊ทผ๊ฑฐ: OWASP Password Storage Cheat Sheet (2026๋…„ 10์›” ํ™•์ธ).

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

bcrypt cost ์„ค์ • ๊ฐ€์ด๋“œ ์‚ฌ์šฉ๋ฒ•

์ง€๊ธˆ ์“ฐ๋Š” cost ์™€ ๊ทธ๋•Œ ์ธก์ •ํ•œ ํ•ด์‹œ 1ํšŒ ์‹œ๊ฐ„์„ ๋„ฃ๊ณ  ๋ชฉํ‘œ ์ง€์—ฐ์„ ์ ์œผ๋ฉด, cost ๋ฅผ ๋ฐ”๊ฟ€ ๋•Œ์˜ ์˜ˆ์ƒ ์‹œ๊ฐ„๊ณผ ๋ชฉํ‘œ๋ฅผ ์ง€ํ‚ค๋Š” ์ตœ๋Œ€ cost ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. bcrypt ๋Š” cost ๊ฐ€ 1 ์˜ค๋ฅผ ๋•Œ๋งˆ๋‹ค ๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ 2๋ฐฐ๊ฐ€ ๋˜๋ฏ€๋กœ ํ•œ ์ง€์ ๋งŒ ์ธก์ •ํ•ด๋„ ๋‚˜๋จธ์ง€๋ฅผ ํ™˜์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”ผํฌ ์ดˆ๋‹น ๋กœ๊ทธ์ธ ์ˆ˜๋ฅผ ๋„ฃ์œผ๋ฉด ํ•„์š”ํ•œ CPU ์ฝ”์–ด ์ˆ˜๋„ ๋‚˜์˜ต๋‹ˆ๋‹ค.

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

์˜ˆ์ƒ ์‹œ๊ฐ„์€ ์ธก์ •๊ฐ’ ร— 2^(๋ชฉํ‘œ cost โˆ’ ์ธก์ • cost) ์ด๋ฉฐ ํ•˜๋“œ์›จ์–ด๋ณ„ ๋ฒค์น˜๋งˆํฌ ํ‘œ๋Š” ์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ถŒ๊ณ  ๊ธฐ์ค€์€ OWASP Password Storage Cheat Sheet (2026๋…„ 10์›” ํ™•์ธ) ๋กœ, ์‹ ๊ทœ ์‹œ์Šคํ…œ์—๋Š” Argon2id, bcrypt ๋Š” ๋ ˆ๊ฑฐ์‹œ์šฉ์ด๋ฉฐ work factor 10 ์ด์ƒ, ํ•ด์‹œ 1ํšŒ๋Š” 1์ดˆ ๋ฏธ๋งŒ์„ ์ œ์‹œํ•˜๊ณ  ์ด์ƒ์ ์ธ ๊ฐ’์— ํ™ฉ๊ธˆ๋ฅ ์€ ์—†๋‹ค๊ณ  ๋ฐํž™๋‹ˆ๋‹ค.

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

์ด ๋„๊ตฌ๋Š” ํ•ด์‹œ๋ฅผ ์‹ค์ œ๋กœ ๋Œ๋ฆฌ์ง€ ์•Š์œผ๋ฏ€๋กœ ์ธก์ •๊ฐ’์ด ๋ถ€์ •ํ™•ํ•˜๋ฉด ๊ฒฐ๊ณผ๋„ ์–ด๊ธ‹๋‚ฉ๋‹ˆ๋‹ค. ์šด์˜๊ณผ ๊ฐ™์€ CPU ์—์„œ ์ธก์ •ํ•˜์„ธ์š”. cost ๋ฅผ ๊ณผํ•˜๊ฒŒ ์˜ฌ๋ฆฌ๋ฉด ๋กœ๊ทธ์ธ ํญ์ฃผ ์‹œ ์ž๊ฐ€ DoS ๊ฐ€ ๋˜๋‹ˆ ํ”ผํฌ ๋ถ€ํ•˜ ๊ธฐ์ค€์œผ๋กœ ํŒ๋‹จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ ์นธ์€ 72๋ฐ”์ดํŠธ ์ œํ•œ ํ™•์ธ์šฉ์ด๋ฏ€๋กœ ์‹ค์ œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋„ฃ์ง€ ๋งˆ์„ธ์š”.

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

cost ๋Š” ๋ช‡์œผ๋กœ ์žก์•„์•ผ ํ• ๊นŒ?

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

cost ๋ฅผ ๋†’๊ฒŒ ์žก์œผ๋ฉด ๋” ์•ˆ์ „ํ• ๊นŒ?

ํ•ด์‹œ 1ํšŒ ๋น„์šฉ์ด ์˜ฌ๋ผ๊ฐ€๋Š” ๋งŒํผ ๋กœ๊ทธ์ธ ํญ์ฃผ ์‹œ CPU ๊ฐ€ ๋จผ์ € ๊ณ ๊ฐˆ๋ฉ๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ ๋กœ๊ทธ์ธ ์š”์ฒญ๋งŒ ์Ÿ์•„๋„ ์„œ๋น„์Šค๊ฐ€ ๋ฉˆ์ถ”๋Š” ์ž๊ฐ€ DoS ๊ฐ€ ๋  ์ˆ˜ ์žˆ์–ด, 1ํšŒ 1์ดˆ ๋ฏธ๋งŒ์ด ์ผ๋ฐ˜์ ์ธ ์ง€์นจ์ž…๋‹ˆ๋‹ค.

bcrypt ๋ฅผ ์ƒˆ ์„œ๋น„์Šค์— ์จ๋„ ๋ ๊นŒ?

OWASP ๋Š” ์‹ ๊ทœ ์‹œ์Šคํ…œ์— Argon2id ๋ฅผ ๊ถŒ์žฅํ•˜๊ณ  bcrypt ๋Š” ๋ ˆ๊ฑฐ์‹œ์šฉ์œผ๋กœ ๋‘๋ฉฐ work factor 10 ์ด์ƒ์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ bcrypt ๋ฅผ ์“ฐ๋Š” ๊ณณ์˜ cost ์กฐ์ •์— ์ด ๋„๊ตฌ๋ฅผ ์“ฐ์„ธ์š”.