0

I have been trying to encrypt media(Video and audio content) from a nodejs server to a client like android or iOS. I heard of DRM but could not get a reliable implementation of DRM.

I wanted to make my own implementation of protecting my content, But am not sure issues i would have with my implementation.

THIS IS MY IMPLEMENTATION.

Clients like android would first get authenticated from my server, then my server would pass a token to the android client, then this android client would request for the protected media with some request like

/get/video/:id/:token

Where id is the video content id and the token in this case is like the key, if the client doesn't have a valid token then the data will not be given to client.

QUESTION: Will this implementation work, can it protect my content from unauthorised clients, what are some of the drawbacks of using this?

closed as too broad by Steve, Anders, Xander, CaffeineAddiction, Rory Alsop Apr 28 '17 at 17:01

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Anyone can mimic your client, including the authentication phase, so they can easily get to the media. A DRM system is probably going to get you the best results, but even they aren't foolproof. – Steve Apr 26 '17 at 21:53
  • 2
    sadly, it's difficult and expensive to use well-supported DRM that plays back on common platforms. DRM is basically for the big media companies, not for private consumers. – dandavis Apr 26 '17 at 22:27
  • What do you mean by "unauthorised clients"? Do you mean other apps than the one you provide? – Anders Apr 27 '17 at 12:27
1

Two main competing DRMs are PlayReady (Microsoft) and Widevine (Google), but you won't find any specification. What you can do, just to start understand how it works. Read HDCP2 specification, it's open to public. It's not DRM, but content protection. Then you'll get some ideas. Also read https://w3c.github.io/encrypted-media/ see a block diagram. It's not DRM, but explains how DRMs are used with a common framework.

Not the answer you're looking for? Browse other questions tagged or ask your own question.