선릉역 1번 출구
암호학 본문
암호 기술은 복잡해 보이지만, 목표인 혼돈과 확산만 달성하면 됨
암호화의 평가 기준
- 암호화된 결과물에서 키 정보를 얻기가 얼마나 어렵나? = 혼돈
- 암호화된 결과물에서 평문 정보를 얻기가 얼마나 어렵나? = 확산
운영 모드
*처음 정보보안기사 공부할 때 운영 모드가 뭔지 이해를 못했는데 정말 심플하다.
- 운영 모드는 암호 알고리즘을 사용하여 단위 암호 시스템을 구성하는 기초적인 방법으로, 알고리즘이 임의의 크기를 지닌 데이터를 처리하도록 구성하는 방식임
- 블록 사이즈만큼 자르고 블록 마다 알고리즘을 적용하여 결과물을 합치는 것. 이때 앞 블록에서 처리한 암호화의 결과 값을 다음 블록의 암호화 과정에 반영하는 방식으로 응용도 가능함
기밀성 모드 | 무결성 모드 | 기밀성 + 무결성 모드 |
ECB: 확산을 달성하지 못함 | CMAC | CCM |
CBC | ||
CFB | ||
OFB: KPA하에서 취약하므로, 초기화 벡터를 매번 다르게 설정하여 정보가 노출되지 않도록 하는 것이 바람직 | GCM | |
CTR | ||
XTS_AES |
암호 시스템 공격 유형
- COA: 암호문만 앎
- KPA: 원문과 그 일부에 해당하는 암호문을 앎
- CPA: 암호화기
- CCA: 복호화기
블록 암호화 vs 스트림 암호화
- 블록 암호화: 데이터를 블록 단위로 잘라 암호화 알고리즘을 거쳐 암호화
- 스트림 암호화: 데이터의 흐름을 순차적으로(보통 1bit) 어떤 값(암호화할 데이터와 길이가 같은 키 값)과 XOR 연산하여 암호화
*CFB나 OFB도 다른 관점에서 보면 난수 성질을 갖는 값을 만들고 여기에 XOR 연산을 수행하는 스트림 암호화 방식으로 볼 수 있음
스트림 암호화 장점
- 패딩 필요 없음
- 패딩은 암호화 전후 데이터 길이 변화가 문제가 되는 환경에서 단점이 됨
- XOR 연산을 사용하기 때문에 복호화 알고리즘이 필요 없음
FPE(format preserving encryption)
- 신용카드 정보처럼 특정한 형태의 데이터를 암호화하는 운영 모드로, '데이터의 포맷을 유지'히면서 암호화를 수행함
키 길이의 중요성
- 국가에서 안전성의 기준으로서 키 길이에 대한 가이드를 제공하고 있음
- 키 길이: 보통 보안 강도에 비례함
- 암호화 알고리즘과 달리 해시 함수에는 키가 없는데, 그 대신에 해시 값의 길이가 암호화 알고리즘에서 키 길이와 동일한 역할을 함
키 길이
(해시 함수는 해시 값의 길이)
- 블록 암호화 알고리즘이 암호화된 결과물을 복호화할 수 있는 것과 달리 해시 함수는 암호화된 결과 값을 복호화할 수 없음
- 해시 함수는 '일정한 길이로 일종의 압축을 수행'하는 특성이 있음
- 길이가 긴 입력 값이 길이가 고정된 결과물로 변환되는 과정에서 원본 데이터의 정보 일부가 사라지기 때문에 복호화를 하려고 해도 할 수 없음
- 이런 특성은 원본 데이터가 달라도 결과물이 동일할 수 있는 "충돌 저항성"이 존재하게 됨
해시함수 특징
- 역상 저항성: H(x) = y에서 y로부터 x를 구하기 힘듦
- 제2 역상 저항성: x에 대하여 H(x) = H(x')인 (x, x')을 찾기 힘듦
- 충돌 저항성: 해시 값이 같은 입력 값 두개를 찾을 수 없음
현실 공격과 해시함수
- 역상 저항성: 비밀번호의 해시 값이 저장된 데이터베이스 내용이 유출되었을 때
- 제2 역상 저항성: 전자서명의 안전성과 관련해 위조 방지
- 충돌 저항성: 서비스에 로그인할 때 필요한 안전성과 관계(비밀번호 비교)
충돌 저항성과 생일 공격
- 충돌 저항성은 다른 두 특성보다 만족하기 어려움
- 해시 함수 키 길이가 L(bit)일 때 역상 저항성은 키 길이와 동일, 제2 역상 저항성 강도는 키 길이가 L이거나 조금 짧지만, 충돌저항성은 절반이 됨
반면, 다음 세 가지 용도로 사용하는 해시 함수는 충돌 저항성보다 역상 저항성이나 다른 조건에 따라 안전성이 좌우됨
- HMAC: 제2 역상 저항성과 비밀 키의 안전성에 따라 보안 강도가 달라짐
- 키 유도 함수: 키를 생성하는 입력 값의 안전성과 해시 함수의 역상 저항성에 따라 보안 강도가 다름
- 난수 발생
보안성은 여러 가지 요소 중 가장 보안 강도가 낮은 요소에 의해 결정되기 때문에 대칭 키 암호 알고리즘은 키 길이로, 해시 함수는 해시 값 길이로 보안 강도를 표현합니다. 충돌 저항성이 특히 문제가 되는 해시 활용 방식에서는 대칭 키 알고리즘보다 길이가 두 배인 해시 값을 사용해야 대칭 키 알고리즘과 동일한 수준의 보안성을 확보할 수 있다는 점을 기억합니다.
인크립션: 실용주의 암호화
더북(TheBook): (주)도서출판 길벗에서 제공하는 IT 도서 열람 서비스입니다.
thebook.io
'Computer > Cryptology' 카테고리의 다른 글
DES (0) | 2023.02.06 |
---|---|
AES (0) | 2023.02.06 |
현대 암호 (0) | 2023.02.06 |
고전 암호 (0) | 2023.02.06 |
Cryptology 도입 (0) | 2023.02.06 |