-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Implement HSTS partitioning #18830
Comments
cc @pes10k |
https://groups.google.com/a/chromium.org/g/net-dev/c/1mDd-OLnHrM/m/stqRX8VKBAAJ It's not supported and doesn't look like it's going to be implemented in a near future. There is an unsolved concern about uncontrolled |
Could we (or they) cap the size of the HSTS store by just caping the size of storage, and evicting rarely used items? I appreciate there is a tension there with the guarantees of HSTS, but it sounds like that already exists if the store gets too big. In Brave's case though, since we'd be aligning the 3p network cache with the general 3PES DOM Storage policy, it seems like we wouldn't hit the problems upstream is having. Are either of those routes forward for us? |
I think it might be seen as a security downside if we will evict old records when they are not expired yet.
That's not exactly how it works regarding the HSTS/Expect-CT storage. The data stored in a separate JSON file which doesn't know anything about 1PES/3PES, so it won't work automagically. Nevertheless, we can introduce our ephemeral approach and just keep the HSTS/Expect-CT data in-memory when required, i.e. we can make it to be partitioned and not persisted (to disk) when WDYT? |
I think that sounds great, thanks! |
@goodov mind putting up a test plan for QA, when you get a chance? Thanks! ❤️ |
Huh. Not sure if I can come up with a usable test case here. Let's just make sure that HSTS works in general and preload list also works for normal browsing. We know that HSTS partitioning works via privacytests.org (slack discussion: https://bravesoftware.slack.com/archives/C8MP8ME4C/p1653801850048449?thread_ts=1653586057.513899&cid=C8MP8ME4C). Test cases to ensure HSTS works:
@goodov |
Verified
Case One: hsts.badssl.com
Case Two: brave.com |
Verified
|
Brave | 1.41.77 Chromium: 103.0.5060.53 (Official Build) beta (64-bit) |
---|---|
Revision | a1711811edd74ff1cf2150f36ffa3b0dae40b17f-refs/branch-heads/5060@{#853} |
OS | Linux |
Case One: hsts.badssl.com
Steps
- installed
1.41.77
- launched Brave
- loaded
https://hsts.badssl.com/
- confirmed it's green with an
HSTS is working
message
Strict-Transport-Security
header handler doesn't support partition logic unlikeExpect-CT
: the first is not keyed by NIK, the second is keyed (and controlled byPartitionExpectCTStateByNetworkIsolationKey
).Need to figure out if this is intentional or WIP.Chromium doesn't partition HSTS.The text was updated successfully, but these errors were encountered: