[학습 목표]
1. 고전암호와 현대암호의 차이를 설명할 수 있다.
2. 고전암호의 기본 원리인 치환 기법을 이해한다.
3. Alice, Bob이 공개된 채널을 통해 암호화 된 통신을 할 때 가능한 공격 시나리오를 분류하고, 예를 들어 설명할 수 있다.
4. 대칭키 암호와 공개키 암호의 차이를 이해하고, 장단점을 설명할 수 있다.
1. 고전암호 : 시저암호 (Caesar, 카이사르)
- 치환
- 시저 암호의 조금 더 안전한 변형 : 비밀키가 0~25까지의 수가 될 수 있음
1) 고전암호의 문제점
- 쉽게 해킹 가능
- 변형된 시저 암호의 경우, 가능한 모든 비밀키(26가지의경우)로 복호화 시도 가능
- 철자의 빈도, 자주 사용되는 단어/형태를 이용하여 더욱 쉽게 풀 수 있음
- ex) 영어에서 빈도 높은 알파벳 : E, T, A, I, N / 빈도 낮은 알파벳 : Z, J, X, Q, K 이용
- 더 풀기 어려운 암호 만드는 방법 예시
- 무작위로 배치한 Table을 비밀키로 사용 (가능한 Table의 개수 : 26!개)
- 비밀키가 N개의 숫자로 이루어짐
2) 에니그마
- 고전암호의 확장(글자마다 서로 다른 치환 사용) + 물리적 구현
3) 완벽한 암호 : 일회용 패드(OTP)
- One-Time Pad
- 메시지와 같은 길이의 키로 암호화
- 키가 너무 길어 실용적X
4) 키의 길이
- '키의 길이'의 최솟값을 도출하기 위해
- 전수조사 공격 (Brute force attack) : 가능한 모든 키를 다 대입해보는 공격
- 전수조사 공격의 공격 비용을 고려하여 키의 길이 결정
2. 암호화 통신 (Secure Communication)
1) 기본 시나리오
2) 공격자 (Eve)의 목표 예시
- 평문 (plaintext) 형태의 메시지를 본다.
- 키를 얻는다.(그 후의 통신내용을 모두 해독할 수 있다.)
- Alice의 메시지를 중간에서 가로채어 변형시킨 후 전송한다. Bob은 그 사실을 모르고 변형된 메시지가 Alice로부터 온 것으로 믿는다. (Man - in - the - middle 중간자 공격)
- Alice인 척 하며 Bob과 대화한다.
3) 공격 모현 - 공격자의 능력에 따른 모형
- 블랙박스 모형
- 그레이박스 모형
- 화이트박스 모형
4) 공격 모형 - 블랙박스 모형
- 질의 (Query)
- 암호화 질의
- 복호화 질의
- 공격 비용 계산을 위해 질의에 대한 비용을 고려해야 함.
- 암호문만 이용하는 공격 (COA)
- 알려진 평문 공격 (KPA)
- 선택 평문 공격 (CPA)
- 선택 암호문 공격 (CCA)
5) 케르크호프스의 원리 (Kerckhoffs's principle)
- 암호의 안전성은 오직 키의 비밀성에만 의존한다.
3. 대칭키 (symmetric) vs. 공개키 암호
1) 대칭키 암호
- 암호화 키 = 복호화 키
- 암호화 키를 통해 복호화 키를 얻을 수 있음
2) 공개키 암호 (비대칭키 암호)
- 암호화 키 =! 복호화 키
- 암호화 키로부터 복호화 키를 얻을 수 없어야 함
- 암호화 키 = 공개키, 복호화 키 = 비밀키
4. 현대암호
1) 고전암호 vs. 현대암호
2) 현대암호의 4가지 목표
- 기밀성 (Confidentiality)
- 무결성 (Integrity)
- 인증 (Authentication)
- 부인방지 (Non-repudiation)
5. 암호응용
1) 전자서명
2) 신원확인
3) 키 교환 (-> Alice - Bob 예시)
4) 인터넷 통신 보안 프로토콜