SECTION 04 비대칭키 암호
1. 대칭키 암호의 키교환 문제 및 해결 방법
■대칭키의 키 배송 문제
○대칭키는 송/수신자가 서로 동일한 키를 공유하고 있어야 한다는 전제
○이 키를 인터넷 상에서 그냥 보내면, 공격자도 이 키를 볼 수 있기 때문에 메시지를 암호화 하는 의미가 없고, 키를 보내지 않으면 수신자도 메시지를 복호화 할 수 없다
■키의 사전 공유에 의한 해결
○키 관리기관(TA, Trusted Authority)이 사전에 임의의 두 사용자(A, B)에게 비밀 경로를 통해 임의의 키 K(A,B) = K(B, A)를 선택하여 전달하는 방법
○사전에 TA와 모든 사용자 사이에 안전한 통로가 필요하며, TA가 모든 사용 사용자의 키를 관리 해야 하는 문제점 발생
○사용자 N은 각 사용자 N-1가지의 키를 관리
○TA는 n(n-1)/2 가지 키를 관리(4명의 사용자가 있다면 6개 관리)
■키 배포 센터에 의한 해결(온라인 키 분배)
○키 배포센터(KDC, Key Distribution Center)라는 신뢰받는 제 3자에 의뢰해서 개인과 키 배포센터 사이에만 키를 사전에 공유
○A와 B간에 통신을 할 때 KDC가 세션키 K를 생성하여 A와 B에게 비밀경로로 알려줌
■Diffie-Hellman 키 교환 방식
○1976년 공개키 암호방식으로 최초로 제안한 휘트필드 디피와 마틴 헬먼이 발명한 알고리즘
○양쪽의 통신주체가 신뢰할 수 있는 제 3자(KDC) 없이 대칭 세션키를 교환하는 방식
○절차
-사용자 A와 B가 두 개의 수 p와 g를 선택(p는 매우 큰 소수, 1025bit)
-A와 B는 각각 0보다 크거나 같고, p보다 작은 x(A), y(B)를 각각 선택한다.
-A와 B는 각각 자신이 선택한 x, y를 이용하여 R = g^(x or y) mod p를 계산한다.
-A와 B는 각각 자신의 결과 값 R 를 전송하고, R를 이용하여 Key를 계산한다.
-K= R(상대방이 준 값)^(x or y) mod p
그림
○안전성
-이산대수 공격과 중간자 공격에 취약함
-단, 이산대수 문제는 풀기 어렵다는 데 기반을 함.
-중간자 공격 : 중간에 인증 단계가 없기 때문에 A입장에서 B와 키교환을 했는지 B로 위장한 공격자와 키교환을 했는지 알 수 없음.
■공개키 암호에 의한 해결
-아래에 자세히….
2. 공개키 암호
■개념
○1976년 휘트필드 디피와 마틴 헬만이 공개키 암호의 아이디어를 발표.
○구체적인 알고리즘이 제시되지는 않았으나, 암/복호화 키를 나누는 것과 공개키가 어떤 특성을 갖는지 제시
○암호화 키와 복호화 키가 서로 다른 값을 가지만, 수학적으로 밀접하게 관계 되어 있음
○암호화 키는 누구나 볼 수 있도록 공개하고, 복호화 키는 나만 알 수 있도록 감춤
○공개된 암호화 키로 누구든 암호화 할 수 있지만, 암호화된 메시지를 복호화 할 수 있는 사람은 복호화 키를 가지고 있는 사용자 뿐임
항목 | 대칭키 | 공개기 |
키의 관계 | 암호화키 = 복호화키 | 암호화키와 복호화키는 서로 다르다 |
안전한 키 길이 | 256비트 이상 | 2048비트 이상 |
암호화키 | 비밀 | 공개 |
복호화키 | 비밀 | 비밀 |
비밀키 전송 | 필요 키 교환하는 것이 어려우며, 위험함 |
불필요 공개키를 교환하는 것은 매우 쉬움 |
키 개수 | n(n-1)/2 | 2n |
암호화 속도 | 고속 | 저속 |
암호화 할 수 있는 평문의 길이 제한 | 제한 없음 | 제한 있음 |
경제성 | 높다 | 낮다 |
제공 서비스 | 기밀성 | 기밀성, 부인방지, 인증, 무결성 |
목적 | 데이터 암호화 | 대칭키 교환 |
전자서명 | 복잡 | 간단 |
단점 | 키 교환 원리가 없다 | 중간자 공격에 취약 |
알고리즘 | DES , 3DES , AES , IDEA | RSA , ECC , DSA |
3. RSA 암호 시스템
■개념
○공개키 알고리즘 중 하나로, 사실상 표준
○인수분해 문제 해결의 높은 난이도를 이용한 공개키 암호 알고리즘으로 암호화 뿐 아니라 전자서명 용도로도 사용
○SSL, PGP 등 많은 곳에서 RSA를 사용
>■암/복호화 연산
○메시지를 받는 Bob이 두 개의 지수 e와 d 를 생성 한 후, e를 공개하고 d는 비밀로 가지고 있음.
○Alice는 공개값 e, n을 이용하여 평문(p)에서 암호문(C)를 생성. C = P^e mod n
○C를 받은 Bob은 공개하지 d로 복호화하여 평문(P)를 얻음 P = C^d mod n
■키(n) 생성
○P와 q는 512bit 이상의 소수임. N 역시 1024 bit 이상의 소수
○공개키 e는 1보다 크고 ΦN=(p-1)(q-1)보다 작은 수 중에 선택. 이때 e는 ΦNd와 서로소(최대공약수가 1인 관계)인 수 이어야 함
○비밀키 d는 e의 역원을 계산한다.
■RSA에 대한 공격
○수학적 공격(소인수분해 공격)
-개인키 d의 비트 수가 크면 클수록 안전함
-단, 키 길이가 길어지면 시스템 처리 속도가 느려짐
○타이밍 공격(시간 공격)
-복호화 알고리즘의 실행시간에 따라 키 길이를 추축하는 공격
-선택 암호문 공격(CCA, Chosen Ciphertext Attack)
■RSA 권장사항
○n의 비트수는 최소 1024비트여야 한다.
○두 소수 p와 q는 최소 512비트여야 하고, 두 소수는 같지 않고, 거의 같은 크기의 소수이어야 한다.
○(p-1)과 (q-1)은 커다란 소인수를 가져야 하고, 두개의 최대 공약수는 작은 수이어야 한다.
○개인키 d가 알려지면 다른키 e와 알려진 d, 모듈러 값 n까지 모두 바꾸어야 한다.
○메시지는 OAEP로 패딩되어야 한다.
4. 그 밖에 공개키 암호화
■Rabin 암호시스템
○합성수 모듈러에 관하여 제곱근을 찾기 어렵다는 사실로부터 안전성을 얻는 방식
○암호화는 오직 한 번의 곱셈으로 이루어져 매우 빠름
○P와 q가 충분히 크다면 안전.
■ElGamal 방식
○이산대수 문제에 근거해서 만든 시스템
○오픈소스를 기초하여 키 분배하는 Diffie-Hellman 알고리즘의 확장이다.
○특징 : 암호문의 길이가 평문의 2배
○단점 : 많은 메모리 공간이 필요하고, 가장 느리다.
■ 타운곡선(ECC, Elliptic Curve Cryptosystem)
○RSA, ElGamal에서 보안을 위해 키 길이가 배우 커야 한다는 단점을 해결하기 위해서 제안됨
○RSA와 동일한 수준의 보안성을 제공하면서 키 길이는 짧은 알고리즘 (160bit ECC는 1024Bit RSA와 동일한 수준의 보안)
○타원 곡선군에서 이산대수 문제에 근거 함.
○RSA에 비해 속도가 우수하고, 상대적으로 작은 키를 사용하여 무선 환경의 소형 Mobile 환경에 적합함
5. 하이브리드 암호시스템
■개요
○대칭키 암호와 공개키 암호의 장점을 살릴 수 있도록 조합한 방식
○메시지를 고속의 대칭키로 암호화 하고, 암호화 할 때 사용한 대칭키의 기밀성을 지키지 위해서 이를 공개키로 암호화하여 전송함.
'기타 > 공부하기' 카테고리의 다른 글
[정보보안기사] SECTION 07 키, 난수 (0) | 2018.03.06 |
---|---|
[정보보안기사] SECTION 05 해시함수와 응용 (0) | 2018.03.06 |
[정보보안기사] SECTION 03 대칭키 암호 (0) | 2018.03.06 |
[정보보안기사] SECTION 02 암호학 개요 (0) | 2018.03.06 |
[정보보안기사] Section01. 정보보호 관리의 개념 (0) | 2018.03.02 |