XML 암호화는 주로 웹 콘텐츠를 위한 기밀성 서비스 제공에 사용되는데, 물론 응용 영역이 반드시 웹 콘텐츠로만 제한되는 것은 아니다. XML 암호화는 데이터 파일 단위로 적용될 수도 있지만, 주로 XML 문서에 부분적으로 적용되면서 다양한 암호화 범위를 지원한다. 이러한 특성으로 인해 XML 암호화는 여러 웹 애플리케이션에서 SSL/TLS, IPsec, PGP, S/MIME 등의 여타 기밀성 프로토콜보다 효율적인 수단이 될 수 있다. XML 암호화의 성공적 정착을 위해서는 구현 제품들 사이의 상호운용성이 필수적인데, 이를 위해서는 제품들이 XML 암호화 표준을 정확히 구현해야 한다. 표준적합성 시험에서는 제품들이 관련 표준을 정확히 구현하였는지를 시험한다. 본 논문에서는 XML 암호화 제품을 위한 표준적합성 시험 방법을 제시하고 구현한다. 이를 위해 먼저 W3C에서 개발된 XML 암호화 표준을 먼저 살펴보고, 적합성 시험을 위한 항목들을 도출한다. 그런 다음 시험 방법을 제안하는데, 여기에서는 암호화 기능과 복호화 기능을 분리하여 시험하는 방식을 취한다. 또한 제안된 방법을 GUI 기반의 시험 도구로 구현하여 시험 결과를 제시한다.
XML 암호화는 주로 웹 콘텐츠를 위한 기밀성 서비스 제공에 사용되는데, 물론 응용 영역이 반드시 웹 콘텐츠로만 제한되는 것은 아니다. XML 암호화는 데이터 파일 단위로 적용될 수도 있지만, 주로 XML 문서에 부분적으로 적용되면서 다양한 암호화 범위를 지원한다. 이러한 특성으로 인해 XML 암호화는 여러 웹 애플리케이션에서 SSL/TLS, IPsec, PGP, S/MIME 등의 여타 기밀성 프로토콜보다 효율적인 수단이 될 수 있다. XML 암호화의 성공적 정착을 위해서는 구현 제품들 사이의 상호운용성이 필수적인데, 이를 위해서는 제품들이 XML 암호화 표준을 정확히 구현해야 한다. 표준적합성 시험에서는 제품들이 관련 표준을 정확히 구현하였는지를 시험한다. 본 논문에서는 XML 암호화 제품을 위한 표준적합성 시험 방법을 제시하고 구현한다. 이를 위해 먼저 W3C에서 개발된 XML 암호화 표준을 먼저 살펴보고, 적합성 시험을 위한 항목들을 도출한다. 그런 다음 시험 방법을 제안하는데, 여기에서는 암호화 기능과 복호화 기능을 분리하여 시험하는 방식을 취한다. 또한 제안된 방법을 GUI 기반의 시험 도구로 구현하여 시험 결과를 제시한다.
XML encryption is to provide confidentiality service, though not limited to, for web contents. XML encryption can be applied to entire data files as opaque objects, or more frequently to various parts of XML documents, supporting various encryption granularity. It is this characteristic that makes X...
XML encryption is to provide confidentiality service, though not limited to, for web contents. XML encryption can be applied to entire data files as opaque objects, or more frequently to various parts of XML documents, supporting various encryption granularity. It is this characteristic that makes XML encryption a more efficient alternative for data confidentiality in various web applications than is possible with SSL/TLS, IPsec, PGP, or S/MIME. It is essential for successful deployment of XML encryption to achieve interoperability among the products implementing this technology, which requires the products to implement the XML encryption standards correctly. Conformance testing is to test if products implement the relevant standard correctly. In this paper we present a conformance testing method for XML encryption products and implement it. We will first look at XML encryption standards developed by W3C, and extract test criteria. Then we propose a testing method in which the encryption capability and the decryption capability of a product are tested separately. The proposed methody is actually implemented as a GUI-based testing tool and some test results are presented.
XML encryption is to provide confidentiality service, though not limited to, for web contents. XML encryption can be applied to entire data files as opaque objects, or more frequently to various parts of XML documents, supporting various encryption granularity. It is this characteristic that makes XML encryption a more efficient alternative for data confidentiality in various web applications than is possible with SSL/TLS, IPsec, PGP, or S/MIME. It is essential for successful deployment of XML encryption to achieve interoperability among the products implementing this technology, which requires the products to implement the XML encryption standards correctly. Conformance testing is to test if products implement the relevant standard correctly. In this paper we present a conformance testing method for XML encryption products and implement it. We will first look at XML encryption standards developed by W3C, and extract test criteria. Then we propose a testing method in which the encryption capability and the decryption capability of a product are tested separately. The proposed methody is actually implemented as a GUI-based testing tool and some test results are presented.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
하나는 개별 복호 화 지원 기능이고 다른 하나는 일괄 복호화 지원 기능이다. 개별 복호화 작업을 통해서는 선택한 하나의 테스트벡터 를 복호화하고 그 결과를 보고한다. 복호화 진행 중에 테스 트벡터에 포함되어 있는 시험항목들을 분석하여 (그림 4)와 같이 웹 브라우저로 결과를 확인할 수 있는 보고서를 작성 한다.
본 논문에서는 XML 암호화 제품들 간의 표준적합성을 시험하기 위하여 먼저 XML 암호화 표준[2]을 분석하여 시 험항목을 도출하고 이를 시험하기 위한 시험 도구를 개발하였다. 또한 시험도구의 암호화 복호화 기능을 이용하여 다양한 테스트벡터를 생성하고 결과를 보고하였다.
XML 암호화 기능의 표준적합성 검사는 (그림 2)의 오른쪽 프로세스와 같이 이루어진다. 먼저 시험 규격 구조에 맞게 시험 대상 제품이 암호화된 데이터를 생성하면 이를 시험 도구에 입력하여 표준에 적합하 게 암호화를 수행하였는지 결과를 보고한다.
본 논문에서는 XML 암호화 제품들 간의 표준적합성을 시험하기 위하여 먼저 XML 암호화 표준[2]을 분석하여 시 험항목을 도출하고 이를 시험하기 위한 시험 도구를 개발하였다. 또한 시험도구의 암호화 복호화 기능을 이용하여 다양한 테스트벡터를 생성하고 결과를 보고하였다.
표준적합성은 특정 표준을 구현한 제품을 만들 때 그 표준을 정확히 준수하였음을 보장하는 것으로 해당 응용 프 로그램이나 서비스들 사이의 호환성, 즉, 상호운용성 측정에 있어서 기초가 되는 사항이다. 본 논문에서는 XML 암호화 제품들의 상호운용성 검증의 기반으로서, 개별 제품이 XML 암호화 표준에 적합하게 구현되었는지를 시험하는 표준적합 성 시험 방법을 제시하고자 한다.
또한 XML 암호화 제품의 표준적합성 시험을 위하여 시험 규격구조에 맞는 임의 조합형 테스트벡터를 생성해 사용하는 방법도 XML 전자서명에 사용된 시험 방법으로부터 차용하였다. 본 연구에서 특히 강화된 시험 기능은 암호화에 대한 검증 시 테스트벡터 모음이 사용될 경우 시험을 통해 검증된 시험항 목들을 종합적으로 보고하는 것이다.
본 절에서는 XML 암호화 구문 및 처리 문서에 근거하여 구현된 암호화 제품의 XML 암호화 또는 복호화 기능에 대한 표준적합성 시험방법을 제시한다. (그림 2)는 XML 암호 화 표준적합성을 시험하는 방법을 도식한 것이다.
먼저 시험 대상 프로토콜을 분석한 후 이것을 바탕으로 시험 규격 구조(TSS: Test Suite Structure)와 시험 목적 (TP: Test Purpose)을 도출한다. 시험 목적은 결 정된 시험 규격 구조에 따라 시험 대상 프로토콜의 특성을 고려하여 프로토콜로부터 세부적으로 추출된다. 또 시험 목 적마다 각각의 시험 케이스를 작성한다.
<표 3>의 XML 암호화 표준적합성 시험항목들에 대한 GUI 기반의 시험 도구를 구현하여 표준적합성 시험 처리과 정과 결과 보고 기능을 제시한다. XML 암호화 표준적합성 시험을 위한 프로그램은 현재 W3C에서 정의하고 XML 암 호화 구문 및 처리[2]의 참조구현인 IBM XML 시큐리티 스 위트(이하 XSS)[20]를 참조하여 자바 언어 기반의 XML 암 호화 표준적합성 시험도구를 구현하였다.
W3C의 XML 암호화 표준을 위한 상호운용성 시험은 표 준의 유효성을 대략적으로 확인하기 위한 것이며, 여기에서 사용된 테스트벡터 모음에서는 데이터가 이미 고정되어 있으며 개수도 많지 않고, 특히 테스트벡터로는 제품의 암호 화 기능을 시험할 수 없다는 등의 이유로 인해 XML 암호 화 표준[2]에 명세된 다양한 기능과 알고리즘의 조합을 시험 하는 표준적합성 시험에 사용하기에는 충분치 않다. 표준적 합성 시험에서는 XML 암호화 표준[2]에 명세된 표준 항목 들의 다양한 조합을 지원할 수 있는 충분한 수의 테스트벡 터가 지원되어야 하므로 본 연구에서는 임의의 시험항목들 을 조합하여 테스트벡터를 생성하는 기능을 갖는 시험 도구 를 제안한다.
제안 방법
XML 암호화 제품의 암호화 기능 시험의 결과 보고서는 XML 암호화 문서에서 암호화된 유형을 찾아내고 해독할 키에 대한 정보와 알고리즘을 적용하여 최종적으로 본래의 평문을 복호화 하는 결과를 도출해야 한다. XML 암호화 제품의 암호화 데이터 안에 포함되어야 할 필수 엘리먼트들과 암호화된 데이터를 해독할 키에 대한 정보나 속성들이 적합하게 구현되었는지 를 시험하여 결과를 도출한다.
<표 3>의 XML 암호화 표준적합성 시험항목들에 대한 GUI 기반의 시험 도구를 구현하여 표준적합성 시험 처리과 정과 결과 보고 기능을 제시한다. XML 암호화 표준적합성 시험을 위한 프로그램은 현재 W3C에서 정의하고 XML 암 호화 구문 및 처리[2]의 참조구현인 IBM XML 시큐리티 스 위트(이하 XSS)[20]를 참조하여 자바 언어 기반의 XML 암 호화 표준적합성 시험도구를 구현하였다.
XML 암호화 표준적합성 시험항목들은 W3C 상호운용성 시험[5]에서 XML 암호화 구문과 처리 표준[2]에 근거하여 도출한 것으로과 같으며, 각 시험항목들은 XML 암 호화 구문과 처리 명세에 근거하여 명세서에 기술되어 있는 순으로 나열하였다.
0과 XML 이름 공간 허용하는 변환을 제외하고는 문서를 변경하지 않았다는 것을 결정하기 위한 방법을 제시한다. XML 전자서명 표준적 합성 시험에 관한 연구는 에 나타난 드래프트표준 'RFC3275 XML 서명의 구문과 처리' 문서와 정보 RFC인 ■RFC3076 정규 XML', 'RFC2807 서명 요구사항' 문서에서 명시된 표준 명세를 바탕으로 표준 항목을 도출하고 XML 전자서명 표준 구현 제품들을 시험하였다. 이 시험에서 사용된 시험 도구는 전자서명의 송신자 측면에서의 시험과 수 신자 측면에서의 시험을 분리하여 수행하는 방법으로 표준 적합성 시험을 하였으며 기본적으로 대상제품들은 개발 완 료된 완제품들이므로 블랙박스 시험 방법을 채택하였다.
XML 암호화 제품의 암호화 기능과 복호화 기능에 대한 시험의 분리, 블랙박스 시험의 채택 등은 XML 전자서명 표 준적합성 시험에 사용된 방법을 차용한 것이다. 또한 XML 암호화 제품의 표준적합성 시험을 위하여 시험 규격구조에 맞는 임의 조합형 테스트벡터를 생성해 사용하는 방법도 XML 전자서명에 사용된 시험 방법으로부터 차용하였다. 본 연구에서 특히 강화된 시험 기능은 암호화에 대한 검증 시 테스트벡터 모음이 사용될 경우 시험을 통해 검증된 시험항 목들을 종합적으로 보고하는 것이다.
또한 대상 제품의 암호화 기능을 시험할 수 있는 시험 도 구의 복호화 부분에서도 일괄 복호화 기능을 제공한다. 또한 여러 테스트벡터의 분석 결과를 표 형태로 제공함으로써 한 번에 알아보기 쉽도록 구성하였다.
(그림 1)은 프로토콜 표준적합성 시험의 일반적인 과정을 도식한 것이다. 먼저 시험 대상 프로토콜을 분석한 후 이것을 바탕으로 시험 규격 구조(TSS: Test Suite Structure)와 시험 목적 (TP: Test Purpose)을 도출한다. 시험 목적은 결 정된 시험 규격 구조에 따라 시험 대상 프로토콜의 특성을 고려하여 프로토콜로부터 세부적으로 추출된다.
개별 복호화 작업을 통해서는 선택한 하나의 테스트벡터 를 복호화하고 그 결과를 보고한다. 복호화 진행 중에 테스 트벡터에 포함되어 있는 시험항목들을 분석하여 (그림 4)와 같이 웹 브라우저로 결과를 확인할 수 있는 보고서를 작성 한다. (그림 4)의 결과 열에서 '。는 테스트벡터에 포함된 시험항목으로 성공적으로 검증되었음을 나타내며, 'X'는 테 스트벡터에 포함된 시험항목이 아님을 나타낸다.
(그림 2)는 XML 암호 화 표준적합성을 시험하는 방법을 도식한 것이다. 여기서 시험도구의 역할이 들어가는 부분은 음영 표시된 부분으로 복호화 기능의 표준적합성 검사는 시험도구의 암호화 기능을 이용하고 암호화 기능의 표준적합성 검사는 시험도구의 복호화 기능을 이용하여 암호화 시험 결과를 확인한다. 먼저 XML 암호화 제품의 표준적합성 검사는 (그림 2)의 왼쪽 프로세스와 같이 이루어진다.
XML 전자서명 표준적 합성 시험에 관한 연구는 에 나타난 드래프트표준 'RFC3275 XML 서명의 구문과 처리' 문서와 정보 RFC인 ■RFC3076 정규 XML', 'RFC2807 서명 요구사항' 문서에서 명시된 표준 명세를 바탕으로 표준 항목을 도출하고 XML 전자서명 표준 구현 제품들을 시험하였다. 이 시험에서 사용된 시험 도구는 전자서명의 송신자 측면에서의 시험과 수 신자 측면에서의 시험을 분리하여 수행하는 방법으로 표준 적합성 시험을 하였으며 기본적으로 대상제품들은 개발 완 료된 완제품들이므로 블랙박스 시험 방법을 채택하였다.
왼쪽 프로세스의 XML 암호화 제품의 복호화 기능의 표준적합성 검사 절차를 살펴보면 시험 규격 구조에 의해 시험도구의 적합한 XML 암호화 문서 생성 기능을 이용하여 생성한다. 이렇게 생성된 문서를 시험 대상 프로그램에 적용시켜 사용된 암호화 알고리즘, 암 호화 대상, 암호화 형식, 키 정보 등을 바탕으로 복호화를 정확히 수행하는지 평가한다. XML 암호화 기능의 표준적합성 검사는 (그림 2)의 오른쪽 프로세스와 같이 이루어진다.
시험 케이스의 작 성 과정에서는 선택한 시험 방법상의 제약으로 인하여 시험 케이스로 실현되지 못하는 시험 목적이 포함될 수 있다. 작 성된 시험 케이스의 집합이 추상 시험 스위트 (ATS: Abstract Test Suite)를 구성하는데, 이러한 ATS로부터 시 행 가능 시험 스위트(ETS: Executable Test Suite)를 생성 하여 실제 시험에 들어가게 된다. 적합성 시험이 수행된 후 에는' 이에 대한 결과를 도출하여 작성하는 것으로 적합성 시험 절차를 완료한다.
성능/효과
시험도구의 암호화 기능은 간단하게는 시험항목을 하나하 나 선택하여 그에 적합한 하나의 테스트벡터를 생성하는 기 능과 이를 발전시켜 여러가지 항목을 한 번에 선택하고 암 호화 방식에서부터 사용되는 암호화 알고리즘 및 기타 정보 에 이르기까지 무작위 조합할 수 있는 기능을 제공한다. 이러한 기능을 통해 다양한 테스트벡터를 확보할 수 있으며 다양한 테스트벡터의 확보는 시험대상 제품의 표준적합성 및 상호운용성 정도의 측정에서 보다 신뢰성 있는 기반을 마련할 수 있을 것으로 기대한다.
후속연구
이러한 결과 보고 및 암호화 테스트벡터의 적용에 의한 시험으로 표준적합성 및 상호운용성이 검증된 제품이 시장 경쟁력을 높이는 부분에 기여할 수 있을 것으로 기대한다. XML 암호화 기술은 단독으로 쓰이기보다는 XML 전자 서명 기술 및 키 관리 기술과 연계하여 쓰일 때 그 효과가 증대 되므로 두 기술 이상이 함께 구현된 제품들에 대한 전 반적인 검증이 더욱 연구되어야 할 것이다.
이러한 결과 보고 및 암호화 테스트벡터의 적용에 의한 시험으로 표준적합성 및 상호운용성이 검증된 제품이 시장 경쟁력을 높이는 부분에 기여할 수 있을 것으로 기대한다. XML 암호화 기술은 단독으로 쓰이기보다는 XML 전자 서명 기술 및 키 관리 기술과 연계하여 쓰일 때 그 효과가 증대 되므로 두 기술 이상이 함께 구현된 제품들에 대한 전 반적인 검증이 더욱 연구되어야 할 것이다.
시험도구의 암호화 기능은 간단하게는 시험항목을 하나하 나 선택하여 그에 적합한 하나의 테스트벡터를 생성하는 기 능과 이를 발전시켜 여러가지 항목을 한 번에 선택하고 암 호화 방식에서부터 사용되는 암호화 알고리즘 및 기타 정보 에 이르기까지 무작위 조합할 수 있는 기능을 제공한다. 이러한 기능을 통해 다양한 테스트벡터를 확보할 수 있으며 다양한 테스트벡터의 확보는 시험대상 제품의 표준적합성 및 상호운용성 정도의 측정에서 보다 신뢰성 있는 기반을 마련할 수 있을 것으로 기대한다.
참고문헌 (20)
XML Encryption WG, 'XML Encryption Requirements,' W3C, Apr., 2002. http//www.w3.org/TR/xml-encryptionreq
XML Encryption WG, 'XML Encryption Syntax and Processing,' W3C, Dec., 2002. http//www.w3.org/TR/xmlenc-core/
Decryption Transform for XML Signature, http//www.w3.org/TR/xmlenc-decrypt
D. Eastlake 3rd, 'Additional XML Security Uniform Resource Identifiers (URIs),' IETF RFC4051. http//www.ietf.org/rfc/rfc4051.txt
W3C XML 암호화 상호운용성 시험, http//www.w3.org/Encryption/2002/02-xenc-interop.html
알렉시사에서 제공하는 XML 암호화 상호운용성 시험, http://www.aleksey.comlxmlsec/xmlenc.html
※ AI-Helper는 부적절한 답변을 할 수 있습니다.