60 likes | 188 Views
Generic DRM Wrapper for COTS: Client Architecture. Packaged content file. 0) Client receives the packaged content file. Metadata. Content. Digital Content Launcher. 1) Extract meta data from packaged file. 2) Parsing the rights information. 3) Decrypt the encrypted content.
E N D
Generic DRM Wrapper for COTS: Client Architecture Packaged content file 0) Client receives the packaged content file Metadata Content Digital Content Launcher 1) Extract meta data from packaged file 2) Parsing the rights information 3) Decrypt the encrypted content Generic DRM Wrapper 4) Setup the restriction in generic wrapper Acrobat Reader IE DjVu plugin 5) Launch the corresponding player/reader with content.
Wrapping Technique • Using Detours to wrap win32 system call. • The wrapped system call can be controlled by rights information. My_Systemcall_Print() { if Rights is not restricted then Real_Systemcall_Print() }
Wrapping Technique • Keyboard Hooking. • PrintScreen • Ctrl + C • Ctrl + V • Ctrl + S • .....
Rights and Win32 API mapping Win32 API Rights CreateFile, WriteFile, CreateDialog, StartPage, CreateProcess, CreateThhread, RegQueryInfoKey, RegSetValueEx, ... Print,allow, 5 Save, denial, Copy, denial, Play, allow, ∞ Read, allow, ∞ ... Rights and Win32 API mapping is the essential part of Rights Enforcement
Rights and Win32 API mapping It's hard to determine which CreateFile event is coming from Save behavior !!!!
Rights and Win32 API mapping • The granularity of restriction is directly supported by Win32 API. • For example: Copy/Past behavior • There are many types of data can be copyed into the clipboard. • Text, Bitmap, Rich Text Format, WAV, TIFF, .... • Not only allow or denial Copy/Past, it can be extended. • Copy Text, allow, 5 times; copy bitmap, denial. Copy/Past { types of data } {allow{times} /denial}