[TIL]230503컴퓨터시스템보안 10주차: 암호 공격

Jimin·2023년 5월 7일
0

1. 암호 공격의 개념

암호 공격 (Cryptogram Attack)

송신자와 수신자 이외의 허가 받지 않은 제3자가 암호 시스템을 공격(attck)하여 공개되지 않은 키를 불법적으로 획득하거나, 이를 이용하여 암호문의 내용을 가로채는 행위

수동적 공격과 능동적 공격

  1. 수동적 공격
  • 메시지의 도청: 공격자가 전송되는 메시지를 도중에 가로채어 그 내용을 외부로 노출시키는 공격으로, 메시지의 내용을 공격하는 개념
  • 트래픽 분석: 전송 메시지의 암호화로 도청을 통한 메시지 내용 파악이 불가능한 경우, 송신자와 수신자의 메시지 전송 트래픽을 분석해 암호문의 내용을 가로채어 해독하거나 이를 공개하는 개념
  1. 능동적 공격
  • 메시지 변조
  • 삽입 공격: 공격자가 정당한 송신자로 가장
  • 삭제 공격
  • 재생 공격: 공격자가 통화내용을 도청해 보관하고 있다가 나중에 재생하여 전송

암호 공격 방식

  • 암호 시스템은 공격자가 메시지를 불법적으로 복호화하는 것을 막기 위해 다양한 공격 종류들에 대해 안전해야 함
  1. 암호문 단독 공격: 공격자는 단지 암호문만을 갖고 있음
  2. 기지 평문 공격: 공격자는 일정량의 평문에 대응하는 암호문을 알고 있는 상태
  3. 선택 평문 공격: 공격자가 암호 시스템에 접근해 평문을 선택하고, 해당 평문에 해당하는 암호문을 획득한 후, 키 또는 평문을 추정해 해독함
  4. 선택 암호문 공격: 공격자가 암호 복호기에 접근해 암호문에 대한 평문을 획득해 해독

암호 시스템의 안전성

  • 계산적 안전성: 암호 시스템을 공격하기 위해 필요한 계산량이 매우 많아서 현실적으로 공격할 수 없는 경우
  • 증명 가능한 안전성: 암호 시스템에서 사용중인 암/복호화 알고리즘이 어렵다고 알려진 문제와 등가라서 현실적으로 해결(공격)할 수 없는 경우
  • 절대적 안전성: 무한한 계산 능력을 보유하고 있어도 암호 시스템을 공격할 수 없는 경우(= 무조건적 안전성)
  • 암호 알고리즘 개발자의 목표
    • 암호 해독 비용이 암호화된 정보의 가치를 초과할 수 있는 알고리즘 개발 -> 계산적 안전성
    • 암호 해독 시간이 암호화된 정보의 유효 기간을 초과할 수 있는 알고리즘 개발 -> 증명 가능한 안전성

단일 치환 암호의 공격

  • 주어진 평문의 각 알파벳을 미리 정해진 알파벳에 일대일 대응 시켜 치환하는 방법
  • 단일 치환 암호로 일반적인 영어문장을 암호화했을 경우 빈도 분석을 통해 복호화할 수 있음

Vigenere 암호의 공격

  • Vigenere 암호는 분자의 빈도를 보존하지 않음
  • 키의 길이를 찾아내고, 키 자체를 찾아냄으로써 암호를 해독할 수 있음
    • 일반적인 영어 문장은 그 문장의 주제에 따라 반복해서 나오는 단어가 있음
    • 키의 주기가 적절하게 맞아떨어진다면 두 단어가 동일하게 암호화될 수 있음

Kasiski 테스트 예제

  • 암호문으로부터 키의 길이를 유추할 때 두 번 등정한 WVOW가 동일한 평문일 것이라는 추론을 할 수 있음
  • 두 WVOW 사이의 거리가 20이므로 키의 길이는 20의 약수 중 하나라고 추측할 수 있음

Hill Climbing Method

  • Hill Climbing Method는 마치 언덕의 정상을 향해 올라가는 형태와 같이 현재의 상태에서 조금 더 평문에 가깝게 되도록 키를 조금씩 수정해 암호문을 복원하는 방법
  • 대부분의 고전 암호를 해결하는 데 쓰일 수 있는 간단하면서도 매우 강력한 공격 기법
  • 여러군데 해가 존재할 경우 Hill Climbing Method가 항상 Global maximum을 찾는 다는 보장이 없음
  • 이는 초기 키의 상태를 랜덤하게 둔 채로 여러 차례 Hill Climbing을 시도함으로써 해결할 수 있음

0개의 댓글