(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-02-13
(45)【発行日】2024-02-22
(54)【発明の名称】データ中継システム
(51)【国際特許分類】
G06F 21/60 20130101AFI20240214BHJP
G06Q 40/08 20120101ALI20240214BHJP
【FI】
G06F21/60
G06Q40/08
(21)【出願番号】P 2023111805
(22)【出願日】2023-07-06
【審査請求日】2023-10-04
【早期審査対象出願】
(73)【特許権者】
【識別番号】519355600
【氏名又は名称】株式会社IDホールディングス
(74)【代理人】
【識別番号】100111970
【氏名又は名称】三林 大介
(72)【発明者】
【氏名】牧野 剛明
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2019-153181(JP,A)
【文献】特開2023-000730(JP,A)
【文献】特開2022-013898(JP,A)
【文献】特開2013-201747(JP,A)
【文献】特開2005-020091(JP,A)
【文献】米国特許出願公開第2022/0318788(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60
G06Q 40/08
(57)【特許請求の範囲】
【請求項1】
ネットワークの内部で互いにデータを通信可能な処理端末である複数の内部端末と、前記ネットワークの外部の処理端末である外部端末との間に介在して、前記内部端末と前記外部端末との間で通信されるデータを中継するデータ中継システムであって、
前記内部端末と前記外部端末との間で前記データを中継するデータ中継装置と、
前記データ中継装置と、前記ネットワークの外部でブロックチェーンネットワークを形成する複数のノードの中の少なくとも1つの前記ノードとに接続されており、前記データ中継装置が
前記データを中継する
度に前記データ中継装置から前記データを受け取ってブロックチェーン形式のブロックデータを生成した後、前記ブロックチェーンネットワークの前記ノードに送信するブロックデータ送信装置と
を備えるデータ中継システム。
【請求項2】
請求項1に記載のデータ中継システムであって、
前記データ中継装置は、前記内部端末と他の前記内部端末との間で通信されるデータも中継しており、
前記ブロックデータ送信装置は、前記内部端末と他の前記内部端末との間で通信される前記データも含めた前記ブロックデータを生成して前記ノードに送信する
ことを特徴とするデータ中継システム。
【請求項3】
請求項1または請求項2に記載のデータ中継システムであって、
前記ブロックデータ送信装置は、
前記データ中継装置から受け取った前記データを蓄積するデータ蓄積部と、
前記データ蓄積部に蓄積されている前記データを用いて前記ブロックデータを生成するブロックデータ生成部と、
前記ブロックデータ生成部で生成された前記ブロックデータを前記ノードに送信するブロックデータ送信部と、
前記データ蓄積部が前記データの蓄積を中断するべき前記データである所定の蓄積中断データと、中断した前記データの蓄積を再開するべき前記データである所定の蓄積再開データとを記憶している記憶部と
を備えており、
前記データ蓄積部は、
前記データ中継装置から前記蓄積中断データを受け取った場合には、前記データの蓄積を中断すると共に、蓄積済みの前記データを前記ブロックデータ生成部に出力し、
前記データの蓄積を中断した状態で、前記データ中継装置から前記蓄積再開データを受け取った場合には、前記データの蓄積を再開する
ことを特徴とするデータ中継システム。
【請求項4】
請求項3に記載のデータ中継システムであって、
前記処理端末は、他の前記処理端末との間で通信を開始するに先立って、前記他の処理端末との接続を確立した後、互いに前記接続が確立された複数の前記処理端末の間で通信しており、
前記ブロックデータ送信装置は、前記接続が確立された状態で、新たな前記接続が確立された場合には、前記接続毎に前記データを蓄積し、前記接続毎に前記ブロックデータを生成し、前記接続毎に前記ブロックデータを前記ノードに送信する
ことを特徴とするデータ中継システム。
【請求項5】
請求項1または請求項2に記載のデータ中継システムであって、
前記データ中継装置は、
前記データを中継する際に、前記ブロックデータ送信装置にも前記データを送信するデータ送信部と、
前記ブロックデータ送信装置への前記データの送信を中断するべき前記データである所定の中断データと、中断した前記データの送信を再開するべき前記データである所定の再開データとを記憶している記憶部と
を備え、
前記データ送信部は、
中継する前記データが前記中断データであった場合は、前記ブロックデータ送信装置への前記データの送信を中断し、
前記データの送信を中断した状態で中継する前記データが前記再開データであった場合は、前記ブロックデータ送信装置への前記データの送信を再開する
ことを特徴とするデータ中継システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークの内部で互いにデータを通信可能な処理端末や、ネットワークの外部の処理端末の間に介在して、複数の処理端末の間で通信されるデータを中継する技術に関する。
【背景技術】
【0002】
コンピュータ技術や情報通信技術の進歩によって、今日では様々なサーバ装置や処理端末が互いに通信可能な状態で接続されるようになっており、全体でネットワークシステムを形成している。更に、それらのネットワークシステム(単に「ネットワーク」と呼ばれる)は、インターネットを介して外部の処理端末や他のネットワークとも通信可能な状態で接続されている。このため、様々な情報を大量に収集して活用することが可能となる一方で、外部からネットワーク内に侵入されて、秘密の情報を抜き取られたり、重要な情報を改竄されたり破棄されたりして、大きな損害を被るリスク(以下、サイバーリスク)も生じている。
【0003】
こうしたサイバーリスクに対する備えとして、保険会社によってサイバー保険が提供されている。サイバー保険とは、予め保険会社と契約して保険料を支払うことで、外部からネットワーク内に浸入されて損害が発生した場合には、保険会社から損害の一部あるいは全部についての補償を受けることができるという保険である。保険会社に支払う保険料の金額は、サイバーリスクの大きさ(損害が発生する可能性や被害の大きさ)や、損害が発生した時の補償の程度に応じた金額となるが、サイバーリスクの大きさは、ネットワークと外部との間での通信状況にも大きく依存するため、正確に見積もることが難しい。このため保険会社は、どうしてもサイバーリスクを大きめに見積もることになり、その結果、保険料の金額を高めに設定せざるを得なくなる。
【0004】
そこで、保険会社がサイバー保険の契約を受け付ける前に、契約の対象となるネットワークの通信状況を一定期間に亘って監視しておき、その結果に基づいてサイバーリスクの大きさを見積もることで、保険料を適切な金額に設定しようとする技術が提案されている(特許文献1)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上述した従来の技術では、依然としてサイバー保険の保険料を適切な金額に設定することが難しいという問題があった。この理由は次のようなものである。先ず、ネットワークの管理者は、サイバー保険に契約した後は損害が発生しても損害の一部あるいは全部を保険会社に補償して貰えるので、サイバーリスクに対する防御の意識が低くなり易い。このため、侵入を防ぐための対策や、侵入後の損害の拡大を防ぐための対策がおろそかになり易く、サイバー保険に契約することで却ってサイバーリスクが大きくなる可能性がある。加えて、実際に外部から侵入されて損害が発生した場合、保険会社は、損害を補償するに先立って、サイバー保険の契約者(多くの場合はネットワークの管理者)の過失の有無を確認する必要が生じるが、過失が発見されると補償が減額される。このため、サイバー保険の契約者は、保険会社に提供する情報を最小限に抑えたり、不都合な情報を隠したりする場合があり、保険会社にとっては、サイバー保険の契約者の過失による損害まで補償しなければならない可能性もある。このように、サイバー保険は契約後にサイバーリスクが増加する可能性や、契約者の過失による損害も補償しなければならない可能性があり、このため保険会社は依然として、サイバ―リスクを大きめに見積もることとなって、保険料の金額を高めに設定せざるを得ないためである。
【0007】
この発明は、従来の技術が有する上述した課題を解決するために成されたものであり、保険会社がサイバー保険の保険料を適切な金額に設定することが可能な技術の提供を目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決するために、本発明のデータ中継システムは、次の構成を採用した。すなわち、
ネットワークの内部で互いにデータを通信可能な処理端末である複数の内部端末と、前記ネットワークの外部の処理端末である外部端末との間に介在して、前記内部端末と前記外部端末との間で通信されるデータを中継するデータ中継システムであって、
前記内部端末と前記外部端末との間で前記データを中継するデータ中継装置と、
前記データ中継装置と、前記ネットワークの外部でブロックチェーンネットワークを形成する複数のノードの中の少なくとも1つの前記ノードとに接続されており、前記データ中継装置が前記データを中継する度に前記データ中継装置から前記データを受け取ってブロックチェーン形式のブロックデータを生成した後、前記ブロックチェーンネットワークの前記ノードに送信するブロックデータ送信装置と
を備えることを特徴とする。
【0009】
このような本発明のデータ中継システムでは、内部端末と外部端末との間で通信されるデータは、データ中継装置がデータを中継する度に、データ中継装置からブロックデータ送信装置にも送信される。そして、ブロックデータ送信装置は、受け取ったデータを用いてブロックチェーン形式のブロックデータを生成して、ブロックチェーンネットワークのノードに送信することにより、ブロックチェーンネットワークに記憶する。
【0010】
こうすれば、ネットワーク内の内部端末が外部端末との間でデータを中継する度に、通信されたデータが、ブロックチェーンネットワークに記憶されていく。ブロックチェーンネットワークに記憶されたデータは、改竄が極めて困難なことが分かっているので、ネットワークに侵入された場合でも、ブロックチェーンネットワークに記憶されたデータを調べることで、侵入された原因や責任の有無などを明らかにすることができる。このため、保険会社がサイバー保険を契約する際に、本発明のデータ中継システムを備えることを契約の条件としておけば、契約者の過失によって生じた損害を賠償する事態を回避することができる。加えて、契約者にとっては、自らの過失で損害が発生した場合には十分な補償が受けられなくなるので、サイバー保険を契約した後も、サイバ―リスクに備える意識や、ネットワークに浸入された後も損害を最小限に抑えようとする意識が衰えにくくなり、その結果、サイバー保険の契約後に、サイバ―リスクや損害が増加する傾向も抑制できる。これらの理由から、保険会社は、サイバー保険の契約時に見積もったサイバ―リスクに応じて、妥当と考える適切な金額に保険料を設定することが可能となる。
【0011】
また、上述した本発明のデータ中継システムにおいては、内部端末と他の内部端末との間で通信されるデータもデータ中継装置で中継すると共に、そのデータをブロックデータ送信装置に送信して、そのデータも含めて生成したブロックデータをノードに送信してもよい。
【0012】
ネットワーク内に侵入された後は、ネットワーク内の内部端末の間で通信することによって損害が発生し、あるいは損害が拡大することが多い。従って、ネットワーク内に侵入された後に内部端末同士で通信したデータもブロックデータ送信装置に送信して、ブロックチェーンネットワークに記憶しておけば、損害が発生した原因や責任の有無に加えて、損害が拡大した原因や責任の有無を明確にすることが可能となる。
【0013】
また、上述した本発明のデータ中継システムにおいては、ブロックデータ送信装置がブロックデータを生成する際に、データ中継装置から送られてきたデータの中から次のようにしてデータを選別して、ブロックデータを生成してもよい。すなわち、ブロックデータ送信装置はデータ中継装置からデータを受け取ると、そのデータが所定の蓄積中断データであるか否かを判断する。そして、蓄積中断データを受け取るまでは、受け取ったデータを蓄積しておき、受け取ったデータが蓄積中断データと判断したら、データの蓄積を中断すると共に、蓄積したデータを用いてブロックデータを生成する。また、データの蓄積を中断した後は、データ中継装置からデータを受け取る度に、そのデータが所定の蓄積再開データであるか否かを判断し、受け取ったデータが蓄積再開データであった場合には、再び蓄積中断データを受け取るまで、データを蓄積する。
【0014】
複数の処理端末の間で通信するデータは、機密に該当し得る内容を含むことがあり、このようなデータを含むブロックデータをブロックチェーンネットワークに記憶しておくことには、サイバー保険の契約者が抵抗を感じることがある。ここで、機密に該当し得るようなデータを送信しようとする場合、いきなり相手の処理端末に送信するのではなく、予め手続的なデータを送受信し合うことによって相手の処理端末がデータを受信できることを確認した後に、機密に該当し得る内容を含んだデータ(送信しようとした本来のデータ)を送信することが通常である。従って、複数の処理端末の間では、手続的なデータが連続して送受信された後、本来のデータが連続して送信されることが繰り返される傾向にある。そこで、手続的なデータが終了するデータ、および手続的なデータが開始されるデータを、それぞれ蓄積中断データ、および蓄積再開データとしてブロックデータ送信装置に記憶しておく。そして、データ中継装置から次々に送信されてくるデータの中で、蓄積再開データから蓄積中断データまでのデータを用いてブロックデータを生成して、ブロックチェーンネットワークに記憶する。こうすれば、機密に該当し得る事項がブロックチェーンネットワークに記憶されることはなく、それでいながら、ブロックチェーンネットワークに記憶されたデータを調べることで、ネットワークに侵入された場合でも、その原因や責任の有無を明らかにすることが可能となる。また、データ中継装置から順番に送信されてくるデータの中から蓄積再開データから蓄積中断データまでのデータを用いてブロックデータを生成するという単純な処理で、機密に該当し得るデータを排除しながら、必要なデータを含んだブロックデータを生成することができる。加えて、データ中継装置から受け取ったデータが、データの蓄積中は蓄積中断データに該当するか否か、データの蓄積を中断している間は蓄積再開データに該当するか否かを判断すれば良い。このため、全てのデータについて蓄積すべきか否かを判断する場合に比べて、簡単に且つ迅速に判断することが可能となる。
【0015】
また、処理端末が他の処理端末との間で通信を開始する際に、他の処理端末との接続を確立してから通信する上述した本発明のデータ中継システムでは、接続が確立された状態で、新たな別の接続が確立された場合には、ブロックデータ送信装置は、接続毎にデータを蓄積して、ブロックデータを生成し、ノードに送信してもよい。
【0016】
こうすれば、ネットワーク内の内部端末間、あるいは外部端末と内部端末との間で複数の接続が確立された場合でも、接続毎に機密に該当し得るデータを排除しながら、必要なデータを含んだブロックデータを生成して、ブロックチェーンネットワークに記憶することが可能となる。
【0017】
また、上述した本発明のデータ中継システムにおいては、データ中継装置から送られてきたデータの中からブロックデータ送信装置がデータを選別する代わりに、データ中継装置がデータを選別してブロックデータ送信装置に送信してもよい。すなわち、データ中継装置は、ネットワーク内の内部端末あるいはネットワーク外の外部端末にデータを中継する際に、そのデータが、そのデータが所定の中断データであるか否かを判断する。そして、中断データを中継するまでは、そのデータをブロックデータ送信装置にも送信し、中断データを中継したら、ブロックデータ送信装置へのデータの送信を中断する。また、ブロックデータ送信装置への送信を中断した後は、データを内部端末あるいは外部端末に中継する度に、そのデータが所定の再開データであるか否かを判断し、データが再開データであった場合には、再び中断データを受け取るまで、ブロックデータ送信装置にデータを送信する。
【0018】
このようにしても、機密に該当し得る事項がブロックチェーンネットワークに記憶される事態を防止しながら、必要なデータをブロックチェーンネットワークに記憶することができる。このため、ブロックチェーンネットワークに記憶されたデータを調べることで、ネットワークに侵入された場合でも、その原因や責任の有無を明らかにすることが可能となる。
【図面の簡単な説明】
【0019】
【
図1】第1実施例のデータ中継システム10の概要を示す説明図である。
【
図2】第1実施例のデータ中継システム10がブロックチェーンネットワーク50のノード51aにブロックデータを記憶する動作を示したシーケンス図である。
【
図3】第1実施例のブロックデータ送信装置30がブロックデータを生成して、ブロックチェーンネットワーク50の複数のノード51a~51dに記憶する様子を示した説明図である。
【
図4】第2実施例のデータ中継システム10のブロックデータ送信装置30の内部構造を示したブロック図である。
【
図5】第2実施例のブロックデータ送信装置30が実行するブロックデータ送信処理のフローチャートである。
【
図6】第2実施例のデータ中継システム10がブロックチェーンネットワーク50のノード51aにブロックデータを記憶する動作を示したシーケンス図である。
【
図7】第2実施例のデータ中継システム10がブロックチェーンネットワーク50のノード51aにブロックデータを記憶する動作を示したシーケンス図である。
【
図8】第2実施例のブロックデータ送信装置30が実行するブロックデータ生成処理のフローチャートである。
【
図9】第2実施例の他の態様のデータ中継システム10に搭載されたデータ中継装置20の内部構造を示したブロック図である。
【発明を実施するための形態】
【0020】
A.第1実施例 :
図1は、第1実施例のデータ中継システム10の概要を示す説明図である。図示されるようにデータ中継システム10は、データ中継装置20とブロックデータ送信装置30とを備えている。データ中継装置20は、複数の処理端末2A~2Eやサーバ装置3と通信可能に接続されている。このため複数の処理端末2A~2Eやサーバ装置3は、データ中継装置20を介して他の処理端末2A~2Eやサーバ装置3との間でデータを送受信することが可能となっており、全体がLANネットワーク1を形成している。また、データ中継装置20はインターネット5にも接続されており、LANネットワーク1内の複数の処理端末2A~2Eやサーバ装置3は、データ中継装置20を介して、インターネット5に接続された処理端末6A~6Cやサーバ装置7との間でデータを送受信することも可能となっている。
【0021】
尚、LANネットワーク1の内部の処理端末2A~2Eやサーバ装置3と、LANネットワーク1の外部の処理端末6A~6Cやサーバ装置7とを区別するため、以下では、LANネットワーク1の内部の処理端末2A~2Eやサーバ装置3を「内部端末」と称し、LANネットワーク1の外部の処理端末6A~6Cやサーバ装置7を「外部端末」と称する。また、内部端末の中の処理端末2A~2Eやサーバ装置3を区別する必要がある場合は、内部端末2A~2E、あるいは内部サーバ装置3と表記することがある。同様に、外部端末の中の処理端末6A~6Cやサーバ装置7を区別する必要がある場合は、外部端末6A~6C、あるいは外部サーバ装置7と表記することがある。
【0022】
また、第1実施例のデータ中継装置20はブロックデータ送信装置30に接続されており、LANネットワーク1内の内部端末の間で送受信されるデータを中継する度に、そのデータをブロックデータ送信装置30に送信する。同様に、LANネットワーク1内の内部端末とLANネットワーク1外の外部端末との間で送受信されるデータを中継する場合も、そのデータをブロックデータ送信装置30に送信する。
【0023】
ブロックデータ送信装置30は、ブロックチェーンネットワーク50を形成するブロックチェーンノード(以下、単にノード)51aにも接続されている。ここで、ブロックチェーンネットワークとは、複数のコンピュータによって形成された分散型ネットワークであり、ブロックチェーンデータベースを実現するネットワークである。尚、分散型ネットワークとは、中心となるコンピュータが存在せず、複数のコンピュータが対等に接続されたネットワークのことである。また、ブロックチェーンネットワークを形成する複数のコンピュータは、ブロックチェーンノードと呼ばれる。更に、ブロックチェーンデータベースとは、データベースに記憶されるデータがブロックデータと呼ばれるデータの集まりに纏められて、ブロックチェーン形式で記憶されているデータベースである。ここで、ブロックチェーン形式とは、複数のブロックデータに対して、直前のブロックデータを指定するための情報(通常は、直前のブロックデータのハッシュ値)が付加されることによって、複数のブロックデータがチェーンのように一列に繋がった形式のことである。
【0024】
ブロックチェーンデータベースは、複数のブロックデータが一列に繋がっているため、ブロックデータ内のあるデータを後から変更しようとすると、そのブロックデータの直後のブロックデータ(ここでは、後続ブロックデータと称する)に対しても、その後続ブロックデータが前のブロックデータ(内部のデータを変更したブロックデータ)を指定するために付加された情報を変更する必要がある。そして、その後続ブロックデータについて、前のブロックデータを指定する情報を変更すると、その後続ブロックデータに後続するブロックデータについても前のブロックデータを指定する情報を変更する必要が生じる。結局、ブロックチェーンデータベースは、ブロックデータ内のあるデータを後から変更しようとすると、そのブロックデータに後続する全てのブロックデータを変更する必要が生じるため、データの改竄が困難となっている。更に、ブロックチェーンデータベースは、複数のブロックチェーンノード(以下、ノード)に同じ内容が記憶されているため、1つのノードに記憶されている全てのブロックデータを変更しても、他のノード(最低でも、全ノードの半数以上のノード)に記憶されているブロックデータも変更しなければ、データが変更されたことが分かってしまう。このため、ブロックチェーンデータベースは、データの改竄が極めて困難なデータベースであることが知られている。
【0025】
ブロックデータ送信装置30は、データ中継装置20がデータを中継する度にそのデータを受け取ると共に、それらのデータを用いてブロックデータを生成してノード51aに送信する。ノード51aは、ブロックデータ送信装置30からブロックデータを受け取ると、そのブロックデータを記憶すると共に、ブロックチェーンネットワーク50を形成する他のノード51b~51dに転送する。その結果、他のノード51b~51dにもノード51aと同じブロックデータが記憶される。このようにして、データ中継装置20が中継するデータが、ブロックチェーンネットワーク50の複数のノード51a~51dにブロックチェーン形式で記憶されていく。尚、ここではブロックチェーンネットワーク50は4つのノード51a~51dによって形成されているものとしているが、より多くのノードによって形成されていてもよい。
【0026】
図2は、第1実施例のデータ中継システム10がブロックチェーンネットワーク50のノード51aにブロックデータを記憶する動作を示したシーケンス図である。
図2では、データ中継装置20が6つのデータa~データfを中継し、それらのデータa~データfをブロックデータ送信装置30が受け取って、ブロックデータBDa、ブロックデータBDbをノード51aに送信する様子が示されている。
【0027】
図2中に示したデータaは、外部端末6A~6C,7の何れかが内部端末2Aに向かって送信したデータaである。このデータaは、データ中継装置20で受信された後、データ中継装置20から内部端末2Aに向かって送信される。データ中継装置20はデータaを中継する際に、そのデータaをブロックデータ送信装置30にも送信する。また、データbは、データaを受け取った内部端末2Aが、データaを送信してきた外部端末に向かって送信したデータである。データbはデータ中継装置20で受信されて、データ中継装置20から外部端末に向かって送信される。データ中継装置20はデータbを中継する際にもデータbをブロックデータ送信装置30に送信する。
【0028】
データcは、内部端末2Bが外部端末6A~6C,7の何れかに向かって送信したデータであり、データdは、データcを受け取った外部端末が内部端末2Bに向かって送信したデータであり、データeは、内部端末2Aが内部端末2Bに向かって送信したデータであり、データfは、データeを受け取った内部端末2Bが内部端末2Aに向かって送信したデータである。データ中継装置20はこれらのデータc~データfを中継する際にもブロックデータ送信装置30に送信する。
【0029】
ブロックデータ送信装置30は、データ中継装置20から送信されてきたデータを蓄積しておき、所定の条件が成立すると、蓄積しておいたデータをまとめてブロックデータを生成する。所定の条件としては、例えば、ブロックデータ送信装置30に蓄積されたデータの個数が所定の蓄積個数に達することという条件とすることができる。
図2に示した例では蓄積個数が3個に設定されており、このことに対応して、ブロックデータ送信装置30はデータcを受け取ると、既に受け取っていたデータaおよびデータbを含めた3つのデータa~データcを用いてブロックデータBDaを生成して、ノード51aに送信する。同様に、データfを受け取ると、既に受け取っていたデータdおよびデータeを含めた3つのデータd~データfを用いてブロックデータBDbを生成して、ノード51aに送信する。
【0030】
図3は、第1実施例のブロックデータ送信装置30がブロックデータを生成して、ブロックチェーンネットワーク50の複数のノード51a~51dに記憶する様子を示した説明図である。
図3に示すように、第1実施例のブロックデータ送信装置30の内部には、3つの記憶領域30a~30cが用意されている。この中の1つの記憶領域30aは、データ中継装置20から受け取ったデータを蓄積しておくための記憶領域であり、所定の蓄積個数(ここでは3個)のデータを記憶可能となっている。記憶領域30bは、前に生成したブロックデータを指定するためのハッシュ値を記憶しておくための記憶領域である。また、記憶領域30cは、生成したブロックデータのハッシュ値を一時的に保持しておくための記憶領域である。ここで、ハッシュ値とは、任意のデータに対してハッシュ関数と呼ばれる特別な操作を行うことによって得られる値である。また、ハッシュ関数は、どのようなサイズのデータであっても同じデータ長のハッシュ値に変換し、変換前のデータの一部でも異なれば変換したハッシュ値は全く異なる値となる。従って、ハッシュ値と元のデータとの間には一対一の関係が成立しており、ハッシュ値は変換前のデータを一意的に代表すると考えて良い。尚、ハッシュ値は、ハッシュ値から変換前のデータに戻すことはできないという性質も有している。
【0031】
データ中継装置20から供給されたデータは、ブロックデータ送信装置30の記憶領域30aに蓄積されていき、蓄積されたデータの個数が所定の蓄積個数(ここでは3個)に達すると、それらのデータと、記憶領域30bに記憶されているハッシュ値とがまとめられてブロックデータが生成される。また、ブロックデータが生成されると、そのブロックデータのハッシュ値が算出されて記憶領域30cに記憶される。ブロックデータ送信装置30は、このようにしてブロックデータを生成すると、そのブロックデータをノード51aに送信した後、記憶領域30aを初期化すると共に、記憶領域30cに記憶しておいたハッシュ値を記憶領域30bに上書きする。この結果、記憶領域30bには常に直前に生成したブロックデータのハッシュ値が記憶されていることになる。
【0032】
尚、ブロックデータ送信装置30が初めてブロックデータを生成する場合は、直前に生成したブロックデータは存在しないので、記憶領域30bにハッシュ値が記憶されておらず、従って、初めて生成されるブロックデータはハッシュ値を含まないブロックデータとなっている。また、ブロックデータ送信装置30はブロックデータを生成する際に、記憶領域30aに記憶されているデータを暗号化してからブロックデータを生成してもよい。ブロックデータを暗号化しておけば、ブロックデータに機密のデータが含まれている場合でも、秘密の状態を保ったまま、ブロックチェーンネットワーク50の複数のノード51a~51dに記憶することができる。あるいは、記憶領域30aに記憶されているデータに対して、データ中継装置20が形成するLANネットワーク1の管理者の署名を付けてからブロックデータを生成してもよい。こうすれば、LANネットワーク1の管理者が自らの意思でブロックデータを生成したことを明確にすることができる。尚、署名を付ける方法としては、例えば非対称鍵方式などの周知の方法を用いることができる。
【0033】
ブロックデータ送信装置30からブロックデータを受け取ったノード51aは、そのブロックデータを記憶すると共に、ブロックチェーンネットワーク50を形成する他のノード51b~51dに送信する結果、他のノード51b~51dでもブロックデータが記憶される。
図3には、このようにして、ノード51a~51dのそれぞれに、ブロックデータDBa、ブロックデータDBb、ブロックデータBDcが記憶された様子が示されている。ブロックデータDBbにはブロックデータDBaを示すハッシュ値が含まれており、ブロックデータDBcにはブロックデータDBbを示すハッシュ値が含まれている。従って、このようにしてノード51a~51dにブロックデータを記憶していけば、それらのブロックデータはブロックチェーン形式で記憶されることになる。
【0034】
第1実施例のデータ中継システム10は、このようにして、データ中継装置20が中継するデータをブロックチェーンネットワーク50のノード51a~51dに記憶する。このため、保険会社がサイバー保険の保険料を適切な金額に設定することが可能となる。以下、この点について説明する。
【0035】
前述したように、保険会社がサイバー保険の保険料を適切な金額に設定することができない理由の1つは、サイバー保険を契約すると契約者が安心してしまうため、却ってサイバ―リスクや損害が増加してしまうことにある。また、損害が発生した場合には、保険会社が契約者の過失の有無を確認しようとしても、契約者の十分な協力を得ることができないために、契約者の過失による損害も保険会社が補償する事態が発生し得る。このことも、保険会社が保険料を適切な金額に設定することができない理由の1つとなっている。
【0036】
しかし、保険会社がサイバー保険を契約する際に、LANネットワーク1が上述した第1実施例のデータ中継システム10を有することを契約の条件としておけば、データ中継装置20が中継するデータをブロックチェーンネットワーク50に記憶しておくことができる。ブロックチェーンネットワーク50に記憶されたデータは改竄が極めて困難であり、加えて、データが発生した順序(従って、データ中継装置20を介して通信された順序)が保持された状態で記憶されている。このため、サイバー保険の契約後に損害が発生した場合には、保険会社がブロックチェーンネットワーク50に記憶されたデータを調べることで、損害が発生した経緯や原因を確認することができるので、契約者の過失の有無を容易に判断することができる。
【0037】
また、ブロックチェーンネットワーク50に記憶されているデータは、契約者が管理するLANネットワーク1内のブロックデータ送信装置30がブロックチェーンネットワーク50のノード51aに送信したデータであるから、契約者の管理と責任の元で記憶されたデータである。従って、契約者に過失が存在する場合でも、このようなデータに基づいて指摘された過失であれば、契約者にとって納得性の高いものとなる。この意味からも、損害の発生後はブロックチェーンネットワーク50に記憶されたデータを調べることで、契約者の過失の有無を容易に決定することが可能となる。
【0038】
更に加えて、契約者にとっては、自らの過失で損害が発生した場合、ブロックチェーンネットワーク50に保存されたデータが調べられると自らの過失が発覚して十分な補償が受けられなくなる。このため、サイバー保険を契約した後も、サイバ―リスクに備える意識や、ネットワークに浸入された後も損害を最小限に抑えようとする意識が衰えにくくなる。その結果、サイバー保険の契約後に、サイバ―リスクや損害が増加する傾向も抑制できる。以上のような理由から、保険会社は、サイバー保険を契約するための条件として、対象となるネットワークが第1実施例のデータ中継システム10を有することを条件としておくことで、サイバー保険の保険料を、契約時に妥当と考える適切な金額に設定することが可能となる。
【0039】
B.第2実施例 :
上述した第1実施例では、データ中継装置20が中継する全てのデータがブロックデータ送信装置30に送信されて、ブロックチェーンネットワーク50の各ノード51a~51dに記憶されるものとして説明した。しかし、データ中継装置20が中継するデータには機密の情報が含まれることがある。このため、サイバー保険を契約する際に、機密の情報を含んだデータがブロックチェーンネットワーク50の各ノード51a~51dに記憶されることが障害となって、契約に至らないことも考えられる。そこで、ブロックチェーンネットワーク50の各ノード51a~51dに記憶されるデータには、機密の情報が含まれないようにしてもよい。以下に説明する第2実施例では、このようなことを簡単に実現することが可能となる。
【0040】
B-1.第2実施例のデータ中継システム10の概要 :
図4は、第2実施例のデータ中継システム10の概要を示した説明図である。第2実施例のデータ中継システム10も、前述した第1実施例のデータ中継システム10と同様に、データ中継装置20とブロックデータ送信装置30とを備えている。
図4では図示が省略されているが、データ中継装置20には内部端末が接続されており、インターネット5には外部端末が接続されている。そして、第2実施例のデータ中継装置20も、
図1を用いて前述した第1実施例のデータ中継装置20と同様に、内部端末同士が送受信するデータや、内部端末と外部端末とが送受信するデータを中継する度に、そのデータをブロックデータ送信装置30に送信する。
【0041】
また、
図4に示すように、第2実施例のブロックデータ送信装置30は、データ蓄積部31や、記憶部32や、ブロックデータ生成部33や、ブロックデータ送信部34を備えている。尚、これらの「部」は、第2実施例のブロックデータ送信装置30に搭載された機能を表す抽象的な概念であり、これらの「部」に対応する部品が存在することを示しているわけではない。これらの「部」は、ブロックデータ送信装置30に内蔵されたマイクロコンピュータで実行されるソフトウェアプログラムとして実現することもできるし、LSIやICなどによるハードウェアとして実現することもできる。更には、ソフトウェアプログラムとハードウェアとを組み合わせることによって実現しても良い。また、
図4に示したブロックデータ送信装置30はデータ転送部35も備えているが、データ転送部35は必ずしも備えていなくてもよい。
【0042】
データ蓄積部31は、データ中継装置20から送信されてきたデータを受け取ると、記憶部32に記憶されている情報を参照することによって、受け取ったデータを蓄積するか否かを判断して、蓄積すると判断したデータについては、データを蓄積するための図示しない記憶領域(以下、蓄積領域と称する)に蓄積する。記憶部32には「蓄積中断データ」と呼ばれるデータや、「蓄積再開データ」と呼ばれるデータが記憶されている。尚、データ蓄積部31に記憶されている蓄積中断データ、あるいは蓄積再開データは1つである必要はなく、複数個ずつ記憶しておくことができる。データ蓄積部31は、データ中継装置20から受け取ったデータが蓄積中断データに該当する場合は、それ以降に受け取るデータは蓄積しないと判断し、その後にデータ中継装置20から受け取ったデータが蓄積再開データに該当する場合は、そのデータから蓄積を再開すると判断する。データ蓄積部31は、このような簡単な方法によって、機密の情報を含んだデータが蓄積されないようにすることができる。この理由については後述する。
【0043】
そして、データ蓄積部31は、データの蓄積を中断する度に、図示しない蓄積領域に蓄積しておいたデータをブロックデータ生成部33に出力する。また、ブロックデータ送信装置30にデータ転送部35が搭載されている場合は、データ転送部35にも同じデータを出力する。尚、ここでは、データの蓄積を中断する度に、蓄積しておいたデータをブロックデータ生成部33に出力するものとして説明するが、前述した第1実施例と同様に、蓄積したデータの個数が所定の蓄積個数に達する度に、ブロックデータ生成部33に出力するものとしてもよい。
【0044】
ブロックデータ生成部33は、データ蓄積部31で蓄積されたデータを受け取ると、ブロックチェーン形式のブロックデータを生成する。すなわち、前回に生成したブロックデータを指定するための情報(ここではハッシュ値)を記憶しておき、データ蓄積部31から新たなデータを受け取ると、それらのデータに、記憶しておいたハッシュ値を付加することによって新たなブロックデータを生成する。また、新たなブロックデータを生成したら、そのブロックデータのハッシュ値を算出して記憶しておく。そして、新たなブロックデータはブロックデータ送信部34に出力する。
【0045】
ブロックデータ送信部34は、ブロックデータを受け取ると、ブロックチェーンネットワーク50を形成するノード51aに送信する。ノード51aは受け取ったブロックデータを記憶すると共に、ブロックチェーンネットワーク50を形成する他のノード51b~51dにもブロックデータを転送する。その結果、ブロックチェーンネットワーク50の各ノード51a~51dにブロックチェーン形式でブロックデータが記憶されることになる。
【0046】
また、ブロックデータ送信装置30にデータ転送部35が搭載されている場合は、データ蓄積部31は、図示しない蓄積領域にデータを蓄積する際に、そのデータをデータ転送部35にも出力する。尚、データ蓄積部31はデータを蓄積する度にデータ転送部35に出力するのではなく、ブロックデータ生成部33にデータを出力する際にデータ転送部35にも出力するようにしてもよい。
【0047】
データ転送部35にはデータ解析装置40が接続されている。データ解析装置40は、データ中継装置20が中継するデータを解析することによって、ネットワークの外部からネットワーク内に侵入しようとする疑いのある不信な通信や、ネットワーク内に侵入した後に攻撃の準備をしている疑いのある不信な通信を抽出する機能を有している。このような不審な通信を抽出することができれば、他のネットワークに対する侵入を防いだり、攻撃による損害発生を防いだりすることができるので、不審な通信を抽出可能とする情報は大きな経済的価値を有している。そこで、データ解析装置40は、データ転送部35から受け取ったデータを解析することによって、このような有益な情報を抽出する。
【0048】
もっとも、データ中継装置20が中継するデータを解析して、このような有益な情報を抽出するためには高度で専門的な技術が必要となる。従って、実際には、データの解析を専門とする会社でなければ、有益な情報を抽出することは困難であるが、その一方で、データ中継装置20が中継するデータには機密の事項も含まれており、このようなデータを他社に提供することには大きな抵抗がある。しかし、データ蓄積部31が蓄積するデータは、後述する理由から、機密の事項は含まないが有益な情報を抽出可能なデータとなっている。そこでデータ転送部35は、このようなデータをデータ蓄積部31から受け取るとデータ解析装置40に転送する。データ解析装置40は解析を専門とする会社が有しているが、データ解析装置40にデータを転送しても機密上の問題は生じることがない。このため、データ転送部35から転送されてきたデータをデータ解析装置40で解析することで、サイバ―リスクを低減させるための有益な情報を抽出することが可能となる。尚、データ解析装置40は、データ中継装置20を中心とするネットワーク内に設置されていてもよいが、ネットワークの外部に設置されていてもよい。
【0049】
B-2.ブロックデータ送信処理 :
図5は、第2実施例のブロックデータ送信装置30が、ブロックチェーンネットワーク50のノード51aにブロックデータを送信する処理のフローチャートである。
図5に示すように、第2実施例のブロックデータ送信装置30は、先ず始めに、データ中継装置20からデータを受信したか否かを判断する(STEP10)。その結果、データ中継装置20からのデータを受信していない場合は(STEP10:no)、STEP10の判断を繰り返すことによって、データを受信するまで待機状態となる。そして、データを受信した場合は(STEP10:yes)、受信したデータが蓄積中断データであるか否かを判断する(STEP11)。
図4を用いて前述したように、第2実施例のブロックデータ送信装置30には、蓄積中断データが予め記憶されており、データ中継装置20から受信したデータが蓄積中断データに該当するか否かを判断する。尚、蓄積中断データについては後述する。
【0050】
受信したデータが蓄積中断データに該当していない場合は(STEP11:no)、受信したデータを図示しない蓄積領域に蓄積した後(STEP12)、処理の先頭に戻って、データ中継装置20からのデータを受信したか否かを判断する(STEP10)。そして、データを受信した場合は(STEP10:yes)、再び、そのデータが蓄積中断データに該当するか否かを判断する(STEP11)。このような動作を繰り返しているうちに、データ中継装置20から受信したデータが蓄積中断データに該当すると判断したら(STEP11:yes)、そのデータを蓄積領域に蓄積した後(STEP13)、蓄積領域に蓄積されているデータを用いてブロックデータを生成するべく、後述するブロックデータ生成処理を開始する(STEP20)。ここで、蓄積中断データとは次のようなデータである。
【0051】
一般に、同じネットワーク内に属する2つの内部端末の一方が他方の内部端末にデータを送信しようとする場合、送りたいデータを送信するに先立って、相手の内部端末に対して手続的なデータを送信しておくことで、本当に送りたいデータが確実に相手の内部端末に届くようにすることが行われる。この手続的なデータには、データを送信する側の内部端末と受信する側の内部端末とを示す情報や、データを送信する方式および送信するデータの種類を示す情報などが含まれている。以下では、手続的なデータに含まれるこれらの情報を「手続情報」と称する。また、ネットワーク内の内部端末と、インターネットに接続された外部端末とがデータを送受信する場合にも、同様なことが行われる。このように手続的なデータを送受信し合うことで、2つの内部端末の間で、あるいは内部端末と外部端末との間でデータを確実に送受信可能となった状態は「接続が確立された状態」と呼ばれる。接続が確立された状態とするためには、接続の相手となる内部端末あるいは外部端末との間で、予め決められた順序で複数のデータを送受信し合う必要がある。そして、接続が確立された状態となった後に送受信されるデータは、本当に送信したい情報(すなわち、機密に該当し得る情報)を含んだデータと考えられる。尚、以下では、本当に送信したい情報を「実体情報」と称する。
【0052】
以上の説明から明らかなように、第2実施例の蓄積中断データとは、接続を確立するために送受信される最後のデータのことである。データ中継装置20によって中継されるデータが蓄積中断データであった場合、それ以降に送受信されるデータには機密の事項となり得る実体情報が含まれているので、データを蓄積しないようにすればよい。尚、接続を確立する方法については複数の方法が存在し得るが、どのような方法で接続を確立する場合でも予め決められた順序で複数のデータを送受信し合う必要があるので、接続を確立する方法ごとに、最後に送信されるデータは決まっている。従って、それらのデータを蓄積中断データとして記憶しておけばよい。
【0053】
図5に示したブロックデータ送信処理のSTEP11では、データ中継装置20から受信したデータが、以上のような蓄積中断データに該当するか否かを判断する。そして、受信したデータが蓄積中断データに該当していたら(STEP11:yes)、受信したデータを蓄積領域に蓄積した後(STEP13)、蓄積したデータを用いてブロックデータを生成する(STEP20)。ブロックデータを生成する処理の詳細については後述するが、ブロックデータを生成したら、蓄積領域に蓄積されたデータは消去しておく。
【0054】
続いて、生成したブロックデータをブロックチェーンネットワーク50のノード51aに送信した後(STEP14)、データ中継装置20からのデータを受信したか否かを判断する(STEP15)。そして、データを受信していない場合は(STEP15:no)、STEP15の判断を繰り返すことによって待機状態となり、データを受信したら(STEP15:yes)、今後は、そのデータが蓄積再開データか否かを判断する(STEP16)。ここで、蓄積再開データとは、次のようなデータである。
【0055】
前述したように、接続が確立された状態とするためには、相手の内部端末あるいは外部端末との間で、予め決められた順序で複数のデータを送受信し合う必要がある。同様に、接続が確立された状態を終了する場合にも、相手の内部端末あるいは外部端末との間で、予め決められた順序で複数のデータを送受信し合う必要がある。そして、接続が確立された状態を終了するために送受信される最初のデータが送信された場合、そのデータを含んで、それ以降に送受信されるデータには、機密の事項となり得る実体情報は含まれていないと考えられる。このことから明らかなように、第2実施例の蓄積再開データとは、確立された接続を終了するために送受信される最初のデータのことである。尚、確立した接続を終了する方法については複数の方法が存在し得るが、どのような方法で終了する場合でも予め決められた順序で複数のデータを送受信し合う必要があるので、接続を終了する方法ごとに、最初に送信されるデータは決まっている。従って、それらのデータを蓄積再開データとして記憶しておけばよい。
【0056】
図5に示したブロックデータ送信処理のSTEP16では、データ中継装置20から受信したデータが、以上のような蓄積再開データに該当するか否かを判断する。そして、受信したデータが蓄積再開データに該当していない場合は(STEP16:no)、受信したデータを蓄積領域に蓄積することなく、再びSTEP15に戻って、データ中継装置20からのデータを受信したか否かを判断した後、上述した動作を繰り返す。これに対して、受信したデータが蓄積再開データに該当していた場合は(STEP16:yes)、受信したデータを蓄積領域に蓄積した後(STEP17)、処理の先頭に戻って、データ中継装置20からのデータを受信したか否かを判断する(STEP10)。その後は、上述した動作を繰り返す。
【0057】
図6および
図7は、第2実施例のブロックデータ送信装置30が以上のようなブロックデータ送信処理を実行することで、ブロックチェーンネットワーク50のノード51aにブロックデータが記憶される様子を示したシーケンス図である。
図6中に示したデータaは、外部端末6A~6C,7の何れかが内部端末2Aに対して、接続の確立を要求して送信したデータである。このデータaには、接続の確立を要求する旨の情報や、要求する側の外部端末を特定する情報や、相手側となる内部端末2Aを特定する情報や、送信方法を示す情報などの接続情報1が含まれている。外部端末から送信されたデータaは、データ中継装置20によって内部端末2Aに中継される。データaを受信した内部端末2Aは、データaに対応する所定の接続情報2を含んだデータbを、データaを送信してきた外部端末に向かって送信する。このデータbもデータ中継装置20によって外部端末に中継される。更に、データbを受け取った外部端末は、データbに対応する接続情報3を含んだデータcを内部端末2Aに向かって送信する。このデータcもデータ中継装置20によって内部端末2Aに中継される。こうして外部端末と内部端末2Aとの間で3つのデータa~データcが送受信されることによって接続が確立された状態となる。そして、接続が確立された後は、外部端末から内部端末2Aに向かって、実体情報を含んだデータd、データe、およびデータgが送信される。尚、
図6に例示したデータfのように、内部端末2Aは実体情報を含んだデータd、データe、データgを受信する合間に、受信に失敗したこと(あるいは、受信できていること)などを表す手続情報を含んだ手続的なデータを返信する場合がある。
【0058】
外部端末は、このようにして実体情報を含んだデータを送信していき、最後のデータを送信したら、内部端末2Aとの間で確立した接続を終了するためのデータを内部端末2Aに向かって送信する。
図7中に示したデータhは実体情報を含んだ最後のデータであり、データiは接続を終了するためのデータである。データiには、接続の終了を要求する旨の情報や、要求する側の外部端末を特定する情報や、相手側の内部端末2Aを特定する情報などの接続情報4が含まれている。データiを受信した内部端末2Aは、データiに対応する所定の接続情報5を含んだデータjを返信する。これらのデータiやデータjもデータ中継装置20によって中継される。こうしてデータiおよびデータjが送受信されることによって、確立されていた接続が終了する。
【0059】
図7に示した例では、続いて、外部端末6A~6C,7の何れかが、今度は内部端末2Bに対して接続の確立を要求してデータkを送信している。このデータkにも前述した接続情報1が含まれている。外部端末から送信されたデータaは、データ中継装置20によって内部端末2Aに中継される。データkを受信した内部端末2Bは、データkに対応する接続情報2を含んだデータlを、データkを送信してきた外部端末に向かって送信する。そして、このデータlを受け取った外部端末が、データlに対応する接続情報3を含んだデータmを内部端末2Bに向かって送信することによって、外部端末と内部端末2Bとの間で接続が確立される。そして、接続が確立された後は、外部端末から内部端末2Bに向かって、実体情報を含んだデータnが送信される。データ中継装置20は、これらのデータk~データnも中継している。そしてデータ中継装置20はデータを中継する度に、そのデータをブロックデータ送信装置30に送信する。
【0060】
ブロックデータ送信装置30は、
図5を用いて前述したブロックデータ送信処理を実行することにより、データ中継装置20から送信されてくるデータを用いてブロックデータを生成する。例えば、データ中継装置20から受信したデータが
図6に示したデータaやデータbであった場合、それらのデータは蓄積中断データ(接続を確立するために送受信される最後のデータ)ではないので、
図5のSTEP11では「no」と判断して、蓄積領域に蓄積する(STEP12)。その後、データ中継装置20からデータcを受信すると、データcは蓄積中断データなので、
図5のSTEP11で「yes」と判断して、データcを蓄積領域に蓄積した後(STEP13)、蓄積領域に蓄積されているデータを用いてブロックデータBDaを生成して(
図5のSTEP20)、ノード51aに送信する。ブロックデータBDaを生成する方法については後述する。
【0061】
ノード51aにブロックデータBDaを送信した後は、データ中継装置20からデータを受け取る度に、そのデータが蓄積再開データ(接続を終了するために送受信される最初のデータ)か否かを判断する(
図5のSTEP16)。
図6中に示したデータd、データe、データgや、
図7中に示したデータhは実体情報を送信するためのデータであるから、蓄積再開データではないので、
図5のSTEP16では「no」と判断されるため、それらのデータが蓄積領域に蓄積されることはない。また、
図6中に示したデータfは手続情報を送信するための手続的なデータではあるが、蓄積再開データではないので、このデータも蓄積領域に蓄積されることはない。
【0062】
しかし、
図7中に示したデータiを受け取った場合は、
図5のSTEP16では「yes」と判断する。そして、データiを蓄積領域に蓄積することによって、データの蓄積を再開した後(STEP17)、それ以降は、データ中継装置20から受信したデータが蓄積中断データに該当しない限り、受信したデータを蓄積領域に蓄積する(
図5のSTEP12)。その後、蓄積中断データに該当するデータmを受け取ると、
図5のSTEP11で「yes」と判断して、データmを蓄積領域に蓄積した後(STEP13)、蓄積領域に蓄積されているデータを用いてブロックデータBDbを生成して(
図5のSTEP20)、ノード51aに送信する。ブロックデータ送信装置30は、
図5のブロックデータ送信処理を実行することにより、以上のようにしてブロックデータを生成してノード51aに送信する。そしてノード51aは受け取ったブロックデータを他のノード51b~51dにも送信することにより、ブロックチェーンネットワーク50の各ノード51a~51dにブロックデータが記憶されていく。
【0063】
B-3.ブロックデータ生成処理 :
最後に、ブロックデータ送信装置30がブロックデータを生成する処理について簡単に説明しておく。
図8は、ブロックデータ送信装置30がブロックデータを生成するために実行するブロックデータ生成処理のフローチャートである。この処理は、
図5に示したブロックデータ送信処理の中で、受信したデータが蓄積中断データであった場合に、そのデータを蓄積領域に蓄積した後に実行される。
【0064】
ブロックデータ生成処理を開始すると、先ず始めに、蓄積領域に蓄積されている全てのデータを読み出す(STEP21)。続いて、前回に生成したブロックデータのハッシュ値を読み出す(STEP22)。後述するように、新たなブロックデータを生成する度に、そのブロックデータのハッシュ値が算出されて記憶されている。
【0065】
そして、読み出した全データに、前回のブロックデータのハッシュ値を付加することによって、新たなブロックデータを生成した後、データ中継装置20から受信したデータが蓄積される蓄積領域とは別の記憶領域に記憶する(STEP23)。続いて、新たに生成したブロックデータのハッシュ値を算出して、蓄積領域とは別の記憶領域に記憶する(STEP24)。こうして、新たなブロックデータおよびハッシュ値を記憶したら、次のブロックデータを生成するための準備として、蓄積領域に蓄積されていた全てのデータを消去した後(STEP25)、
図8のブロックデータ生成処理を終了して、
図5のブロックデータ送信処理に復帰する。そして、ブロックデータ送信処理のSTEP14では、
図8のSTEP23で記憶領域に記憶しておいたブロックデータが読み出されて、ノード51aに送信されることになる。
【0066】
第2実施例のブロックデータ送信装置30は、以上のようにしてブロックデータを生成して、ブロックチェーンネットワーク50の各ノード51a~51dに記憶する。
図6および
図7を用いて前述したように、第2実施例のブロックデータ送信装置30が生成するブロックデータには、手続情報が含まれているが、機密になり得る実体情報は含まれていない。このため、ブロックデータがブロックチェーンネットワーク50の各ノード51a~51dに記憶されることが障害となって、契約に至らない事態を防止することができる。その一方で、ブロックデータに記憶されている手続情報には、データを送受信している内部端末や外部端末を示す情報や、データを送受信した方法や、送受信したデータの種類に関する情報や、データを送受信した順序の情報などが含まれているので、外部からネットワーク内に侵入されて損害が発生した場合には、ブロックデータを調べることで、損害が発生した経緯や原因を確認することができる。
【0067】
加えて、ブロックデータ送信装置30は、データ中継装置20から受信したデータが蓄積中断データあるいは蓄積再開データに該当するか否かを判断するという簡単な処理で、機密になり得る情報を含んだデータは排除しつつ、損害が発生した経緯や原因を確認するために必要なデータを含んだブロックデータを生成することが可能となる。すなわち、実体情報を含まない手続的なデータを全て登録しておき、データ中継装置20からデータを受け取る度に、そのデータが登録されている手続的なデータに該当するか否かを判断することによっても、機密になり得る情報を含んだデータを排除することはできる。しかし、上述した第2実施例では、データの蓄積中は蓄積中断データに該当するか否か、データの蓄積を中断している間は蓄積再開データに該当するか否かを判断すれば良い。このため、機密になり得る情報を含んだデータを極めて簡単に且つ迅速に排除することが可能となる。
【0068】
尚、
図6および
図7では、外部端末と内部端末2Aとの間で確立されていた接続が終了した後に、外部端末と内部端末2Bとの間で新たな接続が確立されたものとして説明した。しかし、外部端末と内部端末2Aとの間で接続が確立されている状態で、例えば別の外部端末と内部端末2Bとの間で新たな接続が確立される場合も起こり得る。このような場合には、
図5に示したブロックデータ送信処理を接続毎に実行すれば良い。すなわち、データ中継装置20から転送されてきたデータを受信したら、そのデータのヘッダー情報に基づいて何れの接続のデータであるかを識別する。そして、接続毎に、
図5に示した処理を実行すればよい。こうすれば、複数の接続が確立された状態で、接続毎にブロックデータを生成することが可能となる。
【0069】
また、上述した第2実施例では、データ中継装置20は中継する全てのデータをブロックデータ送信装置30に送信して、ブロックデータ送信装置30が蓄積するデータを選択するものとして説明した。しかし、データ中継装置20の側でデータを選択して、ブロックデータ送信装置30に送信してもよい。以下では、このような第2実施例の他の態様について説明する。
【0070】
図9は、第2実施例の他の態様のデータ中継システム10を例示した説明図である。第2実施例の他の態様のデータ中継システム10も、前述した第1実施例あるいは第2実施例のデータ中継システム10と同様に、データ中継装置20とブロックデータ送信装置30とを備えている。尚、
図9でも、前述した
図4と同様に図示が省略されているが、データ中継装置20には内部端末が接続されており、インターネット5には外部端末が接続されている。そして、データ中継装置20は、内部端末同士が送受信するデータや、内部端末と外部端末とが送受信するデータを中継している。
【0071】
図9に示すように、第2実施例の変形例のデータ中継装置20は、データ中継部21や、データ選択送信部22や、記憶部23を備えている。尚、これらの「部」も、第2実施例の他の態様のデータ中継装置20に搭載された機能を表す抽象的な概念であり、これらの「部」に対応する部品が存在することを示しているわけではない。これらの「部」は、ソフトウェアプログラムとして実現することもできるし、LSIやICなどによるハードウェアとして実現することもできる。
【0072】
データ中継部21は、図示しない内部端末やインターネット5に接続されており、内部端末同士が送受信するデータや、内部端末と外部端末とが送受信するデータを中継すると共に、中継するデータをデータ選択送信部22に出力する。
【0073】
データ選択送信部22は、データ中継部21から出力されたデータを受け取ると、そのデータが、記憶部23に記憶されている所定の「中断データ」あるいは所定の「再開データ」に該当するか否かを判断する。中断データは前述した蓄積中断データと同じデータを用いることができ、再開データは前述した蓄積再開データと同じデータを用いることができる。そして、判断の結果に応じて、データをブロックデータ送信装置30に送信する状態と、送信ない状態とを切り換える。すなわち、データ中継部21から受け取ったデータをブロックデータ送信装置30に送信する状態の時に、データ中継部21から受け取ったデータが中断データに該当すると判断した場合は、それ以降に受け取るデータについてはブロックデータ送信装置30に送信しない状態(送信を中断した状態)となる。また、送信を中断した状態で、データ中継部21から受け取ったデータが再開データに該当すると判断した場合は、そのデータを含めて、以降に受け取るデータについてはブロックデータ送信装置30に送信する。また、データ選択送信部22は、ブロックデータ送信装置30に向かってデータを送信する際には、同じデータをデータ解析装置40にも送信しても良い。尚、第2実施例の他に態様のデータ選択送信部22は、本発明における「データ送信部」に該当する。
【0074】
ブロックデータ送信装置30は、データ選択送信部22から受け取ったデータを用いてブロックデータを生成して、ブロックチェーンネットワーク50のノード51aに出力する。第2実施例の他の態様のブロックデータ送信装置30は、前述した第1実施例のブロックデータ送信装置30と同様に、受け取ったデータが所定の蓄積個数に達する度にブロックデータを生成しても良いし、前述した第2実施例のブロックデータ送信装置30と同様に、データ中継装置20から中断データが送信されてくる度に、それまでに蓄積していたデータを用いてブロックデータを生成してもよい。
【0075】
また、上述した第2実施例の他の態様のデータ中継装置20でも、複数の接続が確立された状態となった場合は、接続毎にデータを選択して、ブロックデータ送信装置30に送信すればよい。この時、ブロックデータ送信装置30では必ずしも接続毎にブロックデータを生成する必要はないが、接続毎にブロックデータを生成しても構わない。
【0076】
このような第2実施例の他の態様のデータ中継システム10でも、データ中継装置20が中継するデータがブロックチェーンネットワーク50の各ノード51a~51dに記憶されるので、前述した第2実施例のデータ中継システム10と同様な効果を得ることが可能となる。
【0077】
以上、各種の実施例のデータ中継システム10について説明したが、本発明は上記の実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することが可能である。
【符号の説明】
【0078】
1…LANネットワーク、 2A~2E…内部端末、 3…サーバ装置、
5…インターネット、 6A~6C…外部端末、 7…サーバ装置、
10…データ中継システム、 20…データ中継装置、 21…データ中継部、
22…データ選択送信部、 23…記憶部、 30…ブロックデータ送信装置、
30a~30c…記憶領域、 31…データ蓄積部、 32…記憶部、
33…ブロックデータ生成部、 34…ブロックデータ送信部、
35…データ転送部、 40…データ解析装置、
50…ブロックチェーンネットワーク、 51a~51d…ノード。
【要約】
【課題】保険会社がサイバー保険の保険料を適切な金額に設定可能とする。
【解決手段】ネットワーク内の内部端末と外部端末との間で通信されるデータをデータ中継装置で中継する際に、データ中継装置からブロックデータ送信装置にも送信する。ブロックデータ送信装置は受け取ったデータを用いてブロックチェーン形式のブロックデータを生成して、ブロックチェーンネットワークのノードに送信することにより、ブロックチェーンネットワークに記憶する。こうすれば、ネットワーク内の内部端末が外部端末との間で通信されたデータが、ブロックチェーンネットワークに記憶されていくので、ネットワークに侵入された場合でも、このデータを調べることで、侵入された原因や責任の有無などを明確にすることができる。このため保険会社は契約時に見積もったサイバ―リスクに応じて、妥当と考える適切な金額に保険料を設定することが可能となる。
【選択図】
図2