* 블록암호 공격
ㄱ. 차분공격(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)인 서로 다른 임의의 두 입력 x와 x'를 찾는 것은 계산적으로 어려워야 한다
* 전용 해쉬함수별 특징
ㄱ. SNEFRU : 128, 256비트의 해쉬코드 생성
ㄴ. N-HASH : 128비트의 해쉬코드 생성
ㄷ. MD4와 MD5
- 안전성 : 통상적인 해쉬함수의 안전성 확보
- 효율성 : 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 |