1. 암호학 기본 개념
: 정보보호의 목표 중 "기밀성" 유지에 꼭 필요.
1) 암호화, 복호화의 기호적 표현
평문 : M or P
암호문 : C
암호 알고리즘 : E
복호 알고리즘 : D
키 : K
- C = Ek(P) or C= E(K, P)
- P = Dk(C) or P = D(K, C)
Key : 데이터를 암호화 및 복호화 하는 알고리즘에 사용되는 핵심 값
Key space : 암호화 알고리즘에서 사용하는 키값의 크기
2) 암호 알고리즘과 키의 분리
① 암호 알고리즘 안에는 변경가능한 부분이 반드시 포함되어 있음.
--> 이 부분이 키에 해당함.
② 만약 암호화 할때마다 새로운 암호 알고리즘 필요하다면?? 안씀
암호 알고리즘과 키를 분리함.
3) 암호화 보안 상식
① 비밀 암호 알고리즘을 사용하지 말 것.
② 약한 암호는 암호화 하지 않는것보다 위험
③ 어떤 암호라도 언젠가는 해독된다.
④ 암호는 보안의 아주 작은 부분이다.
: 최근, 사회공학 공격이 자주 행해짐. 피싱, 트로이목마, 키로거 도 사회공학 공격방법 중 하나임.
한 시스템의 강도는, 가장 약한링크의 강도와 같기 때문에, 모든 링크 부위가 골고루 강해야함.
가장 약한 링크는 암호가 아닌 사람이라는것을 명심.
2. 암호기법 분류
1) 치환 암호와 전치 암호
① 치환 암호
- 비트, 문자 또는 문자의 블록을 다른 비트, 문자 또는 블록으로 대체
② 전치 암호
- 원문을 다른 문서로 대체하지는 않지만, 원문을 여기저기 움직이게 한다.
- 자리를 바꾸는 규칙.
2) 블록암호와 스트림 암호
③ 블록 암호
- 블록 암호는 어느 특정 비트 수의 "집합" 을 한 번에 처리하는 암호 알고리즘을 총칭한다.
- 이 "집합" 을 블록 이라고 하며, 블록의 비트 수를 블록 길이라고 한다.
- 평문을 일정 크기의 블록으로 잘라낸 후, 암호화 알고리즘을 적용하여 암호화
일반적으로 블록의 크기는 8비트(ASCII) 또는 16비트(Unicode)에 비례한다.
스트림 암호화 와는 다르게, ROUND를 사용하고, 반복적으로 암호화 과정을 수행해 암호화 강도를 높인다.
④ 스트림 암호
- 한번이 1비트, 혹은 1바이트의 데이터 흐름(스트림)을 순차적으로 처리해가는 암호 알고리즘의 총칭.
암호화 방식은 평문과 키 스트림을 XOR하여 생성
- 블록암호는 블록단위로 처리가 완료되므로, 어디까지 암호화가 진행되었는가 하는 내부 상태를 가질 필요가 없는
반면, 스트림 암호는 데이터의 흐름을 순차적으로 처리하기 때문에 내부 상태를 가지고 있다.
- 스트림 암호는 군사 및 외교용으로 널리 사용되고 있으며, 일부 상용으로도 활발히 사용되고 있다. 또한 스트림
암호는 이동 통신 환경에서의 구현이 용이하고, 안정성을 수학적으로 엄밀하게 분석할수 있어,
이동통신등의 무선 데이터 보호에 적합하다.
구분 | 스트림 암호 | 블록 암호 |
장점 | 암호화 속도 빠름, 에러 전파 현상 없음 | 높은 확산, 기밀성, 해시함수 등 다양 |
단점 | 낮은 확산 | 느린 암호화, 에러 전달 |
사례 | LFSR(Linear feedback shift register) Mux generator |
DES, IDEA, SEED, RC5, AES |
암호화 단위 | bit | block |
주요 대상 | 음성, 오디오/비디오 스트리밍 | 일반 데이터 전송, storage 저장 |
3) 위치에 따른 암호화의 구분
① 링크 암호화
- 모든 정보는 암호화 되며,
패킷은 라우터나 다른 중간에 있는 장비가 이 패킷을 다음에 어디로 보내야 하는지 알아야 하기 때문에
각 홉(Hop)에서 해독 되어야 한다.
- 라우터는 패킷의 헤더부분을 해독하고, 헤더 내의 라우팅, 주소 정보를 일고나서
다시 헤더부분을 암호화 하고 받을 주소방향으로 보내야 한다.
- 링크 암호화는, Data link, Physical link 계층에서 일어난다.
하드웨어 암호화 장치들은, 물리적 계층과의 인터페이스를 가지고 그것을 통과하는 모든 데이터를 암호화한다.
② 종단 간 암호화
- 종단간 암호화 방식에서는 Header와 trailer 가 암호화 되지 않기 때문에,
패킷을 각 홉에서 해독, 암호화 할 필요 없음.
source 와 destination 사이에 있는 장비들은 단지 필요한 라우팅 정보만 읽고
packet 을 그 진행 방향으로 통과시키게 된다.
- 종단 간 암호화는, 보통 소스 컴퓨터의 사용자에 의해 시작
이는 사용자가 어떤 메시지를 암호화할것인지 아닌지를 결정할수 있는 보다 나은 유연성을 제공.
- 종단간 암호화는 앱 계층에서 암호화가 이루어진다.
구분 | 링크 암호화 | 종단 간 암호화 |
특징 | ISP 나 통신업자가 암호화 헤더 포함 모든 데이터 암호화 유저가 알고리즘 통제 불가 |
사용자가 암호화 헤터(라우팅정보) 암호화 X 알고리즘에 대한 통제 유저가 함 |
장점 | User-transparent 하게 암호화, 운영간단 트래픽분석 어렵게함 온라인으로 암호화 |
사용자 인증 등, 높은 수준의 보안 서비스 제공 가능 중간 노드에서도 데이터가 암호문으로 존재 |
단점 | 중간 노드에서 데이터 평문으로 노출 다양한 보안서비스 제공 한계 모든 노드가 암호화 장비를 갖춰야함 네트워크가 커지면, 비용증가 |
트래픽 분석 취약 오프라인으로 암호화 |
'정보보안기사' 카테고리의 다른 글
OSI 보안 구조, 기본 보안 용어 (0) | 2020.10.11 |
---|---|
Window NTFS MFT (0) | 2019.06.25 |
IDS 보안 탐지기술 - 오용탐지, 이상탐지 (0) | 2019.06.25 |
07. 비대칭키 암호 (0) | 2019.01.13 |
06. Block cipher 사용 방식 (0) | 2019.01.12 |