(57)【要約】ローカルエリアネットワークに接続される鍵サーバ、およびローカルエリアネットワークのユーザに対する秘密鍵を鍵サーバに送信する暗号機関について説明する。１つの実施の形態においては、鍵サーバは発信する電子メールを受信者の公開鍵を用いて暗号化し、内部の電子メールを受信者の秘密鍵を用いて復号化する。他の実施の形態においては、ローカルエリアネットワークのクライアントが、クライアントソフトウェアによって暗号処理が実行できるように各自の秘密鍵を鍵サーバからダウンロードする。
2009531916.tif 000002
【特許請求の範囲】
【請求項１】
ユーザのグループと関連づけられた１つまたは複数のリモートネットワーク装置と通信することが可能であるネットワーク装置であって、
ネットワークを通じてリモートサーバへ前記ユーザのグループに対する複数の暗号鍵の要求を送信することが可能である要求送信機と、
前記ユーザのグループに対する複数の暗号鍵を受信すること、および受信された前記複数の暗号鍵を暗号鍵データ記憶内に記憶することが可能である鍵受信機とを有する、
ネットワーク装置。
【請求項２】
前記リモートサーバに前記ネットワーク装置を登録するための登録プロシージャをコントロールすることが可能である登録コントローラをさらに有する、
請求項１に記載のネットワーク装置。
【請求項３】
前記登録コントローラは、前記登録サーバから１つまたは複数のトランスファー鍵を取得すること、および前記トランスファー鍵をトランスファー鍵データ記憶内に記憶することが可能であり、
前記鍵受信機は、暗号化された暗号鍵の受信に応じて、前記暗号化された暗号鍵を復号化するための少なくとも１つのトランスファー鍵を前記トランスファー鍵記憶から取得すること、および前記暗号化された暗号鍵を前記取得されたトランスファー鍵を用いて復号化して前記暗号鍵を復元することが可能である、
請求項２に記載のネットワーク装置。
【請求項４】
前記トランスファー鍵を用いた前記復号化は、対称暗号化アルゴリズムを用いる、
請求項３に記載のネットワーク装置。
【請求項５】
前記登録コントローラは、前記ネットワーク装置と関連づけられたマスタトランスファー鍵および複数のユーザトランスファー鍵を取得することが可能であり、
各ユーザトランスファー鍵が前記ユーザのグループ内の異なるユーザと関連づけられる、
請求項３または請求項４に記載のネットワーク装置。
【請求項６】
前記ネットワーク装置は、ネットワークアドレスおよび前記ネットワーク装置に関連づけられた電子メールアドレスを有し、
前記登録サーバは、
ｉ）前記ネットワーク装置の前記ネットワークアドレスに送信された前記マスタトランスファー鍵の第一の部分を伝達する信号、および
ｉｉ）前記ネットワーク装置に関連づけられた前記電子メールアドレスに送信された前記マスタトランスファー鍵の第二の部分を伝達する電子メールメッセージ
を受信することが可能であり、
前記登録コントローラは、前記マスタトランスファー鍵を前記第一および第二の部分を用いて復元することがさらに可能である、
請求項５に記載のネットワーク装置。
【請求項７】
前記マスタトランスファー鍵の取得後に、
前記登録コントローラは、暗号化された複数のユーザトランスファー鍵を受信すること、
前記暗号化された複数のユーザトランスファー鍵を前記マスタトランスファー鍵を用いて復号化して前記複数のユーザトランスファー鍵を復元すること、および
前記復元された複数のユーザトランスファー鍵を前記トランスファー鍵データ記憶内に記憶することが可能である、
請求項６に記載のネットワーク装置。
【請求項８】
前記暗号化されたユーザトランスファー鍵は、前記ネットワーク装置によって、前記ネットワーク装置の前記ネットワークアドレスに送信されたネットワーク信号の形式で受信される、
請求項７に記載のネットワーク装置。
【請求項９】
前記ユーザトランスファー鍵の取得後に、
前記登録コントローラは、
ｉ）暗号化された複数の暗号鍵（暗号化された暗号鍵の各々は前記ユーザのグループのそれぞれ１人と関連づけられている）を受信すること、
ｉｉ）暗号化された複数の暗号鍵の各々を、前記ユーザのグループの前記１人に対して関連づけられている前記ユーザトランスファー鍵を用いて復号化して前記暗号鍵を復元すること、
ｉｉｉ）前記復元された暗号鍵を前記暗号鍵データ記憶内に記憶することがさらに可能である、
請求項６〜８のいずれかに記載のネットワーク装置。
【請求項１０】
前記登録コントローラは、前記ユーザのグループに対する識別情報を、１つまたは複数の前記リモートネットワーク装置に関連づけられたライトウェイト・ディレクトリ・アクセス・プロトコル・サーバから取得することが可能であり、
前記ライトウェイト・ディレクトリ・アクセス・プロトコル・サーバからの前記ユーザのグループに対する前記識別情報の受信に応じて、前記登録コントローラは、識別情報を前記リモートサーバに転送することが可能である、
請求項２〜９のいずれかに記載のネットワーク装置。
【請求項１１】
前記識別情報は電子メールアドレス情報を有する、
請求項１０に記載のネットワーク装置。
【請求項１２】
前記ユーザのグループの１人に対応づけられた暗号鍵に対する前記ユーザのグループの前記１人からの要求に応じて、
前記データ記憶から前記ユーザのグループの前記１人と関連づけられた１つまたは複数の暗号鍵を復元すること、および
前記１つまたは複数の復元された暗号鍵を前記ユーザのグループの前記１人へ送信することが可能である鍵要求プロセッサをさらに有する、
前記請求項のいずれかに記載のネットワーク装置。
【請求項１３】
前記要求プロセッサは、前記ユーザのグループの前記１人と関連づけられた前記暗号鍵を、前記ユーザのグループの前記１人と関連づけられたユーザトランスファー鍵を用いて暗号化することが可能である、
請求項３に従属する場合の請求項１２に記載のネットワーク装置。
【請求項１４】
前記ユーザのグループに対して新規ユーザを追加する登録プロシージャをコントロールすることが可能であるユーザ登録コントローラをさらに有する、
前記請求項のいずれかに記載のネットワーク装置。
【請求項１５】
前記ネットワーク装置は、トランスファー鍵データ記憶を有し、
前記ユーザ登録コントローラは、
前記リモートサーバからユーザトランスファー鍵を取得すること、
前記ユーザトランスファー鍵をトランスファー鍵データ記憶内に記憶すること、および
前記取得されたユーザトランスファー鍵を前記新規ユーザに転送することが可能である、
請求項１４に記載のネットワーク装置。
【請求項１６】
前記ユーザ登録コントローラは、ユーザのネットワークアドレスからの、前記ユーザの電子メールアドレスおよび前記ユーザを識別するトークンを含む新規ユーザ要求を伝達する信号に応じ、新規ユーザの登録を起動し、
前記要求プロセッサは、ライトウェイト・ディレクトリ・アクセス・プロトコル・サーバの提供する前記トークンの証明を要求することが可能であり、
前記ライトウェイト・ディレクトリ・アクセス・プロトコル・サーバによる前記トークンの証明に応じ、前記要求プロセッサは、前記ユーザのネットワークアドレスへ前記新規ユーザに対する前記トランスファー鍵を伝達する信号を送信することが可能であり、
前記ライトウェイト・ディレクトリ・アクセス・プロトコル・サーバによる前記トークンの証明が無い場合、前記要求プロセッサは、
前記ユーザに対する前記トランスファー鍵を二つ以上の部分に分割すること、
前記ユーザのトランスファー鍵の第一の部分を伝達する信号を前記ユーザのネットワークアドレスへ送信すること、および
前記ユーザのトランスファー鍵の第二の部分を伝達する電子メッセージを前記ユーザの前記電子メールアドレスへ送信することが可能である、
請求項１５に記載のネットワーク装置。
【請求項１７】
受信された暗号化された電子メールメッセージの復号化をコントロールすることが可能である復号化コントローラをさらに有する、
前記請求項のいずれかに記載のネットワーク装置。
【請求項１８】
前記受信された暗号化された電子メールメッセージは、前記ユーザのグループの１人の前記電子メールアドレスに宛てられ、
前記復号化コントローラは、
前記宛てられたユーザに関連づけられた暗号鍵を取得すること、および
前記取得された暗号鍵を用いて前記暗号化された電子メールメッセージを復号化することが可能である、
請求項１７に記載のネットワーク装置。
【請求項１９】
前記受信された暗号化された電子メールメッセージは、前記ユーザのグループの１人の前記電子メールアドレスから送信され、
前記復号化コントローラは、
前記送信者の前記電子メールアドレスに関連づけられた暗号鍵を取得すること、および
前記取得された暗号鍵を用いて前記暗号化された電子メールメッセージを復号化することが可能である、
請求項１７に記載のネットワーク装置。
【請求項２０】
１人または複数の名宛人へ前記ユーザのグループの１人によって送信された、受信された電子メールメッセージの暗号化をコントロールすることが可能である暗号化コントローラをさらに有する、
前記請求項のいずれかに記載のネットワーク装置。
【請求項２１】
前記暗号化コントローラは、前記名宛人の前記電子メールアドレスを用いて、前記受信された電子メールメッセージの名宛人に対する暗号鍵を算出することが可能である、
請求項２０に記載のネットワーク装置。
【請求項２２】
前記ネットワーク装置の前記送信機は、前記ローカルエリアネットワークの外部にあるリモートサーバへ複数の暗号鍵の要求を送信することが可能である、
前記請求項のいずれかに記載のネットワーク装置を有するローカルエリアネットワーク。
【請求項２３】
ネットワークを通じてリモートネットワーク装置と通信することが可能であるコンピュータ装置であって、
暗号コントローラが、暗号鍵を用いて、少なくとも１回の電子メッセージの暗号化および電子メッセージの復号化をコントロールすることが可能であり、
鍵リトリーバが、リモートネットワーク装置から前記暗号鍵を取得すること、および前記取得された暗号鍵を暗号鍵データ記憶内に記憶することが可能であり、
前記鍵リトリーバは、
あらかじめ定められたネットワークアドレスが割り当てられたサーバへ、前記暗号鍵を提供できるネットワークアドレスを要求する要求を送信すること、および
前記サーバによって特定された前記ネットワークアドレスへ、前記暗号鍵に対する要求を送信することが可能である、
コンピュータ装置。
【請求項２４】
前記コンピュータ装置の前記ユーザを暗号機関に登録するためのユーザ登録コントローラをさらに有し、
前記ユーザ登録コントローラは、
あらかじめ定められたネットワークアドレスが割り当てられたサーバへ、ユーザトランスファー鍵を提供できるネットワークアドレスの要求を送信すること、および
前記サーバによって特定された前記ネットワークアドレスへ、前記ユーザトランスファー鍵の要求を送信することが可能である、
請求項２３に記載のコンピュータ装置。
【請求項２５】
前記ユーザ登録コントローラは、前記コンピュータ装置に対応づけられたネットワークアドレスに対して送信された信号から前記ユーザトランスファー鍵を復元することが可能である、
請求項２４に記載のコンピュータ装置。
【請求項２６】
前記暗号コントローラは、
前記受信者と関連づけられた電子メールアドレスからの電子メールメッセージの受信者と関連づけられた暗号鍵を算出すること、および
前記算出された暗号鍵を用いて前記受信者に対する前記電子メールメッセージを暗号化することが可能である、
請求項２３〜２５のいずれかに記載のコンピュータ装置。
【請求項２７】
請求項１〜２１のいずれかに記載のネットワーク装置、および
請求項２３〜２６のいずれかに記載のコンピュータ装置を有する、
ローカルエリアネットワーク。
【請求項２８】
暗号鍵を提供することが可能である鍵プロバイダと、
１つまたは複数のネットワーク装置と対応するユーザのグループを関連づけるデータを記憶することが可能であるデータ記憶と、
前記ネットワークを通じてネットワーク装置から受信した、１人または複数のユーザに関連づけられた暗号鍵に対する要求を処理することが可能である要求プロセッサとを有するネットワークサーバであって、
暗号鍵に対する要求の受信に応じて、
ｉ）前記データ記憶内に記憶された前記データを用いて、前記１人または複数のユーザが、前記要求を送信した前記ネットワーク装置と関連づけられているかどうかを判別すること、および
ｉｉ）前記１人または複数のユーザが、前記要求を送信した前記ネットワーク装置と関連づけられている場合に、１人または複数のユーザに対する、前記鍵プロバイダによって提供された１つまたは複数の暗号鍵を、前記要求を送信した前記ネットワーク装置に送信することが可能である、
ネットワークサーバ。
【請求項２９】
前記鍵プロバイダは、ルート暗号鍵および前記ユーザの識別情報を用いてユーザの暗号鍵を算出することが可能である、
請求項２８に記載のネットワークサーバ。
【請求項３０】
前記識別情報は、前記ユーザの電子メールアドレスである、
請求項２９に記載のネットワークサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子メールメッセージングシステム、特に、人に対して電子的にメッセージを送ったり、人からメッセージを電子的に受信したりするシステムに関わる。
【背景技術】
【０００２】
従来の電子メールプログラムのような電子メールメッセージングプログラムは広く利用されている。従来の電子メールプログラムに関する問題は、送信された電子メールが傍受され読まれてしまう可能性があることである。非対称暗号化アルゴリズムが用いられた公開鍵暗号方式を用いて、電子メールメッセージを暗号化するという提案がされている。具体的には、電子メールメッセージの受信者と関連づけられた公開鍵が、送信者がメッセージを暗号化するのに用いられる。結果として得られた暗号化されたメッセージは、公開鍵とは異なる秘密鍵を用いることによってのみ復号化することができて、その秘密鍵へのアクセスはメッセージの受信者によって管理されている。
【０００３】
公開鍵暗号方式は、電子メールメッセージの送信者が、目的とする受信者と公開鍵が関連づけられていることを知っていることに依存している。これを達成する一つの方法として、暗号機関が暗号鍵を発行し証明する方法がある。しかし、この方法は、秘密鍵に関連づけられた暗号機関のクライアントに対して、発行された秘密鍵が暗号機関から全て安全に送信されることを必要とする。また、各クライアントへそれぞれのトランスファー鍵（暗号機関とクライアント間における送信の際に、秘密鍵を暗号化するのに用いられる）を送信する方法もある。トランスファー鍵を部分に分割して、各部分を異なる送信メカニズムによって送信する（例えば、１つの部分を安全なハイパーテキストトランスファープロトコル（HyperText Transfer Protocol）を用いてネットワークアドレスに送信し、別の部分は電子メールを用いて電子メールアドレスに送信する）ことにより、トランスファー鍵の安全性は改善される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ほとんどの企業は、通常１つまたは複数のローカルエリアネットワーク（Local Area Networks、ＬＡＮＳ）からなる内部コンピュータシステムを有している。多くの企業は、例えばウィルスおよびスパムを調査するために、内部コンピュータシステムで送受信される電子メールメッセージを追跡したいと考えている。これは、暗号化された電子メッセージにおいては困難である。
【課題を解決するための手段】
【０００５】
本発明によれば、鍵サーバがローカルエリアネットワークに接続され、暗号機関がローカルエリアネットワークのクライアントに対する暗号鍵を鍵サーバへ送信する。
【０００６】
１つの実施の形態においては、鍵サーバは、発信する電子メールを受信者の公開鍵を用いて暗号化し、内部の電子メールを受信者の秘密鍵を用いて復号化する。好ましくは、送信された電子メールの完全性を証明するため、発信する電子メールを送信者の秘密鍵も用いて鍵サーバがデジタル署名する。
【０００７】
他の実施の形態では、クライアントのソフトウェアによって暗号処理が行われるよう、各自の秘密鍵を鍵サーバからローカルエリアネットワークのクライアントがダウンロードする。好ましくは、クライアントのソフトウェアによって暗号処理が行われても、送受信される暗号化された電子メールを、復号化および検査のため鍵サーバに送ってよい。
【０００８】
好ましい実施の形態では、電子メールアドレスに対する公開鍵が、ルート公開鍵および電子メールアドレス自体から生成される。一方、電子メールアドレスに対する秘密鍵を、電子メールアドレスおよび暗号機関により秘密に保たれているルート秘密鍵を用いて暗号機関が算出する。かかるシステムの利点は、秘密鍵が発行されていなくても、電子メールアドレスに対する公開鍵が算出可能であり、暗号化された電子メールを受信した場合に、復号化するための秘密鍵を受信者が暗号機関に照会可能であることである。
【発明を実施するための最良の形態】
【０００９】
第一の実施の形態
全体
図１に示すように、第一の実施の形態においては、企業（図１において破線ブロック３にて概略的に示されている）のローカルエリアネットワーク（ＬＡＮ）１は、インターネット７を経由して信頼できる第三者機関サーバ５（以後Ｔ３Ｐサーバ５と記す）に接続されている。複数のワークステーション９ａ〜９ｃ（図１では図示を簡単にするよう３つのみが示されている）が管理者ワークステーション１１と共にＬＡＮ１に接続されている。ゲートウェイ１３が、ＬＡＮ１とインターネット７の間の全ての通信がゲートウェイ１３を通過するように、ＬＡＮ１およびインターネット７に接続されている。従来のメールサーバ１５および従来のライトウェイト・ディレクトリ・アクセス・プロトコル・サーバ１７（Lightweight Directory Access Protocol server、以後ＬＤＡＰサーバ１７と記す）もＬＡＮ１に接続されている。
【００１０】
この実施の形態においては、さらに鍵サーバ１９がＬＡＮ１に接続されている。鍵サーバ１９は複数のワークステーション９のユーザの複数の暗号鍵を記憶しており、適切な場合には、ゲートウェイ１３を通過してＬＡＮ１から発信する電子メールを暗号化し、またゲートウェイ１３を通過してＬＡＮ１に着信する電子メールを復号化する。この実施の形態においては、鍵サーバ１９により記憶された暗号鍵は、暗号鍵機関によって管理されるＴ３Ｐサーバ５からダウンロードされた非対称暗号化アルゴリズムのための秘密鍵を含む。
【００１１】
この実施の形態において、暗号鍵機関は、ＷＯ０３／０１７５５９号公報に記載された暗号化アルゴリズムに用いられるルート公開鍵KGpubを有する公開鍵証明書を発行する。ここに、ＷＯ０３／０１７５５９号公報を参照することによりその全内容を本明細書の一部とする。この暗号化アルゴリズムにより、“client_ID”という電子メールアドレスを有するクライアントの公開鍵KCpubが以下の式で与えられる。
【数１】
2009531916.tif 000003
【００１２】
ここで、Ｆは公に利用可能な関数である。この方法においては、クライアントに関連づけられた公開鍵は、クライアントの電子メールアドレス、暗号機関のルート公開鍵KGpub、および関数Ｆ（これらは全て公に利用可能である）を知っていれば誰にでも算出しうる。
【００１３】
クライアントと関連づけられた秘密鍵は、暗号機関によって秘密に保たれているルート秘密鍵KGpriを知っている場合にのみ算出しうる。具体的には、電子メールアドレス“client_ID”を有するクライアントの秘密鍵Kcpriは、以下の関係式に従ってＴ３Ｐサーバ５によって算出される。
【数２】
2009531916.tif 000004
【００１４】
ここで、ＧはＦと対になった関数である。
【００１５】
本明細書の残りの部分全てにおいて、別段の表示がない限り、公開鍵を用いて非対称的に暗号化されたデータについて言及する場合、そのデータはＷＯ０３／０１７５５９号公報に記載された非対称暗号化アルゴリズムを用いて暗号鍵をなす公開鍵で暗号化されていることを意味する。同様に、秘密鍵を用いて非対称的に復号化されたデータについて言及する場合、そのデータがＷＯ０３／０１７５５９号公報に記載された非対称アルゴリズムを用いて暗号鍵をなす秘密鍵で復号化されることを意味する。
【００１６】
また、本明細書を通じて、対称鍵を用いて対称的に暗号化または復号化されたデータについても言及がされる。これは、別段の表示がない限り、高度暗号化標準（Advanced Encryption Standard、ＡＥＳ）アルゴリズムを用いて、対称鍵を暗号鍵として用いて暗号化または復号化することを表す。
【００１７】
この実施の形態においては、暗号化された電子メールを送信するために、いわゆるＫＥＭ−ＤＥＭアプローチが用いられる。ＫＥＭ−ＤＥＭアプローチでは、受信者の公開鍵を用いて非対称的に暗号化された（メッセージに固有の）セッション鍵を記憶している鍵カプセル化メカニズム（Key Encapsulation Mechanism、ＫＥＭ）部分と、セッション鍵を用いて対称的に暗号化された電子メールメッセージを記憶しているデータカプセル化メカニズム（Data Encapsulation Mechanism、ＤＥＭ）部分から暗号化された電子メールが形成されている。具体的には、各受信者に対し、受信者の公開鍵を用いて非対称的に暗号化されたセッション鍵をＫＥＭ部分が記憶しており、送信者の公開鍵で非対称的に暗号化されたセッション鍵もＫＥＭ部分が記憶している。このようにして、相対的に負荷の高い非対称暗号化アルゴリズムの演算処理はセッション鍵の復元にのみ必要とされ、より負荷の低い対称暗号化アルゴリズム処理がメッセージを復元するのに用いられる。
【００１８】
使用されたＫＥＭ−ＤＥＭアプローチのさらなる詳細はＷＯ２００５／０５０９０８号公報に記載されており、ここで参照することによりその内容は本明細書の一部とする。
【００１９】
クライアントの秘密鍵はＴ３Ｐサーバ５によって生成されるが、生成された秘密鍵をどのようにして使用できるようにするかという問題が存在する。詳細は後述するが、この実施の形態においては、ＬＡＮ１のユーザと関連づけられた秘密鍵のダウンロードを容易にするため、Ｔ３Ｐサーバ５と鍵サーバ１９の間に安全な通信が確立される。
【００２０】
この実施の形態のＬＡＮ１を有するような企業にとって、コンピュータウィルスの拡散を防いだりスパム電子メールを除去するために、送受信される電子メールを検査することは標準的に実施されるものである。しかし、電子メールの内容が暗号化されている場合、これらの検査の実施には問題が存在する。詳細は後述するが、この実施の形態においては、必要な場合に、名宛人に電子メールが送られる前に電子メールの内容を検査できるよう、ＬＡＮ１のユーザの１人と関連づけられた公開鍵を用いて暗号化された着信電子メールを、鍵サーバ１９が復号化する。
【００２１】
ゲートウェイ１３、鍵サーバ１９、ＬＤＡＰサーバ１７、およびＴ３Ｐサーバ５の主な構成要素をより詳細に説明する。
【００２２】
ゲートウェイ
図２に示すように、ゲートウェイ１３は、バスシステム４１によって相互に接続される外部ネットワークインタフェース３１、ＬＡＮインタフェース３３、操作者インタフェース３５、プロセッサ３７、およびメモリ３９を有する。
【００２３】
外部ネットワークインタフェース３１は、ネットワーク信号４３の形式でインターネットとデータを入出力する。同様に、ＬＡＮインタフェース３３は、ネットワーク信号４５の形式でＬＡＮ１とデータを入出力する。
【００２４】
操作者インタフェース３５は、操作者がゲートウェイ１３にデータを入力するのを可能にするキーボード（図２には示されていない）、操作者がゲートウェイ１３の出力したデータを読むのを可能にするディスプレイ（図２には示されていない）を含む。また、操作者インタフェース３５は、ＣＤ−ＲＯＭ４７に記憶されたデータをゲートウェイ１３に入力したり、記録可能ＣＤ−ＲＯＭ４７にゲートウェイ１３から出力されたデータを書き込んだりできるＣＤ−ＲＯＭ読み書き装置を含む。
【００２５】
プロセッサ３７はメモリ３９に記憶されたプログラムルーチンに従って演算処理を実行する。これらプログラムルーチンは製造中に記憶されても良いし、操作者インタフェース３５、外部ネットワークインタフェース３１、またはＬＡＮインタフェース３３を経由してゲートウェイ１３に入力されても良い。プログラムルーチンは、メモリ３９に記憶されたデータ、および操作者インタフェース３５経由、外部ネットワークインタフェース３１経由、またはＬＡＮインタフェース３３経由で受信したデータを処理する。
【００２６】
従来から行われているように、メモリ３９はデータの読み出しにあたってそれぞれが異なるアクセス時間を持つ様々な形態のメモリによって構成される。例えば、アクセス時間の比較的遅いハードディスクドライブ領域と、比較的早いランダムアクセスメモリ（Random Access Memory、ＲＡＭ）領域をメモリ３９が有する。必要になりそうなデータを前もってＲＡＭにキャッシュしておくことによって処理速度を改善するように従来の処理技術が用いられる。
【００２７】
メモリ３９はゲートウェイ１３が使用するプログラムルーチンを記憶する領域４９、データを記憶する領域５１、および作業メモリとなる領域５３を含む。
【００２８】
具体的には、プログラムルーチンのメモリ領域４９は以下を記憶する。
・主制御ルーチン（Master_Control routine）５５
・着信電子メール処理ルーチン（Process_Incoming_Email routine）５７
・発信電子メール処理ルーチン（Process_Outgoing_Email routine）５９
【００２９】
記憶データメモリ領域５１は着発信電子メールを処理する際に用いられる基準／規則のセット６１を記憶する。
【００３０】
鍵サーバ
図３に示すように、鍵サーバ１９は、バスシステム８１によって相互に接続されるＬＡＮインタフェース７１、操作者インタフェース７３、プロセッサ７５、実時間時計（real time clock）７７、およびメモリ７９を有する。
【００３１】
ＬＡＮインタフェース７１は、ネットワーク信号８３の形式でＬＡＮ１の他の機器とデータの送受信を行う。操作者インタフェース７３は、操作者が鍵サーバ１９にデータを入力するのを可能にするキーボード（図３には示されていない）、操作者が鍵サーバ１９の出力したデータを読むのを可能にするディスプレイ（図３には示されていない）を含む。また、操作者インタフェース７３は、ＣＤ−ＲＯＭ８５に記憶されたデータを鍵サーバ１９に入力したり、記録可能ＣＤ−ＲＯＭ８５に鍵サーバ１９から出力されたデータを書き込んだりできるＣＤ−ＲＯＭ読み書き装置を含む。
【００３２】
実時間時計７７は、鍵サーバ１９が用いる時間および日付の情報を提供する。
【００３３】
プロセッサ７５はメモリ７９に記憶されたプログラムルーチンに従って演算処理を実行する。これらプログラムルーチンは製造中に記憶されても良いし、操作者インタフェース７３またはＬＡＮインタフェース７１を経由して鍵サーバ１９に入力されても良い。プログラムルーチンは、メモリ７９に記憶されたデータ、および操作者インタフェース７３経由またはＬＡＮインタフェース７１経由で受信したデータを処理する。
【００３４】
ゲートウェイ１３のメモリ３９と同じように、メモリ７９はそれぞれが異なるアクセス時間を持つ様々な形態のメモリによって構成され、必要になりそうなデータを前もってアクセス時間の速いメモリにキャッシュしておくことによって処理速度を改善するように従来の処理技術が用いられる。
【００３５】
メモリ７９は鍵サーバ１９が使用するプログラムルーチンを記憶する領域８７、データを記憶する領域８９、および作業メモリとなる領域９１を含む。
【００３６】
具体的には、プログラムルーチンのメモリ領域８７は以下を記憶する。
・主制御ルーチン（Master_Control routine）９３
・サーバ登録サブルーチン（Enrol_Server sub-routine）９５
・ユーザ鍵起動サブルーチン（Initiate_User_Key sub-routine）９７
・新規ユーザサブルーチン（New_User sub-routine）９９
・鍵ダウンロードサブルーチン（Download_Key sub-routine）１０１
・鍵アップデートサブルーチン（Update_Key sub-routine）１０３
・メッセージ暗号化サブルーチン（Encrypt_Message sub-routine）１０５
・メッセージ復号化サブルーチン（Decrypt_Message sub-routine）１０７
【００３７】
記憶データメモリ領域８９は以下を記憶する。
・鍵サーバ１９を鍵サーバのトランスファー鍵と関連づけ、またＬＡＮ１の各ユーザをそれぞれのユーザのトランスファー鍵と関連づけるテーブルを記憶するトランスファー鍵記憶（transfer key store）１０９
・鍵サーバ１９の現在の秘密鍵およびＬＡＮ１の各ユーザの現在の秘密鍵を記憶する現在鍵記憶（current key store）１１１
・鍵サーバ１９およびＬＡＮ１のユーザが将来使用する秘密鍵を記憶する将来鍵記憶（future key store）１１３
・以前使用された暗号鍵を記憶する鍵アーカイブ（key archive）１１５
・ルート公開鍵KGpubを含む公開鍵証明書を記憶するルート公開鍵記憶（root public key store）１１７
【００３８】
当然の事ながら、記憶データメモリ領域８９に記憶されている暗号鍵情報へのアクセスは制限される必要がある。具体的には、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）のような最近のオペレーティングシステムにより提供される、従来の安全なデータ記憶技術を用いて、限定されたプログラムルーチンのみが動作するコンテキストを有する専用ユーザしか暗号鍵情報にアクセスできないことを確実にしておく。
【００３９】
ＬＤＡＰサーバ
図４に示すように、ＬＤＡＰサーバ１７はバスシステム１２９によって相互に接続されるネットワークインタフェース１２１、操作者インタフェース１２３、プロセッサ１２５、およびメモリ１２７を有する。
【００４０】
ネットワークインタフェース１２１は、ネットワーク信号１３１の形式でＬＡＮ１の他の機器とデータの送受信を行う。
【００４１】
操作者インタフェース１２３は、操作者がＬＤＡＰサーバ１７にデータを入力するのを可能にするキーボードおよび操作者がゲートウェイ１３の出力したデータを読むのを可能にするディスプレイを含む。また、操作者インタフェース１２３は、ＣＤ−ＲＯＭ１３３に記憶されたデータをＬＤＡＰサーバ１７に入力したり、記録可能ＣＤ−ＲＯＭ１３３にデータを書き込んだりできるＣＤ−ＲＯＭ読み書き装置を含む。
【００４２】
プロセッサ１２５はメモリ１２７に記憶されたプログラムルーチンに従って演算処理を実行する。これらプログラムルーチンは製造中に記憶されても良いし、操作者インタフェース１２３またはＬＡＮインタフェース１２１を経由してＬＤＡＰサーバ１７に入力されても良い。プログラムルーチンは、メモリ１２７に記憶されたデータ、および操作者インタフェース１２３経由、ＬＡＮインタフェース１２１経由で受信したデータを処理する。
【００４３】
ゲートウェイ１３のメモリ３９と同じように、メモリ１２７はそれぞれが異なるアクセス時間を持つ様々な形態のメモリによって構成され、必要になりそうなデータを前もってアクセス時間の速いメモリにキャッシュしておくことによって処理速度を改善するように従来の処理技術が用いられる。
【００４４】
メモリ１２７はＬＤＡＰサーバ１７が使用するプログラムルーチンを記憶する領域１３５、データを記憶する領域１３７、および作業メモリとなる領域１３９を含む。
【００４５】
具体的には、プログラムルーチンのメモリ領域１３５は以下を記憶する。
・主制御ルーチン（Master_Control routine）１４１
・トークン検査サブルーチン（Check_Token sub-routine）１４３
・要求処理サブルーチン（Process_Request sub-routine）１４５
【００４６】
記憶データメモリ領域１３７は、他のデータと共に、ＬＡＮ１の各ユーザのエントリ１４９ａ〜１４９ｃを有するユーザデータベース１４７を記憶する。図５に示すように、ユーザデータベースの各エントリ１４９は以下を記憶する。
・ユーザ名およびパスワードを含むログオン情報（logon information）１６１
・企業階層内でのユーザの地位を示す階層情報（hierarchy information）１６３
・ＬＡＮ１においてユーザが実行を許可されている操作（例えば、そのユーザが管理者権限を有しているかどうか）を示す特権情報（privileges information）１６５
・電子メールアドレス情報（email address information）１６７
【００４７】
信頼できる第三者機関サーバ
図６に示すように、Ｔ３Ｐサーバ５はバスシステム１８１によって相互に接続されるネットワークインタフェース１７１、操作者インタフェース１７３、プロセッサ１７５、実時間時計１７７、およびメモリ１７９を有する。
【００４８】
ネットワークインタフェース１７１は、ネットワーク信号１８３の形式でインターネット７とデータの送受信を行う。操作者インタフェース１７３は、操作者がＴ３Ｐサーバ５にデータを入力するのを可能にするキーボード（図６には示されていない）および操作者がＴ３Ｐサーバ５の出力したデータを読むのを可能にするディスプレイ（図６には示されていない）を含む。また、操作者インタフェース１７３は、ＣＤ−ＲＯＭ１８５に記憶されたデータをＴ３Ｐサーバ５に入力したり、記録可能ＣＤ−ＲＯＭ１８５にＴ３Ｐサーバ５の出力したデータを書き込んだりできるＣＤ−ＲＯＭ読み書き装置を含む。
【００４９】
実時間時計１７７はＴ３Ｐサーバ５が用いる時間および日付の情報を提供する。
【００５０】
プロセッサ１７５はメモリ１７９に記憶されたプログラムルーチンに従って演算処理を実行する。これらプログラムルーチンは製造中に記憶されても良いし、操作者インタフェース１７３またはネットワークインタフェース１７１を経由してＴ３Ｐサーバ５に入力されても良い。プログラムルーチンは、メモリ１７９に記憶されたデータ、および操作者インタフェース１７３経由またはＬＡＮインタフェース１７１経由で受信したデータを処理する。
【００５１】
ゲートウェイ１３のメモリ３９と同じように、メモリ１７９はそれぞれが異なるアクセス時間を持つ様々な形態のメモリによって構成され、必要になりそうなデータを前もってアクセス時間の速いメモリにキャッシュしておくことによって処理速度を改善するように従来の処理技術が用いられる。
【００５２】
メモリ１７９はＴ３Ｐサーバ５が使用するプログラムルーチンを記憶する領域１８７、データを記憶する領域１８９、および作業メモリとなる領域１９１を含む。
【００５３】
具体的には、プログラムルーチンのメモリ領域１８７は以下を記憶する。
・主制御ルーチン（Master_Control routine）１９３
・鍵サーバ登録サブルーチン（Register_Key_Server sub-routine）１９５
・ルート鍵生成サブルーチン（Generate_Root_Keys sub-routine）１９７
・秘密鍵算出サブルーチン（Calculate_Private_Keys sub-routine）１９９
・ルート鍵アップデートサブルーチン（Update_Root_Keys sub-routine）２０１
【００５４】
記憶データメモリ領域１８９は以下を記憶する。
・現在使用しているルート公開鍵KGpubおよびルート秘密鍵KGpriを記憶するアクティブルート鍵情報（active root keys information）２０３
・将来使用されるルート公開鍵およびルート秘密鍵のペアを記憶する将来ルート鍵情報（future root keys information）２０５
・以前使用されたルート公開鍵およびルート秘密鍵のペアを、ルート公開鍵およびルート秘密鍵がそれぞれ使用された期間と共に記憶するルート鍵アーカイブ情報（root key archive information）２０７
・Ｔ３Ｐサーバ５によって登録された鍵サーバについての情報を記憶する鍵サーバデータベース（key server database）２０９
・Ｔ３Ｐサーバ５によって登録された個別のユーザについての情報（各ユーザに関連づけられたトランスファー鍵、およびユーザの秘密鍵を受信することを許可されている鍵サーバを識別する情報を含む）を記憶するクライアントデータベース（client database）２１１
・Ｔ３Ｐサーバと関連づけられた公開鍵／秘密鍵のペアを記憶するＴ３Ｐサーバ鍵記憶（T3P server key store）２１３
【００５５】
この実施の形態の電子メールメッセージングシステムにおいて実行される主な処理について説明する。
【００５６】
鍵サーバのインストール
鍵サーバ１９のインストールは、鍵サーバ１９の操作者インタフェース７３を用いて操作者がインストール処理を起動することから開始する。操作者がインストール処理を起動したのに応じて、主制御ルーチン９３がサーバ登録サブルーチン９５を起動する。以下に図７Ａおよび７Ｂを参照して説明する。
【００５７】
サーバ登録サブルーチン９５の起動後（Ｓ１）、鍵サーバ１９は操作者インタフェース７３のディスプレイに登録フォームを表示する（Ｓ３）。登録フォームは、鍵サーバ１９の操作者の受信時連絡先情報用のデータ入力フィールドと、鍵サーバ１９が入手を望む対応する秘密鍵の電子メールアドレスの範囲指定用のデータ入力フィールドを含む。この電子メールアドレスの範囲は、例えば特定の電子メールアドレス、特定のドメイン範囲（例えばａｂｃ．ｃｏ．ｕｋの全ユーザ）もしくはサブドメイン範囲（例えばｄｅｆ．ａｂｃ．ｃｏ．ｕｋの全ユーザ）、または電子メールアドレス、ドメイン範囲もしくはサブドメイン範囲の組合せに対応しうる。
【００５８】
入力された電子メールグループ情報および連絡先情報の受信後（Ｓ５）、鍵サーバ１９はランダムなセッション鍵を生成する（Ｓ７）。その後、入力された電子メールグループ情報、鍵サーバ１９の電子アドレス情報、および生成されたセッション鍵を、Ｔ３Ｐサーバ５と関連づけられた公開鍵証明書（これは必要ならばインターネットからダウンロードされる）によって特定された公開鍵を用いて鍵サーバ１９が暗号化する。その後、鍵サーバ１９の登録要求および暗号化されたデータを含むＨＴＴＰＳ信号を鍵サーバ１９がＴ３Ｐサーバ５へ送信する（Ｓ１１）。
【００５９】
鍵サーバ登録を要求するＨＴＴＰＳ信号の受信後（Ｓ１３）、Ｔ３Ｐサーバ５の主制御ルーチン１９３が鍵サーバ登録サブルーチン１９５を起動する。暗号化されたデータを、Ｔ３Ｐサーバ５の秘密鍵を用いてＴ３Ｐサーバ５が復号化して、電子メールアドレスグループ情報、電子アドレス情報、およびセッション鍵を復元する。その後、Ｔ３Ｐサーバ５はランダムなトランスファー鍵を生成する（Ｓ１５）。以後、このランダムなトランスファー鍵を鍵サーバトランスファー鍵と呼ぶ。鍵サーバトランスファー鍵は、Ｔ３Ｐサーバ５と鍵サーバ１９の間で送信されるデータを対称的に暗号化するのに用いられる。
【００６０】
鍵サーバトランスファー鍵の生成後、Ｔ３Ｐサーバ５は鍵サーバトランスファー鍵を２つの部分に分割し、復元されたセッション鍵を用いて各部分を対称的に暗号化する（Ｓ１７）。その後、暗号化された鍵サーバトランスファー鍵の部分の１つを鍵サーバ１９のネットワークアドレスに伝達するＨＴＴＰＳ信号をＴ３Ｐサーバ５が送信する（Ｓ１９）。その後、特定のグループの電子メールアドレスの秘密鍵を受信するための鍵サーバ１９の操作者の認証が、Ｔ３Ｐサーバ５の操作者によって確認されるまで、Ｔ３Ｐサーバは待機する（Ｓ２１）。この確認は、あらかじめ定められた手続、とりわけ、連絡先情報によって特定された人物が適切に電子メールアドレスのグループと関連づけられていることの確認を含む手続に従って進められる。この確認が済むと、暗号化された鍵サーバトランスファー鍵のもう１つの部分を伝達する電子メールを、Ｔ３Ｐサーバ５が鍵サーバ１９の電子メールアドレスへ送信する（Ｓ２３）。
【００６１】
暗号化された鍵サーバトランスファー鍵の第一の部分を伝達するＨＴＴＰＳ信号を受信する（Ｓ２５）と、鍵サーバ１９は、暗号化された鍵サーバトランスファー鍵のもう１つの部分を待つ（Ｓ２７）。暗号化された鍵サーバトランスファー鍵のもう１つの部分を伝達する電子メールを受信する（Ｓ２９）と、鍵サーバ１９が鍵サーバトランスファー鍵を復元し、トランスファー鍵記憶１０９にその鍵サーバトランスファー鍵を安全に記憶する（Ｓ３１）。その後、鍵サーバ１９の秘密鍵の送信を要求する信号を、鍵サーバ１９がＴ３Ｐサーバ５に送信する（Ｓ３３）。
【００６２】
鍵サーバ１９の秘密鍵を要求する信号をＴ３Ｐサーバ５が受信する（Ｓ３５）と、現在のアクティブルート秘密鍵KGpriを用いて、鍵サーバ１９の電子メールアドレス情報に対応する秘密鍵をＴ３Ｐサーバ５が生成し、鍵サーバトランスファー鍵を用いて鍵サーバ秘密鍵を対称的に暗号化し、その後、暗号化された鍵サーバ秘密鍵を伝達するＨＴＴＰＳ信号を鍵サーバ１９に送信する（Ｓ３７）。
【００６３】
暗号化された鍵サーバ秘密鍵を伝達するＨＴＴＰＳ信号を鍵サーバが受信すると、鍵サーバ１９は鍵サーバ秘密鍵を復元し、その後、記憶データメモリ領域８９の現在鍵記憶１１１内に鍵サーバ秘密鍵を記憶する（Ｓ４１）。鍵サーバ秘密鍵を受信したので、メッセージが鍵サーバ１９から発信されたものか、メッセージが送信中に改ざんされていないかをＴ３Ｐサーバ５が検証するのを可能にするための従来のデジタル署名を、Ｔ３Ｐサーバ５へ送信されるメッセージのどれにでも鍵サーバ１９が追加することができる。この明細書においては、デジタル署名を有するメッセージを署名済みのメッセージと呼ぶ。
【００６４】
その後、鍵サーバがユーザ鍵起動サブルーチン９７を実行する（Ｓ４３）。以下、その詳細を図８Ａから８Ｃを参照して説明する。
【００６５】
ユーザ鍵起動サブルーチン９７の開始後（Ｓ５１）、全ユーザの電子メールアドレスのリストを要求する信号を鍵サーバ１９がＬＤＡＰサーバ１７へ送信する（Ｓ５３）。この要求シグナルの受信に応じて、ＬＤＡＰサーバ１７の主制御ルーチン１４１が要求処理サブルーチン１４５を起動する（Ｓ５５）。このサブルーチンは、その要求が全ユーザの電子メールアドレスのリストの要求であることを判断し、続いて、ユーザデータベース１４７に問い合わせを行って全ユーザの電子メールアドレスのリストを回収し、その後、全ユーザの電子メールアドレスのリストを伝達する信号を鍵サーバ１９に送信する（Ｓ５７）。 
【００６６】
ＬＤＡＰサーバ１７からのユーザの電子メールアドレスのリストを伝達する信号の受信後（Ｓ５９）、ＬＡＮ１のユーザのトランスファー鍵を要求する署名済みのメッセージ（これはＬＡＮ１のユーザの電子メールアドレスのリストを含む）を伝達するＨＴＴＰＳ符号化された信号を鍵サーバ１９がＴ３Ｐサーバ５へ送信する（Ｓ６１）。
【００６７】
電子メールアドレスのリストに対応するトランスファー鍵を要求するＨＴＴＰＳ信号の受信後（Ｓ６３）、Ｔ３Ｐサーバ５が各ユーザ電子メールアドレスに対するランダムなユーザトランスファー鍵を生成し、生成されたユーザトランスファー鍵をクライアントデータベース２１１に記憶する（Ｓ６５）。その後、ユーザトランスファー鍵および関連づけられた電子メールアドレスのペアを、鍵サーバトランスファー鍵を用いてＴ３Ｐサーバ５が対称的に暗号化する（Ｓ６７）。その後、暗号化されたデータを伝達するＨＴＴＰＳ信号を、Ｔ３Ｐサーバ５が鍵サーバ１９へ送信する（Ｓ６９）。
【００６８】
Ｔ３Ｐサーバ５からの信号を受信すると（Ｓ７１）、鍵サーバ１９は暗号化されたデータを復号化してユーザトランスファー鍵を復元し（Ｓ７３）、ユーザトランスファー鍵をトランスファー鍵記憶１０９に記憶する（Ｓ７５）。その後、ＬＡＮ１のユーザのユーザ秘密鍵を要求する署名済みのメッセージを伝達するＨＴＴＰＳ符号化された信号を鍵サーバ１９がＴ３Ｐサーバ５へ送信する（Ｓ７７）。
【００６９】
ユーザ秘密鍵の要求を受信すると（Ｓ７９）、秘密鍵算出サブルーチン１９９を用いて、電子メールアドレスのリスト中の各電子メールアドレスのユーザ秘密鍵をＴ３Ｐサーバ５が算出する（Ｓ８１）。その後、生成された各ユーザ秘密鍵を、そのユーザに対して対応するユーザトランスファー鍵を用いてＴ３Ｐサーバ５が対称的に暗号化し、続いて、得られた暗号化されたユーザ鍵を鍵サーバトランスファー鍵を用いて対称的に暗号化する。その後、暗号化されたユーザ秘密鍵を伝達するＨＴＴＰＳ符号化された信号を、Ｔ３Ｐサーバ５が鍵サーバ１９へ送信する（Ｓ８３）。
【００７０】
暗号化されたユーザ秘密鍵を伝達するＨＴＴＰＳ信号の受信後（Ｓ８５）、ユーザ秘密鍵を復元するため、鍵サーバトランスファー鍵および各ユーザに対応するユーザトランスファー鍵を用いて鍵サーバ１９がユーザ秘密鍵を復号化する。（Ｓ８７）。その後、記憶データメモリ領域８９の現在鍵記憶１１１内にユーザ秘密鍵を記憶する。その後、ユーザ鍵起動サブルーチン９７は終了する（Ｓ８９）。
【００７１】
図７Ｂに戻って、ユーザ鍵起動サブルーチン９７の実行後、サーバ登録サブルーチンが終了する（Ｓ４５）。
【００７２】
新規ユーザ
初期インストール後、ＬＡＮ経由のネットワーク信号として、または操作者インタフェース７３への入力として、鍵サーバ１９が新規ユーザ登録の要求を受信すると、鍵サーバ１９は新規ユーザサブルーチン９９を起動する。
【００７３】
新規ユーザのユーザトランスファー鍵に対する署名済みの要求を、新規ユーザサブルーチンがＴ３Ｐサーバ５へ送信する。要求を受信すると、Ｔ３Ｐサーバ５は、新規ユーザトランスファー鍵を生成して記憶し、その新規ユーザトランスファー鍵を鍵サーバトランスファー鍵を用いて暗号化し、その暗号化された新規ユーザトランスファー鍵を鍵サーバ１９へ送信する。暗号化された新規ユーザトランスファー鍵を受信すると、新規ユーザトランスファー鍵を鍵サーバ１９が復号化して記憶する。
【００７４】
その後、新規ユーザ秘密鍵の要求を鍵サーバ１９がＴ３Ｐサーバ１９へ送信し、Ｔ３Ｐサーバ５が秘密鍵算出サブルーチン１９９を用いて新規ユーザ秘密鍵を算出する。その後、新規ユーザトランスファー鍵および鍵サーバトランスファー鍵を用いて新規ユーザ秘密鍵をＴ３Ｐサーバ５が暗号化し、暗号化された秘密鍵を鍵サーバ１９へ送信する。
暗号化された秘密鍵を受信すると、新規ユーザトランスファー鍵および鍵サーバトランスファー鍵を用いて、鍵サーバ１９が暗号化された秘密鍵を復号化し、その復元されたユーザの秘密鍵を記憶する。
【００７５】
ルート鍵管理
当然の事ながら、ユーザ秘密鍵の安全性はルート秘密鍵KGpriが安全に保たれることに依存している。予防措置として、この実施の形態においてはルート秘密鍵KGpriは定期的に変更され、結果として全てのユーザ秘密鍵も定期的に変更される。
【００７６】
具体的には、Ｔ３Ｐサーバ５の実時間時計１７７が決めたあらかじめ定めされた時間になると、Ｔ３Ｐサーバ５の主制御ルーチン１９３がルート鍵アップデートサブルーチン１９９を起動する。そしてルート鍵アップデートサブルーチンは、アクティブなルート秘密鍵KGpriおよびルート公開鍵KGpubのペアをアクティブルート鍵記憶２０３からルート鍵アーカイブ２０７に移し、前もって生成されたルート秘密鍵KGpriとルート公開鍵KGpubのペアを将来ルート鍵記憶２０５からアクティブルート鍵記憶２０３に移し、新しいルート秘密鍵KGpriとルート公開鍵KGpubのペアを生成し、生成された鍵を将来ルート鍵記憶２０５に記憶する。この実施の形態においては、ルート鍵アップデートサブルーチン１９９は毎月の初日に起動される。
【００７７】
置き換えられたアクティブルート公開鍵KGpubとルート秘密鍵KGpriのペアをルート鍵アーカイブ２０７に記憶しておくことで、たとえ受信者が必要なユーザ秘密鍵を無くしたり、何か別の理由で必要なユーザ秘密鍵が使用できなかったりしても、それらのルート鍵がアクティブだった期間に暗号化された電子メールを復号化できるようにするために、再生されるべき元のルート鍵のペアからユーザ鍵を生成することが可能になる。
【００７８】
アクティブルート鍵が定期的にアップデートされると、定期的に新しいユーザ秘密鍵を鍵サーバ１９がダウンロードする必要がある。この実施の形態においては、鍵サーバ１９の実時間時計７７により判別される月の１０日目から２０日目の間のランダムな時間において、ＬＤＡＰサーバ１７から全ユーザの電子メールアドレスのリストを特定する鍵ダウンロードサブルーチン１０１を鍵サーバ１９の主制御ルーチン９３が起動し、その後、電子メールアドレスのリストに対する新しい秘密鍵を要求する署名済みのメッセージを伝達する信号をＴ３Ｐサーバ５へ送信する。要求の受信に応じて、Ｔ３Ｐサーバ５の主制御ルーチン１９３がルート鍵提供サブルーチン２０１を起動し、このルート鍵アップデートサブルーチン２０１が秘密鍵算出サブルーチン１９９を使って、将来ルート鍵記憶２０５内に記憶されたルート秘密鍵KGpriを用いて電子メールアドレスのリストに対応する複数の新しいユーザ秘密鍵を算出する。生成された秘密鍵は、電子メールアドレスと関連づけられたユーザトランスファー鍵を用いて対称的に暗号化され、その後、得られた暗号化されたトランスファー鍵は鍵サーバトランスファー鍵を用いて対称的に暗号化される。その後、暗号化されたユーザ秘密鍵は鍵サーバ１９に送信される。
【００７９】
暗号化された複数のユーザ秘密鍵を受信すると、鍵サーバトランスファー鍵およびユーザトランスファー鍵を用いて鍵サーバ１９が暗号化されたデータを復号化して複数のユーザ秘密鍵を復元し、その後、復元された秘密鍵を将来鍵記憶１１３に記憶する。
【００８０】
続いて、Ｔ３Ｐサーバ５がルート鍵アップデートサブルーチン２０１を起動するのと同時に、鍵サーバ１９の主制御ルーチン９３が現在ユーザ鍵記憶１１１内の現在のユーザ鍵を鍵アーカイブ１１５に移し、かつ将来鍵記憶１３３内の将来ユーザ鍵を現在ユーザ鍵記憶１１１に移す鍵アップデートサブルーチン１０３を鍵サーバ１９の主制御ルーチン９３が起動する。
【００８１】
ユーザ秘密鍵をＴ３Ｐサーバ５から鍵サーバ１９がダウンロードするときにランダムタイミングエレメント（random timing element）が取り込まれることにより、異なる鍵サーバはそれぞれ異なる時間に新しいユーザ秘密鍵を取得するので、長期的にはＴ３Ｐサーバ５の処理負荷は均一化する。
【００８２】
着信電子メールの処理
ＬＡＮ１へ着信する電子メールをゲートウェイ１３が受信したのに応じて、主制御ルーチン５５が着信電子メール処理サブルーチン５７を起動する。以下、着信電子メール処理サブルーチン５７を図９Ａと９Ｂを参照して説明する。
【００８３】
着信電子メールの受信に応じて着信電子メール処理サブルーチン５７が起動すると（Ｓ９１）、基準／規則記憶６１に規定された規則に従って、受信された電子メールに対する非コンテンツベースの検査をゲートウェイ１３が実行する（Ｓ９３）。これらの非コンテンツベースの検査は、電子メールの送信者が送信者ブラックリストに載っていないかの検査、および／またはサブジェクトヘディング（subject heading）などのヘッダ情報が既知のスパム電子メールまたはウィルスに感染した電子メールのヘッダ情報に合致しないかの検査を含む。
【００８４】
受信された電子メールが１つまたは複数の非コンテンツベースの検査に合格しないとゲートウェイ１３が判別すると（Ｓ９５）、その後、受信された電子メールはゲートウェイ１３が隔離し（Ｓ９７）、サブルーチンは終了する（Ｓ９９）。
【００８５】
受信された電子メールが非コンテンツベースの検査に合格しているとゲートウェイ１３が判別すると（Ｓ９５）、電子メールが暗号化されているかどうかゲートウェイ１３が判別する（Ｓ１０１）。電子メールが暗号化されているとゲートウェイ１３が判別すると、復号化のため鍵サーバ１９へゲートウェイ１３がその電子メールを送信する（Ｓ１０３）。暗号化された電子メールを受信すると（Ｓ１０５）、鍵サーバ１９の主制御ルーチン９３がメッセージ復号化サブルーチン１０７を実行する（Ｓ１０７）。
【００８６】
メッセージ復号化サブルーチン１０７が電子メールの受信者および電子メールの送信時間を判別し、電子メール送信の時にアクティブであった受信者の秘密鍵を探す。通常は、受信者のユーザ秘密鍵は現在ユーザ鍵記憶１１１に記憶されている。しかし、電子メール送信の時より後にユーザ秘密鍵がアップデートされることもありうる。その際には、鍵アーカイブ１１５から電子メールが送信された時にアクティブであった受信者のユーザ秘密鍵を読み出す必要がある。適切なユーザ秘密鍵が読み出された後、読み出されたユーザ秘密鍵を用いてメッセージ復号化サブルーチン１０７がメッセージを復号化する。その後、復号化されたメッセージを鍵サーバ１９がゲートウェイ１３に送信する（Ｓ１０７）。
【００８７】
受信された電子メールが暗号化されていないとゲートウェイ１３が判別するか、または鍵サーバ１９から復号化されたメッセージを受信した後に、基準／規則記憶６１に記憶された規則に従って、メッセージのコンテンツについてのコンテンツベースの検査をゲートウェイ１３が実行する（Ｓ１１３）。この実施の形態においては、これらの検査はウィルス検査およびスパム電子メールを示すコンテンツのヒューリスティック検査を含む。
【００８８】
受信された電子メールが１つまたは複数のコンテンツベースの検査に合格しないとゲートウェイ１３が判別すると（Ｓ１１５）、ゲートウェイ１３がその電子メールを隔離し（Ｓ１１７）、着信電子メール処理サブルーチン５７が終了する（Ｓ１１９）。受信された電子メールが全てのコンテンツベースの検査に合格しているとゲートウェイ１３が判別すると（Ｓ１１５）、ゲートウェイ１３がその電子メールをユーザからのアクセスを待ち受けるようメールサーバ１５へ転送して（Ｓ１２１）、着信電子メール処理サブルーチン５７が終了する（Ｓ１２３）。 
【００８９】
発信電子メールの処理
ＬＡＮ１から発信される電子メールをゲートウェイ１３が受信するのに応じて、主制御ルーチン５５が発信電子メール処理サブルーチン５９を起動する。以下、発信電子メール処理サブルーチン５９を図１０を参照して説明する。
【００９０】
発信電子メール処理サブルーチン５９が起動すると（Ｓ１３１）、基準／規則記憶６１に記憶された規則に従って、発信電子メールの検査をゲートウェイ１３が実行する（Ｓ１３３）。この実施の形態においては、これらの検査は電子メールが暗号化されるべきかどうかの検査を含む。例えば、基準／規則記憶６１は、特定の送信者からのメールは全て暗号化されなければならないという規則、または特定の受信者へのメールは全て暗号化されなければならないという規則を含む。さらに、基準／規則記憶６１は、特定の件に関する電子メールは暗号化されなければならないというような、発信電子メールのコンテンツのヒューリスティック解析に関連する規則を記憶する。
【００９１】
電子メールが暗号化される必要はないとゲートウェイ１３が判別すると（Ｓ１３５）、ゲートウェイ１３はインターネットの残りの部分に従来の方式で電子メールを渡し（Ｓ１３７）、発信電子メール処理サブルーチン５９は終了する（Ｓ１３９）。一方、１つまたは複数の検査が電子メールは暗号化されるべきであると示したとゲートウェイ１３が判別すると（Ｓ１３７）、電子メールを暗号化するため、電子メールの暗号化要求と共に鍵サーバ１９へゲートウェイ１３がその電子メールを送信する（Ｓ１４１）。
【００９２】
暗号化を要求する電子メールを受信すると（Ｓ１４３）、鍵サーバ１９がメッセージ暗号化サブルーチン１０５を実行する（Ｓ１４５）。はじめに、メッセージ暗号化サブルーチン１０５は、ランダムなセッション鍵を生成し、そのランダムなセッション鍵を用いて電子メールのメッセージ部分を対称的に暗号化して暗号化された電子メールのＤＥＭ部分を形成する。その後、メッセージ暗号化サブルーチン１０５は、電子メール送信者のユーザ公開鍵および電子メールの各受信者のユーザ公開鍵を、アクティブなルート公開鍵KGpubならびに送信者および各受信者の電子メールアドレスを用いて算出する。その後、メッセージ暗号化サブルーチン１０５は、算出された送信者のユーザ公開鍵を用いて電子メールのセッション鍵を非対称的に暗号化し、これとは独立に、算出された各受信者のユーザ公開鍵を用いてセッション鍵を非対称的に暗号化し、全ての暗号化されたセッション鍵を結合して暗号化された電子メールのＫＥＭ部分を形成する。その後、鍵サーバ１９が暗号化された電子メールをゲートウェイ１３へ送信する（Ｓ１４７）。
【００９３】
暗号化された電子メールを受信すると（Ｓ１４９）、暗号化された電子メールをゲートウェイ１３がインターネットへ送信し（Ｓ１５１）、発信電子メールサブルーチン９５が終了する（Ｓ１５３）。
【００９４】
第二の実施の形態
第一の実施の形態においては、ユーザ秘密鍵の記憶のほか、要求されるあらゆる暗号化および復号化処理を鍵サーバ１９が実行していた。この方法は、ユーザのワークステーションが従来の電子メールプログラム以外に何も必要としないため有利である。しかし、暗号化されたバージョンの電子メールがユーザのコンピュータに送られることを保証する方法も求められるであろう。例えば、インターネット上のメールサーバに記憶されているメールメッセージにユーザがアクセスしうるような場合には、暗号化された電子メールがユーザコンピュータに送られ、ユーザコンピュータが復号化を実行することが好ましい。
【００９５】
以下、図１１から１４を参照して第二の実施の形態を説明する。ここでは、ユーザのコンピュータで暗号に関する処理を実行できるよう、各ユーザコンピュータの電子メールプログラムに暗号化プラグインがインストールされる。
【００９６】
第二の実施の形態において、Ｔ３Ｐサーバは新規ユーザサブルーチンの追加を除いて第一の実施の形態のＴ３Ｐサーバと同じであり、鍵サーバは新規ユーザサブルーチン９９の変更を除いて第一の実施の形態の鍵サーバ１９と同じであり、ゲートウェイは発信電子メール処理サブルーチン５９の変更を除いて第一の実施の形態のゲートウェイ１３と同じである。
【００９７】
図１１に示すように、第二の実施の形態においては、ユーザコンピュータ２２１は、バスシステム２３３によって相互に接続されたネットワークインタフェース２２３、操作者インタフェース２２５、プロセッサ２２７、実時間時計２２９、およびメモリ２３１を有する。
【００９８】
ネットワークインタフェース２２３は、ＬＡＮ１とネットワーク信号２３５の形式でデータの入出力を行う。操作者インタフェース２２５は、操作者がユーザコンピュータ２２１にデータを入力するためのキーボード（図１１には示されていない）および操作者がユーザコンピュータ２２１が出力したデータを読むのを可能にするためのディスプレイ（図１１には示されていない）を含む。操作者インタフェース２２５は、同様に、ＣＤ−ＲＯＭ２３７に記憶されたデータをユーザコンピュータ２２１に入力したり、記録可能ＣＤ−ＲＯＭ２３７にユーザコンピュータ２２１から出力されたデータを書き込んだりできるＣＤ−ＲＯＭ読み書き装置を含む。
【００９９】
実時間時計２２９は、ユーザコンピュータ２２１が用いる時間および日付の情報を提供する。
【０１００】
プロセッサ２２７はメモリ２３１に記憶されたプログラムルーチンに従って演算処理を実行する。これらプログラムルーチンは製造中に記憶されても良いし、操作者インタフェース２２５またはネットワークインタフェース２２３を経由してユーザコンピュータ２２１に入力されても良い。プログラムルーチンは、メモリ２３１に記憶されたデータ、および操作者インタフェース２２５経由またはネットワークインタフェース２２３経由で受信したデータを処理する。
【０１０１】
第一の実施の形態におけるゲートウェイ１３のメモリ３９と同様に、メモリ２３１はデータの読み出しにあたってそれぞれが異なるアクセス時間を持つ様々な形態のメモリによって構成され、必要になりそうなデータを前もってＲＡＭにキャッシュしておくことによって処理速度を改善するように従来の処理技術が用いられる。
【０１０２】
メモリ２３１はユーザコンピュータ２２１が使用するプログラムルーチンを記憶する領
域２３９、データを記憶する領域２４１、および作業メモリとなる領域２４３を含む。
【０１０３】
具体的には、プログラムルーチンメモリ領域２３９に記憶されるプログラムは、とりわけ、以下を含む。
・オペレーティングシステム２４５
・ウェブブラウザ２４７
・暗号化プラグイン２５１を含む電子メールプログラム２４９
【０１０４】
記憶データメモリ領域２４１は、とりわけ、以下を含む。
・ユーザの詳細を提供するユーザ情報２５３
・暗号化プラグイン２５１によって用いられるデータを記憶する暗号化データ２５５
【０１０５】
図１２に示すように、暗号化プラグイン２５１は複数のルーチン、具体的には以下のルーチンを含む。
・主制御ルーチン（Master_Control routine）２６１
・暗号化プラグインインストールサブルーチン（Install_Encryption_Plug-In sub-routine）２６３
・鍵ダウンロードサブルーチン（Download_Keys sub-routine）２６５
・鍵アップデートサブルーチン（Update_Keys sub-routine）２６７
・メッセージ暗号化サブルーチン（Encrypt_Message sub-routine）２６９
・メッセージ復号化サブルーチン（Decrypt_Message sub-routine）２７１
【０１０６】
図１３に示すように、暗号化データ２５５は以下を含む。
・現在ユーザ秘密鍵記憶（current user private key store）２８１
・将来鍵記憶（future key store）２８３
・鍵アーカイブ（key archive）２８５
・プロキシサーバＩＰアドレス記憶（proxy server IP address store）２８７
・ユーザトランスファー鍵記憶（user transfer key store）２８９
【０１０７】
この実施の形態の電子メールメッセージングシステムにおいて実行される主な処理について説明する。
【０１０８】
暗号化プラグインのインストール
暗号化プラグイン２５１のインストールについて、図１４Ａから１４Ｆを参照して以下に説明する。
【０１０９】
インストール処理は、ユーザコンピュータ２２１の操作者が操作者インタフェース２２５を用いて暗号化プラグインインストールサブルーチン２６３を起動することから開始する。その後、ユーザの電子メールアドレスの入力を要求するテキスト入力ボックスをユーザコンピュータ２２１が表示する（Ｓ２０３）。その後、ユーザコンピュータはウェブブラウザ２４７を起動し、入力電子メールアドレスおよびユーザ秘密鍵を取得するための統一資源位置指定子（Uniform Resource Locator、ＵＲＬ）を要求するＨＴＴＰ信号をＴ３Ｐサーバへ送信する（Ｓ２０５）。
【０１１０】
ユーザコンピュータ２２１からの信号を受信すると（Ｓ２０７）、その電子メールアドレスが、登録された鍵サーバが秘密鍵を受信する権限を有する電子メールアドレス範囲の１つに対応しているかどうかを調べる新規ユーザサブルーチンをＴ３Ｐサーバが起動する（Ｓ２０９）。鍵サーバの１つがその電子メールアドレスのユーザ秘密鍵を受信する権限を有していると判断されると、鍵サーバのＵＲＬ、鍵サーバの電子メールアドレス、およびアクティブなルート公開鍵を含む署名済みのメッセージを伝達するＨＴＴＰＳ符号化された信号をＴ３Ｐサーバが送信する（Ｓ２１１）。ユーザの電子メールアドレスに対応するユーザ秘密鍵を受信する権限を有する鍵サーバが存在しないときには、Ｔ３ＰサーバはＴ３Ｐサーバ自身のＵＲＬを送信する。
【０１１１】
Ｔ３Ｐサーバからの信号を受信すると（Ｓ２１３）、ユーザコンピュータ２２１は鍵サーバのＵＲＬをプロキシサーバＩＰアドレス記憶２８７に記憶する。その後、受信された鍵サーバの電子メールアドレスおよびルート公開鍵KGpubを用いて鍵サーバの公開鍵をユーザコンピュータ２２１が算出する。その後、ユーザコンピュータ２２１がランダムなセッション鍵を生成し、生成されたセッション鍵を鍵サーバ公開鍵を用いて非対称的に暗号化し、続いて、ユーザ秘密鍵の要求と、暗号化されたセッション鍵データおよびユーザ情報を提供するトークンとを含むメッセージを伝達するＨＴＴＰＳ符号化された信号をリダイレクトＵＲＬへ送信する（Ｓ２１５）。
【０１１２】
ユーザ秘密鍵を要求する信号を受信すると（Ｓ２１７）、暗号化されたデータを鍵サーバの秘密鍵を用いて鍵サーバが復号化してセッション鍵を復元する。その後、ユーザのユーザトランスファー鍵を要求する署名済みのメッセージを伝達するＨＴＴＰＳ符号化された信号をＴ３Ｐサーバへ鍵サーバが送信する（Ｓ２１９）。
【０１１３】
鍵サーバからのユーザトランスファー鍵要求を受信すると（Ｓ２２１）、Ｔ３Ｐサーバはデジタル署名を用いて鍵サーバのアイデンティティ（identity）を検証し、ユーザの電子メールアドレスに対応するユーザ秘密鍵を鍵サーバが受信する権限を有することも同様に検証する。鍵サーバの証明書（credentials）が検証されると、Ｔ３Ｐサーバがランダムなユーザトランスファー鍵を生成し、鍵サーバトランスファー鍵を用いてユーザトランスファー鍵を対称的に暗号化し、暗号化されたユーザトランスファー鍵を鍵サーバに伝達する署名済みのメッセージを送信する（Ｓ２２３）。
【０１１４】
暗号化されたユーザトランスファー鍵を受信すると（Ｓ２２５）、鍵サーバは暗号化されたデータを復号化してユーザトランスファー鍵を復元し、そのユーザトランスファー鍵をトランスファー鍵記憶に記憶する。その後、ユーザ秘密鍵を要求する署名済みのメッセージを伝達するＨＴＴＰＳ信号を鍵サーバがＴ３Ｐサーバへ送信する（Ｓ２２７）。
【０１１５】
ユーザ秘密鍵の要求を受信すると（Ｓ２２９）、アクティブなルート秘密鍵KGpriを用いてＴ３Ｐサーバがユーザ秘密鍵を算出する（Ｓ２３１）。算出されたユーザ秘密鍵は、ユーザトランスファー鍵および鍵サーバトランスファー鍵を用いてＴ３Ｐサーバが対称的に暗号化する。その後、暗号化されたユーザ秘密鍵はＴ３Ｐサーバが鍵サーバへ送信する（Ｓ２３３）。
【０１１６】
暗号化されたユーザ秘密鍵を受信すると（Ｓ２３５）、鍵サーバトランスファー鍵およびユーザトランスファー鍵を用いて、鍵サーバが暗号化されたデータを復号化してユーザ秘密鍵を復元する。その後、ＬＤＡＰサーバへトークンの妥当性を検査する要求を鍵サーバが送信する（Ｓ２３７）。トークンを検証する要求を受信すると（Ｓ２３９）、ユーザ秘密鍵と対応する電子メールアドレスを有し現在ＬＡＮ１にログオンしているユーザとトークンとの整合性が取れているかを検査するトークン検査サブルーチン１４３をＬＤＡＰサーバが起動し（Ｓ２４１）、妥当性検査の結果を鍵サーバへ送信する（Ｓ２４３）。
【０１１７】
トークン妥当性検査の結果を受信すると（Ｓ２４５）、トークンの妥当性はＬＤＡＰサーバにより確認されたのか否かを鍵サーバが判別する（Ｓ２４７）。トークンの妥当性が確認されると、セッション鍵を用いてユーザトランスファー鍵を鍵サーバが対称的に暗号化し、暗号化されたユーザトランスファー鍵を伝達するＨＴＴＰＳ信号をユーザコンピュータ２２１へ送信する（Ｓ２４９）。
【０１１８】
暗号化されたユーザトランスファー鍵を受信すると（Ｓ２５１）、暗号化されたデータはユーザコンピュータ２２１が復号化してユーザトランスファー鍵を復元し、復元されたユーザトランスファー鍵を現在ユーザトランスファー鍵記憶２８９に記憶する。その後、ユーザ秘密鍵の要求をユーザコンピュータが送信する（Ｓ２５３）。ユーザ秘密鍵の要求を受信すると（Ｓ２５５）、ユーザトランスファー鍵を用いてユーザ秘密鍵を鍵サーバが対称的に暗号化し、暗号化されたユーザ秘密鍵をユーザコンピュータ２２１へ送信する（Ｓ２５７）。暗号化された秘密鍵を受信すると（Ｓ２５９）、ユーザトランスファー鍵を用いて暗号化されたデータをユーザコンピュータ２２１が復号化してユーザ秘密鍵を復元し、現在ユーザ秘密鍵記憶２５１にユーザ秘密鍵を記憶する。その後、暗号化プラグインインストールサブルーチンが終了する（Ｓ２６１）。
【０１１９】
トークンは認証されなかったと鍵サーバが判別すると（例えば、ＬＤＡＰサーバが何らかの理由でオフラインだったため）、鍵サーバは、ユーザコンピュータの操作者が実際にユーザ秘密鍵に対応する電子メールアドレスを使用する権利を有していることを確認する必要がある。これは、第一の実施の形態においてＴ３Ｐサーバが鍵サーバトランスファー鍵を鍵サーバへ送信したのと同様の方法で、ユーザトランスファー鍵をユーザに送信することで確認される。
【０１２０】
具体的には、鍵サーバがユーザトランスファー鍵を２つの部分に分割し、セッション鍵を用いて各部分を対称的に暗号化する（Ｓ２６３）。その後、暗号化されたトランスファー鍵の部分の１つをユーザコンピュータ２２１のネットワークアドレスに伝達するＨＴＴＰＳ信号を鍵サーバが送信する（Ｓ２６５）。暗号化されたトランスファー鍵の第一の部分を受信すると（Ｓ２６７）、ユーザコンピュータ２２１は暗号化されたトランスファー鍵のもう１つの部分を伝達する電子メールを待つ（Ｓ２６９）。その間に、暗号化されたトランスファー鍵のもう１つの部分を伝達する電子メールを、ユーザ秘密鍵に対応する電子メールアドレスへ鍵サーバが送信する（Ｓ２７１）。この電子メールを受信すると（Ｓ２７３）、暗号化された部分トランスファー鍵の両方のセットをユーザコンピュータがセッション鍵を用いて復号化し、ユーザトランスファー鍵を復元する（Ｓ２７５）。
【０１２１】
その後、ユーザ秘密鍵を要求する信号をユーザコンピュータ２２１が鍵サーバへ送信する（Ｓ２７７）。この要求を受信すると（Ｓ２７９）、ユーザトランスファー鍵を用いてユーザ秘密鍵を鍵サーバが対称的に暗号化し、暗号化されたデータをユーザコンピュータ２２１へ送信する（Ｓ２８１）。暗号化されたデータを受信すると（Ｓ２８３）、ユーザコンピュータ２２１が暗号化されたデータを復号化してユーザ秘密鍵を復元し（Ｓ２８５）、現在ユーザ秘密鍵記憶２８１にユーザ秘密鍵を記憶する。その後、暗号化プラグインインストールサブルーチンが終了する（Ｓ２８７）。
【０１２２】
鍵管理 
インストール後、鍵ダウンロードサブルーチン２６５を用いて鍵サーバから新しいユーザ秘密鍵をユーザコンピュータ２２１がダウンロードし、鍵アップデートサブルーチン２６７を用いてアクティブな鍵をアップデートする。具体的には、鍵サーバが新しいユーザ秘密鍵をダウンロードする期間の終わりと鍵サーバがアクティブな鍵をアップデートするタイミングの間の、実時間時計２２９により判別されるランダムなタイミングで鍵ダウンロードサブルーチン２６５が実行され、ダウンロードされたユーザ秘密鍵は将来鍵記憶２８３に保存される。Ｔ３Ｐサーバがルート鍵をアップデートするタイミングと同時に鍵アップデートサブルーチン２６７が起動される。鍵アップデートサブルーチン２６７は現在ユーザ秘密鍵を現在ユーザ鍵記憶２８１から鍵アーカイブ２８５へ移動させ、新しいユーザ秘密鍵を将来鍵記憶から現在秘密鍵記憶へ移動する。
【０１２３】
電子メールの送信
この実施の形態においては、ユーザコンピュータの操作者は電子メールを暗号化するかどうかの決定を選択することができる。具体的には、電子メールプログラムのツールバーは、操作者が電子メールを秘密にする際に選択しうる選択肢ボタンを含む。
【０１２４】
操作者が電子メールを秘密にすることを選択すると、受信者電子メールアドレスおよびルート公開鍵KGpubを用いて各受信者のユーザ公開鍵を算出するメッセージ暗号化サブルーチン２６９が起動され、このサブルーチンが前述のＫＥＭ−ＤＥＭを用いて暗号化された電子メールを生成する。具体的には、暗号化されたメッセージは、ランダムなセッション鍵を用いて対称的に暗号化されたメッセージを伝達するＤＥＭ部分、ならびに送信者および各受信者の公開鍵を用いて非対称的に暗号化されたセッション鍵に対応する一連の暗号化されたセッション鍵を伝達するＫＥＭ部分を備える。
【０１２５】
この実施の形態においては、発信する暗号化された電子メールがゲートウェイ１３に受信されると、発信電子メール処理サブルーチンが修正されて、暗号化された電子メールを認識しキャッシュして、鍵サーバへ暗号化された電子メールのコピーを復号化のため自動的に渡す。鍵サーバは暗号化された電子メールを復号化することができる。なぜなら、鍵サーバは、送信者のユーザ秘密鍵を用いてＫＥＭ部分からセッション鍵を復元し、その復元されたセッション鍵を用いてＤＥＭ部分を復号化することができるからである。その後、復号化された電子メールをコンテンツベースの検査のため鍵サーバがゲートウェイに送信する。電子メールがコンテンツベースの検査に合格すると、キャッシュされた暗号化された電子メールはインターネットに渡され、そうでなければキャッシュされた暗号化された電子メールは隔離される。
【０１２６】
電子メールの受信
この実施の形態においては、着信電子メールがゲートウェイ１３に受信されると、第一の実施の形態と同様の方法で非コンテンツベースおよびコンテンツベースの検査が実行される。けれども、この実施の形態においては、受信された暗号化された電子メールのコピーはゲートウェイ１３によってキャッシュされ、暗号化された電子メールがコンテンツベースおよび非コンテンツベースの検査を通過した場合にキャッシュされた暗号化された電子メールはユーザへ伝達されるためにメールサーバ１５に渡される。暗号化された電子メールを受信すると、ユーザ秘密鍵を用いて受信された電子メールを復号化するメッセージ復号化サブルーチン２７１をユーザコンピュータが実行する。
【０１２７】
修正及び他の実施の形態
前述の実施の形態においては、Ｔ３Ｐサーバはルート秘密鍵およびルート公開鍵のペアを生成する。これらの鍵があらかじめ定められていなくてもよいように、この生成には何らかの乱数生成を必要とする。いったんルート秘密鍵を生成したなら、ルート秘密鍵および何らかのユーザ識別子からユーザ秘密鍵を算出してもよい。同様に、いったんルート公開鍵が生成したなら、ルート公開鍵および何らかのユーザ識別子からユーザ公開鍵を算出してもよい。具体的には、ユーザの秘密鍵および公開鍵の算出にはいかなる乱数生成も必要なく、いつどこで実行されても毎回同一の算出結果を再現することが可能である。
【０１２８】
前述の実施の形態においては、ユーザの電子メールアドレスがユーザ識別子として用いられる。他の種類の識別子も用いうるが、電子メールメッセージを受信者へ送信するために、送信者は常に受信者の電子メールアドレスを知っているので、電子メールアドレスが便利である。
【０１２９】
前述したように、受信者の電子メールアドレスおよびルート公開鍵を用いて受信者の公開鍵を送信者が算出しうる。したがって、通常、ルート公開鍵の信頼性を従来技術により確認するための情報を含む公開鍵証明書の一部にルート公開鍵そのものが含まれてしまうとはいえ、受信者の公開鍵の信頼性を証明すること（例えば公開鍵証明書によって）は必要ない。受信者がＴ３Ｐサーバに登録されていないにも関わらず、送信者が暗号化された電子メールを受信者に送信できることは注目に値する。この場合には、暗号化されたメッセージを復号化するのに用いるユーザ秘密鍵を取得するため受信者に必要なのはＴ３Ｐサーバへの登録だけである。
【０１３０】
前述の実施の形態においては、ＷＯ０３／０１７５５９号公報に述べられた非対称暗号化アルゴリズムが用いられる。当然の事ながら、全体として同様の機能を有する他のアルゴリズムが用いられうる。例えば、"ID based cryptosystems with pairing on elliptic curve" by R. Sakai and M. Kasahara, Cryptology ePrint archive, Report 2003/054に述べられたアルゴリズム、および"An Efficient ID-KEM Based On the Sakai-Kasahara Key Construction" by Chen et al , Cryptology ePrint archive, Report 2005/224に述べられたアルゴリズムが用いられうる（ここに両刊行物を参照することによりその内容を本明細書の一部とする）。
【０１３１】
さらに、非対称暗号化アルゴリズムはクライアントの本人証明（identity）を用いてクライアントの公開鍵を判別する必要はなく、また、任意の非対称暗号化アルゴリズム、たとえばＲＳＡアルゴリズムが用いられうる。
【０１３２】
前述の実施の形態においては、各受信者がそれぞれの秘密鍵を用いて電子メールを復号化できるよう、各受信者の公開鍵を用いて電子メールが暗号化される。この方法においては、目的とする受信者のみが電子メールを復号化しうる。当然のことながら、代わりに、あるいは追加的に、 電子メールは送信者の秘密鍵を用いて署名されてもよい。この方法においては、送信者から電子メールが送信されていること、電子メールが改竄されていないことを各受信者が検証しうる。
【０１３３】
前述の実施の形態においては、対称的な暗号化はＡＥＳ暗号化アルゴリズムを用いて実行されるが、当然の事ながら他の対称的な暗号化アルゴリズム、たとえばＤＥＳアルゴリズムが用いられうる。
【０１３４】
第一の実施の形態においては、ネットワークに接続された鍵サーバは、ローカルエリアネットワークに接続するユーザのグループのための暗号装置としての機能を果たす。第二の実施の形態においては、鍵サーバは、ローカルエリアネットワークのユーザがＴ３Ｐサーバから情報をダウンロードするのを容易にするためのプロキシサーバとしての機能を果たす。
【０１３５】
両方の実施の形態において、電子メールのウィルス予防を目的として、ＬＡＮに着信する暗号化された電子メールを監視するのに鍵サーバが用いられるが、第二の実施の形態においては、電子メールのウィルス予防を目的として、ＬＡＮから発信する電子メールを監視するのにも鍵サーバが用いられる。これらのような処理は好ましいが、必須ではない。
【０１３６】
前述の実施の形態においては、鍵サーバが新しいネットワークユーザの秘密鍵を要求すると、鍵サーバはまずＬＤＡＰサーバに問い合わせてネットワークの全ユーザの詳細を入手し、その後ネットワークの全ユーザの秘密鍵を要求する。あるいは、Ｔ３Ｐサーバの処理負荷およびネットワークのトラフィックの量を減らすために、暗号サービスを必要とするユーザのレコードを鍵サーバが持ち、それらユーザの新しい秘密鍵のみを鍵サーバが要求するとすることも可能である。後にユーザが、そのユーザの秘密鍵を記憶していない鍵サーバに対して暗号サービスを要求した場合には、鍵サーバは適切なユーザ秘密鍵の要求をＴ３Ｐサーバへ送信するだけでよい。
【０１３７】
第一の実施の形態においては、ＬＤＡＰサーバからＬＡＮのユーザの詳細を鍵サーバが取得する。しかし、その情報がＬＡＮの別の箇所に記憶されているときはＬＤＡＰサーバからユーザの詳細を取得することができない。
【０１３８】
第二の実施の形態においては、ローカルエリアネットワークのユーザと、暗号機関によって操作されるＴ３Ｐサーバの間に、１つの鍵サーバが配置される。もしくは、Ｔ３Ｐサーバが第１レベルのグループの鍵サーバに暗号鍵を提供し、第１レベルの各サーバは１つまたは複数の第２層の鍵サーバに暗号鍵を提供し、同様に下位層へ暗号鍵が順次提供され、一番下の層の鍵サーバが暗号鍵をネットワークユーザに提供するように、Ｔ３Ｐサーバとネットワークユーザの間に鍵サーバの階層を配置してもよい。
【０１３９】
第二の実施の形態においては、鍵サーバは、ユーザの要求に応じてＬＡＮのユーザの暗号鍵をただダウンロードするだけである。代わりに、ユーザの要求を受信してすぐに暗号鍵を鍵サーバが提供できるよう、全てあるいは一部のＬＡＮのユーザの暗号鍵を鍵サーバが自動的にダウンロードすることもできる。
【０１４０】
前述の実施の形態においては、鍵サーバ、ＬＤＡＰサーバ、ゲートウェイおよびメールサーバはＬＡＮに接続された別々の構成要素である。代わりに、ＬＡＮに接続された１つの装置にこれらの構成要素の２以上の機能を組み込んでもよい。
【０１４１】
前述の実施の形態においては、鍵サーバはローカルエリアネットワークに接続され、ローカルエリアネットワークのユーザに対してＴ３Ｐサーバの代理をするが、必ずしもこのようにしなくてもよい。例えば、地理的に分離した複数の場所に広がった内部コンピュータシステムを有する大企業では考えられることだが、その複数のユーザが、相互に接続された２つ以上のローカルエリアネットワークからなる広域ネットワークのユーザであってもよい。
【０１４２】
前述の実施の形態においては、ゲートウェイが着信および発信電子メールの非コンテンツベースの検査を実行し、電子メールが非コンテンツベースの検査に合格するとゲートウェイコンテンツベースの検査を実行する。別の実施の形態として、非コンテンツベースの検査が規則に従っているか（例えば、受信者が特定の受信者であるか)を特定して、コンテンツベースの検査を回避することも可能である。
【０１４３】
上記の実施の形態において、信頼できる第三者機関サーバ９はルート秘密鍵を記憶し、クライアントの本人証明（identity）およびルート秘密鍵を用いてクライアントの秘密鍵を算出する。しかし、必要なのは信頼できる第三者機関サーバ９がクライアント秘密鍵にアクセスできることだけである。したがって、別の実施の形態として、信頼できる第三者機関サーバ９が直接各クライアントの秘密鍵を記憶してもよいし、また別の装置から目的のクライアントの秘密鍵にアクセスしてもよい。
【０１４４】
前述の実施の形態において、ネットワーク信号はｈｔｔｐまたはｈｔｔｐｓ信号としてシステムの構成要素のネットワークアドレスに送信される。これらのネットワークアドレスは静的でも動的でもありうると理解される。さらに、ｈｔｔｐまたはｈｔｔｐｓ以外のプロトコルも用いられうると理解される。
【０１４５】
上記の実施の形態では、ワークステーションおよびユーザコンピュータは標準的なパーソナルコンピュータである。他の種類のコンピュータ、例えばシンクライアントまたは携帯情報端末（ＰＤＡ）を当該パーソナルコンピュータとして用いてもよいと理解される。
【０１４６】
前述の本発明の実施の形態はコンピュータ装置とコンピュータ装置によって実行される処理を有するが、本発明の範囲は、発明を実現するために適合させられたコンピュータプログラム、具体的には搬送体上のもしくは搬送体内のコンピュータプログラムにまで及ぶ。このプログラムは、ソースコード、オブジェクトコード、部分的にコンパイルされた形態のようなソースコードとオブジェクトコードの中間的なコード、または本発明の処理を実施するのに適した他のあらゆる形態でありうる。
【０１４７】
この搬送体はプログラムを搬送し得るいかなる実在物（entity）または装置であってもよい。例えばこの搬送体は、ＲＯＭ（例えばＣＤ−ＲＯＭまたは半導体ＲＯＭ）のような記憶媒体、または磁気記録媒体（例えばフロッピー（登録商標）ディスクまたはハードディスク）であってもよい。さらにこの搬送体は、電気的光学的信号を、電気的もしくは光学的なケーブルまたは無線もしくはその他の手段によって伝達しうる伝送性の搬送体であってもよい。
【０１４８】
ケーブル、その他の装置または手段によって直接的に伝達されうる信号でプログラムが具体化されるなら、その搬送体は当該ケーブル、その他の装置または手段によって構成されてもよい。また、その搬送体はこのプログラムが組み込まれた集積回路でもよく、この集積回路は関連する処理の実行のために、または関連する処理での使用のために適合化される。
【０１４９】
前述の実施の形態においては本発明はソフトウェアを用いて実施されるが、当然の事ながら代わりにハードウェア装置、またはハードウェア装置およびソフトウェアの組合せを用いて実施してもよい。
【図面の簡単な説明】
【０１５０】
【図１】本発明による電子メールメッセージングシステムの主な構成要素を概略的に示している。
【図２】図１に示された電子メールメッセージングシステムの一部をなすローカルエリアネットワークに接続されたゲートウェイの主な構成要素を概略的に示している。
【図３】図１に示された電子メールメッセージングシステムの一部をなすローカルエリアネットワークに接続された鍵サーバの主な構成要素を概略的に示している。
【図４】図１に示された電子メールメッセージングシステムの一部をなすローカルエリアネットワークに接続されたＬＤＡＰサーバの主な構成要素を概略的に示している。
【図５】図４に示されたＬＤＡＰサーバの一部をなすユーザデータベースに記憶されるユーザのデータを概略的に示している。
【図６】図１に示された電子メールメッセージングシステムの一部をなす、信頼できる第三者機関サーバの主な構成要素を概略的に示している。
【図７Ａ】鍵サーバと信頼できる第三者機関サーバが実行する鍵サーバ登録処理を概略的に示すフローチャートの一部である。
【図７Ｂ】図７Ａの続きである。
【図８Ａ】鍵サーバ、信頼できる第三者機関サーバ、およびＬＤＡＰサーバが実行する、信頼できる第三者機関サーバからユーザ秘密鍵の初期セットを鍵サーバがダウンロードする処理を概略的に示すフローチャートの一部である。
【図８Ｂ】図８Ａの続きである。
【図８Ｃ】図８Ｂの続きである。
【図９Ａ】ローカルエリアネットワークに着信した電子メールをゲートウェイが受信したのに応じて、ゲートウェイと鍵サーバが実行する処理を概略的に示すフローチャートの一部である。
【図９Ｂ】図９Ａの続きである。
【図１０】ローカルエリアネットワークから発信されるメールをゲートウェイが受信したのに応じて、ゲートウェイと鍵サーバが実行する処理を概略的に示すフローチャートである。
【図１１】図１に示された電子メールメッセージングシステムとは別の電子メールメッセージングシステムのユーザコンピュータの主な構成要素を概略的に示している。
【図１２】図１１に示されたユーザコンピュータ内に記憶された電子メールプログラムに対する暗号化プラグインと関連づけられた主要なソフトウェアルーチンを概略的に示している。
【図１３】図１１に示されたユーザコンピュータ内に記憶された暗号化プラグインと関連づけられたデータを概略的に示している。
【図１４Ａ】ユーザがユーザコンピュータに暗号化プラグインソフトウェアをインストールする時に、ユーザコンピュータ、鍵サーバ、信頼できる第三者機関サーバ、およびＬＤＡＰサーバが実行する処理を概略的に示すフローチャートの一部である。
【図１４Ｂ】図１４Ａの続きである。
【図１４Ｃ】図１４Ｂの続きである。
【図１４Ｄ】図１４Ｃの続きである。
【図１４Ｅ】図１４Ｄの続きである。
【図１４Ｆ】図１４Ｅの続きである。
【図１】
2009531916.tif 000005
【図２】
2009531916.tif 000006
【図３】
2009531916.tif 000007
【図４】
2009531916.tif 000008
【図５】
2009531916.tif 000009
【図６】
2009531916.tif 000010
【図７Ａ】
2009531916.tif 000011
【図７Ｂ】
2009531916.tif 000012
【図８Ａ】
2009531916.tif 000013
【図８Ｂ】
2009531916.tif 000014
【図８Ｃ】
2009531916.tif 000015
【図９Ａ】
2009531916.tif 000016
【図９Ｂ】
2009531916.tif 000017
【図１０】
2009531916.tif 000018
【図１１】
2009531916.tif 000019
【図１２】
2009531916.tif 000020
【図１３】
2009531916.tif 000021
【図１４Ａ】
2009531916.tif 000022
【図１４Ｂ】
2009531916.tif 000023
【図１４Ｃ】
2009531916.tif 000024
【図１４Ｄ】
2009531916.tif 000025
【図１４Ｅ】
2009531916.tif 000026
【図１４Ｆ】
2009531916.tif 000027
【国際調査報告】
2009531916.tif 000028
2009531916.tif 000029