(57)【要約】【課題】第三者による受信者識別子の不正利用を防止しつつ、各利用者が受信者識別子と受信者の関係を効率良く把握することができる通信方法、通信システムおよび通信プログラムを提供することを課題とする。【解決手段】アドホックアドレス発行サーバ１２０が着信者２３０に配送するメールの配送条件を示す配送条件情報（コンテキスト情報）と着信者アドレスに基づいて検証コードを生成するとともに、着信者アドレス、コンテキスト情報および検証コードから開示用のアドホックアドレスを発行し、アドホックメール転送サーバ１３０は、かかるアドホックアドレスを宛先とするメールを着信した際に、検証コードに基づいてアドホックアドレスの不正を検証した後、該アドホックアドレスから取り出したコンテキスト情報に基づいてメールを着信者２３０に配送するか否かを決定する。【選択図】        図１
2005141489.tif 000002
【特許請求の範囲】
【請求項１】
受信者を一意に特定する受信者識別子を用いた発信者通信端末からの通信要求に応答して該発信者通信端末と受信者通信端末との通信をおこなう通信方法であって、
前記受信者に通信する際の通信条件を示す通信条件情報および前記受信者識別子若しくは該受信者識別子に対応するユーザ情報に基づいて開示用識別子の検証情報を生成する検証情報生成工程と、
前記受信者識別子若しくはユーザ情報および通信条件情報並びに前記検証情報生成工程により生成された検証情報を含む受信者毎に識別可能な開示用識別子を生成する開示用識別子生成工程と、
前記開示用識別子生成工程により生成された開示用識別子に基づく前記発信者通信端末からの通信要求を受け付けた場合に、前記検証情報に基づいて前記開示用識別子の正当性を検証する検証工程と、
前記検証工程により前記開示用識別子が正当であり、かつ、当該開示用識別子に含まれる通信条件情報の通信条件を満たす場合に、前記通信要求にしたがって前記発信者通信端末と前記受信者通信端末の通信を確立する通信確立工程と
を含んだことを特徴とする通信方法。
【請求項２】
前記検証情報生成工程は、受信者通信端末に配送するメッセージの配送条件を示す配送条件情報および前記受信者を一意に特定する受信者アドレス若しくは該受信者アドレスに対応するユーザ情報に基づいて開示用アドレスの検証情報を生成し、前記開示用識別子生成工程は、前記受信者アドレス若しくはユーザ情報および配送条件情報並びに前記検証情報を含む受信者アドレス毎に識別可能な開示用アドレスを生成し、前記検証工程は、前記開示用識別子生成工程により生成された開示用アドレスを宛先アドレスとするメッセージを受け付けた場合に、前記検証情報に基づいて前記開示用アドレスの正当性を検証することを特徴とする請求項１に記載の通信方法。
【請求項３】
前記検証情報生成工程は、前記受信者電話端末に通話接続する際の通話条件情報および受信者電話番号に基づいて開示用電話番号の検証情報を生成し、前記開示用識別子生成工程は、前記受信者電話番号若しくは該受信者電話番号に対応するユーザ情報および通話条件情報並びに前記検証情報を含む受信者ごとに識別可能な開示用電話番号を生成し、前記検証工程は、前記開示用識別子生成工程により生成された開示用電話番号に基づく通話接続要求を受け付けた場合に、前記検証情報に基づいて前記開示用電話番号の正当性を検証することを特徴とする請求項１に記載の通信方法。
【請求項４】
前記検証情報生成工程は、前記受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して所定の署名鍵を鍵とする鍵付きハッシュ関数を適用して前記検証情報を生成することを特徴とする請求項１、２または３に記載の通信方法。
【請求項５】
前記検証工程は、前記開示用識別子から抽出した受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して前記署名鍵を鍵とする前記鍵付きハッシュ関数を適用して比較情報を生成し、該比較情報と前記検証情報が一致する場合に前記開示用識別子が正当であると検証することを特徴とする請求項４に記載の通信方法。
【請求項６】
前記通信確立工程は、前記検証工程により前記開示用識別子が正当でない場合または当該開示用識別子に含まれる通信条件情報の通信条件を満たさない場合に、前記通信要求を拒絶することを特徴とする請求項１〜５のいずれか一つに記載の通信方法。
【請求項７】
前記通信確立工程は、前記検証工程により前記開示用識別子が正当である場合に限り、当該開示用識別子から通信条件情報を抽出するとともに、該抽出した通信条件情報の通信条件を満たすか否かを判定することを特徴とする請求項１〜６のいずれか一つに記載の通信方法。
【請求項８】
前記開示用識別子生成工程は、前記検証情報生成工程により生成された検証情報および前記通信条件情報を所定の暗号鍵を用いた所定の暗号化ロジックにより暗号化した暗号化データを前記受信者識別子とともに含む受信者毎に識別可能な開示用識別子を生成し、前記検証工程は、前記開示用識別子生成工程により生成された開示用識別子に基づく前記発信者通信端末からの通信要求を受け付けた場合に、前記暗号鍵に対応する復号鍵を用いた前記暗号化ロジックにより前記開示用識別子に含まれる暗号化データを復号化して前記通信条件情報および前記検証情報を取り出し、取り出した検証情報に基づいて前記開示用識別子の正当性を検証することを特徴とする請求項１〜７のいずれか一つに記載の通信方法。
【請求項９】
前記検証工程は、前記開示用識別子に含まれる暗号化データを復号化して得られた前記通信条件情報を形成する通信条件の種別が有効な組み合わせであるか否か、前記通信条件情報を形成する通信条件の値が有効な範囲内であるか否かを調べ、有効な組み合わせでない場合または有効な範囲内でない場合には、前記開示用識別子が不正であると判定することを特徴とする請求項８に記載の通信方法。
【請求項１０】
受信者が利用する受信者通信端末と、該受信者通信端末への通信要求をおこなう発信者通信端末とを有し、前記受信者を一意に特定する受信者識別子を用いた発信者通信端末からの通信要求に応答して前記発信者通信端末と受信者通信端末の通信をおこなう通信システムであって、
前記受信者に通信する際の通信条件を示す通信条件情報および前記受信者識別子若しくは該受信者識別子に対応するユーザ情報に基づいて開示用識別子の検証情報を生成する検証情報生成手段と、前記受信者識別子若しくはユーザ情報および通信条件情報並びに前記検証情報生成手段により生成された検証情報を含む受信者毎に識別可能な開示用識別子を生成する開示用識別子生成手段とを有する開示用識別子生成装置と、
前記開示用識別子生成手段により生成された開示用識別子に基づく前記発信者通信端末からの通信要求を受け付けた場合に、前記検証情報に基づいて前記開示用識別子の正当性を検証する検証手段と、前記検証手段により前記開示用識別子が正当であり、かつ、当該開示用識別子に含まれる通信条件情報の通信条件を満たす場合に、前記通信要求にしたがって前記発信者通信端末と前記受信者通信端末の通信を確立する通信確立手段とを有するフィルタリング装置と
を備えたことを特徴とする通信システム。
【請求項１１】
前記検証情報生成手段は、前記受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して所定の署名鍵を鍵とする鍵付きハッシュ関数を適用して前記検証情報を生成することを特徴とする請求項１０に記載の通信システム。
【請求項１２】
前記検証手段は、前記開示用識別子から抽出した受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して前記署名鍵を鍵とする前記鍵付きハッシュ関数を適用して比較情報を生成し、該比較情報と前記検証情報が一致する場合に前記開示用識別子が正当であると検証することを特徴とする請求項１１に記載の通信システム。
【請求項１３】
複数のマスター鍵を登録したマスター鍵テーブルと、前記開示用識別子生成装置からの署名鍵の要求に応答して前記マスター鍵テーブルから署名鍵を選択して署名鍵を生成する署名鍵生成手段とを有する署名鍵発行装置をさらに備え、前記検証情報生成手段は、前記署名鍵発行装置から受け取った署名鍵を用いて前記受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して鍵付きハッシュ関数を適用して前記検証情報を生成することを特徴とする請求項１１に記載の通信システム。
【請求項１４】
受信者を一意に特定する受信者識別子を用いた発信者通信端末からの通信要求に応答して該発信者通信端末と受信者通信端末との通信をおこなう通信システムで用いる通信プログラムであって、
前記受信者に通信する際の通信条件を示す通信条件情報および前記受信者識別子若しくは該受信者識別子に対応するユーザ情報に基づいて開示用識別子の検証情報を生成する検証情報生成手順と、
前記受信者識別子若しくはユーザ情報および通信条件情報並びに前記検証情報生成手順により生成された検証情報を含む受信者毎に識別可能な開示用識別子を生成する開示用識別子生成手順と、
前記開示用識別子生成手順により生成された開示用識別子に基づく前記発信者通信端末からの通信要求を受け付けた場合に、前記検証情報に基づいて前記開示用識別子の正当性を検証する検証手順と、
前記検証工程により前記開示用識別子が正当であり、かつ、当該開示用識別子に含まれる通信条件情報の通信条件を満たす場合に、前記通信要求にしたがって前記発信者通信端末と前記受信者通信端末の通信を確立する通信確立手順と
をコンピュータに実行させることを特徴とする通信プログラム。
【請求項１５】
前記検証情報生成手順は、前記受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して所定の署名鍵を鍵とする鍵付きハッシュ関数を適用して前記検証情報を生成することを特徴とする請求項１４に記載の通信プログラム。
【請求項１６】
前記検証手順は、前記開示用識別子から抽出した受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して前記署名鍵を鍵とする前記鍵付きハッシュ関数を適用して比較情報を生成し、該比較情報と前記検証情報が一致する場合に前記開示用識別子が正当であると検証することを特徴とする請求項１５に記載の通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信者を一意に特定する受信者識別子を用いた発信者通信端末からの通信要求に応答して該発信者通信端末と受信者通信端末との通信をおこなう通信方法、通信システムおよび通信プログラムに関する。
【背景技術】
【０００２】
従来、インターネット上のＥメールシステムでは、各ユーザを一意に特定するメールアドレスをそれぞれ発行しておき、メールを送信する場合には、メール着信者のメールアドレスを宛先としたメールを作成して、メールサーバやプロバイダの送信サーバ（ＳＭＴＰサーバ）にメール送信を依頼することになる。
【０００３】
このようにして送信依頼されたメールは、インターネットを経由して宛先アドレスのメールサーバまたは着信サーバ（ＰＯＰサーバ）に到達して該当するメールボックスに格納されるため、着信ユーザによるメールボックスからのメールの取り出しが可能となる。
【０００４】
ここで、上記メールアドレスは、アドレス管理の効率化を図るために、原則としては「一ユーザに一つ」付与されるものであり、たとえば特許文献１では、公衆電子メールサービスへのオンラインでの申込み者に対して、複数のアカウント候補のうちの一つを付与することとしている。
【０００５】
【特許文献１】特開平１０−１９８６１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、かかる従来技術のように「一ユーザ一メールアドレス」を原則とした場合には、各ユーザのメールアドレスが第三者へ不正に漏洩することにより、各ユーザに対して迷惑メールが発生するという問題がある。たとえば、ユーザがＷＥＢ上で懸賞に応募したり通信販売の申込みをおこなう場合には、連絡先としてメールアドレスを記入することが多いが、記入したメールアドレスがメーリングリストとして第三者に伝播してしまうと、結果的にユーザにダイレクトメールが集中し、メールアドレスの効率的な使用が阻害されてしまう。
【０００７】
したがって、かかる場合には、ユーザはすでに取得済みのメールアドレスを破棄して新たなメールアドレスを取得する必要が生ずるが、新たなメールアドレスの取得までには時間を要するし、アドレス変更を知人に通知するという本来不要な手続をユーザがおこなわねばならなくなる。これらのことから、Ｅメールなどを利用する場合に、メールアドレスの漏洩および拡散に伴う迷惑メールを抑制することが重要となる。
【０００８】
また、メールアドレスの漏洩および拡散に伴う迷惑メールを防止するために、一定期間のみ有効になるアドホックアドレスを利用することも考えられるが、利用者が多数のアドホックメールを利用することになると、どのアドレスがどの利用者のものかが分からなくなり、メールの送信先誤りなどが生ずる原因となる。このため、アドホックアドレスに利用者を特定する情報を直接埋め込むことも考えられるが、ただ単純に利用者を特定する情報を埋め込んだのではアドホックアドレスと利用者の関係が第三者に把握されてしまい、結果的にアドホックアドレスの不正利用による迷惑メールの到来を招いてしまうという問題がある。
【０００９】
これらのことから、第三者によるメールアドレスの不正利用に伴う迷惑メールを防止しつつ、各利用者がメールアドレスと受信者の関係を効率良く把握することができるメール配送システムをいかに実現するかが重要な課題となっている。なお、かかる課題はメールアドレスを対象とした場合だけではなく電話番号などの各種受信者識別子を利用する場合に共通に発生する課題である。
【００１０】
この発明は、上述した従来技術による課題（問題点）を解決するためになされたものであって、第三者による受信者識別子の不正利用を防止しつつ、各利用者が受信者識別子と受信者の関係を効率良く把握することができる通信方法、通信システムおよび通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決するために、本発明は、受信者を一意に特定する受信者識別子を用いた発信者通信端末からの通信要求に応答して該発信者通信端末と受信者通信端末との通信をおこなう通信方法であって、前記受信者に通信する際の通信条件を示す通信条件情報および前記受信者識別子若しくは該受信者識別子に対応するユーザ情報に基づいて開示用識別子の検証情報を生成する検証情報生成工程と、前記受信者識別子若しくはユーザ情報および通信条件情報並びに前記検証情報生成工程により生成された検証情報を含む受信者毎に識別可能な開示用識別子を生成する開示用識別子生成工程と、前記開示用識別子生成工程により生成された開示用識別子に基づく前記発信者通信端末からの通信要求を受け付けた場合に、前記検証情報に基づいて前記開示用識別子の正当性を検証する検証工程と、前記検証工程により前記開示用識別子が正当であり、かつ、当該開示用識別子に含まれる通信条件情報の通信条件を満たす場合に、前記通信要求にしたがって前記発信者通信端末と前記受信者通信端末の通信を確立する通信確立工程とを含んだことを特徴とする。
【００１２】
また、本発明は、上記発明において、前記検証情報生成工程は、受信者通信端末に配送するメッセージの配送条件を示す配送条件情報および前記受信者を一意に特定する受信者アドレス若しくは該受信者アドレスに対応するユーザ情報に基づいて開示用アドレスの検証情報を生成し、前記開示用識別子生成工程は、前記受信者アドレス若しくはユーザ情報および配送条件情報並びに前記検証情報を含む受信者アドレス毎に識別可能な開示用アドレスを生成し、前記検証工程は、前記開示用識別子生成工程により生成された開示用アドレスを宛先アドレスとするメッセージを受け付けた場合に、前記検証情報に基づいて前記開示用アドレスの正当性を検証することを特徴とする。
【００１３】
また、本発明は、上記発明において、前記検証情報生成工程は、前記受信者電話端末に通話接続する際の通話条件情報および受信者電話番号に基づいて開示用電話番号の検証情報を生成し、前記開示用識別子生成工程は、前記受信者電話番号若しくは該受信者電話番号に対応するユーザ情報および通話条件情報並びに前記検証情報を含む受信者ごとに識別可能な開示用電話番号を生成し、前記検証工程は、前記開示用識別子生成工程により生成された開示用電話番号に基づく通話接続要求を受け付けた場合に、前記検証情報に基づいて前記開示用電話番号の正当性を検証することを特徴とする。
【００１４】
また、本発明は、上記発明において、前記検証情報生成工程は、前記受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して所定の署名鍵を鍵とする鍵付きハッシュ関数を適用して前記検証情報を生成することを特徴とする。
【００１５】
また、本発明は、上記発明において、前記検証工程は、前記開示用識別子から抽出した受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して前記署名鍵を鍵とする前記鍵付きハッシュ関数を適用して比較情報を生成し、該比較情報と前記検証情報が一致する場合に前記開示用識別子が正当であると検証することを特徴とする。
【００１６】
また、本発明は、上記発明において、前記通信確立工程は、前記検証工程により前記開示用識別子が正当でない場合または当該開示用識別子に含まれる通信条件情報の通信条件を満たさない場合に、前記通信要求を拒絶することを特徴とする。
【００１７】
また、本発明は、上記発明において、前記通信確立工程は、前記検証工程により前記開示用識別子が正当である場合に限り、当該開示用識別子から通信条件情報を抽出するとともに、該抽出した通信条件情報の通信条件を満たすか否かを判定することを特徴とする。
【００１８】
また、本発明は、上記発明において、前記開示用識別子生成工程は、前記検証情報生成工程により生成された検証情報および前記通信条件情報を所定の暗号鍵を用いた所定の暗号化ロジックにより暗号化した暗号化データを前記受信者識別子とともに含む受信者毎に識別可能な開示用識別子を生成し、前記検証工程は、前記開示用識別子生成工程により生成された開示用識別子に基づく前記発信者通信端末からの通信要求を受け付けた場合に、前記暗号鍵に対応する復号鍵を用いた前記暗号化ロジックにより前記開示用識別子に含まれる暗号化データを復号化して前記通信条件情報および前記検証情報を取り出し、取り出した検証情報に基づいて前記開示用識別子の正当性を検証することを特徴とする。
【００１９】
また、本発明は、上記発明において、前記検証工程は、前記開示用識別子に含まれる暗号化データを復号化して得られた前記通信条件情報を形成する通信条件の種別が有効な組み合わせであるか否か、前記通信条件情報を形成する通信条件の値が有効な範囲内であるか否かを調べ、有効な組み合わせでない場合または有効な範囲内でない場合には、前記開示用識別子が不正であると判定することを特徴とする。
【００２０】
また、本発明は、受信者が利用する受信者通信端末と、該受信者通信端末への通信要求をおこなう発信者通信端末とを有し、前記受信者を一意に特定する受信者識別子を用いた発信者通信端末からの通信要求に応答して前記発信者通信端末と受信者通信端末の通信をおこなう通信システムであって、前記受信者に通信する際の通信条件を示す通信条件情報および前記受信者識別子若しくは該受信者識別子に対応するユーザ情報に基づいて開示用識別子の検証情報を生成する検証情報生成手段と、前記受信者識別子若しくはユーザ情報および通信条件情報並びに前記検証情報生成手段により生成された検証情報を含む受信者毎に識別可能な開示用識別子を生成する開示用識別子生成手段とを有する開示用識別子生成装置と、前記開示用識別子生成手段により生成された開示用識別子に基づく前記発信者通信端末からの通信要求を受け付けた場合に、前記検証情報に基づいて前記開示用識別子の正当性を検証する検証手段と、前記検証手段により前記開示用識別子が正当であり、かつ、当該開示用識別子に含まれる通信条件情報の通信条件を満たす場合に、前記通信要求にしたがって前記発信者通信端末と前記受信者通信端末の通信を確立する通信確立手段とを有するフィルタリング装置とを備えたことを特徴とする。
【００２１】
また、本発明は、上記発明において、前記検証情報生成手段は、前記受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して所定の署名鍵を鍵とする鍵付きハッシュ関数を適用して前記検証情報を生成することを特徴とする。
【００２２】
また、本発明は、上記発明において、前記検証手段は、前記開示用識別子から抽出した受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して前記署名鍵を鍵とする前記鍵付きハッシュ関数を適用して比較情報を生成し、該比較情報と前記検証情報が一致する場合に前記開示用識別子が正当であると検証することを特徴とする。
【００２３】
また、本発明は、上記発明において、複数のマスター鍵を登録したマスター鍵テーブルと、前記開示用識別子生成装置からの署名鍵の要求に応答して前記マスター鍵テーブルから署名鍵を選択して署名鍵を生成する署名鍵生成手段とを有する署名鍵発行装置をさらに備え、前記検証情報生成手段は、前記署名鍵発行装置から受け取った署名鍵を用いて前記受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して鍵付きハッシュ関数を適用して前記検証情報を生成することを特徴とする。
【００２４】
また、本発明は、受信者を一意に特定する受信者識別子を用いた発信者通信端末からの通信要求に応答して該発信者通信端末と受信者通信端末との通信をおこなう通信システムで用いる通信プログラムであって、前記受信者に通信する際の通信条件を示す通信条件情報および前記受信者識別子若しくは該受信者識別子に対応するユーザ情報に基づいて開示用識別子の検証情報を生成する検証情報生成手順と、前記受信者識別子若しくはユーザ情報および通信条件情報並びに前記検証情報生成手順により生成された検証情報を含む受信者毎に識別可能な開示用識別子を生成する開示用識別子生成手順と、前記開示用識別子生成手順により生成された開示用識別子に基づく前記発信者通信端末からの通信要求を受け付けた場合に、前記検証情報に基づいて前記開示用識別子の正当性を検証する検証手順と、前記検証工程により前記開示用識別子が正当であり、かつ、当該開示用識別子に含まれる通信条件情報の通信条件を満たす場合に、前記通信要求にしたがって前記発信者通信端末と前記受信者通信端末の通信を確立する通信確立手順とをコンピュータに実行させることを特徴とする。
【００２５】
また、本発明は、上記発明において、前記検証情報生成手順は、前記受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して所定の署名鍵を鍵とする鍵付きハッシュ関数を適用して前記検証情報を生成することを特徴とする。
【００２６】
また、本発明は、上記発明において、前記検証手順は、前記開示用識別子から抽出した受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して前記署名鍵を鍵とする前記鍵付きハッシュ関数を適用して比較情報を生成し、該比較情報と前記検証情報が一致する場合に前記開示用識別子が正当であると検証することを特徴とする。
【発明の効果】
【００２７】
本発明にかかる通信方法は、受信者に通信する際の通信条件を示す通信条件情報および受信者識別子若しくは該受信者識別子に対応するユーザ情報に基づいて開示用識別子の検証情報を生成し、受信者識別子若しくはユーザ情報および通信条件情報並びに検証情報を含む受信者毎に識別可能な開示用識別子を生成し、生成した開示用識別子に基づく発信者通信端末からの通信要求を受け付けた場合に、この検証情報に基づいて開示用識別子の正当性を検証し、開示用識別子が正当であり、かつ、当該開示用識別子に含まれる通信条件情報の通信条件を満たす場合に、記通信要求にしたがって発信者通信端末と受信者通信端末の通信を確立するよう構成したので、第三者が開示用識別子の通信条件情報を改ざんした場合であっても検証情報によりその偽造の有無（正当性）を検証できるため、受信者識別子の不正利用を防止することができる。また、受信者毎に識別可能な開示用識別子を用いるため、各利用者が受信者識別子と受信者の関係を効率良く把握することができる。さらに、開示用識別子に検証情報を埋め込んで正当性を検査するようにしたので、開示用識別子に通信条件情報をそのまま埋め込んだ場合であっても問題が生じない。
【００２８】
また、本発明にかかる通信方法は、受信者通信端末に配送するメッセージの配送条件を示す配送条件情報および受信者を一意に特定する受信者アドレス若しくは該受信者アドレスに対応するユーザ情報に基づいて開示用アドレスの検証情報を生成し、受信者アドレス若しくはユーザ情報および配送条件情報並びに検証情報を含む受信者アドレス毎に識別可能な開示用アドレスを生成し、生成した開示用アドレスを宛先アドレスとするメッセージを受け付けた場合に、検証情報に基づいて前記開示用アドレスの正当性を検証するよう構成したので、開示用アドレスの通信条件情報などを第三者が改ざんした場合であってもその不正を検証情報により確認し、もって不正な開示用アドレスの利用を防止することができる。
【００２９】
また、本発明にかかる通信方法は、受信者電話端末に通話接続する際の通話条件情報および受信者電話番号に基づいて開示用電話番号の検証情報を生成し、受信者電話番号若しくは該受信者電話番号に対応するユーザ情報および通話条件情報並びに検証情報を含む受信者ごとに識別可能な開示用電話番号を生成し、生成した開示用電話番号に基づく通話接続要求を受け付けた場合に、この検証情報に基づいて開示用電話番号の正当性を検証するよう構成したので、開示用電話番号の通信条件情報などを第三者が改ざんした場合であってもその不正を検証情報により確認し、もって不正な開示用電話番号の利用を防止することができる。
【００３０】
また、本発明にかかる通信方法は、受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して所定の署名鍵を鍵とする鍵付きハッシュ関数を適用して検証情報を生成するよう構成したので、鍵付きハッシュ関数を利用して効率良く検証情報を生成することができる。
【００３１】
また、本発明にかかる通信方法は、開示用識別子から抽出した受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して署名鍵を鍵とする前記鍵付きハッシュ関数を適用して比較情報を生成し、該比較情報と検証情報が一致する場合に開示用識別子が正当であると検証するよう構成したので、高速かつ効率的に開示用識別子の正当性を検証することができる。
【００３２】
また、本発明にかかる通信方法は、開示用識別子が正当でない場合または当該開示用識別子に含まれる通信条件情報の通信条件を満たさない場合に、通信要求を拒絶するよう構成したので、通信条件情報を改ざんした不正な通信要求があっても受信者に通信接続しないことになり、受信者が不正な通信要求に煩わされる事態を未然に防ぐことができる。
【００３３】
また、本発明にかかる通信方法は、開示用識別子が正当である場合に限り、当該開示用識別子から通信条件情報を抽出するとともに、該抽出した通信条件情報の通信条件を満たすか否かを判定するよう構成したので、そもそも検証情報レベルで不正が発覚したような場合に通信条件情報による判定をおこなう必要がなくなり、処理の効率化を図ることが可能となる。
【００３４】
また、本発明にかかる通信方法は、生成された検証情報および通信条件情報を所定の暗号鍵を用いた所定の暗号化ロジックにより暗号化した暗号化データを受信者識別子とともに含む受信者毎に識別可能な開示用識別子を生成し、生成された開示用識別子に基づく発信者通信端末からの通信要求を受け付けた場合に、暗号鍵に対応する復号鍵を用いた同じ暗号化ロジックにより開示用識別子に含まれる暗号化データを復号化して通信条件情報および検証情報を取り出し、取り出した検証情報に基づいて開示用識別子の正当性を検証するよう構成したので、不正を試みるユーザが検証コードのみを操作することを不可能にして、総当たり攻撃を困難にすることができる。
【００３５】
また、本発明にかかる通信方法は、開示用識別子に含まれる暗号化データを復号化して得られた通信条件情報を形成する通信条件の種別が有効な組み合わせであるか否か、この通信条件情報を形成する通信条件の値が有効な範囲内であるか否かを調べ、有効な組み合わせでない場合または有効な範囲内でない場合には、開示用識別子が不正であると判定するよう構成したので、迅速にかつ効率良く開示用識別子の正当性を判定することができる。特に、総当たり攻撃でアドレスが生成されたような場合に有効である。
【００３６】
また、本発明にかかる通信システムは、受信者に通信する際の通信条件を示す通信条件情報および前記受信者識別子若しくは該受信者識別子に対応するユーザ情報に基づいて開示用識別子の検証情報を生成し、受信者識別子若しくはユーザ情報および通信条件情報並びに検証情報を含む受信者毎に識別可能な開示用識別子を生成する開示用識別子生成装置と、生成された開示用識別子に基づく発信者通信端末からの通信要求を受け付けた場合に、検証情報に基づいて前記開示用識別子の正当性を検証し、開示用識別子が正当であり、かつ、当該開示用識別子に含まれる通信条件情報の通信条件を満たす場合に、通信要求にしたがって発信者通信端末と受信者通信端末の通信を確立するよう構成したので、第三者が開示用識別子の通信条件情報を改ざんした場合であっても検証情報によりその偽造の有無（正当性）を検証できるため、受信者識別子の不正利用を防止することができる。また、受信者毎に識別可能な開示用識別子を用いるため、各利用者が受信者識別子と受信者の関係を効率良く把握することができる。さらに、開示用識別子に検証情報を埋め込んで正当性を検査するようにしたので、開示用識別子に通信条件情報をそのまま埋め込んだ場合であっても問題が生じない。
【００３７】
また、本発明にかかる通信システムは、受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して所定の署名鍵を鍵とする鍵付きハッシュ関数を適用して検証情報を生成するよう構成したので、鍵付きハッシュ関数を利用して効率良く検証情報を生成することができる。
【００３８】
また、本発明にかかる通信システムは、開示用識別子から抽出した受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して署名鍵を鍵とする鍵付きハッシュ関数を適用して比較情報を生成し、該比較情報と検証情報が一致する場合に前記開示用識別子が正当であると検証するよう構成したので、高速かつ効率的に開示用識別子の正当性を検証することができる。
【００３９】
また、本発明にかかる通信システムは、複数のマスター鍵を登録したマスター鍵テーブルを設けておき、開示用識別子生成装置からの署名鍵の要求に応答してマスター鍵テーブルから署名鍵を選択して署名鍵を生成する署名鍵発行装置を設け、この署名鍵発行装置から受け取った署名鍵を用いて受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して鍵付きハッシュ関数を適用して検証情報を生成するよう構成したので、効率良く署名鍵の取得、管理および更新をおこなうことができる。
【００４０】
また、本発明にかかる通信プログラムは、受信者に通信する際の通信条件を示す通信条件情報および受信者識別子若しくは該受信者識別子に対応するユーザ情報に基づいて開示用識別子の検証情報を生成し、受信者識別子若しくはユーザ情報および通信条件情報並びに検証情報を含む受信者毎に識別可能な開示用識別子を生成し、生成した開示用識別子に基づく発信者通信端末からの通信要求を受け付けた場合に、検証情報に基づいて開示用識別子の正当性を検証し、開示用識別子が正当であり、かつ、当該開示用識別子に含まれる通信条件情報の通信条件を満たす場合に、通信要求にしたがって発信者通信端末と受信者通信端末の通信を確立するよう構成したので、第三者が開示用識別子の通信条件情報を改ざんした場合であっても検証情報によりその偽造の有無（正当性）を検証できるため、受信者識別子の不正利用を防止することができる。また、受信者毎に識別可能な開示用識別子を用いるため、各利用者が受信者識別子と受信者の関係を効率良く把握することができる。さらに、開示用識別子に検証情報を埋め込んで正当性を検査するようにしたので、開示用識別子に通信条件情報をそのまま埋め込んだ場合であっても問題が生じない。
【００４１】
また、本発明にかかる通信プログラムは、受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して所定の署名鍵を鍵とする鍵付きハッシュ関数を適用して検証情報を生成するよう構成したので、鍵付きハッシュ関数を利用して効率良く検証情報を生成することができる。
【００４２】
また、本発明にかかる通信プログラムは、開示用識別子から抽出した受信者識別子若しくは該受信者識別子に対応するユーザ情報および通信条件情報を結合した文字列に対して署名鍵を鍵とする鍵付きハッシュ関数を適用して比較情報を生成し、該比較情報と検証情報が一致する場合に前記開示用識別子が正当であると検証するよう構成したので、高速かつ効率的に開示用識別子の正当性を検証することができる。
【発明を実施するための最良の形態】
【００４３】
以下に、本発明にかかる通信方法、通信システムおよび通信プログラムの実施例を図面に基づいて詳細に説明する。なお、下記実施例１〜３では本発明をメール配送システムに適用した場合を示し、実施例４では本発明を電話交換システムに適用した場合を示すこととする。
【実施例１】
【００４４】
図１は、本実施例１に係るメール配送システムのシステム構成を示す図である。同図に示すメール配送システムは、着信者端末２２０と発信者端末３２０とを着側ＩＰ網２００、インターネット４００および発側ＩＰ網３００を介して接続し、この発信者端末３２０から発信された着信者２３０の着信者アドレスを宛先としたメールを着信者端末２２０まで配送するメール配送システムである。
【００４５】
ここで、このメール配送システムは、着信者２３０に配送するメールの配送条件を示す配送条件情報（コンテキスト情報）と着信者アドレスに基づいて開示用のアドホックアドレスを発行するアドホックアドレス発行サーバ１２０と、かかるアドホックアドレスを宛先とするメールを着信した際に、該アドホックアドレスから着信者アドレスの復元およびコンテキスト情報の抽出をおこない、該抽出したコンテキスト情報に含まれる配送条件を当該メールが満たす場合に、該メールの宛先をアドホックアドレスから復元した着信者アドレスに置き換えて当該メールを転送するアドホックメール転送サーバ１１０とが設けられている。なお、詳細な説明は後述するが、このアドホックアドレスには、着信者アドレスのユーザ名部分をそのまま用いるとともに、検証コードを付加した点に特徴がある。着信者アドレスのユーザ名部分を（暗号化等することなく）そのまま用いることとしたのは、各発信者が着信者アドレスとアドホックアドレスの対応関係を一見して識別可能とするためであり、検証コードを付加したのは、第三者によるコンテキスト情報の改ざんを防止するためである。
【００４６】
すなわち、このメール配送システムでは、着信者２３０が保有する着信者アドレスそのものを宛先として発信者端末３２０から着信者端末２２０に向けてメールを転送するのではなく、開示用のアドホックアドレスを用いてメールを転送することとしている。かかるアドホックアドレスを用いる理由は、着信者２３０が発信者３３０に対して本来の着信者アドレスを開示したくない場合があるからである。例えば、発信者３００がインターネット上の通信販売業者などである場合には、本来の着信者アドレスをむやみに開示してしまうとメーリングリストなどを通じてこの着信者アドレスが他の業者に拡散し、着信者２３０が不要なダイレクトメールなどを着信せねばならない事態が生じ得るからである。
【００４７】
加えて、かかるアドホックアドレスと言えども、アドホックアドレスと着信者の対応関係が一見して把握できないようだと、発信者３００がメールを作成する際に宛先間違いをするなど利用効率が悪いので、ここでは着信者アドレスのユーザ名部分をコンテキスト情報とともにそのままアドホックアドレスに埋め込むとともに不正を考慮して検証コードを付加している。
【００４８】
また、このアドホックアドレスには、着信者２３０にメールを配送すべきか否かを示すコンテキスト情報と本来の着信者アドレスが埋め込まれているので、コンテキスト情報に含まれる配送条件を満たす場合にのみ本来の着信者アドレスを用いてメールを配送することができる、言い換えると、たとえアドホックアドレスが他の業者などに伝搬したとしても、コンテキスト情報に含まれる配送条件を満たさない場合には、かかる業者から着信者２３０に対するメールを着信者２３０に配送しないようにすることができる。
【００４９】
図１に示した発信者端末３２０は、発信者３３０がインターネット４００を介したメール授受をおこなう際に利用する端末装置であり、着信者端末２２０は、着信者２３０がインターネット４００を介したメール授受をおこなう際に利用する端末装置である。これらの発信者端末３２０および着信者端末２２０は、一般に普及しているパーソナルコンピュータ（ＰＣ）であり、ＷＥＢブラウザソフトと電子メールソフト（メーラ）とがインストールされ、ルータＲを介して発側ＩＰ網３００および着側ＩＰ網２００にそれぞれ接続されている。なお、かかる発側ＩＰ網３００および着側ＩＰ網２００は、それぞれルータＲを介してインターネット４００に接続されている。
【００５０】
アドホックアドレス発行サーバ１２０は、着信者２３０の要求に応答してアドホックアドレスを発行するサーバ装置であり、ＨＴＴＰ通信部１２１、署名鍵１２２、ユーザテーブル１２３およびアドホックアドレス生成部１２４を有する。かかるアドホックアドレス発行サーバ１２０は、市販のＰＣやワークステーション（ＷＳ）にこれらの機能部に対応するプログラムをインストールするとともに署名鍵１２２をハードディスク装置などに格納することにより実現できる。このアドホックアドレス発行サーバ１２０は、着側ＩＰ網２００にファイアウオール（ＦＷ）を介して接続されたＬＡＮ１００に接続されている。なお、このアドホックアドレス発行サーバ１２０の処理は請求項１の検証情報生成工程および開示用識別子生成工程に対応する。
【００５１】
ＨＴＴＰ通信部１２１は、ＨＴＴＰ（Hyper Text Transfer Protocol）にしたがった通信をおこなう処理部であり、署名鍵１２２は、後述するアドホックアドレス発行サーバ１２０が検証コードを生成する際に用いる署名鍵である。具体的には、このアドホックアドレス発行サーバ１２０は、鍵付きハッシュ関数などを用いて検証コードを生成する際に、この署名鍵１２２を用いることになる。
【００５２】
ユーザテーブル１２３は、アドホックメールの発行を希望するユーザである着信者２３０のアクセスを認証する際に用いられるテーブルであり、それぞれユーザ名とパスワードを対応付けて格納する。図２は、図１に示したユーザテーブル１２３の一例を示す図である。同図に示すように、このユーザテーブル１２３では、ユーザ名「suzuki」にパスワード「ef34szq5s」を対応付けて格納し、ユーザ名「tanaka」にパスワード「ew4902sa」を対応付けて格納し、ユーザ名「yamada」にパスワード「wf4wsfa3s」を対応付けて格納している。
【００５３】
アドホックアドレス生成部１２４は、本発明に係るアドホックアドレスの生成をおこなう処理部である。具体的には、このアドホックアドレス生成部１２４では、着信者アドレスのユーザ名部分（以下「Ｒ＿Ｎ」と言う）と、コンテキスト情報を形成する条件の種別・組合せを示す条件コード及びこの条件コードに対応するコンテキスト情報（以下「Ｗ＿Ｃ」と言う）と、この着信者アドレスのユーザ名部分およびコンテキスト情報の正当性を検証する際に用いる検証コード（以下「Ｗ＿Ｖ」と言う）とから開示用のアドホックアドレスを生成する。なお、アドホックアドレスの具体的な生成手順については後述するが、このアドホックアドレス生成部１２４では、Ｒ＿Ｎ、Ｗ＿ＣおよびＷ＿Ｖを“．”で連結した文字列に所定のドメイン名（本実施例では“＠ａｄｏｈｏｃ．ｉｓｐ−Ａ．ｎｅ．ｊｐ”とする）を付加したものをアドホックアドレスとして生成する。
【００５４】
次に、図１に示したアドホックメール転送サーバ１１０の構成について説明する。図１に示したアドホックメール転送サーバ１１０は、アドホックメールを受け付けた際に、このアドホックメールから着信者アドレスの復元およびコンテキスト情報の抽出をおこない、抽出したコンテキスト情報に含まれる配送条件を満たす場合に、復元した着信者アドレスにアドホックメールを配送するサーバ装置である。
【００５５】
このアドホックメール転送サーバ１１０は、アドホックアドレス発行サーバ１２０と同様に市販のＰＣやワークステーション（ＷＳ）にこれらの機能部に対応するプログラムをインストールするとともに署名鍵１１２をハードディスク装置などに格納することにより実現できる。このアドホックアドレス転送サーバ１１０は、着側ＩＰ網２００にファイアウオール（ＦＷ）を介して接続されたＬＡＮ１００に接続されており、メール通信部１１１と、署名鍵１１２と、フィルタ処理部１１３と、転送処理部１１４とからなる。なお、このフィルタ処理部１１３の処理は請求項１の検証工程に対応し、転送処理部１１４の処理は通信確立工程に対応する。
【００５６】
メール通信部１１１は、ＳＭＴＰ標準に基づき他のメールサーバとメールを送受信する処理部であり、署名鍵１１２は、アドホックアドレス発行サーバ１２０が有する署名鍵１２２と同一のものである。
【００５７】
フィルタ処理部１１３は、他のメールサーバからアドホックメールの配送要求（中継要求）を受け付け、受け付けたアドホックメールの宛先をなすアドホックアドレスに含まれるコンテキスト情報（配送条件）に基づいて当該アドホックメールを本来の着信者アドレスに配送すべきか否かを判定する処理部である。すなわち、このフィルタ処理部１１３は、配送条件を満たすアドホックメールのみを配送対象とし、それ以外を配送外とする一種のフィルタリング処理をおこなうことになる。
【００５８】
具体的には、このフィルタ処理部１１３では、宛先アドレスをなすアドホックアドレスから着信者アドレスのユーザ名Ｒ＿Ｎ、コンテキスト情報Ｗ＿Ｃ並びに検証コードＷ＿Ｖを取り出し、このＲ＿ＮおよびＷ＿Ｃについて署名鍵１１２を用いた鍵付きハッシュ関数を適用して比較用コード（以下「Ｗ＿Ｔ」と言う）を生成する。そして、この比較用コードＷ＿Ｔと検証コードＷ＿Ｖを比較し、アドホックアドレスが正当なアドレスであるか否かを検証する。そして、正当なアドホックアドレスである場合には、コンテキスト情報が示すコンテキスト条件に基づいて配送の可否を判定する。なお、コンテキスト条件を満たしており配送対象とすべきと判定した場合には、アドホックアドレスから取り出した着信者アドレスとアドホックメールを転送処理部１１４に受け渡して転送依頼をおこなう。
【００５９】
転送処理部１１４は、フィルタ処理部１１３によって配送対象であると判定されたアドホックメールを本来の着信者アドレスに転送する処理をおこなう処理部であり、この着信者アドレスはフィルタ処理部１１３がアドホックアドレスから取り出したユーザ名Ｒ＿Ｎにドメイン名を付加したものを利用する。
【００６０】
次に、図１に示したアドホックアドレス発行サーバ１２０によるアドホックアドレスの発行手順について説明する。図３は、図１に示したアドホックアドレス発行サーバ１２０によるアドホックアドレスの発行手順を示すシーケンス図である。なお、ここではアドホックアドレスの発行をＨＴＴＰ通信により実現するものとし、アドホックアドレス発行サーバ１２０のＵＲＬは、あらかじめ利用者２３０に通知しておくものとする。
【００６１】
同図に示すように、着信者２３０が、着信者端末２２０上のＷＥＢブラウザにアドホックアドレス発行サーバ１２０のＵＲＬを入力して該アドホックアドレス発行サーバ１２０に対してアクセス要求をおこなうと（ステップＳ１１０）、このアドホックアドレス発行サーバ１２０は、着信者端末２２０に対してユーザ認証ページを返送する（ステップＳ１２０）。図４は、ユーザ認証ページの一例を示す図である。同図に示すように、このユーザ認証ページ５００には、ユーザ名とパスワードを入力する入力枠が設けられている。
【００６２】
ここで、着信者２３０がユーザ認証ページ５００上でユーザ名およびパスワードを入力してアドホックアドレス発行サーバ１２０に対して認証要求をおこなうと（ステップＳ１３０）、このアドホックアドレス発行サーバ１２０がユーザ認証をおこなう（ステップＳ１４０）。具体的には、受信したユーザ名およびパスワードに対応する組み合わせが、図２に示したユーザテーブル１２３に登録されているか否かを確認する。
【００６３】
そして、ユーザが正当であると認証された場合には、アドホックアドレス発行サーバ１２０は着信者端末２３０に対してアドホックアドレス発行ページを送信する（ステップＳ１５０）。図５は、アドホックアドレス発行ページの一例を示す図である。同図に示すように、このアドホックアドレス発行ページ６００は、着信者アドレスと配送条件を入力する入力枠が設けられており、具体的には、発信者指定の有無、発信者指定をおこなう場合の指定アドレスまたはドメイン名、有効期限の有無並びに有効期限を指定する入力枠がそれぞれ設けられている。
【００６４】
ここで、着信者２３０がアドホックアドレス発行ページ６００上で着信者アドレスと配送条件を入力して送信をおこなうと、着信者アドレスＲと配送条件（コンテキスト情報）Ｃとを指定したアドホックアドレス要求がアドホックアドレス発行サーバ１２０に対しておこなわれる（ステップＳ１６０）。
【００６５】
アドホックアドレス発行サーバ１２０が、このアドホックアドレス要求を受け付けたならば、着信者アドレスＲと配送条件（コンテキスト情報）Ｃを用いたアドホックアドレス生成処理がおこなわれ（ステップＳ１７０）、生成されたアドホックアドレスＴが着信者端末２２０に通知される（ステップＳ１８０）。着信者２３０が、かかるアドホックアドレスＴを入手したならば、このアドホックアドレスＴを発信者３２０に対して通知する（ステップＳ１９０）。なお、このアドホックアドレスＴの通知は、電話、メール、ＦＡＸなどいかなる情報伝達手段を用いても構わない。
【００６６】
次に、図５のステップＳ１７０に示したアドホックアドレス生成処理手順についてさらに具体的に説明する。図６は図３のステップＳ１７０に示したアドホックアドレス生成処理手順を示すフローチャートであり、図７は配送条件としてアドホックアドレスＴに埋め込む条件種別を説明するための説明図であり、図８はアドホックアドレス生成の具体例を示す図である。なお、ここでは説明の便宜上、着信者アドレスＲが「tanaka@mail.isp-A.ne.jp」であり、配送条件Ｃが指定発信者アドレス「suzuki@mail.isp-B.ne.jp」と指定有効期限「2003年8月31日」であるものとする。
【００６７】
図６に示すように、アドホックアドレス生成部１２４は、着信者アドレスＲのユーザ名部分を文字列Ｒ＿Ｎとする（ステップＳ２１０）。具体的には、図８に示すように、着信者アドレスＲのユーザ名部分”tanaka”をＲ＿Ｎとする。
【００６８】
その後、コンテキスト条件Ｃを符号化し、文字列Ｗ＿Ｃを作成することになるが（ステップＳ２２０）、まず最初に条件種別組み合わせを表す文字列Ｗ＿Ｃ．１を生成する（ステップＳ２２１）。図７および図８に示すように、発信者アドレス指定の場合には”Ｓ”、発信者アドレスのドメイン指定の場合には”Ｄ”、有効期限指定の場合には”Ｅ”の文字列が対応付けられており、たとえば発信者アドレスと有効期限の組み合わせの場合には、条件種別組み合わせを表す文字列Ｗ＿Ｃ．１が”ＳＥ”となる。
【００６９】
その後、選択されている各条件を符号化し、文字列Ｗ＿Ｃ．２を生成する（ステップＳ２２１）。具体的には、この文字列Ｗ＿Ｃ．２の生成に際し、発信者アドレスＳが指定されている場合には、指定発アドレスＳのハッシュ値の下位２０ビットをＢＡＳＥ３２で符号化して４文字の文字列Ｗ＿Ｃ．２．Ｓを生成する（ステップＳ２２２．Ｓ）。図８においては、この文字列Ｗ＿Ｃ．２．Ｓが”ab4g”となる。
【００７０】
また、発信ドメイン名Ｄが指定されている場合には、指定発ドメインＤの単語数を３ビット整数符号化し、その後に指定発ドメインＤのハッシュ値の下位１７ビットを追加し、生成される２０ビットのデータをＢＡＳＥ３２で符号化し、４文字の文字列Ｗ＿Ｃ．２．Ｄを生成する（ステップＳ２２２．Ｄ）。図８においては、発ドメインの指定はない。なお、Ｎビット整数符号化とは、０から（２のＮ乗−１）までの整数値をＮビットの二進数で表現することを意味し、たとえば「７」を３ビット整数符号化すると「111」となり、５ビット整数符号化すると「00111」となる。
【００７１】
さらに、有効期限が指定されている場合には、年（西暦年の下２桁）、月（０１から１２までの２桁数字）、日（０１から３１までの２桁数字）の順番で６桁の数字各条件を示す文字列Ｗ＿Ｃ．２．Ｅを生成する（ステップＳ２２２．Ｅ）。図８においては、文字列Ｗ＿Ｃ．２．Ｅが”030831”となる。
【００７２】
そして、条件種別の組み合わせ情報が示す順番で各文字を示す文字列を連結し、Ｗ＿Ｃ．２を生成し（ステップＳ２２２−ｌａｓｔ）、文字列Ｗ＿Ｃ．１とＷ＿Ｃ．２をつなげてＷ＿Ｃとする（ステップＳ２２３）。図８においては、文字列Ｗ＿Ｃ．２が”ab4g030831”となり、文字列Ｗ＿Ｃは”SE.ab4g030831”となる。
【００７３】
その後、Ｒ＿ＮとＷ＿Ｃとを”．”で連結した文字列を生成し、この文字列の鍵付きハッシュ関数の値を署名鍵Ｋを用いて求め、この値の下位３０ビットをＢＡＳＥ３２で符号化し、検証コードとなる６文字の文字列Ｗ＿Ｖを生成する（ステップＳ２３０）。図８においては、この検証コードＷ＿Ｖが”aged2a”となる。そして最後に、Ｒ＿ＮとＷ＿ＣとＷ＿Ｖとを”．”で連結した文字列を生成し、この文字列の後に”@adohoc.isp-A.ne.jp”を付加してアドホックアドレスＴを生成する（ステップＳ２４０）。図８においては、このアドホックアドレスＴは”tanaka.SE.ab4g030831.aged2a@adohoc.isp-A.ne.jp”となる。
【００７４】
上記一連の処理をおこなうことにより、着信者アドレス「tanaka@mail.isp-A.ne.jp」と、指定発信者アドレス「suzuki@mail.isp-B.ne.jp」および指定有効期限「2003年8月31日」からなる配送条件（コンテキスト情報）に基づいて、”tanaka.SE.ab4g030831.aged2a@adohoc.isp-A.ne.jp”というアドホックアドレスを生成できることになる。
【００７５】
次に、図１に示したアドホックメール転送サーバ１１０によるアドホックメールの転送手順について説明する。図９は、図１に示したアドホックメール転送サーバ１１０によるアドホックメールの転送手順を示すシーケンス図である。
【００７６】
同図に示すように、発信者３３０が発信者端末３２０を用いてアドホックアドレスＴを宛先とするメールの発信操作をおこなうと（ステップＳ３０１）、このメールが発側メールサーバ３１０にメール送信される（ステップＳ３０２）。そして、この発側メールサーバ３１０は、メール転送サーバとしての通常動作により宛先アドレスのドメイン名に対応するメールサーバへメール送信要求をおこなう（ステップＳ３０３）。ここで、このアドホックアドレスのドメイン名がアドホックメール転送サーバ１１０のホスト名となっているので、このメール送信要求はアドホックメール転送サーバ１１０に受信される。
【００７７】
そして、このアドホックメール転送サーバ１１０は、メール転送要求の宛先であるアドホックアドレスＴに基づいて署名鍵１１２を用いたフィルタ処理をおこない（ステップＳ３０４）、当該メール送信要求を受け付けるか棄却するかを判定する。そして、このフィルタ処理によりメール転送要求を受け付けると判定した場合には、宛先をなすアドホックアドレスＴに基づいて着信者アドレスＲを取得し、発側メールサーバ３１０に対してメール送信許可をおこなう（ステップＳ３０５）。
【００７８】
このメール送信許可を受け付けた発側メールサーバ３１０は、アドホックメールをアドホックメール転送サーバ１１０にデータ転送し（ステップＳ３０６）、アドホックメール転送サーバ１１０は、アドホックメールの宛先をなすアドホックアドレスから復元した着信者アドレスのドメイン名を確認して転送先を判断し（ステップＳ３０７）、このドメイン名が示す着側メールサーバ２１０に当該アドホックメールを転送する（ステップＳ３０８）。
【００７９】
着信者端末２２０は、着信者２３０の到着メール確認操作を契機としてメール確認要求を着側メールサーバ２２０に送信し（ステップＳ３０９）、このメール確認要求に応答して着側メールサーバ２２０は、アドホックメールを着信者端末２２０に送信する（ステップＳ３１０）。
【００８０】
なお、上記ステップＳ３０４のフィルタ処理によりメール転送要求を受け付けない（棄却する）と判定した場合には、発側メールサーバ３１０に対してメール受信拒否メッセージを送信してメール転送をおこなわないこととなる。
【００８１】
次に、図９のステップＳ３０４で示したフィルタ処理について具体的に説明する。図１０は、図９のステップＳ３０４で示したフィルタ処理手順を示すフローチャートである。同図に示すように、アドホックアドレス転送サーバ１１０のフィルタ処理部１１３は、まず最初に宛先アドレスのユーザ名部分からＲ＿Ｎ、Ｗ＿Ｃ．１、Ｗ＿Ｃ．２、Ｗ＿Ｖの文字列を抽出する（ステップＳ４１０）。具体的には、先頭部から第３ドット文字の直前までをＲ＿Ｎとして抽出し、第３ドット文字の直後から第２ドット文字の直前までをＷ＿Ｃ．１として抽出し、第２ドット文字の直後から第１ドット文字の直前までをＷ＿Ｃ．２として抽出し、第１ドット文字の直後から末尾までをＷ＿Ｖとして抽出する。なお、ここで言う第Ｎドット文字とは、ユーザ名部分の末尾から数えてＮ番目のドット文字”．”を示している。また、第３ドット文字の直後から第１ドット文字の直前までの文字列をＷ＿Ｃと定義する。
【００８２】
その後、Ｒ＿ＮとＷ＿Ｃとを”．”で連結した文字列を生成し、この文字列の鍵付きハッシュ関数の値を署名鍵１１２を用いて求め、この値の下位３０ビットをＢＡＳＥ３２で符号化し、比較コードとしての６文字の文字列Ｗ＿Ｔを生成し（ステップＳ４２０）、生成した比較コードＷ＿Ｔをアドホックアドレスから抽出した文字列Ｗ＿Ｖと比較して一致するか否かを判定する（ステップＳ４３０）。そして、両者が一致しない場合には転送不可として終了する。
【００８３】
これに対して、両者が一致する場合には、文字列Ｗ＿Ｃを復号する（ステップＳ４４０）。なお、バイト読み出し位置は初期状態でＷ＿Ｃ．２の先頭とし、読み取る毎にその分だけ読み出し位置を進める。具体的には、Ｗ＿Ｃ．１に”Ｓ”が含まれる場合には、４文字をＷ＿Ｃ．２．Ｓとして読み取り、これをＢＡＳＥ３２で復号して得られる２０ビットのデータをハッシュ値とし（ステップＳ４４０．Ｓ）、Ｗ＿Ｃ．１に”Ｄ”が含まれる場合には、４文字をＷ＿Ｃ．２．Ｄとして読み取り、これをＢＡＳＥ３２で復号して得られるビット列の最初の３ビットをドメインの単語数Ｄ＿Ｎとして読み取り、残りの１７ビットのデータをハッシュ値とし（ステップＳ４４０．Ｄ）、Ｗ＿Ｃ．１に”Ｅ”が含まれる場合には、６文字をＷ＿Ｃ．２．Ｅとして読み取り、最初の２桁を年、次の２桁を月、次の２桁を日として、有効期限とする（ステップＳ４４０．Ｅ）。
【００８４】
その後、コンテキスト条件Ｗ＿Ｃに基づいて、転送可否を判断する（ステップＳ４５０）。具体的には、Ｗ＿Ｃ．１に”Ｓ”が含まれる場合には、当該メールの発アドレスのハッシュ値の下位２０ビットがステップＳ４４０．Ｓで求めたハッシュ値と一致するか否か判定し、一致しない場合には転送不可とする（ステップＳ４５０．Ｓ）。また、Ｗ＿Ｃ．１に”Ｄ”が含まれる場合には、当該メールの発アドレスのドメイン名の末尾からＤ＿Ｎ単語を読み取り、この文字列のハッシュ値の下位１７ビットがステップＳ４４０．Ｄで求めたハッシュ値と一致するか否か判定し、一致しない場合には転送不可とする（ステップＳ４５０．Ｄ）。さらに、Ｗ＿Ｃ．１に”Ｅ”が含まれる場合には、ステップＳ４４０．Ｅで取得した有効期限よりも現在時刻が前の日付になっているか否かを確認し、以前の日付でない場合には転送不可とする（ステップＳ４５０．Ｅ）。なお、以上の判定により転送不可とならなければ転送可能とする（ステップＳ４６０）。
【００８５】
上述してきたように、本実施例１では、アドホックアドレス発行サーバ１２０が着信者２３０に配送するメールの配送条件を示す配送条件情報（コンテキスト情報）と着信者アドレスに基づいて検証コードを生成するとともに、着信者アドレス、コンテキスト情報および検証コードから開示用のアドホックアドレスを発行し、アドホックメール転送サーバ１３０は、かかるアドホックアドレスを宛先とするメールを着信した際に、検証コードに基づいてアドホックアドレスの不正を検証した後、該アドホックアドレスから取り出したコンテキスト情報に基づいてメールを着信者２３０に配送するか否かを決定するよう構成したので、第三者による着信者アドレスの不正利用を防止しつつ、各利用者が着信者アドレスと着信者の関係を効率良く把握することができる。
【実施例２】
【００８６】
ところで、上記実施例１では、アドホックアドレス発行サーバ１２０によりアドホックアドレスを発行する場合を示したが、着信者側でアドホックアドレスを生成することもできる。また、種別に応じて条件値を埋め込まないことによりアドレス長を短縮することもできる。そこで、本実施例２では、着信者側でアドホックアドレスを生成するとともに、アドレス長を短縮することができる実施例を示すこととする。
【００８７】
図１２は、本実施例２に係るメール配送システムのシステム構成を示す図である。同図に示すものは、図１に示したメール配送システムのアドホックアドレス発行サーバ１２０の代わりにアドホックアドレス生成装置７３０を着信者側（典型的には着信者端末２２０とアドホックアドレス生成装置７３０が同一の端末（ＰＣ）で実現される）に設けるとともに、署名鍵発行サーバ７２０を新たに設けている。
【００８８】
署名鍵発行サーバ７２０は、アドホックアドレス生成装置７３０からの要求に応答して署名鍵を生成する装置であり、ＨＴＴＰ通信部１２１、マスター鍵テーブル７２１、ユーザテーブル１２３および署名鍵生成部７２２を有する。なお、この署名鍵発行サーバ７２０は、請求項１０の署名鍵発行装置に対応する。
【００８９】
マスター鍵テーブル７２１は、マスター鍵を記憶したテーブルであり、具体的には図１２に示すように、選択インデックスごとに制御キーワードＫｗ、マスター鍵Ｋｍ、期限Ｋｅを対応づけて記憶する。ここでは、選択インデックス”３”には、制御キーワード”blue”、マスター鍵”0x34af4532”、期限”2003/6/30”を対応付け、選択インデックス”０”には、制御キーワード”green”、マスター鍵”0x34d2a36b”、期限”2003/9/30”を対応付け、選択インデックス”１”には、制御キーワード”grren”、マスター鍵”0xe48ab21f”、期限”2003/6/30”を対応付け、選択インデックス”２”には、制御キーワード”green”、マスター鍵”0x982f59ae”、期限”2003/6/30”を対応付けた場合を示している。
【００９０】
署名鍵生成部７２２は、マスター鍵テーブル７２１に基づいて署名鍵を生成する処理部であり、具体的には、署名鍵を要求するユーザ名Ｒ＿Ｎから選択インデックスを求めて当該行の制御キーワードＫｗ、マスター鍵Ｋｍ、期限Ｋｅをマスター鍵テーブル７２１から取得し、ユーザ名Ｒ＿Ｎの鍵付きハッシュ関数の値をマスター鍵Ｋｍを用いて求めて署名鍵Ｋとする処理をおこなう。なお、ＨＴＴＰ通信部１２１およびユーザテーブル１２３は図１に示したものと同様のものであるので、ここでは同一符号を付すこととしてその詳細な説明を省略する。
【００９１】
アドホックアドレス生成装置７３０は、着信者側に配設されるアドホックアドレスの生成装置であり、署名鍵取得部７３１、署名鍵記憶部７３２およびアドホックアドレス生成部１２４からなる。なお、このアドホックアドレス生成装置７３０は、請求項８の開示用識別子生成装置に対応する。
【００９２】
署名鍵取得部７３１は、利用者からの指示に応答して署名鍵発行サーバ７２０から署名鍵を取得する処理部であり、一般的に３ヶ月に一度ぐらいの割合で利用者がおこなう取得指示に応答して署名鍵を取得する。署名鍵記憶部７３２は、署名鍵取得部７３１により取得された署名鍵を記憶する記憶部である。図１３に示すように、この署名鍵記憶部７３２には、制御キーワードＫｗ、署名鍵Ｋおよび期限Ｋｅが記憶される。ここでは、制御キーワードＫｗが”green”であり、署名鍵Ｋが”0x39ab1293”であり、期限Ｋｅが”2003/9/30”である場合を示している。
【００９３】
アドホックアドレス生成部１２４は、署名鍵記憶部７３２に記憶した署名鍵Ｋを用いてアドホックアドレスを生成する処理部であり、図１に示したアドホックアドレス発行サーバ１２０が有するアドホックアドレス生成部１２４に対応する処理部である。なお、具体的なアドレス生成手順については後述する。
【００９４】
次に、図１１に示したアドホックメール転送サーバ７１０は、図１に示したアドホックメール転送サーバ１１０に対応するサーバ装置であり、マスター鍵テーブル７１１および署名鍵生成部７１２並びにアドレステーブル７１３を新たに有する。なお、このアドホックメール転送サーバ７１０は、請求項８のフィルタリング装置に対応する。
【００９５】
マスター鍵テーブル７１１は、署名鍵発行サーバ７２０が有する図１２に示したマスター鍵テーブル７２１と同じテーブルであり、署名鍵生成部７１２は、署名鍵発行サーバ７２０が有する署名鍵生成部７２２と同様の処理をおこなう処理部である。
【００９６】
アドレステーブル７１３は、図１４に示すようにユーザＩＤ（Ｒ＿Ｎ）とアドレスとの対応関係を記憶するテーブルである。ここでは、ユーザＩＤ”suzuki”と”suzuki@isp-B.ne.jp”を対応付け、ユーザＩＤ”tanaka”と”tanaka@isp-A.ne.jp”を対応付け、ユーザＩＤ”yamada”と”yamada@company-C.com”を対応付けた場合を示している。
【００９７】
次に、利用者のアドレスをアドレステーブル７１３に登録するアドレス登録手順について説明する。図１５は、利用者のアドレスをアドレステーブル７１３に登録するアドレス登録手順を示すシーケンス図である。同図に示すように、着信者２３０の操作によりアドホックアドレス生成装置７３０から署名鍵発行サーバ７２０にアクセス要求がなされると（ステップＳ５１０）、署名鍵発行サーバ７２０は、アドレス登録ページをアドホックアドレス生成装置７３０に対して返送する（ステップＳ５２０）。図１６は、アドレス登録ページ８００の一例を示す図であり、このアドレス登録ページ８００には、ユーザ名、パスワードおよび登録アドレスを入力する入力枠が設けられている。
【００９８】
そして、着信者２３０がこのアドレス登録ページに対して入力をおこなって送信すると、ユーザ名Ｒ＿Ｎ、パスワードおよびアドレスＲを含むアドレス登録要求がおこなわれる（ステップＳ５３０）。このアドレス登録要求を受け付けた署名鍵発行サーバ７２０は、ユーザテーブル１２３を用いてユーザ認証をおこなった後に（ステップＳ５４０）、アドホックメール転送サーバ７１０が有するアドレステーブル７１３に対するアドレス登録処理をおこない（ステップＳ５５０）、アドホックアドレス生成装置７３０に対してアドレス登録応答をおこなう（ステップＳ５４０）。
【００９９】
このように、アドホックアドレス生成装置７３０からアドレス登録要求がなされると、署名鍵発行サーバ７２０を介してアドホックメール転送サーバ７１０のアドレステーブル７１３に対してアドレスを登録することができる。
【０１００】
次に、アドホックアドレス生成装置７３０が署名鍵を取得するまでの処理手順について説明する。図１７は、アドホックアドレス生成装置７３０が署名鍵を取得するまでの処理手順を示すシーケンス図である。同図に示すように、着信者２３０の操作によりアドホックアドレス生成装置７３０から署名鍵発行サーバ７２０にアクセス要求がなされると（ステップＳ６１０）、署名鍵発行サーバ７２０は、ユーザ認証ページをアドホックアドレス生成装置７３０に対して返送する（ステップＳ６２０）。
【０１０１】
そして、着信者２３０がこのユーザ認証ページに入力をおこなって送信すると、ユーザ名Ｒ＿Ｎ、パスワードおよびアドレスＲが署名鍵発行サーバ７２０に送信される（ステップＳ６３０）。ここで、これらを受け取った署名鍵発行サーバ７２０は、ユーザテーブル１２３を参照してユーザ認証をおこなった後に（ステップＳ６４０）、マスター鍵テーブル７２１を用いて後述する署名鍵生成処理をおこない（ステップＳ６５０）、生成した署名鍵Ｋ、制御キーワードＫｗおよび有効期限Ｋｅをアドホックアドレス生成装置７３０に通知する（ステップＳ６６０）。
【０１０２】
なお、この署名鍵Ｋを受け取ったアドホックアドレス生成装置７３０は、受信した署名鍵Ｋ、制御キーワードＫｗおよび有効期限Ｋｅを署名鍵記憶部７３２に保存する（ステップＳ６７０）。上記一連の処理をおこなうことにより、アドホックアドレス生成装置７３０が、アドホックアドレスを生成する際に必要となる署名鍵Ｋを署名鍵発行サーバ７２０から取得して署名鍵記憶部７３２に保存することが可能となる。
【０１０３】
次に、図１７のステップＳ６５０に示した署名鍵生成処理手順についてさらに具体的に説明する。図１８は、図１７のステップＳ６５０に示した署名鍵生成処理手順を示すフローチャートである。同図に示すように、この署名鍵発行サーバ７２０がユーザ名Ｒ＿Ｎを受け取ると、ユーザ名Ｒ＿Ｎのハッシュ値の下位２ビットを選択インデックスとし、マスター鍵テーブル７２１で選択インデックスが一致してかつ期限が最も新しい行を選択し、当該行の制御キーワードＫｗ、マスター鍵Ｋｍおよび有効期限Ｋｅを取得する（ステップＳ７１０）。
【０１０４】
その後、ユーザ名Ｒ＿Ｎの鍵付きハッシュ関数の値をマスター鍵Ｋｍを用いて求め、これを署名鍵Ｋとし（ステップＳ７２０）、署名鍵Ｋ、制御キーワードＫｗ、有効期限Ｋｅを出力する。
【０１０５】
次に、図１１に示したアドホックアドレス生成装置７３０によるアドホックアドレスの生成・通知手順について説明する。図１９は、図１１に示したアドホックアドレス生成装置７３０によるアドホックアドレスの生成・通知手順を示すシーケンス図であり、図２０は具体的なアドホックアドレスの生成処理手順を示すフローチャートである。また、図２１は、本実施例２に係るアドホックアドレス生成の概念を示す説明図である。なお、ここではすでに署名鍵Ｋは取得されているものとし、ユーザ名Ｒ＿Ｎは”tanaka”であるものとする。
【０１０６】
図１９に示すように、着信者２３０がアドホックアドレス生成装置７３０に対してユーザ名Ｒ＿ＮおよびコンテキストＣを指定してアドホックアドレスの生成操作をおこなうと（ステップＳ８１０）、アドホックアドレス生成装置７３０は、署名鍵記憶部７３２に記憶した署名鍵を用いてアドホックアドレスの生成処理をおこない（ステップＳ８２０）、生成したアドホックアドレスＴを表示部に表示する（ステップＳ８３０）。このため、着信者２３０は、メール等の何らかの情報伝達手段を通じてアドホックアドレスＴを発信者に通知することになる。
【０１０７】
具体的には、図２０に示したように、アドホックアドレス生成装置７３０は、コンテキスト条件Ｃを符号化し、文字列Ｗ＿ＣＴを作成する（ステップＳ９１０）。より詳細には、条件種別組み合わせを表す文字列Ｗ＿Ｃ．１を作成し（ステップＳ９１１）、選択されている各条件について復号時に値を復元する必要がある情報のみを符号化し文字列Ｗ＿Ｃ．２を作成する（ステップＳ９１２）。すなわち、発信者アドレスが指定されている場合には、指定発信者アドレスの値は符号化せず（ステップＳ９１２．Ｓ）、発信ドメインが指定されている場合には、指定発ドメインＤの単語数を１桁の数字で表しこれをＷ＿Ｃ．２．Ｓ．Ｄとする。また、有効期限が指定されている場合には、年（西暦年の下２桁）、月（０１から１２までの２桁数字）、日（０１から３１までの２桁数字）の順番で６桁の数字Ｗ＿Ｃ．２．Ｅを生成する（ステップＳ９１２．Ｅ）。そして、符号化データが発生した条件値について、各種種別の組み合わせ情報が示す順番で各条件値を示す文字列を連結し（ステップＳ９１２−ｌａｓｔ）、文字列Ｗ＿Ｃ．１とＷ＿Ｃ．２をつなげてＷ＿ＣＴとする（ステップＳ９１３）。図２１の場合には、文字列Ｗ＿Ｃ．１が”SE”となり、Ｗ＿Ｃ．２が”030831”となるので、Ｗ−ＣＴは”SE030831”となる。
【０１０８】
その後、コンテキスト条件Ｃに基づき、文字列Ｗ＿ＣＶを作成する（ステップＳ９２０）。すなわち、指定発アドレスの値をＷ＿ＣＶ．Ｓとし（ステップＳ９２０．Ｓ）、指定発ドメインの値をＷ＿ＣＶ．Ｄとする（ステップＳ９２０．Ｄ）。なお、有効期限については特に生成する文字列はない（ステップＳ９２０．Ｅ）。そして、データが発生した条件値について、条件種別組み合わせ情報が示す順番で各条件値を示す文字列を連結してＷ＿ＣＶを生成する（ステップＳ９２０．ｌａｓｔ）。図２１の場合には、Ｗ＿ＣＶは”suzuki@mail.isp-B.ne.jp”となる。
【０１０９】
その後、Ｒ＿ＮとＷ＿ＣＴとＷ＿ＣＶとを”．”で連結した文字列を生成し、この文字列の鍵付きハッシュ関数の値を署名鍵Ｋを用いて求め、この値の下位３０ビットをＢＡＳＥ３２で符号化した６文字の文字列を検証コードＷ＿Ｖとする（ステップＳ９３０）。図２１の場合には、この検証コードＷ＿Ｖが”aedasd”となる。
【０１１０】
そして、Ｒ＿ＮとＷ＿ＣＴとＷ＿Ｖとを”．”で連結した文字列を生成し、この文字列の後に”＠”を付加し、その後に署名鍵記憶部７３２中の制御キーワードＫｗを付加し、その後に”.adhoc.isp-A.ne.jp”を付加して（ステップＳ９４０）、アドホックアドレスＴを生成する。図２１の場合には、”tanaka.SE.030831.aedasd@green.adhoc.isp-A.ne.jp”となる。
【０１１１】
次に、図１１に示したアドホックメール転送サーバ７１０によるアドホックメールの転送手順について説明する。図２２は、図１１に示したアドホックメール転送サーバ７１０によるアドホックメールの転送手順を示すシーケンス図である。
【０１１２】
同図に示すように、発信者３３０が発信者端末３２０を用いてアドホックアドレスＴを宛先とするメールの発信操作をおこなうと（ステップＳ１００１）、このメールが発側メールサーバ３１０にメール送信される（ステップＳ１００２）。そして、この発側メールサーバ３１０は、メール転送サーバとしての通常動作により宛先アドレスのドメイン名に対応するメールサーバへメール送信要求をおこなう（ステップＳ１００３）。ここで、このアドホックアドレスのドメイン名がアドホックメール転送サーバ７１０のホスト名となっているので、このメール送信要求はアドホックメール転送サーバ７１０に受信される。
【０１１３】
そして、このアドホックメール転送サーバ７１０は、メール転送要求の宛先であるアドホックアドレスＴに基づいてマスター鍵テーブル７１１のマスター鍵を用いたフィルタ処理をおこない（ステップＳ１００４）、当該メール送信要求を受け付けるか棄却するかを判定する。そして、このフィルタ処理によりメール転送要求を受け付けると判定した場合には、宛先をなすアドホックアドレスＴに基づいて着信者アドレスＲを取得し、発側メールサーバ３１０に対してメール送信許可をおこなう（ステップＳ１００５）。
【０１１４】
このメール送信許可を受け付けた発側メールサーバ３１０は、アドホックメールをアドホックメール転送サーバ７１０にデータ転送し（ステップＳ１００６）、アドホックメール転送サーバ７１０は、Ｒ＿Ｎに対応する着信アドレスＲをアドレステーブル７１３から取り出して転送先を判断し（ステップＳ１００７）、この着信アドレスＲのドメイン名が示す着側メールサーバ２１０に当該アドホックメールを転送する（ステップＳ１００８）。
【０１１５】
着信者端末２２０は、着信者２３０の到着メール確認操作を契機としてメール確認要求を着側メールサーバ２２０に送信し（ステップＳ１００９）、このメール確認要求に応答して着側メールサーバ２２０は、アドホックメールを着信者端末２２０に送信する（ステップＳ１０１０）。
【０１１６】
なお、上記ステップＳ１００４のフィルタ処理によりメール転送要求を受け付けない（棄却する）と判定した場合には、発側メールサーバ３１０に対してメール受信拒否メッセージを送信してメール転送をおこなわないこととなる。
【０１１７】
次に、図２２のステップＳ１００４で示したフィルタ処理について具体的に説明する。図２３は、図２２のステップＳ１００４で示したフィルタ処理手順を示すフローチャートである。同図に示すように、アドホックアドレス転送サーバ７１０のフィルタ処理部１１３は、まず最初に宛先アドレスのユーザ名部分からＲ＿Ｎ、Ｗ＿Ｃ．１、Ｗ＿Ｃ．２、Ｗ＿Ｖの文字列を抽出する（ステップＳ１１１０）。具体的には、先頭部から第３ドット文字の直前までをＲ＿Ｎとして抽出し、第３ドット文字の直後から第２ドット文字の直前までをＷ＿Ｃ．１として抽出し、第２ドット文字の直後から第１ドット文字の直前までをＷ＿Ｃ．２として抽出し、第１ドット文字の直後から末尾までをＷ＿Ｖとして抽出する。なお、ここで言う第Ｎドット文字とは、ユーザ名部分の末尾から数えてＮ番目のドット文字”．”を示している。また、第３ドット文字の直後から第ドット文字の直前までの文字列をＷ＿ＣＴと定義する。
【０１１８】
その後、文字列Ｗ＿ＣＴを復号する（ステップＳ１１２０）。なお、バイト読み出し位置は初期状態でＷ＿Ｃ．２の先頭とし、読み取る毎にその分だけ読み出し位置を進める。具体的には、Ｗ＿Ｃ．１に”Ｓ”が含まれる場合には特に読み取らず（ステップＳ１１２０．Ｓ）、Ｗ＿Ｃ．１に”Ｄ”が含まれる場合には、１文字の数字を読み取りこれをドメインの単語数Ｄ＿Ｎとし（ステップＳ１１２０．Ｄ）、Ｗ＿Ｃ．１に”Ｅ”が含まれる場合には、６文字をＷ＿Ｃ．２．Ｅとして読み取り、最初の２桁を年、次の２桁を月、次の２桁を日として、有効期限とする（ステップＳ１１２０．Ｅ）。
【０１１９】
その後、コンテキスト条件Ｗ＿ＣＴに基づいて、転送可否を一次判断する（ステップＳ１１３０）。具体的には、Ｗ＿Ｃ．１に”Ｓ”が含まれる場合には、ステップＳ１１２０．Ｅで取得した有効期限よりも現在時刻が前の日付になっているか否かを確認し、以前の日付でない場合には転送不可とする。
【０１２０】
これに対して、一次判断の結果転送可能な場合には、署名鍵Ｋを生成する（ステップＳ１１４０）。具体的には、宛先アドレスのドメイン名部分の先頭部から最初のドット文字直前までの文字列を制御キーワードＫｗとして取得し（ステップＳ１１４１）、Ｒ＿Ｎのハッシュ値の下位２ビットを選択インデックスとする（ステップＳ１１４２）。また、マスター鍵テーブル７１１から取得した制御キーワードＫｗと選択インデックスと一致する行を選択し、当該行のマスター鍵Ｋｍを取得し（ステップＳ１１４３）、Ｒ＿Ｎの鍵付きハッシュ関数の値をマスター鍵Ｋｍで求め、署名鍵Ｋとする（ステップＳ１１４４）。
【０１２１】
その後、コンテキスト条件Ｗ＿ＣＴに基づいて文字列Ｗ＿ＣＶを作成する（ステップＳ１１５０）。具体的には、着信メールのＦＲＯＭアドレスの値をＷ＿ＣＶ．Ｓとし（ステップＳ１１５０．Ｓ）、着信メールのＦＲＯＭアドレスのドメイン名の末尾からＤ＿Ｎ単語分をＷ＿ＣＶ．Ｄとする（ステップＳ１１５０．Ｄ）。なお、有効期限については特に生成する文字列はない（ステップＳ１１５０．Ｅ）。そして、データが発生した条件値について、条件種別の組み合わせ情報が示す順番で各条件値を示す文字列を連結しＷ＿ＣＶを生成する（ステップＳ１１５０．ｌａｓｔ）。
【０１２２】
その後、Ｒ＿ＮとＷ＿ＣＴとＷ＿ＣＶとを”．”で連結した文字列を生成し、この文字列の鍵付きハッシュ関数の値を署名鍵Ｋを用いて求め、この値の下位３０ビットをＢＡＳＥ３２で符号化し、比較コードとしての６文字の文字列Ｗ＿Ｔを生成する（ステップＳ１１６０）。そして、この比較コードＷ＿ＴがＷ＿Ｖと一致するか否かを調べ（ステップＳ１１７０）、不一致なら転送不可と判定し、一致する場合には転送可能と判定する。
【０１２３】
上述してきたように、本実施例２では、署名鍵発行サーバ７２０がアドホックアドレス生成装置７３０の要求に応答して署名鍵を発行し、発行した署名鍵を用いてアドホックアドレス生成装置７３０がアドホックアドレスを生成するよう構成したので、署名鍵の管理、発行および更新を効率良くおこなうことができるとともに、アドホックアドレス生成装置７３０をより着信者２３０側の装置（たとえば着信者端末２２０と一体化）とすることができる。
【実施例３】
【０１２４】
ところで、上記実施例１および２では、不正を試みるユーザによって検証コードの部分のみを変えながら総当たり攻撃がされた場合に備えて、検証コードをある程度の長さにする必要があるので、結果的にアドホックアドレスが長くならざるを得ないという問題がある。そこで、本実施例３では、暗号化手法を用いることにより総当たり攻撃がなされた場合にも対抗でき、かつ、アドレス長を低減することができるメール配送システムについて説明する。なお、システム構成等については、上記実施例１および２と同様のものになるので、ここではその説明を省略する。
【０１２５】
本実施例３に係るメール配送システムでは、検証コードを生成した後にこの検証コードとコンテキスト情報を暗号化してアドホックアドレスに埋め込み、フィルタリング時には、暗号化された検証コードとコンテキスト情報を復号化した後に、復号化したコンテキスト情報（条件の組み合わせや有効期限）が有効な範囲であるか否かを判定し、有効な範囲でない値が復元された場合には不正なアドホックアドレスとして検出するよう構成する。
【０１２６】
具体的には、図１に示したアドホックアドレス発行サーバ１２０に暗号鍵を設けるとともにアドホックメール転送サーバ１１０にこの暗号鍵に対応する復号鍵を設けておき、アドホックアドレス発行サーバ１２０のアドホックアドレス生成部１２４ａは、検証コードを生成した後に、この検証コードとコンテキスト情報をこの暗号鍵を用いて暗号化し、ユーザ名Ｒ＿Ｎに暗号化データを付加した後にドメイン名をさらに付加してアドホックアドレスとする。一方、アドホックメール転送サーバ１１０のフィルタ処理部１１３は、宛先アドレスのユーザ名部分から文字列を抽出したならば、暗号化データ部分を復号鍵を用いて復号化し、復号化されたコンテキスト情報に含まれるコンテキスト条件に基づいてフィルタリングをおこなう。なお、検証コードによる検証についても実施例１と同様におこなう。
【０１２７】
これにより、実施例１の図８に示したアドホックアドレス「tanaka.SE.ab4g030831.aged2a@adhoc.isp-A.ne.jp」ではなく、たとえば「tanaka.ege8bes378sac.aged2a@adhoc.isp-A.ne.jp」というように、コンテキスト情報と検証コードを一つのまとまったブロックとして暗号化したアドホックアドレスを生成することができるので、不正を試みるユーザは、全体のまとまったブロックに対して総当たり攻撃をする必要が生じる。言い換えれば、コンテキスト情報と検証コードという２つのフィールドを独立に設けるのではなくまとまったブロックとして暗号化することにより、不正を試みるユーザが検証コードのみを操作することを不可能にして、総当たり攻撃を困難にすることができる。
【０１２８】
次に、本実施例３におけるアドホックアドレス生成について具体的に説明する。図２４は、アドホックアドレスのユーザ名部分をなす暗号化前のバイナリーデータのデータ構造を説明するための説明図であり、図２５は、条件組み合わせパターンとコードの対応関係を示す図である。なお、ここではアドホックアドレスのユーザ名部分をなす暗号化前のバイナリーデータＢ．ｐのデータ長を６４ビットとし、このバイナリーデータの最上位ビットを「b63」とし、最下位ビットを「b0」とする。
【０１２９】
図２４に示すように、位置「b63」〜「b56」までの８ビットには、図２５に示したコードテーブルにしたがって、条件・組み合わせを符号化した値を設定し、位置「b55」〜「b40」までの１６ビットには、有効期限が指定されている場合に、２０００年１月１日から有効期限までの日数を１６ビット整数符号化することにより有効期限を設定する。また、位置「b39」〜「b20」までの２０ビットには、発信者アドレスＳが指定されている場合には、すでに説明したように指定アドレスＳから２０ビットのデータを生成して設定し、発信者ドメインＤが指定されている場合には、すでに説明したようにして発信者ドメインから２０ビットのデータを生成して設定する。さらに、位置「b19」〜「b0」までの２０ビットには、検証コードを設定する。具体的には、Ｒ＿Ｎの文字コード列の後ろにb63〜b20までのデータをつなげて得られるデータ列を作成し、このデータ列の鍵付きハッシュ関数の値を署名鍵Ｋを用いて求め、この値の下位２０ビットを生成する。
【０１３０】
このようにして、バイナリーデータＢ．ｐを生成したならば、暗号鍵を用いて所定の暗号化ロジックで暗号化して暗号データＢ．ｃを生成する。なお、この暗号化ロジックとしては公開鍵暗号系、共通鍵暗号系の周知の暗号化ロジックを用いることができる。その後、暗号化データＢ．ｃに１ビットパディングして得られる６５ビットのデータをＢＡＳＥ３２符号化して１３文字の文字列Ｐを生成し、Ｒ＿ＮとＰを“．”で連結してアドホックアドレスのユーザ名部分を生成し、最後にドメイン名を付加してアドホックアドレスＴ（たとえば、tanaka.ege8bes378sac.aged2a@adhoc.isp-A.ne.jp）を生成する。
【０１３１】
次に、本実施例３に係るアドホックアドレスの復号・フィルタリングについて具体的に説明する。まずアドホックアドレスを宛先とするメールを受信したならば、このアドホックアドレスのユーザ名部分を取り出して文字列Ｒ＿Ｎと文字列Ｐに分離した後、文字列ＰをＢＡＳＥ３２復号化して得られる６５ビットのデータの末尾１ビットを削除して、６４ビットのデータＢ．ｃを取得する。
【０１３２】
その後、フィルタリングをおこなう。具体的には、データＢ．ｐの位置「b63」〜「b56」が、図２５に示したコードテーブルに定義されていないビットパターンとなった場合には、アドホックアドレスは不正なものであるとみなす。また、データＢ．ｐの位置「b55」〜「b40」が示す有効期限が現在の日付よりも以前か現在の日付よりも１０００日以上先であった場合には、アドホックアドレスは無効か不正に生成されたアドレスであるものとみなす。この段階で、総当たり攻撃で生成されたアドレスの大部分を排除することができる。
【０１３３】
その後、検証コードの有効性を確認する。具体的には、Ｒ＿Ｎの文字列の後ろにＢ．ｐの位置「b63」〜「b20」までのデータをつなげて得られるデータ列を作成し、このデータ列の鍵付きハッシュ関数の値を署名鍵Ｋを用いて求め、この値の下位２０ビットを比較コードＴとし、この比較コードＴがデータＢ．ｐの位置「b19」〜「b0」の検証コードと一致しない場合には、不正に生成されたアドホックアドレスであるとみなす。典型的には、有効なアドホックアドレスのユーザ名部分を変更して作成された不正なアドホックアドレスがこの段階で排除される。その後、実施例１と同様にしてフィルタリングをおこなって、発信者アドレス、発ドメインの有効性を判定し、転送可否を決定する。
【０１３４】
上述してきたように、本実施例３では、検証コードを生成した後にこの検証コードとコンテキスト情報を暗号化してアドホックアドレスに埋め込み、フィルタリング時には、暗号化された検証コードとコンテキスト情報を復号化した後に、復号化したコンテキスト情報（条件の組み合わせや有効期限）が有効な範囲であるか否かを判定し、有効な範囲でない値が復元された場合には不正なアドホックアドレスとして検出するよう構成したので、不正を試みるユーザが検証コードのみを操作することを不可能にして、総当たり攻撃を困難にすることができる。
【０１３５】
なお、上記実施例１〜３では、本発明をメール配送システムに適用した場合を示したが、本発明はこれに限定されるものではなく、インスタントメッセージなどの他のメッセージサービスに対して適用することができる。かかるインスタントメッセージの場合には、着信者へのメッセージ配送の起動契機がサーバ側でおこなう点でメールのように着信者が起動する場合と異なるが、それ以外の点ではメールの場合と変わりがないため、同様に適用することができる。
【実施例４】
【０１３６】
ところで、上記実施例１〜３では、本発明をメール配送システムに適用した場合を示したが、本発明はこれに限定されるものではなく、電話交換システムにも適用することもできる。そこで、本実施例４では、本発明を電話交換システムに適用した場合を説明することとする。
【０１３７】
図２６は、本実施例４に係る電話交換システムのシステム構成を示す図である。同図に示す電話交換システムは、着側加入者収容交換機８２０、発側加入者収容交換機８３０および中継交換機８５０により電話交換網を形成するとともに、着信者９２０が利用する着信者電話端末９１０を着側加入者収容交換機８２０に収容し、発信者９５０が利用する発信者電話端末９４０を発側加入者収容交換機８３０に収容したシステムである。そして、これらの交換機８２０、８３０および８５０には、制御信号転送網８４０および制御装置８１０が接続されており、この制御装置８１０によって後述するアドホック電話番号に係る交換指示がおこなわれる。
【０１３８】
また、この制御装置８１０は、閉域ＩＰネットワーク８７０を介してアドホック電話番号発行サーバ８６０に接続されており、このアドホック電話番号発行サーバ８６０によってアドホック電話番号が発行される。このアドホック電話番号発行サーバ８６０は、インターネット８８０を介して着信者９２０が利用する着信者ＰＣ９３０に接続されているので、着信者９２０は、インターネット８８０を介してアドホック電話番号発行サーバ８６０に対してアドホック電話番号の発行を要求することができる。なお、この制御装置８１０がおこなう処理は請求項１の検証工程および通信確立工程に対応し、アドホック電話番号発行サーバ８６０がおこなう処理は請求項１の検証情報生成工程および開示用識別子生成工程に対応する。
【０１３９】
ここで、かかる電話交換システムは、アドホック電話番号発行サーバ８６０において着信者電話端末９１０に通話接続する際の通話接続条件を示す通話接続条件情報と着信者電話端末９１０の着信者電話番号とに基づいてアドホック電話番号を発行するとともに、制御装置８１０がアドホック電話番号を用いた通話接続要求を受け付けた際に、該アドホック電話番号から着信者電話番号の復元および通話接続条件情報の抽出をおこない、該抽出した通話接続条件情報に含まれる通話接続条件を通話接続要求が満たす場合に、着信者電話端末９１０と発信者電話端末９４０を通話接続するよう電話交換網を形成する発側加入者収容交換機８３０に指示するよう構成している。
【０１４０】
すなわち、従来は、着信者９２０が迷惑電話お断りサービスを利用したり、迷惑電話番号を着信者電話端末９１０自体の着信拒否機能を利用して着信拒否設定をおこなわない限り、発信者９５０が着信者電話端末９１０に対する通話接続要求をおこなった際に必ず着信者電話端末９１０の呼び出し音が鳴り、着信者９２０がこの呼び出し音に対応せねばならなかったため、着信者電話番号が第三者に漏洩および拡散した場合には、着信者９２０が電話対応に追われるという問題があった。このため、この電話交換システムでは、アドホックな電話番号を付与するアドホック電話番号発行サーバ８６０を設けることにより、着信者９２０がＷＥＢ上で懸賞に応募したり通信販売の申込みをおこなう場合に、本来の着信者電話番号ではなくアドホック電話番号を伝え、本来の着信者電話番号への迷惑電話の到来を未然に防止している。また、制御装置８１０を設けることにより、アドホック電話番号を用いた通話接続要求がなされた際にすべて着信者電話端末９１０に通話接続するのではなく、このアドホック電話番号に含まれた通話接続条件を満たす場合にのみ着信者電話端末９１０に通話接続することにより、着信者電話端末９１０への不要な着信をなくし、もって迷惑電話の到来を防止している。特に、アドホック電話番号にユーザＩＤおよびコンテキスト情報そのものを埋め込むとともに、改ざん防止コードを含めた点に特徴がある。
【０１４１】
次に、図２６に示した電話交換システムを形成する各装置について説明する。発信者電話端末９４０は、発信者９５０が他の加入者（着信者９２０）と通話をおこなう場合に使用する電話機であり、着信者電話端末９１０は、着信者９２０が他の加入者（発信者９５０）と通話をおこなう場合に使用する電話機である。また、着信者ＰＣ９３０は、ＷＥＢブラウザを搭載したパーソナルコンピュータであり、ルータＲを介してインターネット８８０に接続されている。
【０１４２】
発側加入者収容交換機８３０と着側加入者収容交換機８２０は、既存の電話交換機であり、アドホック電話番号用のサービス特番「０３２０」を含む電話番号（アドホック電話番号Ｔ）を宛先電話番号とする通話接続要求を受信した場合に、当該通話接続要求メッセージを制御装置８１０へ転送し、このメッセージの応答であるサービス指示メッセージを制御装置８１０から受信し、このサービス指示メッセージが示す着信者電話端末９１０と発信者電話端末９４０とを交換接続する。中継交換機８５０は、上記発側加入者収容交換機８３０と着側加入者収容交換機８２０との間に介在する交換機であり、着信者電話端末９１０と発信者電話端末９４０との間の回線を確立するよう交換接続をおこなう。
【０１４３】
アドホック電話番号発行サーバ８６０は、着信者ＰＣ９３０からの要求に応答して本発明に係るアドホック電話番号を発行するサーバ装置であり、ユーザテーブル８６１、ハッシュ用鍵テーブル８６２、アドホック電話番号生成部８６３およびＨＴＴＰ通信部８６４を有する。
【０１４４】
かかるアドホック電話番号発行サーバ８６０は、市販のＰＣやワークステーション（ＷＳ）にこれらの機能部に対応するプログラムをインストールするとともに各テーブルをハードディスク装置などに格納することにより実現できる。このアドホック電話番号発行サーバ８６０は、ルータＲを介してインターネット８８０に接続されている。
【０１４５】
ユーザテーブル８６１は、アドホック電話番号の発行を希望するユーザのアクセス認証をおこなう時点とアドホック電話番号を生成する時点で利用されるテーブルであり、ユーザ名、ユーザＩＤ（ＩＤ＿Ｒ）、電話番号（Ｒ）およびパスワードを対応付けて格納する。図２７は、図２６に示したユーザテーブル８６１の一例を示す図であり、同図に示すように、このユーザテーブル１６１は、ユーザ名「suzuki」にユーザＩＤ「2344」、電話番号「0422-59-2345」、パスワード「ef34szq5s」を対応付けて格納し、ユーザ名「tanaka」にユーザＩＤ「2345」、電話番号「0422-59-1234」、パスワード「ew4902sa」を対応付けて格納し、ユーザ名「yamada」にユーザＩＤ「2344」、電話番号「03-5205-3421」、パスワード「wf4wsfa3s」を対応付けて格納している。
【０１４６】
ここで、ユーザ名およびパスワードは、ユーザがアドホック電話番号発行サーバ８６０にアクセスする際の認証（本人確認）のために用いられ、ユーザＩＤ（ＩＤ＿Ｒ）は、アドホック電話番号に埋め込む通話接続条件情報の一部として用いられる。すなわち、電話番号（Ｒ）そのものを通話接続条件情報の一部とすると、通話接続条件情報のデータ長が長くなるため、この電話番号（Ｒ）に代えてユーザＩＤ（ＩＤ＿Ｒ）を用いている。なお、後述する制御装置８１０でも、このユーザテーブル８６１と同一のユーザテーブル８１１を使用する。ユーザＩＤ（ＩＤ＿Ｒ）に対応する電話番号（Ｒ）を特定できる必要があるからである。
【０１４７】
ハッシュ用鍵テーブル８６２は、改ざん防止コードを生成する際に必要となるハッシュ用鍵（Ｋ）、アドホック電話番号の有効期限の基点日（ＴＴ）をそれぞれ鍵ＩＤ（ＩＤ＿Ｋ）に対応付けて格納したテーブルである。図２８は、かかるハッシュ用鍵テーブル８６２の一例を示す図である。同図に示すように、このハッシュ用鍵テーブル８６２では、鍵「0x34d2a36b」、基点日「2003/4/1」を鍵ＩＤ２３に対応付けて格納し、鍵「0xe48ab21f」、基点日「2003/4/1」を鍵ＩＤ２４に対応付けて格納し、鍵「0xab46fc9a」、基点日「2003/7/1」を鍵ＩＤ２５に対応付けて格納し、鍵「0xe6a3b13b」、基点日「2003/7/1」を鍵ＩＤ２６に対応付けて格納している。
【０１４８】
ここで、この基点日（ＴＴ）を記憶した理由は、本実施例４では、アドホック電話番号の有効期限を年月日で直接的に指定するのではなく、基点日からの日、週または月で指定することとしたからである。
【０１４９】
アドホック電話番号生成部８６３は、本発明に係るアドホック電話番号の生成をおこなう処理部であり、図示したように条件コードテーブル８６３ａを有する。具体的には、このアドホック電話番号生成部８６３では、着信者電話番号に対応するユーザＩＤ（ＩＤ＿Ｒ）と、通話接続条件情報を形成する条件の種別・組合せを示す条件コード及びこの条件コードに対応する通話接続条件情報とから開示用のアドホック電話番号を生成する。なお、アドホック電話番号の具体的な生成手順については後述するが、このアドホック電話番号生成部８６３では、ハッシュ用鍵テーブル８６２の鍵を用いてアドホック電話番号にユーザＩＤ（ＩＤ＿Ｒ）および通信接続条件情報を埋め込む。
【０１５０】
このアドホック電話番号生成部８６３に内在した条件コードテーブル８６３ａは、上記通話接続条件情報を形成する通話接続条件の種別・組合せを示す条件コードを格納したテーブルである。図２９は、この条件コードテーブル８６３ａの一例を示す図である。同図に示すように、この条件コードテーブル８６３ａには、通話接続条件の組合せパターンと組合せコードとが対応づけて格納される。
【０１５１】
図中のパターン「Ｓ」は、発信者電話番号を通話接続条件として通話接続条件情報に含ませることを意味し、このパターンの組合せコードは「000」である。パターン「Ｍ」、「Ｗ」、「Ｄ」は、いずれも有効期限通話接続条件として通話接続条件情報に含ませることを意味し、月精度を示す「Ｍ」の組合せコードは「001」であり、週精度を示す「Ｗ」の組合せコードは「010」であり、日精度を示す「Ｄ」の組合せコードは「011」である。また、パターン「Ｔ」は着信時間帯を通話接続条件として通話接続条件情報に含ませることを意味し、このパターンの組合せコードは「100」である。パターン「ＳＴ」は、上記パターンＳの発信者電話番号とパターンＴの着信時間帯を通話接続条件として通話接続条件情報に含ませることを意味し、このパターンの組合せコードは「101」である。パターン「ＳＭ」は、上記パターンＳの発信者電話番号とパターンＭの月精度有効期限を通話接続条件として通話接続条件情報に含ませることを意味し、このパターンの組合せコードは「110」である。パターン「ＳＷ」は、上記パターンＳの発信者電話番号とパターンＷの週精度有効期限を通話接続条件として通話接続条件情報に含ませることを意味し、このパターンの組合せコードは「111」である。なお、ここでは説明の便宜上、これらのパターンのみを用いる場合を説明するが、これら以外のパターンを設けることもできる。
【０１５２】
これらの組合せパターンのいずれかに対応する組合せコードをアドホック電話番号に埋め込むことにより、アドホック電話番号にどのような通話接続条件情報が埋め込まれているかを把握することができる。なお、ここでは発信者電話番号、有効期限（月精度、週精度、日精度）および着信時間帯を通話接続条件情報を形成する通話接続条件とする場合を示したが、本発明はこれに限定されるものではなく、これら以外の通話接続条件を対象とすることもできる。この場合には、通話接続条件に対応する組合せコードを条件コードテーブル８６３ａに登録すれば良い。
【０１５３】
ＨＴＴＰ通信部８６４は、ＨＴＴＰ（Hyper Text Transfer Protocol）にしたがった通信をおこなう処理部であり、ＷＥＢサーバプログラムとしてアドホック電話番号発行サーバ８６０で実行される。なお、ユーザテーブル８１１およびハッシュ用鍵テーブル８１２は、それぞれユーザテーブル８６１、ハッシュ用鍵テーブル８６２と同期しているが、このデータ同期のための通信はアドホック電話番号通信サービス業者の閉域ＩＰネットワークにより実現される。
【０１５４】
次に、図２６に示した制御装置８１０の構成について説明する。図２６に示した制御装置８１０は、すでに説明したように、アドホック電話番号を用いた通話接続要求を受け付けた際に、該アドホック電話番号から着信者電話番号の復元および通話接続条件情報の抽出をおこない、該抽出した通話接続条件情報に含まれる通話接続条件を通話接続要求が満たす場合に、着信者電話端末９１０と発信者電話端末９４０を通話接続するよう電話交換網を形成する発側加入者収容交換機８３０に指示する装置である。
【０１５５】
この制御装置８１０は、アドホックアドレス発行サーバ８６０と同様に市販のＰＣやワークステーション（ＷＳ）にこれらの機能部に対応するプログラムをインストールするとともにユーザテーブル８１１およびハッシュ用鍵テーブル８１２をハードディスク装置などに格納することにより実現できる。この制御装置８１０は、各交換機８２０、８３０、８５０および制御信号転送網８４０並びに閉域ＩＰネットワーク８７０に接続されており、ユーザテーブル８１１と、ハッシュ用鍵テーブル８１２と、フィルタ処理部８１３と、通話接続指示部８１４と、制御信号送受信部８１５とからなる。
【０１５６】
ユーザテーブル８１１は、アドホック電話番号から着信者電話番号を取り出す際に用いられるテーブルであり、アドホック電話番号発行サーバ８６０が保持する図２７で説明したユーザテーブル８６１と同じものである。なお、このユーザテーブル８１１には必要な情報（データ操作時のキーになるユーザ名と呼制御で必要となるユーザＩＤと電話番号のみ）を持たせることもできる。すなわち、アドホック電話番号には、着信者電話番号そのものではなくこの着信者電話番号に対応するユーザＩＤが埋め込まれているため、かかるユーザテーブル８１１を用いてユーザＩＤから着信者電話番号を逆引きするのである。ハッシュ用鍵テーブル８１２は、アドホック電話番号発行サーバ８６０が保持するハッシュ鍵テーブル８６２と同じものである
【０１５７】
フィルタ処理部８１３は、アドホック電話番号を用いた通話接続要求を受け付け、受け付けたアドホック電話番号に含まれる通話接続条件情報に基づいて当該通話接続要求を交換接続対象とするか否かを判定する処理部である。すなわち、このフィルタ処理部８１３は、通話接続条件を満たすアドホック電話番号を用いた通話接続要求のみを交換接続対象とし、それ以外を破棄する一種のフィルタリング処理をおこなうことになる。
【０１５８】
具体的には、このフィルタ処理部８１３では、ハッシュ用鍵テーブル８１２に格納されたハッシュ鍵を用いた文字付きハッシュ関数の適用した結果を改ざん防止コードと比較して改ざんの有無を検査し、改ざんされていない場合に、アドホック電話番号に含まれる通話接続条件情報に含まれる通話接続条件を用いて当該通話接続要求を交換接続対象とするか否かを判定する。
【０１５９】
通話接続指示部８１４は、フィルタ処理部８１３が交換接続すべきと判定した通話接続要求について、着信者電話端末９１０と発信者電話端末９４０との回線を確立するよう交換機８３０に指示する処理部である。具体的には、そして、ユーザテーブル８１１を用いてユーザＩＤに対応する着信者電話番号を取得し、取得した着信者電話番号を持つ着信者電話端末９１０と発信者電話端末９４０との回線を確立するように交換機８３０に交換接続を指示する。
【０１６０】
制御信号送受信部８１５は、各交換機８２０、８３０、８５０との間で呼制御信号メッセージ（接続要求メッセージ、サービス指示メッセージ）の送受信をおこなう処理部であり、たとえば、通話接続指示部８１４から交換接続指示を受け付けたならば、この交換接続指示に対応する接続要求メッセージを交換機８３０に送信することになる。
【０１６１】
次に、図２６に示したアドホック電話番号発行サーバ８６０によるアドホック電話番号の発行手順について説明する。図３０は、図２６に示したアドホック電話番号発行サーバ８６０によるアドホック電話番号の発行手順を示すシーケンス図である。なお、ここではアドホック電話番号の発行をＨＴＴＰ通信により実現するものとし、アドホック電話番号発行サーバ８２０のＵＲＬは、あらかじめ着信者９２０に通知しておくものとする。
【０１６２】
同図に示すように、着信者９２０が、着信者ＰＣ９３０上のＷＥＢブラウザにアドホック電話番号発行サーバ８６０のＵＲＬを入力して該アドホック電話番号発行サーバ８６０に対してアクセス要求をおこなうと（ステップＳ１２１０）、このアドホック電話番号発行サーバ８６０は、着信者ＰＣ９３０に対してユーザ認証ページを返送する（ステップＳ１２２０）。図３１は、ユーザ認証ページの一例を示す図である。同図に示すように、このユーザ認証ページ１０００には、ユーザ名とパスワードを入力する入力枠が設けられている。
【０１６３】
ここで、着信者９２０がユーザ認証ページ１０００上でユーザ名およびパスワードを入力してアドホック電話番号発行サーバ８６０に対して認証要求をおこなうと（ステップＳ１２３０）、このアドホック電話番号発行サーバ８６０がユーザ認証をおこなう（ステップＳ１２４０）。具体的には、受信したユーザ名およびパスワードに対応する組み合わせが、図２７で示したユーザテーブル８６１に登録されているか否かを確認する。
【０１６４】
そして、ユーザが正当であると認証された場合には、アドホック電話番号発行サーバ８６０は着信者ＰＣ９３０に対してアドホック電話番号発行ページを送信する（ステップＳ１２５０）。図３２は、アドホック電話番号発行ページの一例を示す図である。同図に示すように、このアドホック電話番号発行ページ１１００は、着信者電話番号と通話接続条件を入力する入力枠が設けられており、具体的には、発番号（発信者電話番号）指定の有無、有効期限の指定の有無、着信時間帯の指定の有無を選択する入力枠と、ありの場合の指定電話番号、有効期限、着信開始時刻、着信終了時刻を指定する入力枠とがそれぞれ設けられている。
【０１６５】
ここで、着信者９２０がアドホック電話番号発行ページ１１００上で着信者電話番号と通話接続条件を入力して送信をおこなうと、着信者電話番号Ｒと通話接続条件Ｃとを指定したアドホック電話番号要求がアドホック電話番号発行サーバ８６０に対しておこなわれる（ステップＳ１２６０）。
【０１６６】
アドホック電話番号発行サーバ８６０が、このアドホック電話番号要求を受け付けたならば、着信者電話番号Ｒと通話接続条件Ｃを用いたアドホック電話番号生成処理がおこなわれ（ステップＳ１２７０）、生成されたアドホック電話番号Ｔが着信者ＰＣ９３０に通知される（ステップＳ１２８０）。着信者９２０が、かかるアドホック電話番号Ｔを入手したならば、このアドホック電話番号Ｔを発信者９５０に対して通知する（ステップＳ１２９０）。なお、このアドホック電話番号Ｔの通知は、電話、メール、ＦＡＸなどいかなる情報伝達手段を用いても構わない。
【０１６７】
次に、図３０のステップＳ１２７０に示したアドホック電話番号生成処理手順についてさらに具体的に説明する。図３３は、図３０のステップＳ１２７０に示したアドホック電話番号生成処理手順を示すフローチャートであり、図３４は、アドホック電話番号生成の具体例を示す図である。なお、ここでは説明の便宜上、着信者電話番号Ｒが「0422-59-1234」であり、通話接続条件Ｃが発番号指定（Ｓ）「03-5205-5678」および週精度有効期限指定（Ｗ）「2003年8月31日」であるものとする。また、図３４中の「Ｂ」は２進データ（バイナリーデータ）を示し、「Ｄ」は１０進表記を示している。
【０１６８】
図３３に示すように、アドホック電話番号生成部８６３は、ユーザテーブル８６１を参照して着信者電話番号Ｒに対応するユーザ名（ＩＤ＿Ｎ）とユーザＩＤ（ＩＤ＿Ｒ）を取得し（ステップＳ１３１０）、ＩＤ＿ＮとＩＤ＿Ｒを連結した文字列を任意のハッシュ関数に入力して得られた値の下位８ビットをキーとしてハッシュ用鍵テーブル８６２を参照し、ハッシュ用鍵（Ｋ）と起点日（ＴＴ）を取得する（ステップＳ１３２０）。具体的には、図３４に示すように、着信者電話番号Ｒに対応するユーザＩＤ（ＩＤ＿Ｒ）「２３４５」をユーザテーブル８６１から取得した後に、このユーザＩＤ（ＩＤ＿Ｒ）「２３４５」を符号化してバイナリーデータＩＤ＿Ｒ．ｐ「0000,1001,0010,1001」を取得する。
【０１６９】
その後、コンテキスト条件（Ｃ）を符号化し、コンテキストデータ（データＢ１）を生成する（ステップＳ１３３０）。具体的には、条件コードテーブル８６３ａを参照してコンテキスト条件の組合せを示すコードを取得して組み合わせデータ（データＢ１１）とするとともに（ステップＳ１３３１）、選択されている各条件を符号化し、通話接続条件データ（データＢ１２）を生成する（ステップＳ１３３２）。具体的には、発番号が指定されている場合には、指定発番号Ｓのハッシュ値を３２で割った値を５ビット整数符号化し（ステップＳ１３３２．Ｓ）、日精度有効期限が指定されている場合には、起点日ＴＴから指定期限までの日数を７ビット整数符号化し（ステップＳ１３３２．Ｄ）、週精度有効期限が指定されている場合には、指定期限の次の日曜日が起点日ＴＴから何回目の日曜日にあたるかを求めてこの値を５ビット整数化符号化し（ステップＳ１３３２．Ｗ）、月精度有効期限が指定されている場合には、指定期限の月末が起点日ＴＴから何回目の月末にあたるかを求めてこの値を４ビット整数符号化し（ステップＳ１３３２．Ｍ）、着信時間帯が指定されている場合には、時精度で時刻を表現し、着信開始時刻(７〜２２の範囲とする)を４ビット整数符号化するとともに（着信終了時刻−着信開始時刻−1）を４ビット符号化し（ステップＳ１３３２．Ｔ）、最後にデータＢ１１とＢ１２とを連結して、コンテキスト条件データＢ１とする（ステップＳ１３３３）。なお、データＢ１１は条件の組合せにより長さが異なるため、Ｂ１２の最大長１２ビット（指定発番号と日精度有効期限を組み合せた場合の長さ）に満たない場合には、任意のルール（たとえば１で埋める等）でパディングする。
【０１７０】
図３４では、組み合わせ「ＳＷ」について条件コードテーブル８６３ａを調べてＢ１１＝「B:111」を取得するとともに、指定発番号のハッシュ値を符号化してＢ１２．Ｓ＝「B:1,0101」を取得し、指定有効期限を符号化してＢ１２．Ｗ＝「B:0,1001」が得られるため、Ｂ１２の末尾を１でパディングすることにより、Ｂ１＝「B:111,1010,1010,0111」が得られる。
【０１７１】
次に、改ざん防止コード（データＢ２）を生成する（ステップＳ１３４０）。具体的には、ユーザＩＤ（ＩＤ＿Ｒ）の整数符号化データ（ＩＤ＿Ｒ．ｐ）を生成し（ステップＳ１３４１）、このデータＩＤ＿Ｒ．ｐとデータＢ１(コンテキスト条件の符号化データ)を連結して、ハッシュ対象のデータＢ２．ｈとし（ステップＳ１３４２）、データＢ２．ｈをＢＡＳＥ３２で符号化した文字列の鍵付きハッシュ関数の出力を求め、下位５ビットを改ざん防止コード（データＢ２）とする。
【０１７２】
図３４では、ＩＤ＿Ｒを符号化したＩＤ＿Ｒ．ｐ＝「B:0000,1001,0010,1001」とデータＢ１とを連結してＢ２．ｈ＝「B:000,0100,1001,0100,1111,1010,1010,0111」を取得し、この鍵付きハッシュ値を求めて、下位５ビットＢ２＝「B:1,1011」を改ざん防止コードとしている。
【０１７３】
その後、データＢ１（コンテキスト条件の符号化データ）とデータＢ２（改ざん防止コード）を連結してデータＢを生成し（ステップＳ１３５０）、このデータＢ（通話接続条件と改ざん防止コード）を１０進表記の数字列に変換してユーザＩＤ（ＩＤ＿Ｒ）と連結してアドホック電話番号の下位桁Ｔ１を生成し（ステップＳ１３６０）、サービス特番「０３２０」とＩＤ＿ＲとＴ１を連結してアドホック電話番号Ｔを作成する（ステップＳ１３７０）。図３４では、Ｔ＝「0320-2345-1004795」というアドホック電話番号を生成した例を示している。
【０１７４】
上記一連の処理をおこなうことにより、着信者電話番号「0422-59-1234」と、発番号指定「03-5205-5678」および週精度期限「2003年8月31日」からなる通話接続条件に基づいて、「0320-2345-1004795」というアドホック電話番号を生成できることになる。このアドホック電話番号を見ると、ユーザテーブル８６１のユーザＩＤが維持されているので、一見してユーザ名「ｔａｎａｋａ」の電話番号であることが分かる。
【０１７５】
次に、図２６に示した制御装置８１０による交換接続制御手順について説明する。図３５は、図２６に示した制御装置８１０によるアドホック電話番号による通話接続要求に応答した交換接続制御手順を示すシーケンス図である。
【０１７６】
同図に示すように、発信者９５０が発信者電話端末９４０を用いてアドホック電話番号をダイヤルして発呼操作をおこなうと（ステップＳ１４０１）、通話接続要求が発側加入者収容交換機８３０に到達する（ステップＳ１４０２）。ここで、この発側加入者収容交換機８３０は通話接続要求がなされた電話番号の上位４桁を参照して、サービス特番「0320」であることを検知したならば、この通話接続要求に対応するサービス指示要求を制御装置８１０に送信する（ステップＳ１４０３）。
【０１７７】
このサービス指示要求を受け取った制御装置８１０は、アドホック電話番号から通話接続条件情報を抽出し、抽出した通話接続条件情報に含まれる通話接続条件に基づいて通話接続要求が交換接続対象となるか否かを判定するサービス処理判断をおこない（ステップＳ１４０４）、交換接続対象となる場合には、発側加入者収容交換機８３０に対して交換接続する旨を示すサービス指示をおこなう（ステップＳ１４０５）。具体的には、制御装置８１０は、着信者電話端末９１０の着信者電話番号を含むサービス指示をおこなうことになる。
【０１７８】
その後、既存の電話交換網の接続シーケンスにより、発側加入者収容交換機８３０から中継交換機８５０を介して着側加入者収容交換機８２０に接続指示がおこなわれ（ステップＳ１４０６）、着信者電話端末９１０に着呼通知がなされ（ステップＳ１４０７）、着信者電話端末９１０の呼び出し音が鳴動するとともに（ステップＳ１４０８）、発信者電話端末９４０にも呼び出し中通知がおこなわれ（ステップＳ１４０９）、発信者電話端末９４０が呼び出し中のトーンを鳴動させる（ステップＳ１４１０）。そして、着信者９２０が着信者電話端末９１０をオフフックしたならば、接続応答をおこなって通話接続をおこない、通話開始状態とする。
【０１７９】
次に、図３５のステップＳ１４０４で示したサービス処理判断（フィルタ処理）について具体的に説明する。図３６は、図３５のステップＳ１４０４で示したサービス処理判断（フィルタ処理）手順を示すフローチャートである。同図に示すように、まず最初にアドホック電話番号Ｔのサービス特番「0320」より下位桁の番号列Ｔ１を取得した後（ステップＳ１５１０）、ハッシュ用鍵（ｋ）を取得する（ステップＳ１５２０）。具体的には、Ｔ１の上位４桁を取得してユーザＩＤ（ＩＤ＿Ｒ）とし（ステップＳ１５２１）、このＩＤ＿Ｒを検索キーとしてユーザテーブル８１１を検索し、ユーザ名（ＩＤ＿Ｎ）と電話番号（Ｒ）を取得する（ステップＳ１５２２）。そして、このＩＤ＿ＮとＩＤ＿Ｒを連結した文字列をアドホック電話番号の発行時に利用したハッシュ関数に入力し、得られた値の下位８ビットをキーとしてハッシュ用鍵テーブル８６２を参照し、ハッシュ用鍵（Ｋ）と起点日（ＴＴ）を取得する（ステップＳ１５２３）。
【０１８０】
そして、Ｔ１の５桁目以降を取得して２進数に変換し、制御データ（データＢ）を作成した後（ステップＳ１５３０）、データの検証をおこなう（ステップＳ１５４０）。具体的には、ＩＤ＿Ｒを２進数に変換した値をＩＤ＿Ｒ．ｐとし（ステップＳ１５４１）、このＩＤ＿Ｒ．ｐと、データＢの上位１１ビットとを連結した値をＢ２．ｈとする（ステップＳ１５４２）。そして、このデータＢ２．ｈをＢＡＳＥ３２で符号化した文字列の鍵付きハッシュ関数の出力を求め、下位５ビットとデータＢの下位５ビットを比較する（ステップＳ１５４３）。このようにして改ざんの有無を判定し（ステップＳ１５５０）、改ざんがなされている場合には、接続要求の棄却をサービス指示として（ステップＳ１５９０）、処理を終了する。
【０１８１】
これに対して、改ざんがなされていない場合には、コンテキスト条件Ｃの取得をおこなう（ステップＳ１５６０）。具体的には、データＢの上位３ビットより条件の組み合わせ（Ｂ１１）を取得し（ステップＳ１５６１）、組み合わせに含まれる条件を復号する（ステップＳ１５６２）。なお、ビット読み出し位置は初期状態でＢ１の４ビット目とし、読み取る毎にその分だけ読み出し位置を進めることとする。発番号指定が含まれる場合には、５ビットを発番号制限値として読み取り（ステップＳ１５６２．Ｓ）、月精度期限が含まれる場合には、４ビットを整数Ｎとして読み取り、起点日からＮ回目の月末を有効期限とする（ステップＳ１５６２．Ｍ）。また、週精度期限が含まれる場合には、５ビットを整数Ｎとして読み取り、起点日からＮ回目の週末を有効期限とし（ステップＳ１５６２．Ｗ）、日精度期限が含まれる場合には、７ビットを整数Ｎとして読み取り、起点日からＮ日目を有効期限とし（ステップＳ１５６２．Ｄ）、着信時間帯が含まれる場合には、４ビットを整数Ｎ１として読み取り、７＋Ｎ１を着信開始時刻とするとともに、さらに４ビットを整数Ｎ２として読み取り、着信開始時刻＋１＋Ｎ２を着信終了時刻とする（ステップＳ１５６２．Ｔ）。
【０１８２】
その後、コンテキスト条件Ｃに基づき接続可否を判断する（ステップＳ１５７０）。具体的には、発番号指定が含まれる場合には、入力である発番号Ｓからハッシュ値を求め、このハッシュ値がステップＳ１５６２．Ｓで取得した値と一致するか判定し、一致しない場合には接続不可とする（ステップＳ１５７１）。また、コンテキスト条件Ｃに有効期限指定が含まれている場合には、現在時刻ｔがステップＳ１５６２．Ｔで取得した有効期限をすぎているか判定し、経過している場合には接続不可とする（ステップＳ１５７２）。また、コンテキスト条件Ｃに時間帯指定が含まれている場合には、現在時刻がステップＳ１５６２．Ｔで取得したコンテキスト条件中の指定時間帯内であるか否かを判定し、指定時間帯外である場合には接続不可とする（ステップＳ１５７３）。なお、上記のいずれの条件判定においても接続不可でない場合には接続可能とする。（ステップＳ１５７４）。
【０１８３】
かかる接続可否についての判断の結果、接続可能である場合にはステップＳ１５２２で取得した電話番号（Ｒ）への接続をサービス指示とし（ステップＳ１５８０）、接続不可である場合には接続要求の棄却をサービス指示とする（ステップＳ１５９０）。
【０１８４】
上述してきたように、本実施例４では、着信者電話端末９１０への通話接続条件を示す通話接続条件情報と着信者電話番号に基づいて開示用のアドホック電話番号の改ざん防止コードを生成するとともに、着信者電話番号、通話接続条件情報および改ざん防止コードによりアドホック電話番号を形成し、この改ざん防止コードによって改ざんの有無を検知することとしたので、発信者にとって着信者電話番号とアドホック電話番号の対応関係が把握容易になるとともに、これにより生ずる改ざんの問題を改ざん防止コードにより是正することができる。
【０１８５】
なお、ハッシュ値を求めるための一方向性関数としては周知のＭＤ５、ＳＨＡ−１などのアルゴリズムを用いることができる。また、上記実施例４では、通話接続条件として発信者電話番号、有効期限または着信時間帯若しくはこれらの組み合わせを用いた場合を示したが、本発明はこれに限定されるものではなく、他の内容を通話接続条件とすることもできる。この場合には、これらの指定の種別・組み合わせに関する情報を条件コードテーブル８６３ａおよび８１３ａに登録すれば良い。
【０１８６】
また、上記実施例１〜４では、メール配信システムおよび電話交換システムを機能面から説明することとしたが、実際には、アドホック電話番号発行サーバ８６０や制御装置８１０などの各装置は、市販のコンピュータにより実現することができるので、これらのコンピュータにそれぞれプログラムをインストールすれば良いことになる。このプログラムは、ハードディスク装置等の二次記録媒体やＲＯＭからＣＰＵにロードする場合だけではなく、ＣＤ−Ｒなどの記録メディアからロードしても良い。たとえば、ＣＤ−Ｒからプログラムをロードする場合には、あらかじめアドホック電話番号発行サーバ８６０用プログラムおよび制御装置８１０用プログラムなどをＣＤ−Ｒ（装置ごと別個のＣＤ−Ｒであっても良い）に格納しておき、このＣＤ−Ｒを各装置のＣＤ−Ｒ読取装置に装着してプログラムをロードすることになる。
【産業上の利用可能性】
【０１８７】
以上のように、本発明にかかる通信方法、通信システムおよび通信プログラムは、受信者を一意に特定する受信者識別子を用いた発信者通信端末からの通信要求に応答して該発信者通信端末と受信者通信端末との通信をおこなう通信方法、通信システムおよび通信プログラムに適しており、特に、第三者による受信者識別子の不正利用を防止しつつ、各利用者が受信者識別子と受信者の関係を効率良く把握することができる通信方法、通信システムおよび通信プログラムに適している。
【図面の簡単な説明】
【０１８８】
【図１】本実施例１に係るメール配送システムのシステム構成を示す図である。
【図２】図１に示したユーザテーブルの一例を示す図である。
【図３】図１に示したアドホックアドレス発行サーバによるアドホックアドレスの発行手順を示すシーケンス図である。
【図４】ユーザ認証ページの一例を示す図である。
【図５】アドホックアドレス発行ページの一例を示す図である。
【図６】図５のステップＳ１７０に示したアドホックアドレス生成処理手順を示すフローチャートである。
【図７】文字と条件種別の対応関係を説明するための説明図である。
【図８】アドホックアドレス生成の具体例を示す図である。
【図９】図１に示したアドホックメール転送サーバによるアドホックメールの転送手順を示すシーケンス図である。
【図１０】図９のステップＳ３０４で示したフィルタ処理手順を示すフローチャートである。
【図１１】本実施例２に係るメール配送システムのシステム構成を示す図である。
【図１２】図１２に示したマスター鍵テーブルの一例を示す図である。
【図１３】図１２に示した署名鍵記憶部の記憶内容の一例を示す図である。
【図１４】図１２に示したアドレステーブルの一例を示す図である。
【図１５】利用者のアドレスをアドレステーブルに登録するアドレス登録手順を示すシーケンス図である。
【図１６】アドレス登録ページの一例を示す図である。
【図１７】アドホックアドレス生成装置が署名鍵を取得するまでの処理手順を示すシーケンス図である。
【図１８】図１７のステップＳ６５０に示した署名鍵生成処理手順を示すフローチャートである。
【図１９】図１１に示したアドホックアドレス生成装置によるアドホックアドレスの生成・通知手順を示すシーケンス図である。
【図２０】アドホックアドレスの生成処理手順を示すフローチャートである。
【図２１】本実施例２に係るアドホックアドレス生成の概念を示す説明図である。
【図２２】図１１に示したアドホックメール転送サーバによるアドホックメールの転送手順を示すシーケンス図である。
【図２３】図２２のステップＳ１００４で示したフィルタ処理手順を示すフローチャートである。
【図２４】本実施例３に係るアドホックアドレスのユーザ名部分をなす暗号化前のバイナリーデータのデータ構造を説明するための説明図である。
【図２５】本実施例３で用いる条件組み合わせパターンとコードの対応関係を示す図である。
【図２６】本実施例４に係る電話交換システムのシステム構成を示す図である。
【図２７】図２６に示したユーザテーブルの一例を示す図である。
【図２８】図２６に示したハッシュ鍵テーブルの一例を示す図である。
【図２９】図２６に示した条件コードテーブルの一例を示す図である。
【図３０】図２６に示したアドホック電話番号発行サーバによるアドホック電話番号の発行手順を示すシーケンス図である。
【図３１】ユーザ認証ページの一例を示す図である。
【図３２】アドホック電話番号発行ページの一例を示す図である。
【図３３】図３０のステップＳ１２７０に示したアドホック電話番号生成処理手順を示すフローチャートである。
【図３４】アドホック電話番号生成の具体例を示す図である。
【図３５】図２６に示した制御装置による通話接続手順を示すシーケンス図である。
【図３６】図３５のステップＳ１４０４で示したサービス処理判断（フィルタ処理）手順を示すフローチャートである。
【符号の説明】
【０１８９】
１００    ＬＡＮ
１１０    アドホックメール転送サーバ
１１１    メール通信部
１１２    署名鍵
１１３    フィルタ処理部
１１４    転送処理部
１２０    アドホックアドレス発行サーバ
１２１    ＨＴＴＰ通信部
１２２    署名鍵
１２３    ユーザテーブル
１２４    アドホックアドレス生成部
２００    着側ＩＰ網
２１０    着側メールサーバ
２２０    着信者端末
２３０    着信者
３００    発側ＩＰ網
３１０    発側メールサーバ
３２０    発信者端末
３３０    発信者
５００    ユーザ認証ページ
６００    アドホックアドレス発行ページ
７１０    アドホックメール転送サーバ
７１１    マスター鍵テーブル
７１２    署名鍵生成部
７２０    署名鍵発行サーバ
７２１    マスター鍵テーブル
７２２    署名鍵生成部
７３０    アドホックアドレス生成装置
７３１    署名鍵取得部
７３２    署名鍵記憶部
８１０    制御装置
８１１    ユーザテーブル
８１２    ハッシュ用鍵テーブル
８１３    フィルタ処理部
８１３ａ  条件コードテーブル
８１４    転送判断部
８１５    制御信号送受信部
８２０    着側加入者収容交換機
８３０    発側加入者収容交換機
８４０    制御信号転送網
８５０    中継交換機
８６０    アドホック電話番号発行サーバ
８６１    ユーザテーブル
８６２    ハッシュ用鍵テーブル
８６３    アドホックアドレス生成部
８６３ａ  条件コードテーブル
８６４    ＨＴＴＰ通信部
８７０    閉域ＩＰネットワーク
８８０    インターネット
９１０    着信者電話端末
９２０    着信者
９３０    着信者ＰＣ
９４０    発信者電話端末
９５０    発信者
１０００    ユーザ認証ページ
１１００    アドホック電話番号発行ページ
【図１】
2005141489.tif 000003
【図２】
2005141489.tif 000004
【図３】
2005141489.tif 000005
【図４】
2005141489.tif 000006
【図５】
2005141489.tif 000007
【図６】
2005141489.tif 000008
【図７】
2005141489.tif 000009
【図８】
2005141489.tif 000010
【図９】
2005141489.tif 000011
【図１０】
2005141489.tif 000012
【図１１】
2005141489.tif 000013
【図１２】
2005141489.tif 000014
【図１３】
2005141489.tif 000015
【図１４】
2005141489.tif 000016
【図１５】
2005141489.tif 000017
【図１６】
2005141489.tif 000018
【図１７】
2005141489.tif 000019
【図１８】
2005141489.tif 000020
【図１９】
2005141489.tif 000021
【図２０】
2005141489.tif 000022
【図２１】
2005141489.tif 000023
【図２２】
2005141489.tif 000024
【図２３】
2005141489.tif 000025
【図２４】
2005141489.tif 000026
【図２５】
2005141489.tif 000027
【図２６】
2005141489.tif 000028
【図２７】
2005141489.tif 000029
【図２８】
2005141489.tif 000030
【図２９】
2005141489.tif 000031
【図３０】
2005141489.tif 000032
【図３１】
2005141489.tif 000033
【図３２】
2005141489.tif 000034
【図３３】
2005141489.tif 000035
【図３４】
2005141489.tif 000036
【図３５】
2005141489.tif 000037
【図３６】
2005141489.tif 000038