Cloud encryption key broker apparatuses, methods and systems

Information

  • Patent Grant
  • 10547444
  • Patent Number
    10,547,444
  • Date Filed
    Wednesday, February 17, 2016
    8 years ago
  • Date Issued
    Tuesday, January 28, 2020
    4 years ago
Abstract
Computer-implemented systems and methods are disclosed herein for use in cryptographic operations over a cloud-based service. The cloud-based service securely stores and transmits parts of encryption/decryption keys. Split key processing can include splitting the key in two and storing one of them on a remote secure server.
Description

This application for letters patent disclosure document describes inventive aspects directed at various novel innovations (hereinafter “disclosure”) and contains material that is subject to copyright, mask work, and/or other intellectual property protection. The respective owners of such intellectual property have no objection to the facsimile reproduction of the disclosure by anyone as it appears in published Patent Office file/records, but otherwise reserve all rights.


FIELD

The present innovations are directed generally to multi-party encryption approaches and more particularly, to CLOUD ENCRYPTION KEY BROKER APPARATUSES, METHODS AND SYSTEMS or CEKB.


BACKGROUND

In light of recent credit card and personal information leaks the need for a more secure method for securing encryption keys is evident. In recent breaches the data was encrypted on a secure server but the keys were stolen with the data allowing the data to be exposed.


As an illustration, these breaches involved “secure” computers where a merchant stores encryption/decryption keys. When the hacker breached the secure computer, the hacker stole the key that was needed for cryptographic operations used in accessing the merchant's data. In view of this situation and others, security approaches associated with encryption/decryption operations can be improved.





BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying appendices and/or drawings illustrate various non-limiting, example, innovative aspects in accordance with the present descriptions:


The leading number of each reference number within the drawings indicates the figure in which that reference number is introduced and/or detailed. As such, a detailed discussion of reference number 101 would be found and/or introduced in FIG. 1. Reference number 201 is introduced in FIG. 2, etc.



FIG. 1 is a block diagram depicting a cloud encryption key broker system.



FIG. 2 is a block diagram depicting key processing and security-related operations associated with the cloud encryption key broker system.



FIG. 3 is a process flow diagram illustrating an operational scenario involving the cloud encryption key broker system.



FIGS. 4-6 are block diagrams depicting security-related operations and key processing operations associated with the cloud encryption key broker system.



FIGS. 7 and 8 are block diagrams depicting additional computer-related environments within which a cloud encryption key broker system can operate.





SUMMARY

Computer-implemented systems and methods are disclosed herein, such as, for use with cryptographic operations. For example, a processor-implemented system and method are disclosed for use with cryptographic operations over a cloud-based service. The cloud-based service securely stores and transmits parts of encryption/decryption keys. Split key processing can include splitting the key in two and storing one of them on a remote secure server.


As another example, a processor-implemented system and method are disclosed for cryptographic operations. A payment processor provides a cloud service that combines split key processing as well as risk analysis of requests, IP blocking and access rule restrictions to securely store and transmit parts of encryption keys.


As yet another example, a processor-impairment system and method are disclosed for cryptographic operations through a remote networked service where a first portion of a key is stored. A remote request is received for retrieval of the first portion of the key, and a security analysis is performed upon the request. The first portion of the key is transmitted to the requester after security analysis criteria has been satisfied. A complete key is generated by combining the first portion of the key with a second portion of the key. The complete key is used to perform a cryptographic operation.


DETAILED DESCRIPTION


FIG. 1 shows at 100 an example embodiment of a CEKB. The CEKB at 100 prevents theft of encryption/decryption keys by using a key broker system 106. The cloud encryption key broker system 106 stores the keys used in encryption/decryption operations in a secure manner to help prevent such theft. For example, the CEKB provides additional security when consumer users 104 purchase items via merchant applications 112.


The merchant applications 112 may be open to hacking, spoofing, and other security threats. As such, the encryption key broker system 106 stores securely the encryption/decryption keys against potential malicious activities that may occur during payment transaction processing or otherwise. However, it should be understood that the cloud encryption key broker system 106 is not limited to only purchasing-type transactions but may be used in many other types of operations outside of a financial/purchasing environment.


The consumer users 104 can directly or indirectly interact with a cloud encryption key broker system 106 through a number of ways, such as over one or more networks 108. Server(s) 110 accessible through the network(s) 108 can host the system 106. One or more data stores 102 can store the data to be analyzed and processed by the system 106 as well as any intermediate or final data generated by the system 106.



FIG. 2 depicts another example embodiment where a payment processor provides a cloud service for secure operations. More specifically, the cloud service securely stores and transmits parts of encryption/decryption keys as shown at 202. Split key processing can include splitting the key in two and storing one of them on a remote secure server.


As an illustration, if the key were 123456, then the key would be split into two partial keys: 123 and 456. In this way, a hacker would have to breach a merchant's computer as well as bypass the remote secure server's security measures to gain access to the entire key. This approach prevents a hacker from breaching the system and stealing a key where a merchant has stored an encryption/decryption key on a secure computer.


The cloud service can also combine additional security via processing 204. Secure processing operations 204 can include techniques for detecting a network intrusion or other type of unauthorized access request.



FIG. 3 shows an operational scenario example involving the encryption key broker system. At step 300, a key is split into two parts. It should be understood that the system could also include splitting the key into more than two parts. At step 302, one of the key parts is stored in a remote server. A partial-key request is subsequently received at step 304.


Security analysis is performed in this operational scenario upon the request at step 306. Such analysis at step 306 can include a combination of risk analysis of requests, IP blocking and access rule restrictions to securely store and transmit parts of encryption/decryption keys. For example, this can include at step 306 using artificial intelligence for intrusion detection. Prim's algorithm can also be used within step 306 for security operations. A description of the algorithm is provided in U.S. Pat. No. 8,924,270 entitled “Risk Assessment Rule Set Application For Fraud Prevention”, which document is incorporated herein for all purposes. It should be understood that many other types of security operations can be performed upon the request for the presence of malicious or unauthorized activity.


If the security analysis does not indicate any inappropriate activity with respect to the request, the partial key is provided at step 308 to the requester. At step 310, a software tool at the client side receives the partial key and combines it with one or more other partial keys for use in encryption/decryption operations.



FIG. 4 depicts an embodiment of the CEKB at 400 where a cloud service is provided for securely storing and transmitting parts of encryption/decryption keys. The CEKB 400 stores at 410 parts of encryption/decryption keys remotely. In this embodiment, these keys can be retrieved (e.g. from the remote database 410) and only used at the client in temporary memory 402. In other embodiments, these keys can be retrieved and used at the client in memory and elsewhere such as in a type of secure memory.


A client tool known as the encryption key broker 404 (EKB) is provided that performs encrypting/decrypting routines. When started, the EKB 404 calls out to a remote server on the cloud 406 to provide the necessary parts to complete the data encryption/decryption key. The key parts are transmitted in an encrypted form. These parts are decrypted, combined and the resulting data key is stored in memory 402.



FIG. 5 depicts an embodiment of the CEKB at 500 where a cloud service is provided by a payment processor or other type of company that combines risk analysis of requests, IP blocking, and access rule restrictions to securely store and transmit parts of encryption/decryption keys. The CEKB 500 can also include layers of security techniques. For example, a real-time risk scoring model can be used as shown at 506 to evaluate each request and generate a risk score as well as IP checks 502.


Also as shown at 508, partners can define set rules, such as hours of the day or IP locations for restricting access. Batch risk models at 510 look for abnormal behavior across all partners. Keys involved in known breaches cannot be retrieved.



FIG. 6 illustrates that security analysis operations can be further extended. For example, all communications are logged and tracked as shown at 602. This enables rapid responses to identify the location of breaches. In the scenario depicted in FIG. 6, the CEKB may be used in many different types of scenarios, such as those involving remote transactions and payment requests. A “remote transaction” may include any transaction where one party to a transaction is separated by some distance and/or by a device from another party to a transaction. For example, a remote transaction may include a “card—not present,” electronic commerce, or other online transaction performed through communication between two or more devices. For instance, remote transactions may include devices that are not present in the same location or multiple devices where the two parties (e.g., a merchant and a consumer) are not using the same device to complete the transaction. Additionally, a remote transaction may include an in-store transaction that is not completed using a merchant point-of-sale device (i.e., access device) and instead is completed by a consumer using their mobile device to communicate with a remote (or local) merchant server computer configured to process the remote transactions. Traditionally, remote transactions have had a higher chance of fraud because remote transactions do not allow a payee the opportunity to identify the payer or otherwise ensure that the payment they are receiving is legitimate, as the two parties are not present in the same location during the transaction (such as in a “card present” or in-store transaction). A local, card present, face-to-face, or in-store transaction may include a transaction where two or more parties to a transaction are present in the same location, use the same transaction device, or is performed through at least one present individual or entity to authenticate the identity of a payer and/or payee.


A “payment request” may include a message having a request to process or initiate a payment. For example, the payment request may be sent from mobile device associated with a consumer in relation to a purchase transaction associated with goods or services provided by a merchant. The payment request may include any relevant information to the transaction including payment information (e.g., account identifiers, personal information, etc.), transaction information (e.g., merchant information, items being purchased, etc.), device information (e.g., mobile device phone number, secure element identifier, etc.), routing information (e.g., internet protocol (IP) address of a destination computer, identifier for destination computer, bank identification number (BIN), etc.), and any other relevant information to a payment transaction. For example, a payment request may include encrypted payment information for a transaction and may be sent to a third party computer that is configured to authenticate the payment request, validate a public key certificate, decrypt the encrypted payment information, extract a public key from the validated certificate, re-encrypt the decrypted payment information, and send the re-encrypted payment information to a transaction processor for initiation of a payment transaction. Accordingly, the payment request may include any information relevant to the secure process for transmitting sensitive data to a merchant server for processing a remote transaction.


As used herein, “transaction information” may include any data associated with a transaction. For example, transaction information may include a transaction amount, transaction time, transaction date, merchant information (e.g., registered merchant identifier, address, merchant computer IP address, etc.), product information (e.g., serial numbers, product names or other identifiers, etc.). The transaction information may be provided to a mobile device by a merchant server computer before or after the consumer initiates a payment transaction through the merchant application. In some embodiments, the transaction information may be used to identify a specific merchant associated with a transaction using the merchant information included in the transaction information.


As used herein, “encrypted payment information” may include any payment information that has been made unintelligible to some parties to prevent unauthorized access to the payment information. For example, the encrypted payment information may not be read by a recipient without access to a shared secret or access to a designated encryption key. As such, the encrypted payment information may be made unintelligible through a process that is reversible and repeatable such that two entities can share information using a shared secret or encryption keys without unauthorized entities being able to understand or gain access to the sensitive payment information or sensitive payment credentials within the payment information (unless they gain access to the shared secret or encryption keys).



FIGS. 7 and 8 depict example systems for use with the operations disclosed herein. For example, FIG. 7 depicts an exemplary system 700 that includes a computer architecture where a processing system 702 (e.g., one or more computer processors located in a given computer or in multiple computers that may be separate and distinct from one another) includes a CEKB 704 being executed on the processing system 702. The processing system 702 has access to a computer-readable memory 707 in addition to one or more data stores 708. The one or more data stores 708 may include user preferences 710. The processing system 702 may be a distributed parallel computing environment, which may be used to handle very large-scale data sets.



FIG. 8 depicts a system 720 that includes a client-server architecture. One or more user PCs 722 access one or more servers 724 running a CEKB system 737 on a processing system 727 via one or more networks 728. The one or more servers 724 may access a computer-readable memory 730 as well as one or more data stores 732.


In FIGS. 7 and 8, computer readable memories (e.g., at 707) or data stores (e.g., at 708) may include one or more data structures for storing and associating various data used in the example systems. For example, a data structure stored in any of the aforementioned locations may be used to store data including user preferences, etc.


Each of the element managers, real-time data buffer, conveyors, file input processor, database index shared access memory loader, reference data buffer and data managers may include a software application stored in one or more of the disk drives connected to the disk controller, the ROM and/or the RAM. The processor may access one or more components as required.


A display interface may permit information from the bus to be displayed on a display in audio, graphic, or alphanumeric format. Communication with external devices may optionally occur using various communication ports.


In addition to these computer-type components, the hardware may also include data input devices, such as a keyboard, or other input device, such as a microphone, remote control, pointer, mouse and/or joystick.


Additionally, the methods and systems described herein may be implemented on many different types of processing devices by program code comprising program instructions that are executable by the device processing subsystem. The software program instructions may include source code, object code, machine code, or any other stored data that is operable to cause a processing system to perform the methods and operations described herein and may be provided in any suitable language such as C, C++, JAVA, for example, or any other suitable programming language. Other implementations may also be used, however, such as firmware or even appropriately designed hardware configured to carry out the methods and systems described herein.


The systems' and methods' data (e.g., associations, mappings, data input, data output, intermediate data results, final data results, etc.) may be stored and implemented in one or more different types of computer-implemented data stores, such as different types of storage devices and programming constructs (e.g., RAM, ROM, Flash memory, flat files, databases, programming data structures, programming variables, IF-THEN (or similar type) statement constructs, etc.). It is noted that data structures describe formats for use in organizing and storing data in databases, programs, memory, or other computer-readable media for use by a computer program.


The computer components, software modules, functions, data stores and data structures described herein may be connected directly or indirectly to each other in order to allow the flow of data needed for their operations. It is also noted that a module or processor includes but is not limited to a unit of code that performs a software operation, and can be implemented for example as a subroutine unit of code, or as a software function unit of code, or as an object (as in an object-oriented paradigm), or as an applet, or in a computer script language, or as another type of computer code. The software components and/or functionality may be located on a single computer or distributed across multiple computers depending upon the situation at hand.


While the disclosure has been described in detail and with reference to specific embodiments thereof, it will be apparent to one skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope of the embodiments. Thus, it is intended that the present disclosure cover the modifications and variations of this disclosure.

Claims
  • 1. A processor-implemented method for use in cryptographic operations to prevent theft of encryption keys in payment processing, comprising: generating, at a key broker server, a key in processing a remote transaction on a client device of a user between the user and a merchant via a merchant application;splitting, at the key broker server, the key into a first portion and a second portion;sending the second portion of the key from the key broker server to the client device;storing, by one or more data processors accessible by the key broker server, the first portion of the key, at the key broker server in a secure fashion;receiving, at the key broker server, a remote payment request from the client device for retrieval of the first portion of the key corresponding to the second portion of the key;in response to receiving the remote payment request, performing, at the key broker server, a security analysis upon the remote payment request according to a security analysis criteria; andtransmitting the first portion of the key from the key broker server to the client device after the security analysis criteria has been satisfied;wherein the key is reconstituted at the client device by combining the first portion of the key with the second portion of the key;wherein the reconstituted key is only available to the client device after the remote payment request meets the security analysis criteria and the first portion of the key is provided to the client device, wherein the client device uses the reconstituted key to complete the remote transaction at the client device, wherein the reconstituted key is stored on the client device only in temporary memory or other secure type memory.
  • 2. The method of claim 1, wherein a cloud-based service is used for the storing of the first portion of the key.
  • 3. The method of claim 1, wherein the cloud-based service is provided by a payment processing entity.
  • 4. The method of claim 1, wherein the reconstituted key is generated by combining the first portion of the key with the second portion of the key and with one or more additional portions of the key.
  • 5. The method of claim 1, wherein the remote transaction comprises an encryption operation.
  • 6. The method of claim 1, wherein the remote transaction comprises a decryption operation.
  • 7. The method of claim 1, wherein the security analysis includes IP checks, risk analysis of requests, IP blocking, and access rule restrictions.
  • 8. The method of claim 7, wherein the security analysis criteria includes the security analysis not detecting any unauthorized access or malicious activity associated with the remote payment request.
  • 9. The method of claim 1, wherein the remote transaction comprises a “card—not present” transaction, an in-store transaction not completed using a merchant point-of-sale (POS) device, or a transaction involving devices of the user and merchant that are not at the same location.
  • 10. The method of claim 1, wherein transmitting the first portion of the key in an encrypted form.
  • 11. A processor-implemented system for use with cryptographic operations to prevent theft of encryption keys in payment processing, comprising: a memory; andone or more processors disposed in communication with the memory and configured to issue processing instructions stored in the memory to:generate, at a key broker, a key in processing a remote transaction on a client device of a user between the user and a merchant via a merchant application;store a first portion of the key, at the key broker;send a second portion of the key to the client device;receive a payment request from the client device for retrieval of the first portion of the key;in response to receiving the payment request, perform a security analysis on the payment request to determine compliance to a security analysis criteria, wherein the security analysis includes IP checks, risk analysis of requests, IP blocking, and access rule restrictions; andtransmit the first portion of the key from the key broker to the client device responsive to the security analysis criteria being satisfied;wherein the key is reconstituted by combining the first portion of the key with the second portion of the key;wherein the reconstituted key is used to complete the remote transaction at the client device.
  • 12. The processor-implemented system of claim 11, wherein the one or more processors are configured to store the first portion of the key with a cloud-based service.
  • 13. The processor-implemented system of claim 11, wherein the cloud-based service is provided by a payment processing entity.
  • 14. The processor-implemented system of claim 11, wherein the reconstituted key is generated by combining the first portion of the key with the second portion of the key and with one or more additional portions of the key.
  • 15. The processor-implemented system of claim 11, wherein the remote transaction comprises an encryption operation or a decryption operation.
  • 16. The processor-implemented system of claim 11, wherein the reconstituted key is stored on the client device only in temporary memory or other secure type memory.
  • 17. The processor-implemented system of claim 11, wherein the security analysis criteria includes the security analysis not detecting any unauthorized access or malicious activity associated with the payment request.
  • 18. The processor-implemented system of claim 11, wherein the remote transaction comprises a “card—not present” transaction, an in-store transaction not completed using a merchant point-of-sale (POS) device, or a transaction involving devices of the user and merchant that are not at the same location.
  • 19. The processor-implemented system of claim 18, wherein the one or more processors are configured to transmit the first portion of the key.
  • 20. A non-transitory tangible processor-readable medium storing processor-issuable instructions to: generate, at a key broker, a key for processing a payment transaction on a client device of a user between the user and a merchant via a merchant application;split, at the key broker, the key into a first portion and a second portion;send the second portion of the key from the key broker to the client device;receive a payment request from the client device for retrieval of the first portion of the key corresponding to the second portion of the key;in response to receiving the payment request, perform, at the key broker, a security analysis criteria upon the payment request; andtransmit the first portion of the key, from the key broker to the client device after the security analysis criteria has been satisfied;wherein the key is reconstituted at the client device by combining the first portion of the key with the second portion of the key;wherein the reconstituted key at the client device is used to complete the payment transaction at the client device, wherein the payment transaction comprises a “card—not present” transaction, an in-store transaction not completed using a merchant point-of-sale (POS) device, or a transaction involving devices of the user and merchant that are not at the same location.
PRIORITY

This application claims priority to U.S. Patent Application Ser. No. 62/117,080, filed Feb. 17, 2015 and entitled “Cloud Encryption Key Broker Apparatuses, Methods And Systems.” The entire contents of the aforementioned application is expressly incorporated by reference herein.

US Referenced Citations (90)
Number Name Date Kind
5222136 Rasmussen Jun 1993 A
5237611 Rasmussen Aug 1993 A
5301247 Rasmussen Apr 1994 A
5535276 Ganesan Jul 1996 A
5737419 Ganesan Apr 1998 A
5748735 Ganesan May 1998 A
5784463 Chen Jul 1998 A
6385316 Rose May 2002 B1
6636966 Lee Oct 2003 B1
7051211 Matyas, Jr. May 2006 B1
7069435 Sandhu Jun 2006 B2
7085744 Morrison Aug 2006 B2
7299357 Karamchedu Nov 2007 B2
7788501 Abdallah Aug 2010 B2
8290165 Allen Oct 2012 B2
8423789 Poo Apr 2013 B1
9113042 Bennett Aug 2015 B2
9160535 Burchett Oct 2015 B2
9231925 Lundstrom Jan 2016 B1
9306742 Folkmanis Apr 2016 B1
9455832 Brown Sep 2016 B2
9455968 Machani Sep 2016 B1
9838205 Lundstrom Dec 2017 B2
20020078344 Sandhu Jun 2002 A1
20020078345 Sandhu Jun 2002 A1
20020078346 Sandhu Jun 2002 A1
20020078361 Giroux Jun 2002 A1
20020091640 Gupta Jul 2002 A1
20030026432 Woodward Feb 2003 A1
20030048906 Vora Mar 2003 A1
20030115452 Sandhu Jun 2003 A1
20030147536 Andivahis Aug 2003 A1
20030226029 Porter Dec 2003 A1
20040030893 Karamchedu Feb 2004 A1
20040030916 Karamchedu Feb 2004 A1
20040030917 Karamchedu Feb 2004 A1
20040030918 Karamchedu Feb 2004 A1
20040062400 Sovio Apr 2004 A1
20040114766 Hileman Jun 2004 A1
20060015358 Chua Jan 2006 A1
20060182283 Sandhu Aug 2006 A1
20060184788 Sandhu Aug 2006 A1
20070033392 Ganesan Feb 2007 A1
20070067618 Sandhu Mar 2007 A1
20070150723 Estable Jun 2007 A1
20080056501 McGough Mar 2008 A1
20080091947 Dancer Apr 2008 A1
20080170693 Spies Jul 2008 A1
20080172730 Sandhu Jul 2008 A1
20080267033 Morinaga Oct 2008 A1
20090101707 Kurasaki Apr 2009 A1
20100125739 Creary May 2010 A1
20100131755 Zhu May 2010 A1
20100131759 Pintsov May 2010 A1
20100192201 Shimoni Jul 2010 A1
20100299313 Orsini Nov 2010 A1
20100325431 Mordetsky Dec 2010 A1
20100333186 Chan Dec 2010 A1
20110019822 Khan Jan 2011 A1
20110191248 Bishop Aug 2011 A1
20110202755 Orsini Aug 2011 A1
20110296440 Laurich Dec 2011 A1
20120072736 Kudoh Mar 2012 A1
20120198228 Oberheide Aug 2012 A1
20120198241 O'Hare Aug 2012 A1
20120254619 Dhuse Oct 2012 A1
20120260349 Nagai Oct 2012 A1
20130046985 Allen Feb 2013 A1
20130108045 Sanders May 2013 A1
20130138961 Tsuji May 2013 A1
20130185214 Azen Jul 2013 A1
20130226812 Landrok Aug 2013 A1
20130262317 Collinge Oct 2013 A1
20130272521 Kipnis Oct 2013 A1
20130290708 Diaz Oct 2013 A1
20130291056 Gaudet Oct 2013 A1
20140003608 MacMillan Jan 2014 A1
20140208112 McDonald Jul 2014 A1
20140310527 Veugen Oct 2014 A1
20150047001 Izumi Feb 2015 A1
20150235020 Nagai Aug 2015 A1
20150372770 Ouzounov Dec 2015 A1
20160080157 Lundstrom Mar 2016 A1
20160119292 Kaseda Apr 2016 A1
20160125141 Raisaro May 2016 A1
20160132699 Miller May 2016 A1
20160224735 Ayday Aug 2016 A1
20170024729 Huxham Jan 2017 A1
20170124348 Pourzandi May 2017 A1
20170142579 Gaudet May 2017 A1
Non-Patent Literature Citations (3)
Entry
International Search Report and Written Opinion issued in connection with corresponding application No. PCT/US2016/015165 dated Apr. 22, 2016 (12 pages).
PCT International Preliminary Report on Patentability for PCT/US2016/018165, dated Aug. 31, 2017, 12 pages.
European Extended Search Report dated Aug. 18, 2018 for EP Patent Application No. 16752945.2, 11 pages.
Related Publications (1)
Number Date Country
20160241390 A1 Aug 2016 US
Provisional Applications (1)
Number Date Country
62117080 Feb 2015 US