Password ์•”ํ˜ธํ™” ๐Ÿ”๐Ÿ”

์ด๊ธฐ๊ณคยท2022๋…„ 3์›” 7์ผ
0

Password ์•”ํ˜ธํ™”

password ๋ฅผ ์™œ ์•”ํ˜ธํ™” ํ•ด์•ผ ํ• ๊นŒ??

์•”ํ˜ธํ™”๋ฅผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์œ ์ถœ๋˜๋Š” ๊ณต๊ฒฉ ๋˜์—ˆ์„ ๊ฒฝ์šฐ ์ •๋ณด์œ ์ถœ์„ ๋ง‰๊ธฐ ์œ„ํ•œ๊ฒƒ

์˜ˆ๋ฅผ ๋“ค์–ด ์šด์˜๋˜๊ณ  ์žˆ๋Š” ์‡ผํ•‘๋ชฐ ์‚ฌ์ดํŠธ๊ฐ€ ๊ด€๋ฆฌ์ž์˜ ๋ถ€์ฃผ์˜๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€
์œ ์ถœ ๋˜๊ฑฐ๋‚˜, ๋˜๋Š” ํ•ด์ปค์— ์˜ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๊ณต๊ฒฉ ๋‹นํ–ˆ์„ ๊ฒฝ์šฐ
์ €์žฅ๋˜์–ด ์žˆ๋Š” ์œ ์ €๋“ค์˜ ๊ฐœ์ธ์ •๋ณด๊ฐ€ ์œ ์ถœ๋˜์–ด ๊ฐ์ข… ๋ฒ”์ฃ„์— ์•…์šฉ ๋  ์ˆ˜ ์žˆ๋‹ค.
์ด๋กœ์ธํ•ด ์•”ํ˜ธํ™”๋Š” ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•จ์— ์žˆ์–ด์„œ ์„ ํƒ์‚ฌํ•ญ์ด ์•„๋‹Œ ํ•„์ˆ˜์‚ฌํ•ญ ์ด๋‹ค!!

๋‹จ๋ฐฉํ–ฅ ์•”ํ˜ธํ™”

  • ๋‹จ๋ฐฉํ–ฅ ํ•ด์‹œ ํ•จ์ˆ˜

    ์•”ํ˜ธํ™”์—ฐ์‚ฐ์„ ํ†ตํ•ด ์›๋ณธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณ€ํ™”์‹œ์ผœ ๋‹ค์ด์ œ์ŠคํŠธ(ํ•ด์‹ฑ ๊ณต์‹์— ์ƒ์„ฑ๋œ ๋ฌธ์ž์—ด)๋ฅผ ์ƒ์„ฑ
    ๋‹จ๋ฐฉํ–ฅ์„ฑ: ์›๋ณธ๋ฉ”์‹œ์ง€๋ฅผ ๊ตฌํ•˜๋ฉด ์•”ํ˜ธํ™”๋œ ๋ฉ”์‹œ์ง€๋ฅผ ๊ตฌํ•˜๊ธฐ๋Š” ์‰ฝ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•”ํ˜ธํ™”๋œ ๋ฉ”์‹œ์ง€๋กœ ์›๋ณธ ๋ฉ”์‹œ์ง€๋ฅผ ๊ตฌํ• ์ˆ˜๋Š” ์—†๋‹ค.

  • ๋‹จ๋ฐฉํ–ฅ ํ•ด์‹œํ•จ์ˆ˜์˜ ๋ฌธ์ œ์ 

    ์ธ์‹ ๊ฐ€๋Šฅ์„ฑ: ๋™์ผํ•œ ๋ฉ”์‹œ์ง€๊ฐ€ ํ•ญ์ƒ ๋™์ผํ•œ ๋‹ค์ด์ œ์ŠคํŠธ๋ฅผ ๊ฐ–๋Š”๋‹ค๋ฉด ํ•ด์ปค๊ฐ€ ๋‹ค์ด์ œ์ŠคํŠธ๋ฅผ ๋งŽ์ด ํ™•๋ณดํ•œ๋’ค ๊ฒฐ๊ณผ๋ฅผ ํ† ๋Œ€๋กœ ์›๋ณธ๋ฉ”์‹œ์ง€๋ฅผ ์œ ์ถ”ํ•ด๊ฑฐ๋‚˜ ์•…์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์™€ ๊ฐ™์€ ๋‹ค์ด์ œ์ŠคํŠธ ๋ชฉ๋ก์„ ๋ ˆ์ธ๋ณด์šฐ ํ…Œ์ด๋ธ”์ด๋ผํ•˜๊ณ  ๋ ˆ์ธ๋ณด์šฐ ๊ณต๊ฒฉ์ด๋ผ ํ•œ๋‹ค.
    ์†๋„: ํ•ด์‹œํ•จ์ˆ˜์˜ ๋ชฉ์ ์ด ์งง์€์‹œ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ๊ฒƒ์ด๋‹ค. ํ•ด์‹œํ•จ์ˆ˜์˜ ๋น ๋ฅธ์†๋„๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•ด์ปค๊ฐ€ ๋‹ค์ด์ œ์ŠคํŠธ๋ฅผ ์›๋ณธ๋ฌธ์ž์—ด๊ณผ ๋น„๊ตํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค(๋ฐ์ดํ„ฐ๊ฐ€ ์ถฉ๋ถ„ํžˆ ๊ธธ๊ฑฐ๋‚˜ ๋ณต์žกํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ํƒˆ์ทจ๊ฐ€๋Šฅ).

๋‹จ๋ฐฉํ–ฅ ํ•ด์‹œํ•จ์ˆ˜ ๋ณด์™„ํ•˜๊ธฐ

์†”ํŒ…(Salting): ์†”ํŠธ(salt)๋Š” ๋‹จ๋ฐฉํ–ฅ ํ•ด์‹œ ํ•จ์ˆ˜์—์„œ ๋‹ค์ด์ œ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ถ”๊ฐ€๋˜๋Š” ๋ฐ”์ดํŠธ ๋‹จ์œ„์˜ ์ž„์˜์˜ ๋ฌธ์ž์—ด์ด๋‹ค. ์ด ์›๋ณธ ๋ฉ”์‹œ์ง€์— ๋ฌธ์ž์—ด์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋‹ค์ด์ œ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ์†”ํŒ…์ด๋ผํ•œ๋‹ค. ์†”ํŠธ์˜ ๊ธธ์ด๋Š” 32๋ฐ”์ดํŠธ ์ด์ƒ์ด์–ด์•ผ ์†”ํŠธ์™€ ๋‹ค์ด์ œ์ŠคํŠธ๋ฅผ ์ถ”์ธกํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
ํ‚ค ์ŠคํŠธ๋ ˆ์นญ(key stretching): ์›๋ณธ๋ฉ”์‹œ์ง€๋ฅผ ์•”ํ˜ธํ™”๋กœ ๋‹ค์ด์ œ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ƒ์„ฑ๋œ ๋‹ค์ด์ œ์ŠคํŠธ๋ฅผ ์ž…๋ ฅ ๊ฐ’์œผ๋กœ ํ•˜์—ฌ ๋‹ค์ด์ œ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ด๋ฅผ ๋ฐ˜๋ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋‹ค์ด์ œ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ž…๋ ฅํ•œ ํŒจ์Šค์›Œ๋“œ๋ฅผ ๋™์ผํ•œ ํšŸ์ˆ˜๋งŒํผ ํ•ด์‹œํ•ด์•ผ ์ž…๋ ฅํ•œ ํŒจ์Šค์›Œ๋“œ ์ผ์น˜ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฒƒ์„ ํ‚ค ์ŠคํŠธ๋ ˆ์นญ์ด๋ผ ํ•œ๋‹ค.
Adaptive Key Derivation Functions: ๋‹ค์ด์ œ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์†”ํŒ…๊ณผ ํ‚ค ์ŠคํŠธ๋ ˆ์นญ์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ์†”ํŠธ์™€ ํŒจ์Šค์›Œ๋“œ ์™ธ์—๋„ ์ž…๋ ฅ ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ณต๊ฒฉ์ž๊ฐ€ ์‰ฝ๊ฒŒ ๋‹ค์ด์ œ์ŠคํŠธ๋ฅผ ์œ ์ถ”ํ•  ์ˆ˜ ์—†๋„๋ก ํ•˜๊ณ  ๋ณด์•ˆ์˜ ๊ฐ•๋„๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.

๋Œ€ํ‘œ์ ์ธ ํ•ด์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • pbkdf2
    ํ•ด์‹œ ํ•จ์ˆ˜์˜ ์ปจํ…Œ์ด๋„ˆ
    salt๋ฅผ ์ ์šฉํ•œ ํ›„ ํ•ด์‹œ ํ•จ์ˆ˜์˜ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ์ž„์˜๋กœ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.
    ๊ฐ€๋ณ๊ณ  ๊ตฌํ˜„ํ•˜๊ธฐ ์‰ฝ๋‹ค.
    SHA์™€ ๊ฐ™์ด ๊ฒ€์ฆ๋œ ํ•ด์‹œ ํ•จ์ˆ˜๋งŒ์„ ์‚ฌ์šฉํ•ด hashingํ•œ๋‹ค.
    NIST์— ์˜ํ•ด์„œ ์Šน์ธ๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • bcrypt
    ํ˜„์žฌ ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ํ•ด์‹œ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์ค‘ ํ•˜๋‚˜
    blowfish ์•”ํ˜ธํ™”์— ๊ธฐ๋ฐ˜์„ ๋‘๊ณ  ์žˆ๋‹ค.
    ์ž…๋ ฅ ๊ฐ’์œผ๋กœ 72 bytes character๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
  • scrypt
    adaptive key derivation function
    digest๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๊ฐ–๋„๋ก ์„ค๊ณ„ํ•˜์—ฌ ๋ธŒ๋ฃจํŠธ ํฌ์Šค ๊ณต๊ฒฉ์„ ์‹œ๋„ํ•  ๋•Œ ๋ณ‘๋ ฌํ™” ์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ต๋‹ค.
    ๋ฏธ๋ž˜์˜ ๊ด€์ ์—์„œ ๋ดค์„ ๋•Œ 3๊ฐ€์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘์—์„œ ๊ฐ€์žฅ ๊ฒฝ์Ÿ๋ ฅ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ฝ‘ํžŒ๋‹ค.

๋งˆ๋ฌด๋ฆฌ

๊ทธ๋Ÿผ ๊ฒฐ๋ก ์ ์œผ๋กœ ๊ฐ€์žฅ ์ข‹๊ณ  ๊ฐ•๋ ฅํ•œ, ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์„œ ์•”ํ˜ธํ™”๋ฅผ ํ•ด์•ผ ํ•˜๋‚˜?? ๋ผ๊ณ ํ•œ๋‹ค๋ฉด
๊ผญ ๊ทธ๋ ‡์ง€๋งŒ์€ ์•Š๋‹ค, ๋ฌผ๋ก  ๊ฐ•๋ ฅํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ์•”ํ˜ธํ™”๋ฅผ ํ•˜๋ฉด ์ •๋ณด์œ ์ถœ์— ๋Œ€ํ•ด์„œ๋Š” ๋ณด๋‹ค
์•ˆ์ „ํ•˜๊ฒ ์ง€๋งŒ, ์„œ๋น„์Šค๊ฐ€ ๊ฐ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ์ž์›์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๊ณ  ํ•œ์ •๋œ ์ž์›์—์„œ ์ตœ์ ์˜ ํšจ๊ณผ๋ฅผ ๋‚ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ฑด,์ƒํ™ฉ์— ๋งž๋Š” ์ ์ ˆํ•œ ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค!!

์ฐธ๊ณ  ์ž๋ฃŒ

profile
๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅ์ค‘......

0๊ฐœ์˜ ๋Œ“๊ธ€