IP Library Granted Patent US 8,341,416
Granted Patent B2
US 8,341,416 · App. 12/301,788 · Granted Dec 25, 2012

Assertion message signatures

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,341,416
App. No.
12/301,788
Granted
Dec 25, 2012
Kind
B2
Abstract

The invention relates to a method for providing an assertion message ( 200 ) from a proving party ( 20 ) to a relying party ( 40 ), the method comprising the steps of: —creating an assertion (A) comprising one or more statements, —creating an assertion proof (p A), —creating a temporary private key and a corresponding temporary public key (K) from the assertion (A) and the assertion proof (p A), —creating a key proof (PK) for the temporary public key (K), —creating an assertion message signature (S) by means of the temporary private key, —creating the assertion message ( 200 ) comprising the temporary public key (K), the assertion proof (PA), the key proof (PK), the assertion (A), a message body ( 220 ) and the assertion message signature (S) to the relying party ( 40 ).

Claims (62)

1. A method for a computer having at least one processor for providing an assertion message from a proving party to a relying party, the method comprising the steps of:

creating an assertion (A) comprising one or more statements,

creating an assertion proof (PA),

creating a temporary private key and a corresponding temporary public key (K) from the assertion (A) and the assertion proof (PA),

creating a key proof (PK) for the temporary public key (K),

creating an assertion message signature (S) by means of the temporary private key, and

creating the assertion message comprising the temporary public key (K), the assertion proof (PA), the key proof (PK), the assertion (A), a message body and the assertion message signature (S),

wherein at least one of the steps is carried out by a processor,

wherein the temporary private key, the temporary public key (K) and the key proof (PK) are created by means of a secure binding function comprising a verifiable random function.

2. Method according to claim 1 , wherein the step of creating the assertion message signature (S) comprises the sub-steps of

creating an assertion message digest of one or more parts of the assertion message,

creating the assertion message signature (S) from the assertion message digest by means of the temporary private key.

3. Method according to claim 1 , wherein the assertion message signature (S) is an enveloped signature.

4. Method according to claim 1 , wherein at least one of the assertion proof (p A ) and the key proof (p K ) is one of a zero knowledge proof and a minimum disclosure proof.

5. Method according to claim 1 , wherein at least one of the assertion proof (p A ) and the key proof (p K ) is a non-interactive proof.

6. Method according to claim 1 , wherein the temporary public key (K) and the temporary private key are a Digital Signature Algorithm (DSA) key pair.

7. Method according to claim 1 , wherein the assertion message signature (S) is a signature according to the Extended Markup Language Digital Signature (XML-DSIG) standard.

8. Method according to claim 1 , wherein the verifiable random function is the function as proposed by Dodis and Yampolsky.

9. Method according to claim 1 , wherein the assertion proof (p A ) is derived from one or more private certificates of the proving party.

10. Method according to claim 1 , wherein the method is performed in a Federated Identity Management (FIM) system, in particular in a WS-Federation system.

11. A method for a computing device having at least one processor evaluating an assertion message, the assertion message comprising an assertion (A) with one or more statements, an assertion proof (PA) for the assertion (A), a temporary public key (K) created from the assertion (A) and the assertion proof (PA), a key proof (PK) for the temporary public key (K), a message body and an assertion message signature (S), the method comprising the steps of:

checking the temporary public key (K) by means of the key proof (PK),

checking the assertion (A) by means of the assertion proof (PA),

checking the assertion message signature (S) by means of the temporary public key (K), and

evaluating the assertion message as valid if the result of the check of the assertion message signature (S), the temporary public key (K) and the assertion (A) is positive,

wherein at least one of the steps is carried out by a processor,

wherein the temporary private key, the temporary public key (K) and the key proof (PK) are created by means of a secure binding function comprising a verifiable random function.

12. A transmitting entity comprising a computing device having at least one processor for transmitting an assertion message from a proving party to a relying party, the transmitting entity comprising:

a processor for:

creating an assertion (A) comprising one or more statements,

creating an assertion proof (PA),

creating a temporary private key and a corresponding temporary public key (K) from the assertion (A) and the assertion proof (PA),

creating a key proof (PK) for the temporary public key (K), and

creating an assertion message signature (S) by means of the temporary private key, and

a transmitting component for:

sending the assertion message comprising the temporary public key (K), the assertion proof (PA), the key proof (PK), the assertion (A), a message body and the assertion message signature (S) to the relying party,

wherein the temporary private key, the temporary public key (K) and the key proof (PK) are created by means of a secure binding function comprising a verifiable random function.

13. A receiving entity for receiving an assertion message from a proving party, the assertion message comprising an assertion (A) with one or more statements, an assertion proof (PA) for the assertion (A), a temporary public key (K) created from the assertion (A) and the assertion proof (PA), a key proof (PK) for the temporary public key (K), a message body and an assertion message signature (S), the receiving entity comprising:

a receiving component for receiving the assertion message and for providing the assertion message to a processor for processing; and

a processor for:

checking the temporary public key (K) by means of the key proof (PK),

checking the assertion (A) by means of the assertion proof (PA),

checking the assertion message signature (S) by means of the temporary public key (K), and

evaluating the assertion message as valid if the result of the check of the assertion message signature (S), the temporary public key (K) and the assertion (A) is positive,

wherein the temporary private key, the temporary public key (K) and the key proof (PK) are created by means of a secure binding function comprising a verifiable random function.

14. A system, comprising a transmitting entity comprising a computing device having at least one processor for transmitting an assertion message from a proving party to a relying party, the transmitting entity comprising:

a processor for:

creating an assertion (A) comprising one or more statements,

creating an assertion proof (PA),

creating a temporary private key and a corresponding temporary public key (K) from the assertion (A) and the assertion proof (PA),

creating a key proof (PK) for the temporary public key (K), and

creating an assertion message signature (S) by means of the temporary private key, and

a transmitting component for:

sending the assertion message comprising the temporary public key (K), the assertion proof (PA), the key proof (PK), the assertion (A), a message body and the assertion message signature (S) to the relying party; and

a receiving entity for receiving the assertion message from the proving party, comprising:

a receiving component for receiving the assertion message and for providing the assertion message to a processor for processing; and

a processor for:

checking the temporary public key (K) by means of the key proof (PK),

checking the assertion (A) by means of the assertion proof (PA),

checking the assertion message signature (S) by means of the temporary public key (K), and

evaluating the assertion message as valid if the result of the check of the assertion message signature (S), the temporary public key (K) and the assertion (A) is positive,

wherein the temporary private key, the temporary public key (K) and the key proof (PK) are created by means of a secure binding function comprising a verifiable random function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2010
From: CAMENISCH, JAN LEONHARD; GROSS, THOMAS R.; SOMMER, DIETER M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 024752/0198 →
Priority Claims (1)
EP 06010468 · May 21, 2006 · regional
Continuity (1)
Related Publication 20110013771A1 · Jan 20, 2011