6
2004-07-13 Wei-Neng Hung 1/ Digital Content Launcher Generic DRM Wrapper for COTS: Client Architecture Generic DRM Wrapper Acrob at Reade r IE DjVu plugi n Metada ta Content 1) Extract meta data from packaged file 2) Parsing the rights information 3) Decrypt the encrypted content 4) Setup the restriction in generic wrapper 5) Launch the corresponding player/reader with content. Packaged content file 0) Client receives the packaged content file

2004-07-13 Wei-Neng Hung 1/ Digital Content Launcher Generic DRM Wrapper for COTS: Client Architecture Generic DRM Wrapper Acrobat Reader IE DjVu plugin

Embed Size (px)

Citation preview

Page 1: 2004-07-13 Wei-Neng Hung 1/ Digital Content Launcher Generic DRM Wrapper for COTS: Client Architecture Generic DRM Wrapper Acrobat Reader IE DjVu plugin

2004-07-13Wei-Neng Hung

1/

Digital Content Launcher

Generic DRM Wrapper for COTS: Client Architecture

Generic DRM Wrapper

AcrobatReader

IEDjVu plugin

Metadata Content

1) Extract meta data from packaged file

2) Parsing the rights information

3) Decrypt the encrypted content

4) Setup the restriction in generic wrapper

5) Launch the corresponding player/reader with content.

Packaged content file0) Client receives the packaged content file

Page 2: 2004-07-13 Wei-Neng Hung 1/ Digital Content Launcher Generic DRM Wrapper for COTS: Client Architecture Generic DRM Wrapper Acrobat Reader IE DjVu plugin

2004-07-13Wei-Neng Hung

2/

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 thenReal_Systemcall_Print()

}

Page 3: 2004-07-13 Wei-Neng Hung 1/ Digital Content Launcher Generic DRM Wrapper for COTS: Client Architecture Generic DRM Wrapper Acrobat Reader IE DjVu plugin

2004-07-13Wei-Neng Hung

3/

Wrapping Technique

• Keyboard Hooking.– PrintScreen– Ctrl + C– Ctrl + V– Ctrl + S– .....

Page 4: 2004-07-13 Wei-Neng Hung 1/ Digital Content Launcher Generic DRM Wrapper for COTS: Client Architecture Generic DRM Wrapper Acrobat Reader IE DjVu plugin

2004-07-13Wei-Neng Hung

4/

Rights and Win32 API mapping

Rights and Win32 API mapping is

the essential part of Rights

Enforcement

Rights

Win32 API

Print,allow, 5Save, denial,Copy, denial,Play, allow, ∞ Read, allow, ∞...

CreateFile,WriteFile,CreateDialog,StartPage,CreateProcess,CreateThhread,RegQueryInfoKey,RegSetValueEx,...

Page 5: 2004-07-13 Wei-Neng Hung 1/ Digital Content Launcher Generic DRM Wrapper for COTS: Client Architecture Generic DRM Wrapper Acrobat Reader IE DjVu plugin

2004-07-13Wei-Neng Hung

5/

Rights and Win32 API mapping

Rights Related Functions

Print StartDoc, EndDocCopy/Past OpenClipboard, SetClipboardData,

CloseClipboard, EmptyClipboardPrint Screen Keyboard hookingSave CreateFile, WriteFile,...

It's hard to determine which

CreateFile event is coming from

Save behavior !!!!

Page 6: 2004-07-13 Wei-Neng Hung 1/ Digital Content Launcher Generic DRM Wrapper for COTS: Client Architecture Generic DRM Wrapper Acrobat Reader IE DjVu plugin

2004-07-13Wei-Neng Hung

6/

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}