JP6540381B2 - Information processing system and encryption communication method - Google Patents
Information processing system and encryption communication method Download PDFInfo
- Publication number
- JP6540381B2 JP6540381B2 JP2015168868A JP2015168868A JP6540381B2 JP 6540381 B2 JP6540381 B2 JP 6540381B2 JP 2015168868 A JP2015168868 A JP 2015168868A JP 2015168868 A JP2015168868 A JP 2015168868A JP 6540381 B2 JP6540381 B2 JP 6540381B2
- Authority
- JP
- Japan
- Prior art keywords
- encryption
- key
- communication path
- protocol
- information processing
- 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.)
- Active
Links
Images
Description
本発明は、2組の情報処理装置の間で所定の暗号化プロトコルに基づいた暗号通信を行う情報処理システムおよび暗号通信方法に関し、特に、ICカードと別な装置との間で暗号通信を行うのに適した暗号通信技術に関する。 The present invention relates to an information processing system and an encryption communication method for performing encryption communication based on a predetermined encryption protocol between two sets of information processing devices, and in particular, performs encryption communication between an IC card and another device Encryption communication technology suitable for
2組の情報処理装置間の通信の安全性を確保するためには、両者間にセキュアな暗号通信路を開設し、この暗号通信路を介して暗号通信を行うことが欠かせない。特に、スマートフォンやICカードなどの携帯型の情報処理装置では、紛失によって悪意をもった者の手に渡る可能性があるため、十分なセキュリティ対策を講じておく必要がある。 In order to ensure the security of the communication between the two information processing apparatuses, it is essential to establish a secure encryption communication path between the two and to perform encryption communication via this encryption communication path. In particular, in portable information processing apparatuses such as smartphones and IC cards, since there is a possibility that they may be lost in the hands of malicious parties, it is necessary to take sufficient security measures.
最近は、スマートフォンをはじめとする携帯型端末装置が普及しており、これらの端末装置には、通常、SIMカードやUIMカードと呼ばれているICカードが装着されている。そしてこのICカードと端末装置、あるいは、このICカードと外部のサーバ装置との間で、所定の通信路を介して情報のやりとりが行われる。このとき、当該情報が機密性を有するものである場合には、セキュアな通信路を開設して暗号化された情報のやりとりを行う必要がある。 Recently, portable terminal devices such as smartphones have become widespread, and these terminal devices are usually equipped with an IC card called a SIM card or a UIM card. Then, information is exchanged between the IC card and the terminal device or between the IC card and an external server device through a predetermined communication path. At this time, if the information has confidentiality, it is necessary to establish a secure communication path to exchange encrypted information.
このような事情から、ICカードと外部装置との間にセキュアな通信路を開設して暗号通信を行う様々な方法が提案されている。たとえば、下記の特許文献1には、所定の変換アルゴリズムに基づくデータ変換処理機能を有するプロキシ装置を介した通信を行うことにより、機密情報の漏洩を防止する技術が開示されている。また、特許文献2には、インターネットを介してICカードとサーバ装置との間で情報のやりとりを行う際に、公開鍵暗号方式を利用した暗号化通信を行う技術が開示されており、特許文献3には、そのような暗号化通信の最中に、セキュリティに関わる異常発生が検知された場合に、速やかにシステム復旧処理を行う技術が開示されている。一方、特許文献4には、サーバ装置側に、ICカードと1対1に対応するICカード対応領域を設け、このICカード対応領域と利用者端末装置との間にセキュアな通信路を設定してサーバ装置とICカードとを一体化する技術が開示されている。 Under such circumstances, various methods have been proposed for establishing a secure communication path between an IC card and an external device to perform encrypted communication. For example, Patent Document 1 below discloses a technique for preventing leakage of confidential information by performing communication via a proxy device having a data conversion processing function based on a predetermined conversion algorithm. Further, Patent Document 2 discloses a technology for performing encrypted communication using a public key encryption method when exchanging information between an IC card and a server device via the Internet. In No. 3, there is disclosed a technology for performing system restoration processing promptly when an abnormality related to security is detected during such encrypted communication. On the other hand, in Patent Document 4, an IC card and an IC card corresponding area corresponding to one to one are provided on the server apparatus side, and a secure communication path is set between the IC card corresponding area and the user terminal apparatus. Discloses a technology for integrating a server device and an IC card.
2組の情報処理装置の間にセキュアな暗号通信路を開設するためには、両方の装置に、共通の暗号化プロトコルに基づいた暗号通信処理機能をもたせる必要がある。すなわち、送信側では所定の暗号鍵および所定の暗号化プロトコルを用いて、送信対象となる情報を暗号化して送り出し、受信側では、受信した暗号化情報を、送信側と同じ暗号鍵および暗号化プロトコルを用いて復号することになる。このため、2組の情報処理装置には、予め、特定の暗号鍵および暗号化プロトコルを用いた暗号通信処理機能が組み込まれることになる。 In order to establish a secure encryption communication path between the two sets of information processing apparatuses, both apparatuses need to have an encryption communication processing function based on a common encryption protocol. That is, the transmission side encrypts and sends out information to be transmitted using a predetermined encryption key and a predetermined encryption protocol, and the reception side encrypts the received encryption information with the same encryption key as the transmission side. It will decode using a protocol. Therefore, an encryption communication processing function using a specific encryption key and an encryption protocol is incorporated in advance in the two sets of information processing apparatuses.
しかしながら、近年、情報処理装置の通信相手は多様化してきており、1つのICカードが、種々の状況に応じて、複数の相手と通信するケースも少なくない。たとえば、スマートフォンに装着されたICカード(SIMカードやUIMカード)の場合、スマートフォン内の複数のアプリケーションプログラムとの間で情報のやりとりを行うケースも少なくない。この場合、ハードウェア上は、ICカードとスマートフォンとの間の二者通信ということになるが、ソフトウェア上は、ICカード側のプログラム(通常、SD(Security Domain)と呼ばれるプログラム)とスマートフォン側の個々のアプリケーションプログラムとの間の個別の通信が行われることになる。 However, in recent years, the communication partners of the information processing apparatus have diversified, and there are not a few cases in which one IC card communicates with a plurality of partners according to various situations. For example, in the case of an IC card (SIM card or UIM card) attached to a smartphone, there are many cases where information is exchanged with a plurality of application programs in the smartphone. In this case, hardware means two-way communication between the IC card and the smartphone, but software means a program on the IC card side (usually a program called SD (Security Domain)) and the smartphone side There will be separate communication between each application program.
一方、最近は、より安全性の高い暗号化プロトコルが推奨されるようになってきており、実際に利用されている暗号化プロトコルの種類も多岐にわたっている。したがって、実用上は、1つのICカードに、予め、複数通りの暗号化プロトコルに基づく暗号通信機能をもたせておき、当該ICカードと通信を行う外部装置の都合に応じて(たとえば、スマートフォン内のアプリケーションプログラムの都合に応じて)、その都度、任意の暗号化プロトコルを選択して暗号通信を行うことができるようにするのが好ましい。 On the other hand, recently, a more secure encryption protocol has been recommended, and there are a wide variety of encryption protocols that are actually used. Therefore, practically, one IC card is provided in advance with an encryption communication function based on a plurality of encryption protocols, and according to the convenience of an external device that communicates with the IC card (for example, in a smart phone In accordance with the convenience of the application program), it is preferable to select an arbitrary encryption protocol each time to perform encryption communication.
しかしながら、従来の一般的なシステム、特にICカードに対して通信を行うシステムでは、1つのICカードに複数通りの暗号化プロトコルに基づく暗号通信機能をもたせておき、その都度、任意の暗号化プロトコルを選択して暗号通信を行うことは困難である。これは、現在普及しているICカードが、国際的な仕様に準拠して設計されており、このような仕様に対応させる上では、複数通りの暗号化プロトコルの中から任意の1つを選択して利用することが困難であったためである。 However, in a conventional general system, particularly a system for communicating with an IC card, one IC card is provided with an encryption communication function based on a plurality of encryption protocols, and in each case, any encryption protocol It is difficult to select and perform encrypted communication. This is because currently popular IC cards are designed in compliance with international specifications, and any one of multiple encryption protocols can be selected to correspond to such specifications. Because it was difficult to use it.
そこで本発明は、2組の情報処理装置の間に、複数通りの暗号化プロトコルの中から選択された任意の暗号化プロトコルに基づく暗号通信路を開設して、両者間でセキュアな通信を可能にする情報処理システムおよび暗号通信方法を提供することを目的とする。また、本発明は、特に、相互に通信を行う2組の情報処理装置のうちの一方がICカードである場合に、ICカードについての国際的な仕様に準拠した方法で、特定の暗号化プロトコルの選択をICカード側に伝達する具体的な方法を提供することを目的とする。 Therefore, the present invention establishes an encrypted communication path based on an arbitrary encryption protocol selected from among a plurality of encryption protocols between two sets of information processing apparatuses, enabling secure communication between the two. It is an object of the present invention to provide an information processing system and an encrypted communication method. The present invention is also directed to a specific encryption protocol in a manner in accordance with the international specification for an IC card, in particular when one of the two sets of information processing devices communicating with each other is an IC card. It is an object of the present invention to provide a specific method of transmitting the selection of
(1) 本発明の第1の態様は、第1の情報処理装置と第2の情報処理装置とを備え、両者間で所定の暗号化プロトコルに基づいた暗号通信が可能な情報処理システムにおいて、
第1の情報処理装置には、
複数N通り(N≧2)の暗号化プロトコルに基づく暗号通信を行う機能を有し、このN通りの暗号化プロトコルのうち、第2の情報処理装置から指定された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設し、開設された暗号通信路を介して第2の情報処理装置との間で暗号通信を行う第1の暗号通信処理部と、
暗号鍵を格納するための複数の格納場所を有し、これら複数の格納場所に、複数N通りの暗号化プロトコルのそれぞれに用いられる暗号鍵を格納した第1の暗号鍵格納部と、
を設け、
第2の情報処理装置には、
上記N通りの暗号化プロトコルのうちの少なくとも1つの特定の暗号化プロトコルに基づく暗号通信を行う機能を有し、当該特定の暗号化プロトコルに基づく暗号通信を行うために開設された暗号通信路を介して第1の情報処理装置との間で暗号通信を行う第2の暗号通信処理部と、
上記特定の暗号化プロトコルに用いられる暗号鍵を格納した第2の暗号鍵格納部と、
第1の情報処理装置に対して、暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドを与える暗号通信路開設指示部と、
を設け、
暗号通信路開設コマンドには、上記特定の暗号化プロトコルを指定するためのプロトコル指定情報と、上記特定の暗号鍵を指定するための暗号鍵指定情報と、を含ませるようにし、
第1の暗号通信処理部は、暗号通信路開設コマンドに含まれているプロトコル指定情報によって指定された暗号化プロトコルおよび暗号通信路開設コマンドに含まれている暗号鍵指定情報によって指定された暗号鍵を利用して暗号通信を行うための暗号通信路を開設するようにしたものである。
(1) A first aspect of the present invention is an information processing system including a first information processing apparatus and a second information processing apparatus, and capable of performing cryptographic communication based on a predetermined encryption protocol between the two.
The first information processing apparatus
It has a function of performing encryption communication based on a plurality N (N ≧ 2) encryption protocols, and among the N encryption protocols, encryption communication based on an encryption protocol designated by the second information processing apparatus A first encryption communication processing unit for establishing an encryption communication path for performing the communication, and performing encryption communication with the second information processing apparatus via the opened encryption communication path;
A first encryption key storage unit having a plurality of storage locations for storing encryption keys, and storing the encryption keys used for each of a plurality of N encryption protocols in the plurality of storage locations;
Provide
The second information processing apparatus
It has a function of performing encryption communication based on at least one specific encryption protocol among the N kinds of encryption protocols, and an encrypted communication path established for performing encryption communication based on the specific encryption protocol A second encryption communication processing unit that performs encryption communication with the first information processing apparatus via
A second encryption key storage unit storing an encryption key used for the specific encryption protocol;
An encrypted communication path establishment instructing unit for giving an encrypted communication path establishment command for instructing the first information processing apparatus to establish an encrypted communication path for performing encrypted communication;
Provide
The encryption communication path establishment command includes protocol specification information for specifying the specific encryption protocol and encryption key specification information for specifying the specific encryption key.
The first encryption communication processing unit transmits the encryption protocol specified by the protocol specification information included in the encryption communication path open command and the encryption key specified by encryption key specification information included in the encryption communication path open command. To establish an encrypted communication path for performing encrypted communication.
(2) 本発明の第2の態様は、上述した第1の態様に係る情報処理システムにおいて、
第1の暗号鍵格納部には、N通りの暗号化プロトコルに対応づけられたN個の格納ゾーンが設定されており、第i番目(1≦i≦N)の格納ゾーンに所属する格納場所には、第i番目の暗号化プロトコルに用いる暗号鍵が格納されており、
暗号通信路開設コマンドには、特定の暗号鍵の格納場所を示す格納場所指定情報が含まれており、
第1の暗号通信処理部は、上記格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、上記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、上記格納場所指定情報によって示された格納場所が所属する格納ゾーンに対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
(2) According to a second aspect of the present invention, in the information processing system according to the first aspect described above,
In the first encryption key storage unit, N storage zones corresponding to N encryption protocols are set, and storage locations belonging to the i-th (1 ≦ i ≦ N) storage zone Stores the encryption key used for the i-th encryption protocol,
The encryption channel establishment command includes storage location designation information indicating a storage location of a specific encryption key,
The first encryption communication processing unit recognizes the storage location designation information as information having both roles of protocol designation information and encryption key designation information, and stores the storage location designation information in the storage location indicated by the storage location designation information. The encryption communication path for performing the encryption communication based on the encryption protocol corresponding to the storage zone to which the storage location indicated by the storage location designation information belongs is established using the encryption key. .
(3) 本発明の第3の態様は、上述した第2の態様に係る情報処理システムにおいて、
第1の暗号鍵格納部には、キーバージョン番号によって特定される複数の格納場所が用意されており、個々の格納ゾーンは、1つもしくは複数の格納場所によって構成され、
暗号通信路開設コマンドには、格納場所指定情報として特定のキーバージョン番号が含まれており、
第1の暗号通信処理部は、キーバージョン番号によって特定される格納場所に格納されている暗号鍵を用いて、キーバージョン番号によって示された格納場所が所属する格納ゾーンに対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
(3) According to a third aspect of the present invention, in the information processing system according to the second aspect described above,
The first encryption key storage unit is provided with a plurality of storage locations specified by key version numbers, and each storage zone is configured by one or more storage locations,
The encryption channel establishment command includes a specific key version number as storage location designation information,
The first encryption communication processing unit uses the encryption key stored in the storage location specified by the key version number, and uses the encryption protocol corresponding to the storage zone to which the storage location indicated by the key version number belongs. It is intended to establish an encrypted communication path for performing encrypted communication based on the above.
(4) 本発明の第4の態様は、上述した第3の態様に係る情報処理システムにおいて、
個々の格納ゾーンが、1つの格納場所もしくは連続するキーバージョン番号を有する複数の格納場所によって構成され、個々の格納ゾーンがキーバージョン番号の固有の数値範囲に対応づけられているようにしたものである。
(4) According to a fourth aspect of the present invention, in the information processing system according to the third aspect described above,
Each storage zone consists of one storage location or multiple storage locations with consecutive key version numbers, such that each storage zone is associated with a unique numeric range of key version numbers is there.
(5) 本発明の第5の態様は、上述した第3または第4の態様に係る情報処理システムにおいて、
第1の暗号鍵格納部の各格納場所には、それぞれキーIDによって特定される複数の格納庫が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されており、
第1の暗号通信処理部は、暗号通信路開設コマンドに含まれるキーバージョン番号によって特定される格納場所内の格納庫のうち、当該格納場所が所属する格納ゾーンに対応する暗号化プロトコルによって予め定められている所定のキーIDによって特定される格納庫に格納されている暗号鍵を利用して暗号通信路を開設するようにしたものである。
(5) According to a fifth aspect of the present invention, in the information processing system according to the third or fourth aspect described above,
In each storage location of the first encryption key storage unit, a plurality of storages respectively specified by key IDs are prepared, and in the whole or a part of the plurality of storages, different encryption keys are stored. Yes,
The first encryption communication processing unit is predetermined by the encryption protocol corresponding to the storage zone to which the storage location belongs, among the storages in the storage location specified by the key version number included in the encryption communication path establishment command. The encryption communication path is established using the encryption key stored in the storage identified by the predetermined key ID.
(6) 本発明の第6の態様は、上述した第1の態様に係る情報処理システムにおいて、
第1の暗号鍵格納部の各格納場所には、暗号化演算に用いられる鍵値データと、暗号アルゴリズムの種別を示す種別情報と、を含む暗号鍵が格納されており、
暗号通信路開設コマンドには、特定の暗号鍵の格納場所を示す格納場所指定情報が含まれており、
第1の暗号通信処理部は、上記格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、上記格納場所指定情報によって示された格納場所に格納されている暗号鍵に含まれている鍵値データを用いて、当該暗号鍵に含まれている種別情報によって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
(6) According to a sixth aspect of the present invention, in the information processing system according to the first aspect described above,
Each storage location of the first encryption key storage unit stores an encryption key including key value data used for the encryption operation and type information indicating the type of encryption algorithm,
The encryption channel establishment command includes storage location designation information indicating a storage location of a specific encryption key,
The first encryption communication processing unit recognizes the storage location designation information as information having both roles of protocol designation information and encryption key designation information, and stores the storage location designation information in the storage location indicated by the storage location designation information. Using the key value data contained in the existing encryption key, an encryption communication path for performing encryption communication based on the encryption protocol indicated by the type information contained in the encryption key is established. It is a thing.
(7) 本発明の第7の態様は、上述した第6の態様に係る情報処理システムにおいて、
第1の暗号鍵格納部の各格納場所には、暗号化演算に用いられる鍵値データと、暗号アルゴリズムの種別を示す種別情報と、上記鍵値データの長さを示す鍵長と、を含む暗号鍵が格納されており、
第1の暗号通信処理部は、上記鍵長に基づいて、暗号鍵から鍵値データの抽出を行うようにしたものである。
(7) According to a seventh aspect of the present invention, in the information processing system according to the sixth aspect described above,
Each storage location of the first encryption key storage unit includes key value data used for the encryption operation, type information indicating the type of encryption algorithm, and a key length indicating the length of the key value data. An encryption key is stored,
The first encryption communication processing unit extracts key value data from the encryption key based on the key length.
(8) 本発明の第8の態様は、上述した第6または第7の態様に係る情報処理システムにおいて、
第1の暗号鍵格納部の各格納場所には、それぞれキーIDによって特定される複数の格納庫が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されており、同一の格納場所に属する複数の格納庫に格納されている暗号鍵には、同一の種別情報が含まれており、
第1の暗号通信処理部は、暗号通信路開設コマンドに含まれる暗号鍵指定情報によって特定される格納場所内のいずれかの格納庫に格納されている暗号鍵に含まれる種別情報によって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
(8) An eighth aspect of the present invention relates to the information processing system according to the sixth or seventh aspect described above,
In each storage location of the first encryption key storage unit, a plurality of storages respectively specified by key IDs are prepared, and in the whole or a part of the plurality of storages, different encryption keys are stored. The same type information is included in the encryption keys stored in multiple storages belonging to the same storage location.
The first encryption communication processing unit is configured to use the encryption indicated by the type information included in the encryption key stored in any storage in the storage location specified by the encryption key specification information included in the encryption communication path establishment command. An encryption communication path for performing encryption communication based on the communication protocol is established.
(9) 本発明の第9の態様は、上述した第1の態様に係る情報処理システムにおいて、
暗号通信路開設コマンドには、特定の暗号化プロトコルに基づく暗号通信路の開設を指示する文字列を示すコマンド文字列情報と、特定の暗号鍵の格納場所を示す格納場所指定情報と、が含まれており、
第1の暗号通信処理部は、上記コマンド文字列情報をプロトコル指定情報として認識し、上記格納場所指定情報を暗号鍵指定情報として認識することにより、上記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、上記コマンド文字列情報に対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
(9) According to a ninth aspect of the present invention, in the information processing system according to the first aspect described above,
The encrypted communication path establishment command includes command character string information indicating a character string instructing the establishment of an encrypted communication path based on a specific encryption protocol, and storage location designation information indicating a storage location of a specific encryption key. Are
The first encryption communication processing unit recognizes the command string information as the protocol specification information, and recognizes the storage area specification information as the encryption key specification information, whereby the storage area indicated by the storage area specification information is stored. By using the stored encryption key, an encryption communication path for performing encryption communication based on the encryption protocol corresponding to the command string information is established.
(10) 本発明の第10の態様は、上述した第9の態様に係る情報処理システムにおいて、
第1の暗号鍵格納部の各格納場所には、それぞれキーIDによって特定される複数の格納庫が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されており、
第1の暗号通信処理部は、暗号通信路開設コマンドに含まれる暗号鍵指定情報によって特定される格納場所内の格納庫のうち、暗号通信路開設コマンドに含まれるコマンド文字列情報に対応する暗号化プロトコルによって予め定められている所定のキーIDによって特定される格納庫に格納されている暗号鍵を利用して暗号通信路を開設するようにしたものである。
(10) A tenth aspect of the present invention relates to the information processing system according to the ninth aspect described above,
In each storage location of the first encryption key storage unit, a plurality of storages respectively specified by key IDs are prepared, and in the whole or a part of the plurality of storages, different encryption keys are stored. Yes,
The first encryption communication processing unit encrypts, in the storage in the storage location specified by the encryption key specification information included in the encryption channel establishment command, the encryption corresponding to the command character string information included in the encryption channel establishment command. The encryption communication path is established using the encryption key stored in the storage identified by the predetermined key ID predetermined by the protocol.
(11) 本発明の第11の態様は、上述した第1〜第10の態様に係る情報処理システムにおいて、
第2の暗号通信処理部が、少なくとも、第1の暗号通信処理部に暗号通信機能が備わっている複数N通りの暗号化プロトコルのうちの複数M通り(M≦N)の暗号化プロトコルに基づく暗号通信を行う機能を有し、上記M通りの暗号化プロトコルから選択された特定の暗号化プロトコルに基づく暗号通信を行うために開設された暗号通信路を介して第1の情報処理装置との間で暗号通信を行い、
第2の暗号鍵格納部が、暗号鍵を格納するための複数の格納場所を有し、これら複数の格納場所に、第1の情報処理装置の第1の暗号鍵格納部に格納されている「上記M通りの暗号化プロトコルのそれぞれに用いられる暗号鍵」と同一の暗号鍵が格納されており、
暗号通信路開設指示部が、上記M通りの暗号化プロトコルから特定の暗号化プロトコルを選択し、第1の情報処理装置に対して、選択された暗号化プロトコルに基づく暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドを与えるようにしたものである。
(11) According to an eleventh aspect of the present invention, in the information processing system according to the first to tenth aspects described above,
The second cryptographic communication processing unit is based on at least a plurality M of (M ≦ N) of the plurality of N cryptographic protocols in which the first cryptographic communication processing unit is equipped with the cryptographic communication function. It has a function of performing encrypted communication, and is connected to the first information processing apparatus via an encrypted communication path established to perform encrypted communication based on a specific encryption protocol selected from the M encryption protocols above. Perform cryptographic communication between
The second encryption key storage unit has a plurality of storage locations for storing encryption keys, and the plurality of storage locations are stored in the first encryption key storage unit of the first information processing apparatus. The same encryption key as “the encryption key used for each of the M encryption protocols described above” is stored,
An encryption communication path establishment instructing unit selects a specific encryption protocol from the M encryption protocols and performs encryption communication based on the selected encryption protocol to the first information processing apparatus. An encrypted communication path establishment command for instructing establishment of a communication path is given.
(12) 本発明の第12の態様は、上述した第1〜第11の態様に係る情報処理システムにおける第1の情報処理装置を、ICカードもしくはその他の情報処理装置によって構成したものである。 (12) According to a twelfth aspect of the present invention, the first information processing apparatus in the information processing system according to the first to eleventh aspects described above is configured of an IC card or another information processing apparatus.
(13) 本発明の第13の態様は、上述した第1〜第11の態様に係る情報処理システムにおける第2の情報処理装置を、スマートフォンもしくはその他の情報処理装置によって構成したものである。 (13) According to a thirteenth aspect of the present invention, the second information processing apparatus in the information processing system according to the first to eleventh aspects described above is configured by a smartphone or another information processing apparatus.
(14) 本発明の第14の態様は、上述した第1〜第11の態様に係る情報処理システムにおける第1の情報処理装置または第2の情報処理装置を、コンピュータにプログラムを組み込むことにより構成したものである。 (14) According to a fourteenth aspect of the present invention, the first information processing apparatus or the second information processing apparatus in the information processing system according to any of the first to eleventh aspects described above is configured by incorporating a program into a computer It is
(15) 本発明の第15の態様は、第1の情報処理装置と第2の情報処理装置との間で、所定の暗号化プロトコルに基づいた暗号通信を行う暗号通信方法において、
第1の情報処理装置が、複数N通り(N≧2)の暗号化プロトコルに基づく暗号通信を行うプログラムを実行可能な状態に準備するプログラム準備段階と、
第1の情報処理装置が、暗号鍵を格納するための複数の格納場所に、上記N通りの暗号化プロトコルのそれぞれに用いられる暗号鍵を格納する暗号鍵格納段階と、
第2の情報処理装置が、第1の情報処理装置に対して、プログラム準備段階で準備されたN通りの暗号化プロトコルから選択された特定の暗号化プロトコルに基づいて、暗号鍵格納段階で特定の格納場所に格納された特定の暗号鍵を用いた暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドを送信する暗号通信路開設指示段階と、
第1の情報処理装置が、受信した暗号通信路開設コマンドに基づいて、上記特定の暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設する暗号通信路開設段階と、
第1の情報処理装置および第2の情報処理装置が、開設された暗号通信路を介して暗号通信を行う暗号通信段階と、
を行うようにし、
暗号通信路開設指示段階では、上記特定の暗号化プロトコルを指定するためのプロトコル指定情報と、上記特定の暗号鍵を指定するための暗号鍵指定情報と、を含んだ暗号通信路開設コマンドを送信し、
暗号通信路開設段階では、暗号通信路開設コマンドに含まれているプロトコル指定情報によって指定された暗号化プロトコルおよび暗号通信路開設コマンドに含まれている暗号鍵指定情報によって指定された暗号鍵を利用して暗号通信を行うための暗号通信路を開設するようにしたものである。
(15) A fifteenth aspect of the present invention is an encryption communication method for performing encryption communication based on a predetermined encryption protocol between a first information processing device and a second information processing device,
A program preparation stage in which the first information processing apparatus prepares a program for performing encryption communication based on a plurality N (NN2) encryption protocols in an executable state;
An encryption key storage step in which the first information processing apparatus stores encryption keys used for each of the N encryption protocols in a plurality of storage locations for storing encryption keys;
The second information processing apparatus identifies the first information processing apparatus in the encryption key storage stage based on the specific encryption protocol selected from the N encryption protocols prepared in the program preparation stage. An encrypted communication path establishment instruction step of transmitting an encrypted communication path establishment command for instructing establishment of an encrypted communication path for performing encrypted communication using a specific encryption key stored in the storage location of
An encryption communication path establishment phase in which the first information processing apparatus establishes an encryption communication path for performing encryption communication based on the specific encryption protocol based on the received encryption communication path establishment command;
An encryption communication step in which the first information processing apparatus and the second information processing apparatus perform encryption communication via the established encryption communication path;
To do
At the encryption communication path establishment instruction stage, an encryption communication path establishment command including protocol specification information for specifying the specific encryption protocol and encryption key specification information for specifying the specific encryption key is transmitted. And
In the encryption channel establishment stage, the encryption protocol designated by the protocol designation information included in the encryption channel establishment command and the encryption key designated by the encryption key designation information included in the encryption channel establishment command are used. Then, an encryption communication path for performing encryption communication is established.
(16) 本発明の第16の態様は、上述した第15の態様に係る暗号通信方法において、
暗号鍵格納段階において、N通りの暗号化プロトコルに対応づけられたN個の格納ゾーンを設定し、第i番目(1≦i≦N)の格納ゾーンに所属する格納場所には、第i番目の暗号化プロトコルに用いる暗号鍵を格納し、
暗号通信路開設指示段階において、特定の暗号鍵の格納場所を示す格納場所指定情報を含んだ暗号通信路開設コマンドを送信し、
暗号通信路開設段階において、上記格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、上記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、上記格納場所指定情報によって示された格納場所が所属する格納ゾーンに対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
(16) According to a sixteenth aspect of the present invention, in the encrypted communication method according to the fifteenth aspect described above,
In the encryption key storage stage, N storage zones corresponding to N encryption protocols are set, and the storage location belonging to the i-th (1 ≦ i ≦ N) storage zone is the i-th Store the encryption key used for the encryption protocol of
At the encryption communication path establishment instruction stage, an encryption communication path establishment command including storage location designation information indicating a storage location of a specific encryption key is transmitted;
In the encryption communication path establishment stage, the storage location designation information is recognized as information having both roles of protocol designation information and encryption key designation information, and is stored in the storage location indicated by the storage location designation information. By using the encryption key, an encrypted communication path for performing encrypted communication based on the encryption protocol corresponding to the storage zone to which the storage location indicated by the storage location designation information belongs is established.
(17) 本発明の第17の態様は、上述した第15の態様に係る暗号通信方法において、
暗号鍵格納段階において、暗号化演算に用いられる鍵値データと、暗号アルゴリズムの種別を示す種別情報と、を含む暗号鍵を格納し、
暗号通信路開設指示段階において、特定の暗号鍵の格納場所を示す格納場所指定情報を含んだ暗号通信路開設コマンドを送信し、
暗号通信路開設段階において、上記格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、上記格納場所指定情報によって示された格納場所に格納されている暗号鍵に含まれている鍵値データを用いて、当該暗号鍵に含まれている種別情報によって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
(17) A seventeenth aspect of the present invention is the encryption communication method according to the fifteenth aspect described above,
Storing an encryption key including key value data used for an encryption operation and type information indicating a type of encryption algorithm in the encryption key storage stage;
At the encryption communication path establishment instruction stage, an encryption communication path establishment command including storage location designation information indicating a storage location of a specific encryption key is transmitted;
In the encryption communication path establishment stage, the storage location designation information is recognized as information having both roles of protocol designation information and encryption key designation information, and is stored in the storage location indicated by the storage location designation information. An encryption communication path for performing encryption communication based on the encryption protocol indicated by the type information included in the encryption key is established using key value data included in the encryption key. is there.
(18) 本発明の第18の態様は、上述した第15の態様に係る暗号通信方法において、
暗号通信路開設指示段階において、特定の暗号化プロトコルに基づく暗号通信路の開設を指示する文字列を示すコマンド文字列情報と、特定の暗号鍵の格納場所を示す格納場所指定情報と、を含んだ暗号通信路開設コマンドを送信し、
暗号通信路開設段階において、上記コマンド文字列情報をプロトコル指定情報として認識し、上記格納場所指定情報を暗号鍵指定情報として認識することにより、上記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、上記コマンド文字列情報に対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
(18) According to an eighteenth aspect of the present invention, in the encrypted communication method according to the fifteenth aspect described above,
At the encryption communication path establishment instruction stage, it includes command character string information indicating a character string instructing the establishment of an encryption communication path based on a specific encryption protocol, and storage location designation information indicating a storage location of a specific encryption key. Send the encryption channel open command,
In the encryption communication path establishment stage, the command character string information is recognized as protocol designation information, and the storage location designation information is recognized as encryption key designation information, so that it is stored in the storage location indicated by the storage location designation information. An encryption communication path for performing encryption communication based on the encryption protocol corresponding to the command string information is established using the encryption key.
本発明に係る情報処理システムでは、2組の情報処理装置のうちの少なくとも第1の情報処理装置に、複数N通りの暗号化プロトコルに基づく暗号通信を行う機能をもたせ、第2の情報処理装置から第1の情報処理装置に対して与える暗号通信路開設コマンドに含ませたプロトコル指定情報によって特定の暗号化プロトコルを指定するようにしたため、複数通りの暗号化プロトコルの中から選択された任意の暗号化プロトコルに基づく暗号通信路を開設して、両者間でセキュアな通信を行うことが可能になる。 In the information processing system according to the present invention, at least a first information processing apparatus of two sets of information processing apparatuses is provided with a function of performing cryptographic communication based on a plurality N of encryption protocols, and a second information processing apparatus Since a specific encryption protocol is specified by the protocol specification information included in the encryption communication path establishment command given to the first information processing apparatus from any of the above, any one of a plurality of encryption protocols is selected. By establishing an encrypted communication path based on the encryption protocol, secure communication can be performed between the two.
特に、第1の実施形態に係る発明は、2組の情報処理装置のうちの一方がICカードである場合に適しており、暗号通信路開設コマンドに暗号鍵の格納場所を示す格納場所指定情報を含ませ、当該格納場所が所属する格納ゾーンによって暗号化プロトコルを指定する方法を採用しているため、ICカードについての国際的な仕様に準拠した暗号通信路開設コマンドを用いて、特定の暗号化プロトコルの選択をICカード側に伝達することが可能になる。 In particular, the invention according to the first embodiment is suitable when one of the two sets of information processing apparatuses is an IC card, and is storage location designation information indicating a storage location of the encryption key in the encryption communication path establishment command. In this case, a method of specifying the encryption protocol according to the storage zone to which the storage location belongs is adopted, so that a specific encryption is performed using an encryption channel establishment command conforming to the international specification for the IC card. It is possible to transmit the selection of the communication protocol to the IC card side.
同様に、第2の実施形態に係る発明も、2組の情報処理装置のうちの一方がICカードである場合に適しており、暗号通信路開設コマンドに暗号鍵の格納場所を示す格納場所指定情報を含ませ、特定の暗号鍵に含まれている種別情報によって暗号化プロトコルを指定する方法を採用しているため、ICカードについての国際的な仕様に準拠した暗号通信路開設コマンドを用いて、特定の暗号化プロトコルの選択をICカード側に伝達することが可能になる。 Similarly, the invention according to the second embodiment is also suitable when one of the two sets of information processing apparatuses is an IC card, and is a storage location specification that indicates the storage location of the encryption key in the encryption communication path establishment command. Since the method of including the information and designating the encryption protocol by the type information included in the specific encryption key is adopted, using the encryption communication path open command conforming to the international specification for the IC card It becomes possible to transmit the selection of a specific encryption protocol to the IC card side.
また、第3の実施形態に係る発明も、2組の情報処理装置のうちの一方がICカードである場合に適しており、暗号通信路開設コマンドに含まれるコマンド文字列情報によって暗号化プロトコルを指定する方法を採用しているため、ICカードについての国際的な仕様に準拠した暗号通信路開設コマンドを用いて、特定の暗号化プロトコルの選択をICカード側に伝達することが可能になる。 The invention according to the third embodiment is also suitable when one of the two sets of information processing apparatuses is an IC card, and the encryption protocol is set according to the command character string information included in the encryption communication path establishment command. Since the designation method is adopted, it becomes possible to transmit the selection of a specific encryption protocol to the IC card side using the encryption communication path establishment command conforming to the international specification of the IC card.
以下、本発明を図示する実施形態に基づいて説明する。 Hereinafter, the present invention will be described based on illustrated embodiments.
<<< §1. ICカードに対する従来の一般的な通信形態 >>>
本発明は、2組の情報処理装置の間で所定の暗号化プロトコルに基づく暗号通信を行う技術に係り、特に、ICカードと別な装置との間で暗号通信を行うのに適した暗号通信技術に関するものである。そこで、ここでは、まず、ICカードに対する従来の一般的な通信形態を簡単に説明しておくことにする。
<<< 1. 1. Conventional general communication mode for IC card >>>
The present invention relates to a technology for performing encryption communication based on a predetermined encryption protocol between two sets of information processing apparatuses, and in particular, encryption communication suitable for performing encryption communication between an IC card and another apparatus It relates to technology. Here, first, a conventional general communication mode for an IC card will be briefly described.
図1は、一般的なスマートフォン10,SIMカード11,外部サーバ20の間の情報通信の態様を示すブロック図である。通常、スマートフォン10は、内部にSIMカード11を装着した状態で利用され、必要に応じて、外部サーバ20と所定の通信路(インターネットや電話回線)を介して交信することになる。ここで、SIMカード11(UIMカードとも呼ばれる)は、Java Card(商標)やGlobalPlatform (登録商標)など、事実上の標準となっている国際的な仕様に準拠したICカードであり、外部装置との交信は、当該外部装置から与えられるコマンドと、これに対する応答という形式で行われる。
FIG. 1 is a block diagram showing an aspect of information communication between a general smartphone 10, a
SIMカード11に着目すると、スマートフォン10も外部サーバ20も、いずれも外部装置ということになり、これら外部装置との間の交信は、所定の通信路を介して行われる。図1には、スマートフォン10と外部サーバ20との間の通信路しか示されていないが、実際には、SIMカード11とスマートフォン10との間やSIMカード11と外部サーバ20との間にも通信路が形成される。本発明は、これらの通信路として暗号通信路を開設する技術に関するものである。
Focusing on the
図2は、図1に示すSIMカード11と、スマートフォン10もしくは外部サーバ20と、の間で暗号通信を行うためのプログラム構成の一例を示すブロック図である。本発明は、ICカードに限らず、一般的な2組の情報処理装置の間で暗号通信を行う場合に広く適用できる技術であり、一般論として、任意の情報処理装置間での通信に利用可能である。したがって、図2には、第1の情報処理装置100と第2の情報処理装置200との間に通信路を開設して相互に交信を行う例が示されている。
FIG. 2 is a block diagram showing an example of a program configuration for performing encrypted communication between the
ただ、上述したとおり、本発明は、ICカードに対する暗号通信を行うのに特に適した技術であり、ここでは、第1の情報処理装置100がスマートフォン10に装着されたSIMカード11であり、第2の情報処理装置200が当該スマートフォン10(もしくは、外部サーバ20でもよい)である場合について、以下の説明を行うことにする。
However, as described above, the present invention is a technology particularly suitable for performing encrypted communication with an IC card, and here, the first
SIMカード11をはじめとするICカードには、通常、複数のアプリケーションプログラムが組み込まれる。図2の第1の情報処理装置100(SIMカード11)には、2組のアプリケーションプログラムAP1,AP2が組み込まれた状態が示されている。また、ICカードには、通常、少なくとも1組のSDプログラム(Security Domain プログラム)が組み込まれている。このSDプログラムは、分類上はアプリケーションプログラムの一種であるが、OSプログラムと協働して、ICカード全体の動作や、他のアプリケーションプログラムを管理する役割を果たす。
Generally, a plurality of application programs are incorporated in an IC card such as the
具体的には、一般的なSDプログラムには、次のような機能が組み込まれている。
<機能1>ICカードのライフサイクル管理
<機能2>アプリケーションプログラムのライフサイクル管理
<機能3>アプリケーションインスタンスのライフサイクル管理
<機能4>アプリケーションプログラムのロード
<機能5>アプリケーションインスタンスの生成(インストール)
<機能6>アプリケーションプログラムやインスタンスの削除
<機能7>アプリケーション向け発行データの書込み
<機能8>データの読出し
<機能9>セキュアな通信路の確保
上記各機能のうち、本発明に直接関連する機能は「機能9:セキュアな通信路の確保」であり、一般に「SCP:Secure Channel Protocol」と呼ばれる所定の暗号化プロトコルに基づいて、外部装置(図2に示す例の場合は、第2の情報処理装置200)との間にセキュアな暗号通信路を開設して暗号通信を行う機能である。このような機能を実現するため、SDプログラム内には、暗号通信路開設ルーチンR1と鍵テーブルT1とが組み込まれている。
Specifically, the following functions are incorporated in a general SD program.
<Function 1> IC card life cycle management <Function 2> Application program life cycle management <Function 3> Application instance life cycle management <Function 4> Application program loading <Function 5> Application instance generation (installation)
<Function 6> Delete application program and instance <Function 7> Write application issued data for application <Function 8> Read data <Function 9> Secure secure communication path Of the above functions, functions directly related to the present invention Is the function 9: securing a secure communication channel, and based on a predetermined encryption protocol generally called "SCP: Secure Channel Protocol", the external device (in the example shown in FIG. 2, the second information It is a function to establish a secure encryption communication path with the processing device 200) and perform encryption communication. In order to realize such a function, an encrypted communication path establishment routine R1 and a key table T1 are incorporated in the SD program.
一方、第2の情報処理装置200にも、これに応じた暗号通信を行う機能をもったアプリケーションプログラムAP3が用意されており、暗号通信路開設ルーチンR2と鍵テーブルT2とが組み込まれている。たとえば、第2の情報処理装置200がスマートフォン10の場合、アプリケーションプログラムAP3は、このスマートフォン10にインストールされたアプリケーションプログラムの1つである。
On the other hand, also in the second
第1の情報処理装置100側の暗号通信路開設ルーチンR1と、第2の情報処理装置200側の暗号通信路開設ルーチンR2とは、両装置間にセキュアな暗号通信路を開設し、同一の暗号化プロトコルに基づいた暗号通信を行うためのルーチンであり、鍵テーブルT1と鍵テーブルT2には、同一の暗号鍵が収容されている。したがって、図示の例の場合、SDプログラムとアプリケーションプログラムAP3とによって、第1の情報処理装置100と第2の情報処理装置200との間に、同一の暗号鍵を用いた同一の暗号化プロトコルに基づく暗号通信を行うための暗号通信路が開設されることになる。
The encrypted communication path establishment routine R1 on the first
ICカードに対する暗号通信に利用される暗号化プロトコルとしては、SCP01,SCP02などのプロトコルが古くから利用されてきている。ただ、これらのプロトコルで用いられている「Triple-DES」という暗号アルゴリズムには危殆化の問題が指摘されており、近年は、AES(Advanced Encryption Standard)なる規格に基づく暗号アルゴリズムを利用したSCP03なるプロトコルも、GlobalPlatform (登録商標)に準拠した仕様として普及し始めている。また、3GPP/ETSIなどの標準化団体を中心に策定されたSCP80,SCP81などのプロトコルの利用も普及してきている。 Protocols such as SCP01 and SCP02 have long been used as encryption protocols used for encryption communication with IC cards. However, the problem of compromise is pointed out in the encryption algorithm "Triple-DES" used in these protocols, and in recent years, SCP03 using an encryption algorithm based on the AES (Advanced Encryption Standard) standard The protocol is also beginning to spread as a specification compliant with GlobalPlatform (registered trademark). In addition, the use of protocols such as SCP80 and SCP81 developed mainly by standardization organizations such as 3GPP / ETSI has also become widespread.
また、ICカードに組み込まれるSDプログラム用の鍵テーブルTとしては、図3に例示するような鍵空間を用いる仕様が一般化している。図示の鍵テーブルTは、縦方向にキーバージョン番号(key version number)、横方向にキーID(key ID)を定義したマトリックスによって構成されており、キーバージョン番号については、0x01〜0x7Fの範囲内のアドレス空間が割り当てられ、キーIDについては、0x00〜0x7Fの範囲内のアドレス空間が割り当てられている(アドレス先頭の0xは、以下の数値が16進数であることを示す)。 Further, as the key table T for the SD program incorporated in the IC card, a specification using a key space as illustrated in FIG. 3 is generalized. The illustrated key table T is composed of a matrix in which key version numbers (key version numbers) are defined vertically and key IDs (key ID) are defined horizontally, and the key version numbers are in the range of 0x01 to 0x7F. An address space in the range of 0x00 to 0x7F is assigned to the key ID (0x at the beginning of the address indicates that the following numerical value is a hexadecimal number).
個々の暗号鍵は、この鍵テーブルTのいずれかのセルに格納されることになり、キーバージョン番号とキーIDとの組み合わせにより特定される。たとえば、キーバージョン番号「0x01」とキーID「0x01」との組み合わせにより、暗号鍵KeyAが特定されることになる。図には、個々の暗号鍵の格納例として、KeyA〜KeyRが特定のセルに格納された状態が示されている。もちろん、暗号鍵はすべてのセルに格納する必要はなく、必要な暗号鍵が所定のセルに格納されていれば足りる。 Each encryption key is stored in any cell of this key table T, and is specified by the combination of the key version number and the key ID. For example, the combination of the key version number “0x01” and the key ID “0x01” specifies the encryption key KeyA. The figure shows a state in which KeyA to KeyR are stored in a specific cell as an example of storage of individual encryption keys. Of course, the encryption key does not need to be stored in all the cells, and it is sufficient if the necessary encryption key is stored in a predetermined cell.
ある1つの暗号化プロトコルでは、ある1つのキーバージョン番号が指定され、当該キーバージョン番号をもったセルに格納されている1つもしくは複数の暗号鍵を利用した暗号化処理もしくは復号処理が実行される。図示の例の場合、キーバージョン番号「0x01」,「0x20」,「0x21」,「0x22」,「0x7E」,「0x7F」の各行に何らかの暗号鍵が格納されている状態が示されている。図示の例の場合、いずれのキーバージョン番号についても、キーID「0x01」,「0x02」,「0x03」の3箇所のセルにそれぞれ暗号鍵が格納されている。 In one encryption protocol, one key version number is specified, and encryption processing or decryption processing is performed using one or more encryption keys stored in the cell having the key version number. Ru. In the case of the illustrated example, a state is shown in which an encryption key is stored in each row of key version numbers “0x01”, “0x20”, “0x21”, “0x22”, “0x7E”, and “0x7F”. In the case of the example of illustration, an encryption key is stored in the cell of three places of key ID "0x01", "0x02", "0x03" also about any key version number.
これは、いずれのキーバージョン番号も、3つの異なる暗号鍵を用いる暗号化プロトコル(たとえば、上述したSCP01,SCP02,SCP03など)に対応したものになっているためである。たとえば、キーバージョン番号「0x20」が指定された場合、キーID「0x01」,「0x02」,「0x03」の各セルに格納されている3つの暗号鍵KeyD,KeyE,KeyFが暗号化処理もしくは復号処理に利用されることになる。別言すれば、特定の暗号化プロトコルに基づく暗号化処理もしくは復号処理には、同一のキーバージョン番号をもつ1つもしくは複数の暗号鍵が利用されることになる。もちろん、合計5個の暗号鍵を必要とする暗号化プロトコルのためには、同一のキーバージョン番号をもつ5個のセルにそれぞれ暗号鍵を用意することになる。 This is because all key version numbers correspond to encryption protocols using three different encryption keys (for example, SCP01, SCP02, SCP03 described above, etc.). For example, when the key version number "0x20" is specified, the three encryption keys KeyD, KeyE, KeyF stored in the cells of the key IDs "0x01", "0x02", "0x03" are encrypted or decrypted. It will be used for processing. In other words, one or more encryption keys with the same key version number will be used for encryption processing or decryption processing based on a specific encryption protocol. Of course, for an encryption protocol that requires a total of five encryption keys, each of the five cells having the same key version number will be provided with an encryption key.
一方、図4(a) は、図3に示す鍵テーブルTの個々のセルに格納されている暗号鍵KeyA〜KeyRの一般的なデータ構造を示す図である。図示された暗号鍵Keyのデータ構造は、上述したICカードについての国際的な標準仕様として定められた暗号鍵Keyの標準フォーマットを示すものであり、先頭から順に、種別情報(key type)A,鍵長(key length)L,鍵値データ(key value)Vを並べたものになっている。ここで、種別情報(key type)Aは、「AES」,「DES」,「RSA」など、当該暗号鍵Keyを用いることを想定している暗号化プロトコルが採用する暗号アルゴリズムの種別を含む情報であり、鍵長(key length)Lは、後続する鍵値データ(key value)Vのデータ長(byte)を示す情報であり、最後の鍵値データ(key value)Vは、暗号化演算に用いられる鍵値データそのものである。 4A shows a general data structure of the encryption keys KeyA to KeyR stored in the individual cells of the key table T shown in FIG. The data structure of the illustrated encryption key Key indicates the standard format of the encryption key Key defined as the international standard specification for the IC card described above, and the type information (key type) A, A key length (key length) L and key value data (key value) V are arranged. Here, the type information (key type) A is information including the type of encryption algorithm adopted by the encryption protocol that is assumed to use the encryption key Key, such as “AES”, “DES”, “RSA”, etc. The key length (key length) L is information indicating the data length (byte) of the subsequent key value data (key value) V, and the last key value data (key value) V is an encryption operation. It is the key value data itself to be used.
また、図4(b) は、暗号通信路開設コマンドCMDのデータ構造の概要を示す図である。実際のコマンドは、ISOなどの規格(たとえば、ISO7816-4)に準拠した、より複雑なデータ構造を有するものになるが、説明の便宜上、図4(b) には、本発明の説明に必要な情報のみを抽出した概念的なデータ構造を示すことにする。図示の例は、上述した暗号化プロトコルSCP01,SCP02,SCP03を採用する場合に用いられている暗号通信路の開設コマンドを示しており、暗号通信路の開設を指示する文字列「INITIALIZE UPDATE」なるコマンド文字列情報(実際には、コマンド「INITIALIZE UPDATE」を意味するインストラクションバイト情報であるが、以下、便宜上、INITIALIZE UPDATE」なる文字列として説明する)と、特定の暗号鍵の格納場所を示す格納場所指定情報(実際には、特定のキーバージョン番号)と、所定の乱数とによって構成されている。 FIG. 4B is a diagram showing an outline of the data structure of the encrypted communication path establishment command CMD. The actual command will have a more complicated data structure conforming to the standard such as ISO (for example, ISO 7816-4), but for the convenience of explanation, Fig. 4 (b) is necessary to explain the present invention. I will show the conceptual data structure which extracted only the important information. The illustrated example shows an opening command of the encryption communication path used when adopting the above-described encryption protocols SCP01, SCP02, and SCP03, and the character string "INITIALIZE UPDATE" instructing the establishment of the encryption communication path is obtained. Storage of command string information (actually, instruction byte information meaning command “INITIALIZE UPDATE”, but hereinafter described as a character string “INITIALIZE UPDATE” for convenience,) and storage location of a specific encryption key The location specification information (actually, a specific key version number) and a predetermined random number are included.
たとえば、図3に示す鍵テーブルTに格納されている3つの暗号鍵KeyD,KeyE,KeyFを用いた暗号通信路を開設する場合には、文字列「INITIALIZE UPDATE」に「0x20」なるキーバージョン番号を後続させ、更にその後ろに所定の乱数を後続させた暗号通信路開設コマンドCMDがICカードに与えられる。この暗号通信路開設コマンドCMDの最後に付加される乱数は、外部装置がICカードを正規の交信相手であることを認証するために利用される。別言すれば、暗号通信路開設コマンドCMDは、ICカードに対して、暗号通信路の開設処理を実行する指示コマンドとしての役割とともに、所定の乱数に応じた認証コードを返信するよう求める認証コマンドとしての役割も果たす。 For example, when establishing an encrypted communication path using three encryption keys KeyD, KeyE, and KeyF stored in the key table T shown in FIG. 3, a key version number "0x20" in the character string "INITIALIZE UPDATE" Is followed by an encrypted communication path establishment command CMD followed by a predetermined random number. The random number added at the end of the encrypted communication path establishment command CMD is used to authenticate that the external device is the IC card as a legitimate communication partner. In other words, the encrypted communication path establishment command CMD is an authentication command for requesting the IC card to return an authentication code corresponding to a predetermined random number together with a role as an instruction command for executing the establishment processing of the encrypted communication path. Also play a role as
図5は、図2に示すSIMカード11(第1の情報処理装置100)に組み込まれたSDプログラムと、スマートフォン10(第2の情報処理装置200)に組み込まれたアプリケーションプログラムAP3と、の間でやりとりされる種々のコマンドおよびこれに対する応答の具体例を示すダイアグラムである。ステップS1〜S6に示すとおり、いずれもスマートフォン10側からSIMカード11側に所定のコマンドを送信し、当該コマンドに対する応答(レスポンス)をSIMカード11側からスマートフォン10側へと返信する、という形態で、両者間の情報のやりとりが行われる。この例の場合、ステップS1〜S4までの情報のやりとりは、暗号化されていない通常の通信路を介して行われるが、ステップS5,S6の情報のやりとりは、SDプログラムによって開設された暗号通信路を介して行われる。
FIG. 5 is between the SD program incorporated in the SIM card 11 (first information processing apparatus 100) shown in FIG. 2 and the application program AP3 incorporated in the smartphone 10 (second information processing apparatus 200). Are diagrams showing examples of various commands exchanged in and responses to the commands. As shown in steps S1 to S6, the smartphone 10 transmits a predetermined command to the
まず、ステップS1は、スマートフォン10側からSIMカード11側に「SELECTコマンド」を送信するプロセスである。この「SELECTコマンド」は、特定のチャネル番号を指定して、SIMカード11側のSDプログラムを選択するコマンドである。SIMカード11側では、当該チャネル番号と当該SDプログラムとが対応づけられ、以後、同じチャネル番号をもつコマンドが与えられると、当該SDプログラムによって処理されることになる。「SELECTコマンド」が正常に受理されると、SIMカード11側からスマートフォン10側に応答が返される。
First, step S1 is a process of transmitting a "SELECT command" from the smartphone 10 side to the
続く、ステップS2は、「GET DATAコマンド」を送信するプロセスである。なお、ステップS2以降のコマンドには、ステップS1と同じチャネル番号が付与されており、SIMカード11側では、SDプログラムによって処理される。この「GET DATAコマンド」は、前述したSDプログラムの「機能8:データの読出し」に基づいて、所定のデータをSIMカード11側からスマートフォン10側に読み出すためのコマンドであり、読出対象となるデータを特定する情報が付加されている。SDプログラムは、当該コマンドに応じて、SIMカード11内のメモリから指定されたデータを読出し、これを当該コマンドに対する応答としてスマートフォン10側へと返信する。
The following step S2 is a process of transmitting a "GET DATA command". The command after step S2 is assigned the same channel number as in step S1, and on the
GlobalPlatform (登録商標)の仕様では、SDプログラムが前述した「機能1〜機能7」を行う場合は、暗号通信路(機能9によって開設されたセキュアな通信路)を介して情報のやりとりを実行することが必須とされているが、「機能8:データの読出し」については暗号通信路の開設は必須にはなっていない。図5のステップS2のプロセスは、暗号通信路の開設前にデータの読出処理が行われた例を示すものである。 According to the GlobalPlatform (registered trademark) specification, when the SD program performs the above-mentioned "function 1 to function 7", exchange of information is executed via an encrypted communication path (a secure communication path established by function 9). Although it is considered essential, the establishment of an encrypted communication path is not mandatory for "function 8: reading data". The process of step S2 of FIG. 5 shows an example in which the data read process is performed before the establishment of the encrypted communication path.
続く、ステップS3,S4は、暗号通信路の開設準備を行うプロセスである。まず、ステップS3では、「INITIALIZE UPDATEコマンド」の送信が行われる。このコマンドは、図4(b) に示すデータ構造をもつ暗号通信路開設コマンドCMDであり、前述したとおり、「INITIALIZE UPDATE」なるコマンド文字列情報に、キーバージョン番号および乱数を付加した形態をもつ。このコマンドは、スマートフォン10が、SIMカード11を正規の交信相手であることを認証するための認証コマンドとしての役割も果たす。
The following steps S3 and S4 are processes for preparing for establishment of the encrypted communication path. First, in step S3, transmission of an "INITIALIZE UPDATE command" is performed. This command is an encrypted communication path establishment command CMD having the data structure shown in FIG. 4B, and as described above, has a form in which a key version number and a random number are added to command character string information "INITIALIZE UPDATE". . This command also serves as an authentication command for authenticating that the smart phone 10 is the
すなわち、「INITIALIZE UPDATEコマンド」を受信したSIMカード11(SDプログラム)は、鍵テーブルT1から、指定されたキーバージョン番号に対応する暗号鍵を取り出し、暗号化処理の準備を行うとともに、与えられた乱数に対して所定のアルゴリズムに基づく演算を施し、演算結果を当該コマンドに対する応答として返信する。スマートフォン10(アプリケーションプログラムAP3)は、返信されてきた演算結果が、与えた乱数に対する正しい演算結果であるか否かを検証し、正しい演算結果であった場合に、現在交信中のSIMカード11を正規の交信相手であると認証する。
That is, the SIM card 11 (SD program) having received the "INITIALIZE UPDATE command" takes out the encryption key corresponding to the designated key version number from the key table T1, performs preparation for the encryption processing, and is given. An operation based on a predetermined algorithm is performed on the random number, and the operation result is returned as a response to the command. The smartphone 10 (application program AP3) verifies whether the operation result sent back is the correct operation result for the given random number, and if it is the correct operation result, the
続くステップS4では、「EXTERNAL AUTHENTICATEコマンド」の送信が行われる。このコマンドは、SIMカード11がスマートフォン10を正規の交信相手であることを認証するための認証コマンドである。スマートフォン10は、ステップS3の応答により返信されてきたデータに対して所定のアルゴリズムに基づく演算を施し、演算結果を「EXTERNAL AUTHENTICATE」なるコマンド文字列情報に付加してSIMカード11に送信する。SIMカード11(SDプログラム)は、「EXTERNAL AUTHENTICATEコマンド」によって送信されてきた演算結果が、正しい演算結果であるか否かを検証し、正しい演算結果であった場合に、現在交信中のスマートフォン10を正規の交信相手であると認証する。
In the subsequent step S4, transmission of "EXTERNAL AUTHENTICATE command" is performed. This command is an authentication command for authenticating that the
このステップS3,S4による相互認証の具体的なプロセスは、一般に利用されている公知の技術であるため、ここでは詳しい説明は省略する。こうして、SIMカード11とスマートフォン10との間での相互認証が完了すると、両者間に暗号通信路が開設され、図の破線より下に示されたステップS5以降のコマンドは、この暗号通信路を介して与えられることになる。すなわち、ステップS5以降のコマンドは、所定の暗号化プロトコルに基づいて暗号化され、「SCP:Secure Channel Protocol」により保護されたコマンドとして送信される。
The specific process of the mutual authentication in the steps S3 and S4 is a publicly known technique that is generally used, and thus the detailed description is omitted here. Thus, when mutual authentication between the
なお、現行の規格では、暗号通信路の開設時(「EXTERNAL AUTHENTICATEコマンド」の処理時)に、SCPについてレベルを設定することが可能である。具体的には、「レベル1:コマンド改竄検知用のチェックコード付与」と「レベル2:コマンド改竄検知用のチェックコード付与+コマンドデータフィールドの暗号化」とが定められており、ステップS5以降にやりとりされるコマンドには、開設時に設定されたレベルが適用されることになる。このようなSCPレベルの設定を行った場合、レベル2の設定が行われたときにのみ、ステップS5以降のコマンドのデータフィールドに対して暗号化が行われることになる。 According to the current standard, it is possible to set a level for SCP at the time of establishment of the encryption communication path (at the time of processing of the "EXTERNAL AUTHENTICATE command"). Specifically, “level 1: check code addition for command tampering detection” and “level 2: check code addition for command tampering detection + encryption of command data field” are defined, and step S5 and subsequent steps are performed. The level set at the time of opening will be applied to the command exchanged. When such setting of the SCP level is performed, encryption is performed on the data field of the command after step S5 only when setting of the level 2 is performed.
上述したように、GlobalPlatform (登録商標)の仕様では、SDプログラムに「機能1〜機能7」を実行させる指示を与えるコマンドについては、SCPにより保護されたコマンドとして送信することが必須となっている。したがって、たとえば、SDプログラムにアプリケーションプログラムをロードさせたり、インストールさせたりする処理を実行させるためのコマンドは、図示のステップS5,S6のように、SCPにより保護されたコマンドとして、暗号化された状態で送信されることになる。なお、ステップS5,S6の例では、コマンドに対する応答については、SCPによる保護を行わず、平文のまま通常の通信路を介して返信するようにしているが、必要があれば、これらの応答についても、暗号通信路を介して返信するようにしてもよい。 As described above, according to the specifications of GlobalPlatform (registered trademark), it is essential to transmit as a command protected by SCP, a command giving an instruction to cause the SD program to execute "Function 1 to Function 7". . Therefore, for example, a command for causing an SD program to execute processing for loading or installing an application program is encrypted as a command protected by SCP as shown in steps S5 and S6. Will be sent by In the examples of steps S5 and S6, the response to the command is not protected by the SCP, but is sent as plain text via the normal communication path, but if necessary, these responses are sent. Alternatively, the reply may be made via the encrypted communication path.
<<< §2. 本発明に係る情報処理システムの基本構成 >>>
上述した§1では、図5を参照しながら、SIMカード11とスマートフォン10との間に暗号通信路を開設する手順を説明した。ここで開設される暗号通信路は、ハードウェアとしては通常の通信路と変わりはない。しかしながら、この暗号通信路を介して送受信されるデータは、ソフトウェアによって所定の暗号化プロトコルに基づく暗号化が施されるため、万一、漏洩したとしても、必要なセキュリティが確保されることになる。
<<< 2. 2. Basic configuration of information processing system according to the present invention >>>
In the above-mentioned § 1, the procedure for establishing an encryption communication path between the
結局、「暗号通信路の開設」とは、送信側において、所定の暗号化プロトコルに基づく暗号化処理の準備を完了させ、受信側において、所定の暗号化プロトコルに基づく復号処理の準備を完了させた状態ということができる。そのためには、送信側と受信側とにおいて、共通の暗号化プロトコルを用い、共通の暗号鍵を用いることが前提となる。このような事情から、従来は、ICカードにSDプログラムを組み込む際に、特定の暗号化プロトコルを選択し、当該SDプログラムについては、専ら、この選択された特定の暗号化プロトコルを用いた「暗号通信路の開設」が行われるような設定を行っていた。 After all, “open encrypted communication path” means that the transmitter side completes preparation for the encryption process based on a predetermined encryption protocol, and the receiver side completes preparation for the decryption process based on the predetermined encryption protocol. It can be said that For that purpose, it is premised that the transmitting side and the receiving side use a common encryption protocol and use a common encryption key. Under these circumstances, conventionally, when incorporating an SD program into an IC card, a specific encryption protocol is selected, and for the SD program, “encryption using the selected specific encryption protocol is exclusively performed. It was set up to "open a communication path".
このため、本来は、SCP01,SCP02,SCP03なる3通りの暗号化プロトコルに対応しているSDプログラムであっても、ICカードにインストールする時点で、いずれか1つの暗号化プロトコルを選択し、インストール後は、当該選択された暗号化プロトコルに基づく暗号通信路のみが開設されるようにする、という運用が行われている。もちろん、暗号鍵については、図3に例示するような鍵テーブルTを用意しておき、暗号通信路の開設時にキーバージョン番号による指定を行うことにより、複数とおりの暗号鍵の中から任意の暗号鍵を選択して用いることが可能であるが、暗号化プロトコルについては、複数とおりのプロトコルから任意のプロトコルを選択して用いることはできず、選択の多様性は失われてしまう。 For this reason, even if it is an SD program that originally supports three types of encryption protocols such as SCP01, SCP02, and SCP03, one of the encryption protocols is selected and installed at the time of installation on an IC card. After that, operation is performed such that only the encrypted communication path based on the selected encryption protocol is opened. Of course, with regard to the encryption key, a key table T as illustrated in FIG. 3 is prepared, and specification is made by the key version number when the encryption communication path is established, whereby any encryption key can be selected from a plurality of encryption keys. Although it is possible to select and use a key, as for the encryption protocol, it is not possible to select and use an arbitrary protocol from a plurality of protocols, and the diversity of selection is lost.
最近は、暗号化プロトコルの種類も多岐にわたっている。具体的には、SCP01,SCP02,SCP03,SCP10,SCP80,SCP81などの暗号化プロトコルが実際に利用されており、今後も様々な暗号化プロトコルの提唱が見込まれている。また、ICカードの通信相手も多様化してきており、1つのICカードが、種々の状況に応じて、複数の相手と通信するケースも少なくない。 Recently, there are a wide variety of encryption protocols. Specifically, encryption protocols such as SCP01, SCP02, SCP03, SCP10, SCP80 and SCP81 are actually used, and proposals for various encryption protocols are expected in the future. Further, the communication partners of the IC card are also diversified, and there are not a few cases where one IC card communicates with a plurality of partners according to various situations.
たとえば、スマートフォンには、複数のアプリケーションプログラムがインストールされるのが一般的であり、スマートフォンに装着されたICカードは、複数のアプリケーションプログラムとの間で情報のやりとりを行うケースも少なくない。この場合、ICカード側のSDプログラムが、特定の暗号化プロトコルのみにしか対応していないと、スマートフォン側のアプリケーションプログラムの自由度が低下せざるを得ない。 For example, in a smart phone, a plurality of application programs are generally installed, and in many cases, an IC card mounted on the smart phone exchanges information with a plurality of application programs. In this case, if the SD program on the IC card side supports only a specific encryption protocol, the degree of freedom of the application program on the smartphone side is inevitably reduced.
本発明は、このような問題に対処するために提案されたものであり、2組の情報処理装置の間に、複数通りの暗号化プロトコルの中から選択された任意の暗号化プロトコルに基づく暗号通信路を開設して、両者間でセキュアな通信を可能にする技術を提供するものである。以下、図6を参照しながら、本発明に係る情報処理システムの基本構成を説明する。 The present invention has been proposed to address such problems, and a cipher based on any encryption protocol selected from among a plurality of encryption protocols between two sets of information processing devices. The present invention provides a technology that establishes a communication path and enables secure communication between the two. Hereinafter, the basic configuration of the information processing system according to the present invention will be described with reference to FIG.
図6に示す情報処理システムは、第1の情報処理装置100と第2の情報処理装置200Aとを備え、両者間で所定の暗号化プロトコルに基づいた暗号通信が可能な情報処理システムである。ここでは、§1で述べた例と同様に、第1の情報処理装置100として、SIMカード11を用い、第2の情報処理装置200Aとして、当該SIMカード11を装着する相手となるスマートフォン10Aを用いた例について、以下の説明を行うことにする。
The information processing system shown in FIG. 6 includes the first
図示のとおり、第1の情報処理装置100には、暗号通信路を開設する処理を行う第1の暗号通信処理部110と暗号鍵を格納する第1の暗号鍵格納部120とが設けられており、第1の暗号通信処理部110は、第1の暗号鍵格納部120に格納されている暗号鍵を用いて、暗号通信路を開設する処理を行う。ここに示す実施例の場合、第1の暗号通信処理部110は、実際には、SIMカード11にインストールされたSDプログラムの機能として実現されることになり、第1の暗号鍵格納部120は、このSDプログラムによって管理されるSIMカード11に内蔵されたメモリの一部分の領域として実現されることになる。
As illustrated, the first
一方、第2の情報処理装置200Aには、第1の暗号通信処理部110が開設した暗号通信路を利用して暗号通信を行う第2の暗号通信処理部210Aと、暗号鍵を格納する第2の暗号通信処理部220Aと、第1の暗号通信処理部110に対して暗号通信路の開設を指示する暗号通信路開設指示部230Aとが設けられている。後述するように、暗号通信路開設指示部230Aから第1の暗号通信処理部110に対して、暗号通信路開設コマンドCMDが送信されると、第1の暗号通信処理部110は、当該コマンドに基づいて暗号通信路を開設する処理を行う。その後、第2の暗号通信処理部210Aは、第2の暗号通信処理部220Aに格納されている暗号鍵を用いて、当該暗号通信路を介した暗号通信を行うことになる。
On the other hand, in the second
ここに示す実施例の場合、第2の暗号通信処理部210Aおよび暗号通信路開設指示部230Aは、実際には、スマートフォン10Aにインストールされたアプリケーションプログラムの機能として実現されることになり、第2の暗号通信処理部220Aは、スマートフォン10Aに内蔵されたメモリの一部分の領域として実現されることになる。
In the case of the embodiment shown here, the second encrypted
結局、本発明に係る第1の情報処理装置100は、ICカードもしくはその他の情報処理装置を構成するコンピュータに、SDプログラム等の専用プログラムを組み込むことによって実現され、本発明に係る第2の情報処理装置200Aは、スマートフォンもしくはその他の情報処理装置を構成するコンピュータに、所定のプログラムを組み込むことによって実現されることになる。
After all, the first
続いて、上記各構成要素の機能について、更に詳しい説明を行う。まず、第1の暗号通信処理部110は、複数N通り(N≧2)の暗号化プロトコルに基づく暗号通信を行う機能を有しており、第2の情報処理装置200Aから、このN通りの暗号化プロトコルのうちの特定のプロトコルを指定した暗号通信路開設コマンドCMDが与えられた場合に、指定された特定の暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設し、開設された暗号通信路を介して第2の情報処理装置200Aとの間で暗号通信を行うことができる。
Subsequently, the functions of the above-described components will be described in more detail. First, the first encryption
図6には、第1の暗号通信処理部110のブロック内に、第1の暗号化プロトコルP1,第2の暗号化プロトコルP2,...,第Nの暗号化プロトコルPNが用意されている状態が示されている。これら各暗号化プロトコルP1〜PNは、実際には、第1の情報処理装置100(SIMカード11)にインストールされたSDプログラムの機能として用意される。
In FIG. 6, a first encryption protocol P1, a second encryption protocol P2,..., An Nth encryption protocol PN are prepared in the block of the first encryption
上述したとおり、従来は、SDプログラムをインストールする際に、特定の暗号化プロトコルを1つだけ選択し、インストール後は、当該選択された暗号化プロトコルに基づく暗号通信路のみが開設されるようにする運用が採られていた。これに対して、本発明の場合、SDプログラムをインストールする際に、複数N通りの暗号化プロトコルにそれぞれ対応した暗号化処理および復号処理が実行できるような運用が採られる。たとえば、SCP01,SCP02,SCP03なる3通りの暗号化プロトコルに対応しているSDプログラムをインストールする場合、これら3通りすべてのプロトコルを利用可能な態様でインストールが行われる(N=3の場合)。そして、第1の暗号通信処理部110が実際に暗号通信路を開設する際には、これら3通りのうち、指定された1つの暗号化プロトコルを選択し、選択した暗号化プロトコルに基づく暗号通信路の開設を行うことになる。
As described above, conventionally, when installing an SD program, only one specific encryption protocol is selected, and after installation, only an encrypted communication path based on the selected encryption protocol is established. Operation was taken. On the other hand, in the case of the present invention, when installing the SD program, an operation is performed in which encryption processing and decryption processing corresponding to each of a plurality of N encryption protocols can be executed. For example, when installing an SD program that supports three encryption protocols, such as SCP01, SCP02, and SCP03, installation is performed in such a manner that all three protocols can be used (in the case of N = 3). Then, when the first encryption
一方、第1の暗号鍵格納部120は、暗号鍵を格納するための複数の格納場所を有し、これら複数の格納場所に、上記N通りの暗号化プロトコルのそれぞれに用いられる暗号鍵を格納している構成要素である。図6には、第1の暗号鍵格納部120内に4組の格納場所L11〜L14が設けられ、これら各格納場所L11〜L14にそれぞれ暗号鍵Keys11〜Keys14が格納されている状態が示されている。これら各格納場所L11〜L14は、実際には、それぞれが図3に示す鍵テーブルTの1行分のセルに相当するものであり、暗号鍵を「Keys」と複数形にしているのは、複数の暗号鍵によって構成されていることを示すためである。
On the other hand, the first encryption
たとえば、格納場所L11に格納されている暗号鍵Keys11は、図3に示す鍵テーブルTにおいて、キーバージョン番号「0x01」に対応する格納場所に格納されている3組の暗号鍵KeyA,KeyB,KeyCに相当する。このように、本発明にいう「暗号鍵」は、必ずしも1つの暗号鍵である必要はなく、ある特定の暗号化プロトコルに用いられる複数の暗号鍵の集合体も含む概念である。
For example, in the key table T shown in FIG. 3, the encryption
続いて、第2の情報処理装置200A(スマートフォン10A)側の構成要素についての説明を行う。まず、第2の暗号通信処理部210Aは、第1の暗号通信処理部110に用意されている複数N通りの暗号化プロトコルのうちの少なくとも1つの特定の暗号化プロトコルに基づく暗号通信を行う機能を有し、当該特定の暗号化プロトコルに基づく暗号通信を行うために開設された暗号通信路を介して第1の暗号通信処理部110との間で暗号通信を行う構成要素である。図に示す例の場合、第2の暗号通信処理部210Aは、第1の暗号化プロトコルP1のみに対応しており、この第1の暗号化プロトコルP1を上記特定の暗号化プロトコルとして、暗号通信を行う機能を有している。
Subsequently, components of the second
第2の暗号鍵格納部220Aは、上記特定の暗号化プロトコルに用いられる特定の暗号鍵を格納する構成要素であり、図示の例の場合は、第1の暗号化プロトコルP1に用いられる暗号鍵として、暗号鍵Keys13が格納されている。この暗号鍵Keys13は、第1の暗号鍵格納部120の格納場所L13に格納されている暗号鍵Keys13と同一のものである。
The second encryption
このように、第2の暗号通信処理部210Aは、第1の暗号通信処理部110に用意されているN通りの暗号化プロトコルのうちの少なくとも1つと同じ暗号化プロトコルに基づく暗号通信機能を有しており、第2の暗号鍵格納部220Aには、第1の暗号鍵格納部120のいずれかの格納場所に格納されている暗号鍵と同一の暗号鍵が格納されていることになる。したがって、第1の情報処理装置100と第2の情報処理装置200Aとは、同一の暗号鍵を用いて同一の暗号化プロトコルに基づく暗号通信路を確保し、当該暗号通信路を介した暗号通信によって情報のやりとりを行うことができる。
Thus, the second cryptographic
暗号通信路開設指示部230Aは、このような暗号通信路の開設を指示するための暗号通信路開設コマンドCMDを第1の情報処理装置100に与える構成要素である。本発明の特徴は、この暗号通信路開設コマンドCMDに、特定の暗号化プロトコルを指定するためのプロトコル指定情報を含ませるようにした点にある。すなわち、本発明で用いられる暗号通信路開設コマンドCMDには、第2の暗号通信処理部210Aが対応している特定の暗号化プロトコルを指定するためのプロトコル指定情報と、当該特定の暗号化プロトコルに用いる特定の暗号鍵を指定するための暗号鍵指定情報と、が含まれている。
The encrypted communication path
このような暗号通信路開設コマンドCMDを受信した第1の暗号通信処理部110は、当該暗号通信路開設コマンドCMDに含まれているプロトコル指定情報によって指定された暗号化プロトコルおよび当該暗号通信路開設コマンドCMDに含まれている暗号鍵指定情報によって指定された暗号鍵を利用して、暗号通信を行うための暗号通信路を開設する処理を行うことになる。
The first encryption
たとえば、図示の例の場合、第2の暗号通信処理部210Aは、第1の暗号化プロトコルP1に基づく暗号通信機能を有しており、第2の暗号鍵格納部220Aには、当該プロトコルP1に用いるための暗号鍵Keys13が格納されている。したがって、暗号通信路開設指示部230Aは、第1の暗号化プロトコルP1を指定するプロトコル指定情報と、暗号鍵Keys13を指定する暗号鍵指定情報と、を含んだ暗号通信路開設コマンドCMDを第1の暗号通信処理部110に送信することになる。そして、そのような暗号通信路開設コマンドCMDを受信した第1の暗号通信処理部110は、指定された第1の暗号化プロトコルP1および指定された暗号鍵Keys13を利用して、暗号通信路の開設処理を行う。かくして、第1の情報処理装置100と第2の情報処理装置200Aとの間で、第1の暗号化プロトコルP1および暗号鍵Keys13を利用した暗号通信が実行される。
For example, in the illustrated example, the second encryption
本発明に係る情報処理システムの利点は、第1の情報処理装置100が、複数N通りの暗号化プロトコルに基づく暗号通信機能を有しているため、必要に応じて、用いる暗号化プロトコルを適宜変更することができる点である。図7は、本発明に係る情報処理システムの別な基本構成を示すブロック図である。図6に示す情報処理システムと図7に示す情報処理システムとの相違は、前者の第2の情報処理装置200Aが、後者では第2の情報処理装置200Bに置き換えられている点のみである。
An advantage of the information processing system according to the present invention is that, since the first
ここでは、この図7に示す例において、第2の情報処理装置200Bが、スマートフォン10Bである場合を考えてみよう。別言すれば、図6に示す情報処理システムにおけるSIMカード11をスマートフォン10Aから抜き取り、これを別なスマートフォン10Bに差し替えたものが、図7に示す情報処理システムということになる。
Here, in the example shown in FIG. 7, consider the case where the second
第2の情報処理装置200Bには、第1の暗号通信処理部110が開設した暗号通信路を利用して暗号通信を行う第2の暗号通信処理部210Bと、暗号鍵を格納する第2の暗号鍵格納部220Bと、第1の暗号通信処理部110に対して暗号通信路の開設を指示する暗号通信路開設指示部230Bとが設けられている。これら各構成要素210B,220B,230Bの基本的な機能は、図6に示す各構成要素210A,220A,230Aの基本的な機能と全く同じである。
The second
ただ、第2の暗号通信処理部210Bは、第1の暗号化プロトコルP1ではなく、第2の暗号化プロトコルP2のみに対応しており、この第2の暗号化プロトコルP2を特定の暗号化プロトコルとして、暗号通信を行う機能を有している。一方、第2の暗号鍵格納部220Bには、第2の暗号化プロトコルP2に用いる特定の暗号鍵として、2通りの暗号鍵Keys11およびKeys12が、鍵テーブルT2の形で格納されている。これらの暗号鍵Keys11,Keys12は、第1の暗号鍵格納部120の格納場所L11,L12に格納されている暗号鍵Keys11,Keys12と同一のものであり、実際には、前述したとおり、複数の暗号鍵の集合体によって構成されている。
However, the second encryption
暗号通信路開設指示部230Bは、前述した暗号通信路開設指示部230Aと同様に、暗号通信路の開設を指示するための暗号通信路開設コマンドCMDを第1の情報処理装置100に与える構成要素である。暗号通信路開設コマンドCMDには、第2の暗号通信処理部210Bが対応している特定の暗号化プロトコルを指定するためのプロトコル指定情報と、当該特定の暗号化プロトコルに用いる特定の暗号鍵を指定するための暗号鍵指定情報と、が含まれている。
The encryption communication path
具体的には、図示の例の場合、第2の暗号通信処理部210Bは、第2の暗号化プロトコルP2に基づく暗号通信機能を有しており、第2の暗号鍵格納部220Bには、当該プロトコルP2に用いるための暗号鍵Keys11,Keys12が格納されているので、暗号通信路開設指示部230Bは、第2の暗号化プロトコルP2を指定するプロトコル指定情報と、暗号鍵Keys11もしくはKeys12のいずれかを指定する暗号鍵指定情報と、を含んだ暗号通信路開設コマンドCMDを第1の暗号通信処理部110に送信することになる。
Specifically, in the illustrated example, the second encryption
そのような暗号通信路開設コマンドCMDを受信した第1の暗号通信処理部110は、指定された第2の暗号化プロトコルP2および指定された暗号鍵Keys11もしくはKeys12を利用して、暗号通信路の開設処理を行う。かくして、第1の情報処理装置100と第2の情報処理装置200Bとの間で、第2の暗号化プロトコルP2および暗号鍵Keys11もしくはKeys12を利用した暗号通信が実行される。もちろん、第2の暗号鍵格納部220Bに、より多数の暗号鍵を用意しておけば、暗号鍵指定情報によって指定可能な暗号鍵のバリエーションはより豊富になる。
The first cryptographic
結局、図6に示す実施例と図7に示す実施例とを参照すれば、全く同一のSIMカード11(第1の情報処理装置100)が、互いに異なる暗号化プロトコルを利用した暗号通信機能をもった2組のスマートフォン10A,10B(第2の情報処理装置200A,200B)のいずれに対しても暗号通信を行う機能をもつことになり、当該SIMカード11は、スマートフォン10Aに装着して用いることもできるし、スマートフォン10Bに装着して用いることもできる。すなわち、SIMカード11は、複数N通りの暗号化プロトコルの中から選択された任意の暗号化プロトコルに基づく暗号通信路を開設して、セキュアな通信を行うことが可能になる。
After all, referring to the embodiment shown in FIG. 6 and the embodiment shown in FIG. 7, the identical SIM card 11 (the first information processing apparatus 100) has an encrypted communication function using different encryption protocols. It will have a function of performing encryption communication to any of the two sets of smart phones 10A and 10B (the second
図8は、本発明に係る情報処理システムの更に別な基本構成を示すブロック図である。図6に示す情報処理システムと図8に示す情報処理システムとの相違は、前者の第2の情報処理装置200Aが、後者では第2の情報処理装置200Cに置き換えられている点のみである。
FIG. 8 is a block diagram showing still another basic configuration of the information processing system according to the present invention. The difference between the information processing system shown in FIG. 6 and the information processing system shown in FIG. 8 is only that the former second
ここでも、この図8に示す例において、第2の情報処理装置200Cが、スマートフォン10Cである場合を考えてみる。別言すれば、図6に示す情報処理システムにおけるSIMカード11をスマートフォン10Aから抜き取り、これを別なスマートフォン10Cに差し替えたものが、図8に示す情報処理システムということになる。
Here, in the example shown in FIG. 8, it is assumed that the second
第2の情報処理装置200Cには、第1の暗号通信処理部110が開設した暗号通信路を利用して暗号通信を行う第2の暗号通信処理部210Cと、暗号鍵を格納する第2の暗号鍵格納部220Cと、第1の暗号通信処理部110に対して暗号通信路の開設を指示する暗号通信路開設指示部230Cとが設けられている。これら各構成要素210C,220C,230Cの基本的な機能は、図6に示す各構成要素210A,220A,230Aの基本的な機能と全く同じである。
The second
ただ、第2の暗号通信処理部210Cは、少なくとも、第1の暗号通信処理部110に暗号通信機能が備わっている複数N通りの暗号化プロトコルのうちの複数M通り(M≦N)の暗号化プロトコルに基づく暗号通信を行う機能を有しており、当該M通りの暗号化プロトコルから選択された特定の暗号化プロトコルに基づく暗号通信を行うために開設された暗号通信路を介して第1の情報処理装置100との間で暗号通信を行うことができる。
However, the second cryptographic
M=Nに設定した場合、第2の暗号通信処理部210Cは、第1の暗号化プロトコルP1に基づく暗号通信路、第2の暗号化プロトコルP2に基づく暗号通信路、...、第Nの暗号化プロトコルPNに基づく暗号通信路のすべてを用いた暗号通信を行うことが可能になる。一方、M<Nに設定した場合は、第1の暗号通信処理部110が対応可能ないくつかの暗号化プロトコルについて、第2の暗号通信処理部210Cは対応できないことになる。
When M is set to N, the second cryptographic
図8には、便宜上、第1の暗号通信処理部110が対応可能なN通りのプロトコルのうち、第1の暗号化プロトコルP1〜第Mの暗号化プロトコルPMについては、第2の暗号通信処理部210Cも対応可能であるが、第(M+1)の暗号化プロトコルP(M+1)〜第Nの暗号化プロトコルPNについては、第2の暗号通信処理部210Cは対応できないという例が示されている。このように、第1の暗号通信処理部110は対応可能であるが、第2の暗号通信処理部210Cは対応できない暗号化プロトコルがいくつかあったとしても、暗号通信路開設指示部230Cにより、第2の暗号通信処理部210Cが対応可能ないずれかの暗号化プロトコル(図8の例の場合は、第1の暗号化プロトコルP1〜第Mの暗号化プロトコルPM)を指定するプロトコル指定情報を含む暗号通信路開設コマンドCMDを送信するようにすれば支障は生じない。
In FIG. 8, for convenience, the second encryption communication process is performed for the first encryption protocol P1 to the Mth encryption protocol PM among the N protocols that the first encryption
なお、第2の暗号通信処理部210Cに、第1の暗号通信処理部110が対応できない暗号化プロトコルが格納されていても、第1の情報処理装置100に対しては、当該暗号化プロトコルを指定する暗号通信路開設コマンドCMDを送信しないようにすれば支障は生じない。要するに、暗号通信路開設指示部230Cは、第1の暗号通信処理部110および第2の暗号通信処理部210Cの双方が対応可能な暗号化プロトコルを指定するプロトコル指定情報を含む暗号通信路開設コマンドCMDを送信するようにすればよい。
Note that even if an encryption protocol that can not be handled by the first encryption
一方、第2の暗号鍵格納部220Cは、暗号鍵を格納するための複数の格納場所を有し、これら複数の格納場所には、第1の情報処理装置100の第1の暗号鍵格納部120に格納されている「第2の暗号通信処理部210Cが対応可能なM通りの暗号化プロトコルのそれぞれに用いられる暗号鍵」と同一の暗号鍵が格納されている。たとえば、図示の例は、第1の暗号鍵格納部120に格納されている4組の暗号鍵のうち、Keys11,Keys12,Keys13の3組が、第2の暗号通信処理部210Cが対応可能なM通りの暗号化プロトコルのいずれかに用いられる暗号鍵になっている。したがって、第2の暗号鍵格納部220Cには、これら3組の暗号鍵Keys11,Keys12,Keys13が、鍵テーブルT2として格納されている。これらの暗号鍵Keys11,Keys12,Keys13は、第1の暗号鍵格納部120の格納場所L11,L12,L13に格納されている各暗号鍵と同一のものであり、実際には、前述したとおり、複数の暗号鍵の集合体によって構成されている。
On the other hand, the second encryption
暗号通信路開設指示部230Cは、前述した暗号通信路開設指示部230Aと同様に、暗号通信路の開設を指示するための暗号通信路開設コマンドCMDを第1の情報処理装置100に与える構成要素である。すなわち、暗号通信路開設指示部230Cは、第2の暗号通信処理部210Cが対応しているM通りの暗号化プロトコルから特定の暗号化プロトコルを選択し、第1の情報処理装置100に対して、選択された暗号化プロトコルに基づく暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドCMDを与える処理を行う。前述したとおり、この暗号通信路開設コマンドCMDには、上記M通りの暗号化プロトコルから選択された特定の暗号化プロトコルを指定するためのプロトコル指定情報と、当該特定の暗号化プロトコルに用いる特定の暗号鍵を指定するための暗号鍵指定情報と、が含まれている。
The cryptographic communication channel
具体的には、図示の例の場合、第2の暗号通信処理部210Cは、M通りの暗号化プロトコルに基づく暗号通信機能を有しており、第2の暗号鍵格納部220Cには、これらの各プロトコルに用いるための暗号鍵Keys11,Keys12,Keys13が格納されているので、暗号通信路開設指示部230Cは、M通りの暗号化プロトコルのうちの1つを指定するプロトコル指定情報と、暗号鍵Keys11,Keys12,Keys13のうち、当該指定された暗号化プロトコルに利用可能ないずれかの暗号鍵を指定する暗号鍵指定情報と、を含んだ暗号通信路開設コマンドCMDを第1の暗号通信処理部110に送信することになる。
Specifically, in the illustrated example, the second encryption
そのような暗号通信路開設コマンドCMDを受信した第1の暗号通信処理部110は、指定された特定の暗号化プロトコルおよび指定された特定の暗号鍵を利用して、暗号通信路の開設処理を行う。かくして、第1の情報処理装置100と第2の情報処理装置200Cとの間で、特定の暗号化プロトコルおよび特定の暗号鍵を利用した暗号通信が実行される。
The first cryptographic
通常、スマートフォンには、複数のアプリケーションプログラムがインストールされ、当該スマートフォンに装着されたICカード(SIMカード)は、これら複数のアプリケーションプログラムとの間で情報のやりとりを行うことになる。しかも、スマートフォンにインストールされた個々のアプリケーションプログラムが、互いに異なる暗号化プロトコルを前提とした暗号通信機能をもっていることも少なくない。 In general, a plurality of application programs are installed in a smartphone, and an IC card (SIM card) mounted on the smartphone exchanges information with the plurality of application programs. In addition, there are many cases where individual application programs installed in a smartphone have encryption communication functions based on different encryption protocols.
図8に示す情報処理システムは、このようなケースに適用する上で最適な実施例である。たとえば、スマートフォン10Cに、複数M個のアプリケーションプログラムがインストールされており、第1〜第Mのアプリケーションプログラムが、それぞれ第1〜第Mの暗号化プロトコルP1〜PMに基づく暗号通信機能を有していた場合、図8に示す第2の暗号通信処理部210Cは、これらM個のアプリケーションプログラムの各暗号通信機能によって実現されることになり、第2の暗号鍵格納部220Cには、これらM個のアプリケーションプログラムの各暗号通信機能に用いるための暗号鍵が格納されていることになる。
The information processing system shown in FIG. 8 is an optimum embodiment for applying to such a case. For example, a plurality of M application programs are installed in the smart phone 10C, and the first to Mth application programs each have an encryption communication function based on the first to Mth encryption protocols P1 to PM. In this case, the second encryption
この場合、スマートフォン10Cにインストールされている第1のアプリケーションプログラムがSIMカード11と交信する際には、暗号通信路開設指示部230Cによって、第1の暗号化プロトコルP1を指定するプロトコル指定情報と、これに用いる特定の暗号鍵を指定する暗号鍵指定情報と、を含んだ暗号通信路開設コマンドCMDを第1の暗号通信処理部110に送信すればよい。同様に、スマートフォン10Cにインストールされている第2のアプリケーションプログラムがSIMカード11と交信する際には、暗号通信路開設指示部230Cによって、第2の暗号化プロトコルP2を指定するプロトコル指定情報と、これに用いる特定の暗号鍵を指定する暗号鍵指定情報と、を含んだ暗号通信路開設コマンドCMDを第1の暗号通信処理部110に送信すればよい。
In this case, when the first application program installed in the smartphone 10C communicates with the
このように、図8に示す情報処理システムでは、スマートフォン10Cにインストールされている個々のアプリケーションプログラムが、それぞれ独自の暗号化プロトコルに基づいてSIMカード11との間に暗号通信路を開設し、暗号通信を行うことが可能になる。SIMカード11は、スマートフォン10C内の各アプリケーションプログラムが対応している複数M通りの暗号化プロトコルの中から、個々のアプリケーションプログラムごとに選択された任意の暗号化プロトコルに基いて暗号通信路を開設し、セキュアな通信を行うことが可能になる。
As described above, in the information processing system shown in FIG. 8, each application program installed in the smartphone 10C establishes an encryption communication path with the
<<< §3. ICカードの仕様を考慮した具体的な実施形態 >>>
§2で説明したとおり、本発明に係る情報処理システムの特徴は、第1の情報処理装置100に、複数N通りの暗号化プロトコルに基づく暗号通信を行う機能をもたせ、第2の情報処理装置200から第1の情報処理装置100に対して与える暗号通信路開設コマンドCMDに含ませたプロトコル指定情報によって特定の暗号化プロトコルを指定するようにした点にある。
<<< 3. 3. Specific embodiment considering IC card specification >>>
As described in Section 2, the feature of the information processing system according to the present invention is that the first
ただ、暗号通信を行う2組の情報処理装置のうちの一方がICカードである場合、本発明を適用する際に固有の工夫を施す必要がある。これは、§1で述べたとおり、現在普及している一般的なICカードは、Java Card(商標)やGlobalPlatform (登録商標)などの国際的な仕様に準拠させることが事実上不可欠になっているため、当該仕様に準拠した形式で、「複数N通りの暗号化プロトコルのうち、どの暗号化プロトコルに基づく暗号通信路を開設するのか」を指定するプロトコル指定情報を、ICカードへ伝達する必要があるためである。 However, in the case where one of the two sets of information processing apparatuses performing encrypted communication is an IC card, it is necessary to apply a unique idea when applying the present invention. This is because, as described in §1, it is practically essential that common IC cards in widespread use are compliant with international specifications such as Java Card (trademark) and GlobalPlatform (trademark). Therefore, it is necessary to transmit, to the IC card, protocol specification information specifying "in which encryption protocol based on which encryption protocol is to be established among a plurality of N kinds of encryption protocols" in a format compliant with the specification. There is
たとえば、暗号化プロトコルSCP01,SCP02,SCP03を採用した場合、ICカードに与える暗号通信路開設コマンドCMDの書式は、GlobalPlatform (登録商標)の仕様によれば、図4(b) に示すような形式にする必要がある。したがって、当該仕様に準拠する限り、この暗号通信路開設コマンドCMDに、特定の暗号化プロトコルを指定するプロトコル指定情報をそのまま付加することはできない。 For example, when the encryption protocols SCP01, SCP02 and SCP03 are adopted, the format of the encrypted communication path establishment command CMD given to the IC card is as shown in FIG. 4 (b) according to the specification of GlobalPlatform (registered trademark). You need to Therefore, as long as the specification is complied with, protocol specification information specifying a specific encryption protocol can not be added as it is to the encrypted communication path establishment command CMD.
たとえば、「INITIALIZE UPDATE,(キーバージョン番号),(乱数),(プロトコル指定情報)」のような書式をもった暗号通信路開設コマンドCMDを用いることができれば、(プロトコル指定情報)の部分に、たとえば、「SCP02」のような文字列を置くことにより、暗号化プロトコルSCP02が指定されたことをICカード側に伝達することが可能である。しかしながら、上記書式をもった暗号通信路開設コマンドCMDは、GlobalPlatform (登録商標)の仕様には準拠しないものになってしまうため、実用上、利用することができない。 For example, if it is possible to use an encrypted communication path open command CMD having a format such as "INITIALIZE UPDATE, (key version number), (random number), (protocol specification information)", in the (protocol specification information) part, For example, by placing a character string such as "SCP 02", it is possible to transmit to the IC card that the encryption protocol SCP 02 has been designated. However, since the encrypted communication path establishment command CMD having the above format is not compliant with the specifications of GlobalPlatform (registered trademark), it can not be practically used.
そこで、この§3では、上記事情に鑑みて、GlobalPlatform (登録商標)等の国際的な仕様に準拠しつつ、暗号通信路を開設する際に、ICカード側にプロトコル指定情報を伝達することができる具体的な実施形態を述べることにする。 Therefore, in this Section 3, in consideration of the above circumstances, protocol specification information may be transmitted to the IC card when establishing an encryption communication path while complying with international specifications such as GlobalPlatform (registered trademark). We will describe a specific embodiment that can be done.
<3−1.第1の実施形態>
暗号化プロトコルSCP01,SCP02,SCP03を採用した場合、ICカードに与える暗号通信路開設コマンドCMDの書式を図4(b) に示すような形式にすれば、仕様に準拠したものになる。そこで、第1の実施形態では、このような書式における「キーバージョン番号」の部分にプロトコル指定情報を含ませてしまう、という方法を採用する。
<3-1. First embodiment>
When the encryption protocols SCP01, SCP02 and SCP03 are adopted, if the format of the encrypted communication path establishment command CMD given to the IC card is as shown in FIG. 4 (b), it conforms to the specification. Therefore, in the first embodiment, a method is adopted in which the protocol specification information is included in the "key version number" portion in such a format.
そのために、まず、鍵テーブルに格納ゾーンを設定する。図6に示すように、SIMカード11には、鍵テーブルT1が含まれている。この鍵テーブルT1は、実際には、図3に例示したように、縦方向にキーバージョン番号(key version number)、横方向にキーID(key ID)を定義したマトリックスによって構成されたアドレス空間を構成する。
For this purpose, first, storage zones are set in the key table. As shown in FIG. 6, the
そこで、この鍵テーブルT1に、たとえば、図9(a) に示すようなN個の格納ゾーンZ1〜ZNを設定してみる。各格納ゾーンは、図のマトリックスにおける1行もしくは複数行の領域によって構成される。たとえば、第1番目の格納ゾーンZ1は、キーバージョン番号「0x01」で特定される1行分のゾーンであり、第i番目の格納ゾーンZiは、キーバージョン番号「0x20〜0x22」で特定される3行分のゾーンであり、第N番目の格納ゾーンZNは、キーバージョン番号「0x7E〜0x7F」で特定される2行分のゾーンである。 Therefore, for example, N storage zones Z1 to ZN as shown in FIG. 9A are set in the key table T1. Each storage zone is comprised of one or more rows of areas in the diagram matrix. For example, the first storage zone Z1 is a zone for one row identified by the key version number "0x01", and the i-th storage zone Zi is identified by the key version number "0x20-0x22" This is a zone for three lines, and the N-th storage zone ZN is a zone for two lines specified by the key version number “0x7E to 0x7F”.
こうして、N個の格納ゾーンを設定したら、これらN個の格納ゾーンZ1〜ZNを、それぞれ図6の第1の暗号通信処理部110に示されているN通りの暗号化プロトコルP1〜PNに対応づける。そして、第i番目(1≦i≦N)の格納ゾーンZiに所属する格納場所には、第i番目の暗号化プロトコルPiに用いる暗号鍵を格納する。
Thus, when N storage zones are set, these N storage zones Z1 to ZN correspond to N encryption protocols P1 to PN shown in the first encryption
図9(b) は、このようなゾーン設定の結果をまとめた表である。このような表は、SIMカード11側の第1の暗号通信処理部110内に格納しておくようにする。また、必要に応じて、スマートフォン10A側の暗号通信路開設指示部230A内にも格納しておくようにする。
FIG. 9 (b) is a table summarizing the results of such zone setting. Such a table is stored in the first encrypted
図示のとおり、第1番目の格納ゾーンZ1は、キーバージョン番号の数値範囲「0x01」で特定される1行分のゾーンであり、第1番目の暗号化プロトコルP1が対応づけられている。図9(a) に示す例では、この格納ゾーンZ1に暗号鍵KeyA〜KeyCが格納されているが、これらの暗号鍵はいずれも第1番目の暗号化プロトコルP1に用いる暗号鍵ということになる。 As illustrated, the first storage zone Z1 is a zone for one line specified by the numerical range "0x01" of the key version number, and is associated with the first encryption protocol P1. In the example shown in FIG. 9A, the encryption keys KeyA to KeyC are stored in the storage zone Z1, but these encryption keys are all encryption keys used for the first encryption protocol P1. .
同様に、第i番目の格納ゾーンZiは、キーバージョン番号の数値範囲「0x20〜0x22」で特定される3行分のゾーンであり、第i番目の暗号化プロトコルPiが対応づけられている。図9(a) に示す例では、この格納ゾーンZiに暗号鍵KeyD〜KeyLが格納されているが、これらの暗号鍵はいずれも第i番目の暗号化プロトコルPiに用いる暗号鍵ということになる。また、第N番目の格納ゾーンZNは、キーバージョン番号の数値範囲「0x7E〜0x7F」で特定される2行分のゾーンであり、第N番目の暗号化プロトコルPNが対応づけられている。図9(a) に示す例では、この格納ゾーンZNに暗号鍵KeyM〜KeyRが格納されているが、これらの暗号鍵はいずれも第N番目の暗号化プロトコルPNに用いる暗号鍵ということになる。 Similarly, the i-th storage zone Zi is a zone for three lines specified by the numerical range “0x20 to 0x22” of the key version number, and the i-th encryption protocol Pi is associated. In the example shown in FIG. 9A, the encryption keys KeyD to KeyL are stored in the storage zone Zi, but these encryption keys are all encryption keys used for the i-th encryption protocol Pi. . The N-th storage zone ZN is a two-line zone specified by the numerical range “0x7E to 0x7F” of the key version number, and is associated with the N-th encryption protocol PN. In the example shown in FIG. 9A, the encryption keys KeyM to KeyR are stored in the storage zone ZN, but these encryption keys are all encryption keys used for the Nth encryption protocol PN. .
鍵テーブルT1上に上述のようなゾーン設定を行えば、キーバージョン番号が特定されれば格納ゾーンが定まり、格納ゾーンが定まれば、対応づけられた暗号化プロトコルが定まることになる。すなわち、キーバージョン番号は、用いる暗号鍵を指定する暗号鍵指定情報としての役割を果たすだけでなく、用いる暗号化プロトコルを指定するプロトコル指定情報としての役割も兼ねることになる。これは、暗号通信路開設コマンドCMDによってキーバージョン番号を指定すれば、暗号化プロトコルの指定も併せて行うことができることを意味する。 If the zone setting as described above is performed on the key table T1, the storage zone is determined if the key version number is specified, and if the storage zone is determined, the associated encryption protocol is determined. That is, the key version number not only serves as encryption key specification information for specifying the encryption key to be used, but also serves as protocol specification information for specifying the encryption protocol to be used. This means that if a key version number is specified by the encrypted communication path establishment command CMD, specification of an encryption protocol can be performed together.
図10は、この第1の実施形態に用いられる暗号通信路開設コマンドCMDのデータ構造の一例を示す図である。図10(a) は、GlobalPlatform (登録商標)の仕様に準拠した暗号通信路開設コマンドCMDの基本的なデータ構造を示すものである。図示のとおり、暗号通信路開設コマンドCMDは、先頭から順に、「コマンド文字列情報」、「格納場所指定情報」、「乱数」を並べたものになる。 FIG. 10 is a diagram showing an example of the data structure of the encrypted communication path establishment command CMD used in the first embodiment. FIG. 10A shows the basic data structure of the encrypted communication path establishment command CMD conforming to the specifications of GlobalPlatform (registered trademark). As illustrated, the encrypted communication path establishment command CMD is an arrangement of “command character string information”, “storage location designation information”, and “random number” in order from the top.
ここで、「コマンド文字列情報」は、当該コマンドCMDを識別するための文字列であり、たとえば、暗号化プロトコルSCP01,SCP02,SCP03に基づく暗号通信路を開設するコマンドの場合は、前述したように、「INITIALIZE UPDATE」なる文字列が用いられる。続く「格納場所指定情報」は、暗号通信路の開設に用いる特定の暗号鍵を指定するための暗号鍵指定情報であり、図6に示す第1の暗号鍵格納部120内における特定の暗号鍵の格納場所を指定する情報である。図9に示すような鍵テーブルT1を用いて暗号鍵を格納する場合、「格納場所指定情報」は「キーバージョン番号」によって構成される。最後の「乱数」は、前述したとおり、スマートフォン10AがSIMカード11を正規の交信相手として認証するために利用されるデータである。
Here, “command string information” is a character string for identifying the command CMD, and, for example, in the case of a command for establishing an encrypted communication path based on the encryption protocols SCP01, SCP02, and SCP03, as described above, And the string "INITIALIZE UPDATE" is used. The following "storage location specification information" is encryption key specification information for specifying a specific encryption key used for opening the encryption communication path, and is a specific encryption key in the first encryption
したがって、暗号化プロトコルSCP01,SCP02,SCP03に基づく暗号通信路を開設する場合、暗号通信路開設コマンドCMDの書式は、図10(b) に示すようなものになる(図4(b) に示すものと同じ)。図10(c) は、「キーバージョン番号」および「乱数」の部分に具体的なデジタルデータを入れた例を示す。この例におけるキーバージョン番号「0x21」は、図9(a) に示す鍵テーブルT1内の格納場所(キーバージョン番号で特定される1行分のセル)を指定する格納場所指定情報であり、後続する乱数「0x1234ABCD」は、認証演算に用いられるデータである。 Therefore, when establishing an encrypted communication channel based on the encryption protocols SCP01, SCP02 and SCP03, the format of the encrypted communication channel open command CMD is as shown in FIG. 10 (b) (shown in FIG. 4 (b)). The same as things). FIG. 10 (c) shows an example in which specific digital data is inserted in the "key version number" and the "random number". The key version number “0x21” in this example is storage location designation information for designating a storage location in the key table T1 shown in FIG. 9A (one row of cells identified by the key version number). The random number “0x1234ABCD” is data used for the authentication operation.
図10(c) に示すキーバージョン番号「0x21」により、図9(a) に示す鍵テーブルT1における「0x21」の行(暗号鍵の格納場所)が特定される。しかも、図9(b) に示す表を参照すれば、「0x21」が所属する数値範囲「0x20〜0x22」は、第i番目の格納ゾーンZiに対応し、第i番目の暗号化プロトコルPiが対応づけられていることが認識できる。結局、図10(c) に示す暗号通信路開設コマンドCMDにおけるキーバージョン番号「0x21」は、直接的には、ICカードに対して、暗号鍵の格納場所(図9(a) のテーブルT1における特定の行)を指定する格納場所指定情報であるが、実際には、ICカードに対して、特定の暗号化プロトコルを指定するプロトコル指定情報としての役割と、特定の暗号鍵を指定する暗号鍵指定情報としての役割とを兼ねることになる。 The row of “0x21” (storage location of the encryption key) in the key table T1 shown in FIG. 9A is specified by the key version number “0x21” shown in FIG. 10C. Furthermore, referring to the table shown in FIG. 9 (b), the numerical range "0x20 to 0x22" to which "0x21" belongs corresponds to the i-th storage zone Zi, and the i-th encryption protocol Pi is It can be recognized that they are associated. As a result, the key version number "0x21" in the encrypted communication path establishment command CMD shown in FIG. 10C directly corresponds to the storage location of the encryption key in the IC card (table T1 in FIG. 9A). Storage location designation information for designating a particular line), but in practice, for the IC card, a role as protocol designation information for designating a particular encryption protocol, and an encryption key for designating a particular encryption key It will double as the role as designated information.
ここでは、より具体的に、3通りの暗号化プロトコルSCP01,SCP02,SCP03について、第1の格納ゾーンZ1がプロトコルSCP01に対応づけられ、第iの格納ゾーンZiがプロトコルSCP02に対応づけられ、第Nの格納ゾーンZNがプロトコルSCP03に対応づけられていたものとしよう。この場合、第1の格納ゾーンZ1に格納されている暗号鍵KeyA〜KeyCは、暗号化プロトコルSCP01に用いる暗号鍵であり、第iの格納ゾーンZiに格納されている暗号鍵KeyD〜KeyLは、暗号化プロトコルSCP02に用いる暗号鍵であり、第Nの格納ゾーンZNに格納されている暗号鍵KeyM〜KeyRは、暗号化プロトコルSCP03に用いる暗号鍵ということになる。 More specifically, for the three encryption protocols SCP01, SCP02 and SCP03, the first storage zone Z1 is associated with the protocol SCP01, the i-th storage zone Zi is associated with the protocol SCP02, and so on. Let N storage zone ZN be associated with protocol SCP03. In this case, the encryption keys KeyA to KeyC stored in the first storage zone Z1 are encryption keys used for the encryption protocol SCP01, and the encryption keys KeyD to KeyL stored in the i-th storage zone Zi are The encryption keys KeyM to KeyR that are encryption keys used for the encryption protocol SCP02 and stored in the N-th storage zone ZN are the encryption keys used for the encryption protocol SCP03.
このような前提で、スマートフォン10AからSIMカード11に対して、図10(c) に示すような暗号通信路開設コマンドCMDを送信すれば、これを受信した第1の暗号通信処理部110は、次のような方法で、特定の暗号鍵を用いて、特定の暗号化プロトコルに基づく暗号通信路を開設することができる。まず、第1の暗号通信処理部110は、先頭の文字列「INITIALIZE UPDATE」によって、当該コマンドが暗号通信路開設コマンドCMDであることを認識する。そして、続くキーバージョン番号「0x21」に基づいて、図9(b) に示すテーブルを参照することにより、当該キーバージョン番号「0x21」に対応する格納ゾーンZiを認識し、対応づけられた暗号化プロトコルPi(上例の場合、暗号化プロトコルSCP02)を認識する。
Under such a premise, if an encrypted communication path establishment command CMD as shown in FIG. 10C is transmitted from the smartphone 10A to the
そこで、第1の暗号通信処理部110は、暗号化プロトコルSCP02に基づく暗号通信路を開設するための処理(SDプログラムとして予め組み込まれているルーチン)を実行する。当該プロトコルでは、キーID「0x01〜0x03」で特定される3つの暗号鍵を用いることが予め定められているので、鍵テーブルT1から、キーバージョン番号「0x21」、キーID「0x01〜0x03」で特定されるセルに格納されている3組の暗号鍵KeyG,KeyH,KeyIを読出し、当該3組の暗号鍵を用いて暗号通信路を開設する。
Therefore, the first encryption
もちろん、スマートフォン10A側では、3組の暗号鍵KeyG,KeyH,KeyIを用いて、暗号化プロトコルSCP02に基づく暗号通信路を開設することを指示するための暗号通信路開設コマンドCMDを送信したわけだから、スマートフォン10Aは、これらの情報を参照することにより、当該3組の暗号鍵を用いて暗号化プロトコルSCP02に基づく暗号通信を行うことができる。かくして、両者間での暗号通信が開始される。 Of course, on the smart phone 10A side, an encrypted communication path establishment command CMD for instructing establishment of an encrypted communication path based on the encryption protocol SCP02 is transmitted using three sets of encryption keys KeyG, KeyH, and KeyI. The smartphone 10A can perform encrypted communication based on the encryption protocol SCP02 using the three sets of encryption keys by referring to the information. Thus, cryptographic communication between the two is started.
結局、図6に示す情報処理システムにおいて、第1の実施形態を実施するには、第1の暗号鍵格納部120には、まず、N通りの暗号化プロトコルに対応づけられたN個の格納ゾーンZ1〜ZNを設定しておき、第i番目(1≦i≦N)の格納ゾーンZiに所属する格納場所には、第i番目の暗号化プロトコルPiに用いる暗号鍵を格納しておくようにする。また、暗号通信路開設指示部230Aが送信する暗号通信路開設コマンドCMDには、特定の暗号鍵の格納場所を示す格納場所指定情報を含ませておくようにする。
After all, in the information processing system shown in FIG. 6, to implement the first embodiment, the first encryption
そして、当該暗号通信路開設コマンドCMDを受信した第1の暗号通信処理部110は、当該暗号通信路開設コマンドCMDに含まれている格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、上記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、上記格納場所指定情報によって示された格納場所が所属する格納ゾーンに対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設する処理を行うようにすればよい。
Then, the first encryption
図9に示す実施例は、第1の暗号鍵格納部120に、鍵テーブルT1の形式で暗号鍵を格納した例である。この例の場合、キーバージョン番号によって特定される複数の格納場所(鍵テーブルT1を構成する個々の行)が用意されており、個々の格納ゾーンは、1つもしくは複数の格納場所(鍵テーブルT1上での1行もしくは複数行)によって構成されている。この実施例の場合、暗号通信路開設コマンドCMDには、図10に示すように、格納場所指定情報として特定のキーバージョン番号を含ませておくようにする。そうすれば、第1の暗号通信処理部110は、このキーバージョン番号によって特定される格納場所(鍵テーブルT1の特定の行)に格納されている暗号鍵を用いて、当該キーバージョン番号によって示された格納場所が所属する格納ゾーンに対応する特定の暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設する処理を行うことができる。
The embodiment shown in FIG. 9 is an example in which the encryption key is stored in the form of the key table T1 in the first encryption
なお、ゾーン設定を行う場合、図9に示す例のように、個々の格納ゾーンを、1つの格納場所(鍵テーブル上の1行)もしくは連続するキーバージョン番号を有する複数の格納場所(鍵テーブル上で連続する複数行)によって構成するようにし、個々の格納ゾーンがキーバージョン番号の固有の数値範囲に対応づけられているようにするのが好ましい。もちろん、1つの格納ゾーンを、とびとびの格納場所(とびとびの行)の集合体として設定することも可能であるが、図9(a) に示すような連続した格納場所(連続した行)の集合体によって個々の格納ゾーンを構成しておけば、図9(b) に示すような数値範囲として個々の格納ゾーンを特定することができるため、格納ゾーンの認識処理が容易になる。 When zone setting is performed, as in the example shown in FIG. 9, each storage zone is divided into one storage location (one line on the key table) or a plurality of storage locations (key table having consecutive key version numbers) It is preferable to configure the above by a plurality of consecutive lines), and to make each storage zone correspond to a unique numerical range of key version numbers. Of course, it is also possible to set one storage zone as a collection of discrete storage locations (discrete rows), but a collection of consecutive storage locations (continuous rows) as shown in FIG. 9A. If individual storage zones are configured by the body, individual storage zones can be specified as numerical ranges as shown in FIG. 9 (b), which facilitates storage zone recognition processing.
また、図9に示す実施例の場合、第1の暗号鍵格納部120の各格納場所(鍵テーブル上の各行)には、それぞれキーIDによって特定される複数の格納庫(鍵テーブル上の各セル)が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されている。これは、暗号化プロトコルSCP01,SCP02,SCP03のように、複数の暗号鍵を必要とする暗号化プロトコルに対応するための配慮である。
Further, in the case of the embodiment shown in FIG. 9, in each storage location (each row on the key table) of the first encryption
このように、1つの格納場所(鍵テーブル上の1行)に複数の格納庫(鍵テーブル上の各セル)を用意し、個々の格納庫にそれぞれ別個の暗号鍵を格納できるようにしておけば、複数の暗号鍵を必要とする暗号化プロトコルに対応することが可能になる。この場合、第1の暗号通信処理部110は、暗号通信路開設コマンドCMDに含まれるキーバージョン番号によって特定される格納場所(鍵テーブル上の特定の行)内の格納庫(当該特定の行に所属する各セル)のうち、当該格納場所が所属する格納ゾーンに対応する暗号化プロトコルによって予め定められている所定のキーIDによって特定される格納庫に格納されている暗号鍵を利用して暗号通信路を開設することになる。
As described above, if a plurality of storages (each cell on the key table) are prepared in one storage location (one row on the key table), and it is possible to store separate encryption keys in each storage. It becomes possible to cope with encryption protocols that require multiple encryption keys. In this case, the first encrypted
たとえば、暗号化プロトコルSCP01,SCP02,SCP03の場合、3組の暗号鍵が用いられるので、予めキーID「0x01〜0x03」で特定される3つの暗号鍵を用いることを定めておけばよい。そうすれば、暗号化プロトコルSCP01,SCP02,SCP03が指定された場合には、キーID「0x01〜0x03」で特定されるセルに格納されている3組の暗号鍵を読出して利用することができる。 For example, in the case of the encryption protocols SCP01, SCP02, and SCP03, since three sets of encryption keys are used, it may be defined in advance that the three encryption keys specified by the key ID "0x01 to 0x03" should be used. Then, when the encryption protocols SCP01, SCP02, and SCP03 are specified, three sets of encryption keys stored in the cell identified by the key ID "0x01 to 0x03" can be read and used. .
このように、第1の実施形態は、2組の情報処理装置のうちの一方がICカードである場合に適しており、暗号通信路開設コマンドCMDに暗号鍵の格納場所を示す格納場所指定情報を含ませ、当該格納場所が所属する格納ゾーンによって暗号化プロトコルを指定する方法を採用しているため、ICカードについての国際的な仕様に準拠した暗号通信路開設コマンドを用いて、特定の暗号化プロトコルの選択をICカード側に伝達することが可能になる。 As described above, the first embodiment is suitable when one of the two sets of information processing apparatuses is an IC card, and storage location designation information indicating the storage location of the encryption key in the encryption communication path establishment command CMD. In this case, a method of specifying the encryption protocol according to the storage zone to which the storage location belongs is adopted, so that a specific encryption is performed using an encryption channel establishment command conforming to the international specification for the IC card. It is possible to transmit the selection of the communication protocol to the IC card side.
<3−2.第2の実施形態>
ここで述べる第2の実施形態は、ICカードの国際的な仕様として定められている暗号鍵の標準のデータ構造を利用して、ICカードに対してプロトコル指定情報を伝達するようにしたものである。図9(a) に示す鍵テーブルT1の個々の格納庫(セル)には、それぞれ別個の暗号鍵Keyが格納されている。図11は、このような暗号鍵Keyについて、国際的な仕様として定められているデータ構造を示す図である。
<3-2. Second embodiment>
In the second embodiment described here, protocol specification information is transmitted to an IC card using a standard data structure of an encryption key defined as an international specification of the IC card. is there. Separate storage keys (keys) are stored in the individual storages (cells) of the key table T1 shown in FIG. 9 (a). FIG. 11 shows a data structure defined as an international specification for such an encryption key Key.
すなわち、この仕様によると、個々の暗号鍵Keyを構成するデータは、図11(a) に示すような形式にすることが定められている。具体的には、暗号鍵Keyは、先頭から順に、「種別情報(key type)A」、「鍵長(key length)L」、「鍵値データ(key value)V」を並べたものになる。ここで、「鍵値データV」は、暗号鍵の本体部をなす部分であり、暗号化演算に用いられるデータそのものに相当する。「鍵長L」は、この「鍵値データV」の長さを示すためのバイト数の単位をもつデータであり、この「鍵長L」に基づいて、暗号鍵Keyから「鍵値データV」の抽出を行うことができる。そして、先頭の「種別情報A」は、当該暗号鍵を利用する暗号アルゴリズムの種別を示す種別情報であり、たとえば、「AES」,「DES」,「RSA」などの種別を含む情報によって構成される。 That is, according to this specification, it is defined that data constituting each encryption key Key has a format as shown in FIG. 11 (a). Specifically, the encryption key Key is an arrangement of “type information (key type) A”, “key length L”, and “key value data (key value V)” in order from the top. . Here, the “key value data V” is a portion that forms the main part of the encryption key, and corresponds to the data itself used for the encryption operation. The “key length L” is data having a unit of the number of bytes for indicating the length of the “key value data V”, and based on the “key length L”, the “key value data V Can be extracted. The first “type information A” is type information indicating the type of encryption algorithm that uses the encryption key, and, for example, is configured by information including types such as “AES”, “DES”, “RSA”, etc. Ru.
図11(b) ,(c) は、このような仕様に基づく暗号鍵Keyの具体的なデータ例を示す図である。図11(b) は、図9(a) に示す鍵テーブルT1において、キーバージョン番号「0x01」で特定される格納場所に格納された3組の暗号鍵KeyA,KeyB,KeyCのデータの実例を示している。ここで、暗号鍵KeyA,KeyB,KeyCは、それぞれキーID「0x01」,「0x02」,「0x03」で特定される格納庫(セル)に格納されている。一方、図11(c) は、図9(a) に示す鍵テーブルT1において、キーバージョン番号「0x21」で特定される格納場所に格納された3組の暗号鍵KeyG,KeyH,KeyIのデータの実例を示している。ここで、暗号鍵KeyG,KeyH,KeyIは、それぞれキーID「0x01」,「0x02」,「0x03」で特定される格納庫(セル)に格納されている。 FIGS. 11 (b) and 11 (c) show specific data examples of the encryption key Key based on such a specification. FIG. 11B shows an example of data of three sets of encryption keys KeyA, KeyB, and KeyC stored in the storage location specified by the key version number “0x01” in the key table T1 shown in FIG. 9A. It shows. Here, the encryption keys KeyA, KeyB and KeyC are stored in the storage (cell) specified by the key IDs “0x01”, “0x02” and “0x03”, respectively. On the other hand, FIG. 11C shows the data of the three sets of encryption keys KeyG, KeyH, and KeyI stored in the storage location specified by the key version number “0x21” in the key table T1 shown in FIG. An example is shown. Here, the encryption keys KeyG, KeyH and KeyI are stored in the storage (cell) specified by the key IDs “0x01”, “0x02” and “0x03”, respectively.
図11(b) に示す3組の暗号鍵KeyA,KeyB,KeyCは、いずれも「種別情報A」欄が「AES」となっており、暗号アルゴリズムとして、AES(Advanced Encryption Standard)なる暗号方式を採用する暗号化プロトコルに用いる暗号鍵であることを示している。一方、図11(c) に示す3組の暗号鍵KeyG,KeyH,KeyIは、いずれも「種別情報A」欄が「DES」となっており、暗号アルゴリズムとして、DES(Data Encryption Standard)なる暗号方式を採用する暗号化プロトコルに用いる暗号鍵であることを示している。いずれも、「鍵長L」は16バイトであり、「鍵値データV」は16バイトのデータによって構成されている。 In the three sets of encryption keys KeyA, KeyB, and KeyC shown in FIG. 11B, the “type information A” column is “AES”, and the encryption algorithm of AES (Advanced Encryption Standard) is used as the encryption algorithm. It shows that it is an encryption key used for the encryption protocol to be adopted. On the other hand, in the three sets of encryption keys KeyG, KeyH, and KeyI shown in FIG. 11C, the “type information A” column is “DES”, and the encryption algorithm is DES (Data Encryption Standard). It shows that it is an encryption key used for an encryption protocol that adopts the scheme. In each case, “key length L” is 16 bytes, and “key value data V” is configured by 16 bytes of data.
前述したとおり、ICカードにSDプログラムをインストールする際、従来は、インストール時点で、いずれか1つの暗号化プロトコルを選択し、インストール後は、当該選択された暗号化プロトコルに基づく暗号通信路のみが開設されるようにする、という運用が行われている。このような運用を行う上では、暗号鍵Keyに「種別情報A」をもたせておく必要はないが、仕様上は、「種別情報A」を含む暗号鍵Keyを用いることになっている。 As described above, when installing the SD program in the IC card, conventionally, any one encryption protocol is selected at the installation time, and after installation, only the encrypted communication path based on the selected encryption protocol is selected. There is an operation to make it open. In performing such an operation, it is not necessary to add “type information A” to the encryption key Key, but in terms of specifications, the encryption key Key including “type information A” is used.
ここで述べる第2の実施形態は、このような事情を考慮し、この暗号鍵Keyに含まれる「種別情報A」を利用してICカード側にプロトコル指定情報を伝達する、という方法を採用する。 In the second embodiment described here, in consideration of such circumstances, the method of transmitting the protocol specification information to the IC card side using “type information A” included in the encryption key Key is adopted. .
すなわち、この第2の実施形態では、第1の暗号鍵格納部120の各格納場所に、暗号化演算に用いられる鍵値データVと、暗号アルゴリズムの種別を示す種別情報Aと、を含む暗号鍵Keyを格納しておくようにし、暗号通信路開設指示部230Aが送信する暗号通信路開設コマンドCMDには、図10に示すように、特定の暗号鍵の格納場所を示す格納場所指定情報(具体的には、キーバージョン番号)を含ませておくようにする。図11に示す例の場合、第1の暗号鍵格納部120の各格納場所には、暗号化演算に用いられる鍵値データVと、暗号アルゴリズムの種別を示す種別情報Aと、鍵値データVの長さを示す鍵長Lと、を含む暗号鍵Keyが格納されており、鍵長Lに基づいて、暗号鍵Keyから適切な長さをもった鍵値データVの抽出を行うことができるようになっている。
That is, in this second embodiment, an encryption including key value data V used for the encryption operation and type information A indicating the type of the encryption algorithm in each storage location of the first encryption
一方、この暗号通信路開設コマンドCMDを受信した第1の暗号通信処理部110は、格納場所指定情報(キーバージョン番号)を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、当該格納場所指定情報によって示された格納場所に格納されている暗号鍵に含まれている鍵値データVを用いて、当該暗号鍵に含まれている種別情報Aによって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設する処理を行うようにする。
On the other hand, the first encryption
なお、図9に示す実施例の場合、第1の暗号鍵格納部120の各格納場所(鍵テーブル上の各行)には、それぞれキーIDによって特定される複数の格納庫(鍵テーブル上の各セル)が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されている。これは、暗号化プロトコルSCP01,SCP02,SCP03のように、複数の暗号鍵を必要とする暗号化プロトコルに対応するための配慮である。
In the case of the embodiment shown in FIG. 9, each storage location (each row on the key table) of the first encryption
このように、複数の暗号鍵を必要とする暗号化プロトコルに対応させる場合、同一の格納場所(鍵テーブルの同一行)に属する複数の格納庫(鍵テーブル上の各セル)に格納されている暗号鍵には、同一の種別情報Aが含まれるようにする。これは、同一の格納場所に属する複数の格納庫に格納されている暗号鍵は、同一の暗号化プロトコルに用いられる暗号鍵であるため、暗号アルゴリズムの種別を示す種別情報Aも当然同一にすべきためである。 As described above, when corresponding to an encryption protocol that requires a plurality of encryption keys, the encryption stored in a plurality of storages (each cell in the key table) belonging to the same storage location (the same row of the key table) The key is made to include the same type information A. This is because the encryption keys stored in a plurality of storages belonging to the same storage location are encryption keys used for the same encryption protocol, so type information A indicating the type of encryption algorithm should also be the same as a matter of course It is for.
たとえば、図11(b) に示す3組の暗号鍵KeyA〜KeyCは、いずれもキーバージョン番号「0x01」で特定される同一の格納場所に格納された暗号鍵であり、同一の暗号化プロトコルに用いられる暗号鍵である。したがって、これらの暗号鍵には、「AES」なる同一の種別情報Aが含まれている。同様に、図11(c) に示す3組の暗号鍵KeyG〜KeyIは、いずれもキーバージョン番号「0x21」で特定される同一の格納場所に格納された暗号鍵であり、同一の暗号化プロトコルに用いられる暗号鍵である。したがって、これらの暗号鍵には、「DES」なる同一の種別情報Aが含まれている。 For example, three sets of encryption keys KeyA to KeyC shown in FIG. 11 (b) are encryption keys stored in the same storage location specified by the key version number "0x01", and the same encryption protocol is used. It is an encryption key to be used. Therefore, the same type information A “AES” is included in these encryption keys. Similarly, the three sets of encryption keys KeyG to KeyI shown in FIG. 11C are encryption keys stored in the same storage location specified by the key version number “0x21”, and the same encryption protocol is used. Encryption key used in Therefore, the same type information A “DES” is included in these encryption keys.
したがって、第1の暗号通信処理部110が、暗号通信路を開設する際に、どの暗号化プロトコルが指定されているかを認識するには、暗号通信路開設コマンドCMDに含まれる暗号鍵指定情報(キーバージョン番号)によって特定される格納場所内のいずれの格納庫に格納されている暗号鍵に含まれる種別情報Aを参照してもかまわない。
Therefore, in order to recognize which encryption protocol is designated when the first cryptographic
たとえば、図10(c) に示すような暗号通信路開設コマンドCMDが与えられた場合、第1の暗号通信処理部110は、当該暗号通信路開設コマンドCMDに含まれるキーバージョン番号「0x21」によって特定される格納場所(鍵テーブルT1上のキーバージョン番号「0x21」に対応する行)内のいずれかの格納庫(セル)に格納されている暗号鍵Keyを読出し、そこに含まれている種別情報Aを参照することにより、どの暗号化プロトコルが指定されているかを認識することができる。具体的には、キーバージョン番号「0x21」に対応する行には、図11(c) に示す3組の暗号鍵KeyG,KeyH,KeyIが格納されているが、いずれも種別情報Aは「DES」になっているので、どの暗号鍵を参照した場合も、種別情報Aが「DES」であることを認識することができ、指定された暗号化プロトコルを認識することができる。
For example, when an encrypted communication path establishment command CMD as shown in FIG. 10C is given, the first encrypted
なお、種別情報Aとして格納されている情報は、あくまでも「暗号アルゴリズム」の種別を示す情報であって、「暗号化プロトコル」を示す情報ではない。しかも、「暗号アルゴリズム」と「暗号化プロトコル」との対応関係は、必ずしも1対1ではない。すなわち、特定の「暗号化プロトコル」は、特定の「暗号アルゴリズム」を利用した暗号化を行う手順であるが、特定の「暗号アルゴリズム」を利用した暗号化を行うプロトコルは1つだけとは限らない。具体例を挙げれば、たとえば、暗号化プロトコルSCP01と暗号化プロトコルSCP02とは、具体的な手順が異なるプロトコルであるが、いずれも「暗号アルゴリズム」としては「DES」(実際には、Triple-DES)を用いている。 The information stored as the type information A is information only indicating the type of “encryption algorithm” and is not information indicating “encryption protocol”. Moreover, the correspondence between the “encryption algorithm” and the “encryption protocol” is not necessarily one-to-one. That is, a specific "encryption protocol" is a procedure for performing encryption using a specific "encryption algorithm", but there is only one protocol for performing encryption using a specific "encryption algorithm" Absent. As a specific example, for example, the encryption protocol SCP01 and the encryption protocol SCP02 are protocols whose specific procedures are different, but both are “DES” as the “encryption algorithm” (in fact, Triple-DES ) Is used.
したがって、第1の暗号通信処理部110が対応しているN通りの暗号化プロトコルの中に、暗号アルゴリズムとして「DES」を用いるものが複数存在した場合には、第1の暗号通信処理部110は、種別情報Aが「DES」であることを認識しただけでは、1つの暗号化プロトコルを特定することはできない。具体的には、第1の暗号通信処理部110が、暗号化プロトコルSCP01と暗号化プロトコルSCP02との双方に対応していた場合、図11(c) に示す暗号鍵KeyG〜KeyIに基づいて暗号アルゴリズムが「DES」である旨が特定されたとしても、指定された暗号化プロトコルが、「SCP01」であるのか「SCP02」であるのかを特定することができない。
Therefore, when there are a plurality of N encryption protocols supported by the first encryption
このような問題を避けるためには、第1の暗号通信処理部110が対応するN通りの暗号化プロトコルの中には、同一の暗号アルゴリズムを用いるものは1つだけしか含まれないような設定を行うようにすればよい。たとえば、暗号アルゴリズム「DES」を用いる暗号化プロトコルとして「SCP01」を設定し、暗号アルゴリズム「AES」を用いる暗号化プロトコルとして「SCP03」を設定し、暗号アルゴリズム「RSA」を用いる暗号化プロトコルとして「SCP10」を設定し、第1の暗号通信処理部110が合計3通りの暗号化プロトコルに対応するような設定を行った場合、種別情報Aが「DES」,「AES」,「RSA」のいずれかであるかを認識することにより、1つの暗号化プロトコルを特定することが可能になる。
In order to avoid such a problem, among the N encryption protocols to which the first encryption
このように第2の実施形態に係る発明は、2組の情報処理装置のうちの一方がICカードである場合に適しており、暗号通信路開設コマンドCMDに暗号鍵の格納場所を示す格納場所指定情報を含ませ、特定の暗号鍵に含まれている種別情報Aによって暗号化プロトコルを指定する方法を採用しているため、ICカードについての国際的な仕様に準拠した暗号通信路開設コマンドを用いて、特定の暗号化プロトコルの選択をICカード側に伝達することが可能になる。 Thus, the invention according to the second embodiment is suitable when one of the two sets of information processing apparatuses is an IC card, and a storage location indicating the storage location of the encryption key in the encryption communication path establishment command CMD. Since the method of including specification information and specifying the encryption protocol by the type information A included in the specific encryption key is adopted, the encryption communication path establishment command conforming to the international specification for the IC card is used. Using this, it becomes possible to communicate the selection of a specific encryption protocol to the IC card side.
<3−3.第3の実施形態>
ここで述べる第3の実施形態は、ICカードの国際的な仕様として定められているコマンド文字列情報を利用して、ICカードに対してプロトコル指定情報を伝達するようにしたものである。
<3-3. Third embodiment>
In the third embodiment described here, protocol specification information is transmitted to an IC card using command character string information defined as an international specification of the IC card.
図12は、ICカードに関する仕様として定められている暗号通信路開設コマンドCMDのデータ構造を示す図である。当該仕様によれば、暗号通信路開設コマンドCMDは、図示のとおり、先頭から順に、「コマンド文字列情報」、「格納場所指定情報」、「乱数」を並べたものになる。 FIG. 12 is a diagram showing a data structure of an encrypted communication path establishment command CMD defined as a specification regarding an IC card. According to the specification, the encrypted communication path establishment command CMD is, as shown in the figure, arranged "command string information", "storage location designation information", and "random number" in order from the top.
前述したように、先頭の「コマンド文字列情報」は、当該コマンドが暗号通信路を開設するコマンドであることを示すための文字列である。続く「格納場所指定情報」は、暗号通信路の開設に用いる特定の暗号鍵を指定するための暗号鍵指定情報であり、図9に示すような鍵テーブルT1を用いて暗号鍵を格納する場合は「キーバージョン番号」によって構成される。最後の「乱数」は、前述したとおり、スマートフォン10AがSIMカード11を正規の交信相手として認証するために利用されるデータである。
As described above, the first “command character string information” is a character string for indicating that the command is a command for establishing an encrypted communication path. The following "storage location specification information" is encryption key specification information for specifying a specific encryption key used for opening an encryption communication path, and when storing an encryption key using a key table T1 as shown in FIG. Is configured by "key version number". The last “random number” is data used by the smartphone 10A to authenticate the
ここで、「コマンド文字列情報」に着目すると、GlobalPlatform (登録商標)や3GPP/ETSIなどの国際的な仕様では、暗号化プロトコルに応じて、複数通りの文字列が定められている。具体的には、暗号化プロトコルSCP01,SCP02,SCP03については、図12(b) に示すように、「INITIALIZE UPDATE」なる文字列を先頭におく暗号通信路開設コマンドCMDが定義されており、暗号化プロトコルSCP80については、図12(c) に示すように、「ENVELOPE」なる文字列を先頭におく暗号通信路開設コマンドCMDが定義されており、暗号化プロトコルSCP10については、図12(d) に示すように、「MANAGE SECURITY ENVIRONMENT」なる文字列を先頭におく暗号通信路開設コマンドCMDが定義されている(前述したとおり、これら各コマンドCMDのデータ構造は、便宜上、本発明の説明に必要な情報のみを抽出した概念的なデータ構造であり、実際のデータ構造それ自体を示すものではない)。 Here, focusing on "command string information", in international specifications such as GlobalPlatform (registered trademark) and 3GPP / ETSI, a plurality of character strings are defined according to the encryption protocol. Specifically, for the encryption protocols SCP01, SCP02, and SCP03, as shown in FIG. 12 (b), an encrypted communication path open command CMD is defined with the character string "INITIALIZE UPDATE" at the beginning, For the encryption protocol SCP80, as shown in FIG. 12 (c), an encrypted communication path establishment command CMD is defined with the character string "ENVELOPE" at the head, and for the encryption protocol SCP10, it is shown in FIG. 12 (d). As shown in the figure, an encrypted communication channel establishment command CMD is defined with the character string "MANAGE SECURITY ENVIRONMENT" at the beginning (as described above, the data structure of each command CMD is necessary for the description of the present invention for convenience. It is a conceptual data structure that extracts only specific information, not the actual data structure itself).
図13は、このようなコマンド文字列情報と暗号アルゴリズムの種別情報との対応関係を示す表であり、暗号化プロトコルSCP01,SCP02,SCP03,SCP10,SCP80のそれぞれについて、用いる暗号アルゴリズムの種別とコマンド文字列情報とが示されている。なお、この表における「SCPxx」は、現時点では、GlobalPlatform (登録商標)による仕様化はなされていないが、今後、策定される可能性のある暗号化プロトコルを示している。 FIG. 13 is a table showing the correspondence between the command string information and the type information of the encryption algorithm. The type and command of the encryption algorithm to be used for each of the encryption protocols SCP01, SCP02, SCP03, SCP10 and SCP80. String information is shown. Note that "SCPxx" in this table indicates an encryption protocol that may not be specified by GlobalPlatform (registered trademark) at present, but may be formulated in the future.
結局、GlobalPlatform (登録商標)等の国際的な仕様に準拠した暗号通信路開設コマンドCMDには、特定の暗号化プロトコルに基づく暗号通信路の開設を指示する文字列を示すコマンド文字列情報と、特定の暗号鍵の格納場所を示す格納場所指定情報と、が含まれているので、コマンド文字列情報の部分を利用すれば、ICカードに対して、特定の暗号化プロトコルを指定するためのプロトコル指定情報を伝達することが可能である。 After all, in the encrypted communication path establishment command CMD conforming to the international specification such as GlobalPlatform (registered trademark), command character string information indicating a character string instructing the establishment of the encrypted communication path based on the specific encryption protocol; Since storage location specification information indicating a storage location of a specific encryption key is included, a protocol for specifying a specific encryption protocol for an IC card by using a portion of command string information It is possible to transmit designated information.
すなわち、第1の暗号通信処理部110は、暗号通信路開設コマンドCMDに含まれるコマンド文字列情報をプロトコル指定情報として認識し、暗号通信路開設コマンドCMDに含まれる格納場所指定情報を暗号鍵指定情報として認識することにより、当該格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、当該コマンド文字列情報に対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することができる。
That is, the first encryption
もちろん、暗号通信路開設コマンドCMDに含まれる「コマンド文字列情報」は、必ずしも特定の「暗号化プロトコル」に1対1対応しているわけではない。たとえば、「INITIALIZE UPDATE」なる文字列を示すコマンド文字列情報は、図13の表に示されているとおり、現時点では、3通りの暗号化プロトコルSCP01,SCP02,SCP03に共通して用いられる情報であり、今後策定される新たな暗号化プロトコルにも用いられる可能性がある。 Of course, the “command character string information” included in the encrypted communication path establishment command CMD is not necessarily in one-to-one correspondence with a specific “encryption protocol”. For example, the command string information indicating the character string "INITIALIZE UPDATE" is information commonly used for the three encryption protocols SCP01, SCP02, and SCP03 at present, as shown in the table of FIG. Yes, it may also be used for new encryption protocols to be formulated in the future.
したがって、第1の暗号通信処理部110が対応しているN通りの暗号化プロトコルの中に、「INITIALIZE UPDATE」なるコマンド文字列情報を用いるものが複数存在した場合には、第1の暗号通信処理部110は、コマンド文字列情報が「INITIALIZE UPDATE」であることを認識しただけでは、1つの暗号化プロトコルを特定することはできない。具体的には、第1の暗号通信処理部110が、暗号化プロトコルSCP01,SCP02,SCP03に対応していた場合、「INITIALIZE UPDATE」なるコマンド文字列情報をもった暗号通信路開設コマンドCMDを受信しても、指定された暗号化プロトコルが、「SCP01」であるのか「SCP02」であるのか「SCP03」であるのかを特定することができない。
Therefore, when there are a plurality of N encryption protocols supported by the first encryption
このような問題を避けるためには、第1の暗号通信処理部110が対応するN通りの暗号化プロトコルの中には、同一のコマンド文字列情報を用いるものは1つだけしか含まれないような設定を行うようにすればよい。たとえば、コマンド文字列情報「INITIALIZE UPDATE」を用いる暗号化プロトコルとして「SCP01」を設定し、コマンド文字列情報「ENVELOPE」を用いる暗号化プロトコルとして「SCP80」を設定し、コマンド文字列情報「MANAGE SECURITY ENVIRONMENT」を用いる暗号化プロトコルとして「SCP10」を設定し、第1の暗号通信処理部110が合計3通りの暗号化プロトコルに対応するような設定を行った場合、コマンド文字列情報が、「INITIALIZE UPDATE」,「ENVELOPE」,「MANAGE SECURITY ENVIRONMENT」のいずれかであるかを認識することにより、1つの暗号化プロトコルを特定することが可能になる。
In order to avoid such a problem, among the N encryption protocols corresponding to the first encryption
なお、図9に示す実施例の場合、第1の暗号鍵格納部120の各格納場所(鍵テーブル上の各行)には、それぞれキーIDによって特定される複数の格納庫(鍵テーブル上の各セル)が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されている。これは、複数の暗号鍵を必要とする暗号化プロトコルに対応するための配慮である。
In the case of the embodiment shown in FIG. 9, each storage location (each row on the key table) of the first encryption
このように、1つの格納場所(鍵テーブル上の1行)に複数の格納庫(鍵テーブル上の各セル)を用意し、個々の格納庫にそれぞれ別個の暗号鍵を格納できるようにしておけば、複数の暗号鍵を必要とする暗号化プロトコルに対応することが可能になる。この場合、第1の暗号通信処理部110は、暗号通信路開設コマンドCMDに含まれるキーバージョン番号によって特定される格納場所(鍵テーブル上の特定の行)内の格納庫(当該特定の行に所属する各セル)のうち、暗号通信路開設コマンドCMDに含まれるコマンド文字列情報に対応する暗号化プロトコルによって予め定められている所定のキーIDによって特定される格納庫に格納されている暗号鍵を利用して暗号通信路を開設することになる。
As described above, if a plurality of storages (each cell on the key table) are prepared in one storage location (one row on the key table), and it is possible to store separate encryption keys in each storage. It becomes possible to cope with encryption protocols that require multiple encryption keys. In this case, the first encrypted
たとえば、暗号化プロトコルSCP01の場合、3組の暗号鍵が用いられるので、予めキーID「0x01〜0x03」で特定される3つの暗号鍵を用いることを定めておけばよい。そうすれば、暗号化プロトコルSCP01が指定された場合には、キーID「0x01〜0x03」で特定されるセルに格納されている3組の暗号鍵を読出して利用することができる。 For example, in the case of the encryption protocol SCP01, since three sets of encryption keys are used, it may be determined in advance that the three encryption keys specified by the key ID "0x01 to 0x03" should be used. Then, when the encryption protocol SCP01 is designated, three sets of encryption keys stored in the cell specified by the key ID “0x01 to 0x03” can be read out and used.
このように第3の実施形態に係る発明は、2組の情報処理装置のうちの一方がICカードである場合に適しており、暗号通信路開設コマンドに含まれるコマンド文字列情報によって暗号化プロトコルを指定する方法を採用しているため、ICカードについての国際的な仕様に準拠した暗号通信路開設コマンドを用いて、特定の暗号化プロトコルの選択をICカード側に伝達することが可能になる。 As described above, the invention according to the third embodiment is suitable when one of the two sets of information processing apparatuses is an IC card, and the encryption protocol is made based on the command character string information included in the encryption communication path establishment command. Is adopted, so that it is possible to transmit the selection of a specific encryption protocol to the IC card by using an encryption channel establishment command conforming to the international specification of the IC card. .
<<< §4. 方法発明としての実施形態 >>>
最後に、本発明を暗号通信方法という方法発明として把握した場合の実施形態を述べておく。図14は、本発明に係る暗号通信方法の基本手順を示す流れ図である。この暗号通信方法は、第1の情報処理装置と第2の情報処理装置との間で、所定の暗号化プロトコルに基づいた暗号通信を行う暗号通信方法であり、図示のとおり、プログラム準備段階S11,暗号鍵格納段階S12,暗号通信路開設指示段階S13,暗号通信路開設段階S14,暗号通信段階S15という各段階によって構成される。なお、この図14の流れ図における各ステップを示すブロックの右側の記載は、当該ステップが、図6に示す第1の情報処理装置100によって実行される手順であるのか、第2の情報処理装置200Aによって実行される手順であるのかを示している。
<<< 4. 4. Embodiment as Method Invention >>>
Finally, an embodiment in the case where the present invention is grasped as a method invention called an encryption communication method will be described. FIG. 14 is a flowchart showing the basic procedure of the cryptographic communication method according to the present invention. This encryption communication method is an encryption communication method for performing encryption communication based on a predetermined encryption protocol between the first information processing apparatus and the second information processing apparatus, and as shown in FIG. The encryption key storage step S12, the encryption communication path establishment instruction step S13, the encryption communication path establishment step S14, and the encryption communication step S15 are constituted. Note that the description on the right side of the block indicating each step in the flowchart of FIG. 14 is a procedure to be executed by the first
ステップS11のプログラム準備段階は、第1の情報処理装置100が、複数N通り(N≧2)の暗号化プロトコルに基づく暗号通信を行うプログラムを実行可能な状態に準備する段階である。具体的には、第1の情報処理装置100が、SIM11のようなICカードからなる場合、暗号通信機能はSDプログラムによって実現される。したがって、このステップS11のプログラム準備段階は、SDプログラムをインストールする処理によって行われる。従来は、SDプログラムをインストールする際に、1つの暗号化プロトコルを選択し、当該SDプログラムについては、専ら、この選択された特定の暗号化プロトコルを用いた「暗号通信路の開設」が行われるようにしていたが、本発明の場合、SDプログラムのインストール時に、複数N通りの暗号化プロトコルに基づく暗号通信が可能になるようにする。
The program preparation step in step S11 is a step in which the first
ステップS12の暗号鍵格納段階は、第1の情報処理装置100が、暗号鍵を格納するための複数の格納場所に、複数N通りの暗号化プロトコルのそれぞれに用いられる暗号鍵を格納する段階である。具体的には、第1の暗号鍵格納部120に、図3に示すような鍵テーブルTが格納されることになる。
The encryption key storage step of step S12 is a step in which the first
ステップS13の暗号通信路開設指示段階は、第2の情報処理装置200Aが、第1の情報処理装置100に対して、ステップS11のプログラム準備段階で準備されたN通りの暗号化プロトコルから選択された特定の暗号化プロトコルに基づいて、ステップS12の暗号鍵格納段階で特定の格納場所に格納された特定の暗号鍵を用いた暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドCMDを送信する段階である。この暗号通信路開設指示段階では、特定の暗号化プロトコルを指定するためのプロトコル指定情報と、特定の暗号鍵を指定するための暗号鍵指定情報と、を含んだ暗号通信路開設コマンドCMDが送信されることになる。
In the encryption communication path establishment instruction step of step S13, the second
ステップS14の暗号通信路開設段階は、第1の情報処理装置100が、受信した暗号通信路開設コマンドCMDに基づいて、特定の暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設する段階である。すなわち、暗号通信路開設コマンドCMDに含まれているプロトコル指定情報によって指定された暗号化プロトコルおよび暗号通信路開設コマンドCMDに含まれている暗号鍵指定情報によって指定された暗号鍵を利用して暗号通信を行うための暗号通信路を開設する処理が行われる。ここで、暗号通信路を開設する処理とは、実際には、特定の暗号鍵を用いて特定の暗号化プロトコルにより、送信データを暗号化し、受信データを復号するための準備を行う処理ということになる。
In the enciphered communication channel establishment step of step S14, the first
ステップS15の暗号通信段階は、第1の情報処理装置100および第2の情報処理装置200Aが、ステップS14で開設された暗号通信路を介して暗号通信を行う段階である。実際には、送信時には、送信データを暗号化して送信し、受信時には、受信データを復号して取り込む処理が行われる。
The encryption communication step of step S15 is a step in which the first
§3では、この流れ図に示す手順のうち、ステップS13の暗号通信路開設指示段階の処理を行う場合に、GlobalPlatform (登録商標)等の国際的な仕様に準拠しつつ、ICカード(第1の情報処理装置100)側にプロトコル指定情報を伝達することができる具体的な実施形態を3通り述べた。ここでは、この3通りの実施形態を、暗号通信方法という方法発明として把握して説明する。 In §3, when performing the processing of the encryption communication path establishment instruction step of step S13 among the procedures shown in this flowchart, the IC card (first one) is compliant with the international specifications such as GlobalPlatform (registered trademark). Three specific embodiments in which the protocol specification information can be transmitted to the information processing apparatus 100) have been described. Here, these three embodiments are grasped and described as a method invention called a cryptographic communication method.
まず、第1の実施形態では、ステップS12の暗号鍵格納段階において、N通りの暗号化プロトコルに対応づけられたN個の格納ゾーンを設定し、第i番目(1≦i≦N)の格納ゾーンZiに所属する格納場所には、第i番目の暗号化プロトコルPiに用いる暗号鍵を格納する処理を行い、ステップS13の暗号通信路開設指示段階において、特定の暗号鍵の格納場所を示す格納場所指定情報(キーバージョン番号)を含んだ暗号通信路開設コマンドCMDを送信する。そして、ステップS14の暗号通信路開設段階において、暗号通信路開設コマンドCMDに含まれている格納場所指定情報(キーバージョン番号)を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、当該格納場所指定情報(キーバージョン番号)によって示された格納場所に格納されている暗号鍵を用いて、当該格納場所指定情報(キーバージョン番号)によって示された格納場所が所属する格納ゾーンに対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設すればよい。 First, in the first embodiment, in the encryption key storage step of step S12, N storage zones corresponding to N encryption protocols are set, and the i-th (1 ≦ i ≦ N) storage is performed. The storage location belonging to the zone Zi is subjected to processing for storing the encryption key used for the i-th encryption protocol Pi, and storage indicating the storage location of the specific encryption key in the encryption communication path establishment instruction step of step S13. An encrypted communication path establishment command CMD including location specification information (key version number) is transmitted. Then, in the encryption communication path establishment step of step S14, the storage location designation information (key version number) included in the encryption communication path establishment command CMD is information having the roles of both of the protocol designation information and the encryption key designation information. The storage location indicated by the storage location designation information (key version number) belongs using the encryption key stored in the storage location indicated by the storage location designation information (key version number). An encrypted communication path for performing encrypted communication based on the encryption protocol corresponding to the storage zone may be established.
一方、第2の実施形態では、ステップS12の暗号鍵格納段階において、暗号化演算に用いられる鍵値データVと、暗号アルゴリズムの種別を示す種別情報Aと、を含む暗号鍵を格納し、ステップS13の暗号通信路開設指示段階において、特定の暗号鍵の格納場所を示す格納場所指定情報(キーバージョン番号)を含んだ暗号通信路開設コマンドCMDを送信する。そして、ステップS14の暗号通信路開設段階において、暗号通信路開設コマンドCMDに含まれている格納場所指定情報(キーバージョン番号)を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、当該格納場所指定情報(キーバージョン番号)によって示された格納場所に格納されている暗号鍵に含まれている鍵値データVを用いて、当該暗号鍵に含まれている種別情報Aによって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設すればよい。 On the other hand, in the second embodiment, at the encryption key storage step of step S12, an encryption key including key value data V used for the encryption operation and type information A indicating the type of encryption algorithm is stored. In the encryption communication path establishment instruction step of S13, an encryption communication path establishment command CMD including storage location designation information (key version number) indicating a storage location of a specific encryption key is transmitted. Then, in the encryption communication path establishment step of step S14, the storage location designation information (key version number) included in the encryption communication path establishment command CMD is information having the roles of both of the protocol designation information and the encryption key designation information. Type information included in the encryption key using key value data V included in the encryption key stored in the storage location indicated by the storage location specification information (key version number) An encrypted communication path for performing encrypted communication based on the encryption protocol indicated by A may be established.
最後に、第3の実施形態では、ステップS13の暗号通信路開設指示段階において、特定の暗号化プロトコルに基づく暗号通信路の開設を指示する文字列を示すコマンド文字列情報と、特定の暗号鍵の格納場所を示す格納場所指定情報(キーバージョン番号)と、を含んだ暗号通信路開設コマンドCMDを送信する。そして、ステップS14の暗号通信路開設段階において、暗号通信路開設コマンドCMDに含まれているコマンド文字列情報をプロトコル指定情報として認識し、暗号通信路開設コマンドCMDに含まれている格納場所指定情報(キーバージョン番号)を暗号鍵指定情報として認識することにより、当該格納場所指定情報(キーバージョン番号)によって示された格納場所に格納されている暗号鍵を用いて、当該コマンド文字列情報に対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設すればよい。 Finally, in the third embodiment, in the step of instructing the establishment of an encrypted communication path in step S13, command character string information indicating a character string instructing the establishment of an encrypted communication path based on a specific encryption protocol, and a specific encryption key And an encrypted communication path establishment command CMD including storage location designation information (key version number) indicating the storage location of. Then, in the encryption communication path establishment step of step S14, the command character string information included in the encryption communication path establishment command CMD is recognized as the protocol designation information, and the storage location designation information contained in the encryption communication path establishment command CMD. By recognizing (key version number) as encryption key specification information, the command character string information is supported using the encryption key stored in the storage location indicated by the storage location specification information (key version number). It is sufficient to establish an encryption communication path for performing encryption communication based on the encryption protocol.
10,10A〜10C:スマートフォン
11:SIMカード
20:外部サーバ
100:第1の情報処理装置
110:第1の暗号通信処理部
120:第1の暗号鍵格納部
200,200A〜200C:第2の情報処理装置
210A〜210C:第2の暗号通信処理部
220A〜220C:第2の暗号鍵格納部
230A〜230C:暗号通信路開設指示部
A:種別情報
AP1〜AP3:アプリケーションプログラム
CMD:暗号通信路開設コマンド
Key,KeyA〜KeyR:暗号鍵
Keys,Keys11〜Keys14:暗号鍵群
L:鍵長
L11〜L14:格納場所
P1,P2,Pi,PN,PM:暗号化プロトコル
R1,R2:暗号通信路開設ルーチン
S1〜S6:ダイアグラムの各ステップ
S11〜S15:流れ図の各ステップ
T,T1,T2:鍵テーブル
V:鍵値データ
Z1,Zi,ZN:格納ゾーン
10, 10A to 10C: smartphone 11: SIM card 20: external server 100: first information processing apparatus 110: first encryption communication processing unit 120: first encryption
Claims (14)
前記第1の情報処理装置は、
複数N通り(N≧2)の暗号化プロトコルに基づく暗号通信を行う機能を有し、前記N通りの暗号化プロトコルのうち、前記第2の情報処理装置から指定された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設し、開設された暗号通信路を介して前記第2の情報処理装置との間で暗号通信を行う第1の暗号通信処理部と、
暗号鍵を格納するための複数の格納場所を有し、これら複数の格納場所に、前記複数N通りの暗号化プロトコルのそれぞれに用いられる暗号鍵を格納した第1の暗号鍵格納部と、
を有し、
前記第2の情報処理装置は、
前記複数N通りの暗号化プロトコルのうちの少なくとも1つの特定の暗号化プロトコルに基づく暗号通信を行う機能を有し、当該特定の暗号化プロトコルに基づく暗号通信を行うために開設された暗号通信路を介して前記第1の情報処理装置との間で暗号通信を行う第2の暗号通信処理部と、
前記特定の暗号化プロトコルに用いられる暗号鍵を格納した第2の暗号鍵格納部と、
前記第1の情報処理装置に対して、暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドを与える暗号通信路開設指示部と、
を有し、
前記暗号通信路開設コマンドには、前記特定の暗号化プロトコルを指定するためのプロトコル指定情報と、前記特定の暗号鍵を指定するための暗号鍵指定情報と、が含まれており、
前記第1の暗号通信処理部は、前記暗号通信路開設コマンドに含まれている前記プロトコル指定情報によって指定された暗号化プロトコルおよび前記暗号通信路開設コマンドに含まれている前記暗号鍵指定情報によって指定された暗号鍵を利用して暗号通信を行うための暗号通信路を開設し、
前記第1の暗号鍵格納部には、前記N通りの暗号化プロトコルに対応づけられたN個の格納ゾーンが設定されており、第i番目(1≦i≦N)の格納ゾーンに所属する格納場所には、第i番目の暗号化プロトコルに用いる暗号鍵が格納されており、
前記暗号通信路開設コマンドには、特定の暗号鍵の格納場所を示す格納場所指定情報が含まれており、
前記第1の暗号通信処理部は、前記格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、前記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、前記格納場所指定情報によって示された格納場所が所属する格納ゾーンに対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設し、
前記第1の暗号鍵格納部には、キーバージョン番号によって特定される複数の格納場所が用意されており、個々の格納ゾーンは、1つもしくは複数の格納場所によって構成され、
前記暗号通信路開設コマンドには、格納場所指定情報として特定のキーバージョン番号が含まれており、
前記第1の暗号通信処理部は、前記キーバージョン番号によって特定される格納場所に格納されている暗号鍵を用いて、前記キーバージョン番号によって示された格納場所が所属する格納ゾーンに対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することを特徴とする情報処理システム。 An information processing system comprising a first information processing apparatus and a second information processing apparatus, and capable of performing cryptographic communication based on a predetermined encryption protocol between the two,
The first information processing apparatus is
It has a function of performing encryption communication based on a plurality N (N ≧ 2) encryption protocols, and among the N encryption protocols, an encryption based on an encryption protocol specified by the second information processing apparatus A first encrypted communication processing unit that establishes an encrypted communication path for performing communication and performs encrypted communication with the second information processing apparatus via the opened encrypted communication path;
A first encryption key storage unit having a plurality of storage locations for storing encryption keys, the plurality of storage locations storing encryption keys used for each of the plurality of N encryption protocols;
Have
The second information processing apparatus is
It has a function to perform encryption communication based on at least one specific encryption protocol among the plurality of N encryption protocols, and an encrypted communication channel established for performing encryption communication based on the specific encryption protocol A second encryption communication processing unit that performs encryption communication with the first information processing apparatus via:
A second encryption key storage unit storing an encryption key used for the specific encryption protocol;
An encrypted communication path establishment instructing unit for giving an encrypted communication path establishment command for instructing the first information processing apparatus to establish an encrypted communication path for performing encrypted communication;
Have
The encrypted communication path establishment command includes protocol specification information for specifying the specific encryption protocol, and encryption key specification information for specifying the specific encryption key.
The first encryption communication processing unit is configured to use the encryption protocol specified by the protocol specification information included in the encryption communication path establishment command and the encryption key specification information included in the encryption communication path establishment command. Establish an encrypted communication path for encrypted communication using the designated encryption key ,
In the first encryption key storage unit, N storage zones corresponding to the N encryption protocols are set, and the first encryption key storage unit belongs to an i-th (1 ≦ i ≦ N) storage zone. The storage location stores the encryption key used for the i-th encryption protocol,
The encrypted communication path establishment command includes storage location designation information indicating a storage location of a specific encryption key,
The first encryption communication processing unit recognizes the storage location designation information as information having both roles of protocol designation information and encryption key designation information, and stores the storage location designation information in the storage location indicated by the storage location designation information. Establishing an encryption communication path for performing encryption communication based on the encryption protocol corresponding to the storage zone to which the storage location indicated by the storage location designation information belongs, using the encryption key being stored;
The first encryption key storage unit is provided with a plurality of storage locations specified by a key version number, and each storage zone is constituted by one or more storage locations,
The encrypted communication path establishment command includes a specific key version number as storage location designation information,
The first encryption communication processing unit uses the encryption key stored in the storage location specified by the key version number, and uses the encryption key corresponding to the storage zone to which the storage location indicated by the key version number belongs. An information processing system characterized by establishing an encryption communication path for performing encryption communication based on an encryption protocol.
個々の格納ゾーンが、1つの格納場所もしくは連続するキーバージョン番号を有する複数の格納場所によって構成され、個々の格納ゾーンがキーバージョン番号の固有の数値範囲に対応づけられていることを特徴とする情報処理システム。 In the information processing system according to claim 1 ,
Each storage zone is composed of a single storage location or a plurality of storage locations having consecutive key version numbers, and each storage zone is characterized by being associated with a unique numerical range of the key version numbers. Information processing system.
第1の暗号鍵格納部の各格納場所には、それぞれキーIDによって特定される複数の格納庫が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されており、
第1の暗号通信処理部は、暗号通信路開設コマンドに含まれるキーバージョン番号によって特定される格納場所内の格納庫のうち、当該格納場所が所属する格納ゾーンに対応する暗号化プロトコルによって予め定められている所定のキーIDによって特定される格納庫に格納されている暗号鍵を利用して暗号通信路を開設することを特徴とする情報処理システム。 In the information processing system according to claim 1 or 2 ,
In each storage location of the first encryption key storage unit, a plurality of storages respectively specified by key IDs are prepared, and in the whole or a part of the plurality of storages, different encryption keys are stored. Yes,
The first encryption communication processing unit is predetermined by the encryption protocol corresponding to the storage zone to which the storage location belongs, among the storages in the storage location specified by the key version number included in the encryption communication path establishment command. An information processing system characterized by establishing an encryption communication path using an encryption key stored in a storage identified by a predetermined key ID.
前記第1の情報処理装置は、
複数N通り(N≧2)の暗号化プロトコルに基づく暗号通信を行う機能を有し、前記N通りの暗号化プロトコルのうち、前記第2の情報処理装置から指定された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設し、開設された暗号通信路を介して前記第2の情報処理装置との間で暗号通信を行う第1の暗号通信処理部と、
暗号鍵を格納するための複数の格納場所を有し、これら複数の格納場所に、前記複数N通りの暗号化プロトコルのそれぞれに用いられる暗号鍵を格納した第1の暗号鍵格納部と、
を有し、
前記第2の情報処理装置は、
前記複数N通りの暗号化プロトコルのうちの少なくとも1つの特定の暗号化プロトコルに基づく暗号通信を行う機能を有し、当該特定の暗号化プロトコルに基づく暗号通信を行うために開設された暗号通信路を介して前記第1の情報処理装置との間で暗号通信を行う第2の暗号通信処理部と、
前記特定の暗号化プロトコルに用いられる暗号鍵を格納した第2の暗号鍵格納部と、
前記第1の情報処理装置に対して、暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドを与える暗号通信路開設指示部と、
を有し、
前記暗号通信路開設コマンドには、前記特定の暗号化プロトコルを指定するためのプロトコル指定情報と、前記特定の暗号鍵を指定するための暗号鍵指定情報と、が含まれており、
前記第1の暗号通信処理部は、前記暗号通信路開設コマンドに含まれている前記プロトコル指定情報によって指定された暗号化プロトコルおよび前記暗号通信路開設コマンドに含まれている前記暗号鍵指定情報によって指定された暗号鍵を利用して暗号通信を行うための暗号通信路を開設し、
前記第1の暗号鍵格納部の各格納場所には、暗号化演算に用いられる鍵値データと、暗号アルゴリズムの種別を示す種別情報と、を含む暗号鍵が格納されており、
前記暗号通信路開設コマンドには、特定の暗号鍵の格納場所を示す格納場所指定情報が含まれており、
前記第1の暗号通信処理部は、前記格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、前記格納場所指定情報によって示された格納場所に格納されている暗号鍵に含まれている鍵値データを用いて、当該暗号鍵に含まれている種別情報によって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することを特徴とする情報処理システム。 An information processing system comprising a first information processing apparatus and a second information processing apparatus, and capable of performing cryptographic communication based on a predetermined encryption protocol between the two,
The first information processing apparatus is
It has a function of performing encryption communication based on a plurality N (N ≧ 2) encryption protocols, and among the N encryption protocols, an encryption based on an encryption protocol specified by the second information processing apparatus A first encrypted communication processing unit that establishes an encrypted communication path for performing communication and performs encrypted communication with the second information processing apparatus via the opened encrypted communication path;
A first encryption key storage unit having a plurality of storage locations for storing encryption keys, the plurality of storage locations storing encryption keys used for each of the plurality of N encryption protocols;
Have
The second information processing apparatus is
It has a function to perform encryption communication based on at least one specific encryption protocol among the plurality of N encryption protocols, and an encrypted communication channel established for performing encryption communication based on the specific encryption protocol A second encryption communication processing unit that performs encryption communication with the first information processing apparatus via:
A second encryption key storage unit storing an encryption key used for the specific encryption protocol;
An encrypted communication path establishment instructing unit for giving an encrypted communication path establishment command for instructing the first information processing apparatus to establish an encrypted communication path for performing encrypted communication;
Have
The encrypted communication path establishment command includes protocol specification information for specifying the specific encryption protocol, and encryption key specification information for specifying the specific encryption key.
The first encryption communication processing unit is configured to use the encryption protocol specified by the protocol specification information included in the encryption communication path establishment command and the encryption key specification information included in the encryption communication path establishment command. Establish an encrypted communication path for encrypted communication using the designated encryption key ,
Each storage location of the first encryption key storage unit stores an encryption key including key value data used for encryption operation and type information indicating the type of encryption algorithm,
The encrypted communication path establishment command includes storage location designation information indicating a storage location of a specific encryption key,
The first encryption communication processing unit recognizes the storage location designation information as information having both roles of protocol designation information and encryption key designation information, and stores the storage location designation information in the storage location indicated by the storage location designation information. Establishing an encrypted communication path for performing encrypted communication based on the encryption protocol indicated by the type information included in the encryption key using key value data included in the encryption key being stored. Information processing system characterized by
第1の暗号鍵格納部の各格納場所には、暗号化演算に用いられる鍵値データと、暗号アルゴリズムの種別を示す種別情報と、前記鍵値データの長さを示す鍵長と、を含む暗号鍵が格納されており、
第1の暗号通信処理部は、前記鍵長に基づいて、暗号鍵から鍵値データの抽出を行うことを特徴とする情報処理システム。 In the information processing system according to claim 4 ,
Each storage location of the first encryption key storage unit includes key value data used for an encryption operation, type information indicating the type of encryption algorithm, and a key length indicating the length of the key value data. An encryption key is stored,
An information processing system characterized in that a first encryption communication processing unit extracts key value data from an encryption key based on the key length.
第1の暗号鍵格納部の各格納場所には、それぞれキーIDによって特定される複数の格納庫が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されており、同一の格納場所に属する複数の格納庫に格納されている暗号鍵には、同一の種別情報が含まれており、
第1の暗号通信処理部は、暗号通信路開設コマンドに含まれる暗号鍵指定情報によって特定される格納場所内のいずれかの格納庫に格納されている暗号鍵に含まれる種別情報によって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することを特徴とする情報処理システム。 In the information processing system according to claim 4 or 5 ,
In each storage location of the first encryption key storage unit, a plurality of storages respectively specified by key IDs are prepared, and in the whole or a part of the plurality of storages, different encryption keys are stored. The same type information is included in the encryption keys stored in multiple storages belonging to the same storage location.
The first encryption communication processing unit is configured to use the encryption indicated by the type information included in the encryption key stored in any storage in the storage location specified by the encryption key specification information included in the encryption communication path establishment command. An information processing system characterized by establishing an encryption communication path for performing encryption communication based on an encryption protocol.
前記第1の情報処理装置は、
複数N通り(N≧2)の暗号化プロトコルに基づく暗号通信を行う機能を有し、前記N通りの暗号化プロトコルのうち、前記第2の情報処理装置から指定された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設し、開設された暗号通信路を介して前記第2の情報処理装置との間で暗号通信を行う第1の暗号通信処理部と、
暗号鍵を格納するための複数の格納場所を有し、これら複数の格納場所に、前記複数N通りの暗号化プロトコルのそれぞれに用いられる暗号鍵を格納した第1の暗号鍵格納部と、
を有し、
前記第2の情報処理装置は、
前記複数N通りの暗号化プロトコルのうちの少なくとも1つの特定の暗号化プロトコルに基づく暗号通信を行う機能を有し、当該特定の暗号化プロトコルに基づく暗号通信を行うために開設された暗号通信路を介して前記第1の情報処理装置との間で暗号通信を行う第2の暗号通信処理部と、
前記特定の暗号化プロトコルに用いられる暗号鍵を格納した第2の暗号鍵格納部と、
前記第1の情報処理装置に対して、暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドを与える暗号通信路開設指示部と、
を有し、
前記暗号通信路開設コマンドには、前記特定の暗号化プロトコルを指定するためのプロトコル指定情報と、前記特定の暗号鍵を指定するための暗号鍵指定情報と、が含まれており、
前記第1の暗号通信処理部は、前記暗号通信路開設コマンドに含まれている前記プロトコル指定情報によって指定された暗号化プロトコルおよび前記暗号通信路開設コマンドに含まれている前記暗号鍵指定情報によって指定された暗号鍵を利用して暗号通信を行うための暗号通信路を開設し、
前記暗号通信路開設コマンドには、特定の暗号化プロトコルに基づく暗号通信路の開設を指示する文字列を示すコマンド文字列情報と、特定の暗号鍵の格納場所を示す格納場所指定情報と、が含まれており、
前記第1の暗号通信処理部は、前記コマンド文字列情報をプロトコル指定情報として認識し、前記格納場所指定情報を暗号鍵指定情報として認識することにより、前記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、前記コマンド文字列情報に対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することを特徴とする情報処理システム。 An information processing system comprising a first information processing apparatus and a second information processing apparatus, and capable of performing cryptographic communication based on a predetermined encryption protocol between the two,
The first information processing apparatus is
It has a function of performing encryption communication based on a plurality N (N ≧ 2) encryption protocols, and among the N encryption protocols, an encryption based on an encryption protocol specified by the second information processing apparatus A first encrypted communication processing unit that establishes an encrypted communication path for performing communication and performs encrypted communication with the second information processing apparatus via the opened encrypted communication path;
A first encryption key storage unit having a plurality of storage locations for storing encryption keys, the plurality of storage locations storing encryption keys used for each of the plurality of N encryption protocols;
Have
The second information processing apparatus is
It has a function to perform encryption communication based on at least one specific encryption protocol among the plurality of N encryption protocols, and an encrypted communication channel established for performing encryption communication based on the specific encryption protocol A second encryption communication processing unit that performs encryption communication with the first information processing apparatus via:
A second encryption key storage unit storing an encryption key used for the specific encryption protocol;
An encrypted communication path establishment instructing unit for giving an encrypted communication path establishment command for instructing the first information processing apparatus to establish an encrypted communication path for performing encrypted communication;
Have
The encrypted communication path establishment command includes protocol specification information for specifying the specific encryption protocol, and encryption key specification information for specifying the specific encryption key.
The first encryption communication processing unit is configured to use the encryption protocol specified by the protocol specification information included in the encryption communication path establishment command and the encryption key specification information included in the encryption communication path establishment command. Establish an encrypted communication path for encrypted communication using the designated encryption key ,
The encrypted communication path establishment command includes command character string information indicating a character string instructing the establishment of an encrypted communication path based on a specific encryption protocol, and storage location designation information indicating a storage location of a specific encryption key. Included,
The first encrypted communication processing unit recognizes the command character string information as protocol specification information, and recognizes the storage area specification information as encryption key specification information, whereby a storage location indicated by the storage location specification information An information processing system characterized by establishing an encryption communication path for performing encryption communication based on an encryption protocol corresponding to the command character string information using the encryption key stored in.
第1の暗号鍵格納部の各格納場所には、それぞれキーIDによって特定される複数の格納庫が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されており、
第1の暗号通信処理部は、暗号通信路開設コマンドに含まれる暗号鍵指定情報によって特定される格納場所内の格納庫のうち、暗号通信路開設コマンドに含まれるコマンド文字列情報に対応する暗号化プロトコルによって予め定められている所定のキーIDによって特定される格納庫に格納されている暗号鍵を利用して暗号通信路を開設することを特徴とする情報処理システム。 In the information processing system according to claim 7 ,
In each storage location of the first encryption key storage unit, a plurality of storages respectively specified by key IDs are prepared, and in the whole or a part of the plurality of storages, different encryption keys are stored. Yes,
The first encryption communication processing unit encrypts, in the storage in the storage location specified by the encryption key specification information included in the encryption channel establishment command, the encryption corresponding to the command character string information included in the encryption channel establishment command. An information processing system characterized by establishing an encryption communication path using an encryption key stored in a storage identified by a predetermined key ID predetermined by a protocol.
第2の暗号通信処理部が、少なくとも、第1の暗号通信処理部に暗号通信機能が備わっている複数N通りの暗号化プロトコルのうちの複数M通り(M≦N)の暗号化プロトコルに基づく暗号通信を行う機能を有し、前記M通りの暗号化プロトコルから選択された特定の暗号化プロトコルに基づく暗号通信を行うために開設された暗号通信路を介して第1の情報処理装置との間で暗号通信を行い、
第2の暗号鍵格納部が、暗号鍵を格納するための複数の格納場所を有し、これら複数の格納場所に、第1の情報処理装置の第1の暗号鍵格納部に格納されている「前記M通りの暗号化プロトコルのそれぞれに用いられる暗号鍵」と同一の暗号鍵が格納されており、
暗号通信路開設指示部が、前記M通りの暗号化プロトコルから特定の暗号化プロトコルを選択し、前記第1の情報処理装置に対して、選択された暗号化プロトコルに基づく暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドを与えることを特徴とする情報処理システム。 In the information processing system according to any one of claims 1 to 8 ,
The second cryptographic communication processing unit is based on at least a plurality M of (M ≦ N) of the plurality of N cryptographic protocols in which the first cryptographic communication processing unit is equipped with the cryptographic communication function. It has a function of performing encrypted communication, and is connected to the first information processing apparatus via an encrypted communication path established to perform encrypted communication based on a specific encryption protocol selected from the M encryption protocols. Perform cryptographic communication between
The second encryption key storage unit has a plurality of storage locations for storing encryption keys, and the plurality of storage locations are stored in the first encryption key storage unit of the first information processing apparatus. The same encryption key as "the encryption key used for each of the M encryption protocols" is stored,
The encryption communication path establishment instructing unit selects a specific encryption protocol from the M encryption protocols, and performs encryption communication based on the selected encryption protocol to the first information processing apparatus. What is claimed is: 1. An information processing system comprising: an encryption communication path establishment command for instructing establishment of an encryption communication path.
前記第1の情報処理装置が、複数N通り(N≧2)の暗号化プロトコルに基づく暗号通信を行うプログラムを実行可能な状態に準備するプログラム準備段階と、
前記第1の情報処理装置が、暗号鍵を格納するための複数の格納場所に、前記複数N通りの暗号化プロトコルのそれぞれに用いられる暗号鍵を格納する暗号鍵格納段階と、
前記第2の情報処理装置が、前記第1の情報処理装置に対して、前記プログラム準備段階で準備された前記N通りの暗号化プロトコルから選択された特定の暗号化プロトコルに基づいて、前記暗号鍵格納段階で特定の格納場所に格納された特定の暗号鍵を用いた暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドを送信する暗号通信路開設指示段階と、
前記第1の情報処理装置が、受信した前記暗号通信路開設コマンドに基づいて、前記特定の暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設する暗号通信路開設段階と、
前記第1の情報処理装置および前記第2の情報処理装置が、開設された暗号通信路を介して暗号通信を行う暗号通信段階と、
を有し、
前記暗号通信路開設指示段階では、前記特定の暗号化プロトコルを指定するためのプロトコル指定情報と、前記特定の暗号鍵を指定するための暗号鍵指定情報と、を含んだ暗号通信路開設コマンドを送信し、
前記暗号通信路開設段階では、前記暗号通信路開設コマンドに含まれている前記プロトコル指定情報によって指定された暗号化プロトコルおよび前記暗号通信路開設コマンドに含まれている前記暗号鍵指定情報によって指定された暗号鍵を利用して暗号通信を行うための暗号通信路を開設し、
前記暗号鍵格納段階において、暗号化演算に用いられる鍵値データと、暗号アルゴリズムの種別を示す種別情報と、を含む暗号鍵を格納し、
前記暗号通信路開設指示段階において、特定の暗号鍵の格納場所を示す格納場所指定情報を含んだ暗号通信路開設コマンドを送信し、
前記暗号通信路開設段階において、前記格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、前記格納場所指定情報によって示された格納場所に格納されている暗号鍵に含まれている鍵値データを用いて、当該暗号鍵に含まれている種別情報によって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することを特徴とする暗号通信方法。 An encryption communication method for performing encryption communication based on a predetermined encryption protocol between a first information processing apparatus and a second information processing apparatus,
A program preparation stage in which the first information processing apparatus prepares in an executable state a program for performing encryption communication based on a plurality N (N ≧ 2) encryption protocols;
An encryption key storage step in which the first information processing apparatus stores encryption keys used for each of the plurality of N encryption protocols in a plurality of storage locations for storing encryption keys;
The second information processing apparatus transmits to the first information processing apparatus the encryption based on a specific encryption protocol selected from the N encryption protocols prepared in the program preparation stage. An encrypted communication path establishment instruction step of transmitting an encrypted communication path establishment command instructing establishment of an encrypted communication path for performing an encrypted communication using a specific encryption key stored in a specific storage location at the key storage stage;
An encryption communication path establishment step in which the first information processing apparatus establishes an encryption communication path for performing encryption communication based on the specific encryption protocol based on the received encryption communication path establishment command;
An encryption communication step in which the first information processing apparatus and the second information processing apparatus perform encryption communication via the established encryption communication path;
Have
The encrypted communication path establishment instruction step includes an encrypted communication path establishment command including protocol specification information for specifying the specific encryption protocol and encryption key specification information for specifying the specific encryption key. Send
In the encryption channel establishment stage, the encryption protocol designated by the protocol designation information included in the encryption channel establishment command and the encryption key designation information included in the encryption channel establishment command are specified. Establish an encrypted communication path to perform encrypted communication using the encrypted key
Storing an encryption key including key value data used for an encryption operation and type information indicating a type of an encryption algorithm in the encryption key storage step;
In the encryption communication path establishment instruction step, an encryption communication path establishment command including storage location designation information indicating a storage location of a specific encryption key is transmitted;
In the encryption communication path establishment stage, the storage location designation information is recognized as information having both roles of protocol designation information and encryption key designation information, and stored in the storage location indicated by the storage location designation information Using the key value data included in the encryption key, establishing an encryption communication path for performing encryption communication based on the encryption protocol indicated by the type information included in the encryption key. Encryption communication method.
前記第1の情報処理装置が、複数N通り(N≧2)の暗号化プロトコルに基づく暗号通信を行うプログラムを実行可能な状態に準備するプログラム準備段階と、
前記第1の情報処理装置が、暗号鍵を格納するための複数の格納場所に、前記複数N通りの暗号化プロトコルのそれぞれに用いられる暗号鍵を格納する暗号鍵格納段階と、
前記第2の情報処理装置が、前記第1の情報処理装置に対して、前記プログラム準備段階で準備された前記N通りの暗号化プロトコルから選択された特定の暗号化プロトコルに基づいて、前記暗号鍵格納段階で特定の格納場所に格納された特定の暗号鍵を用いた暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドを送信する暗号通信路開設指示段階と、
前記第1の情報処理装置が、受信した前記暗号通信路開設コマンドに基づいて、前記特定の暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設する暗号通信路開設段階と、
前記第1の情報処理装置および前記第2の情報処理装置が、開設された暗号通信路を介して暗号通信を行う暗号通信段階と、
を有し、
前記暗号通信路開設指示段階では、前記特定の暗号化プロトコルを指定するためのプロトコル指定情報と、前記特定の暗号鍵を指定するための暗号鍵指定情報と、を含んだ暗号通信路開設コマンドを送信し、
前記暗号通信路開設段階では、前記暗号通信路開設コマンドに含まれている前記プロトコル指定情報によって指定された暗号化プロトコルおよび前記暗号通信路開設コマンドに含まれている前記暗号鍵指定情報によって指定された暗号鍵を利用して暗号通信を行うための暗号通信路を開設し、
前記暗号通信路開設指示段階において、特定の暗号化プロトコルに基づく暗号通信路の開設を指示する文字列を示すコマンド文字列情報と、特定の暗号鍵の格納場所を示す格納場所指定情報と、を含んだ暗号通信路開設コマンドを送信し、
前記暗号通信路開設段階において、前記コマンド文字列情報をプロトコル指定情報として認識し、前記格納場所指定情報を暗号鍵指定情報として認識することにより、前記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、前記コマンド文字列情報に対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することを特徴とする暗号通信方法。 An encryption communication method for performing encryption communication based on a predetermined encryption protocol between a first information processing apparatus and a second information processing apparatus,
A program preparation stage in which the first information processing apparatus prepares in an executable state a program for performing encryption communication based on a plurality N (N ≧ 2) encryption protocols;
An encryption key storage step in which the first information processing apparatus stores encryption keys used for each of the plurality of N encryption protocols in a plurality of storage locations for storing encryption keys;
The second information processing apparatus transmits to the first information processing apparatus the encryption based on a specific encryption protocol selected from the N encryption protocols prepared in the program preparation stage. An encrypted communication path establishment instruction step of transmitting an encrypted communication path establishment command instructing establishment of an encrypted communication path for performing an encrypted communication using a specific encryption key stored in a specific storage location at the key storage stage;
An encryption communication path establishment step in which the first information processing apparatus establishes an encryption communication path for performing encryption communication based on the specific encryption protocol based on the received encryption communication path establishment command;
An encryption communication step in which the first information processing apparatus and the second information processing apparatus perform encryption communication via the established encryption communication path;
Have
The encrypted communication path establishment instruction step includes an encrypted communication path establishment command including protocol specification information for specifying the specific encryption protocol and encryption key specification information for specifying the specific encryption key. Send
In the encryption channel establishment stage, the encryption protocol designated by the protocol designation information included in the encryption channel establishment command and the encryption key designation information included in the encryption channel establishment command are specified. Establish an encrypted communication path to perform encrypted communication using the encrypted key
Command character string information indicating a character string instructing the establishment of an encrypted communication path based on a specific encryption protocol in the encryption communication path establishment instructing step; and storage location designation information indicating a storage location of the specific encryption key Send the included encrypted communication channel establishment command,
At the establishment stage of the encryption communication path, the command character string information is recognized as protocol designation information, and the storage location designation information is recognized as encryption key designation information, so that the information is stored in the storage location indicated by the storage location designation information. An encryption communication method characterized by establishing an encryption communication path for performing encryption communication based on an encryption protocol corresponding to the command string information, using the encryption key.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015168868A JP6540381B2 (en) | 2015-08-28 | 2015-08-28 | Information processing system and encryption communication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015168868A JP6540381B2 (en) | 2015-08-28 | 2015-08-28 | Information processing system and encryption communication method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017046274A JP2017046274A (en) | 2017-03-02 |
JP6540381B2 true JP6540381B2 (en) | 2019-07-10 |
Family
ID=58212230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015168868A Active JP6540381B2 (en) | 2015-08-28 | 2015-08-28 | Information processing system and encryption communication method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6540381B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6701719B2 (en) * | 2015-12-24 | 2020-05-27 | 大日本印刷株式会社 | Information processing equipment |
JP6947208B2 (en) * | 2015-12-24 | 2021-10-13 | 大日本印刷株式会社 | Computer program |
JP7513220B1 (en) | 2024-01-15 | 2024-07-09 | 大日本印刷株式会社 | ELECTRONIC INFORMATION STORAGE MEDIUM, IC CHIP, IC CARD, SECURE CHANNEL OPENING METHOD, AND PROGRAM |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09134413A (en) * | 1995-11-08 | 1997-05-20 | Tokin Corp | Non-contact type data carrier system |
JP3982531B2 (en) * | 1996-01-17 | 2007-09-26 | 富士ゼロックス株式会社 | Information processing apparatus with software protection function and information processing method with software protection function |
JP2004015667A (en) * | 2002-06-10 | 2004-01-15 | Takeshi Sakamura | Inter ic card encryption communication method, inter ic card encryption communication in electronic ticket distribution system, and ic card |
JP2009004824A (en) * | 2007-06-19 | 2009-01-08 | Kenwood Corp | Transmitter, receiver, program, transmission method and reception method |
JP4631935B2 (en) * | 2008-06-06 | 2011-02-16 | ソニー株式会社 | Information processing apparatus, information processing method, program, and communication system |
US8934625B2 (en) * | 2009-03-25 | 2015-01-13 | Pacid Technologies, Llc | Method and system for securing communication |
-
2015
- 2015-08-28 JP JP2015168868A patent/JP6540381B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017046274A (en) | 2017-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12137173B2 (en) | Mutually authenticated ECDHE key exchange for a device and a network using multiple PKI key pairs | |
US10757571B2 (en) | Internet of things device | |
CN101662765B (en) | Encryption system and method of short message of mobile telephone | |
CN106464498B (en) | Method for authenticating a first electronic entity by a second electronic entity and electronic entity | |
CN103546289B (en) | USB (universal serial bus) Key based secure data transmission method and system | |
CN105553951A (en) | Data transmission method and data transmission device | |
CN106411926A (en) | Data encryption communication method and system | |
CN105391540A (en) | IOT safety system, interconnection equipment, and implementation method | |
CN102970676A (en) | Method for processing original data, internet of thing system and terminal | |
CN105208028A (en) | Data transmission method and related device and equipment | |
CN105007163A (en) | Pre-shared key (PSK) transmitting and acquiring methods and transmitting and acquiring devices | |
JP6540381B2 (en) | Information processing system and encryption communication method | |
WO2022143008A1 (en) | Card reading terminal and working method thereof | |
CN109495885A (en) | Authentication method, mobile terminal, management system and Bluetooth IC | |
CN105634729A (en) | Mobile phone encryption and decryption method based on bluetooth equipment | |
EP2993856B1 (en) | Establishment of communication connection between mobile device and secure element | |
EP3556046B1 (en) | Method for secure management of secrets in a hierarchical multi-tenant environment | |
CN116455572B (en) | Data encryption method, device and equipment | |
CN107493281A (en) | encryption communication method and device | |
CN106487796A (en) | Identity card reads the safe ciphering unit in equipment and its application process | |
CN103324970B (en) | The receiving/transmission method of a kind of RFID of highly effective and safe and system thereof | |
KR101329789B1 (en) | Encryption Method of Database of Mobile Communication Device | |
JP6720558B2 (en) | Information processing system and encryption communication method | |
JP3394225B2 (en) | Communication method and communication system device | |
EP3657751A1 (en) | Private key cloud storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180625 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190306 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190424 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190514 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190527 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6540381 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |