java drm_DRM系统工作原理

java drm_DRM系统工作原理一 系统工作原理 DRM 技术是一项加强对音频 视频数字化产品内容版权保护的技术 其基本的工作原理是将音频 视频等文件进行加密编码处理 再建立一个证书授权服务中心 当用户使用这些加密文件时 应用软件会根据其包含在头文件中的有关属性自动链接到相应的站点 证书授权服务中心 获取相应的证书 只有通过授权中心的验证并获得授权 才能使用这些音 视频等文件 从而严密有效的保护了这些数字多媒体产品的版权和使用权限

一、系统工作原理DRM技术是一项加强对音频、视频数字化产品内容版权保护的技术,其基本的工作原理是将音频、视频等文件进行加密编码处理,再建立一个证书授权服务中心;当用户使用这些加密文件时,应用软件会根据其包含在头文件中的有关属性自动链接到相应的站点(证书授权服务中心)获取相应的证书;只有通过授权中心的验证并获得授权,才能使用这些音、视频等文件,从而严密有效的保护了这些数字多媒体产品的版权和使用权限。基于Internet认证的视频版权保护系统是基于微软的DRM7.0技术开发的,下面具体介绍本系统加密解密的运行过程及原理。6d9fece564dc512b06bac246de23df14.png

(原理图)

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217791.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午8:45
下一篇 2026年3月18日 上午8:46


相关推荐

  • 湖南省第六届大学生计算机程序设计竞赛—数字整除

    湖南省第六届大学生计算机程序设计竞赛—数字整除

    2022年2月2日
    58
  • List、Set、数据结构、Collections

    List、Set、数据结构、Collections

    2021年5月19日
    111
  • DDoS-分布式拒绝服务攻击

    DDoS-分布式拒绝服务攻击DoS 与 DDoS 简介 DoS DenialofServ 拒绝服务攻击 是一种历史悠久的网络攻击手法 短时间内对目标服务器产生大量请求 使服务器链路拥塞或忙于处理攻击请求 导致服务暂时中断或停止 导致其正常用户无法访问 DDoS DistributedD 分布式拒绝服务攻击 将多台计算机 僵尸网络 联合起来作为攻击平台 通过远程连接对一个或多个目标发动 DoS 攻击 目的消耗目标服务器性能或网络带宽 从而造成服务器无法为用户正常地提供服务 网络通信原

    2026年3月19日
    2
  • obs录制黑屏怎么解决_obs窗口捕获黑屏

    obs录制黑屏怎么解决_obs窗口捕获黑屏00.目录文章目录00.目录01.问题描述02.问题分析03.问题解决04.成功测试01.问题描述打开OBS后,新建场景、新建显示器捕获后,黑屏没有显示,即使点击开始录制,然后结束录制后,录制的视频仍然是黑屏。02.问题分析安装包是从官网下载的,安装过程没有报错,启动过程也没有报错,但是却捕捉不到显示器中的图像。首先考虑的是软件兼容性的问题,但是在我将兼容性设置成”W…

    2022年4月19日
    112
  • Matlab GUI界面设计

    Matlab GUI界面设计摘要:本篇博文基于MATLAB2014a进行GUI设计。

    2022年4月27日
    46
  • WDA问题混总

    WDA问题混总文章目录unabletoaccessDB:WebDriverAgentLibcodesign失败WebDriverAgentLibcodesignfailure.unabletoaccessDB:多个xcode线程在跑,杀掉xcode,杀掉xcodebuild进程,cleanWebDriverAgentLibcodesign失败环境:mac10.14.5xcode10.3报错:CommandCodesignfailedwithano

    2022年7月12日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号