안녕하세요.
방프개입니다.
오늘 공부했던 분야는 바로 '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. 암호학'과 관련된 내용을 좀 정리해봤는데요.
정리를 하다 보니... 갑자기 이게 그렇게 효율적이진 않을 것 같단 생각이 드네요.
사실 정보보안 기사를 공부하시는 분들은 각자 책을 가지고 공부를 하실 텐데
이렇게 내용을 정리해서 올려놓는 게 도움이 될까?? 하는 생각이 들었습니다.
차라리 네트워크도 공부를 해야 하니 그걸 정리해서 올리는 게 더 나을 수도 있겠네요.
글을 매일매일 올리는 것도 중요하지만 저에게 도움이 되는 게 먼저니깐요.
어떤 방법이 저에게 더 도움이 될지 잘 고민해보도록 하겠습니다.
감사합니다.
'IT > 정보보안' 카테고리의 다른 글
[정보보안] DES(Data Encryption Standard) 알고리즘이란? (0) | 2020.09.16 |
---|---|
[정보보안] 01. 정보보호 개요 (0) | 2020.09.11 |
[정보 보안] 분산 서비스 공격(DDOS) 이란? (0) | 2020.09.10 |