(57)【要約】  データ追跡部８０は、データの流通履歴を記憶する流通履歴記憶部８１と、追跡するデータの識別に用いられる追跡タグを付与する追跡タグ付与部８２と、追跡タグを付与したデータをコンポーネント９０に送信する第一送信部８３と、追跡タグが付与されたデータの流通履歴を流通履歴記憶部８１に登録する履歴登録部８４とを含む。コンポーネント９０は、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを、他のコンポーネント９０またはデータ追跡部８０に送信する第二送信部９１を含む。履歴登録部８４は、同一の追跡タグで紐づけられるデータの追跡結果をそのデータの流通履歴として流通履歴記憶部８１に登録する。
2018216205.tif 000002
【特許請求の範囲】
【請求項１】
データを追跡するデータ追跡部と、
データを処理する１以上のコンポーネントとを備え、
前記データ追跡部は、
前記データの流通履歴を記憶する流通履歴記憶部と、
追跡するデータの識別に用いられる追跡タグを付与する追跡タグ付与部と、
前記追跡タグを付与したデータを前記コンポーネントに送信する第一送信部と、
前記追跡タグが付与されたデータの流通履歴を前記流通履歴記憶部に登録する履歴登録部とを含み、
前記コンポーネントは、
受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを、他の前記コンポーネントまたは前記データ追跡部に送信する第二送信部を含み、
前記履歴登録部は、同一の追跡タグで紐づけられるデータの追跡結果を当該データの流通履歴として前記流通履歴記憶部に登録する
ことを特徴とする流通履歴管理システム。
【請求項２】
コンポーネントは、自コンポーネントによる操作が行われた証拠を示す署名をデータに付与する署名付与部を備え、
第二送信部は、追跡タグおよび前記署名が付与されたデータを、他のコンポーネントまたはデータ追跡部に送信する
請求項１記載の流通履歴管理システム。
【請求項３】
データ追跡部の第一送信部は、追跡タグが付与された第一のデータをコンポーネントに送信し、
コンポーネントは、
受信した前記第一のデータを更新する第一処理部を含み、
前記コンポーネントの第二送信部は、更新後の第一のデータに前記追跡タグを付与してデータ追跡部に送信し、
データ追跡部の履歴登録部は、第一送信部により送信された第一のデータと前記第二送信部により送信された更新後の第一データとを、付与された同一の追跡タグにより紐づけた流通履歴を生成する
請求項１または請求項２記載の流通履歴管理システム。
【請求項４】
データ追跡部の第一送信部は、追跡タグが付与された第一のデータをコンポーネントに送信し、
コンポーネントは、
受信した前記第一のデータに基づいて第二のデータを生成する第二処理部を含み、
前記コンポーネントの第二送信部は、生成された第二のデータに前記追跡タグを付与してデータ追跡部に送信し、
データ追跡部の履歴登録部は、第一送信部により送信された第一のデータと前記第二送信部により送信された前記第二のデータとを、付与された同一の追跡タグにより紐づけた流通履歴を生成する
請求項１または請求項２記載の流通履歴管理システム。
【請求項５】
データ追跡部の第一送信部は、第一の追跡タグが付与された第三のデータおよび第二の追跡タグが付与された第四のデータをコンポーネントに送信し、
コンポーネントは、
受信した前記第三のデータおよび第四のデータを結合して第五のデータを生成する第三処理部を含み、
前記コンポーネントの第二送信部は、前記第三処理部が結合した第五のデータに前記第一の追跡タグと前記第二の追跡タグの両方の追跡タグを付与してデータ追跡部に送信し、
データ追跡部の履歴登録部は、前記第三のデータと前記第五のデータとを、当該第五のデータに付与された追跡タグに含まれる同一の追跡タグにより紐づけた流通履歴を生成し、前記第四のデータと前記第五のデータとを、当該第五のデータに付与された追跡タグに含まれる同一の追跡タグにより紐づけた流通履歴を生成する
請求項１または請求項２記載の流通履歴管理システム。
【請求項６】
データ追跡部の第一送信部は、第一の追跡タグが付与されたデータおよび当該データと同一の内容のデータに第二の追跡タグが付与されたデータを異なるコンポーネントにそれぞれ送信し、
第一のコンポーネントの第二送信部は、受信したデータに付与された前記第一の追跡タグを付与したデータを、データ追跡部に送信し、
第二のコンポーネントの第二送信部は、受信したデータに付与された前記第二の追跡タグを付与したデータを、データ追跡部に送信し、
データ追跡部の履歴登録部は、前記第一の追跡タグで紐づけられるデータの追跡結果を当該データの流通履歴として流通履歴記憶部に登録し、前記第二の追跡タグで紐づけられるデータの追跡結果を当該データの流通履歴として流通履歴記憶部に登録する
請求項１または請求項２記載の流通履歴管理システム。
【請求項７】
データの流通履歴を管理する流通履歴管理装置であって、
データの流通履歴を記憶する流通履歴記憶部と、
追跡するデータの識別に用いられる追跡タグを付与する追跡タグ付与部と、
前記追跡タグを付与したデータを、当該データを処理するコンポーネントに送信する第一送信部と、
前記追跡タグが付与されたデータの流通履歴を前記流通履歴記憶部に登録する履歴登録部とを備え、
前記履歴登録部は、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを他の前記コンポーネントまたは前記流通履歴管理装置に送信する前記コンポーネントから当該データを受信し、同一の追跡タグで紐づけられるデータの追跡結果を当該データの流通履歴として前記流通履歴記憶部に登録する
ことを特徴とする流通履歴管理装置。
【請求項８】
履歴登録部は、自コンポーネントによる操作が行われた証拠を示す署名をデータに付与して送信するコンポーネントからデータを受信して、当該データの流通履歴を流通履歴記憶部に登録する
請求項７記載の流通履歴管理装置。
【請求項９】
データを追跡するデータ追跡部が、追跡するデータの識別に用いられる追跡タグを付与し、
前記データ追跡部が、データを処理するコンポーネントに前記追跡タグが付与されたデータを送信し、
前記コンポーネントが、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを、他の前記コンポーネントまたは前記データ追跡部に送信し、
前記データ追跡部が、前記データの流通履歴を記憶する流通履歴記憶部に、前記追跡タグが付与されたデータの流通履歴を登録し、
前記データの流通履歴を登録する際、前記データ追跡部が、同一の追跡タグで紐づけられるデータの追跡結果を当該データの流通履歴として前記流通履歴記憶部に登録する
ことを特徴とする流通履歴管理方法。
【請求項１０】
コンポーネントが、自コンポーネントによる操作が行われた証拠を示す署名をデータに付与し、
前記コンポーネントが、追跡タグおよび前記署名が付与されたデータを、他のコンポーネントまたはデータ追跡部に送信する
請求項９記載の流通履歴管理方法。
【請求項１１】
追跡するデータの識別に用いられる追跡タグを付与し、
前記追跡タグが付与されたデータを、当該データを処理するコンポーネントに送信し、
前記コンポーネントから、前記追跡タグと同一の追跡タグが付与されたデータを受信し、
データの流通履歴を記憶する流通履歴記憶部に、前記追跡タグが付与されたデータの流通履歴を登録し、
前記データの流通履歴を登録する際、同一の追跡タグで紐づけられるデータの追跡結果を当該データの流通履歴として前記流通履歴記憶部に登録する
ことを特徴とする流通履歴管理方法。
【請求項１２】
自コンポーネントによる操作が行われた証拠を示す署名をデータに付与して送信するコンポーネントからデータを受信し、
受信したデータの流通履歴を流通履歴記憶部に登録する
請求項１１記載の流通履歴管理装置。
【請求項１３】
コンピュータに、
追跡するデータの識別に用いられる追跡タグを付与する追跡タグ付与処理、
前記追跡タグを付与したデータを、当該データを処理するコンポーネントに送信する第一送信処理、および、
データの流通履歴を記憶する流通履歴記憶部に、前記追跡タグが付与されたデータの流通履歴を登録する履歴登録処理を実行させ、
前記履歴登録処理で、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを他の前記コンポーネントまたは前記データ追跡部に送信する前記コンポーネントから当該データを受信させ、同一の追跡タグで紐づけられるデータの追跡結果を当該データの流通履歴として前記流通履歴記憶部に登録させる
ための流通履歴管理プログラム。
【請求項１４】
コンピュータに、
履歴登録処理で、自コンポーネントによる操作が行われた証拠を示す署名をデータに付与して送信するコンポーネントからデータを受信させて、当該データの流通履歴を流通履歴記憶部に登録させる
請求項１３記載の流通履歴管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの流通履歴を管理する流通履歴管理システム、流通履歴管理装置、流通履歴管理方法および流通履歴管理プログラムに関する。
【背景技術】
【０００２】
通信ネットワークを介した多くのシステムでは、データの授受により多種多様な処理が行われる。例えば、スマートシティなどのような都市システムでは、様々なモノが生成した様々なデータに対して、様々な処理が実施される。また、ＩｏＴ（Internet of Things）プラットフォームでは、様々な「モノ（物）」がインターネットに接続され、データの授受により様々な制御が行われる。【０００３】
各種データを用いて制御処理等が行われるような環境では、データの履歴を管理することが必要不可欠である。例えば、特許文献１には、ＩｏＴネットワークがより情報中心になり、ＩｏＴメッセージがより高レベルの形態の情報を含み得ることが記載されている。また、特許文献１には、データが生じた場所等のコンテキスト情報をこのメッセージが含み、コンテキスト情報がネットワーク内の他のエンティティまたはサービス（例えば、コンテキストブローカサービス）によって監視され得ることも記載されている。【０００４】
また、特許文献２には、ソフトウェアの障害や設定の誤りにもとづく不正動作がなされることを防止する不正アクセス防止システムが記載されている。特許文献２に記載されたシステムは、操作仲介部によって仲介された操作に対応するイベント情報を生成し、生成したイベント情報が示す操作の実行の可否を判定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１６−５２４８４４号公報
【特許文献２】特開２００４−２８７８１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば、マイナンバーに関連するようなデータは、データの流通履歴そのものを管理出来ることが好ましい。しかし、特許文献１には、コンテキスト情報を監視することは記載されているが、データそのものの流通履歴を監視する方法については記載されていない。また、特許文献２に記載されたシステムでは、操作に対応するイベント情報は生成される。しかし、特許文献２には、そのような操作に用いられるデータそのものの履歴を管理することについては記載されていない。【０００７】
そこで、本発明は、データの流通履歴を適切に管理できる流通履歴管理システム、流通履歴管理装置、流通履歴管理方法および流通履歴管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明による流通履歴管理システムは、データを追跡するデータ追跡部と、データを処理する１以上のコンポーネントとを備え、データ追跡部が、データの流通履歴を記憶する流通履歴記憶部と、追跡するデータの識別に用いられる追跡タグを付与する追跡タグ付与部と、追跡タグを付与したデータをコンポーネントに送信する第一送信部と、追跡タグが付与されたデータの流通履歴を流通履歴記憶部に登録する履歴登録部とを含み、コンポーネントが、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを、他のコンポーネントまたはデータ追跡部に送信する第二送信部を含み、履歴登録部が、同一の追跡タグで紐づけられるデータの追跡結果をそのデータの流通履歴として流通履歴記憶部に登録することを特徴とする。【０００９】
本発明による流通履歴管理装置は、データの流通履歴を管理する流通履歴管理装置であって、データの流通履歴を記憶する流通履歴記憶部と、追跡するデータの識別に用いられる追跡タグを付与する追跡タグ付与部と、追跡タグを付与したデータを、データを処理するコンポーネントに送信する第一送信部と、追跡タグが付与されたデータの流通履歴を流通履歴記憶部に登録する履歴登録部とを備え、履歴登録部が、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを他のコンポーネントまたは流通履歴管理装置に送信するコンポーネントからそのデータを受信し、同一の追跡タグで紐づけられるデータの追跡結果をそのデータの流通履歴として流通履歴記憶部に登録することを特徴とする。【００１０】
本発明による流通履歴管理方法は、データを追跡するデータ追跡部が、追跡するデータの識別に用いられる追跡タグを付与し、データ追跡部が、データを処理するコンポーネントに追跡タグが付与されたデータを送信し、コンポーネントが、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを、他のコンポーネントまたはデータ追跡部に送信し、データ追跡部が、データの流通履歴を記憶する流通履歴記憶部に、追跡タグが付与されたデータの流通履歴を登録し、データの流通履歴を登録する際、データ追跡部が、同一の追跡タグで紐づけられるデータの追跡結果をそのデータの流通履歴として流通履歴記憶部に登録することを特徴とする。【００１１】
本発明による他の流通履歴管理方法は、追跡するデータの識別に用いられる追跡タグを付与し、追跡タグが付与されたデータを、そのデータを処理するコンポーネントに送信し、コンポーネントから、追跡タグと同一の追跡タグが付与されたデータを受信し、データの流通履歴を記憶する流通履歴記憶部に、追跡タグが付与されたデータの流通履歴を登録し、データの流通履歴を登録する際、同一の追跡タグで紐づけられるデータの追跡結果をそのデータの流通履歴として流通履歴記憶部に登録することを特徴とする。【００１２】
本発明による流通履歴管理プログラムは、コンピュータに、追跡するデータの識別に用いられる追跡タグを付与する追跡タグ付与処理、追跡タグを付与したデータを、そのデータを処理するコンポーネントに送信する第一送信処理、および、データの流通履歴を記憶する流通履歴記憶部に、追跡タグが付与されたデータの流通履歴を登録する履歴登録処理を実行させ、履歴登録処理で、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを他のコンポーネントまたは前記データ追跡部に送信するコンポーネントからそのデータを受信させ、同一の追跡タグで紐づけられるデータの追跡結果をそのデータの流通履歴として流通履歴記憶部に登録させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、データの流通履歴を適切に管理できる。
【図面の簡単な説明】
【００１４】
【図１】本発明による流通履歴管理システムの第１の実施形態の構成例を示すブロック図である。
【図２】データの流れの例を示す説明図である。
【図３】データの流れの他の例を示す説明図である。
【図４】追跡タグを付与したデータの流れの例を示す説明図である。
【図５】追跡タグを付与したデータの流れの例を示す説明図である。
【図６】追跡タグを付与したデータの流れの例を示す説明図である。
【図７】追跡タグを付与したデータの流れの例を示す説明図である。
【図８】追跡タグを付与したデータの流れの例を示す説明図である。
【図９】第１の実施形態の流通履歴管理システムの動作例を示すフローチャートである。
【図１０】データの流れの例を示す説明図である。
【図１１】データの流れの例を示す説明図である。
【図１２】本発明による流通履歴管理システムの第２の実施形態の構成例を示すブロック図である。
【図１３】デジタル署名を付与する動作の例を示す説明図である。
【図１４】ＴＥＥを用いて署名を付与する動作の例を示す説明図である。
【図１５】コンポーネント間でデータを渡す場合の動作例を示す説明図である。
【図１６】ＴＥＥを用いて署名を付与する動作の他の例を示す説明図である。
【図１７】本発明による流通履歴管理システムの概要を示すブロック図である。
【図１８】本発明による流通履歴管理装置の概要を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を図面を参照して説明する。本実施形態では、複数のコンポーネントが連携するＩｏＴプラットフォームにおいて、データの流れを追跡する状況を想定する。
【００１６】
実施形態１．
図１は、本発明による流通履歴管理システムの第１の実施形態の構成例を示すブロック図である。本実施形態の流通履歴管理システム１００は、データ追跡部１０と、コンポーネント２０とを備えている。
【００１７】
データ追跡部１０は、データを追跡する機能を有する。例えば、ＩｏＴプラットフォームの一例であるＦＩＷＡＲＥ（Ｆｕｔｕｒｅ  Ｉｎｔｅｒｎｅｔ  ＷＡＲＥ）では、Ｃｏｎｔｅｘｔ  Ｂｒｏｋｅｒが、データ流通の中心になる。本実施形態のデータ追跡部１０は、例えば、Ｃｏｎｔｅｘｔ  Ｂｒｏｋｅｒの一部として実現されてもよい。他にも、データ追跡部１０は、ルータなどの中継装置で実現されてもよい。
【００１８】
コンポーネント２０は、データを処理するシステムの構成要素である。具体的には、コンポーネント２０は、データの発生源や、データが経由するアプリケーション、データのストア先などである。コンポーネント２０は、データ追跡部１０と同じ計算機上で動作してもよいし、同じ計算機上の仮想化された計算機上で動作してもよい。この場合、コンポーネント２０とデータ追跡部１０は、プロセス間通信や共有メモリ、ファイル等を用いて通信を行う。また、コンポーネント２０は、データ追跡部１０と異なる計算機上で動作してもよい。この場合、コンポーネント２０とデータ追跡部１０は、ネットワークを通して通信を行う。
【００１９】
まず初めに、ＩｏＴプラットフォームでのデータの流れのパターンを説明する。図２は、データの流れの例を示す説明図である。図２に例示するデータの流れは、既存データを上書きする流れを示すパターンである。
【００２０】
まず、図２（ａ）に例示するデータの流れについて説明する。以下、このデータの流れのパターンを、第１パターンと記す。デバイス３０がデータ追跡部１０にデータを送信すると、データ追跡部１０は、そのデータを受信して一時的にメモリ４０に格納する。なお、図２（ａ）に例示するメモリ４０の“Ｄａｔａ”は、例えば、格納するフォルダ名や、データの保存場所を表す情報である。保存場所を表す情報として、データベースのカラム名や、ＨＴＴＰで用いられるリソースの識別子であるＵＲＬ（Uniform Resource Locator）などが用いられてもよい。
【００２１】
データ追跡部１０は、コンポーネント２０にデータを送信すると、コンポーネント２０は、何らかの処理を行い、そのデータをデータ追跡部１０に返信する。データ追跡部１０は、返信されたデータでメモリ４０に記憶された元のデータを上書きする。その後、データ追跡部１０は、必要に応じて、そのデータを他のコンポーネントに送信する。
【００２２】
なお、本実施形態では、デバイス３０が送信するデータには、送信元のＩＤおよびデータを一意に識別するユニークＩＤが付与され、デバイス３０から送信されたデータの流れが特定できるようになっている。以下の説明では、データに付与された識別情報をデータ識別子と記すこともある。
【００２３】
次に、図２（ｂ）に例示するデータの流れについて説明する。以下、このデータの流れのパターンを、第２パターンと記す。図２（ａ）に示すデータの流れと同様、デバイス３０がデータ追跡部１０にデータを送信すると、データ追跡部１０は、そのデータを受信して一時的にメモリ４０に格納する。
【００２４】
その後、データ追跡部１０は、コンポーネント２０ａにデータを送信すると、コンポーネント２０ａは、何らかの処理を行い、そのデータをデータ追跡部１０に返信する。データ追跡部１０は、返信されたデータでメモリ４０に記憶された元のデータを上書きする。さらに、データ追跡部１０は、コンポーネント２０ｂにデータを送信し、コンポーネント２０ｂは、何らかの処理を行い、そのデータをデータ追跡部１０に返信する。データ追跡部１０は、返信されたデータでメモリ４０に記憶された元のデータを上書きする。ここで行われるデータの上書きには、単純にデータの内容を差し替える処理だけでなく、データの内容を追加する処理や、削除する処理が含まれていてもよい。
【００２５】
図３は、データの流れの他の例を示す説明図である。図３に例示するデータの流れは、既存データから新しいデータが生成される流れを示すパターンである。
【００２６】
まず、図３（ａ）に例示するデータの流れについて説明する。以下、このデータの流れのパターンを、第３パターンと記す。図２（ａ）に示すデータの流れと同様、デバイス３０がデータ追跡部１０にデータを送信すると、データ追跡部１０は、そのデータを受信して一時的にメモリ４０ａに格納する。
【００２７】
その後、データ追跡部１０は、コンポーネント２０にデータを送信すると、コンポーネント２０は、受信したデータに基づく新たなデータを生成し、生成したデータをデータ追跡部１０に送信する。データ追跡部１０は、送信された新たなデータをメモリ４０ｂに記憶する。その後、データ追跡部１０は、必要に応じて、新たなデータを他のコンポーネントに送信する。
【００２８】
次に、図３（ｂ）に例示するデータの流れについて説明する。以下、このデータの流れのパターンを、第４パターンと記す。図３（ａ）に示すデータの流れと同様、デバイス３０がデータ追跡部１０にデータを送信すると、データ追跡部１０は、そのデータを受信して一時的にメモリ４０ａに格納する。
【００２９】
その後、データ追跡部１０は、コンポーネント２０ａにデータを送信すると、コンポーネント２０ａは、受信したデータに基づく新たなデータを生成し、生成したデータをデータ追跡部１０に送信する。データ追跡部１０は、送信された新たなデータをメモリ４０ｂに記憶する。さらに、データ追跡部１０は、コンポーネント２０ｂにデータを送信し、コンポーネント２０ｂは、受信したデータに基づく新たなデータを生成し、生成したデータをデータ追跡部１０に送信する。データ追跡部１０は、送信された新たなデータをメモリ４０ｃに記憶する。その後、データ追跡部１０は、必要に応じて、新たなデータを他のコンポーネントに送信する。
【００３０】
次に、図３（ｃ）に例示するデータの流れについて説明する。以下、このデータの流れのパターンを、第５パターンと記す。図３（ａ）に示すデータの流れと同様、デバイス３０がデータ追跡部１０にデータを送信すると、データ追跡部１０は、そのデータを受信して一時的にメモリ４０ａに格納する。
【００３１】
その後、データ追跡部１０は、コンポーネント２０ａにデータを送信すると、コンポーネント２０ａは、受信したデータに基づく新たなデータを生成し、生成したデータをコンポーネント２０ｂに送信する。コンポーネント２０ｂは、何らかの処理を行い、そのデータをデータ追跡部１０に送信する。
【００３２】
データ追跡部１０は、送信された新たなデータをメモリ４０ｂに記憶する。その後、データ追跡部１０は、必要に応じて、新たなデータを他のコンポーネントに送信する。なお、コンポーネント２０ａがデータ追跡部１０から送信されたデータに対して何らかの処理を行って、コンポーネント２０ｂにそのデータを送信し、コンポーネント２０ｂが受信したデータに基づく新たなデータを生成してもよい。
【００３３】
すなわち、図３（ｂ）に例示するデータの流れと、図３（ｃ）に例示するデータの流れとの違いは、コンポーネント間で直接データの送信が行われるか否かである。
【００３４】
図２および図３に例示するパターンがデータの流れのパターンとして想定されるため、以下では、このパターンに該当するデータの流れの履歴を管理する方法を具体的に説明する。
【００３５】
図１に例示するように、データ追跡部１０は、流通履歴記憶部１１と、追跡タグ付与部１２と、第一送信部１３と、履歴登録部１４とを含む。
【００３６】
流通履歴記憶部１１は、データの流通履歴を記憶する。流通履歴記憶部１１は、例えば、上述するデータ識別子で識別されるデータごとに流通履歴を記憶する。本実施形態においてデータの流通履歴とは、あるデータに紐づく一連の履歴であり、そのデータの履歴そのものだけではなく、そのデータを発生させるもとになったデータの履歴及びそのデータに基づいて発生したデータの履歴も含む。すなわち、本実施形態では、離合集散するデータをまとめて一つの流通履歴として管理する。
【００３７】
離合集散の例として、複数のデータから別のデータが生成される場合や、別々のアプリケーションへデータを送信する場合などが挙げられる。また、流通履歴には、具体的には、データの生成時刻、データを生成したユーザ・デバイス・システム（コンポーネント）、データのフォワード情報などが含まれる。なお、流通履歴の具体例については後述される。
【００３８】
追跡タグ付与部１２は、追跡するデータの識別に用いられる追跡タグを付与する。本実施形態では、追跡タグを用いてデータの流通履歴を管理する。追跡タグは、他のデータと重複しない情報であれば、その内容は任意であり、例えば、十分に桁数の多い乱数値などが挙げられる。
【００３９】
第一送信部１３は、追跡タグが付与されたデータをコンポーネント２０に送信する。
【００４０】
履歴登録部１４は、追跡タグが付与されたデータの流通履歴を流通履歴記憶部１１に登録する。具体的には、履歴登録部１４は、コンポーネント２０からのデータを受信すると、同一の追跡タグで紐づけられるデータの追跡結果を、そのデータの流通履歴として流通履歴記憶部１１に登録する。
【００４１】
また、図１に例示するように、コンポーネント２０は、第二送信部２１と、処理部２２とを含む。第二送信部２１は、他のコンポーネントまたはデータ追跡部１０に、追跡タグが付与されたデータを送信する。具体的には、第二送信部２１は、コンポーネント２０によって処理が行われたデータに対して、受信したデータに付与された追跡タグと同じ追跡タグを付与して送信する。
【００４２】
処理部２２は、受信したデータに対する各種処理を行う。処理部２２は、受信したデータを更新する処理を行ってもよく、受信したデータに基づいて別のデータを生成してもよい。また、処理部２２は、データに対する明示的な変更処理を行う必要はなく、他の装置へデータを中継する処理を行ってもよい。すなわち、処理部２２が、行う更新処理には、データを一時的に保存して他の装置にそのデータを送信する処理も含まれる。
【００４３】
以下、図２および図３に例示したデータの流れを示す第１パターンから第５パターンの具体的な動作を説明する。図４から図８は、追跡タグを付与したデータの流れの例を示す説明図である。
【００４４】
図４は、第１パターンに対応するデータの流れの例を示す。データ追跡部１０がデバイス３０からデータＤ１を受信すると、追跡タグ付与部１２は、受信したデータＤ１に追跡タグＴ１１を付与する。また、履歴登録部１４は、追跡タグＴ１１が付与されたデータＤ１の流通履歴を流通履歴記憶部１１に登録する。ここでは、データＤ１が、デバイス３０から送信されてメモリ４０の“Ｄａｔａ１”に一時的に記憶されることから、履歴登録部１４は、データＤ１についての流通履歴「デバイス３０→Ｄａｔａ１」を生成して、流通履歴記憶部１１に登録する。
【００４５】
第一送信部１３は、追跡タグＴ１１が付与されたデータＤ１をコンポーネント２０に送信する。その後、コンポーネント２０の処理部２２が、受信したデータＤ１に対する更新処理を行う。第二送信部２１は、受信したデータに付与された追跡タグと同じ追跡タグＴ１１をコンポーネント２０によって処理が行われたデータＤ１に付与し、データ追跡部１０に送信する。なお、第二送信部２１は、送信元であるコンポーネント２０を識別する情報とともにデータＤ１を送信してもよい。
【００４６】
データ追跡部１０がデータＤ１を受信すると、履歴登録部１４は、受信したデータＤ１の流通履歴を流通履歴記憶部１１に登録する。具体的には、履歴登録部１４は、コンポーネント２０から追跡タグＴ１１が付与されたデータＤ１を受信すると、データＤ１の追跡結果を、同一の追跡タグＴ１１で紐づけられるデータの流通履歴として流通履歴記憶部１１に登録する。
【００４７】
ここでは、データＤ１が、コンポーネント２０ａに送信され、返信されてメモリ４０の“Ｄａｔａ１”に一時的に記憶されることから、履歴登録部１４は、データＤ１についての流通履歴「コンポーネント２０→Ｄａｔａ１」を生成する。そして、データＤ１には、追跡タグＴ１１が付与されていることから、履歴登録部１４は、同一の追跡タグＴ１１で紐づけたデータＤ１の流通履歴「デバイス３０→Ｄａｔａ１→コンポーネント２０→Ｄａｔａ１」を登録する。履歴登録部１４は、例えば、図４に例示する流通履歴Ｈ１１を流通履歴記憶部１１に登録してもよい。
【００４８】
図５は、第２パターンに対応するデータの流れの例を示す。図４に示す第１パターンと同様に、データ追跡部１０がデバイス３０からデータＤ１を受信すると、追跡タグ付与部１２は、受信したデータＤ１に追跡タグＴ１１を付与する。また、履歴登録部１４は、追跡タグＴ１１が付与されたデータＤ１の流通履歴「デバイス３０→Ｄａｔａ１」を流通履歴記憶部１１に登録する。
【００４９】
第一送信部１３は、追跡タグＴ１１が付与されたデータＤ１をコンポーネント２０ａに送信する。その後、コンポーネント２０ａの処理部２２が、受信したデータＤ１に対する更新処理を行う。第二送信部２１は、受信したデータに付与された追跡タグと同じ追跡タグＴ１１をコンポーネント２０ａによって処理が行われたデータＤ１に付与し、データ追跡部１０に送信する。
【００５０】
データ追跡部１０がコンポーネント２０ａから追跡タグＴ１１が付与されたデータＤ１を受信すると、履歴登録部１４は、同一の追跡タグＴ１１で紐づけられるデータＤ１の流通履歴「デバイス３０→Ｄａｔａ１→コンポーネント２０ａ→Ｄａｔａ１」を流通履歴記憶部１１に登録する。
【００５１】
さらに、第一送信部１３は、追跡タグＴ１１が付与されたデータＤ１をコンポーネント２０ｂに送信する。その後、コンポーネント２０ｂの処理部２２が、受信したデータＤ１に対する更新処理を行う。第二送信部２１は、受信したデータに付与された追跡タグと同じ追跡タグＴ１１をコンポーネント２０ｂによって処理が行われたデータＤ１に付与し、データ追跡部１０に送信する。
【００５２】
データ追跡部１０がコンポーネント２０ｂから追跡タグＴ１１が付与されたデータＤ１を受信すると、履歴登録部１４は、同一の追跡タグＴ１１で紐づけられるデータＤ１の流通履歴「デバイス３０→Ｄａｔａ１→コンポーネント２０ａ→Ｄａｔａ１→コンポーネント２０ｂ→Ｄａｔａ１」を流通履歴記憶部１１に登録する。履歴登録部１４は、例えば、図５に例示する流通履歴Ｈ２１を流通履歴記憶部１１に登録してもよい。
【００５３】
図６は、第３パターンに対応するデータの流れの例を示す。図４に示す第１パターンと同様に、データ追跡部１０がデバイス３０からデータＤ１を受信すると、追跡タグ付与部１２は、受信したデータＤ１に追跡タグＴ１１を付与する。また、履歴登録部１４は、追跡タグＴ１１が付与されたデータＤ１の流通履歴「デバイス３０→Ｄａｔａ１」を流通履歴記憶部１１に登録する。
【００５４】
第一送信部１３は、追跡タグＴ１１が付与されたデータＤ１をコンポーネント２０に送信する。その後、コンポーネント２０の処理部２２が、受信したデータＤ１に基づく新たなデータＤ２を生成する。第二送信部２１は、受信したデータに付与された追跡タグと同じ追跡タグＴ１１をコンポーネント２０によって生成されたデータＤ２に付与し、データ追跡部１０に送信する。
【００５５】
データ追跡部１０がコンポーネント２０から追跡タグＴ１１が付与されたデータＤ２を受信すると、履歴登録部１４は、同一の追跡タグＴ１１が付与されたデータＤ１の流通履歴「デバイス３０→Ｄａｔａ１」と、データＤ２の流通履歴「コンポーネント２０→Ｄａｔａ２」とを紐づけた流通履歴「デバイス３０→Ｄａｔａ１→コンポーネント２０→Ｄａｔａ２」を流通履歴記憶部１１に登録する。履歴登録部１４は、例えば、図５に例示する流通履歴Ｈ３１およびＨ３２を流通履歴記憶部１１に登録してもよい。
【００５６】
図７は、第４パターンに対応するデータの流れの例を示す。図６に示す第３パターンと同様に、データ追跡部１０がデバイス３０からデータＤ１を受信すると、追跡タグ付与部１２は、受信したデータＤ１に追跡タグＴ１１を付与する。また、履歴登録部１４は、追跡タグＴ１１が付与されたデータＤ１の流通履歴「デバイス３０→Ｄａｔａ１」を流通履歴記憶部１１に登録する。
【００５７】
第一送信部１３は、追跡タグＴ１１が付与されたデータＤ１をコンポーネント２０ａに送信する。その後、コンポーネント２０ａの処理部２２が、受信したデータＤ１に基づく新たなデータＤ２を生成する。第二送信部２１は、受信したデータに付与された追跡タグと同じ追跡タグＴ１１をコンポーネント２０ａによって生成されたデータＤ２に付与し、データ追跡部１０に送信する。
【００５８】
データ追跡部１０がコンポーネント２０ａから追跡タグＴ１１が付与されたデータＤ２を受信すると、履歴登録部１４は、同一の追跡タグＴ１１が付与されたデータＤ１の流通履歴「デバイス３０→Ｄａｔａ１」と、データＤ２の流通履歴「コンポーネント２０ａ→Ｄａｔａ２」とを紐づけた流通履歴「デバイス３０→Ｄａｔａ１→コンポーネント２０ａ→Ｄａｔａ２」を流通履歴記憶部１１に登録する。
【００５９】
さらに、第一送信部１３は、追跡タグＴ１１が付与されたデータＤ２をコンポーネント２０ｂに送信する。その後、コンポーネント２０ｂの処理部２２が、受信したデータＤ２に基づく新たなデータＤ３を生成する。第二送信部２１は、受信したデータに付与された追跡タグと同じ追跡タグＴ１１をコンポーネント２０ｂによって生成されたデータＤ３に付与し、データ追跡部１０に送信する。
【００６０】
データ追跡部１０がコンポーネント２０ｂから追跡タグＴ１１が付与されたデータＤ３を受信すると、履歴登録部１４は、同一の追跡タグＴ１１が付与された各データの流通履歴を紐づけた流通履歴「デバイス３０→Ｄａｔａ１→コンポーネント２０ａ→Ｄａｔａ２→コンポーネント２０ｂ→Ｄａｔａ３」を流通履歴記憶部１１に登録する。履歴登録部１４は、例えば、図７に例示する流通履歴Ｈ４１，Ｈ４２およびＨ４３を流通履歴記憶部１１に登録してもよい。
【００６１】
図８は、第５パターンに対応するデータの流れの例を示す。図６に示す第３パターンと同様に、データ追跡部１０がデバイス３０からデータＤ１を受信すると、追跡タグ付与部１２は、受信したデータＤ１に追跡タグＴ１１を付与する。また、履歴登録部１４は、追跡タグＴ１１が付与されたデータＤ１の流通履歴「デバイス３０→Ｄａｔａ１」を流通履歴記憶部１１に登録する。
【００６２】
第一送信部１３は、追跡タグＴ１１が付与されたデータＤ１をコンポーネント２０ａに送信する。その後、コンポーネント２０ａの処理部２２が、受信したデータＤ１に基づく新たなデータＤ２を生成する。コンポーネント２０ａの第二送信部２１は、受信したデータに付与された追跡タグと同じ追跡タグＴ１１をコンポーネント２０ａによって生成されたデータＤ２に付与し、コンポーネント２０ｂに送信する。このとき、コンポーネント２０ａの第二送信部２１は、送信元であるコンポーネント２０ａを識別する情報とともにデータＤ２を送信してもよい。
【００６３】
その後、コンポーネント２０ｂの処理部２２が、受信したデータＤ２に対する更新処理を行う。第二送信部２１は、受信したデータに付与された追跡タグと同じ追跡タグＴ１１をコンポーネント２０ｂによって処理が行われたデータＤ２に付与し、データ追跡部１０に送信する。
【００６４】
データ追跡部１０がコンポーネント２０ｂから追跡タグＴ１１が付与されたデータＤ２を受信すると、履歴登録部１４は、同一の追跡タグＴ１１が付与された各データの流通履歴を紐づけた流通履歴「デバイス３０→Ｄａｔａ１→コンポーネント２０ａ→コンポーネント２０ｂ→Ｄａｔａ２」を流通履歴記憶部１１に登録する。履歴登録部１４は、例えば、図８に例示する流通履歴Ｈ５１およびＨ５２を流通履歴記憶部１１に登録してもよい。
【００６５】
追跡タグ付与部１２と、第一送信部１３と、履歴登録部１４とは、プログラム（流通履歴管理プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、データ追跡部１０が備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、追跡タグ付与部１２、第一送信部１３および履歴登録部１４として動作してもよい。また、追跡タグ付与部１２と、第一送信部１３と、履歴登録部１４とは、それぞれが専用のハードウェアで実現されていてもよい。流通履歴記憶部１１は、例えば、磁気ディスク等により実現される。また、本実施形態のデータ追跡部１０は、全体としてデータの流通履歴を管理する装置として実現できることから、流通履歴管理装置と言うことができる。
【００６６】
また、第二送信部２１と、処理部２２とについても、同様に、プログラムに従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、コンポーネント２０が備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、第二送信部２１および処理部２２として動作してもよい。また、第二送信部２１と、処理部２２とは、それぞれが専用のハードウェアで実現されていてもよい。
【００６７】
次に、本実施形態の流通履歴管理システムの動作を説明する。図９は、本実施形態の流通履歴管理システムの動作例を示すフローチャートである。データ追跡部１０の追跡タグ付与部１２は、受信したデータに追跡タグを付与する（ステップＳ１１）。第一送信部１３は、追跡タグを付与したデータをコンポーネント２０に送信する（ステップＳ１２）。
【００６８】
コンポーネント２０がデータを受信すると、処理部２２が、受信したデータに対する処理を行う（ステップＳ１３）。処理部２２は、受信したデータに対して更新処理を行ってもよく、受信したデータに基づいて新たなデータを生成してもよい。
【００６９】
第二送信部２１は、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを、データ追跡部１０に送信する（ステップＳ１４）。なお、第二送信部２１は、追跡タグを付与したデータを、図８に例示するように、他のコンポーネントに送信してもよい。
【００７０】
データ追跡部１０がデータを受信すると、履歴登録部１４は、追跡タグが付与されたデータの流通履歴を流通履歴記憶部１１に登録する（ステップＳ１５）。具体的には、履歴登録部１４は、同一の追跡タグで紐づけられるデータの追跡結果をそのデータの流通履歴として流通履歴記憶部１１に登録する。
【００７１】
以上のように、本実施形態では、追跡タグ付与部１２が、追跡タグを付与し、第一送信部１３が、コンポーネント２０に追跡タグが付与されたデータを送信する。第二送信部２１が、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを、他のコンポーネント２０またはデータ追跡部１０に送信する。そして、履歴登録部１４が、追跡タグが付与されたデータの流通履歴を流通履歴記憶部１１に登録する。その際、履歴登録部１４が、同一の追跡タグで紐づけられるデータの追跡結果をそのデータの流通履歴として流通履歴記憶部１１に登録する。よって、データの流通履歴を適切に管理できる。
【００７２】
次に、本実施形態の流通履歴管理システムの変形例を説明する。第１の実施形態では、第１パターンから第５パターンのデータの流れを説明した。本変形例では、さらに２つのデータの流れのパターンについて説明する。
【００７３】
図１０および図１１は、データの流れの例を示す説明図である。まず、図１０に例示するデータの流れについて説明する。以下、このデータの流れのパターンを、第６パターンと記す。第６パターンでは、複数のデバイス３０ａおよびデバイス３０ｂから送信された複数のデータがコンポーネント２０で１つに結合される処理の例を示す。
【００７４】
データ追跡部１０が複数のデバイス３０ａおよびデバイス３０ｂからそれぞれデータＤ１およびデータＤ２を受信すると、追跡タグ付与部１２は、受信したデータＤ１に追跡タグＴ１１を付与し、データＤ２にタグＴ１２を付与する。すなわち、追跡タグ付与部１２は、受信した各データに異なるタグを付与する。
【００７５】
また、履歴登録部１４は、追跡タグＴ１１が付与されたデータＤ１の流通履歴を流通履歴記憶部１１に登録し、追跡タグＴ１２が付与されたデータＤ２の流通履歴を流通履歴記憶部１１に登録する。ここでは、データＤ１が、デバイス３０ａから送信されてメモリ４０ａの“Ｄａｔａ１”に一時的に記憶されることから、履歴登録部１４は、データＤ１についての流通履歴「デバイス３０ａ→Ｄａｔａ１」を生成して、流通履歴記憶部１１に登録する。また、データＤ２が、デバイス３０ｂから送信されてメモリ４０ｂの“Ｄａｔａ２”に一時的に記憶されることから、履歴登録部１４は、データＤ２についての流通履歴「デバイス３０ｂ→Ｄａｔａ２」を生成して、流通履歴記憶部１１に登録する。
【００７６】
第一送信部１３は、追跡タグＴ１１が付与されたデータＤ１および追跡タグＴ１２が付与されたデータＤ１をコンポーネント２０に送信する。その後、コンポーネント２０の処理部２２が、受信したデータＤ１とデータＤ２とを結合して、結合されたデータＤ３を生成する処理を行う。
【００７７】
第二送信部２１は、受信したデータＤ１に付与された追跡タグＴ１１とデータＤ２に付与された追跡タグＴ１２の両方の追跡タグを、結合されたデータＤ３に付与し、データ追跡部１０に送信する。
【００７８】
データ追跡部１０がコンポーネント２０から追跡タグＴ１１および追跡タグＴ１２が付与されたデータＤ３を受信すると、履歴登録部１４は、追跡タグＴ１１が付与されたデータＤ１の流通履歴「デバイス３０→Ｄａｔａ１」と、データＤ３の流通履歴「コンポーネント２０→Ｍｅｒｇｅｄ  Ｄａｔａ」とを同一の追跡タグＴ１１により紐づけた流通履歴「デバイス３０ａ→Ｄａｔａ１→コンポーネント２０→Ｍｅｒｇｅｄ  Ｄａｔａ」を流通履歴記憶部１１に登録する。
【００７９】
同様に、履歴登録部１４は、追跡タグＴ１２が付与されたデータＤ２の流通履歴「デバイス３０ｂ→Ｄａｔａ２」と、データＤ３の流通履歴「コンポーネント２０→Ｍｅｒｇｅｄ  Ｄａｔａ」とを同一の追跡タグＴ１１により紐づけた流通履歴「デバイス３０ｂ→Ｄａｔａ２→コンポーネント２０→Ｍｅｒｇｅｄ  Ｄａｔａ」を流通履歴記憶部１１に登録する。履歴登録部１４は、例えば、図１０に例示する流通履歴Ｈ６１およびＨ６２を流通履歴記憶部１１に登録してもよい。
【００８０】
次に、図１１に例示するデータの流れについて説明する。以下、このデータの流れのパターンを、第７パターンと記す。第７パターンでは、デバイスから送信された１つのデータが複数のコンポーネント２０ａ，２０ｂに送信され、それぞれ処理が行われる例を示す。
【００８１】
データ追跡部１０がデバイス３０からデータＤ１を受信すると、追跡タグ付与部１２は、受信したデータＤ１に追跡タグＴ１１を付与したデータを生成し、また、データＤ１にタグＴ１２を付与したデータを生成する。すなわち、追跡タグ付与部１２は、受信した１つのデータに対して異なるタグ付与したデータをそれぞれ生成する。
【００８２】
また、履歴登録部１４は、追跡タグＴ１１が付与されたデータＤ１の流通履歴を流通履歴記憶部１１に登録し、追跡タグＴ１２が付与されたデータＤ１の流通履歴を流通履歴記憶部１１に登録する。ここでは、データＤ１が、デバイス３０から送信されてメモリ４０ａの“Ｄａｔａ１”に一時的に記憶されることから、履歴登録部１４は、データＤ１についての流通履歴「デバイス３０→Ｄａｔａ１」を生成して、流通履歴記憶部１１に登録する。なお、本パターンでは、同一のデータＤ１が、別のコンポーネントにそれぞれ送信されることから、履歴登録部１４は、データＤ１についての流通履歴「デバイス３０→Ｄａｔａ１」を２つ生成して、流通履歴記憶部１１に登録する。
【００８３】
第一送信部１３は、追跡タグＴ１１が付与されたデータＤ１をコンポーネント２０ａに送信する。また、第一送信部１３は、追跡タグＴ１１が付与されたデータＤ１をコンポーネント２０ｂにも送信する。その後、コンポーネント２０ａおよびコンポーネント２０ｂの処理部２２が、受信したデータＤ１に対する更新処理を行う。
【００８４】
コンポーネント２０ａの第二送信部２１は、受信したデータに付与された追跡タグと同じ追跡タグＴ１１をコンポーネント２０ａによって処理が行われたデータＤ１に付与し、データ追跡部１０に送信する。同様に、コンポーネント２０ｂの第二送信部２１は、受信したデータに付与された追跡タグと同じ追跡タグＴ１２をコンポーネント２０ｂによって処理が行われたデータＤ１に付与し、データ追跡部１０に送信する。
【００８５】
データ追跡部１０がコンポーネント２０ａから追跡タグＴ１１が付与されたデータＤ１を受信すると、履歴登録部１４は、追跡タグＴ１１が付与されたデータＤ１の流通履歴「デバイス３０→Ｄａｔａ１」と、流通履歴「コンポーネント２０ａ→Ｄａｔａ２」とを同一の追跡タグＴ１１により紐づけた流通履歴「デバイス３０→Ｄａｔａ１→コンポーネント２０ａ→Ｄａｔａ２」を流通履歴記憶部１１に登録する。
【００８６】
同様に、データ追跡部１０がコンポーネント２０ｂから追跡タグＴ１２が付与されたデータＤ１を受信すると、履歴登録部１４は、追跡タグＴ１２が付与されたデータＤ１の流通履歴「デバイス３０→Ｄａｔａ１」と、流通履歴「コンポーネント２０ｂ→Ｄａｔａ３」とを同一の追跡タグＴ１２により紐づけた流通履歴「デバイス３０→Ｄａｔａ１→コンポーネント２０ｂ→Ｄａｔａ３」を流通履歴記憶部１１に登録する。履歴登録部１４は、例えば、図１１に例示する流通履歴Ｈ７１およびＨ７２を流通履歴記憶部１１に登録してもよい。
【００８７】
以上のように、２つのデータがコンポーネントでマージされる場合には、コンポーネントがデータと一緒に２個のタグを返信し、１つのデータを２つのコンポーネントで読み込む場合は、それぞれ違うタグを付与することで、追跡を行うことが可能になる。
【００８８】
第６パターンに示すデータの流れの具体例として、複数の温度センサのようなデバイスによって取得されたデータに基づいて、コンポーネントが温度の平均を計算する場合が挙げられる。また、第７パターンに示すデータの流れの具体例として、温度センサのようなデバイスが、エアコンディショナーのシステム、健康管理システムなど、異なるシステムで使用される場合が挙げられる。
【００８９】
実施形態２．
次に、本発明による流通履歴管理システムの第２の実施形態を説明する。第１の実施形態では、コンポーネントがデータを処理した後、そのデータに追跡タグを付与してデータを送信する方法を説明した。本実施形態では、コンポーネントが追跡タグ以外の情報も付与してデータを送信する方法を説明する。
【００９０】
図１２は、本発明による流通履歴管理システムの第２の実施形態の構成例を示すブロック図である。本実施形態の流通履歴管理システム２００は、データ追跡部１０と、コンポーネント５０とを備えている。データ追跡部１０の内容は、第１の実施形態と同様である。
【００９１】
コンポーネント５０は、第二送信部２１と、処理部２２と、署名付与部２３とを備えている。第二送信部２１および処理部２２の内容は、第１の実施形態と同様である。
【００９２】
署名付与部２３は、処理部２２が処理したデータに対して、コンポーネント５０による操作が行われた証拠を示す署名（signature ）を付与する。署名付与部２３が付与する電子署名の内容は任意である。署名付与部２３は、例えば、公開鍵暗号方式に基づくデジタル署名を用いてもよい。この場合、コンポーネント５０が秘密鍵を保管し、データ追跡部１０が公開鍵を保管すればよい。ただし、署名付与部２３が署名を付与する方法は、上述するデジタル署名に限定されない。
【００９３】
署名付与部２３は、例えば、ハッシュ関数や共通鍵暗号方式に基づく、メッセージ認証コードを署名として用いてもよい。この例の場合、コンポーネント５０とデータ追跡部１０が共通の鍵を保存する。署名付与部２３は、例えば、ＨＭＡＣ（Hash-based Message Authentication Code）やＣＢＣ−ＭＡＣ（cipher block chaining message authentication code ）を用いて、メッセージ認証コードを生成し、署名としてデータに付与する。ＨＭＡＣやＣＢＣ−ＭＡＣは、公知の技術であるため、説明を省略する。ＨＭＡＣやＣＢＣ−ＭＡＣへの入力は、データそのものであってもよいし、生成されたランダムな値（ＮＯＮＣＥ）であってもよい。後者の場合、ＮＯＮＣＥとＨＭＡＣ／ＣＢＣ−ＭＡＣの出力が署名になる。また、ＨＭＡＣやＣＢＣ−ＭＡＣへの入力は、データとＮＯＮＣＥの両方であってもよい。
【００９４】
図１３は、デジタル署名を付与する動作の例を示す説明図である。データ追跡部１０がデバイス３０からデータＤ１を受信すると、追跡タグ付与部１２は、受信したデータＤ１に追跡タグＴ１１を付与する。また、履歴登録部１４は、追跡タグＴ１１が付与されたデータＤ１の流通履歴を流通履歴記憶部１１に登録する。
【００９５】
第一送信部１３は、追跡タグＴ１１が付与されたデータＤ１をコンポーネント５０に送信する。その後、コンポーネント５０の処理部２２が、受信したデータＤ１に対する処理を行う。処理部２２が処理したデータに対して、署名付与部２３がコンポーネント５０による操作が行われた証拠を示す署名Ｓ５１を付与する。署名付与部２３は、署名Ｓ５１を付与する際、例えば、秘密鍵Ｋ１１を用いてもよい。第二送信部２１は、追跡タグＴ１１および署名Ｓ５１をデータＤ１に付与し、データ追跡部１０に送信する。
【００９６】
データ追跡部１０がデータＤ１を受信すると、履歴登録部１４は、受信したデータＤ１の流通履歴を流通履歴記憶部１１に登録する。この際、履歴登録部１４は、公開鍵Ｋ１２を用いて付与された署名Ｓ５１を検証してもよい。
【００９７】
以上のように、本実施形態では、署名付与部２３は、処理部２２が処理したデータに対して、コンポーネント５０による操作が行われた証拠を示す署名を付与し、第二送信部２１が、追跡タグおよび署名が付与されたデータを、他のコンポーネントまたはデータ追跡部１０に送信する。よって、第１の実施形態の効果に加え、コンポーネントがデータを操作したことの確証を高めることができる。
【００９８】
次に、本実施形態の第１の変形例を説明する。第２の実施形態では、署名付与部２３が署名を付与することで、データを操作したことの確証を高めていた。第１の変形例では、ＴＥＥ（Trusted Execution Environment ）を用いて、コンポーネントを保護する方法を説明する。
【００９９】
図１４は、ＴＥＥを用いて署名を付与する動作の例を示す説明図である。データの流れは、図１３に例示する内容と同様である。ただし、図１４に示す例では、コンポーネント５０がＴＥＥで保護されている。この場合、署名付与部２３が、ＴＥＥ内にストアされた鍵Ｋ１１を用いて署名Ｓ５１をデータに付与し、第二送信部２１がそのデータをデータ追跡部１０に送信する。受信したデータ追跡部１０は、公開鍵Ｋ１２を用いて署名Ｓ５１を検証する。このようにすることで、送信されるデータの信頼性を向上できる。また、公開鍵暗号を用いた証明ではなく、ハッシュ関数や共通鍵暗号を用いたメッセージ認証コードが、公開鍵暗号を用いた証明の代わりに用いられてもよい。
【０１００】
図１５は、コンポーネント間でデータを渡す場合の動作例を示す説明図である。コンポーネント間でデータを渡す場合も、図１４に例示する方法と同様に、コンポーネント５０ａの署名付与部２３が、ＴＥＥ内にストアされた鍵Ｋ１１ａを用いて署名Ｓ５１ａをデータに付与し、処理部２２がそのデータをコンポーネント５０ｂに送信する。さらに、コンポーネント５０ｂの署名付与部２３が、ＴＥＥ内にストアされた鍵Ｋ１１ｂを用いて署名Ｓ５１ｂをデータに付与し、第二送信部２１がそのデータをデータ追跡部１０に送信する。受信したデータ追跡部１０は、公開鍵Ｋ１２ａおよびＫ１２ｂを用いて署名Ｓ５１ａおよびＳ５１ｂを検証する。このようにしても、送信されるデータの信頼性を向上できる。
【０１０１】
以上のように、第１の変形例では、ＴＥＥを用いてコンポーネントを保護することにより、ハードウェアレベルでデータが保証される。そのため、データの信頼性を、より向上させることが可能になる。
【０１０２】
次に、本実施形態の第２の変形例を説明する。図１６は、ＴＥＥを用いて署名を付与する動作の他の例を示す説明図である。第１の変形例では、コンポーネントがＴＥＥで保護されている場合について説明した。他にも、図１６に例示するように、流通履歴記憶部１１と鍵をＴＥＥの中に配置してもよい。この構成の場合、ＨＭＡＣやＣＢＣ−ＭＡＣによって生成されたメッセージ認証コードを署名として用いる際、メッセージ認証コードを生成するための鍵を保護することができる。より具体的には、流通履歴記憶部１１から鍵が流出し、その鍵を用いて偽のコンポーネントが生成されるというリスクを回避できる。
【０１０３】
また、コンポーネント５０がＴＥＥ内部に配置されている場合、データ追跡部１０は、コンポーネント５０の改ざんの検知を、リモートアテステーション技術を使って行ってもよい。リモートアテステーションとは、ＣＰＵ等のハードウェアがソフトウェアのハッシュ値等を計算して通信相手に送付することにより、通信相手が改竄されているか否かを確認する技術である。リモートアテステーションは、例えば、以下の参考文献に記載されているように公知の技術であるため、詳細な説明は省略する。
【０１０４】
＜参考文献＞
Victor Costan, Srinivas Devadas, “Intel SGX Explained”, January 2016.
Intel Corporation, “Intel Software Guard Extensions”, 332680-002, Rev. 1.1, June 2015.
【０１０５】
また、図１６に例示するように、流通履歴記憶部１１とコンポーネント５０の両方がＴＥＥ内に配備されている場合、双方向でリモートアテステーションを行うことで、互いに相手が改竄されていないことを確認してもよい。また、リモートアテステーションによって、情報の送信相手が改竄されていることが分かった場合、情報の送信を中止するようにしてもよい。
【０１０６】
次に、本発明の概要を説明する。図１７は、本発明による流通履歴管理システムの概要を示すブロック図である。本発明による流通履歴管理システムは、データを追跡するデータ追跡部８０（例えば、データ追跡部１０）と、データを処理する１以上のコンポーネント９０（例えば、コンポーネント２０）とを備えている。
【０１０７】
データ追跡部８０は、データの流通履歴を記憶する流通履歴記憶部８１（例えば、流通履歴記憶部１１）と、追跡するデータの識別に用いられる追跡タグを付与する追跡タグ付与部８２（例えば、追跡タグ付与部１２）と、追跡タグを付与したデータをコンポーネント９０に送信する第一送信部８３（例えば、第一送信部１３）と、追跡タグが付与されたデータの流通履歴を流通履歴記憶部８１に登録する履歴登録部８４（例えば、履歴登録部１４）とを含む。
【０１０８】
コンポーネント９０は、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを、他のコンポーネント９０またはデータ追跡部８０に送信する第二送信部９１（例えば、第二送信部２１）を含む。
【０１０９】
履歴登録部８４は、同一の追跡タグで紐づけられるデータの追跡結果をそのデータの流通履歴として流通履歴記憶部８１に登録する。
【０１１０】
そのような構成により、データの流通履歴を適切に管理できる。
【０１１１】
また、コンポーネント９０は、自コンポーネント９０による操作が行われた証拠を示す署名をデータに付与する署名付与部（例えば、署名付与部２３）を備えていてもよい。そして、第二送信部９１は、追跡タグおよび署名が付与されたデータを、他のコンポーネント９０またはデータ追跡部８０に送信してもよい。そのような構成によれば、送信されるデータの信頼性を向上できる。
【０１１２】
具体的には、データ追跡部８０の第一送信部８３は、追跡タグが付与された第一のデータをコンポーネント９０に送信してもよい。このとき、コンポーネント９０は、受信した第一のデータを更新する第一処理部（例えば、処理部２２）を含んでいてもよい。そして、コンポーネント９０の第二送信部９１は、更新後の第一のデータに追跡タグを付与してデータ追跡部８０に送信し、データ追跡部８０の履歴登録部８４は、第一送信部８３により送信された第一のデータと第二送信部９１により送信された更新後の第一データとを、付与された同一の追跡タグにより紐づけた流通履歴を生成してもよい。このような構成により、１つのデータに対する更新等の流通履歴を管理できる。
【０１１３】
また、データ追跡部８０の第一送信部８３は、追跡タグが付与された第一のデータをコンポーネント９０に送信してもよい。このとき、コンポーネント９０は、受信した第一のデータに基づいて第二のデータを生成する第二処理部（例えば、処理部２２）を含んでいてもよい。そして、コンポーネント９０の第二送信部９１は、生成された第二のデータに追跡タグを付与してデータ追跡部８０に送信し、データ追跡部８０の履歴登録部８４は、第一送信部８３により送信された第一のデータと第二送信部９１により送信された第二のデータとを、付与された同一の追跡タグにより紐づけた流通履歴を生成してもよい。このような構成により、１つのデータから異なるデータが作成される場合の流通履歴を管理できる。
【０１１４】
また、データ追跡部８０の第一送信部８３は、第一の追跡タグが付与された第三のデータおよび第二の追跡タグが付与された第四のデータをコンポーネントに送信してもよい。このとき、コンポーネント９０は、受信した第三のデータおよび第四のデータを結合して第五のデータを生成する第三処理部（例えば、処理部２２）を含んでいてもよい。また、コンポーネント９０の第二送信部９１は、第三処理部が結合した第五のデータに第一の追跡タグと第二の追跡タグの両方の追跡タグを付与してデータ追跡部８０に送信してもよい。そして、データ追跡部８０の履歴登録部８４は、第三のデータと第五のデータとを、その第五のデータに付与された追跡タグに含まれる同一の追跡タグにより紐づけた流通履歴を生成し、第四のデータと第五のデータとを、その第五のデータに付与された追跡タグに含まれる同一の追跡タグにより紐づけた流通履歴を生成してもよい。そのような構成により、複数のデータをマージしてデータが作成される場合の流通履歴を管理できる。
【０１１５】
また、データ追跡部８０の第一送信部８３は、第一の追跡タグが付与されたデータおよびそのデータと同一の内容のデータに第二の追跡タグが付与されたデータを異なるコンポーネント（具体的には、第一のコンポーネントおよび第二のコンポーネント）にそれぞれ送信してもよい。このとき、第一のコンポーネント９０の第二送信部９１は、受信したデータに付与された第一の追跡タグを付与したデータを、データ追跡部８０に送信し、第二のコンポーネント９０の第二送信部９１は、受信したデータに付与された第二の追跡タグを付与したデータを、データ追跡部８０に送信してもよい。そして、データ追跡部８０の履歴登録部８４は、第一の追跡タグで紐づけられるデータの追跡結果をそのデータの流通履歴として流通履歴記憶部８１に登録し、第二の追跡タグで紐づけられるデータの追跡結果をそのデータの流通履歴として流通履歴記憶部８１に登録してもよい。そのような構成により、同一のデータを複数のコンポーネントに送信して操作を行われる場合の流通履歴を管理できる。
【０１１６】
図１８は、本発明による流通履歴管理装置の概要を示すブロック図である。本発明による流通履歴管理装置７０は、データの流通履歴を管理する流通履歴管理装置（例えば、データ追跡部１０）であって、データの流通履歴を記憶する流通履歴記憶部７１（例えば、流通履歴記憶部１１）と、追跡するデータの識別に用いられる追跡タグを付与する追跡タグ付与部７２（例えば、追跡タグ付与部１２）と、追跡タグを付与したデータを、そのデータを処理するコンポーネント（例えば、コンポーネント２０）に送信する第一送信部７３（例えば、第一送信部１３）と、追跡タグが付与されたデータの流通履歴を流通履歴記憶部６１に登録する履歴登録部７４（例えば、履歴登録部１４）とを備えている。
【０１１７】
履歴登録部７４は、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを他のコンポーネントまたは流通履歴管理装置に送信するコンポーネントからそのデータを受信し、同一の追跡タグで紐づけられるデータの追跡結果をそのデータの流通履歴として流通履歴記憶部７１に登録する。
【０１１８】
そのような構成によっても、データの流通履歴を適切に管理できる。
【０１１９】
また、履歴登録部７４は、自コンポーネントによる操作が行われた証拠を示す署名をデータに付与して送信するコンポーネントからデータを受信して、そのデータの流通履歴を流通履歴記憶部７１に登録してもよい。
【０１２０】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１２１】
（付記１）データを追跡するデータ追跡部と、データを処理する１以上のコンポーネントとを備え、前記データ追跡部は、前記データの流通履歴を記憶する流通履歴記憶部と、追跡するデータの識別に用いられる追跡タグを付与する追跡タグ付与部と、前記追跡タグを付与したデータを前記コンポーネントに送信する第一送信部と、前記追跡タグが付与されたデータの流通履歴を前記流通履歴記憶部に登録する履歴登録部とを含み、前記コンポーネントは、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを、他の前記コンポーネントまたは前記データ追跡部に送信する第二送信部を含み、前記履歴登録部は、同一の追跡タグで紐づけられるデータの追跡結果を当該データの流通履歴として前記流通履歴記憶部に登録することを特徴とする流通履歴管理システム。
【０１２２】
（付記２）コンポーネントは、自コンポーネントによる操作が行われた証拠を示す署名をデータに付与する署名付与部を備え、第二送信部は、追跡タグおよび前記署名が付与されたデータを、他のコンポーネントまたはデータ追跡部に送信する付記１記載の流通履歴管理システム。
【０１２３】
（付記３）データ追跡部の第一送信部は、追跡タグが付与された第一のデータをコンポーネントに送信し、コンポーネントは、受信した前記第一のデータを更新する第一処理部を含み、前記コンポーネントの第二送信部は、更新後の第一のデータに前記追跡タグを付与してデータ追跡部に送信し、データ追跡部の履歴登録部は、第一送信部により送信された第一のデータと前記第二送信部により送信された更新後の第一データとを、付与された同一の追跡タグにより紐づけた流通履歴を生成する付記１または付記２記載の流通履歴管理システム。
【０１２４】
（付記４）データ追跡部の第一送信部は、追跡タグが付与された第一のデータをコンポーネントに送信し、コンポーネントは、受信した前記第一のデータに基づいて第二のデータを生成する第二処理部を含み、前記コンポーネントの第二送信部は、生成された第二のデータに前記追跡タグを付与してデータ追跡部に送信し、データ追跡部の履歴登録部は、第一送信部により送信された第一のデータと前記第二送信部により送信された前記第二のデータとを、付与された同一の追跡タグにより紐づけた流通履歴を生成する付記１または付記２記載の流通履歴管理システム。
【０１２５】
（付記５）データ追跡部の第一送信部は、第一の追跡タグが付与された第三のデータおよび第二の追跡タグが付与された第四のデータをコンポーネントに送信し、コンポーネントは、受信した前記第三のデータおよび第四のデータを結合して第五のデータを生成する第三処理部を含み、前記コンポーネントの第二送信部は、前記第三処理部が結合した第五のデータに前記第一の追跡タグと前記第二の追跡タグの両方の追跡タグを付与してデータ追跡部に送信し、データ追跡部の履歴登録部は、前記第三のデータと前記第五のデータとを、当該第五のデータに付与された追跡タグに含まれる同一の追跡タグにより紐づけた流通履歴を生成し、前記第四のデータと前記第五のデータとを、当該第五のデータに付与された追跡タグに含まれる同一の追跡タグにより紐づけた流通履歴を生成する付記１または付記２記載の流通履歴管理システム。
【０１２６】
（付記６）データ追跡部の第一送信部は、第一の追跡タグが付与されたデータおよび当該データと同一の内容のデータに第二の追跡タグが付与されたデータを異なるコンポーネントにそれぞれ送信し、第一のコンポーネントの第二送信部は、受信したデータに付与された前記第一の追跡タグを付与したデータを、データ追跡部に送信し、第二のコンポーネントの第二送信部は、受信したデータに付与された前記第二の追跡タグを付与したデータを、データ追跡部に送信し、データ追跡部の履歴登録部は、前記第一の追跡タグで紐づけられるデータの追跡結果を当該データの流通履歴として流通履歴記憶部に登録し、前記第二の追跡タグで紐づけられるデータの追跡結果を当該データの流通履歴として流通履歴記憶部に登録する付記１または付記２記載の流通履歴管理システム。
【０１２７】
（付記７）データの流通履歴を管理する流通履歴管理装置であって、データの流通履歴を記憶する流通履歴記憶部と、追跡するデータの識別に用いられる追跡タグを付与する追跡タグ付与部と、前記追跡タグを付与したデータを、当該データを処理するコンポーネントに送信する第一送信部と、前記追跡タグが付与されたデータの流通履歴を前記流通履歴記憶部に登録する履歴登録部とを備え、前記履歴登録部は、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを他の前記コンポーネントまたは前記流通履歴管理装置に送信する前記コンポーネントから当該データを受信し、同一の追跡タグで紐づけられるデータの追跡結果を当該データの流通履歴として前記流通履歴記憶部に登録することを特徴とする流通履歴管理装置。
【０１２８】
（付記８）履歴登録部は、自コンポーネントによる操作が行われた証拠を示す署名をデータに付与して送信するコンポーネントからデータを受信して、当該データの流通履歴を流通履歴記憶部に登録する付記７記載の流通履歴管理装置。
【０１２９】
（付記９）データを追跡するデータ追跡部が、追跡するデータの識別に用いられる追跡タグを付与し、前記データ追跡部が、データを処理するコンポーネントに前記追跡タグが付与されたデータを送信し、前記コンポーネントが、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを、他の前記コンポーネントまたは前記データ追跡部に送信し、前記データ追跡部が、前記データの流通履歴を記憶する流通履歴記憶部に、前記追跡タグが付与されたデータの流通履歴を登録し、前記データの流通履歴を登録する際、前記データ追跡部が、同一の追跡タグで紐づけられるデータの追跡結果を当該データの流通履歴として前記流通履歴記憶部に登録することを特徴とする流通履歴管理方法。
【０１３０】
（付記１０）コンポーネントが、自コンポーネントによる操作が行われた証拠を示す署名をデータに付与し、前記コンポーネントが、追跡タグおよび前記署名が付与されたデータを、他のコンポーネントまたはデータ追跡部に送信する付記９記載の流通履歴管理方法。
【０１３１】
（付記１１）追跡するデータの識別に用いられる追跡タグを付与し、前記追跡タグが付与されたデータを、当該データを処理するコンポーネントに送信し、前記コンポーネントから、前記追跡タグと同一の追跡タグが付与されたデータを受信し、データの流通履歴を記憶する流通履歴記憶部に、前記追跡タグが付与されたデータの流通履歴を登録し、前記データの流通履歴を登録する際、同一の追跡タグで紐づけられるデータの追跡結果を当該データの流通履歴として前記流通履歴記憶部に登録することを特徴とする流通履歴管理方法。
【０１３２】
（付記１２）自コンポーネントによる操作が行われた証拠を示す署名をデータに付与して送信するコンポーネントからデータを受信し、受信したデータの流通履歴を流通履歴記憶部に登録する付記１１記載の流通履歴管理装置。
【０１３３】
（付記１３）コンピュータに、追跡するデータの識別に用いられる追跡タグを付与する追跡タグ付与処理、前記追跡タグを付与したデータを、当該データを処理するコンポーネントに送信する第一送信処理、および、データの流通履歴を記憶する流通履歴記憶部に、前記追跡タグが付与されたデータの流通履歴を登録する履歴登録処理を実行させ、前記履歴登録処理で、受信したデータに付与された追跡タグと同一の追跡タグを付与したデータを他の前記コンポーネントまたは前記データ追跡部に送信する前記コンポーネントから当該データを受信させ、同一の追跡タグで紐づけられるデータの追跡結果を当該データの流通履歴として前記流通履歴記憶部に登録させるための流通履歴管理プログラム。
【０１３４】
（付記１４）コンピュータに、履歴登録処理で、自コンポーネントによる操作が行われた証拠を示す署名をデータに付与して送信するコンポーネントからデータを受信させて、当該データの流通履歴を流通履歴記憶部に登録させる付記１３記載の流通履歴管理プログラム。
【符号の説明】
【０１３５】
１０  データ追跡部
１１  流通履歴記憶部
１２  追跡タグ付与部
１３  第一送信部
１４  履歴登録部
２０，２０ａ，２０ｂ，５０，５０ａ，５０ｂ  コンポーネント
２１  第二送信部
２２  処理部
２３  署名付与部
３０，３０ａ，３０ｂ  デバイス
４０，４０ａ，４０ｂ，４０ｃ  メモリ
１００  流通履歴管理システム
Ｔ１１，Ｔ１２  タグ
Ｓ５１，Ｓ５１ａ，Ｓ５１ｂ  署名
Ｋ１１，Ｋ１１ａ，Ｋ１１ｂ  秘密鍵
Ｋ１２，Ｋ１２ａ，Ｋ１２ｂ  公開鍵
【図１】
2018216205.tif 000003
【図２】
2018216205.tif 000004
【図３】
2018216205.tif 000005
【図４】
2018216205.tif 000006
【図５】
2018216205.tif 000007
【図６】
2018216205.tif 000008
【図７】
2018216205.tif 000009
【図８】
2018216205.tif 000010
【図９】
2018216205.tif 000011
【図１０】
2018216205.tif 000012
【図１１】
2018216205.tif 000013
【図１２】
2018216205.tif 000014
【図１３】
2018216205.tif 000015
【図１４】
2018216205.tif 000016
【図１５】
2018216205.tif 000017
【図１６】
2018216205.tif 000018
【図１７】
2018216205.tif 000019
【図１８】
2018216205.tif 000020
【国際調査報告】
2018216205.tif 000021
2018216205.tif 000022
2018216205.tif 000023
2018216205.tif 000024