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

Review Security and Privacy Considerations #254

Closed
mmccool opened this issue Jan 10, 2022 · 16 comments
Closed

Review Security and Privacy Considerations #254

mmccool opened this issue Jan 10, 2022 · 16 comments
Assignees
Labels
Propose Closing Security security-needs-resolution Issue the security Group has raised and looks for a response on.

Comments

@mmccool
Copy link
Contributor

mmccool commented Jan 10, 2022

The security and privacy considerations section needs to be reviewed and updated.

See also similar issues for other deliverables; we need to also decide what goes where:

This was also discussed in w3c/wot-security#196 but it makes more sense to discuss this in Discovery (since this is where the document and its deadline is) and close the issue in security (although the discussion is still relevant).

@mmccool mmccool added Security security-needs-resolution Issue the security Group has raised and looks for a response on. security-tracker Group bringing to attention of security, or tracked by the security Group but not needing response. labels Jan 10, 2022
@w3cbot w3cbot removed the security-tracker Group bringing to attention of security, or tracked by the security Group but not needing response. label Jan 11, 2022
@mmccool
Copy link
Contributor Author

mmccool commented Jan 17, 2022

Additional consideration:

  • A service could record and track queries by an individual, identifying that individual by their authenticated identity provided. Mitigation: users could use an anonymous identity provider, i.e. they use OAuth2 provides tokens which don't identify specific individuals, they just assert access rights proven elsewhere.
  • In peer-to-peer scenarios, the scope and duration of the access may be limited. Mitigation: use a token/auth provider that provides limited duration tokens and use scopes to limit access. Scopes alone are not sufficient, depending on the information in the token only a subset of the database may be made accessible. This is not defined in the standard.

@mmccool
Copy link
Contributor Author

mmccool commented Jan 17, 2022

See list of topics in other linked issue, where topics like access control are discussed in depth. One relevant one to individuals exposing things (Client scenario) is the use of persistent Thing IDs. Migitations: anonymous TDs (directory then creates and assigns an id), ID rotation.

Think we have a fair amount of material, I just need to put together a PR. Also need to discuss in Discovery call.

@mmccool mmccool self-assigned this Jan 17, 2022
@mmccool
Copy link
Contributor Author

mmccool commented Jan 24, 2022

See discussion under Issue 263 regarding the interaction of LAN HTTPS cert problems and self-description, which together basically defeat any privacy protections. This needs to be fixed, probably with some kind of onboarding process, which could be put into the HTTP Profile.

@mmccool
Copy link
Contributor Author

mmccool commented Jan 24, 2022

Following point around LAN security should be added as a Security and Privacy consideration:

See linked Issue #263 for discussion. The other mitigation is to NOT support self-discovery if security cannot be established.

Note that passwords etc. still need to be used since different passwords/tokens/etc. may provide different access levels to different users. The PSK should not be the only access control. In particular, do not use nosec even with PSK. Also, the PSK should be unique to the device pair and not used for any other purpose (e.g. as a password...).

The PSK may be derived from internal device identity but this is separate from the "id" used in the Thing. The Thing should NOT be revealing its internal identity. However we do need a separate recommendation somewhere (profiles? TD?) that Things should use cryptographically generated ids and UUIDs for TD to avoid collisions, etc.

mmccool added a commit that referenced this issue Jan 24, 2022
placeholder for PR to update security and privacy considerations based on issue #254
@j1y3p4rk
Copy link

j1y3p4rk commented Jan 24, 2022

@mmccool , please add me as a reviewer.

@mmccool
Copy link
Contributor Author

mmccool commented Jan 24, 2022

See #139 and Ben's comments on #263. Summary: Ben is against blanket recommendation of PSK-based TLS on local networks. One option I can see is that we EITHER require TLS or access via a public URL (e.g. via a cloud tunnel) with a cert. But I suspect Ben won't go for that either, at least not if we require it. Anyway, #139 is relevant to this discussion.

@mmccool
Copy link
Contributor Author

mmccool commented Jan 24, 2022

@j1y3p4rk, I assigned you to this issue but github won't let me assign you to the PR I created resolving it, PR w3c/wot-discovery#264, which is what I really want to do. Can you please comment on that PR so I can add you, and/or just go ahead and review it? That is, once I fix the PR so it's complete, there is a technical problem I am working on fixing.

@mmccool
Copy link
Contributor Author

mmccool commented Feb 7, 2022

  • Probably need a generic security consideration around mitigating all OWASP Top 10 securityissues in Directory implementations - also true for all Thing implementations, so should go in TD spec as well.
  • "Limited Duration Access" does not belong here - move it to the TD security considerations
  • Have not yet considered replay attacks (already in OWASP Top 10? If it is...)

@mmccool
Copy link
Contributor Author

mmccool commented Feb 7, 2022

  • If there is a longer list of security concerns we can add it as well, but my thought is that mitigating the OWASP Top 10 should be a minimal requirement for implementations.

@mmccool
Copy link
Contributor Author

mmccool commented Feb 14, 2022

Merging PR to restructure, but need additional PRs to address some additional considerations. Also, the LAN consideration needs to be moved to security; it is currently under privacy.

@mmccool
Copy link
Contributor Author

mmccool commented Feb 14, 2022

See also issue w3c/wot-profile#397 - may want to add a consideration for this as well (use of OAuth with SSE notifications).

@plehegar plehegar added security-tracker Group bringing to attention of security, or tracked by the security Group but not needing response. and removed security-needs-resolution Issue the security Group has raised and looks for a response on. labels Mar 7, 2022
@w3cbot w3cbot added security-needs-resolution Issue the security Group has raised and looks for a response on. and removed security-tracker Group bringing to attention of security, or tracked by the security Group but not needing response. labels Mar 8, 2022
@mmccool mmccool removed the security-needs-resolution Issue the security Group has raised and looks for a response on. label Mar 28, 2022
@mmccool
Copy link
Contributor Author

mmccool commented Mar 28, 2022

Propose closing this, if there are no new review comments for S&P, although we might still need to upgrade these sections to normative status.

@w3cbot w3cbot added the security-needs-resolution Issue the security Group has raised and looks for a response on. label Mar 28, 2022
@mmccool mmccool added security-needs-resolution Issue the security Group has raised and looks for a response on. and removed security-needs-resolution Issue the security Group has raised and looks for a response on. labels Apr 11, 2022
@mmccool
Copy link
Contributor Author

mmccool commented Apr 11, 2022

so I added security-needs-resolution accidentally, then removed it, then w3cbot added it, I thought it was I who added it, so I removed it again, then noticed it was w3cbot, so put it back. Sigh.

@mmccool
Copy link
Contributor Author

mmccool commented Apr 11, 2022

also note these sections have been updated to normative status and significantly revised since this issue was raised. The WoT Security TF has now reviewed and updated these, so I propose we can close this issue (since it was about doing the review and updating the S&P considerations, which is now complete - external Wide review is a new issue)

@mmccool
Copy link
Contributor Author

mmccool commented May 30, 2022

@plehegar same bug with security-needs-resolution as was showing up in wot-architecture...

@mmccool
Copy link
Contributor Author

mmccool commented Aug 8, 2022

These have all been reviewed at this point, will close this issue - more specific issues can be opened later if something comes up.

@mmccool mmccool closed this as completed Aug 8, 2022
@plehegar plehegar added security-tracker Group bringing to attention of security, or tracked by the security Group but not needing response. and removed security-needs-resolution Issue the security Group has raised and looks for a response on. labels Jan 31, 2023
@w3cbot w3cbot added security-needs-resolution Issue the security Group has raised and looks for a response on. and removed security-tracker Group bringing to attention of security, or tracked by the security Group but not needing response. labels Feb 1, 2023
@plehegar plehegar added security-tracker Group bringing to attention of security, or tracked by the security Group but not needing response. and removed security-needs-resolution Issue the security Group has raised and looks for a response on. labels May 30, 2023
@w3cbot w3cbot added security-needs-resolution Issue the security Group has raised and looks for a response on. and removed security-tracker Group bringing to attention of security, or tracked by the security Group but not needing response. labels May 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Propose Closing Security security-needs-resolution Issue the security Group has raised and looks for a response on.
Projects
None yet
Development

No branches or pull requests

4 participants