ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • FORENSICS ์‹œ์ž‘ํ•˜๊ธฐ - ๊ธฐ์ดˆ ๊ฐœ๋… 01 :: ์•”ํ˜ธ๋ž€?
    SECURITY/FORENSICS 2020. 9. 10. 18:00

    0. ์•”ํ˜ธ๋ž€?

     

    ์•”ํ˜ธ(cipher ๋˜๋Š” cypher. cryptography) ๋Š” ๊ทธ๋ฆฌ์Šค์–ด์˜ ๋น„๋ฐ€์ด๋ž€ ๋œป์˜ ํฌ๋ฆฝํ† ์Šค(Cryptos) ๊ฐ€ ์–ด์›์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ๋‹ค.

    ๊ฐ„๋‹จํžˆ ๋งํ•˜์ž๋ฉด ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋ณด์ง€ ๋ชปํ•˜๋„๋ก ๋ง‰๋Š” ๊ธฐ์ˆ ๋“ค์˜ ์ด์นญ์ด๋‹ค.

     

    1. ๊ณ ๋Œ€ ์•”ํ˜ธ

     

    ์•”ํ˜ธํ•™์—์„œ ๊ณ ๋Œ€ ์•”ํ˜ธ๋ž€ ๊ณผ๊ฑฐ์— ์‚ฌ์šฉ๋˜์—ˆ์œผ๋‚˜ ์ง€๊ธˆ์€ ๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์•”ํ˜ธ ๋ฐฉ์‹์ด๋‹ค.

     

    1.1 ์นด์ด์‚ฌ๋ฅด ์•”ํ˜ธ(Caesar cipher)

     

    : ๋กœ๋งˆ ์žฅ๊ตฐ ์นด์ด์‚ฌ๋ฅด๊ฐ€ ์ผ๋˜ ์•”ํ˜ธ๋กœ, ํ‚ค์›Œ๋“œ๋Š” 'ํ‰ํ–‰์ด๋™'. ์น˜ํ™˜ ์•”ํ˜ธ์˜ ์ผ์ข…

     

    ํ‰๋ฌธ(plaintext)์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์•ŒํŒŒ๋ฒณ์„ ์•”ํ˜ธํ‚ค k ๊ฐœ๋งŒํผ ํ‰ํ–‰์ด๋™์‹œ์ผœ ์•”ํ˜ธํ™”ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค์–ด, ํ‰๋ฌธ key ๋ฅผ ์•”ํ˜ธํ‚ค 3 ์œผ๋กœ ์•”ํ˜ธํ™”ํ•œ๋‹ค๋ฉด nhb ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. (3์ž๋ฆฌ์”ฉ ์˜†์œผ๋กœ ์ด๋™)

     

     

    1.2 ์น˜ํ™˜ ์•”ํ˜ธ(substitution cipher)

     

    ์ผ์ •ํ•œ ๋ฒ•์น™์— ๋”ฐ๋ผ ํ‰๋ฌธ์˜ ๋ฌธ์ž๋ฅผ ๋‹ค๋ฅธ ๋ฌธ์ž ๋‹จ์œ„๋กœ '์น˜ํ™˜', ์ฆ‰ ๋ฐ”๊พธ๋Š” ๋ฐฉ์‹์ด๋‹ค.

    ์—ฌ๊ธฐ์„œ ๋ฐ”๋€Œ๋Š” ๋Œ€์ƒ์€ ๋น„ํŠธ, ๋ฌธ์ž, ์—ฌ๋Ÿฌ ๋ฌธ์ž์˜ ๋ฉ์–ด๋ฆฌ ๋“ฑ ์ œํ•œ์ด ์—†๋‹ค.

    ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์น˜ํ™˜ ์•”ํ˜ธ์—๋Š” ์•ž์„œ ์‚ดํŽด๋ณธ ์นด์ด์‚ฌ๋ฅด ์•”ํ˜ธ๊ฐ€ ์žˆ๋‹ค.

     

    ํ•˜๋‚˜์˜ ๋ฌธ์ž๊ฐ€ ๋‹ค๋ฅธ ํ•˜๋‚˜์˜ ๋ฌธ์ž๋กœ ๋ฐ”๋€Œ๋Š” ‘๋‹จ์ผ์น˜ํ™˜์•”ํ˜ธ(monoalphabetic substitution cipher)’์™€

    ํ•˜๋‚˜์˜ ๋ฌธ์ž๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌธ์ž๋กœ ๋ฐ”๋€Œ๋Š” ‘๋‹ค์ค‘์น˜ํ™˜์•”ํ˜ธ(polyalphabetic substitution cipher)’๊ฐ€ ์žˆ๋‹ค.

     

    1.3 ์ „์น˜ ์•”ํ˜ธ(transposition cipher)

     

    ์—ญ์‚ฌ์ƒ ๊ฐ€์žฅ ๋จผ์ € ๋‚˜ํƒ€๋‚œ ์•”ํ˜ธ๋กœ, ๋ฌธ์ž์˜ ์œ„์น˜๋ฅผ ๋ฐ”๊พธ์–ด ์•”ํ˜ธํ™”ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

    ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ ํ‰๋ฌธ์„ ๋‘๊ณ  ์–ด๋–ค ๊ทœ์น™์— ๋”ฐ๋ผ ๋’ค์„ž๋Š” ๊ฒƒ์ด๋‹ค.

     

    ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์ „์น˜ ์•”ํ˜ธ์—๋Š” ์Šคํ‚คํ…Œ์ผ(Scytale) ์ด ์žˆ๋‹ค.

    ๊ฐ™์€ ๊ตต๊ธฐ์˜ ์›ํ†ตํ˜• ๋ง‰๋Œ€๋ฅผ ๋‚˜๋ˆ  ๊ฐ€์ ธ์„œ ๊ทธ ์›ํ†ตํ˜• ๋ง‰๋Œ€์— ํญ์ด ์ข๊ณ  ๊ธด ์–‘ํ”ผ์ง€ ๋ฆฌ๋ณธ์„ ๊ฐ๊ณ  ํ‰๋ฌธ์„ ์“ฐ๊ณ , ํ•ด๋…ํ•  ๋•Œ ๊ฐ™์€ ๋ง‰๋Œ€์— ๊ฐ์•„์„œ ์ฝ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

     

    ๋˜ํ•œ, ๋‹ค์–‘ํ•œ ์˜ํ™” (๋‹ค๋นˆ์น˜ ์ฝ”๋“œ, ํ•ด๋ฆฌํฌํ„ฐ, ์ด์Šค์ผ€์ดํ”„ ๋ฃธ ๋“ฑ) ์˜ ์†Œ์žฌ๋กœ ์“ฐ์ธ ์• ๋„ˆ๊ทธ๋žจ(anagram) ์—ญ์‹œ ์ „์น˜ ์•”ํ˜ธ์˜ ์ผ์ข…์ด๋‹ค.

    ๋ฌธ์ž์˜ ๋ฐฐ์—ด์„ ๊ทธ๋Ÿด๋“ฏํ•˜๊ฒŒ ๋ฐ”๊พธ์–ด (๋‹ค๋ฅธ ๋œป์„ ๊ฐ€์ง€๋Š” ๋‹ค๋ฅธ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊ฟˆ) ์›๋ž˜์˜ ์˜๋ฏธ๋ฅผ ๊ฐ์ถ”๋Š” ๋ฐฉ์‹์ธ๋ฐ, ์žฌ๋ฐฐ์—ด์„ ํ•ด๋ณด๋ฉด ํ‰๋ฌธ์„ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

     

     

    1.4 ๋ชจ์Šค ๋ถ€ํ˜ธ

     

    ์ƒˆ๋ฎค์–ผ ๋ชจ์Šค์— ์˜ํ•ด ๋ฐœ๋ช…๋œ ์ „์‹ ๋ถ€ํ˜ธ๋กœ, ์„ ๊ณผ ์ ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ๊ทธ ์กฐํ•ฉ์œผ๋กœ ์˜์–ด ์•ŒํŒŒ๋ฒณ์„ ํ‘œํ˜„ํ•œ๋‹ค.

     

    ๋ชจ์Šค ๋ถ€ํ˜ธ๋Š” ํ•˜๋‚˜์˜ ์‹œ๊ฐ„ ๋‹จ์œ„๋กœ ๋‹จ์Œ์„ ํ‘œ์‹œํ•˜๊ณ  ์‹œ๊ฐ„๋‹จ์œ„ ์„ธ ๊ฐœ๋กœ ์žฅ์Œ์„ ํ‘œ์‹œํ•œ๋‹ค. ๊ฐ๊ฐ์˜ ๊ธ€์ž ์‚ฌ์ด์—๋Š” ์„ธ ๋‹จ์œ„์˜ ํœด์‹๊ธฐ๊ฐ€ ์žˆ๊ณ  ๊ฐ ๋‹จ์–ด ์‚ฌ์ด์—๋Š” ์ผ๊ณฑ ๋‹จ์œ„์˜ ํœด์‹๊ธฐ๊ฐ€ ์žˆ๋‹ค. ์ •ํ™•ํ•œ ์‹œ๊ฐ„ ๋‹จ์œ„๋Š” ์ž‘๋™์ž์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋ฉฐ ์ˆ™๋ จ๋œ ๋ชจ์Šค ๋ถ€ํ˜ธ ์ž‘๋™์ž๋Š” 1๋ถ„๋‹น 20๊ฐœ์—์„œ 30๊ฐœ์˜ ๋‹จ์–ด๋ฅผ ์ „์†กํ•˜๊ณ  ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค.

    [๋„ค์ด๋ฒ„ ์ง€์‹๋ฐฑ๊ณผ] ๋ชจ์Šค๋ถ€ํ˜ธ (์ฃฝ๊ธฐ ์ „์— ๊ผญ ์•Œ์•„์•ผ ํ•  ์„ธ์ƒ์„ ๋ฐ”๊พผ ๋ฐœ๋ช…ํ’ˆ 1001, 2010. 1. 20., ์žญ ์ฑŒ๋ฆฌ๋„ˆ)

     

    ์•„์ง๊นŒ์ง€๋„ ๋‹ค์–‘ํ•œ ๋งค์ฒด์˜ ์†Œ์žฌ๊ฐ€ ๋˜๋ฉฐ, ์„ ๋ฐ•์—์„œ ๊ฐ€๋” ์‚ฌ์šฉ๋œ๋‹ค.

    SOS ์‹ ํ˜ธ์˜ ๋ชจ์Šค ๋ถ€ํ˜ธ์ธ <๋‹จ์Œ ์„ธ ๋ฒˆ, ํœด์‹, ์žฅ์Œ ์„ธ ๋ฒˆ, ํœด์‹, ๋‹จ์Œ ์„ธ ๋ฒˆ> ์€ ์œ ๋ช…ํ•˜๋‹ค~

     

    ๋ชจ์Šค ๋ถ€ํ˜ธ

     

     

    2. ํ˜„๋Œ€ ์•”ํ˜ธ์˜ ์˜๋ฏธ์™€ ์ข…๋ฅ˜

     

     

    2.1 ๋Œ€์นญํ‚ค ์•”ํ˜ธ(symmetric-key algorithm)

     

    : ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”์— ๊ฐ™์€ ์•”ํ˜ธ ํ‚ค๋ฅผ ์“ฐ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

     

    ๊ทธ๋ž˜์„œ ์ด ์•”ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์•”ํ˜ธํ™”ํ•˜๋Š” ์‚ฌ๋žŒ๊ณผ ๋ณตํ˜ธํ™”ํ•˜๋Š” ์‚ฌ๋žŒ์ด ๊ฐ™์€ ์•”ํ˜ธ ํ‚ค๋ฅผ ๊ณต์œ ํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

    ๋น„๊ต์  ๊ฐ„๋‹จํ•˜์—ฌ, ๊ณ„์‚ฐ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค๋Š” ์žฅ์ ์„ ๊ฐ€์ง„๋‹ค. (์•”ํ˜ธํ™”/๋ณตํ˜ธํ™”ํ•˜๋Š” ๋ฐ์— ๋“œ๋Š” ์‹œ๊ฐ„)

    ํ•˜์ง€๋งŒ ํ‚ค๋ฅผ ๊ตํ™˜ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

     

    ๋Œ€ํ‘œ์ ์ธ ๋Œ€์นญํ˜• ์•”ํ˜ธ๋ฐฉ์‹์€ IBM ์—์„œ ๊ฐœ๋ฐœํ•œ DES(Data Encryption Standard)๊ฐ€ ์žˆ๋‹ค.

    - 64 bit ์˜ ํ‰๋ฌธ์„ 56 bit ๋น„๋ฐ€ํ‚ค๋กœ ์•”ํ˜ธํ™” ๊ฐ€๋Šฅ. ๋‹ค๋งŒ ์ด์ œ๋Š” 56 bit ์˜ ๋น„๋ฐ€ํ‚ค๊ฐ€ ์•ˆ์ „ํ•˜์ง€ ์•Š๋‹ค๊ณ  ๋ณด์•„ DES ๋ฅผ 3๋ฒˆ ๋ฐ˜๋ณตํ•˜๋Š” Triple DES ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ๊ณ 

     

     

    2.2 ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธ(= ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ = public key sryptography)

     

    : ์•”ํ˜ธํ™” ํ‚ค์™€ ๋ณตํ˜ธํ™” ํ‚ค๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

     

    ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐœ ํ‚ค์™€ ์†Œ์œ ์ž๋งŒ์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋น„๋ฐ€ ํ‚ค๊ฐ€ ์กด์žฌํ•œ๋‹ค.

    ์ด ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜๊ณ , ๋น„๋ฐ€ํ‚ค๋กœ ๋ณตํ˜ธํ™”๋ฅผ ํ•˜๋Š” ๊ฒƒ์ธ๋ฐ ์•”ํ˜ธํ™”ํ•˜๊ณ ์ž ํ•˜๋Š” ์ž๊ฐ€ ์ด ๊ณต๊ฐœํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ™”ํ•˜๋ฉด ๋น„๋ฐ€ํ‚ค๋ฅผ ๊ฐ€์ง„ ์ฃผ์ธ๋งŒ์ด ๋ณตํ˜ธํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

    ์ด๋ก ์ ์œผ๋กœ๋Š”, ์ด ๋น„๋ฐ€ํ‚ค๋ฅผ ์•Œ์•„๋‚ด๋Š” ๊ณ„์‚ฐ์ด ๊ทน๋„๋กœ ์–ด๋ ค์›Œ์„œ ๋น„๋ฐ€ํ‚ค๋ฅผ ๊ฐ–์ง€ ๋ชปํ•˜๋ฉด ๋ณตํ˜ธํ™”๋ฅผ ํ•  ์ˆ˜ ์—†๋‹ค.

     

    ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ RSA(์†Œ์ˆ˜์™€ ์†Œ์ธ์ˆ˜๋ถ„ํ•ด ์ด์šฉ)์ธ๋ฐ, ๊ณ„์‚ฐ์ด ์•„์ฃผ ๋ณต์žกํ•˜์ง€๋งŒ ์—ฐ๊ตฌ๊ฐ€ ๊ณ„์† ์ง„ํ–‰๋˜์–ด ์ด์ œ๋Š” RSA ์˜ ์•ˆ์ „์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ˆ˜์ฒœ๋น„ํŠธ ์ด์ƒ์˜ ํฐ ์†Œ์ˆ˜๋ฅผ ํ‚ค๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

     

    ๋น„๊ต์  ๊ณ„์‚ฐ ์†๋„๊ฐ€ ๋Š๋ฆฌ์ง€๋งŒ ์•ˆ์ •์„ฑ์€ ๋” ๋ณด์žฅ๋œ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

     

     

     

    ํ˜„๋Œ€์—๋Š” ์ด ๋‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์œตํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ๋งŽ์ด ์ด์šฉํ•œ๋‹ค.

    ๋ฐ์ดํ„ฐ๋Š” ๋Œ€์นญํ˜• ์•”ํ˜ธ ๋ฐฉ์‹์œผ๋กœ ์•”ํ˜ธํ™”ํ•˜๊ณ , ๊ทธ ๋ฐ์ดํ„ฐ์˜ ๊ตํ™˜(ํ†ต์‹ ) ์‹œ์— ํ•„์š”ํ•œ ํ‚ค๋ฅผ ๊ตํ™˜ํ•  ๋• ๋น„๋Œ€์นญํ˜• ์•”ํ˜ธ ๋ฐฉ์‹์œผ๋กœ ์•”ํ˜ธํ™”ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

    ํ˜น์€ ๋น„๋Œ€์นญํ˜• ์•”ํ˜ธ ๋ฐฉ์‹์œผ๋กœ ๋Œ€์นญํ˜• ์•”ํ˜ธ ๋ฐฉ์‹์˜ ์•”ํ˜ธ ํ‚ค๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.

    ๋Œ“๊ธ€

Designed by Tistory.