[정보보안기사] 필기 정리 - 암호학

.·2022년 7월 15일
1

암호기법의 분류

치환 암호와 전치 암호

  1. 치환 암호
  • 비트, 문자 또는 문자의 블록을 다른 비트, 문자 또는 블록으로 대체
  • 평문의 문자를 다른 문자로 교환하는 규칙(교환 규칙은 일대일 대응이 아니어도 상관 x)
  1. 전치 암호
  • 비트, 문자 또는 블록이 원래의 의미를 감추도록 재배열
  • 문자 집합 내부에서 자리를 바꾸는 규칙(평문에 사용된 문자와 암호문에 사용된 문자가 일대일 대응 규칙을 가짐)

블록 암호와 스트림 암호

  1. 블록 암호
  • 어느 특정 비트 수의 집합을 한 번에 처리하는 암호 알고리즘을 총칭
  • 평문을 일정한 크기의 블록으로 잘라낸 후 암호화 알고리즘 적용(블록의 크기는 8비트 or 16비트에 비례)
  • 스트림 암호와 다르게 Round 사용, 반복적으로 암호화 과정을 수행해 강도를 높임
  • DES, AES, SEED, RC5 등
  1. 스트림 암호
  • 한 번에 1비트 혹은 1바이트의 데이터 흐름(스트림)을 순차적으로 처리해가는 암호 알고리즘을 총칭
  • 평문과 키 스트림을 XOR하여 생성
  • 군사 및 외교용으로 널리 사용

주요 암호기술

  1. 대칭키 암호와 비대칭키 암호
  • 대칭키 암호: 암호화할 때 사용하는 키와 복호화할 때 사용하는 키가 동일
  • 비대칭키: 암호화할 때 사용하는 키와 복호화할 때 사용하는 키가 서로 다름
  1. 일방향 해시함수
  • 해시값은 일방향 해시함수를 사용해 계산한 값
  • 일방향 해시함수를 통해 확인할 수 있는 것은 무결성
  1. 메시지 인증코드
  • 메시지가 생각했던 통신 상대로부터 온 것임을 확인하기 위함
  • 무결성과 인증을 제공
  1. 전자서명
  • 무결성 확인, 인증과 부인방지 제공

암호 분석(암호 해독)

개요

케르히호프의 원리

  • 암호시스템의 안전성은 암호 알고리즘의 비밀을 지키는데 의존되어서는 안되고, 키의 비밀을 지키는데 의존되어야 한다는 원리(암호 해독자가 현재 사용되고 있는 암호 알고리즘을 알고있다고 전제)

암호 분석의 종류

  1. 암호문 단독 공격(COA)
  • 도청자가 어떤 암호문을 얻어 대응되는 평문과 키를 찾는 것(도청자는 알고리즘을 알고 있고, 암호문을 가로챌 수 있다고 가정)
  • 공격자는 암호문만 필요하므로 가장 쉽게 적용될 수 있는 공격
  1. 기지 평문 공격(KPA)
  • 공격자는 해독하려는 암호문 외에 추가로 여러 개의 평문/암호문 쌍을 얻는다. 평문/암호문 쌍은 공격자에게 미리 주어진다.
  • 암호문에 대응하는 일부 평문이 사용가능한 상황에서의 공격
  1. 선택 평문 공격(CPA)
  • KPA와 비슷하지만 공격자에게 주어지는 평문/암호문 쌍을 공격자가 선택하는 공격
  • 평문을 선택하면 대응하는 암호문을 얻을 수 있는 상황에서의 공격
  1. 선택 암호문 공격(CCA)
  • 공격자가 어떤 암호문을 선택하고 그에 대응되는 암호문을 얻는다는 점을 제외하면 선택 평문 공격과 유사
  • 암호문을 선택하면 대응하는 평문을 얻을 수 있는 상황에서의 공격

대칭키 암호

종류

  • DES: 64비트 평문을 64비트 암호문으로 암호화하는 알고리즘(8비트는 오류 검출을 위해 사용)
  • AES: 128비트 평문을 128비트 암호문으로 출력하는 알고리즘, non-Feistel 알고리즘에 속함.
  • 국제 암호 알고리즘: IDEA, RC5
  • 국내 암호 알고리즘: SEED, ARIA, HIGHT, LEA

비대칭키 암호

대칭키 암호를 사용하면 송신자와 수신자 모두가 동일한 키를 가지고 있어야하므로 키 배송 문제가 발생한다 이러한 문제를 해결하기 위한 방법에는 키의 사전 공유, 키 배포센터 활용, Diffie-Hellman 키 교환 그리고 공개키 암호(비대칭키)를 사용하는 것이 있다.

  • 공개키 암호에서 암호화키와 복호화키는 서로 밀접한 관계(수학적 관계)를 가지고 있다. 따라서 공개키와 개인키를 각각 별개로 만들 수는 없다.
  • 대칭키보다 느리기 때문에 메시지의 크기가 매우 큰 경우에는 대칭키 암호시스템의 역할이 매우 중요
  • 비대칭키 암호시스템은 인증이나 전자서명, 대칭키 교환에 유용하게 사용되고 있다.

종류

  • RSA: 인수분해 문제 해결의 높은 난이도를 이용한 가장 대표적인 공개키 알고리즘
  • Rabin
  • ElGamal
  • ECC

해시함수와 응용

일방향 해시함수

  • 해시함수는 임의의 길이를 갖는 메시지를 입력하여 고정된 길이의 해시값 또는 해시 코드라 불리는 값을 출력하는 함수이다.

  • 특징

    • 임의 길이의 메시지로부터 고정 길이의 해시값을 계산한다.
    • 해시값을 고속으로 계산할 수 있다.
    • 일방향성을 갖는다.(해시값으로부터 메시지를 역산할 수 없음)
    • 메시지가 다르면 해시값도 다르다.
  • 해시함수의 보안 요구사항

    • 프리이미지 저항성(역상 저항성): 주어진 임의의 출력값 y에 대해 y=h(x)를 만족하는 입력값 x를 찾는 것이 계산적으로 불가능하다.
    • 제2프리이미지 저항성(두 번째 역상 저항성, 약한 충돌내성): 주어진 입력값 x에 대해 h(x)=h(x'), x!=x'을 만족하는 다른 입력값 x'을 찾는 것이 계산적으로 불가능하다.
    • 충돌 저항성(강한 충돌 내성): h(x)=h(x')을 만족하는 임의의 두 입력값 x, x'을 찾는 것이 계산적으로 불가능하다.

메시지 인증코드(MAC)

  • 무결성을 확인하고 메시지에 대한 인증을 하는 기술
  • 송신자와 수신자가 키를 공유할 필요가 있다.(키 배송 문제와 같은 문제가 일어남)
  • HMAC: 일방향 해시함수를 이용하여 메시지 인증코드를 구성하는 방법
  • MAC에 대한 공격

    단순한 MAC는 재전송 공격을 방지할 수 없음

    • 순서번호, 타임스탬프, 비표, 시도/응답 등의 방법으로 재전송 공격을 막을 수 있음

0개의 댓글