JP2010062686A - Application storage device and service providing device - Google Patents
Application storage device and service providing device Download PDFInfo
- Publication number
- JP2010062686A JP2010062686A JP2008224147A JP2008224147A JP2010062686A JP 2010062686 A JP2010062686 A JP 2010062686A JP 2008224147 A JP2008224147 A JP 2008224147A JP 2008224147 A JP2008224147 A JP 2008224147A JP 2010062686 A JP2010062686 A JP 2010062686A
- Authority
- JP
- Japan
- Prior art keywords
- key
- service
- unit
- data
- common key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、特定のサービスを実現するアプリケーションプログラム(以下、アプリと言う)、そのアプリ向けデータを記憶する装置とそのアプリを制御する装置との間で送受信されるデータの保護技術に関する。 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)
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公開鍵で暗号化された、前記サービス提供装置と共有すべき第2共通鍵を、前記第1公開鍵に対応する秘密鍵で復号する第1復号部と、前記第2共通鍵で暗号化された、前記第2共通鍵の正当性を検証するための認証情報を、前記第1復号部で復号された第2共通鍵で復号する第2復号部と、前記第2復号部で復号された認証情報を、前記生成部で生成した第1共通鍵と比較することで、前記復号された第2共通鍵の正当性を検証する検証部と、を備えることをその要旨とする。 One embodiment of the present invention is a storage device. The storage device stores a plurality of application programs capable of realizing a specific service by transmitting / receiving control information to / from the service providing device, and executes a key exchange process with the service providing device to encrypt the control information A storage unit, a communication unit, a generation unit that generates a first common key to be shared with the service providing device, and a first unique key unique to the first application program among the plurality of application programs A first encryption unit that encrypts the first common key; a storage unit that stores a certificate that includes a first public key unique to the storage device and is digitally signed with a private key of a certificate authority; and A first decryption unit that decrypts a second common key encrypted with one public key and to be shared with the service providing apparatus with a secret key corresponding to the first public key; and the second common key The second decryption unit that decrypts the encrypted authentication information for verifying the validity of the second common key with the second common key decrypted by the first decryption unit, and the second decryption unit The gist is to include a verification unit that verifies the validity of the decrypted second common key by comparing the decrypted authentication information with the first common key generated by the generation unit.
本発明の別の態様は、サービス提供装置である。このサービス提供装置は、特定のサービスを実現するため、記憶装置に記憶されたアプリケーションプログラムと制御情報を送受信し、前記制御情報を暗号化するため前記記憶装置との間で鍵交換処理を実行するサービス提供装置であって、通信部と、前記記憶装置に固有の第1公開鍵を含み、認証局の秘密鍵で電子署名された証明書を、前記認証局の秘密鍵に対応する第2公開鍵でその正当性を検証する検証部と、前記アプリケーションプログラムに固有の第1固有鍵で暗号化された、前記記憶装置と共有すべき第1共通鍵を、前記第1固有鍵に対応する第2固有鍵で復号する第1復号部と、前記記憶装置と共有すべき第2共通鍵を生成する生成部と、前記検証部で正当性が検証された、前記記憶装置に固有の第1公開鍵で、前記第2共通鍵を暗号化する第1暗号部と、前記第2共通鍵で、前記第1復号部で復号された第1共通鍵を暗号化する第2暗号部と、を備えることをその要旨とする。 Another aspect of the present invention is a service providing apparatus. This service providing apparatus transmits and receives control information to and from an application program stored in a storage device in order to realize a specific service, and executes a key exchange process with the storage device to encrypt the control information. A service providing apparatus, which includes a communication unit and a certificate that includes a first public key unique to the storage device and is digitally signed with a private key of a certificate authority. A verification unit that verifies the validity with a key, and a first common key that is encrypted with a first unique key unique to the application program and is to be shared with the storage device. A first decryption unit that decrypts with two unique keys, a generation unit that generates a second common key to be shared with the storage device, and a first disclosure unique to the storage device that has been verified by the verification unit The second common with the key A first encryption unit for encrypting, at the second common key for the second encryption unit for encrypting the first common key decrypted by the first decryption unit, in that it comprises the gist thereof.
本発明によれば、複数のアプリごとのデータの送受信を、高い秘匿性で実現できる。 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
サービス提供装置10は、例えば、改札機であり、アプリ記憶装置20と通信を行ってサービスデータの交換を行い、乗車区間の判定やアプリ記憶装置20に記憶されている電子マネーの残金の更新をする。また、必要に応じてサービス管理サーバ装置30と通信して、内部の蓄積されたデータ(例えば、アプリ記憶装置20との通信履歴や課金データなど)をサービス管理サーバ装置30にアップロードしたりや、不正なアプリ記憶装置20を排除するためのリボークリストをダウンロードしたりする。
The
アプリ記憶装置20は、例えば、ICカードであり、サービス提供装置10と連携し、乗車区間を確認するデータや電子マネーの残金などのサービスデータと、サービスデータを更新するアプリとを格納する。
The
サービス管理サーバ装置30は、例えば、改札機を介して利用者がプリペイドした電子マネーを管理する課金サーバである。
The service
図2はアプリ記憶装置20で実行される通信プロトコルを、階層構造で示す通信モデルの概念図である。通信相手はサービス提供装置10である。
FIG. 2 is a conceptual diagram of a communication model showing a communication protocol executed by the
以下においては、説明の便宜上、ひとつのサービス提供装置10がひとつのアプリを制御して、ひとつのサービスを実現するものとし、アプリa〜cに対応するサービス提供装置を、それぞれサービス提供装置10a〜10cとして説明を行う。
In the following, for convenience of explanation, it is assumed that one
通信モデルの最下層は物理層であり、伝送媒体上の物理的コネクションを確立するためのプロトコルなどを実行する。例えば、伝送方式として無線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
セキュアプロトコルが実行される階層より上位層では、サービスごとに専用の暗号通信路が確立される。特定のサービスを実現するサービス提供装置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
以下では、説明の便宜上、サービスiに対応したサービス提供装置10を、サービス提供装置10iとし、サービスiに対応したサービスデータを、サービスデータiと記す。
Hereinafter, for convenience of explanation, the
図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
ここで、図2のアプリ記憶装置20のアプリaが、対応するサービス提供装置10aとの間でサービスデータを暗号化して送受信する場合について、具体的な説明を行う。なお、サービス提供装置10aは、共通鍵Rh「a」生成し、アプリ記憶装置20は、共通鍵Rc「a」を生成し、セキュアプロトコルにより、相手方が生成した共通鍵をそれぞれが共有しているものとする。
Here, the case where the application a of the
サービス提供装置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
なお、上記において、ひとつのサービス提供装置10がひとつのアプリを制御して、ひとつのサービスを実現するものとして説明したが、サービス提供装置10が複数のアプリを制御するようにしてもよい。
In the above description, one
また、上記の説明は、3つのサービス(アプリa、アプリb、および、アプリc)に対応したアプリ記憶装置20の例であるが、アプリ記憶装置20におけるアプリの数や種類を制限するものではない。目的に応じて、1つ以上の任意のアプリを実装することができる。
Further, the above description is an example of the
まや、上記においてアプリ記憶装置20に記憶されたアプリを起動し、そのアプリに対応したサービスデータを送受信して、サービスデータを更新する説明をしたが、サービス固有公開鍵の更新、さらにはアプリ自身の更新をしてもよい。すなわち、アプリ記録装置20は、サービスIDによって特定したサービス固有公開鍵で構築した暗号通信路を介して、サービスIDよって特定したアプリを記憶するアプリ格納部のメモリバンク(詳細は後述する。)内に格納する全てデータを送受信することで、これらを更新することができる。
In the above description, the application stored in the
図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
図4は、サービス提供装置10の構成を示す概念図である。サービス提供装置10は、インターフェース部100、暗号処理部101、制御部102、データ記憶部103および通信モジュール部104を含む。インターフェース部100は、サービス管理サーバ装置30とのデータの送受信を制御する。
FIG. 4 is a conceptual diagram showing the configuration of the
暗号処理部101は、アプリ記憶装置20とのセキュアプロトコルや暗号通信路を介した制御プロトコルの実行のため必要な暗号処理を行う。制御部102は、特定のサービスを実現するため、サービス提供装置10全体を制御する。
The
データ記憶部103は、通信モジュール部104を介して送受信したサービスデータや通信履歴を、逐次格納しておく。格納されたデータは特定のタイミング(例えば、毎日午前8:00)に、サービス管理サーバ装置30へ転送する。通信モジュール部104は、アプリ記憶装置20とのデータの送受信を行う。
The
図5は、暗号処理部101の構成を示す概念図である。暗号処理部101は、格納部1010、鍵交換処理部1011、データ処理部1012、乱数生成部1013および証明書検証部1014を含む。
FIG. 5 is a conceptual diagram showing the configuration of the
格納部1010は、認証局が電子署名した証明書を検証するための認証局公開鍵KPrを格納する認証局公開鍵格納部10100、サービス提供装置10で実現するサービス「i」固有の秘密鍵Kpsv「i」を格納するサービス固有鍵格納部10101を含む。
The
鍵交換処理部1011は、第1暗号部10110、第2暗号部10111および第1復号部10112を含み、共通鍵暗号方式と公開暗号方式を組み合わせた鍵交換処理を実行する。鍵交換のための公開暗号方式としては、例えば、RSAを用いる。また、鍵交換のための共通鍵暗号方式としては、例えば、AESを用いる。
The key
第1暗号部10110は、証明書検証部1014から受け取ったアプリ記憶装置20の固有の公開鍵KPcで、乱数生成部1013から受け取った第2共通鍵Rhを暗号化し、第2暗号化情報Ep(KPc、Rh)を生成する。そして、生成した第2暗号化情報を第2暗号部10111に出力する。ここで、Epは暗号化関数がRSAに基づくことを示す。
The
第2暗号部10111は、乱数生成部1013から受け取った第2共通鍵Rhで、第2復号部から受け取った第1共通鍵Rcを暗号化し、第3暗号化情報Es(Rh、Rc)を生成する。ここで、Esは共通鍵暗号化関数を示し、具体的には、AESに基づくことを示す。
The
また、第2暗号部10111は、第1暗号部10110から第2暗号化情報を受け取り、第3暗号化情報と連結し、第2チャレンジ情報Ep(KPc、Rh)||Es(Rh、Rc)を生成する。
The
第1復号部10112は、第1チャレンジ情報から第1暗号化情報を取り出し、サービス固有鍵格納部10101から取り出したサービス「i」固有の秘密鍵Kpsv「i」で復号し、第1共通鍵Rcを取り出す。そして、取り出した第1共通鍵Rcを第2暗号部10111とデータ処理部1012に出力する。
The
データ処理部1012は、データ暗号部10120およびデータ復号部10121を含み、共通鍵暗号方式に基づく暗号通信に必要なデータ処理を実行する。データ処理のための共通鍵暗号方式として、例えば、AESを用いる。
The
データ暗号部10120は、送信すべき第2データDataと乱数生成部1013から受け取った第2共通鍵Rhを連結し、第2共通鍵Rhを第2認証子とする第2認証子付データRh||Dataを生成する。そして、第1復号部10112から受け取った第1共通鍵Rcで第2認証子付データを暗号化し、第2暗号化データEs(Rc、Rh||Data)を生成する。
The
データ復号部10121は、乱数生成部1013から受け取った第1共通鍵Rhで、第1暗号化データを復号し、第1認証子付データRc||Dataを取り出す。そして、第1認証子付データから第1認証子Rcと第1データDataとを分離するとともに、第1認証子Rcと第1復号部10112から受け取った第1共通鍵Rcとを比較し、第1データDataの正当性を確認する。
The
乱数生成部1013は、所定の乱数アルゴリズムにより乱数を発生し、発生した乱数から第2共通鍵Rcを生成し、鍵交換処理部1011およびデータ処理部1012に出力する。
The random
証明書検証部1014は、認証局公開鍵KPrで、第1チャレンジ情報から取り出した記憶装置固有公開鍵証明書の正当性を確認する。正当性が確認できたら、記憶装置固有公開鍵証明書よりアプリ記憶装置20の固有の公開鍵KPc取り出して、鍵交換処理部1011に出力する。
The
図6は、アプリ記憶装置20の構成を示す概念図である。アプリ記憶装置20は、通信モジュール部200、暗号処理部201、制御部202およびアプリ格納部203を含む。通信モジュール部200は、サービス提供装置10の通信モジュール部104との間でデータの送受信を行う。
FIG. 6 is a conceptual diagram showing the configuration of the
暗号処理部201は、サービス提供装置10とのセキュアプロトコルや暗号通信路を介した制御プロトコルの実行のため必要な暗号処理を行う。制御部202は、特定のサービスを実現するため、対応するアプリをアプリ格納部203から読み出して実行する。アプリ格納部203は、複数のアプリを格納する。
The
図7は、暗号処理部201の構成を示す概念図である。暗号処理部201は、格納部2010、鍵交換処理部2011、データ処理部2012および乱数生成部2013を含む。
FIG. 7 is a conceptual diagram showing the configuration of the
格納部2010は、アプリ記憶装置20の固有の公開鍵KPcを含む証明書本体に対して、認証局が電子署名した証明書を格納する記憶装置固有公開鍵証明書格納部20100、公開鍵KPcと対となる秘密鍵Kpcを格納する記憶装置固有鍵格納部20101を含む。
The
鍵交換処理部2011は、第1復号部20110、第2復号部20111および第1暗号部20112を含む。
The key
第1復号部20110は、第2チャレンジ情報から第2暗号化情報を取り出し、記憶装置固有鍵格納部20101から取り出したアプリ記憶装置20の固有の秘密鍵Kpcで、第2暗号化情報を復号し、第2共通鍵Rhを取り出す。そして、取り出した第2共通鍵Rhを第2復号部20111とデータ処理部2012に出力する。
The
第2復号部20111は、第1復号部から受け取った第2共通鍵Rhで、第2チャレンジ情報から取り出した第3暗号化情報を復号し、第1共通鍵Rcを取り出す。そして、乱数生成部2013から受け取った第1共通鍵Rcと比較し、第1復号部から受け取った第2共通鍵Rhの正当性を確認する。これにより、第2チャレンジ情報の送信元が所定のサービスに対応したサービス提供装置10であることの認証を行う。
The
第1暗号部20112は、記憶装置固有公開鍵証明書格納部20100から証明書C(kr、KPc)を取り出す。ここで、Cは電子署名関数であり、C(Kr、KPc)は認証局の秘密鍵Krで、アプリ記憶装置20の固有の公開鍵KPcを含む証明書本体が電子署名されていることを示す。電子署名としては、例えば、DSAを用いる。
The
第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
データ処理部2012は、データ暗号部20120およびデータ復号部20121を含み、共通鍵暗号方式に基づく暗号通信に必要な、データ処理を実行する。
The
データ暗号部20120は、送信すべき第1データDataと乱数生成部2013から受け取った第1共通鍵Rcを連結し、第1共通鍵Rcを第1認証子とする第1認証子付データRc||Dataを生成する。そして、第1復号部20110から受け取った第2共通鍵Rhで第1認証子付データを暗号化し、第1暗号化データEs(Rh、Rc||Data)を生成する。
The
データ復号部20121は、乱数生成部2013から受け取った第1共通鍵Rcで、第2暗号化データを復号し、第2認証子付データRh||Dataを取り出す。そして、第2認証子付データから第2認証子Rhと第2データDataとを分離するとともに、第2認証子Rhと第1復号部20110から受け取った第2共通鍵Rhとを比較し、第2データDataの正当性を確認する。
The
乱数生成部2013は、所定の乱数アルゴリズムにより乱数を発生し、発生した乱数から第1共通鍵Rcを生成し、鍵交換処理部2011およびデータ処理部2012に出力する。
The random
図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
アプリ格納部203は、ひとつのメモリバンクにひとつのアプリを割り当てる。ここでは、メモリバンク2030にアプリaが、メモリバンク2031にアプリbが、メモリバンク2032にアプリcが割り当てられているものとする。そしてアプリは、自身が割り当てられたメモリバンク内にサービス提供装置10との間で送受信するサービスデータを記憶する。さらに、アプリ格納部203は、あるメモリバンクに割り当てられたアプリは、他のメモリバンクにアクセスできないように制御する。これにより、アプリ間のサービスデータの漏えいを防止することができる。
The
メモリバンク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
次に、サービス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
制御部202は、暗号処理部201で鍵交換処理を実行し、サービス提供装置10iとの間に暗号通信路を構築すると、対応するメモリバンクのサービスプログラム格納部からアプリiを受け取って起動する。サービス提供装置10iとの間に暗号通信路を構築できない場合、制御部202は、処理を終了する。
When the
制御部202で起動されたアプリiは、サービスiを実現するために、通信モジュール200および暗号処理部201を介して、サービス提供装置10iとの間でサービスデータiを暗号化して送受信する。このとき、制御部202は、対応するメモリバンクのサービスデータ格納部からの読み出したサービスデータiをサービス提供装置10iに送信し、サービス提供装置10iから受信したサービスデータiを対応するメモリバンクのサービスデータ格納部に記憶する。
The application i activated by the
以上の構成による情報システム1の動作を説明する。図9、10は、鍵交換処理の手順を示すフローチャートである。
The operation of the
サービス提供装置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
第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
第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
次に本発明の第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
本発明の第1の変形例に係る情報システム1の暗号処理部101は、図5に示した暗号処理部101と同様のタイプのため、同じ構成の部分については説明を省略する。
Since the
格納部1010は、認証局が電子署名した証明書を検証するための認証局公開鍵KPrを格納する認証局公開鍵格納部10100とサービス固有鍵格納部10101を含む。サービス固有鍵格納部10101は、サービス提供装置10が提供するサービス「i」固有の共通鍵Ksv「i」を格納する。
The
鍵交換処理部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
第2暗号部10111は、乱数生成部1013から受け取った第2共通鍵Rhで、第1チャレンジ情報に含まれる第1共通鍵Rcを暗号化し、第3暗号化情報Ec(Rh、Rc)を生成する。
The
データ処理部1012は、データ暗号部10120を含み、共通鍵暗号方式に基づく暗号通信に必要な、データの暗号化処理を実行する。
The
本発明の第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
The
本発明の第1の変形例に係る情報システム1のアプリ格納部203は、図8に示したアプリ格納部203と同様のタイプのため、同じ構造の部分については説明を省略する。3つのメモリバンク2030、2031、2032内のサービス固有鍵格納部20310、20311および20312は、アプリで実現するサービス「i」固有の公開鍵KPsv「i」の代わりに。サービス固有の共通鍵Ksv「i」を格納する。
The
以上の構成による変形例に係る情報システムに係る鍵交換処理の手順は、情報システム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
このように本発明の第1の変形例に係る情報システム1では、公開鍵暗号処理を共通鍵暗号に置き換え、第1共通鍵Rcを、サービスごとに割り当てられた共通鍵で暗号化して送信するので、セキュリティ強度を確保しつつ鍵交換処理の所要時間を短縮化することができる。
As described above, in the
次に本発明の第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
鍵交換処理部1011は、第1暗号部10110、第2暗号部10111および第1復号部10112を含み、共通鍵暗号方式と公開暗号方式を組み合わせた鍵交換処理を実行する。鍵交換のための公開暗号方式としては、ECDHを用いる。
The key
第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
第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
本発明の第2の変形例に係る情報システム1の暗号処理部201は、図7に示され暗号処理部201と同様のタイプのため、同じ構成の部分については説明を省略する。
The
第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
第2復号部20111は、第1復号部から受け取った第2共通鍵Rhで、第2チャレンジ情報から取り出した第3暗号化情報を復号し、第1共通鍵Rcを取り出す。そして、第1暗号部20112から受け取った第1共通鍵Rcと比較し、第1復号部から受け取った第2共通鍵Rhの正当性を確認する。これにより、第2チャレンジ情報の送信元であるサービス提装置10の認証を行う。
The
第1暗号部20112は、記憶装置固有公開鍵証明書格納部20100から証明書C(kr、KPc)を取り出す。ここで、Cは電子署名関数であり、C(Kr、KPc)は認証局の秘密鍵Krで、アプリ記憶装置20の固有の公開鍵KPcを含む証明書本体が電子署名されていることを示す。電子署名としては、例えば、ECDSA(Elliptic Curve DSA)を用いる。
The
第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
データ処理部2012は、データ暗号部20120およびデータ復号部20121を含み、共通鍵暗号方式に基づく暗号通信に必要な、データ処理を実行する。
The
データ暗号部20120は、送信すべき第1データDataと第1暗号部20112から受け取った第1共通鍵Rcを連結し、第1共通鍵Rcを第1認証子とする第1認証子付データRc||Dataを生成する。そして、第1復号部20110から受け取った第2共通鍵Rhで第1認証子付データを暗号化し、第1暗号化データEs(Rh、Rc||Data)を生成する。
The
データ復号部20121は、第1暗号部20112から受け取った第1共通鍵Rcで、第2暗号化データを復号し、第2認証子付データRh||Dataを取り出す。そして、第2認証子付データから第2認証子Rhと第2データDataとを分離するとともに、第2認証子Rhと第1復号部から受け取った第2共通鍵Rhとを比較し、第2データDataの正当性を確認する。
The
本発明の第2の変形例に係る情報システム1のアプリ格納部203は、図8に示したアプリ格納部203と同じため、説明を省略す
このように本発明の第2の変形例に係る情報システム1では、鍵交換処理の公開暗号方式としてECDHを用いるので、セキュリティ強度を維持したまま鍵長を短くすることができ、鍵交換処理全体の所要時間を短縮化できる。
The
なお、本発明の第2の変形例に係る情報システム1では、導出関数Fはシステムに固有として説明しているが、2つのECDH処理のおける導出関数Fの少なくとも1つをサービスサービス固有の導出関数F「i」を用いるようにしてもよい。この場合、サービス「i」に対応したメモリバンク内にサービス固有の導出関数F「i」を格納し、サービス固有の公開鍵KPsv「i」と同様に暗号処理部101に提供するように構成すればよい。
In the
また、上述した全ての情報システム1では、データの送信および受信ごとに、認証子と暗号鍵を定めるものとした。すなわち、サービス提供装置10からアプリ記憶装置20へサービスデータを送信する場合は、第2共通鍵Rhを認証子とし、第1共通鍵Rcによって認証子付データを暗号化し、アプリ記憶装置20からサービスデータを受信する場合は、第1共通鍵Rcを認証子とし、第2共通鍵Rhによって認証子付データを暗号化した。しかしなら、2つの共通鍵の利用方法をこれに限定するものではない。いずれの場合であっても、一方の共通鍵を認証子とし、認証子とデータを連結した認証子付データを、他方の共通鍵で暗号化することができる。
Further, in all the
次に本発明の第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
図11は、本発明の第3の変形例に係る情報システム1のサービス提供装置10の暗号処理部101の構成を示す概念図である。図5に示した暗号処理部101と同様のタイプのため、図中、同じ構造の部分については同じ番号を付し、必要に応じて説明を省略する。
FIG. 11 is a conceptual diagram showing the configuration of the
鍵交換処理部1011は 、第1暗号処理部10110と第1復号処理部10112を含む。各構成の部分の動作は図5に示した構成の部分と同じであるが、第1復号部10112において取り出された第1共通鍵Rcは、データ処理部1012にのみ出力される。
The key
データ処理部1012は、データ暗号部10120およびデータ復号部10121を含み、共通鍵暗号方式に基づく暗号通信に必要なデータ処理を実行する。
The
データ暗号部10120は、送信すべき第2データDataと第1復号部10112から受け取った第1共通鍵Rcを認証子とする第2認証子付データRc||Dataを生成する。そして、乱数生成部1013から受け取った第2共通鍵Rhで第2認証子付データを暗号化し、第2暗号化データEs(Rh、Rc||Data)を生成する。
The
データ復号部10121は、乱数生成部1013から受け取った第1共通鍵Rhで、第1暗号化データを復号し、第1認証子付データRc||Dataを取り出す。そして、第1認証子付データから認証子Rcと第1データDataとを分離するとともに、第1認証子Rcと第1復号部10112から受け取った第1共通鍵Rcとを比較し、第1データDataの正当性を確認する。
The
図12は、本発明の第3の変形例に係る情報システム1のアプリ記憶置20の暗号処理部201の構成を示す概念図である。図7に示した暗号処理部201と同様のタイプのため、図中、同じ構造の部分については同じ番号を付し、必要に応じて説明を省略する。
FIG. 12 is a conceptual diagram showing a configuration of the
鍵交換処理部2011は 、第1復号処理部20110と第1暗号処理部20112を含む。
The key
データ処理部2012は、データ暗号部20120およびデータ復号部20121を含み、共通鍵暗号方式に基づく暗号通信に必要なデータ処理を実行する。
The
データ暗号部20120は、送信すべき第1データDataと乱数生成部2013から受け取った第1共通鍵Rcを連結し、第1共通鍵Rcを第1認証子とする第1認証子付データRc||Dataを生成する。そして、第1復号部20110から受け取った第2共通鍵Rhで第1認証子付データを暗号化し、第1暗号化データEs(Rh、Rc||Data)を生成する。
The
データ復号部20121は、第1復号部20110から受け取った第2共通鍵Rhで、第2暗号化データを復号し、第2認証子付データRc||Dataを取り出す。そして、第2認証子付データから認証子Rcと第2データDataとを分離するとともに、認証子Rcと第1復号部から受け取った第1共通鍵Rcとを比較し、第2データDataの正当性を確認する。まお、データ処理部2012は、初回のデータ通信において正当性が確認されなかった場合、サービス提供装置10は信頼できないと判断し、後続の処理を中止するように、制御部202に伝える。
The
以上の構成による情報システムに係る鍵交換処理の手順は、図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
なお、この変形は上述した全ての情報システム1に対して適応可能であり、サービス提供装置20からアプリ記憶装置10への最初のデータ通信を待って、鍵交換による相互認証が終了することとなる。このため最初のデータ通信は、サービス提供装置20からアプリ記憶装置10へのデータ通信であることが必要となる。しかしながら、保護を必要としないデータ通信については、この限りではない。
This modification can be applied to all the
次に本発明の第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
図13は、本発明の第4の変形例に係る情報システム1のアプリ格納203の構成を示す概念図である。図中、図8に示したアプリ格納部201と同様のタイプのため、同じ構造の部分については同じ番号を付し、必要に応じて説明を省略する。
FIG. 13 is a conceptual diagram showing a configuration of the
アプリ格納部203は、メモリバンク2030、2031、2032および2033を含む。
The
メモリバンク2033は、アプリを書き換える機能を提供する特別なサービスに対応したアプリを格納するためのメモリバンクで、書き換えサービスのサービスIDを「A」に対応する。メモリバンク2033は、アプリ書き換えサービス固有の公開鍵KPsv「A」を格納するサービス固有鍵格納部20331およびアプリ書き換えサービス用アプリを格納するサービスプログラム格納部20332を含む。
The
サービス書き換えサービス用アプリは、他のメモリバンクの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
制御部202は、暗号処理部201による鍵交換処理が終了しサービス提供装置10Aとの間に暗号通信路を構築すると、メモリバンク2033のサービスプログラム格納部20332からアプリ書き換えサービス用のアプリを受け取って起動する。暗号通信路を構築できない場合は、処理を終了する。
When the key exchange process by the
制御部202で起動されたアプリ書き換えサービス用のアプリは、接続部204および暗号処理部201を介して、サービス提供装置10Aとの間で暗号化されたサービスデータの送受信を行い、アプリ書き換えのサービスを実現する。具体的に説明すると、アプリ書き換えサービス用のアプリは、サービス提供装置10Aから書き換え対象となるメモリバンク番号と、そのメモリバンクに書き込む新たなサービスiのサービスID「i」、サービス固有の公開鍵KPsv「i」およびアプリ「i」を受け取り、それぞれを対象とすべきメモリバンク内のID格納部、サービス固有鍵格納部およびサービスプログラム格納部に上書きして更新を行う。次いで、サービスデータ格納部の内容を消去する。このときサービスデータ「i」を受け取った場合、受け取ったサービスデータ「i」を対象とすべきメモリバンクに含まれるサービスデータ格納部に書き込む。
The application for the application rewriting service activated by the
このように本発明の第4の変形例に係る情報システム1では、携帯電話に代表される通信機器にアプリ記憶装置を組み込むと、通信網を介したアプリの書き換えが実現できるので、ユーザ自身によって選択されたサービスに対応したアプリをアプリ記憶装置に書き込むことができ、ユーザの利便性が向上する。
As described above, in the
なお、以上の説明では、アプリ記憶装置20は、アプリ書き換え専用のインターフェースとして接続部204を備えたが、通信モジュール部200でアプリ書き換えを行ってもよいし、逆に、接続部204を介して他のアプリを起動するようにしてもよい。
In the above description, the
また、本発明の第4の変形例に係るアプリ書き換え機能は、上述の全ての情報システム1に対しても適応可能である。
The application rewriting function according to the fourth modification of the present invention can be applied to all the
このような本発明の実施の形態によれば、以下の通りの作用効果を享受することができる。 According to such an embodiment of the present invention, the following operational effects can be enjoyed.
(1)アプリ記憶装置20は、第1共通鍵をサービス固有の公開鍵で暗号化し、第1チャレンジ情報を生成してサービス提供装置10に送信する。アプリ記憶装置20は、サービス提供装置10から受け取った第2チャレンジ情報を記憶装置固有の秘密鍵で復号して第2共通鍵をアプリ制御10との間で共有する。さらに、アプリ記憶装置20は、第2チャレンジ情報を第2共通鍵で復号し、第1共通鍵と比較することで、復号した第2共通鍵の正当性を検証する。そして、アプリ記憶装置20は、第1共通鍵と第2共通鍵を用いて、サービス提供装置10との間で送受信するデータを暗号化する。このため、アプリごとに、対応するサービス提供装置10との間で第1共通鍵と第2共通鍵を個別に共有でき、専用の暗号通信路を形成できるので、同一のアプリ記憶装置20に格納されている複数のアプリ間においても、送受信するデータに関するセキュリティ強度を高めることができる。
(1) The
(2)サービス提供装置10は、アプリ記憶装置20から受け取った第1チャレンジ情報から記憶装置固有公開鍵証明書を取り出し、認証局の公開鍵で証明書の検証をする。サービス提供装置10は、証明書が正当であれば、サービス固有の秘密鍵で第1チャレンジ情報を復号して第1共有鍵をアプリ記憶装置20との間で共有する。さらにサービス提供装置10は、第2共通鍵を生成し、第1チャレンジ情報から取り出した記憶装置固有の公開鍵で第2共通鍵を暗号化するとともに、第1共通鍵を第2共通鍵で暗号化し第2チャレンジ情報を生成してアプリ記憶装置20に送信する。サービス提供装置10は、第1共通鍵と第2共通鍵を用いて、アプリ記憶訴追装置20との間で送受信するデータを暗号化する。このため、正当性が検証されたアプリ記憶装置20に対して、暗号通信路を形成できるので、特定のサービスを実現できるアプリをセキュアに追加することができる。
(2) The
以上、本発明を実施するための最良の形態について説明をしてきたが、本発明は、この実施の形態の構成に限定されるものではなく、特許請求の範囲に規定された本発明の適用範囲にあり、上述した実施の形態の構成が備える機能を達成可能であれば、いろいろな変形が可能である。 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.
10 サービス提供装置
20 アプリ記憶装置
30 サービス提供サーバ装置
100 通信モジュール部
101 暗号処理部
102 制御部
1010 格納部
1011 鍵交換処理部
1012 データ処理部
1013 乱数生成部
1014 証明書検証部
10100 認証局公開鍵格納部
10101 サービス固有鍵格納部
10110 第1暗号部
10111 第2暗号部
10112 第1復号部
10120 データ暗号部
10121 データ復号部
200 通信モジュール部
201 暗号処理部
203 アプリ格納部
204 インタフェース部
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
Claims (2)
通信部と、
前記サービス提供装置と共有すべき第1共通鍵を生成する生成部と、
前記複数のアプリケーションプログラムのうち、第1アプリケーションプログラムに固有の第1固有鍵で、前記第1共通鍵を暗号化する第1暗号部と、
前記記憶装置に固有の第1公開鍵を含み、認証局の秘密鍵で電子署名された証明書を格納する格納部と、
前記第1公開鍵で暗号化された、前記サービス提供装置と共有すべき第2共通鍵を、前記第1公開鍵に対応する秘密鍵で復号する第1復号部と、
前記第2共通鍵で暗号化された、前記第2共通鍵の正当性を検証するための認証情報を、前記第1復号部で復号された第2共通鍵で復号する第2復号部と、
前記第2復号部で復号された認証情報を、前記生成部で生成した第1共通鍵と比較することで、前記復号された第2共通鍵の正当性を検証する検証部と、
を備えることを特徴とする記憶装置。 A storage device that stores a plurality of application programs that can realize a specific service by transmitting / receiving control information to / from a service providing device, and that performs key exchange processing with the service providing device to encrypt the control information. And
A communication department;
A generating unit that generates a first common key to be shared with the service providing device;
A first encryption unit that encrypts the first common key with a first unique key unique to the first application program among the plurality of application programs;
A storage unit including a first public key unique to the storage device and storing a certificate electronically signed with a private key of a certificate authority;
A first decryption unit for decrypting a second common key encrypted with the first public key and to be shared with the service providing apparatus, with a secret key corresponding to the first public key;
A second decryption unit for decrypting the authentication information encrypted with the second common key for verifying the validity of the second common key with the second common key decrypted by the first decryption unit;
A verification unit that verifies the authenticity of the decrypted second common key by comparing the authentication information decrypted by the second decryption unit with the first common key generated by the generation unit;
A storage device comprising:
通信部と、
前記記憶装置に固有の第1公開鍵を含み、認証局の秘密鍵で電子署名された証明書を、前記認証局の秘密鍵に対応する第2公開鍵でその正当性を検証する検証部と、
前記アプリケーションプログラムに固有の第1固有鍵で暗号化された、前記記憶装置と共有すべき第1共通鍵を、前記第1固有鍵に対応する第2固有鍵で復号する第1復号部と、
前記記憶装置と共有すべき第2共通鍵を生成する生成部と、
前記検証部で正当性が検証された、前記記憶装置に固有の第1公開鍵で、前記第2共通鍵を暗号化する第1暗号部と、
前記第2共通鍵で、前記第1復号部で復号された第1共通鍵を暗号化する第2暗号部と、
を備えることを特徴とするサービス提供装置。
A service providing apparatus that transmits and receives control information to and from an application program stored in a storage device to implement a specific service, and executes key exchange processing with the storage device to encrypt the control information. ,
A communication department;
A verification unit which includes a first public key unique to the storage device and which is digitally signed with a private key of the certificate authority, and verifies the validity with a second public key corresponding to the private key of the certificate authority; ,
A first decryption unit that decrypts a first common key encrypted with a first unique key unique to the application program and to be shared with the storage device, with a second unique key corresponding to the first unique key;
A generator for generating a second common key to be shared with the storage device;
A first encryption unit that verifies the validity by the verification unit and encrypts the second common key with a first public key unique to the storage device;
A second encryption unit that encrypts the first common key decrypted by the first decryption unit with the second common key;
A service providing apparatus comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008224147A JP2010062686A (en) | 2008-09-01 | 2008-09-01 | Application storage device and service providing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008224147A JP2010062686A (en) | 2008-09-01 | 2008-09-01 | Application storage device and service providing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010062686A true JP2010062686A (en) | 2010-03-18 |
Family
ID=42189042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008224147A Pending JP2010062686A (en) | 2008-09-01 | 2008-09-01 | Application storage device and service providing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010062686A (en) |
-
2008
- 2008-09-01 JP JP2008224147A patent/JP2010062686A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11323276B2 (en) | Mutual authentication of confidential communication | |
EP3642997B1 (en) | Secure communications providing forward secrecy | |
KR101684076B1 (en) | A secure Data Communication system between IoT smart devices and a Network gateway under Internet of Thing environment | |
US8724819B2 (en) | Credential provisioning | |
KR20190073472A (en) | Method, apparatus and system for transmitting data | |
US9165148B2 (en) | Generating secure device secret key | |
EP3695561B1 (en) | Secure provisioning of data to client device | |
US20160226837A1 (en) | Server for authenticating smart chip and method thereof | |
US20200092330A1 (en) | Establishing a protected communication channel | |
JP5380368B2 (en) | IC chip issuing system, IC chip issuing method, and IC chip issuing program | |
EP3185504A1 (en) | Security management system for securing a communication between a remote server and an electronic device | |
JP2009060528A (en) | Key setting method and key setting system | |
JP2010062686A (en) | Application storage device and service providing device | |
JP2004347636A (en) | Ticket processing system and method therefor | |
JP2010061244A (en) | Application storage device and control method | |
Yeun et al. | Secure software download for programmable mobile user equipment | |
JP2023160601A (en) | Certificate issuing system, secure element, certificate issuing method, and program |