agera-edc / MinimumViableDataspace

Guidance on documentation, scripts and integration steps on using the EDC project results
Apache License 2.0
0 stars 2 forks source link

Spike on JWT Hardening #107

Closed marcgs closed 2 years ago

marcgs commented 2 years ago

Feature agera-edc/MinimumViableDataspaceFork#116 Upstream https://github.com/eclipse-dataspaceconnector/DataSpaceConnector/issues/1176

Description

JWTs are used in EDC as means to authenticate IDS requests. The current implementation allows for a malicious entity that gets ahold of a JWT to impersonate the original sender, and thus send requests to any other participant. In this spike we want to evaluate different methods to prevent this situation.

Acceptance Criteria

algattik commented 2 years ago

I'm not sure it's worth spending time on sender domain checks until we have a concept for enterprise deployment. Surely EDC will be behind an enterprise gateway.

marcgs commented 2 years ago

I'm not sure it's worth spending time on sender domain checks until we have a concept for enterprise deployment. Surely EDC will be behind an enterprise gateway.

Yes, this is probably the reason as well why no standardized claims exist for this purpose in JWT. We will do a short analysis and document outcomes without investing much time on that one.

marcgs commented 2 years ago

Initial analysis for first solution: currently there seems not to be an appropriate identifier available at both sides (consumer & provider) that is appropriate for using in the audience claim. Probably the best option would be to use the DID of the provider as the audience claim, but this information is not available at the consumer at the moment. We would require to pass this information to the DataManagementApi in a similar manner as we do with "connectorAddress". Using the connector address as identifier seems wrong as it is not meant to be an identifier (it can change). Waiting for Jims and Stefan van der Wiele's inputs as suggested by Paul.

marcgs commented 2 years ago

See follow-up story: https://github.com/agera-edc/MinimumViableDataspace/issues/61

marcgs commented 2 years ago

PR opened in agera-edc branch: https://github.com/agera-edc/DataSpaceConnector/pull/229