Title: XML, Extensible Security Markups
1XML, Extensible Security Markups
- Hilarie Orman
- PurpleStreak Development
SOAP and Security
Tolga Acar Novell, Inc.
2XML, Extensible Markup and Much More
- Like HTML, a tagged data language
- ltNAMEgtHilarie Ormanlt/NAMEgt
- Strictly parsed into a tree
- Brought to you by the W3C
- Widely used for database/Web page interactions
- Extensibility means it can do just about anything
- Including digital signatures, encryption, etc.
3XML Security Overview
- Any part of an XML document can be signed with
a digital signature - Any part can be encrypted
- All the information that a recipient (or third
party) needs is encoded in XML
4XML Extra Massive Luggage
- A set of inter-related documents
- XML Documents
- Data types DTDs and Schema
- Xpath, a language for XML trees
- Xpointers, for referencing XML parts
- Transformations XSLT and XSL CSS
- and XML security schema
5XML and Security in the News(Infoworld, Oct. 14)
Addressing corporate security concerns, Kontiki
this week announced the integration of its DMS
with VeriSign's new Access Management System for
user authentication, authorization, and
management. Achieved through an XML network
connector coupled with Web services standards
including SOAP, the integration provides
encryption for digital video and documents after
they arrive on a PC desktop.
6Academics Notice XML
- Journal of the ACM (a small computer
professionals society) - May 20002
- On XML Integrity Constraints in the Presence of
DTDs - W. Fan and L. Libkin
- Factoid there are DTDs for which there is no
finite XML document instance
7Understanding XML Mechanisms
- Three interrelated topics
- XML representation
- Representing signatures, keys, the crypto
methods, etc. - XML document structure
- and
- What XML security accomplishes
- Well proceed in reverse order
8Encryption, the Confidentiality Mechanism
- Key encrypts data, produces random-looking data -
ciphertext - Unique key decrypts ciphertext, produces data
This is data which must be kept from prying eyes
7aY28afWeoH7YHJ87 98UJJH3TYGjhhgu6 76ytGby6tLfT56r
ed1er
Algorithm and key
Inverse algorithm and key
9Authentication, Signatures
- Data may not be secret, but the sender is very
important
This is data which is important only if it comes
from someone who is important Signature of I.M.
Important is 9sad082fcBEs3re0dHf
This is data which is important only if it comes
from someone who is important
Algorithm and public key
10Usage Example
Description of services, amount due, data
Signed by J. Contractor Payment
authorization Check signed by
CFO signed by J. Contractor
Bank Account No Pay to J. Contractor Amount
Signed by Treasurer
11Related Standards
- S/MIME. Secure message formats
- Very similar to XML security, but not extensible,
less flexible - SSL, TLS protocols
- These dont have digital signatures
- Data protection is only during transit
- XML documents can be stored, processed later
12Signatures and Hashes
- A document can be very long
- Public key algorithms take a long time to encrypt
one block of data - 1K bits, about 1 millisecond
- Reduce document to a single block using a one-way
hash function - Sign the hash
- Its easy to verify that binary string
Hash(doc)
13What Does an XML Sig Sign?
- A Signature Value is the result of applying the
Signature Method to the SignedInfo data item - The SignedInfo contains one or more References
- A Reference tells you how to find the stuff to
sign and what its DigestValue is - If the DigestValue doesnt match the data, the
signature doesnt mean anything!
14XML Security Syntax
- http//www.w3.org/TR/2002/REC-xmldsig-core-2002021
2/xmldsig-core-schema.xsd - Namespace www.w3.org/2001/09/xmldsig
- Signature contains this stuff
- Signed Info
- Canonicalization Method, Signature Method,
References - Signature Value (base64binary)
- Key Info (optional)
- Name, value, retrieval method, X509Data, etc.
- Object (optional)
- ID, Mime type, Data
15Sign Anything, Here or There
XML Document
XML Signature
Signed Info
Reference
16Processing Flow For a Reference
XML Document
Integer Value
17A Reference
ltReference URIgt
URI can be to the whole document, a pointer to an
ID, a URL, or omitted!
lttransformsgt lttransform Algorithmbase64gt
ltDigestMethod AlgorithmMD5gt
ltDigestValuegt H7s2L9FF3x71mO87ZaIw3 lt/DigestValuegt
18Selecting Parts, XPath
- NB, its optional
- A regular expression language for trees
- Lets you select a set of node by reference and
refer to them as a single object - Ancestor relations
- Predicates
- String matching (all nodes with ID beginning with
mydigitalsignature)
19The Manifest (optional feature)
- Like a table of contents for SignedInfo
- There are no Objects, only References
- References include digests (one-way hashes)
- By signing the manifest you sign the digests of
the References - If the digests dont match the data, application
can decide to selectively reject items
20Namespaces
- A namespace disambiguiates label names
- telephone_number might be in many schema
- somenamespacetelephone_number helps with parsing
- namespace declarations in XML docs establish
nested scopes - should a signature include all the namespace
scopes above it?
21CanonicalizationA Pitfall for XML
- Serialize and Encode the Data
- Its why MIME uses BASE64
- protects the data from other protocols
- removes ambiguities about end of line, tab, etc.
- XML has two special case complications
- namespaces, to include or not to include?
- Schema can change lexigraphic properties
- String termination, tag delimiters
- Must have full parse tree and node delimiters!
22Key ManagementA Mans Reach Must Exceed His
Grasp
- Slow road to standardization, XKMS
- Key retrieval, key information, signature
validation, key registration - XML encoding, query/response protocol uses SOAP
- X-KISS, the information service
- hides X.509v3 complexity, bridges directory
services, handles revocation, understands trust
chains - X-KRSS, the key registration service
- for storing new keys and their information
23Other Topics
- ETSI, Advanced XML Signatures
- Encryption and Algorithm Details
- Access Control, P3P Privacy, Digital Rights
Management - Applications (e.g., SOAP)
- SDKs
- RSA, Inc. (?), Dot-Net
- Books
- XML Security (RSA), Secure XML (Eastlake
Niles), Advanced SOAP for Web Development
(Livingston)
24Conclusion
- XML, a rich set of tools
- (Maybe too rich)
- Security for XML documents can be defined using
XML - Can protect documents in transit or in storage
- Reusable
- On to SOAP, an XML application