JP2006033267A - Information processing system, information processing method, information processing apparatus, and program - Google Patents
Information processing system, information processing method, information processing apparatus, and program Download PDFInfo
- Publication number
- JP2006033267A JP2006033267A JP2004207380A JP2004207380A JP2006033267A JP 2006033267 A JP2006033267 A JP 2006033267A JP 2004207380 A JP2004207380 A JP 2004207380A JP 2004207380 A JP2004207380 A JP 2004207380A JP 2006033267 A JP2006033267 A JP 2006033267A
- Authority
- JP
- Japan
- Prior art keywords
- key
- terminal
- server
- signature
- script
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、情報処理システム、情報処理方法、情報処理装置、並びにプログラムに関し、特に、ICカードに関する情報を管理する端末装置に、安全、かつコストを抑えて情報を提供する情報処理システム、情報処理方法、情報処理装置、並びにプログラムに関する。 The present invention relates to an information processing system, an information processing method, an information processing apparatus, and a program, and in particular, an information processing system that provides information to a terminal device that manages information related to an IC card safely and at a reduced cost The present invention relates to a method, an information processing apparatus, and a program.
近年、IC(Integrated Circuit)チップを内蔵するカード(ICカード)内のデータに対して操作(更新)を行なう場合、ICカードリーダライタを備える端末が、鍵やスクリプトを記憶しているサーバに接続し、オンラインで相互認証を行った後に、ICカードリーダライタを備える端末がICカード内のデータに対して操作を行っている。 In recent years, when operating (updating) data in a card (IC card) containing an IC (Integrated Circuit) chip, a terminal equipped with an IC card reader / writer is connected to a server storing keys and scripts. After performing mutual authentication online, a terminal equipped with an IC card reader / writer operates on data in the IC card.
例えば、特許文献1には、オンラインでICカード内のデータを読み出す技術が開示されている。
For example,
このようなICカードリーダライタを備える端末は、鍵やスクリプトを安全に守る機能を有していないため、オフラインでICカード内のデータに対して操作(更新)を行なうためには、鍵やスクリプトを安全に格納できるセキュリティボックスを端末に設けることで、オフラインにおける認証を行っている。
しかしながら、端末にセキュリティボックスを設けた場合、そのセキュリティボックスでは、固定的な鍵やスクリプトしか格納することができず、鍵やスクリプトの更新は困難であるという課題があった。 However, when a security box is provided in the terminal, there is a problem that the security box can store only a fixed key or script and it is difficult to update the key or script.
また、鍵やスクリプトを提供するサービス提供者は、端末に設けられたセキュリティボックスが鍵やスクリプトを守る能力を有するか否かを認識することができないという課題があった。 In addition, there is a problem that a service provider who provides a key or script cannot recognize whether or not a security box provided in the terminal has an ability to protect the key or script.
さらに、サーバが鍵やスクリプトを記憶して、オンラインで端末(クライアント)と相互認証するクライアントサーバモデルにおいて、ICカードによる決済処理などの、端末側(クライアント側)での処理が長時間発生したり、ICカードの抜き差しによりカードアクセスが不規則である場合、サーバにおいて端末を管理する負荷が増加し、サーバを管理するコストが高いという課題があった。 Furthermore, in the client server model in which the server stores keys and scripts and performs mutual authentication with the terminal (client) online, processing on the terminal side (client side) such as payment processing using an IC card may occur for a long time. When the card access is irregular due to the insertion / removal of the IC card, there is a problem that the load for managing the terminal in the server increases and the cost for managing the server is high.
本発明はこのような状況に鑑みてなされたものであり、ICカードに関する情報を管理する端末装置に、安全、かつコストを抑えて情報を提供するようにするものである。 The present invention has been made in view of such a situation, and is intended to provide information to a terminal device that manages information related to an IC card in a safe and cost-effective manner.
本発明の情報処理システムは、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の記憶手段とを備えることを特徴とする。 An information processing system according to the present invention is an information processing system including a terminal device that manages information related to an IC card, a server that provides information to the terminal device, and an authorization device that certifies the terminal device. An encoding means for encoding a unique terminal identifier and a second key corresponding to the first key of the terminal apparatus, an unencoded terminal identifier, a terminal identifier encoded by the encoding means, and a second key First transmission means for transmitting the key to the authorized device, and first reception means for receiving a signature of the second key transmitted from the authorized device for transmission by the first transmission means; A first storage means for storing the signature of the second key received by the first reception means together with the terminal identifier; a second key; and a second key stored in the first storage means. And a second transmitting means for transmitting the name and the terminal identifier to the server, and the authorization device transmits the terminal identifier, the encoded terminal identifier and the second transmitted from the first transmitting means of the terminal device. Second receiving means for receiving a key; decoded terminal identifier received by the second receiving means; decoding means for decoding the second key; and terminal identifier obtained by decoding by the decoding means And confirmation means for confirming whether or not the terminal identifier received by the second reception means matches, and the confirmation means confirms that the decoded terminal identifier matches the received terminal identifier The first signing means for generating the signature of the second key using the third key possessed by the authorization device, and the signature of the second key generated by the first signing means to the terminal device And a third receiving means for receiving the second key, the signature of the second key, and the terminal identifier transmitted by the second transmitting means of the terminal device. And the signature of the second key received by the third receiving means, and the fourth key corresponding to the third key of the certification device are used to verify whether the second key is valid. A first verification unit; and a second storage unit that stores the terminal identifier and the second key when the second verification unit verifies that the second key is valid by the first verification unit. To do.
端末装置は、サーバに所定の情報を要求する場合、第1の鍵を用いて、情報を識別する識別情報の署名を生成する第2の署名手段と、第2の署名手段により生成された識別情報の署名、識別情報、および端末識別子を、サーバに送信する第4の送信手段と、第4の送信手段による送信に対してサーバから送信されてきた情報を受信する第4の受信手段とをさらに備えるとともに、サーバは、端末装置の第4の送信手段により送信されてきた、識別情報の署名、識別情報、および端末識別子を受信する第5の受信手段と、第5の受信手段により受信された識別情報の署名と、第5の受信手段により受信された端末識別子に対応する、第2の記憶手段に記憶された第2の鍵とを用いて、識別情報が正当であるかを検証する第2の検証手段と、第2の検証手段により識別情報が正当であることが検証された場合、識別情報に対する情報を端末装置に送信する第5の送信手段とをさらに備えるものとすることができる。 When the terminal device requests predetermined information from the server, the terminal device uses the first key to generate a signature of identification information for identifying the information, and an identification generated by the second signature device. A fourth transmitting means for transmitting the signature of the information, the identification information, and the terminal identifier to the server; and a fourth receiving means for receiving the information transmitted from the server in response to the transmission by the fourth transmitting means. Further, the server is received by the fifth receiving means and the fifth receiving means for receiving the signature of the identification information, the identification information, and the terminal identifier transmitted by the fourth transmitting means of the terminal device. Verifying whether the identification information is valid by using the signature of the identification information and the second key stored in the second storage means corresponding to the terminal identifier received by the fifth receiving means A second verification means and a second If the identification information by the verification means that is valid has been verified, it can be assumed that further and a fifth transmitting means for transmitting information for identification information to the terminal device.
情報は、ICカードに関するスクリプトまたは鍵であるものとすることができる。 The information may be a script or key related to the IC card.
エンコード手段は、端末装置に固有の端末識別子および第2の鍵を、認定装置が有する3の鍵に対応する第4の鍵を用いてエンコードし、デコード手段は、エンコードされた端末装置に固有の端末識別子および第2の鍵を、第3の鍵を用いてデコードするものとすることができる。 The encoding means encodes the terminal identifier and the second key unique to the terminal apparatus using a fourth key corresponding to the three keys of the authorized apparatus, and the decoding means is unique to the encoded terminal apparatus. The terminal identifier and the second key may be decoded using the third key.
本発明の第1の情報処理方法は、ICカードに関する情報を管理する端末装置、端末装置に情報を提供するサーバ、および端末装置を証明する認定装置からなる情報処理システムの情報処理方法であって、端末装置は、端末装置に固有の端末識別子と、端末装置が有する第1の鍵に対応する第2の鍵とをエンコードし、エンコードされていない端末識別子と、エンコードされた端末識別子および第2の鍵とを、認定装置に送信し、認定装置は、端末装置から送信されてきた、端末識別子と、エンコードされた端末識別子および第2の鍵とを受信し、受信された、エンコードされた端末識別子および第2の鍵をデコードし、デコードされて得られた端末識別子と、受信された端末識別子とが一致するか否かを確認し、デコードされた端末識別子と、受信された端末識別子とが一致すると確認された場合、認定装置が有する第3の鍵を用いて第2の鍵の署名を生成し、生成された第2の鍵の署名を、端末装置に送信し、端末装置は、認定装置から送信されてきた第2の鍵の署名を受信し、受信された第2の鍵の署名を、端末識別子とともに記憶するよう制御し、第2の鍵、記憶が制御された第2の鍵の署名、および端末識別子をサーバに送信し、サーバは、端末装置から送信されてきた第2の鍵、第2の鍵の署名、および端末識別子を受信し、受信された第2の鍵の署名、および認定装置が有する第3の鍵に対応する第4の鍵を用いて、第2の鍵が正当であるかを検証し、検証により第2の鍵が正当であることが検証された場合、端末識別子と第2の鍵の記憶を制御することを特徴とする。 A first information processing method of the present invention is an information processing method of an information processing system including a terminal device that manages information related to an IC card, a server that provides information to the terminal device, and an authorization device that certifies the terminal device. The terminal device encodes a terminal identifier unique to the terminal device and a second key corresponding to the first key of the terminal device, an unencoded terminal identifier, an encoded terminal identifier, and a second key To the authorized device. The authorized device receives the terminal identifier, the encoded terminal identifier and the second key transmitted from the terminal device, and receives the received encoded terminal. The terminal identifier obtained by decoding the identifier and the second key, confirming whether or not the terminal identifier obtained by the decoding matches the received terminal identifier, and decoding the terminal identifier When it is confirmed that the received terminal identifier matches, the signature of the second key is generated using the third key of the authorized device, and the generated signature of the second key is sent to the terminal device. The terminal device receives the signature of the second key transmitted from the authorized device, controls to store the received signature of the second key together with the terminal identifier, and stores the second key, storage Transmits the controlled second key signature and the terminal identifier to the server, and the server receives and receives the second key, the second key signature, and the terminal identifier transmitted from the terminal device. The second key is verified using the signature of the second key and the fourth key corresponding to the third key of the certification device, and the second key is verified by verification. If it is verified that the terminal identifier and the second key are stored, the storage of the terminal identifier and the second key is controlled. .
第1の本発明においては、端末装置で、端末装置に固有の端末識別子と、端末装置が有する第1の鍵に対応する第2の鍵とがエンコードされ、エンコードされていない端末識別子と、エンコードされた端末識別子および第2の鍵とが、認定装置に送信される。そして、認定装置で、端末識別子と、エンコードされた端末識別子および第2の鍵とが受信され、エンコードされた端末識別子および第2の鍵がデコードされ、デコードされて得られた端末識別子と、受信された端末識別子とが一致するか否かが確認され、一致すると確認された場合、認定装置が有する第3の鍵を用いて第2の鍵の署名が生成され、端末装置に送信される。また、端末装置で、第2の鍵の署名が受信され、第2の鍵の署名が、端末識別子とともに記憶され、第2の鍵、第2の鍵の署名、および端末識別子がサーバに送信される。さらに、サーバで、第2の鍵、第2の鍵の署名、および端末識別子が受信され、第2の鍵の署名、および認定装置が有する第3の鍵に対応する第4の鍵を用いて第2の鍵が正当であるかが検証され、正当であることが検証された場合、端末識別子と第2の鍵が記憶される。 In the first aspect of the present invention, in the terminal device, the terminal identifier unique to the terminal device and the second key corresponding to the first key of the terminal device are encoded, the terminal identifier that is not encoded, and the encoding The terminal identifier and the second key thus transmitted are transmitted to the authorization device. Then, the authorization device receives the terminal identifier, the encoded terminal identifier and the second key, decodes the encoded terminal identifier and the second key, and receives the terminal identifier obtained by decoding It is confirmed whether or not the received terminal identifier matches, and if it matches, the signature of the second key is generated using the third key of the authorized device and transmitted to the terminal device. In addition, the terminal device receives the second key signature, stores the second key signature together with the terminal identifier, and transmits the second key, the second key signature, and the terminal identifier to the server. The Further, the server receives the second key, the second key signature, and the terminal identifier, and uses the second key signature and the fourth key corresponding to the third key of the certification device. Whether or not the second key is valid is verified. If it is verified that the second key is valid, the terminal identifier and the second key are stored.
本発明の情報処理装置は、端末装置に固有の端末識別子と、端末装置が有する第1の鍵に対応する第2の鍵とをエンコードするエンコード手段と、エンコードされていない端末識別子と、エンコード手段によりエンコードされた端末識別子および第2の鍵とを、認定装置に送信する第1の送信手段と、第1の送信手段による送信に対して、認定装置から送信されてきた、認定装置が有する第3の鍵を用いて生成された署名である第2の鍵の署名を受信する第1の受信手段と、第1の受信手段により受信された第2の鍵の署名を、端末識別子とともに記憶する記憶手段と、第2の鍵、記憶手段に記憶された第2の鍵の署名、および端末識別子をサーバに送信する第2の送信手段とを備えることを特徴とする。 An information processing apparatus according to the present invention includes an encoding unit that encodes a terminal identifier unique to a terminal device and a second key corresponding to the first key of the terminal device, a terminal identifier that is not encoded, and an encoding unit A first transmission unit that transmits the terminal identifier and the second key encoded by the first device to the authorized device, and the first device that has been sent from the authorized device with respect to the transmission by the first transmission unit. A first receiving means for receiving a signature of the second key, which is a signature generated using the key of No. 3, and a signature of the second key received by the first receiving means together with a terminal identifier A storage means, a second key, a signature of the second key stored in the storage means, and a second transmission means for transmitting the terminal identifier to the server are provided.
サーバに所定の情報を要求する場合、第1の鍵を用いて、情報を識別する識別情報の署名を生成する署名手段と、署名手段により生成された識別情報の署名、識別情報、および端末識別子を、サーバに送信する第3の送信手段と、第3の送信手段による送信に対してサーバから送信されてきた情報を受信する第2の受信手段とをさらに備えるものとすることができる。 When requesting predetermined information from the server, a signature unit that generates a signature of identification information for identifying information using the first key, a signature of the identification information generated by the signature unit, identification information, and a terminal identifier Can be further provided with a third transmitting means for transmitting the information to the server and a second receiving means for receiving the information transmitted from the server in response to the transmission by the third transmitting means.
情報は、ICカードに関するスクリプトまたは鍵であるものとすることができる。 The information may be a script or key related to the IC card.
エンコード手段は、認定装置が有する第3の鍵に対応する第4の鍵を用いて、端末装置に固有の端末識別子および第2の鍵をエンコードするものとすることができる。 The encoding unit may encode the terminal identifier and the second key unique to the terminal device using a fourth key corresponding to the third key of the authorized device.
本発明の第2の情報処理方法は、端末装置に固有の端末識別子と、端末装置が有する第1の鍵に対応する第2の鍵とをエンコードするエンコードステップと、エンコードされていない端末識別子と、エンコード手段によりエンコードされた端末識別子および第2の鍵とを、認定装置に送信する第1の送信ステップと、第1の送信ステップの処理による送信に対して、認定装置から送信されてきた、認定装置が有する第3の鍵を用いて生成された署名である第2の鍵の署名を受信する受信ステップと、受信ステップの処理により受信された第2の鍵の署名を、端末識別子とともに記憶するよう制御する記憶制御ステップと、第2の鍵、記憶制御ステップの処理により記憶が制御された第2の鍵の署名、および端末識別子をサーバに送信する第2の送信ステップとを含むことを特徴とする。 According to a second information processing method of the present invention, an encoding step for encoding a terminal identifier unique to a terminal device, a second key corresponding to the first key of the terminal device, an unencoded terminal identifier, The terminal identifier and the second key encoded by the encoding means are transmitted from the authorized device for the first transmission step of transmitting the terminal identifier and the second key to the authorized device, and the transmission by the processing of the first transmission step. A receiving step for receiving a signature of the second key, which is a signature generated using the third key of the authorized device, and a signature of the second key received by the processing of the receiving step are stored together with the terminal identifier. A storage control step for controlling the second key, a second key, a second key whose storage is controlled by the processing of the storage control step, and a second identifier for transmitting the terminal identifier to the server Characterized in that it comprises a transmission step.
本発明のプログラムは、端末装置に固有の端末識別子と、端末装置が有する第1の鍵に対応する第2の鍵とをエンコードするエンコードステップと、エンコードされていない端末識別子と、エンコード手段によりエンコードされた端末識別子および第2の鍵とを、認定装置に送信する第1の送信ステップと、第1の送信ステップの処理による送信に対して、認定装置から送信されてきた、認定装置が有する第3の鍵を用いて生成された署名である第2の鍵の署名を受信する受信ステップと、受信ステップの処理により受信された第2の鍵の署名を、端末識別子とともに記憶するよう制御する記憶制御ステップと、第2の鍵、記憶制御ステップの処理により記憶が制御された第2の鍵の署名、および端末識別子をサーバに送信する第2の送信ステップとを含む処理をコンピュータに実行させることを特徴とする。 The program of the present invention is encoded by an encoding step for encoding a terminal identifier unique to a terminal device and a second key corresponding to the first key of the terminal device, an unencoded terminal identifier, and encoding means. A first transmission step of transmitting the terminal identifier and the second key transmitted to the authorized device, and a first device included in the authorized device that has been transmitted from the authorized device for transmission by the processing of the first transmission step. A receiving step for receiving a signature of the second key, which is a signature generated using the key of No. 3, and a memory for controlling to store the signature of the second key received by the processing of the receiving step together with the terminal identifier A second transmission step for transmitting the control step, the second key, the signature of the second key whose storage is controlled by the processing of the storage control step, and the terminal identifier to the server. Characterized in that to execute a processing including a-up the computer.
第2の本発明においては、端末装置に固有の端末識別子と、端末装置が有する第1の鍵に対応する第2の鍵とがエンコードされ、エンコードされていない端末識別子と、エンコードされた端末識別子および第2の鍵とが、認定装置に送信される。そして、この送信に対して、認定装置から送信されてきた、認定装置が有する第3の鍵を用いて生成された第2の鍵の署名が受信され、第2の鍵の署名が、端末識別子とともに記憶され、第2の鍵、第2の鍵の署名、および端末識別子がサーバに送信される。 In the second aspect of the present invention, the terminal identifier unique to the terminal device and the second key corresponding to the first key of the terminal device are encoded, the unencoded terminal identifier, and the encoded terminal identifier And the second key are transmitted to the authorization device. In response to this transmission, the signature of the second key generated using the third key of the authorized device transmitted from the authorized device is received, and the signature of the second key is the terminal identifier. And the second key, the second key signature, and the terminal identifier are transmitted to the server.
本発明によれば、端末装置とサーバが容易に認証を行なうことができる。特に、本発明によれば、安全、かつ、容易に端末装置とサーバが情報を授受することができる。また、サーバの管理コストを抑えることができる。 According to the present invention, the terminal device and the server can be easily authenticated. In particular, according to the present invention, information can be exchanged between the terminal device and the server safely and easily. In addition, server management costs can be reduced.
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が、本明細書に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。 Embodiments of the present invention will be described below. The correspondence relationship between the invention described in this specification and the embodiments of the invention is exemplified as follows. This description is intended to confirm that the embodiments supporting the invention described in this specification are described in this specification. Therefore, even if there is an embodiment that is described in the embodiment of the invention but is not described here as corresponding to the invention, the fact that the embodiment is not It does not mean that it does not correspond to the invention. Conversely, even if an embodiment is described herein as corresponding to an invention, that means that the embodiment does not correspond to an invention other than the invention. Absent.
更に、この記載は、本明細書に記載されている発明の全てを意味するものでもない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。 Further, this description does not mean all the inventions described in this specification. In other words, this description is for the invention described in the present specification, which is not claimed in this application, that is, for the invention that will be applied for in the future or that will appear and be added by amendment. It does not deny existence.
請求項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)と
を備えることを特徴とする。
The information processing system according to
The terminal device
A terminal identifier unique to the terminal device (for example, a terminal SAM identifier), and a second key (for example, a terminal SAM public key) corresponding to a first key (for example, a terminal SAM private key) possessed by the terminal device; Encoding means (for example, the encoding unit 204 in FIG. 7 that executes the process of step S32 in FIG. 16);
First transmission means for transmitting the terminal identifier that has not been encoded, the terminal identifier encoded by the encoding means, and the second key to the authorized device (for example, the process of step S33 in FIG. 16). The output unit 210) of FIG.
In response to transmission by the first transmission means, first reception means (for example, FIG. 16) that receives a second key signature (for example, a signature of the terminal SAM public key) transmitted from the authorized device. The
First storage means for storing the signature of the second key received by the first reception means together with the terminal identifier (for example, the
Second transmission means for transmitting the second key, the signature of the second key stored in the first storage means, and the terminal identifier to the server (for example, the process of step S92 in FIG. 17). And executing the output unit 210) of FIG.
The certified device is:
Second receiving means for receiving the terminal identifier and the encoded terminal identifier and the second key transmitted by the first transmitting means of the terminal device (for example, step S51 in FIG. 16). The
Decoding means for decoding the encoded terminal identifier and the second key received by the second receiving means (for example, the
Confirmation means for confirming whether or not the terminal identifier obtained by decoding by the decoding means matches the terminal identifier received by the second receiving means (for example, the process of step S53 in FIG. 16) Main controller 352) of FIG.
When it is confirmed by the confirmation means that the decoded terminal identifier matches the received terminal identifier, the second key is used by using a third key (for example, an accredited institution secret key) possessed by the accreditation device. First signature means for generating a signature of the key (for example,
Third transmission means for transmitting the signature of the second key generated by the first signature means to the terminal device (for example, the
The server
Third receiving means for receiving the second key, the signature of the second key, and the terminal identifier transmitted by the second transmitting means of the terminal device (for example, step S71 in FIG. 17). The input unit 451) of FIG.
Using the signature of the second key received by the third receiving means and the fourth key (for example, the certification authority public key) corresponding to the third key of the certification device, the second key is used. First verification means for verifying whether or not the key is valid (for example, the
When the first verification unit verifies that the second key is valid, the second storage unit stores the terminal identifier and the second key (for example, the process of step S74 in FIG. 17). And a storage unit 378) of FIG.
請求項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)と
をさらに備えることを特徴とする。
The terminal device of the information processing system according to
When requesting predetermined information from the server, a second signature for generating a signature (for example, a script ID signature) of identification information (for example, a script ID) for identifying the information, using the first key. Means (for example, the signature processing unit 205 of FIG. 7 that executes the process of step S172 of FIG. 19);
Fourth transmission means for transmitting the signature of the identification information generated by the second signature means, the identification information, and the terminal identifier to the server (for example, executing the processing of step S173 in FIG. 19) 7 output unit 210),
Fourth receiving means for receiving the information (for example, a script) transmitted from the server in response to transmission by the fourth transmitting means (for example, the input of FIG. 7 for executing the processing of step S174 in FIG. 20) Part 201) and
The server
Fifth receiving means for receiving the signature of the identification information, the identification information, and the terminal identifier transmitted by the fourth transmission means of the terminal device (for example, execute the processing of step S151 in FIG. 19) The input unit 451) of FIG.
The signature of the identification information received by the fifth receiving means and the second key stored in the second storage means corresponding to the terminal identifier received by the fifth receiving means; A second verification means for verifying whether the identification information is valid (for example, the
When the identification information is verified to be valid by the second verification unit, a fifth transmission unit (for example, a script for the script ID) is transmitted to the terminal device. And an
請求項3に記載の情報処理システムの前記情報は、前記ICカードに関するスクリプトまたは鍵(例えば、図3のICカード51との間で利用される共通鍵)である
ことを特徴とする。
The information of the information processing system according to claim 3 is a script or a key related to the IC card (for example, a common key used with the
請求項4に記載の情報処理システムの前記エンコード手段は、前記端末装置に固有の端末識別子および前記第2の鍵を、前記認定装置が有する前記3の鍵に対応する第4の鍵を用いてエンコードし(例えば、図16のステップS32)、
前記デコード手段は、エンコードされた前記端末装置に固有の端末識別子および前記第2の鍵を、前記第3の鍵を用いてデコードする(例えば、図16のステップS52)
ことを特徴とする。
The information processing system according to claim 4, wherein the encoding unit uses a terminal identifier unique to the terminal device and the second key by using a fourth key corresponding to the third key of the authorization device. Encoding (for example, step S32 in FIG. 16);
The decoding means decodes the encoded terminal identifier unique to the terminal device and the second key using the third key (for example, step S52 in FIG. 16).
It is characterized by that.
請求項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)
ことを特徴とする。
The information processing method according to
The terminal device
A terminal identifier unique to the terminal device (for example, a terminal SAM identifier), and a second key (for example, a terminal SAM public key) corresponding to a first key (for example, a terminal SAM private key) possessed by the terminal device; (For example, step S32 in FIG. 16),
The unencoded terminal identifier, the encoded terminal identifier and the second key are transmitted to the authorized device (eg, step S33 in FIG. 16),
The certified device is:
Receiving the terminal identifier, the encoded terminal identifier and the second key transmitted from the terminal device (for example, step S51 in FIG. 16);
Decode the received encoded terminal identifier and the second key (eg, step S52 of FIG. 16);
Check whether the terminal identifier obtained by decoding matches the received terminal identifier (for example, step S53 in FIG. 16),
When it is confirmed that the decoded terminal identifier matches the received terminal identifier, a signature of the second key is used by using a third key (for example, a certification authority private key) of the certification device. (For example, step S55 in FIG. 16),
The generated signature of the second key is transmitted to the terminal device (for example, the
The terminal device
Receiving the signature of the second key (for example, the signature of the terminal SAM public key) transmitted from the authorized device (for example, step S34 in FIG. 16);
Control to store the received signature of the second key together with the terminal identifier (for example, step S35 in FIG. 16);
Transmitting the second key, the signature of the second key whose storage is controlled, and the terminal identifier to the server (for example, step S92 in FIG. 17);
The server
Receiving the second key, the signature of the second key, and the terminal identifier transmitted from the terminal device (for example, step S71 in FIG. 17);
The second key is valid by using the received signature of the second key and the fourth key (for example, the certification authority public key) corresponding to the third key of the certification device. (For example, step S72 in FIG. 17),
When the verification verifies that the second key is valid, the storage of the terminal identifier and the second key is controlled (for example, step S74 in FIG. 17).
It is characterized by that.
請求項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)と
を備えることを特徴とする。
An information processing apparatus according to
A terminal identifier unique to the terminal device (for example, a terminal SAM identifier), and a second key (for example, a terminal SAM public key) corresponding to a first key (for example, a terminal SAM private key) possessed by the terminal device; Encoding means (for example, the encoding unit 204 in FIG. 7 that executes the process of step S32 in FIG. 16);
First transmission means for transmitting the terminal identifier that has not been encoded, the terminal identifier encoded by the encoding means, and the second key to the authorized device (for example, the process of step S33 in FIG. 16). The output unit 210) of FIG.
In response to the transmission by the first transmission means, the signature of the second key (for example, the terminal SAM) transmitted from the authorized device and generated using the third key of the authorized device. First receiving means for receiving the signature of the public key (for example, the
Storage means for storing the signature of the second key received by the first reception means together with the terminal identifier (for example, the
Second transmission means for transmitting the second key, the signature of the second key stored in the storage means, and the terminal identifier to the server (for example, executing the processing of step S92 in FIG. 17) 7 output unit 210).
請求項7に記載の情報処理装置は、
前記サーバに所定の情報を要求する場合、前記第1の鍵を用いて、前記情報を識別する識別情報(例えば、スクリプトID)の署名(例えば、スクリプトIDの署名)を生成する署名手段(例えば、図19のステップS172の処理を実行する図7の署名処理部205)と、
前記署名手段により生成された前記識別情報の署名、前記識別情報、および前記端末識別子を、前記サーバに送信する第3の送信手段(例えば、図19のステップS173の処理を実行する図7の出力部210)と、
前記第3の送信手段による送信に対して前記サーバから送信されてきた前記情報(例えば、スクリプト)を受信する第2の受信手段(例えば、図20のステップS174の処理を実行する図7の入力部201)と
をさらに備えることを特徴とする。
An information processing apparatus according to claim 7
When requesting predetermined information from the server, a signature means (for example, a script ID signature) for generating identification information (for example, a script ID) for identifying the information using the first key (for example, a script ID signature) , The signature processing unit 205 in FIG. 7 for executing the processing in step S172 in FIG.
Third transmission means for transmitting the signature of the identification information generated by the signature means, the identification information, and the terminal identifier to the server (for example, the output of FIG. 7 for executing the processing of step S173 in FIG. 19) Part 210),
Second receiving means for receiving the information (for example, a script) transmitted from the server in response to transmission by the third transmitting means (for example, the input of FIG. 7 for executing the processing of step S174 in FIG. 20) Unit 201).
請求項8に記載の情報処理装置の前記情報は、前記ICカードに関するスクリプトまたは鍵(例えば、図3のICカード51との間で利用される共通鍵)である
ことを特徴とする。
The information of the information processing apparatus according to
請求項9に記載の情報処理装置の前記エンコード手段は、前記認定装置が有する前記第3の鍵に対応する前記第4の鍵を用いて、前記端末装置に固有の端末識別子および前記第2の鍵をエンコードする(例えば、図16のステップS32)
ことを特徴とする。
The encoding means of the information processing device according to
It is characterized by that.
請求項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)と
を含むことを特徴とする。
The information processing method according to claim 10 is an information processing method of an information processing device (for example, the terminal SAM client 11-1 in FIG. 1) that exchanges information with a server and an authentication device that provide information about an IC card. ,
A terminal identifier unique to the terminal device (for example, a terminal SAM identifier), and a second key (for example, a terminal SAM public key) corresponding to a first key (for example, a terminal SAM private key) possessed by the terminal device; Encoding step (for example, step S32 in FIG. 16) for encoding
A first transmission step (for example, step S33 in FIG. 16) for transmitting the unencoded terminal identifier, the terminal identifier encoded by the encoding means, and the second key to the authorized device;
In response to the transmission by the processing of the first transmission step, the signature of the second key (for example, the signature generated using the third key of the authorized device transmitted from the authorized device) (for example, Receiving step (for example, step S34 in FIG. 16) for receiving the signature of the terminal SAM public key;
A storage control step (for example, step S35 in FIG. 16) for controlling to store the signature of the second key received by the processing of the reception step together with the terminal identifier;
Second transmission step of transmitting the second key, the signature of the second key whose storage is controlled by the processing of the storage control step, and the terminal identifier to the server (for example, step S92 in FIG. 17) It is characterized by including and.
請求項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)と
を含む処理をコンピュータに実行させることを特徴とする。
The program according to
A terminal identifier unique to the terminal device (for example, a terminal SAM identifier), and a second key (for example, a terminal SAM public key) corresponding to a first key (for example, a terminal SAM private key) possessed by the terminal device; Encoding step (for example, step S32 in FIG. 16) for encoding
A first transmission step (for example, step S33 in FIG. 16) for transmitting the unencoded terminal identifier, the terminal identifier encoded by the encoding means, and the second key to the authorized device;
In response to the transmission by the processing of the first transmission step, the signature of the second key (for example, the signature generated using the third key of the authorized device transmitted from the authorized device) (for example, Receiving step (for example, step S34 in FIG. 16) for receiving the signature of the terminal SAM public key;
A storage control step (for example, step S35 in FIG. 16) for controlling to store the signature of the second key received by the processing of the reception step together with the terminal identifier;
Second transmission step of transmitting the second key, the signature of the second key whose storage is controlled by the processing of the storage control step, and the terminal identifier to the server (for example, step S92 in FIG. 17) And causing a computer to execute a process including and.
以下、図を参照して、本発明の実施の形態について説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、本発明を適用した情報処理システムの全体の構成例を示す図である。 FIG. 1 is a diagram showing an example of the overall configuration of an information processing system to which the present invention is applied.
端末SAM(Secure Application Module)クライアント(端末装置)11−1乃至11−3は、それぞれネットワーク12に接続されている。また、ネットワーク12には、認定機関(認定局とも称する)13、並びにサーバ(サーバ装置)14−1乃至14−3が接続されている。 Terminal SAM (Secure Application Module) clients (terminal devices) 11-1 to 11-3 are each connected to the network 12. The network 12 is connected to an accreditation body (also referred to as an accreditation station) 13 and servers (server devices) 14-1 to 14-3.
サーバ14−1はサービス提供者Aが運営しており、サーバ14−2はサービス提供者Bが運営しており、サーバ14−3はサービス提供者Cが運営している。すなわち、サーバ14−1乃至14−3は、それぞれ異なるサービス提供者により運営されている。ネットワーク12は、例えば、LAN(Local Area Network)である。認定装置は、認定機関(認定局)13により司られる装置であり、実際には、認定装置により各種の処理が実行されるが、本実施の形態においては、認定機関13が実行する処理として称する。
Server 14-1 is operated by service provider A, server 14-2 is operated by service provider B, and server 14-3 is operated by service provider C. That is, the servers 14-1 to 14-3 are operated by different service providers. The network 12 is, for example, a LAN (Local Area Network). The accreditation apparatus is an apparatus that is governed by the accreditation body (accreditation station) 13. In practice, various processes are executed by the accreditation apparatus. In this embodiment, the accreditation apparatus is referred to as a process executed by the
なお、以下において、端末SAMクライアント11−1乃至11−3を個々に区別する必要がない場合、端末SAMクライアント11と称し、サーバ14−1乃至14−3を個々に区別する必要がない場合、サーバ14と称する。また、サービス提供者A、B、およびCを個々に区別する必要がない場合、サービス提供者と称する。
In the following, when the terminal SAM clients 11-1 to 11-3 do not need to be individually distinguished, they are referred to as the
認定機関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に対して鍵やスクリプトを送信する。
The
端末SAMクライアント11は、複数のスクリプトを記憶することができ、スクリプトを実行して図示せぬICカードにアクセスする。例えば、端末SAMクライアント11は、スクリプトを実行し、ICカード内のデータを更新する。そして、端末SAMクライアント11は、スクリプトの実行結果などを、ネットワーク12を介して、対応するサービスを提供しているサーバ14に送信する。なお、ネットワーク12がオフラインである場合、端末SAMクライアント11は、スクリプトの実行結果を保持しておき、オンラインになったとき、その実行結果を、ネットワーク12を介してサーバ14に送信する。
The
サーバ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と同じネットワークでもよい。
The
次に、端末SAMクライアント11の機能的構成例を説明する。図3は、図1の端末SAMクライアント11の機能的構成例を示すブロック図である。
Next, a functional configuration example of the
端末SAMクライアント11は、制御端末41、端末SAM42、およびICカードリーダライタアンテナ43の機能的構成を有する。
The
制御端末41は、例えばPOS(Point Of Sales)端末である。制御端末41は、ICカード51に対してデータを更新する指令を出したり、ICカード51から読み出されたデータを、ネットワーク12(図1)を介してサーバ14に送信する。
The
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カードリーダライタアンテナとが接触式であってもよい。
The IC card reader / writer antenna 43 communicates with the
端末SAM42は、ICカードリーダライタアンテナ43から供給されたデータを暗号化したり、サーバ14の認定を得るために、認定機関13に対して、端末SAM42の公開鍵の署名を要求するよう制御するとともに、サーバ14に端末SAM公開鍵の署名を送信するよう制御する。また、端末SAM42は、スクリプトを実行したり、各種の暗号鍵を生成したり、スクリプトの実行結果をログとして保存する。すなわち端末SAM42は、端末SAMクライアント11内のデータをセキュアに管理する。
The
図4は、図3の端末SAM42のハードウエアの構成例を示すブロック図である。
FIG. 4 is a block diagram showing a hardware configuration example of the
CPU(Central Processing Unit)71、ROM(Read Only Memory)72、およびRAM(Random Access Memory)73は、内部バス74を介して相互に接続されている。この内部バス74にはまた、入出力インターフェース75も接続されている。
A CPU (Central Processing Unit) 71, a ROM (Read Only Memory) 72, and a RAM (Random Access Memory) 73 are connected to each other via an
CPU71は、ROM72に記憶されているプログラム、または、記憶部78からRAM73にロードされたプログラムに従って各種の処理を実行する。RAM73にはまた、CPU71が各種の処理を実行する上で必要なデータなどが適宜記憶される。
The
入出力インターフェース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を介して行われる。
The input /
入出力インターフェース75にはまた、必要に応じてドライブ81が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどよりなるリムーバブルメディア91が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部78にインストールされる。
A
上述した図3の機能的構成例と対応付けると、図4のCPU71が後述する所定の処理を実行することで端末SAMの機能を有する。
In association with the above-described functional configuration example of FIG. 3, the
図5は、記憶部78に記憶される、端末SAM42(図4)に関する情報の例を説明する図である。すなわち、図5は、端末SAM42が処理を実行するために用いられる情報(データ)の例を示している。
FIG. 5 is a diagram for explaining an example of information related to the terminal SAM 42 (FIG. 4) stored in the
記憶部78には、端末SAM42に関する情報として、外部入出力ロジック121、公開秘密鍵ロジック122、サーバ証明書フォルダ123、端末SAM固有情報124、スクリプト実行情報125、スクリプトフォルダ126、端末SAM共通情報127、およびログフォルダ128が記憶されている。
In the
外部入出力ロジック121は、外部入出力に関するインターフェース処理を実行するためのロジックである。
The external input /
公開秘密鍵ロジック122は、暗号化、復号、署名、検証、および鍵ペア生成などの処理を実行するためのロジックである。具体的には、公開秘密鍵ロジック122は、図6に示されるような情報で構成されている。
The public secret
図6において、公開秘密鍵ロジック122には、暗号化手順191、復号手順192、鍵ペア生成手順193、署名手順194、および検証手順195が含まれている。暗号化手順191には、データを暗号化するための手順が記述されており、復号手順192には、暗号化されているデータを復号するための手順(暗号化手順191に対応する手順)が記述されている。鍵ペア生成手順193には、端末SAM42の公開鍵と秘密鍵を生成するための手順が記述されている。署名手順194には、所定のデータに署名を付すための手順が記述されており、検証手順195には、署名が付されたデータを検証するための手順が記述されている。このように公開秘密鍵ロジック122には、公開鍵と秘密鍵に関するロジックが含まれている。図6の例の場合、端末SAM42に関する公開秘密鍵ロジック122であるので、ここでいう公開鍵は端末SAM42の公開鍵であり、秘密鍵は端末SAM42の秘密鍵である。
In FIG. 6, the public secret
図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の情報は、後述する処理で取得される。
Returning to FIG. 5, the server certificate folder 123 includes a
端末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は、その秘密鍵を他へ漏らさない機能を有する。
The terminal SAM
スクリプト実行情報125は、スクリプトを実行するための情報である。例えば、スクリプトフォルダ126に格納されているスクリプト153を実行するための情報である。
The
スクリプトフォルダ126には、サーバID151、スクリプトID152が含まれ、さらにサーバID151、スクリプトID152に関連付けられてスクリプト153が含まれている。サーバID151は、サーバ証明書フォルダ123に含まれるサーバIDと基本的に同様である。すなわち、サーバ14−1に付されたサーバIDであれば、サーバID131とサーバID151は同じとなる。スクリプトID152は、スクリプト153を識別するための、同じサーバIDのスクリプトにおいて一意のIDである。これらのスクリプトフォルダ126に記憶される情報は、後述する処理でサーバ14から取得される情報である。スクリプトフォルダ126には、サーバID151、スクリプトID152、およびスクリプト153の組み合わせが複数(スクリプトの個数分)登録される。
The
端末SAM共通情報127には、認定機関公開鍵161とエンコード手順162が含まれている。認定機関公開鍵161は、認定機関13が配布する認定機関13の公開鍵である。エンコード手順162は、認定機関13と端末SAM42との間であらかじめ定められた(例えば、製造メーカによって定められた)エンコード手順であり、端末SAM42の製造時に格納される情報である。すなわち、端末SAM共通情報127は、あらかじめ端末SAM42に設定されている情報である。
The terminal SAM
ログフォルダ128には、ログ171が含まれている。このログ171は、スクリプトの実行結果である。より具体的には、ログ171としては、スクリプトの実行結果に時刻情報と署名が付加された、スクリプト実行結果付加情報が記憶される。
The
すなわち、図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に記憶される。
That is, in FIG. 5, external input /
次に、図3の端末SAM42の機能的構成例を説明する。図7は、図3の端末SAM42の機能的構成例を示すブロック図である。なお、図7の機能的構成は、図4の端末SAMクライアント11のCPU71が、記憶部78に記憶された図5の情報を用いて各種の処理を実行することで実現される。
Next, a functional configuration example of the
図7において、端末SAM42には、入力部201、主制御部202、鍵ペア生成部203、エンコード部204、署名処理部205、検証処理部206、暗号化部207、復号部208、スクリプト実行部209、および出力部210が設けられている。
7, the
入力部201は、データの入力を受け付け、受け付けたデータを主制御部202に供給する。例えば、入力部201は、ICカードリーダライタアンテナ43から供給されたデータや、制御端末41から供給されたデータを受け付け、これを主制御部202に供給する。入力部201は、図5を用いて説明した外部入出力ロジック121に対応している。より具体的には、入力部201は、図5の外部入出力ロジック121をCPU71(図4)が実行することで実現される。
The
主制御部202は、各部を制御する。鍵ペア生成部203は、主制御部202からの制御に基づいて、端末SAM公開鍵143と端末SAM秘密鍵144(図5)のペアを生成する。鍵ペア生成部203は、公開秘密鍵ロジック122の鍵ペア生成手順193(図6)をCPU71(図4)が実行することで実現される。エンコード部204は、主制御部202からの制御に基づいて、データを所定の方式でエンコードする。エンコード部204は、あらかじめ製造メーカによって設定された方式でデータをエンコードするものであり、図5を用いて説明したエンコード手順162に沿った処理をCPU71(図4)が実行することで実現される。
The
署名処理部205は、主制御部202からの制御に基づいて、所定のデータに対する署名を生成する。例えば、端末SAM秘密鍵144を用いて、所定のデータの署名を生成する。署名処理部205は、公開秘密鍵ロジック122の署名手順194(図6)に沿った処理をCPU71(図4)が実行することで実現される。検証処理部206は、主制御部202からの制御に基づいて、署名を検証する処理を実行する。検証処理部206は、公開秘密鍵ロジック122の検証手順195(図6)に沿った処理をCPU71(図4)が実行することで実現される。
The signature processing unit 205 generates a signature for predetermined data based on the control from the
暗号化部207は、主制御部202からの制御に基づいて、データを暗号化する。暗号化部207は、公開秘密鍵ロジック122の暗号化手順191(図6)に沿った処理をCPU71(図4)が実行することで実現される。復号部208は、主制御部202からの制御に基づいて、暗号化されたデータを復号する。復号部208は、公開秘密鍵ロジック122の復号手順192(図6)に沿った処理をCPU71(図4)が実行することで実現される。
The
スクリプト実行部209は、主制御部202からの制御に基づいて、スクリプトを実行する。例えば、スクリプト実行部209は、主制御部202からの制御に基づいて、記憶部78(図5)に記憶されたスクリプト153(図5)を実行する。スクリプト実行部209は、スクリプト実行情報125(図5)に基づく処理をCPU71(図4)が実行することで実現される。
The
出力部210は、主制御部202からの制御に基づいて、データを出力する。例えば、出力部210は、制御端末41にデータを出力したり、ICカードリーダライタアンテナ43にデータを出力する。出力部210は、図5を用いて説明した外部入出力ロジック121に基づく処理をCPU71(図4)が実行することで実現される。
The
図8は、図1の認定機関13のハードウエアの構成例を示すブロック図である。
FIG. 8 is a block diagram illustrating a hardware configuration example of the
CPU251、ROM252、およびRAM253は、内部バス254を介して相互に接続されている。この内部バス254にはまた、入出力インターフェース255も接続されている。
The
CPU251は、ROM252に記憶されているプログラム、または、記憶部258からRAM253にロードされたプログラムに従って各種の処理を実行する。RAM253にはまた、CPU251が各種の処理を実行する上で必要なデータなどが適宜記憶される。
The
入出力インターフェース255には、キーボード、マウスなどよりなる入力部256、CRT,LCD、スピーカなどよりなる出力部257、ハードディスクなどより構成される記憶部258、モデム、ターミナルアダプタなどより構成される通信部259が接続されている。通信部259は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行なう。
The input /
入出力インターフェース255にはまた、必要に応じてドライブ261が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどよりなるリムーバブルメディア271が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部258にインストールされる。
A
図9は、図8の記憶部258に記憶される情報の例を説明する図である。
FIG. 9 is a diagram illustrating an example of information stored in the
記憶部258には、認定機関13が本実施の形態に記載された処理を実行するために利用される情報として、外部入出力ロジック301、公開秘密鍵ロジック302、認定機関情報303、端末SAM証明書フォルダ304、デコード手順305が記憶されている。
The
外部入出力ロジック301は、外部入出力に関するインターフェース処理を実行するためのロジックである。 The external input / output logic 301 is a logic for executing interface processing related to external input / output.
公開秘密鍵ロジック302は、暗号化、復号、署名、検証、および鍵ペア生成などの処理を実行するためのロジックである。公開鍵ロジック302の詳細な構成は、上述した図6と同様であるのでその説明を省略するが、以下においては、図6を、公開秘密鍵ロジック302としても引用する。認定機関13により扱われる公開鍵は、認定機関13の公開鍵であり、秘密鍵は認定機関13の秘密鍵である。
The public secret
認定機関情報303には、認定機関公開鍵311、認定機関秘密鍵312が含まれている。認定機関公開鍵311は、図5の認定機関公開鍵161と同じである。より具体的には、認定機関13で生成された認定機関公開鍵311が、端末SAM42に送信され、記憶されたものが、図5の認定機関公開鍵161である。認定機関公開鍵311と認定機関秘密鍵312は鍵ペアであり、認定機関秘密鍵312で署名したデータは、認定機関公開鍵311によってのみ、そのデータが正当であるかを検証することができる。認定機関公開鍵311で暗号化したデータは、認定機関秘密鍵312によってのみ復号することができ、逆に、認定機関秘密鍵312で暗号化したデータは、認定機関公開鍵311によってのみ復号することができる。また、認定機関秘密鍵312を保持する認定機関13は、その秘密鍵を他へ漏らさない機能を有する。
The
端末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が登録される。
The terminal
デコード手順305は、認定機関13と端末SAM42との間であらかじめ定められた(例えば、製造メーカによって定められた)デコード手順であり、認定機関13の製造時に格納される情報である。このデコード手順305は、図5の端末SAM共通情報127のエンコード手順162に対応している。すなわち、エンコード手順162を用いてエンコードされたデータは、デコード手順305によりデコードすることができる。このエンコード、デコードの方法は、認定機関13と端末SAM42の間で規定された独自の手順であるので、この方法でエンコードされたデータを、外部の機器が入手したとしても、容易にエンコードすることはできない。これにより、認定機関13と端末SAM42の間の秘匿性を高めることができる。
The
すなわち、図9において、外部入出力ロジック301、公開秘密鍵ロジック302、認定機関情報303、およびデコード手順305が、あらかじめ記憶部258に記憶されており、端末SAM証明書フォルダ304(端末SAM識別子321と端末SAM公開鍵322)は、適宜以下の処理において記憶部258に記憶される。
That is, in FIG. 9, the external input / output logic 301, the public / private
次に、図8の認定機関13の機能的構成例を説明する。図10は、図8の認定機関13の機能的構成例を示すブロック図である。なお、図10の機能的構成は、図8の認定機関13のCPU251が、記憶部258に記憶された図9の情報を用いて各種の処理を実行することで実現される。
Next, a functional configuration example of the
図10において、認定機関13には、入力部351、主制御部352、デコード手順353、署名処理部354、および出力部355が設けられている。
10, the
入力部351は、データの入力を受け付け、受け付けたデータを主制御部352に供給する。例えば、入力部351は、ネットワーク12を介して端末SAMクライアント11から供給されたデータや、サーバ14から供給されたデータを受け付け、これを主制御部352に供給する。入力部351は、図9を用いて説明した外部入出力ロジック301に対応している。より具体的には、入力部351は、図9の外部入出力ロジック301をCPU251(図8)が実行することで実現される。
The
主制御部352は、各部を制御する。デコード部353は、主制御部352からの制御に基づいて、エンコードされているデータを所定の方式でデコードする。デコード部353は、あらかじめ製造メーカによって設定された方式でデータをデコードするものであり、図9を用いて説明したデコード手順305に沿った処理をCPU251(図8)が実行することで実現される。
The
署名処理部354は、主制御部352からの制御に基づいて、所定のデータの署名を生成する。例えば、署名処理部354は、認定機関秘密鍵312を用いて、所定のデータの署名を生成する。署名処理部354は、公開秘密鍵ロジック302の署名手順194(図6)に沿った処理をCPU251(図8)が実行することで実現される。
The
出力部355は、主制御部352からの制御に基づいて、データを出力する。例えば、出力部355は、ネットワーク12を介して端末SAMクライアント11やサーバ14にデータを出力する。出力部355は、図9を用いて説明した外部入出力ロジック301に基づく処理をCPU25(図8)が実行することで実現される。
The
図11は、図1のサーバ14のハードウエアの構成例を示すブロック図である。
FIG. 11 is a block diagram illustrating a hardware configuration example of the
CPU371、ROM372、およびRAM373は、内部バス374を介して相互に接続されている。この内部バス374にはまた、入出力インターフェース375も接続されている。
The
CPU371は、ROM372に記憶されているプログラム、または、記憶部378からRAM373にロードされたプログラムに従って各種の処理を実行する。RAM373にはまた、CPU371が各種の処理を実行する上において必要なデータなどが適宜記憶される。
The
入出力インターフェース375には、キーボード、マウスなどよりなる入力部376、CRT,LCD、スピーカなどよりなる出力部377、ハードディスクなどより構成される記憶部378、モデム、ターミナルアダプタなどより構成される通信部379が接続されている。通信部379は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行なう。
The input /
入出力インターフェース375にはまた、必要に応じてドライブ381が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどよりなるリムーバブルメディア391が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部378にインストールされる。
A drive 381 is also connected to the input /
図12は、図11の記憶部378に記憶される情報の例を説明する図である。
FIG. 12 is a diagram illustrating an example of information stored in the
記憶部378には、サーバ14が本実施の形態に記載された処理を実行するために利用される情報として、外部入出力ロジック401、公開秘密鍵ロジック402、プログラム実行情報403、サービス提供者固有情報404、スクリプトフォルダ405、端末SAM証明書フォルダ406、およびサービス提供者共通情報407が記憶されている。
The
外部入出力ロジック401は、外部入出力に関するインターフェース処理を実行するためのロジックである。
The external input /
公開秘密鍵ロジック402は、暗号化、復号、署名、検証、および鍵ペア生成などの処理を実行するためのロジックである。公開鍵ロジック402の詳細な構成は、上述した図6と同様であるのでその説明を省略するが、以下においては、図6を、公開秘密鍵ロジック402としても引用する。サーバ14(サービス提供者)により扱われる公開鍵は、サーバ14の公開鍵であり、秘密鍵はサーバ14の秘密鍵である。
The public secret key logic 402 is a logic for executing processing such as encryption, decryption, signature, verification, and key pair generation. Since the detailed configuration of the public key logic 402 is the same as that of FIG. 6 described above, the description thereof is omitted, but in the following, FIG. 6 is also referred to as the public secret key logic 402. The public key handled by the server 14 (service provider) is the public key of the
プログラム実行情報403は、プログラムを実行するための情報である。例えば、スクリプトフォルダ405に格納されているプログラム423を実行するための情報である。
The
サービス提供者固有情報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は、その秘密鍵を他へ漏らさない機能を有する。
The service provider
スクリプトフォルダ405には、スクリプトID421、スクリプト422、およびプログラム423が含まれている。スクリプトID421には、スクリプト422とプログラム423が対応付けられている。すなわち、スクリプトID421が特定された場合、そのスクリプトIDに対応するスクリプト422またはプログラム423に対して所定の処理が実行される。例えば、実行要求とともにスクリプトIDが送信されてきた場合、そのスクリプトIDに対応するプログラムがサーバ14において実行される。これらのスクリプトフォルダ405の内容は、適宜、サービス提供者Aによって追加、更新されるものであったり、あらかじめ記憶されているものである。すなわち、スクリプトID421、スクリプト422およびプログラム423の組み合わせは、複数登録されることがある。
The script folder 405 includes a
端末SAM証明書フォルダ406には、端末SAM識別子431と端末SAM公開鍵432が含まれている。この端末SAM証明書フォルダ406は、図9の端末SAM証明書フォルダ304に対応しており、同じ端末SAMクライアント11の端末SAM証明書フォルダであれば、その内容は同一である。なお、これらの端末SAM識別子321と端末SAM公開鍵322は、後述する処理で取得される。また、情報の提供を行なう端末SAM42の数の分だけ、端末SAM識別子321と端末SAM公開鍵322の組み合わせが登録される。
The terminal
サービス提供者共通情報407には、認定機関公開鍵441が含まれている。認定機関公開鍵441は、上述した図9の認定機関公開鍵311と同じものである。より具体的には、認定機関13で生成された認定機関公開鍵311が、端末SAM42に送信され、記憶された図5の認定機関公開鍵161と、サーバ14に送信され、記憶された図12の認定機関公開鍵441である。
The service provider
すなわち、図12において、外部入出力ロジック401、公開秘密鍵ロジック402、プログラム実行情報403、サービス提供者固有情報404、スクリプトフォルダ405、およびサービス提供者共通情報407が、あらかじめ記憶部378に記憶されており、端末SAM証明書フォルダ406(端末SAM識別子431と端末SAM公開鍵432)は、適宜以下の処理において記憶部78に記憶される。
That is, in FIG. 12, external input /
次に、図11のサーバ14の機能的構成例を説明する。図13は、図11のサーバ14の機能的構成例を示すブロック図である。なお、図13の機能的構成は、図11のサーバ14のCPU371が、記憶部378に記憶された図12の情報を用いて各種の処理を実行することで実現される。
Next, a functional configuration example of the
図13において、サーバ14には、入力部451、主制御部452、鍵ペア生成部453、署名処理部454、検証処理部455、暗号化部456、復号部457、プログラム実行部458、および出力部459が設けられている。
In FIG. 13, the
入力部451は、データの入力を受け付け、受け付けたデータを主制御部452に供給する。例えば、入力部451は、ネットワーク12を介して端末SAMクライアント11から供給されたデータや、認定機関13から供給されたデータを受け付け、これを主制御部452に供給する。入力部451は、図12を用いて説明した外部入出力ロジック401に対応している。より具体的には、入力部451は、図12の外部入出力ロジック401をCPU371(図11)が実行することで実現される。
The
主制御部452は、各部を制御する。鍵ペア生成部453は、主制御部452からの制御に基づいて、サーバの公開鍵(サーバ公開鍵412)とサーバの秘密鍵(サーバ秘密鍵413)のペアを生成する。鍵ペア生成部453は、公開秘密鍵ロジック402の鍵ペア生成手順193(図6)をCPU371(図11)が実行することで実現される。
The
署名処理部454は、主制御部452からの制御に基づいて、所定のデータの署名を生成する。例えば、署名処理部454は、サーバ秘密鍵を用いて、所定のデータの署名を生成する。署名処理部454は、公開秘密鍵ロジック402の署名手順194(図6)に沿った処理をCPU371(図11)が実行することで実現される。検証処理部455は、主制御部452からの制御に基づいて、署名を検証する処理を実行する。検証処理部455は、公開秘密鍵ロジック402の検証手順195(図6)に沿った処理をCPU371(図11)が実行することで実現される。
The
暗号化部456は、主制御部452からの制御に基づいて、データを暗号化する。暗号化部456は、公開秘密鍵ロジック402の暗号化手順191(図6)に沿った処理をCPU371(図4)が実行することで実現される。復号部457は、主制御部452からの制御に基づいて、暗号化されたデータを復号する。復号部457は、公開秘密鍵ロジック402の復号手順192(図6)に沿った処理をCPU371(図11)が実行することで実現される。
The
プログラム実行部458は、主制御部452からの制御に基づいてプログラムを実行する。例えば、プログラム実行部458は、主制御部452からの制御に基づいて、記憶部378(図12)に記憶されたプログラム423を実行する。プログラム実行部458は、プログラム実行情報403(図12)に基づく処理をCPU371(図11)が実行することで実現される。
The
出力部459は、主制御部452からの制御に基づいて、データを出力する。例えば、出力部459は、ネットワーク12を介して端末SAMクライアント11にデータを出力したり、認定機関13にデータを出力する。出力部459は、図12を用いて説明した外部入出力ロジック401に基づく処理をCPU371(図11)が実行することで実現される。
The
次に、図14を参照して、以下の処理で行われる署名や検証、暗号化の詳細な例について説明する。なお、以下、本明細書では、E(A,B)を、鍵AでデータBを暗号化することを表わし、D(P,Q)を、鍵PでデータQを復号することを表わすものとする。また、暗号と復号は、どちらか前者を後者に作用させるという表現で統一することができる。さらに、H(M)は、データMをハッシュ関数プログラムで圧縮したことを表わすものとする。 Next, detailed examples of signature, verification, and encryption performed in the following processing will be described with reference to FIG. Hereinafter, in this specification, E (A, B) represents that the data B is encrypted with the key A, and D (P, Q) represents that the data Q is decrypted with the key P. And Also, encryption and decryption can be unified with the expression that the former acts on the latter. Further, H (M) represents that the data M is compressed by the hash function program.
図14において、送り手側(a)は、送り手側(a)の秘密鍵Ksa、および受け手側(b)の公開鍵Kpbを有しており、受け手側(b)は、受け手側(b)の秘密鍵Ksb、および送り手側(a)の公開鍵Kpaを有している。ここで、送り手側(a)で、文書(M)501を送信する場合について説明する。 In FIG. 14, the sender side (a) has a secret key Ksa on the sender side (a) and a public key Kpb on the receiver side (b), and the receiver side (b) ) Private key Ksb and the sender's public key Kpa. Here, a case where the document (M) 501 is transmitted on the sender side (a) will be described.
送り手側では、まず、文書(M)501を、公開鍵暗号化方式を用いて送信する。具体的には、ステップS1において、送り手は、受け手の公開鍵Kpbで文書(M)501を暗号化する。すなわち、送り手は「E(Kpb,M)」を演算する。そして、送り手は、ステップS2において、暗号文「E(Kpb,M)」を受け手に送信する。 On the sender side, first, the document (M) 501 is transmitted using the public key encryption method. Specifically, in step S1, the sender encrypts the document (M) 501 with the recipient's public key Kpb. That is, the sender calculates “E (Kpb, M)”. In step S2, the sender transmits the ciphertext “E (Kpb, M)” to the sender.
受け手は、この暗号文「E(Kpb,M)」を受け取ると、ステップS3において、これを、受け手の秘密鍵Ksbで復号し(「D(Ksb,E(Kpb,M))」を演算し)、もとの文書(M)501を得る。また、受け手は、ステップS3の処理で得たもとの文書(M)501を、ステップS4においてハッシュ関数プログラムで圧縮する(メッセージダイジェスト「H(M)」を演算する)。 Upon receiving this ciphertext “E (Kpb, M)”, the receiver decrypts it with the receiver's private key Ksb (“D (Ksb, E (Kpb, M))”) in step S3. ), An original document (M) 501 is obtained. In addition, the recipient compresses the original document (M) 501 obtained by the processing in step S3 with a hash function program in step S4 (calculates the message digest “H (M)”).
一方、送り手は、ステップ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)を得る。 On the other hand, in step S5, the sender compresses the document (M) 501 with a hash function program (calculates the message digest “H (M)”), and in step S6, sends the message digest “H (M)”. And the sender's private key Ksa. That is, the sender calculates “E (Ksa, H (M))”. This “E (Ksa, H (M))” is a so-called digital signature by the sender of the document (M) 501. The sender transmits the digital signature “E (Ksa, H (M))” to the receiver in step S7. Upon receiving this digital signature “E (Ksa, H (M))”, the receiver decrypts it with the sender's public key Kpa in step S8 (D (Kpa, E (Ksa, H (M))). ) To obtain a message digest H (M).
そして、受け手は、ステップS9において、ステップS4の処理で得られたメッセージダイジェストH(M)と、ステップS8の処理で得られたメッセージダイジェストH(M)とを比較し、一致した場合に、メッセージMが正当であると判定する。すなわち、ステップS4の処理で得られたメッセージダイジェストH(M)と、ステップS8の処理で得られたメッセージダイジェストH(M)とが一致した場合、デジタル署名が間違いなく送り手が作成し送信したものと認識される。 In step S9, the receiver compares the message digest H (M) obtained in step S4 with the message digest H (M) obtained in step S8. It is determined that M is valid. That is, if the message digest H (M) obtained in the process of step S4 matches the message digest H (M) obtained in the process of step S8, the digital signature is definitely created and transmitted by the sender. It is recognized as a thing.
一般的に、ハッシュ関数プログラムで作成した圧縮データ(メッセージダイジェスト)から、もとの情報を割り出すのは不可能であるので、図14の処理のように、デジタル署名を利用することで、送り手の否認、受け手の改ざん、平文(文書)の改ざんを防止することができる。また、受け手は送り手の身元を確認することができる。 Generally, since it is impossible to determine the original information from the compressed data (message digest) created by the hash function program, the sender can be obtained by using a digital signature as in the process of FIG. Refusal, falsification of recipients, and plain text (documents) can be prevented. The receiver can also confirm the identity of the sender.
すなわち、受け手が送り手の公開鍵でデジタル署名を復号できたということは(ステップS8)、そのデジタル署名は、送り手の秘密鍵で暗号化されたものということがわかる。換言すれば、そのデジタル署名のもととなるメッセージダイジェストH(M)も送り手により生成されたものということがわかる。そして、このメッセージダイジェストH(M)と、受け手が受信した情報から生成したメッセージダイジェストH(M)(ステップS4)が一致すれば、ステップS4でメッセージダイジェストH(M)を生成した場合に元となったもとの文書(M)は、間違いなく送り手のものである。 That is, the fact that the receiver was able to decrypt the digital signature with the sender's public key (step S8), it can be seen that the digital signature was encrypted with the sender's private key. In other words, it can be seen that the message digest H (M) that is the basis of the digital signature is also generated by the sender. If the message digest H (M) and the message digest H (M) (step S4) generated from the information received by the recipient match, the message digest H (M) is generated when the message digest H (M) is generated in step S4. The original document (M) is definitely that of the sender.
なお、以下においては、図14の処理のように詳細な説明は省略し、デジタル署名、その認証については簡単に説明していくが、実際には、図14に示されるような処理が実行されるものとする。また、以下において、署名付きメッセージは、図15に示される構成とされるものとして説明する。 In the following, detailed description will be omitted as in the process of FIG. 14 and the digital signature and its authentication will be briefly described. In practice, the process shown in FIG. 14 is executed. Shall be. In the following description, it is assumed that the signed message has the configuration shown in FIG.
次に、デジタル署名の構成についてさらに説明する。図15は、署名付きメッセージの簡単な構成を示す図である。 Next, the configuration of the digital signature will be further described. FIG. 15 is a diagram showing a simple configuration of a signed message.
図15において、もとの文書(送信した文書)をメッセージMとした場合、メッセージMの署名は、メッセージMをハッシュ関数プログラムで圧縮し(H(M)を演算し)、その値を、送信元の秘密鍵Ksで暗号化したものとなる。すなわち、E(Ks,H(M))がメッセージMの署名となる。一般的には、このメッセージMとともにメッセージMの署名があわせて送られることで、そのメッセージMの認証度を高めている。 In FIG. 15, when the original document (sent document) is the message M, the signature of the message M is obtained by compressing the message M with a hash function program (calculating H (M)) and sending the value to the message M It is encrypted with the original secret key Ks. That is, E (Ks, H (M)) is the signature of the message M. Generally, the signature of the message M is sent together with the message M, so that the authentication level of the message M is increased.
なお、以下においては、メッセージMと送信元の秘密鍵Ksとを、図15の例を用いて適宜説明する。 In the following, the message M and the source secret key Ks will be described as appropriate using the example of FIG.
次に、図16のフローチャートを参照して、図7の端末SAM42(端末SAMクライアント11)が、図10の認定機関13で認定して貰う処理について説明する。なお、この処理は、端末SAM42と認定機関13により実行される処理であり、端末SAM42に認定の指令が入力されたとき、または、最初に端末SAM42(端末SAMクライアント11)の電源がオンされたとき開始される。
Next, with reference to the flowchart of FIG. 16, a process in which the terminal SAM 42 (terminal SAM client 11) of FIG. This process is a process executed by the
ステップS31において、端末SAM42の鍵ペア生成部203は、主制御部202からの制御に基づいて、端末SAM公開鍵143と端末SAM秘密鍵144を生成する。生成された端末SAM公開鍵143と端末SAM秘密鍵144は、図5の端末SAM固有情報124に記憶される。
In step S31, the key pair generation unit 203 of the
ステップS32において、エンコード部204は、主制御部202からの制御に基づいて、端末SAM公開鍵143と端末SAM識別子141(あらかじめ図5の記憶部78に記憶されている、端末SAM固有情報124の端末SAM識別子141)を、認定鍵公開鍵161でエンコードする。この認定機関公開鍵161は、あらかじめ端末SAM42が取得した(または製造時に格納された)認定機関13の公開鍵である。
In step S32, the encoding unit 204, based on the control from the
ステップS33において、出力部210は、主制御部202からの制御に基づいて、エンコードされた端末SAM公開鍵143および端末SAM識別子141と、エンコードされていない端末SAM識別子141とを、ネットワーク12を介して認定機関13に送信する。すなわち、エンコードされていない端末識別子141と、ステップS32の処理でエンコードされた結果とが送信される。なお、本実施の形態では、必要最低限の情報のみしか、送信する情報として記載していないが、実際には、エンコードされていない端末識別子141と、ステップS32の処理でエンコードされた結果の他にも、適宜情報が送信されるようにしてもよい。このことは、以下の処理においても同様である。
In step S33, the
これに対して、認定機関13の入力部351は、ステップS51において、エンコードされた端末SAM公開鍵143および端末SAM識別子141と、端末SAM識別子141とを、ネットワーク12を介して受信する(受け付ける)。
On the other hand, the
ステップS52において、認定機関13のデコード部353は、エンコードされている端末SAM公開鍵143および端末SAM識別子141を、認定機関秘密鍵312でデコードする。ステップS32の処理で行われるエンコードと、このステップS52の処理で行われるデコードは対応しており、独自に定められたエンコード、およびデコード方法であるので、外部の他の機器によりエンコードされたデータが取得された場合においても、データの解析を防ぐことができる。
In step S <b> 52, the
ステップS53において、主制御部352は、デコードして得られた端末SAM識別子141と、受信した端末SAM識別子141とを確認する。具体的には、デコードして得られた端末SAM識別子141と、ステップS51の処理で受信した端末SAM識別子141とが一致している場合には、処理をステップS54に進め、一致していない場合には、認定していない場合には、確認できなかったものとして処理を終了する(一致していない場合の処理の図示は省略する)。この処理は、端末SAM42が正常な(認定すべき)端末であるかを確認する処理である。
In step S53, the
ステップS54において、主制御部352は、端末SAM公開鍵143と端末SAM識別子141とを、端末SAM公開鍵322と端末SAM識別子321として、端末SAM証明書フォルダ304に登録する。
In step S54, the
ステップS55において、署名処理部354は、主制御部352からの制御に基づいて、認定機関秘密鍵312を用いて、端末SAM公開鍵の署名(認定機関13による端末SAM公開鍵に対する署名)を生成する。図15の例の場合、端末SAM公開鍵322がメッセージMであり、送信元の秘密鍵Ksが認定機関秘密鍵312となる。すなわち、署名処理部354は、端末SAM公開鍵322に対してハッシュ関数プログラムで圧縮した結果を、認定機関秘密鍵312で暗号化することで、端末SAM公開鍵の署名を生成する。
In step S55, the
ステップS56において、出力部355は、主制御部352からの制御に基づいて、生成された端末SAM公開鍵の署名を、ネットワーク12を介して端末SAMクライアント11の端末SAM42に送信する。
In step S <b> 56, the
これに対して端末SAM42の入力部201は、ステップS34において、端末SAM公開鍵の署名を受信する(入力を受け付ける)。
On the other hand, the
ステップS35において、主制御部202は、受信された端末SAM公開鍵の署名を、端末SAM公開鍵の署名142として、端末SAM固有情報124に登録する。このとき、端末SAM固有情報124には、端末SAM識別子141と端末SAM公開鍵の署名142とがペアで保持される。その後処理は終了される。
In step S35, the
図16の処理により、端末SAM42は、自分自身を証明する端末SAM公開鍵の署名142を認定機関13により発行して貰うことができる。また、端末SAM42と認定機関13との間には独自のエンコード、およびデコード方法が設定されているので、認定機関13は、端末SAM42の能力が正常であることを認識し、署名を発行することができる。
With the processing in FIG. 16, the
なお、図16の例では、認定機関13が署名を発行して送信するようにしたが、端末SAM42の証明書を発行するようにしてもよい(以下の処理においても同様)。この場合、認定機関13は、ステップS55で生成した端末SAM公開鍵の署名と、端末SAM識別子とを合わせて、端末SAM証明書として送信し、端末SAM42は、この証明書を登録する。
In the example of FIG. 16, the
次に、図17のフローチャートを参照して、図13のサーバ14(サービス提供者)が、図7の端末SAM42(端末SAMクライアント11)が認定されていることを検証する処理を説明する。なお、この処理は、端末SAM42とサーバ14(サービス提供者)により実行される処理であり、端末SAM42に、サービス提供者との間で認定の検証するよう指令が入力されたとき、または、サーバ14から認定の検証が求められたとき、開始される。
Next, with reference to the flowchart in FIG. 17, a process in which the server 14 (service provider) in FIG. 13 verifies that the terminal SAM 42 (terminal SAM client 11) in FIG. 7 is authorized will be described. This process is a process executed by the
ステップS91において、端末SAM42の主制御部202は、図5の記憶部78の端末SAM固有情報124から、端末SAM識別子141、端末SAM公開鍵143、および端末SAM公開鍵の署名142を読み出す。
In step S91, the
ステップS92において、出力部210は、読み出された端末SAM識別子141、端末SAM公開鍵143、および端末SAM公開鍵の署名142を、ネットワーク12を介してサービス提供者であるサーバ14に送信する。すなわち、端末SAM公開鍵の署名142、端末SAM識別子141、および端末SAM公開鍵143の、計3つの情報(を少なくとも含む情報)がサーバ14に送信される。
In step S <b> 92, the
これに対して、サーバ14(サービス提供者)の入力部451は、ステップS71において、端末SAM識別子141、端末SAM公開鍵143、および端末SAM公開鍵の署名142を受信する。
On the other hand, the
ステップS72において、検証処理部455は、主制御部452からの制御に基づいて、端末SAM公開鍵143と認定機関公開鍵161(あらかじめ記憶部78に記憶されている認定機関公開鍵161)を用いて、端末SAM公開鍵の署名142を検証する。具体的には、図14を用いて上述したように、検証処理部455は、端末SAM公開鍵の署名142を認定機関公開鍵161で復号したものと、端末SAM公開鍵143をハッシュ関数プログラムで圧縮した値が一致するか否かを判定することで検証を行なう。すなわち、検証処理部455は、主制御部452からの制御に基づいて、端末SAM公開鍵の署名142と認定機関公開鍵161を用いて、端末SAM公開鍵143が正当であることを検証する。
In step S72, the
ステップ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として登録する。
In step S73, the
ステップS73において、正当でない(正当であることが検証されなかった)と判定された場合、またはステップS74の処理の後、処理は終了される。 In step S73, when it is determined that it is not valid (it has not been verified that it is valid), or after the process of step S74, the process ends.
図16と図17を経て(図16のステップS53で確認できなかった場合と、ステップS73でNOと判定された場合を除いて)、サービス提供者であるサーバ14は、端末SAM42が、認定機関13によって認定された端末であることを検証することができる。この処理を実行した上で、サーバ14が、端末SAM証明書フォルダ406(図12)に、端末SAM識別子431と端末SAM公開鍵432とを登録することで、サーバ14は、安全に、鍵やスクリプトを認証済みの端末SAMのみに配信することができる。この具体的な例を、以下に順次説明する。
Through FIG. 16 and FIG. 17 (except when it cannot be confirmed in step S53 of FIG. 16 and when NO is determined in step S73), the
最初に図18のフローチャートを参照して、図7の端末SAM42が図13のサーバ14からスクリプトIDを取得し、登録する処理について説明する。なお、この処理は、端末SAM42が、サービス提供者であるサーバ14からスクリプトをダウンロードするために、スクリプトをダウンロードする前提の処理として実行される処理である。
First, a process in which the
ステップS111において、サーバ14の鍵ペア生成部453は、サーバ公開鍵412とサーバ秘密鍵413を生成する。生成されたサーバ公開鍵412とサーバ秘密鍵413は、図12のサービス提供者固有情報404に記憶される。
In step S111, the key pair generation unit 453 of the
ステップ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)に送信する。
In step S112, the
これに対して、端末SAM42の入力部201(図7)は、ステップS131において、サーバのURL411、サーバ公開鍵412、およびサーバ14が提供する(複数の)スクリプトIDを受信する。
In contrast, in step S131, the input unit 201 (FIG. 7) of the
ステップS132において、主制御部202は、サーバIDを発行する。このサーバIDは、端末SAM42の内部で、サーバ14を一意に特定するためのIDである。
In step S132, the
ステップS133において、主制御部202は、サーバ証明書フォルダ123に、ステップS132の処理で発行したサーバID、ステップS131の処理で受信したサーバ公開鍵412、およびサーバのURL411を、サーバID131、サーバ公開鍵132、およびURL133として登録する。このとき、サーバID131、サーバ公開鍵132およびURL133が対応付けられて登録されるので、複数のサービス提供者からサービスを受ける場合においても、端末SAM42は対応することができる。
In step S133, the
ステップ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)である。その後、処理は終了される。
In step S <b> 134, the
図18の処理により、サーバID131(サーバID151と同じID)、サーバ公開鍵132、およびサーバ14のURL133が対応付けられるとともに、サーバID151(サーバID131と同じID)とスクリプトID152が対応付けられるため、端末SAM42において、スクリプトID152に対応するサーバID151(サーバID131)を特定することができ、また、サーバID131(サーバID151)に対応するサーバ公開鍵132、サーバ14のURL133を特定することができる。
18, the server ID 131 (the same ID as the server ID 151), the server
次に、図19と図20のフローチャートを参照して、図7の端末SAM42が、サービス提供者である図13のサーバ14からスクリプトをダウンロードする場合の処理について説明する。なお、この処理は、端末SAMクライアント11の管理者(例えば、端末SAMクライアント11を管理している店舗の店長)が、端末SAM42に対して、スクリプトのダウンロード(更新)を指令したとき開始される。また、図18の処理の後実行される処理である。
Next, processing when the
ステップS171において、端末SAM42の主制御部202(図7)は、端末SAM42の管理者からの、サーバIDとスクリプトIDの指定と、(スクリプトの)ダウンロードの要求を、図7の入力部201(図4の入力部76)を介して受け付ける。すなわち、端末SAM42の管理者は、ダウンロードするスクリプトのサーバIDとスクリプトIDの指定とともに、ダウンロードの要求を、端末SAM42に対して指令する。サーバIDやスクリプトIDは、上述した図18の処理で登録されたものである。
In step S171, the main control unit 202 (FIG. 7) of the
ステップS172において、端末SAM42の署名処理部206は、指定されたスクリプトIDと端末SAM秘密鍵を用いて、スクリプトIDの署名(端末SAM42によるスクリプトIDに対する署名)を生成する。例えば、ステップS171の処理で指定されたスクリプトIDが、図5のスクリプトID152である場合、署名処理部206は、スクリプトID152をハッシュ関数プログラムで圧縮するとともに端末SAM秘密鍵144で暗号化することで、スクリプトIDの署名を生成する。図15の例の場合、メッセージMがスクリプトID152であり、送信元の秘密鍵Ksが端末SAM秘密鍵144である。
In step S172, the
ステップ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の署名とを送信する。
In step S173, based on the control from the
これに対して、サーバ14の入力部451は、ステップS151において、暗号化された端末SAM識別子141およびスクリプトID152と、スクリプトIDの署名とを受信する。すなわち、このサーバ14のURL411(図12)は、ステップS173の処理で特定されたURL133と同じURLである。そして、復号部457は、サーバ秘密鍵413を用いて、暗号化されている端末SAM識別子141およびスクリプトID152を復号し、端末SAM識別子141とスクリプトID152を得る。
On the other hand, the
ステップS152において、主制御部452は、ステップS151の処理で復号して得られた端末SAM識別子141と同じ端末SAM識別子431に対する端末SAM公開鍵432を、端末証明書フォルダ406から取得する。端末SAM証明書フォルダ406に格納されている情報は、図16と図17を参照して説明したように、認定機関13により認定されたものである。
In step S152, the
ステップS153において、検証処理部455は、主制御部452からの制御に基づいて、スクリプトID152と端末SAM公開鍵432を用いて、スクリプトIDの署名を検証する。具体的には、スクリプトID152をハッシュ関数プログラムで圧縮した値を、端末SAM公開鍵432で暗号化したものと、スクリプトIDの署名が一致するか否かにより検証を行なう。すなわち、検証処理部455は、主制御部452からの制御に基づいて、スクリプトIDの署名と端末SAM公開鍵432を用いて、スクリプトIDが正当であることを検証する。
In step S153, the
ステップS154において、検証処理部454は、スクリプトID152が正当であることが検証されたか否かを判定し、正当であることが検証されなかったと判定した場合、処理を終了し、正当であることが検証されたと判定した場合、処理をステップS155に進める。
In step S154, the
ステップS155において、主制御部452は、スクリプトフォルダ405から、スクリプトID152と同じスクリプトID421に対応するスクリプト422を取得する。例えば、スクリプトフォルダ405に複数のスクリプトIDとそれに対応するスクリプトが登録されていた場合には、主制御部452は、正当であることが検証されたスクリプトID(ステップS151の処理で受信したスクリプトID)と同じスクリプトIDに対応するスクリプトを取得する。
In step S 155, the
ステップS156において、署名処理部454は、主制御部452からの制御に基づいて、取得したスクリプト422とサーバ秘密鍵413を用いて、スクリプトの署名(サーバ14によるスクリプトに対する署名)を生成する。具体的には、取得したスクリプト422をハッシュ関数プログラムで圧縮し、その値をサーバ秘密鍵413で暗号化することで、スクリプトの署名を生成する(図15の例の場合、メッセージMがスクリプト422であり、送信元の秘密鍵Ksがサーバ秘密鍵413である)。なお、スクリプトの署名(サーバ14によるスクリプトに対する署名)は、あらかじめ署名処理部454が生成し、記憶しておくようにし、ステップS156の処理で読み出すようにしてもよい。
In step S156, the
ステップS157において、暗号化部456は、主制御部452からの制御に基づいて、ステップS155の処理で取得したスクリプト422を、端末SAM公開鍵432により暗号化する。
In step S157, the
ステップS158において、出力部459は、主制御部452からの制御に基づいて、ステップS156の処理で生成されたスクリプトの署名と、ステップS157の処理で暗号化されたスクリプトとを、ネットワーク12を介して端末SAM42に送信する。
In step S158, the
これに対して、端末SAM42の入力部201は、ステップS174において、主制御部202からの制御に基づいて、スクリプトの署名と、端末SAM公開鍵432により暗号化されたスクリプトを受信する。
On the other hand, the
ステップS175において、復号部208は、主制御部202からの制御に基づいて、端末SAM公開鍵432により暗号化されたスクリプトを、端末SAM秘密鍵144で復号する。
In step S175, the decrypting
ステップS176において、検証処理部206は、主制御部202からの制御に基づいて、復号して得られたスクリプトと、サーバ公開鍵132(ステップS171の所定で受け付けたサーバID131に対応するサーバ公開鍵132)とを用いて、受信されたスクリプトの署名を検証する。署名の検証の詳細は、図14を用いて上述したので省略する。すなわち、検証処理部206は、主制御部202からの制御に基づいて、スクリプトの署名とサーバ公開鍵132を用いて、スクリプトが正当であることを検証する。
In step S176, the
ステップS177において、検証処理部454は、スクリプトが正当であることが検証されたか否かを判定し、正当であることが検証されなかったと判定した場合、処理を終了する。正当であることが検証されたと判定された場合、処理はステップS178に進む。
In step S177, the
ステップS178において、主制御部202は、正当であることが検証されたスクリプト422を、スクリプトフォルダ126のサーバID151とスクリプトID152に対応したスクリプト153として登録し、処理を終了する。このスクリプト153は、図19のステップS171で指定されたスクリプトIDに対応するスクリプトである。
In step S178, the
図19と図20の処理により、端末SAM42において、サーバID、スクリプトID、およびスクリプトのダウンロードが要求された場合に、安全、かつ、確実に対応するスクリプトをサービス提供者であるサーバ14から取得することができる。
19 and 20, when the
次に、図7の端末SAM42において、スクリプトの実行が指令された場合における処理について説明する。図7の端末SAM42にスクリプトIDの指定とともにスクリプトの実行が指令された場合、スクリプトIDに対応するスクリプトを、端末SAM42がダウンロードしていない場合(すなわち、実行が指令されたスクリプトについて、図19と図20の処理がまだ行われていない場合)や、既に、実行が指令されたスクリプトを端末SAM42がダウンロードしている場合(すなわち、実行が指令されたスクリプトについて、図19と図20の処理が既に行われている場合)が考えられる。前者を図21と図22のフローチャートを参照して説明し、後者を図23のフローチャートを参照して説明する。
Next, processing when the execution of a script is instructed at the
図21と図22は、端末SAM42にスクリプトの実行が指令された場合であって、まだサーバ14から実行が指令されたスクリプトを取得していない場合における処理を説明するフローチャートである。この処理は、端末SAMクライアント11の管理者(例えば、端末SAMクライアント11を管理している店舗の店長)が、端末SAM42に対して、スクリプトの実行を指令したとき開始される。
FIGS. 21 and 22 are flowcharts for explaining processing in a case where execution of a script is instructed to the
端末SAM42の主制御部202(図7)は、ステップS211において、端末SAM42の管理者からの、サーバID、スクリプトID、およびパラメータの指定、並びにスクリプトの実行要求を、入力部201を介して受け付ける。すなわち、端末SAM42の管理者は、実行するスクリプトのサーバID、スクリプトID、およびパラメータの指定とともに、スクリプトの実行要求を、端末SAM42に対して指令する。パラメータとしては、例えば、サービス提供者Aが提供しているICカードの使用と、そのICカードから100円消費することを示す値が指定される。なお、サーバIDやスクリプトIDは、上述した図18の処理で登録されたものである。
In step S211, the main control unit 202 (FIG. 7) of the
ステップS212において、主制御部202は、スクリプトフォルダ126において、ステップS211の処理で受け付けたサーバIDとスクリプトIDに対応するスクリプトを検索する。図5のスクリプトフォルダ126には、1つのサーバID151とスクリプトID152に対応するスクリプト153しか登録されていないが、実際には、この他に、サーバIDとスクリプトIDのみのもの(すなわち、スクリプトが登録されていないもの)なども複数登録されている。そのため、この処理では、実行が要求されたサーバIDとスクリプトIDに対応するスクリプトが、スクリプトフォルダ126に登録されているか否かが検索される。図21と図22の処理の例では、スクリプトフォルダ126に、サーバIDとスクリプトIDに対応するスクリプトがないので、以下の処理では、そのスクリプトIDに対応する処理を、サービス提供者に対して要求する。
In step S212, the
ステップS213において、端末SAM42の署名処理部206は、指定されたスクリプトIDと端末SAM秘密鍵144を用いて、スクリプトIDの署名を生成する。この処理は図19のステップS172と同様である。なお、スクリプトIDの署名は、署名処理部206によりあらかじめ生成し、記憶しておくようにしてもよい。この場合、ステップS213の処理で、記憶しておいたスクリプトIDの読み出しが行われる。
In step S213, the
ステップS214において、暗号化部207は、主制御部202からの制御に基づいて、ステップS211の処理で受け付けられたサーバIDに対応するサーバ公開鍵を用いて、スクリプトID、パラメータ、および端末SAM識別子を暗号化する。ステップS211の処理で受け付けられたサーバIDが、図5のサーバID131と同じであった場合、暗号化部207は、サーバ公開鍵132を用いて、スクリプトID、パラメータ(サービス提供者Aが提供しているICカードで100円消費することを示すパラメータ)、および端末SAM識別子141を暗号化する。
In step S214, the
ステップS215において、出力部210は、主制御部202からの制御に基づいて、サーバID131により特定されるURL133に対して、スクリプトIDの署名と、暗号化した「スクリプトID、パラメータ、および端末SAM識別子141」とを送信する。
In step S215, based on the control from the
これに対して、URL133に対応するサーバ14(サービス提供者)の入力部451は、ステップS191において、スクリプトIDの署名と、暗号化された「スクリプトID、パラメータ、および端末SAM識別子141」とを受信する。
In response to this, the
ステップS192において、復号部457は、主制御部452からの制御に基づいて、暗号化された「スクリプトID、パラメータ、および端末SAM識別子141」をサーバ秘密鍵413で復号する。
In
ステップS193において、主制御部452は、端末SAM識別子141(復号し、得られた端末SAM識別子141)により特定される端末SAM公開鍵を取得する。具体的には、主制御部452は、復号して得られた端末SAM識別子141と同じ端末SAM識別子431により特定される、端末SAM公開鍵432を取得する。
In step S193, the
ステップS194において、検証処理部455は、スクリプトIDと端末SAM公開鍵432を用いて、スクリプトIDの署名を検証する。具体的には、スクリプトIDをハッシュプログラムで圧縮した値と、スクリプトIDの署名(ステップS191の処理で受信したスクリプトIDの署名を端末SAM公開鍵432で復号した値とが、一致するか否かにより、スクリプトIDの署名が正当であるか否かが判定される。すなわち、スクリプトIDが改ざんされていないか否かが判定される。
In step S194, the
ステップS195において、検証処理部455は、スクリプトIDが正当であることが検証されたか否かを判定し、正当であることが検証されなかったと判定した場合、処理を終了する。ステップS195において、スクリプトIDが正当であることが検証されたと判定された場合、処理はステップS196に進む。
In step S195, the
ステップS196において、主制御部452は、ステップS192の処理で復号した結果得られたスクリプトIDに基づいて、図12のスクリプトフォルダ405からプログラムを特定する。例えば、主制御部452は、得られたスクリプトIDがスクリプトID421と同じであった場合、このスクリプトIDに対応付けられているプログラム423を特定する。
In step S196, the
ステップS197において、プログラム実行部458は、パラメータに基づいてプログラムを実行し、実行結果を生成する。例えば、プログラム実行部458は、サーバ14がサービスを提供しているICカードで100円使用したというパラメータに基づいて、プログラム423を実行し、その実行結果を生成する。
In step S197, the
このように、処理能力が高いサーバ14側では、スクリプトIDに対してプログラムが実行され、処理能力が比較的低い端末SAM42側では、スクリプトIDに対してスクリプトが実行される。
Thus, on the
ステップS198において、署名処理部454は、主制御部452からの制御に基づいて、プログラム実行結果とサーバ秘密鍵413を用いて、プログラム実行結果の署名(サーバ14によるプログラム実行結果に対する署名)を生成する。図15の例の場合、メッセージMがプログラム実行結果であり、送信元の秘密鍵がサーバ秘密鍵413である。
In step S198, the
ステップS199において、主制御部452は、端末SAM証明書フォルダ406から端末SAM識別子431(ステップS192で復号して得られた端末SAM識別子と同じ端末SAM識別子431)により特定される端末SAM公開鍵432を取得する。
In step S199, the
ステップS200において、暗号化部456は、主制御部452からの制御に基づいて、プログラム実行結果を、端末SAM公開鍵で暗号化する。
In step S200, the
ステップS201において、出力部459は、プログラム実行結果の署名(ステップS198の処理で生成された署名)と、暗号化されたプログラム実行結果(ステップS200の処理で暗号化されたプログラム実行結果)を、端末SAM42に送信する。
In step S201, the
これに対して、端末SAM42の入力部201は、ステップS216において、プログラム実行結果の署名と、暗号化されたプログラム実行結果とを受信する。
On the other hand, in step S216, the
ステップS217において、復号部208は、暗号化されたプログラム実行結果を、端末SAM秘密鍵144で復号する。これによりプログラム実行結果が得られる。
In step S217, the
ステップS218において、検証処理部206は、プログラム実行結果とサーバ公開鍵132(ステップS211で受け付けられたサーバID131に対応するサーバ公開鍵132)とを用いて、プログラム実行結果の署名を検証する。すなわち、検証処理部206は、主制御部202からの制御に基づいて、プログラム実行結果の署名とサーバ公開鍵132とを用いて、プログラム実行結果が正当であることを検証する。
In step S218, the
ステップS219において、検証処理部206は、プログラム実行結果が正当であることが検証されたか否かを判定し、正当であることが検証されなかったと判定した場合、処理を終了する。ステップS219において、正当であることが検証されたと判定された場合、処理はステップS220に進み、出力部210は、主制御部202からの制御に基づいて、プログラム実行結果を出力する。例えば、出力部210は、図示せぬディスプレイなどに出力することで、端末SAM42の管理者に実行結果を通知する。その後、処理は終了される。
In step S219, the
次に、図7の端末SAM42にスクリプトIDの指定とともにスクリプトの実行が指令された場合、実行が指令されたスクリプトを端末SAM42がダウンロードしている場合(すなわち、実行が指令されたスクリプトについて、図19と図20の処理が既に行われている場合)の処理(すなわち、上述した後者の場合の処理)を、図23のフローチャートを参照して説明する。
Next, when the script execution is instructed together with the script ID designation to the
端末SAM42の主制御部202(図7)は、ステップS251において、端末SAM42の管理者からの、サーバIDおよびスクリプトIDの指定、並びにスクリプトの実行要求を、図6の入力部256を介して受け付ける。すなわち、端末SAM42の管理者は、実行するスクリプトのサーバIDとスクリプトIDの指定とともに、スクリプトの実行要求を、端末SAM42に対して指令する。このスクリプトの実行要求には、パラメータ(例えば、サービス提供者Aが提供しているICカードの使用と、そのICカードから100円消費することを示すパラメータ)が含まれる。
In step S251, the main control unit 202 (FIG. 7) of the
ステップS252において、主制御部202は、スクリプトフォルダ126において、ステップS251の処理で受け付けたサーバIDとスクリプトIDに対応するスクリプトを検索する。図23の処理の例では、スクリプトフォルダ126に、サーバID151とスクリプトID152に対応するスクリプト153があるとされ、以下の処理では、そのスクリプトID152に対応する処理が実行される。
In step S252, the
ステップS253において、端末SAM42のスクリプト実行部209は、指定されたスクリプト(ステップS252の処理で検索された結果特定されたスクリプト)153を実行する。
In step S253, the
ステップS254において、主制御部202は、ICカードにアクセスするか否かを判定する。例えば、ステップS251の処理で実行が要求されたスクリプトが、ICカードにアクセスするべき内容のスクリプトである場合には、アクセスすると判定される。
In step S254, the
ステップS254において、ICカードにアクセスすると判定された場合、ステップS255において、出力部210は、ICカードリーダライタアンテナ43(図3)に対して、アクセスの指令を送信する。このとき、スクリプトの実行に対応するパラメータなど(例えば、100円分の金額を減算することを示すパラメータ)もあわせて送信される。なお、スクリプト記述内にICカード51へのアクセスの指令が複数記述されている場合には、出力部210は、ICカードリーダライタアンテナ43(図3)に対して、複数回のアクセスの指令を送信する。また、スクリプト記述内にICカードへのアクセスの指令の他、制御端末41やサーバ14へのアクセスの指令が複数記述されている場合には、出力部210は、制御端末41やサーバ14に対して、それぞれアクセスの指令を送信する(またはアクセスする)。
If it is determined in step S254 that the IC card is accessed, in step S255, the
これに対して、ICカードリーダライタアンテナ43は、ステップS231において、端末SAM42の出力部210からの指令を受け付け、ステップS232において、ICカード(図3のICカード51)にアクセスする。
On the other hand, the IC card reader / writer antenna 43 receives a command from the
そして、ICカードリーダライタアンテナ43は、ステップS233において、アクセスした結果(例えば、ICカード51から100円分の金額を減算が成功したことを示す結果)を、端末SAM42に対して送信する。
Then, in step S233, the IC card reader / writer antenna 43 transmits the access result (for example, a result indicating that the amount of 100 yen from the
これに対して、端末SAM42の入力部201は、ステップS256において、アクセスした結果(100円の金額の減算が成功したことを示す結果)を受信する。
On the other hand, in step S256, the
ステップS254においてICカードにアクセスしないと判定された場合、またはステップS256の処理の後、ステップS257において、スクリプト実行部209は、スクリプト実行結果を生成し、出力部210は、これを出力する。出力部210は、例えば、図示せぬディスプレイなどに出力することで、端末SAM42の管理者に実行結果を通知する。その後、処理は終了される。
When it is determined in step S254 that the IC card is not accessed, or after the processing in step S256, in step S257, the
図21乃至図23により、スクリプト実行時に、対応するスクリプトがダウンロードされていれば、端末SAM42内でスクリプトを実行し、対応するスクリプトがダウンロードされていなければサーバ14(サービス提供者)に対して実行を要求することで、端末SAM42の管理者が、スクリプトIDを指定するだけで、端末SAM42におけるスクリプトのダウンロードの有無にかかわらずスクリプトIDに対応する処理を実行することができる。
21 to 23, if the corresponding script is downloaded at the time of executing the script, the script is executed in the
次に、図24のフローチャートを参照して、端末SAM42がスクリプト実行中に、制御端末41にアクセスを行なう場合の処理の例を説明する。なお、この処理は、例えば、図23のステップS253において、スクリプトを実行するときに開始される処理である。
Next, an example of processing when the
ステップS291において、端末SAM42のスクリプト実行部209は、実行中のスクリプトに制御端末41とのメッセージ交換要求が記述されているか否かを判定する。制御端末41とのメッセージ交換要求が記述されていると判定された場合、ステップS292において、出力部210は、主制御部202からのスクリプト実行部209を介する制御に基づいて、スクリプトに記述された制御端末アクセス記述を、制御端末41(図3)に送信する。この制御端末アクセス記述は、制御端末41において実行させる処理に関する記述とされる。なお、スクリプト記述内に制御端末41へのアクセスの指令が複数記述されている場合には、出力部210は、制御端末41に対して複数回、アクセス記述を送信する。また、スクリプト記述内に制御端末アクセス記述の他、ICカード51やサーバ14へのアクセスの指令が複数記述されている場合には、出力部210は、ICカードリーダライタ43やサーバ14に対して、それぞれアクセスの指令を送信する(またはアクセスする)。
In step S291, the
これに対して、制御端末41(図3)は、ステップS271において、制御端末アクセス記述を受信する。 On the other hand, the control terminal 41 (FIG. 3) receives the control terminal access description in step S271.
ステップS272において、制御端末41は、受信した制御端末アクセス記述に基づく処理を実行し、制御端末アクセス記述結果を生成する。そして制御端末41は、ステップS273において、制御端末アクセス記述結果を、端末SAM42に対して送信する。
In step S272, the
これに対して、端末SAM42の入力部201は、ステップS293において、制御端末アクセス記述結果を受信し、ステップS294において、主制御部202は、制御端末アクセス記述結果を、スクリプト実行部209に戻す。
On the other hand, the
ステップS291において、スクリプトに制御端末41とのメッセージ交換要求が記述されていないと判定された場合、またはステップS294の処理の後、処理は終了される。
In step S291, when it is determined that the message exchange request with the
図24の処理により、スクリプト実行中に制御端末41とのメッセージ交換要求が記述されている場合においても、端末SAM42は、制御端末41との間でメッセージを交換することができる。
24, the
次に、図25と図26のフローチャートを参照して、スクリプト実行中にサーバ14に対してアクセスを行なう場合の処理の例を説明する。なお、この処理は、例えば、図23のステップS253において、スクリプトを実行するときに開始される処理である。
Next, an example of processing when the
ステップ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を取得する。
In step S331, the
ステップS333において、署名処理部205は、主制御部202からの制御に基づいて、端末SAM秘密鍵144を用いて、サーバアクセス記述とスクリプトIDの署名(端末SAM42によるサーバアクセス記述とスクリプトIDに対する署名)を生成する。図15の例の場合、メッセージMがサーバアクセス記述とスクリプトIDであり、送信元の秘密鍵Ksが端末SAM秘密鍵144である。
In step S333, the signature processing unit 205 uses the terminal SAM
ステップS334において、暗号化部207は、主制御部202からの制御に基づいて、サーバアクセス記述とスクリプトIDをサーバ公開鍵132(ステップS332の処理で取得されたサーバ公開鍵132)で暗号化する。
In step S334, the
ステップS335において、出力部210は、主制御部202からの制御に基づいて、サーバアクセス記述とスクリプトIDの署名(ステップS333で生成された署名)、暗号化したサーバアクセス記述とスクリプトID(ステップS334)、および端末SAM識別子141をURL133に対して送信する。すなわち、端末SAM識別子141、暗号化された情報(サーバアクセス記述とスクリプトID)、および署名(サーバアクセス記述とスクリプトIDの署名)の3つが送信される。
In step S335, the
これに対して、サービス提供者であるサーバ14の入力部451は、ステップS311において、サーバアクセス記述とスクリプトIDの署名、暗号化されたサーバアクセス記述とスクリプトID、および端末SAM識別子141を受信する(入力を受け付ける)。
On the other hand, the
ステップS312において、復号部457は、主制御部452からの制御に基づいて、暗号化されたサーバアクセス記述とスクリプトIDをサーバ秘密鍵(図12のサーバ秘密鍵413)で復号する。
In step S312, the
ステップS313において、主制御部452は、ステップS311の処理で受信された端末SAM識別子141により特定される端末SAM公開鍵を取得する。例えば、端末SAM識別子141と図12の端末SAM識別子431が同じである場合、端末SAM識別子431により特定される端末SAM公開鍵432が取得される。
In step S313, the
ステップS314において、検証処理部455は、主制御部452からの制御に基づいて、サーバアクセス記述およびスクリプトIDの署名と、ステップS313の処理で取得された端末SAM公開鍵432を用いて、サーバアクセス記述およびスクリプトIDを検証する。具体的には、サーバアクセス記述とスクリプトIDに対してハッシュ関数プログラムで圧縮した結果を、サーバ秘密鍵413で暗号化した結果と、サーバアクセス記述とスクリプトIDの署名が一致するか否かが検証される。すなわち、検証処理部455は、主制御部452からの制御に基づいて、サーバアクセス記述およびスクリプトIDの署名と、サーバ秘密鍵413とを用いて、サーバアクセス記述およびスクリプトIDが正当であることを検証する。
In step S314, the
ステップS315において、サーバアクセス記述とスクリプトIDが正当であることが検証されたか否かが判定され、正当であることが検証されなかったと判定された場合、処理は終了される。ステップS315において、サーバアクセス記述とスクリプトIDが正当であることが検証されたと判定された場合、ステップS316において、サーバ14のプログラム実行部458は、主制御部452からの制御に基づいて、正当であることが検証されたサーバアクセス記述に基づいて、処理を実行し、サーバアクセス記述結果を生成する。
In step S315, it is determined whether or not the server access description and the script ID are verified to be valid. If it is determined that the server access description and the script ID are not verified, the process is terminated. If it is determined in step S315 that the server access description and the script ID are verified as valid, the
ステップS317において、署名処理部454は、主制御部452からの制御に基づいて、サーバ秘密鍵413を用いて、サーバアクセス記述結果の署名(サーバ14によるサーバアクセス記述結果に対する署名)を生成する。
In step S317, the
ステップS318において、暗号化部456は、主制御部452からの制御に基づいて、サーバアクセス記述結果を、ステップS313の処理で取得された端末SAM公開鍵432で暗号化する。
In step S318, the
ステップS319において、出力部459は、主制御部452からの制御に基づいて、サーバアクセス記述結果の署名(ステップS317)と、暗号化したサーバアクセス記述結果(ステップS318)とを、端末SAM42に送信する。
In step S319, the
これに対して、端末SAM42の入力部201は、ステップS336において、サーバアクセス記述結果の署名と、暗号化したサーバアクセス記述結果とを受信する。
On the other hand, in step S336, the
ステップS337において、復号部208は、主制御部202からの制御に基づいて、暗号化されているサーバアクセス記述結果を、端末SAM秘密鍵144で復号する。
In step S337, the decrypting
ステップS338において、検証処理部206は、主制御部202からの制御に基づいて、サーバアクセス記述結果とサーバ公開鍵132(ステップS334の処理で用いたサーバ公開鍵と同じ公開鍵)を用いてサーバアクセス記述結果の署名を検証する(上述した検証の処理と同様)。すなわち、検証処理部206は、主制御部202からの制御に基づいて、サーバアクセス記述結果の署名と、サーバ公開鍵132とを用いて、サーバアクセス記述結果が正当であることを検証する。
In step S338, the
ステップS339において、検証処理部206は、サーバアクセス記述結果が正当であることが検証されたか否かを判定し、正当であることが検証されたと判定された場合、ステップS340において、主制御部202は、サーバアクセス記述結果をスクリプト実行部209に戻し、処理を終了する。またステップS339において、正当であることが検証されなかったと判定された場合、処理は終了される。
In step S339, the
図26の処理により、スクリプトの実行途中に、サーバ14にアクセスが必要である場合に、そのメッセージを受け取る受け手側(例えば、サーバ14)の公開鍵で暗号化してサーバ14に送信することで、セキュアにメッセージ交換を行なうことができる。また、スクリプト実行中に、スクリプトに記述された内容に基づいた高度な分岐処理を行なうことができる。
26, when access to the
次に、サーバ14と端末SAM42がオフラインの状態で、端末SAM42においてスクリプトを実行した後、その処理結果をログとして保存しておき、後で、サーバ14と端末SAM42がオンラインになったときにサーバ14にログをアップロードする場合の処理を、図27と図28を参照して説明する。
Next, after the script is executed in the
図27は、端末SAM42とICカードリーダライタアンテナ43(図3)において実行される処理の例を説明するフローチャートである。この処理は、基本的には、図23の処理と対応しており、適宜、図23の処理を流用して説明する。
FIG. 27 is a flowchart for explaining an example of processing executed in the
ステップS371乃至ステップS373の処理は、図23のステップS251乃至ステップS253に対応しているのでその説明は省略する。 The processing in steps S371 through S373 corresponds to steps S251 through S253 in FIG.
ステップS374において、出力部210は、ICカードリーダライタアンテナ43(図3)に対して、アクセスの指令を送信する。このとき、スクリプトの実行に対応するパラメータなど(例えば、100円分の金額を減算することを示すパラメータ)もあわせて送信される。
In step S374, the
これに対するICカードリーダライタアンテナ43のステップS351乃至353の処理は、図23のステップS231乃至ステップS233の処理に対応しているのでその説明は省略する。 The processing of steps S351 to 353 of the IC card reader / writer antenna 43 corresponding to this corresponds to the processing of steps S231 to S233 of FIG.
ステップS375において、端末SAM42の入力部201は、アクセスした結果(100円の金額の減算が成功したことを示す結果)を受信する。
In step S375, the
ステップS376において、スクリプト実行部209は、スクリプト実行結果を生成する。
In step S376, the
ステップS377において、主制御部202は、スクリプトID(ステップS371で指定されたスクリプトID)、と時刻情報(現在の時刻の情報)を、スクリプト実行結果に付加し、スクリプト実行結果付加情報とする。
In step S377, the
ステップS378において、署名処理部205は、端末SAM秘密鍵144を用いて、スクリプト実行結果付加情報の署名(図15においてメッセージMがスクリプト実行結果付加情報であり、送信もとの秘密鍵Ksが端末SAM秘密鍵144である)を生成する。
In step S378, the signature processing unit 205 uses the terminal SAM
ステップS379において、主制御部202は、ステップS378の処理で生成されたスクリプト実行結果付加情報の署名、並びにサーバIDおよびスクリプト実行結果付加情報を、ログフォルダ128のログ171として登録する。
In step S379, the
図27の処理により、スクリプト実行結果に時刻情報とスクリプトIDが付加されたものがログ171に登録される。この処理は、端末SAM42とサーバ14の間がオフラインであって、スクリプトが実行されるたびに繰り返され、これにより、複数のログがログフォルダ128に登録される。
With the processing in FIG. 27, the script execution result with time information and script ID added is registered in the
次に、図28のフローチャートを参照して、図27の処理の繰り返しによりログフォルダ128に登録された(複数の)ログ171を、サーバ14に送信する場合の処理を説明する。
Next, with reference to the flowchart of FIG. 28, processing when the log 171 (a plurality of) registered in the
ステップS411において、端末SAM42の主制御部202は、サーバ14と接続されたか否かを判定し、接続されるまで待機する。すなわち、これ以降の処理は、サーバ14と端末SAM42がオンライン(接続)されたとき開始される。
In step S411, the
ステップS411において、サーバ14と端末SAM42が接続されたと判定された場合、主制御部202は、ステップS412において、接続されたサーバ14のサーバIDを、サーバ証明書フォルダ123から検索し、URLを取得する。例えば、接続されたサーバ14のサーバIDが、図5のサーバID131である場合、主制御部202は、サーバID131のURL133を取得する。
If it is determined in step S411 that the
ステップS413において、主制御部202は、ログフォルダ128に登録されているログの中から、サーバIDが同じログを取得する。図27を用いて上述したように、ログには、スクリプト実行結果付加情報の他に、サーバIDも含まれているので、主制御部202は、このサーバIDに基づいて同じサーバIDを持つログを取得する。例えば、図5のログ171が取得される。
In step S413, the
ステップS414において、暗号化部207は、主制御部202からの制御に基づいて、ログ171に含まれるサーバIDとスクリプト実行結果付加情報を、サーバ公開鍵132(サーバIDに対応するサーバ公開鍵)で暗号化する。
In step S414, based on the control from the
ステップS415において、出力部210は、主制御部202からの制御に基づいて、スクリプト実行結果付加情報の署名(ステップS413で取得されたログに含まれるスクリプト実行結果付加情報の署名、すなわち、図27のステップS378で生成された署名)、暗号化された「サーバIDおよびスクリプト実行結果付加情報」、並びに端末SAM識別子141を、URL133(ステップS412の処理で取得されたURL)に対して送信する。すなわち、端末SAM識別子141、暗号化された結果(サーバIDとスクリプト実行結果付加情報が暗号化された結果)、署名(スクリプト実行結果付加情報の署名)の3つを(少なくとも)含む情報が送信される。
In step S415, the
これに対して、サーバ14の入力部451は、ステップS391において、スクリプト実行結果付加情報の署名、暗号化されたサーバIDおよびスクリプト実行結果付加情報、並びに端末SAM識別子141を受信する。
In contrast, in step S391, the
ステップS392において、復号部457は、サーバ秘密鍵413を用いて、暗号化されたサーバIDおよびスクリプト実行結果付加情報を復号する。
In step S392, the
ステップS393において、主制御部452は、ステップS391で受信した端末SAM識別子に対応する端末SAM公開鍵を取得する。例えば、図12の端末SAM識別子391の端末SAM公開鍵432が取得される。
In step S393, the
ステップS394において、検証処理部455は、主制御部452からの制御に基づいて、スクリプト実行結果付加情報と端末SAM公開鍵432を用いて、スクリプト実行結果付加情報の署名を検証し、ステップS395において、スクリプト実行結果付加情報が正当であるか否かを判定する。すなわち、検証処理部455は、主制御部452からの制御に基づいて、スクリプト実行結果付加情報の署名と端末SAM公開鍵432とを用いて、スクリプト実行結果付加情報が正当であることを検証する。
In step S394, the
ステップS395において、スクリプト実行結果付加情報が正当であることが検証されたと判定された場合、主制御部452は、スクリプト実行結果付加情報に付加されていたスクリプトIDと時刻情報を取り出し、ログとして保存した後、処理を終了する。また、ステップS395において正当であることが検証されなかったと判定された場合、処理は終了される。
In step S395, when it is determined that the script execution result additional information is verified as valid, the
図27と図28の処理により、スクリプト実行結果に時刻情報を追加して署名を付与するとともに、端末SAM42にログ171として登録しておくことにより、サービス提供者のサーバ14と通信コネクションが確立されたときにまとめてアップロードすることができる。
27 and 28, the time information is added to the script execution result to add a signature, and the signature is registered as a
以上によれば、認定機関13が、端末SAM42を証明するようにしたので、サービス提供者(サーバ14)側で、証明済みの端末SAM42を認識して、データの授受を行なうことができる。
As described above, since the
すなわち、認定機関13が、端末SAM42の能力が正常であることを認定(証明)することで、サービス提供者が、認定済みの端末SAM42を容易に判断することができる。
That is, the
このようにすることで、端末SAM42の内部に格納(登録)されているスクリプトやその実行状況が参照されることがなく、第三者(例えば、あらかじめ登録しておいたスクリプトを提供したサービス提供者Aとは異なるサービス提供者B)が実行可能なスクリプトを格納することができる。
In this way, a third party (for example, a service providing a pre-registered script is provided without referring to the script stored or registered in the
また、サービス提供者(サーバ14)は、認定機関13により発行された端末SAM公開鍵の署名(端末SAMの証明書)を端末SAM42から取得し、この署名に基づいて端末SAM公開鍵が正当でることを検証することで、端末SAM42が認定済みの端末SAMであることを確実、かつ、容易に認識することができる。これに対して、端末SAM42は、サービス提供者(サーバ14)の証明書(図5のサーバ証明書フォルダ123)をサーバ14から取得しておき、サーバ14からスクリプトなどが送信されてきた場合には、スクリプトを検証することで(例えば、図20のステップS176)、端末SAM42においても、安全な情報のみを受信することができる。このような処理を行なうことで、サービス提供者(サーバ14)と端末SAMクライアント11との間で、安全に(合意して)コンテンツ送受信することができる。
Also, the service provider (server 14) obtains the signature of the terminal SAM public key (terminal SAM certificate) issued by the
さらに、端末とサーバが容易に認証を行なうことができる。また、安全、かつ、容易に端末とサーバが情報を授受することができる。さらに、サーバの管理コストを抑えることができる。 Further, the terminal and the server can easily authenticate. In addition, the terminal and the server can exchange information safely and easily. Furthermore, server management costs can be reduced.
また、以上のような構成により、複数のスクリプトを管理し、いつでもスクリプトと登録、削除、または更新することができる。また、異なるサービス提供者からのスクリプトを、安全に格納することができる。例えば、サービス提供者Aからのスクリプトとサービス提供者Bからのスクリプトが端末SAM42に記憶されており、サービス提供者Bが、スクリプトと更新する場合においても、サービス提供者Bは、自分自身が提供しているスクリプトしか見ることができない。このことは、図5のスクリプトフォルダ126が、サーバID151、スクリプトID152に対して、スクリプト153が格納されているためである。
In addition, with the configuration as described above, a plurality of scripts can be managed and registered, deleted, or updated with scripts at any time. In addition, scripts from different service providers can be stored safely. For example, even when a script from the service provider A and a script from the service provider B are stored in the
また、端末SAMクライアント11に端末SAM42を格納することで、端末SAM42により管理されたスクリプトを実行し、そのスクリプトに記述されたカードアクセス処理を、ICカードリーダライタアンテナ43を利用して、ICカードにアクセスすることで行なうこともできる。
Further, by storing the
さらに、サービス提供者の所持するスクリプトIDリストを端末SAM42のスクリプトフォルダ126(セキュリティボックス)に格納し、スクリプト実行時に、そのスクリプトIDに対応するスクリプトがダウンロードされていれば端末SAM42(セキュリティボックス)内で実行し(例えば、図21と図22)、ダウンロードされていなければサービス提供者に実行要求することで(例えば、図23)、端末SAM42の所有者がスクリプトIDを指定するだけで、スクリプトがダウンロードされているかいないかに関わらず実行指示を行なうことができる。
Furthermore, the script ID list possessed by the service provider is stored in the script folder 126 (security box) of the
また、スクリプト実行後の処理結果の署名とともに時刻情報を付与して端末SAM42内(ログフォルダ128)に一時的に格納しておき(例えば、図27)、サービス提供者のサーバ14と通信コネクションが確立されたときにまとめてアップロードする(図28)ようにしたので、オフラインにおいても、端末SAMクライアント11を利用することができる。なお、以上の例では、ログフォルダ128にスクリプト実行後の処理結果の署名と時刻情報とを格納しておくようにしたが、制御端末41に格納しておくようにしてもよい。
Further, time information is given together with the signature of the processing result after executing the script and temporarily stored in the terminal SAM 42 (log folder 128) (for example, FIG. 27), and the communication connection with the
さらに、スクリプトの実行途中に、メッセージを受け取る受け手側の公開鍵(証明書)で暗号化して通信することで(例えば、図25)、カードにアクセスしたり、上位クライアントまたは上位サーバに処理要求を行なってセキュアにメッセージ交換を行なうことができ、スクリプト内でそれに基づいた高度な分岐処理を行なうことができる。 Further, during the execution of the script, communication is performed by encrypting with the public key (certificate) of the receiver that receives the message (for example, FIG. 25), thereby accessing the card or sending a processing request to the upper client or upper server. Message exchange can be performed securely and advanced branch processing based on it can be performed in the script.
なお、以上の例では、スクリプトを管理することについて説明したが、スクリプトの他に、鍵を管理するようにしてもよい。鍵の授受の場合においても、上述した処理と同様の処理が行われる。 In the above example, management of a script has been described, but a key may be managed in addition to a script. In the case of key exchange, the same processing as described above is performed.
また、以上の例では、送信するメッセージMを受信側の公開鍵で暗号化し、暗号化したメッセージMとともに、そのメッセージMの署名を送信するようにしたが、メッセージMの署名も、メッセージMと一緒に暗号化して送るようにしてもよい。すなわち、メッセージMの署名を生成した後、そのメッセージMの署名とメッセージMを、受信側の公開鍵で暗号化して送信するようにしてもよい。 Further, in the above example, the message M to be transmitted is encrypted with the public key of the receiving side, and the signature of the message M is transmitted together with the encrypted message M. You may make it send together encrypted. That is, after the signature of the message M is generated, the signature of the message M and the message M may be encrypted with the public key on the receiving side and transmitted.
このように、サービス提供者が、端末SAMを認識することで、安心してスクリプトや鍵を端末SAMに提供することができる。 In this way, the service provider can provide the terminal SAM with a script and a key with confidence by recognizing the terminal SAM.
また、サービス提供者の提供するスクリプトや鍵を端末SAM42の内部でセキュアに実行してICカードにアクセスを行なうことで、サービス提供者の意図しない不正動作を防ぎつつ、オフラインでスクリプトを実行させることができる。
Also, by executing the script and key provided by the service provider securely in the
このようにICカードにスクリプトを格納するのではなく、端末SAM42にスクリプトを格納して処理を実行することで、ICカードにあるデータを変更することなく、ICカード所有者の権限とは無関係に、いつでもスクリプトを追加、更新、または削除することができる。
In this way, instead of storing the script in the IC card, the script is stored in the
また、データ(カード情報などのデータ)をICカードに、スクリプトを端末SAM42に格納することで、それらの所有者を明確に分離することができる。
Further, by storing data (data such as card information) in the IC card and storing the script in the
さらに、ICカードの全てに同じスクリプトを配信する必要がなく、アクセスする端末SAMにのみ配信すればよいので、スクリプトや鍵の更新に対する処理コストを抑えることができる。 Furthermore, it is not necessary to distribute the same script to all of the IC cards, and it is only necessary to distribute it to the accessing terminal SAM, so that the processing cost for updating the script or key can be suppressed.
また、端末SAMクライアント11の管理者は、端末SAM42内にスクリプトがダウンロードされているか否かを意識することなく、端末SAM42に対してスクリプト実行を要求することができる。
Further, the administrator of the
さらに、ICカード内のスクリプト更新には、ICカードをかざす必要があるが、端末SAM42内にスクリプトを格納するようにしたので、いつでも更新でき、かつ、ICカード所有者に更新時間を待たせることがない。
Furthermore, to update the script in the IC card, it is necessary to hold the IC card, but since the script is stored in the
また、端末SAM42内でスクリプトが実行できるため、処理性能の低いICカードではなく、処理性能に余裕がある端末SAM42で高速処理を行なうことができる。
Further, since the script can be executed in the
さらに、端末SAM42とサーバ14との間がオフラインである場合にサービス提供者のスクリプトが実行されても、端末SAM42においてログを時刻情報とともに保存するようにしたので、サーバ14との間でオンラインとなったときに実行ログをサービス提供者にアップロードでき、端末SAM42でのオフライン実行結果を、サーバ14側で同期することができる。
Furthermore, even if the service provider's script is executed when the
また、サーバ14で行なっていた処理の一部を端末SAM42に負荷分散することができ(図25)、クライアントとサーバ間の通信コストも削減することができる。
Further, a part of the processing performed by the
さらに、暗号化の方式は上述した方式に限らず、例えば、共通鍵などを利用した方式であってもよい。 Furthermore, the encryption method is not limited to the method described above, and may be a method using a common key, for example.
また、以上の例では、特定の情報(例えば、スクリプト)を暗号化すると記載した箇所については、少なくともその特定の情報を含むものを暗号化することを示す。すなわち、「特定の情報を暗号化する」という記載には、「暗号化する情報の中に、特定の情報が含まれている」ことを示す。 Moreover, in the above example, about the location described as encrypting specific information (for example, script), it shows enciphering what includes at least the specific information. That is, the description “encrypt specific information” indicates that “the specific information is included in the information to be encrypted”.
さらに、端末SAMクライアント11は、情報を処理する情報処理装置であれば、他のものにも適用することができる。例えば、パーソナルコンピュータにICカードリーダライタアンテナを設けたものを端末SAMクライアント11としてもよい。
Further, the
また、以上の例では、それぞれを区別するためにIDを用いるようにしたが、情報を識別するための識別情報を用いるようにしてもよい。 In the above example, the ID is used to distinguish each, but identification information for identifying the information may be used.
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。 The series of processes described above can be executed by hardware or can be executed by software. When a series of processing is executed by software, a program constituting the software is installed from a network or a recording medium.
この記録媒体は、図4(並びに図8および図11)に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア91よりなるパッケージメディアにより構成されるだけでなく、装置本体にあらかじめ組み込まれた状態でユーザに提供される、プログラムが記録されているROM72や記憶部78が含まれるハードディスクなどで構成される。なお、図8、図11においても同様である。
As shown in FIG. 4 (and FIGS. 8 and 11), this recording medium is a package comprising a removable medium 91 on which a program is recorded, which is distributed to provide a program to the user, separately from the computer. In addition to being composed of media, it is composed of a
なお、本明細書において、コンピュータプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 In the present specification, the step of describing a computer program includes not only processing performed in time series according to the described order but also processing executed in parallel or individually even if not necessarily processed in time series. Is also included.
また、本明細書において、システムとは、複数の装置により構成される装置全体を表わすものである。 Further, in this specification, the system represents the entire apparatus composed of a plurality of apparatuses.
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 Information processing system, 11 Terminal SAM client, 14 Server, 42 Terminal SAM, 43 IC card reader / writer antenna, 123 Server certificate folder, 124 Terminal SAM specific information, 126 Script folder, 127 Terminal SAM common information, 128 Log folder, 131 Server ID, 132 Server Public Key, 133 URL, 141 Terminal SAM Identifier, 142 Terminal SAM Public Key Signature, 143 Terminal SAM Public Key, 144 Terminal SAM Private Key, 151 Server ID, 152 Script ID, 153 Script, 161 Certification Institution public key, 171 log, 202 main control section, 204 encoding section, 205 signature processing section, 206 verification processing section, 209 script execution section, 303 authorized institution information, 304 terminal
Claims (11)
前記端末装置は、
前記端末装置に固有の端末識別子と、前記端末装置が有する第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の記憶手段と
を備えることを特徴とする情報処理システム。 In an information processing system comprising a terminal device that manages information relating to an IC card, a server that provides information to the terminal device, and an authorization device that certifies the terminal device,
The terminal device
Encoding means for encoding a terminal identifier unique to the terminal device and a second key corresponding to the first key of the terminal device;
First transmitting means for transmitting the unencoded terminal identifier, the terminal identifier encoded by the encoding means, and the second key to the authorized device;
A first receiving means for receiving a signature of a second key transmitted from the authorized device in response to transmission by the first transmitting means;
First storage means for storing the signature of the second key received by the first receiving means together with the terminal identifier;
Second transmission means for transmitting the second key, the signature of the second key stored in the first storage means, and the terminal identifier to the server;
The certified device is
Second receiving means for receiving the terminal identifier and the encoded terminal identifier and the second key transmitted by the first transmitting means of the terminal device;
Decoding means for decoding the encoded terminal identifier and the second key received by the second receiving means;
Confirmation means for confirming whether or not the terminal identifier obtained by decoding by the decoding means matches the terminal identifier received by the second receiving means;
When the confirmation means confirms that the decoded terminal identifier matches the received terminal identifier, a signature for the second key is generated using a third key of the authorization device. 1 signing means;
A third transmitting means for transmitting the signature of the second key generated by the first signing means to the terminal device;
The server
Third receiving means for receiving the second key transmitted by the second transmitting means of the terminal device, the signature of the second key, and the terminal identifier;
Whether the second key is valid by using the signature of the second key received by the third receiving unit and the fourth key corresponding to the third key of the authorization device. A first verification means for verifying;
When the first verification unit verifies that the second key is valid, the information processing method includes: the terminal identifier; and a second storage unit that stores the second key. system.
前記サーバに所定の情報を要求する場合、前記第1の鍵を用いて、前記情報を識別する識別情報の署名を生成する第2の署名手段と、
前記第2の署名手段により生成された前記識別情報の署名、前記識別情報、および前記端末識別子を、前記サーバに送信する第4の送信手段と、
前記第4の送信手段による送信に対して前記サーバから送信されてきた前記情報を受信する第4の受信手段と
をさらに備えるとともに、
前記サーバは、
前記端末装置の前記第4の送信手段により送信されてきた、前記識別情報の署名、前記識別情報、および前記端末識別子を受信する第5の受信手段と、
前記第5の受信手段により受信された前記識別情報の署名と、前記第5の受信手段により受信された前記端末識別子に対応する、前記第2の記憶手段に記憶された前記第2の鍵とを用いて、前記識別情報が正当であるかを検証する第2の検証手段と、
前記第2の検証手段により前記識別情報が正当であることが検証された場合、前記識別情報に対する前記情報を前記端末装置に送信する第5の送信手段と
をさらに備えることを特徴とする請求項1に記載の情報処理システム。 The terminal device
A second signing means for generating a signature of identification information for identifying the information using the first key when requesting predetermined information from the server;
Fourth transmission means for transmitting the signature of the identification information generated by the second signature means, the identification information, and the terminal identifier to the server;
And further comprising a fourth receiving means for receiving the information transmitted from the server in response to transmission by the fourth transmitting means,
The server
Fifth reception means for receiving the signature of the identification information, the identification information, and the terminal identifier transmitted by the fourth transmission means of the terminal device;
The signature of the identification information received by the fifth receiving means and the second key stored in the second storage means corresponding to the terminal identifier received by the fifth receiving means; Second verification means for verifying whether the identification information is valid using
5. A fifth transmission unit configured to transmit the information corresponding to the identification information to the terminal device when the identification information is verified to be valid by the second verification unit. 1. The information processing system according to 1.
ことを特徴とする請求項1に記載の情報処理システム。 The information processing system according to claim 1, wherein the information is a script or a key related to the IC card.
前記デコード手段は、エンコードされた前記端末装置に固有の端末識別子および前記第2の鍵を、前記第3の鍵を用いてデコードする
ことを特徴とする請求項1に記載の情報処理システム。 The encoding means encodes a terminal identifier unique to the terminal device and the second key using a fourth key corresponding to the third key of the authorized device,
The information processing system according to claim 1, wherein the decoding unit decodes the encoded terminal identifier and the second key using the third key.
前記端末装置は、
前記端末装置に固有の端末識別子と、前記端末装置が有する第1の鍵に対応する第2の鍵とをエンコードし、
エンコードされていない前記端末識別子と、エンコードされた前記端末識別子および前記第2の鍵とを、前記認定装置に送信し、
前記認定装置は、
前記端末装置から送信されてきた、前記端末識別子と、エンコードされた前記端末識別子および前記第2の鍵とを受信し、
受信された、エンコードされた前記端末識別子および前記第2の鍵をデコードし、
デコードされて得られた前記端末識別子と、受信された前記端末識別子とが一致するか否かを確認し、
デコードされた前記端末識別子と、受信された前記端末識別子とが一致すると確認された場合、前記認定装置が有する第3の鍵を用いて前記第2の鍵の署名を生成し、
生成された前記第2の鍵の署名を、前記端末装置に送信し、
前記端末装置は、
前記認定装置から送信されてきた前記第2の鍵の署名を受信し、
受信された前記第2の鍵の署名を、前記端末識別子とともに記憶するよう制御し、
前記第2の鍵、記憶が制御された前記第2の鍵の署名、および前記端末識別子を前記サーバに送信し、
前記サーバは、
前記端末装置から送信されてきた前記第2の鍵、前記第2の鍵の署名、および前記端末識別子を受信し、
受信された前記第2の鍵の署名、および前記認定装置が有する前記第3の鍵に対応する第4の鍵を用いて、前記第2の鍵が正当であるかを検証し、
検証により前記第2の鍵が正当であることが検証された場合、前記端末識別子と前記第2の鍵の記憶を制御する
ことを特徴とする情報処理方法。 In an information processing method of an information processing system including a terminal device that manages information related to an IC card, a server that provides information to the terminal device, and an authorized device that certifies the terminal device,
The terminal device
Encoding a terminal identifier unique to the terminal device and a second key corresponding to the first key of the terminal device;
Transmitting the unencoded terminal identifier and the encoded terminal identifier and the second key to the authorized device;
The certified device is:
Receiving the terminal identifier, the encoded terminal identifier and the second key transmitted from the terminal device;
Decoding the received encoded terminal identifier and the second key;
Check whether the terminal identifier obtained by decoding and the received terminal identifier match,
If it is confirmed that the decoded terminal identifier matches the received terminal identifier, a signature of the second key is generated using a third key of the authorized device,
Transmitting the generated signature of the second key to the terminal device;
The terminal device
Receiving the signature of the second key transmitted from the authorized device;
Controlling to store the received signature of the second key together with the terminal identifier;
Sending the second key, the signature of the second key whose storage is controlled, and the terminal identifier to the server;
The server
Receiving the second key, the signature of the second key, and the terminal identifier transmitted from the terminal device;
Verifying that the second key is valid using the received signature of the second key and a fourth key corresponding to the third key of the authorized device;
When the verification verifies that the second key is valid, storage of the terminal identifier and the second key is controlled.
前記端末装置に固有の端末識別子と、前記端末装置が有する第1の鍵に対応する第2の鍵とをエンコードするエンコード手段と、
エンコードされていない前記端末識別子と、前記エンコード手段によりエンコードされた前記端末識別子および前記第2の鍵とを、前記認定装置に送信する第1の送信手段と、
前記第1の送信手段による送信に対して、前記認定装置から送信されてきた、前記認定装置が有する第3の鍵を用いて生成された署名である第2の鍵の署名を受信する第1の受信手段と、
前記第1の受信手段により受信された前記第2の鍵の署名を、前記端末識別子とともに記憶する記憶手段と、
前記第2の鍵、前記記憶手段に記憶された前記第2の鍵の署名、および前記端末識別子を前記サーバに送信する第2の送信手段と
を備えることを特徴とする情報処理装置。 In an information processing device that exchanges information with a server and an authorized device that provide information about an IC card,
Encoding means for encoding a terminal identifier unique to the terminal device and a second key corresponding to the first key of the terminal device;
First transmitting means for transmitting the unencoded terminal identifier, the terminal identifier encoded by the encoding means, and the second key to the authorized device;
In response to the transmission by the first transmission means, the first receiving the signature of the second key, which is the signature generated using the third key of the authorized device, transmitted from the authorized device. Means for receiving
Storage means for storing the signature of the second key received by the first receiving means together with the terminal identifier;
An information processing apparatus comprising: the second key, a signature of the second key stored in the storage unit, and a second transmission unit that transmits the terminal identifier to the server.
前記署名手段により生成された前記識別情報の署名、前記識別情報、および前記端末識別子を、前記サーバに送信する第3の送信手段と、
前記第3の送信手段による送信に対して前記サーバから送信されてきた前記情報を受信する第2の受信手段と
をさらに備えることを特徴とする請求項6に記載の情報処理装置。 When requesting predetermined information from the server, a signature means for generating a signature of identification information for identifying the information using the first key;
Third transmission means for transmitting the signature of the identification information generated by the signature means, the identification information, and the terminal identifier to the server;
The information processing apparatus according to claim 6, further comprising: a second reception unit that receives the information transmitted from the server in response to transmission by the third transmission unit.
ことを特徴とする請求項7に記載の情報処理装置。 The information processing apparatus according to claim 7, wherein the information is a script or a key related to the IC card.
ことを特徴とする請求項6に記載の情報処理装置。 The encoding means encodes a terminal identifier unique to the terminal device and the second key using the fourth key corresponding to the third key of the authorized device. Item 7. The information processing device according to Item 6.
前記端末装置に固有の端末識別子と、前記端末装置が有する第1の鍵に対応する第2の鍵とをエンコードするエンコードステップと、
エンコードされていない前記端末識別子と、前記エンコード手段によりエンコードされた前記端末識別子および前記第2の鍵とを、前記認定装置に送信する第1の送信ステップと、
前記第1の送信ステップの処理による送信に対して、前記認定装置から送信されてきた、前記認定装置が有する第3の鍵を用いて生成された署名である第2の鍵の署名を受信する受信ステップと、
前記受信ステップの処理により受信された前記第2の鍵の署名を、前記端末識別子とともに記憶するよう制御する記憶制御ステップと、
前記第2の鍵、前記記憶制御ステップの処理により記憶が制御された前記第2の鍵の署名、および前記端末識別子を前記サーバに送信する第2の送信ステップと
を含むことを特徴とする情報処理方法。 In an information processing method of an information processing apparatus for exchanging information with a server and an authorized apparatus that provide information on an IC card,
An encoding step of encoding a terminal identifier unique to the terminal device and a second key corresponding to the first key of the terminal device;
A first transmission step of transmitting the unencoded terminal identifier, the terminal identifier encoded by the encoding means, and the second key to the authorized device;
In response to the transmission by the processing of the first transmission step, the signature of the second key, which is the signature generated using the third key of the authorized device, transmitted from the authorized device is received. Receiving step;
A storage control step for controlling to store the signature of the second key received by the processing of the reception step together with the terminal identifier;
And a second transmission step of transmitting the second key, the signature of the second key whose storage is controlled by the processing of the storage control step, and the terminal identifier to the server. Processing method.
前記端末装置に固有の端末識別子と、前記端末装置が有する第1の鍵に対応する第2の鍵とをエンコードするエンコードステップと、
エンコードされていない前記端末識別子と、前記エンコード手段によりエンコードされた前記端末識別子および前記第2の鍵とを、前記認定装置に送信する第1の送信ステップと、
前記第1の送信ステップの処理による送信に対して、前記認定装置から送信されてきた、前記認定装置が有する第3の鍵を用いて生成された署名である第2の鍵の署名を受信する受信ステップと、
前記受信ステップの処理により受信された前記第2の鍵の署名を、前記端末識別子とともに記憶するよう制御する記憶制御ステップと、
前記第2の鍵、前記記憶制御ステップの処理により記憶が制御された前記第2の鍵の署名、および前記端末識別子を前記サーバに送信する第2の送信ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。 A program for processing information related to an IC card,
An encoding step of encoding a terminal identifier unique to the terminal device and a second key corresponding to the first key of the terminal device;
A first transmission step of transmitting the unencoded terminal identifier, the terminal identifier encoded by the encoding means, and the second key to the authorized device;
In response to the transmission by the processing of the first transmission step, the signature of the second key, which is the signature generated using the third key of the authorized device, transmitted from the authorized device is received. Receiving step;
A storage control step for controlling to store the signature of the second key received by the processing of the reception step together with the terminal identifier;
Causing the computer to execute a process including: the second key; a signature of the second key whose storage is controlled by the process of the storage control step; and a second transmission step of transmitting the terminal identifier to the server. A program characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004207380A JP2006033267A (en) | 2004-07-14 | 2004-07-14 | Information processing system, information processing method, information processing apparatus, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004207380A JP2006033267A (en) | 2004-07-14 | 2004-07-14 | Information processing system, information processing method, information processing apparatus, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006033267A true JP2006033267A (en) | 2006-02-02 |
Family
ID=35899108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004207380A Pending JP2006033267A (en) | 2004-07-14 | 2004-07-14 | Information processing system, information processing method, information processing apparatus, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006033267A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017506372A (en) * | 2014-10-21 | 2017-03-02 | スンシル ユニバーシティー リサーチ コンソルティウム テクノ−パークSoongsil University Research Consortium Techno−Park | User terminal and core code protection method using peripheral device of user terminal |
CN109543416A (en) * | 2018-11-20 | 2019-03-29 | 郑州工程技术学院 | A kind of interaction authentic communication processing system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001249899A (en) * | 2000-03-07 | 2001-09-14 | Sony Corp | Service providing system via communication means, its method, service mediating device and program providing medium |
JP2002116769A (en) * | 2000-10-06 | 2002-04-19 | Matsushita Electric Ind Co Ltd | Music delivery device and music reproducing device |
JP2002297548A (en) * | 2001-03-30 | 2002-10-11 | Matsushita Electric Ind Co Ltd | Terminal registration system, and device and method for constituting the same |
JP2003036023A (en) * | 2001-07-25 | 2003-02-07 | Toyo Eng Corp | Network system and information transmission method using the same |
JP2003337923A (en) * | 2002-05-20 | 2003-11-28 | Systemneeds Inc | Method and system for data update |
JP2004048660A (en) * | 2002-05-24 | 2004-02-12 | Sony Corp | Information processing system and method, information processing apparatus and method, recording medium, and program |
JP2004135195A (en) * | 2002-10-11 | 2004-04-30 | Ricoh Co Ltd | Information equipment registration method, program for computer to execute the method, and information equipment |
-
2004
- 2004-07-14 JP JP2004207380A patent/JP2006033267A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001249899A (en) * | 2000-03-07 | 2001-09-14 | Sony Corp | Service providing system via communication means, its method, service mediating device and program providing medium |
JP2002116769A (en) * | 2000-10-06 | 2002-04-19 | Matsushita Electric Ind Co Ltd | Music delivery device and music reproducing device |
JP2002297548A (en) * | 2001-03-30 | 2002-10-11 | Matsushita Electric Ind Co Ltd | Terminal registration system, and device and method for constituting the same |
JP2003036023A (en) * | 2001-07-25 | 2003-02-07 | Toyo Eng Corp | Network system and information transmission method using the same |
JP2003337923A (en) * | 2002-05-20 | 2003-11-28 | Systemneeds Inc | Method and system for data update |
JP2004048660A (en) * | 2002-05-24 | 2004-02-12 | Sony Corp | Information processing system and method, information processing apparatus and method, recording medium, and program |
JP2004135195A (en) * | 2002-10-11 | 2004-04-30 | Ricoh Co Ltd | Information equipment registration method, program for computer to execute the method, and information equipment |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017506372A (en) * | 2014-10-21 | 2017-03-02 | スンシル ユニバーシティー リサーチ コンソルティウム テクノ−パークSoongsil University Research Consortium Techno−Park | User terminal and core code protection method using peripheral device of user terminal |
CN109543416A (en) * | 2018-11-20 | 2019-03-29 | 郑州工程技术学院 | A kind of interaction authentic communication processing system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10595201B2 (en) | Secure short message service (SMS) communications | |
KR101974452B1 (en) | Methods and system for managing personal information based on programmable blockchain and one-id | |
CN105095696B (en) | Method, system and the equipment of safety certification are carried out to application program | |
JP4617763B2 (en) | Device authentication system, device authentication server, terminal device, device authentication method, and device authentication program | |
JP4866863B2 (en) | Security code generation method and user device | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
CN111275419B (en) | Block chain wallet signature right confirming method, device and system | |
RU2628492C2 (en) | Telecommunication chip-card | |
JP4803145B2 (en) | Key sharing method and key distribution system | |
KR20060003319A (en) | Device authentication system | |
JPH113033A (en) | Method for identifying client for client-server electronic transaction, smart card and server relating to the same, and method and system for deciding approval for co-operation by user and verifier | |
JP2015515168A (en) | Method for confirming identification information of user of communication terminal and related system | |
US20220116230A1 (en) | Method for securely providing a personalized electronic identity on a terminal | |
US20190311145A1 (en) | National identification number based authentication and content delivery | |
JP2017152880A (en) | Authentication system, key processing coordination method, and key processing coordination program | |
KR20000006633A (en) | Private Key, Certificate Administration System and Method Thereof | |
CN116709325B (en) | Mobile equipment security authentication method based on high-speed encryption algorithm | |
JP2004013560A (en) | Authentication system, communication terminal, and server | |
JP5622668B2 (en) | Application authentication system, application authentication method | |
CN111914270A (en) | Programmable authentication service method and system based on block chain technology | |
JP2009199147A (en) | Communication control method and communication control program | |
JP2004140636A (en) | System, server, and program for sign entrustment of electronic document | |
JP2006033267A (en) | Information processing system, information processing method, information processing apparatus, and program | |
JP4683260B2 (en) | Information processing system, information processing apparatus, server apparatus, and information processing method | |
KR101118424B1 (en) | System for Processing Automatic Renewal with Certificate of Attestation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070607 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101111 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110303 |