CN105637801A - 多形态加密密钥矩阵 - Google Patents
多形态加密密钥矩阵 Download PDFInfo
- Publication number
- CN105637801A CN105637801A CN201480057120.3A CN201480057120A CN105637801A CN 105637801 A CN105637801 A CN 105637801A CN 201480057120 A CN201480057120 A CN 201480057120A CN 105637801 A CN105637801 A CN 105637801A
- Authority
- CN
- China
- Prior art keywords
- key
- identifier
- encryption
- content
- cipher
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/601—Broadcast encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明的实施例涉及在广播加密***中有空间效率的密钥分配。在一个实施例中,提供了一种用于广播加密的方法和计算机程序产品。在这一实施例中,读取密钥束。密钥束包括第一密码密钥、相关联的第一密钥标识符和相关联的第一密码函数标识符。接收加密内容。接收多个加密密钥。每个加密密钥具有相关联的标识符。从多个加密密钥中选择第一加密密钥,使得第一加密密钥的标识符相当于第一密钥标识符。确定对应于第一密码函数标识符的第一密码函数。使用第一密码密钥将第一密码函数应用到第一加密密钥,以获得第一中间密码密钥。使用第一中间密码密钥确定内容密码密钥。将内容密码密钥应用于加密内容以获得解密内容。
Description
背景技术
本发明的实施例涉及广播加密,更具体而言,涉及广播加密***中有空间效率的密钥分配。
发明内容
问题的解决方案
根据本发明的一个实施例,提供了用于广播加密的方法和计算机程序产品。在这一实施例中,读取密钥束。密钥束包括第一密码密钥、相关联的第一密钥标识符和相关联的第一密码函数标识符。接收加密内容。接收多个加密密钥。每个加密密钥具有相关联的标识符。从多个加密密钥中选择第一加密密钥,使得第一加密密钥的标识符相当于第一密钥标识符。确定对应于第一密码函数标识符的第一密码函数。利用所述第一密码密钥向所述第一加密密钥应用所述第一密码函数,以获得第一中间密码密钥。使用第一中间密码密钥确定内容密码密钥。将内容密码密钥应用到加密内容以获得解密内容。
根据本发明的另一实施例,提供了一种用于广播加密的方法和计算机程序产品。在这一实施例中,提供密钥束。该密钥束包括第一密码密钥、相关联的第一密钥标识符和相关联的第一密码函数标识符。提供加密内容。提供多个加密密钥。每个加密密钥具有相关联的密钥标识符。选择所述多个加密密钥,从而能够通过如下方式对所述加密内容解密:从多个加密密钥选择第一加密密钥,使得第一加密密钥的标识符相当于第一密钥识别符;确定对应于第一密码函数标识符的第一密码函数;利用所述第一密码密钥向所述第一加密密钥应用所述第一密码函数,以获得第一中间密码密钥;利用第一中间密码密钥确定内容密码密钥;以及向加密内容应用内容密码密钥。
附图说明
图1是根据本公开实施例的广播加密方案的示意图。
图2是根据本公开实施例的示范性装置密钥束。
图3是根据本公开实施例的示范性媒体密钥块。
图4是根据本公开实施例对内容解密的方法。
图5示出了根据本发明实施例的计算节点。
具体实施方式
可以将密钥矩阵用于在广播加密***中进行有空间效率的密钥分配。在密钥矩阵方式中,授权的内容消费者(例如,数字媒体播放器)应用单向加密函数,以便从列到列地遍历密钥矩阵。在遍历的每个步骤,导出加密密钥,并重复该过程,直到获得目标密钥为止。为授权的客户端分配与密钥矩阵特定列中的特定行相关的唯一的较小的一组装置秘钥。在授权的客户端利用其装置密钥之一应用加密函数时,生成新的密钥。这个新的密钥适用于后续列中的单元。重复这个过程最终产生可用于对受保护内容解密的最终解密密钥。密钥矩阵方式允许通过修改后续分发的受保护内容包括的数据(下文讨论的媒体密钥块)来撤消密钥组合。
可以应用单个预定的单向函数生成矩阵中的后续密钥。在预先已知这个函数的情况下,攻击者可能能够通过暴力导出额外的密钥。具体而言,可以针对所有可能的输入计算已知单向函数的结果。一旦结果匹配任何已知的加密密钥,攻击者就已通过有效地后向遍历通过密钥矩阵而导出了其未被授权拥有的密钥。可以将这种暴力计算的结果并行地与整列的密钥进行比较。如果攻击者具有多组破解的最终加密密钥,那么这种并行性进一步增强。
一旦已经破解了任一列,攻击者就可以继续攻击指向其的列,以此类推,向后通过加密密钥束中的所有列。于是,攻击者将拥有攻击者原来没有的密钥组,从而能够对内容进行未授权的解密或假冒其他解密装置。
为了使这种攻击的风险最小化,可以选择单向函数,以使得暴力攻击不可行。具体而言,可以选择通过暴力破解需要几乎不可能的时间量的函数。例如,一般认为使用AES-128的单向函数当前是不能被破解的。不过,攻击者可以访问越来越大的包括多个计算机的云(或僵尸网络),这些计算机的平均个体计算能力每18个月会加倍。随着计算能力的不断增大,攻击者通过暴力每年能够多破解大约一个比特的加密强度。此外,存在能够使破解效率发生数量级的飞跃的偶尔出现的技术(硬件或算法)发展(例如,彩虹表、CPU对AES的支持、多核并行性、GPU中的高度并行性、FPGA、量子计算)。有了这些正在发生的进展,当前实际不能破解的单向函数可能在不久的将来就会被破解。
为了解决广播加密中的暴力攻击风险,本公开提供了适用于矩阵中的各个密钥的加密函数的变体。当加密函数在***之内变化时,不能发起有效的暴力攻击。即使有可能暴力破解单个已知函数时,也不可能在适用的加密函数未知的情况下进行暴力攻击。此外,通过允许加密函数变化,可以减小密钥长度,同时维持同样有效的加密强度。
参考图1,提供了一种广播加密方案的示意图。通常,加密内容101是利用媒体密钥102加密的。媒体密钥(Km)102是由授权的内容消费者通过利用一组装置密钥(Kd)103处理媒体密钥块(MKB)104确定的。媒体密钥102是加密内容特有的,装置密钥103包括在授权的内容消费者(如数字媒体播放器)中,媒体密钥块104包括在加密内容中,例如在诸如DVD的光学介质的引导区中。
在这样的广播加密方案中,密钥生成设施(KGF)负责生成多个加密密钥,包括媒体密钥102和装置密钥103。密钥生成设施还负责生成媒体密钥块104,授权的内容消费者可以从媒体密钥块104导出给定的媒体密钥102。
加密内容是在分发之前利用唯一的媒体密钥102加密的,分发可以通过网络或在诸如DVD的光学介质上。结合加密内容,提供适当的媒体密钥块102。在一些实施例中,媒体密钥块104位于具有加密内容101的光学介质上。在其他实施例中,在分发加密内容之前、之后或期间,通过网络分发媒体密钥块104。在一些实施例中,加密内容和媒体密钥块104是通过不同机制分发的,而在一些实施例中,它们是通过相同机制分发的。
为加密内容的授权的消费者(如媒体播放器)提供装置密钥(Kd)束103。通过利用其装置密钥103处理105媒体密钥块(MKB)104,授权的播放器能够确定媒体密钥(Km)102。然后使用媒体密钥(Km)102对加密内容101解密。本领域的技术人员会知道已知有几种方法用于处理媒体密钥块104以获得媒体密钥102,诸如在CPRM/CPPM中实践的那些方法。
密钥生成设施为不同的授权的内容消费者或消费者群组供应不同的装置密钥束。媒体密钥块是由密钥生成设施生成的,使得仅有授权的装置密钥能够从媒体密钥块确定给定媒体密钥。如果给定的消费者或媒体播放器不再被授权消费加密内容,那么由密钥生成设施生成的后续媒体密钥块将不会使这种被撤消的播放器能够获得媒体密钥。这样,撤消的消费者将不能对其被撤消之后提供的内容解密。
图2示出了根据本公开实施例的示范性装置密钥束。装置密钥束200包括多个条目(图示为行),每个条目包括列标识符201、行标识符202和密钥203。在一些实施例中,密钥203是128位(16字节)AES密钥,函数标识符204被省略,适用的函数是授权的内容消费者事先知道的。在一些实施例中,使用替代的分组密码(blockcipher)。可以使用各种密码和对应的密钥长度,包括(但不限于)AES、Blowfish、C2分组密码、Camellia、CAST-128、CAST-256、CLEFIA、Cryptomeria、DES、FEAL、GOST28147-89、ICE、IDEA、KASUMI、LOKI97、Lucifer、MacGuffin、MAGENTA、MARS、MISTY1、RC2、RC5、RC6、Skipjack、SMS4、TEA、TripleDES、Twofish和XTEA。
在一些实施例中,每个条目都包括函数标识符204。函数标识符204指出哪种密码函数适用于密钥203。在一些实施例中,函数标识符204是已知密码函数的盐值(即,向密码函数提供额外输入的随机值)。在一些实施例中,函数标识符204包括要应用的函数的指示和盐值(salt)。在一些实施例中,函数标识符204包括足以导出函数或盐值的信息。例如,函数标识符204可以包括随后被用于生成密码函数的盐值或其他参数的伪随机数发生器的种子。在一些实施例中,函数标识符204包括要应用的密码函数的描述,其以适于对数学函数编码的语言(如MathML)进行编码。
在一些实施方式中,装置密钥束200针对每个可能的列标识符(例如,从0到16383)包含恰好一个密钥。本领域技术人员会认识到,有多种物理表达可用于存储装置密钥束200中包含的逻辑数据。例如,可以在单个明确的标识符中组合列和行标识符。可由包含条目的数据结构的布局(如多维数组)表示列和行。在一些实施例中,密钥与x、y和z值(而非列和行值)相关联,以便识别三维矩阵中的位置。在一些实施例中,密钥与识别n维空间中的点的n维矢量(n-vector)相关联。
图3示出了根据本公开实施例的示范性媒体密钥块。媒体密钥块300包括多个列301、302。第一列301包括标头310和多个加密值311...317。标头310包括列标识符(例如,列=6)。在替代实施例中,替代列标头310,可以将每个加密值311...317与单元标识符配对,单元标识符可以包括列和行编号。本领域技术人员会认识到,有各种物理表达可用于存储媒体密钥块300中包含的逻辑数据。例如,每个密钥可以与明确的行标识符相关联,或者行标识符可以来自于密钥在诸如数组的数据结构之内的位置。
第二列302包括标头320和多个加密值321...327。标头320包括加密的列标识符。在一些实施例中,媒体密钥块300中包括另外的列。此外,一些实施例可以具有包括在列标头310、320或媒体密钥块300中的额外信息。例如,列标头310、320可以包括可用于确认是否已经获得目标密钥的验证值。
图4示出了根据本公开实施例对加密内容解密的方法。在401,内容消费者接收加密内容和媒体密钥块(例如,300)。在一些实施例中,例如,在诸如DVD的机器可读介质上一起接收媒体密钥块和加密内容。在其他实施例中,单独接收加密内容和媒体密钥块。在402,内容消费者检查媒体密钥块以确定MKB中包含的第一列(例如,310)的列标识符。在403,内容消费者从具有相同列标识符(例如,列6)的装置密钥束中选择装置密钥(例如,243)、行标识符(例如,行4,242)和函数标识符(例如,AES-128,244)。在一些实施例中,装置密钥束驻留在授权的内容消费者(如DVD媒体播放器)中。在其他实施例中,通过网络或通过机器可读介质将装置密钥束传送到内容消费者。
在404,内容消费者向MKB中对应于先前确定的行标识符的单元(例如,列6、行4,314)应用装置密钥(例如,243)。在405,内容消费者获得所得到的密钥。在406,测试所得到的密钥以确定其是否是终端密钥。在一些实施例中,通过将终端密钥应用于MKB中包含的验证字段以获得预定值(例如,0xDEADBEEF)来识别终端密钥。如果已经找到终端密钥,将其用于获得内容密钥407。在一些实施例中,终端密钥为内容密钥。在其他实施例中,将终端密钥用于对内容密钥解密。在其他实施例中,将一系列函数应用到终端密钥以获得内容密钥。
如果所得到的密钥不是终端秘钥,那么媒体消费者在409将其应用于MKB的后续列的标头(例如,320)。在410,内容消费者通过向列标头应用密钥获得解密的列标识符。使用这一新的列标识符,重复步骤403-406以获得该系列中的下一密钥,直到获得终端密钥。在步骤404的一些实施例中,将内容消费者的装置密钥和先前所得到的密钥都应用于MKB的所识别单元。例如,一旦在403为相关列确定装置密钥,就将所得到的密钥应用于MKB的对应列和行,以确定中间值。然后应用装置密钥以确定下一个密钥。在一些实施例中,可以在所得到的密钥之前应用装置密钥。在一些实施例中,应用一系列额外的函数以从装置密钥和先前所得到的密钥获得下一个密钥。在一些实施例中,由包括在标头320中的函数标识符确定结合先前所得到的密钥使用的密码函数。
如上所述,多形态密钥矩阵方式使得能够在同一广播加密方案中使用很多加密函数。为内容的授权消费者提供与加密函数的描述耦合的一组装置密钥以及函数和密钥之间的映射。该描述可以是函数标识符、盐值或足以供内容消费者应用必需函数的任何其他信息。不为消费者赋予其遍历所不需要的(即,并非用于其行/列组合)的函数的描述。因为函数会变化,所以攻击者不知道必需要破解哪个单向函数来导出未知密钥。如果攻击者获得了针对某个函数的匹配答案,他也不知道那是否是正确的函数,因此不能有效部署暴力攻击。即使精确地猜到针对给定密钥的正确函数也不会给攻击者提供关于遍历到额外列中所必须的函数的信息。于是,应用本公开的多形态密钥矩阵有效地阻止了旨在获得未知密钥的暴力攻击。在一些实施例中,内容供应商确实知道在现存媒体密钥块中应用的所有函数,以便生成将来的密钥。不过,在一些实施例中,可以通过修改内容供应商而不使现有内容无法访问来向现有***增加额外函数。在一些实施例中,不同内容供应商被分配以不同的函数。在一些实施例中,使用的函数是取证(forensics)***已知的,可以将其用于检测受到影响的密钥。
此外,因为可以将广播加密***的一些有效加密强度重新定位到多形态遍历函数,所以大大增强了给定长度密钥的强度。在一些应用中,对未知密钥的保护比对个体内容(或单个消息)的保护更重要。可以在这样的环境中应用广播加密技术。因此,可以减小起始密钥的大小,这可以实现利用MKB的***中MKB大小的减小。例如,可以选择所应用的加密强度,以在其有用寿命之内保护个体内容(即使只有几小时或几天)。结果是可以显著减小聚集的解密密钥束大小。在一些实施方式中,可以将解密密钥束大小减小一半或更多。由于解密密钥束与广播传输耦合(与包括在客户端中的一次性静态密钥和函数存储器中相反),这显著减小了正在进行的传输开销。
在一些实施例中,针对矩阵中每个单元的遍历函数是不同的。这相当于相对于内容消费者所需的空间给出了更大的密钥。尽管内容消费者的空间需求较高,但为加密内容提供的解密密钥束较小。于是,有效利用了可用带宽,同时保持了对加密内容的充分保护。
在一些实施例中,将遍历函数用于矩阵中的多个单元。在这样的部分多形态矩阵方式中,可以使用函数到单元的各种分配。例如,可以将不同的函数用于每个列或每个行。作为另一范例,一些列可以具有一个函数,而其他列具有每行一个函数。可以根据本公开采用函数到单元的任何分配。
如上所述,本公开的主题适于在广播加密方案中使用。本公开适用于诸如CPRM/CPPM的现有广播加密方案。可以通过向提供给内容消费者的密钥束增加根据本公开的函数标识符来修改现有的广播加密方案。
现在参考图5,提供了根据本发明实施例的计算节点的范例的示意图。计算节点10仅仅是适当计算节点的一个范例,并非意在暗示对本文所述的本发明实施例的用途或功能的范围做出任何限制。无论如何,计算节点10能够被实现和/或执行上文阐述的任何功能。
在计算节点10中存在计算机***/服务器12,其可以与众多其他通用或专用计算***环境或配置一起工作。可以适于与计算机***/服务器12一起使用的公知计算***、环境和/或配置的范例包括(但不限于)个人计算机***、服务器计算机***、瘦客户端、胖客户端、手持式或膝上型装置、多处理器***、基于微处理器的***、机顶盒、可编程消费电子设备、网络PC、小型计算机***、大型计算机***和包括以上任何***或装置的分布式云计算环境等。
可以在计算机***可执行指令的一般语境(诸如由计算机***执行的程序模块)中描述计算机***/服务器12。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件、逻辑、数据结构等。可以在分布式计算环境中实践计算机***/服务器12,在这种环境中,由通过通信网络链接的远程处理装置执行任务。在分布式计算环境中,程序模块可以位于包括存储器存储装置的本地和远程计算机***存储介质两者中。
如图5所示,以通用计算装置的形式示出了计算节点10中的计算机***/服务器12。计算机***/服务器12的部件可以包括(但不限于)一个或多个处理器或处理单元16、***存储器28和将包括***存储器28的各种***部件耦合到处理器16的总线18。
总线18代表任何几种类型的总线结构中的一种或多种,包括存储器总线或存储控制器、***总线、加速图形端口和使用各种总线体系架构的任一种的处理器或局部总线。例如,而不是限制,这样的体系架构包括工业标准体系架构(ISA)总线、微通道体系架构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)局部总线和***部件互连(PCI)总线。
计算机***/服务器12一般包括多种计算机***可读介质。这样的介质可以是计算机***/服务器12可访问的任何可用的介质,包括易失性和非易失性介质、可移除和不可移除介质两者。
***存储器28可以包括形式为易失存储器的计算机***可读介质,如随机存取存储器(RAM)30和/或高速缓冲存储器32。计算机***/服务器12可以进一步包括其他可移除/不可移除、易失性/非易失性计算机***存储介质。仅仅作为范例,可以提供存储***34,用于从不可移除、非易失性磁介质(未示出,通常称为“硬盘驱动器”)读取以及向其写入。尽管未示出,可以提供用于从可移除、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器,以及用于从可移除、非易失性光盘(诸如CD-ROM、DVD-ROM或其他光学介质)读取或向其写入的光盘驱动器。在这种情况下,每个都可以通过一个或多个数据介质接口连接到总线18。如下文进一步示出和描述的,存储器28可以包括至少一种程序产品,该程序产品具有一组(例如,至少一个)程序模块,该组程序模块被配置成执行本发明实施例的功能。
例如,但并非限制,可以在存储器28中存储具有一组(至少一个)程序模块42的程序/实用程序40,以及操作***、一个或多个应用程序、其他程序模块和程序数据。操作***、一个或多个应用程序、其他程序模块和程序数据中的每个或其组合可以包括联网环境的实施。程序模块42一般执行本文所描述的本发明实施例的功能和/或方法。
计算机***/服务器12还可以与诸如键盘、定点装置、显示器24等一个或多个外部装置14;使得用户能够与计算机***/服务器12交互的一个或多个装置;和/或使得计算机***/服务器12能够与一个或多个其他计算装置通信的任何装置(例如,网卡、调制调解器等)通信。这样的通信可以通过输入/输出(I/O)接口22进行。此外,计算机***/服务器12能够经由网络适配器20,与诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,因特网)的一个或多个网络通信。如图所示,网络适配器20通过总线18与计算机***/服务器12的其他部件通信。应当理解,虽然未示出,但可以结合计算机***/服务器12使用其他硬件和/或软件部件。范例包括(但不限于)微代码、装置驱动程序、冗余处理单元、外部磁盘驱动器阵列、RAID***、磁带驱动器和数据档案存储器***等。
所属技术领域的技术人员知道,本发明的各个方面可以实现为***、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里都可以统称为“电路”、“模块”或“***”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(articleofmanufacture)。
也可以将计算机程序指令加载到计算机、其他可编程数据处理设备或其他装置上,以使得在计算机、其他可编程数据处理设备或其他装置上执行一系列操作步骤,以产生计算机实施的过程,从而在计算机或其他可编程设备上执行的指令提供用于实现流程图和/或方框图方框中指定的功能/动作的过程。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
已经出于例示的目的给出了本发明各实施例的描述,但并非意在穷举或限制公开的实施例。对于本领域的普通技术人员而言,不脱离所述实施例的范围和精神,很多修改和变化将是明显的。选择本文使用的术语以最好地解释实施例的原理、实际应用或相对于市场上常见技术的技术改进,或使本领域的其他普通技术人员能够理解本文公开的实施例。
Claims (20)
1.一种方法,包括:
读取密钥束,所述密钥束包括第一密码密钥、相关联的第一密钥标识符和相关联的第一密码函数标识符;
接收加密内容;
接收多个加密密钥,每个加密密钥具有标识符;
从所述多个加密密钥中选择第一加密密钥,使得所述第一加密密钥的标识符相当于所述第一密钥标识符;
确定对应于所述第一密码函数标识符的第一密码函数;
利用所述第一密码密钥向所述第一加密密钥应用所述第一密码函数,以获得第一中间密码密钥;
使用所述第一中间密码密钥确定内容密码密钥;以及
将所述内容密码密钥应用到所述加密内容以获得解密内容。
2.根据权利要求1所述的方法,其中,所述解密内容包括多媒体数据。
3.根据权利要求1所述的方法,其中,所述第一密码函数标识符是盐值。
4.根据权利要求1所述的方法,其中,所述第一密码函数标识符是随机种子。
5.根据权利要求1所述的方法,其中,所述第一密码函数是从如下项构成的组选择的:分组密码、AES、Blowfish、C2分组密码、Camellia、CAST-128、CAST-256、CLEFIA、Cryptomeria、DES、FEAL、GOST28147-89、ICE、IDEA、KASUMI、LOKI97、Lucifer、MacGuffin、MAGENTA、MARS、MISTY1、RC2、RC5、RC6、Skipjack、SMS4、TEA、TripleDES、Twofish和XTEA。
6.根据权利要求1所述的方法,其中,所述第一密钥标识符和所述多个加密密钥的标识符是列和行对。
7.根据权利要求1所述的方法,其中,所述第一密钥标识符和所述多个加密密钥的标识符是n维矢量。
8.根据权利要求1所述的方法,其中,所述密钥束包括第二密码密钥、相关联的第二密钥标识符和相关联的第二密码函数标识符,并且其中,使用所述第一中间密码密钥确定内容密码密钥包括:
从所述多个加密密钥中选择第二加密密钥,使得所述第二加密密钥的标识符相当于所述第二密钥标识符;
确定对应于所述第二密码函数标识符的第二密码函数;
利用所述第二密码密钥向所述第二加密密钥应用所述第二密码函数,以获得第二中间密码密钥;以及
使用所述第二中间密码密钥确定所述内容密码密钥。
9.根据权利要求1所述的方法,其中,使用所述第一中间密码密钥确定内容密码密钥包括:
向所述第一中间密码密钥应用第三密码函数。
10.一种方法,包括:
提供密钥束,所述密钥束包括第一密码密钥、相关联的第一密钥标识符和相关联的第一密码函数标识符;
提供加密内容;
提供多个加密密钥,每个加密密钥都具有密钥识别符,选择所述多个加密密钥,从而能够通过如下方式对所述加密内容解密:
从所述多个加密密钥中选择第一加密密钥,使得所述第一加密密钥的标识符相当于所述第一密钥标识符;
确定对应于所述第一密码函数标识符的第一密码函数;
利用所述第一密码密钥向所述第一加密密钥应用所述第一密码函数,以获得第一中间密码密钥;
使用所述第一中间密码密钥确定内容密码密钥;以及
将所述内容密码密钥应用到所述加密内容。
11.根据权利要求10所述的方法,其中,所述加密内容包括加密多媒体数据。
12.根据权利要求10所述的方法,其中,所述第一密码函数标识符是盐值。
13.根据权利要求10所述的方法,其中,所述第一密码函数标识符是随机种子。
14.根据权利要求10所述的方法,其中,所述第一密码函数是从如下项构成的组选择的:分组密码、AES、Blowfish、C2分组密码、Camellia、CAST-128、CAST-256、CLEFIA、Cryptomeria、DES、FEAL、GOST28147-89、ICE、IDEA、KASUMI、LOKI97、Lucifer、MacGuffin、MAGENTA、MARS、MISTY1、RC2、RC5、RC6、Skipjack、SMS4、TEA、TripleDES、Twofish和XTEA。
15.根据权利要求10所述的方法,其中,所述第一密钥标识符和所述多个加密密钥的标识符是列和行对。
16.根据权利要求10所述的方法,其中,所述第一密钥标识符和所述多个加密密钥的标识符是n维矢量。
17.根据权利要求10所述的方法,其中,所述密钥束包括第二密码密钥、相关联的第二密钥标识符和相关联的第二密码函数标识符,并且其中,使用所述第一中间密码密钥确定内容密码密钥包括:
从所述多个加密密钥中选择第二加密密钥,使得所述第二加密密钥的标识符相当于所述第二密钥标识符;
确定对应于所述第二密码函数标识符的第二密码函数;
利用所述第二密码密钥向所述第二加密密钥应用所述第二密码函数,以获得第二中间密码密钥;以及
使用所述第二中间密码密钥确定所述内容密码密钥。
18.根据权利要求10所述的方法,其中,使用第一中间密码密钥确定内容密码密钥包括:
向所述第一中间密码密钥应用第三密码函数。
19.一种用于广播加密的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质中包含有程序代码,所述程序代码能由处理器执行以实现以下操作:
读取包括第一密码密钥、相关联的第一密钥标识符和相关联的第一密码函数标识符的密钥束;
读取加密内容;
读取多个加密密钥,每个加密密钥具有标识符;
从所述多个加密密钥中选择第一加密密钥,使得所述第一加密密钥的标识符相当于所述第一密钥标识符;
确定对应于所述第一密码函数标识符的第一密码函数;
利用所述第一密码密钥向所述第一加密密钥应用所述第一密码函数,以获得第一中间密码密钥;
使用所述第一中间密码密钥确定内容密码密钥;以及
将所述内容密码密钥应用到所述加密内容以获得解密内容。
20.根据权利要求19所述的计算机程序产品,其中,所述密钥束编码于计算机可读存储介质中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/057,203 US9363075B2 (en) | 2013-10-18 | 2013-10-18 | Polymorphic encryption key matrices |
US14/057,203 | 2013-10-18 | ||
PCT/JP2014/004356 WO2015056387A1 (en) | 2013-10-18 | 2014-08-25 | Polymorphic encryption key matrices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105637801A true CN105637801A (zh) | 2016-06-01 |
CN105637801B CN105637801B (zh) | 2018-09-25 |
Family
ID=52826179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480057120.3A Active CN105637801B (zh) | 2013-10-18 | 2014-08-25 | 多形态加密密钥矩阵 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9363075B2 (zh) |
JP (1) | JP6282343B2 (zh) |
CN (1) | CN105637801B (zh) |
GB (1) | GB2533748A (zh) |
WO (1) | WO2015056387A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108462579A (zh) * | 2018-05-23 | 2018-08-28 | 东南大学 | 一种基于密钥矩阵的密钥分配方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015145211A1 (en) * | 2014-03-27 | 2015-10-01 | Kam Fu Chan | Token key infrastructure and method for cloud services |
US9438421B1 (en) * | 2014-06-27 | 2016-09-06 | Amazon Technologies, Inc. | Supporting a fixed transaction rate with a variably-backed logical cryptographic key |
US10148639B2 (en) * | 2016-05-24 | 2018-12-04 | Microsoft Technology Licensing, Llc | Distinguishing vertical brute force attacks from benign errors |
EP3281598A1 (en) | 2016-08-09 | 2018-02-14 | Koninklijke Philips N.V. | Light based skin treatment device and method |
CN108259160B (zh) * | 2016-12-28 | 2021-06-18 | 湖北高瞻科技有限责任公司 | 数据通讯加密方法及装置 |
WO2018138724A1 (en) * | 2017-01-24 | 2018-08-02 | Six Degrees Space Ltd | Asymmetric content protection of large datastreams |
US11392350B2 (en) * | 2019-06-18 | 2022-07-19 | Oracle International Corporation | Parallel generation of pseudorandom number sequences using multiple generators with brined initial states |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267295A (zh) * | 2006-10-06 | 2008-09-17 | 美国博通公司 | 用于安全通信***中处理信息的方法和*** |
CN101471943A (zh) * | 2007-12-20 | 2009-07-01 | 英特尔公司 | 用于验证硬件装置并为发布数据提供安全通道的方法 |
CN101681408A (zh) * | 2007-05-22 | 2010-03-24 | 皇家飞利浦电子股份有限公司 | 数据安全性 |
CN102016871A (zh) * | 2008-03-05 | 2011-04-13 | 耶德托公司 | 密码*** |
US20120243687A1 (en) * | 2011-03-24 | 2012-09-27 | Jun Li | Encryption key fragment distribution |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5185796A (en) | 1991-05-30 | 1993-02-09 | Motorola, Inc. | Encryption synchronization combined with encryption key identification |
GB2288519A (en) * | 1994-04-05 | 1995-10-18 | Ibm | Data encryption |
US6118873A (en) | 1998-04-24 | 2000-09-12 | International Business Machines Corporation | System for encrypting broadcast programs in the presence of compromised receiver devices |
JP2003515688A (ja) * | 1999-11-30 | 2003-05-07 | ボーディング データ エーエス | 電子キー・デバイス、システム、および電子キー情報を管理する方法 |
US7107462B2 (en) * | 2000-06-16 | 2006-09-12 | Irdeto Access B.V. | Method and system to store and distribute encryption keys |
US7249384B1 (en) * | 2000-08-16 | 2007-07-24 | Matsushita Electric Industrial Co., Ltd. | Copy-resistant read-only digital optical disc and adaptable player |
US6985591B2 (en) * | 2001-06-29 | 2006-01-10 | Intel Corporation | Method and apparatus for distributing keys for decrypting and re-encrypting publicly distributed media |
US7636724B2 (en) * | 2001-08-31 | 2009-12-22 | Peerify Technologies LLC | Data storage system and method by shredding and deshredding |
GB0129928D0 (en) | 2001-12-14 | 2002-02-06 | Ibm | Method and apparatus for encryption of data |
US7184550B2 (en) * | 2002-08-15 | 2007-02-27 | Intel Corporation | Method and apparatus for simultaneous decryption and re-encryption of publicly distributed content via stream ciphers |
EP1648170A1 (fr) * | 2004-10-15 | 2006-04-19 | Nagracard S.A. | Méthode de transmission de messages de gestion par un centre de gestion à destination d'une pluralité d'unités multimédia |
JP2006211343A (ja) * | 2005-01-28 | 2006-08-10 | Renesas Technology Corp | 認証方式及び認証システム |
EP1847995A4 (en) * | 2005-02-07 | 2009-11-11 | Panasonic Corp | RECORDING DEVICE, PLAYING DEVICE, INTEGRATED CIRCUIT AND CONTROL PROGRAM |
JP4774509B2 (ja) * | 2005-05-13 | 2011-09-14 | 国立大学法人お茶の水女子大学 | 擬似乱数発生システム |
US8978154B2 (en) * | 2006-02-15 | 2015-03-10 | Samsung Electronics Co., Ltd. | Method and apparatus for importing content having plurality of parts |
JP2008113172A (ja) * | 2006-10-30 | 2008-05-15 | Hitachi Ltd | コンテンツ送信装置、コンテンツ受信装置及びコンテンツ暗号化方法 |
CN101779209B (zh) * | 2007-08-24 | 2012-10-31 | 国际商业机器公司 | 用于保护存储在存储设备中的内容的***和方法 |
JP2009135871A (ja) * | 2007-11-05 | 2009-06-18 | Sumitomo Electric Ind Ltd | 暗号鍵生成方法 |
JP2010074537A (ja) | 2008-09-18 | 2010-04-02 | Canon Inc | 放送受信装置、その制御方法、放送送信装置、及びその制御方法 |
JP2010074637A (ja) * | 2008-09-19 | 2010-04-02 | Alps Electric Co Ltd | アップダウンカウンタ装置 |
KR101305740B1 (ko) * | 2010-09-10 | 2013-09-16 | 삼성전자주식회사 | 비휘발성 저장 장치의 인증 방법 및 장치 |
-
2013
- 2013-10-18 US US14/057,203 patent/US9363075B2/en active Active
-
2014
- 2014-08-25 CN CN201480057120.3A patent/CN105637801B/zh active Active
- 2014-08-25 GB GB1606556.7A patent/GB2533748A/en not_active Withdrawn
- 2014-08-25 WO PCT/JP2014/004356 patent/WO2015056387A1/en active Application Filing
- 2014-08-25 JP JP2016524161A patent/JP6282343B2/ja active Active
-
2016
- 2016-04-28 US US15/140,907 patent/US10476669B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267295A (zh) * | 2006-10-06 | 2008-09-17 | 美国博通公司 | 用于安全通信***中处理信息的方法和*** |
CN101681408A (zh) * | 2007-05-22 | 2010-03-24 | 皇家飞利浦电子股份有限公司 | 数据安全性 |
CN101471943A (zh) * | 2007-12-20 | 2009-07-01 | 英特尔公司 | 用于验证硬件装置并为发布数据提供安全通道的方法 |
CN102016871A (zh) * | 2008-03-05 | 2011-04-13 | 耶德托公司 | 密码*** |
US20120243687A1 (en) * | 2011-03-24 | 2012-09-27 | Jun Li | Encryption key fragment distribution |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108462579A (zh) * | 2018-05-23 | 2018-08-28 | 东南大学 | 一种基于密钥矩阵的密钥分配方法 |
CN108462579B (zh) * | 2018-05-23 | 2020-12-25 | 东南大学 | 一种基于密钥矩阵的密钥分配方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6282343B2 (ja) | 2018-02-21 |
US9363075B2 (en) | 2016-06-07 |
CN105637801B (zh) | 2018-09-25 |
WO2015056387A1 (en) | 2015-04-23 |
US20170085373A1 (en) | 2017-03-23 |
US20150110273A1 (en) | 2015-04-23 |
GB2533748A (en) | 2016-06-29 |
JP2016541150A (ja) | 2016-12-28 |
US10476669B2 (en) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105637801A (zh) | 多形态加密密钥矩阵 | |
CN108664223B (zh) | 一种分布式存储方法、装置、计算机设备及存储介质 | |
CN110768787B (zh) | 一种数据加密、解密方法及装置 | |
CN109040090A (zh) | 一种数据加密方法及装置 | |
CN105024803B (zh) | 白箱实现中的行为指纹 | |
CN106548353B (zh) | 一种商品防伪码生成与验证方法 | |
CN102138300A (zh) | 消息认证码预计算在安全存储器中的应用 | |
CA3007348A1 (en) | Fast format-preserving encryption for variable length data | |
CN104992119B (zh) | 一种敏感信息防窃取的安全传输方法及*** | |
CN105468940B (zh) | 软件保护方法及装置 | |
CN107196840B (zh) | 数据处理方法、装置及设备 | |
CN105095695B (zh) | 经由白箱实现的不正确功能行为实现授权 | |
CN110312054B (zh) | 图像的加解密方法、及相关装置、存储介质 | |
CN105024992A (zh) | 在单个白箱实现中实现使用相关安全性设置 | |
CN116383857B (zh) | 基于跨平台认证的存储方法、装置及存储介质 | |
CN105184115A (zh) | 用于将隐式完整性或可信性检查包括到白箱实现中的方法 | |
CN106059762A (zh) | 数据安全处理方法及装置 | |
CN113489710B (zh) | 一种文件共享方法、装置、设备和存储介质 | |
CN106778292B (zh) | 一种Word加密文档的快速还原方法 | |
CN104618093A (zh) | 数据加密方法和装置 | |
CN104836817A (zh) | 一种保障网络信息安全的体系架构及方法 | |
JP2012104883A (ja) | 記憶装置、アクセス装置およびプログラム | |
CN109544164A (zh) | 一种基于互联网支付的加密***、方法和存储介质 | |
Ahmad et al. | A secure network communication protocol based on text to barcode encryption algorithm | |
CN105978680A (zh) | 在白盒实现方案中实现填充 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |