본문 바로가기
자격증/정보보안기사 필기

정보보안기사 필기) 암호학_3_공개키, 해시함수

by _miiiiiin_zzang_ 2020. 10. 23.

비대칭키 암호

KDC, Diffie-Hellman, 공개키, RSA, 수학적 공격(소인수분해 공격), 시간 공격, 선택 암호문 공격, OAEP, Rabin, Elgamal, ECC, 하이브리드

대칭키 암호에선 키 배송문제 발생

해결 방안 :

1. 키의 사전 공유에 의한 해결

l TA( 키 관리기관)이 사전에 임의의 경로를 통해 전달

2. 키배포 센터에 의한 해결

l 키배포 센터(KDC)라는 신뢰받는 제3자에 의뢰하여 공유

3. Diffie-Hellman 키 교환에 의한 해결

l 최초의 비밀키 교환 프로토콜

l 양쪽 통신 주체가 KDC 없이 대칭 세션키를 생성

l 절차

 

 

 

l 이산대수 문제를 풀기 어렵다는데 기반을 둠

l 서비스 거부 공격에 대한 취약성 : 계산이 복잡하고 동시에 많은 통신을 할 경우 비밀키 생성에 지연 발생하여 취약함 -> 키 생성 요청자를 확인하기 위한 쿠키를 사용함으로써 방지 가능

l 중간자 공격에 취약 : 인증 단계가 없기 때문에 취약함 -> 공격을 막기 위해서는 전자서명과 공개키 인증서를 이용하면 됨

4. 공개키 암호에 의한 해결

l 수신자는 미리 암호화키를 송신자에게 알려줌

l 암호화키는 도청자에 알려져도 괜찮음

l 송신자는 암호화키로 암호화하여 수신자에 전송

 

 

 

공개키 암호

수학적으로 해결하기 곤란한 문제를 토대로 기밀성을 유지

비대칭키 암호 시스템은 암/복호화에 수학적인 함수를 사용하므로 처리 속도가 대칭키 아호 시스템보다 느림, 메시지의 크기가 매우 큰 경우에는 대칭키 암호 시스템의 역할이 중요

비대칭키 암호 시스템은 인증이나 전자서명과 대칭키 교환에 사용

RSA

인수분해 문제 해결

전자서명, 암호화 알고리즘, SSL, PGP

 

 

 

RSA에 대한 공격

1. 수학적 공격(소인수분해 공격)

수학적 공격을 막으려면 키의 길이가 긴 걸 사용

개인키의 비트 수가 클수록 안전 but 느림

2. 시간 공격

소요되는 시간이 들어나지 않게 막아 키 길이를 추측하는 공격을 막을 수 있음

3. 선택 암호문 공격

선택 암호문 공격(임의의 데이터를 송신하면 그것을 암호문으로 간주하고 회신해주는 서비스)를 공격자가 이용할 수 있다는 것을 가장한 공격

->OAEP라는 프로시저를 사용해 평문 수정 필요

OAEP최적 비대칭 암호화 패딩

RSA를 개량한 알고리즘

평문 해시값과 정해진 개수의 인증 정보를 평문의 앞에 추가하고 RSA로 암호화 = 패딩

RSA로 복호화한 후 올바른 인증 정보가 나타나지 않으면 평문을 알고 있는 사람이 만든 암호문이 아니라고 판단해 오류 메시지를 회신

어떤 오류인지 구체적으로 알리지 않음

난수를 사용하여 매번 다른 패턴이 되도록 하여 안정성 높임

Rabin 암호 시스템

합성수 모듈러에 관하여 제곱근을 찾기 어렵다는 사실로부터 안정성을 얻음

Elgamal 방식

이산대수 문제에 근거해서 만든 시스템

ECC 타원 곡선 암호

보안성을 제공하면서 키의 길이는 짧아도 되는 암호 시스템

이산대수의 문제에 기초한 공개키 암호 알고리즘

하이브리드 암호 시스템

공개키 암호의 느린 문제를 해결하기 위한 것

(중간자 공격에 약한 건 인증을 통해 해결)

메시지를 대칭키 암호로 암호화한 후 이 대칭키를 공개키 암호로 암호화 함

 

대칭키

공개키

키의 상호관계

암호화키 == 복호화키

암호화키 =/= 복호화키

암호화키

비밀

공개

복호화키

비밀

비밀

키 개수

N(N-1)/2

2N

제공 서비스

기밀성

기밀성, 부인방지, 인증

단점

키 교환 원리가 없음

중간자 공격에 취약

 

해시함수

일방향 해시함수 특징, 보안 요구사항, 전자서명에 이용되는 특성, SHA, Tiger, HAVAL, 암호학적 해시함수 응용, 메시지 인증코드, 전자서명, 랜덤 오라클 모델, 생일문제, 일방향 해시함수에 대한 공격, MAC, MDC, HMAC, 재전송 공격

 

일방향 해시함수 특징

해시함수 : 임의의 길이를 갖는 메시지를 입력하여 고정된 길이의 해시값을 출력하는 함수

고속으로 계산, 일방향성, 메시지가 다르면 해시값도 다름(무결성을 확인), 충돌내성(충돌이 어려움)이 있음

보안 요구사항

프리이미지 저항성(역상 저항성) : 주어진 해시함수 h와 y=h(M)에 대해서 공격자가 y=h(M')를 만족하는 메시지 M'를 찾아낸다는 것이 매우 힘들어야 한다는 성질 (프리 이미지 저항성은 일방향성임)

제2프리이미지 저항성(약한 충돌 내성) : 메시지를 쉽게 위조할 수 없도록 하는 성질

충돌 저항성(충돌 회피성, 강한 충돌 내성)

공격자로 하여금 동일한 다이제스트르 가지는 2개의 메시지를 구하지 못하도록 하는 것 

전자서명에 이용되는 특성

해시값을 고속으로 계산할 수 있음

약 일방향성 : 해시값 H로부터 h(M) = H가 되는 서명문 M을 찾는 것은 불가능해야 함

강 일방향성 : 어떤 서명문 M과 그 해시값 H=h(M)이 주어졌을 때 h(M')=H가 되는 서명문 M'=/=M을 찾는 것이 불가능해야 함

충돌 회피성 : h(M)=h(M')가 되는 서명문 쌍을 찾는 것이 불가능해야 함

키가 없는 해시 함수

블록 암호를 기초로 한 해시함수/ 전용 해시함수/ 모듈 연산을 기초로 한 해시함수

1. 메시지 다이제스트(MD2 -> MD4 -> MD5)

생일 공격에 노출되어 보안 요구사항이 높은 응용에는 사용이 권장되지 않음

리틀앤디안 형식

2. SHA

DSS에 사용하기 위해 설계

sha-1과 sha-2는 동일한 유형의 모듈러 연산과 논리적 2진 연산을 이용

빅앤디안 형식

3. Tiger

64비트 시스템에서 해시 함수를 수행하기 위해 설계, md5와 sha-1보다 빠름

4. HAVAL

128, 160, 192, 224, 256비트인 메시지 다이제스트를 출력하는 해시 알고리즘, 사용되는 블록의 크기는 1024비트

5. HAS160

한국형 전자 서명 표준

메시지를 512비트 블록 단위로 처리하여 160비트의 해시 코들를 출력하는 리틀앤디안 구조의 해시함수

 

암호학적 해시함수 응용

1. 무결성 점검

2. 소프트웨어 변경 검출

3. 메시지 인증코드

상호 간에 교환되는 정보를 인증하기 위해, 비밀키를 공유하는 두 통신 상대자 간에 사용

SSL/TLS에 이용

4. 전자서명

랜덤 오라클 모델

해시함수에 대한 이상적인 수학적 모델

임의의 길이를 갖는 메시지에 오라클은 0과 1로 이루어진 난수 스트링인 고정된 길이의 메시지 다이제스트를 생성하여 제공

이미 다이제스트가 존재하는 메시지가 주어지면 오라클은 저장되어 있던 다이제스트를 생성하여 제공

생일문제

특정한 해시값을 생성하는 메시지를 구하는 것이 아니라 해시값은 뭐든지 괜찮으며 같은 해시값을 생성하는 2개의 메시지를 구하는 것

강한 충돌 내성을 깨고자 하는 공격

일방향 해시함수에 대한 공격

무차별공격 -> 약한 충돌 내성을 깨고자 하는 공격

일치블록 연쇄공격 : 새로운 메시지를 다양하게 만들어 놓고 공격하고자 하는 메시지의 해시함수값과 같은 것을 골라 사용

중간자 연쇄공격 : 전체 해시값이 아니라 해시 중간의 결과에 대한 충돌쌍을 찾음

고정점 연쇄공격

차분 연쇄공격 : 출력밧 차이의 통계적 특성을 조사하는 기법

MAC

무결성을 확인하고 메시지에 대한 인증을 하는 기술

임의 길이의 메시지와 송신자 및 수신자가 공유하는 키라는 2개의 입력을 기초로 해서 고정 비트 길이의 출력을 계산하는 함수(이 출력을 MAC값이라고 부름)

블록 암호나 해시 함수에 기반을 두기 때문에 전자서명보다 빠름

MAC의 안전성은 해시 알고리즘의 안전성에 좌우

MDC와 MAC의 차이점 : MAC에는 송 수신자 사이에 비밀값이 포함된다는 것

MAC의 키 배송 문제

MDC

변경 감지 코드

메시지의 무결성을 보장하는 메시지 다이제스트

HMAC

일방향 해시함수를 이용하여 메시지 인증 코드를 구성하는 방법

MAC에 대한 공격

재전송 공격

공격자의 재전송 공격을 방지할 수 없음, 이를 막으려면

l 순서번호

l 타임스탬프

l 비표 : 일회용의 랜덤한 값

l 시도/응답 : 정당한 메시지를 요청하고 받기

 

MAC으로 해결할 수 없는 문제

1. 제3자에 대한 증명

2. 부인 방지 

 

2.암호학_3.pdf
0.26MB

댓글