암호기술 검증에 대한 연구는 암호 알고리즘의 안전성 및 신뢰성을 검증하는데 집중되어 있는 경우가 대부분이다. 그러나 정보보호 시스템의 수준 향상과 안전성 신뢰성 확보를 위해서는 암호기술 자체에 대한 검증뿐만 아니라, 암호기술을 구현한 구현물에 대한 검증이 필요하다. 특히, 암호기술에 대해서 국내외적으로 폭 넓은 표준화가 진행되고 있는 가운데, 이들 기술표준을 정화하게 구현하는 것은 정보보호 시스템의 안전성 및 신뢰성 향상을 가져올 뿐만 아니라, 정보보호 시스템 간의 상호연동성 확보 및 사용자 편익 증대라는 면에서도 매우 중요하다. 본 논문에서는 RSA, KCDSA, SHA-1, HAS-160 등 국내 공인인증체계 기술표준으로 적용되고 있는 암호기술의 구현물이 기술표준을 정확하게 준용하여 구현되었는지를 테스트할 수 있는 검증도구를 설계 및 구현하였다. 각각의 암호기술에 내한 검증은 여러 개의 세부항목으로 구성되어 있고, 충분한 테스트 항목을 통해 검증의 정확성을 높였으며, 검증도구와 검증 대상이 원격에 위치한 상태에서 검증을 수행한 수 있도록 하였다. 본 논문에서 설계 및 구현한 검증도구는 RSA, KCDSA, SHA-1, HAS-160 등을 구현한 모든 보안 제품에 적용할 수 있으며, 각종 암호제품의 평가 및 인증에 활용한 수 있을 것으로 기대된다.
암호기술 검증에 대한 연구는 암호 알고리즘의 안전성 및 신뢰성을 검증하는데 집중되어 있는 경우가 대부분이다. 그러나 정보보호 시스템의 수준 향상과 안전성 신뢰성 확보를 위해서는 암호기술 자체에 대한 검증뿐만 아니라, 암호기술을 구현한 구현물에 대한 검증이 필요하다. 특히, 암호기술에 대해서 국내외적으로 폭 넓은 표준화가 진행되고 있는 가운데, 이들 기술표준을 정화하게 구현하는 것은 정보보호 시스템의 안전성 및 신뢰성 향상을 가져올 뿐만 아니라, 정보보호 시스템 간의 상호연동성 확보 및 사용자 편익 증대라는 면에서도 매우 중요하다. 본 논문에서는 RSA, KCDSA, SHA-1, HAS-160 등 국내 공인인증체계 기술표준으로 적용되고 있는 암호기술의 구현물이 기술표준을 정확하게 준용하여 구현되었는지를 테스트할 수 있는 검증도구를 설계 및 구현하였다. 각각의 암호기술에 내한 검증은 여러 개의 세부항목으로 구성되어 있고, 충분한 테스트 항목을 통해 검증의 정확성을 높였으며, 검증도구와 검증 대상이 원격에 위치한 상태에서 검증을 수행한 수 있도록 하였다. 본 논문에서 설계 및 구현한 검증도구는 RSA, KCDSA, SHA-1, HAS-160 등을 구현한 모든 보안 제품에 적용할 수 있으며, 각종 암호제품의 평가 및 인증에 활용한 수 있을 것으로 기대된다.
There are relatively many research results of the validation of the cryptography. But few researches on the validation of cryptography implementations were accomplished. However, developer\`s misunderstanding the crypto-algorithm or a mistake in implementation of the crypto-a1gorithm leads to lose r...
There are relatively many research results of the validation of the cryptography. But few researches on the validation of cryptography implementations were accomplished. However, developer\`s misunderstanding the crypto-algorithm or a mistake in implementation of the crypto-a1gorithm leads to lose reliability of security products. Therefore, as validation of the crypto-algorithm itself also validation of the implementation is important. The major objective of this paper is to propose Security Products Validation Tool. Our tool validates implementation of the public key algorithm (RSA. KCDSA) and hash algorithm (SHA-1, HAS-170). The validation process is composed of several items and our tool performs validation teats for conformance to related standard.
There are relatively many research results of the validation of the cryptography. But few researches on the validation of cryptography implementations were accomplished. However, developer\`s misunderstanding the crypto-algorithm or a mistake in implementation of the crypto-a1gorithm leads to lose reliability of security products. Therefore, as validation of the crypto-algorithm itself also validation of the implementation is important. The major objective of this paper is to propose Security Products Validation Tool. Our tool validates implementation of the public key algorithm (RSA. KCDSA) and hash algorithm (SHA-1, HAS-170). The validation process is composed of several items and our tool performs validation teats for conformance to related standard.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
3장에서는 본 논문에서 제안하는 RSA, KCDSA, SHA-1. HAS-160 등의 기술표준 구현물에 대한 검증을 수행할 수 있는 검증도구의 설계 및 구현 내용에 대해서 살펴본다. 그리고 마지막으로 4장에서 결론을 맺는다’
충분한 테스트 자료를 사용하여 검증의 정확성을 높였다. 또한 검증도구와 검증대상이 원격에 위치한 상태에서 검증을 수행할 수 있도록 하였다. 그러나 본 논문에서 설계 및 구현한 검증 도구는 암호기술의 정확한 구현 여부만을 테스트할 수 있다.
본 논문에서는 현재 전세계적으로 사실상의 표준암호기술로 받아들여지고 있는 RSA와 SHA-1 이 올바르게 구현되었는지 여부를 검증할 수 있는 검증 도구를 설계 및 구현하였다. 검증도구는 rsa와 sm-i 에 대한 검증과 함께 국내 기술표준인 KCDSA와 HAS-160의 구현물에 대한 검증도 수행한다.
본 장에서는 이와 같은 암호 모듈 검증 프로그램 가운데 검증도구를 개발하여 전자서명 알고리즘과해쉬 알고리즘에 대해서 검증을 수행하고 있는 DSSVS 에 대해서 살펴보고자 한다. DSSVS는 크게 전자서명 알고리즘인 DSS를 검증하는 부분과 해쉬 알고리즘인 SHAT을 검증하는 부분으로 구분할 수 있다.
소수 테스트에서는 검증 대상이 공개키쌍 생성을 위해 필요한 파라미터의 소수 여부를 적절하게 판단할 수 있는지 테스트한다. 테스트 절차는 RSA 검증에서의 소수 테스트와 동일하다.
검증 절차는 알고리즘의 종류에 관계 없이 동일하다. 이 테스트는 검증도구에서 제공하는 입력을 검증 대상이 처리하여 출력하는 결과와 검증 도구에서 줄력하는 결과가 일치하는지 여부를 확인하는 것으로 이루어진다. 검증도구는 크게 다음과 같은 3가지 종류의 메시지를 출력하고 이를 검증 대상에게 전달한다.
이 테스트에서는 검사 대상이 전자서명한 메시지에 대해서 유효성 검사를 수행하여 이상이 없는 전자서명인지 확인할 수 있는 능력을 갖추었는지 테스트한다. 테스트 절차는[그림 14]와 같다.
이 테스트에서는 검증 대상이 비밀키를 이용하여 전자서명을 적합하게 생성할 수 있는지 테스트한다. 여기서는 단순히 비밀키를 이용한 전자서명만을 테스트하며, 해쉬함수를 이용하여 메시지 다이제스트를 생성하는 것에 대한 테스트는 제외한다.
이 테스트에서는 검증 대상이 요구조건에 따라 강한 소수(strong prime)인 p, q을 생성하고 이로부터 n을 생성할 수 있는 능력을 갖추었는지 테스트한다. 이에 대한 테스트 절차는[그림 11]과 같다’
이 테스트에서는 검증대상이 전자서명한 메시지에 대해서 유효성 검사를 수행하여 이상이 없는 전자서명인지 여부를 확인할 수 있는 능력을 갖추었는지 테스트한다. 테스트 절차는[그림 19]와 같으며.
g의 정확성 확인 테스트를 수행한다. 이는 검증 대상이 키를 생성하는데 있어서 내부에서 생성하지 않고 외부에서 파라미터를 받아서 사용할 경우에 파라미터의 정확성 여부를 확인할 수 있는 능력을 갖주었는지 여부를 테스트하는 것이다. 테스트 절차는[그림 16)과 같다.
즉, 전자서명 메시지가 변조된 경우. 이를 확인할 수 있는지 테스트한다.[그림 7]과 같이 DSSVS는 모듈러 크기별로 3개의 공개키쌍과 임의의 메시지를 생성하여 저장한 뒤.
이에 본 논문에서는 국제적으로 사실상 표준으로 받아들여지고 있는 RSA, SHA-1 및 KCDSA, HAS-160 등 국내 표준 암호기술을 구현한 구현물이 기술표준을 정확하게 준용하여 구현되었는지 여부를 테스트하는 검증도구를 설계 및 구현하였다. 본 논문의 2장에서는 미국의 NIST에서 수행하고 있는 암호기술 구현물에 대한 검증 프로그램에 대해서 살펴본다.
전자서명 확인에서는 테스트 대상이 전자서명의 유효성 확인을 올바르게 수행하는지 테스트한다. 즉, 전자서명 메시지가 변조된 경우.
확장성 및 상호연동성을 갖고있는지 확인하는 것이다. 만약 통신환경에 안전성 및 신뢰성 제공을 위해 구축된 보안 시스템이 이와 같은 사항을 만족하지 못한다면.
가설 설정
① 전자서명에 사용되는 메시지의 크기는 160비트이다. 검증도구는 하나의 공개키쌍을 생성한다.
제안 방법
DSSVS는 DSS와 SHA-1 을 구현한 하드웨어 및 소프트웨어에 대한 원격 테스트를 수행할 수 있도록 설계되었으며. 제품의 보안 강도를 측정하는 것이 아닌 표준의 준수 여부를 검증하는 프로그램이다.
KCDSA 검증에서는 검증 대상이 KCDSA 전자서명 알고리즘을 적합하게 구현하였는지 테스트한다. KCDSA 검증은 NIST의 DSS 검증과 유사하며.
RSA 구현물에 대한 검증 부분에서는 검증 대상이 RSA 공개키 알고리즘을 적합하게 구현하였는지 테스트한다’ 이를 위해서 크게 다음과 같은 5가지 기능을 테스트하며, 5가지의 테스트를 모두 통과하여야만 적합하게 구현한 것으로 간주한다. 이와 같은 테스트 항목의 선정은 NIST의 연구에 기반해서 이루어졌다.
만족하는 경우에는 p와 q를 이용하여 n을 계산한 뒤. 검증 대상이 생성하여 전달한 n과 비교한다. 모든 결과가 동일할 때만 테스트를 통과한 것으로 간주하며.
초기정보 파일에는 메시지가 저장되어있으며, 검증도구는 이를 통해 해쉬값을 계산하여 그 결과를 검증도구 결과 파일에 저장한다. 검증 도구 결과 파일의 생성이 완료되면 검증도구는 검증 도구 결과와 검증 대상이 생성한 테스트 정보를 이용해 검증을 수행한다. 검증도구는 검증도구 결과 파일과 테스트 정보 파일을 이용해서 테스트를 수행하기 때문에 이 2개의 파일의 형식은 반드시 동일해야 한다.
결과를 검증도구에게 전달한다. 검증 도구는 검증 대상으로부터 전달받은 정보를 이용하여 검증을 수행한다. 이때 검증에 필요한 정보는 모두 파일 단위로 전달되어지며.
설계 및 구현하였다. 검증도구는 rsa와 sm-i 에 대한 검증과 함께 국내 기술표준인 KCDSA와 HAS-160의 구현물에 대한 검증도 수행한다.
공개키쌍 생성 테스트에서는 검증 대상이 검증 도구로부터 제공 받은 파라미터를 이용하여 공개키 쌍을 적합하게 생성할 수 있는지 테스트한다. 이에 대한 테스트 절차는[그림 12]와 같다.
하고. 공개키쌍 외에 XKEY와 seed까지 전달받아 의사난수 생성 테스트를 함께 수행하도록 하였다.
검증도구는 하나의 공개키쌍을 생성한다. 그리고 10개의 임의의 메시지를 생성하여 이에 대해서 SHAT을 수행한다. 이때 추가적으로 모든 비트가 '0' 또는 T인 메시지를 생성한다.
또한 검증도구의 신뢰성 확보를 위해 관련 표준에서 제공하는 테스트 벡터와 이미 구현되어 있는 다른 암호 모듈과의 연동시험을 수행했다. 이때 사용된 다른 암호모듈은 오픈소스 암호모듈인 OpenSSL과 Ctyptlib이다.
본 논문에서 구현한 암호기술 구현물 검증도 구는 전자서명 알고리즘인 KCDSA와 RSA, 해쉬 알고리즘인 SHA-1과 HAST60의 구현이 올바르게 이루어졌는지 테스트한다. 검증은 검증도구에서 생성한 검증에 필요한 정보를 검증 대상에게 전달하면.
본 논문에서 설계 및 구현한 검증도구는 RSA, KCDSA, SHA-1, HAS-160 등을 구현한 모든 보안 제품에 적용할 수 있다. 따라서 각종 암호제품의 평가 및 인증에 활용할 수 있을 것으로 기대된다.
소수 테스트에서는 검증 대상이 공개키쌍 생성을 위해 필요한 파라미터인 p, q의 소수 여부를 적절하게 판단할 수 있는지 테스트한다. 테스트 절차는 [그림 9]와 같다.
이 테스트에서는 검증도구에게 의사난수 생성 방법을 전달하고, 검증대상이 이에 따라 난수를 생성하도록 하고. 공개키쌍 외에 XKEY와 seed까지 전달받아 의사난수 생성 테스트를 함께 수행하도록 하였다.
검증 대상은 초기정보 파일의 내용을 읽고. 이를 이용해서 검증 대상의 암호모듈을 이용해 초기정보 파일에 기술된 바에 따라 테스트 정보를 생성하고. 이를 테스트 정보 파일에 저장하여 검증도구에게 전달한다.
한다. 이를 확인하기 위해서 DSSVS는 0비트부터 1.024비트의 길이를 가지는 L025개의 메시지를 임의로 생성하여 테스트 대상에게 전달하고, 각각의 메시지에 대한 메시지 다이제스트를 생성하여 저장한다. 메시지를 전달받은 테스트 대상은 이 메시지 각각에 대해서 메시지 다이제스트를 생성하여 DSSVS에 전달한다.
이를 테스트 대상에게 전달한다. 테스트 대상은 DSSVS로부터 받은 정보를 이용하여 메시지에 대해 전자서명을 수행한 결과를 DSSVS에게 전달한斗 DSSVS 은 서명된 메시지에 대해 전자서명을 확인하는 테스트를 수행한다.
대상 데이터
Skipjack 구현물은 4개가 NIST의 인증을 받았으며. DSA 및 SHA 구현물은 RSA Data Security의 B-SAFE Crypto-C 등 39개 업체. SHA 구현물은 Entrust Technologies Ltd.
이와 같은 검증 프로그램에 의해서 현재 DES 구현물은 101개, 3-DES 구현물은 32개. Skipjack 구현물은 4개가 NIST의 인증을 받았으며. DSA 및 SHA 구현물은 RSA Data Security의 B-SAFE Crypto-C 등 39개 업체.
적합하게 구현하였는지 테스트한다. 이 때 검증 대상이 되는 해쉬 알고리즘은 SHAT과 HAS-160이며. 검증 절차는 알고리즘의 종류에 관계 없이 동일하다.
테스트 절차는 다양한 길이의 메시지 테스트와 동일하며. 테스트에 사용하는 메시지는 1.024비트 이상의 다양한 길이를 갖는 100개의 메시지이다.
테스트 절차는 다양한 길이의 메시지 테스트와 동일하며. 테스트에 사용하는 메시지는 420비트의 길이를 갖는 시드(seed) 값으로부터 생성된 100개의 메시지이다.
이론/모형
이 때, 실제 검증 수행시 검증 수행자가 변경되는 소수의 개수와 Miller-Rabin 알고리즘의 수행 횟수를 지정할 수 있도록 하였다.
구현한 것으로 간주한다. 이와 같은 테스트 항목의 선정은 NIST의 연구에 기반해서 이루어졌다.
성능/효과
제품의 보안 강도를 측정하는 것이 아닌 표준의 준수 여부를 검증하는 프로그램이다. 즉, 이 프로그램은 DSS와 SHAT를 구현하는 과정에서 발생할 수 있는 오류를 발견하도록 도와주는 역할을 한다고 할 수 있다. 따라서 NIST의 인증은 제품의 보안 강도에 대한 평가로 해석할 수 없다.
구성되어 있으며. 충분한 테스트 자료를 사용하여 검증의 정확성을 높였다. 또한 검증도구와 검증대상이 원격에 위치한 상태에서 검증을 수행할 수 있도록 하였다.
후속연구
제품에 적용할 수 있다. 따라서 각종 암호제품의 평가 및 인증에 활용할 수 있을 것으로 기대된다. 예를 들어 공인인증기관 지정제도에 의한 공인인증기관 평가 및 인증시 암호기술의 정확한 구현 여부를 검증하기 위해 본 논문에서 설계 및 구현한 검증 도구를 이용할 수 있다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.