CN110214325B - 数据屏蔽的方法和系统 - Google Patents

数据屏蔽的方法和系统 Download PDF

Info

Publication number
CN110214325B
CN110214325B CN201880008303.4A CN201880008303A CN110214325B CN 110214325 B CN110214325 B CN 110214325B CN 201880008303 A CN201880008303 A CN 201880008303A CN 110214325 B CN110214325 B CN 110214325B
Authority
CN
China
Prior art keywords
data
masked
encryption key
new
computer
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
Application number
CN201880008303.4A
Other languages
English (en)
Other versions
CN110214325A (zh
Inventor
A.莱曼
C.卡钦
J.卡梅尼希
E.弗雷雷斯托格布克纳
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN110214325A publication Critical patent/CN110214325A/zh
Application granted granted Critical
Publication of CN110214325B publication Critical patent/CN110214325B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding

Abstract

对于要发送的数据中的至少一个预定数据项提供数据屏蔽,其通过以下步骤实现:向该数据项应用单向函数以产生第一值,通过使用当前时期的当前加密密钥经由确定性加密方案加密第一值来产生屏蔽的数据项,并用屏蔽的数据项替换该数据项。数据提供者计算机将屏蔽的数据发送到数据用户计算机。在当前时期到期时,数据提供者计算机在新时期中为加密方案生成新的加密密钥,根据当前和新的加密密钥产生屏蔽更新数据,并将屏蔽更新数据发送到数据用户计算机。屏蔽更新数据允许在数据用户计算机上,将使用当前加密密钥产生的屏蔽的数据项更新为用新的加密密钥产生的屏蔽的数据项。

Description

数据屏蔽的方法和系统
背景技术
本发明一般涉及数据屏蔽,更具体地说,涉及数据在数据提供者计算机处被屏蔽并发送到(不可信的)数据用户计算机的方法,装置和计算机程序产品。
数据屏蔽是在需要将包含敏感信息的数据复制到不太可信的环境时使用的过程。数据屏蔽的目的是使数据脱敏,以隐藏(或“屏蔽”)敏感数据项,使得整个数据对于其预期目的仍然有用。例如,数据集可能包含社会安全号码、护照数据、信用卡号码、健康记录详细信息等信息,这些信息不应泄露给不信任方。典型的应用场景包括发送用于统计分析的数据集,在具有实际工作负载的测试环境中运行应用程序,从客户收集服务质量信息以及事务处理。近年来,对数据隐私的担忧随着将服务转移到第三方和云端的趋势而增长。屏蔽可以抑制不受信任环境中敏感数据的暴露,并解决与跨境移动数据相关的法律问题。
为了安全起见,数据屏蔽过程应该使得屏蔽的数据项不会显示有关原始未屏蔽的数据的信息。但是,可用性要求屏蔽的数据集保留参照完整性。也就是说,当在未屏蔽的数据集中多次出现相同的数据项时,应该将其一致地映射到相同的屏蔽的值。
已经提出了许多数据屏蔽技术,并且这些技术目前处于商业运营中。例如,可以通过散列(hashing)来执行屏蔽。这里,数据提供者的数据项与长期散列值(hash key)一起被散列。然后,数据项被替换为发送给用户的屏蔽的数据中的结果散列值。其他已知的方法基于替换、改组、删除(“归零”)、混淆或扰动技术。但是,这些方法不能提供数据安全所需的越来越严格的保证。此外,这些方法不允许对屏蔽的数据进行密钥更新(re-keying)。给定数据项与其屏蔽形式之间的关系永远不会改变,并且用于屏蔽的密钥不能改变。例如,使用散列,在不破坏参照完整性的情况下不能改变散列密钥。对于安全关键环境,例如,金融机构,必须定期执行密钥更新操作以及定期更新未屏蔽的数据和屏蔽的数据之间的关系。定期更新还可以降低数据随时间逐渐泄漏的风险。由于屏蔽的数据集通常很大,执行此类更新从头开始,数据提供者使用新密钥重新屏蔽整个数据集并重新发送给用户,效率非常低。
发明内容
根据本发明的实施例,提供了一种用于在数据提供者计算机处进行数据屏蔽的计算机实现的方法。该方法包括访问要发送到数据用户计算机的数据,并产生屏蔽的数据,其通过以下步骤执行:对要发送的数据中的至少一个预定的数据项,将单向函数应用于该数据项以产生第一值,通过使用当前时期的当前加密密钥经由确定性加密方案加密第一值产生屏蔽的数据项,并用屏蔽的数据项替换该数据项。该方法包括将屏蔽的数据发送到数据用户计算机,并且,在当前时期到期时,在新时期中生成用于加密方案的新的加密密钥,产生屏蔽更新数据,取决于当前和新的加密密钥,并将屏蔽更新数据发送到数据用户计算机。屏蔽更新数据允许,在数据用户计算机处,将利用当前加密密钥产生的屏蔽数据项更新为用新的加密密钥产生的屏蔽的数据项。
本发明的实施例提供安全数据屏蔽方法,其中可以更新屏蔽密钥,并且可以在保持参考完整性的同时,对屏蔽的数据进行密钥更新(re-keyed)。用于更新先前屏蔽的数据的密钥更新操作可以由数据用户在不可信域中执行,而不会损害屏蔽的数据的安全性。
本发明的实施例可以用在静态数据屏蔽场景中,其中用户所需的所有数据(例如整个数据库或其他完整数据集)被屏蔽并一次性发送给用户。然而,体现本发明的方法在动态数据屏蔽场景中也是非常有利的。在动态数据屏蔽场景中,数据被屏蔽并根据需要发送给用户,例如响应于来自用户的一系列访问请求。数据可以被“即时”屏蔽,并根据需要发送给用户。在这两种情况下,在当前时期期间屏蔽和发送的数据,可以使用由数据提供者发送的屏蔽更新数据,执行密钥更新以用于新时期。生成新的加密密钥,产生屏蔽更新数据,以及将屏蔽更新数据发送到数据用户计算机的步骤可以在每个新时期和随后的新时期的到期时执行,由此屏蔽的数据可以为每个连续的时期重复执行密钥更新。在动态场景中,每个新时期的新的加密密钥可以用作数据屏蔽步骤中的当前加密密钥,用于屏蔽在该时期中发送的进一步数据。特别地,在新时期的每个(至少一些)期间,数据提供者计算机可以访问要发送到数据用户计算机的进一步数据,并且对于该进一步的数据,执行使用新的加密密钥作为该时期的当前加密密钥,产生屏蔽的数据的步骤。然后可以将进一步屏蔽的数据发送到数据用户计算机。由于密钥更新操作使用屏蔽更新数据,将使用当前加密密钥产生的屏蔽的数据项转换为使用新的加密密钥产生的屏蔽的数据项,因此在先前时期发送的屏蔽的数据与用新的加密密钥在给定时期屏蔽的任何进一步的数据之间保留参照完整性。
在优选实施例的数据屏蔽步骤中,通过将单向函数应用于数据提供者计算机的该数据项和秘密密钥来产生对应于数据项的第一值。在屏蔽过程的第一层中使用秘密密钥提供了针对数据暴露的额外安全性。第二,屏蔽过程的加密层和相关的屏蔽更新数据可以以不同的方式构造,以根据底层密码的安全性提供不同的安全保证。在一些实施例中,加密方案可以包括对称加密方案,并且屏蔽更新数据可以包括当前加密密钥和新的加密密钥。这里,数据用户可以通过解密每个屏蔽的数据项,使用当前的加密密钥,经由加密方案的解密算法来获得第一个值,并通过使用新的加密密钥的加密方案重新加密第一值。这为许多应用程序提供了足够高的安全性。
在一些实施例中,屏蔽更新数据包括当前和新的加密密钥的预定函数δ,并且加密方案包括以加密密钥k加密值X的算法Enc(k,X),使得Enc(δ,(Enc(se,X))=Enc(se+1,X)其中se是当前加密密钥,se+1是新的加密密钥。在这里,数据用户可以对之前接收的数据进行密钥更新,其通过使用加密密钥k=δ经由加密算法Enc(k,X)加密每个屏蔽的数据项进行。这提供了特殊的安全性,因为重新屏蔽过程甚至不暴露数据项的原始加密的第一值。在这种方案的有效实现中,算法Enc(k,X)=Xk并且δ=se+1/se
本发明的实施例提供了一种用于在数据用户计算机处管理屏蔽的数据的计算机实现的方法。该方法包括从数据提供者计算机接收屏蔽的数据,其中屏蔽的数据包含至少一个屏蔽的数据项,其通过以下方式产生:通过将单向函数应用于数据项以产生第一值,并使用当前时期的当前加密密钥经由确定性加密方案加密第一值,然后存储屏蔽的数据。该方法还包括,在当前时期到期时,从数据提供者计算机接收屏蔽更新数据,该屏蔽更新数据取决于当前加密密钥和新时期中加密方案的新的加密密钥。屏蔽更新数据用于将使用当前加密密钥产生的在存储的屏蔽数据中的每个屏蔽的数据项,更新为用新的加密密钥产生的屏蔽的数据项。
本发明的实施例提供计算机程序产品,每个计算机程序产品包括计算机可读存储介质,该计算机可读存储介质包含可由数据提供者计算机或数据用户计算机执行的程序指令,以使该计算机执行如上所述的方法。至少一个另外的实施例提供了一种系统,包括数据提供者计算机和适于实现上述方法的数据用户计算机。
具体实施方式下面将参考附图通过说明性和非限制性示例更详细地描述本发明的实施例。
附图说明
附图说明现在将仅通过示例的方式参考附图描述本发明的实施例,附图中:
图1是用于实现体现本发明的数据屏蔽方案的系统的示意图;
图2是图1系统中计算机的概括示意图;
图3表示在数据屏蔽方案的操作中在系统1中执行的步骤;
图4还表示在数据屏蔽方案的操作中在系统1中执行的步骤;
图5表示在数据屏蔽系统的一个实施例中执行的更详细的步骤;
图6还表示在数据屏蔽系统的一个实施例中执行的更详细的步骤;
图7表示在数据屏蔽系统的另一个实施例中执行的更详细的步骤;和
图8还表示在数据屏蔽系统的另一个实施例中执行的更详细的步骤。
具体实施方式
本发明可以是系统,方法和/或计算机程序产品。该计算机程序产品可以包括计算机可读存储介质(或介质),其上具有计算机可读程序指令,用于使处理器执行本发明的各方面。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
图1中所示的系统1包括数据提供者计算机2和数据用户计算机3,它们可用于经由网络4进行通信(其中网络4通常可以包括一个或多个组件网络和/或包括因特网的互联网络)。数据提供者(DP)计算机2可访问存储器中的数据集,此处由数据库5表示,可操作地耦合到DP计算机2。数据库5包含要在操作中发送到数据用户(DU)计算机3的数据。DP计算机2实现动态数据屏蔽过程,从而可以根据需要访问,屏蔽和发送数据到DU计算机3。特别地,在任何给定时间发送到DU计算机3的数据可能包含在发送数据之前必须被屏蔽的某些数据项。这些数据项在DP计算机2处预先确定,并且可以以任何方便的方式定义,例如通过所讨论的数据的类型、类别、性质、位置等。例如,DP计算机2可以实现一组屏蔽规则,其确定要屏蔽的数据项。各个数据项可以包括例如数据字段或其部分(例如字节)或任何其他定义的数据单元。然而,所应用的特定数据项和屏蔽标准与本文描述的屏蔽方案正交(orthogonal)。DU计算机3通过网络4接收屏蔽的数据,并将屏蔽的数据存储在存储器中,这里由数据库6表示,可操作地耦合到DU计算机3。DU计算机3还管理存储在数据库6中的屏蔽的数据,如下所述。
在系统1中实现的屏蔽方案在连续的时间段或“时期”中操作。简言之,在任何给定的时期e,由DP计算机2送出的数据被使用屏蔽密钥k e屏蔽。在任何时期e到期时,为新时期在DP计算机2处生成新的屏蔽密钥ke+1。之前发送的屏蔽的数据也在DU计算机3处进行密钥更新以与新的屏蔽密钥保持一致。密钥更新操作使用由DP计算机2提供的屏蔽更新数据,如下面进一步描述的。
可以以各种方式在系统1中定义时期,并且不同时期可以具有固定或可变持续时间。例如,可以以规则的间隔周期性地启动新时期,其期限可以根据需要设置。还可以响应于某些事件,例如检测系统中的恶意干预,启动新时期。
DP计算机2可以由数据所有者操作,并且数据集5可以包括由数据所有者存储的专有数据。或者,DP计算机2可以由代表数据所有者执行数据屏蔽的实体操作。因此,通常,要屏蔽的数据集可以存储在DP计算机2本地的存储装置中,或者存储在DP计算机2可访问的远程存储装置中,例如通过网络与另一计算机(例如数据所有者计算机)通信。
数据存储器5、6通常可以包括任何方便的数据存储装置,包括一个或多个数据存储介质。典型的实现包括磁盘存储装置,其包括一个或多个磁盘,例如磁盘或光盘,其可以在计算机内部,例如在硬盘驱动器中,或者由外部可访问的磁盘装置提供,例如在磁盘驱动器阵列中,比如RAID阵列。
DP计算机2和DU计算机3中的每一个可以由通用或专用计算机实现,其可以包括一个或多个(真实或虚拟)机器,提供用于实现本文描述的操作的功能。该功能可以由以硬件或软件或其组合实现的逻辑提供。可以在计算机系统可执行指令(例如程序模块)的一般上下文中描述这种逻辑,如由计算机装置执行的程序模块。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算设备可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,数据和程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
图2的框图示出了用于实现系统1的计算机2、3的示例性计算设备。这里以通用计算设备10的形式示出了该设备。计算机10的组件可以包括处理设备,如由处理单元11表示的一个或多个处理器,系统存储器12和总线13,总线13将包括系统存储器12到处理单元11的各种系统组件耦合起来。
总线13表示几种类型的总线结构中的任何一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及使用各种总线架构中的任何总线架构的处理器或本地总线。作为示例而非限制,这样的架构包括工业标准架构(ISA)总线,微通道架构(MCA)总线,增强型ISA(EISA)总线,视频电子标准协会(VESA)本地总线和外围组件互连(PCI)总线。
计算机10通常包括各种计算机可读介质。这样的介质可以是计算机10可访问的任何可用介质,包括易失性和非易失性介质,以及可移动和不可移动介质。例如,系统存储器12可以包括易失性存储器形式的计算机可读介质,例如随机存取存储器(RAM)14和/或高速缓冲存储器15。计算机10还可以包括其他可移动/不可移动,易失性/非易失性易失性计算机系统存储介质。仅作为示例,可以提供存储系统16,用于从不可移动的非易失性磁介质(通常称为“硬盘驱动器”)读取和写入。尽管未示出,但是还可以提供用于读取和写入可移动的非易失性磁盘(例如,“软盘”)的磁盘驱动器,以及用于读取或写入可移动的非易失性光学器件(诸如CD-ROM,DVD-ROM或其他光学介质)的光盘驱动器。在这种情况下,每个都可以通过一个或多个数据介质接口连接到总线13。
存储器12可以包括至少一个程序产品,该程序产品具有一个或多个程序模块,这些程序模块被配置为执行本发明实施例的功能。举例来说,具有一组(至少一个)程序模块18的程序/实用程序17可以存储在存储器12,以及操作系统,一个或多个应用程序,其他程序模块和程序数据中。每个操作系统、一个或多个应用程序、其他程序模块和程序数据或其某种组合中可以包括网络环境的实现。程序模块18通常执行如本文所述的本发明实施例的功能和/或方法。
计算机10还可以与:一个或多个外部设备19通信,例如键盘、指示设备、显示器20等;一个或多个使用户能够与计算机10交互的设备;和/或使计算机10能够与一个或多个其他计算设备通信的任何设备(例如,网卡,调制解调器等)。这种通信可以通过输入/输出(I/O)接口21进行。此外,计算机10可以与一个或多个网络经由网络适配器22通信,例如局域网(LAN),通用广域网(WAN)和/或公共网络(例如,因特网)。如图所示,网络适配器22经由总线13与计算机10的其他组件通信。应当理解,尽管未示出,但是可以结合计算机10使用其他硬件和/或软件组件。示例包括但不限于:微代码,设备驱动程序,冗余处理单元,外部磁盘驱动器阵列,RAID系统,磁带驱动器和数据存档存储系统等。
在系统1操作之前的设定步骤中,DP计算机2为第一时期e=0生成第一屏蔽密钥k0。按实施例所描述的,屏蔽密钥ke对于每个时期e包括(至少)用于确定性加密方案ENC的加密密钥se。(确定性加密方案是这样一种方案,其中用于以密钥k加密明文消息X的加密算法Enc(k,X)总是为相同的密钥k和明文X产生相同的密文)。图3和4表示系统1的后续操作中的动态数据屏蔽方案的基本步骤。
图3表示在当前时期e,在DP计算机2和DU计算机3之间的数据传送所执行的步骤。在步骤30中,DP计算机2访问要发送到DU计算机2的数据。可以以各种方式确定要提供的数据,例如作为要发送用于处理的原始数据集的一部分,或者响应于来自DU计算机3的数据请求,或者在数据库5中新数据可得时,等等。在任何情况下,DP计算机2访问数据库5以检索所需数据。在步骤31中,DP计算机识别由x i表示的任何要发送的数据项,其按照前述屏蔽标准将被屏蔽。假设数据包含这些预定数据项xi中的至少一个,DP计算机然后通过步骤32到34的过程产生屏蔽的数据。具体地,对于每个数据项x i,在步骤32中,DP计算机2将单向函数(此处用F表示)应用于(至少)数据项xi以产生第一个值,用hi表示。(如本领域所公知的,单向函数是难以反转的函数。也就是说,当应用于输入X时,该函数产生输出Y,使得它很难(即计算上不可行)在给定Y时到猜测X)。在步骤33,DP计算机然后产生屏蔽的数据项yi,e,其通过以下步骤:使用当前时期e的当前加密密钥Se经由确定性加密方案ENC加密第一值hi。在步骤34中,DP计算机2用要发送的数据中的相应屏蔽的数据项yi,e替换原始数据项xi。在步骤35,DP计算机2然后通过网络4将得到的屏蔽的数据(可以包含屏蔽和未屏蔽的数据项)发送到DU计算机3。响应于在步骤36中接收屏蔽的数据,DU计算机在数据库6中存储屏蔽的数据,数据传送完成。
图4表示在当前时期e期满,在系统1中所执行的步骤。在步骤40中,DP计算机2为新时期(e+1)中的加密方案ENC生成新的加密密钥se+1。在步骤41中,DP计算机2产生屏蔽更新数据,这里用δ表示。屏蔽更新数据δ取决于当前和新的加密密钥se,se+1,并且允许在DU计算机3处将利用当前加密密钥se产生的屏蔽的数据项yi,e更新为新的加密密钥se+1产生的屏蔽的数据项yi,e+1。DP计算机2在步骤42中将屏蔽更新数据δ发送到DU计算机3,并在步骤43中将时期计数器e更新为(e+
1)。新加密密钥se+1因此成为当前加密密钥se,用于新的当前时期的进一步数据传送。响应于在步骤44中接收到屏蔽更新数据δ,DU计算机3使用屏蔽更新数据对存储在数据库6中的屏蔽的数据更新密钥。具体地,DU计算机3使用屏蔽更新数据δ,将存储的屏蔽的数据的每个被屏蔽的数据项yi,e(由旧的当前加密密钥se产生)更新为新的当前加密密钥Se+1产生的屏蔽的数据项yi,e+1。更新过程然后完成。
在新时期和每个随后的新时期到期时执行图4的过程,其中为每个新时期更新所述加密密钥Se,并且已发送到DU计算机3的屏蔽的数据被使用屏蔽更新数据δ更新密钥,以与新加密密钥保持一致。通过图3的过程使用新的加密密钥作为该时期的当前加密密钥来传送在新时期中发送到DU计算机3的任何其他数据。
可以看出,该屏蔽处理包括两层:使用单向函数F的静态,内层,和使用确定性加密的特定时期外层。这允许更新屏蔽密钥,并且为每个新时期的屏蔽的数据更新密钥,而不暴露原始的未屏蔽数据项xi。屏蔽过程是不可逆的:屏蔽的值yi,e不显示关于原始数据xi的信息(即使公开了加密密钥se)。在步骤44中,可以由不可信的DU计算机执行更新密钥操作,确保在先前时期发送的屏蔽的数据与使用给定时期的新的加密密钥屏蔽的任何其他数据之间保留参照完整性。因此,该方案提供了具有密钥演进的动态数据屏蔽,其中密钥暴露并不披露过去屏蔽的数据之间的关系,并且其中可以由不可信实体执行对先前屏蔽的数据的更新密钥更新。
在上述方案的实现可如下形式化。
密钥演进动态数据屏蔽。密钥演进动态数据屏蔽方案DDM由数据空间x,屏蔽空间y和满足以下条件的一组多项式时间算法DDM.setup,DDM.next,DDM.mask和DDM.upd组成。
DDM.setup。算法DDM.setup是由数据提供者运行的概率算法。在输入安全参数λ时,该算法返回par,一组系统参数,和k0,屏蔽密钥,用于时期e=0。即, 其中r表示算法是概率性的。
DDM.next。该概率算法也由数据提供者运行。在输入par,时期e≥0和该时期的屏蔽密钥ke,它输出屏蔽密钥ke+1和屏蔽更新值δe+1,用于时期e+1。也就是说,
DDM.mask。这是由数据提供者运行的确定性内射算法。给定系统参数par,一些输入数据时期e及其对应的屏蔽密钥ke,算法输出屏蔽值/>也就是说,ye←DDM.mask(par,x,e,ke)。
DM.upd。该确定性算法由数据用户运行并使用屏蔽更新值。在从时期e输入的屏蔽的数据ye和屏蔽更新值δe+1,DDM.upd更新ye到ye+1,即,ye+1←DDM.upd(yee+1)。
下面将详细描述上述方案中的示例性实施例。首先介绍一些初步措施。
确定性对称加密。对称加密方案SE由密钥空间K和满足以下条件的三个多项式时间算法SE.KeyGen,SE.Enc,SE.Dec组成。
SE.KeyGen。密钥生成算法SE.KeyGen是一种概率算法,它将安全参数λ作为输入并产生加密密钥也就是说,/>
SE.Enc。确定性加密算法需要密钥和消息/>其中M是消息空间,并返回一个密文C。我们写C←SE.Enc(s,m)用于在s和m上执行SE.Enc的操作,让C表示输出密文。
SE.Dec。确定性解密算法SE.Dec获取密钥和密文C以返回消息其中⊥表示错误符号。我们写了m←SE.Dec(s,C)用于在s和C上执行SE.Dec的操作,让m表示输出消息。
散列函数。我们进一步使用散列函数其中H表示一系列散列函数,并且通过选择散列密钥/>来选择特定实例。输入x的散列计算被表示为对于我们的构造,我们使用散列函数,它是(弱)抗冲突,伪随机和难以反转(单向)的。
Decisional Diffie-Hellman组。下面的第二种结构基于Decisional Diffie-Hellman假设。我们定义Decisional Diffie-Hellman参数生成器为多项式时间算法DDHgen,其在输入安全参数λ时生成整数p以及p阶循环组的描述。
私有密钥演进的DDM方案。DDM的主要目标是实现数据隐私,确保对手无法获取有关屏蔽的值的信息,并且无法将其与过去时期屏蔽的输入数据相关联。我们提到了三种基于不可分辨性的屏蔽值隐私概念,以及一种概念,即对手可以反转屏蔽并从屏蔽值中恢复输入值,如下所示:
IND-HOCH:不可分辨与诚实用户和损坏主机。这是最基本的安全标准,侧重于DDM的密钥演进动态方面。它认为所有者(数据提供者)是诚实的,并允许在交互期间损坏主机(数据用户)。对手(adversary)可以访问泄露(compromise)后所有时期的更新值,但是其应当不能(粗略地说)分辨在损坏之前屏蔽的值。
IND-COHH:与损坏的所有者(Corrupted Owner)和诚实的主机(Honest Host)的不可区分性。在某个时间点对所有者(数据提供者)的损坏进行建模,对手学习受损时代的屏蔽密钥和所有者的所有秘密。随后,对手可以控制所有者,但不应该学习在损坏之前屏蔽的值之间的对应关系。假设主机(数据用户)保持(大部分)诚实。
IND-COTH:不可分辨与损坏的所有者(Corrupted Owner)和瞬时损坏主机(Transiently Corrupted Host)。作为前两个概念的改进,对手可以根据其选择在多个时期期间暂时破坏主机(数据用户),并且它还可能破坏所有者(数据提供者)一次。对手学习破坏主机的特定时期的更新值,并学习破坏所有者的时期的屏蔽密钥。在暴露所有者的秘密之前屏蔽的数据值应保持不可链接。
非可逆性:此概念对所有者(数据提供者)在第一时期被损坏,并且对手获悉所有秘密的情况建模。然而,屏蔽操作应该是单向的,即观察屏蔽值不会给对手猜测来自输入空间的相应输入的优势。
图5和6表示系统1的操作与密钥演进的数据屏蔽方案DDM SE,其基于确定性对称加密方案SE=(SE.KeyGen,SE.Enc;SE.Dec)和一系列抗冲突的加密的散列函数在这种结构中,屏蔽密钥ke对于每个时期e包括明显的、随机的对称密钥se用于加密方案SE和数据提供者的长期(固定)秘密散列密钥hk。通过DP计算机2在设置操作中通过计算/> 和选择/>来生成初始屏蔽密钥k0=(s0,hk)用于时期e=0。
首先参考图5的数据传送过程,步骤50和51分别对应于图3的步骤30和31。在步骤52中,对于每个要屏蔽的数据项Xi,DP计算机2计算第一值hi,通过将散列函数H应用于x i和秘密散列密钥hk,即在步骤53,DP计算机2产生屏蔽数据项yi,e,其通过加密散列值hi,经由加密方案SE,使用加密密钥se,用于当前时期e,即yi,e←SE.Enc(se,hi)。随后的步骤54至56对应于图3的步骤34至36。
图6的更新处理执行于每个当前时期e到期时。在步骤60中,DP计算机2生成新的加密密钥se+1,用于下一个时期 在步骤61中产生的屏蔽更新数据包括当前加密密钥se和新的加密密钥se+1,即δ=(se,se+1)。在步骤62中将δ发送到DU计算机3之后,在步骤63,DP计算机删除se和δ,并更新时期计数e。因此,新的加密密钥se+1成为新时期中数据传输的当前加密密钥se。在接收到屏蔽更新数据δ=(se,se+1)时,在步骤64中,DU计算机3对存储在数据库6中的屏蔽的数据更新密钥。通过以下方式实现更新密钥:(a)解密每个屏蔽的数据项yi,e,使用当前加密密钥se,经由解密算法SE.Dec获得第一个值hi;(b)使用新加密密钥se+1经由加密算法SE.Enc重新加密第一值hi,从而获得yi,e+1。然后DU计算机在步骤65中删除屏蔽更新数据δ,并且更新过程完成。
上述结构可以定义为如下的密钥演进DDM方案的算法的范畴:
DDMSE.setup(λ).
(a)运行以获得对称加密密钥s0
(b)随机选择散列值
(c)使得k0←(s0,hk)并且par=⊥。输出(par,k0)
DDMSE.next(par,e,ke)。
(a)解析ke为(se,hk)。
(b)运行以获得对称加密密钥se+1
(c)使得ke+1←(se+1,hk)并使得δe+1=(se,se+1)。
(d)输出(ke+1e+1)。
DDMSE.mask(par,xi,e,ke).
(a)解析ke为(se,hk)。
(b)计算值
(c)输出yi,e
DDMSE.upd(yi,ee+1).
(a)解析δe+1为(se,se+1)。
(b)计算值yi,e+1←SE.Enc(se+1,SE.Dec(se,ye))。
(c)输出yi,e+1
上述结构提供了有效的DDM方案实现IND-HOCH和IND-COHH安全概念以及非可逆性的要求。
图7和8表示系统1的操作与密钥演进的数据屏蔽方案DDMDL,基于离散对数假设,其中在代理重加密方式中执行更新。该方案再次使用一系列抗冲突的密钥散列函数以及确定性加密方案。然而,在这个方案中,屏蔽更新数据包括当前和新的加密密钥Se,Se+1的预定的函数δ,以及加密方案包括算法Enc(k,X),用于以加密密钥k加密值X,这样:Enc(δ,(Enc(se,X))=Enc(se+1,X)。
因此,可以通过使用加密密钥k=δ经由算法Enc(k,X)加密每个屏蔽的数据项来更新屏蔽的数据项。
如前所述,屏蔽密钥ke,用于每个时期e,包括随机特定时期密钥se和数据提供者的长期散列密钥hk。DP计算机2在设置操作中生成用于时期e=0的初始屏蔽密钥k0=(s0,hk)。在该示例中,密钥s0由随机选择的指数生成,其中/>是该组整数模p。通过选择生成如前所述的散列密钥。
在图7的数据传送过程中,步骤70至72分别对应于图5的步骤50到52。在步骤73,DP计算机2产生屏蔽的数据项yi,e,其通过加密散列值hi用于数据项xi,使用加密密钥se,经由算法即/>随后的步骤74至76对应于图5的步骤54至56。在图8的更新过程中,DP计算机2在步骤80中生成新的加密密钥se+1,为/>在步骤81中产生屏蔽更新数据作为当前和新加密密钥的商:δ=se+1/se。在步骤82中将δ发送到DU计算机3之后,DP计算机删除se和δ,并在步骤83中更新时期计数e。因此,新加密密钥se+1成为新时期中数据传送的当前加密密钥se。在接收到屏蔽更新数据δ=se+1/se,时,在步骤84中,DU计算机3对数据库6中的屏蔽的数据更新密钥,其通过加密每个被屏蔽的数据项yi,e,经由算法Enc(k,X),使用加密密钥k=δ。因此,/> 其中屏蔽的数据项被更新为yi,e+1。DU计算机在步骤85中删除屏蔽更新数据δ,并且更新过程完成。
第二个结构可以如下密钥演进DDM方案的算法范畴被定义。
DDMDL.setup(λ)。
(a)随机选择常数和散列密钥/>
(c)使得k0←(s0,hk)以及输出(par,k0)
DDMDL.next(par,e,ke)。
(a)解析ke为(se,hk)。
(b)随机选择常量
(c)使得ke+1←(se+1,hk)并且使得δe+1=se+1/se
(d)输出(ke+1e+1)。
DDMDL.mask(par,xi,e,ke)。
(a)解析ke为(se,hk)。
(b)计算
(c)输出yi,e
DDMSE.upd(yi,ee+1).
(a)计算
(b)输出yi,e+1
第二个结构给出了非常安全的、高效的DDM方案实现非可逆性和所有三个安全概念IND-HOCH,IND-COHH和IND-COTH。要更新屏蔽值,数据用户本身不会获得加密密钥,而只会获得当前和新指数的商。虽然这允许数据用户一致地更新屏蔽的数据,但它不会在更新过程中显示内部散列并且保证屏蔽值在时期之间不可链接,从而满足IND-COTH安全性的最强概念。
可以看出,上述实施例提供其基于可证安全加密的动态数据屏蔽方案,并支持在不受信任域内屏蔽的数据的有效的和一致的更新密钥的密钥演进。
当然可以对所描述的示例性实施例做出许多改变和修改。例如,本领域技术人员可以设想用于算法Enc(k,X)和满足Enc(δ,(Enc(se,X))=Enc(se+1,X)的屏蔽更新值δ的替代构造。在内部屏蔽层中可以使用其他单向函数F。此外,虽然在该层中使用静态密钥hk增加了安全性,但是在一些实施例中,单向函数可以应用于数据项xi,没有一个静态密钥hk。例如,在不揭示内部散列hi的实施例中,静态密钥的使用可能不太重要。
尽管上述第一结构使用对称加密方案,如果需要的话,也可以利用非对称加密方案,尽管有效率的损失。所使用的非对称加密方案,密钥对的不同密钥用于加密和解密,其中屏蔽更新数据将包含当前时期的解密密钥和下一时期的加密密钥。此外,虽然具体示例描述了动态数据屏蔽方案,但是所描述的原理可以应用于静态数据屏蔽方案中。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理,实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (25)

1.一种用于在数据提供者计算机处进行数据屏蔽的计算机实现的方法,该方法包括:
使用处理器系统,访问要发送到数据用户计算机的数据;
使用处理器系统,为要发送的数据中的至少一个预定数据项,产生屏蔽的数据,对该预定数据项应用单向函数以产生第一值,通过使用当前时期的当前加密密钥经由确定性加密方案,加密所述第一值产生屏蔽的数据项,并用屏蔽的数据项替换该预定数据项;
将屏蔽的数据发送给数据用户计算机;和
在所述当前时期到期时,在新时期中为所述加密方案生成新的加密密钥,根据当前和新的加密密钥产生屏蔽更新数据,并将屏蔽更新数据发送到数据用户计算机;
其中所述屏蔽更新数据允许,在数据用户计算机处,将用当前加密密钥产生的屏蔽的数据项更新为用新的加密密钥产生的屏蔽的数据项。
2.如权利要求1所述的方法,包括在每个所述新时期和随后的新时期到期时,执行以下步骤:生成所述新的加密密钥,产生所述屏蔽更新数据,以及将屏蔽更新数据发送到数据用户计算机。
3.如权利要求2所述的方法,包括,在所述新时期的每一个期间:
访问要发送到数据用户计算机的进一步数据;
对于所述进一步的数据,执行以下步骤:使用新的加密密钥作为该时期的所述当前加密密钥产生屏蔽的数据,并将进一步屏蔽的数据发送到数据用户计算机。
4.如权利要求1所述的方法,其中所述加密方案包括对称加密方案,并且所述屏蔽更新数据包括当前加密密钥和新的加密密钥。
5.如权利要求4所述的方法,包括将所述单向函数应用于所述预定数据项和数据提供者计算机的秘密密钥以产生所述第一值。
6.如权利要求5所述的方法,其中所述单向函数包括散列函数。
7.如权利要求1所述的方法,其中所述屏蔽更新数据包括当前和新的加密密钥的预定函数δ,并且所述加密方案包括用于以加密密钥k加密值X的算法Enc(k,X),这样:
Enc(δ,(Enc(se,X))=Enc(se+1,X)
其中se是当前加密密钥,se+1是新的加密密钥。
8.如权利要求7所述的方法,其中所述算法Enc(k,X)=Xk并且δ=se+1/se
9.如权利要求8所述的方法,包括将所述单向函数应用于所述预定数据项和数据提供者计算机的秘密密钥以产生所述第一值。
10.如权利要求9所述的方法,其中所述单向函数包括散列函数。
11.一种用于在数据用户计算机上管理屏蔽的数据的计算机实现的方法,该方法包括:
使用处理器系统,从数据提供者计算机,接收屏蔽的数据,屏蔽的数据包含至少一个屏蔽的数据项,所述屏蔽的数据项通过将单向函数应用于数据项以产生第一值,并使用当前时期的当前加密密钥经由确定性加密方案加密第一值而产生;
使用存储器,存储屏蔽的数据;
在所述当前时期到期时,从数据提供者计算机接收屏蔽更新数据,该数据取决于所述当前加密密钥和新时期中所述加密方案的新的加密密钥;和
使用屏蔽更新数据,更新用当前加密密钥,在存储的屏蔽的数据中产生的每个屏蔽的数据项,为用新的加密密钥产生的屏蔽的数据项。
12.如权利要求11所述的方法,包括,在每个所述新时期和随后的新时期到期时:
从数据提供者计算机接收屏蔽更新数据,该数据取决于该时期的加密密钥和下一个时期中所述加密方案的新的加密密钥;和
使用该屏蔽更新数据将存储的屏蔽的数据中的每个屏蔽的数据项,更新为用新的加密密钥产生的屏蔽的数据项。
13.如权利要求12所述的方法,包括,在所述新时期的每一个期间:
从数据提供者计算机接收进一步的屏蔽的数据,其包含至少一个屏蔽的数据项,所述屏蔽的数据项通过将所述单向函数应用于数据项以产生第一值,并使用该时期的加密密钥经由所述加密方案加密第一值而产生;和
存储进一步的屏蔽的数据。
14.如权利要求11所述的方法,其中所述加密方案包括对称加密方案,并且所述屏蔽更新数据包括当前加密密钥和新的加密密钥,该方法包括:
使用屏蔽更新数据更新所存储的屏蔽的数据中的每个屏蔽数据项,其通过解密该屏蔽的数据项,使用当前加密密钥,经由所述加密方案的解密算法获得所述第一值,并经由使用新的加密密钥的所述加密方案的值来重新加密第一值。
15.如权利要求11所述的方法,其中,所述屏蔽更新数据包括当前和新的加密密钥的预定的函数δ,并且所述加密方案包括算法Enc(k,X)用于以加密密钥k加密值X,这样Enc(δ,(Enc(se,X))=Enc(se+1,X),其中se是当前加密密钥并且se+1是新的加密密钥,所述方法包括:
使用屏蔽更新数据更新所存储的屏蔽的数据中的每个屏蔽的数据项,其通过经由所述算法Enc(k,X)使用加密密钥k=δ加密该屏蔽的数据项实现。
16.如权利要求15所述的方法,其中所述算法Enc(k,X)=Xk并且δ=se+1/se
17.一种计算机可读存储介质,该计算机可读存储介质具有包含在其中的程序指令,该程序指令可由数据提供者计算机执行以使数据提供者计算机:
访问要发送到数据用户计算机的数据;
对于要发送的数据中的至少一个预定数据项产生屏蔽的数据,其通过以下步骤实现:对该预定数据项应用单向函数以产生第一值,经由确定性加密方案使用当前时期的当前加密密钥加密所述第一值来产生屏蔽的数据项,并用屏蔽的数据项替换该预定数据项,从而
将屏蔽的数据发送给数据用户计算机;和
在所述当前时期到期时,在新时期中为所述加密方案生成新的加密密钥,根据当前和新的加密密钥产生屏蔽更新数据,并将屏蔽更新数据发送到数据用户计算机;
其中所述屏蔽更新数据允许,在数据用户计算机处,将用当前加密密钥产生的屏蔽的数据项更新为用新的加密密钥产生的屏蔽的数据项。
18.如权利要求17所述的计算机可读存储介质,所述程序指令还可进一步执行,以使数据提供者计算机在所述新时期和每个后续新时期到期时执行以下步骤:生成所述新加密密钥,产生所述屏蔽更新数据,和发送屏蔽更新数据到数据用户计算机。
19.如权利要求17所述的计算机可读存储介质,所述程序指令是可执行的,使得:
所述单向函数应用于所述预定数据项和数据提供者计算机的秘密密钥以产生所述第一值;
所述屏蔽更新数据包括当前和新的加密密钥的预定函数δ;和
所述加密方案包括以加密密钥k加密值X的算法Enc(k,X),使得Enc(δ,(Enc(se,X))=Enc(se+1,X),其中se是当前加密密钥,se+1是新的加密密钥。
20.一种用于管理屏蔽的数据的计算机可读存储介质,其具有包含在其中的程序指令,该程序指令可由数据用户计算机执行以使该数据用户计算机:
响应于从数据提供者计算机接收到屏蔽的数据,存储屏蔽的数据,该屏蔽的数据包含至少一个屏蔽的数据项,该屏蔽的数据项是通过以下步骤产生的:将单向函数应用于数据项以产生第一值,并通过使用当前时期的当前加密密钥经由确定性加密方案加密第一值;
响应于在所述当前时期到期时,接收来自数据提供者计算机的屏蔽更新数据,其依赖于所述当前加密密钥和用于新时期中的所述加密方案的新的加密密钥,以使用屏蔽更新数据将所存储的屏蔽的数据中的用所述当前加密密钥产生的每个屏蔽的数据项更新为用新的加密密钥产生的屏蔽的数据项。
21.如权利要求20所述的计算机可读存储介质,所述程序指令还可进一步执行以使所述数据用户计算机:
响应于在每个所述新时期和后续新时期到期时,接收来自数据提供者计算机的屏蔽更新数据,所述屏蔽更新数据取决于该时期的加密密钥和用于下一个时期所述加密方案的新的加密密钥,以使用该屏蔽更新数据将存储的屏蔽的数据中的每个屏蔽的数据项更新为用新的加密密钥产生的屏蔽的数据项。
22.如权利要求20所述的计算机可读存储介质,其中,所述屏蔽更新数据包括当前和新的加密密钥的预定的函数δ,并且所述加密方案包括以加密密钥k加密值X的算法Enc(k,X),使得Enc(δ,
(Enc(se,X))=Enc(se+1,X),其中se是当前加密密钥并且se+1是新的加密密钥,所述程序指令可被执行,以使数据用户计算机使用屏蔽更新数据,通过经由使用加密密钥k=δ所述算法Enc(k,X)加密所述屏蔽的数据项,更新所存储的屏蔽的数据中的屏蔽的数据项。
23.一种用于在数据提供者计算机处进行数据屏蔽的系统,包括可操作用于通过网络进行通信的数据提供者计算机和数据用户计算机,其中:
数据提供者计算机适用于:访问要发送给数据用户计算机的数据;产生屏蔽的数据,其通过以下步骤进行:对于要发送的数据中的至少一个预定数据项,通过对该预定数据项应用单向函数以产生第一值,通过使用当前时期的当前加密密钥经由确定性加密方案加密所述第一值来产生屏蔽的数据项,并用屏蔽的数据项替换该预定数据项;
将屏蔽的数据发送给数据用户计算机;并且,在所述当前时期到期时,在新时期中为所述加密方案生成新的加密密钥,根据当前和新的加密密钥产生屏蔽更新数据,并将屏蔽更新数据发送到数据用户计算机;和
响应于从数据提供者计算机接收到所述屏蔽的数据,数据用户计算机适用于存储屏蔽的数据,并且响应于从数据提供者计算机接收到所述屏蔽更新数据,使用屏蔽更新数据,将用所述当前加密密钥产生的在所存储的屏蔽的数据中的每个屏蔽的数据项更新为用新的加密密钥产生的屏蔽的数据项。
24.如权利要求23所述的系统,其中:
数据提供者计算机进一步适用于执行以下步骤:生成所述新的加密密钥,产生所述屏蔽更新数据,以及在所述新时期到期和每个后续时期到期时,将屏蔽更新数据发送到数据用户计算机;和
响应于在每个所述新时期到期时,从数据提供者计算机接收到屏蔽更新数据,数据用户计算机进一步适用于,使用该屏蔽更新数据来将所存储的屏蔽的数据中的每个屏蔽的数据项更新为使用新的加密密钥产生的屏蔽的数据项。
25.如权利要求23所述的系统,其中:
数据提供者计算机适用于使得:所述单向函数应用于数据提供者计算机的所述预定数据项和秘密密钥以产生所述第一值;所述屏蔽更新数据包括当前和新的加密密钥的预定函数δ;所述加密方案包括以加密密钥k加密值X的算法Enc(k,X),使得Enc(δ,(Enc(se,X))=Enc(se+1,X),其中se是当前加密密钥,se+1是新的加密密钥;和
数据用户计算机适用于使用屏蔽更新数据通过使用加密密钥k=δ经由所述算法Enc(k,X)加密该屏蔽的数据项,来更新所存储的屏蔽的数据中的每个屏蔽的数据项。
CN201880008303.4A 2017-01-27 2018-01-02 数据屏蔽的方法和系统 Active CN110214325B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/417,851 2017-01-27
US15/417,851 US10754970B2 (en) 2017-01-27 2017-01-27 Data masking
PCT/IB2018/050012 WO2018138587A1 (en) 2017-01-27 2018-01-02 Data masking

Publications (2)

Publication Number Publication Date
CN110214325A CN110214325A (zh) 2019-09-06
CN110214325B true CN110214325B (zh) 2023-07-28

Family

ID=62978393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880008303.4A Active CN110214325B (zh) 2017-01-27 2018-01-02 数据屏蔽的方法和系统

Country Status (6)

Country Link
US (3) US10754970B2 (zh)
JP (1) JP2020506597A (zh)
CN (1) CN110214325B (zh)
DE (1) DE112018000143T5 (zh)
GB (1) GB2574141B (zh)
WO (1) WO2018138587A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10754970B2 (en) 2017-01-27 2020-08-25 International Business Machines Corporation Data masking
US10572262B2 (en) * 2017-07-17 2020-02-25 Arm Limited Register mapping of register specifiers to registers depending on a key value used for mapping at least two of the register specifiers
CN112119611A (zh) * 2018-05-14 2020-12-22 区块链控股有限公司 使用区块链执行原子交换的计算机实现的系统和方法
US11200218B2 (en) 2019-04-17 2021-12-14 International Business Machines Corporation Providing consistent data masking using causal ordering
US11507699B2 (en) * 2019-09-27 2022-11-22 Intel Corporation Processor with private pipeline
US11960623B2 (en) * 2020-03-27 2024-04-16 EMC IP Holding Company LLC Intelligent and reversible data masking of computing environment information shared with external systems
CN114039915B (zh) * 2020-07-20 2023-04-18 美商光禾科技股份有限公司 根据存取控制列表进行封包处理的方法和系统
US20220035939A1 (en) * 2020-08-03 2022-02-03 Jpmorgan Chase Bank, N.A. Method and system for dynamic data masking
US20220123935A1 (en) * 2020-10-19 2022-04-21 International Business Machines Corporation Masking sensitive information in a document
CN112182657B (zh) * 2020-10-26 2022-06-28 天津市城市规划设计研究总院有限公司 城市规划中大数据的脱敏方法
US11907402B1 (en) 2021-04-28 2024-02-20 Wells Fargo Bank, N.A. Computer-implemented methods, apparatuses, and computer program products for frequency based operations
US11941151B2 (en) * 2021-07-16 2024-03-26 International Business Machines Corporation Dynamic data masking for immutable datastores
CN114205142B (zh) * 2021-12-09 2023-05-30 建信金融科技有限责任公司 数据传输方法、装置、电子设备和存储介质
US11934327B2 (en) * 2021-12-22 2024-03-19 Microsoft Technology Licensing, Llc Systems and methods for hardware acceleration of data masking using a field programmable gate array

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104283687A (zh) * 2013-07-10 2015-01-14 Ca公司 用于预生成用于电子交易的会话密钥的方法及设备

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0994598B1 (en) 1998-10-12 2004-12-29 SGS-THOMSON MICROELECTRONICS S.r.l. Cryptography method and station for packet switching networks based on digital chaotic models
US20020041684A1 (en) * 1999-01-29 2002-04-11 Mototsugu Nishioka Public-key encryption and key-sharing methods
CN1483263A (zh) * 2000-10-26 2004-03-17 ���ĺ� 多媒体多点传送内容的初始免费预览
JP4079319B2 (ja) * 2002-12-25 2008-04-23 インターナショナル・ビジネス・マシーンズ・コーポレーション 識別情報生成装置、識別情報解決装置及びこれらを用いた情報システム、並びに、これらの制御方法及びプログラム
JP2005252384A (ja) * 2004-03-01 2005-09-15 Rikogaku Shinkokai 暗号化データ保管サーバシステム、暗号化データ保管方法及び再暗号化方法
KR100657273B1 (ko) * 2004-08-05 2006-12-14 삼성전자주식회사 비밀 그룹에서 구성원 가입에 따른 그룹키 갱신 방법 및이를 이용한 비밀 그룹 통신 시스템
US9106409B2 (en) * 2006-03-28 2015-08-11 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for handling keys used for encryption and integrity
US8130959B2 (en) * 2006-09-07 2012-03-06 International Business Machines Corporation Rekeying encryption for removable storage media
JP2008269173A (ja) * 2007-04-18 2008-11-06 Hitachi Ltd 計算機システム、ストレージシステムおよびデータ管理方法
CN101246789A (zh) * 2007-12-27 2008-08-20 北京儒田科技有限公司 多档微动开关
US8271747B2 (en) 2008-07-31 2012-09-18 Rambus Inc. Mask key selection based on defined selection criteria
US20100185843A1 (en) * 2009-01-20 2010-07-22 Microsoft Corporation Hardware encrypting storage device with physically separable key storage device
JP2011019129A (ja) * 2009-07-09 2011-01-27 Nec Corp データ管理システム及びデータ管理方法
US8375224B2 (en) * 2009-11-10 2013-02-12 Oracle International Corporation Data masking with an encrypted seed
US9231768B2 (en) * 2010-06-22 2016-01-05 International Business Machines Corporation Utilizing a deterministic all or nothing transformation in a dispersed storage network
JP5827467B2 (ja) * 2010-11-12 2015-12-02 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 電子文書中の部分テキストデータをマスクする方法、装置、サーバ及びコンピュータプログラム
JP2013031151A (ja) * 2011-06-20 2013-02-07 Renesas Electronics Corp 暗号通信システムおよび暗号通信方法
US8726139B2 (en) 2011-12-14 2014-05-13 Advanced Micro Devices, Inc. Unified data masking, data poisoning, and data bus inversion signaling
US9336407B2 (en) * 2012-02-21 2016-05-10 Green Sql Ltd. Dynamic data masking system and method
TWI616762B (zh) * 2012-12-12 2018-03-01 財團法人資訊工業策進會 動態資料遮罩方法以及資料庫系統
US8817988B1 (en) * 2012-12-31 2014-08-26 Emc Corporation Variable epoch scheduler for proactive cryptography systems
US9626517B2 (en) * 2013-01-23 2017-04-18 Seagate Technology Llc Non-deterministic encryption
US10148430B1 (en) * 2013-04-17 2018-12-04 Amazon Technologies, Inc Revocable stream ciphers for upgrading encryption in a shared resource environment
US9087205B2 (en) * 2013-10-11 2015-07-21 Sap Se Shared encrypted storage
US10607726B2 (en) * 2013-11-27 2020-03-31 Accenture Global Services Limited System for anonymizing and aggregating protected health information
JP6208586B2 (ja) * 2014-01-16 2017-10-04 株式会社日立製作所 検索可能暗号処理システムおよび検索可能暗号処理方法
US9390283B2 (en) * 2014-04-02 2016-07-12 International Business Machines Corporation Controlling access in a dispersed storage network
WO2016068847A1 (en) * 2014-10-27 2016-05-06 Hewlett Packard Enterprise Development Lp Key splitting
CN106156650B (zh) 2015-04-16 2019-11-19 深圳市腾讯计算机系统有限公司 数据保护系统及方法
CN106126220A (zh) 2016-06-21 2016-11-16 乐视控股(北京)有限公司 一种数据管理方法及装置
US10754970B2 (en) * 2017-01-27 2020-08-25 International Business Machines Corporation Data masking

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104283687A (zh) * 2013-07-10 2015-01-14 Ca公司 用于预生成用于电子交易的会话密钥的方法及设备

Also Published As

Publication number Publication date
US20180218164A1 (en) 2018-08-02
CN110214325A (zh) 2019-09-06
US10740484B2 (en) 2020-08-11
US20200089903A1 (en) 2020-03-19
WO2018138587A1 (en) 2018-08-02
DE112018000143T5 (de) 2019-07-25
US10754970B2 (en) 2020-08-25
JP2020506597A (ja) 2020-02-27
GB201911905D0 (en) 2019-10-02
GB2574141A (en) 2019-11-27
GB2574141B (en) 2020-05-20
US11194921B2 (en) 2021-12-07
US20180218166A1 (en) 2018-08-02

Similar Documents

Publication Publication Date Title
CN110214325B (zh) 数据屏蔽的方法和系统
US10944751B2 (en) Generating cryptographic function parameters from compact source code
JP6941183B2 (ja) データのトークン化
Liu et al. DivORAM: Towards a practical oblivious RAM with variable block size
US20210194668A1 (en) Weighted partial matching under homomorphic encryption
US11316665B2 (en) Generating cryptographic function parameters based on an observed astronomical event
US10079675B2 (en) Generating cryptographic function parameters from a puzzle
US11569985B2 (en) Preserving inter-party data privacy in global data relationships
JP2019213092A (ja) 匿名署名システム、署名生成装置、匿名署名生成装置、検証装置、匿名署名方法及びプログラム
Anwarbasha et al. An efficient and secure protocol for checking remote data integrity in multi-cloud environment
US11921877B2 (en) Efficient random tokenization in the cloud
Alex et al. Energy Efficient and Secure Neural Network–based Disease Detection Framework for Mobile Healthcare Network
US11646885B2 (en) Safe token storage
US11907392B2 (en) System and method utilizing function secret sharing with conditional disclosure of secrets
Zhou et al. A novel privacy protection scheme for internet of things based on blockchain and privacy set intersection technique
Baby et al. COBBS: a multicloud architecture for better business solutions

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant