XML Encryption Syntax and Processing. Duan,Limiao 07,12,2006



Similar documents
This Working Paper provides an introduction to the web services security standards.

Web Services Security Using SOAP, WSDL and UDDI

Message Authentication Codes

Chapter 11 Security+ Guide to Network Security Fundamentals, Third Edition Basic Cryptography

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

IT Networks & Security CERT Luncheon Series: Cryptography

Safeguarding Data Using Encryption. Matthew Scholl & Andrew Regenscheid Computer Security Division, ITL, NIST

Encryption, Data Integrity, Digital Certificates, and SSL. Developed by. Jerry Scott. SSL Primer-1-1

Lecture 9: Application of Cryptography

Network Security. Security Attacks. Normal flow: Interruption: 孫 宏 民 Phone: 國 立 清 華 大 學 資 訊 工 程 系 資 訊 安 全 實 驗 室

An Introduction to Cryptography as Applied to the Smart Grid

Cryptography & Network Security

Chapter 8. Network Security

Security. Contents. S Wireless Personal, Local, Metropolitan, and Wide Area Networks 1

Encryption, Signing and Compression in Financial Web Services

How encryption works to provide confidentiality. How hashing works to provide integrity. How digital signatures work to provide authenticity and

Overview. SSL Cryptography Overview CHAPTER 1

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

CSE/EE 461 Lecture 23

Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu

Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010

SPC5-CRYP-LIB. SPC5 Software Cryptography Library. Description. Features. SHA-512 Random engine based on DRBG-AES-128

Network Security Technology Network Management

Securing Web Services with WS-Security

SubmitedBy: Name Reg No Address. Mirza Kashif Abrar T079 kasmir07 (at) student.hh.se

SMPTE Standards Transition Issues for NIST/FIPS Requirements v1.1

On Partial Encryption of RDF-Graphs

NXP & Security Innovation Encryption for ARM MCUs

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ MEng. Nguyễn CaoĐạt

Chapter 10. Network Security

OOo Digital Signatures. Malte Timmermann Technical Architect Sun Microsystems GmbH

Overview of CSS SSL. SSL Cryptography Overview CHAPTER

Secure Sockets Layer (SSL ) / Transport Layer Security (TLS) Network Security Products S31213

Technik und Informatik. SOAP Security. Prof. Dr. Eric Dubuis Berner Fachhochschule Biel. Version April 11, 2012

Network Security CS 5490/6490 Fall 2015 Lecture Notes 8/26/2015

Network Security. HIT Shimrit Tzur-David

Evaluation of the RC4 Algorithm for Data Encryption

Page 1. Session Overview: Cryptography

Cryptography & Digital Signatures

Tusker IT Department Tusker IT Architecture

Cyber Security Workshop Encryption Reference Manual

Error oracle attacks and CBC encryption. Chris Mitchell ISG, RHUL

UM0586 User manual. STM32 Cryptographic Library. Introduction

AC76/AT76 CRYPTOGRAPHY & NETWORK SECURITY DEC 2014

Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths

Chapter 23. Database Security. Security Issues. Database Security

Insight Guide. Encryption: A Guide

Message authentication and. digital signatures

TLS and SRTP for Skype Connect. Technical Datasheet

A Standards-based Approach to IP Protection for HDLs

Announcement. Final exam: Wed, June 9, 9:30-11:18 Scope: materials after RSA (but you need to know RSA) Open books, open notes. Calculators allowed.

Part I. Universität Klagenfurt - IWAS Multimedia Kommunikation (VK) M. Euchner; Mai Siemens AG 2001, ICN M NT

Principles of Network Security

How To Understand And Understand The History Of Cryptography

PGP - Pretty Good Privacy

SecureDoc Disk Encryption Cryptographic Engine

Connected from everywhere. Cryptelo completely protects your data. Data transmitted to the server. Data sharing (both files and directory structure)

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Public Key Cryptography Overview

Lecture 9 - Network Security TDTS (ht1)

Chapter 7: Network security

An Introduction to Cryptography and Digital Signatures

Chapter 6 Electronic Mail Security

Table of Contents. Bibliografische Informationen digitalisiert durch

Communication Systems SSL

NEMA Standards Publication PS 3 Supplement 41. Digital Imaging and Communications in Medicine (DICOM) Digital Signatures

Network Security (2) CPSC 441 Department of Computer Science University of Calgary

Savitribai Phule Pune University

Network Security. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross 8-1

CS 348: Computer Networks. - Security; 30 th - 31 st Oct Instructor: Sridhar Iyer IIT Bombay

Introduction to Cryptography

mod_ssl Cryptographic Techniques

How To Encrypt With A 64 Bit Block Cipher

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

Cryptography and Network Security Chapter 12

SECURITY IN NETWORKS

Information Security

Efficient Framework for Deploying Information in Cloud Virtual Datacenters with Cryptography Algorithms

As enterprises conduct more and more

CrypTool Claudia Eckert / Thorsten Clausius Bernd Esslinger / Jörg Schneider / Henrik Koy

Computer System Management: Hosting Servers, Miscellaneous

CSCE 465 Computer & Network Security

Cryptosystems. Bob wants to send a message M to Alice. Symmetric ciphers: Bob and Alice both share a secret key, K.

Network Security. Omer Rana

Authentication requirement Authentication function MAC Hash function Security of

Transport Level Security

Lectures for the course: Electronic Commerce Technology (IT 60104)

7! Cryptographic Techniques! A Brief Introduction

: Network Security. Name of Staff: Anusha Linda Kostka Department : MSc SE/CT/IT

Symmetric Mechanisms for Authentication in IDRP

Communication Systems 16 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2009

EXAM questions for the course TTM Information Security May Part 1

Chapter 17. Transport-Level Security

Programming with cryptography

SBClient SSL. Ehab AbuShmais

Lecture Objectives. Lecture 8 Mobile Networks: Security in Wireless LANs and Mobile Networks. Agenda. References

Transcription:

XML Encryption Syntax and Processing Duan,Limiao 07,12,2006

Agenda Introduction Encryption Overview and Examples - An XML Element - XML Element Content (Elements) - XML Element Content (Character Data) - Arbitary Data and XML documents Encrytion Syntax Processing Rules Algorithms - Symmetric Encryption Algorithms - Asymmetric Encryption Algorithms - Message Diges Relationship with the XML Signature

Introduction XML Encryption is an encryption technology that is optimized for XML data.its practical benefits include partial encryption, which encrypts specifc tags contained in XML data, multiple encryption, which encrypts data multiple times, and a complex encryption, such as the designation of recipients who were permitted to decrypt respective portions of data. The use of XML Encryption also helps solve security problems, including XML data eavesdropping XML Encryption was established by the W3C as formal version of W3C recommendations in Dec.2002. The W3C also established related specifications that solve problems raised when XML Encryption and XML Signature are used in combination.

XML File Credit Card data to be encrypted <?xml version='1.0'?> <PaymentInfo xmlns='http://example.org/paymentv2'> <Name>John Smith<Name/> <CreditCard Limit='5,000' Currency='USD'> <Number>4019 2445 0277 5567</Number> <Issuer>Bank of the Internet</Issuer> <Expiration>04/02</Expiration> </CreditCard> </PaymentInfo>

Encryption Examples I Scenario 1: Encrypt the entire CreditCard XML block: <?xml version='1.0'?> <PaymentInfo xmlns='http://example.org/paymentv2'> <Name>John Smith<Name/> <EncryptedData Type='http://www.w3.org/2001/04/xmlenc#Element' xmlns='http://www.w3.org/2001/04/xmlenc#'> <CipherData> <CipherValue>A23B45C56</CipherValue> </CipherData> </EncryptedData> </PaymentInfo>

Encryption Examples II Scenario 2: Encrypt only card's number, issuer, and expiration date <?xml version='1.0'?> <PaymentInfo xmlns='http://example.org/paymentv2'> <Name>John Smith<Name/> <CreditCard Limit='5,000' Currency='USD'> <EncryptedData xmlns='http://www.w3.org/2001/04/xmlenc#' Type='http://www.w3.org/2001/04/xmlenc#Content'> <CipherData> <CipherValue>A23B45C56</CipherValue> </CipherData> </EncryptedData> </CreditCard> </PaymentInfo>

Encryption Examples III Scenario 3: Encrypt only the card's Number, but indicate that the Number exists <?xml version='1.0'?> <PaymentInfo xmlns='http://example.org/paymentv2'> <Name>John Smith<Name/> <CreditCard Limit='5,000' Currency='USD'> <Number> <EncryptedData xmlns='http://www.w3.org/2001/04/xmlenc#' Type='http://www.w3.org/2001/04/xmlenc#Content'> <CipherData> <CipherValue>A23B45C56</CipherValue> </CipherData> </EncryptedData> </Number> <Issuer>Bank of the Internet</Issuer> <Expiration>04/02</Expiration> </CreditCard> </PaymentInfo>

Encryption Examples IV Scenario 4: Encrypt the whole XML documents <?xml version='1.0'?> <EncryptedData xmlns='http://www.w3.org/2001/04/xmlenc#' MimeType= text/xml'> <CipherData> <CipherValue>A23B45C56</CipherValue> </CipherData> </EncryptedData>

Encryption Syntax Structure <EncryptedData Id? Type? MimeType? Encoding?> <EncryptionMethod/>? <ds:keyinfo> <EncryptedKey>? <AgreementMethod>? <ds:keyname>? <ds:retrievalmethod>? <ds:*>? </ds:keyinfo>? <CipherData> <CipherValue>? <CipherReference URI?>? </CipherData> <EncryptionProperties>? </EncryptedData>? denotes zero or one occurence * denotes zero or more occurence Empty element tag means the element must be empty

The EncryptedData Element is the core element in the syntax. Not only it contains the encrypted data, but it s also the element that replaces the encrypted element,or serves as the new document root. EncryptionMethod: is optional, giving method of encryption, if such information is needed XML Encryption uses the <ds:keyinfo> element defined in XML Signature spec to carry the key information. (this element is not encrypted so only use it to send Public keys) The EncryptedKey Element is used to transport encryption Keys from the originator to a known recipient. CiphereData: contains the encrypted data CipherReference identifies a source which, when Processed, yields the encrypted octet sequence EncryptionProperties can contain additional information, like a date/time stamp

Processing Rules I Encryption For each data item to be encrypted as an EncryptedData or EncryptedKey, the encryptor must: 1. Select the algorithm to be used in encrypting this data. 2. Obtain and represent the key. 3. Encrypt the data 4. Build the EncryptedType (EncryptedData or EncryptedKey) structure: 5. Process EncryptedData

Processing Rules II Decryption For each EncryptedType derived element (EncryptedData or EncryptedKey), to be decrypted, the decryptor must: 1.Process the element to determine the algorithm, parameters and ds:keyinfo element to be used. If some information is omitted, the application MUST supply it. 2. Locate the data encryption key according to the ds:keyinfo element, which may contain one or more children elements. 3. Decrypt the data contained in the CipherData element. 4. Process decrypted data of Type 'element' or element 'content'. 5. Process decrypted data if Type is unspecified or is not 'element' or element 'content'.

Encryption Algorithms Overview The following algorithms are recommended : Block Encryption: TRIPLEDES. AES-128. AES-256. AES-192. Key Transport: RSA-v 1.5. RSA-OAEP. Key Agreement: Diffie-Hellman. Symmetric Key Wrap. TRIPLEDES Key Wrap. AES-128 KeyWrap. AES-256 KeyWrap. AES-192 KEyWrap. Message Digest: SHA1. SHA256. SHA512. RIPEMD-160.

Symmetric Encryption Algorithms Most common type of cryptographic algorithm (also called private key cryptography) Use a single key to encrypt and decrypt a message With symmetric encryption, algorithms are designed to decrypt the ciphertext It is essential that the key be kept confidential: if an attacker secured the key, she could decrypt any messages

Symmetric Encryption Algorithms A homoalphabetic substitution cipher maps a single plaintext character to multiple ciphertext characters A transposition cipher rearranges letters without changing them With most symmetric ciphers, the final step is to combine the cipher stream with the plaintext to create the ciphertext (continued)

Asymmetric Encryption Algorithms The primary weakness of symmetric encryption algorithm is keeping the single key secure This weakness, known as key management, poses a number of significant challenges Asymmetric encryption (or public key cryptography) uses two keys instead of one The private key typically is used to encrypt the message The public key decrypts the message

Message Digest (MD) Message digest 2 (MD2) takes plaintext of any length and creates a hash 128 bits long MD2 divides the message into 128-bit sections If the message is less than 128 bits, data known as padding is added Message digest 4 (MD4) was developed in 1990 for computers that processed 32 bits at a time Takes plaintext and creates a hash of 128 bits The plaintext message itself is padded to a length of 512 bits

Relationship with the XML Signature It is common to have encryption and signing operations to be performed many times on the same document. XML Encryption has proposed a decrypt transform mechanism for such operations. The Decryption Transform: defines a new <dcrpt:except> as a child element of the <ds:transform> element defined in the XML Signature spec. The <dcrpt:except> contains a list of URIs of all the <EncryptedData> elements that have been encrypted prior to signing. The signature validation engine makes use of this list of URIs in order to decipher which <EncryptedData> elements need to be decrypted and which are to be left for signature validation.

Reference www.w3c.org http://publib.boulder.ibm.com/infocenter/wasinfo/inde x.jsp?topic=/com.ibm.websphere.zseries.doc/info/zs eries/ae/cwbs_encrypt.html