웹 상에서의 전자상거래의 활성화와 더불어 XML이 관련된 응용과 업계 표준의 기반이 되고 있으며, XML 데이터뿐만 아니라 임의의 콘텐츠에 대한 서명을 XML로 표현하여 무결성, 인증, 부인방지의 보안 기능을 제공하는 XML 전자서명에 대한 표준화가 W3C와 IETF의 공동 작업으로 수행되고 있다. 이러한 추세에 따라 XML 전자서명을 구현한 제품 개발이 증가하고 있으며, XML 전자서명을 구현한 제품은 다른 제품들 간의 상호운용성을 지원하기 위해 관련 기술 표준을 정확하게 준수하여 구현되어야 한다. 본 논문에서는 시험 절차와 시험 케이스 등을 포함하는 XML 전자서명 표준적합성 시험 방법을 제시한다. 시험 케이스들은 XML 서명 표준을 분석하여 도출되었으며, 본 논문에서 제시된 시험 방법을 구현한 XML 표준적합성 시험 도구의 설계와 용법을 설명한다.
웹 상에서의 전자상거래의 활성화와 더불어 XML이 관련된 응용과 업계 표준의 기반이 되고 있으며, XML 데이터뿐만 아니라 임의의 콘텐츠에 대한 서명을 XML로 표현하여 무결성, 인증, 부인방지의 보안 기능을 제공하는 XML 전자서명에 대한 표준화가 W3C와 IETF의 공동 작업으로 수행되고 있다. 이러한 추세에 따라 XML 전자서명을 구현한 제품 개발이 증가하고 있으며, XML 전자서명을 구현한 제품은 다른 제품들 간의 상호운용성을 지원하기 위해 관련 기술 표준을 정확하게 준수하여 구현되어야 한다. 본 논문에서는 시험 절차와 시험 케이스 등을 포함하는 XML 전자서명 표준적합성 시험 방법을 제시한다. 시험 케이스들은 XML 서명 표준을 분석하여 도출되었으며, 본 논문에서 제시된 시험 방법을 구현한 XML 표준적합성 시험 도구의 설계와 용법을 설명한다.
The XML has been becoming a basis of the related application and industry standards with proliferation of electronic transactions on the web, and the standardization on XML Signature, which can be applied to the digital contents including XML objects from one or more sources, is in the progress thro...
The XML has been becoming a basis of the related application and industry standards with proliferation of electronic transactions on the web, and the standardization on XML Signature, which can be applied to the digital contents including XML objects from one or more sources, is in the progress through a joint effort of W3C(World Wide Web Consortium) and IETF(Internet Engineering Task Force). Along with this trend, the development of products implementing XML Signature has been growing, and the XML Signature products are required to implement the relevant standards correctly to guarantee the interoperability among different XML Signature products. In this paper, we propose a conformance testing method for testing the XML Signature products, which includes a testing procedure and test cases. The test cases were obtained through analysis of XML Signature standards. Finally we describe the design and uses of our XML Signature conformance testing tools which implements our testing method.
The XML has been becoming a basis of the related application and industry standards with proliferation of electronic transactions on the web, and the standardization on XML Signature, which can be applied to the digital contents including XML objects from one or more sources, is in the progress through a joint effort of W3C(World Wide Web Consortium) and IETF(Internet Engineering Task Force). Along with this trend, the development of products implementing XML Signature has been growing, and the XML Signature products are required to implement the relevant standards correctly to guarantee the interoperability among different XML Signature products. In this paper, we propose a conformance testing method for testing the XML Signature products, which includes a testing procedure and test cases. The test cases were obtained through analysis of XML Signature standards. Finally we describe the design and uses of our XML Signature conformance testing tools which implements our testing method.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 XML 서명 표준의 분석을 통한 시험 항목의 도출과 효과적인 시험 방법을 제시하고 있으며, 제시된 XML 서명 표준적합성 시험방법의 특징은 다음과 같다.
본 연구에서는 XML 전자서명을 구현하는 정보보호 제품의 표준적합성 여부를 평가하기 위해 관련 표준을 분석하여 시험 항목을 도출하고, 시험 방법을 제시한다. 이를 기반으로 표준적합성 시험을 지원하는 XML 전자서명 표준적합성 시험 도구를 설계하고 구현한다.
충분한 표준 적합성 시험을 위해서는 여러가지 기능과 알고리즘의 조합을 포함하는 다양한 테스트벡터들을 확보하는 것이 중요하다. 본 연구에서는 요구되는 기능 및 알고리즘 조합을 반영하는 테스트벡터를 개별적으로 생성하거나 혹은 다양한 테스트벡터들을 주어진 조건에 따라 일괄적으로 생성할 수 있는 기능을 가진 시험 도구를 제안한다.
시험 대상 제품의 서명 생성 기능을 시험하기 위해 시험 대상 제품이 시험 규격에 따라 생성한 서명을 시험 도구에 입력하여 표준적합성 검사를 수행하고 검사 결과를 보고한다. 이 경우 한 개의 서명 파일을 개별적으로 검사하는 개별 서명 검사 기능, 디렉토리 내에 포함된 모든 서명 파일을 일괄 검사하는일괄 서명 검사 기능을 이용한다.
일괄 전자서명 생성기능은 개별 전자서명 생성 기능의 선택 가능한 항목들과 동일한 시험 항목들 중에서 선택한 시험 항목의범위 내에서 시험 항목을 임의로 조합하여 지정한 개수만큼 테스트벡터를 일괄 생성하는 기능이다. 이는수작업에 의해 기능과 알고리즘 별로 다양한 조합을 가진 일련의 개별 서명을 생성하는 불편함을 개선하여, 다양한 기능과 알고리즘을 조합하여 충분한 테스트벡터를 자동적으로 생성하기 위한 것이다. 오류 전자서명 생성 기능은 시험 제품의 서명 검증 기능의표준적합성 시험 과정에서 오류를 포함하고 있는 서명에 대한 부정적인 결과를 시험하기 위해 오류를 포함하는 테스트벡터를 생성한다.
수준이다. 표준적합성 시험은 시험 대상이 되는 XML 전자서명 제품이 서명을 수신하는 기능과 서명을 송신하는 기능이 분리되어 구현되었거나 통합하여 구현된제품이 시험 대상이 될 수 있으므로, 본 논문에서는제품이 서명을 수신하여 검증하는 기능의 수신자 측면에서의 시험과 서명을 생성하여 전송하는 송신자측면에서의 시험을 분리하여 수행하는 표준적합성 시험 방법을 제안한다. 본 장에서는 시험에 필요한 표준 문서를 분석하여 표준적합성 여부를 검사하기 위해 시험 항목을 제시하고, 시험 도구를 이용한 시험과정을 설명한다.
제안 방법
IETF와 W3C의 공동 작업으로 표준화가 진행되고 있는 XML 전자서명⑼은 XML 트랜잭션 내에서 사용될 수 있도록 설계된 전자서명으로 XML 데이터뿐만 아니라 하나 이상의 임의 형식의 데이터에 대한 전자서명을 지원하고, 서명된 데이터에 대해서는 데이터 무결성, 송신자 인증, 송신자 부인방지 등의 보안 기능을 제공한다.〔표 1〕은 IETF XML 전자서명 문서의 현황을 나타내고 있다.
XML 전자서명 제품의 표준적합성 시험은 XML 전자서명 제품이 준수해야 할 표준으로 IETF와 W3C에 의해 개발된 드래프트 표준인 'RFC3275 XML 서명의 구문과 처리와 정보 RFC인 'RFC 3076 정규 XML', 'RFC2807 서명 요구사항에서 명시된 표준 명세에 따라 구현되었는지를 시험한다. 이중 개별 시험 항목의 도출에 사용된 표준 문서는 RFC3275이며, RFC2807은 전반적인 참고자료로 이용되었으며 RFC3076은 개별 항목이 아니라 XML 서명 처리에 필요한 정규화 과정 전반에 걸친 요구사항으로 적용되었다.
XML 전자서명을 구현한 시험 대상 제품의 표준 적합성 검사를 수행하기 위한 방법으로 소프트웨어공학 측면에서 제시되고 있는 소프트웨어 시험 방법인 화이트박스 시험과 블랙박스 시험이 표준적 합성시험을 위해 고려되었다. 화이트박스 시험은 프로그램의 소스 코드를 분석하여 내부의 논리 구조를 시험할 수 있도록 시험 케이스를 설계하는 기법으로 시험제품의 소스 코드를 비롯하여 내부의 변수, 처리 논리 등에 접근할 수 있는 개발 단계에서 개발자의 자체 시험에 적합한 반면, 블랙박스 시험은 외부와의 입출력을 통해 소프트웨어의 기능이나 성능을 시험하는 것이며 완제품에 대한 시험에 적합하다.
XML 전자서명의 표준적합성 시험을 위해 본 연구에서는 표준 문서⑩에 기초하여 시험 도구를 통해 시험 가능한 항목을 도출하였으며, 이는 IETF와 W3C에서 시행하고 있는 상호운용성 시험을 위해 구축된 매트릭스'侦와 사실상 동일하다.
XML 전자서명의 표준적합성 평가자는 시험 대상 제품이 생성한 서명을 받아 시험 도구의 표준적 합성검사 기능을 통해 서명을 일괄 검사하고, 검사된 결과에 따라 개별 서명이 시험 규격에 따라 구현되었는지를 검사한다. 시험 규격에 따라 구현된 개별 서명이 유효한 서명이라면 서명에 포함된 알고리즘과 기능이 서명 생성 기능으로 적합하게 시험 대상 제품에 구현되었다고 평가한다.
따라서서명 검증 기능의 표준적합성 시험 결과는 유효한 서명을 유효하게 처리하고, 유효한 서명을 변형하여 오류를 포함하는 서명에 대해서는 유효하지 않은 서명으로 판단하고 오류에 대한 적절한 정보를 얻을 수있는지 혹은 오류에 적합한 처리 과정을 포함하는지를 시험한다. 시험 대상 제품은 서명 값, 다이제스트값, 서명 후 서명 대상 객체의 변경 등의 유효하지않은 서명은 반드시 유효하지 않은 서명으로 처리되어야 한다.
2 장에서는 연구의 배경 지식이 되는 XML 전자서명의 표준 현황에 대해 설명하고, 표준적합성 시험을기존의 정보통신 제품에 적용되고 있는 일반적인 절차를 중심으로 설명한다. 또한, 연구 사례로 XML 전자서명의 상호운용성 시험을 조사하여 기술한다. 3 장에서는 XML 전자서명의 표준적합성 시험에 대한시험 방법과 시험 항목을 기술하고, 시험 도구가 표준적합성 시험에 사용되는 경우 서명의 송신 측면에서 이루어지는 시험 과정과 수신 측면에서 이루어지는 시험 과정을 설명한다.
화이트박스 시험은 프로그램의 소스 코드를 분석하여 내부의 논리 구조를 시험할 수 있도록 시험 케이스를 설계하는 기법으로 시험제품의 소스 코드를 비롯하여 내부의 변수, 처리 논리 등에 접근할 수 있는 개발 단계에서 개발자의 자체 시험에 적합한 반면, 블랙박스 시험은 외부와의 입출력을 통해 소프트웨어의 기능이나 성능을 시험하는 것이며 완제품에 대한 시험에 적합하다. 본 연구에서는 XML 전자서명의 표준을 구현한 완제품에 대한 표준적합성을 시험하므로 블랙박스 시험 방법을 적용하여 시험 도구를 구현하였다.
서명 검증 기능의 표준적합성 시험은 시험 대상 제품이 수신한 전자서명을 표준에 따라 적합하게 처리하는지와 표준 명세의 요구수준에 따라 구현된 전자서명이 포함하고 있는 알고리즘과 기능이 적합하게 처리되도록 구현하였는가를 시험 도구를 이용하여 시험한다.
서명 생성 기능의 표준적합성 시험은 시험 대상 제품이 시험 규격에 따라 생성한 전자서명이 적합하게 구현되었는지를 비롯하여 표준 문서의 요구수준에 따라 특정 알고리즘과 기능을 포함하는 서명이 생성되었는지를 시험한다. 시험 도구는 시험 제품이 생성한 서명을 입력받아 서명의 유효성과 서명이 포함하고 있는 기능과 알고리즘을 분석하여 서명 생성 기능의 표준적합성 검사를 수행하고, 결과를 웹 기반의 보고서 형식으로 출력한다.
시험 대상 제품의 서명 생성 기능의 표준적합성 검사를 위해 시험 도구는 시험 제품이 생성한 서명을 검사하기 위해 하나의 개별 서명 파일의 표준적 합성검사와 일괄적으로 지정된 서명 파일을 검사하는 두 가지 기능을 제공한다. 시험 도구는 시험 제품의 서명생성 기능의 표준적합성 시험을 수행한 후 검사 결과에 대해 보고서 형식으로 제공하는 기능을 가지고 있다.
시험 도구는 서명 검증 기능의 표준적합성 시험을 위해 테스트벡터를 시험 규격에 따라 생성하고, 서명생성 기능의 표준적합성 시험을 위해 시험 대상 제품이 생성한 전자서명이 시험 규격에 맞는 유효한 서명을 생성하였는지를 검사하는 두 가지 기능을 중심으로 구성되어 있다.〔그림 5〕는 구현된 시험 도구의 기본 구조를 나타낸다.
시험한다. 시험 도구는 시험 제품이 생성한 서명을 입력받아 서명의 유효성과 서명이 포함하고 있는 기능과 알고리즘을 분석하여 서명 생성 기능의 표준적합성 검사를 수행하고, 결과를 웹 기반의 보고서 형식으로 출력한다.〔그림 4〕는 시험 도구를 이용하여 진행되는 서명 생성기능의 표준적합성 시험 과정을 도식한다.
이를 위해 수행된 상호운용성 시험에서는 RFC3275의 표준 문서에 명시된 요구사항을 비롯하여 구현된 기능, 연산등을 시험 케이스로 항목화하고, 상호운용성 매트릭스:⑸에 애플리케이션 기능의 12개 항목과 알고리즘의 9개 항목을 시험 항목으로 제시하고 있다. 시험방법은 상호운용성을 지원하는 제품에 완전히 적합하게 구현한 공개된 테스트벡터를 입력한 후 일련의 테스트벡터를 유효하게 처리하는지의 여부를 시험하여상호운용성 여부를 판단한다. XML 전자서명 상호운용성의 웹 사이트를 통해 공개되어 상호운용성 시험에 사용되는 테스트벡터"°는 Merlin Hughes가개발한 merlin-xmldsig-fifteen, merlin-xmldsig -sixteen, merlin-xmldsig-twenty-three 패키지가 있으며, 이외에 Phaos 사의 'Phaos XML Toolkit""으로 생성된 01-phaos-xmldsig-two 패키지가 있다.
이를 기반으로 표준적합성 시험을 지원하는 XML 전자서명 표준적합성 시험 도구를 설계하고 구현한다.
Phaos, RSA, Apache, XMLSec, DataPower)간의 상호운용성 여부를 시험한 후 결과를 웹상에 공표하고 있다. 이를 위해 수행된 상호운용성 시험에서는 RFC3275의 표준 문서에 명시된 요구사항을 비롯하여 구현된 기능, 연산등을 시험 케이스로 항목화하고, 상호운용성 매트릭스:⑸에 애플리케이션 기능의 12개 항목과 알고리즘의 9개 항목을 시험 항목으로 제시하고 있다. 시험방법은 상호운용성을 지원하는 제품에 완전히 적합하게 구현한 공개된 테스트벡터를 입력한 후 일련의 테스트벡터를 유효하게 처리하는지의 여부를 시험하여상호운용성 여부를 판단한다.
보고서 내용은〔표 2〕의 시험 항목의 구현 여부를 명시하고 서명이 유효한지 아닌지에 따른 결과를 보여준다. 이를 통해 제품이 생성한 서명이 시험 규격과 일치하는지를 검사하여 표준적합성 여부를 판단한다.
이론/모형
표준적합성 시험을 시행하기 위해 선행되어야 하는 작업은 시험 대상의 표준 프로토콜을 분석한 다음 이를 바탕으로 시험 규격 구조(TSS : Test Suite Structure)와 TSS 에 따라 프로토콜로부터 세부적인 시험 목적 (TP : Test Purpose)을 도출하는 것이다. TP의 추출 후시험 대상 제품과 시험기의 관계를 설정하는 추상 시험 방법 (ATM : Abstract Test Method)이 선택된다. TP 단계에서는 하나의 TP마다 순서가 있는 시험 이벤트(Test Event)의 조합인 하나씩의 시험 케이스(TC : Test Case)를 작성하고, TC의 집합과 함께 ATM을 반영하는 추상 시험 규격 (ATS : Abstract Test Suite)을 구성한다.
성능/효과
오류 전자서명 생성 기능은 시험 제품의 서명 검증 기능의표준적합성 시험 과정에서 오류를 포함하고 있는 서명에 대한 부정적인 결과를 시험하기 위해 오류를 포함하는 테스트벡터를 생성한다. 시험 도구를 통해 지정할 수 있는 오류 선택 항목은 서명 값 변경, 서명알고리즘 변경, 정규화 알고리즘 변경, 변환 알고리즘 변경, 다이제스트값 변경, 포함/피포함/분리형 서명 형식의 서명 대상 객체의 내용 변경의 기능을 가지며, 이는 완전하게 적합한 서명을 읽어 각각의 오류 항목을 포함하는 전자서명을 생성한다.
시험 대상 제품은 서명 값, 다이제스트값, 서명 후 서명 대상 객체의 변경 등의 유효하지않은 서명은 반드시 유효하지 않은 서명으로 처리되어야 한다. 유효한 서명의 테스트벡터가 시험 대상제품에 입력되어 처리되면 테스트벡터에 포함되어 있는 서명의 알고리즘과 기능을 시험 대상 제품의 서명수신 기능으로 적합하게 구현되었다고 할 수 있다.
후속연구
수행하여야 한다. 본 연구를 통해 개발한 GUI 를 기반으로 하는 XML 전자서명의 표준적합성 시험 도구는 수작업의 번거로움을 덜기위해 GUI 인터페이스를 이용하여 개별적으로 혹은 일괄적으로 서명을 생성하고 검증하는 기능을 지원할 뿐만 아니라 결과를 보고하는 기능을 제공받을 수 있으므로 표준 적합성 검사에 소요되는 시간을 단축하고 시험 효율을 증대시킬 수 있을 것으로 기대한다.
알고리즘 구현에 있어서는 한국형 전자서명 알고리즘 KCDSA 등을 서명 알고리즘의 시험 항목으로선택할 수 있는 기능 확장이 추가되어야 할 것이다.
향후 연구 과제는 표준화 작업 진행 중인 제외형정규 XML 및 XPath 등의 표준적합성 시험을 위한 기능 확장이 필요하고, 표준 명세를 통해 시험 규격을 개발한 후 시험 항목들을 선택하면 이에 따라시험 케이스들을 자동적으로 주줄하여 시험을 진행하여 최종 결과를 보고하는 통합형 시험 도구의 개발이연구되어야 하며, XML 전자서명 제품의 표준적합성시험 과정에 대한 표준 연구가 진행되어야 할 것이다. 알고리즘 구현에 있어서는 한국형 전자서명 알고리즘 KCDSA 등을 서명 알고리즘의 시험 항목으로선택할 수 있는 기능 확장이 추가되어야 할 것이다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.