Skip to content
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

Dbsc(e) draft #67

Open
wants to merge 45 commits into
base: main
Choose a base branch
from
Open

Dbsc(e) draft #67

wants to merge 45 commits into from

Conversation

sameerag
Copy link
Collaborator

@sameerag sameerag commented Aug 15, 2024

This PR adds to the existing DBSC proposal to address enterprise cookie binding.

Pending:

  • Local Key helper specifics for Mac/Android and some updates on Windows
  • Policy application with the Local Key Helper
  • Soliciting feedback across the board

README.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@@ -0,0 +1,91 @@
### Local key helper on Windows

On Windows, a Local key helper is a COM class. A COM interface that the local key helper implements is TBD (working name for this document is ILocalKeyHelper)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is a COM class per domain? Or the same class registered for multiple domains? Could I use *.contoso.com in the example below on line 33?


![Local key helper registry key](./images/keyhelper-reg.png)

When the browser needs to communicate with a local key helper. It uses its ID to locate the registry key, then reads the default value of this registry key and activates the object by the activation scheme (CLSID or ProgId according to the document). After activation it queries ILocalKeyHelper interface and invokes corresponding methods.
Copy link

@peterzenz peterzenz Aug 16, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"It uses it's ID" Is this a new sentence or should this be a continuation of the one before. We have a few IDs in the doc. CLSID, ProgId, LocalKeyHelperId, API Activation ID. I'm assuming here it's a match on the LocalKeyHelperId. We can also answer the matching question here. Could we register *.login.com and have it match www.login.com, foo.login.com, or just login.com?

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/LocalKeyHelper-Mac.md Outdated Show resolved Hide resolved
DBSCE/LocalKeyHelper-Mac.md Outdated Show resolved Hide resolved
DBSCE/LocalKeyHelper-Mac.md Outdated Show resolved Hide resolved
DBSCE/LocalKeyHelper-Mac.md Outdated Show resolved Hide resolved
DBSCE/LocalKeyHelper-Android.md Show resolved Hide resolved
@arnar arnar mentioned this pull request Aug 30, 2024
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Outdated Show resolved Hide resolved
DBSCE/Overview.md Show resolved Hide resolved
DBSCE/Overview.md Show resolved Hide resolved
- Steps 1-16 specify the key generation process for a public local key helper. The binding statement is expected to be short lived as elaborated in the [high level design](#high-level-design).
- Steps 17-29 are [DBSC](https://github.com/wicg/dbsc) with additional parameters introduced with DBSC(E).

![IDPCallsPublicLocalKeyHelper](./IDPCallsPublicLocalKeyHelper.svg)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe after conference, but I like coloring you've used in High Level design part, blue and black. IMHO, it was more readable.


In DBSC(E), the use of private local key helper for specific IDPs enables the below optimizations:

- An IDP can specify its preferred ordered list of `HelperId`s in any response, and can request the browser to cache its preference for a specific duration (`HelperCacheTime`). The IDP which is capable of DBSC(E) can specify its `HelperIdList` in any communication(request/response) within the browser context.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"HelperCacheTime" is a not a specific parameter for this scenario. It also exists in High Level design.

DBSCE/Overview.md Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants