JP2018093434A - トランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置 - Google Patents

トランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置 Download PDF

Info

Publication number
JP2018093434A
JP2018093434A JP2016237096A JP2016237096A JP2018093434A JP 2018093434 A JP2018093434 A JP 2018093434A JP 2016237096 A JP2016237096 A JP 2016237096A JP 2016237096 A JP2016237096 A JP 2016237096A JP 2018093434 A JP2018093434 A JP 2018093434A
Authority
JP
Japan
Prior art keywords
public key
payment
transaction
information
authentication
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2016237096A
Other languages
English (en)
Other versions
JP6729334B2 (ja
Inventor
淳 小暮
Atsushi Kogure
淳 小暮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016237096A priority Critical patent/JP6729334B2/ja
Priority to US15/828,949 priority patent/US20180158058A1/en
Publication of JP2018093434A publication Critical patent/JP2018093434A/ja
Application granted granted Critical
Publication of JP6729334B2 publication Critical patent/JP6729334B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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/3825Use of electronic signatures
    • 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
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

【課題】不正なトランザクションの実行を抑制すること。【解決手段】管理装置30は、ノード間で行われたトランザクションで使用された公開鍵に関する公開鍵情報が分散データベースに格納されているか否かを判定し、公開鍵を用いたチャレンジレスポンス認証がトランザクションを行ったノード間で成功しているか否かを判定し、公開鍵情報が分散データベースに格納されており、かつチャレンジレスポンス認証が成功している場合に、公開鍵を用いたトランザクションに関する情報を分散データベースに格納する。【選択図】図6

Description

本発明は、トランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置に関する。
例えばBitcoin(登録商標)など、暗号通貨を取引する場合、P2Pネットワーク上で公開鍵を用いた取引(トランザクション)が行われる。例えば払込装置から受取装置への払込が行われる場合、トランザクションの管理装置が、払込装置の秘密鍵で署名された払込トランザクションを秘密鍵とペアになる公開鍵を用いて検証する。これにより、不正な払込トランザクションが除外され、払込装置から受取装置への払込が正当に行われる。
特開2016−81134号公報
しかしながら、上記の技術では、払込装置以外の暗号通貨所有者から受取装置への払込が発生する可能性がある。
すなわち、払込装置の秘密鍵および公開鍵のペア(鍵ペア)と第三者の鍵ペアとが一致すると、払込装置による払込が行われたにもかかわらず、第三者から受取装置への払込が発生してしまう。鍵ペアは、例えばコンピュータによって自動的に作成される乱数に基づいて生成される。従って、払込装置の鍵ペアと第三者の鍵ペアとが偶然一致してしまう可能性がある。あるいは、払込装置が第三者の鍵ペアを例えば不正に入手して利用することで、第三者にとって意図しない払込が発生する可能性がある。このように、万が一鍵ペアが一致した場合に、不正なトランザクションが実行されてしまう。
1つの側面では、本発明は、不正なトランザクションの実行を抑制できるトランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置を提供することを目的とする。
一態様では、コンピュータにより実行されるトランザクション管理方法であって、コンピュータが、ノード間で行われたトランザクションで使用された公開鍵に関する公開鍵情報が分散データベース(もしくはPoW(Proof of Work)等により一意的に管理されるブロックチェーン(分散台帳))に格納されているか否かを判定し、前記公開鍵を用いたチャレンジレスポンス認証が前記トランザクションを行った前記ノード間で成功しているか否かを判定し、前記公開鍵情報が前記分散データベースに格納されており、かつ前記チャレンジレスポンス認証が成功している場合に、前記公開鍵を用いた前記トランザクションに関する情報を前記分散データベースに格納する。
不正なトランザクションの実行を抑制できる。
図1は、実施例に係るトランザクションシステムを説明するための図である。 図2は、P2Pネットワークを用いた暗号通貨の払込トランザクションを説明するための図である。 図3は、払込トランザクションを説明するための図である。 図4は、ブロックチェーンを説明するための図である。 図5は、鍵ペアが重複した場合の払込トランザクションを説明するための図である。 図6は、実施例に係るチャレンジレスポンス認証を用いた払込トランザクションを説明するための図である。 図7は、実施例に係る払込装置の機能的構成を示すブロック図である。 図8は、公開鍵情報を含む払込トランザクションを説明するための図である。 図9は、実施例に係る受取装置の機能的構成を示すブロック図である。 図10は、認証情報を含む払込トランザクションを説明するための図である。 図11は、実施例に係る管理装置の機能的構成を示すブロック図である。 図12は、実施例に係る払込トランザクションを実行するための処理のシーケンス図である。 図13は、実施例に係る公開鍵登録要求処理の一例を示すフローチャートである。 図14は、実施例に係る公開鍵登録処理の一例を示すフローチャートである。 図15は、実施例に係る認証処理の一例を示すフローチャートである。 図16は、実施例に係る認証登録処理の一例を示すフローチャートである。 図17は、実施例に係る払込処理の一例を示すフローチャートである。 図18は、実施例に係る払込承認処理の一例を示すフローチャートである。 図19は、実施例に係るトランザクション管理プログラムを実行するコンピュータのハードウェア構成例を示す図である。
以下に添付図面を参照して本願に係るトランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置について説明する。なお、この実施例は開示の技術を限定するものではない。
[システム構成]
図1は、実施例に係るトランザクションシステムを説明するための図である。図1に示すトランザクションシステム1は、P2P(peer to peer)ネットワークNを介して接続されるノード10、20、30間で暗号通貨の取引を行うことで、政府や中央銀行のような中央機関を介さずに通貨取引サービスを提供するものである。ノード30は複数ノードで構成されることもあり、その場合PoW(Proof of Work)等の合意メカニズムにより一意的に分散データベース(database、DB)の更新を行う。
図1に示すように、トランザクションシステム1は、P2PネットワークNを介して接続されるノード10、20、30を備える。トランザクションシステム1では、各ノード間で暗号通貨の取引が行われる。ここでは、ノード10からノード20へ暗号通貨の払込が実行されるものとする。すなわち、ノード10が払込装置、ノード20が受取装置、ノード30がトランザクションTxを管理する管理装置であるものとする。
この場合、例えば払込装置(ノード)10から管理装置(ノード)30に対して、受取装置(ノード)20に対する払込の承認要求がP2PネットワークNを介して送信される。管理装置30は、承認要求を受けて、かかる払込を検証し承認する。管理装置30は払込の承認をP2PネットワークNにブロードキャストすることで、払込に関する情報をP2PネットワークN上の分散データベース(database、DB)に格納する。なお、例えば管理装置30が複数存在する場合は、PoW(Proof of Work)等の合意メカニズムにより一意的に払込に関する情報を分散データベースに格納するものとする。これにより、払込装置10から受取装置20への払込が完了する。
このような払込トランザクションTxで取引される暗号通貨は、公開鍵および秘密鍵の鍵ペアを用いた電子署名を利用して取引が行われる仮想的な通貨である。P2PネットワークNを用いてかかる暗号通貨の払込トランザクションTxを行うトランザクションシステムとして、例えばBitcoinが知られている。本実施例では、トランザクションシステム1がBitcoinである場合を例にとって説明する。そこで、まず、図2〜図4を用いて一般的なBitcoinにおける払込トランザクションTxについて説明する。
なお、P2PネットワークNを用いてかかる暗号通貨の払込トランザクションTxを行うトランザクションシステムとしては、Bitcoin以外にも、例えば、Monacoin、Litecoin等種々のトランザクションシステムがある。また、かかるトランザクションシステム1で取引が行われるものは、暗号通貨に限られない。トランザクションシステム1で行われる取引の対象となるものは、例えば株式、債券等の金融商品等、P2PネットワークN上で取引を行え、所定の価値を有する商品が挙げられる。なお、かかる場合、払込トランザクションTxの代わりに、商品の売買等のトランザクションが行われる。
図2は、P2PネットワークNを用いた暗号通貨の払込トランザクションTxを説明するための図である。図2に示すように、払込装置10は、ランダムな数字列を用いて秘密鍵Kpaを生成する。払込装置10は、秘密鍵Kpaから公開鍵Kaを生成する。同様に、受取装置20も秘密鍵KPbおよび公開鍵Kbを生成する。受取装置20は、公開鍵Kbをハッシュ化及びエンコードすることで公開アドレスAbを生成し、払込装置10に対して公開アドレスAbを通知する。なお、公開アドレスAbの通知方法は、例えば電子メールで通知してもよく、Web上で公開することで通知してもよい。払込装置10が受取装置20の公開アドレスAbを取得できればよく通知方法の手段は問わない。
払込装置10は、受取装置20から公開アドレスAbを取得すると、公開アドレスAbに払込を行う旨の払込情報を含む払込データDpを生成する。払込装置10は、かかる払込データDpに秘密鍵Kpaで署名を行い、署名後の払込データDpを含む払込トランザクションTxをP2PネットワークNにブロードキャストすることで、管理装置30に対して払込の承認要求を行う。
管理装置30は、P2PネットワークNを介して払込トランザクションTxを取得すると、かかる払込装置10の公開鍵Kaを用いて払込データDpがKaに対応する秘密鍵Kpaで署名されたものか否かの検証を行う。
払込トランザクションTxが有効である場合、管理装置30は、かかる払込トランザクションTxを分散データベースに格納することで、払込を承認する。これにより、払込装置10から受取装置20への払込が完了する。
上述した払込には、一般的にウォレットと呼ばれるソフトウェアが用いられる。すなわち、ノード10、20は、ウォレットをコンピュータにダウンロードしてP2PネットワークNに接続することで、払込装置、受取装置のいずれかの機能を実現する。また、ノード30が行うDBの管理にはマイニング等の合意メカニズムを実装したソフトウェア・ハードウェアが用いられる。なお、ウォレットは、鍵ペアの生成や公開アドレスの生成、払込トランザクションTx等の送信などを行うことで、暗号通貨の管理を行うソフトウェアである。また、ウォレットがダウンロードされるコンピュータとしては、パーソナルコンピュータ、スマートフォン、タブレット端末等が挙げられる。マイニング等のトランザクション管理を行うコンピュータとしては、サーバあるいはLSI等の専用ハードウェアが挙げられる。
また、ここでは、ノード10が払込装置、ノード20が受取装置、ノード30が管理装置であるとしたが、これに限定されない。例えばノード20からノード30に対して払込が行われる場合は、ノード20が払込装置、ノード30が受取装置となる。また、トランザクションシステム1が備えるノードの数は3つに限定されない。ノードの数は、3つ以上であってもよい。
続いて、図3を用いて暗号通貨の払込トランザクションTxの詳細について説明する。図3は、払込トランザクションTxを説明するための図である。
暗号通貨は、取引(トランザクション)の連鎖として表現される。利用者(図2の払込装置10)は、別の利用者(図2の受取装置20)に暗号通貨を払い込む場合、トランザクションTxの内容を払込装置10の秘密鍵KPaを用いて電子的に署名し、その内容が払込装置10の意図したものであることを保証する。
具体的に、例えば図3に示すように、利用者Zから利用者Aに払込が行われ、次に、利用者Aから利用者Bに払込が行われ、利用者Bから利用者Cに払込が行われたものとする。
図3において、例えば払込装置10である利用者Aから受取装置20である利用者Bに払込が行われる場合について説明する。かかる場合、利用者Aは、利用者Zから利用者Aへの払込トランザクションTx1のハッシュ値と、利用者Bの公開鍵Kbをハッシュ化したハッシュ値とを秘密鍵KPaで署名した払込トランザクションTx2をP2PネットワークNにブロードキャストする。これにより、払込トランザクションTx1の次に払込トランザクションTx2が追加される。なお、利用者Bの公開鍵Kbをハッシュ化したハッシュ値が利用者Bの公開アドレスAbに相当する。
利用者Bや管理装置30(図2参照)など、トランザクションシステム1に含まれるノードは、利用者Aの公開鍵Kaで、払込トランザクションTx2を検証し、払込トランザクションTx1のハッシュ値および利用者Bの公開アドレスAbと照合する。これにより、トランザクションシステム1に含まれるノードは、払込トランザクションTx2の改変の有無を判定でき、払込トランザクションTx2の有効性を検証できる。
利用者Bから利用者Cに払込が行われる場合も同様である。すなわち、払込装置10である利用者Bは、払込トランザクションTx2のハッシュ値と受取装置20である利用者Cの公開鍵Kcのハッシュ値とを秘密鍵KPbで署名した払込トランザクションTx3をP2PネットワークNにブロードキャストする。これにより、払込トランザクションTx2の次に払込トランザクションTx3が追加され、例えば管理装置30(図2参照)によって払込トランザクションTx3の有効性が検証される。
このように、払込装置10から受取装置20に払込を行う場合、前回の払込トランザクションTxに含まれる公開鍵によって、今回の払込トランザクションTxの有効性が検証される。したがって、払込装置10になれるのは、前回の払込トランザクションTxに含まれる公開鍵とペアになる秘密鍵を有する利用者に限られる。そのため、秘密鍵は、他の利用者と重複しないよう、あるいは第三者に漏洩しないように管理される。
しかしながら、上述したように、秘密鍵は、乱数を用いて生成される。乱数は、一般的に、ある数値をシード(seed)値として用いた疑似乱数生成関数などによる特定の演算によって算出される。したがって、同じシード値を用いた場合、同じ乱数が生成されてしまう。
乱数が同じである場合、かかる乱数を用いて生成した秘密鍵も同じになる。このように、シード値が一致した場合など、払込装置10の秘密鍵が第三者の秘密鍵と偶然一致してしまう可能性がある。この場合、秘密鍵を用いて生成される公開鍵も一致してしまう。そのため、払込装置10が意図していないにもかかわらず、第三者の暗号通貨を受取装置20に払い込んでしまう恐れがある。また、払込装置10が第三者の秘密鍵を不正に入手した場合も、第三者の暗号通貨を受取装置20に払い込むことが可能となる。
このように、管理装置30が払込トランザクションTxの有効性を検証しただけでは、不正な払込トランザクションTxが実行されてしまう可能性がある。そこで、本実施例に係るトランザクションシステム1では、払込装置10と受取装置20との間で鍵ペアを用いたチャレンジレスポンス認証を行い、かかる認証結果も含めて払込トランザクションTxを検証することで、不正なトランザクションTxの実行を抑制する。かかる点については、図5を用いて後述することとし、ここでは、一般的な払込トランザクションTxの説明を続けるものとする。
続いて、図4を用いて管理装置30による払込トランザクションTxの承認について説明する。図4は、ブロックチェーンBCを説明するための図である。管理装置30は、払込トランザクションTxを含むブロックB2をブロックチェーンBCの末尾に追加することで、かかる払込トランザクションTxを承認する。すなわち、ブロックチェーンBCが分散データベースであり、管理装置30はブロックチェーンBCに新たなブロックB2を追加することで、分散データベースに承認した払込トランザクションTxを格納する。
図4に示すように、各ブロックB1、B2は、ハッシュ値と、Nonceと、複数の払込トランザクションTxとを格納する。ハッシュ値は、一つ前のブロックB1とそれに含まれるNonceを用いて生成される値であり、所定の条件を満たしている。管理装置30は、所定の条件を満たすハッシュ値を生成することができるNonceを発見することで、ブロックB2をブロックチェーンBCに追加することができる。これにより、ブロックチェーンBCに一貫したトランザクションTxの履歴が記録されることになる。
Nonceを発見する演算を行っているノードはマイナーと呼ばれる。Nonceを発見したマイナーが本実施例での管理装置30としてブロックB2をブロックチェーンBCに追加することで払込トランザクションTxを承認する。
かかるNonceを発見するためには、全数探索・総当りでハッシュ演算を行わなければならず、演算量(仕事量)が非常に大きくなる。トランザクションシステム1では、かかる仕事量の大きさによって、ブロックチェーンBCに一貫したトランザクションTxの履歴が記録されるようにし、暗号通貨の偽造を防止している(プルーフ・オブ・ワーク、proof of work)。
次に、図5を用いて、鍵ペアが重複した場合の払込トランザクションTxについて説明する。図5は、鍵ペアが重複した場合の払込トランザクションTxを説明するための図である。上述したように、例えば乱数生成関数のシード値が一致している場合などにおいて、複数のノード10、40の秘密鍵KPおよび公開鍵Kの鍵ペアが一致することがある。
この場合、例えばノード10が払込装置として受取装置20への払込を管理装置30に承認するよう承認要求を行ったとしても、管理装置30は、ノード40から受取装置20への払込を承認してしまう。そのため、払込装置10から受取装置20への払込が行われず、ノード40から受取装置20への払込が行われてしまう。
このように、複数のノード10、40で鍵ペアが一致してしまうと不正な払込トランザクションTxが実行されてしまう。そこで、本実施例に係るトランザクションシステム1では、払込装置10と受取装置20との間で鍵ペアを用いたチャレンジレスポンス認証を行い、かかる認証結果も含めて払込トランザクションTxを検証することで、不正なトランザクションTxの実行を抑制する。かかる点について、図6を用いて説明する。
図6は、実施例に係るチャレンジレスポンス認証を用いた払込トランザクションTxを説明するための図である。
管理装置30は、払込装置10および受取装置20間で行われた払込トランザクションTxで使用された公開鍵Kaに関する公開鍵情報が分散データベースに格納されているか否かを判定する。管理装置30は、公開鍵Kaを用いたチャレンジレスポンス認証が払込トランザクションTxを行った払込装置10および受取装置20間で成功しているか否かを判定する。管理装置30は、公開鍵情報が分散データベースに格納されており、かつチャレンジレスポンス認証が成功している場合に、公開鍵Kaを用いた払込トランザクションTxに関する情報を分散データベースに格納する。
図6に示すように、払込装置10は、秘密鍵KPaを用いて公開鍵Kaを生成する。払込装置10は、秘密情報dを生成し、秘密情報dおよび公開鍵Kaに基づいて第1の情報d×Kaを生成する。払込装置10は、公開鍵Kaおよび第1の情報d×Kaを公開鍵情報Ikとして、P2PネットワークNにブロードキャストする。かかる公開鍵情報Ikは、管理装置30によって分散データベースに格納される。
なお、ここでは、秘密情報dに公開鍵Kaを乗算することで第1の情報d×Kaを生成する場合について説明したが、第1の情報の生成方法はこれに限定されない。秘密情報dおよび公開鍵Kaに基づいて第1の情報を生成すればよく、例えば公開鍵Kaに秘密情報dを乗算することで第1の情報Ka×dを生成してもよい。あるいは、公開鍵Kaをd乗して、第1の秘密情報Ka^dを生成してもよく、秘密情報dをKa乗することで、第1の情報d^Kaを生成してもよい。
次に、払込装置10から受取装置20へ払込を行う場合、払込装置10および受取装置20は、まず公開鍵情報Ikを用いたチャレンジレスポンス認証を行う。チャレンジレスポンス認証が成功した場合、例えば受取装置20が認証結果をブロードキャストする。
その後、払込装置10は、受取装置20から公開アドレスAbを取得し、払込トランザクションTxをP2PネットワークNにブロードキャストすることで、管理装置30に対して払込の承認要求を行う。なお、払込トランザクションTxは、図2に示す払込トランザクションTxと同じであるため説明を省略する。
管理装置30は、払込装置10から承認要求を受け取ると、公開鍵情報Ikが分散データベースに格納されているか否かを判定することで、公開鍵Kaを検証する。管理装置30は、公開鍵情報Ikが分散データベースに格納されている場合、公開鍵情報Ikに含まれる公開鍵Kaが有効であると判定する。
次に、管理装置30は、払込装置10と受取装置20の間で行われたチャレンジレスポンス認証を検証する。例えば受取装置20によってチャレンジレスポンス認証が成功した旨の認証結果がブロードキャストされている場合、管理装置30はチャレンジレスポンス認証が有効であると判定する。
管理装置30は、公開鍵Kaが有効であり、チャレンジレスポンス認証が有効であると判定された場合に、公開鍵Kaを用いて署名後の払込データDpが有効であるか否かの検証を行う。
払込トランザクションTxが有効である場合、管理装置30は、かかる払込トランザクションTxを分散データベースに格納することで、払込を承認する。これにより、払込装置10から受取装置20への払込が完了する。
このように、管理装置30は、払込装置10の鍵ペアが有効であり、払込装置10と受取装置20との間で行われたチャレンジレスポンス認証が成功している場合に、払込トランザクションTxを承認する。これにより、鍵ペアの重複を抑制し、不正なトランザクションTxの実行を抑制することができる。
[払込装置10の構成]
続いて、図7を用いて、実施例に係るトランザクションシステム1が備える払込装置10の構成について説明する。図7は、本実施例に係る払込装置10の機能的構成を示すブロック図である。
図7には、符号11〜符号14に対応する機能部が示されているが、これはあくまで一例に過ぎず、図示された機能部の一部を省略したり、図示以外の機能部が払込装置10に備わることを妨げない。例えば、パーソナルコンピュータが払込装置10として実装される場合、パーソナルコンピュータが標準装備する機能部、例えば入力デバイス、画像または音声の出力デバイスなどの機能部を有することとしてもかまわない。
図7に示すように、払込装置10は、あくまで一例として、通信部11と、鍵生成部12と、レスポンス生成部13と、払込処理部14とを有する。
通信部11は、P2PネットワークNを介して、他の装置、例えば受取装置20や管理装置30などとの間で通信制御を行うインタフェースである。
一実施形態として、通信部11には、LANカードなどのネットワークインタフェースカードを採用できる。例えば、通信部11は、受取装置20からチャレンジレスポンス認証に関するチャレンジコードを受信したり、払込トランザクションTxの承認要求を管理装置30へ送信したりする。
鍵生成部12は、公開鍵情報Ikを生成する処理部である。
一実施形態として、鍵生成部12は、受取装置20に対する払込を行う前に、公開鍵情報Ikを生成する。例えば、鍵生成部12は、第1の乱数および第2の乱数をそれぞれ生成する。あるいは、鍵生成部12は、一つの乱数を生成し、それを2つに分割することで、第1、第2の乱数を生成することもできる。鍵生成部12は、第1の乱数を用いて秘密鍵KPaを生成する。鍵生成部12は、例えば、ECDSA(Elliptic Curve Digital Signature Algorithm)に基づいて秘密鍵KPaを用いて公開鍵Kaを生成する。また、鍵生成部12は、第2の乱数を秘密情報dとして、秘密情報dと公開鍵Kaとのスカラー倍算を行い、第1の情報d×Kaを生成する。なお、スカラー倍算とは、楕円曲線上におけるかけ算である。なお、ここでは、公開鍵暗号方式としてECDSAを用いる場合について説明するが、これに限定されない。例えばRSA暗号など楕円曲線を用いた暗号アルゴリズム以外のアルゴリズムを用いることができる。
鍵生成部12は、生成した公開鍵Kaと第1の情報d×Kaを公開鍵情報Ikとして通信部11を介してP2PネットワークNにブロードキャストすることで、管理装置30に公開鍵情報Ikの登録要求を行う。
一実施形態として、鍵生成部12は、払込トランザクションTxを用いて公開鍵情報Ikの登録要求を行う。例えば、鍵生成部12は、公開鍵情報Ikを含む払込トランザクションTxをブロードキャストすることで、公開鍵情報Ikの登録要求を行う。
図8は、公開鍵情報Ikを含む払込トランザクションTxを説明するための図である。図8に示すように、払込トランザクションTxには、払込装置10の電子署名等、払込装置10が行う払込に関する情報(払込情報)を格納する領域の他に、その他の情報を格納することができる拡張領域Fが含まれる。そこで、鍵生成部12は、かかる拡張領域Fに生成した公開鍵Kaおよび第1の情報d×Kaを含む公開鍵情報Ikを格納した払込トランザクションTxを生成する。これにより、鍵生成部12は、払込トランザクションTxを用いて公開鍵情報Ikの登録要求を管理装置30に対して行うことができる。
なお、かかる登録要求は、払込装置10が行うものであり、払込先が存在しない。そのため、払込装置10の鍵生成部12は、例えば実在しない利用者Xの架空の公開鍵Kxを用いて生成した公開アドレスAxを払込先にした払込トランザクションTxを生成する。あるいは、払込装置10自身に払込を行うようにすることもできる。すなわち、払込装置10自身の公開アドレスAaを払込先にした払込トランザクションTxを生成することもできる。または、トランザクションシステム1が、公開鍵情報Ikの登録要求を行うための公開アドレスA0を用意しておき、鍵生成部12がかかる公開アドレスA0を払込先にした払込トランザクションTxを生成することもできる。なお、以下、公開鍵情報Ikを含む払込トランザクションTxを公開鍵トランザクションTxkとも記載する。
このように、鍵生成部12は、秘密鍵KPaおよび公開鍵Kaの鍵ペアを生成することができる他、公開鍵Kaを含む公開鍵情報Ikを生成することができる。さらに鍵生成部12は、公開鍵情報Ikの登録要求を管理装置30に対して行うことができる。
レスポンス生成部13は、チャレンジレスポンス認証におけるレスポンスコードRCを生成する処理部である。
一実施形態として、レスポンス生成部13は、通信部11を介して、受取装置20からチャレンジコードCCを取得した場合に、チャレンジコードCCと秘密情報dとのスカラー倍算を行い、レスポンスコードd^CCを生成する。レスポンス生成部13は、生成したレスポンスコードd^CCを受取装置20へ送信する。
払込処理部14は、払込トランザクションTxを生成する処理部である。
一実施形態として、払込処理部14は、通信部11を介して、チャレンジレスポンス認証の成功の通知を受け取ると、受取装置20から公開アドレスAbを取得する。払込処理部14は、秘密鍵KPaを用いて電子的に署名を行い、今回の払込トランザクションTxを生成する(図3参照)。払込処理部14は、生成した払込トランザクションTxを、通信部11を介してP2PネットワークNにブロードキャストすることで、管理装置30に払込トランザクションTxの承認要求を行う。
[受取装置20の構成]
次に、図9を用いて、本実施例に係るトランザクションシステム1が備える受取装置20の構成について説明する。図9は、実施例に係る受取装置20の機能的構成を示すブロック図である。
図9には、符号21〜符号24に対応する機能部が示されているが、これはあくまで一例に過ぎず、図示された機能部の一部を省略したり、図示以外の機能部が受取装置20に備わることを妨げない。例えば、パーソナルコンピュータが受取装置20として実装される場合、パーソナルコンピュータが標準装備する機能部、例えば入力デバイス、画像または音声の出力デバイスなどの機能部を有することとしてもかまわない。
図9に示すように、受取装置20は、あくまで一例として、通信部21と、チャレンジ生成部22と、アクセプト判定部23と、アクセプト生成部24とを有する。
通信部21は、P2PネットワークNを介して、他の装置、例えば払込装置10や管理装置30などとの間で通信制御を行うインタフェースである。
一実施形態として、通信部21には、LANカードなどのネットワークインタフェースカードを採用できる。例えば、通信部21は、払込装置10からチャレンジレスポンス認証に関するレスポンスコードRCを受信したり、チャレンジレスポンス認証に関する認証情報の登録要求を管理装置30へ送信したりする。
チャレンジ生成部22は、チャレンジレスポンス認証におけるチャレンジコードCCを生成する処理部である。
一実施形態として、チャレンジ生成部22は、払込装置10から払込を受ける場合に先だって、チャレンジコードCCを生成し、通信部21を介して払込装置10にチャレンジコードCCを送信する。チャレンジ生成部22は、例えば通信部21を介して払込装置10の公開鍵情報Ikを取得する。チャレンジ生成部22は、例えば乱数生成関数を用いて秘密情報uをランダムに生成する。なお、秘密情報uは、チャレンジレスポンス認証を行う度に新たに生成される。チャレンジ生成部22は、生成した秘密情報uと公開鍵情報Ikに含まれる公開鍵Kaとのスカラー倍算を行い、チャレンジコードCC=u^Kaを生成する。チャレンジ生成部22は、通信部21を介して生成したチャレンジコードCCを払込装置10に送信する。
アクセプト判定部23は、払込装置10から取得したレスポンスコードRCに基づいて、チャレンジレスポンス認証に成功(アクセプト)したか否かを判定する処理部である。
一実施形態として、アクセプト判定部23は、通信部21を介して払込装置10からレスポンスコードRCを取得する。上述したように、レスポンスコードRCは、チャレンジコードCCと秘密情報dとのスカラー倍算を行ったものであり、RC=d^CCである。ここで、チャレンジコードCCは、CC=u^Kaであるため、レスポンスコードRCは、RC=d^(u^Ka)となる。また、アクセプト判定部23は、払込装置10から取得した公開鍵情報Ikに含まれる第1の情報d×Kaと秘密情報uとのスカラー倍算を行って検証コードVC=u^(d×Ka)を生成する。アクセプト判定部23は、生成した検証コードVC=u^(d×Ka)とレスポンスコードRC=d^(u^Ka)とが一致する場合、チャレンジレスポンス認証に成功したと判定する。
アクセプト生成部24は、アクセプト判定部23がチャレンジレスポンス認証に成功したと判定した場合にアクセプトコードACを生成する処理部である。
一実施形態として、アクセプト生成部24は、アクセプト判定部23からチャレンジレスポンス認証に成功したとの判定結果を取得した場合に、アクセプトコードACを生成する。アクセプト生成部24は、アクセプトコードACを含むチャレンジレスポンス認証に関する認証情報Iaを生成する。例えば、アクセプト生成部24は、チャレンジコードCC、レスポンスコードRCおよびアクセプトコードACを含む認証情報Iaを生成する。
一実施形態として、アクセプト生成部24は、通信部21を介して認証情報Iaを含む払込トランザクションTxをブロードキャストすることで、払込装置10に認証成功を通知するとともに、管理装置30に認証情報Iaの登録要求を行う。
図10は、認証情報Iaを含む払込トランザクションTxを説明するための図である。上述したように払込トランザクションTxには、払込に関する情報を格納する領域の他に拡張領域Fが含まれる。アクセプト生成部24は、かかる拡張領域FにチャレンジコードCC、レスポンスコードRCおよびアクセプトコードACを含む認証情報Iaを格納した払込トランザクションTxを生成し、P2PネットワークNにブロードキャストする。これにより、アクセプト生成部24は、払込トランザクションTxを用いて認証情報Iaを払込装置10に通知できるとともに、かかる認証情報Iaの登録要求を管理装置30に対して行うことができる。
一実施形態として、アクセプト生成部24は、払込装置10を払込先とし、認証情報Iaを含む払込トランザクションTxを生成する。これにより、認証を行った相手が払込装置10であることを管理装置30に対して通知することができる。なお、認証情報Iaを含む払込トランザクションTxの払込先は払込装置10に限定されない。例えば、受取装置20自身に払込を行うようにすることもできる。すなわち、受取装置20自身の公開アドレスAbを払込先にした払込トランザクションTxを生成することもできる。または、トランザクションシステム1が、認証情報Iaの登録要求を行うための公開アドレスA0を用意しておき、アクセプト生成部24がかかる公開アドレスA0を払込先にした払込トランザクションTxを生成することもできる。なお、以下、認証情報Iaを含む払込トランザクションTxを認証トランザクションTxaとも記載する。
[管理装置30の構成]
図11を用いて、本実施例に係るトランザクションシステム1が備える管理装置30の構成について説明する。図11は、実施例に係る管理装置30の機能的構成を示すブロック図である。
図11には、符号31〜符号38に対応する機能部が示されているが、これはあくまで一例に過ぎず、図示された機能部の一部を省略したり、図示以外の機能部が管理装置30に備わることを妨げない。例えば、パーソナルコンピュータが管理装置30として実装される場合、パーソナルコンピュータが標準装備する機能部、例えば入力デバイス、画像または音声の出力デバイスなどの機能部を有することとしてもかまわない。
図11に示すように、管理装置30は、あくまで一例として、通信部31と、鍵Tx登録部32と、認証Tx登録部33と、払込Tx登録部34とを有する。
通信部31は、P2PネットワークNを介して、他の装置、例えば払込装置10や受取装置20などとの間で通信制御を行うインタフェースである。
一実施形態として、通信部31には、LANカードなどのネットワークインタフェースカードを採用できる。例えば、通信部31は、払込装置10から払込トランザクションTxを受信したり、払込トランザクションTxの承認結果を払込装置10や受取装置20へ送信したりする。
鍵Tx登録部32は、公開鍵トランザクションTxkを受け取った場合に、公開鍵情報Ikの登録を行う処理部である。
一実施形態として、鍵Tx登録部32は、公開鍵トランザクションTxkを受け取った場合、公開鍵情報Ikに含まれる公開鍵Kaがすでに分散データベース(ブロックチェーンBC)に格納されているか否かを判定する。鍵Tx登録部32は、公開鍵Kaが分散データベースに格納されていない場合に、公開鍵トランザクションTxkを分散データベースに格納することで、公開鍵情報Ikを分散データベースに登録する。具体的に鍵Tx登録部32は、例えば公開鍵トランザクションTxkを含むブロックを新たに生成し、ブロックチェーンBCの末尾に追加することで、公開鍵トランザクションTxkを分散データベースに格納する(図4参照)。鍵Tx登録部32は、通信部31を介して公開鍵情報Ikの登録結果を払込装置10に通知する。
認証Tx登録部33は、認証トランザクションTxaを受け取った場合に、認証情報Iaの登録を行う処理部である。
一実施形態として、認証Tx登録部33は、受け取った認証トランザクションTxaに含まれる認証情報IaにチャレンジコードCC、レスポンスコードRCおよびアクセプトコードACが含まれるか否かを判定する。また、認証Tx登録部33は、認証情報Iaがすでに分散データベースに格納されているか否かを判定する。認証Tx登録部33は、認証情報IaにチャレンジコードCC、レスポンスコードRCおよびアクセプトコードACが含まれており、認証情報Iaが分散データベースに格納されていない場合に、認証情報Iaを分散データベースに格納する。具体的に認証Tx登録部33は、例えば認証トランザクションTxaを含むブロックを新たに生成し、ブロックチェーンBCの末尾に追加することで、認証トランザクションTxaを分散データベースに格納する(図4参照)。認証Tx登録部33は、通信部31を介して認証情報Iaの登録結果を受取装置20に通知する。
払込Tx登録部34は、払込装置10から受取装置20への払込情報を含む払込トランザクションTxを受け取った場合に、払込の承認を行って払込トランザクションTxの登録を行う処理部である。払込Tx登録部34は、あくまで一例として、公開鍵判定部35と、認証判定部36と、承認判定部37と、格納処理部38とを有する。
公開鍵判定部35は、払込トランザクションTxを検証するための公開鍵Kaが分散データベースに登録されているか否かを判定する処理部である。
一実施形態として、公開鍵判定部35は、通信部31を介して分散データベースに払込装置10の公開鍵情報Ikが格納されている場合、払込トランザクションTxを検証するための公開鍵Kaが登録されていると判定する。公開鍵判定部35は、判定結果を承認判定部37に通知する。
認証判定部36は、公開鍵情報Ikを用いたチャレンジレスポンス認証に関する認証情報Iaが分散データベースに登録されているか否かを判定する処理部である。
一実施形態として、認証判定部36は、通信部31を介して分散データベースに認証情報Iaが格納されているか否かを判定する。認証情報Iaが格納されている場合、認証判定部36は、分散データベースから認証情報Iaを取得し、かかる認証情報Iaがチャレンジレスポンス認証の成功を示す情報であるか否かを判定する。認証判定部36は、認証情報Iaがチャレンジレスポンス認証の成功を示す情報である場合、認証情報Iaが登録されていると判定する。認証判定部36は、判定結果を承認判定部37に通知する。
承認判定部37は、公開鍵判定部35および認証判定部36の判定結果に応じて、払込トランザクションTxを検証し、払込を認証するか否かを判定する処理部である。
一実施形態として、承認判定部37は、公開鍵Kaおよび認証情報Iaが分散データベースに登録されている場合に、払込トランザクションTxの検証を行う。公開鍵Kaおよび認証情報Iaの少なくとも一方が分散データベースに登録されていない場合、承認判定部37は、払込トランザクションTxの検証を行わず、払込の承認を却下する。なお、払込トランザクションTxの検証は、例えば図2等を用いて上述した払込トランザクションTxの検証と同じであるため説明を省略する。
一実施形態として、承認判定部37は、払込トランザクションTxの検証結果に基づいて払込トランザクションTxを承認する場合、承認する旨を格納処理部38に通知する。また、承認判定部37は、払込トランザクションTxを承認しない場合、承認しない旨を例えば通信部31を介して払込装置10および受取装置20に通知する。
換言すると、承認判定部37は、公開鍵トランザクションTxk、認証トランザクションTxaおよび払込トランザクションTxの全てに問題がない場合に払込トランザクションTxを認証することとなる。これにより、承認判定部37は、例えば重複した鍵ペアを用いた払込トランザクションTxなど、不正なトランザクションTxの承認を却下することができ、不正なトランザクションTxの実行を抑制することができる。
格納処理部38は、承認判定部37が払込トランザクションTxを承認した場合に、払込トランザクションTxを分散データベースに格納する処理部である。
一実施形態として、格納処理部38は、払込トランザクションTxを分散データベースに格納する。これにより、管理装置30は払込トランザクションTxの承認を完了し、払込装置10から受取装置20への払込が完了する。なお、格納処理部38が、払込トランザクションTxを分散データベース(ブロックチェーンBC)に格納する方法は、例えば図4を用いて上述した方法と同じであるため説明を省略する。
一実施形態として、格納処理部38は、例えば払込トランザクションTxに公開鍵情報Ikおよび認証情報Iaを含めて分散データベースに格納する。具体的には、格納処理部38は、払込トランザクションTxの拡張領域Fに公開鍵情報Ikおよび認証情報Iaを格納する。これにより、格納処理部38は、払込トランザクションTx、公開鍵トランザクションTxkおよび認証トランザクションTxaを1つのトランザクションTxとして分散データベースに格納することができる。あるいは、公開鍵情報Ikまたは認証情報Iaのいずれか一方を払込トランザクションTxに含めることもできる。これにより、例えば払込装置10などのトランザクションシステム1に含まれるノードが、払込トランザクションTxを参照することで、公開鍵情報Ikおよび認証情報Iaも参照することができる。そのため、ノードはより容易に公開鍵情報Ikおよび認証情報Iaを参照することができ、払込トランザクションTxの正当性をより容易に確認することができる。
[処理の流れ]
図12〜図18を用いて、トランザクションシステム1で実行される処理について説明する。まず図12を用いてトランザクションシステム1で実行される処理の流れについて説明する。図12は、実施例に係る払込トランザクションTxを実行するための処理のシーケンス図である。図12に示す処理には、公開鍵情報Ikを登録する処理S1、チャレンジレスポンス認証を実行する処理S2および払込トランザクションTxを登録する処理S3が含まれる。
払込装置10から受取装置20に対して払込が行われる場合、まず払込装置10と管理装置30との間で公開鍵情報Ikを登録する処理S1が行われる。
図12に示すように、払込装置10は、公開鍵情報Ikを生成し(ステップS10)、生成した公開鍵情報Ikの登録要求を管理装置30に対して行う(ステップS11)。管理装置30は、公開鍵情報Ikの登録要求を受けて、かかる公開鍵情報Ikを登録するか否かを判定する(ステップS12)。管理装置30は、公開鍵情報Ikを登録すると判定すると、分散データベース(分散DB)に公開鍵情報Ikを登録する(ステップS13)。
続いて、払込装置10および受取装置20は、チャレンジレスポンス認証を実行する処理S2を行う。
図12に示すように、受取装置20は、分散DBから払込装置10の公開鍵情報Ikを取得する(ステップS20)。受取装置20は、取得した公開鍵情報Ikを用いてチャレンジコードCCを生成し(ステップS21)、払込装置10に送信する(ステップS22)。
チャレンジコードCCを受け取った払込装置10は、レスポンスコードRCを生成し(ステップS23)、受取装置20に送信する(ステップS24)。
レスポンスコードRCを受け取った受取装置20は、レスポンスコードRCに基づいてチャレンジレスポンス認証に成功し、認証をアクセプトするか否かを判定する(ステップS25)。チャレンジレスポンス認証に成功し、認証をアクセプトする場合、受取装置20は、認証トランザクションTxaをブロードキャストすることで、アクセプトを払込装置10に通知する(ステップS26)とともに、認証情報Iaの登録を管理装置30に対して要求する(ステップS27)。
管理装置30は、認証情報Iaの登録要求を受けて、かかる認証情報Iaを登録するか否かを判定する(ステップS28)。管理装置30は、認証情報Iaを登録すると判定すると、分散DBに認証情報Iaを登録する(ステップS29)。
払込装置10と受取装置20との間でチャレンジレスポンス認証が成功した場合に、払込トランザクションTxを登録する処理S3が払込装置10と管理装置30との間で行われる。
払込装置10は、受取装置20に払込を行う払込トランザクションTx(払込Tx)を生成し(ステップS30)、管理装置30に対して払込Txの承認を要求する(ステップS31)。
管理装置30は、払込Txの承認要求を受けると、分散DBから公開鍵情報Ik、認証情報Iaを取得する(ステップS32)。管理装置30は、取得した公開鍵情報Ik、認証情報Iaおよび払込Txに基づき、払込Txを承認するか否かを判定する(ステップS33)。払込Txを承認する場合、管理装置30は、分散DBに払込Txを格納することで、払込Txの登録を行う(ステップS34)とともに、払込装置10および受取装置20に払込Txの承認を通知する(ステップS35)。
なお、図12では、払込装置10から受取装置20に対して払込を行う場合に公開鍵情報Ikを登録するようにしているが、これに限定されない。払込装置10が一度公開鍵情報Ikを登録し、その後、複数回にわたって公開鍵情報Ikを用いて払込を行う場合は、再度公開鍵情報Ikを登録する必要はない。すなわち、払込装置10は、始めて公開鍵情報Ikを用いて払込を行う場合に、公開鍵情報Ikを登録すればよい。したがって、払込装置10が、例えばウォレットをダウンロードし、トランザクションシステム1に参加するタイミングで公開鍵情報Ikを登録してもよい。
また、図12では、払込装置10から受取装置20に対して払込を行う場合にチャレンジレスポンス認証を実行するようにしているが、これに限定されない。払込装置10と受取装置20との間で公開鍵情報Ikを用いたチャレンジレスポンス認証が少なくとも1回は実行されている場合、公開鍵情報Ikを用いたチャレンジレスポンス認証を省略することもできる。すなわち、払込装置10が、受取装置20に対して始めて公開鍵情報Ikを用いて払込を行う場合に、チャレンジレスポンス認証を行うようにしてもよい。あるいは、払込装置10および受取装置20が、前回チャレンジレスポンス認証を行ってから所定期間が経過していない場合に、チャレンジレスポンス認証を省略することもできる。これにより、例えば払込装置10が受取装置20に対して繰り返し払込を行う場合に、チャレンジレスポンス認証を省略することができ払込の処理にかかる時間を短縮することができる。
また、図12では、処理S1〜S3において、分散DBへの登録を1つの管理装置30が行う場合について示しているが、これに限定されない。処理S1〜S3で分散DBへの登録を行う管理装置30がそれぞれ異なっていてもよい。
また、上述した例では、払込装置10および受取装置20が払込トランザクションTxを用いて公開鍵情報Ikおよび認証情報Iaを送信するとしたが、これに限定されない。例えば、払込装置10および受取装置20が、それぞれ公開鍵情報Ikおよび認証情報Iaを送信するためのトランザクションTxを生成し、送信するようにしてもよい。この場合、かかるトランザクションTxには払込先の情報等、払込に関する情報を含める必要がないため、トランザクションTxの情報量を削減することができる。
また、上述した例では、管理装置30が、公開鍵情報Ikおよび認証情報Iaを、払込トランザクションTxと同じ分散データベース(ブロックチェーンBC)に格納するとしたが、これに限定されない。例えば、公開鍵情報Ikおよび認証情報Iaをそれぞれ格納する分散データベース(ブロックチェーンBC)を個別に用意することもできる。
続いて、図13〜図18を用いて、トランザクションシステム1の各装置で実行される処理の詳細について説明する。まず、図13を用いて、払込装置10が実行する公開鍵登録要求処理について説明する。図13は、実施例に係る公開鍵登録要求処理の一例を示すフローチャートである。公開鍵登録要求処理は、例えば払込装置10から受取装置20へ払込を行う場合であって、公開鍵情報Ikをまだ登録していない場合に実行される。
図13に示すように、鍵生成部12は、公開鍵情報Ikを生成し(ステップS101)、管理装置30に対して公開鍵情報Ikの登録を要求する(ステップS102)。鍵生成部12は、公開鍵情報Ikが登録されたか否かを判定する(ステップS103)。鍵生成部12は、公開鍵情報Ikが登録されなかった場合(ステップS103No)、ステップS101に戻り、別の公開鍵情報Ikを生成する。鍵生成部12は、公開鍵情報Ikが登録された場合(ステップS103Yes)、処理を終了する。
次に、図14を用いて、管理装置30が実行する公開鍵登録処理について説明する。図14は、実施例に係る公開鍵登録処理の一例を示すフローチャートである。公開鍵登録処理は、例えば管理装置30が払込装置10から公開鍵情報Ikの登録要求を受信した場合に実行される。
図14に示すように、鍵Tx登録部32は、公開鍵情報Ikの登録要求を受信すると(ステップS201)、公開鍵情報Ikに含まれる公開鍵Kaがすでに分散データベースに登録されているか否かを判定する(ステップS202)。鍵Tx登録部32は、公開鍵Kaがすでに分散データベースに登録されている場合(ステップS202Yes)、払込装置10に対して公開鍵情報Ikの登録を却下し(ステップS203)、処理を終了する。
鍵Tx登録部32は、公開鍵Kaが分散データベースに登録されていない場合(ステップS202No)、公開鍵情報Ikを分散データベースに登録し(ステップS204)、公開鍵情報Ikの登録完了を払込装置10に通知する(ステップS205)。なお、公開鍵情報IkをP2PネットワークNにブロードキャストすることで公開鍵情報Ikを分散データベースに登録する場合、鍵Tx登録部32は、ステップS205の登録完了の通知を省略することができる。
図15を用いて、受取装置20が実行する認証処理について説明する。図15は、実施例に係る認証処理の一例を示すフローチャートである。認証処理は、払込装置10から受取装置20への払込が行われる場合に実行される。
図15に示すように、チャレンジ生成部22は、取得した公開鍵情報Ikを用いてチャレンジコードCCを生成し(ステップS301)、払込装置10に送信する(ステップS302)。
アクセプト判定部23は、検証コードVCを計算し(ステップS303)、払込装置10からレスポンスコードRCを受信すると(ステップS304)、受信したレスポンスコードRCと検証コードVCとが一致するか否かを判定する(ステップS305)。アクセプト判定部23がレスポンスコードRCと検証コードVCとが一致しないと判定した場合(ステップS305No)、アクセプト生成部24は、払込装置10に対して払込を拒否し(ステップS306)、処理を終了する。
アクセプト判定部23がレスポンスコードRCと検証コードVCとが一致すると判定した場合(ステップS305Yes)、アクセプト生成部24は、生成したアクセプトコードACを含む認証情報Iaを払込装置10に送信し(ステップS307)、管理装置30に対して認証情報Iaの登録を要求する(ステップS308)。なお、アクセプト生成部24が、認証情報IaをP2PネットワークNにブロードキャストすることで、認証情報Iaの登録を要求する場合、アクセプト生成部24は、ステップS307の認証情報Iaの送信を省略することもできる。また、ステップS303とステップS304の処理は順番を入れ替えてもよく、また同時に処理を実行してもよい。
図16を用いて、管理装置30が実行する認証登録処理について説明する。図16は、実施例に係る認証登録処理の一例を示すフローチャートである。認証登録処理は、例えば管理装置30が受取装置20から認証情報Iaの登録要求を受信した場合に実行される。
図16に示すように、認証Tx登録部33は、受取装置20から認証情報Iaの登録要求を受信すると(ステップS401)、認証情報Iaを検証する(ステップS402)。認証Tx登録部33は、例えば認証情報IaにチャレンジコードCC、レスポンスコードRCおよびアクセプトコードACの全てが含まれているか否かを判定することで、認証情報Iaの検証を行う。
認証Tx登録部33は、認証情報Iaの検証結果、認証情報Iaに問題がないか否かを判定する(ステップS403)。認証情報Iaに問題がある場合(ステップS403No)、認証Tx登録部33は、認証情報Iaの登録を却下し(ステップS404)、処理を終了する。
認証Tx登録部33は、認証情報Iaに問題がない場合(ステップS403Yes)、認証情報Iaがすでに分散データベースに登録されているか否かを判定する(ステップS405)。認証Tx登録部33は、認証情報Iaがすでに分散データベースに登録されている場合(ステップS405Yes)、ステップS404にて払込装置10に対して認証情報Iaの登録を却下し、処理を終了する。
認証Tx登録部33は、分散データベースに認証情報Iaが登録されていない場合(ステップS405No)、認証情報Iaを分散データベースに登録し(ステップS406)、認証情報Iaの登録完了を払込装置10および受取装置20に通知する(ステップS407)。なお、認証情報IaをP2PネットワークNにブロードキャストすることで、認証情報Iaを分散データベースに登録する場合、認証Tx登録部33は、ステップS407の登録完了の通知を省略することもできる。
図17を用いて、払込装置10が実行する払込処理について説明する。図17は、実施例に係る払込処理の一例を示すフローチャートである。払込処理は、払込装置10から受取装置20への払込が行われる場合であって、払込装置10と受取装置20との間でチャレンジレスポンス認証が行われる場合に実行される。
図17に示すように、レスポンス生成部13は、受取装置20からチャレンジコードCCを受信すると(ステップS501)、レスポンスコードRCを生成し(ステップS502)、受取装置20に送信する(ステップS503)。払込処理部14は、受取装置20との間のチャレンジレスポンス認証が成功したか否かを判定する(ステップS504)。払込処理部14は、例えば受取装置20からアクセプトコードACを受信し、管理装置30から認証情報Iaの登録完了通知を受信した場合に、チャレンジレスポンス認証が成功したと判定する。
払込処理部14は、アクセプトコードACまたは認証情報Iaの登録完了通知の少なくとも一方を受信しなかった場合、チャレンジレスポンス認証に失敗したと判定して(ステップS504No)、払込を行わずに処理を終了する。
払込処理部14は、アクセプトコードACおよび認証情報Iaの登録完了通知の両方を受信した場合、チャレンジレスポンス認証に成功した判定として(ステップS504Yes)、受取装置20への払込Txの承認を管理装置30に要求する(ステップS505)。
図18を用いて、管理装置30が実行する払込承認処理について説明する。図18は、実施例に係る払込承認処理の一例を示すフローチャートである。払込承認処理は、管理装置30が払込装置10から払込Txの承認要求を受信した場合に実行される。
図18に示すように、払込Tx登録部34が払込Tx承認の要求を受信すると(ステップS601)、認証判定部36が分散データベースに有効な認証情報Iaが格納されているか検索し(ステップS602)、有効な認証情報Iaを取得したか判定する(ステップS603)。有効な認証情報Iaとは、払込装置10と受取装置20との間のチャレンジレスポンス認証の成功を示す情報である。認証判定部36は、有効な認証情報Iaを取得できなかった場合、すなわちチャレンジレスポンス認証に失敗した場合(ステップS603No)、払込Txの承認を却下し(ステップS604)、処理を終了する。
認証判定部36が有効な認証情報Iaを取得した場合、すなわちチャレンジレスポンス認証に成功した場合(ステップS603Yes)、公開鍵判定部35が分散データベースに公開鍵情報Ikが格納されているか検索し(ステップS605)、公開鍵情報Ikを取得したか判定する(ステップS606)。公開鍵判定部35は、公開鍵情報Ikを取得できなかった場合(ステップS606No)、ステップS604に進み、払込Txの承認を却下して処理を終了する。
公開鍵判定部35が公開鍵情報Ikを取得した場合(ステップS606Yes)、承認判定部37は、払込Txに含まれる払込情報を検証し(ステップS607)、払込情報に問題がないか否かを判定する(ステップS608)。払込情報に問題がある場合(ステップS608No)、承認判定部37はステップS604に進み、払込Txの承認を却下して処理を終了する。
払込情報に問題がない場合(ステップS608Yes)、格納処理部38は、払込Txを分散データベースに格納することで、払込Txを承認し(ステップS609)、承認完了を払込装置10および受取装置20に通知する(ステップS610)。
なお、払込TxをP2PネットワークNにブロードキャストすることで払込Txを分散データベースに登録する場合、格納処理部38は、ステップS610の承認完了の通知を省略することができる。
また、管理装置30は、ステップS602、S603とステップS605、S606とを入れ替えて払込認証処理を実行してもよい。あるいは、管理装置30が、ステップS602、S603とステップS605、S606とを同時に実行するようにしてもよい。
[効果の一側面]
上述してきたように、本実施形態に係る管理装置30は、払込装置10と受取装置20との間で行われた払込トランザクションTxで使用された公開鍵Kaに関する公開鍵情報Ikが分散データベースに格納されているか否かを判定する。管理装置30は、公開鍵Kaを用いたチャレンジレスポンス認証が払込トランザクションTxを行った払込装置10と受取装置20との間で成功しているか否かを判定する。管理装置30は、公開鍵情報Ikが分散データベースに格納されており、かつチャレンジレスポンス認証が成功している場合に、公開鍵Kaを用いた払込トランザクションTxに関する情報を分散データベースに格納する。これによって、重複した秘密鍵KPaおよび公開鍵Kaを用いた不正な払込トランザクションTxが分散データベースに登録されにくくなり、不正な払込トランザクションTxの実行を抑制することができる。
また、本実施形態に係る管理装置30は、公開鍵情報Ik、チャレンジレスポンス認証に関する認証情報Ia、および公開鍵Kaを用いた払込トランザクションTxに関する情報を1つのトランザクション情報として分散データベースに格納する。これにより、例えば払込装置10などのトランザクションシステム1に含まれるノードが、払込トランザクションTxを参照することで、公開鍵情報Ikおよび認証情報Iaも参照することができる。そのため、ノードはより容易に公開鍵情報Ikおよび認証情報Iaを参照することができ、払込トランザクションTxの正当性をより容易に確認することができる。
また、本実施形態に係る管理装置30は、公開鍵Kaが分散データベースに格納されているか否かを判定し、分散データベースに格納されていない場合に、公開鍵情報Ikを分散データベースに格納する。これにより、管理装置30は、公開鍵Kaを含む公開鍵情報Ikの重複を避けることができ、鍵ペアの重複による不正な払込トランザクションTxの実行を抑制することができる。
また、本実施形態に係る管理装置30は、公開鍵Kaおよび公開鍵Kaを用いて生成された第1の情報d×Kaを含む公開鍵情報Ikを分散データベースに格納する。これにより、払込装置10と受取装置20とが、第1の情報d×Kaを用いたチャレンジレスポンス認証を行うことができ、鍵ペアの重複による不正な払込トランザクションTxの実行を抑制することができる。
また、本実施形態に係る管理装置30は、チャレンジレスポンス認証が成功している場合に認証成功を示す情報を含む認証情報Iaを分散データベースに格納する。これにより、管理装置30は、チャレンジレスポンス認証が成功している場合に、払込トランザクションTxを分散データベースに格納することができる。したがって、管理装置30は、不正な払込トランザクションTxの実行を抑制することができる。
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、公開鍵判定部35または認証判定部36を管理装置30の外部装置としてネットワーク経由で接続するようにしてもよい。また、公開鍵判定部35または認証判定部36を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の管理装置30の機能を実現するようにしてもよい。この他、上記の実施例では、上記の払込装置10、受取装置20および管理装置30がパーソナルコンピュータにウォレットがインストールされることで実装される場合を例示したが、必ずしもパーソナルコンピュータにインストールされることで実装されずともかまわず、暗号通貨の払込トランザクションTx等をアウトソーシングによって提供するクラウドとして実装することとしてもかまわない。
[トランザクション管理プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図19を用いて、上記の実施例と同様の機能を有する管理プログラムを実行するコンピュータの一例について説明する。なお、ここでは、管理装置30が行う処理を、トランザクション管理プログラムをコンピュータで実行することで実現する場合を例にとって説明するが、払込装置10および受取装置20が行う処理も同様である。
図19は、実施例に係る管理プログラムを実行するコンピュータのハードウェア構成例を示す図である。図19に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部31とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110〜180の各部はバス140を介して接続される。
HDD170には、図19に示すように、上記の実施例で示した鍵Tx登録部32、認証Tx登録部33および払込Tx登録部34と同様の機能を発揮するトランザクション管理プログラム170aが記憶される。このトランザクション管理プログラム170aは、図11に示した鍵Tx登録部32、認証Tx登録部33および払込Tx登録部34の各構成要素と同様、統合又は分離してもかまわない。
このような環境の下、CPU150は、HDD170からトランザクション管理プログラム170aを読み出した上でRAM180へ展開する。この結果、トランザクション管理プログラム170aは、図19に示すように、トランザクション管理プロセス180aとして機能する。このトランザクション管理プロセス180aは、RAM180が有する記憶領域のうちトランザクション管理プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、トランザクション管理プロセス180aが実行する処理の一例として、図14に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
なお、上記のトランザクション管理プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にトランザクション管理プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体からトランザクション管理プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などにトランザクション管理プログラム170aを記憶させておき、コンピュータ100がこれらからトランザクション管理プログラム170aを取得して実行するようにしてもよい。
1 トランザクションシステム
10 払込装置
11 通信部
12 鍵生成部
13 レスポンス生成部
14 払込処理部
20 受取装置
21 通信部
22 チャレンジ生成部
23 アクセプト判定部
24 アクセプト生成部
30 管理装置
31 通信部
32 鍵Tx登録部
33 認証Tx登録部
34 払込Tx登録部
35 公開鍵判定部
36 認証判定部
37 承認判定部
38 格納処理部

Claims (9)

  1. コンピュータにより実行されるトランザクション管理方法であって、コンピュータが、
    ノード間で行われたトランザクションで使用された公開鍵に関する公開鍵情報が分散データベースに格納されているか否かを判定し、
    前記公開鍵を用いたチャレンジレスポンス認証が前記トランザクションを行った前記ノード間で成功しているか否かを判定し、
    前記公開鍵情報が前記分散データベースに格納されており、かつ前記チャレンジレスポンス認証が成功している場合に、前記公開鍵を用いた前記トランザクションに関する情報を前記分散データベースに格納する、
    ことを特徴とするトランザクション管理方法。
  2. 前記公開鍵情報、前記チャレンジレスポンス認証に関する認証情報、および前記公開鍵を用いた前記トランザクションに関する情報を1つのトランザクション情報として前記分散データベースに格納することを特徴とする請求項1に記載のトランザクション管理方法。
  3. 前記公開鍵が前記分散データベースに格納されているか否かを判定し、
    前記分散データベースに格納されていない場合に、前記公開鍵情報を前記分散データベースに格納することを特徴とする請求項1または2に記載のトランザクション管理方法。
  4. 前記公開鍵および前記公開鍵を用いて生成された第1の情報を含む前記公開鍵情報を前記分散データベースに格納することを特徴とする請求項3に記載のトランザクション管理方法。
  5. 前記チャレンジレスポンス認証が成功している場合に認証成功を示す情報を含む認証情報を前記分散データベースに格納することを特徴とする請求項1〜4のいずれか一項に記載のトランザクション管理方法。
  6. 前記公開鍵および秘密情報を用いて生成されたチャレンジコードを送信するチャレンジ送信処理と、
    前記チャレンジコードを用いて生成されたレスポンスコードを受信するレスポンス受信処理と、
    前記レスポンスコードと、前記公開鍵を用いて生成された第1の情報および前記秘密情報を用いて生成されたコードとが一致する場合に、チャレンジレスポンス認証が成功したことを示すアクセプトコードを送信するアクセプト送信処理と、
    に関する前記認証情報を前記分散データベースに格納することを特徴とする請求項5に記載のトランザクション管理方法。
  7. 前記チャレンジレスポンス認証ごとに異なる前記秘密情報を用いて生成されたチャレンジコードを送信するチャレンジ送信処理に関する前記認証情報を前記分散データベースに格納することを特徴とする請求項6に記載のトランザクション管理方法。
  8. トランザクションを管理するコンピュータに、
    ノード間で行われたトランザクションで使用された公開鍵に関する公開鍵情報が分散データベースに格納されているか否かを判定し、
    前記公開鍵を用いたチャレンジレスポンス認証が前記トランザクションを行った前記ノード間で成功しているか否かを判定し、
    前記公開鍵情報が前記分散データベースに格納されており、かつ前記チャレンジレスポンス認証が成功している場合に、前記公開鍵を用いた前記トランザクションに関する情報を前記分散データベースに格納する、
    処理を実行させることを特徴とするトランザクション管理プログラム。
  9. ノード間で行われたトランザクションで使用された公開鍵に関する公開鍵情報が分散データベースに格納されているか否かを判定する公開鍵判定部と、
    前記公開鍵を用いたチャレンジレスポンス認証が前記トランザクションを行った前記ノード間で成功しているか否かを判定する認証判定部と、
    前記公開鍵情報が前記分散データベースに格納されており、かつ前記チャレンジレスポンス認証が成功している場合に、前記公開鍵を用いた前記トランザクションに関する情報を前記分散データベースに格納する格納処理部と、
    を有することを特徴とするトランザクション管理装置。
JP2016237096A 2016-12-06 2016-12-06 トランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置 Expired - Fee Related JP6729334B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016237096A JP6729334B2 (ja) 2016-12-06 2016-12-06 トランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置
US15/828,949 US20180158058A1 (en) 2016-12-06 2017-12-01 Apparatus and method to prevent execution of an unauthorized transaction via a distributed database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016237096A JP6729334B2 (ja) 2016-12-06 2016-12-06 トランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置

Publications (2)

Publication Number Publication Date
JP2018093434A true JP2018093434A (ja) 2018-06-14
JP6729334B2 JP6729334B2 (ja) 2020-07-22

Family

ID=62240602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016237096A Expired - Fee Related JP6729334B2 (ja) 2016-12-06 2016-12-06 トランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置

Country Status (2)

Country Link
US (1) US20180158058A1 (ja)
JP (1) JP6729334B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020511702A (ja) * 2019-02-28 2020-04-16 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ブロックチェーンベースの認証のためのシステムおよび方法
JP2020072307A (ja) * 2018-10-29 2020-05-07 合同会社玉木栄三郎事務所 分散型ネットワークにおける秘密鍵管理システム及び秘密鍵管理方法
JP2020129752A (ja) * 2019-02-08 2020-08-27 株式会社メルカリ プログラム、情報処理装置、及び情報処理方法
JP2020178279A (ja) * 2019-04-19 2020-10-29 コネクトフリー株式会社 ネットワークシステム、デバイスおよび処理方法
JP2020178344A (ja) * 2019-04-19 2020-10-29 株式会社リコー 装置認証方法、サービスアクセスの制御方法、装置及び記録媒体
JP2021530177A (ja) * 2018-07-21 2021-11-04 フンダチア “ブロックチェーン ディベロップメント ファンデーション” エアギャッピングされた秘密鍵を用いてトランザクションに署名するためのシステムおよび方法
JP6967211B1 (ja) * 2021-07-22 2021-11-17 直樹 柴田 違法な取引を防止しつつ匿名ユーザの参加も許容する暗号資産の取引のための完全分散型ブロックチェーンシステム及びコンピュータープログラム
WO2022138011A1 (ja) * 2020-12-25 2022-06-30 フリービット株式会社 リクエスト処理システム
JP7516425B2 (ja) 2019-05-24 2024-07-16 エヌチェーン ライセンシング アーゲー 知識証明
US12074986B2 (en) 2019-05-24 2024-08-27 Nchain Licensing Ag Hash function attacks

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US10887107B1 (en) * 2017-10-05 2021-01-05 National Technology & Engineering Solutions Of Sandia, Llc Proof-of-work for securing IoT and autonomous systems
CN110839071B (zh) * 2019-11-05 2023-02-14 腾讯科技(深圳)有限公司 一种基于区块链的信息存储方法、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002314532A (ja) * 2001-04-11 2002-10-25 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 複製端末発見方法
WO2015119796A1 (en) * 2014-02-06 2015-08-13 Google Inc. Dynamic alteration of track data
JP5858507B1 (ja) * 2015-05-18 2016-02-10 株式会社Orb 仮想通貨管理プログラム、及び仮想通貨管理方法
US20160253663A1 (en) * 2015-02-27 2016-09-01 Adam Clark Transaction signing utilizing asymmetric cryptography
JP2016162431A (ja) * 2015-03-05 2016-09-05 ブラザー工業株式会社 情報処理装置、コンテンツ配信システム、情報処理方法、及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002314532A (ja) * 2001-04-11 2002-10-25 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 複製端末発見方法
WO2015119796A1 (en) * 2014-02-06 2015-08-13 Google Inc. Dynamic alteration of track data
US20160253663A1 (en) * 2015-02-27 2016-09-01 Adam Clark Transaction signing utilizing asymmetric cryptography
JP2016162431A (ja) * 2015-03-05 2016-09-05 ブラザー工業株式会社 情報処理装置、コンテンツ配信システム、情報処理方法、及びプログラム
JP5858507B1 (ja) * 2015-05-18 2016-02-10 株式会社Orb 仮想通貨管理プログラム、及び仮想通貨管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
宮田 宙和 ほか: "携帯電話を用いた二次元コードによる安全な名刺管理システム", コンピュータセキュリティシンポジウム2005 論文集 VOLUME II OF II, vol. 2005, no. 13, JPN6011055146, 26 October 2005 (2005-10-26), JP, pages 685 - 690, ISSN: 0004270140 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021530177A (ja) * 2018-07-21 2021-11-04 フンダチア “ブロックチェーン ディベロップメント ファンデーション” エアギャッピングされた秘密鍵を用いてトランザクションに署名するためのシステムおよび方法
JP7332087B2 (ja) 2018-07-21 2023-08-23 ビットフォールド アーゲー エアギャッピングされた秘密鍵を用いてトランザクションに署名するためのシステムおよび方法
JP2020072307A (ja) * 2018-10-29 2020-05-07 合同会社玉木栄三郎事務所 分散型ネットワークにおける秘密鍵管理システム及び秘密鍵管理方法
JP2020129752A (ja) * 2019-02-08 2020-08-27 株式会社メルカリ プログラム、情報処理装置、及び情報処理方法
JP2020511702A (ja) * 2019-02-28 2020-04-16 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ブロックチェーンベースの認証のためのシステムおよび方法
JP2020178344A (ja) * 2019-04-19 2020-10-29 株式会社リコー 装置認証方法、サービスアクセスの制御方法、装置及び記録媒体
JP7052818B2 (ja) 2019-04-19 2022-04-12 株式会社リコー 装置認証方法、サービスアクセスの制御方法、装置及び記録媒体
JP7127845B2 (ja) 2019-04-19 2022-08-30 コネクトフリー株式会社 ネットワークシステム、デバイスおよび処理方法
JP2020178279A (ja) * 2019-04-19 2020-10-29 コネクトフリー株式会社 ネットワークシステム、デバイスおよび処理方法
US12022008B2 (en) 2019-04-19 2024-06-25 Connectfree Corporation Network system, device, and processing method
JP7516425B2 (ja) 2019-05-24 2024-07-16 エヌチェーン ライセンシング アーゲー 知識証明
US12074986B2 (en) 2019-05-24 2024-08-27 Nchain Licensing Ag Hash function attacks
WO2022138011A1 (ja) * 2020-12-25 2022-06-30 フリービット株式会社 リクエスト処理システム
JP6967211B1 (ja) * 2021-07-22 2021-11-17 直樹 柴田 違法な取引を防止しつつ匿名ユーザの参加も許容する暗号資産の取引のための完全分散型ブロックチェーンシステム及びコンピュータープログラム
WO2023002640A1 (ja) * 2021-07-22 2023-01-26 プルーフオブサーチ株式会社 違法な取引を防止しつつ匿名ユーザの参加も許容する暗号資産の取引のための完全分散型ブロックチェーンシステム及びコンピュータープログラム
JP2023016626A (ja) * 2021-07-22 2023-02-02 直樹 柴田 違法な取引を防止しつつ匿名ユーザの参加も許容する暗号資産の取引のための完全分散型ブロックチェーンシステム及びコンピュータープログラム

Also Published As

Publication number Publication date
JP6729334B2 (ja) 2020-07-22
US20180158058A1 (en) 2018-06-07

Similar Documents

Publication Publication Date Title
JP6729334B2 (ja) トランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置
US10790976B1 (en) System and method of blockchain wallet recovery
US20220138738A1 (en) Computer-implemented systems and methods for implementing transfers over a blockchain network
CN110892434B (zh) 基于区块链网络转移数字票券
KR20200054128A (ko) 준동형 암호화를 사용하는 블록체인 데이터 보호
CN110914851A (zh) 提高区块链网络与外部数据源之间的通信的完整性
JP2020068388A (ja) コンテンツ契約システム、コンテンツ契約方法、権利者端末、譲受人端末、制御端末、コンテンツ蓄積サーバ、権利者プログラム、譲受人プログラム、制御プログラムおよびコンテンツ蓄積プログラム
AU2017313687A1 (en) Dynamic cryptocurrency aliasing
JP2019515373A (ja) ブロックチェーンIoT装置のためのオペレーティングシステム
EP3725026A1 (en) Computer-implemented systems and methods for performing computational tasks across a group operating in a trust-less or dealer-free manner
KR102227578B1 (ko) 블록체인 네트워크를 이용한 영지식 증명 기반의 인증서 서비스 방법, 이를 이용한 인증 지원 서버 및 사용자 단말
US20210344500A1 (en) Computer-implemented system and method for transferring access to digital resource
CN111476573B (zh) 一种账户数据处理方法、装置、设备及存储介质
CN110599342B (zh) 基于区块链的身份信息的授权方法及装置
US20210241270A1 (en) System and method of blockchain transaction verification
CN113474804A (zh) 数字货币的交易和账户验证方法,装置及存储介质
KR20200065939A (ko) 블록체인 및 스마트 컨트랙트 기반 인증서 상태 관리 장치 및 방법
CN111314066B (zh) 基于区块链的数据转移方法、终端及计算机可读存储介质
KR102359826B1 (ko) 블록체인을 기반으로 한 디지털 자산 관리 시스템 및 방법
CN112464282A (zh) 基于区块链的账户交易信息生成、处理的方法和装置
KR20120091618A (ko) 연쇄 해시에 의한 전자서명 시스템 및 방법
US11922404B2 (en) Method and system for payment for central bank digital currency
CN103368918A (zh) 一种动态口令认证方法、装置及系统
KR20220000864A (ko) 탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버
KR20210058784A (ko) 탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200521

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200615

R150 Certificate of patent or registration of utility model

Ref document number: 6729334

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees