CN101547201B - 通信设备,通信系统及传输方法 - Google Patents

通信设备,通信系统及传输方法 Download PDF

Info

Publication number
CN101547201B
CN101547201B CN2009101279783A CN200910127978A CN101547201B CN 101547201 B CN101547201 B CN 101547201B CN 2009101279783 A CN2009101279783 A CN 2009101279783A CN 200910127978 A CN200910127978 A CN 200910127978A CN 101547201 B CN101547201 B CN 101547201B
Authority
CN
China
Prior art keywords
section
encrypted
encrypted section
preferential
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009101279783A
Other languages
English (en)
Other versions
CN101547201A (zh
Inventor
梅泽健太郎
小池龙一
松本英树
松下达之
加藤拓
外山春彦
佐藤英昭
上林达
伊藤聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Publication of CN101547201A publication Critical patent/CN101547201A/zh
Application granted granted Critical
Publication of CN101547201B publication Critical patent/CN101547201B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Abstract

一种通信设备存储具有作为加密内容的一部分的多个段的加密段以及传输次数。至少一个第一段由多个不同的加密密钥加密。该通信设备基于其第一段被加密的多个加密段中其传输次数为零的未传输的加密段的数量,将与第一段中至少一个第一段对应的多个加密段选为优先段,并存储规定优先段的优先段信息。当从其他通信设备接收段请求时,该通信设备基于优先段信息确定将要被传输的加密段,并将该加密段传输至其他通信设备。本发明还提供相应的通信系统和通信方法。

Description

通信设备,通信系统及传输方法
技术领域
本发明涉及将通过加密密钥加密的加密内容传输至其他通信设备的通信设备,通信系统及传输方法。
背景技术
一般说来,分发内容的系统包括″单服务器型″和″分发服务器型″。在单服务器系统中,一个内容服务器,许可服务器和客户经由网络互相连接,内容服务器将内容分发至每一个客户。所分发的内容被加密,并且许可服务器具有涉及此加密的密钥信息。内容服务器将内容保存为E(KT)[C]。KT代表被称为标题密钥的密钥,C代表明文内容。E(KT)[C]表示C被KT加密。加密信息包括KT。客户B从许可服务器获取密钥信息,使用对于客户(客户B)特定的密钥KB将密钥信息加密,并通过使该加密的密钥信息与从内容服务器接收的内容E(KT)[C]相关联来保存加密的密钥信息。客户B使用密钥KB将密钥信息解密,提取标题密钥KT,并使用标题密钥KT将E(KT)[C]解密,借此使用该内容。
在该构造中,在从内容服务器下载内容E(KT)[C]时,客户B与内容服务器进行认证和密钥交换。结果是,客户B共用临时密钥KtmpB。内容服务器使用临时密钥ktmpb将内容E(KT)[C]加密,并将内容E(KtmpB)[E(KT)[C]]传输至客户B。客户B使用通过上述认证和密钥交换与内容服务器共用的临时密钥ktmpb将内容E(KtmpB)[E(KT)[C]]解密并提取E(KT)[C]。在该构造中,即使当加密内容E(KtmpB)[E(KT)[C]]在网络的通路上被不正当地读出时,没有临时密钥KtmpB,被不正当读取的加密内容也不能被解密。即,通过使用对于每一个客户不同的临时密钥将内容加密,能够使相同的内容对于每一个客户是各不相同的,借此约束内容的越权使用。举例来说,通过使用于客户A的临时密钥KtmpA不同于用于客户B的临时密钥KtmpB,分发给客户A的内容E(KtmpA)[E(KT)[C]]和分发给客户B的内容E(KtmpB)[E(KT)[C]]变成互相不同的数据。通过以这样的方式使用不同的加密密钥使相同的内容互不相同,能够约束内容的越权使用。
然而,根据单服务器系统,客户和内容服务器以一对一的方式互相通信。因此,当许多客户尝试从内容服务器接收所分发的内容时,分发效率变差。
另一方面,根据分发服务器系统,存在一种基于P2P的被称为比特流(BitTorrent)的内容分发系统,如比特流协议规范(BitTorrent Protocol Specification)v1.0所示。在此系统中,对于每一个内容都不同的追踪器(tracker)、播种者(seeder)和吸收者(leecher)被基于P2P互相连接。所分发的内容被分割成多个段。播种者是用于分发构成内容的段以分发(上载)内容的节点。吸收者是用于接收构成内容的每个段并分发构成内容的各个段以接收(下载)内容的节点。即,当吸收者获取构成内容的一些内容段时,吸收者在某些情况中变成播种者。如上所述,播种者包括在接收构成内容的全部或部分段之后转变为播种者的吸收者,和预先或者在分发期间在系统侧作为最初播种者制备的播种者。后者的播种者被称作初始播种者。初始播种者保存能够构成某一内容的所有段或部分段。以下,除非另作规定,播种者意指播种者或初始播种者,以及节点意指吸收者,播种者或初始播种者。追踪器保存有关每一个节点的节点信息,并且当存在来自吸收者的访问时将节点信息提供给吸收者。
在此构造中,当某一吸收者将要接收内容的分发时,吸收者首先获得被称为流文件(Torrent File)的信息。运行将内容出售给内容供应商或用户的服务的服务器(称为销售服务器)将流文件给予其他节点或销售服务器。进一步,其他节点或销售服务器将该流文件给予吸收者。在诸如小型碟片只读存储器(CD-ROM)的记录介质上记录的流文件也以脱机方式分发给吸收者。流文件存储有关内容的追踪器信息以及内容的文件信息。追踪器信息包括追踪器连接目的地。文件信息包括构成内容的每一个段的散列信息。散列信息被用来确认各个段的完整性。即,散列信息被用来计算由吸收者下载的段的散列,将该散列与段的散列值比较,并确认所接收的段未被篡改。
当已经获取此流文件之后,吸收者基于追踪器信息连接至追踪器。追踪器将节点信息传输给吸收者。节点信息包括单个或多个节点的连接目的地列表。吸收者基于节点信息连接至多个节点。通过节点分发的各个段在很多情况下对于每一个节点是不同的。因为吸收者能够从多个结点接收不同的段,因此吸收者能够以高速度接收内容。
如上所述,根据基于P2P的内容分发系统,内容以分散状态保存在多个节点中。因此,在此系统中,即使当存在接收所分发内容的许多节点时,节点也能够基于P2P从多个其他节点接收所分发的内容。因此,分发效率优于单服务器系统的效率。
为了在能够从多个节点分发内容的内容分发系统中约束内容的越权使用,优选的是通过加密保护可分发的内容。然而,不同于单服务器系统,在此内容分发系统中,每一个吸收者从播种者接收的相同的内容即使在加密状态中也需要是相同的。因此,困难在于分发对于每个吸收者个别加密的内容。因此,存在这样的风险,即当用于解密加密内容的一个密钥被泄露时,存在于网络中的许多内容都能够被解密。
尤其是,当多个吸收者不经由服务器等互相交换加密的内容段时,难以控制每一个吸收者获取内容的操作。从而,密钥泄露的影响是严重的。
发明内容
根据本发明的一个方面的是传输作为内容的一部分的多个段的通信设备,该设备包括存储通过用加密密钥加密每一个段而获得的多个加密段,并且存储通过用多个不同的加密密钥加密各个段中的至少一个第一段而获得的多个加密段的第一存储单元;存储在第一存储单元中存储的每一个加密段的传输次数的第二存储单元;基于其第一段被加密的加密段中其传输次数为零的未传输的加密段的数量将与至少一个第一段对应的加密段选为优先段的选择单元;控制第二存储单元以使该第二存储单元另外还存储规定所选择的优先段的优先段信息的存储控制单元;从其他通信设备接收请求加密段的段请求的接收单元;当接收到段请求时将被优先段信息规定为优先段的加密段确定为传输候选的第一确定单元;在被确定为传输候选的加密段中将至少一个未传输的加密段确定为将要被传输的加密段的第二确定单元;将被确定将要被传输的加密段传输至其他通信设备的传输单元;根据由传输单元传输的加密段更新存储在第二存储单元中的每一个加密段的传输次数的第一更新单元;和当被优先段信息规定为优先段的加密段中不再存在未传输的加密段时在第二存储单元中更新存储在第二存储单元中的优先段信息以使优先段变为未被优先段信息规定的初始状态的第二更新单元。
根据本发明的另一个方面,通信系统包括进行作为内容的一部分的多个段的传输和接收的第一通信设备,和进行作为内容的一部分的多个段的传输和接收的第二通信设备,第一通信设备和第二通信设备经由网络连接,其中,每一个第一通信设备和第二通信设备都包括存储通过用加密密钥加密每一个段而获得的多个加密段,并且存储通过用多个不同的加密密钥加密各个段中的至少一个第一段而获得的多个加密段的第一存储单元,存储在第一存储单元中存储的每一个加密段的传输次数的第二存储单元,基于其第一段被加密的加密段中其传输次数为零的未传输的加密段的数量将与至少一个第一段对应的多个加密段选为优先段的选择单元,控制第二存储单元以使该第二存储单元另外还存储规定所选择的优先段的优先段信息的存储控制单元,从其他通信设备接收请求加密段的段请求的接收单元,当接收段请求时将被优先段信息规定为优先段的加密段确定为传输候选的第一确定单元,在被确定为传输候选的加密段中将至少一个未传输的加密段确定为将要被传输的加密段的第二确定单元,将被确定将要被传输的加密段传输至其他通信设备的传输单元,按照由传输单元传输的加密段更新存储在第二存储单元中的每一个加密段的传输次数的第一更新单元,当被优先段信息规定为优先段的加密段中不再存在未传输的加密段时更新第二存储单元中的优先段信息以使优先段变为未被优先段信息规定的初始状态的第二更新单元,从其他通信设备接收加密段的段接收单元,和控制第一存储单元以使该第一存储单元存储所接收的加密段的段存储控制单元,以及其中包括在第一通信设备中的传输单元将被确定将要被传输的加密段传输至第二通信设备,以及包括在第二通信设备中的段接收单元接收从包括在第一通信设备中的传输单元传输的加密段。
根据本发明的又一个方面的是一种在通信设备中实施的传输方法,该通信设备传输作为内容的一部分的多个段,并包括第一存储单元和第二存储单元,第一存储单元作为存储通过用加密密钥加密每一个段所获取的多个加密段的存储单元并存储通过用多个不同的加密密钥加密各个段中的至少一个第一段获得的多个加密段,第二存储单元存储在第一存储单元中存储的每一个加密段的传输次数,该方法包括基于其第一段被加密的加密段中其传输次数为零的未传输的加密段的数量将与至少一个第一段对应的加密段选为优先段;在第二存储单元中控制第二存储单元以使第二存储单元另外还存储规定所选择的优先段的优先段信息;从其他通信设备接收请求加密段的段请求;当接收段请求时将被优先段信息规定为优先段的加密段确定为传输候选;在被确定为传输候选的加密段中将至少一个未传输的加密段确定为将要被传输的加密段;将被确定将要被传输的加密段传输至其他通信设备;根据所传输的加密段更新存储在第二存储单元中的每一个加密段的传输次数;和当被优先段信息规定为优先段的加密段中不再存在未传输的加密段时在第二存储单元中更新存储在第二存储单元中的优先段信息以使优先段变为未被优先段信息规定的初始状态。
附图说明
图1是图解根据本发明的第一实施例的内容分发系统的构造的框图;
图2是图解内容被分割成多个段的状态的示意图;
图3是图解每一个加密段的示意图;
图4是图解存储在播种者中的每一个加密段的实例的示意图;
图5是图解存储在播种者中的每一个加密段的实例的示意图;
图6是图解存储在播种者中的每一个加密段的实例的示意图;
图7是图解播种者的功能构造的实例的示意图;
图8是图解段信息的数据构造的实例的示意图;
图9是图解传输状态表的数据构造的实例的示意图;
图10是图解吸收者的功能构造的实例的示意图;
图11是图解流文件的实例的示意图;
图12是图解密钥服务器的功能构造的实例的示意图;
图13是图解节点信息的数据构造的实例的示意图;
图14是内容分发处理的过程的流程图;
图15是优先段索引(index)选择处理和加密段传输处理的过程的流程图;
图16是优先段索引选择处理的详细过程的流程图;
图17是变量索引确定处理的过程的流程图;
图18是传输状态表更新处理的过程的流程图;
图19是检查处理的过程的流程图;
图20是图解根据第一实施例的变型例的流文件的数据结构的实例的示意图;
图21是图解根据该变型例的包括散列值的索引信息的实例的示意图;
图22是根据该变型例的传输状态表更新处理的过程的流程图;
图23是图解根据该变型例的段请求的数据构造的实例的示意图;
图24是图解根据本发明的第二实施例的播种者的功能构造的实例的示意图;
图25是图解传输状态表的数据构造的实例的示意图;
图26是优先段索引选择处理和加密段传输处理的过程的流程图;
图27是传输标记检查处理的过程的流程图;
图28是变量索引确定处理的过程的流程图;
图29是传输状态表更新处理的过程的流程图;
图30是根据第二实施例的变型例的传输状态表;
图31是图解根据该变型例的播种者的功能构造的实例的示意图;
图32是图解根据该变型例的连续段请求的数据构造的实例的示意图;
图33是图解根据该变型例的新段请求的数据构造的实例的示意图;以及
图34是根据该变型例的优先段索引选择处理和加密段传输处理的过程的流程图。
具体实施方式
下文将参照附图详细解释根据本发明的通信设备,通信系统及传输方法的示范性实施例。
图1是根据本发明的第一实施例的内容分发系统的构造的框图。在根据第一实施例的内容分发系统中,吸收者50A和50B,追踪器51,播种者52A至52C以及销售服务器54经由P2P网络NT互相连接。吸收者50A和50B经由诸如因特网的网络(未显示)连接至密钥服务器53。在此实例中,节点是吸收者50A和50B以及播种者52A至52C。播种者52A至52C保存用对于分割成多个段的内容不同的加密密钥分别加密的加密段。包括加密段的内容以下被称为加密内容。下文将描述加密内容的细节。在播种者52A至52C中,播种者52A起着上述初始播种者的作用。播种者52A保存所有加密段,该加密段是通过对构成一个内容的每一个段使用用于相同的段的多个加密密钥分别加密产生的。追踪器51保存访问每一个节点的节点信息。密钥服务器53保存解密每一个加密段的解密密钥。销售服务器54保存流文件。
吸收者50A从销售服务器54接收流文件,基于流文件通过访问追踪器51获取节点信息,并通过访问播种者52A至52C和吸收者50B中的至少一个接收每一个加密段。吸收者50A获取与所有段对应的所有加密段,并从密钥服务器53接收包括解密每一个加密段的每一个解密密钥的密钥簇。吸收者50B进行类似的操作。当吸收者50A和50B不需要区分时,这些吸收者以下被简单描述为吸收者50。当播种者52A至52C不需要区分时,以下这些播种者也被简单地描述为播种者52。
下文将解释内容的构造。内容是指各种类型的数字数据,诸如文本数据和静止图像数据,还有诸如Motion Picture Experts Group(MPETG)2和MPEG4的活动图像数据和音频数据。被加密的这些数字数据也被称作内容。举例来说,遵循Advanced Access ContentSystem(AACS)规范加密的HD DVD Prepared Video Content也是内容。这里所有的内容都用C表示。C可以是明文或者被加密的。图2是图解内容被分割成多个段的状态的示意图。举例来说,作为一个内容C的内容C被分割成N(N>1)个段C1至CN。每一个段C1,C2,...,CN的数据长度可以相同,或者可以不同。N个段C1至CN用互相不同的加密密钥加密。在这种情况下,在N个段中,使用用于相同的段的互相不同的m(m>1)个加密密钥将″a″段加密。使用用于相同的段的一个加密密钥(第一加密密钥)将剩余的(N-a)个段加密。即,对于″a″段,使用m个不同的加密密钥将相同的段加密以生成不同的m个段(加密段)。对于(N-a)个段,使用一个加密密钥将每一个段加密以生成用于一个段的一个加密段。图3是图解每一个加密段的示意图。对于每一个″a″段,每一个加密段都选自m个加密段的各个加密段的组合都不同,借此使包括N个加密段的所有加密内容个别化。
下文将解释吸收者50,追踪器51,播种者52和密钥服务器53的硬件构造。每一个装置都包括控制所有装置的诸如中央处理单元(CPU)的控制装置,存储各种数据和各种程序的诸如ROM和随机存取存储器(RAM)的存储装置,存储各种数据和各种程序的诸如硬盘驱动器(HDD)和小型光盘(CD)驱动装置的外部存储装置,和连接这些装置的总线。以这种方式,每一个装置都具有使用普通计算机的硬件构造。每一个装置被连接至显示信息的显示装置,从用户处接收指令输入的诸如键盘和鼠标的输入装置,和通过有线或无线控制外部装置的通信的通信接口(I/F)。
下文将详细解释播种者52的构造。播种者52通过使构成内容C的多个段C1至CN与解密段C1至CN的解密密钥的索引相关联存储多个段C1至CN的加密段。每一个解密密钥可以与每一个加密密钥相同,或者可以与每一个加密密钥不同。因为每一个段C1至CN用每一个加密密钥加密,对于解密每一个加密段的每一个解密密钥,能够使用每一个解密密钥的索引规定每一个加密段。每一个加密段被存储在例如外部存储装置中。
为简单起见,下述说明基于加密密钥和解密密钥相同。当用(i,j)表示解密密钥的索引时,还有当用(i,j)表示解密密钥时,例如每一个加密段可以表示如下。E(K(i,j))[Cj](这里,i和j是整数,并且1≤i≤m,1≤j≤N(m>1))。对于互相不同的索引(i,j)和(i′,j′),((i,j)≠(i′,j′)),K(i,j)可以是K(i,j)=K(i′,j′)。
举例来说,用加密段构造的加密内容被表示如下。
{E(K(i1,1))[C1],E(K(i2,2))[C2],...,E(K(iN,N))[CN]}(这里,1≤i1,...,iN≤m)。
该加密内容中的加密段的序列用每一个加密段的索引的组合表示,并举例来说表示如下。在此实例中,对应于段C1至CN的索引从左开始依序表示。
{(i1,1),(i2,2),...,(iN,N)}(这里,i≤i1,...,iN≤m)。
因此,举例来说,播种者52通过互相关联存储每一个加密段和索引的序列可以被表示如下。
{(E(K(i1,1)[C1],(i1,1)),(E(K(i2,1)[C2],(i2,2)),...,(E(K(iN,N)[CN],(iN,N)))}(这里,i≤i1,...,iN≤m)。
以下,在段C1至CN之间进行区别的索引j被表示为段索引,生成与解密密钥的数量对应的变量的索引i被表示为变量索引。索引j和索引i的集合被简单表示为索引。关于对应于段索引j的段,当存在用两个或更多互相不同的加密密钥加密的加密段时,这些加密段的集合被恰当地描述为加密段行j。
作为初始播种者的播种者52A存储所有加密段,对于与构成内容的每一个段对应的每一个加密段,每一个加密段都通过由用于相同的段的多个加密密钥加密而生成。图4是图解存储在播种者52A中的每一个加密段的实例的示意图。图4描绘这样的状态,即对于N个段中的″a″(1<a<N)个段,用互相不同的加密密钥加密相同的段。在图4中,用来加密相同的段的加密密钥的数量对于每一个段是不同的。用于段C1的加密密钥的数量是m,用于段C3的加密密钥的数量是2。然而,在第一实施例中,用于加密相同的段的加密密钥的数量可以对于每一个段相同。段处理装置对于N个段中的″a″(1<a<N)个段使用互相不同的多个加密密钥加密相同的段,借此增加用于具有高重要性的段的加密密钥的数量。
在第一实施例中,段的加密不限于如上所述的实例。举例来说,如图5所示,当″a=N″,即对于所有的N个段,能够对于相同的段使用互相不同的m个加密密钥加密每一个段。根据此构造,能够提供加密段的序列的许多变量。如图6所示,当″a=1″时,即N个段中只有一个段能够用互相不同的m个加密密钥加密。根据此构造,能够提高分发效率。
作为初始播种者的播种者52A之外的播种者52B和52c不是必定保存作为属于加密段行j的加密段存在的所有加密段。当播种者52B和52c在某个时间点仅保存作为属于该加密段行的加密段存在的加密段的一部分时,作为将要被处理的各个段,加密段的对应的部分受到不同的处理。假设对于至少一个加密段行j,播种者52保存用互相不同的两个或更多加密密钥加密的加密段。至少段索引被假设在包括播种者52A的播种者52(传输者侧)和播种者变成传输加密段的传输者之后的吸收者50之间共用,即,在传输者之间共用。如后文所述,当接收加密段的接收者侧指定变量索引时,变量索引也在传输者侧之间共用。这一点能够在传输者侧共用相同的流文件时实现。这些播种者52B和52C能够通过从其他播种者52或吸收者50接收加密段保存作为属于加密段行j的加密段存在的所有加密段。
下文将解释播种者52的CPU通过执行存储在存储装置和外部存储装置中的各个程序而实现的各种功能。图7是图解播种者52的功能构造的实例的示意图。播种者52包括段信息传输单元520,段请求接收单元521,优先段索引选择单元522,段索引确定单元523,变量索引确定单元524,传输状态表更新单元525和段传输单元526。播种者52具有传输状态表(未显示)。举例来说,传输状态表是存储在外部存储装置中的数据表。
段信息传输单元520基于来自吸收者50的访问将指示存储在播种者52中的加密段的段索引的段信息传输至吸收者50。图8是图解段信息的数据构造的实例的示意图。图8仅描绘段索引,并描绘播种者52具有对应于段C19,C29,C100和C101的加密段。根据此构造,由播种者52保存的加密段(i,j)的变量索引i能够被隐藏在吸收者50中。在此构造中,吸收者50通过在接收流文件的信息和加密段的时候引用被描述为报头信息的变量索引值i能够确定由吸收者50获取的加密段的序列。播种者52还可以将指示段索引j和变量索引i的集合(i,j)的段信息而不仅仅是段索引j传输至吸收者50。
段请求接收单元521基于上述段信息从请求加密段的吸收者50处接收段请求。
传输状态表更新单元525计算存储在播种者52中的每一个加密段的传输次数,并通过使该数量与每一个加密段相关联而将该传输次数存储在传输状态表中。图9是图解传输状态表的数据构造的实例的示意图。图9中显示的传输状态表描绘构成内容的所有段的段索引,以及对应于段索引存在的所有变量索引。在这些索引中,传输状态表更新单元525存储对应于存储在播种者52中的加密段的每一个索引(i,j)的传输次数。在传输状态表中,优先段索引标记与每一个段索引相关联。优先段索引标记规定下文将解释的优先段索引选择单元522将其选为优先段索引的段索引,并且这与优先段信息相对应。作为初始值,优先段索引标记被设定为″0″。被设定为″1″的段索引显示该段索引被选为优先段索引。当在传输加密段之后建立优先段索引的初始条件时,传输状态表更新单元525将所有段索引的优先段索引标记的值设定为″0″,借此初始化优先段索引。即,当优先段索引的初始化条件被建立时,传输状态表更新单元525将优先段索引设定为初始状态,在初始状态中优先段索引未被优先段索引标记规定。优先段索引的初始化条件意味着在属于与被选为优先段索引的段索引对应的加密段行的加密段中不存在还未被传输的加密段。这意味着不存在其传输次数为零的加密段。传输次数为零不是意味着传输记录是零,而意味着自从上次分发后某一时间已经过去,或者基于分发侧的方针通过将传输次数设定为零而使分发开始。举例来说,可以基于分发在P2P网络NT中未被确认这样的确定来完成该设定。
优先段索引选择单元522引用传输状态表,并且对于每一个加密段行计算存储在播种者52中的加密段中未传输的加密段的数量,即其传输次数为″0″的加密段的数量。通过该构造,优先段索引选择单元522将具有最大数量的未传输的加密段的加密段行的段索引j选为优先段索引。即,包括在被选为优先段索引的段索引j的加密段行中的多个加密段被选为优先段。优先段是在用不同的加密密钥加密的多个加密段中优先分发的段。优先段索引选择单元522将传输状态表中对应于被选为优先段索引的段索引的优先段索引标记设定为″1″。优先段索引的数量可以是多个。在这种情况下,优先段索引选择单元522以未传输的加密段的数量大小的次序选择优先段索引。
当段请求接收单元521接收段请求时,段索引确定单元523引用传输状态表中的优先段索引标记,并确定被选为优先段索引的段索引j是否存在。当确定的结果是肯定的时,将要被设定为传输候选的加密段的段索引j被确定。变量索引确定单元524从属于加密段行的加密段的变量索引中确定将要被传输的加密段的变量索引i,该加密段行对应于由段索引确定单元523确定的并保存在变量索引确定单元524中的段索引j。结果是,包括段索引j和变量i的集合的索引(i,j)被确定,并且与索引(i,j)对应的加密段被确定将要被传输。
段传输单元526将与包括由段索引确定单元523确定的段索引j和由变量索引确定单元524确定的变量索引i的集合的索引(i,j)对应的加密段传输至吸收者50。
下文将解释由吸收者50的CPU通过执行存储在上述硬件构造中的存储装置和外部存储装置中的各个程序而实现的各种功能。图10是图解吸收者50的功能构造的实例的示意图。吸收者50包括内容获取单元500,密钥簇请求单元501,密钥簇获取单元502和内容解密单元503。当CPU执行程序时在诸如RAM的存储装置上生成每一个单元的实体。
内容获取单元500经由P2P网络NT从至少一个播种者52接收构成加密内容的每一个加密段。具体地说,内容获取单元500首先从销售服务器54获取流文件。流文件包括追踪器信息和文件信息,追踪器信息包含连接到追踪器51的追踪器连接目的地信息,文件信息指示构成加密内容的每一个加密段。图11是图解流文件的实例的示意图。图11作为文件信息描绘与加密段对应的索引,作为规定每一个加密段的信息。
内容获取单元500基于流文件经由P2P网络NT访问追踪器51,并从追踪器51接收访问连接至P2P网络NT的节点(播种者52,及其他吸收者50)的节点信息。后文将描述节点信息的细节。内容获取单元500基于节点信息访问至少一个节点,并获取指示保存在内容获取单元500中的加密段的序列的段信息。内容获取单元500基于段信息从至少一个节点接收构成加密内容的每一个加密段,并获取构成加密内容的所有加密段(段序列)。举例来说,内容获取单元500从图3中所示的加密段中获取作为段序列的所有网状的加密段。
密钥簇请求单元501将请求解码段序列的密钥簇的请求消息传输至密钥服务器53。密钥簇包括通过匹配每一个被解密段的序列解密段序列的每一个加密密钥的每一个解密密钥。后文将描述密钥簇和解密密钥的细节。请求消息包括指示段序列中的加密段的索引的组合(序列)的作为指定包括在密钥簇中的每一个解密密钥的序列的信息的索引信息。举例来说,该序列被表示如下。
{(i1,1),(i2,2),...,(iN,N)}(这里,i≤i1,...,iN≤m)。
密钥簇获取单元502接收从与请求消息对应的密钥服务器53传输的密钥簇。内容解密单元503使用与包括在由密钥簇获取单元502获取的密钥簇中的每一个加密密钥对应的解密密钥解密由内容获取单元500获取的每一个加密段,借此获取由解密段构造的内容。
如上所述,吸收者50还可以作为播种者。因为在播种者52的构造中描述了吸收者50的功能构造,因此将省略对其的说明。当吸收者50作为播种者时,吸收者50保存对应于段C1至CN中的至少两个段的加密段。吸收者50保存通过两个或更多加密密钥加密的加密段。进一步,对于如上所述的至少一个加密段,吸收者50保存通过两个或更多互相不同的加密密钥加密的这些加密段。
下文将解释密钥服务器53的CPU通过执行存储装置和外部存储装置中存储的各个程序而实现的各个功能。图12是图解密钥服务器53的功能构造的实例的示意图。密钥服务器53包括控制单元530,包处理单元531,网络接口单元532,认证/密钥交换处理单元533,密钥存储单元534,序列信息存储单元536,序列信息检查单元535和密钥提供单元537。当CPU执行程序时,控制单元530,序列信息检查单元535,网络接口单元532,包处理单元531,认证/密钥交换处理单元533和密钥提供单元537的实体在诸如RAM的存储装置上生成。举例来说,密钥存储单元534存储在外部存储单元中。
控制单元530控制密钥服务器53的全部,并介入从序列信息检查单元535到密钥提供单元537的指令中。包处理单元531把将要被传输至诸如吸收者50的外部装置的各种数据处理成包,将数据包分发至网络接口单元532,并基于从网络接口单元532分发的包获取数据。网络接口单元532控制与外部装置的通信,传输从包处理单元531分发的数据包,并将从外部装置接收的包分发至包处理单元531。
认证/密钥交换处理单元533经由网络接口单元532与吸收者50进行交互认证,并在认证之后从吸收者50接收索引信息。
密钥存储单元534由诸如HDD的外部存储装置构造,并存储解密每一个加密段的每一个解密密钥。举例来说,每一个加密密钥如上所述用K(i,j)表示。
序列信息存储单元536由诸如HDD的外部存储装置构造,并存储指示与在过去传输至吸收者50的所有密钥簇对应的序列的序列信息。类似于上述索引信息中所示的序列,与密钥簇对应的序列被表示如下。
{(i1,1),(i2,2),...,(iN,N)}(这里,i≤i1,...,iN≤m)。
序列信息检查单元535将存储在序列信息存储单元536中的序列信息与从吸收者50接收的索引信息进行比较,并确定是否传输与由索引信息显示的序列对应的密钥簇。具体地说,当序列信息存储单元536中未存储指示与索引信息中显示的序列相同的序列的序列信息时,序列信息检查单元535确定传输与由索引信息显示的序列对应的密钥簇。举例来说,密钥簇被表示如下。在此实例中,与段C1至CN对应的解密密钥从左开始依序排开。
{K(i1,1),K(i2,2),...,K(in<N)}(这里,i≤i1,...,iN≤m)。
当序列信息检查单元535确定传输密钥簇时,序列信息检查单元535经由控制单元530指令密钥提供单元537将密钥簇传输至吸收者50。当序列信息检查单元535确定不传输密钥簇时,序列信息检查单元535经由控制单元530指令密钥提供单元537禁止将密钥簇传输至吸收者50。
当由序列信息检查单元535经由控制单元530指令密钥提供单元537传输密钥簇时,密钥提供单元537从密钥存储单元534读取与密钥簇序列对应的解密密钥,并经由网络接口单元532将包括所读取的解密密钥的密钥簇传输至吸收者50。
下文将解释追踪器51的构造。当吸收者50访问追踪器51时,追踪器51将访问连接到P2P网络NT的节点的节点信息传输至吸收者50。节点信息包括每一个节点的IP地址和端口号的集合。图13是图解节点信息的数据构造的实例的示意图。在图13中,节点A和B中的每一个是吸收者50A和50B及播种者52A至52C中的任何一个。图13描绘每一个节点的IP地址和端口号的集合。
下文将参照图14解释由根据第一实施例的内容分发系统进行的内容分发处理的过程。虽然吸收者50也可以从其他吸收者50接收加密段,但为了说明的便利,吸收者50从播种者52A至52C中的至少一个接收加密密钥。
吸收者50首先访问销售服务器54,并获取流文件(步骤S1)。当吸收者50使用包括在流文件中包括的追踪器信息中的追踪器连接目的地信息访问追踪器51时(步骤S2),追踪器51将节点信息传输至吸收者50(步骤S3)。当吸收者50接收节点信息时(步骤S4),吸收者50使用该节点信息访问播种者52A至52C中的至少一个(步骤S5)。当吸收者50访问播种者52时,播种者52将指示由播种者52保存的加密段的段索引的段信息传输至吸收者50,如图8所示(步骤S6)。当吸收者50接收段信息时(步骤S7),吸收者50访问传输至少指示将要被获取的段的段索引的段信息的播种者52(步骤S8)。吸收者50将请求加密段的段请求传输至播种者52。另一方面,播种者52进行优先段索引选择处理。当播种者52从吸收者50接收段请求时,播种者52进行与段请求对应的加密段传输处理(步骤S9)。
下文将参照图15解释由播种者52进行的优先段索引选择处理和加密段传输处理。播种者52首先进行优先段索引选择处理(步骤S20)。图16是优先段索引选择处理的详细过程的流程图。播种者52引用传输状态表,并确定优先段索引是否处于初始状态,即,优先段索引标记″1″是否被设定(步骤S100)。当确定的结果是否定的,即当确定优先段索引未处于初始状态时,播种者52使用已经设定的优先段索引标记。因此,播种者52结束优先段索引选择处理。当确定的结果是肯定的,即当确定优先段索引处于初始状态时,播种者52引用传输状态表中的每一个段索引j的加密段行j的传输次数(步骤S101),并对于每一个加密段行计算属于该加密段行的加密段中未传输的加密段的数量。播种者52搜索对于每一个加密段行计算的最大数量的未传输的加密段的段索引(步骤S102)。当不存在具有未传输的加密段的加密段行时,这意味播种者52在此阶段传输由播种者52保存的所有加密段。在这种情况下,播种者52能够不需要基于上述系统提供给吸收者50与段请求对应的加密段,或者能够停止加密段的提供。此后,当未传输的加密段以某种途径添加时,播种者52能够将加密段的段索引选为优先段索引,并重新启动加密段的提供。
在步骤S102之后,播种者52确定通过搜索获取的段索引是否是仅有的段索引(步骤S103)。当确定的结果是肯定的时,播种者52将该段索引选为优先段索引(步骤S105)。播种者52将传输状态表中对应于被选为优先段索引的段索引的优先段索引标记设定为″1″。当在步骤S103的确定的结果是否定的时,这意味着存在相同数量的未传输的加密段的多个段,并且优先段索引的多个候选是可以得到的。在这种情况下,播种者52在这些段索引中随机地选择一个段索引(步骤S104),并将其选为优先段索引。播种者52以类似于上述的方式设定传输状态表中优先段索引标记的值(步骤S105)。
返回参照图15,此后,当播种者52从吸收者50接收段请求时(步骤S21为是),播种者52进行加密段传输处理。在该加密段传输处理中,播种者52首先进行段索引确定处理(步骤S22)。在该处理中,播种者52将优先段索引,即传输状态表中具有被设定到优先段索引标记的″1″的段索引确定为将要被传输至吸收者50的加密段的候选段索引。
播种者52确定加密段的段索引的传输候选是否被确定(步骤S23)。当确定的结果是肯定的时,播种者52进行变量索引确定处理(步骤S24)。当在步骤S23的确定的结果是否定的时,播种者52将指示加密段未被传输的通知消息传输至吸收者50,并等待新的段请求。播种者52不需要将通知消息传输至吸收者50。在这种情况下,能够减小播种者52的处理负荷。
图17是变量索引确定处理的过程的流程图。播种者52首先获取在上述段索引确定处理中确定的段索引(步骤S500)。播种者52将该段索引用作密钥引用传输状态表(步骤S501),并确定未传输的加密段是否存在于段索引的加密段行中(步骤S502)。当确定的结果是否定的时,播种者52不确定变量索引,并结束变量索引确定处理。在步骤S502的确定被进行以作出关于当播种者52与许多吸收者平行地进行加密段传输处理时是否存在未传输的加密段的精确确定。然而,当加密段传输处理未对许多吸收者进行时,该确定能够省略。
当在步骤S502的确定的结果是肯定的时,播种者52确认在步骤S500获取的段索引的未传输的加密段中的未传输的加密段的数量(步骤S503)。当存在一个未传输的加密段,即当变量索引被确定为只有一个时,播种者52将未传输的加密段的变量索引确定为将要被传输的加密段的变量索引(步骤S505)。播种者52结束变量索引确定处理。当在步骤S503存在多个未传输的加密段时,播种者52在未传输的加密段的变量索引中随机地选择一个变量索引(步骤S504),并将该变量索引确定为将要被传输的加密段的变量索引(步骤S505)。播种者52结束变量索引确定处理。当存在多个候选变量索引时,播种者52能够并非随机地而是基于与候选变量索引对应的加密段的P2P网络NT的分发状态从多个候选变量索引中选择一个变量索引。
返回参照图15,播种者52确定外部存储装置是否实际上存储与索引(i,j)对应的加密段,该索引(i,j)包括在步骤S22确定的段索引j和在步骤S24确定的变量索引i的集合(步骤S25)。当确定的结果是肯定的时,播种者52从外部存储装置读取加密段,并将其传输至吸收者50(步骤S26)。当在步骤S25的确定的结果是否定的时,播种者52将指示加密段未被传输的通知消息传输至吸收者50,并等待新的段请求。在这种情况下,播种者52不需要将通知消息传输至吸收者50。
在步骤S26之后,播种者52更新与所传输的加密段对应的传输状态表(步骤S27)。图18是传输状态表更新处理的过程的流程图。播种者52获取所传输的加密段的段索引j和变量索引i(步骤S800),并将与传输状态表中的索引(i,j)相对应的传输次数增加1(步骤S801)。播种者52确定是否建立了优先段索引的初始化条件。具体地说,播种者52确定是否存在与优先段索引对应的未传输的加密段,即在具有被设定到优先段索引标记的″1″的段索引的加密段行中是否存在其传输次数为″0″的加密段。当确定的结果是肯定的时,播种者52结束传输状态表更新处理。当在步骤S802的确定的结果是否定的时,即当不存在与优先段索引对应的未传输的加密段时,播种者52将″0″设定到与传输状态表中所有的段索引对应的优先段索引标记的值,借此初始化优先段索引(步骤S803)。然后播种者52结束传输状态表更新处理。
另一方面,当吸收者50从播种者52接收加密段时,当吸收者50未获取与构成内容的所有的段C1至CN对应的加密段时,吸收者50访问其他吸收者(例如播种者53C)。吸收者50然后从其他播种者53C获取段信息。吸收者50以与上述类似的方式使用段信息访问其他播种者52,并尝试获取加密段。吸收者50重复上述处理以获取加密内容
{E(K(i1,1))[C1],E(K(i2,2))[C2],...,E(K(iN,N))[CN]}。
当吸收者50不能从诸如特定的播种者52和其他吸收者50的其他通信方接收加密段时,吸收者50能够向其他通信方请求相同的加密段,或者向相同的通信方请求不同的加密段。
当吸收者50获取与构成内容的每一个段对应的每一个加密段和与构成加密内容的段对应的所有加密段时,吸收者50将请求包括解密每一个加密段的每一个解密密钥的密钥簇的请求消息传输至密钥服务器53(步骤S10)。该请求消息包括指示与每一个解密密钥对应的序列的索引信息{(i1,1),...,(iN,N)}。
当密钥服务器53的认证/密钥交换处理单元533经由网络接口单元532接收请求消息时(步骤S11),认证/密钥交换处理单元533与吸收者50交互认证。当认证成功时,认证/密钥交换处理单元533将指示请求的接受的接受消息传输至吸收者50(步骤S12)。当吸收者50从密钥服务器53接收该接受消息时(步骤S13),吸收者50等待来自密钥服务器53的密钥簇的传输。
另一方面,密钥服务器53的序列信息检查单元535使用包括在步骤S11接收的请求消息中的索引信息进行检查处理(步骤S14)。图19是检查处理的过程的流程图。在检查处理中,序列信息检查单元535将包括在步骤S11处接收的请求消息中的索引信息与存储在序列信息存储单元536中的序列信息进行比较(步骤S140),并确定指示与索引信息中显示的序列相同的序列信息是否存储在序列信息存储单元536中(步骤S141)。即,序列信息检查单元535确定由吸收者50请求的密钥簇是否在过去被传输至任何一个吸收者50。
当确定的结果是否定的时(步骤S141为否),序列信息检查单元535确定传输与索引信息中显示的序列对应的密钥簇{K(i1,1),K(i22),...,K(iN,N)}。序列信息检查单元535经由控制单元530指令密钥提供单元537将密钥簇传输至吸收者50。序列信息检查单元535在序列信息存储单元536中存储指示该序列的序列信息(步骤S142)。密钥提供单元537从密钥存储单元534读取由序列信息检查单元535经由控制单元530指令其传输的密钥簇,并将密钥簇经由网络接口单元532传输至吸收者50(步骤S143)。当在步骤S141的确定的结果是肯定的时,序列信息检查单元535确定不传输密钥簇,并指令密钥提供单元537禁止将密钥簇传输至吸收者50(步骤S144)。
返回参照图14,当吸收者50从密钥服务器53接收密钥簇{K(i1,1),K(i2,2),...,K(iN,N)}时(步骤S15为是),吸收者50将加密段{E(K(i1,1))[C1],E(K(i2,2))[C2],...,E(K(iN,N))[CN]}解密(步骤S16),获取解密的段C1至CN,并获取由这些解密段C1至CN构成的内容C。吸收者50使用解密密钥K(i1,1)解密E(K(i1,1))[C1]以获取段C1,使用解密密钥K(i2,2)解密E(K(i2,2))[C2]以获取段C2,以及使用解密密钥K(iN,N)解密E(K(iN,N))[CN]以获取段CN。吸收者50类似地获取其他段,并获取由段C1至CN构成的内容C。
当吸收者50在步骤S15未接收密钥簇并在图19中的步骤S143接收从密钥服务器53传输的出错消息时,吸收者50无法将在步骤S10获取的每一个段解密,并且结果是不能使用内容。在这种情况下,处理回到步骤S5。吸收者50获取与在步骤S10获取的序列不同的序列中的每一个加密段,并且此后再次进行步骤S10之后的处理。
如上所述,在将相同的内容经由P2P网络NT分发给多个吸收者50的时候,密钥服务器53确定是否使用加密段的序列传输密钥簇。当密钥服务器53避免已经使用过的序列的再使用时,密钥服务器53能够使内容对于每一个吸收者50个别化。即便一个密钥簇被泄漏,也只能够解密与该密钥簇对应的加密内容。因此,能够约束内容的再使用。通过使用由吸收者50选择性地获取的加密段确定的序列,能够实现与P2P网络NT的环境对应的灵活的内容分发。
上述说明中,在播种者52进行与来自吸收者50的段请求对应的加密段的传输时,对于由播种者52保存的加密段,播种者52优先传输所有未传输的加密段。即,在将作为在内容分发系统中分发的加密内容的一部分的各个段向其他通信设备传输时,播种者52直到多个加密段中由播种者52保存的其中每一个相同的段用多个互相不同的密钥加密的所有加密段被传输之前不提供其他的段。基于此构造,可以增加多个吸收者50同时从播种者52获取的加密段是同样的段索引的加密段的可能性。因此,能够约束吸收者对各个段的共用。因为吸收者再次获取已经被该吸收者保存的加密段是浪费的,因此加密段的共用或交换通常由提供不被吸收者保存的段索引的加密段的其他方进行。因此,根据第一实施例的构造,在加密段的变量能够被提供给相同的段之前,在吸收者中共用或交换加密段的机会能够减少。即,由多个互相不同的加密密钥加密的段被传输的机会增加,并且存在于P2P网络NT上的加密段的变量能够增加。结果是,能够增加每一个吸收者50获取互相不同的加密段的可能性。因此,能够减小被分发的加密内容的密钥的泄漏造成的影响。
虽然上文已经解释了第一实施例,但是还能够对其加入各种变型或改进。
在第一实施例中,流文件不限于所说明的形式。举例来说,文件信息可以包括每一个加密段的散列值。例如,每一个加密段的散列值被表示如下。{hash(E(K(i,j))[Cj])}(这里1≤i≤m,1≤j≤N)。
图20是图解流文件的数据构造的实例的示意图。吸收者50能够使用m×n散列值确认所接收的每一个加密段的完整性。生成流文件的人或者可靠的第三人(举例来说,内容制作者)能够数字化地将签名附加至流文件。在这种情况下,除了每一个所接收的加密段的完整性之外,吸收者50还可以确认有效性。
在该构造中,播种者52能够进一步将包括散列值的段信息传输至吸收者50。图21是图解包括散列值的索引信息的实例的示意图。在这种情况下,吸收者50还可以使用散列值确认每一个所接收的加密段的完整性。
文件信息不需要用于所有的索引(在上述实例中,1≤i≤m,1≤j≤N的所有(i,j)),并且可以是所有索引的一部分。
流文件可以包括它的版本号或有效期限信息。在这种情况下,吸收者50能够知道所获取的流文件此时是否是有效的。举例来说,当在某个时间获取的流文件是无效的时,吸收者50可以获取最新的流文件。或者,吸收者50可以使用在某个时间获取的流文件获取加密段。当播种者52(对于吸收者50)保存与未知的索引对应的加密段时,吸收者50可以接收与该未知索引对应的加密段,并可以通过在接收加密段之后获取最新的流文件确认所接收的每一个加密段的完整性或有效性。
在第一实施例中,虽然吸收者50在步骤S10通过将索引信息包括在请求消息中来将索引信息传输至密钥服务器53,但是吸收者50可以替代地在接收所接受的消息之后将索引信息传输至密钥服务器53。
在第一实施例中,节点信息可以替代地包括节点的统一资源定位符(URL),来代替节点的IP地址和端口号的集合,或者除了节点的IP地址和端口号的集合之外还可以包括节点的URL。
虽然播种者52基于来自吸收者50的访问在步骤S6传输指示由播种者52保存的段的序列的段信息,但是播种者52可以将段信息传输至吸收者50而不需要等待来自吸收者50的访问。
如上所述在步骤S9,虽然播种者52将加密段传输至吸收者50,但是除了加密段之外,播种者52也可以传输对应的索引。举例来说,当被传输的加密段是E(K(i1,1))[C1]时,除了加密段之外,播种者52还可以将对应的索引(1,1)传输至吸收者50。
在第一实施例中,虽然吸收者50从播种者52接收加密段,但是吸收者50也可以从其他吸收者50获取加密段。密钥服务器53和其他服务器可以被构造为具有与传输加密段的播种者52类似的功能,以使这些吸收者50可以获取加密段。
在第一实施例中,虽然在段C1至CN之间进行区分的索引j被处理为段索引,但是构成内容的段的顺序不必与加密段的顺序相同。在这种情况下,再排列成构成内容的段的顺序的加密段的顺序可以作为段索引被处理。
在传输状态表中,虽然优先标记被用来指示优先段索引,但是被选为优先段索引的段索引本身的值也可以被记录在传输状态表中。
在上述步骤S20处的优先段索引选择处理中,当存在多个变成优先段索引的候选段索引时,播种者52随机地选择这些段索引中的一个。或者,举例来说,播种者可以将高优先级设定给具有大的最大值的变量索引的加密段,该加密段属于与多个候选的每一个段索引对应的每一个加密段。播种者52可以选择具有最高优先级的段索引,并将其选为优先段索引。基于此构造,当与相同的段对应的加密段的变量的数量根据重要性增加时,具有高重要性的加密段能够被优先传输。因此,可以限制密钥泄漏的影响。
或者,播种者可以将高优先级设定给多个候选加密段中具有小的值的段候选,并将具有最高优先级的段索引选为优先段索引。基于此构造,播种者52可以从内容的报头段开始将加密段依序传输。举例来说,段索引的顺序可以与构成内容的段的顺序(再现顺序)相同。当吸收者50在接收侧从加密段的报头开始依序解密加密段时,在减少密钥泄漏的影响的同时能够防止解密处理和再现处理中的延迟。当段的顺序和加密段的顺序不相同时,并且还有当它们的关系是随机的时,按照对应段的顺序,段索引可以被优先地选为优先段索引。相反,高优先级可以被设定给具有大的值的候选段索引,并且具有高优先级顺序的段索引可以被选为优先段索引。当具有大的值的段索引被优先传输时,吸收者50可以防止在获取加密段之后即刻获取或再现加密密钥。因此,可以在P2P网络NT中确保传输和接收加密段的时间,并且可以使再现所需的时间平滑化。
或者,播种者52可以基于播种者52本身可以收集的周围的加密段的分发状态在多个优先段索引候选中选择一个优先段索引。通过分析显示吸收者50已经获取的加密段的段索引和变量索引的列表,通过从P2P网络NT中播种者52的周围存在的吸收者50获取该列表,可以获得播种者52周围的加密段的分发状态。或者,播种者52可以从已经能够获取播种者52周围的加密段的分发状态的追踪器51处获取分发状态。在这种情况下,播种者52在变成优先段索引候选的段索引中优先地将具有属于与段索引对应的加密段行的加密段的最小分发总数的段索引,或者具有多个加密段的传输次数的大的偏差的段索引选为优先段索引。基于该构造,适合于此时加密段的分发状态的段索引可以被选为优先段索引。
虽然已经说明了存在多个段索引候选时优先段索引选择处理的变型例,但是在变型例中各种权重可以被添加至用于选择优先段索引的选择标准,并且这些权重可以被组合。或者,在优先段索引的选择中,当未传输的加密段的数量相同时不作为选择标准,未传输的加密段的数量可以被组合。在这种情况下,取决于其他选择标准(举例来说,变量索引的值的大小),当未传输的加密段的数量不是最大值时的段索引被选为优先段索引。根据此构造,更灵活的优先段索引的选择变得可以与状态相对应。
在第一实施例中,虽然播种者52响应段请求传输一个加密段,但是播种者52也可以一次传输多个加密段。即,当在属于与优先段索引对应的加密段行的加密段中存在多个未传输的加密段时,播种者52可以一次将这些未传输的加密段传输至吸收者50。当在图15中的步骤S24到S26对段请求进行处理之后播种者52在步骤S27进行传输状态表更新处理时,以及当在多个加密段的传输中途属于与优先段索引对应的加密段行的加密段中不存在更多的未传输的加密段时,播种者52可以通过在步骤S20进行优先段索引选择处理更新优先段索引,并可以传输属于与新的优先段索引对应的加密段行的加密段中的未传输的加密段。通过以此方式传输来自相同加密段行的多个加密段,播种者52可以很快地传输特定的加密段行的加密段。尤其是,在具有变量索引的大的最大值的加密段中存在大的效果。通过向其他吸收者50提供与吸收者50接收加密段的带速度和连接的数量对应的加密段,可以提供加密段以限制密钥泄漏的影响。举例来说,通过将多个加密段传输至具有大的带的吸收者50而不是具有小的带的吸收者50,当吸收者50变成加密段的传输者时,可以以高速将单个加密段传输至其他吸收者50,借此避免加密段与其他吸收者50的共用。
在步骤S27的传输状态表更新处理中,虽然优先段索引的初始化在与优先段索引对应的加密段行中不存在未传输的加密段时进行,但该处理不限于此。举例来说,可以在加密段行的变量索引中未传输的加密段的数量比例等于或小于某阈值时进行优先段索引的初始化。或者,可以在从优先段索引被设定开始的某个时间经过之后将优先段索引初始化。通过提供上述构造,当变量索引的数量大于吸收者50的总数时,并且即使当难以提供加密段行中加密段的变量时,也可以获得下述效应。举例来说,已经接收与优先段索引对应的加密段的吸收者50可以顺利进行其他段索引的加密段的接收。
进一步,播种者52可以对应于在此时连接至播种者52的吸收者50的数量(以下称″吸收者数量″)和与优先段索引对应的加密段的变量索引的数量(以下称″变量数量″)之间的关系进行关于是否将优先段索引初始化的确定。在这种情况下,播种者52具有检测连接到播种者52的吸收者50的数量(吸收者数量)的单元。在步骤S802,播种者52将由此单元检测到的吸收者数量与变量数量进行比较。当吸收者数量小于变量数量时,播种者52确定所传输的加密段的变量索引的数量是否等于吸收者数量。当这些数量相等时,这被设定为初始化条件,并且播种者52以类似于步骤S803的方式将优先段索引初始化。播种者52将此阶段的吸收者数量作为初始化吸收者数量存储,并将此时的优先段索引作为初始化前优先段索引存储。在进行接下来的优先段索引选择处理时,播种者52将此时的吸收者数量与初始化吸收者数量进行比较。在这种情况下,当吸收者数量大于初始化吸收者数量时,播种者52将初始化前优先段索引重置为优先段索引。当吸收者数量等于或小于初始化吸收者数量时,播种者52从优先段索引候选中排除初始化前优先段索引,并进行优先段索引选择处理。当吸收者数量增加时,播种者52可以将初始化前优先段索引设定为优先段索引。或者,播种者52可以将初始化前优先段索引添加至优先段索引候选中。
为了在与所有变量索引对应的所有加密段被传输之前更新优先段索引,以及为了减小作为结果的段索引的加密段的密钥的泄漏造成的影响,播种者52可以被构造为直到吸收者数量超过变量数量时之前不将加密段提供至任何吸收者50。在优先段索引选择处理中,播种者52可以被构造为只处理具有比此时的吸收者数量更小数量的未传输的加密段的段索引,以选择优先段索引。为了在优先段索引选择处理中更新优先段索引,播种者52存储更新前段索引和此时的吸收者数量。当在接下来的优先段索引选择处理中吸收者数量存在变化时,播种者52可以被构造为确定更新前段索引是否可以被优先设定为优先段索引。基于此构造,对于其与所有变量索引对应的加密段还未被传输的段索引,与其他段索引对应的加密段可以在加密段被许多吸收者50共用之前被传输。为了增加播种者52中的加密段的分发效率,此构造可以与上述当加密段行的变量索引中的未传输的加密段的数量比例等于或小于某阈值时将优先段索引初始化的变型例的构造相结合。通过提供上述构造,当变量数量大于吸收者数量并且还当吸收者数量不比变量数量更大时,可以分发加密段。
进一步,在步骤S27的传输状态表更新处理中,当在步骤S802存在未传输的加密段时,播种者52可以被构造为通过重写系统设定生成用于更新优先段索引的更新事件的计时器,并通过计时器中断更新事件。图22是根据本变型例的传输状态表更新处理的过程的流程图。在步骤S800至S803的处理与第一实施例类似。在这种情况下,当在步骤S802的确定的结果是肯定的时,播种者52在步骤S804设定更新事件通过计时器的中断。当更新事件的中断出现时,在段索引确定处理中,播种者52处理段索引,该段索引不包括此时已经被设定的优先段索引。除了确认优先段索引是否处于初始状态以及事先已经设定的段索引不被处理之外,该段索引确定处理类似于步骤S20的处理。通过提供上述构造,可以提供下述分发模式。即,当变量数量大于吸收者50的总数并且还有当新的吸收者50不请求加密段的接收时,已经接收与优先段索引对应的加密段的吸收者50可以顺利进行其他段索引的加密段的接收。
如上所述,当认为播种者52不传输与属于与所设定的优先段索引对应的加密段行的所有变量索引对应的所有加密段时,播种者52可以被构造为在选择优先段索引时在传输状态表中将指示未传输段的存在的标记(以下称″未传输标记″)设定给事先已经设定为优先段索引的段索引。在段索引确定处理中,除了使用优先段索引标记确定变成传输候选的加密段的段索引的处理之外,播种者52还可以使用未传输标记恰当地进行确定变成传输候选的加密段的段索引的处理。即,播种者52也可以将其优先段索引标记被设定为″1″的段索引和其未传输标记的值被设定为″1″的段索引中的至少一个选为优先段索引。通过提供上述构造,提供还未传输的加密段的变量的机会可以被提供。通过用优先段索引标记代替段索引确定处理及用未传输标记代替段索引确定处理的优先级顺序,可以转换加密段的放出效率的优先级和加密段的分发效率的优先级。作为将要被应用于通过未传输标记确定成为传输候选的加密段的段索引的优先顺序,可以使用队列结构或堆栈结构,或者该结构可以是简单随机的。
如上所述的播种者52在步骤S9接收的段请求可以包括向根据第一实施例进行加密段处理的通信设备的段请求和向响应来自吸收者50的请求无条件地提供加密段的通信设备的段请求的两个请求。当响应来自吸收者50的请求无条件地提供加密段的通信设备存在时,接收段请求的通信设备可以响应段请求适当地进行处理,并且能够将加密段传输至吸收者50。另一方面,吸收者50不需要取决于传输段请求的另一方是前一种通信设备还是后一种通信设备在消息之间进行转换。因此,吸收者50不需要确定通信设备是前一种通信设备还是后一种通信设备。结果是,可以减小吸收者50的处理负荷。
如上所述的播种者52在步骤S9接收到的段请求可以包括显示由吸收者52指定的段索引j(称为指定段索引)和变量索引(称为指定变量索引)的集合(i,j)的列表。在这种情况下,在步骤S22的段索引确定处理中,播种者52将优先段索引与指定段索引进行比较,并且当这些段索引彼此符合时,播种者52将指定段索引确定为变成传输候选的加密段的段索引。在步骤S24的变量索引确定处理中,播种者52引用传输状态表的传输次数,并确定与指定变量索引对应的加密段是否是属于与指定段索引对应的加密段行的加密段中的未传输的加密段。即,播种者52确定加密段的传输次数是否是″0″。当确定的结果是肯定的时,播种者52从外部存储装置读取与指定变量索引和指定段索引对应的加密段,并将所读取的加密段传输至吸收者50。通过提供上述构造,当吸收者50想要的加密段存在时,吸收者50可以有效地获取该加密段。
或者,如上所述的播种者52在步骤S9接收的段请求可以包括显示由吸收者50指定的段索引j(指定段索引)的列表。在这种情况下,在步骤S22的段索引确定处理中,播种者52将优先段索引与指定段索引进行比较,并且当这些段索引彼此符合时,播种者52将指定段索引确定为传输候选加密段的段索引。在步骤S24的变量索引确定处理中,播种者52在传输状态表中引用与属于与指定段索引对应的加密段行的加密段的变量索引对应的传输次数,并确定属于加密段行的加密段中是否存在未传输的加密段。当确定的结果是肯定的时,播种者52从外部存储装置读取未传输的加密段和与段索引对应的加密段的变量索引,并将变量索引传输至吸收者50。通过提供上述构造,吸收者50可以获取与吸收者50期望的段索引对应的加密段,并且可以防止播种者52传输与预先获取的段索引对应的加密段。
如上所述的播种者52在步骤S9接收的段请求可以包括请求加密段的未获取部分的数据(称为部分获取加密段)的部分数据请求,其中吸收者50对于该加密段已经获取部分数据。该部分数据请求和请求其所有的数据未被获取的加密段的未获取段请求可以被区别地包括。部分数据请求可以是显示指定集合(i,j)的信息和数据的未获取部分的数据范围的列表,该集合(i,j)是指定部分获取加密段的指定段索引和指定变量索引的集合(i,j)。未获取段请求可以是显示指定未获取加密段的指定段索引和指定变量索引的集合(i,j)的列表,或者是仅显示指定段索引的列表。图23是图解根据变型例的段请求的数据构造的实例的示意图。举例来说,对于部分数据请求,图23描绘了在与索引(1,19)对应的加密段的数据中从第100个字节到第400个字节的数据被指定为未获取数据的数据范围。图23还描绘了未获取段请求是仅显示指定段索引的列表。
在该构造中,在步骤S22的段索引确定处理中,播种者52将优先段索引与部分数据请求中显示的指定段索引进行比较。当这些段索引互相符合时,播种者52进行下述处理。在步骤S24的变量索引确定处理中,播种者52确定在属于与优先段索引对应的加密段行的加密段中与指定变量索引对应的加密段是否是未传输的加密段。当确定的结果是肯定的时,播种者52从外部存储装置读取与指定变量索引和指定段索引对应的加密段中的指定数据范围的数据,并将数据传输至吸收者50。通过提供该构造,播种者52不需要分别询问由吸收者50保存的变量索引,并且能够减小播种者52和吸收者50的处理负荷。
当段请求除了部分数据请求之外还包括未获取段请求时,播种者52将优先段索引与部分数据请求中显示的指定段索引进行比较。当这些段索引互相不符合时,播种者52将优先段索引与未获取段请求中显示的指定段索引进行比较。当这些段索引互相符合时,播种者52在步骤S24的变量索引确定处理中确定在属于与优先段索引对应的加密段行的加密段中与指定变量索引对应的加密段是否是未传输的加密段。当确定的结果是肯定的时,播种者52从外部存储装置读取与指定变量索引和指定段索引对应的加密段,并将所读取的加密段传输至吸收者50。
即使当与在部分数据请求中指定的指定变量索引对应的加密段不是未传输的加密段时,播种者52也可以通过优先考虑吸收者50的部分获取加密段的完成来传输该加密段。在段索引确定处理中,当作为比较的结果优先段索引与在部分数据请求中指定的指定段索引不符合时,播种者52可以将指定段索引确定为传输候选加密段的段索引。通过提供上述构造,吸收者50可以优先地接收对于部分获取加密段必须的数据。因此,加密段可以较早地完成。因为能够与其他吸收者50共用加密段,因此可以提高分发效率。
部分数据请求可以是显示只指定指定段索引而不是指定部分获取加密段的指定段索引和指定变量索引的集合(i,j)的信息以及未获取数据的数据范围的列表。在这种情况下,段索引确定处理与如上所述的处理相同。在变量索引确定处理中,播种者52使用根据第一实施例或变型例的至少一个方法或方法组合确定将要被传输的加密段的变量索引。该实例中,播种者52确定在段索引确定处理中确定的段索引是在部分数据请求中被指定还是在未获取请求中被指定。作为确定的结果,当传输候选加密段的段索引在未获取请求中被指定时,播种者52从外部存储装置读取与在对应于段索引的变量索引确定处理中确定的段索引和变量索引对应的加密段,并将加密段传输至吸收者50。另一方面,当成为传输候选的加密段的段索引在部分数据获取请求中被指定时,播种者52进行获取指定指定变量索引的信息以指定部分获取加密段和未获取部分的数据的数据范围的处理。下文将描述该处理的一个实例。
首先,播种者52通知吸收者50被确定为传输候选加密段的段索引的段索引。当播种者52不能确定传输候选加密段的段索引时,播种者52可以将消息传输至该范围或者不将此消息传输至吸收者50。在前一种情况中,可以提高吸收者50的处理效率,在后一种情况中,可以提高播种者52的处理效率和耐攻击性。另一方面,当吸收者50从播种者52接收有关传输候选加密段的段索引的通知时,吸收者50响应此通知将规定与段索引对应的部分获取加密段的变量索引(指定变量索引)的信息和规定数据的未获取部分的数据范围的信息传输至播种者52。在接收到此信息时,播种者52将在变量索引确定处理中确定的变量索引与指定变量索引进行比较。当这些变量索引互相符合时,播种者52从外部存储装置读取与所确定的段索引和指定变量索引对应的加密段中指定数据范围内的数据,并将所读取的数据传输至吸收者50。
当在变量索引确定处理中确定的变量索引与指定变量索引不符合时,播种者52可以通知或不通知吸收者50有关可传输的加密段不存在的事实。在这种情况中预期的效果与如上所述的效果相同。即使当在变量索引确定处理中确定的变量索引与指定变量索引符合时,取决于指定的数据范围,播种者52可以拒绝加密段索引的提供。举例来说,当从加密段的报头开始到中间数据的数据被指定为数据范围时,播种者52可以拒绝加密段的提供。这是因为在正常的加密段的交换中未假设在报头周围的数据丢失,可以确定吸收者50有某种故意的攻击。当从指定数据范围假设的所获取段的比例未超出某个阈值时,加密段的提供可以以同样的理由被拒绝。
如上所述,通过确定是否基于指定数据范围传输加密段,能够排除吸收者50进行未正常假设的操作的影响,并能够提高安全性。即,如上所述,当吸收者50提供其所有数据还未被获取的加密段时,当吸收者50取决于数据的一部分是被预先获取还是所有数据已经被获取来分解处理时,对于其传输被请求的加密段,播种者52可以减小处理负荷。同时,在提供部分获取加密段中,播种者52可以通过不向吸收者50公开将要被传输的加密段的变量索引并使吸收者50花时间获取加密段,将某个限制力添加至随机获取许多加密段的吸收者50的处理。虽然播种者52仅将段索引通知吸收者50,但播种者52也可以传输在变量索引确定处理中确定的变量索引。在这种情况下,吸收者50可以更快地确定加密段是否是吸收者50期望的加密段。
下文将解释根据本发明的第二实施例的内容分发系统。与第一实施例相同的部分用同样的参考数字标注,并省略对其的说明。
根据第二实施例的内容分发系统与第一实施例的不同之处在于播种者52的功能构造。虽然根据第二实施例的播种者52传输与来自吸收者50的段请求对应的加密段,但是播种者52优先传输对于由播种者52保存的加密段还未传输的所有加密段。同时,播种者52根据情况在不包括未传输的加密段的加密段行中选择将要被传输的加密段,并传输所选择的加密段,以提高它的分发效率。
图24是图解播种者52的功能构造的实例的示意图。播种者52包括段信息传输单元520,段请求接收单元521,优先段索引选择单元522,段索引确定单元523,变量索引确定单元524,传输状态表更新单元525,段传输单元526和传输标记检查单元527。
传输状态表更新单元525在传输状态表中以类似于第一实施例的方式记录传输次数并将优先段索引初始化。第二实施例中,在初始化优先段索引时,传输状态表更新单元525在传输状态表中设定指示各个段已经被传输的标记(以下称″传输标记″)的值。图25是图解根据第二实施例的传输状态表的数据构造的实例的示意图。在图25显示的传输状态表中,每一个传输次数对应于存储在播种者52中的加密段的索引(i,j)被记录,并且优先段索引标记被与每一个加密段行相关联,如同第一实施例。进一步,在第二实施例中,传输标记被与每一个加密段行相关联。每一个传输标记指示属于与被选为优先段索引的段索引对应的加密段行的所有加密段是否已经被传输。″OFF″被设定给传输标记作为初始标记。传输状态表更新单元525在初始化优先段索引的时候对于初始化之前与优先段索引对应的每一个加密段行将传输标记的值设定为″ON″。
当段请求接收单元521接收段请求时,段索引确定单元523引用传输状态表中的优先段索引标记,并确定被选为优先段索引的段索引是否存在。当确定的结果是肯定的时,处理与第一实施例类似。当确定的结果是否定的时,段索引确定单元523经由传输标记检查单元527确定其传输标记被设定为″ON″的段索引j是否存在于传输状态表中。当确定的结果是肯定的时,段索引确定单元523确定成为传输候选的加密段的段索引j。
传输标记检查单元527引用传输状态表的传输标记,并检查其传输标记被设定为″ON″的段索引j。
段请求接收单元521,优先段索引选择单元522,变量索引确定单元524和段传输单元526的功能基本上类似于第一实施例中的单元。
当吸收者50起着播种者的作用时的功能构造也基本上类似于播种者52的功能构造,因此将省略对其的说明。
下文将解释根据第二实施例的内容分发系统中进行的内容分发处理的处理。虽然吸收者50也可以从其他吸收者50接收加密段,但为了说明的便利假定加密段从播种者52A至52C中的至少一个接收。下文将参照图14解释根据第二实施例的内容分发处理的处理本身。在第二实施例中,在图14中的步骤S9的加密段传输处理的详细过程不同于第一实施例中的处理。图26是根据第二实施例的优先段索引选择处理和加密段传输处理的过程的流程图。在步骤S20,播种者52以与第一实施例类似的方式进行优先段索引选择处理。在此情形中,假设即使当不存在未传输的加密段时播种者52仍继续加密段传输处理而不需要选择优先段索引,并且传输该加密段。在步骤S21和S22的处理与第一实施例类似。
在步骤S30,播种者52确定变成传输候选的加密段的段索引是否已经被确定,即在传输状态表中是否存在其优先段索引标记被设定为″1″的段索引,以及还有在这些段索引中是否确定了一个段索引。当确定的结果是肯定的时,处理也以类似于步骤S24的方式进行。当确定的结果是否定的时,处理前进至步骤S31。在步骤S31,播种者52进行传输标记检查处理。
图27是传输标记检查处理的过程的流程图。播种者52首先检查传输状态表中其传输标记被设定为″ON″的段索引(步骤S600)。播种者52确定是否存在其传输标记被设定为″ON″的段索引(步骤S601)。当确定的结果是否定的时,播种者52结束传输标记检查处理,而不需要确定成为传输候选的加密段的段索引。当在步骤S601确定的结果是肯定的时,播种者52确定是否存在多个对应的段索引(步骤S602)。当确定的结果是否定的时,播种者52将段索引确定为传输候选加密段的段索引(步骤S604)。当在步骤S602确定的结果是肯定的时,在多个段索引中随机地选择一个段索引(步骤S603)。播种者52将所选择的段索引确定为变成传输候选的加密段的段索引(步骤S604),并结束传输标记检查处理。
以如上所述的方式,播种者52对于每一个加密段行引用记录在传输状态表中的传输标记,并从与其所有所属加密段已经被传输的加密段行对应的段索引中确定成为传输候选的加密段的段索引。
返回参阅图26,在步骤S23,播种者52确定成为传输候选的加密段的段索引是否能够被确定。当确定的结果是肯定的时,播种者52进行下一个变量索引确定处理(步骤S24)。当在步骤S23的确定的结果是否定的时,播种者52将指示加密段未被传输的通知消息传输至吸收者50,并等待新的段请求。
图28是根据第二实施例的变量索引确定处理的过程的流程图。步骤S500的处理与第一实施例类似。在步骤S500之后的步骤S507,播种者52将所获取的段索引用作密钥引用传输状态表,并确定段索引是否是优先段索引,即段索引的优先段索引的值是否被设定为″1″。当确定的结果是肯定的时,这意味着段索引被确定为成为传输候选的加密段的优先段索引。在这种情况下,播种者52在步骤S502到S505进行各个处理,如同在第一实施例中一样。
另一方面,当在步骤S507的确定的结果是否定的时,这意味着段索引未被确定为优先段索引,而是通过传输标记确定为成为传输候选的加密段的段索引。在这种情况下,播种者52在属于与段索引对应的加密段行的加密段的变量索引中随机地选择一个变量索引,而不用管传输状态表中记录的传输次数(步骤S508)。播种者52可以被构造为不是随机地但是基于P2P网络NT中的加密段的分发状态对变量索引进行选择。播种者52将所选择的变量索引确定为将要被传输的加密段的变量索引(步骤S505)。
返回参阅图26,在步骤S25和S26的处理与第一实施例类似。在步骤S26之后的步骤S27,播种者52对应于所传输的加密段进行传输状态表的更新处理如下。图29是根据第二实施例的传输状态表更新处理的过程的流程图。在步骤S800至S802的处理与第一实施例类似。在步骤S802之后的步骤S805,在传输状态表中,播种者52对于被选为优先段索引的段索引将传输标记的值设定为″ON″。此后,在步骤S803,播种者52将优先段索引初始化,如同在第一实施例中一样。在通过以这样的方式设定传输标记的值初始化优先段索引之后,当播种者52在步骤S20尝试进行优先段索引选择处理时,在某些情形中不能选择优先段索引。在这种情况下,在步骤S23的确定的结果变为否定的,并且在步骤S30的传输标记检查处理中在步骤S601的确定的结果变为肯定的。
如上所述,播种者52对于其所有所属加密段已经被传输的加密段行响应吸收者50的请求提供加密段。结果是,以与第一实施例类似的方式,可以提高加密段的分发效率,同时减少由于密钥的泄漏带来的影响。
虽然上文已经解释了第二实施例,但是仍能够向其加入各种变型和改进。
第二实施例的构造和第一实施例的变型例中解释的优先考虑部分获取加密段的传输的构造可以在一起使用。在这种情况下,播种者52可以优先考虑通过传输标记传输加密段或者通过部分数据请求传输加密段。
在第二实施例中,段请求可以包括在第一实施例的变型例中解释的指定段索引。在这种情况下,播种者52通过在传输标记检查处理的步骤S600在指定段索引中检查传输状态表中其传输标记的值被设定为″ON″的段索引而进行下述处理。
第二实施例中,在传输状态标记检查处理中,播种者52在步骤S603从多个段索引中随机地选择一个段索引。或者,播种者52可以基于诸如传输标记设定的顺序,每一个段索引的加密段的传输次数和第一实施例的变型例中描述的优先顺序的每一个选择标准选择一个段索引。通过以此方式提供一个段索引,可以得到与变型例类似的具有特定的段索引能够比其他段索引更快地传输加密段的意图的效果。上述选择标准可以组合使用。举例来说,对于与每一个段索引对应的加密段行,通过从传输次数的最大值减去最小值获得的值被设定为优先顺序,借此选择具有所传输的加密段的传输次数的大的偏差的加密段行。进一步,通过将(通过从最大值减去最小值得到的值)乘以(变量索引的大小)得到的值被设定为优先顺序。通过该构造,除了所传输的加密段的传输次数的偏差的大小之外,也考虑到加密段的重要性,借此确定成为传输候选的加密段的段索引。
在确定优先顺序的处理中,与传输状态表更新处理的进行一起,优先顺序可以被记录在传输状态表中。即,播种者52通过设定其传输标记将要被设定为″ON″的段索引的优先顺序在传输状态表中记录优先顺序。图30是根据第二实施例的变型例的传输状态表。在图30中,对于段索引″0″记录优先顺序″1″,以及对于段索引″n-1″记录优先顺序″2″。播种者52在传输标记检查处理中引用记录在传输表中的优先顺序。在段索引确定处理中,基于引用的结果,播种者52确定成为传输候选的加密段的段索引。
通过结合使用根据变型例的未传输标记以及传输标记和优先顺序,成为传输候选的加密段的段索引可以被确定。在确定段索引中,对优先考虑传输标记,优先顺序和未传输标记中的哪一个都没有限制。
第二实施例中,在变量索引确定处理中,播种者52可以被构造为不随机地从多个变量索引候选中选择一个变量索引,而是基于传输次数选择一个变量索引。举例来说,当与对于成为传输候选的加密段的段索引存在的每一个变量索引对应的每一个加密段的传输次数不同时,可以选择变量索引以使传输次数变得相同。举例来说,假设变量索引i1,i2和i3(1≤i1,i2,i3≤m)对于段索引j作为候选而存在,以及加密段(i1,j),加密段(i2,j)和加密段(i3,j)的传输次数分别是″1″,″2″,″3″。在这种情况下,播种者52选择变量索引i1。当加密段(i1,j),加密段(i2,j)和加密段(i3,j)的传输次数分别是″2″,″3″,″2″时,播种者52随机地选择变量索引i1或i3。通过提供此构造,每一个加密段可以没有偏差地分发给P2P网络NT。结果是,当在加密段中存在偏差时可以从中减小由用户保存的加密段的偏差,并且可以减小归因于密钥的泄漏造成的影响。
在第一和第二实施例中,由追踪器51,密钥服务器53或内容制造商制备的服务器能够将内容分割成每一个段或者加密每一个段。假设每一个加密段从追踪器51,密钥服务器53或可靠的第三方(举例来说由内容制造商制备的服务器)给予播种者52A(初始播种者)。
在第一和第二实施例中,密钥服务器53能够被构造为发出和生成解密密钥和加密密钥中的至少一个密钥,或者获取由追踪器51或内容制造商制备的服务器发出和生成的解密密钥和加密密钥中的至少一个密钥。
虽然已说明的是通过分割内容C制备的所有的段C1到CN用互相不同的加密密钥加密,但是也可以用相同的加密密钥加密各个段的一部分。
在第一和第二实施例中,追踪器51,播种者52和吸收者50的数量不限于如上所述的数量。
销售服务器54连接至P2P网络NT,并且吸收者50从销售服务器54获取流文件。然而,销售服务器54不需要连接至P2P网络NT,并且吸收者50也能够通过读取记录在诸如CD-ROM的记录介质中的流文件获取流文件。
虽然吸收者50被解释为经由网络连接至密钥服务器,但是吸收者50也能够经由专用线路而不经由网络连接至密钥服务器,或者能够经由代理服务器连接至密钥服务器。通过该构造,能够增加管理能力,并且使位于代理服务器的后面阶段的密钥服务器53能够避免受到直接攻击。
在第一和第二实施例中,由播种者52进行的程序能够存储在连接至如因特网的网络的计算机上,并且能够通过经由网络下载程序而被提供。也可以通过将各种程序以可安装格式或可执行格式的文档记录到诸如CD-ROM,软盘(FD),数字式通用碟片(DVD)的计算机可读记录介质上而提供这些程序。在这种情况下,播种者52从记录介质读取程序并执行将该程序加载到主存储器(诸如RAM)上,以使上述功能构造中解释的每一个单元在主存储器上生成。由吸收者50实现的各种程序也以类似的方式进行。
在第一实施例中,每一个加密段的传输次数和优先段索引被存储在一个传输状态表中,并且该传输状态表被存储在一个外部存储装置中。或者,这些信息段能够被存储在独立的表中,并且也能够被存储在独立的存储单元中。这一点类似地适用于第二实施例中的传输标记,变型例中的未传输标记,以及变型例中的优先顺序。进一步,存储加密段的存储装置和存储传输状态表的存储装置可以是相同的,或者可以是互相不同的。
在第一和第二实施例中,虽然优先段索引标记被用作优先段信息,但也可以使用能够规定优先段的任何信息。
在第一和第二实施例中,播种者52也可以包括从吸收者50和其他播种者52接收加密段的功能,就像吸收者50一样。当播种者52从吸收者50接收段请求时,播种者能够确定播种者52是否已经从吸收者50至少接收至少一个加密段的一部分,并基于确定的结果确定加密段是否能够被传输。播种者52能够基于播种者52到此时为止已经接收到的数据量确定播种者52是否已经从吸收者50至少接收至少一个加密段的一部分。当确定的结果是肯定的时,播种者52确定将加密段传输至吸收者50。当确定的结果是否定的时,播种者52确定不将加密段传输至吸收者50。当确定的结果是前者时,播种者52以类似于第一和第二实施例的每一个的方式将加密段传输至吸收者50。此构造被优选用于通过互相传输加密段获取每一个加密段的通信系统中。
在第一和第二实施例中,播种者52能够被构造为在多个被分割的时间传输一个加密段。在这种情况下,播种者52包括存储用于管理与加密段的传输相关联的会话的会话信息的会话信息存储表。会话信息与识别将要向其传输加密段的吸收者50的吸收者识别信息相关联地存储。吸收者50包括其部分数据被预先获取的加密段(连续的加密段)的段索引和变量索引,传输数据量和新会话接受标志。传输数据量指示吸收者50对于连续的加密段已经获取的一部分的数据量。当加密段被进一步分割成多个次段时,传输数据量能够指示分配给吸收者50已经获取的次段的索引。该新会话接受标记成为播种者52确定如何处理其所有数据有待被获取的加密段(新的加密段)的由将要向其传输加密段的吸收者50请求的段请求(新的段请求)的确定标准。当新会话接受标记是″ON″时,播种者52能够通过从吸收者50接受新段请求提供新加密段。当新会话接受标记是″OFF″时,播种者52无法提供新加密段。播种者52在开始时间将新会话接收标记设定为″ON″。吸收者识别信息是分配给吸收者50的IP地址,连接源端口号,以及规定吸收者50的识别(ID)信息。如上所述,播种者52通过使有关连续加密段的信息及识别吸收者50的吸收者识别信息的信息段互相关联而将这些信息存储在会话信息中。因此,播种者52能够在同时将加密段传输至多个吸收者50的时候识别会话。
图31是图解根据变型例的播种者52的功能构造的实例的示意图。播种者52包括在第一和第二实施例中解释的段请求接收单元521,优先段索引选择单元522,段索引确定单元523,变量索引确定单元524,传输状态表更新单元525和段传输单元526。进一步,播种者52包括会话信息确认单元528和会话信息更新单元529。在从吸收者50接收段请求中,段请求接收单元521获取吸收者识别信息。当从吸收者50接收的段请求是请求连续加密段的连续段请求时,数据构造变为如图32所示的构造。如图32所示,连续段请求包括新段请求标记,其传输被请求的连续加密段的段索引和变量索引,数据起始位置及期望获取的数据长度。新段请求标记指示段请求是否是新段请求。当新段请求标记是″ON″时,它指示该段请求是新段请求,以及当新段请求标记是″OFF″时,它指示该段请求是连续段请求。在此实例中,新段请求标记被设定为″OFF″。数据起始位置显示其连续加密段有待被获取的数据的起始位置。期望获取的数据长度是其连续加密段有待被获取的数据中由吸收者50请求获取的数据的数据长度(数据量),并且是从数据起始位置开始的数据长度。假设包括在流文件中的文件信息显示每一个加密段的数据量。吸收者50基于数据量计算数据起始位置并计算未获取部分的总数据长度,并基于计算结果计算期望获取的数据长度。数据量和数据长度的计算标准没有特别限制。
当从吸收者50接收的段请求是新段请求时,举例来说,数据构造变为如图33所示的构造。如图33所示,新段请求包括新段请求标记,其数据获取被请求的期望获取的数据长度,和其获取被请求的段索引列表。在此实例中,新段请求标记被设定为″ON″。
返回参阅图31,当段请求接收单元521从吸收者接收新段请求时,会话信息确认单元528引用存储在会话信息存储表的会话信息中与吸收者50的吸收者识别信息对应的新会话接受标记,并确定是否接受段请求。当段请求接收单元521接收新段请求时,会话信息确认单元528经由会话信息更新单元529将新会话接受标记设定为″OFF″。当段请求接收单元521从吸收者50接收连续段请求时,会话信息确认单元528确认包括在与吸收者50的吸收者识别信息相关联地在会话信息存储表中存储的会话信息中的段索引,变量索引和传输数据量是否与包括在所接收的连续段请求中的段索引,变量索引和数据起始位置相匹配,并确定是否接受该连续段请求。
当段传输单元526将新加密段传输至吸收者50时,会话信息确认单元528将该加密段的段索引,变量索引和传输数据量与吸收者50的标识信息相关联地作为会话信息存储在会话信息存储表中。当段传输单元526传输连续加密段时,会话信息更新单元529计算传输数据量,并更新会话信息存储表中的会话信息中的传输数据量。当传输数据量达到加密段的总数据量时,会话信息确认单元528确定加密段的传输完成。在这种情况下,会话信息确认单元520经由会话信息更新单元529将包括在会话信息存储表中存储的会话信息中的新会话接受标记设定为″ON″。
会话信息更新单元529对应于会话信息确认单元528的确定将新会话接受标记设定为″ON″或″OFF″。
下文将参照图34解释根据变型例的由播种者52进行的优先段索引选择处理和加密段传输处理。在步骤S20和S21的处理与第一实施例类似。当播种者52从吸收者50接收段请求时(步骤S21为是),播种者52进行加密段传输处理如下。首先,在步骤S40,播种者52确定来自吸收者50的段请求是否是新段请求。当段请求是如图32所示的数据构造的连续段请求时,还有当新段请求标记被设定为″OFF″时,在步骤S40的确定的结果是否定的,并且处理前进至步骤S45。在步骤S45,播种者52引用会话信息存储表中与吸收者50的吸收者识别信息相关联地存储的会话信息,并确认包括在所接收的连续段请求中的段索引和变量索引等于包括在会话信息中的段索引和变量索引。在确认之后,播种者52进行确认包括在会话信息中的传输数据量是否与包括在连续段请求中的请求数据起始位置相匹配的确认处理(步骤S46)。当传输数据量不与请求数据起始位置匹配时,播种者52确定确认处理不成功。当请求数据起始位置是″0″时,播种者52也确定确认处理不成功。通过排除其请求数据起始位置是″0″的连续段请求,播种者52可以排除吸收者50的尝试从与特定的段索引和变量索引对应的加密段的报头位置开始收集这些加密段的处理。吸收者处理在此处被排除的请求数据起始位置的阈值可以被设定为大于″0″。在这种情况下,可以使吸收者50的处理更困难。
当上述确认处理成功时(步骤S46为是),播种者52确定吸收者50请求已经被吸收者50获取的数据部分的加密段的剩余部分,并且处理前进至步骤S26。在步骤S26,播种者52从外部存储装置读取与包括在步骤S21接收的段请求中的段索引,变量索引,数据起始位置和期望获取的数据长度对应的加密段的数据,并将所读取的数据传输至吸收者50。当上述确认处理不成功时(步骤S46为否),播种者52放弃在步骤S21接收的段请求,回到步骤S21,并等待下一个段请求。播种者52可以被构造为通知或不通知吸收者50加密段将不被提供。
在步骤S26之后的步骤S42,在会话信息存储表中与吸收者50的吸收者识别信息相关联地存储的会话信息中,播种者52计算并更新与在步骤S26传递的加密段的段索引和变量索引对应的传输数据量。此后,播种者52确定在步骤S26的加密段的传输是否被完成(步骤S43)。当在步骤S26传输的加密段的传输数据量达到加密段的总数据量时,播种者52确定加密段的传输完成。在这种情况下(步骤S43为是),播种者52以与第一和第二实施例类似的方式进行传输状态表更新处理。播种者52将包括在与吸收者50的吸收者识别信息相关联地在会话信息存储表中存储的会话信息中的新会话接受标记设定为″ON″。回到步骤S21,播种者52等待下一个段请求。
另一方面,在步骤S40,当段请求是如图33所示的数据构造的新段请求时,还有当新段请求被设定为″ON″时,由播种者52作出的确定的结果变为肯定的,并且处理前进至步骤S41。在步骤S41,播种者52引用包括在与吸收者50的吸收者识别信息相关联地在会话信息存储表中存储的会话信息中的新会话接受标记,并确定是否接受段请求。当新会话接受标记被设定为″ON″时,播种者52接受新段请求,将新会话接受标记设定为″OFF″,并前进至步骤S22的处理。在步骤S23到S26的处理与第一和第二实施例类似。在步骤S26,对于与作为在步骤S22确定的段索引j和在步骤S24确定的变量索引i的集合的索引(i,j)对应的加密段,播种者52从外部存储装置读取具有包括在步骤S21接收的新段请求中的期望获取数据量的数据。播种者52将所读取的数据传输至吸收者50。此后,播种者52以与上述类似的方式进行步骤S42及之后的处理。
根据上述构造,即使当加密段的数据量大时也能够在多个分割的时间有效地传输与接收加密段。
上文已经解释了播种者52使用如图32和图33所示的新段请求标记确定所接收的段请求是否是新段请求。然而,确定的方法不限于此。举例来说,播种者52还可以通过确定包括在图33所示的段请求中的变量索引是否具有预定的特殊值,通过引用该变量索引确定所接收的段请求是否是新段请求。
在进行变型时,段请求的接收处理和加密段的传输处理有时作为独立的线程进行。在这种情况下,当等待在步骤S26的加密段传输处理的结束时,在步骤S42的更新会话信息的处理,在步骤S44的将新会话接受标记设定为″OFF″的处理以及在步骤S27的传输状态表更新处理中需要长处理时间。结果是,存在来自吸收者的恰当的新段请求不能被接受的可能性。因此,在步骤S43,步骤S42,步骤S44和步骤S27的处理能够在步骤S26的加密段传输处理之前进行。在这种情况下,能够基于包括在段请求中的会话信息进行在步骤S43的有关加密段的传输是否完成的确定。
其他的优点和修改对于本领域的熟练技术人员是容易实现的。因此,本发明在其更宽阔的各个方面并不局限于本文显示和描述的具体细节和代表性实施例。因此,可以进行各种修改而不背离由附后的权利要求及其等效内容定义的总体发明概念的精神和范围。

Claims (24)

1.一种传输作为内容的一部分的多个段的通信设备,其特征在于,所述通信设备包括:
第一存储单元,存储通过用加密密钥加密每一个段而获得的多个加密段,并且存储通过用多个不同的加密密钥加密所述段中的至少一个第一段而获得的多个加密段;
第二存储单元,存储在所述第一存储单元中存储的每一个所述加密段的传输次数;
选择单元,基于所述第一段被加密的所述加密段中传输次数为零的未传输的加密段的数量,将与至少一个所述第一段对应的所述加密段选为优先段;
存储控制单元,控制所述第二存储单元以使所述第二存储单元另外还在所述第二存储单元中存储规定所选择的优先段的优先段信息;
接收单元,从其他通信设备接收请求加密段的段请求;
第一确定单元,当接收到所述段请求时,将被所述优先段信息规定为优先段的加密段确定为传输候选;
第二确定单元,在被确定为传输候选的加密段中,将至少一个所述未传输的加密段确定为将要被传输的加密段;
传输单元,将被确定为将要被传输的加密段传输至其他通信设备;
第一更新单元,根据由所述传输单元传输的加密段,更新存储在所述第二存储单元中的每一个加密段的传输次数;和
第二更新单元,当被所述优先段信息规定为优先段的加密段中不再存在所述未传输的加密段时,在所述第二存储单元中更新存储在所述第二存储单元中的优先段信息,以使所述优先段变成未被所述优先段信息规定的初始状态。
2.如权利要求1所述的设备,其特征在于,当存在未传输的加密段的数量相同的多个第一段时,所述选择单元基于对应于每一个第一段存在的加密段的数量选择优先段。
3.如权利要求1所述的设备,其特征在于,区分每一个所述段的段索引和区分每一个所述不同加密密钥的变量索引和每一个与所述第一段对应的加密段相关联,
与每一个加密段相关联的所述段索引和所述变量索引与所述传输次数相关联,
对于与至少一个第一段对应的所述加密段,所述选择单元基于与对应于每一个所述加密段的所述段索引相关联的传输次数为零的未传输的加密段的数量,将至少一个所述段索引选为优先段索引,以及
所述存储控制单元控制所述第二存储单元,以使所述第二存储单元另外还将规定被选为优先段的所述段索引的信息作为所述优先段信息进行存储。
4.如权利要求3所述的设备,其特征在于,当存在未传输的加密段的数量相等的多个所述段索引时,所述选择单元基于每一个段索引的值将至少一个段索引选为优先段。
5.如权利要求1所述的设备,其特征在于,当存在未传输的加密段的数量相等的多个第一段时,所述选择单元基于保留在所述其他通信设备中的所述加密段的数量选择所述优先段。
6.如权利要求3所述的设备,其特征在于,所述接收单元接收所述段请求,所述段请求指定与被请求的加密段相关联的所述段索引和所述变量索引的集合,
当所述段请求被接收时,所述第一确定单元从被所述段请求指定的所述段索引中,将与被所述优先段信息规定的所述段索引符合的至少一个所述段索引确定为成为传输候选的所述加密段的段索引,以及
所述第二确定单元参照与所述变量索引相关联的所述加密段的传输次数,并将至少一个所述未传输的加密段确定为将要被传输的加密段,在所述段请求中所述确定的段索引和所述对应的段索引的集合被指定给所述变量索引。
7.如权利要求3所述的设备,其特征在于,所述接收单元接收指定与所述被请求的加密段相关联的所述段索引的所述段请求,
当所述段请求被接收时,所述第一确定单元从由所述段请求指定的所述段索引中,将与被所述优先段信息规定的所述段索引符合的至少一个段索引确定为成为传输候选的加密段的段索引,以及
所述第二确定单元参照与所述被确定的段索引相关联的每一个加密段的传输次数,并将至少一个所述未传输的加密段确定为将要被传输的加密段。
8.如权利要求3所述的设备,其特征在于,所述接收单元指定与其数据的一部分已经被其他通信设备获取的加密段相关联的段索引和变量索引,指定其加密段有待于被获取的数据的数据范围,并接收包括请求数据的部分数据请求的段请求,
当所述段请求包括所述部分数据请求时,所述第一确定单元在由所述部分数据请求指定的段索引中,将与由所述优先段信息规定的段索引符合的至少一个段索引确定为成为传输候选的加密段的段索引,
所述第二确定单元参照与所述变量索引相关联的加密段的传输次数,并将至少一个未传输的加密段确定为将要被传输的加密段,在所述部分数据请求中确定的段索引和对应的段索引的集合被指定给所述变量索引,以及
对于被确定将要被传输的加密段,所述传输单元将由所述部分数据请求指定的数据范围传输至所述其他通信设备。
9.如权利要求3所述的设备,其特征在于,所述接收单元接收包括指定与其数据的一部分已经被所述其他通信设备获取的加密段相关联的段索引的部分数据请求的段请求,
所述第一确定单元包括第三确定单元、通知单元和范围接收单元,当所述段请求包括所述部分数据请求时,所述第三确定单元从部分数据请求指定的段索引中,将与由所述优先段信息规定的段索引符合的至少一个段索引确定为成为传输候选的加密段的段索引,所述通知单元将确定的段索引通知给所述其他通信设备,所述范围接收单元从所述其他通信设备接收与所确定的段索引与其相关联及其一部分数据已经被获取的加密段相关联的变量索引和其加密段有待于被获取的数据的数据范围,
所述第二确定单元参照被确定的段索引和被接收的变量索引与其相关联的加密段的传输次数,并将至少一个未传输的加密段确定为将要被传输的加密段,以及
对于被确定将要被传输的加密段,所述传输单元将所接收的数据范围的数据传输至所述其他通信设备。
10.如权利要求3所述的设备,其特征在于,所述接收单元接收段请求,所述段请求包括部分数据请求和未获取的段请求,所述部分数据请求通过指定与其数据的一部分已经被所述其他通信设备获取的加密段相关联的段索引和变量索引以及通过指定其加密段有待于被获取的数据的数据范围来请求数据,所述未获取的段请求通过指定与其所有数据有待于被其他通信设备获取的加密段相关联的段索引来请求所述加密段,
所述第一确定单元包括第四确定单元和第五确定单元,当所述段请求包括所述部分数据请求和所述未获取段请求时,以及当由部分数据请求指定的段索引中存在与由所述优先段信息规定的段索引符合的段索引时,所述第四确定单元将至少一个段索引确定为成为传输候选的加密段的段索引,当由所述部分数据请求指定的段索引中没有与由所述优先段信息规定的段索引符合的段索引时,所述第五确定单元从由所述未获取的段请求指定的段索引中将至少一个与由所述优先段信息规定的段索引符合的段索引确定为成为传输候选的加密段的段索引,以及
当所述第四确定单元确定段索引时,所述第二确定单元通过参照与所述部分数据请求中所确定的段索引和对应的段索引的集合被指定给予的所述变量索引相关联的加密段的传输次数,将至少一个所述未传输的加密段确定为将要被传输的加密段,以及当所述第五确定单元确定段索引时,所述第二确定单元通过引用与该段索引相关联的每一个加密段的传输次数,将至少一个所述未传输的加密段确定为将要被传输的加密段。
11.如权利要求1所述的设备,其特征在于,所述设备进一步包括基于从选择所述优先段开始经过的时间确定是否更新优先段的第一确定单元,以及
当所述第一确定单元确定更新所述优先段时,所述第一确定单元将至少与由所述优先段信息规定的加密段之外的所述第一段对应的加密段确定为传输候选。
12.如权利要求1所述的设备,其特征在于,所述设备进一步包括检测所述其他通信设备的数量的检测单元以及第二确定单元,在所检测到的所述其他通信设备的数量小于被选为所述优先段的加密段的数量时,所述第二确定单元确定所检测到的所述其他通信设备的数量是否等于加密段中所述未传输的加密段的数量,其中
当由所述第二确定单元进行的确定的结果是肯定的时,所述存储控制单元控制所述第二存储单元,以使所述第二存储单元存储将由所述优先段信息规定的优先段规定为初始化优先段的初始化优先段信息,并且作为初始化装置数量存储所检测到的所述其他通信设备的数量,
当由所述第二确定单元进行的确定的结果是肯定的时,所述第二更新单元将所述优先级信息更新至初始状态,以及
当在所述优先段信息被更新之后检测到的所述其他通信设备的数量大于初始化装置的数量时,所述选择单元再次将由所述初始化优先段信息规定的所述初始化优先段选为优先段,以及当所述优先段信息被更新之后检测到的所述其他通信设备的数量等于或小于所述初始化装置的数量时,所述选择单元将与由所述初始化优先段信息规定的优先段之外的至少一个所述第一段对应的加密段选为新优先段。
13.如权利要求3所述的设备,其特征在于,所述存储控制单元控制所述第二存储单元,以使所述第二存储单元另外还通过将传输标记与段索引相关联存储指示其第一段被加密的所有加密段是否已经被传输的传输标记,
所述设备进一步包括传输标记检查单元,当所述第一确定单元未确定成为传输候选的加密段的段索引时,所述传输标记检查单元检查所述传输标记,并且将与指示所有加密段已经被传输的传输标记相关联的至少一个段索引确定为成为传输候选的加密段的段索引,以及
当所述传输标记检查单元确定成为传输候选的加密段的段索引时,所述第二确定单元将与段索引相关联的至少一个加密段确定为将要被传输的加密段。
14.如权利要求13所述的设备,其特征在于,当所述第一确定单元未确定成为传输候选的加密段的段索引时,所述传输标记检查单元检查所述传输标记,对与指示所有加密段已经被传输的传输标记相关联的段索引设定优先顺序,并确定成为传输候选的加密段的段索引。
15.如权利要求3所述的设备,其特征在于,当在被选为优先段的加密段中存在所述未传输的加密段的时候选择新优先段时,所述存储控制单元控制所述第二存储单元,以使所述第二存储单元另外还存储指示与对应于被重新选择之前的优先段的段索引相关联的未传输的加密段的存在的未传输标记,以及
所述第一确定单元使用所述优先段信息和所述未传输标记中的至少一个确定成为传输候选的加密段的段索引。
16.如权利要求1所述的设备,其特征在于,所述设备进一步包括:
从所述其他通信设备接收加密段的段接收单元;和
控制所述第一存储单元、以使所述第一存储单元存储被接收的加密段的段存储控制单元。
17.如权利要求16所述的设备,其特征在于,所述设备进一步包括:
接收确定单元,当从所述其他通信设备接收到所述段请求时确定至少一个加密段的至少一部分是否经由所述段接收单元从所述其他通信设备接收;和
传输确定单元,取决于所述接收确定单元的确定的结果确定是否将加密段传输至其他通信设备,其中
当确定将加密段传输至所述其他通信设备时,所述第一确定单元参照所述优先段信息,并将被规定为优先段的加密段确定为传输候选。
18.如权利要求1所述的设备,其特征在于,对于构成内容的所有多个段,所述第一存储单元存储由至少一个加密密钥加密的每一个加密段。
19.如权利要求3所述的设备,其特征在于,所述设备进一步包括:
第三存储单元,通过使与其数据的一部分已经被所述其他通信设备获取的连续加密段相关联的所述段索引和所述变量索引和所述部分数据的数据量的这些信息段与识别其他通信设备的标识信息相关联作为会话信息存储这些信息段;
当所述接收单元从所述其他通信设备接收到作为段请求的连续段请求时确认所述会话信息和所述连续段请求的一致性的确认单元,所述连续段请求包括标识信息并指定与加密段相关联的所述段索引和所述变量索引,排除所述连续加密段的一部分的数据的数据起始位置和在排除所述部分后被期望的数据的第一期望获取数据量;和
更新所述会话信息的第三更新单元,其中
所述传输单元基于由所述确认单元进行的确认的结果从用于连续加密数据的所述数据起始位置开始,将具有第一期望获取数据量的数据传输至所述其他通信设备,以及
所述第三更新单元基于所传输的数据更新所述会话信息。
20.如权利要求19所述的设备,其特征在于,所述第三存储单元与所述标识信息相关联地进一步存储指示是否接受作为请求其所有数据已由所述其他通信设备获取的新加密段的段请求的新段请求并包括所述标识信息的新接受标记,以及
当更新与所述标识信息对应的所述会话信息以后所述连续加密段的一部分的数据量达到该连续加密段的总数据量时,所述第三更新单元更新与所述标识信息对应的新接受标记。
21.如权利要求20所述的设备,其特征在于,所述接收单元接收包括请求获取所述新加密段的第二期望获取数据量的新段请求,
当所述新段请求被接收,还有当与包括在该新段请求中的所述标识信息对应的所述接受标记指示所述新段请求的接受时,所述第一确定单元将由所述优先段信息规定为优先段的加密段确定为传输候选,以及
所述传输单元将具有所述新加密段的所述第二期望获取数据量的数据传输至其他通信设备。
22.一种通信系统,其特征在于,所述系统包括:
进行作为内容的一部分的多个段的传输和接收的第一通信设备;和
进行作为内容的一部分的多个段的传输和接收的第二通信设备,所述第一通信设备和第二通信设备经由网络连接,其中,所述第一通信设备和所述第二通信设备中的每一个都包括
存储通过用加密密钥加密每一个段而获得的多个加密段,并且存储通过用多个不同的加密密钥加密所述段中的至少一个第一段而获得的多个加密段的第一存储单元,
存储在所述第一存储单元中存储的每一个加密段的传输次数的第二存储单元,
基于在其所述第一段被加密的加密段中其传输次数为零的未传输的加密段的数量,将与至少一个所述第一段对应的多个加密段选为优先段的选择单元,
控制所述第二存储单元,以使所述第二存储单元另外还存储规定所选择的优先段的优先段信息的存储控制单元,
从其他通信设备接收请求加密段的段请求的接收单元,
当接收到所述段请求时,将被所述优先段信息规定为优先段的加密段确定为传输候选的第一确定单元,
在被确定为传输候选的加密段中将至少一个所述未传输的加密段确定为将要被传输的加密段的第二确定单元,
将被确定将要被传输的加密段传输至所述其他通信设备的传输单元,
按照由该传输单元传输的加密段更新存储在所述第二存储单元中的每一个加密段的传输次数的第一更新单元,
当由优先段信息规定为优先段的加密段中不再存在所述未传输的加密段时,更新所述第二存储单元中的优先段信息以使所述优先段变为未被所述优先段信息规定的初始状态的第二更新单元,
从所述其他通信设备接收加密段的段接收单元,和
控制所述第一存储单元,以使所述第一存储单元另外还存储所接收的加密段的段存储控制单元,以及其中
包括在所述第一通信设备中的所述传输单元将被确定将要被传输的加密段传输至所述第二通信设备,以及
包括在所述第二通信设备中的所述段接收单元接收从包括在所述第一通信设备中的所述传输单元传输的加密段。
23.如权利要求22所述的系统,其特征在于,
所述第一通信设备进一步包括
当从所述第二通信设备接收到所述段请求时确定至少一个加密段是否经由所述段接收单元从所述第二通信设备被接收的接收确定单元,和
基于由所述接收确定单元进行的确定的结果确定是否将加密段传输至所述第二通信设备的传输确定单元,以及其中
当确定将加密段传输至所述第二通信设备时,包括在所述第一通信设备中的所述第一确定单元参照所述优先段信息,并将被规定为优先段的加密段确定为传输候选。
24.一种在通信设备中实施的传输方法,其特征在于,所述通信设备传输作为内容的一部分的多个段,并包括第一存储单元和第二存储单元,所述第一存储单元作为存储通过用加密密钥加密每一个段获取的多个加密段的存储单元并存储通过用多个不同的加密密钥加密所述段中的至少一个第一段获取的多个加密段,所述第二存储单元存储在所述第一存储单元中存储的每一个加密段的传输次数,所述方法包括:
基于其所述第一段被加密的加密段中其传输次数为零的未传输的加密段的数量,将与至少一个第一段对应的加密段选为优先段;
控制所述第二存储单元,以使所述第二存储单元另外还存储规定所选择的优先段的优先段信息;
从其他通信设备接收请求加密段的段请求;
当接收到所述段请求时,将被所述优先段信息规定为优先段的加密段确定为传输候选;
在被确定为传输候选的加密段中将至少一个所述未传输的加密段确定为将要被传输的加密段;
将被确定将要被传输的加密段传输至其他通信设备;
根据所传输的加密段更新存储在所述第二存储单元中的每一个加密段的传输次数;和
当在被所述优先段信息规定为优先段的加密段中不再存在所述未传输的加密段时,在所述第二存储单元中更新存储在所述第二存储单元中的优先段信息,以使所述优先段变为未被所述优先段信息规定的初始状态。
CN2009101279783A 2008-03-25 2009-03-25 通信设备,通信系统及传输方法 Expired - Fee Related CN101547201B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008078239 2008-03-25
JP2008-078239 2008-03-25
JP2008078239A JP5208549B2 (ja) 2008-03-25 2008-03-25 通信装置、システム、送信方法及びプログラム

Publications (2)

Publication Number Publication Date
CN101547201A CN101547201A (zh) 2009-09-30
CN101547201B true CN101547201B (zh) 2012-12-05

Family

ID=41119222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101279783A Expired - Fee Related CN101547201B (zh) 2008-03-25 2009-03-25 通信设备,通信系统及传输方法

Country Status (3)

Country Link
US (1) US8175267B2 (zh)
JP (1) JP5208549B2 (zh)
CN (1) CN101547201B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5395372B2 (ja) * 2008-06-19 2014-01-22 株式会社東芝 通信装置、鍵サーバ及びデータ
JP2010141567A (ja) * 2008-12-11 2010-06-24 Toshiba Corp 通信装置、通信方法及びプログラム
JP5284119B2 (ja) * 2009-01-16 2013-09-11 株式会社東芝 サーバ、情報処理方法及びプログラム
JP2011141580A (ja) * 2010-01-05 2011-07-21 Sony Corp アクセス制御装置、データ処理装置、アクセス制御方法およびプログラム
JP5286380B2 (ja) * 2011-03-07 2013-09-11 株式会社東芝 データ送信装置および送信方法
JP5612006B2 (ja) 2012-03-13 2014-10-22 株式会社東芝 データ送信装置、データ受信装置、及びプログラム
CN103457727B (zh) * 2012-05-29 2018-01-23 华为技术有限公司 一种实现媒体数据处理的方法、装置和系统
CN111698576B (zh) * 2020-06-23 2022-04-01 网易有道信息技术(杭州)有限公司 信息加密方法、解密方法、服务器、客户端及介质
US11595367B2 (en) * 2020-09-30 2023-02-28 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Selectively disclosing content of data center interconnect encrypted links

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1842817A (zh) * 2003-08-28 2006-10-04 国际商业机器公司 属性信息提供服务器、属性信息提供方法,以及其程序

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001076128A2 (en) * 2000-04-04 2001-10-11 Ecd Systems, Inc. Method and system for digital data delivery and reproduction
EP1618478A4 (en) * 2003-03-13 2007-10-03 Drm Technologies L L C CONTINUOUSLY CONTINUOUS CONTAINER
US7734042B2 (en) * 2003-12-22 2010-06-08 Aol Inc. System and method for using a streaming protocol
US7165050B2 (en) 2004-09-20 2007-01-16 Aaron Marking Media on demand via peering
US7778417B2 (en) * 2005-05-17 2010-08-17 International Business Machines Corporation System and method for managing encrypted content using logical partitions
CN101496341B (zh) * 2006-07-27 2011-11-30 松下电器产业株式会社 终端装置、服务器装置以及内容分发系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1842817A (zh) * 2003-08-28 2006-10-04 国际商业机器公司 属性信息提供服务器、属性信息提供方法,以及其程序

Also Published As

Publication number Publication date
CN101547201A (zh) 2009-09-30
US8175267B2 (en) 2012-05-08
JP2009232393A (ja) 2009-10-08
US20090249490A1 (en) 2009-10-01
JP5208549B2 (ja) 2013-06-12

Similar Documents

Publication Publication Date Title
CN101547201B (zh) 通信设备,通信系统及传输方法
US8930696B2 (en) System and method for exchanging secure information between secure removable media (SRM) devices
US8019988B2 (en) Security protocols for hybrid peer-to-peer file sharing networks
RU2756304C2 (ru) Идентификация сетевого узла, на который будут реплицироваться данные
JP2010021888A (ja) 通信装置、鍵サーバ及び管理サーバ
US9900155B2 (en) Security techniques for cooperative file distribution
JP5042800B2 (ja) ネットワークデータ分散共有システム
US20130061054A1 (en) Method to control and limit readability of electronic documents
CN111526197B (zh) 一种云端数据安全共享方法
US20100293097A1 (en) Peer-to-peer file sharing system with data accounting
JP6326173B1 (ja) データ送受信システム及びデータ送受信方法
US20090138714A1 (en) Communication apparatus, key server, management server, communication server, content distribution system, communication method, and recording medium
JP2008524914A5 (zh)
WO2018005238A1 (en) Multi-hop secure content routing based on cryptographic partial blind signatures and embedded terms
RU2454708C2 (ru) Способ реализации механизма отслеживания состояния в сеансе связи между сервером и клиентской системой
KR20110059658A (ko) 데이터 전달 저장에서의 분해/재조립 방법
CN107637016B (zh) 认证装置、认证系统、认证方法和记录介质
JP2009272927A (ja) 通信装置、サーバ、及びプログラム
JP2010124071A (ja) 通信装置、通信方法及びプログラム
CN105279217A (zh) 可重构内容对象
JP2009153091A (ja) 通信装置、鍵サーバ、管理サーバ、通信サーバ、通信方法及びプログラム
RU2647635C2 (ru) Способ и система распространения контента в сети передачи данных со встроенным механизмом условного доступа
JP2006211118A (ja) コミュニケーション端末、フルメッシュ網において各端末が他の全端末間のコネクション接続を確実に確認する方法
KR101094978B1 (ko) P2p 네트워크에서 영수증 기반의 피어의 신뢰 정보 관리시스템 및 방법
JP5378119B2 (ja) ラッピングファイル更新システム及びラッピングファイル更新方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121205

Termination date: 20170325