一、系统工作原理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媒体版权管理器对内容进行解密,并根据权限播放流媒体文件。二、系统设计环境与功能基于Internet认证的视频版权保护系统需在windows2000或更高版本的操作系统上运行。开发语言为ASP、VisualBasic6.0,数据库为Access2000。系统分为加密软件和许可证权限管理颁发两部分。加密软件采用单机版形式,主要用于加密媒体文件;为方便管理,许可证权限管理颁发采用B/S结构。许可证权限管理颁发包含用户注册、用户权限管理、证书颁发等模块。系统只能为注册用户发证书,而且可为每一位用户颁发含不同权限(如播放次数、起止时间)的证书,这样就能很有效的控制用户对点播系统的使用并对媒体文件进行版权保护。本系统可方便的套接在现有点播系统外使用,系统的功能与流程如图1所示。三、系统具体实现1.运行要求运行本系统需安装Windows媒体版权管理7.0程序开发包,其目的是注册enrollobj.dll、licenseserver.dll和wmrmobjs.dll三个组件,同时为了运行WindowsMediaLicenseService,还需到站点获取证书。此外还要安装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”。该页面中用到了wmrmchallenge、wmrmheader、wmrmkeys、wmrmRights、wmrmlicgen、wmrmresponse等对象,可实现从验证、定义权限、创建证书到证书颁发的功能。源代码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系统设计完成后经测试能正常运行,达到设计目的。五、结论本系统结构、功能并不复杂,但它能有效的杜绝视频文件在网上非法传播,并强化了点播系统的使用权限控制功能。参考文献:(美)MicrosoftWindowsMediaSoftwareDevelopmentKitHelpDocument]]>http://www.week2.com/duke/blogview.asp?logID=177

java drm_DRM系统工作原理相关推荐

  1. 一些零碎知识(域名、DNS、浏览器、动态静态页面、web应用系统工作原理)

    域名: http://localhost:8080/practice(胡写的,用于说明问题) http:表明当前请求是http协议,所有的Java Web应用程序都是基于HTTP协议,HTTP全称Hy ...

  2. java gc的工作原理、如何优化GC的性能、如何和GC进行有效的交互

    java gc的工作原理.如何优化GC的性能.如何和GC进行有效的交互 一个优秀的Java 程序员必须了解GC 的工作原理.如何优化GC的性能.如何和GC进行有效的交互,因为有一些应用程序对性能要求较 ...

  3. Java 程序的工作原理

    文章目录 Java 语言的主要特点 Java 体系 从源码到机器码的过程 JDK.JRE 与 JVM 是什么 字节码解释过程 Java两大核心机制之JVM Java两大核心机制之GC Java 语言的 ...

  4. 【源码阅读计划】浅析 Java 线程池工作原理及核心源码

    [源码阅读计划]浅析 Java 线程池工作原理及核心源码 为什么要用线程池? 线程池的设计 线程池如何维护自身状态? 线程池如何管理任务? execute函数执行过程(分配) getTask 函数(获 ...

  5. mysql权限系统的工作原理_Mysql权限系统工作原理

    MySQL权限系统保证所有的用户可以严格地做他们假定被允许做的事情.当你连接一个MySQL服务器时, 你的身份由你从那连接的主机和你指定的用户名来决定,系统根据你的身份和你想做什么来授予权限. MyS ...

  6. Java HashMap的工作原理 及各种Map区别

    2019独角兽企业重金招聘Python工程师标准>>> 一.Java HashMap的工作原理 jdk1.7下HashMap数据结构:数组加链表,链表长度没有8的限制: jdk1.8 ...

  7. Java执行引擎工作原理:方法调用

    Java执行引擎工作原理:方法调用 方法调用如何实现 函数指针和指针函数 CallStub源码详解 Git链接(有HotSpot源码) 1 方法调用如何实现 计算机核心三大功能:方法调用.取指.运算 ...

  8. 室内空气流动原理图_新风系统工作原理图—新风系统工作原理介绍

    相信大家对于新风系统工作原理图都很感兴趣,因为新风系统工作原理图可以让我们很直接的了解到新风系统工作原理,让我们对新风系统工作方式有一个较好的认知,对此小编便来为各位介绍新风系统工作原理图,用图片告知 ...

  9. 罗斯蒙特3051SERS系统工作原理

    罗斯蒙特3051SERS系统工作原理介绍如下:罗斯蒙特3051S系统使用了两个直接安装的罗斯蒙特3051S压力变送器,而绝非是使用毛细管的单个罗斯蒙特差压变送器.两个罗斯蒙特变送器中,其中一个计算差压 ...

  10. php授权系统原理,Mysql权限系统工作原理-PHP教程,PHP基础

    权限系统工作原理 mysql权限系统保证所有的用户可以严格地做他们假定被允许做的事情.当你连接一个mysql服务器时, 你的身份由你从那连接的主机和你指定的用户名来决定,系统根据你的身份和你想做什么来 ...

最新文章

  1. 【深度学习】Transformer在语义分割上的应用探索
  2. login控件authenticate_Login.Authenticate 事件 (System.Web.UI.WebControls) | Microsoft Docs
  3. 结构体实验报告总结_解读!清华、谷歌等10篇强化学习论文总结
  4. [css] 什么是FOUC?你是如何避免FOUC的?
  5. JDBC——编程式事务的实现逻辑
  6. RefreshLayout刷新组件,有详细注释适合使用和中高端学习
  7. openssl paho.mqtt交叉编译
  8. 【Docker】Docker安装telnet
  9. mysql 存储过程临时表_在MySQL存储过程中创建的临时表的范围
  10. IE6下绝对定位层不显示
  11. 如何查询淘宝天猫的宝贝类目
  12. 基于java的电子政务网的设计及开发
  13. C语言冒泡排序算法详解
  14. Java毕业设计——>SpringBoot+VUE实现的前后端分离小米手机商城系统
  15. 多目标进化优化-SPEA/R
  16. win10系统如何玩各个版本的红色警戒
  17. 工作习惯决定事业成败
  18. IDEA执行hadoop相关报错xxx from xxx is not a valid DFS filename.
  19. 问卷设计:NPS/CSAT要先问还是后问?
  20. 当初我要是这么学操作系统就好了(附思维导图)

热门文章

  1. 生如夏花之绚烂,Lisp风格的Lialang诞生了!
  2. CVPR2022论文速递(2022.3.24)!共11篇含表情识别/deepfake检测/插帧等
  3. 【教程】创建活动报名二维码(活动报名/会议签到扫码,带微信手机号认证)
  4. jxt - 强结构文档数据表示协议
  5. 前端面试 两分钟自我介绍
  6. linux版本qq,QQLinux版下载-QQ for Linux下载v2.0.0 最新版-西西软件下载
  7. in field list is ambiguous 解决方法
  8. 高动态范围红外图像压缩
  9. 小窗终曲说策划(有空就看看吧,可能对设计想法有所帮助,不仅仅是游戏方面
  10. cesiumlab v3.0.2—通用模型切片