明 細 書
クライアント装置、メールシステム、プログラム及び記録媒体
技術分野
[0001] 本発明は、通信におけるセキュリティを重視したクライアント装置とメールシステム、 特に、インターネット上でのデータの「漏洩」及び「改竄」さらには「なりすまし」、「進入 」ないし「攻撃」などの不正妨害に対して極めて強レ、クライアント装置とメールシステム 、及びそれを実現するためのコンピュータプログラムに関する。
背景技術
[0002] 近年、インターネットを利用した通信は、パソコンさえあれば、それをネットワークに 接続するだけで、誰でもネットワーク上のコンピュータにアクセスできるため、社会の 中で急速に普及拡大している。一方、このインターネット通信の普及拡大に伴って、 ハッカー (hacker)やクラッカー(Cracker)が他人のコンピュータシステムに侵入して、ソ フトウェアやデータを盗み見たり、改竄や破壊を行ったりするという社会問題も大きく なっている。
[0003] 具体的な不正妨害のケースとしては、まず第 1に、中心的なシステムが使えなくなる ように、ネットワークから大量のメッセージを送りつけコンピュータシステムの運用を妨 害するシステム妨害がある。この妨害によってホストが過負荷になるとシステムダウン に陥ってしまうことも起こりうる。
[0004] また、ホストのパスワードを入手し、機密情報を盗んだり、情報の改竄や破壊を行つ たりする「不正アクセスとなりすまし」の不正妨害がある。この妨害にはコンピュータが 保有する情報を勝手に書き換え、人を陥れる卑劣のものもある。また、特定のバソコ ンに忍び込み、メールアドレスやパスワードなど個人の機密データを搾取するスパイ ウェアといわれる不正行為も発生している。このようにネットワークに接続したコンビュ ータが持つデータベースの内容を不正に盗み見る、いわゆる盗聴行為も頻繁に行わ れてレ、る可能性も否定できなレ、。
[0005] また、サイト若しくはサーバの運営元で、意図的に個人情報を盗むといった行為や 、社内に潜むスパイなどによるサイバーテロ(Cyber terrorism)といった危機も全くな
いとはレ、えなレ、状況である。
[0006] さらに、他人のコンピュータにコンピュータ障害をもたらすプログラムである「ウィルス 」を送り込むという不正妨害が最近多くなつている。この送り込まれたウィルスに、メー ルなどを自宅で使用したパソコンが感染し、それを社内に接続した瞬間に社内のパ ソコン全体が感染したり、ウィルスがコンピュータの中のファイルを破壊させたり、更に は、ネットワーク全体をダウンさせたりするといつた問題も生じている。
[0007] このため、従来の TCP/IP (Transmission Control Protocol/Internet Protocol)や UDP (User Datagram Protocol)を利用したインターネット上での通信において、デー タの「漏洩」「改竄」等を防ぐ機能として、 IPsec (アイピーセック: Security Architecture for Internet Protocol)や SSL (Secure Socket Layer)といわれる暗号化通信が利用 されている。
[0008] IPsecの特徴は、単に特定のアプリケーションだけを暗号化するのではなぐホスト 力 送信されるあらゆる通信を IPレベルで暗号化する点にある。これによりユーザは アプリケーションを意識することなく安全な通信を可能とすることができる。また、 IPse cは、将来にわたって使えるように、それ自体の仕組みを変えることなく使用する暗号 アルゴリズムを変更することを可能としてレ、る。
[0009] また、 SSLを禾 IJ用することにより、クライアントとサーバは、ネットワーク上でお互いを 認証できるようになり、クレジットカード情報などの機密性の高い情報を喑号ィ匕してや り取りすることが可能となる。これにより、データの盗聴、再送攻撃 (ネットワーク上に流 れたデータを盗聴して何度も繰り返して送ってくる攻撃)、なりすまし (本人の振りをし て通信する)、データの改竄などを防止することができる。
[0010] 本発明に用いられる喑号ィ匕通信では、トランスポート層(〇SIの第 4層)にある TCP 層に暗号化機能を追加している。このトランスポート層は、各ノード上で実行されてい る 2つのプロセス間で、エラーのない、仮想的な通信路を実現するためのプロトコノレ 層である。ネットワーク層ではデータを送ることはできる力 そのデータが確実に相手 に届くという保証はない。また、送信した順に正しくデータが届くという保証もなレ、。そ こで、アプリケーションにとって使いやすくするために、エラーのない通信路を提供す るのがトランスポート層である。この第 4層のトランスポート層に喑号ィ匕機能を追加して
、外部からの不正侵入に強い通信システムを実現した例は、本発明者らが世界に先 駆けて提案したものであり、本発明者らはこの喑号ィ匕通信システムを「TCP2」と命名 している(特許文献 1参照)。
[0011] 特許文献 1:国際公開 WO2005/015827号パンフレット
発明の開示
[0012] しかしながら、特許文献 1に記載の発明は、 TCP2を利用した一般的な暗号化通信 システム、通信方法、通信装置及び通信プログラムにとどまり、この TCP2を搭載した メールシステムはレ、まだに実現されてレヽなレ、。
本発明の目的は、発明者らが先に提案した「TCP2」を利用した通信システムを用 レ、て、喑号ィ匕機能を付加したメールシステムとそれを実現するプログラムを提供する ことにある。
すなわち、電子メールの送信側クライアントと受信側クライアントに TCP2を実装し、 End-to-Endで喑号化された電子メールの送受信を可能とする電子メールシステム及 びそのプログラムを提供することである。
[0013] 前記課題を解決し、本発明の目的を達成するため、本発明のメールシステムに用 レ、られるクライアント装置は、ネットワークに接続され、複数のクアイアント装置間でメ ールの通信を行う既存のメーラを備えたクライアント装置であって、既存のメーラの外 に、 TCP2コアとメールシステムコアを備えた TCP2ドライバと、 TCP2メールシステム アプリケーション部を備えており、上記 TCP2コアは、既存のメーラあるいは SMTP又 は POP3のプロトコルから送られる電子メールのパケットを認識し、メールシステムコ ァに送信する手段を有し、メールシステムコアは、送受信されるメールの暗号化また は復号化する手段と、他のクライアント装置との鍵交換を行う手段と、 POP3の IPアド レスとポート、及び SMTPの IPアドレスとポートを保存する手段と、ユーザ ID 'パスヮ ード及び送信元及び送信先メールアドレスを保存する手段と、前記鍵交換により作 成した鍵を保存する手段と、暗号メール、 HTML形式メール、あるいは添付フアイノレ を選択して削除する手段とを有し、 TCP2メールアプリケーション部は、メールシステ ムコアから送られる電子メールに関連する鍵状態の表示を行うとともに、該電子メー ルの暗号化あるいは非暗号化状態、メール形式、及び添付ファイル、送信元メール
アドレスの一覧表示を行う手段と、前記既存メーラで受信した暗号メールを平文で表 示する手段とを有しており、ネットワークを通して受信された電子メールは、 TCP2ドラ ィバによって選別処理された後に既存のメーラに供給されるとともに、既存のメーラか らネットワークを介して他のクライアント装置に送信されるメールは、 TCP2ドライバで 送信先の他のクライアント装置を確認した後に送信されるように設定されていることを 特徴とする。
[0014] また、本発明のメールシステムは、ネットワークに接続され、既存のメーラを備えた 複数のクライアント装置間でメールの通信を行うメールシステムであって、クライアント 装置には、既存のメール手段に加えて、 TCP2コアとメールシステムコアを備えた TC P2ドライバと、 TCP2メールアプリケーション部が設けられており、 TCP2ドライバの T CP2コアは、既存のメール手段あるいはネットワークに接続されメールサーバの SM TP又は POP3のプロトコルから送られる電子メールのパケットをメールシステムコアに 送信するように構成され、メールシステムコアは、送受信されるメールの暗号化または 復号化を行い、送信相手との鍵交換を行い、 POP3の IPアドレスとポート番号及び前 記 SMTPの IPアドレスとポート番号、ユーザ ID ·パスワード及び送信元及び送信先メ ールアドレス、前記鍵交換により作成した鍵を記憶メディアに保存し、受信した電子メ ールを選択的に削除するように構成されている。そして、 TCP2メールシステムアプリ ケーシヨン部は、メールシステムコアから送られる電子メールに関して、鍵状態の表示 を行うとともに、送受信したメールの一覧表示と、前記既存メーラで受信した喑号メ一 ルの平文表示を行うことを特徴としている。
[0015] また、本発明のメールシステムに用いられるメール通信プログラムは、互いに通信を 行うそれぞれのクライアント装置コンピュータに、既存のメール機能以外に、 TCP2コ ァ、メールシステムコア及び TCP2メールアプリケーションの 3つの機能を有する TCP 2メールシステム機能を実装しており、この TCP2コアの機能は、既存のメーラあるい はネットワークに接続されメールサーバの SMTP又は POP3のプロトコルから送られ る電子メールのパケットを認識してメールシステムコアに送信する機能を持っている。 また、メールシステムコアの機能は、送受信されるメールの暗号化または復号化を行 レ、、送信相手との鍵交換を行い、 POP3の IPアドレスとポート番号及び SMTPの IP
アドレスとポート番号、ユーザ ID .パスワード及び送信元及び送信先メールアドレス、 前記鍵交換により作成した鍵を記憶メディアに保存するとともに、受信した電子メー ルを選択的に削除する機能を有している。さらに、 TCP2メールシステムアプリケーシ ヨンの機能は、メールシステムコアから送られる電子メールに関して、鍵状態の表示を 行うとともに、送受信したメールの一覧表示と、前記既存メーラで受信した暗号メール の平文表示を行う機能を有する。本発明のメール通信プログラムは、これらの各機能 をクライアント装置コンピュータに実現させるものである。また、本発明はこのメール通 信プログラムを記録した記録媒体もその実施の形態に含めている。
[0016] 本発明のメールシステムによれば、 TCP2機能を使用して、電子メールのタイトル、 本文及び添付ファイルのパケットを暗号化/復号化できるので、他人に知られること なぐ権限のあるものだけが電子メールの内容を知ることができるようになる。
また、メール送受信プロトコル(SMTP, POP3コマンド)並びにメールヘッダ終了子 、 MIME識別子は平文のままになっているので、クライアント装置で利用しているメー ルアプリケーションあるいはメールサーバが既存のまま利用できるという効果がある。 図面の簡単な説明
[0017] [図 1]本発明のメールシステムに用いられる TCP2のプロトコルスタックを示す図であ る。
[図 2]本発明のメールシステムに用いられるメッセージパケットの構造を示す図である
[図 3]本発明のクライアント装置における TCP2メールシステムのブロック構成図であ る。
[図 4]本発明のメールシステムの構成要素であるの TCP2コアの概略を説明するため のブロック構成図である。
[図 5]本発明のメールシステムの構成要素であるのメールシステムコアの概略を説明 するためのブロック構成図である。
[図 6]本発明のメールシステムの構成要素であるの TCP2メールシステムアプリケーシ ヨン部の概略を説明するためのブロック構成図である。
園 7]TCP2メールシステムアプリケーションによって、出力装置に表示される受信メ ールの一覧表を示す図である。
[図 8]本発明のメールシステムにおけるユーザ登録の流れを示すフロー図の一部で ある。
[図 9]本発明のメールシステムにおけるユーザ登録の流れを示すフロー図の一部で ある。
[図 10]本発明のメールシステムにおけるユーザ登録の流れを示すフロー図の一部で ある。
園 11]本発明のメールシステムにおける鍵交換送り側の流れを示すフロー図の一部 である。
園 12]本発明のメールシステムにおける鍵交換送り側の流れを示すフロー図の一部 である。
園 13]本発明のメールシステムにおける鍵交換送り側の流れを示すフロー図の一部 である。
[図 14]本発明のメールシステムにおける鍵交換受け側の流れを示すフロー図の一部 である。
[図 15]本発明のメールシステムにおける鍵交換受け側の流れを示すフロー図の一部 である。
[図 16]本発明のメールシステムにおける暗号メール送信側の流れを示すフロー図の 一部である。
[図 17]本発明のメールシステムにおける暗号メール送信側の流れを示すフロー図の 一部である。
[図 18]本発明のメールシステムにおける暗号メール送信側の流れを示すフロー図の 一部である。
[図 19]本発明のメールシステムにおける暗号メール受信側の流れを示すフロー図の 一部である。
[図 20]本発明のメールシステムにおける暗号メール受信側の流れを示すフロー図の 一部である。
[図 21]本発明の TCP2メールシステムの実施例の概要を説明するための図である。 発明を実施するための最良の形態
[0018] 以下、図面を参照しながら本発明の実施の形態の例を説明する。
図 1は、本発明の暗号化通信システムに用いられる TCP2のプロトコルスタックを示 すものである。
[0019] く TCP2プロトコルスタックの説明〉
このプロトコルスタックには、〇SIの 7階層の物理層(第 1層)とデータリンク層(第 2 層)に相当する階層に、 NIC(Network Interface Card)のドライバ 11が配列されている 。このドライバは、コンピュータなどのハードウェアをネットワークに接続するためのド ライバであり、その内容はデータ送受信制御ソフトウェアである。例えば Ethernetに接 続するための LANボードまたは LANカードがこれに相当する。
[0020] 第 3層のネットワーク層には、一部がトランスポート層 (第 4層)まで伸びた IPエミユレ ータ(emulator) 13が存在している。上記トランスポート層に延びた部分には、トランス ポートとしての機能は実装しておらず、セッション層(第 5層)にネットワーク層の機能 を提供しているだけある。この IPエミュレータ 13は、暗号化通信を行うプロトコルであ る「IPsec on CP」13bと、「IP on CP」 13aを用途に応じて切り換えて使う働きをする ものである。ここで、「on CP」とは、クラッキング 'プロテクタ(CP)による、「進入」「攻 撃」の監視、破棄、切断ないし通過制限の対象となっていること、又は、設定によりな りうることを示している。
[0021] また、ネットワーク層には ARP on CP (Address Resolution Protocol on Cracking Pr otector)が配列されている。この ARP on CPは、クラッカー(Cracker)への保護対策 を具備した IPアドレスから Ethernetの物理アドレスである MAC (Media Access Control )アドレスを求めるのに使われるプロトコルである。 MACは、媒体アクセス制御と呼ば れる、 LANなどで利用される伝送制御技術であり、データの送受信単位であるフレ ームの送受信方法やフレームの形式、誤り訂正などを規定する技術として利用され ている。
[0022] ここで、 IPエミュレータ 13は、本発明による各種のセキュリティ機能を、従来の IP周 辺のスタックに整合させるためのソフトウェア又はファームウェアである。すなわち、 IP
エミユンレータ 13は、 ICMP (Internet Control Message Protocol) 14a、 IGMP (Inter net Group Management Protocol) 14b、 TCP15、 UDP16さらにソケット(Socket)イン ターフェース 17に整合させるためのソフトウェア、又はファームウェア、ないしはハー ドウエア(電子回路、電子部品)である。この IPエミュレータ 13により、 IPsecの暗号化 •復号ィ匕及び必要な認証情報付加'認証等の前後の適合処理を行うことができる。な お、 ICMPは、 IPのエラーメッセージや制御メッセージを転送するプロトコルであり、 I GMPは、同一のデータを複数のホストに効率よく配送するための又は配送を受ける ために構成されるホストのグループを制御するためのプロトコルである。
[0023] この IPエミュレータ 13の上層のトランスポート層(第 4層)には、 TCPエミュレータ 15 と UDPエミュレータ 16が配置されている。 TCPエミュレータ 15は、暗号化通信を行う プロトコルである「TCPsec on CP」 15bと、通常の通信プロトコルである「TCP on C P」 15aを用途に応じて切り換えて使う働きをする。同様に、 UDPエミュレータ 16は、 暗号化通信を行うプロトコルである「UDPsec on CP」16bと、通常の通信プロトコル である「UDP on CP」 16aを用途に応じて切り換えて使う働きをする。
[0024] また、 TCP2の最も特徴とされる点は、トランスポート層(第 4層)に、 TCPsecl 5bと 、 UDPsecl 6bの暗号化通信プロトコルを搭載したことである。
このトランスポート層(第 4層)の上層のセッション層(第 5層)には、 TCP及び UDP 等のプロトコルとデータのやりとりを行うソケット(socket)インターフェース 17が設けら れている。このソケットの意味は、既に述べたようにコンピュータが持つネットワーク内 の住所に当たる IPアドレスと、 IPアドレスのサブアドレスであるポート番号を組み合わ せたネットワークアドレスを意味している。実際には、一連のヘッダの追加ないし削除 をまとめて行う、単一のソフトウェアプログラムモジュール(実行プログラム等)あるレヽ は単一のハードウェアモジュール (電子回路、電子部品等)から構成されている。
[0025] TCPエミュレータ 15は、トランスポート層において、データの漏洩'改竄の防止の機 能、すなわち暗号化、完全性認証及び相手認証等の機能を持つ TCPsecl 5bと、こ のような暗号化、完全性認証、及び相手認証等の機能を持たない通常のプロトコル T CP15aのいずれかにパケットを振り分ける働きをもっている。また、 TCPsecl5b及び TCP15aのいずれもクラッキング 'プロテクタ(CP)を備えているため、そのいずれを
選択した場合でも、クラッカーによる「進入」「攻撃」に対して防御する機能を実現する こと力 Sできる。 TCPエミュレータ 15は上位層であるソケットとのインターフェースの役 割も果たしている。
[0026] また、既に述べたように TCPがエラー補償機能を有するのに対して、 UDPはエラ 一補償機能を持たないが、その分転送速度が速ぐかつブロードキャスト機能を備え ているという特徴がある。 UDPエミュレータ 16は、 TCPエミュレータ 15と同様に、デ ータの漏洩'改竄の防止の機能、すなわち暗号化、完全性認証及び相手認証等の 機能を持つ UDPsecl6bと、このような暗号化、完全性認証、及び相手認証等の機 能を持たない通常のプロトコル UDP16aのいずれかにパケットを振り分ける働きを持 つている。
[0027] 図 1に示すように、ソケット 17、 TCPエミュレータ 15、 UDPエミュレータ 16、「TCPs ec on CP」 15b、「UDPsec on CPJ 16b、「TCP on CPJ 15a、「UDPon CPJ 16a 、「ICMP on CPJ 14a、「IGMP on CPJ 14b、 IPエミュレータ 13、「IPon CPJ 13a 、及び「ARPonCP」 12からなるプロトコルスタックが本発明の暗号化処理を行うため のプロトコルスタックであり、以下、このプロトコルスタックを総称して TCP2と呼んでい る (特許文献 1参照)。
[0028] 本発明のメールシステムにおいて中心的な役割を果たす TCP2は、 TCP, UDP、 I P、 IPsec、 ICMP、 IGMP、 ARPの標準プロトコルに CP (クラッキング 'プロテクト)を 実装し、各プロトコルスタックに対する通信からの攻撃、及び、アプリケーション 'プロ グラムからの攻撃(トロイの木馬、プログラムの改竄、正規ユーザの不正使用)を防御 することができる。また、 TCP2では、 TCPエミュレータ 15を実装し、この TCPエミユレ ータ 15は、セッション層にあるソケット(Socket) 17、及びネットワーク層にある IPエミュ レータ 13から見て、互換性を保っため、外向きには標準 TCPと同じに見せることがで きる。実際は、 TCP2の機能として、 TCPと TCPsecを切り替えて実行する。 TCPsec は、トランスポート層での暗号化及び認証機能である。
[0029] また、同様に、 TCP2では、 UDPエミュレータ 16を実装しており、 UDPエミュレータ 16は、セッション層であるソケット(Socket) 17、及び、ネットワーク層である IPエミユレ ータ 13から見て、互換性を保っため、外部からは標準 UDPとして見せることができる
。実際は、 TCP2の機能として、 UDP、 UDPsecを切り替えて実行する。但し、 UDP secは、本発明のメールシステムには利用されない機能であるので、これ以降の説明 では触れない。
[0030] 次に、 TCP2において、特に重要な機能である「データ漏洩」を防ぐ機能である TC Psecl5bについて説明する。 TCPsecl 5bのための暗号化 '復号化の方法(アルゴリ ズム、ロジック (論理) )としては、公知の秘密鍵 (共通鍵)喑号アルゴリズムが用いられ る。
また、本発明のメールシステムに用いられる TCPsecl 5bの暗号方式として、 FEA L (Fast data Encipherment Algorithm)、 MI TY、 AES (Advanced Encryption Stand ard)といった暗号方式も利用されるほか、また、独自に作成した秘密の暗号化 *復号 化アルゴリズムを利用することもできる。ここで、 FEALは、 日本電信電話株式会社( 当時)が開発した暗号方式で、暗号化と復号ィ匕に同じ鍵をもちいる秘密鍵型の暗号 方式である。この FEALは、 DES (Data Encryption Standard :米国 IBM社が開発し た共通鍵 (秘密鍵)喑号ィヒアルゴリズム)に比べて高速に暗号化と復号化ができると レ、う利点がある。
[0031] 次に、同じく TCP2に利用される暗号方式は、例えば MISTYが用いられる力 この MISTYは、 IDEAと同様にデータを 64ビットのブロックに区切って暗号化する。鍵の 長さは 128ビットである。暗号化と復号ィ匕には同じプログラムが使われる点は DESな どと同じである。
このように、本発明の TCPsecl 5bの喑号方式としては、既に知られているさまざま な秘密鍵の暗号アルゴリズムを採用することができるほか、ユーザが独自に開発した 秘密鍵 (共通鍵)暗号方式も利用することが可能である。
[0032] さらに、いわゆる「なりすまし」及び「データの改竄」などを防ぐための「相手認証」及 び「完全性認証」の方法として、公開鍵や事前秘密共有(Pre-shared)を利用したァ ノレゴリズム、例えば、 MD5 (Message Digest 5)、 SHA1 (Secure Hash Algorithm 1) などの認証アルゴリズムが用いられる。また、このような公知の認証アルゴリズムに代 えて独自の一方向関数を利用したアルゴリズムを採用することもできる。
[0033] この MD5は、認証やデジタル署名に用いられるハッシュ関数(一方向要約関数)の
一つであり、原文を元に固定長のハッシュ値を発生し、これを通信経路の両端で比 較することにより、通信途中で原文が改竄されていなレ、かを検出することができるもの である。このハッシュ値は擬似的な乱数のような値をとり、これを基にしては原文を再 生できないようになっている。また、同じハッシュ値を生成する別のメッセージを作成 することも困難になっている。
[0034] SHA1も、認証やデジタル署名などに使われるハッシュ関数の一つであり、 2の 64 乗ビット以下の原文から 160ビットのハッシュ値を生成し、通信経路の両端で比較す ることにより、通信途上の原文の改竄を検出するものである。この認証アルゴリズムは 従来のインターネットの喑号ィ匕通信の代表的なものである IPsecにも採用されている
[0035] なお、これらの認証アルゴリズムについては、 DH (Diffie-Hellman)公開鍵配送法や 、 IPsecと同様の IKE (Internet Key Exchange)プロトコル(UDPの 500番)などにより 安全な鍵交換ができるように設計され、しかも、定期的に喑号ィ匕/完全性認証アルゴ リズム (論理)自体やそのための鍵の集合/定義域が変更されるように、プロトコルド ライバープログラム(TCPsecl 5b、 UDPsecl6bなど)によりスケジュールされている
[0036] <TCP2データパケット構造の説明 >
次に、図 2に基づいて、本発明のメールシステムで用いられるデータのパケット構造 と、その暗号化範囲及び完全性認証の適用範囲について説明しておく。
図 2は、 TCPsec/lPのパケット構造と喑号ィ匕範囲及び完全性認証の適用範囲を 示したものである。図 2に示すように、 IPヘッダ 21のすぐ後に、 TCPヘッダ 22及び T CPsec付カ卩情報 23が続き、更にアプリケーションデータ 24が続く構造になっている。 そして、アプリケーションデータ 24の後には、 TCPsecの付加トレーラ 25と TCPsecの 付加認証データ 26が配列される構造となっている。 TCPsecの付加トレーラ 25は、ブ ロック喑号で発生するデータのブランクやそのブランクの長さ、次のヘッダの番号など の暗号データをサポートする情報である。
[0037] TCPsecの特徴であるこれらの情報は、採用する喑号ィ匕 Z認証アルゴリズムによつ ては、 TCPsec/lPの使用していないヘッダフィールド部分などに分散したり、個々
のパケットからは逆算 ·推測できない独立した事前取決め(ネゴシエーション)により省 略したりできるものである。また、 IP層の上層に当たる TCP及び IPを使用していない プロトコルフィールドを用いて、図 2に示すような TCPsec/lPパケットを構成すること により、より下層の IPのみに着目した IPsecパケットよりもパケット長を簡単に削減する ことができるようになる。なお、ここで暗号化範囲は、図示の通り、アプリケーションデ ータ 24、 TCPsec付加トレーラ 25であり、認証範囲は上記暗号化範囲の他に、 TCP secの付加情報 26が加えられる。
[0038] く TCP2メールシステムの機能ブロック図の説明 >
次に、本発明の TCP2を用いたメールシステムの第 1の実施の形態について図面 を参照して説明する。
図 3は、本発明のメールシステムに用いられるクライアント装置の実施形態例のプロ ック構成図である。クライアント装置 Aほたは B)は、既存のメーラ 31、入力装置 32、 出力装置 33の他に、 TCP2ドライバ 34と TCP2メールシステムアプリケーション部 35 を備えている。また、受信したメールを保存する記憶メディア 39を有している。
[0039] TCP2ドライバ 34は、図 4で説明する TCP2コア 36と、図 5で説明するメールシステ ムコア 37及び記憶メディア 38から構成されている。記憶メディア 38は、クライアント装 置 Aが通常有する記憶メディア 39とは異なる記憶メディアであり、メールシステムコア が持っている秘密鍵で暗号化された状態で、後述する種々の情報を記憶するもので ある。
[0040] ここで、クライアント装置 Aが接続されるネットワーク 40には、不図示のメールサーバ と他のクライアント端末 (例えばクライアント装置 B)が接続されており、クライアント装 置 Aとクライアント装置 Bはネットワーク 40に接続されるメールサーバ 41 (図 4参照)を 介してメールの交換を行うようになっている。
[0041] 次に、図 3に示すクライアント装置 Aにおける動作を簡単に説明しておく。詳しくは 図 4〜図 6で説明する。
まず、メールサーバからネットワーク 40を介して送信される喑号化されたメールデー タは、クライアント装置 Aに搭載された TCP2ドライバ 34の TCP2コア 36に送られる。 そして、この TCP2コア 36で POP3パケットであることが確認された後、メールシステ
ムコア 37に送られ、所定の処理がなされて既存のメーラ 31に送られる。
[0042] また、メールシステムコア 37は、 TCP2メールシステムアプリケーション部 35に接続 されており、受信したメールの一覧表が TCP2メールアプリケーション部 35を介して 出力装置 33に表示される(図 7参照)。クライアント装置 Aのユーザはこの表示結果を 見て、受信するか廃棄するかどうかを判断し、その判断結果を入力装置 32から入力 する。入力装置 32の出力は TCP2メールシステムアプリケーション部 35を介してメー ルシステムコア 37に送られ、ここで不正メールの削除が実行される。
[0043] 一方、クライアント装置 Aのメーラ 31から送られる電子メールは、 TCP2コア 36で S MTPのパケットであることが確認された後、メールシステムコア 37に送られる。そして 、メールシステムコア 37で暗号化されて、 TCP2コア 36を介してネットワーク 40に接 続されているメールサーバ 41 (図 4参照)に送られる。なお、記憶メディア 38には、図 8〜図 15で説明するユーザ登録と鍵交換時に、 POP3の IPアドレスとポート番号、 S MTPの IPアドレスとポート番号、ユーザ IDとパスワード及び送信先と送信元のメール アドレス及び鍵情報が暗号化された状態で保存される。さらに、 TCP2の実装形態に もよる力 S、メーノレ'メッセージを保存するように構成することもできる。
[0044] 以上、本発明のメールシステムの実施形態例の概略構成を説明した力 詳細につ いては、図 4〜図 6のブロック図と図 8〜図 20のフローチャートによって説明されること になる。
図 4は、 TCP2ドライバ 34の構成要素である TCP2コア 36をより詳細に説明するた めの機能ブロック図である。図 3と同一の部分は同一符号を付している。
図 4に示すように、 TCP2コア 36は、メールシステムコア 37からのポートサーチ要求 を受けて指定ポートをサーチする指定ポートサーチ部 42と、同じくメールシステムコ ァ 37からのフック要求を受けて要求に合致するパケットをフックするフック処理部 43 を備えている。
[0045] クライアント装置 Aのメーラ 31からの POP3コマンドのメッセージパケットを受信し、 それが POP3コマンドのメッセージパケットであることを確認する POP3コマンドメッセ ージパケット確認部 44と、ネットワーク 40に接続されるメールサーバ 41からの応答メ ッセージ確認部 45と、クライアント装置 Aのメーラ 31からの SMTPコマンドのメッセ一
ジパケットを受信し、それが SMTPコマンドのメッセージパケットであることを確認する SMTPコマンドメッセージパケット確認部 46と、ネットワーク 40に接続されるメールサ ーバ 41からの応答メッセージ確認部 47と、を備えている。さらに、これら POP3あるい は SMTPのメッセージ確認部 44〜47とメールシステムコア 37とを接続するパケットィ ンターセプト部 48を有してレ、る。
[0046] フック処理部 43は、メールシステムコア 37からのフック要求(所定のパケットを受信 したらそれを捕まえなさいという要求)があったものを補足する処理を行う部分である 。すなわち、フック処理部 43では、 POP3コマンドメッセージパケット確認部 44と SM TPコマンドメッセージ確認部 46と連携して、予めフック要求がある IPアドレスとポート 番号を含むパケットが確認されたらこれを捕捉して、メールシステムコア 37に送る。ま た、メールシステムコア 37から予めフック要求があった受信者宣言データや鍵交換 用定型データなどを POP3コマンドメッセージパケット確認部 44と SMTPコマンドメッ セージ確認部 46で確認した場合にも、これらをフック処理部 43で捕捉してメールシ ステムコア 37に送る。 POP3あるいは SMTPの応答メッセージパケットの確認部 45、 47も同様にそれぞれのメッセージパケットを確認すると、それをフック処理部 43で捕 捉し、その結果を、パケットインターセプト部 48を経由してメールシステムコア 37に送 る。以上が TCP2コア 36の構成と動作である。
[0047] 次に、図 5に基づいて、メールシステムコア 37の構成と動作について説明する。図
3、図 4と同一の構成は同一符号を付し、説明は省略する。
メールシステムコア 37は、 TCP2コア 36から送られる各種コマンドメッセージバケツ トの中に含まれるユーザ IDやパスワードの認証と、各種コマンドメッセージの分析とを 行う認証/分析部 50と、認証 Z分析部 50で分析したコマンドメッセージパケットに含 まれる POP3の IPアドレスとポート番号、 SMTPの IPアドレスとポート番号、ユーザ ID とパスワード及び送信先と送信元のメールアドレス及び鍵情報等や平文メールのタイ トル、本文、添付ファイルを暗号化する暗号化部 51と、クライアント装置間の鍵交換を 行う鍵交換部 53と、上述したように、 POP3の IPアドレスとポート番号、 SMTPの IPァ ドレスとポート番号、ユーザ IDとパスワード及び送信先と送信元のメールアドレス及び 鍵情報等を暗号化した状態で記憶する記憶メディア 38を備えている。また、 TCP2メ
ールシステムアプリケーション部 35と接続するためのインターフェース部 55と、表示さ れた受信メールの一覧表(図 7参照)に基づいてメールや添付ファイルの削除を行う 、メール Z添付ファイルの削除部 54と、記憶メディア 38に暗号化状態で記憶されて レ、る情報を復号ィ匕する複号化部 52を備えている。
[0048] 上述したように、 TCP2コア 36は、メールシステムコア 37からのフック要求に基づい て、 自端末のメーラ 31とメールサーバ 41からのコマンドメッセージパケットを捕捉して いる。 TCP2コア 36で捕捉されたコマンドメッセージパケットは、メールシステムコア 3 7の認証/分析部 50に送られる。
メールシステムコア 37の暗号化部 51は、認証/分析部 50で分析されたコマンドメ ッセージパケットのうち、メールのタイトル、本文、添付ファイルを暗号化し、 TCP2コ ァ 36を介してメールサーバ 41に送る。なお、前記メールのタイトル、本文、添付フアイ ル以外のコマンドメッセージパケットは、暗号化部 51で暗号化せずに、 TCP2コア 36 を介してメールサーバ 41に送る。
[0049] 復号化部 52は、必要に応じて記憶メディア 38に記憶されているメール情報を含む 種々の情報を復号ィ匕して、 TCP2コア 36を介してメーラ 31に送る手段である。また、 鍵交換部 53は、自端末 (クライアント装置 A)とネットワーク 40に接続される他端末 (ク ライアント装置 B)の間で鍵交換を行う手段である。喑号ィ匕部 51と復号ィ匕部 52では、 メールのタイトル、本文あるいは添付ファイルが暗号化又は復号ィ匕されることになる。
[0050] また、メールシステムコア 37は、不正なメールを削除可能とするメール Z添付フアイ ル等削除部 54を備えている。このメール Z添付ファイル削除部 54は、インターフエ一 ス 55を介して、 TCP2メールアプリケーション部 35 (図 3、図 6参照)に接続されている 。クライアント装置 Aの操作者は、出力装置 (表示装置) 33で表示された図 7に示す 表示データを確認して、受信するメールと削除するメールを判別する。削除メール (あ るいは添付ファイル)については、破棄ボタンをクリックすることにより、これが図 5のメ ールシステムコア 37のメール ·添付ファイル削除部 54に送られてメールの削除が行 われる。これにより、不正メールをクライアント装置 Aのメーラ 31に渡すことなく削除す ることが可能となる。
[0051] 次に、図 6に基づいて TCP2メールシステムアプリケーション部 35の構成と動作に
ついて説明する。 TCP2メールシステムアプリケーション部 35はメールシステムコア 3 7と入出力装置(32、 33)とを接続するソフトウェアであり、インターフェース 61、ユー ザ登録部 62、メール送受信相手情報管理部 63、メール表示部 64及び入出力制御 部 65から構成されている。そして、入出力制御部 65からインターフェース 61を介して メールシステムコア 37でユーザ登録を行レ、、ユーザ登録が完了すると、メールシステ ムコア 37からユーザ登録完了通知力 インターフェース 61を介してユーザ登録部 62 に送られる。そしてユーザ登録が完了したことが出力装置 33で表示される。
[0052] さらに、既に説明したように、出力装置 33には、図 7に示すような受信メール一覧画 面が表示されるようになっている。つまり、メールシステムコア 37に POP3サーバから メールデータが送られてくると、暗号メール、添付ファイル付きメール、 HTMLメール はメールシステムコア 37で受信保留にされる。
[0053] そして、 TCP2メールアプリケーション部 35において、出力装置 33に受信したメー ルが一覧表示され、「受信」するカ 「廃棄」するかが選択される。すなわち、暗号メー ルの場合は、「受信」ボタンを押下して本人を認証した上で、既存メーラ 31で受信す ることが可能となる。
また、添付ファイル付メールあるいは HTMLメールの場合は、送信元が意識して送 信したものか否力を相手に確認した上で、「受信」ボタンを押して、既存メーラ 31で受 信することができる。相手との確認の中で、相手が送信した覚えがない場合には、「 廃棄」ボタンを押して、メールを廃棄することができる。
[0054] また、 TCP2メールアプリケーション部 35では、メール表示部 64によって、既存メー ラで受信し記憶メディア 39に保存されている暗号メールを平文にして出力装置 33で 表示させる。
[0055] くユーザ登録の流れの説明 >
次に、図 8〜図 10のフローチャートに基づいて、ユーザ登録の流れについて詳細 に説明する。
本発明では、メールの送信には、「POP before SMTP」方式を使用する必要がある。 ΓΡΟΡ before SMTP」方式とは、 SMTPを利用する前に、必ず POPを実行するとレヽ うメールの送信方式のことである。
メールの送信に使われる SMTPプロトコルには、(標準では)ユーザ認証をする仕 組みがないため、どのユーザでもメールを送信することができる可能性がある。
そのため、例えば SPAMメールを送信したり、ウィルスのようなメールを送信したり することもできてしまう。このような SMTPサーバの不正利用を防ぐために考え出され た方法の 1つが「POP before SMTP」である。
[0056] メールを受信するためのプロトコルである POPプロトコルでは、接続の一番最初の 段階でユーザ認証が行われることになつている。
そこで SMTPプロトコルで送信を行う前に、必ずこの POPによるユーザ認証を受け るようにすれば、 SMTPサーバを使用するユーザを限定することができ、不正なメー ルの送信を防止できる。
このような仕組みによって SMTPサーバを利用する方式を POP before SMTPとレヽぅ
[0057] 一般的には、 POP動作を行ってから、数分〜数十分程度の間だけ同じ IPアドレス 力もの SMTPサーバへのアクセスが許可されるようになるので、ユーザはこの間にメ ールを送信する必要がある。
SMTPサーバが「P0P before SMTP」方式を採用している場合、ユーザはメールを 送信する前には必ず一度受信動作を行わなければならないが、メール'ソフトウェア によっては自動的にこれを行うものもある。
またメール 'ソフトウェアがサポートしていないときには、一度手動で受信操作を行つ てから、送信を行うようにすればよい。
今回の場合、 SMTPサーバが、「P0P before SMTP」方式を採用している/採用し ていない、に関わらず、ユーザはこの方法で送信を行う。
[0058] まず、 TCP2メールシステムにユーザを登録する時、 TCP2メールシステムアプリケ ーシヨン部からユーザ登録を開始する(ステップ Sl)。すなわち、 TCP2メールシステ ムアプリケーション部 35は、 TCP2ドライバ 34内のメールシステムコア 37にユーザ登 録要求をする。このユーザ登録要求を受けたメールシステムコア 37は、 TCP2ドライ バ内の TCP2コア 36に対してメールのサーチ要求をする。
[0059] メールシステムコア 37からのメールサーチ要求を受けると、 TCP2コア 36は、指定
通信ポートをサーチする (ステップ S2)。
上記作業の後、既存メーラ 31から自分宛にユーザ登録用定型メールを送信する( ステップ S3)。ここで、前述のとおり SMTP力 メールの送信要求をする前に POP3 に接続する。この段階で、既存メーラ 31とネットワーク 40に接続されたメールサーバ 4 1 (図 4参照)との間で TCP2コアを介して、 TCP通信が確立されたことになる。
[0060] そして、 TCP2コア 36は、ネットワーク 40から POP3接続メッセージを受け取り、 PO P3のポートであることを認識した上で、サーチしたポートをメールシステムコア 37に通 知する(ステップ S4)。例えば、指定通信ポートが SMTP (例: 25ポート)あるいは PO P3 (例: 110ポート)のパケットであれば、メールシステムコア 37にサーチしたポートを 通知する。また、このときに TCP2コア 36は、既存のメーラ 31に対して POP3の接続 メッセージを転送する。
[0061] メールシステムコア 37は、 TCP2コア 36からのサーチ結果を受けて、 TCP2コア 36 にパケットを受信すること(インターセプト)を要求する(ステップ S5)。このメールシス テムコア 37からのインターセプト要求を受けて、 TCP2コア 36はパケットのインターセ ブトを開始する(ステップ S6)。
[0062] 続いて、既存のメーラ 31から TCP2コア 36に対して、ユーザ IDが送信され、 TCP2 コア 36は、このユーザ IDのパケットを確認し(ステップ S7)、メーラからの「USER」メッ セージをメールシステムコア 37に送る。この「USER」はクライアントをサーバに接続 する場合に発行される POP3の基本的なコマンドである。
[0063] メールシステムコア 37は、 TCP2コア 36からの「USER」メッセージを分析して、記 憶メディア 38 (図 3、図 5参照)に POP3の IPアドレスとポート番号を保存するとともに 、ユーザ IDを一時的に保存しておく(ステップ S8)。ここで、一時的に保存するとした のは、パスワードの確認等によって認証ができていない段階であるからである。そして 、ユーザ IDをネットワーク 40に接続されているメールサーバ 41 (図 4参照)に送る。
[0064] メールサーバ 41からはこのユーザ IDに対する応答が TCP2コア 36に返されるが、 TCP2コア 36は、ユーザ ID応答メッセージのパケットを確認してその結果である「十 〇K」メッセージをメールシステムコア 37に送る(ステップ S9)。この「 + OK」メッセ一 ジとは、メールサーバ 41において「ユーザ IDが認識されたのでパスワードを送れ (Use
r recognized, send password)」とレ、うメッセージである。メーノレシステムコア 37は、この 「 +〇K」メッセージを分析し、メーラ 31に対してメールサーバ 41からのユーザ ID応 答を転送する(ステップ S 10)。
[0065] 次に、メーラ 31がパスワードメッセージをメールサーバ 41に送信する場合について 説明する。まずメーラ 31から送られたパスワードメッセージは、 TCP2コア 36で確認さ れ、メールシステムコア 37この確認のパスワードメッセージのパケットが送られる(ステ ップ Sl l)。メールシステムコア 37は、 TCP2コア 36からの「PASS」メッセージを受け 取り、これを分析する。分析した結果、記憶メディア 38にパスワードを一時的に保存( 仮保存)するとともに、ネットワーク 40に接続されているメールサーバ 41に対してパス ワードを送る(ステップ S 12)。
[0066] 次に、メールサーバ 41からパスワード応答メッセージがクライアント装置 Aに返って くると、 TCP2コア 36でパスワード応答メッセージのパケットを確認し、メールシステム コア 37にパスワード応答メッセージのパケットを送る(ステップ S13)。メールシステム コア 37はパスワード応答メッセージのパケットを受け取り、メッセージを分析する。す なわち、パスワードが確認されたことを示す「+OK」メッセージを分析し、記憶メディア 3 8に一時的に保存していたユーザ IDとパスワードを記憶メディア 38に正規に保存す る。これによつてユーザ認証が終了したことになる。そして、ユーザ IDとパスワードの 保存終了後は、メールサーバ 41からのパスワード応答をメーラ 31に送信する。
[0067] このパスワード応答を受けて、メーラ 31は、接続を解除することを伝える終了宣言( QUIT)を TCP2コア 36に送り、 TCP2コア 36はこの終了宣言を確認したことをメール システムコア 37に伝える(ステップ S15)。メールシステムコア 37は、この「QUIT」メッ セージを分析し、終了宣言(QUIT)をネットワーク 40に接続されているメールサーバ 41に送る(ステップ S 16)。
その後、メールサーバ 41から終了宣言応答が TCP2コア 36に返されるので、 TCP 2コア 36は、この終了宣言応答のパケットを確認し (ステップ S17)、この結果をメール システムコア 37に送る。メールシステムコア 37は、 TCP2コア 36からの「 + OK」メッセ ージを分析して、メーラ 31に終了宣言応答を転送する(ステップ S18)。これにより、 T CP2コア 36とメーラ 31の間、及び TCP2コア 36とネットワーク 40に接続されたメール
サーバ 41との間の TCP通信の切断が完了する。
[0068] 次に、図 9に基づいて、ユーザ登録の流れの第 2段階について説明する。
第 2段階は、メーラ 31の SMTPから、ネットワーク 40に接続されているメールサーバ 41へのメール送信要求力 始まる(ステップ S19)。これによつて、メーラ 31とメーノレ サーバ 41との間で TCP2コアを介して TCP通信が確立される。
TCP通信が確立された後は、メールサーバ 41から TCP2コア 36に対して、 SMTP 接続メッセージが送られ、 TCP2コア 36は、 SMTPの応答コード「220」を受けて、 S MTPのポートであることを認識し、サーチ結果をメールシステムコア 37に通知する( ステップ S20)。 SMTPの応答コード「220」は、メールサーバとクライアント装置との間 で接続の準備が完了したという通知である。
[0069] 続いて、メールシステムコア 37は、 TCP2コア 36に対してパケットの受信(インターセ プト)を要求し (ステップ S21)、これを受けた TCP2コア 36はパケットの受信を開始す る(ステップ S22)。
次に、クライアント装置のメーラ 31から使用開始宣言が発せられる。この使用開始 宣言は、クライアント装置からサーバに対して「これ力 メールを送信しますよ。」という メッセージである。 TCP2コア 36は、使用開始宣言メッセージのパケットを確認し (ス テツプ S23)、これを「HELO」、「EHLO」メッセージとしてメールシステムコア 37に送る
[0070] メールシステムコア 37は、この「HELO」、「EHLO」メッセージを分析し、記憶メディア
38に、 SMTPの IPアドレスとポート番号を保存する(ステップ S24)。そして、使用開 始宣言をネットワーク 40に接続されるメールサーバ 41に送る。メールサーバ 41から はこれに対する使用開始宣言応答が発せられ、これ力 STCP2コア 36で確認される( ステップ S25)。この使用開始宣言の応答コードは番号「250」で示される。この応答コ ード「250」は、「要求された処理は実行可能。完了。 (Requested mail action okay, co mpleted)」とレ、うものである。
[0071] メールシステムコア 37は、この「250」メッセージを分析し、メールサーバ 41から送ら れた使用開始宣言応答をメーラ 31に送る(ステップ S26)。
続いて、メーラ 31から送信者宣言が送られる。 TCP2コア 36は、この送信者宣言の
パケットを確認し、これをメールシステムコア 37に送る(ステップ S27)。この送信者宣 言メッセージは「MAIL FROM :く」というメッセージであり、送信者を知らせるメッセ一 ジである。メールシステムコア 37は、このメッセージを分析し、記憶メディア 38に送信 元のメールアドレスを保存するとともに (ステップ S28)、送信者宣言をメールサーバ 4 1に送信する。
[0072] メールサーバ 41は、これを受けて送信者宣言応答を発行する。 TCP2コア 36は、こ の送信者宣言応答のパケットを確認し、この応答コード「250」をメールシステムコア 3 7に送る (ステップ S 29)。メールシステムコア 37は、この「250」応答コードを分析した 後に、受信した送信者宣言応答をクライアント装置のメーラ 31に送る (ステップ S30)。
[0073] 続いて、メーラ 31は、受信者宣言メッセージを送信する。この受信者宣言メッセ一 ジは「このメールアドレスに送ってくださレ、。」ということをメールサーバ 41に伝えるメッ セージであり、「RCPT TO:く」とレ、う記号で表現される。 TCP2コア 36はこの受信者 宣言メッセージを確認し(ステップ S31)、これをメールシステムコア 37に送る。メール システムコア 37は、この「RCPT TO :く」メッセージを分析し、メールサーバ 41に送る (ステップ S 32)。
[0074] これを受けて、メールサーバ 41は受信者宣言応答を TCP2コア 36に返し、 TCP2コ ァ 36は、この受信者宣言応答を確認し、応答コード「250」としてメールシステムコア 3 7に送る (ステップ S 33)。メールシステムコア 37は、この受信者宣言応答を分析し、ク ライアント端末のメーラ 31に転送する (ステップ S34)。
[0075] 続いて、図 10に示されるユーザ登録の流れの第 3段階について説明する。すなわ ち、受信者宣言応答を受信したクライアント装置のメーラ 31は、本文開始宣言を発信 する。 TCP2コア 36は、この本文開始宣言のパケットを確認して、「DATA」メッセージ としてメールシステムコア 37に渡す(ステップ S35)。ここで「DATA」は、本文の送を意 味する SMTPコマンドである。メールシステムコア 37は、この「DATA」メッセージを分 析し、この本文開始宣言をメールサーバ 41に送信する(ステップ S 36)。
[0076] メールサーバ 41は、この本文開始宣言を受け取ると、本文開始宣言応答をクライア ント装置に送る。そして、クライアント装置の TCP2コア 36が本文開始宣言応答のパ ケットを確認して、これを「354」メッセージとしてメールシステムコア 37に送る(ステップ
S37)。ここで応答コード「354」は、メールの入力開始を示す SMTPの応答コードで ある。
メールシステムコア 37は、この「354」メッセージを分析し、メールサーバ 41から送信 された本文開始宣言応答を自端末のメーラ 31に送る (ステップ S38)。
[0077] メーラ 31はこれを受けて、ユーザ登録用定型メール'メッセージをメールサーバ 41 に送信する。この時、 TCP2コア 36は、ユーザ登録用定型メール'メッセージのバケツ トを確認し、これをメールシステムコア 37に送る(ステップ S39)。
メールシステムコア 37はユーザ登録用定型メール'メッセージのパケットを受け取り 、ユーザ登録用定型メール'メッセージの分析を行う(ステップ S40)。そして、ユーザ 登録用定型メール 'メッセージをメールサーバ 41に送る。
[0078] 次に、メールサーバ 41から送信データ応答メッセージがクライアント装置に送られる 。 TCP2コア 36は、この送信データ応答メッセージのパケットを確認し、メールシステ ムコア 37に送信データ応答メッセージのパケットを送る(ステップ S41)。メールシステ ムコア 37はこの送信データ応答メッセージのパケットを受け取り、メッセージを分析す る。すなわち、 SMTPの応答コード「250 OK」メッセージを分析し、 TCP2メールシス テムアプリケーション部 35にユーザ登録が完了したことを通知するとともに、送信デ ータ応答を自端末のメーラ 31に送る(ステップ S42)。 TCP2メールシステムアプリケ ーシヨン部 35はメールシステムコア 37からの通知を受けてユーザ登録が完了したこと を出力装置 33の表示画面に表示する(ステップ S43)。
[0079] メールサーバ 41からの送信データ応答を受け取ったメーラ 31は、終了宣言メッセ 一ジ「011 」をメールサーバ 41に送ることになる。この終了宣言メッセージを受信した TCP2コア 36は、このパケットを確認して(ステップ S44)、「QUIT」メッセージとしてメ ールシステムコア 37に送る。メールシステムコア 37は、この「QUIT」メッセージを分析 し、メールサーバ 41に終了宣言を送信する(ステップ S45)。メールサーバ 41は、こ の終了宣言に対して、終了宣言応答を発し、これをクライアント装置に送る。そして、 クライアント装置の TCP2コア 36は、受信した終了宣言応答のパケットを確認し、 SM TPの応答コード「221」メッセージとしてメールシステムコア 37に送る(ステップ S46)。 「221」メッセージは接続を閉じることを告げる SMTPの応答コードである。メールシス
テムコア 37は、この「221」メッセージを分析し、その終了宣言応答を自端末のメーラ 3 1に送る。これによつて、ユーザ登録の流れが全て完了し、クライアント装置のメーラ 3 1とメールサーバ 41との TCP通信が切断される。
[0080] <鍵交換送り側の流れの説明 >
次に、図 11〜図 13のフローチャートに基づいて、鍵交換送り側の流れについて説 明する。
まず、 TCP2メールシステムの TCP2ドライバ 34のメールシステムコア 37から、 TCP 2コアに、登録している全ユーザのメールサーバの POP3, SMTPの IPアドレスとボ ート番号のパケットを捕捉するフック要求が常時出ている(ステップ S50)。フック要求 とは、登録されている全てのユーザに登録されているメールサーバの POP3、 SMTP の IPアドレスとボート番号を含むパケットを捕捉しなさいという要求である。 TCP2コア 36は、このフック要求を受けると、登録してある全ユーザの POP3と SMTPのサーバ の IPアドレスとポート番号を含むパケットを捕捉 (フック)する (ステップ S51)。
[0081] ここで、 TCP2メールシステムで暗号化メールの送受信をするときは、暗号化メール を送受信するユーザ間で、最初に鍵交換用定型メールの送受信を行う必要がある。 このため、まず、自端末 (新規送信側端末:「クライアント装置 A」とする)のメーラ 31 に、鍵交換用定型メールを入力し、この入力された鍵交換用定型メールをネットヮー ク 40に接続されたメールサーバ 41に送信する(ステップ S52)。メールサーバ 41は、 鍵交換の相手側端末 (新規受信側端末:「クライアント装置 B」とする)のメールサーバ に鍵交換用定型メールを転送し、相手側端末 (クライアント装置 B)は、そのメールサ ーバにアクセスすることにより鍵交換定型メールを受信することができる。
[0082] 前記クライアント装置 Aとメールサーバ 41の間で、まず、 SMTPからメールの送信 要求をする前に POP3に接続する。この段階で、既存メーラ 31とネットワーク 40に接 続されたメールサーバ 41 (図 4参照)との間で TCP2コアを介して、 TCP通信が確立 される。
[0083] その後、ネットワーク 40に接続されたメールサーバ 41からは、 POP3接続メッセ一 ジが送られる力 TCP2コア 36は、この POP3接続メッセージを受け取り、 POP3のノ ケットであることを認識した上で、メールシステムコア 37にフック結果を通知する(ステ
ップ S53)。
[0084] メールシステムコア 37は、 TCP2コア 36からのフック結果を受けて、 TCP2コア 36 にパケットを受信すること(インターセプト)を要求する(ステップ S54)。このメールシス テムコア 37からのインターセプト要求を受けて、 TCP2コア 36はパケットのインターセ ブトを開始する(ステップ S55)。
[0085] 続いて、既存のメーラ 31から TCP2コア 36に対して、ユーザ IDが送信され、 TCP2 コア 36は、このユーザ IDのパケットを確認し(ステップ S56)、メーラからの「USER」メ ッセージをメールシステムコア 37に送る。この「USER」メッセージは、ユーザ登録(図 8参照)でも説明したように、クライアントをサーバに接続する場合に発行される POP 3の基本的なコマンドである。
[0086] メールシステムコア 37は、 TCP2コア 36からの「USER」メッセージを分析して、記 憶メディア 38 (図 3、図 5参照)に、ユーザ IDを一時的に保存しておく(ステップ S57) 。ここで、一時的に保存とは、パスワードの確認等によって認証ができていない段階、 すなわり、認証後の正式な保存の前段階の保存を意味している。そして、ユーザ ID をネットワーク 40に接続されてレ、るメールサーバ 41に送る。
[0087] メールサーバ 41からはこのユーザ IDに対する応答が TCP2コア 36に返されるが、 TCP2コア 36は、ユーザ ID応答メッセージのパケットを確認してその結果である「 + 〇K」メッセージをメールシステムコア 37に送る(ステップ S58)。この「 + OK」メッセ一 ジとは、メールサーバ 41において「ユーザ IDが認識されたのでパスワードを送れ (Use r recognized, send password)」とレヽっメッセージで feる。メーノレシステムコア 37は、この 「 +〇K」メッセージを分析し、メーラ 31に対してメールサーバ 41からのユーザ ID応 答を転送する(ステップ S 59)。
[0088] 次に、クライアント装置 Aの既存メーラ 31からネットワーク 40に接続されるメールサ ーバ 41へパスワードメッセージが送られる。このメーラ 31から送られたパスワードメッ セージは、 TCP2コア 36で確認され、メールシステムコア 37この確認のパスワードメッ セージのパケットが送られる(ステップ S60)。メールシステムコア 37は、 TCP2コア 36 力 の「PASS」メッセージを受け取り、これを分析する。分析した結果、記憶メディア 38にパスワードを一時的に保存 (仮保存)するとともに、ネットワーク 40に接続されて
レ、るメールサーバ 41に対してパスワードを送る(ステップ S61)。
[0089] 次に、メールサーバ 41からパスワード応答メッセージがクライアント装置 Aに返って くると、 TCP2コア 36でパスワード応答メッセージのパケットを確認し、メールシステム コア 37にパスワード応答メッセージのパケットを送る(ステップ S62)。メールシステム コア 37はパスワード応答メッセージのパケットを受け取り、メッセージを分析する。す なわち、パスワードが確認されたことを示す「+OK」メッセージを分析して、記憶メディ ァ 38に一時的に保存したユーザ IDとパスワードを、記憶メディア 38にユーザ登録し てあるユーザ IDとパスワードと照合して認証を行レ、、鍵情報を取得する(ステップ S6 3)。そして、鍵情報を取得後にパスワード応答をメーラ 31に送信する。
[0090] このパスワード応答を受けて、メーラ 31は、接続を解除することを伝える終了宣言( QUIT)を TCP2コア 36に送り、 TCP2コア 36はこの終了宣言を確認したことをメール システムコア 37に伝える(ステップ S64)。メールシステムコア 37は、この「QUIT」メッ セージを分析し、終了宣言(QUIT)をネットワーク 40に接続されているメールサーバ 41に送る(ステップ S65)。
その後、メールサーバ 41から終了宣言応答が TCP2コア 36に返されるので、 TCP 2コア 36は、この終了宣言応答のパケットを確認し (ステップ S66)、この結果をメール システムコア 37に送る。メールシステムコア 37は、 TCP2コア 36からの「 + OK」メッセ ージを分析して、メーラ 31に終了宣言応答を転送する(ステップ S67)。これにより、ク ライアント装置 Aとネットワーク 40に接続されたメールサーバ 41 (クライアント装置 B)と の間の TCP通信の切断が完了する。
[0091] 次に、図 12に基づいて、鍵交換送り側の第 2段階について説明する。
第 2段階は、ユーザ登録(図 9参照)時と同様に、メーラ 31の SMTPから、ネットヮー ク 40に接続されているメールサーバ 41へのメール送信要求力 始まる(ステップ S68 )。これによつて、メーラ 31とメールサーバ 41との間で TCP2コアを介して TCP通信 が確立される。
TCP通信が確立された後は、メールサーバ 41から TCP2コア 36に対して、 SMTP 接続メッセージが送られ、 TCP2コア 36は、 SMTPの応答コード「220」を受けて、 S MTPのポートであることを認識し、サーチ結果をメールシステムコア 37に通知する(
ステップ S 69)。
[0092] 続いて、メールシステムコア 37は、 TCP2コア 36に対してパケットの受信(インター セプト)を要求し (ステップ S70)、これを受けた TCP2コア 36はパケットの受信を開始 する(ステップ S71)。
次に、クライアント装置のメーラ 31から使用開始宣言が発せられる。この使用開始 宣言は、クライアント装置からサーバに対して「これ力 メールを送信しますよ。」という メッセージである。 TCP2コア 36は、使用開始宣言メッセージのパケットを確認し (ス テツプ S72)、これを「HELO」、「EHLO」メッセージとしてメールシステムコア 37に送る
[0093] メールシステムコア 37は、この「HELO」、「EHLO」メッセージを分析し、記憶メディア
38に、 SMTPの IPアドレスとポート番号を保存する(ステップ S73)。そして、使用開 始宣言をネットワーク 40に接続されるメールサーバ 41に送る。メールサーバ 41から はこれに対する使用開始宣言応答が発せられ、これ力 STCP2コア 36で確認される( ステップ S 74)。
[0094] メールシステムコア 37は、この「250」メッセージを分析し、メールサーバ 41から送ら れた使用開始宣言応答をメーラ 31に送る(ステップ S75)。
続いて、メーラ 31から送信者宣言が送られる。 TCP2コア 36は、この送信者宣言の パケットを確認し、これをメールシステムコア 37に送る(ステップ S76)。この送信者宣 言メッセージは「MAIL FROM :く」というメッセージであり、送信者を知らせるメッセ一 ジである。メールシステムコア 37は、このメッセージを分析し、記憶メディア 38に送信 元のメールアドレスを保存するとともに (ステップ S77)、送信者宣言をメールサーバ 4 1に送信する。
[0095] メールサーバ 41は、これを受けて送信者宣言応答を発行する。 TCP2コア 36は、こ の送信者宣言応答のパケットを確認し、この応答コード「250」をメールシステムコア 3 7に送る(ステップ S78)。メールシステムコア 37は、この「250」応答コードを分析した 後に、受信した送信者宣言応答をクライアント装置のメーラ 31に送る (ステップ S79)。
[0096] 続いて、メーラ 31は、受信者宣言メッセージを送信する。この受信者宣言メッセ一 ジは「このメールアドレスに送ってくださレ、。」ということをメールサーバ 41に伝えるメッ
セージであり、「RCPT TO:く」とレ、う記号で表現される。 TCP2コア 36はこの受信者 宣言メッセージを確認し(ステップ S80)、これをメールシステムコア 37に送る。メール システムコア 37は、この「RCPT TO :く」メッセージを分析し、記憶メディア 38に送信 先メールアドレスを保存するとともに、受信者宣言をメールサーバ 41に送る(ステップ S81)。
[0097] これを受けて、メールサーバ 41は受信者宣言応答を TCP2コア 36に返し、 TCP2コ ァ 36は、この受信者宣言応答を確認し、応答コード「250」としてメールシステムコア 3 7に送る (ステップ S82)。メールシステムコア 37は、この受信者宣言応答を分析し、ク ライアント端末のメーラ 31に転送する (ステップ S83)。
[0098] 続いて、図 13基づいて、鍵交換送り側の流れの第 3段階について説明する。すな わち、受信者宣言応答を受信したクライアント装置 Aのメーラ 31は、本文開始宣言を 発信する。 TCP2コア 36は、この本文開始宣言のパケットを確認して、「DATA」メッセ ージとしてメールシステムコア 37に渡す(ステップ S84)。ここで「DATA」は、本文の 送信を意味する SMTPコマンドである。メールシステムコア 37は、この「DATA」メッセ ージを分析し、この本文開始宣言をメールサーバ 41に送信する(ステップ S85)。
[0099] メールサーバ 41は、この本文開始宣言を受け取ると、本文開始宣言応答をクライア ント装置 Aに送る。そして、クライアント装置 Aの TCP2コア 36が本文開始宣言応答の パケットを確認して、これを「354」メッセージとしてメールシステムコア 37に送る(ステツ プ S86)。ここで応答コード「354」は、メールの入力開始を示す SMTPの応答コード である。
メールシステムコア 37は、この「354」メッセージを分析し、メールサーバ 41から送信 された本文開始宣言応答を自端末のメーラ 31に送る (ステップ S87)。
[0100] メーラ 31はこれを受けて、鍵交換用定型メール'メッセージをメールサーバ 41に送 信する。この時、 TCP2コア 36は、鍵交換用定型メール'メッセージのパケットを確認 し、これをメールシステムコア 37に送る(ステップ S88)。
メールシステムコア 37は鍵交換用定型メール'メッセージのパケットを受け取ると、 まずここで鍵交換先が送信側か否かを判断する (ステップ S89)。すなわち、鍵交換 は、暗号メールをやり取りする端末同士(クライアント装置 Aと B)力 お互いに相手装
置に対して鍵交換用定型メールを送る必要がある。例えば、クライアント装置 Aとクラ イアント装置 Bとの間で暗号メールをやり取りする場合、まず送り側クライアント装置 A 力 受け側クライアント装置 Bに対して鍵交換用定型メール'メッセージを送り、続い て受け側クライアント装置 Bから送り側クライアント装置 Aに対して鍵交換用定型メー ル 'メッセージを送る。判断ステップ S89は、鍵交換先が送り側か受け側かの判断を 行うステップである。この鍵交換用定型メール 'メッセージのやり取りにメールサーバ 4 1 (図 4参照)が介在していることは言うまでもない。
[0101] 判断ステップ S89において、鍵交換用定型メール'メッセージが送り側(クライアント 装置 A)からのものであると判断された場合は、「メール'メッセージ」を分析し、ネット ワーク 40に接続されたメールサーバ 41に鍵元値を付加した送信メールを送る(ステツ プ S90)。このとき、鍵元値は記憶メディア 38に記憶されるとともに、 TCP2メールシス テムアプリケーション部 35に送られ、出力装置 33に現在の鍵状態が表示される (ステ ップ S91)。
[0102] また、判断ステップ S89において、鍵交換先が送信側(クライアント装置 A)ではな レ、と判断された場合、すなわち、鍵交換先が受信側 (クライアント装置 B)であると判 断された場合は、「メール'メッセージ」を分析し、ネットワーク 40に接続されたメール サーバ 41に鍵元値を付加した送信メールを送るとともに、鍵元値を記憶メディア 38 に保存する(ステップ S92)。そして、付加した鍵元値と既に記憶メディア 38に保存し てある鍵元値とから新たな鍵を生成して、記憶メディア 38に保存する。そして、この新 たに生成した鍵を TCP2メールシステムアプリケーション部 35に送り、出力装置 33に 現在の鍵状態を表示する (ステップ S93)。以上説明したような処理を経て、鍵交換 用定型メール ·メッセージがメールサーバ 41 (クライアント装置 B)に送られる。
[0103] 次に、メールサーバ 41から送信データ応答メッセージがクライアント装置 Aに送られ る。 TCP2コア 36は、この送信データ応答メッセージのパケットを確認し、メールシス テムコア 37に送信データ応答メッセージのパケットを送る(ステップ S 94)。メールシス テムコア 37はこの送信データ応答メッセージのパケットを受け取り、メッセージを分析 する。すなわち、 SMTPの応答コード「250 OK」メッセージを分析し、送信データ応 答を自端末 (クライアント装置 Α)のメーラ 31に送る(ステップ S95)。
[0104] こうしてメールサーバ 41からの送信データ応答を受け取ったメーラ 31は、終了宣言 メッセージ「QUIT」をメールサーバ 41に送ることになる。この終了宣言メッセージを受 信した TCP2コア 36は、このパケットを確認して(ステップ S96)、「QUIT」メッセージと してメールシステムコア 37に送る。メールシステムコア 37は、この「QUIT」メッセージ を分析し、メールサーバ 41に終了宣言を送信する(ステップ S97)。メールサーバ 41 は、この終了宣言に対して、終了宣言応答を発し、これをクライアント装置 Aに送る。 そして、クライアント装置 Aの TCP2コア 36は、受信した終了宣言応答のパケットを確 認し、 SMTPの応答コード「221」メッセージとしてメールシステムコア 37に送る(ステツ プ S98)。 「221」メッセージは接続を閉じることを告げる SMTPの応答コードである。メ ールシステムコア 37は、この「221」メッセージを分析し、その終了宣言応答を自端末 のメーラ 31に送る (ステップ S99)。これによつて、鍵交換送り側の流れが全て完了し 、クライアント装置 Aのメーラ 31とメールサーバ 41との TCP通信が切断される。
[0105] <鍵交換受け側の流れの説明 >
次に、図 14、図 15のフローチャートに基づいて鍵交換受け側の流れについて説明 する。
図 14に示すように、まず、 TCP2ドライバ 34のメールシステムコア 37から、 TCP2コ ァに、登録している全ユーザの POP3、 SMTPのサーバの IPアドレスとポート番号を 含むパケットを捕捉するためのフック要求が常時出ている(ステップ SlOl)。 TCP2コ ァ 36は、このフック要求を受けると、登録してある全ユーザの POP3と SMTPのサー バの IPアドレスとポート番号を含むパケットを捕捉(フック)する(ステップ S102)。
[0106] 鍵交換受け側で既存メーラ 31でメールの受信を実行すると、既存メーラ 31とネット ワーク 40に接続されたメールサーバ 41 (図 4参照)との間で TCP通信が確立される。 言い換えると、既存メーラ 31を有するクライアント装置 Aとネットワーク 40に接続され るメールサーバ 41 (クライアント装置 Bといってもよレ、)との間で TCP通信が確立され る。
[0107] ネットワーク 40に接続されたメールサーバ 41からは、 POP3接続メッセージが送ら れる力 TCP2コア 36は、この POP3接続メッセージを受け取り、 POP3のポートから の接続メッセージであることを認識した上で、メールシステムコア 37にフック結果を通
知する(ステップ SI 03)。
[0108] メールシステムコア 37は、 TCP2コア 36からのフック結果を受けて、 TCP2コア 36 にパケットを受信すること(インターセプト)を要求する(ステップ S104)。このメールシ ステムコア 37からのインターセプト要求を受けて、 TCP2コア 36はパケットのインター セプトを開始する (ステップ S 105)。
[0109] 続いて、クライアント装置 Aのメーラ 31から TCP2コア 36に対して、ユーザ IDが送 信され、 TCP2コア 36は、このユーザ IDのパケットを確認し(ステップ S106)、メーラ 力もの「USER」メッセージをメールシステムコア 37に送る。メールシステムコア 37は、 この「USER」メッセージを分析して、記憶メディア 38 (図 3、図 5参照)に、ユーザ ID を一時的に保存しておく(ステップ S107)。ここで、一時的に保存とは、パスワードの 確認等によって認証ができていない段階、すなわり、認証後の正式な保存の前段階 の保存を意味している。そして、ユーザ IDをネットワーク 40に接続されているメール サーバ 41に送る。
[0110] メールサーバ 41からはこのユーザ IDに対する応答が TCP2コア 36に返されるが、 TCP2コア 36は、ユーザ ID応答メッセージのパケットを確認してその結果である「 + 〇K」メッセージをメールシステムコア 37に送る(ステップ S108)。この「 + OK」メッセ ージとは、メールサーバ 41において「ユーザ IDが認識されたのでパスワードを送れ( User recognized, send password)」とレヽっメッセーンである。メーノレシステムコア 37は、 この「 +〇K」メッセージを分析し、メーラ 31に対してメールサーバ 41からのユーザ ID 応答を転送する(ステップ S109)。
[0111] 次に、クライアント装置 Aの既存メーラ 31からネットワーク 40に接続されるメールサ ーバ 41へパスワードメッセージが送られる。このメーラ 31から送られたパスワードメッ セージは、 TCP2コア 36で確認され、メールシステムコア 37にこの確認のパスワード メッセージのパケットが送られる(ステップ S110)。メールシステムコア 37は、 TCP2コ ァ 36からの「PASS」メッセージを受け取り、これを分析する。分析した結果、記憶メデ ィァ 38にパスワードを一時的に保存 (仮保存)するとともに、ネットワーク 40に接続さ れてレ、るメールサーバ 41に対してパスワードを送る(ステップ S 111)。
[0112] 次に、メールサーバ 41からパスワード応答メッセージがクライアント装置 Aに返って
くると、 TCP2コア 36でパスワード応答メッセージのパケットを確認し、メールシステム コア 37にパスワード応答メッセージのパケットを送る(ステップ S112)。メールシステム コア 37はパスワード応答メッセージである「+OK」メッセージのパケットを分析し、既に 記録メディア 38に登録されているユーザ IDとパスワードに基づいて上記一時的に保 存されたユーザ IDとパスワードを認証し、鍵情報を取得する(ステップ S113)。そして 、受け取ったパスワード応答をメーラ 31に送る。
[0113] 続いて、図 15に基づいて、鍵交換受け側の流れの続きを説明する。メールシステム コア 37からのパスワード応答の送信を受けて、メーラ 31は、メールのダウンロード要 求を発信する。 TCP2コア 36はメーラ 31からのダウンロード要求のパケットを確認し、 これを「RETR」メッセージとしてメールシステムコア 37に伝える(ステップ S114)。メー ルシステムコア 37は、この「RTER」メッセージを分析し、ネットワーク 40に接続されて レ、るメールサーバ 41にメールダウンロード要求を送る(ステップ S115)。ここで、「RET R」メッセージは、パラメータで指定したメッセージを受け取るための POP3の基本的コ マンドである。仮にメッセージのない行をパラメータとして指定したときは、 Γ-ERR mes sage does not exist」力返されることになつてレヽる。
[0114] その後、メールサーバ 41から鍵交換用定型メール'メッセージが送られてくる。この 鍵交換用定型メール 'メッセージはネットワーク 40に接続されるクライアント装置 B (受 信側)からクライアント装置 A (送信側)に送られるものである。
TCP2コア 36は、鍵交換用定型メール'メッセージのパケットを確認し、これをメー ルシステムコア 37に送る(ステップ S116)。
[0115] メールシステムコア 37は鍵交換用定型メール'メッセージのパケットを受け取ると、 まずここで鍵交換先が受信側か否かを判断する (ステップ S 117)。例えば、クライア ント装置 Aとクライアント装置 Bとの間で暗号メールをやり取りする場合、まず送り側ク ライアント装置 Aから受け側クライアント装置 Bに対して鍵交換用定型メール 'メッセ一 ジを送り、続いて受け側クライアント装置 Bから送り側クライアント装置 Aに対して鍵交 換用定型メール'メッセージを送る。判断ステップ S117は、鍵交換先が受け側のクラ イアント装置 Bから送られてきたものかどうかを判断するステップである。このように鍵 交換は暗号メールをやり取りする両者がお互いに相手に鍵交換用定型メールを送る
必要がある。
[0116] 判断ステップ S117において、鍵交換用定型メール'メッセージが受け側(クライアン ト装置 B)からのものであると判断された場合は、「メール'メッセージ」を分析し、送信 元メールアドレスと鍵元値を記憶メディア 38に保存する。また、「鍵交換用定型メール 'メッセージ」と「鍵交換メール受信通知メール'メッセージと入れ替えて、メーラ 31に 送信する(ステップ S118)。このとき、現在の鍵状態が、 TCP2メールシステムアプリ ケーシヨン部 35に送られ、出力装置 33に表示される(ステップ S119)。そして、鍵交 換受信メール'メッセージを自端末のメーラ 31に送る。メーラ 31はこのメッセージを受 け取ると、これを記憶メディア 39に保存する(ステップ S 120)。
[0117] また、判断ステップ S117において、鍵交換先が受信側(クライアント装置 B)ではな レ、と判断された場合、すなわち、鍵交換先が送信側 (クライアント装置 A)であると判 断された場合は、「メール'メッセージ」を分析し、送信元メールアドレスと鍵元値を記 憶メディア 38に保存する。また、受信したメールの鍵元値と記憶メディア 38に保存さ れている鍵元値力 新たな鍵を生成し、この鍵を記憶メディア 38に保存する。そして 、「鍵交換用定型メール ·メッセージ」と「鍵交換メール受信通知メール 'メッセージ」と 入れ替えて、メーラ 31に送信する(以上、ステップ S121)。このとき、現在の鍵状態は 、 TCP2メールシステムアプリケーション部 35に送られ、出力装置 33に表示される(ス テツプ S 122)。
[0118] メーラ 31は、受け取った「鍵交換メール受信通知メール'メッセージ」を記憶メディア
39に保存するとともに(ステップ S123)、メッセージ削除要求「DELE」を TCP2コア 3 6に送る。 TCP2コア 36は、このメッセージ削除要求のパケットを確認し(ステップ S12 4)、メールシステムコア 37に送る。メールシステムコア 37は、このメッセージ削除要求 「DELE」を分析し、このメッセージ削除要求をメールサーバ 41に送る(ステップ S 125
) o
[0119] このメッセージ削除要求を受けて、メールサーバ 41は、メッセージ削除応答を TCP 2コア 36に送り、 TCP2コア 36はこのパケットを確認する(ステップ S126)。メールシ ステムコア 37は、このメッセージ削除応答の「+OK」メッセージを分析し、これをメーラ 31に送る(ステップ S 127)。
[0120] メーラ 31は、このメッセージ削除応答を受信すると、終了宣言メッセージ「QUIT」を メールサーバ 41に送ることになる力 この終了宣言メッセージを受信した TCP2コア 3 6は、このパケットを確認して(ステップ S128)、「QUIT」メッセージとしてメールシステ ムコア 37に送る。メールシステムコア 37は、この「QUIT」メッセージを分析し、メール サーバ 41に終了宣言を送信する(ステップ S129)。
[0121] メールサーバ 41は、この終了宣言に対して、終了宣言応答を発し、これをクライア ント装置 Aの TCP2コア 36に送る。そして、クライアント装置 Aの TCP2コア 36は、受 信した終了宣言応答のパケットを確認し、 SMTPの応答コード「+OK」メッセージとし てメールシステムコア 37に送る(ステップ S130)。メールシステムコア 37は、この「+0 Κ」メッセージを分析し、その終了宣言応答を自端末のメーラ 31に送る(ステップ S 13 1)。これによつて、鍵交換受け側の流れが全て完了し、クライアント装置 Αのメーラ 31 とメールサーバ 41 (クライアント装置 B)との TCP通信が切断される。
[0122] <暗号メール送信側の流れの説明 >
次に、図 16〜図 18のフローチャートに基づいて、暗号メール送信側の流れについ て説明する。
まず、 TCP2ドライバ 34のメールシステムコア 37から、登録している全ユーザの SM TPと POP3のサーバの IPアドレスとポート番号を含むパケットのフック要求が常時出 ている(ステップ S132)。 TCP2コア 36は、このフック要求を受けると、登録してある全 ユーザの POP3と SMTPのサーバの IPアドレスとポート番号を含むパケットを捕捉(
そして、喑号メール送信側の流れは、メーラ 31でメールを入力し、メールを鍵交換 が済んでいる相手に送信する。この時、 SMTPからメールの送信要求をする前に P〇 P3に接続する。この段階でクライアント装置 A (自端末)とネットワーク 40に接続され るメールサーバ 41との間で、 TCP2コアを介して TCP通信が確立される。
この段階で、ネットワーク 40に接続されたメールサーバ 41からは、 POP3接続メッセ ージが送られるが、 TCP2コア 36は、この POP3接続メッセージを受け取り、 POP3の ポートであることを認識した上で、メールシステムコア 37にフック結果を通知する(ステ ップ S 134)。
[0124] メールシステムコア 37は、 TCP2コア 36からのフック結果を受けて、 TCP2コア 36 にパケットのインターセプトを要求する(ステップ S 135)。このメールシステムコア 37か らのインターセプト要求を受けて、 TCP2コア 36はパケットのインターセプトを開始す る(ステップ S 136)。
[0125] 続いて、既存のメーラ 31から TCP2コア 36に対して、ユーザ IDが送信され、 TCP2 コア 36は、このユーザ IDのパケットを確認し(ステップ S137)、メーラからの「USER」 メッセージをメールシステムコア 37に送る。この「USER」メッセージは、ユーザ登録( 図 8参照)でも説明したように、クライアントをサーバに接続する場合に発行される PO P3の基本的なコマンドである。
[0126] メールシステムコア 37は、 TCP2コア 36からの「USER」メッセージを分析して、記 憶メディア 38 (図 3、図 5参照)に、ユーザ IDを一時的に保存 (仮保存)しておく(ステ ップ S137)。ここで、一時的に保存とは、パスワードの確認等によって認証ができて いない段階、すなわり、認証後の正式な保存の前段階の保存を意味している。そして 、ユーザ IDをネットワーク 40に接続されているメールサーバ 41に送る。
[0127] メールサーバ 41からはこのユーザ IDに対する応答が TCP2コア 36に返されるが、 TCP2コア 36は、ユーザ ID応答メッセージのパケットを確認してその結果である「 + 〇K」メッセージをメールシステムコア 37に送る(ステップ S139)。この「 + OK」メッセ ージとは、メールサーバ 41において「ユーザ IDが認識されたのでパスワードを送れ( User recognized, send password)」とレヽっメッセーンである。メーノレシステムコア 37は、 この「 +〇K」メッセージを分析し、メーラ 31に対してメールサーバ 41からのユーザ ID 応答を転送する(ステップ S140)。
[0128] 次に、クライアント装置 Aの既存メーラ 31からネットワーク 40に接続されるメールサ ーバ 41へパスワードメッセージが送られる。このメーラ 31から送られたパスワードメッ セージは、 TCP2コア 36で確認され、メールシステムコア 37この確認のパスワードメッ セージのパケットが送られる(ステップ S141)。メールシステムコア 37は、 TCP2コア 3 6からの「PASS」メッセージを受け取り、これを分析する。分析した結果、記憶メディ ァ 38にパスワードを一時的に保存 (仮保存)するとともに、ネットワーク 40に接続され てレ、るメールサーバ 41に対してパスワードを送る(ステップ S 142)。
[0129] 次に、メールサーバ 41からパスワード応答メッセージがクライアント装置 Aに返って くると、 TCP2コア 36でパスワード応答メッセージのパケットを確認し、メールシステム コア 37にパスワード応答メッセージのパケットを送る(ステップ S143)。メールシステム コア 37はパスワード応答メッセージのパケットを受け取り、メッセージを分析する。す なわち、パスワードが確認されたことを示す「+OK」メッセージを分析して、記憶メディ ァ 38に一時的に保存したユーザ IDとパスワードを、記憶メディア 38にユーザ登録し てあるユーザ IDとパスワードと照合して認証を行レ、、鍵情報を取得する(ステップ S1 44)。そして、鍵情報を取得後にパスワード応答をメーラ 31に送信する。
[0130] このパスワード応答を受けて、メーラ 31は、接続を解除することを伝える終了宣言( QUIT)を TCP2コア 36に送り、 TCP2コア 36はこの終了宣言を確認したことをメール システムコア 37に伝える(ステップ S64)。メールシステムコア 37は、この「QUIT」メッ セージを分析し、終了宣言(QUIT)をネットワーク 40に接続されているメールサーバ 41に送る(ステップ S65)。
その後、メールサーバ 41から終了宣言応答が TCP2コア 36に返されるので、 TCP 2コア 36は、この終了宣言応答のパケットを確認し (ステップ S145)、この結果をメー ルシステムコア 37に送る。メールシステムコア 37は、 TCP2コア 36からの「 + OK」メッ セージを分析して、メーラ 31に終了宣言応答を転送する(ステップ S146)。これによ り、クライアント装置 Aとネットワーク 40に接続されたメールサーバ 41 (クライアント装 置 B)との間の TCP通信の切断が完了する。
[0131] 次に、図 17に基づいて、暗号メール送信側の流れの第 2段階について説明する。
第 2段階は、鍵交換送り側の流れ(図 12参照)と同様に、メーラ 31の SMTPから、 ネットワーク 40に接続されているメールサーバ 41へのメール送信要求力も始まる(ス テツプ S149)。これによつて、メーラ 31とメールサーバ 41との間で TCP2コアを介し て TCP通信が確立される。
TCP通信が確立された後は、メールサーバ 41から TCP2コア 36に対して、 SMTP 接続メッセージが送られ、 TCP2コア 36は、 SMTPの応答コード「220」を受けて、 S MTPのポートであることを認識し、サーチ結果をメールシステムコア 37に通知する( ステップ S 150)。
[0132] 続いて、メールシステムコア 37は、 TCP2コア 36に対してパケットの受信(インター セプト)を要求し (ステップ S 151)、これを受けた TCP2コア 36はパケットの受信を開 始する(ステップ S 152)。
次に、クライアント装置のメーラ 31から使用開始宣言が発せられる。この使用開始 宣言は、クライアント装置からサーバに対して「これ力 メールを送信しますよ。」という メッセージである。 TCP2コア 36は、使用開始宣言メッセージのパケットを確認し (ス テツプ S153)、これを「HELO」、「EHLO」メッセージとしてメールシステムコア 37に送 る。
[0133] メールシステムコア 37は、この「HELO」、「EHLO」メッセージを分析し、この使用開 始宣言をネットワーク 40に接続されるメールサーバ 41に送る(ステップ S154)。メー ルサーバ 41からはこれに対する使用開始宣言応答が発せられ、これが TCP2コア 3 6で確認される(ステップ S 155)。
[0134] メールシステムコア 37は、この「+OK」メッセージを分析し、メールサーバ 41から送ら れた使用開始宣言応答をメーラ 31に送る(ステップ S156)。
続いて、メーラ 31から送信者宣言が送られる。 TCP2コア 36は、この送信者宣言の パケットを確認し、これをメールシステムコア 37に送る(ステップ S157)。この送信者 宣言メッセージは「MAIL FROM :く」とレ、う送信者を知らせるメッセージである。メー ルシステムコア 37は、このメッセージを分析し、この送信者宣言をメールサーバ 41に 送信する (ステップ S 158)。
[0135] メールサーバ 41は、これを受けて送信者宣言応答を発行する。 TCP2コア 36は、こ の送信者宣言応答のパケットを確認し、この応答コード「250」をメールシステムコア 3 7に送る(ステップ S159)。メールシステムコア 37は、この「250」応答コードを分析した 後に、受信した送信者宣言応答をクライアント装置のメーラ 31に送る (ステップ S 160)
[0136] 続いて、メーラ 31は、受信者宣言メッセージを送信する。この受信者宣言メッセ一 ジは「このメールアドレスに送ってくださレ、。」とレ、うことをメールサーバ 41に伝えるメッ セージであり、「RCPT TO:く」とレ、う記号で表現される。 TCP2コア 36はこの受信者 宣言メッセージを確認し (ステップ S161)、これをメールシステムコア 37に送る。メー
ルシステムコア 37は、この「RCPT TO :く」メッセージを分析し、この受信者宣言をメ ールサーバ 41に送る(ステップ S162)。
[0137] これを受けて、メールサーバ 41は受信者宣言応答を TCP2コア 36に返し、 TCP2コ ァ 36は、この受信者宣言応答を確認し、応答コード「250」としてメールシステムコア 3 7に送る (ステップ S163)。メールシステムコア 37は、この受信者宣言応答を分析し、 クライアント端末のメーラ 31に転送する(ステップ S 164)。
[0138] 続いて、図 18に基づいて、喑号メール送信側の流れの第 3段階について説明する 。すなわち、受信者宣言応答を受信したクライアント装置 Aのメーラ 31は、本文開始 宣言を発信する。 TCP2コア 36は、この本文開始宣言のパケットを確認して、「DATA 」メッセージとしてメールシステムコア 37に渡す(ステップ S165)。ここで「DATA」は、 本文の送信を意味する SMTPコマンドである。メールシステムコア 37は、この「DATA 」メッセージを分析し、この本文開始宣言をメールサーバ 41に送信する(ステップ S1 66)。
[0139] メールサーバ 41は、この本文開始宣言を受け取ると、本文開始宣言応答をクライア ント装置 Aに送る。そして、クライアント装置 Aの TCP2コア 36が本文開始宣言応答の パケットを確認して、これを「354」メッセージとしてメールシステムコア 37に送る(ステツ プ S167)。ここで応答コード「354」は、メールの入力開始を示す SMTPの応答コード である。
メールシステムコア 37は、この「354」メッセージを分析し、メールサーバ 41から送信 された本文開始宣言応答を自端末のメーラ 31に送る (ステップ S 168)。
[0140] メーラ 31はこれを受けて、メール'メッセージを TCP2コア 36に送り、 TCP2コア 36 では、メールメッセージパケットを確認して、メールシステムコア 37に渡す(ステップ S 169)。メールシステムコア 37はこのメール'メッセージのパケットを受け取ると、このメ ール'メッセージを分析し、送信相手の鍵があることを確認し、タイトルと本文、そして 添付ファイルがあれば、その喑号ィ匕を行う(ステップ S170)。そして、暗号化したメー ノレ ·メッセージをネットワーク 40に接続されるメールサーバ 41に送る。
[0141] 続いて、メールサーバ 41から送信データ応答メッセージがクライアント装置 Aに送ら れる。 TCP2コア 36は、この送信データ応答メッセージのパケットを確認し、メールシ
ステムコア 37に送信データ応答メッセージのパケットを送る(ステップ S 171)。メール システムコア 37はこの送信データ応答メッセージのパケットを受け取り、メッセージを 分析する。すなわち、 SMTPの応答コード「250」メッセージを分析し、送信データ応 答を自端末 (クライアント装置 A)のメーラ 31に送る(ステップ S 172)。
[0142] メールサーバ 41からの送信データ応答を受け取ったメーラ 31は、終了宣言メッセ 一ジ「011 」をメールサーバ 41に送る。この終了宣言メッセージを受信した TCP2コ ァ 36は、このパケットを確認して(ステップ S173)、 「QUIT」メッセージとしてメールシ ステムコア 37に送る。メールシステムコア 37は、この「QUIT」メッセージを分析し、メー ルサーバ 41に終了宣言を送信する(ステップ S174)。メールサーバ 41は、この終了 宣言に対して、終了宣言応答を発し、これをクライアント装置 Aに送る。そして、クライ アント装置 Aの TCP2コア 36は、受信した終了宣言応答のパケットを確認し、 SMTP の応答コード「221」メッセージとしてメールシステムコア 37に送る(ステップ S175)。 「 221」メッセージは接続を閉じることを告げる SMTPの応答コードである。メールシステ ムコア 37は、この「221」メッセージを分析し、その終了宣言応答を自端末のメーラ 31 に送る(ステップ S 176)。これによつて、暗号メール送信側の流れは全て完了し、クラ イアント装置 Aのメーラ 31とメールサーバ 41との TCP通信が切断される。
[0143] <暗号メール受信側の流れの説明 >
次に、図 19、図 20のフローチャートに基づいて喑号メール受信側の流れについて 説明する。
図 19に示すように、 TCP2ドライバ 34のメールシステムコア 37は、起動時には常時 、登録してレ、る全ユーザの SMTPと POP3サーバの IPアドレスとポート番号を含むパ ケットを捕捉するためのフック要求を出している(ステップ S180)。 TCP2コア 36は、 このフック要求を受けると、登録してある全ユーザの POP3と SMTPのサーバの IPァ ドレスとポート番号を含むパケットを捕捉 (フック)する(ステップ S181)。
[0144] そして、喑号メールの受信側の流れは、既存メーラ 31でメールの受信を実行するこ とで開始する。この段階で、既存メーラ 31とネットワーク 40に接続されたメールサー ノ 41 (図 4参照)との間で TCP通信が確立される。言い換えると、既存メーラ 31を有 するクライアント装置 Aとネットワーク 40に接続されるメールサーバ 41 (クライアント装
置 Bといってもよレ、)との間で TCP通信が確立される。
[0145] ネットワーク 40に接続されたメールサーバ 41からは、 POP3接続メッセージが送ら れる力 TCP2コア 36は、この POP3接続メッセージを受け取り、 POP3の接続である ことを認識した上で、メールシステムコア 37にフック結果を通知する(ステップ S183)
[0146] メールシステムコア 37は、 TCP2コア 36からのフック結果を受けて、 TCP2コア 36 にパケットのインターセプトを要求する(ステップ S184)。このメールシステムコア 37か らのインターセプト要求を受けて、 TCP2コア 36はパケットのインターセプトを開始す る(ステップ S185)。
[0147] 続いて、クライアント装置 Aのメーラ 31から TCP2コア 36に対して、ユーザ IDが送 信され、 TCP2コア 36は、このユーザ IDのパケットを確認し(ステップ S186)、メーラ 力もの「USER」メッセージをメールシステムコア 37に送る。メールシステムコア 37は、 この「USER」メッセージを分析して、記憶メディア 38 (図 3、図 5参照)に、ユーザ ID を一時的に保存 (仮保存)しておく(ステップ S187)。ここで、一時的に保存とは、パス ワードの確認等によって認証ができていない段階、すなわり、認証後の正式な保存 の前段階の保存を意味している。そして、ユーザ IDをネットワーク 40に接続されてい るメールサーバ 41に送る。
[0148] メールサーバ 41からはこのユーザ IDに対する応答が TCP2コア 36に返されるが、 TCP2コア 36は、ユーザ ID応答メッセージのパケットを確認してその結果である「十 〇K」メッセージをメールシステムコア 37に送る(ステップ S187)。この「 + OK」メッセ ージとは、メールサーバ 41において「ユーザ IDが認識されたのでパスワードを送れ( User recognized, send password)」とレヽっメッセーンである。メーノレシステムコア 37は、 この「 +〇K」メッセージを分析し、メーラ 31に対してメールサーバ 41からのユーザ ID 応答を転送する(ステップ SI 88)。
[0149] 次に、クライアント装置 Aの既存メーラ 31からネットワーク 40に接続されるメールサ ーバ 41へパスワードメッセージが送られる。このメーラ 31から送られたパスワードメッ セージは、 TCP2コア 36で確認され、メールシステムコア 37にこの確認のパスワード メッセージのパケットが送られる(ステップ S 189)。メールシステムコア 37は、 TCP2コ
ァ 36からの「PASS」メッセージを受け取り、これを分析する。分析した結果、記憶メデ ィァ 38にパスワードを一時的に保存 (仮保存)するとともに、ネットワーク 40に接続さ れてレ、るメールサーバ 41に対してパスワードを送る(ステップ S 190)。
[0150] 次に、メールサーバ 41からパスワード応答メッセージがクライアント装置 Aに送られ る。 TCP2コア 36でパスワード応答のパケットを確認し、メールシステムコア 37にパス ワード応答メッセージのパケットを送る(ステップ S191)。メールシステムコア 37はパ スワード応答メッセージである「+OK」メッセージのパケットを分析し、既に記録メディ ァ 38に登録されているユーザ IDとパスワード及び上記一時的に保存されたユーザ I Dとパスワードから鍵情報を取得する(ステップ S192)。そして、受け取ったパスヮー ド応答をメーラ 31に送る。
[0151] 続いて、図 20に基づいて、暗号メール受信側の流れの続きを説明する。メールシス テムコア 37からのパスワード応答の送信を受けて、メーラ 31は、メールのダウンロード 要求を発信する。 TCP2コア 36はメーラ 31からのダウンロード要求のパケットを確認 し、これを「RETR」メッセージとしてメールシステムコア 37に伝える(ステップ S 193)。 メールシステムコア 37は、この「RTER」メッセージを分析し、ネットワーク 40に接続さ れているメールサーバ 41にメールダウンロード要求を送る(ステップ S 194)。ここで、 「RETR」メッセージは、パラメータで指定したメッセージを受け取るための POP3の基 本的コマンドである。仮にメッセージのない行をパラメータとして指定したときは、 Γ-Ε RR message does not exist」力 = "返 れることに つてレヽ 。
[0152] その後、メールサーバ 41からダウンロード応答(「+OK」メッセージ)とメール'メッセ ージが送られてくる。 TCP2コア 36は、このダウンロード応答(「+ΟΚ」メッセージ)とメ ール.メッセージのパケットを確認し、これをメールシステムコア 37に送る(ステップ S1 95)。
[0153] メールシステムコア 37は、このダウンロード応答(「+ΟΚ」メッセージ)とメール'メッセ ージを分析し、これが暗号文であれば TCP2メールアプリケーション部 35に「メール の状態」と送信元メールのアドレスを通知する。ここで、「メールの状態」とは、「暗号文 」であるか否力 \「HTML」ファイルであるかどうか、あるいは「添付ファイル」が付いて レ、るか否か等の状況をいう。なお、パケットは TCP2メールアプリケーション部 35に送
らずに、メールシステムコア 37に留めておく(ステップ S196)。なお、 TCP2ドライノく 3 4の実装形態により、メールシステムコア 37の記憶メディア 38にメール'メッセージを 保存するように設定することもできる。
[0154] TCP2メールシステムアプリケーション部 35は、メールシステムコア 37から送られた メールの状態、送信元メールアドレスを出力装置 33の表示画面に表示する(ステップ S197)。そして、出力装置 33に表示されたメール一覧をメール受信者が見て、入力 装置 32の「受信」ボタンを押す (ステップ S 198)と、メールが受信され、メールシステ ムコア 37を経由してクライアント装置 Aのメーラ 31に受信メールが暗号文のまま送ら れる(ステップ S 199)。
ここで、基本的には暗号文のままメーラ 31に送られるのである力 システムの設定 により、復号ィ匕部 52 (図 5参照)で復号ィ匕し、平文でメーラに送ることも可能である。ス テツプ S 198で受信ボタンの代わりに、破棄ボタンを押せば、メールシステムコア 37の メール/添付ファイル削除部 54 (図 5参照)において、破棄ボタンの押されたメール が削除される。
[0155] このようにしてダウンロード応答と受信されたメール'メッセージとがクライアント装置 Aのメーラ 31に送られ、記憶メディア 39に暗号文 (場合によっては平文)でメール'メ ッセージが保存される(ステップ S 200)。メーラ 31は、メッセージ削除要求「DELE」を TCP2コア 36に送る。 TCP2コア 36は、このメッセージ削除要求のパケットを確認し( ステップ S201)、メールシステムコア 37に送る。メールシステムコア 37は、このメッセ ージ削除要求「DELE」を分析し、このメッセージ削除要求をメールサーバ 41に送る( ステップ S202)。
[0156] このメッセージ削除要求を受けて、メールサーバ 41は、メッセージ削除応答を TCP 2コア 36に送り、 TCP2コア 36はこのパケットを確認する(ステップ S203)。メールシ ステムコア 37は、このメッセージ削除応答の「+OK」メッセージを分析し、これをメーラ 31に送る(ステップ S 204)。
[0157] メーラ 31は、このメッセージ削除応答を受信すると、終了宣言メッセージ「QUIT」を メールサーバ 41に送ることになる力 この終了宣言メッセージを受信した TCP2コア 3 6は、このパケットを確認して(ステップ S205)、「QUIT」メッセージとしてメールシステ
ムコア 37に送る。メールシステムコア 37は、この「QUIT」メッセージを分析し、メール サーバ 41に終了宣言を送信する(ステップ S206)。
[0158] メールサーバ 41は、この終了宣言に対して、終了宣言応答を発し、これをクライア ント装置 Aの TCP2コア 36に送る。そして、クライアント装置 Aの TCP2コア 36は、受 信した終了宣言応答のパケットを確認し、 SMTPの応答コード「+OK」メッセージとし てメールシステムコア 37に送る(ステップ S207)。メールシステムコア 37は、この「+0 K」メッセージを分析し、その終了宣言応答を自端末のメーラ 31に送る(ステップ S 20 8)。これによつて、暗号メール受信側の流れが全て完了し、クライアント装置 Αのメー ラ 31とメールサーノく 41 (クライアント装置 B)との TCP通信が切断される。
[0159] <TCP2メールシステムの実施例の説明 >
最後に、図 21に基づいて、 TCP2メールシステムの全体の流れを概観しておく。 図 21に示されるように、クライアント装置 Aとクライアント装置 Bはそれぞれのメールサ ーバ Aとメールサーバ Bを介してメール通信を行う。まず、クライアント装置 A力 鍵交 換用定型メールの送信が行われる力 このときクライアント装置 Aの TCP2ドライバで 鍵元値が付加され、かつ保存される。このクライアント装置からの鍵交換用定型メー ルは、メールサーバ A、 Bを経由してクライアント装置 Bの TCP2ドライバに送られ、こ こで鍵元値が保存されて、クライアント装置 Bのメーラで受信される。
[0160] 次に、クライアント装置 Bからクライアント装置 Aに向けて鍵交換用定型メールの送 信が行われる。ここで、クライアント装置 Bの TCP2ドライバでは、鍵元値が付加、保存 されるとともに、新たな鍵生成がなされる。そして、鍵交換用定型メールカ^ールサー バ B、 Aを経由してクライアント装置 Aに送られる。クライアント装置 Aでは、その TCP2 ドライバで鍵元値が保存されるとともに、新たな鍵生成が行われた後、メーラが鍵交 換用受信メールを受信する。この鍵交換用定型メールのやり取りは、初回のみ行わ れ、それ以降のメールの通信においては、不要となる。
[0161] クライアント装置 A力 メールの送信が行われる。まずクライアント装置 Aのメーラは TCP2ドライバに平文のメールを送り、 TCP2ドライバは、この平文のメールを暗号化 する。そして喑号化されたメールは、メールサーバ A, Bを経由してクライアント装置 B に送られる。クライアント装置 Bの TCP2ドライバでは、その設定により、これを暗号文
のまま自端末のメーラにおくる力、または復号ィ匕して平文の状態でメーラに送る。クラ イアント装置 Bからクライアント装置 Aへのメール送信も同様に行われる。以上が、 TC
P2メールシステムの概要である。
[0162] 以上説明したように、本発明の TCP2を用いたメールシステムでは、高いセキユリテ ィ機能を持つ TCP2を用いてメールの通信を行うので、既存の暗号化処理によるメー ル通信と比べても、特にデータの漏洩、改ざん、なりすまし、進入そして攻撃に対して 極めて強力な防御機能を発揮する。
[0163] 本発明は、以上説明した実施の形態に限定されるものではなぐ特許請求項に記 載した本発明の要旨を逸脱しない範囲において、さらに多くの実施形態を含むもの であることは言うまでもなレ、。
引用符号の説明
[0164] 31···既存メーラ、 32· "入力装置、 33· "出力装置、 34· · 'TCP2ドライバ、 35··· TCP2メールシステムアプリケーション部、 36· · 'TCP2コア、 37·· 'メールシステムコ ァ、 38、 39···記憶メディア、 40· "ネットワーク、 41···メールサーバ、 50· "認証 部、
51···暗号化部、 52···復号化部、 53···鍵交換部