(57)【要約】【課題】  暗号メールや署名付き電子メールの送信機能を備え、クライアントから各機能の確認と各機能の使用の制御が可能な電子メールサーバ装置及びクライアント装置を提供する。【解決手段】  クライアント２から電子メールサーバ装置１に接続があると、電子メールサーバ装置１は暗号メールの送信能力についての情報を応答コードに含めて返信する。これを受けてクライアント２は暗号メールで送信するか否かを制御できる。クライアント２が暗号メールの送信指示を行と、電子メールサーバ装置２は、鍵記憶部１２に送信先の公開鍵が記憶されているか否かを判定して、暗号メールでの送信の可否を返信する。送信可なら、クライアント２は電子メールのデータを電子メールサーバ装置１に送る。電子メールサーバ装置２は、送信先の公開鍵で暗号化し、暗号メールとして配信する。【選択図】  図１
2007004440.tif 000002
【特許請求の範囲】
【請求項１】
電子メールの送受信が可能な通信手段と、前記通信手段を通じてクライアントとの間の電子メールの送受信を行う制御手段を有し、前記制御手段は、前記クライアントからの接続があったときに暗号メールの送信能力を示す情報を含めて応答コードを返信することを特徴とする電子メールサーバ装置。
【請求項２】
さらに、送信先の公開鍵を記憶する鍵記憶手段を有し、前記制御手段は、前記通信手段を通じて前記クライアントから暗号メールの送信指示と送信先の指定を受信したときに、該送信先に対応する公開鍵が前記鍵記憶手段に記憶されているか否かを判断して暗号メール送信の可否を応答し、暗号メールの送信可の応答を返信した場合は、続いて受信した電子メールデータを暗号化して送信先に配信することを特徴とする請求項１に記載の電子メールサーバ装置。
【請求項３】
電子メールの送受信が可能な通信手段と、送信先の公開鍵を記憶する鍵記憶手段と、前記通信手段を通じてクライアントから暗号メールの送信指示と送信先の指定を受信したときに、該送信先に対応する公開鍵が前記鍵記憶手段に記憶されているか否かを判断して暗号メール送信の可否を応答し、暗号メールの送信可の応答を返信した場合は、続いて受信した電子メールデータを暗号化して送信先に配信する制御手段を有することを特徴とする電子メールサーバ装置。
【請求項４】
電子メールの送受信が可能な通信手段と、前記通信手段を通じてクライアントとの間の電子メールの送受信を行う制御手段を有し、前記制御手段は、前記クライアントからの接続があったときに署名付きの電子メールの送信能力を示す情報を含めて応答コードを返信することを特徴とする電子メールサーバ装置。
【請求項５】
さらに、クライアントの秘密鍵を記憶する鍵記憶手段を有し、前記制御手段は、前記通信手段を通じて前記クライアントから署名付きの電子メールの送信指示を受信したときに、該クライアントに対応する秘密鍵が前記鍵記憶手段に記憶されているか否かを判断して署名付きの電子メール送信の可否を応答し、署名付きの電子メールの送信可の応答を返信した場合は、続いて受信した電子メールデータに署名して送信先に配信することを特徴とする請求項４に記載の電子メールサーバ装置。
【請求項６】
電子メールの送受信が可能な通信手段と、クライアントの秘密鍵を記憶する鍵記憶手段と、前記通信手段を通じてクライアントから署名付き電子メールの送信指示を受信したときに、該クライアントに対応する秘密鍵が前記鍵記憶手段に記憶されているか否かを判断して署名付き電子メール送信の可否を応答し、署名付き電子メールの送信可の応答を返信した場合は、続いて受信した電子メールデータに署名して送信先に配信する制御手段を有することを特徴とする電子メールサーバ装置。
【請求項７】
ネットワークを通じて電子メールサーバ装置と通信が可能な通信手段と、少なくとも暗号メールの送信指示を受け付ける指示手段と、前記通信手段を通じて前記電子メールサーバ装置から該電子メールサーバ装置の送信能力の情報を応答コードとともに受け取り、前記指示手段で暗号メールの送信指示を受けており前記電子メールサーバ装置が暗号メールの送信能力を有している場合に暗号メールでの送信を前記電子メールサーバ装置に指示して電子メールを送信する制御手段を有することを特徴とするクライアント装置。
【請求項８】
ネットワークを通じて電子メールサーバ装置と通信が可能な通信手段と、少なくとも暗号メールの送信指示を受け付ける指示手段と、前記指示手段で暗号メールの送信指示を受けている場合に前記通信手段を通じて前記電子メールサーバ装置に対して暗号メールでの送信を前記電子メールサーバ装置に指示し、該指示の応答として肯定応答が返信された場合に電子メールを送信する制御手段を有することを特徴とするクライアント装置。
【請求項９】
ネットワークを通じて電子メールサーバ装置と通信が可能な通信手段と、少なくとも署名付き電子メールの送信指示を受け付ける指示手段と、前記通信手段を通じて前記電子メールサーバ装置から該電子メールサーバ装置の送信能力の情報を応答コードとともに受け取り、前記指示手段で暗号メールの送信指示を受けており前記電子メールサーバ装置が署名付き電子メールの送信能力を有している場合に署名付き電子メールでの送信を前記電子メールサーバ装置に指示して電子メールを送信する制御手段を有することを特徴とするクライアント装置。
【請求項１０】
ネットワークを通じて電子メールサーバ装置と通信が可能な通信手段と、少なくとも署名付き電子メールの送信指示を受け付ける指示手段と、前記指示手段で暗号メールの送信指示を受けている場合に前記通信手段を通じて前記電子メールサーバ装置に対して署名付き電子メールでの送信を前記電子メールサーバ装置に指示し、該指示の応答として肯定応答が返信された場合に電子メールを送信する制御手段を有することを特徴とするクライアント装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、安全に電子メールの送受信を行う技術に関するものである。
【背景技術】
【０００２】
近年ではネットワークを利用した電子メールが一般的に利用されている。その反面、インターネットなどにおいては電子メールのデータを改ざんしたり、他人になりすまして電子メールを送りつけるなど、不正も横行している。そのため、電子メールを安全に相手先へ送り、また受け取った電子メールが真正な送信者からのものであることを確認するための技術が開発されてきている。特に電子メールは１対１でやりとりされる情報であり、秘匿性が求められることが多く、安全に送受信できることが重要となってきている。
【０００３】
そのような技術として、暗号メールや電子署名などの技術が開発されている。暗号メールは、送信側では秘密鍵となるセッションキーを生成して内容を暗号化し、そのセッションキーを受信側の秘密鍵に対応する公開鍵を用いて暗号化して、暗号化された内容とともに送信し、受信側では秘密鍵を用いて暗号化されたセッションキーを復号し、そのセッションキーを用いて内容を復号している。暗号メールに関しては、例えば特許文献１などに記載されている。電子メールの通信経路においては電子メールは暗号化されているので、秘密鍵がなければ内容を参照することも、改ざんを行うこともできない。従って、安全に電子メールを送ることができる。
【０００４】
また電子署名は、電子メールの内容をそのハッシュ値とともに送信側の秘密鍵で暗号化して送信し、受信側では送信側の秘密鍵に対応する公開鍵で復号し、ハッシュ値の検証を行う。これにより、送信者の特定と内容の改ざんの有無などを検証することができる。
【０００５】
いずれの技術も、暗号化あるいは署名の際に、相手方の公開鍵あるいは送信元の秘密鍵が必要となる。これらの鍵を管理し、また暗号化や署名のための処理を、それぞれの送信元で行うことは負担が大きい。そのため、例えば特許文献２においては、プロキシサーバにおいて電子メールを暗号化し、インターネットへ送出している。
【０００６】
上述のように暗号化や署名を行うためには鍵を管理している必要があり、相手方の公開鍵を管理していなければ電子メールを暗号化できないし、送信元の秘密鍵を管理していなければ署名することもできない。しかし、従来は送信元から電子メールを送信する際には暗号化あるいは署名できるか否かがわからないまま送信するしかなく、例えばプロキシサーバなどで暗号化あるいは署名できない場合には電子メールを送信しないといった制御を、送信元において行うことができなかった。また、送信元が電子メールを安全に送信したい場合に、実際に安全に送信できるのか否かを送信前に知ることもできなかった。
【０００７】
【特許文献１】特開２００２−２２２１５１号公報
【特許文献２】特開２００２−２４１４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、上述した事情に鑑みてなされたもので、暗号化や署名機能を備えた電子メールサーバ装置を提供するとともに、この電子メールサーバ装置へ電子メールの送信を依頼する送信元から、暗号化や署名の制御が可能な電子メールサーバ装置を提供することを目的とするものである。
【課題を解決するための手段】
【０００９】
本発明は、電子メールサーバ装置において、電子メールの送受信が可能な通信手段と、通信手段を通じてクライアントとの間の電子メールの送受信を行う制御手段、あるいはさらに送信先の公開鍵を記憶する鍵記憶手段を有し、制御手段は、前記クライアントからの接続があったときに暗号メールの送信能力を示す情報を含めて応答コードを返信することを特徴とするものである。クライアントは、電子メールサーバ装置からの応答コードを参照し、暗号メールを利用可能であるか否かを知ることができる。
【００１０】
電子メールサーバ装置から暗号メールの送信能力を示す情報が応答コードに含まれており、暗号メールにより送信する場合には、クライアントはクライアントから暗号メールの送信指示と送信先の指定を行う。電子メールサーバ装置の制御手段は、クライアントから暗号メールの送信指示と送信先の指定を受信したときには、その送信先に対応する公開鍵が鍵記憶手段に記憶されているか否かを判断して暗号メール送信の可否を応答する。このとき、暗号メールの送信可の応答を返信した場合には、続いて受信した電子メールデータを暗号化して送信先に配信する。これによって、送信先へ暗号メールを配信することができる。
【００１１】
また本発明は、電子メールサーバ装置において、電子メールの送受信が可能な通信手段と、通信手段を通じてクライアントとの間の電子メールの送受信を行う制御手段、あるいはさらにクライアントの秘密鍵を記憶する鍵記憶手段を有し、制御手段は、クライアントからの接続があったときに、署名付きの電子メールの送信能力を示す情報を含めて応答コードを返信することを特徴とするものである。クライアントは、電子メールサーバ装置からの応答コードを参照し、署名付きの電子メールを利用可能であるか否かを知ることができる。
【００１２】
電子メールサーバ装置から署名付きの電子メールの送信能力を示す情報が応答コードに含まれており、署名付き電子メールにより送信する場合には、クライアントは署名付き電子メールの送信指示を行う。電子メールサーバ装置の制御手段は、クライアントから署名付きの電子メールの送信指示を受信したときには、そのクライアントに対応する秘密鍵が鍵記憶手段に記憶されているか否かを判断して署名付きの電子メール送信の可否を応答する。このとき、署名付きの電子メールの送信可の応答を返信した場合は、続いて受信した電子メールデータに署名して送信先に配信することができる。
【００１３】
さらに本発明は、クライアント装置において、ネットワークを通じて電子メールサーバ装置と通信が可能な通信手段と、少なくとも暗号メールの送信指示を受け付ける指示手段と、前記通信手段を通じて前記電子メールサーバ装置から該電子メールサーバ装置の送信能力の情報を応答コードとともに受け取り、前記指示手段で暗号メールの送信指示を受けており前記電子メールサーバ装置が暗号メールの送信能力を有している場合に暗号メールでの送信を前記電子メールサーバ装置に指示して電子メールを送信する制御手段を有することを特徴とするものである。あるいは制御手段は、前記指示手段で暗号メールの送信指示を受けている場合に前記通信手段を通じて前記電子メールサーバ装置に対して暗号メールでの送信を前記電子メールサーバ装置に指示し、該指示の応答として肯定応答が返信された場合に電子メールを送信する制御手段を有することを特徴とするものである。
【００１４】
さらにまた本発明は、クライアント装置において、ネットワークを通じて電子メールサーバ装置と通信が可能な通信手段と、少なくとも署名付き電子メールの送信指示を受け付ける指示手段と、前記通信手段を通じて前記電子メールサーバ装置から該電子メールサーバ装置の送信能力の情報を応答コードとともに受け取り、前記指示手段で暗号メールの送信指示を受けており前記電子メールサーバ装置が署名付き電子メールの送信能力を有している場合に署名付き電子メールでの送信を前記電子メールサーバ装置に指示して電子メールを送信する制御手段を有することを特徴とするものである。あるいは制御手段は、前記指示手段で暗号メールの送信指示を受けている場合に前記通信手段を通じて前記電子メールサーバ装置に対して署名付き電子メールでの送信を前記電子メールサーバ装置に指示し、該指示の応答として肯定応答が返信された場合に電子メールを送信する制御手段を有することを特徴とするものである。
【発明の効果】
【００１５】
本発明によれば、クライアントが電子メールを送信しようとして電子メールサーバ装置に接続したとき、電子メールサーバ装置は、暗号メールや署名付き電子メールの送信能力の有無を示す情報を応答コードに含めて返信するので、クライアントでは、この応答コードを参照することによって暗号メールあるいは署名付き電子メールにより送信するか否かをクライアント側で決定することができるという効果がある。例えば暗号メールや署名付き電子メールによる送信を行うことができない場合には、電子メールの送信自体を行わないといった制御をクライアントが行うことができる。
【００１６】
また、電子メールサーバ装置が暗号メールや署名付き電子メールの送信能力を有していても、送信先の公開鍵を保持していなければ暗号メールを送信することはできないし、クライアントの秘密鍵を保持していなければクライアントに代わって署名することもできない。そのため、クライアントから送信先とともに暗号メールでの送信を指示された場合には、送信先に対応した公開鍵が鍵記憶手段に記憶されているか否かを判断して、暗号メールでの送信の可否をクライアントへ応答するので、クライアントは、実際に暗号メールとして送信可能であるのか否かを、電子メールの送信前に知ることができる。同様に、クライアントから署名付き電子メールでの送信を指示された場合には、クライアントに対応した秘密鍵が鍵記憶手段に記憶されているか否かを判断して、署名付き電子メールの送信の可否をクライアントへ応答するので、クライアントは、実際に署名付き電子メールとして送信可能であるのか否かを、電子メールの送信前に知ることができる。これによって、クライアントでは暗号メールや署名付き電子メールにより送信できる場合のみ電子メールを送信し、暗号メールや署名付き電子メールにより送信できない場合にはその時点で電子メールの送信をやめるなどの制御を行うことによって、安全性を確保することができるという効果がある。
【発明を実施するための最良の形態】
【００１７】
図１は、本発明の第１の実施の形態を示すブロック図である。図中、１は電子メールサーバ装置、２はクライアント、３はネットワーク、１１は通信部、１２は鍵記憶部、１３は制御部、２１は通信部、２２は指示部、２３は制御部である。電子メールサーバ装置１とクライアント２はネットワーク３を通じて相互に通信を行い、ここでは電子メールの送受信を行う。もちろん、ネットワーク３には送信先の電子メールサーバ装置を含め、様々なネットワーク装置が通信可能に接続されている。
【００１８】
電子メールサーバ装置１は、この第１の実施の形態では、クライアント２から受け取った電子メールを暗号メールとして送信先へ送信する機能を有しているものとする。この電子メールサーバ装置１は、ここでは通信部１１，鍵記憶部１２、制御部１３等を含んで構成されている。
【００１９】
通信部１１は、ネットワーク３を通じて他の装置と通信を行う。鍵記憶部１２は、電子メールを暗号化するための公開鍵を送信先ごとに記憶している。公開鍵は、例えば認証局が発行した証明書として予め取得しておくことができる。
【００２０】
制御部１３は、電子メールサーバ装置１の制御を行う。特にクライアントが電子メールを送信しようとして接続してきた場合には、暗号メールの送信能力を示す情報を含めて応答コードを返信する。また、その応答の後、クライアント２から暗号メールの送信指示と送信先の指定を受信したときには、その送信先に対応する公開鍵が鍵記憶部１２に記憶されているか否かを判断し、暗号メール送信の可否を応答する。その応答が暗号メール送信可の応答であった場合には、続いて送られてくる電子メールデータを受信し、その電子メールデータを送信先に対応づけて鍵記憶部１２に記憶されている公開鍵を用いて暗号化し、送信先に配信する。
【００２１】
クライアント２は、通信部２１、指示部２２、制御部２３等を含んで構成されている。通信部２１は、ネットワーク３を通じて他の装置と通信を行う。指示部２２は、ここではユーザあるいは他の機器あるいはソフトウェアなどから暗号メールによる送信指示を受け付ける。
【００２２】
制御部２３は、クライアント２の制御を行う。特に電子メールを送信する際の制御として、通信部２１を通じて電子メールサーバ装置１から、電子メールサーバ装置１の送信能力の情報を応答コードとともに受け取る。そして、指示部２１で暗号メールの送信指示を受けており、電子メールサーバ装置１が暗号メールの送信能力を有している場合に、暗号メールでの送信を電子メールサーバ装置１に指示して電子メールを送信する。また、暗号メールでの送信を電子メールサーバ装置１に指示したときの応答として肯定応答が返信された場合に、電子メールを送信する。なお、暗号メールの送信指示を受けているが、電子メールサーバ装置１が暗号メールの送信能力を有していない場合には、当該電子メールを送信しないか、あるいは通常の電子メールとして送信するように構成することができる。また、その場合の動作を予め設定し、あるいはそのときに選択するように構成してもよい。
【００２３】
図２は、本発明の第１の実施の形態における動作の一例を示すフローチャートである。ここではクライアント２と電子メールサーバ装置との間で、プロトコルとして拡張ＳＭＴＰを用いて通信を行うものとし、電子メールサーバ装置１側の処理を主に説明する。なお、具体例については後述する。
【００２４】
Ｓ３１において、クライアント２からの接続を待つ。クライアント２からの接続が行われると、Ｓ３２において、クライアント２からのＥＨＬＯコマンドを待つ。
【００２５】
クライアント２からＥＨＬＯコマンドを受け取ると、ここではＳ３３において、鍵記憶部１２に公開鍵が１つでも記憶されているか否かを判定する。公開鍵が何も記憶されていない場合には、電子メールを暗号化して送信できる送信先が存在せず、暗号メールを送信できないのと同じである。このような場合には、Ｓ３４において、暗号メールの送信能力を示す情報を含めずに応答コードの返信を行い、Ｓ３５において、通常の電子メールの送信処理を行う。なお、Ｓ３５の通常の電子メールの送信処理には、電子メールを送らずにそのまま終了してしまう場合も含むものである。
【００２６】
鍵記憶部１２に１つ以上の公開鍵が記憶されている場合には、暗号メールでの送信が可能な場合もあるので、Ｓ３６において、暗号メールの送信能力を示す情報を含めて応答コードの返信を行う。なお、Ｓ３３における判断を行わずに、常に暗号メールの送信能力を示す情報を含めた応答コードの返信を行ってもよい。
【００２７】
クライアント２は、Ｓ３４またはＳ３６による電子メールサーバ装置１からの応答コードを受け取ることによって、電子メールサーバ装置１が暗号メールを送信する機能を有しているか否かを知ることができる。例えばクライアント２においてユーザから暗号メールでの送信が指示されており、電子メールサーバ装置１からの応答コードに暗号メールの送信能力を示す情報が含まれていない場合には、電子メールを安全に送ることができない可能性があるので、電子メールの送信を中止することができる。あるいは、暗号化できなければそのまま送信してもよいような内容の電子メールであれば、そのまま通常の電子メールとして送信することもできる。このような制御を、クライアント２側で行うことができる。
【００２８】
電子メールサーバ装置１から暗号メールの送信能力を示す情報を含めた応答コードがクライアント２に返信された場合には、クライアント２は電子メールサーバ装置１に対して暗号メールでの送信を要求することができる。
【００２９】
電子メールサーバ装置１は、クライアント２からのコマンドを受け取ると、そのコマンドが暗号メールでの送信を要求するものであるか否かをＳ３７で判定する。クライアント２から受け取ったコマンドが暗号メールでの送信を要求するものでなかった場合には、暗号メールでの送信機能を利用しないものとして、Ｓ３５において、通常の電子メールの送信処理を行う。
【００３０】
クライアント２から受け取ったコマンドが暗号メールでの送信を要求するものであった場合には、暗号メールでの送信機能を利用するものとし、続くメール送信コマンドの受信をＳ３８で待ち、メール送信コマンドを受信した後、続いて送られてくる送信先指定コマンドを受信する。Ｓ３９において、受信したコマンドが送信先指定コマンドであることをＳ３９において確認後、Ｓ４０において、送信先指定コマンドで指定された送信先に対応する公開鍵が鍵記憶部１２に記憶されているか否かを判定する。送信先に対応する公開鍵が鍵記憶部１２に記憶されていればＳ４１においてＯＫコードを返信する。また、送信先に対応する公開鍵が鍵記憶部１２に記憶されていない場合には、電子メールの暗号化を行うことができないので、Ｓ４２において、エラーコードを返信する。
【００３１】
Ｓ３９に戻って次のコマンドが送信先指定コマンドであるか否かを判断し、上述のように送信先に対応する公開鍵が鍵記憶部１２に記憶されているか否かによりＯＫコードあるいはエラーコードを返信する。このような処理を、クライアント２が送ってくる送信先指定コマンドごとに繰り返して行う。なお、この過程において、ＯＫコマンドを返信した送信先についてのみ、暗号メールの送信先として保存し、エラーコードを返信した、すなわち送信先に対応する公開鍵が鍵記憶部１２に記憶されていなかった宛先については電子メールの送信を行わないものとする。もちろん、クライアント２からの指示により、暗号メールによる送信ができない送信先については通常の電子メールとして送信することも可能である。
【００３２】
送信先に対応する公開鍵のチェックが終了したら、続いて送られてくるデータコマンドをＳ４３において待つ。なお、例えばすべての送信先について暗号メールで送信することができない場合や、１つでも暗号メールによる送信ができないためにクライアント２側で送信先を変更するような場合には、クライアント２はデータコマンドにより電子メールの送信を行わずに、ＱＵＩＴコマンドにより通信を終了することもできる。
【００３３】
Ｓ４３でデータコマンドを受信したら、Ｓ４４において、電子メールデータを受信する。そしてＳ４５において、送信先に対応する公開鍵を鍵記憶部１２から読み出し、受信した電子メールデータを暗号化し、暗号メールとしてＳ４６において送信先（送信先を管轄する電子メールサーバ装置）へ宛てて配信する。
【００３４】
このようにして、電子メールサーバ装置１が暗号メールの送信能力の有無や、暗号メールが指定されたときに送信先に対応する公開鍵の有無などを判断してクライアントに返信するので、クライアント２は、電子メールサーバ装置１からの返信により暗号メールでの送信が可能か否かを知ることができ、その応答に基づいて電子メールの送信を制御することができる。
【００３５】
次に、本発明の第２の実施の形態について説明する。この第２の実施の形態における構成は、上述の第１の実施の形態において図１に示した構成と同様であるので図示を省略し、異なる部分について説明する。
【００３６】
この第２の実施の形態では、電子メールサーバ装置１は署名付きの電子メールを送信する機能を有している。電子メールサーバ装置１の鍵記憶部１２は、電子メールに署名するための秘密鍵をクライアントごとに記憶している。
【００３７】
また制御部１３は、クライアントが電子メールを送信しようとして接続してきた場合には、署名付き電子メールの送信能力を示す情報を含めて応答コードを返信する。また、その応答の後、クライアント２から署名付き電子メールの送信指示を受信したときには、クライアント２に対応する秘密鍵が鍵記憶部１２に記憶されているか否かを判断し、署名付き電子メールの送信の可否を応答する。その応答が署名付き電子メールを送信可の応答であった場合には、続いて送られてくる電子メールデータを受信し、その電子メールデータに、クライアントに対応づけて鍵記憶部１２に記憶されている秘密鍵を用いて署名し、送信先に配信する。
【００３８】
クライアント２の指示部２２は、ここでは署名付き電子メールの送信指示を受け付ける。またクライアント２の制御部２３は、電子メールサーバ装置１から、電子メールサーバ装置１の送信能力の情報を応答コードとともに受け取って署名付き電子メールの送信能力の有無を調べる。そして、指示部２１で暗号メールの送信指示を受けており、電子メールサーバ装置１が署名付き電子メールの送信能力を有している場合に、署名付き電子メールでの送信を電子メールサーバ装置１に指示して電子メールを送信する。また、署名付き電子メールでの送信を電子メールサーバ装置１に指示したときの応答として肯定応答が返信された場合に、電子メールを送信する。なお、署名付き電子メールの送信指示を受けているが、電子メールサーバ装置１が署名付き電子メールの送信能力を有していない場合には、当該電子メールを送信しないか、あるいは通常の電子メールとして送信するように構成することができる。また、その場合の動作を予め設定し、あるいはそのときに選択するように構成してもよい。
【００３９】
図３は、本発明の第２の実施の形態における動作の一例を示すフローチャートである。ここではクライアント２と電子メールサーバ装置との間で、プロトコルとして拡張ＳＭＴＰを用いて通信を行うものとして説明する。なお、具体例については後述する。
【００４０】
Ｓ５１において、クライアント２からの接続を待つ。クライアント２からの接続が行われると、Ｓ５２において、クライアント２からのＥＨＬＯコマンドを待つ。
【００４１】
クライアント２からＥＨＬＯコマンドを受け取ると、ここではＳ５３において、鍵記憶部１２に秘密鍵が１つでも記憶されているか否かを判定する。秘密鍵が何も記憶されていない場合には、署名付き電子メールを送信できないのと同じである。このような場合には、Ｓ５４において、署名付き電子メールの送信能力を示す情報を含めずに応答コードの返信を行い、Ｓ５５において、通常の電子メールの送信処理を行う。なお、Ｓ５５の通常の電子メールの送信処理には、電子メールを送らずにそのまま終了してしまう場合も含むものである。
【００４２】
鍵記憶部１２に１つ以上の秘密鍵が記憶されている場合には、署名付き電子メールでの送信が可能な場合もあるので、Ｓ５６において、署名付き電子メールの送信能力を示す情報を含めて応答コードの返信を行う。なお、Ｓ５３における判断を行わずに、常に署名付き電子メールの送信能力を示す情報を含めた応答コードの返信を行ってもよい。
【００４３】
クライアント２は、Ｓ５４またはＳ５６による電子メールサーバ装置１からの応答コードを受け取ることによって、電子メールサーバ装置１が署名付き電子メールを送信する機能を有しているか否かを知ることができる。例えばクライアント２においてユーザから署名付き電子メールでの送信が指示されており、電子メールサーバ装置１からの応答コードに署名付き電子メールの送信能力を示す情報が含まれていない場合には、電子メールを安全に送ることができない可能性があるので、電子メールの送信を中止することができる。あるいは、署名できなければそのまま送信してもよいような内容の電子メールであれば、そのまま通常の電子メールとして送信することもできる。このような制御を、クライアント２側で行うことができる。
【００４４】
電子メールサーバ装置１から署名付き電子メールの送信能力を示す情報を含めた応答コードがクライアント２に返信された場合には、クライアント２は電子メールサーバ装置１に対して署名付き電子メールでの送信を要求することができる。
【００４５】
電子メールサーバ装置１は、クライアント２からのコマンドを受け取ると、そのコマンドが署名付き電子メールでの送信を要求するものであるか否かをＳ５７で判定する。クライアント２から受け取ったコマンドが署名付き電子メールでの送信を要求するものでなかった場合には、署名付き電子メールでの送信機能を利用しないものとして、Ｓ５５において、通常の電子メールの送信処理を行う。
【００４６】
クライアント２から受け取ったコマンドが署名付き電子メールでの送信を要求するものであった場合には、署名付き電子メールでの送信機能を利用するものとし、続くメール送信コマンドの受信をＳ５８で待つ。メール送信コマンドを受信したら、Ｓ５９において、そのメール送信コマンドで指定されているクライアントに対応する秘密鍵が鍵記憶部１２に記憶されているか否かを判定する。クライアントに対応する秘密鍵が鍵記憶部１２に記憶されていない場合には、電子メールに署名することができないので、Ｓ６０において、エラーコードを返信する。ここではそのまま処理を終了しているが、例えばＳ５５において通常のメールの送信処理に移行してもよい。
【００４７】
また、クライアントに対応する秘密鍵が鍵記憶部１２に記憶されていればＳ６１においてＯＫコードを返信する。この返信により、クライアント２は署名付き電子メールの送信が可能であることを知ることができる。
【００４８】
Ｓ６２において、送信先指定コマンドが送られてくるのを待ち、これを受信する。さらにＳ６３において、続いて送られてくるデータコマンドを待ち、Ｓ６４において電子メールのデータを受信する。そしてＳ６５において、クライアントに対応する秘密鍵を鍵記憶部１２から読み出し、その秘密鍵を用いて受信した電子メールデータに署名し、署名付き電子メールとしてＳ６６において送信先（送信先を管轄する電子メールサーバ装置）へ宛てて配信する。
【００４９】
このようにして、電子メールサーバ装置１が署名付き電子メールの送信能力の有無や、署名付き電子メールが指定されたときにクライアントに対応する秘密鍵の有無などを判断してクライアントに返信するので、クライアント２は、電子メールサーバ装置１からの返信により署名付き電子メールでの送信が可能か否かを知ることができ、その応答に基づいて電子メールの送信を制御することができる。
【００５０】
上述の第１の実施の形態及び第２の実施の形態は、適宜組み合わせることが可能である。例えば第１の実施の形態で説明した暗号メールの送信能力と、第２の実施の形態で説明した署名付き電子メールの送信能力をともに有している場合には、クライアントからの接続時に両者の能力を有する旨を応答コードに含めて返信するように構成することもできる。この場合、クライアントは応答コードを参照して、利用できる機能からいずれかあるいは両方の利用を指示し、電子メールサーバ装置では送信先の公開鍵やクライアントの秘密鍵の存在をチェックして応答し、指示された暗号メールまたは署名付き電子メールあるいはその両方により電子メールを送信することができる。
【００５１】
図４は、本発明におけるクライアントと電子メールサーバ装置との間の通信手順の具体例の説明図である。図４では、電子メールサーバ装置が上述の第１の実施の形態で説明した暗号メールの送信能力及び第２の実施の形態で説明した署名付き電子メールの送信能力の両方を有している場合について示している。なお、この具体例ではプロトコルとして拡張ＳＭＴＰを用いる場合について示している。
【００５２】
クライアントから電子メールサーバ装置に対してＴＣＰ接続を行うと、電子メールサーバ装置は、コネクション確立成功を示す応答コード２２０をクライアントに返信する。
【００５３】
クライアントがＥＨＬＯコマンドを電子メールサーバ装置に送ると、電子メールサーバ装置は、ＥＨＬＯコマンドの応答コードとしてコマンド終了を示す応答コード２５０とともに電子メールサーバ装置が提供している能力についての情報を返信する。この例では８ビットコードを送信可能な「８ＢＩＴＭＩＭＥ」、メッセージサイズに関するやりとりを行うための「ＳＩＺＥ」とともに、（Ａ）として示している「Ｘ−ＳＩＧＮＡＴＵＲＥ」、（Ｂ）として示している「Ｘ−ＳＭＩＭＥ」を返信している。（Ａ）に示す「Ｘ−ＳＩＧＮＡＴＵＲＥ」は、電子メールサーバ装置が署名付き電子メールの送信能力を有していることを示す情報であり、（Ｂ）に示す「Ｘ−ＳＭＩＭＥ」は、電子メールサーバ装置が暗号メールの送信能力を有していることを示す情報である。なお、返信する情報の順序は任意である。
【００５４】
このように、応答コード２５０に署名付き電子メール及び暗号メールの送信能力を示す情報を含めて返信する。クライアントは、この応答コードを参照することによって、電子メールサーバ装置が署名付き電子メールの送信能力や暗号メールの送信能力の有無を知ることができる。
【００５５】
この応答コードに対して、この例では、クライアントはまず「Ｘ−ＳＩＧＮＡＴＵＲＥ」を送信して署名付き電子メールによる送信を指示している。このコマンドに対して、電子メールサーバ装置は応答コード２５０（ＯＫ）を返している。さらにこの例では、クライアントは「Ｘ−ＳＭＩＭＥ」を送信し、暗号メールによる送信も指示している。このコマンドに対しても、電子メールサーバ装置は応答コード２５０（ＯＫ）を返している。なお、利用する送信機能を指示する順序は任意である。
【００５６】
これらの指示に続いて、クライアントは送信元を指定する「ＭＡＩＬ  ＦＲＯＭ：」コマンドを送信する。このとき、クライアントのメールアドレス（この例ではｔｅｓｔ＠ｓａｍｐｌｅ．ｃｏｍ）を付加する。電子メールサーバ装置は、クライアントから送られてきたメールアドレスをもとに、対応する秘密鍵が鍵記憶部１２に記憶されているか否かを判断する。ここでは対応する秘密鍵が鍵記憶部１２に記憶されていたものとして、応答コード２５０を返している。この例では、メッセージとして「ＯＫ  ｗｉｔｈ  Ｓｉｇｎａｔｕｒｅ」を返信し（図４（Ｃ））、署名付き電子メールの利用が可能である旨をクライアントに通知している。
【００５７】
続いてクライアントは送信先を指定する「ＲＣＰＴ  ＴＯ：」コマンドを送信する。このとき、送信先のメールアドレス（この例ではｒｃｐｔ１＠ｓａｍｐｌｅ．ｃｏｍ）を付加する。電子メールサーバ装置は、クライアントから送られてきた送信先のメールアドレスをもとに、送信先に対応する公開鍵が鍵記憶部１２に記憶されているか否かを判断する。ここでは送信先に対応する公開鍵が鍵記憶部１２に記憶されていたものとして、応答コード２５０を返している。この例では、メッセージとして「ＯＫ  ＳＭＩＭＥ  Ｆｏｒｍａｔ」を返信し（図４（Ｄ））、暗号メールの利用が可能である旨をクライアントに通知している。なお、複数の送信先を指定する場合には、クライアントからそれぞれの送信先ごとに「ＲＣＰＴ  ＴＯ：」コマンドが送信されることになる。
【００５８】
送信先の指定が終了すると、クライアントはＤＡＴＡコマンドを電子メールサーバ装置へ送信する。電子メールサーバ装置は、応答コード３５４を返した後、電子メールのデータを待つ。クライアントは、応答コード３５４を受けると、電子メールのデータを電子メールサーバ装置へ送信し、最後に「．」とＣＲ、ＬＦを送信する。電子メールサーバ装置は、電子メールのデータを正常に受信したら、応答コード２５０をクライアントに返す。クライアントはＱＵＩＴコマンドを送り、電子メールサーバ装置は応答コード２２１を返して一連の電子メールに関する通信を終了する。
【００５９】
電子メールサーバ装置は、クライアントのメールアドレスに対応する秘密鍵を鍵記憶部１２から読み出して受け取った電子メールのデータに署名し、また、送信先に対応する公開鍵を鍵記憶部１２から読み出して暗号化し、送信先（送信先を管轄する電子メールサーバ装置）へ配信する。
【００６０】
図５は、本発明におけるクライアントと電子メールサーバ装置との間の通信手順の別の具体例の説明図である。図５では、電子メールサーバ装置にクライアントの秘密鍵が記憶されていなかった場合について示している。なお、クライアントからのＥＨＬＯコマンドに対応して電子メールサーバ装置から応答コマンド２５０として署名付き電子メールの送信能力及び暗号メールの送信能力を示す情報を含めて返信するまでは、図４に示した具体例と同様である。
【００６１】
この電子メールサーバ装置からの応答コードの返信を参照し、この例ではクライアントは「Ｘ−ＳＩＧＮＡＴＵＲＥ」コマンドを電子メールサーバ装置に送って、署名付き電子メールの送信機能を利用する旨を指示している。
【００６２】
この具体例では、図３に示した動作例とは異なり、電子メールサーバ装置はクライアントから送られてきた「Ｘ−ＳＩＧＮＡＴＵＲＥ」コマンド中のクライアントのメールアドレスをもとに、鍵記憶部１２に対応する秘密鍵が記憶されているか否かを判断している。ここではクライアントのメールアドレスに対応する秘密鍵が鍵記憶部１２に記憶されていなかった場合を示しており、この場合には応答コード４５０（エラーコード）により否定応答を行っている。またメッセージとして「Ｃｅｒｔｉｆｉｃａｔｅ  ｎｏｔ  ｆｏｕｎｄ」を返信している。
【００６３】
クライアントでは、この応答コードを参照することによって、署名付き電子メールによる送信機能を利用できないことがわかる。そのためこの例では、クライアントはＱＵＩＴコマンドを送信し、電子メールの送信を行わずにセッションを終了している。
【００６４】
このように、電子メールサーバ装置から返される応答コードによって署名付き電子メールを利用できるか否かを知り、それに応じた制御が可能になる。図５に示す例では電子メールの送信を行わずに終了したが、例えばそのまま手順を続け、通常の電子メールとして送信することも可能である。あるいは、暗号メールの送信機能の利用を指示し、可能であれば暗号メールによる送信を行うこともできる。
【００６５】
また、上述の例ではクライアントが署名付き電子メールの送信を指示したときにクライアントのメールアドレスを送信し、クライアントのメールアドレスに対応した秘密鍵の存在をその時点でチェックするものとして説明したが、これに限らず、図３で説明したように、「ＭＡＩＬ  ＦＲＯＭ：」コマンドに続くクライアントのメールアドレスをもとに、秘密鍵の存在をチェックしてもよい。
【００６６】
図６は、本発明におけるクライアントと電子メールサーバ装置との間の通信手順のさらに別の具体例の説明図である。図６では、電子メールサーバ装置に送信先の公開鍵が記憶されていなかった場合について示している。なお、クライアントから署名付き電子メールの送信機能及び暗号メールの送信機能の利用を指示して、その応答を行うまでの動作は、図４に示した具体例と同様である。また、ここでは  クライアントのメールアドレスに対応する秘密鍵が鍵記憶部１２に記憶されているものとし、クライアントからの「ＭＡＩＬ  ＦＲＯＭ：」コマンドに対して、電子メールサーバ装置が応答コマンド２５０を返信している。
【００６７】
次にクライアントは送信先を指示する「ＲＣＰＴ  ＴＯ：」コマンドを電子メールサーバ装置に送る。ここでは、送信先のメールアドレスとして「ｒｃｐｔ２＠ｓａｍｐｌｅ．ｃｏｍ」が指定されている。電子メールサーバ装置は、このコマンドを受け取り、送信先のメールアドレスに対応づけられている公開鍵が鍵記憶部１２に記憶されているか否かを判断する。この例では送信先のメールアドレスに対応する公開鍵が鍵記憶部１２に記憶されていないので、応答コード４５０（エラーコード）とメッセージ「ＳＭＩＭＥ  Ｐｕｂｌｉｃ  Ｋｅｙ  ｎｏｔ  ｆｏｕｎｄ」をクライアントに返信している。
【００６８】
クライアントでは、この応答コードを参照することによって、暗号メールによる送信機能を利用できないことがわかる。そのためこの例では、クライアントはＱＵＩＴコマンドを送信し、電子メールの送信を行わずにセッションを終了している。
【００６９】
このように、電子メールサーバ装置から返される応答コードによって暗号メールを利用できるか否かを知り、それに応じた制御が可能になる。図５に示す例では電子メールの送信を行わずに終了したが、図６に示した例では署名付き電子メールの送信は可能であるので、例えばそのまま手順を続け、署名付き電子メールとして送信することもできる。
【００７０】
上述の具体例では、電子メールサーバ装置は署名付き電子メールの送信能力と、暗号メールの送信能力の両方をＥＨＬＯコマンドの応答コードに含めてクライアントに通知する例を示したが、もちろん、一方のみであってもよい。
【図面の簡単な説明】
【００７１】
【図１】本発明の第１の実施の形態を示すブロック図である。
【図２】本発明の第１の実施の形態における動作の一例を示すフローチャートである。
【図３】本発明の第２の実施の形態における動作の一例を示すフローチャートである。
【図４】本発明におけるクライアントと電子メールサーバ装置との間の通信手順の具体例の説明図である。
【図５】本発明におけるクライアントと電子メールサーバ装置との間の通信手順の別の具体例の説明図である。
【図６】本発明におけるクライアントと電子メールサーバ装置との間の通信手順のさらに別の具体例の説明図である。
【符号の説明】
【００７２】
１…電子メールサーバ装置、２…クライアント、３…ネットワーク、１１…通信部、１２…鍵記憶部、１３…制御部、２１…通信部、２２…指示部、２３…制御部。
【図１】
2007004440.tif 000003
【図２】
2007004440.tif 000004
【図３】
2007004440.tif 000005
【図４】
2007004440.tif 000006
【図５】
2007004440.tif 000007
【図６】
2007004440.tif 000008