CN114641772A - 用于安全密钥管理的系统、方法和计算机程序产品 - Google Patents
用于安全密钥管理的系统、方法和计算机程序产品 Download PDFInfo
- Publication number
- CN114641772A CN114641772A CN202080066631.7A CN202080066631A CN114641772A CN 114641772 A CN114641772 A CN 114641772A CN 202080066631 A CN202080066631 A CN 202080066631A CN 114641772 A CN114641772 A CN 114641772A
- Authority
- CN
- China
- Prior art keywords
- mpc
- response
- server
- data storage
- storage service
- 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.)
- Pending
Links
Images
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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6272—Protecting 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 by registering files or documents with a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
-
- 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/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
提供了用于安全密钥管理的计算机实施的系统、方法和计算机程序产品,包括:由远程数据存储服务接收对由所述远程数据存储服务存储为加密数据的数据的请求,所述请求由第一实体发起;向由所述第一实体控制的第一多方计算(MPC)服务器发送MPC请求;从所述第一MPC服务器接收MPC响应,所述MPC响应包括由安全密码处理器生成的机密;以及至少部分地基于所述MPC响应对所述加密数据进行解密。所述计算机实施的系统、方法和计算机程序产品可以包括阻止来自所述远程数据存储服务的后续MPC请求、对所述远程数据存储服务的后续MPC响应或所述远程数据存储服务与所述实体的MPC服务器计算机之间的连接中的至少一个以防止解密。
Description
相关申请交叉引用
本申请要求2019年9月23日提交的第62/904,006号美国临时专利申请的权益,所述美国临时专利申请的公开内容以全文引用的方式并入本文中。
技术领域
本公开大体上涉及数据管理,并且在一些非限制性实施例或方面,涉及用于通过多方计算控制远程或分布式系统中的加密数据以提供安全密钥管理的系统、方法和计算机程序产品。
背景技术
通过将数据迁移到云,企业实现了可扩展性、易用性、增强协作和移动性,并且不再需要在构建和维护其自身的基础设施方面进行投资。然而,云在信息安全方面也带来了挑战。
黑客进入云系统的回报往往比进入公司的本地文件服务器要大得多。云系统总共存储了数百万家公司的数据,而本地服务器只托管一家公司的数据。因此,云系统是数据盗窃的更好目标,无论是从外部还是从内部用户。
因此,维护数据完整性和安全性是云服务持续面临的重大挑战,也是使用云提供商在云中托管数据的主要问题之一。加密在保护云中数据存储的机密性和完整性方面发挥关键作用,并显著降低数据泄露的风险。使用云服务时,组织可能需要提供加密密钥和/或准许云提供商代表组织生成和管理加密密钥。
然而,并非所有的加密和加密密钥都是相同的。例如,许多云提供商无法确保数据的机密性,为此,云提供商的设计需要让云提供商在任何时候都无法以明文访问数据。然而,绝大多数的云提供商只在传输和静态时提供加密。在传输中,或信道加密,意味着您与服务器之间有一个加密信道,例如安全套接层或传输层安全(SSL/TLS),但一旦信息离开信道,它就会变为明文。因此,一旦数据到达云提供商,黑客或恶意员工就可以访问这些数据。
在静态加密数据的情况下,云提供商可以在存储数据之前对其进行加密。因此,密钥可能存储在云提供商处,并且使用这些基于云的计算服务的组织可能依赖于云提供商来维护密钥。但是,当云提供商像过去一样还持有您文件的加密密钥时,系统管理员、入侵云系统的人或者有权访问或拥有管理员密码的人可能能够访问和读取安全文件。
只有当云提供商使用端到端加密技术时,才能保证数据的机密性。利用基于零知识认证方法的端到端加密,云提供商对存储在其服务器上的数据一无所知。在云系统被破坏的情况下,数据将保持安全,因为黑客将无法恢复密钥来解密数据。然而,运营云的云提供商员工也将无法访问数据。
此外,这种零知识方法可能会被证明限制性太强,并且可能会阻碍将数据用于商业目的的机会,例如,在操作期间必然消耗数据的交易系统中。此外,如果组织决定离开云提供商,则无法在技术上保证云提供商不会访问加密数据或密钥。因此,一旦组织决定不再使用云提供商的云提供商服务,公司就可能依赖于云提供商来删除数据,或至少继续保护数据。
发明内容
因此,公开了用于通过多方计算控制远程系统中的加密数据以提供安全密钥管理的改进的计算机实施系统、方法和计算机程序产品。
根据非限制性实施例或方面,提供一种计算机实施的方法,包括:由远程数据存储服务接收对由所述远程数据存储服务存储为加密数据的数据的请求,所述请求由第一实体发起;向由所述第一实体控制的第一多方计算(MPC)服务器发送MPC请求;从所述第一MPC服务器接收MPC响应,所述MPC响应包括由安全密码处理器生成的机密;以及由所述远程数据存储服务至少部分地基于所述MPC响应对存储的加密数据进行解密。
在一些非限制性实施例或方面,所述计算机实施的方法还可包括从由所述远程数据存储服务控制的第二MPC服务器接收第二MPC响应,其中至少部分地基于所述第二MPC响应对所述存储的加密数据进行解密。
在一些非限制性实施例或方面,所述计算机实施的方法还可包括响应于接收到所述第二MPC响应而将所述MPC请求发送到所述第一MPC服务器。
在一些非限制性实施例或方面,所述计算机实施的方法还可包括由所述第二MPC服务器将所述MPC请求发送到所述第一MPC服务器。
在一些非限制性实施例或方面,所述计算机实施的方法还可包括所述存储的加密数据包括主密钥,所述主密钥通过基于所述MPC响应和所述第二MPC响应用派生密钥对所述存储的加密数据进行解密来确定,以确定所述远程数据存储服务中与所述第一实体相关联的所述主密钥。
在一些非限制性实施例或方面,所述计算机实施的方法还可包括在不揭露关于所述MPC请求或所述MPC响应的任何信息的情况下,在预定时段内对所述存储的加密数据进行解密,并且其中所述MPC响应被配置成在不超过所述预定时段的时段内保持活动以使暴露减到最少。
在一些非限制性实施例或方面,所述计算机实施的方法还可包括所述机密包括密钥、代码、令牌、个人标识码、计算或密码,并且所述方法还包括从由交易终端、发行方银行或收单方银行中的一个控制的第二MPC服务器接收第二MPC响应,其中至少部分地基于所述第二MPC响应对所述存储的加密数据进行解密。
在一些非限制性实施例或方面,所述计算机实施的方法还可包括所述远程数据存储服务被配置成基于所述第一实体的预定数量的MPC响应进行解密。
在一些非限制性实施例或方面,所述计算机实施的方法还可包括将一个或多个MPC请求发送到与所述第一实体相关联的多个MPC服务器。
在一些非限制性实施例或方面,所述计算机实施的方法还可包括在从所述多个MPC服务器接收到一个或多个MPC响应之后确定多方计算,其中基于接收到的MPC响应满足所述预定数量的MPC响应对所述存储的加密数据进行解密。
在一些非限制性实施例或方面,所述计算机实施的方法还可包括由所述第一实体确定是否防止所述远程数据存储服务对所述第一实体的所述存储的加密数据进行解密。
在一些非限制性实施例或方面,所述计算机实施的方法还可包括阻止来自所述远程数据存储服务的后续MPC请求、对所述远程数据存储服务的后续MPC响应或所述远程数据存储服务与所述第一实体的MPC服务器之间的连接中的至少一个以防止解密。
在一些非限制性实施例或方面,所述计算机实施的方法还可包括在所述安全密码处理器生成所述机密时用基于瞬态密钥的瞬态加密层封装所述机密。
根据非限制性实施例或方面,提供一种用于安全密钥管理的系统,包括:至少一个处理器,其被编程或配置成:由远程数据存储服务接收对由所述远程数据存储服务存储为加密数据的数据的请求,所述请求由第一实体发起;向由所述第一实体控制的第一多方计算(MPC)服务器发送MPC请求;从所述第一MPC服务器接收MPC响应,所述MPC响应至少包括由安全密码处理器生成的机密;以及由所述远程数据存储服务至少部分地基于所述MPC响应对存储的加密数据进行解密。
在一些非限制性实施例或方面,所述计算机实施的方法还可包括所述远程数据存储服务被配置成基于来自销售点(POS)终端的MPC服务器、发行方银行的MPC服务器、交易处理方的MPC服务器或收单方银行的MPC服务器的预定数量的MPC响应进行解密。
根据非限制性实施例或方面,提供一种系统,包括:(a)在数据存储服务的控制下的至少一个服务器计算机,所述至少一个服务器计算机与包括与实体相关联的加密数据的至少一个数据存储装置通信;(b)与所述至少一个服务器计算机通信的第一MPC服务器计算机,所述第一MPC服务器计算机在所述数据存储服务的控制下,所述第一MPC服务器计算机被编程或配置成:(i)从所述至少一个服务器计算机接收第一MPC请求,(ii)基于所述第一MPC请求生成第一MPC响应,所述第一MPC响应包括由安全密码处理器生成的机密,以及(iii)将所述第一MPC响应发送到所述至少一个服务器计算机;以及(c)与所述至少一个服务器计算机通信的第二MPC服务器计算机,所述第二MPC服务器计算机在所述实体的控制下并且不受所述数据存储服务控制,所述第二MPC服务器计算机被编程或配置成:(i)从所述至少一个服务器计算机或所述第一MPC服务器计算机接收第二MPC请求,(ii)基于所述第二MPC请求生成第二MPC响应,以及(iii)将所述第二MPC响应发送到所述至少一个服务器计算机,并且所述至少一个服务器计算机被编程或配置成至少部分地基于所述第一MPC响应和所述第二MPC响应对所述加密数据进行解密。
在一些非限制性实施例或方面,密钥加密系统还可包括存储的加密数据,所述存储的加密数据包括主密钥,所述主密钥通过所述至少一个服务器计算机基于所述第一MPC响应和所述第二MPC响应用派生密钥对所述存储的加密数据进行解密来确定,以确定与所述第一实体相关联的所述主密钥。
在一些非限制性实施例或方面,所述密钥加密系统还可包括在不揭露关于所述第一MPC请求或所述第一MPC响应的任何信息的情况下,在预定时段内对所述存储的加密数据进行解密,并且其中所述第一MPC响应被配置成在不超过所述预定时段的时段内保持活动以使暴露减到最少。
在一些非限制性实施例或方面,所述密钥加密系统还可包括由交易终端、发行方银行或收单方银行中的一个控制的第三MPC服务器,其中所述至少一个计算机还被配置成从所述第三MPC服务器接收第三MPC响应,并且其中至少部分地基于所述第三MPC响应对所述存储的加密数据进行解密。
在一些非限制性实施例或方面,所述密钥加密系统还可包括所述第一MPC服务器包括硬件安全模块,所述硬件安全模块被配置成在安全密码处理器中生成所述MPC响应。
在一些非限制性实施例或方面,所述密钥加密系统还可被配置成将一个或多个MPC请求发送到与所述实体相关联的多个MPC服务器计算机;并且所述密钥加密系统还可被配置成在从所述多个MPC服务器计算机接收到一个或多个MPC响应之后确定MPC,其中基于接收到的MPC响应满足所述预定数量的MPC响应对所述加密数据进行解密。
在一些非限制性实施例或方面,所述密钥加密系统还可包括第二MPC服务器计算机,其还被编程或配置成:确定是否防止所述数据存储服务对所述实体的所述存储的加密数据进行解密。
在一些非限制性实施例或方面,所述密钥加密系统还可被配置成阻止来自所述数据存储服务的后续MPC请求、对所述数据存储服务的后续MPC响应或所述数据存储服务与所述实体的MPC服务器计算机之间的连接中的至少一个以防止解密。
在一些非限制性实施例或方面,所述密钥加密系统还可被配置成在所述安全密码处理器生成所述机密时用基于瞬态密钥的瞬态加密层封装所述机密。
根据非限制性实施例或方面,提供一种用于安全密钥管理的计算机程序产品,包括至少一个非瞬态计算机可读介质,所述至少一个非瞬态计算机可读介质包括一个或多个指令,所述指令在由至少一个处理器执行时使得所述至少一个处理器进行以下操作:由远程数据存储服务接收对由所述远程数据存储服务存储为加密数据的数据的请求,所述请求由第一实体发起;向由所述第一实体控制的第一多方计算(MPC)服务器发送MPC请求;从所述第一MPC服务器接收MPC响应,所述MPC响应包括由安全密码处理器生成的机密;以及由所述远程数据存储服务至少部分地基于所述MPC响应对存储的加密数据进行解密。
在以下编号条款中阐述其它非限制性实施例或方面:
条款1:一种计算机实施的方法,包括:由远程数据存储服务接收对由所述远程数据存储服务存储为加密数据的数据的请求,所述请求由第一实体发起;向由所述第一实体控制的第一多方计算(MPC)服务器发送MPC请求;从所述第一MPC服务器接收MPC响应,所述MPC响应包括由安全密码处理器生成的机密;以及由所述远程数据存储服务至少部分地基于所述MPC响应对存储的加密数据进行解密。
条款2:根据条款1所述的计算机实施的方法,还包括:从由所述远程数据存储服务控制的第二MPC服务器接收第二MPC响应,其中至少部分地基于所述第二MPC响应对所述存储的加密数据进行解密。
条款3:根据条款1或2所述的计算机实施的方法,其中响应于接收到所述第二MPC响应而将所述MPC请求发送到所述第一MPC服务器。
条款4:根据条款1至3中任一项所述的计算机实施的方法,其中由所述第二MPC服务器将所述MPC请求发送到所述第一MPC服务器。
条款5:根据条款1至4中任一项所述的计算机实施的方法,其中所述存储的加密数据包括主密钥,所述主密钥通过基于所述MPC响应和所述第二MPC响应用派生密钥对所述存储的加密数据进行解密来确定,以确定所述远程数据存储服务中与所述第一实体相关联的所述主密钥。
条款6:根据条款1至5中任一项所述的计算机实施的方法,其中在不揭露关于所述MPC请求或所述MPC响应的任何信息的情况下,在预定时段内对所述存储的加密数据进行解密,并且其中所述MPC响应被配置成在不超过所述预定时段的时段内保持活动以使暴露减到最少。
条款7:根据条款1至6中任一项所述的计算机实施的方法,其中所述机密包括密钥、代码、令牌、个人标识码、计算或密码,并且所述方法还包括从由交易终端、发行方银行或收单方银行中的一个控制的第二MPC服务器接收第二MPC响应,其中至少部分地基于所述第二MPC响应对所述存储的加密数据进行解密。
条款8:根据条款1至7中任一项所述的计算机实施的方法,其中所述远程数据存储服务被配置成基于所述第一实体的预定数量的MPC响应进行解密,其中所述方法还包括:将一个或多个MPC请求发送到与所述第一实体相关联的多个MPC服务器;以及在从所述多个MPC服务器接收到一个或多个MPC响应之后确定MPC,其中基于接收到的MPC响应满足所述预定数量的MPC响应对所述存储的加密数据进行解密。
条款9:根据条款1至8中任一项所述的计算机实施的方法,还包括:由所述第一实体确定是否防止所述远程数据存储服务对所述第一实体的所述存储的加密数据进行解密;以及阻止来自所述远程数据存储服务的后续MPC请求、对所述远程数据存储服务的后续MPC响应或所述远程数据存储服务与所述第一实体的MPC服务器之间的连接中的至少一个以防止解密。
条款10:根据条款1至9中任一项所述的计算机实施的方法,其中在所述安全密码处理器生成所述机密时用基于瞬态密钥的瞬态加密层封装所述机密。
条款11:一种用于安全密钥管理的系统,包括:至少一个处理器,其被编程或配置成:由远程数据存储服务接收对由所述远程数据存储服务存储为加密数据的数据的请求,所述请求由第一实体发起;向由所述第一实体控制的第一多方计算(MPC)服务器发送MPC请求;从所述第一MPC服务器接收MPC响应,所述MPC响应至少包括由安全密码处理器生成的机密;以及由所述远程数据存储服务至少部分地基于所述MPC响应对存储的加密数据进行解密。
条款12:根据条款11所述的用于安全密钥管理的系统,其中所述至少一个处理器还被编程或配置成:从由所述远程数据存储服务控制的第二MPC服务器接收第二MPC响应,其中至少部分地基于所述第二MPC响应对所述存储的加密数据进行解密。
条款13:根据条款11或12所述的用于安全密钥管理的系统,其中响应于接收到所述第二MPC响应而将所述MPC请求发送到所述第一MPC服务器。
条款14:根据条款11至13中任一项所述的用于安全密钥管理的系统,其中由所述第二MPC服务器将所述MPC请求发送到所述第一MPC服务器。
条款15:根据条款11至14中任一项所述的用于安全密钥管理的系统,其中所述存储的加密数据包括主密钥,所述主密钥通过所述至少一个处理器基于所述MPC响应和所述第二MPC响应用派生密钥对所述存储的加密数据进行解密来确定,以确定所述远程数据存储服务中与所述第一实体相关联的主密钥。
条款16:根据条款11至15中任一项所述的用于安全密钥管理的系统,其中在不揭露关于所述MPC请求或所述MPC响应的任何信息的情况下,在预定时段内对所述存储的加密数据进行解密,并且其中所述MPC响应被配置成在不超过所述预定时段的时段内保持活动以使暴露减到最少。
条款17:根据条款11至16中任一项所述的用于安全密钥管理的系统,其中所述机密包括密钥、代码、令牌、个人标识码、计算或密码,并且所述系统还被配置成从由交易终端、发行方银行或收单方银行中的一个控制的第二MPC服务器接收第二MPC响应,其中至少部分地基于所述第二MPC响应对所述存储的加密数据进行解密。
条款18:根据条款11至17中任一项所述的用于安全密钥管理的系统,还包括所述第一MPC服务器,所述第一MPC服务器包括硬件安全模块,所述硬件安全模块被配置成在安全密码处理器中生成所述MPC响应。
条款19:根据条款11至18中任一项所述的用于安全密钥管理的系统,其中所述远程数据存储服务被配置成基于所述第一实体的预定数量的MPC响应进行解密,其中所述至少一个处理器还被编程或配置成:将一个或多个MPC请求发送到与所述第一实体相关联的多个MPC服务器;以及在从所述多个MPC服务器接收到一个或多个MPC响应之后确定MPC,其中基于接收到的MPC响应满足所述预定数量的MPC响应对所述存储的加密数据进行解密。
条款20:根据条款11至19中任一项所述的用于安全密钥管理的系统,其中所述至少一个处理器还被编程或配置成:由所述第一实体确定是否防止所述远程数据存储服务对所述第一实体的所述存储的加密数据进行解密;以及阻止来自所述远程数据存储服务的后续MPC请求、对所述远程数据存储服务的后续MPC响应或所述远程数据存储服务与所述第一实体的MPC服务器之间的连接中的至少一个。
条款21:根据条款11至20中任一项所述的用于安全密钥管理的系统,其中在所述安全密码处理器生成所述机密时用基于瞬态密钥的瞬态加密层封装所述机密。
条款22:根据条款11至21中任一项所述的用于安全密钥管理的系统,其中所述远程数据存储服务被配置成基于来自销售点(POS)终端的MPC服务器、发行方银行的MPC服务器、交易处理方的MPC服务器或收单方银行的MPC服务器的预定数量的MPC响应进行解密。
条款23:一种系统,包括:(a)在数据存储服务的控制下的至少一个服务器计算机,所述至少一个服务器计算机与包括与实体相关联的加密数据的至少一个数据存储装置通信;(b)与所述至少一个服务器计算机通信的第一多方计算(MPC)服务器计算机,所述第一MPC服务器计算机在所述数据存储服务的控制下,所述第一MPC服务器计算机被编程或配置成:(i)从所述至少一个服务器计算机接收第一MPC请求,(ii)基于所述第一MPC请求生成第一MPC响应,所述第一MPC响应包括由安全密码处理器生成的机密,以及(iii)将所述第一MPC响应发送到所述至少一个服务器计算机;以及(c)与所述至少一个服务器计算机通信的第二MPC服务器计算机,所述第二MPC服务器计算机在所述实体的控制下并且不受所述数据存储服务控制,所述第二MPC服务器计算机被编程或配置成:(i)从所述至少一个服务器计算机或所述第一MPC服务器计算机接收第二MPC请求,(ii)基于所述第二MPC请求生成第二MPC响应,以及(iii)将所述第二MPC响应发送到所述至少一个服务器计算机,其中所述至少一个服务器计算机被编程或配置成至少部分地基于所述第一MPC响应和所述第二MPC响应对所述加密数据进行解密。
条款24:根据条款23所述的系统,其中所述存储的加密数据包括主密钥,所述主密钥通过所述至少一个服务器计算机基于所述第一MPC响应和所述第二MPC响应用派生密钥对所述存储的加密数据进行解密来确定,以确定与所述实体相关联的所述主密钥。
条款25:根据条款23或24所述的系统,其中在不揭露关于所述第一MPC请求或所述第一MPC响应的任何信息的情况下,在预定时段内对所述存储的加密数据进行解密,并且其中所述第一MPC响应被配置成在不超过所述预定时段的时段内保持活动以使暴露减到最少。
条款26:根据条款23至25中任一项所述的系统,还包括由交易终端、发行方银行或收单方银行中的一个控制的第三MPC服务器,其中所述至少一个计算机还被配置成从所述第三MPC服务器接收第三MPC响应,并且其中至少部分地基于所述第三MPC响应对所述存储的加密数据进行解密。
条款27:根据条款23至26中任一项所述的系统,其中所述第一MPC服务器包括硬件安全模块,所述硬件安全模块被配置成在安全密码处理器中生成所述MPC响应。
条款28:根据条款23至27中任一项所述的系统,其中所述至少一个服务器计算机被配置成基于所述实体的预定数量的MPC响应进行解密,并且其中所述至少一个服务器计算机还被编程或配置成:将一个或多个MPC请求发送到与所述实体相关联的多个MPC服务器计算机;以及在从所述多个MPC服务器计算机接收到一个或多个MPC响应之后确定MPC,其中基于接收到的MPC响应满足所述预定数量的MPC响应对所述加密数据进行解密。
条款29:根据条款23至28中任一项所述的系统,其中所述第二MPC服务器计算机还被编程或配置成:确定是否防止所述数据存储服务对所述实体的所述存储的加密数据进行解密;以及阻止来自所述数据存储服务的后续MPC请求、对所述数据存储服务的后续MPC响应或所述数据存储服务与所述实体的MPC服务器计算机之间的连接中的至少一个以防止解密。
条款30:根据条款23至29中任一项所述的系统,其中在所述安全密码处理器生成所述机密时用基于瞬态密钥的瞬态加密层封装所述机密。
条款31:一种用于安全密钥管理的计算机程序产品,包括至少一个非瞬态计算机可读介质,所述至少一个非瞬态计算机可读介质包括一个或多个指令,所述指令在由至少一个处理器执行时使得所述至少一个处理器进行以下操作:由远程数据存储服务接收对由所述远程数据存储服务存储为加密数据的数据的请求,所述请求由第一实体发起;向由所述第一实体控制的第一多方计算(MPC)服务器发送MPC请求;从所述第一MPC服务器接收MPC响应,所述MPC响应包括由安全密码处理器生成的机密;以及由所述远程数据存储服务至少部分地基于所述MPC响应对存储的加密数据进行解密。
条款32:根据条款31所述的用于安全密钥管理的计算机程序产品,其中所述至少一个处理器还被编程或配置成:从由所述远程数据存储服务控制的第二MPC服务器接收第二MPC响应,其中至少部分地基于所述第二MPC响应对所述存储的加密数据进行解密。
条款33:根据条款31或32所述的用于安全密钥管理的计算机程序产品,其中响应于接收到所述第二MPC响应而将所述MPC请求发送到所述第一MPC服务器。
条款34:根据条款31至33中任一项所述的用于安全密钥管理的计算机程序产品,其中由所述第二MPC服务器将所述MPC请求发送到所述第一MPC服务器。
条款35:根据条款31至34中任一项所述的用于安全密钥管理的计算机程序产品,其中所述存储的加密数据包括主密钥,所述主密钥通过所述至少一个处理器基于所述MPC响应和所述第二MPC响应用派生密钥对所述存储的加密数据进行解密来确定,以确定所述远程数据存储服务中与所述第一实体相关联的主密钥。
条款36:根据条款31至35中任一项所述的用于安全密钥管理的计算机程序产品,其中在不揭露关于所述MPC请求或所述MPC响应的任何信息的情况下,在预定时段内对所述存储的加密数据进行解密,并且其中所述MPC响应被配置成在不超过所述预定时段的时段内保持活动以使暴露减到最少。
条款37:根据条款31至36中任一项所述的用于安全密钥管理的计算机程序产品,其中所述机密包括密钥、代码、令牌、个人标识码、计算或密码,并且所述计算机程序产品还被配置成从由交易终端、发行方银行或收单方银行中的一个控制的第二MPC服务器接收第二MPC响应,其中至少部分地基于所述第二MPC响应对所述存储的加密数据进行解密。
条款38:根据条款31至37中任一项所述的用于安全密钥管理的计算机程序产品,还包括所述第一MPC服务器,所述第一MPC服务器包括硬件安全模块,所述硬件安全模块被配置成在安全密码处理器中生成所述MPC响应。
条款39:根据条款31至38中任一项所述的用于安全密钥管理的计算机程序产品,其中所述远程数据存储服务被配置成基于所述第一实体的预定数量的MPC响应进行解密,其中所述至少一个处理器还被编程或配置成:将一个或多个MPC请求发送到与所述第一实体相关联的多个MPC服务器;以及在从所述多个MPC服务器接收到一个或多个MPC响应之后确定MPC,其中基于接收到的MPC响应满足所述预定数量的MPC响应对所述存储的加密数据进行解密。
条款40.根据条款31至39中任一项所述的用于安全密钥管理的计算机程序产品,其中所述至少一个处理器还被编程或配置成:由所述第一实体确定是否防止所述远程数据存储服务对所述第一实体的所述存储的加密数据进行解密;以及阻止来自所述远程数据存储服务的后续MPC请求、对所述远程数据存储服务的后续MPC响应或所述远程数据存储服务与所述第一实体的MPC服务器之间的连接中的至少一个。
条款41:根据条款31至40中任一项所述的用于安全密钥管理的计算机程序产品,其中在所述安全密码处理器生成所述机密时用基于瞬态密钥的瞬态加密层封装所述机密。
条款42:根据条款31至41中任一项所述的用于安全密钥管理的计算机程序产品,其中所述远程数据存储服务被配置成基于来自销售点(POS)终端的MPC服务器、发行方银行的MPC服务器、交易处理方的MPC服务器或收单方银行的MPC服务器的预定数量的MPC响应进行解密。
在参考附图考虑以下描述和所附权利要求书之后,本公开的这些和其它特征和特性以及相关结构元件和各部分的组合的操作方法和功能以及制造经济性将变得更加显而易见,所有附图形成本说明书的一部分,其中相似附图标号在各图中标示对应部分。然而,应明确地理解,图式仅用于说明及描述的目的,且不希望作为对本公开的限制的定义。除非上下文另外明确规定,否则在本说明书和权利要求书中使用时,单数形式“一”和“所述”包括多个指示物。
附图说明
下文参考附图中说明的示例性实施例更详细地解释本公开的额外优点和细节,在附图中:
图1是其中可以实施本文所描述的系统、设备和/或方法的密钥管理环境的非限制性实施例或方面的图;
图2是其中可以实施本文所描述的用于安全密钥管理的系统、设备和/或方法的非限制性实施例或方面的图;
图3是图1的一个或多个装置的组件的非限制性实施例或方面的图;
图4是示出根据本公开的原理的用于安全密钥管理的方法的非限制性实施例或方面的流程图;
图5是支付交易系统的安全密钥管理的非限制性实施例或方面的图;并且
图6是用于删除对安全密钥的权限的过程的非限制性实施例或方面的实施方案的图。
具体实施方式
下文出于描述的目的,术语“端”、“上”、“下”、“右”、“左”、“竖直”、“水平”、“顶部”、“底部”、“横向”、“纵向”以及其衍生词应涉及本公开如其在附图中的定向。然而,应理解,除了明确指定相反情况之外,本公开可以采用各种替代变化和步骤序列。还应理解,附图中所说明的以及在以下说明中描述的特定装置和过程仅仅是本公开的示例性实施例或方面。因此,除非另有指示,否则与本文公开的实施例或实施例的方面或各方面有关的特定尺寸和其它物理特性不应被视为限制。
本文所使用的方面、组件、元件、结构、动作、步骤、功能、指令等都不应当被理解为关键的或必要的,除非明确地如此描述。并且,如本文所使用,冠词“一”希望包括一个或多个项目,并且可以与“一个或多个”和“至少一个”互换使用。此外,如本文所使用,术语“集合”希望包括一个或多个项目(例如,相关项目、不相关项目、相关项目与不相关项目的组合等),并且可以与“一个或多个”或“至少一个”互换使用。在希望仅有一个项目的情况下,使用术语“一个”或类似语言。且,如本文中所使用,术语“具有”等希望是开放式术语。另外,除非另外明确陈述,否则短语“基于”希望意味着“至少部分地基于”。
如本文所使用,术语“通信”和“传达”可以指信息(例如,数据、信号、消息、指令、命令等)的接收、接纳、发送、传送、预配等。一个单元(例如,装置、系统、装置或系统的组件、其组合等)与另一单元通信意味着所述一个单元能够直接或间接地从所述另一单元接收信息和/或向所述另一单元传递(例如,发送)信息。这可以指代本质上有线和/或无线的直接或间接连接。另外,即使所发送的信息可能在第一单元与第二单元之间被修改、处理、中继和/或路由,这两个单元也可以彼此通信。例如,即使第一单元被动地接收信息且不会主动地将信息发送到第二单元,第一单元也可以与第二单元通信。作为另一示例,如果至少一个中间单元(例如,位于第一单元与第二单元之间的第三单元)处理从第一单元接收的信息且将处理后的信息发送到第二单元,则第一单元可以与第二单元通信。在一些非限制性实施例或方面,消息可以指包括数据的网络包(例如,数据包等)。
如本文所使用,术语“发行方”、“发行方机构”、“发行方银行”或“支付装置发行方”可指向个体(例如,用户、客户等)提供用于进行例如信用支付交易和/或借记支付交易等支付交易的账户的一个或多个实体。例如,发行方机构可向客户提供唯一地标识与所述客户相关联的一个或多个账户的账户标识符,例如主账号(PAN)。在一些非限制性实施例或方面,发行方可以与唯一地标识发行方机构的银行标识号码(BIN)相关联。如本文所使用,“发行方系统”可以指由发行方或代表发行方操作的一个或多个计算机系统,例如执行一个或多个软件应用程序的服务器。例如,发行方系统可包括用于授权交易的一个或多个授权服务器。
如本文所使用,术语“账户标识符”可包括与账户相关联的一种或多种类型的标识符(例如,与账户相关联的PAN、与账户相关联的卡号、与账户相关联的支付卡号、与账户相关联的令牌等)。在一些非限制性实施例或方面,发行方可以向用户提供账户标识符(例如,PAN、令牌等),所述账户标识符唯一地标识与所述用户相关联的一个或多个账户。账户标识符可以体现在支付装置(例如,用于进行支付交易的物理工具,例如支付卡、信用卡、借记卡、礼品卡等)上,和/或可以是向用户传达的电子信息,用户可以将其用于电子支付交易。在一些非限制性实施例或方面,账户标识符可以是原始账户标识符,其中在创建与账户标识符相关联的账户时,将原始账户标识符提供给用户。在一些非限制性实施例中,账户标识符可以是补充账户标识符,其可以包括在原始账户标识符提供给用户之后被提供给用户的账户标识符。例如,如果原始账户标识符被遗忘、被盗等,可将补充账户标识符提供给用户。在一些非限制性实施例中,账户标识符可直接或间接与发行方机构相关联,使得账户标识符可以是映射到PAN或其它类型的账户标识符的令牌。账户标识符可以是文数字、字符和/或符号的任何组合等。
如本文所使用,术语“令牌”可以指用作另一账户标识符(例如PAN)的替代或替换另一账户标识符的账户标识符。令牌可以与一个或多个数据结构(例如一个或多个数据库等)中的PAN或另一原始账户标识符相关联,使得令牌可用于进行支付交易而无需直接使用原始账户标识符。在一些非限制性实施例中,PAN等原始账户标识符可以与用于不同个体或目的的多个令牌相关联。在一些非限制性实施例中,令牌可以与PAN或一个或多个数据结构中的其它账户标识符相关联,使得令牌可以用来进行交易,而无需直接使用例如PAN的账户标识符。在一些示例中,PAN等账户标识符可与用于不同用途或目的的多个令牌相关联。
如本文所使用,术语“商家”可以指基于支付交易等交易向用户(例如,客户、消费者等)提供商品和/或服务和/或对商品和/或服务的访问的一个或多个实体(例如,零售业务的运营商)。如本文所使用,“商家系统”可以指由商家或代表商家操作的一个或多个计算机系统,例如执行一个或多个软件应用程序的服务器。如本文所使用,术语“产品”可以指由商家提供的一个或多个商品和/或服务。
如本文所使用,“销售点(POS)装置”可以指可被商家用来进行交易(例如,支付交易)和/或处理交易的一个或多个装置。例如,POS装置可包括一个或多个实体装置。另外或替代地,POS装置可包括外围装置、读卡器、扫描装置(例如,代码扫描器)、通信接收器、近场通信(NFC)接收器、射频标识(RFID)接收器和/或其它非接触式收发器或接收器、基于接触的接收器、支付终端等。
如本文所使用,“销售点(POS)系统”可以指商家用来进行交易的一个或多个实体装置和/或外围装置。例如,POS系统可以包括一个或多个POS装置,和/或可用于进行支付交易的其它类似装置。在一些非限制性实施例或方面,POS系统(例如,商家POS系统)可以包括被编程或配置成通过网页、移动应用程序等处理在线支付交易的一个或多个服务器计算机。
如本文所使用,术语“支付装置”可以指支付卡(例如信用卡或借记卡)、礼品卡、智能卡、智能介质、工资卡、医疗保健卡、腕带、含有账户信息的机器可读介质、钥匙链装置或吊坠、RFID应答器、零售商折扣或会员卡等。支付装置可包括易失性或非易失性存储器以存储信息(例如,账户标识符、账户持有人的姓名等)。
如本文所使用,术语“交易服务提供商”可以指接收来自商家或其它实体的交易授权请求且在一些情况下通过交易服务提供商与发行方机构之间的协议来提供支付保证的实体。在一些非限制性实施例或方面,交易服务提供商可包括信用卡公司、借记卡公司、例如 American等支付网络,或处理交易的任何其它实体。如本文所使用,术语“交易服务提供商系统”可以指由交易服务提供商或代表交易服务提供商操作的一个或多个计算机系统,例如执行一个或多个软件应用程序的交易服务提供商系统。交易服务提供商系统可以包括一个或多个处理器,并且在一些非限制性实施例或方面,可由交易服务提供商或代表交易服务提供商操作。
如本文中所使用,术语“计算装置”可以指被配置成处理数据的一个或多个电子装置。在一些示例中,计算装置可以包括接收、处理和输出数据的必要组件,例如处理器、显示器、存储器、输入装置、网络接口等。计算装置可以是移动装置。作为示例,移动装置可以包括蜂窝电话(例如,智能手机或标准蜂窝电话)、便携式计算机、可穿戴装置(例如,手表、眼镜、镜片、衣物等)、个人数字助理(PDA)和/或其它类似装置。计算装置还可以是台式计算机或其它形式的非移动计算机。
如本文所使用,术语“客户端”和“客户端装置”可以指访问服务器提供的服务的一个或多个计算装置。在一些非限制性实施例或方面,“客户端装置”可以指促进支付交易的一个或多个装置,例如商家使用的一个或多个POS装置。在一些非限制性实施例或方面,客户端装置可以包括被配置成与一个或多个网络通信和/或促进支付交易的计算装置,例如但不限于一个或多个台式计算机、一个或多个移动装置和/或其它类似装置。
如本文中所使用,术语“服务器”可以指或包括由互联网等网络环境中的多方操作或促进所述多方的通信和处理的一个或多个计算装置,但应了解,可通过一个或多个公共或专用网络环境促进通信,并且可能有各种其它布置。此外,在网络环境中直接或间接通信的多个计算装置(例如服务器、POS装置、移动装置等)可构成“系统”。如本文所使用,对“服务器”或“处理器”的提及可指陈述为实施先前步骤或功能的先前所述服务器和/或处理器、不同的服务器和/或处理器,和/或服务器和/或处理器的组合。例如,如在说明书和权利要求书中所使用,陈述为实施第一步骤或功能的第一服务器和/或第一处理器可指代陈述为实施第二步骤或功能的相同或不同服务器和/或处理器。
如本文所使用,术语“系统”可指一个或多个计算装置或计算装置组合,例如但不限于处理器、服务器、客户端装置、软件应用程序和/或其它类似组件。此外,如本文所使用,对“服务器”或“处理器”的参考可指先前所述的陈述为执行先前步骤或功能的服务器和/或处理器、不同的服务器和/或处理器,和/或服务器和/或处理器的组合。例如,如在说明书和权利要求书中所使用,陈述为执行第一步骤或功能的第一服务器和/或第一处理器可指陈述为执行第二步骤或功能的相同或不同服务器和/或处理器。
如本文所使用,术语“支付卡行业数据安全标准”(PCI-DSS)可以指处理来自主要卡方案的品牌信用卡的组织的信息安全标准。PCI-DSS由支付卡公司授权,但由支付卡行业安全标准委员会管理。
许多现有应用程序(例如,云应用程序、远程应用程序、分布式应用程序等)使用密码技术来保护数据,以确保从中收集(或向其分发)数据的各方是预期的对象,并确保所处理数据的完整性。使用这些密码技术涉及使用密钥对数据进行加密或解密,以及创建或验证数字签名。随着使用加密和签名技术的商业应用程序激增,以及大量实体(例如,组织、客户、顾客、商家、发行方、收单方等)需要密钥来标识自己,任何企业中存在的密钥数量都可能非常庞大。此外,跟踪哪一个密钥属于哪一个实体,哪一个应用程序需要访问哪一个密钥,以及与每个密钥相关联的使用策略应该是什么,都很容易失控。
一种被称为密钥管理服务(KMS)的管理技术是一种纯软件的方法,其允许实体创建和管理用于保护保持在云中的敏感数据(例如,自带密钥(BYOK)等)的加密密钥。然而,驻留在云提供商的基础设施内的加密密钥虽然可供实体访问,但也可供云提供商访问,且保护有限,容易受到黑客或恶意员工对云提供商的攻击,等等。例如,KSM可能容易受到存储器攻击。
在示例中,通常使用冷启动攻击或平台重置攻击(例如,一种旁道攻击,其中对计算机具有物理访问权限的攻击者通过执行目标机器的硬重置来执行计算机的随机存取存储器(RAM)的内存转储等)从运行中的操作系统恶意检取加密密钥,并且依靠动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的数据剩磁性质来检取在断电后仍然可读的存储器内容。因此,对运行中的计算机具有物理访问权限的攻击者可以执行攻击以查找由云提供商存储的实体数据中的敏感数据,例如密钥。因此,KMS本身可能无法提供一定级别的安全能力来保护不断增加的密钥数量和不断增加的数据价值,并且可能不符合许多应用所需的行业标准(例如,PCI-DSS),可能仅限于在云提供商的环境内工作,并且当实体驻留在由云提供商提供的服务中时,实体可能对其数据持有控制权。这使得这种方法的可行性存在问题,尤其是对于需要跨多个不同地区、国家或服务管理加密密钥的实体来说。另外,当加密密钥和数据都由同一实体(在这种情况下为云提供商)持有时,风险等级会增加。
还可以使用硬件安全模块(HSM)为本地加密密钥管理提供更高的安全性,然而,广泛的云部署使得结合多云环境安装和维护HSM不切实际,例如,在实体与云之间持续传达密钥或者加密数据所固有的安全和处理问题以及效率低下。作为替代方案,一些云提供商已开始在其自己的数据中心(例如,谷歌、亚马逊网络服务(AWS)等)中预配他们选择的HSM或将HSM作为一项服务来提供,以加强其KMS产品,并用他们在其数据中心定位和控制的HSM巩固其KMS。虽然这种方法提供了更高级别的加密密钥安全性,但KMS和HSM的组合只能专门在云提供商的地区内工作,并且仍然存在以下缺点:将密钥和数据存储在同一环境中、提供的密钥使用可见性和知识较少,分开后仍在云提供商的控制下、可能需要增加通信次数、性能降低,并且不支持多云和其它远程操作。
提供了用于通过多方计算(MPC)控制远程或分布式系统中的加密数据以提供安全密钥管理的改进的系统、方法和计算机程序产品。在一些非限制性实施例或方面,系统,例如云提供商的远程数据存储服务,可以包括被编程或配置成进行以下操作的至少一个处理器:接收对由远程数据存储服务存储为加密数据的数据的请求,所述请求由第一实体发起;向由第一实体控制的MPC服务器发送MPC请求;从第一MPC服务器接收MPC响应,所述MPC响应包括由安全密码处理器生成的机密;以及至少部分地基于MPC响应对存储的加密数据进行解密。
根据本文所描述的系统、方法和计算机程序产品,第一实体(例如,组织、实体等)可以存储敏感的和/或在远程数据存储服务提供商系统处加密的数据,并控制一个或多个其它系统(例如,远程数据存储服务提供商系统本身)对数据的访问。此类数据可以被加密,并且如果第一实体不再请求或要求在远程数据存储服务提供商系统处存储数据,则第一实体可以拒绝在MPC协议中执行一个或多个计算,从而防止远程数据存储服务提供商系统(例如,响应于对来自另一系统的数据的请求)对数据进行解密。通过这种方式,系统提供HSM,所述HSM可保持在实体的控制下,并且可由实体预配和物理控制,以提供固有益处并包括可扩展性、高可用性和低延迟,这使所述可扩展性、高可用性和低延迟成为具有高增长水平的实体的灵活选择,同时仍然允许云提供商的KMS使用指定密钥来保护数据,和/或能够在云提供商的环境之外更高效地运行,例如,在多云环境中管理加密密钥,并在全球范围内扩展到多个不同的地区和国家。通过这种方式,实体可以保持由本地HSM提供的安全级别,同时安全地利用由云提供商提供的资源和服务,并且可以在简化且可访问的解决方案中为采用多云环境、混合云环境或全球运营环境的实体提供对交易和服务的控制,同时保持加密密钥与加密数据分开,和/或以更高的防数据泄露级别高效地运行,同时减少延迟。
另外,系统可以允许分开存储加密密钥和数据以降低破坏性数据泄露的可能性,并且不仅可以允许实体知道他们所有的密钥在哪里,还可以允许所述实体定义谁或什么应用程序可以用任何特定功能执行,从而提高速度,同时优化吞吐量、延迟,准确性,并减少计算和安全密钥的暴露。此外,在一些非限制性实施例或方面,可以可靠地标识请求访问加密密钥的个人或应用程序,并且可以安全地实施策略(他们可以用密钥做什么),从而可以限制未授权的使用,或者快速高效地删除已授权的使用。
现在参考图1,图1是其中可以实施本文所描述的装置、系统,和/或方法的示例环境100的图。如图1所示,环境100包括第一实体系统104、远程数据存储服务提供商系统102和通信网络106。第一实体系统104和远程数据存储服务提供商系统102可以经由有线连接和/或无线连接互连(例如,建立连接以进行通信等)。
第一实体系统104可以包括能够经由通信网络106与远程数据存储服务提供商系统102通信的一个或多个装置。例如,第一实体系统104可以包括计算装置,例如移动计算装置(例如,智能手机、平板计算机等)、服务器(例如,交易处理服务器)、服务器群组和/或其它类似装置。在一些非限制性实施例或方面,第一实体系统104还能够经由短程无线通信连接(例如,NFC通信连接、RFID通信连接、通信连接等)进行通信。在一些非限制性实施例或方面,第一实体系统104可以与本文所描述的交易服务提供商和/或支付网关服务提供商相关联。在一些非限制性实施例或方面,第一实体系统104能够与数据存储装置通信,所述数据存储装置相对于第一实体系统104可以是本地的或远程的。在一些非限制性实施例或方面,第一实体系统104能够从数据存储装置接收信息,将信息存储在数据存储装置中,将信息传达到数据存储装置,或搜索存储在数据存储装置中的信息。
远程数据存储服务提供商系统102可以包括能够经由通信网络106与远程数据存储服务提供商系统102通信的一个或多个装置。例如,远程数据存储服务提供商系统102可以包括计算装置,例如移动计算装置(例如,智能手机、平板计算机等)、服务器(例如,交易处理服务器)、服务器群组和/或其它类似装置。在一些非限制性实施例或方面,远程数据存储服务提供商系统102还能够经由短程无线通信连接进行通信。在一些非限制性实施例或方面,远程数据存储服务提供商系统102可以与本文所描述的交易服务提供商和/或支付网关服务提供商相关联。在一些非限制性实施例或方面,远程数据存储服务提供商系统102能够与数据存储装置通信,所述数据存储装置对于远程数据存储服务提供商系统102可以是本地的或远程的。在一些非限制性实施例或方面,远程数据存储服务提供商系统102能够从数据存储装置接收信息,将信息存储在数据存储装置中,将信息传达到数据存储装置,或搜索存储在数据存储装置中的信息。在一些非限制性实施例或方面,远程数据存储服务提供商系统102可以与云计算服务提供商相关联,所述云计算服务提供商例如MicrosoftGoogleAmazon Web等。
通信网络106可以包括一个或多个有线和/或无线网络。例如,通信网络106可以包括蜂窝网络(例如,长期演进(LTE)网络、第三代(3G)网络、第四代(4G)网络、码分多址接入(CDMA)网络等)、公共陆地移动网(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网络(PSTN))、专用网络、自组织网络、网状网络、信标网络、内联网、因特网、基于光纤的网络、云计算网络等,和/或这些或其它类型的网络的组合。
示例地提供图1中示出的装置和网络的数量和布置。可能存在与图1中所示的那些相比额外的装置和/或网络、更少的装置和/或网络、不同的装置和/或网络,或不同地布置的装置和/或网络。此外,图1中所示的两个或更多个装置可在单个装置内实施,或图1中所示的单个装置可实施为多个分布式装置。另外或替代地,环境100的一组装置(例如,一个或多个装置)可以执行被描述为由环境100的另一组装置执行的一个或多个功能。
本文公开的系统可以包括MPC协议,以向组织提供安全性,从而控制对存储在远程数据存储服务提供商系统102处的数据的数据解密所需的密钥的访问。当需要组织的唯一密钥时,远程数据存储服务提供商系统102可以从MPC服务器的本地实例(例如,由远程数据存储服务提供商系统102托管和/或与所述远程数据存储服务提供商系统通信的计算装置)请求第一MPC计算(例如,派生密钥所需的多个MPC计算中的一个MPC计算等),然后在云服务访问范围之外利用组织的控制联系第二服务器。因此,组织可以通过管理所需的密码功能的一部分来控制对其加密数据的访问。如果组织离开云服务(例如,决定不再将数据存储在远程数据存储服务提供商系统102),则组织可以从远程数据存储服务提供商系统102中移除MPC服务器和/或拒绝从MPC服务器访问远程数据存储服务提供商系统102。因此,与组织相关联的加密数据可能不再被解密(例如,由远程数据存储服务提供商系统102解密)。这还将保护离线备份,以及远程数据存储服务提供商系统102可能具有的任何测试环境(例如,计算装置、系统等)。本文所描述的系统和方法提供了技术保证,即没有来自组织的授权,远程数据存储服务提供商系统102无法访问组织的数据。本文所描述的系统和方法还为驻外和地区办事处提供了安全性,在这些办事处中,组织的加密数据可能需要在保持在特定位置(例如,在位于一个或多个国内位置,例如在一个国家、地区等内的远程数据存储服务提供商系统102处)时受到保护。
在一些非限制性实施例或方面,远程数据存储服务提供商系统102可以安装MPC服务器(例如,作为本地云实例)作为远程数据存储服务提供商系统102的一部分。然后,远程数据存储服务提供商系统102可以从第一实体系统104接收并存储加密数据,并将所述数据存储在与远程数据存储服务提供商系统102相关联的数据库中。在此示例中,第一实体系统104可以使用组织唯一的加密密钥对加密数据进行加密,随后将所述加密数据发送到远程数据存储服务提供商系统102。
在一些非限制性实施例或方面,远程数据存储服务提供商系统102可以接收对加密数据的请求,并且基于所述请求从MPC服务器发送对唯一密钥的请求。MPC服务器可以执行计算以派生唯一密钥,然后请求第二MPC服务器(例如,对于远程数据存储服务提供商系统102为远程的MPC服务器、包括在第一实体系统104中的MPC服务器等)执行一个或多个计算并将结果发送到MPC服务器。在一些非限制性实施例或方面,第二MPC服务器可以在组织的控制内和/或在远程数据存储服务提供商系统102的控制之外(例如,不包括在内)。如果环境(例如,环境100)中仅包括两个MPC服务器,则将与加密密钥相关联的数据(例如,由第二MPC服务器作为MPC协议的一部分执行的计算)返回到远程数据存储服务提供商系统102,并且远程数据存储服务提供商系统102接着可以生成密钥以对加密数据进行解密。密钥可以基于从第一MPC服务器和第二MPC服务器接收到的数据生成。组织可以指定派生唯一密钥所需的MPC服务器的数量,并且计算过程可以继续到满足请求的节点的数量。
现在参考图2,图2是其中可以实施本文所描述的装置、系统,和/或方法的示例密钥管理系统200的图。如图2所示,密钥管理系统200包括云提供商系统202、实体系统204和通信网络206。云提供商系统202和实体系统204可以经由有线连接和/或无线连接互连(例如,建立连接以进行通信等)。
在一些非限制性实施例或方面,云提供商系统202包括远程数据存储服务208,以提供数据处理、存储和检取服务,或用于管理远程存储库中的数据的其它能力。另外,由远程数据存储服务208存储的数据在数据加密密钥(DEK)的帮助下得到保护和保障。DEK或主密钥是可以由远程数据存储服务208用于对由远程数据服务208存储的数据(例如,静态数据)执行加密和解密功能的加密密钥。DEK由远程数据存储服务208(例如,远程数据存储服务208的一个或多个处理器、客户端或服务器等)加密,以保护其在存储在KMS 212(例如,KMS 212的密钥数据库、KMS 212的一个或多个计算装置的密钥存储区等)中时免受恶意攻击或使用。
在一些非限制性实施例或方面,远程数据存储服务208必须访问或派生密钥加密密钥(KEK),其功能是对DEK进行加密和解密。远程数据存储服务208可以利用KMS 212来访问DEK。在一些非限制性实施例或方面,KMS 212是容纳密钥管理软件的系统,并且可以提供密钥管理应用程序接口(KM API),其设计成从密钥管理服务器安全地检取加密密钥并将其传递给请求密钥的客户端。更具体地说,KMS 212提供一种纯软件的方法,其允许实体创建和管理用于保护保持在云中的敏感数据(例如,BYOK等)的许多数据加密密钥。在一些情况下,实体可以将数百甚至数千个DEK存储在驻留在云中的密钥数据库中。然而,驻留在云提供商系统202的基础设施内的私有加密密钥(例如,DEK、私钥、对称密钥等)虽然可供实体访问,但也可供云提供商访问,并且在驻留在云提供商系统202上时容易受到黑客或恶意员工的威胁、攻击和盗窃。因此,并且如上文所解释,出于安全和控制目的,DEK在由云提供商系统202集中存储和管理的同时,可以进一步进行模糊处理。
在一些非限制性实施例或方面,密钥管理系统200通过分散跨多个服务器(例如,计算装置、客户端、系统、平台等)用MPC调用任何给定密钥的计算来提供更高效且可扩展的分散私钥的方式。除了保护DEK以及因此用DEK加密的数据之外,如下文进一步描述,MPC还限制云提供商系统202的能力,使得所述云提供商系统无法完全控制DEK,而是仅使用MPC的一部分来确定对DEK进行加密和解密的KEK。
继续图2,当KMS 212请求计算KEK时,MPC服务器云实例210代表云提供商系统202存储并提供MPC-2。在一些非限制性实施例或方面,实体系统204提供另一半计算。然而,确定KEK所需的MPC的数量可以增加,以创建更安全的KEK。在一些非限制性实施例或方面,实体系统204是存储在云提供商系统202之外的唯一额外计算,并且实体系统204可以向希望在与云提供商系统202驻留在一起的同时限制对敏感数据的控制的支付卡提供商提供控制。
在一些非限制性实施例或方面,实体系统204提供MPC服务器的实例,所述实例包括MPC服务器的特定示例负责处理的计算。例如,实体系统204提供MPC服务器第一本地实例214(例如,包括MPC的MPC服务器的第一本地实例等)。替代地,实体系统204可以提供远程实例,例如远离实体系统204存储的云实例,并且如上文所论述,从提供MPC的实体的角度来看,提供更有限的安全性和控制。
为了进一步增强安全性,实体系统204在与安全密码处理器216的安全通信中计算MPC,MPC-1存储在所述安全密码处理器中。安全密码处理器216为计算和其它功能提供硬件保护,以提供安全MPC。在一些非限制性实施例或方面,安全密码处理器216是硬件安全模块的组件。HSM为材料提供逻辑和物理保护,包括密码密钥。由HSM处理的密码材料可以包括不对称密钥、对称密钥、椭圆密钥密码术等。
在一些示例中,HSM包含可防止篡改和总线探测的一个或多个安全密码处理器芯片,或安全密码处理器和其它处理器芯片(例如,中央处理单元(CPU)、通用处理单元(GPU)、张量处理单元(TPU)、现场可编程网关阵列(FPGA)、专用集成电路(ASIC)等)的组合。因此,HSM选择可能对速度、吞吐量、延迟、准确性、学习速率、能效和计算速率具有显著影响。HSM包括受防篡改或篡改响应封装保护的模块。
在一些非限制性实施例或方面,涉及使用密码密钥的机载安全密钥管理仅在硬件中执行,使得无法以可读格式从HSM提取或导出密钥(例如,整个或完整密钥等)。HSM还提供物理计算装置,其保护并管理数字密钥(例如,MPC、KEK、DEK等)以进行强认证,并提供密码处理能力,即使直接附接到安全性较低的计算装置或网络服务器也是如此。HSM保护密钥,并且,如果或当应用程序被泄露时,尽管此时在应用程序中处理的应用程序数据可能丢失或泄露,但可用于对实体造成真实损害(例如,批量解密数据库、在支付处理器上执行欺诈性交易等)的密钥不会泄露。在一些非限制性实施例或方面,通用HSM、基于云的HSM和/或金融交易HSM(例如,用于验证在POS处输入的个人标识码(PIN)等)可以在物理HSM内使用、共享或虚拟启用。
在一些非限制性实施例或方面,HSM还提供逻辑或业务应用程序,所述逻辑或业务应用程序可在HSM内执行,并与采用数字密钥、密钥生成、安全密钥存储和管理、使用密码图形数据或材料、卸载应用程序服务器、数据库的透明数据库密钥管理的任何应用程序一起使用,生成、存储、处理密钥对等。
在一些非限制性实施例或方面,实体系统204将卡支付HSM用于MPC,并且还可以处理当在POS装置处读取卡时输入的PIN,以将PIN加载到受保护存储器中,将密钥加载到受保护存储器中,进行密钥交换,通过与结合自动柜员机(ATM)或POS控制器的加密块进行比较来授权在线PIN,通过检查卡安全码或处理基于嵌入式存储器块(EMB)的交易来验证POS或卡交易,支持智能卡的加密API,对个人标识码块进行重新加密以发送到另一HSM或硬件和操作系统故障排除,支持POS管理协议,支持主机密钥数据交换的事实标准,生成PIN,生成磁条卡的数据,并提供安全套接字层/传输层安全(SSL/TLS)管理和加速。
在一些非限制性实施例或方面,实体系统204计算MPC,并在发送结果之前封装结果。例如,实体系统204封装MPC-1(例如,MPC计算的结果,其形成KEK、KEK的机密片段、与KEK相关联的机密、与KEK相关联的PIN、与KEK相关联的计算、与KEK相关联的代码、令牌等),而MPC-1保持在安全密码处理器216的内部。在此示例中,在从安全密码处理器216发送另一密钥之前,安全密码处理器216用另一密钥封装计算的结果。例如,安全密码处理器216用基于公钥/私钥对中的公钥或私钥的瞬态加密层封装MPC-1。通过这种方式,MPC-1永远不会以明文形式从HSM发送,并且在发送到云提供商系统202之前可以安全地离线存储。在一些示例中,MPC-1被封装并发送到云服务,在所述云服务中,其可以用公钥/私钥对中的对应公钥或私钥解包,随后与MPC-2组合使用以派生KEK。通过这种方式,云提供商系统202可以提供云加密(例如,服务器侧加密等),以便上传实体系统204的数据,并在所述数据被存储并假定云服务的内部人员无法访问数据时进行加密(即,访问数据的请求需要多方(包括除云服务以外的至少一方或多方)计算访问和/或解密DEK所需的KEK)。之后,使用DEK对数据执行解密,这些数据可以在用基于瞬态密钥的瞬态加密层移动之前以明文形式发送回或封装。在替代示例中,在云服务获得对实体系统204的数据的访问权之前,对所述数据进行加密。在这种情况下,使用DEK对由云提供商系统202(例如,AWS中的KMS等)管理的云中数据进行解密,然后在之前用实体系统204的公钥封装DEK,或者,用实体系统204的公钥封装DEK以在DEK被访问或发送之前对其进行安全保护。
现在参考图3,图3是装置300的示例性组件的图。装置300可对应于第一实体104、远程数据存储服务提供商系统102和/或通信网络106的一个或多个装置。在一些非限制性实施例或方面,]第一实体系统104、远程数据存储服务提供商系统102和/或通信网络106可以包括至少一个装置300和/或装置300的至少一个组件。如图3所示,装置300可以包括总线302、处理器304、存储器306、存储组件308、输入组件310、输出组件312和通信接口314。
总线302可以包括准许装置300的组件之间的通信的组件。在一些非限制性实施例或方面,处理器304可以硬件、软件或硬件和软件的组合实施。例如,处理器304可以包括处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)等)、微处理器、数字信号处理器(DSP)和/或可以被编程成执行功能的任何处理组件(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)。存储器306可以包括随机存取存储器(RAM)、只读存储器(ROM),和/或另一类型的动态或静态存储装置(例如,闪存、磁性存储器、光学存储器等),其存储供处理器304使用的信息和/或指令。
存储组件308可以存储与装置300的操作和使用有关的信息和/或软件。例如,存储组件308可以包括硬盘(例如,磁盘、光盘、磁光盘、固态磁盘等)、压缩光盘(CD)、数字多功能光盘(DVD)、软盘、盒带、磁带和/或另一类型的计算机可读介质,以及对应的驱动器。
输入组件310可以包括准许装置300例如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、麦克风等)接收信息的组件。另外或替代地,输入组件310可以包括用于感测信息的传感器(例如,全球定位系统(GPS)组件、加速度计、陀螺仪、致动器等)。输出组件312可以包括从装置300提供输出信息的组件(例如,显示器、扬声器、一个或多个发光二极管(LED)等)。
通信接口314可以包括收发器类组件(例如,收发器、单独的接收器和发送器等),所述收发器类组件使装置300能够例如经由有线连接、无线连接,或有线连接和无线连接的组合与其它装置进行通信。通信接口314可以准许装置300接收来自另一装置的信息和/或向另一装置提供信息。例如,通信接口314可以包括以太网接口、光学接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、接口、蜂窝网络接口等。
装置300可以执行本文所描述的一个或多个过程。装置300可以基于处理器304执行由诸如存储器306和/或存储组件308的计算机可读介质存储的软件指令来执行这些过程。计算机可读介质(例如,非瞬态计算机可读介质)在本文中定义为非瞬态存储器装置。非瞬态存储器装置包括位于单个物理存储装置内部的存储器空间或散布于多个物理存储装置上的存储器空间。
软件指令可以经由通信接口314从另一计算机可读介质或从另一装置读取到存储器306和/或存储组件308中。在被执行时,存储在存储器306和/或存储组件308中的软件指令可以使处理器304执行本文所描述的一个或多个过程。另外或替代地,硬接线电路可替代或结合软件指令使用以执行本文中所描述的一个或多个过程。因此,本文所描述的实施例不限于硬件电路和软件的任何特定组合。
作为示例提供图3中所示的组件的数量和布置。在一些非限制性实施例中,与图3所示的那些相比,装置300可以包括额外组件、更少组件、不同组件或以不同方式布置的组件。另外或替代地,装置300的一组组件(例如,一个或多个组件)可以执行被描述为由装置300的另一组组件执行的一个或多个功能。
尽管已出于说明的目的而基于当前被认为是最实用和优选的实施例详细描述了本公开,但应理解,此类细节仅用于所述目的,且本公开不限于所公开实施例,而相反,旨在涵盖在所附权利要求书的精神和范围内的修改和等效布置。例如,应理解,本公开预期,尽可能地,任何实施例的一个或多个特征可以与任何其它实施例的一个或多个特征组合。
现在参考图4,图4是用于安全密钥管理的过程400的非限制性实施例或方面的流程图。在一些非限制性实施例或方面,用于安全密钥管理的过程400的一个或多个步骤可以(例如,完全地、部分地等)由云提供商系统202(例如,云提供商系统202的一个或多个装置)执行。在一些非限制性实施例或方面,过程400的一个或多个步骤可(例如,完全地、部分地等)由实体系统204(例如,实体系统204的一个或多个装置)执行。
如图4所示,在步骤402,过程400可以包括接收对由远程数据存储服务208存储为加密数据的数据的请求,所述请求由第一实体发起。例如,云提供商系统202接收对由远程数据存储服务208存储为加密数据的数据的请求,所述请求由第一实体发起。
在一些非限制性实施例或方面,存储的加密数据包括主密钥,所述主密钥通过基于MPC响应和第二MPC响应用派生密钥对存储的加密数据进行解密以确定远程数据存储服务208中与第一实体相关联的主密钥来确定。例如,加密数据由作为加密密钥数据库(例如,具有一个或多个加密DEK的数据库等)的KMS 212存储,并且基于MPC响应对加密密钥中的至少一个进行解密。
如图4所示,在步骤404,过程400可以包括将MPC请求发送到由第一实体控制的MPC服务器。例如,云提供商系统202向由第一实体控制的MPC服务器(例如,MPC服务器第一本地实例214等)发送MPC请求。在一些非限制性实施例或方面,云提供商系统202首先向MPC服务器发送第一本地实例214,并且,响应于请求,从MPC服务器的特定MPC服务器第一本地实例214接收MPC响应,在替代方案中,所述请求可以从在第一实体的MPC服务器第一本地实例214(例如,第一MPC服务器本地实例、第二MPC服务器本地实例、第三MPC服务器本地实例等)中实例化的MPC服务器的一个或多个实例调用返回MPC响应,并且KMS 212或MPC服务器云实例210可以确定MPC的消息。在一些示例中,MPC服务器的一个或多个实例可以发送机密,所述机密有助于MPC派生KEK,以对DEK进行解密从而对加密数据进行解密,或在一些非限制性实施例或方面对数据本身进行加密。
云提供商系统202向由远程数据存储服务208控制的第二MPC服务器(例如,MPC服务器第一本地实例214等)发送对MPC响应的MPC请求,所述MPC响应提供由MPC服务器第一本地实例214生成的计算,所述计算可能有助于派生KEK的MPC。例如,云提供商系统202从由云提供商系统202(例如,远程数据存储服务208等)控制的第二MPC服务器(例如,MPC服务器云实例210等)接收第二MPC响应。MPC响应可以包括机密(例如,计算的结果等),首先使用所述机密进行解密,然后将MPC请求发送到实体系统204。通过这种方式,实体系统204可以通过发送MPC响应来对DEK进行解密。如果实体系统204决定不对DEK进行解密,或尚未决定对DEK进行解密,则实体系统204可能不会发送MPC响应。在接收到MPC响应之前,DEK将不可用。
在一些非限制性实施例或方面,如果实体系统204不提供响应,则其不从远程数据存储服务208接收用于对存储的加密数据进行加密的机密计算。
在一些非限制性实施例或方面,MPC请求由第二MPC服务器(例如,MPC服务器云实例210等)发送到第一MPC服务器,所述MPC请求在MPC服务器云实例210已向KMS 212发送响应之后发送。其它示例可以包括通过远程数据服务208的KMS 212路由到第一实体的MPC请求。
如图4所示,在步骤406,过程400可以包括从第一MPC服务器接收MPC响应,包括由安全密码处理器生成的机密。例如,云提供商系统202从第一MPC服务器接收MPC响应,包括由安全密码处理器(例如,安全密码处理器216、HSM等)生成的机密。
在一些非限制性实施例或方面,云提供商系统202向第一MPC服务器发送MPC响应,并从MPC服务器的一个或多个实例(例如,第一本地实例、第二本地实例、第三本地实例等)接收MPC响应。在一些示例中,MPC服务器的一个或多个实例可以发送有助于对加密数据进行解密的机密。
在一些非限制性实施例或方面,机密是基于MPC生成的机密信息片段,并且可以包括密钥、代码、令牌、个人标识码、计算或密码中的一个。
第二服务器可以由云提供商系统202控制,或者,可以由例如实体系统204的另一实体控制。云提供商系统202还可以从不由实体系统204或云提供商系统202控制的第二MPC服务器接收MPC响应。例如,第二服务器可以由控制交易终端、发行方银行或收单方银行、商家、交易处理方的实体控制,所述实体被配置成生成和发送第二MPC响应。
在安全密码处理器生成机密时,用基于瞬态密钥的瞬态加密层封装所述机密。例如,密码功能出现在HSM内部,并且另一个优点是所述密码功能可以隐藏暴露水平。如果有人要访问节点之一,则密钥在受HSM保护时是不可访问的。HSM的其它益处在于可以在HSM内执行多个功能而不必暴露密钥。HSM可以在MPC、机密或机密密钥上封装和重新封装瞬态加密层,而不会以明文形式暴露密钥。在没有HSM的软件系统中,他们可能能够获得访问权限。如果不将密钥加载到存储器中,软件就无法对任何内容进行加密。
如图4所示,在步骤408,过程400可以包括至少部分地基于MPC响应对存储的加密数据进行解密。例如,使用KMS 212的云提供商系统202至少部分地基于MPC响应对存储的加密数据进行解密。
在一些非限制性实施例或方面,在预定时段内对存储的加密数据进行解密。例如,MPC响应被配置成在不超过预定时段的时段内保持活动以使暴露减到最少。MPC响应包括机密信息,如果不停用MPC响应,则所述机密信息可能构成安全威胁。MPC响应可以被编程或配置成在预定时段(例如,30分钟时段、长于预定阈值的不活动时段等)内停用。MPC响应被配置成在不超过预定时段的时段内保持活动,以使面临密码攻击或黑客攻击威胁的情况减到最少,或者,被配置成在长于预定时段的时段内未被用来解密的情况下停用。
MPC响应用于对存储的加密数据进行解密,而不揭露关于MPC请求或MPC响应的任何信息,并且其中MPC响应被配置成在不超过预定时段的时段内保持活动以使暴露减到最少。在一些非限制性实施例或方面,KMS被配置成确定MPC响应可保持活动的预定时段。
在一些非限制性实施例或方面,至少部分地基于第二服务器已生成的第二MPC响应对存储的加密数据进行解密。然而,除了实体系统204之外,在一些非限制性实施例或方面,贡献实体可以参与MPC,例如控制交易终端、发行方银行或收单方银行、商家、交易处理方的实体,所述实体可以被配置成生成和发送第二MPC响应。第二实体的组合可用于对例如交易数据库中的共享数据(例如,商户和发行方共享的数据、POS和收单方共享的数据、POS与交易处理方共享的数据等)进行加密和解密。首先用密钥组合(商户/交易处理方)对DEK进行解密,以将来自商家的数据共享给发行方。随后(例如,在第一次解密后),使用密钥组合(交易处理方/发行方)对数据进行加密,从而向发行方提供对交易信息或其它交易数据的访问。
现在参考图5,图5是用于安全密钥管理的过程500的非限制性实施例或方面的流程图。在一些非限制性实施例或方面,用于安全密钥管理的过程500的一个或多个步骤可以(例如,完全地、部分地等)由均经由网络520连接的交易服务提供商系统502(例如,交易服务提供商系统502的一个或多个装置)、收单方系统504(例如,收单方系统504的一个或多个装置)、商家系统506(例如,商家系统506的一个或多个装置)、POS装置508(例如,POS装置508的一个或多个装置)、发行方系统510(例如,发行方系统510的一个或多个装置)或远程数据存储服务提供商系统512(例如,远程数据存储服务提供商系统512的一个或多个装置)执行。
在图5中,交易服务提供商系统502(例如,连接到远程数据存储服务的交易处理方等)在发行方系统510(例如,发行方处理器)与收单方系统504(例如,收单方处理器等)之间耦合,以促进来自POS装置508的消费者账户与商家系统506的商家账户之间的交易的授权和结算。交易处理方将交易记录在远程数据存储装置中。服务(例如,门户接口耦合到数据仓库,以基于交易记录提供信息,例如交易配置文件、汇总的支出配置文件、优惠兑换通知等)。门户可以实施为门户网站、电话网关、文件/数据服务器等。
在一些非限制性实施例或方面,交易处理方从商家系统接收具有经由网关发送的支付卡信息的交易。交易服务提供商系统502确定完成交易所需的信息的类型和种类,并且密钥与发行方系统510(例如,发行银行等)交换。在此示例中,不需要在POS装置508、交易服务提供商系统502、收单方系统504和发行方系统510之间发送多个消息,POS装置508包括MPC,所述MPC用不对称密钥加密并发送到包括HSM的收单方系统504。
在一些非限制性实施例或方面,商家系统506和收单方系统504与来自多个交易的多个装置共享MPC,并且通过使用共享HSM在远程数据存储库中访问其交易数据来减少对HSM的需要。当对静态数据使用KEK时或在KMS中,用托管的交易服务提供商系统502的公钥封装KEK,并且没有以明文形式暴露一个密钥或多个密钥的风险,KEK可以从前端的软件移除HSM,交易服务提供商系统502在具有两个MPC的MPC节点中接收所述HSM,对其进行解包和使用以将其移动到可与发行方系统510共享的不同数据库中。
在一些非限制性实施例或方面,商家和发行方使用的MPC将具有两个单独的节点。交易可通过交易服务提供商系统502的安全密码处理器516的软件定义的MPC(例如,交易处理方的HSM)来自商家系统506。在一个示例中,交易包括个人标识码块,交易服务提供商系统502提供第二MPC以对个人标识码块进行解密,而在商家系统506的情况下提供第一MPC,所述个人标识码块接着可用另一密钥加密并将其向下发送到发行方系统510。然后,商家系统506可以使用MPC进行解密并发送回响应。
MPC服务器的多个实例是可用的,并且在一些非限制性实施例或方面,可以具有多于一个实例,使得当使用服务器的多个实例(例如,预定数量的MPC服务器实例)时,考虑仲裁集。拥有仲裁集不需要服务器的多个实例与原办事处进行通信。仲裁集可能会取消原办事处。
当原办事处在外国时,原办事处的MPC服务器的实例可能被拒通信,从而实际上将数据无限期置于受保护状态。例如,最初为包括外国数据中心在内的多个主机托管密钥中心提供的密钥管理服务,在主机托管受到威胁时被拒绝提供给外国数据中心,以在确定威胁时使数据无法访问,从而保护数据。国内处理可以使事情分开,同时使用MPC来回发送加密数据。在此示例中,本地MPC对一部分进行加密,然后全球数据中心对其余部分进行解密。如果使用服务器的多个实例,则可能只需要3个实例中的2个来对国内数据进行解密,或者,取决于要求和风险,对其它比率的服务器实例或配置进行解密。
远程数据存储服务208被配置成基于第一实体的预定数量的MPC响应进行解密。远程数据存储服务208被配置成将一个或多个MPC请求发送到与实体系统204相关联的多个MPC服务器(例如,实例、虚拟副本等)。因此,提高了安全措施的准确性,并且减少了安全密钥的计算和暴露次数。
在一些非限制性实施例或方面,远程数据存储服务208在从多个MPC服务器接收到一个或多个MPC响应之后确定MPC,其中基于接收到的MPC响应满足预定数量的MPC响应对存储的加密数据进行解密。
在一些非限制性实施例或方面,至少部分地基于已由第二服务器生成的第二MPC响应对存储的加密数据进行解密,所述第二服务器由控制交易终端、发行方银行或收单方银行、商家、交易处理方的实体控制,所述实体被配置成生成和发送第二MPC响应。
现在参考图6,图6是用于移除用实体的MPC加密的数据存储库的过程600的非限制性实施例或方面的流程图。在一些非限制性实施例或方面,用于移除数据储存库的过程600的一个或多个步骤可以(例如,完全地、部分地等)由云提供商系统602(例如,云提供商系统602的一个或多个装置)、第一实体系统604(例如,第一实体系统604的一个或多个装置)、通信网络606(例如,通信网络606的一个或多个装置)、远程数据存储服务608(例如,远程数据存储服务608的一个或多个装置)、主密钥610(例如,主密钥610的一个或多个装置)、MPC服务器云实例612(例如,MPC服务器云实例612的一个或多个装置)、MPC服务器第一本地实例614(例如,MPC服务器第一本地实例614的一个或多个装置)和安全密码处理器616(例如,安全密码处理器616的一个或多个装置)执行。
在一些非限制性实施例或方面,第一实体确定防止远程数据存储服务608对第一实体的存储的加密数据进行解密。如图6所示,第一实体系统604否认(即,停止传达MPC响应等)MPC请求/响应连接。这可以在数据移动的同时发生,或者可以阻止连接以停止传达MPC请求和MPC响应。
拒绝可以阻止来自远程数据存储服务608的后续MPC请求、对远程数据存储服务608的后续MPC响应,或远程数据存储服务608与第一实体系统604的MPC服务器之间的连接中的至少一个。因此,可能无法访问DEK,计算也未完成或无法有效地解密整个DEK。
在一些非限制性实施例或方面,当与HSM绑定时,MPC提供高效且有效的手段以允许实体关闭节点,从而阻止在云提供商中执行密码功能,因为云提供商无法到达HSM。在此示例中,实体系统604接收技术保证,即云提供商系统602除非具有密钥的VISA部分,否则无法访问数据,同时减少所需的计算和通信次数。因此,提高了安全措施的有效性,并且减少了安全密钥的计算和暴露次数。
尽管已出于说明的目的基于当前被视为最实用和优选的实施例详细地描述了以上系统、方法和计算机程序产品,但应理解,此类细节仅用于所述目的,并且本公开不限于所描述实施例,相反,本公开旨在涵盖属于所附权利要求书的精神和范围内的修改和等效布置。例如,应理解,本公开预期,尽可能地,任何实施例的一个或多个特征可以与任何其它实施例的一个或多个特征组合。
Claims (42)
1.一种计算机实施的方法,包括:
由远程数据存储服务接收对由所述远程数据存储服务存储为加密数据的数据的请求,所述请求由第一实体发起;
向由所述第一实体控制的第一多方计算(MPC)服务器发送MPC请求;
从所述第一MPC服务器接收MPC响应,所述MPC响应包括由安全密码处理器生成的机密;以及
由所述远程数据存储服务至少部分地基于所述MPC响应对存储的加密数据进行解密。
2.根据权利要求1所述的计算机实施的方法,还包括:
从由所述远程数据存储服务控制的第二MPC服务器接收第二MPC响应,其中至少部分地基于所述第二MPC响应对所述存储的加密数据进行解密。
3.根据权利要求2所述的计算机实施的方法,其中响应于接收到所述第二MPC响应而将所述MPC请求发送到所述第一MPC服务器。
4.根据权利要求3所述的计算机实施的方法,其中由所述第二MPC服务器将所述MPC请求发送到所述第一MPC服务器。
5.根据权利要求2所述的计算机实施的方法,其中所述存储的加密数据包括主密钥,所述主密钥通过基于所述MPC响应和所述第二MPC响应用派生密钥对所述存储的加密数据进行解密来确定,以确定所述远程数据存储服务中与所述第一实体相关联的所述主密钥。
6.根据权利要求1所述的计算机实施的方法,其中在不揭露关于所述MPC请求或所述MPC响应的任何信息的情况下,在预定时段内对所述存储的加密数据进行解密,并且其中所述MPC响应被配置成在不超过所述预定时段的时段内保持活动以使暴露减到最少。
7.根据权利要求1所述的计算机实施的方法,其中所述机密包括密钥、代码、令牌、个人标识码、计算或密码,并且所述方法还包括从由交易终端、发行方银行或收单方银行中的一个控制的第二MPC服务器接收第二MPC响应,其中至少部分地基于所述第二MPC响应对所述存储的加密数据进行解密。
8.根据权利要求1所述的计算机实施的方法,其中所述远程数据存储服务被配置成基于所述第一实体的预定数量的MPC响应进行解密,其中所述方法还包括:
将一个或多个MPC请求发送到与所述第一实体相关联的多个MPC服务器;以及
在从所述多个MPC服务器接收到一个或多个MPC响应之后确定MPC,其中基于接收到的MPC响应满足所述预定数量的MPC响应对所述存储的加密数据进行解密。
9.根据权利要求1所述的计算机实施的方法,还包括:
由所述第一实体确定是否防止所述远程数据存储服务对所述第一实体的所述存储的加密数据进行解密;以及
阻止来自所述远程数据存储服务的后续MPC请求、对所述远程数据存储服务的后续MPC响应或所述远程数据存储服务与所述第一实体的MPC服务器之间的连接中的至少一个以防止解密。
10.根据权利要求1所述的计算机实施的方法,其中在所述安全密码处理器生成所述机密时用基于瞬态密钥的瞬态加密层封装所述机密。
11.一种用于安全密钥管理的系统,包括:
至少一个处理器,其被编程或配置成:
由远程数据存储服务接收对由所述远程数据存储服务存储为加密数据的数据的请求,所述请求由第一实体发起;
向由所述第一实体控制的第一多方计算(MPC)服务器发送MPC请求;
从所述第一MPC服务器接收MPC响应,所述MPC响应至少包括由安全密码处理器生成的机密;以及
由所述远程数据存储服务至少部分地基于所述MPC响应对存储的加密数据进行解密。
12.根据权利要求11所述的用于安全密钥管理的系统,其中所述至少一个处理器还被编程或配置成:
从由所述远程数据存储服务控制的第二MPC服务器接收第二MPC响应,其中至少部分地基于所述第二MPC响应对所述存储的加密数据进行解密。
13.根据权利要求12所述的用于安全密钥管理的系统,其中响应于接收到所述第二MPC响应而将所述MPC请求发送到所述第一MPC服务器。
14.根据权利要求13所述的用于安全密钥管理的系统,其中由所述第二MPC服务器将所述MPC请求发送到所述第一MPC服务器。
15.根据权利要求12所述的用于安全密钥管理的系统,其中所述存储的加密数据包括主密钥,所述主密钥通过所述至少一个处理器基于所述MPC响应和所述第二MPC响应用派生密钥对所述存储的加密数据进行解密来确定,以确定所述远程数据存储服务中与所述第一实体相关联的主密钥。
16.根据权利要求11所述的用于安全密钥管理的系统,其中在不揭露关于所述MPC请求或所述MPC响应的任何信息的情况下,在预定时段内对所述存储的加密数据进行解密,并且其中所述MPC响应被配置成在不超过所述预定时段的时段内保持活动以使暴露减到最少。
17.根据权利要求11所述的用于安全密钥管理的系统,其中所述机密包括密钥、代码、令牌、个人标识码、计算或密码,并且所述系统还被配置成从由交易终端、发行方银行或收单方银行中的一个控制的第二MPC服务器接收第二MPC响应,其中至少部分地基于所述第二MPC响应对所述存储的加密数据进行解密。
18.根据权利要求11所述的用于安全密钥管理的系统,还包括所述第一MPC服务器,所述第一MPC服务器包括硬件安全模块,所述硬件安全模块被配置成在安全密码处理器中生成所述MPC响应。
19.根据权利要求11所述的用于安全密钥管理的系统,其中所述远程数据存储服务被配置成基于所述第一实体的预定数量的MPC响应进行解密,其中所述至少一个处理器还被编程或配置成:
将一个或多个MPC请求发送到与所述第一实体相关联的多个MPC服务器;以及
在从所述多个MPC服务器接收到一个或多个MPC响应之后确定MPC,其中基于接收到的MPC响应满足所述预定数量的MPC响应对所述存储的加密数据进行解密。
20.根据权利要求11所述的用于安全密钥管理的系统,其中所述至少一个处理器还被编程或配置成:
由所述第一实体确定是否防止所述远程数据存储服务对所述第一实体的所述存储的加密数据进行解密;以及
阻止来自所述远程数据存储服务的后续MPC请求、对所述远程数据存储服务的后续MPC响应或所述远程数据存储服务与所述第一实体的MPC服务器之间的连接中的至少一个。
21.根据权利要求11所述的用于安全密钥管理的系统,其中在所述安全密码处理器生成所述机密时用基于瞬态密钥的瞬态加密层封装所述机密。
22.根据权利要求11所述的用于安全密钥管理的系统,其中所述远程数据存储服务被配置成基于来自销售点(POS)终端的MPC服务器、发行方银行的MPC服务器、交易处理方的MPC服务器或收单方银行的MPC服务器的预定数量的MPC响应进行解密。
23.一种系统,包括:
(a)在数据存储服务的控制下的至少一个服务器计算机,所述至少一个服务器计算机与包括与实体相关联的加密数据的至少一个数据存储装置通信;
(b)与所述至少一个服务器计算机通信的第一多方计算(MPC)服务器计算机,所述第一MPC服务器计算机在所述数据存储服务的控制下,所述第一MPC服务器计算机被编程或配置成:(i)从所述至少一个服务器计算机接收第一MPC请求,(ii)基于所述第一MPC请求生成第一MPC响应,所述第一MPC响应包括由安全密码处理器生成的机密,以及(iii)将所述第一MPC响应发送到所述至少一个服务器计算机;以及
(c)与所述至少一个服务器计算机通信的第二MPC服务器计算机,所述第二MPC服务器计算机在所述实体的控制下并且不受所述数据存储服务控制,所述第二MPC服务器计算机被编程或配置成:(i)从所述至少一个服务器计算机或所述第一MPC服务器计算机接收第二MPC请求,(ii)基于所述第二MPC请求生成第二MPC响应,以及(iii)将所述第二MPC响应发送到所述至少一个服务器计算机,
其中所述至少一个服务器计算机被编程或配置成至少部分地基于所述第一MPC响应和所述第二MPC响应对所述加密数据进行解密。
24.根据权利要求23所述的系统,其中所述存储的加密数据包括主密钥,所述主密钥通过所述至少一个服务器计算机基于所述第一MPC响应和所述第二MPC响应用派生密钥对所述存储的加密数据进行解密来确定,以确定与所述实体相关联的所述主密钥。
25.根据权利要求24所述的系统,其中在不揭露关于所述第一MPC请求或所述第一MPC响应的任何信息的情况下,在预定时段内对所述存储的加密数据进行解密,并且其中所述第一MPC响应被配置成在不超过所述预定时段的时段内保持活动以使暴露减到最少。
26.根据权利要求24所述的系统,还包括由交易终端、发行方银行或收单方银行中的一个控制的第三MPC服务器,其中所述至少一个计算机还被配置成从所述第三MPC服务器接收第三MPC响应,并且其中至少部分地基于所述第三MPC响应对所述存储的加密数据进行解密。
27.根据权利要求23所述的系统,其中所述第一MPC服务器包括硬件安全模块,所述硬件安全模块被配置成在安全密码处理器中生成所述MPC响应。
28.根据权利要求23所述的系统,其中所述至少一个服务器计算机被配置成基于所述实体的预定数量的MPC响应进行解密,并且其中所述至少一个服务器计算机还被编程或配置成:
将一个或多个MPC请求发送到与所述实体相关联的多个MPC服务器计算机;以及
在从所述多个MPC服务器计算机接收到一个或多个MPC响应之后确定MPC,其中基于接收到的MPC响应满足所述预定数量的MPC响应对所述加密数据进行解密。
29.根据权利要求23所述的系统,其中所述第二MPC服务器计算机还被编程或配置成:
确定是否防止所述数据存储服务对所述实体的所述存储的加密数据进行解密;以及
阻止来自所述数据存储服务的后续MPC请求、对所述数据存储服务的后续MPC响应或所述数据存储服务与所述实体的MPC服务器计算机之间的连接中的至少一个以防止解密。
30.根据权利要求23所述的系统,其中在所述安全密码处理器生成所述机密时用基于瞬态密钥的瞬态加密层封装所述机密。
31.一种用于安全密钥管理的计算机程序产品,包括至少一个非瞬态计算机可读介质,所述至少一个非瞬态计算机可读介质包括一个或多个指令,所述指令在由至少一个处理器执行时使得所述至少一个处理器进行以下操作:
由远程数据存储服务接收对由所述远程数据存储服务存储为加密数据的数据的请求,所述请求由第一实体发起;
向由所述第一实体控制的第一多方计算(MPC)服务器发送MPC请求;
从所述第一MPC服务器接收MPC响应,所述MPC响应包括由安全密码处理器生成的机密;以及
由所述远程数据存储服务至少部分地基于所述MPC响应对存储的加密数据进行解密。
32.根据权利要求31所述的用于安全密钥管理的计算机程序产品,其中所述至少一个处理器还被编程或配置成:
从由所述远程数据存储服务控制的第二MPC服务器接收第二MPC响应,其中至少部分地基于所述第二MPC响应对所述存储的加密数据进行解密。
33.根据权利要求32所述的用于安全密钥管理的计算机程序产品,其中响应于接收到所述第二MPC响应而将所述MPC请求发送到所述第一MPC服务器。
34.根据权利要求33所述的用于安全密钥管理的计算机程序产品,其中由所述第二MPC服务器将所述MPC请求发送到所述第一MPC服务器。
35.根据权利要求32所述的用于安全密钥管理的计算机程序产品,其中所述存储的加密数据包括主密钥,所述主密钥通过所述至少一个处理器基于所述MPC响应和所述第二MPC响应用派生密钥对所述存储的加密数据进行解密来确定,以确定所述远程数据存储服务中与所述第一实体相关联的主密钥。
36.根据权利要求31所述的用于安全密钥管理的计算机程序产品,其中在不揭露关于所述MPC请求或所述MPC响应的任何信息的情况下,在预定时段内对所述存储的加密数据进行解密,并且其中所述MPC响应被配置成在不超过所述预定时段的时段内保持活动以使暴露减到最少。
37.根据权利要求31所述的用于安全密钥管理的计算机程序产品,其中所述机密包括密钥、代码、令牌、个人标识码、计算或密码,并且所述计算机程序产品还被配置成从由交易终端、发行方银行或收单方银行中的一个控制的第二MPC服务器接收第二MPC响应,其中至少部分地基于所述第二MPC响应对所述存储的加密数据进行解密。
38.根据权利要求31所述的用于安全密钥管理的计算机程序产品,还包括所述第一MPC服务器,所述第一MPC服务器包括硬件安全模块,所述硬件安全模块被配置成在安全密码处理器中生成所述MPC响应。
39.根据权利要求31所述的用于安全密钥管理的计算机程序产品,其中所述远程数据存储服务被配置成基于所述第一实体的预定数量的MPC响应进行解密,其中所述至少一个处理器还被编程或配置成:
将一个或多个MPC请求发送到与所述第一实体相关联的多个MPC服务器;以及
在从所述多个MPC服务器接收到一个或多个MPC响应之后确定MPC,其中基于接收到的MPC响应满足所述预定数量的MPC响应对所述存储的加密数据进行解密。
40.根据权利要求31所述的用于安全密钥管理的计算机程序产品,其中所述至少一个处理器还被编程或配置成:
由所述第一实体确定是否防止所述远程数据存储服务对所述第一实体的所述存储的加密数据进行解密;以及
阻止来自所述远程数据存储服务的后续MPC请求、对所述远程数据存储服务的后续MPC响应或所述远程数据存储服务与所述第一实体的MPC服务器之间的连接中的至少一个。
41.根据权利要求31所述的用于安全密钥管理的计算机程序产品,其中在所述安全密码处理器生成所述机密时用基于瞬态密钥的瞬态加密层封装所述机密。
42.根据权利要求31所述的用于安全密钥管理的计算机程序产品,其中所述远程数据存储服务被配置成基于来自销售点(POS)终端的MPC服务器、发行方银行的MPC服务器、交易处理方的MPC服务器或收单方银行的MPC服务器的预定数量的MPC响应进行解密。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962904006P | 2019-09-23 | 2019-09-23 | |
US62/904,006 | 2019-09-23 | ||
PCT/US2020/052147 WO2021061724A1 (en) | 2019-09-23 | 2020-09-23 | System, method, and computer program product for secure key management |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114641772A true CN114641772A (zh) | 2022-06-17 |
Family
ID=75166406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080066631.7A Pending CN114641772A (zh) | 2019-09-23 | 2020-09-23 | 用于安全密钥管理的系统、方法和计算机程序产品 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220374885A1 (zh) |
EP (1) | EP4035044A4 (zh) |
CN (1) | CN114641772A (zh) |
WO (1) | WO2021061724A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220407685A1 (en) * | 2021-06-21 | 2022-12-22 | Vmware, Inc. | Encryption in a distributed storage system utilizing cluster-wide encryption keys |
CN115085925B (zh) * | 2022-08-19 | 2022-12-20 | 广州万协通信息技术有限公司 | 密钥信息组合加密的安全芯片处理方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9225530B2 (en) * | 2013-10-21 | 2015-12-29 | Microsoft Technology Licensing, Llc | Secure crypto-processor certification |
US9531677B1 (en) * | 2014-05-07 | 2016-12-27 | Skyport Systems, Inc. | Method and system for managing network access |
CN106797311B (zh) * | 2014-08-29 | 2020-07-14 | 维萨国际服务协会 | 用于安全密码生成的系统、方法和存储介质 |
US10482263B2 (en) * | 2015-04-01 | 2019-11-19 | Microsoft Technology Licensing, Llc | Computing on encrypted data using deferred evaluation |
EP3384424A4 (en) | 2015-12-03 | 2019-07-24 | Unbound Tech Ltd | SECURITY OF SQL-BASED DATABASES WITH CRYPTOGRAPHIC PROTOCOLS |
GB2538022B (en) * | 2016-08-20 | 2018-07-11 | PQ Solutions Ltd | Multiple secrets in quorum based data processing |
ES2855164T3 (es) * | 2017-02-08 | 2021-09-23 | Nokia Solutions & Networks Oy | Mejora de la integridad de la información específica de un centro de datos |
US12067129B2 (en) * | 2017-06-23 | 2024-08-20 | Flytxt B.V. | Privacy preserving computation protocol for data analytics |
US10887085B2 (en) * | 2018-01-15 | 2021-01-05 | Unbound Tech Ltd. | System and method for controlling usage of cryptographic keys |
WO2020023132A1 (en) * | 2018-07-27 | 2020-01-30 | Hrl Laboratories, Llc | System and method to protect data privacy of lightweight devices using blockchain and multi-party computation |
CN109241016B (zh) * | 2018-08-14 | 2020-07-07 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
-
2020
- 2020-09-23 EP EP20868001.7A patent/EP4035044A4/en active Pending
- 2020-09-23 US US17/761,226 patent/US20220374885A1/en active Pending
- 2020-09-23 WO PCT/US2020/052147 patent/WO2021061724A1/en unknown
- 2020-09-23 CN CN202080066631.7A patent/CN114641772A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220374885A1 (en) | 2022-11-24 |
EP4035044A1 (en) | 2022-08-03 |
EP4035044A4 (en) | 2022-10-26 |
WO2021061724A1 (en) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11068608B2 (en) | Mutual authentication of software layers | |
US20220116745A1 (en) | Methods and systems for asset obfuscation | |
US11139985B2 (en) | Receiving information through a zero-knowledge data management network | |
US12010224B2 (en) | Systems and methods for quantum entanglement random number generation | |
US12073300B2 (en) | Systems and methods for post-quantum cryptography optimization | |
US20160294794A1 (en) | Security System For Data Communications Including Key Management And Privacy | |
JP2023535013A (ja) | 量子安全支払いシステム | |
AU2015249057B2 (en) | Method and system for secure order management system data encryption, decryption, and segmentation | |
US9686251B2 (en) | Devices and techniques for controlling disclosure of sensitive information | |
US12069186B2 (en) | Systems and methods for post-quantum cryptography optimization | |
US11677738B1 (en) | Systems and methods for quantum consensus | |
CN113316765B (zh) | 用于网络绑定代理重新加密和pin转换的方法、系统和计算机程序产品 | |
US11356247B1 (en) | Systems and methods for quantum one-time pad generation | |
US11533175B1 (en) | Systems and methods for post-quantum cryptography on a smartcard | |
US20240323003A1 (en) | Systems and methods for quantum entanglement authentication | |
US20230283463A1 (en) | Accessing encrypted information with a trusted device | |
US20220374885A1 (en) | System, method, and computer program product for secure key management | |
US11663510B1 (en) | Systems and methods for quantum one-time pad generation | |
WO2024026428A1 (en) | Digital identity allocation, assignment, and management | |
Azam | Symmetric Key Management for Mobile Financial Applications: A Key Hierarchy Approach | |
CA3122238A1 (en) | A zero-knowledge data management network | |
Ray | Security in Internet Commerce |
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 |