引 言
DVD-ROM的视频和音频数据是经过加密编码的,加扰的源是标题密钥(Tittle Key),同时标题密钥被光盘密钥(光盘密钥)加密,主机在播放影碟的时候必须拿到这两个密钥才能顺利播放。在密钥从DVD驱动器传送到主机的过程中,为了保证数据传输通道的安全性,即保证光盘密钥和标题密钥能够被安全地传输,CSS建立了一道认证机制(Authentication Mechanism),通过总线密钥(BUSKEY)对光盘密钥和标题密钥进行加扰。由于能够有效地防止对DVD光盘的非法拷贝,CSS几乎被所有的商业DVD设备所使用。
当DVD播放机读取数据时,伺服控制芯片中的CSS将进行复杂的密码校验。如果密码校验成功,数据才可以还原成MPEG-2格式和转换为视频信号和音频信号。本文介绍了一种完成认证过程、光盘密钥和标题密钥的加扰和传输的CSS的设计,它用于DVD伺服控制芯片中。
CSS 的原理及系统分析
根据DVD标准以及CSS的相关的规范,CSS主要包含两部分:
(1)DVD驱动器和主机之间的授权认证。
其认证流程为:主机发送一个随机码流到驱动器,驱动器对其加密后返回主机,主机解密后确认是否和原码流相同,如果相同则驱动器被授权。主机的授权过程与驱动器的授权过程相同。交互授权的结果是产生总线密钥用于对在主机和驱动器之间传输的数据进行加密。只有主机和驱动器可以产生用于解密的密钥。
(2)光盘密钥和标题密钥的加扰。加扰过程为:
①驱动器用总线密钥对光盘密钥和标题密钥加扰。CSS对密钥的加扰开始于伺服控制芯片从DVD 光盘读取包含光盘密钥和标题密钥的扇区数据。数据先读入UPI(微处理器接口)寄存器然后传送到存储区管理模块(BM-Buffer Manager)并生成CSS内存指针以用于CSS读取数据。CSS 从BM 中一次读取一个字节的密钥,加扰后储存到BM 中由微处理器内存指针所指向的区域。密钥加扰完成后,CSS发出CSS DONE中断。
②通过微处理器内存指针,UPI寄存器读取加扰后的密钥并传送至主机。
③主机接收到加扰后的光盘密钥和标题密钥用其进行解扰。采用正确的光盘密钥和标题密钥主机可对光盘上的音频、视频数据解扰。
图1 CSS结构图
CSS的系统结构及主要模块硬件实现
图1表示CSS系统结构图,它由四个模块组成:
① CSS_PROC:处理CSS数据输入输出,它是CSS与DVD伺服控制芯片中BM和UPI的接口;
② CSS_RAND_GEN :产生80-bit伪随机数用于DVD驱动器对主机的认证,伪随机数的产生用到了42位线性反馈移位寄存器(LFSR-LinearFeedback Shift Register);
③ CSS_AUTH:CSS中最为关键的认证运算模块;
④CSS_SM:控制CSS_AUTH模块的认证过程,并且在CSS_PROC中开启密钥传输。
由以上这些模块构成的CSS系统实现DVD驱动器和主机之间的交互授权认证以及光盘密钥和标题密钥的加扰两大功能,系统时钟为100MHZ 。
数据通路设计
CSS最关键的地方在于主机和DVD驱动器之间的认证,因而认证运算模块CSS_AUTH成为设计重点。根据图1的认证过程,它由5个子模块来完成,如图2所示:
图2 CSS_AUTH结构图
在图2中,DRV_A