-
Notifications
You must be signed in to change notification settings - Fork 118
Cloud Recording Encryption: Provide AdditionalInfo configuration #625
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: development
Are you sure you want to change the base?
Conversation
Co-authored-by: Sriram Bhetanabottla <sriram.bhetanabottla@axis.com>
Co-authored-by: Sriram Bhetanabottla <sriram.bhetanabottla@axis.com>
kieran242
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jmelancongen Well thought out sir. I am happy to approve understanding the context from #545.
|
@jmelancongen , Is this vulnerability only relevant when the same key is used across an entire organization, requiring permissions to be managed via the Info field? If we instead assign distinct certificates to user groups within the organization, would that mitigate the issue? |
|
As soon as a public key is used with more than one device. The only mitigation (without this PR) would be to set a distinct keypair for each and every device in the system, which will make management and rotation of these quite painful in large deployments. This proposal resolves this problem using the mechanism that are designed specifically for this purpose |
As discussed during the last telco, we've identified a potential vulnerability in the current proposal at #545 that can happen under these conditions:
Under these conditions, if the threat actor retrieves encrypted files from other devices, it could request decryption of their PSSH boxes to the key server by claiming these are from Camera X.
The core of the issue is that the Key Server only has the PSSH box as context for its operations. Any other information (url, query parameters, etc) are under the control of the threat actor and cannot be trusted.
The solution to this is the use of the
Infofield of HPKE, which allows additional data to be used to authenticate the encrypted payload. The Key Server can then know the structure of that field, and perform validations on it, knowing that if the field was tampered, decryption will fail. The field value is provided by the client at configuration time.