[기초암호학] 암호학 조사
암호학
암호학은 정보보호와 관련된 수학적 방법론 다루는 학문이다. 수학을 중심으로 컴퓨터, 통신 등 여러 학문 분야에서 공동으로 연구, 개발되고 있다.
암호학 기능
- 기밀성 : 허가 받은 사용자 외 내용 접근 불가
- 무결성 : 허가 받은 사용자 외 내용 변경 불가
- 가용성 : 부적절한 서비스 거부 방지
- 부인방지 : 메세지를 전달하거나 전달 받은 사람이 절달하거나 전달 받은 사실을 부인할 수 없음
암호학 기본 요소
- 평문 : 암호화 되지 않은 원본 텍스트
- 알고리즘 : 암호화와 복호화에 사용하는 순차적인 계산 절차
- 다른 사용자가 같은 알고리즘을 갖고 있다면 복호화가 가능하다
- key
- 다른 사용자가 같은 알고리즘을 갖고 있더라도 key를 이용해 암호화했다면 복호화에도 알고리즘과 key 모두 필요하기에 복호화가 어려워진다.
암호 기법
- 전치 암호 : 평문의 글자를 재배열하는 방식으로 원문과 key를 가지고 있는 정보를 암호문 전체에 분산하는 방식
- 대치 암호 : 메세지의 각 글자를 아예 다른 글자로 대치하는 방식
- 혼합 암호 : 전치, 대치 모두 사용하는 방식
- 대수화 암호 : 평문의 글자를 숫자로 바꾸어 수학적으로 처리하는 방식
대칭키(Symmetric Key) (= 비밀키)
: 송수신자가 같은 key를 공유하여 정보를 암,복호화 하는 시스템
- 스트림 암호 : 평문과 같은 길이의 key 스트림을 생성하여 평문과 key를 비트 단위로 합하여 암호문을 얻는 방식
- 블록 암호 : 평문을 일정한 단위로 나눠서 각 단위마다 암호화 과정을 수행하는 방식
- DES(Data Encryption Standard) : 64비트의 평문을 46비트의 암호문으로 만드는 블록암호시스템
- AES(Advanced Encryption Standard) : DES의 약점을 보완한 암호시스템
- 동일한 key를 사용하므로 폐쇄적인 특성을 갖는 사용자 그룹에 적합
- 그룹 내 여러명이 있을 경우 두 사람마다 서로 다른 키를 생성해서 사용해야 함 (n명의 경우, n(n-1)/2만큼의 key 필요)
- 속도가 빠르지만 key 교환이 어려움
비대칭키(Asymmetric Key) (=공개키)
: 송수신자가 서로 다른 키를 사용하여 정보를 암,복호화 하는 시스템
- RSA : 소인수분해 기반의 암호시스템
- DSA : 이산대수 기반의 암호시스템
- ECC : 타원 곡선 암호화시스템
- 공개키는 요청하는 사용자 모두에게 공개하지만, 개인키는 공개하지 않음
- 공개키로 암호화된 데이터는 개인키로 복호화, 개인키로 암호화된 데이터는 공개키로 복호화
- 기밀성이 요구되는 크기가 작은 데이터를 암호화할 때 사용
- n명의 사용자가 있을 때 총 2n개의 key가 필요
- 속도가 느리지만 key 교환관리가 수월함
해시함수
: 임의 크기의 데이터를 입력받아 고정된 크기의 데이터를 반환하는 함수
- MD5 : 임의의 입력으로부터 128비트의 값을 생성하는 함수
- SHA256 : 256비트의 출력을 내는 함수
- 메세지의 오류, 변조를 탐지할 수 있음(무결성 제공)
- 원문으로 복호화할 수 없어 비밀번호 저장과 같은 민감한 데이터에 많이 사용
스테가노그래피(Steganography)
: 데이터를 다른 데이터에 삽입하여 데이터의 존재 자체를 숨기는 기술
- 파일 안에 파일을 숨기는 방식
- 원래 파일의 해시값을 알고 있다면 대조를 통해 정보를 알아낼 수 있음
- 기법
- 삽입 기법 : 파일 데이터를 변경하지 않고 추가 데이터를 파일 앞, 뒤에 붙이는 방식
- 수정기법 : 하위 비트일수록 인지성이 감소하는 것을 이용해 적절한 연산 방식으로 비밀 정보를 삽입하는 방식
- 대응
- CDR : 문서 파일 내 잠재적인 위협 요소를 제거한 후 안전한 콘텐츠만 추출하여 재구성
- 안티 스테가노그래피 : 이미지의 특정 정보에 삽입된 비트값을 기반으로 스테가노 그래피가 적용 -> CDR 처리를 해도 악성정보가 남아있을 수 있음 -> 고도화된 기술 필요