JP2019032667A - 仮想貨幣データ発行システム、ユーザ端末、管理装置、方法、並びにコンピュータプログラム - Google Patents

仮想貨幣データ発行システム、ユーザ端末、管理装置、方法、並びにコンピュータプログラム Download PDF

Info

Publication number
JP2019032667A
JP2019032667A JP2017152669A JP2017152669A JP2019032667A JP 2019032667 A JP2019032667 A JP 2019032667A JP 2017152669 A JP2017152669 A JP 2017152669A JP 2017152669 A JP2017152669 A JP 2017152669A JP 2019032667 A JP2019032667 A JP 2019032667A
Authority
JP
Japan
Prior art keywords
data
user terminal
user
virtual currency
management device
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
JP2017152669A
Other languages
English (en)
Other versions
JP7005000B2 (ja
Inventor
中村 貴利
Takatoshi Nakamura
貴利 中村
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.)
NTI CORP
Original Assignee
NTI CORP
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 NTI CORP filed Critical NTI CORP
Priority to JP2017152669A priority Critical patent/JP7005000B2/ja
Priority to PCT/JP2018/029560 priority patent/WO2019031487A2/ja
Priority to US16/637,113 priority patent/US20200342448A1/en
Priority to EP18845024.1A priority patent/EP3667595A4/en
Publication of JP2019032667A publication Critical patent/JP2019032667A/ja
Application granted granted Critical
Publication of JP7005000B2 publication Critical patent/JP7005000B2/ja
Active 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/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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3672Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes initialising or reloading thereof
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • 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
    • 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
    • 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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

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

Abstract

【課題】真の意味で暗号貨幣として成立する、データである仮想貨幣を、一般的なユーザが発生させられるようにするための技術を提供する。
【解決手段】ユーザ端末から、ユーザ端末にユーザが入力したユーザIDと金額情報とが決済装置に送られる(S913)。それを受取った決済装置が、与信判定を行い(S922)、許可情報をユーザ端末に送信する(S923)。それを受取ったユーザ端末では、ユーザIDと金額情報を合わせた元データが生成され(S915)、元データが暗号化されて仮想貨幣暗号化データに変換され(S916)、仮想貨幣暗号化データを含む仮想貨幣データが生成される(S917)。仮想貨幣データの真正性は、それを受取った決済装置が仮想貨幣暗号化データの復号化を行えたことにより(S925)保証される。
【選択図】図9

Description

本発明は、仮想貨幣、より詳細には暗号貨幣に関する。
近年、フィンテック関連の様々な提案がなされており、その一部は既に実用化され始めている。
その中に仮想通貨と称されるものがある。例えば、ナカモトサトシなる人物の論文に発してインターネット上に構築されたシステムによって実現された、ビットコイン(商標)も仮想通貨と一般に称されている。他方、ビットコインは、暗号通貨或いは暗号貨幣とも称されることがある。
まず、ビットコインの仕組みについて説明する。ビットコインは、概ね以下のような仕組みで成立している。
ビットコインは、まず、以下のようにして発生させられる。
ビットコインを発生させる権利を有する者は、後述するノードを管理する管理者に限られる。ノードの管理者は、インターネット上で行われるある種のゲームに参加する。ゲームは繰返し行われ、ゲームに勝ったノードの管理者は、ゲームに勝つ都度、所定の量のビットコインを得ることができるようになっている。
このようにして発生させられたビットコインは、一般的な貨幣と同様に、それを得たノードの管理者から、ノードの管理者以外の者を含む第三者に、例えば、「支払い」を行うために譲渡され、結果として点々と流布されることになる。
ところで、ビットコインに限られないが、仮想通貨、或いは仮想貨幣の分野では、二重譲渡をどのようにして防止するのかというのが、大変重要な問題となる。有体物である一般的な貨幣は、譲渡者から譲受者に譲渡されると譲渡者の手の中から消えるため、譲渡者が譲受者に貨幣を譲渡した後に、同じ貨幣を更に別の譲受者に譲渡することは原則的に不可能である。しかしながら、仮想通貨は複製が容易であり、且つ譲渡者が譲受者に仮想通貨を譲渡したとしても譲渡者が所有していたデータとしての仮想通貨を消滅させないことが可能であるから、同じ仮想通貨を、複数人に譲渡することは極めて容易である。同じ仮想通貨が複数人に譲渡されることを防止できなければ、そのような仮想通貨は通貨として何らの信用も得られない。
かかる二重譲渡の問題をビットコインは、すべての取引記録を保存するという方法で、解決することとしている。取引記録は、例えば以下のようなものである。簡単のために、ビットコインの仕組みへの参加者が、A〜Dの4人のみであり、且つノードの管理者は、A、Bの2人のみであるとする。ノードの管理者たるAは、上述のゲームに勝利して1000の、Bは、上述のゲームに勝利して500のビットコインを得たとする。
この状態では、A〜Dがそれぞれ持つビットコインは以下のように記述される。
[表1]
A +1000
B +500
C 0
D 0
次いで、AはCに100の、BはDに200のビットコインを支払ったとする。
この状態では、A〜Dがそれぞれ持つビットコインは以下のように記述される。
[表2]
A +1000 -100(to C)
B +500 -200(to D)
C 0 +100(from A)
D 0 +200(from B)
次いで、AはBに300の、DはCに100のビットコインを支払ったとする。
この状態では、A〜Dがそれぞれ持つビットコインは以下のように記述される。
[表3]
A +1000 -100(to C) -300(to B)
B +500 -200(to D) +300(from A)
C 0 +100(from A) +100(from D)
D 0 +200(from B) -100(to C)
上記、表1から表3に記載の記録のすべてが取引記録である。上述の取引記録によれば、表3の時点において、Aの持つビットコインは+1000−100−300=600、同様にBの持つビットコインは600、Cの持つビットコインは、200、Dの持つビットコインは、100であるということがわかる。
このような仕組みを持つビットコインは、興味深いことに、上述の例でいうA〜D間におけるビットコインの譲渡において、譲渡者から譲受者にビットコインの本体となる何らかのデータを引渡すということを行わない。それにも関わらず、取引記録さえ存在すれば、A〜Dが現在持つビットコインの残高を特定することができる、というのがビットコインの仕組みの巧妙なところである。繰り返すが、ビットコインの仕組みにおいては、「コイン」という有体物を想起させるネーミングを使いながらも、コインの実体に相当するデータは存在しない。
なお、ビットコインの仕組みにおけるノードの管理者がゲームに勝利してビットコインを得るという現象は、取引がある程度進んだ後の例えば、表3以降の時点であってでも生じうる。
また、表1〜3では、ビットコインの譲渡に参加する者は、ビットコインの生成にも参加する者を兼ねているが、実際のビットコインの運営では、ビットコインの生成を行わない一般のユーザも、ビットコインの譲渡に参加する。
上述のように、ビットコインの仕組みにおいては、ビットコインの仕組みに参加する各参加者は、自分が所有するビットコインに相当するデータを持たない。つまり、各参加者の財布は空なのであるが、過去のすべての取引記録が閲覧可能に存在しており、且つその時点におけるビットコインの残高は閲覧記録からこのように特定されるのであるから、各参加者が持つビットコインはきっとこうであるはずである、というお互いの理解、或いは共同幻想によってその仕組が成り立っている。
それだけに、その共同幻想を参加者の皆が信じられるようにするためには、取引記録が正当である、或いは取引記録の改竄が不可能である、という保証が必要である。
それをビットコインは、ブロックチェーンと、プルーフ・オブ・ワークいう技術乃至思想によって担保している。ビットコインの取引記録は、それ以前の取引記録に新たな取引記録を連ねていく、という構造となっている。過去の取引記録に新たな取引記録のデータ(ブロック)を連続して連ねていくことにより、取引記録のデータは、ブロックを鎖のように連ねたものとなる。これがブロックチェーンと呼ばれる。ブロックチェーンに付加される新たなブロックが生成される場合、それ以前のブロックを暗号化することによって得られた値(正確には、過去のブロックのデータから作ったハッシュ値)が新たなブロックに付加される。それにより、ブロックチェーンに新たなブロックが付加された時点よりも後においては、過去のブロックに対して改竄を行うとハッシュ値に変化が生じてその改竄が発覚することとなるので、それ以前に作られた過去のブロックに対するデータの改竄を行うことが事実上不可能となる。
また、ブロックチェーンのデータは、インターネット上に多数存在する、ノードと呼ばれるサーバに記録される。各ノードに記録されるブロックチェーンのデータは同じものである。ノードの管理者は上述のように、上述したある種のゲームの参加者である。そして、新たな取引記録のブロックを過去の取引記録に対して付加できる者は、上述のゲームの勝者のみである。つまり、ノードに新たなブロックを追加できる者を1人のみに限定することにより、ブロックのデータの適正なることを確保している。
以上のような仕組みにより、各ノードに記録されたブロックチェーンは、ハッシュ値により改竄ができない、或いは改竄がなされた場合にはハッシュ値が変化するため、改竄がなされたことが発覚するようになっている。また、各ノードに記録されたブロックチェーンのうちの幾つかが、過去のブロックのデータの改竄が発覚しないようにハッシュ値も含めて同じように改竄されたとしても(例えば、多数のノードに記録されたブロックチェーンのうちの幾つかについて、同じ改竄がなされたとしても)、多数のノードに記録されたブロックチェーンのうちの改竄されていないものの方が多数を占めているのであればそちらを真とすることにより、過去のブロックのデータのハッシュ値も含めた改竄も無力となるようにすることができ、実際ビットコインではこのような多数決の理論を採用している。上述のようにノードの管理者は、ゲームに勝つことにより報酬としてビットコインを得ることができる。それをモチベーションとしてノードの管理者達は、自らのコンピュータのコンピューティングパワーを向上させる。悪意のある第三者がノードに記録されたブロックチェーンのうちの過半数を改ざんするには、ノードの管理者達が持つ多数のコンピュータのコンピューティングパワーの合計の少なくとも半分以上のコンピューティングパワーを持つコンピュータを用意することが必要となる。そのようなコンピューティングパワーを持つコンピュータを準備することは事実上不可能であるという前提を、ビットコインの仕組みに参加する者は信用している。かかる信用、或いは信頼関係により、ブロックチェーンの、ひいては取引記録の正当性が保証され、ビットコインにある種の信用が与えられている。
ビットコインの仕組みは上述のごときものであるが、仮想通貨と呼ぶならまだしも、ビットコインが暗号貨幣と称されることに、本願発明者は大きな疑問を抱いている。
というのは、ビットコインの仕組みにおいては概ね、暗号技術は、取引記録の正当性を保証するという目的で使用されているのみであるからである。上述のブロックチェーンに新たなブロックを追加するときにそれ以前のブロックのハッシュ値をとる、というのがそれである。また、ビットコインの譲渡の際に、公開鍵方式の暗号化通信を行うこととしており、ここで暗号技術が用いられているが、しかしながら、かかる暗号化は通信を行うための暗号化であり、ビットコインを殊更暗号貨幣と呼ぶ程の意味はない。例えば、平文で記載された金銭的な価値を持つあるデータが存在していたとして、そのデータをある者から他者にインターネット等のネットワークを介して譲渡する際に、公開鍵方式の暗号化通信を用いるとした場合に、その平文のデータを暗号貨幣と呼ぶのが妥当か、といえば大抵の者は妥当でないというであろう。
しかも、そもそもビットコインは、上述したように、価値の譲渡に際して、価値の譲渡人から譲受人に引渡されるデータが存在しない。これは、通貨を機能させるにあたって、価値の譲渡をその譲渡により媒介する有体物たる貨幣(札、硬貨)を用いないと同様である。
つまり、ビットコインは、通貨として機能するかもしれないが、貨幣性は無いし、また、暗号の利用も極めて限定的である。貨幣性がないことによる問題は、過去の取引記録のすべてを記録しておくことが必要であるということであり、これはその大きなデータ量を記録することに壮大な手間、無駄が生じる。実際ビットコインで記録されているブロックチェーンのデータ量は既に膨大であり、それを記録する、しかも多数のノードで同じブロックチェーンのデータを記録することにより、凄まじい無駄が生じている。他方、貨幣の代わりとなるデータをユーザ間で流通させようとすると、そのデータの安全性が問題となる。
そのような観点から、極めて漠然としてではあるが、仮想通貨を成立させるには暗号技術を活用すべきというアイデアは存在しており、暗号技術の適切な利用によって安全な仮想通貨、もっと言えば仮想貨幣を成立させられる可能性がある。ビットコインが暗号通貨などと称されることがあるのは、暗号を用いているから安全であるという「イメージ」をユーザに与えるための方便であろう。
しかし、上述の如くビットコインでは、暗号技術は極めて限定的にしか使われていない。
ところで、ビットコインの仕組みでは、仮想通貨を発生させることができる者は、一部の者に限られている。上述のようにビットコインは、ノードを管理する者のみがビットコインを発生させることができる。もっとも、一般のユーザもノードの管理者になることは制限されていないので、ビットコインを発生させる(ビットコインの仕組みにおいては、ビットコインを発生させる行為を「マイニング」と称する。また、この「マイニング」にちなみ、ビットコインを発生させることができる者は、ビットコインの仕組みにおいては、「マイナー」と称される。)側に周ることは可能である。とはいえ、マイナーになるには膨大な設備投資や高度な知識が必要であるから、仮想通貨を発生させることができる者は事実上、一部の者に制限されている。
ここで、一般のユーザが簡易に仮想貨幣を発生させることができれば極めて便利であろう。また、ビットコインの仕組みが広く受入れられたきっかけの一つは、ビットコインの仕組みの中核をなす上述の如きブロックチェーンには、中央集権的な管理者が存在しないから、ビットコインは極めて民主的である、ということが広く知られたことにある。とすれば、ユーザが自ら仮想貨幣を生成することができる仕組みを構築すれば、その仕組はより広く大衆に受け入れられる可能性が高い。
本願発明は、真の意味で暗号貨幣として成立する、データである仮想貨幣を、一般的なユーザが発生させられるようにするための技術を提供することを、その課題とする。
かかる課題を解決するため、本願発明者は、以下に説明する発明を提案する。
本願発明は、所定のネットワークにそのそれぞれが接続可能とされた、そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、を含んで構成されている仮想貨幣データ発行システムである。つまり、この仮想貨幣データ発行システムは、ユーザ端末と管理装置とを必須の構成とする。ユーザ端末は、一般的には各ユーザが所有する、少なくともユーザに用いられるものであり、複数或いは多数である。それに対して管理装置は、仮想貨幣データの管理を行う者が用いるものであり、一般には1つである。
そして、仮想貨幣データ発行システムの前記ユーザ端末における、前記ユーザ端末入力手段は、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザIDを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第1情報処理手段、を備えている。
また、仮想貨幣データ発行システムの前記管理装置における、前記管理装置送受信手段は、前記ユーザ端末から、前記ユーザIDを付された前記金額情報を受付けるようになっており、前記管理装置情報処理手段は、前記管理装置送受信手段で受付けた前記ユーザIDで特定されるユーザが、当該ユーザIDが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第1情報処理手段と、を備えている。
更に、この仮想貨幣データ発行システムの前記ユーザ端末における、前記ユーザ端末送受信手段は、前記管理装置から、前記発行許可情報を受取るようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第2情報処理手段と、を備えている。
この仮想貨幣データ発行システムは、上述のように、ユーザ端末と、管理装置とを含んでなる。
ユーザ端末は、ユーザ端末入力手段を備えている。ユーザ端末入力手段は、他のデータの入力を行えてももちろん構わないが、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっている。金額情報で特定される金額は、要するに、後に発行される仮想貨幣データの金銭的な価値を決定する。金額情報で特定される金額の単位は、円、ドル、ユーロ等の法定通貨の単位と一致していても良いし、そうでなくても良い。例えば、金額情報で特定される金額の単位は、この仮想貨幣データ発行システムで発行されるものとは異なる他の仮想貨幣データの単位と一致していてもよい。
ユーザ端末は情報処理を行うユーザ端末情報処理手段を備えている。ユーザ端末情報処理手段は、ユーザ端末入力手段によって受付られた金額情報に、ユーザ端末毎にそれぞれ異なるユーザIDを付するともに、ユーザIDが付された金額情報を、ユーザ端末送受信手段によって管理装置に送信する、ユーザ端末第1情報処理手段を備えている。ユーザが入力した金額情報は、ネットワークを介して管理装置へと送られるようになっている。
他方、ユーザIDが付された金額情報は、仮想貨幣データ発行システムの管理装置における、管理装置送受信手段によって受け取られる。金額情報をユーザ端末から一旦管理装置に送るのは、仮想貨幣データをユーザ端末が発行しても良いか否かの判定を、管理装置が、ユーザ端末が仮想貨幣データを発行するに先立って行うためである。つまり、管理装置或いはその管理者は、ビットコインのシステムにおいて忌み嫌われていた中央集権的な権利者に相当するとも捉えられる者ではある。しかしながら、管理者がいないシステムは、民主的であるといえば聞こえが良いが、言い換えれば責任を取る者がいないシステムであるともいえる。つまり、ユーザ端末において完全に自由に仮想貨幣データが発行できるとするのであれば、仮想貨幣データの金銭的な価値に対する信頼を維持することができない。この仮想貨幣データ発行システムでは、仮想貨幣データの金銭的な価値についての信頼を、管理装置が担うという枠組みを採用している。管理装置は、ユーザ端末から、ユーザIDを付された金額情報を受付けると、そのユーザIDで特定されるユーザが金額情報で特定される金銭的な価値を持つ仮想貨幣データを発行して良いか、ということについての判定を行う。かかる判定は、その仮想貨幣データを用いた決済が可能か否かということについての判定であり、例えば、クレジットカードで決済を行う場合に行われる判定と同様の、いわゆる与信判定である。かかる判定を行う与信判定部を管理装置情報処理手段が持っている。与信判定部は、ユーザ端末から送られてきたユーザIDで特定されるユーザが金額情報で特定される金銭的な価値を持つ仮想貨幣データを発行して良いと判定したら、発行許可情報を生成する。管理装置情報処理手段は、また、与信判定部が発行許可情報を生成した場合に、それを、管理装置送受信手段を介してユーザ端末に送信する第1情報処理手段を備えている。
仮想貨幣データ発行システムにおけるユーザ端末は、ネットワークを介して管理装置から送られてきた発行許可情報を、そのユーザ端末送受信手段にて受取る。発行許可情報を受取ったユーザ端末は、仮想貨幣データを生成する。仮想貨幣データは、仮想貨幣暗号化データを少なくとも含む。仮想貨幣暗号化データは、いわば仮想貨幣データの本体とも言うべきデータであって、元データを暗号化することによって生成されるデータである。元データは、少なくとも金額情報を含んでいる。元データは金額情報を含んでいれば、それに加えて、他の情報を含んでいても構わない。各ユーザ端末において、元データの暗号化を行うのは、ユーザ端末暗号化手段である。各ユーザ端末におけるユーザ端末暗号化手段はそれぞれ、異なる方法で暗号化の処理を行うことができるようになっている。ここで、「異なる方法で」暗号化の処理を行うとは、暗号化の処理を実行するときにおける暗号化を実行するための処理方法が異なる、という意味である。例えば、暗号化の処理は、アルゴリズムと鍵を用いて実行されるのが通常であるから、アルゴリズムと鍵との少なくとも一方が異なる場合であれば、異なる方法で暗号化されたといえる。より具体的な例としては、各ユーザ端末におけるユーザ端末暗号化手段は、同一のアルゴリズムを用いて暗号化の処理を行うようになっている一方で、それぞれが他とは異なる鍵を用いて暗号化の処理を行うようになっている場合を挙げることができる。
ユーザ端末は、また、仮想貨幣暗号化データに対して必要に応じたデータを付加することにより、仮想貨幣データを生成するユーザ端末第2情報処理手段を備えている。とはいえ、ユーザ端末第2情報処理手段は、付加する必要のあるデータが存在しない場合には、仮想貨幣暗号化データをそのまま仮想貨幣データとする。つまり、その場合、ユーザ端末第2情報処理手段は、何らの機能も持たない。ユーザ端末第2情報処理手段によって、仮想貨幣暗号化データに付加される可能性のあるデータとしては、後述する暗号化条件データを挙げることができる。
ユーザ端末で生成された仮想貨幣データは、仮想貨幣データを生成したユーザ端末から、他のユーザ等が所有する他の装置に渡される。他の装置に「渡される」というのは、仮想貨幣データのユーザ端末から他の装置への譲渡が、データの送受信によって実現されても良いが、データの送受信を伴わなくても良い、ということを意味する。例えば、仮想貨幣データは、ユーザ端末のディスプレイに、仮想貨幣データを特定する二次元バーコードとして表示され、それを内蔵のカメラで読取った他の装置に「渡される」場合がある。この場合には、ユーザ端末と他の装置との間で、仮想貨幣データそれ自体の送受信は行われていないが、仮想貨幣データは受け渡されている。仮想貨幣データは、通常、仮想貨幣データを生成したユーザ端末から直接、或いは少なくとも1つの装置を介してその仮想貨幣データを受取った他の装置が使用することになる。
かかる仮想貨幣データ発行システムによれば、法定通貨における貨幣の役割を果たすデータである仮想貨幣データが存在するので、ビットコインの場合のブロックチェーンの如き膨大なデータを記録するための手段が不要である。また、かかる仮想貨幣データは、管理装置の管理下ではあるが、各ユーザ端末において各ユーザが発生或いは発行させることができる。仮想貨幣データの発行者が1人或いは制限された者のみの場合に比べれば、仮想貨幣データの発行の自由度が高く、また民主的であるといえる。加えて、この仮想貨幣データ発行システムでは、ユーザ端末で仮想貨幣データが生成或いは発行される前に、管理装置でいわゆる与信の判定が行われるから、その仮想貨幣データで決済を行う場合において決済が認められないという事態が生じる可能性が低い。これは本願の仮想貨幣データ発行システムで発行された仮想貨幣データの信頼性を高める。
本願発明者は、上述の如き仮想貨幣データ発行システムを構成するユーザ端末をも本願発明の一態様として提案する。その効果は、以上で説明した仮想貨幣データ発行システムによる効果と同じである。
一例となるユーザ端末は、以下のようなものである。
本願発明によるユーザ端末は、所定のネットワークにそのそれぞれが接続可能とされた、そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、を含んで構成されている仮想貨幣データ発行システムを、前記管理装置との組合せによって構成するユーザ端末である。
かかるユーザ端末における前記ユーザ端末入力手段は、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザIDを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第1情報処理手段、を備えている。
かかるユーザ端末と組合せて用いられる前記管理装置における、前記管理装置送受信手段は、前記ユーザ端末から、前記ユーザIDを付された前記金額情報を受付けるようになっており、前記管理装置情報処理手段は、前記管理装置送受信手段で受付けた前記ユーザIDで特定されるユーザが、当該ユーザIDが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第1情報処理手段と、を備えている。
そして、ユーザ端末における前記ユーザ端末送受信手段は、前記管理装置から、前記発行許可情報を受取るようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第2情報処理手段と、を備えている。
上述のように、ユーザ端末は、元データを暗号化して仮想貨幣暗号化データに変換するユーザ端末暗号化手段を備えている。
ここで、前記ユーザ端末暗号化手段は、常に同じ方法で前記元データを暗号化するようになっていてもよい。上述したように、ユーザ端末暗号化手段が元データを暗号化する場合における実行される方法は、各ユーザ端末における各ユーザ端末暗号化手段毎に異なるものとされるが、1つのユーザ端末暗号化手段に着目した場合には、暗号化の方法は常に同一のものに固定されていても良い。つまり、各ユーザ端末においては、暗号化の処理が実行される際に使用されるアルゴリズムと鍵が常に同一でも良い。なお、後述するように、各ユーザ端末におけるユーザ端末暗号化手段が、固定された同一の方法で暗号化の処理を行うようになっている場合、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを暗号化して仮想貨幣暗号化データとする場合に実行される暗号化の処理と同じ処理か、或いはその暗号化の処理によって生成された仮想貨幣暗号化データを復号化する処理を行えるようになっている。それにより、管理装置は、各ユーザ端末で発行された仮想貨幣データが真正なものか否かについての判定を行えるようになる。これは、仮想貨幣データによる決済の適切さを担保する。
他方、前記ユーザ端末暗号化手段は、所定のタイミングで、前記元データを暗号化する方法を変更するようになっていてもよい。上述のように、ユーザ端末暗号化手段は、常に同一の方法で暗号化を行っても良い。しかしながら、適当なタイミングで元データを暗号化する方法を変更した方が、暗号化の方法を第三者に看破される可能性を低くすることができるのは当然のことであり、且つそうすることで仮想貨幣データの信頼性を高くすることができる。暗号化の方法を変えるには、例えば、暗号化の処理に用いるアルゴリズムを変える、暗号化の処理に用いる鍵を変える、或いはその双方を変える、のいずれかを行えば良い。ユーザ端末暗号化手段が、元データを暗号化する方法を変更するタイミングは適宜決定することができるが、例えば、元データを暗号化する処理を所定の回数行う毎、或いは日付が変化する毎に元データを暗号化する方法を変更することができる。或いは、前記ユーザ端末暗号化手段は、前記元データを暗号化する度に、前記元データを暗号化する方法を変更させるようになっていてもよい。これによれば、各ユーザ端末で発行される各仮想貨幣データに含まれる仮想貨幣暗号化データのそれぞれが、異なる方法で暗号化されることになるから、仮想貨幣データの信頼性が高くなる。なお、後述するように、各ユーザ端末におけるユーザ端末暗号化手段が所定のタイミングで暗号化の方法を変更するようになっている場合、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを暗号化して仮想貨幣暗号化データとする場合に実行される暗号化の方法を知得できるようになっているか、又はその暗号化の処理と同じ処理か、或いはその暗号化の処理によって生成された仮想貨幣暗号化データを復号化する処理を行えるようになっている。それにより、管理装置は、各ユーザ端末で発行された仮想貨幣データが真正なものか否かについての判定を行えるようになる。これは、仮想貨幣データによる決済の適切さを担保する。
前記ユーザ端末情報処理手段は、前記ユーザ端末毎に異なる初期解に基づいて、文字、数字、記号の少なくとも1つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができるユーザ端末解生成手段を備えており、前記ユーザ端末暗号化手段は、前記ユーザ端末解生成手段から提供された前記解に基いて前記元データを暗号化する方法を変更するようになっていてもよい。このようなユーザ端末情報処理手段があれば、悪意ある第三者には看破することは極めて困難ではあるけれども規則性のある方法で、ユーザ端末暗号化手段は、暗号化の方法を変更することができるようになる。後述するように、ユーザ端末がユーザ端末解生成手段を有する場合には、管理装置は、各ユーザ端末解生成手段が生成するのと同じ解を生成することのできる管理装置解生成手段を持つことになる。それにより、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを暗号化して仮想貨幣暗号化データとする場合に実行される暗号化の方法を知得できるか、又はその暗号化の処理と同じ処理か、或いはその暗号化の処理によって生成された仮想貨幣暗号化データを復号化する処理のいずれかを行えるようになる。
上述のように、本願発明におけるユーザ端末がそれぞれ備えるユーザ端末暗号化手段は、元データを仮想貨幣暗号化データに変換するためにそれが実行する暗号化の方法を変化させる場合がある。
後述するように、管理装置は、決済の処理を行う場合がある。決済の処理は、ユーザ端末で生成され、ユーザ端末から他の装置に渡された仮想貨幣データを、決済を求める当該他の装置から再び送信された管理装置が、その仮想貨幣データによる支払を認める処理である。そして、管理装置が決済を認めるにあたって、管理装置は、ユーザ端末で発行された仮想貨幣データの真正性を確認する。そのために、管理装置は、仮想貨幣暗号化データに含まれる仮想貨幣データを復号化するか、或いはユーザ端末で行われた暗号化の処理と同じ暗号化の処理を、管理装置が有する元データに対して行うことが必要である。その場合、管理装置が受取った仮想貨幣データが、どのユーザ端末で生成されたものか、或いは、管理装置が受取った仮想貨幣データに含まれる仮想貨幣暗号化データが、どのような条件下でユーザ端末暗号化手段によって暗号化されたかを、管理装置が、仮想貨幣データから把握することができたら、それが必須か否かはともかく、少なくとも便利である。
管理装置が受取った仮想貨幣データが、どのユーザ端末で生成されたものかを管理装置が、仮想貨幣データから把握することができるようにするためには、例えば、前記ユーザ端末第2情報処理手段が、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データを暗号化した前記ユーザ端末を特定するユーザIDを付加して前記仮想貨幣データとするようになっていればよい。
管理装置が受取った仮想貨幣データに含まれる仮想貨幣暗号化データが、どのような条件下でユーザ端末暗号化手段によって暗号化されたかを、管理装置が、仮想貨幣データから把握することができるようにするためには、例えば、前記ユーザ端末第2情報処理手段が、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データが暗号化されたときにおいて、前記ユーザ端末暗号化手段で実行された暗号化の条件を特定するための暗号化条件データを付加して前記仮想貨幣データとするようになっていればよい。
本願発明者は、上述の如き仮想貨幣データ発行システムを構成する管理装置をも本願発明の一態様として提案する。その効果は、以上で説明した仮想貨幣データ発行システムによる効果と同じである。
一例となる管理装置は以下のようなものである。
本願発明による管理装置は、所定のネットワークにそのそれぞれが接続可能とされた、そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、を含んで構成されている仮想貨幣データ発行システムを、前記ユーザ端末との組合せによって構成する管理装置である。
かかる管理装置と組合せて用いられる前記ユーザ端末における、前記ユーザ端末入力手段は、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザIDを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第1情報処理手段、を備えている。
そして、管理装置における前記管理装置送受信手段は、前記ユーザ端末から、前記ユーザIDを付された前記金額情報を受付けるようになっており、前記管理装置情報処理手段は、前記管理装置送受信手段で受付けた前記ユーザIDで特定されるユーザが、当該ユーザIDが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第1情報処理手段と、を備えている。
また、前記ユーザ端末における、前記ユーザ端末送受信手段は、前記管理装置から、前記発行許可情報を受取るようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第2情報処理手段と、を備えている。
本願発明における管理装置は、上述のように、各ユーザ端末が仮想貨幣データを発行するに先立って、各ユーザ端末が仮想貨幣データを発行して良いか否かのいわゆる与信についての判定を行うようになっている。加えて、本願発明における管理装置は、以下のような決済についての判定を行うようになっていても良い。一例となる、決済についての判定を行う管理装置は、以下のようなものである。
かかる管理装置の前記管理装置送受信手段は、前記ネットワークを介して、いずれかの前記ユーザ端末で生成された仮想貨幣データを、その仮想貨幣データを生成した前記ユーザ端末か或いはその仮想貨幣データを生成した前記ユーザ端末から直接或いは間接的にそれを譲り受けた何らかの装置から受付けるようになっているとともに、前記管理装置情報処理手段は、前記ユーザ端末から受付けた前記仮想貨幣データが真正なものである場合に、前記仮想貨幣データの送信元の装置のユーザに対する、前記仮想貨幣データに含まれる仮想貨幣暗号化データに暗号化して含まれる前記金額情報で特定される金額の決済を認める決済手段を備えている。
決済を認めるか否かの判定を行う管理装置は、仮想貨幣データを、仮想貨幣データを生成したユーザ端末を含む何らかの装置から受取る。管理装置の決済手段は、仮想貨幣データに含まれる仮想貨幣暗号化データが真正なものであると認められた場合に(或いはそれにより、仮想貨幣データが真正なものであると認められた場合に)、決済を認める。もちろん重要となるのは、どのような条件が充足された場合に、仮想貨幣データデータが真正なものであると認めるか、という点である。本願発明では、2つのタイプで、かかる判定を行うようにしている。
以下、その2つのタイプについて説明する。
まず、1つ目のタイプの管理装置は、例えば、以下のように構成される。
かかる管理装置の前記管理装置情報処理手段は、前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データを復号化するための管理装置復号化手段を備えており、前記決済手段は、前記管理装置復号化手段で前記仮想貨幣暗号化データを復号化できた場合に、当該仮想貨幣暗号化データが含まれていた前記仮想貨幣データが真正なものであるとして前記決済を認めるようになっている。
1つ目のタイプの管理装置は、管理装置復号化手段を備えており、管理装置復号化手段によって仮想貨幣暗号化データを復号化する。そして、仮想貨幣データを復号化して元データに戻せたことを条件に、仮想貨幣データの真正性の確認が取れたとみなす。この場合、仮想貨幣データの真正性の判定には、仮想貨幣データに含まれる仮想貨幣暗号化データ以外の情報が用いられてもよいが、仮想貨幣暗号化データを復号化できたという事実によって、仮想貨幣データの真正性の証明がなされる。復号化ができるか否かを認証の条件とすることにより、かかる決済装置で実行される仮想貨幣データの真正性の確認の精度を高くすることが可能となり、ひいてはかかる決済装置と組合せて利用される仮想貨幣データの安全性、信頼性が高くなる。なお、仮想貨幣データに含まれる仮想貨幣暗号化データ以外の情報を、仮想貨幣データの真正性の判定に用いて良いのは、後述する2つ目のタイプの管理装置でも同様である。
上述したように、前記ユーザ端末暗号化手段は、常に同じ方法で前記元データを暗号化するようになっている場合がある。この場合、前記管理装置復号化手段は、同じユーザ端末で発生させられた仮想貨幣データの真正性を確認する場合には、常に同じ方法で前記仮想貨幣暗号化データを復号化するようになっている。この場合、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを仮想貨幣暗号化データに変換する際に実行される、各ユーザ端末暗号化手段で1つのみの暗号化の方法をすべて把握しており、且つその管理装置復号化手段は、各ユーザ端末暗号化手段で暗号化された仮想貨幣暗号化データを復号化して元データに戻すことができるようになっている。
ところで、もちろんのことであるが、仮想貨幣データは、例えば、ユーザ端末や、上述の他の装置の中に同時に多数が存在する状態となる。したがって、管理装置復号化手段が、管理装置が他の装置から受取った仮想貨幣データを復号化しようとした場合には、原則として、これから復号化しようとする仮想貨幣暗号化データがユーザ端末暗号化手段で暗号化されたときに用いられた暗号化の方法を、管理装置が把握する必要がある。
仮に、各ユーザ端末のユーザ端末暗号化手段は、それぞれ異なる方法で暗号化の処理を実行するものの、各ユーザ端末暗号化手段で実行される暗号化の方法が固定された常に同一のものであったとする。この場合、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを仮想貨幣暗号化データに変換する際に実行される、各ユーザ端末暗号化手段で1つのみの暗号化の方法をすべて把握しており、且つその管理装置復号化手段は、各ユーザ端末暗号化手段で暗号化された仮想貨幣暗号化データを復号化して元データに戻すことができるようになっている。もっとも、かかる管理装置復号化手段をもってしても、今から復号化を行う仮想貨幣暗号化データがどのユーザ端末で暗号化されたものか判らないのであれば、各ユーザ端末におけるユーザ端末暗号化手段で実行される暗号化の方法がそれぞれ異なるのであるから、管理装置復号化手段は、その仮想貨幣暗号化データを復号化するためにどのような方法を用いるべきか特定できないから、仮想貨幣暗号化データの復号化を行うのが難しくなる。この課題を解決するのが、ユーザ端末におけるユーザ端末第2情報処理手段で仮想貨幣データに含められることのある上述のユーザIDである。仮想貨幣暗号化データと共に仮想貨幣データに含まれているユーザIDにより、管理装置は、これから復号化しようとする仮想貨幣暗号化データがどのユーザ端末で暗号化されたのかを把握することができる。それにより、管理装置は、その仮想貨幣暗号化データがどのような方法で暗号化されたかを知ることができるから、仮想貨幣暗号化データの復号化が可能となる。
もっとも、仮想貨幣暗号化データを管理装置がその管理装置復号化手段で復号化する場合において、ユーザIDは必須ではない。本願発明における仮想貨幣データ発行システムにおいて設定されている、仮想貨幣データの有効期間が比較的短いと仮定してみる。例えば、仮想貨幣データが発生させられてから数週間以内、或いはもっと短く例えば5分以内しか、仮想貨幣データによる決済が認められないようになっているとする。他方、管理装置は、有効期間を迎えていない仮想貨幣データに含まれている可能性のある仮想貨幣暗号化データが暗号化されたときに、各ユーザ端末のユーザ端末暗号化手段で実行されたすべての暗号化の方法を把握している。その有効期間内にユーザ端末で発行された仮想貨幣データの数にもよるが、管理装置の管理装置復号化手段は、その有効期間内に発生させられた仮想貨幣データに含まれている仮想貨幣暗号化データが暗号化されたときに実行された暗号化の方法のすべてに対応する復号化の方法を、復号化しようとしている1つの仮想貨幣暗号化データに対して総当り的に実行すれば、その仮想貨幣暗号化データに改竄等の不正がない限り、そのうちの1回でそれを復号化することができるはずである。この場合、管理装置からすれば、仮想貨幣データの真正性の確認をすべき、つまり復号化を試みる対象とすべき仮想貨幣暗号化データは、有効期間の分だけ過去に遡った期間中に生成された仮想貨幣暗号化データのみとなるから、その数は有効期間が存在しない場合に比べれば格段に少ない。もちろん当然のことであるが、上述の有効期間が長ければ、管理装置が総当りで行わなければならない復号化の処理の数が増えていくので、有効期間の長さは、その有効期間内に発生させられる仮想貨幣データの数や、復号化の処理を行う管理装置のコンピューティングパワー等を勘案して適切に決定されるべきであろう。更にいえば、本願の仮想貨幣データ発行システムにおいては、仮想貨幣データを各ユーザ端末が発生させるのに先立って、上述した与信の判定を実行するために、管理装置にはユーザ端末から金額情報及びユーザIDが送られてくる。したがって、決済を求めて他の装置からある仮想貨幣データが管理装置に送られて来た場合、管理装置は、有効期間が切れていない仮想貨幣データを発行したユーザ端末のそれぞれを、有効期間に対応する過去の所定期間に受取ったユーザIDから把握することができる。そのユーザIDで特定されるユーザ端末のユーザ端末暗号化手段で実行される暗号化の方法のすべてを、仮想貨幣データに含まれている仮想貨幣暗号化データに対して実行すれば、仮想貨幣暗号化データに改竄等の不正がない限り、それを復号化することができるはずである。
上述したように、前記ユーザ端末暗号化手段は、所定のタイミングで、前記元データを暗号化する方法を変更するようになっている場合がある。この場合、1つ目のタイプの管理装置における前記管理装置復号化手段は、前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データを復号化する場合に、当該仮想貨幣暗号化データを暗号化したときの方法に対応した方法で、当該仮想貨幣暗号化データを復号化するようになっている。
各ユーザ端末のユーザ端末暗号化手段が、それぞれ異なる方法で暗号化の処理を実行するとともに、各ユーザ端末暗号化手段で実行される暗号化の方法が所定のタイミングで変更される場合において、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを仮想貨幣暗号化データに変換する際に実行される、各ユーザ端末暗号化手段で実行され得る複数或いは多数の暗号化の方法をすべて把握しており、且つその管理装置復号化手段は、各ユーザ端末暗号化手段で暗号化された仮想貨幣暗号化データを復号化して元データに戻すことができるようになっている。
管理装置が仮にそのようなものであるとする。しかしながら、上述したように、各ユーザ端末におけるユーザ端末暗号化手段で実行される暗号化の方法が常に固定された1通りのみであったとしても、管理装置に送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データを管理装置の管理装置復号化手段が復号化しようとする場合には、原則として、これから復号化しようとする仮想貨幣暗号化データがユーザ端末暗号化手段で暗号化されたときに用いられた暗号化の方法を、管理装置が把握する必要がある。より具体的には、ユーザ端末暗号化手段で実行される暗号化の方法が1通りのみであったとしても、上述したように、これから復号化しようとする仮想貨幣暗号化データを暗号化したユーザ端末を特定できなければ、管理装置はその仮想貨幣暗号化データを復号化するための方法を特定することができない。また、ユーザ端末暗号化手段が暗号化の方法を所定のタイミングで変えるのであれば、管理装置は、原則として、これから復号化しようとする仮想貨幣暗号化データがどのユーザ端末暗号化手段で暗号化されたかということに加えて、その仮想貨幣暗号化データが、そのユーザ端末のユーザ端末暗号化手段においてどのような方法で暗号化されたかを把握する必要がある。
かかる課題のうち、管理装置がこれから復号化しようとする仮想貨幣暗号化データがどのユーザ端末暗号化手段で暗号化されたかを把握しなければならないという課題を解決するのが、ユーザ端末におけるユーザ端末第2情報処理手段で仮想貨幣データに含められることのある上述のユーザIDである。また、管理装置がそのユーザ端末のユーザ端末暗号化手段においてどのような方法で暗号化されたかを把握しなければならないという課題を解決するのが、ユーザ端末におけるユーザ端末第2情報処理手段で仮想貨幣データに含められることのある上述の暗号化条件データである。管理装置は、ユーザIDによって、復号化しようとする仮想貨幣暗号化データを暗号化したユーザ端末を特定することが可能となり、また、暗号化条件データによって、そのユーザ端末のユーザ端末暗号化手段が仮想貨幣暗号化データを暗号化したときに用いられた方法を特定することができる。これにより、管理装置は、仮想貨幣暗号化データが暗号化されたときに用いられた方法を特定することができるので、復号化の方法をも特定することができることになる。つまり、管理装置は、仮想貨幣暗号化データを、その管理装置復号化手段で復号化することができるということになる。
もっとも、ユーザ端末暗号化手段で実行される暗号化の方法が固定された1通りの場合においては、上述したように、仮想貨幣データにユーザIDが含まれていなかったとしても、管理装置復号化手段が、仮想貨幣暗号化データに対して総当たり的な復号化の処理を実行することによって、仮想貨幣暗号化データの復号化を行うことが可能であることを説明した。同様に、各ユーザ端末におけるユーザ端末暗号化手段で実行される暗号化の方法が所定のタイミングで変化するようになっている場合においても、仮想貨幣データにユーザIDと暗号化条件データの少なくとも一方が含まれていなかったとしても、管理装置復号化手段が、仮想貨幣暗号化データに対して総当たり的な復号化の処理を実行することによって、仮想貨幣暗号化データの復号化を行うことが可能である。
例えば、仮想貨幣データにユーザIDは含まれているが、暗号化条件データが含まれていなかったとする。その場合には、管理装置は、仮想貨幣データに含まれているユーザIDによって、その仮想貨幣データに含まれていた仮想貨幣暗号化データがどのユーザ端末で暗号化されたものであるかを把握することができる。その場合、管理装置の管理装置復号化手段は、ユーザIDによって特定されるユーザ端末のユーザ端末暗号化手段によって実行され得る複数の暗号化の方法に対応した復号化の方法で、総当り的に、仮想貨幣暗号化データの復号化を試みることによって、仮想貨幣暗号化データの復号化を行うことが可能となる。仮想貨幣データの有効期間が短ければ、管理装置復号化手段が実行すべき総当り的な復号化の処理の数は小さくなる。
例えば、仮想貨幣データに暗号化条件データは含まれているが、ユーザIDが含まれていなかったとする。その場合には、ユーザIDが無いのであるから、管理装置は、仮想貨幣データに含まれていた仮想貨幣暗号化データがどのユーザ端末で暗号化されたものであるかを把握することができないが、その代わりに仮想貨幣データに含まれている暗号化条件データによって、ユーザ端末暗号化手段で仮想貨幣暗号化データが暗号化されたときに用いられた方法を特定する条件を把握することができる。その場合、管理装置の管理装置復号化手段は、暗号化条件データによって特定される条件下において各ユーザ端末に含まれるユーザ端末暗号化手段によって実行され得る複数の暗号化の方法に対応した復号化の方法で、総当り的に、仮想貨幣暗号化データの復号化を試みることによって、仮想貨幣暗号化データの復号化を行うことが可能となる。この場合においても、仮想貨幣データの有効期間が短ければ、管理装置復号化手段が実行すべき総当り的な復号化の処理の数は小さくなる。また、本願の仮想貨幣データ発行システムにおいては、仮想貨幣データを各ユーザ端末が発生させるのに先立って、上述した与信の判定を実行するために、管理装置にはユーザ端末から金額情報及びユーザIDが送られてくる。したがって、決済を求めて他の装置からある仮想貨幣データが管理装置に送られて来た場合、管理装置は、有効期間が切れていない仮想貨幣データを発行したユーザ端末のそれぞれを、有効期間に対応する過去の所定期間に受取ったユーザIDから把握することができる。したがって、管理装置が、暗号化条件データで特定される条件によって特定される暗号化の方法に対応した復号化を総当り的に行う場合には、上記ユーザIDで特定されるユーザ端末のユーザ端末暗号化手段で実行される暗号化の方法に対応した復号化の方法のみを、仮想貨幣データに含まれている仮想貨幣暗号化データに対して実行すれば良い、ということになる。
例えば、仮想貨幣データに暗号化条件データも、ユーザIDもいずれも含まれていなかったとする。その場合には、ユーザIDが無いのであるから、管理装置は、仮想貨幣データに含まれていた仮想貨幣暗号化データがどのユーザ端末で暗号化されたものであるかを把握することができないし、暗号化条件データも存在しないのであるから、ユーザ端末暗号化手段で仮想貨幣暗号化データが暗号化されたときに用いられた方法を特定する条件も把握することができない。その場合、管理装置の管理装置復号化手段は、すべてのユーザ端末のユーザ端末暗号化手段において実行され得るすべての暗号化の方法に対応した復号化の方法で、総当り的に、仮想貨幣暗号化データの復号化を試みる。そうすることによって、仮想貨幣暗号化データの復号化を行うことが可能となる。この場合においても、仮想貨幣データの有効期間が短ければ、管理装置復号化手段が実行すべき総当り的な復号化の処理の数は小さくなる。また、管理装置の管理装置復号化手段が総当り的に試みる復号化の方法は、上述したように、その仮想貨幣データが有効期間内となる過去のタイミングに、ユーザIDと金額情報とを管理装置に送ってきたユーザ端末のユーザ端末暗号化手段において実行され得るすべての暗号化の方法に対応した復号化の方法のみとすることができる。
前記ユーザ端末情報処理手段は、上述したように、前記ユーザ端末毎に異なる初期解に基づいて、文字、数字、記号の少なくとも1つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができるユーザ端末解生成手段を備えている場合がある。この場合、前記ユーザ端末暗号化手段は、前記ユーザ端末解生成手段から提供された前記解に基いて前記元データを暗号化する方法を変更するようになっている。
ユーザ端末がこのようなものである場合には、管理装置における前記管理装置情報処理手段は、前記ユーザ端末のそれぞれが有するのと同じ初期解を記録しているとともに、当該解に基いて、前記ユーザ端末のそれぞれが持つ前記ユーザ端末解生成手段で生成される前記解と同じ前記解を生成することができる管理装置解生成手段を備えている。そして、かかる管理装置における前記管理装置復号化手段は、前記管理装置解生成手段から提供された前記解に基いて、前記仮想貨幣暗号化データの復号化の方法を決定するようになっている。
これは、ユーザ端末のユーザ端末暗号化手段で暗号化の方法を所定のタイミングで変化させる場合の一態様と捉えることができる。各ユーザ端末のユーザ端末暗号化手段は暗号化の方法を変化させていくが、ユーザ端末暗号化手段は、同じ条件下で生成されたものが常に同じものとなる、ユーザ端末解生成手段で生成された解を用いて暗号化の方法を変化させる。例えば、ユーザ端末暗号化手段は、暗号化の処理を実行するためのアルゴリズムとして常に同一のアルゴリズムを用いるものとなっているとともに、暗号化の処理を実行するための鍵として上述の解をそのまま、或いは上述の解に対して所定の演算を行ったものを用いることができる。鍵としての解を変化させることにより、ユーザ端末暗号化手段は、暗号化の方法を変化させることが可能となる。もっとも、解は、ユーザ端末暗号化手段が暗号化の処理を実行するために用いるアルゴリズムを変化させるために用いられてもよい。
ユーザ端末が解に基いて暗号化の方法を変化させるようになっている場合には、管理装置は、各ユーザ端末において生成されるのと同じ解を生成できるようになっていれば、各ユーザ端末のユーザ端末暗号化手段で暗号化された仮想貨幣暗号化データを、管理装置は復号化することができる。管理装置で、各ユーザ端末において生成されるのと同じ解を生成するためのものが管理装置解生成手段である。
例えば、ユーザ端末解生成手段と、管理装置解生成手段は、初期解を、その時点の時刻を変数として含む数式に代入することによって生成されるようなものになっていてもよい。これにより、離れた場所にある2つの独立した装置におけるユーザ端末解生成手段と、管理装置解生成手段は、同期した解を生成できることになる。これは、インターネットバンキング等の分野で広く実用化されているトークン等で既に実用化されている時間同期と称される同期の方法に程近いものである。
他方、ユーザ端末解生成手段と、管理装置解生成手段で解を生成するための手法は、例えば、過去の解を所定の数式に代入することで新しい解を得て、次にその解を同じ数式に代入することで新しい解を得る、というようなものとすることができる。これは、上述の如きトークン等で既に実用化されているイベント同期と称される同期の方法に程近いものである。イベント同期が採用される場合、ユーザ端末解生成手段と、管理装置解生成手段で生成される解は、同じ順番で生成されたもの同士を比較すると同じになるようになっている。例えば、ユーザ端末解生成手段と、管理装置解生成手段は、解をXとして、Xn+1=f(X)という関数により、次の解を生成するというアルゴリズムにより解を生成するようなものとなっていてもよい。この場合、ユーザ端末解生成手段と、管理装置解生成手段は、直前に作った解を保持しておき、その前に生成した解をすべて削除するようになっていてもよい。つまり、次の解を生成するために必要な解のみをユーザ端末解生成手段と、管理装置解生成手段が保持するようにすることが可能である。この場合、ユーザ端末解生成手段と、管理装置解生成手段は、例えば、4番目の解を生成するのであれば、保持していた3番目の解であるXをXn+1=f(X)の式にX=f(X)のように代入することにより、4番目の解を生成する。なお、過去の複数の解を用いて、例えば、Xn+1=f(X)+f(Xn−1)の如き数式を用いるのであれば、ユーザ端末解生成手段と、管理装置解生成手段が保持すべき解は、その直前に使われた2つの解となる。このように新しい解を生成するためにユーザ端末解生成手段と、管理装置解生成手段で使用される解は、必ずしも1つとは限らない。そして、この場合における初期解は、2つとなる。このように初期解は必ずしも1つとは限らず、複数である場合がある。
ユーザ端末はそれぞれ初期解を、少なくともユーザ端末が使用される最初の時点では有しており、且つ管理装置は少なくとも管理装置が使用される最初の時点ではすべてのユーザ端末が保持している初期解を有している。それにより、管理装置は、複数或いは多数のユーザ端末で生成されたのと同じ解を生成できることになり、それにより複数或いは多数のユーザ端末で生成された仮想貨幣暗号化データのすべてを、その管理装置復号化手段で復号化できるようになる。
なお、この解自体、或いはこの解を特定するための情報が、上述した暗号化条件データの一例となる。
2つ目のタイプの管理装置は、例えば、以下のように構成される。
かかる管理装置の前記管理装置情報処理手段は、前記管理装置送受信手段で受取った前記金額情報を含む、前記ユーザ端末において暗号化されたものと同じ元データを暗号化して確認用暗号化データを生成する管理装置暗号化手段と、前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データと、前記管理装置暗号化手段で生成された前記確認用暗号化データとを比較し、両者が一致した場合に当該仮想貨幣暗号化データが含まれていた前記仮想貨幣データが真正なものであると判定する判定手段と、を備えており、前記決済手段は、前記判定手段が、前記仮想貨幣データが真正なものであると判定した場合に、前記決済を認めるようになっている。
2つ目のタイプの管理装置は、管理装置暗号化手段を備えている。管理装置暗号化手段は、ユーザ端末において暗号化されたものと同じ元データを暗号化して確認用暗号化データを生成するようになっている。2つ目のタイプの管理装置は、決済を求めて送られてきた仮想貨幣データを受取った場合、判定手段によって、それに含まれる仮想貨幣暗号化データと、管理装置暗号化手段で生成された確認用暗号化データとを比較し、両者が一致した場合に当該仮想貨幣暗号化データが含まれていた仮想貨幣データが真正なものであると判定する。この管理装置では、前記判定手段が、前記仮想貨幣データが真正なものであると判定した場合に、決済を認めるようになっている。
1つ目のタイプの管理装置では、上述したように、仮想貨幣暗号化データを復号化できたという事実によって、仮想貨幣データの真正性の証明がなされるようになっていた。これに対して2つ目のタイプの管理装置は、上述の他の装置から送られて来た仮想貨幣データに含まれていた仮想貨幣暗号化データと同じ仮想貨幣暗号化データを管理装置が持つ元データから生成することができたという事実によって、仮想貨幣データの真正性の証明を行う。なお、管理装置が持つ元データは、それを構成するすべてのデータがユーザ端末から送られて来るようになっていても構わない。或いは、元データのうちの金額情報は上述のようにユーザ端末から管理装置へ送られてくるが、元データのうちの金額情報以外のデータは管理装置内で生成されるか、管理装置がユーザ端末以外から入手するようになっていても良い。
ユーザ端末で生成される仮想貨幣暗号化データと同じ仮想貨幣暗号化データ(確認用暗号化データ)を管理装置でも生成できるか否かを認証の条件とすることにより、かかる決済装置で実行される仮想貨幣データの真正性の確認の精度を高くすることが可能となり、ひいてはかかる決済装置と組合せて利用される仮想貨幣データの安全性、信頼性が高くなる。
上述したように、2つ目のタイプの管理装置は、決済を求めて送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データと、確認用暗号化データ(複数の場合もある)とを比較することによって、仮想貨幣暗号化データと確認用暗号化データ(の少なくとも1つ)が一致するか否かによって、仮想貨幣データの真正性を判定することとしていた。
仮想貨幣データの真正性の確認のために用いられる確認用暗号化データは、管理装置の判定手段で上述の仮想貨幣暗号化データの真正性の判定が行われるより前に生成されれば良いが、その生成時期の代表的なものは2つ存在する。
2つ目のタイプの管理装置は、決済を求めて送られてきた仮想貨幣データを受取った後に、確認用暗号化データを生成する場合がある。かかる管理装置における前記管理装置情報処理手段は、前記管理装置送受信手段で受取った前記金額情報を含む前記ユーザ端末において暗号化されたものと同じ元データを記録する第1記録手段を備えているとともに、前記管理装置暗号化手段は、前記管理装置送受信手段で前記仮想貨幣データを受取った場合に、当該仮想貨幣データに含まれる前記仮想貨幣暗号化データの元となったものと同じ元データを前記第1記録手段から読み出してそれを暗号化するようになっている。つまり、この管理装置は、上述した与信の判定のために送られてきた金額情報を用いて生成した元データを、例えば、与信の判定を行うと同時或いはその直後に(つまり、仮想貨幣データを他の装置から受取る時期とは無関係に)第1記録手段に記録しておくとともに、仮想貨幣データの真正性の判定を行うことが必要となったときに、元データを暗号化して確認用暗号化データとするようになっており、その判定手段は、生成された確認用暗号化データと決済を求めて送られて来た仮想貨幣データに含まれていた仮想貨幣暗号化データとを比較するのである。
また、2つ目のタイプの管理装置は、決済を求めて送られてきた仮想貨幣データを受取る前に、つまり、仮想貨幣データを他の装置から受取る時期とは無関係に、予め確認用暗号化データを生成しておく場合がある。かかる管理装置における前記管理装置情報処理手段は、前記確認用暗号化データを記録する第2記録手段を備えているとともに、前記判定手段は、前記管理装置送受信手段が前記仮想貨幣データを受取った場合に、前記第2記録手段に記録されている確認用暗号化データと、前記管理装置送受信手段が受取った前記仮想貨幣データに含まれている仮想貨幣暗号化データとを比較し、前記仮想貨幣暗号化データと同じ前記確認用暗号化データが前記第2記録手段に記録されていた場合には、当該仮想貨幣暗号化データに含まれていた前記仮想貨幣データが真正なものであると判定する。つまり、この管理装置は、上述した与信の判定のために送られてきた金額情報を用いて生成した元データを、例えば、与信の判定を行うと同時或いはその直後に暗号化して確認用暗号化データとするとともに、生成したその確認用暗号化データを第2記録手段に記録し、そして、仮想貨幣データの真正性の判定を行うことが必要となったときに、判定手段が第2記録手段から確認用暗号化データと、決済を求めて送られて来た仮想貨幣データに含まれていた仮想貨幣暗号化データとを比較するのである。
上述したように、前記ユーザ端末暗号化手段は、常に同じ方法で前記元データを暗号化するようになっている場合がある。その場合、前記管理装置暗号化手段は、同じユーザ端末で発生させられた仮想貨幣データの真正性を確認する場合には、常に同じ方法で前記元データを暗号化するようになっている。この場合、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを仮想貨幣暗号化データに変換する際に実行される、各ユーザ端末暗号化手段で1つのみの暗号化の方法をすべて把握しており、且つその管理装置暗号化手段は、各ユーザ端末暗号化手段で暗号化された元データと同じ元データを暗号化して、各ユーザ端末で生成されるのと同じ仮想貨幣暗号化データを生成できるようになっている。
ところで、仮想貨幣データ発行システムにおいて2つ目のタイプの管理装置が使用される場合においても、仮想貨幣データ発行システムにおいて1つ目のタイプの管理装置が用いられる場合と同様に、仮想貨幣データは、例えば、ユーザ端末や、上述の他の装置の中に同時に多数が存在する状態となる。したがって、管理装置が、決済を求めて管理装置に送られて来た仮想貨幣データの真正性を確認するために、その管理装置暗号化手段で管理装置が持つ元データを暗号化しようとする場合には、原則としてこれから暗号化しようとする元データがユーザ端末暗号化手段で暗号化されたときに用いられた暗号化の方法を、管理装置が把握する必要がある。これは、第1のタイプの管理装置において生じる、「管理装置復号化手段が、管理装置が他の装置から受取った仮想貨幣データを復号化しようとした場合には、原則として、これから復号化しようとする仮想貨幣暗号化データがユーザ端末暗号化手段で暗号化されたときに用いられた暗号化の方法を、管理装置が把握する必要がある。」という課題と、事実上共通する課題である。
仮に、各ユーザ端末のユーザ端末暗号化手段が、そこで実行される暗号化の方法が固定された常に同一のものではあるものの、各ユーザ端末暗号化手段はそれぞれ異なる方法で暗号化の処理を実行するものであったとする。この場合における管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを仮想貨幣暗号化データに変換する際に実行される、各ユーザ端末暗号化手段で1つのみの暗号化の方法をすべて把握しており、且つその管理装置暗号化手段は、各ユーザ端末暗号化手段で実行されるのと同じ方法で暗号化の処理を実行することにより、ユーザ端末で暗号化されるのと同じ元データに基いて、ユーザ端末で生成される仮想貨幣暗号化データと同じ確認用暗号化データを生成することができるようになっている。もっとも、かかる管理装置暗号化手段をもってしても、今から暗号化を行う元データがどのユーザ端末で暗号化されたものか判らないのであれば、各ユーザ端末におけるユーザ端末暗号化手段で実行される暗号化の方法がそれぞれ異なるのであるから、管理装置暗号化手段は、その元データを暗号化するためにどのような方法を用いるべきか特定できないから、元データを正しく暗号化するのが難しくなる。ここで、「元データを正しく暗号化する」というのは、ユーザ端末で暗号化されたのと同じ元データを、ユーザ端末で行われたのと同一の方法で暗号化することにより、ユーザ端末で生成された仮想貨幣暗号化データと、管理装置で生成される確認用暗号化データとが同じものとなるようにする、ということを意味する。ユーザ端末からユーザID及び金額情報を受け取って例えばすぐに確認用暗号化データを生成して第2記録手段に記録してしまう場合ではその限りではないが、特に、多数の元データを記録する第1記録手段を有する決済装置では、どの元データを管理装置暗号化手段で暗号化する対象として選択するのか、という点も課題となりうる。この課題を解決するのが、ユーザ端末におけるユーザ端末第2情報処理手段で仮想貨幣データに含められることのある上述のユーザIDである。仮想貨幣暗号化データと共に仮想貨幣データに含まれているユーザIDにより、管理装置は、どの元データを暗号化すれば良いかということと、これから暗号化しようとする元データがどのような方法で暗号化されたかということとの、少なくとも後者を知ることができるから、仮想貨幣暗号化データを正しく暗号化することについて有利になる。
もっとも、元データを管理装置がその管理装置暗号化手段で暗号化する場合において、ユーザIDは必須ではない。これも1つ目のタイプの管理装置の場合と同様である。例えば、仮想貨幣データ発行システムにおいて設定されている、仮想貨幣データの有効期間が比較的短ければ、2つ目のタイプの管理装置も、1つ目のタイプの管理装置の場合と同様に、総当たり的なアプローチで元データを暗号化することにより、元データを正しく、言い換えれば、ユーザ端末で生成されるのと同じ仮想貨幣暗号化データを結果として得られるように、暗号化することが可能となる。つまり、管理装置の管理装置暗号化手段は、有効期間を迎えていない仮想貨幣データに含まれている可能性のある仮想貨幣データに含まれる可能性のある仮想貨幣暗号化データの元となった元データが暗号化されたときに実行された可能性のある暗号化の方法をすべて、暗号化しようとしている例えば1つの元データに対して総当り的に実行すれば、そのうちの1回は、元データを正しく暗号化することができるはずである。また、本願の仮想貨幣データ発行システムにおいては、仮想貨幣データを各ユーザ端末が発生させるのに先立って、上述した与信の判定を実行するために、管理装置はユーザ端末から金額情報及びユーザIDを受取る。したがって、決済を求めて他の装置からある仮想貨幣データが管理装置に送られて来た場合、管理装置は、有効期間が切れていない仮想貨幣データを発行した可能性のあるユーザ端末を、過去の所定期間にネットワークを介して受取ったユーザIDから把握することができる。以上を考慮すれば、管理装置の判定手段は、その有効期間に対応した時期に生成された可能性のある仮想貨幣暗号化データに対応する確認用暗号化データのみを、決済を求めて送られて来た仮想貨幣データに含まれる仮想貨幣暗号化データとの比較の対象とすれば十分である。
上述したように、前記ユーザ端末暗号化手段は、所定のタイミングで、前記元データを暗号化する方法を変更するようになっている場合がある。この場合、2つ目のタイプの管理装置における前記管理装置暗号化手段は、前記元データを暗号化する場合に、当該元データと同じ元データが前記ユーザ端末暗号化手段で暗号化されたときの方法と同じ方法で、当該元データを暗号化するようになっている。
各ユーザ端末のユーザ端末暗号化手段が、それぞれ異なる方法で暗号化の処理を実行するとともに、各ユーザ端末暗号化手段で実行される暗号化の方法が所定のタイミングで変更される場合において、管理装置は、各ユーザ端末のユーザ端末暗号化手段で元データを仮想貨幣暗号化データに変換する際に実行される、各ユーザ端末暗号化手段で実行され得る複数或いは多数の暗号化の方法をすべて把握しており、且つその管理装置暗号化手段は、各ユーザ端末暗号化手段で元データを仮想貨幣暗号化データにするときに実行される暗号化の処理を実行できるようになっており、それによりユーザ端末で元データを暗号化することにより生成される仮想貨幣暗号化データと同じ確認用暗号化データを、ユーザ端末で暗号化されたものと同じ元データから生成することができるようになっている。
管理装置が仮にそのようなものであるとする。しかしながら、2つ目のパターンの管理装置でも、1つ目のパターンの管理装置の場合と同様の問題が生じる。つまり、各ユーザ端末におけるユーザ端末暗号化手段で実行される暗号化の方法が常に固定された1通りのみであったとしても、管理装置に送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データと同じ確認用暗号化データを、その仮想貨幣暗号化データの元となった元データから生成するには、原則としてその元データを暗号化したユーザ端末がどのユーザ端末であるかを特定することが必要であったが、それに加えてユーザ端末暗号化手段での暗号化の方法が所定のタイミングで変更されるのであれば、管理装置は更に、その元データがユーザ端末暗号化手段で暗号化されたときの暗号化の方法を把握することが必要となる。更には、上述したように、どの元データを暗号化すべき対象として選択することが必要な場合もありうる。
かかる課題のうち、管理装置が暗号化しようとする仮想貨幣暗号化データがどのユーザ端末暗号化手段で暗号化されたかを把握しなければならないという課題を解決するのが、ユーザ端末におけるユーザ端末第2情報処理手段で仮想貨幣データに含められることのある上述のユーザIDである。また、管理装置がそのユーザ端末のユーザ端末暗号化手段においてどのような方法で暗号化されたかを把握しなければならないという課題を解決するのが、ユーザ端末におけるユーザ端末第2情報処理手段で仮想貨幣データに含められることのある上述の暗号化条件データである。これら、ユーザIDと、暗号化条件データとの使用方法、及び効果は、1つ目のパターンの管理装置と、2つ目のパターンの管理装置とで変わりない。仮想貨幣暗号化データの復号化のためにそれらを用いるか、元データの暗号化のためにそれらを用いるかの違いがあるだけである。例えば、前記ユーザ端末第2情報処理手段は、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データが暗号化されたときにおいて、前記ユーザ端末暗号化手段で実行された暗号化の条件を特定するための暗号化条件データを付加して前記仮想貨幣データとするようになっていてもよく、この場合における前記管理装置暗号化手段は、前記元データを暗号化する場合に、その仮想貨幣暗号化データとともに前記仮想貨幣データに含まれていた前記暗号化条件データにより、当該元データの暗号化の方法を決定するようになっていてもよい。
もっとも、1つ目のパターンの管理装置では、総当り的なアプローチを採用することによって、ユーザIDと暗号化条件データの少なくとも一方を用いずとも、仮想貨幣暗号化データを復号化することが可能であった。同様に、2つ目のパターンの管理装置でも、ユーザIDと暗号化条件データの少なくとも一方を用いずとも、元データを正しく暗号化することが可能である。
前記ユーザ端末情報処理手段は、上述したように、前記ユーザ端末毎に異なる初期解に基づいて、文字、数字、記号の少なくとも1つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができるユーザ端末解生成手段を備えている場合がある。この場合、前記ユーザ端末暗号化手段は、前記ユーザ端末解生成手段から提供された前記解に基いて前記元データを暗号化する方法を変更するようになっている。
ユーザ端末がこのようなものである場合には、管理装置における前記管理装置情報処理手段は、前記ユーザ端末のそれぞれが有するのと同じ初期解を記録しているとともに、当該解に基いて、前記ユーザ端末のそれぞれが持つ前記ユーザ端末解生成手段で生成される前記解と同じ前記解を生成することができる管理装置解生成手段を備えており、前記管理装置暗号化手段は、前記管理装置解生成手段から提供された前記解に基いて、前記元データの暗号化の方法を決定するようになっている。
これは、ユーザ端末のユーザ端末暗号化手段で暗号化の方法を所定のタイミングで変化させる場合の一態様と捉えることができる。各ユーザ端末のユーザ端末暗号化手段は暗号化の方法を変化させていくが、ユーザ端末暗号化手段は、同じ条件下で生成されたものが常に同じものとなる、ユーザ端末解生成手段で生成された解を用いて暗号化の方法を変化させる。ユーザ端末が解に基いて暗号化の方法を変化させるようになっている場合には、管理装置は、各ユーザ端末において生成されるのと同じ解を生成できるようになっていれば、各ユーザ端末のユーザ端末暗号化手段で元データを暗号化することによって得られた仮想貨幣暗号化データと同じ確認用暗号化データを、ユーザ端末で暗号化された元データと同じ元データから生成することができる。2つ目のパターンの管理装置における管理装置解生成手段における解の生成の方法は、1つ目のパターンで述べたものと同じで良い。また、解の使用方法は、それが仮想貨幣暗号化データの復号化のために用いられるか、元データの暗号化のために用いられるかを除けば、1つ目のパターンの管理装置と2つ目のパターンの管理装置との間で相違はない。
本願発明者は、上述の如き仮想貨幣データ発行システムを構成するユーザ端末で実行される方法をも本願発明の一態様として提案する。その効果は、以上で説明したユーザ端末の効果と同じである。
一例となるユーザ端末で実行される方法は、以下のようなものである。
その方法は、所定のネットワークにそのそれぞれが接続可能とされた、そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、を含んで構成されている仮想貨幣データ発行システムを、前記管理装置との組合せによって構成するユーザ端末の前記ユーザ端末情報処理手段にて実行される方法である。
この方法は、前記ユーザ端末情報処理手段によって実行される、前記ユーザ端末入力手段によって、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付ける過程、前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザIDを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させる過程、を含んでいる。
この方法を実行するユーザ端末と組み合される前記管理装置における、前記管理装置送受信手段は、前記ユーザ端末から、前記ユーザIDを付された前記金額情報を受付けるようになっており、前記管理装置情報処理手段は、前記管理装置送受信手段で受付けた前記ユーザIDで特定されるユーザが、当該ユーザIDが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第1情報処理手段と、を備えている。
また、この方法は、更に前記ユーザ端末情報処理手段が実行する、前記ユーザ端末送受信手段により、前記管理装置から、前記発行許可情報を受取る過程、前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する過程、前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する過程、を含んでいる。
本願発明者は、上述の如き仮想貨幣データ発行システムを構成するユーザ端末のユーザ端末情報処理手段として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
そのコンピュータプログラムは、所定のネットワークにそのそれぞれが接続可能とされた、そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、を含んで構成されている仮想貨幣データ発行システムを、前記管理装置との組合せによって構成するユーザ端末の前記ユーザ端末情報処理手段として、所定のコンピュータを機能させるためのコンピュータプログラムである。
そしてこのコンピュータプログラムは、前記コンピュータに、前記ユーザ端末入力手段によって、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付ける過程、前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザIDを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させる過程、を実行させる。
また、かかるコンピュータプログラムによって実現されるユーザ端末情報処理手段を有するユーザ端末と組み合わせて用いられる前記管理装置における、前記管理装置送受信手段は、前記ユーザ端末から、前記ユーザIDを付された前記金額情報を受付けるようになっており、前記管理装置情報処理手段は、前記管理装置送受信手段で受付けた前記ユーザIDで特定されるユーザが、当該ユーザIDが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第1情報処理手段と、を備えている。
また、かかるコンピュータプログラムは、更に前記コンピュータに、前記ユーザ端末送受信手段により、前記管理装置から、前記発行許可情報を受取る過程、前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する過程、前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する過程、を実行させる。
本願発明者は、上述の如き仮想貨幣データ発行システムを構成する管理装置で実行される方法をも本願発明の一態様として提案する。その効果は、以上で説明した管理装置の効果と同じである。
一例となる管理装置で実行される方法は、以下のようなものである。
その方法は、所定のネットワークにそのそれぞれが接続可能とされた、そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、を含んで構成されている仮想貨幣データ発行システムを、前記ユーザ端末との組合せによって構成する前記管理装置の前記管理装置情報処理手段にて実行される方法である。
この方法を実行する管理装置と組み合されるユーザ端末における、前記ユーザ端末入力手段は、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザIDを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第1情報処理手段、を備えている。
そして、この方法は、前記管理装置情報処理手段が実行する、前記管理装置送受信手段により、前記ユーザ端末から、前記ユーザIDを付された前記金額情報を受付ける過程、前記管理装置送受信手段で受付けた前記ユーザIDで特定されるユーザが、当該ユーザIDが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する過程、前記発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる過程、を含んでいる。
この方法を実行する管理装置と組み合されるユーザ端末における、前記ユーザ端末送受信手段は、前記管理装置から、前記発行許可情報を受取るようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第2情報処理手段と、を備えている。
本願発明者は、上述の如き仮想貨幣データ発行システムを構成する管理装置の管理装置情報処理手段として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
そのコンピュータプログラムは、所定のネットワークにそのそれぞれが接続可能とされた、そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、を含んで構成されている仮想貨幣データ発行システムを、前記ユーザ端末との組合せによって構成する前記管理装置の前記管理装置情報処理手段として、所定のコンピュータを機能させるためのコンピュータプログラムである。
かかるコンピュータプログラムによって実現される管理装置情報処理手段を有する管理装置と組み合わせて用いられる前記ユーザ端末における前記ユーザ端末入力手段は、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザIDを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第1情報処理手段、を備えている。
そしてこのコンピュータプログラムは、前記コンピュータに、前記管理装置送受信手段により、前記ユーザ端末から、前記ユーザIDを付された前記金額情報を受付ける過程、前記管理装置送受信手段で受付けた前記ユーザIDで特定されるユーザが、当該ユーザIDが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する過程、前記発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる過程、を実行させる。
また、かかるコンピュータプログラムによって実現される管理装置情報処理手段を有する管理装置と組み合わせて用いられる前記ユーザ端末における、前記ユーザ端末送受信手段は、前記管理装置から、前記発行許可情報を受取るようになっており、前記ユーザ端末情報処理手段は、前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第2情報処理手段と、を備えている。
第1実施形態による決済システムの全体構成を示す図。 図1に示した決済システムに含まれるユーザ端末の外観を示す図。 図1に示した決済システムに含まれるユーザ端末のハードウェア構成を示す図。 図1に示した決済システムに含まれるユーザ端末の内部に生成される機能ブロックを示すブロック図。 図1に示した決済システムに含まれる決済装置のハードウェア構成を示す図。 図1に示した決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。 図1に示した決済システムに含まれる決済端末のハードウェア構成を示す図。 図1に示した決済システムに含まれる決済端末の内部に生成される機能ブロックを示すブロック図。 図1に示した決済システムで決済が行われるときに実行される処理の流れを示す図。 図1に示した決済システムに含まれるユーザ端末のディスプレイに表示される画像の一例を示す図。 図1に示した決済システムに含まれる決済装置内の信用情報記録部に記録されているデータの一部の内容を観念的に示す図。 図1に示した決済システムに含まれるユーザ端末のディスプレイに表示される画像の他の例を示す図。 変形例1の決済システムに含まれる決済装置の内部に生成される機能ブロックの一例を示すブロック図。 変形例2の決済システムに含まれるユーザ端末の内部に生成される機能ブロックを示すブロック図。 変形例2の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。 変形例2の決済システムに含まれる決済装置の内部に生成される機能ブロックの他の例を示すブロック図。 変形例2の決済システムに含まれる決済装置の内部に生成される機能ブロックの他の例を示すブロック図。 第2実施形態の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。 第2実施形態の決済システムで決済が行われるときに実行される処理の流れを示す図。 変形例3の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。 第3実施形態の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。 第3実施形態の決済システムで決済が行われるときに実行される処理の流れを示す図。 変形例4の決済システムに含まれる決済装置の内部に生成される機能ブロックを示すブロック図。
以下、本発明の第1〜第3実施形態について説明する。各実施形態、変形例の説明で同じ対象には同一の符号を付すものとし、重複する説明は場合により省略するものとする。
また、特に矛盾がない限り、各実施形態と各変形例は互いに組合せることが可能である。
≪第1実施形態≫
図1に、第1実施形態による決済システムの全体構成を概略で示す。
決済システムは、複数のユーザ端末100−1〜100−N(以後、単に、「ユーザ端末100」と記載する場合もある。)、決済装置200、及び複数の決済端末300−1〜300−n(以後、単に、「決済端末300」と記載する場合もある。)を含んで構成されている。これらはすべて、ネットワーク400に接続可能とされている。
ネットワーク400は、これには限られないが、この実施形態ではインターネットである。
ユーザ端末100は、本願発明のユーザ端末の一例であり、決済端末300は、他の装置の一例であり、決済装置200は本願発明の管理装置の一例にそれぞれ相当する。
これには限られないが、この実施形態では、後述する仮想貨幣データを用いての金銭の支払いは、ユーザ端末100の管理者(一般的には所有者)から、決済端末300の管理者(決済端末300を管理又は所有する者等)に対して行われることを原則とし、場合によっては一のユーザ端末100の管理者から他のユーザ端末100の管理者に対して行われる。
通常、ユーザ端末100は各ユーザの所有物である。ユーザ端末100は、コンピュータを含んでいる。ユーザ端末100は、汎用の携帯電話、スマートフォン、タブレット、ノート型パソコン、デスクトップ型パソコン等である。可搬であり、且つ後述するプログラムをインストールするのに向いているという点を考慮すれば、これらのうち、特に、スマートフォンかタブレットが、ユーザ端末100として用いるのに好ましい。スマートフォンは例えば、Apple Japan合同会社が製造、販売を行うiPhoneである。タブレットの例はApple Japan合同会社が製造、販売を行うiPadである。以下、これには限られないが、ユーザ端末100がスマートフォンであることとして話を進める。
ユーザ端末100は少なくともデータの送受信をすることが可能であることが必要である。この実施形態におけるユーザ端末100はスマートフォンであるから、当然にデータの送信と受信の双方が可能である。
次に、ユーザ端末100の構成を説明する。各ユーザ端末100−1〜100−Nの構成は、本願発明との関連でいえば同じである。
ユーザ端末100の外観の一例を図2に示す。
ユーザ端末100は、ディスプレイ101を備えている。ディスプレイ101は、静止画又は動画を表示するためのものであり、公知、或いは周知のものを用いることができる。ディスプレイ101は例えば、液晶ディスプレイである。ユーザ端末100は、また入力装置102を備えている。入力装置102は、ユーザが所望の入力をユーザ端末100に対して行うためのものである。入力装置102は、公知或いは周知のものを用いることができる。この実施形態におけるユーザ端末100の入力装置102はボタン式のものとなっているが、これには限られず、テンキー、キーボード、トラックボール、マウスなどを用いることも可能である。また、ディスプレイ101がタッチパネルである場合、ディスプレイ101は入力装置102の機能を兼ねることになり、この実施形態ではそうされている。
入力装置102から入力されるデータは、いずれもその詳細を追って説明するが、例えば、処理の開始に関する開始情報、仮想貨幣データの金銭的な価値を特定するための情報である金額情報、仮想貨幣データの使用についての支払い情報、仮想貨幣データの譲渡についての譲渡情報、及びユーザID等である。
ユーザ端末100のハードウェア構成を、図3に示す。
ハードウェアには、CPU(central processing unit)111、ROM(read only memory)112、RAM(random access memory)113、インターフェイス114が含まれており、これらはバス116によって相互に接続されている。
CPU111は、演算を行う演算装置である。CPU111は、例えば、ROM112に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。なお、ここでいうコンピュータプログラムには、本願発明のユーザ端末としてこのユーザ端末100を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、ユーザ端末100にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムのユーザ端末100へのインストールは、メモリカード等の図示を省略の所定の記録媒体を介して行なわれても良いし、インターネットなどのネットワークを介して行なわれても構わない。
ROM112は、CPU111が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ROM112に記録されたコンピュータプログラムは、これに限られず、ユーザ端末100がスマートフォンであれば、ユーザ端末をスマートフォンとして機能させるために必要な、例えば、通話や電子メールを実行するためのコンピュータプログラムやデータが記録されている。ユーザ端末100は、また、ネットワーク400を介して受取ったデータに基づいて、ホームページを閲覧することも可能とされており、それを可能とするための公知のwebブラウザを実装している。
RAM113は、CPU111が処理を行うために必要なワーク領域を提供する。RAM113には後述する仮想貨幣データが記録される場合がある。また、上述のコンピュータプログラムは、RAM113に記録されている場合もある。
インターフェイス114は、バス116で接続されたCPU111やRAM113等と外部との間でデータのやり取りを行うものである。インターフェイス114には、上述のディスプレイ101と、入力装置102とが接続されている。入力装置102から入力された操作内容に関するデータは、インターフェイス114からバス116に入力されるようになっている。また、後述する画像データは、インターフェイス114から、ディスプレイ101に出力されるようになっている。インターフェイス114は、また、図示を省略する送受信部に接続されている。
送受信部は、インターネットであるネットワーク400を介してのデータの送受信を行うものである。かかる通信は、有線で行われる場合もあるが、ユーザ端末100がスマートフォンである場合には、かかる通信は通常無線で行われる。それが可能な限り、送受信部の構成は、公知或いは周知のものとすることができる。送受信部がネットワーク400から受取ったデータ(例えば、後述する許可情報)は、インターフェイス114により受取られるようになっており、インターフェイス114から送受信部に渡されたデータ(例えば金額情報)は、送受信部によって、ネットワーク400を介して外部、例えば、決済装置200に送られるようになっている。
CPU111がコンピュータプログラムを実行することにより、ユーザ端末100内部には、図4で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、ユーザ端末100を本願発明のユーザ端末として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、ユーザ端末100にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
ユーザ端末100内には、本願発明の機能との関係で、以下のような制御部120が生成され、制御部120内に、主制御部121、表示制御部122、データ入出力部123、ユーザ端末記録部124、暗号化部125が生成される。
制御部120は、以下に説明するような情報処理を実行する。
主制御部121は、制御部120内の全体的な制御を行う。例えば、主制御部121は、追って詳述するデータ入出力部123から受取ったデータに基づいて表示制御部122の制御を行う。
主制御部121は、データ入出力部123から、入力装置102から入力された開始情報、金額情報、支払い情報、譲渡情報、及びユーザIDを受取る場合があり、それらを受取ったとき、後述するような処理をそれぞれ行うようになっている。例えば、開始情報を受取った場合、主制御部121は、金額情報等の仮想貨幣データを生成するために必要なデータの入力をユーザに促すための表示をディスプレイ101にさせるための処理を実行すべく表示制御部122に指示を送るようになっている。金額情報を受取った場合、主制御部121は、それをそのまま、或いはそれに必要に応じて金額情報以外のデータを付加して後述するような元データを生成するようになっている。主制御部121は生成した元データを暗号化部125に送るようになっている。また、主制御部121は金額情報及びユーザIDをデータ入出力部123に送るようになっている。金額情報及びユーザIDは、入出力部123から、送受信部、ネットワーク400を介して決済装置200へと送られるようになっている。決済装置200に送られる金額情報及びユーザIDには、更に主制御部121が生成した元データを特定するために必要となるデータが付加されていても良い。かかるデータの用途については後述する。
主制御部121は、追って説明するデータ入出力部123から、これも追って説明する許可情報を受取る場合がある。それを受取った場合、主制御部121は、元データを暗号化せよとの指示を暗号化部125に送るようになっている。かかる指示は上述する元データとともに暗号化部125に送られるようになっていてもよく、これには限られないがこの実施形態ではそうされている。
主制御部121は、後述するように、暗号化部125から仮想貨幣暗号化データを受取る場合がある。これを受取った主制御部121は、それをそのまま仮想貨幣データとするか、或いはそれに必要に応じて仮想貨幣暗号化データ以外のデータを付加して仮想貨幣データを生成するようになっている。生成された仮想貨幣データは、ユーザ端末記録部124に送られるか、或いは仮想貨幣データに基づく後述する表示をディスプレイ101に行わせるための指示を表示制御部122に送るようになっている。主制御部121は後述するようにユーザ端末記録部124から仮想貨幣データを読み出す場合がある。それを読み出した主制御部121は仮想貨幣データに基づく表示をディスプレイ101に行わせるべく表示制御部122に指示を送るようになっており、また場合によってはそれをデータ入出力部123に送るようになっている。
表示制御部122は、主制御部121の制御を受けつつ、ディスプレイ101に表示される画像の制御を行う。ディスプレイ101には、表示制御部122から送られたデータに基づく画像が表示される。主制御部121は、表示制御部122に対して、ディスプレイ101にどのような画像を表示させるべきかという指示を送る。
データ入出力部123は、制御部120へのデータの入出力を行うものである。具体的には、データ入出力部123は、入力装置102からの入力を受取るようになっている。入力装置102からデータ入出力部123へ入力されるのは、例えば、開始情報、金額情報、支払い情報、譲渡情報、及びユーザIDである。これらはデータ入出力部123から主制御部121に送られるようになっている。
また、データ入出力部123は、送受信部から、決済装置200等からネットワーク400を介して送られて来た許可情報を受取るようになっている。データ入出力部123は、受取った許可情報を、主制御部121に送るようになっている。
また、データ入出力部123は主制御部121から、金額情報及びユーザIDを受取る場合がある。これを受取ったデータ入出力部123は、金額情報及びユーザIDを送受信部に送るようになっており、金額情報及びユーザIDは送受信部からネットワーク400を介して決済端末300へと送られるようになっている。データ入出力部123は主制御部121から、仮想貨幣データを受取る場合がある。これを受取ったデータ入出力部123は、仮想貨幣データを送受信部に送るようになっており、仮想貨幣データは送受信部から例えば他のユーザ端末100や、決済端末300へと送られるようになっている。仮想貨幣データの送信先は、後述するように、入力装置102からの入力にしたがって、主制御部121によって指定される。
ユーザ端末記録部124は、上述したように、主制御部121が生成した仮想貨幣データを主制御部121から受取り、それを記録するようになっている。ハードウェアとして捉えた場合、ユーザ端末記録部124は、RAM113の一部により構成されている。
また、ユーザ端末記録部124に記録されている仮想貨幣データは、後述するようなタイミングで主制御部121により読み出されることがある。
暗号化部125は、上述したように、主制御部121から元データを受取る場合がある。暗号化部125は、主制御部121から元データを受取った場合に、それを暗号化して、仮想貨幣暗号化データに変換する機能を有している。各ユーザ端末100における暗号化部125が実行する暗号化の処理は、異なるものとなるようにされている。暗号化の処理は通常、暗号化のために用いられるアルゴリズム及び鍵によって定義されるから、各ユーザ端末100で実行される暗号化の処理に用いられるアルゴリズム及び鍵は、少なくともその一方が各ユーザ端末100毎にユニークなものとされている。
各ユーザ端末100の暗号化部125で実行される暗号化の処理の詳細については、後述するものとする。
暗号化部125は、生成した仮想貨幣暗号化データを主制御部121へと送るようになっている。
次に、決済装置200について説明する。なお、これには限られないが、この実施形態における決済装置200は、各ユーザ端末100においてある金額に対応する価値を持つ仮想貨幣データを発行して良いか否かについての判定である与信判定と、仮想貨幣データを発行した以外の他の装置(これには限られないがこの実施形態では、ユーザ端末100又は決済端末300)から仮想貨幣データが送られてきた場合に、当該仮想貨幣データに基づく決済を行って良いか否かの判定である決済判定と、を実行する機能を有している。与信判定と決済判定については追って詳しく述べる。
決済装置200は一般的なコンピュータであり、この実施形態ではより詳細には一般的なサーバ装置である。ハードウェア構成としては、従来の決済システムにおける決済装置と同等のもので良い。
決済装置200のハードウェア構成を、図5に示す。
ハードウェアには、CPU211、ROM212、RAM213、インターフェイス214、この実施形態ではHDD(hard disk drive)215である大容量記録媒体が含まれており、これらはバス216によって相互に接続されている。
CPU211は、演算を行う演算装置である。CPU211は、例えば、ROM212に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。なお、ここでいうコンピュータプログラムには、本願発明の決済装置(または、管理装置)としてこの決済装置200を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、決済装置200にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムの決済装置200へのインストールは、メモリカード等の所定の記録媒体を介して行なわれても良いし、インターネットなどのネットワークを介して行なわれても構わない。
ROM212は、CPU211が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ROM212に記録されたコンピュータプログラムは、これに限られず、他の必要なコンピュータプログラムが記録されていても良い。
RAM213は、CPU211が処理を行うために必要なワーク領域を提供する。
インターフェイス214は、バス216で接続されたCPU211やRAM213等と外部との間でデータのやり取りを行うものである。インターフェイス214は、少なくとも送受信部に接続されている。送受信部がネットワーク400から受取ったデータは、インターフェイス214により受取られるようになっており、インターフェイス214から送受信部にわたされたデータは、送受信部によって、ネットワーク400を介して外部、例えば、ユーザ端末100に送られるようになっている。
HDD215は上述のように大容量記録媒体であり、データを記録する。CPU211が後述する処理を実行するために必要なコンピュータプログラムやデータの少なくとも一部は、ROM212でなくHDD215に記録されていてもよいし、その大部分がHDD215に記録されている方が実際的であろう。
CPU211がコンピュータプログラムを実行することにより、決済装置200内部には、図6で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、決済装置200を本願発明の決済装置として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、決済装置200にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
決済装置200内には、本願発明の機能との関係で、以下のような制御部220が生成される。制御部220内には、データ入出力部221、主制御部222、信用情報記録部224B、復号化部225、決済判定部226が生成される。
データ入出力部221は、制御部220へのデータの入出力を行うものである。具体的には、データ入出力部221は、主制御部222から後述する種々のデータを受付けるようになっている。
例えば、データ入出力部221は、主制御部222から許可情報を受付けるようになっている。受取られた許可情報は、データ入出力部221から、送受信部に送られ、ネットワーク400を介してユーザ端末100に送られるようになっている。
データ入出力部221は、また、ネットワーク400を介してユーザ端末100又は決済端末300から送受信部が受取った後述する種々のデータを送受信部から受取り、受取ったそれらデータを主制御部222に送るようになっている。例えば、データ入出力部221は、送受信部から仮想貨幣データ、または金額情報を受取る場合があり、それらのいずれかを受取ったデータ入出力部221はそれらを主制御部222に送るようになっている。
主制御部222は、制御部220内の全体的な制御を行う。例えば、主制御部222は、後述する与信判定の処理を実行するようになっている。また、主制御部222は、後述する決済の処理を行うようになっており、また、復号化部225等に後述するデータを送ることにより、復号化部225に必要な処理を行わせるようになっている。
主制御部222は、上述したように、データ入出力部221から、金額情報を受取る場合がある。それを受取った主制御部222は、与信判定の処理を実行するようになっている。与信判定の処理を実行する場合、主制御部222は、信用情報記録部224Bに記録されているデータを利用してそれを行う。信用情報記録部224Bには、与信判定を行うための各ユーザについてのデータが記録されている。信用情報記録部224Bに記録されているデータの内容と、主制御部222で行われる与信判定の処理の詳細については追って説明することとする。主制御部222は、与信判定の結果、金額情報で特定される金銭的な価値を持つ仮想貨幣データを、その金額情報を送ってきたユーザのユーザ端末100で生成して良いとの判定を行った場合には、許可情報を生成し、逆に、その金額情報を送ってきたユーザのユーザ端末100で生成して良いとの判定を行わなかった場合には、許可情報を生成しないようになっている。なお、この実施形態ではこれには限られないが、許可情報を生成しない場合には、主制御部222は、ユーザ端末100で仮想貨幣データの発行を認めないということをその内容とする、事実上の不許可情報を生成するようになっている。いずれにせよ、許可情報又は不許可情報を生成した場合には、主制御部222はそれを、データ入出力部221へと送るようになっている。なお、主制御部222は、与信判定の結果が否定的である場合には、不許可情報を生成せずにそこで処理を中止しても良い。
主制御部222は、上述したように、データ入出力部221から、仮想貨幣データを受取る場合があり、それを受取った主制御部222は仮想貨幣暗号化データを復号化部225に送るようになっている。なお、この場合に復号化部225に送られるのは、仮想貨幣データに含まれていたデータのうち仮想貨幣暗号化データのみである場合もあるし、仮想貨幣暗号化データ以外のデータも含む例えば仮想貨幣データの全体の場合もある。
主制御部222は、また、決済判定部226から、後述する最終判定データを受取る場合がある。最終判定データは、後述するように、決済を認めること、或いは決済を認めないことのいずれかを示すデータである。主制御部222は、決済を認めることを内容とする後述する肯定的な最終判定データを受取った場合、決済処理を行うようになっている。決済処理は、この実施形態では、仮想貨幣暗号化データを送ってきた決済端末300等への金銭の支払いを認めるための処理である。主制御部222は、どのような決済を行ったかというデータを保持するようになっている。例えば、主制御部222は、誰(どの決済端末300等の管理者等)への幾らの支払いを最終的に許可したのかという情報を、各決済端末300毎に図示せぬ記録媒体に記録するようになっている。他方、決済を認めないことを内容とする後述する否定的な最終判定データを受取った場合、主制御部222は、決済を認めるための処理を行わない。
復号化部225は、上述したように、主制御部222から、仮想貨幣データ(又は仮想貨幣暗号化データ)を受取る場合がある。
復号化部225は仮想貨幣暗号化データを受取った場合、それを復号化して元データに戻す。復号化の処理の詳細については後述する。復号化されたデータは元データであり、それには、少なくとも金額情報が含まれる。復号化部225は、仮想貨幣暗号化データを復号化することができた場合には、元データを決済判定部226に送るようになっている。この場合、復号化部225から決済判定部226に送られる元データには、仮想貨幣データに含まれていた仮想貨幣暗号化データ以外のデータが含まれている場合もある。復号化部225から決済判定部226に元データが送られたということは、即ち復号化部225で仮想貨幣暗号化データを復号化できたという事実を示している。
他方、復号化部225は、仮想貨幣暗号化データの復号化を行えなかった場合には、その旨を決済判定部226に通知するようになっている。
決済判定部226には、上述したように、復号化部225から、元データが送られてくる場合がある。これを受取った場合、決済判定部226は、決済を認めて良いか否かについての判定である決済判定を行う。その結果、決済判定部226は、決済を認めること、及び決済を認めないことのいずれかの内容を含むデータである最終判定データを生成する。最終判定データをどのようにして決済判定部226が生成するかについては後述するものとする。
決済判定部226にはまた、上述したように、復号化部225から、仮想貨幣暗号化データの復号化を行えなかった旨の通知が届く場合がある。その通知を受け取った場合決済判定部226は、決済を認めないことを内容として含む最終判定データを生成するようになっている。
いずれにせよ、最終判定データを生成したら、決済判定部226はそれを主制御部222に対して送るようになっている。
次に、決済端末300について説明する。
決済端末300は、クレジットカードを用いた決済システムで用いられていた決済端末と同様の役割を担うものであり、一般的なコンピュータである。例えば、決済端末300はタブレットにより構成されているものとする。
図2と同様であるからその外観の図示を省略するが、決済端末300は、図示を省略のタッチパネル式のディスプレイを備えている。結果として、決済端末300は、ディスプレイと、入力装置を備えることになる。もっとも、これに代えて、決済端末300は、タッチパネル式でないディスプレイと、テンキー、キーボード、マウス、トラックボール等の公知又は周知の入力装置のうちから必要なものを選択してなる入力装置とを備えていても、換言すれば、ディスプレイと入力装置とを別個のものとして備えていても良い。とりあえず、この実施形態の決済システムはタッチパネル式のディスプレイを備えるものとして以下、話を進める。
また、決済端末300は図示せぬカメラを備えている。カメラは、外付けでも良いが、タブレットである決済端末300は、公知のような内蔵のカメラを備えている。
決済端末300のハードウェア構成を、図7に示す。
ハードウェアには、CPU311、ROM312、RAM313、インターフェイス314が含まれており、これらはバス316によって相互に接続されている。
CPU311は、演算を行う演算装置である。CPU311は、例えば、ROM312に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。このコンピュータプログラムは、決済端末300にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムの決済端末300へのインストールは、メモリカード等の所定の記録媒体を介して行われても良いし、LAN或いはインターネットなどのネットワークを介して行なわれても構わない。
ROM312は、CPU311が後述する処理を実行するために必要な、言い換えれば、このコンピュータを上述した他の装置として機能させるためのコンピュータプログラムやデータを記録している。ROM312に記録されたコンピュータプログラムは、これに限られず、他の必要なコンピュータプログラムが記録されていても良い。
RAM313は、CPU311が処理を行うために必要なワーク領域を提供する。
インターフェイス314は、バス316で接続されたCPU311やRAM313等と外部との間でデータのやり取りを行うものである。インターフェイス314は、少なくとも図示を省略の送受信部に接続されている。送受信部はネットワーク400に対して接続されており、ネットワーク400を介したデータの送信と受信の双方を行えるようになっている。インターフェイス314から送受信部に渡されたデータは、送受信部によって、ネットワーク400を介して外部、例えば、決済装置200に送られるようになっている。インターフェイス314から出力され送受信部から送信されるデータは、この実施形態との関係では主に仮想貨幣データである。
インターフェイス314は、また、タッチパネル式ディスプレイに設けられた入力装置に接続されており、入力装置からの入力を受付けるようになっている。インターフェイス314は、タッチパネル式ディスプレイに接続されており、タッチパネル式のディスプレイに後述する画像を表示するためのデータを送るようになっている。入力装置からインターフェイス314に入力されるデータは、例えば、決済の開始を指示するデータ、後述する決済端末ID等である。
インターフェイス314は、また、上述するカメラと接続されている。カメラからインターフェイス314に入力されるのは、仮想貨幣データを特定するための画像を含む画像データである。若干正確性を欠くが、事実上、インターフェイス314には、カメラから仮想貨幣データが入力される。
ハードウェアに大容量記録媒体が含まれて良いこと、それが存在する場合の機能は既に述べたとおりである。
CPU311がコンピュータプログラムを実行することにより、決済端末300内部には、図8で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、決済端末300を上述の他の装置として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、決済端末300にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
決済端末300内には、本願発明の機能との関係で、以下のような制御部320が生成され、制御部320内に、主制御部321、表示制御部322、データ入出力部323が生成される。
制御部320は、以下に説明するような情報処理を実行する。
主制御部321は、制御部320内の全体的な制御を行う。例えば、主制御部321は、追って詳述するデータ入出力部323から受取ったデータに基づいて表示制御部322の制御を行う。
主制御部321は、追って説明するデータ入出力部323から、仮想貨幣データを受取るようになっている。各決済端末300の主制御部321は各決済端末300毎にユニークな決済端末IDを記録している。主制御部321は、受取った仮想貨幣データに決済端末IDのデータを付してデータ入出力部323に送るようになっている。
表示制御部322は、主制御部321の制御を受けつつ、タッチパネル式とされた上述のディスプレイに表示される画像の制御を行う。ディスプレイには、表示制御部322から送られたデータに基づく画像が表示される。主制御部321は、表示制御部322に対して、ディスプレイにどのような画像を表示させるべきかという指示を送る。
データ入出力部323は、制御部320へのデータの入出力を行うものである。
具体的には、データ入出力部323は、入力装置からの入力を受取り、それを主制御部321に送るようになっている。入力装置からデータ入出力部323へ入力されるデータの例は、決済の開始を指示するデータである。また、上述の決済端末IDが入力される場合もある。また、データ入出力部323には、カメラで撮像された仮想貨幣データを含む画像データが入力される場合もある。
また、データ入出力部323は、図示を省略の送受信部に対して、データを出力するようになっている。送受信部に対して出力されるデータは、主制御部323から送られてきた仮想貨幣データである。この仮想貨幣データには、決済端末IDが付されている。送受信部に対して出力されたデータは、送受信部から決済装置200に対してネットワーク400を介して送信される。
次に以上のような決済システムの使用方法、及び動作について図9を参照しながら説明する。
まず、かかるシステムを使用するための準備として、各ユーザ端末100において、ユーザIDの設定を行うとともに、各決済端末300において、決済端末IDの設定を行う。
ユーザIDは、各ユーザ端末100を識別するための、各ユーザ端末100においてユニークなIDであり、一般的には英字、数字、記号の羅列である。決済端末IDも同様である。多数のユーザIDが重複しないようにするために、各ユーザ端末100に対するユーザIDを決済装置200(或いはその管理者等)が発行するようにしてもよい。決済端末IDについても同様である。或いは、ユーザ端末100のハードウェアに出荷時から埋め込まれている個体識別番号をユーザIDとして利用することもできる。決済端末IDについても同様である。
各ユーザ装置100の管理者は、その入力装置102を操作することにより当該ユーザ装置100についてのユーザIDの入力を行う。なお、個体識別番号をユーザIDとして用いる場合には、かかる入力は不要である。ユーザIDのデータは、入力装置102から、インターフェイス114に送られ、インターフェイス114から制御部120に送られる。制御部120のデータ入出力部123はこれを受取り、主制御部121に送る。主制御部121は、それを保持し、或いは主制御部121内に記録してもよい。
他方、主制御部121は、ユーザIDのデータをデータ入出力部123へと送る。ユーザIDのデータは、そこから送受信部へと送られ、ネットワーク400を介して決済装置200へと送られる。
決済装置200は、その送受信部でユーザIDのデータを受取る。ユーザIDのデータは、送受信部からインターフェイス214に送られ、インターフェイス214から制御部220に送られる。制御部220のデータ入出力部221はこれを受取り、主制御部222に送る。主制御部222は、それを保持する、或いは主制御部222内に記録する。この処理をすべてのユーザ端末100が行うことにより、主制御部222は、すべてのユーザ端末100のリストを持つことになる。かかるリストは、誰(どのユーザ装置100の所有者)のために仮想貨幣データを生成するのか、ということを決済装置200が特定するために用いられる。
各決済端末300の管理者は、その入力装置を操作することにより当該決済端末300についての決済端末IDの入力を行う。決済端末IDのデータは、入力装置から、インターフェイス314に送られ、インターフェイス314から制御部320に送られる。制御部320のデータ入出力部323はこれを受取り、主制御部321に送る。主制御部321は、それを保持する、或いは主制御部321内に記録する。
他方、主制御部321は、決済端末IDのデータをデータ入出力部323へと送る。決済端末IDのデータは、そこから送受信部へと送られ、ネットワーク400を介して決済装置200へと送られる。
決済装置200は、その送受信部で決済端末IDのデータを受取る。決済端末IDのデータは、送受信部からインターフェイス214に送られ、インターフェイス214から制御部220に送られる。制御部220のデータ入出力部221はこれを受取り、主制御部222に送る。主制御部222は、それを保持する、或いは主制御部222内に記録する。この処理をすべての決済装置200が行うことにより、主制御部222は、すべての決済端末300のリストを持つことになる。かかるリストは、誰(どの決済端末300の管理者)に対しての支払い(決済)を認めるか、ということを決済装置200が特定するために用いられる。
まず、仮想貨幣データが生成される。
これには限られないが、この実施形態では、仮想貨幣データの生成は、開始情報をユーザが自らのユーザ端末100に入力することから始まる(S911)。
ユーザが開始情報の入力を行う場合、例えば、ユーザは、ディスプレイ101上に表示されている図示を省略のアイコンにタッチすればよい。そうすると、その操作内容により開始情報が生成され、生成された開始情報が、入力装置102からインターフェイス114、データ入出力部123を介して主制御部121に送られる。
開始情報を受取ると、主制御部121は、表示制御部122に対して、ユーザID等の入力をユーザに促すような画像をディスプレイ101に表示せよとの指示を送る。この指示を受付けた表示制御部122は、ディスプレイ101に、例えば、図10(A)の如き、ユーザに対して、ユーザIDと、ユーザがこれから発行しようとする仮想貨幣データに持たせる金銭的な価値を特定するための金額(例えば、他人に支払を行おうとする該当金額)と、の入力を促す画像を表示する。ユーザは、ディスプレイ101上のユーザIDと示された部分の右側の矩形の枠内にユーザIDを、金額(円)と示された部分の右側の矩形の枠内に上述の金額をそれぞれ入力する(S912)。ユーザが入力したユーザIDと金額を特定するための情報である金額情報とについてのデータは、入力装置102からインターフェイス114を介してデータ入出力部123に入力され、主制御部121に送られる。ユーザが入力したユーザIDと金額情報は、入力中も含めて、主制御部121に制御された表示制御部122の制御によってディスプレイ101に表示されるから、ユーザは、ディスプレイ101を確認しながら、ユーザIDと金額情報との入力を行うことができる。図10(B)に示した例によれば、ユーザは、この決済システムを用いて、25000円の支払いを行おうとしている。
ユーザIDと金額情報の入力が終わったら、ユーザは、ディスプレイ101に表示された「決定」と書かれたボタンをクリックする。
開始情報の入力後に入力すべきデータは、この実施形態では、上述のようにユーザIDと金額情報である。もっともユーザIDは、ユーザが仮想貨幣データをユーザ端末100で生成する度に入力する必要はなく、例えば、主制御部121に予め記録しておくことにより、仮想貨幣データを生成する度のユーザIDの入力を省略することも可能である。また、ユーザIDと金額情報とに加えて、更に他の情報をユーザが入力することを必須とすることも可能である。
「決定」と書かれたボタンをユーザがクリックすると、ユーザIDと金額情報とが、データ入出力部123から主制御部121に送られる。
主制御部121は、ユーザIDと金額情報とを受取ると、それらをデータ入出力部123へと送る。ユーザIDと金額情報は、送受信部からネットワーク400を介して、決済装置200に送られる(S913)。
なお、以後もそうであるが、この実施形態において、ネットワーク400を介して行われる通信はすべて、暗号化通信であってもよい。かかる暗号化はもちろん、後述する暗号化部125で実行される暗号化とは別個のものである。暗号化通信のための暗号化、及び復号化に用いられる技術は公知、或いは周知のものとすることができる。
決済装置200は、その送受信部でユーザIDと金額情報とを受取る(S921)。送受信部はそれらユーザIDと金額情報とをデータ入出力部221に送り、データ入出力部221はそのデータを主制御部222に送る。
主制御部222は、ユーザIDで特定されるユーザ端末100を所持するユーザが、金額情報で特定される金額の金銭的な価値を持つ仮想貨幣データを生成して良いか否かの判定である与信判定を行う(S922)。後述するように、特に問題なければ、決済装置200はユーザ端末100に対して仮想貨幣データの発行を許可する許可情報を送信することになるが、仮想貨幣データは金銭的な価値のあるデータなのであるから、そのような仮想貨幣データをユーザIDと金額情報とを送ってきたユーザが発行して良いか否かについて、予め判定を行うのである。かかる与信判定を、仮想貨幣データの発行をユーザ端末100が行う前に決済装置200が行うことにより、その後にユーザ端末100で発行される仮想貨幣データの信用力が向上する。
これには限られないが、この実施形態における主制御部222は、与信判定を行う場合、信用情報記録部224Bに記録されているデータを用いる。これには限られないが、この実施形態における信用情報記録部224Bには、各ユーザについての入金口座の残高が記録されている。例えば、入金口座は、決済装置200の管理者等の管理下にあり、各ユーザの入金口座には各ユーザから決済装置200の管理者等が預かった金銭がプールされている。入金口座は、各ユーザが持つ銀行口座であっても構わない。各ユーザの入金口座は、図11に示したように、ユーザIDと紐付けられている。各ユーザの入金口座の残高は、各ユーザが予め決済装置200の管理者等に支払った(複数回の場合もある)金額から、後述したようにして信用情報を発生させるために使用された金額を除した金額とされるようになっている。図11によれば、ユーザIDがd2af1apfaであるユーザの入金口座の残高は100000円である。ユーザIDに紐付けられているこの入金口座の残高を主制御部222は、信用情報記録部224Bから読み出す。
主制御部222は、例えば、金額情報で特定される金額と読み出された入金口座残高との大小を比較することにより与信判定を行う。例えば、金額情報で特定される金額の方がその時点における入金口座の残高よりも小さい場合に、主制御部222は与信を認めるようにすることができる。主制御部222は、与信を認めた場合には、例えば、その入金口座の残高から金額情報で特定される金額(この実施形態であれば25000円)を除して、その除した金額を決済装置200の管理者等の管理する口座に移す。そうすることにより、決済装置200の管理者等は、その金額情報で特定される金額の支払を追って行うことができるようになるため、或いは支払の責任を負うことができるようになるため、決済装置200の管理者が追って必ず支払いを行う責任を追うような仕組みづくりを行うか否かはさておき、その金額情報で特定される価値を有することになる、後述するようにして生成される仮想貨幣データは、その信頼性が極めて高いものとなる。この場合の入金口座に入れられていた金額の金銭、或いはそこから決済装置200の管理者等の口座に移された金銭は、仮想貨幣データに対するデポジット或いは担保の如き性格を持つことになる。
なお、主制御部222が、金額情報で特定される金額の方がその時点における入金口座残高よりも小さい場合に与信を認めるようにするという与信の判定方法はあくまでも一例であり、例えば、金額情報で特定される金額の8割とか5割の金額がその時点における入金口座の残高よりも小さい場合に与信を認めるとか、他のルールを定めることももちろん可能である。例えば、金額情報で特定される金額の8割の金額がその時点における入金口座の残高よりも小さい場合に与信を認めるとした場合には、主制御部222はその8割の金額を入金口座の残高から除することもできるし、金額情報で特定される金額そのものを入金口座の残高から除することもできる。また、仮想貨幣データを生成する場合によって(例えば、時期やユーザの別によって)異なるルールを適用することも可能である。
或いは、決済装置200は、ユーザ端末100が開始情報を決済装置200に送った場合に、それを送ってきたユーザ端末100を操作するユーザに対して開始情報に含めて送信してきた金額情報で特定される金額(或いはその8割とか、5割とかのその金額の一部の金額)の支払いを促すようになっているとともに、その金額をユーザが、例えばユーザ端末100からのクレジットカードによる支払い(かかるクレジットカードのオンラインによる支払は、公知或いは周知である)により決済装置200の管理者に支払ったことが確認された場合に、決済装置200の主制御部222がユーザの与信が認められると判定するようになっていても良い。この場合においても、決済装置200の管理者等の口座には、上述の例の場合と同様に、デポジット或いは担保としての性質を持つ金銭が蓄積されることになる。
かかる与信判定は実際の金銭と紐付けず、クレジットカード会社の会員になるための審査で行われるように、職業、職歴、勤務先、年収、資産状況、年齢、家族構成、持ち家の有無等のより広範な信用にしたがって行われても良い。
いずれにせよ、主制御部222は、ユーザの与信が認められた場合には、許可情報を生成する。
主制御部222は、生成した許可情報を、データ入出力部221に送る。データ入出力部221は、許可情報を、送受信部に送り、ネットワーク400を介してユーザ端末100に送る(S923)。
ユーザ端末100は、その送受信部で許可情報を受取る(S914)。送受信部は許可情報をデータ入出力部123に送り、データ入出力部123はそれを主制御部121に送る。
許可情報を受取ると主制御部121は、先に受け取っていたユーザIDと金額情報とに基いて元データを生成する(S915)。元データには金額情報が含まれる。これには限られないが、この実施形態では、主制御部121は、金額情報とユーザIDとを単に繋げたものを元データとする。なお、元データには、金額情報が必須であり、ユーザIDが含まれていても良いが、更に他の情報が含まれていても良い。例えば、ユーザが開始情報の入力を行った日時についての時刻情報、ユーザが開始情報を入力したときのユーザ端末100の位置(例えば、スマートフォンであれば標準的に搭載されているGPS(Global Positioning System)の機能を用いれば、ユーザ端末100の位置情報を検出することは容易である。)についての位置情報等を元データに含めることが可能である。また、ユーザが設定したパスワードや、性別、電話番号等のユーザの属性に関する情報を元データに含めることもできる。とりあえずこの実施形態では、元データは上述の如きものであるとする。
元データは主制御部121から、暗号化部125に送られる。なお、元データの生成は、元データの元となるユーザID及び金額情報を主制御部121が受取った状態であればいつでも主制御部121は実行しうる。したがって、決済装置200から送られて来た許可情報を主制御部121が受取る前であっても、もっと言えば、ユーザIDと金額情報の入力に関するS912の処理が実行された直後であっても、主制御部121は元データの生成に関するS915の処理を実行しうる。
上述したように、決済装置200からユーザ端末100に不許可情報が送られてくる場合がある。この場合には、ユーザ端末100の主制御部121は元データの生成を行わず、仮に不許可情報の入手前に先に元データを生成していたとしても、それを暗号化部125に送ることがない。つまり、不許可情報を受取ったユーザ端末100では、後述するような仮想貨幣暗号化データも仮想貨幣データも生成されることがない。不許可情報には、不許可の理由を示す情報が含まれていても良い。かかる情報に基づく不許可の理由を示す画像がユーザ端末100のディスプレイ101に表示されることにより、ユーザが、例えば自己の入金口座の残高不足等の不許可の理由をディスプレイ101を目視することで確認できるようになっていても構わない。
暗号化部125は、主制御部121から元データを受取ると、元データを暗号化して仮想貨幣暗号化データとする(S916)。
上述したように、各ユーザ端末100の暗号化部125は、それぞれ異なる方法で暗号化の処理を実行するようになっている。とはいえ、これには限られないがこの実施形態における各ユーザ端末100の暗号化部125で実行される暗号化の方法は、固定された1つの方法である。各ユーザ端末100で異なる暗号化の処理を実行するため、これには限られないがこの実施形態では、各ユーザ端末100の暗号化部125で実行される暗号化の処理に用いられるアルゴリズムは同一とされているものの、暗号化の処理に用いられる鍵が、それぞれ異なるものとされている。
暗号化部125は、そのアルゴリズムと鍵を用いて、主制御部121から受取った元データを暗号化して、仮想貨幣暗号化データに変換する。
生成された仮想貨幣暗号化データを、暗号化部125は主制御部121に送る。
主制御部121は、かかる仮想貨幣暗号化データに基いて仮想貨幣データを生成する(S917)。
主制御部121は、仮想貨幣暗号化データをそのまま仮想貨幣データとする場合もあるが、この実施形態では、仮想貨幣暗号化データに平文のユーザIDを付すことで仮想貨幣データとする。つまり、この実施形態では、例えば、その先頭に付された平文のユーザIDと、ユーザIDの後に繋げられた仮想貨幣暗号化データと、を組合せたものが仮想貨幣データとなる。仮想貨幣データは、ユーザが支払のために用いる金銭的な価値を持つデータであり、仮想貨幣暗号化データはその本体となる。
仮想貨幣データは、そのままデータ入出力部123に送られても良いが、一般的には主制御部121からユーザ端末記録部124に送られ、そこに記録される。
これにて、仮想貨幣データの生成或いは発行が一先ず終了する。
仮想貨幣データが発行されたら、ユーザは、支払いを行う相手側である、例えば店舗の店員が管理する決済端末300に対して、ユーザ端末100から仮想貨幣データを引き渡す(S918)。かかる仮想貨幣データの引き渡しは、仮想貨幣データがユーザ端末100で生成された直後に行われても良いし、しばらくの時間、例えば、数日から数ヶ月経ってから行われても良い。かかる仮想貨幣データの引き渡しをいつ行うかはユーザの自由である。
これには限られないがこの実施形態では、仮想貨幣データの引き渡しは、ユーザ端末100のディスプレイ101に、図12に示されたように表示されている二次元バーコードを、決済端末300が備えるカメラで撮像することによって行われる。ディスプレイ101へ表示された二次元バーコードは、仮想貨幣データを再構築するための情報を含んでいる。かかる二次元バーコードのデータは、仮想貨幣データをユーザ端末記録部124から読み出した主制御部121が生成する。かかるデータは、主制御部121から表示制御部122に送られる。二次元バーコードについてのデータを受取った表示制御部122は、そのデータに基いてディスプレイ101に二次元バーコードの画像を表示させるように、ディスプレイ101を制御する。
カメラで撮像された画像のデータは、決済端末300のカメラからインターフェイス314を介して、データ入出力部323に送られ、そこから主制御部321に送られる。主制御部321は、その画像データに写った二次元バーコードから、仮想貨幣暗号化データを生成(再構築)する。これにより、決済端末300は、ユーザ端末100から仮想貨幣データを受領する(S931)。
なお、この実施形態では、二次元バーコードの読取りによってユーザ端末100から決済端末300へと仮想貨幣データの引き渡しが行われるものとしているが、二次元バーコードはもちろん一次元バーコードその他の識別子によってそれを実現することとしてもよい。更には、そのような識別子の読取りによってユーザ端末100から決済端末300へと仮想貨幣データの引き渡しを実現する必要もなく、ブルートゥース(商標)その他の通信によって仮想貨幣データ自体を送信することにより、それを実現してもよい。極端なことを言えばユーザが口頭で決済端末300の管理者等に伝えることにより、或いは仮想貨幣データをディスプレイ101に表示し決済端末300の管理者等に見せることにより、それを実現しても良い。これらの場合は、例えば入力装置による手入力で決済端末300の管理者等は、決済端末300に仮想貨幣データを入力することになろう。
いずれにせよ、主制御部321は一時的に、例えば、少なくともその仮想貨幣データによる支払いが終了するまで、仮想貨幣データを記録する。かかる記録は、ハードウェアとしては、RAM313上に行われる。
ユーザから仮想貨幣データを受領したら、決済端末300の管理者等は、決済端末300の入力装置を操作して、仮想貨幣データを決済装置200に送るための操作を行う。
かかる操作を行うと、入力装置から、データ入出力部323を介して主制御部321に、その操作内容が送られる。かかる入力がなされると、主制御部321は、仮想貨幣データを、データ入出力部323に対して送る。データ入出力部323は、それらデータを、送受信部に送り、送受信部はそれらデータを、ネットワーク400を介して決済装置200に送る(S932)。このとき、決済端末300は、仮想貨幣データとともに決済端末IDをも決済装置200に送る。以下の説明の場合でも、決済を受けようとする決済端末300は仮想貨幣データとともに決済端末IDを決済装置200に送る。
決済装置200は、その送受信部で、決済端末IDのデータと仮想貨幣データとを受取る(S924)。決済端末IDの付された仮想貨幣データは、インターフェイス214、データ入出力部221を介して主制御部222に送られる。
それらを受取った主制御部222は、決済端末IDのデータと仮想貨幣データとを、復号化部225に送る。
復号化部225は、仮想貨幣データに含まれていた仮想貨幣暗号化データを復号化する(S925)。
復号化部225の処理は、その仮想貨幣暗号化データがあるユーザ端末100の暗号化部125で暗号化されたときに実行された元データに対する変換とは逆の変換である逆変換として行われる。上述したように各ユーザ端末100の暗号化部125は共通のアルゴリズムを用いて暗号化を行うものの、それぞれ異なる鍵を用いて暗号化の変換を行うようになっている。そして、復号化部225は、各ユーザ端末100の暗号化部125で暗号化の処理が実行されるときに使用されるアルゴリズムを把握をしており、当該アルゴリズムを用いて復号化の処理を行うようになっている。また、復号化部225は、すべてのユーザ端末100の暗号化部125で使用される、それぞれ異なるものとされた鍵をすべて把握しており、その鍵をすべて、その鍵とその鍵が使用される暗号化部125を有するユーザ端末100のユーザIDと紐付けた状態で持っている。
各復号化部225は、各ユーザ端末100の暗号化部125で暗号化の処理が実行されるときに使用されるアルゴリズムを用いて復号化するのであるから、後はこれから復号化しようとしている仮想貨幣暗号化データが暗号化されたときに用いられた鍵を特定することができれば、或いはその鍵を持っているユーザ端末100を特定できれば、仮想貨幣暗号化データに改竄等がなければ、理論上、1回の試みで、その仮想貨幣暗号化データを復号化することが可能となるはずである。
上述したように、仮想貨幣データにユーザIDが平文の状態で含まれている。復号化部225は、これから復号化しようとしている仮想貨幣暗号化データとともに仮想貨幣データに含まれていたユーザIDを抽出し、そのユーザIDと紐付けられた状態で自らが保持していた鍵を、仮想貨幣暗号化データを復号化するために用いる。それにより、仮想貨幣暗号化データがユーザ端末100の暗号化部125で暗号化されたときに使用されたアルゴリズムと鍵が揃うから、復号化部225は、仮想貨幣暗号化データを復号化することができる。これにより、仮想貨幣暗号化データは、平文の元データに戻る。
復号化部225は、元データを、仮想貨幣データに平文で含まれていたユーザID及び決済端末IDのデータとともに決済判定部226に送る。なお、この実施形態では、復号化部225で仮想貨幣暗号化データを復号化できたという事実により、仮想貨幣暗号化データが、ひいてはそれを含んでいた仮想貨幣データが真正なものであるとの仮の判定或いは事実上の判定を行えたということとなる。
他方、仮想貨幣暗号化データの復号化を行えなかった場合には、復号化部225からその旨の情報が決済判定部226に送られる。
決済判定部226は、元データ、ユーザID、及び決済端末IDか、または仮想貨幣暗号化データの復号化を行えなかった旨の情報を、復号化部225から受取る。
それらのうち、元データ、ユーザID、及び決済端末IDを受取った場合、決済判定部226は、決済判定を実行する(S926)。
上述したようにこの実施形態における元データは、金額情報とユーザIDとを組み合わせたものとなっている。他方、決済判定部226には、仮想貨幣データに元々含まれていたユーザIDも送られてきている。決済判定部226は、これら2つのユーザIDを比較する。そして、両者が一致した場合には、仮想貨幣暗号化データは真正であると決済判定部226は判定する。これは、復号化部225で実行された復号化が正しかったということの検証を行うに等しい。
もっとも、仮想貨幣暗号化データが真性であるということの確認は、事実上、復号化部225で仮想貨幣暗号化データが復号化できたという事実により行われているのであるから、ここでの仮想貨幣暗号化データの真正性の確認は省略されてもかまわない。
仮想貨幣暗号化データが真正であると決済判定部226が判定した場合には、決済判定部226は金額情報によって特定されている金額の支払いを認めるという肯定的な情報を示す最終判定データを生成する。
他方、決済判定部226が復号化部225から受取ったのが仮想貨幣暗号化データの復号化を行えなかった旨の情報であった場合、又は2つのユーザIDが一致しなかったために仮想貨幣暗号化データが真正であるとの判定が行われなかった場合には、決済判定部226は、金額情報によって特定されている金額の支払いを認めないという否定的な情報を示す最終判定データを生成する。
いずれにせよ、生成された最終判定データは、決済判定部226から主制御部222に送られる。
主制御部222は、最終判定データを受取り次の処理を行う。
最終判定データが肯定的なものであった場合、主制御部222は、最終判定データによって特定される金額の決済端末300の管理者への支払いの処理を実行する。決済処理は、仮想貨幣暗号化データを送ってきた決済端末300への金銭の支払いを認めるための処理である。この実施形態では、主制御部222は、どのような決済を行ったかというデータを保持するようになっている。例えば、主制御部222は、誰(どの決済端末300の管理者等)への幾らの支払いを最終的に許可したのかという情報を、各決済端末300毎に区別して、図示せぬ記録媒体に記録するようになっている。これらデータは、例えば、決済端末300の管理者等が指定した銀行口座が存在する銀行に送られ、その結果、例えば決済装置200の管理者から(或いは、その仮想貨幣データを使用したユーザの指定した銀行口座等から)決済端末300の管理者等へと、金額情報で特定された金額の支払いが行われる。
最終判定データが肯定的なものであった場合、主制御部222は、決済が行われたこと、及びその金額の情報を少なくとも含むデータである肯定的な判定結果データを生成する。
他方、最終判定データが否定的なものであった場合、主制御部222は決済処理を行わない。また、主制御部222は、決済が行われなかったという情報を少なくとも含むデータである否定的な判定結果データを生成する。
いずれにせよ、判定結果データは、主制御部222から、データ入出力部221を介して送受信部に送られ、ネットワーク400を介して、決済端末300に送信される(S927)。決済端末300に対する判定結果データの送信は省略することも可能であるが、通常は行われるであろう。
判定結果データは、決済端末300の送受信部によって受取られる(S933)。
送受信部によって受取られた判定結果データは、これまでの場合と同様に、主制御部321に送られる。
主制御部321は、表示制御部322に対して、判定結果データに応じた表示をディスプレイに行わせろとの指示を行い、その結果、表示制御部322は、ディスプレイに判定結果データに応じた表示を行わせる(S934)。その表示は、図示を省略するが、例えば、判定結果データが肯定的なものであった場合には、決済が認められたこと、及びその金額となり、判定結果データが否定的なものであった場合には、決済が認められなかったことであろう。後者の場合には、判定結果データに決済が認められなかった理由を特定する情報を含めることにより、決済が認められなかった理由がディスプレイ上に表示されるようにした方が良いであろう。
なお、判定結果データの送信をユーザ端末100に対しても行い、ユーザ端末100でもそれに基づく画像のディスプレイ101での表示を行うようにすることも可能である。
以上で、仮想貨幣データを使用しての、ユーザから決済端末300の管理者への支払いの処理が終了する。
なお、以上での説明では、自己のユーザ端末100を用いてユーザが仮想貨幣データにより支払いを行う先である、仮想貨幣データにより金銭的な価値を受取る受領者は、決済端末300の管理者等であった。しかしながら、あるユーザ端末100を用いての仮想貨幣データによる支払いの受領者を、他のユーザ端末100のユーザとすることも可能である。
その場合には、支払いを受けるユーザの所有するユーザ端末100は、決済端末300にインストールされたのと同様のコンピュータプログラムをインストールすることにより、決済端末300が有していたのと同様の機能ブロックを有するものとなっていれば良い。ユーザ端末100がスマートフォンであれば、コンピュータを含んでいるのであるから、それは可能である。また、決済端末300はハードウェアとしてカメラを備えていたが、ユーザ端末100がスマートフォンであれば常識的にカメラを持つのであるから、その条件もユーザ端末100は満足する。
また、この実施形態では、ユーザ端末100から決済端末300への仮想貨幣データの受け渡しはネットワーク400を介さずに行われるものとなっていた。しかしながら、かかる受け渡しがユーザ端末100から決済端末300への仮想貨幣データの受け渡しであるか、ユーザ端末100間での仮想貨幣データの受け渡しであるかを問わず、かかる受け渡しをネットワーク400を介しての仮想貨幣データの送受信(場合によっては、仮想貨幣データの二重譲渡を防ぐための決済装置200を介しての送受信)によって実現しても良い。
また、2つのユーザ端末100間、ユーザ端末100と決済端末300間、或いは2つの決済端末300間で、決済装置200での決済の処理を伴わずに単に仮想貨幣データを譲渡するようにすることも可能である。その場合には、例えばユーザ端末100間での仮想貨幣データの譲渡が行われる場合であれば、譲渡人たるユーザは自らのユーザ端末へ仮想貨幣データを譲渡するための譲渡情報を入力する。譲渡情報には少なくとも、どの仮想貨幣データを、どのユーザに譲渡するか、という内容が含まれる。譲受人たるユーザの指定は例えば、ユーザIDによって実現することができる。かかる譲渡を、決済装置200を通して行うようにすることにより、仮想貨幣データの二重譲渡の問題を防ぐことができる。譲渡情報は、譲渡人たるユーザが操作するユーザ端末100から、例えば仮想貨幣データとともに、ネットワーク400を介して決済装置200に送られる。決済装置200は、ユーザIDで指定されるユーザ端末100に対して仮想貨幣データを送る。これにより、譲渡人たるユーザのユーザ端末100から譲受人たるユーザのユーザ端末100へと仮想貨幣データが譲渡される、或いは移されることになる。仮想貨幣データは、譲受人たるユーザのユーザ端末100において、その主制御部121によって、ユーザ端末記録部124に記録されることになる。
<変形例1>
変形例1による決済システムは、第1実施形態による決済システムと殆ど同じである。特に、決済端末300の構成、及びそこで実行される処理は、第1実施形態におけるそれらと変わるところがない。
異なるのは、ユーザ端末100及び決済装置200の構成と、それらで実行される処理である。とはいえ、変形例1のユーザ端末100及び決済装置200の構成、及びそれらで実行される処理の大半は、第1実施形態の場合と同じである。
変形例1の決済システムと第1実施形態における決済システムとで異なるのは、そこで使用される仮想貨幣データのデータ構造である。変形例1では、仮想貨幣データは、仮想貨幣暗号化データに、平文のユーザIDを加えたものであった。他方、変形例1の決済システムで用いられる仮想貨幣データは、仮想貨幣暗号化データそのものであって、平文のユーザIDを含まない。
変形例1のユーザ端末100及び決済装置200と、第1実施形態におけるユーザ端末100及び決済装置200との間には、仮想貨幣データのデータ構造についての上記相違点に基づく相違がある。逆に、それ以外の点については両者の間には特に相違はない。以下、その相違点に着目して変形例1のユーザ端末100及び決済装置200について説明する。特に言及しない点は、相違が無い点である。
まず、変形例1のユーザ端末100について説明する。
第1実施形態のユーザ端末100における主制御部121は、暗号化部125から仮想貨幣暗号化データを受取った場合において、受取ったその仮想貨幣暗号化データに対してユーザIDを付して仮想貨幣データにするようになっていた。それに対して、変形例1のユーザ端末100における主制御部121は、暗号化部125から仮想貨幣暗号化データを受取ったときに、当該仮想貨幣暗号化データに何らの処理も行わず、仮想貨幣暗号化データをそのまま仮想貨幣データとするようになっている。
なお、変形例1においても、各ユーザ端末100の暗号化部125が行う暗号化の処理は、常に固定された1つの方法である。
次に、決済装置200について説明する。
変形例1の決済装置200も、第1実施形態の決済装置200の場合と同様に、例えば、仮想貨幣データをユーザ端末100から受領した決済端末300から仮想貨幣データを受付けるようになっている。
かかる仮想貨幣データは、第1実施形態の場合と同様に復号化部225に送られるようになっている。復号化部225は、仮想貨幣データに含まれるというよりも仮想貨幣データそのものである仮想貨幣暗号化データを復号化するようになっている。仮想貨幣暗号化データを復号化するという点では、変形例1の復号化部225と第1実施形態の復号化部225には変わりはないが、仮想貨幣暗号化データを復号化するために実行される処理が異なっている。
第1実施形態では、上述した通り、復号化部225が仮想貨幣暗号化データを復号化する場合に、復号化の処理を行う際に使用する鍵を、仮想貨幣データに含まれていたユーザIDによって特定していた。しかしながら、変形例1では、上述したように、復号化部225が主制御部121から受取った仮想貨幣データには、ユーザIDが含まれていないので、ユーザIDを用いての鍵の特定を行うことができない。そこで、ユーザIDを用いて復号化の処理のために用いる鍵を特定することにより、1回のみの試みによって、仮想貨幣暗号化データを復号化するという第1実施形態と異なり、変形例1の復号化部225は、複数回の試みによって、仮想貨幣暗号化データの復号化を行う。復号化部225が復号化に用いることができる鍵の数は、ユーザ端末100の数と同数であり、有限である。したがって、極端なことを言えば、復号化部225は、復号化に用いるべき1つのアルゴリズムと、各ユーザ端末100で用いられる鍵のすべてとを組合せて復号化の処理を試みれば、それに改竄等がない限り、上述のアルゴリズムと、多数の鍵のうちの1つとの組合せにより、理論上仮想貨幣暗号化データの復号化を行うことができる。そのような総当り的なアプローチにより、変形例1の復号化部225は、仮想貨幣暗号化データの復号化を行う。
何回目の試みで仮想貨幣暗号化データを復号化できたかにかかわらず、仮想貨幣暗号化データを復号化できた場合の変形例1における以降の処理は、第1実施形態で、1回の試みで仮想貨幣暗号化データの復号化を行えた場合における以降の処理と同じで良い。もちろん、仮想貨幣暗号化データを復号化できた場合には、そこで仮想貨幣暗号化データの復号化の処理を中止して構わない。逆に仮想貨幣暗号化データの復号化を行えない場合には、復号化部225は、ユーザ端末100の数と同数のすべての鍵を用いて仮想貨幣暗号化データの復号化を試みることとなろう。結果的にどの鍵でも仮想貨幣暗号化データの復号化を行えなかった場合における変形例1における以降の処理は、第1実施形態で1回の試みで仮想貨幣暗号化データの復号化を行えなかった場合における以降の処理と同じで良い。
ユーザ端末100で使用される可能性のある鍵のすべてを用いて仮想貨幣暗号化データの復号化を行うというこのような総当り的なアプローチを行うにしても、ユーザ端末100の数が余りに多いと、試みるべき復号化の回数が余りにも多くなり、仮想貨幣暗号化データの復号化に必要となる時間が長くなる。そのような不具合を避けるために、例えば以下のような規則を作ることも可能である。例えば、仮想貨幣暗号化データ、或いは仮想貨幣データの有効期間を制限するのである。
仮想貨幣データに有効期間を定める場合には以下のような手段を採用しうる。
仮想貨幣データに有効期間を定める場合、仮想貨幣データには、仮想貨幣暗号化データに加えて、平文の時刻情報が付される。時刻情報は例えば、ユーザが自己のユーザ端末100に、S911の開始情報の入力を行った日時を特定する情報である。時刻情報は、開始情報の入力を行った日時を特定する情報とする必要はなく、S912のユーザIDと金額情報の入力を行った時刻、或いはS913のユーザID及び金額情報の決済装置200への送信を行った時刻等を特定する情報とすることもできる。これには限られないが、この場合における時刻情報は、S913のユーザID及び金額情報の決済装置200への送信を行った時刻を特定する情報であるとする。要するに、例えて言うなら、仮想貨幣データはタイムスタンプを押されたものとなっている。
ユーザ端末100でそのような仮想貨幣データを生成するには、例えば、ユーザ端末100における主制御部121が、例えば主制御部121が備えている時計の機能によって生成される時刻情報を、暗号化部125から送られて来た仮想貨幣暗号化データに付すようにすれば良い。
他方、決済装置200の機能ブロックは、図13で示されたような過去データ記録部224Aを備えている。過去データ記録部224Aには主制御部222が以下のようなデータを記録する。第1実施形態では、ユーザ端末100は仮想貨幣データの発行の許可を得るために、S913の処理で、決済装置200に対してユーザIDと、金額情報とを送信してきた。第1実施形態における決済装置200は、そのユーザIDと金額情報とを用いて与信判定を行い、ユーザIDと金額情報とには他の使い道はなかった。これに対して、変形例1の決済装置200は、第1実施形態の場合と同様にユーザ端末100からユーザIDと、金額情報とを受取った場合、それを用いて与信判定を行うとともに、受取ったユーザIDを仮想貨幣データの有効期間の管理に利用する。
主制御部222は、第1実施形態の場合と同様の過程によりユーザ端末100からユーザIDと、金額情報とを受取ると、そのうちのユーザIDを過去データ記録部224Aに記録する。決済装置200には、多数のユーザ端末100から仮想貨幣データの発行の許可を得るためにユーザ端末100と金額情報とが送られて来ているから、過去データ記録部224Aには多数のユーザIDが記録されることになる。主制御部222は、ユーザIDを過去データ記録部224Aに記録するときに、そのユーザIDを過去データ記録部224Aに記録した日時、或いはそのユーザIDを決済装置200がネットワーク400を介してユーザ端末100から受取った日時のデータを、ユーザIDに紐付けて書き込む。他方、主制御部222は、過去データ記録部224Aに記録されたユーザIDが、過去データ記録部224Aに記録されてから所定の時間が経過したら消去するようになっている。例えば、決済装置200の主制御部222は、ユーザIDを、そのユーザID及び金額情報を決済装置200がユーザ端末100から受取った日時と紐付けて過去データ記録部224Aに記録するようになっているとともに、過去データ記録部224Aに記録されてから10分が経過したら消去するようになっているとする。そうすると、過去データ記録部224Aには常に、過去10分の間に、決済装置200に対してユーザID及び金額情報を送って来たユーザ端末100のユーザIDが更新されつつ記録されることになる。
この場合における復号化部225は、主制御部222から仮想貨幣データを受取ったときに、まず、仮想貨幣データに含まれている時刻情報で特定されている時刻から現時点で所定の時間(通常、この時間は、過去データ記録部224Aに記録されているユーザIDが、記録されてから消去されるまでの時間間隔と等しくする。)が経過していないか否かを確認する。その結果、上記所定の時間が経過していなかった場合には、復号化部225はその復号化を試みる。他方、上記所定の時間が既に経過していた場合には、復号化部225は、その仮想貨幣データは有効期間外のものであるとして、それに含まれる仮想貨幣暗号化データの復号化を試みない。この場合の仮想貨幣暗号化データの扱いは、仮想貨幣暗号化データの復号化を行えなかった場合と同じとする。
仮想貨幣データに含まれている時刻情報で特定されている時刻から現時点で所定の時間が経過していないか否かを確認した結果、上記所定の時間が経過していなかった場合、復号化部225は、過去データ記録部224Aから、その時点で過去データ記録部224Aに記録されているユーザIDをすべて読み出すとともに、読み出したすべてのユーザIDと紐付けて復号化部225に記録されている鍵を用いて、仮想貨幣データに含まれていた仮想貨幣暗号化データの復号化を試みる。
このような処理によれば、復号化部225が試みる仮想貨幣暗号化データの暗号化の回数は、過去データ記録部224Aから読み出されたユーザIDの数と同数となる。これによれば、試みるべき復号化の回数が余りにも多くなり、仮想貨幣暗号化データの復号化に必要となる時間が長くなるという弊害が生じにくい。
結果的に仮想貨幣暗号化データの復号化が行えた場合、行えなかった場合の以降の処理は、既に述べたように、第1実施形態に倣えば良い。
このようにすると、仮想貨幣データ乃至仮想貨幣暗号化データの有効期間は、大雑把にいうと、仮想貨幣データが発行されてから、所定の時間(過去データ記録部224Aに記録されているユーザIDが、記録されてから消去されるまでの時間)経過するまでの期間となる。このような仮想貨幣データは、現在使用されているクレジットカードの決済のように、店舗やレストランで即時の支払を行うような場合に応用し易いと思われる。
<変形例2>
変形例2による決済システムは、第1実施形態による決済システムと殆ど同じである。特に、決済端末300の構成、及びそこで実行される処理は、第1実施形態におけるそれらと変わるところがない。
他方、変形例2においては、仮想貨幣データのデータ構造は、第1実施形態とやや異なる。第1実施形態における仮想貨幣データは、仮想貨幣暗号化データとユーザIDとを組合せたものであり、仮想貨幣暗号化データは、金額情報とユーザIDとを組合せてから暗号化して得られたデータであった。これに対して、変形例2の仮想貨幣データは、第1実施形態の場合と同じ、仮想貨幣暗号化データ、及びユーザIDと、第1実施形態の仮想貨幣データには含まれていなかった本願発明における暗号化条件データと、を含んでいる。
また、変形例2におけるユーザ端末100及び決済装置200の構成、及びそれらで実施される処理は、第1実施形態におけるそれらと若干異なる。とはいえ、変形例2のユーザ端末100及び決済装置200の構成、及びそれらで実行される処理の大半は、第1実施形態の場合と同じである。
第1実施形態の決済システムでは、多数の仮想貨幣データのそれぞれに含まれる仮想貨幣暗号化データを生成するにあたってユーザ端末100の暗号化部125で実行される暗号化の手法は、仮想貨幣暗号化データを生成するすべての場合において同一であった。他方、この変形例では、各ユーザ端末100の暗号化部125で元データから仮想貨幣暗号化データを得るために実行される暗号化の手法は複数である、というか所定のタイミングで変化する。
したがって、変形例2の決済装置200の復号化部225で実行される復号化の処理も、同一のユーザ端末100で発行された仮想貨幣データに含まれている仮想貨幣暗号化データを復号化する場合であっても、暗号化の方法の変化に合わせて(或いは同期させて)適切に変化させられるようになっている。より具体的には、決済装置200の復号化部225は、決済端末300から受取ったある仮想貨幣データに含まれていた仮想貨幣暗号化データを復号化しようとした場合に、その仮想貨幣暗号化データが、複数のユーザ端末100のどれで発行されたものであるかということに加えて、そのユーザ端末100の暗号化部125で実行され得る複数の暗号化の手法のうちどれを用いて暗号化されたのかを把握することができないと、復号化の処理を行うことができない。これを可能としているのが、変形例2の決済装置200の第1実施形態における決済装置200との相違点である。
以下、第1実施形態との相違点に着目しつつ変形例2のユーザ端末100及び決済装置200の構成、及びそこで実行される処理について説明する。特に言及しない点は、相違が無い点である。
まず、ユーザ端末100及びそこで行われる処理について説明する。
上述したように変形例2では、暗号化部125で行われる暗号化は、所定のタイミングで変わるものとする。例えば、元データの暗号化を3回行う度に、或いは、決済装置200が置かれている場所の日付が変わる度に、各ユーザ端末100の暗号化部125で元データを暗号化するために用いられる方法が変化するものとする。これには限られないが、この実施形態では、元データを暗号化して仮想貨幣暗号化データにする処理を、各ユーザ端末100における暗号化部125が行う度に、各ユーザ端末100は、暗号化の方法を変えるようになっている。したがって、後述するように、決済装置200の復号化部225が各仮想貨幣暗号化データに対して行う復号化の処理も、それに合わせて変化する。
暗号化、復号化の手法を変化させるには、アルゴリズムを変更する、鍵を変更する、それらの双方を変更するという3種類がありいずれも採用可能ではあるが、変形例2でも鍵を変更するものとする。
鍵の変更には、変形例2では鍵生成部126が重要な役割を担う。ユーザ端末100内に生成される機能ブロックを図14に示す。変形例2のユーザ端末100における機能ブロックが第1実施形態におけるユーザ端末100における機能ブロックと異なるのは、変形例2におけるユーザ端末100の機能ブロックには、第1実施形態におけるユーザ端末100の機能ブロックには無かった鍵生成部126が存在するという点である。
鍵生成部126は暗号化部125で暗号化の処理が実行されるときに使用される鍵を生成するものである。
次に、変形例2のユーザ端末100の鍵生成部126で実行される鍵の生成の方法、及び鍵を暗号化部125に提供するタイミングについて説明する。
鍵生成部126が暗号化部125に鍵を供給するタイミングは、暗号化部125が暗号化の処理を行う直前のタイミングである。
上述したように、暗号化部125は、主制御部121から元データを受取ると、元データを暗号化する処理を行う。変形例2の暗号化部125は、元データを受取ると、元データの暗号化の処理を行うに先立って、鍵生成部126に対して鍵の生成を依頼するデータを送る。このデータを受取った鍵生成部126は、鍵のデータを生成して、それを暗号化部125に送るようになっている。暗号化部125は、不変のアルゴリズムと、提供された鍵とを用いて、元データを暗号化することにより、仮想貨幣暗号化データを得る。
鍵生成部126は、例えば鍵を以下のようにして生成する。鍵は、以下の説明における「解」として生成され、英字、数字、記号の少なくとも1つの羅列として生成される。解は例えば、ある条件下では常に同じものが生成される、初期解依存性のある擬似乱数列のようなものとすることができる。ある初期解から連続してワンタイムパスワードを生成するという、公知、周知のワンタイムパスワードの発生方法が、その一例となる。
なお、ワンタイムパスワードは、遠隔地にある2つの装置で、共通するパスワードを生成する処理である。遠隔地で共通するパスワードを生成する方法としては、イベント同期と、時間同期と呼ばれる手法がそれぞれ知られている。イベント同期とは、後述する初期解に基いて連続して解を生成する場合において、同じ順番で生成された解は常に同一のものとなるようにする、という順番を要とした解の同期のさせ方である。他方、時間同期は、初期解に基いて同じ日時に生成された解は常に同じになるようにする、という時間を要とした解の同期のさせ方である。変形例2のユーザ端末100内の鍵生成部126と、決済装置200内の後述する鍵生成部227とは、イベント同期或いは時間同期のいずれにより、同じ解を生成することができるようになっている。
以下に説明する例は主に、イベント同期が採用された場合である。
この実施形態では、解を生成するために、ある初期解(2つ以上の場合もある)を用い、過去の解を所定の関数に代入することにより、新しい解を順次作るという方法を解が必要となる度に実行する。そうすることにより、上記「値」である解を連続して生成することができる。このような解は、初期解依存性のある擬似乱数となる。
上述の「解」を作るのに使われる関数の例として、以下の(a)〜(c)を挙げる。以下の(a)〜(c)はいずれも、N番目の「解」であるXを作るための式である。また、P、Q、R、Sは自然数である。
(a)(X)=(XN−1+(XN−2
(b)(X)=(XN−1
(c)(X)=(XN−1(XN−2(XN-3R(XN−4S
(a)では、過去の「解」2つを用い、それらをそれぞれP乗とQ乗したものを足し合わせることにより、新しい「解」を生成する。なお、正確には、過去の「値」2つを用い、それらをP乗とQ乗したものを足し合わせると、桁数が増えるため、実際には得られた値のうちの頭から適当な桁数を抜き出す、末尾から適当な桁数を抜き出す、或いはその値のうちの適当な部分から適当な桁数を抜き出すこと等により、新しい「解」を生成する。
(b)は、過去の「解」1つを用い、それをP乗したものの桁数を上述のように整理したものを新しい「解」とするものである。
(c)は、過去の「解」4つを用い、それらをそれぞれP乗、Q乗、R乗、S乗したものの積を取り、その後上述したように桁数を整理したものを新しい「解」とするものである。
上述の(a)〜(c)は解を生成するためのアルゴリズム(暗号化の処理に用いるアルゴリズムとは性格が異なる。)の一例であり、解を生成する際にアルゴリズムに変化を加える、例えば、上述の(a)〜(c)を順番に用いる等の変化を加えることも可能である。
このような手法で解を生成することとすれば、ある初期解に基いて1番目に生成される解は常に同じであり、2番目に生成される解も常に同じであり、同様にN番目に生成される解も常に同じである。これが初期解依存性ということである。
なお、鍵生成部126は、過去に生成した解が幾つかということを記録している。つまり、その直前に生成した解がN番目の解であった場合には、その次に生成する解は、N+1番目となるが、重複のない連続した解の生成が可能なように過去に生成した解の数を記録しておくのである。
上述のように生成された解を鍵として用いることにより暗号化部125は、元データに示されたデータを暗号化して、仮想貨幣暗号化データを生成する。
かかる仮想貨幣暗号化データは、第1実施形態の場合と同様に、主制御部121へと送られる。ただし、変形例2の場合には、暗号化部125は、仮想貨幣暗号化データのみならず、その仮想貨幣暗号化データが何番目に生成されたものであるか(つまり、その仮想貨幣暗号化データを暗号化するのに使用された鍵が何番目の鍵であるのか)を特定するための数字を主制御部121へと送る。かかる数字は、これには限られないが例えば、1から始まる連番とすることができ、この実施形態ではそうされている。つまり、1番目に生成された仮想貨幣暗号化データには、「1」というデータが、2番目に生成された仮想貨幣暗号化データには、「2」というデータが、N番目に生成された仮想貨幣暗号化データには、「N」というデータをそれぞれ付して、それらデータを暗号化部125は主制御部121へと送るようになっている。
主制御部121は、仮想貨幣暗号化データに、ユーザIDと、上述の数字のデータとを平文の状態で付す。かかる数字のデータは、ある仮想貨幣データがその仮想貨幣データを発行したユーザ端末100で何番目に発行されたかということを示すユニークな通し番号であり、その性格が法定貨幣の紙幣に記載の記番号に似ているから、これを記番号或いは記番号データと称することにする。つまり、仮想貨幣データは、仮想貨幣暗号化データに、ユーザID及び記番号を付したものとなっている。
かかる仮想貨幣データの使用方法は第1実施形態の場合と同様であり、ユーザ端末100から例えば決済端末300に引渡され、決済端末300から、決済端末IDとともに決済装置200に送られる。
仮想貨幣データは、第1実施形態の場合と同様に、決済端末IDとともに主制御部222から復号化部225へと送られる。
第1実施形態の場合と同様に、決済装置200の中で、仮想貨幣暗号化データは、主制御部222を経て復号化部225に送られる。復号化部225は第1実施形態の場合と同様に、仮想貨幣暗号化データを復号化する。
しかしながら、そのためには基本的に、その仮想貨幣暗号化データを暗号化したユーザ端末100の暗号化部125で使用された鍵を特定しなければならない。より具体的には、その仮想貨幣暗号化データがどのユーザ端末100の暗号化部125で暗号化されたかと、その暗号化部125で何番目の鍵で暗号化されたのかという2つのことを把握しなければ、復号化部225は復号化の処理を正しく行うことができない。
ユーザ端末100では、鍵の変更に鍵生成部126が重要な役割を担った。同様に、決済装置200では、鍵の変更に鍵生成部227が重要な役割を担う。決済装置200内に生成される機能ブロックを図15に示す。変形例2の決済装置200における機能ブロックが第1実施形態における決済装置200における機能ブロックと異なるのは、変形例2における決済装置200の機能ブロックには、第1実施形態における決済装置200の機能ブロックには無かった鍵生成部227が存在するという点である。
鍵生成部227は復号化部225で復号化の処理が実行されるときに使用される鍵を生成するものである。
次に、変形例2の決済装置200の鍵生成部227で実行される鍵の生成の方法、及び鍵を暗号化部225に提供するタイミングについて説明する。
鍵生成部227が復号化部225に鍵を供給するタイミングは、復号化部225が復号化の処理を行う直前のタイミングである。
上述したように、復号化部225は、主制御部222から仮想貨幣データを受取ると、仮想貨幣データに含まれていた仮想貨幣暗号化データを復号化する処理を行う。変形例2の暗号化部225は、仮想貨幣データを受取ると、仮想貨幣暗号化データの復号化の処理を行うに先立って、鍵生成部227に対して鍵の生成を依頼するデータを送る。このデータを受取った鍵生成部227は、鍵のデータを生成して、それを復号化部225に送るようになっている。復号化部225は、不変のアルゴリズムと、提供された鍵とを用いて、仮想貨幣暗号化データを復号化することにより、元データを得る。
ここで、鍵生成部227は、各ユーザ端末100における鍵生成部126のそれぞれで生成される鍵と同じ鍵を、生成することができるようになっている。
鍵生成部227は、各ユーザ端末100内の鍵生成部126が有している解を生成するためのアルゴリズムと、各ユーザ端末100内の鍵生成部126が有している解を生成するための初期解とを、各ユーザ端末100のユーザIDと紐付けて記録している。したがって、鍵生成部227は、各ユーザ端末100の鍵生成部126が生成するのと同じ解を、生成することが可能である。
復号化部225は、鍵の生成を鍵生成部227に依頼するときに、かかる依頼と一緒に、仮想貨幣データに含まれていたユーザIDと、記番号とを鍵生成部227に送るようになっている。鍵生成部227は、受付けたユーザIDと紐付けられていた初期解と、解を生成するためのアルゴリズムとを用いて、各ユーザ端末100で行われたのと同様に、解を生成する。復号化部225が、上述の数式(a)〜(c)を用いて幾つ目までの解を連続して生成するかというと、それは「記番号で特定される数字」番目までの解までである。つまり、記番号が2であれば、2番目までの解を、記番号が3であれば3番目までの解を、記番号がNであれば、N番目までの解を、復号化部225は生成する。復号化部225が仮想貨幣暗号化データを復号化するためには、「その仮想貨幣暗号化データがどのユーザ端末100の暗号化部125で暗号化されたかと、その暗号化部125で何番目の鍵で暗号化されたのかという2つのことを把握することが必要」と上で説明したが、ユーザIDによりその前者が、記番号によりその後者が把握可能となるのである。つまり、変形例2では、記番号情報が、本願発明で言う暗号化条件データとなっており、またユーザIDも暗号化条件データを兼ねている。
そして、最後に生成した解を、復号化に用いる解として、鍵生成部227は、復号化部225に送る。
かかる鍵と、固定のアルゴリズムとを用いて、復号化部225は、仮想貨幣暗号化データを復号化する。ここで用いられる解及びアルゴリズムは、その仮想貨幣暗号化データを暗号化した暗号化部125で用いられた解及びアルゴリズムと一致しているから、復号化部225はその仮想貨幣暗号化データを復号化することができる。
なお、仮想貨幣データに含まれる暗号化条件データは、平文であるとしたが、暗号化された状態となっていても構わない。ただし、暗号化条件データの暗号化を行う場合には、少なくとも各ユーザ端末100毎に暗号化の手法を同一とするのが現実的である。なぜなら、各仮想貨幣データに含まれる暗号化条件データをそれぞれ異なる手法(例えば、異なる鍵)により暗号化したとするのであれば、各暗号化条件データを復号化するときに、その復号化のための条件(暗号化されたその暗号化条件データを暗号化した場合の暗号化の条件)が必要となるからである。少なくとも各ユーザ端末100毎に暗号化条件データの暗号化の手法が同一なのであれば、復号化部225は、仮想貨幣暗号化データの復号化に先立って、暗号化された暗号化条件データを復号化して平文の暗号化条件データに戻し、その後、上述した場合と同様にその平文の暗号化条件データ(記番号データ)を利用することができる。
仮想貨幣暗号化データの復号化を行えた場合も行えなかった場合も、変形例2における以降の処理は、第1実施形態と変わらない。
なお、変形例2におけるユーザ端末100における鍵生成部126と、決済装置200における鍵生成部227とは、上述したようにいわゆるイベント同期によって同じ解(暗号化部125又は復号化部225で使用される鍵)を生成することとしていたが、これに限らず時間同期により同じ解を生成するようになっていても構わない。
その例について説明する。
まず、ユーザ端末100における鍵生成部126について説明する。
鍵生成部126は、解を生成するときに、イベント同期が採用される場合と同じく、それが所持する初期解を用いる。初期解のデータは、例えば、20桁の数字と小文字の英字混じりの文字列であるものとする。かかる初期解は、各ユーザ端末100にユニークなものである。初期解は1つのこともあるが、この実施形態では5つとされる。鍵生成部126は、その5つの初期解のすべてを用いて解を生成する。
鍵生成部126は、それら初期解に対して演算を行うことにより、その時点、つまり、暗号化部125から解の生成の依頼を受けた時点における解を生成する。まず、演算が可能なように、初期解を数字のみに直す。初期解の中に、英字が含まれている場合には、それを2桁の数字に置き換える。置き換えの対象となる数字は、その英字のアルファベット中の順番である。例えば、「a」なら「01」に、「b」なら「02」に、「z」なら「26」にそれぞれ置き換える。例えば、初期解が「5a6458p6556ff4272149」というものだったとする。この場合、初期解を上述の約束にしたがって数字のみにすると、「501645816655606064272149」となる。数字のみにした場合の桁数は、初期解に含まれていた英字の数に応じて増えることになる。なお、(、)、!、&、:等の記号をも解に含めたいのであれば、「(」に「27」、「)」に「28」、「!」に「29」等の適当な数字の割当てを行うようにすればよい。
次に、数字に対して演算を行う。この演算の結果求められるのは、解の元となる数字の列である。その数字の列をXとすると、Xは、その時点における西暦の年、月、日、時、分にしたがって以下のようにして求められる。以下の数式におけるX、X、X3、X4、Xはそれぞれ、5つの初期解を数字に直したものである。この実施形態で初期解を5つとしているのは、西暦の年、月、日、時、分という5つの要素にしたがって解を変化させることにしているからである。
X=X +X +X3 +X4 +X
ここで、P=西暦の年の下二桁の数字、Q=月の数字、R=日の数字、S=時の数字、T=分の数字。このようにすることで、そのときの時刻に応じて異なる数列を得ることができる。なお、P〜Tのすべてにおいて、1を足す過程を加えているのは、P〜Tのすべてがたまたま0になった場合に最終的に得られる解Xが5になるが、そのような簡単な数字が頻出することを避けるためである。
なお、例えば、以下のような数式を用いれば、用いる初期解は1つで済む。
X=X +X +X
上述の演算を行った結果、解の元となる数字の列Xが得られる。次いで、その数字の列の中の任意の2桁の中に01〜26という数字が含まれていたら、先ほどの英字から数字への置き換えの約束事とは逆の約束事にしたがい、それらをa〜zの英字に置き換える。
このようにして得られた数字と小文字の英字混じりの文字列は、20桁以上の桁数である。それが20桁以上であるときには、その文字列の例えば前から20文字を抜き出し、それを解とする。上述のようにして得られた数字と小文字の英字混じりの文字列がちょうど20桁の場合には、それをそのまま解とする。また、上述のようにして得られた数字と小文字の英字混じりの文字列が20桁よりも少ない場合には、何らかの決まり事に基いて桁数を増やす。例えば、その文字列の最初の数字又は英字に基いて何らかの数字又は文字を、桁数が20桁に至るまでに、その文字列中に挿入するようにしてもよい。或いは、上述の数式におけるPとTとを入れ替えて演算を行って得られる数字の列に対して数字を英字に置き換える上述の過程を実行することによって新たな数字と小文字の英字混じりの文字列を生成して、それを元の数字と小文字の英字混じりの後に繋げるというような作業を、その桁数が少なくとも20桁になるまで繰り返して、その前から20文字を抜き出して解とする、というような方法も採用しうる。
いずれにせよ、これにより、その時点の日時に対応した解が生成される。
他方、時間同期が採用される場合における決済装置200内の鍵生成部227も、各ユーザ端末100内の鍵生成部126で実行される上記と同様の処理を実行できるようになっている。この場合の鍵生成部227も、イベント同期を採用する鍵生成部227と同様に、各ユーザ端末100のユーザIDと紐付けて各ユーザ端末100で使用される初期解を記録している。これを用いることにより、鍵生成部126で生成されるのと同じ解を、鍵生成部227でも生成することができるようになる。
ただし、それが可能とされるためには、これから復号化しようとしている仮想貨幣暗号化データがどのユーザ端末100で暗号化されたかということと、その仮想貨幣暗号化データがいつ生成された鍵(解)を用いて暗号化されたのかということ、の2つを鍵生成部227が把握することが必要となる。そのため、イベント同期が採用される場合には、仮想貨幣データに含められる暗号化条件データとして、記番号に代えて時刻情報を用いることとする。ここで、時刻情報は、ユーザ端末100の鍵生成部126で鍵が生成された日時を特定する情報である。かかる時刻情報は、例えば、ユーザ端末100の主制御部121が、鍵生成部126から受取り、仮想貨幣データに含めたものである。
復号化部225は、鍵生成部227に鍵の生成を依頼するときに、その依頼とともに、仮想貨幣データに含まれていたユーザIDと、時刻情報とを鍵生成部227に送る。それら2つのデータを受取った鍵生成部227は、ユーザIDにより、これから復号化しようとしている仮想貨幣暗号化データがどのユーザ端末100で暗号化されたかということを把握でき、また、時刻情報によりその仮想貨幣暗号化データがいつ生成された鍵(解)を用いて暗号化されたのかということを把握できることになる。
かくして、復号化部225は、暗号化部125で暗号化の処理を行う際に用いられたアルゴリズム及び鍵のセットと同じアルゴリズム及び鍵のセットを用いて復号化の処理を行うことができることになるから、仮想貨幣暗号化データを復号化することができるのである。
なお、変形例2の場合においても、復号化部225で実行される復号化の処理に、変形例1で述べた総当たり的なアプローチを採用することも可能である。その例を以下に述べる。なお、以下で述べる例は、イベント同期が採用された場合とする。
例えば、仮想貨幣データが仮想貨幣暗号化データそのものであり、仮想貨幣データには、ユーザIDも記番号情報も含まれていなかったとする。極端なことを言えば、復号化部225が受取った仮想貨幣データがそのような仮想貨幣データであったとしても、そのような仮想貨幣データに含まれている仮想貨幣暗号化データ(或いは仮想貨幣データそのものである仮想貨幣暗号化データ)を復号化部225は復号化することができる。
それは、イベント同期が採用される場合における復号化部225が、上述したように、すべてのユーザ端末100の暗号化部125で暗号化の処理のために使用されるアルゴリズムを把握しており、且つすべてのユーザ端末100における鍵生成部126で生成されることのある鍵の提供をその鍵生成部227から受けられるからである。そのような2つの条件が充足されているのであれば、1つのユーザ端末100で用いられるアルゴリズムに対して、そのユーザ端末100で用いられることのある鍵のすべて(例えば、常識的な範囲で、有限な個数)を組合せて復号化を試みる、という試みをすべてのユーザ端末100で使用されるアルゴリズムと使用され得る鍵のすべてについて試みれば、いつかはその仮想貨幣暗号化データは復号化することができるはずである。
もっともこのような仮想貨幣暗号化データの復号化は、理論上は可能であるとはいえ、容易に理解できようが、復号化部225が試みるべき復号化の処理の回数が膨大になってしまう。
そのようなことを避けるためには、例えば、以下のような処理が可能である。例えば、ユーザ端末100で生成される仮想貨幣データを、記番号を含まないものの、仮想貨幣暗号化データとユーザIDとを含むものとするのである。このような仮想貨幣データを生成する場合、主制御部121は、暗号化部125から受取った仮想貨幣暗号化データに、第1実施形態の場合と同様にユーザIDのみを付して仮想貨幣データとする。また、この場合における各ユーザ端末100における暗号化部125は、上述の場合と同様に、元データを暗号化して仮想貨幣暗号化データに変換するための暗号化の処理を実行するたびに、鍵生成部126から提供される異なる鍵を用いる。
仮想貨幣データがこのようなものである場合においても、決済装置200は、決済端末300等からネットワーク400を介して仮想貨幣データを受付ける。
決済装置200が受付けた仮想貨幣データは、主制御部222から、復号化部225へと送られる。
ここで、復号化部225は、受取った仮想貨幣データに含まれていた仮想貨幣暗号化データを復号化するために、鍵の生成の依頼を、仮想貨幣データに含まれていたユーザIDとともに鍵生成部227に送る。仮想貨幣データには記番号は含まれていないから、復号化部225は記番号データを鍵生成部227に送ることはない。
もっとも、上述したように、鍵生成部227は、各ユーザ端末100内の鍵生成部126が有している解を生成するためのアルゴリズムと、各ユーザ端末100内の鍵生成部126が有している解を生成するための初期解とを、各ユーザ端末100のユーザIDと紐付けて記録していることにより、すべてのユーザ端末100の鍵生成部126で生成され得るすべての鍵と同じ鍵を生成し得る。例えば鍵生成部227は、復号化部225から送られて来たユーザIDに対応するユーザ端末100の鍵生成部126で生成され得る鍵を、多数(常識的な範囲で有限な個数、例えば1万個、或いは10万個)生成し、生成した多数の鍵を復号化部225に送るようになっている。他方、復号化部225は、受取ったその多数の鍵と固定のアルゴリズムを用いて総当りで復号化を試みることで、そのうちの1つの鍵で復号化を行える。
このような総当り的な復号化の方法があり得る。
もっとも、この方法でも鍵の数は多数となる可能性がある。この方法を採用する場合に鍵生成部227で発生させるべき鍵の数は、発生させた鍵の中に、仮想貨幣データに含まれていたユーザIDで特定されるユーザ端末100の鍵生成部126で発生させられた、或いは同ユーザ端末100の暗号化部125でその仮想貨幣データに含まれていた仮想貨幣暗号化データを暗号化するために使用された鍵が含まれている蓋然性が略100%となるだけの数としなければならない。この数が過大になると、上述の復号化の方法は実行するのに時間がかかることになる可能性がある。
そのようなことを防ぐには、例えば、図16に示したように、機能ブロックの中に、過去データ記録部224Aを設けるという手段を採用することができる。この場合の過去データ記録部224Aには、上述した場合と同様に主制御部222がデータを書き込むが、この場合の過去データ記録部224Aに書き込まれるデータは、上述の場合とは異なる次のようなデータである。
変形例2の総当り的なアプローチをその復号化部225で採用した決済装置200は、第1実施形態の場合と同様にユーザ端末100からユーザIDと、金額情報とを受取った場合、各ユーザID毎に、ユーザIDと金額情報とを受取った回数を、過去データ記録部224Aに記録するようになっている。
他方、復号化部225から鍵を生成せよとの依頼をユーザIDとともに受付けた鍵生成部227は、過去データ記録部224Aから、そのユーザIDと紐付けられた、決済装置200にユーザIDが送られて来た回数を読み出し、その回数に相当する数の解を生成して、それを復号化部225に送るようになっている。つまり、過去データ記録部224Aに記録された各ユーザIDに紐付けられた、そのユーザIDが決済装置200に送られて来た回数は、鍵生成部227が生成すべき鍵の数の上限の個数を規定するものである。このような規定をかけたとしても、復号化部225は仮想貨幣暗号化データの復号化を行うことが可能である。というのは、変形例2の場合であっても、ユーザ端末100は、仮想貨幣データを発行する場合には、それに先立って決済装置200にユーザIDと、金額情報とを送らなくてはならないのであるから、その後に許可情報を受取ったユーザ端末100内の鍵生成部126が生成した鍵の数が、決済装置200がユーザIDと金額情報とを受取った回数を上回ることはないからである。つまり、ユーザ端末100の暗号化部125で生成された鍵は必ず、決済装置200の鍵生成部227で生成された鍵の中に含まれることになる。
復号化部225で総当り的なアプローチによって仮想貨幣暗号化データの復号化を試みる場合において必要な鍵の数を減らすための手法として、変形例2の後半で述べた仮想貨幣データに有効期間を設けるという手法を採用することも可能である。
変形例2で仮想貨幣データに有効期間を利用するための手法について説明する。
変形例2の決済システムで、変形例1で説明したような有効期間を仮想貨幣データに与える場合には、例えば、変形例1の場合と同様の工夫を、ユーザ端末100及び決済装置200と、仮想貨幣データに与えることが必要となる。
まず、有効期間を与えられる変形例2の仮想貨幣データには、変形例1の場合と同様に、仮想貨幣暗号化データに加えて、平文の時刻情報が付される。ここでは、変形例1の場合と同様に、仮想貨幣データには、ユーザIDと記番号は含まれていないものとする。時刻情報は、変形例1の場合と同様のものとすることができ、S913のユーザID及び金額情報の決済装置200への送信を行った時刻を特定する情報であるとする。
ユーザ端末100でそのような仮想貨幣データを生成する方法は、変形例1の場合と同様でよく、例えば、ユーザ端末100における主制御部121が、暗号化部125から送られて来た仮想貨幣暗号化データに時刻情報を付す。
他方、決済装置200の機能ブロックは、図17で示されたような過去データ記録部224Aを備えている。もっとも、かかる過去データ記録部224Aに記録される内容は、図16を用いて変形例2で説明した内容とは異なる。この過去データ記録部224Aには主制御部222によって、変形例1で説明した内容が書き込まれる。即ち、過去の所定の時間、例えば過去10分の間に、決済装置200に対してユーザID及び金額情報を送って来たユーザ端末100のユーザIDが過去データ記録部224Aに更新されつつ記録されることになる。その記録の方法は、変形例1で説明した通りで良い。
この場合における変形例2の決済装置200の復号化部225は、変形例1で仮想貨幣データに有効期間を設ける場合と同様に、主制御部222から仮想貨幣データを受取ったときに、まず、仮想貨幣データに含まれている時刻情報で特定されている時刻から現時点で所定の時間(通常、この時間は、過去データ記録部224Aに記録されているユーザIDが、記録されてから消去されるまでの時間間隔と等しくする。)が経過していないか否かを確認する。その結果、上記所定の時間が経過していなかった場合には、復号化部225はその復号化を試みる。他方、上記所定の時間が既に経過していた場合には、復号化部225は、その仮想貨幣データは有効期間外のものであるとして、それに含まれる仮想貨幣暗号化データの復号化を試みない。
仮想貨幣データに含まれている時刻情報で特定されている時刻から現時点で所定の時間が経過していないか否かを確認した結果、上記所定の時間が経過していなかった場合、復号化部225は、過去データ記録部224Aから、その時点で過去データ記録部224Aに記録されているユーザIDをすべて読み出す。変形例1の場合には、ここで復号化部225が所持していたユーザIDのうち、過去データ記録部224Aから読み出したすべてのユーザIDに紐付けられた鍵を用いて復号化部225は、仮想貨幣暗号化データの復号化を試みた。しかしながら、変形例2では、鍵は次々に変化するようにされているから、ここで復号化部225は鍵の生成を鍵生成部227に依頼する。復号化部225は、かかる依頼に、過去データ記録部224Aから読み出したすべてのユーザIDを送る。
鍵生成部227は、これらすべてのユーザIDが割当てられたユーザ端末100の暗号化部125でそれぞれ使用され得る鍵、或いはこれらすべてのユーザIDが割当てられたユーザ端末100の鍵生成部126でそれぞれ生成され得る鍵を、常識的な数だけ生成して、それら鍵を復号化部225に送る。
受取ったこれら鍵のすべてを用いて総当りでの復号化を試みれば、復号化部225は、仮想貨幣暗号化データを暗号化することができるはずである。しかもこのときに試みるべき復号化の処理の回数は、ユーザIDの絞込を行わなかった場合よりも少なくなる。
ここで、復号化部225で試みるべき復号化の処理の回数を更に少なくするために以下のようにしてもよい。
上述したように、過去データ記録部224Aには、過去の所定の時間の間に、決済装置200に対してユーザID及び金額情報を送って来たユーザ端末100のユーザIDが更新されつつ記録されたが、この場合には、変形例2における上述の過去データ記録部224Aに記録された通りの内容、即ち各ユーザIDに紐付けられた、そのユーザIDが決済装置200に送られて来た回数も記録される。
このような2種類のデータが記録された過去データ記録部224Aを有する決済装置200では、上述したように復号化部225からユーザIDとともに鍵の生成の依頼を受けた鍵生成部227が、復号化部225から受付けたユーザIDと紐付けられて過去データ記録部224Aに記録されていた、そのユーザIDがユーザ端末100から決済装置200に送られてきた回数をも読み出す。そして、鍵生成部227は、復号化部225から送られて来た各ユーザIDのそれぞれについて、そのユーザIDで特定されるユーザ端末100の鍵生成部126で生成される鍵を、そのユーザIDがユーザ端末100から決済装置200に送られてきた回数と同数だけ生成して、それを復号化部225に送る。
これによれば、復号化部225が鍵生成部227から受取る鍵の数は上述の場合よりも更に少なくなるが、それにもかかわらず、復号化部225は仮想貨幣暗号化データの復号化を行えるはずである。
≪第2実施形態≫
第2実施形態による決済システムは、第1実施形態による決済システムと殆ど同じである。特に、ユーザ端末100と、決済端末300との構成、及びそこで実行される処理は、第1実施形態におけるそれらと変わるところがない。また、仮想貨幣データのデータ構造も第1実施形態と同じである。
主に異なるのは、決済装置200の構成、及びそこで実行される処理である。とはいえ、第2実施形態の決済装置200の構成、及びそこで実行される処理の大半は、第1実施形態の場合と同じである。
端的に言うと、第1実施形態の決済装置200は、決済端末300等から仮想貨幣データを受取った場合に、それに含まれる仮想貨幣暗号化データの復号化を試み、その仮想貨幣暗号化データを復号化できたという事実により、その仮想貨幣暗号化データ又は仮想貨幣データの真正性を確認するものとなっていたのに対して、第2実施形態の決済装置200は、決済端末300等から仮想貨幣データを受取った場合に、その復号化を試みないようになっている。
以下に言及しない点は、第1実施形態と同じである。
上述したように、第2実施形態ではユーザ端末100、及び決済端末300の構成、及びそれらが実行する処理は第1実施形態と変わらない。第2実施形態における仮想貨幣データは、第1実施形態の場合と同様に、仮想貨幣暗号化データにユーザIDを付したものである。
第2実施形態の決済装置200の構成、及びそこで実行される処理について説明する。
第2実施形態の決済装置200のハードウェア的な構成は、第1実施形態と同じである。第2実施形態の決済装置200の内部には、第1実施形態の場合と同様に機能ブロックが生成される。第2実施形態の決済装置200の内部に生成される機能ブロックを図18に示す。第2実施形態の機能ブロックには、第1実施形態のときに存在した復号化部225が存在せず、その代わりに暗号化部228と、第1記録部224Cが存在する。
第2実施形態の主制御部222も第1実施形態の場合と同様、制御部220内の全体的な制御を行う。第1実施形態の場合と同様、第2実施形態における主制御部222も、与信判定の処理と決済の処理とを実行するようになっている。
ただし、第1実施形態の場合には、決済装置200が決済端末300等から決済を求める仮想貨幣データを受付けたとき、主制御部222は、その仮想貨幣データを復号化部225に送ることにより復号化部225に仮想貨幣データに含まれていた仮想貨幣暗号化データの復号化を行わせたが、第2実施形態の主制御部222は、決済装置200が決済端末300等から決済を求める仮想貨幣データを受付けたとき、仮想貨幣データ(場合によってはそれに含まれる仮想貨幣暗号化データのみ)を決済判定部226に送る他、暗号化部228に、暗号化をせよとの指示を、その仮想貨幣データに含まれていたユーザIDとともに送るようになっている。
第2実施形態の主制御部222が与信判定を行うのは、第1実施形態の場合と同様、主制御部222が、データ入出力部221から、金額情報を受取った場合である。この場合に主制御部222が、信用情報記録部224Bに記録されているデータを利用するのも第1実施形態と同様である。第2実施形態の信用情報記録部224Bに記録されているデータも、第1実施形態と変わらない。また、主制御部222が与信判定を行った後に行う処理も、第1実施形態と第2実施形態とで変わりがない。
第1実施形態の場合と同様に、第2実施形態の主制御部222も、決済判定部226から、最終判定データを受取る場合がある。最終判定データを受取った後に主制御部222が実行する処理は、最終判定データが肯定的であろうと否定的であろうと、第1実施形態と第2実施形態とで変わりがない。
また、第2実施形態の主制御部222は、第1実施形態の主制御部222が持たない元データを生成する機能を有している。かかる元データは、ユーザ端末100が決済装置200に許可情報の発行を求めて送ってきて、送受信部、データ入出力部221を介して主制御部222に送られてくる、ユーザID及び金額情報に基いて生成される。主制御部222が生成する元データは、ユーザ端末100で生成される元データと同じものとなるようになっているが、主制御部222において実行される元データの生成の過程がどのようなものであるかは後述することとする。なお、以後において、主制御部222で生成される元データを、ユーザ端末100で生成される元データと区別するために、確認用元データと称することにする。主制御部222は、生成した確認用元データを、第1記録部224Cに記録するようになっている。第1記録部224Cは、主制御部222に書き込まれた多数の確認用元データを記録する記録手段である。
暗号化部228は、上述したように、主制御部222から、暗号化をせよとの指示をユーザIDとともに受取る場合がある。
かかる指示を受取った場合、暗号化部228は第1記録部224Cから確認用元データを読み出して、それを暗号化するようになっている。暗号化部228が確認用元データを暗号化することによって生成されるのが、確認用暗号化データである。確認用暗号化データは、ユーザ端末100の暗号化部125で元データを暗号化して生成される仮想貨幣暗号化データと同じものとなるようになっている。
暗号化部228が第1記録部224Cに記録されている多数の確認用元データのうちのどれを読み出すか、また、暗号化部228が第1記録部224Cから読み出した確認用元データをどのようにして暗号化して確認用暗号化データにするかという暗号化の過程の詳細については、後述するものとする。
暗号化部228は、生成した確認用暗号化データを決済判定部226に送るようになっている。
決済判定部226には、上述したように、主制御部222から仮想貨幣データ(又はそれに含まれていた仮想貨幣暗号化データ)が、暗号化部228から少なくとも1つの確認用暗号化データが、それぞれ送られてくる。これらを受取った場合、決済判定部226は、決済を認めて良いか否かについての判定である決済判定を行う。その結果、決済判定部226は、決済を認めること、及び決済を認めないことのいずれかの内容を含むデータである最終判定データを生成する。
かかる決済判定の過程は、第1実施形態と第2実施形態とで異なる。第2実施形態の決済判定部226が最終判定データをどのようにして生成するかについては後述するものとする。
いずれにせよ、最終判定データを生成したら、決済判定部226はそれを主制御部222に対して送るようになっている。
次に第2実施形態における決済システムの使用方法、及び動作について図19を参照しながら説明する。
第2実施形態でも、第1実施形態の場合と同様に、まず、かかるシステムを使用するための準備として、各ユーザ端末100において、ユーザIDの設定を行うとともに、各決済端末300において、決済端末IDの設定を行う。
以後、ユーザ端末100で実行されるS911〜S918の処理は、第1実施形態と同一であり、決済端末300で実行されるS931〜S934の処理も第1実施形態と同一である。また、決済装置200で実行されるS921〜S923までの処理と、S924、S927の処理も第1実施形態と同一である。
以下、それら処理も含めて説明する。
第2実施形態でも、まず、仮想貨幣データが生成される。
第2実施形態でも、第1実施形態の場合と同様に、これには限られないが、仮想貨幣データの生成は、開始情報をユーザが自らのユーザ端末100に入力することから始まる(S911)。
開始情報は第1実施形態の場合と同様に主制御部121に送られる。主制御部121は、これを契機に表示制御部122を制御する。それによりディスプレイ101に、例えば、図10(A)の如き、ユーザに対して、ユーザIDと、金額情報の入力を促す画像を表示する。ユーザは、ユーザIDと金額情報とをそれぞれ入力する(S912)。ユーザIDと金額情報とについてのデータは、データ入出力部123に入力され、主制御部121に送られる。
ユーザIDと金額情報の入力が終わったら、ユーザは、ディスプレイ101に表示された「決定」と書かれたボタンをクリックする。
「決定」と書かれたボタンをユーザがクリックすると、ユーザIDと金額情報とが、データ入出力部123から主制御部121に送られる。ユーザIDと金額情報は、送受信部からネットワーク400を介して、決済装置200に送られる(S913)。
決済装置200は、その送受信部でユーザIDと金額情報とを受取る(S921)。送受信部はそれらユーザIDと金額情報とをデータ入出力部221に送り、データ入出力部221はそのデータを主制御部222に送る。
主制御部222は、与信判定を行う(S922)。かかる与信判定の処理は第1実施形態と第2実施形態で変わりがない。主制御部222は、与信判定を行う場合、信用情報記録部224Bに記録されているデータを用いる。
いずれにせよ、主制御部222は、ユーザの与信が認められた場合には、許可情報を生成する。許可情報は、ネットワーク400を介してユーザ端末100に送られる(S923)。
ユーザ端末100は、その送受信部で許可情報を受取る(S914)。
許可情報を受取るとユーザ端末100の主制御部121は、先に受け取っていたユーザIDと金額情報とに基いて元データを生成する(S915)。この元データは、第1実施形態の場合と同様に暗号化部125に送られ、それを受取った暗号化部125は、元データを暗号化して仮想貨幣暗号化データとする(S916)。なお、第2実施形態でも、第1実施形態の場合と同様に、各ユーザ端末100の暗号化部125で実行される暗号化の方法は、固定された1つの方法である。また、そして、主制御部121は、かかる仮想貨幣暗号化データに基いて仮想貨幣データを生成する(S917)。
このように、ユーザ端末100では、許可情報を決済装置200から受取ると、それを契機に仮想貨幣データが生成乃至発行される。他方、第2実施形態では、それと並行して、上述した確認用元データの生成が行われる。
上述したように、S921で、決済装置200は、ユーザ端末100からユーザID及び金額情報を受取る。ユーザIDと金額情報とは、主制御部222によって受け取られる。これらに基づき、主制御部222は、確認用元データを生成し、それを第1記録部224Cに記録する(S923A)。ここで、確認用元データは、確認用元データの元となるユーザID及び金額情報を送って来たユーザ端末100で、当該ユーザID及び金額情報に基いて生成された許可情報を受取ったユーザ端末100の主制御部121が生成する元データと同じものとなるようにする。
上述したように、ユーザ端末100の主制御部121が生成する元データは、ユーザIDと金額情報とを単に組合せたものである。決済装置200は、ユーザ端末100からユーザID及び金額情報を送られているのであるから、その主制御部222は、それらを組合せることにより、ユーザ端末100で生成される元データと同一の確認用元データを生成することができる。
もっとも、第1実施形態で説明したように、ユーザ端末100で生成される元データは、ユーザIDと金額情報以外の情報、例えば、時刻情報、位置情報、ユーザの属性に関する情報等を元データに含むものである場合もある。そのような場合でも、主制御部222で生成される確認用元データはユーザ端末100で生成される元データと同一でなければならない。例えば、ユーザの属性に関する情報であれば、ユーザがその情報を予め決済装置200にユーザIDと紐付けて登録しておく等しておけば、決済装置200の主制御部222は、確認用元データを生成する場合に改めてその情報の提供をユーザ端末100から受けなくても、ユーザ端末100の主制御部121で生成される元データと同一の確認用元データを生成することができる。他方、時刻情報は、厳密さを問わなければ、決済装置200がユーザ端末100から送られてきたユーザID及び金額情報を受取った日時を決済装置200でそのまま流用することが可能である。しかしながら、ユーザが開始情報を入力したときのユーザ端末100の位置を特定する、ユーザ端末100のGPS等で生成される位置情報については、決済装置200の主制御部222は、確認用元データを生成する場合にその情報の提供をユーザ端末100から受けなければ、ユーザ端末100の主制御部121で生成される元データと同一の確認用元データを生成することができない。したがって、このような場合には、決済装置200は、ユーザ端末100から、ユーザ端末100の主制御部121が生成する元データと同じ確認用元データを生成するための情報の提供をユーザ端末100から受けなければならないこととなる。
なお、この実施形態では、後述するように暗号化部125で実行される暗号化の方法が固定された1通りなのであるから、元データがユーザIDと金額情報としか含まない場合には、同一のユーザ端末100で生成される仮想貨幣データに含まれる仮想貨幣暗号化データのうち、仮想貨幣暗号化データの元となった元データに含まれる金額情報が同一のものは、同一のものとなってしまう。これを嫌うのであれば、同一のユーザ端末100で多数生成される各元データをそれぞれユニークなものとするべきである。例えば、ここまでで述べたどの例によっても構わないが時刻情報を元データに含めるとか、或いは変形例2で述べた記番号を元データに含めれば、暗号化部125で実行される暗号化の方法が常に同一であっても、各仮想貨幣暗号化データは異なるものとなる。記番号である数字が上述のようなものであれば、決済装置200は、同一のユーザ端末100から許可情報の発行を求めてユーザID及び金額情報が何回送られてきたかを、各ユーザ端末100毎に、例えば各ユーザ端末100のユーザIDと紐付けてカウントしていれば、ユーザ端末100で生成される記番号と同じ記番号を、生成することができる。ただし、決済装置200が許可情報を生成しなかった場合には、後にユーザ端末100で仮想貨幣データの生成がされない。そのような場合には、ユーザ端末100で生成される仮想貨幣データの数と、決済装置200がそのユーザ端末100からユーザID及び金額情報を受取った回数とが異なるものとなり、そうなると、ユーザ端末100における記番号と、決済装置200における記番号にずれが生じる。そこで、決済装置200では、それらを受付けたにも関わらず許可情報を生成しなかったユーザID及び金額情報については、上述のカウントを行わないようにすればよい。
以上のような取決めがユーザ端末100と決済装置200との間で予めなされており、そのような取決めに従った処理がユーザ端末100と、決済装置200との間で実行される。なお、ユーザ端末100から決済装置200への、ユーザ端末100の主制御部121が生成する元データと同じ確認用元データを決済装置200の主制御部222が生成できるようにするための情報の提供は、ユーザ端末100から決済装置200へのユーザID及び金額情報の送信についてのS913と同時のタイミングから、決済装置200で確認用元データが生成される直前のタイミングまでのいずれかのタイミングで行われれば良い。
いずれにせよ、第1記録部224Cには確認用元データが記録される。第1記録部224Cに記録される確認用元データは多数であり、それらはそれぞれ、多数のユーザ端末100でそれぞれ生成される多数の元データと同じものとなる。
仮想貨幣データが発行されたら、ユーザは、支払いを行う相手側である、例えば店舗の店員が管理する決済端末300に対して、ユーザ端末100から仮想貨幣データを引き渡す(S918)。
決済端末300は、ユーザ端末100から仮想貨幣データを受領する(S931)。
仮想貨幣データは、決済端末IDとともに、決済端末300からネットワーク400を介して決済装置200に送られる(S932)。
決済装置200は、その送受信部で、決済端末IDのデータと仮想貨幣データとを受取る(S924)。決済端末IDの付された仮想貨幣データは、第1実施形態と同様に主制御部222に送られる。
それらを受取った主制御部222は、決済端末IDのデータと仮想貨幣データ(場合によっては、仮想貨幣データに含まれていた仮想貨幣暗号化データ)とを決済判定部226へと送り、他方、仮想貨幣データに含まれていたユーザIDを暗号化を行えという指示とともに暗号化部228へと送る。
仮想貨幣データに含まれていたユーザIDとともに暗号化を行なえという指示を受取った暗号化部228は、確認用元データを暗号化する処理を実行して確認用元データから確認用暗号化データを生成する(S925A)。
このとき、暗号化部228は、暗号化を行う対象としての確認用元データを第1記録部224Cから読み出す。確認用元データは、上述のようにユーザIDを含んでいる。第1記録部224Cから読み出される確認用元データは、主制御部222から送られてきたユーザIDを含んでいる確認用元データである。なお、第1記録部224Cに、もし暗号化部228が主制御部222から受取ったユーザIDを含む確認用元データが複数存在する場合には、その複数の確認用元データのすべてを暗号化部228は読み出す。
そして、暗号化部228は、第1記録部224Cから読み出した確認用元データを、それが1つの場合にはそれを、複数の場合にはそれらのすべてを暗号化する。
この場合における暗号化の処理は、決済を求めて決済端末300から送られて来た仮想貨幣データに含まれていた仮想貨幣暗号化データがユーザ端末100の暗号化部125で暗号化されたときに用いられたのと同じ方法とされる。第1実施形態の復号化部225がそうであったように、暗号化部228は、すべてのユーザ端末100の暗号化部125で暗号化の処理が実行されるときに共通して用いられる暗号化の処理のためのアルゴリズムを保持している。暗号化部228は、また、各ユーザ端末100の暗号化部125で暗号化の処理が実行されるときに各暗号化部125でそれぞれ用いられるユニークな鍵を、各ユーザ端末100のユーザIDと紐付けて保持している。暗号化部228は、確認用元データの暗号化を行う場合、暗号化の処理のための上述のアルゴリズムと、主制御部222から送られてきたユーザIDと同じユーザIDと紐付けられていた暗号化部228が保持していた鍵と、を用いて暗号化の処理を実行する。
その結果、確認用元データは暗号化され、確認用暗号化データに変換されることになる。生成された確認用暗号化データは、それが複数の場合はすべて、暗号化部228から決済判定部226に送られる。
決済判定部226は、主制御部222から仮想貨幣暗号化データ(又はそれに含まれていた仮想貨幣暗号化データ)を、暗号化部228から少なくとも1つの確認用暗号化データを、それぞれ受取る。
それらを受取った決済判定部226は、決済判定を実行する(S926)。仮想貨幣暗号化データの真正性の判定を行うという目的自体は第1実施形態と変わりないが、第2実施形態で実行されるその判定の方法は、第1実施形態の場合と異なる。
決済判定部226は、主制御部222から仮想貨幣データを受取った場合にはそれから仮想貨幣暗号化データを取出し、その仮想貨幣暗号化データと、決済判定部226から受取った少なくとも1つの確認用暗号化データとを、比較する。その結果、確認用暗号化データのうちの少なくとも1つが仮想貨幣暗号化データと一致した場合には、当該仮想貨幣暗号化データは真正なものであると判定する。逆に、確認用暗号化データのすべてが仮想貨幣暗号化データと一致しなかった場合には、その仮想貨幣暗号化データは真正なものでないと判定する。なお、上述したように決済判定部226で確認用暗号化データとの同一性を判定される対象は、仮想貨幣データそのものではなく仮想貨幣暗号化データである。したがって、主制御部222から決済判定部226に送られるのは仮想貨幣データそのものではなく、仮想貨幣暗号化データであっても構わない。
このような方法で仮想貨幣暗号化データの真正性の判定を行えるのは、次のような理屈による。ユーザ端末100で生成される仮想貨幣暗号化データは、元データを暗号化部125で暗号化することによって生成される。他方、決済装置200で生成される確認用暗号化データは、確認用元データを暗号化部228で暗号化することによって生成される。ここで、元データと確認用元データとは上述したように同じものであり、また、ユーザ端末100の暗号化部125で実行される暗号化の方法と、暗号化部228で実行される暗号化の方法とは、上述したように、ユーザIDを利用して同じものとなるように制御されている。つまり、同じものから同じ方法で生成された仮想貨幣暗号化データと、確認用暗号化データとは同じものとなるはずである。もっとも、ユーザ端末100で生成された仮想貨幣データが複数存在する場合もありうる。しかしその場合であっても、決済装置200の第1記録部224Cに記録されている確認用元データは、すべてのユーザ端末100で生成されたすべての仮想貨幣データに暗号化された仮想貨幣暗号化データの形で含まれている元データに対応したものであり、また、暗号化部228で暗号化を行うために第1記録部224Cから読み出された確認用暗号化データは、決済端末300から送られてきた仮想貨幣データに含まれていたユーザIDに対応したユーザ端末100で発行されたもののすべてなのであるから、第1記録部224Cから読み出された確認用元データのすべてを暗号化部228で正しい方法により暗号化すれば、その結果生成される確認用暗号化データのうちの少なくとも1つは、仮想貨幣暗号化データに改竄等がない限り、仮想貨幣暗号化データと一致するはずである。
要するに、同じデータに基いて同じ暗号化の手法を行うことにより同じデータを得られる、或いは再現できるということは、暗号化されたデータを復号化できたということと同等とみなすことができる。第2実施形態の決済判定部226は、このような理屈により、仮想貨幣暗号化データの正当性を判定するのである。このように、第1実施形態では事実上復号化部225で行われていた仮想貨幣暗号化データの真正性の判定は、第2実施形態では、決済判定部226で実行される。
なお、第1実施形態で行われていたユーザIDの一致等による更なる判定の基準を第2実施形態の決済判定でも採用することは自由である。
第2実施形態でも、第1実施形態の場合と同様に、仮想貨幣暗号化データが真正であると決済判定部226が判定した場合には、決済判定部226は金額情報によって特定されている金額の支払いを認めるという肯定的な情報を示す最終判定データを生成し、そう判定されなかった場合には、決済判定部226は、金額情報によって特定されている金額の支払いを認めないという否定的な情報を示す最終判定データを生成する。
いずれにせよ、生成された最終判定データは、決済判定部226から主制御部222に送られる。
主制御部222は、最終判定データを受取り第1実施形態と同様に決済処理を行う。また、第1実施形態の場合と同様に、決済装置200では判定結果データを生成し、判定結果データを、ネットワーク400を介して決済端末300に送信する(S927)。
判定結果データは、決済端末300の送受信部によって受取られる(S933)。その結果、決済端末300のディスプレイには、判定結果データに応じた表示が行われる(S934)。
以上により第2実施形態による、仮想貨幣データを使用しての、ユーザから決済端末300の管理者への支払いの処理が終了する。
なお、以上で説明を省略したが、決済判定部226で、確認用暗号化データと同じものであると判定された元データを、第1記録部224Cから削除することが可能である。これは、決済判定部226で、確認用暗号化データと同じものであると判定された元データがどれかということを、決済判定部226が主制御部222に通知し、更にかかる通知を受けた主制御部222が、かかる通知により特定される確認用元データを第1記録部224Cから削除することにより実現可能である。各仮想貨幣データは、決済装置200で1度しか決済の対象とならないものであるから、決済の対象となった仮想貨幣データに対応する確認用元データは、二度と使用されることはない。そのような不要となった確認用元データを削除するというのが、上述の処理の目的である。別の言葉で言うと、かかる処理は、一度支払に使用された仮想貨幣データ或いは確認用元データが二重に使用されることを防止するということを目的とする。
なお、上述の処理では、決済判定部226で実行される仮想貨幣暗号化データの真正性の判定では、1つの仮想貨幣暗号化データと、1つ或いは複数の確認用暗号化データの対比が必要であった。これは、変形例1、2で述べた総当り的な復号化の処理と同様の性格を持つものであるが、決済判定部226で行われる真正性の判定を、1つの仮想貨幣暗号化データと、1つの確認用暗号化データの一対一の対比により行うことも可能である。
それは、ユーザ端末100で生成される仮想貨幣データに第2実施形態内で既に述べた記番号を含めることにより実現可能である。この場合の仮想貨幣データは例えば、ユーザIDと、記番号と、仮想貨幣暗号化データとを含んだものとする。記番号は、平文であるものとするが、変形例2で述べたように、すべてのユーザ端末100で同一の方法で暗号化されていてもよい。
このような仮想貨幣データを用いる場合、第1記録部224Cに記録されるデータは、確認用元データのみではなく、確認用元データと、その確認用元データに対応する記番号を紐付けたものとする。上述したように主制御部222は記番号を生成可能なのであるから、主制御部222はこのような情報を第1記録部224Cに記録することができる。
また、このような仮想貨幣データを用いる場合、決済装置200に決済端末300等から仮想貨幣データが送られて来た場合、主制御部222は、暗号化部228に暗号化をせよとの指示とともに、ユーザIDのみならず、記番号をも送る。これを受取った暗号化部228は、主制御部222から受取ったユーザIDと同じユーザIDを確認用元データの中に含み、且つ主制御部222から受取った記番号と紐付けられている確認用元データを、第1記録部224Cから読み出す。
このような条件を満たす確認用元データは1つだけであるから、結果として暗号化部228では、その1つの確認用元データから、1つの確認用暗号化データが生成されることになる。
かかる1つの確認用元データが暗号化部228から決済判定部226に送られることにより、決済判定部226では、仮想貨幣暗号化データの真正性の判定のために、1つの仮想貨幣暗号化データと1つの確認用暗号化データとの対比が行われることとなる。
<変形例3>
第1実施形態と第2実施形態との相違は、つまるところ、第1実施形態では、仮想貨幣暗号化データを復号化できたかということにより仮想貨幣暗号化データの真正性を判定したのに対して、第2実施形態では元データから生成された仮想貨幣暗号化データと同じ確認用暗号化データを、元データと同じ確認用元データからから再現できたかということにより仮想貨幣暗号化データの真正性を判定するようになっている、ということである。
つまり、多少正確性を欠くかもしれないが大雑把に言えば、第2実施形態における決済システムと第1実施形態における決済システムの違いは、第1実施形態における決済装置200に含まれる復号化部225の機能を、第2実施形態における決済装置200では、暗号化部228、第1記録部224C及び決済判定部226の機能に置き換えた、ということに尽きる。
そして、第1実施形態では、固定の復号化の方法を実行するようになっていた復号化部225は、変形例2で述べたように、ユーザ端末100の暗号化部125でなされる暗号化の方法の所定のタイミングでの変更に対応して(同期させて)、そこで実行される復号化の方法を変更するように変形することが可能であった。同様に、第2実施形態の暗号化部228、第1記録部224C及び決済判定部226によって実行される復号化の方法も、ユーザ端末100の暗号化部125でなされる暗号化の方法の所定のタイミングでの変更に対応して(同期させて)変更するようにすることが可能である。
変形例3は、そのようなものである。
変形例3による決済システムは、変形例2による決済システムと殆ど同じである。特に、ユーザ端末100及び決済端末300の構成と、そこで実行される処理とは、変形例2におけるそれらと変わるところがない。変形例2の場合と同様に、ユーザ端末100無いに生成される機能ブロックは、図14に示されたようなものであり、鍵生成部126を含んでいる。
また、変形例3における、仮想貨幣データのデータ構造は、変形例2の場合と同様であり、その仮想貨幣データは、第1実施形態の場合と同じ、仮想貨幣暗号化データ、及びユーザIDと、第1実施形態の仮想貨幣データには含まれていなかった本願発明における暗号化条件データと、を含んでいる。暗号化条件データは、これには限られないが変形例2の場合に説明した、記番号或いは記番号データであるものとする。
変形例3における決済システムの変形例2における決済システムとの違いは、上述したように、決済装置200の違いであって、変形例2における決済装置200に含まれる復号化部225の機能を、変形例3における決済装置200では、暗号化部228、第1記録部224C及び決済判定部226の機能に置き換えた、ということである。大雑把にいえば、変形例3の決済システムは、変形例2のユーザ端末100と、変形例2及び第2実施形態で共通する決済端末300と、変形例2の決済装置200及び第2実施形態の決済装置200とを組合せた決済装置200と、を組合せたものであると言える。
以下、主に、変形例2と異なる変形例3の決済システムにおける決済装置200の構成及びそこで行われる処理について説明する。
変形例3の決済装置200のハードウェア的な構成は、変形例2、及び第2実施形態と同じである。変形例3の決済装置200の内部には、変形例2及び第2実施形態の場合と同様に機能ブロックが生成される。変形例3の決済装置200内に生成される機能ブロックを図20に示す。変形例2の機能ブロックのうち、変形例3には復号化部225が存在せず、また、変形例3における機能ブロックには、変形例2には存在しなかった、そして第2実施形態には存在していた、暗号化部228、及び第1記録部224Cが存在している。
変形例3の主制御部222も第2実施形態の主制御部222の場合と同様、制御部220内の全体的な制御を行う。変形例2、第2実施形態の場合と同様、変形例3における主制御部222も、与信判定の処理と決済の処理とを実行するようになっている。
変形例3の主制御部222は、第2実施形態の場合と同様、決済装置200が決済端末300等から決済を求める仮想貨幣データを受付けたとき、仮想貨幣データ(場合によってはそれに含まれる仮想貨幣暗号化データのみ)を決済判定部226に送る他、暗号化部228に、暗号化をせよとの指示を、その仮想貨幣データに含まれていたユーザID、及び記番号とともに送るようになっている。
変形例3の主制御部222が与信判定を行うのは、変形例2、及び第2実施形態の場合と同様、主制御部222が、データ入出力部221から、金額情報を受取った場合である。この場合に主制御部222が、信用情報記録部224Bに記録されているデータを利用するのも変形例2、及び第2実施形態と同様である。変形例3の信用情報記録部224Bに記録されているデータも、変形例2、及び第2実施形態と変わらない。また、主制御部222が与信判定を行った後に行う処理も、変形例2、及び第2実施形態の場合と変わりがない。
変形例2、及び第2実施形態の場合と同様に、変形例3の主制御部222も、決済判定部226から、最終判定データを受取る場合がある。最終判定データを受取った後に主制御部222が実行する処理は、最終判定データが肯定的であろうと否定的であろうと、変形例2と変形例3とで変わりがない。
また、変形例3の主制御部222は、第2実施形態の場合と同様、確認用元データを生成する機能を有している。確認用元データの構造、及びその生成方法は第2実施形態と同様である。変形例3の主制御部222は、第2実施形態の場合と同様に、生成した確認用元データを、第1記録部224Cに記録するようになっている。ただし、変形例3において、第1記録部224Cに記録されるのは、第2実施形態の場合と異なり、元データ、及びそれに対応する記番号である。
暗号化部228は、上述したように、主制御部222から、暗号化をせよとの指示をユーザIDとともに受取る場合がある。
かかる指示を受取った場合、暗号化部228は第1記録部224Cから確認用元データを読み出して、それを暗号化して確認用暗号化データとするようになっている。これ自体は第2実施形態と同じであるが、変形例3では、上述のように暗号化の方法を変更しなければならないので、その点で、暗号化の方法が第2実施形態の場合とは異なる。
暗号化部228は、暗号化の処理を変更させる場合に、アルゴリズム、鍵、或いはその双方の変更を行うことができるが、この実施形態ではこれには限られないが、変形例2の場合と同様に鍵を変更するようになっている。暗号化部228が暗号化の処理に用いる鍵は、変形例2の場合と同様に鍵生成部227から提供される。変形例2における鍵生成部227は、復号化部225に鍵を提供するものであったが、変形例3における鍵生成部227は、暗号化部228に鍵を提供するようになっている。鍵生成部227が鍵を生成するタイミングは、暗号化部228から鍵の生成の依頼を受けたときであるが、そのより具体的なタイミングについては後述することとする。
変形例3の暗号化部228が第1記録部224Cに記録されている多数の確認用元データのうちのどれを読み出すか、また、暗号化部228が第1記録部224Cから読み出した確認用元データをどのようにして暗号化して確認用暗号化データにするかという暗号化の過程の詳細については、後述するものとする。
暗号化部228は、生成した確認用暗号化データを決済判定部226に送るようになっている。
決済判定部226は、上述したように、決済判定を行う。決済判定部226で実行される処理は、第2実施形態と同様である。決済判定部226は、第2実施形態の場合と同じように最終判定データを生成し、それを主制御部222に対して送るようになっている。
変形例3の決済システムの使用方法、及び動作について説明する。
変形例3の決済システムで実行される処理のうち、決済端末300で実行されるS931〜S934の処理はすべて第2実施形態と同じである。また、変形例3の決済システムで実行される処理のうち、ユーザ端末100で実行されるS911〜S918の処理のうちの、元データの暗号化による仮想貨幣暗号化データの生成についてのS916、及び仮想貨幣データの生成についてのS917以外の処理はすべて、第2実施形態と同じである。S916の処理で実行される暗号化の処理は、変形例2で行われる暗号化の処理と同様であり、S917の処理で生成される仮想貨幣データには上述したように記番号である暗号化条件データが含まれている、というのが、変形例3と第2実施形態との差分である。
変形例3の決済システムでも、第2実施形態の場合と同様に、まず、かかるシステムを使用するための準備として、各ユーザ端末100において、ユーザIDの設定を行うとともに、各決済端末300において、決済端末IDの設定を行う。以降の処理は、第2実施形態で実行された、図19に示した処理に準ずる。
まず、ユーザ端末100で、S911からS913の処理が実行され、決済装置200で、S921〜S923の処理が実行される。変形例3におけるこれら処理はすべて第2実施形態と同じである。
他方、変形例3においては、決済装置200で、確認用元データの生成及び確認用元データの第1記録部224Cへの記録(S923A)が実行される。かかる処理は基本的に、第2実施形態の場合と同様である。この後ユーザ端末100で生成される元データと同じ確認用元データが、第2実施形態の場合と同様にして生成される。生成された確認用元データは、主制御部222によって第1記録部224Cに記録されるが、第1記録部224Cに記録される確認用元データには、上述したように記番号が付される。かかる記番号は、第1記録部224Cに記録されるその記番号と紐付けられる確認用元データが、その確認用元データに含まれるユーザIDで特定されるユーザ端末100から何度目に送られてきたか、という回数に対応する連番である。
そして、ユーザ端末100では、第2実施形態の場合と同じようにして、S915の処理が実行され、変形例2の場合と同じようにして、S916の元データの暗号化による仮想貨幣暗号化データの生成の処理が実行される。
S916の処理では、第2実施形態の場合と同様に、暗号化部125は、鍵生成部126に対して鍵の生成を依頼する。そうするとかかる依頼に応じて鍵生成部126が生成した鍵が暗号化部125に提供されるので、暗号化部125は、その鍵と固定のアルゴリズムとを用いて、元データを暗号化する。
その結果得られた仮想貨幣暗号化データは、暗号化部125から主制御部121に送られ、ユーザIDと記番号とが付されて、仮想貨幣データとなる(S917)。
この仮想貨幣データは、ユーザ端末100から決済端末300に引き渡される(S918)。そして、決済端末300で、S931とS932の処理が実行され、決済装置200がその仮想貨幣データを決済端末IDとともに決済端末300から受取る(S924)。
決済装置200において、仮想貨幣データは主制御部222に送られる。
主制御部222は、第2実施形態の場合と同様、その仮想貨幣データ(場合によってはそれに含まれる仮想貨幣暗号化データのみ、以下も同様である。)を決済判定部226に送る他、暗号化部228に、暗号化をせよとの指示を、その仮想貨幣データに含まれていたユーザID、及び記番号とともに送る。
かかる指示を受取った暗号化部228は、確認用元データを暗号化するべく、暗号化の処理の対象となる確認用元データを第1記録部224Cから読み出す。読み出される確認用元データは、第1記録部224Cに記録されている確認用元データのうち、暗号化部228が主制御部222から受取ったユーザIDを含んでおり、且つ暗号化部228が主制御部222から受取った記番号が付されたものである。かかる確認用元データは、1つだけである。
他方、暗号化部228は、鍵生成部227に鍵の生成を依頼する。暗号化部228は、鍵の生成を鍵生成部227に依頼するときに、かかる依頼と一緒に、仮想貨幣データに含まれていたユーザIDと、記番号とを鍵生成部227に送る。鍵生成部227は、受付けたユーザIDと紐付けられていた初期解と、解を生成するためのアルゴリズムとを用いて、変形例2の場合と同様に、そのユーザIDで特定されるユーザ端末100で生成されるのと同じ解を生成する。復号化部225が、幾つ目までの解を連続して生成するかは、変形例2の場合と同様に、「記番号で特定される数字」番目までの解までである。鍵生成部227は、最後に生成した解を、復号化に用いる解として、鍵生成部227は、復号化部225に送る。なお、ここでは記番号を用いたイベント同期について説明したが、ユーザ端末100の鍵生成部126と、決済装置200の鍵生成部227とで同じ鍵を生成するために、時間同期を採用しても良い。そのためには、記番号ではなく、時刻情報が利用されることになろう。
暗号化部228は、第1記録部224Cから読み出した1つの確認用元データを、鍵生成部227から受取った1つの鍵と、固定のアルゴリズムとで暗号化する(S925A)。
そして、決済判定部226は、主制御部222から送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データと、暗号化部228から受付けた確認用暗号化データとの一致をみることにより、第2実施形態の決済判定部226で実行されたのと同様の判定を行う(S926)。
その後、第2実施形態で説明した、決済装置200で実行されるS927の処理、及び決済端末300で実行されるS933、S934の処理が、変形例3でも実行される。
なお、変形例3でも、総当り的なアプローチを採用することができる。その場合には、例えば、ユーザ端末100で生成される仮想貨幣データには記番号が含まれない。
この場合、暗号化部228で実行される暗号化の処理の内容が、変形例3で述べた上述の場合と異なるものとなる。暗号化の処理を行えとの指示を主制御部222から受取った暗号化部228は、かかる指示とともに主制御部222からユーザIDを受け取っている。
かかる指示を受取った暗号化部125は、確認用元データを暗号化するべく、暗号化の処理の対象となる確認用元データを第1記録部224Cから読み出す。読み出される確認用元データは、第1記録部224Cに記録されている確認用元データのうち、暗号化部228が主制御部222から受取ったユーザIDを含んでいるものである。かかる確認用元データは、1つだけの場合もあるし複数である場合もある。
他方、暗号化部228は、鍵生成部227に鍵の生成を依頼する。暗号化部228は、鍵の生成を鍵生成部227に依頼するときに、かかる依頼と一緒に、仮想貨幣データに含まれていたユーザIDを鍵生成部227に送る。ここで、鍵生成部227は、受付けたユーザIDと紐付けられていた初期解と、解を生成するためのアルゴリズムとを用いて、多数の解を生成する。解の数は、それだけの解(鍵)があれば、そのうちのどれかがユーザ端末100で、仮想貨幣暗号化データを生成する際に使われたものであるという確率が、事実上100%とみなせるだけの多数である。鍵生成部227は、その多数の解(鍵)をすべて暗号化部228に送る。なお、ユーザ端末100の鍵生成部126と、決済装置200の鍵生成部227とで同じ鍵を生成するために、イベント同期を採用しても良いし、時間同期を採用しても良いが、鍵の数に着目するのであれば、時間同期の場合必要な鍵の数が膨大になる可能性がある。その場合には、後述するような仮想貨幣データの有効期間を利用することが必要となろう。
暗号化部228は、第1記録部224Cから読み出した1つ以上の確認用元データを、鍵生成部227から受取った多数の鍵と、固定のアルゴリズムとで暗号化する。かかる処理は、確認用元データが複数の場合には、各確認用元データのすべてについてそれぞれ実行される。
その結果、暗号化部228では、鍵生成部227が生成した鍵の数に暗号化部228が第1記録部224Cから読み出した確認用元データの数を乗じた数の、多数の確認用暗号化データが生成される。多数の確認用暗号化データはすべて、暗号化部228から決済判定部226へと送られる。
そして、決済判定部226は、主制御部222から送られてきた仮想貨幣データに含まれていた仮想貨幣暗号化データが、暗号化部228から受付けた多数の確認用暗号化データのうちの1つと一致するか否かにより、決済判定を行う。仮想貨幣暗号化データが、多数の確認用暗号化データのうちの1つと一致した場合には決済判定の結果は肯定的なものとなり、多数の確認用暗号化データのどれとも一致しなかった場合には決済判定の結果は否定的なものとなる。
なお、この場合にも、暗号化部228が実行する暗号化の処理の回数が余りにも多くなり過ぎるようであれば、変形例2で説明した、仮想貨幣データに有効期間を与えるというアプローチを変形例3に応用することが可能である。この場合には、変形例2で説明したのと同様の過去データ記録部224Aを、決済装置200の機能ブロック内に生成して、それを、タイムスタンプの如き時刻情報が含まれた仮想貨幣データとともに、変形例2で説明したのと同様の方法で利用することとすれば良い。
≪第3実施形態≫
第3実施形態による決済システムは、第2実施形態による決済システムと殆ど同じである。特に、ユーザ端末100と、決済端末300との構成、及びそこで実行される処理は、第2実施形態におけるそれらと変わるところがない。また、仮想貨幣データのデータ構造も第2実施形態と同じである。
主に異なるのは、決済装置200の構成、及びそこで実行される処理である。とはいえ、第3実施形態の決済装置200の構成、及びそこで実行される処理の大半は、第2実施形態の場合と同じである。
第2実施形態の決済装置200と第3実施形態の決済装置200とは、確認用元データを暗号化して生成された確認用暗号化データを決済判定に用いる、という点では共通する。しかしながら、第2実施形態の決済装置200では、予め生成しておいた確認用元データを、その確認用元データと同じ元データから生成された仮想貨幣暗号化データを含む仮想貨幣データを決済端末300等から受取ってから暗号化して確認用暗号化データにするようになっているのに対して、第3実施形態の決済装置200では、生成した確認用元データを、その確認用元データと同じ元データから生成された仮想貨幣暗号化データを含む仮想貨幣データを決済端末300等から受取る前に暗号化して確認用暗号化データとするという点で、第2実施形態の決済装置200と第3実施形態の決済装置200とは異なる。
上述したように、第3実施形態ではユーザ端末100、及び決済端末300の構成、及びそれらが実行する処理は第1実施形態と変わらない。第3実施形態における仮想貨幣データは、第1実施形態の場合と同様に、仮想貨幣暗号化データにユーザIDを付したものである。
以下、主に、第2実施形態と異なる第3実施形態の決済システムにおける決済装置200の構成及びそこで行われる処理について説明する。
第3実施形態の決済装置200のハードウェア的な構成は、第2実施形態と同じである。第3実施形態の決済装置200の内部には、第2実施形態の場合と同様に機能ブロックが生成される。第3実施形態の決済装置200の内部に生成される機能ブロックを図21に示す。第3実施形態の決済装置200における機能ブロックは、概ね第2実施形態におけるそれらと変わりないが、第2実施形態のときに存在した第1記録部224C5が存在せず、その代わりに第2記録部224Dが存在する。
第3実施形態の主制御部222も第2実施形態の場合と同様、制御部220内の全体的な制御を行う。第2実施形態の場合と同様、第3実施形態における主制御部222も、与信判定の処理と決済の処理とを実行するようになっている。
ただし、第2実施形態の場合には、主制御部222は、決済装置200が決済端末300等から決済を求める仮想貨幣データを受付けた後、仮想貨幣データ(場合によってはそれに含まれる仮想貨幣暗号化データのみ)を決済判定部226に送る他、暗号化部228に、暗号化をせよとの指示を、その仮想貨幣データに含まれていたユーザIDとともに送るようになっていたが、第3実施形態の主制御部222は、決済装置200が決済端末300等から決済を求める仮想貨幣データを受付けた後に、仮想貨幣データ(場合によってはそれに含まれる仮想貨幣暗号化データのみ)を決済判定部226に送るようになっているものの、暗号化部228に暗号化をせよとの指示を送ることはない。第3実施形態の主制御部222が、暗号化をせよとの指示を暗号化部228に送るのは、決済装置200が決済端末300等から決済を求める仮想貨幣データを受付けるか否かとは無関係であり、例えば仮想貨幣データを受付ける前、これには限られないがこの実施形態では、主制御部222が許可情報を生成した直後のタイミングである。また、第3実施形態における主制御部222は、暗号化部228に暗号化をせよとの指示を送る場合、かかる指示とともに確認用元データをも暗号化部228に送るようになっている。
第3実施形態の主制御部222が与信判定を行うのは、第2実施形態の場合と同様、主制御部222が、データ入出力部221から、金額情報を受取った場合である。この場合に主制御部222が、信用情報記録部224Bに記録されているデータを利用するのも第2実施形態と同様である。第3実施形態の信用情報記録部224Bに記録されているデータも、第2実施形態と変わらない。また、主制御部222が与信判定を行った後に行う処理も、第2実施形態と第3実施形態とで変わりがない。
第2実施形態の場合と同様に、第3実施形態の主制御部222も、決済判定部226から、最終判定データを受取る場合がある。最終判定データを受取った後に主制御部222が実行する処理は、最終判定データが肯定的であろうと否定的であろうと、第2実施形態と第3実施形態とで変わりがない。
また、第3実施形態の主制御部222は、第2実施形態の主制御部222と同じく確認用元データを生成する機能を有している。第3実施形態の主制御部222が有するかかる機能は第2実施形態の場合と同じである。
暗号化部228は、上述したように、主制御部222から、確認用元データを受取る場合がある。
かかる指示を受取った場合、暗号化部228は主制御部222から受取った確認用元データを暗号化するようになっている。暗号化部228が確認用元データを暗号化することによって生成されるのが、確認用暗号化データである。確認用暗号化データは、ユーザ端末100の暗号化部125で元データを暗号化して生成される仮想貨幣暗号化データと同じものとなるようになっている。
暗号化部228が主制御部222から受取った確認用元データをどのようにして暗号化して確認用暗号化データにするかという暗号化の過程の詳細については、後述するものとする。
暗号化部228は、生成した確認用暗号化データを第2記録部224Dに記録するようになっている。第2記録部224Dには、多数の確認用暗号化データが記録されることになる。
決済判定部226には、上述したように、主制御部222から仮想貨幣データ(又はそれに含まれていた仮想貨幣暗号化データ)が送られてくることがある。これを受取った場合、決済判定部226は、決済判定を行う。その結果、決済判定部226は、決済を認めること、及び決済を認めないことのいずれかの内容を含むデータである最終判定データを生成する。
かかる決済判定の過程は、第2実施形態と第3実施形態とで異なる。第3実施形態の決済判定部226が最終判定データをどのようにして生成するかについては後述するものとする。
いずれにせよ、最終判定データを生成したら、決済判定部226はそれを主制御部222に対して送るようになっている。
次に第3実施形態における決済システムの使用方法、及び動作について図22を参照しながら説明する。
第3実施形態でも、第2実施形態の場合と同様に、まず、かかるシステムを使用するための準備として、各ユーザ端末100において、ユーザIDの設定を行うとともに、各決済端末300において、決済端末IDの設定を行う。
以後、ユーザ端末100で実行されるS911〜S918の処理は、第2実施形態と同一であり、決済端末300で実行されるS931〜S934の処理も第2実施形態と同一である。また、決済装置200で実行されるS921〜S923までの処理と、S924、S927の処理も第2実施形態と同一である。
以下、それら処理も含めて説明する。
第3実施形態でも、まず、仮想貨幣データが生成される。
第3実施形態でも、第2実施形態の場合と同様に、これには限られないが、仮想貨幣データの生成は、開始情報をユーザが自らのユーザ端末100に入力することから始まる(S911)。
ディスプレイ101の表示にしたがいユーザは、ユーザIDと金額情報とをそれぞれ入力する(S912)。次いで、ユーザIDと金額情報とが、データ入出力部123から主制御部121に送られる。ユーザIDと金額情報は、送受信部からネットワーク400を介して、決済装置200に送られる(S913)。
決済装置200は、その送受信部でユーザIDと金額情報とを受取る(S921)。送受信部はそれらユーザIDと金額情報とをデータ入出力部221に送り、データ入出力部221はそのデータを主制御部222に送る。
主制御部222は、与信判定を行う(S922)。かかる与信判定の処理は第2実施形態と第3実施形態で変わりがない。主制御部222は、与信判定を行う場合、信用情報記録部224Bに記録されているデータを用いる。
いずれにせよ、主制御部222は、ユーザの与信が認められた場合には、許可情報を生成する。許可情報は、ネットワーク400を介してユーザ端末100に送られる(S923)。
ユーザ端末100は、その送受信部で許可情報を受取る(S914)。
許可情報を受取るとユーザ端末100の主制御部121は、先に受け取っていたユーザIDと金額情報とに基いて元データを生成する(S915)。この元データは、第2実施形態の場合と同様に暗号化部125に送られ、それを受取った暗号化部125は、元データを暗号化して仮想貨幣暗号化データとする(S916)。なお、第3実施形態でも、第2実施形態の場合と同様に、各ユーザ端末100の暗号化部125で実行される暗号化の方法は、固定された1つの方法である。また、そして、主制御部121は、かかる仮想貨幣暗号化データに基いて仮想貨幣データを生成する(S917)。
このように、ユーザ端末100では、許可情報を決済装置200から受取ると、それを契機に仮想貨幣データが生成乃至発行される。他方、第3実施形態では、それと並行して、確認用元データの生成(S923B)と、確認用元データを暗号化することによる確認用暗号化データの生成及び第2記録部224Dへの記録(S923C)とが行われる。かかるS923Bと、S923Cの処理は、例えば、許可情報の送信についてのS923の処理の直後に行われる。
上述したように、S921で、決済装置200は、ユーザ端末100からユーザID及び金額情報を受取る。ユーザIDと金額情報とは、主制御部222によって受け取られる。これらに基づき、主制御部222は、第2実施形態の場合と同じようにして確認用元データを生成する(S923B)。ここで、確認用元データは、確認用元データの元となるユーザID及び金額情報を送って来たユーザ端末100で、当該ユーザID及び金額情報に基いて生成された許可情報を受取ったユーザ端末100の主制御部121が生成する元データと同じものとなるようにする。
主制御部222は、生成した確認用元データを、暗号化をせよとの指示とともに暗号化部228へと送る。
確認用元データとともに暗号化を行なえという指示を受取った暗号化部228は、確認用元データを暗号化する処理を実行して確認用元データから確認用暗号化データを生成する(S923C)。
確認用元データは、上述のようにユーザIDを含んでいる。他方、暗号化部228は、すべてのユーザ端末100で使用される鍵を保持している。暗号化部228は、そのユーザIDで特定されるユーザ端末100で使用される鍵と、固定の暗号化の処理のためのアルゴリズムを用いて、主制御部222から受取った確認用元データを暗号化する。
その結果、確認用元データは暗号化され、確認用暗号化データに変換されることになる。生成された確認用暗号化データを、暗号化部228は第2記録部224Dへと書き込む。
他方、仮想貨幣データが発行されたら、ユーザは、支払いを行う相手側である、例えば店舗の店員が管理する決済端末300に対して、ユーザ端末100から仮想貨幣データを引き渡す(S918)。
決済端末300は、ユーザ端末100から仮想貨幣データを受領する(S931)。
仮想貨幣データは、決済端末IDとともに、決済端末300からネットワーク400を介して決済装置200に送られる(S932)。
決済装置200は、その送受信部で、決済端末IDのデータと仮想貨幣データとを受取る(S924)。決済端末IDの付された仮想貨幣データは、第2実施形態と同様に主制御部222に送られる。
それらを受取った主制御部222は、決済端末IDのデータと仮想貨幣データ(場合によっては、仮想貨幣データに含まれていた仮想貨幣暗号化データ)とを決済判定部226へと送る。
決済判定部226は、主制御部222から仮想貨幣暗号化データ(又はそれに含まれていた仮想貨幣暗号化データ)を受取る。
それを受取った決済判定部226は、決済判定を実行する(S926)。仮想貨幣暗号化データの真正性の判定を行うという目的自体は第2実施形態と変わりないが、第3実施形態で実行されるその判定の方法は、第2実施形態の場合とやや異なる。
決済判定部226は、主制御部222から仮想貨幣データを受取った場合にはそれから仮想貨幣暗号化データを取出し、その仮想貨幣暗号化データと、第2記録部224Dに記録されている多数の確認用暗号化データと比較する。多数の確認用暗号化データの少なくとも1つと仮想貨幣暗号化データが一致した場合には、当該仮想貨幣暗号化データは真正なものであると判定する。逆に、確認用暗号化データのすべてが仮想貨幣暗号化データと一致しなかった場合には、その仮想貨幣暗号化データは真正なものでないと判定する。
このような方法で仮想貨幣暗号化データの真正性の判定を行えるのは、第2実施形態の場合と同様の理由による。繰り返しになるが、第2実施形態と第3実施形態とで異なるのは確認用元データを暗号化して確認用暗号化データにするタイミングのみであるから、確認用暗号化データを用いて仮想貨幣暗号化データの真正性の判定を行える第2実施形態で既に説明した理由により第3実施形態でも仮想貨幣暗号化データの真正性の判定が可能なのである。
第2実施形態の場合と同様にして生成された最終判定データは、決済判定部226から主制御部222に送られる。
主制御部222は、最終判定データを受取り第2実施形態と同様に決済処理を行う。また、第2実施形態の場合と同様に、決済装置200では判定結果データを生成し、判定結果データを、ネットワーク400を介して決済端末300に送信する(S927)。
判定結果データは、決済端末300の送受信部によって受取られる(S933)。その結果、決済端末300のディスプレイには、判定結果データに応じた表示が行われる(S934)。
以上により第3実施形態による、仮想貨幣データを使用しての、ユーザから決済端末300の管理者への支払いの処理が終了する。
なお、以上の説明では、仮想貨幣データにはユーザIDが含まれているものとしていたが、かかるユーザIDは決済判定の実行に関するS926で使用されていない。つまり、第3実施形態ではユーザIDは、機能していない浮いた状態となっているので、実際のところ第3実施形態では仮想貨幣データはユーザIDを含んでいなくても構わない。
もっとも仮想貨幣データに含まれているユーザIDを以下のようにして利用することもできる。その場合、第2記録部224Dに記録されるデータを若干変える。上述したように第2記録部224Dには、暗号化部228で生成された確認用暗号化データが多数記録されている。ユーザIDを利用する場合には、暗号化部228は、第2記録部224Dに、確認用暗号化データと紐付けて、その確認用暗号化データの元となった確認用元データに含まれていたユーザIDを記録するようになっていれば良い。こうすることで、第2記録部224Dに記録された確認用暗号化データは、ユーザID毎にタグ付けされた状態となる。
そして、決済判定部226が主制御部222から受取った仮想貨幣データに含まれていた仮想貨幣暗号化データと同一の確認用暗号化データを第2記録部224Dの中から探すときに、決済判定部226が、当該仮想貨幣データに含まれていたユーザIDと同一のユーザIDにタグ付けられている確認用暗号化データのみを、仮想貨幣暗号化データと同一の確認用暗号化データを探す対象とするようにする。第3実施形態はそもそもが、既に述べた総当り的なアプローチを実行するものとなっているが、このようにすることにより、総当り的な同一性の判定を行う対象を減らすことができる。
第3実施形態でも、第2実施形態の場合と同様に、使用済みの、つまり仮想貨幣暗号化データと一致した確認用暗号化データを第2記録部224Dから削除するようにすることが可能である。
<変形例4>
変形例4と第3実施形態の関係は、変形例3と第2実施形態の関係と同じである。つまり、変形例4では、変形例3の場合と同様に、ユーザ端末100の暗号化部125で実行される暗号化の方法も、決済装置200の暗号化部228で実行される暗号化の方法も、変化するものとされる。
変形例4は、上述の点を除けば、第3実施形態と同じである。決済端末300は、その構成、及びそこで実行される処理のすべてが第3実施形態と同じでよく、変形例4ではそうされている。ユーザ端末100は、変形例3のユーザ端末100と、その構成、及びそこで実行される処理のすべてを同じくする。
以下、主に、第3実施形態と異なる変形例4の決済システムにおける決済装置200の構成及びそこで行われる処理について説明する。
変形例4の決済装置200のハードウェア的な構成は、第3実施形態と同じである。変形例4の決済装置200の内部には、第3実施形態の場合と殆ど同じ機能ブロックが生成されるが、鍵生成部227が存在する点でのみ第3実施形態の場合と異なる。
変形例4の主制御部222も第3実施形態の主制御部222の場合と同様、制御部220内の全体的な制御を行う。第3実施形態の場合と同様、変形例4における主制御部222も、与信判定の処理と決済の処理とを実行するようになっている。与信判定の処理と、決済の処理は、第3実施形態の場合と同じである。信用情報記録部224Bに記録されるデータ、及びそのデータが与信判定に用いられることも第3実施形態と同じである。
変形例4の主制御部222は、第3実施形態の場合と同様、確認用元データを生成する機能を有している。確認用元データの構造、及びその生成方法は第3実施形態と同様である。変形例4の主制御部222は、第3実施形態の場合と同様に、生成した確認用元データを、暗号化を行えという指示とともに暗号化部125へと送るようになっている。
暗号化部228は、上述したように、主制御部222から、暗号化をせよとの指示を確認用元データとともに受取る場合がある。
かかる指示を受取った場合、暗号化部228は、主制御部222から受取った確認用元データを暗号化して確認用暗号化データとするようになっている。これ自体は第3実施形態と同じであるが、変形例4では、上述のように暗号化の方法を変更しなければならないので、その点で、暗号化の方法が第3実施形態の場合とは異なる。
暗号化部228は、暗号化の処理を変更させる場合に、アルゴリズム、鍵、或いはその双方の変更を行うことができるが、この実施形態ではこれには限られないが、変形例3の場合と同様に鍵を変更するようになっている。暗号化部228が暗号化の処理に用いる鍵は、変形例3の場合と同様に鍵生成部227から提供される。鍵生成部227が鍵を生成するタイミングは、暗号化部228から鍵の生成の依頼を受けたときであり、変形例3のときと変わらない。
変形例4の暗号化部228が確認用元データをどのようにして暗号化して確認用暗号化データにするかという暗号化の過程の詳細については、後述するものとする。
暗号化部228は、生成した確認用暗号化データを、第3実施形態の場合と同様に第2記録部224Dに書き込むようになっている。
決済判定部226は、上述したように、決済判定を行う。決済判定部226で実行される処理は、第3実施形態と同様である。決済判定部226は、第3実施形態の場合と同じように最終判定データを生成し、それを主制御部222に対して送るようになっている。
変形例4の決済システムの使用方法、及び動作について説明する。
変形例4の決済システムで実行される処理は、基本的に図22に示したとおりである。異なるのは、ユーザ端末100におけるS916の処理の詳細と、決済装置200におけるS923Cの処理の詳細である。どちらも、暗号化の方法が変化するという点で、第3実施形態と異なっている。
変形例4の決済システムでも、第3実施形態の場合と同様に、まず、かかるシステムを使用するための準備として、各ユーザ端末100において、ユーザIDの設定を行うとともに、各決済端末300において、決済端末IDの設定を行う。
まず、ユーザ端末100で、S911からS913の処理が実行され、決済装置で、S921〜S923の処理が実行される。変形例4におけるこれら処理はすべて第3実施形態と同じである。
ユーザ端末100は、その送受信部で許可情報を受取る(S914)。
そこから、ユーザ端末100では、S914〜917の処理が実行されて、仮想貨幣データが生成、或いは発行される。これら過程は、変形例3で述べたユーザ端末100で実行される各処理と同一である。
このように、ユーザ端末100では、許可情報を決済装置200から受取ると、それを契機に仮想貨幣データが生成乃至発行される。他方、変形例4では、第3実施形態と同様に、それと並行して、確認用元データの生成(S923B)と、確認用元データを暗号化することによる確認用暗号化データの生成及び第2記録部224Dへの記録(S923C)とが行われる。かかるS923Bと、S923Cの処理は、第3実施形態の場合と同様に、例えば、許可情報の送信についてのS923の処理の直後に行われる。
上述したように、S921で、決済装置200は、ユーザ端末100からユーザID及び金額情報を受取る。第3実施形態の場合と同様に、これらに基づき、主制御部222は、確認用元データを生成する(S923B)。
主制御部222は、生成した確認用元データを、暗号化をせよとの指示とともに暗号化部228へと送る。
確認用元データとともに暗号化を行なえという指示を受取った暗号化部228は、確認用元データを暗号化する処理を実行して確認用元データから確認用暗号化データを生成する(S923C)。
暗号化部228は、確認用元データを暗号化するための鍵を入手すべく、鍵の生成を鍵生成部227に依頼する。そのとき、暗号化部228は、確認用元データに含まれていたユーザIDを、鍵の生成の依頼とともに鍵生成部227に送る。
鍵生成部227は、変形例3の場合と同様に、受付けたユーザIDと紐付けられていた初期解と、解を生成するためのアルゴリズムとを用いて、そのユーザIDで特定されるユーザ端末100で生成されるのと同じ解を生成する。ここで、鍵生成部227が、幾つ目までの解を連続して生成するかは、「直前に生成された解の次の解」までの解までである。ユーザ端末100で生成される解と、決済端末300で生成される解とは、同じ順番で生成されたもの同士を比較すれば同じものとなるように同期させられているから、決済端末300の鍵生成部227は、ユーザ端末100の鍵生成部126と同じ鍵を生成することができる。なお、同じ鍵を生成することができるのはイベント同期でも、時間同期でも同様であるから、鍵生成部126及び鍵生成部227は、ここで説明したが如きイベント同期ではなく、時間同期によって鍵を同期させて生成するようになっていても良い。
鍵生成部227は、最後に生成した解を、復号化に用いる解として、鍵生成部227は、暗号化部228に送る。
暗号化部228は、鍵生成部227から受取った鍵と、固定の暗号化の処理のためのアルゴリズムを用いて、主制御部222から受取った確認用元データを暗号化する。
その結果、確認用元データは暗号化され、確認用暗号化データに変換されることになる。生成された確認用暗号化データを、暗号化部228は第2記録部224Dへと書き込む。
以降の決済装置200と、決済端末300で行われる処理は、第3実施形態とすべて同じである。
なお、以上の説明では、仮想貨幣データにはユーザIDが含まれているものとしていたが、第3実施形態の場合と同様の理由で、仮想貨幣データはユーザIDを含んでいなくても構わない。もっとも変形例4でも、仮想貨幣データに含まれているユーザIDを第3実施形態の場合と同様の目的、態様で、利用可能である。
変形例4でも、第3実施形態の場合と同様に、使用済みの確認用暗号化データを第2記録部224Dから削除するようにすることが可能である。
100 ユーザ端末
101 ディスプレイ
102 入力装置
120 制御部
121 主制御部
122 表示制御部
123 データ入出力部
124 ユーザ端末記録部
125 暗号化部
126 鍵生成部
200 決済装置
220 制御部
221 データ入出力部
222 主制御部
224A 過去データ記録部
224B 信用情報記録部
224C 第1記録部
224D 第2記録部
225 復号化部
226 決済判定部
227 鍵生成部
300 決済端末
320 制御部
321 主制御部
322 表示制御部
323 データ入出力部
400 ネットワーク

Claims (28)

  1. 所定のネットワークにそのそれぞれが接続可能とされた、
    そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、
    前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、
    を含んで構成されている仮想貨幣データ発行システムであって、
    前記ユーザ端末における、
    前記ユーザ端末入力手段は、
    ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、
    前記ユーザ端末情報処理手段は、
    前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザIDを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第1情報処理手段、
    を備えており、
    前記管理装置における、
    前記管理装置送受信手段は、
    前記ユーザ端末から、前記ユーザIDを付された前記金額情報を受付けるようになっており、
    前記管理装置情報処理手段は、
    前記管理装置送受信手段で受付けた前記ユーザIDで特定されるユーザが、当該ユーザIDが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、
    前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第1情報処理手段と、
    を備えており、
    前記ユーザ端末における、
    前記ユーザ端末送受信手段は、
    前記管理装置から、前記発行許可情報を受取るようになっており、
    前記ユーザ端末情報処理手段は、
    前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、
    前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第2情報処理手段と、
    を備えている、
    仮想貨幣データ発行システム。
  2. 所定のネットワークにそのそれぞれが接続可能とされた、
    そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、
    前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、
    を含んで構成されている仮想貨幣データ発行システムを、前記管理装置との組合せによって構成するユーザ端末であって、
    前記ユーザ端末入力手段は、
    ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、
    前記ユーザ端末情報処理手段は、
    前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザIDを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第1情報処理手段、
    を備えており、
    前記管理装置における、
    前記管理装置送受信手段は、
    前記ユーザ端末から、前記ユーザIDを付された前記金額情報を受付けるようになっており、
    前記管理装置情報処理手段は、
    前記管理装置送受信手段で受付けた前記ユーザIDで特定されるユーザが、当該ユーザIDが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、
    前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第1情報処理手段と、
    を備えており、
    前記ユーザ端末送受信手段は、
    前記管理装置から、前記発行許可情報を受取るようになっており、
    前記ユーザ端末情報処理手段は、
    前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、
    前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第2情報処理手段と、
    を備えている、
    ユーザ端末。
  3. 前記ユーザ端末暗号化手段は、常に同じ方法で前記元データを暗号化するようになっている、
    請求項2記載のユーザ端末。
  4. 前記ユーザ端末暗号化手段は、所定のタイミングで、前記元データを暗号化する方法を変更するようになっている、
    請求項2記載のユーザ端末。
  5. 前記ユーザ端末暗号化手段は、前記元データを暗号化する度に、前記元データを暗号化する方法を変更させるようになっている、
    請求項4記載のユーザ端末。
  6. 前記ユーザ端末情報処理手段は、前記ユーザ端末毎に異なる初期解に基づいて、文字、数字、記号の少なくとも1つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができるユーザ端末解生成手段を備えており、
    前記ユーザ端末暗号化手段は、前記ユーザ端末解生成手段から提供された前記解に基いて前記元データを暗号化する方法を変更するようになっている、
    請求項4又は5記載のユーザ端末。
  7. 前記ユーザ端末第2情報処理手段は、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データが暗号化されたときにおいて、前記ユーザ端末暗号化手段で実行された暗号化の条件を特定するための暗号化条件データを付加して前記仮想貨幣データとするようになっている、
    請求項4〜6のいずれかに記載のユーザ端末。
  8. 前記ユーザ端末第2情報処理手段は、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データを暗号化した前記ユーザ端末を特定するユーザIDを付加して前記仮想貨幣データとするようになっている、
    請求項4〜6のいずれかに記載のユーザ端末。
  9. 所定のネットワークにそのそれぞれが接続可能とされた、
    そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、
    前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、
    を含んで構成されている仮想貨幣データ発行システムを、前記ユーザ端末との組合せによって構成する管理装置であって、
    前記ユーザ端末における、
    前記ユーザ端末入力手段は、
    ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、
    前記ユーザ端末情報処理手段は、
    前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザIDを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第1情報処理手段、
    を備えており、
    前記管理装置送受信手段は、
    前記ユーザ端末から、前記ユーザIDを付された前記金額情報を受付けるようになっており、
    前記管理装置情報処理手段は、
    前記管理装置送受信手段で受付けた前記ユーザIDで特定されるユーザが、当該ユーザIDが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、
    前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第1情報処理手段と、
    を備えており、
    前記ユーザ端末における、
    前記ユーザ端末送受信手段は、
    前記管理装置から、前記発行許可情報を受取るようになっており、
    前記ユーザ端末情報処理手段は、
    前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、
    前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第2情報処理手段と、
    を備えている、
    管理装置。
  10. 前記管理装置送受信手段は、前記ネットワークを介して、いずれかの前記ユーザ端末で生成された仮想貨幣データを、その仮想貨幣データを生成した前記ユーザ端末か或いはその仮想貨幣データを生成した前記ユーザ端末から直接或いは間接的にそれを譲り受けた何らかの装置から受付けるようになっているとともに、
    前記管理装置情報処理手段は、
    前記ユーザ端末から受付けた前記仮想貨幣データが真正なものである場合に、前記仮想貨幣データの送信元の装置のユーザに対する、前記仮想貨幣データに含まれる仮想貨幣暗号化データに暗号化して含まれる前記金額情報で特定される金額の決済を認める決済手段を備えている、
    請求項9記載の管理装置。
  11. 前記管理装置情報処理手段は、前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データを復号化するための管理装置復号化手段を備えており、
    前記決済手段は、前記管理装置復号化手段で前記仮想貨幣暗号化データを復号化できた場合に、当該仮想貨幣暗号化データが含まれていた前記仮想貨幣データが真正なものであるとして前記決済を認めるようになっている、
    請求項10記載の管理装置。
  12. 前記ユーザ端末暗号化手段は、常に同じ方法で前記元データを暗号化するようになっており、
    前記管理装置復号化手段は、同じユーザ端末で発生させられた仮想貨幣データの真正性を確認する場合には、常に同じ方法で前記仮想貨幣暗号化データを復号化するようになっている、
    請求項11記載の管理装置。
  13. 前記ユーザ端末暗号化手段は、所定のタイミングで、前記元データを暗号化する方法を変更するようになっているとともに、
    前記管理装置復号化手段は、前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データを復号化する場合に、当該仮想貨幣暗号化データを暗号化したときの方法に対応した方法で、当該仮想貨幣暗号化データを復号化するようになっている、
    請求項11記載の管理装置。
  14. ユーザ端末第2情報処理手段は、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データが暗号化されたときにおいて、前記ユーザ端末暗号化手段で実行された暗号化の条件を特定するための暗号化条件データを付加するようになっており、
    前記管理装置復号化手段は、前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データを復号化する場合に、その仮想貨幣暗号化データとともに前記仮想貨幣データに含まれていた前記暗号化条件データにより、当該仮想貨幣暗号化データの復号化の方法を決定するようになっている、
    請求項13記載の管理装置。
  15. 前記ユーザ端末情報処理手段は、前記ユーザ端末毎に異なる初期解に基づいて、文字、数字、記号の少なくとも1つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができるユーザ端末解生成手段を備えており、前記ユーザ端末暗号化手段は、前記ユーザ端末解生成手段から提供された前記解に基いて前記元データを暗号化する方法を変更するようになっているとともに、
    前記管理装置情報処理手段は、前記ユーザ端末のそれぞれが有するのと同じ初期解を記録しているとともに、当該解に基いて、前記ユーザ端末のそれぞれが持つ前記ユーザ端末解生成手段で生成される前記解と同じ前記解を生成することができるサーバ解生成手段を備えており、前記管理装置復号化手段は、前記管理装置解生成手段から提供された前記解に基いて、前記仮想貨幣暗号化データの復号化の方法を決定するようになっている、
    請求項13記載の管理装置。
  16. 前記ユーザ端末第2情報処理手段は、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データを暗号化した前記ユーザ端末を特定するユーザIDを付加して前記仮想貨幣データとするようになっており、
    前記管理装置復号化手段は、前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データを復号化する場合に、その仮想貨幣暗号化データとともに前記仮想貨幣データに含まれていた前記ユーザIDにより、当該仮想貨幣暗号化データの復号化の方法を決定するようになっている、
    請求項13記載の管理装置。
  17. 前記管理装置情報処理手段は、
    前記管理装置送受信手段で受取った前記金額情報を含む、前記ユーザ端末において暗号化されたものと同じ元データを暗号化して確認用暗号化データを生成する管理装置暗号化手段と、
    前記管理装置送受信手段で受取った前記仮想貨幣データに含まれる仮想貨幣暗号化データと、前記管理装置暗号化手段で生成された前記確認用暗号化データとを比較し、両者が一致した場合に当該仮想貨幣暗号化データが含まれていた前記仮想貨幣データが真正なものであると判定する判定手段と、
    を備えており、
    前記決済手段は、前記判定手段が、前記仮想貨幣データが真正なものであると判定した場合に、前記決済を認めるようになっている、
    請求項10記載の管理装置。
  18. 前記管理装置情報処理手段は、前記管理装置送受信手段で受取った前記金額情報を含む前記ユーザ端末において暗号化されたものと同じ元データを記録する第1記録手段を備えているとともに、
    前記管理装置暗号化手段は、前記管理装置送受信手段で前記仮想貨幣データを受取った場合に、当該仮想貨幣データに含まれる前記仮想貨幣暗号化データの元となったものと同じ元データを前記第1記録手段から読み出してそれを暗号化するようになっている、
    請求項17記載の管理装置。
  19. 前記管理装置情報処理手段は、前記確認用暗号化データを記録する第2記録手段を備えているとともに、
    前記判定手段は、前記管理装置送受信手段が前記仮想貨幣データを受取った場合に、前記第2記録手段に記録されている確認用暗号化データと、前記管理装置送受信手段が受取った前記仮想貨幣データに含まれている仮想貨幣暗号化データとを比較し、前記仮想貨幣暗号化データと同じ前記確認用暗号化データが前記第2記録手段に記録されていた場合には、当該仮想貨幣暗号化データに含まれていた前記仮想貨幣データが真正なものであると判定するようになっている、
    請求項17記載の管理装置。
  20. 前記ユーザ端末暗号化手段は、常に同じ方法で前記元データを暗号化するようになっており、
    前記管理装置暗号化手段は、同じユーザ端末で発生させられた仮想貨幣データの真正性を確認する場合には、常に同じ方法で前記元データを暗号化するようになっている、
    請求項17〜19のいずれかに記載の管理装置。
  21. 前記ユーザ端末暗号化手段は、所定のタイミングで、前記元データを暗号化する方法を変更するようになっているとともに、
    前記管理装置暗号化手段は、前記元データを暗号化する場合に、当該元データと同じ元データが前記ユーザ端末暗号化手段で暗号化されたときの方法と同じ方法で、当該元データを暗号化するようになっている、
    請求項17〜19のいずれかに記載の管理装置。
  22. 前記ユーザ端末第2情報処理手段は、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データが暗号化されたときにおいて、前記ユーザ端末暗号化手段で実行された暗号化の条件を特定するための暗号化条件データを付加して前記仮想貨幣データとするようになっており、
    前記管理装置暗号化手段は、前記元データを暗号化する場合に、その仮想貨幣暗号化データとともに前記仮想貨幣データに含まれていた前記暗号化条件データにより、当該元データの暗号化の方法を決定するようになっている、
    請求項17〜19のいずれかに記載の管理装置。
  23. 前記ユーザ端末情報処理手段は、前記ユーザ端末毎に異なる初期解に基づいて、文字、数字、記号の少なくとも1つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができるユーザ端末解生成手段を備えており、前記ユーザ端末暗号化手段は、前記ユーザ端末解生成手段から提供された前記解に基いて前記元データを暗号化する方法を変更するようになっているとともに、
    前記管理装置情報処理手段は、前記ユーザ端末のそれぞれが有するのと同じ初期解を記録しているとともに、当該解に基いて、前記ユーザ端末のそれぞれが持つ前記ユーザ端末解生成手段で生成される前記解と同じ前記解を生成することができるサーバ解生成手段を備えており、前記管理装置暗号化手段は、前記管理装置解生成手段から提供された前記解に基いて、前記元データの暗号化の方法を決定するようになっている、
    請求項17〜19のいずれかに記載の管理装置。
  24. 前記ユーザ端末第2情報処理手段は、前記仮想貨幣暗号化データに対して、当該仮想貨幣暗号化データを暗号化した前記ユーザ端末を特定するユーザIDを付加して前記仮想貨幣データとするようになっており、
    前記管理装置暗号化手段は、前記元データを暗号化する場合に、その仮想貨幣暗号化データとともに前記仮想貨幣データに含まれていた前記ユーザIDにより、当該元データの暗号化の方法を決定するようになっている、
    請求項17記載の管理装置。
  25. 所定のネットワークにそのそれぞれが接続可能とされた、
    そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、
    前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、
    を含んで構成されている仮想貨幣データ発行システムを、前記管理装置との組合せによって構成するユーザ端末の前記ユーザ端末情報処理手段にて実行される方法であって、
    前記ユーザ端末情報処理手段によって実行される、
    前記ユーザ端末入力手段によって、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付ける過程、
    前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザIDを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させる過程、
    を含んでおり、
    前記管理装置における、
    前記管理装置送受信手段は、
    前記ユーザ端末から、前記ユーザIDを付された前記金額情報を受付けるようになっており、
    前記管理装置情報処理手段は、
    前記管理装置送受信手段で受付けた前記ユーザIDで特定されるユーザが、当該ユーザIDが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、
    前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第1情報処理手段と、
    を備えており、
    更に前記ユーザ端末情報処理手段が実行する、
    前記ユーザ端末送受信手段により、前記管理装置から、前記発行許可情報を受取る過程、
    前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する過程、
    前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する過程、
    を含んでいる、
    方法。
  26. 所定のネットワークにそのそれぞれが接続可能とされた、
    そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、
    前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、
    を含んで構成されている仮想貨幣データ発行システムを、前記管理装置との組合せによって構成するユーザ端末の前記ユーザ端末情報処理手段として、所定のコンピュータを機能させるためのコンピュータプログラムであって、
    前記コンピュータに、
    前記ユーザ端末入力手段によって、ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付ける過程、
    前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザIDを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させる過程、
    を実行させるとともに、
    前記管理装置における、
    前記管理装置送受信手段は、
    前記ユーザ端末から、前記ユーザIDを付された前記金額情報を受付けるようになっており、
    前記管理装置情報処理手段は、
    前記管理装置送受信手段で受付けた前記ユーザIDで特定されるユーザが、当該ユーザIDが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する与信判定部と、
    前記与信判定部で生成された発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる管理装置第1情報処理手段と、
    を備えており、
    更に前記コンピュータに、
    前記ユーザ端末送受信手段により、前記管理装置から、前記発行許可情報を受取る過程、
    前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する過程、
    前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する過程、
    を実行させるためのコンピュータプログラム。
  27. 所定のネットワークにそのそれぞれが接続可能とされた、
    そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、
    前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、
    を含んで構成されている仮想貨幣データ発行システムを、前記ユーザ端末との組合せによって構成する前記管理装置の前記管理装置情報処理手段にて実行される方法であって、
    前記ユーザ端末における、
    前記ユーザ端末入力手段は、
    ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、
    前記ユーザ端末情報処理手段は、
    前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザIDを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第1情報処理手段、
    を備えており、
    前記管理装置情報処理手段が実行する、
    前記管理装置送受信手段により、前記ユーザ端末から、前記ユーザIDを付された前記金額情報を受付ける過程、
    前記管理装置送受信手段で受付けた前記ユーザIDで特定されるユーザが、当該ユーザIDが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する過程、
    前記発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる過程、
    を含んでおり、
    前記ユーザ端末における、
    前記ユーザ端末送受信手段は、
    前記管理装置から、前記発行許可情報を受取るようになっており、
    前記ユーザ端末情報処理手段は、
    前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、
    前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第2情報処理手段と、
    を備えている、
    方法。
  28. 所定のネットワークにそのそれぞれが接続可能とされた、
    そのそれぞれをユーザが使用するものであり、情報の入力を受付けるユーザ端末入力手段と、前記ネットワークを介してデータの送受信を行うユーザ端末送受信手段と、情報処理を行うユーザ端末情報処理手段とを備えている、金銭的価値を持つデータである仮想貨幣データを生成する、ユーザ端末と、
    前記ネットワークを介してデータの送受信を行う管理装置送受信手段と、情報処理を行う管理装置情報処理手段とを備えている、前記ユーザ端末における前記仮想貨幣データの生成の管理を行う、管理装置と、
    を含んで構成されている仮想貨幣データ発行システムを、前記ユーザ端末との組合せによって構成する前記管理装置の前記管理装置情報処理手段として、所定のコンピュータを機能させるためのコンピュータプログラムであって、
    前記ユーザ端末における、
    前記ユーザ端末入力手段は、
    ユーザが発行を希望する仮想貨幣データで支払われる金額を特定する情報である金額情報を受付けるようになっており、
    前記ユーザ端末情報処理手段は、
    前記ユーザ端末入力手段によって受付けられた前記金額情報に、前記ユーザ端末毎にそれぞれ異なる前記ユーザ端末のそれぞれのユーザを他のユーザ端末のユーザから識別するための情報であるユーザIDを付して、前記ユーザ端末送受信手段から前記ネットワークを介して前記管理装置に送信させるユーザ端末第1情報処理手段、
    を備えており、
    前記コンピュータに、
    前記管理装置送受信手段により、前記ユーザ端末から、前記ユーザIDを付された前記金額情報を受付ける過程、
    前記管理装置送受信手段で受付けた前記ユーザIDで特定されるユーザが、当該ユーザIDが付されていた前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いかの判定を行い、当該ユーザが、前記金額情報で特定される金額の前記仮想貨幣データの発行を行って良いと判定した場合に発行許可情報を生成する過程、
    前記発行許可情報を、前記管理装置送受信手段から前記ネットワークを介して、前記金額情報を送って来た前記ユーザ端末に送信させる過程、
    を実行させるためのものであり、
    前記ユーザ端末における、
    前記ユーザ端末送受信手段は、
    前記管理装置から、前記発行許可情報を受取るようになっており、
    前記ユーザ端末情報処理手段は、
    前記ユーザ端末送受信手段が、前記発行許可情報を受取った場合に、前記金額情報を含む元データを、他のユーザ端末におけるそれとは異なる方法で暗号化することによって仮想貨幣暗号化データを生成する、ユーザ端末暗号化手段と、
    前記仮想貨幣暗号化データに対して、必要に応じたデータを付加することにより、前記仮想貨幣暗号化データを少なくとも含む仮想貨幣データを生成する、ユーザ端末第2情報処理手段と、
    を備えている、
    コンピュータプログラム。
JP2017152669A 2017-08-07 2017-08-07 仮想貨幣データ発行システム、ユーザ端末、管理装置、方法、並びにコンピュータプログラム Active JP7005000B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017152669A JP7005000B2 (ja) 2017-08-07 2017-08-07 仮想貨幣データ発行システム、ユーザ端末、管理装置、方法、並びにコンピュータプログラム
PCT/JP2018/029560 WO2019031487A2 (ja) 2017-08-07 2018-08-07 仮想貨幣データ発行システム、ユーザ端末、管理装置、方法、並びにコンピュータプログラム
US16/637,113 US20200342448A1 (en) 2017-08-07 2018-08-07 Virtual currency data issuing system, user terminal, management device, method, and computer program
EP18845024.1A EP3667595A4 (en) 2017-08-07 2018-08-07 SYSTEM FOR THE OUTPUT OF VIRTUAL CURRENCY DATA, USER TERMINAL DEVICE, ADMINISTRATIVE DEVICE, PROCEDURES AND COMPUTER PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017152669A JP7005000B2 (ja) 2017-08-07 2017-08-07 仮想貨幣データ発行システム、ユーザ端末、管理装置、方法、並びにコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2019032667A true JP2019032667A (ja) 2019-02-28
JP7005000B2 JP7005000B2 (ja) 2022-01-21

Family

ID=65272087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017152669A Active JP7005000B2 (ja) 2017-08-07 2017-08-07 仮想貨幣データ発行システム、ユーザ端末、管理装置、方法、並びにコンピュータプログラム

Country Status (4)

Country Link
US (1) US20200342448A1 (ja)
EP (1) EP3667595A4 (ja)
JP (1) JP7005000B2 (ja)
WO (1) WO2019031487A2 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307885A (ja) * 1997-03-06 1998-11-17 N T T Data:Kk 電子マネーシステム、電子マネーカード、電子マネー取引方法及び記録媒体
JP2002123771A (ja) * 2000-10-17 2002-04-26 Jcb:Kk Icカード、および該icカードへの電子マネーチャージ方法
JP2002279324A (ja) * 2001-03-21 2002-09-27 Mitsuru Oba 電子地域マネーシステム
JP2003335085A (ja) * 2002-05-22 2003-11-25 National Printing Bureau 多数の微小記号文字から成る微小記号文字群が印刷された証券印刷物
WO2007020782A1 (ja) * 2005-08-12 2007-02-22 Matsushita Electric Industrial Co., Ltd. 認証システム
JP2015177285A (ja) * 2014-03-14 2015-10-05 セイコーエプソン株式会社 通信システムおよび通信方法
JP2015225370A (ja) * 2014-05-26 2015-12-14 株式会社芳和システムデザイン 認証システム、認証方法、プログラム
WO2017104288A1 (ja) * 2015-12-14 2017-06-22 株式会社エヌティーアイ 決済システム、ユーザ端末及びそれで実行される方法、決済装置及びそれで実行される方法、並びにプログラム
WO2017110268A1 (ja) * 2015-12-22 2017-06-29 株式会社エヌティーアイ 決済システム、ユーザ端末及びそれで実行される方法、決済装置及びそれで実行される方法、並びにプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006253745A (ja) * 2005-03-08 2006-09-21 N-Crypt Inc データ処理装置、データ処理システム、及びデータ処理方法
US11055707B2 (en) * 2014-06-24 2021-07-06 Visa International Service Association Cryptocurrency infrastructure system
KR101795695B1 (ko) * 2016-07-14 2017-12-01 주식회사 코인플러그 메신저 서비스를 통하여 송수신하는 데이터에 대한 기록 서비스 및 검증 서비스를 제공하는 방법, 및 이를 이용한 서버
US10832247B2 (en) * 2016-09-15 2020-11-10 American Express Travel Related Services Company, Inc. Systems and methods for blockchain based payment networks
US11321680B2 (en) * 2017-04-26 2022-05-03 Ashish Kumar System and method for processing and management of transactions using electronic currency

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307885A (ja) * 1997-03-06 1998-11-17 N T T Data:Kk 電子マネーシステム、電子マネーカード、電子マネー取引方法及び記録媒体
JP2002123771A (ja) * 2000-10-17 2002-04-26 Jcb:Kk Icカード、および該icカードへの電子マネーチャージ方法
JP2002279324A (ja) * 2001-03-21 2002-09-27 Mitsuru Oba 電子地域マネーシステム
JP2003335085A (ja) * 2002-05-22 2003-11-25 National Printing Bureau 多数の微小記号文字から成る微小記号文字群が印刷された証券印刷物
WO2007020782A1 (ja) * 2005-08-12 2007-02-22 Matsushita Electric Industrial Co., Ltd. 認証システム
JP2015177285A (ja) * 2014-03-14 2015-10-05 セイコーエプソン株式会社 通信システムおよび通信方法
JP2015225370A (ja) * 2014-05-26 2015-12-14 株式会社芳和システムデザイン 認証システム、認証方法、プログラム
WO2017104288A1 (ja) * 2015-12-14 2017-06-22 株式会社エヌティーアイ 決済システム、ユーザ端末及びそれで実行される方法、決済装置及びそれで実行される方法、並びにプログラム
WO2017110268A1 (ja) * 2015-12-22 2017-06-29 株式会社エヌティーアイ 決済システム、ユーザ端末及びそれで実行される方法、決済装置及びそれで実行される方法、並びにプログラム

Also Published As

Publication number Publication date
JP7005000B2 (ja) 2022-01-21
EP3667595A2 (en) 2020-06-17
WO2019031487A3 (ja) 2019-04-04
WO2019031487A2 (ja) 2019-02-14
US20200342448A1 (en) 2020-10-29
EP3667595A4 (en) 2021-09-08

Similar Documents

Publication Publication Date Title
US20240169457A1 (en) Systems and methods for executing and delivering electronic documents
US20170293898A1 (en) Static ctyptographic currency value
US20140136418A1 (en) System and method for application security
JP7367939B2 (ja) データ構造、送信装置、受信装置、決済装置、方法、コンピュータプログラム
US20200082388A1 (en) Authenticating server and method for transactions on blockchain
KR20170096940A (ko) 암호화된 전자 게임 티켓
US20180300717A1 (en) Cryptographically secure token exchange
WO2018212262A1 (ja) データ構造、送信装置、受信装置、決済装置、方法、コンピュータプログラム
EP3671601A2 (en) Data structure, transmission device, reception device, settlement device, method, and computer program
KR20190090699A (ko) 통합 암호화폐 보관 및 보안강화를 위한 월렛 제공 방법 및 장치
WO2020076234A1 (en) Apparatus and method for controlling data access
KR20130095363A (ko) 해쉬함수 또는 전자서명을 이용하는 디지털 코드 기반 송금 방법
US20210004791A1 (en) Guaranteeing server and method for transaction on blockchain
CN113570369B (zh) 一种区块链隐私交易方法、装置、设备及可读存储介质
JP7005000B2 (ja) 仮想貨幣データ発行システム、ユーザ端末、管理装置、方法、並びにコンピュータプログラム
WO2018084283A1 (ja) 金券
KR102601098B1 (ko) 바우처 승인 정보를 제공하는 방법 및 디바이스
Quintas de Arcanjo Sending cryptocurrency over mobile applications
TWM607453U (zh) 區塊鏈交易的擔保伺服器及擔保系統
JP2007133714A (ja) 電子認証方法および電子決済方法
Bitcoins BITCOIN OFFLINE VAULT SERVERLESS WALLET–BA .NET
JP2018074327A (ja) 送受信システム、送信装置、受信装置、方法、コンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211108

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: 20211124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211223

R150 Certificate of patent or registration of utility model

Ref document number: 7005000

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150