정보보안기사&산업기사 필기 4장 요약 - 비대칭키 암호
정보보안기사 필기 4장 요약내용입니다.
* 2020 조현준 정보보안기사 산업기사 필기 + 핵심기출 1200제 정보보안기사 & 산업기사 필기 교재를 기반으로 요약하였습니다.
Section 04. 비대칭키 암호
1. 비대칭키 암호(Asymmetric Encryption)
1) 키 배송 문제 : 키를 보내지 않으면 복호화하지 못하고, 암호되지 않은 키를 보내면 도청이 가능
[키 배송 문제 해결 방법]
(1) 키의 사전 공유에 의한 해결
(2) 키배포 센터에 의한 해결(온라인)
(3) Diffie-Hellman 키 교환에 의한 해결
(4) 공개키 암호에 의한 해결
2) 키 사전 공유에 의한 해결
- 키 관리기관(TA, Trusted Authority)이 사전에 사용자들에게 비밀 경로를 통해 키를 전달
- 많은 키가 필요 : n명의 사용자가 있으면 각 사용자는 n-1 가지 키를 관리
> 매우 복잡, 관리 비용 증가
3) 키배포 센터에 의한 해결(온라인 키 분배)
- 키배포 센터(KDC, Key Distribution Center=TA)에서 키를 전달
- n명의 사용자가 있으면 각 사용자는 n 가지 키를 관리
[단계별 순서]
(1) KDC에 신청
(2) 의사난수 생성기를 사용하여 세션키를 만든다.(신청받은 해당 통신만을 위한 일시적인 키)
(3) 요청한 사용자의 키를 사용하여 세션키를 암호하하고 요청한 사용자에게 전달
(4) 대상 키를 사용하여 세션키를 암호화하여 대상 사용자에 전달
(5) 요청 사용자는 세션키를 사용하여 대상 사용자에게 전달할 내용을 암호화하여 전송
(6) 대상 사용자는 세션키를 사용하여 암/복호화 진행
(7) 세션 삭제
4) Diffie-Hellman 키 교환에 의한 해결
- 실제로 키 교환을 하는 것이 아니라 공유할 키를 만들어 내는 것
- 유한체상의 이산대수 문제를 풀기 어렵다는 사실에 기반
* [공격기법]
(1) 이산대수 공격 : 키 교환의 안전성은 이산대수 문제를 풀기 어렵다는데 기반을 둠
(2) 서비스 거부 공격 : 지수 함수에 기초
> 키 생성 요청자를 확인하기 위한 쿠키(cookie)를 사용함으로써 방지
(3) 중간자 공격 : 인증단계가 없기 때문에 공격에 취약
> 국-대-국(STS, Station-To-Station) 프로토콜 : DH에 기반. 세션키를 만들기 위해 공개키 인증서를 이용한 전자서명을 사 용하여 MITM 공격을 방지
5) 공개키 암호에 의한 해결
> 대칭키 암호 : [암호화키] = [복호화키]
> 공개키 암호 : [암호화키] ≠ [복호화키]
[공개키 암호]
- 평문을 복잡한 형태로 변환해서 기밀성을 유지 → (수학적으로 해결하기 떄문)
- 암호화키 / 복호화키 분리
- 공개키와 개인키를 별개로 만드는 것은 불가능 → 키쌍을 이루고 있는 2개의 키는 서로 밀접한 관계(수학적 관계)
[RSA 암호시스템]
- 공개키 알고리즘 중 하나
- 두 개의 지수 이용 : e(공개하는 값),d(비밀로 유지하는 값)
- 암호화 : C(암호문) = P^e mod n
- 복호화 : P(평문) = C^d mod n
(1) 키 생성
-
서로 다른 소수 p와 q를 선택
-
N = pq 계산
-
Φ(N)=(p−1)(q−1) 계산
-
Φ(N) 보다 작고, Φ(N)과 서로소인 정수 e를 찾는다.
-
de ≡ 1 (mod Φ(N)) 을 만족하는 정수 d를 구한다. ( 확장된 유클리드 호제법을 이용)
(2) RSA에 대한 공격
a. 수학적 공격(소인수분해 공격)
- 두 개의 소수 곱을 인수분해 하려는 노력
- 키의 길이가 긴 걸 사용하면 막을 수 있음(d의 비트 수가 클수록 안전)
- 계산량으로 인해 처리 속도가 느림
b. 타이밍 공격(시간 공격)
- 복호화 알고리즘의 실행 시간에 따라 다름(선택-암호문 공격)
- 소요 시간 비공개로 키 길이 추측 공격을 피함(ex. 랜덤 지체 방법 이용)
c. 선택 암호문 공격과 OAEP
- 임의의 데이터 송신 시 그것을 암호문으로 간주하고 회신해주는 것을 이용한 공격 (친절을 이용한 공격)
(3) 최적 비대칭키 암호 패딩(OAEP)
- RSA를 개량한 알고리즘
- 복호화에서 평문 해시값과 정해진 개수의 ‘0’등으로 만들어진 인증정보를 평문의 앞에 추가하고 RSA로 암호화
- 난수를 이용해서 암호문이 매번 다른 패턴이 되도록 하여 보다 안전성을 높임
(4) Rabin 암호시스템
- 암호화 : 한 번의 곱셈으로 이루어짐(=매우 빠름)
ex. 스마트 카드
(5) ELGamal 방식
- 이산대수 문제에 근거하여 이산로그 기반 공개키 암호 방식
- 암호화 과정에서 암호문이 될 때 순서쌍으로 표현되어 암호문의 길이는 평문의 2배가 된다
- 즉, 많은 메모리 공간이 필요하며 전송 속도 또한 지체되는 단점을 가짐
- 해당 암호 시스템이 안전하기 위해 p는 적어도 300자리 이상의 십진수, r은 암호화할 때마다 매번 다르게 사용해야 함
(6) 타원 곡선 암호(ECC)
- 메모리 처리가 제한된 분야에 효율적이며 타원 곡선 군에서 이산대수 문제에 기초한 공개키 암호 알고리즘
- RSA와 동일한 성능이지만 키의 길이가 훨씬 줄어 전자상거래에서 이목 집중
항목 | ECC방식 | RSA방식 | |
---|---|---|---|
기반구조 | WPK(무선) | PKI(유선) | |
속도 | 우수 | 느림 | |
키 크기 | 상대적으로 작은 키 | ECC에 비해 큰 키 | |
적용 | 소형 모바일 환경 | 인프라가 어느정도 구성된 환경 | |
(7) 하이브리드 암호 시스템
[대칭키 암호와 공개키 암호]
> 대칭키 : 기밀성을 유지한 통신이 가능 / 실제 운영을 위해 키 배송 문제를 해결해야 함
> 공개키 : 복호화에 사용할 키를 배송할 필요가 없음(대칭키 단점 해결) / 대칭키에 비해 처리속도가 훨씬 느리고 중간자 공격에 약함
- 대칭키에 비해 처리속도가 느린 문제를 해결하는 암호 시스템이 하이브리드 암호 시스템
- 중간자 공격에 대해선 인증이 필요
[하이브리드 암호 시스템]
- 대칭키 암호 + 공개키 암호의 장점을 조합
- 대칭키 암호로 암호화(기밀성 유지)한 후 암호화할 떄 사용한 대칭키 암호키를 공개키로 암호화
- 속도를 높이며 세션키를 보호할 수 있음
Leave a comment