(57)【要約】【課題】メッセージを検証するためのシステムおよび方法を提供する。【解決手段】本発明は、インバウンドメッセージを受信するステップと、インバウンドメッセージ内の潜在的な暗号識別子を分析することにより、インバウンドメッセージを特徴付けるステップとを含むことが可能である。識別子は、受信側システム自体であることが可能な、認知されたメッセージシステムによって、アウトバウンドメッセージのために生成される。特徴付けには、潜在的な暗号識別子が存在するかどうかを検出すること、および暗号識別子が有効であるかどうかを判定することを含むことが可能である。判定するステップは、メッセージの真正性を検証する対称的方法または非対称的方法を使用して実行されることが可能である。【選択図】図５
2006134313.tif 000002
【特許請求の範囲】
【請求項１】
メッセージを解釈する方法であって、
インバウンドメッセージを受信するステップと、
認知されたメッセージシステムによってアウトバウンドメッセージのために生成された、前記インバウンドメッセージ内の潜在的な暗号識別子を分析することにより、前記インバウンドメッセージを特徴付けるステップと
を含むことを特徴とする方法。
【請求項２】
特徴付ける前記ステップは、
認知されたメッセージングシステムによって生成された潜在的な暗号識別子が存在するかどうかを検出するステップと、
前記暗号識別子が有効であるかどうかを判定するステップと
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記識別子を含むアウトバウンドメッセージを生成するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
生成する前記ステップは、前記識別子を電子メールメッセージのＭｅｓｓａｇｅ−ＩＤフィールドの中に挿入するステップを含むことを特徴とする請求項３に記載の方法。
【請求項５】
生成する前記ステップは、メッセージメタデータを暗号化するステップを含むことを特徴とする請求項３に記載の方法。
【請求項６】
前記メッセージメタデータは、前記メッセージの送信元のアカウント名であることを特徴とする請求項５に記載の方法。
【請求項７】
前記メッセージメタデータは、前記メッセージの送信元のアカウントのドメインであることを特徴とする請求項５に記載の方法。
【請求項８】
前記メッセージメタデータは、メッセージ伝送の時刻であることを特徴とする請求項５に記載の方法。
【請求項９】
前記メッセージメタデータは、前記メッセージの件名フィールドであることを特徴とする請求項５に記載の方法。
【請求項１０】
前記メッセージメタデータは、前記件名フィールドの先頭においていくつかの文字を抜かすことによって選択された件名フィールドメタデータの一部分であることを特徴とする請求項５に記載の方法。
【請求項１１】
前記メッセージメタデータは、最初のメッセージの受信者の電子メールアドレスを含むことを特徴とする請求項５に記載の方法。
【請求項１２】
特徴付ける各前記ステップは、電子メールメッセージ内のＭｅｓｓａｇｅ−ＩＤヘッダフィールドを検査するステップを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記メッセージは、最初のメッセージ配信の失敗レポートであることを特徴とする請求項１に記載の方法。
【請求項１４】
特徴付ける前記ステップは、前記失敗レポート内に付加された最初のメッセージのヘッダ内のＭｅｓｓａｇｅ−ＩＤを検査するステップを含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記インバウンドメッセージは、最初のメッセージに対する返信であることを特徴とする請求項１に記載の方法。
【請求項１６】
特徴付ける前記ステップは、Ｉｎ−Ｒｅｐｌｙ−Ｔｏヘッダ内で見つけられるＭｅｓｓａｇｅ−ＩＤを検査するステップを含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
特徴付ける前記ステップは、Ｒｅｆｅｒｅｎｃｅｓヘッダ内で見つけられるＭｅｓｓａｇｅ−ＩＤを検査するステップを含むことを特徴とする請求項１５に記載の方法。
【請求項１８】
判定する前記ステップに先立ち、前記識別子内の少なくとも１つの最適化コンポーネントを調べて、前記識別子のより詳細な判定が要求されるかどうかを判定するステップをさらに含むことを特徴とする請求項２に記載の方法。
【請求項１９】
前記最適化コンポーネントは、受信者ヒントであることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記最適化コンポーネントは、時刻ヒントであることを特徴とする請求項１８に記載の方法。
【請求項２１】
特徴付ける前記ステップは、試験署名に対するメッセージメタデータの鍵付きハッシュを比較するステップを含むことを特徴とする請求項１に記載の方法。
【請求項２２】
特徴付ける前記ステップは、メッセージメタデータのＰＫＩ暗号を検証するステップを含むことを特徴とする請求項１に記載の方法。
【請求項２３】
メッセージングシステムにおいてインバウンド電子メールを検証する方法であって、
前記インバウンド電子メールから、既知の送信元システムから生成された暗号識別子を抽出するステップと、
前記識別子をいくつかの既知の有効なＭＡＣ値に対して比較して、前記メッセージが、前記既知の送信元システムを送信元とするかどうかを判定するステップと
を含むことを特徴とする方法。
【請求項２４】
前記既知の送信元システムは、前記メッセージングシステムであることを特徴とする請求項２３に記載の方法。
【請求項２５】
比較する前記ステップは、肯定的な比較を生成し、
前記肯定的な比較に基づいて前記メッセージを処理するステップをさらに含むことを特徴とする請求項２３に記載の方法。
【請求項２６】
前記処理するステップは、スパムフィルタの少なくとも一部分を迂回するステップを含むことを特徴とする請求項２５に記載の方法。
【請求項２７】
比較する前記ステップは、否定的な比較を生成し、
前記否定的な比較に基づいて前記メッセージを処理するステップをさらに含むことを特徴とする請求項２３に記載の方法。
【請求項２８】
前記処理するステップは、前記メッセージに関する異なるアイコンを表示するステップを含むことを特徴とする請求項２７に記載の方法。
【請求項２９】
前記処理するステップは、メールを特定のフォルダにルーティングするステップを含むことを特徴とする請求項２７に記載の方法。
【請求項３０】
前記処理するステップは、スパムフィルタによる分析のためにメールを転送するステップを含むことを特徴とする請求項２７に記載の方法。
【請求項３１】
前記処理するステップは、分析のために否定的な比較とともに送られたメールを格納するステップを含むことを特徴とする請求項２７に記載の方法。
【請求項３２】
鍵ＩＤをウイルススキャンと組み合わせて、ウイルスに関する早期警報システムを提供することを特徴とする請求項２７に記載の方法。
【請求項３３】
前記処理するステップは、前記検査に合格しない失敗レポートを軽蔑的に扱うステップを含むことを特徴とする請求項２７に記載の方法。
【請求項３４】
軽蔑的な扱いは、前記メッセージをユーザから隠すことに相当することを特徴とする請求項３３に記載の方法。
【請求項３５】
メッセージ転送エージェントによって扱われる各メッセージ内の標準のフィールドに暗号識別子を提供する識別子ジェネレータと、
メッセージングシステムに対するインバウンドメッセージ内の前記標準のＩＤフィールドの内容を解釈する識別子キャラクタライザと
を含むことを特徴とするメッセージングシステム。
【請求項３６】
前記識別子ジェネレータは、メールユーザエージェントに組み込まれることを特徴とする請求項３５に記載のメッセージングシステム。
【請求項３７】
前記識別子ジェネレータは、メッセージング転送エージェントに組み込まれることを特徴とする請求項３５に記載のメッセージングシステム。
【請求項３８】
前記識別子キャラクタライザは、メッセージング転送エージェントに組み込まれることを特徴とする請求項３５に記載のメッセージングシステム。
【請求項３９】
前記識別子キャラクタライザは、メールユーザエージェントに組み込まれることを特徴とする請求項３５に記載のメッセージングシステム。
【請求項４０】
スパムフィルタをさらに含むことを特徴とする請求項３５に記載のメッセージングシステム。
【請求項４１】
前記キャラクタライザの出力を、前記スパムフィルタによるメッセージ判定と比較するステップをさらに含むことを特徴とする請求項４０に記載のメッセージングシステム。
【請求項４２】
スパムフィルタは、わずかな時間だけ動作させられ、フォールスポジティブレートが推定されることを特徴とする請求項４０に記載のメッセージングシステム。
【請求項４３】
前記メッセージングシステムは、伝送ログを含み、前記ＩＤは、伝送ログ検査に対する最適化として使用されることを特徴とする請求項４０に記載のメッセージングシステム。
【請求項４４】
前記スパムフィルタは、ＩＤの結果が使用されると、前記スパムフィルタを動作させることからもたらされるシステム上の負荷を減らす最適化のために、より少ない頻度で動作させられることを特徴とする請求項４０に記載のメッセージングシステム。
【請求項４５】
少なくとも第１のサーバと第２のサーバとをさらに含み、前記ジェネレータおよび前記キャラクタライザは、前記第１のサーバおよび前記第２のサーバのそれぞれの上で提供され、第１のサーバおよび第２のサーバはそれぞれ、異なる暗号鍵を含むことを特徴とする請求項３５に記載のメッセージングシステム。
【請求項４６】
複数のインバウンドサーバ、および複数のアウトバウンドサーバと、
前記複数のアウトバウンドサーバのそれぞれの上で提供される少なくとも１つの前記ジェネレータと、
前記複数のインバウンドサーバのそれぞれの上で提供される少なくとも１つの前記キャラクタライザと
をさらに含むメッセージングシステムであって、
各前記ジェネレータは、前記アウトバウンドサーバ上に格納された複数の一意な秘密鍵のうちの１つを使用して署名を提供し、
各前記ベリファイアは、各前記インバウンドサーバ上に格納された公開鍵を使用して署名を検証すること
を特徴とする請求項３５に記載のメッセージングシステム。
【請求項４７】
電子メールを検証する方法であって、
メッセージングシステムによって出力される各アウトバウンドメッセージ内で潜在的な暗号識別子を生成するステップと、
前記メッセージングシステムによって何らかのインバウンドメッセージが受信されると、
前記インバウンドメッセージ内の前記潜在的な暗号識別子が存在するかどうかを判定するステップと、
前記暗号識別子から、暗号化された識別子を抽出するステップと、
前記暗号化された識別子をいくつかの既知の有効な暗号化された識別子と比較して、前記インバウンドメッセージが、前記メッセージングシステムを送信元としているかどうかを判定するステップと
を含むことを特徴とする方法。
【請求項４８】
前記暗号化された識別子は、メッセージ認証コードであることを特徴とする請求項４７に記載の方法。
【請求項４９】
前記暗号識別子は、少なくとも１つのオプティマイザコンポーネントを含むことを特徴とする請求項４７に記載の方法。
【請求項５０】
抽出する前記ステップに先立って、前記オプティマイザコンポーネントを調べて、前記抽出するステップ、および前記比較するステップを実行するかどうかを判定するステップをさらに含むことを特徴とする請求項４９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、メッセージを検証する方法に関し、より詳細には、正当なメッセージをスパムメッセージと区別することに関する。
【背景技術】
【０００２】
スパムは一般的に、インターネット上で伝送される、求められていない電子メールと考えられるが、スパムは、任意のメッセージング媒体によって伝送されることが可能である。インターネット上で現在、送信される電子メールスパムの量のため、スパムは、インターネットユーザにとって大きな問題となっている。この問題に対抗するため、スパムフィルタが、メッセージングパスの様々な部分において実装されてきた。スパムフィルタは、メールユーザエージェント（ＭＵＡ）に組み込まれる場合は、ユーザによって実行されることが可能であり、メッセージ転送エージェント（ＭＴＡ）、インターネットサービスプロバイダ、およびその他の電子メールドメインに組み込まれ、またはそれらと連携して動作させられる場合は、企業によって実行されることが可能である。
【０００３】
スパムフィルタは、求められていない不要なメッセージを検出し、それらのメッセージが、ユーザの受信トレイ（inbox）に到達するのを防止するのに使用されるプログラムである。スパムフィルタは、メッセージがスパムを含むか否かについての判断の根拠となる、ある基準を探す。最も単純なスパムフィルタは、メッセージの件名行の中の特定の単語を監視し、監視対象の単語と一致するメッセージをユーザの受信トレイから排除する。この方法は、特に効果的ではなく、あまりにも頻繁に、完全に正当なメッセージを除外し（フォールスポジティブと呼ばれる）、実際のスパムを通す。ベイジアンフィルタ（Bayesian filters）、またはその他のヒューリスティックフィルタ（heuristic filters）などのより高度なプログラムは、疑わしい単語のパターンまたは単語の頻度によって、スパムを識別しようと試みる。ベイジアンフィルタは、単語のパターン、および単語の頻度、ならびに怪しいヘッダフィールド、スプーフィングされた（spoofed）返信アドレスなどを部分的に含む、疑わしいメッセージ属性セットを探す。現行世代のフィルタは、それらすべてのフラグの集合を監視する。
【０００４】
一部のタイプのメッセージは、スパムではないが、スパムフィルタによってスパムとして識別される可能性がある。例えば、ユーザが、電子メールを別のユーザに送信し、その別のユーザが、返信を送信した場合、スパムフィルタは、その返信電子メールに対してフォールスポジティブという判断を下す可能性がある。さらに、スパムの供給者は、スパムを隠すことにより巧妙になっている。一部のスパムは、特定のユーザからの返信メッセージの外見をとるか、またはユーザの電子メールアドレスをメッセージの「差出人」フィールドの中に偽って挿入する。これは、スパムフィルタには、正当な電子メールに見える可能性がある。メッセージングウイルスを伝送することに共通する別の技術は、スパム発信者（spammer）が、電子メールメッセージの差出人行の中で詐称された電子メールアドレスを使用し、詐称された「差出人」アドレスを有するメッセージをユーザに送信して、これにより、詐称を受けたユーザにウイルスとともに返される、配信不能（non-delivery）レポート（ＮＤＲ）を生成することである。この技術では、ウイルスは、配信不能レポートの添付ファイルとして提供される。また、電子メールウイルスは、自らを送信し、ユーザアドレス帳の中の他のユーザを詐称することにより、アドレス帳の中の人々に自らを広めることも行う。そのようなウイルスが、受信者のエージェントによって捕えられ、ウイルスが除去されたＮＤＲが生成される可能性もある。
【０００５】
このため、メッセージング環境では、インバウンドメッセージの真正性を検証するための方法が役立つ。
【０００６】
【非特許文献１】IETF Request For Comments(RFC) 822, "Standard for the Format of APRA Internet Text Messages"
【非特許文献２】IETF Request For Comments(RFC) 2822, "Internet Message Format"
【非特許文献３】IETI RFC 1894, "An Extensible Message Format for Delivery Status Notifications (DSNs)"
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、おおまかに説明すると、メッセージを検証するための方法に関する。方法は、インバウンドメッセージを受信するステップと、インバウンドメッセージを特徴付けるステップを含むことが可能である。特徴付けステップは、インバウンドメッセージの中の潜在的な暗号識別子を分析することを含み、識別子は、アウトバウンドメッセージに関する、認知されたメッセージシステムによって生成される。
【課題を解決するための手段】
【０００８】
さらなる実施形態では、特徴付けるステップは、潜在的な暗号識別子が存在するかどうかを検出し、暗号識別子が有効であるかどうかを判定することを含む。判定するステップは、メッセージの真正性を検証する対称的方法または非対称的方法を使用して実行されることが可能である。
【０００９】
代替として、本発明は、インバウンド電子メールから、既知の送信元システムから生成された暗号識別子を抽出するステップと、その識別子を、いくつかの既知の有効なメッセージ認証コード（ＭＡＣ）値と比較して、そのメッセージが、既知の送信元システムを送信元としているかどうかを判定するステップとを含む、メッセージングシステムにおいてインバウンド電子メールを検証するための方法である。
【００１０】
さらに別の実施形態では、本発明は、メッセージングシステムである。メッセージングシステムは、メッセージ転送エージェントによって扱われる各メッセージ内の標準のＩＤフィールドに暗号識別子を提供する、識別子ジェネレータを含むことが可能である。また、システムは、メッセージングシステムに対するインバウンドメッセージ内の標準のＩＤフィールドの内容を解釈する、識別子キャラクタライザ（chracterizer）も含むことが可能である。
【００１１】
さらなる実施形態では、本発明は、電子メールを検証するための方法である。この実施形態は、メッセージングシステムによって出力される各アウトバウンドメッセージ内で、暗号化された潜在的信号を生成するステップを含む。メッセージングシステムが何らかのインバウンドメッセージを受信すると、方法は、インバウンドメッセージ内の暗号化された潜在的信号が存在するかどうかを判定すること、既知の送信元システムから生成された暗号識別子をインバウンド電子メールから抽出すること、およびその識別子を、いくつかの既知の有効なＭＡＣ値と比較して、メッセージの少なくとも１つの成分が、メッセージングシステムを送信元とするかどうかを判定することをさらに含む。別の実施形態では、暗号署名が使用され、署名は、署名者の公開鍵、メッセージ、および署名自体を入力として受け取るアルゴリズムによって検証される。
【００１２】
本発明は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの両方の組み合わせを使用して達成することができる。本発明のために使用されるソフトウェアは、ハードディスクドライブ、ＣＤ−ＲＯＭ、ＤＶＤ、光ディスク、フロッピー（登録商標）ディスク、テープドライブ、ＲＡＭ、ＲＯＭ、またはその他の適切な記憶装置を含む、１つまたは複数のプロセッサ読取り可能記憶媒体上に格納される。代替の諸実施形態では、ソフトウェアの一部、または全部は、カスタム集積回路、ゲートアレイ、ＦＰＧＡ、ＰＬＤ、および専用コンピュータを含む、専用ハードウェアで置き換えることができる。
【００１３】
本発明の以上、およびその他の目的および利点は、本発明の好ましい実施形態が、図面と併せて提示されている以下の説明からより明確となろう。
【発明を実施するための最良の形態】
【００１４】
本発明は、メッセージングシステムにおいて受信されたメッセージを認証するためのシステムおよび方法を提供する。方法は、受信されたメッセージ内の識別子を調べることにより、受信されたメッセージが、受信側システムを送信元としているか、または別の既知のシステムを送信元としているかを検証することを含む。
【００１５】
図１は、本発明を実施することができる適切な一般的コンピューティングシステム環境の実施例を示す。コンピューティングシステム環境１００は、適切なコンピューティング環境の一実施例に過ぎず、本発明の用法または機能の範囲について何ら限定を示唆するものではない。また、コンピューティング環境１００が、典型的な動作環境１００に例示したコンポーネントのいずれか１つ、または組み合わせに関連する依存関係、または要件も有するものと解釈してはならない。
【００１６】
本発明は、多数の他の汎用または専用コンピュータシステム環境またはコンピュータシステム構成で動作する。本発明で使用するのに適する可能性がある周知のコンピューティングシステム、コンピューティング環境、および／またはコンピューティング構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、以上のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、以上には限定されない。
【００１７】
本発明は、コンピュータによって実行される、プログラムモジュールなどの、コンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。また、本発明は、通信ネットワークを介してリンクされたリモート処理装置群によってタスクが実行される、分散コンピューティング環境において実施することもできる。分散コンピューティング環境では、プログラムモジュール群は、メモリ記憶装置群を含む、ローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体の両方の中に配置することができる。
【００１８】
図１を参照すると、本発明を実施するための典型的なシステムは、コンピュータ１１０の形態で汎用コンピューティングデバイスを含む。コンピュータ１１０のコンポーネントには、処理装置１２０、システムメモリ１３０、ならびにシステムメモリから処理装置１２０までを含む様々なシステムコンポーネントを結合するシステムバス１２１が含まれることが可能であるが、以上には限定されない。システムバス１２１は、様々なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、ペリフェラルバス、およびローカルバスを含め、いくつかのタイプのバス構造のいずれであってもよい。例として、限定としてではなく、そのようなアーキテクチャには、ＩＳＡ（Industry Standard Architecture）バス、ＭＣＡ（Micro Channel Architecture）バス、ＥＩＳＡ（Enhanced ISA）バス、ＶＥＳＡ（Video Electronics Standards Association）ローカルバス、およびメザニンバスとしても知られるＰＣＩ（Peripheral Component Interconnect）バスが含まれることが可能である。
【００１９】
コンピュータ１１０は、通常、様々なコンピュータ読取り可能記憶媒体を含む。コンピュータ読取り可能記憶媒体は、コンピュータ１１０がアクセスすることができる任意の利用可能な媒体であることが可能であり、揮発性媒体と不揮発性媒体、取外し可能な媒体と取外し不可能な媒体がともに含まれる。例として、限定としてではなく、コンピュータ読取り可能記憶媒体は、コンピュータ記憶媒体および通信媒体を含むことが可能である。コンピュータ記憶媒体には、コンピュータ読取り可能命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を格納するために任意の方法または技術で実装された、揮発性媒体と不揮発性媒体、取外し可能な媒体と取外し不可能な媒体がともに含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、あるいは所望の情報を格納するのに使用することができ、コンピュータ１１０がアクセスすることができる他の任意の媒体が含まれるが、以上には限定されない。通信媒体は、通常、搬送波などの被変調データ信号、または他のトランスポート機構において、コンピュータ読取り可能命令、データ構造、プログラムモジュール、またはその他のデータを実現し、任意の情報配信媒体が含まれる。「被変調データ信号」という用語は、信号内に情報を符号化するような形で、特性の１つまたは複数が設定または変更されている信号を意味する。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響媒体、無線周波数（ＲＦ）媒体、赤外線媒体、およびその他の無線媒体などの、無線媒体が含まれる。また、以上の媒体のいずれの媒体の組み合わせも、コンピュータ読取り可能記憶媒体の範囲内に含められなければならない。
【００２０】
システムメモリ１３０は、読取り専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などの揮発性メモリおよび／または不揮発性メモリの形態で、コンピュータ記憶媒体を含む。起動中などに、コンピュータ１１０内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム１３３（ＢＩＯＳ）が、通常、ＲＯＭ１３１の中に格納される。ＲＡＭ１３２は、通常、処理装置１２０が即時にアクセスすることができ、および／または現在、処理しているデータおよび／またはプログラムモジュール群を含む。例として、限定としてではなく、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００２１】
コンピュータ１１０は、その他の取外し可能／取外し不可能な、揮発性／不揮発性のコンピュータ記憶媒体を含むことも可能である。単に例として、図１は、取外し不可能な不揮発性の磁気記憶媒体に対して読み取りまたは書き込みを行うハードディスクドライブ１４０、取外し可能な不揮発性の磁気ディスク１５２に対して読み取りまたは書き込みを行う磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭまたは他の光記憶媒体などの、取外し可能な不揮発性の光ディスク１５６に対して読み取りまたは書き込みを行う光ディスクドライブ１５５を示す。典型的な動作環境で使用することができる、その他の取外し可能／取外し不可能な、揮発性／不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタルバーサタイルディスク、デジタルビデオテープ、ソリッドステートＲＡＭ，ソリッドステートＲＯＭなどが含まれるが、以上には限定されない。ハードディスクドライブ１４１は、通常、インタフェース１４０のような取外し不可能なメモリインタフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、通常、インタフェース１５０のような取外し可能なメモリインタフェースでシステムバス１２１に接続される。
【００２２】
以上に説明し、図１に示すドライブ群、および関連するコンピュータ記憶媒体により、コンピュータ読取り可能命令、データ構造、プログラムモジュール、およびその他のデータの記憶領域がコンピュータ１１０に提供される。図１では、例えば、ハードディスクドライブ１４１が、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７を格納しているのが示されている。以上のコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７と同一であることも、異なることも可能であることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７に、ここでは、少なくともそれらが異なるコピーであることを示すために、異なる符号を与えている。ユーザは、キーボード１６２や、通常、マウス、トラックボール、またはタッチパッドと呼ばれる、ポインティングデバイス１６１を介して、コマンドおよび情報をコンピュータ２０に入力することができる。その他の入力デバイス群（図示せず）には、マイク、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどが含まれることが可能である。以上、およびその他の入力デバイス群は、しばしば、システムバスに結合されたユーザ入力インタフェース１６０を介して処理装置１２０に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの、他のインタフェースおよびバス構造で接続してもよい。また、モニタ１９１、または他のタイプのディスプレイデバイスも、ビデオインタフェース１９０のようなインタフェースを介して、システムバス１２１に接続される。モニタに加え、コンピュータは、出力周辺インタフェース１９０を介して接続することができる、スピーカ１９７やプリンタ１９６などの、他の周辺出力デバイス群も含むことが可能である。
【００２３】
コンピュータ１１０は、リモートコンピュータ１８０のような、１つまたは複数のリモートコンピュータに対する論理接続を使用する、ネットワーク化された環境において動作することもで鍵る。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードであることが可能であり、通常、コンピュータ１１０に関連して前述した要素の多く、またはすべてを含むが、メモリ記憶装置１８１だけを図１に示している。図１に示した論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３を含むが、その他のネットワークも含むことが可能である。そのようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットで一般的である。
【００２４】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、ネットワークインタフェースまたはネットワークアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、通常、インターネットなどのＷＡＮ１７３を介して通信を確立するための、モデム１７３または他の手段を含む。内蔵でも、外付けでもよいモデム１７２は、ユーザ入力インタフェース１６０、または他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク化された環境では、コンピュータ１１０に関連して説明したプログラムモジュール群、またはプログラムモジュール群の諸部分は、リモートメモリ記憶装置の中に格納することができる。例として、限定としてではなく、図１は、リモートアプリケーションプログラム１８５が、メモリデバイス１８１上に存在しているのを示す。図示したネットワーク接続は、典型的なものであり、コンピュータ間で通信リンクを確立する他の手段も使用できることが理解されよう。
【００２５】
図２は、ユーザに伝送され、ユーザから伝送される様々なタイプの電子メールメッセージを示す。一般に、ユーザが、アウトバウンドメールメッセージを開始し、そのアウトバウンドメッセージに関連するインバウンドメッセージが、ユーザのメッセージングサービスによって受信されるケースでは、インバウンドメッセージは、ユーザに戻されなければならない。このシナリオは、次の３つの一般的な形で表すことができる。すなわち、アウトバウンドメールメッセージに、そのアウトバウンドメッセージの宛先の受信者によって返信が行われるか、アウトバウンドメッセージが配信不能であり、このため、ユーザの、または宛先のメッセージングシステムによって配信不能レポートが生成されるか、またはユーザが、ユーザ自身をメッセージの宛先にするかである。図２の実施例では、各メッセージングシステムが、電子メールシステムとして示される。しかし、本発明から便益を得るメッセージングシステムは、電子メールシステムだけに限定されないことを認識されたい。例えば、ショートメッセージサービス（ＳＭＳ）やマルチメディアメッセージングサービス（ＭＭＳ）などの、例えば、本明細書の説明に従って使用するための潜在的ＩＤフィールドを提供することができる任意のメッセージングシステムを、本発明に従って使用することができる。
【００２６】
第１のケースは、最初のアウトバウンド電子メール２１０をユーザＢに送信するユーザＡによって例示される。最初の電子メールは、ユーザＡのメッセージングシステム２０２によって、インターネット５０を介して、ユーザＢのシステムに伝送される。ユーザＢは、返信電子メール２１２を生成し、メッセージ２１２は、インターネット５０を介して、ユーザＡのメッセージングシステム２０２に伝送される。最初の電子メールは、ユーザＡによって生成されており、電子メールは、有効な返信であるため、ユーザＡのシステムは、返信２１２を常にユーザＡまで通過させなければならない。現在、電子メールドメイン２０２上でアクティブなスパムフィルタの性質によって、返信２１２がユーザＡに到達するという保証はない。本発明は、この潜在的なフォールスポジティブを是正する。
【００２７】
第２のケースは、ユーザＢによって例示される。このケースでは、ユーザＢが最初の電子メール２１６を生成し、このメール２１６は、特定のユーザに向けて、インターネットを介して宛先メールサーバに伝送される。特定のユーザが宛先メールサーバの中で見つからない場合、または特定のユーザの割当量（quota）が既定の限度を超えている場合、配信不能レポート２１８ａが、宛先メールサーバによって生成され、ユーザＢに伝送されることが可能である。（ローカルメールサーバが宛先メールサーバにメールを配信した際に、宛先メールサーバが、プロトコルレベルでエラーを報告することも可能であり、そのようなケースでは、ＮＤＲは、ローカルメールサーバによって生成される。）代替として、電子メールドメインイン２０２が、宛先メールサーバを見つけることができない場合、ＮＤＲ２１８ｂが、ドメイン２０２によって生成される。両方のケースで、ＮＤＲは、ユーザＢによるアウトバウンドメッセージに応答しているので、ユーザＢは、ＮＤＲを受信しなければならない。前述したとおり、スパムフィルタは、ユーザＤに関して例示される次のケースのために、ＮＤＲを捕えるように訓練されている可能性がある。すなわち、スパム発信者が、スパムまたはウイルスをユーザに伝送する偽のＮＤＲ２１４を生成する可能性がある。このケースでは、ＮＤＲは、偽物であり、ユーザＣからの偽のＮＤＲ２１４をフィルタ処理しなければならない。
【００２８】
最後のケースは、ユーザＣに関して例示され、ユーザは、自身を宛先とする電子メールを送信する。これは、例えば、ユーザが、他者への電子メール上でユーザ自身をカーボンコピーする（carbon copy）場合に行われる可能性がある。この場合も、最初の電子メール２２０は、ユーザＣ自身、および（場合により）他者を宛先とするユーザＣからのアウトバウンドメッセージであるので、この電子メールは、ユーザＣに配信されることが保証されなければならない。スパム発信者およびウイルス作成者は、電子メールメッセージ内の返信アドレス指定ヘッダを偽装する技術を開発しているため、フィルタは、自分自身への電子メールをフォールスポジティブとして認識する可能性がある。
【００２９】
本発明は、メッセージングシステムによって生成されたアウトバウンドメッセージに結び付けられたインバウンドメッセージ内の潜在的な識別子を使用することにより、インバウンドメッセージを検証する問題に対処する。識別子は、メッセージ内に存在するが、ユーザの介入、またはユーザが知ることさえなしに、メッセージングシステムによって生成されるという点で、潜在的である。一実施形態では、本発明は、既存のメッセージングフィールドを使用して、識別子を伝送する。認知されたメッセージング標準によれば、最初のメッセージ内の識別子は、インバウンドメッセージ内で送り返され、メッセージングシステムによって、そのメッセージを特徴付けるのに使用される。このようにして、検証済みのメッセージは、未検証のメッセージとは異なる形で扱うことができる。
【００３０】
図３は、各電子メールメッセージに関する暗号ＩＤを作成するための方法を一般的に示す。ステップ３０２において、ユーザは、新たなアウトバウンドメッセージを作成し（draft）、そのメッセージをメッセージングシステムに送信する。次に、ステップ３０４において、メッセージングシステムは、秘密鍵、ならびにアウトバウンドメッセージからのメタデータを使用して、暗号ＩＤを構築する。以下に説明するとおり、この鍵は、ある形態の対称暗号または非対称暗号であることが可能であり、受信されたメッセージ内で暗号識別子の存在を検証するのに使用することができる。最後に、メッセージングシステムは、ステップ３０６において、暗号識別子とともに、電子メールを電子メールの宛先の受信者に送信する。
【００３１】
図４Ａは、典型的なアウトバウンドメール４０２および返信メール４０４を示す。これらのメッセージは、（非特許文献１）ＲＦＣ８２２および（非特許文献２）ＲＦＣ２８２２で説明されている。それらの標準は、「電子メール」メッセージの枠組み内でコンピュータユーザ間において送信されるテキストメッセージに関する構文を指定する。ＲＦＣ２８２２は、ＲＦＣ８２２に取って代わり、現在の慣行を反映するようにＲＦＣ８２２を更新し、その他のＲＦＣで指定されている漸進的変更を組み込んでいる。
【００３２】
図４Ａに示すとおり、アウトバウンドメッセージは、いくつかの必須のフィールドと、いくつかのオプションではあるが、推奨されるフィールドとを含む。１つのそのようなオプションではあるが、強く推奨される（ＲＦＣ２８２２で「ｓｈｏｕｌｄ−ｈａｖｅ」フィールドと呼ばれる）のが、Ｍｅｓｓａｇｅ−ＩＤフィールドである。Ｍｅｓｓａｇｅ−ＩＤフィールドは、一般に、特定のメッセージの特定のバージョンを指す一意なメッセージ識別子を提供する。通常、メッセージ識別子は、各メッセージに関するグローバルで一意な識別子でなければならない。メッセージ識別子のジェネレータは、Ｍｅｓｓａｇｅ−ＩＤが一意であることを保証しなければならない。返信メール４０４も、独自のＭｅｓｓａｇｅ−ＩＤ、および、メッセージ４０２に対する返信であるため、「Ｉｎ−Ｒｅｐｌｙ−Ｔｏ」フィールド４０４ａを含む。Ｉｎ−Ｒｅｐｌｙ−Ｔｏフィールドは、メッセージ４０２の一意のＭｅｓｓａｇｅ−ＩＤを含む。Ｍｅｓｓａｇｅ−ＩＤフィールドと同様に、「Ｉｎ−Ｒｅｐｌｙ−Ｔｏ」フィールドは、ＲＦＣ２８２２によれば、「ｓｈｏｕｌｄ−ｈａｖｅ」フィールドである。「Ｉｎ−Ｒｅｐｌｙ−Ｔｏ」フィールドは、そのメッセージが返信となるメッセージの「Ｍｅｓｓａｇｅ−ＩＤ：」フィールドの内容を含む（「Ｉｎ−Ｒｅｐｌｙ−Ｔｏ」フィールドは、すべての親の「Ｍｅｓｓａｇｅ−ＩＤ」フィールドの内容を含む。）。親メッセージ群のいずれのメッセージ内にも「Ｍｅｓｓａｇｅ−ＩＤ」フィールドが存在しない場合、新たなメッセージは、「Ｉｎ−Ｒｅｐｌｙ−Ｔｏ」フィールドまたは「Ｒｅｆｅｒｅｎｃｅｓ」フィールドを有さない。
【００３３】
本発明によれば、暗号識別子は、アウトバウンドメッセージのＭｅｓｓａｇｅ−ＩＤに組み込まれる。本発明の一実施形態で使用される暗号識別子のフォーマットを図４Ｂに示し、その暗号識別子を作成する方法を図４Ｃに示す。
【００３４】
本発明によれば、Ｍｅｓｓａｇｅ−ＩＤフィールド４０６は、ローカル部分［ｌｏｃａｌ  ｐａｒｔ］、ランダムデータバイト［Ｒ］、暗号化された識別子［ＭＡＣ］、ならびに受信者ヒント［ＲＨ］、時間間隔ヒント［ＴＨ］、およびバージョン情報［Ｖ］を含む、１つまたは複数の最適化「ヒント」を含む。以下の実施例では、暗号識別子は、少なくとも暗号化されたＩＤを含み、ＩＤは、実施例では、メッセージ認証コード（ＭＡＣ）から成る。ＭＡＣは、一般に、認証スキームを秘密鍵と一緒にメッセージに適用することによって導出された認証タグと定義される。一般に、ＭＡＣは、同一の鍵を使用して計算と検証が行われ、暗号が「対称的」になる。しかし、以上の説明における暗号化されたＩＤは、対称的であれ、非対称的であれ、任意の暗号法を使用して検証される、デジタル署名を含む、任意のデジタル識別子を含むことが可能であることを理解されたい。暗号ＩＤは、暗号化されたＩＤと併せて、Ｍｅｓｓａｇｅ−ＩＤの様々な部分を含む。ローカル部分およびランダムなデータによって、Ｍｅｓｓａｇｅ−ＩＤが一意であることが保証される。一意性は、ランダムなデータの使用以外の手段によって確実にすることもできることを認識されたい。ヒントは、以下に説明するとおり、メッセージの特徴付けを迅速化するのに使用される。それらのヒントにより、暗号化された識別子を調べるか否かにさえ関わらず、迅速な指示がメッセージングシステムに提供される。一実施形態では、受信者ヒントは、すべてのバイトの排他的論理和が一緒にとられたアカウント名と同一である。一実施形態では、時間間隔ヒントは、１バイトになるまで排他的論理和がとられた時間間隔識別子であることが可能である。バイトカウントを減らして、最適化ヒントを作成する任意の方法を使用することができ、本発明は、ハッシュ関数または排他的論理和関数に限定されないことを認識されたい。時間間隔識別子は、単に、所与の日、または時刻の他の何らかの量子化された表現であることが可能である。以下に説明するとおり、インバウンドメッセージが受信された際、範囲間隔が調べられ、したがって、ＩＤは、存続期間（lifetime）値を有する。暗号化されたＩＤにおける乱数の使用により、ハッシュにランダム性が追加される。一実施形態では、ハッシュは、この要素のＳＨＡ−１ハッシュである。バージョン識別子は、署名コンポーネントが変更されることが、そのような変更に受信側システムが適合することを可能にしながら、可能であるようにするのに利用される。代替の諸実施形態では、ヒントもバージョン識別子も、またはその両方も要求されない。
【００３５】
図４Ｂで、暗号化されたＩＤが、ＭＡＣとして識別される。図４Ｃに示すとおり、ＭＡＣは、鍵要素のハッシュ４０２、送信側アカウント名４０８（例えば、ｕｓｅｒ＠ｄｏｍａｉｎ．ｃｏｍ）、量子化された時間間隔識別子４１０、およびランダムなデータ４１２を使用することによって生成される。鍵要素４１６は、セキュリティの根底をなす。送信側アカウント名は、そのメッセージに関する送信側ユーザの電子メールアドレスである。ＭＡＣを作成するために、ランダムなバイト（この実施例では、ランダムな５バイトを含む）が連結される。次に、ハッシュは、ハッシュ自身の排他的論理和がとられて、５バイトにされ、次に、２つのヒントの単一のバイトが付加される。次に、その１２バイトシーケンスが、１６進符号化されて、非英数字とのあらゆる適合性問題が回避されて、２４バイト文字列が形成される。最後に、一実施形態では、１６進符号化された２進数の０である、バージョン識別子が付加される。Ｍｅｓｓａｇｅ−ＩＤへ形成された、典型的な暗号化ＩＤの様々な部分が、図４Ｂの４０６において明らかにされている。前述した実施例では、ハッシュを生成するために使用される鍵要素を使用して、インバウンドメッセージに対してテストされる試験署名が生成される。前述したとおり、ＰＫＩ署名などの非対称暗号代替形態を含む、暗号化された識別子を作成する他の代替形態も、本発明に従って使用することができる。
【００３６】
一般に、ＩＤは、メールユーザエージェント（ＭＵＡ）および／またはメッセージ転送エージェント（ＭＴＡ）、ならびにＭＵＡおよびＭＴＡと対話する様々なフィルタ、およびその他のアプリケーションを含むことが可能な、メッセージングシステムによって生成されることが可能である。この方法は、送信者が暗黙に選択してプロセスに入った形で、ＩＤを生成するために実行される。
【００３７】
図５は、受信されたメッセージが、特定のユーザに関して有効であるかどうかを判定するための方法を示す。ステップ５０２において、電子メールが受信されると、ステップ５０４において、まず、暗号識別子が存在するかどうかを判定する。暗号化された識別子が存在するかどうかを判定するためのステップは、図６に詳細に示されている。すべてのメッセージングシステムが、ＲＦＣ８２２／ＲＦＣ２８２２の「ｓｈｏｕｌｄ−ｈａｖｅ」仕様に準拠するわけではないため、暗号識別子が存在しない場合、メッセージは、それでも、有効なメッセージである可能性がある。暗号識別子を有さない、インバウンド返信、ＮＤＲ、および自己アドレス指定されたメッセージをどのように扱うべきかについての決定は、メッセージングシステム管理者またはユーザによって行われるべきである。方法によれば、暗号ＩＤが存在しない場合、暗号識別子を有さないメッセージは、ステップ５０６において、ユーザ、管理者、またはインプリメンテーションによって定義された指定に従って処理される。一実施形態では、システム管理者は、そのようなメッセージを「スパム」フィルタに直接転送すること、そのようなメッセージを、システムにおいて他のいずれの電子メールが扱われるのと同様に扱うこと、ユーザ受信トレイの中でそのようなメッセージに異なるアイコンでマークを付けること、またはそのようなメッセージをユーザの特別フォルダに向かわせることができる。
【００３８】
暗号ＩＤが、ステップ５０８において存在すると判定された場合、最適化ヒントが、暗号識別子を調べることを続けるのに値するかどうかを判定する検査がまず、行われる。試験されるべき、それぞれの個別の受信者／時刻の組み合わせに関して、ステップ５０８において、ヒントがまず調べられて、失敗したメッセージが迅速に識別される。ステップ５０８において、最適化が合格しない場合、やはり、電子メールは、ステップ５１０において、ユーザまたはシステム管理者によって定義されたとおりに処理されることが可能である。ステップ５１０において、そのような処理は、識別子が、ステップ５０６の場合のように、単に知られていないのではなく、無効であることが知られているという事実を考慮に入れることができる。このため、メッセージの扱いは、より否定的であることが可能である。最適化により、電子メールが調べられるべきであることが示される場合、次いで暗号識別子は、計算された試験署名値と照合される。
【００３９】
ステップ５１２において、インバウンドメッセージは、ハッシュ計算において、現在の有効範囲識別子または時間間隔識別子とともに、電子メールを受信するアカウント（エンベロープ受信者）を使用して、有効な試験署名を生成する試験を生成することにより、特徴付けられる。次に、試験署名は、抽出されたＩＤと比較される。試験署名が、Ｍｅｓｓａｇｅ−ＩＤの中の署名と一致した場合、ステップ５１４において、その情報を使用して、電子メールが有効であると特徴付けられる。試験署名が一致しなかった場合、電子メールは、ステップ５１６において、ユーザまたは管理者の指定に従って処理される。試験署名が一致した場合、電子メールは、ステップ５１８において、ユーザに送信される。方法は、ステップ５２０において完了する。時間間隔識別子の現在の有効な範囲は、スパム発信者が、システムを出し抜くのを防止するために、メッセージングシステムによって使用される範囲である。各署名に存続期間が与えられる。この存続期間は、Ｍｅｓｓａｇｅ−ＩＤがシステムに戻された際に調べられる範囲内で定義される。署名存続期間は、任意の時間範囲内に構成することができ、時間範囲の一実施例は、１日から３０日である。
【００４０】
図６は、様々なタイプの電子メールに関する、Ｍｅｓｓａｇｅ−ＩＤを抽出するための方法を示す。ステップ６０２において、電子メールが受信されると、ステップ６０４において、そのメールが検査されて、そのメールが配信不能レポートであるかどうかが判定される。ＮＤＲは、ＩＥＴＩ  ＲＦＣ１８９４（ＤＳＮ）（非特許文献３参照）に従って定義される。ＤＮＳを使用して、メッセージの送信者に、次のいくつかの条件のいずれかを通知することができる。すなわち、失敗した配信（ＮＤＲ）、遅延した配信、成功した配信などである。メッセージが、（「<>」というReturn-Path、および／または「multipart/report; report-type=delivery-status」というメッセージContent-Typeによって判定された結果）ＮＤＲである場合、非特許文献３に準拠する、付加されたメッセージからのＭｅｓｓａｇｅ−ＩＤが特定される。インバウンドメッセージが、ＮＤＲではない場合、ステップ６０８において、メッセージが返信メッセージであるかどうかを判定するテストが行われる。メッセージが返信メッセージである場合、ステップ６１０において、インバウンドメッセージ内のＩｎ−Ｒｅｐｌｙ−Ｔｏフィールドが調べられる。一実施形態では、第１のＩｎ−Ｒｅｐｌｙ−Ｔｏフィールドだけが調べられる。これにより、スパム発信者が、総当り攻撃（brute-force attacks）を使用する方法を実施して、システムを攻撃することが防止される。メッセージが返信メッセージではない場合、ステップ６１２において、Ｍｅｓｓａｇｅ−ＩＤフィールドがすべての受信者と照合されて、メッセージが自己アドレス指定された電子メールであるかどうかが判定される。これにより、ステップ６１２において、インバウンドメッセージが自己アドレス指定されたメッセージとして識別される。条件のいずれも満たされない場合、ステップ６１６において、暗号識別子は、存在しないと判定される。
【００４１】
図７は、本発明を実施するのに適したメッセージングシステムを示す。メッセージングシステムには、１つまたは複数のユーザデバイス７００、７１０、メッセージングサーバ７５０、および１つまたは複数のサーバインタフェース７０２、７０４、７０６を組み込むことが可能である。デバイス７００、７１０、および７５０はすべて、図１に示した１つまたは複数の処理装置１００から成ることが可能である。サーバ７５０は、メッセージングデータをメッセージデータストア７３０に転送するメッセージ転送エージェント７２０を含むことが可能である。スパムフィルタアプリケーション７４０は、メッセージ転送エージェント７２０に組み込まれ、または転送エージェントと連携して動作して、メッセージ転送エージェントによってメッセージが扱われる前に、または扱われた後に、スパムをフィルタ処理することが可能である。一実施形態では、メールサーバ７５０は、図３〜図６に関連して前述した方法を処理装置が実施するようにさせるための命令を含む、ＩＤモジュールアプリケーションを含む。ＩＤモジュール７２５は、メッセージ転送エージェント７２０に組み込まれること、またはエージェント７２０と協働することが可能である。各ユーザデバイスは、アウトバウンドメッセージをメールサーバ７５０に転送し、インバウンドメッセージをローカルデータストア７１６に転送するメールユーザエージェント７１２を含むことが可能である。オプションとして、前述した方法は、ＩＤモジュール７１４をユーザの処理装置に組み込むことにより、メールユーザエージェントにおいて実行されることが可能である。ＩＤモジュールを、ＭＩＭＥ対応のＭＴＡと一緒に使用することができ、メッセージ転送エージェントによってコンパイルされた少なくとも１つのソースコードファイルに組み込むことができる、一実施形態では、以下の諸機能を提供することができるヘッダファイルが提供される。
・秘密鍵、ランダムなデータを初期化する
・AccountNameを使用し、暗号化されたMessage-IDを出力して、Message-IDを生成する
・InReplyToValueを使用するIs Valid Message、およびRecipient
・InReplyToValueを使用するIs Valid Reply、およびRecipient
・Message-IDを使用するIs Valid NDR、およびRecipient
【００４２】
ライブラリがＮＤＲからコンテンツタイプ、ＭＩＭＥ部分、および元のＭｅｓｓａｇｅ−ＩＤを獲得することを可能にする、ＭＩＭＥパーサ（parser）が、ＭＴＡ内部で提供されることが可能である。
【００４３】
暗号識別子によって特徴付けられるメッセージの後処理は、いくつかの形態をとることが可能である。しかし、一部のタイプの電子メールシステムは、ＲＦＣ８２２／ＲＦＣ２８２２の「ｓｈｏｕｌｄ」指定された「Ｉｎ−Ｒｅｐｌｙ−Ｔｏ」挙動または「Ｒｅｆｅｒｅｎｃｅｓ」挙動に依拠しないため、暗号識別子を含まないメッセージを一方的に不利に扱うことはできない。しかし、暗号識別子を含むメッセージは、検証することができ、それらのメッセージは、送信元電子メールドメインシステムからであると確実に分かることが可能である。
【００４４】
システムがメッセージを特徴付けると、その情報を使用して、いくつかの方法でメッセージを処理することができる。一実施例では、情報は、肯定的に使用することができる。つまり、処理は、「有効な」メッセージがスパムフィルタを迂回することを許すことを含むことが可能である。さらに、既知の「有効な」署名を使用して、メッセージングシステムの監視およびメトリック（metrics）を円滑にすることができる。例えば、既知の「有効な」メッセージをスパムフィルタ群に送り、フィルタ群のフォールスポジティブレートを算出することができる。さらに、検証プロセスを、苦情検証プロセス（complaint verification process）の一部として使用することができる。本発明の検証方法を実施する特定のメッセージングシステムから来ていると非難される、受信者に送信されたメッセージは、そのシステムから来ているか、またはそのシステムから来ていないかということを、確実に判定されることができる。さらに別の代替形態では、スパムフィルタ処理は、フィルタ群の測定されたパフォーマンス対既知の有効なメッセージに基づいて調整することができる。このため、測定されたフォールスポジティブに基づく時間の一部だけ、スパムフィルタ群を動作させることにより、処理装置上の処理時間を節約することができる。
【００４５】
さらに、非スパム挙動に関するメトリックを、システムにおけるスパムに関連して使用することができる。ユーザ挙動パターンから推定（extrapolations）して、全体的な非スパムのインバウンドトラフィックを評価する（gauge）ことができる。
【００４６】
メッセージの特徴付けは、メッセージの肯定的な扱い、または否定的な扱いをもたらすことが可能である。メッセージが有効であると判定された場合、後処理は、「自動安全リスト」上で返信ユーザを自動的に提供することを含むことが可能である。安全リストは、スパムフィルタ群を迂回することが許される既知の電子メール送信者の、スパムフィルタ群によって格納されるリストである。システムは、検証されたメッセージ送信者をそのリストに自動的に追加することができる。代替として、有効または無効というマークが付けられたメッセージが、固有のアイコンでユーザに表示されることも可能である。
【００４７】
特徴付けされたメッセージを否定的に扱う場合、返信またはＮＤＲを生成することができるすべてのメッセージングシステムが、ＲＦＣ８２２／ＲＦＣ２８２２に準拠するわけではないことを認識するよう注意を払わなければならない。また、時間範囲に入らない暗号識別子を有する、有効な返信を受信する可能性もあることが考えられる。このため、検証されなかったインバウンドメッセージの否定的な扱いは、前述したメトリックに基づいて確率論的にすることができる。
【００４８】
本発明のシステムは、Ｍｅｓｓａｇｅ−ＩＤを、暗号識別子を含む電子メールメッセージのコンポーネントとして使用するが、他のフィールドまたはメッセージコンポーネントを利用してもよい。Ｍｅｓｓａｇｅ−ＩＤフィールドは、返信、ＮＤＲ、または自己アドレス指定された電子メールと一緒に返されることが一般に保証されているため、有利である。さらに、本発明のシステムは、あるコンポーネント群を利用してＭＡＣを構築するが、他のコンポーネント群を利用してもよい。メッセージ認証生成ハッシュにおいて使用することができる要素には、アカウント名、アカウントのドメイン名、メッセージ伝送の時刻、メッセージの件名、件名の最後の終結文字（end character）を含むメッセージの件名の一部分、あるいはその他のコンポーネントが含まれる。さらなる実施形態では、ＲＦＣ８２２／ＲＦＣ２８２２  Ｉｎ−Ｒｅｐｌｙ−ＴＯ；ヘッダだけが検査される。さらに別の実施形態では、ＲＦＣ１８９４メッセージだけが、適切な失敗レポートと見なされる。
【００４９】
さらに別の実施形態では、前述したヒントは、オプションであるものと理解されなければならない。さらなる実施形態では、対称的ハッシュは、利用されない。むしろ、メッセージの送信者の身元を認証するのに使用することができる追加の署名が利用される。非対称暗号は、２つの別個の鍵を取り入れ、それらの１つを利用して、暗号識別子を解読することができる。暗号識別子を生成するシステムは、暗号識別子を検証するメッセージングシステムである必要はないことをさらに認識されたい。秘密鍵情報を他の信頼される電子メールエンティティと共有して、電子メールが、別の、信頼される、または既知のシステムから来ていることを、そのようなエンティティが検証することができるようにしてもよい。
【００５０】
さらに別の実施形態では、鍵要素は、コード鍵および別個の秘密鍵に分割してもよい。このようにして、コードを電子メールドメインにおいて利用される電子メールサーバに組み込んで、鍵を盗もうと試みる潜在的な攻撃者が、成功するためには、コード鍵と秘密鍵の両方（２つの別個の要素）を盗まなければならないようにすることができる。一実施形態では、メッセージングサーバは、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｈｏｔｍａｉｌなどのサービスのために利用される、Ｗｅｂベースの電子メールドメインである。そのようなケースでは、特徴付け方法を利用して、アウトバウンドメールログに照らした検査を実行して、システムのスパムフィルタ群を最適化することができる。
【００５１】
前述したとおり、一態様では、鍵情報は、秘密鍵とコード鍵に分割される。そのような実施形態では、秘密鍵およびコード鍵は、電子メールの生成および受信を行うすべてのコンピュータ（認知されたシステム）の間で共有される。しかし、その鍵の知識は、スパム発信者が、スパム対策（anti-spam）フィルタ処理を免れたメッセージをすべてのドメインユーザに送信することを許す。これは、ドメインメールサーバに侵入する欲求をスパム発信者に生じさせる可能性がある。ありそうなシナリオには、攻撃者が、ドメインサーバの１つにバックドア（backdoor）をインストールし、鍵が更新された場合にいつでも、鍵を盗むことが含まれる可能性がある。侵入は、スパム発信者が、並外れた量のドメインユーザにスパム送信を行うことによって自分の正体を暴露しない限り、検出されないままになる。
【００５２】
その脅威からドメインを保護する１つのやり方は、異なるサーバマシン上で異なる鍵を使用することである。これにより、侵入が検出されると、鍵を容易に取り消すことができるようになる。別の実施形態では、有効な識別子を担持するメッセージにランダムな検査を受けさせることができ、違反が自動的に検出される。
【００５３】
異なるマシンの間で鍵を分割することは、いくつかの形で行うことができる。一態様では、これは、署名を使用することによって達成することができる。署名は、（アウトバウンドサーバ群の上にだけ格納された）秘密鍵を使用して生成され、（インバウンドサーバ群の上に格納された）公開鍵を使用して検証される。可能性として、アウトバウンドサーバの数だけの秘密鍵−公開鍵ペアを有することが可能である。グループ署名と呼ばれる、特別クラスの署名は、独立に取り消しおよび更新が行われることが可能な多数の秘密鍵が、同一の公開鍵を共有することを許すことにより、鍵管理を単純化する。そのシナリオでは、すべてのアウトバウンドサーバは、（攻撃者に非常に貴重であるが、容易に取り消し可能である）独自の秘密鍵を有し、すべてのインバウンドサーバは、同一の（低セキュリティの）公開鍵を共有する。システムに対する攻撃の成功は、時間および範囲が限定される。というのは、アウトバウンドサーバに手作業で侵入することにより、攻撃者は、サーバの鍵への一時的なアクセスを得るだけだからである。
【００５４】
公開鍵暗号法を必要としない、より単純な方法は、ＭＡＣ鍵をアウトバウンドサーバ（ホスト）に依存させることである。そのための１つの機構は、鍵が、秘密鍵「Ｋ」、ホスト名、およびカウンタのハッシュであるようにすることである。ホストは、互いに独立である複数の鍵を受け取る。インバウンドサーバ群は、秘密鍵を有し、各ホストに関する鍵を再計算することができる。各ホストに関する鍵を再計算することにより、インバウンドサーバ群への高いセキュリティの鍵の配信が限られる。前述した実施形態の場合と同様に、複数のホスト鍵は、独立に更新されることが可能である。
【００５５】
本発明の以上の詳細な説明は、例示および説明の目的で提示した。以上の詳細な説明は、網羅的であること、または本発明を開示した形態そのものに限定することは意図していない。以上の教示に鑑みて、多くの変更形態および変形形態が可能である。説明した諸実施形態は、本発明の諸原理、および本発明の実際的な応用を最もよく説明して、当業者が、企図される特定の用途に適するように、本発明を様々な実施形態で、様々な変更を加えて最もよく利用することができるように選択されている。本発明の範囲は、本明細書に添付した特許請求の範囲によって定義されるものとする。
【図面の簡単な説明】
【００５６】
【図１】本発明を実施するのに適したコンピュータハードウェアを示すブロック図である。
【図２】電子メールシステムが、ユーザに対するメッセージを不利に扱うべき、または不利に扱うべきでない、様々なメッセージングシナリオを示すブロック図である。
【図３】本発明による電子メールメッセージを生成するための方法を示すブロック図である。
【図４Ａ】最初の電子メールメッセージ、および最初の電子メールメッセージへの返信の実施例を示す図である。
【図４Ｂ】本発明に従って形成されたメッセージＩＤの実施例を示す図である。
【図４Ｃ】図４ＢのメッセージＩＤを作成するための方法を示すブロック図である。
【図５】本発明によるメッセージを検証するための方法を示す流れ図である。
【図６】図４ＢのメッセージＩＤが、受信されたメッセージ内に存在するかどうかを判定するための方法を示す流れ図である。
【図７】本発明を実施するのに適したインターネットメッセージングシステムを示すブロック図である。
【図１】
2006134313.tif 000003
【図２】
2006134313.tif 000004
【図３】
2006134313.tif 000005
【図４Ａ】
2006134313.tif 000006
【図４Ｂ】
2006134313.tif 000007
【図４Ｃ】
2006134313.tif 000008
【図５】
2006134313.tif 000009
【図６】
2006134313.tif 000010
【図７】
2006134313.tif 000011
【外国語明細書】
2006134313000001.pdf