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

Initial security and privacy considerations #38

Merged
merged 2 commits into from
Jan 25, 2024
Merged

Conversation

backkem
Copy link
Collaborator

@backkem backkem commented Jan 22, 2024

Copy link
Member

@anssiko anssiko left a comment

Choose a reason for hiding this comment

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

This PR is a good first stab at this important section.

We should augment this section when we make further progress and check that we consider all applicable questions in https://www.w3.org/TR/security-privacy-questionnaire/ ... that we'll do in separate PRs.

index.bs Outdated

Personally identifiable information {#security-pii}
---------------------------------------------------
The peer attributes, such as the nickname and device model, are provided to give minimal context to a connected peer. This information could be used in conjunction with other information for fingerprinting the user. However, this information is only available to an origin after it has been authenticated and a user has given explicit concent to make the connection to the remote peer.
Copy link
Member

Choose a reason for hiding this comment

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

s/concent/consent

index.bs Outdated
User interface guidelines {#security-ui}
----------------------------------------

When the user is asked permission to connect to a peer, the user agent should make it clear what origin the request is coming from.
Copy link
Member

Choose a reason for hiding this comment

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

s/asked/asked to grant

index.bs Outdated

This document extends the Web platform with the ability to set up real-time, direct communication between browsers and other devices, including other browsers, within the local area network.

This means that data and media can be shared between applications running in different browsers, or between an application running in the same browser and something that is not a browser, something that is an extension to the usual barriers in the Web model against sending data between entities with different origins.
Copy link
Member

Choose a reason for hiding this comment

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

Maybe instead of "something", refer to "another user agent that is not a browser"? E.g. headless services are considered UAs per https://en.wikipedia.org/wiki/User_agent

Rewording proposal, feel free to adjust this to capture the intent:

This means that data and media can be shared between applications running in different browsers, or between an application running in the browser and another user agent that is not a browser such as a headless service. This extends the usual barriers in the Web's security model that prevents sending data between entities with different origins.

In this proposal. replace "a headless service" with a better example, or add more representative example of another user agent that is not a browser.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I took this over from https://www.w3.org/TR/webrtc/#impact-on-same-origin-policy. I wonder if this is almost purposefully vague.
Do you feel "smart fridge" or "robot mower" qualify as a good example or would it conflate the point (since you have to realize that these devices would have to purposefully speak the protocol)?

Copy link
Member

Choose a reason for hiding this comment

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

Maybe a "smart TV" would be an example more people could relate to? I concur a smart TV can have its own browser too, so maybe "a headless service provided by a smart TV or smart fridge" drives the message home? Feel free to propose what you see fit. I agree the webrtc text is vague so it is appropriate to patch it to make it fit this scenario better, be more concrete.

index.bs Outdated
Device Access {#security-device-access}
---------------------------------------

The Local Peer to Peer API requires user permission for a page to access any peers. The API uses purpose-fit protocols for data communication. It cannot be used to connect to raw sockets or unknowing HTTP servers. In addition, a user must [=acquire a local peer grant=] by explicitly providing consenting for an origin to connect to a peer. In addition, a user must [=authenticate a local peer=] before use.
Copy link
Member

Choose a reason for hiding this comment

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

s/Local Peer to Peer API/Local Peer-to-Peer API

index.bs Outdated

Issue(WICG/local-peer-to-peer#15): Define filtering to provide additional context, related:

Impact on same origin policy {#security-same-origin}
Copy link
Member

Choose a reason for hiding this comment

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

s/same origin/same-origin

@backkem
Copy link
Collaborator Author

backkem commented Jan 23, 2024

Thanks a ton for the reviews @anssiko 🙏

@backkem backkem merged commit 57be8da into WICG:main Jan 25, 2024
2 checks passed
@backkem backkem deleted the self-review branch January 25, 2024 19:52
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.

2 participants