Skip to content

Argus: content delivery authentication #3152

@bedeho

Description

@bedeho

Background

Right now, anyone can fetch any content from any distributor. This unconstrained form of service provisioning is not really workable, and leaves the economics of the system too vulnerable to parasitical uses. The long term goal is for scheme where gateways foot the bill for clients, however, some basic form of authentication makes sense even before we get that far. A separate problem is that it means that unlisted videos basically are accessible to the world, despite being hidden from the interface of compliant UIs.

Proposal

Distributors authenticate requests to fetch data, and require that there is some sort of Gateway specific authorization. This will require changes to Orion, and possibly also the runtime - at least to represent gateways as actors, and their endpoints. The main design challenge here will be how to make this authentication be efficient, in terms of how often it must be done, despite the fact all distributors and orion instances do not have any shared state. Certainly doing some sort of interactive challenge response step for every client request would not work. We should also be sensitive to the problem of requiring any sort of signing by the client, as that will create horrible UX if they had to sign with a wallet account. Clients should instead be able to be gateway users without a wallet, $JOY or a membership.

Note that, to support blocking access to unlisted media files, you have to be able to discern who the viewer is. The owner still wants to be able to view the video from the infra most likely, its just not supposed to be available to everyone else. Perhaps also content working group actors? Unsure.

Metadata

Metadata

Assignees

No one assigned

    Labels

    argusArgus distributor nodeenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions