Abstract:
A transaction system avoids the storage of any single information item that can be used to provide access to sensitive information. To gain access to the sensitive information, information elements from at least two different databases must be provided, none of the information elements being sufficient to gain access to the sensitive information. In an example embodiment, a payment company encrypts the sensitive information, then partitions the encrypted information into at least two parts. These at least two parts are stored in at least two databases, each database being controlled by a different entity. To gain access to the sensitive information, each of the different entities must provide their part of the encrypted information. Absent any one of the parts of the encrypted information, it is virtually impossible to access the sensitive information.

Description:
[0001]    This application claims the benefit of U.S. Provisional Patent Application 61/930,433, filed 22 Jan. 2014. 
     
    
     BACKGROUND AND SUMMARY OF THE INVENTION 
       [0002]    This invention relates to the field of secure transactions, and in particular to a method and system that provides a high degree of security to sensitive information. The principles of this invention may be applied, for example, to any transaction or process (e.g. a payment transaction) that requires access to sensitive data of a third party (e.g. a customer). 
         [0003]    The continually increasing use of on-line commercial transactions, remote banking applications, electronic funds transactions, and the like has resulted in the widespread distribution of sensitive information to a large number of databases. As the distribution of this information increases, the potential for unauthorized access to this information also increases. This sensitive information may include, for example, a person&#39;s username, password, account number, credit card number, PIN, CSC, and others, as well as such items as cookies and fingerprints, each of which may facilitate access to the person&#39;s financial and other records. In like manner, other sensitive information items, such as the person&#39;s social security number, address, and other personal information are stored in a variety of databases and are subject to potential unauthorized access. 
         [0004]    One method of protecting the security of sensitive information is to assure that the sensitive information is not stored anywhere. However, such an approach would not allow for access to this sensitive information for recurring transactions, and would require the user to manually enter the sensitive information for each transaction. In addition to being inconvenient to the user, such repeated transmission of the sensitive information also increases the risk of exposing this information to unauthorized monitors of the communication channels used. 
         [0005]    According to the nonprofit consumer organization Privacy Rights Clearinghouse, over 227 million individual records containing sensitive personal information were involved in security breaches in the United States between January 2005 and May 2008. 
         [0006]    A number of protocols have been proposed and/or implemented to minimize the likelihood of unauthorized access to such sensitive information, thereby reducing the likelihood of unauthorized access to a user&#39;s financial resources. For example, to reduce the risk of unauthorized access to credit card information, the major credit card corporations developed the Payment Card Industry Data Security Standard (PCI DSS) in 2004. Other standards have also been developed for on-line banking transactions, using, for example, unique transaction identifiers and the like. For ease of illustration and understanding, the PCI-DSS is presented herein as a paradigm of a security standard that facilitates recovery of previously submitted sensitive information while minimizing the risk of exposing this sensitive information at the source of a financial transaction. 
         [0007]    The Payment Card Industry Data Security Standard advises: 
         [0008]    “Keep cardholder information storage to a minimum . . . . Do not store sensitive authentication data subsequent to authorization (not even if encrypted)” (www.visa.com/cisp). This recommendation makes it clear that it is always better to not store the information, regardless of the level of security, because there is always a risk of a security breach. 
         [0009]    Often, however, a merchant must be able to re-use a customer&#39;s credit card information. In a restaurant, for example, the merchant swipes the customer credit card and receives confirmation that the card may be used for the indicated amount. Subsequently, after the card is returned to the customer, the customer may add a tip to the amount that is to be charged, and the merchant must submit this new total to be charged to the credit card. Retaining the customer&#39;s credit card information between these two transactions, however, is contrary to the aforementioned standard. In another example, a hotel may swipe a guest&#39;s credit card during the registration process, and allows the guest to charge purchases to the room, to extend their stay, and so on, without requiring the guest to re-submit the credit card information. 
         [0010]    One technique for avoiding the need to retransmit the customer&#39;s credit card information is to assign a unique transaction identifier to the initial submission of the credit card information, and then use this transaction identifier to reference the ongoing transaction. This technique, however, only works for repeated transmission associated with the same transaction. 
         [0011]    Often, however, it is often desirable to retain the user&#39;s sensitive information between individual transactions. On-line customers, for example, generally prefer merchants, such as Amazon, Netflix, and so on, that allow them to avoid re-entering their credit card information for subsequent purchases, each subsequent purchase being a different transaction. Similarly, customers using on-line banking service providers prefer providers that allow them to access to their accounts and effect transactions with a minimal repeat of previously submitted sensitive information. 
         [0012]    In 2005, the concept of Tokenization was developed by J. D. Oder of Shift4 Corporation, enabling merchants to store “tokens” that can be used to reference customers&#39; credit card information, without actually storing the credit card information. Tokenization is also often used by a financial service provider to enable clients to access their financial accounts at other institutions without having to re-enter previously submitted sensitive information, and without the service provider being required to store the clients&#39; access information for these other institutions. 
         [0013]      FIG. 1  illustrates an example flow diagram for the tokenization process, such as might occur during an on-line purchase, and subsequent shipment of a purchased product. For ease of reference and understanding, the term ‘credit card information’ is used herein to represent any sensitive information that is to be protected. Also for ease of understanding, only the flow of data having relevance to the tokenization process is illustrated in the figures; one of skill in the art will recognize that additional information regarding the transaction will be communicated, including, for example, an identification of the merchant, the amount of the transaction, and so on. One of skill in the art will also recognize that the communication of information among the parties of  FIG. 1  will generally be secure communications, the details of which are common in the art and are not included in this description. 
         [0014]    In  FIG. 1 , time is illustrated as flowing from left to right. The flow starts when a customer  10  submits credit card information  120  to a merchant  20 . Associated with this credit card information is a transactionID  110  that identifies this particular transaction. The merchant  20  forwards the credit card information  120  to a payment company 1    30  that interacts with the credit card company/operator  40 .  1  A payment company acts as an intermediary between multiple merchants and the credit card company/operator, so that the credit card operator does not need to interact with each of these merchants individually. 
         [0015]    The payment company  30  executes the credit card transaction by sending the transaction information, including the credit card information  120 , to the credit card operator  40 . The payment company  30  also encrypts the credit card information  120  to create encrypted credit card information  130  and creates a unique token  140  that is mapped to this encrypted credit card information  130 . The unique token  140  and the encrypted credit card information  130  are stored in a database  180  that is controlled by the payment company. 
         [0016]    The credit card operator  40  communicates an authorization (not illustrated) to the payment company  30 , indicating that the credit card will be charged when the transaction is finalized (e.g. when the purchased product is shipped). 
         [0017]    In addition to storing the unique token  140  in database  180 , the payment company  30  also communicates the token  140  to the merchant  20 , typically as part of the aforementioned receipt/authorization for the transaction. Upon receipt of the token  140 , the merchant  20  stores the transactionID  110  and the token  140  in a database  190  that is controlled by the merchant. This token  140  may be stored in encrypted form for additional security. 
         [0018]    It is significant to note that the merchant&#39;s database  190  does not contain the credit card information  120 , it merely contains a token  140  that is mapped to encrypted credit card information  130  at the payment company  30  and accessed via the transactionID  110 , or some other identifier of the transaction at the merchant database  110 . 
         [0019]    When the merchant  20  ships the purchased product to the customer  10 , The merchant  20  retrieves the token  140  associated with this transactionID  110  from the database  190 , and submits the token  140  to the payment company  30  with a notification that the transaction has been finalized. 
         [0020]    Upon receipt of the token  140 , the payment company  30  retrieves the encrypted credit card information  130  from the database  180  and decrypts it via a decrypter  170 , thereby re-creating the customer&#39;s credit card information  120 , which is then sent to the credit card operator  40  with instructions that the transaction has been finalized, and payment should be issued. 
         [0021]    As noted above, throughout this process, the sensitive credit card information  120  is not stored at the merchant&#39;s database  190 , although the token enables the merchant to reference this credit card information at the payment company  30 . 
         [0022]    This same principle of using a token to reference sensitive information can be used to enable a merchant  20  to store the personal information of the customer  10 , and a token (typically randomly generated) corresponding to the customer&#39;s previously submitted credit card information. This stored token and other information related to the customer may be indexed, for example, by a customer ID or other unique identifier. When the customer  10  subsequently communicates with the merchant  20 , the customer  10  has the option of merely submitting the unique identifier, to avoid having to re-enter information, such as the customer&#39;s address and the customer&#39;s credit card information  120 . Upon receipt of the unique identifier, the merchant  20  may access the database  190  and retrieve the token  140  that is associated with this customer&#39;s encrypted credit card information  130  at the payment company  30 . When a purchase is made, the merchant  20  submits the token  140  to the payment company  30  with other transaction information, as detailed above. Again, the customer&#39;s credit card information  120  is never stored at the merchant&#39;s database  190 . 
         [0023]    Although the flow illustrated in  FIG. 1  eliminates the need to store the customer&#39;s credit card information  120  at the merchant&#39;s database  190 , an encrypted form  130  of this credit card information  120  is stored at the database  180 . A security breach of the key to the decrypter  170  could expose the credit card information  120  to unauthorized access. Because the payment company may be serving hundreds or thousands of merchants, such a security breach would likely result in thousands of credit card information records being exposed to unauthorized access. 
         [0024]    It would be advantageous to enhance the protections provided by conventional tokenization systems. It would also be advantageous to enhance the protection of sensitive information by other security systems 
         [0025]    These advantages, and others, can be realized by avoiding the storage of any single information item that provides direct access to sensitive information. Preferably, to gain access to the sensitive information, information elements from at least two different databases must be provided, none of the information elements being sufficient to gain access to the sensitive information. In an example embodiment, a payment company encrypts the sensitive information, then partitions the encrypted information into at least two parts. These at least two parts are stored in at least two databases, each database being controlled by a different entity. To gain access to the sensitive information, each of the different entities must provide their part of the encrypted information. Absent any one of the parts of the encrypted information, it is virtually impossible to access the sensitive information. 
         [0026]    In an example embodiment, the transaction system includes a first party (e.g. a payment company) that, during a first time interval: receives sensitive information from a second party (e.g. a merchant), encrypts the sensitive information to form an encryption of the sensitive information, partitions the encryption into at least a first piece and a second piece, stores the first piece in a first database, and sends the second piece to the second party for storage in a second database. During a second time interval, the first party: receives the second piece from the second party, retrieves the first piece from the first database, combines the first piece and the second piece to re-create the encryption, and decrypts the encryption to re-create the sensitive information. The transaction system also includes a third party (e.g. the customer) that provides the sensitive information to the second party. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0027]    The invention is explained in further detail, and by way of example, with reference to the accompanying drawings wherein: 
           [0028]      FIG. 1  illustrates an example flow diagram of a conventional tokenization transaction system. 
           [0029]      FIG. 2  illustrates an example flow diagram of a tokenization transaction system that provides two-part storage of encrypted sensitive information. 
           [0030]      FIGS. 3A-3C  illustrate an example transaction systems that provide two, three, and four part storage of encrypted sensitive information. 
       
    
    
       [0031]    Throughout the drawings, the same reference numerals indicate similar or corresponding features or functions. The drawings are included for illustrative purposes and are not intended to limit the scope of the invention. 
       DETAILED DESCRIPTION 
       [0032]    In the following description, for purposes of explanation rather than limitation, specific details are set forth such as the particular architecture, interfaces, techniques, etc., in order to provide a thorough understanding of the concepts of the invention. However, it will be apparent to those skilled in the art that the present invention may be practiced in other embodiments, which depart from these specific details. In like manner, the text of this description is directed to the example embodiments as illustrated in the Figures, and is not intended to limit the claimed invention beyond the limits expressly included in the claims. For purposes of simplicity and clarity, detailed descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail. 
         [0033]    As noted above, in this disclosure, the Payment Card Industry Data Security Standard is used as an example application that uses a tokenization system. One of skill in the art will recognize, in view of this disclosure, that this invention is not limited to an embodiment for any particular application, and may be used in any application that requires a secure method of protecting previously submitted sensitive information. 
         [0034]    As in the above example of a conventional tokenization system, details regarding transaction information that are not directly related to the protection of sensitive information are omitted from this description and accompanying figures. In like manner, details regarding the security provided for communications between entities is also omitted, for each of illustration and understanding of the principles of this invention. 
         [0035]    As in  FIG. 1 , time is illustrated in  FIG. 2  as progressing from left to right. The elements of  FIG. 2  that substantially correspond to the elements of  FIG. 1  are referenced by the same reference numerals. 
         [0036]    The customer  10  initially submits credit card information  120  that is associated with a transactionID  110  to the merchant  20 . As detailed above, the term ‘credit card information’ is used herein to reference any sensitive information that is to be protected, and may include, for example, a credit card account number, a debit card account number, a bank account number, a social security account number, a health account number, and the like. The transactionID  110  is any reference item with which the particular transaction may be identified; typically, it is created by the merchant  20  and used for subsequent actions with regard to this transaction, as detailed below. 
         [0037]    The merchant  20  forwards the credit card information  120  to the payment company  30 , as an intermediary between the merchant  20  and the credit card operator  40 . The payment company  30  forwards the credit card information  120  to the credit card operator  40  to initiate the execution of this transaction using the credit card information  120 . The payment company  30  also encrypts the credit card information  120  to produce an encryption  130  of the credit card information  120 . 
         [0038]    As contrast with  FIG. 1 , a divider  260  is configured to partition the encryption  130  into two pieces  231 ,  232 . The partitioning may take any form, provided that neither piece  231 ,  232  is sufficient to produce the credit card information  120  by decryption or other means. For example, the encryption may be divided in half, and the first n/2 bits of the encryption forms piece  231 , with the remainder forming piece  232 ; in another example, the first piece  231  contains the odd bits of the encryption while piece  232  contains the even bits. The pieces  231 ,  232  need not be of the same size. 
         [0039]    The payment company  30  also creates a unique token  140  that is used to reference the encryption  130 . However, as contrast to the conventional system of  FIG. 1 , the payment company stores the token and only one piece  231  of the encryption  130  in the database  180  that is controlled by the payment company  30 . 
         [0040]    The payment company  30  sends the other piece  232  of the encryption  130  to the merchant  20 , along with the token  140 . The merchant stores the token  140  and the second encrypted piece  232  in its database  190 , referenced to the transactionID  110 . Optionally, not illustrated, the token  140  and this encrypted piece  232  may be further encrypted by the merchant before storage in the database  190  for added security. 
         [0041]    As in the system of  FIG. 1 , the merchant  20  does not store an information item that can be used to directly obtain the credit card information  120 , and thus is in compliance with the Payment Card Industry Data Security Standard (PCI DSS). 
         [0042]    When the merchant  20  completes the transaction by shipping the purchased product, the merchant  20  uses the transactionID  110  to retrieve the token  140  and the piece  232  of the encryption  130  from the database  190 . If the merchant had encrypted the token  140  and/or the piece  232 , they are decrypted to provide the token  140  and piece  232 . The merchant  20  sends the token  140  and the piece  232  to the payment company  30  with a notification that the transaction is to be finalized. 
         [0043]    The payment company  30  uses the token  140  to retrieve the piece  231  of the encryption  130 , and combines this piece  231  with the received piece  232  from the merchant  20 , via a combiner  270  to form the encryption  130 . This encryption  130  is decrypted  170  to provide the original credit card information  120 , which is sent to the credit card operator  40  for executing the transaction based on this credit card information  120 . 
         [0044]    It is significant to note that neither the database  180  nor the database  190  contains sufficient information to gain access to the credit card information  120  even if the key to the decrypter  170  is compromised. An unauthorized user would need to broach the security of the merchant&#39;s database  190  and the payment company&#39;s database  180 , as well as obtaining the key to the decrypter  170  in order to gain access to the credit card information  120 . 
         [0045]    The security of the transaction system detailed above may be further enhanced by further partitioning the encryption  130  and storing the additional pieces  231 ,  232 ,  233 , etc. at other locations. 
         [0046]      FIG. 3A  illustrates an example transaction system wherein a customer ID  310  is used by the merchant  20  for referencing personal information of the customer  10 , including a token  140  that is associated with the customer&#39;s previously submitted credit card information. This previously submitted credit card number is not illustrated in  FIG. 3A , because this information is not stored even in encrypted form, per se, in the transaction systems of this invention. Instead, individual pieces  231 ,  232  of an encrypted form of the credit card information are stored in the database  180  at the payment company  30  and the database  190  at the merchant  20 , as detailed above with respect to the data flow illustrated in  FIG. 2 . 
         [0047]    When the customer provides a customer ID  310  to the merchant  20  during a transaction, the merchant  20  uses this customer ID  310  to retrieve the token  140  and piece 2   232  of the encrypted form of the credit card information from its database  180 . The merchant  20  forwards the token  140  and piece 2   232  to the payment company  30 . The payment company  30  uses the token  140  to retrieve piece 1   231  from its database  190 , combines piece 1   231  and piece 2   232  to reproduce the encrypted form of the credit card information. 
         [0048]    The credit card company  30  decrypts the credit card information and submits it to the credit card operator  40  to initiate the credit card transaction. Note that neither the credit card information nor the encrypted form of the credit card information is stored in any of the databases  180 ,  190 . 
         [0049]      FIG. 3B  illustrates an example embodiment wherein the encrypted credit card information is partitioned into three pieces  231 ,  232 ,  233  that are each stored in different databases  180 ,  190 ,  380 , respectively. In order to decrypt the credit card information, a combination of piece 1   231 , piece 2   232 , and piece 3   233  must be formed, corresponding to the original encryption of the credit card information of the customer  110  for use with this merchant  30 . 
         [0050]    In an example embodiment, the payment company  30  may partition the encryption into two pieces and send one of the pieces to the merchant  20 , as in  FIGS. 2 and 3A . In this manner, the payment company  30  provides a consistent response, independent of the number of pieces that will be stored at different databases. The merchant  20  may partition the received piece into two pieces  232 ,  233 , and send one of the pieces  233  to the customer  10 . The customer  10  may, for example, have an “app” on a smart phone that is associated with this merchant, which stores the piece  233 , or the customer  10  may have an “add-on” to a browser that is able to store the piece  233  in a database  380 , indexed by an identifier  310  of the merchant  20 . Other techniques for storing the piece  233  may be used, preferably in a manner that does not require the customer&#39;s interaction for storing and retrieving the piece  233 . 
         [0051]    When the customer  10  subsequently initiates a transaction with the merchant  20 , the customer provides its customer ID  310  and the piece  233  that it had received from the merchant  20 . As noted above, an app on the customer&#39;s device may automatically send the piece  233  when contact is re-initiated with the merchant  20 . The merchant  20  uses the customer ID  310  to access the token  140  and the piece  232  that it had retained when it sent the piece  233  to the customer  10 . The merchant combines this piece  232  with the received piece  233  and sends the combination to the payment company  30 . 
         [0052]    The payment company  30  combines its piece  231  to the received combination to form the original encryption of the customer&#39;s credit card information. The payment company  30  decrypts the original encryption to retrieve the customer&#39;s credit card information, and uses this credit card information to initiate the transaction with the credit card operator  40 . The payment company  30  may also create another token to identify this particular transaction, as detailed above with respect to  FIG. 2 . 
         [0053]      FIG. 3C  illustrates an example embodiment that partitions the encryption into four pieces  231 ,  232 ,  233 ,  234 , and stores each piece in a different database  180 ,  390 ,  190 ,  380 , respectively. 
         [0054]    In this embodiment, a payment gateway  50  provides an interface to the payment company  30  for the merchant  20  and customer  10 . In some embodiments the payment gateway  50  may receive the credit card information directly from the customer  10 , thereby avoiding having this information accessible by the merchant  20 . 
         [0055]    The payment gateway  50  may receive a piece of the encryption from the payment company  30 , partition it into three pieces  232 ,  233 ,  234 , and send the pieces  233  and  234  to the merchant  20  and the customer  10 , respectively. Alternatively, the gateway  50  may partition the received piece into two pieces, and send one of the pieces to the merchant  20 , who subsequently partitions the received piece into two pieces  233 ,  234  and sends one of the pieces  234  to the customer  10 . 
         [0056]    One of skill in the art will recognize that other schemes may be used to partition the encryption and distribute the pieces. For example, in  FIG. 3C , the customer  10  may not receive a piece of the encryption, or the merchant  20  may not receive a piece, or the payment gateway  50  may not receive a piece, or the payment company  30  may not retain a piece. Any of these options may be used, provided however that at least two of the parties obtain a different piece of the encryption. 
         [0057]    The foregoing merely illustrates the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements which, although not explicitly described or shown herein, embody the principles of the invention and are thus within its spirit and scope. For example, as noted above, the invention has been presented in the context of a conventional credit card transaction system, but it may also be embodied in other transaction systems, such as bank transfers and the like. In like manner, the transaction system may have multiple generators of tokens, at different levels of the transaction hierarchy. In the example of  FIG. 3C , for example, the payment gateway  50  may generate its own tokens as it deals with the merchant  20  and customer  10 , and these tokens may be used to reference tokens that the payment gateway  50  receives from the payment company  30 . These and other system configuration and optimization features will be evident to one of ordinary skill in the art in view of this disclosure, and are included within the scope of the following claims. 
         [0058]    In interpreting these claims, it should be understood that: 
         [0059]    a) the word “comprising” does not exclude the presence of other elements or acts than those listed in a given claim; 
         [0060]    b) the word “a” or “an” preceding an element does not exclude the presence of a plurality of such elements; 
         [0061]    c) any reference signs in the claims do not limit their scope; 
         [0062]    d) several “means” may be represented by the same item or hardware or software implemented structure or function; 
         [0063]    e) each of the disclosed elements may be comprised of a combination of hardware portions (e.g., including discrete and integrated electronic circuitry) and software portions (e.g., computer programming). 
         [0064]    f) hardware portions may include a processor, and software portions may be stored on a non-transitory computer-readable medium, and may be configured to cause the processor to perform some or all of the functions of one or more of the disclosed elements; 
         [0065]    g) hardware portions may be comprised of one or both of analog and digital portions; 
         [0066]    h) any of the disclosed devices or portions thereof may be combined together or separated into further portions unless specifically stated otherwise; 
         [0067]    i) no specific sequence of acts is intended to be required unless specifically indicated; and 
         [0068]    j) the term “plurality of” an element includes two or more of the claimed element, and does not imply any particular range of number of elements; that is, a plurality of elements can be as few as two elements, and can include an immeasurable number of elements.