-
Notifications
You must be signed in to change notification settings - Fork 58
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
Same-Origin iframe document-access limiting attribute #397
Comments
It's worth considering the question and discussion in dtapuska/documentaccess#2 |
Does TAG have any feedback on the propsoal? I'd like to proceed with an I2S for Chromium on this feature. |
There seems to be other proposals in this same area like Document Isolation from @domenic and maybe the Document Feature policy idea. Document Feature Policies #408 We think it would be better with a more broad solution, so please see if it is possible to collaborate with one of these other efforts |
@dtapuska and I have discussed the relationship between origin isolation and disallowdocumentaccess at length. Although it is subtle, we conclude that they are best separated. Let me try to lay out the arguments. (We fully recognize that it would be helpful to have these in one or both of the explainers, and are planning to work on that in the near future.) First, it's worth acknowledging what they have in common. They both achieve similar outcomes when applied: they isolate "something" in the same way. The specific definition of isolation here is the agent cluster boundary; roughly speaking, two things isolated into separate agent clusters in this way can no longer synchronously script each other (either via normal access, or via using This agent cluster isolation has a number of potential benefits, in that it allows user agents---if they choose---to separate the isolated windows into different processes, or threads, or event loops, or similar, because there is no longer any shared memory or synchronous access possible. In essence, by invoking either of these mechanisms, the web developer is giving up some rarely-used capabilities, in exchange for potentially better performance and security. Now let's talk about how they differ. The fundamental differences are the point at which they are applied, and, very relatedly, where they can be applied. Origin isolation is something an origin applies, to every page on that origin, to ensure that origin gets isolated from other same-site-but-cross-origin pages, which would normally be in the agent cluster. Whereas disallowdocumentaccess is applied as part of the embedding relationship, i.e. in the These fundamental differences lead to a number of different consequences that make origin isolation more suitable for some cases:
But in turn, the fundamental differences also lead to a number of cases where disallowdocumentaccess is more suitable:
Another way of looking at this is what problems each technology is fixing.
|
This issue is set to pending-external-feedback. I'm not sure that is the correct state given Domenic's response above. I'm wondering what TAG's feedback on this proposal is. What I've seen from Mozilla is that they believe it is a major architectural change and could add additional attack vectors. I do believe that this proposal provides value and unlocks opportunities for improving performance on the web. |
@hober and I looked at this in a breakout and sympathize with the concerns raised in issues dtapuska/documentaccess#2, dtapuska/documentaccess#4, and dtapuska/documentaccess#6. Developers are going to think that this is a security/privacy feature and not understand that it is mostly about performance benefits due to underlying architecture (running in same thread or not, etc) that they might not even understand. It is also quite concerning that this adds yet another set of knobs for how to configure the whole feature/document/permissions policies and this doesn't seem to be a simplification, which @bzbarsky pointed out in this comment: |
@kenchris I know that I've talked with some folks in the Chromium project that suggested an alternate name for the attribute might help. I didn't want to propose this until we heard back from you. Do you feel something like that might help lead developers in the right path indicating that this is around performance rather than security. Yes this is an unfortunate situation in that iframes should have been this model from the beginning but since we need the web to continue working it needs to be some opt-in way. |
@dtapuska that might indeed help. Something like We are still worried that there are too many knobs on how to configure all of these various things already on the web, so consistency/alignment with other specs help (I remember Anne pointing that out). |
@kenchris We couldn't come to a consensus on a name, we had things like |
I actually think that |
Hi, We took another look at this during a TAG breakout today. Overall we agree this is a problem that needs solving and your approach is reasonable. We're still concerned about the overall complexity of the web platform in this area:
But there's nothing you specifically need to change in this proposal to help with that; we're going to do a wholistic review in this area (tracked in #525) to try to identify possible simplifications or consolidations that could help. Thanks for bringing this to us. Let us know if your design significantly changes and we'll take another look. |
こんにちはTAG!
I'm requesting a TAG review of:
Further details:
There is some debate in the one PR about the feasiblity of using feature policy for this definition and I believe it is fine. There is some desire to specify feature policies in meta tags but for this definition it is required to be in a header because it changes the agent cluster (which needs to be determined before the document is created).
We'd prefer the TAG provide feedback as (please select one):
The text was updated successfully, but these errors were encountered: