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

SecuritySchemas and Links #1149

Open
relu91 opened this issue May 24, 2021 · 7 comments
Open

SecuritySchemas and Links #1149

relu91 opened this issue May 24, 2021 · 7 comments
Assignees
Labels
Defer to TD 2.0 Security security-tracker Group bringing to attention of security, or tracked by the security Group but not needing response.

Comments

@relu91
Copy link
Member

relu91 commented May 24, 2021

As raised in the Discovery call today, in the current TD specification is not clear if the securitySchemas are also applicable to Links. I did a second quick glance at the spec and in SecurityScheme section there is no specific sentence declaring that the set of securitySchemas is related to only forms or links or both of them.

@relu91
Copy link
Member Author

relu91 commented May 24, 2021

One naive solution would be to extend the introducation text in the same section mentioned above from:

Metadata describing the configuration of a security mechanism. The value assigned to the name scheme MUST be defined within a Vocabulary included in the Thing Description, either in the standard Vocabulary defined in § 5. TD Information Model or in a TD Context Extension.

to something like (if we decide that they are only relevant for forms):

Metadata describing the configuration of a security mechanism. The value assigned to the name scheme MUST be defined within a Vocabulary included in the Thing Description, either in the standard Vocabulary defined in § 5. TD Information Model or in a TD Context Extension. Security Definitions are related only to forms; links SHOULD use a standard HTTP authentication negotiation mechanism if they link to restricted resources.

@egekorkan
Copy link
Contributor

One problem I see with including or not including it, is :

  • links inherit security: links need security member if they use a different one than the rest
  • links do not inherit security and are nosec: how to specify that the link needs security?

@egekorkan
Copy link
Contributor

egekorkan commented Jul 21, 2021

In the call of 21.07, we have agreed on:

  • Adding the security keyword in the links container.
  • By default, links follow a no_sec scheme, even if the Thing does not have that scheme in its securityDefinitions. This needs to be added as an assertion.
  • Later on (in TD 2.0), we can have a term in the root level called linksSecurity. This would make it clear that securityDefinitions does not apply to links.

@mmccool mmccool added Security security-tracker Group bringing to attention of security, or tracked by the security Group but not needing response. labels Dec 8, 2021
@mmccool
Copy link
Contributor

mmccool commented Dec 8, 2021

Overlooked this since it was missing the security labels; added. I can go ahead and implement this (although, having "nosec" as the default scheme is inconsistent with our policy elsewhere, I don't see any way around it while maintaining compatibility)

@mmccool
Copy link
Contributor

mmccool commented Jul 4, 2022

So unfortunately we did not get around to implementing this. Should we try to squeeze it in before CR, or defer to TD 2.0?

@mmccool
Copy link
Contributor

mmccool commented Jul 4, 2022

BTW I think the assumption is that links would follow "auto", e.g. the "normal" mechanisms to negotiate access would be followed. The assumption is not that they don't have security, it's just the TD does not describe what they need.

@egekorkan
Copy link
Contributor

Actually, can one simply not use a term from our ontology by prefixing it? This way, we can put it as an example

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Defer to TD 2.0 Security security-tracker Group bringing to attention of security, or tracked by the security Group but not needing response.
Projects
None yet
Development

No branches or pull requests

4 participants