2002.11.26 컴퓨터 과학과 김지현 (http://cs.sookmyung.ac.kr/~yeronica/xml/) 보안에서의 전자서명과 xmldsig 2002.11.26 컴퓨터 과학과 김지현 (http://cs.sookmyung.ac.kr/~yeronica/xml/)

Slides:



Advertisements
Similar presentations
최성락 최인석 나주한. 특징 : 공개키 n, g 를 사용하여 키 분배가 가능. (g 는 Zn 의 primitive element) Discrete logarithm 에 기반. 두 명 이상의 경우에도 적용가능. 키 교환 없이도.
Advertisements

불특정 공격에 무너진 H 사 업무 시스템 서서히 저하 내부에서 원인 불명으로 네트워크의 속도가 서서히 저하 되는 현상이 발생 공격의 발생 핵심 장 비 서비스가 되다 되지 않는 현상이 심해지고 결국 핵심 장 비는 장애가 발생하게 됨 장비 장애 발생 핵심 장비 장애 전체.
I. 프로젝트 동기 II. 프로젝트 목표 III. 파일시스템 IV. 암호화 및 복호화 V. 인터페이스 VI. FBR READ/WRITE VII. 프로그램 흐름도 VIII. 미 구현 사항 IX. 프로젝트 기대효과 X. 프로그램 요구사항 및 팀원 역할분담 XI. 시연 XII.
HTTPS Packet Capture Tutorial
컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
Accredited Certificate
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
(c) Byoungcheon Lee, Joongbu Univ.
암호체계고도화(2048) 문서유통 테스트베드 사용 메뉴얼
XML 응용 프로그래밍 3장 XML 문서 제작 기본
SQL Injection Member 최병희, 김상우, 조용준, 유창열.
Chapter 18 네트워크층 보안: IPSec
윤 홍 란 다이알로그(대화상자) 윤 홍 란
Chapter 17 전송층 보안: SSL과 TLS
Secure Socket Layer.
자바 암호 프로그래밍 Java Cryptography Programming
PHP입문 Izayoi 김조흔.
제13장 전자서명과 인증 프로토콜 Digital Signatures and Authentication Protocols
교과목 소개 정보보호.
암호학 응용 Applied cryptography
무선인터넷 보안기술 컴퓨터공학부 조한별.
인터넷 보안 2 Security 오 세 종.
SSL (Secure Sockets Layers Protocol)
30장 메시지 보안, 사용자 인증과 키 관리 30.1 메시지 보안 30.2 전자서명 30.3 사용자 인증 30.4 키 관리
File Depender 중간 발표.
공개키 암호화 프로그래밍 전자상거래보안.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
23 장 OSI 상위계층 23.1 세션(session)층 23.2 표현(presentation)층
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
정보화 사회와 컴퓨터 보안.
9장. 디지털 증거의 무결성 유지.
암호화 및 인증.
CXQuery를 사용하는 STREAM XML Filter
Part 05 정보 보호 개론 NOS 보안 보안 프로토콜 및 암호와 네트워크 보안 및 정보 보호 제도.
웹어플리케이션보안 암호프로그래밍, crypto-js
자바스크립트 암호 프로그래밍 Javascript Cryptography Programming
전자서명의 형태 수기서명 디지털서명. 전자서명의 형태 수기서명 디지털서명 전자서명의 필요성.
(c) Byoungcheon Lee, Joongbu Univ.
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
08장 쿠키와 세션.
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
KERBEROS.
제 13장 PGP 암호 기술을 조합하는 기술.
비대칭 암호화 알고리즘 공개키 암호화 알고리즘 소속 : 한세사이버보안고등학교 조장 : 안도현
CHAP 21. 전화, SMS, 주소록.
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
SSL, Secure Socket Layer
Open4U 공급업체 접속 방법 Open4U 시스템 신규 접속 방법 메인 화면 및 로그인 하기 초기 비밀번호 변경하기
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
PHP 웹 프로그래밍 (PHP Web Programming) 미리 정의된 함수 문양세 강원대학교 IT대학 컴퓨터과학전공.
통신망 정보보호 이재광, 이임영, 소우영, 최용락.
암호학 응용 Applied cryptography
웹 어플리케이션 보안 2016년 2학기 11. Enhancing Security.
오라클 11g 보안.
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
5.2.3 교환방식의 비교 학습내용 교환방식의 비교.
1.전자상거래를 위한 기본 법률 ; 전자거래기본법
한국의 인터넷 뱅킹 보안에 대하여 Oxford University Computing Laboratory
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
(c) Byoungcheon Lee, Joongbu Univ.
TrustNet 전자 협조전 사용설명서 목 차 작성,수정,삭제 결재함 처리현황 발송대장,접수대장
07. DB 설계 명지대학교 ICT 융합대학 김정호.
암호 시스템 (Crypto system) 신효철
CCIT 네트워크 발표 정보보호학과 평문 사이트와 SSL 사이트, SSL strip과 데이터 변조를 이용한 로그인 취약점
 6장. SQL 쿼리.
8주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
6 객체.
Presentation transcript:

2002.11.26 컴퓨터 과학과 김지현 (http://cs.sookmyung.ac.kr/~yeronica/xml/) 보안에서의 전자서명과 xmldsig 2002.11.26 컴퓨터 과학과 김지현 (http://cs.sookmyung.ac.kr/~yeronica/xml/)

목 차 1. XML 정보보호기술의 필요성 2. XML 전자서명 표준화 및 응용 동향 ※ 참고 문서 RFC3275 XML Security (Blake Dournaee) – RSA PRESS 한국정보보호진흥원 - 전자서명 및 인증제도 http://www.kisa.or.kr/technology/sub2/Signature_Auth.ppt

XML 정보보호기술의 필요성

Password 기반, PKI 기반, SSL 기반의 보안 서비스 - 현재의 전자상거래 시스템을 지원하는 기술 전자거래에 필요한 전자거래 정보보호 기술 Password 기반, PKI 기반, SSL 기반의 보안 서비스 - 현재의 전자상거래 시스템을 지원하는 기술 2. XML 정보보호 기술 기반의 보안 서비스 새롭게 출현하고 있는 XML 기반 전자상거래 프레임워크인 ebXML, Web Service 기반 전자상거래 지원

전자상거래가 활성화되는 경우 발생할 수 있는 정보화의 역기능을 방지하기 위해 다음과 같은 정보 보호가 요구됨 기밀성 : 전송되는 정보의 비밀 보장 무결성 : 전송되는 정보가 변경되지 않음을 보장 인 증 : 전송자의 신문을 증명 부인방지 : 사후 자신의 행위에 대한 부인 불가 암호화 시스템 : 기밀성 보장 전자서명시스템 : 무결성, 인증, 부인방지 보장 주요 XML 기반 보안 기술 표준화 수행 XML 전자서명 XML Encryption XKMS

2. XML 전자서명 표준화 및 응용 동향

XML 전자서명 표준화 동향 XML Signatures (xmldsig) IETF Working Group http://www.ietf.org/html.charters/xmldsig-charter.html IETF와 W3C의 공동 작업으로 XML 전자서명 표준화 작업 진행 W3C http://www.w3.org/Signature/

XML 전자서명 표준화 동향 The mission of this working group 웹 자원과 프로토콜 메시지 부분(ex.http 등) 등에 대한 디지털 서명을 표현하는 XML 형식의 구문의 개발 서명의 계산/생성과 확인을 위한 절차의 개발

XML 전자서명 표준화 문서 Internet-Drafts: Exclusive XML Canonicalization, Version 1.0 Request For Comments: XML-Signature Requirements (RFC 2807) XML-Signature Syntax and Processing (RFC 3075) Canonical XML Version 1.0 (RFC 3076) XML-Signature Syntax and Processing (RFC 3275)

XML 전자서명 응용 동향 Toolkits and SDKs Baltimore Entrust/Toolkit™ ; for Java™ IAIK XML Signature Library (IXSIL) IBM XML Security Suite Infomosaic Microsoft NEC XMLDSIG Phaos RSA BSAFE Cert-J Ubisecure Verisign

XML 전자서명 구현 오픈 소스 Apache XML Security for Java, Christian Geuer-Pollmann (BSD License) GapXse for Java, University of Pisa (LGPL License) Canonical XML and Exclusive Canonical XML for Python, Joseph Reagle and Richard Salz (W3C and Python Licenses) Canonical XML for Perl, T.J. Mather (Perl License) XML Security Library, Aleksey Sanin (MIT License)

3. XML 전자서명 이해를 위한 기반 지식 참고 자료 : 전자서명 및 인증제도 ( 한국정보보호센터 )

대칭형 암호시스템 Bob Alice 대칭형 암호시스템 •특징 : 암호화키와 복호화키가 동일 공통비밀키 암호화 복호화 대칭형 암호시스템 •특징 : 암호화키와 복호화키가 동일 •장점 : 암호화 및 복호화 속도가 빠름 •단점 : 키관리의 어려움. 키분배의 문제. 다양한 응용의 어려움 •사례 : DES, FEAL 등

비대칭 암호 시스템 Alice Bob 비대칭형 암호시스템 •특징 : 복호화키(=개인키)와 암호화키(=공개키)가 다름 •장점 : 키관리가 용이. 다양한 응용이 가능. 안전성이 뛰어남 •단점 : 암호화 및 복호화 속도가 느림 •사례 : RSA 등

해쉬 함수 • 특징 : 일방향 함수 + 메시지 다이제스트(Message Digest) • 장점 : 디지털서명에서 주로 사용 문서번호 : 1 수신 : 홍길동 참조 : 제목 : ------- Dyejsmldmnf mdfnmd,sdd fnfnfnlkfekkfe ekfkjefjefelfee ---------------- 문서 Y (메시지 다이제스트) 문서 X 해쉬함수 • 특징 : 일방향 함수 + 메시지 다이제스트(Message Digest) • 장점 : 디지털서명에서 주로 사용 • 사례 : MD5, SHA 등

메시지 다이제스트 (Message Digest) 함수의 출력에 기반한 함수의 입력을 추론할 수 없음. Hash 함수에서 파일의 데이터는 단방향 Hash 함수의 입력으로 사용되어서 Hash 값을 생성함 누군가 파일을 수정하면 Hash 값이 변경 되고, 메시지 다이제스트의 수신자는 변경된 사실을 눈치채게 됨 동일한 메시지 다이제스트를 생성할 대체의 메시지를 궁리한다는 것이 어려움.

전자서명의 기능 위조불가 : 개인키를 소유하지 않은 자는 전자서명 생성 불가 변경불가 (Message Authentication) : 개인키를 소유하지 않은 자는 전자문서 변경 불가 서명자 인증 (Signer Authentication) : 생성키를 소유한 자가 전자서명의 행위자임을 인증 부인불가 : 개인키의 소유자가 전자서명후에 행위에 대한 부인 불가

전자서명 생성 과정 <전자서명 생성작업 세부 수행도> 전자서명 생성 프로그램 전자문서 해쉬함수 메시지 다이제스트 개인키 전자서명 전자서명 알고리즘(암호화) <전자서명 생성작업 세부 수행도>

전자서명 검증 과정 <전자서명 검증작업 세부 수행도> 전자서명 검증 프로그램 전자문서 해쉬함수 메시지다이제스트1 맞으면 유효 비교 전자서명 전자서명 알고리즘 (복호화) 틀리면 무효 전자서명 공개키 메시지다이제스트2 <전자서명 검증작업 세부 수행도>

전자서명 키생성 전자서명 키 생성 전자서명 개인키 전자서명 공개키 개인키(생성키)는 안전한 장치(스마트카드등)에 보관 공개키(검증키)는 공개되는 정보 개인키/공개키는 유일한 하나의 쌍 개인키/공개키는 안전한 키 생성 알고리즘을 통해 생성

4. XML 전자서명의 개요 및 생성 검증 과정

The XML Signature namespace http://www.w3.org/2000/09/xmldsig#

The XML Signature namespace and its related element http://www.w3.org/2000/09/xmldsig# <Transforms> <Signature> <SignedInfo> <SignatureMethod> <CanonicalizationMethod> <Reference> <DigestMethod> <SignatureValue> <DigestValue>

XML 전자서명 구조 <Signature> <SignedInfo> …. <SignatureValue> (<KeyInfo>)? (<Object ID?>)* </Signature>   <CanonicalizationMethod/> <SignatureMethod/> (<Reference URI? > (<Transforms>)? <DigestMethod> <DigestValue> </Reference>)+

XML 전자서명 형식 Enveloped (피포함) 형식 Enveloping (포함) 형식 Detached (분리) 형식

Enveloped 형식 서명될 data object안에 서명이 포함되어 있음. <RootNode> <Signature>..</Signature> </RootNode> 서명 대상 <RootNode> 서명 <Signature>

Enveloping 형식 예제 <rootElement><price>$12000</price> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml- c 14n-20010315"></CanonicalizationMethod> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"> </SignatureMethod> <Reference URI=""> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped- signature"></Transform> <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n- 20010315"></Transform> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"> </DigestMethod> <DigestValue>gps9eU5GIlAzw188faGc2eQ56L0=</DigestValue> </Reference> </SignedInfo> <SignatureValue>kqFSSPN3tNibQT3dYnKKR8FEE3mUf7aGo=</SignatureValue> <KeyInfo>….</KeyInfo> </Signature> </rootElement>

Enveloping 형식 서명될 data object가 서명에 포함되어 있음. <Signature> <childNode>..</childNode>  </Signature> 서명 <Signature> 서명대상 <childNode>

Enveloping 형식 예제 <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n- 20010315"></CanonicalizationMethod> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1"> </SignatureMethod> <Reference URI="#Object1"> <Transforms> <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"> </Transform> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"> </DigestMethod> <DigestValue>iUSD6LYG1b1nrUTUnBHE3iLL3LU=</DigestValue> </Reference> </SignedInfo> <SignatureValue>Ir4w44JiqvnpVxD5lQL4srJGeupypXGI4e++RL2BiLQ==</SignatureValue> <KeyInfo>….</KeyInfo> <Object Id="Object1"><list> <item>1234</item><price>$1200</price></list></Object> </Signature>

Detached 형식 서명될 data object와 서명이 분리되어 있음 <Signature> .. </Signature> 서명대상 (http://url.net) 서명 <Signature>

Detached 형식 예제 <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC- xml-c14n-20010315"> </CanonicalizationMethod> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"> </SignatureMethod> <Reference URI="http://mm.sookmyung.ac.kr/~sblim"> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"> </DigestMethod> <DigestValue>v+iN7uP9BJsZxVcaWXkSunAEepo=</DigestValue> </Reference> </SignedInfo> <SignatureValue> tpywEpNfgWQoH5NFr3wG2y5CIDrsT1KkTdcFfALWKdI8IiwwMz</SignatureValue> <KeyInfo>….</KeyInfo> </Signature>

5. XML 전자서명의 문법 및 구문 분석

<Signature> XML 전자서명의 루트원소 DTD : <!ELEMENT Signature (SignedInfo, SignatureValue, KeyInfo?, Object*) > <!ATTLIST Signature xmlns CDATA #FIXED 'http://www.w3.org/2000/09/xmldsig#' Id ID #IMPLIED >

<SignedInfo> 실제로 서명되는 정보로 검증시의 대상이 됨 검증시의 두 단계 - <SignedInfo>에 대한 서명의 검증과 <SignedInfo> 안의 각 Reference의 다이제스트에 대한 검증 DTD : <!ELEMENT SignedInfo (CanonicalizationMethod, SignatureMethod, Reference+) > <!ATTLIST SignedInfo Id ID #IMPLIED>

<CanonicalizationMethod> SignedInfo 원소를 다이제스트하기 전에 그 원소를 정규화할때 사용하는 알고리즘을 지정 정규화 알고리즘 : 문서내 주석 포함 여부에 따라 두가지로 나뉨 - With Comments : http://www.w3.org/TR/2001/REC-xml-c14n-20010315 - Omit Comments : http://www.w3.org/TR/2001/REC-xml-c14n-20010314#WithComments DTD : <!ELEMENT CanonicalizationMethod (#PCDATA %Method.ANY;)* > <!ATTLIST CanonicalizationMethod Algorithm CDATA #REQUIRED >

정규화(Canonicalization) 디지털 서명은 검증 계산이 서명 계산과 정확히 같은 비트들에 대해 수행될 경우에만 제대로 작동 서명된 데이터의 표면상의 표현이 서명과 확인 사이에서 변경 가능함 변화될 수 있는 부분을 표준화하기 위한 어떤 방법이 반드시 서명과 확인 전에 사용되어야함 EX) 서명 시점과 서명 확인 시점에서 한가지 행 종료 방법에서 다른 방법으로 변경되는 것이 가능하므로, 서명과 확인전에 행 종료를 표준형으로 정규화 할 필요 있으며, 그렇지 않으면 검증은 실패한다.

<SignatureMethod> 정규화된 <SignedInfo>를 SignatureValue로 변환할 때 사용하는 알고리즘 지정 서명 알고리즘 - DSA http://www.w3.org/2000/09/xmldsig#dsa-sha1 - RSA http://www.w3.org/2000/09/xmldsig#rsa-sha1 DTD <!ELEMENT SignatureMethod (#PCDATA|HMACOutputLength %Method.ANY;)* > <!ATTLIST SignatureMethod Algorithm CDATA #REQUIRED >

<Reference> Reference의 URI 속성은 서명될 데이터 객체를 식별 DTD : <!ELEMENT Reference (Transforms?, DigestMethod, DigestValue) > <!ATTLIST Reference Id ID #IMPLIED URI CDATA #IMPLIED Type CDATA #IMPLIED>

<Reference> URI Type Data Type Binary octets URI=“http://mm.sookmyung.ac.kr/foo.xml” URI=“http://mm.sookmyung.ac.kr/foo.pdf” URI=“file:///c:\files\foo.doc” URI=“#SomeElement” Node-set URI=“”

<Transforms> 자원의 콘텐트가 다이제스트 되기 전에 그에 적용된 처리 단계의 순서화된 목록, 정규화, 인코딩/디코딩(압축포함), XSLT, XPath(소스 문서의 일부분을 누락한 XML 문서 변환 허용) 변환 알고리즘 - Enveloped Signature http://www.w3.org/2000/09/xmldsig#enveloped-signature - XPath http://www.w3.org/TR/1999/REC-xpath-19991116 - XSLT http://www.w3.org/TR/1999/REC-xslt-19991116 DTD : <!ELEMENT Transforms (Transform+)> <!ELEMENT Transform (#PCDATA|XPath %Transform.ANY;)* > <!ATTLIST Transform Algorithm CDATA #REQUIRED > <!ELEMENT XPath (#PCDATA) >

<DigestMethod> Transforms가 적용된 이후 DigestValue를 만들어 내기 위해 데이터에 적용되는 알고리즘 다이제스트 알고리즘 SHA1 http://www.w3.org/2000/09/xmldsig#sha1 DTD : <!ELEMENT DigestMethod (#PCDATA %Method.ANY;)* > <!ATTLIST DigestMethod Algorithm CDATA #REQUIRED >

<DigestValue> 데이터객체에 Transform들을 적용한 후 결과로부터 얻은 다이제스트 값, BASE64로 인코드됨. DTD : <!ELEMENT DigestValue (#PCDATA) >

<SignatureValue> <SignedInfo>에 지정된 알고리즘에 근거하여 SignedInfo를 정규화하고 그 결과에 대해 서명된 디지털 서명의 실제 값을 가짐, BASE64로 인코드됨 DTD : <!ELEMENT SignatureValue (#PCDATA) > <!ATTLIST SignatureValue Id ID #IMPLIED>

<KeyInfo> 서명 검증에 사용될 공개키(검증키)를 포함 DTD : <!ELEMENT KeyInfo (#PCDATA|KeyName|KeyValue|RetrievalMethod| X509Data|PGPData|SPKIData|MgmtData %KeyInfo.ANY;)* > <!ATTLIST KeyInfo Id ID #IMPLIED >

<Object> 서명 원소 안이나 혹은 다른 곳의 데이터 객체를 포함시키는데 사용 DTD : <!ELEMENT Object (#PCDATA|Signature|SignatureProperties|Manifest %Object.ANY;)* > <!ATTLIST Object Id ID #IMPLIED MimeType CDATA #IMPLIED Encoding CDATA #IMPLIED >

6. XML 전자서명 생성 및 검증 과정

Core Generation - Reference 생성 과정 - Signature 생성 과정 Core Validation - Reference 검증 - Signature 검증

Core Generation 각 서명 대상 객체에 대한 Step1의 과정의 생성 규칙을 적용한 이후에 Step2의 생성 규칙을 적용시킴. Step1) Reference 생성 Step2) Signature 생성

XML 전자서명 생성 <SignedInfo> Key Canonicalizer Signature <Reference>.. </Reference> <SignatureMethod> <CanonicalizationMethod> <SignedInfo> Canonicalizer <Signature> <SignedInfo> .. </SignedInfo> <SignatureValue> </SignatureValue> </Signature> Key Signature <SignatureValue> …… </SignatureValue> XML 전자서명 생성

Reference 생성 과정 데이터 객체에 어플리케이션이 정하는 바의 Transform들을 적용 결과인 데이터 객체에 각각에 대해 다이제스트 값을 계산 데이터 객체의 식별(옵션), 모든 변환 원소(옵션), 다이제스트 알고리즘, DigestValue를 포함하는 Reference 원소를 생성

Reference 생성 과정 예제 <Reference URI=" http://mm.sookmyung.ac.kr "> <Transforms> <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"> </Transform> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"> </DigestMethod> <DigestValue>iUSD6LYG1b1nrUTUnBHE3iLL3LU=</DigestValue> </Reference>

Signature 생성 과정 <SignatureMethod>, <CanonicalizationMethod>, <Reference> 등을 갖는 <SignedInfo> 원소를 생성 2. <SignedInfo>의 <CanonicalizationMethod>에 지정된 알고리즘을 사용하여 SignedInfo를 정규화하고 그 결과에 대해 <SignatureMethod>에 지정된 알고리즘으로 서명 후 <SignatureValue>를 계산 3. <SignedInfo>, <KeyInfo>, <SignatureValue> 등을 포함하는 <Signature> 원소를 구성

Core Validation Reference 검증 - Reference로 규정되어 식별되고 변환된 콘텐트의 해쉬 값이 지정된 DigestValue와 일치하는지 검증 2. Signature 검증 - SignatureValue가 핵심 검증에 지정된 CanonicalizationMethod와 SignatureMethod를 사용하여 SignedInfo를 처리한 결과와 일치하는지 검증

XML 전자서명 검증 및 신뢰 Trust Engine XML Parser Yes/No Signature Validation Root Certificate Store <KeyInfo> .. 공개키 .. </KeyInfo> Trust Engine <Signature> .. <KeyInfo> </KeyInfo> </Signature> XML Parser Yes/No <Signature> .. </Signature> Signature Validation XML 전자서명 검증 및 신뢰

Reference 검증 <SignedInfo>에 들어 있는 <CanonicalizationMethod> 에 근거하여 SignedInfo 원소를 정규화 다이제스트될 데이터 객체를 얻음 결과 데이터 객체에 Reference에서 지정된 DigestMethod를 사용하여 다이제스트를 계산 계산된 다이제스트 값을 SignedInfo의 Reference에 들어 있는 DigestValue와 비교. 비교가 조금이라도 다르면 검증은 실패

Signature 검증 KeyInfo로부터 외부 소스로부터 키 정보를 얻는다 <CanonicalizationMethod>를 사용하여 <SignatureMathod>의 정규형을 얻고 그 결과를 사용하여 SignedInfo 원소에 대해 <SignatureValue>를 검증한다.