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 |
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 |
댓글