Xml dsig 99
This presentation is the property of its rightful owner.
Sponsored Links
1 / 29

XML-DSIG’99 PowerPoint PPT Presentation


  • 62 Views
  • Uploaded on
  • Presentation posted in: General

Richard D. Brown GlobeSet, Inc. Austin TX - U.S. Proposal for XML Digital Signature. XML-DSIG’99. Motivations Objectives Specification Process Driving Requirements Syntax Proposal Conclusion. Summary. XML enables production and exchange of structured data, but this is not sufficient.

Download Presentation

XML-DSIG’99

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Xml dsig 99

Richard D. Brown

GlobeSet, Inc. Austin TX - U.S.

Proposal for XML Digital Signature

XML-DSIG’99


Summary

Motivations

Objectives

Specification Process

Driving Requirements

Syntax Proposal

Conclusion

Summary


Motivations

XML enables production and exchange of structured data, but this is not sufficient.

The usefulness of such structured data depends upon our ability to assess its origin and authenticity.

Existing binary syntaxes are not satisfactory for building authentication in XML applications.

These syntaxes tend to externalize signature from the application logic.

The lack of XML cryptography standard is a real show stopper for our industry.

Slow down development and adoption of XML applications.

Rapid proliferation of proprietary and limited solutions.

Motivations


Objectives

Define syntax and procedures for the computation, verification, and encoding of digital signatures using XML

Signing XML document and element

Using XML for signing WEB resources

Objectives


Specification process

Specification Process


Specification process1

Specification Process


Specification process2

Specification Process


Requirements

Ease signature support in XML applications and propose an XML alternative to binary syntaxes

Support for digital signatures and authentication codes

Support for certificate-based and account-based authentication schemes

Authentication of internal and external resources

Authentication of part or totality of a document

Support for composite documents

Support for extended signature functionality such as co-signature, endorsement, etc...

Requirements


Syntax basics

<Signature>

<Manifest>

(authenticated attributes)

</Manifest>

<Value>

(encoded signature value)

</Value>

</Signature>

Syntax Basics

<Certificates>

(certificate information blocks)

</Certificates>


Signature manifest

Signature Manifest

<Manifest>

(resources information block)

(other authenticated attributes)

(originator information block)

(recipient information block)

(key-agreement algorithm information block)

(signature algorithm information block)

</Manifest>


Resources

<Resources>

<Resource>

<Locator href=‘resource locator’/>

<ContentInfo type=‘type qualifier’/>

<Digest>

(encoded digest value)

</Digest>

</Resource>

</Resources>

Resources


Attributes

<Attributes>

<Attribute type=‘resource locator’

critical=‘boolean/>

(ANY attribute value)

</Attribute>

</Attributes>

Attributes


Originator and recipient

<OriginatorInfo>

(ANY identification information blocks)

(ANY keying material information block)

</OriginatorInfo>

<RecipientInfo>

(ANY identification information blocks)

(ANY keying material information block)

</RecipientInfo>

Originator and Recipient


Signature and key agreement

<KeyAgreementAlgorithm>

(algorithm information block)

</KeyAgreementAlgorithm>

<SignatureAlgorithm>

(algorithm information block)

</SignatureAlgorithm>

Signature and Key-agreement


Signature principles

Enabling signature in XML applications

Encapsulating arbitrary content

Implementing endorsement

Supporting composite documents

Enabling one-pass processing

Signature Principles


Signature in xml applications

<AppDoc xmlns:dsig=‘signature DTD URI’>

<AppElement id=‘authenticated’>

</AppElement>

<dsig:Signature>

...

<dsig:Resource>

<dsig:Locator href=‘#authenticated’/>

</dsig:Signature>

</AppDoc>

Signature in XML Applications


Encapsulating arbitrary content

<dsig:Package id=‘authenticated’>

<dsig:ContentInfo type=‘type qualifier’/>

<dsig:Value encoding=‘scheme’>

(encoded value)

</dsig:Value>

</dsig:Package>

Encapsulating Arbitrary Content


Implementing endorsement

<dsig:Signature id=‘signature’>

...

</dsig:Signature>

<dsig:Signatue id=‘counter-signature’>

...

<dsig:Resource>

<dsig:Locator href=‘#signature’/>

</dsig:Signature>

Implementing Endorsement


Supporting composite documents

<dsig:Resources id=‘shared-resources’>

...

</dsig:Resources>

<dsig:Signature>

...

<dsig:Resource>

<dsig:Locator href=‘#shared-resources’/>

...

</dsig:Signature>

<dsig:Signature>

...

<dsig:Resource>

<dsig:Locator href=‘#shared-resources’/>

...

</dsig:Signature>

Supporting Composite Documents


Enabling one pass processing

<dsig:DigestAlgorithms>

<dsig:Algorithm id=‘SHA1’ type=‘urn:nist-gov:sha1’/>

<dsig:Algorithm id=‘MD5’ type=‘urn:rsasdi-com:md5’/>

</dsig:DigestAlgorithms>

<AppElement id=‘authenticated’ dsig:eval=‘SHA1 MD5’>

</AppElement>

<dsig:Signature>

...

<dsig:Resource>

<dsig:Locator href=‘#authenticated’/>

<dsig:Digest>

<dsig:Algorithm type=‘urn:nist-gov:sha1’/>

...

</dsig:Signature>

Enabling One-Pass Processing


Algorithms

Element Definition

Supported Algorithms

Algorithms


Algorithm element

Algorithm Element

<!ELEMENT Algorithm (Parameter*)>

<!ATTLIST Algorithm

id ID #IMPLIED

type CDATA #REQUIRED

>

<!ELEMENT Parameter ANY>

<!ATTLIST Parameter

type CDATA #REQUIRED

>


Algorithm element1

Algorithm Element

<dsig:Algorithm id=‘DSA-XHASH-SHA1’

type=‘urn:nist-gov:dsa’>

<dsig:Parameter type=‘digest-algorithm’>

<dsig:Algorithm type=‘urn:globeset-com:xhash’>

<dsig:Parameter type=‘digest-algorithm’>

<dsig:Algorithm type=‘urn:nist-gov:SHA1’/>

</dsig:Parameter>

</dsig:Parameter>

</dsig:Algorithm>

<dsig:Algorithm id=‘DSA-XHASH-SHA1’

type=‘urn:xmldsig:dsa-xhash-sha1’/>


Supported algorithms

Supported Algorithms

  • Digest Algorithms

  • Key-agreement Algorithms

  • Key-exchange Algorithms

  • Signature Algorithms


Digest algorithms

Digest Algorithms

  • Surface String Digest Algorithms

    • NIST SHA1

  • Canonical Digest Algorithms

    • IBM DOM-HASH

    • GlobeSet XHASH


Key agreement algorithms

Key-agreement Algorithms

  • RSA Laboratories PKCS12 PBE


Key exchange algorithms

Key-exchange Algorithms

  • Static Diffie Hellman


Signature algorithms

Signature Algorithms

  • Authentication Codes

    • IETF HMAC

  • Public-key Signature Algorithms

    • NIST DSA

    • RSA Labs RSA Encryption T1

    • ? ECDSA


Conclusion

Conclusion

  • Current Proposal

    • A good start

    • Enter phase 3

  • Next

    • First Implementations

    • Standard Body

    • Formalization


  • Login