(57)【要約】【課題】スパムのリストの精度をより向上させること。【解決手段】情報処理装置が、通信データに関するスパムの報告を受信する外部装置によって生成された、１以上のスパムの報告を含むブロックを受信する受信部と、前記受信部により以前に受信された各ブロックにより形成されるブロックチェーンに基づいて、前記受信部により今回受信されたブロックの正当性を検証し、当該ブロックが正当である場合、当該ブロックを前記ブロックチェーンに追加する検証部と、通信データを受信すると、前記ブロックチェーンに基づき、当該通信データがスパムであるか否かを判定する判定部と、を有する。【選択図】図４
2019036032.tif 000002
【特許請求の範囲】
【請求項１】
通信データに関するスパムの報告を受信する外部装置によって生成された、１以上のスパムの報告を含むブロックを受信する受信部と、
前記受信部により以前に受信された各ブロックにより形成されるブロックチェーンに基づいて、前記受信部により今回受信されたブロックの正当性を検証し、当該ブロックが正当である場合、当該ブロックを前記ブロックチェーンに追加する検証部と、
通信データを受信すると、前記ブロックチェーンに基づき、当該通信データがスパムであるか否かを判定する判定部と、
を有する情報処理装置。
【請求項２】
前記検証部は、前記受信部により今回受信されたブロックに含まれる報告と、前記ブロックチェーンに含まれる報告とが、同一の報告者による同一の通信データに対する報告である場合、当該ブロックを不正であると判定する、
請求項１に記載の情報処理装置。
【請求項３】
前記判定部は、前記ブロックチェーンの各ブロックに含まれる各報告に、相対的に新しいブロックに対してより大きな値となる重みを付加し、前記重みが付加された各報告に基づいて、受信した通信データがスパムであるか否かを判定する、
請求項１または２に記載の情報処理装置。
【請求項４】
前記判定部により、受信した通信データがスパムであると判定された場合、当該通信データに対する報告が含まれる各ブロックの生成時期に応じたメッセージを表示する表示部を有する、
請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項５】
情報処理装置が、
通信データに関するスパムの報告を受信する外部装置によって生成された、１以上のスパムの報告を含むブロックを受信し、
以前に受信された各ブロックにより形成されるブロックチェーンに基づいて、今回受信されたブロックの正当性を検証し、
当該ブロックが正当である場合、当該ブロックを前記ブロックチェーンに追加し、
通信データを受信すると、前記ブロックチェーンに基づき、当該通信データがスパムであるか否かを判定する、
処理を実行する情報処理方法。
【請求項６】
コンピュータに、
通信データに関するスパムの報告を受信する外部装置によって生成された、１以上のスパムの報告を含むブロックを受信し、
以前に受信された各ブロックにより形成されるブロックチェーンに基づいて、今回受信されたブロックの正当性を検証し、
当該ブロックが正当である場合、当該ブロックを前記ブロックチェーンに追加し、
通信データを受信すると、前記ブロックチェーンに基づき、当該通信データがスパムであるか否かを判定する、
処理を実行させるプログラム。
【請求項７】
通信データに関するスパムの報告を受信する受信部と、
前記受信部により受信されたスパムの報告の件数が閾値以上となる時間間隔を算出し、前記受信部により受信された１以上のスパムの報告を含むブロックを生成するための計算の難易度を、前記時間間隔で前記計算が完了するように調整し、前記ブロックを生成する生成部と、
生成された前記ブロックを送信する送信部と、
を有する情報処理装置。
【請求項８】
情報処理装置が、
通信データに関するスパムの報告を受信し、
受信されたスパムの報告の件数が閾値以上となる時間間隔を算出し、
受信された１以上のスパムの報告を含むブロックを生成するための計算の難易度を、前記時間間隔で前記計算が完了するように調整し、
前記ブロックを生成し、
生成された前記ブロックを送信する、
処理を実行する情報処理方法。
【請求項９】
コンピュータに、
通信データに関するスパムの報告を受信し、
受信されたスパムの報告の件数が閾値以上となる時間間隔を算出し、
受信された１以上のスパムの報告を含むブロックを生成するための計算の難易度を、前記時間間隔で前記計算が完了するように調整し、
前記ブロックを生成し、
生成された前記ブロックを送信する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、メール等により宣伝等を目的として一方的に送り付けられるスパムを防ぐためのフィルタリング技術が知られている（例えば、特許文献１を参照）。このフィルタリング技術では、例えば、スパムに含まれる１以上のキーワード、スパムの送信元のＩＰアドレス、またはメールアドレス等をブラックリストに登録し、当該ブラックリストに基づいて、受信したメール等を、自動的に迷惑メールフォルダ等の所定のフォルダに分類したり、受信を拒否したりする。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２４２０９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、スパムのリストは、例えば、メール等のサービスを提供する特定の事業者等が、比較的少ないサンプルに基づいて作成するため、偏った基準でスパム判定がなされ、リストの精度が十分でない場合があるという問題がある。
【０００５】
そこで、一側面では、スパムのリストの精度をより向上させることができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの案では、通信データに関するスパムの報告を受信する外部装置によって生成された、１以上のスパムの報告を含むブロックを受信する受信部と、前記受信部により以前に受信された各ブロックにより形成されるブロックチェーンに基づいて、前記受信部により今回受信されたブロックの正当性を検証し、当該ブロックが正当である場合、当該ブロックを前記ブロックチェーンに追加する検証部と、通信データを受信すると、前記ブロックチェーンに基づき、当該通信データがスパムであるか否かを判定する判定部と、を有する情報処理装置が提供される。
【発明の効果】
【０００７】
一側面によれば、スパムのリストの精度をより向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る通信システムの構成例を示す図である。
【図２】実施形態に係る端末のハードウェア構成例を示す図である。
【図３】第１の実施形態に係る通信システムの機能構成の一例を示す図である。
【図４】第１の実施形態に係る通信システムの処理の一例を示すシーケンス図である。
【図５】ブロックチェーンの一例について説明する図である。
【図６】定義ファイルの一例について説明する図である。
【図７】フィルタリング処理の一例を示すフローチャートである。
【図８】ブロック作成処理の一例を示すフローチャートである。
【図９】ブロック検証処理の一例を示すフローチャートである。
【図１０】第２の実施形態に係る通信システムの機能ブロック図の一例を示す図である。
【図１１】第２の実施形態に係る通信システムの処理の一例を示すシーケンス図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施形態を説明する。
【００１０】
＜システム構成＞
図１は、実施形態に係る通信システム１の構成例を示す図である。図１において、通信システム１は、端末１０−１、１０−２、・・・（以下で、それぞれを区別する必要がない場合は、単に「端末１０」と称する。）、監視端末２０−１、２０−２、・・・（以下で、それぞれを区別する必要がない場合は、単に「監視端末２０」と称する。）、サーバ３０−１、３０−２、・・・（以下で、それぞれを区別する必要がない場合は、単に「サーバ３０」と称する。）を備える。
【００１１】
端末１０、監視端末２０、及びサーバ３０は、例えば、インターネット、携帯電話網、無線ＬＡＮ（Local  Area  Network）、またはＬＡＮ等のネットワーク５０により、通信可能な状態で接続されている。また、端末１０と各監視端末２０との間、及び各監視端末２０同士の間は、例えば、Ｐ２Ｐ（Peer-to-peer）ネットワークにより接続される。
【００１２】
端末１０は、例えば、デスクトップＰＣ（Personal  Computer）、ノートＰＣ、タブレットＰＣ、スマートフォン等の情報処理装置（コンピュータ）である。端末１０は、サーバ３０から受信したメール等がスパムであるとユーザにより判断された場合、ユーザの操作により、当該メール等がスパムであることを示すスパム報告を監視端末２０に送信する。また、端末１０は、監視端末２０から、スパムのリストを受信し、当該リストに基づいて、サーバ３０から受信したメール等をフィルタリングする。
【００１３】
監視端末２０は、例えば、デスクトップＰＣ（Personal  Computer）、マイニング専用のハードウェアを有する端末等の情報処理装置である。監視端末２０は、各端末１０からのスパム報告に基づき、スパムのリストを作成し、作成したリストを各端末１０に送信する。
【００１４】
サーバ３０は、サーバ用の情報処理装置であり、メール、ＳＭＳ（Short  Message  Service）、VoIP（Voice  over  IP）等による音声メッセージ、ＳＮＳ（Social  Networking  Service）等により、端末１０宛てのメッセージ等を転送する。なお、以下では、サーバ３０がメールを転送する場合を例として説明する。
【００１５】
＜ハードウェア構成＞
図２は、実施形態に係る端末１０のハードウェア構成例を示す図である。図２の端末１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５、表示装置１０６、及び入力装置１０７等を有する。
【００１６】
端末１０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１７】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って端末１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical  User  Interface）等を表示するディスプレイである。入力装置１０７は様々な操作指示の入力を受け付ける。
【００１８】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard  Disk  Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００１９】
監視端末２０、及びサーバ３０のハードウェア構成は、図２に示す端末１０のハードウェア構成例と同様でもよい。
【００２０】
［第１の実施形態］
＜機能構成＞
次に、図３を参照し、第１の実施形態に係る通信システム１の機能構成について説明する。図３は、第１の実施形態に係る通信システム１の機能構成の一例を示す図である。
【００２１】
≪端末≫
端末１０は、記憶部１１を有する。記憶部１１は、例えば、補助記憶装置１０２等を用いて実現される。記憶部１１は、ブロックチェーン５００、及び定義ファイル６００等のデータを記憶する。ブロックチェーン５００は、スパムに関する報告のデータを含む各ブロックを、ブロックが生成された順に対応付けて記憶する。定義ファイル６００は、各メールについて、スパムであると報告したユーザＩＤ、及びスパムでないと報告したユーザＩＤ等を記憶する。なお、定義ファイル６００は、例えば、ブロックチェーン５００が更新された際等のタイミングで、更新されたブロックチェーン５００に基づいて更新される。これにより、メール等を受信した際に、当該メールに対するスパムのスコアを比較的迅速に算出できる。
【００２２】
また、端末１０は、受付部１２、受信部１３、検証部１４、判定部１５、処理部１６、表示部１７、及び通信部１８を有する。これら各部は、端末１０にインストールされた１以上のプログラムが、端末１０のＣＰＵ１０４に実行させる処理により実現される。
【００２３】
受付部１２は、スパムの報告の操作をユーザから受け付ける。
【００２４】
受信部１３は、スパムの報告を含むブロックを、監視端末２０から受信する。
【００２５】
検証部１４は、受信部１３により受信されたブロックの正当性を検証する。検証部１４は、例えば、所定のアルゴリズムに基づき、当該ブロックに含まれるナンスが正しいか否かを検証する。また、検証部１４は、当該ブロックに含まれる、直前のブロックのハッシュ値と、ブロックチェーン５００における最新のブロックのハッシュ値が一致するか否かを検証する。また、検証部１４は、当該ブロックに含まれる各報告と、ブロックチェーン５００及び当該ブロックに含まれる他の報告とが、同一ユーザによる同一メールへの報告でないか否かを検証する。
【００２６】
また、検証部１４は、当該検証に成功したブロックを、ブロックチェーン５００に追加して記憶部１１に記憶させる。
【００２７】
判定部１５は、ブロックチェーン５００に基づいて、受信されたメールがスパムであるか否かを判定する。
【００２８】
処理部１６は、判定部１５による判定結果に基づいて、受信されたメールのフィルタリング処理を行う。
【００２９】
表示部１７は、処理部１６によるフィルタリング処理を実行されたメールを画面に表示する。
【００３０】
通信部１８は、監視端末２０、及びサーバ３０との通信を行う。通信部１８は、スパムの報告を、監視端末２０に送信する。また、通信部１８は、メール（「通信データ」の一例）を、サーバ３０から受信する。
【００３１】
≪監視端末≫
監視端末２０は、記憶部２１を有する。記憶部２１は、例えば、補助記憶装置等を用いて実現される。記憶部２１は、ブロックチェーン５００等のデータを記憶する。
【００３２】
また、監視端末２０は、受信部２２、生成部２３、送信部２４、検証部２５、及び通信部２６を有する。これら各部は、監視端末２０にインストールされた１以上のプログラムが、監視端末２０のＣＰＵに実行させる処理により実現される。
【００３３】
受信部２２は、スパムの報告を端末１０から受信する。
【００３４】
生成部２３は、受信部２２により受信されたスパムの報告を含むブロックを生成する。
【００３５】
送信部２４は、生成部２３により生成されたブロックを、各端末１０、及び他の各監視端末２０にブロードキャスト（一斉送信）する。
【００３６】
検証部２５は、他の監視端末２０から受信したブロックの正当性を検証する。検証部２５は、当該検証に成功したブロックを、ブロックチェーン５００に追加して記憶部２１に記憶させる。
【００３７】
通信部２６は、端末１０、及び他の各監視端末２０との通信を行う。
【００３８】
＜処理＞
次に、図４を参照し、第１の実施形態に係る通信システム１の処理について説明する。図４は、第１の実施形態に係る通信システム１の処理の一例を示すシーケンス図である。
【００３９】
ステップＳ１において、端末１０の通信部１８は、メールをサーバ３０から受信する。
【００４０】
続いて、端末１０の判定部１５、及び処理部１６は、ブロックチェーン５００に基づいて、受信したメールをフィルタリングする（ステップＳ２）。
【００４１】
図５は、ブロックチェーン５００の一例について説明する図である。ブロックチェーン５００は、ブロックと呼ばれるデータの単位を順次生成し、鎖（チェーン）のように連結していくことによりデータを保管するデータベースである。図５に示すように、ブロックチェーン５００に含まれる各ブロック５０１Ａ、５０１Ｂ、・・・、には、ブロックチェーン５００における直前のブロックのハッシュ値５０２Ａ、５０２Ｂ、・・・、仕事量による証明であるプルーフ・オブ・ワーク（ＰＯＷ、proof  of  work）のためのノンス（Nonce）５０３Ａ、５０３Ｂ、・・・、スパムまたは非スパムである旨の報告５０４Ａ−１、５０４Ａ−２、・・・、５０４Ｂ−１、・・・（以下で、それぞれを区別する必要がない場合は、単に「報告５０４」と称する。）等が含まれる。
【００４２】
各報告５０４には、例えば、報告種別、メールＩＤ、報告元ユーザＩＤ等が含まれる。報告種別は、スパム報告であるか、非スパム報告であるかを示す情報である。ここで、スパム報告は、ユーザによりスパムと判断された場合の報告であり、非スパム報告は、ユーザによりスパムではないと判断された場合の報告である。
【００４３】
メールＩＤは、報告対象のメールの識別情報である。メールＩＤは、例えば、報告対象のメールに含まれる１以上のキーワード、件名、本文、本文中に含まれるＵＲＬ（Uniform  Resource  Locator）、スパムの送信元のＩＰアドレス、及びスパムの送信元のメールアドレス等の少なくとも１つでもよい。メールＩＤは、端末１０により抽出されてもよいし、端末１０のユーザの選択操作により抽出されてもよい。
【００４４】
報告元ユーザＩＤは、報告を行ったユーザの識別情報であり、例えば、当該ユーザのメールアドレス等でもよい。
【００４５】
図６は、定義ファイル６００の一例について説明する図である。端末１０は、ブロックチェーン５００に基づき、図６に示すような定義ファイル６００を生成する。
【００４６】
定義ファイル６００には、メールＩＤに対応付けて、同意ユーザＩＤ、否定ユーザＩＤが記憶される。メールＩＤは、上述した各報告に含まれるメールＩＤである。同意ユーザＩＤは、メールＩＤに係るメールに対して、スパム報告を行った１以上の報告元ユーザＩＤである。否定ユーザＩＤは、メールＩＤに係るメールに対して、非スパム報告を行った０または１以上の報告元ユーザＩＤである。
【００４７】
端末１０の処理部１６は、ブロックチェーン５００に基づいて生成した定義ファイル６００を用いて、各メールがスパムであるか否か等を判別し、スパム用のフォルダに振り分ける、または件名等に所定の警告メッセージを挿入する等の所定のフィルタリング処理を行う。
【００４８】
続いて、端末１０の表示部１７は、フィルタリングされたメールを画面に表示する（ステップＳ３）。ここで、当該メールは、ユーザにより閲覧され、スパムであるか否かを判断される。
【００４９】
続いて、端末１０の受付部１２は、ユーザから、スパム報告、または非スパム報告の操作を受け付ける（ステップＳ４）。
【００５０】
続いて、端末１０の通信部１８は、ユーザに操作に応じた報告を、各監視端末２０−１、２０−２、・・・に送信する（ステップＳ５−１、ステップＳ５−２）。
【００５１】
続いて、各監視端末２０のうちの一の監視端末２０−１の生成部２３は、他の監視端末２０よりも先にブロックの生成を完了する（ステップＳ６）。ここで、監視端末２０−１が、最も早くブロックの生成を完了したとして説明する。
【００５２】
なお、ブロックの生成を完了するためには、ノンスの算出を完了する必要がある。そのため、各監視端末２０の生成部２３は、ノンスの候補を順次生成し、所定の条件を満たすノンスを探す。そして、最初にノンスを発見した監視端末２０は、ブロックの生成を完了し、例えば、各端末１０から所定の報酬を得てもよい。
【００５３】
続いて、ブロックの生成を最初に完了した監視端末２０−１の送信部２４は、生成されたブロックを、各端末１０、及び他の監視端末２０−２、・・・にそれぞれ送信する（ステップＳ７−１、７−２）。ここで、監視端末２０−１の送信部２４は、例えば、監視端末２０−１がブロックの生成を完了した等の時点において、他の監視端末２０から当該ブロックを受信していない場合、ブロックの生成を最初に完了したと判断し、当該ブロックをブロードキャスト等により送信する。
【００５４】
続いて、各端末１０の検証部１４、及びブロックの生成を最初に完了した監視端末２０−１以外の監視端末２０−２、・・・の検証部２５は、受信したブロックの正当性を検証する（ステップＳ８−１、８−２）。
【００５５】
続いて、各端末１０の検証部１４、及び各監視端末２０の検証部２５は、正当性の検証に成功した場合、当該ブロックをブロックチェーン５００に追加する（ステップＳ９−１、９−２、９−３）。
【００５６】
続いて、各監視端末２０の生成部２３は、当該ブロックの次にブロックチェーン５００に追加するための、次のブロックの生成を開始する（ステップＳ１０−１、１０−２）。ここで、次のブロックに対する、ＰＯＷの処理が開始される。なお、各監視端末２０は、例えば、平均して所定時間（例えば、１０分）程度でＰＯＷの処理が完了するように、ノンスを算出（計算）する処理の難易度を調整してもよい。この場合、概ね当該所定時間間隔で、当該所定時間間隔におけるスパム報告、または非スパム報告が、ブロックチェーン５００に追加される。
【００５７】
ここで、各監視端末２０は、例えば、ブロックチェーン５００における直前のブロックのハッシュ値に続くべきゼロの数を調節することにより、ノンスを算出する処理の難易度を調節してもよい。
【００５８】
＜ＰＯＷの難易度調整の変形例＞
各監視端末２０の生成部２３は、概ね所定時間間隔毎にブロックチェーン５００にブロックを追加する代わりに、概ね所定報告件数毎にブロックチェーン５００にブロックを追加するようにしてもよい。この場合、各監視端末２０の生成部２３は、例えば、報告の履歴に基づいて、所定件数（例えば、１０件）の報告を各端末１０から受信すると想定される時間程度でＰＯＷの処理が完了するように、ノンスを算出する処理（「ブロックを生成するための計算」の一例）の難易度を調整してもよい。例えば、以前において報告が１０件集まるまでに１時間かかっている場合、次のブロックが追加される時期を１時間後となるように調整する。また、例えば、以前において報告が１０件集まるまでに１分しかかかっていない場合、次のブロックが追加される時期を１分後となるように調整する。
【００５９】
これにより、例えば、スパムが一気に拡大した際は、ブロックが追加されるタイミングを早くすることにより、スパム報告がされてから、当該スパム報告をフィルタリングに利用できるまでの時間を短くすることができる。また、スパムが比較的少ない時期は、ブロックが追加されるタイミングを遅くすることにより、端末１０によるブロックチェーン５００に関する処理負荷を低減できる。
【００６０】
≪フィルタリング処理≫
次に、図７を参照し、図４のステップＳ２の端末１０によるフィルタリング処理について説明する。図７は、フィルタリング処理の一例を示すフローチャートである。
【００６１】
ステップＳ１０１において、判定部１５は、ブロックチェーン５００に基づいて算出された、受信したメールに応じたスコアを取得する。
【００６２】
続いて、判定部１５は、取得したスコアが、第１の閾値よりも大きいか否かを判定する（ステップＳ１０２）。
【００６３】
当該スコアが、第１の閾値よりも大きい場合（ステップＳ１０２でＹＥＳ）、判定部１５は、受信したメールをスパムと判定する（ステップＳ１０３）。
【００６４】
続いて、処理部１６は、受信したメールを、スパムであると表示部１７に表示させ（ステップＳ１０４）、処理を終了する。ここで、表示部１７は、例えば、「メールはスパムとして扱われました。それでも見たい方はこちらからどうぞ」等のメッセージと、ボタン等を表示してもよい。この場合、表示部１７は、ユーザにより当該ボタンが押下されると、当該メールを表示するようにしてもよい。
【００６５】
当該スコアが、第１の閾値よりも大きくない場合（ステップＳ１０２でＮＯ）、判定部１５は、当該スコアが、第２の閾値よりも大きいか否かを判定する（ステップＳ１０５）。ここで、第２の閾値は、第１の閾値よりも小さい値である。
【００６６】
当該スコアが、第２の閾値よりも大きい場合（ステップＳ１０５でＹＥＳ）、判定部１５は、受信したメールを仮スパムと判定する（ステップＳ１０６）。
【００６７】
続いて、処理部１６は、受信したメールを、仮スパムであると表示部１７に表示させ（ステップＳ１０７）、処理を終了する。ここで、処理部１６は、例えば、「(Spam  Warning)」等のメッセージをメールの件名に挿入してもよい。
【００６８】
当該スコアが、第２の閾値よりも大きくない場合（ステップＳ１０５でＮＯ）、判定部１５は、受信したメールを通常のメールであると判定する（ステップＳ１０８）。
【００６９】
続いて、処理部１６は、受信したメールを、通常のメールとして表示部１７に表示させ（ステップＳ１０９）、処理を終了する。
【００７０】
なお、ステップＳ１０４、及びステップＳ１０７において、処理部１６は、受信したメールに対する各報告が含まれる各ブロックの生成順、または生成時期に応じたメッセージを、表示部１７に表示させてもよい。この場合、処理部１６は、例えば、ブロックチェーン５００において、受信したメールに対するスパム報告が、所定時間以内に、所定の閾値以上含まれる場合、「最近発生したスパムのようです。」等のメッセージを件名に付加してもよい。これにより、例えば、新規のスパムであるため、当該スパムのメールを閲覧した場合の悪影響に警戒すべきであることをユーザに知らせることができる。
【００７１】
また、処理部１６は、例えば、ブロックチェーン５００において、受信したメールに対するスパム報告の頻度が、以前と比較して最近の方が所定の閾値以上増加している場合、「最近はスパムとして扱われているようです。」等のメッセージを件名に付加してもよい。これにより、例えば、企業のメールマガジンや広告メール等で、当該メールに含まれる特典や情報の質が低下した等のために、最近はスパムであると報告されることが比較的多くなった場合に、ユーザにその旨を知らせることができる。
【００７２】
≪ブロック生成処理≫
次に、図８を参照し、図４のステップＳ６の監視端末２０によるブロック作成処理について説明する。図８は、ブロック作成処理の一例を示すフローチャートである。
【００７３】
まず、生成部２３は、ブロックチェーン５００における直前のブロックのハッシュ値を算出する（ステップＳ２０１）。
【００７４】
続いて、生成部２３は、当該直前のブロックが生成された後に通信部２６により受信された、各報告を取得する（ステップＳ２０２）。
【００７５】
続いて、生成部２３は、同一ユーザによる同一メールに対する報告を除外する（ステップＳ２０３）。ここで、生成部２３は、ブロックチェーン５００に既に含まれているブロック、または生成中のブロックにおいて、一のユーザによる一のメールに対する報告が既に含まれている場合において、当該一のユーザによる当該一のメールに対する他の報告が受信された場合、当該他の報告を破棄する。
【００７６】
すなわち、生成部２３は、一のユーザによる一のメールに対する報告をブロックに含め、当該ブロックをブロックチェーン５００に追加すると、当該一のユーザによる当該一のメールに対する複数の報告がブロックチェーン５００に含まれることとなる場合、当該報告をブロックに含めないようにする。これにより、同様のメールに対し、同一のユーザが複数回報告を行った場合は、２回目以降の報告は破棄される。
【００７７】
続いて、生成部２３は、当該各報告に含まれる非スパム報告のうち、一のメールに対する非スパム報告の件数を、当該一のメールに対するスパム報告の件数よりも多くする非スパム報告を除外する（ステップＳ２０４）。これにより、ブロックチェーン５００、または当該各報告において、一のメールに対するスパム報告の件数と非スパム報告の件数との差が負の値とならないようにする。
【００７８】
続いて、生成部２３は、ノンスの候補を順次生成し、所定の条件を満たすノンスを探す（ステップＳ２０５）。
【００７９】
続いて、生成部２３は、ノンス、算出したハッシュ値、及びステップＳ２０３、及びステップＳ２０４にて除外されていない各報告を含むブロックを生成する（ステップＳ２０６）。
【００８０】
≪ブロック検証処理≫
次に、図９を参照し、図４のステップＳ８の端末１０、及び監視端末２０によるブロック検証処理について説明する。図９は、ブロック検証処理の一例を示すフローチャートである。以下では端末１０の検証部１４の処理を例として説明するが、監視端末２０の検証部２５の処理も、以下に示す図９の処理と同様でもよい。
【００８１】
ステップＳ３０１において、検証部１４は、受信したブロックに、同一ユーザによる同一メールに対する報告が含まれているか否かを判定する。ここで、検証部１４は、ブロックチェーン５００に既に含まれているブロック、または今回受信したブロックに、一のユーザによる一のメールに対する報告が含まれている場合において、当該今回受信したブロックに、当該一のユーザによる当該一のメールに対する他の報告が含まれている場合、今回受信したブロックを破棄する。
【００８２】
すなわち、検証部１４は、受信したブロックをブロックチェーン５００に追加すると、一のユーザによる一のメールに対する複数の報告がブロックチェーン５００に含まれることとなる場合、当該ブロックを不正なブロックと判定し、当該ブロックを破棄する。これにより、例えば、監視端末２０を運用する悪意のマイナーにより生成された、同様のメールに対し、同一のユーザが複数回報告を行うこととなるブロックは破棄される。
【００８３】
受信したブロックに、同一ユーザによる同一メールに対する報告が含まれている場合（ステップＳ３０１でＹＥＳ）、検証部１４は、当該ブロックを破棄し（ステップＳ３０２）、処理を終了する。これにより、不正なブロックはブロックチェーン５００に追加されない。この場合、次回以降のブロック生成において、当該不正なブロックを送信した監視端末２０以外の監視端末２０が先にノンスを算出すれば、ブロックチェーン５００に新規の正当なブロックが追加されるようになる。
【００８４】
受信したブロックに、同一ユーザによる同一メールに対する報告が含まれていない場合（ステップＳ３０１でＮＯ）、検証部１４は、受信したブロックに、一のメールに対する非スパム報告の件数を、当該一のメールに対するスパム報告の件数よりも多くする非スパム報告が含まれているか否かを判定する（ステップＳ３０３）。
【００８５】
受信したブロックに、一のメールに対する非スパム報告の件数を、当該一のメールに対するスパム報告の件数よりも多くする非スパム報告が含まれている場合（ステップＳ３０３でＹＥＳ）、ステップＳ３０２の処理に進む。
【００８６】
受信したブロックに、一のメールに対する非スパム報告の件数を、当該一のメールに対するスパム報告の件数よりも多くする非スパム報告が含まれていない場合（ステップＳ３０３でＮＯ）、検証部１４は、受信したブロックをブロックチェーン５００に追加する（ステップＳ３０４）。
【００８７】
続いて、検証部１４は、ブロックチェーン５００に基づいて定義ファイル６００を更新し、更新した定義ファイル６００に基づいて、受信したメールに応じたスコアを算出し（ステップＳ３０５）、処理を終了する。なお、監視端末２０の検証部２５は、ステップＳ３０５の処理については行わなくてもよい。
【００８８】
≪スコア算出≫
（算出方式その１）
図９のステップＳ３０５において、検証部１４は、各メールＩＤに係るメールのスコアＳを、以下の式により算出してもよい。
【００８９】
Ｓ  ＝  Ａ／（Ａ＋Ｎ）        ・・・（１）
ここで、Ａは、図６に示す定義ファイルにおける、各メールＩＤに係るメールに対する同意ユーザＩＤの合計数（同意者数）、Ｎは、各メールＩＤに係るメールに対する否定ユーザＩＤの合計数（否定者数）である。
【００９０】
（算出方式その２）
検証部１４は、各メールＩＤに係るメールのスコアＳを、以下の手順により算出してもよい。
【００９１】
まず、定義ファイル６００から、Ａ／（Ａ＋Ｎ）の値が所定の閾値α以下となるメール群Ｍ１を抽出する。
【００９２】
続いて、定義ファイル６００から、Ａ／（Ａ＋Ｎ）の値が所定の閾値β（＞α）以上となるメール群Ｍ２を抽出する。
【００９３】
続いて、報告者ＩＤ毎に、メール群Ｍ１において非スパム報告をした数と、メール群Ｍ２においてスパム報告をした数とを加算した値を、正しく報告した件数として算出する。
【００９４】
続いて、報告者毎の正しく報告した件数を、報告者毎の全報告件数で除算した値を、報告者毎の貢献度ｋｉとする。
【００９５】
続いて、各メールＩＤに係るメールのスコアＳを、以下の式により算出してもよい。
【００９６】
Ｓ  ＝  Σｃｉ／（Σｃｉ＋Σｄｉ）        ・・・（２）
ここで、Σｃｉは、各メールＩＤに係るメールについて、スパム報告をした報告者の貢献度ｋｉを、全ユーザについて合計した値である。また、Σｄｉは、各メールＩＤに係るメールについて、非スパム報告をした報告者の貢献度ｋｉを、全ユーザについて合計した値である。これにより、正しい報告を行ったと推定されるユーザの報告をより反映したスコアを算出できる。
【００９７】
（算出方式その３）
検証部１４は、ブロックチェーン５００の各ブロックに含まれる各報告に、各ブロックの生成順、または生成時期に応じた重みを付加し、当該重みが付加された各報告に基づいて、スコアを算出してもよい。
この場合、検証部１４は、例えば、各ブロックに生成時期の情報が含まれていれば、当該生成時期の情報を用い、各ブロックに生成時期の情報が含まれていなければ、各ブロックの生成順（ブロックチェーン５００における各ブロックの順）を用いるようにしてもよい。そして、検証部１４は、生成順または生成時期が新しい程大きな値の重み係数を、同意ユーザＩＤの数に乗算した後、上述の式（１）等によりスコアを算出してもよい。
【００９８】
これにより、例えば、企業のメールマガジンや広告メール等で、以前はユーザによりスパムであると報告されることが比較的多かったメールが、当該メールに含まれる特典や情報の質が向上した等のために、最近は非スパムであると報告されることが比較的多くなった場合に、比較的早くスパムではないと扱われるようにすることができる。
【００９９】
［第２の実施形態］
次に、第２の実施形態について説明する。第１の実施形態では、端末１０において、ブロックチェーン５００の記憶、及びブロックチェーン５００に基づいたフィルタリング処理を行う例について説明した。第２の実施形態では、サーバ３０にて、ブロックチェーン５００の記憶、及びブロックチェーン５００に基づいたフィルタリング処理を行う例について説明する。第２の実施形態によれば、第１の実施形態の効果に加え、各端末１０における処理負荷を低減することができるという効果を奏する。
【０１００】
なお、第２の実施形態は一部を除いて第１の実施形態と同様であるため、適宜説明を省略する。以下では、第１の実施形態と共通する部分については説明を省略し、異なる部分についてのみ説明する。なお、第２の実施形態に記載の内容は、第１の実施形態にも適用可能である。
【０１０１】
＜機能構成＞
次に、図１０を参照し、第２の実施形態に係る通信システム１の機能構成について説明する。図１０は、第２の実施形態に係る通信システム１の機能ブロック図の一例を示す図である。
【０１０２】
≪端末≫
第２の実施形態に係る端末１０は、受付部１２、表示部１７、及び通信部１８を有する。
【０１０３】
≪サーバ≫
第２の実施形態に係るサーバ３０は、記憶部３１を有する。記憶部３１は、例えば、補助記憶装置等を用いて実現される。記憶部３１は、ブロックチェーン５００、及び定義ファイル６００等のデータを記憶する。
【０１０４】
また、第２の実施形態に係るサーバ３０は、受信部３２、検証部３３、判定部３４、処理部３５、及び通信部３６を有する。これら各部は、サーバ３０にインストールされた１以上のプログラムが、サーバ３０のＣＰＵに実行させる処理により実現される。
【０１０５】
受信部３２は、スパムの報告を含むブロックを、監視端末２０から受信する。
【０１０６】
検証部３３は、受信部３２により受信されたブロックの正当性を検証する。検証部３３は、当該検証に成功したブロックを、ブロックチェーン５００に追加して記憶部３１に記憶させる。
【０１０７】
判定部３４は、ブロックチェーン５００に基づいて、受信されたメールがスパムであるか否かを判定する。
【０１０８】
処理部３５は、判定部３４による判定結果に基づいて、受信されたメールのフィルタリング処理を行う。
【０１０９】
＜処理＞
次に、図１１を参照し、第２の実施形態に係る通信システム１の処理について説明する。図１１は、第２の実施形態に係る通信システム１の処理の一例を示すシーケンス図である。
【０１１０】
ステップＳ５１において、サーバ３０の通信部３６は、メールを他のサーバ３０または端末１０から受信する。
【０１１１】
続いて、サーバ３０の判定部３４、及び処理部３５は、ブロックチェーン５００に基づいて、受信したメールをフィルタリングする（ステップＳ５２）。
【０１１２】
続いて、サーバ３０の通信部３６は、フィルタリングしたメールを端末１０に送信する（ステップＳ５３）。ここで、フィルタリングしたメールには、例えば、件名等に、スコアに応じたメッセージ等が追加されている。
【０１１３】
続いて、端末１０の表示部１７は、フィルタリングされたメールを画面に表示する（ステップＳ５４）。ここで、当該メールは、ユーザにより閲覧され、スパムであるか否かを判断される。
【０１１４】
続いて、端末１０の受付部１２は、ユーザから、スパム報告、または非スパム報告の操作を受け付ける（ステップＳ５５）。
【０１１５】
続いて、端末１０の通信部１８は、ユーザに操作に応じた報告を、各監視端末２０−１、２０−２、・・・に送信する（ステップＳ５６−１、ステップＳ５６−２）。
【０１１６】
続いて、各監視端末２０のうちの一の監視端末２０−１の生成部２３は、他の監視端末２０よりも先にブロックの生成を完了する（ステップＳ５７）。
【０１１７】
続いて、ブロックの生成を最初に完了した監視端末２０−１の送信部２４は、生成したブロックを、各端末１０、及び他の監視端末２０−２、・・・にそれぞれ送信する（ステップＳ５８−１、５８−２）。
【０１１８】
続いて、各端末１０の検証部１４、及びブロックの生成を最初に完了した監視端末２０−１以外の監視端末２０−２、・・・の検証部２５は、受信したブロックの正当性を検証する（ステップＳ５９−１、５９−２）。
【０１１９】
続いて、各端末１０の検証部１４、及び各監視端末２０の検証部２５は、正当性の検証に成功した場合、当該ブロックをブロックチェーン５００に追加する（ステップＳ６０−１、６０−２、６０−３）。
【０１２０】
続いて、各監視端末２０の生成部２３は、当該ブロックの次にブロックチェーン５００に追加するための、次のブロックの生成を開始する（ステップＳ６１−１、６１−２）。
【０１２１】
従来、スパムのリストは、例えば、企業等がメールを分析して作成するため、スパムの流通が開始されてから、当該リストの提供が開始されるまでに、比較的時間がかかるという問題がある。また、特定の企業により生成されたリストを用いる場合、特定のスパムについて、スパムではないと評価されている等の可能性がある。
【０１２２】
上述した実施形態によれば、ブロックチェーンにより生成されたリストに基づき、受信した通信データがスパムであるか否かを判定する。これにより、スパム判定の公平性が担保され、スパムのリストの精度をより向上させることができる。
【０１２３】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１２４】
例えば、端末１０、監視端末２０、及びサーバ３０の各機能部は、例えば１以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。また、端末１０の各機能のうちの少なくとも一部を、監視端末２０、またはサーバ３０にて有する構成としてもよい。
【０１２５】
端末１０、監視端末２０、及びサーバ３０は、「情報処理装置」の一例である。監視端末２０は、「外部装置」の一例である。
【０１２６】
以上の説明に関し、更に以下の項を開示する。
（付記１）
通信データに関するスパムの報告を受信する外部装置によって生成された、１以上のスパムの報告を含むブロックを受信する受信部と、
前記受信部により以前に受信された各ブロックにより形成されるブロックチェーンに基づいて、前記受信部により今回受信されたブロックの正当性を検証し、当該ブロックが正当である場合、当該ブロックを前記ブロックチェーンに追加する検証部と、
通信データを受信すると、前記ブロックチェーンに基づき、当該通信データがスパムであるか否かを判定する判定部と、
を有する情報処理装置。
（付記２）
前記検証部は、前記受信部により今回受信されたブロックに含まれる報告と、前記ブロックチェーンに含まれる報告とが、同一の報告者による同一の通信データに対する報告である場合、当該ブロックを不正であると判定する、
付記１に記載の情報処理装置。
（付記３）
前記判定部は、前記ブロックチェーンの各ブロックに含まれる各報告に、相対的に新しいブロックに対してより大きな値となる重みを付加し、前記重みが付加された各報告に基づいて、受信した通信データがスパムであるか否かを判定する、
付記１または２に記載の情報処理装置。
（付記４）
前記判定部により、受信した通信データがスパムであると判定された場合、当該通信データに対する報告が含まれる各ブロックの生成時期に応じたメッセージを表示する表示部を有する、
付記１乃至３のいずれか一項に記載の情報処理装置。
（付記５）
情報処理装置が、
通信データに関するスパムの報告を受信する外部装置によって生成された、１以上のスパムの報告を含むブロックを受信し、
以前に受信された各ブロックにより形成されるブロックチェーンに基づいて、今回受信されたブロックの正当性を検証し、
当該ブロックが正当である場合、当該ブロックを前記ブロックチェーンに追加し、
通信データを受信すると、前記ブロックチェーンに基づき、当該通信データがスパムであるか否かを判定する、
処理を実行する情報処理方法。
（付記６）
コンピュータに、
通信データに関するスパムの報告を受信する外部装置によって生成された、１以上のスパムの報告を含むブロックを受信し、
以前に受信された各ブロックにより形成されるブロックチェーンに基づいて、今回受信されたブロックの正当性を検証し、
当該ブロックが正当である場合、当該ブロックを前記ブロックチェーンに追加し、
通信データを受信すると、前記ブロックチェーンに基づき、当該通信データがスパムであるか否かを判定する、
処理を実行させるプログラム。
（付記７）
通信データに関するスパムの報告を受信する受信部と、
前記受信部により受信されたスパムの報告の件数が閾値以上となる時間間隔を算出し、前記受信部により受信された１以上のスパムの報告を含むブロックを生成するための計算の難易度を、前記時間間隔で前記計算が完了するように調整し、前記ブロックを生成する生成部と、
生成された前記ブロックを送信する送信部と、
を有する情報処理装置。
（付記８）
情報処理装置が、
通信データに関するスパムの報告を受信し、
前記受信部により受信されたスパムの報告の件数が閾値以上となる時間間隔を算出し、
前記受信部により受信された１以上のスパムの報告を含むブロックを生成するための計算の難易度を、前記時間間隔で前記計算が完了するように調整し、
前記ブロックを生成し、
生成された前記ブロックを送信する、
処理を実行する情報処理方法。
（付記９）
コンピュータに、
通信データに関するスパムの報告を受信し、
前記受信部により受信されたスパムの報告の件数が閾値以上となる時間間隔を算出し、
前記受信部により受信された１以上のスパムの報告を含むブロックを生成するための計算の難易度を、前記時間間隔で前記計算が完了するように調整し、
前記ブロックを生成し、
生成された前記ブロックを送信する、
処理を実行させるプログラム。
【符号の説明】
【０１２７】
１  通信システム
１０  端末
１１  記憶部
１２  受付部
１３  受信部
１４  検証部
１５  判定部
１６  処理部
１７  表示部
１８  通信部
２０  監視端末
２１  記憶部
２２  受信部
２３  生成部
２４  送信部
２５  検証部
２６  通信部
３０  サーバ
３１  記憶部
３２  受信部
３３  検証部
３４  判定部
３５  処理部
３６  通信部
５００  ブロックチェーン
６００  定義ファイル
【図１】
2019036032.tif 000003
【図２】
2019036032.tif 000004
【図３】
2019036032.tif 000005
【図４】
2019036032.tif 000006
【図５】
2019036032.tif 000007
【図６】
2019036032.tif 000008
【図７】
2019036032.tif 000009
【図８】
2019036032.tif 000010
【図９】
2019036032.tif 000011
【図１０】
2019036032.tif 000012
【図１１】
2019036032.tif 000013