説明

情報処理システム、情報処理方法、情報処理装置、並びにプログラム

【課題】 ICカードに関する情報を管理する端末に、安全、かつコストを抑えて情報を提供する。
【解決手段】 端末SAMクライアント11−1の端末SAMは、端末識別子と端末公開鍵をエンコードし、これと端末識別子を認定機関13に送信し、認定機関13はこれを受信する。認定機関は、エンコードされた端末識別子と端末公開鍵をデコードし、受信した端末識別子と一致するか否かを確認し、一致する場合に、認定機関秘密鍵を用いて端末公開鍵の署名を生成し、これをサーバ14−1に送信する。サーバ14−1は、端末公開鍵の署名を受信し、端末公開鍵が正当であることを検証し、正当であることが検証された場合、端末識別子と端末公開鍵を記憶する。本発明は、ICカードに関する情報を処理する情報処理システムに適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理方法、情報処理装置、並びにプログラムに関し、特に、ICカードに関する情報を管理する端末装置に、安全、かつコストを抑えて情報を提供する情報処理システム、情報処理方法、情報処理装置、並びにプログラムに関する。
【背景技術】
【0002】
近年、IC(Integrated Circuit)チップを内蔵するカード(ICカード)内のデータに対して操作(更新)を行なう場合、ICカードリーダライタを備える端末が、鍵やスクリプトを記憶しているサーバに接続し、オンラインで相互認証を行った後に、ICカードリーダライタを備える端末がICカード内のデータに対して操作を行っている。
【0003】
例えば、特許文献1には、オンラインでICカード内のデータを読み出す技術が開示されている。
【0004】
このようなICカードリーダライタを備える端末は、鍵やスクリプトを安全に守る機能を有していないため、オフラインでICカード内のデータに対して操作(更新)を行なうためには、鍵やスクリプトを安全に格納できるセキュリティボックスを端末に設けることで、オフラインにおける認証を行っている。
【特許文献1】特開2003−141063号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、端末にセキュリティボックスを設けた場合、そのセキュリティボックスでは、固定的な鍵やスクリプトしか格納することができず、鍵やスクリプトの更新は困難であるという課題があった。
【0006】
また、鍵やスクリプトを提供するサービス提供者は、端末に設けられたセキュリティボックスが鍵やスクリプトを守る能力を有するか否かを認識することができないという課題があった。
【0007】
さらに、サーバが鍵やスクリプトを記憶して、オンラインで端末(クライアント)と相互認証するクライアントサーバモデルにおいて、ICカードによる決済処理などの、端末側(クライアント側)での処理が長時間発生したり、ICカードの抜き差しによりカードアクセスが不規則である場合、サーバにおいて端末を管理する負荷が増加し、サーバを管理するコストが高いという課題があった。
【0008】
本発明はこのような状況に鑑みてなされたものであり、ICカードに関する情報を管理する端末装置に、安全、かつコストを抑えて情報を提供するようにするものである。
【課題を解決するための手段】
【0009】
本発明の情報処理システムは、ICカードに関する情報を管理する端末装置、端末装置に情報を提供するサーバ、および端末装置を証明する認定装置からなる情報処理システムであって、端末装置は、端末装置に固有の端末識別子と、端末装置が有する第1の鍵に対応する第2の鍵とをエンコードするエンコード手段と、エンコードされていない端末識別子と、エンコード手段によりエンコードされた端末識別子および第2の鍵とを、認定装置に送信する第1の送信手段と、第1の送信手段による送信に対して、認定装置から送信されてきた第2の鍵の署名を受信する第1の受信手段と、第1の受信手段により受信された第2の鍵の署名を、端末識別子とともに記憶する第1の記憶手段と、第2の鍵、第1の記憶手段に記憶された第2の鍵の署名、および端末識別子をサーバに送信する第2の送信手段とを備え、認定装置は、端末装置の第1の送信手段により送信されてきた、端末識別子と、エンコードされた端末識別子および第2の鍵とを受信する第2の受信手段と、第2の受信手段により受信された、エンコードされた端末識別子および第2の鍵をデコードするデコード手段と、デコード手段によりデコードされて得られた端末識別子と、第2の受信手段により受信された端末識別子とが一致するか否かを確認する確認手段と、デコードされた端末識別子と、受信された端末識別子とが一致すると確認手段により確認された場合、認定装置が有する第3の鍵を用いて第2の鍵の署名を生成する第1の署名手段と、第1の署名手段により生成された第2の鍵の署名を、端末装置に送信する第3の送信手段とを備え、サーバは、端末装置の第2の送信手段により送信されてきた第2の鍵、第2の鍵の署名、および端末識別子を受信する第3の受信手段と、第3の受信手段により受信された第2の鍵の署名、および認定装置が有する第3の鍵に対応する第4の鍵を用いて、第2の鍵が正当であるかを検証する第1の検証手段と、第1の検証手段により第2の鍵が正当であることが検証された場合、端末識別子と第2の鍵を記憶する第2の記憶手段とを備えることを特徴とする。
【0010】
端末装置は、サーバに所定の情報を要求する場合、第1の鍵を用いて、情報を識別する識別情報の署名を生成する第2の署名手段と、第2の署名手段により生成された識別情報の署名、識別情報、および端末識別子を、サーバに送信する第4の送信手段と、第4の送信手段による送信に対してサーバから送信されてきた情報を受信する第4の受信手段とをさらに備えるとともに、サーバは、端末装置の第4の送信手段により送信されてきた、識別情報の署名、識別情報、および端末識別子を受信する第5の受信手段と、第5の受信手段により受信された識別情報の署名と、第5の受信手段により受信された端末識別子に対応する、第2の記憶手段に記憶された第2の鍵とを用いて、識別情報が正当であるかを検証する第2の検証手段と、第2の検証手段により識別情報が正当であることが検証された場合、識別情報に対する情報を端末装置に送信する第5の送信手段とをさらに備えるものとすることができる。
【0011】
情報は、ICカードに関するスクリプトまたは鍵であるものとすることができる。
【0012】
エンコード手段は、端末装置に固有の端末識別子および第2の鍵を、認定装置が有する3の鍵に対応する第4の鍵を用いてエンコードし、デコード手段は、エンコードされた端末装置に固有の端末識別子および第2の鍵を、第3の鍵を用いてデコードするものとすることができる。
【0013】
本発明の第1の情報処理方法は、ICカードに関する情報を管理する端末装置、端末装置に情報を提供するサーバ、および端末装置を証明する認定装置からなる情報処理システムの情報処理方法であって、端末装置は、端末装置に固有の端末識別子と、端末装置が有する第1の鍵に対応する第2の鍵とをエンコードし、エンコードされていない端末識別子と、エンコードされた端末識別子および第2の鍵とを、認定装置に送信し、認定装置は、端末装置から送信されてきた、端末識別子と、エンコードされた端末識別子および第2の鍵とを受信し、受信された、エンコードされた端末識別子および第2の鍵をデコードし、デコードされて得られた端末識別子と、受信された端末識別子とが一致するか否かを確認し、デコードされた端末識別子と、受信された端末識別子とが一致すると確認された場合、認定装置が有する第3の鍵を用いて第2の鍵の署名を生成し、生成された第2の鍵の署名を、端末装置に送信し、端末装置は、認定装置から送信されてきた第2の鍵の署名を受信し、受信された第2の鍵の署名を、端末識別子とともに記憶するよう制御し、第2の鍵、記憶が制御された第2の鍵の署名、および端末識別子をサーバに送信し、サーバは、端末装置から送信されてきた第2の鍵、第2の鍵の署名、および端末識別子を受信し、受信された第2の鍵の署名、および認定装置が有する第3の鍵に対応する第4の鍵を用いて、第2の鍵が正当であるかを検証し、検証により第2の鍵が正当であることが検証された場合、端末識別子と第2の鍵の記憶を制御することを特徴とする。
【0014】
第1の本発明においては、端末装置で、端末装置に固有の端末識別子と、端末装置が有する第1の鍵に対応する第2の鍵とがエンコードされ、エンコードされていない端末識別子と、エンコードされた端末識別子および第2の鍵とが、認定装置に送信される。そして、認定装置で、端末識別子と、エンコードされた端末識別子および第2の鍵とが受信され、エンコードされた端末識別子および第2の鍵がデコードされ、デコードされて得られた端末識別子と、受信された端末識別子とが一致するか否かが確認され、一致すると確認された場合、認定装置が有する第3の鍵を用いて第2の鍵の署名が生成され、端末装置に送信される。また、端末装置で、第2の鍵の署名が受信され、第2の鍵の署名が、端末識別子とともに記憶され、第2の鍵、第2の鍵の署名、および端末識別子がサーバに送信される。さらに、サーバで、第2の鍵、第2の鍵の署名、および端末識別子が受信され、第2の鍵の署名、および認定装置が有する第3の鍵に対応する第4の鍵を用いて第2の鍵が正当であるかが検証され、正当であることが検証された場合、端末識別子と第2の鍵が記憶される。
【0015】
本発明の情報処理装置は、端末装置に固有の端末識別子と、端末装置が有する第1の鍵に対応する第2の鍵とをエンコードするエンコード手段と、エンコードされていない端末識別子と、エンコード手段によりエンコードされた端末識別子および第2の鍵とを、認定装置に送信する第1の送信手段と、第1の送信手段による送信に対して、認定装置から送信されてきた、認定装置が有する第3の鍵を用いて生成された署名である第2の鍵の署名を受信する第1の受信手段と、第1の受信手段により受信された第2の鍵の署名を、端末識別子とともに記憶する記憶手段と、第2の鍵、記憶手段に記憶された第2の鍵の署名、および端末識別子をサーバに送信する第2の送信手段とを備えることを特徴とする。
【0016】
サーバに所定の情報を要求する場合、第1の鍵を用いて、情報を識別する識別情報の署名を生成する署名手段と、署名手段により生成された識別情報の署名、識別情報、および端末識別子を、サーバに送信する第3の送信手段と、第3の送信手段による送信に対してサーバから送信されてきた情報を受信する第2の受信手段とをさらに備えるものとすることができる。
【0017】
情報は、ICカードに関するスクリプトまたは鍵であるものとすることができる。
【0018】
エンコード手段は、認定装置が有する第3の鍵に対応する第4の鍵を用いて、端末装置に固有の端末識別子および第2の鍵をエンコードするものとすることができる。
【0019】
本発明の第2の情報処理方法は、端末装置に固有の端末識別子と、端末装置が有する第1の鍵に対応する第2の鍵とをエンコードするエンコードステップと、エンコードされていない端末識別子と、エンコード手段によりエンコードされた端末識別子および第2の鍵とを、認定装置に送信する第1の送信ステップと、第1の送信ステップの処理による送信に対して、認定装置から送信されてきた、認定装置が有する第3の鍵を用いて生成された署名である第2の鍵の署名を受信する受信ステップと、受信ステップの処理により受信された第2の鍵の署名を、端末識別子とともに記憶するよう制御する記憶制御ステップと、第2の鍵、記憶制御ステップの処理により記憶が制御された第2の鍵の署名、および端末識別子をサーバに送信する第2の送信ステップとを含むことを特徴とする。
【0020】
本発明のプログラムは、端末装置に固有の端末識別子と、端末装置が有する第1の鍵に対応する第2の鍵とをエンコードするエンコードステップと、エンコードされていない端末識別子と、エンコード手段によりエンコードされた端末識別子および第2の鍵とを、認定装置に送信する第1の送信ステップと、第1の送信ステップの処理による送信に対して、認定装置から送信されてきた、認定装置が有する第3の鍵を用いて生成された署名である第2の鍵の署名を受信する受信ステップと、受信ステップの処理により受信された第2の鍵の署名を、端末識別子とともに記憶するよう制御する記憶制御ステップと、第2の鍵、記憶制御ステップの処理により記憶が制御された第2の鍵の署名、および端末識別子をサーバに送信する第2の送信ステップとを含む処理をコンピュータに実行させることを特徴とする。
【0021】
第2の本発明においては、端末装置に固有の端末識別子と、端末装置が有する第1の鍵に対応する第2の鍵とがエンコードされ、エンコードされていない端末識別子と、エンコードされた端末識別子および第2の鍵とが、認定装置に送信される。そして、この送信に対して、認定装置から送信されてきた、認定装置が有する第3の鍵を用いて生成された第2の鍵の署名が受信され、第2の鍵の署名が、端末識別子とともに記憶され、第2の鍵、第2の鍵の署名、および端末識別子がサーバに送信される。
【発明の効果】
【0022】
本発明によれば、端末装置とサーバが容易に認証を行なうことができる。特に、本発明によれば、安全、かつ、容易に端末装置とサーバが情報を授受することができる。また、サーバの管理コストを抑えることができる。
【発明を実施するための最良の形態】
【0023】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が、本明細書に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【0024】
更に、この記載は、本明細書に記載されている発明の全てを意味するものでもない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【0025】
請求項1に記載の情報処理システムは、ICカードに関する情報を管理する端末装置(例えば、図1の端末SAMクライアント11−1)、前記端末装置に情報を提供するサーバ(例えば、図1のサーバ14−1)、および前記端末装置を証明する認定装置(例えば、図1の認定機関13)からなる情報処理システム(例えば、図1の情報処理システム)であって、
前記端末装置は、
前記端末装置に固有の端末識別子(例えば、端末SAM識別子)と、前記端末装置が有する第1の鍵(例えば、端末SAM秘密鍵)に対応する第2の鍵(例えば、端末SAM公開鍵)とをエンコードするエンコード手段(例えば、図16のステップS32の処理を実行する図7のエンコード部204)と、
エンコードされていない前記端末識別子と、前記エンコード手段によりエンコードされた前記端末識別子および前記第2の鍵とを、前記認定装置に送信する第1の送信手段(例えば、図16のステップS33の処理を実行する図7の出力部210)と、
前記第1の送信手段による送信に対して、前記認定装置から送信されてきた第2の鍵の署名(例えば、端末SAM公開鍵の署名)を受信する第1の受信手段(例えば、図16のステップS34の処理を実行する図7の入力部201)と、
前記第1の受信手段により受信された前記第2の鍵の署名を、前記端末識別子とともに記憶する第1の記憶手段(例えば、図16のステップS35の処理を実行する図5の記憶部78)と、
前記第2の鍵、前記第1の記憶手段に記憶された前記第2の鍵の署名、および前記端末識別子を前記サーバに送信する第2の送信手段(例えば、図17のステップS92の処理を実行する図7の出力部210)と
を備え、
前記認定装置は、
前記端末装置の前記第1の送信手段により送信されてきた、前記端末識別子と、エンコードされた前記端末識別子および前記第2の鍵とを受信する第2の受信手段(例えば、図16のステップS51の処理を実行する図10の入力部351)と、
前記第2の受信手段により受信された、エンコードされた前記端末識別子および前記第2の鍵をデコードするデコード手段(例えば、図16のステップS52の処理を実行する図10のデコード部353)と、
前記デコード手段によりデコードされて得られた前記端末識別子と、前記第2の受信手段により受信された前記端末識別子とが一致するか否かを確認する確認手段(例えば、図16のステップS53の処理を実行する図10の主制御部352)と、
デコードされた前記端末識別子と、受信された前記端末識別子とが一致すると前記確認手段により確認された場合、前記認定装置が有する第3の鍵(例えば、認定機関秘密鍵)を用いて前記第2の鍵の署名を生成する第1の署名手段(例えば、図16のステップS55の処理を実行する図10の署名処理部354)と、
前記第1の署名手段により生成された前記第2の鍵の署名を、前記端末装置に送信する第3の送信手段(例えば、図16のステップS56の処理を実行する図10の出力部355)と
を備え、
前記サーバは、
前記端末装置の前記第2の送信手段により送信されてきた前記第2の鍵、前記第2の鍵の署名、および前記端末識別子を受信する第3の受信手段(例えば、図17のステップS71の処理を実行する図13の入力部451)と、
前記第3の受信手段により受信された前記第2の鍵の署名、および認定装置が有する前記第3の鍵に対応する第4の鍵(例えば、認定機関公開鍵)を用いて、前記第2の鍵が正当であるかを検証する第1の検証手段(例えば、図17のステップS72の処理を実行する図13の検証処理部455)と、
前記第1の検証手段により前記第2の鍵が正当であることが検証された場合、前記端末識別子と前記第2の鍵を記憶する第2の記憶手段(例えば、図17のステップS74の処理を実行する図12の記憶部378)と
を備えることを特徴とする。
【0026】
請求項2に記載の情報処理システムの前記端末装置は、
前記サーバに所定の情報を要求する場合、前記第1の鍵を用いて、前記情報を識別する識別情報(例えば、スクリプトID)の署名(例えば、スクリプトIDの署名)を生成する第2の署名手段(例えば、図19のステップS172の処理を実行する図7の署名処理部205)と、
前記第2の署名手段により生成された前記識別情報の署名、前記識別情報、および前記端末識別子を、前記サーバに送信する第4の送信手段(例えば、図19のステップS173の処理を実行する図7の出力部210)と、
前記第4の送信手段による送信に対して前記サーバから送信されてきた前記情報(例えば、スクリプト)を受信する第4の受信手段(例えば、図20のステップS174の処理を実行する図7の入力部201)と
をさらに備えるとともに、
前記サーバは、
前記端末装置の前記第4の送信手段により送信されてきた、前記識別情報の署名、前記識別情報、および前記端末識別子を受信する第5の受信手段(例えば、図19のステップS151の処理を実行する図13の入力部451)と、
前記第5の受信手段により受信された前記識別情報の署名と、前記第5の受信手段により受信された前記端末識別子に対応する、前記第2の記憶手段に記憶された前記第2の鍵とを用いて、前記識別情報が正当であるかを検証する第2の検証手段(例えば、図19のステップS153の処理を実行する図13の検証処理部455)と、
前記第2の検証手段により前記識別情報が正当であることが検証された場合、前記識別情報に対する前記情報(例えば、スクリプトIDに対するスクリプト)を前記端末装置に送信する第5の送信手段(例えば、図19のステップS158の処理を実行する図13の出力部459)と
をさらに備えることを特徴とする。
【0027】
請求項3に記載の情報処理システムの前記情報は、前記ICカードに関するスクリプトまたは鍵(例えば、図3のICカード51との間で利用される共通鍵)である
ことを特徴とする。
【0028】
請求項4に記載の情報処理システムの前記エンコード手段は、前記端末装置に固有の端末識別子および前記第2の鍵を、前記認定装置が有する前記3の鍵に対応する第4の鍵を用いてエンコードし(例えば、図16のステップS32)、
前記デコード手段は、エンコードされた前記端末装置に固有の端末識別子および前記第2の鍵を、前記第3の鍵を用いてデコードする(例えば、図16のステップS52)
ことを特徴とする。
【0029】
請求項5に記載の情報処理方法は、ICカードに関する情報を管理する端末装置(例えば、図1の端末SAMクライアント11−1)、前記端末装置に情報を提供するサーバ(例えば、図1のサーバ14−1)、および前記端末装置を証明する認定装置(例えば、図1の認定機関13)からなる情報処理システム(例えば、図1の情報処理システム)の情報処理方法であって、
前記端末装置は、
前記端末装置に固有の端末識別子(例えば、端末SAM識別子)と、前記端末装置が有する第1の鍵(例えば、端末SAM秘密鍵)に対応する第2の鍵(例えば、端末SAM公開鍵)とをエンコードし(例えば、図16のステップS32)、
エンコードされていない前記端末識別子と、エンコードされた前記端末識別子および前記第2の鍵とを、前記認定装置に送信し(例えば、図16のステップS33)、
前記認定装置は、
前記端末装置から送信されてきた、前記端末識別子と、エンコードされた前記端末識別子および前記第2の鍵とを受信し(例えば、図16のステップS51)、
受信された、エンコードされた前記端末識別子および前記第2の鍵をデコードし(例えば、図16のステップS52)、
デコードされて得られた前記端末識別子と、受信された前記端末識別子とが一致するか否かを確認し(例えば、図16のステップS53)、
デコードされた前記端末識別子と、受信された前記端末識別子とが一致すると確認された場合、前記認定装置が有する第3の鍵(例えば、認定機関秘密鍵)を用いて前記第2の鍵の署名を生成し(例えば、図16のステップS55)、
生成された前記第2の鍵の署名を、前記端末装置に送信し(例えば、図16のステップS56の処理を実行する図10の出力部355)、
前記端末装置は、
前記認定装置から送信されてきた前記第2の鍵の署名(例えば、端末SAM公開鍵の署名)を受信し(例えば、図16のステップS34)、
受信された前記第2の鍵の署名を、前記端末識別子とともに記憶するよう制御し(例えば、図16のステップS35)、
前記第2の鍵、記憶が制御された前記第2の鍵の署名、および前記端末識別子を前記サーバに送信し(例えば、図17のステップS92)、
前記サーバは、
前記端末装置から送信されてきた前記第2の鍵、前記第2の鍵の署名、および前記端末識別子を受信し(例えば、図17のステップS71)、
受信された前記第2の鍵の署名、および前記認定装置が有する前記第3の鍵に対応する第4の鍵(例えば、認定機関公開鍵)を用いて、前記第2の鍵が正当であるかを検証し(例えば、図17のステップS72)、
検証により前記第2の鍵が正当であることが検証された場合、前記端末識別子と前記第2の鍵の記憶を制御する(例えば、図17のステップS74)
ことを特徴とする。
【0030】
請求項6に記載の情報処理装置は、ICカードに関する情報を提供するサーバおよび認定装置と情報を授受する情報処理装置(例えば、図1の端末SAMクライアント11−1)であって、
前記端末装置に固有の端末識別子(例えば、端末SAM識別子)と、前記端末装置が有する第1の鍵(例えば、端末SAM秘密鍵)に対応する第2の鍵(例えば、端末SAM公開鍵)とをエンコードするエンコード手段(例えば、図16のステップS32の処理を実行する図7のエンコード部204)と、
エンコードされていない前記端末識別子と、前記エンコード手段によりエンコードされた前記端末識別子および前記第2の鍵とを、前記認定装置に送信する第1の送信手段(例えば、図16のステップS33の処理を実行する図7の出力部210)と、
前記第1の送信手段による送信に対して、前記認定装置から送信されてきた、前記認定装置が有する第3の鍵を用いて生成された署名である第2の鍵の署名(例えば、端末SAM公開鍵の署名)を受信する第1の受信手段(例えば、図16のステップS34の処理を実行する図7の入力部201)と、
前記第1の受信手段により受信された前記第2の鍵の署名を、前記端末識別子とともに記憶する記憶手段(例えば、図16のステップS35の処理を実行する図5の記憶部78)と、
前記第2の鍵、前記記憶手段に記憶された前記第2の鍵の署名、および前記端末識別子を前記サーバに送信する第2の送信手段(例えば、図17のステップS92の処理を実行する図7の出力部210)と
を備えることを特徴とする。
【0031】
請求項7に記載の情報処理装置は、
前記サーバに所定の情報を要求する場合、前記第1の鍵を用いて、前記情報を識別する識別情報(例えば、スクリプトID)の署名(例えば、スクリプトIDの署名)を生成する署名手段(例えば、図19のステップS172の処理を実行する図7の署名処理部205)と、
前記署名手段により生成された前記識別情報の署名、前記識別情報、および前記端末識別子を、前記サーバに送信する第3の送信手段(例えば、図19のステップS173の処理を実行する図7の出力部210)と、
前記第3の送信手段による送信に対して前記サーバから送信されてきた前記情報(例えば、スクリプト)を受信する第2の受信手段(例えば、図20のステップS174の処理を実行する図7の入力部201)と
をさらに備えることを特徴とする。
【0032】
請求項8に記載の情報処理装置の前記情報は、前記ICカードに関するスクリプトまたは鍵(例えば、図3のICカード51との間で利用される共通鍵)である
ことを特徴とする。
【0033】
請求項9に記載の情報処理装置の前記エンコード手段は、前記認定装置が有する前記第3の鍵に対応する前記第4の鍵を用いて、前記端末装置に固有の端末識別子および前記第2の鍵をエンコードする(例えば、図16のステップS32)
ことを特徴とする。
【0034】
請求項10に記載の情報処理方法は、ICカードに関する情報を提供するサーバおよび認定装置と情報を授受する情報処理装置(例えば、図1の端末SAMクライアント11−1)の情報処理方法であって、
前記端末装置に固有の端末識別子(例えば、端末SAM識別子)と、前記端末装置が有する第1の鍵(例えば、端末SAM秘密鍵)に対応する第2の鍵(例えば、端末SAM公開鍵)とをエンコードするエンコードステップ(例えば、図16のステップS32)と、
エンコードされていない前記端末識別子と、前記エンコード手段によりエンコードされた前記端末識別子および前記第2の鍵とを、前記認定装置に送信する第1の送信ステップ(例えば、図16のステップS33)と、
前記第1の送信ステップの処理による送信に対して、前記認定装置から送信されてきた、前記認定装置が有する第3の鍵を用いて生成された署名である第2の鍵の署名(例えば、端末SAM公開鍵の署名)を受信する受信ステップ(例えば、図16のステップS34)と、
前記受信ステップの処理により受信された前記第2の鍵の署名を、前記端末識別子とともに記憶するよう制御する記憶制御ステップ(例えば、図16のステップS35)と、
前記第2の鍵、前記記憶制御ステップの処理により記憶が制御された前記第2の鍵の署名、および前記端末識別子を前記サーバに送信する第2の送信ステップ(例えば、図17のステップS92)と
を含むことを特徴とする。
【0035】
請求項11に記載のプログラムは、ICカードに関する情報を処理するプログラムであって、
前記端末装置に固有の端末識別子(例えば、端末SAM識別子)と、前記端末装置が有する第1の鍵(例えば、端末SAM秘密鍵)に対応する第2の鍵(例えば、端末SAM公開鍵)とをエンコードするエンコードステップ(例えば、図16のステップS32)と、
エンコードされていない前記端末識別子と、前記エンコード手段によりエンコードされた前記端末識別子および前記第2の鍵とを、前記認定装置に送信する第1の送信ステップ(例えば、図16のステップS33)と、
前記第1の送信ステップの処理による送信に対して、前記認定装置から送信されてきた、前記認定装置が有する第3の鍵を用いて生成された署名である第2の鍵の署名(例えば、端末SAM公開鍵の署名)を受信する受信ステップ(例えば、図16のステップS34)と、
前記受信ステップの処理により受信された前記第2の鍵の署名を、前記端末識別子とともに記憶するよう制御する記憶制御ステップ(例えば、図16のステップS35)と、
前記第2の鍵、前記記憶制御ステップの処理により記憶が制御された前記第2の鍵の署名、および前記端末識別子を前記サーバに送信する第2の送信ステップ(例えば、図17のステップS92)と
を含む処理をコンピュータに実行させることを特徴とする。
【0036】
以下、図を参照して、本発明の実施の形態について説明する。
【0037】
図1は、本発明を適用した情報処理システムの全体の構成例を示す図である。
【0038】
端末SAM(Secure Application Module)クライアント(端末装置)11−1乃至11−3は、それぞれネットワーク12に接続されている。また、ネットワーク12には、認定機関(認定局とも称する)13、並びにサーバ(サーバ装置)14−1乃至14−3が接続されている。
【0039】
サーバ14−1はサービス提供者Aが運営しており、サーバ14−2はサービス提供者Bが運営しており、サーバ14−3はサービス提供者Cが運営している。すなわち、サーバ14−1乃至14−3は、それぞれ異なるサービス提供者により運営されている。ネットワーク12は、例えば、LAN(Local Area Network)である。認定装置は、認定機関(認定局)13により司られる装置であり、実際には、認定装置により各種の処理が実行されるが、本実施の形態においては、認定機関13が実行する処理として称する。
【0040】
なお、以下において、端末SAMクライアント11−1乃至11−3を個々に区別する必要がない場合、端末SAMクライアント11と称し、サーバ14−1乃至14−3を個々に区別する必要がない場合、サーバ14と称する。また、サービス提供者A、B、およびCを個々に区別する必要がない場合、サービス提供者と称する。
【0041】
認定機関13は、端末SAMクライアント11を、サービス提供者に対して認定する機関(局)である。例えば、認定機関13は、端末SAMクライアント11からの要求に対して、端末SAMクライアント11に、端末SAMクライアント11の公開鍵の署名(認定機関13による、端末SAMクライアント11の公開鍵に対する署名)を発行する。端末SAMクライアント11は、この端末SAMクライアント11の公開鍵の署名を、サーバ14に送信し、サーバ14は、端末SAMクライアント11の公開鍵の署名を検証することで(すなわち、端末SAMクライアント11の公開鍵が正当であることを検証することで)、端末SAMクライアント11が認定された端末(正当)であることを確認する。サービス提供者(サーバ14)は、端末SAMクライアント11が認定機関13により認定されている場合に、端末SAMクライアント11に対して鍵やスクリプトを送信する。
【0042】
端末SAMクライアント11は、複数のスクリプトを記憶することができ、スクリプトを実行して図示せぬICカードにアクセスする。例えば、端末SAMクライアント11は、スクリプトを実行し、ICカード内のデータを更新する。そして、端末SAMクライアント11は、スクリプトの実行結果などを、ネットワーク12を介して、対応するサービスを提供しているサーバ14に送信する。なお、ネットワーク12がオフラインである場合、端末SAMクライアント11は、スクリプトの実行結果を保持しておき、オンラインになったとき、その実行結果を、ネットワーク12を介してサーバ14に送信する。
【0043】
サーバ14はまた、図2に示されるようにSAM21と内部のネットワーク22を介して接続されている。SAM21は、サーバ14からの要求に応じて、端末SAMクライアント11に送信するためのデータ(スクリプトや鍵)を生成し、生成したデータを適宜、管理している鍵情報に基づいて暗号化し、サーバ14等を介して、端末SAMクライアント11に供給する。このようにサーバ14は、SAM21と接続されてデータの授受を行い、ネットワーク12(図1)を介して端末SAMクライアント11にデータを送信しているが、この部分については本発明と直接関係はないため、以下においては、全てサーバ14における処理として説明する。すなわち、サーバ14がデータを送信する場合には、実際にはSAM21との間においてデータの授受も行われているが、本実施の形態においては、SAM21における処理もサーバ14が実行する処理として説明する。なお、図2のネットワーク22は、ネットワーク12と同じネットワークでもよい。
【0044】
次に、端末SAMクライアント11の機能的構成例を説明する。図3は、図1の端末SAMクライアント11の機能的構成例を示すブロック図である。
【0045】
端末SAMクライアント11は、制御端末41、端末SAM42、およびICカードリーダライタアンテナ43の機能的構成を有する。
【0046】
制御端末41は、例えばPOS(Point Of Sales)端末である。制御端末41は、ICカード51に対してデータを更新する指令を出したり、ICカード51から読み出されたデータを、ネットワーク12(図1)を介してサーバ14に送信する。
【0047】
ICカードリーダライタアンテナ43は、外部のICカード51と非接触により通信を行い、ICカードに記憶されている各種のデータの読み出しや、データの書き込みを行なう。例えば、ICカードリーダライタアンテナ43は、ICカード51に記憶されているICカード51に固有の識別番号やICカード51に蓄積されている金額などのデータを読み出す。またICカードリーダライタアンテナ43は、ICカード51と非接触により通信を行い、ICカード51に蓄積されている金額などのデータを書き換える(更新する)。なお、本実施の形態では、ICカード51とICカードリーダライタアンテナ43とが非接触式であるとして説明したが、ICカードとICカードリーダライタアンテナとが接触式であってもよい。
【0048】
端末SAM42は、ICカードリーダライタアンテナ43から供給されたデータを暗号化したり、サーバ14の認定を得るために、認定機関13に対して、端末SAM42の公開鍵の署名を要求するよう制御するとともに、サーバ14に端末SAM公開鍵の署名を送信するよう制御する。また、端末SAM42は、スクリプトを実行したり、各種の暗号鍵を生成したり、スクリプトの実行結果をログとして保存する。すなわち端末SAM42は、端末SAMクライアント11内のデータをセキュアに管理する。
【0049】
図4は、図3の端末SAM42のハードウエアの構成例を示すブロック図である。
【0050】
CPU(Central Processing Unit)71、ROM(Read Only Memory)72、およびRAM(Random Access Memory)73は、内部バス74を介して相互に接続されている。この内部バス74にはまた、入出力インターフェース75も接続されている。
【0051】
CPU71は、ROM72に記憶されているプログラム、または、記憶部78からRAM73にロードされたプログラムに従って各種の処理を実行する。RAM73にはまた、CPU71が各種の処理を実行する上で必要なデータなどが適宜記憶される。
【0052】
入出力インターフェース75には、電子錠、DIP(Dual Inline Package)スイッチ、キーボード、マウスなどよりなる入力部76、状態を表示するランプ、7セグLED(Light Emitting Diode)、CRT,LCD(Liquid Crystal Display)、スピーカなどよりなる出力部77、ハードディスクなどより構成される記憶部78、モデム、ターミナルアダプタなどより構成される通信部79、ICカードリーダライタ80が接続されている。通信部79は、RS232Cのシリアル通信やLAN、を含む各種のネットワークを介しての通信処理を行なう。制御端末41との間のデータの授受は、通信部79を介して行われる。端末SAM42に対する指令は、通信部79を介して行なわれるようにしてもよい。ICカードリーダライタ80には、メモリ(図示せず)が内蔵されており、カードのデータはメモリに保存され、ICカード51との間の近距離間の通信は、ICカードリーダライタアンテナ43を介して行われる。
【0053】
入出力インターフェース75にはまた、必要に応じてドライブ81が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどよりなるリムーバブルメディア91が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部78にインストールされる。
【0054】
上述した図3の機能的構成例と対応付けると、図4のCPU71が後述する所定の処理を実行することで端末SAMの機能を有する。
【0055】
図5は、記憶部78に記憶される、端末SAM42(図4)に関する情報の例を説明する図である。すなわち、図5は、端末SAM42が処理を実行するために用いられる情報(データ)の例を示している。
【0056】
記憶部78には、端末SAM42に関する情報として、外部入出力ロジック121、公開秘密鍵ロジック122、サーバ証明書フォルダ123、端末SAM固有情報124、スクリプト実行情報125、スクリプトフォルダ126、端末SAM共通情報127、およびログフォルダ128が記憶されている。
【0057】
外部入出力ロジック121は、外部入出力に関するインターフェース処理を実行するためのロジックである。
【0058】
公開秘密鍵ロジック122は、暗号化、復号、署名、検証、および鍵ペア生成などの処理を実行するためのロジックである。具体的には、公開秘密鍵ロジック122は、図6に示されるような情報で構成されている。
【0059】
図6において、公開秘密鍵ロジック122には、暗号化手順191、復号手順192、鍵ペア生成手順193、署名手順194、および検証手順195が含まれている。暗号化手順191には、データを暗号化するための手順が記述されており、復号手順192には、暗号化されているデータを復号するための手順(暗号化手順191に対応する手順)が記述されている。鍵ペア生成手順193には、端末SAM42の公開鍵と秘密鍵を生成するための手順が記述されている。署名手順194には、所定のデータに署名を付すための手順が記述されており、検証手順195には、署名が付されたデータを検証するための手順が記述されている。このように公開秘密鍵ロジック122には、公開鍵と秘密鍵に関するロジックが含まれている。図6の例の場合、端末SAM42に関する公開秘密鍵ロジック122であるので、ここでいう公開鍵は端末SAM42の公開鍵であり、秘密鍵は端末SAM42の秘密鍵である。
【0060】
図5に戻って、サーバ証明書フォルダ123には、サーバID131、サーバ公開鍵132、およびURL(Uniform Resource Locator)133が含まれている。サーバID131は、サーバ14に固有のID(識別する識別情報)であり、このサーバIDによりサーバ14(サービス提供者)を特定することができる。すなわち、端末SAM42が図1のサーバ14−1乃至14−3のサーバからサービスの提供を受ける状態では、サーバ証明書フォルダ123に、サーバID131、サーバ公開鍵132、およびURL133の組み合わせが3つ登録されていることになる。このサーバIDは、端末SAM42が付すサーバに固有のIDである。サーバ公開鍵132は、サーバID131により特定されるサーバ14の公開鍵であり、サーバ131に対応付けられている。URL133は、サーバID131により特定されるサーバ14にアクセスするためのURLであり、サーバID131に対応付けられている。サーバ証明書フォルダ123の情報は、後述する処理で取得される。
【0061】
端末SAM固有情報124には、端末SAM識別子141、端末SAM公開鍵の署名142、端末SAM公開鍵143、および端末SAM秘密鍵144が含まれている。端末SAM識別子141は、端末SAM42を識別する(すなわち、端末SAMクライアント11を識別する)識別子であり、端末SAM42のそれぞれに固有である。すなわち、端末SAM識別子141によれば、端末SAMクライアント11−1乃至端末SAMクライアント11−3を識別することができる。端末SAM公開鍵の署名142は、サーバ14が、端末SAM42が認定機関に設定されていることを検証するための署名である。端末SAM公開鍵143と端末SAM秘密鍵144は、公開秘密鍵ロジック122を用いて実行される処理(後述する処理)で生成される、端末SAM42の公開鍵と秘密鍵である。端末SAM公開鍵143と端末SAM秘密鍵144は鍵ペアであり、端末SAM秘密鍵144で署名したデータは、端末SAM公開鍵143によってのみ、そのデータが正当であるかを検証することができる。端末SAM公開鍵143で暗号化したデータは、端末SAM秘密鍵144によってのみ復号することができ、逆に、端末SAM秘密鍵144で暗号化したデータは、端末SAM公開鍵143によってのみ復号することができる。また、端末SAM秘密鍵144を保持する端末SAM42は、その秘密鍵を他へ漏らさない機能を有する。
【0062】
スクリプト実行情報125は、スクリプトを実行するための情報である。例えば、スクリプトフォルダ126に格納されているスクリプト153を実行するための情報である。
【0063】
スクリプトフォルダ126には、サーバID151、スクリプトID152が含まれ、さらにサーバID151、スクリプトID152に関連付けられてスクリプト153が含まれている。サーバID151は、サーバ証明書フォルダ123に含まれるサーバIDと基本的に同様である。すなわち、サーバ14−1に付されたサーバIDであれば、サーバID131とサーバID151は同じとなる。スクリプトID152は、スクリプト153を識別するための、同じサーバIDのスクリプトにおいて一意のIDである。これらのスクリプトフォルダ126に記憶される情報は、後述する処理でサーバ14から取得される情報である。スクリプトフォルダ126には、サーバID151、スクリプトID152、およびスクリプト153の組み合わせが複数(スクリプトの個数分)登録される。
【0064】
端末SAM共通情報127には、認定機関公開鍵161とエンコード手順162が含まれている。認定機関公開鍵161は、認定機関13が配布する認定機関13の公開鍵である。エンコード手順162は、認定機関13と端末SAM42との間であらかじめ定められた(例えば、製造メーカによって定められた)エンコード手順であり、端末SAM42の製造時に格納される情報である。すなわち、端末SAM共通情報127は、あらかじめ端末SAM42に設定されている情報である。
【0065】
ログフォルダ128には、ログ171が含まれている。このログ171は、スクリプトの実行結果である。より具体的には、ログ171としては、スクリプトの実行結果に時刻情報と署名が付加された、スクリプト実行結果付加情報が記憶される。
【0066】
すなわち、図5において、外部入出力ロジック121、公開秘密鍵ロジック122、端末SAM固有情報124の端末SAM識別子141、スクリプト実行情報125、端末SAM共通情報127の認定機関公開鍵161、および端末SAM共通情報127のエンコード手順162が、あらかじめ記憶部78に記憶されており、その他のサーバ証明書フォルダ123(サーバID131、サーバ公開鍵132、およびURL133)、端末SAM固有情報124の端末SAM公開鍵の署名142、端末SAM公開鍵143、および端末SAM秘密鍵144、スクリプトフォルダ126(サーバID151、スクリプトID152、およびスクリプト153)、並びにログフォルダ128(ログ171)は、適宜以下の処理において記憶部78に記憶される。
【0067】
次に、図3の端末SAM42の機能的構成例を説明する。図7は、図3の端末SAM42の機能的構成例を示すブロック図である。なお、図7の機能的構成は、図4の端末SAMクライアント11のCPU71が、記憶部78に記憶された図5の情報を用いて各種の処理を実行することで実現される。
【0068】
図7において、端末SAM42には、入力部201、主制御部202、鍵ペア生成部203、エンコード部204、署名処理部205、検証処理部206、暗号化部207、復号部208、スクリプト実行部209、および出力部210が設けられている。
【0069】
入力部201は、データの入力を受け付け、受け付けたデータを主制御部202に供給する。例えば、入力部201は、ICカードリーダライタアンテナ43から供給されたデータや、制御端末41から供給されたデータを受け付け、これを主制御部202に供給する。入力部201は、図5を用いて説明した外部入出力ロジック121に対応している。より具体的には、入力部201は、図5の外部入出力ロジック121をCPU71(図4)が実行することで実現される。
【0070】
主制御部202は、各部を制御する。鍵ペア生成部203は、主制御部202からの制御に基づいて、端末SAM公開鍵143と端末SAM秘密鍵144(図5)のペアを生成する。鍵ペア生成部203は、公開秘密鍵ロジック122の鍵ペア生成手順193(図6)をCPU71(図4)が実行することで実現される。エンコード部204は、主制御部202からの制御に基づいて、データを所定の方式でエンコードする。エンコード部204は、あらかじめ製造メーカによって設定された方式でデータをエンコードするものであり、図5を用いて説明したエンコード手順162に沿った処理をCPU71(図4)が実行することで実現される。
【0071】
署名処理部205は、主制御部202からの制御に基づいて、所定のデータに対する署名を生成する。例えば、端末SAM秘密鍵144を用いて、所定のデータの署名を生成する。署名処理部205は、公開秘密鍵ロジック122の署名手順194(図6)に沿った処理をCPU71(図4)が実行することで実現される。検証処理部206は、主制御部202からの制御に基づいて、署名を検証する処理を実行する。検証処理部206は、公開秘密鍵ロジック122の検証手順195(図6)に沿った処理をCPU71(図4)が実行することで実現される。
【0072】
暗号化部207は、主制御部202からの制御に基づいて、データを暗号化する。暗号化部207は、公開秘密鍵ロジック122の暗号化手順191(図6)に沿った処理をCPU71(図4)が実行することで実現される。復号部208は、主制御部202からの制御に基づいて、暗号化されたデータを復号する。復号部208は、公開秘密鍵ロジック122の復号手順192(図6)に沿った処理をCPU71(図4)が実行することで実現される。
【0073】
スクリプト実行部209は、主制御部202からの制御に基づいて、スクリプトを実行する。例えば、スクリプト実行部209は、主制御部202からの制御に基づいて、記憶部78(図5)に記憶されたスクリプト153(図5)を実行する。スクリプト実行部209は、スクリプト実行情報125(図5)に基づく処理をCPU71(図4)が実行することで実現される。
【0074】
出力部210は、主制御部202からの制御に基づいて、データを出力する。例えば、出力部210は、制御端末41にデータを出力したり、ICカードリーダライタアンテナ43にデータを出力する。出力部210は、図5を用いて説明した外部入出力ロジック121に基づく処理をCPU71(図4)が実行することで実現される。
【0075】
図8は、図1の認定機関13のハードウエアの構成例を示すブロック図である。
【0076】
CPU251、ROM252、およびRAM253は、内部バス254を介して相互に接続されている。この内部バス254にはまた、入出力インターフェース255も接続されている。
【0077】
CPU251は、ROM252に記憶されているプログラム、または、記憶部258からRAM253にロードされたプログラムに従って各種の処理を実行する。RAM253にはまた、CPU251が各種の処理を実行する上で必要なデータなどが適宜記憶される。
【0078】
入出力インターフェース255には、キーボード、マウスなどよりなる入力部256、CRT,LCD、スピーカなどよりなる出力部257、ハードディスクなどより構成される記憶部258、モデム、ターミナルアダプタなどより構成される通信部259が接続されている。通信部259は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行なう。
【0079】
入出力インターフェース255にはまた、必要に応じてドライブ261が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどよりなるリムーバブルメディア271が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部258にインストールされる。
【0080】
図9は、図8の記憶部258に記憶される情報の例を説明する図である。
【0081】
記憶部258には、認定機関13が本実施の形態に記載された処理を実行するために利用される情報として、外部入出力ロジック301、公開秘密鍵ロジック302、認定機関情報303、端末SAM証明書フォルダ304、デコード手順305が記憶されている。
【0082】
外部入出力ロジック301は、外部入出力に関するインターフェース処理を実行するためのロジックである。
【0083】
公開秘密鍵ロジック302は、暗号化、復号、署名、検証、および鍵ペア生成などの処理を実行するためのロジックである。公開鍵ロジック302の詳細な構成は、上述した図6と同様であるのでその説明を省略するが、以下においては、図6を、公開秘密鍵ロジック302としても引用する。認定機関13により扱われる公開鍵は、認定機関13の公開鍵であり、秘密鍵は認定機関13の秘密鍵である。
【0084】
認定機関情報303には、認定機関公開鍵311、認定機関秘密鍵312が含まれている。認定機関公開鍵311は、図5の認定機関公開鍵161と同じである。より具体的には、認定機関13で生成された認定機関公開鍵311が、端末SAM42に送信され、記憶されたものが、図5の認定機関公開鍵161である。認定機関公開鍵311と認定機関秘密鍵312は鍵ペアであり、認定機関秘密鍵312で署名したデータは、認定機関公開鍵311によってのみ、そのデータが正当であるかを検証することができる。認定機関公開鍵311で暗号化したデータは、認定機関秘密鍵312によってのみ復号することができ、逆に、認定機関秘密鍵312で暗号化したデータは、認定機関公開鍵311によってのみ復号することができる。また、認定機関秘密鍵312を保持する認定機関13は、その秘密鍵を他へ漏らさない機能を有する。
【0085】
端末SAM証明書フォルダ304には、端末SAM識別子321と端末SAM公開鍵322が含まれる。この端末SAM識別子321によれば、端末SAMクライアント11を特定することができる。すなわち、端末SAM識別子321によれば、同じ端末SAM識別子141(図5)を有する端末SAM42を特定することができる。端末SAM公開鍵322は、端末SAM識別子321に対応して記憶される、端末SAM識別子321により特定される端末SAM42の公開鍵である。すなわち、図9の端末SAM識別子321が図5の端末SAM識別子141と同じである場合、図9の端末SAM公開鍵322と図5の端末SAM公開鍵143は同じとなる。なお、これらの端末SAM識別子321と端末SAM公開鍵322は、後述する処理で取得される。認定機関13が複数の端末SAM42に対して署名を発行した場合には、その発行した数だけ、端末SAM識別子321と端末SAM公開鍵322が登録される。
【0086】
デコード手順305は、認定機関13と端末SAM42との間であらかじめ定められた(例えば、製造メーカによって定められた)デコード手順であり、認定機関13の製造時に格納される情報である。このデコード手順305は、図5の端末SAM共通情報127のエンコード手順162に対応している。すなわち、エンコード手順162を用いてエンコードされたデータは、デコード手順305によりデコードすることができる。このエンコード、デコードの方法は、認定機関13と端末SAM42の間で規定された独自の手順であるので、この方法でエンコードされたデータを、外部の機器が入手したとしても、容易にエンコードすることはできない。これにより、認定機関13と端末SAM42の間の秘匿性を高めることができる。
【0087】
すなわち、図9において、外部入出力ロジック301、公開秘密鍵ロジック302、認定機関情報303、およびデコード手順305が、あらかじめ記憶部258に記憶されており、端末SAM証明書フォルダ304(端末SAM識別子321と端末SAM公開鍵322)は、適宜以下の処理において記憶部258に記憶される。
【0088】
次に、図8の認定機関13の機能的構成例を説明する。図10は、図8の認定機関13の機能的構成例を示すブロック図である。なお、図10の機能的構成は、図8の認定機関13のCPU251が、記憶部258に記憶された図9の情報を用いて各種の処理を実行することで実現される。
【0089】
図10において、認定機関13には、入力部351、主制御部352、デコード手順353、署名処理部354、および出力部355が設けられている。
【0090】
入力部351は、データの入力を受け付け、受け付けたデータを主制御部352に供給する。例えば、入力部351は、ネットワーク12を介して端末SAMクライアント11から供給されたデータや、サーバ14から供給されたデータを受け付け、これを主制御部352に供給する。入力部351は、図9を用いて説明した外部入出力ロジック301に対応している。より具体的には、入力部351は、図9の外部入出力ロジック301をCPU251(図8)が実行することで実現される。
【0091】
主制御部352は、各部を制御する。デコード部353は、主制御部352からの制御に基づいて、エンコードされているデータを所定の方式でデコードする。デコード部353は、あらかじめ製造メーカによって設定された方式でデータをデコードするものであり、図9を用いて説明したデコード手順305に沿った処理をCPU251(図8)が実行することで実現される。
【0092】
署名処理部354は、主制御部352からの制御に基づいて、所定のデータの署名を生成する。例えば、署名処理部354は、認定機関秘密鍵312を用いて、所定のデータの署名を生成する。署名処理部354は、公開秘密鍵ロジック302の署名手順194(図6)に沿った処理をCPU251(図8)が実行することで実現される。
【0093】
出力部355は、主制御部352からの制御に基づいて、データを出力する。例えば、出力部355は、ネットワーク12を介して端末SAMクライアント11やサーバ14にデータを出力する。出力部355は、図9を用いて説明した外部入出力ロジック301に基づく処理をCPU25(図8)が実行することで実現される。
【0094】
図11は、図1のサーバ14のハードウエアの構成例を示すブロック図である。
【0095】
CPU371、ROM372、およびRAM373は、内部バス374を介して相互に接続されている。この内部バス374にはまた、入出力インターフェース375も接続されている。
【0096】
CPU371は、ROM372に記憶されているプログラム、または、記憶部378からRAM373にロードされたプログラムに従って各種の処理を実行する。RAM373にはまた、CPU371が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【0097】
入出力インターフェース375には、キーボード、マウスなどよりなる入力部376、CRT,LCD、スピーカなどよりなる出力部377、ハードディスクなどより構成される記憶部378、モデム、ターミナルアダプタなどより構成される通信部379が接続されている。通信部379は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行なう。
【0098】
入出力インターフェース375にはまた、必要に応じてドライブ381が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどよりなるリムーバブルメディア391が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部378にインストールされる。
【0099】
図12は、図11の記憶部378に記憶される情報の例を説明する図である。
【0100】
記憶部378には、サーバ14が本実施の形態に記載された処理を実行するために利用される情報として、外部入出力ロジック401、公開秘密鍵ロジック402、プログラム実行情報403、サービス提供者固有情報404、スクリプトフォルダ405、端末SAM証明書フォルダ406、およびサービス提供者共通情報407が記憶されている。
【0101】
外部入出力ロジック401は、外部入出力に関するインターフェース処理を実行するためのロジックである。
【0102】
公開秘密鍵ロジック402は、暗号化、復号、署名、検証、および鍵ペア生成などの処理を実行するためのロジックである。公開鍵ロジック402の詳細な構成は、上述した図6と同様であるのでその説明を省略するが、以下においては、図6を、公開秘密鍵ロジック402としても引用する。サーバ14(サービス提供者)により扱われる公開鍵は、サーバ14の公開鍵であり、秘密鍵はサーバ14の秘密鍵である。
【0103】
プログラム実行情報403は、プログラムを実行するための情報である。例えば、スクリプトフォルダ405に格納されているプログラム423を実行するための情報である。
【0104】
サービス提供者固有情報404には、URL411、サーバ公開鍵412、サーバ秘密鍵413が含まれている。このURL411は、サーバ14(例えば、サーバ14−1のサービス提供者A)にアクセスするためのURLである。URL411が、図5のURL133と同じである場合、サーバ公開鍵412も、図5のサーバ公開鍵132と同じである。すなわち、URLとサーバ公開鍵は対応している。具体的には、図1のサーバ14−1にアクセスするためのURLとサーバ公開鍵は対になっている。サーバ秘密鍵413は、サーバ14の秘密鍵である。なお、サーバ秘密鍵413は、個々のサーバ(サービス提供者)によってそれぞれ異なる秘密鍵とされている。すなわち、図1のサーバ14−1のサーバ秘密鍵、サーバ14−2のサーバ秘密鍵、およびサーバ14−3のサーバ秘密鍵は、それぞれ異なる秘密鍵とされる。これらのサービス提供者固有情報404は、あらかじめ記憶されている。サーバ公開鍵412とサーバ秘密鍵413は鍵ペアであり、サーバ秘密鍵413で署名したデータは、サーバ公開鍵412によってのみ、そのデータが正当であるかを検証することができる。サーバ公開鍵412で暗号化したデータは、サーバ秘密鍵413によってのみ復号することができ、逆に、サーバ秘密鍵413で暗号化したデータは、サーバ公開鍵412によってのみ復号することができる。また、サーバ秘密鍵413を保持するサーバ14は、その秘密鍵を他へ漏らさない機能を有する。
【0105】
スクリプトフォルダ405には、スクリプトID421、スクリプト422、およびプログラム423が含まれている。スクリプトID421には、スクリプト422とプログラム423が対応付けられている。すなわち、スクリプトID421が特定された場合、そのスクリプトIDに対応するスクリプト422またはプログラム423に対して所定の処理が実行される。例えば、実行要求とともにスクリプトIDが送信されてきた場合、そのスクリプトIDに対応するプログラムがサーバ14において実行される。これらのスクリプトフォルダ405の内容は、適宜、サービス提供者Aによって追加、更新されるものであったり、あらかじめ記憶されているものである。すなわち、スクリプトID421、スクリプト422およびプログラム423の組み合わせは、複数登録されることがある。
【0106】
端末SAM証明書フォルダ406には、端末SAM識別子431と端末SAM公開鍵432が含まれている。この端末SAM証明書フォルダ406は、図9の端末SAM証明書フォルダ304に対応しており、同じ端末SAMクライアント11の端末SAM証明書フォルダであれば、その内容は同一である。なお、これらの端末SAM識別子321と端末SAM公開鍵322は、後述する処理で取得される。また、情報の提供を行なう端末SAM42の数の分だけ、端末SAM識別子321と端末SAM公開鍵322の組み合わせが登録される。
【0107】
サービス提供者共通情報407には、認定機関公開鍵441が含まれている。認定機関公開鍵441は、上述した図9の認定機関公開鍵311と同じものである。より具体的には、認定機関13で生成された認定機関公開鍵311が、端末SAM42に送信され、記憶された図5の認定機関公開鍵161と、サーバ14に送信され、記憶された図12の認定機関公開鍵441である。
【0108】
すなわち、図12において、外部入出力ロジック401、公開秘密鍵ロジック402、プログラム実行情報403、サービス提供者固有情報404、スクリプトフォルダ405、およびサービス提供者共通情報407が、あらかじめ記憶部378に記憶されており、端末SAM証明書フォルダ406(端末SAM識別子431と端末SAM公開鍵432)は、適宜以下の処理において記憶部78に記憶される。
【0109】
次に、図11のサーバ14の機能的構成例を説明する。図13は、図11のサーバ14の機能的構成例を示すブロック図である。なお、図13の機能的構成は、図11のサーバ14のCPU371が、記憶部378に記憶された図12の情報を用いて各種の処理を実行することで実現される。
【0110】
図13において、サーバ14には、入力部451、主制御部452、鍵ペア生成部453、署名処理部454、検証処理部455、暗号化部456、復号部457、プログラム実行部458、および出力部459が設けられている。
【0111】
入力部451は、データの入力を受け付け、受け付けたデータを主制御部452に供給する。例えば、入力部451は、ネットワーク12を介して端末SAMクライアント11から供給されたデータや、認定機関13から供給されたデータを受け付け、これを主制御部452に供給する。入力部451は、図12を用いて説明した外部入出力ロジック401に対応している。より具体的には、入力部451は、図12の外部入出力ロジック401をCPU371(図11)が実行することで実現される。
【0112】
主制御部452は、各部を制御する。鍵ペア生成部453は、主制御部452からの制御に基づいて、サーバの公開鍵(サーバ公開鍵412)とサーバの秘密鍵(サーバ秘密鍵413)のペアを生成する。鍵ペア生成部453は、公開秘密鍵ロジック402の鍵ペア生成手順193(図6)をCPU371(図11)が実行することで実現される。
【0113】
署名処理部454は、主制御部452からの制御に基づいて、所定のデータの署名を生成する。例えば、署名処理部454は、サーバ秘密鍵を用いて、所定のデータの署名を生成する。署名処理部454は、公開秘密鍵ロジック402の署名手順194(図6)に沿った処理をCPU371(図11)が実行することで実現される。検証処理部455は、主制御部452からの制御に基づいて、署名を検証する処理を実行する。検証処理部455は、公開秘密鍵ロジック402の検証手順195(図6)に沿った処理をCPU371(図11)が実行することで実現される。
【0114】
暗号化部456は、主制御部452からの制御に基づいて、データを暗号化する。暗号化部456は、公開秘密鍵ロジック402の暗号化手順191(図6)に沿った処理をCPU371(図4)が実行することで実現される。復号部457は、主制御部452からの制御に基づいて、暗号化されたデータを復号する。復号部457は、公開秘密鍵ロジック402の復号手順192(図6)に沿った処理をCPU371(図11)が実行することで実現される。
【0115】
プログラム実行部458は、主制御部452からの制御に基づいてプログラムを実行する。例えば、プログラム実行部458は、主制御部452からの制御に基づいて、記憶部378(図12)に記憶されたプログラム423を実行する。プログラム実行部458は、プログラム実行情報403(図12)に基づく処理をCPU371(図11)が実行することで実現される。
【0116】
出力部459は、主制御部452からの制御に基づいて、データを出力する。例えば、出力部459は、ネットワーク12を介して端末SAMクライアント11にデータを出力したり、認定機関13にデータを出力する。出力部459は、図12を用いて説明した外部入出力ロジック401に基づく処理をCPU371(図11)が実行することで実現される。
【0117】
次に、図14を参照して、以下の処理で行われる署名や検証、暗号化の詳細な例について説明する。なお、以下、本明細書では、E(A,B)を、鍵AでデータBを暗号化することを表わし、D(P,Q)を、鍵PでデータQを復号することを表わすものとする。また、暗号と復号は、どちらか前者を後者に作用させるという表現で統一することができる。さらに、H(M)は、データMをハッシュ関数プログラムで圧縮したことを表わすものとする。
【0118】
図14において、送り手側(a)は、送り手側(a)の秘密鍵Ksa、および受け手側(b)の公開鍵Kpbを有しており、受け手側(b)は、受け手側(b)の秘密鍵Ksb、および送り手側(a)の公開鍵Kpaを有している。ここで、送り手側(a)で、文書(M)501を送信する場合について説明する。
【0119】
送り手側では、まず、文書(M)501を、公開鍵暗号化方式を用いて送信する。具体的には、ステップS1において、送り手は、受け手の公開鍵Kpbで文書(M)501を暗号化する。すなわち、送り手は「E(Kpb,M)」を演算する。そして、送り手は、ステップS2において、暗号文「E(Kpb,M)」を受け手に送信する。
【0120】
受け手は、この暗号文「E(Kpb,M)」を受け取ると、ステップS3において、これを、受け手の秘密鍵Ksbで復号し(「D(Ksb,E(Kpb,M))」を演算し)、もとの文書(M)501を得る。また、受け手は、ステップS3の処理で得たもとの文書(M)501を、ステップS4においてハッシュ関数プログラムで圧縮する(メッセージダイジェスト「H(M)」を演算する)。
【0121】
一方、送り手は、ステップS5において、文書(M)501を、ハッシュ関数プログラムで圧縮し(メッセージダイジェスト「H(M)」を演算し)、ステップS6において、メッセージダイジェスト「H(M)」を、送り手の秘密鍵Ksaで暗号化する。すなわち、送り手は「E(Ksa,H(M))」を演算する。この「E(Ksa,H(M))」がいわゆる、文書(M)501の送り手によるデジタル署名である。送り手は、デジタル署名「E(Ksa,H(M))」を、ステップS7において、受け手に送信する。受け手は、このデジタル署名「E(Ksa,H(M))」を受け取ると、ステップS8において、送り手の公開鍵Kpaでこれを復号し(D(Kpa,E(Ksa,H(M)))を演算し)、メッセージダイジェストH(M)を得る。
【0122】
そして、受け手は、ステップS9において、ステップS4の処理で得られたメッセージダイジェストH(M)と、ステップS8の処理で得られたメッセージダイジェストH(M)とを比較し、一致した場合に、メッセージMが正当であると判定する。すなわち、ステップS4の処理で得られたメッセージダイジェストH(M)と、ステップS8の処理で得られたメッセージダイジェストH(M)とが一致した場合、デジタル署名が間違いなく送り手が作成し送信したものと認識される。
【0123】
一般的に、ハッシュ関数プログラムで作成した圧縮データ(メッセージダイジェスト)から、もとの情報を割り出すのは不可能であるので、図14の処理のように、デジタル署名を利用することで、送り手の否認、受け手の改ざん、平文(文書)の改ざんを防止することができる。また、受け手は送り手の身元を確認することができる。
【0124】
すなわち、受け手が送り手の公開鍵でデジタル署名を復号できたということは(ステップS8)、そのデジタル署名は、送り手の秘密鍵で暗号化されたものということがわかる。換言すれば、そのデジタル署名のもととなるメッセージダイジェストH(M)も送り手により生成されたものということがわかる。そして、このメッセージダイジェストH(M)と、受け手が受信した情報から生成したメッセージダイジェストH(M)(ステップS4)が一致すれば、ステップS4でメッセージダイジェストH(M)を生成した場合に元となったもとの文書(M)は、間違いなく送り手のものである。
【0125】
なお、以下においては、図14の処理のように詳細な説明は省略し、デジタル署名、その認証については簡単に説明していくが、実際には、図14に示されるような処理が実行されるものとする。また、以下において、署名付きメッセージは、図15に示される構成とされるものとして説明する。
【0126】
次に、デジタル署名の構成についてさらに説明する。図15は、署名付きメッセージの簡単な構成を示す図である。
【0127】
図15において、もとの文書(送信した文書)をメッセージMとした場合、メッセージMの署名は、メッセージMをハッシュ関数プログラムで圧縮し(H(M)を演算し)、その値を、送信元の秘密鍵Ksで暗号化したものとなる。すなわち、E(Ks,H(M))がメッセージMの署名となる。一般的には、このメッセージMとともにメッセージMの署名があわせて送られることで、そのメッセージMの認証度を高めている。
【0128】
なお、以下においては、メッセージMと送信元の秘密鍵Ksとを、図15の例を用いて適宜説明する。
【0129】
次に、図16のフローチャートを参照して、図7の端末SAM42(端末SAMクライアント11)が、図10の認定機関13で認定して貰う処理について説明する。なお、この処理は、端末SAM42と認定機関13により実行される処理であり、端末SAM42に認定の指令が入力されたとき、または、最初に端末SAM42(端末SAMクライアント11)の電源がオンされたとき開始される。
【0130】
ステップS31において、端末SAM42の鍵ペア生成部203は、主制御部202からの制御に基づいて、端末SAM公開鍵143と端末SAM秘密鍵144を生成する。生成された端末SAM公開鍵143と端末SAM秘密鍵144は、図5の端末SAM固有情報124に記憶される。
【0131】
ステップS32において、エンコード部204は、主制御部202からの制御に基づいて、端末SAM公開鍵143と端末SAM識別子141(あらかじめ図5の記憶部78に記憶されている、端末SAM固有情報124の端末SAM識別子141)を、認定鍵公開鍵161でエンコードする。この認定機関公開鍵161は、あらかじめ端末SAM42が取得した(または製造時に格納された)認定機関13の公開鍵である。
【0132】
ステップS33において、出力部210は、主制御部202からの制御に基づいて、エンコードされた端末SAM公開鍵143および端末SAM識別子141と、エンコードされていない端末SAM識別子141とを、ネットワーク12を介して認定機関13に送信する。すなわち、エンコードされていない端末識別子141と、ステップS32の処理でエンコードされた結果とが送信される。なお、本実施の形態では、必要最低限の情報のみしか、送信する情報として記載していないが、実際には、エンコードされていない端末識別子141と、ステップS32の処理でエンコードされた結果の他にも、適宜情報が送信されるようにしてもよい。このことは、以下の処理においても同様である。
【0133】
これに対して、認定機関13の入力部351は、ステップS51において、エンコードされた端末SAM公開鍵143および端末SAM識別子141と、端末SAM識別子141とを、ネットワーク12を介して受信する(受け付ける)。
【0134】
ステップS52において、認定機関13のデコード部353は、エンコードされている端末SAM公開鍵143および端末SAM識別子141を、認定機関秘密鍵312でデコードする。ステップS32の処理で行われるエンコードと、このステップS52の処理で行われるデコードは対応しており、独自に定められたエンコード、およびデコード方法であるので、外部の他の機器によりエンコードされたデータが取得された場合においても、データの解析を防ぐことができる。
【0135】
ステップS53において、主制御部352は、デコードして得られた端末SAM識別子141と、受信した端末SAM識別子141とを確認する。具体的には、デコードして得られた端末SAM識別子141と、ステップS51の処理で受信した端末SAM識別子141とが一致している場合には、処理をステップS54に進め、一致していない場合には、認定していない場合には、確認できなかったものとして処理を終了する(一致していない場合の処理の図示は省略する)。この処理は、端末SAM42が正常な(認定すべき)端末であるかを確認する処理である。
【0136】
ステップS54において、主制御部352は、端末SAM公開鍵143と端末SAM識別子141とを、端末SAM公開鍵322と端末SAM識別子321として、端末SAM証明書フォルダ304に登録する。
【0137】
ステップS55において、署名処理部354は、主制御部352からの制御に基づいて、認定機関秘密鍵312を用いて、端末SAM公開鍵の署名(認定機関13による端末SAM公開鍵に対する署名)を生成する。図15の例の場合、端末SAM公開鍵322がメッセージMであり、送信元の秘密鍵Ksが認定機関秘密鍵312となる。すなわち、署名処理部354は、端末SAM公開鍵322に対してハッシュ関数プログラムで圧縮した結果を、認定機関秘密鍵312で暗号化することで、端末SAM公開鍵の署名を生成する。
【0138】
ステップS56において、出力部355は、主制御部352からの制御に基づいて、生成された端末SAM公開鍵の署名を、ネットワーク12を介して端末SAMクライアント11の端末SAM42に送信する。
【0139】
これに対して端末SAM42の入力部201は、ステップS34において、端末SAM公開鍵の署名を受信する(入力を受け付ける)。
【0140】
ステップS35において、主制御部202は、受信された端末SAM公開鍵の署名を、端末SAM公開鍵の署名142として、端末SAM固有情報124に登録する。このとき、端末SAM固有情報124には、端末SAM識別子141と端末SAM公開鍵の署名142とがペアで保持される。その後処理は終了される。
【0141】
図16の処理により、端末SAM42は、自分自身を証明する端末SAM公開鍵の署名142を認定機関13により発行して貰うことができる。また、端末SAM42と認定機関13との間には独自のエンコード、およびデコード方法が設定されているので、認定機関13は、端末SAM42の能力が正常であることを認識し、署名を発行することができる。
【0142】
なお、図16の例では、認定機関13が署名を発行して送信するようにしたが、端末SAM42の証明書を発行するようにしてもよい(以下の処理においても同様)。この場合、認定機関13は、ステップS55で生成した端末SAM公開鍵の署名と、端末SAM識別子とを合わせて、端末SAM証明書として送信し、端末SAM42は、この証明書を登録する。
【0143】
次に、図17のフローチャートを参照して、図13のサーバ14(サービス提供者)が、図7の端末SAM42(端末SAMクライアント11)が認定されていることを検証する処理を説明する。なお、この処理は、端末SAM42とサーバ14(サービス提供者)により実行される処理であり、端末SAM42に、サービス提供者との間で認定の検証するよう指令が入力されたとき、または、サーバ14から認定の検証が求められたとき、開始される。
【0144】
ステップS91において、端末SAM42の主制御部202は、図5の記憶部78の端末SAM固有情報124から、端末SAM識別子141、端末SAM公開鍵143、および端末SAM公開鍵の署名142を読み出す。
【0145】
ステップS92において、出力部210は、読み出された端末SAM識別子141、端末SAM公開鍵143、および端末SAM公開鍵の署名142を、ネットワーク12を介してサービス提供者であるサーバ14に送信する。すなわち、端末SAM公開鍵の署名142、端末SAM識別子141、および端末SAM公開鍵143の、計3つの情報(を少なくとも含む情報)がサーバ14に送信される。
【0146】
これに対して、サーバ14(サービス提供者)の入力部451は、ステップS71において、端末SAM識別子141、端末SAM公開鍵143、および端末SAM公開鍵の署名142を受信する。
【0147】
ステップS72において、検証処理部455は、主制御部452からの制御に基づいて、端末SAM公開鍵143と認定機関公開鍵161(あらかじめ記憶部78に記憶されている認定機関公開鍵161)を用いて、端末SAM公開鍵の署名142を検証する。具体的には、図14を用いて上述したように、検証処理部455は、端末SAM公開鍵の署名142を認定機関公開鍵161で復号したものと、端末SAM公開鍵143をハッシュ関数プログラムで圧縮した値が一致するか否かを判定することで検証を行なう。すなわち、検証処理部455は、主制御部452からの制御に基づいて、端末SAM公開鍵の署名142と認定機関公開鍵161を用いて、端末SAM公開鍵143が正当であることを検証する。
【0148】
ステップS73において、検証処理部455は、端末SAM公開鍵143が正当であることが検証されたか否かを判定する。すなわち、検証処理部455は、端末SAM公開鍵の署名を認定機関公開鍵161で復号したものと、端末SAM公開鍵143をハッシュ関数プログラムで圧縮した値が一致する場合に、端末SAM公開鍵143が正当であることが検証されたと判定し、端末SAM公開鍵の署名142を認定機関公開鍵161で復号したものと、端末SAM公開鍵143をハッシュ関数プログラムで圧縮した値が一致しない場合に、正当であることが検証されなかったと判定する。正当であるとことが検証されたと判定された場合、ステップS74において、主制御部452は、端末SAM識別子141と端末SAM公開鍵143とを、端末SAM証明書フォルダ406(図12)に、端末SAM識別子431と端末SAM公開鍵432として登録する。
【0149】
ステップS73において、正当でない(正当であることが検証されなかった)と判定された場合、またはステップS74の処理の後、処理は終了される。
【0150】
図16と図17を経て(図16のステップS53で確認できなかった場合と、ステップS73でNOと判定された場合を除いて)、サービス提供者であるサーバ14は、端末SAM42が、認定機関13によって認定された端末であることを検証することができる。この処理を実行した上で、サーバ14が、端末SAM証明書フォルダ406(図12)に、端末SAM識別子431と端末SAM公開鍵432とを登録することで、サーバ14は、安全に、鍵やスクリプトを認証済みの端末SAMのみに配信することができる。この具体的な例を、以下に順次説明する。
【0151】
最初に図18のフローチャートを参照して、図7の端末SAM42が図13のサーバ14からスクリプトIDを取得し、登録する処理について説明する。なお、この処理は、端末SAM42が、サービス提供者であるサーバ14からスクリプトをダウンロードするために、スクリプトをダウンロードする前提の処理として実行される処理である。
【0152】
ステップS111において、サーバ14の鍵ペア生成部453は、サーバ公開鍵412とサーバ秘密鍵413を生成する。生成されたサーバ公開鍵412とサーバ秘密鍵413は、図12のサービス提供者固有情報404に記憶される。
【0153】
ステップS112において、出力部459は、主制御部452からの制御に基づいて、サーバのURL411、サーバ公開鍵412、およびサーバ14が提供するスクリプトIDを送信する。具体的には、主制御部452は、サーバのURL411をサービス提供者固有情報404から読み出すとともに、サーバが提供するスクリプトID421をスクリプトフォルダ405から読み出し、これと、ステップS111の処理で生成したサーバ公開鍵412とをあわせて、送信するよう出力部459を制御する。このとき、スクリプトフォルダ405に複数のスクリプトID421(スクリプト422とプログラム423に対応付けられた複数のスクリプトID421)が登録されている場合には、主制御部452は、複数のスクリプトID421を送信するよう制御する。出力部459は、これらのサーバのURL411、サーバ公開鍵412、およびサーバが提供する(複数の)スクリプトIDを、ネットワーク12を介して端末SAM42(端末SAMクライアント11)に送信する。
【0154】
これに対して、端末SAM42の入力部201(図7)は、ステップS131において、サーバのURL411、サーバ公開鍵412、およびサーバ14が提供する(複数の)スクリプトIDを受信する。
【0155】
ステップS132において、主制御部202は、サーバIDを発行する。このサーバIDは、端末SAM42の内部で、サーバ14を一意に特定するためのIDである。
【0156】
ステップS133において、主制御部202は、サーバ証明書フォルダ123に、ステップS132の処理で発行したサーバID、ステップS131の処理で受信したサーバ公開鍵412、およびサーバのURL411を、サーバID131、サーバ公開鍵132、およびURL133として登録する。このとき、サーバID131、サーバ公開鍵132およびURL133が対応付けられて登録されるので、複数のサービス提供者からサービスを受ける場合においても、端末SAM42は対応することができる。
【0157】
ステップS134において、主制御部202は、スクリプトフォルダ126に、サーバIDとスクリプトIDを対応する数だけ登録する。具体的には、ステップS132の処理で発行したサーバIDと、ステップS131の処理で受信されたスクリプトIDとを、サーバID151、スクリプトID152として、スクリプトフォルダ126に登録する。例えば、ステップS131の処理でスクリプトIDを3つ受信した場合(すなわち、サービス提供者がスクリプトを3つ提供する場合)、サーバIDにそれぞれのスクリプトIDが対応付けられたものが合計3つ登録される。このとき、サーバID151は全て同じサーバIDとされる。換言すれば、1つのサーバ14との間で図18の処理が実行された場合にサーバ証明書フォルダ123に登録されるサーバID131と、スクリプトフォルダ126に登録されるサーバID151は同じサーバID(ステップS132で発行されたサーバID)である。その後、処理は終了される。
【0158】
図18の処理により、サーバID131(サーバID151と同じID)、サーバ公開鍵132、およびサーバ14のURL133が対応付けられるとともに、サーバID151(サーバID131と同じID)とスクリプトID152が対応付けられるため、端末SAM42において、スクリプトID152に対応するサーバID151(サーバID131)を特定することができ、また、サーバID131(サーバID151)に対応するサーバ公開鍵132、サーバ14のURL133を特定することができる。
【0159】
次に、図19と図20のフローチャートを参照して、図7の端末SAM42が、サービス提供者である図13のサーバ14からスクリプトをダウンロードする場合の処理について説明する。なお、この処理は、端末SAMクライアント11の管理者(例えば、端末SAMクライアント11を管理している店舗の店長)が、端末SAM42に対して、スクリプトのダウンロード(更新)を指令したとき開始される。また、図18の処理の後実行される処理である。
【0160】
ステップS171において、端末SAM42の主制御部202(図7)は、端末SAM42の管理者からの、サーバIDとスクリプトIDの指定と、(スクリプトの)ダウンロードの要求を、図7の入力部201(図4の入力部76)を介して受け付ける。すなわち、端末SAM42の管理者は、ダウンロードするスクリプトのサーバIDとスクリプトIDの指定とともに、ダウンロードの要求を、端末SAM42に対して指令する。サーバIDやスクリプトIDは、上述した図18の処理で登録されたものである。
【0161】
ステップS172において、端末SAM42の署名処理部206は、指定されたスクリプトIDと端末SAM秘密鍵を用いて、スクリプトIDの署名(端末SAM42によるスクリプトIDに対する署名)を生成する。例えば、ステップS171の処理で指定されたスクリプトIDが、図5のスクリプトID152である場合、署名処理部206は、スクリプトID152をハッシュ関数プログラムで圧縮するとともに端末SAM秘密鍵144で暗号化することで、スクリプトIDの署名を生成する。図15の例の場合、メッセージMがスクリプトID152であり、送信元の秘密鍵Ksが端末SAM秘密鍵144である。
【0162】
ステップS173において、出力部210は、主制御部202からの制御に基づいて、サーバIDにより特定されるURLに対して、暗号化した端末SAM識別子およびスクリプトIDと、スクリプトIDの署名とを送信する。すなわち、スクリプトIDの署名と、暗号化された結果(端末識別子とスクリプトID)とが送信される。具体的には、暗号化部207がサーバ公開鍵(ステップS171の処理で指定されたサーバID131に対応するサーバ公開鍵132)を用いて、端末SAM識別子141およびスクリプトID152を暗号化し、出力部210が、ステップS171の処理で指定されたサーバID131(またはサーバID151)により特定されるURL133に対して、暗号化した端末SAM識別子141およびスクリプトID152(ステップS171の処理で指定されたスクリプトID)と、ステップS172の処理で生成されたスクリプトIDの署名とを送信する。
【0163】
これに対して、サーバ14の入力部451は、ステップS151において、暗号化された端末SAM識別子141およびスクリプトID152と、スクリプトIDの署名とを受信する。すなわち、このサーバ14のURL411(図12)は、ステップS173の処理で特定されたURL133と同じURLである。そして、復号部457は、サーバ秘密鍵413を用いて、暗号化されている端末SAM識別子141およびスクリプトID152を復号し、端末SAM識別子141とスクリプトID152を得る。
【0164】
ステップS152において、主制御部452は、ステップS151の処理で復号して得られた端末SAM識別子141と同じ端末SAM識別子431に対する端末SAM公開鍵432を、端末証明書フォルダ406から取得する。端末SAM証明書フォルダ406に格納されている情報は、図16と図17を参照して説明したように、認定機関13により認定されたものである。
【0165】
ステップS153において、検証処理部455は、主制御部452からの制御に基づいて、スクリプトID152と端末SAM公開鍵432を用いて、スクリプトIDの署名を検証する。具体的には、スクリプトID152をハッシュ関数プログラムで圧縮した値を、端末SAM公開鍵432で暗号化したものと、スクリプトIDの署名が一致するか否かにより検証を行なう。すなわち、検証処理部455は、主制御部452からの制御に基づいて、スクリプトIDの署名と端末SAM公開鍵432を用いて、スクリプトIDが正当であることを検証する。
【0166】
ステップS154において、検証処理部454は、スクリプトID152が正当であることが検証されたか否かを判定し、正当であることが検証されなかったと判定した場合、処理を終了し、正当であることが検証されたと判定した場合、処理をステップS155に進める。
【0167】
ステップS155において、主制御部452は、スクリプトフォルダ405から、スクリプトID152と同じスクリプトID421に対応するスクリプト422を取得する。例えば、スクリプトフォルダ405に複数のスクリプトIDとそれに対応するスクリプトが登録されていた場合には、主制御部452は、正当であることが検証されたスクリプトID(ステップS151の処理で受信したスクリプトID)と同じスクリプトIDに対応するスクリプトを取得する。
【0168】
ステップS156において、署名処理部454は、主制御部452からの制御に基づいて、取得したスクリプト422とサーバ秘密鍵413を用いて、スクリプトの署名(サーバ14によるスクリプトに対する署名)を生成する。具体的には、取得したスクリプト422をハッシュ関数プログラムで圧縮し、その値をサーバ秘密鍵413で暗号化することで、スクリプトの署名を生成する(図15の例の場合、メッセージMがスクリプト422であり、送信元の秘密鍵Ksがサーバ秘密鍵413である)。なお、スクリプトの署名(サーバ14によるスクリプトに対する署名)は、あらかじめ署名処理部454が生成し、記憶しておくようにし、ステップS156の処理で読み出すようにしてもよい。
【0169】
ステップS157において、暗号化部456は、主制御部452からの制御に基づいて、ステップS155の処理で取得したスクリプト422を、端末SAM公開鍵432により暗号化する。
【0170】
ステップS158において、出力部459は、主制御部452からの制御に基づいて、ステップS156の処理で生成されたスクリプトの署名と、ステップS157の処理で暗号化されたスクリプトとを、ネットワーク12を介して端末SAM42に送信する。
【0171】
これに対して、端末SAM42の入力部201は、ステップS174において、主制御部202からの制御に基づいて、スクリプトの署名と、端末SAM公開鍵432により暗号化されたスクリプトを受信する。
【0172】
ステップS175において、復号部208は、主制御部202からの制御に基づいて、端末SAM公開鍵432により暗号化されたスクリプトを、端末SAM秘密鍵144で復号する。
【0173】
ステップS176において、検証処理部206は、主制御部202からの制御に基づいて、復号して得られたスクリプトと、サーバ公開鍵132(ステップS171の所定で受け付けたサーバID131に対応するサーバ公開鍵132)とを用いて、受信されたスクリプトの署名を検証する。署名の検証の詳細は、図14を用いて上述したので省略する。すなわち、検証処理部206は、主制御部202からの制御に基づいて、スクリプトの署名とサーバ公開鍵132を用いて、スクリプトが正当であることを検証する。
【0174】
ステップS177において、検証処理部454は、スクリプトが正当であることが検証されたか否かを判定し、正当であることが検証されなかったと判定した場合、処理を終了する。正当であることが検証されたと判定された場合、処理はステップS178に進む。
【0175】
ステップS178において、主制御部202は、正当であることが検証されたスクリプト422を、スクリプトフォルダ126のサーバID151とスクリプトID152に対応したスクリプト153として登録し、処理を終了する。このスクリプト153は、図19のステップS171で指定されたスクリプトIDに対応するスクリプトである。
【0176】
図19と図20の処理により、端末SAM42において、サーバID、スクリプトID、およびスクリプトのダウンロードが要求された場合に、安全、かつ、確実に対応するスクリプトをサービス提供者であるサーバ14から取得することができる。
【0177】
次に、図7の端末SAM42において、スクリプトの実行が指令された場合における処理について説明する。図7の端末SAM42にスクリプトIDの指定とともにスクリプトの実行が指令された場合、スクリプトIDに対応するスクリプトを、端末SAM42がダウンロードしていない場合(すなわち、実行が指令されたスクリプトについて、図19と図20の処理がまだ行われていない場合)や、既に、実行が指令されたスクリプトを端末SAM42がダウンロードしている場合(すなわち、実行が指令されたスクリプトについて、図19と図20の処理が既に行われている場合)が考えられる。前者を図21と図22のフローチャートを参照して説明し、後者を図23のフローチャートを参照して説明する。
【0178】
図21と図22は、端末SAM42にスクリプトの実行が指令された場合であって、まだサーバ14から実行が指令されたスクリプトを取得していない場合における処理を説明するフローチャートである。この処理は、端末SAMクライアント11の管理者(例えば、端末SAMクライアント11を管理している店舗の店長)が、端末SAM42に対して、スクリプトの実行を指令したとき開始される。
【0179】
端末SAM42の主制御部202(図7)は、ステップS211において、端末SAM42の管理者からの、サーバID、スクリプトID、およびパラメータの指定、並びにスクリプトの実行要求を、入力部201を介して受け付ける。すなわち、端末SAM42の管理者は、実行するスクリプトのサーバID、スクリプトID、およびパラメータの指定とともに、スクリプトの実行要求を、端末SAM42に対して指令する。パラメータとしては、例えば、サービス提供者Aが提供しているICカードの使用と、そのICカードから100円消費することを示す値が指定される。なお、サーバIDやスクリプトIDは、上述した図18の処理で登録されたものである。
【0180】
ステップS212において、主制御部202は、スクリプトフォルダ126において、ステップS211の処理で受け付けたサーバIDとスクリプトIDに対応するスクリプトを検索する。図5のスクリプトフォルダ126には、1つのサーバID151とスクリプトID152に対応するスクリプト153しか登録されていないが、実際には、この他に、サーバIDとスクリプトIDのみのもの(すなわち、スクリプトが登録されていないもの)なども複数登録されている。そのため、この処理では、実行が要求されたサーバIDとスクリプトIDに対応するスクリプトが、スクリプトフォルダ126に登録されているか否かが検索される。図21と図22の処理の例では、スクリプトフォルダ126に、サーバIDとスクリプトIDに対応するスクリプトがないので、以下の処理では、そのスクリプトIDに対応する処理を、サービス提供者に対して要求する。
【0181】
ステップS213において、端末SAM42の署名処理部206は、指定されたスクリプトIDと端末SAM秘密鍵144を用いて、スクリプトIDの署名を生成する。この処理は図19のステップS172と同様である。なお、スクリプトIDの署名は、署名処理部206によりあらかじめ生成し、記憶しておくようにしてもよい。この場合、ステップS213の処理で、記憶しておいたスクリプトIDの読み出しが行われる。
【0182】
ステップS214において、暗号化部207は、主制御部202からの制御に基づいて、ステップS211の処理で受け付けられたサーバIDに対応するサーバ公開鍵を用いて、スクリプトID、パラメータ、および端末SAM識別子を暗号化する。ステップS211の処理で受け付けられたサーバIDが、図5のサーバID131と同じであった場合、暗号化部207は、サーバ公開鍵132を用いて、スクリプトID、パラメータ(サービス提供者Aが提供しているICカードで100円消費することを示すパラメータ)、および端末SAM識別子141を暗号化する。
【0183】
ステップS215において、出力部210は、主制御部202からの制御に基づいて、サーバID131により特定されるURL133に対して、スクリプトIDの署名と、暗号化した「スクリプトID、パラメータ、および端末SAM識別子141」とを送信する。
【0184】
これに対して、URL133に対応するサーバ14(サービス提供者)の入力部451は、ステップS191において、スクリプトIDの署名と、暗号化された「スクリプトID、パラメータ、および端末SAM識別子141」とを受信する。
【0185】
ステップS192において、復号部457は、主制御部452からの制御に基づいて、暗号化された「スクリプトID、パラメータ、および端末SAM識別子141」をサーバ秘密鍵413で復号する。
【0186】
ステップS193において、主制御部452は、端末SAM識別子141(復号し、得られた端末SAM識別子141)により特定される端末SAM公開鍵を取得する。具体的には、主制御部452は、復号して得られた端末SAM識別子141と同じ端末SAM識別子431により特定される、端末SAM公開鍵432を取得する。
【0187】
ステップS194において、検証処理部455は、スクリプトIDと端末SAM公開鍵432を用いて、スクリプトIDの署名を検証する。具体的には、スクリプトIDをハッシュプログラムで圧縮した値と、スクリプトIDの署名(ステップS191の処理で受信したスクリプトIDの署名を端末SAM公開鍵432で復号した値とが、一致するか否かにより、スクリプトIDの署名が正当であるか否かが判定される。すなわち、スクリプトIDが改ざんされていないか否かが判定される。
【0188】
ステップS195において、検証処理部455は、スクリプトIDが正当であることが検証されたか否かを判定し、正当であることが検証されなかったと判定した場合、処理を終了する。ステップS195において、スクリプトIDが正当であることが検証されたと判定された場合、処理はステップS196に進む。
【0189】
ステップS196において、主制御部452は、ステップS192の処理で復号した結果得られたスクリプトIDに基づいて、図12のスクリプトフォルダ405からプログラムを特定する。例えば、主制御部452は、得られたスクリプトIDがスクリプトID421と同じであった場合、このスクリプトIDに対応付けられているプログラム423を特定する。
【0190】
ステップS197において、プログラム実行部458は、パラメータに基づいてプログラムを実行し、実行結果を生成する。例えば、プログラム実行部458は、サーバ14がサービスを提供しているICカードで100円使用したというパラメータに基づいて、プログラム423を実行し、その実行結果を生成する。
【0191】
このように、処理能力が高いサーバ14側では、スクリプトIDに対してプログラムが実行され、処理能力が比較的低い端末SAM42側では、スクリプトIDに対してスクリプトが実行される。
【0192】
ステップS198において、署名処理部454は、主制御部452からの制御に基づいて、プログラム実行結果とサーバ秘密鍵413を用いて、プログラム実行結果の署名(サーバ14によるプログラム実行結果に対する署名)を生成する。図15の例の場合、メッセージMがプログラム実行結果であり、送信元の秘密鍵がサーバ秘密鍵413である。
【0193】
ステップS199において、主制御部452は、端末SAM証明書フォルダ406から端末SAM識別子431(ステップS192で復号して得られた端末SAM識別子と同じ端末SAM識別子431)により特定される端末SAM公開鍵432を取得する。
【0194】
ステップS200において、暗号化部456は、主制御部452からの制御に基づいて、プログラム実行結果を、端末SAM公開鍵で暗号化する。
【0195】
ステップS201において、出力部459は、プログラム実行結果の署名(ステップS198の処理で生成された署名)と、暗号化されたプログラム実行結果(ステップS200の処理で暗号化されたプログラム実行結果)を、端末SAM42に送信する。
【0196】
これに対して、端末SAM42の入力部201は、ステップS216において、プログラム実行結果の署名と、暗号化されたプログラム実行結果とを受信する。
【0197】
ステップS217において、復号部208は、暗号化されたプログラム実行結果を、端末SAM秘密鍵144で復号する。これによりプログラム実行結果が得られる。
【0198】
ステップS218において、検証処理部206は、プログラム実行結果とサーバ公開鍵132(ステップS211で受け付けられたサーバID131に対応するサーバ公開鍵132)とを用いて、プログラム実行結果の署名を検証する。すなわち、検証処理部206は、主制御部202からの制御に基づいて、プログラム実行結果の署名とサーバ公開鍵132とを用いて、プログラム実行結果が正当であることを検証する。
【0199】
ステップS219において、検証処理部206は、プログラム実行結果が正当であることが検証されたか否かを判定し、正当であることが検証されなかったと判定した場合、処理を終了する。ステップS219において、正当であることが検証されたと判定された場合、処理はステップS220に進み、出力部210は、主制御部202からの制御に基づいて、プログラム実行結果を出力する。例えば、出力部210は、図示せぬディスプレイなどに出力することで、端末SAM42の管理者に実行結果を通知する。その後、処理は終了される。
【0200】
次に、図7の端末SAM42にスクリプトIDの指定とともにスクリプトの実行が指令された場合、実行が指令されたスクリプトを端末SAM42がダウンロードしている場合(すなわち、実行が指令されたスクリプトについて、図19と図20の処理が既に行われている場合)の処理(すなわち、上述した後者の場合の処理)を、図23のフローチャートを参照して説明する。
【0201】
端末SAM42の主制御部202(図7)は、ステップS251において、端末SAM42の管理者からの、サーバIDおよびスクリプトIDの指定、並びにスクリプトの実行要求を、図6の入力部256を介して受け付ける。すなわち、端末SAM42の管理者は、実行するスクリプトのサーバIDとスクリプトIDの指定とともに、スクリプトの実行要求を、端末SAM42に対して指令する。このスクリプトの実行要求には、パラメータ(例えば、サービス提供者Aが提供しているICカードの使用と、そのICカードから100円消費することを示すパラメータ)が含まれる。
【0202】
ステップS252において、主制御部202は、スクリプトフォルダ126において、ステップS251の処理で受け付けたサーバIDとスクリプトIDに対応するスクリプトを検索する。図23の処理の例では、スクリプトフォルダ126に、サーバID151とスクリプトID152に対応するスクリプト153があるとされ、以下の処理では、そのスクリプトID152に対応する処理が実行される。
【0203】
ステップS253において、端末SAM42のスクリプト実行部209は、指定されたスクリプト(ステップS252の処理で検索された結果特定されたスクリプト)153を実行する。
【0204】
ステップS254において、主制御部202は、ICカードにアクセスするか否かを判定する。例えば、ステップS251の処理で実行が要求されたスクリプトが、ICカードにアクセスするべき内容のスクリプトである場合には、アクセスすると判定される。
【0205】
ステップS254において、ICカードにアクセスすると判定された場合、ステップS255において、出力部210は、ICカードリーダライタアンテナ43(図3)に対して、アクセスの指令を送信する。このとき、スクリプトの実行に対応するパラメータなど(例えば、100円分の金額を減算することを示すパラメータ)もあわせて送信される。なお、スクリプト記述内にICカード51へのアクセスの指令が複数記述されている場合には、出力部210は、ICカードリーダライタアンテナ43(図3)に対して、複数回のアクセスの指令を送信する。また、スクリプト記述内にICカードへのアクセスの指令の他、制御端末41やサーバ14へのアクセスの指令が複数記述されている場合には、出力部210は、制御端末41やサーバ14に対して、それぞれアクセスの指令を送信する(またはアクセスする)。
【0206】
これに対して、ICカードリーダライタアンテナ43は、ステップS231において、端末SAM42の出力部210からの指令を受け付け、ステップS232において、ICカード(図3のICカード51)にアクセスする。
【0207】
そして、ICカードリーダライタアンテナ43は、ステップS233において、アクセスした結果(例えば、ICカード51から100円分の金額を減算が成功したことを示す結果)を、端末SAM42に対して送信する。
【0208】
これに対して、端末SAM42の入力部201は、ステップS256において、アクセスした結果(100円の金額の減算が成功したことを示す結果)を受信する。
【0209】
ステップS254においてICカードにアクセスしないと判定された場合、またはステップS256の処理の後、ステップS257において、スクリプト実行部209は、スクリプト実行結果を生成し、出力部210は、これを出力する。出力部210は、例えば、図示せぬディスプレイなどに出力することで、端末SAM42の管理者に実行結果を通知する。その後、処理は終了される。
【0210】
図21乃至図23により、スクリプト実行時に、対応するスクリプトがダウンロードされていれば、端末SAM42内でスクリプトを実行し、対応するスクリプトがダウンロードされていなければサーバ14(サービス提供者)に対して実行を要求することで、端末SAM42の管理者が、スクリプトIDを指定するだけで、端末SAM42におけるスクリプトのダウンロードの有無にかかわらずスクリプトIDに対応する処理を実行することができる。
【0211】
次に、図24のフローチャートを参照して、端末SAM42がスクリプト実行中に、制御端末41にアクセスを行なう場合の処理の例を説明する。なお、この処理は、例えば、図23のステップS253において、スクリプトを実行するときに開始される処理である。
【0212】
ステップS291において、端末SAM42のスクリプト実行部209は、実行中のスクリプトに制御端末41とのメッセージ交換要求が記述されているか否かを判定する。制御端末41とのメッセージ交換要求が記述されていると判定された場合、ステップS292において、出力部210は、主制御部202からのスクリプト実行部209を介する制御に基づいて、スクリプトに記述された制御端末アクセス記述を、制御端末41(図3)に送信する。この制御端末アクセス記述は、制御端末41において実行させる処理に関する記述とされる。なお、スクリプト記述内に制御端末41へのアクセスの指令が複数記述されている場合には、出力部210は、制御端末41に対して複数回、アクセス記述を送信する。また、スクリプト記述内に制御端末アクセス記述の他、ICカード51やサーバ14へのアクセスの指令が複数記述されている場合には、出力部210は、ICカードリーダライタ43やサーバ14に対して、それぞれアクセスの指令を送信する(またはアクセスする)。
【0213】
これに対して、制御端末41(図3)は、ステップS271において、制御端末アクセス記述を受信する。
【0214】
ステップS272において、制御端末41は、受信した制御端末アクセス記述に基づく処理を実行し、制御端末アクセス記述結果を生成する。そして制御端末41は、ステップS273において、制御端末アクセス記述結果を、端末SAM42に対して送信する。
【0215】
これに対して、端末SAM42の入力部201は、ステップS293において、制御端末アクセス記述結果を受信し、ステップS294において、主制御部202は、制御端末アクセス記述結果を、スクリプト実行部209に戻す。
【0216】
ステップS291において、スクリプトに制御端末41とのメッセージ交換要求が記述されていないと判定された場合、またはステップS294の処理の後、処理は終了される。
【0217】
図24の処理により、スクリプト実行中に制御端末41とのメッセージ交換要求が記述されている場合においても、端末SAM42は、制御端末41との間でメッセージを交換することができる。
【0218】
次に、図25と図26のフローチャートを参照して、スクリプト実行中にサーバ14に対してアクセスを行なう場合の処理の例を説明する。なお、この処理は、例えば、図23のステップS253において、スクリプトを実行するときに開始される処理である。
【0219】
ステップS331において、端末SAM42のスクリプト実行部209は、主制御部202からの制御に基づいて、実行中のスクリプトにサーバ14とのメッセージ交換要求が記述されているか否かを判定する。例えば、対応するICカードで12万円の商品を購入するためのスクリプトが実行されている場合であって、そのICカードの限度額が10万円である場合、対応するスクリプトの記述は、サーバ14へのメッセージ交換要求の記述である。サーバ14とのメッセージ交換要求が記述されていると判定された場合、ステップS332において、出力部210は、主制御部202からのスクリプト実行部209を介する制御に基づいて、実行中のスクリプトに対応するサーバIDに基づいて、サーバ公開鍵とURLを取得する。例えば、主制御部202は、実行中のスクリプトが図5のスクリプト153である場合、このスクリプトID152のサーバID151と同じサーバIDであるサーバID131に対応するサーバ公開鍵132とURL133を取得する。
【0220】
ステップS333において、署名処理部205は、主制御部202からの制御に基づいて、端末SAM秘密鍵144を用いて、サーバアクセス記述とスクリプトIDの署名(端末SAM42によるサーバアクセス記述とスクリプトIDに対する署名)を生成する。図15の例の場合、メッセージMがサーバアクセス記述とスクリプトIDであり、送信元の秘密鍵Ksが端末SAM秘密鍵144である。
【0221】
ステップS334において、暗号化部207は、主制御部202からの制御に基づいて、サーバアクセス記述とスクリプトIDをサーバ公開鍵132(ステップS332の処理で取得されたサーバ公開鍵132)で暗号化する。
【0222】
ステップS335において、出力部210は、主制御部202からの制御に基づいて、サーバアクセス記述とスクリプトIDの署名(ステップS333で生成された署名)、暗号化したサーバアクセス記述とスクリプトID(ステップS334)、および端末SAM識別子141をURL133に対して送信する。すなわち、端末SAM識別子141、暗号化された情報(サーバアクセス記述とスクリプトID)、および署名(サーバアクセス記述とスクリプトIDの署名)の3つが送信される。
【0223】
これに対して、サービス提供者であるサーバ14の入力部451は、ステップS311において、サーバアクセス記述とスクリプトIDの署名、暗号化されたサーバアクセス記述とスクリプトID、および端末SAM識別子141を受信する(入力を受け付ける)。
【0224】
ステップS312において、復号部457は、主制御部452からの制御に基づいて、暗号化されたサーバアクセス記述とスクリプトIDをサーバ秘密鍵(図12のサーバ秘密鍵413)で復号する。
【0225】
ステップS313において、主制御部452は、ステップS311の処理で受信された端末SAM識別子141により特定される端末SAM公開鍵を取得する。例えば、端末SAM識別子141と図12の端末SAM識別子431が同じである場合、端末SAM識別子431により特定される端末SAM公開鍵432が取得される。
【0226】
ステップS314において、検証処理部455は、主制御部452からの制御に基づいて、サーバアクセス記述およびスクリプトIDの署名と、ステップS313の処理で取得された端末SAM公開鍵432を用いて、サーバアクセス記述およびスクリプトIDを検証する。具体的には、サーバアクセス記述とスクリプトIDに対してハッシュ関数プログラムで圧縮した結果を、サーバ秘密鍵413で暗号化した結果と、サーバアクセス記述とスクリプトIDの署名が一致するか否かが検証される。すなわち、検証処理部455は、主制御部452からの制御に基づいて、サーバアクセス記述およびスクリプトIDの署名と、サーバ秘密鍵413とを用いて、サーバアクセス記述およびスクリプトIDが正当であることを検証する。
【0227】
ステップS315において、サーバアクセス記述とスクリプトIDが正当であることが検証されたか否かが判定され、正当であることが検証されなかったと判定された場合、処理は終了される。ステップS315において、サーバアクセス記述とスクリプトIDが正当であることが検証されたと判定された場合、ステップS316において、サーバ14のプログラム実行部458は、主制御部452からの制御に基づいて、正当であることが検証されたサーバアクセス記述に基づいて、処理を実行し、サーバアクセス記述結果を生成する。
【0228】
ステップS317において、署名処理部454は、主制御部452からの制御に基づいて、サーバ秘密鍵413を用いて、サーバアクセス記述結果の署名(サーバ14によるサーバアクセス記述結果に対する署名)を生成する。
【0229】
ステップS318において、暗号化部456は、主制御部452からの制御に基づいて、サーバアクセス記述結果を、ステップS313の処理で取得された端末SAM公開鍵432で暗号化する。
【0230】
ステップS319において、出力部459は、主制御部452からの制御に基づいて、サーバアクセス記述結果の署名(ステップS317)と、暗号化したサーバアクセス記述結果(ステップS318)とを、端末SAM42に送信する。
【0231】
これに対して、端末SAM42の入力部201は、ステップS336において、サーバアクセス記述結果の署名と、暗号化したサーバアクセス記述結果とを受信する。
【0232】
ステップS337において、復号部208は、主制御部202からの制御に基づいて、暗号化されているサーバアクセス記述結果を、端末SAM秘密鍵144で復号する。
【0233】
ステップS338において、検証処理部206は、主制御部202からの制御に基づいて、サーバアクセス記述結果とサーバ公開鍵132(ステップS334の処理で用いたサーバ公開鍵と同じ公開鍵)を用いてサーバアクセス記述結果の署名を検証する(上述した検証の処理と同様)。すなわち、検証処理部206は、主制御部202からの制御に基づいて、サーバアクセス記述結果の署名と、サーバ公開鍵132とを用いて、サーバアクセス記述結果が正当であることを検証する。
【0234】
ステップS339において、検証処理部206は、サーバアクセス記述結果が正当であることが検証されたか否かを判定し、正当であることが検証されたと判定された場合、ステップS340において、主制御部202は、サーバアクセス記述結果をスクリプト実行部209に戻し、処理を終了する。またステップS339において、正当であることが検証されなかったと判定された場合、処理は終了される。
【0235】
図26の処理により、スクリプトの実行途中に、サーバ14にアクセスが必要である場合に、そのメッセージを受け取る受け手側(例えば、サーバ14)の公開鍵で暗号化してサーバ14に送信することで、セキュアにメッセージ交換を行なうことができる。また、スクリプト実行中に、スクリプトに記述された内容に基づいた高度な分岐処理を行なうことができる。
【0236】
次に、サーバ14と端末SAM42がオフラインの状態で、端末SAM42においてスクリプトを実行した後、その処理結果をログとして保存しておき、後で、サーバ14と端末SAM42がオンラインになったときにサーバ14にログをアップロードする場合の処理を、図27と図28を参照して説明する。
【0237】
図27は、端末SAM42とICカードリーダライタアンテナ43(図3)において実行される処理の例を説明するフローチャートである。この処理は、基本的には、図23の処理と対応しており、適宜、図23の処理を流用して説明する。
【0238】
ステップS371乃至ステップS373の処理は、図23のステップS251乃至ステップS253に対応しているのでその説明は省略する。
【0239】
ステップS374において、出力部210は、ICカードリーダライタアンテナ43(図3)に対して、アクセスの指令を送信する。このとき、スクリプトの実行に対応するパラメータなど(例えば、100円分の金額を減算することを示すパラメータ)もあわせて送信される。
【0240】
これに対するICカードリーダライタアンテナ43のステップS351乃至353の処理は、図23のステップS231乃至ステップS233の処理に対応しているのでその説明は省略する。
【0241】
ステップS375において、端末SAM42の入力部201は、アクセスした結果(100円の金額の減算が成功したことを示す結果)を受信する。
【0242】
ステップS376において、スクリプト実行部209は、スクリプト実行結果を生成する。
【0243】
ステップS377において、主制御部202は、スクリプトID(ステップS371で指定されたスクリプトID)、と時刻情報(現在の時刻の情報)を、スクリプト実行結果に付加し、スクリプト実行結果付加情報とする。
【0244】
ステップS378において、署名処理部205は、端末SAM秘密鍵144を用いて、スクリプト実行結果付加情報の署名(図15においてメッセージMがスクリプト実行結果付加情報であり、送信もとの秘密鍵Ksが端末SAM秘密鍵144である)を生成する。
【0245】
ステップS379において、主制御部202は、ステップS378の処理で生成されたスクリプト実行結果付加情報の署名、並びにサーバIDおよびスクリプト実行結果付加情報を、ログフォルダ128のログ171として登録する。
【0246】
図27の処理により、スクリプト実行結果に時刻情報とスクリプトIDが付加されたものがログ171に登録される。この処理は、端末SAM42とサーバ14の間がオフラインであって、スクリプトが実行されるたびに繰り返され、これにより、複数のログがログフォルダ128に登録される。
【0247】
次に、図28のフローチャートを参照して、図27の処理の繰り返しによりログフォルダ128に登録された(複数の)ログ171を、サーバ14に送信する場合の処理を説明する。
【0248】
ステップS411において、端末SAM42の主制御部202は、サーバ14と接続されたか否かを判定し、接続されるまで待機する。すなわち、これ以降の処理は、サーバ14と端末SAM42がオンライン(接続)されたとき開始される。
【0249】
ステップS411において、サーバ14と端末SAM42が接続されたと判定された場合、主制御部202は、ステップS412において、接続されたサーバ14のサーバIDを、サーバ証明書フォルダ123から検索し、URLを取得する。例えば、接続されたサーバ14のサーバIDが、図5のサーバID131である場合、主制御部202は、サーバID131のURL133を取得する。
【0250】
ステップS413において、主制御部202は、ログフォルダ128に登録されているログの中から、サーバIDが同じログを取得する。図27を用いて上述したように、ログには、スクリプト実行結果付加情報の他に、サーバIDも含まれているので、主制御部202は、このサーバIDに基づいて同じサーバIDを持つログを取得する。例えば、図5のログ171が取得される。
【0251】
ステップS414において、暗号化部207は、主制御部202からの制御に基づいて、ログ171に含まれるサーバIDとスクリプト実行結果付加情報を、サーバ公開鍵132(サーバIDに対応するサーバ公開鍵)で暗号化する。
【0252】
ステップS415において、出力部210は、主制御部202からの制御に基づいて、スクリプト実行結果付加情報の署名(ステップS413で取得されたログに含まれるスクリプト実行結果付加情報の署名、すなわち、図27のステップS378で生成された署名)、暗号化された「サーバIDおよびスクリプト実行結果付加情報」、並びに端末SAM識別子141を、URL133(ステップS412の処理で取得されたURL)に対して送信する。すなわち、端末SAM識別子141、暗号化された結果(サーバIDとスクリプト実行結果付加情報が暗号化された結果)、署名(スクリプト実行結果付加情報の署名)の3つを(少なくとも)含む情報が送信される。
【0253】
これに対して、サーバ14の入力部451は、ステップS391において、スクリプト実行結果付加情報の署名、暗号化されたサーバIDおよびスクリプト実行結果付加情報、並びに端末SAM識別子141を受信する。
【0254】
ステップS392において、復号部457は、サーバ秘密鍵413を用いて、暗号化されたサーバIDおよびスクリプト実行結果付加情報を復号する。
【0255】
ステップS393において、主制御部452は、ステップS391で受信した端末SAM識別子に対応する端末SAM公開鍵を取得する。例えば、図12の端末SAM識別子391の端末SAM公開鍵432が取得される。
【0256】
ステップS394において、検証処理部455は、主制御部452からの制御に基づいて、スクリプト実行結果付加情報と端末SAM公開鍵432を用いて、スクリプト実行結果付加情報の署名を検証し、ステップS395において、スクリプト実行結果付加情報が正当であるか否かを判定する。すなわち、検証処理部455は、主制御部452からの制御に基づいて、スクリプト実行結果付加情報の署名と端末SAM公開鍵432とを用いて、スクリプト実行結果付加情報が正当であることを検証する。
【0257】
ステップS395において、スクリプト実行結果付加情報が正当であることが検証されたと判定された場合、主制御部452は、スクリプト実行結果付加情報に付加されていたスクリプトIDと時刻情報を取り出し、ログとして保存した後、処理を終了する。また、ステップS395において正当であることが検証されなかったと判定された場合、処理は終了される。
【0258】
図27と図28の処理により、スクリプト実行結果に時刻情報を追加して署名を付与するとともに、端末SAM42にログ171として登録しておくことにより、サービス提供者のサーバ14と通信コネクションが確立されたときにまとめてアップロードすることができる。
【0259】
以上によれば、認定機関13が、端末SAM42を証明するようにしたので、サービス提供者(サーバ14)側で、証明済みの端末SAM42を認識して、データの授受を行なうことができる。
【0260】
すなわち、認定機関13が、端末SAM42の能力が正常であることを認定(証明)することで、サービス提供者が、認定済みの端末SAM42を容易に判断することができる。
【0261】
このようにすることで、端末SAM42の内部に格納(登録)されているスクリプトやその実行状況が参照されることがなく、第三者(例えば、あらかじめ登録しておいたスクリプトを提供したサービス提供者Aとは異なるサービス提供者B)が実行可能なスクリプトを格納することができる。
【0262】
また、サービス提供者(サーバ14)は、認定機関13により発行された端末SAM公開鍵の署名(端末SAMの証明書)を端末SAM42から取得し、この署名に基づいて端末SAM公開鍵が正当でることを検証することで、端末SAM42が認定済みの端末SAMであることを確実、かつ、容易に認識することができる。これに対して、端末SAM42は、サービス提供者(サーバ14)の証明書(図5のサーバ証明書フォルダ123)をサーバ14から取得しておき、サーバ14からスクリプトなどが送信されてきた場合には、スクリプトを検証することで(例えば、図20のステップS176)、端末SAM42においても、安全な情報のみを受信することができる。このような処理を行なうことで、サービス提供者(サーバ14)と端末SAMクライアント11との間で、安全に(合意して)コンテンツ送受信することができる。
【0263】
さらに、端末とサーバが容易に認証を行なうことができる。また、安全、かつ、容易に端末とサーバが情報を授受することができる。さらに、サーバの管理コストを抑えることができる。
【0264】
また、以上のような構成により、複数のスクリプトを管理し、いつでもスクリプトと登録、削除、または更新することができる。また、異なるサービス提供者からのスクリプトを、安全に格納することができる。例えば、サービス提供者Aからのスクリプトとサービス提供者Bからのスクリプトが端末SAM42に記憶されており、サービス提供者Bが、スクリプトと更新する場合においても、サービス提供者Bは、自分自身が提供しているスクリプトしか見ることができない。このことは、図5のスクリプトフォルダ126が、サーバID151、スクリプトID152に対して、スクリプト153が格納されているためである。
【0265】
また、端末SAMクライアント11に端末SAM42を格納することで、端末SAM42により管理されたスクリプトを実行し、そのスクリプトに記述されたカードアクセス処理を、ICカードリーダライタアンテナ43を利用して、ICカードにアクセスすることで行なうこともできる。
【0266】
さらに、サービス提供者の所持するスクリプトIDリストを端末SAM42のスクリプトフォルダ126(セキュリティボックス)に格納し、スクリプト実行時に、そのスクリプトIDに対応するスクリプトがダウンロードされていれば端末SAM42(セキュリティボックス)内で実行し(例えば、図21と図22)、ダウンロードされていなければサービス提供者に実行要求することで(例えば、図23)、端末SAM42の所有者がスクリプトIDを指定するだけで、スクリプトがダウンロードされているかいないかに関わらず実行指示を行なうことができる。
【0267】
また、スクリプト実行後の処理結果の署名とともに時刻情報を付与して端末SAM42内(ログフォルダ128)に一時的に格納しておき(例えば、図27)、サービス提供者のサーバ14と通信コネクションが確立されたときにまとめてアップロードする(図28)ようにしたので、オフラインにおいても、端末SAMクライアント11を利用することができる。なお、以上の例では、ログフォルダ128にスクリプト実行後の処理結果の署名と時刻情報とを格納しておくようにしたが、制御端末41に格納しておくようにしてもよい。
【0268】
さらに、スクリプトの実行途中に、メッセージを受け取る受け手側の公開鍵(証明書)で暗号化して通信することで(例えば、図25)、カードにアクセスしたり、上位クライアントまたは上位サーバに処理要求を行なってセキュアにメッセージ交換を行なうことができ、スクリプト内でそれに基づいた高度な分岐処理を行なうことができる。
【0269】
なお、以上の例では、スクリプトを管理することについて説明したが、スクリプトの他に、鍵を管理するようにしてもよい。鍵の授受の場合においても、上述した処理と同様の処理が行われる。
【0270】
また、以上の例では、送信するメッセージMを受信側の公開鍵で暗号化し、暗号化したメッセージMとともに、そのメッセージMの署名を送信するようにしたが、メッセージMの署名も、メッセージMと一緒に暗号化して送るようにしてもよい。すなわち、メッセージMの署名を生成した後、そのメッセージMの署名とメッセージMを、受信側の公開鍵で暗号化して送信するようにしてもよい。
【0271】
このように、サービス提供者が、端末SAMを認識することで、安心してスクリプトや鍵を端末SAMに提供することができる。
【0272】
また、サービス提供者の提供するスクリプトや鍵を端末SAM42の内部でセキュアに実行してICカードにアクセスを行なうことで、サービス提供者の意図しない不正動作を防ぎつつ、オフラインでスクリプトを実行させることができる。
【0273】
このようにICカードにスクリプトを格納するのではなく、端末SAM42にスクリプトを格納して処理を実行することで、ICカードにあるデータを変更することなく、ICカード所有者の権限とは無関係に、いつでもスクリプトを追加、更新、または削除することができる。
【0274】
また、データ(カード情報などのデータ)をICカードに、スクリプトを端末SAM42に格納することで、それらの所有者を明確に分離することができる。
【0275】
さらに、ICカードの全てに同じスクリプトを配信する必要がなく、アクセスする端末SAMにのみ配信すればよいので、スクリプトや鍵の更新に対する処理コストを抑えることができる。
【0276】
また、端末SAMクライアント11の管理者は、端末SAM42内にスクリプトがダウンロードされているか否かを意識することなく、端末SAM42に対してスクリプト実行を要求することができる。
【0277】
さらに、ICカード内のスクリプト更新には、ICカードをかざす必要があるが、端末SAM42内にスクリプトを格納するようにしたので、いつでも更新でき、かつ、ICカード所有者に更新時間を待たせることがない。
【0278】
また、端末SAM42内でスクリプトが実行できるため、処理性能の低いICカードではなく、処理性能に余裕がある端末SAM42で高速処理を行なうことができる。
【0279】
さらに、端末SAM42とサーバ14との間がオフラインである場合にサービス提供者のスクリプトが実行されても、端末SAM42においてログを時刻情報とともに保存するようにしたので、サーバ14との間でオンラインとなったときに実行ログをサービス提供者にアップロードでき、端末SAM42でのオフライン実行結果を、サーバ14側で同期することができる。
【0280】
また、サーバ14で行なっていた処理の一部を端末SAM42に負荷分散することができ(図25)、クライアントとサーバ間の通信コストも削減することができる。
【0281】
さらに、暗号化の方式は上述した方式に限らず、例えば、共通鍵などを利用した方式であってもよい。
【0282】
また、以上の例では、特定の情報(例えば、スクリプト)を暗号化すると記載した箇所については、少なくともその特定の情報を含むものを暗号化することを示す。すなわち、「特定の情報を暗号化する」という記載には、「暗号化する情報の中に、特定の情報が含まれている」ことを示す。
【0283】
さらに、端末SAMクライアント11は、情報を処理する情報処理装置であれば、他のものにも適用することができる。例えば、パーソナルコンピュータにICカードリーダライタアンテナを設けたものを端末SAMクライアント11としてもよい。
【0284】
また、以上の例では、それぞれを区別するためにIDを用いるようにしたが、情報を識別するための識別情報を用いるようにしてもよい。
【0285】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【0286】
この記録媒体は、図4(並びに図8および図11)に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア91よりなるパッケージメディアにより構成されるだけでなく、装置本体にあらかじめ組み込まれた状態でユーザに提供される、プログラムが記録されているROM72や記憶部78が含まれるハードディスクなどで構成される。なお、図8、図11においても同様である。
【0287】
なお、本明細書において、コンピュータプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0288】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表わすものである。
【図面の簡単な説明】
【0289】
【図1】本発明を適用した情報処理システムの全体の構成例を示す図である。
【図2】図1のサーバについて説明する図である。
【図3】図1の端末SAMクライアントの機能的構成例を示す図である。
【図4】図1の端末SAMのハードウエアの構成例を示すブロック図である。
【図5】図4の記憶部に記憶される情報を説明する図である。
【図6】図5の公開秘密鍵ロジックに含まれる情報を説明する図である。
【図7】図4の端末SAMの機能的構成例を示すブロック図である。
【図8】図1の認定機関のハードウエアの構成例を示すブロック図である。
【図9】図8の記憶部に記憶される情報を説明する図である。
【図10】図8の認定機関の機能的構成例を示すブロック図である。
【図11】図1のサーバのハードウエアの構成例を示すブロック図である。
【図12】図11の記憶部に記憶される情報を説明する図である。
【図13】図11のサーバの機能的構成例を示すブロック図である。
【図14】デジタル署名と暗号化を説明する図である。
【図15】デジタル署名を説明する図である。
【図16】認定機関が端末SAMを認定する処理を説明するフローチャートである。
【図17】サーバが端末SAMを検証する処理を説明するフローチャートである。
【図18】端末SAMがサーバからスクリプトIDを受信し、登録する処理を説明するフローチャートである。
【図19】端末SAMがサーバからスクリプトをダウンロードする処理を説明するフローチャートである。
【図20】端末SAMがサーバからスクリプトをダウンロードする処理を説明するフローチャートである。
【図21】端末SAMで実行するスクリプトがダウンロードされていない場合の処理を説明するフローチャートである。
【図22】端末SAMで実行するスクリプトがダウンロードされていない場合の処理を説明するフローチャートである。
【図23】端末SAMで実行するスクリプトがダウンロードされていた場合の処理を説明するフローチャートである。
【図24】スクリプト実行中に制御端末に対してアクセスを行なう場合の処理を説明するフローチャートである。
【図25】スクリプト実行中にサーバに対してアクセスを行なう場合の処理を説明するフローチャートである。
【図26】スクリプト実行中にサーバに対してアクセスを行なう場合の処理を説明するフローチャートである。
【図27】スクリプト実行結果のログを格納する処理を説明するフローチャートである。
【図28】端末SAMにおいて格納しておいたログを、サーバに送信する場合の処理を説明するフローチャートである。
【符号の説明】
【0290】
1 情報処理システム, 11 端末SAMクライアント, 14 サーバ, 42 端末SAM, 43 ICカードリーダライタアンテナ, 123 サーバ証明書フォルダ, 124 端末SAM固有情報, 126 スクリプトフォルダ, 127 端末SAM共通情報, 128 ログフォルダ, 131 サーバID, 132 サーバ公開鍵, 133 URL, 141 端末SAM識別子, 142 端末SAM公開鍵の署名, 143 端末SAM公開鍵, 144 端末SAM秘密鍵, 151 サーバID, 152 スクリプトID, 153 スクリプト, 161 認定機関公開鍵, 171 ログ, 202 主制御部, 204 エンコード部, 205 署名処理部, 206 検証処理部, 209 スクリプト実行部, 303 認定機関情報, 304 端末SAM証明書フォルダ, 321 端末SAM識別子, 322 端末SAM公開鍵, 353 デコード部, 354 署名処理部, 404 サービス提供者固有情報, 405 スクリプトフォルダ, 406 端末SAM証明書フォルダ, 407 サービス提供者共通情報, 441 URL, 412 サーバ公開鍵, 413 サーバ秘密鍵, 421 スクリプトID, 422 スクリプト, 423 プログラム, 431 端末SAM識別子, 432 端末SAM公開鍵, 441 認定機関公開鍵, 454 署名処理部, 455 検証処理部, 458 プログラム実行部

【特許請求の範囲】
【請求項1】
ICカードに関する情報を管理する端末装置、前記端末装置に情報を提供するサーバ、および前記端末装置を証明する認定装置からなる情報処理システムにおいて、
前記端末装置は、
前記端末装置に固有の端末識別子と、前記端末装置が有する第1の鍵に対応する第2の鍵とをエンコードするエンコード手段と、
エンコードされていない前記端末識別子と、前記エンコード手段によりエンコードされた前記端末識別子および前記第2の鍵とを、前記認定装置に送信する第1の送信手段と、
前記第1の送信手段による送信に対して、前記認定装置から送信されてきた第2の鍵の署名を受信する第1の受信手段と、
前記第1の受信手段により受信された前記第2の鍵の署名を、前記端末識別子とともに記憶する第1の記憶手段と、
前記第2の鍵、前記第1の記憶手段に記憶された前記第2の鍵の署名、および前記端末識別子を前記サーバに送信する第2の送信手段と
を備え、
前記認定装置は、
前記端末装置の前記第1の送信手段により送信されてきた、前記端末識別子と、エンコードされた前記端末識別子および前記第2の鍵とを受信する第2の受信手段と、
前記第2の受信手段により受信された、エンコードされた前記端末識別子および前記第2の鍵をデコードするデコード手段と、
前記デコード手段によりデコードされて得られた前記端末識別子と、前記第2の受信手段により受信された前記端末識別子とが一致するか否かを確認する確認手段と、
デコードされた前記端末識別子と、受信された前記端末識別子とが一致すると前記確認手段により確認された場合、前記認定装置が有する第3の鍵を用いて前記第2の鍵の署名を生成する第1の署名手段と、
前記第1の署名手段により生成された前記第2の鍵の署名を、前記端末装置に送信する第3の送信手段と
を備え、
前記サーバは、
前記端末装置の前記第2の送信手段により送信されてきた前記第2の鍵、前記第2の鍵の署名、および前記端末識別子を受信する第3の受信手段と、
前記第3の受信手段により受信された前記第2の鍵の署名、および認定装置が有する前記第3の鍵に対応する第4の鍵を用いて、前記第2の鍵が正当であるかを検証する第1の検証手段と、
前記第1の検証手段により前記第2の鍵が正当であることが検証された場合、前記端末識別子と前記第2の鍵を記憶する第2の記憶手段と
を備えることを特徴とする情報処理システム。
【請求項2】
前記端末装置は、
前記サーバに所定の情報を要求する場合、前記第1の鍵を用いて、前記情報を識別する識別情報の署名を生成する第2の署名手段と、
前記第2の署名手段により生成された前記識別情報の署名、前記識別情報、および前記端末識別子を、前記サーバに送信する第4の送信手段と、
前記第4の送信手段による送信に対して前記サーバから送信されてきた前記情報を受信する第4の受信手段と
をさらに備えるとともに、
前記サーバは、
前記端末装置の前記第4の送信手段により送信されてきた、前記識別情報の署名、前記識別情報、および前記端末識別子を受信する第5の受信手段と、
前記第5の受信手段により受信された前記識別情報の署名と、前記第5の受信手段により受信された前記端末識別子に対応する、前記第2の記憶手段に記憶された前記第2の鍵とを用いて、前記識別情報が正当であるかを検証する第2の検証手段と、
前記第2の検証手段により前記識別情報が正当であることが検証された場合、前記識別情報に対する前記情報を前記端末装置に送信する第5の送信手段と
をさらに備えることを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記情報は、前記ICカードに関するスクリプトまたは鍵である
ことを特徴とする請求項1に記載の情報処理システム。
【請求項4】
前記エンコード手段は、前記端末装置に固有の端末識別子および前記第2の鍵を、前記認定装置が有する前記3の鍵に対応する第4の鍵を用いてエンコードし、
前記デコード手段は、エンコードされた前記端末装置に固有の端末識別子および前記第2の鍵を、前記第3の鍵を用いてデコードする
ことを特徴とする請求項1に記載の情報処理システム。
【請求項5】
ICカードに関する情報を管理する端末装置、前記端末装置に情報を提供するサーバ、および前記端末装置を証明する認定装置からなる情報処理システムの情報処理方法において、
前記端末装置は、
前記端末装置に固有の端末識別子と、前記端末装置が有する第1の鍵に対応する第2の鍵とをエンコードし、
エンコードされていない前記端末識別子と、エンコードされた前記端末識別子および前記第2の鍵とを、前記認定装置に送信し、
前記認定装置は、
前記端末装置から送信されてきた、前記端末識別子と、エンコードされた前記端末識別子および前記第2の鍵とを受信し、
受信された、エンコードされた前記端末識別子および前記第2の鍵をデコードし、
デコードされて得られた前記端末識別子と、受信された前記端末識別子とが一致するか否かを確認し、
デコードされた前記端末識別子と、受信された前記端末識別子とが一致すると確認された場合、前記認定装置が有する第3の鍵を用いて前記第2の鍵の署名を生成し、
生成された前記第2の鍵の署名を、前記端末装置に送信し、
前記端末装置は、
前記認定装置から送信されてきた前記第2の鍵の署名を受信し、
受信された前記第2の鍵の署名を、前記端末識別子とともに記憶するよう制御し、
前記第2の鍵、記憶が制御された前記第2の鍵の署名、および前記端末識別子を前記サーバに送信し、
前記サーバは、
前記端末装置から送信されてきた前記第2の鍵、前記第2の鍵の署名、および前記端末識別子を受信し、
受信された前記第2の鍵の署名、および前記認定装置が有する前記第3の鍵に対応する第4の鍵を用いて、前記第2の鍵が正当であるかを検証し、
検証により前記第2の鍵が正当であることが検証された場合、前記端末識別子と前記第2の鍵の記憶を制御する
ことを特徴とする情報処理方法。
【請求項6】
ICカードに関する情報を提供するサーバおよび認定装置と情報を授受する情報処理装置において、
前記端末装置に固有の端末識別子と、前記端末装置が有する第1の鍵に対応する第2の鍵とをエンコードするエンコード手段と、
エンコードされていない前記端末識別子と、前記エンコード手段によりエンコードされた前記端末識別子および前記第2の鍵とを、前記認定装置に送信する第1の送信手段と、
前記第1の送信手段による送信に対して、前記認定装置から送信されてきた、前記認定装置が有する第3の鍵を用いて生成された署名である第2の鍵の署名を受信する第1の受信手段と、
前記第1の受信手段により受信された前記第2の鍵の署名を、前記端末識別子とともに記憶する記憶手段と、
前記第2の鍵、前記記憶手段に記憶された前記第2の鍵の署名、および前記端末識別子を前記サーバに送信する第2の送信手段と
を備えることを特徴とする情報処理装置。
【請求項7】
前記サーバに所定の情報を要求する場合、前記第1の鍵を用いて、前記情報を識別する識別情報の署名を生成する署名手段と、
前記署名手段により生成された前記識別情報の署名、前記識別情報、および前記端末識別子を、前記サーバに送信する第3の送信手段と、
前記第3の送信手段による送信に対して前記サーバから送信されてきた前記情報を受信する第2の受信手段と
をさらに備えることを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記情報は、前記ICカードに関するスクリプトまたは鍵である
ことを特徴とする請求項7に記載の情報処理装置。
【請求項9】
前記エンコード手段は、前記認定装置が有する前記第3の鍵に対応する前記第4の鍵を用いて、前記端末装置に固有の端末識別子および前記第2の鍵をエンコードする
ことを特徴とする請求項6に記載の情報処理装置。
【請求項10】
ICカードに関する情報を提供するサーバおよび認定装置と情報を授受する情報処理装置の情報処理方法において、
前記端末装置に固有の端末識別子と、前記端末装置が有する第1の鍵に対応する第2の鍵とをエンコードするエンコードステップと、
エンコードされていない前記端末識別子と、前記エンコード手段によりエンコードされた前記端末識別子および前記第2の鍵とを、前記認定装置に送信する第1の送信ステップと、
前記第1の送信ステップの処理による送信に対して、前記認定装置から送信されてきた、前記認定装置が有する第3の鍵を用いて生成された署名である第2の鍵の署名を受信する受信ステップと、
前記受信ステップの処理により受信された前記第2の鍵の署名を、前記端末識別子とともに記憶するよう制御する記憶制御ステップと、
前記第2の鍵、前記記憶制御ステップの処理により記憶が制御された前記第2の鍵の署名、および前記端末識別子を前記サーバに送信する第2の送信ステップと
を含むことを特徴とする情報処理方法。
【請求項11】
ICカードに関する情報を処理するプログラムであって、
前記端末装置に固有の端末識別子と、前記端末装置が有する第1の鍵に対応する第2の鍵とをエンコードするエンコードステップと、
エンコードされていない前記端末識別子と、前記エンコード手段によりエンコードされた前記端末識別子および前記第2の鍵とを、前記認定装置に送信する第1の送信ステップと、
前記第1の送信ステップの処理による送信に対して、前記認定装置から送信されてきた、前記認定装置が有する第3の鍵を用いて生成された署名である第2の鍵の署名を受信する受信ステップと、
前記受信ステップの処理により受信された前記第2の鍵の署名を、前記端末識別子とともに記憶するよう制御する記憶制御ステップと、
前記第2の鍵、前記記憶制御ステップの処理により記憶が制御された前記第2の鍵の署名、および前記端末識別子を前記サーバに送信する第2の送信ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate


【公開番号】特開2006−33267(P2006−33267A)
【公開日】平成18年2月2日(2006.2.2)
【国際特許分類】
【出願番号】特願2004−207380(P2004−207380)
【出願日】平成16年7月14日(2004.7.14)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】