Abstract:
There is provided a method for generating an electronic receipt in a communication system providing a public key infrastructure, comprising the steps of receiving by a second party a request message from a first party, the request message comprising a transaction request and a first public key based on a secret owned by the first party and wherein the secret is associated with at least the secret of a further public key of the first party, electronically signing at least part of the request message with a second public key assigned to the second party to issue the electronic receipt, and providing the electronic receipt to the first party. Further, there is provided a method for verifying the ownership of an electronic receipt in a communication system providing a public key infrastructure, the verification arising out of a series of messages being sent and received between a first party and a verifying party.

Description:
TECHNICAL FIELD  
         [0001]    The present invention relates to the field of computing, it specifically concerns a method and a technical implementation for secure data exchange over a computer network. More particularly, the present invention relates to a method for securely proving ownership of anonymous electronic receipts and credentials while the owner is discouraged to give away his receipts or credentials.  
         BACKGROUND OF THE INVENTION  
         [0002]    Since the mid 1990s one of the most rapidly growing retail sectors is referred to as electronic commerce. Electronic commerce involves the use of the Internet and proprietary networks to facilitate business-to-business, consumer, and auction sales of everything imaginable, from computers and electronics to books, recordings, automobiles, and real estate. In such an environment consumer privacy is becoming a major concern.  
           [0003]    However, the mere fact that electronic commerce is conducted over an existing open network infrastructure such as the Internet runs counter to the privacy of the consumer. Often, there are legitimate reasons for a party to remain anonymous towards peers and outsiders.  
           [0004]    As the collection and exploitation of private information become more of a concern, users are less willing to give out information, and may want to conduct transactions under a pseudonym or anonymously. A user in such a pseudonymous or anonymous transaction may want a receipt of the transaction (e.g., receipt of a payment), which can be used at a later point in time. For example, the user may receive a receipt for a payment giving him access to certain information on the World Wide Web and the Internet, and may want to use that receipt at (a) later point(s) in time to get the information or to prove that a particular transaction took place, e.g., that the user made a payment. In a pseudonymous or anonymous system, where the user is making the transaction anonymously or under a pseudonym P, a ‘classical’ digital receipt (e.g., a digital signature) would prove the pseudonym&#39;s P involvement in the transaction. However, such a receipt may be intercepted and used by anyone claiming to be the pseudonym P. Also, the user acting under pseudonym P may give the receipt away to his friends, enabling those friends to access the same information.  
           [0005]    There is a call for a method where a user in a pseudonymous or anonymous system is able to prove to be the legitimate owner of a transaction receipt, without revealing his/her real identity. In the course of this the user should be prevented from giving away his receipts to other parties, e.g., to his/her friends.  
         SUMMARY AND ADVANTAGES OF THE INVENTION  
         [0006]    In accordance with the present invention, there is provided a method for generating an electronic receipt in a communication system providing a public key infrastructure, the method comprising the steps of receiving by a second party a request message from a first party, the request message comprising a transaction request and a first public key based on a secret owned by the first party and wherein the secret is associated with at least the secret of a further public key of the first party, electronically signing at least part of the request message with the public key assigned to the second party to issue the electronic receipt, and providing the electronic receipt to the first party. In general, the signing with the second public key can be understood as a signing with the secret associated with the second public key.  
           [0007]    Further, there is provided a method for verifying the ownership of an electronic receipt in a communication system providing a public key infrastructure, the verification arising out of a series of messages being sent and received between a first party and a verifying party, the method comprising the steps of receiving a proof message from the first party, the proof message being derived from at least a first public key based on a secret owned by the first party and wherein the secret is associated with at least the secret of a further public key of the first party and an electronic receipt that has been issued by electronically signing at least part of a request message with a second public key, determining or examining whether or not the proof message was derived from the second public key.  
           [0008]    In general, the signing with the public key can be understood as a signing with the secret associated with said public key. The secret is usually called secret key.  
           [0009]    By applying the above methods a high level of security can be achieved. These assure that the secret key of the first public key is linked to the secret key(s) of the first party, also referred to as user. The linkage is such that the knowledge of one secret key will allow to learn at least some of the other secret keys. If some of these secret keys are valuable to the user, the linking discourages the user to give away his/her electronic receipt, e.g., to a friend. For instance, the secret key of the user could be bound or linked to a secret that gives access to a bank account. Also possible is that all secrets within the system are linked together. Then, for example, one friend has the possibility to completely impersonate the user. This is like to use someone&#39;s purse with all content, e.g., identity, credit cards, driving license, house keys etc.  
           [0010]    Further advantages of the above methods are: in a pseudonymous or anonymous transaction-based system, it is possible to remain anonymous/pseudonymous when showing electronic receipts, while securely proving ownership of the respective receipt. In addition, the receipts are non-transferable, i.e., the receipts are constructed in such a way that if the user wants to give away the receipt, he/she has to give away the secret which underlies all his/her pseudonymous transactions, and thus allows to impersonate him/her.  
           [0011]    Another advantage is that the methods for generating a receipt and for verifying the ownership of the receipt can be implemented in existing communication networks providing a public key infrastructure, such as the Internet.  
           [0012]    The methods are particularly useful in the case the receipt actually represents a license (e.g., a software license). By applying the methods it is almost impossible for the legitimate owner of the license, i.e., the user who received the license, to give away the license. From this point of view, the copyright and its application can be supported by the present invention.  
           [0013]    The methods in accordance with the present invention can be used in a communication system providing a public key infrastructure. That is a system of public key encryption and signature schemes using digital certificates from certificate authorities and other registration authorities that verify and authenticate the validity of each party involved in an electronic transaction. The certificate authority, also called “Trusted Third Party”, is an entity, typically a company, that issues digital certificates to other entities like organizations or individuals to allow them to prove their identity to others and to securely communicate. The certificate authority might be an external company that offers digital certificate services or it might be an internal organization such as a corporate MIS (Management Information System) department. The Certificate Authority&#39;s chief function is to verify the identity of entities and issue digital certificates attesting to that identity.  
           [0014]    In comparison, in a public key encryption scheme, each person gets a pair of keys, called the public key and the private key. Each person&#39;s public key is published while the private key is kept secret. Messages are encrypted using the intended recipient&#39;s public key and can only be decrypted using his private key. This mechanism can also be used for or in conjunction with a digital signature.  
           [0015]    The digital signature is formed by extra data appended to a message which identifies and authenticates the sender and message data using public-key encryption. The sender uses a one-way hash function to generate a hash-code of, for example, 160 bits from the message data. He then signs the hash-code with his private key. The receiver computes the hash-code from the data as well and verifies the received hash with the sender&#39;s public key.  
           [0016]    The need for sender and receiver to share secret information, e.g., keys, via some secure channel is eliminated, since all communications involve only public keys, and no private key is ever transmitted or shared. Public-key schemes can be used for authentication, confidentiality, integrity and non-repudiation. RSA is an example of a public-key cryptography system.  
           [0017]    The one-way hash function, also called “message digest function”, used for the digital signature is a function which takes a variable-length message and produces a fixed-length hash. Given the hash it is computationally impossible to find a message with that hash. In fact, one cannot determine any usable information about a message with that hash, not even a single bit. For some one-way hash functions it is also computationally impossible to determine two messages which produce the same hash. A one-way hash function can be private or public, just like an encryption function. A public one-way hash function can be used to speed up a public-key digital signature system. Rather than signing a long message which can take a long time, the one-way hash of the message is computed, and the hash is digitally signed.  
           [0018]    The methods in accordance with the present invention can be applied within a pseudonym system such as, for example, described by A. Lysanskaya et al. In H. Heys and C. Adams. Editors, Selected Areas in Cryptography, vol. 1758 of LNCS, Springer Verlag, 1999. For example, a party or server issuing the receipt is an organization, e.g., a certification authority, in the pseudonym system, and the user is one user in the pseudonym system. Issuing the receipt is achieved by issuing a ‘receipt’ credential to the user. The properties of the pseudonym system assure that the following advantages can be realized. Showing the receipt is realized by anonymous proof of ownership of the ‘receipt’ credential. Showing the receipt can even be made unlinkable to the original transaction, if no data are encoded in the receipt which make different showings linkable. The receipts distinguish oneself with non-transferability. If the user wants to transfer the receipt (e.g., to a friend), the user has to give away his/her secret key underlying all of his/her pseudonyms in the pseudonym system, and thus the friend has the power to impersonate him/her.  
           [0019]    In the dependent claims various modifications and improvements of the methods are contained.  
       
    
    
     DESCRIPTION OF THE DRAWINGS  
       [0020]    Preferred embodiments of the invention are described in detail below, by way of example only, with reference to the following schematic drawings.  
         [0021]    [0021]FIG. 1 shows a schematic illustration of possible involved parties connected via a network.  
         [0022]    [0022]FIG. 2 shows a schematic illustration of a generation of an electronic receipt with a user and a second party.  
         [0023]    [0023]FIG. 2. 1  shows message exchanges between the user and the second party comprising a fourth cryptographic proof.  
         [0024]    [0024]FIG. 2. 2  shows further message exchanges between the user and the second party comprising a fifth cryptographic proof.  
         [0025]    [0025]FIG. 3 shows a schematic illustration of a verification of the ownership of an electronic receipt according to the present invention.  
         [0026]    [0026]FIG. 3. 1  shows message exchanges between the user and a verifying party comprising a second cryptographic proof.  
         [0027]    [0027]FIG. 3. 2  shows further message exchanges between the user and the verifying party comprising a first cryptographic proof.  
         [0028]    [0028]FIG. 3. 3  shows further message exchanges between the user and the verifying party comprising a third cryptographic proof concerning the receipt and the encryption.  
         [0029]    [0029]FIG. 4 shows a schematic illustration of the generation of an electronic receipt with a certificate authority. 
     
    
       [0030]    The drawings are provided for illustrative purpose only and do not necessarily represent practical examples of the present invention to scale.  
       DETAILED DESCRIPTION OF THE INVENTION  
       [0031]    With reference to FIG. 1, the general layout of a communication environment is described in which the invention can be used. In the figures, same reference numerals or letters are used to denote the same or like parts. A first party, also referred to as requester or user U, indicated in box  1 , is able to communicate with a second party  A , indicated in the dotted box  2 , a second party A, also referred to as first verifying party A that is indicated in box  3 , and a second verifying party B, indicated in box  4 , over a network  5  via communication connections  8  as known in the art. In the scenario, the second party  A  is a certificate authority while the second party A indicates a software company distributing their products and giving licenses for it. The second party  A  can be called issuer and is hereafter called certificate party  A . The second verifying party B can be called verifier and is implemented as a validation server for checking, for example, such a license. The second party A, indicated in box  3 , can have either the function of a verifier or the function of an issuer. It is understood that the second party A and the second verifying party B can belong to the same business entity or can even be implemented on the same computer system.  
         [0032]    As indicated in box  1 , the user U has a first public key P U  and a further public key  P U   . The first public key P U  bases on a secret S U  that is associated with or linked to the secret  S U    or S UE  of the further public key  P U    or P UE  (not shown). This further public key  P U    or P UE , also referred to as external public key P UE , can be one public key used in connection with a bank, for example. As indicated in box  2 , the certificate party  A  has a second public key  P A   . The second party A, as indicated in box  3 , has a second public key P A .  
         [0033]    The general layout of the communication environment is shown to facilitate the description of the following figures. Within the following FIGS.  2  to  4 , the exchange of messages and in particular their relevant content is indicated above or below the respective arrows.  
         [0034]    Turning now to FIG. 2, in which a schematic illustration shows a generation of an electronic receipt L U , hereafter short receipt L U , issued by the second party A. It is understood that the word receipt or electronic receipt comprises a credential, a certificate, or a license.  
         [0035]    The second party A, as indicated with box  3 , receives the request message RM, labeled as RM (TR 2 , P U ) from the user U. The request message RM comprises a second transaction request TR 2  and the first public key P U . The first public key P U  bases on the secret S U  owned by the first party U. The secret S U  is associated, for instance, by an encryption to the secret  S U    or S UE  of a further public key (not shown in FIG. 2) of the first party U. The second party A electronically signs the request message RM with the second public key P A . The receipt L U  is issued and sent to the first party U, labeled as L U =sig PA  (P U , . . . ). In other words, after the second party A concludes the transaction, the receipt L U  is issued and returned to the user U.  
         [0036]    Later when the user U wants to prove to be the legitimate owner of the receipt L U , he sends a proof message PM to the second party A, which acts then as the first validation party A, or to the second validation party B, as described with reference to FIG. 3 below. For example, this can be advantageously applied for an update of a product, e.g., a software, or at each or several starts of it for validation or copyright purposes.  
         [0037]    Before the validation of the receipt L U  is described, further message exchanges are explained. FIG. 2. 1  shows message exchanges between the user U and the second party A comprising an encryption E 1  and a fourth cryptographic proof for verifying the encryption. This encryption comprises the secret S UE  used in connection with an external party, e.g., a bank. The second party A receives the further public key P UE  and a first encryption E 1  of the secret S UE  of the further public key P UE  under the first public key P U , labeled with P UE ; E 1 =enc PA , (S UE ). The second party A publishes the first encryption E 1 . By doing so, the link between the secret S U  of the first public key P U  and the secret S UE  of the further public key P UE  can be guaranteed. Giving away the secret S U  would cause that also the secret S UE  is given away. By verifying the fourth cryptographic proof, it can be found out whether or not the secret S UE  of the further public key P UE  is encrypted in the first encryption E 1  under the first public key P U . Thus, the above received further public key P UE  and the first encryption E 1  can be verified. This is expressed with  
         [0038]    PROVE 4th  (S UE :−E 1 =enc PU (S UE )  
         [0039]    −P UE =f(S UE )).  
         [0040]    The expression P UE =f(S UE ) symbolizes that the public key P UE  is derived as a function f of the secret key S UE . The function f is a general one and can be chosen ad libitum.  
         [0041]    In general, cryptographic proofs are known in the art and are described, for example, by Jan Camenisch and Ivan Damg{dot over (a)}rd in their article “Verifiable encryption, group encryption, and their applications to separable group signatures and signature sharing schemes” T. Okamoto, editor. Advances in Cryptology—ASIACRYPT &#39;2000, number 1976 in Lecture Notes in Computer Science, Kyoto, Japan, 2000. International Association for Cryptologic Research, Springer-Verlag, Berlin Germany, pages 331-345.  
         [0042]    [0042]FIG. 2. 2  shows further message exchanges between the user U and the second party A comprising a fifth cryptographic proof for verifying the internal encryption and a receipt  L U   . It is assumed that the receipt  L U    has been issued from the certificate party  A  and the user U has obtained the receipt  L U   , as described with reference to FIG. 4. With internal encryption is meant the encryption in view of the secret  S U    used in connection with the certificate party  A . The second party A receives a second encryption E 2  of the secret  S U    of the further public key  P U    under the first public key P U  from the user U. This is labeled with E 2 =enc PU ( S U   ). The second party A publishes the second encryption E 2 . By doing so, the link between the first public key P U  and the secret  S U    can be guaranteed. By verifying a fifth cryptographic proof of the existence of a first, second, and third value  P U   ,  S U   ,  L U    such that the first value  P U    is a public key derived from the second value  S U    and the third value  L U    is a signature with respect to the second public key  P A    on at least the first value  P U    and the second encryption E 2  is the encryption of the second value  S U    under the first public key  P U   , the received second encryption E 2  and the receipt  L U    can be verified. This is expressed with  
         [0043]    PROVE 5th ( P U   ,  S U   ,  L U   :− P U   =f(S U )  
         [0044]    −E 2 =enc PU ( S U   )  
         [0045]    − L U   =sig   PA   ( P U   , . . . )).  
         [0046]    [0046]FIG. 3 shows a schematic illustration of a verification of the ownership of an electronic receipt. In detail, the ownership of the receipt L U  that has been issued by the second party A, is verified. The second validation party B, indicated with box  4 , receives a proof message PM from the user U, indicated with box  1 . The proof message PM is derived from the first public key P U  that bases on the secret S U  owned by the user U. As described above, the secret S U  is associated, for example, by the encryption to the secret  S U    or S UE  of the further public key  P U    or P UE  of the user U. The proof message PM is further derived from the receipt L U  that has been issued by electronically signing the request message RM with the second public key P A . The content of the proof message PM is examined whether or not it was derived with respect to the second public key P A .  
         [0047]    [0047]FIG. 3. 1  shows message exchanges between the user U and the second verifying party B comprising a second cryptographic proof for verifying the receipt L U . By verifying the second cryptographic proof of the existence of a first, second, and third value P U , S U , L U , such that the first value P U  is a public key derived from the second value S U  and the third value L U  is a signature with respect to the second public key P A  on at least the first value P U , the received first public key P U  and the receipt L U  can be verified. This is expressed with  
         [0048]    PROVE 2nd (P U , S U , L U :−P U =f(S U )  
         [0049]    −L U =sig PA (P U , . . . )).  
         [0050]    [0050]FIG. 3. 2  shows further message exchanges between the user U and the second verifying party B comprising a first cryptographic proof for verifying the external encryption. The second verifying party B receives the further public key P UE  and the first encryption E 1  of the secret S UE  of the further public key P UE  under the first public key P U . The second verifying party B publishes the first encryption E 1 . By doing so, the link between the secret of the first public key P U  and the secret S UE  of the further public key P UE  can be guaranteed. By verifying the first cryptographic proof that the secret S UE  of the further public key P UE  is encrypted in the first encryption E 1  under the first public key P U , the above received further public key P UE  and the first encryption E 1  can be verified. This is expressed with  
         [0051]    PROVE 1st (S UE :−E 1 =enc PU (S UE )  
         [0052]    −P U =f(S U )  
         [0053]    −L U =sig PA (P U , . . . )).  
         [0054]    [0054]FIG. 3. 3  shows further message exchanges between the user U and the second verifying party B comprising a third cryptographic proof for verifying the receipts L U  and  L U    and the internal encryption. The second verifying party B receives the second encryption E 2  of the secret  S U    of the further public key  P U    under the first public key P U  from the user U. This is indicated with E 2 =enc PU ( S U   ). The second verifying party B publishes the second encryption E 2 . By doing so, the link between the secret S U  of the first public key P U  and the secret  S U    can be guaranteed. By verifying the third cryptographic proof of the existence of values P U , S U , L U ,  P U   ,  S U   ,  L U    such that the first value P U  is a first public key derived from the second value S U  and the third value L U  is a signature with respect to the second public key P A  on at least the first value (P U ), and the fourth value  P U    is the public key derived from the fifth value  S U    and the sixth value  L U    is a signature with respect to the third public key  P A    on at least the fourth value  P U    and the second encryption E 2  is the encryption of the second value S U  under the fourth value  P U   , the received second encryption E 2  and the receipts L U  and  L U    can be verified. This is expressed with  
         PROVE     3      nd       (       P   U     ,     S   U     ,     L   U     ,       P   U     _     ,       S   U     _     ,         L   U     _     :     
                               -     P   U       =     f        (     S   U     )                                -       P   U     _       =     f        (       S   U     _     )                                  -     L   U       =       sig   PA     (       P   U     ,              …                )                 -       E   2     _       =       enc     P   U            (       S   U     _     )                                                  -       L   U     _       =       sig   PA     (         P   U     _     ,              …                )       )     .                                     
 
         [0055]    Turning now to FIG. 4, in which a schematic illustration shows the generation of the receipt  L U   , issued by the certificate party  A . This receipt generation should be performed before the generation of the receipt L U  by the second party A and can be seen as a pre-installment.  
         [0056]    The certificate party  A , as indicated with box  2 , receives a request message RM, labeled as RM (TR 1 ,  P U   ) from the user U. The request message RM comprises a first transaction request TR 1  and the first public key  P U   . The first public key  P U    bases on the secret  S U    owned by the first party U. The secret  S U    is associated with another secret of a further public key of the first party U. The second party  A  electronically signs the request message RM with the second public key  P A    that is assigned to the second party  A . The latter step can be omitted. The receipt  L U    is issued and sent to the first party U, labeled as  L U   =sig   PA   ( P U   , . . . ).  
         [0057]    In general, the transaction requests TR 1  and TR 2  can be any kind of business commonly referred to as electronic commerce. Whereby, electronic commerce summarizes conducting of business communication and transactions over networks and through computers. As most restrictively defined, electronic commerce is the buying and selling of goods and services, and the transfer of funds, through digital communications. However electronic commerce also includes all intercompany and intra-company functions, such as marketing, finance, manufacturing, selling, and negotiation, that enable commerce and use electronic mail, file transfer, fax, video conferencing, workflow, or interaction with a remote computer. Electronic commerce also includes buying and selling over the World Wide Web and the Internet, electronic funds transfer, smart cards, digital cash, and all other ways of doing business over digital networks.  
         [0058]    Any disclosed embodiment may be combined with one or several of the other embodiments shown and/or described. This is also possible for one or more features of the embodiments.  
         [0059]    The present invention can be realized in hardware, software, or a combination of hardware and software. Any kind of computer system - or other apparatus adapted for carrying out the method described herein—is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods.  
         [0060]    Computer program means or computer program in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following a) conversion to another language, code or notation; b) reproduction in a different material form.