본문 바로가기

정보보안기사

정보 보호 일반(1)

* 수동적 공격

- 전송되는 파일 도청 : 메시지를 도중에 가로채어 그 내용을 외부로 노출

- 트래픽 분석 : 메시지의 송신측과 수신측의 신원파악이 가능

 

* 능동적 공격

- 메시지 변조 : 메시지들의 순서를 바꾸거나 메시지 일부분을 다른 메시지로 대체

- 삽입공격 : 공격자가 정당한 송신자로 위장, 수신자에게 메시지 전송

- 삭제공격 : 서비스 방해 공격, 특정 수신자에게 전송하는 메시지의 일부 또는 전부를 삭제

- 재생공격 : /수신자간 통화했던 내용을 도청하여 보관하고 있다가 나중에 재생하여 전송하는 공격

 

* 암호 메시지에 대한 공격 유형

. 암호문 단독 공격(COA : Ciphertext Only Attack)

- 암호문으로부터 평문이나 암호키를 찾아내는 방법

. 알려진 평문 공격(KPA : Known Plaintext Attack)

- 이미 입수한 평문과 암호문의 관계를 이용하여 새로운 암호문을 해독하는 방법

. 선택 평문 공격(CPA : Chosen Plaintext Attack)

- 평문을 선택하면 대응되는 암호문을 얻을 수 있는 상황에서 공격하는 방법

. 선택 암호문 공격(CCA : Chosen Ciphertext Attack)

- 암호문을 선택하면 대응되는 암호문을 얻을 수 있는 상황에서 공격하는 방법

 

* 암호시스템 분류

. 사용하는 키에 따른 분류

- 대칭키 암호시스템 : /복호화 키가 동일

- 공개키 암호시스템 : /복호화 키가 상이

. 평문의 길이에 따른 분류

- 스트림 암호시스템 : 난수열을 생성하여 입력 평문 한 비트 또는 한 문자 단위로 XOR하여 암호화

- 블록 암호시스템 : 입력 평문 비트열을 일정한 크기의 블록으로 나누어 암호화

 

* 대칭키 암호시스템

. 장점

- 키 크기가 상대적으로 작다

- 암호 알고리즘 내부 구조가 간단

- /복호화 속도가 빠르다

. 단점

- 키 관리의 어려움(n명의 사용자 n(n-1)/2 개의 키 관리)

- 자주 키를 교환시 불편

- 디지털 서명 등의 기법에 적용하기 곤란

- 안전성 분석의 어려움

- 중재자 필요

. 대칭키 암호화 알고리즘 종류 : DES, 3DES, Blowfish, IDEA, RC4, RC5, RC6, AES, SEED, ARIA

* 공개키 암호시스템

. 장점

- 키 분배가 용이

- 확장 가능성

- 인증과 부인봉쇄 제공 가능(전자서명 및 사용자 인증에 사용)

- 범용적으로 사용 가능

. 단점

- 큰 길이의 키 사용, 긴 암호화 처리 시간

- 공개키 배포에 대한 신뢰성 문제

. 공개키 암호화 알고리즘 종류 : RSA, Rabin, ECC, Schnorr, Diffie-Hellman, El Gamal, DSA, KCDSA, Knapsack

 

스트림 암호 : 한번에 한 바이트씩 암호화되는 형식

- 가장 처음에는 초기값 필요

- 평문을 키생성 알고리즘 비밀키로 XOR 연산하여 암호화

- 원타임 패드를 실용적으로 구현할 목적으로 개발

- 다음에 출력 비트를 예측할 확률이 1/2이어야 안전

- 긴주기와 높은 선형복잡도가 요구

- 블록단위 암호화에 비해 암호화가 더 빠르다

- 주로 LFSR을 이용

- 블록암호의 CFB, OFB 모드는 스트림과 같은 역할

 

스트림 암호 기술

. One Time Pad

- 암호화를 수행할 때마다 랜덤하게 선택된 키 스트림을 사용

- 매 평문마다 한번씩만 사용되는 랜덤 키 스트림(또는 난수열)을 생성한 후 XOR하여 암호화

- 최소한 평문 메시지 길이와 같거나 더 긴 길이의 키 스트림을 생성해야 함

. FSR(Feedback Shift Register)

. LFSR(Linear Feedback Shift REgister)

- LFSR에 의하여 생성된 키 스트림은 수열이 N비트 이후에 반복되는 의사 난수열

. NFSR : LFSR이 선형적 공격에 취약하여 설계

 

* 스트림 암호의 활용

- RC4 : 네트워크 프로토콜에서 활용, 평문의 1바이트와 키 1바이트가 XOR되어 암호문 생성

- A5/1 : 휴대전화 통신을 위한 네트워크인 GSM에서 사용

- WEP : 무선랜 구간에서 전송되는 MAC 프레임들을 64비트의 키를 이용한 RC4 스트림 암호 방식으로 사용

 

블록 암호 : 비밀키를 이용하여 고정된 크기의 입력 블록을 고정된 크기의 출력블록으로 변형 (p.507)

- 혼돈(Confusion) : 평문의 작은 변화가 암호문에 어떤 변화를 가져올지 예측할 수 없는 성질. 비선형함수

- 확산(Diffusion) : 평문을 구성하는 각각의 비트들의 정보가 여러개의 암호문 비트들에 분산되는 성질. 전치와 치환. 선형함수

 

*  Feistel 구조

- 평문 2w 평문과 키 k를 입력으로 구성

- 평문 LE0(w)RE0(w)로 나누어져서 n 라운드를 처리, LEn(w)REn(w) 생성, 더하면 암호문

- 16라운드, 라운드 수 증가시 보안 강화 가능

- 3라운드 이상이며 짝수라운드로 구성

- 라운드 함수와 관계없이 역 변환이 가능(/복호화 과정 동일)

- 두 번의 수행으로 블록간의 완전한 확산

- 알고리즘 속도가 빠르고 하드웨어 및 소프트웨어 구현이 용이

- DES를 이용한 블록 암호시스템에 이용

*  SPN 구조

- 라운드 함수가 역변환이 되어야 한다는 제약

- 많은 병렬성 제공으로 암/복호화 알고리즘 고속화

 

* 블록암호 운영모드

. ECB모드(Electronic CodeBack)

- 평문블록단위로 바로 암호화

- 장점 : 암호화블록에서 발생한 오류가 다음 블록으로 전파되지 않는다

- 단점 : 반복공격에 취약, 블록 크기보다 작은 데이터에는 적용할 수 없다

- 병렬 암호화 가능 / 병렬 복호화 가능

. CBC모드(Cipher Block Chaining)

- 초기화벡터(IV:Initialization Vector)와 평문블록을 XOR연산하여 암호화블록 생성

- 생성된 암호화블록과 다음 평문블록을 XOR연산하여 암호화블록 생성, 순차적 반복

- 장점 : 평문의 길이가 긴 경우에도 효과적

- 단점 : 암호문블록 한 개가 손상되면 해당 평문블록과 다음 단계 평문블록이 영향을 받는다

- 병렬 암호화 불가능 / 병렬 복호화 가능

. CFB모드(Cipher FeedBack)

- 초기화벡터(IV)를 암호화해서 생성한 키스트림값을 평문블록과 XOR연산하여 암호화블록 생성

- 생성된 암호화블록을 사용하여 다음 키스트림값 산출, 암호문블록 생성 반복

- 장점 : 블록의 크기를 일정하기 유지하기 위한 패딩작업 불필요, 블록크기보다 작은 데이터에 적용 가능

- 단점 : 암호문블록의 재전송공격에 취약, 암호문블록 오류시 해당 평문블록과 다음 평문블록에 영향

- 병렬 암호화 불가능 / 병렬 복호화 가능

. OFB모드(Output FeedBack)

- 초기화벡터(IV)값을 블록암호화해서 생성한 키스트림값을 평문블록과 XOR연산하여 암호화블록 생성

- 생성된 키스트림값을 다시 블록암호화하여 키스트림값 생성, 다음 평문 블록에 적용하여 암호화블록 생성

- 키스트림값 미리 생성 가능, 암호화 및 XOR연산 속도가 빠름, 암호문블록 오류시 해당 평문블록에만 영향

- 블록암호상 스트림암호 운영 가능

- /복호화 과정이 같은 구조이므로 프로그램으로 구현이 용이

- 병렬 암호화 불가능 / 병렬 복호화 불가능

. CTR모드(Counter)

- 랜덤하게 생성된 Nonce값과 블록 암호화를 할 때마다 1씩 증가하는 카운터값을 합쳐서 초기값 생성

- 만들어진 초기값을 블록암호화하여 생성한 키스트림값을 평문블록과 XOR연산하여 암호문블록 생성

- 블록암호모드상 구현할 수 있는 암/복호화 구조가 동일한 스트림암호방식

- 블록의 순서에 상관없이 병렬처리 가능

- 암호문블록에서 1bit의 오류가 생겼을 경우 대응하는 평문블록의 1bit에만 영향

- 병렬 암호화 가능 / 병렬 복호화 가능

 

* 블록 암호시스템 종류

. DES(Data Encryption Standard)

- 대칭키 암호, 16라운드 수행, /복호화 과정은 같으며 키의 적용만 거꾸로

- 각 평문의 길이 64비트, 키가 64비트(56bit : , 8bit : Parity bit. 검사용), 암호문이 64비트

- 처음과 마지막 순열을 제외하고 Feistel 구조를 따른다

. 3DES(Triple DES)

- DES에 대한 전수공격으로 인해 나온 암호시스템

- 3개의 키 값을 사용, 48라운드 수행

. IDEA(Internation Data Encryption Algorithm)

- 블록암호 알고리즘(평문, 암호문 64비트), /복호화 알고리즘 동일, 128비트, 8라운드 수행

- 상이한 대수로부터 3가지 연산을 혼합, 16비트 단위 연산 사용

. SEED

- 한국인터넷진흥원이 개발

- 변형된 Feistel 구조

- 블록 길이만 128비트, 나머지는 DES와 같음

- 데이터 처리 단위는 8, 16, 32비트 모두 가능

. AES(Advance Encryption Standard)

- 각 라운드는 비선형성을 갖는 S-box를 적용하여 바이트 단위로 치환을 수행

- 첫 번째 라운드 수행시 평문과 라운드 키의 XOR 연산 수행

- 라운드 키의 개수는 Nr+1

- 가변길이의 블록과 가변길이의 키 사용이 가능(128, 192, 256)

'정보보안기사' 카테고리의 다른 글

전자 인증서  (0) 2020.03.11
정보 보호 일반(2)  (0) 2020.03.09
무선 랜  (0) 2020.03.09
네트워크 보안(2)  (0) 2020.03.02
네트워크 보안 (1)  (0) 2020.03.02