IOS: encrypt / decrypt video files

We are discussing how to create an online video rental store. In addition to streaming, we would like it if the user could first download a movie, which is then stored for a certain time on the device itself, in this case an iOS device.

But how can we achieve this and keep it? Obviously, we do not want the user to simply copy the file from the file system, which is a fairly simple task after hacking the device.

Thus, it is necessary to save the encrypted file or using some kind of DRM. But even then: how to make sure that the user cannot decrypt it himself? And as soon as playback starts, how can we ensure that we do not decrypt the entire file (which would be too large to save it in memory) so that the user does not get access to it.

Any ideas / solutions?

+4
source share
3 answers

Welcome to the world of DRM. The fact is that you cannot stop a determined attacker from decrypting a video. If the user can see that he is playing, they will be able to access the full decrypted video, even if it means intercepting raw video signals sent to the LCD.

The only thing you can do is make it more complex with debugging and encryption methods.

+1
source

At some point, the file must be decrypted on the device in order to play. A smart reverse engineer will learn how to stop a point after that point and copy the file. This is how most DRMs are violated; it is just a question of how to access the application at the right point.

It’s best to use as many debugging features as possible for your code and / or pass it on without local storage. Both options are not perfect and can be defeated over time, but this will at least slow down most of them.

0
source

You will need to obtain the consent of the content owners who provide the video files - usually they will require pre-certified DRM, such as PlayReady (Microsoft) WideVine (Google) or Verimatrix.

0
source

Source: https://habr.com/ru/post/1346688/


All Articles