CN108370315A - 带加密的安全计算机集群 - Google Patents

带加密的安全计算机集群 Download PDF

Info

Publication number
CN108370315A
CN108370315A CN201680068313.8A CN201680068313A CN108370315A CN 108370315 A CN108370315 A CN 108370315A CN 201680068313 A CN201680068313 A CN 201680068313A CN 108370315 A CN108370315 A CN 108370315A
Authority
CN
China
Prior art keywords
encryption
key
file
data
hadoop
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680068313.8A
Other languages
English (en)
Other versions
CN108370315B (zh
Inventor
T·孙
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.)
Mastercard International Inc
Original Assignee
Mastercard International Inc
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 Mastercard International Inc filed Critical Mastercard International Inc
Publication of CN108370315A publication Critical patent/CN108370315A/zh
Application granted granted Critical
Publication of CN108370315B publication Critical patent/CN108370315B/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/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/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network 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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Abstract

提供了用于实施带加密的安全计算系统的系统和方法,包括具有一组加密区域的文件系统。每个加密区域包含加密数据文件。安全计算系统还包括一组加密的数据加密密钥,其中的每一个对应于加密数据文件中的一个,使得加密的数据加密密钥的未加密版本解密对应的加密的数据文件。进一步,安全计算系统包括用于每个加密区域的加密区域密钥。每个加密区域密钥对应于加密的数据加密密钥中的至少一个,使得加密区域密钥来解密对应的加密的数据加密密钥,以生成加密的数据加密密钥的未加密版本。因此,安全计算系统的各种实施方式可以符合用于敏感数据的一个或多个信息安全标准。

Description

带加密的安全计算机集群
相关申请的交叉引用
本申请要求于2015年9月22日提交的美国申请序列号14/861,039的优先权和权益,其全部内容通过引用合并于此。
技术领域
本公开一般地涉及数据安全。更具体地,本公开针对用于在处理敏感信息的计算环境中提供带加密的安全计算机集群的系统、方法和设备,并且在一些方面针对具有静态和动态数据的加密并且符合一个或多个专有信息安全标准的安全计算机集群。
背景技术
在计算应用程序中生成的数据集(例如,商业智能和其他应用程序中使用的数据集)已经在规模和复杂性上增长了一段时间。同时,越来越多的具有敏感性质的数据通过网络传递和/或使用远程服务器存储或计算/处理。举例来说,使用支付卡进行大范围的无现金交易已经在当前的经济中无处不在,核计每年交易数千亿美元。作为支付卡网络运营商的一个示例,万事达卡国际公司在大约230个国家每小时处理数百万笔交易。涉及使用支付卡的方面通常包括使用支付卡的支付者/消费者的认证,以及基于支付者/消费者的银行账户中的可用资金的交易授权。在该无现金交易过程中,大量的交易数据(其中一些被认为是敏感的财务数据)通常快速地生成和收集。涉及具有高容量、多样性、生成/处理/传输速度、可变性和复杂性的数据的环境或应用程序的其它示例(通常称为“大数据”)包括医疗记录、零售、政府数据库等。
在这些类型的应用程序以及其中生成、收集、处理、可由各种客户端访问敏感信息等的其它应用程序中,可能经常期望在具有安全协议的安全系统中存储、传输、处理这种数据等。这种协议的安全基准的一个示例存在于支付卡设置中,并且被称为支付卡行业(“PCI”)数据安全标准。创建PCI标准以增加与持卡人信息有关的控制和安全协议(例如,以减少信用卡欺诈)。安全基准等的其它示例可以包括与健康保险携带和责任法案(“HIPAA”)相关联的安全要求。许多政府数据库和计算应用程序也处理敏感信息,并且因此在各种情况下可能需要满足与数据的安全和加密相关的一些最低要求。
然而,用于大规模(例如,大数据)应用程序的传统计算系统不符合典型的安全协议(例如,上述类型的应用程序)。举例来说,已经设计并实施了网络来为大数据应用程序(例如社交媒体、其他商业智能应用程序等)提供并行计算等,其中数据指数增长并且往往难以及时(即,迅速)地以结构化的方式收集。虽然Hadoop网络的并行、快速和可扩展性质可用于汇总和组织大型数据集,但这些类型的网络通常缺乏足够的安全措施以能经受例如上述的那些应用程序,其中敏感数据存在问题,因此需要实施保护和安全措施。由于为大数据应用程序设计的现有大规模计算(例如,类Hadoop)网络不能提供足够的安全和/或加密能力,因此当前使用不适用于大数据和类似应用程序的架构来实现安全网络。
发明内容
鉴于传统计算和数据库解决方案中的上述缺陷,在处理敏感信息的计算网络(例如,Hadoop环境等)中-并且特别是在那些在大数据集上实现并用于即时可动作应用程序(例如,大数据或商业智能)-存在为数据存储、更新、访问和/或检索过程的方面提供一些安全和/或加密技术的需要。具体而言,存在可扩展、快速且高度并行的网络的需要,一方面能够收集大量的数据(例如,如在支付交易过程中生成的),而另一方面,也足够安全以满足对于数据隐私、安全等的任何市场、法规或其他需求。就此而言,本公开的实施例包括能够提供数据(例如,静态和动态数据)的加密的系统、方法和设备,包括例如在处理敏感信息和/或符合专有信息安全标准的计算环境中。
本公开的实施例包括一种具有静态和动态加密的安全计算系统。该系统包括文件系统,其相应地包括一组加密区域。每个加密区域包括加密文件。该系统还包括一组加密的数据加密密钥。每个加密的数据加密密钥对应于加密文件中的一个。以这种方式,加密的数据加密密钥的未加密版本解密对应的加密文件。进一步,该系统包括加密区域密钥,用于每个加密区域。每个加密区域密钥对应于加密的数据加密密钥中的至少一个,使得加密区域密钥解密对应的加密的数据加密密钥,以生成加密的数据加密密钥的未加密版本。在其他实施例中,安全计算系统包括在文件系统外部并且存储加密的数据加密密钥的节点。在进一步的实施例中,安全计算系统还包括存储加密区域密钥中的至少一些的硬件安全模块。
在示例实施方式中,安全计算系统包括耦接到文件系统并处理对加密区域密钥中的一个或多个的请求的密钥管理服务。进一步对于该示例实施方式,该系统可以包括耦接到密钥管理服务并且存储加密区域密钥的密钥服务器。密钥管理服务使用第一相互安全套接字层耦接到文件系统,并且密钥服务器使用第二相互安全套接字层耦接到密钥管理服务。在另一示例部署中,密钥管理服务用于第一实况模式,并且安全计算系统进一步包括用于第一待机模式的复制密钥管理服务。进一步对于该部署,密钥服务器包括以下内容:(1)用于第二实况模式的密钥托管服务器;(2)用于第二待机模式的复制密钥托管服务器;(3)用于第三实况模式的硬件安全模块;和/或(4)用于第三待机模式的复制硬件安全模块。
另外,该系统还可以包括耦接到利用文件系统的计算机集群的活动目录。活动目录可以使用第三相互安全套接字层耦接到计算机集群,使得活动目录向客户端提供证书,以使得客户端能够使用证书经由第四相互安全套接字层来访问计算机集群。在另一个部署中,计算机集群是Hadoop集群,并且通过使用加密区域密钥、加密的数据加密密钥、第一、第二、第三和第四相互安全套接字层以及通过使用许可和授权,Hadoop集群的安全超出了遵从支付卡行业数据安全标准的需要。
本公开的各方面还包括一种用于在Hadoop计算机集群中存储和处理数据的方法。该方法包括使用特定于文件的数据加密密钥从文件生成加密文件。该方法还包括将加密的数据文件存储在Hadoop计算机集群的文件系统内的加密区域中。此外,该方法包括使用特定于加密区域的加密区域密钥从数据加密密钥生成加密的数据加密密钥。该方法进一步包括将加密的数据加密密钥存储在文件系统外部的节点中。
在本公开的实施例中,该方法包括使用加密区域密钥对加密的数据加密密钥进行解密,从而生成数据加密密钥;并且使用数据加密密钥对加密文件进行解密。该方法还可以包括将加密区域密钥存储在密钥托管服务器和硬件安全模块中的至少一个中;并且基于加密区域的特征和行业符合标准中的一个或多个轮换加密区域密钥。在一个或多个部署中,该方法包括从客户端接收访问加密文件的请求;并且响应于请求,发送特定于存储加密文件的加密区域的加密区域密钥和加密文件。使用相互SSL来完成发送加密文件。另外,该方法可以包括验证客户端具有许可并且被授权按照请求访问文件。进一步的实施例可以涉及将数据加密密钥存储在Hadoop计算机集群外部的方法。
在一些实施例中,本公开包括具有Hadoop分布式文件系统(“HDFS”)的Hadoop集群。HDFS使用相互SSL分别耦接到Hadoop服务和密钥服务器。HDFS还包括一组加密区域,每个加密区域存储加密文件。而且,Hadoop集群包含节点,其转而包括一组加密的数据加密密钥,每个加密的数据加密密钥对于加密文件中的一个是特定的。Hadoop集群还包括密钥服务器,其上存储有一组加密区域密钥。每个加密区域密钥对应于加密区域中的一个。对于每个加密区域,对应的加密区域密钥解密特定于存储在加密区域中的加密文件的加密的数据加密密钥。
在Hadoop集群的示例实施方式中,客户端使用相互SSL连接到Hadoop集群。进一步,Hadoop服务包括操作系统、数据仓库、执行引擎、作业流调度器、查询引擎、接口聚合器和搜索平台中的一个或多个;并且每个Hadoop服务都可以启用相互SSL。在一个实施例中,加密文件包括持卡人数据和/或医疗记录数据。另外,在示例部署中,密钥服务器使用相互SSL耦接到HDFS;并且密钥服务器接收用于访问存储在密钥服务器上的加密区域密钥的代理客户端请求。
附图说明
结合附图阅读下面描述的各种公开的实施例的详细描述后,本公开的其它方面将更容易理解。
图1示出结合本公开的各种实施例的实施方式提供的示例支付卡交易处理系统。
图2示出了其中可以实现本公开的各种实施例的示例计算系统。
图3示出了其中可以实现本公开的各种实施例的另一示例计算系统。
图4是示出根据本公开的各种实施例的可以执行以存储和处理数据的各种操作的示例流程图。
图5是示出根据本公开的附加实施例的可以执行以存储和处理数据的各种操作的示例流程图。
图6示出了可以用于实现本公开的各种实施例的特征的示例计算模块。
在下面的描述和示例中更详细地描述了附图,其仅用于说明的目的提供,并且仅描绘本公开的典型或示例实施例。这些附图并非旨在穷举或将本公开限制为公开的确切形式。还应该理解的是,本公开可以在修改或变更的情况下实施,并且本公开可以仅由权利要求及其等同物限制。
具体实施方式
本公开的实施例针对能够提供带有对例如静态和动态数据的加密并且例如包括在计算环境中的安全计算机集群的系统、方法和设备,所述计算环境诸如处理敏感信息并且可以受到行业安全标准和/或协议的约束的支付和其它网络。在下面的描述中阐述了本公开的系统、方法和设备的一些示例实施例的细节。在阅读本说明书、附图、示例和权利要求后,本公开的其它特征、目的和优点对于本领域技术人员将显而易见。旨在将所有这些附加系统、方法、特征和优点包括在本说明书内、在本公开的范围内并且由一个或多个所附权利要求保护。
本公开包括处理敏感信息的计算网络(例如,Hadoop环境等)。一些实施例包括在大型数据集上实现并用于即时可操作应用程序(例如,大数据)的这样的计算机网络,以及为数据存储、更新、访问和检索过程提供安全和/或加密技术的这样的计算机网络。因此,根据本公开的实施例,无论敏感数据是动态的还是静态的,数据可以例如至少通过应用程序分层加密密钥的组合和/或使用用于在网络/计算机系统内或从其外部传输数据的相互SSL来保护。在进一步的情况下,还会执行授权和许可验证以提供额外的安全层。
由于本公开的情况涉及电子交易处理以及由此生成和收集的数据,因此以下描述提供了用于本文描述的各种实施例的相关环境。例如,图1描绘了示例支付卡交易处理系统100,其可以结合本公开的系统、方法和设备的实施例进行操作。基于卡的支付(包括电子支付)的交易处理可以包括授权方和清算方两者。系统100描述了基于卡的支付交易的授权方和清算方两者。
授权方可以涉及确认持卡人(或购买人)具有足够的信用额度来支付物品的提出的付款的过程。交易的清算方可以涉及(支付卡的)发行银行114与收单(或商家)银行110之间的对账-例如,确定发行银行114欠收单银行110的金额,反之亦然。稍后,通常基于清算过程,可以在发行银行114与收单/商家银行110之间交换资金。
在典型的基于卡的支付系统交易(或购买交易)中,购买人102向商家106出示支付机制104(其在各种实施例中是信用卡/借记卡/预付卡)以购买物品。该购买交易由箭头124指示。该物品可以是商品和/或服务。如本文中所使用的“支付机制”104或“支付卡”还可以指传统的磁条信用卡或借记卡或类似的具有近场通信(NFC)能力的邻近支付设备(单独使用或结合到另一个设备中,例如移动电话、个人数字助理(PDA)等),例如其中实施的射频识别(RFID)芯片。“支付机制”104或“支付卡”还可以进一步指虚拟或限制使用的账号和电子钱包等,例如可用于在线交易中。
本领域普通技术人员将理解,在发生这种交易之前,发行银行122向购买人102发行支付机制104。每个支付机制104通常与购买人102的账户相关联,无论购买人102是个人或某个其它实体。类似地,使用支付机制104输入的每个交易与账户相关联。就此而言,对于每个购买交易,支付网络112通过将每个交易与对应的账户相关联来处理账户交易,如下面详细描述的。定期地,随着支付网络112收集和处理账户交易,与这些交易相关联的信息被存储和分类,以便随后可以根据需要对其进行分析、分散等。
此外,应该理解的是,商家106已经与收单银行110建立了关系,从而允许商家106接收支付机制104(例如,信用卡/借记卡)作为物品的支付。也就是说,收单/商家银行(例如,110)和发行银行(例如,114)可以参与各种支付网络,包括例如支付网络112。一个这样的支付网络由万事达国际公司(本公开的受让人)运营。
再次参考图1,在购买人102向商家106出示支付机制104之后,商家106可以经由位于商家106或由商家106控制的销售点(POS)终端108向收单银行110发送请求消息(由箭头126指示),其在一些实施例中可以是授权请求的全部或一部分。转而,收单银行110与支付网络112通信(由箭头128指示),并且支付网络112与发行银行114通信(由箭头130指示)以确定购买人102是否被授权进行交易124。发行银行114批准或拒绝授权请求,并且随后将响应传送回商家106(由箭头136、138和140指示)。然后商家106可以基于对请求消息的响应来完成或取消购买交易124。
如果购买交易124被批准,则与之相关联的交易金额将从发行银行114通过支付网络112发送到收单银行110。按照称为结算的过程,交易金额减去特定费用之后将被存入属于商家106的银行账户内。然后,发行银行114通过向购买人102发送陈述来为在给定时期内进行的所有购买交易向购买人102开账单(通过箭头132指示)。购买人102通过提交(一个或多个)支付(如箭头134所示)来响应于发行银行114。购买人102提交的(一个或多个)支付(如箭头134所示)可以是自动的(例如,在借记交易的情况下)可由购买人102针对陈述期间与购买金额匹配的确切金额(例如,充值卡或全额支付的贷方余额)发起,和/或可以在一段时期内提交(部分或全部),从而反映购买金额加上购买人102和发行银行114之间事先商定的任何财务费用(例如,循环贷方余额)。
支付网络112可以包括以下每个中的至少一个:存储器、服务器和主机(这些都未在图1中示出,但是本领域技术人员在研究本公开时将会理解其中的每一个)。主机可以包括处理设备并且可以配置为实施授权和清算过程,这样的配置和/或相关联的指令存储在存储器中并且通过各种网络连接到发行银行114和收单银行110处的各自的对应计算机系统。存储器可以包括计算机可读介质存储技术,例如软盘驱动器、硬盘驱动器、磁带驱动器、闪存驱动器、光驱、只读存储器(ROM)、随机存取存储器(RAM)和/或类似物。服务器和存储器可以由软件/硬件来控制,并且可以存储数据和/或指令以允许主机根据本公开的各方面进行操作。POS终端108直接或间接地并且至少不时地与例如作为支付网络112的一部分的收单方主计算机(未示出)进行数据通信,并且其为了或代表处理商家106的支付卡交易的收单银行110操作。服务器可以由支付网络112或代表支付网络112操作,并且可以在支付网络112的成员金融机构之间提供中央交换和消息路由功能。发行银行114也可以使用发行方主计算机(未示出)和访问点(未示出),发行方主计算机通过该访问点与服务器交换数据消息。
应该注意的是,实际上,支付卡交易处理系统100可能涉及多个持卡人/购买人102、POS终端108、商家106、收单方主计算机、发行方主计算机和访问点以及多个各自的收单银行110和发行银行114。通常,收单方主计算机可以接收来自POS终端108的授权请求,通过支付网络112转发授权请求,接收授权响应,并将授权响应中继回POS终端108。此外,发行方主计算机通常可以从服务器接收授权请求,并基于授权请求将授权响应传输回服务器。
在典型的基于卡的支付系统交易中还包括上述的清算和结算流程。清算(如果批准,其可以在传输授权响应之后发生)可以指发行银行114与收单银行110(也称为商业银行)交换交易信息的过程。再次参考图1,收单银行110可以将交易信息传输到支付网络112,其可以包括清算系统(图1中未示出)。清算系统可以验证交易信息并将其转发给发行银行114,其准备要包括在购买人102的支付报表中的数据。清算系统114然后可以向发行银行114和收单银行110两者提供对账数据。
结算可以指发行银行114与收单银行110交换必要资金以完成批准的交易的过程。特别是,收单银行110可以将清算消息中的清算数据发送到支付网络112,由此支付网络112计算净结算位置并向收单银行110和发行银行114发送意见。发行银行114可以将付款汇给支付网络112,该支付网络112然后将该付款发送给收单银行110。然后收单银行110向商家106支付由购买人102进行的购买,并且发行银行114向购买人102开账单。
已经为支付卡交易处理系统100提供了这种背景,现在将描述本公开的特定实施例。然而,在这个时候将注意到,本领域的技术人员在研究本公开时将认识到,系统100仅仅表示生成和/或处理大的(并且在一些情况下是敏感的)数据集的一种方式,并且系统100可以被修改以表示其中生成这样的数据集的其它环境,例如在医疗记录、零售、政府和其他背景中。这样的修改在本公开的范围内。此外,如本领域技术人员将理解的,上述交易处理通常涉及例如使用支付网络112来生成、存储和传输大量数据。就此而言,支付卡交易处理系统(例如系统100)通常利用支付网络112内或与支付网络112结合的数据库能力来存储、分类和分析与通过系统100处理的交易相关联的交易数据。然而,如上所述,这些能力先前未曾使用Hadoop和其它类似的网络来实现,因为这样的解决方案缺乏通常必需的安全/加密措施(例如,遵守安全协议)。所以它在医疗保健和其它行业中,虽然这样的系统可以使用支付网络112的修改版本来收集/处理主题数据。
现在转到图2,描绘了具有静态和/或动态加密的安全计算系统200的一些实施例。如先前所提及的,本公开涉及提供数据的加密,包括静态和动态数据,并且例如包括在处理敏感信息和大数据集的计算环境中。此外,例如,根据上述场景,可以结合处理交易的支付网络来生成这些数据集。在安全计算系统200中描绘了一个这样的系统。此外,系统200的多方面可以结合本文公开的各种方法使用,例如,用于提供静态和动态数据的加密,用于在PCI兼容的Hadoop计算机集群、其它大数据或商业智能计算集群等中存储和处理数据,如下所述。然而,如上所提及的,系统200可以用于除支付网络以外的各种情况下-例如,为医疗记录数据、零售数据(例如,包括购买人的财务相关数据)、政府数据库或处理敏感数据的任何其它大数据计算网络中的数据提供静态和动态加密。
再次参考图2,示出了示例安全计算系统200。安全计算系统200可以用于实现上面提及的分层密钥和加密通信协议,以便保护由系统200存储和处理的敏感数据-例如由希望访问计算机集群244以及各种与其连接地存储的数据(例如,用于在计算机集群244上运行作业)的商业智能客户端等。如所示的,系统200包括计算机集群244和客户端218。在一个实施例中,支付网络112可以至少部分地使用计算系统200来实现。
如以上参照图1一般性地阐述的,支付网络112收集和处理账户交易,通常是大量的这种交易。在各种实施例中,这些账户交易源自一个或多个POS终端108.1-n。鉴于由支付网络112潜在地存储、分类、组织和追踪的大量账户交易,支付网络112通常维护与账户交易相关的重要信息数据库。例如,这个全部或部分可以在本文称为一个或多个数据集的信息数据库,或者更简单地说,数据(或信息)可以包括这样的账户交易相关信息,如时间、购买金额等、频率、总体类别和购买地点,以及有关购买物品的信息。通常,这些数据集可以包括在交易文件中,其中每个交易文件与购买人102的账户相关联。因此,该信息中的任何一个通常可以在计算系统200中被存储和处理。
根据安全计算系统200的实施例,将描述可实现静态或动态加密或两者的组合的安全技术的示例以及相关联的硬件和架构。在各种实施方式中,这些技术包括使用分层加密密钥来加密静态数据,和/或使用相互安全套接字层(“SSL”)来加密动态数据。通常,本文描述的密钥可以用于扰乱底层数据。本文描述的密钥的一些示例实施方式可以包括256位密钥。在大数据计算环境中使用所公开的分层密钥技术和/或相互SSL可以使得这样的环境适合其中敏感数据这个问题的各种上述应用程序-例如,支付网络、零售、医疗记录等,这可能会受到信息安全标准的制约。在描述这些安全技术的细节之前,提供了对计算环境的一些示例硬件的额外描述,如下所述。
如图2所示,计算系统200可以包括计算机集群244和客户端218。客户端218可以是计算机集群244外部的用户或实体,或者可以是计算机集群244的内部,但是在任何情况下,出于安全目的,允许客户端218访问存储在计算机集群244中的特定数据的性质和程度通常可以被限制和/或控制。特别地,客户端218通常尝试访问计算机集群244,以便例如向其提交作业或在其上终止作业、处理或访问存储在其上的数据,以及从其接收结果。
就这一点而言,客户端218可以是大数据客户端或商业智能客户端,例如希望通过计算机集群244运行商业智能工具和/或其他应用程序,或者以其它方式访问存储在系统200中的数据,并且因此这将从访问计算机集群244中受益。在各种示例中,客户端218可以是Hadoop API(应用程序编程接口)客户端,可以是任何应用程序,可以使用企业ID连接到计算机集群244,和/或可以是使用计算机的最终用户(例如,个人)。客户端218可以耦接到计算机集群244(例如,经由连接234),使得客户端218可以访问计算机集群244。作为示例,客户端218可以在自动指令下或者直接由计算机的人类用户访问计算机集群244。
计算机集群244可以是一个或多个可以存在于支付网络112中或者可以存在于用于大数据和/或商业智能应用程序的其它类型的计算网络的上述主机的一部分,或者可以结合一个或多个可以存在于支付网络112中或者可以存在于用于大数据和/或商业智能应用程序的其它类型的计算网络的上述主机一起运转。或者,计算机集群244本身可以包括一个或多个主机(参见,例如图3中的主机332)。
如图2所示,在一个实施例中,系统200包括文件系统208,其又包括一组一个或多个加密区域210。每个加密区域210包括加密的数据文件-换句话说,在每个加密区域210内是加密的数据文件。加密的数据文件可以是任何类型的数据文件,但是在支付网络示例中可以包括与持卡人交易相关联的账户交易文件。在其它示例中,数据文件可以包括其它类型的数据(例如,医疗记录数据),但是通常,数据文件可以包括任何类型的数据。
除了文件系统208之外,计算机集群244包括一组加密的数据加密密钥。每个加密的数据加密密钥对应于存储在加密区域210中的加密的数据文件之一。在这方面,可以使用对应的加密的数据加密密钥的解密(或未加密)版本对加密的数据文件进行解密。然而,出于安全原因,在各种实施例中,未加密的数据加密密钥不存储在文件系统208上,未加密的数据加密密钥通常不是在计算机群集244的各个元件之间或从其外部(例如,到客户端218)通过。例如,以这种方式,对文件系统208的未经授权的访问将不会导致暴露解密加密区域210中的加密文件所需的未加密的数据加密密钥。因此,使用加密的数据加密密钥为加密安全引入了分层方法。
系统200还包括用于每个加密区域210的加密区域密钥。每个加密区域密钥对应于加密的数据加密密钥中的至少一个。以这种方式,可以使用加密区域密钥来解密对应的加密的数据加密密钥。随后,如上所述,加密的数据加密密钥的未加密(或解密)版本可以用于解密对应的加密文件。因此,将加密区域密钥与加密的数据加密密钥结合使用可以进一步增强加密安全的分层方法。
在一个示例场景中,客户端218从计算机集群244请求访问存储在加密区域210中的加密文件。假设客户端218具有该请求所需的必需许可和/或授权(如将关于图3进一步详细描述的),计算机集群244向客户端218发送加密文件和对应的加密区域密钥。如上所述,然后客户端218使用加密区域密钥和加密的数据加密密钥的本地副本来解密加密文件。如该示例所示,加密文件和加密区域密钥通过连接(例如,连接206)传送到客户端218,而加密的数据加密密钥不传送。这可以限制对加密的数据加密密钥的不想要/未授权的访问,并且可以为加密文件提供提高的安全性。
因此,使用上述多层密钥加密可以为存储在计算机集群244中的敏感数据提供安全性。根据本文描述的实施例,这样的敏感数据仅对于具有对应的区域加密密钥和加密的数据加密密钥的客户端218可访问。没有保存正确密钥的未授权客户端218将不能访问存储在加密区域210中的加密文件。因此,如上所提及的,该多层密钥加密可以用于保护存储在系统200中的敏感数据。
图3描绘了具有静态和/或动态加密的安全计算系统300的实施例。在图3所示的各种实施例中,系统300可以基本上类似于系统200。然而,如图所示,系统300的一个实施例包括密钥管理服务310和密钥服务器346。密钥管理服务310可以耦接到文件系统208和密钥服务器346。密钥管理服务310处理针对可存储在密钥服务器346中的加密区域密钥中的一个或多个的请求(例如,来自客户端218)。例如,密钥管理服务310可代理从客户端218到密钥服务器346的请求,从而围绕存储在系统300中的文件提供额外的安全层(例如,因为客户端218没有直接访问密钥服务器246)。在另外的实施例中,密钥服务器346使用密钥托管服务器312或者使用可以被集成到系统300的后端的密钥托管服务器312和硬件安全模块314的组合来实现。
如果密钥托管服务器312和硬件安全模块314都存在于系统300中,则密钥托管服务器312和硬件安全模块314可一起为文件系统208提供冗余密钥服务。例如,如果密钥托管服务器312或硬件安全模块314中的一个失败,则另一个可以被用作备份。类似地,在一些示例实施例中,密钥管理服务310也可以造成冗余。在这样的示例中,系统300包括复制密钥管理服务(未示出,但是例如密钥管理服务310)、复制密钥托管服务器(未示出,但是例如密钥托管服务器312)和/或复制硬件安全模块(未示出,但是例如硬件安全模块314)。此外,密钥管理服务310可以用于第一实况模式,并且复制密钥管理服务可以用于第一待机模式;密钥托管服务器312可以用于第二实况模式并且复制密钥托管服务器可以用于第二待机模式;并且硬件安全模块314可以用于第三实况模式,并且复制硬件安全模块可以用于第三待机模式。
在一些实施例中,密钥管理服务310驻留在计算机集群244内或者是计算机集群244的一部分。然而,在其它实施例中,密钥管理服务310可以在计算机集群244外部。进一步,如图所示,密钥服务器346可以位于计算机集群244外部,但在其它情况下可以在其内部。如所提及的,本公开的一些情况可以包括硬件安全模块314,其可以可选地或附加地存储本文描述的各种密钥,例如包括加密区域密钥。虽然硬件安全模块314被示出为是密钥服务器346的一部分,但是在一些示例实施例中,硬件安全模块314可以在密钥服务器346的外部。
在示例实施方式中,系统300包括节点344,其可以在文件系统208外部。在一些情况下,例如,如果计算机集群244是Hadoop集群,则节点344可以是主节点,并且可以例如实施为NameNode。加密的数据加密密钥可以存储在节点344上。节点344可以是计算机集群244的一部分或可由计算机集群244访问,但是通常客户端218不可访问。以这种方式,客户端218将不会无限制地访问存储在计算机集群244上的加密的数据加密密钥。节点344还可以访问一个或多个代理节点346,其可以运行由节点344分布或委托的底层作业。节点344也可以是服务节点,并且在一些情况下,可以有多个包括在计算机集群244中的节点344。
如上所述,除了使用加密密钥的多层加密之外,出于安全目的,可以使用相互安全套接字层(“SSL”)来加密动态数据。例如,系统300可以参与各种类型的内部和/或外部通信(例如,包括TCP/IP、RPC、HTTP、HTTPS等),并且任何或所有这样的通信可以在相互SSL层被加密。这种通信或连接(例如,有时可以用箭头表示)(例如,在图2和3中的连接206、334、336、338、340和/或342)可以通过有线、无线等,如本领域技术人员在研究本公开时将显而易见的那样。系统300提供了如何完成这些的示例,如下面将进一步参考图3所描述的。将注意到,在图2和3中,显示为填充虚线图案填充的系统200和300的一个或多个元件可以是启用相互SSL的。本领域普通技术人员在研究本公开时也将意识到,各种元件可以彼此连接,无论是否明确示出了箭头。例如,可以使用相互SSL将各种服务306彼此连接,将服务306连接到文件系统208(包括服务306和/或文件系统208的子元件),并且将服务208和/或文件系统208连接到任何节点344、代理节点346、密钥管理服务310和密钥服务器346,反之亦然。
在一个示例实施例中,密钥管理服务310使用第一相互SSL连接334耦接到文件系统208;并且密钥服务器346使用第二相互SSL连接336耦接到密钥管理服务310。在该实施例中,第一相互SSL连接334和第二相互SSL连接336提供附加安全措施,其在加密区域密钥和加密文件传递到计算机集群244/从计算机集群244传递和/或在计算机集群244内传递时保护该加密区域密钥和加密文件。密钥管理服务310通常不暴露给客户端218,因此在客户端218和可存储在密钥服务器346中的加密区域密钥之间提供安全缓冲区。进一步,通过使用本文描述的各种相互SSL加密连接,可以防止电线嗅探。例如,本文描述的密钥通常不会没有加密就通过有线(或者例如无线链路)传输,并且除了上述密钥之外,这些密钥的解密可能需要正确的证书。另外,并且如上所述,在各种实施例中,例如服务306和文件系统208或包括在系统300中的其它模块之间的通信可以使用相互SSL来完成,使得每一方都将需要正确的证书来正确地接收通信。就这一点而言,密钥管理服务310的一些实施方式可以提供以下优点:密钥管理服务310使用不同协议接收请求,但是然后可以仅使用单个协议来与密钥服务器346通信。如上所述,除了提供额外的安全之外,这可以简化密钥服务器346所需的任务。
在另一示例实施例中,系统300包括目录316。客户端218可以耦接到目录316(例如,经由连接342)。目录316又可以使用第三相互SSL连接340耦接到计算机集群244(例如,经由连接340)。连接342不需要相互SSL加密(尽管在一些情况下,连接342是相互SSL加密的)-例如,客户端218可以通过连接342访问目录316以便以安全方式获得安全标识,但是使用非安全网络连接。因此,目录316可以提供证书以使得客户端218能够经由第四相互SSL连接234访问计算机集群244。在一个实施例中,目录216可以是活动目录(例如,KerberosKDS等),其如所提及的向客户端218发布一张或多张票证,使得客户端218可以通过非安全网络连接(例如,通过连接342)以安全方式获得票证,并且最终使用票证访问计算机集群244。以这种方式,目录316可以实现网络认证协议以将对计算机集群244的访问限制为仅授权客户端218(例如,具有正确票证的那些客户端218)。
在进一步的示例实施例中,计算机集群244是符合支付卡行业数据安全标准的Hadoop集群(例如,至少通过使用许可302和/或授权304),并且通过使用加密区域密钥、加密的数据加密密钥和/或第一、第二、第三和/或第四相互SSL连接(例如,334、336、340、234),Hadoop集群可能是安全的,超出了PCI遵从性所需的范围。在该示例实施例中,如图3所示,计算机集群244可以另外包括许可302、授权304和服务306中的一个或多个。客户端218可以使用服务306来以各种方式访问数据(例如,在文件系统208中)(例如,提交/终止各种作业等),只要客户端218分别满足许可302和授权304设置的许可和授权。
许可302可以包括访问控制列表(“ACL”),以便例如确定哪些客户端218可以访问不同的服务306(例如,通过向计算机集群244或其中的操作系统提交作业,或者通过终止作业)。授权304可以通过实现与访问客户端218相关的基于角色的授权必须存储在文件系统208上的数据或文件来提供第二层安全性(无论这些文件是否被加密)。例如,授权304可以指定文件系统208中的哪些类型的数据或文件可以被客户端218访问。因此,许可302和授权304的组合例如确定客户端218可以提交哪些作业或类型的作业以用于特定数据或文件。如所提及的,无论数据是存储在加密区域210中还是作为未加密数据318存储,这都可能是真的。这里,应该注意的是,文件系统208还可以包括未加密的数据318-例如,在一些情况下,以未加密格式存储数据可以是默认的操作模式。然而,通常,敏感信息可以在加密区域210中以加密文件的形式存储,而其它信息可以作为未加密数据318存储。
在各种实施例中,服务306可以包括一个或多个服务,例如操作系统320、数据仓库322、调度器324、查询引擎326、接口328、搜索平台330和主机332。在示例实施方式中,计算机集群244是Hadoop集群。在这样的实施方式中,操作系统320可以是YARN(另一资源谈判器)操作系统,数据仓库322可以是HIVE数据仓库(和相关基础设施)和/或执行引擎,调度器324可以是Oozie作业流调度器,查询引擎326可以是IMPALA查询引擎,接口328可以是HUE用户接口或web接口聚合器,并且搜索平台330可以是SOLR搜索平台(或一些其它实时索引和/或文本搜索能力服务器)。服务306共同地以不同的方式为客户端318提供访问和操纵存储在计算机集群244上(例如,在文件系统208上)的数据的能力,包括通过提供用于这样做的接口。
本公开的另外实施例涉及PCI兼容的Hadoop集群(例如,计算机集群244)。PCI兼容的Hadoop集群包括Hadoop服务(包括例如服务306)、密钥管理系统(包括例如密钥管理服务310和/或密钥服务器346)以及Hadoop分布式文件系统(“HDFS”)(例如,文件系统208)。这里将会注意到,HDFS本身可以被认为是服务,并且因此,本文涉及服务的任何描述在一些情况下也可以应用于HDFS。在一个实施例中,并且类似于以上描述,Hadoop服务包括操作系统、数据仓库、执行引擎、作业流调度器、查询引擎、接口聚合器和搜索平台中的一个或多个。
密钥管理系统可以代理对一个或多个加密区域密钥的请求-例如,从用户(例如客户端218)到可以存储加密区域密钥的密钥服务器346。如上面解释的,加密区域密钥可以用于生成加密的数据加密密钥,或者为了解密加密文件而对其进行解密。在一个实施例中,密钥管理系统包括密钥管理服务310和密钥服务器346,并且这两者都是启用相互SSL的并且使用相互SSL耦接到HDFS。在一个示例中,HDFS使用相互SSL分别耦接到Hadoop服务。进一步,HDFS包含一组加密区域,每个加密区域存储一组加密文件。与加密文件相对应的加密的数据加密密钥可以存储在节点244中。如前所述,作为示例,加密文件可以是持卡人数据或医疗记录数据。在PCI兼容的Hadoop集群的一个示例实施方式中,客户端218使用相互SSL(例如,通过连接206)连接到Hadoop集群。
图4示出了描绘根据本公开的用于存储和处理例如在PCI兼容的Hadoop计算机集群(例如,计算机集群244的一些实施例)中的数据的方法400和伴随实施例的各种操作的流程图。在一些情况下,方法400的操作可以由上面描述的系统100、200和300的一个或多个组件/元件并参考图1、2和3来执行。在这种情况下,方法400的描述可以涉及对应的组件/元件,但是在任何情况下,本领域的技术人员将认识到何时可以使用对应的组件/元件,无论是否明确提及它们。进一步,将意识到,这样的参考不必将方法400限制于所提及的特定组件/元件。因此,本领域技术人员将认识到,上面结合系统100、200和300以及其中的元件(包括其变体)描述的方面和特征可以应用于结合方法400描述的各种操作。
一般而言,方法400有助于数据的加密存储和处理,包括动态和静态数据。举例来说,可以通过执行方法400的各种操作来实现PCI兼容的Hadoop网络。具体而言,方法400的操作及其各种示例实施方式涉及利用多层密钥加密和/或相互SSL连接来加密和保护敏感数据(例如支付卡信息),但还包括除支付卡信息之外的任何类型的敏感数据。再次参考图4,在操作405处,方法400需要使用对文件特定的数据加密密钥从文件生成加密文件。文件以及对应的加密文件可能包含受安全协议约束的PCI。这样,操作405可以用来提供加密安全层。在操作410处,方法400涉及将加密的数据文件存储在文件系统(例如,文件系统208,其可以是HDFS)内的加密区域(例如,加密区域210)中。
在操作415处,方法400包括使用特定于加密区域的加密区域密钥从数据加密密钥生成加密的数据加密密钥。另外,加密区域密钥存储在文件系统208的外部。在操作420处,方法400涉及将加密的数据加密密钥存储在文件系统外部的节点(例如,节点344)中。利用从文件系统外部存储的加密的数据加密密钥,客户端(例如,客户端218)可能不能访问加密的数据加密密钥,尽管客户端可能能够访问文件系统。这提供了额外的安全,因为没有加密的数据加密密钥,客户端将无法解密存储在文件系统中的任何加密文件。如上所述,加密的数据加密密钥通常不通过连接206传输,而是客户端通常在客户端被授权时被假定为具有的用于访问加密文件的东西。因此,使用加密的数据加密密钥可以表示附加的加密安全层,特别是在加密的数据加密密钥不通过连接206传递并且客户端不可访问的情况下(即,存储在文件系统208外部的节点(例如节点244)中)。
在操作425处,方法400的一个实施例包括将加密区域密钥存储在密钥服务器(例如,密钥服务器346、密钥托管服务器312或密钥托管服务器312和硬件安全模块314的组合)中的至少一个中。在操作430处,方法400可以包括基于加密区域的特征(例如,其中存储的加密文件的类型或性质、访问加密区域的客户端的类型等)和/或基于行业规范标准,来轮换加密区域密钥。例如,如果加密区域就存储在其中的数据的类型和/或对数据可用的作业等而言相对敏感,则特定加密区域可以采用具有较高频率的密钥轮换。同样,例如,行业标准(例如,PCI数据安全标准)可以要求钥匙以规定的频率和/或以规定的方式轮换。一般而言,密钥轮换可以应用于本文所述的任何密钥,并且可以基于文件的特征、要轮换的密钥、加密区域、与文件和/或客户端相关的许可或授权或者任何适用的行业标准(例如,PCI数据安全标准)。然而,在一些情况下,数据加密密钥本身不轮换-而是可以轮换加密区域密钥,从而轮换使用正在轮换的加密区域密钥来加密的任何加密的数据加密密钥。
图5示出了根据本公开描述的方法500的各种操作的流程图,可以执行该方法以便于例如在PCI兼容的Hadoop计算机集群(例如计算机集群244的一些实施例)中存储、处理和访问数据。方法500可以由系统100、200和300的一个或多个组件/元件执行,并且可以例如包括方法400的一个或多个操作(例如,在操作505处)。在这样的情况下,方法500的描述可以指对应的组件/元件,但是在任何情况下,本领域的技术人员将认识到何时可以使用对应的组件/元件来执行方法500的各种操作,无论是否明确提及这些组件/元件。和方法400一样,提及图1、2和3中描述的组件/元件的目的仅在于说明,并不一定将方法500限制于所提及的特定组件/元件。同样地,本领域技术人员将会理解,上面结合系统100、200和300以及其中的元件(包括其变体)描述的方面和特征可以应用于结合方法500描述的各种操作。
再次参考图5,方法500除其它操作之外还包括几个操作,例如最终导致对加密文件进行解密。如所示出的,方法500的一个实施例包括操作510,其涉及使用加密区域密钥对加密的数据加密密钥进行解密。解密加密的数据加密密钥生成数据加密密钥的底层未加密版本(例如,这可以表示移除加密安全层)。进一步对于该实施例,操作515需要使用数据加密密钥对加密文件进行解密(例如,这可以表示去除另一加密安全层)。操作515导致以文件的未加密形式获得文件。
在方法500的另一示例实施例中,在操作520处,方法500包括接收来自客户端(例如,客户端218)的访问至少一个文件的请求。如上所述,此访问可能涉及在文件上运行作业并产生随后可能返回给客户端的输出文件,可能涉及检索文件本身(以其加密形式)等。在操作525处,方法500包括验证客户端满足适用于请求的许可和授权要求。例如,如上所述,许可(例如,许可302)可以采取针对特定客户端的访问控制列表的形式,客户端可以提交或终止的作业的特定列表(其中客户端可能不能提交/终止任何未列出的作业)。或者,或者此外,许可可能表明客户端可能根本不提交或终止作业。进一步,授权(例如,授权304)可以指定客户端可以访问哪些类型的数据或者特定的文件。简而言之,在操作525处执行的验证提供了客户端和加密文件之间的附加安全层。
在操作530处,方法500包括响应于请求向客户端提供对加密文件的访问。例如,这可能涉及使用相互SSL(例如,通过连接206)将加密文件和加密区域密钥发送到客户端。可替换地或另外地,提供对文件的访问可以包括在文件上运行作业并将输出提供回客户端,该输出本身可以采取另一个加密文件的形式。在本实施例中发送给客户端的加密区域密钥特定于存储请求访问的文件的加密区域。如上所述,加密区域密钥和加密文件对于客户端是可访问的,但加密的数据加密密钥不能通过客户端访问计算机集群244的方式而被客户端访问。以这种方式,文件使用额外的安全加密层进行保护。
在另一个实施例中,在操作535处,方法500包括存储PCI兼容的Hadoop计算机集群外部的数据加密密钥。虽然加密的数据加密密钥可以存储在PCI兼容的Hadoop计算机集群上的节点(例如,节点344)中,但是本实施例中的数据加密密钥存储在集群外部。以这种方式,数据加密密钥被保护免受任何客户端或具有对文件系统进行未授权访问的任何其它实体或用户的影响-例如,因为这些客户端通常将不能简单地通过访问文件系统或者集群来访问数据加密密钥。相反,客户端将必须已经拥有数据加密密钥(例如,通过受控交易的方式)。因此,没有加密的数据加密密钥和加密区域密钥,未授权的客户端、用户等将不能解密加密文件。
图6示出了示例计算模块600,其在一些情况下可以包括驻留在计算机系统(例如,计算机集群244)上的处理器/控制器,例如以主机的形式或者用于在计算机集群244中执行计算功能的处理器/控制器。计算模块600可以用于实施本文公开的系统和方法的实施例的各种特征和/或功能。在本公开的一个实施例中,计算模块600包括其上具有计算机可执行代码的非暂时性计算机可读介质。计算机可执行代码被配置为使例如在支付网络中的计算机系统(例如,计算机集群244)实现各种上述安全技术。
关于计算模块600的上述实施例,本领域技术人员将理解关于实施例的功能的附加变化和细节,如本文参照图1、2、3、4和5描述的系统和方法的上下文中所阐述的。例如,将意识到,本文描述的计算机可执行代码可以在各种实施例中被扩充,以包括上面相对于系统100、200和300以及方法400和500描述的一些功能和特征。为此,本领域技术人员还将认识到,本文描述的各种实施例(例如,系统)的特征和方面可以相对于本文描述的其它实施例(例如,方法)实施而不背离本公开的精神。
如本文使用的,术语模块可以描述可以根据本申请的一个或多个实施例执行的给定的功能单元。如本文使用的,可以利用任何形式的硬件、软件或其组合来实现模块。例如,可以实施一个或多个处理器、控制器、ASIC、PLA、PAL、CPLD、FPGA、逻辑组件、软件例程或其它机制来组成模块。在实施方式中,本文描述的各种模块可以实现为离散模块,或者描述的功能和特征可以部分地或全部地在一个或多个模块之间共享。换句话说,对于本领域的普通技术人员而言,在阅读本说明书之后将显而易见的是,本文描述的各种特征和功能可以在任何给定的应用程序中实现,并且可以以各种组合和排列实现在一个或多个单独或共享的模块中。尽管功能的各种特征或元件可以单独地描述或声明为单独的模块,但本领域的普通技术人员将理解,这些特征和功能可以在一个或多个通用软件和硬件元件之间共享,并且这种描述不应该要求或暗示使用单独的硬件或软件组件来实现这样的特征或功能。
在应用程序的组件或模块全部或部分使用软件来实现的情况下,在一个实施例中,这些软件元件可以实现为与能够执行相对于其描述的功能的计算或处理模块一起操作。图6中示出了一个这样的示例计算模块。根据示例计算模块600来描述各种实施例。在阅读该描述之后,相关领域的技术人员将会清楚如何使用其它计算模块或者架构来实现应用程序。
现在参考图6,计算模块600可以表示例如在主机、超级计算机、作业站或服务器内发现的计算或处理能力;台式机、膝上计算机、笔记本或平板计算机;手持式计算设备(平板计算机、PDA、智能手机、手机、掌上计算机等);诸如此类,取决于计算模块600专门针对其的应用程序和/或环境。
计算模块600可以包括例如一个或多个处理器、控制器、控制模块或其它处理设备,例如处理器604。处理器604可以使用专用处理引擎(例如,例如微处理器、控制器或其它控制逻辑)来实现。在所示的示例中,处理器604连接到总线602,但是可以使用任何通信介质来促进与计算模块600的其它组件的交互或者进行外部通信。
计算模块600还可以包括一个或多个存储器模块,本文简称为主存储器608。例如,随机存取存储器(RAM)或其它动态存储器可以用于存储要由处理器604执行的信息和指令。主存储器608还可以用于在执行要由处理器604执行的指令期间存储临时变量或其它中间信息。计算模块600可以类似地包括耦接到总线602的只读存储器(“ROM”)或其他静态存储设备,用于存储用于处理器604的静态信息和指令。
计算模块600还可以包括一个或多个各种形式的信息存储设备610,其可以包括例如介质驱动器612和存储单元接口620。介质驱动器612可以包括驱动器或其它机构以支持固定或可移动存储介质614。例如,可以提供硬盘驱动器、软盘驱动器、磁带驱动器、光盘驱动器、CD或DVD驱动器(R或RW)或其它可移动或固定介质驱动器。相应地,可移动存储介质614可以包括例如硬盘、软盘、磁带、盒式磁盘、光盘、CD或DVD或者其它固定或可移动介质,其由介质驱动器612读取、写入或访问。如这些示例所示,可移动存储介质614可以包括其中存储有计算机软件或数据的计算机可用存储介质。
在替代实施例中,信息存储设备610可以包括用于允许将计算机程序或其它指令或数据加载到计算模块600中的其它类似手段。这样的手段可以包括例如固定或可移动存储单元622和存储单元接口620。这种可移动存储单元622和存储单元接口620的示例可以包括程序盒和盒式接口,可移动存储器(例如,闪存或其它可移除存储器模块)和存储器插槽,PCMCIA插槽和卡以及其它固定或可移动存储单元622以及允许软件和数据从可移动存储单元622传输到计算模块600的存储单元接口620。
计算模块600还可以包括通信接口624。通信接口624可以用于允许软件和数据在计算模块600和外部设备之间传输。通信接口624的示例包括调制解调器或软调制解调器、网络接口(例如以太网、网络接口卡、WiMedia、IEEE 802.XX或其它接口)、通信端口(例如,USB端口、IR端口、RS232端口接口或其它端口)或其它通信接口。经由通信接口624传输的软件和数据通常可以承载在信号上,所述信号可以是电子的、电磁的(其包括光学的)或能够由给定的通信接口624交换的其它信号。这些信号可以经由信道628提供给通信接口624。信道628可以承载信号并且可以使用有线或无线通信介质来实现。信道628的一些非限制性示例包括电话线路、蜂窝链路、RF链路、光链路、网络接口、本地或广域网以及其它有线或无线通信信道。
在本文中,术语“计算机程序介质”和“计算机可用介质”通常用于表示暂时或非暂时性介质,例如,例如主存储器608、存储单元接口620、可移动存储介质614和信道628。这些和其它各种形式的计算机程序介质或计算机可用介质可以涉及将一个或多个指令的一个或多个序列携带到处理设备以供执行。体现在介质上的这些指令通常被称为“计算机程序代码”或“计算机程序产品”(其可以以计算机程序或其它分组的形式分组)。当被执行时,这样的指令可以使得计算模块600能够执行本文所讨论的本申请的特征或功能。
已经参考其具体示例特征描述了各种实施例。然而,显而易见的是,可以对其进行各种修改和改变而不偏离如所附权利要求中阐述的各种实施例的更宽泛的精神和范围。因此,说明书和附图被认为是说明性的而不是限制性的。
尽管以上根据各种示例实施例和实施方式进行了描述,但应该理解,在一个或多个单独实施例中描述的各种特征、方面和功能不限于它们适用于描述它们的特定实施例,而是相反,可以单独或以各种组合应用于本申请的一个或多个其他实施例,无论这些实施例是否被描述以及这些特征是否被呈现为所描述的实施例的一部分。因此,本申请的广度和范围不应受到任何上述示例实施例的限制。
在本申请中使用的术语和短语及其变体,除非另有明确说明,应该解释为开放式而不是限制性的。作为前述示例:术语“包括”应理解为意指“包括但不限于”等;术语“示例”用于提供讨论中的项目的说明性实例,而不是其穷举或限制性列表;术语“一”或“一个”应理解为意指“至少一个”、“一个或多个”等;并且例如“常规”、“传统”、“正常”、“标准”、“已知”和类似含义的术语的形容词不应被解释为将所描述的项目限制为给定时间段或者作为给定的时间的可用项目,而是应该被理解为涵盖现在或将来任何时候可用或已知的常规、传统、正常或标准技术。同样地,在本文件涉及本领域普通技术人员显而易见或已知的技术的情况下,这样的技术涵盖现在或将来任何时候对技术人员显而易见或已知的技术。
在某些情况下,例如“一个或多个”、“至少”、“但不限于”或其它类似短语的扩展单词和短语的存在不应被解读为表示在可能不存在这样的扩大短语的情况中,旨在或需要较窄的情况。术语“模块”的使用并不意味着描述或要求作为模块的一部分的组件或功能全部配置在共同的封装中。实际上,模块的任何或所有各种组件,无论是控制逻辑或其它组件,都可以组合在单个封装中或单独维护,并且可以进一步分布在多个分组中或封装中或跨越多个位置分组。
此外,本文阐述的各种实施例是根据示例框图、流程图和其它图示来描述的。在阅读本文后,对于本领域普通技术人员来说显而易见的是,所示实施例及其各种替代方案可以在不限制于所示示例的情况下实现。例如,框图及其伴随的描述不应被解释为指示特定的架构或配置。

Claims (20)

1.一种具有静态和动态加密的安全计算系统,所述系统包括:
文件系统,所述文件系统包括一组加密区域,每个所述加密区域包括加密文件;
一组加密的数据加密密钥,每个所述加密的数据加密密钥对应于所述加密文件中的一个,使得所述加密的数据加密密钥的未加密版本解密对应的加密文件;和
加密区域密钥,所述加密区域密钥用于每个所述加密区域,每个所述加密区域密钥对应于所述加密的数据加密密钥中的至少一个,使得所述加密区域密钥解密对应的加密的数据加密密钥,以生成所述加密的数据加密密钥的所述未加密版本。
2.根据权利要求1所述的安全计算系统,进一步包括在所述文件系统外部并存储所述加密的数据加密密钥的节点。
3.根据权利要求1所述的安全计算系统,进一步包括密钥管理服务,所述密钥管理服务耦接到所述文件系统并处理对所述加密区域密钥中的一个或多个的请求。
4.根据权利要求3所述的安全计算系统,进一步包括耦接到所述密钥管理服务并存储所述加密区域密钥的密钥服务器。
5.根据权利要求4所述的安全计算系统,其中,所述密钥管理服务使用第一相互安全套接字层耦接到所述文件系统,并且其中,所述密钥服务器使用第二相互安全套接字层耦接到所述密钥管理服务。
6.根据权利要求5所述的安全计算系统,进一步包括耦接到利用所述文件系统的计算机集群的活动目录,其中,所述活动目录使用第三相互安全套接字层耦接到所述计算机集群,使得所述活动目录向客户端提供证书,以使得所述客户端能够使用所述证书经由第四相互安全套接字层来访问所述计算机集群。
7.根据权利要求6所述的安全计算系统,其中:
所述计算机集群是Hadoop集群;并且
通过使用所述加密区域密钥、所述加密的数据加密密钥、所述第一相互安全套接字层、第二相互安全套接字层、第三相互安全套接字层和第四相互安全套接字层以及通过使用许可和授权,所述Hadoop集群的安全超出了遵从所述支付卡行业数据安全标准的需要。
8.根据权利要求4所述的安全计算系统,其中:
所述密钥管理服务用于第一实况模式;
所述安全计算系统进一步包括用于第一待机模式的复制密钥管理服务;和
所述密钥服务器包括:
密钥托管服务器,所述密钥托管服务器用于第二实况模式;
复制密钥托管服务器,所述复制密钥托管服务器用于第二待机模式;
硬件安全模块,所述硬件安全模块用于第三实况模式;和
复制硬件安全模块,所述复制硬件安全模块用于第三待机模式。
9.根据权利要求1所述的安全计算系统,进一步包括存储所述加密区域密钥中的至少一些的硬件安全模块。
10.一种用于在Hadoop计算机集群中存储和处理数据的方法,所述方法包括:
使用特定于所述文件的数据加密密钥从文件生成加密文件;
将所述加密的数据文件存储在所述Hadoop计算机集群的文件系统内的加密区域中;
使用特定于所述加密区域的加密区域密钥从所述数据加密密钥生成加密的数据加密密钥;并且
将所述加密的数据加密密钥存储在所述文件系统外部的节点中。
11.根据权利要求10所述的方法,进一步包括:
使用所述加密区域密钥对所述加密的数据加密密钥进行解密,从而生成所述数据加密密钥;并且
使用所述数据加密密钥对所述加密文件进行解密。
12.根据权利要求10所述的方法,进一步包括:
将所述加密区域密钥存储在密钥托管服务器和硬件安全模块中的至少一个中;并且
基于所述加密区域的特征和行业符合标准中的一个或多个轮换加密区域密钥。
13.根据权利要求10所述的方法,进一步包括:
从客户端接收访问所述加密文件的请求;并且
响应于所述请求,发送特定于存储所述加密文件的所述加密区域的所述加密区域密钥和所述加密文件,其中,使用相互SSL来完成发送所述加密文件。
14.根据权利要求13所述的方法,进一步包括验证所述客户端具有许可并且被授权按照请求访问文件。
15.根据权利要求10所述的方法,进一步包括将所述数据加密密钥存储在所述Hadoop计算机集群外部。
16.一种Hadoop集群,包括:
Hadoop分布式文件系统,所述Hadoop分布式文件系统使用相互SSL分别耦接到Hadoop服务和密钥服务器,所述Hadoop分布式文件系统包括一组加密区域,其中,每个所述加密区域存储加密文件;
节点,所述节点包括一组加密的数据加密密钥,每个所述加密的数据加密密钥对于所述加密文件中的一个是特定的;和
密钥服务器,所述密钥服务器上存储有一组加密区域密钥,每个所述加密区域密钥对应于所述加密区域中的一个,其中,对于每个所述加密区域,对应的加密区域密钥解密特定于存储在所述加密区域中的加密文件的所述加密的数据加密密钥。
17.根据权利要求16所述的Hadoop集群,其中,客户端使用相互SSL连接到所述Hadoop集群。
18.根据权利要求16所述的Hadoop集群,其中:
所述Hadoop服务包括操作系统、数据仓库、执行引擎、作业流调度器、查询引擎、接口聚合器和搜索平台中的一个或多个;并且
每个所述Hadoop服务都启用相互SSL。
19.根据权利要求16所述的Hadoop集群,其中,所述加密文件是从由持卡人数据和医疗记录数据组成的所述组中选择的。
20.根据权利要求16所述的Hadoop集群,其中:
所述密钥服务器使用相互SSL耦接到所述Hadoop分布式文件系统;并且
所述密钥服务器接收用于访问存储在所述密钥服务器上的所述加密区域密钥的代理客户端请求。
CN201680068313.8A 2015-09-22 2016-09-14 带加密的安全计算机集群 Active CN108370315B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/861,039 US10162978B2 (en) 2015-09-22 2015-09-22 Secure computer cluster with encryption
US14/861,039 2015-09-22
PCT/US2016/051598 WO2017053137A1 (en) 2015-09-22 2016-09-14 Secure computer cluster with encryption

Publications (2)

Publication Number Publication Date
CN108370315A true CN108370315A (zh) 2018-08-03
CN108370315B CN108370315B (zh) 2021-08-03

Family

ID=58283006

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680068313.8A Active CN108370315B (zh) 2015-09-22 2016-09-14 带加密的安全计算机集群

Country Status (5)

Country Link
US (1) US10162978B2 (zh)
EP (1) EP3338400B1 (zh)
CN (1) CN108370315B (zh)
AU (1) AU2016326332B2 (zh)
WO (1) WO2017053137A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111654372A (zh) * 2019-11-29 2020-09-11 江苏芯盛智能科技有限公司 密钥管理方法及相关装置
CN111739190A (zh) * 2020-05-27 2020-10-02 深圳市元征科技股份有限公司 车辆诊断文件加密方法、装置、设备及存储介质
WO2020258105A1 (en) * 2019-06-26 2020-12-30 Microsoft Technology Licensing, Llc Lifecycle management of secrets on serverless platform
CN112907249A (zh) * 2021-03-30 2021-06-04 郑州信大捷安信息技术股份有限公司 安全免密支付方法及系统

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11438412B2 (en) * 2016-01-07 2022-09-06 Worldpay, Llc Technologies for conversion of mainframe files for big data ingestion
US10666642B2 (en) * 2016-02-26 2020-05-26 Ca, Inc. System and method for service assisted mobile pairing of password-less computer login
US10630470B2 (en) * 2017-09-29 2020-04-21 Micro Focus Llc Zone based key version encoding
US10615984B1 (en) * 2017-10-03 2020-04-07 EMC IP Holding Company LLC Enhanced authentication method for Hadoop job containers
US11146397B2 (en) * 2017-10-31 2021-10-12 Micro Focus Llc Encoding abelian variety-based ciphertext with metadata
US11222117B2 (en) 2018-09-27 2022-01-11 International Business Machines Corporation HSM self-destruction in a hybrid cloud KMS solution
CN109873801B (zh) * 2018-12-12 2020-07-24 阿里巴巴集团控股有限公司 在用户和可信计算集群之间建立可信通道的方法、装置、存储介质及计算设备
CN109861980B (zh) * 2018-12-29 2020-08-04 阿里巴巴集团控股有限公司 一种建立可信计算集群的方法、装置、存储介质及计算设备
CN112839013B (zh) * 2019-11-22 2022-10-11 航天信息股份有限公司 一种密钥传输方法、装置及计算机可读存储介质
US11483132B2 (en) * 2020-12-04 2022-10-25 Meta Platforms, Inc. Generating and initiating pre-signed transaction requests for flexibly and efficiently implementing secure cryptographic key management

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999014652A1 (en) * 1997-09-16 1999-03-25 Microsoft Corporation Encrypting file system and method
US20080022361A1 (en) * 2006-06-29 2008-01-24 Microsoft Corporation Access Control and Encryption in Multi-User Systems
CN101692265A (zh) * 2009-09-25 2010-04-07 天津大学 一种文件加密保护方法
US20110261964A1 (en) * 2010-04-26 2011-10-27 International Business Machines Corporation Redundant key server encryption environment
US20120179909A1 (en) * 2011-01-06 2012-07-12 Pitney Bowes Inc. Systems and methods for providing individual electronic document secure storage, retrieval and use
US20140082749A1 (en) * 2012-09-20 2014-03-20 Amazon Technologies, Inc. Systems and methods for secure and persistent retention of sensitive information
US20140331297A1 (en) * 2013-05-03 2014-11-06 Citrix Systems, Inc. Secured access to resources using a proxy
US20140351233A1 (en) * 2013-05-24 2014-11-27 Software AG USA Inc. System and method for continuous analytics run against a combination of static and real-time data
US20140372393A1 (en) * 2005-08-09 2014-12-18 Imation Corp. Data archiving system
CN104778954A (zh) * 2015-02-06 2015-07-15 北京北信源软件股份有限公司 一种光盘分区加密方法及系统
US20150288664A1 (en) * 2014-04-04 2015-10-08 Zettaset, Inc. Method of securing files under the semi-trusted user threat model using symmetric keys and per-block key encryption

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495533A (en) 1994-04-29 1996-02-27 International Business Machines Corporation Personal key archive
US9172608B2 (en) * 2012-02-07 2015-10-27 Cloudera, Inc. Centralized configuration and monitoring of a distributed computing cluster
US9338008B1 (en) * 2012-04-02 2016-05-10 Cloudera, Inc. System and method for secure release of secret information over a network
WO2014055148A2 (en) * 2012-07-09 2014-04-10 Massachusetts Institute Of Technology Cryptography and key management device and architecture
US20150026462A1 (en) 2013-03-15 2015-01-22 Dataguise, Inc. Method and system for access-controlled decryption in big data stores
US8769644B1 (en) * 2013-03-15 2014-07-01 Rightscale, Inc. Systems and methods for establishing cloud-based instances with independent permissions
US20150332291A1 (en) * 2014-05-19 2015-11-19 Swipely, Inc. Systems and methods for identifying customers using payments data
FR3024002B1 (fr) * 2014-07-21 2018-04-27 Ercom Eng Reseaux Communications Procede de sauvegarde d'un secret d'un utilisateur et procede de restauration d'un secret d'un utilisateur
US10176181B2 (en) * 2014-08-04 2019-01-08 Switchboard Software, Inc. Aggregating, distilling, and analyzing large-scale data sets
EP3452947A4 (en) * 2016-05-06 2020-04-22 Zerodb, Inc. NUMBER FOR DISTRIBUTED STORAGE AND PROCESSING
US10594478B2 (en) * 2016-11-18 2020-03-17 International Business Machines Corporation Authenticated copying of encryption keys between secure zones

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999014652A1 (en) * 1997-09-16 1999-03-25 Microsoft Corporation Encrypting file system and method
US20140372393A1 (en) * 2005-08-09 2014-12-18 Imation Corp. Data archiving system
US20080022361A1 (en) * 2006-06-29 2008-01-24 Microsoft Corporation Access Control and Encryption in Multi-User Systems
CN101692265A (zh) * 2009-09-25 2010-04-07 天津大学 一种文件加密保护方法
US20110261964A1 (en) * 2010-04-26 2011-10-27 International Business Machines Corporation Redundant key server encryption environment
US20120179909A1 (en) * 2011-01-06 2012-07-12 Pitney Bowes Inc. Systems and methods for providing individual electronic document secure storage, retrieval and use
US20140082749A1 (en) * 2012-09-20 2014-03-20 Amazon Technologies, Inc. Systems and methods for secure and persistent retention of sensitive information
US20140331297A1 (en) * 2013-05-03 2014-11-06 Citrix Systems, Inc. Secured access to resources using a proxy
US20140351233A1 (en) * 2013-05-24 2014-11-27 Software AG USA Inc. System and method for continuous analytics run against a combination of static and real-time data
US20150288664A1 (en) * 2014-04-04 2015-10-08 Zettaset, Inc. Method of securing files under the semi-trusted user threat model using symmetric keys and per-block key encryption
CN104778954A (zh) * 2015-02-06 2015-07-15 北京北信源软件股份有限公司 一种光盘分区加密方法及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020258105A1 (en) * 2019-06-26 2020-12-30 Microsoft Technology Licensing, Llc Lifecycle management of secrets on serverless platform
CN111654372A (zh) * 2019-11-29 2020-09-11 江苏芯盛智能科技有限公司 密钥管理方法及相关装置
CN111654372B (zh) * 2019-11-29 2023-03-07 江苏芯盛智能科技有限公司 密钥管理方法及相关装置
CN111739190A (zh) * 2020-05-27 2020-10-02 深圳市元征科技股份有限公司 车辆诊断文件加密方法、装置、设备及存储介质
CN111739190B (zh) * 2020-05-27 2022-09-20 深圳市元征科技股份有限公司 车辆诊断文件加密方法、装置、设备及存储介质
CN112907249A (zh) * 2021-03-30 2021-06-04 郑州信大捷安信息技术股份有限公司 安全免密支付方法及系统
CN112907249B (zh) * 2021-03-30 2022-04-08 郑州信大捷安信息技术股份有限公司 安全免密支付方法及系统

Also Published As

Publication number Publication date
EP3338400B1 (en) 2021-04-21
EP3338400A1 (en) 2018-06-27
AU2016326332B2 (en) 2019-11-21
AU2016326332A1 (en) 2018-04-12
EP3338400A4 (en) 2019-04-24
CN108370315B (zh) 2021-08-03
US20170083716A1 (en) 2017-03-23
US10162978B2 (en) 2018-12-25
WO2017053137A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
CN108370315A (zh) 带加密的安全计算机集群
US20220129885A1 (en) Systems and methods for creating subtokens using primary tokens
US11087297B1 (en) Systems and methods for financial operations performed at a contactless ATM
CN105493538B (zh) 用于安全元件中心式nfc架构的nfc访问控制的系统和方法
KR101534146B1 (ko) 데이터로 관리되는 무형화폐인 비트머니의 생성 방법과 제공서비스 시스템
CN110582790A (zh) 用于受限制交易处理的系统和方法
JP2019004474A (ja) セキュアエレメントを用いずに移動装置に対する遠隔通知サービスメッセージをセキュアに送信するための方法およびシステム
US20140201084A1 (en) Apparatus configured to facilitate secure financial transactions
CN109155029A (zh) 用于受控令牌的电子分发的方法和系统
CN109313685A (zh) 区块链系统的加密应用
CN108353084A (zh) 通过接受帧验证散列数据的方法和系统
CN103942719A (zh) 采用个性化欺诈检测规则的欺诈检测方法和系统
US11477035B1 (en) Systems and methods for value transfers using signcryption
CN104657848A (zh) 用于实时账户访问的系统和方法
CN110199309B (zh) 经由可信执行环境进行认证的方法和系统
CN107111694A (zh) 软件篡改检测和报告过程
US20210185091A1 (en) Advanced Security System for Implementation in an Internet of Things (IOT) Blockchain Network
CN107466409A (zh) 使用电子电信装置的绑定过程
US20230247058A1 (en) Distributed ledger based document image extracting and processing within an enterprise system
US20220318783A1 (en) Method and system for contactless transmission using off-the-shelf devices
CA3125338A1 (en) Private blockchain ecosystems for enabling secure computing operations
KR102140472B1 (ko) 블록체인을 이용한 다이아몬드 거래이력 관리 시스템, 방법, 및 컴퓨터-판독가능매체
WO2020056455A1 (en) Transaction system
US20210329036A1 (en) Reconciliation Digital Facilitators in a Distributed Network
US20220020002A1 (en) Post payment processing tokenization in merchant payment processing

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