카테고리 없음

타원곡선 암호 검증 toolkit

오늘도힘차게 2013. 2. 26. 18:51
728x90

타원곡선 암호 검증 toolkit


  글  이옥연   정보보호기반연구팀장


1. 서론

Mobile banking, mobile stock, 인터넷 쇼핑몰 이용 등 무선 인터넷을 통한 전자상거래가 확산되고 기업의 mobile 환경 구축이 증가함에 따라 정보보호(Information Security)의 기반이 되는 다양한 암호기술 중에서 light-weight 공개키 암호(Public Key Cryptosystem)의 중요성이 증대되고 있으며 많은 연구와 개발이 진행되고 있다.  큰 수의 소인수 분해의 어려움에 근거한 RSA 암호는 깊은 수학적 기본지식이 없이도 쉽게 이해할 수 있으므로 많은 기술개발이 이루어 졌고, 현재 공개키 암호 시장의 주축이 되고 있다.  
그러나 휴대폰. PDA 등의 휴대 정보기기의 사용이 증가하면서 제한된 resource 환경에서도 정보보호 서비스를 제공할 수 있는 효과적인 알고리즘에 대한 요구가 증대되면서 유선 인터넷과 동등한 전자서명, 기밀성 서비스를 제공할 수 있는 암호 알고리즘 기술이 요구되고 있다. 기존의 RSA 방식은 무선환경에서 수행속도와 bandwidth 등이 부적합하며, 타원곡선 암호법(Elliptic Curve Cryptosystem)을 이용한 전자서명과 암호기술이 최적의 대안으로서 사용 범위가 확대되고 있다.


2. 타원곡선 암호 기술

일반적으로 암호 알고리즘은 암·복호화 키가 같은 대칭키 암호 알고리즘과 암·복호화 키가 서로 다른 공개키 암호 알고리즘으로 분류된다. 그러나 암호 사용자가 늘어나고 많은 암호서비스에 대한 요구가 제기되면서 대칭키 암호 알고리즘이 갖는 키관리 문제와 인증 문제를 해결하기 위한 알고리즘의 필요성 대두되었다. 많은 공개키 암호 알고리즘이 제안되었으며 1978년 소인수분해의 어려움에 기반을 둔 RSA가 소개되어 지금까지 넓게 사용되고 있으며, 타원곡선 암호 시스템은 비트당 안전도가 타 공개키 시스템보다 효율적이라는 것이 알려졌고, 최근 높은 속도의 구현이 가능하게 되었다.

타원곡선 암호 시스템은 군(Group)을 제공할 수 있는 다양한 타원곡선을 활용할 수 있으므로 다양한 암호시스템 설계가 용이하며, super-singular 타원곡선을 제외하면 sub-exponential time algorithms이 존재하지 않기 때문에 안전한 암호시스템을 설계하는 것이 용이하다. 또한 타원곡선 암호시스템은 짧은 키로서 RSA 등의 타 공개키 암호 알고리즘과 동등한 안전도를 제공할 수 있다. 
예를 들어 1024비트 키를 이용하는 RSA 암호와의 동등한 security 제공을 위해서는 160비트 정보의 키를 갖는 ECC 알고리즘을 이용하면 된다.) 짧은 키 길이를 갖는다는 것은 대역폭과 메모리가 작아짐을 의미한다. 이것은 메모리와 처리능력이 제한된 스마트 카드나 이동통신 단말기와 같은 응용에서 매우 중요한 요소이다.  그리고 타원곡선의 상수곱 연산은 바탕 유한체의 기본연산을 포함하므로, H/W와 S/W로 구현하기가 용이하다는 장점이 있다.  

타원곡선 암호의 또 다른 이점은 비록 모든 사용자가 같은 바탕체를 사용하면서 각 사용자가 다른 곡선 E를 선택할 수도 있다는 것이다. 즉, 모든 사용자는 바탕체 연산을 수행하기 위해 같은 H/W를 사용할 수 있으며, 추가 보안을 위해 주기적으로 곡선 E를 바꿀 수 있다.
WAP에서 전자서명 등 정보보호 서비스를 위해 공개키 암호를 사용하는 것은 필수적이며 무선인터넷의 발전에 따른 타원곡선 암호를 장착한 다양한 컨텐츠 개발이 시급하다.  무선 환경에서는 속도나 키의 길이 등의 이유로 기존에 널리 쓰이던 RSA 방식을 대체하여 타원곡선 암호가 부각되고 있다. 타원곡선 암호의 특성은 기존의 RSA 암호와 달리 키 길이의 한 비트 변화에도 기본연산을 새롭게 설계해야 하므로 검증 toolkit의 개발이 필수적이며 다양한 표준에 제시된 타원곡선을 수용하고 정보보호 제품 개발에 필요한 타원곡선 암호를 검증하고 신뢰할 수 있는 환경구축을 위해 본 기술이
타원곡선 암호의 또 다른 이점은 비록 모든 사용자가 같은 바탕체를 사용하면서 각 사용자가 다른 곡선 E를 선택할 수도 있다는 것이다. 즉, 모든 사용자는 바탕체 연산을 수행하기 위해 같은 H/W를 사용할 수 있으며, 추가 보안을 위해 주기적으로 곡선 E를 바꿀 수 있다.
WAP에서 전자서명 등 정보보호 서비스를 위해 공개키 암호를 사용하는 것은 필수적이며 무선인터넷의 발전에 따른 타원곡선 암호를 장착한 다양한 컨텐츠 개발이 시급하다.  무선 환경에서는 속도나 키의 길이 등의 이유로 기존에 널리 쓰이던 RSA 방식을 대체하여 타원곡선 암호가 부각되고 있다. 타원곡선 암호의 특성은 기존의 RSA 암호와 달리 키 길이의 한 비트 변화에도 기본연산을 새롭게 설계해야 하므로 검증 toolkit의 개발이 필수적이며 다양한 표준에 제시된 타원곡선을 수용하고 정보보호 제품 개발에 필요한 타원곡선 암호를 검증하고 신뢰할 수 있는 환경구축을 위해 본 기술이전이 반드시 필요하다.

타원곡선 암호법은 공개키 암호로서 유한체(finite field)위에 정의된 타원곡선 상의 점들이 이루는 Abelian group에서의 ECDLP 문제를 바탕으로 1985년에 Neal Koblitz와 Victor Miller에 의해 독립적으로 제안된 이래 최근 ANSI, IEEE, NIST, ISO 등의 표준에 채택됨으로써 타원곡선 관련 제품개발이 급진전되고 있다.
ECC 시스템을 구현하기 위해서는 많은 elliptic curve domain parameters, 유한체 연산 알고리즘, 타원곡선 연산, 프로토콜연산 등의 선택이 매우 중요하다. 예를 들어 2000년 2월 NIST에서는 ECDSA(Elliptic Curve Digital Signature Algorithm)를 채택하기 위해 FIPS 186-1을 개정하여 FIPS 186-2를 발표하였다.  FIPS 186-2에는 5개의 prime fields와 5개의 binary fields가 포함되었으며, prime fields의 각 경우는 random하게 선택된 타원곡선을 추천하였고, binary fields의 각 경우는 random curve와 Koblitz curve 각각 1개씩을 선정하였다.


3. 기술이전 개요

이전대상 기술인 타원곡선 암호 검증 toolkit은 WTLS, SEC2, ISO/IEC 15946-2, FIPS PUB. 186-2, ANSI X.9.62 등의 국제적 표준과 2001년 6월 현재 한국정보보호진흥원(KISA)에서 추진중인 ‘무선 키분배 알고리즘 규격(안)’, ‘무선 전자서명 알고리즘 규격(안)’ 등에서 요구하는 384 type의 elliptic curve domain parameters를 기반으로 암호화, 키교환, 전자서명 등의 암호 알고리즘과 유한체 연산, 타원곡선 연산을 직접 검증할 수 있도록 개발되었다.
Prime case의 경우는 비트 크기가 112, 128, 160, 192, 224, 239, 256, 384, 521 등이며,  binary case의 경우는 113, 131, 163, 193, 233, 239, 283, 409, 571 등의 유한체에서의 Affine 좌표계와 projective 좌표계 기반의 유한체 연산을 구현하였다. 또한 타원곡선 암호 구현에 필수적인 타원곡선 상의 scalar multiplication의 최적화 구현을 위하여 sliding windows method, NAF sliding window method, Signed M-ary method, Montgomery method, Fixed base Comb. method 등을 구현 하였다.
기밀성 제공을 위한 암호화 알고리즘은 Elgamal ECC와 ECIES를 구현하였으며, 키 교환 알고리즘은 ECDH 및 ECMQV이 개발되었다.  또한 타원곡선 기반의 전자서명을 위하여 SHA-1_HMAC, RIPEMD160, HAS160 등의 해쉬함수(hashing function)와 SHA-1 기반의 ECDSA, RIPEMD160 기반의 ECKCDSA, HAS160 기반의 ECKCDSA 등이 구현 되었다.


4. 결론

공개키 암호는 대칭키 암호에 필요한 키 교환이나 전자서명 등 많은 활용분야가 있으며 무선 PKI에는 기존의 RSA와 함께 타원곡선 암호의 사용이 필수적이다.  그러나 타원곡선 암호의 경우 이론적 배경이 매우 수학적이므로 효과적인 구현이 매우 어려운 실정이다.  또한 최소다항식이나 키 사이즈의 한 비트 변화에 따른 유한체의 기본연산 설계 변경이 필요하고,  구현이 매우 복잡하기 때문에 여러 표준에서 security level에 따른 많은 요구사항을 규정하였다.  국내의 공인인증 기관에서도 무선 PKI를 위해 타원곡선 암호를 새롭게 채택하고 있으며, 국내 표준화가 완료되면 그 활용도는 매우 크다고 할 수 있다.  따라서 타원곡선 암호를 장착한 신뢰할 수 있는 정보보호 제품의 효과적인 개발을 위해 ‘타원곡선 암호 검증 toolkit’ 기술의 의미가 있다고 할 수 있다.

728x90