Security/baseline clarifications#779
Conversation
| <para>The content of this document is based on state-of-the-art technology as published by the American institute NIST and the German department BSI. | ||
| Note that any updates to this specification require a review of implications on technical, profile, and addon specifications. | ||
| Publication of updates must be synchronized with ONVIF Technical and Technical Service Committee.</para> | ||
| <para>The <literal>Baseline requirement</literal> column in each table reflects the global minimum for all ONVIF implementations, independent of any specific profile or add-on. |
There was a problem hiding this comment.
The Baseline requirement column in each table reflects the global minimum for all ONVIF implementations, independent of any specific profile or add-on.
Does this means that last version will be required for all Devices independently on supported Profiles and Add-ons? It is not what was discussed before, but this is how it is sounds like.
There was a problem hiding this comment.
We want to see this like a Pyramid of requirements
- Profiles
- Add-on
- Service sepcs
- Baseline
- Service sepcs
- Add-on
If baseline makes ALL mandatory, then we lose the flexibility and by default all the others up in the chain are forced to be mandatory.
Hence, we have chosen to mark as mandatory and optional so that, it will leave the flexibility for Profiles or Add-on to enforce additional requirements, if needed.
There was a problem hiding this comment.
No, I'm about the versioning question.
The sentence sounds as absolute requirement for all devices. So even if Device have Add-on which linked to version X of Security Baseline, the latest to be supported by Device in addition to X in any case.
I'm will be happy with this approach, but I want to make sure that this is true.
There was a problem hiding this comment.
Also does it make sense to include Optional requirements here? If them will be added to Add-on only, it will not change the picture. From other point any addition of optional entry will change Baseline version and will require Add-on update (unless the latest one is required for all devices).
There was a problem hiding this comment.
If optional requirement do not have a place here, should they be in layers above like add-on or profile? if they are optional in docs in higher requirement ladder, how will anyone know they should implement them? Do we even add tests for any optional features if listed in add-on or profile? If so why are we doing that?
On the other hand, If they are optional here, there is a scope for us to tighten requirements in add-on or profile so that conformance tests can be added, unless I am missing something here?
| <entry><para>384 Bit</para></entry> | ||
| <entry><para>2.16.840.1.101.3.4.2.2</para></entry> | ||
| <entry><para>FIPS 180-4</para></entry> | ||
| <entry><para>Optional</para></entry> |
There was a problem hiding this comment.
It is not how I interpret the tables before. I thought all is mandatory. So I think tests are not fully valid.
There was a problem hiding this comment.
previously some are marked baseline and not much clarified for other and we made it more clear, we have not changed any requirement as much as I understand.
There was a problem hiding this comment.
I have wrong interpretation of this then.
| <entry><para>1.2.840.113549.1.1.1</para></entry> | ||
| <entry><para>RFC 8017</para></entry> | ||
| <entry><para>Optional</para></entry> | ||
| </row> |
There was a problem hiding this comment.
For RSA 4096 Bit there was mark before "Public key usage". The interpretation was that device shall accepts certificates with such public key as a requirement, but private keys may not be supported.
This was done to have possibility to work with common certificates for validation purposes.
Was this removed intentionally.
There was a problem hiding this comment.
'public key usage' is not a requirement level but some kind of 'usage clarification' which makes it hard and inconsistent to read the document between usage vs requirement level.
There was a problem hiding this comment.
So currently Device may reject certificates with such keys?
There was a problem hiding this comment.
If this is needed, we should change the 'baseline' to 4096? Or keep the baseline as-is and add this requirement into Profile-v-security-add-on!
| <entry><para>1.2.840.113549.1.1.10</para></entry> | ||
| <entry><para>RFC 8017</para></entry> | ||
| <entry><para>Required</para></entry> | ||
| </row> |
There was a problem hiding this comment.
We added a link to hashes table
The applicable hash algorithms are defined in Table 'Hash functions and algorithm OIDs'.
There was a problem hiding this comment.
Previously it was no directly mandated, but by current clarification all devices shall support both RSA and ECC. Is my understanding valid? So if only one is supported (ECC for example) Device shall fail conformance.
There was a problem hiding this comment.
Probably it was the same. But my previous understanding was:
If ECC is supported by device, secp256r1/secp386r1 is required.
If RSA is supported by device, 3072/4096 is required.
But I in general already got the idea that my interpretation was wrong.
So the question is: shall all devices support both ECC/RSA? Is this intentional?
There was a problem hiding this comment.
Profile-V add-on already mandates creation of RSA and ECC for devices while either one is expected from clients for configuration. So we have not changed anything from before.. but lets iron this once for all in Budapest! If we are talking about the sizes, then if we have anything beyond baseline, we can write those 'overriding' requirements into add-on.
If ECC is supported by device, secp256r1/secp386r1 is required.
If RSA is supported by device, 3072/4096 is required.
If this is really the case, the word 'baseline' should have been added to both and I would have translated the same into 'required' for both of them, keeping baseline on one and adding 'usage' on the other makes it really hard and we expect people to guess may be.. which is our whole attempt to fix..
There was a problem hiding this comment.
Removed requirement baseline
There was a problem hiding this comment.
DTT and CCTT currently implements a bit different requirements. So implementation to be adjusted and it is RC phase, so the plan to be discussed.
|
Attached is the semantic diff of the changes made, As you can see most of the changes are structural and/or meld of tables. |
Remove restriction for media signing to elliptic curves. Co-authored-by: Sriram Bhetanabottla <[email protected]>



Security Baseline Clarifications and Structural Improvements
This PR refactors the ONVIF Security Baseline specification to improve structural clarity, technical accuracy, normative completeness, and readability. No baseline requirements have been removed or weakened — all changes are clarifications, reorganisations, or additive.
Asymmetric Encryption Schemes and Key Agreement→Public Key Cryptography;Key Derivation→Key Derivation Functionsunder newKey Managementparent;JWT→Authentication and Authorization(§ JSON Web Token);Definitions→Terms and DefinitionsJWT,Key Derivationexcludes protection context)morerowsspanning for RSA PKCS#1 v1.5 (3 hash variants) and ECDSA (3 hash variants)Baseline requirementcolumnCommentvalues such as"RSA Baseline","EC Baseline","for passwords"with explicitRequired/Optional"Public key usage"toOptionalAlgorithm,Key Length,OID,Reference,Usage,Baseline requirement); added NIST AES OIDs for AES-GCM (2.16.840.1.101.3.4.1.6) and AES-128-CBC (2.16.840.1.101.3.4.1.2); AES-CTR marked—(no assigned OID)Commentcolumn mixed references and descriptions informallycertTable(Private Key Protection) tosymTable(Symmetric Encryption); Private Key Protection section now cross-referencessymTableandkeyTableRFC 7519→RFC 7518RS256/ES256algorithm identifiers are defined in RFC 7518 (JSON Web Algorithms)Public Key CryptographydefinitionRSA PKCS1 v1_5→RSA PKCS#1 v1.5#and.are part of the standard designation"IANA Registry"→"IANA Identifier";"Reference"→"Algorithm""state of the art"→"state-of-the-art";"Note, that"→"Note that";"common practise"→"common practice";"This Annex is advocating"→"This annex presents"; definition wording improved for Asymmetric Encryption, Hash, and Signature