View Issue Details

IDProjectCategoryView StatusLast Update
000945010000-004: ServicesSpecpublic2024-06-13 14:33
ReporterMaximilian Assigned ToRandy Armstrong  
PrioritynormalSeveritytweakReproducibilityalways
Status closedResolutionreopened 
Product Version1.05.03 
Fixed in Version1.05.04 RC1 
Summary0009450: Missing information for key Generation for RsaEncryptedSecret in Part 4
Description

Section 7.41 of Part 4 lacks some information how the keys of the KeyData for the RsaEncryptedSecret should be generated.
We assume that the same methods and algorithms used for the SecureChannel key generation shown in Part 6 6.7.5 Deriving keys should be applied.
The spec provides just these incomprehensible sentence: "The KeyData is used to create the keys used needed for the symmetric encryption."
If yes, which initial values (Nonces) should be used? Secret should be a sender nonce (for UserIdentityToken), and Seed a nonce provided by the client?

A clarification at this point would be helpful

TagsNo tags attached.
Commit Version1.05.04 RC
Fix Due Date

Relationships

related to 0009490 assignedRandy Armstrong Padding in EncryptedSecret Format 

Activities

Matthias Damm

2024-03-19 14:05

developer   ~0020935

This is an additional comment/question from Frederik:

Assuming Key Derivation used to acquire the KeyData is the same as used for the SecureChannel:
The specification gives no information on the secret/nonces used for the key derivation. I see two options.

  1. The client/server nonces are used like in OpenSecureChannel
    handshake. This would require the handshake to be signed/encrypted
    and there would not be any need to transmit the KeyData in the
    actual EncryptedSecet. In this case
  2. The application creating the secret generates the KeyData from
    random data which is only known to the application itself.
    However in this case the signature which is computed over the
    secret proves at best integrity but not authenticity, because
    the receiving application has no prior knowledge about the
    signing key.

Randy Armstrong

2024-03-19 17:48

administrator   ~0020943

Change "The KeyData is encrypted with the PublicKey associated with the Certificate."

"The KeyData is encrypted with the PublicKey associated with the Certificate. The SigningKey, EncryptingKey and Initialization Vectors" are cryptographically generated random numbers with the length required by the SecurityPolicy.

Matthias Damm

2024-03-19 21:55

developer   ~0020950

7.41.2.3 EncryptedSecret Format
Changed to
The KeyData provides the keys needed for symmetric encryption.

7.41.2.4 RsaEncryptedSecret DataType
Table 189 – RsaEncryptedSecret structure
KeyData

Added:
The SigningKey, EncryptingKey and InitializationVector are cryptographically generated random numbers of the length required by the SecurityPolicy.

Jim Luth

2024-03-19 21:55

administrator   ~0020951

Agreed to changes edited in Dallas F2F.

Matthias Damm

2024-03-21 23:36

developer   ~0021007

Received more feedback:

"The KeyData is encrypted with the PublicKey associated with the Certificate. The SigningKey, EncryptingKey and Initialization Vectors are cryptographically generated random numbers with the length required by the SecurityPolicy."

This is probably good and necessary clarification, but only states the rather obvious. It should be clearly defined what party should generate the KeyData.
I assume this is done by the application creating the EncryptedSecret.
In this case the purpose of the signature should be clearly defined.
E.g proofing integrity and not authenticity.

Matthias Damm

2024-06-12 19:25

developer   ~0021339

Table 187 – EncryptedSecret layout
KeyData
Updated description to:
The key data used to create the keys needed for decrypting and verifying the payload using the SymmetricEncryptionAlgorithm specified by the SecurityPolicyUri. Each EncryptedSecret DataType describes how the key data is structured for different SecurityPolicies.

Table 189 – RsaEncryptedSecret structure
KeyData
Updated description to:
The KeyData is encrypted with the PublicKey associated with the consumer’s Certificate. The creator of the EncryptedSecret generates the SigningKey, EncryptingKey and InitializationVector using a cryptographic random number generator with the lengths required by the SecurityPolicy.

Signature
Updated description to:
The Signature calculated with the SigningKey using the SymmetricEncryptionAlgorithm from the SecurityPolicy.
The Signature calculated is calculated after encrypting the KeyData and the payload.
The Signature can only be checked after the KeyData is decrypted. It allows the receiver to verify that the message has not beem tampered with. It does not provide any information about who created the EncryptedSecret.

Jim Luth

2024-06-13 14:33

administrator   ~0021347

Agreed to changes edited in Virtual F2F.

Issue History

Date Modified Username Field Change
2024-03-04 11:01 Maximilian New Issue
2024-03-19 14:05 Matthias Damm Note Added: 0020935
2024-03-19 17:43 Matthias Damm Assigned To => Matthias Damm
2024-03-19 17:43 Matthias Damm Status new => assigned
2024-03-19 17:48 Randy Armstrong Note Added: 0020943
2024-03-19 21:55 Matthias Damm Status assigned => resolved
2024-03-19 21:55 Matthias Damm Resolution open => fixed
2024-03-19 21:55 Matthias Damm Fixed in Version => 1.05.04 RC1
2024-03-19 21:55 Matthias Damm Note Added: 0020950
2024-03-19 21:55 Jim Luth Status resolved => closed
2024-03-19 21:55 Jim Luth Commit Version => 1.05.04 RC
2024-03-19 21:55 Jim Luth Note Added: 0020951
2024-03-21 23:36 Matthias Damm Status closed => feedback
2024-03-21 23:36 Matthias Damm Resolution fixed => reopened
2024-03-21 23:36 Matthias Damm Note Added: 0021007
2024-03-21 23:36 Matthias Damm Relationship added related to 0009490
2024-04-09 16:09 Jim Luth Assigned To Matthias Damm => Randy Armstrong
2024-04-09 16:10 Jim Luth Status feedback => assigned
2024-06-12 19:25 Matthias Damm Status assigned => resolved
2024-06-12 19:25 Matthias Damm Note Added: 0021339
2024-06-13 14:33 Jim Luth Status resolved => closed
2024-06-13 14:33 Jim Luth Note Added: 0021347