(57)【要約】【課題】  電子商取引を行う際に、クライアント、サーバ間のデータの傍受、クライアント、サーバへの不正侵入やデータの抜き取りを効果的に防ぐ。【解決手段】  クライアント、サーバ構成によるインターネットを利用した商取引システムにおいて、トランスポート層に位置するプロトコルを暗号化して通信を行い、最後の発注処理以外全ての部分において、個人情報を一回も復号化することなく、暗号化した個人情報として管理し、通信上はもちろんコンピュータ上から個人情報を抜き取られることや、不正使用を防止したシステムを実現する。【選択図】      図７
2006115417.tif 000002
【特許請求の範囲】
【請求項１】
クライアントコンピュータとサーバコンピュータとの間で、商取引に関するデータの通信を行って、電子商取引を行う電子商取引システムにおいて、
前記クライアントコンピュータと前記サーバコンピュータとのそれぞれで、トランスポート層に位置するプロトコルを暗号化して通信を行うために、
通信路の両端で対応する暗号化及び復号化ロジックを取り決める取決め手段と、
送受信する情報単位としてのパケットのうち、少なくとも前記プロトコルのペイロードを前記取決め手段により取り決めた暗号化ロジックに従って暗号化して送信するプロトコル暗号化手段と、
受信した前記暗号化されたプロトコルのペイロードを前記取決め手段により取り決めた復号化ロジックに従って復号化するプロトコル復号化手段と、を備え、
前記トランスポート層のプロトコルを用いて前記暗号化及び復号化ロジックに基づいた通信を行うとともに、前記クライアントコンピュータは、前記トランスポート層で暗号化された商取引に必要なデータを暗号化されたままで保存し、その保存された商取引に必要なデータを商取引相手のサーバコンピュータに送信することを特徴とする電子商取引システム。
【請求項２】
クライアントコンピュータとサーバコンピュータとの間で、商取引に関するデータの通信を行って、電子商取引を行う電子商取引システムにおいて、
前記クライアントコンピュータと前記サーバコンピュータとのそれぞれで、トランスポート層に位置するプロトコルを暗号化して通信を行うために、
通信路の両端で対応する暗号化及び復号化ロジックを取り決める取決め手段と、
送受信する情報単位としてのパケットのうち、少なくとも前記プロトコルのペイロードを前記取決め手段により取り決めた暗号化ロジックに従って暗号化して送信するプロトコル暗号化手段と、
受信した前記暗号化されたプロトコルのペイロードを前記取決め手段により取り決めた復号化ロジックに従って復号化するプロトコル復号化手段と、を備え、
前記トランスポート層のプロトコルを用いて前記暗号化及び復号化ロジックに基づいた通信を行うとともに、前記サーバコンピュータは、受信した暗号化された商取引に必要なデータを暗号化されたままで保存し、前記商取引に必要なデータが必要な際に、前記トランスポート層のプロトコルを用いて復号化して取り出すことを特徴とする電子商取引システム。
【請求項３】
前記トランスポート層に位置するプロトコルはＴＣＰ又はＵＤＰであり、該ＴＣＰ又はＵＤＰに暗号化及び復号化のための処理を施すことを特徴とする請求項１又は請求項２に記載の電子商取引システム。
【請求項４】
前記暗号化されて保存される商取引に必要なデータは、個人情報を含むことを特徴とする請求項１又は請求項２に記載の電子商取引システム。
【請求項５】
クライアントコンピュータとサーバコンピュータとの間で、商取引に関するデータの通信を行って、電子商取引を行う電子商取引方法において、
前記クライアントコンピュータと前記サーバコンピュータとのそれぞれで、トランスポート層に位置するプロトコルを暗号化して通信を行うために、
通信路の両端で対応する暗号化及び復号化ロジックを事前にもしくは動的に取り決める取り決めステップと、
送受信する情報単位となるパケットのうち、少なくともＴＣＰ又はＵＤＰのペイロードに該当するプロトコルを前記取決めステップにより取り決めた暗号化ロジックに従って暗号化して送信するプロトコル暗号化ステップと、
受信した暗号化されたプロトコルを前記取決めステップにより取り決めた復号化ロジックに従って復号化するプロトコル復号化ステップとを具備し、
前記トランスポート層のプロトコルを用いて前記暗号化及び復号化ロジックに基づいた通信を行うとともに、前記クライアントコンピュータは、前記トランスポート層で暗号化された商取引に必要なデータを暗号化されたままで保存し、その保存された商取引に必要なデータを商取引相手のサーバコンピュータに送信することを特徴とする電子商取引方法。
【請求項６】
クライアントコンピュータとサーバコンピュータとの間で、商取引に関するデータの通信を行って、電子商取引を行う電子商取引方法において、
前記クライアントコンピュータと前記サーバコンピュータとのそれぞれで、トランスポート層に位置するプロトコルを暗号化して通信を行うために、
通信路の両端で対応する暗号化及び復号化ロジックを事前にもしくは動的に取り決める取り決めステップと、
送受信する情報単位となるパケットのうち、少なくともＴＣＰ又はＵＤＰのペイロードに該当するプロトコルを前記取決めステップにより取り決めた暗号化ロジックに従って暗号化して送信するプロトコル暗号化ステップと、
受信した暗号化されたプロトコルを前記取決めステップにより取り決めた復号化ロジックに従って復号化するプロトコル復号化ステップとを具備し、
前記トランスポート層のプロトコルを用いて前記暗号化及び復号化ロジックに基づいた通信を行うとともに、前記サーバコンピュータは、受信した暗号化された商取引に必要なデータを暗号化されたままで保存し、前記商取引に必要なデータが必要な際に、前記トランスポート層のプロトコルを用いて復号化して取り出すことを特徴とする電子商取引方法。
【請求項７】
前記暗号化されて保存される商取引に必要なデータは、個人情報を含むことを特徴とする請求項５又は請求項６に記載の電子商取引方法。
【請求項８】
クライアントコンピュータとサーバコンピュータとの間で、商取引に関するデータの通信を行って、電子商取引を実現させる電子商取引用通信プログラムにおいて、
前記クライアントコンピュータと前記サーバコンピュータとのそれぞれで、トランスポート層に位置するプロトコルを暗号化して通信を行うために、
通信路の両端で対応する暗号化及び復号化ロジックを事前にもしくは動的に取り決める機能と、
送受信する情報単位となるパケットのうち、少なくともＴＣＰ又はＵＤＰのペイロードに該当するプロトコルを前記取決めにより取り決めた暗号化ロジックに従って暗号化して送信するプロトコル暗号化機能と、
受信した暗号化されたプロトコルを前記取決めにより取り決めた復号化ロジックに従って復号化するプロトコル復号化機能とを具備し、
前記トランスポート層のプロトコルを用いて前記暗号化及び復号化ロジックに基づいた通信を行うとともに、前記クライアントコンピュータは、前記トランスポート層で暗号化された商取引に必要なデータを暗号化されたままで保存し、その保存された商取引に必要なデータを商取引相手のサーバコンピュータに送信する機能を備えることを特徴とする電子商取引用通信プログラム。
【請求項９】
クライアントコンピュータとサーバコンピュータとの間で、商取引に関するデータの通信を行って、電子商取引を実現させる電子商取引用通信プログラムにおいて、
前記クライアントコンピュータと前記サーバコンピュータとのそれぞれで、トランスポート層に位置するプロトコルを暗号化して通信を行うために、
通信路の両端で対応する暗号化及び復号化ロジックを事前にもしくは動的に取り決める機能と、
送受信する情報単位となるパケットのうち、少なくともＴＣＰ又はＵＤＰのペイロードに該当するプロトコルを前記取決めにより取り決めた暗号化ロジックに従って暗号化して送信するプロトコル暗号化機能と、
受信した暗号化されたプロトコルを前記取決めステップにより取り決めた復号化ロジックに従って復号化するプロトコル復号化機能とを具備し、
前記トランスポート層のプロトコルを用いて前記暗号化及び復号化ロジックに基づいた通信を行うとともに、前記サーバコンピュータは、受信した暗号化された商取引に必要なデータを暗号化されたままで保存し、前記商取引に必要なデータが必要な際に、前記トランスポート層のプロトコルを用いて復号化して取り出す機能を備えたことを特徴とする電子商取引用通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子商取引システム、電子商取引方法、及びそれを実現するための電子商取引用通信プログラムに関する。
【背景技術】
【０００２】
近年、インターネットを利用した商取引は、インターネットに接続可能なコンピュータ装置さえあれば、それをネットワークに接続するだけで、誰でも、どこからでも、いつでも、商取引用のコンピュータにアクセスできるため、急速に普及拡大している。一方、このインターネット通信の普及拡大に伴って、ハッカー(hacker)やクラッカー（Cracker）が商取引用のコンピュータシステムに侵入して、ソフトウエアやデータを盗み見たり、改竄や破壊を行ったりする。また、内部犯行によるデータをコピーして持ち出し、転売してしまう、または、恐喝する行為が、社会問題も大きくなっている。
【０００３】
具体的な不正妨害のケースとしては、まず第1に、中心的なシステムが使えなくなるように、ネットワークから大量のメッセージを送りつけコンピュータシステムの運用を妨害するシステム妨害がある。この妨害によってホストが過負荷になるとシステムダウンに陥ってしまうことも起こりうる。
【０００４】
また、ホストのパスワードを入手し、商取引データを含む機密情報を盗んだり、情報の改竄や破壊を行ったりする「不正アクセスとなりすまし」の不正妨害がある。
また、サイト若しくはサーバの運営元で、意図的に個人情報を盗むといった行為や、社内に潜むスパイなどによるサイバーテロ（Cyber  terrorism）といった危機も全くないとはいえない状況である。
【０００５】
このため、従来のＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）を利用したインターネット上での通信において、データの「漏洩」「改竄」等を防ぐ機能として、ＩＰｓｅｃ（アイピーセック：Security Architecture for Internet Protocol）やＳＳＬ（Secure Socket Layer）といわれる暗号化通信が利用されている。但し、ＩＰｓｅｃは、ＳＳＬと違い、非常に多くの設定が必要となり、高度なスキルを要求されるため、誰でも使用できるわけでない。また、ネットワーク環境での制限が多く、どこからでも使用できるということはない。また、ＳＳＬは、米ネットスケープ社（現在ＡＯＬに吸収合併）の開発したセキュリティ機能付ＨＴＴＰプロトコルであり、これを利用することによりクライアントとサーバがネットワーク上でお互いを認証できるようになり、クレジットカード情報などの機密性の高い情報を暗号化してやり取りすることが可能となる。これにより、データの盗聴、再送攻撃（ネットワーク上に流れたデータを盗聴して何度も繰り返して送ってくる攻撃）、なりすまし（本人の振りをして通信する）、データの改竄などを防止することができる。
【０００６】
図９は、従来のＳＳＬを用いた暗号化通信を行う場合のプロトコルスタックの例を示している。図９に示すように、ＯＳＩ参照モデルは、最下層（第１層）が物理層、第２層がデータリンク層、第３層がネットワーク層、第４層がトランスポート層、第５層がセッション層、第６層がプレゼンテーション層、最上層（第７層）がアプリケーション層になっている。図９では、第６層と第７層は省略してある。このＯＳＩ参照モデルにおける７階層は、通信機能を７段階に分けたものであり、その階層毎に標準的な機能モジュールを定めている。プロトコルスタックとは、ネットワークの各階層における機能を実現するためのプロトコルを選び、階層状に積み上げたソフトウエア群である。
【０００７】
まず、ＯＳＩ参照モデルについて概略を説明すると、第１層の物理層は、信号線の物理的な電気特性や符号の変調方法などを規定した層である。ただ、この層だけが単独で定義・実装されることは少なく、通常は、第２層のデータリンク層と共に、たとえばイーサネットの規格、などとして定義される。
【０００８】
第２層のデータリンク層は、データのパケット化や物理的なノードアドレス、パケットの送受信方法などを規定する層である。この層は、物理的な通信媒体を通して、２つのノード間でパケットをやり取りするためのプロトコルを規定するものであり、各ノードに対して、何らかのアドレスを付け、そのアドレスに基づいてパケットの送信先を特定し、パケットを通信媒体上に送信する。通信媒体としては、銅配線や無線、光ファイバなど、多様なものがある。また、接続形態（トポロジー）も、１対１の対向接続だけでなく、バス型やスター型、リング型など多くの種類がある。通信媒体上に送信されたパケットは、受信側ノードに到着した時点でそのノードに取り込まれ、さらに上位のプロトコル層へと渡される。
【０００９】
物理層とデータリンク層に渡って配置されるＮＩＣ(Network Interface Card)ドライバは、パソコンやプリンタなどを構内ネットワーク（ＬＡＮ）につなぐための拡張ボードである。単にネットワークカードという場合はイーサネットにつなぐ場合が多い。このＮＩＣドライバにより、データを送信したいノード（機器）がケーブルの空き状況を監視して、ケーブルが空くと送信を開始するようにしている。このとき、もし複数のノードが同時に送信を開始するとケーブル内でデータが衝突して破壊されるので、両者は送信を中止し、ランダムな時間を待って送信を再開するのである。これによって一本のケーブルを複数のノードが共有して互いに通信することができる。
【００１０】
第３層のネットワーク層は、任意の２つのノード間での通信方法を規定する層である。ＴＣＰ／ＩＰでいえばＩＰ層に相当する。データリンク層では、同一ネットワーク媒体上のノード間での通信を行うことができるが、その機能を使って、ネットワーク上に存在する任意の２つのノード間で、ルーティング（routing）を行いながら通信するのがこのネットワーク層の役目である。ここで、ルーティングとはＴＣＰ／ＩＰネットワークにおいて目的のホストまでパケットを送信するときに、最適な経路を選択して送信することをいう。例えば、イーサネットでは、同一セグメント上のノード同士でしかお互いに通信できないが、ネットワーク層では、２つのイーサネットセグメント間でパケットをルーティングすることによって通信を行う。また、電話回線を通じてコンピュータをネットワーク（イーサネット）に接続するダイヤルアップＰＰＰ（Point to Point Protocol）回線へのルーティング、また、光ファイバを使った専用線へのルーティングなど、物理的なネットワーク媒体によらずにパケットをルーティングすることができる。この目的のため、通常は、物理媒体に依存しないアドレス（ＴＣＰ／ＩＰならば、ＩＰアドレス）を各ノードに割り当て、これに基づいてルーティングを行っている。
【００１１】
第４層のトランスポート層は、各ノード上で実行されている２つのプロセス間で、エラーのない、仮想的な通信路を実現するためのプロトコル層である。ＴＣＰ／ＩＰでいえばＴＣＰ層に相当する。ネットワーク層では、２つのノード間での通信を行う機能を提供しているが、これを使って、２つのプロセス（アプリケーション）間で、エラーのない、仮想的な通信路を提供するのがこの層の役目である。すなわち、ネットワーク層ではデータを送ることはできるが、そのデータが確実に相手に届くという保証はない。また、送信した順に正しくデータが届くという保証もない。そこで、アプリケーションにとって使いやすくするために、エラーのない通信路を提供するのがこの層である。必要ならばデータの再送・回復処理などを行う。この第４層のトランスポート層に暗号化処理を施した例は、今まで存在していない。
【００１２】
第５層のセッション層は、セッション（通信の開始から終了まで）の手順を規定する層であり、アプリケーション間でコネクションを開設して通信ができる状態にする層である。この層に配置されるソケット（socket）は、コンピュータが持つネットワーク内の住所に当たるＩＰアドレスと、ＩＰアドレスのサブアドレスであるポート番号を組み合わせたネットワークアドレスを意味している。コンピュータ同士を接続する場合は、必ずソケット（ＩＰアドレスとポート番号の組）を指定して行う。図９に示すように、従来の代表的な暗号化通信技術であるＳＳＬは、このセッション層で暗号化通信を実現している。
【００１３】
図９では、第６層と第７層については省略してあるが、簡単に説明すると、第６層のプレゼンテーション層は、セッション（通信の開始から終了まで）でやり取りするデータの表現方法や符号化、暗号化などを規定する層である。ＴＣＰ／ＩＰプロトコルでは、この層に相当する部分はなく、通常はアプリケーション自身でストリームデータの処理をハンドリングしている。
【００１４】
第７層のアプリケーション層は、アプリケーション間でのデータのやり取りを規定するための層であり、ＴＣＰ／ＩＰプロトコルではこの層に相当する部分はない。例えば、電子メールのフォーマットや、文書の内部構造など、アプリケーション間で相互にデータをやり取りする場合に必要な、共通のデータ構造などを規定する層である。
【００１５】
図９は、暗号化処理プロトコルとしてＳＳＬを具備した標準プロトコルの例である。
従来の代表的な暗号化通信技術の中で、ＳＳＬでは、互いの認証レベルではＲＳＡ（Rivest Shamir Adleman：公開鍵暗号方式を開発者3人の頭文字）公開鍵暗号技術を用いたデジタル証明書が用いられ、データの暗号化ではＤＥＳなどの共通鍵暗号技術が用いられている。このＳＳＬは第5層のセッション層にあるため、特定のアプリケーションに依存することになる。
【００１６】
ＳＳＬは、第５層のセッション層における暗号化技術であり、現在インターネットで広く使われているＷＷＷ（World Wide Web）などのデータを暗号化して、プライバシーに係る情報や企業秘密情報などを安全に送受信するためのものである。但し、ハッカーやクラッカーといわれるネットワークの不正侵入者によるＴＣＰ／ＩＰへのさまざまな攻撃、いわゆるＤｏＳ攻撃（Denial of Service：サービスを停止させる攻撃）に対しては、ＳＳＬは無力である。ＴＣＰ／ＩＰプロトコルスタックへのＤｏＳ攻撃、例えば、ＴＣＰ切断攻撃が行われると、ＴＣＰセッションが切れてしまいＳＳＬのサービスは停止してしまうのである。ＳＳＬは、ＴＣＰ／ＩＰ（第４層、第３層）より上の層（第５層）に実装されている暗号化プロトコルであるため、ＴＣＰ／ＩＰへのＤｏＳ攻撃を防ぐことができない。
また、ＳＳＬは、ＴＣＰの特定のポートしかサポートしていないため、ＴＣＰ全てのポートを暗号通信することができない。ＳＳＬは、ソース単位（ＵＲＬ単位、フォルダー単位）で制御することになる。
【００１７】
さらに、ＳＳＬはアプリケーションに対する互換性を持たない点において問題がある。アプリケーションは、インターネット通信を行う際にソケット（第５層）をプログラムインターフェースとして使用する。このため、アプリケーションがＳＳＬ（第５層）を使用する場合には、このソケットインターフェースをＳＳＬインターフェースに変更しなければならない。従って、ＳＳＬにアプリケーションの互換性はない。
【００１８】
ＳＳＬは、通信上は、暗号化してセキュリティを確保しているが、一旦ホストコンピュータに受信されると復号化してしまうため、ホストコンピュータ内でのセキュリティを確保することがでない。
【００１９】
図１０は、従来のＳＳＬを用いた通信システムによる商取引のシステム構成図である。この例では、商取引サーバとしてのコンピュータ装置８０と、商取引クライアントとしてのコンピュータ装置９０とで構成してあり、インターネットなどの通信手段を介して、サーバ側コンピュータ装置８０と、クライアント側コンピュータ装置９０との間で双方向に通信ができる状態に接続されている。通信路としては、有線，無線のいずれでもよい。
【００２０】
商品などを購入するユーザが操作する端末機器である、商取引クライアント側コンピュータ装置９０には、通信を暗号化及び復号化するＳＳＬの機能を実現する暗号化部９１と、商取引プログラムを実行するアプリケーション実行部９２と、商取引プログラムの操作，個人情報の入力などを行うキー入力部９４と、商取引状態などを表示する表示部９３とで構成される。図示はしないが、データを記憶するメモリなども備える。
【００２１】
商品などを販売する業者側の端末機器である商取引サーバ側コンピュータ装置８０には、通信を暗号化及び復号化するＳＳＬの機能を実現する暗号化部８５と、商取引プログラムを実行するアプリケーション実行部８３と、商取引データを格納する磁気メモリ８４と、商取引状態などを表示する表示部８１と、プリンタ８２とで構成される。サーバ側がキー入力部を備えてもよい。
【００２２】
この図１０に示した構成では、サーバ側コンピュータ装置８０側の暗号化部８５と、クライアント側コンピュータ装置９０の暗号化部９１とのは、暗号化されたデータが転送される。従って、サーバとクライアントとの間を接続した通信路の途中でデータが不正に読み取られても、個人情報などの商取引に関するデータが暗号化されているので、不正使用を防止できる。このＳＳＬの機能を利用した場合、クライアント側のアプリケーション実行部９２では、暗号化されていないデータである平文（clear text）として扱われる。同様に、サーバ側のアプリケーション実行部８３でも、暗号化されていないデータである平文として扱われ、メモリ８４に商取引に関するデータを記憶させる際にも、平文で記憶されるのが一般的である。
【００２３】
図１１は、従来のＳＳＬを用いた通信システムによる商取引によるデータの流れを示すフローチャートである。図１１の左側はサーバでの処理を示し、図１１の右側はクライアントでの処理を示す。また、図１２は、そのＳＳＬを用いた通信システムによる商取引による実際のデータの流れを示した図であり、データａ，ｂ，…，ｓは、それぞれの状態で送られるデータを示している。
【００２４】
以下、図１１，図１２に従って処理例を説明すると、まずサーバでは、認証のための処理が開始されて（ステップＳ１１）、認証が完了すると認証局より認証情報（サーバ証明書）を取得する（ステップＳ１２、データａ）。その後、サーバとクライアントとの間で商取引が開始されると（ステップＳ１３、Ｓ３１）、クライアントではサーバから認証情報が取得される（ステップＳ３２、データｂ）。ここで、取得された認証情報に基づいて正しい相手であるか否か判断され（ステップＳ３３）、正しい相手でない場合には商取引の処理が終了する（ステップＳ３４）。
【００２５】
正しい相手であると認識できた場合には、サーバは商品情報をクライアントに送信する（ステップＳ１４、データｃ，ｄ，ｅ，ｆ）。クライアントでは、その商品情報を受信して（ステップＳ３５）、その受信した商品情報に基づいて商品に関する表示などを行い、商品を確認させて、購入を行うか否かを判断する（ステップＳ３６）。ここで、商品購入を確定させるユーザ操作がない場合には、ここでの処理を終了し（ステップＳ３７）、商品購入を確定させるユーザ操作がある場合には、購入手続きを開始させる（ステップＳ３８）。
【００２６】
購入手続きとしては、例えば、購入代金の決済に使用するクレジットカード番号、住所、氏名、電話番号、その他の個人情報をキー操作などで入力させる（ステップＳ３９）。その入力されたデータｇは、商取引プログラム処理部に送られて、データ処理される（ステップＳ４０）。そのデータ処理された個人情報を含むデータは、暗号化部９１でＳＳＬにより暗号化されたデータｉとなって、サーバ側に送信される。
【００２７】
サーバ側の暗号化部でＳＳＬにより暗号化されたデータｉを受信すると（ステップＳ１５）、そのデータを復号化し、商取引プログラムの実行部に復号化データｊを送り、送信データに含まれた個人情報を取り込ませ（ステップＳ１６）、取引完了をクライアント側に通知する（ステップＳ１７、データｍ，ｎ，ｏ，ｐ）。この取引完了を受信したクライアントでは、取引完了を表示させ（ステップＳ４２）、クライアントでの購入処理を終了させる（ステップＳ４３）。また、サーバ側で取り込まれた個人情報は、サーバ側のファイルシステムで磁気メモリなどに記憶させる（ステップＳ１８、データｋ，ｌ）。
【００２８】
その後、購入された商品を発送させる処理に移り（ステップＳ１９）、記憶された個人情報を取り出し（ステップＳ２０、データｇ、ｒ）、発送情報を表示させ（ステップＳ２１、データｓ）、その表示された発送情報を印刷させて、発送伝票などを作成して、購入商品の発送を行う（ステップＳ２２）。
【００２９】
特許文献１には、ＳＳＬを暗号化処理で使用してデータ通信を行うことについての開示がある。
【特許文献１】特開２００４−４８４５８号公報
【発明の開示】
【発明が解決しようとする課題】
【００３０】
ところが、ＳＳＬを使用した従来の商取引処理では、確かにサーバとクライアントとの間での伝送路上ではデータは暗号化されているので、伝送途中でのデータの安全は確保されるが、クライアント内やサーバ内に保存された個人情報については、暗号化されていないので、その保存された個人情報などが不正に抜き取られるようなことがあると、個人情報などが流出してしまう問題がある。従来の商取引に適用されている暗号化処理では、このような不正には対処できなかった。
【００３１】
即ち、例えば図１２に示すように、クライアントでは、入力されたデータがメモリに格納されて、暗号化部に送られるまでは、全て平文であり、サーバでも、受信したデータを復号化した後は、全て平文で処理される。従って、例えばクライアントで、カード番号、商品発送先住所、氏名、電話番号などの個人情報を入力する際に、入力データを盗み見られたりする恐れがある。また、入力された個人情報は、ＳＳＬで暗号するまで平文としてクライアントに存在するため、プログラム改竄などの手口でデータを抜き取られる可能性を否定することも出来ない。
【００３２】
さらにサーバでは、復号化された後は、平文の個人情報として商取引プログラムに取り込まれ、記憶（記録）される。このようにサーバに蓄積されたデータは、データごと抜き取られることがあると、大量の個人情報が流出することになり、しばしば社会的問題となっている。このようにクライアント側、サーバ側のいたるところに個人情報が平文で存在し、抜き取られ、改竄される危険性があり問題となっている。
【００３３】
本発明の目的は、上述のような問題に鑑みてなされたものであり、電子商取引を行う際に、クライアント、サーバ間のデータの傍受、クライアント、サーバへの不正侵入を防ぎ、更には、クライアント、サーバ上でのデータの抜き取りを防ぐようにすることを目的とする。
【課題を解決するための手段】
【００３４】
本発明は、クライアントコンピュータとサーバコンピュータとの間で、商取引に関するデータの通信を行って、電子商取引を実行する場合において、クライアントコンピュータとサーバコンピュータとのそれぞれで、トランスポート層に位置するプロトコルを暗号化して通信を行うために、通信路の両端で対応する暗号化及び復号化ロジックを事前にもしくは動的に取り決め、送受信する情報単位としてのパケットのうち、少なくともプロトコルのペイロードを取り決めた暗号化ロジックに従って暗号化して送信するプロトコル暗号化を行うとともに、受信した暗号化されたプロトコルを取決めにより取り決めた復号化ロジックに従って復号化するプロトコル復号化を行うようにして、トランスポート層のプロトコルを用いて暗号化及び復号化ロジックに基づいた通信を行う処理を適用する。
【００３５】
このような処理を適用した上で、クライアントコンピュータでは、トランスポート層で暗号化された商取引に必要なデータを暗号化されたままで保存し、その保存された商取引に必要なデータを商取引相手のサーバコンピュータに送信する。
【００３６】
また、サーバコンピュータでは、受信した暗号化された商取引に必要なデータを暗号化されたままで保存し、商取引に必要なデータが必要な際に、トランスポート層のプロトコルを用いて復号化して取り出すようにした。
【発明の効果】
【００３７】
本発明によると、電子商取引を行う際に、クライアント側、サーバ側のいずれでも平文の個人情報がなくなり、個人情報が盗難、改竄される危険性を効果的に低減させることができる。
【００３８】
即ち、クライアント側で個人情報などの商取引に必要な情報が暗号化された状態で保存され、クライアント内に保存された個人情報などが盗難、改竄される危険性がなくなる。また、サーバ側でも個人情報などの商取引に必要な情報が暗号化された状態で保存され、クライアント内に保存された個人情報などが盗難、改竄される危険性がなくなる。
【発明を実施するための最良の形態】
【００３９】
以下、本発明の一実施の形態を、図１〜図８を参照して説明する。本実施の形態においては、電子商取引用のサーバコンピュータを、商品などを販売する業者側が設置し、そのサーバに、ユーザ側の端末装置である電子商取引用のクライアントコンピュータから、インターネットなどを介してアクセスして、商品の注文、代金の決済などの電子商取引を行うようにしたものである。
【００４０】
図１は、本例の通信システムによる商取引のシステム構成図である。この例では、商取引サーバとしてのコンピュータ装置１０と、商取引クライアントとしてのコンピュータ装置２０とで構成してあり、本出願人が先に提案したＴＣＰ２（商標登録出願中）と称される、トランスポート層に位置するプロトコルを暗号化して通信を行う処理を適用したものである。以下の説明では、本例での暗号化をＴＣＰ２と称する場合もある。ＴＣＰ２による暗号化処理の詳細については後述する。
【００４１】
まず図１を参照して、本例の電子商取引用のサーバコンピュータ装置１０とクライアントコンピュータ装置２０の構成について説明すると、商品などを販売する業者側の端末機器である商取引サーバ側コンピュータ装置１０には、データをトランスポート層で暗号化し復号化するＴＣＰ２の機能を実現する暗号化部１５と、商取引プログラムを実行するアプリケーション実行部１３と、商取引データを格納する磁気メモリ１４と、商取引状態などを表示する表示部１１と、プリンタ１２とで構成される。ここでは、トランスポート層よりも下の層の通信処理についても、暗号化部１５で行うものとする。サーバ側がキー入力部を備えてもよい。磁気メモリ１４についても、その他の記憶（記録）手段でデータを格納する構成としてもよい。磁気メモリ１４などの記憶手段に記憶されるデータとしては、ＴＣＰ２の機能を実現する暗号化部１５で暗号化されたデータを、ＴＣＰ２機能で暗号化されたままで記憶させることも可能な構成としてある。暗号化されたままのデータを記憶させた場合には、例えばその記憶データは暗号化部１５が管理する。
【００４２】
そして、商品などを購入するユーザが操作する端末機器である、商取引クライアント側コンピュータ装置２０には、データをトランスポート層で暗号化し復号化するＴＣＰ２の機能を実現する暗号化部２１と、商取引プログラムを実行するアプリケーション実行部２２と、商取引状態などを表示する表示部２３と、商取引プログラムの操作，個人情報の入力などを行うキー入力部２４とで構成される。ここでは、トランスポート層よりも下の層の通信処理についても、暗号化部２１で行うものとする。図示はしないが、データを記憶するメモリなども備える。このメモリに記憶されるデータとしては、本例の場合、ＴＣＰ２の機能を実現する暗号化部２１で暗号化されたデータを、暗号化されたままで記憶させることも可能な構成としてある。暗号化されたままのデータを記憶させた場合には、例えばその記憶データは暗号化部２１が管理する。
【００４３】
なお、ここでサーバ側コンピュータ装置１０及びクライアント側コンピュータ装置２０として示した構成は、本例での電子商取引を行う上での機能から見た構成であり、実際には汎用のパーソナルコンピュータ装置やサーバ用のコンピュータ装置などを使用して、それらのコンピュータ装置が備える演算処理手段や記憶手段を利用して、暗号化部，アプリケーション実行部，メモリなどが構成される。但し、汎用のコンピュータ装置を利用するのではなく、本例での電子商取引を行う専用のデータ処理装置として構成してもよい。
【００４４】
また、サーバ側コンピュータ装置１０とクライアント側コンピュータ装置２０とで、ＴＣＰ２の暗号化処理を行って通信を行う場合には、図１に示すように、予めネットワーク上に用意されたＴＣＰ２インストールサーバ３０を利用して、ＴＣＰ２の暗号化処理に必要なデータをインストールしておく必要がある。そのインストール処理の詳細についても後述する。
【００４５】
次に、各コンピュータ装置１０，２０での暗号化部１５，１２で行われるＴＣＰ２の暗号化処理について説明する。図２は、本実施の形態に用いられるプロトコルスタックを示すものである。
【００４６】
本例で用いられるプロトコルスタックは、図２に示すように、ＯＳＩ７階層の物理層（第１層）とデータリンク層（第２層）に相当する階層に、ＮＩＣ(Network Interface Card)のドライバ１が配列される。このドライバ１は、既に述べたように、コンピュータなどのハードウエアをネットワークに接続するためのインターフェースカードのドライバであり、その内容はデータ送受信制御ソフトウエアである。例えばEthernet（商標）に接続するためのLANボードまたはLANカードがこれに相当するものである。
【００４７】
第３層のネットワーク層には、ＩＰ２が存在している。このＩＰ２の上層のトランスポート層（第４層）には、ＴＣＰエミュレータ３が配置されている。ＴＣＰエミュレータ３は、暗号化通信を行うプロトコルである「ＴＣＰｓｅｃ」３ｂと、通常の通信プロトコルである「ＴＣＰ」３ａを用途に応じて切り替えて使う働きをする。
【００４８】
本例の処理で最も特徴とするべき点は、このトランスポート層（第４層）に、ＴＣＰｓｅｃ３ｂの暗号化通信プロトコルを搭載したＴＣＰ２を用いた商取引を行うことである。
【００４９】
このトランスポート層（第４層）の上層のセッション層（第５層）には、ＴＣＰ及びＵＤＰ等のプロトコルとデータのやりとりを行うソケット（socket）インターフェース４が設けられている。このソケットの意味は、既に述べたようにコンピュータが持つネットワーク内の住所に当たるＩＰアドレスと、ＩＰアドレスのサブアドレスであるポート番号を組み合わせたネットワークアドレスを意味しており、実際には、一連のヘッダの追加ないし削除をまとめて行う、単一のソフトウエアプログラムモジュール（実行プログラム等）あるいは単一のハードウエアモジュール（電子回路、電子部品等）からなっている。
【００５０】
このソケットインターフェース４は、さらに上位のアプリケーションからの統一的なアクセス方式を提供するものであり、引数の種類や型など従来と同様のインターフェースを保つようにしている。
【００５１】
ＴＣＰエミュレータ３は、トランスポート層において、データの漏洩・改竄の防止の機能、すなわち暗号化、完全性認証及び相手認証等の機能を持つＴＣＰｓｅｃ３ｂと、このような暗号化、完全性認証、及び相手認証等の機能を持たない通常のプロトコルＴＣＰ３ａのいずれかにパケットを振り分ける働きをもっている。また、ＴＣＰエミュレータ３は上位層であるソケットとのインターフェースの役割も果たしている。なお、ＴＣＰ２の基本的な暗号化処理については、本出願人による特願２００３−２９０８２２号に詳細が記載されている。
【００５２】
次に、本実施の形態によるシステム構成で、クライアントとサーバとの間で電子商取引を行う際の処理例を、図３〜図５のフローチャート及び図６〜図８のデータ伝送例の図を参照して説明する。なお、以下の説明では、１０１以降の符号を付したデータなどが、図６〜図８のデータ伝送例に示した状態に対応する。
【００５３】
まず、本実施の形態の通信システムによる商取引を開始するまでの準備の過程を、図３のフローチャート及び図６のデータ伝送例を参照して説明する。図３の左側はサーバでの処理を示し、図３の右側はクライアントでの処理を示す。
【００５４】
サーバでは、商取引準備処理が開始されると（ステップＳ１０１）、図６に示すように、サーバからＴＣＰ２インストールサーバ３０に対して登録要求１０１，１０２を行い、ＴＣＰ２インストールサーバ３０から、ＴＣＰ２の暗号化処理に必要なインストールデータ１０３を取得して、インストールする（ステップＳ１０２）。このとき、サーバのハード情報、管理者の個人情報、ネットワークの情報、アプリケーションの情報の認証１０７を行い、暗号化部１５（図１）内部に暗号化したデータ１０８として保存し（ステップＳ１０３）、サーバの認証処理を終了する（ステップＳ１０４）。サーバ１０の暗号化部１５は、この情報を認証情報として使用し、ＴＣＰ２が有効とするコンピュータであるか、有効とするネットワーク環境であるか、有効とする人物がコンピュータを操作しているか、有効としているアプリケーションプログラムかを判断することが出来る。
【００５５】
またクライアントでは、商取引準備処理が開始されると（ステップＳ１１１）、図６に示すように、クライアントからＴＣＰ２インストールサーバ３０に対して登録要求１０４，１０５を行い、ＴＣＰ２インストールサーバ３０から、ＴＣＰ２の暗号化処理に必要なインストールデータ１０６を取得して、インストールする（ステップＳ１１２）。このとき、クライアントのハード情報、管理者の個人情報、ネットワークの情報の認証１０９を行い、暗号化部２１（図１）内部に暗号化したデータ１１０として保存し（ステップＳ１１３）、クライアントの認証処理を終了する（ステップＳ１１４）。クライアント２０の暗号化部２１は、この情報を認証情報として使用し、ＴＣＰ２が有効とするコンピュータであるか、有効とするネットワーク環境であるか、有効とする人物がコンピュータを操作しているか、有効としているアプリケーションプログラムかを判断することが出来る。また、この個人情報には、商取引に必要なクレジットカード情報、銀行カード情報を含む情報も含まれている。
【００５６】
次に、本例の通信システムで商取引を開始した場合の処理を、図４のフローチャート及び図７のデータ伝送例を参照して説明する。図４の左側はサーバでの処理を示し、図４の右側はクライアントでの処理を示す。
【００５７】
サーバでは、商取引の開始処理として（ステップＳ１２１）、ログイン操作があり（ステップＳ１２２）、そのログインされた入力データ１１１から、ＴＣＰ２の暗号化部１５で正しいユーザであるか否か判断され（ステップＳ１２３）、正しいユーザでない場合には、処理を終了する（ステップＳ１２４）。正しいユーザであれば、ＴＣＰ２の暗号化部１５を起動し、商取引サーバの通信機能を有効にする（ステップＳ１２５）。
【００５８】
クライアントでも、商取引の開始処理として（ステップＳ１４１）、ログイン操作があり（ステップＳ１４２）、そのログインされた入力データ１１２から、ＴＣＰ２の暗号化部２１で正しいユーザであるか否か判断され（ステップＳ１４３）、正しいユーザでない場合には、処理を終了する（ステップＳ１４４）。正しいユーザであれば、ＴＣＰ２の暗号化部２１を起動し、商取引クライアントの通信機能を有効にする（ステップＳ１４５）。
【００５９】
この状態で、クライアントからサーバへのアクセスがあると、サーバは商品情報１１３，１１４を送信し（ステップＳ１２６）、クライアントではその送信された商品情報を受信して、暗号化部２１からクライアントの内部に商品情報１１５，１１６を送って、商品の表示などを行う（ステップＳ１４６）。
【００６０】
そして、クライアントを操作しているユーザが、表示された商品を確認した後に、購入操作があるか否かクライアント側で判断し（ステップＳ１４７）、購入操作がない場合にはここでの商取引を終了する（ステップＳ１４８）。購入操作がある場合には、商取引プログラム側に購入データ１１７を送り、商取引プログラムが購入手続きを開始させる（ステップＳ１４９）。購入手続きが開始されて、商取引プログラムで必要な情報をユーザが選択すると、商取引プログラムが暗号化部２１に個人情報の問い合わせ１１８を行う（ステップＳ１５０）。
【００６１】
このときＴＣＰ２の暗号化部２１は、正しく認証されたプログラムからの要求であるかを確認し（ステップＳ１５１）、正しいプログラムでなければ、個人情報の読み出しを終了する（ステップＳ１５２）。正しいプログラムであれば、暗号化されて記憶された個人情報１２０を発行して商取引プログラム側に送り（ステップＳ１５３）、そのＴＣＰ２で暗号化されたままの個人情報１２１を平文に戻すことなくサーバ側に送る（ステップＳ１５４）。なお、この送信時には、個人情報が既に暗号化されているので、暗号化部２１での暗号化は行われない。
【００６２】
サーバのＴＣＰ２の暗号化部１５で、この個人情報を受信すると（ステップＳ１２７）、暗号化されたままでサーバ内の商取引プログラムにその受信個人情報１２２を取り込ませ（ステップＳ１２８）、完了通知を送るとともに（ステップＳ１２９）、ファイルシステムを経由して磁気メモリ１４に受信個人情報１２３，１２４を送り、暗号化されたままの個人情報を記憶させ（ステップＳ１３０）、商品の発送処理に移る（ステップＳ１３１）。
【００６３】
ステップＳ１２９で送信された完了通知１２５は、クライアント側に取引完了データ１２６として送られ、クライアント内で受信された取引完了データ１２７，１２８に基づいて取引完了などが表示され（ステップＳ１５５）、クライアント側での処理が終了する（ステップＳ１５６）。
【００６４】
このように、クライアントからサーバに送られた個人情報は、暗号化したままファイルシステム経由で磁気メモリに記憶されるので、サーバに蓄積されたデータが不正に抜き取られても復号化することが出来ない。
【００６５】
次に、本例の通信システムで商取引（注文）が行われた後、サーバ側での購入品の発送までの処理を、図５のフローチャート及び図８のデータの流れを参照して説明する。
【００６６】
サーバ側での商品の発送処理は、例えば定期的に行われ、その発送処理が開始されると（ステップＳ１６１）、商取引プログラムは、暗号化のままの個人情報１３１，１３２を取り出して（ステップＳ１６２）、ＴＣＰ２の暗号化部１５にその個人情報１３３を送り、復号化を依頼する（ステップＳ１６３）。ここで、ＴＣＰ２の暗号化部１５は、正しく認証されたプログラムからの依頼であるか否か判断し（ステップＳ１６４）、正しくない場合には復号を行わない（ステップＳ１６５）。正しく認証されたプログラムからの依頼である場合には、図８に示すように復号化１３４を行い、復号された個人情報１３５を商取引プログラムに送り、商取引プログラムの処理で発送情報１３６を表示させ（ステップＳ１６６）、発送に使用する伝票などを印刷させて（ステップＳ１６７）、発送業務を行う部署に送り、注文された商品を発送させて、発送処理を終了する（ステップＳ１６８）。
【００６７】
このようにして処理されることで、電子商取引を行う際には、クライアント側とサーバ側のいずれでも個人情報などのデータが平文の状態で蓄積されることがなく、極めて安全性の高い電子商取引が行える。次に示す表１：「ＳＳＬとＴＣＰ２のリスク比較」は、従来例として示したＳＳＬを使用した商取引システム（図９〜図１２の例）と、本実施の形態によるＴＣＰ２を使用した商取引システムとを、リスクについて比較した表である。
【００６８】
【表１】
2006115417.tif 000003
【００６９】
以下に表１について説明する。
「（１）ＴＣＰプロトコルスタックへのＤｏＳ攻撃」の比較では、ＳＳＬは、ＴＣＰプロトコルスタックの上位に位置しているため、ＴＣＰへのＤｏＳ攻撃に対して無力である。これに対して、ＴＣＰ２は、ＴＣＰプロトコルで鍵を必要とするため、鍵を持っていないパケットを排除することが出来る。従って、ＤｏＳ攻撃を排除することが出来る。
「（２）クライアントの画面から個人情報をのぞき見る」の比較では、ＳＳＬを使用した商取引システムでは、表示している個人情報を覗き見たり、発生する電磁波を傍受することが出来る。これに対して、ＴＣＰ２を使用した商取引システムの場合、個人情報を入力する必要が無く、表示することが無いため、覗き見たり、発生する電磁波を傍受することが出来ない。
「（３）クライアントの商取引プログラムから個人情報を抜き取る」の比較では、入力した画面からＳＳＬで暗号化するまでの間が平文であるためプログラムを改竄されたり、トロイの木馬プログラムが起動していると、個人情報を抜き取ることが出来る。これに対して、ＴＣＰ２から個人情報を取り出す際に、プログラムが改竄されていないかチェックすることが出来、更には、取り出した個人情報が暗号化されているため、個人情報を抜き取ることが出来ないばかりか、その個人情報が暗号化されているため、データを抜き取ることが出来ない。
「（４）通信上での傍受」の比較では、ＳＳＬは、暗号化しているため傍受することが出来ない。ＴＣＰ２も暗号化しているため傍受することが出来ない。
「（５）サーバの商取引プログラムからから個人情報を抜き取る」の比較では、ＳＳＬで受信した後の個人情報が平文になるためプログラムを改竄されたり、トロイの木馬プログラムが起動していると、データを抜き取ることが出来る。これに対して、ＴＣＰ２は、クライアントから送られてきた個人情報をＴＣＰ２で受信した後、その個人情報を復号化しないため、データを抜き取ることが出来ない。また、ＴＣＰ２が、商取引プログラムの改竄をチェックすることが出来、個人情報を抜き取ることが出来ない。
「（６）サーバの磁気保存媒体から個人情報を抜き取る」の比較では、ＳＳＬで受信した後の個人情報が平文になる。従って磁気媒体への記録も、平文であるため抜き取ることが出来る。これに対して、ＴＣＰ２は、暗号文で保存しているため個人情報を抜き取ることが出来ない。
【００７０】
このように本実施の形態によると、従来システムのクライアント側、サーバ側のいたるところにあった平文の個人情報がなくなり、個人情報が盗難、改竄される危険性がなくなり、電子商取引の安全性が確保される。
【００７１】
なお、本発明は、以上説明した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、さらに多くの実施形態を含むものであることは言うまでもない。また、上述した実施の形態では、サーバやクライアントを構成するコンピュータ装置に、商取引用のプログラムが実装された状態として説明したが、上述した実施の形態で説明した処理を行う商取引用のプログラムを用意して、各種コンピュータ装置にそのプログラムをインストールして、同様の機能を実現するようにしてもよい。この場合、商取引用のプログラムは、各種ディスクやメモリなどの媒体でユーザに配布したり、或いはインターネットなどで伝送して配付するようにしてもよい。
【図面の簡単な説明】
【００７２】
【図１】本発明の一実施の形態による通信システムによる商取引のシステム構成図である。
【図２】本発明の一実施の形態による通信システムに用いられるプロトコルスタックの例を示す説明図である。
【図３】本発明の一実施の形態による通信システムによる商取引を開始するまでの準備の過程を示す処理フローチャート図である。
【図４】本発明の一実施の形態による通信システムによる商取引を実施した場合の処理例のフローチャートである。
【図５】本発明の一実施の形態による通信システムによる商取引を実施した後、購入品の発送までのフローチャートである。
【図６】本発明の一実施の形態による通信システムによる商取引を開始するまでの準備の過程を示す説明図である。
【図７】本発明の一実施の形態による通信システムによる商取引を実施した場合のデータの流れを示す説明図である。
【図８】本発明の一実施の形態による通信システムによる商取引を実施した後、購入品の発送までのデータの流れを示す説明図である。
【図９】従来のＳＳＬを用いた標準的な通信のプロトコルスタックを示す説明図である。
【図１０】従来のＳＳＬを用いた通信システムによる商取引のシステム構成図である。
【図１１】従来のＳＳＬを用いた通信システムによる商取引による処理例のフローチャートである。
【図１２】従来のＳＳＬを用いた通信システムによる商取引のデータの流れを示す説明図である。
【符号の説明】
【００７３】
１…ＮＩＣドライバ、２…ＩＰ、３…ＴＣＰエミュレータ、３ａ…ＴＣＰ、３ｂ…ＴＣＰｓｅｃ、４…ソケット、１０…商取引用サーバコンピュータ装置、１１…表示部、１２…プリンタ、１３…アプリケーション実行部、１４…磁気メモリ、１５…暗号化部（ＴＣＰ２暗号化処理）、２０…商取引用クライアントコンピュータ装置、２１…暗号化部（ＴＣＰ２暗号化処理）、２２…アプリケーション実行部、２３…表示部、２４…キー入力部、３０…ＴＣＰ２インストールサーバ、８０…商取引用サーバコンピュータ装置、８１…表示部、８２…プリンタ、８３…アプリケーション実行部、８４…磁気メモリ、８５…暗号化部（ＳＳＬ暗号化処理）、９０…商取引用クライアントコンピュータ装置、９１…暗号化部（ＳＳＬ暗号化処理）、９２…アプリケーション実行部、９３…表示部、９４…キー入力部
【図１】
2006115417.tif 000004
【図２】
2006115417.tif 000005
【図３】
2006115417.tif 000006
【図４】
2006115417.tif 000007
【図５】
2006115417.tif 000008
【図６】
2006115417.tif 000009
【図７】
2006115417.tif 000010
【図８】
2006115417.tif 000011
【図９】
2006115417.tif 000012
【図１０】
2006115417.tif 000013
【図１１】
2006115417.tif 000014
【図１２】
2006115417.tif 000015