View Issue Details

IDProjectCategoryView StatusLast Update
000786510000-014: PubSubSpecpublic2022-06-23 12:23
ReporterZbynek Zahradnik Assigned ToMatthias Damm  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version1.05.03 
Fixed in Version1.05.02 RC1 
Summary0007865: UADP "Security enabled" bit not well defined
Description

In UADP Network message, ExtendedFlags1 description contains:
"Bit 4: Security enabled
If the SecurityMode is SIGN_1 or SIGNANDENCRYPT_2, this flag is set, message security is enabled and the SecurityHeader is contained in the NetworkMessage header.
If this flag is not set, the SecurityHeader is omitted."

I have interpreted this, and I have met other developers who interpreted this, like that this bit is 0 when security is not used, and also vice versa: When security is not used, this bit is 0.
According to Matthias Damm, however, it is possible (and even envisioned) to set this bit to 1 and still use no security - because it is then possible to set bits 0 and 1 (for signing and encryption) in SecurityHeader.SecurityFlags to 0. Specifically, Matthias says that this is what the intent was for UADP security probes/announcements, which always have "Security enabled" set. According to Matthias, the intent was that the actual security will or will not be enabled with these discovery messages, but the bit will always be set.

There are problems with this interpretation and the current text, though:
1) The bit is called "Security enabled", not "Security header enabled".
2) The sentence "If the SecurityMode is SIGN_1 or SIGNANDENCRYPT_2, this flag is set, message security is enabled and the SecurityHeader is contained in the NetworkMessage header." states what is more or less obvious, but there is no sentence that would cover the case when this bit is 1, but no security is used, which is far less obvious.
3) If this bit is set and neither signing nor encrypting is used, what should be in SecurityHeader.SecurityTokenId? What should be in SecurityHeader.NonceLength and MessageNonce?

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

Matthias Damm

2022-06-22 13:27

developer   ~0016985

Made the proposed changes

ExtendedFlags1
Bit 4: Security header enabled
If this flag is enabled, the SecurityHeader is contained in the NetworkMessage header, otherwise it is omitted.
If the SecurityMode in the configuration is SIGN or SIGNANDENCRYPT, this flag shall be set.

SecurityHeader.SecurityTokenId
Added
If bit 1 and 2 of the SecurityFlags are false, the SecurityTokenId shall be 0.

SecurityHeader.NonceLength
Added
If bit 1 and 2 of the SecurityFlags are false, the NonceLength shall be 0.

Jim Luth

2022-06-23 12:23

administrator   ~0017025

Agreed to changes edited in Munich F2F.

Issue History

Date Modified Username Field Change
2022-03-15 16:20 Zbynek Zahradnik New Issue
2022-06-21 16:36 Matthias Damm Assigned To => Matthias Damm
2022-06-21 16:36 Matthias Damm Status new => assigned
2022-06-22 13:27 Matthias Damm Status assigned => resolved
2022-06-22 13:27 Matthias Damm Resolution open => fixed
2022-06-22 13:27 Matthias Damm Fixed in Version => 1.05.02 RC1
2022-06-22 13:27 Matthias Damm Note Added: 0016985
2022-06-23 12:23 Jim Luth Status resolved => closed
2022-06-23 12:23 Jim Luth Note Added: 0017025