(57)【要約】【課題】インターネットなどを利用し、安全性を保ちながら特定の相手にファイルを送信する暗号通信システム、及びこのシステム専用の可搬性ある記憶装置を提供する。【解決手段】各ユーザがもつ暗号通信用記憶装置３には、ユーザ本人の秘密鍵および電子証明書と、暗号通信プログラムと、受信者情報テーブルとが記憶されており、暗号通信用記憶装置３がコンピュータ１と通信可能状態になると、暗号通信プログラムがコンピュータ１のメモリ上に読み出され、暗号通信プログラムはコンピュータ１を、送信先の公開鍵で暗号化したファイルに送信先の電子証明書を付加して、送信先指定のファイル保管サーバ２に送り出す送信端末として機能させる一方、ファイル保管サーバ２にアクセスし、保管されているファイルの中から電子証明書の情報を基に自己宛のファイルを取り出し、自己の秘密鍵で復号化する受信端末として機能させる。【選択図】図１
2007281925.tif 000002
【特許請求の範囲】
【請求項１】
各ユーザがもつ暗号通信用記憶装置と、該暗号通信用記憶装置との入出力インタフェースを有するコンピュータと、それらのコンピュータが通信ネットワークを介して接続するファイル保管サーバから構成される暗号通信システムであって、
前記暗号通信用記憶装置は
ユーザ本人の秘密鍵および電子証明書と、
受信者情報テーブルと、
前記コンピュータにファイルの送受信をさせるための暗号通信プログラムとを記憶し、
前記受信者情報テーブルには、該ユーザがファイルを送信しようとする相手の電子証明書と、ファイル保管サーバを指定するファイル保管サーバ情報が含まれ、
前記暗号通信用記憶装置が前記コンピュータと通信可能状態になると、
前記コンピュータのメモリ上に前記暗号通信プログラムが読み出され、
該暗号通信プログラムは、
受信者が特定されると、前記受信者情報テーブルから該受信者の電子証明書と、ファイル保管サーバ情報を取り出す機能と、
前記受信者へ送信するファイル本体を共通鍵で暗号化する機能と、
該共通鍵を前記受信者の公開鍵で暗号化する機能と、
前記暗号化されたファイル本体に、前記暗号化された共通鍵と前記受信者の電子証明書とを付加して暗号化ファイルを作成する機能と、
該暗号化ファイルを、指定されたファイル保管サーバへ送信する機能とを
送信者側のコンピュータに実現させる一方、
前記ファイル保管サーバに自動的にアクセスする機能と、
前記ファイル保管サーバに保管されている暗号化ファイルの中から、自己宛の暗号化ファイルを取り出してくる機能と、
該暗号化ファイル内部の暗号化された共通鍵を自己の秘密鍵で復号化し、該共通鍵でファイル本体を復号化する機能とを
受信者側のコンピュータに実現させる
ことを特徴とする暗号通信システム。
【請求項２】
前記受信者情報テーブルには、電子証明書付きで送信された電子メールに基づいて、該電子メールの送信者の名前、電子証明書、電子メールアドレス等が受信者情報として登録されることを特徴とする請求項１に記載の暗号通信システム。
【請求項３】
受信者へ送信されるファイル本体は、圧縮された後に暗号化されることを特徴とする請求項１または請求項２のいずれかに記載の暗号通信システム。
【請求項４】
ファイル本体を暗号化する共通鍵は、送信の都度、乱数を発生させて生成されることを特徴とする請求項１〜３のいずれか１に記載の暗号通信システム。
【請求項５】
前記送信者側のコンピュータは、前記ファイル保管サーバへのファイルの送信を完了したとき、前記受信者情報テーブルから該ファイルの受信者の電子メールアドレスを取得し、ファイル送信を通知する電子メールを前記受信者に送信することを特徴とする請求項１〜４のいずれか１に記載の暗号通信システム。
【請求項６】
前記受信者側のコンピュータは、前記ファイル保管サーバに保管されている暗号化ファイルの中から、付加されている電子証明書を参照し、被発行者情報と、受信者である自己を特定する情報とを対比し、両者が一致した場合に、自己宛のファイルであると判定することを特徴とする請求項１に記載の暗号通信システム。
【請求項７】
前記受信者側のコンピュータは、前記ファイル保管サーバから取り出した自己宛の暗号化ファイルの暗号化に利用した公開鍵に対応した秘密鍵を自動的に探し出すことを特徴とする請求項６に記載の暗号通信システム。
【請求項８】
通信可能状態で前記コンピュータのメモリにロードされた前記暗号通信プログラムは、通信遮断状態になるとただちに、ロードされている自らのプログラムを消去する機能を備えたことを特徴とする請求項１〜７のいずれか１に記載の暗号通信システム。
【請求項９】
コンピュータとの入出力インタフェースを備えるとともに、
ユーザ本人の秘密鍵および電子証明書と、
受信者情報テーブルと、
通信ネットワークを介してコンピュータにファイルの送受信をさせる暗号通信プログラムとを備え、
前記受信者情報テーブルには、該ユーザがファイルを送信しようとする相手の電子証明書と、ファイル保管サーバを指定するファイル保管サーバ情報が含まれ、
前記入出力インタフェースを介して前記コンピュータと通信可能状態となると、
前記暗号通信プログラムは前記コンピュータのメモリ上に読み出され、
該暗号通信プログラムは、
受信者が特定されると、前記受信者情報テーブルから該受信者の電子証明書と、ファイル保管サーバ情報を取り出す機能と、
前記受信者へ送信するファイル本体を共通鍵で暗号化する機能と、
該共通鍵を受信者の公開鍵で暗号化する機能と、
前記暗号化されたファイル本体に、前記暗号化された共通鍵と前記受信者の電子証明書とを付加して暗号化ファイルを作成する機能と、
該暗号化ファイルを、指定されたファイル保管サーバへ送信する機能とを
送信者側のコンピュータに実現させる一方、
前記ファイル保管サーバに自動的にアクセスする機能と、
前記ファイル保管サーバに保管されている暗号化ファイルの中から、自己宛の暗号化ファイルを取り出してくる機能と、
該暗号化ファイル内部の暗号化された共通鍵を自己の秘密鍵で復号化し、該共通鍵でファイル本体を復号化する機能とを
受信者側のコンピュータに実現させる
ことを特徴とする暗号通信用記憶装置。
【請求項１０】
請求項９の暗号通信用記憶装置に記憶された、通信ネットワークを介してコンピュータに暗号化ファイルの送受信を実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
誰でも利用できるインターネットなどの通信ネットワークを利用しつつ、安全性を保持しながら特定の相手にファイルを送信する暗号通信システム、暗号通信用記憶装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、インターネットの普及は著しいが、特定の相手とのファイル等の送受信に際しても、インターネットが利用されるようになってきた。しかし、インターネットには、誰でもが容易にアクセスできるため、インターネット上を流れる情報は、盗聴や改ざんなどの危険にさらされている。このような危険から情報を守るために、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）が注目されている。
ＶＰＮは、公衆に開放された通信ネットワークを、あたかも当事者間の専用路であるかのような仮想的な状態を作り出し、当事者間で安全に通信が出来るような仕組みを提供するものである。
このＶＰＮに関する文献は数多く、特許文献１，２に挙げたものもそのひとつである。
【０００３】
また、電子商取引に代表されるように、インターネット上に個人（企業などの法人も含む）情報を送出せざるをえない場面が増加している。これらの電子商取引等の安全性を確保するための基本的枠組みを提供するのが、公開鍵方式をベースとするＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）である。
【０００４】
【特許文献１】特開２０００−５９３５７号公報
【特許文献２】特開２００６−２５０９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
現在実施されているＶＰＮは、ＩＰ−ＶＰＮとＳＳＬ−ＶＰＮとに大別される。
ＩＰ−ＶＰＮを構築するには、相互につながる多数のルータ網に、ユーザ拠点のルータを接続するとともに、ユーザ拠点の経路情報を、ルータ網を構成するルータに通知しなくてはならない。多額な設備投資が必要となるし、ユーザ側にはネットワークなどに関するある程度の知識が要求される。また、仮想的な専用路内部では、ファイルは暗号化によって保護されているが、送信元コンピュータと専用路の入り口までの間、および専用路の出口から送信先コンピュータまでの間は、ファイルは平文の状態にある。
一方のＳＳＬ−ＶＰＮにおいても、専用の設備が必要であること、ユーザ側に知識が要求されること、一部区間におけるファイル保護が脆弱であること等の不都合は、ＩＰ−ＶＰＮと同様である。
【０００６】
特許文献１、２に開示されている発明を例にとっても、次のような問題点がある。
すなわち、特許文献１に開示されている発明では、サーバが共通鍵を送信者と受信者の双方に配布している。そのため、サーバの運営管理のために手間と費用がかかるだけではなく、当事者以外（サーバ）が共通鍵を知りうる立場にあるのはファイル保護の観点から好ましいことではない。
特許文献２に開示されている発明では、送信者から受信者をつなぐ経路上の一部区間でファイルが平文のままとなっている。
【０００７】
以上の問題点に鑑み、本発明は、ＶＰＮのためのインフラを新たに設けることなく、ユーザ側の管理者を不要とし、送信者から受信者の間で、安価かつ簡便にファイルの安全な送信を確保する仕組み、およびこの仕組みに用いられる可搬性ある装置を提供することを目的とする。
また、認証局（ＰＫＩの一要素）から電子証明書の発行を受ける個人が増加していることに鑑み、公開鍵ベースのＰＫＩに立脚して、上記の仕組みを実現することも目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達するために、請求項１に記載の暗号通信システムは、各ユーザがもつ暗号通信用記憶装置と、該暗号通信用記憶装置との入出力インタフェースを有するコンピュータと、それらのコンピュータが通信ネットワークを介して接続するファイル保管サーバから構成される暗号通信システムであって、前記暗号通信用記憶装置はユーザ本人の秘密鍵および電子証明書と、受信者情報テーブルと、前記コンピュータにファイルの送受信をさせるための暗号通信プログラムとを記憶し、前記受信者情報テーブルには、該ユーザがファイルを送信しようとする相手の電子証明書と、ファイル保管サーバを指定するファイル保管サーバ情報が含まれ、前記暗号通信用記憶装置が前記コンピュータと通信可能状態になると、前記コンピュータのメモリ上に前記暗号通信プログラムが読み出され、該暗号通信プログラムは、受信者が特定されると、前記受信者情報テーブルから該受信者の電子証明書と、ファイル保管サーバ情報を取り出す機能と、前記受信者へ送信するファイル本体を共通鍵で暗号化する機能と、該共通鍵を前記受信者の公開鍵で暗号化する機能と、前記暗号化されたファイル本体に、前記暗号化された共通鍵と前記受信者の電子証明書とを付加して暗号化ファイルを作成する機能と、該暗号化ファイルを、指定されたファイル保管サーバへ送信する機能とを送信者側のコンピュータに実現させる一方、前記ファイル保管サーバに自動的にアクセスする機能と、前記ファイル保管サーバに保管されている暗号化ファイルの中から、自己宛の暗号化ファイルを取り出してくる機能と、該暗号化ファイル内部の暗号化された共通鍵を自己の秘密鍵で復号化し、該共通鍵でファイル本体を復号化する機能とを受信者側のコンピュータに実現させることを特徴とする。
【０００９】
「ユーザ」とは、本発明のシステムを利用して、ファイルを送信・受信する者のことであり、各ユーザは、自分専用の暗号通信用記憶装置を持っている。
「暗号通信用記憶装置」とは、可搬性ある記憶媒体に、本発明のファイル送受信のために必要となるデータとプログラムを内蔵したものである。記憶媒体としては、ＵＳＢメモリでも、ＩＣカード、ＣＤなどでもよく、特に限定しない。また、コンピュータ側と非接触のタイプの記憶媒体であってもよい。ただし、ＰＫＩ領域を有することが必要である。
「入出力インタフェース」とは、コンピュータと暗号通信用記憶装置との通信の確立をするインタフェースのことで、例えば、記憶媒体がＵＳＢメモリであれば、ＵＳＢポートが該当する。
「通信ネットワーク」とは、下記の実施形態のインターネットもその一つであるが、イントラネット・エクストラネット等も含まれる。
【００１０】
「電子証明書」とは、その持ち主の公開鍵が正当である旨を証明する認証局が発行した証明書である。認証局は、認証を業とする機関に限らず、企業などが内部の構成員のために設立したプライベート認証局であってもよい。この電子証明書は、たいていのコンピュータにインストールされているメールソフトが管理する所定の場所に格納されている。
「秘密鍵」とは、電子証明書によってその持ち主の正当な公開鍵であると証明されたものと対をなし、公開鍵で暗号化されたものは、対をなす秘密鍵によらなければ復号化できない。
「ファイル本体」とは、相手に送信したいと考える内容を格納したファイルをいう。本発明では、このファイル本体を暗号化したものに、暗号化された共通鍵と受信者の電子証明書とを付加して「暗号化ファイル」として相手に送信する。
【００１１】
これにより、インターネット等の開かれた通信ネットワークを利用しつつ、送信者から受信者まで安全にファイルを届けることができる。これを実現するためには、送信者及び受信者の両者が、（１）暗号通信用記憶装置を持ち、通信ネットワークに接続するコンピュータの使用ができ、（２）電子証明書の発行を受けていればよく、このシステム専用の新たな装置などを導入する必要がない。したがって、既存のＶＰＮに比べ、格段に安いコストに抑えることができる。また、このシステムの大半の処理は、暗号通信用記憶装置内に格納されているプログラムがコンピュータに読み込まれることによって、ほぼ自動的に行うので、ユーザは、通信やコンピュータについての高度な知識は要求されない。つまり、安価かつ簡便にセキュアなファイルの送受信が可能になる。
【００１２】
また、ファイル本体の暗号化は共通鍵方式で行うので、公開鍵方式で暗号化する場合と比べ、処理時間の大幅な短縮が図られる。本発明のシステムで対象とするファイル本体には、例えば、大規模工事の設計書類一式や、部品の多いＣＡＤ図面なども含まれうるので、所要時間の長短は重要である。さらに、この共通鍵を受信者の公開鍵で暗号化しているので、対となる秘密鍵を持っている受信者以外は共通鍵を取り出せず、一層安全である。しかも、一連の復号化処理は、プログラムが自動で行うので、受信者は、共通鍵が何かを知る必要もない。
【００１３】
本発明のシステムは、以下に述べるように、従来のＶＰＮとは、発想の根本が相違している。
従来のＶＰＮでは、インターネット等の通信ネットワークは、不特定多数の者が利用する以上、そこを通るファイルは、盗聴や改ざん、ファイル紛失などの危険にさらされていると考え、この危険からファイルを保護するために、危険な通信ネットワーク内に仮想的な専用路を設けようとする。そのために、この専用路の入り口と出口とには、特別な仕組みや装置が必要となる。
一方、本発明では、インターネット等を利用する以上、危険が伴うのは止むをえないと考え、送信途中のファイルに対する盗聴や改ざん等の試みがなされたとしても、当事者にとって実害が生じなければ、それでよしとするのである。専用路を作って保護しようとは考えない。本発明では、送信者の手許を離れた直後から、受信者の手許に達する直前までファイルを暗号化された状態におく。暗号化されているファイルに盗聴や改ざんがなされても、実害は発生しない。また、通信経路上でなんらかの理由によって、ファイルが紛失しても、そのことで意味のある情報が漏洩する心配はなく、当事者にとって再度同一ファイルを送信する手間が発生するにすぎない。
【００１４】
請求項２に記載の発明は、請求項１に記載の暗号通信システムにおいて、前記受信者情報テーブルには、電子証明書付きで送信された電子メールに基づいて、該電子メールの送信者の名前、電子証明書、電子メールアドレス等が受信者情報として登録されることを特徴とする。
【００１５】
これにより、電子証明書付きの電子メールを送信してきた相手を、受信者として受信者情報テーブルに登録することができる。
【００１６】
請求項３に記載の発明は、請求項１または請求項２のいずれかに記載の暗号通信システムにおいて、受信者へ送信されるファイル本体は、圧縮された後に暗号化されることを特徴とする。
【００１７】
これにより、大規模ファイルであっても、暗号化に要する時間、およびファイル保管サーバへの送信時間のいずれもが短くてすむ。
「ファイル本体」は、１個のファイルに限らず、２個以上の任意個数のファイル、あるいは１以上のフォルダを含む階層構造をなすファイルも含まれる。
【００１８】
請求項４に記載の発明は、請求項１〜３のいずれか１に記載の暗号通信システムにおいて、ファイル本体を暗号化する共通鍵は、送信の都度、乱数を発生させて生成されることを特徴とする。
【００１９】
これにより、送信の都度、暗号化に用いる共通鍵が異なるので、一層安全である。
なお、共通鍵方式の欠点は、鍵配送が難しいことであるが、この欠点は、受信者の公開鍵によって暗号化されることで解決している。
【００２０】
請求項５に記載の発明は、請求項１〜４のいずれか１に記載の暗号通信システムにおいて、前記送信者側のコンピュータは、前記ファイル保管サーバへのファイルの送信を完了したとき、前記受信者情報テーブルから該ファイルの受信者の電子メールアドレスを取得し、ファイル送信を通知する電子メールを前記受信者に送信することを特徴とする。
【００２１】
これにより、受信者側では、ファイルが送信されてきたことを知ることができ、その時点で、暗号通信用記憶装置をコンピュータと通信可能状態にすれば、ファイルを受信できる。暗号通信用記憶装置をコンピュータと接続することは失念しがちであるが、電子メールの着信ならば、比較的まめにチェックする人は多いので、ファイルを受信しそこねることを極力回避できる。
【００２２】
請求項６に記載の発明は、請求項１に記載の暗号通信システムにおいて、前記受信者側のコンピュータは、前記ファイル保管サーバに保管されている暗号化ファイルの中から、付加されている電子証明書を参照し、被発行者情報と、受信者である自己を特定する情報とを対比し、両者が一致した場合に、自己宛のファイルであると判定することを特徴とする。
【００２３】
電子証明書の「被発行者情報」とは、サブジェクトと呼ばれる項目に属する情報であり、ユーザ名（Ｃｏｍｍｏｎ  Ｎａｍｅ）、電子メールアドレス等が含まれる。「自己を特定する情報」とは、例えば、ユーザ名と電子メールアドレスの組み合わせなどがある。
【００２４】
これにより、ファイル保管サーバにある多量のファイルの中から、自分宛のものを迅速に探し出せる。平文の状態にある電子証明書を手掛かりとして探すので、ファイル本体は暗号化されたままであってよい。ファイル保管サーバ内での検索のために、復号化処理は必要ないので、受信者の秘密鍵は、受信者側のコンピュータから外部（通信ネットワークおよびファイル保管サーバ）へ取り出されずにすむ。なお、電子証明書は、他人へ公開することが予定されているので、本発明においても、平文のままで使用することは何ら問題ではない。
【００２５】
請求項７に記載の発明は、請求項６に記載の暗号通信システムにおいて、前記受信者側のコンピュータは、前記ファイル保管サーバから取り出した自己宛の暗号化ファイルの暗号化に利用した公開鍵に対応した秘密鍵を自動的に探し出すことを特徴とする。
【００２６】
これにより、受信者が、複数の電子証明書を所持している場合、つまり、公開鍵と秘密鍵のペアを複数持っている場合でも、受信者による操作を必要とすることなく、暗号通信プログラムが適当な秘密鍵を自動的に選択して復号化する。
【００２７】
請求項８に記載の発明は、請求項１〜請求項７のいずれか１に記載の暗号通信システムにおいて、通信可能状態で前記コンピュータのメモリにロードされた前記暗号通信プログラムは、通信遮断状態になるとただちに、ロードされている自らのプログラムを消去する機能を備えたことを特徴とする。
【００２８】
「通信遮断状態」とは、ＵＳＢメモリタイプの暗号通信用記憶装置であれば、コンピュータのＵＳＢポートから外れた状態をいう。
これにより、暗号通信用記憶装置とコンピュータとが通信可能状態にあるときのみ、暗号通信用記憶装置内部のプログラムを実行させることができるので、安全性が保たれる。
【００２９】
また、上記の目的を達するために、前記の暗号通信システムで使用する暗号通信用記憶装置、および格納されているコンピュータプログラムも本発明である。
【発明の効果】
【００３０】
既存の設備をそのまま使用でき、ＵＳＢメモリなどの記憶媒体に必要なプログラムとデータ（受信者情報、及びＰＫＩ領域に記憶された電子証明書など）を有したものを用意するだけで、当事者間の安全なファイル送受信が安価かつ容易に実現できる。
当事者の手許を離れた状態では、ファイルが暗号によって保護されているので、インターネット等を通過するに際し、盗聴や改ざん等による実害は生じえない。このことは、ファイルの送信者とファイルの受信者との間に、仮想の専用路が設けられた、つまり、ＶＰＮが実現されたのも同然である。
【発明を実施するための最良の形態】
【００３１】
図１〜図６に従い、本発明の暗号通信システムの実施形態を説明する。
図１に示すシステム構成例では、２台のコンピュータ１Ａ、１Ｂと、１台のファイル保管サーバ２が、インターネット等の通信ネットワークＮを介して接続している。コンピュータ１Ａ，１Ｂには、暗号通信用記憶装置３Ａ，３Ｂが接続している。
ファイル保管サーバ２は、他のコンピュータからのリクエストにより、ファイルを格納する手段２ａを備えているサーバであれば、何でもよい。ただし、送信プロトコルはＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）が好ましい。ＦＴＰは、多くのアプリケーションソフトにおいて用いられるプロトコルだからである。
なお、図１は、最小限の構成を例示しているのであって、コンピュータ１の台数は２台以上、ファイル保管サーバ２は１台以上の任意台数を接続することができる。
【００３２】
以下の説明では、ユーザＡがユーザＢへファイルを送信し、ユーザＢがユーザＡからのファイルを受信するという状況を想定している。そのため、ユーザＡの使用するコンピュータ１Ａは送信処理を行い、ユーザＢの使用するコンピュータ１Ｂは受信処理を行うものとして説明する。ただし、暗号通信用記憶装置３と通信可能な状態にあるコンピュータ１は、送信と受信のいずれの処理も行うことはいうまでもない。
なお、各ユーザは、自分専用の暗号通信用記憶装置３を持ち、それを使わなくてはならないが、コンピュータは限定する必要はない。ユーザは、本システムを利用する必要が生じたとき、手近にあるコンピュータを使用すればよいのであって、使用するコンピュータのＩＰアドレスや設置場所などによる制約はない。
【００３３】
次に、図２のブロック図に従い、コンピュータ１と暗号通信用記憶装置３の構成を説明する。
暗号通信用記憶装置３は、コンピュータ１との通信経路を確立するためのＩ／Ｆ部４、自己の秘密鍵５および電子証明書６、暗号通信プログラム７、受信者情報テーブル８を記憶している。他に、図示しないドライバ類も記憶している。
秘密鍵５は、この暗号通信用記憶装置３の所有者がファイルを受信するときに、暗号化ファイルの復号化のために必要となる。電子証明書６は、秘密鍵５と対をなす公開鍵が、この暗号通信用記憶装置３の所有者の正当な公開鍵であることを、認証局が証明したものである。秘密鍵５および電子証明書６の組み合わせは、１つに限らず、複数であってもよい。一人で複数の電子証明書の発行を受けている人もいるからである。
暗号通信プログラム７は、このシステムのユーザ同士がファイルの送信あるいは受信を行うために必要となる機能の大半を網羅したプログラムである。このプログラムの機能の詳細は後に説明する。
受信者情報テーブル８は、この暗号通信用記憶装置３の所有者が、ファイルを送信しようとする者（送信先）に関する情報を格納しておくもので、そのフォーマットは後に述べる。
【００３４】
コンピュータ１は、暗号通信用記憶装置３との通信を確立するＩ／Ｆ部９、記憶手段１０、処理手段１１、Ｉ／Ｆ部１２を備える。他に、各種設定や確認のための入力手段や画面表示手段を備えている必要がある。
記憶手段１０は、各種プログラム、各種ファイルなどを記憶しておくものである。各種プログラムには、メールソフトやＷｅｂページ閲覧ソフト、ワープロソフト、表計算ソフト、ＣＡＤソフトのようなアプリケーションソフトの他に、暗号通信プログラム７、暗号通信用記憶装置３のドライバ類も含まれる。さらに、各種アプリケーションソフトで作成したファイルも記憶される。記憶手段１０は、記憶対象となるプログラムやファイルの種類に応じて、ＲＡＭ、ＲＯＭ、あるいはハードディスクなどの外部補助記憶媒体で実現される。
【００３５】
暗号通信用記憶装置３がＵＳＢメモリタイプであれば、ＵＳＢメモリのコネクタがＩ／Ｆ部４に、ＵＳＢポートがＩ／Ｆ部９に相当する。Ｉ／Ｆ部４とＩ／Ｆ部９とが接続すると、コンピュータ１は、暗号通信用記憶装置３と通信可能となり、暗号通信プログラム７が、コンピュータ１側に転送され、記憶手段１０に格納される。一方、Ｉ／Ｆ部４とＩ／Ｆ部９との接続が解除され、コンピュータ１と、暗号通信用記憶装置３との通信が遮断されると、暗号通信プログラム７は自らを記憶手段１０から消去する。つまり、暗号通信プログラム７は、暗号通信用記憶装置３がコンピュータ１に接続しているときのみ実行可能である。
ただし、暗号通信用記憶装置３に記憶されているプログラムであっても、ドライバ類は、コンピュータ１のハードディスクなどに保存してかまわない。暗号通信用記憶装置３をＵＳＢポートに挿し込んだときに、コンピュータ１が、ただちに暗号通信プログラム７などを自動的に読み出せるようにするためである。
【００３６】
処理手段１１は、主として図示しないＣＰＵで実現され、メモリ上にある暗号通信プログラム７の適宜の命令コードを読みこんで暗号通信処理を実行したり、各種アプリケーションソフトを実行したり、入出力手段（図示せず）の制御をしたりする。なお、以下の説明において、特に断らない限り、処理手段１１によって実現される機能は、暗号通信プログラム７の実行によるものである。
【００３７】
Ｉ／Ｆ部１２は、インターネット等の通信ネットワークＮへファイルを送り出したり、通信ネットワークＮを介して送られてくるファイルを受信したりする通信インタフェースである。
【００３８】
次に、本実施形態のシステムの作用について説明する。
本システムによるファイルの送受信の実行は、暗号通信用記憶装置３のドライバ（必要なミドルウェアも含む）がコンピュータ１にインストールされていることが前提である。暗号通信用記憶装置３がＵＳＢポートに差し込まれると、コンピュータ１のＯＳは、ドライバの有無を確認し、無ければ、暗号通信用記憶装置３からドライバを読み出し、コンピュータ１側にインストールする。いったん、ドライバがインストールされれば、以後、暗号通信用記憶装置３がＵＳＢポートに差し込まれると、暗号通信プログラム７がコンピュータ１側に転送され、実行可能な状態になる。
【００３９】
暗号通信の実行が可能であることをユーザに知らせるため、例えば、コンピュータ１の図示しない画面にアイコンが表示される。ユーザは、例えば、アイコンのクリックという操作に続くポップアップメニューからのメニュー項目の選択という操作によって、本システムで実行したい処理を選択する。こういった操作は、多くのアプリケーションソフトでも採用されているので、詳細は省略する。
【００４０】
ファイルの送信について説明する前に、受信者情報テーブル８への受信者の登録について説明する。
受信者情報テーブル８のフォーマットは、例えば、図３に示すようなものである。一人の受信者について、一のレコードが対応する。ただし、ユーザによっては、一人で複数の電子証明書を持っていることがあるので、その場合は、複数のレコードが対応する。
受信者の登録（削除、更新も同様）といった受信者情報テーブル８の編集は、ユーザが入力手段（図示せず）を介して入力した内容に基づいて、暗号通信プログラム７によって実行される。
【００４１】
図３のフォーマット例のうち、ファイル保管サーバの情報を除く項目は、ファイルを送信しようとする相手から送付されてきた電子証明書付きの電子メールから得られた情報に基づいて登録される。このシステムを利用してファイルの送信、受信を行う相手とは、電子メールのやり取りも行っているはずである、ということが前提となっている。
【００４２】
具体的な登録の仕方は、ユーザが使用するメールソフトによって相違する。
例えば、Ｏｕｔｌｏｏｋ（登録商標）  Ｅｘｐｒｅｓｓを使用しているならば、電子証明書を持っている者のリストが自動的にメモリ上に読み出される。このリストから登録しようとする者を、マウスなどの入力手段を介して特定し、受信者情報テーブル８に登録する。
他のメールソフトを使用しているならば、そのメールソフトが管理している電子証明書格納場所から、登録しようとしているユーザの電子証明書を参照し、その電子証明書から抽出したデータを手動で受信者情報テーブル８に登録する。ここで、電子証明書そのものも受信者情報テーブル８に登録する。このように、電子証明書も暗号通信用記憶装置３の内部に記憶させておくので、出張先などで普段と異なるコンピュータを使用するときであっても、暗号通信用記憶装置３を接続すれば、ファイルの送信が可能である。
【００４３】
以上のように、受信者情報の登録処理は、メールソフトによって、実装レベルの相違はある。しかし、受信者として登録するためのデータは、電子メールとともに送られてきた電子証明書から抽出したデータであることに変わりは無い。したがって、電子署名付きのメールを一度でも受け取ったことがあれば、その相手を受信者として受信者情報テーブル８に登録できる。しかし、受け取ったことが無ければ、当該相手に連絡して電子署名付きのメールを送ってもらうように依頼するか電子証明書ファイル（．ｃｅｒ）を送ってもらうように依頼しなくてはならない。
【００４４】
受信者情報テーブル８には、送信先が指定するファイル保管サーバに関する情報も登録しておく。ＦＴＰ転送のためには、ファイル保管サーバのホスト名又はＩＰアドレス、フォルダ指定、ポート指定他を設定する必要があるので、これらの情報も受信者情報テーブル８に登録する。
【００４５】
以下、図４に従い、ユーザＡからユーザＢへファイルを送信する場合の手順について説明する。この送信処理において、ユーザＡのコンピュータ１Ａは、インターネット等の通信ネットワークＮに接続されていることを前提とする。
なお、上記のテーブル８への登録と同様に、特に断らない限り、暗号通信プログラム７を処理手段１１が実行することによって以下の手順は実現される。
【００４６】
ユーザＡに、ユーザＢへ送るファイル本体を選択させると、コンピュータ１Ａの処理手段１１は、記憶手段１０などから選択されたファイルを取り出し、これを圧縮する（ステップＳ１）。選択されたファイル本体の個数が複数あれば、これらを一括して圧縮する。
次に、ファイルの受信者をユーザAに選択させる（ステップＳ２）。受信者情報テーブル８の内容を暗号通信用記憶装置３から読み出して、コンピュータ１Ａの画面に表示し、入力手段を介して選択させるようにすればよい。この例では、ユーザＢが受信者として選択されたものとする。
【００４７】
処理手段１１は、ユーザＢの電子証明書を、受信者情報テーブル８から抽出し、その失効検証確認を行う（ステップＳ３）。具体的には、有効期限を過ぎているか否か、有効期限内であれば、ＣＲＬ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｒｅｖｏｃａｔｉｏｎ  Ｌｉｓｔ）を入手し、該電子証明書の情報が掲載されているか否かを調べて検証する。
ステップＳ３において有効と判定されれば、処理手段１１は、乱数を発生させて共通鍵を生成し、この共通鍵で圧縮されたファイル本体を暗号化（ステップＳ４）した後、受信者情報テーブル８からユーザＢの電子証明書を取り出し、この証明書に含まれる公開鍵で先の共通鍵を暗号化する（ステップＳ５）。
図５に示すように、暗号化された圧縮ファイルＤ１、暗号化された共通鍵Ｄ２、及びユーザＢの電子証明書Ｄ３を一つの暗号化ファイルにまとめ、ファイル名をつける（ステップＳ６）。ここで、暗号化ファイルに受信者の電子証明書を含めるのは、受信者側が自己宛のファイルをファイル保管サーバ２の格納場所２ａから探し出すときに必要だからである。これについては、後で説明する。
【００４８】
暗号化ファイルが作成されると、処理手段１１は、受信者情報テーブル８からユーザＢの指定するファイル保管サーバの情報を取り出し、Ｉ／Ｆ部１２、通信ネットワークＮを介して、このファイル保管サーバ２へ送信する（ステップＳ７）。送信完了後、処理手段１１は、受信者であるユーザＢに、ファイル保管サーバ２へ送信した旨の電子メールを自動送信する（ステップＳ８）。この電子メールの本文用に定型文が用意してある。また、この定型文をユーザＡが適宜編集したうえで、送信してもよいことは言うまでもない。
【００４９】
もし、ステップＳ３において、電子証明書が有効期限を経過していると判定されたなら、警告メッセージを画面などに表示させる（ステップＳ９）。例えば、“この公開鍵の証明書は有効期限を過ぎているので失効検証が行えません。したがって秘密鍵が第三者に渡っている可能性があり、第三者に読み取られるおそれがあります。”といった内容の警告であり、送信処理を続行するか否かの判断を送信者に促す（ステップＳ１０）。送信処理の続行が選択された場合（ステップＳ１０でＹＥＳ）は、ステップＳ４以降の処理がなされる。
【００５０】
一方、電子証明書が失効していると判定されたなら、受信者情報テーブル８から、ユーザＢの名前を削除するように促し（ステップＳ１１）、送信処理を終了する。証明書が失効するのは、秘密鍵を格納した記憶媒体などが盗まれたり、紛失したりしたため、その公開鍵に対応する秘密鍵が使用できなくなった場合等である。したがって、すでに失効している公開鍵を使用して暗号化したファイルを送信すると、通信の途中で悪意のある者に盗み見られたり、内容を改ざんされたりするおそれがある。そのため、有効期限切れの場合と異なり、失効の場合は、常に送信不可とすることにした。
なお、有効期限切れ、あるいは、失効の場合は、ユーザＢに新しい電子証明書を送ってもらうなどの対応が必要になる。
以上が、送信者側の処理の概略である。
【００５１】
次は、図６を参照しながら、ファイル受信者側（この例ではユーザＢ）の受信処理について説明する。この受信処理において、ユーザＢのコンピュータ１Ｂは、インターネット等の通信ネットワークＮに接続されていることを前提とする。
ユーザＢは、自分の暗号通信用記憶装置３Ｂをコンピュータ１Ｂと通信可能にしてある場合、かつ、ファイル保管サーバ２への自動的なアクセスを可とする設定がされている場合（ステップＳ１０１でＹＥＳ）、コンピュータ１Ｂの処理手段１１は、所定時間ごとに自動的にファイル保管サーバ２へアクセスする（ステップＳ１０２）。
【００５２】
通信可能でない場合（ステップＳ１０１でＮＯ）は、受信の必要が生じた時点で暗号通信用記憶装置３Ｂをコンピュータ１Ｂに接続し、アイコンのクリックなどの手動操作でファイル保管サーバ２へアクセスする（ステップＳ１０３）。通信可能であっても、自動アクセス可の設定がされていない場合（ステップＳ１０１でＮＯ）も、受信の必要な時に手動操作でファイル保管サーバ２へアクセスする（ステップＳ１０３）。ここで、受信の必要な時とは、ユーザＡからのファイル送信を通知するメールを受信したような場合である。
なお、自動アクセスの可否にかかわらず、ユーザＢはいつでも手動操作によって、ファイル保管サーバ２へアクセスすることができる。
ここで、ファイル保管サーバ２へ自動アクセスするための時間間隔は、プログラムが設定しているデフォルト値でも、ユーザが指定する値でもよい。また、ユーザは、自動アクセスをしない、という設定をしてもよい。
【００５３】
処理手段１１は、ファイル保管サーバ２のファイル格納手段２ａに保管されているファイルがあるかどうかを探し、無ければ（ステップＳ１０４で‘無し’）、いったん通信遮断状態にしてもよく、あるいは通信可能状態のまま送信通知メールを待つか、処理手段１１が所定時間ごとに自動検索してくるのを待ってもよい。保管されているファイルが見つかれば（ステップＳ１０４で‘有り’）、自分宛の暗号化ファイルか否かを調べる（ステップＳ１０５）。暗号化ファイルの電子証明書格納エリアＤ３から、ユーザ名欄及びメールアドレス欄から取り出した情報と、ユーザＢの名前及びメールアドレスとを対比し、両者が一致するならばユーザＢ宛の暗号化ファイルであると判断できる。なお、照合に用いる情報は他にも考えられるが、自分宛であると一意に特定しうる情報ならば何でもよい。
【００５４】
ステップＳ１０４で取り出したファイルが、ユーザＢ宛のファイルであれば（ステップＳ１０５でＹｅｓ）、その暗号化ファイルをコンピュータ１Ｂの記憶手段１０に取り込む（ステップＳ１０６）。処理手段１１は、暗号通信用記憶装置３ＢからユーザＢの秘密鍵５を取り出して（ステップＳ１０７）、この秘密鍵５を用いて暗号化ファイルの共通鍵エリアＤ２から共通鍵を復号化する（ステップＳ１０８）。暗号化ファイル本体のエリアＤ１から、この共通鍵を用いて圧縮されたファイル本体の復号化を行う（ステップＳ１０９）。
【００５５】
ところで、ユーザＢが、複数の電子証明書を持っている場合は、ステップＳ１０７において、処理手段１１は適する秘密鍵を自動的に探し出さなくてはならない。この場合の、処理手段１１による処理例としては、次のようなものが考えられる。処理手段１１は、暗号化ファイルのエリアＤ３から取り出した電子証明書を、ユーザＢが持っている自己の電子証明書６と照合し、一致する電子証明書６が証明する公開鍵が暗号化に用いられた公開鍵となるので、それと対になる秘密鍵５を判別できるわけである。
【００５６】
このように、自分宛のファイル本体の復号化は、自分のコンピュータ１Ｂの記憶手段１０に暗号化ファイルを取り込んでから行う。つまり、ファイル保管サーバ２から通信ネットワークＮを介して自己のコンピュータ１Ｂに受信されてくるまでは、ファイル本体は暗号化されているので、安全性が保たれる。このメリットは、ファイル保管サーバ２において探し出したファイルを、ファイル保管サーバ２内部で復号化してから、自分のコンピュータ１Ｂに取り込んでくる場合と比較してみれば、明らかであろう。
以上が、受信者側の処理の概略である。
【００５７】
上記の実施形態では、送信先が１人の場合について説明したが、２人以上の送信先に同一ファイルを送信する場合、各送信先の公開鍵で暗号化した暗号化ファイルを人数分作成し、各送信先の指定するファイル保管サーバに送り出せばよい。
【００５８】
上記の実施形態では、送信対象の暗号化ファイルを作成するとき、通信ネットワークＮに接続していることを前提に説明した。しかし、後で通信ネットワークＮに接続するつもりで、予め暗号化ファイルの作成のみを行うユーザもいる。この場合の処理の流れを、図７を参照しながら説明する。なお、図４と同一内容のステップには、同じ符号（Ｓ１，Ｓ２など）を用いる。
【００５９】
コンピュータ１Ａの処理手段１１は、選択されたファイル本体を圧縮し（ステップＳ１）、ファイルの受信者が選択される（ステップＳ２）と、通信ネットワークＮとの接続の有無を確認する。接続していれば（ステップＳ２０１でＹＥＳ）、図４のステップＳ３以降の処理を行う。
通信ネットワークＮと接続していなければ（ステップＳ２０１でＮＯ）、警告メッセージを画面などに表示させる（ステップＳ２０２）。例えば、“このコンピュータは通信ネットワークに接続していないので、公開鍵の証明書の失効検証が行えません。したがって秘密鍵が第三者に渡っている可能性があり、第三者に読み取られるおそれがあります。それでも、暗号化ファイルの作成をしますか？”といった内容の警告であり、暗号化ファイルの作成を続行するか否かの判断を促す（ステップＳ２０３）。
【００６０】
処理の続行が選択された場合（ステップＳ２０３でＹＥＳ）は、ステップＳ４以降の処理を行う。ステップＳ４からステップＳ６までは、図４と同様である。処理手段１１は、作成された暗号化ファイルを、指定された場所に保存し（ステップＳ２０４）、処理を終える。なお、暗号化ファイルの保存場所は、ユーザＡが現在作業しているコンピュータ１Ａのハードディスクでも、ＭＯなどの補助記憶媒体でもよい。また、暗号通信用記憶装置３Ａに空スペースがあれば、そこに保存してもよい。
【産業上の利用可能性】
【００６１】
インターネット等の通信ネットワークを介した安全なファイル送受信を、安価、簡便に実現するシステムとして、企業や団体だけでなく個人レベルでも導入できる。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施の形態に係る暗号通信システムのシステム構成図である。
【図２】コンピュータおよび暗号通信用記憶装置のブロック図である。
【図３】受信者情報テーブルのフォーマット例を示す図である。
【図４】送信者側コンピュータによる暗号化ファイルの送出処理を示す流れ図である。
【図５】受信者へ送信される暗号化ファイルを説明する図である。
【図６】受信者側コンピュータによる暗号化ファイルの取得処理を示す流れ図である。
【図７】送信者側コンピュータによる暗号化ファイルの作成処理を示す流れ図である。
【符号の説明】
【００６３】
１、１Ａ、１Ｂ  コンピュータ
２  ファイル保管サーバ
３、３Ａ、３Ｂ  暗号通信用記憶装置
５  秘密鍵
６  電子証明書
７  暗号通信プログラム
８  受信者情報テーブル
Ｎ  通信ネットワーク
【図１】
2007281925.tif 000003
【図２】
2007281925.tif 000004
【図３】
2007281925.tif 000005
【図４】
2007281925.tif 000006
【図５】
2007281925.tif 000007
【図６】
2007281925.tif 000008
【図７】
2007281925.tif 000009