agi18n agimagechecker amazonaws android arc autolayout blog building cache calabash certificates clean code cocoa cocoapods data binding debugging deployment target drm ebs ec2 errors facebook fix git i18n images instruments interface builder ios iosx enterpise summit ipad iphone iphone5 kotlin libraries like button linking links llvm memory management method swizzling mobile model mvc mvvm nil objective-c optimizations patch patterns performance presentation provisioning profiles restkit runtime rxjava rxswift security shadows streaming svn swift testing tools tutorials uikit uistackview video view xcode

Subscribe to this blog

Tag: streaming

DRM for mobile devices (I) - Introduction and alternatives

Angel G. Olloqui 29 November, 2012

DRM (Digital Rights Management), is a set of access control techniques created to avoid illegitimate use of premium content. Any proper DRM solution should deny the ability to view, copy or share the protected content to any other hardware/software that the one that is has been designed for.
Audio/video DRM solutions use asymmetric encryption together with other obfuscation techniques to protect the content. They are mainly composed by two parts:
  • Server side: Delivers the streaming content (Live or On Demand media), with some encryption applied to it, only to allowed users. They usually require the users to register somehow (for example with a login) to recognise valid users from the rest.
  • Client side: Downloads the stream and decrypts it. Because the client side is executed in an unsecured environment (the client), prior to start decrypting they have to implement environment checks to ensure that security has not been compromised. Because of it, DRM clients requiere closed environments where the sourcecode is as protected as possible and where the private key can not be stolen.

Tags: drm, security, streaming, video, mobile