DRM系統工做原理

 

1、系統工做原理
    DRM
技 術是一項增強對音頻、視頻數字化產品內容版權保護的技術,其基本的工做原理是將音頻、視頻等文件進行加密編碼處理,再創建一個證書受權服務中心;當用戶使 用這些加密文件時,應用軟件會根據其包含在頭文件中的有關屬性自動連接到相應的站點(證書受權服務中心)獲取相應的證書;只有經過受權中心的驗證並得到授 權,才能使用這些音、視頻等文件,從而嚴密有效的保護了這些數字多媒體產品的版權和使用權限。基於Internet認證的視頻版權保護系統是基於微軟的DRM7.0技術開發的,下面具體介紹本系統加密解密的運行過程及原理。



                                                                  (原理圖)

    1
.文件加密與內容打包
   
先用加密軟件對欲加密的媒體文件進行加密。
此過程的原理爲:由WMRMKeys對象建立私有簽名密鑰(Privkey)、公有簽名密鑰(Pubkey)、許可密鑰種子(Seek)和密鑰標識(KeyID),並由許可密鑰種子(Seek)和密鑰標識(KeyID)生成一個密鑰(Key),此密鑰是用來加密保護媒體文件內容的;把密鑰標識(KeyID)、證書頒發中心的網站地址、版本號等信息存放於加密媒體文件頭部(即WMRMHeader對象中),並由WMRMHeader對象根據私有簽名密鑰(Privkey)簽名其頭部;而後由WMRMProtect對象加密內容並和頭部打包成一個擴展名爲.asf.wma.wmv形式存在的媒體文件。
    2
.發佈內容
   
經加密打包的文件放在網上供用戶下載、點播,也可刻錄成光盤發售等途徑發佈內容,但在使用時必須確保能經過受權中心的驗證並得到受權。
    3
.獲取證書
   
用戶使用加密文件時,客戶端Windows媒體版權管理器首先在本地計算機上檢索是否存在有效證書,若是失敗,則連接到證書頒發中心;證書頒發中心的證書頒發頁面經過WMRMChallenge對象接受客戶端發送的加密文件內容頭部和用戶電腦的有關信息後,將許可密鑰種子(Seek)和接收的密鑰標識(KeyID)經過WMRMKeys對象生成一個與內容打包時相同的密鑰(Key),用於解密,再用WMRMHeader對象根據公有簽名密鑰(Pubkey)驗證其頭部;證書頒發中心再經過WMRMRights對象定義許可證的權限,如播放次數、起止時間等;接着用WMRMLicGen對象建立一個證書,包含着解密內容的密鑰和權限等內容;最後就是經過WMRMResponse對象把證書傳送到客戶電腦的Windows媒體版權管理器上。
   
4.文件播放
   
獲取證書後,客戶端Windows媒體版權管理器驗證該簽名,並將該許可證放在許可證庫中;接着客戶端Windows媒體版權管理器對內容進行解密,並根據權限播放流媒體文件。

2、系統設計環境與功能
   
基於Internet認證的視頻版權保護系統需在windows2000或更高版本的操做系統上運行。開發語言爲ASPVisualBasic6.0,數據庫爲Access2000
   
系統分爲加密軟件和許可證權限管理頒發兩部分。加密軟件採用單機版形式,主要用於加密媒體文件;爲方便管理,許可證權限管理頒發採用B/S結 構。許可證權限管理頒發包含用戶註冊、用戶權限管理、證書頒發等模塊。系統只能爲註冊用戶發證書,並且可爲每一位用戶頒發含不一樣權限(如播放次數、起止時 間)的證書,這樣就能頗有效的控制用戶對點播系統的使用並對媒體文件進行版權保護。本系統可方便的套接在現有點播系統外使用,系統的功能與流程如圖1所 示。
3、系統具體實現
    1
.運行要求
   
運行本系統需安裝Windows媒體版權管理7.0程序開發包,其目的是註冊enrollobj.dlllicenseserver.dllwmrmobjs.dll三個組件,同時爲了運行WindowsMediaLicenseService,還需到http://licenseserver.windowsmedia.com/站點獲取證書。此外還要安裝IIS4.0或更高版本的Internet服務管理器。
客戶端可用帶有Windows媒體版權管理器的WindowsMediaPlay7.0或更高版本播放器播放加密文件。
    2
.數據庫設計
   
本系統的數據量不大,對數據庫的要求不高,用Access2000便可。數據庫中只需建立兩張表,如表1、表2所示。
1用於儲存用戶的註冊信息,如姓名、密碼等,主要完成用戶登陸時進行身份驗證任務。
1用戶註冊信息表
字段名用戶信息ID姓名密碼郵件
類型自增型文本型文本型文本型
2用於儲存註冊用戶所獲取證書的權限的信息,即WMRMRights對象的屬性,如播放次數、起止日期、是否容許刻盤、安全級別等,主要完成在爲用戶頒發證書時,定義其權限任務。
2證書權限信息表
字段名用戶信息ID備份與恢復拷貝至CDPC上播放播放次數
類型數字型是/否型是/否型是/否型數字型
3
.加密軟件設計
加密軟件完成對ASF/WMV/WMA格式文件加密打包處理。此軟件用VisualBasic6.0開發,窗體上主要包含五個文本框按鈕控件、三個按鈕控件、一個對話框控件等,用於源、目的文件路徑、證書頒發站點、許可密鑰種子、私有簽名密鑰信息的錄入等,其界面如圖2所示。

2加密窗口圖
加密打包的函數如源代碼1」
源代碼1
SubEncoerFile(Str_FInputFileAsString,Str_FOutPutFileAsString,Str_FLicenseURLAsString,Str_FSeedAsString,Str_FPriKeyAsString)
DimObj_Key As New WMRMKeys
DimObj_Header As New WMRMHeader
DimObj_Protect As New WMRMProtect
Int_KeyID=Obj_Key.GenerateKeyID()
Obj_Key.Seed=Str_FSeed
Obj_Key.KeyID=Int_KeyID
Int_Key=Obj_Key.GenerateKey()
Obj_Header.KeyID=Int_KeyID
Obj_Header.LicenseAcqURL=Str_FLicenseURL
Obj_Header.ContentID=Int_KeyID
CallObj_Header.SetCheckSum(Int_Key)
CallObj_Header.Sign(Str_FPriKey)
Str_Header=Obj_Header.Header
If(Str_FInputFile<>"")Then
 Obj_Protect.InputFile=Str_FInputFile
 Obj_Protect.Key=Int_Key
 Obj_Protect.Header=Str_Header
 Obj_Protect.V1KeyID=Int_KeyID
 CallObj_Protect.ProtectFile(Str_FOutPutFile)
EndIf
SetObj_Key=Nothing
SetObj_Header=Nothing
SetObj_Protect=Nothing
EndSub

4
.用戶註冊、證書權限及證書頒發模塊的實現
用戶註冊模塊、證書權限模塊和證書頒發模塊均用ASP動態網頁編程腳本語言編寫,故需配置IIS,創建WEB站點。用戶註冊模塊、證書權限模塊實現比較簡單,在此不做介紹。證書頒發頁面製做可在windowsmediarightsmanager7sdk中的simple.asp頁面上進行二次開發,即添加根據用戶定義權限的功能,見源代碼2」。該頁面中用到了wmrmchallengewmrmheaderwmrmkeyswmrmRightswmrmlicgenwmrmresponse對象,可實現從驗證、定義權限、建立證書到證書頒發的功能。
源代碼2
ASP_SQL="SELECT*FROMTab_RightWHEREStr_Name='cdy'"
setRst_Recordset=FUN_GetRecordset(ASP_SQL)
ifRst_Recordset("Bln_AllowBackupRestore")=truethen
.AllowBackupRestore=true
else
.AllowBackupRestore=false
endif
ifRst_Recordset("Bln_AllowPlayOnPC")=truethen
.AllowPlayOnPC=true
else
.AllowPlayOnPC=false
endif
……
Rst_Recordset.close
setRst_Recordset=nothing
系統設計完成後經測試能正常運行,達到設計目的。

5、結論
本系統結構、功能並不複雜,但它能有效的杜絕視頻文件在網上非法傳播,並強化了點播系統的使用權限控制功能。

參考文獻:
(美)MicrosoftWindowsMediaSoftwareDevelopmentKitHelpDocument]]>http://www.week2.com/duke/blogview.asp?logID=177數據庫

相關文章
相關標籤/搜索