次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
図1を参照して、本発明の実施の形態に係る商取引システムを説明する。本発明の実施の形態に係る商取引システムは、商取引サーバ1、ユーザ端末2a、テレビ3a、放送配信装置7および決済サーバ8を備えている。
商取引サーバ1は、ユーザ端末2aから商品の購入リクエストを受け付け、決済をして、その結果をユーザ端末2aに送信するとともに、商品購入のためのコードをテレビ3a等に表示する。商取引サーバ1は、一般的なコンピュータに所定の商取引プログラムをインストールすることにより実現される。さらに商取引サーバ1は、テレビ3aと通信ネットワークを介して接続されている。商取引サーバ1については、後に詳述する。
ユーザ端末2aは、商取引サーバ1に商品の購入リクエストを送信し、その結果を受信する。ユーザ端末2aは、ユーザが使用する情報機器で、携帯電話機やコンピュータ等に、所定のユーザプログラムをインストールすることにより実現される。ユーザ端末2aはさらに、商取引サーバ1が表示するコードを読み取る機能を備えている。商取引サーバ1がテレビ3aに商品購入のための二次元バーコードを表示する場合、ユーザ端末2aはその二次元バーコードをカメラ等で撮影して解読することにより、商品購入のためのコードを取得することができる。
テレビ3aは、ユーザが閲覧するテレビである。テレビ3aは、例えばデータ放送を受信可能なテレビである。テレビ3aは、ショッピング番組等で商品を紹介しつつ、商取引サーバ1から提供された二次元バーコードを放送して、ユーザに商品の購入を促す。
放送配信装置7は、テレビ3a等にショッピング番組のコンテンツを放送する。
決済サーバ8は、例えばクレジットカード会社の管理するサーバである。決済サーバ8aは、商取引サーバ1からクレジットカード番号や決済金額等とともに決済リクエストが送信されると、そのカードの与信等を確認して、決済をするか否かの結果を商取引サーバ1に送信する。
図1を参照して、本発明の実施の形態に係る商取引システムの処理の概要を説明する。まず(1)において、テレビ3aに、例えば二次元バーコードが配信される。二次元バーコードは、商取引サーバ1によってテレビ3aに表示される。二次元バーコードには、購入対象の商品の情報が含まれている。また、二次元バーコードは、放送配信装置7によって放送波を介してテレビ3aに配信および表示されても良い。ここで、購入対象の商品の情報は、商品の識別子、商品を購入するための情報の送信先である購入情報送信URL等である。また、商品の識別子等は、暗号化されており、購入情報送信URLは暗号化されていないことが好ましい。本実施の形態において購入情報送信URLは、商取引サーバ1のURLである。このとき、テレビ3aには、購入対象の商品を紹介するテレビ放送が、放送配信装置7により配信されていることが好ましい。
なお、本発明の実施の形態においては、テレビ3aに二次元バーコードが表示される場合について説明するが、ユーザ端末2a等を利用して読み取り可能な形式であれば良い。具体的には、一次元バーコード、ホログラムなどでも良い。またコードをテキスト形式でテレビ3aに表示して、ユーザ端末2aで撮影した後、OCRソフト等でコードを取得しても良い。
次に(2)において、テレビ3aに表示された二次元バーコードが、ユーザ端末2aに取得される。例えば、ユーザ端末2aはカメラ機能を有しており、テレビ3aに表示された二次元バーコードを撮影し、ユーザ端末2a内でデコードすることにより、二次元バーコードの情報を取得することができる。(3)において、暗号化されていない情報のみ、ユーザ端末2aの表示装置に表示される。例えば、購入情報送信URLは暗号化されていないので、購入情報送信URLが表示される。
次に(4)において、ユーザ端末2aと商取引サーバ1との間で、SSL通信による相互認証がなされる。商品の識別子等が暗号化されている場合、(5)において、ユーザ端末2aは、共通鍵取得URLである商取引サーバ1に接続し、商取引サーバ1から商品の識別子等を復号するための共通鍵を取得し、その共通鍵で復号する。これにより、ユーザ端末2aは、商品の識別子等を平文で取得することができる。
さらに(6)においてユーザ端末2aは、購入情報送信URLである商取引サーバ1に接続し、復号された商品の識別子等を送信し、商品の購入要求を送信する。商取引サーバ1は、商品の購入要求を受信すると、(7)において決済サーバ8に決済要求を送信する。さらに商取引サーバ1は、(8)において決済サーバ8から決済結果応答を受信し、決済が認められた場合、商品の引き当て処理や配送処理等を行う。さらに商取引サーバ1は、(9)においてその結果をユーザ端末2aに送信し、商取引の一連の流れが完了する。
次に、図2を参照して、本発明の実施の形態に係る商取引方法について説明する。図1においては、商取引サーバ1が二次元バーコードを作成してテレビ3aに表示する場合について説明したが、図2においては、放送配信装置7によって表示される場合について説明する。
まずステップS101において放送配信装置7は、二次元バーコードデータを生成する。ここで生成する二次元バーコードデータは、図3に示すデータ構造を有する。二次元バーコードデータは、仮商品ID、商品ID、商品名、商品単価、購入申込有効期限、MAC値、共通鍵取得URLおよび購入情報送信URLである。商品ID、商品名、商品単価および購入申込有効期限は、暗号化されている。一方、仮商品ID、MAC値、共通鍵取得URLおよび購入情報送信URLは、暗号化されたデータを復号する際に用いる情報等で、暗号化されていない。
「仮商品ID」は、共通鍵取得時に利用するためのダミーの商品識別子である。仮商品IDは、商品IDに1対1で対応する。「商品ID」は、購入対象商品を一意に識別するための商品識別子である。「商品名」は、購入対象商品の名称である。「商品単価」は、購入対象商品の単価である。「購入申込有効期限」は、購入対象商品に設けられた購入申込有効期限である。この有効期限を経過すると、ユーザは、購入対象商品購入することができない。「MAC値」は、メッセージの認証および改竄を証明するためのMAC(Message Authentication Code)である。「共通鍵取得URL」は、商品購入時における共通鍵を取得するためのURLである。但し共通鍵取得URLのエンコード後の文字長は、最大512バイトとする。「購入情報送信URL」は、商品購入の際に接続するためのURLである。但し、購入情報送信URLのエンコード後の文字長は、最大512バイトとする。これらのURLの文字長は、ユーザ端末2aやユーザ端末2aにインストールされるソフトウェアの制限により決定される。各URLの文字列長は、商取引サーバ1に接続される全てのユーザ端末2aやソフトウェアで利用されるURLの文字列長のうち、最も短い文字列長であることが好ましい。
本実施例において「共通鍵取得URL」および「購入情報送信URL」は、商取引サーバ1内のアドレスである。図3における暗号化された各情報は、例えば、鍵長128ビットのAES(Advanced Encryption Standard )等の共通鍵暗号方式によって暗号化される。
放送配信装置7は、ステップS101において二次元バーコードを生成すると、ステップS102において、その二次元バーコードデータを含むデータ放送データを生成して、テレビ3aに送信する。またこのとき、通常のテレビ放送のための映像データおよび音声データも、テレビ3aに送信する。
なお、図1に示すように二次元バーコードを商取引サーバ1が生成する場合は、ステップS101の処理は商取引サーバ1で実行される。このとき放送配信装置7は、ステップS102において映像および音声のデータを放送するとともに、商取引サーバ1がデータ放送のデータとして二次元バーコードをテレビ3aに送信する。またさらに他の例として、商取引サーバ1が二次元バーコードを生成して放送配信装置7に送信し、放送配信装置7がデータ放送として二次元バーコードをテレビ3aに送信しても良い。
テレビ3aは二次元バーコードを受信すると、ステップS103においてテレビ3aは、二次元バーコードを表示画面に表示する。二次元バーコードを表示するか否かは、ユーザによるデータ放送の表示切り換え等によって制御される。
ここでステップS104においてユーザ端末2aは、ユーザの操作によって、テレビ3aに表示された二次元バーコードを撮影し、ステップS105において、二次元バーコードの画像データを取得する。ステップS106においてユーザ端末2aは、二次元バーコードをデコードし、図3に示す各情報を取得する。ここで取得する情報のうち、商品ID、商品名、商品単価および購入申込有効期限は、暗号化されており、仮商品ID、MAC値、共通鍵取得URLおよび購入情報送信URLは、平文のまま取得される。
ここで、ステップS107においてユーザ端末2aは、商取引サーバ1に、HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)のハンドシェークプロトコルによるサーバ認証要求を送信し、ステップS108において商取引サーバ1からHTTPSのハンドシェークプロトコルによるサーバ認証応答を受信する。さらに、ステップS109において商取引サーバ1は、ユーザ端末2aに、HTTPSのハンドシェークプロトコルによるクライアント認証要求を送信し、ステップS110においてユーザ端末2aからHTTPSのハンドシェークプロトコルによるクライアント認証応答を受信する。ステップS107ないしステップS110の処理により、ユーザ端末2aおよび商取引サーバ1間でSSL通信による相互認証を実現する。
SSL通信による相互認証が実現すると、ステップS111においてユーザ端末2aは、二次元バーコードを復号するため共通鍵取得要求データを商取引サーバ1に送信する。この共通鍵取得要求データは、図4に示すように、共通鍵取得URL、機器IDおよび仮商品IDを含むデータである。「共通鍵取得URL」は、図3に示した二次元バーコードデータの「共通鍵取得URL」であって、共通鍵取得要求データの送信先となる。「機器ID」は、ユーザ端末の識別子である。商取引サーバ1は、機器IDによりユーザを識別することができる。ユーザを識別可能であれば、「機器ID」でなくても良い。「仮商品ID」は、図3に示した二次元バーコードデータの「仮商品ID」である。共通鍵は、仮商品IDに対応しており、ユーザ端末2aは、仮商品IDに対応する共通鍵を取得する。「仮商品ID」は、仮商品IDをHTTPのPOSTメソッドのデータフィールドにセットされる。
商取引サーバ1は、ユーザ端末2aから共通鍵取得要求データを受信すると、共通鍵取得要求データに含まれる仮商品IDに対応する共通鍵を取得する。商取引サーバ1はステップS112において、この共通鍵を含む共通鍵返送データを生成して、ユーザ端末2aに送信する。共通鍵返送データは、図5に示すように、仮商品IDと共通鍵を含む。「仮商品ID」は、共通鍵取得要求データに対応する仮商品IDである。正常に処理された場合、「共通鍵」には、仮商品IDに対応する共通鍵であって、二次元バーコードの各データのうち暗号化されたデータを復号するための共通鍵が設定される。ここで、「正常に処理された場合」とは、機器IDおよび仮商品IDによってユーザを認証できた場合や、仮商品IDに対応する共通鍵が見つかった場合などである。一方、正常に処理されなかった場合、「共通鍵」欄には、共通鍵の代わりに、エラーコードとエラーメッセージが設定される。
ステップS112において共通鍵を取得できた場合、ユーザ端末2aはステップS113において、暗号化された情報を復号する。具体的には、図3に示す二次元バーコードデータのうち、商品ID、商品名、商品単価および購入申込有効期限を復号化し、各データの平文を取得する。さらに、ステップS114においてユーザ端末2aは、復号された商品ID、商品名、商品単価および購入申込有効期限をユーザ端末2aの表示装置に表示し、ユーザによる入力を待機する。
ステップS115において、ユーザ端末2aは、ステップS114で表示された内容で商品を購入する場合、ユーザに、その購入意思を示す確認ボタンの押下を促す。このときユーザ端末2aは、購入数量を「1」から「2」にするなど、確認項目を変更するボタンを表示しても良い。
ユーザによって確認ボタンが押下されると、ステップS116においてユーザ端末2aは、商品購入要求データを商取引サーバ1に送信する。この商品購入要求データは、図6に示すように、商品ID、機器IDおよび購入数量を含むデータである。「商品ID」は、二次元バーコードを復号することにより得られる。「機器ID」は、ユーザ端末2aを識別する。「購入数量」は、ユーザによって指定された商品を購入する数である。ここで、ユーザがクレジットカードで商品を購入する場合、商品購入要求データには、ユーザの所有するクレジットカードのカード番号、有効期限および名義人等の決済に必要な情報が含まれる。また、クレジットカードの番号、有効期限および名義人等の情報は、商取引サーバ1にユーザの情報を登録する際に、予め登録されていても良い。
商取引サーバ1は、商品購入要求データを受信すると、クレジットカードで決済する場合、ステップS117において決済サーバ8に決済要求データを送信する。この決済要求データは、図7に示すように、サブスクライバID、ユーザ決済ID、決済金額および有効期限を含むデータである。「サブスクライバID」は、クレジット決済等の購入の取引を一意に識別するための識別子である。「ユーザ決済ID」は、クレジット決済等で利用するユーザを一意に識別するための識別子である。「決済金額」は、ユーザの購入商品に基づく決済金額である。「有効期限」は、クレジット決済等で利用するカード等の有効期限の情報である。購入要求データにはさらに、ユーザのクレジットカード番号や、これに対応する識別子等が含まれていても良い。
ステップS118において決済サーバ8は、決済要求データに基づいて決済できるか否かを示した決済結果応答データを商取引サーバ1に送信する。この決済結果応答データには、図8に示すように、サブスクライバIDおよび決済結果を含む。「サブスクライバID」は、ステップS117で送信された決済要求データに含まれるサブスクライバIDと同一のIDが設定される。正常に決済された場合、決済結果には、決済が完了した旨のメッセージが含まれる。「正常に決済された場合」とは、ユーザの所有のクレジットカードが有効で、かつ与信枠内での商品購入である場合である。正常に決済できなかった場合、「決済結果」には、エラーコードとエラーメッセージが設定される。
図7および図8に記載の各データにおいて、この決済に関する情報は、代金引換、銀行振り込み等の決済手段によって適宜変更される。
商取引サーバ1は、決済結果応答データを受信すると、その結果に応じて、商品購入処理応答データを生成する。商品購入処理応答データは、図9に示すように商品IDおよび購入結果を含む。「商品ID」は、ステップS116で送信した商品購入要求データに含まれる商品IDである。「購入結果」は、正常に完了した場合、商品を引き当てた上で、その旨のメッセージを生成する。「正常に完了した場合」とは、ステップS116で受信したステップS118で受信した決済結果が正常であり、商品の引き当てもできた場合等である。正常に完了しなかった場合、「購入結果」には、エラーコードとエラーメッセージが設定される。
このように本発明の実施の形態に係る商取引システムによれば、テレビ等を介した商取引において、購入情報等の操作性が悪く、煩雑な入力操作をTVリモコンにて実施することなく、使い慣れている携帯電話機等のユーザ端末を用いて商取引することができる。従って、ユーザの操作性が向上し、ユーザの購入意識を高めることができる。
また、SSL通信によって、クライアントおよびサーバを相互認証することができるので、よりセキュアな環境にて商取引等のサービスを実現することができる。
また、複数のユーザが閲覧するテレビでは、各ユーザ個別のアクセスを取得することは困難であったところ、本発明の実施の形態に係る商取引システムによれば、宅内の不特定数のユーザを特定することができる。従って、本発明の実施の形態に係る商取引システムによれば、商取引等のサービス事業者側ではアクセスするユーザ情報を採取でき、よりパーソナライズ化された情報の収集に寄与できる。
(商取引システム)
本発明の実施の形態に係る商取引システムにおいては、ユーザは、自宅のテレビにてデジタル放送波あるいは通信ネットワークによるIP放送通信等でのデータ放送情報を受信する。商品をインターネットから購入するための商品情報が、二次元バーコードの形式でこのデータ放送に含まれてユーザの宅内に配信される。
ユーザは予めインストールしているユーザプログラムを起動し、ユーザ端末2a等に付属のカメラで二次元バーコードを撮影するなどして二次元バーコードを取得する。その後、ユーザプログラムによって、ユーザ端末2aおよび商取引サーバ1間のHTTPSによる通信にてサーバ証明書およびクライアント証明書を取得して各々にて正当性を検証して相互認証を行う。相互認証がなされると、ユーザはユーザ端末2aを操作して、商品を購入することができる。
図10を参照して、本発明の実施の形態に係る商取引システムにおける各装置および事前準備を説明する。本発明の実施の形態に係る商取引システムにおいては、PKI(public key infrastructure)による相互認証を利用して、テレビ3a等での商取引サービスを実現する。このため、商取引サーバ1、ユーザ端末2a等の各装置を説明するとともに、その各装置において、商取引サービスに先立って必要な準備を以下に説明する。
図10に示すように、各家庭4a、4b、4c・・・ごとに、テレビ3aおよびユーザ端末2aを備える。テレビ3aは、放送配信装置7から放送を受信するとともに、通信ネットワーク6を介して、商取引サーバ1に接続される。ユーザ端末2aは、通信ネットワーク6を介して商取引サーバ1に接続される。ユーザ端末2aが携帯電話機の場合、携帯電話ネットワーク(図示せず)を介して、商取引サーバ1に接続される。
商取引サーバ1、ユーザ端末2a、2b、2c…、テレビ3a、3b、3c…、認証事業者サーバ5a、5b、決済サーバ8は、通信ネットワーク6を介して相互に接続される。通信ネットワーク6は、インターネット等の双方向に接続可能な通信ネットワークである。
商取引サーバ1は、図1ないし図9を参照して説明した機能を実現するのに先立って、サーバ証明書の発行と、クライアント認証サービスの利用申請をする。サーバ証明書の発行は、ユーザ端末2aとHTTPS通信を実施するために使用するTTP(Trusted Third Party)である認証事業者から、デジタル署名付きのサーバ証明書を購入し、発行されたサーバ証明書を受信することである。クライアント認証サービスの利用申請は、TTPが発行するクライアント認証サービスを利用するために、TTPからルートCA証明書、中間CA証明書およびクライアント証明書の失効リスト(CRL:Certificate Revocation List)を入手して商取引サーバ1に登録することである。
認証事業者サーバ5a、5bは、サーバ証明書の発行およびクライアント証明書の発行をする。サーバ証明書の発行は、商取引の事業者に、商取引サービスで利用する商取引サーバ1で使用するSSLサーバ証明書を発行し送信することである。クライアント証明書の発行は、ユーザ端末2aの所有ユーザにSSLクライアント証明書を発行し送信することである。
ユーザ端末2aは、ユーザ端末2a用のユーザプログラムのダウンロードと、クライアント証明書の取得および登録をする。ユーザ端末2aがダウンロードするユーザプログラムは、本発明の実施の形態に係るユーザ端末2aに必要な機能を実現するためのプログラムである。ユーザ端末2aは、ユーザの操作によって商取引サーバ1からユーザプログラムがダウンロードされ、インストールおよび実行されることにより、ユーザ端末2aに必要な機能を実現することができる。クライアント証明書の取得および登録は、商取引で相互認証をするためのクライアント証明書を取得し、ユーザ端末2aにインストールすることである。
次に、各装置について詳述する。
ユーザ端末2aは、商品の購入を受け付ける商取引サーバ1に接続され、ユーザが商品を購入するために利用する情報機器である。ユーザ端末2aは、一般的な情報機器と同様に、中央処理制御装置、記憶装置、通信装置等を備える。ユーザ端末2aは、ユーザプログラムをインストールし、実行することにより、図11に示す各機能を実現することができる。
ユーザ端末2aは、SSL通信制御手段211、ブラウザ手段212、商品購入手段213、コード取得手段214、共通鍵取得手段215、クライアント証明書インストール手段216を備える。ユーザ端末2aの記憶装置220は、クライアント証明書データ記憶部221およびクライアント秘密鍵データ記憶部222を備える。
SSL通信制御手段211は、商取引サーバ1とのSSL通信を制御する手段である。SSL通信制御手段211は、後述のコード取得手段214によって取得された商取引サーバ1のURLに従って、商取引サーバ1にアクセスし、SSL通信によって商取引サーバ1を認証する。
ブラウザ手段212は、ユーザ端末2aでウェブを閲覧するためのブラウザを実現する手段である。ブラウザ手段212は、ユーザ端末2aの有する一般的なブラウザであっても良い。
商品購入手段213は、ユーザ端末2aでの商品購入を支援する手段である。商品購入手段213は例えば、商品購入を決定させるためのボタンを表示したり、商品の購入数を指定するためのテキストボックスを表示する。商品購入手段213によって取得された情報は、商取引サーバ1に送信される。
コード取得手段214は、二次元バーコードを取得する。二次元バーコードの取得方法としては例えば、テレビの表示画面に表示された二次元バーコードをカメラで撮影することが考えられる。二次元バーコードには、図3を参照して説明した各情報が含まれている。コード取得手段214は、二次元バーコードを解析して、商品を識別する商品IDと、商取引サーバ1のURLを取得する。
共通鍵取得手段215は、コード取得手段214によって二次元バーコードの各情報を取得した後、商取引サーバ1である共通鍵取得URLに仮商品IDを送信して、商取引サーバ1から共通鍵を取得する。さらに共通鍵取得手段215は、取得した共通鍵を用いて、二次元バーコードに含まれた、暗号化された商品IDを復号する。
ユーザ端末2aは、商取引サーバ1から共通鍵を取得すると、この共通鍵を用いて暗号化されたデータを復号する。ここで暗号化されたデータは、商品ID、商品名、商品単価および購入申込有効期限である。さらにユーザ端末2aは、復号されたデータと共通鍵と、例えばハッシュ関数SHA−1を用いて、HMAC−SHA1を算出する。このHMAC−SHA1と、図3に示す二次元バーコードデータに含まれた「MAC値」とが一致する場合、この二次元バーコードのメッセージ認証や、改竄がないこと(完全性)を証明することができる。
クライアント証明書インストール手段216は、商取引サーバ1が取得したクライアント証明書データを取得して、ユーザ端末2aにインストールする。
クライアント証明書データ記憶部221は、クライアント証明書データ221aを記憶する記憶領域である。クライアント証明書データ221aは、商取引サーバ1によって取得されたデータであって、商取引サーバ1との通信時に、商取引サーバ1がユーザ端末2aの本人性を確認するデータである。クライアント証明書データ221aには、ユーザ端末2aの秘密鍵に対応する公開鍵が含まれており、ユーザが秘密鍵で暗号化したデータを公開鍵で復号することにより、ユーザ端末2aの本人性を確認することができる。
クライアント秘密鍵データ記憶部222は、クライアント秘密鍵データ222aを記憶する記憶領域である。クライアント秘密鍵データ222aは、ユーザが任意で設定したパスフレーズである。
ユーザ端末2b、2cも、ユーザ端末2aと同様の構成を備える。
認証事業者サーバ5aは、HTTP通信制御手段511、サーバ証明書発行手段512、CA証明書配信手段513、失効リスト配信手段514およびクライアント証明書発行手段515を備える。
HTTP通信制御手段511は、商取引サーバ1と認証事業者サーバ5a間でのHTTP通信を制御する。
サーバ証明書発行手段512は、商取引サーバ1からCSRを受信すると、その商取引業者を審査させ、その審査結果の入力を促す。その審査結果が「合格」の場合、サーバ証明書発行手段512は、CSRをCAルート証明書、またはCA中間証明書の秘密鍵でデジタル署名し、サーバ証明書データを生成する。さらにサーバ証明書発行手段512は、サーバ証明書データを、商取引サーバ1に送信する。
CA証明書配信手段513は、商取引サーバ1からの、クライアント認証サービス利用申請の入力に基づいて、利用申請情報を確認し、商取引サーバ1に、CA電子証明書データを送信する。
失効リスト配信手段514は、商取引サーバ1からの、クライアント認証サービス利用申請の入力に基づいて、利用申請情報を確認し、商取引サーバ1に、失効リストを送信する。また、失効リスト配信手段514は、商取引サーバ1からのリクエストに応じて失効リストを送信しても良いし、認証事業者サーバ5aが定める任意のタイミングで失効リストを送信しても良い。
クライアント証明書発行手段515は、商取引サーバ1から送信された登録データを受信すると、そのユーザを審査させ、その審査結果の入力を促す。その審査結果が「合格」の場合、クライアント証明書発行手段515は、登録データに基づいて、秘密鍵でデジタル署名したクライアント証明書データを生成し、商取引サーバ1に送信する。このクライアント証明書データは、オフラインで送信されても良い。
認証事業者サーバ5bも、認証事業者サーバ5aと同様の構成を備える。
テレビ3aは、BMLブラウザ手段311と、ウェブブラウザ手段312を備える。
BMLブラウザ手段311は、デジタル放送で用いられるBML(Broadcast Markup Language)で記載されたコンテンツを、テレビ3aの表示画面に表示するブラウザを実現する手段である。
ウェブブラウザ手段312は、テレビ3aでウェブを閲覧するためのブラウザを実現する手段である。
商取引サーバ1は、中央処理制御装置101、ROM(Read Only Memory)102、RAM(Random Access Memory)103および入出力インタフェース109が、バス110を介して接続されている。入出力インタフェース109には、入力装置104、表示装置105、通信制御装置106、記憶装置107およびリムーバブルディスク108が接続されている。
中央処理制御装置101は、入力装置104からの入力信号に基づいてROM102から商取引サーバ1を起動するためのブートプログラムを読み出して実行し、さらに記憶装置107に記憶されたオペレーティングシステムを読み出す。さらに中央処理制御装置101は、入力装置104や通信制御装置106などの入力信号に基づいて、各種装置の制御を行ったり、RAM103や記憶装置107などに記憶されたプログラムおよびデータを読み出してRAM103にロードするとともに、RAM103から読み出されたプログラムのコマンドに基づいて、データの計算または加工など、後述する一連の処理を実現する処理装置である。
入力装置104は、操作者が各種の操作を入力するキーボード、マウスなどの入力デバイスにより構成されており、操作者の操作に基づいて入力信号を作成し、入出力インタフェース109およびバス110を介して中央処理制御装置101に送信される。表示装置105は、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどであり、中央処理制御装置101からバス110および入出力インタフェース109を介して表示装置105において表示させる出力信号を受信し、例えば中央処理制御装置101の処理結果などを表示する装置である。通信制御装置106は、LANカードやモデムなどの装置であり、商取引サーバ1をインターネットやLANなどの通信ネットワークに接続する装置である。通信制御装置106を介して通信ネットワークと送受信したデータは入力信号または出力信号として、入出力インタフェース109およびバス110を介して中央処理制御装置101に送受信される。
記憶装置107は半導体記憶装置や磁気ディスク装置であって、中央処理制御装置101で実行されるプログラムやデータが記憶されている。リムーバブルディスク108は、光ディスクやフレキシブルディスクのことであり、ディスクドライブによって読み書きされた信号は、入出力インタフェース109およびバス110を介して中央処理制御装置101に送受信される。
本発明の実施の形態に係る商取引サーバ1の記憶装置107には、商取引プログラムが記憶されるとともに、図15に示すように、認証データ記憶部60およびコンテンツデータ記憶部70を有する。また、商取引プログラムが商取引サーバ1の中央処理制御装置101に読み込まれ実行されることによって、テレビ制御手段20および商品購入制御手段30が、商取引サーバ1に実装される。
テレビ制御手段20は、ウェブ制御手段21、データ放送制御手段22、ウェブコンテンツ情報生成手段23および二次元コード生成手段24を備える。
ウェブ制御手段21は、テレビ3a等にウェブ情報を表示するための通信を制御する。ウェブ制御手段21は、例えばHTMLで記載されたデータをテレビ3aに送信して、テレビ3aのウェブブラウザ手段312により、その情報をテレビ3a等の表示画面に表示する。
データ放送制御手段22は、テレビ3a等にデータ放送を表示するための通信を制御する。データ放送制御手段22は、例えばBMLで記載されたデータをテレビ3aに送信して、テレビ3aのBMLブラウザ手段311により、その情報をテレビ3a等の表示画面に表示する。
ウェブコンテンツ情報生成手段23は、テレビ3aに表示する商取引を実現するための情報を生成する。ウェブコンテンツ情報生成手段23は、例えば、商取引サーバ1が販売する商品の画像データや、価格のデータ等を表示するためのテンプレートを用いて、ユーザが閲覧する画面データを生成する。このウェブコンテンツ情報には、二次元コード生成手段24によって生成される二次元コードも含まれる。
二次元コード生成手段24は、図3に示す仮商品ID、商品ID、商品名、商品単価、購入申込有効期限、MAC値、共通鍵取得URLおよび購入情報送信URLの各データを含む二次元コードを生成する。二次元コード生成手段24が生成した二次元コードは、ウェブコンテンツ情報生成手段23により表示画面データに埋め込まれ、ウェブ制御手段21やデータ放送制御手段22によってテレビ3a等に表示される。
商品購入制御手段30は、ウェブ制御手段31、SSL通信制御手段32、商品購入処理手段33、決済処理手段34、メール送信手段35、サーバ証明書登録手段36、クライアント認証サービス申請手段37、クライアント証明書登録手段38、クライアント証明書配信手段39、ユーザ情報登録手段40、ユーザプログラム提供手段41および共通鍵出力手段42を備える。
ウェブ制御手段31は、ユーザ端末2a等にウェブ情報を表示するための通信を制御する。ウェブ制御手段31は、例えばHTMLで記載されたデータをユーザ端末2aに送信して、ユーザ端末2aのブラウザ手段212により、その情報をユーザ端末2a等の表示画面に表示する。
SSL通信制御手段32は、ユーザ端末2a等とのSSL通信を制御する手段である。SSL通信制御手段32は、ユーザ端末2a等からアクセスされると、SSL通信によってユーザ端末2a等を認証する。SSL通信制御手段32の処理は、図2のステップS107ないしステップS110を参照して説明した通りである。
商品購入処理手段33は、ユーザ端末2a等から、商品購入要求データを受信すると、商品購入処理応答データを生成して、ユーザ端末2a等に送信する。このとき商品購入処理手段33は、必要に応じて、決済要求データを決済サーバ8に送信し、その結果である決済結果応答データを受信する。この場合商品購入処理手段33は、決済できた場合に、ユーザ端末2a等に商品購入処理応答データを送信する。商品購入処理手段33の処理は、図2のステップS116ないしステップS119を参照して説明した通りである。
決済処理手段34は、商取引サーバ1がユーザ端末2aから商品購入要求データを受信すると、その商品購入に関する決済要求を決済サーバに送信し、その結果である決済結果応答データを受信する。決済処理手段34の処理は、図2のステップS117およびステップS118を参照して説明した通りである。
メール送信手段35は、図18ないし図20を参照して説明したクライアント証明書の取得処理に関し、クライアント証明書が発行された旨の通知を、ユーザ端末2aに送信する手段である。メール送信手段35は、ユーザ端末2aにクライアント証明書をダウンロードさせるためのワンタイムURLを作成する。メール送信手段35は、そのワンタイムURLを用いてユーザ端末2aにクライアント証明書のダウンロードを促すメールを生成して、ユーザ端末2aに送信する。メール送信手段35の処理は、図19のステップS508を参照して説明した通りである。
サーバ証明書登録手段36は、商取引サーバ1のサーバ証明書データを取得し、サーバ証明書データ記憶部62に記憶する。サーバ証明書登録手段36の処理は、図16を参照して後に説明する。
クライアント認証サービス申請手段37は、クライアント認証サービスを利用するために、CA電子証明書や失効リストを取得する。クライアント認証サービス申請手段37は、取得したCA証明書データをCA証明書データ記憶部64に記憶するとともに、失効リストを、クライアント失効リストデータ記憶部63に記憶する。クライアント認証サービス申請手段37の処理は、図17を参照して後に説明する。
クライアント証明書登録手段38は、認証事業者サーバ5aからクライアント証明書が発行されると、そのクライアント証明書データをクライアント秘密鍵証明書データ記憶部74に記憶する。作業端末1aの指示により、クライアント証明書登録手段38は、クライアント証明書データを登録しても良い。クライアント証明書登録手段38の処理は、後述する図19のステップS506の処理に相当する。
クライアント証明書配信手段39は、メール送信手段35によってユーザ端末2aに送信されたメールに従って、ユーザ端末2aからクライアント証明書のダウンロード要求があると、クライアント秘密鍵証明書データ記憶部74から、クライアント証明書データ74bを抽出して、ユーザ端末2aに送信する。クライアント証明書配信手段39の処理は、後述する図20のステップS605およびステップS606に相当する。
ユーザ情報登録手段40は、本発明の実施の形態に係る商取引システムを利用するユーザが、必要な情報を商取引サーバ1に送信すると、その情報をユーザデータ記憶部73のユーザデータ73aとして記憶する。必要な情報としては、ユーザ端末2aの機器ID、ユーザの名前、住所、連絡先、メールアドレス、決済に用いるクレジットカード番号、有効期限、名義人等である。
ユーザプログラム提供手段41は、ユーザ端末2a等で図11を参照して説明した各機能を実現するためのユーザプログラムを、ユーザ端末2a等に送信する。ユーザプログラム提供手段41は、ユーザ端末2a等から、ユーザプログラムのリクエストを受信すると、ユーザプログラムをユーザ端末2aにダウンロードさせ、インストールを促す。ユーザプログラム提供手段41の処理は、後述する図20のステップS602およびステップS603に相当する。
共通鍵出力手段42は、ユーザ端末2a等から共通鍵取得URLに仮商品IDが送信されると、仮商品IDに対応する共通鍵を記憶装置107から抽出して、ユーザ端末2aに出力する。共通鍵出力手段42は、記憶装置107の共通鍵記憶部72から、仮商品IDから商品IDを復号するための共通鍵を取得して、ユーザ端末2aに送信する。
認証データ記憶部60は、サーバ秘密鍵記憶部61、サーバ証明書データ記憶部62、クライアント失効リストデータ記憶部63およびCA証明書データ記憶部64を備える。
サーバ秘密鍵記憶部61は、サーバ秘密鍵61aを記憶する記憶領域である。サーバ秘密鍵は、CSRの作成や発行されたサーバ証明書の運用に用いられる。
サーバ証明書データ記憶部62は、サーバ証明書データ62aを記憶する記憶領域である。サーバ証明書データ62aは、認証事業者サーバ5aにCSRを送信し、認証事業者サーバ5aによる審査に合格した場合に、認証事業者サーバ5aから発行される。
クライアント失効リストデータ記憶部63は、クライアント失効リストデータ63aを記憶する記憶領域である。クライアント失効リストデータ63aは、失効シリアル番号が登録されたデータである。
CA証明書データ記憶部64は、CA証明書データ64aを記憶する記憶領域である。CA証明書データ64aは、いわゆるルートCA証明書データや、中間ルート証明書データであって、クライアント証明書にデジタル署名する際に使用している秘密鍵とペアとなる公開鍵が含まれている。
コンテンツデータ記憶部70は、コンテンツ情報記憶部71、共通鍵記憶部72、ユーザデータ記憶部73およびクライアント秘密鍵証明書データ記憶部74を備える。
コンテンツ情報記憶部71は、コンテンツ情報データ71aを記憶する記憶領域である。コンテンツ情報データ71aは、商取引に必要なデータでる。コンテンツ情報データ71aは、商品ID、商品名、商品単価などの商品の情報や、商品の説明等のデータが関連づけられている。
共通鍵記憶部72は、共通鍵データ72aを記憶する記憶領域である。共通鍵データ72aは、二次元バーコードに含まれた仮商品IDから商品IDを取得する際に用いられる共通鍵のデータである。共通鍵データ72aにおいては、仮商品IDごとに共通鍵が設定されている。
ユーザデータ記憶部73は、ユーザデータ73aを記憶する記憶領域である。ユーザデータ73aは、ユーザ端末2a、2b、2c…のユーザの情報が登録されたデータである。ユーザデータ73aは、ユーザを識別するユーザ機器ID、氏名、生年月日、住所、会社名、コモンネーム、メールアドレス、クレジットカード情報、購入履歴等のデータが関連づけられている。
クライアント秘密鍵証明書データ記憶部74は、クライアント秘密鍵データ74aおよびクライアント証明書データ74bを記憶する記憶領域である。クライアント秘密鍵データ74aは、ユーザによって設定された任意のパスフレーズで、クライアント認証情報の登録で用いられる。クライアント証明書データ74bは、ユーザ端末2aの本人性を確認するデータである。クライアント証明書データ74bは、認証事業者サーバ5aからクライアント証明書が発行されると、ユーザ端末2aからダウンロードされるまで、商取引サーバ1によって一時的に保存される。
商取引サーバ1は、図10に示すように、作業端末1aが接続されていても良い。作業端末1aは、担当者が商取引サーバ1の入出力に利用する一般的なコンピュータである。担当者は、作業端末1aを利用して、ユーザ端末2aからクライアント証明書発行のための必要情報が登録されたか否かを問合せ、登録されている場合に、その登録データを、認証事業者サーバ5aに送信し、クライアント証明書作成を依頼する。
次に図16を参照して、サーバ証明書を登録する処理について説明する。この処理は、商取引サーバ1のサーバ証明書登録手段36と、認証事業者サーバ5aのサーバ証明書発行手段512によって実現される。なお、図16に示す各処理が実行されるのに先立ち、ドメイン名を取得したり、FQDN(Full Qualified Domain Name)が決定されていることを前提とする。
まずステップS201において商取引サーバ1に、サーバ証明書購入手続に必要なデータが入力される。ステップS202において、商取引サーバ1は、サーバ秘密鍵61aを作成し、サーバ秘密鍵記憶部61に記憶する。ステップS203において、ステップS201で入力した情報と、ステップS202で作成したサーバ秘密鍵61aとから、CSR(Certificate Signing Request)が作成され、ステップS204において、サーバ証明書を購入するための購入情報が入力される。
ステップS221において商取引サーバは、ステップS204で入力した購入情報と、ステップS203で作成したCSRとを、認証事業者サーバ5aに送信する。
認証事業者サーバ5aでは、ステップS241において、申請してきた法人、具体的には商取引サーバ1の事業者の審査がなされ、その結果を取得する。ステップS242において審査に合格しなかった旨の結果が取得された場合、認証事業者サーバ5aは、ステップS222において、サーバ証明書の発行不可の旨の回答を商取引サーバ1に送信する。ステップS242において審査に合格した旨の結果が取得された場合、認証事業者サーバ5aはステップS243において、サーバ証明書を発行し、デジタル署名する。具体的には、CSRをCAルート証明書、またはCA中間証明書の秘密鍵でデジタル署名し、サーバ証明書データを生成する。認証事業者サーバ5aはステップS223において、サーバ証明書データを、商取引サーバ1に送信する。ここでは少なくとも、ユーザ端末2aと接続するウェブサーバ機能のURLに対するサーバ証明書の発行が対象とされる。
商取引サーバ1がサーバ証明書データを受信すると、ステップS205において受信したサーバ証明書データ62aをサーバ証明書データ記憶部62に記憶する。
図16の例において、ステップS221、S222およびS223の処理は、オンラインで実現されても良いし、オフラインで実現されても良い。オフラインによるサーバ証明書データの送信は、具体的には、サーバ証明書データが記憶されたCD−R等の記憶メディアの手渡し、郵送等である。
次に図17を参照して、商取引サーバ1がユーザ端末2aを認証するために、認証事業者サーバ5aからCA証明書データ64aおよびクライアント失効リストデータ63aを取得する場合を説明する。この処理は、商取引サーバ1のクライアント認証サービス申請手段37と、認証事業者サーバ5aのCA証明書配信手段513によって実現される。
商取引サーバ1は、ステップS301において、クライアント認証サービス利用申請に必要なデータの入力を促し、ステップS321において、利用申請情報を認証事業者サーバ5aに送信する。
認証事業者サーバ5aは利用申請情報を受信すると、ステップS341において利用申請情報を確認し、ステップS322において、ルートCA証明書および中間ルート証明書と、クライアント失効リストデータを、商取引サーバ1に送信する。
商取引サーバ1は、CA証明書データ64aおよびクライアント失効リストデータ63aを受信すると、CA証明書データ64aをCA証明書データ記憶部64に記憶するとともに、クライアント失効リストデータ63aをクライアント失効リストデータ記憶部63に記憶する。
図17の例において、ステップS321およびS322の処理は、オンラインで実現されても良いし、オフラインで実現されても良い。
図18ないし図20を参照して、ユーザ端末2aがクライアント証明書を取得する処理について説明する。
ユーザ端末2aにおいてクライアント証明書を取得する際、まずユーザ端末2aはステップS401において、商取引サーバ1のクライアント証明書登録手段38に対し、クライアント認証情報登録画面の取得要求を送信する。これに対しクライアント証明書登録手段38は、ステップS402において、クライアント認証情報登録画面データをユーザ端末2aに送信し、ユーザ端末2aは、クライアント認証情報登録画面を表示装置に表示する。
ここでユーザ端末2aはステップS403において、ユーザに、クライアント証明書発行の必要情報データの入力を促す。ここで入力されるデータは、図21に示す各データである。
具体的には、ユーザ端末2aにおいて、機器ID、ユーザの氏名、生年月日、住所、会社名・団体、コモンネーム、パスフレーズ、メールアドレスおよび登録クレジットカード情報である。「機器ID」は、ユーザ端末2aを一意に識別する識別子である。「パスフレーズ」は、ユーザが任意に設定し文字列で、クライアント公開鍵のペアとなる秘密鍵である。
ユーザ端末2aはステップS404において、ステップS403で入力された情報を、商取引サーバ1に送信する。商取引サーバ1のクライアント証明書登録手段38は、ユーザ端末2aからデータを受信すると、ステップS405において、証明書発行のための必要情報を確認し、商取引サーバ1の記憶装置に登録データとして登録する。
一方、作業端末1aは、ステップS406において、商取引サーバ1に登録データの有無を問合せるデータを送信し、ステップS407において登録データの有無の応答データを受信する。ステップS408において登録データがあると判定された場合、ステップS409に進む。
ステップS409において作業端末1aは、登録データを記録媒体に書き込み、あるいは通信ネットワークで送信するための送信情報を設定する。さらに作業端末1aは、ステップS410において、ステップS409で書き込みまたは設定された情報に従って、クライアント証明書作成依頼を認証事業者サーバ5aに送信する。ステップS406ないしステップS410の処理は、定期的に、あるいは担当者の指示により実行される。
認証事業者サーバ5aは、登録データを受信すると、図19のステップS501においてそのユーザの審査がなされ、その結果を取得する。ステップS502において審査に合格しなかった旨の結果が取得された場合、認証事業者サーバ5aは、ステップS503において、クライアント証明書の発行不可の旨の回答を作業端末1a(あるいは商取引サーバ1)に送信する。ステップS502において審査に合格した旨の結果が取得された場合、認証事業者サーバ5aはステップS504において、クライアント証明書を発行し、デジタル署名する。具体的には、CSRをCAルート証明書、またはCA中間証明書の秘密鍵でデジタル署名し、サーバ証明書データを生成する。認証事業者サーバ5aは、ステップS505において、クライアント証明書データを、作業端末1a(あるいは商取引サーバ1)に送信する。
作業端末1aはステップS506において、クライアント証明書データ74bをクライアント証明書登録手段38に送信する。クライアント証明書登録手段38は、受信したクライアント証明書データ74bを、記憶装置107のクライアント秘密鍵証明書データ記憶部74に記憶する。
一方作業端末1aはステップS507において、クライアント証明書発行が完了した旨の通知を、メール送信手段35に入力する。メール送信手段35は、ステップS508において、クライアント証明書が発行された旨のメールをユーザ端末2aに送信する。このメールには、ユーザ端末2aがクライアント証明書を取得するためのワンタイムURLが含まれている。
ユーザ端末2aは、図20に示すステップS601において、ユーザプログラムがダウンロードされているか否かを判定する。ユーザプログラムがダウンロードされていない場合、ユーザ端末2aはステップS602において、商取引サーバ1のユーザプログラム提供手段41にユーザプログラムのダウンロードを要求する。さらにユーザ端末2aは、ステップS603においてユーザプログラムをダウンロードすると、ステップS604においユーザプログラムをインストールする。
さらにユーザ端末2aは、ステップS508で通知されたワンタイムURLに従って、商取引サーバ1のクライアント証明書配信手段39に対して、クライアント証明書のダウンロードを要求する。クライアント証明書配信手段39は、クライアント秘密鍵証明書データ記憶部74からクライアント証明書データ74bを抽出し、ステップS606において、ユーザ端末2aに送信する。ユーザ端末2aは、ステップS607において、クライアント証明書データをインストールする。
このように本発明の実施の形態においては、宅内でテレビを視聴する定額収入のある成人であるユーザに、テレビを利用した商取引サービスを提供する。具体的には、ユーザがPKIの仕組みを利用して、クライアント認証するためのクライアント証明書をTTPである認証事業者から取得する。また、商取引サーバは、クライアントを認証している認証事業者からルートCA証明書や失効リスト(CRL)を取得して、商取引サーバに登録する。更に商取引サーバは、サーバ証明書をTTPから取得する。この際、クライアント側となるユーザ端末のウェブブラウザには、携帯電話等のユーザ端末の購入時にサーバ証明書を認証したTTPのルートCA証明書やCRLが登録されている。これにより相互認証が実現でき、ユーザ端末と商取引サーバ間において、不要な入力を省略しつつ商取引サービスを提供することができる。ここで、クライアント側及びサーバ側を認証するTTPは異なっていても同一でもよい。
また、購入情報は商取引サーバから商品情報をエンコードした二次元バーコードを作成してテレビに配信する。テレビに表示された二次元バーコードをユーザ端末で撮影することにより、ユーザ端末で購入商品情報をデコードして、購入内容を確認してセキュアに購入することができる。
(その他の実施の形態)
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
例えば、本発明の実施の形態に記載した商取引サーバは、図15に示すように一つのハードウェア上に構成されても良いし、その機能や処理数に応じて複数のハードウェア上に構成されても良い。また、既存の商取引システム上に実現されても良い。
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。