3 ms·
Having full control means that you could also partially disable DRM support. Say, perhaps, by enabling the part that determines an encryption key and decrypts
by MereInterest 5y ago
Having full control means that you could also partially disable DRM support. Say, perhaps, by enabling the part that determines an encryption key and decrypts the video, but disabling the part that checks whether the video is being sent to a compliant display rather than to an unencrypted file.
You cannot have effective DRM without taking away full control from the user.
- ballenf 5y agoBeing willing and able to lie for the owner is the ultimate test of ownership.
- tjoff 5y agoOf course it would be possible for the application to verify that and disable decryption.
- MereInterest 5y agoWhat source of information could the application possibly use to check that? Everything the application does is solely by the will of the system's owner. If the application checks a hardware parameter, the result it receives may have been altered by the system's owner. If the application checks its binary for validity, that binary could have been altered since the program started. If the application computes a checksum of its own memory state, the system's owner can alter that checksum after it has been computed. If the application tries to compute 2+2, it will only receive 4 if the system's owner allows it. This is the true definition of the system's owner. The system's owner is whoever must be trusted in order to trust computations on that system. If the application doesn't trust the person who bought the computer, but still wishes to trust computations done on the system, the only solution is to change the system's owner. That is why DRM must either be utterly useless, because I still own my computer and can do as I will on it, or utterly tyrannical, because it asserts ownership over something that I have purchased.
- tjoff 5y agoEasy, the check that requires it to be sent to a compliant display is dependent on the decrypt functionality (or the other way around). This is only hard if you try to make it hard.
- MereInterest 5y agoIt's only hard if an adversarial relationship is making it hard, which is exactly the case for DRM implementations. If you're writing code that runs in a trusted environment, then it is as simple as enabling decryption conditional on checking the display. That's only appears because trusted environments are nice simple places where code, file checks, system calls, CPU instructions, and all the other niceties work as intended.