-
Notifications
You must be signed in to change notification settings - Fork 18
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
The with_server_certificate_hashes
on the *client* should not be under a feature flag
#168
Comments
As said in the past, It simply implies the authentication mechanism is different than the "standard de-facto" PKI. The It should more more like: Being a non standard mechanism (like everything the goodness depends how one uses it), we cannot be completely sure about all implications for all use cases around the world. And concerning security better to be conservative. Concerning the feature That was more a technical choice due to the fact the implementation requires cryptographic functionalities and thus, I am going to see to remove |
It is a standard mechanism, by the definition of a standard as being a part of an standards specification, which the very spec you referenced is. So I disagree with the non-standard argument to begin with. Unusual? For the current status quo of the web certificate validation - probably yes. Actually, very much so. Dangerous? Well, dangerous things usually don't end up as web standards. The very discussion you referenced is resolved with a pretty minor corrections to the standard, that are merely clarifications to the security algorithm. In fact, it would be great if you read through the said thread, because they discuss the notion of this mode of operation being dangerous pretty extensively.
We don't have to - if this verifier is supposed to work like the WebTransport spec describes - then just implement what the spec requires and let the spec worry about all those use cases in the wild. This is what web browsers will do. If your concern is an uncertainty with your particular implementation of the verifier, I would expect a different - The reason To sum up - this is fine, and enabling a feature is annoying. This is supposed to be a part of the API. A more important concern is this though:
(from https://w3c.github.io/webtransport/#certificate-hashes) So far, I'd argue that, if anything, And maybe some sort of support for providing a new certificate / keypair. I use my https://github.com/MOZGIII/rustls-cert-utils for a lot of servers that are powered by |
I am not sure we can consider WebTransport or W3C spec a "standard" at the moment, do we? I was tempted to consider those as drafts, pretty new, pretty in evolution. Anyway, nobody said Actually, I though to have been quite clear on that point, quoting myself:
Thus I agree, the naming of the feature Nevertheless, I was tempted to say that users should be aware of the usage of an authentication mechanism that can have potentially an impact on their system security as:
A feature flag (with a better name perhaps) might give more visibility on those criticality, but I don't have a strong opinion on that.
This is instead a different nevertheless interesting point. Can you be more specific on that. What API quinn provides for that, |
Oh damn, I'm sorry, somehow misread your message completely 👍
I was referring to the I was thinking that the Actually, I think the presence a rich builder APIs around the server and client config is what throws me off. If they actually were absent and would require users to plug in external solutions without It is quite awkward to bring this point up, cause it is sort of asking for less API surface. Especially since I often find it useful myself for the toy stuff - one doesn't need production setup for everything. So those APIs are quite useful. It is just with them you have to manually add a reload loop around your server, and it is not like you can skip it or forget about it. But also, adding the API for taking care of reloading the config to |
Yeah that's an interesting point. Indeed, Endpoint::reload_config is mainly there because of certificates reload (as also the doc explicetly mentioned). Certificate rotation/reload is a common scenario for many server applications. As also you mentioned, existing solutions (integrated with
Therefore, having an working-out-of-the-box solution directly accessible from |
The rationale is simple: for the client, the use of the server certificate hashes is not dangerous, and they are definitely not necessarily self-signed.
It is very much expected for the server certificates to be a part of a PKI - just not part of the standard Web PKI. It is not required for the trust verification at the WebTransport connection, but the application itself can easily get a certificate from somewhere and verify the trust chain, then compute the hash and pass to wtransport for connection.
The same concept is a applicable for the Web APIs as well.
The text was updated successfully, but these errors were encountered: