CN107431620B - 广播加密方案的运行时实例化 - Google Patents
广播加密方案的运行时实例化 Download PDFInfo
- Publication number
- CN107431620B CN107431620B CN201680018356.5A CN201680018356A CN107431620B CN 107431620 B CN107431620 B CN 107431620B CN 201680018356 A CN201680018356 A CN 201680018356A CN 107431620 B CN107431620 B CN 107431620B
- Authority
- CN
- China
- Prior art keywords
- broadcast encryption
- function
- definition
- key
- content
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000006870 function Effects 0.000 claims description 93
- 238000003860 storage Methods 0.000 claims description 24
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000004590 computer program Methods 0.000 abstract description 7
- 238000012545 processing Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 12
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 102100022523 Acetoacetyl-CoA synthetase Human genes 0.000 description 4
- 101000678027 Homo sapiens Acetoacetyl-CoA synthetase Proteins 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- IAXXETNIOYFMLW-UHFFFAOYSA-N (4,7,7-trimethyl-3-bicyclo[2.2.1]heptanyl) 2-methylprop-2-enoate Chemical compound C1CC2(C)C(OC(=O)C(=C)C)CC1C2(C)C IAXXETNIOYFMLW-UHFFFAOYSA-N 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000003619 Marshal aromatic alkylation reaction Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
- H04L63/0457—Network 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 wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/09—Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
- H04H60/14—Arrangements for conditional access to broadcast information or to broadcast-related services
- H04H60/23—Arrangements for conditional access to broadcast information or to broadcast-related services using cryptography, e.g. encryption, authentication, key distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- 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
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- 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
-
- 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/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明的实施例涉及广播加密方案的运行时实例化。在一个实施例中,提供了用于广播加密方案的运行时实例化的方法和计算机程序产品。广播加密定义被读取。广播加密定义限定广播加密方案并且包括多个函数定义。基于该多个函数定义,确定广播加密定义是限定对内容进行加密还是对内容进行解密。基于该多个函数定义,确定广播加密方案的类型。
Description
技术领域
本发明的实施例涉及广播加密,更具体地,涉及广播加密方案的运行时实例化。
发明内容
根据本发明的一个实施例,提供了用于广播加密方案的运行时实例化的方法和计算机程序产品。广播加密定义被读取。广播加密定义限定广播加密方案并且包括多个函数定义。基于该多个函数定义,确定广播加密定义是限定对内容进行加密还是对内容进行解密。基于该多个函数定义,确定广播加密方案的类型。
附图说明
现在将参考附图仅作为示例来描述本发明的实施例,其中:
图1表示根据本发明一实施例的客户端/服务器接口的示意图。
图2表示根据本公开一实施例的示例性嵌入式模块。
图3表示根据本发明一实施例的云计算节点;
图4表示根据本发明一实施例的云计算环境;
图5表示根据本发明一实施例的抽象模型层;
具体实施方式
可以在广播加密方案中使用子集差异树方法来限制对分布式内容的授权访问。NNL(以Naor、Naor和Lotspiech命名)在利用子集差异树的广播加密系统中提供了空间高效的密钥分配。NNL使用单向三元函数向下遍历二叉树,并从父节点导出加密密钥,其中三元函数的应用允许确定处理密钥以及节点的左子节点和右子节点。内容消费者被分配用于特定起始节点的一小组唯一的标签(密钥),并且通过应用三元函数,能够导出任何其它标签和那些起始标签下面(由其覆盖)的密钥。从其它标签导出标签的这种能力使NNL具有其紧凑性,并且特别是允许向客户端分发最小组的密钥。类似地,NNL使得能够分发最小组的加密。不是分发为每个目标设备加密的消息的版本,而是可以使用子集差异树方法为设备的子集加密消息。
可以应用单个预定的单向函数来遍历树。在事先知道该函数的情况下,攻击者可以能够通过暴力导出附加密钥。特别地,可以针对所有可能的输入计算已知单向函数的结果。一旦答案与任何起始标签匹配,单向函数就已经被破坏,并且攻击者已经获得她没有被授权具有的标签。具有足够的计算能力,攻击者可以由此绕过内容保护系统。成功的暴力攻击的结果可能是灾难性的,因为未授权的标签的导出将允许攻击者冒充任何其它授权的内容消费者来获得对内容未经授权的访问。可以安装高效的攻击,其中并行比较答案与整组起始标签。一个标签与每个计算出的答案的比较并不比同时比较多个标签明显容易。如果攻击者具有多组起始标签(例如,多个受损密钥集),那么进一步增加了这种并行性。一旦任何标签被破解,那么在该标签下的所有密钥都可以使用已知的三元函数轻松地导出。甚至用于导出起始标签的方法(除了纯随机数生成之外)也将处于破解的危险中。
为了最小化这种攻击的危险,可以选择单向函数,使得暴力攻击是不可行的。特别地,可以选择将需要非常大量的时间来通过暴力破解的函数。例如,使用AES-128的单向函数通常被认为是不可能在目前被破解的。但是,攻击者可以访问包括多个计算机的越来越大的云(或僵尸网络(botnet)),该多个计算机的平均个别计算能力每18个月翻一番。随着计算能力的不断增加,攻击者每年可以通过暴力破解大约更多一位的加密强度。此外,不时会有技术(硬件或算法)发展(例如,彩虹表(rainbow table)、CPU对AES的支持、多核并行性、GPU中的大规模并行性、FPGA、量子计算),使得破解效率达到数量级的跳跃。鉴于这些持续的进步,目前无法在实践中破解的单向函数可能在不久的将来被破解。
为了解决广播加密中的暴力攻击的风险,本公开提供了广播加密方案的动态重新定义,包括基于子集差异的方案,诸如NNL和密钥的即时(just-in-time)生成。通过在部署的系统中提供广播加密方案的动态修改,攻击者猜到函数的潜力是有限的。即使在攻击者知道广播加密方案中用于给定参与者的函数的情况下,由于方案中的多个参与者当中的潜在变化,这种知识的有用性也是有限的。此外,响应于系统的中断,整个广播加密方案可以被动态修改以最小化中断的影响。
子集差异树的给定实例通过几个特征来区分。密钥集高度决定子树差异树的高度。密钥宽度决定每个单独密钥的大小。标签函数决定如何从节点ID导出标签。三元函数决定左遍历密钥和右遍历密钥以及节点的处理密钥。这些参数的变化是可能的。例如,给定的实例可以具有9的密钥集高度、128位的密钥宽度,并且三元函数可以是如AACS中限定的AES-3G。在本公开的一些实施例中,为节点的左密钥、右密钥和处理密钥中的每一个限定了三个单独的函数,而不是三元函数。
在本发明的实施例中,为任意广播加密部署提供了即时编译器。其中广播加密部署的参数被预先确定的替代系统被硬编码以使用一组参数或小的参数集合。这种硬编码系统的修改涉及向可能已经被部署的系统添加附加代码。被部署的系统的修改可能需要关闭内容消费者软件和内容提供商软件两者来应用补丁,从而导致停机时间。此外,在广泛部署的系统中修补所有提供商和消费者可能会非常复杂和耗时。此外,硬编码系统没有利用硬件优化、并行处理或云处理来提高性能。
在本公开的一个方面中,提供了可以用于描述任意广播加密配置的编程语言。在一些实施例中,可以描述基于矩阵或基于子集差异的方案。这种语言小巧、简单、安全、并且适合在沙盒中执行。这种语言中的描述可以被安全检查并编译成本机优化的沙盒代码。这样的代码充分利用底层硬件的速度,而不需要任何运行时重新检查。因此,在密钥生成期间,代码可以不受约束地运行。这允许以比用于密钥生成的替代方法快上千倍的速度进行密钥生成,同时维持出色的安全性。
该语言是灵活的,允许表达无限数量的可能的布置。通过提供可操作以解释和编译该语言的运行时,可以执行任意重新初始化。这两者都允许修改已部署的系统而不进行修补,并且还允许在交易期间重新初始化,从而实现多态密钥分配方案。
在一些实施例中,语言中的输入代码被标记化并转换成函数调用及其操作数列表。该列表然后可以在运行时被解释。在标记化过程中,可能丢弃任何未知的标记,从而确保结果产生的函数调用列表有效。在一些实施例中,在编译成机器代码之前,函数调用列表可以被编译成中间语言。中间语言可以是已知的编程语言,诸如C或Java。中间语言也可以是解释性语言,诸如JavaScript、PHP、Perl或Python等。在一些实施例中,输入代码被编译成适于由诸如Java虚拟机(JVM)的虚拟机执行的字节码。
在一些实施例中,语法是可扩展的。在这种实施例中,可以通过修改编译器或通过添加自包含的软件模块将附加函数添加到本公开的语言中。以这种方式,即使在附加函数被推出(rolled out)的情况下,仍然维持了向后的兼容性。
在一些实施例中,提供了用于从被配置为解释上述语言的服务器请求密钥生成服务的客户端API。在一些实施例中,客户端库将请求分派到多个服务器并且对响应进行整理。这种方法使得能够进行大量的并行性。在一些实施例中,多个服务器实例对于也托管客户端的给定物理机器是本地的。在一些实施例中,多个服务器实例遍布于诸如LAN、WAN或互联网的网络中,并且可经由网络连接访问。在一些实施例中,多个服务器实例位于云中,并且以相同的广播加密定义进行初始化。这样的云部署允许由许多物理机器并行产生符合给定广播加密定义的密钥,从而允许这种系统被缩放到任意大小。
在一些实施例中,客户端库负责分配要在多个服务器实例当中进行计算的子树,并且然后整理结果。在其它实施例中,中间服务器导出客户端API,但是将计算委托给多个服务器实例。在这样的实施例中,中间服务器负责整理结果。无论是客户端库还是中间服务器,整理实体都负责跟踪分配给目标服务器实例的工作。在一些实施例中,工作负荷被划分成在计算上大致等量的工作单元,以用于分发。在其它实施例中,工作负荷被划分成其计算复杂度与目标服务器实例的计算容量成比例的工作单元。在一些实施例中,将工作负荷被划分成多个小片段,并且多个服务器实例中的每一个被分配一个或多个片段。
在一些实施例中,服务器端代码生成用于供应给内容消费者的解密密钥的集合和加密各个内容消息的加密密钥束。在一些实施例中,提供托管能够初始化以便与任何广播加密配置一起使用的运行时的通用内容消费者。
图1表示即时服务器的示例性实施例的示意图。服务器101与客户端102通信来生成一般子集差异树。客户端102通过调用具有描述所请求的广播加密实例的伪代码的方法103来初始化服务器实例。客户端102请求104密钥集。响应于该请求,服务器101生成并返回符合广播加密规范的密钥集105。客户端106请求根据广播加密规范使用参量u:uv来加密消息。加密的消息被返回107。
在插图1中,提供了子集差异广播加密实例的示例性定义。在该示例中,密钥集高度为25,并且密钥集宽度为128。提供了通过应用AES-128块密码从标签id确定节点标签的标签函数。特别地,通过使用常数对节点id应用AES-128解密(由aes128d表示)来计算中间值x。通过使用中间值将AES-128解密应用于常数值来计算标签。类似地定义左函数、中心函数和右函数。这些左函数、中心函数和右函数代替了单个三元函数。但是,可以通过本公开的语言来表达诸如AES-G3的三元函数。在这个示例中,通过使用节点标签将AES-128解密应用于常数并且然后将结果与常数进行异或(xoring)来获得左密钥、右密钥和中心密钥。
插图1
可以使用本公开的语言来描述任意广播加密方案。例如,在插图2处提供了使用较大密钥的更强的方案。在插图3处提供了使用较小密钥和DES-56代替AES的较弱方案。在插图4处提供了将适于在公钥基础设施部署中使用的具有密钥集高度为1的方案。最后,插图5中提供了适于在内容消费者设备中使用的示例,其中省略了标签函数。
插图2
插图3
插图4
插图5
除了以上示例之外,本公开的系统可以用于限定基于矩阵的广播加密方案。作为示例,可以通过在以上示例中提供代替标签函数的行指示和列指示来生成基于矩阵的方案。插图6处提供了一个这样的示例。
插图6
在插图6的示例中,可以向内容消费者提供如在插图7中提供的与如在插图8中提供的密钥集耦合的解码器算法。当内容提供商提供加密内容时,生成媒体密钥块(MKB)以使得授权的内容消费者能够解密该内容。根据本公开的实施例的示例性媒体密钥块在插图9处提供。然后,内容消费者可以使用插图6中给出的算法来接收和解密由内容提供商加密的内容。在示例性MKB和密钥集中,矩阵中的行指示和列指示由在行的开始处的“@”符号隔开,例如,“2@13”。但是,本公开不限于这种语法,并且应当认识到的是,在不脱离本公开的范围的情况下,可以采用各种替代的语法和编码。
插图7
插图8
插图9
在一些实施例中,单个文件可以包括内容消费者所需的解密方案的定义和用于该消费者的密钥集两者。以这种方式,内容消费者可以被完全配置为简单和动态地参与广播加密系统。根据本公开的实施例的内容消费者在接收到定义之后,从该定义推断出所限定的方案的类型。例如,左函数和右函数的存在允许推断基于树的系统被限定,而行指示符和列指示符允许推断基于矩阵的系统被限定。如以上示例所示,全局唯一标识符(GUID)可以被包括在内容消费者的定义中以将MKB与适当的密钥集相关联。在其中内容消费者缺少用于MKB的适当的密钥集的一些实施例中,内容消费者可以请求提供新的密钥集。
如从以上将显而易见的,本主题的多个实现方式可以自由地互操作。例如,读取人类可读代码的解释器实现可以同样与读取等效字节码的虚拟机实现互操作。如果该定义的给定编码符合相同的语法,那么可以采用任意编码。为了进一步说明,FPGA可以读取和执行描述广播加密方案定义的字节码。类似地,可以提供直接执行符合专门指令集的定义的CPU或协处理器。可以提供转换器或交叉编译器来在各种编码和指令集之间(例如,在字节码和人类可读代码之间)转换定义。
如也从以上将显而易见的,本主题的给定实现可以基于其读取的定义用作内容消费者、内容提供者或两者。例如,集成协处理器可以适于在本机执行字节码,如上所述。可以向协处理器提供包括加密所需的函数的基于矩阵的方案的定义。协处理器不仅可以被提供基于子集差异的方案的定义,而且可以被提供解密内容所需的信息。在该示例中,使用两个单独的广播方案,协处理器将使得设备能够充当消费者和提供者。
在一些实施例中,客户端API包括初始化函数,其初始化具有广播加密实例的描述的密钥生成器。在一些实施例中,描述以伪代码提供,伪代码可以是以上在插图1-5中提供的形式。客户端API可以包括用于在初始化发生之后生成密钥集或加密值的附加函数。
本公开的即时方法使得能够实现在广播加密配置之间的零停机时间过渡。此外,它使得能够使用其中参数在整个密钥集中或随着时间的推移而变化的广播加密方案。特别地,本公开的即时方法使得能够灵活地实现多态广播加密方案,诸如在标题为“POLYMORPHIC ENCRYPTION KEY ALLOCATION SCHEME”的一般发明和受让的申请中描述的那些方案。此外,可以使用可变高度的密钥集。
在一些实施例中,广播加密描述使用256位变量。在其它实施例中,使用更大或更小的可变大小。在一些实施例中,期望小于可变长度的固定长度输入的函数(诸如AES-128)被应用到输入变量的最低有效位。通过为标签和节点id分配256位,256位树空间变得可用。特别地,密钥集高度被限制为比密钥长度少一位。在具有较大可变大小的实施例中,树空间的大小存在相应的增加。
在一些实施例中,密钥宽度必须是8位的倍数。在其它实施例中,密钥宽度不被限制为8位的倍数,并且应用位包装以将输入值对准到字节边界。
广播加密生成可以由链接库提供。可替代地,广播加密生成可以由可通过消息传递API访问的独立程序来提供。在一些实施例中,独立广播加密生成程序可以通过本地管道访问。在其它实施例中,广播加密生成程序可以通过远程端口访问,例如经由inetd或netcat进程将该端口上的流量用管道输送到广播加密生成程序。在一些实施例中,多个网络可访问广播加密生成器是可用的,从而允许分布式处理。在一些实施例中,远程广播加密生成程序可通过诸如由IPSec或SSH提供的加密链路来访问。
在一些实施例中,广播加密生成被提供为云服务。通过并行化云中的广播加密生成,可以即时生成诸如在AACS中提供的整个广播加密实例。例如,所有的AACS可以使用12个核心在大约七分钟内生成。使用5000个核心,所有的AACS可以在大约一秒内生成。
在一些实施例中,广播加密生成被内置到小型设备中以使得能够进行特定于设备的加密。这样的设备包括汽车钥匙、信用卡、标记读取器、纳米计算机、功率计、诸如起搏器的植入式医疗设备、交通信号灯。通常,任何嵌入式无线可访问设备都适用于与本公开的即时广播加密生成一起使用。在一些实施例中,在初始化步骤中经由安全通道提供广播加密规范。
参考图2,提供了示例性嵌入式模块。嵌入式模块200可以是ASIC或其它电路。嵌入式模块200可以被包括在移动设备或其它内容消费者中。嵌入式模块200包括随机数生成器201、广播加密(BE)执行模块202和私有密钥203。广播加密执行模块202可以访问随机数生成器201和私有密钥203。广播加密执行模块202可以与设备中的其它部件对接。广播加密执行模块202提供若干广播加密服务。可以向广播加密执行模块202请求随机数。广播加密执行模块请求随机数生成器201的随机数并将其返回给请求者。在初始化步骤中,如上所述的广播加密定义被提供给广播加密执行模块202。广播加密执行模块202使用私有密钥203对定义进行加密。然后,经加密的定义可以存储在设备中的计算机可读存储装置中以便以后检索。当被提供经加密的定义时,广播加密加密模块202生成并返回用于参量u:uv的密钥。当被提供经加密的定义时,广播加密加密模块202根据参量u:uv进行编码并返回参量消息。当被提供适当的客户端密钥、经加密的定义和参量u:uv时,广播加密加密模块202解码并返回消息。客户端密钥可以存储在广播加密加密模块202的外部。
除了如上所述分发经加密的数据之外,本公开的即时NNL生成可以用于快速定位被泄漏的密钥。此外,它可以用于使用逼真的数据集模拟攻击。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图3所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图4,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图4显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图5,其中显示了云计算环境50(图4)提供的一组功能抽象层。首先应当理解,图5所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图5所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如IBM系统;IBM系统;IBM系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM应用服务器软件;数据库软件,例如IBM数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及广播加密方案的运行实例。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上具有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子的非穷举列表包括以下项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如其上记录有指令的打孔卡或凹槽内凸起结构的机械编码设备、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,瞬时信号本身诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤缆线的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过例如因特网、局域网、广域网和/或无线网的网络下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言——诸如Java、Smalltalk、C++等,以及常规的过程式编程语言——诸如“C”编程语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含用于实现规定的逻辑功能的一个或多个可执行指令。在一些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用专用的基于硬件的系统来实现,该专用的基于硬件的系统执行规定的功能或动作,或者可以实现专用硬件与计算机指令的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (18)
1.一种用于广播加密方案的运行时实例化的方法,包括:
读取广播加密定义,所述广播加密定义限定广播加密方案并且包括多个函数定义,其中所述多个函数定义包括第一函数定义、第二函数定义和第三函数定义;
基于所述多个函数定义,确定所述广播加密定义是限定对内容进行加密还是对内容进行解密;
基于所述多个函数定义,确定所述广播加密方案的类型;
将所述广播加密定义编译成本机计算机可执行代码;
执行所述本机计算机可执行代码以生成符合所述广播加密方案的密钥束,所述密钥束包括第一加密密钥;
执行所述本机计算机可执行代码以生成符合所述广播加密方案的密钥块,使得内容密码密钥可通过以下获得:
确定与第一函数定义、第二函数定义和第三函数定义对应的第一密码函数、第二密码函数和第三密码函数;以及
使用第一密码密钥和第一密码函数、第二密码函数和第三密码函数遍历子集差异树,以获得内容密码密钥。
2.如权利要求1所述的方法,其中所述广播加密方案的类型选自包括以下的组:
基于矩阵的广播加密方案;以及
基于子集差异树的广播加密方案。
3.如权利要求1所述的方法,其中:
所述广播加密方案是基于子集差异树的广播加密方案;以及
所述多个函数定义包括左遍历函数和右遍历函数。
4.如权利要求3所述的方法,其中:
所述广播加密定义包括选自由以下组成的组的参数:
树高度、密钥宽度、列计数、行计数和维度。
5.如权利要求3所述的方法,其中:
所述多个函数定义包括标签函数。
6.如权利要求3所述的方法,其中:
所述广播加密定义包括至少一个密钥。
7.如权利要求1所述的方法,其中所述广播加密定义限定对内容进行加密,所述方法还包括:
读取内容;
为符合所述广播加密方案的内容生成媒体密钥块。
8.如权利要求1所述的方法,还包括:
生成符合所述广播加密方案的密钥集。
9.如权利要求1所述的方法,还包括:
读取内容;
根据所述广播加密方案加密所述内容。
10.如权利要求1所述的方法,其中所述广播加密定义限定对内容进行解密,所述方法还包括:
读取经加密的内容;
读取符合所述广播加密方案的媒体密钥块;以及
基于所述广播加密方案,使用所述媒体密钥块解密所述内容。
11.如权利要求1所述的方法,其中所述广播加密定义包括伪代码。
12.如权利要求1所述的方法,其中所述广播加密定义符合语法。
13.如权利要求12所述的方法,其中所述语法不包括循环。
14.如权利要求1所述的方法,广播加密包括字节码。
15.如权利要求1所述的方法,还包括:
将所述广播加密定义编译成字节码;以及
执行所述字节码。
16.如权利要求15所述的方法,其中执行所述字节码包括:
实例化虚拟机。
17.如权利要求14所述的方法,其中所述本机计算机可执行代码作为云环境中的服务执行。
18.一种用于广播加密方案的运行时实例化的计算机可读存储介质,具有程序指令,所述程序指令能够由处理器执行以使处理器:
读取广播加密定义,所述广播加密定义限定广播加密方案并且包括多个函数定义,其中所述多个函数定义包括第一函数定义、第二函数定义和第三函数定义;
基于所述多个函数定义,确定所述广播加密定义是限定对内容进行加密还是对内容进行解密;
基于所述多个函数定义,确定所述广播加密方案的类型;
将所述广播加密定义编译成本机计算机可执行代码;
执行所述本机计算机可执行代码以生成符合所述广播加密方案的密钥束,所述密钥束包括第一加密密钥;
执行所述本机计算机可执行代码以生成符合所述广播加密方案的密钥块,使得内容密码密钥可通过以下获得:
确定与第一函数定义、第二函数定义和第三函数定义对应的第一密码函数、第二密码函数和第三密码函数;以及
使用第一密码密钥和第一密码函数、第二密码函数和第三密码函数遍历子集差异树,以获得内容密码密钥。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/671,403 US9516000B2 (en) | 2015-03-27 | 2015-03-27 | Runtime instantiation of broadcast encryption schemes |
US14/671,403 | 2015-03-27 | ||
PCT/IB2016/051478 WO2016157011A1 (en) | 2015-03-27 | 2016-03-16 | Runtime instantiation of broadcast encryption schemes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107431620A CN107431620A (zh) | 2017-12-01 |
CN107431620B true CN107431620B (zh) | 2020-10-13 |
Family
ID=56975862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680018356.5A Active CN107431620B (zh) | 2015-03-27 | 2016-03-16 | 广播加密方案的运行时实例化 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9516000B2 (zh) |
JP (1) | JP6697478B2 (zh) |
CN (1) | CN107431620B (zh) |
DE (1) | DE112016000790B4 (zh) |
GB (1) | GB2551080B (zh) |
WO (1) | WO2016157011A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3032453B1 (en) * | 2014-12-08 | 2019-11-13 | eperi GmbH | Storing data in a server computer with deployable encryption/decryption infrastructure |
US9432340B1 (en) * | 2015-05-07 | 2016-08-30 | Bogart Associates | System and method for secure end-to-end chat system |
CN108111301B (zh) * | 2017-12-13 | 2021-06-15 | 中国联合网络通信集团有限公司 | 基于后量子密钥交换实现ssh协议的方法及其系统 |
CN109120395B (zh) * | 2018-06-08 | 2021-12-07 | 中国银联股份有限公司 | 标签数据生成方法、标签及基于nfc标签的数据处理 |
CN110535633A (zh) * | 2019-07-12 | 2019-12-03 | 江苏宇太网智科技有限公司 | 量子保密通信网络系统 |
US11095443B1 (en) * | 2019-10-11 | 2021-08-17 | Shape Security, Inc. | Proof-of-work based on runtime compilation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7095850B1 (en) * | 2000-09-29 | 2006-08-22 | Cisco Technology, Inc. | Encryption method and apparatus with forward secrecy and random-access key updating method |
CN1836396A (zh) * | 2003-06-17 | 2006-09-20 | 法国电讯 | 用于加密和/或解密数据的可追踪方法和系统,及用于实现该方法的记录介质 |
WO2007082124A2 (en) * | 2006-01-06 | 2007-07-19 | Widevine Technologies, Inc. | Selective and persistent application level encryption for video provided to a client |
CN102394744A (zh) * | 2011-11-10 | 2012-03-28 | 香港应用科技研究院有限公司 | 使用广播加密进行内容分发的系统和方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6735312B1 (en) | 1999-05-11 | 2004-05-11 | Lucent Technologies Inc. | Cryptographic method for restricting access to transmitted programming content using ƒ-redundant establishment key combinations |
US6578020B1 (en) | 1999-12-07 | 2003-06-10 | International Business Machines Corporation | Method and system for converting code to executable code using neural networks implemented in a very large scale integration (VLSI) integrated circuit |
US6832214B1 (en) | 1999-12-07 | 2004-12-14 | International Business Machines Corporation | Method, system, and program for converting code to executable code using neural networks implemented in a software program |
US6826550B2 (en) | 2000-12-15 | 2004-11-30 | International Business Machines Corporation | Method, system, and program for converting application program code to executable code using neural networks based on characteristics of the inputs |
AU2002360605A1 (en) | 2002-01-02 | 2003-07-30 | Sony Electronics Inc. | Time division partial encryption |
ATE288163T1 (de) | 2002-07-17 | 2005-02-15 | Cit Alcatel | VERFAHREN, RECHNERPROGRAMM, KUNDENENDGERÄT UND NETZWERK FÜR DIE EFFIZIENTE BENUTZUNG VON NETZWERKMITTEL DURCH DIE ßJUST-IN-TIMEß ANPASSUNG DES DIENSTQUALITÄTES BASIERT AUF DIE BENUTZUNG DES DIENSTES UND DAS VERHALTEN DES BENUTZERS |
US7305711B2 (en) * | 2002-12-10 | 2007-12-04 | Intel Corporation | Public key media key block |
JP2005286959A (ja) * | 2004-03-31 | 2005-10-13 | Sony Corp | 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム |
EP2124164A3 (en) * | 2005-10-18 | 2010-04-07 | Intertrust Technologies Corporation | Digital rights management engine system and method |
JP2009044652A (ja) | 2007-08-10 | 2009-02-26 | Mitsubishi Electric Corp | コンテンツ暗号化装置及びコンテンツ復号化装置 |
US9729316B2 (en) * | 2008-02-27 | 2017-08-08 | International Business Machines Corporation | Unified broadcast encryption system |
JP5081089B2 (ja) | 2008-07-17 | 2012-11-21 | キヤノン株式会社 | 放送受信装置、及びその制御方法 |
US10209968B2 (en) * | 2009-05-29 | 2019-02-19 | Adobe Inc. | Application compiling |
JP5677273B2 (ja) * | 2011-11-18 | 2015-02-25 | 三菱電機株式会社 | 暗号処理システム、暗号処理方法、暗号処理プログラム及び鍵生成装置 |
KR20140028342A (ko) * | 2012-08-28 | 2014-03-10 | 삼성전자주식회사 | 브로드캐스트 암호화를 위한 키 관리 방법 및 브로드캐스트 암호화를 이용한 메시지 전송 방법 |
US9292673B2 (en) * | 2013-03-15 | 2016-03-22 | International Business Machines Corporation | Virtual key management and isolation of data deployments in multi-tenant environments |
US9351157B2 (en) * | 2013-10-17 | 2016-05-24 | Motorola Solutions, Inc. | Methods, systems, and devices to reduce audio truncation during transcoding |
US10318987B2 (en) * | 2014-02-18 | 2019-06-11 | International Business Machines Corporation | Managing cookie data |
-
2015
- 2015-03-27 US US14/671,403 patent/US9516000B2/en active Active
-
2016
- 2016-03-16 DE DE112016000790.6T patent/DE112016000790B4/de active Active
- 2016-03-16 JP JP2017549396A patent/JP6697478B2/ja active Active
- 2016-03-16 WO PCT/IB2016/051478 patent/WO2016157011A1/en active Application Filing
- 2016-03-16 GB GB1713270.5A patent/GB2551080B/en active Active
- 2016-03-16 CN CN201680018356.5A patent/CN107431620B/zh active Active
- 2016-10-28 US US15/338,023 patent/US9860219B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7095850B1 (en) * | 2000-09-29 | 2006-08-22 | Cisco Technology, Inc. | Encryption method and apparatus with forward secrecy and random-access key updating method |
CN1836396A (zh) * | 2003-06-17 | 2006-09-20 | 法国电讯 | 用于加密和/或解密数据的可追踪方法和系统,及用于实现该方法的记录介质 |
WO2007082124A2 (en) * | 2006-01-06 | 2007-07-19 | Widevine Technologies, Inc. | Selective and persistent application level encryption for video provided to a client |
CN102394744A (zh) * | 2011-11-10 | 2012-03-28 | 香港应用科技研究院有限公司 | 使用广播加密进行内容分发的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20160285833A1 (en) | 2016-09-29 |
GB2551080A (en) | 2017-12-06 |
GB201713270D0 (en) | 2017-10-04 |
JP6697478B2 (ja) | 2020-05-20 |
CN107431620A (zh) | 2017-12-01 |
US20170048213A1 (en) | 2017-02-16 |
DE112016000790T5 (de) | 2017-11-02 |
US9516000B2 (en) | 2016-12-06 |
US9860219B2 (en) | 2018-01-02 |
WO2016157011A1 (en) | 2016-10-06 |
DE112016000790B4 (de) | 2019-01-03 |
GB2551080B (en) | 2018-05-23 |
JP2018510575A (ja) | 2018-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107431620B (zh) | 广播加密方案的运行时实例化 | |
US11500988B2 (en) | Binding secure keys of secure guests to a hardware security module | |
WO2022121511A1 (en) | Secure computing resource deployment using homomorphic encryption | |
JP7358005B2 (ja) | クラウド・サービスのためのネイティブ・コード生成 | |
US10601580B2 (en) | Secure order preserving string compression | |
US12041157B2 (en) | Efficiently batching pre-encrypted data for homomorphic inference | |
JP2022522627A (ja) | セキュアなオペレーティング・システム・イメージのインクリメンタル復号および完全性検証 | |
JP2022523770A (ja) | セキュア・インタフェース・コントロールのためのセキュア実行ゲスト所有者コントロール | |
WO2023005704A1 (en) | Sensitive data encryption | |
US11539521B2 (en) | Context based secure communication | |
CN113424491B (zh) | 执行加密计算标量乘法指令 | |
US10680801B2 (en) | Data distribution against credential information leak | |
US12008363B1 (en) | Delivering portions of source code based on a stacked-layer framework | |
US20230318826A1 (en) | Key import with hybrid cryptography | |
WO2023160521A1 (en) | Protecting api keys for accessing services | |
US20230283484A1 (en) | Privacy-preserving user certificates | |
CN116432196A (zh) | 混合云环境的数据库分层加密 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |