암호학의 개본 개념
- 암호
약속된 당사자 또는 집단에서만 암호문에 내포된 내용을 알 수 있게 하는 일종의 문서 - 암호학
평문을 다른 사람이 알아볼 수 없는 암호문으로 만들고 특정한 비밀키를 알고 있는 사람만이 다시 평문으로 복원시킬 수 있도록 하는 암호 기술과 이를 제3자(도청자)가 해독하는 방법을 분석하는 암호해독에 관하여 연구하는 학문
암호에서 사용하는 이름
- 앨리스와 밥(Alice and Bob) - 송신자와 수신자
- 이브(Eve) - 도청자, 소극적 공격자 -> 암호문 스틸
- 맬로리(Mallory) - 악의를 가진 공격자(재전송)
- 트렌트(Trent) - 신뢰할 수 있는 중재자, 중립적 위치에 있는 제3자
- 빅터(Victor) - 의도된 거래나 통신이 실제로 발생했음을 검증할 때 등장
암호화와 복호화
- 평문 - 암호화하기 전의 메시지
- 암호문 - 암호화 한 후의 메시지
- 앨리스와 밥은 암호라는 기술을 사용해서 메일의 기밀성(비밀성) 을 유지
암호화
C = Ek (P) : 평문 P를 키 K로 암호화하여(E) 암호문 C를 얻는다복호화
P = Dk (C) : 암호문 C를 키 K로 복호화하여(D) 평문 P를 얻는다
암호 기법의 분류
- 치환암호
- 비트, 문자 또는 문자의 블록을 다른 비트, 문자 또는 블록으로 대체
- 평문의 문자를다른 문자로 교환하는 규칙
- 전치암호
- 비트, 문자 또는 블록이 원래의 의미를 감추도록 재배열
- 문자 집합 내부에서 자리를 바꾸는 규칙
- 블록 암호
- 평문을 일정한 크기의 블록으로 잘라낸 후 암호화 알고리즘을 적용하여 암호화
- 어느 특정 비트 수의 집합 을 한번에 처리하는 암호 알고리즘
- 스트림 암호
- 데이터 흐름(스트림)을 순차적으로 처리해가는 암호 알고리즘의 총칭히며, 암호화 방식은 평문과 키 스트림을 XOR하여 생성
- 링크 암호화
- 헤더를 포함한 모든 데이터를 암호화
- 물리 계층과 데이터 링크 계층에서 암호화
종단간 암호화
- 헤더(라우팅)는 암호화 하지 않음
- 애플리케이션 계층에서 암호화
하드웨어 암호 시스템
컴퓨터와 통신기기의 내부 버스와 외부 인터페이스에 전용 암호 처리용 하드웨어를 설치하여 데이터를 암호화- 소프트웨어 암호 시스템
암호처리용 소프트웨어를 사용한 데이터 암호화
중요 암호기술에 대한 개괄
- 대칭키 암호 : 암호화 할 때 사용하는 키와 복호화 할때 사용하는 키가 동일
- 비대칭키 암호 : 암호화 할 때 사용하는 키와 복호화 할 때 사용하는 키가 다름
암호학자의 도구상자
- 하이브리드 암호시스템 : 대칭키 암호 + 공개키 암호
- 일방향 해시함수 : 해시 값
- 메시지 인증코드 : 무결성, 인증제공
- 전자서명
- 스푸핑, 변경, 부인 이라는 위협 방지
- 무결성 확인, 인증과 부인 방지
- 의사 난수 생성기 : 키 생성
기타 암호 기술들
- 스테가노 그래피
전달하려는 기밀 정보를 이미지 파일이나 MP3 파일 중에 암호화 해 숨기는 심층 암호 기술 감추어진 기록 - 워터마크
원본의 내용을 왜곡하지 않는 범위 내에서 혹은 사용자가 인식하지 못하도록 저작권 정보를 디지털 콘텐츠에 삽입하는 기술 - 핑거프린팅
디지털 콘텐츠를 구매할 때 구매자의 정보를 삽입하여 불법 배포 발견시 최초의 배포자를 추적할 수 있게 하는 기술
- 스테가노 그래피
암호 분석(암호 해독)
개요
- 정규참여자가 아닌 제 3자가 암호문으로 부터 평문을 찾으려는 시도
- 케르히 호프의 원리
암호 시스템의 안정성은 암호 알고리즘의 비밀을 지키는데 의존되어서는 안되고, 키의 비밀을 지키는데 의존되어야 한다는 원리
암호 분석의 분류
- 암호문 단독 공격(COA, Ciphertext Only Attack)
- 어떤 암호문을 얻어서 대응되는 평문과 키를 찾는 것
- 기지 평문 공격(KPA, )
- 여러개의 평문/암호문의 쌍을 얻어 Alice -> Bob 다음 메시지 알아내는데 사용
- 선택 평문 공격(CPA)
- Eve가 Alice의 컴퓨터에 접속할 수 있다면 공격자는 평문/암호문 쌍으로 평문에 해당하는 암호문을 얻어 키나 평문을 추정하여 암호 해독
- 선택 암호문 공격(CCA)
- Eve가 Bob의 컴퓨터에 접속할 수 있다면 암호해독자가 암호 복호기에 접근 할 수 있어 암호문을 선택하면 그 암호문에 대한 평문을 얻어 암호를 해독
- 암호문 단독 공격(COA, Ciphertext Only Attack)