(57)【要約】【課題】メッセージの暗号化・復号化を行うための負荷を低減するとともに、他のコンピュータの秘密鍵を用いずにメッセージの匿名通信を行う。【解決手段】  メッセージを送信するサーバｐの暗号処理部は、生成したメッセージを自機の秘密鍵で暗号化した後、ランダムに他のサーバの暗号処理部に送信する。メッセージを受信したサーバは、予め定められた転送回数に基づいて、受信したメッセージを自機の秘密鍵で暗号化した後に、同様にランダムに他のサーバの暗号処理部に送信する。上記転送回数を超過したら、サーバの暗号処理部は、サーバ１の復号処理部にメッセージを送信する。サーバ１の復号処理部は、受信したメッセージを自己の暗号鍵で暗号化していれば、そのメッセージを復号化して、サーバ２に転送する。これを繰り返し、メッセージが平文に復号化したサーバが、宛先のサーバにメッセージを送信する。【選択図】図２
2009232323.tif 000002
【特許請求の範囲】
【請求項１】
所定の発信元のサーバから複数のサーバを中継して発信先のサーバにメッセージを送信する匿名通信システムであって、
発信元及び中継のサーバが発信あるいは中継するメッセージに自身の識別子を付与して秘密鍵で暗号化し、かつ他のサーバに転送する第１の転送手段と、前記第１の転送を所定回数繰り返した後、上記メッセージを第１の転送時とは別に定めたサーバに転送する第２の転送手段と、第２の転送において、メッセージが第１の転送時に自身が暗号化したメッセージであるとき、当該サーバがこれを秘密鍵で復号化する手段と、復号化したメッセージに基づき送信先サーバにメッセージを送信する手段と、を有することを特徴とする匿名通信システム。
【請求項２】
複数のサーバを相互に接続し、発信元のサーバから複数のサーバを中継して発信先のサーバにメッセージを送信する匿名通信システムにおいて使用するサーバであって、
送信メッセージを生成する手段と、生成又は受信したメッセージを秘密鍵で暗号化する暗号化手段と、前記暗号化したメッセージを他のサーバに転送する手段と、所定回数の転送を行った後の受信メッセージが、自身の前記暗号化手段で暗号化したメッセージであるとき、当該メッセージを秘密鍵で復号化する手段を有することを特徴とするサーバ。
【請求項３】
請求項２に記載されたサーバにおいて、
前記暗号化手段で暗号化したメッセージか否かを判定する手段と、前記暗号化手段で暗号化したメッセージであると判定したときメッセージを復号化する手段と、前記復号化したメッセージから宛先サーバを判定する手段と、受信したメッセージを他のサーバに転送する手段と、前記復号化したメッセージから宛先サーバが特定された場合に宛先サーバに前記メッセージを送信する手段と、を有することを特徴とするサーバ。
【請求項４】
請求項２又は３に記載されたサーバにおいて、
前記生成又は受信したメッセージに識別子及び秘密鍵で暗号化した識別子の組を付加する手段を備え、
前記暗号化部で暗号化したメッセージか否かを判定する手段は、前記メッセージに付加された識別子及び秘密鍵で暗号化した識別子の組に基づいて判定することを特徴とする匿名通信システムにおいて使用するサーバ。
【請求項５】
請求項４に記載されたサーバにおいて、
前記暗号化手段が前記識別子を暗号化するための秘密鍵を、メッセージ毎に変更する手段を有することを特徴とするサーバ。
【請求項６】
所定の発信元のサーバから複数のサーバを中継して発信先のサーバにメッセージを送信する匿名通信方法であって、
発信元及び中継のサーバが発信又は中継するメッセージに自身の識別子を付与して秘密鍵で暗号化し、かつ他のサーバに転送する第１の転送ステップと、前記第１の転送ステップを所定回数繰り返した後、上記メッセージを予め定めたサーバに転送する第２の転送ステップと、第２の転送ステップにおいて、メッセージが第１の転送時に自身が暗号化したメッセージであるとき、当該サーバがこれを秘密鍵で復号化するステップと、復号化したメッセージに基づき送信先サーバにメッセージを送信するステップと、を有することを特徴とする匿名通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数人の送信者が受信者に、対称鍵暗号方式を用いて匿名且つ秘密にメッセージを送信する匿名通信システム、匿名通信システムにおいて使用するサーバ、匿名通信方法に関する。
【背景技術】
【０００２】
従来、送信者が、他人にその内容を知られずにメッセージを送信するための方法として、このメッセージを対称鍵暗号又は非対称鍵暗号で暗号化して送信する方法が知られている。
【０００３】
この方法を実施する秘密鍵暗号方式又は公開鍵暗号方式を用いてメッセージを送信すれば、その秘密鍵又は公開鍵に対応する秘密鍵を所有している者のみが、この暗号化されたメッセージを復号化することができるため、そのメッセージの内容の秘匿性が確保できる。
【０００４】
ところで、近年は選挙等において匿名で電子投票等を行うためには、メッセージの秘匿性のみならず、送信者の秘匿性も要求されているが、電子投票等で通信を匿名で行う方法として、例えばＭＩＸ（ミックス）ネットを用いて通信を行うことが知られている。
【０００５】
このＭＩＸネットは、複数のＭＩＸサーバから構成され、このＭＩＸネットを介してメッセージを送信する者は、予め送信するメッセージを個々のＭＩＸサーバの公開鍵で多重に暗号化し、この暗号化したメッセージをＭＩＸネットに送信する。
【０００６】
ＭＩＸネットのＭＩＸサーバは、このメッセージと他のメッセージ送信者から受信したメッセージとを、個々の秘密鍵で復号化して一旦サーバに蓄積し、ある程度メッセージが溜まった後、その復号化したメッセージを受信順序とは異なる順序で、即ちランダムに次のＭＩＸサーバに中継（送信）する。
【０００７】
このメッセージを受信した他のＭＩＸサーバは、メッセージ送信者から直接メッセージを受信した上記ＭＩＸサーバと同様に、自己の秘密鍵でメッセージの復号化を行って、一旦サーバに蓄積し、ある程度メッセージが溜まった後、その復号化したメッセージをランダムに次のＭＩＸサーバに中継（送信）する。これを複数のサーバで繰り返すことで、暗号化されたメッセージは元のメッセージに復元され受信者に届けられる。
【０００８】
このように、ＭＩＸネットでは、複数のメッセージを一旦サーバに蓄積してランダムに次のＭＩＸサーバに送信するから、全てのＭＩＸサーバが共謀してメッセージの中継を行わない限り、即ち、全てのＭＩＸサーバがある特定のメッセージをある特定の順序で中継を行わない限り、各ＭＩＸサーバの入力メッセージと出力メッセージの対応関係が外部から隠され、メッセージの発信者の特定を防止する匿名通信を行うことができる。
【０００９】
しかしながら、ＭＩＸネットではＲＳＡやエルガマル等の暗号化・復号化に時間がかかる非対称鍵暗号（公開鍵暗号）を用いるため、メッセージの暗号化・復号化のための負荷が大きく、電子投票などの短いメッセージの交換には適用できるが、大容量のメッセージの交換に適用することは難しい。
【００１０】
この問題を解決するものとして、複数のコンピュータ間で秘密鍵を互いに所有し、メッセージを送信するコンピュータが、他のコンピュータの秘密鍵でメッセージを暗号化して送信する、即ち秘密鍵暗号方式を用いてメッセージの匿名通信を行うシステムが知られている（特許文献１参照）。
【００１１】
しかしながら、この匿名通信システムは、メッセージを送信するコンピュータが予め複数のコンピュータの秘密鍵を安全に受信しておく必要があり、この秘密鍵を管理しておかなければならない。
【特許文献１】特開２００５−２４２３５６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、上記従来の問題を解決するためになされたもので、その目的は、メッセージの暗号化・復号化を行うための負荷を低減するとともに、他のコンピュータの秘密鍵を用いずにメッセージの匿名通信を行うことである。
【課題を解決するための手段】
【００１３】
本発明に係る匿名通信システムは、所定の発信元のサーバから複数のサーバを中継して発信先のサーバにメッセージを送信する匿名通信システムであって、発信元及び中継のサーバが発信あるいは中継するメッセージに自身の識別子を付与して秘密鍵で暗号化し、かつ他のサーバに転送する第１の転送手段と、前記第１の転送を所定回数繰り返した後、上記メッセージを第１の転送時とは別に定めたサーバに転送する第２の転送手段と、第２の転送において、メッセージが第１の転送時に自身が暗号化したメッセージであるとき、当該サーバがこれを秘密鍵で復号化する手段と、復号化したメッセージに基づき送信先サーバにメッセージを送信する手段と、を有することを特徴とする。
【００１４】
本発明に係るサーバは、複数のサーバを相互に接続し、発信元のサーバから複数のサーバを中継して発信先のサーバにメッセージを送信する匿名通信システムにおいて使用するサーバであって、送信メッセージを生成する手段と、生成又は受信したメッセージを秘密鍵で暗号化する暗号化手段と、前記暗号化したメッセージを他のサーバに転送する手段と、所定回数の転送を行った後の受信メッセージが、自身の前記暗号化手段で暗号化したメッセージであるとき、当該メッセージを秘密鍵で復号化する手段を有することを特徴とする。
【００１５】
本発明に係る匿名通信方法は、所定の発信元のサーバから複数のサーバを中継して発信先のサーバにメッセージを送信する匿名通信方法であって、発信元及び中継のサーバが発信又は中継するメッセージに自身の識別子を付与して秘密鍵で暗号化し、かつ他のサーバに転送する第１の転送ステップと、前記第１の転送ステップを所定回数繰り返した後、上記メッセージを予め定めたサーバに転送する第２の転送ステップと、第２の転送ステップにおいて、メッセージが第１の転送時に自身が暗号化したメッセージであるとき、当該サーバがこれを秘密鍵で復号化するステップと、復号化したメッセージに基づき送信先サーバにメッセージを送信するステップと、を有することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、メッセージの暗号化・復号化を行うための負荷を低減するとともに、他のコンピュータの秘密鍵を用いずにメッセージの匿名通信を行うことができ、秘密鍵を管理する負担を省いて、容易に匿名通信を行うことができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態に係る匿名通信システムについて、添付した図面を参照して説明する。
図１は、匿名通信を行う際の匿名通信システムの概略図である。本匿名通信システムは、複数のサーバコンピュータ（以下、単にサーバという）から構成されており、各サーバは互いに匿名通信ネットワーク１００を介して通信可能に接続されている。また、各サーバは他のサーバに送信するメッセージを生成するメッセージ生成部を備えている。
【００１８】
図２は、本匿名通信システムの機能ブロック図である。本匿名通信システムは、サーバ１からサーバＮのＮ個のサーバから構成されている。図示のように、これらＮ個のサーバはそれぞれ、送信するメッセージを生成して各々の秘密鍵で暗号化する暗号処理部と、これらの暗号処理部によって暗号化されたメッセージを復号化する復号処理部を備えている。即ち、本匿名通信システムの各サーバは共通鍵方式で暗号化、復号化を行う。
【００１９】
図２では、メッセージを送信するサーバを送信サーバｐと、送信サーバｐからのメッセージを中継するサーバをサーバｐｋ（ｋは１〜Ｎのうちの任意の数字）としている。
【００２０】
本匿名通信システムにおいては、個々のサーバがメッセージの送信者でありまた受信者となるが、送信サーバｐが送信したメッセージは、その受信者であるサーバには直接届かず、送信サーバｐが無作為（ランダム）に定めた転送回数だけ他のサーバ(送信サーバｐを含む)の暗号処理部を中継したのち、その受信者であるサーバに届くように構成されている。
【００２１】
即ち、送信元サーバｐは、ランダムに選んだ他のサーバｐｋに、暗号処理部から暗号化したメッセージを送信し、サーバｐｋは送信サーバｐから受信したメッセージを自機の秘密鍵（暗号鍵）で暗号化した後、ランダムに選んだ他のサーバｐｊ（ｊは１〜Ｎのうちの任意の数）に転送する（第１の転送）。この処理は送信サーバｐが最初に設定した転送回数だけ繰り返される。
【００２２】
中継されたメッセージは最初に設定した転送回数だけ転送を繰り返された後、サーバ１からサーバＮまで順で並んだ復号処理部のうち、最初のサーバ１の復号処理部に送信（転送）される（第２の転送）。つまり、メッセージは、予め定めた転送回数分暗号化された後、番号順に並んだ最初の復号処理部に送信され、以下で説明するようにいずれかのサーバの復号処理部で復号化される。
【００２３】
即ち、予め定めた転送回数分暗号化されたメッセージは、まずサーバ１に送信され、例えば、このメッセージがサーバ１の暗号処理部で暗号化されていた場合、サーバ１の復号処理部で受信したメッセージを自機の秘密鍵（復号鍵）で復号化して、次のサーバ（の復号処理部）に転送する。この処理を何れかのサーバでメッセージが平文に復号化されるまで繰り返す。
【００２４】
なお、各サーバの暗号処理部はダミーのメッセージを随時生成して送信するように構成されているので、あるサーバ宛てに送信されたメッセージがどのサーバからいつ発信されたかを、発信サーバ以外が特定することはできない。
【００２５】
図３は、送信サーバｐが送信するメッセージの内容を示す図である。メッセージは、図示のように、転送回数と、メッセージ本体と、各サーバがこのメッセージを暗号化したか否かを示すメッセージ識別子とから成っている。
【００２６】
このメッセージ識別子はＮ分割されており、その第Ｐ番目の部分がサーバｐに対応するようになっている。メッセージ識別子の各サーバに対応する部分は、さらに情報識別符号部と暗号化情報識別符号部に分かれており、各サーバは、図２に示した暗号処理部にて、識別子を情報識別符号部に書き込み、暗号化情報識別符号部には上記識別子を書き込んだ後、自機が所有する秘密鍵（暗号鍵）でこの識別子を暗号化する。
【００２７】
なお、識別子として、例えば、自機の識別情報と自機がこれまでに受け取ったメッセージの数などの情報を使用し、メッセージ毎に異なる識別子をメッセージ識別子に書き込むようにする。
【００２８】
図２に示した復号処理部では、暗号化情報識別符号部に書き込まれた情報を自機が所有する秘密鍵（復号鍵）で復号化し、復号化した情報が情報識別符号の情報と一致すれば自機が暗号化したメッセージと判定し、既に述べたように、メッセージを復号化し、復号化したメッセージから宛先が判明すれば、メッセージをその宛先に転送する。一致しなければ自機は暗号化していない、即ち中継していないメッセージと判定して、次のサーバ（の復号処理部）に転送する。
【００２９】
図４は、各サーバの暗号処理部の機能ブロック図である。暗号処理部は、受信者となるサーバに送信するメッセージを生成するメッセージ生成部１２と、他のサーバからメッセージを受信する受信部１１と、自機が生成したメッセージ又は他のサーバから受信したメッセージの図３に示した情報識別符号部及び暗号化識別符号部に自機の識別子を書き込む識別子書込部１３と、図３に示したメッセージ本体と自機あるいは他のサーバが暗号化識別符号部に書き込んだ識別子を自機の秘密鍵で暗号化する手段である暗号化部１４と、暗号化したメッセージを他のサーバに送信（転送）する送信部１５とから成っている。
【００３０】
メッセージ生成部１２では、生成したメッセージに対して、ランダムに選んだ転送回数の情報を付加する。
【００３１】
送信部１５は、送信すべきメッセージに付加された転送回数情報を１減じて、減じた後の転送回数情報が１以上であるときは、他のサーバの暗号処理部に転送し、０であるとき、つまり所定の回数だけ転送されたときは、復号処理部の最初のサーバ、即ちサーバ１にメッセージを転送する。その後の復号化処理は、既に述べたとおりである。
【００３２】
なお、暗号化部１４で行う暗号化方式は、例えば上記メッセージと乱数の単なる積や排他的論理和を計算する方式等のような、複数のサーバによって多重に暗号化されたメッセージを復号化する順序が、暗号化する順序と異なっても、正しく復号化される方式である。従ってサーバｐが送信したメッセージは必ずいずれかのサーバの復号処理部で正しい平文に復号化される。しかしメッセージ識別子を自身が書き込んでいない揚合は、暗号化情報識別符号を自機の秘密鍵（復号鍵）で復号してもその結果は情報識別符号と一致することはない。
【００３３】
図５は、各サーバの復号処理部の機能ブロック図である。復号処理部は、他のサーバからメッセージを受信する受信部２１と、受信したメッセージの図３に示したメッセージ識別子の情報識別符号部を調べて、自機の暗号化部１４が暗号化したメッセージか否かを判定する識別子判定部２２と、自機の暗号化部１４が暗号化したメッセージを復号化する復号化部２３と、復号化したメッセージからそのメッセージの宛先サーバを判定する手段である宛先判定部２４と、判定した宛先サーバ又は特定のサーバにメッセージを送信（転送）する手段である送信部２５とから成っている。
【００３４】
例えばサーバ１の復号処理部の受信部２１が他のサーバの暗号処理部からメッセージを受信すると、まず、識別子判定部２２がメッセージの暗号化情報識別部の情報を復号化して、情報識別符号と一致するか否かを判定する。
【００３５】
なお、情報識別符号及び暗号化情報識別符号はメッセージ本体とともに複数のサーバの暗号処理部によって繰り返し暗号化されているが、上述したように、暗号化した順番に関わらず、復号化することができる。自機がこのメッセージを暗号化しておらず、復号化した暗号化情報識別符号が情報識別符号と一致しないと判定したときは、送信部２５を経由して次のサーバ、即ちサーバ２に転送する。
【００３６】
自機がこのメッセージを暗号化しており（つまり暗号処理部で転送しており）、復号化した暗号化情報識別符号と情報識別符号とが一致すると判定したときは、復号化部２３にて自己の秘密鍵（復号鍵）でメッセージ本体及びそれに付加された個々のサーバのメッセージ識別子を復号化し、宛先判定部２４は復号化されたメッセージが平分に戻ってその宛先が判明しているか否かを判定する。
【００３７】
未だメッセージが暗号化されており、メッセージの宛先が判明していないと判定したときは、送信部２５を経由して次のサーバ（サーバ２）に転送し、メッセージの宛先が判明していると判定したときは、その宛先に送信部２５からメッセージを送信する。
【００３８】
以上で説明した処理をサーバ２以降順番に、宛先が判明するまで行う。
【００３９】
なお、最後のサーバＮがメッセージを復号化してもメッセージの宛先が判明しない場合は、ダミーメッセージであると判定してメッセージを破棄する。
【００４０】
本匿名通信システムでは、メッセージの内容及び送信者を秘匿するために、各サーバが暗号化、復号化に使用する対称鍵（秘密鍵）は他のサーバには秘密である必要がある。しかしながら、この場合、送信者はそのメッセージを最初に受け取るサーバの暗号鍵を知らないとメッセージを送信することができないため、最初のサーバは送信者自身でなければならない。また、各サーバが暗号化したメッセージは対称鍵（秘密鍵）を有するサーバしか復号化できないため、対称鍵方式を採用する匿名通信路は必ず送信者のサーバを含むサーバを、図２に示すようにサーバの暗号処理部と復号処理部を並べた構成となる。
【００４１】
ここで、例えば、送信者が送信したメッセージが暗号処理部と復号処理部で同じ数のサーバを経由して受信者に届くように構成すると、復号処理部のｋ番目に位置するサーバが受信者に転送したメッセージは、暗号処理部で転送回数をｋ回に設定したサーバから送信されたものであることが分かり、メッセージ送信者が限定される虞がある。例えば、ある時間帯で転送回数をｋ回に設定したサーバが１台しか無い揚合は、そのサーバが送信者と特定される。
【００４２】
これを防止するために、本匿名通信システムではメッセージを中継する暗号処理部と復号処理部のサーバの数が異なるように構成している。
【００４３】
すなわち、本匿名通信システムでは、以上で説明したように、各サーバが自機の暗号処理部で暗号化を施したメッセージ以外には復号化処理を施さないようにするために、暗号化するメッセージに自機が暗号化したメッセージであることを示す識別子を付加している。
【００４４】
また、暗号化をしたサーバは、メッセージに付加した識別子に他のサーバによって暗号化・復号化処理が行われても、自機がそのメッセージを暗号化したか否かを判定するために、上述したようにこの暗号化・復号化方式として、暗号化されたメッセージを復号化する順序が暗号化する順序と異なっても正しく復号される方式を採用している。
【００４５】
なお、以上で説明した匿名通信システムにおいて、各サーバの暗号化部１４が、暗号化情報識別符号に書き込む識別子を暗号化するための秘密鍵を、中継するメッセージ毎に変更することで、暗号が解読されることをより困難にすることができる。
【００４６】
但し、この場合は、各サーバの暗号化部１４は暗号化情報識別符号の暗号化に使用した秘密鍵をサーバが有する図示しない記憶手段のテーブルに全て記憶しておき、復号処理部で各メッセージ識別子を確認するときに暗号化情報識別符号を上記テーブルに記憶された複数の暗号鍵で順次復号化して情報識別符号と照合する処理が必要となる。
【図面の簡単な説明】
【００４７】
【図１】匿名通信を行う際の匿名通信システムの概略図である。
【図２】本匿名通信システムの機能ブロック図である。
【図３】サーバが送信するメッセージの内容を示す図である。
【図４】サーバの暗号処理部の機能ブロック図である。
【図５】サーバの復号処理部の機能ブロック図である。
【符号の説明】
【００４８】
１１，２１  受信部
１２    メッセージ生成部
１３    識別子書込部
１４    暗号化部
１５，２５  送信部
２２    識別子判定部
２３    復号化部
２４    宛先判定部
１００  匿名通信ネットワーク
【図１】
2009232323.tif 000003
【図２】
2009232323.tif 000004
【図３】
2009232323.tif 000005
【図４】
2009232323.tif 000006
【図５】
2009232323.tif 000007