(57)【特許請求の範囲】
【請求項１】
複数のアプリケーション間でデータ交換を行うためのデータ交換手段と、
順次配信される複数のデータセットを含む系列データであって、前記複数のデータセットの各々が少なくとも１つのサブデータセットを含む系列データを受信する受信手段と、
前記受信手段により受信されたデータセットに含まれる少なくとも１つのサブデータセットのうち対象となるサブデータセットについて、当該サブデータセットと異なるダミーデータセットを生成する第１生成手段と、
前記受信手段により受信された系列データに含まれるサブデータセットおよび前記生成手段により生成されたダミーデータセットのうち順次対象となる当該サブデータセットまたは当該ダミーデータセットに基づいて認証情報を生成する第２生成手段と、
前記受信手段により受信された系列データに含まれるサブデータセットおよび前記生成手段により生成されたダミーデータセットのうち順次対象となる当該サブデータセットまたは当該ダミーデータセットに、前記第２生成手段により生成された認証情報が付加されたデータを、前記データ交換手段を介して提供する提供手段と
を有し、
前記第１生成手段は、前記受信手段により前記系列データに含まれる一のデータセットが受信された場合、ある確率で前記ダミーデータセットを生成する
ことを特徴とする情報処理装置。
【請求項２】
前記確率は、前記系列データの送信元に応じて異なる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
クロックを供給する供給手段を有し、
前記第２生成手段は、前記対象となるデータセット、および前記供給手段により供給されるクロックに基づいて前記認証情報を生成する
ことを特徴とする請求項１または２のいずれか一項に記載の情報処理装置。
【請求項４】
前記提供手段は、前記対象となるデータセットに、前記第２生成手段により生成された認証情報が付加されたデータを平文のまま、前記データ交換手段を介して提供する
ことを特徴とする請求項１ないし３のいずれか一項に記載の情報処理装置。
【請求項５】
前記第２生成手段は、複数のサブデータセットに対して一の認証情報を生成する
ことを特徴とする請求項１ないし４のいずれか一項に記載の情報処理装置。
【請求項６】
前記一の認証情報は、対応する複数のサブデータセットのうち、正当なサブデータセットを特定する情報を含む
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
複数のアプリケーション間でデータ交換を行うためのデータ交換手段と、
順次配信される複数のデータセットを含む系列データであって、前記複数のデータセットの各々が少なくとも１つのサブデータセットを含む系列データを中継する中継アプリケーション手段と、
前記系列データを処理するクライアント手段と
を有し、
前記中継アプリケーション手段は、
前記系列データを受信する受信手段と、
前記受信手段により受信されたデータセットに含まれる少なくとも１つのサブデータセットのうち対象となるサブデータセットについて、当該サブデータセットと異なるダミーデータセットを生成する第１生成手段と、
前記受信手段により受信された系列データに含まれるサブデータセットおよび前記生成手段により生成されたダミーデータセットのうち順次対象となる当該サブデータセットまたは当該ダミーデータセットに基づいて認証情報を生成する第２生成手段と、
前記受信手段により受信された系列データに含まれるサブデータセットおよび前記生成手段により生成されたダミーデータセットのうち順次対象となる当該サブデータセットまたは当該ダミーデータセットに、前記第２生成手段により生成された認証情報が付加されたデータを、前記データ交換手段を介して提供する提供手段と
を有し、
前記クライアント手段は、
前記データ交換手段を介して、前記データを取得する取得手段と、
前記取得手段により取得されたデータに含まれる認証情報を解読する解読手段と、
前記解読手段により正当であると解読された認証情報に対応するデータセットを処理する処理手段と
を有し、
前記第１生成手段は、前記受信手段により前記系列データに含まれる一のデータセットが受信された場合、ある確率で前記ダミーデータセットを生成する
ことを特徴とする情報処理装置。
【請求項８】
コンピュータを、
複数のアプリケーション間でデータ交換を行うためのデータ交換手段と、
順次配信される複数のデータセットを含む系列データであって、前記複数のデータセットの各々が少なくとも１つのサブデータセットを含む系列データを受信する受信手段と、
前記受信手段により受信されたデータセットに含まれる少なくとも１つのサブデータセットのうち対象となるサブデータセットについて、当該サブデータセットと異なるダミーデータセットを生成する第１生成手段と、
前記受信手段により受信された系列データに含まれるサブデータセットおよび前記生成手段により生成されたダミーデータセットのうち順次対象となる当該サブデータセットまたは当該ダミーデータセットに基づいて認証情報を生成する第２生成手段と、
前記受信手段により受信された系列データに含まれるサブデータセットおよび前記生成手段により生成されたダミーデータセットのうち順次対象となる当該サブデータセットまたは当該ダミーデータセットに、前記第２生成手段により生成された認証情報が付加されたデータを、前記データ交換手段を介して提供する提供手段と
して機能させるためのプログラムであって、
前記第１生成手段は、前記受信手段により前記系列データに含まれる一のデータセットが受信された場合、ある確率で前記ダミーデータセットを生成する
ことを特徴とするプログラム。
【請求項９】
複数のアプリケーション間でデータ交換を行うためのデータ交換手段を有するコンピュータにおける情報処理方法であって、
順次配信される複数のデータセットを含む系列データであって、前記複数のデータセットの各々が少なくとも１つのサブデータセットを含む系列データを受信するステップと、
前記系列データに含まれる一のデータセットが受信された場合、前記受信されたデータセットに含まれる少なくとも１つのサブデータセットのうち対象となるサブデータセットについて、ある確率で当該サブデータセットと異なるダミーデータセットを生成するステップと、
前記受信された系列データに含まれるサブデータセットおよび前記生成されたダミーデータセットのうち順次対象となる当該サブデータセットまたは当該ダミーデータセットに基づいて認証情報を生成するステップと、
前記受信された系列データに含まれるサブデータセットおよび前記生成されたダミーデータセットのうち順次対象となる当該サブデータセットまたは当該ダミーデータセットに、前記生成された認証情報が付加されたデータを、前記データ交換手段を介して提供するステップと
を有する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、系列データの配信において情報を保護する技術に関する。
【背景技術】
【０００２】
情報を保護（秘匿）するための技術は、古くから種々のものが知られている（例えば特許文献１〜５）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−３５８４３６号公報
【特許文献２】特開２００８−２４５１４５号公報
【特許文献３】特開２００６−２４６１６６号公報
【特許文献４】特開２００６−１８５０９６号公報
【特許文献５】特開２００７−７８７３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１〜５はいずれも、単一の情報処理装置における複数のアプリケーション間で通信される情報の保護に関するものではなかった。
これに対し本発明は、複数のアプリケーション間で通信される情報を保護する技術を提供する。
【課題を解決するための手段】
【０００５】
本発明は、複数のアプリケーション間でデータ交換を行うためのデータ交換手段と、順次配信される複数のデータセットを含む系列データであって、前記複数のデータセットの各々が少なくとも１つのサブデータセットを含む系列データを受信する受信手段と、前記受信手段により受信されたデータセットに含まれる少なくとも１つのサブデータセットのうち対象となるサブデータセットについて、当該サブデータセットと異なるダミーデータセットを生成する第１生成手段と、前記受信手段により受信された系列データに含まれるサブデータセットおよび前記生成手段により生成されたダミーデータセットのうち順次対象となるデータセットに基づいて認証情報を生成する第２生成手段と、前記受信手段により受信された系列データに含まれるサブデータセットおよび前記生成手段により生成されたダミーデータセットのうち順次対象となるデータセットに、前記第２生成手段により生成された認証情報が付加されたデータを、前記データ交換手段を介して提供する提供手段とを有する情報処理装置を提供する。
この情報処理装置によれば、複数のアプリケーション間で通信される系列データを保護することができる。
【０００６】
前記第１生成手段は、前記受信手段により前記系列データに含まれる一のデータセットが受信された場合、ある確率で前記ダミーデータセットを生成してもよい。
【０００７】
前記確率は、前記系列データの送信元に応じて異なってもよい。
この情報処理装置によれば、系列データの送信元に応じてデータ保護の強度を変えることができる。
【０００８】
この情報処理装置は、クロックを供給する供給手段を有し、前記第２生成手段は、前記対象となるデータセット、および前記供給手段により供給されるクロックに基づいて前記認証情報を生成してもよい。
この情報処理装置によれば、ダミーデータが解読される可能性を低減することができる。
【０００９】
前記提供手段は、前記対象となるデータセットに、前記第２生成手段により生成された認証情報が付加されたデータを平文のまま、前記データ交換手段を介して提供してもよい。
この情報処理装置によれば、このデータを受け取ったアプリケーションは復号のための処理をせずに、データを処理することができる。
【００１０】
前記第２生成手段は、複数のサブデータセットに対して一の認証情報を生成してもよい。
この情報処理装置によれば、サブデータセットと認証情報とが一対一に対応する場合と比較してデータ量を削減することができる。
【００１１】
前記一の認証情報は、対応する複数のサブデータセットのうち、正当なサブデータセットを特定する情報を含んでもよい。
この情報処理装置によれば、一のデータセットの中に正当なサブデータセットとダミーデータセットとを混在させることができる。
【００１２】
また、本発明は、複数のアプリケーション間でデータ交換を行うためのデータ交換手段と、順次配信される複数のデータセットを含む系列データであって、前記複数のデータセットの各々が少なくとも１つのサブデータセットを含む系列データを中継する中継アプリケーション手段と、前記系列データを処理するクライアント手段とを有し、前記中継アプリケーション手段は、前記系列データを受信する受信手段と、前記受信手段により受信されたデータセットに含まれる少なくとも１つのサブデータセットのうち対象となるサブデータセットについて、当該サブデータセットと異なるダミーデータセットを生成する第１生成手段と、前記受信手段により受信された系列データに含まれるサブデータセットおよび前記生成手段により生成されたダミーデータセットのうち順次対象となるデータセットに基づいて認証情報を生成する第２生成手段と、記受信手段により受信された系列データに含まれるサブデータセットおよび前記生成手段により生成されたダミーデータセットのうち順次対象となるデータセットに、前記第２生成手段により生成された認証情報が付加されたデータを、前記データ交換手段を介して提供する提供手段とを有し、前記クライアント手段は、前記データ交換手段を介して、前記データを取得する取得手段と、前記取得手段により取得されたデータに含まれる認証情報を解読する解読手段と、前記解読手段により正当であると解読された認証情報に対応するデータセットを処理する処理手段とを有する情報処理装置を提供する。
この情報処理装置によれば、中継アプリケーション手段とクライアントアプリケーション手段の間で通信される系列データを保護することができる。
【００１３】
さらに、本発明は、コンピュータを、複数のアプリケーション間でデータ交換を行うためのデータ交換手段と、順次配信される複数のデータセットを含む系列データであって、前記複数のデータセットの各々が少なくとも１つのサブデータセットを含む系列データを受信する受信手段と、前記受信手段により受信されたデータセットに含まれる少なくとも１つのサブデータセットのうち対象となるサブデータセットについて、当該サブデータセットと異なるダミーデータセットを生成する第１生成手段と、前記受信手段により受信された系列データに含まれるサブデータセットおよび前記生成手段により生成されたダミーデータセットのうち順次対象となるデータセットに基づいて認証情報を生成する第２生成手段と、前記受信手段により受信された系列データに含まれるサブデータセットおよび前記生成手段により生成されたダミーデータセットのうち順次対象となるデータセットに、前記第２生成手段により生成された認証情報が付加されたデータを、前記データ交換手段を介して提供する提供手段として機能させるためのプログラムを提供する。
このプログラムによれば、複数のアプリケーション間で通信される系列データを保護することができる。
【００１４】
さらに、本発明は、複数のアプリケーション間でデータ交換を行うためのデータ交換手段を有するコンピュータにおける情報処理方法であって、順次配信される複数のデータセットを含む系列データであって、前記複数のデータセットの各々が少なくとも１つのサブデータセットを含む系列データを受信するステップと、前記受信されたデータセットに含まれる少なくとも１つのサブデータセットのうち対象となるサブデータセットについて、当該サブデータセットと異なるダミーデータセットを生成するステップと、前記受信された系列データに含まれるサブデータセットおよび前記生成されたダミーデータセットのうち順次対象となるデータセットに基づいて認証情報を生成するステップと、前記受信された系列データに含まれるサブデータセットおよび前記生成されたダミーデータセットのうち順次対象となるデータセットに、前記生成された認証情報が付加されたデータを、前記データ交換手段を介して提供するステップとを有する情報処理方法を提供する。
この情報処理方法によれば、複数のアプリケーション間で通信される系列データを保護することができる。
【発明の効果】
【００１５】
本発明によれば、複数のアプリケーション間で通信される情報を保護することができる。
【図面の簡単な説明】
【００１６】
【図１】従来技術に係る情報配信システム５の機能構成を示す図。
【図２】サーバ装置１０から配信されるデータを模式的に示す図。
【図３】本発明の一実施形態に係る情報配信システム１の機能構成を示す図。
【図４】クライアント装置２０のハードウェア構成を示す図。
【図５】クライアント装置２０のソフトウェア構成を示す図。
【図６】クライアント装置２０の動作を示すフローチャート。
【図７】認証情報が付加されたデータを例示する図。
【図８】中継アプリケーション２５２によって提供されるデータを例示する図。
【図９】変形例６に係る認証情報を例示する図。
【図１０】変形例６に係る認証情報を例示する図。
【発明を実施するための形態】
【００１７】
１．概要
図１は、従来技術に係る情報配信システム５の機能構成を示す図である。情報配信システム５は、サーバ装置１０と、クライアント装置５０とを有する。サーバ装置１０は、系列データを配信する装置である。系列データとは、順次配信されるデータであって、その順序に従って提示または解析されることによって意味を有する（または意味が増える）データをいう。系列データの一例としては、金融市場の市況情報がある。いま、市況情報の具体例として、株式市場における株価を考える。株価は市況の変化に応じて時々刻々と変化する。株式の取引を行うユーザは、株価の時間的な変化を見て将来の株価の変化を予測し、売買の意思決定をする。例えば、ある単一の時刻（時間軸上の１点）における、ある銘柄の株価が１０００円だったという情報があったとしても、それは売買の意思決定においてはほとんど意味を持たない。時間的にだんだん株価が上昇してきて１０００円になったのか、逆にだんだん下降してきて１０００円になったのかで、その情報の意味はまったく異なるものになる。
【００１８】
図２は、サーバ装置１０から配信されるデータを模式的に示す図である。サーバ装置１０は、データセットＤ１ないしＤｎ（図２ではＤ１〜Ｄ６を図示）を順次配信する。データセットＤ１ないしＤｎは、各々、少なくとも１のサブデータセットを含む。サブデータセットの数は必ずしも一定ではなく、データセットに応じて異なっている。例えば、データセットＤ１は、サブデータセットＳＤ１１、ＳＤ１２、およびＳＤ１３の３つのサブデータセットを含んでいる。別の例で、データセットＤ２は、サブデータセットＳＤ２１およびＳＤ２４の２つのサブデータセットを含んでいる。
【００１９】
１つのデータセットに含まれるサブデータセットは、共通の属性を有している。例えば、あるデータセットに含まれるサブデータセットは、特定の銘柄の株価に関連する市況情報を示している。図２の例では、データセットＤ１、Ｄ３、Ｄ４、およびＤ６が、銘柄Ａの株価に関連するサブデータセットの集合であり、データセットＤ２およびＤ５が、銘柄Ｂの株価に関連するサブデータセットの集合である。
【００２０】
サブデータセットは、各々、少なくとも２つのパラメーター、この例ではタグ（tag）とバリュー（value）とを含んでいる。タグおよびバリューは、それぞれ値を有する。この例で、タグは、市況情報の種類（株価であれば、現在値、始値、高値、安値、または売買高など）を示し、バリューは、タグにより示される市況情報の値を示している。例えば、タグ＝「現在値」かつバリュー＝「１０００」であった場合、このサブデータセットは、株価の現在値が１０００円であることを示している。なお、図２では、タグの値をtag1、tag2、tag3、・・・と表し、バリューの値を、value1、value2、value3、・・・と表す。
【００２１】
この例では、特定の銘柄に対応し、かつ、特定のタグに対応するバリューを含む複数のサブデータセットが、系列データを構成する。図２の例では、サブデータセットＳＤ１１、ＳＤ３１、ＳＤ４１、およびＳＤ６１が、tag1に関する系列データを構成する。
【００２２】
再び図１を参照する。クライアント装置５０は、サーバ装置１０から配信されるデータを受信し、受信したデータを処理する。この例で、クライアント装置５０は、情報処理装置、例えばパーソナルコンピュータである。クライアント装置５０は、中継アプリケーション５１と、クライアントアプリケーション５２と、データ交換部５３とを有する。データ交換部５３は、２つのアプリケーション間で通信（データおよび命令の受け渡し）を行うためのソフトウェアモジュールである。データ交換部５３は、例えばマイクロソフト社のWindows(登録商標)において提供されるＤＤＥ（Dynamic Data Exchange）である。中継アプリケーション５１は、サーバ装置１０から受信したデータセットに含まれる少なくとも１のサブデータセットを、順次、データ交換部５３を介してクライアントアプリケーション５２に提供する。
【００２３】
クライアントアプリケーション５２は、サーバ装置１０から配信されるデータを処理するクライアントソフトウェアである。この例で、クライアントアプリケーション５２は、市販の表計算ソフトウェア（例えばマイクロソフト社のEXCEL（登録商標））に、機能を追加したものである。クライアントアプリケーション５２は、データ交換部５３から、サブデータセットを取得し、取得したデータに対し、表計算機能を用いて演算処理を行う。
【００２４】
データ交換部５３が、ＤＤＥのように任意のアプリケーションからデータ取得可能な場合、以下の問題が起こることがある。いくつかのサービスにおいて、市況情報の配信は有料で行われており、データの再配信が禁じられている。しかし、データ交換部５３がＤＤＥである場合、サーバ装置１０から配信されたデータをデータ交換部５３から取得し、取得したデータを他のユーザに自動的に配信するアプリケーションを、悪意ある（データ配信事業者の意図に反する）者が作成することができてしまう。本実施形態は、このような状況においてデータを保護する技術を提供する。
【００２５】
２．構成
図３は、本発明の一実施形態に係る情報配信システム１の機能構成を示す図である。情報配信システム１は、サーバ装置１０と、クライアント装置２０とを有する。サーバ装置１０については、図１で既に説明した。
【００２６】
クライアント装置２０は、サーバ装置１０から配信されるデータを受信し、受信したデータを処理する装置である。クライアント装置２０は、データ交換手段２１と、データ受信手段２２と、ダミー生成手段２３と、認証情報生成手段２４と、データ提供手段２５とを有する。データ交換手段２１は、複数のアプリケーション間でデータ交換を行う。データ受信手段２２は、系列データを構成するサブデータセットを含むデータセットを受信する。ダミー生成手段２３は、データ受信手段２２により受信されたデータセットに含まれる少なくとも１つのサブデータセットのうち対象となるサブデータセットについて、そのサブデータセットと異なるダミーデータセットを生成する。認証情報生成手段２４は、データ受信手段２２により受信された系列データに含まれるサブデータセットおよびダミー生成手段２３により生成されたダミーデータセットのうち順次対象となるデータセットに基づいて認証情報を生成する。データ提供手段２５は、データ受信手段２２により受信された系列データに含まれるサブデータセットおよびダミー生成手段２３により生成されたダミーデータセットのうち順次対象となるデータセットに、認証情報生成手段２４により生成された認証情報が付加されたデータを、データ交換手段２１を介して提供する。
【００２７】
この例で、ダミー生成手段２３は、データ受信手段２２により系列データに含まれる一のデータセットが受信された場合、ある確率でダミーデータセットを生成する。この確率は、系列データの送信元に応じて異なる。なお、図では単純化のため単一のサーバ装置１０のみを図示しているが、情報配信システム１は複数のサーバ装置１０を有していてもよい。
【００２８】
図４は、クライアント装置２０のハードウェア構成を示す図である。クライアント装置２０は、ＣＰＵ（Central Processing Unit）２０１と、ＲＯＭ（Read Only Memory）２０２と、ＲＡＭ（Random Access Memory）２０３と、ストレージ２０４と、通信インターフェース２０５と、ディスプレイ２０６とを有するコンピュータ装置である。ＣＰＵ２０１は、クライアント装置２０の各部を制御する制御装置（プロセッサ）である。ＲＯＭ２０２は、プログラムおよびデータを記憶する不揮発性の記憶装置である。ＲＡＭ２０３は、ＣＰＵ２０１がプログラムを実行する際の作業領域として機能する揮発性の記憶装置である。ストレージ２０４は、プログラムおよびデータを記憶する不揮発性の記憶装置である。通信インターフェース２０５は、ネットワークを介した通信を行うためのインターフェースであり、この例では特に、サーバ装置１０と通信を行うためのインターフェースである。ディスプレイ２０６は、ＣＰＵ２０１の制御下で、プログラムの実行結果などの情報を表示する装置である。
【００２９】
図５は、クライアント装置２０のソフトウェア構成を示す図である。クライアント装置２０は、ＯＳ（Operating System）２５１と、中継アプリケーション２５２と、クライアントアプリケーション２５３とを有する。ＯＳ２５１は、クライアント装置２０のコンピュータとしての基本機能を提供するシステムソフトウェアである。この例で、ＯＳ２５１は、データ交換部２５１１を有する。データ交換部２５１１は、２つのアプリケーション間でデータ交換を行うためのソフトウェアモジュールである。データ交換部２５１１は、一のアプリケーションから提供されたデータを保持する。データ交換部２５１１は、他のアプリケーションから要求を受けると、保持しているデータを要求元のアプリケーションに提供する。
【００３０】
中継アプリケーション２５２は、サーバ装置１０から系列データを受信し、受信したデータを、データ交換部２５１１を介してクライアントアプリケーション２５３に提供する。中継アプリケーション２５２は、データ受信部２５２１と、ダミー生成部２５２２と、認証情報生成部２５２３と、データ提供部２５２４とを有する。データ受信部２５２１は、サーバ装置１０からデータセットを順次受信する。ダミー生成部２５２２は、決められたタイミングで、系列データを構成するサブデータセットと同じ書式のダミーデータセットを生成する。認証情報生成部２５２３は、データ受信部２５２１が受信したデータセットに含まれるサブデータセット、およびダミー生成部２５２２により生成されたダミーデータセットのうち、順次対象となる一のデータセット（以下「対象データセット」という）について、所定のアルゴリズムで認証情報を生成する。認証情報は、その対象データセットがダミーであるか否かを示す。データ提供部２５２４は、認証情報生成部２５２３により生成された認証情報が付加された対象データを、データ交換部２５１１に提供する。
【００３１】
クライアントアプリケーション２５３は、データ交換部２５１１から系列データを取得し、取得したデータを処理する。クライアントアプリケーション２５３は、データ取得部２５３１と、データ認証部２５３２と、データ提供部２５３３と、処理部２５３４とを有する。データ取得部２５３１は、データ交換部２５１１から、系列データを構成するサブデータセットを取得する。データ認証部２５３２は、データ取得部２５３１が取得したデータを、所定のアルゴリズムで認証する。このアルゴリズムは、認証情報生成部２５２３における認証情報生成のためのアルゴリズムと対応したアルゴリズムである。データ提供部２５３３は、データ認証部２５３２により正しい（ダミーでない）と認証されたデータセットを、処理部２５３４に提供する。処理部２５３４は、データ提供部２５３３から提供されたデータに対し、所定の処理（例えば、表計算機能を利用した演算およびその結果の表示）を行う。
【００３２】
データ受信部２５２１は、データ受信手段２２の一例である。ダミー生成部２５２２は、ダミー生成手段２３の一例である。認証情報生成部２５２３は、認証情報生成手段２４の一例である。データ提供部２５２４は、データ提供手段２５の一例である。クライアントアプリケーション２５３は、処理手段２６の一例である。
【００３３】
３．動作
図６は、クライアント装置２０の動作を示すフローチャートである。以下においては、ＯＳ２５１等のソフトウェアを処理の主体として説明するが、これは、ソフトウェアを実行しているＣＰＵ１０１が、他のハードウェアと協働して処理を実現することを意味する。以下、データ交換部２５１１がＤＤＥであり、中継アプリケーション２５２がＤＤＥのサーバ（ソース）であり、クライアントアプリケーション２５３がＤＤＥのクライアント（デスティネーション）である例を説明する。
【００３４】
ステップＳ１０１において、中継アプリケーション２５２は、サーバ装置１０からデータセットＤ（ここでは、データセットＤ１ないしＤｎを一般化するときは単に「データセットＤ」と表す。サブデータセットについても同様に一般化するときは「サブデータセットＳＤ」と表す）を受信する。中継アプリケーション２５２は、受信したデータセットＤに含まれる１以上のサブデータセットＳＤを、順に、先入れ先出し（ＦＩＦＯ：First In First Out）式のキューに保存する。
【００３５】
ステップＳ１０２において、中継アプリケーション２５２は、サブデータセットＳＤの各々について、ある条件が満たされたときに、ダミーデータセットＤＤを生成する。この条件は、ダミーデータセットＤＤが生成される確率ｒが決められた値となるような条件である。確率ｒは、系列データを構成するサブデータセットＳＤの数に対する、生成されるダミーデータセットＤＤの割合に相当する。例えば、１０００個のサブデータセットＳＤにより系列データが構成される場合に、１００個のダミーデータセットＤＤが生成されるとき、確率ｒは、ｒ＝１００／１０００＝０．１である。ダミーデータセットＤＤは、対応するサブデータセットＳＤと同一の書式で記述されたデータである。ダミーデータセットＤＤが生成された場合、中継アプリケーション２５２は、生成されたダミーデータセットＤＤを、キューに保存する。
【００３６】
この例で、ダミーデータセットＤＤは、一定の制約条件の下で生成される。例えば、系列データが株価を示している場合を例に考える。株価の場合、系列データには、例えば、高値、現在値、安値が含まれる。ここで、ダミーデータとして現在値を完全にランダムに生成してしまうと、現在値が安値より安くなってしまう場合がある。このような場合、そのデータがダミーであることが一見して分かってしまう。したがって中継アプリケーション２５２は、一定の制約条件（例えば、現在値についてダミーを生成する際には、安値以上かつ高値以下の範囲でランダムに生成された数値であること）を満たすように、ダミーデータを生成する。中継アプリケーション２５２は、この制約条件を記述したデータベースを有しており、このデータベースを参照してダミーデータを生成する。
【００３７】
ステップＳ１０３において、中継アプリケーション２５２は、キューから読み出したデータセット（サブデータセットＳＤまたはダミーデータセットＤＤ。以下「対象データセット」という）を用いて、所定のアルゴリズムで、認証情報を生成する。認証情報は、その対象データセットが、ダミーでない（正当な）サブデータセットＳＤであるかダミーデータセットＤＤであるかを示す情報である。ここで用いられるアルゴリズムは、例えば、ハッシュ関数を用いたアルゴリズムである。より具体的には、中継アプリケーション２５２は、その対象データセットがダミーであるか否かを示すフラグから、所定のハッシュ関数を用いて計算されるハッシュ値を認証情報として用いる。
【００３８】
図７は、認証情報が付加されたデータを例示する図である。ここでは、データセットＤ１に含まれるサブデータセットＳＤ１１、ＳＤ１２、およびＳＤ１３に、それぞれ認証情報が付加されている。サブデータセットＳＤ１１、ＳＤ１２、およびＳＤ１３自体は、暗号化などの処理は特にされておらず、平文のままである。
【００３９】
再び図６を参照する。ステップＳ１０４において、クライアントアプリケーション２５３は、中継アプリケーション２５２に対し、ＤＤＥによる接続要求を送信する。ＤＤＥクライアントであるクライアントアプリケーション２５３から接続要求を受けると、ＤＤＥサーバである中継アプリケーション２５２は、接続要求の送信元との間で通信（プロセス間通信または接続セッション）確立する。
【００４０】
ステップＳ１０５において、中継アプリケーション２５２は、ＤＤＥ通信を介して、クライアントアプリケーション２５３にデータを送信する。ここで送信されるデータは、ステップＳ１０３において生成された認証情報が付加されたデータ（図７で例示したデータ）である。実際には、中継アプリケーション２５２とクライアントアプリケーション２５３との間にＤＤＥ通信が確立された後も、ステップＳ１０１〜Ｓ１０３の処理は継続的に行われる。中継アプリケーション２５２は、データが更新されるたび（すなわち、ステップＳ１０３において認証情報が生成されるたび）に、ＤＤＥクライアントであるクライアントアプリケーション２５３に、データを送信する。別の例で、中継アプリケーション２５２は、クライアントアプリケーション２５３からデータ送信の要求があったときに、データを送信してもよい。
【００４１】
ステップＳ１０６において、クライアントアプリケーション２５３は、受信したデータを解読する。クライアントアプリケーション２５３は、例えば、ステップＳ１０３において用いられたものと共通のアルゴリズムで、認証情報を生成する。すなわち、クライアントアプリケーション２５３は、受信したデータセットがダミーでないことを示すフラグから、所定のハッシュ関数を用いてハッシュ値を計算する。クライアントアプリケーション２５３は、受信したデータセットに認証情報として付加されていたハッシュ値と、自ら計算したハッシュ値とを比較して、両者が一致した場合には、そのデータセットが正しい（ダミーでない）データセットであると判断する。両者が一致しない場合には、クライアントアプリケーション２５３は、そのデータセットがダミーデータセットであると判断する。
【００４２】
ステップＳ１０７において、クライアントアプリケーション２５３は、正当なデータセットであると判断されたデータセットを用いて、所定の処理を行う。
【００４３】
図８は、中継アプリケーション２５２によって提供されるデータを例示する図である。図８（Ａ）は、系列データを、図８（Ｂ）はダミーデータが追加された系列データを示している。すなわち、図８（Ａ）は本実施形態に係る情報配信システム１を用いない場合にクライアントアプリケーション２５３に提供されるデータを、図８（Ｂ）は本実施形態に係る情報配信システム１を用いた場合にクライアントアプリケーション２５３に提供されるデータを、それぞれ示している。★印が付されたものがダミーデータである。
【００４４】
情報配信システム１を用いた場合、系列データに、系列データを構成しないデータが混入される。したがって、例えば、悪意ある者が作成したアプリケーションプログラムが、中継アプリケーション２５２とＤＤＥ接続し、受信したデータをそのまま第三者に配信したとしても、もはやそのデータは、系列データとしての価値を失っている。一方で、正当なクライアントアプリケーションであるクライアントアプリケーション２５３は、ダミーデータを解読し除去する機能を有しているので、正しいデータだけを処理することができる。このように、情報配信システム１によれば、サーバ装置１０とから配信されるデータを保護することができる。
【００４５】
４．変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち、２つ以上のものが組み合わせて用いられてもよい。
【００４６】
４−１．変形例１
実施形態においては、ダミーデータセットＤＤが生成される確率ｒが一定である例を説明した。しかし、確率ｒは種々の属性に応じて変更されてもよい。一般に、確率ｒが大きいほど（ダミーデータが挿入される頻度が高いほど）データの保護強度は強いと考えられる。例えば、複数のサーバ装置からデータが配信される場合に、データの送信元であるサーバ装置に応じて確率ｒを変更してもよい。例えば、データ配信料（接続料）がより高いサーバ装置Ａと、より安いサーバ装置Ｂとがある場合に、データの送信元がサーバ装置Ａである場合にダミーデータセットＤＤが生成される確率ｒＡと、データの送信元がサーバ装置Ｂである場合にダミーデータセットＤＤが生成される確率ｒＢとは、ｒＡ＞ｒＢの関係にあってもよい。別の例で、データセットＤの属性（例えば銘柄）に応じて、確率ｒが変更されてもよい。さらに別の例で、クライアント装置２０のユーザに応じて、確率ｒが変更されてもよい。これらの例によれば、種々の属性に応じてデータ保護の強度を変更することができる。
【００４７】
４−２．変形例２
認証情報を生成するためのアルゴリズムは、実施形態で説明したものに限定されない。例えば、中継アプリケーション２５２は、そのデータセットがダミーであるか否かを示すフラグをいわゆる暗号鍵で暗号化したデータを、認証情報として用いてもよい。この場合、クライアントアプリケーション２５３は、対応する復号鍵で認証情報を複号して、認証情報を解読する。また、中継アプリケーション２５２とクライアントアプリケーション２５３との間で通信されるデータも、暗号鍵で暗号化されてもよい。
【００４８】
４−３．変形例３
認証情報の生成に用いられる情報は、実施形態で説明したものに限定されない。例えば、中継アプリケーション２５２は、ＯＳ２５１により提供されるシステムクロック等、クライアント装置２０に依存した情報を用いて認証情報を生成してもよい。なおこの場合、クライアント装置２０（ＯＳ２５１）は、クロックを供給する供給手段を有する。中継アプリケーション２５２は、クロックを示すクロックデータを認証情報として付与する。クライアントアプリケーション２５３は、認証情報に含まれるクロックデータにより示されるクロックと、自身が参照する（ＯＳ２５１により提供される）クロックとの差が所定のしきい値以下である場合、その認証情報に含まれる、対象データセットがダミーであるか否かを示す情報が正当であると判断される。
【００４９】
４−４．変形例４
データ交換手段２１および処理手段２６の具体例は、実施形態で説明したものに限定されない。実施形態で説明した以外のソフトウェアが、データ交換手段２１および処理手段２６としての機能を有していてもよい。
【００５０】
４−５．変形例５
ダミーデータセットを生成する契機となるイベントは、サーバ装置１０からデータセットを受信したというイベントに限定されない。例えば、中継アプリケーション２５２は、周期的に、ダミーデータセットを生成するか否かを判断してもよい。この場合、キューに保存されているデータを用いて、ダミーデータセットが生成される。また、上述の実施形態においては、１つのサブデータセットＳＤから最大１つのダミーデータセットＤＤが生成される例を説明したが、１つのサブデータセットＳＤから、複数のダミーデータセットＤＤが生成されてもよい。
【００５１】
別の例で、中継アプリケーション２５２とクライアントアプリケーション２５３との間で接続が確立されたことを契機として、ダミーデータが生成されてもよい。すなわち、図６では、ダミーデータの生成後に、接続セッションを介してデータを送信する例を説明したが、クライアント装置２０の動作はこれに限定されない。ダミーデータを生成後、接続セッション毎に送信する方法によれば、複数の接続セッションのデータを収集することで、正しいデータを見つけ出される（ダミーを解読される）可能性がある。これに対し、接続セッション毎にダミーデータを生成する方法によれば、正しいデータを見つけ出される可能性を低減することができる。
【００５２】
４−６．変形例６
データと認証情報の対応関係は実施形態で説明したものに限定されない。実施形態では、サブデータセットＳＤと認証情報とが一対一に対応する例を説明した。例えば、認証情報は、データセットＤ毎に付与されてもよい。
【００５３】
図９は、変形例６に係る認証情報を例示する図である。図において左側は、オリジナルの（ダミーが生成される前の）データセットＤ１を、右側は、ダミー生成後のデータセットＤ１を示している。この例では、サブデータセットＳＤ１１に対して、ダミーデータセットＤＤ１１が生成されている。この例で、認証情報生成手段２４は、ダミー生成後のデータセットＤ１全体に対して、単一の認証情報を生成する。この認証情報は、何番目のデータがダミーであるかを示す情報（この例では２番目のデータダミーであることを示す情報）を含む。
【００５４】
図１０は、変形例６に係る認証情報の別の例を示す図である。図において左側はオリジナルのデータセットＤ１を、右側は、データセットＤ１に対して生成されたダミーデータのみを含むデータセットＤ１ｄを示している。この例では、データセットＤ１全体に対して単一の認証情報（サブデータセット全部が正当であることを示す）が付与され、データセットＤ１ｄに全体対して単一の認証情報（サブデータセット全部がダミーであることを示す）が付与される。
【００５５】
４−７．変形例７
サーバ装置１０がデータを配信する方法は、実施形態で説明したものに限定されない。実施形態においては、サーバ装置１０は、市況の変化があるごとにデータを配信する、いわゆるアップデート方式によりデータを配信していた。しかし、サーバ装置１０は、クライアント装置２０からの要求に応じて、取引データ（複数のデータセット）を一括して送信する。いわゆるリクエスト・リプライ方式によりデータを配信してもよい。この場合において、中継アプリケーション２５２は、取引データに含まれる複数のデータセットの各々について、ダミーデータ生成の判断を行い、ダミーデータを生成する。すなわち、中継アプリケーション２５２は、単一の取引データに対し、内部に複数のダミーデータセットを挿入する。
【００５６】
４−８．他の変形例
サーバ装置１０から配信されるデータは、市況情報に限定されない。また、上述の実施形態においてＣＰＵ２０１によって実行されるプログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ、ＦＤ（Flexible Disk））など）、光記録媒体（光ディスク（ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk））など）、光磁気記録媒体、半導体メモリ（フラッシュＲＯＭなど）などのコンピュータ読取り可能な記録媒体に記憶した状態で提供されてもよい。また、このプログラムは、インターネットのようなネットワーク経由でダウンロードされてもよい。
【符号の説明】
【００５７】
１…情報配信システム、５…情報配信システム、１０…サーバ装置、２０…クライアント装置、２１…データ交換手段、２２…データ受信手段、２３…ダミー生成手段、２４…認証情報生成手段、２５…データ提供手段、５０…クライアント装置、５１…中継アプリケーション、５２…クライアントアプリケーション、５３…データ交換部、２０１…ＣＰＵ、２０２…ＲＯＭ、２０３…ＲＡＭ、２０４…ストレージ、２０５…通信インターフェース、２０６…ディスプレイ、２５１…ＯＳ、２５２…中継アプリケーション、２５３…クライアントアプリケーション、２５１１…データ交換部、２５２１…データ受信部、２５２２…ダミー生成部、２５２３…認証情報生成部、２５２４…データ提供部、２５３１…データ取得部、２５３２…データ認証部、２５３３…データ提供部、２５３４…処理部
【要約】
【課題】複数のアプリケーション間で通信される情報を保護する。
【解決手段】データ交換手段２１は、複数のアプリケーション間でデータ交換を行う。データ受信手段２２は、系列データを構成するサブデータセットを含むデータセットを受信する。ダミー生成手段２３は、データ受信手段２２により受信されたデータセットに含まれる少なくとも１つのサブデータセットのうち対象となるサブデータセットについて、そのサブデータセットと異なるダミーデータセットを生成する。認証情報生成手段２４は、データ受信手段２２により受信された系列データに含まれるサブデータセットおよびダミー生成手段２３により生成されたダミーデータセットのうち順次対象となるデータセットに基づいて認証情報を生成する。データ提供手段２５は、認証情報生成手段２４により生成された認証情報が付加されたデータを、データ交換手段２１を介して提供する。
【選択図】図３【図１】
0005137046.tif 000002
【図２】
0005137046.tif 000003
【図３】
0005137046.tif 000004
【図４】
0005137046.tif 000005
【図５】
0005137046.tif 000006
【図６】
0005137046.tif 000007
【図７】
0005137046.tif 000008
【図８】
0005137046.tif 000009
【図９】
0005137046.tif 000010
【図１０】
0005137046.tif 000011