-
Notifications
You must be signed in to change notification settings - Fork 10
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
Enhancement: Validation of requesting host before issuing DAT #21
Comments
As it stands, the private keys behind the certificates ARE the device's ID. I think the ultimate mitigation here would be to provide incentives to not share credentials. Now for theft: The best mitigation here would be some sort of quick revocation. On a more technical level: |
To reference here an issue regarding revocation lists: Fraunhofer-AISEC/omejdn-server#48 |
Regardless of the problem, why is there a hostname specified in the x509 cert and in the DAT, if nobody would check this attribute and therefore nobody can rely on it? |
@HeinrichPet The DAPS knows that the value is valid because it has been configured as an Attribute for a specific connector (identified by its private key). The check happens before the configuration, not when retrieving a DAT, and is not performed by the DAPS |
The fact is that on many components the hostname is not valid (apart from the fact that every hostname ends with .demo) because there is currently no validation check during run time. There are many reasons for a wrong hostname: Incorrectly specified when requesting the certificate, deployment is different than originally requested, copied certificates for testing, ... |
On the other hand, you can of course also say that you don't want validation to be active in DAPS so that demo scenarios are easier to set up... Therefore it should be configurable in Connector and DAPS. |
The DAPS should not have to check the configured (!) host name at runtime. This is done already by the CA which is issuing the certificates. The public keys of those certificates are used to authenticate the clients. Yes, the configured values are not actual DNS names. But they are valid host names. |
The DAPS issues tokens for which it knows for whom it is issuing the token (e.g. referringConnector claim in DAT).
However, there seems to be no check whether the request actually came from the referringConnector /host for which the DAT is issued.
A validation would be useful, so that certificate-sharing among connectors/certificate theft can be avoided/addressed.
Alternatively, an additional DAT claim could be added into the issued DAT, which indicates whether the request to the DAPS came from the connector/host for which the DAT was actually issued according to referringConnector (true/false).
Note: beware of the ".demo"-referringConnector entries
The text was updated successfully, but these errors were encountered: