본문 바로가기
Security/Digital Forensic

[Digital Forensic] 기초암호학

by 단월໒꒱ 2022. 4. 5.

1. 암호학 기초

 1) 암호학

   - 암호에 관련된 기술

   - 정보 보호와 관련된 수학적 방법론 등을 다룸

 

 2) 암호학 용어

   - 평문 (Plain Text) : 암호화되지 않은 원본 텍스트

   - 암호문 (Cipher text) : 암호화된 판독할 수 없는 텍스트

   - 암호화 (Encryption) : 평문을 암호문으로 바꾸는 것

   - 복호화 (Decryption) : 암호문을 평문으로 바꾸는 것

 

 3) 암호학 기본 요소

   ① 평문

   ② 알고리즘 : 암복호화할 때 사용하는 순차적인 계산 절차

   ③ 키 : 암호화에 임의성을 추가하기 위한 임의의 값

              다른 사용자가 같은 알고리즘을 가지고 있더라도 키를 이용하여 암호화를 했다면 복호화할 때 같은 알고리즘 + 키가 필요

 

 4) 암호학 기능

   - 기밀성 : 허가 받은 사용자가 아니면 내용에 접근 불가

   - 무결성 : 허가 받은 사용자가 아니면 내용 변경 불가

   - 부인 방지 : 메세지를 전달하거나 전달받은 사람이 메세지를 전달하거나 전달받았다는 사실을 부인할 수 없어야 함

 

2. 암호 기법

 1) 암호 기법 (Cryptography)

   - 정보를 의도하지 않은 수신자가 파악할 수 없는 형태로 바꾸어 보호하는 학문

   - 인간이 읽을 수 있는 원본 메세지인 평문이 알고리즘이나 수학적 연산에 의해 의도하지 않은 수신자에게 암호문처럼 보이게 함

   - 암호화 : 평문을 암호문으로 바꾸는 과정

 

 2) 암호 기법의 용도

   - 데이터 내용 기밀 보호 (데이터를 암호화하여 보호)

   - 데이터 송수신자의 신원 인증

   - 데이터의 무결성을 확보하여 데이터가 변경되지 않았음을 입증

   - 예정된 발송자가 정말로 이 메세지를 발송했음을 입증 (부인 방지)

 

 3) 암호 기법의 유형

   - 대칭키 암호 기법 : 암복호화에 사용하는 키가 동일한 암호화 방식

   - 비대칭키 암호 기법 : 암복호화에 사용하는 키가 서로 다른 암호화 방식

   - 해시함수 : 어떤 임의의 데이터를 입력으로 받아서 일정한 길이의 데이터로 바꿔주는 함수

 

 

3. 스테가노그래피

 1) 스테가노그래피

   - 보이는 곳에 메세지를 은밀하게 숨기는 은닉법 (Stegano + graphy)

   - 비밀 메세지를 전달하는 게 주 목적이지만 악성 코드를 숨기는 데에도 사용됨

   - 크립토그래피와 워터마킹과 함께 디지털 상에서 정보를 감추기 위해 많이 사용되는 기법

 

 2) 원리 및 방법

   - 동영상, 사진, 오디오와 같은 파일들에 존재하는 노이즈를 다른 메세지로 대체

   - 아주 작은 값을 변형시켜 숨기기도 함 (오디오 파일의 겨경우 인간의 청각 범위를 벗어난 주파수 대역에 메세지 삽입)

   - 원본의 외적인 변화(화질, 음질 등)은 최소화하며 유의미한 정보를 넣는 것

 

   ① 이미지 변조

      - 상위 비트로 갈수록 영향력이 크고, 하위 비트로 갈수록 인지성이 감소하는 것을 이용하여 비밀 정보 삽입하는 방법

      - 대표적 방법 : 비트 플레인 방식

                               - JPEG 파일에서 LSB (Least Significant Bit)를 원하는 정보로 바꿔서 은닉함

                               - MSB (Most Significant Bit)는 주로 색깔을 결정함

                               - LSB만 추출하면 비밀 정보가 바로 드러나기 때문에 MSB를 피해 한 bit에 정보를 삽입하는 방법 이용

 

 

 

 

   ② 파일 뒤에 삽입

      - 파일의 끝을 알리는 시그니처(End of Image)의 뒤의 데이터는 무시되는 점을 이용

      - 푸터 시그니처 뒤에 원하는 내용 삽입

 

cf) 파일 시그니처 (file signature)

       - 파일 형식마다 가지고 있는 고유의 특징(포맷)에 대한 정보 (HxD 프로그램으로 확인 가능)

       - 파일의 형식마다 정해져있는 특정한 byte

       - 헤더(Header) 시그니처 : 파일의 처음에 있는 시그니처

       - 푸터(Footer) 시그니처 : 파일의 마지막에 있는 시그니처

       - 헤더와 푸터 시그니처가 다른 형식일 경우 파일에 문제가 있거나 조작된 파일일 가능성이 있음

 

 

File Type Header Signature Footer Signature
JPEG FF D8 FF E0
FF D8 FF E8
FF D9
GIF 47 49 46 38 37 61
47 49 46 38 39 61
00 3B
PNG 89 50 4E 47 0D 0A 1A 0A 49 45 4E 44 AE 42 60 82
PDF 25 50 44 46 2D 31 2E 25 25 45 4F 46
ZIP 50 4B 03 04 50 4B 05 06
ALX 41 4C 5A 01 43 4C 5A 02
RAR 52 61 72 21 1A 07 3D 7B 00 40 07 00

 

 

   ③ 파일 헤더에 감추기

      - 파일 헤더 중 원본 파일에 영향을 주지 않는 부분이 존재하는데, 그 영역에 데이터를 삽입하는 방법

      - JPEG의 경우 : 파일 세부 사항이 들어가는 APP0~APP15 심볼의 시그니처(FF E0 ~ FF EF) 뒤에부터

                                프레임의 시작(넓이, 높이 등)인 S0F0 심볼의 시그니처(FF DA) 전까지의 영역이 해당

 

4. 대칭키/비대칭키

 1) 대칭키 암호화 방식

   - 암복호화에 사용하는 키가 동일한 암호화 방식

   - 해당 키를 아는 사람만 파일을 복호화해서 볼 수 있음

   - 장점 : 속도가 빠름, 대용량의 데이터를 암호화하는데 적합함

   - 단점 : 키를 교환하는 도중에 키가 탈취될 수 있음, 이용자가 많아질수록 관리해야할 키가 많아짐, 확장성이 떨어짐

   - 기밀성 O, 무결성/인증/부인방지 보장 X

   - 대표적 알고리즘 : SEED, DES, 3DES, AES, ARIA 등...

 

 

 2) 비대칭키(공개키) 암호화 방식

   - 암복호화에 사용하는 키가 서로 다른 암호화 방식

   - 데이터 송수진자 모두 개인키와 공개키를 갖고 있음

   - 키가 공개되어있기 때문에 따로 키를 교환하거나 분배할 필요 없음

   - 공격자가 공개키를 얻는다고 해도 개인키로만 복호화가 가능하기 때문에 비밀 보장 가능

   - 장점 : 키를 분배할 필요 없음, 기밀성 제공, 인증기능 제공

   - 단점 : 속도가 느림

   - 대표적 알고리즘 : Diffie-Hellman, RSA, DSA, ECC 등...

 

 

   - 원리 ( A가 B에게 데이터를 보내는 상황)

       ① B가 공개키, 개인키 쌍을 만듦

       ② 공개키는 공개하고 개인키는 본인이 소유

       ③ A가 B의 공개키를 받아옴

       ④ A가 B의 공개키를 사용하여 데이터를 암호화

       ⑤ 암호화된 데이터를 B에게 전송

       ⑥ B는 암호화된 데이터를 B의 개인키로 복호화

 

 

5. 해시함수

 1) 해시함수 (Hash Function)

   - 어떤 임의의 데이터를 입력으로 받아서 일정한 길이의 데이터로 바꿔주는 함수

   - 해시(해시값) : 위의 과정을 통해 나온 결과인 일정한 길이의 데이터

   - 장점 : 데이터 전송 중에 메세지가 변경되었을 경우, 해시값이 다르면 오염된 메세지임을 알 수 있음

   - 단점 : 데이터 송수진 중에 수정 또는 변경을 감지할 수 있지만 위조는 감지할 수 없음

   - 대표적 알고리즘 : MD5, SHA 등...

 

 

 

          

 2) 특성 ( 입력값을 A, 출력값을 B라고 두자)

    ① 역상저항성 : A에 의해 B가 출력됐을 때, 출력된 B값만 가지고는 A값을 찾는 것이 계산적으로 불가능

    ② 제2역상저항성 : A와 B가 모두 주어졌을 때, 똑같은 B를 반환하는 A2를 찾거나 만들어내는 것이 계산적으로 불가능

    ③ 단방향 암호화 : A로 만들어진 B를 가지고 다시 A로 역산 불가능

    ④ 충돌저항성 : 똑같은 B가 나오는 X가 단일하지 않고 중복이 되는 또 다른 Xn을 발견하는 것이 계산적으로 어려움

    ⑤ 압축효과 : 암호화 해시 함수가 반환하는 일정한 길이의 작은 해시값만으로 크기가 거대한 데이터의 무결성을 보장할 수 있음

 

 

'Security > Digital Forensic' 카테고리의 다른 글

[Hack the Packet 2012] L4  (0) 2022.05.10
[Hack the Packet 2012] L2  (0) 2022.05.10
[Hack the Packet 2012] L1  (0) 2022.05.10
[Digital Forensic] 네트워크 포렌식 툴  (0) 2022.05.10
[Digital Forensic] 네트워크  (0) 2022.04.28

댓글