CH7 : 암호(1)

김마사키·2022년 4월 16일
1

사이버보안개론

목록 보기
6/6

암호 : 보안에서 가장 기본적이고 가장 시작점에 해당하는 기술

암호의 기초

암호 용어


  • Cryptography 암호 : 중요 정보를 다른 사람들이 해석할 수 없게 하는 방법

  • Cryptography 암호작성술 : 암호체계를 디자인하는 것

  • Cryptanalysis 암호해독 : 암호를 해독하고 해당 암호체계의 보안을 분석하는 것

  • Cryptology 암호학 : 암호 연구, Cryptography + Cryptanalysis 어우르는 학문

  • 복호화 : 암호문 -> 평문으로 바꾸는 정상적인 과정


  • Plain Text 평문 : 암호화 전 메시지, 누구나 알 수 있음

  • Cipher Text 암호문 : 암호화 후 메시지, 당사자들만 알 수 있음

  • 암호화 알고리즘 : 평문 -> 암호문으로 변경하는 방식

  • Encryption key 암호화 키 : 허락받지 않은 외부인이 암호문을 강제적으로 해독 Cryptanalysis 할 수 없도록, 암호화나 복호화를 수행할 때 양쪽이 알고 있어야 할 수단

  • 암호화 알고리즘은 반복해서 사용, 암호화 키는 지속적으로 변경해서 사용


암호화 과정

  • 암호화 Encryption : 평문 P를 암호화 키 Encryption key를 이용하여 암호문 C 로 바꾸는 과정
  • 기호적 표현

복호화 과정

  • 복호화 Decryption : 암호문 C를 복호화 키 Decryption key를 이용하여 평문으로 바꾸는 과정
  • 기호적 표현

암호화 방식

  • 키의 상호 관계
  • 대칭 암호화 알고리즘 : 암호화 키 = 복호화 키
  • 비대칭 암호화 알고리즘(공개키 암호화 알고리즘) : 암호화 키 != 복호화 키

암호기법의 분류

1) 치환암호 substitution

  • 비트, 문자 혹은 블록을 다른 비트, 문자, 블록으로 대체
    e.g ) 시저 암호, 단일 치환 암호, 다중 치환 암호 (비즈네르 암호, 플레이페어 암호, 애니그마)

2) 전치암호 transposition

  • 비트, 문자, 블록이 원래 의미를 감추도록 재배열
    e.g ) 스키테일 암호

3) 블록암호 block

  • 특정 비트 수의 집합을 한번에 처리하는 암호 알고리즘

4) 스트림암호

  • 한번에 1bit, 1byte의 데이터 스트림을 순차적으로 처리해가는 암호 알고리즘

암호관련 주요 기술

1) 대칭/비대칭 암호

  • 대칭키 암호 : 암호화키 = 복호화키
  • 비대칭키 암호 : 암호화키 != 복호화키, 송신자가 수신자가 각각 한 쌍의 키를 가짐

2) 일방향 해시함수

  • 문서의 무결성 보장

3) 메시지 인증코드 MAC

  • 1) 메시지가 전송도중 변경되지 않음 2) 원래 통신 상대방으로 왔음을 확인하여 무결성인증을 제공하는 암호 기술

4) 전자서명

  • 무결성 확인, 인증, 부인방지를 위한 암호 기술

5) 의사난수생성기 PRNG

  • 난수열 생성 알고리즘
  • 키생성 역할

암호와 보안

  • 비밀 알고리즘 위험
    e.g ) 독자적인 알고리즘 개발은 매우 위험 <- 알고리즘 구조가 파악되면 완전 노출

  • 약한 암호는 더 위험

  • 모든 암호는 반드시 해독됨
    - 암호화에 필요한 비용과 지키고자 하는 가치균형
    - 좋은 암호 시스템 : 암/복호화는 쉽고 빠르게, 해독은 어렵게

  • 암호는 보안의 작은 부분
    - 사회공학공격의 취약성이 높음
    - 시스템의 강도는 가장 약한 부분 강도

주요 인물

  • Alice : 송신자
  • Bob : 수신자
  • Eve : 도청을 하는 소극적인 공격자
  • Malori : 앨리스가 보내는 메시지를 변조하는 적극적인 공격자

암호의 역사 : 고전 암호학

스키테일 암호 Scytale

  • BC400, 스파르타에서 군사용으로 사용
  • 전치법 Transposition 알고리즘
  • 전사공격 Brute Force에 취약

시저 암호

  • BC100, 로마의 줄리어스 시저가 군사적 목적으로 사용
  • 단일 치환 알고리즘 (Mono-Alphabetic Substitution) : 알파벳 한 글자를 다른 한 글자로 대체
  • 암호화 알고리즘 = 알파벳 글자를 이동시킨다
    e.g) A->D, B->E, C->F
  • 전사 공격 Brute Force에 취약

단일 치환 암호 Mono-alphabetic Substitution

  • 알파벳 26글자를 각각 다른 알파벳에 대응시키는 방식으로 암호화
  • 전사 공격에 다소 강
  • 10세기까지 사용
  • 단일 치환 암호문을 복호화하려면 알파벳 대칭표가 있어야 함
  • 빈도 분석법 Frequency Analysis 에 취약

다중 치환 암호 Polygram Substitution

  • 한 글자가 암호화 키와의 매핑에 따라 여러 가지 글자로 대체되어 암호화되는 방식
  • 다중 치환 암호, 현대에는 해독이 쉽다 <- 컴퓨터의 고속 병렬 처리 연산

(1) 비즈네르 암호 Vigenere

  • 26 X 26의 알파벳 대칭표 이용
  • 평문과 암호화 키를 매핑하고 암호화, 복호화를 수행
  • 17~18세기
  • 19세기, Charles Babbage가 빈도 분석법을 이용하여 비즈네르 암호를 복호화
  • 빈도 분석법 Frequency Analysis에 다소 강

(2) 플레이페어 암호 Playfair

(3) 에니그마 Engima

0개의 댓글