(57)【要約】【課題】コンピュータプログラム及びメッセージ送信方法の提供。【解決手段】ユーザの秘密鍵により署名されたトランザクション情報を複数のノードに分散して保持する分散型台帳ネットワークへのアクセスが可能なコンピュータに、ユーザへのメッセージと、メッセージの送信先アドレスとを受付け、受付けたメッセージをユーザの秘密鍵に対応した公開鍵により暗号化し、公開鍵により暗号化したメッセージを、分散型台帳ネットワークを介して送信先アドレスへ送信する処理を実行させるためのコンピュータプログラムである。【選択図】図３
2019211867.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの秘密鍵により署名されたトランザクション情報を複数のノードに分散して保持する分散型台帳ネットワークへのアクセスが可能なコンピュータに、
前記ユーザへのメッセージと、該メッセージの送信先アドレスとを受付け、
受付けたメッセージを前記ユーザの秘密鍵に対応した公開鍵により暗号化し、
前記公開鍵により暗号化したメッセージを、前記分散型台帳ネットワークを介して前記送信先アドレスへ送信する
処理を実行させるためのコンピュータプログラム。
【請求項２】
前記コンピュータに、
前記メッセージの送信履歴情報に対して、前記メッセージの送信元の秘密鍵を用いて電子署名を施し、
電子署名を施した送信履歴情報を前記複数のノードに分散させて記憶させるべく、前記分散型台帳ネットワークへ送信する
処理を実行させるための請求項１に記載のコンピュータプログラム。
【請求項３】
前記コンピュータに、
公開鍵により暗号化されたメッセージを受信した場合、前記公開鍵に対応する秘密鍵を用いて前記メッセージを復号する
処理を実行させるための請求項１又は請求項２に記載のコンピュータプログラム。
【請求項４】
前記コンピュータに、
前記メッセージの送信元から送信先に至る経路情報に対して、前記秘密鍵を用いて電子署名を施し、
電子署名を施した経路情報を前記複数のノードに分散させて記憶させるべく、前記分散型台帳ネットワークへ送信する
処理を実行させるための請求項３に記載のコンピュータプログラム。
【請求項５】
ユーザの秘密鍵により署名されたトランザクション情報を複数のノードに分散して保持する分散型台帳ネットワークへのアクセスが可能なコンピュータを用いて、
前記ユーザへのメッセージと、該メッセージの送信先アドレスとを受付け、
受付けたメッセージを前記ユーザの秘密鍵に対応した公開鍵により暗号化し、
前記公開鍵により暗号化したメッセージを、前記分散型台帳ネットワークを介して前記送信先アドレスへ送信する
メッセージ送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラム及びメッセージ送信方法に関する。
【背景技術】
【０００２】
近年、インターネット網などの通信ネットワークを利用して、送信者及び受信者間でメッセージを送受信するシステムが広く普及している（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−６２３０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のメッセージ送受信システムには、送信者の端末から送信されるメッセージを取得する送信サーバ、及び受信者の端末へ送信すべきメッセージを一時的に蓄積する受信サーバが設置されていることが一般的である。送信サーバが取得したメッセージ及び受信サーバに蓄積されたメッセージは、サーバを設置しているメッセージ送受信システムの運営者によって閲覧可能な状態にあり、メッセージの秘匿性を担保することができないという問題点を有する。
【０００５】
本発明は、斯かる事情に鑑みてなされたものであり、メッセージの秘匿性を担保することができるコンピュータプログラム及びメッセージ送信方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係るコンピュータプログラムは、ユーザの秘密鍵により署名されたトランザクション情報を複数のノードに分散して保持する分散型台帳ネットワークへのアクセスが可能なコンピュータに、前記ユーザへのメッセージと、該メッセージの送信先アドレスとを受付け、受付けたメッセージを前記ユーザの秘密鍵に対応した公開鍵により暗号化し、前記公開鍵により暗号化したメッセージを、前記分散型台帳ネットワークを介して前記送信先アドレスへ送信する処理を実行させるためのコンピュータプログラムである。
【０００７】
本発明の一態様に係るメッセージ送信方法は、ユーザの秘密鍵により署名されたトランザクション情報を複数のノードに分散して保持する分散型台帳ネットワークへのアクセスが可能なコンピュータを用いて、前記ユーザへのメッセージと、該メッセージの送信先アドレスとを受付け、受付けたメッセージを前記ユーザの秘密鍵に対応した公開鍵により暗号化し、前記公開鍵により暗号化したメッセージを、前記分散型台帳ネットワークを介して前記送信先アドレスへ送信する。
【発明の効果】
【０００８】
本願によれば、メッセージの秘匿性を担保することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態に係るメッセージ送受信システムの構成例を示す模式図である。
【図２】ユーザ端末の内部構成を説明するブロック図である。
【図３】メッセージの送受信に係る手順を説明するフローチャートである。
【図４】送信履歴情報の保存手順を説明するフローチャートである。
【図５】経路情報の保存手順を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
（実施の形態１）
図１は本実施の形態に係るメッセージ送受信システムの構成例を示す模式図である。本実施の形態に係るメッセージ送受信システムは、メッセージの送信者が利用する送信者端末１０Ａ、メッセージの受信者が利用する受信者端末１０Ｂ、及び分散型台帳ネットワークＮを構成する複数のノード２０，２０，…，２０を備える。送信者端末１０Ａから送信するメッセージは、文字、記号等を含む文字列のデータである。また、送信者端末１０Ａから送信するメッセージは、文字列のデータを含む電子メール形式のデータであってもよい。
【００１１】
複数のノード２０，２０，…，２０によって構成される分散型台帳ネットワークＮは、例えば仮想通貨用のプラットフォームを提供する。すなわち、ノード２０，２０，…，２０は、ピア・ツー・ピア（Ｐ２Ｐ）で接続されており、仮想通貨の取引に関するトランザクションを分散して記憶する分散型台帳を構成する。分散型台帳ネットワークＮの一例はブロックチェーンであり、複数のノード２０，２０，…，２０に同じ内容を記憶させることにより、改竄を困難にしている。分散型台帳ネットワークＮは、電子署名とハッシュポインタとを含み、改竄検出が容易なデータ構造を持つトランザクションのデータを複数のノード２０，２０，…，２０に分散保持させることによって、高可用性及びデータ同一性を実現し、信頼性の高い、公正なプラットフォームを提供する。
【００１２】
本実施の形態では、このような分散型台帳ネットワークＮを利用して、送信者端末１０Ａから受信者端末１０Ｂへメッセージを送信することを特徴の１つとしている。
【００１３】
なお、本実施の形態では、メッセージの送信者と受信者とを便宜的に区別して説明を行うが、両者を区別して説明する必要がない場合には、単にユーザとも記載する。また、送信者端末１０Ａと受信者端末１０Ｂとを区別して説明する必要がない場合には、ユーザ端末１０とも記載する。送信者端末１０Ａは、メッセージを送信する機能だけでなく、メッセージを受信する機能を備えていてもよく、受信者端末１０Ｂは、メッセージを受信する機能だけでなく、メッセージを送信する機能を備えていてもよい。
【００１４】
また、本実施の形態では、分散型台帳ネットワークＮを構成するノード２０とは区別して、送信者端末１０Ａ及び受信者端末１０Ｂを記載したが、送信者端末１０Ａ及び受信者端末１０Ｂは、それぞれ分散型台帳ネットワークＮを構成するノードの１つとして機能するものであってもよい。
【００１５】
図２はユーザ端末１０の内部構成を説明するブロック図である。ユーザ端末１０は、例えばスマートフォン、パーソナルコンピュータなどの端末装置であり、制御部１１、記憶部１２、通信部１３、操作部１４、表示部１５等を備える。
【００１６】
制御部１１は、例えば、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等を備える。制御部１１のＣＰＵは、ＲＯＭ又は記憶部１２に予め記憶された各種プログラムをＲＡＭに展開して実行することにより、上述した各種ハードウェアの動作を制御し、装置全体を本願のメッセージ送信方法を実現させる。
【００１７】
なお、制御部１１は、上記の構成に限定されるものではなく、１又は複数のＣＰＵ、マルチコアＣＰＵ、マイコン等を含む任意の処理回路であればよい。また、制御部１１は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等の機能を備えていてもよい。
【００１８】
記憶部１２は、ＳＲＡＭ（Static Random Access Memory）、フラッシュメモリ、ハードディスクなどを用いた記憶装置を備える。記憶部１２には、制御部１１によって実行される各種コンピュータプログラム、及びコンピュータプログラムの実行に必要なデータ等が記憶される。記憶部１２に記憶されるコンピュータプログラムには、分散型台帳ネットワークＮを利用して仮想通貨の取引を行うためのウォレットアプリ１２１、分散型台帳ネットワークＮを利用してメッセージの送受信を行うメッセージアプリ１２２等が含まれる。
【００１９】
記憶部１２に記憶されるプログラムは、当該プログラムを読み取り可能に記録した非一時的な記録媒体Ｍにより提供されてもよい。記録媒体Ｍは、例えば、ＣＤ−ＲＯＭ、ＵＳＢメモリ、ＳＤ（Secure Digital）カード、マイクロＳＤカード、コンパクトフラッシュ(登録商標)などの可搬型メモリである。この場合、制御部１１は、不図示の読取装置を用いて記録媒体Ｍから各種プログラムを読み取り、読み取った各種プログラムを記憶部１２にインストールする。また、記憶部１２に記憶されるプログラムは、通信部１３を介した通信により提供されてもよい。この場合、制御部１１は、通信部１３を通じて各種プログラムを取得し、取得した各種プログラムを記憶部１２にインストールする。
【００２０】
記憶部１２に記憶されるデータには、ユーザ端末１０を所持するユーザに固有の秘密鍵、この秘密鍵と対をなす公開鍵、他のユーザにより公開される公開鍵、メッセージの送受信に用いられるアドレス等が含まれる。記憶部１２に記憶されている秘密鍵及び公開鍵は、後述するように、メッセージの暗号化及び復号の際に用いられる。また、メッセージの暗号化及び復号に用いられる秘密鍵及び公開鍵は、分散型台帳ネットワークＮを介して仮想通貨を取引する際に用いられる秘密鍵及び公開鍵と共用してもよい。
【００２１】
通信部１３は、分散型台帳ネットワークＮに接続するための接続インタフェースを備える。通信部１３は、分散型台帳ネットワークＮを構成するノード２０，２０，…，２０の１つからデータを受信した場合、受信したデータを制御部１１へ出力する。また、通信部１３は、送信すべきデータが制御部１１から入力された場合、分散型台帳ネットワークＮを構成するノード２０，２０，…，２０の１つへデータを送信する。
【００２２】
操作部１４は、キーボード、マウスなどの入力インタフェースを備えており、ユーザによる操作を受付ける。表示部１５は、液晶ディスプレイ装置などを備えており、ユーザに対して報知すべき情報を表示する。
【００２３】
以下、分散型台帳ネットワークＮを利用して送信者端末１０Ａと受信者端末１０Ｂとの間でメッセージを送受信する際の動作について説明する。
【００２４】
図３はメッセージの送受信に係る手順を説明するフローチャートである。送信者が受信者に対してメッセージを送信する場合、送信者端末１０Ａにおいて、メッセージアプリ１２２を起動する。メッセージアプリ１２２が起動された状態にて、送信者端末１０Ａの制御部１１は、操作部１４を通じて、受信者へ送信するメッセージ、及びメッセージの宛先を示す送信先アドレスを受付ける（ステップＳ１０１）。送信先アドレスを示す文字列の入力を受付ける構成であってもよく、送信先アドレスに関連付けられたアイコンの選択を受付ける構成であってもよい。
【００２５】
次いで、制御部１１は、受信者の秘密鍵と対をなす公開鍵を記憶部１２から読み出し、読み出した公開鍵を用いて、メッセージを暗号化する（ステップＳ１０２）。すなわち、制御部１１は、正当な受信者のみが開封できるように、受信者の秘密鍵に対応した公開鍵を用いてメッセージを暗号化する。
【００２６】
次いで、制御部１１は、ステップＳ１０１で受付けた送信先アドレスを宛先として、暗号化したメッセージを通信部１３より送信する（ステップＳ１０３）。このとき、制御部１１は、送信先アドレスと、暗号化したメッセージとを含むトランザクションを分散型台帳ネットワークＮへ送信する。送信者端末１０Ａの通信部１３から送信されたメッセージは、分散型台帳ネットワークＮを構成する１又は複数のノード２０を介して、受信者端末１０Ｂに到達する。
【００２７】
受信者端末１０Ｂの通信部１３は、分散型台帳ネットワークＮを通じて、送信者端末１０Ａから送信されたメッセージを受信する（ステップＳ１０４）。通信部１３は、受信したメッセージを制御部１１へ出力する。
【００２８】
制御部１１は、受信者の秘密鍵を記憶部１２から読み出し、読み出した秘密鍵を用いて、受信したメッセージを復号する（ステップＳ１０５）。制御部１１は、復号したメッセージを表示部１５へ出力し、メッセージを表示部１５に表示させる（ステップＳ１０６）。
【００２９】
以上のように、本実施の形態では、例えば仮想通貨の取引のために構築される分散型台帳ネットワークＮを利用して、メッセージを送受信することができる。よって、本実施の形態では、運営者によって設置されるサーバを介さずにメッセージを送受信することができ、しかも受信者のみが復号できるように受信者の秘密鍵に対応した公開鍵でメッセージが暗号化されるので、メッセージの秘匿化を担保することができる。
【００３０】
（実施の形態２）
実施の形態２では、送信者端末１０Ａから送信したメッセージに関して、送信履歴情報を分散型台帳ネットワークＮのノード２０に記憶させる構成について説明する。
【００３１】
図４は送信履歴情報の保存手順を説明するフローチャートである。送信者端末１０Ａからメッセージを送信した場合、制御部１１は、送信したメッセージの送信履歴情報を取得する（ステップＳ２０１）。送信履歴情報には、例えば送信日時、宛先等の情報が含まれる。また、送信履歴情報には、メッセージの一部又は全部、メッセージのタイトル等の情報が含まれていてもよい。
【００３２】
制御部１１は、取得した送信履歴情報に対して電子署名を施す（ステップＳ２０２）。例えば、制御部１１は、送信履歴情報からメッセージダイジェストを生成し、生成したメッセージダイジェストを送信者の秘密鍵で暗号化する。送信者の秘密鍵は記憶部１２に予め記憶されているものとする。制御部１１は、秘密鍵で暗号化したメッセージダイジェストを送信履歴情報に添付することにより、送信履歴情報に電子署名を施すことができる。
【００３３】
次いで、制御部１１は、電子署名を施した送信履歴情報を通信部１３より分散型台帳ネットワークＮへ送信する（ステップＳ２０３）。このとき、制御部１１は、電子署名を施した送信履歴情報を、分散型台帳ネットワークＮを構成する複数のノード２０，２０，…，２０へブロードキャストすればよい。送信された送信履歴情報は、当該送信履歴情報を受信したノード２０，２０，…，２０のそれぞれによって保持され、その正当性は各ノード２０によって検証される。
【００３４】
以上のように、実施の形態２では、送信者端末１０Ａから送信したメッセージの送信履歴情報を分散型台帳ネットワークＮのノード２０，２０，…，２０に記憶させることができ、必要に応じて送信履歴の正当性を証明することができる。
【００３５】
なお、送信履歴情報をノード２０に保存させる処理は、送信者端末１０Ａからメッセージを送信した後、送信者端末１０Ａの制御部１１が自動的に行うものであってもよく、送信者からの指示を操作部１４にて受付けた場合のみ行うものであってもよい。
【００３６】
（実施の形態３）
実施の形態３では、メッセージの受信経路に係る経路情報を分散型台帳ネットワークＮのノード２０に記憶させる構成について説明する。
【００３７】
図５は経路情報の保存手順を説明するフローチャートである。受信者端末１０Ｂの制御部１１は、メッセージを受信した場合、送信元から送信先（受信者端末１０Ｂ）に至る経路情報を取得する（ステップＳ３０１）。経路情報には、メッセージを中継したノード２０のアドレス等の情報が含まれていてもよい。
【００３８】
制御部１１は、取得した経路情報に対して電子署名を施す（ステップＳ３０２）。例えば、制御部１１は、経路情報からメッセージダイジェストを生成し、生成したメッセージダイジェストを受信者の秘密鍵で暗号化する。受信者の秘密鍵は記憶部１２に予め記憶されているものとする。制御部１１は、秘密鍵で暗号化したメッセージダイジェストを経路情報に添付することにより、経路情報に電子署名を施すことができる。
【００３９】
次いで、制御部１１は、電子署名を施した経路情報を通信部１３より分散型台帳ネットワークＮへ送信する（ステップＳ３０３）。このとき、制御部１１は、電子署名を施した経路情報を、分散型台帳ネットワークＮを構成する複数のノード２０，２０，…，２０へブロードキャストすればよい。送信された経路情報は、当該経路情報を受信したノード２０，２０，…，２０のそれぞれによって保持され、その正当性は各ノード２０によって検証される。
【００４０】
以上のように、実施の形態３では、受信したメッセージの経路情報を分散型台帳ネットワークＮのノード２０，２０，…，２０に記憶させることができ、必要に応じて受信経路の正当性を証明することができる。
【００４１】
なお、経路情報をノード２０に保存させる処理は、受信者端末１０Ｂがメッセージを受信した後、受信者端末１０Ｂの制御部１１が自動的に行うものであってもよく、受信者からの指示を操作部１４にて受付けた場合のみ行うものであってもよい。
【００４２】
今回開示された実施の形態は、全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【００４３】
１０Ａ  送信者端末
１０Ｂ  受信者端末
１１  制御部
１２  記憶部
１２１  ウォレットアプリ
１２２  メッセージアプリ
１３  通信部
１４  操作部
１５  表示部
２０  ノード
Ｎ  分散型台帳ネットワーク
【図１】
2019211867.tif 000003
【図２】
2019211867.tif 000004
【図３】
2019211867.tif 000005
【図４】
2019211867.tif 000006
【図５】
2019211867.tif 000007