JP2010061244A - Application storage device and control method - Google Patents

Application storage device and control method Download PDF

Info

Publication number
JP2010061244A
JP2010061244A JP2008224146A JP2008224146A JP2010061244A JP 2010061244 A JP2010061244 A JP 2010061244A JP 2008224146 A JP2008224146 A JP 2008224146A JP 2008224146 A JP2008224146 A JP 2008224146A JP 2010061244 A JP2010061244 A JP 2010061244A
Authority
JP
Japan
Prior art keywords
service
data
encryption
key
application
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
Application number
JP2008224146A
Other languages
Japanese (ja)
Inventor
Yoshihiro Hori
吉宏 堀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2008224146A priority Critical patent/JP2010061244A/en
Publication of JP2010061244A publication Critical patent/JP2010061244A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To transmit/receive data for each of a plurality of applications with high secrecy. <P>SOLUTION: Each memory bank of an application storage part 203 includes: an ID storage part, a service specific key storage part, a service program storage part, and a service data storage part. An encryption processing part 201 constructs an encryption communication path with the service provision device by use of a service-specific public key, encrypts service data by use of shared common keys Rh, Rc, and transmits/receives them. A control part 202 searches the application storage part 203 based on a service ID received from a service provision device. When a memory bank including the ID storage part storing the service ID is detected, the control part 202 extracts the public key stored in the service specific key storage part of the memory bank, and provides it to the encryption processing part 201. When the encryption processing part 201 executes key exchange processing and constructs the encryption communication path with the service provision device, the control part 202 receives an application from the service program storage part of the corresponding memory bank and starts it. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、特定のサービスを実現するアプリケーションプログラム(以下、アプリと言う)、そのアプリ向けデータを記憶する装置とそのアプリを制御する装置との間で送受信されるデータの保護技術に関する。   The present invention relates to a protection technique for data transmitted and received between an application program (hereinafter referred to as an application) that realizes a specific service, a device that stores data for the application, and a device that controls the application.

近年、高いセキュリティを備えたICカード(以下、アプリ記憶装置とも言う)が普及してきている。このようなICカードのなかには、プリペイド機能や入退出管理機能など複数のアプリに対応するものもある。ICカードは、機能(以下、サービスとも言う)を実現するアプリごとに付与されている証明書を検証し、その正当性が確認されたアプリのみ格納を許可することで、所望のサービスを実現するアプリをセキュアに追加することができる。(例えば、特許文献1)
特開2004−334542号公報
In recent years, IC cards with high security (hereinafter also referred to as application storage devices) have become widespread. Some of such IC cards support a plurality of applications such as a prepaid function and an entrance / exit management function. The IC card realizes a desired service by verifying a certificate given to each application that realizes a function (hereinafter also referred to as a service) and allowing only an application whose validity is confirmed to be stored. You can add apps securely. (For example, Patent Document 1)
JP 2004-334542 A

ICカードに格納されるアプリのなかには、例えば、プリペイド機能における入金情報の更新など、サービスを提供する装置(以下、サービス提供装置とも言う)との間でアプリの制御プロトコルなどサービスに固有のデータ(以下、サービスデータとも言う)を送受信し、特定のサービスを実現するものがある。このようなサービスデータは高い秘匿性を必要とされため、ひとつのICカードに複数のアプリを格納する場合、アプリ格納時にその正当性を確認するだけでなく、ひとつのアプリが送受信するサービスデータを、他のアプリから秘匿し、保護できることが好ましい。   Among the applications stored in the IC card, for example, data unique to a service (such as an application control protocol) with a device that provides a service (hereinafter also referred to as a service providing device) such as updating of payment information in a prepaid function ( Some of them implement a specific service by transmitting and receiving data (hereinafter also referred to as service data). Since such service data requires high confidentiality, when storing multiple applications on a single IC card, not only is the legitimacy confirmed when storing the application, but also the service data transmitted / received by a single application is stored. It is preferable that it can be concealed and protected from other apps.

本発明はこのような状況に鑑みてなされたものであり、複数のアプリごとのサービスデータの送受信を高い秘匿性で実現できる制御方法を提供することを目的とする。   This invention is made | formed in view of such a condition, and it aims at providing the control method which can implement | achieve transmission / reception of the service data for every some application with high confidentiality.

本発明のある態様は、記憶装置である。この記憶装置は、複数のサービスの中から第1のサービスを識別する第1の識別情報と、前記第1のサービスを提供する第1のサービス提供装置との間で前記第1のサービスに固有の第1のサービスデータを送受信して前記第1のサービスを実現する第1のアプリケーションプログラムと、前記第1のサービスに固有の第1の暗号鍵と、前記第1のサービスデータをグループ化し、複数の記憶領域の中から選択した第1の記憶領域に記憶する記憶部と、前記第1の暗号鍵を用いて前記第1のサービス提供装置との間に前記第1のサービスに固有の第1の暗号通信路を構築するとともに、前記第1の暗号通信路を介して前記第1のサービスデータを送受信するため、前記第1のサービスデータに対して暗号処理を実行する暗号処理部と、前記第1のサービス提供装置から前記第1のアプリケーションプログラムの起動が要求されると、前記要求のため前記第1のサービス提供装置から送信された前記第1の識別情報に基づき、前記複数の記憶領域の中から第1の記憶領域を特定し、前記第1の記憶領域に記憶されている第1の暗号鍵で前記第1の暗号通信路を構築するように前記暗号処理部を制御するとともに、前記第1の暗号通信路が構築されると前記第1のアプリケーションプログラムを起動し、前記第1の記憶領域に記憶される第1のサービスデータに対する前記第1のアプリケーションプログラムのアクセスを許可するように制御する制御部と、を備えることをその要旨とする。   One embodiment of the present invention is a storage device. The storage device is unique to the first service between the first identification information for identifying the first service among a plurality of services and the first service providing device for providing the first service. Grouping the first application program for realizing the first service by transmitting / receiving the first service data, the first encryption key unique to the first service, and the first service data, A storage unit that stores data in a first storage area selected from among a plurality of storage areas and a first service providing apparatus that uses the first encryption key and that is unique to the first service. A cryptographic processing unit configured to perform cryptographic processing on the first service data in order to construct one cryptographic communication channel and transmit / receive the first service data via the first cryptographic communication channel; Said When the activation of the first application program is requested from the service providing apparatus, the contents of the plurality of storage areas are determined based on the first identification information transmitted from the first service providing apparatus for the request. The first storage area is identified from the first storage area, the encryption processing unit is controlled to construct the first encryption communication path with the first encryption key stored in the first storage area, and the first When the first encryption communication path is constructed, the first application program is started, and control is performed so as to permit access of the first application program to the first service data stored in the first storage area. The gist is to include a control unit.

また、前記複数のサービスのなかには、前記第1の識別情報と、前記第1のアプリケーションプログラムと、前記第1の暗号鍵を含む第1のサービス情報を前記記憶装置に送信する第2のサービスが含まれており、前記記憶部は、前記第2のサービスを提供する第2のサービス提供装置から前記第1のサービス情報を受信する第2のアプリケーションプログラムと、前記第2のサービスに固有の第2の暗号鍵をグループ化し、複数の記憶領域のうちで、あらかじめ規定された第2の記憶領域に記憶し、前記暗号処理部は、前記第2の暗号鍵を用いて前記第2のサービス提供装置との間に前記第2のサービスに固有の第2の暗号通信路を構築するとともに、前記第2の暗号通信路を介して前記第1のサービス情報を送受信するため、前記第1のサービス情報に対して暗号処理を実行し、前記制御部は、前記第2のサービス提供装置から前記第2のアプリケーションプログラムの起動が要求されると、前記複数の記憶領域の中から第2の記憶領域を特定し、前記第2の記憶領域に記憶されている第2の暗号鍵で第2の暗号通信路を構築するように前記暗号処理部を制御するとともに、前記第2の暗号通信路が構築されると前記第2のアプリケーションプログラムを起動して前記第2のサービス提供装置から前記第1のサービス情報を受信し、前記第1の記憶領域に前記第1のサービス情報を記憶するように前記記憶部を制御することが望ましい。   Among the plurality of services, there is a second service that transmits the first service information including the first identification information, the first application program, and the first encryption key to the storage device. The storage unit includes a second application program that receives the first service information from a second service providing apparatus that provides the second service, and a second application program that is unique to the second service. 2 encryption keys are grouped and stored in a second storage area defined in advance among a plurality of storage areas, and the encryption processing unit provides the second service using the second encryption key. In order to construct a second encrypted communication path unique to the second service with the apparatus and to transmit / receive the first service information via the second encrypted communication path, the first service information When the second service program is requested to start the second application program, the control unit executes a cryptographic process on the service information, and performs a second storage from the plurality of storage areas. An area is specified, and the encryption processor is controlled to construct a second encryption communication path with the second encryption key stored in the second storage area, and the second encryption communication path is When constructed, the second application program is activated to receive the first service information from the second service providing apparatus, and the first service information is stored in the first storage area. It is desirable to control the storage unit.

本発明の別の態様は、制御方法である。この制御方法は、複数のサービスの中から第1のサービスを識別する第1の識別情報と、前記第1のサービスを提供する第1のサービス提供装置との間で前記第1のサービスに固有の第1のサービスデータを送受信して前記第1のサービスを実現する第1のアプリケーションプログラムと、前記第1のサービスに固有の第1の暗号鍵と前記第1のサービスデータをグループ化し、複数の記憶領域の中から選択した第1の記憶領域に記憶する第1のステップと、前記第1の暗号鍵を用いて前記第1のサービス提供装置との間に前記第1のサービスに固有の第1の暗号通信路を構築するとともに、前記第1の暗号通信路を介して前記第1のサービスデータを送受信するため、前記第1のサービスデータに対して暗号処理を実行する第2のステップと、前記第1のサービス提供装置から前記第1のアプリケーションプログラムの起動が要求されると、前記要求のため前記第1のサービス提供装置から送信された前記第1の識別情報に基づき、前記複数の記憶領域の中から第1の記憶領域を特定し、前記第1の記憶領域に記憶されている第1の暗号鍵で前記第1の暗号通信路を構築するように前記暗号処理部を制御するとともに、前記第1の暗号通信路が構築されると前記第1のアプリケーションプログラムを起動し、前記第1の記憶領域に記憶される第1のサービスデータに対する前記第1のアプリケーションプログラムのアクセスを許可するように制御する第3のステップと、を含むことをその要旨とする。   Another aspect of the present invention is a control method. This control method is specific to the first service between the first identification information for identifying the first service among a plurality of services and the first service providing apparatus that provides the first service. A first application program for transmitting and receiving the first service data to realize the first service, a first encryption key unique to the first service, and the first service data, Unique to the first service between the first step of storing in the first storage area selected from among the storage areas and the first service providing apparatus using the first encryption key A second step of constructing a first encryption communication path and performing encryption processing on the first service data in order to transmit and receive the first service data via the first encryption communication path; When the first service providing device requests activation of the first application program, the plurality of the plurality of the plurality of the plurality of the plurality of the plurality of the first application programs are requested based on the first identification information transmitted from the first service providing device for the request. A first storage area is specified from among the storage areas, and the encryption processing unit is controlled to construct the first encryption communication path with the first encryption key stored in the first storage area. At the same time, when the first encrypted communication path is constructed, the first application program is started, and access of the first application program to the first service data stored in the first storage area is permitted. The gist of the present invention is to include a third step of controlling to do so.

また、前記複数のサービスのなかには、前記第1の識別情報と、前記第1のアプリケーションプログラムと、前記第1の暗号鍵を含む第1のサービス情報を前記記憶装置に送信する第2のサービスが含まれており、前記第1のステップは、前記第2のサービスを提供する第2のサービス提供装置から前記第1のサービス情報を受信する第2のアプリケーションプログラムと、前記第2のサービスに固有の第2の暗号鍵をグループ化し、複数の記憶領域のうちで、あらかじめ規定された第2の記憶領域に記憶し、前記第2のステップは、前記第2の暗号鍵を用いて前記第2のサービス提供装置との間に前記第2のサービスに固有の第2の暗号通信路を構築するとともに、前記第2の暗号通信路を介して前記第1のサービス情報を送受信するため、前記第1のサービス情報に対して暗号処理を実行し、前記第3のステップは、前記第2のサービス提供装置から前記第2のアプリケーションプログラムの起動が要求されると、前記複数の記憶領域の中から第2の記憶領域を特定し、前記第2の記憶領域に記憶されている第2の暗号鍵で第2の暗号通信路を構築するように前記第2のステップを制御するとともに、前記第2の暗号通信路が構築されると前記第2のアプリケーションプログラムを起動して前記第2のサービス提供装置から前記第1のサービス情報を受信し、前記第1の記憶領域に前記第1のサービス情報を記憶するように前記第1のステップを制御する、ことが望ましい。   Among the plurality of services, there is a second service that transmits the first service information including the first identification information, the first application program, and the first encryption key to the storage device. The first step includes a second application program that receives the first service information from a second service providing device that provides the second service, and is specific to the second service. The second encryption keys are grouped and stored in a predetermined second storage area among a plurality of storage areas, and the second step uses the second encryption key to store the second encryption key. A second encrypted communication path unique to the second service is established with the service providing apparatus, and the first service information is transmitted / received via the second encrypted communication path. Cryptographic processing is performed on the first service information. In the third step, when the second service providing apparatus requests activation of the second application program, the plurality of storage areas are stored. A second storage area is identified from the inside, and the second step is controlled to construct a second encrypted communication path with the second encryption key stored in the second storage area, and When the second encrypted communication path is established, the second application program is activated to receive the first service information from the second service providing apparatus, and the first storage area stores the first service information in the first storage area. Preferably, the first step is controlled to store service information.

本発明によれば、複数のアプリごとのデータの送受信を、高い秘匿性で実現できる。   According to the present invention, transmission / reception of data for each of a plurality of applications can be realized with high confidentiality.

本発明を具体的に説明する前に概要について述べる。本発明の実施の形態は、アプリと連携して特定のサービスを提供するため、そのアプリを制御するサービス提供装置、およびサービス提供装置と連携して特定のサービスを実現するアプリや特定のサービスに固有のサービスデータを格納するアプリ記憶装置を有する情報システムに関する。   The outline will be described before the present invention is specifically described. Since an embodiment of the present invention provides a specific service in cooperation with an application, a service providing apparatus that controls the application, and an application or a specific service that realizes a specific service in cooperation with the service providing apparatus. The present invention relates to an information system having an application storage device that stores unique service data.

アプリ記憶装置に格納されるアプリは、サービス提供装置と所定のサービスデータを送受信することで、特定のサービスを実現する。アプリ記憶装置は、複数のサービスに対応したアプリとサービスデータを格納でき、また、ひとつのサービスに対応するサービス提供装置との間で送受信される所定のサービスデータには、利用者に固有の情報や金銭情報が含まれることもある。このため、所定のデータの送受信に関与しない第三者のみならず、複数のアプリ間においても高い秘匿性が必要とされる。そこで、本発明の実施の形態におけるアプリ記憶装置およびサービス提供装置は次の処理を実行する。   An application stored in the application storage device implements a specific service by transmitting and receiving predetermined service data to and from the service providing device. The application storage device can store applications and service data corresponding to a plurality of services, and the predetermined service data transmitted and received between the service providing devices corresponding to one service includes information unique to the user. Or money information. For this reason, high confidentiality is required not only for third parties not involved in transmission / reception of predetermined data, but also between a plurality of applications. Therefore, the application storage device and the service providing device in the embodiment of the present invention execute the following processing.

サービスには、これらを識別するためのサービスIDが付与されるとともに、サービス固有の公開暗号方式の公開鍵と、それに対応するサービス固有の秘密鍵が関連付けられる。サービス提供装置は、提供するサービス固有の秘密鍵を記憶する。アプリ記憶装置には記憶装置固有の公開鍵と秘密鍵が関連付けられる。また、アプリ記憶装置は、格納している対応アプリが実現するサービスの、サービスIDとサービス固有の公開鍵を記憶する。サービス提供装置は、提供するサービスのサービスIDをアプリ記憶装置に送信し、サービスIDを受信したアプリ記憶装置は、サービスIDに基づき、対応するサービス固有の公開鍵とアプリを特定する。そして、特定されたサービス固有公開鍵と記憶装置固有の公開鍵および秘密鍵とを用いて、サービス提供装置との間で公開暗号方式による鍵交換を実行し、サービス提供装置との間で共通鍵を共有する。この共通鍵で暗号通信路が確立されると、アプリ記憶装置は対応アプリを起動する。サービス提供装置と対応アプリは、特定のサービスを実現するために、先に確立した暗号通信路を介して所定のサービスデータを送受信する。対応アプリは、受信したサービスデータの記憶、記憶されているサービスデータの送信、あるいは、受信したサービスデータに基づく記憶されているサービスデータの変更等を行う。   The service is given a service ID for identifying the service, and is associated with a public key of the service-specific public encryption method and a corresponding service-specific secret key. The service providing apparatus stores a secret key unique to the service to be provided. The application storage device is associated with a public key and a secret key unique to the storage device. The application storage device stores a service ID and a service-specific public key of a service realized by the stored corresponding application. The service providing device transmits the service ID of the service to be provided to the application storage device, and the application storage device that has received the service ID identifies the corresponding service-specific public key and application based on the service ID. Then, using the specified service-specific public key and the storage device-specific public key and secret key, a key exchange is performed with the service providing apparatus by a public encryption method, and the common key is provided with the service providing apparatus. Share When the encrypted communication path is established with this common key, the application storage device activates the corresponding application. The service providing apparatus and the corresponding application transmit and receive predetermined service data via the previously established encrypted communication path in order to realize a specific service. The corresponding application stores the received service data, transmits the stored service data, or changes the stored service data based on the received service data.

このような処理により、サービス提供装置と対応アプリとの間で共通鍵を用いた暗号通信を行うことが可能となり、送受信されるデータの秘匿性を向上させることができる。   Through such processing, encrypted communication using a common key can be performed between the service providing apparatus and the corresponding application, and the confidentiality of data transmitted and received can be improved.

図1は、本発明の実施の形態における情報システム1の構成を示す概念図である。情報システム1は、サービス提供装置10、アプリ記憶装置20およびサービス管理サーバ装置30を含む。   FIG. 1 is a conceptual diagram showing a configuration of an information system 1 according to an embodiment of the present invention. The information system 1 includes a service providing device 10, an application storage device 20, and a service management server device 30.

サービス提供装置10は、例えば、改札機であり、アプリ記憶装置20と通信を行ってサービスデータの交換を行い、乗車区間の判定やアプリ記憶装置20に記憶されている電子マネーの残金の更新をする。また、必要に応じてサービス管理サーバ装置30と通信して、内部の蓄積されたデータ(例えば、アプリ記憶装置20との通信履歴や課金データなど)をサービス管理サーバ装置30にアップロードしたりや、不正なアプリ記憶装置20を排除するためのリボークリストをダウンロードしたりする。   The service providing device 10 is, for example, a ticket gate, communicates with the application storage device 20 to exchange service data, and determines the boarding section and updates the balance of electronic money stored in the application storage device 20. To do. Further, it communicates with the service management server device 30 as necessary to upload internal accumulated data (for example, communication history with the application storage device 20 and billing data) to the service management server device 30 or illegally. Or download a revoke list for eliminating the app storage device 20.

アプリ記憶装置20は、例えば、ICカードであり、サービス提供装置10と連携し、乗車区間を確認するデータや電子マネーの残金などのサービスデータと、サービスデータを更新するアプリとを格納する。   The application storage device 20 is, for example, an IC card, and stores service data such as data for confirming a boarding section or electronic money balance and an application for updating the service data in cooperation with the service providing device 10.

サービス管理サーバ装置30は、例えば、改札機を介して利用者がプリペイドした電子マネーを管理する課金サーバである。   The service management server device 30 is, for example, a billing server that manages electronic money prepaid by a user via a ticket gate.

図2はアプリ記憶装置20で実行される通信プロトコルを、階層構造で示す通信モデルの概念図である。通信相手はサービス提供装置10である。   FIG. 2 is a conceptual diagram of a communication model showing a communication protocol executed by the application storage device 20 in a hierarchical structure. The communication partner is the service providing apparatus 10.

以下においては、説明の便宜上、ひとつのサービス提供装置10がひとつのアプリを制御して、ひとつのサービスを実現するものとし、アプリa〜cに対応するサービス提供装置を、それぞれサービス提供装置10a〜10cとして説明を行う。   In the following, for convenience of explanation, it is assumed that one service providing apparatus 10 controls one application to realize one service, and the service providing apparatuses corresponding to the applications a to c are service providing apparatuses 10a to 10c, respectively. The description will be made as 10c.

通信モデルの最下層は物理層であり、伝送媒体上の物理的コネクションを確立するためのプロトコルなどを実行する。例えば、伝送方式として無線LAN(Local Area Network)の規格であるIEEE 802.11gを適用する場合は、OFDM(Orthogonal Frequency Division Multiplexing)を実行する。   The lowermost layer of the communication model is a physical layer, which executes a protocol for establishing a physical connection on a transmission medium. For example, when IEEE 802.11g, which is a wireless LAN (Local Area Network) standard, is applied as a transmission method, OFDM (Orthogonal Frequency Division Multiplexing) is executed.

物理層の上位層はデータリンク層であり、伝送媒体へのアクセス制限行うためのプロトコルなどを実行する。上述のIEEE 802.11gを適用する場合は、CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)を実行する。   The upper layer of the physical layer is a data link layer, which executes a protocol for restricting access to the transmission medium. When applying the above-mentioned IEEE 802.11g, CSMA / CA (Carrier Sense Multiple Access with Collision Avoidance) is executed.

以上の説明では、物理層とデータリンク層に無線LANを適用するとしたが、これに限らず有線LANの規格であるIEEE 802.3や、それ以外の伝送媒体、例えば人体を伝送媒体とする伝送方式を適用してもよい。   In the above description, the wireless LAN is applied to the physical layer and the data link layer. However, the present invention is not limited to this, and IEEE 802.3, which is a standard for wired LAN, and other transmission media, for example, a transmission method using a human body as a transmission medium. You may apply.

データリンク層の上位層では、セキュアプロトコルを実行する。すなわち、サービス提供装置10が生成した共通鍵Rhとアプリ記憶装置20が生成した共通鍵Rcを所定の鍵交換処理を実行することで交換し、サービス提供装置10と対応アプリとの間で共通鍵Rh、Rcを共有する。鍵交換処理については後述する。   A secure protocol is executed in the upper layer of the data link layer. That is, the common key Rh generated by the service providing device 10 and the common key Rc generated by the application storage device 20 are exchanged by executing a predetermined key exchange process, and the common key is exchanged between the service providing device 10 and the corresponding application. Share Rh and Rc. The key exchange process will be described later.

セキュアプロトコルが実行される階層より上位層では、サービスごとに専用の暗号通信路が確立される。特定のサービスを実現するサービス提供装置10と対応アプリは、この暗号通信路を介して、アプリ制御プロトコルを実行する。   In a layer higher than the layer where the secure protocol is executed, a dedicated encryption communication path is established for each service. The service providing apparatus 10 that implements a specific service and the corresponding application execute an application control protocol via the encrypted communication path.

以下では、説明の便宜上、サービスiに対応したサービス提供装置10を、サービス提供装置10iとし、サービスiに対応したサービスデータを、サービスデータiと記す。   Hereinafter, for convenience of explanation, the service providing apparatus 10 corresponding to the service i is referred to as a service providing apparatus 10i, and the service data corresponding to the service i is referred to as service data i.

図2においては、サービスaを提供するサービス提供装置10aと対応するアプリaは、サービ提供装置10aとの間でサービスデータaを送受信するための制御プロトコルを実行し、サービスデータaの管理を行う。サービスデータaは、サービスaを提供するに当たって、ユーザサイドに保持されているデータで、サービスの種類によって多様である。   In FIG. 2, the application a corresponding to the service providing apparatus 10a that provides the service a executes a control protocol for transmitting and receiving the service data a to and from the service providing apparatus 10a, and manages the service data a. . The service data a is data held on the user side in providing the service a and varies depending on the type of service.

また、サービスbを提供するサービス提供装置10bと対応するアプリbは、サービ提供装置10bとの間でサービスデータbを送受信するための制御プロトコルを実行し、サービスデータbの管理を行う。さらに、サービスcを提供するサービス提供装置10cと対応するのは、アプリcとサービスデータcである。   In addition, the application b corresponding to the service providing apparatus 10b that provides the service b executes a control protocol for transmitting and receiving the service data b to and from the service providing apparatus 10b, and manages the service data b. Furthermore, an application c and service data c correspond to the service providing apparatus 10c that provides the service c.

このとき、サービス提供装置10対応アプリは、共有している共通鍵Rh、Rcを用いて、サービスデータを暗号化して送受信する。   At this time, the service providing apparatus 10 compatible application encrypts and transmits / receives the service data using the shared common keys Rh and Rc.

ここで、図2のアプリ記憶装置20のアプリaが、対応するサービス提供装置10aとの間でサービスデータを暗号化して送受信する場合について、具体的な説明を行う。なお、サービス提供装置10aは、共通鍵Rh「a」生成し、アプリ記憶装置20は、共通鍵Rc「a」を生成し、セキュアプロトコルにより、相手方が生成した共通鍵をそれぞれが共有しているものとする。   Here, the case where the application a of the application storage device 20 in FIG. 2 encrypts and transmits service data to and from the corresponding service providing device 10a will be specifically described. The service providing device 10a generates a common key Rh “a”, the application storage device 20 generates a common key Rc “a”, and the common key generated by the other party is shared by the secure protocol. Shall.

サービス提供装置10aは、送信すべきサービスデータDataと共通鍵Rc「a」を連結し、自身の生成した共通鍵Rh「a」を認証子とする認証子付データRh「a」||Dataを生成する。そして、認証子付データをアプリaの共通鍵Rc「a」で暗号化し、暗号化データE(Rc「a」、Rh「a」||Data)を生成し、アプリaに送信する。ここで、記号「||」は、データの連結を示す。また、Eは暗号化関数を示し、E(Rc「a」、Rh「a」||Data)は、認証子付データRh「a」||Dataを共通鍵Rc「a」で暗号化したことを示す。認証子付データの暗号化には、例えば、AES(Advanced Encryption Standard)などの共通鍵暗号方式を用いる。   The service providing apparatus 10a concatenates the service data Data to be transmitted and the common key Rc “a”, and uses the authenticator-added data Rh “a” || Data with the common key Rh “a” generated by itself. Generate. Then, the data with the authenticator is encrypted with the common key Rc “a” of the application “a” to generate encrypted data E (Rc “a”, Rh “a” || Data), and is transmitted to the application “a”. Here, the symbol “||” indicates concatenation of data. E indicates an encryption function, and E (Rc “a”, Rh “a” || Data) indicates that data Rh “a” || Data with an authenticator is encrypted with the common key Rc “a”. Indicates. For encryption of data with an authenticator, for example, a common key cryptosystem such as AES (Advanced Encryption Standard) is used.

アプリaは、受信した暗号化データE(Rc「a」、Rh「a」||Data)を、自身の共通鍵のRc「a」で復号し、認証子付データRh「a」||Dataを取り出す。アプリaは、認証子付データから認証子を取り出し、サービス提供装置10aの共通鍵Rh「a」と比較し、送信されてきたデータDataの正当性を確認する。   The application a decrypts the received encrypted data E (Rc “a”, Rh “a” || Data) with Rc “a” of its own common key, and the data Rh “a” || Data with the authenticator Take out. The application a extracts the authenticator from the data with the authenticator, compares it with the common key Rh “a” of the service providing apparatus 10a, and confirms the validity of the transmitted data Data.

このように、相手方が生成した共通鍵を認証子として送信すべきデータに付加し、自身が生成した共通鍵で暗号化して送信することで、データの秘匿性を確保するとともに、データの正当性を確認することができる。   In this way, by adding the common key generated by the other party to the data to be transmitted as an authenticator, and encrypting and transmitting with the common key generated by itself, the confidentiality of the data is ensured and the validity of the data Can be confirmed.

また、アプリ記憶装置20は、サービスごとにサービス固有の公開鍵を使用してサービス提供装置10との間で共通鍵を共有したときに、そのサービスに対応したアプリのみを起動する。そしてアプリが起動されなければ、そのサービを提供するためにアプリ記憶装置20内に記憶されているサービススデータが、アクセスされることはない。これにより、アプリ記憶装置20に複数のサービスに対応したアプリ及びサービスデータが格納された場合に、アプリ間のサービスデータの漏えいを防止することができる。   Further, when the application storage device 20 shares a common key with the service providing device 10 using a service-specific public key for each service, the application storage device 20 activates only the application corresponding to the service. If the application is not activated, the service data stored in the application storage device 20 to provide the service is not accessed. Thereby, when applications and service data corresponding to a plurality of services are stored in the application storage device 20, it is possible to prevent leakage of service data between applications.

なお、上記において、ひとつのサービス提供装置10がひとつのアプリを制御して、ひとつのサービスを実現するものとして説明したが、サービス提供装置10が複数のアプリを制御するようにしてもよい。   In the above description, one service providing apparatus 10 controls one application to realize one service. However, the service providing apparatus 10 may control a plurality of applications.

また、上記の説明は、3つのサービス(アプリa、アプリb、および、アプリc)に対応したアプリ記憶装置20の例であるが、アプリ記憶装置20におけるアプリの数や種類を制限するものではない。目的に応じて、1つ以上の任意のアプリを実装することができる。   Further, the above description is an example of the application storage device 20 corresponding to three services (application a, application b, and application c), but the number and types of applications in the application storage device 20 are not limited. Absent. Depending on the purpose, one or more arbitrary apps can be implemented.

まや、上記においてアプリ記憶装置20に記憶されたアプリを起動し、そのアプリに対応したサービスデータを送受信して、サービスデータを更新する説明をしたが、サービス固有公開鍵の更新、さらにはアプリ自身の更新をしてもよい。すなわち、アプリ記録装置20は、サービスIDによって特定したサービス固有公開鍵で構築した暗号通信路を介して、サービスIDよって特定したアプリを記憶するアプリ格納部のメモリバンク(詳細は後述する。)内に格納する全てデータを送受信することで、これらを更新することができる。   In the above description, the application stored in the application storage device 20 is activated, the service data corresponding to the application is transmitted and received, and the service data is updated. However, the service-specific public key is updated, and the application itself May be updated. In other words, the application recording device 20 stores the application specified by the service ID in the memory bank (details will be described later) in the application storage unit that stores the application specified by the service ID via the encrypted communication path established by the service specific public key specified by the service ID. These can be updated by transmitting and receiving all the data stored in.

図3は、サービスIDとして「i」が付与されたサービスと、そのサービスに割り当てられる公開鍵暗号方式の公開鍵KPsv「i」およびそれに対応する秘密鍵Kpsv「i」の対応関係を示す概念図である。図3に示すように、公開鍵KPsv「i」はアプリ記憶装置20が記憶し、対応する秘密鍵Kpsv「i」はサービス提供サーバ装置10が記憶する。なおアプリ記憶装置20が記憶する公開鍵KPsv「i」は、その正当性を確認するため、第三者機関である認証局の秘密鍵Kprで電子署名を行う。電子署名としては、例えば、DSA(Digital Signature Algorithm)を用いる。公開鍵KPsv「i」を記憶するアプリ記憶装置20は、その正当性を電子署名で検証するため、認証局の公開鍵KPrもあわせて記憶する。   FIG. 3 is a conceptual diagram showing a correspondence relationship between a service assigned with “i” as a service ID, a public key KPsv “i” of a public key cryptosystem assigned to the service, and a secret key Kpsv “i” corresponding thereto. It is. As shown in FIG. 3, the public key KPsv “i” is stored in the application storage device 20, and the corresponding secret key Kpsv “i” is stored in the service providing server device 10. The public key KPsv “i” stored in the application storage device 20 is digitally signed with the private key Kpr of the certificate authority, which is a third party organization, in order to confirm the validity. As the electronic signature, for example, DSA (Digital Signature Algorithm) is used. The application storage device 20 that stores the public key KPsv “i” also stores the public key KPr of the certificate authority in order to verify its validity with an electronic signature.

図4は、サービス提供装置10の構成を示す概念図である。サービス提供装置10は、インターフェース部100、暗号処理部101、制御部102、データ記憶部103および通信モジュール部104を含む。インターフェース部100は、サービス管理サーバ装置30とのデータの送受信を制御する。   FIG. 4 is a conceptual diagram showing the configuration of the service providing apparatus 10. The service providing apparatus 10 includes an interface unit 100, an encryption processing unit 101, a control unit 102, a data storage unit 103, and a communication module unit 104. The interface unit 100 controls data transmission / reception with the service management server device 30.

暗号処理部101は、アプリ記憶装置20とのセキュアプロトコルや暗号通信路を介した制御プロトコルの実行のため必要な暗号処理を行う。制御部102は、特定のサービスを実現するため、サービス提供装置10全体を制御する。   The cryptographic processing unit 101 performs cryptographic processing necessary for executing a secure protocol with the application storage device 20 and a control protocol via a cryptographic communication path. The control unit 102 controls the entire service providing apparatus 10 in order to realize a specific service.

データ記憶部103は、通信モジュール部104を介して送受信したサービスデータや通信履歴を、逐次格納しておく。格納されたデータは特定のタイミング(例えば、毎日午前8:00)に、サービス管理サーバ装置30へ転送する。通信モジュール部104は、アプリ記憶装置20とのデータの送受信を行う。   The data storage unit 103 sequentially stores service data and communication history transmitted / received via the communication module unit 104. The stored data is transferred to the service management server device 30 at a specific timing (for example, 8:00 am every day). The communication module unit 104 transmits / receives data to / from the application storage device 20.

図5は、暗号処理部101の構成を示す概念図である。暗号処理部101は、格納部1010、鍵交換処理部1011、データ処理部1012、乱数生成部1013および証明書検証部1014を含む。   FIG. 5 is a conceptual diagram showing the configuration of the cryptographic processing unit 101. The cryptographic processing unit 101 includes a storage unit 1010, a key exchange processing unit 1011, a data processing unit 1012, a random number generation unit 1013, and a certificate verification unit 1014.

格納部1010は、認証局が電子署名した証明書を検証するための認証局公開鍵KPrを格納する認証局公開鍵格納部10100、サービス提供装置10で実現するサービス「i」固有の秘密鍵Kpsv「i」を格納するサービス固有鍵格納部10101を含む。   The storage unit 1010 includes a certificate authority public key storage unit 10100 that stores a certificate authority public key KPr for verifying a certificate digitally signed by the certificate authority, and a private key Kpsv unique to the service “i” realized by the service providing apparatus 10. A service unique key storage unit 10101 for storing “i” is included.

鍵交換処理部1011は、第1暗号部10110、第2暗号部10111および第1復号部10112を含み、共通鍵暗号方式と公開暗号方式を組み合わせた鍵交換処理を実行する。鍵交換のための公開暗号方式としては、例えば、RSAを用いる。また、鍵交換のための共通鍵暗号方式としては、例えば、AESを用いる。   The key exchange processing unit 1011 includes a first encryption unit 10110, a second encryption unit 10111, and a first decryption unit 10112, and executes a key exchange process combining a common key encryption method and a public encryption method. For example, RSA is used as a public encryption method for key exchange. As a common key encryption method for key exchange, for example, AES is used.

第1暗号部10110は、証明書検証部1014から受け取ったアプリ記憶装置20の固有の公開鍵KPcで、乱数生成部1013から受け取った第2共通鍵Rhを暗号化し、第2暗号化情報Ep(KPc、Rh)を生成する。そして、生成した第2暗号化情報を第2暗号部10111に出力する。ここで、Epは暗号化関数がRSAに基づくことを示す。   The first encryption unit 10110 encrypts the second common key Rh received from the random number generation unit 1013 with the unique public key KPc of the application storage device 20 received from the certificate verification unit 1014, and generates the second encrypted information Ep ( KPc, Rh). Then, the generated second encryption information is output to the second encryption unit 10111. Here, Ep indicates that the encryption function is based on RSA.

第2暗号部10111は、乱数生成部1013から受け取った第2共通鍵Rhで、第2復号部から受け取った第1共通鍵Rcを暗号化し、第3暗号化情報Es(Rh、Rc)を生成する。ここで、Esは共通鍵暗号化関数を示し、具体的には、AESに基づくことを示す。   The second encryption unit 10111 encrypts the first common key Rc received from the second decryption unit with the second common key Rh received from the random number generation unit 1013, and generates the third encrypted information Es (Rh, Rc). To do. Here, Es indicates a common key encryption function, and specifically indicates that it is based on AES.

また、第2暗号部10111は、第1暗号部10110から第2暗号化情報を受け取り、第3暗号化情報と連結し、第2チャレンジ情報Ep(KPc、Rh)||Es(Rh、Rc)を生成する。   The second encryption unit 10111 receives the second encryption information from the first encryption unit 10110, concatenates it with the third encryption information, and sets the second challenge information Ep (KPc, Rh) || Es (Rh, Rc) Is generated.

第1復号部10112は、第1チャレンジ情報から第1暗号化情報を取り出し、サービス固有鍵格納部10101から取り出したサービス「i」固有の秘密鍵Kpsv「i」で復号し、第1共通鍵Rcを取り出す。そして、取り出した第1共通鍵Rcを第2暗号部10111とデータ処理部1012に出力する。   The first decryption unit 10112 retrieves the first encrypted information from the first challenge information, decrypts it with the private key Kpsv “i” unique to the service “i” retrieved from the service unique key storage unit 10101, and the first common key Rc Take out. Then, the extracted first common key Rc is output to the second encryption unit 10111 and the data processing unit 1012.

データ処理部1012は、データ暗号部10120およびデータ復号部10121を含み、共通鍵暗号方式に基づく暗号通信に必要なデータ処理を実行する。データ処理のための共通鍵暗号方式として、例えば、AESを用いる。   The data processing unit 1012 includes a data encryption unit 10120 and a data decryption unit 10121, and executes data processing necessary for encrypted communication based on the common key encryption method. For example, AES is used as a common key encryption method for data processing.

データ暗号部10120は、送信すべき第2データDataと乱数生成部1013から受け取った第2共通鍵Rhを連結し、第2共通鍵Rhを第2認証子とする第2認証子付データRh||Dataを生成する。そして、第1復号部10112から受け取った第1共通鍵Rcで第2認証子付データを暗号化し、第2暗号化データEs(Rc、Rh||Data)を生成する。   The data encryption unit 10120 concatenates the second data Data to be transmitted and the second common key Rh received from the random number generation unit 1013, and uses the second common key Rh as the second authenticator, and data Rh | Generate Data. Then, the data with the second authenticator is encrypted with the first common key Rc received from the first decryption unit 10112 to generate second encrypted data Es (Rc, Rh || Data).

データ復号部10121は、乱数生成部1013から受け取った第1共通鍵Rhで、第1暗号化データを復号し、第1認証子付データRc||Dataを取り出す。そして、第1認証子付データから第1認証子Rcと第1データDataとを分離するとともに、第1認証子Rcと第1復号部10112から受け取った第1共通鍵Rcとを比較し、第1データDataの正当性を確認する。   The data decryption unit 10121 decrypts the first encrypted data with the first common key Rh received from the random number generation unit 1013, and extracts the first data with authenticator Rc || Data. Then, the first authenticator Rc and the first data Data are separated from the data with the first authenticator, and the first authenticator Rc and the first common key Rc received from the first decryption unit 10112 are compared, The validity of one data Data is confirmed.

乱数生成部1013は、所定の乱数アルゴリズムにより乱数を発生し、発生した乱数から第2共通鍵Rcを生成し、鍵交換処理部1011およびデータ処理部1012に出力する。   The random number generation unit 1013 generates a random number using a predetermined random number algorithm, generates a second common key Rc from the generated random number, and outputs the second common key Rc to the key exchange processing unit 1011 and the data processing unit 1012.

証明書検証部1014は、認証局公開鍵KPrで、第1チャレンジ情報から取り出した記憶装置固有公開鍵証明書の正当性を確認する。正当性が確認できたら、記憶装置固有公開鍵証明書よりアプリ記憶装置20の固有の公開鍵KPc取り出して、鍵交換処理部1011に出力する。   The certificate verification unit 1014 confirms the validity of the storage device specific public key certificate extracted from the first challenge information with the certificate authority public key KPr. If the validity is confirmed, the unique public key KPc of the application storage device 20 is extracted from the storage device unique public key certificate and output to the key exchange processing unit 1011.

図6は、アプリ記憶装置20の構成を示す概念図である。アプリ記憶装置20は、通信モジュール部200、暗号処理部201、制御部202およびアプリ格納部203を含む。通信モジュール部200は、サービス提供装置10の通信モジュール部104との間でデータの送受信を行う。   FIG. 6 is a conceptual diagram showing the configuration of the application storage device 20. The application storage device 20 includes a communication module unit 200, an encryption processing unit 201, a control unit 202, and an application storage unit 203. The communication module unit 200 transmits / receives data to / from the communication module unit 104 of the service providing apparatus 10.

暗号処理部201は、サービス提供装置10とのセキュアプロトコルや暗号通信路を介した制御プロトコルの実行のため必要な暗号処理を行う。制御部202は、特定のサービスを実現するため、対応するアプリをアプリ格納部203から読み出して実行する。アプリ格納部203は、複数のアプリを格納する。   The cryptographic processing unit 201 performs cryptographic processing necessary for executing a secure protocol with the service providing apparatus 10 and a control protocol via a cryptographic communication path. The control unit 202 reads the corresponding application from the application storage unit 203 and executes it in order to realize a specific service. The application storage unit 203 stores a plurality of applications.

図7は、暗号処理部201の構成を示す概念図である。暗号処理部201は、格納部2010、鍵交換処理部2011、データ処理部2012および乱数生成部2013を含む。   FIG. 7 is a conceptual diagram showing the configuration of the cryptographic processing unit 201. The cryptographic processing unit 201 includes a storage unit 2010, a key exchange processing unit 2011, a data processing unit 2012, and a random number generation unit 2013.

格納部2010は、アプリ記憶装置20の固有の公開鍵KPcを含む証明書本体に対して、認証局が電子署名した証明書を格納する記憶装置固有公開鍵証明書格納部20100、公開鍵KPcと対となる秘密鍵Kpcを格納する記憶装置固有鍵格納部20101を含む。   The storage unit 2010 includes a storage device-specific public key certificate storage unit 20100 that stores a certificate digitally signed by the certificate authority with respect to the certificate body including the unique public key KPc of the application storage device 20, and a public key KPc. A storage device unique key storage unit 20101 that stores a secret key Kpc to be paired is included.

鍵交換処理部2011は、第1復号部20110、第2復号部20111および第1暗号部20112を含む。   The key exchange processing unit 2011 includes a first decryption unit 20110, a second decryption unit 20111, and a first encryption unit 20112.

第1復号部20110は、第2チャレンジ情報から第2暗号化情報を取り出し、記憶装置固有鍵格納部20101から取り出したアプリ記憶装置20の固有の秘密鍵Kpcで、第2暗号化情報を復号し、第2共通鍵Rhを取り出す。そして、取り出した第2共通鍵Rhを第2復号部20111とデータ処理部2012に出力する。   The first decryption unit 20110 extracts the second encrypted information from the second challenge information, and decrypts the second encrypted information with the unique secret key Kpc of the application storage device 20 extracted from the storage device unique key storage unit 20101. The second common key Rh is taken out. Then, the extracted second common key Rh is output to the second decryption unit 20111 and the data processing unit 2012.

第2復号部20111は、第1復号部から受け取った第2共通鍵Rhで、第2チャレンジ情報から取り出した第3暗号化情報を復号し、第1共通鍵Rcを取り出す。そして、乱数生成部2013から受け取った第1共通鍵Rcと比較し、第1復号部から受け取った第2共通鍵Rhの正当性を確認する。これにより、第2チャレンジ情報の送信元が所定のサービスに対応したサービス提供装置10であることの認証を行う。   The second decryption unit 20111 decrypts the third encrypted information extracted from the second challenge information with the second common key Rh received from the first decryption unit, and extracts the first common key Rc. Then, the validity of the second common key Rh received from the first decryption unit is confirmed by comparing with the first common key Rc received from the random number generation unit 2013. Thereby, it is authenticated that the transmission source of the second challenge information is the service providing apparatus 10 corresponding to the predetermined service.

第1暗号部20112は、記憶装置固有公開鍵証明書格納部20100から証明書C(kr、KPc)を取り出す。ここで、Cは電子署名関数であり、C(Kr、KPc)は認証局の秘密鍵Krで、アプリ記憶装置20の固有の公開鍵KPcを含む証明書本体が電子署名されていることを示す。電子署名としては、例えば、DSAを用いる。   The first encryption unit 20112 takes out the certificate C (kr, KPc) from the storage device specific public key certificate storage unit 20100. Here, C is an electronic signature function, and C (Kr, KPc) is a private key Kr of the certificate authority, and indicates that the certificate body including the unique public key KPc of the application storage device 20 is electronically signed. . For example, DSA is used as the electronic signature.

第1暗号部20112は、アプリ格納部203からサービス「i」固有の公開鍵KPsv「i」の提供を受け、乱数生成部2013から受け取った第1共通鍵Rcを暗号化し、第1暗号情報Ep(KPsv「i」、Rc)を生成する。そして、証明書C(kr、KPc)と第1暗号化情報を連結し、第1チャレンジ情報C(kr、KPc)||Ep(KPsv「i」、Rc)を生成する。   The first encryption unit 20112 receives the provision of the service “i” specific public key KPsv “i” from the application storage unit 203, encrypts the first common key Rc received from the random number generation unit 2013, and generates the first encryption information Ep (KPsv “i”, Rc) is generated. Then, the certificate C (kr, KPc) and the first encrypted information are concatenated to generate first challenge information C (kr, KPc) || Ep (KPsv “i”, Rc).

データ処理部2012は、データ暗号部20120およびデータ復号部20121を含み、共通鍵暗号方式に基づく暗号通信に必要な、データ処理を実行する。   The data processing unit 2012 includes a data encryption unit 20120 and a data decryption unit 20121, and executes data processing necessary for encrypted communication based on the common key encryption method.

データ暗号部20120は、送信すべき第1データDataと乱数生成部2013から受け取った第1共通鍵Rcを連結し、第1共通鍵Rcを第1認証子とする第1認証子付データRc||Dataを生成する。そして、第1復号部20110から受け取った第2共通鍵Rhで第1認証子付データを暗号化し、第1暗号化データEs(Rh、Rc||Data)を生成する。   The data encryption unit 20120 concatenates the first data Data to be transmitted and the first common key Rc received from the random number generation unit 2013, and uses the first common key Rc as the first authenticator data Rc | Generate Data. Then, the data with the first authenticator is encrypted with the second common key Rh received from the first decryption unit 20110 to generate the first encrypted data Es (Rh, Rc || Data).

データ復号部20121は、乱数生成部2013から受け取った第1共通鍵Rcで、第2暗号化データを復号し、第2認証子付データRh||Dataを取り出す。そして、第2認証子付データから第2認証子Rhと第2データDataとを分離するとともに、第2認証子Rhと第1復号部20110から受け取った第2共通鍵Rhとを比較し、第2データDataの正当性を確認する。   The data decryption unit 20121 decrypts the second encrypted data with the first common key Rc received from the random number generation unit 2013, and extracts the second data with authenticator Rh || Data. Then, the second authenticator Rh and the second data Data are separated from the data with the second authenticator, and the second authenticator Rh is compared with the second common key Rh received from the first decryption unit 20110. (2) Check the validity of the data Data.

乱数生成部2013は、所定の乱数アルゴリズムにより乱数を発生し、発生した乱数から第1共通鍵Rcを生成し、鍵交換処理部2011およびデータ処理部2012に出力する。   The random number generation unit 2013 generates a random number using a predetermined random number algorithm, generates a first common key Rc from the generated random number, and outputs the first common key Rc to the key exchange processing unit 2011 and the data processing unit 2012.

図8は、図2に示す3つのアプリ(アプリa、アプリbおよびアプリc)を搭載可能なアプリアプリ格納部203の構成を示す概念図である。アプリ格納部203は、搭載可能なアプリの数のメモリバンクを含む。図8では、搭載可能なアプリ数を3としており、3つのメモリバンク2030、2031、2032を含む。   FIG. 8 is a conceptual diagram showing a configuration of the application application storage unit 203 that can mount the three applications (application a, application b, and application c) shown in FIG. The application storage unit 203 includes memory banks corresponding to the number of applications that can be installed. In FIG. 8, the number of applications that can be installed is 3, which includes three memory banks 2030, 2031, and 2032.

アプリ格納部203は、ひとつのメモリバンクにひとつのアプリを割り当てる。ここでは、メモリバンク2030にアプリaが、メモリバンク2031にアプリbが、メモリバンク2032にアプリcが割り当てられているものとする。そしてアプリは、自身が割り当てられたメモリバンク内にサービス提供装置10との間で送受信するサービスデータを記憶する。さらに、アプリ格納部203は、あるメモリバンクに割り当てられたアプリは、他のメモリバンクにアクセスできないように制御する。これにより、アプリ間のサービスデータの漏えいを防止することができる。   The application storage unit 203 assigns one application to one memory bank. Here, it is assumed that app a is assigned to memory bank 2030, app b is assigned to memory bank 2031, and app c is assigned to memory bank 2032. And an application memorize | stores the service data transmitted / received between the service provision apparatuses 10 in the memory bank to which self was allocated. Furthermore, the application storage unit 203 performs control so that an application assigned to a certain memory bank cannot access another memory bank. Thereby, leakage of service data between applications can be prevented.

メモリバンク2030は、アプリaが対応するサービス「a」のサービスIDを格納するID格納部20300、サービス「a」固有の公開鍵KPsv「a」を格納するサービス固有鍵格納部20301、アプリaそのものを格納するサービスプログラム格納部20302、課金データなどのサービスを提供するため、データ提供装置10との間で送受信するサービスデータaを格納するサービスデータ格納部20303を含む。同様に、メモリバンク2031は、ID格納部20310、サービス固有鍵格納部20311、サービスプログラム格納部20312、サービスデータ格納部20313を含み、メモリバンク2032は、ID格納部20320、サービス固有鍵格納部20321、サービスプログラム格納部20322、サービスデータ格納部20323を含む。   The memory bank 2030 includes an ID storage unit 20300 that stores a service ID of the service “a” to which the application a corresponds, a service unique key storage unit 20301 that stores a public key KPsv “a” unique to the service “a”, and the application a itself. Includes a service program storage unit 20302 for storing service data, and a service data storage unit 20303 for storing service data a transmitted to and received from the data providing apparatus 10 in order to provide services such as billing data. Similarly, the memory bank 2031 includes an ID storage unit 20310, a service unique key storage unit 20311, a service program storage unit 20312, and a service data storage unit 20313. The memory bank 2032 includes an ID storage unit 20320 and a service unique key storage unit 20321. A service program storage unit 20322 and a service data storage unit 20323.

次に、サービスiに対応するアプリiの起動方法について簡単に説明する。制御部202は、サービス提供装置10iから通信モジュール部200を介して、サービスID「i」を受信すると、アプリ格納203を検索する。具体的には、各メモリバンクのID格納部を確認し、受信したサービスID「i」が格納されていたメモリバンクが存在するか否かを確認する。サービスID「i」を格納したメモリバンクが存在する場合、メモリバンクのサービス固有鍵格納部に格納されているサービス「i」固有の公開鍵KPsv「i」を、暗号処理部201に提供する。存在しない場合、サービスIDを送信してきたサービス提供装置10iが提供するサービスiに対応できないので処理を終了する。   Next, a method for starting the application i corresponding to the service i will be briefly described. When the control unit 202 receives the service ID “i” from the service providing apparatus 10 i via the communication module unit 200, the control unit 202 searches the application storage 203. Specifically, the ID storage unit of each memory bank is confirmed, and it is confirmed whether or not there is a memory bank in which the received service ID “i” is stored. When the memory bank storing the service ID “i” exists, the public key KPsv “i” unique to the service “i” stored in the service unique key storage unit of the memory bank is provided to the encryption processing unit 201. If it does not exist, the service providing apparatus 10i that has transmitted the service ID cannot respond to the service i provided, and the process is terminated.

制御部202は、暗号処理部201で鍵交換処理を実行し、サービス提供装置10iとの間に暗号通信路を構築すると、対応するメモリバンクのサービスプログラム格納部からアプリiを受け取って起動する。サービス提供装置10iとの間に暗号通信路を構築できない場合、制御部202は、処理を終了する。   When the encryption processing unit 201 executes key exchange processing and constructs an encryption communication path with the service providing apparatus 10i, the control unit 202 receives the application i from the service program storage unit of the corresponding memory bank and starts it. When the encryption communication path cannot be established with the service providing apparatus 10i, the control unit 202 ends the process.

制御部202で起動されたアプリiは、サービスiを実現するために、通信モジュール200および暗号処理部201を介して、サービス提供装置10iとの間でサービスデータiを暗号化して送受信する。このとき、制御部202は、対応するメモリバンクのサービスデータ格納部からの読み出したサービスデータiをサービス提供装置10iに送信し、サービス提供装置10iから受信したサービスデータiを対応するメモリバンクのサービスデータ格納部に記憶する。   The application i activated by the control unit 202 encrypts and transmits the service data i to and from the service providing apparatus 10i via the communication module 200 and the encryption processing unit 201 in order to realize the service i. At this time, the control unit 202 transmits the service data i read from the service data storage unit of the corresponding memory bank to the service providing apparatus 10i, and the service data i received from the service providing apparatus 10i is the service of the corresponding memory bank. Store in the data storage.

以上の構成による情報システム1の動作を説明する。図9、10は、鍵交換処理の手順を示すフローチャートである。   The operation of the information system 1 having the above configuration will be described. 9 and 10 are flowcharts showing the procedure of the key exchange process.

サービス提供装置10の制御部102は、実現しようとするサービスのサービスID「i」をアプリ記憶装置20に送信する(S100)。サービスID「i」を受信した(S101)アプリ記憶装置20の制御部202は、サービスID「i」に基づきアプリ格納部203のメモリバンクを検索し、サービスID「i」を格納したID格納部を含むメモリバンクが存在するか否かを確認する(S102)。サービスID「i」を格納したID格納部を含むメモリバンクが存在しなければ(S102のN)、制御部102はサービスに対応できないので、処理を異常終了する。存在すれば(S102のY)、そのメモリバンクのサービス固有鍵格納部に格納されているサービスID「i」に対応するサービス固有の公開鍵KPsv「i」を取り出し(S103)、暗号処理部201に出力するとともに、第1チャレンジ情報の生成を指示する。暗号処理部201は、第1共通鍵Rcを生成し(S104)、アプリ記憶装置20ごとに固有の記憶装置固有公開鍵証明書と、制御部202から受け取ったサービス固有の公開鍵KPsv「i」を用いて、第1チャレンジ情報を生成し(S105)、制御部202に出力する。第1チャレンジ情報を受け取った制御部202は、第1チャレンジ情報をサービス提供装置10に送信する(S106)。   The control unit 102 of the service providing apparatus 10 transmits the service ID “i” of the service to be realized to the application storage device 20 (S100). The control unit 202 of the application storage device 20 that has received the service ID “i” (S101) searches the memory bank of the application storage unit 203 based on the service ID “i”, and stores the service ID “i”. It is confirmed whether or not there is a memory bank including (S102). If there is no memory bank including the ID storage unit storing the service ID “i” (N in S102), the control unit 102 cannot cope with the service, and thus terminates the process abnormally. If it exists (Y in S102), the service-specific public key KPsv “i” corresponding to the service ID “i” stored in the service-specific key storage unit of the memory bank is extracted (S103), and the cryptographic processing unit 201 And instructing the generation of the first challenge information. The cryptographic processing unit 201 generates the first common key Rc (S104), the storage device-specific public key certificate unique to each application storage device 20, and the service-specific public key KPsv “i” received from the control unit 202. Is used to generate first challenge information (S105) and output it to the control unit 202. The control unit 202 that has received the first challenge information transmits the first challenge information to the service providing apparatus 10 (S106).

第1チャレンジ情報を受け取ったサービス提供装置10の制御部102は、第1チャレンジ情報を暗号処理部101に出力し、第2チャレンジ情報の生成を指示する(S107)。暗号処理部101は、第1チャレンジ情報から記憶装置固有公開鍵証明書を取り出し、認証局の公開鍵で証明書の検証をする(S108)。このとき、サービス管理サーバ装置30から受け取ったリボケーションリストが、サービス提供装置10のデータ格納部203に格納されていれば、その証明書がリボークされているか否かの確認も併せて行う。証明書が正当でない、あるいは、リボークされていれば(S108のN)、制御部102に検証エラーを通知し、鍵交換処理を異常終了する。証明書が正当で、かつ、リボークされていなければ(S108のY)、サービス固有秘密鍵で第1チャレンジ情報を復号し(S109)、第1共有鍵Rcを取り出して共有する(S110)。次に、第2共通鍵Rhを生成し(S111)、第2チャレンジ情報を生成し(S112)、制御部102に出力する。第2チャレンジ情報を受け取った制御部102は、第2チャレンジ情報をアプリ記憶装置20に送信する(S113)。   The control unit 102 of the service providing apparatus 10 that has received the first challenge information outputs the first challenge information to the cryptographic processing unit 101 and instructs the generation of the second challenge information (S107). The cryptographic processor 101 extracts the storage device specific public key certificate from the first challenge information, and verifies the certificate with the public key of the certificate authority (S108). At this time, if the revocation list received from the service management server device 30 is stored in the data storage unit 203 of the service providing device 10, it is also checked whether or not the certificate has been revoked. If the certificate is invalid or revoked (N in S108), a verification error is notified to the control unit 102, and the key exchange process is terminated abnormally. If the certificate is valid and not revoked (Y in S108), the first challenge information is decrypted with the service-specific private key (S109), and the first shared key Rc is extracted and shared (S110). Next, a second common key Rh is generated (S111), second challenge information is generated (S112), and output to the control unit 102. The control unit 102 that has received the second challenge information transmits the second challenge information to the application storage device 20 (S113).

第2チャレンジ情報を受け取ったアプリ記憶装置20の制御部202は、第2チャレンジ情報を暗号処理部201に出力し、第1共通鍵の復号を指示する(S114)。第2チャレンジ情報を受け取った暗号処理部201は、記憶装置固有の秘密鍵で第2チャレンジ情報を復号し(S115)、第2共通鍵を取り出す。また、第2チャレンジ情報から第1共通鍵を抽出し(S116)と、自身が生成した第1共通鍵と比較し、取り出した第2共通鍵Rhの正当性を検証する。比較した結果、両者が一致しなければ、取り出した第2共通鍵が正当でないと判断し(S117のN)、制御部202に検証エラーを通知し、鍵交換処理を異常終了する。両者が一致していれば、取り出した第2共通鍵が正当であると判断し(S117のY)、第2共通鍵Rhを共有し(S118)、鍵交換処理を終了する。このような鍵交換処理により、サービス提供装置10とアプリ記憶装置20との間にサービスごとに専用の暗号通信路が構築される。   Receiving the second challenge information, the control unit 202 of the application storage device 20 outputs the second challenge information to the encryption processing unit 201 and instructs to decrypt the first common key (S114). Receiving the second challenge information, the cryptographic processing unit 201 decrypts the second challenge information with the private key unique to the storage device (S115), and extracts the second common key. Further, the first common key is extracted from the second challenge information (S116), and compared with the first common key generated by itself, the validity of the extracted second common key Rh is verified. As a result of the comparison, if the two do not match, it is determined that the extracted second common key is not valid (N in S117), a verification error is notified to the control unit 202, and the key exchange process ends abnormally. If they match, it is determined that the extracted second common key is valid (Y in S117), the second common key Rh is shared (S118), and the key exchange process is terminated. Through such key exchange processing, a dedicated encryption communication path is established between the service providing apparatus 10 and the application storage apparatus 20 for each service.

次に本発明の第1の変形例について説明する。本発明の第1の変形例もサービスごとに専用の暗号通信を行う情報システムに関する。これまでの説明では、サービスごとに割り当てられたサービス固有公開鍵とサービス固有秘密鍵を利用して、サービス提供装置10とアプリ記憶装置20との間で2つの共通鍵RcとRhを共有した。本発明の第1の変形例では、サービス提供装置10とアプリ記憶装置20にサービス固有の共通鍵を割り当てることで、2つの共通鍵RcとRhを共有する。このために、アプリで実現するサービス「i」固有の共通鍵Ksv「i」を、サービス提供装置10およびアプリ記憶装置20の双方が格納する。このとき、第1チャレンジ情報は、C(kr、KPc)||Es(Ksv「i」、Rc)、第1暗号化データは、Es(Ksv「i」、Rc)となる。これにより、公開鍵暗号方式の演算する機会が少なくなるので、鍵交換処理全体の所要時間を短縮化できる。   Next, a first modification of the present invention will be described. The first modification of the present invention also relates to an information system that performs dedicated encrypted communication for each service. In the description so far, two common keys Rc and Rh are shared between the service providing apparatus 10 and the application storage apparatus 20 by using a service specific public key and a service specific secret key assigned for each service. In the first modification of the present invention, two common keys Rc and Rh are shared by assigning a service-specific common key to the service providing apparatus 10 and the application storage apparatus 20. For this purpose, both the service providing apparatus 10 and the application storage apparatus 20 store the common key Ksv “i” unique to the service “i” realized by the application. At this time, the first challenge information is C (kr, KPc) || Es (Ksv “i”, Rc), and the first encrypted data is Es (Ksv “i”, Rc). As a result, since the opportunity for calculation in the public key cryptosystem is reduced, the time required for the entire key exchange process can be shortened.

本発明の第1の変形例に係る情報システム1の暗号処理部101は、図5に示した暗号処理部101と同様のタイプのため、同じ構成の部分については説明を省略する。   Since the cryptographic processing unit 101 of the information system 1 according to the first modification of the present invention is of the same type as the cryptographic processing unit 101 shown in FIG.

格納部1010は、認証局が電子署名した証明書を検証するための認証局公開鍵KPrを格納する認証局公開鍵格納部10100とサービス固有鍵格納部10101を含む。サービス固有鍵格納部10101は、サービス提供装置10が提供するサービス「i」固有の共通鍵Ksv「i」を格納する。   The storage unit 1010 includes a certificate authority public key storage unit 10100 and a service unique key storage unit 10101 for storing a certificate authority public key KPr for verifying a certificate digitally signed by the certificate authority. The service unique key storage unit 10101 stores a common key Ksv “i” unique to the service “i” provided by the service providing apparatus 10.

鍵交換処理部1011は、第1暗号部10110、第2暗号部10111および第1復号部10112を含む。第1復号部10112は、第1チャレンジ情報C(kr、KPc)||Es(Ksv「i」、Rc)から第1暗号化情報Es(Ksv「i」、Rc)を取り出し、サービス固有鍵格納部10101から取り出したサービス「i」固有の共通鍵Ksv「i」で復号し、第1共通鍵Rcを取り出す。そして、取り出した第1共通鍵Rcを第2暗号部10111とデータ処理部1012に出力する。   The key exchange processing unit 1011 includes a first encryption unit 10110, a second encryption unit 10111, and a first decryption unit 10112. The first decryption unit 10112 extracts the first encrypted information Es (Ksv “i”, Rc) from the first challenge information C (kr, KPc) || Es (Ksv “i”, Rc), and stores the service unique key Decrypted with the common key Ksv “i” unique to the service “i” extracted from the unit 10101 to extract the first common key Rc. Then, the extracted first common key Rc is output to the second encryption unit 10111 and the data processing unit 1012.

第2暗号部10111は、乱数生成部1013から受け取った第2共通鍵Rhで、第1チャレンジ情報に含まれる第1共通鍵Rcを暗号化し、第3暗号化情報Ec(Rh、Rc)を生成する。   The second encryption unit 10111 encrypts the first common key Rc included in the first challenge information with the second common key Rh received from the random number generation unit 1013, and generates the third encrypted information Ec (Rh, Rc). To do.

データ処理部1012は、データ暗号部10120を含み、共通鍵暗号方式に基づく暗号通信に必要な、データの暗号化処理を実行する。   The data processing unit 1012 includes a data encryption unit 10120, and executes data encryption processing necessary for encrypted communication based on the common key encryption method.

本発明の第1の変形例に係る情報システム1の暗号処理部201の構成は、図7に示した暗号処理部201と同様のタイプのため、同じ構造の部分については説明を省略する。
第1暗号部20112は、記憶装置固有公開鍵証明書格納部20100から証明書C(kr、KPc)を取り出し、アプリ格納部203からサービス「i」固有の共通鍵Ksv「i」の提供を受け、乱数生成部2013から受け取った第1共通鍵Rcを暗号化し、第1暗号情報Ep(KPsv「i」、Rc)を生成する。そして、証明書C(kr、KPc)と第1暗号化情報を連結し、第1チャレンジ情報C(kr、KPc)||Ep(KPsv「i」、Rc)を生成する。
The configuration of the cryptographic processing unit 201 of the information system 1 according to the first modification of the present invention is the same type as the cryptographic processing unit 201 shown in FIG.
The first encryption unit 20112 extracts the certificate C (kr, KPc) from the storage device unique public key certificate storage unit 20100 and receives the provision of the common key Ksv “i” unique to the service “i” from the application storage unit 203. The first common key Rc received from the random number generation unit 2013 is encrypted to generate first encryption information Ep (KPsv “i”, Rc). Then, the certificate C (kr, KPc) and the first encrypted information are concatenated to generate first challenge information C (kr, KPc) || Ep (KPsv “i”, Rc).

本発明の第1の変形例に係る情報システム1のアプリ格納部203は、図8に示したアプリ格納部203と同様のタイプのため、同じ構造の部分については説明を省略する。3つのメモリバンク2030、2031、2032内のサービス固有鍵格納部20310、20311および20312は、アプリで実現するサービス「i」固有の公開鍵KPsv「i」の代わりに。サービス固有の共通鍵Ksv「i」を格納する。   The application storage unit 203 of the information system 1 according to the first modification of the present invention is the same type as the application storage unit 203 shown in FIG. The service unique key storage units 20310, 20311, and 20312 in the three memory banks 2030, 2031, and 2032 are replaced with the service “i” unique public key KPsv “i” realized by the application. The service-specific common key Ksv “i” is stored.

以上の構成による変形例に係る情報システムに係る鍵交換処理の手順は、情報システム1の鍵交換手順を示すフローチャートと同一となるため説明を省略する。上記説明以外に、サービス固有の公開鍵KPsv「i」およびサービス固有の秘密鍵Kpsv「i」を、共に、サービス固有の共通鍵Ksv「i」と読み代えればよい。   Since the procedure of the key exchange process related to the information system according to the modified example having the above configuration is the same as the flowchart showing the key exchange procedure of the information system 1, the description is omitted. In addition to the above description, both the service-specific public key KPsv “i” and the service-specific secret key Kpsv “i” may be replaced with the service-specific common key Ksv “i”.

このように本発明の第1の変形例に係る情報システム1では、公開鍵暗号処理を共通鍵暗号に置き換え、第1共通鍵Rcを、サービスごとに割り当てられた共通鍵で暗号化して送信するので、セキュリティ強度を確保しつつ鍵交換処理の所要時間を短縮化することができる。   As described above, in the information system 1 according to the first modified example of the present invention, the public key encryption process is replaced with the common key encryption, and the first common key Rc is encrypted with the common key assigned for each service and transmitted. Therefore, it is possible to shorten the time required for the key exchange process while ensuring the security strength.

次に本発明の第2の変形例について説明する。本発明の第2の変形例もサービスごとに専用の暗号通信を行う情報システムに関する。これまでの説明では、鍵交換処理の公開暗号方式としてRSAを用いるとした。本発明の第2の変形例では、鍵交換処理の公開暗号方式としてECDH(Elliptic Curve Diffie-Hellman)を用いる。ECDHは、RSAよりも短い鍵長で同程度のセキュリティ強度を実現できる。一般に、公開鍵暗号方式の演算時間は鍵長に依存するため、ECDHを用いることで、鍵交換処理全体の所要時間を短縮化できる。   Next, a second modification of the present invention will be described. The second modification of the present invention also relates to an information system that performs dedicated cryptographic communication for each service. In the description so far, RSA is used as a public encryption method for key exchange processing. In the second modification of the present invention, ECDH (Elliptic Curve Diffie-Hellman) is used as a public encryption method for key exchange processing. ECDH can achieve the same level of security strength with a shorter key length than RSA. In general, since the computation time of the public key cryptosystem depends on the key length, the time required for the entire key exchange process can be shortened by using ECDH.

本発明の第2の変形例に係る情報システム1の暗号処理部101は、図5に示され暗号処理部101と同様のタイプのため、同じ構成の部分については説明を省略する。   The encryption processing unit 101 of the information system 1 according to the second modification of the present invention is the same type as the encryption processing unit 101 shown in FIG.

鍵交換処理部1011は、第1暗号部10110、第2暗号部10111および第1復号部10112を含み、共通鍵暗号方式と公開暗号方式を組み合わせた鍵交換処理を実行する。鍵交換のための公開暗号方式としては、ECDHを用いる。   The key exchange processing unit 1011 includes a first encryption unit 10110, a second encryption unit 10111, and a first decryption unit 10112, and executes a key exchange process combining a common key encryption method and a public encryption method. ECDH is used as a public encryption method for key exchange.

第1暗号部10110は、楕円曲線上のベースポイントGと、乱数生成部1013から受け取った第2乱数Rh’を楕円曲線上で掛け合わせ、第2暗号化情報Ep(KPc、Rh)=Rh’*Gを生成する。また、第2証明書検証部1014から受け取ったアプリ記憶装置20の固有の公開鍵KPcと、第2乱数Rh’を楕円曲線上で掛け合わせ、第2共通鍵Rh=Rh’*KPcを生成する。そして、生成した第2暗号化情報と第2共通鍵を第2暗号部10111に出力する。ここで、Epは暗号化関数がECDHに基づくことを示す。また、楕円曲線上の乗算を「*」で示す。   The first encryption unit 10110 multiplies the base point G on the elliptic curve by the second random number Rh ′ received from the random number generation unit 1013 on the elliptic curve, and the second encryption information Ep (KPc, Rh) = Rh ′. * G is generated. Further, the unique public key KPc of the application storage device 20 received from the second certificate verification unit 1014 and the second random number Rh ′ are multiplied on an elliptic curve to generate a second common key Rh = Rh ′ * KPc. . Then, the generated second encryption information and the second common key are output to the second encryption unit 10111. Here, Ep indicates that the encryption function is based on ECDH. In addition, multiplication on the elliptic curve is indicated by “*”.

第1復号部10112は、第1チャレンジ情報から第1暗号化情報Ep(KPsv「i」、Rc)=Rc’*Gを取り出し、サービス固有鍵格納部から取り出したサービス「i」固有の秘密鍵Kpsv「i」と楕円曲線上で掛け合わせ、第1共通鍵Rc=F(Kpsv「i」*Rc’*G)=F(Rc’*(Kpsv「i」*G))=F(Rc’*KPsv「i」)を取り出す。ここで、Fは楕円上の2次元座標から、スカラー(1次元の値)を導出する導出関数である。そして、取り出した第1共通鍵Rcを第2暗号部10111とデータ処理部1012に出力する。ここで、サービス「i」固有の秘密鍵Kpsv「i」とサービス「i」固有の公開鍵KPsv「i」との間には、KPsv「i」=Kpsv「i」*Gの関係式があり、第1共通鍵Rcの最後の式変形は、この関係式を用いている。   The first decryption unit 10112 extracts the first encrypted information Ep (KPsv “i”, Rc) = Rc ′ * G from the first challenge information, and the private key unique to the service “i” extracted from the service specific key storage unit Multiplying Kpsv “i” on the elliptic curve, the first common key Rc = F (Kpsv “i” * Rc ′ * G) = F (Rc ′ * (Kpsv “i” * G)) = F (Rc ′ * KPsv “i”) is taken out. Here, F is a derivation function for deriving a scalar (one-dimensional value) from two-dimensional coordinates on an ellipse. Then, the extracted first common key Rc is output to the second encryption unit 10111 and the data processing unit 1012. Here, there is a relational expression of KPsv “i” = Kpsv “i” * G between the secret key Kpsv “i” unique to the service “i” and the public key KPsv “i” unique to the service “i”. The last formula modification of the first common key Rc uses this relational expression.

本発明の第2の変形例に係る情報システム1の暗号処理部201は、図7に示され暗号処理部201と同様のタイプのため、同じ構成の部分については説明を省略する。   The encryption processing unit 201 of the information system 1 according to the second modification of the present invention is the same type as the encryption processing unit 201 shown in FIG.

第1復号部20110は、第2チャレンジ情報から第2暗号化情報Ep(KPc、Rh)=Rh’*Gを取り出し、記憶装置固有秘密鍵格納部20101から取り出したアプリ記憶装置20の固有の秘密鍵Kpcと楕円曲線上で掛け合わせ、第2共通鍵Rh=F(Kpc*Rc’*G)=F(Rc’*(Kpc*G))=F(Rc’*KPc)を生成する。そして、生成した第2共通鍵Rhを第2復号部20111とデータ処理部2012に出力する。ここで、アプリ記憶装置20の固有の秘密鍵Kpcとアプリ記憶装置20の固有の公開鍵KPcとの間には、KPc=Kpc*Gの関係式があり、第2共通鍵Rhの最後の式変形は、この関係式を用いている。   The first decryption unit 20110 extracts the second encrypted information Ep (KPc, Rh) = Rh ′ * G from the second challenge information, and the unique secret of the application storage device 20 extracted from the storage device unique secret key storage unit 20101 The key Kpc is multiplied on the elliptic curve to generate the second common key Rh = F (Kpc * Rc ′ * G) = F (Rc ′ * (Kpc * G)) = F (Rc ′ * KPc). Then, the generated second common key Rh is output to the second decryption unit 20111 and the data processing unit 2012. Here, there is a relational expression of KPc = Kpc * G between the private key Kpc unique to the application storage device 20 and the public key KPc unique to the application storage device 20, and the last expression of the second common key Rh. The transformation uses this relational expression.

第2復号部20111は、第1復号部から受け取った第2共通鍵Rhで、第2チャレンジ情報から取り出した第3暗号化情報を復号し、第1共通鍵Rcを取り出す。そして、第1暗号部20112から受け取った第1共通鍵Rcと比較し、第1復号部から受け取った第2共通鍵Rhの正当性を確認する。これにより、第2チャレンジ情報の送信元であるサービス提装置10の認証を行う。   The second decryption unit 20111 decrypts the third encrypted information extracted from the second challenge information with the second common key Rh received from the first decryption unit, and extracts the first common key Rc. Then, the validity of the second common key Rh received from the first decryption unit is confirmed by comparing with the first common key Rc received from the first encryption unit 20112. As a result, the service providing apparatus 10 that is the transmission source of the second challenge information is authenticated.

第1暗号部20112は、記憶装置固有公開鍵証明書格納部20100から証明書C(kr、KPc)を取り出す。ここで、Cは電子署名関数であり、C(Kr、KPc)は認証局の秘密鍵Krで、アプリ記憶装置20の固有の公開鍵KPcを含む証明書本体が電子署名されていることを示す。電子署名としては、例えば、ECDSA(Elliptic Curve DSA)を用いる。   The first encryption unit 20112 takes out the certificate C (kr, KPc) from the storage device specific public key certificate storage unit 20100. Here, C is an electronic signature function, and C (Kr, KPc) is a private key Kr of the certificate authority, and indicates that the certificate body including the unique public key KPc of the application storage device 20 is electronically signed. . For example, ECDSA (Elliptic Curve DSA) is used as the electronic signature.

第1暗号部20112は、楕円曲線上のベースポイントGと、乱数生成部2013から受け取った第1乱数Rc’を楕円曲線上で掛け合わせ、第1暗号化情報Ep(KPsv「i」、Rc)=Rc’*Gを生成する。また、アプリ格納部203からサービス「i」固有の公開鍵KPsv「i」を取り出し、第1乱数Rc’と楕円曲線上で掛け合わせ、第1共通鍵Rc=F(Rc’*KPsv「i」)を生成する。そして、第1共通鍵を第2復号部20111とデータ処理部2012に出力する。   The first encryption unit 20112 multiplies the base point G on the elliptic curve by the first random number Rc ′ received from the random number generation unit 2013 on the elliptic curve, and first encryption information Ep (KPsv “i”, Rc) = Rc '* G is generated. Further, the public key KPsv “i” unique to the service “i” is extracted from the application storage unit 203 and multiplied by the first random number Rc ′ on the elliptic curve to obtain the first common key Rc = F (Rc ′ * KPsv “i”. ) Is generated. Then, the first common key is output to the second decryption unit 20111 and the data processing unit 2012.

データ処理部2012は、データ暗号部20120およびデータ復号部20121を含み、共通鍵暗号方式に基づく暗号通信に必要な、データ処理を実行する。   The data processing unit 2012 includes a data encryption unit 20120 and a data decryption unit 20121, and executes data processing necessary for encrypted communication based on the common key encryption method.

データ暗号部20120は、送信すべき第1データDataと第1暗号部20112から受け取った第1共通鍵Rcを連結し、第1共通鍵Rcを第1認証子とする第1認証子付データRc||Dataを生成する。そして、第1復号部20110から受け取った第2共通鍵Rhで第1認証子付データを暗号化し、第1暗号化データEs(Rh、Rc||Data)を生成する。   The data encryption unit 20120 concatenates the first data Data to be transmitted and the first common key Rc received from the first encryption unit 20112, and uses the first common key Rc as the first authenticator data Rc. || Data is generated. Then, the data with the first authenticator is encrypted with the second common key Rh received from the first decryption unit 20110 to generate the first encrypted data Es (Rh, Rc || Data).

データ復号部20121は、第1暗号部20112から受け取った第1共通鍵Rcで、第2暗号化データを復号し、第2認証子付データRh||Dataを取り出す。そして、第2認証子付データから第2認証子Rhと第2データDataとを分離するとともに、第2認証子Rhと第1復号部から受け取った第2共通鍵Rhとを比較し、第2データDataの正当性を確認する。   The data decryption unit 20121 decrypts the second encrypted data using the first common key Rc received from the first encryption unit 20112, and takes out the second authenticator-added data Rh || Data. Then, the second authenticator Rh and the second data Data are separated from the data with the second authenticator, the second authenticator Rh is compared with the second common key Rh received from the first decryption unit, and the second Check the validity of the data Data.

本発明の第2の変形例に係る情報システム1のアプリ格納部203は、図8に示したアプリ格納部203と同じため、説明を省略す
このように本発明の第2の変形例に係る情報システム1では、鍵交換処理の公開暗号方式としてECDHを用いるので、セキュリティ強度を維持したまま鍵長を短くすることができ、鍵交換処理全体の所要時間を短縮化できる。
The application storage unit 203 of the information system 1 according to the second modification of the present invention is the same as the application storage unit 203 shown in FIG. 8, and thus the description thereof is omitted. As described above, according to the second modification of the present invention. Since the information system 1 uses ECDH as the public encryption method for the key exchange process, the key length can be shortened while maintaining the security strength, and the time required for the entire key exchange process can be shortened.

なお、本発明の第2の変形例に係る情報システム1では、導出関数Fはシステムに固有として説明しているが、2つのECDH処理のおける導出関数Fの少なくとも1つをサービスサービス固有の導出関数F「i」を用いるようにしてもよい。この場合、サービス「i」に対応したメモリバンク内にサービス固有の導出関数F「i」を格納し、サービス固有の公開鍵KPsv「i」と同様に暗号処理部101に提供するように構成すればよい。   In the information system 1 according to the second modification of the present invention, the derivation function F is described as being unique to the system, but at least one of the derivation functions F in the two ECDH processes is derived as derivation specific to the service service. The function F “i” may be used. In this case, the service-specific derivation function F “i” is stored in the memory bank corresponding to the service “i”, and is provided to the cryptographic processing unit 101 in the same manner as the service-specific public key KPsv “i”. That's fine.

また、上述した全ての情報システム1では、データの送信および受信ごとに、認証子と暗号鍵を定めるものとした。すなわち、サービス提供装置10からアプリ記憶装置20へサービスデータを送信する場合は、第2共通鍵Rhを認証子とし、第1共通鍵Rcによって認証子付データを暗号化し、アプリ記憶装置20からサービスデータを受信する場合は、第1共通鍵Rcを認証子とし、第2共通鍵Rhによって認証子付データを暗号化した。しかしなら、2つの共通鍵の利用方法をこれに限定するものではない。いずれの場合であっても、一方の共通鍵を認証子とし、認証子とデータを連結した認証子付データを、他方の共通鍵で暗号化することができる。   Further, in all the information systems 1 described above, an authenticator and an encryption key are determined for each transmission and reception of data. That is, when the service data is transmitted from the service providing device 10 to the application storage device 20, the second common key Rh is used as an authenticator, the data with the authenticator is encrypted using the first common key Rc, and the service is transferred from the application storage device 20 to the service. When receiving data, the first common key Rc was used as an authenticator, and the data with an authenticator was encrypted using the second common key Rh. However, the method of using the two common keys is not limited to this. In any case, data with an authenticator obtained by concatenating the authenticator and data with one common key can be encrypted with the other common key.

次に本発明の第3の変形例について説明する。本発明の第3の変形例もサービスごとに専用の暗号通信を行う情報システムに関する。本発明の第2の変形例に係る情報システム1における第2チャレンジ情報は、第2暗号化情報Ep(KPc、Rh)と第3の暗号化情報Es(Rh、Rc)とを連結させたものであった。ECDHを用いた本発明の第3の変形例では、第2チャレンジ情報は、第2暗号化情報のみで構成されるものとする。そして、第3暗号化情報とアプリ記憶装置20で生成した第1共通鍵Rcと比較による正当性の判断は、最初のサービスデータ通信時に行うものとする。この場合、サービスデータ通信において、第1共通鍵Rcを認証子に、第2共通鍵Rhをデータの暗号鍵に使用する。   Next, a third modification of the present invention will be described. The third modification of the present invention also relates to an information system that performs dedicated encrypted communication for each service. The second challenge information in the information system 1 according to the second modification of the present invention is obtained by concatenating the second encrypted information Ep (KPc, Rh) and the third encrypted information Es (Rh, Rc). Met. In the third modification of the present invention using ECDH, it is assumed that the second challenge information is composed only of the second encrypted information. Then, it is assumed that the validity is determined by comparing the third encrypted information with the first common key Rc generated by the application storage device 20 at the first service data communication. In this case, in service data communication, the first common key Rc is used as an authenticator, and the second common key Rh is used as a data encryption key.

図11は、本発明の第3の変形例に係る情報システム1のサービス提供装置10の暗号処理部101の構成を示す概念図である。図5に示した暗号処理部101と同様のタイプのため、図中、同じ構造の部分については同じ番号を付し、必要に応じて説明を省略する。   FIG. 11 is a conceptual diagram showing the configuration of the encryption processing unit 101 of the service providing apparatus 10 of the information system 1 according to the third modification of the present invention. Since the type is the same as that of the cryptographic processing unit 101 shown in FIG. 5, the same number is assigned to the same structure in the figure, and the description is omitted as necessary.

鍵交換処理部1011は 、第1暗号処理部10110と第1復号処理部10112を含む。各構成の部分の動作は図5に示した構成の部分と同じであるが、第1復号部10112において取り出された第1共通鍵Rcは、データ処理部1012にのみ出力される。   The key exchange processing unit 1011 includes a first encryption processing unit 10110 and a first decryption processing unit 10112. Although the operation of each component is the same as that of the component shown in FIG. 5, the first common key Rc extracted by the first decryption unit 10112 is output only to the data processing unit 1012.

データ処理部1012は、データ暗号部10120およびデータ復号部10121を含み、共通鍵暗号方式に基づく暗号通信に必要なデータ処理を実行する。   The data processing unit 1012 includes a data encryption unit 10120 and a data decryption unit 10121, and executes data processing necessary for encrypted communication based on the common key encryption method.

データ暗号部10120は、送信すべき第2データDataと第1復号部10112から受け取った第1共通鍵Rcを認証子とする第2認証子付データRc||Dataを生成する。そして、乱数生成部1013から受け取った第2共通鍵Rhで第2認証子付データを暗号化し、第2暗号化データEs(Rh、Rc||Data)を生成する。   The data encryption unit 10120 generates second authentication data Rc || Data using the second data Data to be transmitted and the first common key Rc received from the first decryption unit 10112 as an authentication code. Then, the data with the second authenticator is encrypted with the second common key Rh received from the random number generation unit 1013 to generate second encrypted data Es (Rh, Rc || Data).

データ復号部10121は、乱数生成部1013から受け取った第1共通鍵Rhで、第1暗号化データを復号し、第1認証子付データRc||Dataを取り出す。そして、第1認証子付データから認証子Rcと第1データDataとを分離するとともに、第1認証子Rcと第1復号部10112から受け取った第1共通鍵Rcとを比較し、第1データDataの正当性を確認する。   The data decryption unit 10121 decrypts the first encrypted data with the first common key Rh received from the random number generation unit 1013, and extracts the first data with authenticator Rc || Data. Then, the authenticator Rc and the first data Data are separated from the data with the first authenticator, and the first authenticator Rc and the first common key Rc received from the first decryption unit 10112 are compared, and the first data Check the validity of Data.

図12は、本発明の第3の変形例に係る情報システム1のアプリ記憶置20の暗号処理部201の構成を示す概念図である。図7に示した暗号処理部201と同様のタイプのため、図中、同じ構造の部分については同じ番号を付し、必要に応じて説明を省略する。   FIG. 12 is a conceptual diagram showing a configuration of the encryption processing unit 201 of the application storage device 20 of the information system 1 according to the third modification of the present invention. Since the type is the same as that of the cryptographic processing unit 201 shown in FIG.

鍵交換処理部2011は 、第1復号処理部20110と第1暗号処理部20112を含む。   The key exchange processing unit 2011 includes a first decryption processing unit 201110 and a first encryption processing unit 20112.

データ処理部2012は、データ暗号部20120およびデータ復号部20121を含み、共通鍵暗号方式に基づく暗号通信に必要なデータ処理を実行する。   The data processing unit 2012 includes a data encryption unit 20120 and a data decryption unit 20121, and executes data processing necessary for encrypted communication based on the common key encryption method.

データ暗号部20120は、送信すべき第1データDataと乱数生成部2013から受け取った第1共通鍵Rcを連結し、第1共通鍵Rcを第1認証子とする第1認証子付データRc||Dataを生成する。そして、第1復号部20110から受け取った第2共通鍵Rhで第1認証子付データを暗号化し、第1暗号化データEs(Rh、Rc||Data)を生成する。   The data encryption unit 20120 concatenates the first data Data to be transmitted and the first common key Rc received from the random number generation unit 2013, and uses the first common key Rc as the first authenticator data Rc | Generate Data. Then, the data with the first authenticator is encrypted with the second common key Rh received from the first decryption unit 20110 to generate the first encrypted data Es (Rh, Rc || Data).

データ復号部20121は、第1復号部20110から受け取った第2共通鍵Rhで、第2暗号化データを復号し、第2認証子付データRc||Dataを取り出す。そして、第2認証子付データから認証子Rcと第2データDataとを分離するとともに、認証子Rcと第1復号部から受け取った第1共通鍵Rcとを比較し、第2データDataの正当性を確認する。まお、データ処理部2012は、初回のデータ通信において正当性が確認されなかった場合、サービス提供装置10は信頼できないと判断し、後続の処理を中止するように、制御部202に伝える。   The data decryption unit 20121 decrypts the second encrypted data with the second common key Rh received from the first decryption unit 20110, and extracts the second data with the authenticator Rc || Data. Then, the authenticator Rc and the second data Data are separated from the data with the second authenticator, and the authenticator Rc is compared with the first common key Rc received from the first decryption unit to verify the validity of the second data Data. Check sex. The data processing unit 2012 determines that the service providing apparatus 10 is not reliable when the validity is not confirmed in the first data communication, and notifies the control unit 202 to stop the subsequent processing.

以上の構成による情報システムに係る鍵交換処理の手順は、図9、10に示す鍵交換処理の手順から、ステップS116とステップS117を省いたものと同様になるので、ここでの説明を省略する。   The key exchange processing procedure related to the information system having the above configuration is the same as the key exchange processing procedure shown in FIGS. 9 and 10 except that step S116 and step S117 are omitted. .

このように本発明の第3の変形例に係る情報システム1では、第2チャレンジ情報は、第3暗号化情報を含まないので、鍵交換処理の必要な暗号演算を削減することができ、処理時間の短縮を図ることができる。   As described above, in the information system 1 according to the third modified example of the present invention, the second challenge information does not include the third encrypted information, so that it is possible to reduce the cryptographic operation that requires the key exchange process. Time can be shortened.

なお、この変形は上述した全ての情報システム1に対して適応可能であり、サービス提供装置20からアプリ記憶装置10への最初のデータ通信を待って、鍵交換による相互認証が終了することとなる。このため最初のデータ通信は、サービス提供装置20からアプリ記憶装置10へのデータ通信であることが必要となる。しかしながら、保護を必要としないデータ通信については、この限りではない。   This modification can be applied to all the information systems 1 described above, and the mutual authentication by key exchange is completed after waiting for the first data communication from the service providing device 20 to the application storage device 10. . Therefore, the first data communication needs to be data communication from the service providing device 20 to the application storage device 10. However, this does not apply to data communications that do not require protection.

次に本発明の第4の変形例について説明する。本発明の第4の変形例もサービスごとに専用の暗号通信を行う情報システムに関する。これまでの説明では、アプリ記憶装置20のアプリ格納部203の各メモリバンクに、アプリが格納されているもとして説明した。本発明の第4の変形例では、メモリバンクにアプリ書き込み機能を提供する。これにより、例えば、アプリ記憶装置20を携帯電話機に組み込む場合、携帯電話網を介してアプリを書き換えることが可能になる。また、いずれのサービスにも対応しない、すなわち、アプリを格納しない状態でユーザに提供することも可能となる。本発明の第4の変形例はこのような場合を想定して、アプリを書き換える機能を提供する。このため本発明の第4の変形例に係る情報システム1のアプリ記憶装置20は、図6に示す構成に加え、携帯電話網を介してアプリ書き換え用のサービス提供装置10Aとの間でアプリ書き換えサービス専用の暗号通信路を構築するための接続部204を備える。   Next, a fourth modification of the present invention will be described. The fourth modification of the present invention also relates to an information system that performs dedicated encrypted communication for each service. In the above description, it is assumed that an application is stored in each memory bank of the application storage unit 203 of the application storage device 20. In the fourth modified example of the present invention, an application writing function is provided in the memory bank. Thereby, for example, when the application storage device 20 is incorporated in a mobile phone, the application can be rewritten via the mobile phone network. In addition, it is possible to provide a user with no service, that is, without storing an application. The fourth modification of the present invention provides a function for rewriting an application assuming such a case. Therefore, the application storage device 20 of the information system 1 according to the fourth modified example of the present invention rewrites the application with the service providing device 10A for rewriting the application via the mobile phone network in addition to the configuration shown in FIG. A connection unit 204 for constructing an encryption communication path dedicated to the service is provided.

図13は、本発明の第4の変形例に係る情報システム1のアプリ格納203の構成を示す概念図である。図中、図8に示したアプリ格納部201と同様のタイプのため、同じ構造の部分については同じ番号を付し、必要に応じて説明を省略する。   FIG. 13 is a conceptual diagram showing a configuration of the application storage 203 of the information system 1 according to the fourth modification example of the present invention. In the figure, since it is the same type as the application storage unit 201 shown in FIG. 8, parts having the same structure are given the same numbers, and description thereof will be omitted as necessary.

アプリ格納部203は、メモリバンク2030、2031、2032および2033を含む。   The application storage unit 203 includes memory banks 2030, 2031, 2032, and 2033.

メモリバンク2033は、アプリを書き換える機能を提供する特別なサービスに対応したアプリを格納するためのメモリバンクで、書き換えサービスのサービスIDを「A」に対応する。メモリバンク2033は、アプリ書き換えサービス固有の公開鍵KPsv「A」を格納するサービス固有鍵格納部20331およびアプリ書き換えサービス用アプリを格納するサービスプログラム格納部20332を含む。   The memory bank 2033 is a memory bank for storing an application corresponding to a special service that provides a function of rewriting the application, and the service ID of the rewriting service corresponds to “A”. The memory bank 2033 includes a service unique key storage unit 20331 for storing the public key KPsv “A” unique to the application rewriting service and a service program storage unit 20332 for storing the application for application rewriting service.

サービス書き換えサービス用アプリは、他のメモリバンクのID格納部、サービス固有鍵格納部、サービスプログラム格納部に対して、それぞれサービスID「i」、サービス固有の公開鍵KPsv「i」、アプリ「i」を書き込むプログラムである。また、サービス書き換え用アプリは、書き換えの対象としたメモリバンクに含まれるサービスデータ格納部の内容を消去し、サービスデータ格納部の初期化も行う。   The service rewriting service application has a service ID “i”, a service-specific public key KPsv “i”, and an application “i” for the ID storage unit, service unique key storage unit, and service program storage unit of another memory bank, respectively. "Is a program to write. Further, the service rewriting application erases the contents of the service data storage unit included in the memory bank to be rewritten, and also initializes the service data storage unit.

次にアプリ書き換えの動作を簡単に説明する。制御部202は、アプリ書き換え用のサービス提供装置10Aから接続部204を介して、サービスID「A」を受信すると、メモリバンク2033のサービス固有鍵格納部20331に格納されているサービス「A」固有の公開鍵KPsv「A」を、暗号処理部201に提供する。   Next, the application rewriting operation will be briefly described. When the control unit 202 receives the service ID “A” from the service providing apparatus 10 A for application rewriting via the connection unit 204, the control unit 202 stores the service “A” unique stored in the service unique key storage unit 20331 of the memory bank 2033. The public key KPsv “A” is provided to the encryption processing unit 201.

制御部202は、暗号処理部201による鍵交換処理が終了しサービス提供装置10Aとの間に暗号通信路を構築すると、メモリバンク2033のサービスプログラム格納部20332からアプリ書き換えサービス用のアプリを受け取って起動する。暗号通信路を構築できない場合は、処理を終了する。   When the key exchange process by the encryption processing unit 201 is completed and the encryption communication path is established with the service providing apparatus 10A, the control unit 202 receives the application for the application rewriting service from the service program storage unit 20332 of the memory bank 2033. to start. If the encrypted communication path cannot be constructed, the process ends.

制御部202で起動されたアプリ書き換えサービス用のアプリは、接続部204および暗号処理部201を介して、サービス提供装置10Aとの間で暗号化されたサービスデータの送受信を行い、アプリ書き換えのサービスを実現する。具体的に説明すると、アプリ書き換えサービス用のアプリは、サービス提供装置10Aから書き換え対象となるメモリバンク番号と、そのメモリバンクに書き込む新たなサービスiのサービスID「i」、サービス固有の公開鍵KPsv「i」およびアプリ「i」を受け取り、それぞれを対象とすべきメモリバンク内のID格納部、サービス固有鍵格納部およびサービスプログラム格納部に上書きして更新を行う。次いで、サービスデータ格納部の内容を消去する。このときサービスデータ「i」を受け取った場合、受け取ったサービスデータ「i」を対象とすべきメモリバンクに含まれるサービスデータ格納部に書き込む。   The application for the application rewriting service activated by the control unit 202 transmits / receives encrypted service data to / from the service providing apparatus 10A via the connection unit 204 and the encryption processing unit 201, and the application rewriting service. Is realized. Specifically, the application for the application rewriting service includes the memory bank number to be rewritten from the service providing apparatus 10A, the service ID “i” of the new service i to be written to the memory bank, and the service-specific public key KPsv. The “i” and the application “i” are received and updated by overwriting the ID storage unit, service unique key storage unit, and service program storage unit in the memory bank to be targeted. Next, the contents of the service data storage unit are erased. When the service data “i” is received at this time, the received service data “i” is written in the service data storage unit included in the memory bank to be processed.

このように本発明の第4の変形例に係る情報システム1では、携帯電話に代表される通信機器にアプリ記憶装置を組み込むと、通信網を介したアプリの書き換えが実現できるので、ユーザ自身によって選択されたサービスに対応したアプリをアプリ記憶装置に書き込むことができ、ユーザの利便性が向上する。   As described above, in the information system 1 according to the fourth modified example of the present invention, when an application storage device is incorporated in a communication device typified by a mobile phone, the application can be rewritten via the communication network. An application corresponding to the selected service can be written in the application storage device, and the convenience for the user is improved.

なお、以上の説明では、アプリ記憶装置20は、アプリ書き換え専用のインターフェースとして接続部204を備えたが、通信モジュール部200でアプリ書き換えを行ってもよいし、逆に、接続部204を介して他のアプリを起動するようにしてもよい。   In the above description, the application storage device 20 includes the connection unit 204 as an interface dedicated for application rewriting. However, the application module may be rewritten by the communication module unit 200, and conversely, via the connection unit 204. You may make it start another application.

また、本発明の第4の変形例に係るアプリ書き換え機能は、上述の全ての情報システム1に対しても適応可能である。   The application rewriting function according to the fourth modification of the present invention can be applied to all the information systems 1 described above.

このような本発明の実施の形態によれば、以下の通りの作用効果を享受することができる。   According to such an embodiment of the present invention, the following operational effects can be enjoyed.

(1)アプリ格納部203は、複数のメモリバンクを有し、各メモリバンクは、サービスIDを格納するID格納部、サービス固有の公開鍵を格納するサービス固有鍵格納部、アプリそのものを格納するサービスプログラム格納部、サービスを提供するサービス提供装置10との間で送受信するサービスデータを格納するサービスデータ格納部を含み、暗号処理部201は、サービス固有の公開鍵を用いてサービス提供装置との間に暗号通信路を構築し、共有した共通鍵Rh、Rcを用いて、サービスデータを暗号化して送受信し、制御部202は、サービス提供装置から受信したサービスIDに基づきアプリ格納部203を検索し、サービスIDを格納したID格納部を含むメモリバンクがあれば、そのメモリバンクのサービス固有鍵格納部に格納されている公開鍵を取り出して暗号処理部201に提供し、暗号処理部201で鍵交換処理を実行してサービス提供装置との間に暗号通信路を構築すると、対応するメモリバンクのサービスプログラム格納部からアプリを受け取って起動する。このため、アプリごとに、対応するサービス提供装置10との間で専用の暗号通信路を確立できるので、同一のアプリ記憶装置20に格納されている複数のアプリ間においても、送受信するデータに関するセキュリティ強度を高めることができる。   (1) The application storage unit 203 has a plurality of memory banks, and each memory bank stores an ID storage unit that stores a service ID, a service unique key storage unit that stores a service-specific public key, and an application itself. The encryption processing unit 201 includes a service program storage unit and a service data storage unit that stores service data transmitted to and received from the service providing device 10 that provides a service. An encryption communication path is established between the service keys, and the service data is encrypted using the shared common keys Rh and Rc. The control unit 202 searches the application storage unit 203 based on the service ID received from the service providing apparatus. If there is a memory bank including an ID storage unit that stores a service ID, the service unique key of that memory bank is stored. When the cryptographic communication path is established with the service providing apparatus by executing the key exchange process in the cryptographic processing unit 201 and extracting the public key stored in the cryptographic processing unit 201, the service of the corresponding memory bank Receive the app from the program storage and launch it. For this reason, since a dedicated encryption communication path can be established with the corresponding service providing apparatus 10 for each application, security related to data to be transmitted / received among a plurality of applications stored in the same application storage device 20 Strength can be increased.

(2)アプリ格納部203は、アプリ書き換えサービス用アプリを格納するサービスプログラム格納部、アプリ書き換えサービス固有の公開鍵を格納するサービス固有鍵格納部を含むメモリバンクを備え、制御部202は、アプリ書き換え用のサービス提供装置10AからサービスIDを受信すると、対応するメモリバンクのサービス固有鍵格納部に格納されている公開鍵を暗号処理部201に提供し、暗号処理部201で鍵交換処理を実行してサービス提供装置10Aとの間に暗号通信路を構築すると、対応するメモリバンクのサービスプログラム格納部からアプリ書き換えサービス用アプリを受け取って起動し、アプリを書き換えるべきメモリバンクを特定し、暗号通信路を介してサービス提供装置10Aから受け取った新たなサービスのサービスIDなどで、特定したメモリバンクの内容を更新する。このため、通信網を介したアプリの書き換えが実現できるので、ユーザ自身によって選択されたサービスに対応したアプリをアプリ記憶装置に書き込むことができ、ユーザの利便性が向上する。   (2) The application storage unit 203 includes a memory bank including a service program storage unit that stores an application for an application rewriting service and a service unique key storage unit that stores a public key unique to the application rewriting service. When the service ID is received from the service providing apparatus 10A for rewriting, the public key stored in the service unique key storage unit of the corresponding memory bank is provided to the cryptographic processing unit 201, and the cryptographic processing unit 201 executes key exchange processing. Then, when the encryption communication path is established with the service providing apparatus 10A, the application rewriting service application is received from the service program storage unit of the corresponding memory bank and activated, the memory bank to be rewritten is specified, and the encryption communication is performed. New service received from the service providing apparatus 10A via the road Service ID, etc., to update the contents of the specified memory bank. For this reason, since the application can be rewritten via the communication network, the application corresponding to the service selected by the user can be written in the application storage device, and the convenience for the user is improved.

以上、本発明を実施するための最良の形態について説明をしてきたが、本発明は、この実施の形態の構成に限定されるものではなく、特許請求の範囲に規定された本発明の適用範囲にあり、上述した実施の形態の構成が備える機能を達成可能であれば、いろいろな変形が可能である。   Although the best mode for carrying out the present invention has been described above, the present invention is not limited to the configuration of this embodiment, and the scope of application of the present invention defined in the claims. As long as the functions of the configuration of the above-described embodiment can be achieved, various modifications are possible.

本発明の実施の形態における情報システム1の構成を示す概念図The conceptual diagram which shows the structure of the information system 1 in embodiment of this invention アプリケーションモデルの概念図Conceptual diagram of application model サービスごとに付与される公開鍵とそれに対応する秘密鍵の対応関係を示す概念図Conceptual diagram showing the correspondence between the public key assigned to each service and the corresponding private key サービス提供装置10の構成を示す概念図Conceptual diagram showing the configuration of the service providing apparatus 10 暗号処理部101の構成を示す概念図Conceptual diagram showing the configuration of the cryptographic processing unit 101 アプリ記憶装置20の構成を示す概念図Conceptual diagram showing the configuration of the application storage device 20 暗号処理部201の構成を示す概念図Conceptual diagram showing the configuration of the encryption processing unit 201 アプリ格納部202の構成を概念図Conceptual diagram of the configuration of the application storage unit 202 鍵交換処理の手順を示すフローチャートFlow chart showing the procedure of key exchange processing 鍵交換処理の手順を示すフローチャートFlow chart showing the procedure of key exchange processing 第3の変形例に係る暗号処理部101の構成を示す概念図The conceptual diagram which shows the structure of the encryption processing part 101 which concerns on a 3rd modification. 第3の変形例に係る暗号処理部201の構成を示す概念図The conceptual diagram which shows the structure of the encryption processing part 201 which concerns on a 3rd modification. 第4の変形例に係るアプリ格納203の構成を示す概念図The conceptual diagram which shows the structure of the application storage 203 which concerns on a 4th modification.

符号の説明Explanation of symbols

10 サービス提供装置
20 アプリ記憶装置
30 サービス提供サーバ装置
100 通信モジュール部
101 暗号処理部
102 制御部
1010 格納部
1011 鍵交換処理部
1012 データ処理部
1013 乱数生成部
1014 証明書検証部
10100 認証局公開鍵格納部
10101 サービス固有鍵格納部
10110 第1暗号部
10111 第2暗号部
10112 第1復号部
10120 データ暗号部
10121 データ復号部
200 通信モジュール部
201 暗号処理部
203 アプリ格納部
2030、2031、2032、2033 メモリバンク
20100 記憶装置固有公開鍵証明書格納部
20101 記憶装置固有鍵格納部
20110 第1復号部
20111 第2復号部
20112 第1暗号部
20120 データ暗号部
20121 データ復号部
20300、20310、20320 ID格納部
20301、20311、20321、20331 サービス固有鍵格納部
20302、20312、20322、20332 サービスプログラム(アプリ)格納部
20303、20313、20323 サービスデータ格納部









DESCRIPTION OF SYMBOLS 10 Service provision apparatus 20 Application storage apparatus 30 Service provision server apparatus 100 Communication module part 101 Cryptographic process part 102 Control part 1010 Storage part 1011 Key exchange process part 1012 Data processing part 1013 Random number generation part 1014 Certificate verification part 10100 Certificate authority public key Storage unit 10101 Service unique key storage unit 10110 First encryption unit 10111 Second encryption unit 10112 First decryption unit 10120 Data encryption unit 10121 Data decryption unit 200 Communication module unit 201 Encryption processing unit 203 Application storage unit 2030, 2031, 2032, 2033 Memory bank 20100 Storage device unique public key certificate storage unit 20101 Storage device unique key storage unit 20111 First decryption unit 20111 Second decryption unit 20112 First encryption unit 20120 Data encryption unit 2 121 data decoding unit 20300,20310,20320 ID storage unit 20301,20311,20321,20331 service unique key storage unit 20302,20312,20322,20332 service program (application) storage 20303,20313,20323 service data storage unit









Claims (4)

複数のサービスの中から第1のサービスを識別する第1の識別情報と、前記第1のサービスを提供する第1のサービス提供装置との間で前記第1のサービスに固有の第1のサービスデータを送受信して前記第1のサービスを実現する第1のアプリケーションプログラムと、前記第1のサービスに固有の第1の暗号鍵と、前記第1のサービスデータをグループ化し、複数の記憶領域の中から選択した第1の記憶領域に記憶する記憶部と、
前記第1の暗号鍵を用いて前記第1のサービス提供装置との間に前記第1のサービスに固有の第1の暗号通信路を構築するとともに、前記第1の暗号通信路を介して前記第1のサービスデータを送受信するため、前記第1のサービスデータに対して暗号処理を実行する暗号処理部と、
前記第1のサービス提供装置から前記第1のアプリケーションプログラムの起動が要求されると、前記要求のため前記第1のサービス提供装置から送信された前記第1の識別情報に基づき、前記複数の記憶領域の中から第1の記憶領域を特定し、前記第1の記憶領域に記憶されている第1の暗号鍵で前記第1の暗号通信路を構築するように前記暗号処理部を制御するとともに、前記第1の暗号通信路が構築されると前記第1のアプリケーションプログラムを起動し、前記第1の記憶領域に記憶される第1のサービスデータに対する前記第1のアプリケーションプログラムのアクセスを許可するように制御する制御部と、
を備えることを特徴とする記憶装置。
A first service unique to the first service between first identification information for identifying the first service from among a plurality of services and a first service providing apparatus that provides the first service A first application program that realizes the first service by transmitting and receiving data, a first encryption key that is unique to the first service, and the first service data are grouped and stored in a plurality of storage areas. A storage unit for storing the first storage area selected from the inside,
The first cryptographic communication path unique to the first service is established with the first service providing apparatus using the first cryptographic key, and the first cryptographic communication path is used to configure the first cryptographic communication path. An encryption processing unit that performs encryption processing on the first service data in order to transmit and receive the first service data;
When the activation of the first application program is requested from the first service providing apparatus, the plurality of storages are based on the first identification information transmitted from the first service providing apparatus for the request. A first storage area is identified from among the areas, and the encryption processing unit is controlled to construct the first encryption communication path with the first encryption key stored in the first storage area. When the first encrypted communication path is established, the first application program is started, and access of the first application program to the first service data stored in the first storage area is permitted. A control unit for controlling
A storage device comprising:
前記複数のサービスのなかには、前記第1の識別情報と、前記第1のアプリケーションプログラムと、前記第1の暗号鍵を含む第1のサービス情報を前記記憶装置に送信する第2のサービスが含まれており、
前記記憶部は、前記第2のサービスを提供する第2のサービス提供装置から前記第1のサービス情報を受信する第2のアプリケーションプログラムと、前記第2のサービスに固有の第2の暗号鍵をグループ化し、複数の記憶領域のうちで、あらかじめ規定された第2の記憶領域に記憶し、
前記暗号処理部は、前記第2の暗号鍵を用いて前記第2のサービス提供装置との間に前記第2のサービスに固有の第2の暗号通信路を構築するとともに、前記第2の暗号通信路を介して前記第1のサービス情報を送受信するため、前記第1のサービス情報に対して暗号処理を実行し、
前記制御部は、前記第2のサービス提供装置から前記第2のアプリケーションプログラムの起動が要求されると、前記複数の記憶領域の中から第2の記憶領域を特定し、前記第2の記憶領域に記憶されている第2の暗号鍵で第2の暗号通信路を構築するように前記暗号処理部を制御するとともに、前記第2の暗号通信路が構築されると前記第2のアプリケーションプログラムを起動して前記第2のサービス提供装置から前記第1のサービス情報を受信し、前記第1の記憶領域に前記第1のサービス情報を記憶するように前記記憶部を制御する、
ことを特徴とする請求項1に記載の記憶装置。
The plurality of services include a second service that transmits the first identification information, the first application program, and first service information including the first encryption key to the storage device. And
The storage unit includes a second application program that receives the first service information from a second service providing apparatus that provides the second service, and a second encryption key that is unique to the second service. Grouped into a plurality of storage areas and stored in a predetermined second storage area;
The encryption processing unit establishes a second encryption communication path unique to the second service with the second service providing apparatus using the second encryption key, and also uses the second encryption key. In order to send and receive the first service information via a communication path, an encryption process is performed on the first service information,
When the second service providing apparatus requests activation of the second application program, the control unit specifies a second storage area from the plurality of storage areas, and the second storage area The encryption processing unit is controlled to construct a second encryption communication path with the second encryption key stored in the second encryption key, and when the second encryption communication path is constructed, the second application program is Start and receive the first service information from the second service providing apparatus, and control the storage unit to store the first service information in the first storage area,
The storage device according to claim 1.
複数のサービスの中から第1のサービスを識別する第1の識別情報と、前記第1のサービスを提供する第1のサービス提供装置との間で前記第1のサービスに固有の第1のサービスデータを送受信して前記第1のサービスを実現する第1のアプリケーションプログラムと、前記第1のサービスに固有の第1の暗号鍵と前記第1のサービスデータをグループ化し、複数の記憶領域の中から選択した第1の記憶領域に記憶する第1のステップと、
前記第1の暗号鍵を用いて前記第1のサービス提供装置との間に前記第1のサービスに固有の第1の暗号通信路を構築するとともに、前記第1の暗号通信路を介して前記第1のサービスデータを送受信するため、前記第1のサービスデータに対して暗号処理を実行する第2のステップと、
前記第1のサービス提供装置から前記第1のアプリケーションプログラムの起動が要求されると、前記要求のため前記第1のサービス提供装置から送信された前記第1の識別情報に基づき、前記複数の記憶領域の中から第1の記憶領域を特定し、前記第1の記憶領域に記憶されている第1の暗号鍵で前記第1の暗号通信路を構築するように前記暗号処理部を制御するとともに、前記第1の暗号通信路が構築されると前記第1のアプリケーションプログラムを起動し、前記第1の記憶領域に記憶される第1のサービスデータに対する前記第1のアプリケーションプログラムのアクセスを許可するように制御する第3のステップと、
を含むことを特徴とする制御方法。
A first service unique to the first service between first identification information for identifying the first service from among a plurality of services and a first service providing apparatus that provides the first service A first application program that realizes the first service by transmitting and receiving data, a first encryption key unique to the first service, and the first service data are grouped and stored in a plurality of storage areas. A first step of storing in a first storage area selected from:
The first cryptographic communication path unique to the first service is established with the first service providing apparatus using the first cryptographic key, and the first cryptographic communication path is used to configure the first cryptographic communication path. A second step of performing cryptographic processing on the first service data to send and receive first service data;
When the activation of the first application program is requested from the first service providing apparatus, the plurality of storages are based on the first identification information transmitted from the first service providing apparatus for the request. A first storage area is identified from among the areas, and the encryption processing unit is controlled to construct the first encryption communication path with the first encryption key stored in the first storage area. When the first encrypted communication path is established, the first application program is started, and access of the first application program to the first service data stored in the first storage area is permitted. A third step of controlling
The control method characterized by including.
前記複数のサービスのなかには、前記第1の識別情報と、前記第1のアプリケーションプログラムと、前記第1の暗号鍵を含む第1のサービス情報を前記記憶装置に送信する第2のサービスが含まれており、
前記第1のステップは、前記第2のサービスを提供する第2のサービス提供装置から前記第1のサービス情報を受信する第2のアプリケーションプログラムと、前記第2のサービスに固有の第2の暗号鍵をグループ化し、複数の記憶領域のうちで、あらかじめ規定された第2の記憶領域に記憶し、
前記第2のステップは、前記第2の暗号鍵を用いて前記第2のサービス提供装置との間に前記第2のサービスに固有の第2の暗号通信路を構築するとともに、前記第2の暗号通信路を介して前記第1のサービス情報を送受信するため、前記第1のサービス情報に対して暗号処理を実行し、
前記第3のステップは、前記第2のサービス提供装置から前記第2のアプリケーションプログラムの起動が要求されると、前記複数の記憶領域の中から第2の記憶領域を特定し、前記第2の記憶領域に記憶されている第2の暗号鍵で第2の暗号通信路を構築するように前記第2のステップを制御するとともに、前記第2の暗号通信路が構築されると前記第2のアプリケーションプログラムを起動して前記第2のサービス提供装置から前記第1のサービス情報を受信し、前記第1の記憶領域に前記第1のサービス情報を記憶するように前記第1のステップを制御する、
ことを特徴とする請求項3に記載の制御方法。



The plurality of services include a second service that transmits the first identification information, the first application program, and first service information including the first encryption key to the storage device. And
The first step includes: a second application program that receives the first service information from a second service providing apparatus that provides the second service; and a second encryption unique to the second service. Keys are grouped and stored in a second predetermined storage area among a plurality of storage areas;
In the second step, a second encrypted communication path unique to the second service is established with the second service providing apparatus using the second encryption key, and the second encryption key is used. In order to send and receive the first service information via an encrypted communication path, cryptographic processing is performed on the first service information,
In the third step, when activation of the second application program is requested from the second service providing apparatus, a second storage area is specified from the plurality of storage areas, and the second step The second step is controlled so as to construct a second cryptographic communication path with the second cryptographic key stored in the storage area, and when the second cryptographic communication path is constructed, the second cryptographic communication path is constructed. Start the application program, receive the first service information from the second service providing apparatus, and control the first step to store the first service information in the first storage area ,
The control method according to claim 3.



JP2008224146A 2008-09-01 2008-09-01 Application storage device and control method Pending JP2010061244A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008224146A JP2010061244A (en) 2008-09-01 2008-09-01 Application storage device and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008224146A JP2010061244A (en) 2008-09-01 2008-09-01 Application storage device and control method

Publications (1)

Publication Number Publication Date
JP2010061244A true JP2010061244A (en) 2010-03-18

Family

ID=42187993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008224146A Pending JP2010061244A (en) 2008-09-01 2008-09-01 Application storage device and control method

Country Status (1)

Country Link
JP (1) JP2010061244A (en)

Similar Documents

Publication Publication Date Title
US11323276B2 (en) Mutual authentication of confidential communication
KR101684076B1 (en) A secure Data Communication system between IoT smart devices and a Network gateway under Internet of Thing environment
US8724819B2 (en) Credential provisioning
US7640430B2 (en) System and method for achieving machine authentication without maintaining additional credentials
JP2022507151A (en) Safe wireless firmware upgrade
KR20200127264A (en) Data transmission method, apparatus and system
CN111552935B (en) Block chain data authorized access method and device
US8069470B1 (en) Identity and authentication in a wireless network
JP6096785B2 (en) Method for transferring control of a security module from a first entity to a second entity
US9165148B2 (en) Generating secure device secret key
KR20140098872A (en) security system and method using trusted service manager and biometric for web service of mobile nfc device
CN105282179A (en) Family Internet of things security control method based on CPK
US11153344B2 (en) Establishing a protected communication channel
CN111131160B (en) User, service and data authentication system
KR102415628B1 (en) Method and apparatus for authenticating drone using dim
EP3185504A1 (en) Security management system for securing a communication between a remote server and an electronic device
CN111246480A (en) Application communication method, system, equipment and storage medium based on SIM card
JP2010061244A (en) Application storage device and control method
JP2010062686A (en) Application storage device and service providing device
CN114143777B (en) Certificate key downloading method and system of internet of things terminal based on SIM card
KR20100131302A (en) Apparatus and method for secure download of data
JP2023160601A (en) Certificate issuing system, secure element, certificate issuing method, and program
KR20100119458A (en) System and method for registering otp generation condition to mobile banking, server and recording medium