实施发明的最佳方式
图1表示现有的典型的IPMP(知识产权管理保护)***。
单元1.0的多媒体信息所有者通过单元1.1、1.5及1.9的不同的多媒体信息提供商A、B及C提供多媒体信息。不同的IPMP***以3组的IPMP***被实施。
由于使用各自协议不同的IPMP工具(例如加密工具)及不同的用户认证工具,因此,取得IPMP工具并检查的方法是基于其各自的协议。不同的用户认证方法如单元1.2、1.6及1.10所示,取得IPMP工具的方法如单元1.3、1.7及1.11所示。
因此,如单元1.4、1.8及1.12所示,多媒体信息解码或多媒体信息消费终端也互不相同。终端A不能再生由多媒体信息提供商B所提供的带保护的多媒体信息,这点是明确的。
以下的内容已经在本申请的发明者以前所提出的申请书(特愿2001-058236)中被解决了。
1)把IPMP工具信息保持在信息流上,表示多媒体信息提供商及多媒体信息分发商使用哪个IPMP工具。
2)在基准IPMP终端上使用IPMP工具管理处理IPMP信息。
3)定义与具有不同处理能力的IPMP终端相关的特征,实现IPMP***。
但是,在先前提出的申请中还有如下2个未解决的问题。
1)依存于终端OS及平台的下载工具格式的问题。
2)要在IPMP终端上被使用的IPMP工具用的接口问题。
在本申请中以更详细、更完全的方式进一步说明在先前的申请中提出的IPMP***,并对2个问题进行详细地处理说明。
图2表示MPEG-n的IPMP***。
模块2.1所示的服务器起到多媒体信息提供商或多媒体信息分发商的作用、或在不同用途的情况下具有这2个功能。
模块2.3所示的网络层进行基准IPMP终端和服务器之间的通信并从上述服务器往上述终端传送多媒体信息流。
开始时,模块2.4的权利认证开始和上述服务器对话,并得到象权利认证模块的输出信息那样的详细使用规则和多媒体信息的存取和消费权利。格式预先定好了的这些信息被存放在用于随后要用的上述终端的存储器中。关于指定输出信息栏的详细情况将在后面说明。
当在模块2.4中多媒体信息存取用的权利被批准后,上述服务器通过所述网络层把所要求的多媒体信息流发送到上述终端。
通过模块2.2,在传送多媒体信息流的同时,还传送其他的专用平台及OS用的其他格式、JBC(Java字节代码)、DLL(动态连接库)等不同格式的二进制工具以及包含工具ID、工具位置ID、工具格式ID的工具列表信息。关于指定工具列表信息的详细情况将在后面说明。
在模块2.5所示的IPMP工具管理器中,在对工具列表信息进行语句结构分析/解释的同时,还根据工具位置ID及工具格式ID信息检索IPMP工具。来自模块2.5的输出信息为表示工具内容的具有描述用工具ID的恰当的IPMP工具。IPMP工具自身是二进制格式的,适用于基于由IPMP基准预先确定了的通用工具格式ID的终端平台进行选择、检索。
为了进一步处理,许可证/密钥及使用规则如模块2.6所示那样被存放在上述终端的存储器中。带有相应工具ID的二进制IPMP工具如模块2.7所示那样被存放在上述终端的存储器中。上述各工具依照一般的标准化接口被构筑,为了使之适合于平台而用编译器对其进行预编译。例如,数据加密及解密的工具可以根据一个通用指定接口进行构筑。比如,可以在Java虚拟机器上预编译成全平台/终端用的Java字节代码(JBC)、或预编译成基于Windows的平台/终端用的动态连接库(DLL)。
二进制形式的工具能够以zip形式等压缩形式进行传输。上述工具可以通过使用防非法变更软件进行非法变更,也可以用防止二进制代码被更改或被跟踪调试的署名技术进行署名。
模块2.8表示IPMP工具提供商及终端实施者依照预先规定所必需的IPMP工具用的接口。
基底层为模块2.9所示的多媒体信息解码器及展示器。此层位于除了上述基底层之外的其它构成要素上,并用IPMP工具用的钩接口以和上述构成要素一起平滑地动作的二进制形式被构筑。
关于通用接口,将在后面对3种IPMP工具(解密用接口、嵌入水印用接口、水印技术和解密用接口)进行详细描述。权利认证用接口因受用途的影响很大而无法预先定义,因此,在这里并不被定义或被固定,而是由参数工具处理。
这里分4个部分进行详细说明。
1. IPMP工具列表及IPMP工具管理器
1.1 IPMP工具列表及IPMP工具管理器的定义
在IPMP的结构中,IPMP信息被定义为所给的IPMP工具请求所给的带保护的多媒体信息并进行适当处理的信息。
IPMP工具被定义为用预先定好了的方法执行认证、加密、水印等IPMP功能的模块。
在本发明中引入IPMP工具列表的定义。
IPMP工具列表包含IPMP工具管理器识别IPMP工具、检索IPMP工具所必需的信息。这些信息包含IPMP工具的唯一性识别、IPMP工具的位置识别符及IPMP工具ID和多媒体信息ID之间的关系定义。
还有,依照如下定义IPMP工具管理器。
IPMP工具管理器是这样一个实体,其唯一的作用是检索用于处理IPMP工具列表、消费多媒体信息流整体所必需的IPMP工具。
1.2 IPMP工具列表
此IPMP工具列表包的详细构造用下面的图3最能够说明。
上述IPMP工具列表包包含消费带保护的多媒体信息所必需的全部IPMP工具的信息。在上述多媒体信息包含2种以上的多媒体信息的情况下,比如上述多媒体信息的第1部分来自多媒体信息提供商A、第2部分来自多媒体信息提供商B,在此情况下,与各个IPMP工具关联的信息分别按各自关联的多媒体信息ID被分类。
接着,各多媒体信息ID用的IPMP工具列表只要由各个IPMP工具信息组成即可,这些各IPMP工具信息的顺序并不重要。
各IPMP工具信息由3个主要的部分即IPMP工具ID、IPMP工具位置识别符及IPMP格式ID组成。
上述IPMP工具ID用指定的方法识别工具,至少有2个部分,即工具类型ID及工具子ID。
工具类型ID指定此特定的IPMP工具(从工具功能的方面看)属于哪个目录、如解密、水印抽出、水印检测、权利抽出等。下表暂时把工具类型ID的长度设定为可以处理IPMP工具的16个目录的4比特。
还有,工具子ID识别某特定的IPMP工具,上述子ID如下表所示那样被暂时设定为可以识别1个工具类型间的4096个不同的工具的长度12比特。
此表应事先被装在终端上、或终端根据上述所示的标准化工具ID表被构筑。(见表1)
位置识别符暗指传输机构,对于1个IPMP工具可以有2个以上的位置识别符。IPMP工具管理器要试着用上述各识别符检索上述工具。如果IPMP工具A的第1位置识别符试成功了,那下一个位置识别符就被跳过,否则,继续试第2位置识别符。
例如,位置识别符象如下那样被描述。
1.本地:终端***内部或***装置
2.外部:被指定的终端***的外部(http:,ftp:)
IPMP工具识别符是由2个部分(位置类型及位置细节)组成。位置类型必须是下表中的一种。位置类型和位置细节之间的对应关系如表2。
工具格式ID和IPMP工具ID及工具位置ID一起被传送,如表3所明示,为了通知而用8位表示。
IPMP终端从DLL、JBC或其他等工具格式ID得知所提供的IPMP工具是哪种二进制格式。上述IPMP终端可以用和该OS一致的适当的格式下载或检索上述工具。
[表1]
IPMP工具ID列表
注:上述最前的4位为工具类型ID
[表2]
可能的位置类型及其细节
位置类型ID | 位置类型 | 位置细节 |
0000 | “本地” | N/A |
0001 | “***装置” | N/A |
0010 | “可远程下载” | 网址(http,ftp...) |
0011 | “不可远程下载” | Javaservelet等的远程位置 |
0100 | “多媒体信息流内部” | 这部分应包含IPMP工具自身 |
... | ... | ... |
1*** | 预约 | 预约 |
[表3]
被下载的IPMP工具的格式ID
8位 | 下载的格式 | 对象平台 | 编译器 | IPMP终端 |
00000000 | JBC(Java字节代码) | JVM解释程序嵌入的机器 | Java编译器 | 几乎所有的移动电话及STBs |
00000001 | DLL1 | Windows机器 | MicrosoftC编译器 | 在Windows上运行的所有PC |
00000010 | DLL2 | Unix机器 | gcc及其他编译器 | 所有Unix、Linux OS |
00000011 | | | | |
| | | | |
| | | | |
预约 | DLL-AM33 | 松下的芯片 | AM33编译器 | 预约依赖于芯片的制造、需要特定的编译器 |
预约 | | | | |
预约 | | | | |
预约 | | | | |
| | | | |
定义被下载的IPMP工具的工具格式ID、达到终端相互运用性的目的如下。
1.最近,几乎所有的移动电话及DTV STB都是由Java虚拟机器(JVM)构筑成的,可以通过信息流内的保持或来自URL的下载把IPMP工具编译为Java字节代码并下载到终端。
2.DLL为在PC或Unix上使用的非常普及的格式。通过使用不同位数的标志来通知用户终端需要下载哪一种DLL格式。
3.JVM也是涉及没有标准C/C++编译器的其他终端,例如,可以用那些编译器把IPMP工具预编译为某DTV STB、或通过广播信息流或内部通道下载。这是在广播业者或制造业者想要更新那些软件时当时DTV STB所进行的。
在此情况下,由广播业者或制造业者双方选择并参照上述表中相同预约位标志,并把上述业者是否可以检索使用IPMP工具的哪种格式通知给DTV STB。
IPMP工具列表用的语句结构被定义如下。
[数1]
class IPMP_Tool_List
{
bit(128)IPMP_Tool_ID;
//whether this IPMP Tool is a parametric tool or normal tool is
implicitly
//indicated by the IPMP_Tool_ID.
if(parametricRepresentation)
{
//…detailed syntax of parametric representation.
}
else
{
bit(1)hasAlternativeToolLocation;
while(hasAlternativeToolLocation)
{
bit(1)hasAlternativeToolLocation;
bit(7)Tool_Location_ID;
if(Tool_Location_ID==0b0000000)//tool carried in
bitstream.
{
}
else if(Tool_Location_ID==0b0000001)//remote method
call
{
bit(8)Remote_Call_Mechanism;//CORBA,DCOM,RMI,
//SOAP...
bit(1)Client_In_Bitstream;
}
else if(Tool_Location_ID==0b0000010||Tool_Location_ID==0b0000011)
//Remote Downloadable,http protocol or ftp protocol
{
bit(8)Tool_Format_ID;
unsigned int(16)serverAddressLen;
bit(8)serverAddress[serverLen];
unsigned int(16)fullPathLen;
bit(8)fullPath[fullPathLen];
bit(1)isCompressed;
if(isCompressed)
{
bit(7)compressionMethod;
}
}
else if(Tool_Location_ID==0b0000100..0b1000000)
//ISO reserved
{
}
else//user defined.
{
}
}
}
}
意义
IPMP_Tool_ID在普遍程度上才唯一识别工具。最前的16位是用于识别特定的IPMP工具的类型、其后的112位用于详细识别上述IPMP工具。在下表中对上述IPMP_Tool_ID进行说明。登录当局有责任维护那样的表。
有必要对几个常用的IPMP工具进行标准化,必须定义包含那些基本的IPMP工具的表,而且应该在所有的IPMP终端上事先装载此表。下表对此想法进行说明。要被标准化的基本工具的内容是在IPMP委员会上进一步讨论的事项。
Tool_Location_ID符暗指传输机构,表示工具是否被保持在多媒体信息流上、或是否必须从远程位置下载、或IPMP工具是否可以在远程位置执行。
1个IPMP工具可以有2个以上的位置识别符。hasAlternativeToolLocation表示IPMP工具是否有别的检索的地方。IPMP工具管理器试着用上述各识别符检索上述工具。如果IPMP工具A的第1位置识别符试成功了,那下一个位置识别符就被跳过,否则,继续试第2位置识别符。
[表4]
IPMP工具位置识别符(IPMPTool_Location_ID)
Tool_Location_ID | 位置类型 |
000 0000 | 被保持在多媒体信息流内部的工具 |
000 0001 | 在远程位置执行的工具 |
000 0010 | 基于http协议的下载 |
000 0011 | 基于ftp协议的下载 |
000 0100-100 0000 | ISO预约 |
100 0001--111 1111 | 预约 |
如果Tool_Location_ID为0b0000000,那意味着IPMP工具被保持在多媒体信息流中。在Mpeg4数据中,本发明把二进制IPMP工具放入所提出的与IOD相关的IPMP工具ES内。其详细情况将在后面说明。
如果Tool_Location_ID为0b0000001,那意味着此IPMP工具为在远程被执行的工具,IPMP终端通过RPC(远程过程调用)调用此IPMP工具。8位远程调用方法表示此IPMP工具对于于哪种RPC机构、如CORBA、RMI、XML-RPC、DCOM。下表定义与此Remote_Call_Mechanism有关的详细情况。IPMP工具管理器检查上述终端是否对应于上述RPC机构。
[表5]
IPMP Remote_Call_Mechanism
Remote_Call_Mechanism | RPC机构 |
0000 0000 | DCOM |
0000 0001 | RMI |
0000 0010 | CORBA |
0000 0011 | XML-RPC |
0000 0100 | SOAP |
... ... | ... ... |
0000 1000-1000 0000 | ISO预约 |
1000 0001--1111 1111 | 预约 |
当上述IPMP工具在远程被执行时,IPMP终端需要象用接口和远程IPMP工具通信的客户端程序那样轻量的代码。例如,在上述远程IPMP工具只能通过CORBA被调用的情况下,上述IPMP终端需要这样的短代码,通过IIOP(因特网ORB间协议)知道适合于上述远程IPMP工具捆绑传送参数的方法。在本发明中把此轻量的二进制代码作为IPMP工具客户端程序被调用。由于IPMP工具客户端程序被认为是轻量的,所以可以被保持在多媒体信息流内。把此IPMP工具客户端程序保持在多媒体信息流内的方法将在后面说明。
要是只有和在远程被执行的IPMP工具通信的IPMP工具客户端程序,IPMP终端虽然可以利用此远程IPMP工具但还不够。IPMP终端需要初始设定上述IPMP工具客户端程序并与之对话的方法。处理此问题的方法在本提案的范围之外。在这点上,IPMP工具客户端程序所呈现的和其他通常的IPMP工具一样。因此,应正好象其他的IPMP工具那样初始设定并调用上述IPMP工具,例如,IPMP工具客户端程序和IPMP终端之间的接口定义也可以被保持在使此IPMP工具客户端程序运行的OD或ESD之间的IPMP描述符中。
如果Tool_Location_ID为0b0000010,那意味着此IPMP工具管理器应借助于http协议下载特定的IPMP工具,如果是0b0000011,那意味着应使用ftp协议。serverAddress(例如www.panasonic.com)及fullpath(例如/ipmptools/encryption/tool1.zip)清楚地定义检索此特定的IPMP工具的位置。IPMP工具管理器实施http或ftp协议并检索必要的IPMP工具的方法为本发明的应用课题。为了检索特定的IPMP工具,可能有多种可使用的协议(https、ssl)。ISO预约比特范围0000100-1000000被设计为可保持多种协议。
IPMP工具提供商在想要使用其自身的独占协议的情况下,只要使用比特范围1000001-1111111即可。
Is Compressed位设立指定工具是否被压缩的标志。在被压缩的情况下,IPMP工具管理器必须依照compression Method栏所指示的压缩方法扩展上述工具。PC用的压缩方法有很多,典型的有PKZip、LHArc、ARJ及ZOO。在Macintosh机中有StuffIt、CompactPro以及其他。可以在IPMP上使用多种压缩方法,或者也可以指定一种压缩方法作为缺省的压缩方法。
IPMP_ToolES
在Mpeg4***的数据中,本发明把二进制IPMP工具保持在基本信息流间(包含上面提出的IPMP工具客户端程序)。为了达到该目的,在本发明中把新的信息流类型定义在与基本信息流对应的解码器构成描述符上。
象如下那样提出信息流类型“IPMPToolStream”。0x0A—0x1F被预定为ISO用,因此,把被分配给此信息流类型的值设定为0x0A。因此,依照如下那样变更由Mpeg4***规格的现版本所定义的信息流类型表。
[表6]
IPMP Remote_Call_Mechanism
信息流类型值 | 信息流类型描述 |
0x00 | 禁止禁止 |
0x01 | ObjectDescriptorStream(参照ISO/IEC 14496-1) |
0x02 | ClockReferenceStream(参照ISO/IEC 14496-1) |
0x03 | Scene DescriptorStream(参照ISO/IEC 14496-1) |
0x04 | VisualStream |
0x05 | AudioStream |
0x06 | MPEG7Stream |
0x07 | IPMPStream(参照ISO/IEC 14496-1) |
0x08 | ObjectContentInfoStream(参照ISO/IEC 14496-1) |
0x09 | MPEGJStream |
0x0A | IPMPToolStream |
0x0B-0x1F | 预定为ISO使用 |
0x20-0x3f | 用户专用 |
对上述IPMPToolStream进行解码的解码器为IPMP工具管理器。在参照0x0A的信息流类型时,IPMP终端把上述基本信息流传递给分析语句结构的IPMP工具管理器。最初IPMPToolStream通常被放在对象·描述符上。IPMP_ToolES的语句结构
[数2]
class IPMP_ToolES
{
IPMP_Tool ipmp_tools[0..255];
}
class IPMP_Tool
{
bit(128)class IPMP_Tool_ID;
bit(8)Tool_Format_ID;
bit(1)isCompressed;
if(isCompressed)
{
bit(7)compressionMethod;
}
bit(1)isSigned;
if(isSigned)
{
bit(8)signature_Algorithm[];
bit(8)signature_Parameters[];
bit(1)IPMP_Tool_List_Signature[];
}
bit(16)Tool_Size;
bit(Tool_Size)Tool_Body;
}
IPMP_ToolES的意义
IPMP_Tool_ID、Tool_Format ID具有和上述定义的内容相同的意义。
为了保证IPMP_Tool的维护性,被保持在上述基本信息流上的IPMP_Tool可以用特定的署名算法进行署名。
在确认上述署名后,IPMP工具管理器把由Tool_Size所指定大小的Tool_Body恰当地放在硬盘或物理存储器内。上述终端或消息路由器认识上述动作。
可保持在IPMPToolStream中的IPMP工具包含前面提出的IPMP工具客户端程序。在对来自基本信息流的检索及IPMP终端进行初始设定后,IPMP工具客户端程序和远程IPMP工具进行对话。但是,对于上述终端,上述IPMP工具客户端程序和具有唯一的IPMP_Tool_ID的通常的IPMP工具没有什么太大的不同。
1.3 IPMP工具管理器
IPMP工具管理器可以位于***的多路分解器之前或之后。其功能是对在多媒体信息流内的IPMP工具列表进行语句结构分析。
图4所示的连线图表示IPMP工具管理器被安在Mpeg4--IPMP***中的例子。
IPMP工具管理器执行下面4个步骤。
·步骤1:输入IPMP数据获得IPMP工具列表并对其进行语句结构分析。在没有上述列表的情况下,进入步骤4,如果是其他的情形,依照正式的语句结构对上述IPMP工具列表间的IPMP工具信息进行语句结构分析。
·步骤2:如果在终端可以获得所有请求的IPMP工具,则进入步骤4。
·步骤3:检索由IPMP工具信息所指定的必要的IPMP工具,在检索不成功的情况下终止检索,否则进入步骤4。
·步骤4:在顺利获得所有的IPMP工具后,如果有存取许可,则可利用的多媒体信息有可能在数据缓冲区中开始流动。
在接收多媒体信息流时,IPMP工具管理器首先通过搜索与所有的多媒体信息流有关的属于唯一信息头的IPMP工具列表包标志来查看上述多媒体信息流。在没找到IPMP工具信息包的上述标志的情况下,跳转步骤4。
在步骤3中,IPMP工具管理器试着要通过查看位置识别符类型ID及位置识别符的详细情况来检索各IPMP工具。对于1个IPMP工具对应有2个以上的位置识别符的情况下,上述IPMP工具管理器首先试着要用位置识别符1检索上述IPMP工具,在检索失败了的情况下,接着试着用位置识别符2检索。
在位置识别符的类型为“本地”的情况下,IPMP工具管理器依照所指定的IPMP工具名字或IPMP工具ID搜索终端自身的内容。
在位置识别符的类型为“***装置”的情况下,IPMP工具管理器依照所指定的IPMP工具名字或IPMP工具ID搜索所有的***装置。
在位置识别符的类型为“可远程下载”的情况下,IPMP工具管理器连接到指定的远程地址,如果需要,在IPMP工具管理器和工具提供商之间设置可相互接受的通信频道。
在位置识别符的类型为“不可远程下载”的情况下,IPMP工具管理器只把上述远程地址传递给IPMP***。
在位置识别符的类型为“多媒体信息流内部”的情况下,IPMP工具管理器通过检查工具格式ID以适合于终端的二进制格式装载上述工具,并把IPMP工具ID分配给作为工具描述符存放的工具实体。
在多路分解器接口304之后有声音解码器缓冲器306、图象解码器缓冲器307、IPMP工具解码器缓冲器301、对象描述符解码器缓冲器308、用于场景的二进制数据(binary data for scene)(BIFS)解码器缓冲器309、IPMP解码器缓冲器310。用于场景的二进制数据含有表示被分区化了的场景配置场所的数据。作为306、307、309的输出的声音信号、图象信号、BIFS信号还保留被加密了的状态不变。工具A(一个或多个)预先被装在各终端的存储器302中。
声音解码器缓冲器306通过检测点331被连接在声音解码器311上,图象解码器缓冲器307通过检测点332被连接在图象解码器312上,对象描述符解码器缓冲器308直接被连接在对象描述符解码器313上,用于场景的二进制数据(binary data for scene)(BIFS)解码器缓冲器309通过控制点333被连接在BIFS解码器314上。还有,IPMP解码器缓冲器310被连接到IPMP消息路由器324的IPMP的基本信息流325上。在IPMP的基本信息流325中保持有被加密了的扰频密钥。
在图中,黑圆点所示的控制点331~339为IPMP检测点,可以利用在IPMP***324中的工具对通过控制点的数据加以必要的处理(扰频、水印检测、复制卡等)。
在此实施例中,在控制点331、332、333上进行扰频。扰频所需要的工具(软)通过IPMP消息路由器324、终端工具消息接口321从IPMP工具1、2或3获得。
声音解码器311通过控制点334被连接在声音合成缓冲器315上,图象解码器312通过控制点335被连接在图象合成缓冲器316上,BIFS解码器314通过控制点336被连接在解码BISF317上。
在控制点334、335、336上进行水印检测。水印检测所需要的工具(软)通过IPMP消息路由器324、终端工具消息接口321从IPMP工具1、2或3获得。例如,IPMP工具2保持有扰频所需要的工具,IPMP工具3保持有水印检测所需要的工具。
声音合成缓冲器315通过控制点337被连接在合成器318上,图象合成缓冲器316通过控制点338被连接在合成器318上,解码BISF317通过控制点339和BISF树被连接在合成器318上。合成器318再被连接到作为输出的渲染器320。
在控制点337、338、339上进行别的水印检测和复制卡处理。水印检测和复制卡处理所需要的工具(软)通过IPMP消息路由器324、终端工具消息接口321从IPMP工具1、2或3获得。
IPMP工具管理器300具有分析IPMP工具列表的分析部350和检索IPMP工具的检索部351。对象描述符解码器缓冲器308直接被连接在对象描述符解码器313上,并对被包含在多媒体信息流中的对象描述符解码。被解码后的对象描述符被送到IPMP工具管理器300,对必要的工具所存在的位置进行特定,用于取得该工具的数据从IPMP工具管理器300被送到工具消息接口321。如果被特定了的工具在存储器302中,则工具消息接口321把该工具移到IPMP工具2或3,并进行必要的处理。如果被特定了的工具不在储器302中,则通过因特网等传输路存取远程工具360,并把必需的工具下载到IPMP工具1中。还有,如果必需的工具只存在于远程IPMP工具B362而不能下载,则进行如下动作,即被加密了的数据通过IPMP工具B的当地客户端程序364送到远程IPMP工具B362、并送回在远程IPMP工具B362上解读的数据。
包含IPMP工具管理器及IPMP工具列表的此体系结构可以适用于任意的MPEG-n***,图5表示IPMP工具管理器被装入MPEG2-IPMP***的情形。这里所示的例子不包含对象。在由PES所示的黑点表示的控制点上进行去扰频和水印信息的解读。
对于多媒体信息的同一部分,与MPEG-n的IPMP***相关的一般的语句结构可以用如下那样的流程定义。
[数3]
Class UserAuthentication()
{
Class ReceivingContentStream()
{
Class DemuxContent()
{
Class IPMPToolsManagement()
{
Class ParseIPMPToolsInformation();//IPMP Tool
Management module,see 2.3 for details;
Class RetriveIPMPTools(); //IPMP
Tool Management module,see 2.3 for details;
{
Class ContentConsumptionStart();
}
}
}
}
}
2.在用户权利认证中应被指定的输出消息
虽然不推荐把用户权利认证(RA)方法标准化,但认证结果或RA用输出消息有必要确定基准或预先确定基准。为了获得带保护的多媒体信息的使用许可,此消息必须通过MPEG-n的IPMP***。
我们提出应把认证输出消息设定为标准规格,该标准应象下面那样至少由3个字段组成。
[表7]
与用户权利认证(RA)的功能有关的语句结构列表如下。
[数4]
Class RightAuthenticationMessages()
{
bit(1)Valid;
if(valid)
{
Class RetrieveLicence();
Bit(16) Licence;
Class UsageRule();
Bit(length) UsageRule;
}
}
妥当性表示用户(终端)是否合法,其结果也可以只显示真或伪的。使用规则应该包含存取多媒体信息的用户权利的细节(比如玩1次或多次)。以下对许可证进行说明。
如IPMP数据所示(例如,Mpeg4—IPMP的IPMP—ES),扰频被加在多媒体信息上,并把该扰频密钥传送到多媒体信息流内,这是众所周知的。例如,在IPMP—ES中加有被加密了的扰频密钥。为了确保更高的安全性,上述扰频密钥可以进一步加密,使之实现2层的安全性。为了对被加了扰频的多媒体信息用的扰频密钥进行解密所使用的第2层密钥被称为“许可证”。“许可证”为消费带保护的多媒体信息的最小的必要条件。许可证应在非基准用户认证处理期间通过安全的通道从许可证服务器被检索。
不论IPMP终端使用什么样的用户认证方法,上述认证输出消息都应该在用户认证中被提供出来。
这里的使用规则可以用与消费类型及规则用的二进制格式有关的表4进一步定义。也可以用XML格式取代二进制格式定义上述使用规则并进行对话。
图6所示的连线图表示和MPEG-4的IPMP***一起工作的用户认证模块,在执行用户认证后,请求多媒体信息代理商把许可证发给用户。用户ID信息被包含在IPMP***内。此用户ID信息在标准的情形下不定义的用户认证中进行用户ID的查对。在此查对中使用比如随机数。如果查对成立,则作为合法的用户对服务器进行用户登录。
[表8]
用二进制格式定义的消费类型及规则
如图7的连线图所示,2重安全构造对MPEG-n的IPMP可以实现。从服务器送来的许可证密钥被送往IPMP工具保持部。还有,包含于多媒体信息流内的被加密了的扰频密钥经过由虚线所示的路线并被送到IPMP工具保持部。在IPMP工具保持部上用许可证密钥对扰频密钥进行解读。经解读后的扰频密钥由扰频密钥保持部保持,在IPMP工具工作时被使用。这样,IPMP工具加有基于扰频密钥和许可证密钥的2重安全关。
3.IPMP工具用的一般接口
在我们设定了使用数据加密/解密、水印及水印和解密的组合的典型用途概要的情况下,可以定义通用的接口。
数据检测接口
众所周知,基于数据块的数据加密/解密工具在独立的IPMP***中因比较重要而被广泛使用,特别是其算法具有某种收敛性。于是,可以容易地指定其接口并表达几乎所有的数据加密及解密技术,上述技术的一部分虽然不为人所知,但其接口在预测范围内。
数据加密/解密的对称算法用的NESSIE接口
所有的存取单元的基于数据块的数据加密/解密用的通用接口可在IPMP***中定义。IPMP工具提供商和IPMP终端实施者这双方可以依照同一接口在工具提供商这一边把工具编译成二进制格式,把正确的二进制工具传递到IPMP终端这一边。下述接口被用NESSIE(与署名、维护性及加密有关的新欧洲方式)定义,我们可以在我们所定义的IPMP***中使上述接口适合于块数据加密/解密用。上述接口由3类即NESSIEKeysetup()、NESSIEencrypt()及NESSIEdecrypt()组成,表示如下。
void NESSIEkeysetup(const unsigned char*const key,struct NESSIEstruct*const structpointer);
void NESSIEencrypt(const struct NESSIEstruct*const structpointer,const unsigned char*const plaintext,unsigned char*constciphertext);
void NESSIEdecrypt(const struct NESSIEstruct*const structpointer,const unsigned char*const ciphertext,unsigned char*const plaintext);
水印接口
关于使用水印的目的,有4个主要的领域。
·著作权保护-决定媒体数据的正当的所有权。
·非法复制追踪-监视并追踪非法制造和复制。
·复制保护-禁止未经许可的媒体复制。
·图象认证-检测出数据的改变。
通过分析上述各领域可以知道如下事项。在著作权保护的情况下,在编码时进行嵌入并进行离线检测。于是,不必和其他的实时解密及解码模块一起在IPMP终端被实时实施。
在复制保护的情况下,权利认证工具比起使用水印可以提供复杂得多的使用规则,可以更加顺利地进行处理。
在使用控制多媒体信息加密及解码的水印的情况下,必须在IPMP终端上指定并安装水印检测器。
无论对水印复制控制嵌入及检测使用什么样的算法,水印检测用的通用接口也可以依照如下在基准IPMP终端上指定。
PSL水印检测(Unsigned Char*Input,Unsigned Char*WatermarkInfor)
在多媒体信息提供商/分发商这边嵌入复制控制并在加密及解码后进行复制控制检测,因此,有必要通过在IPMP终端指定并安装上述接口使得在IPMP终端上也可以使用不同的水印检测技术。
对于图象认证,此情形与著作权保护的情形一样。也就是说,可以离线进行。
用于非法复制追踪的在其他***中被广泛提议并被使用的以多媒体信息追踪为目的的嵌入用户ID及终端ID的水印嵌入具有极好的功能。还有,这里提出把水印嵌入作为基本特征使用,可以被存放在IPMP***中,在再生用途上进一步防止多媒体信息被非法复制。众所周知,这里在IPMP***中,最初通过数据加密/解密进行保护,与非法复制相关的追踪通过水印嵌入进行。
在空间域或频域无论使用什么样的技术、无论在什么领域、图象或声音使用这些技术,输入消息及输出消息应该相同,水印嵌入方法如下。PSLWatermarkEmbedding(Unsigned char*Input,Unsigned char*WatermarkInfor,Unsigned char*Output)
在此情况下,可以离线进行水印检测。
关于何种算法被用于的水印嵌入是IPMP终端实施者的责任,在此情况下,基准IPMP终端只要在必须实施水印嵌入功能、嵌入用户ID或终端ID、追踪非法复制的IPMP***上设定必要条件,上述接口就不必在IPMP***上指定。
在与IPMP终端上被使用的独立型水印有关的结论中,通用接口只在使用了水印的复制控制检测的情况下被定义。
水印检测及数据解密的组合
被嵌入多媒体信息的解密用的密钥是通过处理密钥自身来保护多媒体信息的极好的方法。在这样的情况下,可以象如下那样指定2个接口。PSLWatermarkExtraction(Unsigned char*Input,Unsigned char*Key)PSLDecryption(Unsigned char*Input,Unsigned char*Key,Unsigned char*Output)
处理方法如下。
可以通过由AU用多媒体信息解码→密钥抽出→使用了由上述AU抽出的密钥的下一个AU解密、循环规则执行。
4.局部数据解密
图8表示可以选择适用于位而不是位流整体进行数据加密及解密。
图8(a)表示带有编码器的局部加密,说明可以有选择地对在多媒体信息提供商这边的加密处理中重要的位进行加密。
在图8(a)中,模块8.1为根据MPEG2、MPEG4等把声音或图象等原始的输入源加密为信息流的编码器。在模块8.2中,被选中的位或信息在其他的位之中是必需的或重要的,因此,可以通过加密这些位或信息来保护多媒体信息。8.0为开关,8.8为切换开关8.0的选择器。在图8(a)中,选择器8.8根据预先确定了的周期或时间区段进行切换并输出信号。由此,编码器的输出在确定好了的时间区段上被加密,在其他的时间不加密。
图8(b)表示在由编码器编码的数据内可以有选择地对重要的位进行加密的例子。还有,编码器8.1不是只存在于多媒体信息分发商之中,还包含存在于多媒体信息分发商之外的情形。如果是后者的情形,则多媒体信息提供商接受并分发被编码了的信息流。在这种情形下,多媒体信息分发商要用已有的或其自身的加密工具保护加密的多媒体信息。
在图8(b)中,模块8.3为具有对由模块8.4执行的加密用的重要位进行语句结构分析并选择的选择器的局部解码器。经编码后的信息流直接被送往开关8.0,同时也被送到局部解码器及选择器8.3。局部解码器及选择器8.3对经编码后的数据进行解码,并检测出重要的数据部分如在图象信号的情况下的I-图象部分或P-图象部分。然后,当重要的数据部分被检测出来时,控制开关8.0,使得与该部分对应的编码信息流的区段被送往密码器8.4。因此,也可以在来自编码器8.1的分支点和开关8.0之间设置必要的延迟部。局部解码器及选择器8.3可以对输入的经编码后的信号进行局部解码,也可以对整体进行解码。
图8(c)表示解码这一方的构成。这里所示的是局部解密,表示对在IPMP终端这边产生的局部加密信息流有选择地进行解密的实施例。
在图8(c)中,模块8.5为具有对由模块8.6执行的解密用的位进行语句结构分析并检测的检测器的局部编码器。同时,经解码后的声音或图象从模块8.7被输出。检测器8.5通过试解码检测出可解码的部分和不可解码的部分。对于不可解码的部分,判断与该部分相当的信息流为经过加密的区段,从而检测出加密的区段。信息流内经过加密的区段被送往密码解读器8.6,并被解密。
5.IPMP***用的可能的结构
不同的应用、不同的终端、不同的卖主有与IPMP***有关的不同的必要条件。只用一个基准很难应付所有的情形。此问题基本上取决于IPMP工具是事先被装载的还是可下载的。对于纯粹的硬件实现,只要用多数的情况下装有Java虚拟机器的可下载特定工具的机顶盒的新平台或移动装置,几乎所有的工具都事先被装载或被嵌入。
在请求复杂程度小的动作的情况下,某移动或便携终端需要有事先编码的IPMP工具。PC应用程序非常灵活,工具可以下载,也可以事先被编码。
在可以下载IPMP工具的情况下,被下载的IPMP工具的接口也必须被定义。消息接口是一种给处理未知或专用IPMP工具的IPMP终端以非常灵活的构造的极好的解决方案,但对IPMP终端要求较复杂的安装。
在指定3个结构的情况下,如表5所示那样根据终端功能处理3个的情形,即固定IPMP工具用的单纯结构、灵活IPMP工具及固定接口用的核心结构和灵活IPMP工具及灵活接口用的高级结构这3个。
在工具被固定的情况下,必须用标准的方法定义被推荐的IPMP工具的种类并使制造者可以安装在终端上。在此情况下,接口由IPMP终端安装者所决定。
[表9]
不同的终端用的3个结构
对于工具没被固定但接口被固定的情形,必须用标准的方法指定与不同种类的IPMP工具有关的几个通用接口。
对于工具和接口双方都没被固定的情形,必须详细指定消息接口并用标准的方法通知动作。
此发明解决如下课题,即通过取入对IPMP工具列表进行语句结构分析取得IPMP工具的IPMP工具管理器模块和多媒体信息流的之前的IPMP工具列表包实现用不同种类的IPMP***再生同一带保护的多媒体信息。可以通过指定IPMP工具格式ID下载不同格式的IPMP工具并使之在IPMP终端上一致。还有,3个主要的IPMP工具用的一般工具接口也在此发明中指定,完善IPMP***。
2层构造不仅可以给予更高的安全性,还固定不同的用户认证方法用的输出构造、并使之具有终端互换性。用这样的构造对不同的卖主可以用不同的方法进行用户认证,可以确保相互运用性。
考虑取得并使用IPMP工具的终端复杂性及灵活性定义不同的结构。对不同的终端及不同的IPMP工具卖主可以用同一标准并给予大的适用范围。
图9为在另一实施例中的著作权保护***的构成图。在图9中,1为提供商,2为用户终端,3为网络,提供商1和用户终端2相连接。提供商1持有加密多媒体信息11、其解密密钥、著作权保护工具之一的解码模块13、著作权保护信息之一的多媒体信息的利用规则14、管理该利用规则的著作权保护工具之一的利用规则管理模块15,用户终端2在初始状态下什么也不持有。
以下将描述在如以上那样构成的本发明的一实施例中的著作权保护(IPMP)***中更新著作权保护***、依照利用规则解读及再生加密的多媒体信息的方法。
图10为表示在本发明的实施例中的著作权保护***中在提供商及用户终端之间交换的消息的流程图。
图11为消息的具体例,各消息是由在“=”号左边所示的预先登录的消息条目名和接在“=”号后面的消息条目的值(数据)的组合构成的。
首先,用户终端2为了在持有想要视听的多媒体信息的提供商处进行用户登录获得必需的著作权保护(IPMP)工具,把消息1送往提供商1。消息1作为消息条目是由消息ID(识别符)、用户名、支付方法及用户终端信息构成。各消息条目的值如下。消息1的目的是用户登录,因此,消息ID的值为表达“用户登录”的值,登录所需的用户名的值为“松下太郎”。还有,视听的多媒体信息的价格支付方法的值为含有用户的***的种类、***、有效期的加密了的“信用***码”。用户终端信息的值为在Windows OS上工作的机器,因此,该值为“Windows OS”。
这些信息在网络3的入口处进一步被加密,其密码在出口处被解读。
密码的方法用公开密钥的密码方式或通用密钥的密码方式,此内容在比如工业图书1997年冈本等人所著《现代密码》中有详述。
接受了消息1的提供商记录用户名及解读后的信用***码,把用户ID“XYZ”分配给用户终端2,并把消息2返回用户终端2。消息2为用户为了视听多媒体信息进行必要的初始设定的内容,因此,消息ID的值为“初始设定”,包含用户ID的值“XYZ”和作为提供商持有的多媒体信息的一览表的“多媒体信息列表”作为IPMP信息的值,或者包含用于解读加密多媒体信息的解读模块的识别符(解读模块ID)及其存在的位置(所在地)作为IPMP工具信息的值。还有,为了依照利用规则进行多媒体信息的视听,还包含利用规则管理模块的识别符(利用规则管理模块ID)及其存在的位置(所在地)作为IPMP工具信息的值。此时,解读模块和利用规则管理模块选中直接装入作为Windows机器的用户终端上的东西。当然,消息2及其后续的消息在通过网络3时都被加密。
接受了消息2的用户终端通过文件传输等手段获得由解读模块ID及其所在位置所指定的解读模块和由利用规则管理模块ID及其所在位置所指定的利用规则管理模块,并作为著作权保护工具(IPMP工具)装入该用户终端。此文件传输也还是被加密了的文件传输,别的用户终端因没有用于解密的密钥,因此,即便拦截到这些模块也没法解读。
接着,用户终端2从多媒体信息列表选择希望视听的多媒体信息1,并把持有多媒体信息请求作为消息ID的消息3送到提供商。消息3还包含值“XYZ”作为用户ID,并包含请求的多媒体信息1的ID作为多媒体信息。
接受了这些信息的提供商1在使用用户的信用***码向***公司要求支付所请求的多媒体信息1的价格之后,把加密的多媒体信息1送到用户终端2,并返回消息4。消息4是由消息ID、2个著作权保护(IPMP)信息及多媒体信息构成的。消息ID的值为“多媒体信息分发”,IPMP信息的值为所请求的多媒体信息1的利用规则1和用于解读加密了的多媒体信息1的密码的解读密钥1。多媒体信息就是所请求的加密了的多媒体信息1。解读密钥1以公开密钥密码方式被加密并被送往用户终端2,因此,即便第三者拦截到此消息4也没法解读解密密钥的密码,不会引起多媒体信息的泄漏。
在接受了消息4的用户终端2中,先前装入的利用规则管理模块25在确认利用规则1的同时控制解读模块23,解读模块23用解读密钥1解读加密了的多媒体信息1、显示并输出被解读了的多媒体信息1。解读模块23解加密多媒体信息1的密码的动作为通用密钥密码方式,在上述文献中有详细描述。
接着,依照图12所示的利用规则1的一实施例,以下用图13的流程图说明控制对加密多媒体信息1进行解读的解读模块23的利用规则管理模块25的动作。
首先,利用规则管理模块25检查利用规则1的第1行,用用户终端那边的时钟确认此多媒体信息是否在可利用的期间内进入,如果没进入则结束处理。
如果进入了,则接着确认用户是否把多媒体信息转移到别的存储器,如果转移则查看利用规则1内的可转移次数,如果此值比0大则把多媒体信息转移到用户指定的存储器,并把可转移次数减1。
接着,确认用户是否制作此多媒体信息的拷贝,在制作的情况下查看利用规则1内的可拷贝次数,如果此值比0大则把多媒体信息及其利用规则拷贝到用户指定的存储器,并把可拷贝次数减1。为了处理简化,拷贝目的地的多媒体信息的可拷贝次数设为0,但也可以控制总的拷贝次数,使之不超过初始的可拷贝次数。
接着,确认用户是否再生此多媒体信息,在再生的情况下查看利用规则1内的可再生次数,如果此值比0大则对解读模块23指示多媒体信息的解读·显示输出。
接受了指令的解读模块23如前述那样对多媒体信息1进行解密并显示输出其结果。
接着,利用规则管理模块25检测出再生结束,在此之前查看再生了的时间是否超过了免费再生时间,在超过了的情况下,可再生次数减1并结束再生。
根据基于上述利用规则管理模块25的利用规则1的管理,提供商1只执行计划好的次数的再生。同时,拷贝次数、转移次数都按照提供商的意图被管理。
还有,在本实施例中,消息是由预先确定好了的消息条目和用“=”号连结的该条目的值(数据)的组合构成的,但只要是能理解消息的值的意义的方法,什么方法都可以,例如,也可以是把预先确定好的意义分配到消息中的位的位置的方法。
根据以上那样的构成及方法,在本发明的可更新的著作权保护***中,通过用户终端解读从提供商被发送到用户终端的消息,可以对著作权保护模块进行更新,并依照提供商所给定的利用规则进行多媒体信息的视听。
也就是说,根据在消息中是否存在模块ID可以判定是否进行模块的更新,在模块ID存在的情况下,借助于所在位置的值可以知道模块在什么位置,可以进行模块的下载。
还有,消息条目名预先被确定,因此,通过搜索此消息条目名可以得到消息条目的值,因此,消息条目和其值的组合在消息中以什么顺序放进去都可以。
还有,如上所述,提供商1根据消息1知道用户终端2的OS的种类,通过选择适合于该用户终端2的著作权保护模块1并下载到用户终端2,用户终端2可以不必安装虚拟机器。