JP7261566B2 - Program, storage medium, information processing device and information processing method - Google Patents

Program, storage medium, information processing device and information processing method Download PDF

Info

Publication number
JP7261566B2
JP7261566B2 JP2018213547A JP2018213547A JP7261566B2 JP 7261566 B2 JP7261566 B2 JP 7261566B2 JP 2018213547 A JP2018213547 A JP 2018213547A JP 2018213547 A JP2018213547 A JP 2018213547A JP 7261566 B2 JP7261566 B2 JP 7261566B2
Authority
JP
Japan
Prior art keywords
processing
program
information
compiling
transmitting
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
JP2018213547A
Other languages
Japanese (ja)
Other versions
JP2020079891A (en
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.)
NS Solutions Corp
Original Assignee
NS Solutions 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 NS Solutions Corp filed Critical NS Solutions Corp
Priority to JP2018213547A priority Critical patent/JP7261566B2/en
Publication of JP2020079891A publication Critical patent/JP2020079891A/en
Application granted granted Critical
Publication of JP7261566B2 publication Critical patent/JP7261566B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、プログラム、記憶媒体、情報処理装置及び情報処理方法に関する。 The present invention relates to a program, a storage medium, an information processing apparatus, and an information processing method.

従来、サーバ装置等において情報を一元管理する仕組みが多く知られている。例えば、特許文献1には、複数のユーザの給与明細データを一元管理する給与明細提供システムが開示されている。また、2台の装置間で相対取引を行い、相対取引に関する情報を互いの装置に記憶するアプリケーションも知られている。 2. Description of the Related Art Conventionally, many schemes for centrally managing information in a server device or the like are known. For example, Patent Document 1 discloses a pay slip providing system that centrally manages pay slip data of a plurality of users. Also known is an application that conducts a negotiated transaction between two devices and stores information about the negotiated transaction in each other's devices.

特開2005-275956号公報JP 2005-275956 A

上述のように情報が一元管理されると、情報管理の負担が一か所に集中する。このため、情報量や情報の種類が増加すると、セキュリティ対策などのコストが増大するといった問題があった。また、2台の装置間で相対取引を行った場合において、相対取引に関する情報を取引者以外の者との間でも共有したいケースもある。 When information is centrally managed as described above, the burden of information management is concentrated in one place. Therefore, when the amount of information and the types of information increase, there is a problem that the cost of security countermeasures increases. Moreover, when a negotiated transaction is performed between two devices, there are cases where it is desired to share information regarding the negotiated transaction with a person other than the transactor.

本発明はこのような問題点に鑑みなされたもので、コストを抑えつつ、安全に情報を管理することを目的とする。 SUMMARY OF THE INVENTION The present invention has been made in view of such problems, and an object of the present invention is to manage information safely while suppressing costs.

そこで、本発明は、コンピュータを、一の装置との間で、1対1の処理を行う処理手段と、前記処理手段による処理に関する処理情報を、前記コンピュータの記憶手段に格納する格納手段と、前記処理情報を、前記一の装置と異なる1又は2以上の他の装置に送信する第1の送信手段と、前記1対1の処理を実現する処理プログラムをコンパイルする第1のコンパイル手段と、前記第1のコンパイル手段によりコンパイルされた前記処理プログラムを送信する第2の送信手段と、前記処理情報を共有する処理を実現する共有プログラムをコンパイルする第2のコンパイル手段と、前記第2のコンパイル手段によりコンパイルされた前記共有プログラムを送信する第3の送信手段と、として機能させ、前記処理手段は、前記処理プログラムを受信した装置との間で前記1対1の処理を行い、前記第1の送信手段は、前記共有プログラムを受信した装置に対し前記処理情報を送信することを特徴とするプログラムである。 Accordingly, the present invention provides a computer comprising: processing means for performing one-to-one processing with one device; storage means for storing processing information relating to processing by the processing means in storage means of the computer; a first transmitting means for transmitting the processing information to one or more devices different from the one device; a first compiling means for compiling a processing program for realizing the one-to-one processing; a second transmitting means for transmitting the processing program compiled by the first compiling means; a second compiling means for compiling a shared program realizing a process of sharing the processing information; and the second compiling. and a third transmission means for transmitting the shared program compiled by the means , and the processing means performs the one-to-one processing with the device that received the processing program, 1 transmission means is a program characterized by transmitting the processing information to a device that has received the shared program .

本発明によれば、コストを抑えつつ、安全に情報を管理することができる。 According to the present invention, information can be safely managed while suppressing costs.

図1は、情報処理装置のハードウェア構成図である。FIG. 1 is a hardware configuration diagram of an information processing apparatus. 図2は、情報処理装置の機能構成図である。FIG. 2 is a functional configuration diagram of the information processing apparatus. 図3は、情報処理装置の利用形態の説明図である。FIG. 3 is an explanatory diagram of a usage pattern of the information processing apparatus. 図4は、相対取引処理を示すシーケンス図である。FIG. 4 is a sequence diagram showing negotiation processing. 図5は、作成画面の一例を示す図である。FIG. 5 is a diagram showing an example of a creation screen. 図6は、暗号復号画面の一例を示す図である。FIG. 6 is a diagram showing an example of an encryption/decryption screen. 図7は、取引実行画面の一例を示す図である。FIG. 7 is a diagram showing an example of a transaction execution screen. 図8は、データ共有処理を示すシーケンス図である。FIG. 8 is a sequence diagram showing data sharing processing.

以下、本発明の実施形態について図面に基づいて説明する。 BEST MODE FOR CARRYING OUT THE INVENTION An embodiment of the present invention will be described below with reference to the drawings.

図1は、本実施形態に係る情報処理装置100のハードウェア構成図である。情報処理装置100は、PCや、携帯端末装置等のコンピュータである。情報処理装置100は、CPU101と、ROM102と、RAM103と、HDD104と、表示部105と、入力部106と、通信部107とを有している。CPU101は、ROM102に記憶された制御プログラムを読み出して各種処理を実行する。RAM103は、CPU101の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD104は、各種データや各種プログラム等を記憶する。なお、後述する情報処理装置100の機能や処理は、CPU101がROM102又はHDD104に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。また、他の例としては、CPU101は、ROM102等に替えて、SDカード等の記憶媒体に格納されているプログラムを読み出してもよい。 FIG. 1 is a hardware configuration diagram of an information processing apparatus 100 according to this embodiment. The information processing device 100 is a computer such as a PC or a mobile terminal device. The information processing apparatus 100 has a CPU 101 , a ROM 102 , a RAM 103 , an HDD 104 , a display section 105 , an input section 106 and a communication section 107 . The CPU 101 reads control programs stored in the ROM 102 and executes various processes. A RAM 103 is used as a main memory of the CPU 101 and a temporary storage area such as a work area. The HDD 104 stores various data, various programs, and the like. Functions and processes of the information processing apparatus 100, which will be described later, are realized by the CPU 101 reading a program stored in the ROM 102 or the HDD 104 and executing the program. As another example, the CPU 101 may read a program stored in a storage medium such as an SD card instead of the ROM 102 or the like.

表示部105は、各種情報を表示する。入力部106は、キーボードやマウスを有し、ユーザによる各種操作を受け付ける。通信部107は、ネットワークを介して画像形成装置等の外部装置との通信処理を行う。 The display unit 105 displays various information. The input unit 106 has a keyboard and a mouse, and receives various operations by the user. A communication unit 107 performs communication processing with an external device such as an image forming apparatus via a network.

図2は、情報処理装置100の機能構成図である。情報処理装置100は、受付部201と、通信処理部202と、暗号復号部203と、プログラム作成部204と、コンパイル部205と、相対取引部206と、データ共有部207と、データ保管部208と、を有している。受付部201は、入力部106へのユーザ操作に応じて各種情報を受け付ける。通信処理部202は、外部装置との通信を行う。暗号復号部203は、情報の暗号化及び復号化を行う。 FIG. 2 is a functional configuration diagram of the information processing apparatus 100. As shown in FIG. The information processing apparatus 100 includes a reception unit 201, a communication processing unit 202, an encryption/decryption unit 203, a program creation unit 204, a compilation unit 205, a negotiation unit 206, a data sharing unit 207, and a data storage unit 208. and have The reception unit 201 receives various types of information according to user operations on the input unit 106 . A communication processing unit 202 communicates with an external device. The encryption/decryption unit 203 encrypts and decrypts information.

プログラム作成部204は、受付部201が受け付けた情報に基づいて、プログラムを作成する。本実施形態のプログラム作成部204は、相対取引プログラム及びデータ共有プログラムを作成する。相対取引プログラムは、2台の情報処理装置100の間での1対1での取引である相対取引を行うためのプログラムである。相対取引プログラムには、取引するデータのモデルや、相対取引に係る条件、チェック内容等が含まれるものとする。このように、相対取引プログラムには、相対取引に係る情報が含まれる。相対取引プログラムは、相対取引毎に作成されるプログラムであり、契約そのものであるとも捉えることができる。データ共有プログラムは、相対取引に関するデータを共有するためのプログラムである。相対取引プログラム及びデータ共有プログラムは、いずれもスマートコントラクトプログラムである。なお、プログラム作成部204は、各プログラムの作成に際し、ワークフロー等が記述されたテンプレートを利用してもよい。なお、相対取引プログラムは、1対1の処理を実現する処理プログラムの一例である。また、データ共有プログラムは、1対1の処理に関する処理情報を共有する処理を実現する共有プログラムの一例である。 The program creating unit 204 creates a program based on the information received by the receiving unit 201 . The program creation unit 204 of this embodiment creates a negotiated transaction program and a data sharing program. A negotiated transaction program is a program for conducting a negotiated transaction, which is a one-to-one transaction between two information processing apparatuses 100 . The bilateral trading program shall include a data model to be traded, conditions related to bilateral trading, contents of checks, and the like. Thus, the bilateral trading program includes information related to bilateral trading. A negotiated transaction program is a program created for each negotiated transaction, and can be regarded as a contract itself. The data sharing program is a program for sharing data on bilateral transactions. Both the bilateral trading program and the data sharing program are smart contract programs. Note that the program creation unit 204 may use a template describing a workflow and the like when creating each program. The negotiated transaction program is an example of a processing program that implements one-to-one processing. Also, the data sharing program is an example of a sharing program that implements a process of sharing processing information related to one-to-one processing.

コンパイル部205は、プログラム作成部204により作成されたプログラムをコンパイルすることで、実行形式のファイルを得る。相対取引プログラムがコンパイルされることにより、相対取引部206が実現される。また、データ共有プログラムがコンパイルされることにより、データ共有部207が実現される。 A compiling unit 205 obtains an executable file by compiling the program created by the program creating unit 204 . The negotiated transaction unit 206 is realized by compiling the negotiated transaction program. Also, the data sharing unit 207 is realized by compiling the data sharing program.

相対取引部206は、相対取引の相手となる情報処理装置との間で相対取引に係る処理を行う。相対取引部206は、相対取引に関するデータをデータ保管部208に格納する。データ共有部207は、データ保管部208に記憶されているデータを、他の情報処理装置との間で共有するための処理を行う。データ共有部207は、具体的には、データ保管部208に記憶されているデータを、通信処理部202を介して、共有相手の情報処理装置に送信する。 The negotiated transaction unit 206 performs processing related to negotiated transactions with an information processing apparatus that is a counterparty of negotiated transactions. The negotiated transaction unit 206 stores data regarding the negotiated transaction in the data storage unit 208 . The data sharing unit 207 performs processing for sharing data stored in the data storage unit 208 with other information processing apparatuses. Specifically, the data sharing unit 207 transmits the data stored in the data storage unit 208 to the information processing apparatus of the sharing partner via the communication processing unit 202 .

なお、情報処理装置100と他の装置との間での相対取引毎に相対取引プログラムが作成され、相対取引プログラム毎に相対取引部206が作成される。ここで、相対取引部が作成されるというのは、相対取引ごとに取引内容に応じた相対取引プログラムがデプロイされ、取引当事者間での取引の実行が可能な状態を準備・形成されると言い換えることができる。このため、1つの情報処理装置100において、複数の相対取引部206が実現され得る。そして、作成された相対取引部206は、コンパイル部205によりコンパイルされた実行形式のファイルが送信された情報処理装置との間でのみ相対取引処理を行うことができる。なお、相対取引部206は、自装置以外でコンパイルされた相対取引プログラムを有する装置との間では相対取引処理を行うことはできない。 A negotiated transaction program is created for each negotiated transaction between the information processing device 100 and another device, and the negotiated transaction unit 206 is created for each negotiated transaction program. Here, creating a negotiated transaction part means that a negotiated transaction program is deployed according to the transaction details for each negotiated transaction, and a state in which transactions can be executed between the parties to the transaction is prepared and formed. be able to. Therefore, in one information processing apparatus 100, a plurality of negotiated transaction units 206 can be realized. The created negotiating unit 206 can perform negotiating transactions only with the information processing device to which the executable file compiled by the compiling unit 205 has been transmitted. It should be noted that the negotiated transaction unit 206 cannot perform negotiated transaction processing with a device having a compiled negotiated transaction program other than its own device.

同様に、情報処理装置100と他の装置との間でのデータ共有の処理毎にデータ共有プログラムが作成され、データ共有プログラム毎にデータ共有部207が作成される。このため、1つの情報処理装置100において、複数のデータ共有部207が実現され得る。そして、作成されたデータ共有部207は、コンパイル部205によりコンパイルされた実行形式のファイルが送信された情報処理装置との間でのみデータ共有処理を行うことができる。なお、データ共有部207は、自装置以外でコンパイルされたデータ共有プログラムを有する装置との間ではデータ共有処理を行うことはできない。 Similarly, a data sharing program is created for each data sharing process between the information processing apparatus 100 and another apparatus, and the data sharing unit 207 is created for each data sharing program. Therefore, a plurality of data sharing units 207 can be realized in one information processing apparatus 100 . The created data sharing unit 207 can perform data sharing processing only with the information processing apparatus to which the executable file compiled by the compiling unit 205 has been transmitted. Note that the data sharing unit 207 cannot perform data sharing processing with a device having a data sharing program compiled by a device other than its own device.

図3は、情報処理装置100の利用形態の説明図である。例えば、ある企業における給与の支払担当者が受給者との間で相対取引を行うものとする。さらに、支払担当者は、承認者及び社内のバックアップ装置との間で相対取引に関する取引データを共有することを希望しているものとする。また、受給者は、家族との間で取引データを共有することを希望しているものとする。 FIG. 3 is an explanatory diagram of a usage pattern of the information processing apparatus 100. As shown in FIG. For example, assume that a person in charge of paying salaries in a certain company conducts negotiated transactions with recipients. Further assume that the payment officer wishes to share transaction data regarding bilateral transactions with approvers and internal backup equipment. It is also assumed that the recipient desires to share the transaction data with his/her family.

この場合、支払担当者が利用する情報処理装置100は、受給者が利用する情報処理装置100との間で給与の支払いに関する相対取引を行うための相対取引プログラムを作成する。そして、支払担当者の情報処理装置100は、受給者の情報処理装置100との間で相対取引プログラムに基づく相対取引処理を行う。 In this case, the information processing device 100 used by the person in charge of payment creates a negotiated transaction program for conducting negotiated transactions regarding salary payment with the information processing device 100 used by the recipient. Then, the information processing device 100 of the person in charge of payment performs negotiation processing based on the negotiation program with the information processing device 100 of the recipient.

さらに、支払担当者の情報処理装置100は、承認者の情報処理装置100及びバックアップのための情報処理装置100との間で取引データを共有するためのデータ共有プログラムを作成する。そして、支払担当者の情報処理装置100は、承認者の情報処理装置100との間でデータ共有プログラムに基づくデータ共有処理を行い、さらにバックアップのための情報処理装置100との間でデータ共有プログラムに基づくデータ共有処理を行う。 Further, the information processing apparatus 100 of the person in charge of payment creates a data sharing program for sharing the transaction data between the information processing apparatus 100 of the approver and the information processing apparatus 100 for backup. Then, the information processing device 100 of the person in charge of payment performs the data sharing process based on the data sharing program with the information processing device 100 of the approver, and further executes the data sharing program with the information processing device 100 for backup. Data sharing process based on

一方で、受給者の情報処理装置100は、家族の情報処理装置100との間で取引データを共有するためのデータ共有プログラムを作成する。そして、受給者の情報処理装置100は、家族の情報処理装置100との間でデータ共有プログラムに基づくデータ共有処理を行う。 On the other hand, the information processing device 100 of the recipient creates a data sharing program for sharing transaction data with the information processing device 100 of the family. Then, the recipient's information processing device 100 performs data sharing processing based on the data sharing program with the family's information processing device 100 .

以下、上記の利用形態を実現するための情報処理装置100の処理について説明する。なお、以降では、複数の情報処理装置100を区別すべく、支払担当者が利用する情報処理装置100を装置A、受給者が利用する情報処理装置100を装置Bと称する。また、承認者が利用する情報処理装置100、バックアップのための情報処理装置100をそれぞれ装置C、装置Dと称する。また、受給者の家族が利用する情報処理装置100を装置Eと称する。 Processing of the information processing apparatus 100 for realizing the above usage mode will be described below. Hereinafter, in order to distinguish between the plurality of information processing apparatuses 100, the information processing apparatus 100 used by the person in charge of payment will be referred to as apparatus A, and the information processing apparatus 100 used by the recipient will be referred to as apparatus B. The information processing apparatus 100 used by the approver and the information processing apparatus 100 for backup are referred to as apparatus C and apparatus D, respectively. Also, the information processing device 100 used by the recipient's family will be referred to as device E. As shown in FIG.

図4は、装置Aと装置Bの間での相対取引処理を示すシーケンス図である。まず、S401において、装置Aのプログラム作成部204は、装置Bとの間の相対取引のための相対取引プログラムを作成する。本実施形態においては、装置Aのプログラム作成部204は、給与の支払いに関する相対取引プログラムを作成する。次に、S402において、装置Aのコンパイル部205は、S401において作成された相対取引プログラムをコンパイルし、実行形式のファイルを得る。これにより、装置Aにおいて、相対取引プログラムに対応した相対取引部206が展開される。 FIG. 4 is a sequence diagram showing bilateral transaction processing between device A and device B. As shown in FIG. First, in S401, the program creation unit 204 of the device A creates a relative transaction program for a relative transaction with the device B. FIG. In this embodiment, the program creation unit 204 of the device A creates a relative transaction program regarding salary payment. Next, at S402, the compiling unit 205 of device A compiles the negotiated trading program created at S401 to obtain an executable file. As a result, in the device A, the bilateral trading unit 206 corresponding to the bilateral trading program is deployed.

S401及びS402の処理に際し、装置Aの表示部105には、図5に示す作成画面500が表示される。装置Aのユーザは、作成画面500の入力欄501に相対取引プログラムの名称を入力する。さらに、装置Aのユーザは、テンプレートを利用する場合には、作成画面500のテンプレートボタン502を選択し、表示欄504において、テンプレートを選択する。また、自身で作成する場合には、装置Aのユーザは、独自実装ボタン503を選択する。さらに、「プログラムエディタを開く」のボタン505を選択し、取引プログラムに関する情報を入力する。S401においては、作成画面500において入力された情報に基づいて、相対取引プログラムが作成される。また、コンパイルボタン506が選択されると、S402におけるコンパイル部205のコンパイルが実行される。コンパイルが実行されると、作成画面500には、「コンパイルに成功しました。スマートコントラクト一覧に追加しました。」といった情報が表示される。 During the processing of S401 and S402, the display unit 105 of the device A displays the creation screen 500 shown in FIG. The user of device A enters the name of the negotiated transaction program in input field 501 of creation screen 500 . Furthermore, when using a template, the user of apparatus A selects template button 502 on creation screen 500 and selects a template in display field 504 . In addition, when the user of the device A selects the original implementation button 503 when creating by himself/herself. Then, select the "Open Program Editor" button 505 and enter information about the trading program. In S401, based on the information input on the creation screen 500, a negotiated transaction program is created. Also, when the compile button 506 is selected, compilation by the compiling unit 205 in S402 is executed. When the compilation is executed, the creation screen 500 displays information such as "The compilation was successful. Added to the smart contract list."

次に、S403において、装置Aの暗号復号部203は、S402において得られた、相対取引プログラムの実行形式のファイルを暗号化する。次に、S404において、通信処理部202は、暗号化された相対取引プログラムを装置Bへ送信する。このように、装置Aが相対取引プログラムを暗号化して送信することで、本来送信すべき相手と異なる第三者に相対取引プログラムが転送された場合に、第三者により相対取引プログラムが利用されるのを防ぐことができる。また、相対取引プログラムの送信先は、ユーザ操作に応じて指定されるものとする。 Next, in S403, the encryption/decryption unit 203 of the device A encrypts the executable file of the bilateral trading program obtained in S402. Next, in S404, the communication processing unit 202 transmits the encrypted negotiated transaction program to the device B. In this way, the apparatus A encrypts and transmits the negotiated transaction program, so that when the negotiated transaction program is transferred to a third party different from the party to which it should be transmitted, the third party can use the negotiated transaction program. can prevent In addition, it is assumed that the destination of the bilateral trading program is specified according to the user's operation.

装置BのCPU101は、相対取引プログラムを受信すると処理をS405へ進める。S405において、装置Bの暗号復号部203は、S404において受信した相対取引プログラムを復号化する。なお、復号化のためのキーは、支払担当者が受給者に口頭等で伝え、受給者が装置Bに入力することとする。このように、装置Bは、相対取引プログラムとは別の経路で復号化のためのキーを取得するものとする。暗号復号部203により相対取引プログラムが復号化されると、装置Bにおいて、相対取引プログラムに応じた相対取引部206が展開される。 CPU 101 of device B advances the process to S405 upon receiving the negotiated transaction program. In S405, the encryption/decryption unit 203 of device B decrypts the negotiated trading program received in S404. The decryption key is verbally communicated to the recipient by the person in charge of payment, and the recipient inputs the key into the device B. FIG. Thus, it is assumed that device B obtains the key for decryption through a different path than the bilateral trading program. When the negotiated transaction program is decrypted by the encryption/decryption unit 203, the apparatus B develops the negotiated transaction unit 206 corresponding to the negotiated transaction program.

上述のように、相対取引プログラムは、同一の実行形式ファイルにより展開された相対取引部間でのみしか相対取引処理が実行できないように作成される。このため、装置Aの相対取引部206は、装置A以外の装置において同一の相対取引プログラムをコンパイルすることで得られた実行形式ファイルにより展開された相対取引部との間では相対取引処理を行うことができない。一方で、装置Aは、装置Aのコンパイル部205によりコンパイルされた相対取引プログラムの実行形式ファイルを取得した装置Bの相対取引部206と相対取引処理が可能となる。すなわち、装置Aの相対取引部206は、装置Bにおいて、相対取引部206が展開されることで、装置Aと装置Bの間での相対取引処理を実行可能となる。このように、相対取引処理の相手を制限することで、相対取引処理のセキュリティを保つことができる。 As described above, the bilateral trading program is created so that bilateral trading processing can be executed only between bilateral trading units developed by the same execution format file. Therefore, the negotiating unit 206 of the device A performs negotiating transactions with the negotiating unit developed by the execution format file obtained by compiling the same negotiating program in the device other than the device A. I can't. On the other hand, the apparatus A can perform negotiation processing with the negotiation section 206 of the apparatus B that has acquired the execution format file of the negotiation program compiled by the compilation section 205 of the apparatus A. That is, the negotiating transaction unit 206 of the device A can execute negotiating transaction processing between the device A and the device B by deploying the negotiating transaction unit 206 in the device B. In this way, by restricting the counterparties of the negotiation process, the security of the negotiation process can be maintained.

図6は、装置Aの表示部105に表示される暗号復号画面600の一例を示す図である。装置Aのユーザが選択欄601において暗号化の対象の相対取引プログラムを選択し、暗号ボタン602を押下する、これに対応して、暗号復号部203は、相対取引プログラムの暗号化を行う。暗号化が完了すると、「スマートコントラクトを暗号化しました。」といった確認情報が表示される。さらに、装置Bが相対取引プログラムを復号化する際にも、装置Bの表示部105に暗号復号画面600が表示される。装置Bのユーザが選択欄601において復号化の対象の相対取引プログラムを選択し、復号ボタン603を押下すると、装置Bの暗号復号部203は、相対取引プログラムを復号化する。 FIG. 6 is a diagram showing an example of an encryption/decryption screen 600 displayed on the display unit 105 of the device A. As shown in FIG. The user of the device A selects the negotiation program to be encrypted in the selection field 601 and presses the encryption button 602. In response to this, the encryption/decryption unit 203 encrypts the negotiation program. When the encryption is completed, confirmation information such as "The smart contract has been encrypted" is displayed. Furthermore, when the device B decrypts the negotiated transaction program, the decryption screen 600 is displayed on the display unit 105 of the device B as well. When the user of device B selects a negotiated transaction program to be decrypted in selection field 601 and presses decryption button 603, encryption/decryption unit 203 of device B decrypts the negotiated transaction program.

次に、S406において、装置Aの相対取引部206と装置Bの相対取引部206とにより相対取引処理が行われる。図7は、装置Aの表示部105に表示される取引実行画面700の一例を示す図である。装置Aのユーザは、選択欄701において、実行を希望する相対取引プログラムを選択し、確認ボタン702を押下する。これにより、「社員番号X12345に給与を支払うスマートコントラクトです。」というように、選択中の相対取引プログラムに関する情報が表示される。さらに、実行ボタン703が押下されると、装置Aの相対取引部206は、相対取引プログラムに対応した相対取引処理を開始する。そして、各装置A,Bの相対取引部206は、相対取引に関する取引データを自装置のデータ保管部208に格納する(S407,S408)。以上で、相対取引処理が完了する。なお、相対取引に関する取引データには、支払日、支払額等が含まれる。 Next, in S406, the negotiated transaction processing is performed by the negotiated transaction unit 206 of the device A and the negotiated transaction unit 206 of the device B. FIG. 7 is a diagram showing an example of a transaction execution screen 700 displayed on the display unit 105 of the device A. As shown in FIG. The user of apparatus A selects a negotiated transaction program that he wishes to execute in selection field 701 and presses confirmation button 702 . As a result, information about the selected relative transaction program is displayed, such as "This is a smart contract that pays salary to employee number X12345." Further, when the execution button 703 is pressed, the negotiation section 206 of the apparatus A starts negotiation processing corresponding to the negotiation program. Then, the negotiated transaction unit 206 of each device A, B stores the transaction data related to the negotiated transaction in the data storage unit 208 of its own device (S407, S408). With this, the relative transaction processing is completed. Transaction data relating to bilateral transactions includes payment dates, payment amounts, and the like.

このように、装置Aは、自装置でコンパイルした相対取引プログラムを暗号化した上で取引相手のみに送信する。装置Aとの相対取引ができる装置は、装置Aによりコンパイルされた相対取引プログラムを受信し、かつ復号化できる装置に限定されるので、装置Aは、安全かつ秘匿性を保持した状態で相対取引を行うことができる。 In this way, the device A encrypts the bilateral trading program compiled by its own device and transmits it only to the trading partner. Devices that can conduct bilateral transactions with device A are limited to devices that can receive and decrypt the bilateral transaction program compiled by device A. Therefore, device A can conduct bilateral transactions while maintaining safety and confidentiality. It can be performed.

図8は、装置Aと、装置C及び装置Dとの間でのデータ共有処理を示すシーケンス図である。まず、S801において、装置Aのプログラム作成部204は、データ共有プログラムを作成する。装置Aのユーザは、共有相手を指定する情報及び共有するデータを指定する情報を入力する。これに対応し、装置Aのプログラム作成部204は、受付部201を介して、共有相手を指定する情報及び共有するデータを指定する情報を取得し、この情報に従い共有相手及び共有するデータを指定したデータ共有プログラムを作成する。 FIG. 8 is a sequence diagram showing data sharing processing between device A and devices C and D. As shown in FIG. First, in S801, the program creation unit 204 of device A creates a data sharing program. The user of device A inputs information specifying a sharing partner and information specifying data to be shared. In response to this, the program creation unit 204 of the device A acquires the information specifying the sharing partner and the information specifying the data to be shared via the receiving unit 201, and specifies the sharing partner and the data to be shared according to this information. create a data-sharing program that

次に、S802において、装置Aのコンパイル部205は、S801において作成されたデータ共有プログラムをコンパイルし、実行形式のファイルを得る。これにより、装置Aにおいて、データ共有プログラムに対応したデータ共有部207が展開される。次に、S803において、装置Aの暗号復号部203は、S803において得られた、データ共有プログラムの実行形式のファイルを暗号化する。次に、S804において、装置Aの通信処理部202は、暗号化されたデータ共有プログラムを装置Dへ送信する。なお、上述のように、データ共有プログラムの送信先は、データ共有プログラムにおいて定義されている。他の例としては、データ共有プログラムの送信先は、ユーザ操作に応じて指定されてもよい。 Next, in S802, the compiling unit 205 of device A compiles the data sharing program created in S801 to obtain an executable file. As a result, in the device A, the data sharing unit 207 corresponding to the data sharing program is deployed. Next, in S803, the encryption/decryption unit 203 of the device A encrypts the executable file of the data sharing program obtained in S803. Next, in S804, the communication processing unit 202 of device A transmits the encrypted data sharing program to device D. FIG. As described above, the destination of the data sharing program is defined in the data sharing program. As another example, the destination of the data sharing program may be specified according to a user's operation.

装置DのCPU101は、データ共有プログラムを受信すると、処理をS805へ進める。S805において、装置Dの暗号復号部203は、S804において受信したデータ共有プログラムを復号化する。なお、復号化のためのキーは、装置Aのユーザが装置Dのユーザに口頭等で伝え、装置Dのユーザが装置Dに入力することとする。このように、装置Dは、データ共有プログラムとは別の経路で、復号化のためのキーを取得するものとする。暗号復号部203によりデータ共有プログラムが復号化されると、装置Dにおいて、データ共有プログラムに応じたデータ共有部207が展開される。なお、データ共有プログラムは、相対取引プログラムと同様、同一の実行形式ファイルにより展開されたデータ共有部間でのみしかデータ共有処理を実行できないように作成されている。 Upon receiving the data sharing program, CPU 101 of device D advances the process to S805. In S805, the encryption/decryption unit 203 of device D decrypts the data sharing program received in S804. The key for decryption is verbally communicated by the user of the device A to the user of the device D, and the user of the device D inputs it to the device D. FIG. In this way, device D obtains the key for decryption through a path different from that of the data sharing program. When the data sharing program is decrypted by the encryption/decryption unit 203, in the device D, the data sharing unit 207 corresponding to the data sharing program is developed. The data sharing program, like the bilateral trading program, is created so that the data sharing process can be executed only between the data sharing units developed by the same execution format file.

次に、S806において、装置Aのデータ共有部207は、自装置のデータ保管部208から、共有対象のデータを取得し、取得した共有対象のデータを、通信処理部202を介して装置Dに送信する。装置Aのデータ共有部207は、例えば、図4を参照しつつ説明した取引処理においてデータ保管部208に格納された取引データを装置Dに送信する。装置Dは、共有対象のデータを受信すると、S807において、共有対象のデータを自装置のデータ保管部208に格納する。これにより、装置Aの取引データを装置Dとの間で共有することができる。 Next, in S806, the data sharing unit 207 of device A acquires data to be shared from the data storage unit 208 of its own device, and sends the acquired data to be shared to device D via the communication processing unit 202. Send. The data sharing unit 207 of the device A transmits the transaction data stored in the data storage unit 208 to the device D in the transaction processing described with reference to FIG. 4, for example. Upon receiving the data to be shared, device D stores the data to be shared in the data storage unit 208 of its own device in S807. Thereby, the transaction data of the device A can be shared with the device D.

続いて、装置Aは、装置Cとの間で、S812~S815の処理を行う。なお、S811~S815の処理は、装置Dとの間で行ったS804~S807の処理と同様である。なお、S812~S815の処理は、S804~S807の処理とは独立した処理であり、その実行タイミングは、実施形態に限定されるものではない。他の例としては、装置Aは、S804~S807の処理とS812~S815の処理を同時に並行して行ってもよい。このように、装置Aは、データ共有プログラムの送信相手との間でデータ共有処理により取引データを共有することができる。なお、装置Aは、共有したい相手が複数存在する場合には、各相手との間で、S804~S807の処理を行えばよい。 Subsequently, the device A performs the processes of S812 to S815 with the device C. FIG. Note that the processing of S811 to S815 is the same as the processing of S804 to S807 performed with the device D. The processes of S812 to S815 are processes independent of the processes of S804 to S807, and the execution timing thereof is not limited to the embodiment. As another example, the device A may simultaneously perform the processes of S804 to S807 and the processes of S812 to S815 in parallel. Thus, the device A can share the transaction data with the transmission partner of the data sharing program through the data sharing process. Note that when there are a plurality of partners with whom the device A wants to share, the processing of S804 to S807 may be performed with each partner.

また、装置Bは、装置Eとの間で、データ共有処理を行うことで、装置Bのデータ保管部208に保管されている取引データを装置Eとの間で共有することができる。以上の処理により、図3を参照しつつ説明したように、支払担当者の装置Aと受給者の装置Bとの間で相対取引を行い、その取引データを、装置C、装置D、装置Eといった相対取引を行っていない情報処理装置100との間で共有することができる。 Further, the device B can share the transaction data stored in the data storage unit 208 of the device B with the device E by performing data sharing processing with the device E. FIG. Through the above processing, as described with reference to FIG. It is possible to share with the information processing apparatus 100 with which the bilateral transaction is not performed.

このように、本実施形態においては、2者間で行った処理に関するデータを、処理を行った2者以外の者との間で共有することができる。すなわち、ブロックチェーンのように複数の装置の間でのデータ共有を実現する一方で、共有者を所望の相手のみに制限することができる。 Thus, in the present embodiment, data relating to processing performed between two parties can be shared with a person other than the two parties who performed the processing. In other words, while sharing data between multiple devices like blockchain, it is possible to limit the sharers to only desired parties.

以上のように、本実施形態に係る情報処理装置100は、相対取引に関する取引データを自装置に格納し、さらには、相対取引の相手以外の装置との間で取引データを共有することでバックアップも行うことができる。このため、例えば、サーバ装置のように、特定の装置が取引等に係る情報を一元管理することなく、安全にデータを管理することができる。すなわち、本実施形態によれば、複数の情報処理装置100が取引データを共有して管理することで、コストを掛けることなく安全に情報を管理することができる。 As described above, the information processing apparatus 100 according to the present embodiment stores the transaction data related to the negotiated transaction in its own apparatus, and furthermore, shares the transaction data with an apparatus other than the counterparty of the negotiated transaction to back up the transaction data. can also be done. Therefore, data can be safely managed without centralized management of information related to transactions or the like by a specific device such as a server device. That is, according to the present embodiment, a plurality of information processing apparatuses 100 share and manage transaction data, so that information can be managed safely without incurring costs.

また、相対取引処理とデータ共有処理とを独立した処理としたので、情報処理装置100は、相対取引処理毎に、データ共有の相手を自由に選択することができる。これにより、例えば、装置Bが、毎月支払われる給与については装置Eとの間でデータを共有し、ボーナスについては装置Fとの間でデータを共有する、といったことも可能となる。 Moreover, since the bilateral transaction process and the data sharing process are independent processes, the information processing apparatus 100 can freely select a data sharing partner for each bilateral transaction process. This allows, for example, device B to share data with device E about monthly salaries, and share data with device F about bonuses.

次に、実施形態の変形例について説明する。第1の変形例としては、情報処理装置100は、データ共有の対象となるデータの単位を任意に指定可能であってもよい。例えば、給与支払いの例において、給与のうち一部の金額についてのみデータ共有の対象としてもよい。 Next, modifications of the embodiment will be described. As a first modification, the information processing apparatus 100 may be able to arbitrarily specify the unit of data to be shared. For example, in the example of salary payment, only part of the salary may be subject to data sharing.

第2の変形例としては、情報処理装置100は、相対取引の相手の識別情報を含み、識別情報に一致した情報処理装置以外では起動しないような相対取引データを作成してもよい。同様に、情報処理装置100は、データ共有の相手の識別情報を含み、識別情報に一致した情報処理装置以外では起動しないようなデータ共有プログラムを作成してもよい。これにより、セキュリティを高く保つことができる。 As a second modification, the information processing apparatus 100 may create bilateral transaction data that includes identification information of the other party of the bilateral transaction and that is not activated by any information processing apparatus other than the information processing apparatus that matches the identification information. Similarly, the information processing apparatus 100 may create a data sharing program that includes identification information of a data sharing partner and that is only activated by an information processing apparatus that matches the identification information. This makes it possible to maintain high security.

第3の変形例としては、相対取引プログラムの作成等の処理は、相対取引を行う2つの情報処理装置のうち何れか一方の装置が行えばよく、いずれかの装置に限定されるものではない。また、データ共有プログラムの作成等の処理は、データ共有元の情報処理装置に替えて、データ共有先の情報処理装置が行ってもよい。 As a third modification, processing such as creation of a negotiated transaction program may be performed by either one of the two information processing devices that conduct negotiated transactions, and is not limited to either device. . Further, processing such as creation of a data sharing program may be performed by an information processing apparatus of a data sharing destination instead of the information processing apparatus of the data sharing source.

第4の変形例としては、実施形態においては、情報処理装置100が相対取引を行う場合について説明したが、情報処理装置100は、2つの装置の間で、1対1で行われる処理を実行すればよく、相対取引に限定されるものではない。他の例としては、住民票、免許証、パスポート等の証明書の交付に係る処理であってもよい。この場合、役所の装置と申請者の装置との間で、交付に係る処理を行う。そして、役所の装置と申請者の装置には、交付に関する交付データが格納される。さらに、申請者は、家族等信頼できる人物の装置との間で交付データを共有し、役所では、バックアップ装置との間で交付データを共有する。 As a fourth modified example, in the embodiment, the case where the information processing device 100 conducts a negotiated transaction has been described, but the information processing device 100 executes processing performed one-on-one between two devices. It is not limited to bilateral transactions. Another example may be processing related to issuance of a certificate such as a certificate of residence, a driver's license, or a passport. In this case, processing related to issuance is performed between the device of the government office and the device of the applicant. Then, the device of the government office and the device of the applicant store the delivery data related to the delivery. Furthermore, the applicant shares the delivery data with the device of a reliable person such as a family member, and the government office shares the delivery data with the backup device.

また、他の例としては、1対1で行われる処理は、病院等での診察に係る処理であってもよい。この場合、医師が使用する装置と患者の装置との間で、診察に係る処理を行う。そして、医師の装置と患者の装置には、診察に係るデータとして電子カルテが格納される。さらに、患者の装置は、信頼できる人物の装置との間で電子カルテを共有する。 As another example, the one-to-one processing may be processing related to a medical examination at a hospital or the like. In this case, processing related to diagnosis is performed between the device used by the doctor and the patient's device. Electronic charts are stored in the doctor's device and the patient's device as data related to examination. Additionally, the patient's device shares the electronic medical record with the trusted person's device.

以上の技術により、ユーザが所持する情報処理装置において、取引に係る情報、電子カルテ、住民票やパスポート、免許証に関する情報等、自身に関する多数の情報を記憶、管理することができる。これにより、サーバ装置のように情報を一元管理する装置を不要とすることができる。 With the above technology, the information processing device owned by the user can store and manage a large amount of information related to the user, such as information related to transactions, electronic medical records, information related to resident cards, passports, and driver's licenses. This eliminates the need for a device that centrally manages information, such as a server device.

なお、上述のとおり、本発明に係る情報処理システムにおいてはスマートコントラクトや分散台帳等を含めたブロックチェーン関連の技術の利用が好適である。ここで、本実施形態に係る情報処理システムにおけるブロックチェーン関連技術の利用について簡単に説明すれば、以下のとおりである。 As described above, in the information processing system according to the present invention, it is preferable to use blockchain-related technologies including smart contracts and distributed ledgers. Here, the use of blockchain-related technology in the information processing system according to this embodiment will be briefly described as follows.

ブロックチェーンの技術的な要素としては、ピアツーピア(P2P)ネットワーク、電子署名・ハッシュ関数、コンセンサスアルゴリズムなどが挙げられる。また、ブロックチェーンを利用した技術としてスマートコントラクトがある。 Blockchain technical elements include peer-to-peer (P2P) networks, electronic signatures/hash functions, and consensus algorithms. There is also a smart contract as a technology that uses blockchain.

P2Pネットワークは、特定の管理主体が存在するクライアント・サーバ型ではなく、各コンピュータノードが対等に直接通信し、ネットワークを形成する方式である。ブロックチェーンにおけるP2Pネットワークにおいては、ネットワーク参加ノードの計算資源においてハッシュ計算が正しいことと、ブロック内の取引が正しいものであることを確認する。そして、全ての参加ノードは同じ内容のブロックチェーンを保有する。ここで、ノードとは、ブロックチェーンのP2Pネットワークに接続される通信機器を意味し、例えば、銀行間取引においては銀行が保持するサーバ、個人間取引においては個人が保持する端末等がノードとなる。 A P2P network is not a client-server type in which a specific manager exists, but is a system in which each computer node communicates directly on an equal basis to form a network. In a peer-to-peer network on a blockchain, it confirms that the computational resources of network participating nodes are correct in hash calculations and that transactions within blocks are correct. And all participating nodes have the same blockchain content. Here, a node means a communication device connected to a blockchain P2P network. For example, a node is a server held by a bank in inter-bank transactions, or a terminal held by an individual in inter-personal transactions. .

また、コンセンサスアルゴリズムとは、各参加者がブロックチェーンを保有し正当性を検証するためのアルゴリズムであり、P2Pネットワークなどの分散ネットワーク上で合意形成を行う為のアルゴリズムである。ブロックチェーンを複数ノード間で共有するために最も重要な仕組みであるといえる。また、電子署名・ハッシュ関数は、トランザクションを発行する人の正当性を保証する仕組みや、取引・ブロックチェーンの改ざん防止や暗号化など、セキュリティに関する仕組みである。 Also, a consensus algorithm is an algorithm for each participant to own a blockchain and verify its legitimacy, and is an algorithm for forming a consensus on a distributed network such as a P2P network. It can be said that it is the most important mechanism for sharing a blockchain among multiple nodes. In addition, electronic signatures and hash functions are mechanisms related to security, such as a mechanism to guarantee the legitimacy of the person issuing the transaction, and to prevent tampering and encryption of transactions and blockchains.

ところで、ブロックチェーンの定義については色々あるが、日本ブロックチェーン協会によるブロックチェーンの定義によれば、狭義の意味では、ビザンチン障害を含む不特定多数のノードを用い、時間の経過と共にその時点の合意が覆る確率が0へ収束するプロトコルまたはその実装をブロックチェーンと呼ぶ。 By the way, there are various definitions of blockchain, but according to the definition of blockchain by the Japan Blockchain Association, in a narrow sense, it uses an unspecified number of nodes, including Byzantine failure, and agrees at that point in time A protocol or its implementation in which the probability of overturning converges to 0 is called a blockchain.

また、広義の意味では、電子署名とハッシュポインタを使用し改竄検出が容易なデータ構造をもち、且つ、当該データをブロックチェーン上に分散する多数のノードに保持させることで、高可用性及びデータ同一性等を実現する技術を広義のブロックチェーンと呼ぶ。これは、換言すれば、取引履歴のブロックを暗号技術によって過去から1本の鎖のように繋げ、ある取引について改ざんを行う為には、それより新しい取引について全て改ざんしていく必要がある仕組みとすることで、正確な取引履歴を維持しようとする技術といえる。 In a broad sense, it has a data structure that uses electronic signatures and hash pointers to make it easy to detect tampering. The technology that realizes such as nature is called blockchain in a broad sense. In other words, this is a mechanism in which blocks of transaction history are connected from the past like a single chain by cryptographic technology, and in order to falsify a certain transaction, it is necessary to falsify all newer transactions. By doing so, it can be said that it is a technology that tries to maintain an accurate transaction history.

ここでビザンチン将軍問題とは、相互に通信し合うネットワークにおいて、故障または故意によって偽の情報を伝達する可能性がある場合、全体として正しい合意を形成できるかを問う問題である。ブロックチェーン技術の応用の一例であるビットコインにおいてはこの問題が実質的に解決されているという。上述したコンセンサスアルゴリズムの1つにPoWというものがある。PoWでは、ナンスという値(新しいブロックを生成する際にハッシュ計算に与えるパラメータ)を求める計算(マイニング)をして、初めに正解を出したノードが取引の承認を行い、新たなブロックを追加する権利を得る。この計算の正解者には報酬が与えられるため、多くの人がこの報酬を求めて計算勝負をする。しかしながら、不正を働こうとするノードが参加ノード全体の50%を超える計算力が得られると取引記録の改ざんができてしまうという。これを51%攻撃という。 Here, the Byzantine generals problem is a problem that asks whether it is possible to form a correct consensus as a whole in a network that communicates with each other when there is a possibility of transmitting false information due to a failure or intentionally. It is said that this problem has been practically solved in Bitcoin, which is an example of the application of blockchain technology. One of the consensus algorithms mentioned above is PoW. In PoW, a calculation (mining) is performed to obtain a value called a nonce (a parameter given to hash calculation when generating a new block), and the first correct node approves the transaction and adds a new block. get the right Since rewards are given to those who correctly perform this calculation, many people compete in calculations in search of these rewards. However, if a node trying to commit fraud gains more than 50% of the computing power of all participating nodes, it can falsify transaction records. This is called a 51% attack.

ここで、上述のとおり、ブロックチェーンにおいては、取引履歴のブロックを暗号技術によって過去から1本の鎖のように繋げ、ある取引について改ざんを行う為には、それより新しい取引について全て改ざんしていく必要がある。より具体的には、各ブロックは、ナンスと前ブロックのハッシュ値を保有している。したがって、この51%攻撃にはとてつもない時間とコストが必要となるため、事実上、51%攻撃は不可能であり、単純に問題を解くことが合理的であるとういことになり、このことがビットコインのセキュリティを支えているともいえる。 Here, as described above, in the blockchain, blocks of transaction history are connected from the past like a single chain by cryptographic technology, and in order to falsify a certain transaction, all newer transactions must be falsified. We have to go. More specifically, each block holds a nonce and a hash value of the previous block. Therefore, since this 51% attack requires a tremendous amount of time and cost, it is virtually impossible to execute a 51% attack, and it is reasonable to simply solve the problem. It can be said that it supports the security of Bitcoin.

ところで、ビットコインのようなパブリックなブロックチェーンは、中央管理者は存在せず、ネットワークへの参加は自由であり、トランザクションの承認もブロックチェーンに参加する全てのノードによって行われる。すなわち、悪意のある参加者が存在することを前提としつつ、このようにオープンな形のブロックチェーンを構成してコンセンサスアルゴリズムとしてPoWを採用することで、情報の改ざんや二重譲渡等のかく乱を防止できるような仕組みが構築されていると考えられる。一方で、このようなパブリックなブロックチェーンにおいては、PoWのようなコンセンサスアルゴリズムを採用するため、取引の承認やファイナリティに時間を要したり、情報が暗号化はされているとはいえトランザクションはオープンな状態となっており、取引の当事者以外でもその内容を参照したりすることができるというような問題もある。 By the way, public blockchains such as Bitcoin do not have a central administrator, participation in the network is free, and transactions are approved by all nodes participating in the blockchain. In other words, while premised on the existence of malicious participants, by configuring an open blockchain and adopting PoW as a consensus algorithm, it is possible to prevent disturbances such as falsification and double transfer of information. It is possible that a mechanism has been established to prevent this. On the other hand, in such public blockchains, since consensus algorithms such as PoW are adopted, it takes time to approve and finalize transactions, and even if the information is encrypted, transactions cannot be completed. There is also the problem that it is in an open state and that the contents can be referred to by people other than the parties to the transaction.

そこで、ブロックチェーン関連の技術(分散台帳技術)を利用しつつ、第三者には取引の内容を参照できないようにしたプライベートないしはセミプライベート(コンソーシアム型)なネットワークを構成することが考えられる。この場合、ネットワークへの参加を許可制として取引の承認に中央の管理者が存在したり、あるいはノータリーによって取引の正当性が確認されたトランザクションを当事者間だけで承認したりするような構成が考えられる。したがって、取引の秘密性は担保される反面、参加ノードが少なくパブリックな構成に比べると冗長性が低く、信頼性の高い参加者のみで構成されるとはいえ、情報の改ざんやかく乱等に対する耐性は低くなる。 Therefore, it is conceivable to configure a private or semi-private (consortium type) network that uses blockchain-related technology (distributed ledger technology) and prevents third parties from referring to the details of transactions. In this case, it is conceivable that participation in the network is permitted and that a central administrator exists to approve transactions, or that transactions whose legitimacy has been confirmed by a notary are approved only by the parties concerned. be done. Therefore, while the secrecy of transactions is guaranteed, there are few participating nodes and the redundancy is low compared to the public structure. becomes lower.

これに対し、本実施形態に係る情報処理装置は、主に、ブロックチェーン関連の技術(分散台帳技術)を利用したプライベートなネットワークにおいて、そのような課題を解決するための技術と捉えることができる。 On the other hand, the information processing device according to the present embodiment can be regarded as a technology for solving such problems mainly in a private network using blockchain-related technology (distributed ledger technology). .

一般的には、プライベートなネットワークは、ネットワークを構成するノードが企業のサーバや個人が利用するクラウドサービスの仮想ノードである。これに対して、本実施形態の情報処理装置においては、一般の個人のユーザが占有する端末(所有に限らず貸与されているもの等も含まれる)を、プライベートネットワークにおける分散台帳を構成するノードとして利用することが想定されている。なお、上述したプライベートなネットワークの特徴として、管理者ノードが存在する場合を例として挙げたが、信頼できる者のみが参加するネットワークであれば管理者ノードを不在とする構成とすることもできる。 In general, private networks are composed of corporate servers and virtual nodes of cloud services used by individuals. On the other hand, in the information processing apparatus of this embodiment, a terminal occupied by a general individual user (including not only owned but also lent terminal) is a node that constitutes a distributed ledger in a private network. It is expected to be used as As a feature of the private network described above, the presence of an administrator node was taken as an example, but a network in which only trusted persons participate can be configured without an administrator node.

これにより、ユーザは自己の取引にかかる各種の情報を自己の端末に保持することができるため、ブロックチェーン関連の技術を利用しつつも、自己の情報を自己の管理下におくことができるようになるのである。 As a result, users can keep various information related to their own transactions on their own terminals, so they can keep their information under their own control while using blockchain-related technology. becomes.

すなわち、一般の個人のユーザが自己の占有する端末を介して、自己のトランザクションを参照することにより、銀行等のインターネットバンキングのサーバにアクセスすることなく自己が所有する通貨の残高を確認することが可能となる。また、例えば給与の支払いが仮想通貨のようなコインによって行われる場合には、同様のコインを利用する相手との間で銀行等を介することなく決済を行ったりすることが可能となる。 In other words, a general individual user can check the balance of the currency owned by the user by referring to the transaction of the user through the terminal owned by the user without accessing the Internet banking server of a bank or the like. It becomes possible. Also, for example, when salary is paid in coins such as virtual currency, it is possible to settle payments with other parties using similar coins without going through a bank or the like.

また、役所から交付される個人情報を含む各種の情報を自己の端末に保持することができる。例えば、現状、各種の手続きにおいて住民票の提出を求められる場合、提出の都度、役所への申請手続きが必要であるが、本実施形態に係る仕組みによって住民票の交付を受けた場合、役所と自己の端末には、交付された住民票の情報とともに、当該住民票の発行を役所から受けたという取引履歴が記録される。すなわち、住民票の提出が必要になった場合、自己の端末に記録されている住民票の情報が正当なものであることを証明することができる。したがって、例えば提出先が同様のプライベートなネットワークに参加すれば、新たに役所から住民票の交付を受けることなく当該住民票の提出を行うことができる。 In addition, various types of information, including personal information issued by government offices, can be held in one's own terminal. For example, currently, when submission of a resident's card is required for various procedures, it is necessary to apply to the government office each time it is submitted. Along with the information on the issued resident's card, the transaction history of receiving the issuance of the resident's card from the government office is recorded in one's own terminal. That is, when it becomes necessary to submit a resident's card, it is possible to prove that the resident's card information recorded in one's own terminal is correct. Therefore, for example, if the submission destination participates in a similar private network, the resident's card can be submitted without receiving a new resident's card from the government office.

以上のとおり、本実施形態にかかるプログラムによれば、このような商取引あるいは会計上の意味での取引に限られない各種の取引をプライベートネットワークによって行うためのプラットフォームを提供することができる。さらには、上述した冗長性の問題に対しても、全くの第三者ノードに対しては取引内容を非公開にしつつも、自己が許容するノードを指定して取引にかかる情報を共有することで、例えば自己の端末が破損等した場合であっても、データを復元することができるようになる。 As described above, according to the program according to the present embodiment, it is possible to provide a platform for conducting various transactions, not limited to such commercial transactions or transactions in terms of accounting, through a private network. Furthermore, regarding the redundancy problem described above, it is possible to share transaction information by designating nodes that are allowed by itself, while keeping transaction details private from third-party nodes. So, for example, even if one's own terminal is damaged, the data can be restored.

また、さらには、取引にかかる情報としてハッシュ関数を用いて取引内容に関するハッシュ値等の不可逆な値を算出し、そのハッシュ値をパブリックなブロックチェーンに送信(ブロードキャスト)して記憶させる構成であってもよい。この場合、パブリックなブロックチェーン上に記憶されるのはあくまでハッシュ値等の不可逆な値であって、第三者に取引内容を知られることはない。このような構成とすることで、万一後々情報の改ざん等が疑われるようになった場合、取引の当事者の端末間に記憶されている取引情報から算出されるハッシュ値とブロックチェーン上のハッシュ値とを突き合わせて確認することで、改ざんがなされていないことを確認することができるようになる。 Furthermore, as information related to the transaction, a hash function is used to calculate an irreversible value such as a hash value related to the transaction content, and the hash value is transmitted (broadcast) to a public blockchain and stored. good too. In this case, only irreversible values such as hash values are stored on the public blockchain, and the details of transactions are not known to third parties. With such a configuration, in the unlikely event that falsification of information is suspected later, the hash value calculated from the transaction information stored between the terminals of the parties to the transaction and the hash value on the blockchain By checking against the value, it is possible to confirm that the data has not been tampered with.

以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 Although the preferred embodiments of the present invention have been described in detail above, the present invention is not limited to such specific embodiments, and various modifications can be made within the scope of the gist of the invention described in the claims.・Changes are possible.

100 情報処理装置
203 暗号復号部
204 プログラム作成部
205 コンパイル部
206 相対取引部
207 データ共有部
208 データ保管部
100 Information processing device 203 Encryption/decryption unit 204 Program creation unit 205 Compilation unit 206 Negotiated transaction unit 207 Data sharing unit 208 Data storage unit

Claims (12)

コンピュータを、
一の装置との間で、1対1の処理を行う処理手段と、
前記処理手段による処理に関する処理情報を、前記コンピュータの記憶手段に格納する格納手段と、
前記処理情報を、前記一の装置と異なる1又は2以上の他の装置に送信する第1の送信手段と、
前記1対1の処理を実現する処理プログラムをコンパイルする第1のコンパイル手段と、
前記第1のコンパイル手段によりコンパイルされた前記処理プログラムを送信する第2の送信手段と、
前記処理情報を共有する処理を実現する共有プログラムをコンパイルする第2のコンパイル手段と、
前記第2のコンパイル手段によりコンパイルされた前記共有プログラムを送信する第3の送信手段と、
として機能させ、
前記処理手段は、前記処理プログラムを受信した装置との間で前記1対1の処理を行い、
前記第1の送信手段は、前記共有プログラムを受信した装置に対し前記処理情報を送信することを特徴とするプログラム。
the computer,
a processing means for performing one-to-one processing with one device;
storage means for storing processing information relating to processing by the processing means in storage means of the computer;
a first transmission means for transmitting the processing information to one or more devices different from the one device;
a first compiling means for compiling a processing program for realizing the one-to-one processing;
a second transmitting means for transmitting the processing program compiled by the first compiling means;
a second compiling means for compiling a shared program that implements the process of sharing the processing information;
a third transmitting means for transmitting the shared program compiled by the second compiling means;
function as
The processing means performs the one-to-one processing with the device that received the processing program,
A program, wherein the first transmission means transmits the processing information to a device that has received the shared program .
前記第1の送信手段は、ユーザ操作により指定された前記他の装置に前記処理情報を送信することを特徴とする請求項1に記載のプログラム。 2. The program according to claim 1, wherein said first transmission means transmits said processing information to said other device designated by a user's operation. 前記コンピュータを、
前記処理プログラムを作成する第1の作成手段として機能させ、
前記第1のコンパイル手段は、前記第1の作成手段により作成された前記処理プログラムをコンパイルすることを特徴とする請求項1又は2に記載のプログラム。
said computer,
Functioning as a first creation means for creating the processing program,
3. The program according to claim 1, wherein said first compiling means compiles said processing program created by said first creating means.
前記処理プログラムは、前記処理プログラムを実行可能な装置を制限する情報を含むことを特徴とする請求項3に記載のプログラム。 4. The program according to claim 3, wherein said processing program includes information for restricting devices capable of executing said processing program. 前記第1のコンパイル手段によりコンパイルされた前記処理プログラムを暗号化する第1の暗号化手段をさらに有し、
前記第2の送信手段は、暗号化された前記処理プログラムを送信することを特徴とする請求項1乃至4の何れか1項に記載のプログラム。
further comprising first encryption means for encrypting the processing program compiled by the first compilation means;
5. The program according to any one of claims 1 to 4, wherein the second transmission means transmits the encrypted processing program.
前記第3の送信手段は、ユーザ操作により指定された装置に前記共有プログラムを送信することを特徴とする請求項1乃至5の何れか1項に記載のプログラム。 6. The program according to any one of claims 1 to 5 , wherein said third transmitting means transmits said shared program to a device specified by a user's operation. 前記コンピュータを、
前記共有プログラムを作成する第2の作成手段として機能させ、
前記第2のコンパイル手段は、前記第2の作成手段により作成された前記共有プログラムをコンパイルすることを特徴とする請求項1乃至6の何れか1項に記載のプログラム。
said computer,
Functioning as a second creation means for creating the shared program,
7. The program according to any one of claims 1 to 6, wherein said second compiling means compiles said shared program created by said second creating means.
前記共有プログラムは、前記共有プログラムを実行可能な装置を制限する情報を含むことを特徴とする請求項に記載のプログラム。 8. The program according to claim 7 , wherein said shared program includes information for limiting devices that can execute said shared program. 前記第2のコンパイル手段によりコンパイルされた前記共有プログラムを暗号化する第2の暗号化手段をさらに有し、
前記第3の送信手段は、暗号化された前記共有プログラムを送信することを特徴とする請求項1乃至8の何れか1項に記載のプログラム。
further comprising second encryption means for encrypting the shared program compiled by the second compiling means;
9. The program according to any one of claims 1 to 8, wherein said third transmitting means transmits said encrypted shared program.
コンピュータを、
一の装置との間で、1対1の処理を行う処理手段と、
前記処理手段による処理に関する処理情報を、前記コンピュータの記憶手段に格納する格納手段と、
前記処理情報を、前記一の装置と異なる1又は2以上の他の装置に送信する第1の送信手段と、
前記1対1の処理を実現する処理プログラムをコンパイルする第1のコンパイル手段と、
前記第1のコンパイル手段によりコンパイルされた前記処理プログラムを送信する第2の送信手段と、
前記処理情報を共有する処理を実現する共有プログラムをコンパイルする第2のコンパイル手段と、
前記第2のコンパイル手段によりコンパイルされた前記共有プログラムを送信する第3の送信手段と、
として機能させ、
前記処理手段は、前記処理プログラムを受信した装置との間で前記1対1の処理を行い、
前記第1の送信手段は、前記共有プログラムを受信した装置に対し前記処理情報を送信することを特徴とするプログラムを記憶したコンピュータにより読み取り可能な記憶媒体。
the computer,
a processing means for performing one-to-one processing with one device;
storage means for storing processing information relating to processing by the processing means in storage means of the computer;
a first transmission means for transmitting the processing information to one or more devices different from the one device;
a first compiling means for compiling a processing program for realizing the one-to-one processing;
a second transmitting means for transmitting the processing program compiled by the first compiling means;
a second compiling means for compiling a shared program that implements the process of sharing the processing information;
a third transmitting means for transmitting the shared program compiled by the second compiling means;
function as
The processing means performs the one-to-one processing with the device that received the processing program,
A computer-readable storage medium storing a program, wherein the first transmitting means transmits the processing information to a device that has received the shared program .
情報処理装置であって、
一の装置との間で、1対1の処理を行う処理手段と、
前記処理手段による処理に関する処理情報を、前記情報処理装置の記憶手段に格納する格納手段と、
前記処理情報を、前記一の装置と異なる1又は2以上の他の装置に送信する第1の送信手段と、
前記1対1の処理を実現する処理プログラムをコンパイルする第1のコンパイル手段と、
前記第1のコンパイル手段によりコンパイルされた前記処理プログラムを送信する第2の送信手段と、
前記処理情報を共有する処理を実現する共有プログラムをコンパイルする第2のコンパイル手段と、
前記第2のコンパイル手段によりコンパイルされた前記共有プログラムを送信する第3の送信手段と、
を備え、
前記処理手段は、前記処理プログラムを受信した装置との間で前記1対1の処理を行い、
前記第1の送信手段は、前記共有プログラムを受信した装置に対し前記処理情報を送信することを特徴とする情報処理装置。
An information processing device,
a processing means for performing one-to-one processing with one device;
storage means for storing processing information about processing by the processing means in storage means of the information processing device;
a first transmission means for transmitting the processing information to one or more devices different from the one device;
a first compiling means for compiling a processing program for realizing the one-to-one processing;
a second transmitting means for transmitting the processing program compiled by the first compiling means;
a second compiling means for compiling a shared program that implements the process of sharing the processing information;
a third transmitting means for transmitting the shared program compiled by the second compiling means;
with
The processing means performs the one-to-one processing with the device that received the processing program,
The information processing apparatus, wherein the first transmitting means transmits the processing information to a device that has received the shared program .
情報処理装置が実行する情報処理方法であって、
一の装置との間で、1対1の処理を行う処理ステップと、
前記処理ステップにおける処理に関する処理情報を、前記情報処理装置の記憶手段に格納する格納ステップと、
前記処理情報を、前記一の装置と異なる1又は2以上の他の装置に送信する第1の送信ステップと、
前記1対1の処理を実現する処理プログラムをコンパイルする第1のコンパイルステップと、
前記第1のコンパイルステップにおいてコンパイルされた前記処理プログラムを送信する第2の送信ステップと、
前記処理情報を共有する処理を実現する共有プログラムをコンパイルする第2のコンパイルステップと、
前記第2のコンパイルステップにおいてコンパイルされた前記共有プログラムを送信する第3の送信ステップと、
を含み、
前記処理ステップは、前記処理プログラムを受信した装置との間で前記1対1の処理を行い、
前記第1の送信ステップは、前記共有プログラムを受信した装置に対し前記処理情報を送信することを特徴とする情報処理方法。
An information processing method executed by an information processing device,
A processing step of performing one-to-one processing with one device;
a storage step of storing processing information relating to the processing in the processing step in a storage means of the information processing device;
a first transmission step of transmitting the processing information to one or more devices different from the one device;
a first compiling step of compiling a processing program that implements the one-to-one processing;
a second transmitting step of transmitting the processing program compiled in the first compiling step;
a second compiling step of compiling a shared program that implements the process of sharing the processing information;
a third transmitting step of transmitting the shared program compiled in the second compiling step;
including
The processing step performs the one-to-one processing with the device that received the processing program,
The information processing method , wherein the first transmission step transmits the processing information to a device that has received the shared program .
JP2018213547A 2018-11-14 2018-11-14 Program, storage medium, information processing device and information processing method Active JP7261566B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018213547A JP7261566B2 (en) 2018-11-14 2018-11-14 Program, storage medium, information processing device and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018213547A JP7261566B2 (en) 2018-11-14 2018-11-14 Program, storage medium, information processing device and information processing method

Publications (2)

Publication Number Publication Date
JP2020079891A JP2020079891A (en) 2020-05-28
JP7261566B2 true JP7261566B2 (en) 2023-04-20

Family

ID=70801718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018213547A Active JP7261566B2 (en) 2018-11-14 2018-11-14 Program, storage medium, information processing device and information processing method

Country Status (1)

Country Link
JP (1) JP7261566B2 (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140126A (en) 2000-10-31 2002-05-17 Toshiba Corp System for distributing program, distributor for encrypted program, system for collecting program trouble information, and method of distributing program
JP2002149978A (en) 2000-11-15 2002-05-24 Global Industrial & Social Progress Research Institute Carbon dioxide emission right transaction system and assessing system for carbon dioxide emission amount reducing cost
JP2003216434A (en) 2002-01-25 2003-07-31 Hewlett Packard Co <Hp> Method and system for optimizing downloaded program by activating user profile data in small it device
JP2006031069A (en) 2004-07-12 2006-02-02 Hitachi Ltd Computer, service server and network system
WO2007026430A1 (en) 2005-08-31 2007-03-08 Fujitsu Limited Information processor and program
JP2008171076A (en) 2007-01-09 2008-07-24 Vision Arts Kk Job execution device and its control method
JP2017046075A (en) 2015-08-24 2017-03-02 株式会社東芝 Remote control system, control method, and computer program
JP2017142810A (en) 2017-03-07 2017-08-17 株式会社One Tap BUY Financial merchandise purchase system, financial merchandise purchase method, transaction server, and computer program
WO2017170912A1 (en) 2016-03-31 2017-10-05 株式会社bitFlyer Transaction processing device, transaction processing method, and program for same
US20180067777A1 (en) 2015-03-20 2018-03-08 Huawei Technologies Co., Ltd. Application protection method, server, and terminal

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3557702B2 (en) * 1995-04-03 2004-08-25 富士通株式会社 Information processing device and printing device connected by network

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140126A (en) 2000-10-31 2002-05-17 Toshiba Corp System for distributing program, distributor for encrypted program, system for collecting program trouble information, and method of distributing program
JP2002149978A (en) 2000-11-15 2002-05-24 Global Industrial & Social Progress Research Institute Carbon dioxide emission right transaction system and assessing system for carbon dioxide emission amount reducing cost
JP2003216434A (en) 2002-01-25 2003-07-31 Hewlett Packard Co <Hp> Method and system for optimizing downloaded program by activating user profile data in small it device
JP2006031069A (en) 2004-07-12 2006-02-02 Hitachi Ltd Computer, service server and network system
WO2007026430A1 (en) 2005-08-31 2007-03-08 Fujitsu Limited Information processor and program
JP2008171076A (en) 2007-01-09 2008-07-24 Vision Arts Kk Job execution device and its control method
US20180067777A1 (en) 2015-03-20 2018-03-08 Huawei Technologies Co., Ltd. Application protection method, server, and terminal
JP2017046075A (en) 2015-08-24 2017-03-02 株式会社東芝 Remote control system, control method, and computer program
WO2017170912A1 (en) 2016-03-31 2017-10-05 株式会社bitFlyer Transaction processing device, transaction processing method, and program for same
JP2017142810A (en) 2017-03-07 2017-08-17 株式会社One Tap BUY Financial merchandise purchase system, financial merchandise purchase method, transaction server, and computer program

Also Published As

Publication number Publication date
JP2020079891A (en) 2020-05-28

Similar Documents

Publication Publication Date Title
US11093933B1 (en) Data authorization based on decentralized identifiers
US11271754B2 (en) Data authorization based on decentralized identifiers
US10942994B2 (en) Multicomputer processing for data authentication using a blockchain approach
US10846416B2 (en) Method for managing document on basis of blockchain by using UTXO-based protocol, and document management server using same
US11159537B2 (en) Multicomputer processing for data authentication and event execution using a blockchain approach
JP6524347B2 (en) Information sharing system
KR102296831B1 (en) Transmission of digital tickets based on blockchain network
JP7005102B2 (en) Data usage, systems and programs using BCN (Blockchain Network)
KR102166233B1 (en) Certificate issuance system based on blockchain technology and control method thereof
CN110462621A (en) Sensitive data element is managed in block chain network
JP6880255B2 (en) Blockchain confidential transaction management
CN108765240A (en) Inter-agency customer authentication method, transaction monitoring and managing method based on block chain and device
BR112019004571A2 (en) method and system.
KR102147083B1 (en) Certificate verification system based on blockchain technology and control method thereof
Fernandes et al. Scalable Architecture for sharing EHR using the Hyperledger Blockchain
KR102079354B1 (en) User authentication system based on blockchain technology and control method thereof
US20220172198A1 (en) Real-time blockchain settlement network
JP2022055352A (en) Method, system and computer program (compliance mechanisms in blockchain networks)
Cha et al. A blockchain-based privacy preserving ticketing service
KR102220599B1 (en) Blockchain system for combined authentication and control method thereof
JP7261566B2 (en) Program, storage medium, information processing device and information processing method
JP2023536027A (en) Methods and systems for securing data, particularly biotechnology laboratory data
CN115053241A (en) Disposable Tong card
KR102531929B1 (en) Clinical information providing method and system based on blockchain enhancing security of personal information
US20230317224A1 (en) Patient specified health record on blockchain

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230301

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230410

R150 Certificate of patent or registration of utility model

Ref document number: 7261566

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150