KR20180089951A - Method and system for processing transaction of electronic cash - Google Patents
Method and system for processing transaction of electronic cash Download PDFInfo
- Publication number
- KR20180089951A KR20180089951A KR1020170014724A KR20170014724A KR20180089951A KR 20180089951 A KR20180089951 A KR 20180089951A KR 1020170014724 A KR1020170014724 A KR 1020170014724A KR 20170014724 A KR20170014724 A KR 20170014724A KR 20180089951 A KR20180089951 A KR 20180089951A
- Authority
- KR
- South Korea
- Prior art keywords
- public key
- module
- receiving
- transmitting
- issuing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000012545 processing Methods 0.000 title description 42
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims 2
- 230000006870 function Effects 0.000 description 33
- 238000004891 communication Methods 0.000 description 32
- 239000000284 extract Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/363—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes with the personal data of a user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3823—Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
본 발명은 전자화폐 거래 방법 및 시스템에 관한 것으로, 보다 상세하게는 P2P거래에 있어서 전자화폐를 보다 간편하게 사용할 수 있도록 하는 전자화폐 거래 방법 및 시스템에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic money transaction method and system, and more particularly, to an electronic money transaction method and system that enable electronic money to be used more easily in P2P transactions.
비트코인의 보안기술로 알려진 블록체인(Block Chain)은 공공거래 장부라고도 불리우며, 전자화폐(가상화폐)로 거래할 때 발생할 수 있는 해킹을 막는 기술이다.Block Chain, also known as bit coin security technology, is also called a public transaction book, and is a technique to prevent hacking that may occur when trading with electronic money (virtual currency).
기존의 전자화폐 송금/지불 방식은 중앙서버에서 모든 거래 기록을 보관하는 중앙집중식인데 반면에, 블록체인은 거래에 참여하는 모든 사용자에게 거래내역을 보내주며 이를 대조하여 데이터 위조를 막는 방식을 사용하고 있다.The traditional electronic money transfer / payment method is centralized to keep all transaction records on the central server, while the block chain sends transaction details to all users participating in the transaction and contrasts them to prevent data tampering have.
상술한 기존의 전자화폐 송금/지불 방식은 장부 관리가 필요하며, 네트워크를 통해 중앙서버에서 총괄 처리되어야 한다. 장부 관리는 데이터저장소의 리소스를 반드시 필요로 하고, 중앙서버에서 총괄 처리되도록 하기 위해서는 네트워크에 연결된 서버 시스템이 반드시 필요하다.The existing electronic money transfer / payment method described above requires book management and should be processed in a central server through a network. Book management requires the resources of the data store, and a server system connected to the network is necessary to be processed at the central server.
한편, 블록체인을 이용하는 각각의 사용자는 자신의 거래내역 뿐만 아니라 거래에 참여하는 다른 모든 사용자들의 거래내역도 함께 저장해 두어야 하므로, 저장공간의 문제가 발생되었다. 그래서, 중간 서버를 활용하는 경우가 있는데, 이 경우에는 네트워크에 연결된 중간 서버를 별도로 두어야 한다.On the other hand, each user using the block chain has to store not only his / her transaction history but also transaction details of all other users involved in the transaction, thus causing storage space problems. So, in some cases, an intermediate server may be utilized. In this case, an intermediate server connected to the network must be separately provided.
그리고, 블록체인은 개개인의 분산된 원장을 사용하는 것이므로, 거래가 발생하였을 경우 모든 분산 원장에 해당 거래에 대한 기록내역을 업데이트시켜야 한다. 이때, 블록체인을 이용하는 사용자의 수가 많으면 많을수록 모든 사용자의 원장에 기록내역을 업데이트 완료시키기까지의 시간이 더욱 길어지게 되고, 완료되기까지 많은 시간을 기다려야 하는 문제가 발생되고 있다.In addition, since the block chain uses individual distributed ledgers, when a transaction occurs, it is necessary to update the record of the transactions in all the distributed ledgers. At this time, as the number of users using the block chain increases, the time required to update the record details in all the users' ledgers becomes longer, and a problem occurs that a lot of time is required to be completed.
한편, 기존의 선불 충전 카드는 수취하는 측에서 암호키를 가져야 하므로 SAM(Secure Access Module)과 같은 하드웨어 장치가 반드시 필요하다. 그런데, 현재의 SAM은 모든 카드에 접근하여 화폐를 취득할 수 있는 문제가 있다.On the other hand, since the existing prepaid charging card must have a cryptographic key on the receiving side, a hardware device such as a SAM (Secure Access Module) is necessarily required. However, the present SAM has a problem in that it can acquire money by accessing all the cards.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 네트워크에 연결된 서버를 이용하지 않고서도 P2P간의 전자화폐의 이동을 안전하면서도 수월하게 행할 수 있도록 하는 전자화폐 거래 방법 및 시스템을 제공함에 그 목적이 있다.Disclosure of Invention Technical Problem [8] The present invention has been proposed in order to solve the above-described problems of the related art, and provides an electronic money transaction method and system that can safely and easily move electronic money between P2Ps without using a server connected to a network. There is a purpose.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 전자화폐 거래 방법은, 발행측 모듈이 발행하는 전자화폐에 대해 수신측 모듈이 요구하고 송신측 모듈이 지불하는 거래 방법으로서, 수신측 모듈이, 요구할 전자화폐의 금액을 지정하고 난수를 생성하는 단계; 수신측 모듈이, 상기 금액 및 상기 난수를 근거로 제 1 암호문을 생성하는 단계; 송신측 모듈이, 상기 제 1 암호문을 근거로 제 2 암호문을 생성하는 단계; 발행측 모듈이, 상기 제 2 암호문을 송신측 공개키와 수신측 공개키로 복호화하는 단계; 상기 발행측 모듈이, 상기 제 2 암호문을 근거로 제 3 암호문을 생성하는 단계; 상기 수신측 모듈이, 상기 제 3 암호문을 송신측 공개키와 발행측 공개키로 복호화하는 단계; 및 상기 수신측 모듈이, 상기 제 3 암호문을 복호화한 결과가 상기 금액 및 상기 난수와 일치하는 지를 판단하는 단계;를 포함하고, 상기 송신측 공개키와 상기 발행측 공개키 및 상기 수신측 공개키는 F함수에 의해 홀수로 생성된다.In order to achieve the above object, an electronic money transaction method according to a preferred embodiment of the present invention is a transaction method which is requested by a receiving side module for electronic money issued by a issuing side module and paid by a transmitting side module, The module designating an amount of electronic money to be requested and generating a random number; The receiving module generating a first ciphertext based on the amount and the random number; The transmitting module generating a second cipher text based on the first cipher text; The issuing side module decrypting the second cipher text with the transmitting public key and the receiving public key; The issuer-side module generating a third ciphertext based on the second ciphertext; The receiving module decrypting the third cipher text with a transmitting public key and a issuing public key; And a step in which the receiving module decides whether the result of decoding the third cipher text matches the amount and the random number, and wherein the transmitting side public key, the issuing side public key, and the receiving side public key Are generated in an odd number by the F function.
상기 F함수는 모든 입력값에 대해 홀수를 출력하는 단사함수 또는 해쉬함수일 수 있다.The F function may be a single function or a hash function that outputs an odd number for all input values.
상기 송신측 공개키와 상기 발행측 공개키 및 상기 수신측 공개키는 상호 동일한 공통 인자(N)(N = p*q, p = 2p' + 1, q = 2q' + 1(p' 및 q'는 소수이고, p 및 q는 서로 다른 소수))를 사용할 수 있다.The transmitting side public key, the issuing side public key, and the receiving side public key have the same common factor N (N = p * q, p = 2p '+ 1, q = 2q' + 1 Is a prime number, and p and q are different prime numbers).
상기 제 2 암호문을 송신측 공개키와 수신측 공개키로 복호화하는 단계는, 복호화에 따른 금액을 추출하여 상기 발행측 모듈내의 금액 저장부의 정보를 갱신하는 단계;를 포함할 수 있다.The step of decrypting the second cipher text with the transmission side public key and the reception side public key may include extracting the amount corresponding to the decryption and updating the information of the amount storage unit in the issuing side module.
상기 제 3 암호문은 상기 송신측 모듈을 거쳐 상기 수신측 모듈에게로 전달될 수 있다.The third ciphertext may be passed to the receiver module via the transmitter module.
상기 제 3 암호문을 복호화한 결과가 상기 금액 및 상기 난수와 일치하는 지를 판단하는 단계는, 상기 제 3 암호문을 복호화한 결과가 상기 금액 및 상기 난수와 일치하면 상기 복호화에 따른 금액을 근거로 상기 수신측 모듈내의 금액 저장부의 정보를 갱신하는 단계;를 포함할 수 있다.Wherein the step of determining whether the decryption result of the third ciphertext matches the amount and the random number includes the step of determining whether the decryption result of the third ciphertext matches the amount and the random number, And updating the information of the amount storage unit in the side module.
그리고, 본 발명의 바람직한 실시양태에 따른 전자화폐 거래 시스템은, 발행측 모듈이 발행하는 전자화폐에 대해 수신측 모듈이 요구하고 송신측 모듈이 지불하는 거래 시스템으로서, 상기 수신측 모듈은, 난수를 생성하는 난수 생성부; 수신측 비밀키를 저장하는 수신키 저장부; 및 상기 요구한 금액 및 상기 난수를 상기 수신측 비밀키로 암호문을 생성하여 상기 송신측 모듈에게로 전송하고, 상기 암호문이 상기 송신측 모듈 및 상기 발행사 모듈을 거치면서 순차적으로 암호화됨에 따른 최종의 암호문을 수신하여 송신측 공개키 및 발행측 공개키로 복호화하고, 상기 최종의 암호문을 복호화한 결과가 상기 금액 및 상기 난수와 일치하는 지를 판단하는 프로세스 처리부;를 포함하고, 상기 송신측 공개키 및 상기 발행측 공개키는 F함수에 의해 홀수로 생성된다.An electronic money transaction system according to a preferred embodiment of the present invention is a transaction system that is requested by a receiving side module for an electronic money issued by a issuing side module and paid by a transmitting side module, A random number generator for generating a random number; A receiving key storage unit for storing a receiving side secret key; And generating a ciphertext using the receiving secret key and transmitting the ciphertext to the transmitting module, and transmitting the final ciphertext corresponding to the ciphertext sequentially encrypted through the transmitting module and the issuer module And a process processor for decrypting the decrypted cipher text with the transmission side public key and the issuing side public key and determining whether the result of decoding the final cipher text matches the amount and the random number, The public key is generated in an odd number by the F function.
상기 송신측 공개키 및 상기 발행측 공개키는 상호 동일한 공통 인자(N)(N = p*q, p = 2p' + 1, q = 2q' + 1(p' 및 q'는 소수이고, p 및 q는 서로 다른 소수))를 사용할 수 있다.The transmitting side public key and the issuing side public key have the same common factor N (N = p * q, p = 2p '+ 1, q = 2q' + 1 And q may be different prime numbers).
상기 발행측 모듈은, 상기 수신측 모듈에서의 암호문이 상기 송신측 모듈에서 재차 암호화됨에 따라 상기 재차 암호화된 암호문을 송신측 공개키 및 수신측 공개키로 복호화하여 금액을 추출하되,상기 수신측 공개키는 F함수에 의해 홀수로 생성되고, 상기 F함수는 모든 입력값에 대해 홀수를 출력하는 단사함수 또는 해쉬함수이고, 상기 수신측 공개키는 상기 송신측 공개키 및 상기 발행측 공개키가 사용하는 공통 인자(N)를 사용할 수 있다.Side module, the issuing-side module decrypts the encrypted ciphertext again with the transmitting-side public key and the receiving-side public key in accordance with the cipher text in the receiving-side module being re-encrypted in the transmitting-side module, Is an odd function generated by an F function, the F function is a single function or a hash function that outputs an odd number for all input values, and the receiving side public key is a function of the transmitting side public key and the issuing side public key A common factor (N) can be used.
상기 수신키 저장부는, 해당 수신측 모듈의 USIM(universal subscriber identity module) 또는 트러스트존(trust zone)에 위치할 수 있다.The receiving key storage unit may be located in a universal subscriber identity module (USIM) or a trust zone of the receiving module.
그리고, 본 발명의 다른 바람직한 실시양태에 따른 전자화폐 거래 시스템은, 발행측 모듈이 발행하는 전자화폐에 대해 수신측 모듈이 요구하고 송신측 모듈이 지불하는 거래 시스템으로서, 상기 발행측 모듈은, 발행측 비밀키를 저장하는 발행키 저장부; 및 상기 수신측 모듈에서 요구한 금액 및 상기 수신측 모듈에서 생성된 난수를 근거로 하는 제 1 암호문이 상기 송신측 모듈에서 제 2 암호문으로 암호화되어 수신됨에 따라 상기 제 2 암호문을 송신측 공개키와 수신측 공개키로 복호화하고, 상기 제 2 암호문을 상기 발행측 비밀키로 제 3 암호문을 생성하여 상기 송신측 모듈을 거쳐 상기 수신측 모듈에게로 전송하는 프로세스 처리부;를 포함하고, 상기 송신측 공개키 및 상기 수신측 공개키는 F함수에 의해 홀수로 생성된다.An electronic money transaction system according to another preferred embodiment of the present invention is a transaction system that is requested by a receiving side module for an electronic money issued by a issuing side module and paid by a transmitting side module, A issuing key storage unit for storing a side secret key; And a first ciphertext based on the amount requested by the receiving module and a random number generated by the receiving module, the second ciphertext being encrypted with a second ciphertext in the transmitting module, And a process processor for generating a third cipher text by using the issuing secret key and transmitting the second cipher text to the receiving module via the transmitting module, The receiving side public key is generated by an F function in an odd number.
상기 프로세스 처리부는 상기 송신측 모듈 및 상기 수신측 모듈에서 공통으로 사용가능한 공통 인자를 생성하여 제공하고, 상기 송신측 공개키 및 상기 수신측 공개키는 상기 공통 인자를 동일하게 사용하되, 상기 공통 인자는 N = p*q, p = 2p' + 1, q = 2q' + 1(p' 및 q'는 소수이고, p 및 q는 서로 다른 소수, N은 공통 인자)로 구해질 수 있다.Wherein the process processing unit generates and provides a common factor that can be commonly used in the transmitting module and the receiving module, and the transmitting public key and the receiving public key use the same common factor, (P 'and q' are prime numbers, p and q are different prime numbers, and N is a common factor).
상기 수신측 모듈은 상기 제 3 암호문을 송신측 공개키와 발행측 공개키로 복호화한 결과가 상기 금액 및 상기 난수와 일치하는 지를 판단하고, 상기 발행측 공개키는 F함수에 의해 홀수로 생성되고, 상기 F함수는 모든 입력값에 대해 홀수를 출력하는 단사함수 또는 해쉬함수이고, 상기 발행측 공개키는 상기 송신측 공개키 및 상기 수신측 공개키가 사용하는 공통 인자를 사용할 수 있다.Wherein the receiving side module determines whether the result of decoding the third cipher text by the transmitting side public key and the issuing side public key matches the amount and the random number, the issuing side public key is generated in an odd number by the F function, The F function is a single function or a hash function that outputs an odd number for all input values, and the issuing public key can use a common factor used by the transmitting public key and the receiving public key.
상기 발행키 저장부는, 해당 발행측 모듈의 USIM(universal subscriber identity module) 또는 트러스트존(trust zone)에 위치할 수 있다.The issue key storage unit may be located in a universal subscriber identity module (USIM) or a trust zone of the issuer-side module.
이러한 구성의 본 발명에 따르면, 수신측에서 지불받을 금액을 지정하고 그에 대한 난수를 생성하여 거래를 시작한다. 즉, 거래의 시발점이 송신측 및 발행측이 아니라 수신측이다.According to the present invention having such a configuration, the amount to be paid at the receiving side is specified, and a random number is generated to start the transaction. That is, the starting point of the transaction is not the sender and the issuer but the receiver.
또한, 상호간의 거래에 있어서 발행측 공개키와 송신측 공개키 및 수신측 공개키는 상호 동일한 공통 인자(N)를 이용하므로, 검증을 위해 CA(CA; Certification Authority)(인증기관), RA(Registration Authority)와 같은 서버와 통신할 일도 없다. 다시 말해서, 쌍방간 확실한 신원증명을 위해 신원기반암호(ID-based Cryptography)를 사용함으로써, 키의 유효성을 검증하기 위해 CA(CA; Certification Authority)(인증기관), RA(Registration Authority)와 같은 서버에 의존하지 않고서도 단말기에서 직접 검증할 수 있으므로 매우 효율적이라 할 수 있다. 이와 같이 쌍방간 확실한 신원증명을 위해 신원기반암호(ID-based Cryptography)를 사용함으로써 전통적인 공개키암호방식에서 공개키 교환에 따른 사기행위를 원천차단할 수 있다.Since the issuing public key, the transmitting public key, and the receiving public key use the same common factor (N) in mutual transactions, the CA (Certification Authority) (CA), the RA Registration Authority). In other words, by using ID-based cryptography for reliable identification between both parties, a server such as a CA (Certification Authority) (CA) or RA (Registration Authority) It can be verified directly by the terminal without being dependent on it. Thus, by using ID-based cryptography for authentic identity verification between both parties, it is possible to prevent fraud by public key exchange in the conventional public key cryptosystem.
그리고, 모든 금액에 대하여 난수가 일대일로 대응되어 있으므로, 수신측에서 복호화한 결과 해당 금액에 대한 난수가 처음 생성하였던 난수와 비교하여 상이하면 거래를 하지 않으므로, 금액에 대한 인증이 수월할 뿐만 아니라 이중 지불의 문제를 해결할 수 있다.Since the random numbers are associated with each other in a one-to-one correspondence with respect to all the amounts, if the random number of the corresponding amount is compared with the first generated random number as a result of decoding at the receiving end, the transaction is not performed. The problem of payment can be solved.
도 1은 본 발명의 실시예에 따른 전자화폐 거래 시스템의 구성도이다.
도 2는 본 발명의 실시예에 따른 전자화폐 거래 방법을 설명하기 위한 흐름도이다.1 is a configuration diagram of an electronic money transaction system according to an embodiment of the present invention.
2 is a flowchart illustrating an electronic money transaction method according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.
도 1은 본 발명의 실시예에 따른 전자화폐 거래 시스템의 구성도이다.1 is a configuration diagram of an electronic money transaction system according to an embodiment of the present invention.
본 발명의 실시예에 따른 전자화폐 거래 시스템은, 발행사 단말기(10), 송신측 단말기(20), 및 수신측 단말기(30)를 포함한다. 여기서, 발행사 단말기(10), 송신측 단말기(20), 및 수신측 단말기(30)는 발행측 모듈 또는 발행측 모듈부, 송신측 모듈 또는 송신측 모듈부, 수신측 모듈 또는 수신측 모듈부로 표현되어도 무방하다. 한편으로, 발행사 단말기(10), 송신측 단말기(20), 및 수신측 단말기(30)는 전자화폐 거래 장치가 될 수 있다.The electronic money transaction system according to the embodiment of the present invention includes an
도 1에서, 발행사 단말기(10)와 송신측 단말기(20)는 네트워크(도시 생략)로 연결되고, 송신측 단말기(20)와 수신측 단말기(30)는 네트워크(도시 생략)로 연결되어 있다. 1, the issuing
발행사 단말기(10)와 송신측 단말기(20)는 서로 데이터 통신을 수행할 수 있고, 송신측 단말기(20)와 수신측 단말기(30)는 서로 데이터 통신을 수행할 수 있다.The issuing
네트워크는 유선 통신망 및 무선 통신망을 모두 포함하는 개념으로서, 이에 한정되지 않고 데이터를 주고받을 수 있는 여타의 통신망이 될 수 있다. The term " network " includes both a wired communication network and a wireless communication network. The term " communication network "
발행사 단말기(10)는 P2P간에 전자화폐를 거래할 수 있는 어플리케이션(앱)을 제공해 주는 발행사(서비스 공급사)의 단말기이다. The
발행사 단말기(10)는 전자화폐를 발행할 수 있다. 여기서, 발행사는 신뢰할 수 있는 것으로 한다. The
발행사 단말기(10)는 송신측 단말기(20) 및 수신측 단말기(30)에서 공통으로 사용가능한 공통 인자(N)를 생성할 수 있다. 발행사 단말기(10)는 생성한 공통 인자(N)를 송신측 단말기(20) 및 수신측 단말기(30)에게로 보낸다.The issuing
예를 들어, 발행사 단말기(10)는 소수 p = 2p' + 1, 소수 q = 2q' + 1(여기서, p' 및 q'은 소수이고, p 및 q는 서로 다른 소수)를 생성한다. 여기서, 공통 인자(N) = p*q로 할 수 있다. 다시 말해서, 서로 다른 두 소수(p, q)를 곱한 것을 공통 인자(N)라고 할 수 있다. 공통 인자(N)는 송신측 단말기(20) 및 수신측 단말기(30)에 저장되어 암호화, 복호화 및 인증단계에서 사용될 수 있다. 그리고, (p-1)*(q-1)의 값은 Φ(phi)(N)이 될 수 있다. Φ(phi)(N)은 비밀키 생성 인자가 될 수 있다.For example, the
발행사 단말기(10)는 송신측 단말기(20)에서 생성된 암호문을 수신하여 복호화할 수 있다. 여기서, 송신측 단말기(20)에서 생성된 암호문은 수신측 단말기(30)에서 생성된 암호문을 해당 송신측 단말기(20)의 송신측 비밀키로 암호화함에 따라 생성된 것이다. 그리고, 수신측 단말기(30)에서 생성된 암호문은 해당 수신측 단말기(30)가 요구하는 금액(A)과 난수(R)를 연접(concatenation)시킨 데이터(A∥R)(즉, 시퀀스)를 수신측 비밀키로 암호화함에 따라 생성된 것이다. 따라서, 수신측 단말기(30)에서 생성된 암호문을 제 1 암호문 또는 1차 암호문이라고 할 수 있고, 송신측 단말기(20)에서 생성된 암호문을 제 2 암호문 또는 2차 암호문이라고 할 수 있다.The
발행사 단말기(10)는 송신측 단말기(20)에서 생성된 암호문(제 2 암호문)을 복호화함에 있어서, 제 2 암호문을 송신측 비밀키에 상응하는 송신측 공개키(e2, N) 및 수신측 비밀키에 상응하는 수신측 공개키(e1, N)로 복호화할 수 있다.In decrypting the cipher text (second cipher text) generated by the transmitting
발행사 단말기(10)는 제 2 암호문을 복호화하여 금액을 추출하여 내부의 금액 저장부를 갱신한다. The
또한, 발행사 단말기(10)는 제 2 암호문을 해당 발행사 단말기(10)의 발행사 비밀키로 암호화한 제 3 암호문(또는 3차 암호문)을 생성할 수 있다.Also, the
발행사 단말기(10)는 제 3 암호문을 송신측 단말기(20)에게로 전송한다.The
상술한 발행사 단말기(10)는 발행키 저장부(11), 금액 저장부(12), 프로세스 처리부(13), 및 인터페이스부(14)를 포함할 수 있다. The
발행키 저장부(11)는 발행사 단말기(10)의 비밀키를 저장한다. The issued
금액 저장부(12)는 수신측 단말기(30)에서 송신측 단말기(20)에게로 요구한 금액을 저장한다. 즉, 발행사 단말기(10)는 송신측 단말기(20)에서 생성된 암호문( 제 2 암호문; 수신측 단말기(30)에서 생성한 제 1 암호문을 송신측 비밀키로 암호화한 결과)을 복호화할 수 있다. 금액 저장부(12)는 이러한 복호화를 거쳐 추출된 금액(즉, 송신측 단말기(20)에게로 요구한 금액)을 저장한다.The
또한, 금액 저장부(12)는 추출된 금액을 근거로 갱신될 수 있다.Also, the
필요에 따라, 발행키 저장부(11) 및 금액 저장부(12)는 해당 발행사 단말기(10)의 USIM(universal subscriber identity module) 또는 트러스트존(trust zone)에 위치시키는 것이 바람직하다. USIM 또는 트러스트존은 사용자가 접근불가능한 메모리 영역이라고 할 수 있다. 발행측 비밀키 및 금액은 보안에 민감한 정보이다. 발행키 저장부(11) 및 금액 저장부(12)를 USIM 또는 트러스트존에 위치시키게 되면 발행측 비밀키 및 금액에 대한 해커 등의 접근을 차단할 수 있다. It is preferable that the issue
프로세스 처리부(13)는 발행사 단말기(10)의 전체적인 동작을 제어한다.The
프로세스 처리부(13)는 송신측 단말기(20) 및 수신측 단말기(30)에서 공통으로 사용가능한 공통 인자(N)를 생성하고, 공통 인자(N)를 인터페이스부(14)를 통해 송신측 단말기(20) 및 수신측 단말기(30)에게로 보낼 수 있다.The
프로세스 처리부(13)는 발행측 비밀키를 생성할 수 있다. 프로세스 처리부(13)는 발행측 비밀키를 발행키 저장부(11)에 저장한다. 물론, 프로세스 처리부(13)가 발행측 비밀키를 생성하는 것과는 다르게, 해당 발행사 단말기(10)의 설계 단계에서 발행측 비밀키가 미리 설정되어 있을 수도 있다.The
프로세스 처리부(13)는 금액 저장부(12)내의 금액을 증감시키는 등의 연산을 수행할 수 있다.The
프로세스 처리부(13)는 송신측 단말기(20)로부터의 제 2 암호문을 송신측 비밀키에 상응하는 송신측 공개키(e2, N) 및 수신측 비밀키에 상응하는 수신측 공개키(e1, N)로 복호화할 수 있다. 이를 위해, 프로세스 처리부(13)는 송신측 공개키 및 수신측 공개키를 저장할 수 있다.The
수신측 단말기(30)에서 생성된 제 1 암호문은 해당 수신측 단말기(30)가 요구하는 금액(A)과 난수(R)를 연접(concatenation)시킨 데이터(A∥R)(즉, 시퀀스)를 수신측 비밀키로 암호화한 것이다. 송신측 단말기(20)에서의 제 2 암호문은 상술한 제 1 암호문을 송신측 비밀키로 암호화한 것이다. 그에 따라, 프로세스 처리부(13)는 먼저 송신측 비밀키에 상응하는 송신측 공개키로 제 2 암호문을 복호화한 후에 재차 수신측 비밀키에 상응하는 수신측 공개키로 복호화를 실시한다.The first cipher text generated by the receiving
이러한 복호화에 의해 프로세스 처리부(13)는 제 2 암호문내의 금액을 추출할 수 있고, 추출한 금액을 근거로 금액 저장부(12)를 갱신할 수 있다. 이와 같은 복호화 수순을 통해, 프로세스 처리부(13)는 수신측 단말기(30)가 송신측 단말기(20)에게 요구한 금액을 정확히 파악할 수 있게 된다.By this decryption, the
또한, 프로세스 처리부(13)는 제 2 암호문을 해당 발행사 단말기(10)의 발행사 비밀키로 암호화하여 제 3 암호문을 생성하고, 제 3 암호문을 인터페이스부(14)를 통해 송신측 단말기(20)에게로 전송할 수 있다. 이때, 수신측 단말기(30)에서의 난수(R)는 예측할 수 없는 난수이므로, 프로세스 처리부(13)는 수신측 단말기(30)에서 생성된 난수(R)와 동일한 난수를 생성할 수 없다. 그에 따라, 프로세스 처리부(13)는 수신측 단말기(30)에서 최초 생성한 시퀀스(금액(A)∥난수(R))에 대한 위변조를 할 수 없다. 위변조를 한다고 하더라도 난수가 다르게 되므로, 수신측 단말기(30)에서는 해당 금액을 수취하지 않을 것이다. 이로 인해 이중 지불 문제를 해결할 수 있다.The
인터페이스부(14)는 송신측 단말기(20)와의 유무선 통신을 수행할 수 있다.The
인터페이스부(14)는 송신측 단말기(20)로부터의 제 2 암호문을 수신하여 프로세스 처리부(13)에게로 인가할 수 있다.The
또한, 인터페이스부(14)는 프로세스 처리부(13)로부터의 제 3 암호문을 송신측 단말기(20)에게로 전송할 수 있다.Further, the
여기서, 인터페이스부(14)는 송신측 단말기(20)와 와이파이 통신, 블루투스 통신, NFC(Near Field Communication; NFC) 등의 통신을 수행할 수 있는 통신모듈(도시 생략) 등을 포함한다. 한편, 인터페이스부(14)는 제 3 암호문을 QR코드를 이용하여 전송할 수도 있다.The
도 1에서는 프로세스 처리부(13) 및 인터페이스부(14)를 각각 독립되게 구성시켰으나, 필요에 따라서는 인터페이스부(14)가 프로세스 처리부(13)에 포함되는 것으로 하여도 무방하다.Although the
송신측 단말기(20)는 수신측 단말기(30)에서 생성된 암호문(즉, 제 1 암호문)을 암호화할 수 있다. 송신측 단말기(20)에서의 암호화시, 송신측 단말기(20)는 해당 송신측 단말기(20)의 송신측 비밀키로 제 1 암호문을 암호화하여 제 2 암호문을 생성할 수 있다. The transmitting
송신측 단말기(20)는 생성한 제 2 암호문을 발행사 단말기(10)에게로 전송한다.The transmitting
송신측 단말기(20)는 발행사 단말기(10)로부터의 제 3 암호문을 수신측 단말기(30)에게로 전달한다.The transmitting
수신측 단말기(30)의 입장에서는 송신측 단말기(20)만을 상대하므로, 수신측 단말기(30)의 입장에서 보면 송신측 단말기(20)가 소정 금액의 전자화폐를 해당 수신측 단말기(30)에게로 지불하는 수단이 될 수 있다.The receiving
송신측 단말기(20)는 발행사 단말기(10) 또는 수신측 단말기(30)와 와이파이 통신, 블루투스 통신, NFC(Near Field Communication; NFC) 등으로 통신할 수 있다. 그에 따라, 송신측 단말기(20)는 발행사 단말기(10) 또는 수신측 단말기(30)와의 통신을 위한 통신 모듈 등을 포함할 수 있다. 필요에 따라서, 송신측 단말기(20)는 제 2 암호문을 QR코드를 이용하여 전송할 수도 있다.The transmitting
송신측 단말기(20)는 휴대성과 이동성이 보장되는 무선 통신 장치로서, 스마트폰, 스마트 노트, 태블릿 PC 등과 같은 각종의 스마트 기기일 수도 있다.The transmitting
상술한 송신측 단말기(20)는 송신키 저장부(21), 프로세스 처리부(22), 및 인터페이스부(23)를 포함할 수 있다.The above-described transmitting terminal 20 may include a transmission
송신키 저장부(21)는 송신측 단말기(20)의 비밀키를 저장한다. The transmission
필요에 따라, 송신키 저장부(21)는 해당 송신측 단말기(20)의 USIM(universal subscriber identity module) 또는 트러스트존(trust zone)에 위치시키는 것이 바람직하다. USIM 또는 트러스트존은 사용자가 접근불가능한 메모리 영역이라고 할 수 있다. 송신측 비밀키는 보안에 민감한 정보이다. 송신키 저장부(21)를 USIM 또는 트러스트존에 위치시키게 되면 송신측 비밀키에 대한 해커 등의 접근을 차단할 수 있다. If necessary, the transmission
프로세스 처리부(22)는 송신측 단말기(20)의 전체적인 동작을 제어한다.The
프로세스 처리부(22)는 송신측 비밀키를 생성할 수 있고, 생성한 송신측 비밀키를 송신키 저장부(21)에 저장한다. 물론, 프로세스 처리부(22)가 송신측 비밀키를 생성하는 것과는 다르게, 해당 송신측 단말기(20)의 설계 단계에서 송신측 비밀키가 미리 설정되어 있을 수도 있다.The
프로세스 처리부(22)는 수신측 단말기(30)에서 생성된 암호문(즉, 제 1 암호문)을 암호화할 수 있다. 즉, 프로세스 처리부(22)는 송신측 비밀키로 제 1 암호문을 암호화하여 제 2 암호문을 생성할 수 있다. 이때, 수신측 단말기(30)에서의 난수(R)는 예측할 수 없는 난수이므로, 프로세스 처리부(22)는 수신측 단말기(30)에서 생성된 난수(R)와 동일한 난수를 생성할 수 없다. 그에 따라, 프로세스 처리부(22)는 수신측 단말기(30)에서 최초 생성한 시퀀스(금액(A)∥난수(R))에 대한 위변조를 할 수 없다. 위변조를 한다고 하더라도 난수가 다르게 되므로, 수신측 단말기(30)에서는 해당 금액을 수취하지 않을 것이다. 이로 인해 이중 지불 문제를 해결할 수 있다.The
프로세스 처리부(22)는 생성한 제 2 암호문을 인터페이스부(23)를 통해 발행사 단말기(10)에게로 전송한다.The
또한, 프로세스 처리부(22)는 발행사 단말기(10)로부터의 제 3 암호문을 수신측 단말기(30)에게로 전달될 수 있도록 인터페이스부(23)를 제어한다.The
인터페이스부(23)는 발행사 단말기(10) 및 수신측 단말기(30)와의 유무선 통신을 수행할 수 있다.The
인터페이스부(23)는 프로세스 처리부(22)에서 생성한 제 2 암호문을 발행사 단말기(10)에게로 전송하고, 발행사 단말기(10)로부터의 제 3 암호문을 수신측 단말기(30)에게로 전달할 수 있다.The
여기서, 인터페이스부(23)는 발행사 단말기(10) 및 수신측 단말기(30)와 와이파이 통신, 블루투스 통신, NFC(Near Field Communication; NFC) 등의 통신을 수행할 수 있는 통신모듈(도시 생략) 등을 포함한다. 한편, 인터페이스부(23)는 제 3 암호문을 QR코드를 이용하여 전송할 수도 있다.The
도 1에서는 프로세스 처리부(22) 및 인터페이스부(23)를 각각 독립되게 구성시켰으나, 필요에 따라서는 인터페이스부(23)가 프로세스 처리부(22)에 포함되는 것으로 하여도 무방하다.1, the
수신측 단말기(30)는 난수를 생성한다. 이때, 난수는 발행사 단말기(10) 및 송신측 단말기(20)에서 예측할 수 없는 값을 가진다.The receiving
기존의 비트코인과 같은 전자화폐의 경우, 보내는 측이 한 사람에게만 소정 금액의 전자화폐를 지불할려고 하였는데 실수로 또 다른 사람에게도 재차 소정 금액의 전자화폐를 지불하는 이중 지불의 문제가 발생할 수 있다.In the case of the electronic money such as the conventional bit coin, the sending side tries to pay the electronic money of a predetermined amount to only one person, but there is a possibility of the double payment that the electronic money is paid again to another person by mistake.
즉, 기존의 방식에서는 보내는 사람이 거래 시작의 주체가 되어 소정 금액의 전자화폐를 송금하였다. 이로 인해 상술한 바와 같은 이중 지불의 문제가 발생한다.That is, in the conventional method, the sender became the subject of the transaction and remitted electronic money of a predetermined amount. This causes the problem of double payment as described above.
그러나, 본 발명의 실시예에서는 수신측 단말기(30)가 거래 시작의 주체가 된다. 즉, 수신측 단말기(30)가 받을 금액을 지정하고 난수를 생성하고, 지정된 금액 및 난수를 근거로 제 1 암호문을 생성하여 송신측 단말기(20)에게로 전송한다. 이후, 송신측 단말기(20)는 제 1 암호문을 암호화하여 제 2 암호문으로 만들어 발행사 단말기(10)에게로 보내고, 발행사 단말기(10)는 제 2 암호문을 암호화하여 제 3 암호문으로 만들어 수신측 단말기(30)에게로 보낸다. 수신측 단말기(30)에서는 제 3 암호문을 복호화한 결과에 따른 금액 및 난수가 제 1 암호문을 만들때 사용하였던 금액과 난수와 동일하면 정상적인 거래인 것으로 판단하여 거래를 완료(즉, 전자화폐 수취)를 할 수 있다. 그러나, 제 3 암호문을 복호화한 결과에 따른 금액 및 난수가 제 1 암호문을 만들때 사용하였던 금액과 난수와 동일하지 않으면 비정상적인 거래인 것으로 판단하여 거래를 하지 않게 된다(즉, 전자화폐 불수취). However, in the embodiment of the present invention, the receiving
상술한 바와 같이, 수신측 단말기(30)가 난수를 생성하여 암호문에 활용하게 되면, 이중 지불의 문제를 효과적으로 해소할 수 있다.As described above, if the receiving
이와 같이, 수신측 단말기(30)는 송신측 단말기(20)로부터 지불받아야 할 금액과 소정의 난수를 해당 수신측 단말기(30)의 수신측 비밀키로 암호화하여 제 1 암호문을 생성할 수 있다.In this way, the receiving
수신측 단말기(30)는 제 1 암호문을 송신측 단말기(20)에게로 전송한다.The receiving
수신측 단말기(30)는 송신측 단말기(20)를 통해 수신한 발행사 단말기(10)로부터의 제 3 암호문을 복호화할 수 있다. 이때, 수신측 단말기(30)는 제 3 암호문을 발행측 비밀키에 상응하는 발행측 공개키(e3, N) 및 수신측 비밀키에 상응하는 수신측 공개키(e1, N)로 복호화한다. 그리고, 수신측 단말기(30)는 복호화한 결과(예컨대, 복호문)에 포함된 금액 및 난수가 제 1 암호문 생성시 사용하였던 금액 및 난수와 일치하는지를 판단한다. 판단 결과에 따라 수신측 단말기(30)는 금액 저장부를 갱신하여 거래를 완료할 수 있다.The receiving
수신측 단말기(30)는 송신측 단말기(20)와 와이파이 통신, 블루투스 통신, NFC(Near Field Communication; NFC) 등으로 통신할 수 있다. 그에 따라, 수신측 단말기(30)는 송신측 단말기(20)와의 통신을 위한 통신 모듈 등을 포함할 수 있다. 필요에 따라서, 수신측 단말기(30)는 QR코드에 실린 암호문을 QR코드 스캐너로 스캔하여 디코딩할 수 있게 하여도 무방하다.The receiving
수신측 단말기(30)는 가맹점에 설치되는 단말기일 수 있다. 필요에 따라, 수신측 단말기(30)는 스마트폰, 스마트 노트, 태블릿 PC 등과 같은 각종의 스마트 기기일 수도 있다.The receiving
상술한 본 발명의 실시예에서, 송신측 공개키(e2, N)와 발행측 공개키(e3, N) 및 수신측 공개키(e1, N)는 F함수에 의해 홀수로 생성됨이 바람직하다. 즉, 모든 종류의 식별자를 공개키의 키값으로 사용할 수 있게 하기 위해서, 송신측 공개키와 발행측 공개키 및 수신측 공개키는 홀수로 생성하는 것이 바람직하다. F함수는 모든 입력값에 대해 홀수를 출력하는 단사함수 또는 해쉬함수이다.In the embodiment of the present invention described above, it is preferable that the transmitting side public key e2, N, the issuing side public key e3, N and the receiving side public key e1, N are generated in an odd number by the F function. That is, in order to use all kinds of identifiers as key values of the public key, it is preferable to generate the transmitting public key, the issuing public key, and the receiving public key in an odd number. The F function is a hash function or hash function that outputs an odd number for all input values.
예를 들어, 송신측 공개키(e2, N)와 발행측 공개키(e3, N) 및 수신측 공개키(e1, N)는 각각 하기의 방식으로 생성될 수 있다. 먼저, 소수 p = 2p' + 1, 소수 q = 2q' + 1(여기서, p' 및 q'은 소수이고, p 및 q는 서로 다른 소수)를 생성한다. 그리고, N(공통 인자) = p*q로 하고, Φ(phi)(N)= (p-1)*(q-1)로 한다. 이때, 각각의 공개키의 지수 e1, e2, e3는 1보다 크고 Φ(phi)(N) 보다 작은 정수중에서 파이(N)과 서로소(여러개의 수 사이에 1을 제외한 공약수가 없음을 지칭함)가 되고 모든 데이터(예컨대, 식별자)를 키값으로 사용할 수 있도록 하기 위해 홀수로 하는 것이 바람직하다. 이와 같이 지수 e1, e2, e3를 홀수로 하게 되면 모든 종류의 식별자를 공개키로 사용할 수 있게 된다. For example, the sender public key e2, N, the issuer public key e3, N, and the receiver public key e1, N may be generated in the following manner. First, a prime number p = 2p '+ 1, a prime q = 2q' + 1, where p 'and q' are prime numbers, and p and q are different prime numbers. Let phi (phi) (N) = (p-1) * (q-1) be N (common factor) = p * q. The exponents e1, e2, and e3 of each public key are an integer that is greater than 1 and less than or equal to phi (N), and is different from py (N) (indicating that there is no common divisor except for 1 between multiple numbers) And it is preferable to make the number of the data to be an odd number so that all data (for example, an identifier) can be used as a key value. If the exponents e1, e2, and e3 are set to an odd number, all kinds of identifiers can be used as public keys.
물론, 선택된 지수 e1, e2, e3로부터, d = 1/e mod Φ(phi)(N)을 만족하는 수 d를 계산한다. 이와 같이 하여 계산된 d는 비밀키(개인키)가 된다. 즉, e1을 근거로 만들어진 d는 수신측 단말기(30)의 비밀키가 될 수 있고, e2를 근거로 만들어진 d는 송신측 단말기(20)의 비밀키가 될 수 있고, e3를 근거로 만들어진 d는 발행사 단말기(10)의 비밀키가 될 수 있다.Of course, from the selected exponents e1, e2, and e3, a number d that satisfies d = 1 / e mod? (Phi) (N) is calculated. The d thus calculated becomes a secret key (private key). That is, d made on the basis of e1 can be the secret key of the receiving
공개키가 홀수이어야 하는 이유에 대해 다시 한번 설명하면 다음과 같다. N = p*q(p=2*p'+1, q=2*q'+1), Φ(phi)(N) = (p-1)*(q-1) 에서, 공개키 e(e1, e2, e3)는 반드시 Φ(phi)(N)과 "서로 소"인 관계가 있어야만 한다(RSA암호의 원리). 비밀키(개인키) d는 공개키 e의 역수 즉, d = 1/e mod Φ(phi)(N)으로 정의되는데, e와 Φ(phi)(N)이 서로 소의 관계에 없으면 수학적으로 역수 (1/e)이 나오지 않게 된다.The reason why the public key should be an odd number is as follows. (N) = (p-1) * (q-1), the public key e ( e1, e2, and e3 must have a relationship of "small" with Φ (phi) (N) (principle of RSA cryptography). The secret key d is defined as the reciprocal of the public key e, d = 1 / e mod Φ (phi) (N). If e and Φ (phi) (N) (1 / e) will not appear.
상기의 예시에서 p=2*p'+1, q=2*q'+1로 예시를 했으므로, Φ(phi)(N)을 다시 구해보면, Φ(phi)(N) = (p-1)*(q-1) = (2*p'+1-1)*(2*q'+1-1) = (2*p')*(2*q') = 4*p'*q' 이 된다. 즉, Φ(phi)(N)은 항상 4의 배수가 나오게 된다. 따라서, Φ(phi)(N)과 항상 "서로 소"가 되게 하는 공개키 e를 선택하기 위해 e를 홀수로 만드는 것이다. e가 F함수에 의해 홀수가 되면 항상 4의 배수인 Φ(phi)(N)과 "서로 소"가 되기 때문이다.(Phi) (N) = (p-1) (1) is obtained again by taking the example as p = 2 * p '+ 1 and q = 2 * q' + 1 in the above example, ) * (q * 1) = (2 * p '+ 1-1) * (2 * q' + 1-1) = '. That is, Φ (phi) (N) is always a multiple of 4. Therefore, to select the public key e that will always be "small" with phi (phi) (N), we make odd number e. When e is an odd number by the F function, it is always "small" with Φ (phi) (N) which is a multiple of 4.
그리고, 단사함수는 모든 조건에서, 그리고 해시함수는 특정 조건에서 x1 != x2 ==> F(x1) != F(x2)가 되게 하는 함수이다. 즉, 공개키(e)가 사용자의 식별자마다 다르게 만드는 것이다. 사용자 식별자가 다른데 공개키가 동일하면 서로 다른 사용자임을 식별할 수 없게 된다. 예를 들어, F(x) = x2 (단사함수 아님) 이라고 하면 A의 식별자가 -1, B의 식별자가 1일 경우, 공개키가 1로 같게 되어 버리므로 사용을 못하게 된다. 홀수로 만드는 단사함수로는 F(x)=2*x + 1, F(X) = 2*logx + 1, F(x)=2*x^2 + 1 (단, x>0) 등으로 정의할 수 있다.And, the unison function is a function that makes x1! = X2 ==> F (x1)! = F (x2) under all conditions and the hash function under certain conditions. That is, the public key e is different for each user identifier. If the user identifiers are different and the public keys are the same, it is impossible to identify them as different users. For example, in the case of F (x) = x2 (not a monotone function), if the identifier of A is -1 and the identifier of B is 1, the public key becomes equal to 1. F (x) = 2 * x + 1, F (X) = 2 * logx + 1, F Can be defined.
상술한 수신측 단말기(30)는 난수 생성부(31), 수신키 저장부(32), 금액 저장부(33), 프로세스 처리부(34), 및 인터페이스부(35)를 포함한다.The receiving
난수 생성부(31)는 난수(R)를 생성할 수 있다. 여기서, 난수(R)를 생성하는 방법은 종래의 각종 난수 생성 방식 중 어느 하나 이상을 이용할 수 있다.The random
수신키 저장부(32)는 수신측 단말기(30)의 비밀키를 저장한다. The reception
금액 저장부(33)는 송신측 단말기(20)에게로 요구하거나 요구할 금액 정보 및 송신측 단말기(20)로부터 소정의 금액을 수취함에 따른 갱신 정보 등을 저장한다.The
필요에 따라, 수신키 저장부(32) 및 금액 저장부(33)는 해당 수신측 단말기(30)의 USIM(universal subscriber identity module) 또는 트러스트존(trust zone)에 위치시키는 것이 바람직하다. USIM 또는 트러스트존은 사용자가 접근불가능한 메모리 영역이라고 할 수 있다. 수신측 비밀키 및 금액은 보안에 민감한 정보이다. 수신키 저장부(32) 및 금액 저장부(33)를 USIM 또는 트러스트존에 위치시키게 되면 수신측 비밀키 및 금액에 대한 해커 등의 접근을 차단할 수 있다. The receiving
프로세스 처리부(34)는 수신측 단말기(30)의 전체적인 동작을 제어한다.The
프로세스 처리부(34)는 송신측 단말기(20)로부터 지불받아야 할 금액(A)을 지정하고, 지정된 금액(A)과 난수 생성부(31)로부터의 난수(R)를 연접(concatenation)시킨 데이터(A∥R)를 수신측 비밀키로 암호화하여 제 1 암호문을 생성할 수 있다.The
프로세스 처리부(34)는 인터페이스부(35)를 통해 제 1 암호문을 송신측 단말기(20)에게로 전송한다.The
한편, 프로세스 처리부(34)는 송신측 단말기(20)를 거쳐 인터페이스부(35)를 통해 수신한 발행사 단말기(10)로부터의 제 3 암호문을 복호화할 수 있다. 이때, 프로세스 처리부(34)는 제 3 암호문을 발행측 비밀키에 상응하는 발행측 공개키 및 수신측 비밀키에 상응하는 수신측 공개키로 복호화한다. Meanwhile, the
그리고, 프로세스 처리부(34)는 복호화한 결과(예컨대, 복호문)의 금액(A') 및 난수(R')가 제 1 암호문 생성시 사용하였던 금액(A) 및 난수(R)와 일치하는지를 판단한다. The
프로세스 처리부(34)는 판단 결과에 따라 금액 저장부(33)를 갱신하여 거래를 완료할 수 있다.The
인터페이스부(35)는 송신측 단말기(20)와의 유무선 통신을 수행할 수 있다.The
인터페이스부(35)는 프로세스 처리부(34)에서 생성한 제 1 암호문을 송신측 단말기(20)에게로 전송하고, 송신측 단말기(20)를 거친 제 3 암호문을 수신할 수 있다.The
여기서, 인터페이스부(35)는 송신측 단말기(20)와 와이파이 통신, 블루투스 통신, NFC(Near Field Communication; NFC) 등의 통신을 수행할 수 있는 통신모듈(도시 생략) 등을 포함한다. 한편, 인터페이스부(35)는 제 1 암호문을 QR코드를 이용하여 전송할 수도 있다.The
도 1에서는 프로세스 처리부(34) 및 인터페이스부(35)를 각각 독립되게 구성시켰으나, 필요에 따라서는 인터페이스부(35)가 프로세스 처리부(34)에 포함되는 것으로 하여도 무방하다.1, the
이번에는, 본 발명의 실시예에 따른 전자화폐 거래 방법에 대해 도 2의 흐름도를 참조하여 설명한다.Hereinafter, an electronic money transaction method according to an embodiment of the present invention will be described with reference to the flowchart of Fig.
일단, 수신측 단말기(30)가 송신측 단말기(20)로부터 지불받아야 할 금액(A)을 지정하고, 그에 대한 난수(R)를 생성한다(S10).The receiving
이후, 수신측 단말기(30)는 금액(A)과 난수(R)를 연접(concatenation)시킨 데이터(A∥R)(즉, 시퀀스)를 수신측 비밀키로 암호화하여 제 1 암호문(E1)을 생성한다(S12). 제 1 암호문(E1)을 생성할 때 공통 인자(N)가 이용될 것이다.The receiving
그리고 나서, 수신측 단말기(30)는 제 1 암호문(E1)을 송신측 단말기(20)에게로 전달한다(S14).Then, the receiving-
그에 따라, 송신측 단말기(20)는 수신한 제 1 암호문(E1)을 송신측 비밀키로 암호화하여 제 2 암호문(E2)를 생성한다(S16). 제 2 암호문(E2)을 생성할 때 공통 인자(N)가 이용될 것이다.Accordingly, the transmitting
그리고 나서, 송신측 단말기(20)는 제 2 암호문(E2)을 발행사 단말기(10)에게로 전달한다(S18).Then, the transmitting
그에 따라, 발행사 단말기(10)는 제 2 암호문(E2)을 송신측 공개키와 수신측 공개키로 복호화한다. 즉, 발행사 단말기(10)는 먼저 송신측 비밀키에 상응하는 송신측 공개키로 제 2 암호문(E2)을 복호화하고, 그 복호화 결과(예컨대, 복호문)를 재차 수신측 비밀키에 상응하는 수신측 공개키로 복호화한다. 이와 같은 복호화에 의해 발행사 단말기(10)는 제 2 암호문(E2)에 대한 복호문내의 금액(A)을 추출할 수 있고, 추출한 금액(A)을 근거로 금액 저장부(12)를 갱신한다. 이와 같은 복호화 수순을 통해, 발행사 단말기(10)는 수신측 단말기(30)가 송신측 단말기(20)에게 요구한 금액을 정확히 파악할 수 있게 된다. 그리고, 발행사 단말기(10)는 제 2 암호문(E2)을 해당 발행사 단말기(10)의 발행사 비밀키로 암호화하여 제 3 암호문(E3)을 생성한다(S20). 제 3 암호문(E3)을 생성할 때 공통 인자(N)가 이용될 것이다.Accordingly, the
상기의 단계 S20에서, 송신측 공개키 및 수신측 공개키는 F함수에 의해 홀수로 생성된 것으로 한다. 즉, 모든 종류의 식별자를 공개키의 키값으로 사용할 수 있게 하기 위해서, 송신측 공개키 및 수신측 공개키는 홀수로 생성하는 것이 바람직하다. F함수는 모든 입력값에 대해 홀수를 출력하는 단사함수 또는 해쉬함수이다.In step S20, it is assumed that the transmission side public key and the reception side public key are generated in an odd number by the F function. That is, in order to use all kinds of identifiers as key values of the public key, it is preferable to generate the transmitting public key and the receiving public key in an odd number. The F function is a hash function or hash function that outputs an odd number for all input values.
이후, 발행사 단말기(10)는 제 3 암호문(E3)을 송신측 단말기(20)에게로 전송한다(S22). Then, the
송신측 단말기(20)는 제 3 암호문(E3)을 수신측 단말기(30)에게로 전달한다(S24).The transmitting
수신측 단말기(30)는 제 3 암호문(E3)을 복호화한다. 이때, 수신측 단말기(30)는 제 3 암호문(E3)을 송식측 비밀키에 상응하는 송신측 공개키 및 발행측 비밀키에 상응하는 발행측 공개키로 복호화한다. 즉, 수신측 단말기(30)는 먼저 송신측 비밀키에 상응하는 송신측 공개키로 제 3 암호문(E3)을 복호화하고, 그 복호화 결과(예컨대, 복호문)를 재차 발행측 비밀키에 상응하는 발행측 공개키로 복호화한다. 그리고, 수신측 단말기(30)는 최종적으로 복호화한 결과에 포함된 금액(A') 및 난수(R')가 제 1 암호문 생성시 사용하였던 금액(A) 및 난수(R)와 일치하는지를 판단한다. 판단 결과, 모두 일치하면 금액 저장부(33)를 갱신한 후 거래를 완료한다(S26). 여기서, 금액 저장부(33)의 갱신 및 거래 완료라 함은 해당 금액을 수취하고 금액 저장부(33)의 금액 정보를 갱신함을 의미할 수 있다. The receiving
상기의 단계 S26에서, 송신측 공개키 및 발행측 공개키는 F함수에 의해 홀수로 생성된 것으로 한다. 즉, 모든 종류의 식별자를 공개키의 키값으로 사용할 수 있게 하기 위해서, 송신측 공개키 및 발행측 공개키는 홀수로 생성하는 것이 바람직하다. F함수는 모든 입력값에 대해 홀수를 출력하는 단사함수 또는 해쉬함수이다.In the above step S26, it is assumed that the transmitting side public key and the issuing side public key are generated in an odd number by the F function. That is, in order to use all kinds of identifiers as the key value of the public key, it is preferable that the transmitting public key and the issuing public key are generated in an odd number. The F function is a hash function or hash function that outputs an odd number for all input values.
한편으로, 수신측 단말기(30)에서의 복호화한 결과에 포함된 금액(A') 및 난수(R')가 제 1 암호문 생성시 사용하였던 금액(A) 및 난수(R)와 일치하지 않으면 해당 금액을 수취하지 않게 된다.On the other hand, if the amount A 'and the random number R' included in the decrypted result at the receiving
상술한 본 발명의 실시예에 따르면, 수신측에서 지불받을 금액(A)을 지정하고 그에 대한 난수를 생성하여 거래를 시작할 수 있다. According to the embodiment of the present invention described above, the amount A to be paid at the receiving side can be specified, and a random number can be generated to start the transaction.
즉, 거래의 시발점이 발행사 단말기(10) 및 송신측 단말기(20)가 아니라, 수신측 단말기(30)가 거래의 시발점이 되어 거래를 위한 정보를 생성하고, 발행측 공개키와 송신측 공개키 및 수신측 공개키는 동일한 공통 인자(N)를 이용하므로, 검증을 위해 CA(CA; Certification Authority)(인증기관), RA(Registration Authority)와 같은 서버에 공개키 인증을 문의할 필요도 없고, 단말기에서 즉각적으로 검증할 수 있으므로 매우 효율적이라고 할 수 있다.That is, the starting point of the transaction is not the
그리고, 모든 금액(A)에 대하여 난수가 일대일로 대응되어 있으므로, 수신측에서 복호화한 결과 해당 금액(A)에 대한 난수가 처음 생성하였던 난수와 비교하여 상이하면 거래를 하지 않으므로, 금액에 대한 인증이 수월할 뿐만 아니라 이중 지불의 문제를 해결할 수 있다.Since the random numbers are associated with all the amounts A in a one-to-one correspondence, if the random number of the corresponding amount A is compared with the first random number generated as a result of decoding at the receiving end, This is not only straightforward, but also solves the problem of double payment.
또한, 상술한 본 발명의 전자화폐 거래 방법은, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.In addition, the above-described electronic money transaction method of the present invention can be implemented as a computer-readable code on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. The computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner. And, functional programs, codes and code segments for implementing the above method can be easily inferred by programmers of the technical field to which the present invention belongs.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, an optimal embodiment has been disclosed in the drawings and specification. While specific terms have been employed herein, they are used for the purpose of describing the invention only and are not used to limit the scope of the invention as defined in the claims or the claims. Therefore, those skilled in the art will appreciate that various modifications and equivalent embodiments are possible without departing from the scope of the present invention. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.
10 : 발행사 단말기
11 : 발행키 저장부
12, 33 : 금액 저장부
13, 22, 34 : 프로세스 처리부
14, 23, 35 : 인터페이스부
20 : 송신측 단말기
21 : 송신키 저장부
30 : 수신측 단말기
31 : 난수 생성부
32 : 수신키 저장부10: Issuer terminal
11: issued key storage unit
12, 33: an amount storage unit
13, 22, 34: process processor
14, 23, 35:
20: transmitting side terminal
21: Transmission key storage unit
30: Receiving terminal
31:
32: Receive key storage unit
Claims (18)
상기 수신측 모듈이, 상기 금액 및 상기 난수를 근거로 제 1 암호문을 생성하는 단계;
송신측 모듈이, 상기 제 1 암호문을 근거로 제 2 암호문을 생성하는 단계;
발행측 모듈이, 상기 제 2 암호문을 송신측 공개키와 수신측 공개키로 복호화하는 단계;
상기 발행측 모듈이, 상기 제 2 암호문을 근거로 제 3 암호문을 생성하는 단계;
상기 수신측 모듈이, 상기 제 3 암호문을 송신측 공개키와 발행측 공개키로 복호화하는 단계; 및
상기 수신측 모듈이, 상기 제 3 암호문을 복호화한 결과가 상기 금액 및 상기 난수와 일치하는 지를 판단하는 단계;를 포함하고,
상기 송신측 공개키와 상기 발행측 공개키 및 상기 수신측 공개키는 F함수에 의해 홀수로 생성되는 것을 특징으로 하는 전자화폐 거래 방법.Designating an amount of electronic money to be requested by the receiving side module and generating a random number;
The receiving module generating a first ciphertext based on the amount and the random number;
The transmitting module generating a second cipher text based on the first cipher text;
The issuing side module decrypting the second cipher text with the transmitting public key and the receiving public key;
The issuer-side module generating a third ciphertext based on the second ciphertext;
The receiving module decrypting the third cipher text with a transmitting public key and a issuing public key; And
And a step in which the receiving module determines whether the result of decoding the third cipher text matches the amount and the random number,
Wherein the transmitting side public key, the issuing side public key, and the receiving side public key are generated in an odd number by an F function.
상기 F함수는 모든 입력값에 대해 홀수를 출력하는 단사함수 또는 해쉬함수인 것을 특징으로 하는 전자화폐 거래 방법.The method according to claim 1,
Wherein the F function is a single function or a hash function that outputs an odd number for all input values.
상기 송신측 공개키와 상기 발행측 공개키 및 상기 수신측 공개키는 상호 동일한 공통 인자(N)(N = p*q, p = 2p' + 1, q = 2q' + 1(p' 및 q'는 소수이고, p 및 q는 서로 다른 소수))를 사용하는 것을 특징으로 하는 전자화폐 거래 방법.The method according to claim 1,
The transmitting side public key, the issuing side public key, and the receiving side public key have the same common factor N (N = p * q, p = 2p '+ 1, q = 2q' + 1 Is a prime number, and p and q are different prime numbers).
상기 제 2 암호문을 송신측 공개키와 수신측 공개키로 복호화하는 단계는,
복호화에 따른 금액을 추출하여 상기 발행측 모듈내의 금액 저장부의 정보를 갱신하는 단계;를 포함하는 것을 특징으로 하는 전자화폐 거래 방법.The method according to claim 1,
The step of decrypting the second cipher text with the transmitting public key and the receiving public key includes:
And a step of extracting an amount corresponding to the decryption and updating the information of the amount storage unit in the issuing side module.
상기 제 3 암호문은 상기 송신측 모듈을 거쳐 상기 수신측 모듈에게로 전달되는 것을 특징으로 하는 전자화폐 거래 방법.The method according to claim 1,
And the third ciphertext is transmitted to the receiver module via the transmitter module.
상기 제 3 암호문을 복호화한 결과가 상기 금액 및 상기 난수와 일치하는 지를 판단하는 단계는,
상기 제 3 암호문을 복호화한 결과가 상기 금액 및 상기 난수와 일치하면 상기 복호화에 따른 금액을 근거로 상기 수신측 모듈내의 금액 저장부의 정보를 갱신하는 단계;를 포함하는 것을 특징으로 하는 전자화폐 거래 방법.The method according to claim 1,
Wherein the step of determining whether the decryption result of the third cipher text matches the amount and the random number includes:
And updating the information of the amount storage unit in the receiver module based on the decrypted amount when the result of decoding the third cipher text matches the amount and the random number. .
상기 수신측 모듈은,
난수를 생성하는 난수 생성부;
수신측 비밀키를 저장하는 수신키 저장부; 및
상기 요구한 금액 및 상기 난수를 상기 수신측 비밀키로 암호문을 생성하여 상기 송신측 모듈에게로 전송하고, 상기 암호문이 상기 송신측 모듈 및 상기 발행사 모듈을 거치면서 순차적으로 암호화됨에 따른 최종의 암호문을 수신하여 송신측 공개키 및 발행측 공개키로 복호화하고, 상기 최종의 암호문을 복호화한 결과가 상기 금액 및 상기 난수와 일치하는 지를 판단하는 프로세스 처리부;를 포함하고,
상기 송신측 공개키 및 상기 발행측 공개키는 F함수에 의해 홀수로 생성되는 것을 특징으로 하는 전자화폐 거래 시스템.A trading system which is requested by the receiving side module for the electronic money issued by the issuing side module and paid by the transmitting side module,
Wherein the receiving-
A random number generator for generating a random number;
A receiving key storage unit for storing a receiving side secret key; And
Generates a ciphertext using the receiving secret key, and transmits the encrypted ciphertext to the transmitting module, and receives the final ciphertext according to the ciphertext being sequentially encrypted through the transmitting module and the issuer module And decrypting the decrypted cipher text using the transmission side public key and the issuing side public key, and determining whether the result of decoding the final cipher text matches the amount and the random number,
Wherein the transmitting side public key and the issuing side public key are generated in an odd number by an F function.
상기 F함수는 모든 입력값에 대해 홀수를 출력하는 단사함수 또는 해쉬함수인 것을 특징으로 하는 전자화폐 거래 시스템.The method of claim 9,
Wherein the F function is a monotone function or a hash function that outputs an odd number with respect to all input values.
상기 송신측 공개키 및 상기 발행측 공개키는 상호 동일한 공통 인자(N)(N = p*q, p = 2p' + 1, q = 2q' + 1(p' 및 q'는 소수이고, p 및 q는 서로 다른 소수))를 사용하는 것을 특징으로 하는 전자화폐 거래 시스템.The method of claim 9,
The transmitting side public key and the issuing side public key have the same common factor N (N = p * q, p = 2p '+ 1, q = 2q' + 1 And q are different prime numbers).
상기 발행측 모듈은,
상기 수신측 모듈에서의 암호문이 상기 송신측 모듈에서 재차 암호화됨에 따라 상기 재차 암호화된 암호문을 송신측 공개키 및 수신측 공개키로 복호화하여 금액을 추출하되,
상기 수신측 공개키는 F함수에 의해 홀수로 생성되고, 상기 F함수는 모든 입력값에 대해 홀수를 출력하는 단사함수 또는 해쉬함수이고,
상기 수신측 공개키는 상기 송신측 공개키 및 상기 발행측 공개키가 사용하는 공통 인자(N)를 사용하는 것을 특징으로 하는 전자화폐 거래 시스템.The method of claim 11,
The issuer-
Side cryptographic module decrypts the encrypted ciphertext with the transmitting-side public key and the receiving-side public key to extract the amount of the encrypted ciphertext according to the ciphertext in the receiving-side module being re-encrypted in the transmitting-side module,
The receiving side public key is generated in an odd number by an F function, and the F function is a single function or a hash function that outputs an odd number with respect to all input values,
Wherein the receiving side public key uses a common factor (N) used by the transmitting side public key and the issuing side public key.
상기 수신키 저장부는,
해당 수신측 모듈의 USIM(universal subscriber identity module) 또는 트러스트존(trust zone)에 위치하는 것을 특징으로 하는 전자화폐 거래 시스템. The method of claim 9,
The reception key storage unit stores,
Is located in a universal subscriber identity module (USIM) or a trust zone of the corresponding receiving-side module.
상기 발행측 모듈은,
발행측 비밀키를 저장하는 발행키 저장부; 및
상기 수신측 모듈에서 요구한 금액 및 상기 수신측 모듈에서 생성된 난수를 근거로 하는 제 1 암호문이 상기 송신측 모듈에서 제 2 암호문으로 암호화되어 수신됨에 따라 상기 제 2 암호문을 송신측 공개키와 수신측 공개키로 복호화하고, 상기 제 2 암호문을 상기 발행측 비밀키로 제 3 암호문을 생성하여 상기 송신측 모듈을 거쳐 상기 수신측 모듈에게로 전송하는 프로세스 처리부;를 포함하고,
상기 송신측 공개키 및 상기 수신측 공개키는 F함수에 의해 홀수로 생성되는 것을 특징으로 하는 전자화폐 거래 시스템.A trading system which is requested by the receiving side module for the electronic money issued by the issuing side module and paid by the transmitting side module,
The issuer-
A issuing key storage unit for storing the issuing secret key; And
The first ciphertext based on the amount requested by the receiving module and the random number generated by the receiving module is encrypted with the second ciphertext in the transmitting module and the second ciphertext is received with the transmitting public key And a process processor for generating a third cipher text using the issuing secret key and transmitting the second cipher text to the receiving module via the transmitting module,
Wherein the transmission side public key and the reception side public key are generated in an odd number by an F function.
상기 F함수는 모든 입력값에 대해 홀수를 출력하는 단사함수 또는 해쉬함수인 것을 특징으로 하는 전자화폐 거래 시스템.15. The method of claim 14,
Wherein the F function is a monotone function or a hash function that outputs an odd number with respect to all input values.
상기 프로세스 처리부는 상기 송신측 모듈 및 상기 수신측 모듈에서 공통으로 사용가능한 공통 인자를 생성하여 제공하고,
상기 송신측 공개키 및 상기 수신측 공개키는 상기 공통 인자를 동일하게 사용하되, 상기 공통 인자는 N = p*q, p = 2p' + 1, q = 2q' + 1(p' 및 q'는 소수이고, p 및 q는 서로 다른 소수, N은 공통 인자)로 구해지는 것을 특징으로 하는 전자화폐 거래 시스템.15. The method of claim 14,
Wherein the process processor generates and provides a common factor that can be commonly used by the transmitting module and the receiving module,
Wherein the common key and the common key are identical to each other, the common key and the common key are N = p * q, p = 2p '+ 1, q = 2q' Is a prime number, p and q are different prime numbers, and N is a common factor).
상기 수신측 모듈은 상기 제 3 암호문을 송신측 공개키와 발행측 공개키로 복호화한 결과가 상기 금액 및 상기 난수와 일치하는 지를 판단하고,
상기 발행측 공개키는 F함수에 의해 홀수로 생성되고, 상기 F함수는 모든 입력값에 대해 홀수를 출력하는 단사함수 또는 해쉬함수이고,
상기 발행측 공개키는 상기 송신측 공개키 및 상기 수신측 공개키가 사용하는 공통 인자를 사용하는 것을 특징으로 하는 전자화폐 거래 시스템.18. The method of claim 16,
Wherein the receiving module determines whether the result of decoding the third cipher text by the transmitting public key and the issuing public key matches the amount and the random number,
The issuing public key is generated in an odd number by an F function, and the F function is a single function or a hash function that outputs an odd number with respect to all input values,
Wherein the issuing-side public key uses a common factor used by the transmitting-side public key and the receiving-side public key.
상기 발행키 저장부는,
해당 발행측 모듈의 USIM(universal subscriber identity module) 또는 트러스트존(trust zone)에 위치하는 것을 특징으로 하는 전자화폐 거래 시스템. 15. The method of claim 14,
The issuing key storage unit stores,
And is located in a universal subscriber identity module (USIM) or a trust zone of the issuer-side module.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170014724A KR20180089951A (en) | 2017-02-02 | 2017-02-02 | Method and system for processing transaction of electronic cash |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170014724A KR20180089951A (en) | 2017-02-02 | 2017-02-02 | Method and system for processing transaction of electronic cash |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180089951A true KR20180089951A (en) | 2018-08-10 |
Family
ID=63229662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170014724A KR20180089951A (en) | 2017-02-02 | 2017-02-02 | Method and system for processing transaction of electronic cash |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20180089951A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111476572A (en) * | 2020-04-09 | 2020-07-31 | 财付通支付科技有限公司 | Data processing method and device based on block chain, storage medium and equipment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100358426B1 (en) | 1998-08-18 | 2003-01-29 | 한국전자통신연구원 | Electronic Cash Transaction Method |
KR101233925B1 (en) | 2011-05-31 | 2013-02-15 | 삼성에스디에스 주식회사 | IBE and Digital Signature Apparatus and Method, and Server for Providing Secret key |
KR101637854B1 (en) | 2015-10-16 | 2016-07-08 | 주식회사 코인플러그 | Certificate issuance system and method based on block chain, certificate authentication system and method based on block chain |
KR101660627B1 (en) | 2015-02-03 | 2016-09-28 | 한양대학교 에리카산학협력단 | Method and apparatus for protecting transasction of encrypted currency |
-
2017
- 2017-02-02 KR KR1020170014724A patent/KR20180089951A/en not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100358426B1 (en) | 1998-08-18 | 2003-01-29 | 한국전자통신연구원 | Electronic Cash Transaction Method |
KR101233925B1 (en) | 2011-05-31 | 2013-02-15 | 삼성에스디에스 주식회사 | IBE and Digital Signature Apparatus and Method, and Server for Providing Secret key |
KR101660627B1 (en) | 2015-02-03 | 2016-09-28 | 한양대학교 에리카산학협력단 | Method and apparatus for protecting transasction of encrypted currency |
KR101637854B1 (en) | 2015-10-16 | 2016-07-08 | 주식회사 코인플러그 | Certificate issuance system and method based on block chain, certificate authentication system and method based on block chain |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111476572A (en) * | 2020-04-09 | 2020-07-31 | 财付通支付科技有限公司 | Data processing method and device based on block chain, storage medium and equipment |
CN111476572B (en) * | 2020-04-09 | 2024-03-19 | 财付通支付科技有限公司 | Block chain-based data processing method, device, storage medium and equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11856104B2 (en) | Methods for secure credential provisioning | |
US11588637B2 (en) | Methods for secure cryptogram generation | |
CN106664206B (en) | Efficient method for authenticated communication | |
US9338163B2 (en) | Method using a single authentication device to authenticate a user to a service provider among a plurality of service providers and device for performing such a method | |
TWI497336B (en) | Data security devices and computer program | |
CN102017578B (en) | Network helper for authentication between a token and verifiers | |
CN107358441B (en) | Payment verification method and system, mobile device and security authentication device | |
US10044684B2 (en) | Server for authenticating smart chip and method thereof | |
KR101468626B1 (en) | System for paying card of smart phone using key exchange with van server | |
CN101300808A (en) | Method and arrangement for secure autentication | |
JP2004247799A (en) | Information system for access controlling using public key certificate | |
Kisore et al. | A secure SMS protocol for implementing digital cash system | |
EP3185504A1 (en) | Security management system for securing a communication between a remote server and an electronic device | |
KR20180089951A (en) | Method and system for processing transaction of electronic cash | |
JP7211519B2 (en) | Owner identity confirmation system, terminal and owner identity confirmation method | |
WO2021019782A1 (en) | Owner identity confirmation system and owner identity confirmation method | |
EP3035589A1 (en) | Security management system for authenticating a token by a service provider server | |
WO2021019781A1 (en) | Owner identity confirmation system, authentication station server, and owner identity confirmation method | |
KR20180089952A (en) | Method and system for processing transaction of electronic cash | |
KR100649858B1 (en) | System and method for issuing and authenticating of payphone smart card | |
JP7259578B2 (en) | Authentication system and authentication method | |
Oliveira | Dynamic QR codes for Ticketing Systems | |
CN115310976A (en) | Non-contact transaction processing method, device and system | |
JP2005038222A (en) | Financial system using ic card | |
EP3270344A1 (en) | Payment device adapted to establish a secure messaging channel with a remote server for a payment transaction and associated remote server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |