JP7395261B2 - 仮想通貨の送金システム - Google Patents

仮想通貨の送金システム Download PDF

Info

Publication number
JP7395261B2
JP7395261B2 JP2019057812A JP2019057812A JP7395261B2 JP 7395261 B2 JP7395261 B2 JP 7395261B2 JP 2019057812 A JP2019057812 A JP 2019057812A JP 2019057812 A JP2019057812 A JP 2019057812A JP 7395261 B2 JP7395261 B2 JP 7395261B2
Authority
JP
Japan
Prior art keywords
remittance
instruction
secret code
user
virtual currency
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.)
Active
Application number
JP2019057812A
Other languages
English (en)
Other versions
JP2020160652A (ja
Inventor
照博 田篭
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2019057812A priority Critical patent/JP7395261B2/ja
Publication of JP2020160652A publication Critical patent/JP2020160652A/ja
Application granted granted Critical
Publication of JP7395261B2 publication Critical patent/JP7395261B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

特許法第30条第2項適用 平成30年7月20日に堅牢なシステム開発/運用を実現するためのビットコイン[技術]入門、第291~296頁、株式会社技術評論社にて公開。
本発明は、仮想通貨の送金、特に、送金にともなうセキュリティ技術、に関する。
ブロックチェーンを用いた仮想通貨決済が実用化されている。一例として、ユーザは仮想通貨取引所に口座を開設し、仮想通貨を円貨で購入し、口座において仮想通貨を保有する。ユーザは、取引所にアクセスするためのウォレット(アプリケーション・ソフトウェアもしくはインターネットブラウザ等)をユーザ端末にダウンロードし、ウォレットから取引所のシステムにログインし(認証)、仮想通貨を送受する。
たとえば、ある商品を仮想通貨で購入するとき、店舗の決済端末にQRコード(登録商標)が表示される。QRコード(登録商標)を読み取ると、ユーザ端末には送金先と購入金額(送金額)が表示される。確認後、ユーザが送金を指示すると、ブロックチェーンを介して仮想通貨の送金処理が実行される(非特許文献1参照)。
"お支払い方法 ビットコイン(bitcoin)"、 [online]、[平成31年1月22日検索]、インターネット<https://www.biccamera.com/bc/c/info/payment/bitcoin.jsp>
保有している仮想通貨を円貨に交換しなくても、仮想通貨のままで決済できるので、仮想通貨保有者にとって取引所を使った仮想通貨決済は便利である。その一方、仮想通貨決済には、送金指示後、仮想通貨が本当に正しく送金されたのか確認できないという不安がつきまとう。たとえば、第三者が、送金システムに不正侵入して送金前段階で送金先を書き換えてしまうと、送金者は送金したはずの仮想通貨をこの第三者に奪われてしまう。
本発明は、上記課題認識に基づいて完成された発明であり、その主たる目的は、仮想通貨の送金の安全性を高めるための技術、を提供することにある。
本発明のある態様における仮想通貨の送金システムは、ユーザから仮想通貨の送金指示を受け付ける送金受付システムと、仮想通貨の送金を実行させる送金実行システムと、を備える。
送金受付システムは、ユーザから、仮想通貨の送金先を含む送金指示を取得する送金指示取得部と、送金指示を登録する送金指示登録部と、ユーザから、第1の秘密コードを含む確認指示を取得する確認取得部と、を含む。
送金実行システムは、送金元のユーザに対して、送金指示により指定された送金先および第2の秘密コードを通知する確認要求部と、通知した第2の秘密コードと確認指示により指定された第1の秘密コードが適合することを条件として、仮想通貨の送金を許可する送金判定部と、を含む。
本発明のある態様における仮想通貨の送金実行システムは、ユーザが送金先および送金元を指定して仮想通貨の送金を指示したとき、送金元として指定されたユーザに対して、指定された送金先と第2の秘密コードを通知する確認要求部と、第2の秘密コードの通知後、ユーザから入力された第1の秘密コードと第2の秘密コードが適合することを条件として、仮想通貨の送金を許可する送金判定部と、を備える。
本発明によれば、仮想通貨送金にともなうセキュリティを高めやすくなる。
一般的に想定される送金システムのハードウェア構成図である。 第1実施形態における送金システムのハードウェア構成図である。 第1実施形態における送金システムの機能ブロック図である。 送金予約テーブルのデータ構造図である。 第1実施形態における仮想通貨の送金過程を示すシーケンス図である。 第2実施形態における送金システムのハードウェア構成図である。 第2実施形態における送金システムの機能ブロック図である。 第2実施形態における仮想通貨の送金過程を示すシーケンス図である。
ブロックチェーン技術を利用した仮想通貨の送金に際しては、ユーザ(送金者)は秘密鍵をつかって送金データに電子署名をする。仮想通貨の送金システムを構築に際しては、第三者から秘密鍵を不正取得されないようにシステムを構成することが第一条件となる。
図1は、一般的に想定される送金システム100のハードウェア構成図である。
図1に示す送金システム100は、本発明者が説明のために想定した仮想事例である。送金システム100は、送金受付システム104、送金実行システム106、送金データベース108およびユーザ端末110を含む。送金受付システム104は、仮想通貨による商品購入サービスを提供する店舗等の業者(以下、「サービス提供者」とよぶ)により運営される。
送金実行システム106は、仮想通貨取引の基盤となるシステムである。一般的には、仮想通貨取引の仕組みを提供する専門業者(以下、「決済代行業者」とよぶ)が、送金実行システム106により多数のサービス提供業者に仮想通貨取引の仕組み(インフラストラクチャ)を提供する。決済代行業者は、いわゆる仮想追加取引所の運営者であってもよい。なお、決済代行業者が、送金実行システム106だけでなく送金受付システム104も運営・提供する形態であってもよい。
ユーザ(送金者)がサービス提供者から仮想通貨によって商品を購入するとき、店舗の決済端末等にQRコード(登録商標)などの二次元コードが表示される。この二次元コードには、送金先となる仮想通貨口座のアドレス(以下、単に「送金先」とよぶ)が対応づけられる。ユーザは、スマートフォンなどのユーザ端末110により二次元コードを撮像することにより送金先をユーザ端末110に表示させる。ユーザは、ユーザ端末110から、送金先、送金元(ユーザID)および送金額を含む「送金指示」を、インターネット102を介して送金受付システム104に送信する。
送金受付システム104は、ウェブサーバ114とアプリケーションサーバ116を含む。ウェブサーバ114は、ファイアウォール112(プロキシサーバ)を介してインターネット102と接続される。ウェブサーバ114は、送金指示を受信し、アプリケーションサーバ116に送金指示を転送する。アプリケーションサーバ116は、送金指示を送金データベース108に送金IDとともに登録する。送金IDは送金指示を識別するために付与されるIDである。この段階では送金予約されただけであり、まだ送金は実行されていない。
送金実行システム106は、決済サーバ118を含む。
決済サーバ118は、ユーザ(送金者)の秘密鍵を保有する。決済サーバ118は、送金データベース108から送金指示を読み出し、送金元となるユーザの秘密鍵を使って電子署名を作った上で送金データをブロードキャストする。送金データは、採掘者とよばれる他のユーザからの認証手続きを経て、ブロックチェーン(巨大な取引台帳)に接続され、仮想通貨の送金が完結する。
ウェブサーバ114は、ファイアウォール112により防護されているものの、実質的にはインターネット102に対して公開されている。いいかえれば、ウェブサーバ114はもっとも不正侵入の脅威にさらされているといえる。一方、アプリケーションサーバ116は、ウェブサーバ114とはLAN(Local Area Network)を介して接続されており、インターネット102からアプリケーションサーバ116に直接アクセスすることはできない。決済サーバ118は、更に、アプリケーションサーバ116とはVPN(Virtual Private Network)または専用回線により接続されている。決済サーバ118も非公開のサーバである。インターネット102(公開通信回線)から決済サーバ118に侵入するためには、ファイアウォール112、ウェブサーバ114およびアプリケーションサーバ116を突破する必要があるため、決済サーバ118は大切な秘密鍵を安全に管理できる。
以上をまとめると、送金受付システム104のうち、ウェブサーバ114はインターネット102に対して公開されており、アプリケーションサーバ116、決済サーバ118および送金データベース108は非公開である。
ただし、決済サーバ118が秘密鍵を安全に管理したとしても不正送金リスクがゼロになるわけではない。攻撃者がウェブサーバ114に不正侵入し、送金指示に含まれる送金先を素早く書き換えてしまう可能性がある。たとえば、ユーザP1(送金者)が口座A1を送金先として送金指示を出したつもりでも、送金先を攻撃者の管理下にある口座A2に書き換えられてしまうと、ユーザP1は送金した仮想通貨を攻撃者に盗まれてしまう。
また、アプリケーションサーバ116のソフトウェアに脆弱性がある場合、インターネット102からアプリケーションサーバ116不正侵入される可能性もある。アプリケーションサーバ116は、ウェブサーバ114に比べると不正侵入リスクは小さいものの不正侵入されるリスクを想定しておく必要はある。
以下、第1実施形態および第2実施形態の2つの実施形態に分けて本発明の実施態様について説明する。以下、「本実施形態」という用語は「第1実施形態」「第2実施形態」を特に区別しない意味で使用する。
[第1実施形態]
図2は、第1実施形態における送金システム200のハードウェア構成図である。
ユーザ(送金者)は、ユーザ端末210から、送金受付システム204に「送金指示」を送信する。送金指示には、送金先、送金元および送金額が含まれる。送金指示は、ウェブサーバ214に受け付けられ、アプリケーションサーバ216は送金データベース208に送金指示を送金IDとともに登録する。ここまでは図1に示した送金システム100と同じである。
アプリケーションサーバ216は、送金指示を送金データベース208に登録したとき、送金ID、送金先、送金元および送金額を送金実行システム206の決済サーバ218に通知する。決済サーバ218は、あらかじめ各ユーザの電子メールアドレスを管理している。決済サーバ218は、秘密コード(第2の秘密コード)を生成し、送金元のユーザに電子メール(以下、「確認要求」とよぶ)を送信する。確認要求には、アプリケーションサーバ216から通知された送金ID、送金先、送信元、送金額に加えて、秘密コードが記載される。ユーザは、ユーザ端末210により確認要求を受信し、実際に受け付けられた送金指示の内容を確認する。
たとえば、ユーザP1が送金先として口座A1を指定し、確認要求にも送金先として口座A1が記載されていれば、ユーザP1は、送金IDと秘密コード(第2の秘密コード)を含む「確認指示」をウェブサーバ214に送信する。アプリケーションサーバ216は、この確認指示を受け取り、確認指示に含まれる送金IDと秘密コードを決済サーバ218に通知する。決済サーバ218は、確認要求に際してユーザに通知した秘密コードと確認指示で指定された秘密コードが同一であれば、ユーザ本人からの承認が得られたとして、送金を許可する。同一でなければ、決済サーバ218は送金を実行しない。
たとえば、ユーザP1が送金先を口座A1に指定し、そのあとに攻撃者によって送金先が密かに口座A2に書き換えられたとする。この場合には、アプリケーションサーバ216は送金先として口座A2を決済サーバ218に通知することになる。決済サーバ218は、口座A2を送金先として記載された確認要求をユーザに通知することになるため、ユーザP1は送金先が書き換えられていることに気づく。ユーザP1が確認指示を出さなければ送金は実行されないので、不正送金を未然に防ぐことができる。
また、ユーザP1以外は、秘密コードを知ることができないため、攻撃者はユーザP1になりすまして確認指示を送金受付システム204に入力することもできない。
図3は、第1実施形態における送金システム200の機能ブロック図である。
ユーザ端末210、ウェブサーバ214、アプリケーションサーバ216、決済サーバ218および送金データベース208の各構成要素は、CPU(Central Processing Unit)および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
図7に示す第2実施形態における送金システム300の機能ブロックについても同様である。
上述したように、送金システム200は、ユーザ端末210、ウェブサーバ214,アプリケーションサーバ216、決済サーバ218および送金データベース208を含む。送金データベース208には未処理の送金指示(送金予約)が登録される。送金データベース208のデータ構造については次の図4に関連して詳述する。
(ユーザ端末210)
ユーザ端末210は、入力部230、出力部232および通信部268を含む。入力部230は、ユーザ(送金者)からの各種入力を受け付ける。出力部232は、ユーザに対して各種情報を出力する。通信部268は、ウェブサーバ214等との通信処理を担当する。
入力部230は、送金指示部234、確認指示部236、確認要求取得部238および送金情報取得部266を含む。
送金情報取得部266は、二次元コードを撮像することにより、送金先を特定する情報を取得する。送金指示部234は、ユーザから送金指示を受け付ける。送金指示には、送金先を示す仮想通貨口座のID、送金元を示すユーザID(仮想通貨口座)および送金額が含まれる。確認指示部236は、ユーザから確認指示を受け付ける。確認指示には、送金IDおよび秘密コードが含まれる。確認要求取得部238は、決済サーバ218から確認要求を受信する。確認要求には、送金ID、送金先、送金元、送金額および秘密コードが含まれる。
出力部232は、送金情報表示部240を含む。送金情報表示部240は、送金情報取得部266が取得した送金先に関する情報を画面表示させる。また、送金情報表示部240は、確認要求により通知された情報も画面表示させる。
(ウェブサーバ214)
ウェブサーバ214は、送金指示取得部242および確認取得部244を含む。送金指示取得部242は、ユーザ端末210から送金指示を受信する。送金指示取得部242は、また、送金指示をアプリケーションサーバ216に転送する。確認取得部244は、ユーザ端末210から確認指示(送金承認)を受信する。確認取得部244は、確認指示をアプリケーションサーバ216に転送する。
(アプリケーションサーバ216)
アプリケーションサーバ216は、送金指示登録部246、送金指示通知部248および確認指示通知部270を含む。送金指示登録部246は、送金IDとともに送金指示を送金データベース208に登録する。送金指示通知部248は、送金指示を受信したとき、送金ID、送金先、送金元、送金額を決済サーバ218に通知する(以下、「送金指示通知」とよぶ)。確認指示通知部270は、確認指示を受信したとき、確認指示に含まれる送金IDと秘密コードを決済サーバ218に通知する(以下、「確認指示通知」とよぶ)。
(決済サーバ218)
決済サーバ218は、通信部250とデータ処理部252を含む。通信部250は、アプリケーションサーバ216、ユーザ端末210等との通信処理を担当する。データ処理部252は、通信部250により取得されたデータおよび送金データベース208に格納されているデータに基づいて各種処理を実行する。データ処理部252は、通信部250および送金データベース208のインタフェースとしても機能する。
通信部250は、送金指示受信部256、確認指示受信部272および確認要求部258を含む。
送金指示受信部256は、送金指示通知部248から送金指示通知を受信する。確認指示受信部272は、確認指示通知部270から確認指示通知を受信する。確認要求部258は、確認要求をユーザ端末210に送信する。
データ処理部252は、コード生成部260、送金判定部262および送金実行部264を含む。
コード生成部260は、送金指示通知を受信したとき、秘密コードを生成する。本実施形態においては、コード生成部260は英数字をランダムに選択することで複数桁の英数字列を秘密コードとして生成する。コード生成部260は、生成した秘密コードを送金システム200において保持しておく。コード生成部260は、送金データベース208に秘密コードを生成したときにその旨を記録するが、秘密コードそのものを送金データベース208には登録することはない(図4に関連して後述)。送金判定部262は、確認要求によりユーザに通知した秘密コード(第2の秘密コード)と、確認指示通知された秘密コード(第1の秘密コード)が一致するか否かを判定する。送金実行部264は、2つの秘密コードが一致したとき、仮想通貨の送金を実行する。
図4は、送金予約テーブル280のデータ構造図である。
送金予約テーブル280は、送金データベース208に格納される。送金予約テーブル280には、未処理の送金指示が登録される。送金指示登録部246は、送金指示が受信されるごとに送金指示を送金データベース208に登録する。このとき、送金指示を識別するための送金IDが付与される。図3によれば、送金ID=T03の送金指示(以下、「送金指示(T03)」のように表記する)は、送金元(C01)から送金先(B02)への「200(コイン)」の送金を意味する。送金指示(T03)には秘密コードが付与されていない。したがって、送金指示(T03)はアプリケーションサーバ216により受け付けられたものの決済サーバ218は秘密コードを生成していない段階にある。
送金指示(T04)は、送金元(C06)から送金先(B77)への「25(コイン)」の送金を示し、秘密コードは生成済みである。コード生成部260は、送金指示(T04)について送金指示通知を受けたとき、秘密コード(例:1419)を生成し、秘密コードを生成した旨を送金予約テーブル280に登録するとともに確認要求部258に秘密コードを含む確認要求を送信させる。送金指示(T04)はコード生成部260により秘密コードが登録されたものの、ユーザからの確認がとれていないため未送金の段階にある。ユーザが、送金指示(T04)に対応して秘密コード(「1419」)を含む確認指示を送信したとき、決済サーバ218は送金を実行する。送金の実行後、コード生成部260は、決済サーバ218から送金指示(T04)を削除する。
図5は、第1実施形態における仮想通貨の送金過程を示すシーケンス図である。
ユーザ(送金者)は、まず、ユーザ端末210に送金指示を入力する。送金指示は、送金元、送金先、送金額を含む。ユーザ端末210からウェブサーバ214に送金指示がなされ(S10)、ウェブサーバ214は送金指示をアプリケーションサーバ216に転送し(S12)、アプリケーションサーバ216の送金指示登録部246は送金IDとともに送金指示を送金データベース208に登録する(S14)。また、アプリケーションサーバ216の送金指示通知部248は、決済サーバ218に送金指示通知する(S16)。コード生成部260は、送金指示通知に対応して秘密コードを生成する(S18)。
確認要求部258は、送金ID、送金先、送金元、送金額および秘密コードを含む確認要求をユーザ端末210に送信する(S20)。送金者は、送金内容を確認し、秘密コードを入力する(S22)。ユーザ端末210の確認指示部236は、送金IDと秘密コードを含む確認指示をウェブサーバ214に送信し(S24)、ウェブサーバ214は確認指示をアプリケーションサーバ216に送信する(S26)。アプリケーションサーバ216の確認指示通知部270は、送金IDと秘密コードを決済サーバ218に通知する(S28)。
決済サーバ218の送金判定部262は、確認要求時に通知した秘密コードと確認指示により新たに通知された秘密コードを比較する(S32)。ここでは秘密コードは一致したものとする。送金実行部264は、秘密コードが一致したとき、送金を実行する(S34)。送金判定部262は、送金実行後、送金データベース208から実行済みの送信指示を削除する(S36)。
[第2実施形態]
第1実施形態においては、アプリケーションサーバ216は、送金指示を受信したとき、決済サーバ218に送金指示通知をする。これを契機として、決済サーバ218は秘密コードを含む確認要求をユーザ端末210に送信する。また、アプリケーションサーバ216は、ユーザ端末210から確認指示を受信したとき、決済サーバ218に確認指示通知をする。これを契機として、決済サーバ218は秘密コードの照合を行う。このように、第1実施形態においては、アプリケーションサーバ216から決済サーバ218へのアクセスが限定的ながら許可されている。
たとえ、アプリケーションサーバ216への不正侵入に成功したとしても、決済サーバ218まで不正侵入することは相当困難であると考えられる。しかしながら、決済サーバ218のソフトウェアに万が一にもセキュリティホールがあれば、アプリケーションサーバ216から決済サーバ218へアクセスするパス(アクセス経路)が存在する以上、アプリケーションサーバ216を経由して決済サーバ218への不正侵入を許してしまう懸念は残る。
第2実施形態においては、更に万全を期するため、アプリケーションサーバ316から決済サーバ318へのアクセス経路そのものを遮断する。
以下、第2実施形態において、第1実施形態と同一の符号を付されているものの機能および処理は同一であるものとして説明する。
図6は、第2実施形態における送金システム300のハードウェア構成図である。
送金システム300がユーザ(送金者)に提供するユーザインタフェースは第1実施形態と同じである。送金システム300においては、アプリケーションサーバ316および決済サーバ318の構成が第1実施形態から若干変更されている。
ユーザは、ユーザ端末210を介して送金指示をウェブサーバ214に送信し、アプリケーションサーバ316は送金データベース208に送金指示を送金IDとともに登録する。ここまでは第1実施形態と同じである。第2実施形態においては、アプリケーションサーバ316は送金指示を登録した旨を決済サーバ318に通知することはない。アプリケーションサーバ316から決済サーバ318へのアクセス経路は存在しない。または、アプリケーションサーバ316から決済サーバ318へのアクセスは全面的に禁止されている。
第2実施形態の決済サーバ318は、定期的に送金データベース208にアクセスすることで未処理の送金指示(送金予約)を読み出す。決済サーバ318は未処理の送金指示を検出したとき、これに対応する秘密コードを生成し、確認要求をユーザ端末210に送信する。
ユーザは、第1実施形態と同様、確認指示をウェブサーバ214に送信する。アプリケーションサーバ316は、確認指示に含まれる秘密コードを送金データベース208に登録する。決済サーバ318は、送金データベース208へのポーリング(定期的なアクセス)により、新たに秘密コードを登録された未処理の送金指示を検出する。生成した秘密コードと受け取った秘密コードが一致していれば、決済サーバ318は送金を許可する。
第2実施形態においては、決済サーバ318は送金データベース208に定期的にアクセスするが、他の装置から決済サーバ318にアクセスすることはできない。このため、万が一、アプリケーションサーバ316への不正侵入を許したとしても、アプリケーションサーバ316から決済サーバ318への侵入経路そのものが存在しないため、決済サーバ318への不正侵入を防止できる。
図7は、第2実施形態における送金システム300の機能ブロック図である。
第2実施形態においては、アプリケーションサーバ316および決済サーバ318の構成が、第1実施形態のアプリケーションサーバ216および決済サーバ318から一部変更されている。
アプリケーションサーバ316は、送金指示を送金IDとともに送金データベース208に登録する送金指示登録部246を含むが、送金指示通知部248および確認指示通知部270は含まない。
決済サーバ318の通信部350は、送金指示検出部356を含むが送金指示受信部256と確認指示受信部272は含まない。送金指示検出部356は、定期的に送金データベース208にアクセスし、新たに登録された送金指示を検出する。また、送金指示検出部356は、定期的に送金データベース208にアクセスし、確認指示により新たに秘密コードを登録された送金指示を検出する。
図8は、第2実施形態における仮想通貨の送金過程を示すシーケンス図である。
まずS10からS14までの処理過程は第1実施形態(図5参照)と同様である。決済サーバ318は、定期的に送金データベース208にアクセスすることで新着の送金指示を検出する(S40)。
送金指示検出後の秘密コードの生成(S18)から、確認要求(S20)を経て、確認指示を受信する(S26)までは第1実施形態と同様である。アプリケーションサーバ316の送金指示登録部246は、確認指示により受信した秘密コードを送金データベース208に登録する(S44)。決済サーバ318は、定期的に送金データベース208にアクセスし、新たに秘密コードを登録された送信指示を検出する(S46)。送金判定部262は、S18で生成した秘密コードと、S46において読み出した秘密コードを照合する(S32)。2つの秘密コードが一致すれば、送金実行部264は送金を実行する(S34)。
以上、第1実施形態および第2実施形態に基づいて送金システム200,300について説明した。
銀行間送金においては、銀行同士で送金元と送金先を確認できる。しかし、仮想通貨取引においては、従来、送金先に確実に送金されていることを保証する仕組みについて十分な提案がなされてこなかった。本実施形態においては、実際に送金する前に、ユーザ(送金者)に送金先を確認してもらってから仮想通貨の送金を実行する。また、確認要求には秘密コードが含まれるため、確認要求を受信したユーザしか送金を承認できない。このような制御方法により、サービス提供者が運営する送金受付システム104に不正侵入され、送金先の改ざんがなされたとしても、不正送金を未然に防ぐことができる。
また、仮に不正なユーザP2がユーザP1になりすましてユーザP1の仮想通貨口座からの送金をしようとしても、確認要求はユーザP1に届くため、ユーザP1は第三者(ユーザP2)による不正送金がなされようとしていることに気づくことができる。
サービス提供業者は、不正侵入を防止するため独自に送金受付システム204,304のセキュリティ対策を立てることになる。しかし、すべてのサービス提供業者が完璧なセキュリティ対策をできるとは想定するわけにはいかない。決済代行業者(送金実行システム206,306)としては、送金受付システム204,304は不正侵入される可能性があるという前提で送金実行システム206,306のセキュリティ対策をするべきである。本実施形態においては、送金受付システム204,206に不正侵入がされて送金先が書き換えられるのを防ぐという考え方ではなく、たとえ送金先が書き換えられてもそれを送金前に発覚させることでセキュリティを高めている。
第2実施形態においては、更に、アプリケーションサーバ316から決済サーバ318へのアクセスを禁止している。このような構成によれば、サービス提供者の送金受付システム304と決済代行業者の送金実行システム306をいっそう確実に分離できる。このため、多種多様な送金受付システム304のいずれかに脆弱性が発覚したとしても、送金実行システム306の決済サーバ318を不正アクセスから守りやすくなる。
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
ウェブサーバ214とアプリケーションサーバ216、送金データベース208、決済サーバ218により送金システム200が構成されるとして説明したが、ウェブサーバ214とアプリケーションサーバ216は単一の装置として構成されてもよいし、ウェブサーバ214とアプリケーションサーバ216の機能の一部が他の装置に割り当てられてもよい。決済サーバ218についても同様である。また、第2実施形態における送金システム300についても同様である。
図3、図4において説明した送金システム200,300に関連して、1つまたは複数のハードウェアに対して、本発明を実現するために必要な複数の機能をどのように配分するかは、各ハードウェアの処理能力や送金システム200,300に求められる仕様等に鑑みて決定されればよい。
送金データベース208は、送金受付システム204,304の一部として形成されてもよいし、送金実行システム206,306の一部として形成されてもよい。送金データベース108は、VPN等により、送金受付システム204等の外部装置からのアクセスを制限することが望ましい。
[変形例]
本実施形態においては、ユーザ端末210から送金受付システム204,304に送金指示および確認指示を、インターネット102を経由して送信するとして説明した。送金者はこれらの指示を送金受付システム204,304が提供する入力装置に直接入力してもよい。
確認要求は電子メール以外の通信手段によりユーザに通知されてもよい。たとえば、SMS(Short Message Service)で通知されてもよいし、SNS(Social Network Service)のメッセージ機能により通知されてもよい。
確認要求に秘密コードを含めることは必須ではない。たとえば、確認要求部258は、送金先、秘密コード等を非公開のユーザページ(ウェブサイト)に登録し、確認要求部258は確認要求によりこのユーザページのアドレスを通知し、ユーザはユーザページにアクセスすることで送金先等を確認してもよい。
本実施形態においては、秘密コードは英数字列をランダムに生成するとして説明した。変形例としてあらかじめ複数種類の秘密コードを用意しておき、コード生成部260は複数種類の秘密コードのうちのいずれかを選択した上で確認要求時にユーザに通知してもよい。
秘密コードは、あらかじめユーザが登録しているパスワードであってもよい。この場合にも、確認要求に秘密コードを含める必要はない。送金実行システム206,306は、送金先、送金額、送金元等を記載した確認要求をユーザに送信し、ユーザはあらかじめ設定しておいた秘密コードを含む確認指示を送金受付システム204,206に送信してもよい。このような制御方法によれば、確認要求において秘密コードがのぞき見されるリスクもなくなる。
本実施形態においては、確認要求に含まれる秘密コードと確認指示により指定される秘密コードが完全一致することを条件として、送金を許可するとして説明した。変形例として秘密コードの完全一致以外の方法にて2つの秘密コードの適合性をチェックしてもよい。たとえば、ユーザ端末110は、確認要求に含まれる秘密コードからハッシュ値を生成する。決済サーバ218,318は、確認要求に含まれる秘密コードのハッシュ値と確認指示により指定される秘密コードのハッシュ値を比較することで2つの秘密コードの適合性を判定してもよい。あるいは、2つの秘密コードの任意の一部を比較することで適合性を判定してもよい。
第1実施形態においては、決済サーバ218,318は、秘密コードを生成したあと、送金データベース208にこれを登録せずに決済サーバ218,内部で送金IDとともに保存するとして説明した。変形例として、決済サーバ218,318は生成した秘密コードを送金データベース208にいったん登録してもよい。そして、確認指示により送金IDと秘密コードが指定されたとき、送金データベース208に登録されている秘密コードと比較することで送金可否を判定してもよい。なお、確認要求の送信先となるユーザの電子メールアドレスも、もっとも不正侵入しづらい決済サーバ218,318だけで管理することが望ましい。
コード生成部260は、秘密コードに有効期間を設定してもよい。有効期間が満了するまでに確認指示が得られなかったとき、送金実行部264は送金指示をキャンセルしてもよい。確認要求部258は、秘密コードを暗号化してユーザ端末110に送信し、ユーザ端末110において秘密コードを復号してもよい。
ユーザは、送金先の書き換えが発覚したときには、ウェブサーバ214に不正通知を送信してもよい。アプリケーションサーバ216,316は、不正通知を受信したとき、不正な送金先として記録してもよい。このような制御方法によれば、不正送金被害の拡大を効果的に防止しやすくなる。また、サービス提供業者も送金受付システム204,304への不正侵入の可能性に気づくことができるため、早期にシステムの脆弱性を解消しやすくなると考えられる。
第2実施形態においては、送金指示検出部356は定期的に送金データベース208にアクセスするとして説明したが、アクセスは定期的である必要はない。たとえば、送金指示が多いときには、ブロックチェーンを介した送金には時間がかかるため、未送金の送金指示がたまっているときほど送金データベース208へのアクセス頻度を下げてもよい。
本実施形態においては、仮想通貨のブロックチェーンを介した送金を対象として説明したが、仮想通貨に限らずリアルマネーの送金に対しても応用可能である。また、お金に限らず、物品の配達をインターネット102経由で指示するときにも、不正配達を防止する上で有効であると考えられる。
なお、送金実行システムは、仮想通貨の送金指示が受け付けられてから送金が実行されるまでの処理過程において、他のシステムからのデータアクセスを受け付けないように構成されてもよい。
100 送金システム、102 インターネット、104 送金受付システム、106 送金実行システム、108 送金データベース、110 ユーザ端末、112 ファイアウォール、114 ウェブサーバ、116 アプリケーションサーバ、118 決済サーバ、200 送金システム、204 送金受付システム、206 送金実行システム、208 送金データベース、210 ユーザ端末、214 ウェブサーバ、216 アプリケーションサーバ、218 決済サーバ、230 入力部、232 出力部、234 送金指示部、236 確認指示部、238 確認要求取得部、240 送金情報表示部、242 送金指示取得部、244 確認取得部、246 送金指示登録部、248 送金指示通知部、250 通信部、252 データ処理部、256 送金指示受信部、258 確認要求部、260 コード生成部、262 送金判定部、264 送金実行部、266 送金情報取得部、268 通信部、270 確認指示通知部、272 確認指示受信部、280 送金予約テーブル、300 送金システム、304 送金受付システム、306 送金実行システム、316 アプリケーションサーバ、318 決済サーバ、350 通信部、356 送金指示検出部

Claims (4)

  1. ユーザから仮想通貨の送金指示を受け付ける送金受付システムと、仮想通貨の送金を実行させる送金実行システムと、前記送金受付システムおよび前記送金実行システムの双方からアクセス可能な送金データベースと、を備え、
    前記送金受付システムは、
    ユーザから、仮想通貨の送金先を含む送金指示を取得する送金指示取得部と、
    送金指示が取得されたとき、前記送金データベースに送金指示を登録する送金指示登録部と、
    ユーザから、第1の秘密コードを含む確認指示を取得する確認取得部と、を含み、
    前記送金実行システムは、
    前記送金データベースに自発的にアクセスすることにより未実行の送金指示を検出する送金指示検出部と、
    前記送金データベースから未実行の送金指示が検出されたとき、前記未実行の送金指示をした送金元のユーザに対して、前記未実行の送金指示により指定された送金先および第2の秘密コードを通知する確認要求部と、
    前記第2の秘密コードを通知されたユーザから前記第1の秘密コードを含む前記確認指示が受信されたとき、前記通知した第2の秘密コードと前記確認指示により指定された前記第1の秘密コードが適合することを条件として、仮想通貨の送金を許可する送金判定部と、を含むことを特徴とする仮想通貨の送金システム。
  2. 前記送金受付システムの前記確認取得部は、前記第2の秘密コードの通知後に前記第1の秘密コードを含む確認指示を取得したとき、前記送金データベースに前記確認指示により指定された前記第1の秘密コードを登録し、
    前記送金実行システムの前記送金指示検出部は、更に、前記送金データベースに自発的にアクセスすることにより、前記第1の秘密コードが登録され、かつ、未実行の送金指示を検出し、
    前記送金判定部は、前記第1の秘密コードが登録され、かつ、未実行の送金指示が検出されたとき、前記未実行の送金指示に対応して登録されている第1の秘密コードと前記未実行の送金指示の受付け後に通知した前記第2の秘密コードが適合することを条件として、仮想通貨の送金を許可することを特徴とする請求項1に記載の仮想通貨の送金システム。
  3. ユーザが送金先および送金元を指定して実施する仮想通貨の送金指示が登録されるデータ格納主体に自発的にアクセスすることにより未実行の送金指示を検出する送金指示検出部と、
    前記データ格納主体から未実行の送金指示が検出されたとき、前記未実行の送金指示の送金元として指定されたユーザに対して、前記未実行の送金指示で指定された送金先と第2の秘密コードを通知する確認要求部と、
    前記第2の秘密コードを通知されたユーザから入力された第1の秘密コードと前記第2の秘密コードが適合することを条件として、仮想通貨の送金を許可する送金判定部と、を備えることを特徴とする仮想通貨の送金実行システム。
  4. 前記データ格納主体には、送金指示とともに、前記送金指示に対応してユーザから入力される第1の秘密コードが登録され、
    前記送金指示検出部は、未実行であって、かつ、対応する第1の秘密コードが登録済みとなっている送金指示を検出し、
    前記送金判定部は、前記未実行であって、かつ、対応する第1の秘密コードが登録済みとなっている送金指示が検出されたとき、前記未実行の送金指示に対応して登録されている第1の秘密コードと前記送金指示を対象としてユーザに通知された第2の秘密コードが適合することを条件として、仮想通貨の送金を許可することを特徴とする請求項3に記載の仮想通貨の送金実行システム。
JP2019057812A 2019-03-26 2019-03-26 仮想通貨の送金システム Active JP7395261B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019057812A JP7395261B2 (ja) 2019-03-26 2019-03-26 仮想通貨の送金システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019057812A JP7395261B2 (ja) 2019-03-26 2019-03-26 仮想通貨の送金システム

Publications (2)

Publication Number Publication Date
JP2020160652A JP2020160652A (ja) 2020-10-01
JP7395261B2 true JP7395261B2 (ja) 2023-12-11

Family

ID=72643394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019057812A Active JP7395261B2 (ja) 2019-03-26 2019-03-26 仮想通貨の送金システム

Country Status (1)

Country Link
JP (1) JP7395261B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7274652B1 (ja) 2022-06-29 2023-05-16 Kddi株式会社 プログラム、情報処理端末及び情報処理方法
JP7274651B1 (ja) 2022-06-29 2023-05-16 Kddi株式会社 情報処理装置、情報処理方法及びプログラム
JP7293469B1 (ja) 2022-07-27 2023-06-19 Kddi株式会社 情報処理装置及び情報処理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003083743A1 (fr) 2002-03-29 2003-10-09 Fujitsu Limited Programme de remise de fonds projetee
JP2016001423A (ja) 2014-06-12 2016-01-07 株式会社日本ビジネスエンジニアリング ネット取引システム及びネット取引方法
JP2016197328A (ja) 2015-04-03 2016-11-24 株式会社三菱東京Ufj銀行 サーバ
JP2017059163A (ja) 2015-09-18 2017-03-23 株式会社アトムソリューションズ 仮想通貨を用いた送金システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003083743A1 (fr) 2002-03-29 2003-10-09 Fujitsu Limited Programme de remise de fonds projetee
JP2016001423A (ja) 2014-06-12 2016-01-07 株式会社日本ビジネスエンジニアリング ネット取引システム及びネット取引方法
JP2016197328A (ja) 2015-04-03 2016-11-24 株式会社三菱東京Ufj銀行 サーバ
JP2017059163A (ja) 2015-09-18 2017-03-23 株式会社アトムソリューションズ 仮想通貨を用いた送金システム

Also Published As

Publication number Publication date
JP2020160652A (ja) 2020-10-01

Similar Documents

Publication Publication Date Title
US20210142312A1 (en) Authentication systems and methods using location matching
US10346814B2 (en) System and method for executing financial transactions
KR101799343B1 (ko) 인증 정보의 사용 방법, 파기 방법 및 이를 지원하는 블록체인기반 인증 정보 관리 서버
KR101780636B1 (ko) 인증 정보의 발급 방법 및 이를 지원하는 블록체인기반 인증 정보 관리 서버
US10135614B2 (en) Integrated contactless MPOS implementation
US11170379B2 (en) Peer forward authorization of digital requests
KR102221636B1 (ko) 클라우드-기반 트랜잭션 방법 및 시스템
US10424171B2 (en) Systems and methods for transferring resource access
US9426134B2 (en) Method and systems for the authentication of a user
US8935802B1 (en) Verifiable tokenization
EP2953076A1 (en) System and method for executing financial transactions
ES2748847T3 (es) Transacciones de tarjeta de pago seguras
US11816666B2 (en) Secure payment processing
JP7395261B2 (ja) 仮想通貨の送金システム
US20220124116A1 (en) Systems and methods for detecting security risks in network pages
Madwanna et al. Security issues of unified payments interface and challenges: case study
US12100004B2 (en) Payer-controlled payment processing
US20240257141A1 (en) A system and method for facilitating rule-based partially online and offline payment transactions
Hudaib Banks & E− Commerce Network Security Threats and Best Policies in Practice
WO2010009516A1 (en) System and process for secure communication

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20190408

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231101

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231129

R151 Written notification of patent or utility model registration

Ref document number: 7395261

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151