IT관련/정보보안기사

[정보보안기사] Part2-1 암호학 개요

어플읽는남자 2022. 3. 20.
반응형

1. 암호학의 기본 개념

1) 암호학의 기본 개념

  • 암호학(Cryptology)란 평문을 다른 사람이 알아볼 수 없는 형태의 암호문으로 만들고 그 비밀키를 알고 있는 사람만 평문으로 복원이 가능하도록 하는 암호기술(Cryptography)과 이를 제3자가 해독하는 방법을 분석하는 암호해독(Cryptanalysis)에 관해 연구하는 학문

 

2) 암호에서 사용되는 이름

  • 앨리스(Alice) : 메시지를 전송하는 모델
  • 밥(Bob) : 메시지를 수신하는 모델
  • 이브(Eve) : 도청자(Eavesdropper) 모델, 소극적인 공격자로 앨리스와 밥 사이의 통신을 도청하지만 통신 중인 메시지 수정은 불가함.
  • 맬로리(Mallory) : 악의(Malicious) 모델, 적극적인 공격자로 메시지 수정이 가능하고, 송신 중인 메시지를 자신의 메시지로 대체하여 재전송이 가능하다.
  • 트렌트(Trent) : 중재자(Trusted arbitrator) 모델, 중립적인 제3자의 위치
  • 빅터(Victor) : 입증자(Verifier) 모델, 의도된 거래나 통신이 실제로 발생했음 검증하는 모델
앨리스와 밥의 유래
비대칭키 암호 시스템 RSA를 창시자인 Ron Rivest가 1979년에 처음 사용함

3) 송신자, 수신자, 도청자의 개념

  • 누군가 다른 사람에게 정보를 보낼 때, 보내는 사람을 송신자(Sender), 받는 사람을 수신자(Receiver)라고 부른다. 송신된 정보를 총칭하여 메시지(message)라고 한다.
  • 맬로리(Mallory)는 전송 중인 메시지를 갈취한 다음 내용을 임의로 수정해서 수신자에게 보낼 수도 있다.
  • 이브(Eve)는 반드시 사람만 의미하는게 아니라, 통신기기 도청용 기계 또는 메일 소프트웨어나 서버에 설치된 프로그램도 포함된다.

Eve의 소극적 공격
Mallory의 적극적 공격

4) 암호화와 복호화

  • 앨리스가 작성한 메일을 타인이 읽지 못하도록 암호화할 수 있다. 암호화하기 전의 메시지를 평문(Plaintext), 암호화한 후의 메시지를 암호문(Ciphertext)이라 한다.
  • 앨리스와 밥은 암호(Cryptography) 기술을 사용하여 메일의 기밀성(Confidentiality)을 유지한다.

5) 암호화, 복호화의 기호 표현

- 평문은 P(또는 M), 암호문은 C, 암호 알고리즘은 E, 복호화 알고리즘은 D, 키는 K로 표현한다.

  • C = Ek(P) : 평문 P를 키 K로 암호화(E)하여 암호문 C를 획득 또는 C = E(K, P)
  • P = Dk(C) : 암호문 C를 키 K로 복호화(D)하여 평문 P를 획득 또는 P = D(K, C)

6) 암호 알고리즘과 키의 분리

  • 암호 알고리즘 구조는 "변경 가능한 부분"이 반드시 포함되어 있고, 이 "변경 가능한 부분"이 "키"에 해당된다.
  • 암호화를 할 때마다 새로운 암호 알고리즘을 만든다면 매우 번거로우므로, 한 번 개발한 알고리즘은 연속해서 사용하기를 원한다.
  • 암호 알고리즘을 반복해서 사용하지만 암호문이 반복되면 위험한 상황을 없애기 위해 암호 알고리즘과 키를 구분하여 생각하게 되었다.

7) 암호와 보안 상식

비밀 암호 알고리즘을 사용하지 말 것

  • 독자적으로 암호 알고리즘을 개발하고 이를 비밀로 하면 안전하다. 는 생각은 큰 오산
  • 암호 알고리즘 자체를 비밀로 하여 기밀성을 유지한다면 암호 알고리즘 구조가 폭로되면 그것으로 실패
  • 위와 같은 행위는 일반적으로 숨기는 것에 의한 보안(Security by obscurity)라고 하며, 이는 위험하고 어리석은 것으로 간주됨

약한 암호는 암호화하지 않는 것보다 위험하다.

약한 암호를 사용하는 것은 처음부터 암호를 사용하지 않는 것이 낫다.

가장 큰 이유는 사용자가 "암호"라는 말로 인해 "잘못된 안심"을 하기 때문이다.

어떤 암호라도 언제 가는 해독 된다.

  • 어떤 알고리즘을 이용해 암호문을 만들어도, 모든 경우의 수를 시도해보면 언젠가는 반드시 해독된다.
  • 암호문이 해독되기까지 걸린 시간과 암호를 이용하여 지키고 싶은 평문의 가치와의 밸런스(Trade-off)가 중요하다.
암, 복호화는 쉽고 빠르지만 해독은 어려운 시스템일수록 좋은 암호 방식이라 할 수 있다.

암호는 보안의 아주 작은 부분이다.

  • 최근에는 사회공학 공격이 자주 행해지고 있다.
  • 피싱, 트로이목마, 키로거 등의 사회공학 공격 방법들이 있다.
  • 시스템의 강도는 가장 약한 링크의 강도와 같으므로, 모든 링크 부위가 골고루 강해야 시스템 보안성이 강해진다.
  • 사회공학 공격의 대상은 사람으로, 가장 약한 링크는 암호보다 사람이다.
피싱(Phishing)
개인정보(Private data)를 낚는다(Fishing)의 합성어, 불특정 다수에게 메일을 발송해 위장된 홈페이지로 접속하도록 유도하고, 인터넷 이용자들의 금융정보 등을 빼내는 수법
트로이목마(Trojan Horse)
컴퓨터 시스템에 정상 기능을 하는 프로그램으로 가정해 다른 프로그램 안에 숨어 있다가 프로그램이 실행될 때 활성화하는 악성 프로그램
키로거(Key Logger Attack)
사용자의 키보드 움직임을 탐지하여 ID나 패스워드 등과 같은 개인 중요 정보를 몰래 빼 가는 해킹 공격
2. 암호 기법의 분류

1) 치환 암호와 전치 암호

 

치환 암호(Substitution Cipher)

  • 비트, 문자 또는 문자 블록을 다른 비트, 문자 또는 블록으로 대체한다.
  • 평문에서 사용하는 문자의 집합과 암호문에서 사용하는 집합이 다를 수 있다.
  • 평문 문자를 다른 문자로 교환하는 규칙이며, 교환 규칙이 일대일 대응이 아니어도 상관없다.

전치 암호(Transposition Cipher)

  • 원문을 다른 문서로 대체하지 않지만, 비트, 문자 또는 블록이 원래 의미를 감추도록 재배열한다.
  • 평문에서 사용하는 문자의 집합과 암호문에서 사용하는 문자의 집합이 동일하다.
  • 문자 집합 내부에서 자리를 바꾸는 규칙이며, 일대일 대응 규칙을 갖는다.

2) 블록 암호와 스트림 암호 

 

블록 암호(Block cipher)

  • 어느 특정 비트 수의 집합을 합 번에 처리하는 암호 알고리즘을 총칭함. 이를 블록(Block)이라 하고, 블록 비트 수를 블록 길이(Block length)라고 한다.
  • 평문을 일정한 크기의 블록으로 잘라 암호 알고리즘을 적용하여 암호화함. 블록의 크기는 일반적으로 8비트(ASCII), 16비트(Unicode)에 비례한다.
  • Round를 사용하고, 반복적으로 암호화 과정을 수행해 암호화 강도를 높인다.

스트림 암호(Stream cipher)

  • 한 번에 1비트 혹은 1바이트 데이터 흐름을 순차적으로 처리하는 암호 알고리즘을 총칭함. 암호화 방식은 평문과 키 스트림을 XOR 하여 생성한다.
  • 데이터의 흐름을 순차적으로 처리해가기 때문에 내부 상태를 가지고 있다.(블록 암호는 블록단위 처리이므로 내부 상태가 필요 없다.)
  • 군사 및 외교용으로 사용되고 있고, 일부 상용으로도 사용된다. 안정성을 수학적으로 분석 가능하여 이동 통신 등의 무선 데이터 보호에 적합하다.
구분 블록 암호 스트림 암호
장점 높은 확산, 기밀성, 해시함수 빠른 암호화
단점 느린 암호화 낮은 확산
사례 DES, IDEA, SEED, RC5,AES LFSR, MUX generator
암호화 단위 블록 비트
주요 대상 일반 데이터 전송 오디오/비디오 스트리밍

3) 위치에 따른 암호화의 구분

 

링크 암호화(Link Encryption)

  • 패킷은 라우터나 다른 중간에 있는 장비가 이 패킷의 다음 위치를 알아야 하므로 각 홉(Hop)에서 해독되어야 한다.
  • 라우터는 패킷 헤더 해독, 헤더 내의 라우팅과 주소를 읽고 다시 암호화하여 진행 방향으로 보낸다.
  • 데이터 링크 또는 물리적 계층에서 일어나므로 하드웨어 암호화 장치들은 통과하는 모든 데이터를 암호화한다.

종단 간 암호화(End to End Encryption)

  • 헤더와 트레일러가 암호화되지 않기 때문에 패킷을 각 홉에서 해독하고 암호화할 필요가 없다.
  • 근원지 컴퓨터 사용자에 의해 시작되므로, 사용자에게 암호화 진행 여부에 대해 보다 나은 유연성을 제공한다.
  • 사용자 인증 등 높은 수준의 보안 서비스 제공이 가능하다.
홉(Hop)
패킷이 그것의 목적지에 도달할 수 있도록 돕는 장비, 패킷이 다음에 어디로 가야 하는지를 결정하기 위해 패킷 주소를 들여다보는 라우터이다. 보통 발신 및 수신 컴퓨터 사이에 많은 홉을 거친다.

 

4) 하드웨어와 소프트웨어 암호 시스템

 

하드웨어 암호 시스템

  • 컴퓨터와 통신기기의 내부 버스와 외부 인터페이스에 전용 암호처리용 하드웨어를 설치하여 데이터를 암호화한다.
  • 전용 하드웨어로 암호화함으로 컴퓨터 CPU에 부담을 주지 않고 빠른 속도로 암호화 가능하다.

 

소프트웨어 암호 시스템

  • 암호처리용 소프트웨어를 사용한 데이터 암호화로 가능하다.
  • 저렴한 비용으로 실현 가능하며, 허용범위 내에서 적당한 안정성과 처리속도를 취하면 효율적이다.
  • 최근 컴퓨터 CPU 처리 속도가 빨라짐에 따라 소프트웨어로 암호화 처리시간도 단축되어 소프트웨어에 의한 처리가 주류를 이루고 있다. 
반응형

댓글