WO2017175926A1 - Electronic payment method and electronic device using id-based public key cryptography - Google Patents

Electronic payment method and electronic device using id-based public key cryptography Download PDF

Info

Publication number
WO2017175926A1
WO2017175926A1 PCT/KR2016/009224 KR2016009224W WO2017175926A1 WO 2017175926 A1 WO2017175926 A1 WO 2017175926A1 KR 2016009224 W KR2016009224 W KR 2016009224W WO 2017175926 A1 WO2017175926 A1 WO 2017175926A1
Authority
WO
WIPO (PCT)
Prior art keywords
payment
key
idpkc
kms
encrypted
Prior art date
Application number
PCT/KR2016/009224
Other languages
French (fr)
Korean (ko)
Inventor
차완파라슈람
알베스 마틴스파울로 세르지오
Original Assignee
삼성전자 주식회사
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
Priority claimed from GB1605829.9A external-priority patent/GB2549118B/en
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to EP16898030.8A priority Critical patent/EP3422275A4/en
Priority to US16/091,838 priority patent/US11182783B2/en
Publication of WO2017175926A1 publication Critical patent/WO2017175926A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Definitions

  • An electronic payment method, an electronic device and computer program instructions used in an electronic payment system relates to an electronic payment method and an electronic device using ID-based public key cryptography (IDPKC) in an electronic payment system.
  • IDPKC ID-based public key cryptography
  • Electronic payment systems allow users to pay using a payment card, such as a credit or debit card.
  • Transactions using a payment card include the following parties. (1) Cardholder, the holder of the payment card registration, (2) Issuer, the financial institution that issued the payment card, (3) Merchant, the goods or goods provider, and (4) Payment on behalf of the merchant Acquirer, which is a financial institution that authorizes, and (5) Payment Gateway, which is an electronic device that processes merchant payment messages.
  • SET Secure Electronic Transaction
  • OI Order Information
  • PI Payment Information
  • the merchant requests payment authorization by forwarding the cardholder's encrypted PI and encrypted OI to the gateway.
  • "dual signature" is used to link two messages for the other two recipients, an OI for the merchant and a PI for the gateway.
  • merchants do not have access to the cardholder's bank account details, thereby protecting the cardholder's personal information.
  • the main drawback of the SET protocol is that a public-key infrastructure (PKI) is required to handle the cardholder's certificate, which must be signed by a Certificate Authority (CA).
  • PKI public-key infrastructure
  • CA Certificate Authority
  • IDPKC identity-based public key cryptography
  • KMS key management service
  • IDPKC identity-based public key cryptography
  • FIG. 1 is a flow diagram of an electronic payment system, according to one embodiment.
  • FIG. 2 is a diagram of an electronic payment system, according to one embodiment.
  • FIG. 3 is a flow diagram of a method for transmitting a series of messages during a key provisioning process, according to one embodiment.
  • FIG. 4 is a flowchart of a method performed by a cardholder device during the key provisioning process of FIG. 3, according to one embodiment.
  • KMS key management service
  • FIG. 6 is a flowchart of a method in which a series of messages are transmitted during a transaction in the electronic payment system of FIG. 2, according to one embodiment.
  • FIG. 7 is a flowchart of a method performed by a cardholder during the transaction process of FIG. 6, according to one embodiment.
  • FIG. 8 is a flowchart of a method performed by a merchant during the transaction process of FIG. 6, according to one embodiment.
  • FIG. 9 is a flowchart of a method performed by a payment gateway during the approval process of FIG. 6, according to one embodiment.
  • FIG. 10 is a block diagram illustrating a configuration of a cardholder device, according to an embodiment.
  • a first aspect of the present disclosure is generated according to an identity-based public key cryptography (IDPKC) protocol from a key management service (KMS) server that stores personal information of a user.
  • IDPKC identity-based public key cryptography
  • KMS key management service
  • Receiving a private key of an authorized user Encrypting payment information using the public device's public key generated according to the IDPKC protocol and encrypting the order information using the public key of the merchant device generated according to the IDPKC protocol ; Generating a dual signature of encrypted payment information and encrypted order information using a private key according to the IDPKC protocol; Sending a transaction request to the merchant device, wherein the transaction request includes dual signed payment information and order information; And receiving an answer to the transaction request from the merchant device.
  • IDPKC identity-based public key cryptography
  • a memory that stores at least one program; And a processor for executing a secure transaction in the electronic payment system by executing at least one program stored in the memory, wherein the at least one program is a card generated in accordance with the IDPKC protocol from a KMS server storing personal information of the user Receiving a holder's private key; Encrypting payment information using the public key of the payment device, generated according to the IDPKC protocol, and encrypting the order information using the public key of the merchant device, generated according to the IDPKC protocol; Generating a double signature of encrypted payment information and encrypted order information using the private key according to the IDPKC protocol; Sending a transaction request to the merchant device, wherein the transaction request includes dual signed payment information and order information; And receiving an answer to the transaction request from the seller device.
  • the electronic device may include instructions for executing the transaction.
  • the third aspect of the present disclosure may also include a computer readable recording medium having recorded thereon a program for executing the method of the first aspect on a computer.
  • the electronic payment system described below may be a card based electronic payment system, but in addition it may be an electronic payment system based on any suitable payment means.
  • Transactions through a card-based electronic payment system are usually carried out in accordance with regulations established by the Cards Association, which usually takes two steps.
  • the cardholder provides the merchant with details of the payment card and the merchant submits an authorization request to the gateway.
  • the Payment Gateway forwards the request to the issuer, which verifies that the cardholder's account is valid and that sufficient funds are available to pay the transaction.
  • the funds are "held” and deducted from the cardholder's account, but are not transferred to the merchant.
  • the merchant typically submits the approved transactions to the gateway in batches on the last business day.
  • the merchant creates and sends a payment request to the gateway, and the gateway sends the payment request to the card association, and the card association withdraws the payment from the issuer and sends it to the acquirer.
  • the acquirer then receives the remittance from the issuer and pays it to the merchant.
  • the merchant device may include a merchant server
  • the payment device may include a payment server
  • FIG. 1 is a flow diagram of an electronic payment system, according to one embodiment.
  • the cardholder device receives an ID-based public key cryptography method from a key management service (KMS) server that stores a user's personal information. Receive a user's private key generated according to the public key cryptography (IDPKC) protocol.
  • IDPKC public key cryptography
  • the cardholder device encrypts the Payment Information using the public key of the payment device (hereinafter referred to as Payment Gateway), generated according to the IDPKC protocol, and generates a merchant device (hereinafter referred to as IDPKC protocol).
  • the order information is encrypted using the public key of the affiliated device.
  • the cardholder device generates a dual signature of encrypted payment information and encrypted order information using the private key, according to the IDPKC protocol.
  • the cardholder device sends a transaction request to the merchant device that includes the dual signed payment information and the order information.
  • the cardholder device receives a response to the transaction request from the merchant device.
  • An electronic payment system is a card-based payment system in which a cardholder can use a payment card, such as a debit or credit card, to purchase goods or services from a merchant.
  • a payment card such as a debit or credit card
  • One embodiment of an electronic payment system includes a cardholder device 201, merchant device 202, payment gateway 203, issuer 211, and acceptor 212 as an electronic device.
  • the cardholder device 201 may be a suitable electronic device such as a smart phone, tablet, laptop or desktop.
  • the electronic payment system can further include a KMS, which is one or more key management entities.
  • KMS can be a server.
  • Each of the issuer 211 and the acquirer 212 use separate KMS, which can communicate securely with each other.
  • a single KMS entity may perform the functions of both issuer KMS 221 and acquirer KMS 222.
  • the issuer KMS 221 and the acquirer KMS 222 may securely distribute the private key material to other electronic devices in the electronic payment system.
  • Each of the cardholder device 201, the merchant device 202, the payment gateway 203, the issuer KMS 221 and the takeover KMS 222 are in the form of a computer readable recording medium on which computer program instructions may be stored.
  • the processing means may comprise one or more processors. Instructions may be adapted in accordance with an embodiment such that the methods disclosed in an electronic device on which computer program instructions are executed may be practiced.
  • the cardholder device 201, the merchant device 202, and the payment gateway 203 may be provided with a KMS certificate, which is public information in the form of a signed digital document for the KMS.
  • Information that may be included in the KMS certificate may be a master public key of the KMS, a unique resource identifier (URI) of the KMS, and a validity period of the master public key.
  • URI unique resource identifier
  • a KMS public key may be used to encrypt information during a transaction.
  • the information in the KMS certificate allows the entity to communicate with the KMS to obtain a private key element, which is then used to conduct secure transactions.
  • the certificate of issuer KMS 221 is securely provisioned to cardholder device 201
  • the certificate of acquirer KMS 222 is also securely provisioned to merchant device 202 and payment gateway 203.
  • the KMS certificate may be distributed through any suitable mechanism that fully ensures the integrity and integrity of the KMS certificate. Since the KMS certificate does not need to be shared with third parties after the KMS certificate has been provisioned on the electronic device, the KMS certificate does not need to be signed by a CA.
  • methods that can be used to distribute KMS certificates include the following methods.
  • a method of transmitting a KMS certificate via an online banking application a method of pre-loading a KMS certificate on the cardholder device 201, the merchant device 202, and the payment gateway 203, or the merchant device 202.
  • the KMS certificate may be distributed in such a way that the KMS certificate is included in the software securely transmitted and installed in the payment gateway 203.
  • a transport key obtained through a bootstrapping process may be used.
  • a copy of a cardholder's certificate is sent to the merchant when the cardholder orders the goods or services.
  • the certificate must be signed by a CA in order for a third party, such as a merchant or payment gateway, to verify that the cardholder's certificate has been authenticated.
  • a third party such as a merchant or payment gateway
  • entities do not share a certificate signed by a CA during electronic transactions, and thus do not use a PKI.
  • merchant device 202 receives a message that is correctly signed with IDPKC from cardholder device 201, merchant device 202 indicates that cardholder device 201 has been provisioned by issuer KMS 221. You can see that.
  • the message may include public parameters of issuer KMS 221.
  • the cardholder device 201 only decrypts the merchant device 202 and the payment gateway 203 using IDPKC and sends a message. You can verify that they can be signed.
  • Sakai-Kasahara Key Encryption SAKKE
  • Elliptic Curve-based Certificateless Signatures for Identity-based Encryption ECCSI
  • SAKKE and ECCSI are described as an example and other embodiments may use other IDPKC protocols than SAKKE and ECCSI.
  • merchant device 202 and payment gateway 203 establish a secure communication channel with acquirer KMS 222, merchant device 202 and payment gateway 203 authenticate, and authenticate the certificate of KMS.
  • the private key element is provisioned at the merchant device 202 and the payment gateway 203 by authenticating the takeover KMS 222.
  • the merchant device 202 is not only provisioned with a private key element, but also provided with information about the identifier of the payment gateway 203.
  • a predefined format is applied to all merchant device identifiers and all payment gateway identifiers, thereby making it possible to clearly distinguish between merchants and gateways.
  • all merchant identifiers may be prefixed with "merchant” and all gateway identifiers may be prefixed with "gateway".
  • the cardholder device 201 may be assigned a unique identifier that is encrypted and linked to the cardholder device 201.
  • the cardholder device 201 may include a smartphone that includes a Trusted Execution Environment (TEE), which includes public / private key pairs and other security elements provided by KMS.
  • TEE Trusted Execution Environment
  • the cardholder device 201 may also include a smart card with a tamper suppression module including a public / private key pair and a KMS signature that links the unique identifier of the cardholder device 201 to the public key.
  • software with a unique identifier and public / private key pair may be securely provided to issuer 211 and installed in cardholder device 201.
  • An IDPKC private key element can be provisioned in the cardholder device 201 by establishing a secure communication channel between the cardholder device 201 and the issuer KMS 221.
  • the issuer KMS 221 uses a public / private key pair to authenticate itself, authenticates the cardholder in a suitable way such as a fixed password or one-time-password (OTP). Further, the issuer KMS 221 may be authenticated using the certificate of the issuer KMS 221.
  • provisioning an IDPKC private key using a public / private key pair coupled to a cardholder device may be compatible with electronic devices that include public / private key pairs based on other cryptographic schemes. Other methods may be applied in other embodiments, for example, an IDPKC private key element may be coupled directly to the cardholder device 201.
  • FIGS. 3, 4 and 5 are diagrams illustrating a key provisioning process used in the system shown in FIG. 2 according to an embodiment.
  • 3 is a flowchart of a procedure in which a series of messages are sent during a key provisioning process
  • FIG. 4 is a flowchart of a method performed by a cardholder device during a key provisioning process
  • FIG. 5 is performed by an issuer KMS during a key provisioning process.
  • the methods shown in FIGS. 3, 4 and 5 allow essential security elements such as private key elements and KMS certificates to be securely provisioned to the cardholder device 201 when using the electronic payment system.
  • the cardholder device 201 generates a registration request REG_FORM_REQ for registering a payment card with the issuer KMS 221 and the key provisioning process begins.
  • the registration request may include a time stamp and a card identifier that can uniquely identify the payment card to be registered.
  • the card identifier may be a 16 digit card number of a credit or debit card.
  • the card identifier may be an identifier different from the identifier of the card owner.
  • the issuer KMS 221 may use the payment card to verify that the registration request is valid, and the time stamp may be used to avoid a replay attack.
  • the generated registration request is signed with the public / private key pair that the cardholder device 201 is holding.
  • the public / private key pair may be stored in the TEE.
  • the signed registration request is encrypted using the first symmetric key and the first symmetric key is encrypted using the public key of the issuer KMS 221.
  • the first symmetric key can be sealed using ElGamal encryption.
  • the first symmetric key is randomly generated, but in another embodiment the first symmetric key may be selected from a list of predetermined symmetric keys.
  • encrypting the first symmetric key using the public key of the KMS receives and stores in the memory one or more KMS public keys corresponding to the one or more KMS according to the IDPKC protocol, and the KMS used by the merchant By receiving an identifier of, the KMS public key corresponding to the KMS identifier may be retrieved from the memory. The retrieved KMS public key may be used to encrypt the first symmetric key.
  • step 403 an encrypted REG_FORM_REQ message and an encrypted first symmetric key are sent to the issuer KMS 221.
  • the data to be shared such as the REG_FORM_REQ message
  • the data to be shared is encrypted with symmetric key encryption, instead of being computed expensively asymmetric key encryption (public key encryption). Therefore, after encrypting data using symmetric key encryption, it is more efficient to encrypt the symmetric key asymmetrically using a public key encryption key (KEK).
  • the REG_FORM_REQ message may be directly encrypted with asymmetric encryption, in which case step 402 shown in FIG. 4 is omitted.
  • the cardholder device 201 receives a request for additional registration information (REG_FORM_RES).
  • REG_FORM_RES a request for additional registration information
  • the REG_FORM_RES message is signed by the issuer KMS 221, and at step 405 the cardholder device 201 verifies the signature of the KMS to determine if the signed message is authentic. If the signature is not verified to be valid, the process ends. If the signature is verified to be valid, the process proceeds to step 406 and the cardholder device 201 completes the registration form.
  • the cardholder device 201 fills in the requested information in the registration form.
  • the requested information may be appropriate to be considered necessary to identify the name of the payment card holder, the expiration date of the payment card, the billing source of the payment card, and / or the requester, such as a password, OTP, or a valid card holder. May contain additional information.
  • the cardholder device 201 may generate a random number that the issuer KMS 221 will use to link the cardholder's identifier to an account where funds accessible through the payment card have accumulated.
  • the completed registration form and generated random number are encrypted using a randomly generated second symmetric key, and the second symmetric key is encrypted using the public key of the issuer KMS 221 according to the appropriate IDPKC protocol.
  • the IDPKC protocol may be SAKKE.
  • the registration form, random number, and second symmetric key may be signed using the private key of the cardholder device 201.
  • a first symmetric key which is the same key used to encrypt the REG_FORM_REQ message, may be used to encrypt the KEY_PROV_REQ message.
  • step 408 the cardholder device 201 sends a key provisioning request (KEY_PROV_REQ) message to the issuer KMS 221, which includes the second symmetric key and encrypted additional registration information.
  • the cardholder device 201 receives a key provisioning (KEY_PROV) message containing the required security information.
  • issuer KMS 221 encrypts the KEY_PROV message using the public key of the public / private key pair held in cardholder device 201.
  • the public / private key pair may be stored in the TEE and signed by the issuer KMS 221.
  • the cardholder device 201 decrypts the KEY_PROV message and stores the security information, thereby completing the card registration process.
  • the security information is securely stored in the cardholder device 201.
  • the security information may be stored in a TEE or tamperproof module.
  • the KEY_PROV message may include security information needed for the cardholder device 201 to participate in a transaction made in the electronic payment system.
  • the KEY_PROV message contains the IDPKC private key of the cardholder device 201.
  • the security information may include a signature for an account security element that links the cardholder's identifier to an account associated with the payment card, and is executed by the cardholder device 201 in a series of payment card numbers, step 406.
  • the generated random number may further include a random number generated by the publisher KMS 221.
  • the cardholder identifier may be any suitable public identifier, such as the cardholder's email address or phone number.
  • the received security information may further include one or more KMS certificates.
  • Each KMS certificate may include information required for communicating with a particular KMS, such as the KMS's master public key, and the KMS's Unique Resource Identifier (URI) and / or the validity of the master public key.
  • Received KMS certificates may be stored in the KMS certificate store in the cardholder device 201.
  • step 501 issuer KMS 221 receives a REG_FORM_REQ message from cardholder device 201.
  • the REG_FORM_REQ message is signed by the cardholder device 201 and encrypted with a symmetric key encryption scheme, and the symmetric key is encrypted using the ElGamal public key of the issuer KMS 221.
  • step 502 the issuer KMS 221 decrypts the sealed symmetric key and uses the decrypted symmetric key in step 503 to decrypt the remaining encrypted content in the REG_FORM_REQ message.
  • step 504 the issuer KMS 221 checks whether the signature and identifier of the cardholder device 201 are valid. If the signature and identifier are invalid, the process ends. If the signature and identifier are valid, flow proceeds to step 505. Steps 502 to 504 may be omitted or changed depending on the encryption method of the cardholder device 201 and whether the REG_FORM_REQ message is digitally signed.
  • the issuer KMS 221 may identify the issuer from the information contained in the REG_FORM_REQ message. For example, for debit or credit cards, the first six or eleven digits of the card number can be used to identify the issuer. After the issuer is identified, issuer KMS 221 selects a registration form appropriate for the issuer. In step 506, the issuer KMS 221 digitally signs the form and sends a REG_FORM_RES message containing the signed form to the cardholder device 201. For example, issuer KMS 221 may sign the form using an Elliptic Curve Digital Signature Algorithm (ECDSA) or other suitable digital signature scheme.
  • EDSA Elliptic Curve Digital Signature Algorithm
  • step 507 the issuer KMS 221 receives a KEY_PROV_REQ message that includes the completed registration form.
  • issuer KMS 221 decrypts the digital envelope to obtain a second symmetric key and verifies the signature of the message. The decrypted second symmetric key is used to decrypt the rest of the message.
  • the issuer KMS 221 may communicate with the issuer to verify the information in the registration request. If the signature is valid and the information is verified from the issuer, issuer KMS 221 proceeds to step 508.
  • issuer KMS 221 generates the required security information including the private key corresponding to the cardholder's identifier.
  • issuer KMS 221 generates a new random number concatenated with the random number in the completed registration form provided from cardholder device 201, the cardholder's identifier, and the card identifier.
  • the card identifier may be a 16 digit card number.
  • the issuer KMS 221 generates a signature for the generated output.
  • the security information includes security information including an individual key, a new random number, a certificate storage location of a signed and trusted KMS.
  • the security information is signed and encrypted using a second symmetric key.
  • the security information including the private key, i.e. the resulting message KEY_PROV is sent to the cardholder device 201.
  • FIGS. 3, 4 and 5 A key provisioning process that can be used to provide the cardholder device 201 with an identifier of a payment card and a private key encrypted and linked is shown in FIGS. 3, 4 and 5.
  • REG_FORM_REQ, REG_FORM_RES, KEY_PROV_REQ, and KEY_PROV messages are sent via an online banking application.
  • other secure communication methods may be used during the key provisioning process.
  • the issuer KMS 221 sends a REG_FORM_RES message to inform the cardholder device 201 of the correct form for sending the required information of the payment card to be registered.
  • the form may be agreed in advance in the same manner as defined by industry standards.
  • the REG_FORM_REQ and REG_FORM_RES messages shown in FIG. 3 may be omitted, and the cardholder device 201 may generate a KEY_PROV_REQ message as an initial registration request message.
  • Private key elements can be provisioned at the merchant device 202 in a manner similar to that shown in FIGS.
  • the merchant device 202 may have the first private / public key pair embedded in the software provided by the acquirer 212.
  • the built-in initial private / public key pair can be used to encrypt and sign messages during the key provisioning process.
  • the takeover KMS 222 may verify the information included in the KEY_PROV_REQ message provided from the takeover 212 rather than the issuer 211.
  • the merchant device 202 is also provisioned with the personal decryption key as well as the personal signature key.
  • the acceptor 212 uses a method suitable for provisioning the required private key element to the payment gateway, the method shown in FIGS. 3-5 may be used, but is not limited thereto.
  • the private keys provided to the cardholder device 201, the merchant device 202 and the payment gateway 203 may then be used during a secure transaction involving a payment card.
  • 6-9 illustrate an IDPKC based secure transaction process, according to one embodiment.
  • the cardholder device 201, the merchant device 202, and the payment gateway 203 exchange a series of messages with each other during a secure transaction.
  • the steps performed by the cardholder device 201, the merchant device 202, and the payment gateway 203 are shown in flow charts in FIGS. 7, 8, and 9, respectively.
  • the transaction process can be in two stages, approval and settlement, similar to the SET system.
  • the payment step may be omitted and payment may be automatically transferred during the approval step.
  • a new transaction is initiated when the cardholder device 201 generates an initial request (INIT_REQ) to initiate a secure transaction.
  • the INIT_REQ message is sent to the merchant device 202 to request the IDPKC identifiers of the merchant device 202 and the payment gateway 203 and the KMS identifiers of each of the merchant device 202 and the payment gateway 203.
  • merchant device 202 and payment gateway 203 both use the same acceptor KMS 222. In other embodiments, merchant device 202 and payment gateway 203 may use different KMS.
  • the cardholder device 201 receives a response INIT_RES from the merchant device 202.
  • the INIT_RES message may include the unique transaction identifier provided from the merchant device 202 as well as the identifiers of the merchant device 202, the payment gateway 203 and the takeover KMS 222.
  • the merchant and gateway identifiers have different formats.
  • merchant identifiers may be prefixed with "merchant” and gateway identifiers may be prefixed with "gateway”.
  • the cardholder device 201 checks if the public identifier of the received payment gateway 203 matches the predicted payment gateway format. Also at step 703, the cardholder device 201 may verify the format of the received merchant ID. However, in general, verifying the format of the merchant identifier may be less important than verifying the payment gateway identifier, in that the information encrypted by the merchant identifier is less sensitive information than the information encrypted by the gateway identifier. If the INIT_RES message is signed by the merchant device 202, the signature can also be verified.
  • the trading process is initiated by the exchange of the Initiation Request INIT_REQ and Response INIT_RES messages, although in other embodiments the Initiation messages may be omitted.
  • the cardholder may skip the initiation step and immediately begin generating and encrypting the PI and OI of step 705.
  • step 703 if the payment gateway identifier and / or signature is not verified, the process ends. If so, the process proceeds to step 704 where the cardholder device 201 obtains the IDPKC public keys of the merchant device 202 and the payment gateway 203.
  • the cardholder device 201 encrypts payment information (PI) using the public key of the payment gateway 203, according to the IDPKC protocol, and uses the public key of the merchant device 202. Encrypt OI (order information).
  • PI payment information
  • OI order information
  • the PI can only read by the payment gateway 203 and the OI can only read by the merchant device 202.
  • a unique transaction identifier provided by the merchant device 202 may be included in both the PI and the OI to allow the payment gateway 203 to link the PI and the OI in the approval step.
  • the OI may include information linking communication and transaction requests between the cardholder device 201 and the merchant device 202 in a previous purchase and order process.
  • the OI does not include purchase information, such as a description of the purchased item or service or purchase conditions. Instead, purchase information is exchanged between the cardholder device 201 and the merchant device 202 in the shopping phase before the transaction start message INIT_REQ is sent.
  • the PIs provide financial information that is important for the financial network or issuer 211 to process the authorization from the cardholder device 201 to the payment gateway 203. In one embodiment, a secret random number is obtained during the key provisioning process.
  • the cardholder device 201 generates a double signature of the encrypted PI and encrypted OI using the cardholder's public identifier and the encrypted private key linked to it according to the IDPKC protocol.
  • the merchant device 202 and the payment gateway 203 can verify the signature using the cardholder's public identifier.
  • a double signature is generated by generating a message digest of both OI and PI, and signing a series of digests using ECCSI. The message digests of the OI and PIs are then sent in a transaction request message (PURCH_REQ) with a double signature.
  • step 707 the cardholder device 201 performs an additional encryption step before sending the PURCH_REQ message.
  • the cardholder device 201 generates any symmetric encryption key (hereafter third symmetric key).
  • the third symmetric key is used to encrypt the double signed PIs and account number, and the third symmetric key is sealed in a similar manner as in steps 402 and 407 of FIG. 4 using the public key of the payment gateway 203. .
  • the cardholder device 201 sends a PURCH_REQ message to the merchant device 202.
  • the PURCH_REQ message may include a double signed OI, an encrypted cipher text of a double signed PI, an account number, and an encrypted third symmetric key.
  • the PURCH_REQ message may include a KMS signature that links the cardholder identifier to the account number in the manner described in step 508 of FIG.
  • the cardholder device 201 then receives a confirmation in the form of a signed PURCH_RES message that the authorization has been granted.
  • the cardholder device 201 may verify the signature of the merchant and perform an action such as displaying a message to the cardholder based on the contents of the PURCH_RES message.
  • Merchants can independently complete cardholder orders by delivering contracted items or performing services.
  • step 801 the merchant device 202 receives the PURCH_REQ message and at step 802 decrypts the message using the IDPKC private key of the merchant device 202. Since the PI in the PURCH_REQ message is encrypted using the public key of the payment gateway 203, the merchant device 202 cannot read the contents of the PI.
  • merchant device 202 uses the received OI to determine a payment amount to be approved.
  • the OI may include the amount to be authorized, and merchant device 202 may use the information contained in the OI to identify the amount agreed to by the cardholder in the past purchase process.
  • Merchant device 202 may obtain a unique transaction identifier from the OI.
  • merchant device 202 may encrypt the transaction information using the public key of payment gateway 203 in accordance with the IDPKC protocol.
  • the transaction information may include a payment amount and a transaction identifier to be approved.
  • the same computationally efficient two layer encryption scheme as described in steps 402, 407 and 707 is used.
  • the transaction information is encrypted using the fourth symmetric key, and the fourth symmetric key is encrypted using the public key of the payment gateway 203 according to the IDPKC protocol.
  • a SAKKE encryption scheme may be used, and in other embodiments, another IDPKC protocol scheme may be selected.
  • merchant device 202 signs encrypted transaction information using IDPKC.
  • ECCSI signatures may be used, and in other embodiments, other signature schemes may be selected.
  • an authorization request (AUTH_REQ) containing the signed encrypted transaction information and the received encrypted payment information is sent to the payment gateway 203.
  • the authorization request (AUTH_REQ) may include the received encrypted PI and encrypted transaction information, and may further include a KMS signature that links the cardholder's identifier to the account.
  • an encrypted fourth symmetric key may be included in the grant request AUTH_REQ.
  • an authorization response (AUTH_RES) is received.
  • the authorization response AUTH_RES tells whether the payment has been approved by the issuer 211.
  • the AUTH_RES message may include a symmetric key encrypted using the public key of the merchant device 202.
  • the merchant device 202 may decrypt the symmetric key and use the decrypted symmetric key to decrypt other encrypted content in the AUTH_RES message.
  • the AUTH_RES message may be signed by the payment gateway 203. If the signature is valid, the authorization has been made and the merchant device 202 stores the authorization response.
  • the AUTH_RES message may further include a payment token to be used when making a payment through a payment request, and the payment token may be stored in the merchant device 202.
  • step 808 merchant device 202 After receiving the AUTH_RES message, at step 808, merchant device 202 generates a transaction reply message (PURCH_RES).
  • the transaction reply message PURCH_RES is digitally signed using ECCSI and sent to the cardholder device 201.
  • the merchant device 202 determines whether to complete the transaction based on the approval.
  • merchant device 202 may send a transaction response message (PURCH_RES) prior to the approval process.
  • the cardholder device 201 may then send a query message for the approval result to the merchant device 202.
  • step 901 the payment gateway receives the grant request.
  • step 902 payment gateway 203 decrypts the PI and transaction information using IDPKC.
  • the payment gateway 203 uses the private key of the payment gateway 203 to decrypt the fourth symmetric key included in the received AUTH_REQ message.
  • the payment gateway 203 decrypts the transaction information using the decrypted fourth symmetric key and verifies the signature of the merchant device 202.
  • the payment gateway 203 decrypts the envelope of the cardholder to obtain another symmetric key, and uses the obtained symmetric key to decrypt the PI.
  • the payment gateway 203 may verify the dual signature to verify that the PI was signed using the cardholder's private key and that the PI was not forged.
  • the payment gateway 203 may verify the KMS signature to verify that the identifier represents the cardholder's account.
  • the payment gateway 203 may check that the transaction identifier and the amount presented by the merchant device 202 match the values in the PI.
  • the payment gateway 203 communicates with the issuer 211 identified by the payment information to determine if the payment amount presented in the transaction information can be accepted.
  • the payment gateway 203 can use any suitable method for communicating with the issuer 211.
  • the payment gateway 203 may use IDPKC encryption and signatures when communicating with the issuer 211, or may use other types of encrypted protocols.
  • the payment gateway 203 After receiving the authorization response from the issuer 211, in step 904, the payment gateway 203 generates an authorization response message (AUTH_RES) using its identifier and digitally signs it using ECCSI.
  • the AUTH_RES message informs the merchant device 202 if the issuer 211 has approved payment of the requested amount.
  • the AUTH_RES message may further include a payment token.
  • the AUTH_RES message may be encrypted using the symmetric key enclosed with the identifier of the merchant device 202, and a SAKKE encryption scheme may be used.
  • an encrypted AUTH_RES message containing the enclosed symmetric key is sent to the merchant device 202.
  • the electronic device 1000 may be a card holder device 201 and a merchant device 202.
  • the electronic device 1000 may include a memory 1100 and a processor 1200, and may include a display 1300 that displays the received answer.
  • the electronic device 1000 may include a user interface 1400, and the electronic device 1000 may perform the processes described above based on a user input through the user interface 1400.
  • the configuration of the electronic device 1000 is not limited thereto.
  • the payment process proceeds as follows. After a certain period of time (eg, the last business day) and the ordering phase, the merchant device 202 requests a payment by generating a payment request and digitally signing the payment request using an IDPKC signature.
  • the IDPKC signature scheme may be ECCSI.
  • the payment request may include the final amount of the transaction and the transaction identifier, and may also include other information about the transaction.
  • the payment request may be enclosed using a randomly generated symmetric key, which is a symmetric key enclosed using an IDPKC encryption scheme by a payment gateway identifier.
  • the IDPKC encryption scheme may be SAKKE.
  • the merchant device 202 sends the payment request message CLEAR_REQ including the encrypted payment request and the encrypted token to the payment gateway 203.
  • the payment gateway 203 When the payment gateway 203 receives the CLEAR_REQ message, the payment gateway 203 decrypts the enclosed symmetric key and decrypts the payment request using the decrypted symmetric key. In one embodiment, the payment gateway 203 may verify the signature signed by the merchant device 202 to verify that the payment request was signed using the merchant's private key. The payment gateway 203 may use the information contained in the payment request and payment token to generate a request to be sent over the financial network with the issuer 211. In response to the request from the payment gateway 203, the issuer 211 transfers funds to the acquirer 212.
  • the payment gateway 203 generates and digitally signs a payment reply message CLEAR_RES using an IDPKC signature such as ECCSI.
  • the IDPKC signature scheme may be ECCSI.
  • the payment answer message CLEAR_RES may be encrypted using a randomly generated symmetric key, which is enclosed by an identifier of the merchant device 202 in IDPKC encryption.
  • the IDPKC encryption scheme may be SAKKE.
  • the signed encrypted CLEAR_RES message is sent to the merchant device 202, which can decrypt the symmetric key contained in the SAKKE envelope and the rest of the content in the CLEAR_RES message. After verifying the signature, the merchant device 202 may store a CLEAR_RES message that will be used to settle the transfer received from the takeover 212.
  • one embodiment describes a single payment request
  • multiple transactions may be included in a single payment request message.
  • a separate payment process may be omitted.
  • the payment specified in the approval request may be transferred from issuer 211 to takeover 212 as soon as issuer 211 receives the approval request.
  • the IDPKC based secure transaction procedures described above may be applied to offline transactions.
  • the embodiments described above may be applied even when purchasing in a store by replacing an existing credit card now terminal with electronic devices compatible with the IDPKC based protocols described above.
  • a method of performing a secure transaction in an electronic payment system comprising: receiving security information including a private key of a cardholder from a KMS, encrypting payment information using a payment gateway's public key, and using a merchant's public key Encrypt order information, generate a double signature of encrypted payment information and encrypted order information using a private key, send a transaction request containing the double signed payment information and order information to the merchant, request a transaction from the merchant You may receive an answer to.
  • the merchant device 202 receives a transaction request that includes encrypted payment information encrypted according to the IDPKC protocol and double signing of the encrypted order information, and decrypts the order information using the merchant private key, according to the IDPKC protocol. Can be.
  • an approval request including the received encrypted payment information and the encrypted transaction information may be transmitted to the payment gateway, and after receiving the approval response, it may be determined whether to complete the requested transaction based on the received approval response.
  • the received encrypted payment information may include a payment amount to be approved.
  • the merchant device 202 may also obtain transaction information, including the payment amount to be approved, from the received order information.
  • transaction information can be encrypted with the payment gateway's public key and the encrypted payment information can be signed.
  • An authorization request is generated that includes the signed transaction information and the received payment information, and the generated authorization request is sent to the payment gateway.
  • the transaction information can be encrypted using the fourth symmetric key, and according to IDPKC, the fourth symmetric key can be encrypted using the payment gateway's public key. have.
  • the encrypted fourth symmetric key can be included in the authorization request.
  • the payment gateway 203 may receive an authorization request that includes encrypted payment information and encrypted transaction information.
  • the account holding entity identified by the payment information is used to decrypt payment information and transaction information using the payment gateway's private key and to verify that the payment amount included in the transaction information can be accepted. entity).
  • an authorization request including information on whether the payment is authorized using the merchant's public key may be encrypted, and an authorization response may be transmitted to the merchant.
  • the merchant device 202 that processes the secure transaction in the electronic payment system may include a non-transitory computer readable store for storing computer program instructions.
  • the merchant device 202 receives a transaction request that includes double signing of encrypted payment information and encrypted order information according to IDPKC, decrypts the order information using the merchant private key according to IDPKC, Stored computer program instructions for sending an authorization request, including encrypted payment information and encrypted transaction information, to the payment gateway, receiving an authorization response, and determining whether to complete the requested transaction based on the received authorization response. It may include one or more processors for execution.
  • the payment gateway 203 which processes secure transactions in an electronic payment system, may include a non-transitory computer readable store for storing computer program instructions.
  • the payment gateway receives an authorization request including encrypted payment information and encrypted transaction information, decrypts the payment information and the transaction information using a payment gateway private key according to IDPKC, and includes the payment information in the payment information. Encrypts the authorization request with the account holding entity identified by the payment information to ensure that the payment amount received can be accepted, and includes information as to whether the payment was authorized using the merchant's public key, according to IDPKC And one or more processors to execute the stored computer program instructions that enable the sending of an authorization response to the merchant.
  • a KMS providing a private key in an electronic payment system may include a non-transitory computer readable store for storing computer program instructions. Also, receive a registration request and a symmetric key including a cardholder's public identifier, generate a private key linked to the cardholder's public identifier according to IDPKC, encrypt the private key with the symmetric key, and encrypt the And one or more processors for executing the stored computer program instructions that transmit security information including the private key.
  • the electronic payment system can include a cardholder device 201, a merchant device 202, a payment gateway 203, and KMS 221, 222.
  • Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media.
  • Computer readable media may include both computer storage media and communication media.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information delivery media.

Abstract

Provided are an electronic payment method and an electronic device which use an ID-based public key cryptography. Provided is an electronic payment method comprising the steps of: receiving, from a key management service server for storing personal information of a user, the user's private key generated according to an identity-based public key cryptography (IDPKC) protocol; encrypting payment information by using a public key of a payment device generated according to the IDPKC protocol and encrypting order information by using a public key of a seller device generated according to the IDPKC protocol; generating a double signature of the payment information encrypted and the order information encrypted by using the private key according to the IDPKC protocol; transmitting a transaction request including the payment information and the order information that was doubly signed to the seller device; and receiving, from the seller device, an answer to the transaction request.

Description

ID 기반 공개 키 암호화를 이용한 전자 지불 방법 및 전자 디바이스Electronic payment method and electronic device using ID-based public key encryption
전자 지불 시스템에서 사용되는 전자 지불 방법, 전자 디바이스 및 컴퓨터 프로그램 명령어에 관한 것이다. 특히, 전자 지불 시스템 내에서 ID기반 공개 키 암호화(Identity-based public key cryptography, 이하 IDPKC)를 이용하는 전자 지불 방법 및 전자 디바이스에 것에 관한 것이다.An electronic payment method, an electronic device and computer program instructions used in an electronic payment system. In particular, the present invention relates to an electronic payment method and an electronic device using ID-based public key cryptography (IDPKC) in an electronic payment system.
전자 지불 시스템은 사용자가 신용카드 또는 직불카드와 같은 지불 카드를 이용하여 지불할 수 있게 해준다. 지불 카드를 이용하는 거래는 아래의 당사자들을 포함한다. (1) 지불 카드 등록 명의자인 카드 소지자(Cardholder), (2) 지불 카드를 발행한 금융기관인 발행자(Issuer), (3) 물품 또는 상품 제공자인 가맹점(Merchant), (4) 가맹점을 대신하여 지불을 승인하는 금융기관인 인수자(Acquirer), 및 (5) 가맹점 지불 메시지들을 처리하는 전자 디바이스인 페이먼트 게이트웨이(Payment Gateway).Electronic payment systems allow users to pay using a payment card, such as a credit or debit card. Transactions using a payment card include the following parties. (1) Cardholder, the holder of the payment card registration, (2) Issuer, the financial institution that issued the payment card, (3) Merchant, the goods or goods provider, and (4) Payment on behalf of the merchant Acquirer, which is a financial institution that authorizes, and (5) Payment Gateway, which is an electronic device that processes merchant payment messages.
카드 기반 전자 지불 시스템을 위해 다양한 프로토콜들이 개발되어 왔다. 예를 들어, SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security) 보안을 활용했던 초창기 지불 시스템에서는, 가맹점이 인증서 및 이에 대응하는 공개/개인 키 쌍을 보관하였다. 카드 소지자는 가맹점을 검증하고, 카드 정보가 전송될 수 있는 보안 채널을 구축하기 위해 인증서를 이용하였는데, 카드 소지자 및 가맹점만이 카드번호를 이용할 수 있었다. 다만, 가맹점이 지불 카드 상세정보에 직접 접근할 수 있으므로 카드 소지자는 가맹점이 카드 번호를 도용하지 않을 것이라는 신뢰를 가져야 하였는데, 이후에 가맹점에 의해 저장된 신용 카드 상세정보가 도용되는 이른바 사이버 공격 사건이 수 건 발생하면서 이러한 지불 시스템에 대한 우려가 제기되었다.Various protocols have been developed for card-based electronic payment systems. For example, in early payment systems that used Secure Sockets Layer (SSL) or Transport Layer Security (TLS) security, merchants kept certificates and their corresponding public / private key pairs. The cardholder used the certificate to verify the merchant and establish a secure channel through which the card information can be transmitted. Only the cardholder and the merchant could use the card number. However, since merchants have direct access to payment card details, the cardholder had to trust that the merchant would not steal the card number, after which a number of so-called cyber attacks involving the credit card details stored by the merchant were stolen. Concerns about these payment systems were raised as the incident occurred.
SET(Secure Electronic Transaction) 프로토콜 하에서, 카드 소지자들은 인증서, 암호화되지 않은 주문 상세정보 및 게이트웨이 공개 키를 이용하여 암호화된 은행 계좌 상세정보를 가맹점으로 전송한다. SET에서는 OI(Order Information)가 주문 상세정보를 의미하며, PI(Payment Information)는 카드 소지자의 은행 계좌 상세정보를 의미한다. 이후 가맹점은 카드 소지자의 암호화된 PI 및 암호화된 OI를 게이트웨이로 전달함으로써 지불 승인을 요청한다. SET 프로토콜에서, "이중 서명"은 다른 두 수신자들을 위한 2개의 메시지들, 즉, 가맹점을 위한 OI 및 게이트웨이를 위한 PI를 링크하기 위해 이용된다. SET 시스템 하에서, 가맹점은 카드 소지자의 은행 계좌 상세정보에 접근할 수 없으므로 카드 소지자의 개인정보가 보호된다. 다만, SET 프로토콜의 주요 결점은 카드 소지자의 인증서를 다루기 위해 PKI(Public-Key Infrastructure, 공개 키 기반구조)가 요구된다는 것인데, PKI는 인증기관(Certificate Authority, 이하 CA)에 의해 반드시 서명되어야 한다. 그 결과 초기 지불 시스템이 시행되었던 것과 비교했을 때, 가맹점 측의 비용 증가 문제와 인증과정이 복잡하다는 문제가 존재한다.Under the Secure Electronic Transaction (SET) protocol, cardholders send encrypted bank account details to merchants using certificates, unencrypted order details, and gateway public keys. In SET, OI (Order Information) means order details and PI (Payment Information) means card holder's bank account details. The merchant then requests payment authorization by forwarding the cardholder's encrypted PI and encrypted OI to the gateway. In the SET protocol, "dual signature" is used to link two messages for the other two recipients, an OI for the merchant and a PI for the gateway. Under the SET system, merchants do not have access to the cardholder's bank account details, thereby protecting the cardholder's personal information. The main drawback of the SET protocol, however, is that a public-key infrastructure (PKI) is required to handle the cardholder's certificate, which must be signed by a Certificate Authority (CA). As a result, there is a problem of increased cost on the merchant side and a complicated authentication process when compared to the initial payment system.
사용자의 개인 정보를 저장하는 키 매니지먼트 서비스(key management service, 이하 KMS) 서버로부터, ID기반 공개키 암호 방식(Identity-based public key cryptography, 이하 IDPKC) 프로토콜에 따라 생성된 사용자의 개인 키를 수신하는 단계; IDPKC 프로토콜에 따라 생성된, 결제 디바이스의 공개 키를 이용하여 지불 정보(Payment Information)를 암호화하고, IDPKC 프로토콜에 따라 생성된, 판매자 디바이스의 공개 키를 이용하여 주문 정보(Order Information)를 암호화하는 단계; IDPKC 프로토콜에 따라, 개인 키를 이용하여 암호화된 지불 정보 및 암호화된 주문 정보의 이중 서명(dual signature)을 생성하는 단계; 이중 서명된 지불 정보 및 주문 정보를 포함하는 거래 요청을 판매자 디바이스로 전송하는 단계; 및 판매자 디바이스로부터 거래 요청에 대한 답변을 수신하는 단계를 포함하는 전자 지불 방법을 제공할 수 있다.Receiving a user's private key generated according to an identity-based public key cryptography (IDPKC) protocol from a key management service (KMS) server that stores the user's personal information step; Encrypting payment information using the public device's public key generated according to the IDPKC protocol and encrypting the order information using the public key of the merchant device generated according to the IDPKC protocol ; Generating a dual signature of encrypted payment information and encrypted order information using a private key according to the IDPKC protocol; Sending a transaction request to the merchant device, wherein the transaction request includes dual signed payment information and order information; And receiving an answer to the transaction request from the merchant device.
도 1은 일 실시예에 따른, 전자 지불 시스템의 흐름도이다.1 is a flow diagram of an electronic payment system, according to one embodiment.
도 2는 일 실시예에 따른, 전자 지불 시스템의 도면이다.2 is a diagram of an electronic payment system, according to one embodiment.
도 3은 일 실시예에 따른, 키 프로비저닝(provisioning) 과정 중에 일련의 메시지들이 전송되는 방법의 흐름도이다.3 is a flow diagram of a method for transmitting a series of messages during a key provisioning process, according to one embodiment.
도 4는 일 실시예에 따른, 도 3의 키 프로비저닝 과정 중에 카드 소지자 디바이스에 의해 수행되는 방법의 흐름도이다.4 is a flowchart of a method performed by a cardholder device during the key provisioning process of FIG. 3, according to one embodiment.
도 5는 일 실시예에 따른, 도 3의 키 프로비저닝 과정 중에 KMS(key management service)에 의해 수행되는 방법의 흐름도이다.5 is a flowchart of a method performed by a key management service (KMS) during the key provisioning process of FIG. 3, according to an embodiment.
도 6은 일 실시예에 따른, 도 2의 전자 지불 시스템에서 거래 진행 중에 일련의 메시지들이 전송되는 방법의 흐름도이다.6 is a flowchart of a method in which a series of messages are transmitted during a transaction in the electronic payment system of FIG. 2, according to one embodiment.
도 7은 일 실시예에 따른, 도 6의 거래 과정 중에 카드 소지자에 의해 수행되는 방법의 흐름도이다.7 is a flowchart of a method performed by a cardholder during the transaction process of FIG. 6, according to one embodiment.
도 8은 일 실시예에 따른, 도 6의 거래 과정 중에 가맹점에 의해 수행되는 방법의 흐름도이다.8 is a flowchart of a method performed by a merchant during the transaction process of FIG. 6, according to one embodiment.
도 9는 일 실시예에 따른, 도 6의 승인 과정 중에 페이먼트 게이트웨이에 의해 수행되는 방법의 흐름도이다.9 is a flowchart of a method performed by a payment gateway during the approval process of FIG. 6, according to one embodiment.
도 10은 일 실시예에 따른, 카드 소지자 디바이스의 구성을 나타내는 블록도이다.10 is a block diagram illustrating a configuration of a cardholder device, according to an embodiment.
본 개시의 제1 측면은, 사용자의 개인 정보를 저장하는 키 매니지먼트 서비스(key management service, 이하 KMS) 서버로부터, ID기반 공개키 암호 방식(Identity-based public key cryptography, 이하 IDPKC) 프로토콜에 따라 생성된 사용자의 개인 키를 수신하는 단계; IDPKC 프로토콜에 따라 생성된, 결제 디바이스의 공개 키를 이용하여 지불 정보(Payment Information)를 암호화하고, IDPKC 프로토콜에 따라 생성된, 판매자 디바이스의 공개 키를 이용하여 주문 정보(Order Information)를 암호화하는 단계; IDPKC 프로토콜에 따라, 개인 키를 이용하여 암호화된 지불 정보 및 암호화된 주문 정보의 이중 서명(dual signature)을 생성하는 단계; 이중 서명된 지불 정보 및 주문 정보를 포함하는 거래 요청을 판매자 디바이스로 전송하는 단계; 및 판매자 디바이스로부터 거래 요청에 대한 답변을 수신하는 단계를 포함하는 전자 지불 방법을 제공할 수 있다.A first aspect of the present disclosure is generated according to an identity-based public key cryptography (IDPKC) protocol from a key management service (KMS) server that stores personal information of a user. Receiving a private key of an authorized user; Encrypting payment information using the public device's public key generated according to the IDPKC protocol and encrypting the order information using the public key of the merchant device generated according to the IDPKC protocol ; Generating a dual signature of encrypted payment information and encrypted order information using a private key according to the IDPKC protocol; Sending a transaction request to the merchant device, wherein the transaction request includes dual signed payment information and order information; And receiving an answer to the transaction request from the merchant device.
또한, 본 개시의 제2 측면은, 적어도 하나의 프로그램이 저장되는 메모리; 및 메모리에 저장된 적어도 하나의 프로그램을 실행함으로써 전자 지불 시스템 내 안전 거래를 수행하도록 하는 프로세서를 포함하고, 적어도 하나의 프로그램은, 사용자의 개인 정보를 저장하는 KMS 서버로부터, IDPKC 프로토콜에 따라 생성된 카드 소지자의 개인 키를 수신하는 단계; IDPKC 프로토콜에 따라 생성된, 결제 디바이스의 공개 키를 이용하여 지불 정보를 암호화하고, IDPKC 프로토콜에 따라 생성된, 판매자 디바이스의 공개 키를 이용하여 주문 정보를 암호화하는 단계; IDPKC 프로토콜에 따라, 개인 키를 이용하여 암호화된 지불 정보 및 암호화된 주문 정보의 이중 서명을 생성하는 단계; 이중 서명된 지불 정보 및 주문 정보를 포함하는 거래 요청을 판매자 디바이스로 전송하는 단계; 및 판매자 디바이스로부터 거래 요청에 대한 답변을 수신하는 단계;를 실행하는 명령어들을 포함하는 것을 특징으로 하는 전자 디바이스를 제공할 수 있다.In addition, a second aspect of the present disclosure, a memory that stores at least one program; And a processor for executing a secure transaction in the electronic payment system by executing at least one program stored in the memory, wherein the at least one program is a card generated in accordance with the IDPKC protocol from a KMS server storing personal information of the user Receiving a holder's private key; Encrypting payment information using the public key of the payment device, generated according to the IDPKC protocol, and encrypting the order information using the public key of the merchant device, generated according to the IDPKC protocol; Generating a double signature of encrypted payment information and encrypted order information using the private key according to the IDPKC protocol; Sending a transaction request to the merchant device, wherein the transaction request includes dual signed payment information and order information; And receiving an answer to the transaction request from the seller device. The electronic device may include instructions for executing the transaction.
또한, 본 개시의 제3 측면은, 제1 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 포함할 수 있다.The third aspect of the present disclosure may also include a computer readable recording medium having recorded thereon a program for executing the method of the first aspect on a computer.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙임으로써 중복 설명을 생략한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and duplicate descriptions are omitted by attaching similar reference numerals to similar parts throughout the specification.
아래에서 설명되는 전자 지불 시스템은 카드 기반 전자 지불 시스템일 수 있으나, 이외에도 임의의 적합한 지불 수단에 기반한 전자 지불 시스템일 수 있다.The electronic payment system described below may be a card based electronic payment system, but in addition it may be an electronic payment system based on any suitable payment means.
카드 기반 전자 지불 시스템을 통한 거래는 통상적으로 카드 협회(Cards Association)가 설정한 규정에 따라 이뤄지는데, 보통 두 단계를 거치게 된다. 첫 번째 단계에서, 카드 소지자는 가맹점에게 지불 카드의 상세정보를 제공하고 가맹점은 게이트웨이에 승인 요청을 제출한다. 페이먼트 게이트웨이는 발행자에게 요청을 전달하면 발행자는 카드 소지자의 계좌가 유효한지 및 거래 대금을 지불할 수 있는 충분한 자금이 이용가능한지 검증한다. 해당 단계에서 자금은 "홀딩"되고 카드 소지자의 계좌에서 차감되지만, 가맹점으로 이체되진 않는다. "결제" 단계로 알려진 두 번째 단계에서, 가맹점은 통상적으로 마지막 영업일에 승인된 거래들을 일괄적으로 게이트웨이에 제출한다. 가맹점은 결제 요청을 생성하여 게이트웨이로 전송하고, 게이트웨이는 카드 협회에 결제 요청을 전달하면 카드 협회는 발행자로부터 지불금을 인출하여 인수자에게 송금한다. 이후 인수자는 발행자로부터 지불금을 송금 받아 이를 가맹점에 지불한다.Transactions through a card-based electronic payment system are usually carried out in accordance with regulations established by the Cards Association, which usually takes two steps. In the first step, the cardholder provides the merchant with details of the payment card and the merchant submits an authorization request to the gateway. The Payment Gateway forwards the request to the issuer, which verifies that the cardholder's account is valid and that sufficient funds are available to pay the transaction. At that stage, the funds are "held" and deducted from the cardholder's account, but are not transferred to the merchant. In the second stage, known as the "payment" stage, the merchant typically submits the approved transactions to the gateway in batches on the last business day. The merchant creates and sends a payment request to the gateway, and the gateway sends the payment request to the card association, and the card association withdraws the payment from the issuer and sends it to the acquirer. The acquirer then receives the remittance from the issuer and pays it to the merchant.
본 명세서에서, 판매자 디바이스는 판매자 서버를 포함할 수 있고, 결제 디바이스는 결제 서버를 포함할 수 있다.In this specification, the merchant device may include a merchant server, and the payment device may include a payment server.
도 1은 일 실시예에 따른, 전자 지불 시스템의 흐름도이다.1 is a flow diagram of an electronic payment system, according to one embodiment.
전자 지불 시스템에서 안전 거래를 수행하는 방법에 있어서, 단계 101에서 카드 소지자 디바이스는 사용자의 개인 정보를 저장하는 키 매니지먼트 서비스(key management service, 이하 KMS) 서버로부터, ID기반 공개키 암호 방식(Identity-based public key cryptography, 이하 IDPKC) 프로토콜에 따라 생성된 사용자의 개인 키를 수신한다. 단계 102에서, 카드 소지자 디바이스는 IDPKC 프로토콜에 따라 생성된, 결제 디바이스(이하, 페이먼트 게이트웨이)의 공개 키를 이용하여 지불 정보(Payment Information)를 암호화하고, IDPKC 프로토콜에 따라 생성된, 판매자 디바이스(이하, 가맹점 디바이스라고 함)의 공개 키를 이용하여 주문 정보(Order Information)를 암호화한다. 단계 103에서, 카드 소지자 디바이스는 IDPKC 프로토콜에 따라, 개인 키를 이용하여 암호화된 지불 정보 및 암호화된 주문 정보의 이중 서명(dual signature)을 생성한다. 단계 104에서, 카드 소지자 디바이스는 이중 서명된 지불 정보 및 주문 정보를 포함하는 거래 요청을 판매자 디바이스로 전송한다. 단계 105에서, 카드 소지자 디바이스는 판매자 디바이스로부터 거래 요청에 대한 답변을 수신한다.In the method of performing a secure transaction in an electronic payment system, in step 101, the cardholder device receives an ID-based public key cryptography method from a key management service (KMS) server that stores a user's personal information. Receive a user's private key generated according to the public key cryptography (IDPKC) protocol. In step 102, the cardholder device encrypts the Payment Information using the public key of the payment device (hereinafter referred to as Payment Gateway), generated according to the IDPKC protocol, and generates a merchant device (hereinafter referred to as IDPKC protocol). The order information is encrypted using the public key of the affiliated device. In step 103, the cardholder device generates a dual signature of encrypted payment information and encrypted order information using the private key, according to the IDPKC protocol. In step 104, the cardholder device sends a transaction request to the merchant device that includes the dual signed payment information and the order information. In step 105, the cardholder device receives a response to the transaction request from the merchant device.
도 2는 일 실시예에 따른, 전자 지불 시스템을 나타내는 도면이다. 전자 지불 시스템은 카드 기반 지불 시스템으로서, 카드 소지자는 가맹점으로부터 물품 또는 서비스를 구매하기 위해 직불 또는 신용 카드와 같은 지불 카드를 사용할 수 있다. 전자 지불 시스템의 일 실시예는 전자 디바이스로서 카드 소지자 디바이스(201), 가맹점 디바이스(202), 페이먼트 게이트웨이(203), 발행자(211), 인수자(212)를 포함한다. 카드 소지자 디바이스(201)은 스마트 폰, 테블릿, 랩톱(laptop) 또는 데스크톱(desktop)과 같은 적합한 전자 디바이스일 수 있다.2 is a diagram illustrating an electronic payment system according to an embodiment. An electronic payment system is a card-based payment system in which a cardholder can use a payment card, such as a debit or credit card, to purchase goods or services from a merchant. One embodiment of an electronic payment system includes a cardholder device 201, merchant device 202, payment gateway 203, issuer 211, and acceptor 212 as an electronic device. The cardholder device 201 may be a suitable electronic device such as a smart phone, tablet, laptop or desktop.
전자 지불 시스템은 하나 이상의 키 매니지먼트 개체들인 KMS를 더 포함할 수 있다. KMS는 서버일 수 있다. 발행자(211) 및 인수자(212) 각각은 독립된 KMS를 이용하는데, 독립된 KMS들은 서로 안전하게 통신할 수 있다. 일 실시예에서, 단일 KMS 개체는 발행자 KMS(221) 및 인수자 KMS(222) 모두의 기능을 수행할 수 있다. 발행자 KMS(221) 및 인수자 KMS(222)는 전자 지불 시스템 내의 다른 전자 디바이스들에게 개인 키 요소(material)를 안전하게 분배할 수 있다.The electronic payment system can further include a KMS, which is one or more key management entities. KMS can be a server. Each of the issuer 211 and the acquirer 212 use separate KMS, which can communicate securely with each other. In one embodiment, a single KMS entity may perform the functions of both issuer KMS 221 and acquirer KMS 222. The issuer KMS 221 and the acquirer KMS 222 may securely distribute the private key material to other electronic devices in the electronic payment system.
카드 소지자 디바이스(201), 가맹점 디바이스(202), 페이먼트 게이트웨이(203), 발행자 KMS(221) 및 인수자 KMS(222) 각각은, 컴퓨터 프로그램 명령어가 저장될 수 있는 컴퓨터로 읽을 수 있는 기록매체 형태의 메모리(201a, 202a, 203a, 221a, 222a)를 포함할 수 있고, 저장된 컴퓨터 프로그램 명령어를 실행하기 위한 적합한 처리 수단(201b, 202b, 203b, 221b, 222b)을 더 포함할 수 있다. 처리 수단은 하나 이상의 프로세서를 포함할 수 있다. 컴퓨터 프로그램 명령어가 실행되는 전자 디바이스에서 개시된 방법들이 실시될 수 있도록 실시예에 따라 명령어는 어댑트(adapt)될 수 있다.Each of the cardholder device 201, the merchant device 202, the payment gateway 203, the issuer KMS 221 and the takeover KMS 222 are in the form of a computer readable recording medium on which computer program instructions may be stored. Memory 201a, 202a, 203a, 221a, 222a, and may further include suitable processing means 201b, 202b, 203b, 221b, 222b for executing stored computer program instructions. The processing means may comprise one or more processors. Instructions may be adapted in accordance with an embodiment such that the methods disclosed in an electronic device on which computer program instructions are executed may be practiced.
카드 소지자 디바이스(201), 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203)는 KMS에 대한 서명된 디지털 문서 형태의 공개 정보인 KMS 인증서를 제공받을 수 있다. KMS 인증서에 포함될 수 있는 정보는 KMS의 마스터 공개 키, KMS의 URI(Unique Resource Identifier) 및 마스터 공개 키의 유효기간 등일 수 있다. IDPKC(identity-based public key cryptography) 프로토콜에 따라, 거래 중에 정보를 암호화하는데 KMS 공개 키가 이용될 수 있다.The cardholder device 201, the merchant device 202, and the payment gateway 203 may be provided with a KMS certificate, which is public information in the form of a signed digital document for the KMS. Information that may be included in the KMS certificate may be a master public key of the KMS, a unique resource identifier (URI) of the KMS, and a validity period of the master public key. According to the identity-based public key cryptography (IDPKC) protocol, a KMS public key may be used to encrypt information during a transaction.
KMS 인증서 내 정보는, 개체가 KMS와 개인 키 요소를 획득하기 위한 통신을 할 수 있게 해주며, 개인 키 요소는 이후 안전 거래를 수행하는데 이용된다. 일 실시예에서, 발행자 KMS(221)의 인증서는 카드 소지자 디바이스(201)로 안전하게 프로비저닝되고, 인수자 KMS(222)의 인증서 또한 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203)로 안전하게 프로비저닝된다. KMS 인증서의 진정성(integrity) 및 무결성(authenticity)을 충분히 보장하는 임의의 적합한 메커니즘을 통해 KMS 인증서가 분배될 수 있다. KMS 인증서가 전자 디바이스에 프로비저닝된 이후 KMS 인증서는 제 3 자와 공유될 필요가 없으므로, KMS 인증서는 CA에 의해 서명될 필요가 없다.The information in the KMS certificate allows the entity to communicate with the KMS to obtain a private key element, which is then used to conduct secure transactions. In one embodiment, the certificate of issuer KMS 221 is securely provisioned to cardholder device 201, and the certificate of acquirer KMS 222 is also securely provisioned to merchant device 202 and payment gateway 203. The KMS certificate may be distributed through any suitable mechanism that fully ensures the integrity and integrity of the KMS certificate. Since the KMS certificate does not need to be shared with third parties after the KMS certificate has been provisioned on the electronic device, the KMS certificate does not need to be signed by a CA.
일 실시예에서, KMS 인증서를 분배하는데 사용될 수 있는 방법은 아래의 방법들을 포함한다. 온라인 뱅킹 어플리케이션을 통해 KMS 인증서를 전송하는 방법, 카드 소지자 디바이스(201), 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203) 상에 KMS 인증서를 미리 로딩(pre-loading)하는 방법, 또는 가맹점 디바이스(202) 또는 페이먼트 게이트웨이(203)에 안전하게 전송 및 설치되는 소프트웨어에 KMS 인증서가 포함되는 방법 등으로 KMS 인증서가 분배될 수 있다. 네트워크를 통해 KMS 인증서를 전송할 때, 부트스트래핑(bootstrapping) 프로세스를 통해 획득된 트랜스포트 키가 이용될 수 있다.In one embodiment, methods that can be used to distribute KMS certificates include the following methods. A method of transmitting a KMS certificate via an online banking application, a method of pre-loading a KMS certificate on the cardholder device 201, the merchant device 202, and the payment gateway 203, or the merchant device 202. The KMS certificate may be distributed in such a way that the KMS certificate is included in the software securely transmitted and installed in the payment gateway 203. When transmitting a KMS certificate over a network, a transport key obtained through a bootstrapping process may be used.
기존의 SET 기반 시스템에서는 카드 소지자가 물품 또는 서비스를 주문할 때 카드 소지자의 인증서 복사본이 가맹점으로 전송된다. 가맹점 또는 페이먼트 게이트웨이와 같은 제 3자가 카드 소지자의 인증서가 인증되었다는 것을 검증할 수 있으려면 인증서는 CA에 의해 서명되어야 한다. 반면, 본 개시의 실시예들에서는 IDPKC를 활용함으로써 개체들이 전자 거래 중에 CA에 의해 서명된 인증서를 공유하지 않으므로, PKI를 이용하지 않는다. 예를 들어, 가맹점 디바이스(202)가 카드 소지자 디바이스(201)로부터 IDPKC로 올바르게 서명된 메시지를 수신했을 때, 가맹점 디바이스(202)는 카드 소지자 디바이스(201)가 발행자 KMS(221)에 의해 프로비저닝 되었다는 것을 확인할 수 있다. 메시지는 발행자 KMS(221)의 공개 파라미터들을 포함할 수 있다. 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203)가 인수자 KMS(222)에 의해 프로비저닝되었다면, 카드 소지자 디바이스(201)는 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203)만이 IDPKC를 이용하여 암호를 해독하고 메시지들에 서명할 수 있다는 것을 확인할 수 있다.In existing SET-based systems, a copy of a cardholder's certificate is sent to the merchant when the cardholder orders the goods or services. The certificate must be signed by a CA in order for a third party, such as a merchant or payment gateway, to verify that the cardholder's certificate has been authenticated. On the other hand, in embodiments of the present disclosure, by utilizing IDPKC, entities do not share a certificate signed by a CA during electronic transactions, and thus do not use a PKI. For example, when merchant device 202 receives a message that is correctly signed with IDPKC from cardholder device 201, merchant device 202 indicates that cardholder device 201 has been provisioned by issuer KMS 221. You can see that. The message may include public parameters of issuer KMS 221. If the merchant device 202 and the payment gateway 203 have been provisioned by the takeover KMS 222, the cardholder device 201 only decrypts the merchant device 202 and the payment gateway 203 using IDPKC and sends a message. You can verify that they can be signed.
일 실시예에 따르면, SAKKE(Sakai-Kasahara Key Encryption) 및 ECCSI(Elliptic Curve-based Certificateless Signatures for Identity-based Encryption)가 이용될 수 있다. SAKKE 및 ECCSI는 하나의 예시로 설명된 것이며 다른 실시예들에서는 SAKKE 및 ECCSI와 다른 IDPKC 프로토콜들이 이용될 수 있다. According to one embodiment, Sakai-Kasahara Key Encryption (SAKKE) and Elliptic Curve-based Certificateless Signatures for Identity-based Encryption (ECCSI) may be used. SAKKE and ECCSI are described as an example and other embodiments may use other IDPKC protocols than SAKKE and ECCSI.
일 실시예에 따르면, 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203)는 인수자 KMS(222)와 안전한 통신 채널을 구축하고, 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203)가 인증되고, KMS의 인증서를 이용하여 인수자 KMS(222)를 인증함으로써 개인 키 요소가 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203)에 프로비저닝된다. 가맹점 디바이스(202)에는 개인 키 요소가 프로비저닝될 뿐만 아니라, 페이먼트 게이트웨이(203)의 식별자에 대한 정보도 제공된다. 또한, 일 실시예에서는 모든 가맹점 디바이스 식별자들 및 모든 페이먼트 게이트웨이 식별자들에 미리 정의된 형식이 적용됨으로써, 가맹점들 및 게이트웨이들을 명확하게 구분할 수 있게 한다. 예를 들어, 모든 가맹점 식별자들에는 접두어로 "merchant"가 붙을 수 있으며, 모든 게이트웨이 식별자들에는 접두어로 "gateway"가 붙을 수 있다. 위와 같은 방식으로 가맹점들 및 게이트웨이들의 식별자를 명확히 구분함으로써 카드 소지자가 계좌 정보를 가맹점에 전송하는 오류를 막을 수 있다.According to one embodiment, merchant device 202 and payment gateway 203 establish a secure communication channel with acquirer KMS 222, merchant device 202 and payment gateway 203 authenticate, and authenticate the certificate of KMS. The private key element is provisioned at the merchant device 202 and the payment gateway 203 by authenticating the takeover KMS 222. The merchant device 202 is not only provisioned with a private key element, but also provided with information about the identifier of the payment gateway 203. In addition, in one embodiment, a predefined format is applied to all merchant device identifiers and all payment gateway identifiers, thereby making it possible to clearly distinguish between merchants and gateways. For example, all merchant identifiers may be prefixed with "merchant" and all gateway identifiers may be prefixed with "gateway". By clearly distinguishing the identifiers of the merchants and gateways in the above manner, it is possible to prevent the cardholder from transmitting an account information to the merchant.
일 실시예에서, 카드 소지자 디바이스(201)는 카드 소지자 디바이스(201)에 암호화되어 링크된 고유한 식별자를 할당 받을 수 있다. 예를 들어, 카드 소지자 디바이스(201)는 TEE(Trusted Execution Environment, 신뢰된 실행 환경)를 포함하는 스마트 폰을 포함할 수 있는데, TEE는 KMS로부터 제공된 공개/개인 키 쌍 및 다른 보안 요소를 포함한다. 또한, 카드 소지자 디바이스(201)는, 공개/개인 키 쌍 및 카드 소지자 디바이스(201)의 고유한 식별자를 공개 키에 링크하는 KMS 서명을 포함하는 변형 억제 모듈을 구비한 스마트 카드를 포함할 수 있다. 다른 실시예에서, 고유한 식별자 및 공개/개인 키 쌍을 갖는 소프트웨어는 안전하게 발행자(211)에게 제공될 수 있고 카드 소지자 디바이스(201)에 설치될 수 있다. 카드 소지자 디바이스(201)와 발행자 KMS(221) 간에 안전한 통신 채널이 구축됨으로써 카드 소지자 디바이스(201)에 IDPKC 개인 키 요소가 프로비저닝될 수 있다. 안전한 통신 채널이 구축되기 위해, 발행자 KMS(221)가 스스로를 인증하기 위해 공개/개인 키 쌍을 이용하고, 고정된 비밀번호 또는 OTP(One-Time-Password)와 같은 적합한 방법으로 카드 소지자를 인증하고, 나아가 발행자 KMS(221)의 인증서를 이용하여 발행자 KMS(221)를 인증할 수 있다.In one embodiment, the cardholder device 201 may be assigned a unique identifier that is encrypted and linked to the cardholder device 201. For example, the cardholder device 201 may include a smartphone that includes a Trusted Execution Environment (TEE), which includes public / private key pairs and other security elements provided by KMS. . The cardholder device 201 may also include a smart card with a tamper suppression module including a public / private key pair and a KMS signature that links the unique identifier of the cardholder device 201 to the public key. . In another embodiment, software with a unique identifier and public / private key pair may be securely provided to issuer 211 and installed in cardholder device 201. An IDPKC private key element can be provisioned in the cardholder device 201 by establishing a secure communication channel between the cardholder device 201 and the issuer KMS 221. In order to establish a secure communication channel, the issuer KMS 221 uses a public / private key pair to authenticate itself, authenticates the cardholder in a suitable way such as a fixed password or one-time-password (OTP). Further, the issuer KMS 221 may be authenticated using the certificate of the issuer KMS 221.
일 실시예에서, 카드 소지자 디바이스에 결합된 공개/개인 키 쌍을 이용하여 IDPKC 개인 키를 프로비저닝함으로써, 다른 암호 체계에 기반한 공개/개인 키 쌍들을 포함하는 전자 디바이스들과 호환될 수 있다. 다른 실시예에서는 다른 방법이 적용될 수 있는데, 예를 들어, IDPKC 개인 키 요소가 카드 소지자 디바이스(201)에 직접 결합될 수 있다. In one embodiment, provisioning an IDPKC private key using a public / private key pair coupled to a cardholder device may be compatible with electronic devices that include public / private key pairs based on other cryptographic schemes. Other methods may be applied in other embodiments, for example, an IDPKC private key element may be coupled directly to the cardholder device 201.
도 3, 4 및 5는 일 실시예에 따른 도 2에 도시된 시스템에 이용된 키 프로비저닝 과정을 나타내는 도면이다. 도 3은 키 프로비저닝 과정 중에 일련의 메시지들이 전송되는 절차의 흐름도이고, 도 4는 키 프로비저닝 과정 중에 카드 소지자 디바이스에 의해 수행되는 방법의 흐름도이며, 도 5는 키 프로비저닝 과정 중에 발행자 KMS에 의해 수행되는 방법의 흐름도이다. 도 3, 4 및 5에 도시된 방법들은, 전자 지불 시스템을 이용할 때 개인 키 요소 및 KMS 인증서와 같은 필수의 안전 요소가 안전하게 카드 소지자 디바이스(201)에 프로비저닝 될 수 있게 한다. 단계 401에서, 발행자 KMS(221)에 지불 카드를 등록하기 위한 등록 요청(REG_FORM_REQ)을 카드 소지자 디바이스(201)가 생성하며 키 프로비저닝 과정이 시작된다. 일 실시예에서, 등록 요청은 타임 스탬프(time stamp) 및 등록될 지불 카드를 고유하게 식별할 수 있는 카드 식별자를 포함할 수 있다. 일 실시예에서, 카드 식별자는 신용 또는 직불 카드의 16자리 카드 번호일 수 있다. 카드 식별자는 카드 소유자의 식별자와 다른 식별자일 수 있다. 발행자 KMS(221)는 등록 요청이 유효한지 검증하기 위해 지불 카드를 이용할 수 있고, 타임 스탬프는 재전송 공격(replay attack)을 회피하기 위해 이용될 수 있다. 단계 401에서, 생성된 등록 요청은 카드 소지자 디바이스(201)가 홀딩하고 있는 공개/개인 키 쌍으로 서명된다. 일 실시예에서, 공개/개인 키 쌍은 TEE에 저장될 수 있다. 3, 4, and 5 are diagrams illustrating a key provisioning process used in the system shown in FIG. 2 according to an embodiment. 3 is a flowchart of a procedure in which a series of messages are sent during a key provisioning process, FIG. 4 is a flowchart of a method performed by a cardholder device during a key provisioning process, and FIG. 5 is performed by an issuer KMS during a key provisioning process. A flowchart of the method. The methods shown in FIGS. 3, 4 and 5 allow essential security elements such as private key elements and KMS certificates to be securely provisioned to the cardholder device 201 when using the electronic payment system. In step 401, the cardholder device 201 generates a registration request REG_FORM_REQ for registering a payment card with the issuer KMS 221 and the key provisioning process begins. In one embodiment, the registration request may include a time stamp and a card identifier that can uniquely identify the payment card to be registered. In one embodiment, the card identifier may be a 16 digit card number of a credit or debit card. The card identifier may be an identifier different from the identifier of the card owner. The issuer KMS 221 may use the payment card to verify that the registration request is valid, and the time stamp may be used to avoid a replay attack. In step 401, the generated registration request is signed with the public / private key pair that the cardholder device 201 is holding. In one embodiment, the public / private key pair may be stored in the TEE.
단계 402에서, 서명된 등록 요청이 제 1 대칭 키를 이용하여 암호화되고 제 1 대칭 키는 발행자 KMS(221)의 공개 키를 이용하여 암호화된다. 예를 들어, 제 1 대칭 키는 ElGamal 암호화 방식을 사용하여 봉인될 수 있다. 일 실시예에서, 제 1 대칭 키는 임의로 생성되나, 다른 실시예에서 제 1 대칭 키는 미리 정해진 대칭 키들의 목록으로부터 선택될 수 있다. 일 실시예에서, KMS의 공개 키를 이용하여 제 1 대칭 키를 암호화 하는 단계는, IDPKC 프로토콜에 따라 하나 이상의 KMS에 대응하는 하나 이상의 KMS 공개 키들을 수신하여 메모리에 저장하고, 가맹점이 사용하는 KMS의 식별자를 수신하여, KMS 식별자와 대응하는 상기 KMS 공개 키를 상기 메모리에서 검색할 수 있다. 검색된 KMS 공개 키를 이용하여 제 1 대칭 키를 암호화할 수 있다.In step 402, the signed registration request is encrypted using the first symmetric key and the first symmetric key is encrypted using the public key of the issuer KMS 221. For example, the first symmetric key can be sealed using ElGamal encryption. In one embodiment, the first symmetric key is randomly generated, but in another embodiment the first symmetric key may be selected from a list of predetermined symmetric keys. In one embodiment, encrypting the first symmetric key using the public key of the KMS, receives and stores in the memory one or more KMS public keys corresponding to the one or more KMS according to the IDPKC protocol, and the KMS used by the merchant By receiving an identifier of, the KMS public key corresponding to the KMS identifier may be retrieved from the memory. The retrieved KMS public key may be used to encrypt the first symmetric key.
단계 403에서, 암호화된 REG_FORM_REQ 메시지 및 암호화된 제 1 대칭 키가 발행자 KMS(221)로 전송된다.In step 403, an encrypted REG_FORM_REQ message and an encrypted first symmetric key are sent to the issuer KMS 221.
일 실시예에서, REG_FORM_REQ 메시지와 같은 공유될 데이터는, 계산적으로 비싼(computationally expensive) 비대칭 키 암호화 방식(공개 키 암호화 방식)으로 암호화되는 대신, 대칭 키 암호화 방식으로 암호화된다. 따라서, 대칭 키 암호화 방식으로 데이터를 암호화한 후, 공개 KEK(Key Encryption Key)를 이용하여 비대칭하게 대칭 키를 암호화하는 것이 보다 더 효율적이다. 또 다른 실시예에서는, REG_FORM_REQ 메시지가 직접 비대칭 암호화 방식으로 암호화 될 수 있으며, 이 경우 도 4에 도시된 단계 402는 생략된다.In one embodiment, the data to be shared, such as the REG_FORM_REQ message, is encrypted with symmetric key encryption, instead of being computed expensively asymmetric key encryption (public key encryption). Therefore, after encrypting data using symmetric key encryption, it is more efficient to encrypt the symmetric key asymmetrically using a public key encryption key (KEK). In another embodiment, the REG_FORM_REQ message may be directly encrypted with asymmetric encryption, in which case step 402 shown in FIG. 4 is omitted.
단계 404에서, 카드 소지자 디바이스(201)는 추가 등록 정보(REG_FORM_RES) 요청을 수신한다. 일 실시예에서, REG_FORM_RES 메시지는 발행자 KMS(221)에 의해 서명되며, 단계 405에서 카드 소지자 디바이스(201)는 서명된 메시지가 인증된 것인지 결정하기 위해 KMS의 서명을 검증한다. 서명이 유효하다고 검증이 되지 않은 경우, 프로세스는 종료된다. 서명이 유효하다고 검증이 된 경우, 프로세스는 단계 406으로 진행되고 카드 소지자 디바이스(201)는 등록 양식을 완성한다.In step 404, the cardholder device 201 receives a request for additional registration information (REG_FORM_RES). In one embodiment, the REG_FORM_RES message is signed by the issuer KMS 221, and at step 405 the cardholder device 201 verifies the signature of the KMS to determine if the signed message is authentic. If the signature is not verified to be valid, the process ends. If the signature is verified to be valid, the process proceeds to step 406 and the cardholder device 201 completes the registration form.
단계 406에서, 카드 소지자 디바이스(201)는 등록 양식에 요청된 정보를 기입한다. 일 실시예에서, 요청된 정보는 지불 카드 소지자의 성명, 지불 카드의 만료일자, 지불 카드의 청구서 발송지, 및/또는 비밀번호, OTP와 같은 요청자가 유효한 카드 소지자인지 식별하는데 필요하다고 여겨질 수 있는 적합한 추가 정보를 포함할 수 있다. 일 실시예에서, 카드 소지자 디바이스(201)는 발행자 KMS(221)가 지불 카드를 통해 접근이 가능한 자금이 축적된 계좌에, 카드 소지자의 식별자를 링크하기 위해 이용할 난수를 생성할 수 있다.In step 406, the cardholder device 201 fills in the requested information in the registration form. In one embodiment, the requested information may be appropriate to be considered necessary to identify the name of the payment card holder, the expiration date of the payment card, the billing source of the payment card, and / or the requester, such as a password, OTP, or a valid card holder. May contain additional information. In one embodiment, the cardholder device 201 may generate a random number that the issuer KMS 221 will use to link the cardholder's identifier to an account where funds accessible through the payment card have accumulated.
단계 407에서, 완성된 등록 양식 및 생성된 난수는 임의로 생성된 제 2 대칭 키를 이용하여 암호화되고, 제 2 대칭 키는 적절한 IDPKC 프로토콜에 따라 발행자 KMS(221)의 공개 키를 이용하여 암호화된다. 일 실시예에서, IDPKC 프로토콜은 SAKKE일 수 있다. 또한, 일 실시예에서 카드 소지자 디바이스(201)의 개인 키를 사용하여 등록 양식, 난수, 및 제 2 대칭 키가 서명될 수 있다.In step 407, the completed registration form and generated random number are encrypted using a randomly generated second symmetric key, and the second symmetric key is encrypted using the public key of the issuer KMS 221 according to the appropriate IDPKC protocol. In one embodiment, the IDPKC protocol may be SAKKE. In addition, in one embodiment the registration form, random number, and second symmetric key may be signed using the private key of the cardholder device 201.
KEY_PROV_REQ 메시지를 암호화하기 위한 제 2 대칭 키를 이용함으로써, 제 1 대칭 키가 도용되었더라도 중요한 계좌 정보는 비밀로 유지될 수 있으므로 보안이 강화될 수 있다. 다른 실시예에서는, REG_FORM_REQ 메시지를 암호화하는데 이용되는 동일한 키인 제 1 대칭 키가 이용되어 KEY_PROV_REQ 메시지를 암호화할 수 있다.By using a second symmetric key for encrypting the KEY_PROV_REQ message, even if the first symmetric key is stolen, important account information can be kept secret and security can be enhanced. In another embodiment, a first symmetric key, which is the same key used to encrypt the REG_FORM_REQ message, may be used to encrypt the KEY_PROV_REQ message.
단계 408에서, 카드 소지자 디바이스(201)는 제 2 대칭 키 및 암호화된 추가 등록 정보가 포함된 키 프로비저닝 요청(KEY_PROV_REQ) 메시지를 발행자 KMS(221)로 전송한다. 발행자 KMS(221)에 의해 요청이 처리된 후, 단계 409에서 카드 소지자 디바이스(201)는 필수 보안 정보가 포함된 KEY_PROV(key provisioning) 메시지를 수신한다.In step 408, the cardholder device 201 sends a key provisioning request (KEY_PROV_REQ) message to the issuer KMS 221, which includes the second symmetric key and encrypted additional registration information. After the request has been processed by the issuer KMS 221, in step 409 the cardholder device 201 receives a key provisioning (KEY_PROV) message containing the required security information.
일 실시예에서, 발행자 KMS(221)는 카드 소지자 디바이스(201)에 홀딩된 공개/개인 키 쌍의 공개 키를 이용하여 KEY_PROV 메시지를 암호화한다. 일 실시예에서, 공개/개인 키 쌍은 TEE에 저장될 수 있고, 발행자 KMS(221)에 의해 서명될 수 있다. KMS의 서명 검증이 완료되면, 카드 소지자 디바이스(201)는 KEY_PROV 메시지를 해독하고 보안 정보를 저장하며, 이로써 카드 등록 과정이 완료된다. 일 실시예에서, 보안 정보는 카드 소지자 디바이스(201)에 안전하게 저장된다. 예를 들어, 보안 정보는 TEE 또는 부정조작방지 모듈(tamperproof module) 내에 저장될 수 있다.In one embodiment, issuer KMS 221 encrypts the KEY_PROV message using the public key of the public / private key pair held in cardholder device 201. In one embodiment, the public / private key pair may be stored in the TEE and signed by the issuer KMS 221. When the signature verification of the KMS is completed, the cardholder device 201 decrypts the KEY_PROV message and stores the security information, thereby completing the card registration process. In one embodiment, the security information is securely stored in the cardholder device 201. For example, the security information may be stored in a TEE or tamperproof module.
KEY_PROV 메시지는, 카드 소지자 디바이스(201)가 전자 지불 시스템에서 이뤄지는 거래에 참여하기 위해 필요한 보안 정보를 포함할 수 있다. KEY_PROV 메시지는 카드 소지자 디바이스(201)의 IDPKC 개인 키를 포함한다. 일 실시예에서, 보안 정보는 카드 소지자의 식별자를 지불 카드와 연관된 계좌에 링크하는 계좌 보안 요소에 대한 서명을 포함할 수 있으며, 일련의 지불 카드 번호, 단계 406에서 카드 소지자 디바이스(201)에 의해 생성된 난수, 및 발행자 KMS(221)에 의해 생성된 난수를 더 포함할 수 있다. 카드 소지자 식별자는 카드 소지자의 이메일 주소 또는 전화 번호와 같은 임의의 적합한 공개 식별자일 수 있다.The KEY_PROV message may include security information needed for the cardholder device 201 to participate in a transaction made in the electronic payment system. The KEY_PROV message contains the IDPKC private key of the cardholder device 201. In one embodiment, the security information may include a signature for an account security element that links the cardholder's identifier to an account associated with the payment card, and is executed by the cardholder device 201 in a series of payment card numbers, step 406. The generated random number may further include a random number generated by the publisher KMS 221. The cardholder identifier may be any suitable public identifier, such as the cardholder's email address or phone number.
몇몇 실시예들에서, 수신된 보안 정보는 하나 이상의 KMS 인증서를 더 포함할 수 있다. 각각의 KMS 인증서는, KMS의 마스터 공개 키, 및 KMS의 URI(Unique Resource Identifier) 및/또는 마스터 공개 키의 유효기간과 같은 특정 KMS와 커뮤니케이션을 하기 위해 요구되는 정보들을 포함할 수 있다. 수신된 KMS 인증서들은 카드 소지자 디바이스(201) 내 KMS 인증서 저장소에 저장될 수 있다.In some embodiments, the received security information may further include one or more KMS certificates. Each KMS certificate may include information required for communicating with a particular KMS, such as the KMS's master public key, and the KMS's Unique Resource Identifier (URI) and / or the validity of the master public key. Received KMS certificates may be stored in the KMS certificate store in the cardholder device 201.
이하에서는 도 5에 도시된 발행자 KMS(221)가 수신된 등록 요청을 처리하는 방법을 설명한다.Hereinafter, a description will be given of how the issuer KMS 221 shown in FIG. 5 processes the received registration request.
단계 501에서, 발행자 KMS(221)는 카드 소지자 디바이스(201)로부터 REG_FORM_REQ 메시지를 수신한다. 일 실시예에서, REG_FORM_REQ 메시지는 카드 소지자 디바이스(201)에 의해 서명되고 대칭 키 암호화 방식으로 암호화되고, 대칭 키는 발행자 KMS(221)의 ElGamal 공개 키를 이용하여 암호화된다. 단계 502에서 발행자 KMS(221)는 봉인된 대칭 키를 해독하고, 단계 503에서 해독된 대칭 키를 이용하여 REG_FORM_REQ 메시지 내 나머지 암호화된 컨텐트를 해독한다. 단계 504에서, 발행자 KMS(221)는 카드 소지자 디바이스(201)의 서명 및 식별자가 유효한지 체크한다. 서명 및 식별자가 유효하지 않은 경우, 프로세스는 종료된다. 서명 및 식별자가 유효한 경우, 단계 505로 진행한다. 카드 소지자 디바이스(201)의 암호화 방법, 및 REG_FORM_REQ 메시지가 디지털 서명되었는지 여부에 따라 단계 502 내지 504는 생략 또는 변경될 수 있다.In step 501, issuer KMS 221 receives a REG_FORM_REQ message from cardholder device 201. In one embodiment, the REG_FORM_REQ message is signed by the cardholder device 201 and encrypted with a symmetric key encryption scheme, and the symmetric key is encrypted using the ElGamal public key of the issuer KMS 221. In step 502 the issuer KMS 221 decrypts the sealed symmetric key and uses the decrypted symmetric key in step 503 to decrypt the remaining encrypted content in the REG_FORM_REQ message. In step 504, the issuer KMS 221 checks whether the signature and identifier of the cardholder device 201 are valid. If the signature and identifier are invalid, the process ends. If the signature and identifier are valid, flow proceeds to step 505. Steps 502 to 504 may be omitted or changed depending on the encryption method of the cardholder device 201 and whether the REG_FORM_REQ message is digitally signed.
단계 505에서, 발행자 KMS(221)는 REG_FORM_REQ 메시지에 포함된 정보에서 발행자를 식별할 수 있다. 예를 들어, 직불 또는 신용 카드의 경우, 카드 번호의 첫 여섯 또는 열한자리를 이용하면 발행자를 식별할 수 있다. 발행자가 식별된 후, 발행자 KMS(221)는 발행자에게 적절한 등록 양식을 선택한다. 단계 506에서, 발행자 KMS(221)는 양식에 디지털 서명을 하고, 서명된 양식이 포함된 REG_FORM_RES 메시지를 카드 소지자 디바이스(201)로 전송한다. 예를 들어, 발행자 KMS(221)는 ECDSA(Elliptic Curve Digital Signature Algorithm) 또는 다른 적합한 디지털 서명 방식을 이용하여 양식에 서명할 수 있다.In step 505, the issuer KMS 221 may identify the issuer from the information contained in the REG_FORM_REQ message. For example, for debit or credit cards, the first six or eleven digits of the card number can be used to identify the issuer. After the issuer is identified, issuer KMS 221 selects a registration form appropriate for the issuer. In step 506, the issuer KMS 221 digitally signs the form and sends a REG_FORM_RES message containing the signed form to the cardholder device 201. For example, issuer KMS 221 may sign the form using an Elliptic Curve Digital Signature Algorithm (ECDSA) or other suitable digital signature scheme.
단계 507에서, 발행자 KMS(221)는 완성된 등록 양식을 포함하는 KEY_PROV_REQ 메시지를 수신한다. 일 실시예에서, 발행자 KMS(221)는 제 2 대칭 키를 획득하기 위해 디지털 전자 봉투(digital envelope)를 해독하고, 메시지의 서명을 검증한다. 해독된 제 2 대칭 키는 메시지 나머지 부분을 해독하는데 사용된다. 발행자 KMS(221)는 등록 요청 내 정보를 검증하기 위해 발행자와 통신할 수 있다. 서명이 유효하고 발행자로부터 정보가 검증된 경우, 발행자 KMS(221)는 단계 508로 진행된다. 단계 508에서, 발행자 KMS(221)는 카드 소지자의 식별자와 대응하는 개인 키를 포함하는 필수 보안 정보를 생성한다.In step 507, the issuer KMS 221 receives a KEY_PROV_REQ message that includes the completed registration form. In one embodiment, issuer KMS 221 decrypts the digital envelope to obtain a second symmetric key and verifies the signature of the message. The decrypted second symmetric key is used to decrypt the rest of the message. The issuer KMS 221 may communicate with the issuer to verify the information in the registration request. If the signature is valid and the information is verified from the issuer, issuer KMS 221 proceeds to step 508. In step 508, issuer KMS 221 generates the required security information including the private key corresponding to the cardholder's identifier.
단계 508에서, 발행자 KMS(221)는 카드 소지자 디바이스(201)로부터 제공된 완성된 등록 양식 내 난수와 연접된(concatenated) 새로운 난수, 카드 소지자의 식별자, 및 카드 식별자를 생성한다. 예를 들어, 카드 식별자는 16자리 카드 번호일 수 있다. 발행자 KMS(221)는 생성된 결과물에 대한 서명을 생성한다. 일 실시예에서, 보안 정보는 개별 키를 포함하는 보안 정보, 새로운 난수, 서명 및 신뢰된 KMS들의 인증서 저장 위치를 포함한다. 일 실시예에서, 보안 정보는 제 2 대칭 키를 이용하여 서명 및 암호화된다. 단계 509에서, 개인 키를 포함하는 보안 정보 즉, 결과 메시지 KEY_PROV는 카드 소지자 디바이스(201)로 전송된다.In step 508, issuer KMS 221 generates a new random number concatenated with the random number in the completed registration form provided from cardholder device 201, the cardholder's identifier, and the card identifier. For example, the card identifier may be a 16 digit card number. The issuer KMS 221 generates a signature for the generated output. In one embodiment, the security information includes security information including an individual key, a new random number, a certificate storage location of a signed and trusted KMS. In one embodiment, the security information is signed and encrypted using a second symmetric key. In step 509, the security information including the private key, i.e. the resulting message KEY_PROV, is sent to the cardholder device 201.
카드 소지자 디바이스(201)에게 지불 카드의 식별자와 암호화되어 링크된 개인 키를 제공하는데 이용될 수 있는 키 프로비저닝 과정이 도 3, 4 및 5에 도시된다. 일 실시예에서, REG_FORM_REQ, REG_FORM_RES, KEY_PROV_REQ 및 KEY_PROV 메시지들은 온라인 뱅킹 어플리케이션을 통해 전송된다. 다른 실시예에서는 키 프로비저닝 과정 중에 다른 안전한 커뮤니케이션 방법들이 사용될 수 있다.A key provisioning process that can be used to provide the cardholder device 201 with an identifier of a payment card and a private key encrypted and linked is shown in FIGS. 3, 4 and 5. In one embodiment, REG_FORM_REQ, REG_FORM_RES, KEY_PROV_REQ, and KEY_PROV messages are sent via an online banking application. In other embodiments, other secure communication methods may be used during the key provisioning process.
일 실시예에서, 카드 소지자 디바이스(201)에게 등록될 지불 카드의 필수 정보를 전송하기 위한 올바른 양식을 알리기 위해, 발행자 KMS(221)는 REG_FORM_RES 메시지를 전송한다. 다른 실시예에서는 양식은 산업 표준에 의해 정해지는 것과 같은 방식으로 사전에 합의될 수 있다. 이 경우, 도 3에 도시된 REG_FORM_REQ 및 REG_FORM_RES 메시지들은 생략될 수 있고, 카드 소지자 디바이스(201)는 최초 등록 요청 메시지로써 KEY_PROV_REQ 메시지를 생성할 수 있다.In one embodiment, the issuer KMS 221 sends a REG_FORM_RES message to inform the cardholder device 201 of the correct form for sending the required information of the payment card to be registered. In other embodiments, the form may be agreed in advance in the same manner as defined by industry standards. In this case, the REG_FORM_REQ and REG_FORM_RES messages shown in FIG. 3 may be omitted, and the cardholder device 201 may generate a KEY_PROV_REQ message as an initial registration request message.
도 3 내지 5에 도시된 것과 유사한 방법으로 가맹점 디바이스(202)에 개인 키 요소를 프로비저닝할 수 있다. 예를 들어, 가맹점 디바이스(202)는 인수자(212)가 제공한 소프트웨어에 내장된 최초 개인/공개 키 쌍을 가질 수 있다. 내장된 최초 개인/공개 키 쌍은 키 프로비저닝 과정 중에 메시지들을 암호화 및 서명하는데 사용될 수 있다. 가맹점 디바이스(202)의 경우, 인수자 KMS(222)는 발행자(211)가 아닌 인수자(212)로부터 제공된 KEY_PROV_REQ 메시지에 포함된 정보를 검증할 수 있다. 개인 서명 키만이 요구되었던 카드 소지자 디바이스(201)와는 대조적으로, 가맹점 디바이스(202)에는 개인 서명 키뿐만 아니라 개인 복호화 키 또한 프로비저닝된다. 일 실시예에서, 인수자(212)가 필수적인 개인 키 요소를 페이먼트 게이트웨이에 프로비저닝하기에 적합한 방법을 이용할 때, 도 3 내지 5에 도시된 방법이 이용될 수 있으나 이에 제한되지 않는다.Private key elements can be provisioned at the merchant device 202 in a manner similar to that shown in FIGS. For example, the merchant device 202 may have the first private / public key pair embedded in the software provided by the acquirer 212. The built-in initial private / public key pair can be used to encrypt and sign messages during the key provisioning process. For the merchant device 202, the takeover KMS 222 may verify the information included in the KEY_PROV_REQ message provided from the takeover 212 rather than the issuer 211. In contrast to the cardholder device 201, where only the personal signature key was required, the merchant device 202 is also provisioned with the personal decryption key as well as the personal signature key. In one embodiment, when the acceptor 212 uses a method suitable for provisioning the required private key element to the payment gateway, the method shown in FIGS. 3-5 may be used, but is not limited thereto.
카드 소지자 디바이스(201), 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203)에 제공된 개인 키들은 이후에 지불 카드를 수반하는 안전 거래 중에 이용될 수 있다. 도 6 내지 9에는 일 실시예에 따른, IDPKC 기반 안전 거래 과정이 도시된다. 도 6에 도시된 바대로, 안전 거래 중에 카드 소지자 디바이스(201), 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203)는 일련의 메시지들을 서로 교환한다. 카드 소지자 디바이스(201), 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203)에 의해 수행되는 단계들은 각각 도 7, 8 및 9에 흐름도로 도시된다. 일 실시예에서, 거래 과정은 SET 시스템과 유사하게, 승인 및 결제 두 단계로 이뤄질 수 있다. 다른 실시예들에서는 결제 단계가 생략되고 승인 단계 중에 대금이 자동으로 이체될 수 있다.The private keys provided to the cardholder device 201, the merchant device 202 and the payment gateway 203 may then be used during a secure transaction involving a payment card. 6-9 illustrate an IDPKC based secure transaction process, according to one embodiment. As shown in FIG. 6, the cardholder device 201, the merchant device 202, and the payment gateway 203 exchange a series of messages with each other during a secure transaction. The steps performed by the cardholder device 201, the merchant device 202, and the payment gateway 203 are shown in flow charts in FIGS. 7, 8, and 9, respectively. In one embodiment, the transaction process can be in two stages, approval and settlement, similar to the SET system. In other embodiments, the payment step may be omitted and payment may be automatically transferred during the approval step.
합의된 가격에 구매할 물품 또는 서비스를 카드 소지자가 선택하면, 거래가 개시된다. 단계 701에서, 카드 소지자 디바이스(201)가 안전 거래를 개시하기 위해 최초 요청(INIT_REQ)을 생성하면 새로운 거래가 시작된다. INIT_REQ 메시지는 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203)의 IDPKC 식별자들과 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203) 각각의 KMS 식별자들을 요청하기 위해 가맹점 디바이스(202)로 전송된다. 일 실시예에서, 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203)는 모두 동일한 인수자 KMS(222)를 사용한다. 다른 실시예에서는 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203)가 다른 KMS를 사용할 수 있다.When the cardholder selects the goods or services to purchase at the agreed price, the transaction begins. In step 701, a new transaction is initiated when the cardholder device 201 generates an initial request (INIT_REQ) to initiate a secure transaction. The INIT_REQ message is sent to the merchant device 202 to request the IDPKC identifiers of the merchant device 202 and the payment gateway 203 and the KMS identifiers of each of the merchant device 202 and the payment gateway 203. In one embodiment, merchant device 202 and payment gateway 203 both use the same acceptor KMS 222. In other embodiments, merchant device 202 and payment gateway 203 may use different KMS.
단계 702에서, 카드 소지자 디바이스(201)는 가맹점 디바이스(202)로부터 응답(INIT_RES)을 수신한다. 일 실시예에서, INIT_RES 메시지는 가맹점 디바이스(202), 페이먼트 게이트웨이(203) 및 인수자 KMS(222)의 식별자들 뿐만 아니라, 가맹점 디바이스(202)로부터 제공된 고유한 거래 식별자도 포함할 수 있다.In step 702, the cardholder device 201 receives a response INIT_RES from the merchant device 202. In one embodiment, the INIT_RES message may include the unique transaction identifier provided from the merchant device 202 as well as the identifiers of the merchant device 202, the payment gateway 203 and the takeover KMS 222.
일 실시예에서, 가맹점 및 게이트웨이 식별자들은 서로 다른 형식이 적용된다. 예를 들어, 가맹점 식별자는 접두어로 "merchant"가 붙을 수 있으며 게이트웨이 식별자는 접두어로 "gateway"가 붙을 수 있다. 단계 703에서, 카드 소지자 디바이스(201)는 수신된 페이먼트 게이트웨이(203)의 공개 식별자가 예측된 페이먼트 게이트웨이 형식과 일치하는지 체크한다. 또한 단계 703에서, 카드 소지자 디바이스(201)는 수신된 가맹점 식별자의 형식을 검증할 수 있다. 다만, 일반적으로 가맹자 식별자에 의해 암호화된 정보가 게이트웨이 식별자에 의해 암호화된 정보보다 덜 민감한 정보라는 점에서, 가맹점 식별자의 형식을 검증하는 것은 페이먼트 게이트웨이 식별자를 검증하는 것보다 덜 중요할 수 있다. INIT_RES 메시지가 가맹점 디바이스(202)에 의해 서명된 경우, 서명 또한 검증될 수 있다.In one embodiment, the merchant and gateway identifiers have different formats. For example, merchant identifiers may be prefixed with "merchant" and gateway identifiers may be prefixed with "gateway". In step 703, the cardholder device 201 checks if the public identifier of the received payment gateway 203 matches the predicted payment gateway format. Also at step 703, the cardholder device 201 may verify the format of the received merchant ID. However, in general, verifying the format of the merchant identifier may be less important than verifying the payment gateway identifier, in that the information encrypted by the merchant identifier is less sensitive information than the information encrypted by the gateway identifier. If the INIT_RES message is signed by the merchant device 202, the signature can also be verified.
일 실시예에서, 거래 프로세스가 개시 요청 INIT_REQ 및 응답 INIT_RES 메시지들의 교환에 의해 시작되지만, 다른 실시예에서는 개시 메시지들은 생략될 수 있다. 예를 들어, 카드 소지자가 이전에 가맹점으로부터 물품 또는 서비스를 구매했던 경우, 카드 소지자는 이미 가맹점 및 게이트웨이의 공개 식별자들을 가지고 있을 것이다. 카드 소지자가 가맹점 및 게이트웨이의 공개 식별자들을 가지고 있는 경우, 카드 소지자는 개시 단계를 생략하고 바로 단계 705의 PI 및 OI를 생성 및 암호화하는 단계를 시작할 수 있다.In one embodiment, the trading process is initiated by the exchange of the Initiation Request INIT_REQ and Response INIT_RES messages, although in other embodiments the Initiation messages may be omitted. For example, if the cardholder previously purchased goods or services from the merchant, the cardholder will already have the public identifiers of the merchant and gateway. If the cardholder has public identifiers of the merchant and gateway, the cardholder may skip the initiation step and immediately begin generating and encrypting the PI and OI of step 705.
단계 703에서, 페이먼트 게이트웨이 식별자 및/또는 서명이 검증되지 않는 경우, 프로세스는 종료된다. 검증이 된 경우, 프로세스는 단계 704로 진행하고 카드 소지자 디바이스(201)는 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203)의 IDPKC 공개 키들을 획득한다.In step 703, if the payment gateway identifier and / or signature is not verified, the process ends. If so, the process proceeds to step 704 where the cardholder device 201 obtains the IDPKC public keys of the merchant device 202 and the payment gateway 203.
단계 705에서, 카드 소지자 디바이스(201)는 IDPKC 프로토콜에 따라, 페이먼트 게이트웨이(203)의 공개 키를 이용하여 PI(payment information, 지불 정보)를 암호화하고, 가맹점 디바이스(202)의 공개 키를 이용하여 OI(order information, 주문 정보)를 암호화한다. 따라서 PI는 페이먼트 게이트웨이(203)만이 읽을 수 있으며, OI는 가맹점 디바이스(202)만이 읽을 수 있다. 일 실시예에서, 승인 단계에서 페이먼트 게이트웨이(203)가 PI 및 OI를 링크할 수 있게 하기 위해 가맹점 디바이스(202)에 의해 제공된 고유 거래 식별자는 PI 및 OI 모두에 포함될 수 있다.In step 705, the cardholder device 201 encrypts payment information (PI) using the public key of the payment gateway 203, according to the IDPKC protocol, and uses the public key of the merchant device 202. Encrypt OI (order information). Thus, the PI can only read by the payment gateway 203 and the OI can only read by the merchant device 202. In one embodiment, a unique transaction identifier provided by the merchant device 202 may be included in both the PI and the OI to allow the payment gateway 203 to link the PI and the OI in the approval step.
OI는 앞선 구매 및 주문 과정에서 카드 소지자 디바이스(201) 및 가맹점 디바이스(202) 간의 커뮤니케이션과 거래 요청을 링크하는 정보를 포함할 수 있다. 일 실시예에서, OI는 구매된 물품 또는 서비스에 대한 설명 또는 구매 조건과 같은 구매 정보를 포함하지 않는다. 대신, 거래 개시 메시지 INIT_REQ가 전송되기 전에, 구매 정보는 쇼핑 단계에서 카드 소지자 디바이스(201) 및 가맹점 디바이스(202) 간에 교환된다. PI들은 카드 소지자 디바이스(201)로부터 페이먼트 게이트웨이(203)로, 금융 네트워크 또는 발행자(211)가 승인을 처리하는데 있어 중요한 금융 정보를 제공한다. 일 실시예에서, 키 프로비저닝 과정 중에 비밀 난수가 획득되는 것이 포함된다.The OI may include information linking communication and transaction requests between the cardholder device 201 and the merchant device 202 in a previous purchase and order process. In one embodiment, the OI does not include purchase information, such as a description of the purchased item or service or purchase conditions. Instead, purchase information is exchanged between the cardholder device 201 and the merchant device 202 in the shopping phase before the transaction start message INIT_REQ is sent. The PIs provide financial information that is important for the financial network or issuer 211 to process the authorization from the cardholder device 201 to the payment gateway 203. In one embodiment, a secret random number is obtained during the key provisioning process.
단계 706에서, 카드 소지자 디바이스(201)는 IDPKC 프로토콜에 따라, 카드 소지자의 공개 식별자와 암호화되어 링크된 개인 키를 이용하여 암호화된 PI 및 암호화된 OI의 이중 서명을 생성한다. IDPKC 프로토콜을 통해, 가맹점 디바이스(202) 및 페이먼트 게이트웨이(203)는 카드 소지자의 공개 식별자를 이용하여 서명을 검증할 수 있다. 일 실시예에서, OI 및 PI 모두의 메시지 다이제스트(message digest)를 생성하고, 일련의 다이제스트들을 ECCSI를 이용하여 서명함으로써 이중 서명이 생성된다. 이후 OI 및 PI들의 메시지 다이제스트들은 이중 서명과 함께 거래 요청 메시지(PURCH_REQ)에 포함되어 전송된다.In step 706, the cardholder device 201 generates a double signature of the encrypted PI and encrypted OI using the cardholder's public identifier and the encrypted private key linked to it according to the IDPKC protocol. Through the IDPKC protocol, the merchant device 202 and the payment gateway 203 can verify the signature using the cardholder's public identifier. In one embodiment, a double signature is generated by generating a message digest of both OI and PI, and signing a series of digests using ECCSI. The message digests of the OI and PIs are then sent in a transaction request message (PURCH_REQ) with a double signature.
단계 707에서, PURCH_REQ 메시지를 전송하기 전에 카드 소지자 디바이스(201)는 추가적 암호화 단계를 수행한다. 카드 소지자 디바이스(201)는 임의의 대칭 암호화 키(이하 제 3 대칭 키)를 생성한다. 제 3 대칭 키는 이중 서명된 PI들 및 계좌 번호를 암호화 하기 위해 사용되며, 제 3 대칭 키는 페이먼트 게이트웨이(203)의 공개 키를 이용하여 도 4의 단계 402 및 407에서와 유사한 방법으로 봉인된다.In step 707, the cardholder device 201 performs an additional encryption step before sending the PURCH_REQ message. The cardholder device 201 generates any symmetric encryption key (hereafter third symmetric key). The third symmetric key is used to encrypt the double signed PIs and account number, and the third symmetric key is sealed in a similar manner as in steps 402 and 407 of FIG. 4 using the public key of the payment gateway 203. .
단계 708에서, 카드 소지자 디바이스(201)는 PURCH_REQ 메시지를 가맹점 디바이스(202)로 전송한다. 일 실시예에서, PURCH_REQ 메시지는 이중 서명된 OI, 이중 서명된 PI의 암호화된 암호문, 계좌번호, 암호화된 제 3 대칭 키를 포함할 수 있다. 일 실시예에서, PURCH_REQ 메시지는 도 5의 단계 508에 설명된 방법으로 카드 소지자 식별자를 계좌번호에 링크하는 KMS 서명을 포함할 수 있다.In step 708, the cardholder device 201 sends a PURCH_REQ message to the merchant device 202. In one embodiment, the PURCH_REQ message may include a double signed OI, an encrypted cipher text of a double signed PI, an account number, and an encrypted third symmetric key. In one embodiment, the PURCH_REQ message may include a KMS signature that links the cardholder identifier to the account number in the manner described in step 508 of FIG.
도 6에 도시된 바에 따르면, 카드 소지자 디바이스(201)는 이후, 승인이 되었다는 확인을 서명된 PURCH_RES 메시지 형태로 수신한다. 카드 소지자 디바이스(201)는 가맹점의 서명을 검증할 수 있고, PURCH_RES 메시지의 컨텐트들에 기초하여 카드 소지자에게 메시지를 디스플레이하는 것과 같은 액션을 수행할 수 있다. 가맹점은 약정된 물품을 배송하거나 서비스를 수행함으로써 카드 소지자의 주문을 독립적으로 완료할 수 있다.As shown in FIG. 6, the cardholder device 201 then receives a confirmation in the form of a signed PURCH_RES message that the authorization has been granted. The cardholder device 201 may verify the signature of the merchant and perform an action such as displaying a message to the cardholder based on the contents of the PURCH_RES message. Merchants can independently complete cardholder orders by delivering contracted items or performing services.
도 8은 일 실시예에 따른, 승인 과정 중에 가맹점 디바이스(202)에 의해 수행되는 방법의 흐름도이다. 단계 801에서, 가맹점 디바이스(202)는 PURCH_REQ 메시지를 수신하고, 단계 802에서 가맹점 디바이스(202)의 IDPKC 개인 키를 이용하여 메시지를 해독한다. PURCH_REQ 메시지 내의 PI가 페이먼트 게이트웨이(203)의 공개 키를 이용하여 암호화되기 때문에, 가맹점 디바이스(202)는 PI의 컨텐트들을 읽을 수 없다.8 is a flowchart of a method performed by an affiliate device 202 during an approval process, according to one embodiment. At step 801, the merchant device 202 receives the PURCH_REQ message and at step 802 decrypts the message using the IDPKC private key of the merchant device 202. Since the PI in the PURCH_REQ message is encrypted using the public key of the payment gateway 203, the merchant device 202 cannot read the contents of the PI.
단계 803에서, 승인될 지불 금액을 결정하기 위해 가맹점 디바이스(202)는 수신된 OI를 이용한다. 일 실시예에서, OI에는 승인될 금액이 포함될 수 있으며, 과거 구매 과정에서 카드 소지자가 동의한 금액을 식별하기 위해 가맹점 디바이스(202)는 OI에 포함된 정보를 이용할 수 있다. 가맹점 디바이스(202)는 OI로부터 고유한 거래 식별자를 획득할 수 있다.At step 803, merchant device 202 uses the received OI to determine a payment amount to be approved. In one embodiment, the OI may include the amount to be authorized, and merchant device 202 may use the information contained in the OI to identify the amount agreed to by the cardholder in the past purchase process. Merchant device 202 may obtain a unique transaction identifier from the OI.
단계 804에서, 가맹점 디바이스(202)는 IDPKC 프로토콜에 따라 페이먼트 게이트웨이(203)의 공개 키를 이용하여 거래 정보를 암호화할 수 있다. 거래 정보는 승인될 지불 금액 및 거래 식별자를 포함할 수 있다. 일 실시예에서, 단계 402, 407 및 707에서 설명한 것과 동일한 계산 효율적인(computationally efficient) 2 계층 암호화 방식이 이용됩니다. 특히, 거래 정보는 제 4 대칭 키를 이용하여 암호화되고, 제 4 대칭 키는 IDPKC 프로토콜에 따라 페이먼트 게이트웨이(203)의 공개 키를 이용하여 암호화된다. 일 실시예에서, SAKKE 암호화 방식이 이용될 수 있으며, 다른 실시예에서는 다른 IDPKC 프로토콜 방식이 선택될 수 있다.At step 804, merchant device 202 may encrypt the transaction information using the public key of payment gateway 203 in accordance with the IDPKC protocol. The transaction information may include a payment amount and a transaction identifier to be approved. In one embodiment, the same computationally efficient two layer encryption scheme as described in steps 402, 407 and 707 is used. In particular, the transaction information is encrypted using the fourth symmetric key, and the fourth symmetric key is encrypted using the public key of the payment gateway 203 according to the IDPKC protocol. In one embodiment, a SAKKE encryption scheme may be used, and in other embodiments, another IDPKC protocol scheme may be selected.
단계 805에서, 가맹점 디바이스(202)는 IDPKC를 이용하여 암호화된 거래 정보에 서명한다. 일 실시예에서, ECCSI 서명이 이용될 수 있으며, 다른 실시예에서는 다른 서명 방식이 선택될 수 있다. 단계 806에서, 서명된 암호화된 거래 정보 및 수신된 암호화된 지불 정보를 포함하는 승인 요청(AUTH_REQ)은, 페이먼트 게이트웨이(203)으로 전송된다. 승인 요청(AUTH_REQ)은 수신된 암호화된 PI 및 암호화된 거래 정보를 포함할 수 있고, 카드 소지자의 식별자를 계좌에 링크하는 KMS 서명을 더 포함할 수 있다. 2 계층 암호화 방식이 이용되는 실시예들에서, 승인 요청(AUTH_REQ)에 암호화된 제 4 대칭 키가 포함될 수 있다.At step 805, merchant device 202 signs encrypted transaction information using IDPKC. In one embodiment, ECCSI signatures may be used, and in other embodiments, other signature schemes may be selected. In step 806, an authorization request (AUTH_REQ) containing the signed encrypted transaction information and the received encrypted payment information is sent to the payment gateway 203. The authorization request (AUTH_REQ) may include the received encrypted PI and encrypted transaction information, and may further include a KMS signature that links the cardholder's identifier to the account. In embodiments in which a two-layer encryption scheme is used, an encrypted fourth symmetric key may be included in the grant request AUTH_REQ.
승인 요청이 전송된 후, 단계 807에서, 승인 답변(AUTH_RES)이 수신된다. 승인 답변(AUTH_RES)은 지불이 발행자(211)에 의해 승인되었는지를 알려준다. 일 실시예에서, AUTH_RES 메시지는 가맹점 디바이스(202)의 공개 키를 이용하여 암호화된 대칭 키를 포함할 수 있다. 가맹점 디바이스(202)는 대칭 키를 해독할 수 있고, 해독된 대칭 키를 AUTH_RES 메시지 내 암호화된 다른 컨텐트를 해독하는데 이용할 수 있다. AUTH_RES 메시지는 페이먼트 게이트웨이(203)에 의해 서명될 수 있다. 서명이 유효한 경우, 승인이 이루어진 것이며 가맹점 디바이스(202)는 승인 답변을 저장한다. 일 실시예에서, AUTH_RES 메시지는 결제 요청을 통해 대금을 결제할 때 사용될 결제 토큰(token)을 더 포함할 수 있고, 결제 토큰은 가맹점 디바이스(202) 내에 저장될 수 있다.After the authorization request is sent, in step 807 an authorization response (AUTH_RES) is received. The authorization response AUTH_RES tells whether the payment has been approved by the issuer 211. In one embodiment, the AUTH_RES message may include a symmetric key encrypted using the public key of the merchant device 202. The merchant device 202 may decrypt the symmetric key and use the decrypted symmetric key to decrypt other encrypted content in the AUTH_RES message. The AUTH_RES message may be signed by the payment gateway 203. If the signature is valid, the authorization has been made and the merchant device 202 stores the authorization response. In one embodiment, the AUTH_RES message may further include a payment token to be used when making a payment through a payment request, and the payment token may be stored in the merchant device 202.
AUTH_RES 메시지를 수신한 후, 단계 808에서, 가맹점 디바이스(202)는 거래 답변 메시지(PURCH_RES)를 생성한다. 거래 답변 메시지(PURCH_RES)는 ECCSI를 이용하여 디지털 서명되고 카드 소지자 디바이스(201)로 전송된다. 단계 809에서, 가맹점 디바이스(202)는 승인 여부에 따라 거래를 완료할지 결정한다.After receiving the AUTH_RES message, at step 808, merchant device 202 generates a transaction reply message (PURCH_RES). The transaction reply message PURCH_RES is digitally signed using ECCSI and sent to the cardholder device 201. At step 809, the merchant device 202 determines whether to complete the transaction based on the approval.
다른 실시예에서, 가맹점 디바이스(202)는 거래 답변 메시지(PURCH_RES)를 승인 과정 이전에 전송할 수 있다. 이 경우, 카드 소지자 디바이스(201)는 이후에 승인 결과에 대한 질문 메시지를 가맹점 디바이스(202)에 전송할 수 있다.In another embodiment, merchant device 202 may send a transaction response message (PURCH_RES) prior to the approval process. In this case, the cardholder device 201 may then send a query message for the approval result to the merchant device 202.
도 9는 일 실시예에 따른, 승인 과정 중에 페이먼트 게이트웨이에 의해 수행되는 방법의 흐름도이다. 단계 901에서, 페이먼트 게이트웨이는 승인 요청을 수신한다. 단계 902에서, 페이먼트 게이트웨이(203)는 IDPKC를 이용하여 PI 및 거래 정보를 해독한다. 일 실시예에서, 페이먼트 게이트웨이(203)는 수신된 AUTH_REQ 메시지에 포함된 제 4 대칭 키를 해독하기 위해 페이먼트 게이트웨이(203)의 개인키를 사용한다. 페이먼트 게이트웨이(203)는 해독된 제 4 대칭 키를 이용하여 거래 정보를 해독하고, 가맹점 디바이스(202)의 서명을 검증한다. PI를 해독하기 위해, 페이먼트 게이트웨이(203)는 카드 소지자의 봉투(envelope)를 해독하여 또 다른 대칭 키를 획득하고, PI를 해독하기 위해 획득된 대칭 키를 이용한다. 페이먼트 게이트웨이(203)는 PI가 카드 소지자의 개인 키를 사용하여 서명되었고, PI가 위변조되지 않았다는 것을 확인하기 위해 이중 서명을 검증할 수 있다. 페이먼트 게이트웨이(203)는 식별자가 카드 소지자의 계좌를 나타낸다는 것을 확인하기 위해 KMS 서명을 검증할 수 있다. 페이먼트 게이트웨이(203)는 거래 식별자 및 가맹점 디바이스(202)가 제시한 금액이 PI 내 값들과 일치하는지 체크할 수 있다.9 is a flowchart of a method performed by a payment gateway during an approval process, according to an embodiment. In step 901, the payment gateway receives the grant request. In step 902, payment gateway 203 decrypts the PI and transaction information using IDPKC. In one embodiment, the payment gateway 203 uses the private key of the payment gateway 203 to decrypt the fourth symmetric key included in the received AUTH_REQ message. The payment gateway 203 decrypts the transaction information using the decrypted fourth symmetric key and verifies the signature of the merchant device 202. To decrypt the PI, the payment gateway 203 decrypts the envelope of the cardholder to obtain another symmetric key, and uses the obtained symmetric key to decrypt the PI. The payment gateway 203 may verify the dual signature to verify that the PI was signed using the cardholder's private key and that the PI was not forged. The payment gateway 203 may verify the KMS signature to verify that the identifier represents the cardholder's account. The payment gateway 203 may check that the transaction identifier and the amount presented by the merchant device 202 match the values in the PI.
단계 903에서, 거래 정보에서 제시된 지불 금액이 승인될 수 있는지 결정하기 위해 페이먼트 게이트웨이(203)는 지불 정보에 의해 식별된 발행자(211)과 통신한다. 페이먼트 게이트웨이(203)는 발행자(211)과 통신할 수 있는 임의의 적합한 방법을 이용할 수 있다. 예를 들어, 페이먼트 게이트웨이(203)는 발행자(211)과 통신할 때, IDPKC 암호화 및 서명들을 이용할 수 있으며, 또는 다른 종류의 암호화된 프로토콜들을 이용할 수 있다.In step 903, the payment gateway 203 communicates with the issuer 211 identified by the payment information to determine if the payment amount presented in the transaction information can be accepted. The payment gateway 203 can use any suitable method for communicating with the issuer 211. For example, the payment gateway 203 may use IDPKC encryption and signatures when communicating with the issuer 211, or may use other types of encrypted protocols.
발행자(211)로부터 승인 답변을 수신한 후, 단계 904에서, 페이먼트 게이트웨이(203)는 자신의 식별자를 이용하여 승인 답변 메시지(AUTH_RES)를 생성하고, ECCSI를 이용하여 디지털 서명한다. AUTH_RES 메시지는 가맹점 디바이스(202)에 발행자(211)가 요청된 금액의 지불을 승인했는지 알려준다. 결제와 승인 과정이 독립적인 실시예에서, AUTH_RES 메시지는 결제 토큰을 더 포함할 수 있다. 일 실시예에서, AUTH_RES 메시지는 가맹점 디바이스(202)의 식별자와 함께 동봉된 대칭 키를 이용하여 암호화될 수 있으며, SAKKE 암호화 방식이 이용될 수 있다. 단계 905에서, 동봉된 대칭 키를 포함하는 암호화된 AUTH_RES 메시지는 가맹점 디바이스(202)로 전송된다.After receiving the authorization response from the issuer 211, in step 904, the payment gateway 203 generates an authorization response message (AUTH_RES) using its identifier and digitally signs it using ECCSI. The AUTH_RES message informs the merchant device 202 if the issuer 211 has approved payment of the requested amount. In embodiments where the payment and authorization process are independent, the AUTH_RES message may further include a payment token. In one embodiment, the AUTH_RES message may be encrypted using the symmetric key enclosed with the identifier of the merchant device 202, and a SAKKE encryption scheme may be used. At step 905, an encrypted AUTH_RES message containing the enclosed symmetric key is sent to the merchant device 202.
도 10은 일 실시예에 따른, 전자 디바이스의 구성을 나타내는 블록도이다. 전자 디바이스(1000)는 카드 소지자 디바이스(201) 및 가맹점 디바이스(202)가 될 수 있다. 전자 디바이스(1000)는 메모리(1100) 및 프로세서(1200)를 포함할 수 있고, 수신된 답변을 디스플레이하는 디스플레이(1300)를 포함할 수 있다. 또한, 전자 디바이스(1000)는 사용자 인터페이스(1400)를 포함할 수 있으며, 사용자 인터페이스(1400)를 통한 사용자 입력에 기초하여 전자 디바이스(1000)는 위에서 설명한 과정들을 수행할 수 있다. 다만 전자 디바이스(1000)의 구성은 이에 제한되지 않는다.10 is a block diagram illustrating a configuration of an electronic device according to an embodiment. The electronic device 1000 may be a card holder device 201 and a merchant device 202. The electronic device 1000 may include a memory 1100 and a processor 1200, and may include a display 1300 that displays the received answer. In addition, the electronic device 1000 may include a user interface 1400, and the electronic device 1000 may perform the processes described above based on a user input through the user interface 1400. However, the configuration of the electronic device 1000 is not limited thereto.
일부 실시예에서, 승인 및 결제 과정이 독립적으로 수행되는 경우, 2단계 프로세스가 적용된다. 일 실시예에서, 결제 과정은 아래와 같이 진행된다. 주문 단계가 진행되고 일정 시간이 흐른 뒤(예를 들어, 마지막 영업일), 가맹점 디바이스(202)는 결제 요청을 생성하고 IDPKC 서명을 이용하여 결제 요청에 디지털 서명함으로써 지불을 요청한다. 일 실시예에서, IDPKC 서명 방식은 ECCSI일 수 있다. 결제 요청은 거래의 최종 금액 및 거래 식별자를 포함할 수 있고, 거래에 대한 다른 정보 또한 포함할 수 있다. 일 실시예에서, 결제 요청은 임의로 생성된 대칭 키를 이용하여 동봉될 수 있는데, 임의로 생성된 대칭 키는 페이먼트 게이트웨이 식별자에 의해 IDPKC 암호화 방식을 이용하여 동봉된 대칭 키이다. 일 실시예에서, IDPKC 암호화 방식은 SAKKE일 수 있다. 가맹점 디바이스(202)는 페이먼트 게이트웨이(203)로 암호화된 결제 요청 및 암호화된 토큰을 포함하는 결제 요청 메시지(CLEAR_REQ)를 전송한다.In some embodiments, if the authorization and payment process is performed independently, a two step process is applied. In one embodiment, the payment process proceeds as follows. After a certain period of time (eg, the last business day) and the ordering phase, the merchant device 202 requests a payment by generating a payment request and digitally signing the payment request using an IDPKC signature. In one embodiment, the IDPKC signature scheme may be ECCSI. The payment request may include the final amount of the transaction and the transaction identifier, and may also include other information about the transaction. In one embodiment, the payment request may be enclosed using a randomly generated symmetric key, which is a symmetric key enclosed using an IDPKC encryption scheme by a payment gateway identifier. In one embodiment, the IDPKC encryption scheme may be SAKKE. The merchant device 202 sends the payment request message CLEAR_REQ including the encrypted payment request and the encrypted token to the payment gateway 203.
페이먼트 게이트웨이(203)가 CLEAR_REQ 메시지를 수신했을 때, 페이먼트 게이트웨이(203)는 동봉된 대칭 키를 해독하고, 해독된 대칭 키를 이용하여 결제 요청을 해독한다. 일 실시예에서, 페이먼트 게이트웨이(203)는 가맹점의 개인 키를 이용하여 결제 요청이 서명되었는지 확인하기 위해 가맹점 디바이스(202)가 서명한 서명을 검증할 수 있다. 페이먼트 게이트웨이(203)는 발행자(211)와의 금융 네트워크를 통해 전송될 요청을 생성하기 위해 결제 요청 및 결제 토큰에 포함된 정보를 이용할 수 있다. 페이먼트 게이트웨이(203)으로부터 요청에 대응하여, 발행자(211)는 인수자(212)에게 자금을 이체한다.When the payment gateway 203 receives the CLEAR_REQ message, the payment gateway 203 decrypts the enclosed symmetric key and decrypts the payment request using the decrypted symmetric key. In one embodiment, the payment gateway 203 may verify the signature signed by the merchant device 202 to verify that the payment request was signed using the merchant's private key. The payment gateway 203 may use the information contained in the payment request and payment token to generate a request to be sent over the financial network with the issuer 211. In response to the request from the payment gateway 203, the issuer 211 transfers funds to the acquirer 212.
페이먼트 게이트웨이(203)는 ECCSI와 같은 IDPKC 서명을 이용하여 결제 답변 메시지(CLEAR_RES)를 생성하고 디지털 서명한다. 일 실시예에서, IDPKC 서명 방식은 ECCSI일 수 있다. 결제 답변 메시지(CLEAR_RES)는 임의로 생성된 대칭 키를 이용하여 암호화될 수 있고, 임의로 생성된 대칭 키는 IDPKC 암호화 방식으로 가맹점 디바이스(202)의 식별자에 의해 동봉된다. 일 실시예에서, IDPKC 암호화 방식은 SAKKE일 수 있다. 서명된 암호화된 CLEAR_RES 메시지는 가맹점 디바이스(202)로 전송되며, 가맹점 디바이스(202)는 SAKKE 봉투에 포함된 대칭 키 및 CLEAR_RES 메시지 내 나머지 컨텐트를 해독할 수 있다. 서명을 검증한 후, 가맹점 디바이스(202)는 인수자(212)로부터 송금 받은 대금을 정산할 때 사용될 CLEAR_RES 메시지를 저장할 수 있다.The payment gateway 203 generates and digitally signs a payment reply message CLEAR_RES using an IDPKC signature such as ECCSI. In one embodiment, the IDPKC signature scheme may be ECCSI. The payment answer message CLEAR_RES may be encrypted using a randomly generated symmetric key, which is enclosed by an identifier of the merchant device 202 in IDPKC encryption. In one embodiment, the IDPKC encryption scheme may be SAKKE. The signed encrypted CLEAR_RES message is sent to the merchant device 202, which can decrypt the symmetric key contained in the SAKKE envelope and the rest of the content in the CLEAR_RES message. After verifying the signature, the merchant device 202 may store a CLEAR_RES message that will be used to settle the transfer received from the takeover 212.
일 실시예에서 단일 결제 요청에 대해 설명되었지만, 다른 실시예에서는 단일 결제 요청 메시지에 다수의 거래가 포함될 수 있다. 또한, 다른 실시예에서 시스템이 승인 절차 중에 대금을 전송하도록 설정된 경우, 별도의 결제 절차는 생략될 수 있다. 예를 들어, 다른 실시예에서, 승인 요청에서 정해진 대금은 발행자(211)가 승인 요청을 수신 받은 즉시 발행자(211)로부터 인수자(212)로 이체될 수 있다.Although one embodiment describes a single payment request, in another embodiment multiple transactions may be included in a single payment request message. Also, in another embodiment, if the system is set to send payment during the approval process, a separate payment process may be omitted. For example, in another embodiment, the payment specified in the approval request may be transferred from issuer 211 to takeover 212 as soon as issuer 211 receives the approval request.
위 여러 실시예들에서 온라인 거래 중에 IDPKC가 이용되어 데이터를 암호화 및/또는 서명하는 방법에 대해 설명하였다. 특정 시스템의 보안 요구사항에 따라 위에서 설명된 특정 암호화 및/또는 서명 단계들이 생략될 수 있다. 또한, 다른 실시예들에서, 위에서 설명된 IDPKC 기반 안전 거래 절차들은 오프라인 거래에 적용될 수도 있다. 예를 들어, 가맹점이 위조 신용 카드의 사용을 방지하기 위해 카드 소지자의 서명을 체크하는 것과 같은 기본적 체크를 수행하고, 이후에 승인 및 결제 요청을 위해 데이터를 제출하는 경우에 설명된 IDPKC 기반 안전 거래 절차들이 적용될 수 있다. 뿐만 아니라, 상점에서 구매하는 경우에도 기존의 신용 카드 지금 단말을 위에서 설명한 IDPKC 기반 프로토콜들과 호환되는 전자 디바이스들로 대체됨으로써 위에서 설명된 실시예들이 적용될 수 있다.In the above various embodiments, a method of encrypting and / or signing data using IDPKC during online transactions has been described. Certain encryption and / or signing steps described above may be omitted, depending on the security requirements of the particular system. Further, in other embodiments, the IDPKC based secure transaction procedures described above may be applied to offline transactions. For example, the IDPKC-based secure transaction described in the case where merchants perform basic checks, such as checking the cardholder's signature to prevent the use of counterfeit credit cards, and subsequently submit data for authorization and payment requests. Procedures may apply. In addition, the embodiments described above may be applied even when purchasing in a store by replacing an existing credit card now terminal with electronic devices compatible with the IDPKC based protocols described above.
전자 지불 시스템에서 안전 거래를 수행하는 방법에 있어서, KMS로부터 카드 소지자의 개인 키를 포함하는 보안 정보를 수신하고, 페이먼트 게이트웨이의 공개 키를 이용하여 지불 정보를 암호화하고, 가맹점의 공개 키를 이용하여 주문 정보를 암호화하고, 개인 키를 이용하여 암호화된 지불 정보 및 암호화된 주문 정보의 이중 서명을 생성하고, 이중 서명된 지불 정보 및 주문 정보를 포함하는 거래 요청을 가맹점으로 전송하고, 가맹점으로부터 거래 요청에 대한 답변을 수신할 수 있다.A method of performing a secure transaction in an electronic payment system, the method comprising: receiving security information including a private key of a cardholder from a KMS, encrypting payment information using a payment gateway's public key, and using a merchant's public key Encrypt order information, generate a double signature of encrypted payment information and encrypted order information using a private key, send a transaction request containing the double signed payment information and order information to the merchant, request a transaction from the merchant You may receive an answer to.
가맹점 디바이스(202)는, IDPKC 프로토콜에 따라 암호화되는 암호화된 지불 정보 및 암호화된 주문 정보의 이중 서명을 포함하는 거래 요청을 수신하고, IDPKC 프로토콜에 따라, 가맹점 개인 키를 이용하여 주문 정보를 해독할 수 있다. 또한, 수신된 암호화된 지불 정보 및 암호화된 거래 정보를 포함하는 승인 요청을 페이먼트 게이트웨이로 전송하고, 승인 답변을 수신한 후 수신된 승인 답변에 기초하여 요청된 거래를 완료할지 결정할 수 있다. 수신된 암호화된 지불 정보에는 승인될 지불 금액이 포함될 수 있다.The merchant device 202 receives a transaction request that includes encrypted payment information encrypted according to the IDPKC protocol and double signing of the encrypted order information, and decrypts the order information using the merchant private key, according to the IDPKC protocol. Can be. In addition, an approval request including the received encrypted payment information and the encrypted transaction information may be transmitted to the payment gateway, and after receiving the approval response, it may be determined whether to complete the requested transaction based on the received approval response. The received encrypted payment information may include a payment amount to be approved.
또한 가맹점 디바이스(202)는, 수신된 주문 정보로부터 승인될 지불 금액을 포함하는 거래 정보를 획득할 수 있다. IDPKC 프로토콜에 따라, 페이먼트 게이트웨이의 공개 키로 거래 정보를 암호화하고, 암호화된 지불 정보에 서명할 수 있다. 서명된 거래 정보 및 수신된 지불 정보를 포함하는 승인 요청을 생성하여, 생성된 승인 요청을 페이먼트 게이트웨이로 전송할 있다.The merchant device 202 may also obtain transaction information, including the payment amount to be approved, from the received order information. According to the IDPKC protocol, transaction information can be encrypted with the payment gateway's public key and the encrypted payment information can be signed. An authorization request is generated that includes the signed transaction information and the received payment information, and the generated authorization request is sent to the payment gateway.
가맹점 디바이스(202)가 페이먼트 게이트웨이의 공개 키로 지불 정보를 암호화할 때, 거래 정보를 제 4 대칭 키를 이용하여 암호화하고, IDPKC에 따라 제 4 대칭 키를 페이먼트 게이트웨이의 공개 키를 이용하여 암호화할 수 있다. 암호화된 제 4 대칭 키는 승인 요청에 포함될 수 있다.When the merchant device 202 encrypts the payment information with the payment gateway's public key, the transaction information can be encrypted using the fourth symmetric key, and according to IDPKC, the fourth symmetric key can be encrypted using the payment gateway's public key. have. The encrypted fourth symmetric key can be included in the authorization request.
페이먼트 게이트웨이(203)는, 암호화된 지불 정보 및 암호화된 거래 정보를 포함하는 승인 요청을 수신할 수 있다. 또한, IDPKC에 따라, 페이먼트 게이트웨이의 개인 키를 이용하여 지불 정보 및 거래 정보를 해독하고, 거래 정보에 포함된 지불 금액이 승인될 수 있는지 확인하기 위해 지불 정보에 의해 식별된 계좌 홀딩 개체(account holding entity)와 통신할 수 있다. IDPKC에 따라, 가맹점의 공개 키를 이용하여 지불이 승인되었는지에 대한 정보를 포함하는 승인 요청을 암호화하여, 가맹점에 승인 답변을 전송할 수 있다. The payment gateway 203 may receive an authorization request that includes encrypted payment information and encrypted transaction information. In addition, in accordance with IDPKC, the account holding entity identified by the payment information is used to decrypt payment information and transaction information using the payment gateway's private key and to verify that the payment amount included in the transaction information can be accepted. entity). According to the IDPKC, an authorization request including information on whether the payment is authorized using the merchant's public key may be encrypted, and an authorization response may be transmitted to the merchant.
전자 지불 시스템 내 안전 거래를 처리하는 가맹점 디바이스(202)는 컴퓨터 프로그램 명령어들을 저장하기 위한 비일시적 컴퓨터 판독가능 저장소를 포함할 수 있다. 또한, 가맹점 디바이스(202)가, IDPKC에 따라 암호화된 지불 정보 및 암호화된 주문 정보의 이중 서명을 포함하는 거래 요청을 수신하고, IDPKC에 따라 가맹점 개인 키를 이용하여 주문 정보를 해독하고, 수신된 암호화된 지불 정보 및 암호화된 거래 정보를 포함하는 승인 요청을 페이먼트 게이트웨이로 전송하고, 승인 답변을 수신하고, 수신된 승인 답변에 기초하여 요청된 거래를 완료할지 결정할 수 있게 하는, 저장된 컴퓨터 프로그램 명령어들을 실행하기 위한 하나 이상의 프로세서들을 포함할 수 있다.The merchant device 202 that processes the secure transaction in the electronic payment system may include a non-transitory computer readable store for storing computer program instructions. In addition, the merchant device 202 receives a transaction request that includes double signing of encrypted payment information and encrypted order information according to IDPKC, decrypts the order information using the merchant private key according to IDPKC, Stored computer program instructions for sending an authorization request, including encrypted payment information and encrypted transaction information, to the payment gateway, receiving an authorization response, and determining whether to complete the requested transaction based on the received authorization response. It may include one or more processors for execution.
전자 지불 시스템 내 안전 거래를 처리하는 페이먼트 게이트웨이(203)은, 컴퓨터 프로그램 명령어들을 저장하기 위한 비일시적 컴퓨터 판독가능 저장소를 포함할 수 있다. 또한, 페이먼트 게이트웨이가, 암호화된 지불 정보 및 암호화된 거래 정보를 포함하는 승인 요청을 수신하고, IDPKC에 따라 페이먼트 게이트웨이 개인 키를 이용하여 상기 지불 정보 및 상기 거래 정보를 해독하고, 상기 지불 정보에 포함된 지불 금액이 승인될 수 있는지 확인하기 위해 상기 지불 정보에 의해 식별된 계좌 홀딩 개체와 통신하고, IDPKC에 따라, 가맹점의 공개 키를 이용하여 지불이 승인되었는지에 대한 정보를 포함하는 승인 요청을 암호화하고, 상기 가맹점에 승인 답변을 전송할 수 있게 하는, 상기 저장된 컴퓨터 프로그램 명령어들을 실행하기 위한 하나 이상의 프로세서들을 포함할 수 있다.The payment gateway 203, which processes secure transactions in an electronic payment system, may include a non-transitory computer readable store for storing computer program instructions. In addition, the payment gateway receives an authorization request including encrypted payment information and encrypted transaction information, decrypts the payment information and the transaction information using a payment gateway private key according to IDPKC, and includes the payment information in the payment information. Encrypts the authorization request with the account holding entity identified by the payment information to ensure that the payment amount received can be accepted, and includes information as to whether the payment was authorized using the merchant's public key, according to IDPKC And one or more processors to execute the stored computer program instructions that enable the sending of an authorization response to the merchant.
전자 지불 시스템 내 개인 키를 제공하는 KMS는, 컴퓨터 프로그램 명령어들을 저장하기 위한 비일시적 컴퓨터 판독가능 저장소를 포함할 수 있다. 또한, 카드 소지자의 공개 식별자를 포함하는 등록 요청 및 대칭 키를 수신하고, IDPKC에 따라 상기 카드 소지자의 상기 공개 식별자에 링크되는 개인 키를 생성하고, 상기 개인 키를 상기 대칭 키로 암호화하고, 상기 암호화된 개인 키를 포함하는 보안 정보를 전송하는, 상기 저장된 컴퓨터 프로그램 명령어들을 실행하기 위한 하나 이상의 프로세서들을 포함할 수 있다.A KMS providing a private key in an electronic payment system may include a non-transitory computer readable store for storing computer program instructions. Also, receive a registration request and a symmetric key including a cardholder's public identifier, generate a private key linked to the cardholder's public identifier according to IDPKC, encrypt the private key with the symmetric key, and encrypt the And one or more processors for executing the stored computer program instructions that transmit security information including the private key.
전자 지불 시스템은 카드 소지자 디바이스(201), 가맹점 디바이스(202), 페이먼트 게이트웨이(203) 및 KMS(221, 222)를 포함할 수 있다.The electronic payment system can include a cardholder device 201, a merchant device 202, a payment gateway 203, and KMS 221, 222.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.Some embodiments may also be embodied in the form of a recording medium containing instructions executable by a computer, such as program modules executed by the computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, computer readable media may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information delivery media.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is shown by the following claims rather than the above description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

Claims (20)

  1. 사용자의 개인 정보를 저장하는 키 매니지먼트 서비스(key management service, 이하 KMS) 서버로부터, ID기반 공개키 암호 방식(Identity-based public key cryptography, 이하 IDPKC) 프로토콜에 따라 생성된 상기 사용자의 개인 키를 수신하는 단계;Receive the user's private key generated according to an identity-based public key cryptography (IDPKC) protocol from a key management service (KMS) server that stores the user's personal information Doing;
    IDPKC 프로토콜에 따라 생성된, 결제 디바이스의 공개 키를 이용하여 지불 정보(Payment Information)를 암호화하고, IDPKC 프로토콜에 따라 생성된, 판매자 디바이스의 공개 키를 이용하여 주문 정보(Order Information)를 암호화하는 단계;Encrypting payment information using the public device's public key generated according to the IDPKC protocol and encrypting the order information using the public key of the merchant device generated according to the IDPKC protocol ;
    IDPKC 프로토콜에 따라, 상기 개인 키를 이용하여 상기 암호화된 지불 정보 및 상기 암호화된 주문 정보의 이중 서명(dual signature)을 생성하는 단계;Generating a dual signature of the encrypted payment information and the encrypted order information using the private key according to an IDPKC protocol;
    상기 이중 서명된 지불 정보 및 주문 정보를 포함하는 거래 요청을 판매자 디바이스로 전송하는 단계; 및Sending a transaction request to the merchant device comprising the double signed payment information and order information; And
    상기 판매자 디바이스로부터 상기 거래 요청에 대한 답변을 수신하는 단계를 포함하는 전자 지불 방법.Receiving an answer to the transaction request from the merchant device.
  2. 제 1항에 있어서,The method of claim 1,
    상기 개인 키를 수신하는 단계는,Receiving the private key,
    상기 KMS 서버로부터 KMS 서버 인증서를 수신하는 단계;Receiving a KMS server certificate from the KMS server;
    상기 인증서를 이용하여 상기 KMS 서버를 인증하는 단계; 및Authenticating the KMS server using the certificate; And
    상기 인증된 KMS 서버로부터 상기 개인 키를 수신하는 단계;Receiving the private key from the authenticated KMS server;
    를 포함하며,Including;
    상기 인증서는 상기 KMS 서버의 마스터 공개 키, 상기 KMS 서버의 URI(Unique Resource Identifier) 및 상기 마스터 공개 키의 유효기간을 포함하는 전자 지불 방법.And the certificate includes a master public key of the KMS server, a unique resource identifier (URI) of the KMS server, and a validity period of the master public key.
  3. 제 1항에 있어서,The method of claim 1,
    상기 개인 키를 수신하는 단계는,Receiving the private key,
    카드의 식별자를 포함하는 등록 요청을 생성하는 단계;Generating a registration request including an identifier of the card;
    제 1 대칭 키를 이용하여 상기 등록 요청을 암호화하고, IDPKC에 따라 상기 KMS 서버의 공개 키를 이용하여 상기 제 1 대칭 키를 암호화 하는 단계;Encrypting the registration request using a first symmetric key and encrypting the first symmetric key using a public key of the KMS server according to IDPKC;
    상기 암호화된 등록 요청 및 상기 암호화된 제 1 대칭 키를 상기 KMS 서버로 전송하는 단계; 및Sending the encrypted registration request and the encrypted first symmetric key to the KMS server; And
    상기 개인 키를 수신하는 단계;Receiving the private key;
    를 포함하는 전자 지불 방법.Electronic payment method comprising a.
  4. 제 3항에 있어서,The method of claim 3, wherein
    IDPKC에 따라 상기 KMS 서버의 공개 키를 이용하여 상기 제 1 대칭 키를 암호화 하는 단계는,Encrypting the first symmetric key using the public key of the KMS server according to IDPKC,
    하나 이상의 KMS 서버에 대응하는 하나 이상의 KMS 서버 공개 키들을 수신하여 메모리에 저장하는 단계;Receiving and storing in the memory one or more KMS server public keys corresponding to the one or more KMS servers;
    상기 판매자 디바이스가 사용하는 KMS 서버의 식별자를 수신하는 단계;Receiving an identifier of a KMS server used by the merchant device;
    상기 KMS 서버의 식별자와 대응하는 상기 KMS 서버 공개 키를 상기 메모리에서 검색하는 단계; 및Retrieving from the memory the KMS server public key corresponding to the identifier of the KMS server; And
    IDPKC에 따라 상기 검색된 KMS 서버 공개 키를 이용하여 상기 제 1 대칭 키를 암호화하는 단계;Encrypting the first symmetric key using the retrieved KMS server public key according to IDPKC;
    를 포함하는 전자 지불 방법.Electronic payment method comprising a.
  5. 제 3항에 있어서,The method of claim 3, wherein
    상기 암호화된 등록 요청을 상기 KMS 서버로 전송하는 단계는,Sending the encrypted registration request to the KMS server,
    상기 전송된 등록 요청에 대응하여, 상기 KMS 서버로부터 상기 KMS 서버에 의해 서명된 추가 등록 정보 요청을 수신하는 단계;In response to the transmitted registration request, receiving an additional registration information request signed by the KMS server from the KMS server;
    상기 KMS 서버의 서명을 확인하여 상기 추가 등록 정보 요청이 인증되었는지 결정하는 단계;Checking a signature of the KMS server to determine whether the additional registration information request is authenticated;
    상기 추가 등록 정보 요청이 인증되었다는 결정에 대응하여, 제 2 대칭 키를 이용하여 상기 추가 등록 정보를 암호화하고, IDPKC에 따라 상기 KMS 서버의 공개 키를 이용하여 상기 제 2 대칭 키를 암호화하는 단계; 및In response to determining that the additional registration information request has been authenticated, encrypting the additional registration information using a second symmetric key and encrypting the second symmetric key using a public key of the KMS server according to IDPKC; And
    상기 암호화된 추가 등록 정보 및 상기 암호화된 제 2 대칭 키를 상기 KMS 서버로 전송하는 단계;Transmitting the encrypted additional registration information and the encrypted second symmetric key to the KMS server;
    를 더 포함하는 전자 지불 방법.Electronic payment method comprising more.
  6. 제 5항에 있어서,The method of claim 5,
    상기 암호화된 등록 요청 또는 상기 암호화된 추가 등록 정보를 상기 KMS 서버로 전송하는 단계는,The transmitting of the encrypted registration request or the encrypted additional registration information to the KMS server may include:
    제 1 난수를 생성하는 단계; 및Generating a first random number; And
    상기 생성된 제 1 난수를 포함하는 상기 등록 요청 또는 상기 추가 등록 정보를 상기 KMS 서버로 전송하는 단계를 포함하며,Transmitting the registration request or the additional registration information including the generated first random number to the KMS server,
    상기 제 1 난수는 상기 카드의 식별자를 상기 카드를 통해 접근이 가능한 자금(funds)이 축적된 계좌 식별자에 링크하는데 이용되는 것인, 전자 지불 방법.Wherein the first random number is used to link the identifier of the card to an account identifier that has accumulated funds accessible through the card.
  7. 제 1항에 있어서,The method of claim 1,
    상기 개인 키를 수신하는 단계는, Receiving the private key,
    상기 사용자의 공개 식별자를 상기 사용자의 카드와 연관된 계좌의 계좌 식별자와 암호화하여 링크하는 서버 서명,A server signature that encrypts and links the user's public identifier with an account identifier of an account associated with the user's card,
    제 1 난수, 상기 사용자의 공개 식별자 및 상기 계좌 식별자와 연접된 제 2 난수, 및A first random number, a second random number concatenated with the user's public identifier and the account identifier, and
    하나 이상의 신뢰된 서버 인증서의 저장 위치 중 적어도 하나를 더 포함하며,Further includes at least one of the storage locations of one or more trusted server certificates,
    상기 제 1 난수는 상기 카드의 식별자를 상기 카드를 통해 접근이 가능한 자금(funds)이 축적된 계좌 식별자에 링크하는데 이용되며, 상기 제 2 난수는 상기 KMS 서버로부터 생성된 것인, 전자 지불 방법.Wherein the first random number is used to link the identifier of the card to an account identifier that has accumulated funds accessible through the card, and wherein the second random number is generated from the KMS server.
  8. 제 1항에 있어서,The method of claim 1,
    상기 개인 키는 상기 사용자의 공개 식별자와 암호화되어 링크된 후, IDPKC에 따라 상기 암호화된 지불 정보 및 상기 암호화된 주문 정보의 상기 이중 서명을 생성하는데 사용되는 것인, 전자 지불 방법.And wherein the private key is encrypted and linked with the user's public identifier and then used to generate the double signature of the encrypted payment information and the encrypted order information in accordance with IDPKC.
  9. 제 1항에 있어서,The method of claim 1,
    상기 이중 서명을 생성하는 단계는,Generating the double signature,
    상기 지불 정보 및 상기 주문 정보를 생성하는 단계;Generating the payment information and the order information;
    상기 결제 디바이스의 공개 식별자 및 상기 판매자 디바이스의 공개 식별자 각각으로부터 상기 결제 디바이스의 공개 키 및 상기 판매자 디바이스의 공개 키를 획득하는 단계;Obtaining a public key of the payment device and a public key of the merchant device from each of the public identifier of the payment device and the public identifier of the merchant device;
    IDPKC에 따라 상기 결제 디바이스의 공개 키를 이용하여 상기 지불 정보를 암호화하고, IDPKC에 따라 상기 판매자 디바이스의 공개 키를 이용하여 상기 주문 정보를 암호화하는 단계; 및Encrypting the payment information using the public key of the payment device according to IDPKC, and encrypting the order information using the public key of the merchant device according to IDPKC; And
    IDPKC에 따라 상기 개인 키를 이용하여 상기 암호화된 지불 정보 및 상기 암호화된 주문 정보의 이중 서명을 생성하는 단계;Generating a double signature of the encrypted payment information and the encrypted order information using the private key according to IDPKC;
    를 포함하는 전자 지불 방법.Electronic payment method comprising a.
  10. 제 9항에 있어서,The method of claim 9,
    IDPKC에 따라 상기 지불 정보를 상기 결제 디바이스의 공개 키로 암호화하는 단계는,Encrypting the payment information with the public key of the payment device according to IDPKC,
    제 3 대칭 키를 이용하여 상기 지불 정보 및 계좌 식별자를 암호화하고, IDPKC에 따라 상기 결제 디바이스의 공개 키를 이용하여 상기 제 3 대칭 키를 암호화하는 단계를 포함하고,Encrypting the payment information and the account identifier using a third symmetric key, encrypting the third symmetric key using a public key of the payment device according to IDPKC,
    상기 암호화된 제 3 대칭 키는 상기 거래 요청에 포함된 것인, 전자 지불 방법.And the encrypted third symmetric key is included in the transaction request.
  11. 제 9항에 있어서,The method of claim 9,
    상기 공개 키를 획득하는 단계는,Acquiring the public key,
    안전 거래를 개시하기 위한 개시 요청을 전송하는 단계;Sending an initiation request to initiate a secure transaction;
    상기 결제 디바이스의 공개 식별자 및 상기 판매자 디바이스의 공개 식별자를 수신하는 단계; Receiving a public identifier of the payment device and a public identifier of the merchant device;
    상기 수신된 공개 식별자들의 형식이 결제 디바이스 식별자 및 판매자 디바이스 식별자에 대한 예측된 형식과 일치하는지 결정하는 단계; 및 Determining that the format of the received public identifiers matches the expected format for a payment device identifier and a merchant device identifier; And
    상기 예측된 형식과 일치한다고 결정된 상기 수신된 공개 식별자들의 형식에 대응하는 상기 결제 디바이스의 공개 키 및 상기 판매자 디바이스의 상기 공개 키를 획득하는 단계;Obtaining a public key of the payment device and the public key of the merchant device corresponding to a format of the received public identifiers determined to match the predicted format;
    를 포함하는 전자 지불 방법.Electronic payment method comprising a.
  12. 제 1항에 있어서,The method of claim 1,
    상기 거래 요청에 대한 답변을 수신하는 단계는,Receiving a response to the transaction request,
    상기 수신된 답변을 디스플레이하는 단계;Displaying the received answer;
    를 더 포함하는 전자 지불 방법.Electronic payment method comprising more.
  13. 적어도 하나의 프로그램이 저장되는 메모리; 및A memory in which at least one program is stored; And
    상기 메모리에 저장된 적어도 하나의 프로그램을 실행함으로써 전자 지불 시스템 내 안전 거래를 수행하도록 하는 프로세서를 포함하고,A processor for executing a secure transaction in an electronic payment system by executing at least one program stored in the memory;
    상기 적어도 하나의 프로그램은,The at least one program,
    사용자의 개인 정보를 저장하는 KMS 서버로부터, IDPKC 프로토콜에 따라 생성된 카드 소지자의 개인 키를 수신하는 단계;Receiving a private key of a cardholder generated according to the IDPKC protocol from a KMS server storing personal information of the user;
    IDPKC 프로토콜에 따라 생성된, 결제 디바이스의 공개 키를 이용하여 지불 정보를 암호화하고, IDPKC 프로토콜에 따라 생성된, 판매자 디바이스의 공개 키를 이용하여 주문 정보를 암호화하는 단계;Encrypting payment information using the public key of the payment device, generated according to the IDPKC protocol, and encrypting the order information using the public key of the merchant device, generated according to the IDPKC protocol;
    IDPKC 프로토콜에 따라, 상기 개인 키를 이용하여 상기 암호화된 지불 정보 및 상기 암호화된 주문 정보의 이중 서명을 생성하는 단계;Generating a double signature of the encrypted payment information and the encrypted order information using the private key according to an IDPKC protocol;
    상기 이중 서명된 지불 정보 및 주문 정보를 포함하는 거래 요청을 판매자 디바이스로 전송하는 단계; 및Sending a transaction request to the merchant device comprising the double signed payment information and order information; And
    상기 판매자 디바이스로부터 상기 거래 요청에 대한 답변을 수신하는 단계;Receiving an answer to the transaction request from the merchant device;
    를 실행하는 명령어들을 포함하는 것을 특징으로 하는 전자 디바이스.And instructions for executing the.
  14. 제 13항에 있어서,The method of claim 13,
    상기 적어도 하나의 프로그램은,The at least one program,
    상기 KMS 서버로부터 KMS 서버 인증서를 수신하는 단계;Receiving a KMS server certificate from the KMS server;
    상기 인증서를 이용하여 상기 KMS 서버를 인증하는 단계; 및Authenticating the KMS server using the certificate; And
    상기 인증된 KMS 서버로부터 상기 개인 키를 수신하는 단계;Receiving the private key from the authenticated KMS server;
    를 실행하는 명령어들을 더 포함하며,Further includes instructions for executing,
    상기 KMS 서버 인증서는 상기 KMS 서버의 마스터 공개 키, 상기 KMS 서버의 URI 및 상기 마스터 공개 키의 유효기간을 포함하는 것을 특징으로 하는 전자 디바이스.And the KMS server certificate comprises a master public key of the KMS server, a URI of the KMS server and a validity period of the master public key.
  15. 제 13항에 있어서,The method of claim 13,
    상기 적어도 하나의 프로그램은,The at least one program,
    카드의 식별자를 포함하는 등록 요청을 생성하는 단계;Generating a registration request including an identifier of the card;
    제 1 대칭 키를 이용하여 상기 등록 요청을 암호화하고, IDPKC에 따라 상기 KMS 서버의 공개 키를 이용하여 상기 제 1 대칭 키를 암호화 하는 단계;Encrypting the registration request using a first symmetric key and encrypting the first symmetric key using a public key of the KMS server according to IDPKC;
    상기 암호화된 등록 요청 및 상기 암호화된 제 1 대칭 키를 상기 KMS 서버로 전송하는 단계; 및Sending the encrypted registration request and the encrypted first symmetric key to the KMS server; And
    상기 개인 키를 수신하는 단계;Receiving the private key;
    를 실행하는 명령어들을 더 포함하는 것을 특징으로 하는 전자 디바이스.And instructions for executing the.
  16. 제 15항에 있어서,The method of claim 15,
    상기 적어도 하나의 프로그램은,The at least one program,
    IDPKC에 따라 상기 KMS 서버의 공개 키를 이용하여 상기 제 1 대칭 키를 암호화 하는 단계는,Encrypting the first symmetric key using the public key of the KMS server according to IDPKC,
    하나 이상의 KMS 서버에 대응하는 하나 이상의 KMS 서버 공개 키들을 수신하여 메모리에 저장하는 단계;Receiving and storing in the memory one or more KMS server public keys corresponding to the one or more KMS servers;
    상기 판매자 디바이스가 사용하는 KMS 서버의 식별자를 수신하는 단계;Receiving an identifier of a KMS server used by the merchant device;
    상기 KMS 서버의 식별자와 대응하는 상기 KMS 서버 공개 키를 상기 메모리에서 검색하는 단계; 및Retrieving from the memory the KMS server public key corresponding to the identifier of the KMS server; And
    IDPKC에 따라 상기 검색된 KMS서버 공개 키를 이용하여 상기 제 1 대칭 키를 암호화하는 단계;Encrypting the first symmetric key using the retrieved KMS server public key according to IDPKC;
    를 실행하는 명령어들을 더 포함하는 것을 특징으로 하는 전자 디바이스.And instructions for executing the.
  17. 제 15항에 있어서,The method of claim 15,
    상기 적어도 하나의 프로그램은,The at least one program,
    상기 전송된 등록 요청에 대응하여, 상기 KMS 서버로부터 상기 KMS 서버에 의해 서명된 추가 등록 정보 요청을 수신하는 단계;In response to the transmitted registration request, receiving an additional registration information request signed by the KMS server from the KMS server;
    상기 KMS 서버의 서명을 확인하여 상기 추가 등록 정보 요청이 인증되었는지 결정하는 단계;Checking a signature of the KMS server to determine whether the additional registration information request is authenticated;
    상기 추가 등록 정보 요청이 인증되었다는 결정에 대응하여, 제 2 대칭 키를 이용하여 상기 추가 등록 정보를 암호화하고, IDPKC에 따라 상기 KMS 서버의 공개 키를 이용하여 상기 제 2 대칭 키를 암호화하는 단계; 및In response to determining that the additional registration information request has been authenticated, encrypting the additional registration information using a second symmetric key and encrypting the second symmetric key using a public key of the KMS server according to IDPKC; And
    상기 암호화된 추가 등록 정보 및 상기 암호화된 제 2 대칭 키를 상기 KMS 서버로 전송하는 단계;Transmitting the encrypted additional registration information and the encrypted second symmetric key to the KMS server;
    를 실행하는 명령어들을 더 포함하는 것을 특징으로 하는 전자 디바이스.And instructions for executing the.
  18. 제 13항에 있어서,The method of claim 13,
    상기 개인 키는 상기 사용자의 공개 식별자와 암호화되어 링크된 후, IDPKC에 따라 상기 암호화된 지불 정보 및 상기 암호화된 주문 정보의 상기 이중 서명을 생성하는데 사용되는 것인, 전자 지불 방법.And wherein the private key is encrypted and linked with the user's public identifier and then used to generate the double signature of the encrypted payment information and the encrypted order information in accordance with IDPKC.
  19. 제 13항에 있어서,The method of claim 13,
    상기 수신된 답변을 디스플레이하는 디스플레이를 더 포함하는 것을 특징으로 하는 전자 디바이스.And a display for displaying the received answer.
  20. 제 1항 내지 제12항 중의 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 1 to 12.
PCT/KR2016/009224 2016-04-05 2016-08-22 Electronic payment method and electronic device using id-based public key cryptography WO2017175926A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP16898030.8A EP3422275A4 (en) 2016-04-05 2016-08-22 Electronic payment method and electronic device using id-based public key cryptography
US16/091,838 US11182783B2 (en) 2016-04-05 2016-08-22 Electronic payment method and electronic device using ID-based public key cryptography

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB1605829.9 2016-04-05
GB1605829.9A GB2549118B (en) 2016-04-05 2016-04-05 Electronic payment system using identity-based public key cryptography
KR10-2016-0105583 2016-08-19
KR1020160105583A KR102621116B1 (en) 2016-04-05 2016-08-19 Elecronic device and electronic payement method using id-based public key cryptography

Publications (1)

Publication Number Publication Date
WO2017175926A1 true WO2017175926A1 (en) 2017-10-12

Family

ID=60000520

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/009224 WO2017175926A1 (en) 2016-04-05 2016-08-22 Electronic payment method and electronic device using id-based public key cryptography

Country Status (1)

Country Link
WO (1) WO2017175926A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020097257A1 (en) * 2018-11-08 2020-05-14 Paypal, Inc. Card storage handler for tracking of card data storage across service provider platforms
CN113592484A (en) * 2021-07-16 2021-11-02 支付宝(杭州)信息技术有限公司 Account cubing method, system and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002514839A (en) * 1998-05-05 2002-05-21 シー. チェン,ジェイ Cryptographic system and method for electronic commerce
JP2009526321A (en) * 2006-02-08 2009-07-16 イマジニア・ソフトウェア,インコーポレーテッド System for executing a transaction in a point-of-sale information management terminal using a changing identifier
KR20100035366A (en) * 2008-09-26 2010-04-05 고려대학교 산학협력단 System and method for electronic payment in electronic commerce, and recording medium used thereto
KR20140039400A (en) * 2012-09-21 2014-04-02 주식회사 유아이디에스 System for paying card of smart phone using key exchange with van server and method therefor
KR20140074732A (en) * 2012-12-10 2014-06-18 주식회사 엘지유플러스 System and method for mobile payment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002514839A (en) * 1998-05-05 2002-05-21 シー. チェン,ジェイ Cryptographic system and method for electronic commerce
JP2009526321A (en) * 2006-02-08 2009-07-16 イマジニア・ソフトウェア,インコーポレーテッド System for executing a transaction in a point-of-sale information management terminal using a changing identifier
KR20100035366A (en) * 2008-09-26 2010-04-05 고려대학교 산학협력단 System and method for electronic payment in electronic commerce, and recording medium used thereto
KR20140039400A (en) * 2012-09-21 2014-04-02 주식회사 유아이디에스 System for paying card of smart phone using key exchange with van server and method therefor
KR20140074732A (en) * 2012-12-10 2014-06-18 주식회사 엘지유플러스 System and method for mobile payment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3422275A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020097257A1 (en) * 2018-11-08 2020-05-14 Paypal, Inc. Card storage handler for tracking of card data storage across service provider platforms
US11176539B2 (en) 2018-11-08 2021-11-16 Paypal, Inc. Card storage handler for tracking of card data storage across service provider platforms
CN113592484A (en) * 2021-07-16 2021-11-02 支付宝(杭州)信息技术有限公司 Account cubing method, system and device

Similar Documents

Publication Publication Date Title
KR102621116B1 (en) Elecronic device and electronic payement method using id-based public key cryptography
US10666428B2 (en) Efficient methods for protecting identity in authenticated transmissions
CN108292330B (en) Secure token distribution
US7490069B2 (en) Anonymous payment with a verification possibility by a defined party
US20100153273A1 (en) Systems for performing transactions at a point-of-sale terminal using mutating identifiers
CA2914956C (en) System and method for encryption
AU2014306440A1 (en) Secure remote payment transaction processing using a secure element
CN112074835A (en) Techniques to perform secure operations
WO2017175926A1 (en) Electronic payment method and electronic device using id-based public key cryptography
JP2023540739A (en) A method for secure, traceable, and privacy-preserving digital currency transfers with anonymity revocation on a distributed ledger
EP3675013A1 (en) Method and device for secure push payments
WO2023085802A1 (en) Did authentication method using smart card, and smart card device
KR101129168B1 (en) Method and system of mobile secure payment
JP4148465B2 (en) Electronic value distribution system and electronic value distribution method
CN115310976A (en) Non-contact transaction processing method, device and system
CN114548986A (en) Payment method, payment security code generation method, device, equipment and storage medium
CN115689559A (en) Digital wallet device and double off-line transaction method thereof
JP3250610B2 (en) How to get fund transfer information
KR20060019928A (en) Electronic payment method
Islam et al. A PKI Enabled Authentication Protocol for Secure E-Payment Framework
GB2510793A (en) Method and apparatus for electronic payment authorization

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2016898030

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2016898030

Country of ref document: EP

Effective date: 20180925

NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16898030

Country of ref document: EP

Kind code of ref document: A1