-
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 ์ ์์ ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด์๋ ์์ฒ๋นํธ ์ด์์ ํฐ ์์๋ฅผ ํค๋ก ์ฌ์ฉํด์ผ ํ๋ค.
๋น๊ต์ ๊ณ์ฐ ์๋๊ฐ ๋๋ฆฌ์ง๋ง ์์ ์ฑ์ ๋ ๋ณด์ฅ๋๋ค๋ ์ฅ์ ์ด ์๋ค.
ํ๋์๋ ์ด ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ตํฉํ์ฌ ์ฌ์ฉํ๋ ๋ฐฉ์์ ๋ง์ด ์ด์ฉํ๋ค.
๋ฐ์ดํฐ๋ ๋์นญํ ์ํธ ๋ฐฉ์์ผ๋ก ์ํธํํ๊ณ , ๊ทธ ๋ฐ์ดํฐ์ ๊ตํ(ํต์ ) ์์ ํ์ํ ํค๋ฅผ ๊ตํํ ๋ ๋น๋์นญํ ์ํธ ๋ฐฉ์์ผ๋ก ์ํธํํ๋ ๊ฒ์ด๋ค.
ํน์ ๋น๋์นญํ ์ํธ ๋ฐฉ์์ผ๋ก ๋์นญํ ์ํธ ๋ฐฉ์์ ์ํธ ํค๋ฅผ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ๋ ์๋ค.
'SECURITY > FORENSICS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ