본문 바로가기

정보보안기사

정보 보호 일반(2)

 

* 블록암호 공격 

. 차분공격(Differential Cryptanalysis)

- 두 평문블록들의 비트의 차이와 해당 암호문 블록들의 비트의 차이를 이용하여 사용된 암호 키를 찾아내는 방법

. 선형공격(Linear Cryptanalysis) : 알려진 평문 공격법. 비선형 구조를 적당히 선형화시켜 키를 찾아내는 방법

. 전수공격(Exhaustive Key Search) : 암호화할 때 일어날 수 있는 모든 가능한 경우에 대하여 조사하는 방법

. 통계적 분석(Statistical Analysis) : 각 단어의 빈도에 관한 통계적인 자료를 이용하여 해독

. 수학적 분석(Mathematical Analysis) : 수학적 이론을 이용하여 해독

 

* 인수분해 기반 공개키 암호방식

. RSA(Rivest, Adleman, Shamir) : 오일러 정리 사용

. 라빈(Rabin) 암호시스템

- 비밀키는 p, q로서 공용키는 n

- 암호화는 평문을 제곱해서 n으로 나눈 나머지를 계산

 

* 이산대수(DLP : Discrete Logarithm Problem) 기반 공개키 암호방식

. Elgamal : RSA와는 다르게 같은 평문에서도 다른 암호문이 생성되지만 암호문의 길이가 두배로 증가

. Diffie-Hellman : 유한체 상의 이산대수 문제에 근거한 방식, 키 교환 및 인증에 사용

. 타원곡선 암호(ECC : Elliptic Curve Cryptography) : 전자서명과 키 교환에 사용

 

* 해쉬함수 : 임의의 입력 비트열에 대하여 일정한 길이의 안전한 출력 비트열을 내는 것

- 해쉬코드에 대하여 이 해쉬코드를 생성하는 데이터 스트링을 찾아내는 것은 계산상 실행 불가능

- 데이터 스트링에 대하여 같은 해쉬코드를 생성하는 또 다른 데이터 스트링을 찾아내는 것은 계산상 실행 불가능

- 전자서명에 많이 사용, 정보의 무결성(Integrity)에도 활용 가능

- 메시지(또는 문서나 문장)마다 단 하나의 메시지 다이제스트가 산출

- 서로 다른 문서에서 같은 메시지 다이제스트가 산출될 수 없다. 일종의 체크섬(Checksum)

 

해쉬함수 요구사항

- 압축 : 임의의 길이의 이진 문자열을 일정한 크기의 이진 문자열로 변환

- 계산 용이성 : x가 주어지면 H(x)를 계산하기 쉬워야 한다

- 일방향성(One-wayness) : 해쉬값 y가 주어졌을 때 H(x')=y를 만족하는 x를 찾는 것은 계산적으로 어려워야 한다

- 약한 충돌회피성 : x가 주어졌을 때 H(x')=H(x)x와 다른 x'를 찾는것은 계산적으로 어려워야 한다

- 강한 충돌회피성 : H(x')=H(x)인 서로 다른 임의의 두 입력 xx'를 찾는 것은 계산적으로 어려워야 한다

* 전용 해쉬함수별 특징

. SNEFRU : 128, 256비트의 해쉬코드 생성

. N-HASH : 128비트의 해쉬코드 생성

. MD4MD5

- 안전성 : 통상적인 해쉬함수의 안전성 확보

- 효율성 : 32비트의 기반 구조를 가진 빠른 알고리즘으로 구성, 실행속도에 효율성 확보

- 단순성 : 많은 양의 프로그램이나 치환표의 요구 없이 프로그램과 표현이 단순

. SHA(Secure Hash Algorithm) : 160비트의 해쉬코드 생성

- 안전성 : MD5에 의한 해쉬코드보다 32비트 더 길다

- 속도 : MD5보다 약 25% 느리게 실행

- 단순성과 간결성 : 하나의 단일단계 구조. 많은 양의 프로그램이나 치환표의 요구 없이 프로그램과 표현이 단순

 

* 메시지 인증코드(MAC : Message Authentication Code) 

- 대칭키 암호화 알고리즘

- 메시지를 비밀키로 암호화 한 다음 XOR연산하여 나온 값 중 일부를 MAC으로 만듦

- MAC을 만드는 사람과 인증하는 사람이 같은 비밀키를 공유해야 한다

 

*  HMAC(Hash MAC) 

- 메시지 다이제스트를 통하여 만드는 MAC

- 해쉬값으로는 원문을 알 수 없으며 입력값이 조금만 바뀌어도 해쉬값은 크게 달라짐

- 입력값에 상관없이 아주 작은 크기의 출력 해쉬값 생성

- 메시지 인증을 위한 MAC을 생성하기에 유리한 알고리즘

- 원래 메시지와 키를 결합해서 메시지 압축코드를 계산

- {M || H(K, M)}

 

* 은닉서명 : 메시지의 비밀성을 지키면서 타인의 인증을 받고자 하는 경우에 주로 사용 (p.526)

 

* 이중서명(Dual Signature) 

- 전자상거래 프로토콜(SET)에 도입된 기술. 지불 정보와 구매정보를 알 수 없도록 안전하게 서명하는 방법

- 구매자는 구매요청과 지불 정보에 대한 해쉬값을 각각 구한 후 두 해쉬값을 묶은 값에 또 한번 해쉬를 하고 그 값을 서명

 

영지식 증명 : 어떤 내용을 알고 있을 때 직접 보여주지 않고 그것을 알 수 있음을 증명하는 방법

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

기본 보안용어 정의와 보안 모델  (0) 2020.03.11
전자 인증서  (0) 2020.03.11
정보 보호 일반(1)  (0) 2020.03.09
무선 랜  (0) 2020.03.09
네트워크 보안(2)  (0) 2020.03.02