JP7206869B2 - Encrypted communication system and encrypted communication method - Google Patents
Encrypted communication system and encrypted communication method Download PDFInfo
- Publication number
- JP7206869B2 JP7206869B2 JP2018228074A JP2018228074A JP7206869B2 JP 7206869 B2 JP7206869 B2 JP 7206869B2 JP 2018228074 A JP2018228074 A JP 2018228074A JP 2018228074 A JP2018228074 A JP 2018228074A JP 7206869 B2 JP7206869 B2 JP 7206869B2
- Authority
- JP
- Japan
- Prior art keywords
- session key
- card
- command
- secure messaging
- access device
- 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
本発明は、通信データのセキュアメッセージングで、よりセキュアな通信を実現する暗号化通信システム及び暗号化通信方法に関する。 The present invention relates to an encrypted communication system and an encrypted communication method for realizing more secure communication in secure messaging of communication data.
従来から、ICカード等のICチップとICカードアクセス装置等との間でデータを送受信する際には、特許文献1の様に、第三者によるデータの傍受等によるデータの受信及び読み取りを回避するために、セッション鍵を用いたセキュアセッションを確立して行う暗号化通信が行われている。
Conventionally, when data is transmitted and received between an IC chip such as an IC card and an IC card access device or the like, as in
特許文献1に記載された暗号化通信では、ICカード側とICカードアクセス装置側とが、共有する乱数をもとに、互いに同じセッション鍵を生成し、そのセッション鍵を用いたセキュアセッションを確立して暗号化通信を行う。しかし、第三者に通信が傍受され解析されセッション鍵を知られてしまうと、次の暗号化された通信の内容が知られてしまい、秘匿すべき通信内容が第三者に知られてしまう恐れがあった。
In the encrypted communication described in
そこで、本発明の課題は、かかる従来の問題を解決し、セキュアメッセージングで利用するセッション鍵の秘匿性を高くし、通信の秘匿性を高めた暗号化通信システム及び暗号化通信方法を提供することを目的とする。 Accordingly, an object of the present invention is to provide an encrypted communication system and an encrypted communication method that solve the above-described conventional problems, increase the confidentiality of session keys used in secure messaging, and increase the confidentiality of communications. With the goal.
上記課題を解決するため、本発明は、第1の通信装置と第2の通信装置間でセキュアメッセージングコマンドを通信する通信システムの暗号化通信システムであって、
第1の通信装置と第2の通信装置が、それぞれ、暗号化手段と、復号手段と、セッション鍵変更演算手段を備え、
前記第1の通信装置と第2の通信装置が第1の初期化セッション鍵と第2の初期化セッション鍵を共有し、第2の初期化セッション鍵を前記セキュアメッセージングコマンドによる最初のコマンド処理に用いる現用のセッション鍵とし、第1の初期化セッション鍵を旧セッション鍵とし、
前記セキュアメッセージングコマンドによるコマンド処理を行う都度、現用のセッション鍵と旧セッション鍵を演算することで新セッション鍵を作成し、現用のセッション鍵を旧セッション鍵にし、
新セッション鍵を、次のセキュアメッセージングコマンドによるコマンド処理を行う際に用いる現用のセッション鍵にして用いて暗号化通信を行う
事を特徴とする暗号化通信システムである。
To solve the above problems, the present invention provides an encrypted communication system for communication of secure messaging commands between a first communication device and a second communication device, comprising:
each of the first communication device and the second communication device comprises encryption means, decryption means, and session key change calculation means;
The first communication device and the second communication device share a first initialization session key and a second initialization session key, and pass the second initialization session key to initial command processing with the secure messaging command. Let the current session key to be used, let the first initialization session key be the old session key,
generating a new session key by calculating the current session key and the old session key each time the command processing by the secure messaging command is performed, and making the current session key the old session key;
An encrypted communication system characterized in that encrypted communication is performed by using a new session key as a current session key to be used when performing command processing according to the next secure messaging command .
本発明は、上記の構成により、1つのセキュアメッセージングコマンドによるコマンド処理を行う都度にセッション鍵を動的に更新することで、第三者に通信を傍受され解析されセッション鍵が知られたとしても、そのセッション鍵は次の通信では利用されないので、それでは通信内容が読み取れず、通信の秘匿性を高くしたセキュアメッセージングが行える暗号化通信システムが得られる効果がある。 With the above configuration, the present invention dynamically updates the session key each time a command is processed using one secure messaging command. Since the session key is not used in the next communication, the content of the communication cannot be read, and an encrypted communication system capable of performing secure messaging with high communication confidentiality can be obtained.
また、本発明は、上記の暗号化通信システムであって、
前記第1の通信装置と第2の通信装置が、前記セッション鍵を変更する複数の演算アルゴリズムを共有し、前記セッション鍵変更演算手段が前記複数の演算アルゴリズムを同期して切り替えて用いて前記セッション鍵を変更する
事を特徴とする暗号化通信システムである。
Further, the present invention provides the encrypted communication system described above,
The first communication device and the second communication device share a plurality of arithmetic algorithms for changing the session key, and the session key change arithmetic means synchronizes and switches among the plurality of arithmetic algorithms to use the session key. It is an encryption communication system characterized by changing the key.
また、本発明は、上記の暗号化通信システムであって、前記第1の通信装置がICカードアクセス装置であり、前記第2の通信装置がICカードである事を特徴とする暗号化通信システムである。 Further, the present invention is the encrypted communication system described above, wherein the first communication device is an IC card access device, and the second communication device is an IC card. is.
また、本発明は、第1の通信装置と第2の通信装置間でセキュアメッセージングコマンドを通信する通信システムの暗号化通信方法であって、
第1の通信装置と第2の通信装置が、それぞれ、暗号化手段と、復号手段と、セッション鍵変更演算手段を備え、
前記第1の通信装置と第2の通信装置が第1の初期化セッション鍵と第2の初期化セッション鍵を共有し、第2の初期化セッション鍵を前記セキュアメッセージングコマンドによる最初のコマンド処理に用いる現用のセッション鍵とし、第1の初期化セッション鍵を旧セッション鍵とし、
前記セキュアメッセージングコマンドによるコマンド処理を行う都度、現用のセッション鍵と旧セッション鍵を演算することで新セッション鍵を作成し、現用のセッション鍵を旧セッション鍵にし、
新セッション鍵を、次のセキュアメッセージングコマンドによるコマンド処理を行う際に用いる現用のセッション鍵にして用いて暗号化通信を行う
事を特徴とする暗号化通信方法である。
The present invention also provides an encrypted communication method for a communication system for communicating a secure messaging command between a first communication device and a second communication device, comprising:
each of the first communication device and the second communication device comprises encryption means, decryption means, and session key change calculation means;
The first communication device and the second communication device share a first initialization session key and a second initialization session key, and pass the second initialization session key to initial command processing with the secure messaging command. Let the current session key to be used, let the first initialization session key be the old session key,
generating a new session key by calculating the current session key and the old session key each time the command processing by the secure messaging command is performed, and making the current session key the old session key;
This encrypted communication method is characterized by performing encrypted communication using a new session key as a current session key to be used when performing command processing according to the next secure messaging command .
また、本発明は、上記の暗号化通信方法であって、
前記第1の通信装置と第2の通信装置が、前記セッション鍵を変更する複数の演算アルゴリズムを共有し、前記セッション鍵変更演算手段が前記複数の演算アルゴリズムを同期して切り替えて用いて前記セッション鍵を変更する
事を特徴とする暗号化通信方法である。
Further, the present invention provides the encrypted communication method described above,
The first communication device and the second communication device share a plurality of arithmetic algorithms for changing the session key, and the session key change arithmetic means synchronizes and switches among the plurality of arithmetic algorithms to use the session key. It is an encrypted communication method characterized by changing the key.
また、本発明は、上記の暗号化通信方法であって、前記第1の通信装置がICカードアクセス装置であり、前記第2の通信装置がICカードである事を特徴とする暗号化通信方法である。 Further, the present invention is the encrypted communication method described above, wherein the first communication device is an IC card access device, and the second communication device is an IC card. is.
本発明によれば、1つのセキュアメッセージングコマンドによるコマンド処理を行う都度にセッション鍵を動的に更新する。すなわち、セッション毎ではなく、コマンドを送信する度にセッション鍵を変更することで、第三者に通信を傍受され解析されセッション鍵が知られたとしても、そのセッション鍵は次の通信では利用されない。そのため、セッション鍵が第三者に知られてしまった場合でも、データ漏洩をなくすことができ、秘匿性を高くしたセキュアメッセージングが行える暗号化通信システムが得られる効果がある。 According to the present invention, the session key is dynamically updated each time a command processing by one secure messaging command is performed. In other words, by changing the session key each time a command is sent instead of each session, even if a third party intercepts and analyzes the communication and the session key is known, the session key will not be used in the next communication. . Therefore, even if the session key is known to a third party, it is possible to eliminate data leakage and obtain an encrypted communication system capable of performing secure messaging with high confidentiality.
<第1の実施形態>
以下、本発明の第1の実施形態に係る暗号化通信システム及び暗号化通信方法について図1から図6を参照して説明する。
<First Embodiment>
An encrypted communication system and an encrypted communication method according to a first embodiment of the present invention will be described below with reference to FIGS. 1 to 6. FIG.
図1に示すように、本実施形態の暗号化通信システムは、ICカード100とICカードアクセス装置200を備えている。ICカードアクセス装置200とICカード100とが、暗号化通信によりデータを交換するセキュアメッセージング処理を行う暗号化通信システムである。
As shown in FIG. 1, the encrypted communication system of this embodiment includes an
セキュアメッセージングを行うために、ICカード100は、暗号化手段110と復号手段120と、セッション鍵変更演算手段130を備え、ICカードアクセス装置200は、暗号化手段210と復号手段220とセッション鍵変更演算手段230と、初期化セッション鍵生成手段240を備える。
In order to perform secure messaging, the
(ICカードアクセス装置200)
ICカードアクセス装置200は、ICカード100にセキュアメッセージングの暗号化通信を行うことで、ICカード100からデータを読み出し、又は、ICカード100に対してデータを書き込む。
(IC card access device 200)
The IC
(初期化セッション鍵生成手段240)
ICカードアクセス装置200の初期化セッション鍵生成手段240は、初期化セッション鍵K0とK1とを生成する。初期化セッション鍵K0とK1は、ICカードアクセス装置200とICカード100の間でのセキュアメッセージングにおいて、1つのコマンドの処理を行う都度に切り替えるセッション鍵を生成するための最初の種である。
(Initialization session key generating means 240)
Initialization session key generation means 240 of IC
本実施形態において、初期化セッション鍵K0とK1の生成の仕方については特に限定されない。例えば、初期化セッション鍵生成手段240は、乱数を発生させ、発生された乱数に基づいて初期化セッション鍵K0とK1を生成してもよい。 In this embodiment, the method of generating the initialization session keys K0 and K1 is not particularly limited. For example, the initialization session key generation means 240 may generate random numbers and generate initialization session keys K0 and K1 based on the generated random numbers.
(暗号化手段210)
ICカードアクセス装置200とICカード100がセッション鍵を共有する以前の初期段階では、ICカードアクセス装置200の暗号化手段210が、初期化セッション鍵K0とK1を、ICカード100と共有するマスタ鍵MKEYを用いて暗号化してICカード100に送信する。
(Encryption means 210)
In the initial stage before IC
ICカードアクセス装置200とICカード100がセッション鍵を共有した後では、ICカードアクセス装置200の暗号化手段210は、平文データをセッション鍵を用いて暗号化してコマンドの暗号化データ320を作成する。そして、ICカードアクセス装置200が、ヘッダ310とコマンドの暗号化データ320とメッセージ認証コードMA
Cから成るセキュアメッセージングコマンド300を作成してICカード100に送信する。
After the IC
A
(セキュアメッセージングコマンド300)
次に、ICカードアクセス装置200とICカード100との間で、セキュアメッセージング処理で通信するセキュアメッセージングコマンド300の構成を説明する。
(Secure messaging command 300)
Next, the structure of
図2は、ICカードアクセス装置200からICカード100に送信するセキュアメッセージングコマンド300の構成を説明する図である。図2の様に、セキュアメッセージングコマンド300は、ヘッダ310と、コマンドの暗号化データ320と、メッセージ認証コードMACから成る。ヘッダ310は、そのセキュアメッセージングコマンド300の機能を識別する情報を含むコードであり、また、ヘッダ310の特定のビットを使用して、そのコマンドがセキュアメッセージングコマンド300であることを示す。
FIG. 2 is a diagram illustrating the configuration of a
メッセージ認証コードMACは、ヘッダ310とコマンドの暗号化データ320をセッション鍵で暗号化し、セキュアメッセージングコマンド300のヘッダ310やコマンドの暗号化データ320がICカードアクセス装置200とICカード100が通信する通信経路の中間で改ざんを検知する機能を持つ。
The message authentication code MAC encrypts the
(復号手段220)
ICカードアクセス装置200の復号手段220は、ICカード100から受信したセキュアメッセージングコマンド300のコマンドの暗号化データ320を、セッション鍵を用いて復号してICカード100のレスポンスデータの平文データを得る。
(Decryption means 220)
The decryption means 220 of the IC
(セッション鍵変更演算手段230)
ICカードアクセス装置200は、ICカード100からセキュアメッセージングでレスポンスデータを受信した場合に、次に、セッション鍵変更演算手段230を用いて新しいセッション鍵を算出する。そして、次にICカード100に送信するセキュアメッセージングコマンドには、その新しいセッション鍵でデータを暗号化したセキュアメッセージングコマンド300を作成して用いる。
(Session key change computing means 230)
When the IC
詳しくは、セッション鍵変更演算手段230が、旧セッション鍵K0と現在のセッション鍵K1のXOR(排他的論理和)を演算し、その結果を新たなセッション鍵K2とする。そして、ICカードアクセス装置200は、ICカード100とのセキュアメッセージングで使用するセッション鍵をセッション鍵K2に変更する。こうして、セキュアメッセージングで1つのコマンドを処理する都度、セッション鍵をK1からK2、K3、K4へと更新してセキュアメッセージング処理を実施する。
Specifically, the session key change computing means 230 computes an XOR (exclusive OR) of the old session key K0 and the current session key K1, and sets the result as a new session key K2. IC
(ICカード100の構成)
ICカード100は、集積回路が実装されたカードである。図1にICカード100の構成のブロック図を示す。ICカード100は、ICカード100全体の制御を行うマイクロプロセッサ等の制御手段11と、暗号化処理に必要なべき乗剰余演算処理を行うことが可能なコプロセッサ12と、通信手段13と、記憶手段14で構成されている。
(Configuration of IC card 100)
The
(ICカード100の記憶手段14)
図1のブロック図の様に、ICカード100の記憶手段14は、ブートプログラムや各種固定データが記憶された固定記憶手段ROMと、各種データを一時的に記憶する一時記憶手段RAMと、電気的にデータの書換が可能で、プログラムデータ等を更新可能に記憶する不揮発性記憶手段のEEPROM(Electrically Erasable and Programmable ROM)、フラッシュメモリ等を備えて構成する。
(Storage means 14 of IC card 100)
As shown in the block diagram of FIG. 1, the storage means 14 of the
記憶手段14の記憶領域は、図1の様に、ファイル管理領域AR1、システム領域AR2及びユーザデータ領域AR3を備える。なお、記憶手段14の記憶領域は、ファイル管理領域AR1、システム領域AR2及びユーザデータ領域AR3以外の領域が含まれていてもよい。 The storage area of the storage means 14 comprises a file management area AR1, a system area AR2 and a user data area AR3, as shown in FIG. The storage area of the storage means 14 may include areas other than the file management area AR1, the system area AR2 and the user data area AR3.
(ファイル管理領域AR1)
ファイル管理領域AR1は、システム領域AR2、ユーザデータ領域AR3に記憶されるデータをファイル単位で管理するファイル管理情報が記憶される領域である。
(File management area AR1)
The file management area AR1 is an area for storing file management information for managing data stored in the system area AR2 and the user data area AR3 on a file-by-file basis.
(システム領域AR2)
システム領域AR2は、OS(Operating System)と、セキュアメッセージングの暗号化手段110と、復号手段120と、セッション鍵変更演算手段130のプログラムが記憶され、また、各種設定情報などをはじめとするシステム情報が記憶される領域である。
(System area AR2)
The system area AR2 stores the programs of the OS (Operating System), the secure messaging encryption means 110, the decryption means 120, and the session key change calculation means 130, and also contains system information such as various setting information. is stored.
(ユーザデータ領域AR3)
ユーザデータ領域AR3は、アプリケーションが使用するユーザデータが記憶される領域である。
(User data area AR3)
The user data area AR3 is an area for storing user data used by the application.
(専用ファイルDFの階層構造)
図1のように、ユーザデータ領域AR3には、主ファイルMF(Master File)の下に階層構造で接続する専用ファイルDF(Dedicated File)を記憶する。専用ファイルDFは、下位のファイルをグループ化するためのファイルであり、専用ファイルDFの配下に基礎ファイルEF(Elementary File)や他の専用ファイルDFを記憶する。
(Hierarchical structure of dedicated file DF)
As shown in FIG. 1, the user data area AR3 stores a dedicated file DF (Dedicated File) connected in a hierarchical structure under a main file MF (Master File). The dedicated file DF is a file for grouping lower files, and stores an elementary file EF (Elementary File) and other dedicated files DF under the dedicated file DF.
(基礎ファイルEF)
専用ファイルDFの配下に構成される基礎ファイルEFはデータを格納するファイルであり、IEF(Internal Elementary File:内部基礎ファイル)とWEF(作業基礎ファイル)との2つの種別に分けられる。
(basic file EF)
A basic file EF configured under the dedicated file DF is a file that stores data, and is divided into two types: an IEF (Internal Elementary File) and a WEF (work basic file).
(作業基礎ファイルWEF)
作業基礎ファイルWEFは、ICカード100から外部への出力が可能なファイルである。作業基礎ファイルWEFには、ICカード100の個別ファイルを記憶する。
(work basic file WEF)
The basic work file WEF is a file that can be output from the
(内部基礎ファイルIEF)
ICカード100の内部基礎ファイルIEFは、セキュリティ上、ICカードアクセス装置200から読出しができないファイルであり、ICカード100内においてのみ使用される。
(internal basic file IEF)
The internal basic file IEF of
内部基礎ファイルIEFは、ICカードアクセス装置200がICカード100の作業基礎ファイルWEF内の個別ファイルを読み出すアクセス権を認証するためのセキュア通信用鍵情報や認証用鍵情報等の鍵情報を記憶し、その鍵情報を割り付けるキー区分を記憶する。ICカードアクセス装置200と共有するマスタ鍵MKEYを内部基礎ファイルIEFに記憶する。
The internal basic file IEF stores key information such as secure communication key information and authentication key information for authenticating access rights for the IC
(セキュアメッセージング処理)
次に、ICカード100とICカードアクセス装置200とがセキュアメッセージングコマンド300を送受信して行うセキュアメッセージング処理を行うためにICカード100が有する手段について説明する。
(secure messaging processing)
Next, means of the
ここで、ICカードアクセス装置200とICカード100は、1つのセキュアメッセージングコマンド300によるコマンド処理を行う都度、同じアルゴリズムでセッション鍵を更新する。それにより、ICカードアクセス装置200とICカード100は互いに、セッション鍵を同じセッション鍵に更新して暗号化通信を行う。
Here, the IC
(ICカード100のセキュアメッセージングの手段)
先ず、ICカード100の、セキュアメッセージング処理に用いる鍵とプログラム手段について説明する。先ず、ICカード100の内部基礎ファイルIEFに、ICカードアクセス装置200と共有するマスタ鍵MKEYを記憶する。また、ICカード100は、ICカードアクセス装置200との間でセキュアメッセージング処理を行うための、復号手段120と暗号化手段110とセッション鍵変更演算手段130を有する。
(Secure messaging means of IC card 100)
First, the keys and program means of the
(復号手段120)
ICカードアクセス装置200とICカード100がセッション鍵を共有する以前の初期段階において、ICカード100は、ICカードアクセス装置200から初期化セッション鍵K0とK1の暗号化データを受信する。そして、ICカード100の復号手段120が、ICカードアクセス装置200と共有するマスタ鍵MKEYを用いて暗号化データを復号して初期化セッション鍵K0とK1を得る。
(Decoding means 120)
At an initial stage before IC
ICカードアクセス装置200とICカード100がセッション鍵を共有した後では、ICカード100の復号手段120は、ICカードアクセス装置200から受信したセキュアメッセージングコマンド300が含むコマンドの暗号化データ320を、セッション鍵を用いて復号してコマンドの平文データを得る。そして、ICカード100は、そのコマンドに従った処理を実行する。
After the IC
(暗号化手段110)
ICカード100の暗号化手段110はセキュアメッセージング用の暗号化処理を行う。すなわち、ICカード100がICカードアクセス装置200からセキュアメッセージングコマンド300を受信し、そのコマンドに従った処理を実行すると、ICカード100は先ず、その結果を報告するレスポンスの平文データを作成する。
(Encryption means 110)
The encryption means 110 of the
そして、ICカード100の暗号化手段110が、セッション鍵を用いて、レスポンスデータの平文データを暗号化したレスポンスの暗号化データ320を作成する。また、暗号化手段110は、セキュアメッセージングコマンド300のヘッダ310とレスポンスの暗号化データ320をセッション鍵で暗号化してメッセージ認証コードMACを作成する。そして、ICカード100が、そのレスポンスの暗号化データ320とメッセージ認証コードMACを含むセキュアメッセージングコマンド300をICカードアクセス装置200に送信する。
Then, the encryption means 110 of the
(セッション鍵変更演算手段130)
ICカード100は、セキュアメッセージング処理において、ICカードアクセス装置200に向けてレスポンスデータのセキュアメッセージングコマンド300を送信した後に、セッション鍵変更演算手段130を用いて以下の演算処理を行う。
(Session key change computing means 130)
In the secure messaging process, the
すなわち、セッション鍵変更演算手段130が、次にICカードアクセス装置200から受信するコマンドの暗号化データを復号する際に用いる新しいセッション鍵を算出して、以前に用いたセッション鍵をその新しいセッション鍵に更新する。
That is, session key change calculation means 130 calculates a new session key to be used when decrypting the encrypted data of the next command received from IC
(初期化セッション鍵の共有処理)
以下で、図3から図6を参照して、ICカード100とICカードアクセス装置200
とが行うセキュアメッセージング処理の手順を説明する。先ず、初期化セッション鍵をICカード100とICカードアクセス装置200間で共有する処理を行う。
(Initialization session key sharing process)
3 to 6,
describes the secure messaging process performed by First, processing for sharing the initialization session key between the
初期化セッション鍵の共有方法には様々な手段があるが、ここではICカードアクセス装置200が生成した初期化セッション鍵をICカード100に送信して、ICカードアクセス装置200とICカード100がセッション鍵を共有する場合について図3を参照して説明する。
There are various methods for sharing the initialization session key. Here, the initialization session key generated by the IC
(ステップS1)
ICカードアクセス装置200は、乱数生成手段等の初期化セッション鍵生成手段240を用いて初期化セッション鍵K0と初期化セッション鍵K1を生成し、マスタ鍵MKEYを用いて暗号化し、この2つの初期化セッション鍵K0とK1をセッション鍵復号コマンドに乗せてICカード100に送信する。
(Step S1)
The IC
(ステップS2)
ICカード100は、このセッション鍵復号コマンドを受信すると、そのコマンドコードからセッション鍵復号コマンドであることを認識し、セッション鍵復号コマンドの受信のレスポンスデータをICカードアクセス装置200に返信する。
(Step S2)
When the
(ステップS3)
次に、ICカード100の復号手段120が、記憶手段14に記憶されているマスタ鍵MKEYを読み出し、このマスタ鍵MKEYを用いて、セッション鍵復号コマンドの暗号化データから初期化セッション鍵K0とK1を復号して一時記憶手段RAMで記憶する。ここで用いられるマスタ鍵MKEYは予めICカードアクセス装置200とICカード100間で共有しているものであり、ICカードアクセス装置200が暗号化に使用したマスタ鍵MKEYと同じものである。
(Step S3)
Next, the decryption means 120 of the
(セキュアメッセージングコマンドの通信手順)
次に、図4から図6を参照して、セキュアメッセージング処理によるセキュアメッセージングコマンド300の通信手順を説明する。
(Secure messaging command communication procedure)
Next, a communication procedure of the
(ステップS11)
先ず、ICカードアクセス装置200の暗号化手段210が、ICカード100に送信するコマンドの平文データを、初期化セッション鍵K1を利用して暗号化しコマンドの暗号化データ320を作成する。例えば、ICカード100のファイルAを選択するSELECT FILEコマンドの平文データを初期化セッション鍵K1を用いて暗号化したコマンドの暗号化データ320を作成する。
(Step S11)
First, the encryption means 210 of the IC
(ステップS12)
次に、暗号化手段210が、ヘッダ310とコマンドの暗号化データ320をセッション鍵K1で暗号化してメッセージ認証コードMACを作成する。そして、ICカードアクセス装置200が、ヘッダ310とコマンドの暗号化データ320とメッセージ認証コードMACから成るセキュアメッセージングコマンド300をICカード100に送信する。
(Step S12)
Next, the encryption means 210 encrypts the
(ステップS13)
ICカード100の制御手段11は、通信手段13を用いてICカードアクセス装置200からコマンドデータを受信する受信処理を行う。
(Step S13)
The control means 11 of the
ICカード100は、コマンドデータが、セキュアメッセージングコマンド300であ
る事を認識し復号手段120に制御を移す。
(ステップS14)
復号手段120は、一時記憶手段RAMに記憶されているセッション鍵K1を用いて、コマンドの暗号化データ320を復号して、例えば、ICカード100のファイルAを選択するSELECT FILEコマンドの平文データを得る。
(Step S14)
The decryption means 120 decrypts the command
(ステップS15)
ICカード100は、復号したSELECT FILEコマンドに従ってICカード100のファイルAを選択する処理を行う。
(Step S15)
The
(ステップS16)
次に、ICカード100の暗号化手段110が、レスポンスデータの平文データを初期化セッション鍵K1を用いて暗号化したレスポンスの暗号化データ320を作成する。
(Step S16)
Next, the encryption means 110 of the
(ステップS17)
次に、暗号化手段110が、ヘッダ310とレスポンスの暗号化データ320をセッション鍵K1で暗号化してメッセージ認証コードMACを作成する。そして、ICカード100は、ヘッダ310とレスポンスの暗号化データ320とメッセージ認証コードMACから成るセキュアメッセージングコマンド300をICカードアクセス装置200に返信する。
(Step S17)
Next, the encryption means 110 encrypts the
(ステップS18)
ICカード100は、次に、以下の演算処理でセッション鍵K2を導出する。すなわち、ICカード100は、一時記憶手段RAMで記憶しているセッション鍵K0とセッション鍵K1のXOR(排他的論理和)を演算し、その結果を新たなセッション鍵K2とする。そして、ICカード100は、一時記憶手段RAMで記憶するセッション鍵をセッション鍵K1とセッション鍵K2に置き換え、ICカードアクセス装置200とのセキュアメッセージンで使用するセッション鍵をセッション鍵K2に変更する。
(Step S18)
(ステップS19)
ICカードアクセス装置200は、ICカード100から受信したレスポンスがセキュアメッセージングコマンド300である場合は、復号手段220に制御を移す。
(Step S19)
If the response received from the
復号手段220はICカードアクセス装置200が記憶しているセッション鍵K1を用いて、レスポンスの暗号化データ320を復号して、レスポンスデータの平文データを得る。
The decryption means 220 decrypts the
(ステップS20)
ICカードアクセス装置200は、ICカード100から、セキュアメッセージングコマンド300のレスポンスデータを受信した場合は、セッション鍵K0とセッション鍵K1のXOR(排他的論理和)を演算し、その結果を新たなセッション鍵K2とする。そして、ICカードアクセス装置200は、ICカード100とのセキュアメッセージングで使用するセッション鍵をセッション鍵K2に変更する。
(Step S20)
When the IC
(ステップS21)
ICカードアクセス装置200は、暗号化手段210を用いて、次にICカード100に送信するコマンドの平文データを、セッション鍵K2を利用して暗号化しコマンドの暗号化データ320を作成する。例えば、選択したファイルAに対して値を書き込むWRITE BINARYコマンドの平文データをセッション鍵K2を用いて暗号化したコマン
ドの暗号化データ320を作成する。
(Step S21)
The IC
(ステップS22)
次に、暗号化手段210が、ヘッダ310とコマンドの暗号化データ320をセッション鍵K2で暗号化してメッセージ認証コードMACを作成する。そして、ICカードアクセス装置200が、ヘッダ310とコマンドの暗号化データ320とメッセージ認証コードMACから成るセキュアメッセージングコマンド300をICカード100に送信する。
(Step S22)
Next, the encryption means 210 encrypts the
(ステップS23)
ICカード100は、ICカードアクセス装置200からコマンドデータを受信し、コマンドデータが、セキュアメッセージングコマンド300であるか否かを判定する。
(Step S23)
(ステップS24)
ICカード100は、受信したコマンドがセキュアメッセージングコマンド300である場合は、復号手段120に制御を移す。
(Step S24)
If the received command is the
復号手段120は、先に演算して作成したセッション鍵K2を用いて、コマンドの暗号化データ320を復号して、例えば、選択したファイルAに対して値を書き込むWRITE BINARYコマンドの平文データを得る。
The decryption means 120 decrypts the
(ステップS25)
ICカード100は、復号したWRITE BINARYコマンドに従ってファイル書き込み処理を実行する。
(Step S25)
The
(ステップS26)
次に、ICカード100は、レスポンスデータの平文データをセッション鍵K2を用いて暗号化したレスポンスの暗号化データ320を作成する。
(Step S26)
Next, the
(ステップS27)
次に、暗号化手段110が、ヘッダ310とレスポンスの暗号化データ320をセッション鍵K2で暗号化してメッセージ認証コードMACを作成する。そして、ICカード100は、ヘッダ310とレスポンスの暗号化データ320とメッセージ認証コードMACから成るセキュアメッセージングコマンド300をICカードアクセス装置200に返信する。
(Step S27)
Next, the encryption means 110 encrypts the
(ステップS28)
ICカード100は、次に、以下の演算処理でセッション鍵K3を導出する。すなわち、ICカード100は、セッション鍵K1とセッション鍵K2のXOR(排他的論理和)を演算し、その結果を新たなセッション鍵K3とする。そして、ICカード100は、一時記憶手段RAMで記憶するセッション鍵をセッション鍵K2とセッション鍵K3に置き換え、ICカードアクセス装置200とのセキュアメッセージンで使用するセッション鍵をセッション鍵K3に変更する。
(Step S28)
(ステップS29)
ICカードアクセス装置200は、ICカード100から受信したコマンドがセキュアメッセージングコマンド300である場合は、復号手段220に制御を移す。
(Step S29)
If the command received from
復号手段220はICカードアクセス装置200が記憶しているセッション鍵K2を用いて、コマンドの暗号化データ320を復号して、レスポンスデータの平文データを得る
。
The decoding means 220 uses the session key K2 stored in the IC
(ステップS30)
ICカードアクセス装置200は、ICカード100から受信したセキュアメッセージングコマンド300がレスポンスデータであった場合は、セッション鍵K1とセッション鍵K2のXOR(排他的論理和)を演算し、その結果を新たなセッション鍵K3とする。そして、ICカードアクセス装置200は、ICカード100とのセキュアメッセージングで使用するセッション鍵をセッション鍵K3に変更する。
(Step S30)
If the
(ステップS31)
ICカードアクセス装置200は、暗号化手段210を用いて、次にICカード100に送信するコマンドの平文データを、セッション鍵K3を利用して暗号化しコマンドの暗号化データ320を作成する。例えば、選択したファイルAより値を読み出すREAD BINARYコマンドの平文データをセッション鍵K3を用いて暗号化したコマンドの暗号化データ320を作成する。
(Step S31)
The IC
(ステップS32)
次に、暗号化手段210が、ヘッダ310とコマンドの暗号化データ320をセッション鍵K3で暗号化してメッセージ認証コードMACを作成する。そして、ICカードアクセス装置200が、ヘッダ310とコマンドの暗号化データ320とメッセージ認証コードMACから成るセキュアメッセージングコマンド300をICカード100に送信する。
(Step S32)
Next, the encryption means 210 encrypts the
(ステップS33)
ICカード100は、ICカードアクセス装置200からコマンドデータを受信し、コマンドデータが、セキュアメッセージングコマンド300であるか否かを判定する。
(Step S33)
(ステップS34)
ICカード100は、受信したコマンドがセキュアメッセージングコマンド300である場合は、復号手段120に制御を移す。
(Step S34)
If the received command is the
復号手段120は、先に演算して作成したセッション鍵K2を用いて、コマンドの暗号化データ320を復号して、例えば、選択したファイルAより値を読み出すREAD BINARYコマンドの平文データを得る。
The decryption means 120 decrypts the
(ステップS35)
ICカード100は、復号したREAD BINARYコマンドに従ってファイルAより値を読み出す処理を実行する。
(Step S35)
The
(ステップS36)
次に、ICカード100は、ファイルAより読み出した値を返信するレスポンスデータの平文データをセッション鍵K3を用いて暗号化したレスポンスの暗号化データ320を作成する。
(Step S36)
Next, the
(ステップS37)
次に、暗号化手段110が、ヘッダ310とレスポンスの暗号化データ320をセッション鍵K3で暗号化してメッセージ認証コードMACを作成する。そして、ICカード100は、ヘッダ310とレスポンスの暗号化データ320とメッセージ認証コードMACから成るセキュアメッセージングコマンド300をICカードアクセス装置200に返信する。
(Step S37)
Next, the encryption means 110 encrypts the
(ステップS38)
ICカード100は、次に、以下の演算処理でセッション鍵K4を導出する。すなわち、ICカード100は、セッション鍵K2とセッション鍵K3のXOR(排他的論理和)を演算し、その結果を新たなセッション鍵K4とする。そして、ICカード100は、一時記憶手段RAMで記憶するセッション鍵をセッション鍵K3とセッション鍵K4に置き換え、ICカードアクセス装置200とのセキュアメッセージンで使用するセッション鍵をセッション鍵K4に変更する。
(Step S38)
The
(ステップS39)
ICカードアクセス装置200は、ICカード100から受信したコマンドがセキュアメッセージングコマンド300である場合は、復号手段220に制御を移す。
(Step S39)
If the command received from
復号手段220はICカードアクセス装置200が記憶しているセッション鍵K3を用いて、レスポンスの暗号化データ320を復号して、レスポンスデータの平文データを得る。
The decryption means 220 decrypts the
(ステップS40)
ICカードアクセス装置200は、ICカード100から受信したコマンドがレスポンスデータであった場合は、セッション鍵K2とセッション鍵K3のXOR(排他的論理和)を演算し、その結果を新たなセッション鍵K4とする。そして、ICカードアクセス装置200は、ICカード100とのセキュアメッセージングで使用するセッション鍵をセッション鍵K4に変更する。
(Step S40)
When the command received from the
こうして、本実施形態は、1つのセキュアメッセージングコマンド300によるコマンド処理を行う都度にセッション鍵を動的に更新する。
In this manner, the present embodiment dynamically updates the session key each time command processing by one
ICカードアクセス装置200がICカード100のファイルのデータを読み書きする通信を行う際に、複数の通信を行いデータを読み書きする。その通信のセッション鍵が解析されて第三者に知られた場合でも、次のコマンドを送信する際のセッション鍵は、解析されたセッション鍵とは異なるセッション鍵に変更されているので、通信内容が第三者に知られる事が無い効果がある。それにより、セッション鍵が第三者に知られてしまった場合でも、データ漏洩をなくすことができ、秘匿性を高くしたセキュアメッセージングが行える効果がある。
When the IC
<第2の実施形態>
本発明の第2の実施形態は、図7の様に構成する。第2の実施形態が第1の実施形態と相違する点は、ICカードアクセス装置200がセッション鍵群作成手段250を有し、セッション鍵群作成手段250が、図8の様なセッション鍵群リストを作成し、ICカード100に送信することで、ICカードアクセス装置200とICカード100がセッション鍵群を共有する点である。
<Second embodiment>
A second embodiment of the present invention is configured as shown in FIG. The second embodiment differs from the first embodiment in that the IC
そして、ICカードアクセス装置200とICカード100がセキュアメッセージングで1つのコマンドを処理する毎に、次のセキュアメッセージングで利用するセッション鍵を指定する情報をコマンドデータに加えて通信し、次のセキュアメッセージングは、更新したセッション鍵を用いて通信する。
Each time the IC
例えば、セキュアメッセージングコマンド300のコマンドデータに次のセキュアメッセージングで利用するセッション鍵を指定する、図8のセッション鍵群リストの番号を加えて、そのコマンドデータをセッション鍵で暗号化して暗号化データ320を作成する。
そして、ヘッダ310と暗号化データ320とメッセージ認証コードMACから成るセキュアメッセージングコマンド300を通信する。
For example, the command data of the
It then communicates a
(セッション鍵群の共有処理)
以下で、図9を参照して、ICカード100とICカードアクセス装置200がセッション鍵群を共有する処理の手順を説明する。
(Sharing process of session key group)
Below, referring to FIG. 9, the procedure of processing for sharing the session key group between the
(ステップS41)
ICカードアクセス装置200は、乱数生成手段等のセッション鍵群作成手段250を用いてセッション鍵K1~K18のセッション鍵群を作成し、マスタ鍵MKEYを用いて暗号化し、この18個のセッション鍵群K1~K18をセッション鍵群復号コマンドに乗せてICカード100に送信する。
(Step S41)
IC
(ステップS42)
ICカード100は、このセッション鍵群復号コマンドを受信すると、そのコマンドコードからセッション鍵群復号コマンドであることを認識し、セッション鍵群復号コマンドの受信のレスポンスデータをICカードアクセス装置200に返信する。
(Step S42)
When the
(ステップS43)
次に、ICカード100の復号手段120が、記憶手段14に記憶されているマスタ鍵MKEYを読み出し、このマスタ鍵MKEYを用いて、セッション鍵群復号コマンドの暗号化データからセッション鍵K1~K18を復号して一時記憶手段RAMで記憶する。
(Step S43)
Next, the decryption means 120 of the
(セキュアメッセージングコマンドの通信手順)
次に、図10から図12を参照して、セキュアメッセージング処理によるセキュアメッセージングコマンド300の通信手順を説明する。
(Secure messaging command communication procedure)
Next, a communication procedure of the
(ステップS51)
先ず、ICカードアクセス装置200が、次に用いるセッション鍵の、例えば、図8のセッション鍵群リストのセッション鍵K12を指定するリスト番号を選定する。
(Step S51)
First, the IC
次に、暗号化手段210が、ICカード100のファイルAを選択するSELECT FILEコマンドの平文データに、次に用いるセッション鍵K12のリスト番号を加え、そのデータを、第1のセッション鍵K1を利用して暗号化しコマンドの暗号化データ320を作成する。
Next, the encryption means 210 adds the list number of the session key K12 to be used next to the plaintext data of the SELECT FILE command for selecting the file A of the
(ステップS52)
次に、暗号化手段210が、ヘッダ310とコマンドの暗号化データ320をセッション鍵K1で暗号化してメッセージ認証コードMACを作成する。そして、ICカードアクセス装置200が、ヘッダ310とコマンドの暗号化データ320とメッセージ認証コードMACから成るセキュアメッセージングコマンド300をICカード100に送信する。
(Step S52)
Next, the encryption means 210 encrypts the
(ステップS53~S54)
ICカード100は、第1の実施形態のステップS13からS14と同様な処理により、コマンドデータをセキュアメッセージングコマンド300であると認識し復号手段120で復号し、SELECT FILEコマンドの平文データと、次に用いるセッション鍵のリスト番号を得る。
(Steps S53-S54)
The
ICカード100は、次に用いるセッション鍵のリスト番号と、図8のセッション鍵群
リストから、次に用いるセッション鍵がセッション鍵K12であると判定し、次に用いるセッション鍵K12を用意する。
The
(ステップS55~S57)
ICカード100は、復号したSELECT FILEコマンドに従ってICカード100のファイルAを選択する処理を行い、レスポンスデータのセキュアメッセージングコマンド300をICカードアクセス装置200に返信する。
(Steps S55-S57)
The
(ステップS58)
ICカード100は、ICカードアクセス装置200とのセキュアメッセージンで使用するセッション鍵を、次のセッション鍵K12に変更する。
(Step S58)
The
(ステップS59)
ICカードアクセス装置200の復号手段220が、ICカードアクセス装置200が記憶しているセッション鍵K1を用いて、コマンドの暗号化データ320を復号して、レスポンスデータの平文データを得る。
(Step S59)
The decryption means 220 of the IC
(ステップS60)
ICカードアクセス装置200は、ICカード100から受信したコマンドがレスポンスデータであった場合は、ICカード100とのセキュアメッセージンで使用するセッション鍵を、次のセッション鍵K12に変更する。
(Step S60)
When the command received from the
(ステップS61)
ICカードアクセス装置200が、次に用いるセッション鍵の、例えば、図8のセッション鍵群リストのセッション鍵K5を指定するリスト番号を選定する。
(Step S61)
The IC
次に、暗号化手段210が、例えば、選択したファイルAに対して値を書き込むWRITE BINARYコマンドの平文データに、次に用いるセッション鍵K5のリスト番号を加え、そのデータを、セッション鍵K12を利用して暗号化しコマンドの暗号化データ320を作成する。
Next, the encryption means 210 adds the list number of the session key K5 to be used next to the plaintext data of the WRITE BINARY command for writing a value to the selected file A, for example, and uses the session key K12 for the data. to create
(ステップS62)
次に、暗号化手段210が、ヘッダ310とコマンドの暗号化データ320をセッション鍵K12で暗号化してメッセージ認証コードMACを作成する。そして、ICカードアクセス装置200が、ヘッダ310とコマンドの暗号化データ320とメッセージ認証コードMACから成るセキュアメッセージングコマンド300をICカード100に送信する。
(Step S62)
Next, the encryption means 210 encrypts the
(ステップS63~S64)
ICカード100は、第1の実施形態のステップS23からS24と同様な処理により、コマンドデータをセキュアメッセージングコマンド300であると認識し復号手段120で復号し、WRITE BINARYコマンドの平文データと、次に用いるセッション鍵のリスト番号を得る。
(Steps S63-S64)
The
ICカード100は、次に用いるセッション鍵のリスト番号と、図8のセッション鍵群リストから、次に用いるセッション鍵がセッション鍵K5であると判定し、次に用いるセッション鍵K5を用意する。
The
(ステップS65~S67)
ICカード100は、復号したWRITE BINARYコマンドに従ってファイル書
き込み処理を実行し、レスポンスデータのセキュアメッセージングコマンド300をICカードアクセス装置200に返信する。
(Steps S65-S67)
The
(ステップS68)
ICカード100は、ICカードアクセス装置200とのセキュアメッセージンで使用するセッション鍵を、次のセッション鍵K5に変更する。
(Step S68)
The
(ステップS69)
ICカードアクセス装置200の復号手段220が、ICカードアクセス装置200が記憶しているセッション鍵K12を用いて、レスポンスの暗号化データ320を復号して、レスポンスデータの平文データを得る。
(Step S69)
The decryption means 220 of the IC
(ステップS70)
ICカードアクセス装置200は、ICカード100から受信したコマンドがレスポンスデータであった場合は、ICカード100とのセキュアメッセージンで使用するセッション鍵を、次のセッション鍵K5に変更する。
(Step S70)
When the command received from the
(ステップS71)
ICカードアクセス装置200が、次に用いるセッション鍵の、例えば、図8のセッション鍵群リストのセッション鍵K17を指定するリスト番号を選定する。
(Step S71)
The IC
次に、暗号化手段210が、例えば、選択したファイルAより値を読み出すREAD BINARYコマンドの平文データに、次に用いるセッション鍵K17のリスト番号を加え、そのデータを、セッション鍵K5を利用して暗号化しコマンドの暗号化データ320を作成する。
Next, the encryption means 210 adds the list number of the session key K17 to be used next to the plaintext data of the READ BINARY command for reading the value from the selected file A, for example, and encrypts the data using the session key K5. It is encrypted to create
(ステップS72)
次に、暗号化手段210が、ヘッダ310とコマンドの暗号化データ320をセッション鍵K5で暗号化してメッセージ認証コードMACを作成する。そして、ICカードアクセス装置200が、ヘッダ310とコマンドの暗号化データ320とメッセージ認証コードMACから成るセキュアメッセージングコマンド300をICカード100に送信する。
(Step S72)
Next, the encryption means 210 encrypts the
(ステップS73~S74)
ICカード100は、第1の実施形態のステップS33からS34と同様な処理により、コマンドデータをセキュアメッセージングコマンド300であると認識し復号手段120で復号し、READ BINARYコマンドの平文データと、次に用いるセッション鍵のリスト番号を得る。
(Steps S73-S74)
The
ICカード100は、次に用いるセッション鍵のリスト番号と、図8のセッション鍵群リストから、次に用いるセッション鍵がセッション鍵K17であると判定し、次に用いるセッション鍵K17を用意する。
Based on the list number of the session key to be used next and the session key group list in FIG. 8, the
(ステップS75~S77)
ICカード100は、復号したREAD BINARYコマンドに従ってファイルAより値を読み出す処理を実行し、レスポンスデータのセキュアメッセージングコマンド300をICカードアクセス装置200に返信する。
(Steps S75-S77)
The
(ステップS78)
ICカード100は、ICカードアクセス装置200とのセキュアメッセージンで使用
するセッション鍵を、次のセッション鍵K17に変更する。
(Step S78)
The
(ステップS79)
ICカードアクセス装置200の復号手段220が、ICカードアクセス装置200が記憶しているセッション鍵K5を用いて、レスポンスの暗号化データ320を復号して、レスポンスデータの平文データを得る。
(Step S79)
The decryption means 220 of the IC
(ステップS80)
ICカードアクセス装置200は、ICカード100から受信したコマンドがレスポンスデータであった場合は、ICカード100とのセキュアメッセージンで使用するセッション鍵を、次のセッション鍵K17に変更する。
(Step S80)
When the command received from the
<第3の実施形態>
本発明の第3の実施形態は、図13の様に構成する。第3の実施形態が第1及び第2の実施形態と相違する点は、ICカードアクセス装置200とICカード100がセッション鍵を変更する複数の演算アルゴリズムを共有して、その演算アルゴリズムを同期して切り替えてセッション鍵を変更する演算に用いることである。
<Third Embodiment>
A third embodiment of the present invention is constructed as shown in FIG. The difference of the third embodiment from the first and second embodiments is that the IC
例えば、ICカードアクセス装置200とICカード100が、セッション鍵変更の演算1と演算2と演算3を共有し、演算1は、先に用いたセッション鍵と次に用いる演算鍵の排他的論理和(XOR)を演算することで、次に用いるセッション鍵を演算する。
For example, the IC
演算2は、先に用いたセッション鍵と次に用いる演算鍵の論理積(AND)を演算することで、次に用いるセッション鍵を演算する。
例えば、演算3は、先に用いた演算鍵と次に用いる演算鍵の排他的論理和(XOR)を演算することで、次に用いるセッション鍵を演算する。 For example, the operation 3 calculates the session key to be used next by calculating the exclusive OR (XOR) of the operation key used previously and the operation key to be used next.
そして、ICカードアクセス装置200とICカード100が、その演算アルゴリズムを選択して用いるセッション鍵変更演算切替手段231とセッション鍵変更演算切替手段131を有する。セッション鍵変更演算切替手段231とセッション鍵変更演算切替手段131は、同期してセッション鍵変更の複数の演算アルゴリズムを切り替えて用いて同じセッション鍵を算出する。
The IC
ICカードアクセス装置200とICカード100がセキュアメッセージングで1つのコマンドを処理する毎に、次のセキュアメッセージングで利用するセッション鍵変更の演算を互いに同期して切り替えて、次に用いるセッション鍵を算出し、次のセキュアメッセージングは、更新したセッション鍵を用いて通信する。
Each time the IC
また、ICカードアクセス装置200が演算鍵群作成手段251を有し、演算鍵群作成手段251が、図14の様な演算鍵群リストを作成し、ICカード100に送信して、ICカードアクセス装置200とICカード100が演算鍵群を共有する。セッション鍵変更演算切替手段231とセッション鍵変更演算切替手段131は、互いに同期して切り替える同じ演算鍵を用いて次に用いるセッション鍵を算出する。
Further, the IC
(演算鍵群の共有処理)
以下で、図15を参照して、ICカード100とICカードアクセス装置200が演算鍵群を共有する処理の手順を説明する。
(Sharing processing of operation key group)
A procedure of processing for sharing the operation key group between the
(ステップS81)
ICカードアクセス装置200は、乱数生成手段等の演算鍵群作成手段251を用いて演算鍵EK1~EK18の演算鍵群を作成し、マスタ鍵MKEYを用いて暗号化し、この18個の演算鍵群EK1~EK18を演算鍵群復号コマンドに乗せてICカード100に送信する。
(Step S81)
The IC
(ステップS82)
ICカード100は、この演算鍵群復号コマンドを受信すると、そのコマンドコードから演算鍵群復号コマンドであることを認識し、演算鍵群復号コマンドの受信のレスポンスデータをICカードアクセス装置200に返信する。
(Step S82)
When the
(ステップS83)
次に、ICカード100の復号手段120が、記憶手段14に記憶されているマスタ鍵MKEYを読み出し、このマスタ鍵MKEYを用いて、演算鍵群復号コマンドの暗号化データから演算鍵EK1~EK18を復号して一時記憶手段RAMで記憶する。
(Step S83)
Next, the decryption means 120 of the
(ステップS84)
次に、ICカード100が、次に用いるセッション鍵K1を演算鍵EK1に設定する。
(Step S84)
Next, the
(ステップS85)
次に、ICカードアクセス装置200が、次に用いるセッション鍵K1を演算鍵EK1に設定する。
(Step S85)
Next, the IC
(セキュアメッセージングコマンドの通信手順)
次に、図16から図18を参照して、セキュアメッセージング処理によるセキュアメッセージングコマンド300の通信手順を説明する。
(Secure messaging command communication procedure)
Next, a communication procedure of the
(ステップS91)
先ず、ICカードアクセス装置200が、例えば、図14の演算群リストの演算鍵EK12を指定するリスト番号を選定する。
(Step S91)
First, the IC
次に、暗号化手段210が、ICカード100のファイルAを選択するSELECT FILEコマンドの平文データに、次に用いる演算鍵EK12のリスト番号を加え、そのデータを、第1のセッション鍵K1を利用して暗号化しコマンドの暗号化データ320を作成する。
Next, the encryption means 210 adds the list number of the operation key EK12 to be used next to the plaintext data of the SELECT FILE command for selecting the file A of the
(ステップS92)
次に、暗号化手段210が、ヘッダ310とコマンドの暗号化データ320をセッション鍵K1で暗号化してメッセージ認証コードMACを作成する。そして、ICカードアクセス装置200が、ヘッダ310とコマンドの暗号化データ320とメッセージ認証コードMACから成るセキュアメッセージングコマンド300をICカード100に送信する。
(Step S92)
Next, the encryption means 210 encrypts the
(ステップS93~S94)
ICカード100は、第1の実施形態のステップS13からS14と同様な処理により、コマンドデータをセキュアメッセージングコマンド300であると認識し復号手段120で復号し、SELECT FILEコマンドの平文データと、次に用いる演算鍵のリスト番号を得る。
(Steps S93-S94)
The
ICカード100は、次に用いる演算鍵のリスト番号と、図14の演算鍵群リストから、次に用いる演算鍵が演算鍵EK12であると判定し、次に用いる演算鍵EK12を用意する。
The
(ステップS95~S97)
ICカード100は、復号したSELECT FILEコマンドに従ってICカード100のファイルAを選択する処理を行い、レスポンスデータのセキュアメッセージングコマンド300をICカードアクセス装置200に返信する。
(Steps S95-S97)
The
(ステップS98)
ICカード100のセッション鍵変更演算切替手段131が、次に、以下の演算処理で次のセッション鍵K2を導出する。すなわち、セッション鍵変更演算切替手段131は、排他的論理和を行う演算1を選んで、セッション鍵K1と演算鍵EK12のXOR(排他的論理和)を演算し、その結果を新たなセッション鍵K2とする。そして、ICカード100は、ICカードアクセス装置200とのセキュアメッセージンで使用するセッション鍵をセッション鍵K2に変更する。
(Step S98)
The session key change calculation switching means 131 of the
(ステップS99)
ICカードアクセス装置200の復号手段220が、ICカードアクセス装置200が記憶しているセッション鍵K1を用いて、コマンドの暗号化データ320を復号して、レスポンスデータの平文データを得る。
(Step S99)
The decryption means 220 of the IC
(ステップS100)
ICカードアクセス装置200は、ICカード100から受信したコマンドがレスポンスデータであった場合は、セッション鍵変更演算切替手段231が、次にICカード100とのセキュアメッセージンで使用するセッション鍵K2を、以下の演算処理で導出する。
(Step S100)
In the IC
すなわち、セッション鍵変更演算切替手段231は、ICカード100に同期してICカード100が使用したのと同じ演算1を選んで、セッション鍵K1と演算鍵EK12のXOR(排他的論理和)を演算し、その結果を新たなセッション鍵K2とする。そして、ICカードアクセス装置200は、ICカード100とのセキュアメッセージンで使用するセッション鍵をセッション鍵K2に変更する。
That is, the session key change operation switching means 231 synchronizes with the
(ステップS101)
ICカードアクセス装置200が、次に用いる演算鍵の、例えば、図14の演算鍵群リストの演算鍵EK5を指定するリスト番号を選定する。
(Step S101)
The IC
次に、暗号化手段210が、例えば、選択したファイルAに対して値を書き込むWRITE BINARYコマンドの平文データに、次に用いる演算鍵EK5のリスト番号を加え、そのデータを、セッション鍵K2を用いて暗号化しコマンドの暗号化データ320を作成する。
Next, the encryption means 210 adds the list number of the operation key EK5 to be used next to the plaintext data of the WRITE BINARY command that writes the value to the selected file A, and converts the data using the session key K2. to create
(ステップS102)
次に、暗号化手段210が、ヘッダ310とコマンドの暗号化データ320をセッション鍵K2で暗号化してメッセージ認証コードMACを作成する。そして、ICカードアクセス装置200が、ヘッダ310とコマンドの暗号化データ320とメッセージ認証コードMACから成るセキュアメッセージングコマンド300をICカード100に送信する。
(Step S102)
Next, the encryption means 210 encrypts the
(ステップS103~S104)
ICカード100は、第1の実施形態のステップS23からS24と同様な処理により
、コマンドデータをセキュアメッセージングコマンド300であると認識し復号手段120で復号し、WRITE BINARYコマンドの平文データと、次に用いる演算鍵のリスト番号を得る。
(Steps S103-S104)
The
ICカード100は、次に用いる演算鍵のリスト番号と、図14の演算鍵群リストから、次に用いる演算鍵が演算鍵EK5であると判定し、次に用いる演算鍵EK5を用意する。
The
(ステップS105~S107)
ICカード100は、復号したWRITE BINARYコマンドに従ってファイル書き込み処理を実行し、レスポンスデータのセキュアメッセージングコマンド300をICカードアクセス装置200に返信する。
(Steps S105-S107)
The
(ステップS108)
ICカード100のセッション鍵変更演算切替手段131が、次に、以下の演算処理で次のセッション鍵K3を導出する。すなわち、セッション鍵変更演算切替手段131は、論理積を行う演算2を選んで、セッション鍵K2と演算鍵EK5のAND(論理積)を演算し、その結果を新たなセッション鍵K3とする。そして、ICカード100は、ICカードアクセス装置200とのセキュアメッセージンで使用するセッション鍵をセッション鍵K3に変更する。
(Step S108)
The session key change calculation switching means 131 of the
(ステップS109)
ICカードアクセス装置200の復号手段220が、ICカードアクセス装置200が記憶しているセッション鍵K2を用いて、レスポンスの暗号化データ320を復号して、レスポンスデータの平文データを得る。
(Step S109)
The decryption means 220 of the IC
(ステップS110)
ICカードアクセス装置200は、ICカード100から受信したコマンドがレスポンスデータであった場合は、セッション鍵変更演算切替手段231が、次にICカード100とのセキュアメッセージンで使用するセッション鍵K3を、以下の演算処理で導出する。
(Step S110)
In the IC
すなわち、セッション鍵変更演算切替手段231は、ICカード100に同期してICカード100が使用したのと同じ演算2を選んで、セッション鍵K2と演算鍵EK5のAND(論理積)を演算し、その結果を新たなセッション鍵K3とする。そして、ICカードアクセス装置200は、ICカード100とのセキュアメッセージンで使用するセッション鍵をセッション鍵K3に変更する。
That is, the session key change operation switching means 231 synchronizes with the
(ステップS111)
ICカードアクセス装置200が、次に用いる演算鍵の、例えば、図14の演算鍵群リストの演算鍵EK17を指定するリスト番号を選定する。
(Step S111)
The IC
次に、暗号化手段210が、例えば、選択したファイルAより値を読み出すREAD BINARYコマンドの平文データに、次に用いる演算鍵EK17のリスト番号を加え、そのデータを、セッション鍵K3を用いて暗号化しコマンドの暗号化データ320を作成する。
Next, the encryption means 210 adds the list number of the operation key EK17 to be used next to the plaintext data of the READ BINARY command for reading the value from the selected file A, for example, and encrypts the data using the session key K3. and create
(ステップS112)
次に、暗号化手段210が、ヘッダ310とコマンドの暗号化データ320をセッション鍵K3で暗号化してメッセージ認証コードMACを作成する。そして、ICカードアク
セス装置200が、ヘッダ310とコマンドの暗号化データ320とメッセージ認証コードMACから成るセキュアメッセージングコマンド300をICカード100に送信する。
(Step S112)
Next, the encryption means 210 encrypts the
(ステップS113~S114)
ICカード100は、第1の実施形態のステップS33からS34と同様な処理により、コマンドデータをセキュアメッセージングコマンド300であると認識し復号手段120で復号し、READ BINARYコマンドの平文データと、次に用いる演算鍵のリスト番号を得る。
(Steps S113-S114)
The
ICカード100は、次に用いる演算鍵のリスト番号と、図14のセッション鍵群リストから、次に用いる演算鍵が演算鍵EK17であると判定し、次に用いる演算鍵EK17を用意する。
The
(ステップS115~S117)
ICカード100は、復号したREAD BINARYコマンドに従ってファイルAより値を読み出す処理を実行し、レスポンスデータのセキュアメッセージングコマンド300をICカードアクセス装置200に返信する。
(Steps S115-S117)
The
(ステップS118)
ICカード100のセッション鍵変更演算切替手段131が、次に、以下の演算処理で次のセッション鍵K4を導出する。すなわち、セッション鍵変更演算切替手段131は、以前の演算鍵と排他的論理和を行う演算3を選んで、演算鍵EK5と演算鍵EK17のXOR(排他的論理和)を演算し、その結果を新たなセッション鍵K4とする。そして、ICカード100は、ICカードアクセス装置200とのセキュアメッセージンで使用するセッション鍵をセッション鍵K4に変更する。
(Step S118)
The session key change calculation switching means 131 of the
(ステップS119)
ICカードアクセス装置200の復号手段220が、ICカードアクセス装置200が記憶しているセッション鍵K3を用いて、レスポンスの暗号化データ320を復号して、レスポンスデータの平文データを得る。
(Step S119)
The decryption means 220 of the IC
(ステップS120)
ICカードアクセス装置200は、ICカード100から受信したコマンドがレスポンスデータであった場合は、セッション鍵変更演算切替手段231が、次にICカード100とのセキュアメッセージンで使用するセッション鍵K4を、以下の演算処理で導出する。
(Step S120)
In the IC
すなわち、セッション鍵変更演算切替手段231は、ICカード100に同期してICカード100が使用したのと同じ演算3を選んで、演算鍵EK5と演算鍵EK17のXOR(排他的論理和)を演算し、その結果を新たなセッション鍵K4とする。そして、ICカードアクセス装置200は、ICカード100とのセキュアメッセージンで使用するセッション鍵をセッション鍵K4に変更する。
That is, the session key change operation switching means 231 synchronizes with the
以上、本発明の好適な実施形態について説明したが、本発明は以上の実施形態に限定されず、ICカードアクセス装置200が送信するコマンドに使用するセッション鍵とICカード100が送信するレスポンスに使用するセッション鍵を異なるものにすることもできる。すなわち、ICカードアクセス装置200とICカード100が、コマンド送信時のセッション鍵とレスポンス送信時のセッション鍵を互いに同期させて切り替えて用いて通信する暗号化通信システムにも適用できる。
Although the preferred embodiments of the present invention have been described above, the present invention is not limited to the above embodiments. It is also possible to use different session keys. That is, the present invention can also be applied to an encrypted communication system in which the IC
また、本発明は、ICカードアクセス装置200とICカード100の間の暗号化通信システムに限定されず、携帯端末装置とICカードアクセス装置200との間で通信する暗号化通信システムにも適用でき、更に、携帯端末装置同士の暗号化通信システムにも適用できる。すなわち、本発明は2つの通信装置間でセキュアメッセージングコマンド300を通信する通信システムの暗号化通信システムに適用することができる。
Moreover, the present invention is not limited to the encrypted communication system between the IC
1・・・暗号化通信システム
11・・・制御手段
12・・・コプロセッサ
13・・・通信手段
14・・・記憶手段
100・・・ICカード
110・・・暗号化手段
120・・・復号手段
130・・・セッション鍵変更演算手段
131・・・セッション鍵変更演算切替手段
200・・・ICカードアクセス装置
210・・・暗号化手段
220・・・復号手段
230・・・セッション鍵変更演算手段
231・・・セッション鍵変更演算切替手段
240・・・初期化セッション鍵生成手段
250・・・セッション鍵群作成手段
251・・・演算鍵群作成手段
300・・・セキュアメッセージングコマンド
310・・・ヘッダ
320・・・コマンド/レスポンスの暗号化データ
AR1・・・ファイル管理領域
AR2・・・システム領域
AR3・・・ユーザデータ領域
DF・・・専用ファイル
EF・・・基礎ファイル
EK1、EK2、EK3~EK18・・・演算鍵
IEF・・・内部基礎ファイル
K0、K1・・・初期化セッション鍵
K2、K3、K4~K18・・・セッション鍵
MAC・・メッセージ認証コード
MKEY・・・マスタ鍵
RAM・・・一時記憶手段
ROM・・・固定記憶手段
WEF・・・作業基礎ファイル
Claims (6)
第1の通信装置と第2の通信装置が、それぞれ、暗号化手段と、復号手段と、セッション鍵変更演算手段を備え、
前記第1の通信装置と第2の通信装置が第1の初期化セッション鍵と第2の初期化セッション鍵を共有し、第2の初期化セッション鍵を前記セキュアメッセージングコマンドによる最初のコマンド処理に用いる現用のセッション鍵とし、第1の初期化セッション鍵を旧セッション鍵とし、
前記セキュアメッセージングコマンドによるコマンド処理を行う都度、現用のセッション鍵と旧セッション鍵を演算することで新セッション鍵を作成し、現用のセッション鍵を旧セッション鍵にし、
新セッション鍵を、次のセキュアメッセージングコマンドによるコマンド処理を行う際に用いる現用のセッション鍵にして用いて暗号化通信を行う
事を特徴とする暗号化通信システム。 A cryptographic communication system for communicating secure messaging commands between a first communication device and a second communication device, comprising:
each of the first communication device and the second communication device comprises encryption means, decryption means, and session key change calculation means;
The first communication device and the second communication device share a first initialization session key and a second initialization session key, and pass the second initialization session key to initial command processing with the secure messaging command. Let the current session key to be used, let the first initialization session key be the old session key,
generating a new session key by calculating the current session key and the old session key each time the command processing by the secure messaging command is performed, and making the current session key the old session key;
An encrypted communication system characterized by using a new session key as a current session key to be used when performing command processing according to the next secure messaging command to perform encrypted communication.
前記第1の通信装置と第2の通信装置が、前記セッション鍵を変更する複数の演算アルゴリズムを共有し、前記セッション鍵変更演算手段が前記複数の演算アルゴリズムを同期して切り替えて用いて前記セッション鍵を変更する
事を特徴とする暗号化通信システム。 The encrypted communication system of claim 1, wherein
The first communication device and the second communication device share a plurality of arithmetic algorithms for changing the session key, and the session key change arithmetic means synchronizes and switches among the plurality of arithmetic algorithms to use the session key. change the key
An encrypted communication system characterized by:
前記第1の通信装置がICカードアクセス装置であり、前記第2の通信装置がICカードである
事を特徴とする暗号化通信システム。 The encrypted communication system according to claim 1 or claim 2 ,
The first communication device is an IC card access device, and the second communication device is an IC card.
An encrypted communication system characterized by:
第1の通信装置と第2の通信装置が、それぞれ、暗号化手段と、復号手段と、セッション鍵変更演算手段を備え、
前記第1の通信装置と第2の通信装置が第1の初期化セッション鍵と第2の初期化セッション鍵を共有し、第2の初期化セッション鍵を前記セキュアメッセージングコマンドによる最初のコマンド処理に用いる現用のセッション鍵とし、第1の初期化セッション鍵を旧セッション鍵とし、
前記セキュアメッセージングコマンドによるコマンド処理を行う都度、現用のセッション鍵と旧セッション鍵を演算することで新セッション鍵を作成し、現用のセッション鍵を旧セッション鍵にし、
新セッション鍵を、次のセキュアメッセージングコマンドによるコマンド処理を行う際に用いる現用のセッション鍵にして用いて暗号化通信を行う
事を特徴とする暗号化通信方法。 An encrypted communication method for a communication system for communicating secure messaging commands between a first communication device and a second communication device, comprising:
each of the first communication device and the second communication device comprises encryption means, decryption means, and session key change calculation means;
The first communication device and the second communication device share a first initialization session key and a second initialization session key, and pass the second initialization session key to initial command processing with the secure messaging command. Let the current session key to be used, let the first initialization session key be the old session key,
generating a new session key by calculating the current session key and the old session key each time the command processing by the secure messaging command is performed, and making the current session key the old session key;
An encrypted communication method , characterized in that encrypted communication is performed by using a new session key as a current session key to be used when performing command processing according to a next secure messaging command .
前記第1の通信装置と第2の通信装置が、前記セッション鍵を変更する複数の演算アルゴリズムを共有し、前記セッション鍵変更演算手段が前記複数の演算アルゴリズムを同期して切り替えて用いて前記セッション鍵を変更する
事を特徴とする暗号化通信方法。 The encrypted communication method according to claim 4 ,
The first communication device and the second communication device share a plurality of arithmetic algorithms for changing the session key, and the session key change arithmetic means synchronizes and switches among the plurality of arithmetic algorithms to use the session key. change the key
An encrypted communication method characterized by:
前記第1の通信装置がICカードアクセス装置であり、前記第2の通信装置がICカードである
事を特徴とする暗号化通信方法。
The encrypted communication method according to claim 4 or claim 5 ,
The first communication device is an IC card access device, and the second communication device is an IC card.
An encrypted communication method characterized by:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018228074A JP7206869B2 (en) | 2018-12-05 | 2018-12-05 | Encrypted communication system and encrypted communication method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018228074A JP7206869B2 (en) | 2018-12-05 | 2018-12-05 | Encrypted communication system and encrypted communication method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2020092323A JP2020092323A (en) | 2020-06-11 |
| JP7206869B2 true JP7206869B2 (en) | 2023-01-18 |
Family
ID=71013159
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018228074A Active JP7206869B2 (en) | 2018-12-05 | 2018-12-05 | Encrypted communication system and encrypted communication method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7206869B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117375816A (en) * | 2023-10-16 | 2024-01-09 | 中电信量子科技有限公司 | Methods and systems for encrypted interoperability of communication systems with different encodings |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005050320A (en) | 2003-07-16 | 2005-02-24 | Matsushita Electric Ind Co Ltd | how to access |
| JP2006059227A (en) | 2004-08-23 | 2006-03-02 | Matsushita Electric Ind Co Ltd | IC card |
| WO2011114373A1 (en) | 2010-03-17 | 2011-09-22 | 富士通株式会社 | Communication device, program, and method |
| JP2015026892A (en) | 2013-07-24 | 2015-02-05 | 株式会社メガチップス | Information processing system |
| JP2015095841A (en) | 2013-11-13 | 2015-05-18 | 株式会社メガチップス | Information processing system |
-
2018
- 2018-12-05 JP JP2018228074A patent/JP7206869B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005050320A (en) | 2003-07-16 | 2005-02-24 | Matsushita Electric Ind Co Ltd | how to access |
| JP2006059227A (en) | 2004-08-23 | 2006-03-02 | Matsushita Electric Ind Co Ltd | IC card |
| WO2011114373A1 (en) | 2010-03-17 | 2011-09-22 | 富士通株式会社 | Communication device, program, and method |
| JP2015026892A (en) | 2013-07-24 | 2015-02-05 | 株式会社メガチップス | Information processing system |
| JP2015095841A (en) | 2013-11-13 | 2015-05-18 | 株式会社メガチップス | Information processing system |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2020092323A (en) | 2020-06-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102614209B1 (en) | Method and device for safe communication between devices | |
| WO2004002054A1 (en) | Secure data transfer in mobile terminals and methods therefor | |
| US10389523B2 (en) | Apparatus and method for encrypting and decrypting | |
| JPH09270785A (en) | Information processor | |
| KR20080020621A (en) | Executing Integrity Protected Secure Stores | |
| CN113824553B (en) | Key management method, device and system | |
| WO2019010421A1 (en) | Systems and methods for generating symmetric cryptographic keys | |
| CN111614621B (en) | Internet of things communication method and system | |
| CN112883388B (en) | File encryption method and device, storage medium and electronic device | |
| CN112311536B (en) | Key hierarchical management method and system | |
| CN115065472A (en) | Multi-key encryption and decryption-based security chip encryption and decryption method and device | |
| CN112822177A (en) | Data transmission method, device, equipment and storage medium | |
| JP7206869B2 (en) | Encrypted communication system and encrypted communication method | |
| CN116455572A (en) | Data encryption method, device and equipment | |
| US20160149702A1 (en) | Communication arrangement and method for generating a cryptographic key | |
| KR100522591B1 (en) | Method to securely manage information in database | |
| GB2541975A (en) | Data protection device and data protection method thereof | |
| CN101882991A (en) | Communication data stream encryption method based on block cipher | |
| KR20000072516A (en) | end-to-end data encryption/decryption method and device for mobile data communication | |
| EP3193487B1 (en) | Encryption/decryption device and encryption/decryption method | |
| KR101829423B1 (en) | Apparatus for encrypting or decrypting and method for encrypting or decrypting using the same | |
| CN115208569B (en) | Encryption and decryption method and device for dynamic key distribution | |
| US6802001B1 (en) | Method of incrementally establishing an encryption key | |
| CN109688584A (en) | Date safety storing system and method suitable for energy-constrained network node | |
| KR101758232B1 (en) | method of encryption or decryption a data block, apparatus for encryption or decryption a data block, and storage medium for storing a program for encryption or decryption a data block |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211124 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220830 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220920 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221121 |
|
| 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: 20221206 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221219 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7206869 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |