我是靠谱客的博主 安详百褶裙,最近开发中收集的这篇文章主要介绍DRM原理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 DRM技术的工作原理是,首先建立数字节目授权中心。编码压缩后的数字节目内容,可以利用 密钥 (Key)进行加密保护(lock),加密的数字节目头部存放着KeyID和节目授权中心的URL。用户在点播时,根据节目头部的KeyID和URL信息,就可以通过数字节目授权中心的验证授权后送出相关的密钥解密(unlock),节目方可播放。

  需要保护的节目被加密,即使被用户下载保存,没有得到数字节目授权中心的验证授权也无法播放,从而严密地保护了节目的版权。

  密钥一般有两把,一把钥(public key),一把私钥(private key)。公钥用于加密节目内容本身,私钥用于解密节目,私钥还可以防止当节目头部有被改动或破坏的情况,利用密钥就可以判断出来,从而阻止节目被非法使用。 上述这种加密的方法,有一个明显的缺陷,就是当解密的密钥在发送给用户时,一旦被黑客获得密钥,即可方便解密节目,从而不能真正确保节目内容提供商的实际版权利益。另一种更加安全的加密方法是使用三把密钥,即把密钥分成两把,一把存放在用户的Pc机上,另一把放在验证站(access ticket)。要解密数字节目,必须同时具备这两把密钥,方能解开数字节目。

(1)头部签名

系统会将密钥标识和许可证颁发机构地址写入打包加密后的内容的头部,并且使用另一对密钥。

  通过椭圆曲线加密算法对头部信息进行签名,防止头部信息被非法修改。

(2)内容加密

  内容部分的加密过程可以简单描述为,首先使用SHA-1散列算法处理56位密钥,得到一个160位,即20字节的密钥散列。
  这个密钥散列的前12字节将用作生成加密过程中使用的密钥。
  这12个字节将作为一个密钥,通过RC4算法加密一个全零的64字节串,得到一个64字节的加密结果。
  其前48字节,即12个32位字作为产生加密内容使用的密钥的来源,分别针对前面6个32位字的和后面6个32位字进行操作。对于被加密的内容来说,首先把被加密的内容切分为8个字节的数据块。
  对于每一个8个字节的数据块,它的前32位数据将和上述密钥的前面6个32位字的进行运算,后32位数据将和上述密钥的后面6个字节进行运算。

  具体运算过程是,32位数据与6个32位字的的密钥的第一节字节相乘,然后除以4294967296,取其余数,并交换结果的高16位和低16位,然后再与6个32位字的的密钥的第二节字节相乘,然后除以4294967296取其余数,并交换结果的高16位和低16位,然后再与6个32位字的的密钥的第三节字节相乘,然后除以4294967296取其余数,并交换结果的高16位和低16位,然后再与6个字节的密钥的第四节字节相乘,然后除以4294967296取其余数,并交换结果的高16位和低16位,然后再与6个32位字的的密钥的第一节字节相乘,然后除以4294967296取其余数,并交换结果的高16位和低16位,然后再加上6个32位字的密钥,然后除以4294967296取其余数,上述过程定义为函数f(x),设一个64位状态值,并设初值为零。




  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媒体版权治理器上。  

最后

以上就是安详百褶裙为你收集整理的DRM原理的全部内容,希望文章能够帮你解决DRM原理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部