IT/정보보안

[정보보안] 02. 암호학

디지털 은행원 이야기 2020. 9. 12. 23:51
반응형

 

안녕하세요.

방프개입니다.

 

오늘 공부했던 분야는 바로 'PART02. 암호학 개요'입니다.

모든 내용을 기록하기보단 내용을 요약해 말씀드리겠습니다.

 

# SECTION 02. 암호학의 기본 개념

1. 암호학의 기본 개념

   (1) 암호학(Cryptology)의 정의

      1) 암호학이란 평문을 다른 사람이 알아볼 수 없는 형태의 암호문으로 만들고

          특정한 비밀키를 알고 있는 사람만이 다시 평문으로 복원시킬 수 있도록 하는 암호기술과

          이를 제3자(도청자)가 해독하는 방법을 분석하는 암호해독에 관해 연구하는 학문.

 

   (2) 암호에서 사용하는 이름

      1) 앨리스와 밥

         > 일반적으로 앨리스는 메시지를 전송하고 밥이 수신을 하는 모델에 사용됨.

 

 

      2) 이브

         > 영어로 도청자는 소극적인 공격자를 의미.

            이브는 앨리스와 밥 사이에 이뤄지는 통신을 도청하기는 하지만 통신 중인 메시지를 수정하진 못함.

 

 

      3) 멜로리

         > 영어로 악의를 가진 공격자를 의미.

            이브와는 다르게 멜로리는 메시지를 수정하고, 자신의 메시지로 대체한 이전의 메시지를 재전송할 수 있음.

 

 

2. 암호 기법의 분류

   (1) 치환 암호와 전치 암호

      1) 치환 암호(대치 암호, Substitution Cipher)
         > 비트, 문자 또는 문자의 블록을 다른 비트, 문자 또는 블록으로 대체.

         > 치환 암호의 의미는 평문에서 사용하는 문자의 집합과 암호문에서 이용하는 집합이 다를 수 있음.

         > 즉, 교환 규칙은 일대일 대응이 아니어도 상관없음.

 

      2) 전치 암호(Transposition Cipher)

         > 원문을 다른 문서로 대체하지 않지만 여기저기 움직이게 함. 비트, 문자 등의 원래 의미를 감추도록 재배열함.

         > 전치는 평문에서 사용하는 문자의 집합과 암호문에서 사용하는 문자의 집합이 동일함.

         > 즉, 평문에 사용된 문자와 암호문에 사용된 문자가 일대일 대응 규칙을 가짐.

 

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

      1) 블록 암호(Block cipher) 

         > 블록 암호는 어느 특정 비트 수의 집합을 한 번에 처리하는 암호 알고리즘을 총칭.

         > 평문을 일정한 크기의 블록으로 잘라 암호화 알고리즘을 적용하여 암호화함.

            일반적으로 블록의 크기는 8비트(ASCII) 또는 16비트(Unicode)에 비례한다.

         > 스트림 암호화와는 다르게 Round를 사용하고, 반복적으로 암호화 과정을 수행해 암호화 강도를 높임.

 

      2) 스트림 암호(Stream cipher)

         >한 번에 1비트 혹은 1바이트의 데이터 흐름(스트림)을 순차적으로 처리해가는 암호 알고리즘의 총칭.

            암호화 방식은 평문과 키 스트림을 XOR 하여 생성.

         > 블록 암호는 블록 단위로 처리가 완료되므로 어디까지 암호화가 진행되었는가 하는

            내부 상태를 가질 필요가 없다. 하지만 스트림 암호는 데이터의 흐름을 순차적으로 처리하기 때문에

            내부 상태를 가지고 있다.

         > 스트리 암호는 군사 및 외교용으로 널리 사용되고 있으며 이동 통신 등의 무선 데이터 보호에 적합함.

 

구분 스트림 암호 블록 암호
장점  암호화 속도가 빠름, 에러 전파현상 없음 높은 확산, 기밀성, 해시함수 등 다양
단점  낮은 확산  느린 암호화, 에러 전달
사례  LFSR, MUX generator  DES, IDEA, SEED, RC5, AES
암호화 단위  비트  블록
주요 대상  음성, 오디오/비디오 스트리밍  일반 데이터 전송, 스토리지 저장

   

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

      1) 링크 암호화(Link Encryption)

         > 모든 정보는 암호화되고, 패킷은 라우터나 다른 중간에 있는 장비가 이 패킷을

            다음에 어디로 보내야 하는지 알아야 하기 때문에 각 홉(hop, ≒ 라우터)에서 해독되어야 함.

         > 라우터는 패킷의 해더 부분을 해독하고, 헤더 내의 라우팅과 주소 정보를 읽고,

            그런 다음 그것을 다시 암호화하고 진행 방향으로 보냄.

         > 링크 암호화는 물리적 계층 또는 데이터 링크에서 일어남.

 

      2) 종단 간 암호화(End-to-End Encryption)  
         > 종단간 암호화에서는 헤더와 트레일러가 암호화되지 않기 때문에 패킷을 각 홉에서 해독할 필요가 없음.

            근원지와 목적지 사이에 있는 장비들은 필요한 라우팅 정보만 읽고 그 진행 방향으로 통과시키면 됨.

         > 종단간 암호화는 애플리케이션 계층(제7 계층)에서 암호화가 이루어짐.

 

구분 링크 암호화 종단간 암호화
특징 - ISP나 통신업자가 암호화
- 헤더를 포함한 모든 데이터를 암호화
- 유저가 알고리즘 통제 불가
- 사용자가 암호화
- 헤더(라우팅정보)는 암호화하지 않음
- 알고리즘에 대한 통제는 사용자가 함
장점 - User-transparent하게 암호화되므로
  운영이 간단
- 트래픽분석을 어렵게 함
- 온라인으로 암호화
- 사용자 인증 등 높은 수준의
  보안 서비스를 제공 가능
- 중간노드에서도 데이터가
  암호문으로 존재
단점 - 중간 노드에서 데이터가 평문으로 노출
- 다양한 보안서비스를 제공하는데 한계
- 모든 노드가 암호화 장비를 갖추어야하므로
  네트워크가 커지면 비용 과다
- 트래픽분석이 취약
- 오프라인으로 암호화

 

3. 주요 암호기술에 대한 개괄

   (1) 대칭키 암호와 비대칭키 암호

      > 대칭키 암호는 암호화할 때 사용하는 키와 복호화할 때 사용하는 키가 동일한 알고리즘 방식
      > 비대칭키 암호는 암호화할 때 사용하는 키와 복호화할 때 사용하는 키가 서로 다른 알고리즘 방식

 

   (2) 하이브리드 암호 시스템

      > 하이브리드 암호 시스템은 대칭키 암호와 공개키 암호의 장점을 조합한 것

 

   (3) 일방향 해시함수

      > 일방향 해시함수를 통해 확인할 수 있는 것은 문서의 기밀성이 아니라 무결성

   

   (4) 메시지 인증코드 (해시함수 + 대칭키)

      > 메시지 인증코드는 무결성과 인증을 제공하는 암호 기술

 

   (5) 전자서명 (해시함수 + 비대칭키)

      > 전자서명은 무결성을 확인하고, 인증과 부인방지를 하기 위한 암호 기술

 

'Seciton 02. 암호학'과 관련된 내용을 좀 정리해봤는데요.

정리를 하다 보니... 갑자기 이게 그렇게 효율적이진 않을 것 같단 생각이 드네요.

사실 정보보안 기사를 공부하시는 분들은 각자 책을 가지고 공부를 하실 텐데

이렇게 내용을 정리해서 올려놓는 게 도움이 될까?? 하는 생각이 들었습니다.

 

차라리 네트워크도 공부를 해야 하니 그걸 정리해서 올리는 게 더 나을 수도 있겠네요.

글을 매일매일 올리는 것도 중요하지만 저에게 도움이 되는 게 먼저니깐요.

어떤 방법이 저에게 더 도움이 될지 잘 고민해보도록 하겠습니다.

 

감사합니다.

반응형