๋น„๋ฐ€๋ฒˆํ˜ธ ์ƒ์„ฑ๊ธฐ

๋กœ๋”ฉ ์ค‘...

์•ˆ์ „ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ธธ์ด์™€ ์˜ต์…˜์„ ์„ค์ •ํ•˜์„ธ์š”.

๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณด์•ˆ์ด๋ž€?

๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณด์•ˆ์€ ์˜จ๋ผ์ธ ๊ณ„์ •๊ณผ ๊ฐœ์ธ์ •๋ณด๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ด๋ฉด์„œ๋„ ์ค‘์š”ํ•œ ๋ณด์•ˆ ์ˆ˜๋‹จ์ž…๋‹ˆ๋‹ค. ์•ฝํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ํ•ด์ปค๊ฐ€ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ๊ณต๊ฒฉ(Brute Force Attack)์ด๋‚˜ ์‚ฌ์ „ ๊ณต๊ฒฉ(Dictionary Attack)์„ ํ†ตํ•ด ์‰ฝ๊ฒŒ ๋šซ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€๋ฒˆํ˜ธ ์ƒ์„ฑ๊ธฐ๋Š” ์‚ฌ๋žŒ์ด ๋งŒ๋“ค๊ธฐ ์–ด๋ ค์šด ๋ฌด์ž‘์œ„ ๋ฌธ์ž ์กฐํ•ฉ์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜์—ฌ, ์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฐ•๋ ฅํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ crypto.getRandomValues API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ•™์ ์œผ๋กœ ์•ˆ์ „ํ•œ ๋‚œ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋ฏ€๋กœ, ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋˜์ง€ ์•Š์•„ ์™„์ „ํžˆ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ•๋ ฅํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ธฐ์ค€

๋น„๋ฐ€๋ฒˆํ˜ธ์˜ ๊ฐ•๋„๋Š” '์—”ํŠธ๋กœํ”ผ(Entropy)'๋ผ๋Š” ๊ฐœ๋…์œผ๋กœ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค. ์—”ํŠธ๋กœํ”ผ๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ์˜ ์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅ์„ฑ์„ ๋น„ํŠธ(bit) ๋‹จ์œ„๋กœ ๋‚˜ํƒ€๋‚ธ ๊ฐ’์ž…๋‹ˆ๋‹ค.

์—”ํŠธ๋กœํ”ผ ๊ณ„์‚ฐ ๊ณต์‹: ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ธธ์ด x log2(๋ฌธ์ž ํ’€ ํฌ๊ธฐ)

์˜ˆ๋ฅผ ๋“ค์–ด, ๋Œ€๋ฌธ์ž+์†Œ๋ฌธ์ž+์ˆซ์ž+ํŠน์ˆ˜๋ฌธ์ž(92์ž)๋กœ ๊ตฌ์„ฑ๋œ 16์ž๋ฆฌ ๋น„๋ฐ€๋ฒˆํ˜ธ์˜ ์—”ํŠธ๋กœํ”ผ๋Š” 16 x log2(92) = ์•ฝ 104๋น„ํŠธ์ž…๋‹ˆ๋‹ค.

๊ฐ•๋„ ํŒ์ • ๊ธฐ์ค€:

  • ๋งค์šฐ ์•ฝํ•จ: 28๋น„ํŠธ ๋ฏธ๋งŒ - ์ˆ˜์ดˆ ๋‚ด ํ•ด๋… ๊ฐ€๋Šฅ
  • ์•ฝํ•จ: 28~36๋น„ํŠธ - ์ˆ˜๋ถ„ ๋‚ด ํ•ด๋… ๊ฐ€๋Šฅ
  • ๋ณดํ†ต: 36~60๋น„ํŠธ - ์ผ๋ฐ˜์ ์ธ ์šฉ๋„์— ์ตœ์†Œ ์ˆ˜์ค€
  • ๊ฐ•ํ•จ: 60~128๋น„ํŠธ - ๋Œ€๋ถ€๋ถ„์˜ ์šฉ๋„์— ์•ˆ์ „
  • ๋งค์šฐ ๊ฐ•ํ•จ: 128๋น„ํŠธ ์ด์ƒ - ํ˜„์žฌ ๊ธฐ์ˆ ๋กœ ํ•ด๋… ๋ถˆ๊ฐ€๋Šฅ
๋น„๋ฐ€๋ฒˆํ˜ธ ๊ด€๋ฆฌ ํŒ

์•ˆ์ „ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ๋งŒํผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

  • ์‚ฌ์ดํŠธ๋งˆ๋‹ค ๋‹ค๋ฅธ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ํ•˜๋‚˜๊ฐ€ ์œ ์ถœ๋˜์–ด๋„ ๋‹ค๋ฅธ ๊ณ„์ •์€ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.
  • ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ด€๋ฆฌ์ž(1Password, Bitwarden ๋“ฑ)๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์ˆ˜์‹ญ ๊ฐœ์˜ ๋ณต์žกํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • 2๋‹จ๊ณ„ ์ธ์ฆ(2FA)์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์œ ์ถœ๋˜์–ด๋„ ์ถ”๊ฐ€ ๋ณดํ˜ธ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
  • 3~6๊ฐœ์›”๋งˆ๋‹ค ์ค‘์š” ๊ณ„์ •์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐœ์ธ์ •๋ณด(์ƒ์ผ, ์ด๋ฆ„, ์ „ํ™”๋ฒˆํ˜ธ)๊ฐ€ ํฌํ•จ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์ ˆ๋Œ€ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.
์ด๋Ÿด ๋•Œ ์‚ฌ์šฉํ•˜์„ธ์š”
  • โ—์ƒˆ๋กœ์šด ์›น์‚ฌ์ดํŠธ๋‚˜ ์•ฑ์— ํšŒ์›๊ฐ€์ž…ํ•  ๋•Œ ๊ฐ•๋ ฅํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํ•„์š”ํ•  ๋•Œ
  • โ—๊ธฐ์กด ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์œ ์ถœ๋˜์–ด ์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ๋•Œ
  • โ—ํšŒ์‚ฌ ๋ณด์•ˆ ์ •์ฑ…์— ๋งž๋Š” ๋ณต์žกํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•  ๋•Œ
  • โ—์—ฌ๋Ÿฌ ๊ณ„์ •์— ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•˜๊ณ  ์‹ถ์„ ๋•Œ
  • โ—๋น„๋ฐ€๋ฒˆํ˜ธ ๊ด€๋ฆฌ์ž์— ์ €์žฅํ•  ์•ˆ์ „ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋Œ€๋Ÿ‰ ์ƒ์„ฑํ•  ๋•Œ
์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ
Q. ์ƒ์„ฑ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์„œ๋ฒ„์— ์ €์žฅ๋˜๋‚˜์š”?
A. ์•„๋‹™๋‹ˆ๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ ์ƒ์„ฑ์€ ๋ธŒ๋ผ์šฐ์ €(ํด๋ผ์ด์–ธํŠธ)์—์„œ๋งŒ ์ด๋ฃจ์–ด์ง€๋ฉฐ, ์„œ๋ฒ„๋กœ ์ „์†ก๋˜๊ฑฐ๋‚˜ ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์˜ crypto.getRandomValues API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ•™์ ์œผ๋กœ ์•ˆ์ „ํ•œ ๋‚œ์ˆ˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํŽ˜์ด์ง€๋ฅผ ๋‹ซ์œผ๋ฉด ์ƒ์„ฑ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์™„์ „ํžˆ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.
Q. ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ธธ์ด๋Š” ๋ช‡ ์ž๋ฆฌ๊ฐ€ ์ ๋‹นํ•œ๊ฐ€์š”?
A. ์ตœ์†Œ 12์ž ์ด์ƒ์„ ๊ถŒ์žฅํ•˜๋ฉฐ, 16์ž ์ด์ƒ์ด ๊ฐ€์žฅ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ฌธ์ž, ์†Œ๋ฌธ์ž, ์ˆซ์ž, ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•œ 16์ž๋ฆฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์•ฝ 104๋น„ํŠธ์˜ ์—”ํŠธ๋กœํ”ผ๋ฅผ ๊ฐ€์ง€๋ฉฐ, ํ˜„์žฌ ๊ธฐ์ˆ ๋กœ๋Š” ํ•ด๋…ํ•˜๋Š” ๋ฐ ์ˆ˜์กฐ ๋…„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.
Q. ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ๊ผญ ํฌํ•จํ•ด์•ผ ํ•˜๋‚˜์š”?
A. ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ, ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜๋ฉด ๋ฌธ์ž ํ’€์ด ์ปค์ ธ ๊ฐ™์€ ๊ธธ์ด์—์„œ ๋” ๋†’์€ ์—”ํŠธ๋กœํ”ผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ์‚ฌ์ดํŠธ์—์„œ ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๋Œ€๋ฌธ์ž+์†Œ๋ฌธ์ž+์ˆซ์ž ์กฐํ•ฉ์œผ๋กœ ๊ธธ์ด๋ฅผ ๋Š˜๋ ค ๋ณด์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Q. ์—”ํŠธ๋กœํ”ผ(Entropy)๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?
A. ์—”ํŠธ๋กœํ”ผ๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ์˜ ๋ฌด์ž‘์œ„์„ฑ(์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅ์„ฑ)์„ ์ธก์ •ํ•˜๋Š” ์ง€ํ‘œ๋กœ, ๋น„ํŠธ(bit) ๋‹จ์œ„๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค. ์—”ํŠธ๋กœํ”ผ๊ฐ€ ๋†’์„์ˆ˜๋ก ํ•ด์ปค๊ฐ€ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ๊ณต๊ฒฉ์œผ๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์•Œ์•„๋‚ด๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๊ณ„์‚ฐ ๊ณต์‹์€ "๋น„๋ฐ€๋ฒˆํ˜ธ ๊ธธ์ด x log2(์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž ์ˆ˜)"์ž…๋‹ˆ๋‹ค.
์•Œ์•„๋‘๋ฉด ์ข‹์€ ์ •๋ณด
  • โ—2023๋…„ ๊ธฐ์ค€ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” "123456"์œผ๋กœ, 1์ดˆ ์ด๋‚ด์— ํ•ด๋… ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค
  • โ—8์ž๋ฆฌ ์ˆซ์ž๋กœ๋งŒ ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์•ฝ 37์ดˆ ๋งŒ์— ํ•ด๋…๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • โ—ํ•œ๊ตญ์ธํ„ฐ๋„ท์ง„ํฅ์›(KISA)์€ ์ตœ์†Œ 10์ž๋ฆฌ ์ด์ƒ, 2์ข…๋ฅ˜ ์ด์ƒ ๋ฌธ์ž ์กฐํ•ฉ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค
  • โ—๋น„๋ฐ€๋ฒˆํ˜ธ ์œ ์ถœ ์—ฌ๋ถ€๋Š” Have I Been Pwned(haveibeenpwned.com) ์‚ฌ์ดํŠธ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • โ—๋™์ผํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์—ฌ๋Ÿฌ ์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋ฉด, ํ•œ ๊ณณ์ด ํ•ดํ‚น๋‹นํ•  ๋•Œ ๋ชจ๋“  ๊ณ„์ •์ด ์œ„ํ—˜ํ•ด์ง‘๋‹ˆ๋‹ค
EVERYCALC
๋ฐฐ๋„ˆ ๋กœ๋”ฉ ์ค‘์ž…๋‹ˆ๋‹ค...