정보보호론/보안과 암호

공개키(비대칭키) 암호시스템

retro_blue 2020. 9. 10. 10:43
반응형

■ 공개키(비대칭키) 암호시스템

 - 암호화키와 복호화키가 서로 다른 키를 사용하며. 이들 중 복호화키만 비밀로 간직해야 하는 암호 방식

 - 송신자가 수신자의 공개키를 이용하여 암호화하면 수신자는 자신의 개인키를 이용하여 복호화하는 원리

 - 대칭키 암호시스템에서 발생하는 키 관리의 어려움 및 키 배송문제를 해결하기 위해 개발

 

 ☆ 장점

 - 대칭키 암호시스템보다 키 분배 및 키 관리가 용이

 - 대칭키 암호시스템보다 확장 가능성이 높음

 - 인증과 부인봉쇄 기능을 제공할 수 있음 (전자서명 및 사용자 인증에 사용)

 - 범용적으로 사용가능

 

 ☆ 단점

 - 대칭키 암호시스템보다 큰 길이의 키를 사용하고, 고도의 수학적 연산을 이용하여 구현되므로 암호화 처리시간이 길다

 - 공개키 배포에 대한 신뢰성 문제가 있음. 따라서 PKI(Publi Key Infrastructure)와 같은 복잡한 공개키 관리 구조를 필요로 함

 

 

■ 기반 알고리즘

 

 ★ 소인수분해(인수분해) 기반

  - 소인수분해 : 하나의 정수를 소인수로 분해하는 것을 의미. 즉, 충분히 큰 두 개의 소수를 곱하는 것은 쉽지만, 이들 결과를 소인수 분해하는 것은 계산적으로 매우 어려움

  - RSA : 공개키 암호 알고리즘의 사실상 표준

  - Rabin : 1979년 Rabin이 개발, RSA보다 빠름

  - 윌리엄스 암호 : Rabin에서 복호화 시 특정 문제를 개선한 버전

  - Goldwasser-Micali : 암호문으로부터 평문의 어떤 정보도 노출되지 않는 암호 방식

 

 

 ★ 이산대수 기반

  - Diffie-Hellman (디프헬만) : 중간 관리자(키 관리센터) 없이 공개키 전달 가능, 키 전달 시 도청되어도 키 값을 구할 수 없음

  - DSA, KCDSA, ECC, ELGamal 등

  - 타원 곡선(ECC : Elliptic Curve Cryptography) : 타원 곡선 상의 이산대수를 이용, RSA보다 작은 비트수로 동일한 암호 강도를 가짐, 키 길이가 제한적인 무선 환경이나 작은 메모리의 시스템에 적합

  - Elgamal : 1985년 개발, 같은 평문에서 다른 암호문의 생성이 가능(하지만 길이가 두 배로 증가) 

 

 

 

■ 공개키(비대칭키) 암호 종류

 

1) Diffie-Hellman (디프헬만)

 - Diffie-Hellman 키 교환(Diffie-Hellman Key Exchange) 방식은 최초의 공개키 암호 알고리즘으로 1976년 미국 스탠퍼드 대학의 연구원 W.디피와 M.헬먼이 공동 개발하여 발표한 것

 - 공개키 암호 방식의 개념을 이용하여 두 사용자 간에 공통의 암호화키를 안전하게 공유할 수 있는 방법을 제시하였으며, 많은 키 분배 방식에 관한 연구의 기본이 되었다

 - 「키 교환」이라는 이름이 붙어 있지만 실제로는 키를 교환하는 것이 아니라 공유할 키를 계산하여 제작 (키 합의)

 - 이산대수의 어려움을 기반으로 한 알고리즘

 - 중간자 공격(MITM : Man In The Middle Attack)에 취약한데, 그 이유는 인증단계가 없기 때문

 - 중간자 공격을 막기 위해 전자서명과 공개키 인증서 등을 사용

 - 공개된 채널을 통하여 서로 정보를 교환하는 것만으로 공통의 비밀키를 만들어 낼 수 있음

 

 

2) RSA(Rivest-Shamir-Adleman : 개발자 세 명의 이름 앞 철자)

 - 공개키 암호 알고리즘의 사실상 표준

 - 인수분해 문제(Prime Factorization) 해결의 높은 난이도를 이용한 공개키 암호 알고리즘

 - 암호화뿐만 아니라 전자서명(디지털 서명)의 용도로도 사용됨

 - 키의 크기는 1024 혹은 2048비트

 

 

3) DSA (Digital Signature Algorithm)

 - 1991년 NTST(미국립표준기술연구소)에서 디지털 서명 규격(DSS : Digital Signature Standard)용으로 개발된 전자서명을 위한 알고리즘

 - 이산대수 문제를 이용하는 Schorr와 ElGamal 암호 알고리즘을 변경하여 디지털 서명에 이용하 수 있도록 개발된 것

 

★ DSA 공개키 방식을 응용한 알고리즘

 ① KCDSA (Korea Certification-based Digital Signature Algorithm)

  - 이산대수 문제의 어려움에 기반을 둔 전자서명 알고리즘

  - 한국통신정보보호학회의 주관하에 우리나라의 주요 암호학자들이 주축이 되어 1996년 11월에 개발, 이후 지속적인 수정 및 보완 작업을 거쳐 1998년 10월에 한국정보통신기술협회(TTA)에서 단체 표준으로 제정

 

 ② ECDSA (Elliptic Curve Digital Signature Algorithm)

  - DSA, RSA와 함께 미국 전자서명 표준(DSS : Digital Signature Standard)에 포함되어 연방정보처리 표준(FIPS)186-2로 승인되었음. WTLS, TLS, S/MIME 등의 보안 프로토콜에 포함된 사실표준

  - 전자서명 알고리즘(DSA)에 타원 곡선 암호(ECC) 방식을 이용한 전자서명 알고리즘, 160비트의 키를 갖는 암호 방식으로 1024비트의 RSA(Rivest-Shamir-Adleman) 방식과 대등한 안전성을 가지면서 처리속도를 줄일 수 있어 이동 단말기에 활용됨

 

 ③ ECC(Elliptic Curve Cryptosystem)

  - 1985년 밀러와 코블리츠가 제안한 타원 곡선 이론에 기반을 둔 공개키 암호 방식, 이산대수에서 사용하는 유한체의 곱셈군을 타원 곡선군으로 대치한 암호 방식

  - 공개키(비대칭키) 암호시스템은 안전한 암호시스템이긴 하지만 보안을 위해서는 키의 길이가 매우 커야 한다는 단점이 있음

  - 타원 곡선상의 이산대수 문제에 기반을 둔다

  - 키 교환, 암호화, 전자서명에 모두 사용 가능

  - 유한체 위에서 정의된 타원 곡선 군에서의 이산대수의 문제에 기초한 공개키 암호 알고리즘으로, RSA 암호 방식에 이어 전자상거래의 핵심 기술

  - RSA보다 짧은 공개키를 이용하여 비슷한 수준의 보안레벨을 제공, RSA보다 전자서명 생성 속도가 빠름

  - 스마트카드, 무선통신 단말기 등과 같이 메모리와 처리능력이 제한된 임베디드 플랫폼과 무선통신 같은 응용분야에 효율적

 

 ④ Rabin 암호시스템(Rabin Cryptosystem)

  - 1979년 Rabin이 발명한 공개키 암호 방식의 하나

  - Rabin 암호시스템은 소인수 분해의 어려움에 안전성의 근거를 둔 것

  - Rabin 암호시스템에서 암호화는 매우 간단. 연산은 오직 한 번의 곱셈으로 이루어져 있고, 빠르게 수행됨

  - 성능이 낮은 플랫폼에서 잘 활용될 수 있음. 제한된 메모리를 가진 스마트카드 같은 환경에서 응용됨

 

 ⑤ ElGamal 방식

  - 1982년 ElGamal이 발명한 공용키 암호 방식

  - 이산대수 문제에 대한 최초의 공용키 암호. 암호문의 길이가 평문 길이의 2배가 되는 결점이 있음

  - ElGamal 암호시스템은 유한체의 이산대수 계산의 어려움에 안전성의 근거를 두고 있음

  - RSA를 활용할 수 있는 곳에는 어디에서 사용할 수 있음. 키 교환, 인증, 짧은 메시지의 암호화와 복호화에 사용 가능

  - Diffie-Hellman 키 교환 프로토콜의 확장

 

 

 

* RSA는 공개키와 디지털 서명(전자서명)에 동시에 쓸 수 있음

* 전자서명에는 DSA, KCDSA 등이 쓰임

* MITB(The Man-in-the-Browser) : 어떤 사이트에 방문하는 사용자를 감염시킴으로써 이름, 주소, 신용카드 또는 비밀번호와 같은 것을 탈취하는 공격

 

 

Diffie-Hellman RSA DSA ECC Rabin ElGamal
이산대수
최초의 공개키 암호 기법
MITM에 취약
소인수분해 (=인수분해)
디지털 서명에 이용
1024비트 키 길이
이산대수 타원 곡선 암호
짧다, 빠르다, 자원 효율적
소인수분해 기반 이산대수

* 인수분해의 일종이 소인수 분해

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

'정보보호론 > 보안과 암호' 카테고리의 다른 글

해시함수 (Hash Function)  (0) 2020.09.10
대칭키와 공개키 비교  (0) 2020.09.10
대칭키 암호 시스템  (0) 2020.09.08
해커의 암호공격 방법  (0) 2020.09.08
암호 기법의 분류  (0) 2020.09.04