(57)【要約】【課題】  本物のデータとそのダミーデータとを送信することで、外部からはリアルデータが特定できないようにすることで情報の機密性を高め、送信者の匿名性も確保する。【解決手段】  各端末装置(10,20,30,40)が参加したグループ内でグループ公開鍵を共有し、送信側端末(10)と受信側端末(20)との間で個人公開鍵を共有する。個人公開鍵は、ブロードキャストにてグループ内ネットワークに送信する。送信側端末(10)は、受信側端末(20)に送信するための送信用データを作成し、その送信用データを二重に暗号化処理する。送信側端末(10)は暗号化された送信用データを、グループ内の各端末装置のいずれかにランダム送信する。送信用データを受信した端末装置が受信側端末(20)であれば復号化に成功し、リアルデータを取得できるが、他の端末では復号化できない。リアルデータ取得後、他の端末装置(30,40)に対してランダム送信を行いデータ送信元の特定を防止する。【選択図】    図４
2008245145.tif 000002
【特許請求の範囲】
【請求項１】
予め所定の取り決めによって作成されたグループに参加する複数の端末装置にインストールされるとともに、リアルデータの受信者として指定された端末装置のみが当該リアルデータを受信可能としたセキュリティプログラムであって、
そのプログラムは、
グループユーザとして認証された端末装置が取得可能なグループ公開鍵を送信するグループ公開鍵送信手順と、
リアルデータの受信者として指定された受信側端末と、リアルデータを送信する送信側端末との間で個人公開鍵として共有するとともに、前記グループ内の他の端末装置に対してもブロードキャスト送信によってダミーとして機能させたダミーパケット送信手順と、
前記リアルデータと、そのリアルデータとはデータ構造が同じダミーデータから作成された送信用データを暗号化する第一暗号化手順と、
その第一暗号化手順によって暗号化された送信用データをさらに暗号化する第二暗号化手順と、
その第二暗号化手順によって暗号化された送信用データを、前記グループ内における複数の端末装置からランダムに選択して送信するランダム送信手順とを実行可能であるとともに、
前記グループに係る別の端末装置によって実行されたランダム送信手順が送信した送信用データを受信した所定の端末装置が、その送信用データを復号化できるか否かを判別する復号化判別手順と、
その復号化判別手順によって受信した送信用データからリアルデータを抽出することができた場合、当該端末装置から他の端末装置に対して暗号化した送信用データをランダム送信するダミーパケットランダム送信手順と、
をコンピュータに実行させることとしたセキュリティプログラム。
【請求項２】
予め所定の取り決めによって作成されたグループに参加する複数の端末装置にインストールされるとともに、リアルデータの受信者として指定された端末装置のみが当該リアルデータを受信可能としたセキュリティプログラムであって、
そのプログラムは、
グループユーザとして認証された端末装置が取得可能なグループ公開鍵を送信するグループ公開鍵送信手順と、
リアルデータの受信者として指定された受信側端末と、リアルデータを送信する送信側端末との間で個人公開鍵として共有するとともに、前記グループ内の他の端末装置に対してもブロードキャスト送信によってダミーとして機能させたダミーパケット送信手順と、
前記リアルデータと、そのリアルデータとはデータ構造が同じダミーデータから作成された送信用データを暗号化する第一暗号化手順と、
その第一暗号化手順によって暗号化された送信用データをさらに暗号化する第二暗号化手順と、
その第二暗号化手順によって暗号化された送信用データを、前記グループ内における複数の端末装置からランダムに選択して送信するランダム送信手順とを実行可能であるとともに、
前記グループに係る別の端末装置によって実行されたランダム送信手順が送信した送信用データを受信した所定の端末装置が、その送信用データを復号化できるか否かを判別する復号化判別手順と、
その復号化判別手順によって受信した送信用データからリアルデータを抽出することができない場合、当該端末装置から他の端末装置に対して送信用データをランダム送信するダミーパケットランダム送信手順と、
をコンピュータに実行させることとしたセキュリティプログラム。
【請求項３】
前記ダミーパケットは、リアルデータと同じデータ構造によって形成されていることを特徴とする請求項１または請求項２に記載のセキュリティプログラム。
【請求項４】
前記第一暗号化手順は、前記第一暗号化手順は、共通鍵を作成する共通鍵作成手順と、前記送信用データをその共通鍵で暗号化する共通鍵暗号化手順と、
その暗号化された共通鍵を、前記受信側端末が作成した個人公開鍵にて暗号化する公開鍵暗号化手順と、
前記個人公開鍵、暗号化された共通鍵および暗号化された送信用データを一つのデータとして連結する連結データ作成手順と、
を備えたことを特徴とする請求項１から請求項３のいずれかに記載のセキュリティプログラム。
【請求項５】
前記第二暗号化手順は、前記第二暗号化手順は、第二共通鍵を作成する第二共通鍵作成手順と、
その第二共通鍵作成手順で作成した第二共通鍵を用いて連結データを暗号化する連結データ暗号化手順と、
その暗号化された第二共通鍵を、前記グループ公開鍵Ｇにて暗号化するグループ公開鍵暗号化手順と、
前記グループ公開鍵Ｇ、暗号化された第二共通鍵および暗号化された送信用データを一つのデータとして連結する第二連結データ作成手順と、
を備えたことを特徴とする請求項１から請求項４のいずれかに記載のセキュリティプログラム。
【請求項６】
請求項１に記載のセキュリティプログラムを、インターネットまたはイントラネットを介して前記各端末装置と接続されて利用可能としたことを特徴とするサーバ。
【請求項７】
請求項２に記載のセキュリティプログラムを、インターネットまたはイントラネットを介して前記各端末装置と接続されて利用可能としたことを特徴とするサーバ。
【請求項８】
請求項３に記載のセキュリティプログラムを、インターネットまたはイントラネットを介して前記各端末装置と接続されて利用可能としたことを特徴とするサーバ。
【請求項９】
請求項４に記載のセキュリティプログラムを、インターネットまたはイントラネットを介して前記各端末装置と接続されて利用可能としたことを特徴とするサーバ。
【請求項１０】
請求項５に記載のセキュリティプログラムを、インターネットまたはイントラネットを介して前記各端末装置と接続されて利用可能としたことを特徴とするサーバ。
【請求項１１】
前記サーバがアプリケーションサービスプロバイダであることを特徴とする請求項６から請求項１０のいずれかに記載のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報セキュリティの技術に関し、特に、通信の機密性および匿名性を確保するための情報処理技術に関する。
【背景技術】
【０００２】
インターネットを利用したコンピュータネットワークでは、通常、ルータやスイッチと呼ばれるネットワーク機器をひとつ以上介在させることで、複数のコンピュータ間での通信が行われる。これらルータやスイッチなどのネットワーク機器は、コンピュータ同士の通信の記録や、それぞれの識別番号および通信を行った時刻、簡単なプログラムの情報などを記録するログ機能を備えている。
ログ機能にて記録されたログ情報を解析すれば、通信履歴を追跡することができる。
【０００３】
ネットワーク上の機密性を確保する技術としては、特開２００７−３４６５１号公報などが知られている。この技術は、個人情報や機密情報を含むファイルが、万人が参照可能な状態で各端末から外部へ持ち出されたり送信されたりするのを抑止できるようにして、個人情報や機密情報の不用意な流出・漏洩や不正利用などを確実に防止するための技術である。
【０００４】
【特許文献１】特開２００７−３４６５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
一方、上述したルータやスイッチなどのネットワーク機器のログ情報に第三者がアクセスできると、通信履歴を追跡することができる。このため、高度な機密性を要求される通信には向いていない。また、ファイル送信したユーザ（コンピュータ）の特定を防止したいという要望もあり、送信者の匿名性確保も課題とされていた。
なお、特許文献１に記載の技術では、情報漏洩に対する防止技術が記載されているが、上記課題を解決する技術は開示されていない。
【０００６】
そこで、本発明が解決しようとする課題は、コンピュータ間における通信の機密性および送信者の匿名性を確保することが可能な技術を提供することにある。
請求項１から請求項５に記載の発明の目的は、コンピュータ間における通信の機密性および匿名性を確保することが可能なコンピュータプログラムを提供することである。
請求項６から請求項１１に記載の発明の目的は、コンピュータ間における通信の機密性および匿名性を確保することが可能なサーバを提供することである。
【課題を解決するための手段】
【０００７】
本願発明では、本物のデータ（リアルデータ）と、そのダミーデータとを送信することで、外部からはリアルデータが特定できないようにすることで情報の機密性を高め、送信者の匿名性も確保する。
（請求項１）
請求項１記載の発明は、予め所定の取り決めによって作成されたグループに参加する複数の端末装置にインストールされるとともに、リアルデータの受信者として指定された端末装置のみが当該リアルデータを受信可能としたセキュリティプログラムを提供する。
そのプログラムは、グループユーザとして認証された端末装置が取得可能なグループ公開鍵を送信するグループ公開鍵送信手順と、  リアルデータの受信者として指定された受信側端末と、リアルデータを送信する送信側端末との間で個人公開鍵として共有するとともに、前記グループ内の他の端末装置に対してはブロードキャスト送信によってダミーとして機能させたダミーパケット送信手順と、  前記リアルデータと、そのリアルデータとはデータ構造が同じダミーデータから作成された送信用データを暗号化する第一暗号化手順と、  その第一暗号化手順によって暗号化された送信用データをさらに暗号化する第二暗号化手順と、  その第二暗号化手順によって暗号化された送信用データを、前記グループ内における複数の端末装置からランダムに選択して送信するランダム送信手順とを、コンピュータが実行可能とする。
また、前記グループに係る別の端末装置によって実行されたランダム送信手順が送信した送信用データを受信した所定の端末装置が、その前記送信用データを復号化できるか否かを判別する復号化判別手順と、  その復号化判別手順によって受信した送信用データからリアルデータを抽出することができた場合、当該端末装置から他の端末装置に対して暗号化した送信用データをランダム送信するダミーパケットランダム送信手順と、をコンピュータに実行させることとしたセキュリティプログラムである。
【０００８】
（用語説明）
「端末装置」とは、パーソナルコンピュータ、ワークステーション、PDA、携帯電話など、ユーザに係る端末装置のことである。
「グループ」とは、リアルデータをやり取りする送信者と受信者との間で作成したものであり、グループ公開鍵を共有することによってグループ外部からのアクセス制限を行っている。
「ダミーパケット」とは、リアルデータの受信者として指定された受信側端末は、個人公開鍵として送信側端末と共有する。一方、他の受信側端末（非受信側端末）も同じダミーパケットを受信するが、リアルデータの受信者ではないため、ダミーとしてしか受信できない。表面上は、同じデータ構造がネットワーク上に流れていることになる。
【０００９】
「送信用データ」とは、リアルデータまたはダミーデータから構成されるデータである。リアルデータかダミーデータかの判別は、ハッシュ値などによって判別される。
「ランダム送信」とは、グループ内の端末装置のすべてを対象としてランダムに選択して送信用データを送信する処理である。送信用データは、二重に暗号化されているので、リアルデータの受信者として指定された端末以外は受信することはできない。
「ダミーパケットランダム送信」とは、受信側端末がリアルデータを正常に受信したあとも、ランダム送信を引き続き繰り返す処理である。なお、この繰り返し処理をどの程度続けていくかは、適宜設定することが望ましく、このようにすれば、ネットワークの輻輳を防止することができる。
【００１０】
（作用）
送信側端末からランダムに送信されてきた『送信用データ』を、予め指定された正当な受信側端末が受信した場合の処理である。
まず、グループ公開鍵と個人公開鍵を共有する。グループ公開鍵は、グループに参加している端末装置全体に送信する。個人公開鍵は、グループに参加し、かつリアルデータの送信者が指定した受信者（受信側端末）のみで共有している。つまり、リアルデータを取得するには、グループ公開鍵と個人公開鍵の二つの鍵が必要となる。
【００１１】
この個人公開鍵をグループ内ネットワークにブロードキャスト送信する。これは、受信側端末のみが開封できるのだが、他の端末装置に対しても送信することで、ダミーデータとしても機能する。このように、グループ内に定期的にダミーパケットを送信することで、一定のセキュリティが保たれる。
また、第一暗号化手順がリアルデータとダミーデータを『送信用データ』として作成して暗号化する。第一暗号化手順は、共通鍵を作成し、その共通鍵と受信者の公開鍵とで暗号化する。このダミーデータは、リアルデータとデータ構造が同じであるため、外部からは判別不可能となり、機密性の向上に寄与する。
【００１２】
続いて、第一暗号化手順が暗号化した『送信用データ』を、第二暗号化手順がさらに暗号化する。第二暗号化手順は、グループ用の共通鍵とグループ公開鍵で暗号化する。
暗号化した『送信用データ』は、グループ内の全ての端末装置に対してランダムに送信する。
ここで、『送信用データ』を受信した端末装置が、受信者として指定された端末装置であった場合には、復号化に成功する。復号化によってリアルデータを取得したら、再び暗号化し、他の端末装置に対して『送信用データ』をランダムに送信する。
【００１３】
すなわち、定常的にダミーパケットをグループ内ネットワーク上に送信することで、送信者自体の特定が困難となり、匿名性が確保される。そして、最も重要なリアルデータのいても、予め送信者が指定した正当な端末装置である受信側端末以外では復号化に必要な鍵がなく取得できない。さらに、リアルデータを取得後にも処理を終了させることなく、再び同じように他の端末装置に対してランダム送信することで、外部からも送信者と受信者の特定が困難となり、匿名性を確保することに寄与する。
【００１４】
（請求項２）
請求項２記載の発明は、予め所定の取り決めによって作成されたグループに参加する複数の端末装置にインストールされるとともに、リアルデータの受信者として指定された端末装置のみが当該リアルデータを受信可能としたセキュリティプログラムを提供する。
そのプログラムは、グループユーザとして認証された端末装置が取得可能なグループ公開鍵を送信するグループ公開鍵送信手順と、  リアルデータの受信者として指定された受信側端末と、リアルデータを送信する送信側端末との間で個人公開鍵として共有するとともに、前記グループ内の他の端末装置に対してもブロードキャスト送信によってダミーとして機能させたダミーパケット送信手順と、  前記リアルデータと、そのリアルデータとはデータ構造が同じダミーデータから作成された送信用データを暗号化する第一暗号化手順と、  その第一暗号化手順によって暗号化された送信用データをさらに暗号化する第二暗号化手順と、  その第二暗号化手順によって暗号化された送信用データを、前記グループ内における複数の端末装置からランダムに選択して送信するランダム送信手順とを、コンピュータに実行させる。
また、前記グループに係る別の端末装置によって実行されたランダム送信手順が送信した送信用データを受信した所定の端末装置が、その送信用データを復号化できるか否かを判別する復号化判別手順と、  その復号化判別手順によって受信した送信用データからリアルデータを抽出することができない場合、当該端末装置から他の端末装置に対して送信用データをランダム送信するダミーパケットランダム送信手順と、をコンピュータに実行させることとしたセキュリティプログラムである。
【００１５】
（作用）
本発明は、送信側端末からランダムに送信された『送信用データ』が、予め指定された正当な受信側端末以外の非受信側端末が受信した場合の処理である。つまり、ランダムに送信されれば『送信用データ』が受信側端末に一回で送信される確率は低い。
請求項１の処理と異なる点は、非受信側端末が『送信用データ』を受信すると、送信側端末から送信された『送信用データ』からリアルデータを抽出することができないことになるが、この場合であっても他の端末装置に対して『送信用データ』をランダム送信するように設定されている。これは、リアルデータの取得の有無に関らず、常に同じ処理を繰り替えし行うことで、第三者からの匿名性や機密性を確保することが可能となる。
【００１６】
（請求項３）
請求項３記載の発明は、請求項１または請求項２に記載のセキュリティプログラムを限定したものである。
すなわち、前記ダミーパケットは、リアルデータと同じデータ構造によって形成されていることを特徴とする。
【００１７】
（作用）
ダミーパケットがリアルデータと同じデータ構造であれば、グループ内ネットワーク上にリアルデータと同じデータ構造をもつダミーデータが氾濫することとなる。このため、機密性を高めることができる。
【００１８】
（請求項４）
請求項４記載の発明は、請求項１から請求項３のいずれかに記載のセキュリティプログラムを限定したものである。
すなわち、前記第一暗号化手順は、共通鍵を作成する共通鍵作成手順と、前記送信用データをその共通鍵で暗号化する共通鍵暗号化手順と、  その暗号化された共通鍵を、前記受信側端末が作成した個人公開鍵にて暗号化する公開鍵暗号化手順と、  前記個人公開鍵、暗号化された共通鍵および暗号化された送信用データを一つのデータとして連結する連結データ作成手順と、
を備えたことを特徴とする。
【００１９】
（作用）
第一暗号化手順を図７に基づいて説明すると、暗号化αに相当する。
すなわち、送信側端末にあたるグループ子（１）が共通鍵（１）を作成し（共通鍵作成手順）、その共通鍵（１）を用いて送信用データを暗号化する（共通鍵暗号化手順）。
続けて、作成した共通鍵（１）を受信側端末にあたるグループ子（２）から入手し、個人公開鍵［２］で暗号化する（公開鍵暗号化手順）。
そして、個人公開鍵［２］、暗号化された共通鍵（１‘）および暗号化された送信用データを一つのデータとして連結する（連結データ作成手順）。
【００２０】
（請求項５）
請求項５記載の発明は、請求項１から請求項４のいずれかに記載のセキュリティプログラムを限定したものである。
すなわち、前記第二暗号化手順は、第二共通鍵を作成する第二共通鍵作成手順と、  その第二共通鍵作成手順で作成した第二共通鍵を用いて連結データを暗号化する連結データ暗号化手順と、  その暗号化された第二共通鍵を、前記グループ公開鍵Ｇにて暗号化するグループ公開鍵暗号化手順と、  前記グループ公開鍵Ｇ、暗号化された第二共通鍵および暗号化された送信用データを一つのデータとして連結する第二連結データ作成手順と、を備えたことを特徴とする。
【００２１】
（作用）
第二暗号化手順を図７に基づいて説明すると、暗号化βに相当する。
まず、送信側端末にあたるグループ子（１）が共通鍵（ｇ）を作成し（第二共通鍵作成手順）、この作成した共通鍵（ｇ）を用いて連結データを暗号化する（連結データ暗号化手順）。続けて、共通鍵（ｇ）をグループ公開鍵Ｇで暗号化する（グループ公開鍵暗号化手順）。
そして、グループ公開鍵Ｇ、暗号化された共通鍵（ｇ‘）および暗号化された送信用データを一つのデータとして連結する（第二連結データ作成手順）。
これらの暗号化した各データを連結して連結データとして形成され、この連結データのデータ構造は、グループ公開鍵Ｇ、暗号化された共通鍵（ｇ‘）暗号化された送信用データからなる。すなわち、暗号化αで暗号化した連結データを、さらに暗号化βによって暗号化しているので、『送信用データ』のセキュリティが向上する。
【００２２】
請求項１から請求項５に記載のコンピュータプログラムを、記録媒体へ記憶させて提供することもできる。ここで、「記録媒体」とは、それ自身では空間を占有し得ないプログラムを担持することができる媒体である。例えば、フレキシブルディスク、ハードディスク、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＭＯ（光磁気ディスク）、ＤＶＤ±Ｒ、ＤＶＤ-ＲＷ、フラッシュメモリなどである。また、この発明に係るプログラムを格納したコンピュータから、通信回線を通じて他の端末装置へ伝送することも可能である。
【００２３】
（請求項６）
請求項６記載の発明は、請求項１に記載のセキュリティプログラムを、インターネットまたはイントラネットを介して前記各端末装置が接続されて利用可能としたことを特徴とするサーバを提供する。
【００２４】
（作用）
前述のセキュリティプログラムは、各端末装置のハードディスクなどの記憶媒体にインストールされて動作しているが、この機能をクライアント・サーバ型によって提供するものである。すなわち、各端末装置は、インターネットまたはイントラネットを介してサーバに接続し、セキュリティプログラムをインストールすることで動作可能としている。
本発明によれば、ユーザが利用する端末装置にセキュリティプログラムがインストールされていない場合であっても動作可能となるため、場所を選ぶことなく利用可能となる。このため、汎用性が高まる。
【００２５】
（請求項７）
請求項７記載の発明は、請求項２に記載のセキュリティプログラムを、インターネットまたはイントラネットを介して前記各端末装置が接続されて利用可能としたことを特徴とするサーバを提供する。
【００２６】
（請求項８）
請求項８記載の発明は、請求項３に記載のセキュリティプログラムを、インターネットまたはイントラネットを介して前記各端末装置が接続されて利用可能としたことを特徴とするサーバを提供する。
【００２７】
（請求項９）
請求項９記載の発明は、請求項４に記載のセキュリティプログラムを、インターネットまたはイントラネットを介して前記各端末装置が接続されて利用可能としたことを特徴とするサーバを提供する。
【００２８】
（請求項１０）
請求項１０記載の発明は、請求項５に記載のセキュリティプログラムを、インターネットまたはイントラネットを介して前記各端末装置が接続されて利用可能としたことを特徴とするサーバを提供する。
【００２９】
（請求項１１）
請求項１１記載の発明は、請求項６から請求項１０のいずれかに記載のサーバを限定したものである。
すなわち、前記サーバは、アプリケーションサービスプロバイダとして使用可能であるようにしたことを特徴とする。
【００３０】
（作用）
各端末装置は、インターネットに接続された環境でウェブブラウザソフトを使用し、アプリケーションサービスプロバイダ（以下、ASPと表記する）のサーバにアクセスし、そのASPからセキュリティプログラムを提供されて利用できる。
各端末装置には、インターネット利用環境とウェブブラウザソフトがあれば利用できるため、例えば社内で利用する場合などのシステム管理が容易となる。
また、利用形態としては、レンタル制などの契約に基づくものが一般的である。
なお、ASP型として利用するに際しては、セキュリティプログラムの実装前の試用や、テスト的な運用としても利用可能である。
【発明の効果】
【００３１】
請求項１から請求項５に記載の発明によれば、コンピュータ間における通信の機密性および匿名性を確保することが可能なコンピュータプログラムを提供することができた。
請求項６から請求項１１に記載の発明によれば、コンピュータ間における通信の機密性および匿名性を確保することが可能なサーバを提供することができた。
【発明を実施するための最良の形態】
【００３２】
以下、本発明を実施の形態および図面に基づいて、更に詳しく説明する。ここで使用する図面は、図１から図１０である。図１は、グループ化された端末装置間におけるデータの流れを模式的に示した概念図であり、図２および図３は、各端末装置のハードウェア構成を示したブロック図であり、図４は、各端末装置間のデータ送信を示したフローチャートであり、図５は、グループ作成における各処理を示したフローチャートであり、図６は、グループ鍵の作成を示したフローチャートであり、図７は、送信側端末による暗号化処理を示したフローチャートであり、図８は、受信側端末による復号化処理を示したフローチャートであり、図９は、各端末装置が、サーバからセキュリティプログラムをインストールして利用する形態を示した概念図であり、図１０は、セキュリティプログラムをＡＳＰ型で提供する場合の形態を示した概念図である。
【００３３】
（全体構成）
図１に示すように、本発明に係る情報セキュリティシステムは、複数の端末装置１０，２０，３０間において所定のファイルを送受信するために構成されたシステムであり、ファイルの機密性および匿名性を確保することを目的としたものである。
この情報セキュリティシステムでは、ファイルの送受信を行うために、複数の端末装置が参加可能な『グループ』を作成し、この『グループ』に登録されていない端末装置は、当該情報セキュリティシステムのネットワークには参加できないようになっている。そして、作成したグループ内ネットワークにおいてファイルの送受信が行われるのだが、この際、送信者ユーザの匿名性と、送信者ユーザが送信したファイルの機密性を確保することが可能となっている。
【００３４】
なお、本実施形態における複数の端末装置としては、前述のファイルを送信する端末装置を『送信側端末』、そのファイルの受信者として指定された端末装置を『受信側端末』およびファイルの受信者として指定されていない端末装置を『非受信側端末』と定義している。以下、本システムの特徴および各機能について詳述する。  
【００３５】
（端末装置の構成）
図２は、各端末装置１０，２０，３０のハードウェア構成を示したブロック図である。
送信側端末１０は、送信側端末１０全体の制御および各種演算処理を行うＣＰＵ１１、各種データを書き込む際に、それらデータを一時的に展開して記憶するＲＡＭ１２、オペレーティングシステム、アプリケーションソフトおよび各種データなどが記憶される記憶部１３、マウスやキーボード等の入力部１４、ディスプレイ等の表示部１５、インターネットやイントラネットなどの電気通信回線に接続可能な通信部１６、各種データをプリンタ等に出力可能な出力部１７および各種データの入出力部である入出力ポート１８を備えて構成されている。
【００３６】
また、受信側端末２０および非受信側端末３０は、上述の送信側端末１０と基本的な構成は同様である。すなわち、図３（ａ）（ｂ）に示すように、ＣＰＵ２１、ＲＡＭ２２、記憶部２３、入力部２４、表示部２５、通信部２６、出力部２７および入出力ポート２８を備えて構成されている。
送信側端末１０、受信側端末２０および非受信側端末３０の記憶部には、コンピュータプログラムがインストールされている。
【００３７】
（プログラム概要）
図４は、送信側端末１０、受信側端末２０、非受信側端末３０および非受信側端末４０におけるデータ送受信の形態を示したフローチャートである。
なお、非受信側端末４０は、非受信側端末３０と同じ構成の端末装置である。
まず、予めグループ作成者との間でグループ作成時に作成したグループ公開鍵を共有（Ｓ１０１）する。この際、グループ作成者からはユニキャストでのデータ送信が行われる。グループ内で指定した端末装置の全てがグループ公開鍵共有を行っている必要があり、これによりグループが成立する。
【００３８】
また、個人公開鍵共有の送信処理を送信側端末１０が行う（Ｓ１０２）。これは、送信側端末１０が、受信側端末２０、非受信側端末３０、非受信側端末４０の全ての端末装置に対し、定期的に送信している。すなわち、ブロードキャストによってグループ内ネットワークに個人公開鍵データを送信するのである。この個人公開鍵データは、送信側端末１０が受信側端末２０に送信したいリアルデータと同じデータ構造によって形成されている。つまり、ダミーデータとしても機能する。個人公開鍵データの送信間隔としては、予め自由に設定することが可能である。なお、送信間隔を短くすることで、セキュリティ上は好ましくなるが、グループ内ネットワーク上に輻輳を生じないレベルに設定することが望ましい。
【００３９】
送信側端末１０は、受信側端末２０に送信するための送信用データを作成する（Ｓ１０３）。
ここで作成した送信用データを二重に暗号化処理する（Ｓ１０４）（Ｓ１０５）。この暗号化α、暗号化βについての詳細は後述する。
暗号化α、暗号化βによって暗号化された送信用データを、グループ内の受信側端末２０、非受信側端末３０、非受信側端末４０のいずれかをランダムに決定して送信する（Ｓ１０６）。
【００４０】
本実施形態、すなわち図４の例では、非受信側端末３０、受信側端末２０、非受信側端末４０の順に送信されるとする。
まず、非受信側端末３０は、送信側端末１０から送信された送信用データを受信し（Ｓ１０７）、受信した送信用データを復号化処理する（Ｓ１０８）（Ｓ１０９）。この復号化β、復号化αについての詳細は後述する。
非受信側端末３０は、受信した送信用データを復号化した結果、その送信用データの中にあるリアルデータを取得できるか否かの判別を行う（Ｓ１１０）。ここで、データの取得ができれば良いのだが、非受信側端末３０は、送信側端末１０が指定した受信相手ではないため、復号化はできない。このため、データの取得ができないこととなる。復号化に失敗し、データ取得が不可能と判別されると、非受信側端末３０は、送信側端末１０から受信した送信用データを、受信側端末２０や非受信側端末４０などの他の端末をランダムに決定して送信する（Ｓ１１１）。
【００４１】
次にランダムに決定された端末が受信側端末２０であるとする。
受信側端末２０は、送信側端末１０を介して非受信側端末３０から送信されてきた送信用データを受信し（Ｓ１１２）、受信した送信用データを復号化処理する（Ｓ１１３）（Ｓ１１４）。ここで受信した送信用データを復号化した結果、その送信用データの中にあるリアルデータを取得できるか否かの判別を行う（Ｓ１１５）。
受信側端末２０は、送信側端末１０が指定した本当の受信相手であるため、復号化に成功するため、リアルデータを取得する（Ｓ１１６）。万一取得に失敗した場合には、送信用データは破棄される。
【００４２】
リアルデータを取得すると、受信側端末２０は、送信側端末１０に対してリアルデータ取得に成功した旨となる受信データを送信する（Ｓ１１７）。
送信側端末１０は、受信側端末２０から送信された受信データを受信し（Ｓ１１８）、リアルデータの取得に成功したことを確認する（Ｓ１１９）。そして、送受信の完了となる（Ｓ１２０）。
【００４３】
なお、受信側端末２０は、その後も処理を続ける。すなわち、送信側端末１０に受信データを送信した後、送信用データを二重に暗号化処理し（Ｓ１２１）（Ｓ１２２）、グループ内の他の端末からランダムに送信先を決定して送信する（Ｓ１２３）。ここでは、非受信側端末４０に送信したとして説明すると、受信側端末２０から送信されてきた送信用データを受信し（Ｓ１２４）、受信した送信用データを復号化処理する（Ｓ１２５）（Ｓ１２６）。ここで受信した送信用データを復号化した結果、その送信用データの中にあるリアルデータを取得できるか否かの判別を行う（Ｓ１２７）。もちろん、非受信側端末４０であるため、リアルデータの取得はできないため、受信した送信用データを他の端末から送信先をランダムに決定して送信する（Ｓ１２８）。
【００４４】
つまり、グループ内ネットワーク上に個人公開鍵データをブロードキャストした状態で送信者を隠蔽する。そして、送信側端末１０からランダムに送信された送信用データが、本来の受信者に到達し、リアルデータが取得された後でも、各端末装置がランダム送信処理を行い続ける。このため、いつ、どの端末からデータが送信されたのかが、外部からは判別することが非常に困難となる。したがって、極めて高度なセキュリティシステムの構築に寄与する。
【００４５】
（ループ回避）
なお、上述の処理では、送信用データの送信処理が無限ループとなり、ネットワーク上の輻輳を招くおそれがある。これには、ランダムに送信する回数を設定しておけば良い。
例えば、受信側端末２０がリアルデータを取得後、１０回までランダム送信を続行する。１００回までランダム送信を続行するようにしたり、１０〜５０回などのように所定範囲を設定したりすれば良い。
【００４６】
（グループ化処理）
次に、各処理の詳細について説明する。
グループ化処理は、図５に示すように、グループの親とグループの子（複数）によって形成される。グループ親は、グループを作成する（Ｓ２０１）。このグループは、親の自分だけが所属するグループを作成する（Ｓ２０２）。
ここで、ユーザリストが作成され（Ｓ２０３）、ユーザリストには、この時点では、自分だけが登録される。
【００４７】
グループ子（２）は、公開鍵［２］、秘密鍵＜２＞を作成し（Ｓ２０４）、個人公開鍵［２］をブロードキャストで定期的に送信する（Ｓ２０５）。
グループ親は、グループ子（２）から送信されてきた個人公開鍵［２］を入手する（Ｓ２０６）。また、グループ子の追加をするかを選択する（Ｓ２０７）。
ここで、グループ子の追加を選択した場合には、そのユーザをリストへと追加する（Ｓ２０８）。一方、追加を選択しなければ、データ破棄する。
なお、取得したグループ子の個人公開鍵［２］を利用して、グループ鍵の共有（Ｓ２０９）を行う。これにより、セキュリティを保持されたグループ鍵の共有が行われる。
【００４８】
グループ親は、定期的に上述の処理（Ｓ２０５〜２０８）を繰り返して、リストに追加したグループ子との間で、グループ子が存在しているかの確認を行っている。また、グループ子からの返答が一定時間ない場合には、ユーザリストから削除する（Ｓ２１０）。
【００４９】
（グループ鍵共有処理）
グループ鍵共有処理は、グループ用で使用するための共有鍵を作成する処理である。図６に示すように、グループ親は、グループ子（２）から送信された個人公開鍵［２］を入手後、グループ用のグループ公開鍵Ｇと秘密鍵＜Ｇ＞を作成するとともに（Ｓ３０１）、送信用データＧに秘密鍵＜Ｇ＞を付加する（Ｓ３０２）。そして、共有鍵（ｇ）を作成した後（Ｓ３０３）、送信用データを共有鍵（ｇ）で暗号化する（Ｓ３０４）。続けて、共有鍵（ｇ）を個人公開鍵［２］で暗号化（暗号化γ）し（Ｓ３０５）、これら各データを連結する（Ｓ３０６）。そして、暗号化された連結データをグループ子（１）およびグループ子（２）に送信する（Ｓ３０７）。
【００５０】
グループ子（１）が連結データを受信すると（Ｓ３０８）、復号化を試みる。しかし、暗号化αの復号化に必要な個人公開鍵［２］を所有していないので復号化することができず（Ｓ３０９）、データは破棄される（Ｓ３１０）。
一方、グループ子（２）が連結データを受信すると（Ｓ３１１）、復号化を試みる（復号化γ）。グループ子（２）は、個人公開鍵［２］を所有しているため、復号化することができる。つまり、連結データの分割後（Ｓ３１２）、個人公開鍵［２］の有無を判別し（Ｓ３１３）、個人公開鍵［２］があれば、今度は秘密鍵＜２＞で復号化して共通鍵（ｇ）を抽出する（Ｓ３１４）。続けて、共通鍵（ｇ）で復号化し、送信用データを抽出する（Ｓ３１５）。また、グループ公開鍵Ｇと秘密鍵＜Ｇ＞を分解するとともに（Ｓ３１６）、グループ公開鍵Ｇと秘密鍵＜Ｇ＞を保存する（Ｓ３１７）。
【００５１】
（暗号化処理）
暗号化処理は暗号化αと暗号化βの二段処理を行う。まず、前述したように、グループ親がグループ用のグループ公開鍵Ｇと秘密鍵＜Ｇ＞を作成し（Ｓ４０１）、その作成したグループ公開鍵Ｇを、送信者であるグループ子（１）に送信する（Ｓ４０２）。
グループ子（１）は、グループ公開鍵Ｇを入手する（Ｓ４０３）。また、送信用データ受信者であるグループ子（２）が、公開鍵［２］、秘密鍵＜２＞を作成し（Ｓ４０４）、その作成した公開鍵［２］をグループ子（１）に送信する（Ｓ４０５）。グループ子（１）は、公開鍵［２］を入手する（Ｓ４０６）。
【００５２】
次に、送信用データの準備を行う（Ｓ４０７）。ここで、リアルデータにはデータ検証用としてハッシュ関数を用いている。また、ダミーデータには、乱数を用いている。
送信用データの準備ができたら、暗号化αの処理として、送信者であるグループ子（１）が共通鍵（１）を作成し（Ｓ４０８）、その共通鍵（１）を用いて送信用データを暗号化する（Ｓ４０９）。続けて、作成した共通鍵（１）を受信者として指定しているグループ子（２）から入手した個人公開鍵［２］で暗号化する（Ｓ４１０）。これらの暗号化した各データを連結して連結データとする（Ｓ４１１）。この連結データのデータ構造は、個人公開鍵［２］、暗号化された共通鍵（１‘）暗号化された送信用データからなる。
【００５３】
また、暗号化βの処理としては、以下のようになる。まず共通鍵（ｇ）を作成し（Ｓ４１２）、この作成した共通鍵（ｇ）を用いて連結データを暗号化する（Ｓ４１３）。続けて、共通鍵（ｇ）をグループ公開鍵Ｇで暗号化する（Ｓ４１４）。これらの暗号化した各データを連結して連結データとする（Ｓ４１５）。この連結データのデータ構造は、グループ公開鍵Ｇ、暗号化された共通鍵（ｇ‘）暗号化された送信用データからなる。
【００５４】
次に、送信者であるグループ子（１）は、暗号化処理をした連結データを、グループ内のユーザにランダム送信する（Ｓ４１６）。ここで、受信者として指定されていないグループ親が受信した場合は、連結データの受信後（Ｓ４１７）、グループ公開鍵Ｇを所有しているため、復号化βは可能であるが（Ｓ４１８）、個人公開鍵［２］を所有していないため、復号化αは不可能となり（Ｓ４１９）、連結データは破棄される（Ｓ４２０）。
【００５５】
（復号化処理）
一方、図８に示すように、グループ子（２）は正当な受信者であるため、復号化をおこなうことができる。  この復号化処理は、グループ子（１）から送信された連結データを受信すると（Ｓ５０１）、その連結データを分割する（Ｓ５０２）。まず、復号化βを行うために、グループ公開鍵Ｇの有無を判別される（Ｓ５０３）。グループ公開鍵Ｇは、所有しているので、秘密鍵［Ｇ］を用いて共通鍵（ｇ）を抽出する（Ｓ５０４）。さらに、この共通鍵（ｇ）で復号化し、データを抽出する（Ｓ５０５）。なお、この時点ではリアルデータかダミーデータかの区別は付かない。
【００５６】
続いて、復号化αの処理を行う。これは、復号化βで抽出したデータを分割し（Ｓ５０６）、個人公開鍵［２］の有無を判別する（Ｓ５０７）。グループ子（２）は、個人公開鍵［２］を所有しているので、秘密鍵＜２＞で復号化し、共通鍵（１）を抽出する（Ｓ５０８）。さらに、この共通鍵（１）で復号化し、データを抽出する（Ｓ５０９）。この抽出したデータを分割し（Ｓ５１０）、ハッシュ値からリアルデータかダミーデータかを比較する（Ｓ５１１）。ハッシュ値が異なり、ダミーデータであれば、そのダミーデータは破棄する（Ｓ５１２）。一方、ハッシュ値が一致したデータは、リアルデータとして抽出する（Ｓ５１３）。
【００５７】
すなわち、本実施形態の暗号化処理は、ハイブリッド暗号化方式を多重化した形式となっており、機密性を高めている。
【００５８】
（クライアント・サーバ型）
図９は、前述したセキュリティプログラムをサーバからダウンロードして各端末装置が利用する形態を示したものである。
通常、前述のセキュリティプログラムを動作させるには、各端末装置の記憶部にインストールすることになるが、図９の形態では、このセキュリティプログラムを、サーバ４０から各端末装置にインストールされるクライアント・サーバ型としたものである。各端末装置は、インターネットまたはイントラネットを介してサーバに接続して端末装置内にインストールする。
このようにすれば、ユーザが利用する端末装置にセキュリティプログラムがインストールされていない場合であっても動作可能となるため、場所を選ぶことなく利用可能となる。このため、汎用性が高まる。
【００５９】
（ＡＳＰ型）
図１０に示すように、サーバを、ＡＳＰ（アプリケーションサービスプロバイダ）事業者によって提供されるようにしても良い。
つまり、各端末装置には、インターネット利用環境とウェブブラウザソフトがあればサーバ５０にて提供されるセキュリティプログラムを利用することができる
【００６０】
このような形態とすれば、ユーザが利用する端末装置にセキュリティプログラムがインストールされていない場合であっても動作可能となる。このため、場所を選ぶことなく利用可能となり、汎用性が高まる。また、例えば社内で利用するケースを考慮すると、システム管理が容易となる。また、利用形態としては、レンタル制などでセキュリティプログラムを提供する方法などが考えられる。
さらに、ASP型として利用するに際しては、セキュリティプログラムの実装前の試用や、テスト的な運用としても利用可能である。
【図面の簡単な説明】
【００６１】
【図１】グループ化された端末装置間におけるデータの流れを模式的に示した概念図である。
【図２】送信側端末のハードウェア構成を示したブロック図である。
【図３】受診側端末および非受信側端末のハードウェア構成を示したブロック図である。
【図４】各端末装置間のデータ送信を示したフローチャートである。
【図５】グループ作成における各処理を示したフローチャートである。
【図６】グループ鍵の作成を示したフローチャートである。
【図７】送信側端末による暗号化処理を示したフローチャートである。
【図８】受信側端末による復号化処理を示したフローチャートである。
【図９】各端末装置が、サーバからセキュリティプログラムをインストールして利用する形態を示した概念図である。
【図１０】セキュリティプログラムをＡＳＰ型で提供する場合の形態を示した概念図である。
【符号の説明】
【００６２】
１０  送信側端末（端末装置） 
１１，２１，３１  ＣＰＵ
１２，２２，３２  ＲＡＭ
１３，２３，３３  記憶部
１４，１５，３４  入力部
１５，２５，３５  表示部
１６，２６，３６  通信部
１７，２７，３７  出力部
１８，２８，３８  入出力ポート
２０  受信側端末（端末装置）
３０  非受信側端末（端末装置）
４０  サーバ
５０  ASPサーバ
【図１】
2008245145.tif 000003
【図２】
2008245145.tif 000004
【図３】
2008245145.tif 000005
【図４】
2008245145.tif 000006
【図５】
2008245145.tif 000007
【図６】
2008245145.tif 000008
【図７】
2008245145.tif 000009
【図８】
2008245145.tif 000010
【図９】
2008245145.tif 000011
【図１０】
2008245145.tif 000012