JP2006287976A - メールサーバー、メールクライアント及び電子メールシステム - Google Patents
メールサーバー、メールクライアント及び電子メールシステム Download PDFInfo
- Publication number
- JP2006287976A JP2006287976A JP2006172767A JP2006172767A JP2006287976A JP 2006287976 A JP2006287976 A JP 2006287976A JP 2006172767 A JP2006172767 A JP 2006172767A JP 2006172767 A JP2006172767 A JP 2006172767A JP 2006287976 A JP2006287976 A JP 2006287976A
- Authority
- JP
- Japan
- Prior art keywords
- signature
- public key
- signature verification
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】メールクライアントが電子メールの暗号化機能を持たない場合でも、電子メールを暗号化して所望の宛先に送信することを可能としつつ、メールサーバーからの公開鍵の取得結果又は公開鍵の有効性の検証結果の通知に基づいて電子メールの暗号化及びその送信について臨機応変な対応を可能とする。
【解決手段】管理すべき宛先への電子メールを受信蓄積し、要求に応じて電子メールをメールクライアント70へ送信するメールサーバー60において、受信した電子メールに電子署名がなされているか否かを検知する署名検知部63と、電子メールの署名者の公開鍵を取得する公開鍵取得部64と、電子署名がなされていると判定された場合に、公開鍵取得部64が取得した署名者の公開鍵を使って電子署名の検証を行う署名検証部65と、署名検証部65による電子署名の検証結果を応答する署名検証結果応答部66とを備えた。
【選択図】図4
【解決手段】管理すべき宛先への電子メールを受信蓄積し、要求に応じて電子メールをメールクライアント70へ送信するメールサーバー60において、受信した電子メールに電子署名がなされているか否かを検知する署名検知部63と、電子メールの署名者の公開鍵を取得する公開鍵取得部64と、電子署名がなされていると判定された場合に、公開鍵取得部64が取得した署名者の公開鍵を使って電子署名の検証を行う署名検証部65と、署名検証部65による電子署名の検証結果を応答する署名検証結果応答部66とを備えた。
【選択図】図4
Description
本発明は、メールサーバー、メールクライアント及び電子メールシステムに係り、より詳しくは、管理すべき宛先への電子メールを受信蓄積し、メールクライアントからの要求により蓄積した電子メールをメールクライアントへ送信するメールサーバー、メールサーバーに受信蓄積された宛先情報付きの電子メールを当該宛先情報に基づいて受信するメールクライアント、及びこれら両者を含んで構成された電子メールシステムに関する。
近年、公開鍵暗号技術、共通鍵暗号技術、および、メッセージダイジェスト技術を利用した暗号電子メールが実用されており、この暗号電子メールを利用することで、電子メールの秘匿や改竄防止、送信者認証の機能を実現することが可能となる。
このような暗号電子メールとしては、電子メールのMIME(Multipurpose Internet Mail Extension)機能を利用して暗号電子メールを取り扱えるようにしたS/MIME(Secure MIME)やPGP/MIME(Pretty GoodPrivacy MIME)の技術が利用されている。ここで、MIMEについての技術内容は、IETF(Internet Engineering Task Force)の技術標準である非特許文献1、2に規定されている。
まず、S/MIMEには、現在バージョン2とバージョン3があり、その技術内容がそれぞれIETFの技術標準である非特許文献3〜6に規定されている。また、PGP/MIMEの技術内容が、IETFの技術標準である非特許文献7、8に規定されている。
このうちS/MIMEは、国際電気通信連合(ITU: International Telecommunication Union)が規定する勧告X.509の公開鍵基盤を利用しており、ビジネスや電子商取引の分野で利用での適応性を持っている。X.509公開鍵基盤では、テンティティと呼ばれるユーザーや装置の名前およびメールアドレスと公開鍵との対応を認証局(CA: Certificate Authority)が保証し、認証局が、認証局の秘密鍵で、エンティティの名前やメールアドレスと公開鍵に対してデジタル署名した公開鍵証明書を発行する仕組みとなっている。
一方、PGP/MIMEは、S/MIMEと異なり、ユーザーや装置であるテンティティの名前やメールアドレスと公開鍵との対応を、認証局ではなく他のエンティティが認証者となって保証するという仕組みを用いており、暗号電子メールを小さなグループや組織において手軽に利用する場合に適応性を持っている。
ところで、これらの暗号電子メールの機能は、メールサーバーではなく、メールクライアントに実装されていた。
例えば、S/MIMEに対応したメールクライアントとして、米国Microsoft CorporationのOutlook Express(登録商標)や米国Netscape Communications CorporationのNetscape Messenger(登録商標)がある。また、PGP/MIMEに対応したメールクライアントとして、米国Network Associates社のPGPフリーウェアがある。
これらのメールクライアントでは、電子メールの暗号化機能や署名機能は、すべてメールクライアント側に実装されており、メールクライアント側のソフトウェアが複雑となっていたため、携帯端末のような資源の限られたメールクライアントでは、暗号電子メール機能を実現することは困難であった。
また、これらのメールクライアントでは、暗号電子メールに必要な公開鍵の管理機能も、メールクライアントに実装されており、電子メールを暗号化する時に必要となる宛先の公開鍵や、電子メールの署名検証に必要となる送信元の公開鍵は、メールクライアント側の公開鍵レポジトリに登録されている必要があった。このため、多数の相手と暗号電子メールの交換を行なう場合には、公開鍵レポジトリに多数の公開鍵を登録しておかなければならず、公開鍵登録のために多くの資源を必要とした。
また、公開鍵に対しては、有効期限切れによる公開鍵の失効や、公開鍵の所有者の秘密鍵が暴露された等の理由により公開鍵が廃棄されていないかを確認し、公開鍵の有効性を検証することが必要であった。例えば、公開鍵をメールクライアント側で保持せず、ネットワーク上の公開鍵サーバーから取得する方法や公開鍵の有効性検証をネットワーク情報の公開鍵サーバーで行なう方法も提案されているが、その場合でも、メールクライアントに暗号化機能や署名機能が実装され、これらのサーバーから公開鍵を取得しサーバーに公開鍵の有効性検証を依頼する必要があった。
また、近年、メールクライアントではなく、WEBブラウザからメールの送受信機能を有するWEBサーバーにアクセスし、メールの送受信を行なうWEBメール機能が利用されている。例えば、このようなWEBメール機能をもつサービスとして、米国Microsoft CorporationのHotmail(登録商標)がある。
WEBメールでは、WEBブラウザで入力した電子メールの内容と宛先指定がHTTP(Hyper Text Transfer Protocol)により、WEBサーバーに送信される。WEBサーバーでは、HTTPで受信した電子メールの内容と宛先情報から電子メールを生成し、SMTP(Simple Mail Transfer Protocol)で宛先に電子メール送信を行なう。
また、メールサーバーに受信した電子メールは、WEBサーバー上でHTML(Hyper Text Markup Language)に変換されWEBブラウザの要求によりHTTPで送信される。
従来、このようなWEBメールでは、暗号電子メールの機能をWEBブラウザ自体が備えていないため、暗号電子メールを利用できず、秘匿性の高い内容のメールを暗号送信したり、受信メールの改竄検知を行なうことができなかった。
WEBブラウザとWEBサーバー間の通信の暗号化に、SSL(Security Socket Layer)などの通信路暗号技術を利用することが一般的に行われているが、この技術は、WEBブラウザとWEBサーバー間の通信の暗号化であり、送受信される電子メール自体の暗号化ができなかったため、メール転送路上の秘匿の問題を解決できなかった。
Network Working Group, Request forComments: 2046 - Multipurpose Internet Mail Extensions (MIME) Part Two: MediaTypes, N. Freed, November 1996, http://www.ietf.org/rfc/rfc2046.txt Network Working Group, Request forComments: 2047 - MIME (Multipurpose Internet Mail Extensions) Part Three:Message Header Extensions for Non-ASCII Text, K. Moore, November 1996, http://www.ietf.org/rfc/rfc2047.txt Network Working Group, Request for Comments:2311 - S/MIME Version 2 Message Specification, S. Dusse, March 1998, http://www.ietf.org/rfc/rfc2311.txt Network Working Group, Request forComments: 2312 - S/MIME Version 2 Certificate Handling, S. Dusse, March 1998, http://www.ietf.org/rfc/rfc2312.txt Network Working Group, Request forComments: 2632 - S/MIME Version 3 Certificate Handling, B. Ramsdell, Editor,June 1999, http://www.ietf.org/rfc/rfc2632.txt Network Working Group, Request for Comments: 2633 - S/MIME Version 3 Message Specification, B. Ramsdell, Editor, June 1999, http://www.ietf.org/rfc/rfc2633.txt Network Working Group, Request for Comments: 1991 - PGP Message Exchange Formats, D. Atkins, August 1996, http://www.ietf.org/rfc/rfc1991.txt Network Working Group, Request for Comments: 2015 - MIME Security with Pretty Good Privacy (PGP), M. Elkins, October 1996, http://www.ietf.org/rfc/rfc2015.txt
Network Working Group, Request forComments: 2046 - Multipurpose Internet Mail Extensions (MIME) Part Two: MediaTypes, N. Freed, November 1996, http://www.ietf.org/rfc/rfc2046.txt Network Working Group, Request forComments: 2047 - MIME (Multipurpose Internet Mail Extensions) Part Three:Message Header Extensions for Non-ASCII Text, K. Moore, November 1996, http://www.ietf.org/rfc/rfc2047.txt Network Working Group, Request for Comments:2311 - S/MIME Version 2 Message Specification, S. Dusse, March 1998, http://www.ietf.org/rfc/rfc2311.txt Network Working Group, Request forComments: 2312 - S/MIME Version 2 Certificate Handling, S. Dusse, March 1998, http://www.ietf.org/rfc/rfc2312.txt Network Working Group, Request forComments: 2632 - S/MIME Version 3 Certificate Handling, B. Ramsdell, Editor,June 1999, http://www.ietf.org/rfc/rfc2632.txt Network Working Group, Request for Comments: 2633 - S/MIME Version 3 Message Specification, B. Ramsdell, Editor, June 1999, http://www.ietf.org/rfc/rfc2633.txt Network Working Group, Request for Comments: 1991 - PGP Message Exchange Formats, D. Atkins, August 1996, http://www.ietf.org/rfc/rfc1991.txt Network Working Group, Request for Comments: 2015 - MIME Security with Pretty Good Privacy (PGP), M. Elkins, October 1996, http://www.ietf.org/rfc/rfc2015.txt
本発明は、上記課題を解決するために成されたものであり、メールクライアントが電子メールの暗号化機能を持たない場合でも、電子メールを暗号化して所望の宛先に送信することを可能としつつ、メールサーバーからの公開鍵の取得結果又は公開鍵の有効性の検証結果の通知に基づいて電子メールの暗号化及びその送信について臨機応変な対応を行うことができるメールクライアント、メールサーバー及び電子メールシステムを提供することを目的とする。
また、携帯端末のような資源の限られたメールクライアントからでも安全に電子メールを暗号化して送信することができるメールクライアント、メールサーバー及び電子メールシステムを提供することを目的とする。
さらに、メールクライアントが電子メールの署名検証機能を持たない場合でも、受信された電子メールの電子署名を検証させ該署名検証結果を確認可能としたメールクライアント、メールサーバー及び電子メールシステムを提供することを目的とする。
本発明に係るメールサーバーは、管理すべき宛先への電子メールを受信蓄積し、メールクライアントからの要求により蓄積した電子メールをメールクライアントへ送信するメールサーバーにおいて、受信した電子メールに電子署名がなされているか否かを判定する署名判定手段と、電子メールの署名者の公開鍵を取得する公開鍵取得手段と、前記署名判定手段により電子署名がなされていると判定された場合に、前記公開鍵取得手段が取得した署名者の公開鍵を使って電子署名の検証を行う署名検証手段と、前記署名検証手段による電子署名の検証結果を送信する署名検証結果送信手段と、を有することを特徴とする。
このメールサーバーにおいて、電子メールが受信されると、まず、署名判定手段が、受信された電子メールに電子署名がなされているか否かを判定し、電子署名がなされている場合には、公開鍵取得手段が署名者の公開鍵を取得し、署名検証手段がその公開鍵を使って電子メールの電子署名を検証する。そして、署名検証結果送信手段が、電子署名の検証結果を送信する。
このとき、署名検証結果送信手段は、例えば、メールクライアントからの問合せに対して電子署名の検証結果を当該メールクライアントに送信してもよいし、受信メールに電子署名の検証結果を挿入することで当該検証結果をメールクライアントに送信してもよい。
これにより、メールクライアントが電子メールの署名検証機能を有していない場合でも、署名の有効性を確認することが可能となる。また、電子署名の検証に必要となる署名者の公開鍵取得は、メールサーバー側で行われるので、メールクライアントは、鍵取得や有効性検証に関わる煩雑な処理を行わずに済み、メールクライアントの処理負担が軽減される。
また、本発明に係るメールサーバーは、電子メールの署名検証機能に関するメールクライアントからの問合せに対して、自機が有する署名検証機能情報を応答する第2の応答手段をさらに有することを特徴とする。即ち、この第2の応答手段が、電子メールの署名検証機能に関するメールクライアントからの問合せに対して、自機が有する署名検証機能情報を応答するので、メールクライアントは、メールサーバーが電子メールの署名検証機能を有するか否かについて確認することが可能となる。これにより、電子メールの署名検証機能がメールサーバーにある場合にのみ、メールサーバー側の署名検証結果を確認するように対応することができる。
本発明に係るメールクライアントは、メールサーバーに受信蓄積された宛先情報付きの電子メールを当該宛先情報に基づいて受信するメールクライアントにおいて、前記メールサーバーに対して電子メールの署名検証結果を問い合わせる署名検証結果問合せ手段を有することを特徴とする。即ち、この署名検証結果問合せ手段が、メールサーバーに対して電子メールの署名検証結果を問い合わせるので、メールクライアントが電子メールの署名検証機能を有していない場合でも、電子署名の有効性を確認することが可能となる。また、電子署名の検証に必要となる署名者の公開鍵取得は、メールサーバー側で行われるので、メールクライアントは、鍵取得や有効性検証に関わる煩雑な処理を行わずに済み、メールクライアントの処理負担が軽減される。
また、本発明に係るメールクライアントは、メールサーバーに対して電子メールの署名検証機能に関する問合せを行う機能問合せ手段をさらに有し、前記署名検証結果問合せ手段は、前記機能問合せによりメールサーバーが電子メールの署名検証機能を有すると判明した場合にのみ、前記メールサーバーに対して電子メールの署名検証結果を問い合わせることを特徴とする。即ち、機能問合せ手段がメールサーバーに対して電子メールの署名検証機能に関する問合せを行い、前記機能問合せによりメールサーバーが電子メールの署名検証機能を有すると判明した場合にのみ、署名検証結果問合せ手段がメールサーバーに対して電子メールの署名検証結果を問い合わせるので、メールサーバーが署名検証機能を有していないにもかかわらず、署名検証結果の問合せを毎回行って不必要な通信負荷が発生してしまうといった不都合を防止することができる。
本発明に係る電子メールシステムは、宛先情報付きの電子メールを当該宛先情報に基づいて受信するメールクライアントと、前記電子メールを受信蓄積し前記メールクライアントからの要求により蓄積された電子メールを前記メールクライアントへ送信するメールサーバーとを含んで構成された電子メールシステムにおいて、前記メールクライアントが、前記メールサーバーに対して電子メールの署名検証結果を問い合わせる署名検証結果問合せ手段を有し、前記メールサーバーが、受信した電子メールに電子署名がなされているか否かを判定する署名判定手段と、電子メールの署名者の公開鍵を取得する公開鍵取得手段と、前記署名判定手段により電子署名がなされていると判定された場合に、前記公開鍵取得手段が取得した署名者の公開鍵を使って電子署名の検証を行う署名検証手段と、前記署名検証手段による電子署名の検証結果を送信する署名検証結果送信手段と、を有することを特徴とする。
この電子メールシステムでは、メールサーバーが、宛先情報付きの電子メールを受信蓄積し、メールクライアントからの要求により、蓄積された電子メールをメールクライアントへ送信するが、このメールサーバーにおいて、署名判定手段が受信された電子メールに電子署名がなされているか否かを判定し、公開鍵取得手段が電子メールの署名者の公開鍵を取得する。ここで、署名判定手段により電子署名がなされていると判定された場合、署名検証手段は、公開鍵取得手段が取得した署名者の公開鍵を使って電子署名の検証を行う。
そして、メールクライアントの署名検証結果問合せ手段がメールサーバーに対して電子メールの署名検証結果を問い合わせると、メールサーバーの署名検証結果送信手段が、署名検証手段による電子署名の検証結果を送信するので、メールクライアントが電子メールの署名検証機能を有していない場合でも、電子署名の有効性を確認することが可能となる。また、電子署名の検証に必要となる署名者の公開鍵取得は、メールサーバー側で行われるので、メールクライアントは、鍵取得や有効性検証に関わる煩雑な処理を行わずに済み、メールクライアントの処理負担が軽減される。
また、本発明に係る電子メールシステムでは、前記メールクライアントが、メールサーバーに対して電子メールの署名検証機能に関する問合せを行う機能問合せ手段をさらに有し、前記署名検証結果問合せ手段は、前記機能問合せによりメールサーバーが電子メールの署名検証機能を有すると判明した場合にのみ、前記メールサーバーに対して電子メールの署名検証結果を問い合わせることを特徴とし、前記メールサーバーが、電子メールの署名検証機能に関するメールクライアントからの問合せに対して、自機が有する署名検証機能情報を応答する第2の応答手段をさらに有することを特徴とする。
この電子メールシステムでは、メールクライアントの機能問合せ手段がメールサーバーに対して電子メールの署名検証機能に関する問合せを行うと、メールサーバーの第2の応答手段が、電子メールの署名検証機能に関するメールクライアントからの問合せに対して、自機が有する署名検証機能情報を応答する。この応答を受けたメールクライアントでは、署名検証結果問合せ手段は、上記機能問合せによりメールサーバーが電子メールの署名検証機能を有すると判明した場合にのみ、メールサーバーに対して電子メールの署名検証結果を問い合わせるので、メールサーバーが署名検証機能を有していないにもかかわらず、署名検証結果の問合せを毎回行って不必要な通信負荷が発生してしまうといった不都合を防止することができる。
以上説明したように、本発明のメールサーバーは、受信した電子メールに電子署名がなされている場合に、電子署名の検証を行ない、その検証結果をメールクライアントに通知するので、メールクライアントが電子メールの署名検証機能を持たない場合でも、電子メールの署名検証結果を確認することが可能となる。また、電子メールの署名検証に必要となる署名者の公開鍵の管理や有効性検証など煩雑な処理をメールクライアントではなく、メールサーバーで行なうので、携帯端末のような資源の限られたメールクライアントでも安全に電子メールの署名検証結果を確認することが可能となる。
また、本発明のメールクライアントは、メールサーバーが電子メールの署名検証機能を持つかどうか問い合わせ、メールサーバーで電子メールの署名検証が可能な場合には、メールサーバーに電子メールの署名検証結果を送信するよう指示したり、あるいは、取得した電子メールに挿入されている署名検証結果を識別判断するので、メールクライアントが電子メールの署名検証機能を持たない場合でも、電子メールの署名検証結果の確認が可能となる。
[第1実施形態]
以下、本発明の第1実施形態について、図面を参照しながら詳細に説明する。
以下、本発明の第1実施形態について、図面を参照しながら詳細に説明する。
図1には、第1実施形態のメールサーバー10とメールクライアント30の機能ブロック及びネットワーク構成を示している。
ネットワーク50には、メールを作成し送信するメールクライアント30と、メールクライアント30がメールの送信を依頼するメールサーバー10と、メールの宛先の公開鍵を保持する公開鍵サーバー51とが接続されている。
[第1実施形態のメールサーバー10の構成]
先ず、メールサーバー10の機能ブロックについて説明する。図1に示すように、メールサーバー10は、ネットワーク通信部11、電子メール送信依頼受信部12、暗号化指示受信部13、公開鍵取得部14、公開鍵エラー通知部15、宛先除外部16、公開鍵有効性検証部17、機能問合せ応答部18、電子メール送信部19、及びメール暗号化部20を含んで構成される。以下、各機能ブロックを順に説明する。
先ず、メールサーバー10の機能ブロックについて説明する。図1に示すように、メールサーバー10は、ネットワーク通信部11、電子メール送信依頼受信部12、暗号化指示受信部13、公開鍵取得部14、公開鍵エラー通知部15、宛先除外部16、公開鍵有効性検証部17、機能問合せ応答部18、電子メール送信部19、及びメール暗号化部20を含んで構成される。以下、各機能ブロックを順に説明する。
ネットワーク通信部11は、ネットワーク50と接続して、メールクライアント30や公開鍵サーバー51と通信を行う部分である。メールクライアント30から送信される電子メールの送信依頼の受信、メールクライアント30から送信される暗号化指示の受信や、メールクライアント30から送信される暗号化機能の問合せ要求の受信と応答の送信、宛先の公開鍵の取得エラーや公開鍵の無効エラーの通知送信、宛先への電子メールの送信、公開鍵取得のための公開鍵サーバー51との通信などを行う。
電子メール送信依頼受信部12は、メールクライアント30から、電子メールデータや宛先情報を含む電子メール送信依頼を受信する。メールクライアント30が、SMTPで送信を行う場合には、DATAコマンドやRCPTコマンドにより電子メールデータと宛先情報が受信される。また、メールサーバー10がHTTPサーバーの機能を有しWEBサーバーとなっている場合には、メールクライアント30のWEBブラウザから、HTTPのPOSTメソッドにより、電子メールデータと宛先情報を含む送信依頼要求が受信される。
暗号化指示受信部13は、電子メール送信依頼受信部12が受信した電子メールデータをメールサーバー10で暗号化する旨の指示をメールクライアント30から受信する部分である。暗号化指示は、メールクライアント30からSMTPの拡張コマンドあるいはHTTPのPOSTメソッドにより送信されるデータにより指示される。
公開鍵取得部14は、暗号化指示受信部13が電子メールの暗号化指示を受信した場合に、メールサーバー10で電子メールを宛先ごとに暗号化するための公開鍵を取得する部分である。公開鍵は、ネットワーク50に接続する公開鍵サーバー51から取得される。もちろん、本発明は、本実施形態に限定されるわけでなく、公開鍵の取得を、例えば、メールサーバー10に予め公開鍵を格納してき、その公開鍵レポジトリ(図示せず)から取得するようにしてもよい。
公開鍵エラー通知部15は、公開鍵取得部14が公開鍵を取得できなかった場合、あるいは、公開鍵有効性検証部17により、取得した公開鍵が無効であると判定された場合に、電子メールの暗号化ができない宛先についてメールクライアント30に通知を行う部分である。通知は、電子メールによりSMTPでメールクライアント30に通知するか、あるいは、メールクライアント30のWEBブラウザからのHTTPのGETメソッドあるいはPOSTメソッドの応答として通知する。
宛先除外部16は、公開鍵取得部14が公開鍵を取得できなかった宛先、あるいは、公開鍵有効性検証部17により公開鍵が無効であると判定された宛先が、存在する場合に、電子メール送信依頼受信部12がメールクライアント30から送信依頼された宛先情報の宛先から、電子メールの暗号化できない宛先のみを除外した宛先情報を生成する部分である。
公開鍵有効性検証部17は、公開鍵取得部14が取得した公開鍵の有効性を検証する部分である。公開鍵の有効性は、公開鍵の有効期限が切れていないか、公開鍵の廃棄要求が認証局より発効されていないか、あるいは、公開鍵の証明書の認証局の署名が正しいかなどにより検証される。
機能問合せ応答部18は、メールクライアント30から送信された、メールサーバー10の電子メールの暗号化機能に関する問合せを受信し、これに対する応答を送信する部分である。
電子メール送信部19は、電子メール送信依頼受信部12が、メールクライアント30から受信した電子メールデータと宛先情報に従って、電子メールを宛先情報の各宛先に対して送信する部分である。宛先のアドレス情報に応じて、最適なメール転送サーバーに電子メールデータを送信する。また、暗号化指示受信部13が、メールクライアント30から電子メールデータの暗号化指示を受信した場合には、メール暗号化部20で暗号化した電子メールを各宛先に対して送信する。
メール暗号化部20は、メールクライアント30から電子メールデータの暗号化指示を受信した場合には、公開鍵取得部14が取得した宛先の公開鍵を使って、電子メールデータを暗号化する部分である。
[第1実施形態のメールクライアント30の構成]
次に、メールクライアント30の機能ブロックについて説明する。図1に示すように、メールクライアント30は、操作表示部31、電子メール生成部32、電子メール送信依頼部33、公開鍵取得検証部34、メール暗号化部35、宛先再設定部36、通知受信部37、暗号化指示部38、機能問合せ部39、及びネットワーク通信部40を含んで構成される。以下、各機能ブロックを順に説明する。
次に、メールクライアント30の機能ブロックについて説明する。図1に示すように、メールクライアント30は、操作表示部31、電子メール生成部32、電子メール送信依頼部33、公開鍵取得検証部34、メール暗号化部35、宛先再設定部36、通知受信部37、暗号化指示部38、機能問合せ部39、及びネットワーク通信部40を含んで構成される。以下、各機能ブロックを順に説明する。
操作表示部31は、操作画面の表示や暗号化送信エラー時の表示、ユーザーが送信すべき電子メールの内容や宛先の入力、送信する電子メールの暗号化指示や、電子メールの送信指示などを行う部分である。
電子メール生成部32は、操作表示部31からユーザーが入力した電子メールの内容や宛先情報からメールサーバー10に送信可能な形態の電子メールデータを生成する部分である。メールサーバー10にSMTPで送信依頼を行なう場合には、IETFのRFC822で規定された電子メールフォーマットのデータを生成する。また、メールサーバー10にHTTPで送信依頼を行なう場合には、メールサーバー10にPOSTメソッドで、メールサーバー10で決められたフォーマットのデータを生成する。
電子メール送信依頼部33は、電子メール生成部32が生成した電子メールデータをネットワーク通信部40を介してメールサーバーに送信依頼する部分である。メールサーバー10への電子メールを送信依頼する方法としては、SMTPを利用する方法と、HTTPを利用する方法がある。
公開鍵取得検証部34は、メールサーバー10が電子メールの暗号機能を持っておらずメールクライアント30で電子メールを暗号化する場合に必要となる宛先の公開鍵を取得しその有効性を検証する部分である。公開鍵は、ネットワーク50に接続する公開鍵サーバー51から取得しその有効性を検証する。もちろん、本発明は本実施形態に限定されるわけでなく、公開鍵の取得を、ネットワーク上の公開鍵サーバー51からでなく、メールクライアント30に予め格納しておいた公開鍵レポジトリ(図示せず)から取得するようにしてもよい。
メール暗号化部35は、メールサーバー10が電子メールの暗号機能を持っておらずメールクライアント30で電子メールを暗号化する場合に、公開鍵取得検証部34が取得し有効性を検証した宛先の公開鍵を使って、電子メール生成部32が生成した電子メールの暗号化を行う部分である。
宛先再設定部36は、通知受信部37が受信したメールサーバー10からの電子メールの暗号化ができない宛先の通知情報を基に、操作表示部31でユーザーが入力した宛先情報の宛先から電子メールの暗号化が不可能な宛先を除外した宛先に宛先情報を再設定する部分である。
通知受信部37は、メールサーバー10から通知されるメールサーバー10で電子メールの暗号化ができない宛先の通知情報を受信する部分である。
暗号化指示部38は、メールサーバー10に対して、電子メール送信依頼部33が送信依頼した電子メールを暗号化するようにメールサーバー10へ指示する部分である。
機能問合せ部39は、メールサーバー10にメールサーバー10が電子メールの暗号化機能を有するか問い合わせて、メールサーバー10から暗号化機能の能力情報を受信する部分である。
ネットワーク通信部40は、ネットワーク50と接続して、メールサーバー10や公開鍵サーバー51と通信を行う部分である。メールサーバー10への電子メールの送信依頼の送信や、メールサーバー10への電子メールの暗号化指示の送信、メールサーバー10への暗号化機能の問合せ要求の送信と応答の受信、宛先の公開鍵の取得エラーや無効通知の受信、公開鍵の取得のための公開鍵サーバー51との通信などを行う。
[第1実施形態のメールサーバー10による電子メールの送信処理]
次に、メールサーバー10による電子メールの送信処理のフローを、図2に沿って説明する。
次に、メールサーバー10による電子メールの送信処理のフローを、図2に沿って説明する。
メールサーバー10は、電子メール送信依頼受信部12で、メールクライアント30から電子メールの送信依頼を受信すると、まずステップS10で、暗号化指示受信部13により、電子メールの暗号化が指示されているかどうかをチェックする。電子メールの送信依頼は、メールクライアント30との通信がSMTPであれば、DATAコマンドによる電子メールデータとRCPTコマンドによる宛先情報の送信により行われる。また、メールクライアント30との通信がHTTPであれば、例えば、POSTメソッドにより送信される入力要素データ名”cont=”の値として送信される電子メールデータと、入力要素データ名”to=”の値として送信される宛先情報により送信される。
SMTP通信の場合、暗号化指示は、DATAコマンドを拡張して新たに定義するEDATAコマンドにより行う。メールクライアント30からの電子メールの送信依頼を、DATAコマンドでなくEDATAコマンドで受信した場合には、受信した電子メールデータを、RCPTコマンドで受信した宛先に、その宛先の公開鍵を使って暗号化して送信することを示す。また、例えば、暗号化指示をSMTPの拡張コマンドEDATAではなく、通常のDATAコマンドで受信する電子メールデータのメールヘッダにフィールド名“X-Encrypt”からなるフィールドを設定することで行うこともできる。
また、HTTP通信の場合には、暗号化指示は、ラジオボタン選択型の入力要素データ名”encrypt=“の値として指示する。
ステップS10で、暗号化指示が検知されない場合には、ステップS24に進み、送信依頼された電子メールをSMTPで宛先情報の宛先に送信する。
一方、ステップS10で、暗号化指示が検知された場合には、ステップS11に進み、公開鍵取得部14が、電子メール送信依頼受信部12で受信した宛先情報の宛先の公開鍵の取得を行う。ここでの公開鍵の取得は、公開鍵サーバー51に宛先のメールアドレスに対応する公開鍵を問合せて取得することで行う。あるいは、例えば、予め宛先の公開鍵をメールサーバー10の公開鍵レポジトリ(図示せず)に格納しておき、そこから取得するようにしてもよい。
次に、ステップS12で、ステップS11での公開鍵の取得処理において全ての公開鍵が取得できたかどうかを判定する。ここで、電子メールの暗号化においては、宛先の公開鍵がないとその宛先には電子メールを暗号化して送信することはできないので、電子メールの暗号化ができない宛先が存在しないかをここでチェックする。
宛先情報の全ての宛先の公開鍵が取得できた場合には、ステップS17に進み、1つでも公開鍵の取得ができなかった宛先が存在した場合には、ステップS13に進む。
ステップS17では、公開鍵有効性検証部17により、ステップS12で取得された公開鍵の有効性を検証する。ここでの有効性の検証は、公開鍵になされている電子署名が正しいか否か、公開鍵の有効期限が切れているか否か、および、公開鍵が廃棄されているか否かをチェックすることで行う。なお、公開鍵がX.509の公開鍵基盤により公開鍵証明書として認証局から発行されている場合には、その公開鍵証明書が認証局しから発行されている証明書廃棄リストに登録されていないかを確認することで廃棄の有無をチェックする。
次のステップS18では、ステップS17での公開鍵の有効性検証処理で、全ての宛先の公開鍵が有効であったかどうかを判定する。ここで、電子メールの暗号化においては、宛先の公開鍵が有効でない場合には、その宛先には電子メールを暗号化して送信することはできないので、電子メールの暗号化ができない宛先が存在するかをここでチェックする。
全ての宛先の公開鍵が有効であった場合には、ステップS23に進み、1つでも公開鍵が有効でなかった宛先が存在した場合には、後述するステップS19に進む。
ステップS23では、メール暗号部20により、宛先の公開鍵を使って電子メールを暗号化し、ステップS24で、宛先情報の宛先に暗号化した電子メールをSMTPで送信し、処理を終了する。
前述したステップS12で、公開鍵の取得ができなかった宛先が1つ以上存在したと判定された場合の処理について説明する。この場合には、まずステップS13で、メールサーバー10が宛先除外モードに設定されているかどうかを判定する。宛先除外モードの設定は、メールサーバーの管理者が予め設定しておく。また、宛先除外モードを、メールサーバー10に予め設定しておくのではなく、メールクライアント30から、電子メールの送信依頼時に設定するようにしてもよい。
宛先除外モードに設定されている場合には、ステップS14に進み、宛先除外部16が、宛先情報に含まれる宛先から、公開鍵の取得できなかった宛先を除外し、ステップS15に進む。ステップS15では、公開鍵エラー通知部15が、除外した宛先のリストをメールクライアント30に通知し、ステップS17に進み、取得した公開鍵の有効性検証に進む。
一方、ステップS13で宛先除外モードに設定されていない場合には、ステップS16に進み、公開鍵エラー通知部15が、公開鍵が取得できない宛先が存在するために、メールクライアント30から指示された宛先に電子メールの暗号化を行って送信することができない旨のエラーをメールクライアント30に通知し、処理を終了する。
前述したステップS18で、公開鍵が有効でない宛先が1つ以上存在したと判定された場合の処理について説明する。この場合には、まずステップS19で、メールサーバー10が宛先除外モードに設定されているかどうかを判定する。
宛先除外モードに設定されている場合には、ステップS20に進み、宛先除外部16が、宛先情報に含まれる宛先から、公開鍵が無効であった宛先を除外し、ステップS21に進む。ステップS21では、公開鍵エラー通知部15が、除外した宛先のリストをメールクライアント30に通知し、ステップS23に進み、電子メールの暗号化処理へ進む。
一方、ステップS19で宛先除外モードに設定されていない場合には、ステップS22に進み、公開鍵エラー通知部15が、公開鍵が無効である宛先が存在するために、メールクライアント30から指示された宛先に電子メールの暗号化を行って送信することができない旨のエラーをメールクライアント30に通知し、処理を終了する。
以上説明したように、第1実施形態のメールサーバー10は、メールクライアント30から電子メールの送信依頼がなされ、かつ、暗号化指示が行なわれた場合に、メールサーバー10で、送信依頼された電子メールを暗号化して、宛先に送信するので、電子メールの暗号化機能を有していない携帯端末のようなメールクライアントでも、暗号メールを送信することが可能となる。また、電子メールの暗号化に必要となる、宛先の公開鍵の取得や有効性検証といった煩雑な処理を、メールクライアントではなくメールサーバで行なうようにすることができる。
[第1実施形態のメールクライアント30による電子メールの送信処理]
次に、メールクライアント30による電子メールの送信処理フローを、図3に沿って説明する。
次に、メールクライアント30による電子メールの送信処理フローを、図3に沿って説明する。
ユーザーは、メールクライアント30の操作表示部31から、メールの作成送信操作や暗号化指示を行なう。ここで、メールクライアント30は、例えば、メールクライアントの起動時に、予め、機能問合せ部39がメールサーバー10に電子メールの暗号化機能の能力を問合せるものとする。メールサーバー10が電子メールの暗号化機能を有すると判断された場合、あるいは、メールサーバー10が暗号化機能を有していなくとも、メールクライアント30に電子メールの暗号化機能が備わっている場合には、電子メールの暗号化を選択するメニューが操作表示部31に表示され、そうでない場合には表示されないようになっている。
機能問合せ部39の問合せに対して、メールサーバー10の機能問合せ応答部18がその暗号化機能の能力について応答する。
ユーザーが操作表示部31からメールの作成送信指示を行ない電子メール生成部32が、電子メールデータと宛先情報を生成すると、まず、図3のステップS30で、ユーザーがメールの暗号化を指定したかどうか判定する。
ステップS30で、ユーザーが電子メールの暗号化を指示したと判断された場合には、ステップS31に進み、そうでない場合には、ステップS39に進んでメールサーバー10に電子メールの送信依頼を行う。
ステップS31では、機能問合せ部39が、メールサーバー10に電子メールの暗号化機能について問合せる。メールサーバー10の暗号化機能ついては、メールクライアント30の起動時に問い合わせされているが、ここで、電子メールをメールサーバー10に送信依頼する前に、毎回、メールサーバー10の暗号化機能について問合せを行なうのは、サーバー管理者がメールサーバー10の暗号化機能を一時的に停止するなどして、一時的に使用できない場合にも適切に対応可能とするためである。
次のステップS32では、ステップS31で問い合わせたメールサーバー10の電子メールの暗号化機能が利用可能であるかどうか判断する。メールサーバー10の暗号化機能が利用可能であると判断された場合には、ステップS33に進み、そうでない場合には、ステップS34に進む。
ステップS33では、暗号化指示部38が、暗号化指示を設定する。暗号化指示の方法は、前述したように、電子メールのメールヘッダの暗号化指示を示すフィールド名”X-Encrypt”のフィールドを設定するか、SMTPコマンドの拡張コマンド(EDATA)を送信するか、あるいは、HTTPのPOSTメソッドのラジオボタン選択型の入力要素データ名”encrypt=“の値として送信する。
次のステップS39では、電子メール送信依頼部33が、電子メール生成部32が生成した電子メールデータと宛先情報からなる送信依頼をメールサーバー10に送信する。例えば、暗号化指示をSMTPの拡張コマンド(EDATA)として送信する場合には、これから送信する電子メールデータをメールサーバー10で暗号化して宛先に送信する旨の依頼を示すEDATAコマンドと、宛先情報を指示するRCPTコマンドにより送信される。また、例えば、暗号化指示を電子メールのメールヘッダの拡張フィールド(X-Encrypt)として指示する場合には、電子メールデータを宛先に送信する旨の依頼を示す通常のDATAコマンドと、宛先情報を指示するRCPTコマンドを送信する。また、例えば、暗号化指示がHTTPのPOSTメソッドのラジオボタン選択型の入力要素データ名”encrypt=“として指示する場合には、電子メールデータと宛先情報の入力要素データと一緒にメールサーバー10に送信する。
次のステップS40では、ステップS39でメールサーバー10に行った電子メールの送信依頼に対して、通知受信部37がエラー通知を受信していないか判定する。エラーが発生していなければ、電子メールの送信処理を終了し、そうでない場合には、ステップS41に進む。
ステップS41では、公開鍵の取得エラーあるいは公開鍵の無効エラーによりメールサーバー10から通知され電子メールを暗号化できない宛先があると判断された場合に、これを操作表示部に表示するとともに、宛先再設定部36が、電子メールを暗号化可能な宛先のみに再設定し、ステップS33に戻って、再度、電子メールの暗号化送信処理を行う。
一方、ステップS32でメールサーバー10に暗号化機能が利用可能でないと判断された場合には、ステップS34へ進み、自装置に暗号化機能が備わっているかどうかを判定する。暗号化機能が備わっている場合には、ステップS35に進み、そうでない場合には、ステップS38で、電子メールを暗号化して送信できない旨の警告を操作表示31に表示して、処理を終了する。
ステップS35では、公開鍵取得検証部34が、宛先の公開鍵を公開鍵サーバー51から取得し、有効性を検証する。次のステップS36では、全ての宛先の公開鍵が取得でき、かつ、有効であるか判断する。ここで、公開鍵が取得できないか、あるいは、公開鍵が無効な宛先が1つ以上存在した場合には、ステップS38に進んで、電子メールを暗号化して送信できない旨の警告を操作表示31に表示して、処理を終了する。
一方、ステップS36で全ての公開鍵が取得できかつ有効であった場合には、ステップS37に進み、メール暗号化部35が電子メールを暗号化して、ステップS39に進み、暗号化された電子メールデータと宛先をメールサーバー10に送信する。
以上説明したように、第1実施形態のメールクライアント30は、メールサーバー10が電子メールの暗号化機能を有する場合に、メールサーバーに電子メールの送信依頼をする場合に、メールサーバーで電子メールを暗号化して送信するよう依頼するので、メールクライアントが電子メールの暗号化機能を有していない場合でも、電子メールを暗号化して送信することが可能となる。例えば、メールクライアントがWEBブラウザであり、メール送信プロトコル(SMTP)と異なるプロトコル(HTTP)しか有していない場合にも、メールサーバー10に電子メールを暗号化するよう指示して電子メールを暗号化して送信することが可能となる。
また、メールクライアントが指示した宛先に、メールサーバーで電子メールを暗号化して送信できない宛先が存在すれば、これを、検知してユーザーに警告したり、あるいは、宛先を再設定して送信することが可能となる。
[第2実施形態]
以下、本発明の第2実施形態について、図面を参照しながら詳細に説明する。
以下、本発明の第2実施形態について、図面を参照しながら詳細に説明する。
図4には、第2実施形態のメールサーバー60とメールクライアント70の機能ブロック及びネットワーク構成を示している。
ネットワーク80には、他のメールサーバー(図示せず)あるいは他のメールクライアント(図示せず)から送られてきたメールを受信し蓄積するメールサーバー60と、メールサーバー60に接続しユーザー宛ての電子メールを取得閲覧するメールクライアント70と、メールの送信元の公開鍵を保持する公開鍵サーバー81とが接続されている。
[第2実施形態のメールサーバー60の構成]
先ず、メールサーバー60の機能ブロックについて説明する。図4に示すように、メールサーバー60は、ネットワーク通信部61、電子メール受信蓄積部62、署名検知部63、公開鍵取得部64、署名検証結果応答部65、署名検証部66、機能問合せ応答部67、電子メール送信部68、及び署名検証結果挿入部69を含んで構成される。以下、各機能ブロックを順に説明する。
先ず、メールサーバー60の機能ブロックについて説明する。図4に示すように、メールサーバー60は、ネットワーク通信部61、電子メール受信蓄積部62、署名検知部63、公開鍵取得部64、署名検証結果応答部65、署名検証部66、機能問合せ応答部67、電子メール送信部68、及び署名検証結果挿入部69を含んで構成される。以下、各機能ブロックを順に説明する。
ネットワーク通信部61は、ネットワーク80と接続して、メールクライアント70や公開鍵サーバー81と通信を行う部分である。ネットワーク上に接続する他のメールサーバー(図示せず)や他のメールクライアント(図示せず)から送信転送されてきた電子メールの受信や、メールクライアント70から送信される署名検証機能の能力問合せの受信と応答の送信、署名検証結果の問合せ要求の受信と応答の送信、メールクライアント70からの電子メールの取り出し要求の受信とそれに応答する電子メールの送信、公開鍵取得のための公開鍵サーバー81との通信などを行う。
電子メール受信蓄積部62は、ネットワークの他のメールサーバー(図示せず)や他のメールクライアント(図示せず)から送信転送されてきた、メールサーバー60がメールボックスを保持する宛先の電子メールを受信し蓄積する部分である。受信蓄積された電子メールは、メールクライアント70によりPOP3(POST Office Protocol Version3)やIMAP4(Internet Message Access Protocol Version4)により取得閲覧される。また、メールサーバー60がHTTPサーバー機能を有しWEBサーバーとなっている場合には、メールクライアント70上のWEBブラウザ(図示せず)からHTTPにより、受信した電子メールの取得閲覧が行われる。
署名検知部63は、電子メール受信蓄積部62が受信蓄積した電子メールに送信者の電子署名がなされているかどうかを検知する部分である。
公開鍵取得部64は、署名の検証に必要となる署名者の公開鍵を取得する部分である。公開鍵は、ネットワーク80に接続する公開鍵サーバー81から取得される。もちろん、公開鍵の取得は、これに限定されるわけでなく、例えば、メールサーバー60に予め公開鍵を格納しておいた公開鍵レポジトリ(図示せず)から取得するようにしてもよい。
署名検証部65は、署名検知部63が受信電子メールが送信者の電子署名がなされていると判断した場合に、公開鍵取得部64が取得した公開鍵を使ってその署名検証を行なう部分である。署名検証は、署名のダイジェスト値の正当性だけでなく、使用する電子メールの署名者の公開鍵の有効性(有効期限切れや廃棄要求が出ていないかのチェック)も判断して行なう。
署名検証結果応答部66は、メールクライアント70から、電子メールに対する署名検証結果の問合せがあった場合に、署名検証部65が行なった電子メールの署名検証結果をメールクライアント70に応答する部分である。
機能問合せ応答部67は、メールクライアント70からメールサーバー60に電子メールの署名検証機能についての能力問合せが合った場合に、その能力情報をメールクライアント70に応答する部分である。
電子メール送信部68は、メールクライアント70からPOP3やIMAP4などのプロトコルで電子メールの取り出し要求を受けた場合に、電子メール受信蓄積部62が受信蓄積している電子メールをメールクライアント70に送信する部分である。
署名検証結果挿入部69は、署名検証部65が署名検証した結果を、電子メール受信蓄積部62が受信蓄積している電子メールのメールヘッダに挿入する部分である。署名検証結果は、例えば、”X-Signature-Verify“というフィールド名とそれに続く署名検証結果からなるフィールドを挿入することで行われる。電子メールのメールヘッダは、電子署名のダイジェスト計算に使用されない部分であるので、署名検証結果のフィールドをメールヘッダに追加しても、ダイジェスト値(つまりは、署名値)が変わってしまうことはない。
なお、本実施形態では、説明のために、メールサーバー60に署名検証結果応答部67と署名検証結果挿入部69の両方を備えるようにしたが、もちろん、本発明はそれに限定されるわけでなく、どちらか一方のみを実装するようにしても良い。
[第2実施形態のメールクライアント70の構成]
次に、メールクライアント70の機能ブロックについて説明する。図4に示すように、メールクライアント70は、操作表示部71、電子メール取得部72、署名検証結果問合せ部73、機能問合せ部74、及びネットワーク通信部75を含んで構成される。以下、各機能ブロックを順に説明する。
次に、メールクライアント70の機能ブロックについて説明する。図4に示すように、メールクライアント70は、操作表示部71、電子メール取得部72、署名検証結果問合せ部73、機能問合せ部74、及びネットワーク通信部75を含んで構成される。以下、各機能ブロックを順に説明する。
操作表示部71は、操作画面の表示やユーザーが電子メールの取得閲覧を指示したり、メールサーバー60から取得した電子メールやその署名検証結果の表示などを行う部分である。
電子メール取得部72は、操作表示部71からユーザが電子メールの取得閲覧を指示した場合に、メールサーバー60に受信蓄積されている電子メールを、POP3やIMAP4などのプロトコルによりメールサーバー60から取得する部分である。
署名検証結果問合せ部73は、メールサーバー60から取得した電子メールの署名検証結果について問い合わせる部分である。
機能問合せ部74は、メールサーバー60が署名検証機能を有するかどうかについてその能力問合せをメールサーバー60に行なう部分である。
ネットワーク通信部75は、ネットワーク80と接続して、メールサーバー60と通信を行う部分である。メールサーバー60への電子メールの取得要求の送信や応答としての電子メールの受信、メールサーバー60への署名検証機能の問合せ要求の送信と応答の受信、電子メールの署名検証結果の問合せ要求の送信と応答の受信などを行う。
[第2実施形態のメールサーバー60による電子メールの受信処理]
次に、メールサーバー60による電子メールの受信処理のフローを、図5に沿って説明する。
次に、メールサーバー60による電子メールの受信処理のフローを、図5に沿って説明する。
メールサーバー60は、電子メール受信蓄積部62が、ネットワーク80に接続する他のメールサーバー(図示せず)や他のメールクライアント(図示せず)から管理するメールボックスの宛先の電子メールを受信し蓄積すると、先ず、ステップS50で、署名検知部63が、電子メール電子署名がなされているかどうか判定する。電子署名がなされていれば、ステップS51へ進み、そうでなければ、ステップS55に進む。
ステップS51では、公開鍵取得部64が、電子メールになされている電子署名の検証に必要となる署名者(通常は、電子メールの送信者である)の公開鍵を取得する。
次のステップS52では、署名検証部65が、電子メールになされている電子署名の検証を行なう。電子署名の検証は、電子メールのダイジェスト値の正当性に加えて、ステップS51で取得した署名者の公開鍵の有効性検証を含むものとする。署名者の公開鍵の有効期限が切れていたり、あるいは、公開鍵の廃棄要求が発行されている場合には、公開鍵が無効であるため、電子署名の正当性が保証できず、無効な電子署名と判断される。
次のステップS53では、署名検証結果を電子メールのメールヘッダに挿入するモードであるかどうか判定する。このモードの設定は、メールサーバー60の管理者が予め設定しておく。署名検証結果を電子メールのメールヘッダに挿入するモードであれば、ステップS54に進み、署名検証結果をメールヘッダに挿入する。また、そうでない場合には、ステップS57に進み、メールクライアント70から電子メール受信蓄積部62が受信蓄積している電子メールの取出し要求があるまで待機を行なう。
ステップS54では、署名検証結果挿入部69が、ステップS52での検証した電子メールの署名検証結果を、電子メール受信蓄積部62が蓄積している電子メールのメールヘッダに挿入する。挿入される署名検証結果は、例えば、”X-Signature-Verify:”というフィールド名とそれに続くフィールド値により構成される。フィールド値には、検証結果を示す文字列が設定される。署名が有効であれば“OK”という文字列が設定され、無効である場合には”NG”という文字列とそれに続いて理由が設定される。例えば、署名者の公開鍵の有効期限が切れているために署名が無効と検証された場合には、”X-Signature-Verify:NG;reason=ExpiredPublic Key”というフィールドがメールヘッダに挿入されることになる。
ここで、署名検証結果が無効となった場合に、電子メールデータを削除するように、メールサーバー60が設定されていた場合には、メールサーバー60が電子メール受信蓄積部62に蓄積された電子メールを自動的に削除するようにすることもできる。
次のステップS55では、電子メール送信部68が、メールクライアント70からの、電子メール取出し要求を受信するまで待機を行なう。電子メール取出し要求が受信されると、ステップS56に進み、電子メール送信部68が、署名検証結果をメールヘッダに挿入した電子メールを、メールクライアント70に送信する。ここで、メールクライアント70の電子メール取出しプロトコルとしては、例えば、POP3やIMAP4などが利用される。また、例えば、メールサーバー60が、HTTPサーバーであるWEBサーバー機能を有する場合には、メールクライアント70のWEBブラウザからの指示により、電子メールの取出し要求としてHTTPが利用される。この場合、電子メールは、HTMLに変換されて送信される。
一方、ステップS53でメールサーバー60が署名検証結果挿入モードでないと判定された場合、ステップS57へ進み、メールクライアント70からの電子メール取出し要求があるまで待機する。そして、電子メール取出し要求が受信されると、ステップS58へ進み、電子メール送信部68が、電子メール受信蓄積部62により受信蓄積された電子メール(署名検証結果が挿入されていない電子メール)をメールクライアント70に送信する。ここで、メールクライアント70の電子メール取出しプロトコルとしては、例えば、POP3やIMAP4などが利用される。
次のステップS59では、署名検証結果応答部66が、メールクライアント70から、署名検証結果の問合せ要求があるまで待機を行ない、メールクライアント70から、署名検証結果の問合せ要求が受信されると、次のステップS60で署名検証結果をメールクライアント70に応答する。
以上説明したように、第2実施形態のメールサーバー60は、受信蓄積した電子メールに電子署名がなされている場合に、この電子署名を検証し、その検証結果を、自動的に電子メールに挿入するか、あるいは、メールクライアント70からの問合せに対して応答するので、電子署名の検証機能を有していない携帯端末のようなメールクライアントでも、電子署名の検証結果を確認することが可能となる。また、署名検証のために必要となる、署名者の公開鍵の取得や有効性検証といった煩雑な処理を、メールクライアントではなくメールサーバで行なうようにすることができる。
[第2実施形態のメールクライアント70による電子メールの受信処理]
次に、メールクライアント70による電子メールの取得処理のフローを、図6に沿って説明する。
次に、メールクライアント70による電子メールの取得処理のフローを、図6に沿って説明する。
メールクライアント70において、ユーザーが操作表示部71から電子メールの取得を要求すると、先ず、ステップS70で、電子メール取得部72が、メールサーバー60に対して、電子メールの取得要求を発行し、その応答として電子メールの受信を行ない、次に、ステップS71で、受信した電子メールのメールヘッダに署名検証結果が挿入されているかどうかをチェックする。署名検証結果の挿入は、電子メールのメールヘッダに”X-Singnature-Verify:”というフィールド名のフィールドが存在するかどうかを判定して行なう。
署名検証結果が電子メールに挿入されていれば、ステップS74に進み、取得した電子メールの内容とその署名検証結果を操作表示部71に表示する。一方、署名検証結果が電子メールに挿入されていない場合には、ステップS72に進み、メールクライアント70が署名検証結果問合せモードに設定されているか判定する。
なお、署名検証結果問合せモードの設定は、メールクライアント70のユーザーが予め設定する。署名検証結果問合せモードをオンに設定した場合には、機能問合せ部74が、メールサーバー60に署名検証機能の能力問合せを行ない、メールサーバー70が署名検証機能を有する場合のみオンに設定できるようになっている。メールサーバー70が署名検証機能を有しない場合には、署名検証結果問合せモードの設定オフに自動的にリセットされる。
メールクライアント70が署名検証結果問合せモードに設定されている場合は、ステップS73に進み、署名検証結果問合せ部73が、メールサーバー60に、ステップS70で取得した電子メールの署名検証結果を問い合わせる。そして、次のステップS74で、取得した電子メールとその署名検証結果を操作表示部71に表示して処理を終了する。
一方、ステップS72でメールクライアント70が、署名検証結果問合せモードに設定されていない場合には、ステップS75へ進み、取得した電子メールを操作表示部71に表示して処理を終了する。
以上説明したように、第2実施形態のメールクライアント70は、メールサーバー60から取得した電子メールに、署名検証結果が挿入されていないか判定し、もし挿入されていれば、電子メールの内容とともにその署名検証結果も表示する。
また、署名検証結果が電子メールに挿入されていない場合には、メールサーバー60が署名検証機能を持っていれば、メールサーバー60に対して、取得した電子メールの署名検証結果を問い合わせて、電子メールの内容とともにその署名検証結果も表示するので、メールクライアントが電子メールの署名検証機能を有していない場合でも、電子署名の検証結果を確認することが可能となる。例えば、メールクライアントがWEBブラウザであり、メール取得プロトコルと異なるプロトコルしか有していない場合にも、受信メールの電子署名の検証結果を確認することができる。
10、60…メールサーバー、30、70…メールクライアント、50、80…ネットワーク、51、81…公開鍵サーバー、11、40、61、75…ネットワーク通信部、12…電子メール送信依頼受信部、13…暗号化指示受信部、14、64…公開鍵取得部、15…公開鍵エラー通知部、16…宛先除外部、17…公開鍵有効性検証部、18、67…機能問合せ応答部、19、68…電子メール送信部、20、35…メール暗号化部、31、71…操作表示部、32…電子メール生成部、33…電子メール送信依頼部、34…公開鍵取得検証部、36…宛先再設定部、37…通知受信部、38…暗号化指示部、39、74…機能問合せ部、62…電子メール受信蓄積部、63…署名検知部、65…署名検証部、66…署名検証結果応答部、69…署名検証結果挿入部、72…電子メール取得部、73…署名検証結果問合せ部。
Claims (6)
- 管理すべき宛先への電子メールを受信蓄積し、メールクライアントからの要求により蓄積した電子メールをメールクライアントへ送信するメールサーバーにおいて、
受信した電子メールに電子署名がなされているか否かを判定する署名判定手段と、
電子メールの署名者の公開鍵を取得する公開鍵取得手段と、
前記署名判定手段により電子署名がなされていると判定された場合に、前記公開鍵取得手段が取得した署名者の公開鍵を使って電子署名の検証を行う署名検証手段と、
前記署名検証手段による電子署名の検証結果を送信する署名検証結果送信手段と、
を有するメールサーバー。 - 電子メールの署名検証機能に関するメールクライアントからの問合せに対して、自機が有する署名検証機能情報を応答する第2の応答手段をさらに有する請求項1記載のメールサーバー。
- メールサーバーに受信蓄積された宛先情報付きの電子メールを当該宛先情報に基づいて受信するメールクライアントにおいて、
前記メールサーバーに対して電子メールの署名検証結果を問い合わせる署名検証結果問合せ手段を有するメールクライアント。 - メールサーバーに対して電子メールの署名検証機能に関する問合せを行う機能問合せ手段をさらに有し、
前記署名検証結果問合せ手段は、前記機能問合せによりメールサーバーが電子メールの署名検証機能を有すると判明した場合にのみ、前記メールサーバーに対して電子メールの署名検証結果を問い合わせることを特徴とする請求項3記載のメールクライアント。 - 宛先情報付きの電子メールを当該宛先情報に基づいて受信するメールクライアントと、前記電子メールを受信蓄積し前記メールクライアントからの要求により蓄積された電子メールを前記メールクライアントへ送信するメールサーバーとを含んで構成された電子メールシステムにおいて、
前記メールクライアントが、
前記メールサーバーに対して電子メールの署名検証結果を問い合わせる署名検証結果問合せ手段を有し、
前記メールサーバーが、
受信した電子メールに電子署名がなされているか否かを判定する署名判定手段と、
電子メールの署名者の公開鍵を取得する公開鍵取得手段と、
前記署名判定手段により電子署名がなされていると判定された場合に、前記公開鍵取得手段が取得した署名者の公開鍵を使って電子署名の検証を行う署名検証手段と、
前記署名検証手段による電子署名の検証結果を送信する署名検証結果送信手段と、
を有することを特徴とする電子メールシステム。 - 前記メールクライアントが、メールサーバーに対して電子メールの署名検証機能に関する問合せを行う機能問合せ手段をさらに有し、
前記署名検証結果問合せ手段は、前記機能問合せによりメールサーバーが電子メールの署名検証機能を有すると判明した場合にのみ、前記メールサーバーに対して電子メールの署名検証結果を問い合わせることを特徴とし、
前記メールサーバーが、電子メールの署名検証機能に関するメールクライアントからの問合せに対して、自機が有する署名検証機能情報を応答する第2の応答手段をさらに有することを特徴とする請求項5記載の電子メールシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006172767A JP2006287976A (ja) | 2006-06-22 | 2006-06-22 | メールサーバー、メールクライアント及び電子メールシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006172767A JP2006287976A (ja) | 2006-06-22 | 2006-06-22 | メールサーバー、メールクライアント及び電子メールシステム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001168425A Division JP3840919B2 (ja) | 2001-06-04 | 2001-06-04 | メールサーバー、メールクライアント及び電子メールシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006287976A true JP2006287976A (ja) | 2006-10-19 |
Family
ID=37409314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006172767A Pending JP2006287976A (ja) | 2006-06-22 | 2006-06-22 | メールサーバー、メールクライアント及び電子メールシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006287976A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008075580A1 (ja) | 2006-12-20 | 2008-06-26 | Nec Corporation | 通信端末、端末、通信システム、通信方法及びプログラム |
JP2009060222A (ja) * | 2007-08-30 | 2009-03-19 | Softbank Mobile Corp | 電子メールサーバー、電子メールシステム、携帯情報処理装置、電子メールサーバープログラム、電子メールプログラム及び電子メール処理方法 |
JP2010212828A (ja) * | 2009-03-09 | 2010-09-24 | Sumitomo Electric System Solutions Co Ltd | プログラム、誤送信防止システム、及び電子メールの送信管理方法 |
-
2006
- 2006-06-22 JP JP2006172767A patent/JP2006287976A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008075580A1 (ja) | 2006-12-20 | 2008-06-26 | Nec Corporation | 通信端末、端末、通信システム、通信方法及びプログラム |
JP2009060222A (ja) * | 2007-08-30 | 2009-03-19 | Softbank Mobile Corp | 電子メールサーバー、電子メールシステム、携帯情報処理装置、電子メールサーバープログラム、電子メールプログラム及び電子メール処理方法 |
JP2010212828A (ja) * | 2009-03-09 | 2010-09-24 | Sumitomo Electric System Solutions Co Ltd | プログラム、誤送信防止システム、及び電子メールの送信管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6981139B2 (en) | Digital certificate management system, digital certificate management apparatus, digital certificate management method, update procedure determination method and program | |
CN1747379B (zh) | 加密设备 | |
CN102045267B (zh) | 消息召回的方法及装置 | |
JP2016195440A (ja) | 電子文書流通システムおよび電子文書流通方法 | |
EP1076298A2 (en) | Information transmitting apparatus, information saving apparatus, information receiving apparatus, method for using the same, and recording medium thereof | |
US7930541B2 (en) | E-mail communication apparatus | |
JP2013535858A5 (ja) | ||
JP3840919B2 (ja) | メールサーバー、メールクライアント及び電子メールシステム | |
JP2006528443A (ja) | 送信者が受信者の証明書を持たないときに受信者に暗号化されたメッセージを送るためのシステムと方法とコンピュータ製品 | |
JP2002033760A (ja) | 電子メールのセキュリティを代行して保証する方法及びシステム並びに記録媒体 | |
JP2002024147A (ja) | セキュアメールプロキシシステム及び方法並びに記録媒体 | |
JP2005534049A (ja) | S/mime暗号化データの配信及び受信のためのシステム、方法、及びコンピュータ製品 | |
WO2005096543A1 (en) | Method of providing key containers | |
JP4085573B2 (ja) | 電子メール装置 | |
JP2006119738A (ja) | 電子メール送信システム | |
US8176315B2 (en) | Gateway device, controlling method of the same, and program record medium storing controlling method | |
JP2002208960A (ja) | 電子メール装置 | |
JP2009100345A (ja) | メール中継装置 | |
JP5493679B2 (ja) | 復号鍵送信装置、コンピュータプログラム、復号鍵送信システム及び復号鍵送信方法 | |
JP2006287976A (ja) | メールサーバー、メールクライアント及び電子メールシステム | |
JP4264903B2 (ja) | 電子メール送受信システム | |
JP2012160110A (ja) | ファイル交換システム、ファイル交換サーバ、およびファイル交換プログラム | |
CN111492626A (zh) | 用于电子标识和信任服务(eidas)的电子通知的认证的平台和方法 | |
JP2011008480A (ja) | 端末装置、端末装置の電子メール処理プログラム及び端末装置の電子メール処理方法 | |
JP4055348B2 (ja) | 公開鍵取扱装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061031 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070306 |