선릉역 1번 출구

암호학 본문

Computer/Cryptology

암호학

choideu 2023. 10. 12. 10:37

암호 기술은 복잡해 보이지만, 목표인 혼돈과 확산만 달성하면 됨
 
암호화의 평가 기준

  • 암호화된 결과물에서 키 정보를 얻기가 얼마나 어렵나? = 혼돈
  • 암호화된 결과물에서 평문 정보를 얻기가 얼마나 어렵나? = 확산

운영 모드
*처음 정보보안기사 공부할 때 운영 모드가 뭔지 이해를 못했는데 정말 심플하다.
- 운영 모드는 암호 알고리즘을 사용하여 단위 암호 시스템을 구성하는 기초적인 방법으로, 알고리즘이 임의의 크기를 지닌 데이터를 처리하도록 구성하는 방식임

  • 블록 사이즈만큼 자르고 블록 마다 알고리즘을 적용하여 결과물을 합치는 것. 이때 앞 블록에서 처리한 암호화의 결과 값을 다음 블록의 암호화 과정에 반영하는 방식으로 응용도 가능함
기밀성 모드무결성 모드기밀성 + 무결성 모드
ECB: 확산을 달성하지 못함CMACCCM
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 역상 저항성과 비밀 키의 안전성에 따라 보안 강도가 달라짐
  • 키 유도 함수: 키를 생성하는 입력 값의 안전성과 해시 함수의 역상 저항성에 따라 보안 강도가 다름
  • 난수 발생
보안성은 여러 가지 요소 중 가장 보안 강도가 낮은 요소에 의해 결정되기 때문에 대칭 키 암호 알고리즘은 키 길이로, 해시 함수는 해시 값 길이로 보안 강도를 표현합니다. 충돌 저항성이 특히 문제가 되는 해시 활용 방식에서는 대칭 키 알고리즘보다 길이가 두 배인 해시 값을 사용해야 대칭 키 알고리즘과 동일한 수준의 보안성을 확보할 수 있다는 점을 기억합니다. 

https://thebook.io/006879/

인크립션: 실용주의 암호화

더북(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
Comments