JP2017046274A - 情報処理システムおよび暗号通信方法 - Google Patents

情報処理システムおよび暗号通信方法 Download PDF

Info

Publication number
JP2017046274A
JP2017046274A JP2015168868A JP2015168868A JP2017046274A JP 2017046274 A JP2017046274 A JP 2017046274A JP 2015168868 A JP2015168868 A JP 2015168868A JP 2015168868 A JP2015168868 A JP 2015168868A JP 2017046274 A JP2017046274 A JP 2017046274A
Authority
JP
Japan
Prior art keywords
encryption
key
protocol
information
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.)
Granted
Application number
JP2015168868A
Other languages
English (en)
Other versions
JP6540381B2 (ja
Inventor
直登 船津
Naoto Funatsu
直登 船津
深谷 宗志
Muneyuki Fukaya
宗志 深谷
満里子 向田
Mariko Mukoda
満里子 向田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2015168868A priority Critical patent/JP6540381B2/ja
Publication of JP2017046274A publication Critical patent/JP2017046274A/ja
Application granted granted Critical
Publication of JP6540381B2 publication Critical patent/JP6540381B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】スマートフォン200AとSIMカード100との間で複数の暗号化プロトコルに基づく暗号化通信を行う。
【解決手段】SIMカード100内の暗号通信処理部110は、N通りのプロトコルP1〜PNに基づく暗号通信機能を有し、暗号鍵格納部120内の鍵テーブルT1には、それぞれ所定のゾーンに所属する各格納場所L11〜L14に暗号鍵が格納されている。特定の暗号化プロトコルP1を用いた暗号通信を行うスマートフォン200Aは、特定の格納場所L13を指定する暗号鍵指定情報を含む暗号通信路開設コマンドCMDをSIMカード100に送信する。暗号通信処理部110は、指定された格納場所L13に格納されている暗号鍵Keys13を用いて、格納場所L13を含むゾーンに対応づけられた暗号化プロトコルP1に基づく暗号通信路を開設して暗号通信を行う。
【選択図】図6

Description

本発明は、2組の情報処理装置の間で所定の暗号化プロトコルに基づいた暗号通信を行う情報処理システムおよび暗号通信方法に関し、特に、ICカードと別な装置との間で暗号通信を行うのに適した暗号通信技術に関する。
2組の情報処理装置間の通信の安全性を確保するためには、両者間にセキュアな暗号通信路を開設し、この暗号通信路を介して暗号通信を行うことが欠かせない。特に、スマートフォンやICカードなどの携帯型の情報処理装置では、紛失によって悪意をもった者の手に渡る可能性があるため、十分なセキュリティ対策を講じておく必要がある。
最近は、スマートフォンをはじめとする携帯型端末装置が普及しており、これらの端末装置には、通常、SIMカードやUIMカードと呼ばれているICカードが装着されている。そしてこのICカードと端末装置、あるいは、このICカードと外部のサーバ装置との間で、所定の通信路を介して情報のやりとりが行われる。このとき、当該情報が機密性を有するものである場合には、セキュアな通信路を開設して暗号化された情報のやりとりを行う必要がある。
このような事情から、ICカードと外部装置との間にセキュアな通信路を開設して暗号通信を行う様々な方法が提案されている。たとえば、下記の特許文献1には、所定の変換アルゴリズムに基づくデータ変換処理機能を有するプロキシ装置を介した通信を行うことにより、機密情報の漏洩を防止する技術が開示されている。また、特許文献2には、インターネットを介してICカードとサーバ装置との間で情報のやりとりを行う際に、公開鍵暗号方式を利用した暗号化通信を行う技術が開示されており、特許文献3には、そのような暗号化通信の最中に、セキュリティに関わる異常発生が検知された場合に、速やかにシステム復旧処理を行う技術が開示されている。一方、特許文献4には、サーバ装置側に、ICカードと1対1に対応するICカード対応領域を設け、このICカード対応領域と利用者端末装置との間にセキュアな通信路を設定してサーバ装置とICカードとを一体化する技術が開示されている。
特開2002−055961号公報 特開2002−217895号公報 特開2006−190222号公報 特開2010−073188号公報
2組の情報処理装置の間にセキュアな暗号通信路を開設するためには、両方の装置に、共通の暗号化プロトコルに基づいた暗号通信処理機能をもたせる必要がある。すなわち、送信側では所定の暗号鍵および所定の暗号化プロトコルを用いて、送信対象となる情報を暗号化して送り出し、受信側では、受信した暗号化情報を、送信側と同じ暗号鍵および暗号化プロトコルを用いて復号することになる。このため、2組の情報処理装置には、予め、特定の暗号鍵および暗号化プロトコルを用いた暗号通信処理機能が組み込まれることになる。
しかしながら、近年、情報処理装置の通信相手は多様化してきており、1つのICカードが、種々の状況に応じて、複数の相手と通信するケースも少なくない。たとえば、スマートフォンに装着されたICカード(SIMカードやUIMカード)の場合、スマートフォン内の複数のアプリケーションプログラムとの間で情報のやりとりを行うケースも少なくない。この場合、ハードウェア上は、ICカードとスマートフォンとの間の二者通信ということになるが、ソフトウェア上は、ICカード側のプログラム(通常、SD(Security Domain)と呼ばれるプログラム)とスマートフォン側の個々のアプリケーションプログラムとの間の個別の通信が行われることになる。
一方、最近は、より安全性の高い暗号化プロトコルが推奨されるようになってきており、実際に利用されている暗号化プロトコルの種類も多岐にわたっている。したがって、実用上は、1つのICカードに、予め、複数通りの暗号化プロトコルに基づく暗号通信機能をもたせておき、当該ICカードと通信を行う外部装置の都合に応じて(たとえば、スマートフォン内のアプリケーションプログラムの都合に応じて)、その都度、任意の暗号化プロトコルを選択して暗号通信を行うことができるようにするのが好ましい。
しかしながら、従来の一般的なシステム、特にICカードに対して通信を行うシステムでは、1つのICカードに複数通りの暗号化プロトコルに基づく暗号通信機能をもたせておき、その都度、任意の暗号化プロトコルを選択して暗号通信を行うことは困難である。これは、現在普及しているICカードが、国際的な仕様に準拠して設計されており、このような仕様に対応させる上では、複数通りの暗号化プロトコルの中から任意の1つを選択して利用することが困難であったためである。
そこで本発明は、2組の情報処理装置の間に、複数通りの暗号化プロトコルの中から選択された任意の暗号化プロトコルに基づく暗号通信路を開設して、両者間でセキュアな通信を可能にする情報処理システムおよび暗号通信方法を提供することを目的とする。また、本発明は、特に、相互に通信を行う2組の情報処理装置のうちの一方がICカードである場合に、ICカードについての国際的な仕様に準拠した方法で、特定の暗号化プロトコルの選択をICカード側に伝達する具体的な方法を提供することを目的とする。
(1) 本発明の第1の態様は、第1の情報処理装置と第2の情報処理装置とを備え、両者間で所定の暗号化プロトコルに基づいた暗号通信が可能な情報処理システムにおいて、
第1の情報処理装置には、
複数N通り(N≧2)の暗号化プロトコルに基づく暗号通信を行う機能を有し、このN通りの暗号化プロトコルのうち、第2の情報処理装置から指定された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設し、開設された暗号通信路を介して第2の情報処理装置との間で暗号通信を行う第1の暗号通信処理部と、
暗号鍵を格納するための複数の格納場所を有し、これら複数の格納場所に、複数N通りの暗号化プロトコルのそれぞれに用いられる暗号鍵を格納した第1の暗号鍵格納部と、
を設け、
第2の情報処理装置には、
上記N通りの暗号化プロトコルのうちの少なくとも1つの特定の暗号化プロトコルに基づく暗号通信を行う機能を有し、当該特定の暗号化プロトコルに基づく暗号通信を行うために開設された暗号通信路を介して第1の情報処理装置との間で暗号通信を行う第2の暗号通信処理部と、
上記特定の暗号化プロトコルに用いられる暗号鍵を格納した第2の暗号鍵格納部と、
第1の情報処理装置に対して、暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドを与える暗号通信路開設指示部と、
を設け、
暗号通信路開設コマンドには、上記特定の暗号化プロトコルを指定するためのプロトコル指定情報と、上記特定の暗号鍵を指定するための暗号鍵指定情報と、を含ませるようにし、
第1の暗号通信処理部は、暗号通信路開設コマンドに含まれているプロトコル指定情報によって指定された暗号化プロトコルおよび暗号通信路開設コマンドに含まれている暗号鍵指定情報によって指定された暗号鍵を利用して暗号通信を行うための暗号通信路を開設するようにしたものである。
(2) 本発明の第2の態様は、上述した第1の態様に係る情報処理システムにおいて、
第1の暗号鍵格納部には、N通りの暗号化プロトコルに対応づけられたN個の格納ゾーンが設定されており、第i番目(1≦i≦N)の格納ゾーンに所属する格納場所には、第i番目の暗号化プロトコルに用いる暗号鍵が格納されており、
暗号通信路開設コマンドには、特定の暗号鍵の格納場所を示す格納場所指定情報が含まれており、
第1の暗号通信処理部は、上記格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、上記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、上記格納場所指定情報によって示された格納場所が所属する格納ゾーンに対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
(3) 本発明の第3の態様は、上述した第2の態様に係る情報処理システムにおいて、
第1の暗号鍵格納部には、キーバージョン番号によって特定される複数の格納場所が用意されており、個々の格納ゾーンは、1つもしくは複数の格納場所によって構成され、
暗号通信路開設コマンドには、格納場所指定情報として特定のキーバージョン番号が含まれており、
第1の暗号通信処理部は、キーバージョン番号によって特定される格納場所に格納されている暗号鍵を用いて、キーバージョン番号によって示された格納場所が所属する格納ゾーンに対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
(4) 本発明の第4の態様は、上述した第3の態様に係る情報処理システムにおいて、
個々の格納ゾーンが、1つの格納場所もしくは連続するキーバージョン番号を有する複数の格納場所によって構成され、個々の格納ゾーンがキーバージョン番号の固有の数値範囲に対応づけられているようにしたものである。
(5) 本発明の第5の態様は、上述した第3または第4の態様に係る情報処理システムにおいて、
第1の暗号鍵格納部の各格納場所には、それぞれキーIDによって特定される複数の格納庫が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されており、
第1の暗号通信処理部は、暗号通信路開設コマンドに含まれるキーバージョン番号によって特定される格納場所内の格納庫のうち、当該格納場所が所属する格納ゾーンに対応する暗号化プロトコルによって予め定められている所定のキーIDによって特定される格納庫に格納されている暗号鍵を利用して暗号通信路を開設するようにしたものである。
(6) 本発明の第6の態様は、上述した第1の態様に係る情報処理システムにおいて、
第1の暗号鍵格納部の各格納場所には、暗号化演算に用いられる鍵値データと、暗号アルゴリズムの種別を示す種別情報と、を含む暗号鍵が格納されており、
暗号通信路開設コマンドには、特定の暗号鍵の格納場所を示す格納場所指定情報が含まれており、
第1の暗号通信処理部は、上記格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、上記格納場所指定情報によって示された格納場所に格納されている暗号鍵に含まれている鍵値データを用いて、当該暗号鍵に含まれている種別情報によって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
(7) 本発明の第7の態様は、上述した第6の態様に係る情報処理システムにおいて、
第1の暗号鍵格納部の各格納場所には、暗号化演算に用いられる鍵値データと、暗号アルゴリズムの種別を示す種別情報と、上記鍵値データの長さを示す鍵長と、を含む暗号鍵が格納されており、
第1の暗号通信処理部は、上記鍵長に基づいて、暗号鍵から鍵値データの抽出を行うようにしたものである。
(8) 本発明の第8の態様は、上述した第6または第7の態様に係る情報処理システムにおいて、
第1の暗号鍵格納部の各格納場所には、それぞれキーIDによって特定される複数の格納庫が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されており、同一の格納場所に属する複数の格納庫に格納されている暗号鍵には、同一の種別情報が含まれており、
第1の暗号通信処理部は、暗号通信路開設コマンドに含まれる暗号鍵指定情報によって特定される格納場所内のいずれかの格納庫に格納されている暗号鍵に含まれる種別情報によって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
(9) 本発明の第9の態様は、上述した第1の態様に係る情報処理システムにおいて、
暗号通信路開設コマンドには、特定の暗号化プロトコルに基づく暗号通信路の開設を指示する文字列を示すコマンド文字列情報と、特定の暗号鍵の格納場所を示す格納場所指定情報と、が含まれており、
第1の暗号通信処理部は、上記コマンド文字列情報をプロトコル指定情報として認識し、上記格納場所指定情報を暗号鍵指定情報として認識することにより、上記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、上記コマンド文字列情報に対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
(10) 本発明の第10の態様は、上述した第9の態様に係る情報処理システムにおいて、
第1の暗号鍵格納部の各格納場所には、それぞれキーIDによって特定される複数の格納庫が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されており、
第1の暗号通信処理部は、暗号通信路開設コマンドに含まれる暗号鍵指定情報によって特定される格納場所内の格納庫のうち、暗号通信路開設コマンドに含まれるコマンド文字列情報に対応する暗号化プロトコルによって予め定められている所定のキーIDによって特定される格納庫に格納されている暗号鍵を利用して暗号通信路を開設するようにしたものである。
(11) 本発明の第11の態様は、上述した第1〜第10の態様に係る情報処理システムにおいて、
第2の暗号通信処理部が、少なくとも、第1の暗号通信処理部に暗号通信機能が備わっている複数N通りの暗号化プロトコルのうちの複数M通り(M≦N)の暗号化プロトコルに基づく暗号通信を行う機能を有し、上記M通りの暗号化プロトコルから選択された特定の暗号化プロトコルに基づく暗号通信を行うために開設された暗号通信路を介して第1の情報処理装置との間で暗号通信を行い、
第2の暗号鍵格納部が、暗号鍵を格納するための複数の格納場所を有し、これら複数の格納場所に、第1の情報処理装置の第1の暗号鍵格納部に格納されている「上記M通りの暗号化プロトコルのそれぞれに用いられる暗号鍵」と同一の暗号鍵が格納されており、
暗号通信路開設指示部が、上記M通りの暗号化プロトコルから特定の暗号化プロトコルを選択し、第1の情報処理装置に対して、選択された暗号化プロトコルに基づく暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドを与えるようにしたものである。
(12) 本発明の第12の態様は、上述した第1〜第11の態様に係る情報処理システムにおける第1の情報処理装置を、ICカードもしくはその他の情報処理装置によって構成したものである。
(13) 本発明の第13の態様は、上述した第1〜第11の態様に係る情報処理システムにおける第2の情報処理装置を、スマートフォンもしくはその他の情報処理装置によって構成したものである。
(14) 本発明の第14の態様は、上述した第1〜第11の態様に係る情報処理システムにおける第1の情報処理装置または第2の情報処理装置を、コンピュータにプログラムを組み込むことにより構成したものである。
(15) 本発明の第15の態様は、第1の情報処理装置と第2の情報処理装置との間で、所定の暗号化プロトコルに基づいた暗号通信を行う暗号通信方法において、
第1の情報処理装置が、複数N通り(N≧2)の暗号化プロトコルに基づく暗号通信を行うプログラムを実行可能な状態に準備するプログラム準備段階と、
第1の情報処理装置が、暗号鍵を格納するための複数の格納場所に、上記N通りの暗号化プロトコルのそれぞれに用いられる暗号鍵を格納する暗号鍵格納段階と、
第2の情報処理装置が、第1の情報処理装置に対して、プログラム準備段階で準備されたN通りの暗号化プロトコルから選択された特定の暗号化プロトコルに基づいて、暗号鍵格納段階で特定の格納場所に格納された特定の暗号鍵を用いた暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドを送信する暗号通信路開設指示段階と、
第1の情報処理装置が、受信した暗号通信路開設コマンドに基づいて、上記特定の暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設する暗号通信路開設段階と、
第1の情報処理装置および第2の情報処理装置が、開設された暗号通信路を介して暗号通信を行う暗号通信段階と、
を行うようにし、
暗号通信路開設指示段階では、上記特定の暗号化プロトコルを指定するためのプロトコル指定情報と、上記特定の暗号鍵を指定するための暗号鍵指定情報と、を含んだ暗号通信路開設コマンドを送信し、
暗号通信路開設段階では、暗号通信路開設コマンドに含まれているプロトコル指定情報によって指定された暗号化プロトコルおよび暗号通信路開設コマンドに含まれている暗号鍵指定情報によって指定された暗号鍵を利用して暗号通信を行うための暗号通信路を開設するようにしたものである。
(16) 本発明の第16の態様は、上述した第15の態様に係る暗号通信方法において、
暗号鍵格納段階において、N通りの暗号化プロトコルに対応づけられたN個の格納ゾーンを設定し、第i番目(1≦i≦N)の格納ゾーンに所属する格納場所には、第i番目の暗号化プロトコルに用いる暗号鍵を格納し、
暗号通信路開設指示段階において、特定の暗号鍵の格納場所を示す格納場所指定情報を含んだ暗号通信路開設コマンドを送信し、
暗号通信路開設段階において、上記格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、上記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、上記格納場所指定情報によって示された格納場所が所属する格納ゾーンに対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
(17) 本発明の第17の態様は、上述した第15の態様に係る暗号通信方法において、
暗号鍵格納段階において、暗号化演算に用いられる鍵値データと、暗号アルゴリズムの種別を示す種別情報と、を含む暗号鍵を格納し、
暗号通信路開設指示段階において、特定の暗号鍵の格納場所を示す格納場所指定情報を含んだ暗号通信路開設コマンドを送信し、
暗号通信路開設段階において、上記格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、上記格納場所指定情報によって示された格納場所に格納されている暗号鍵に含まれている鍵値データを用いて、当該暗号鍵に含まれている種別情報によって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
(18) 本発明の第18の態様は、上述した第15の態様に係る暗号通信方法において、
暗号通信路開設指示段階において、特定の暗号化プロトコルに基づく暗号通信路の開設を指示する文字列を示すコマンド文字列情報と、特定の暗号鍵の格納場所を示す格納場所指定情報と、を含んだ暗号通信路開設コマンドを送信し、
暗号通信路開設段階において、上記コマンド文字列情報をプロトコル指定情報として認識し、上記格納場所指定情報を暗号鍵指定情報として認識することにより、上記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、上記コマンド文字列情報に対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設するようにしたものである。
本発明に係る情報処理システムでは、2組の情報処理装置のうちの少なくとも第1の情報処理装置に、複数N通りの暗号化プロトコルに基づく暗号通信を行う機能をもたせ、第2の情報処理装置から第1の情報処理装置に対して与える暗号通信路開設コマンドに含ませたプロトコル指定情報によって特定の暗号化プロトコルを指定するようにしたため、複数通りの暗号化プロトコルの中から選択された任意の暗号化プロトコルに基づく暗号通信路を開設して、両者間でセキュアな通信を行うことが可能になる。
特に、第1の実施形態に係る発明は、2組の情報処理装置のうちの一方がICカードである場合に適しており、暗号通信路開設コマンドに暗号鍵の格納場所を示す格納場所指定情報を含ませ、当該格納場所が所属する格納ゾーンによって暗号化プロトコルを指定する方法を採用しているため、ICカードについての国際的な仕様に準拠した暗号通信路開設コマンドを用いて、特定の暗号化プロトコルの選択をICカード側に伝達することが可能になる。
同様に、第2の実施形態に係る発明も、2組の情報処理装置のうちの一方がICカードである場合に適しており、暗号通信路開設コマンドに暗号鍵の格納場所を示す格納場所指定情報を含ませ、特定の暗号鍵に含まれている種別情報によって暗号化プロトコルを指定する方法を採用しているため、ICカードについての国際的な仕様に準拠した暗号通信路開設コマンドを用いて、特定の暗号化プロトコルの選択をICカード側に伝達することが可能になる。
また、第3の実施形態に係る発明も、2組の情報処理装置のうちの一方がICカードである場合に適しており、暗号通信路開設コマンドに含まれるコマンド文字列情報によって暗号化プロトコルを指定する方法を採用しているため、ICカードについての国際的な仕様に準拠した暗号通信路開設コマンドを用いて、特定の暗号化プロトコルの選択をICカード側に伝達することが可能になる。
一般的なスマートフォン10,SIMカード11,外部サーバ20の間の情報通信の態様を示すブロック図である。 図1に示すSIMカード11と、スマートフォン10もしくは外部サーバ20と、の間で暗号通信を行うためのプログラム構成の一例を示すブロック図である。 図2に示す鍵テーブルの具体例を示す図である。 図3に示す鍵テーブルに格納されている暗号鍵Keyの一般的なデータ構造および当該暗号鍵を用いた暗号通信路開設コマンドのデータ構造の概要を示す図である。 図2に示すSIMカード11(第1の情報処理装置)と、スマートフォン10(第2の情報処理装置)と、の間でやりとりされる種々のコマンドおよびこれに対する応答の具体例を示すダイアグラムである。 本発明に係る情報処理システムの基本構成を示すブロック図である。 本発明に係る情報処理システムの別な基本構成を示すブロック図である。 本発明に係る情報処理システムの更に別な基本構成を示すブロック図である。 本発明の第1の実施形態に用いられる鍵テーブルT1のゾーン構成の一例を示す図である。 本発明の第1の実施形態に用いられる暗号通信路開設コマンドCMDのデータ構造の一例を示す図である。 本発明の第2の実施形態に用いられる暗号鍵Keyのデータ構造の一例を示す図である。 本発明の第3の実施形態に用いられる暗号通信路開設コマンドCMDのデータ構造の一例を示す図である。 本発明の第3の実施形態におけるコマンド文字列情報と暗号アルゴリズムの種別情報との対応関係を示す表である。 本発明に係る暗号通信方法の基本手順を示す流れ図である。
以下、本発明を図示する実施形態に基づいて説明する。
<<< §1. ICカードに対する従来の一般的な通信形態 >>>
本発明は、2組の情報処理装置の間で所定の暗号化プロトコルに基づく暗号通信を行う技術に係り、特に、ICカードと別な装置との間で暗号通信を行うのに適した暗号通信技術に関するものである。そこで、ここでは、まず、ICカードに対する従来の一般的な通信形態を簡単に説明しておくことにする。
図1は、一般的なスマートフォン10,SIMカード11,外部サーバ20の間の情報通信の態様を示すブロック図である。通常、スマートフォン10は、内部にSIMカード11を装着した状態で利用され、必要に応じて、外部サーバ20と所定の通信路(インターネットや電話回線)を介して交信することになる。ここで、SIMカード11(UIMカードとも呼ばれる)は、Java Card(商標)やGlobalPlatform (登録商標)など、事実上の標準となっている国際的な仕様に準拠したICカードであり、外部装置との交信は、当該外部装置から与えられるコマンドと、これに対する応答という形式で行われる。
SIMカード11に着目すると、スマートフォン10も外部サーバ20も、いずれも外部装置ということになり、これら外部装置との間の交信は、所定の通信路を介して行われる。図1には、スマートフォン10と外部サーバ20との間の通信路しか示されていないが、実際には、SIMカード11とスマートフォン10との間やSIMカード11と外部サーバ20との間にも通信路が形成される。本発明は、これらの通信路として暗号通信路を開設する技術に関するものである。
図2は、図1に示すSIMカード11と、スマートフォン10もしくは外部サーバ20と、の間で暗号通信を行うためのプログラム構成の一例を示すブロック図である。本発明は、ICカードに限らず、一般的な2組の情報処理装置の間で暗号通信を行う場合に広く適用できる技術であり、一般論として、任意の情報処理装置間での通信に利用可能である。したがって、図2には、第1の情報処理装置100と第2の情報処理装置200との間に通信路を開設して相互に交信を行う例が示されている。
ただ、上述したとおり、本発明は、ICカードに対する暗号通信を行うのに特に適した技術であり、ここでは、第1の情報処理装置100がスマートフォン10に装着されたSIMカード11であり、第2の情報処理装置200が当該スマートフォン10(もしくは、外部サーバ20でもよい)である場合について、以下の説明を行うことにする。
SIMカード11をはじめとするICカードには、通常、複数のアプリケーションプログラムが組み込まれる。図2の第1の情報処理装置100(SIMカード11)には、2組のアプリケーションプログラムAP1,AP2が組み込まれた状態が示されている。また、ICカードには、通常、少なくとも1組のSDプログラム(Security Domain プログラム)が組み込まれている。このSDプログラムは、分類上はアプリケーションプログラムの一種であるが、OSプログラムと協働して、ICカード全体の動作や、他のアプリケーションプログラムを管理する役割を果たす。
具体的には、一般的なSDプログラムには、次のような機能が組み込まれている。
<機能1>ICカードのライフサイクル管理
<機能2>アプリケーションプログラムのライフサイクル管理
<機能3>アプリケーションインスタンスのライフサイクル管理
<機能4>アプリケーションプログラムのロード
<機能5>アプリケーションインスタンスの生成(インストール)
<機能6>アプリケーションプログラムやインスタンスの削除
<機能7>アプリケーション向け発行データの書込み
<機能8>データの読出し
<機能9>セキュアな通信路の確保
上記各機能のうち、本発明に直接関連する機能は「機能9:セキュアな通信路の確保」であり、一般に「SCP:Secure Channel Protocol」と呼ばれる所定の暗号化プロトコルに基づいて、外部装置(図2に示す例の場合は、第2の情報処理装置200)との間にセキュアな暗号通信路を開設して暗号通信を行う機能である。このような機能を実現するため、SDプログラム内には、暗号通信路開設ルーチンR1と鍵テーブルT1とが組み込まれている。
一方、第2の情報処理装置200にも、これに応じた暗号通信を行う機能をもったアプリケーションプログラムAP3が用意されており、暗号通信路開設ルーチンR2と鍵テーブルT2とが組み込まれている。たとえば、第2の情報処理装置200がスマートフォン10の場合、アプリケーションプログラムAP3は、このスマートフォン10にインストールされたアプリケーションプログラムの1つである。
第1の情報処理装置100側の暗号通信路開設ルーチンR1と、第2の情報処理装置200側の暗号通信路開設ルーチンR2とは、両装置間にセキュアな暗号通信路を開設し、同一の暗号化プロトコルに基づいた暗号通信を行うためのルーチンであり、鍵テーブルT1と鍵テーブルT2には、同一の暗号鍵が収容されている。したがって、図示の例の場合、SDプログラムとアプリケーションプログラムAP3とによって、第1の情報処理装置100と第2の情報処理装置200との間に、同一の暗号鍵を用いた同一の暗号化プロトコルに基づく暗号通信を行うための暗号通信路が開設されることになる。
ICカードに対する暗号通信に利用される暗号化プロトコルとしては、SCP01,SCP02などのプロトコルが古くから利用されてきている。ただ、これらのプロトコルで用いられている「Triple-DES」という暗号アルゴリズムには危殆化の問題が指摘されており、近年は、AES(Advanced Encryption Standard)なる規格に基づく暗号アルゴリズムを利用したSCP03なるプロトコルも、GlobalPlatform (登録商標)に準拠した仕様として普及し始めている。また、3GPP/ETSIなどの標準化団体を中心に策定されたSCP80,SCP81などのプロトコルの利用も普及してきている。
また、ICカードに組み込まれるSDプログラム用の鍵テーブルTとしては、図3に例示するような鍵空間を用いる仕様が一般化している。図示の鍵テーブルTは、縦方向にキーバージョン番号(key version number)、横方向にキーID(key ID)を定義したマトリックスによって構成されており、キーバージョン番号については、0x01〜0x7Fの範囲内のアドレス空間が割り当てられ、キーIDについては、0x00〜0x7Fの範囲内のアドレス空間が割り当てられている(アドレス先頭の0xは、以下の数値が16進数であることを示す)。
個々の暗号鍵は、この鍵テーブルTのいずれかのセルに格納されることになり、キーバージョン番号とキーIDとの組み合わせにより特定される。たとえば、キーバージョン番号「0x01」とキーID「0x01」との組み合わせにより、暗号鍵KeyAが特定されることになる。図には、個々の暗号鍵の格納例として、KeyA〜KeyRが特定のセルに格納された状態が示されている。もちろん、暗号鍵はすべてのセルに格納する必要はなく、必要な暗号鍵が所定のセルに格納されていれば足りる。
ある1つの暗号化プロトコルでは、ある1つのキーバージョン番号が指定され、当該キーバージョン番号をもったセルに格納されている1つもしくは複数の暗号鍵を利用した暗号化処理もしくは復号処理が実行される。図示の例の場合、キーバージョン番号「0x01」,「0x20」,「0x21」,「0x22」,「0x7E」,「0x7F」の各行に何らかの暗号鍵が格納されている状態が示されている。図示の例の場合、いずれのキーバージョン番号についても、キーID「0x01」,「0x02」,「0x03」の3箇所のセルにそれぞれ暗号鍵が格納されている。
これは、いずれのキーバージョン番号も、3つの異なる暗号鍵を用いる暗号化プロトコル(たとえば、上述したSCP01,SCP02,SCP03など)に対応したものになっているためである。たとえば、キーバージョン番号「0x20」が指定された場合、キーID「0x01」,「0x02」,「0x03」の各セルに格納されている3つの暗号鍵KeyD,KeyE,KeyFが暗号化処理もしくは復号処理に利用されることになる。別言すれば、特定の暗号化プロトコルに基づく暗号化処理もしくは復号処理には、同一のキーバージョン番号をもつ1つもしくは複数の暗号鍵が利用されることになる。もちろん、合計5個の暗号鍵を必要とする暗号化プロトコルのためには、同一のキーバージョン番号をもつ5個のセルにそれぞれ暗号鍵を用意することになる。
一方、図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は、暗号化演算に用いられる鍵値データそのものである。
また、図4(b) は、暗号通信路開設コマンドCMDのデータ構造の概要を示す図である。実際のコマンドは、ISOなどの規格(たとえば、ISO7816-4)に準拠した、より複雑なデータ構造を有するものになるが、説明の便宜上、図4(b) には、本発明の説明に必要な情報のみを抽出した概念的なデータ構造を示すことにする。図示の例は、上述した暗号化プロトコルSCP01,SCP02,SCP03を採用する場合に用いられている暗号通信路の開設コマンドを示しており、暗号通信路の開設を指示する文字列「INITIALIZE UPDATE」なるコマンド文字列情報(実際には、コマンド「INITIALIZE UPDATE」を意味するインストラクションバイト情報であるが、以下、便宜上、INITIALIZE UPDATE」なる文字列として説明する)と、特定の暗号鍵の格納場所を示す格納場所指定情報(実際には、特定のキーバージョン番号)と、所定の乱数とによって構成されている。
たとえば、図3に示す鍵テーブルTに格納されている3つの暗号鍵KeyD,KeyE,KeyFを用いた暗号通信路を開設する場合には、文字列「INITIALIZE UPDATE」に「0x20」なるキーバージョン番号を後続させ、更にその後ろに所定の乱数を後続させた暗号通信路開設コマンドCMDがICカードに与えられる。この暗号通信路開設コマンドCMDの最後に付加される乱数は、外部装置がICカードを正規の交信相手であることを認証するために利用される。別言すれば、暗号通信路開設コマンドCMDは、ICカードに対して、暗号通信路の開設処理を実行する指示コマンドとしての役割とともに、所定の乱数に応じた認証コードを返信するよう求める認証コマンドとしての役割も果たす。
図5は、図2に示すSIMカード11(第1の情報処理装置100)に組み込まれたSDプログラムと、スマートフォン10(第2の情報処理装置200)に組み込まれたアプリケーションプログラムAP3と、の間でやりとりされる種々のコマンドおよびこれに対する応答の具体例を示すダイアグラムである。ステップS1〜S6に示すとおり、いずれもスマートフォン10側からSIMカード11側に所定のコマンドを送信し、当該コマンドに対する応答(レスポンス)をSIMカード11側からスマートフォン10側へと返信する、という形態で、両者間の情報のやりとりが行われる。この例の場合、ステップS1〜S4までの情報のやりとりは、暗号化されていない通常の通信路を介して行われるが、ステップS5,S6の情報のやりとりは、SDプログラムによって開設された暗号通信路を介して行われる。
まず、ステップS1は、スマートフォン10側からSIMカード11側に「SELECTコマンド」を送信するプロセスである。この「SELECTコマンド」は、特定のチャネル番号を指定して、SIMカード11側のSDプログラムを選択するコマンドである。SIMカード11側では、当該チャネル番号と当該SDプログラムとが対応づけられ、以後、同じチャネル番号をもつコマンドが与えられると、当該SDプログラムによって処理されることになる。「SELECTコマンド」が正常に受理されると、SIMカード11側からスマートフォン10側に応答が返される。
続く、ステップS2は、「GET DATAコマンド」を送信するプロセスである。なお、ステップS2以降のコマンドには、ステップS1と同じチャネル番号が付与されており、SIMカード11側では、SDプログラムによって処理される。この「GET DATAコマンド」は、前述したSDプログラムの「機能8:データの読出し」に基づいて、所定のデータをSIMカード11側からスマートフォン10側に読み出すためのコマンドであり、読出対象となるデータを特定する情報が付加されている。SDプログラムは、当該コマンドに応じて、SIMカード11内のメモリから指定されたデータを読出し、これを当該コマンドに対する応答としてスマートフォン10側へと返信する。
GlobalPlatform (登録商標)の仕様では、SDプログラムが前述した「機能1〜機能7」を行う場合は、暗号通信路(機能9によって開設されたセキュアな通信路)を介して情報のやりとりを実行することが必須とされているが、「機能8:データの読出し」については暗号通信路の開設は必須にはなっていない。図5のステップS2のプロセスは、暗号通信路の開設前にデータの読出処理が行われた例を示すものである。
続く、ステップS3,S4は、暗号通信路の開設準備を行うプロセスである。まず、ステップS3では、「INITIALIZE UPDATEコマンド」の送信が行われる。このコマンドは、図4(b) に示すデータ構造をもつ暗号通信路開設コマンドCMDであり、前述したとおり、「INITIALIZE UPDATE」なるコマンド文字列情報に、キーバージョン番号および乱数を付加した形態をもつ。このコマンドは、スマートフォン10が、SIMカード11を正規の交信相手であることを認証するための認証コマンドとしての役割も果たす。
すなわち、「INITIALIZE UPDATEコマンド」を受信したSIMカード11(SDプログラム)は、鍵テーブルT1から、指定されたキーバージョン番号に対応する暗号鍵を取り出し、暗号化処理の準備を行うとともに、与えられた乱数に対して所定のアルゴリズムに基づく演算を施し、演算結果を当該コマンドに対する応答として返信する。スマートフォン10(アプリケーションプログラムAP3)は、返信されてきた演算結果が、与えた乱数に対する正しい演算結果であるか否かを検証し、正しい演算結果であった場合に、現在交信中のSIMカード11を正規の交信相手であると認証する。
続くステップS4では、「EXTERNAL AUTHENTICATEコマンド」の送信が行われる。このコマンドは、SIMカード11がスマートフォン10を正規の交信相手であることを認証するための認証コマンドである。スマートフォン10は、ステップS3の応答により返信されてきたデータに対して所定のアルゴリズムに基づく演算を施し、演算結果を「EXTERNAL AUTHENTICATE」なるコマンド文字列情報に付加してSIMカード11に送信する。SIMカード11(SDプログラム)は、「EXTERNAL AUTHENTICATEコマンド」によって送信されてきた演算結果が、正しい演算結果であるか否かを検証し、正しい演算結果であった場合に、現在交信中のスマートフォン10を正規の交信相手であると認証する。
このステップS3,S4による相互認証の具体的なプロセスは、一般に利用されている公知の技術であるため、ここでは詳しい説明は省略する。こうして、SIMカード11とスマートフォン10との間での相互認証が完了すると、両者間に暗号通信路が開設され、図の破線より下に示されたステップS5以降のコマンドは、この暗号通信路を介して与えられることになる。すなわち、ステップS5以降のコマンドは、所定の暗号化プロトコルに基づいて暗号化され、「SCP:Secure Channel Protocol」により保護されたコマンドとして送信される。
なお、現行の規格では、暗号通信路の開設時(「EXTERNAL AUTHENTICATEコマンド」の処理時)に、SCPについてレベルを設定することが可能である。具体的には、「レベル1:コマンド改竄検知用のチェックコード付与」と「レベル2:コマンド改竄検知用のチェックコード付与+コマンドデータフィールドの暗号化」とが定められており、ステップS5以降にやりとりされるコマンドには、開設時に設定されたレベルが適用されることになる。このようなSCPレベルの設定を行った場合、レベル2の設定が行われたときにのみ、ステップS5以降のコマンドのデータフィールドに対して暗号化が行われることになる。
上述したように、GlobalPlatform (登録商標)の仕様では、SDプログラムに「機能1〜機能7」を実行させる指示を与えるコマンドについては、SCPにより保護されたコマンドとして送信することが必須となっている。したがって、たとえば、SDプログラムにアプリケーションプログラムをロードさせたり、インストールさせたりする処理を実行させるためのコマンドは、図示のステップS5,S6のように、SCPにより保護されたコマンドとして、暗号化された状態で送信されることになる。なお、ステップS5,S6の例では、コマンドに対する応答については、SCPによる保護を行わず、平文のまま通常の通信路を介して返信するようにしているが、必要があれば、これらの応答についても、暗号通信路を介して返信するようにしてもよい。
<<< §2. 本発明に係る情報処理システムの基本構成 >>>
上述した§1では、図5を参照しながら、SIMカード11とスマートフォン10との間に暗号通信路を開設する手順を説明した。ここで開設される暗号通信路は、ハードウェアとしては通常の通信路と変わりはない。しかしながら、この暗号通信路を介して送受信されるデータは、ソフトウェアによって所定の暗号化プロトコルに基づく暗号化が施されるため、万一、漏洩したとしても、必要なセキュリティが確保されることになる。
結局、「暗号通信路の開設」とは、送信側において、所定の暗号化プロトコルに基づく暗号化処理の準備を完了させ、受信側において、所定の暗号化プロトコルに基づく復号処理の準備を完了させた状態ということができる。そのためには、送信側と受信側とにおいて、共通の暗号化プロトコルを用い、共通の暗号鍵を用いることが前提となる。このような事情から、従来は、ICカードにSDプログラムを組み込む際に、特定の暗号化プロトコルを選択し、当該SDプログラムについては、専ら、この選択された特定の暗号化プロトコルを用いた「暗号通信路の開設」が行われるような設定を行っていた。
このため、本来は、SCP01,SCP02,SCP03なる3通りの暗号化プロトコルに対応しているSDプログラムであっても、ICカードにインストールする時点で、いずれか1つの暗号化プロトコルを選択し、インストール後は、当該選択された暗号化プロトコルに基づく暗号通信路のみが開設されるようにする、という運用が行われている。もちろん、暗号鍵については、図3に例示するような鍵テーブルTを用意しておき、暗号通信路の開設時にキーバージョン番号による指定を行うことにより、複数とおりの暗号鍵の中から任意の暗号鍵を選択して用いることが可能であるが、暗号化プロトコルについては、複数とおりのプロトコルから任意のプロトコルを選択して用いることはできず、選択の多様性は失われてしまう。
最近は、暗号化プロトコルの種類も多岐にわたっている。具体的には、SCP01,SCP02,SCP03,SCP10,SCP80,SCP81などの暗号化プロトコルが実際に利用されており、今後も様々な暗号化プロトコルの提唱が見込まれている。また、ICカードの通信相手も多様化してきており、1つのICカードが、種々の状況に応じて、複数の相手と通信するケースも少なくない。
たとえば、スマートフォンには、複数のアプリケーションプログラムがインストールされるのが一般的であり、スマートフォンに装着されたICカードは、複数のアプリケーションプログラムとの間で情報のやりとりを行うケースも少なくない。この場合、ICカード側のSDプログラムが、特定の暗号化プロトコルのみにしか対応していないと、スマートフォン側のアプリケーションプログラムの自由度が低下せざるを得ない。
本発明は、このような問題に対処するために提案されたものであり、2組の情報処理装置の間に、複数通りの暗号化プロトコルの中から選択された任意の暗号化プロトコルに基づく暗号通信路を開設して、両者間でセキュアな通信を可能にする技術を提供するものである。以下、図6を参照しながら、本発明に係る情報処理システムの基本構成を説明する。
図6に示す情報処理システムは、第1の情報処理装置100と第2の情報処理装置200Aとを備え、両者間で所定の暗号化プロトコルに基づいた暗号通信が可能な情報処理システムである。ここでは、§1で述べた例と同様に、第1の情報処理装置100として、SIMカード11を用い、第2の情報処理装置200Aとして、当該SIMカード11を装着する相手となるスマートフォン10Aを用いた例について、以下の説明を行うことにする。
図示のとおり、第1の情報処理装置100には、暗号通信路を開設する処理を行う第1の暗号通信処理部110と暗号鍵を格納する第1の暗号鍵格納部120とが設けられており、第1の暗号通信処理部110は、第1の暗号鍵格納部120に格納されている暗号鍵を用いて、暗号通信路を開設する処理を行う。ここに示す実施例の場合、第1の暗号通信処理部110は、実際には、SIMカード11にインストールされたSDプログラムの機能として実現されることになり、第1の暗号鍵格納部120は、このSDプログラムによって管理されるSIMカード11に内蔵されたメモリの一部分の領域として実現されることになる。
一方、第2の情報処理装置200Aには、第1の暗号通信処理部110が開設した暗号通信路を利用して暗号通信を行う第2の暗号通信処理部210Aと、暗号鍵を格納する第2の暗号通信処理部220Aと、第1の暗号通信処理部110に対して暗号通信路の開設を指示する暗号通信路開設指示部230Aとが設けられている。後述するように、暗号通信路開設指示部230Aから第1の暗号通信処理部110に対して、暗号通信路開設コマンドCMDが送信されると、第1の暗号通信処理部110は、当該コマンドに基づいて暗号通信路を開設する処理を行う。その後、第2の暗号通信処理部210Aは、第2の暗号通信処理部220Aに格納されている暗号鍵を用いて、当該暗号通信路を介した暗号通信を行うことになる。
ここに示す実施例の場合、第2の暗号通信処理部210Aおよび暗号通信路開設指示部230Aは、実際には、スマートフォン10Aにインストールされたアプリケーションプログラムの機能として実現されることになり、第2の暗号通信処理部220Aは、スマートフォン10Aに内蔵されたメモリの一部分の領域として実現されることになる。
結局、本発明に係る第1の情報処理装置100は、ICカードもしくはその他の情報処理装置を構成するコンピュータに、SDプログラム等の専用プログラムを組み込むことによって実現され、本発明に係る第2の情報処理装置200Aは、スマートフォンもしくはその他の情報処理装置を構成するコンピュータに、所定のプログラムを組み込むことによって実現されることになる。
続いて、上記各構成要素の機能について、更に詳しい説明を行う。まず、第1の暗号通信処理部110は、複数N通り(N≧2)の暗号化プロトコルに基づく暗号通信を行う機能を有しており、第2の情報処理装置200Aから、このN通りの暗号化プロトコルのうちの特定のプロトコルを指定した暗号通信路開設コマンドCMDが与えられた場合に、指定された特定の暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設し、開設された暗号通信路を介して第2の情報処理装置200Aとの間で暗号通信を行うことができる。
図6には、第1の暗号通信処理部110のブロック内に、第1の暗号化プロトコルP1,第2の暗号化プロトコルP2,...,第Nの暗号化プロトコルPNが用意されている状態が示されている。これら各暗号化プロトコルP1〜PNは、実際には、第1の情報処理装置100(SIMカード11)にインストールされたSDプログラムの機能として用意される。
上述したとおり、従来は、SDプログラムをインストールする際に、特定の暗号化プロトコルを1つだけ選択し、インストール後は、当該選択された暗号化プロトコルに基づく暗号通信路のみが開設されるようにする運用が採られていた。これに対して、本発明の場合、SDプログラムをインストールする際に、複数N通りの暗号化プロトコルにそれぞれ対応した暗号化処理および復号処理が実行できるような運用が採られる。たとえば、SCP01,SCP02,SCP03なる3通りの暗号化プロトコルに対応しているSDプログラムをインストールする場合、これら3通りすべてのプロトコルを利用可能な態様でインストールが行われる(N=3の場合)。そして、第1の暗号通信処理部110が実際に暗号通信路を開設する際には、これら3通りのうち、指定された1つの暗号化プロトコルを選択し、選択した暗号化プロトコルに基づく暗号通信路の開設を行うことになる。
一方、第1の暗号鍵格納部120は、暗号鍵を格納するための複数の格納場所を有し、これら複数の格納場所に、上記N通りの暗号化プロトコルのそれぞれに用いられる暗号鍵を格納している構成要素である。図6には、第1の暗号鍵格納部120内に4組の格納場所L11〜L14が設けられ、これら各格納場所L11〜L14にそれぞれ暗号鍵Keys11〜Keys14が格納されている状態が示されている。これら各格納場所L11〜L14は、実際には、それぞれが図3に示す鍵テーブルTの1行分のセルに相当するものであり、暗号鍵を「Keys」と複数形にしているのは、複数の暗号鍵によって構成されていることを示すためである。
たとえば、格納場所L11に格納されている暗号鍵Keys11は、図3に示す鍵テーブルTにおいて、キーバージョン番号「0x01」に対応する格納場所に格納されている3組の暗号鍵KeyA,KeyB,KeyCに相当する。このように、本発明にいう「暗号鍵」は、必ずしも1つの暗号鍵である必要はなく、ある特定の暗号化プロトコルに用いられる複数の暗号鍵の集合体も含む概念である。
続いて、第2の情報処理装置200A(スマートフォン10A)側の構成要素についての説明を行う。まず、第2の暗号通信処理部210Aは、第1の暗号通信処理部110に用意されている複数N通りの暗号化プロトコルのうちの少なくとも1つの特定の暗号化プロトコルに基づく暗号通信を行う機能を有し、当該特定の暗号化プロトコルに基づく暗号通信を行うために開設された暗号通信路を介して第1の暗号通信処理部110との間で暗号通信を行う構成要素である。図に示す例の場合、第2の暗号通信処理部210Aは、第1の暗号化プロトコルP1のみに対応しており、この第1の暗号化プロトコルP1を上記特定の暗号化プロトコルとして、暗号通信を行う機能を有している。
第2の暗号鍵格納部220Aは、上記特定の暗号化プロトコルに用いられる特定の暗号鍵を格納する構成要素であり、図示の例の場合は、第1の暗号化プロトコルP1に用いられる暗号鍵として、暗号鍵Keys13が格納されている。この暗号鍵Keys13は、第1の暗号鍵格納部120の格納場所L13に格納されている暗号鍵Keys13と同一のものである。
このように、第2の暗号通信処理部210Aは、第1の暗号通信処理部110に用意されているN通りの暗号化プロトコルのうちの少なくとも1つと同じ暗号化プロトコルに基づく暗号通信機能を有しており、第2の暗号鍵格納部220Aには、第1の暗号鍵格納部120のいずれかの格納場所に格納されている暗号鍵と同一の暗号鍵が格納されていることになる。したがって、第1の情報処理装置100と第2の情報処理装置200Aとは、同一の暗号鍵を用いて同一の暗号化プロトコルに基づく暗号通信路を確保し、当該暗号通信路を介した暗号通信によって情報のやりとりを行うことができる。
暗号通信路開設指示部230Aは、このような暗号通信路の開設を指示するための暗号通信路開設コマンドCMDを第1の情報処理装置100に与える構成要素である。本発明の特徴は、この暗号通信路開設コマンドCMDに、特定の暗号化プロトコルを指定するためのプロトコル指定情報を含ませるようにした点にある。すなわち、本発明で用いられる暗号通信路開設コマンドCMDには、第2の暗号通信処理部210Aが対応している特定の暗号化プロトコルを指定するためのプロトコル指定情報と、当該特定の暗号化プロトコルに用いる特定の暗号鍵を指定するための暗号鍵指定情報と、が含まれている。
このような暗号通信路開設コマンドCMDを受信した第1の暗号通信処理部110は、当該暗号通信路開設コマンドCMDに含まれているプロトコル指定情報によって指定された暗号化プロトコルおよび当該暗号通信路開設コマンドCMDに含まれている暗号鍵指定情報によって指定された暗号鍵を利用して、暗号通信を行うための暗号通信路を開設する処理を行うことになる。
たとえば、図示の例の場合、第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を利用した暗号通信が実行される。
本発明に係る情報処理システムの利点は、第1の情報処理装置100が、複数N通りの暗号化プロトコルに基づく暗号通信機能を有しているため、必要に応じて、用いる暗号化プロトコルを適宜変更することができる点である。図7は、本発明に係る情報処理システムの別な基本構成を示すブロック図である。図6に示す情報処理システムと図7に示す情報処理システムとの相違は、前者の第2の情報処理装置200Aが、後者では第2の情報処理装置200Bに置き換えられている点のみである。
ここでは、この図7に示す例において、第2の情報処理装置200Bが、スマートフォン10Bである場合を考えてみよう。別言すれば、図6に示す情報処理システムにおけるSIMカード11をスマートフォン10Aから抜き取り、これを別なスマートフォン10Bに差し替えたものが、図7に示す情報処理システムということになる。
第2の情報処理装置200Bには、第1の暗号通信処理部110が開設した暗号通信路を利用して暗号通信を行う第2の暗号通信処理部210Bと、暗号鍵を格納する第2の暗号鍵格納部220Bと、第1の暗号通信処理部110に対して暗号通信路の開設を指示する暗号通信路開設指示部230Bとが設けられている。これら各構成要素210B,220B,230Bの基本的な機能は、図6に示す各構成要素210A,220A,230Aの基本的な機能と全く同じである。
ただ、第2の暗号通信処理部210Bは、第1の暗号化プロトコルP1ではなく、第2の暗号化プロトコルP2のみに対応しており、この第2の暗号化プロトコルP2を特定の暗号化プロトコルとして、暗号通信を行う機能を有している。一方、第2の暗号鍵格納部220Bには、第2の暗号化プロトコルP2に用いる特定の暗号鍵として、2通りの暗号鍵Keys11およびKeys12が、鍵テーブルT2の形で格納されている。これらの暗号鍵Keys11,Keys12は、第1の暗号鍵格納部120の格納場所L11,L12に格納されている暗号鍵Keys11,Keys12と同一のものであり、実際には、前述したとおり、複数の暗号鍵の集合体によって構成されている。
暗号通信路開設指示部230Bは、前述した暗号通信路開設指示部230Aと同様に、暗号通信路の開設を指示するための暗号通信路開設コマンドCMDを第1の情報処理装置100に与える構成要素である。暗号通信路開設コマンドCMDには、第2の暗号通信処理部210Bが対応している特定の暗号化プロトコルを指定するためのプロトコル指定情報と、当該特定の暗号化プロトコルに用いる特定の暗号鍵を指定するための暗号鍵指定情報と、が含まれている。
具体的には、図示の例の場合、第2の暗号通信処理部210Bは、第2の暗号化プロトコルP2に基づく暗号通信機能を有しており、第2の暗号鍵格納部220Bには、当該プロトコルP2に用いるための暗号鍵Keys11,Keys12が格納されているので、暗号通信路開設指示部230Bは、第2の暗号化プロトコルP2を指定するプロトコル指定情報と、暗号鍵Keys11もしくはKeys12のいずれかを指定する暗号鍵指定情報と、を含んだ暗号通信路開設コマンドCMDを第1の暗号通信処理部110に送信することになる。
そのような暗号通信路開設コマンドCMDを受信した第1の暗号通信処理部110は、指定された第2の暗号化プロトコルP2および指定された暗号鍵Keys11もしくはKeys12を利用して、暗号通信路の開設処理を行う。かくして、第1の情報処理装置100と第2の情報処理装置200Bとの間で、第2の暗号化プロトコルP2および暗号鍵Keys11もしくはKeys12を利用した暗号通信が実行される。もちろん、第2の暗号鍵格納部220Bに、より多数の暗号鍵を用意しておけば、暗号鍵指定情報によって指定可能な暗号鍵のバリエーションはより豊富になる。
結局、図6に示す実施例と図7に示す実施例とを参照すれば、全く同一のSIMカード11(第1の情報処理装置100)が、互いに異なる暗号化プロトコルを利用した暗号通信機能をもった2組のスマートフォン10A,10B(第2の情報処理装置200A,200B)のいずれに対しても暗号通信を行う機能をもつことになり、当該SIMカード11は、スマートフォン10Aに装着して用いることもできるし、スマートフォン10Bに装着して用いることもできる。すなわち、SIMカード11は、複数N通りの暗号化プロトコルの中から選択された任意の暗号化プロトコルに基づく暗号通信路を開設して、セキュアな通信を行うことが可能になる。
図8は、本発明に係る情報処理システムの更に別な基本構成を示すブロック図である。図6に示す情報処理システムと図8に示す情報処理システムとの相違は、前者の第2の情報処理装置200Aが、後者では第2の情報処理装置200Cに置き換えられている点のみである。
ここでも、この図8に示す例において、第2の情報処理装置200Cが、スマートフォン10Cである場合を考えてみる。別言すれば、図6に示す情報処理システムにおけるSIMカード11をスマートフォン10Aから抜き取り、これを別なスマートフォン10Cに差し替えたものが、図8に示す情報処理システムということになる。
第2の情報処理装置200Cには、第1の暗号通信処理部110が開設した暗号通信路を利用して暗号通信を行う第2の暗号通信処理部210Cと、暗号鍵を格納する第2の暗号鍵格納部220Cと、第1の暗号通信処理部110に対して暗号通信路の開設を指示する暗号通信路開設指示部230Cとが設けられている。これら各構成要素210C,220C,230Cの基本的な機能は、図6に示す各構成要素210A,220A,230Aの基本的な機能と全く同じである。
ただ、第2の暗号通信処理部210Cは、少なくとも、第1の暗号通信処理部110に暗号通信機能が備わっている複数N通りの暗号化プロトコルのうちの複数M通り(M≦N)の暗号化プロトコルに基づく暗号通信を行う機能を有しており、当該M通りの暗号化プロトコルから選択された特定の暗号化プロトコルに基づく暗号通信を行うために開設された暗号通信路を介して第1の情報処理装置100との間で暗号通信を行うことができる。
M=Nに設定した場合、第2の暗号通信処理部210Cは、第1の暗号化プロトコルP1に基づく暗号通信路、第2の暗号化プロトコルP2に基づく暗号通信路、...、第Nの暗号化プロトコルPNに基づく暗号通信路のすべてを用いた暗号通信を行うことが可能になる。一方、M<Nに設定した場合は、第1の暗号通信処理部110が対応可能ないくつかの暗号化プロトコルについて、第2の暗号通信処理部210Cは対応できないことになる。
図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を送信するようにすれば支障は生じない。
なお、第2の暗号通信処理部210Cに、第1の暗号通信処理部110が対応できない暗号化プロトコルが格納されていても、第1の情報処理装置100に対しては、当該暗号化プロトコルを指定する暗号通信路開設コマンドCMDを送信しないようにすれば支障は生じない。要するに、暗号通信路開設指示部230Cは、第1の暗号通信処理部110および第2の暗号通信処理部210Cの双方が対応可能な暗号化プロトコルを指定するプロトコル指定情報を含む暗号通信路開設コマンドCMDを送信するようにすればよい。
一方、第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に格納されている各暗号鍵と同一のものであり、実際には、前述したとおり、複数の暗号鍵の集合体によって構成されている。
暗号通信路開設指示部230Cは、前述した暗号通信路開設指示部230Aと同様に、暗号通信路の開設を指示するための暗号通信路開設コマンドCMDを第1の情報処理装置100に与える構成要素である。すなわち、暗号通信路開設指示部230Cは、第2の暗号通信処理部210Cが対応しているM通りの暗号化プロトコルから特定の暗号化プロトコルを選択し、第1の情報処理装置100に対して、選択された暗号化プロトコルに基づく暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドCMDを与える処理を行う。前述したとおり、この暗号通信路開設コマンドCMDには、上記M通りの暗号化プロトコルから選択された特定の暗号化プロトコルを指定するためのプロトコル指定情報と、当該特定の暗号化プロトコルに用いる特定の暗号鍵を指定するための暗号鍵指定情報と、が含まれている。
具体的には、図示の例の場合、第2の暗号通信処理部210Cは、M通りの暗号化プロトコルに基づく暗号通信機能を有しており、第2の暗号鍵格納部220Cには、これらの各プロトコルに用いるための暗号鍵Keys11,Keys12,Keys13が格納されているので、暗号通信路開設指示部230Cは、M通りの暗号化プロトコルのうちの1つを指定するプロトコル指定情報と、暗号鍵Keys11,Keys12,Keys13のうち、当該指定された暗号化プロトコルに利用可能ないずれかの暗号鍵を指定する暗号鍵指定情報と、を含んだ暗号通信路開設コマンドCMDを第1の暗号通信処理部110に送信することになる。
そのような暗号通信路開設コマンドCMDを受信した第1の暗号通信処理部110は、指定された特定の暗号化プロトコルおよび指定された特定の暗号鍵を利用して、暗号通信路の開設処理を行う。かくして、第1の情報処理装置100と第2の情報処理装置200Cとの間で、特定の暗号化プロトコルおよび特定の暗号鍵を利用した暗号通信が実行される。
通常、スマートフォンには、複数のアプリケーションプログラムがインストールされ、当該スマートフォンに装着されたICカード(SIMカード)は、これら複数のアプリケーションプログラムとの間で情報のやりとりを行うことになる。しかも、スマートフォンにインストールされた個々のアプリケーションプログラムが、互いに異なる暗号化プロトコルを前提とした暗号通信機能をもっていることも少なくない。
図8に示す情報処理システムは、このようなケースに適用する上で最適な実施例である。たとえば、スマートフォン10Cに、複数M個のアプリケーションプログラムがインストールされており、第1〜第Mのアプリケーションプログラムが、それぞれ第1〜第Mの暗号化プロトコルP1〜PMに基づく暗号通信機能を有していた場合、図8に示す第2の暗号通信処理部210Cは、これらM個のアプリケーションプログラムの各暗号通信機能によって実現されることになり、第2の暗号鍵格納部220Cには、これらM個のアプリケーションプログラムの各暗号通信機能に用いるための暗号鍵が格納されていることになる。
この場合、スマートフォン10Cにインストールされている第1のアプリケーションプログラムがSIMカード11と交信する際には、暗号通信路開設指示部230Cによって、第1の暗号化プロトコルP1を指定するプロトコル指定情報と、これに用いる特定の暗号鍵を指定する暗号鍵指定情報と、を含んだ暗号通信路開設コマンドCMDを第1の暗号通信処理部110に送信すればよい。同様に、スマートフォン10Cにインストールされている第2のアプリケーションプログラムがSIMカード11と交信する際には、暗号通信路開設指示部230Cによって、第2の暗号化プロトコルP2を指定するプロトコル指定情報と、これに用いる特定の暗号鍵を指定する暗号鍵指定情報と、を含んだ暗号通信路開設コマンドCMDを第1の暗号通信処理部110に送信すればよい。
このように、図8に示す情報処理システムでは、スマートフォン10Cにインストールされている個々のアプリケーションプログラムが、それぞれ独自の暗号化プロトコルに基づいてSIMカード11との間に暗号通信路を開設し、暗号通信を行うことが可能になる。SIMカード11は、スマートフォン10C内の各アプリケーションプログラムが対応している複数M通りの暗号化プロトコルの中から、個々のアプリケーションプログラムごとに選択された任意の暗号化プロトコルに基いて暗号通信路を開設し、セキュアな通信を行うことが可能になる。
<<< §3. ICカードの仕様を考慮した具体的な実施形態 >>>
§2で説明したとおり、本発明に係る情報処理システムの特徴は、第1の情報処理装置100に、複数N通りの暗号化プロトコルに基づく暗号通信を行う機能をもたせ、第2の情報処理装置200から第1の情報処理装置100に対して与える暗号通信路開設コマンドCMDに含ませたプロトコル指定情報によって特定の暗号化プロトコルを指定するようにした点にある。
ただ、暗号通信を行う2組の情報処理装置のうちの一方がICカードである場合、本発明を適用する際に固有の工夫を施す必要がある。これは、§1で述べたとおり、現在普及している一般的なICカードは、Java Card(商標)やGlobalPlatform (登録商標)などの国際的な仕様に準拠させることが事実上不可欠になっているため、当該仕様に準拠した形式で、「複数N通りの暗号化プロトコルのうち、どの暗号化プロトコルに基づく暗号通信路を開設するのか」を指定するプロトコル指定情報を、ICカードへ伝達する必要があるためである。
たとえば、暗号化プロトコルSCP01,SCP02,SCP03を採用した場合、ICカードに与える暗号通信路開設コマンドCMDの書式は、GlobalPlatform (登録商標)の仕様によれば、図4(b) に示すような形式にする必要がある。したがって、当該仕様に準拠する限り、この暗号通信路開設コマンドCMDに、特定の暗号化プロトコルを指定するプロトコル指定情報をそのまま付加することはできない。
たとえば、「INITIALIZE UPDATE,(キーバージョン番号),(乱数),(プロトコル指定情報)」のような書式をもった暗号通信路開設コマンドCMDを用いることができれば、(プロトコル指定情報)の部分に、たとえば、「SCP02」のような文字列を置くことにより、暗号化プロトコルSCP02が指定されたことをICカード側に伝達することが可能である。しかしながら、上記書式をもった暗号通信路開設コマンドCMDは、GlobalPlatform (登録商標)の仕様には準拠しないものになってしまうため、実用上、利用することができない。
そこで、この§3では、上記事情に鑑みて、GlobalPlatform (登録商標)等の国際的な仕様に準拠しつつ、暗号通信路を開設する際に、ICカード側にプロトコル指定情報を伝達することができる具体的な実施形態を述べることにする。
<3−1.第1の実施形態>
暗号化プロトコルSCP01,SCP02,SCP03を採用した場合、ICカードに与える暗号通信路開設コマンドCMDの書式を図4(b) に示すような形式にすれば、仕様に準拠したものになる。そこで、第1の実施形態では、このような書式における「キーバージョン番号」の部分にプロトコル指定情報を含ませてしまう、という方法を採用する。
そのために、まず、鍵テーブルに格納ゾーンを設定する。図6に示すように、SIMカード11には、鍵テーブルT1が含まれている。この鍵テーブルT1は、実際には、図3に例示したように、縦方向にキーバージョン番号(key version number)、横方向にキーID(key ID)を定義したマトリックスによって構成されたアドレス空間を構成する。
そこで、この鍵テーブルT1に、たとえば、図9(a) に示すようなN個の格納ゾーンZ1〜ZNを設定してみる。各格納ゾーンは、図のマトリックスにおける1行もしくは複数行の領域によって構成される。たとえば、第1番目の格納ゾーンZ1は、キーバージョン番号「0x01」で特定される1行分のゾーンであり、第i番目の格納ゾーンZiは、キーバージョン番号「0x20〜0x22」で特定される3行分のゾーンであり、第N番目の格納ゾーンZNは、キーバージョン番号「0x7E〜0x7F」で特定される2行分のゾーンである。
こうして、N個の格納ゾーンを設定したら、これらN個の格納ゾーンZ1〜ZNを、それぞれ図6の第1の暗号通信処理部110に示されているN通りの暗号化プロトコルP1〜PNに対応づける。そして、第i番目(1≦i≦N)の格納ゾーンZiに所属する格納場所には、第i番目の暗号化プロトコルPiに用いる暗号鍵を格納する。
図9(b) は、このようなゾーン設定の結果をまとめた表である。このような表は、SIMカード11側の第1の暗号通信処理部110内に格納しておくようにする。また、必要に応じて、スマートフォン10A側の暗号通信路開設指示部230A内にも格納しておくようにする。
図示のとおり、第1番目の格納ゾーンZ1は、キーバージョン番号の数値範囲「0x01」で特定される1行分のゾーンであり、第1番目の暗号化プロトコルP1が対応づけられている。図9(a) に示す例では、この格納ゾーンZ1に暗号鍵KeyA〜KeyCが格納されているが、これらの暗号鍵はいずれも第1番目の暗号化プロトコル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に用いる暗号鍵ということになる。
鍵テーブルT1上に上述のようなゾーン設定を行えば、キーバージョン番号が特定されれば格納ゾーンが定まり、格納ゾーンが定まれば、対応づけられた暗号化プロトコルが定まることになる。すなわち、キーバージョン番号は、用いる暗号鍵を指定する暗号鍵指定情報としての役割を果たすだけでなく、用いる暗号化プロトコルを指定するプロトコル指定情報としての役割も兼ねることになる。これは、暗号通信路開設コマンドCMDによってキーバージョン番号を指定すれば、暗号化プロトコルの指定も併せて行うことができることを意味する。
図10は、この第1の実施形態に用いられる暗号通信路開設コマンドCMDのデータ構造の一例を示す図である。図10(a) は、GlobalPlatform (登録商標)の仕様に準拠した暗号通信路開設コマンドCMDの基本的なデータ構造を示すものである。図示のとおり、暗号通信路開設コマンドCMDは、先頭から順に、「コマンド文字列情報」、「格納場所指定情報」、「乱数」を並べたものになる。
ここで、「コマンド文字列情報」は、当該コマンドCMDを識別するための文字列であり、たとえば、暗号化プロトコルSCP01,SCP02,SCP03に基づく暗号通信路を開設するコマンドの場合は、前述したように、「INITIALIZE UPDATE」なる文字列が用いられる。続く「格納場所指定情報」は、暗号通信路の開設に用いる特定の暗号鍵を指定するための暗号鍵指定情報であり、図6に示す第1の暗号鍵格納部120内における特定の暗号鍵の格納場所を指定する情報である。図9に示すような鍵テーブルT1を用いて暗号鍵を格納する場合、「格納場所指定情報」は「キーバージョン番号」によって構成される。最後の「乱数」は、前述したとおり、スマートフォン10AがSIMカード11を正規の交信相手として認証するために利用されるデータである。
したがって、暗号化プロトコルSCP01,SCP02,SCP03に基づく暗号通信路を開設する場合、暗号通信路開設コマンドCMDの書式は、図10(b) に示すようなものになる(図4(b) に示すものと同じ)。図10(c) は、「キーバージョン番号」および「乱数」の部分に具体的なデジタルデータを入れた例を示す。この例におけるキーバージョン番号「0x21」は、図9(a) に示す鍵テーブルT1内の格納場所(キーバージョン番号で特定される1行分のセル)を指定する格納場所指定情報であり、後続する乱数「0x1234ABCD」は、認証演算に用いられるデータである。
図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カードに対して、特定の暗号化プロトコルを指定するプロトコル指定情報としての役割と、特定の暗号鍵を指定する暗号鍵指定情報としての役割とを兼ねることになる。
ここでは、より具体的に、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に用いる暗号鍵ということになる。
このような前提で、スマートフォン10AからSIMカード11に対して、図10(c) に示すような暗号通信路開設コマンドCMDを送信すれば、これを受信した第1の暗号通信処理部110は、次のような方法で、特定の暗号鍵を用いて、特定の暗号化プロトコルに基づく暗号通信路を開設することができる。まず、第1の暗号通信処理部110は、先頭の文字列「INITIALIZE UPDATE」によって、当該コマンドが暗号通信路開設コマンドCMDであることを認識する。そして、続くキーバージョン番号「0x21」に基づいて、図9(b) に示すテーブルを参照することにより、当該キーバージョン番号「0x21」に対応する格納ゾーンZiを認識し、対応づけられた暗号化プロトコルPi(上例の場合、暗号化プロトコルSCP02)を認識する。
そこで、第1の暗号通信処理部110は、暗号化プロトコルSCP02に基づく暗号通信路を開設するための処理(SDプログラムとして予め組み込まれているルーチン)を実行する。当該プロトコルでは、キーID「0x01〜0x03」で特定される3つの暗号鍵を用いることが予め定められているので、鍵テーブルT1から、キーバージョン番号「0x21」、キーID「0x01〜0x03」で特定されるセルに格納されている3組の暗号鍵KeyG,KeyH,KeyIを読出し、当該3組の暗号鍵を用いて暗号通信路を開設する。
もちろん、スマートフォン10A側では、3組の暗号鍵KeyG,KeyH,KeyIを用いて、暗号化プロトコルSCP02に基づく暗号通信路を開設することを指示するための暗号通信路開設コマンドCMDを送信したわけだから、スマートフォン10Aは、これらの情報を参照することにより、当該3組の暗号鍵を用いて暗号化プロトコルSCP02に基づく暗号通信を行うことができる。かくして、両者間での暗号通信が開始される。
結局、図6に示す情報処理システムにおいて、第1の実施形態を実施するには、第1の暗号鍵格納部120には、まず、N通りの暗号化プロトコルに対応づけられたN個の格納ゾーンZ1〜ZNを設定しておき、第i番目(1≦i≦N)の格納ゾーンZiに所属する格納場所には、第i番目の暗号化プロトコルPiに用いる暗号鍵を格納しておくようにする。また、暗号通信路開設指示部230Aが送信する暗号通信路開設コマンドCMDには、特定の暗号鍵の格納場所を示す格納場所指定情報を含ませておくようにする。
そして、当該暗号通信路開設コマンドCMDを受信した第1の暗号通信処理部110は、当該暗号通信路開設コマンドCMDに含まれている格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、上記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、上記格納場所指定情報によって示された格納場所が所属する格納ゾーンに対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設する処理を行うようにすればよい。
図9に示す実施例は、第1の暗号鍵格納部120に、鍵テーブルT1の形式で暗号鍵を格納した例である。この例の場合、キーバージョン番号によって特定される複数の格納場所(鍵テーブルT1を構成する個々の行)が用意されており、個々の格納ゾーンは、1つもしくは複数の格納場所(鍵テーブルT1上での1行もしくは複数行)によって構成されている。この実施例の場合、暗号通信路開設コマンドCMDには、図10に示すように、格納場所指定情報として特定のキーバージョン番号を含ませておくようにする。そうすれば、第1の暗号通信処理部110は、このキーバージョン番号によって特定される格納場所(鍵テーブルT1の特定の行)に格納されている暗号鍵を用いて、当該キーバージョン番号によって示された格納場所が所属する格納ゾーンに対応する特定の暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設する処理を行うことができる。
なお、ゾーン設定を行う場合、図9に示す例のように、個々の格納ゾーンを、1つの格納場所(鍵テーブル上の1行)もしくは連続するキーバージョン番号を有する複数の格納場所(鍵テーブル上で連続する複数行)によって構成するようにし、個々の格納ゾーンがキーバージョン番号の固有の数値範囲に対応づけられているようにするのが好ましい。もちろん、1つの格納ゾーンを、とびとびの格納場所(とびとびの行)の集合体として設定することも可能であるが、図9(a) に示すような連続した格納場所(連続した行)の集合体によって個々の格納ゾーンを構成しておけば、図9(b) に示すような数値範囲として個々の格納ゾーンを特定することができるため、格納ゾーンの認識処理が容易になる。
また、図9に示す実施例の場合、第1の暗号鍵格納部120の各格納場所(鍵テーブル上の各行)には、それぞれキーIDによって特定される複数の格納庫(鍵テーブル上の各セル)が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されている。これは、暗号化プロトコルSCP01,SCP02,SCP03のように、複数の暗号鍵を必要とする暗号化プロトコルに対応するための配慮である。
このように、1つの格納場所(鍵テーブル上の1行)に複数の格納庫(鍵テーブル上の各セル)を用意し、個々の格納庫にそれぞれ別個の暗号鍵を格納できるようにしておけば、複数の暗号鍵を必要とする暗号化プロトコルに対応することが可能になる。この場合、第1の暗号通信処理部110は、暗号通信路開設コマンドCMDに含まれるキーバージョン番号によって特定される格納場所(鍵テーブル上の特定の行)内の格納庫(当該特定の行に所属する各セル)のうち、当該格納場所が所属する格納ゾーンに対応する暗号化プロトコルによって予め定められている所定のキーIDによって特定される格納庫に格納されている暗号鍵を利用して暗号通信路を開設することになる。
たとえば、暗号化プロトコルSCP01,SCP02,SCP03の場合、3組の暗号鍵が用いられるので、予めキーID「0x01〜0x03」で特定される3つの暗号鍵を用いることを定めておけばよい。そうすれば、暗号化プロトコルSCP01,SCP02,SCP03が指定された場合には、キーID「0x01〜0x03」で特定されるセルに格納されている3組の暗号鍵を読出して利用することができる。
このように、第1の実施形態は、2組の情報処理装置のうちの一方がICカードである場合に適しており、暗号通信路開設コマンドCMDに暗号鍵の格納場所を示す格納場所指定情報を含ませ、当該格納場所が所属する格納ゾーンによって暗号化プロトコルを指定する方法を採用しているため、ICカードについての国際的な仕様に準拠した暗号通信路開設コマンドを用いて、特定の暗号化プロトコルの選択をICカード側に伝達することが可能になる。
<3−2.第2の実施形態>
ここで述べる第2の実施形態は、ICカードの国際的な仕様として定められている暗号鍵の標準のデータ構造を利用して、ICカードに対してプロトコル指定情報を伝達するようにしたものである。図9(a) に示す鍵テーブルT1の個々の格納庫(セル)には、それぞれ別個の暗号鍵Keyが格納されている。図11は、このような暗号鍵Keyについて、国際的な仕様として定められているデータ構造を示す図である。
すなわち、この仕様によると、個々の暗号鍵Keyを構成するデータは、図11(a) に示すような形式にすることが定められている。具体的には、暗号鍵Keyは、先頭から順に、「種別情報(key type)A」、「鍵長(key length)L」、「鍵値データ(key value)V」を並べたものになる。ここで、「鍵値データV」は、暗号鍵の本体部をなす部分であり、暗号化演算に用いられるデータそのものに相当する。「鍵長L」は、この「鍵値データV」の長さを示すためのバイト数の単位をもつデータであり、この「鍵長L」に基づいて、暗号鍵Keyから「鍵値データV」の抽出を行うことができる。そして、先頭の「種別情報A」は、当該暗号鍵を利用する暗号アルゴリズムの種別を示す種別情報であり、たとえば、「AES」,「DES」,「RSA」などの種別を含む情報によって構成される。
図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」で特定される格納庫(セル)に格納されている。
図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バイトのデータによって構成されている。
前述したとおり、ICカードにSDプログラムをインストールする際、従来は、インストール時点で、いずれか1つの暗号化プロトコルを選択し、インストール後は、当該選択された暗号化プロトコルに基づく暗号通信路のみが開設されるようにする、という運用が行われている。このような運用を行う上では、暗号鍵Keyに「種別情報A」をもたせておく必要はないが、仕様上は、「種別情報A」を含む暗号鍵Keyを用いることになっている。
ここで述べる第2の実施形態は、このような事情を考慮し、この暗号鍵Keyに含まれる「種別情報A」を利用してICカード側にプロトコル指定情報を伝達する、という方法を採用する。
すなわち、この第2の実施形態では、第1の暗号鍵格納部120の各格納場所に、暗号化演算に用いられる鍵値データVと、暗号アルゴリズムの種別を示す種別情報Aと、を含む暗号鍵Keyを格納しておくようにし、暗号通信路開設指示部230Aが送信する暗号通信路開設コマンドCMDには、図10に示すように、特定の暗号鍵の格納場所を示す格納場所指定情報(具体的には、キーバージョン番号)を含ませておくようにする。図11に示す例の場合、第1の暗号鍵格納部120の各格納場所には、暗号化演算に用いられる鍵値データVと、暗号アルゴリズムの種別を示す種別情報Aと、鍵値データVの長さを示す鍵長Lと、を含む暗号鍵Keyが格納されており、鍵長Lに基づいて、暗号鍵Keyから適切な長さをもった鍵値データVの抽出を行うことができるようになっている。
一方、この暗号通信路開設コマンドCMDを受信した第1の暗号通信処理部110は、格納場所指定情報(キーバージョン番号)を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、当該格納場所指定情報によって示された格納場所に格納されている暗号鍵に含まれている鍵値データVを用いて、当該暗号鍵に含まれている種別情報Aによって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設する処理を行うようにする。
なお、図9に示す実施例の場合、第1の暗号鍵格納部120の各格納場所(鍵テーブル上の各行)には、それぞれキーIDによって特定される複数の格納庫(鍵テーブル上の各セル)が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されている。これは、暗号化プロトコルSCP01,SCP02,SCP03のように、複数の暗号鍵を必要とする暗号化プロトコルに対応するための配慮である。
このように、複数の暗号鍵を必要とする暗号化プロトコルに対応させる場合、同一の格納場所(鍵テーブルの同一行)に属する複数の格納庫(鍵テーブル上の各セル)に格納されている暗号鍵には、同一の種別情報Aが含まれるようにする。これは、同一の格納場所に属する複数の格納庫に格納されている暗号鍵は、同一の暗号化プロトコルに用いられる暗号鍵であるため、暗号アルゴリズムの種別を示す種別情報Aも当然同一にすべきためである。
たとえば、図11(b) に示す3組の暗号鍵KeyA〜KeyCは、いずれもキーバージョン番号「0x01」で特定される同一の格納場所に格納された暗号鍵であり、同一の暗号化プロトコルに用いられる暗号鍵である。したがって、これらの暗号鍵には、「AES」なる同一の種別情報Aが含まれている。同様に、図11(c) に示す3組の暗号鍵KeyG〜KeyIは、いずれもキーバージョン番号「0x21」で特定される同一の格納場所に格納された暗号鍵であり、同一の暗号化プロトコルに用いられる暗号鍵である。したがって、これらの暗号鍵には、「DES」なる同一の種別情報Aが含まれている。
したがって、第1の暗号通信処理部110が、暗号通信路を開設する際に、どの暗号化プロトコルが指定されているかを認識するには、暗号通信路開設コマンドCMDに含まれる暗号鍵指定情報(キーバージョン番号)によって特定される格納場所内のいずれの格納庫に格納されている暗号鍵に含まれる種別情報Aを参照してもかまわない。
たとえば、図10(c) に示すような暗号通信路開設コマンドCMDが与えられた場合、第1の暗号通信処理部110は、当該暗号通信路開設コマンドCMDに含まれるキーバージョン番号「0x21」によって特定される格納場所(鍵テーブルT1上のキーバージョン番号「0x21」に対応する行)内のいずれかの格納庫(セル)に格納されている暗号鍵Keyを読出し、そこに含まれている種別情報Aを参照することにより、どの暗号化プロトコルが指定されているかを認識することができる。具体的には、キーバージョン番号「0x21」に対応する行には、図11(c) に示す3組の暗号鍵KeyG,KeyH,KeyIが格納されているが、いずれも種別情報Aは「DES」になっているので、どの暗号鍵を参照した場合も、種別情報Aが「DES」であることを認識することができ、指定された暗号化プロトコルを認識することができる。
なお、種別情報Aとして格納されている情報は、あくまでも「暗号アルゴリズム」の種別を示す情報であって、「暗号化プロトコル」を示す情報ではない。しかも、「暗号アルゴリズム」と「暗号化プロトコル」との対応関係は、必ずしも1対1ではない。すなわち、特定の「暗号化プロトコル」は、特定の「暗号アルゴリズム」を利用した暗号化を行う手順であるが、特定の「暗号アルゴリズム」を利用した暗号化を行うプロトコルは1つだけとは限らない。具体例を挙げれば、たとえば、暗号化プロトコルSCP01と暗号化プロトコルSCP02とは、具体的な手順が異なるプロトコルであるが、いずれも「暗号アルゴリズム」としては「DES」(実際には、Triple-DES)を用いている。
したがって、第1の暗号通信処理部110が対応しているN通りの暗号化プロトコルの中に、暗号アルゴリズムとして「DES」を用いるものが複数存在した場合には、第1の暗号通信処理部110は、種別情報Aが「DES」であることを認識しただけでは、1つの暗号化プロトコルを特定することはできない。具体的には、第1の暗号通信処理部110が、暗号化プロトコルSCP01と暗号化プロトコルSCP02との双方に対応していた場合、図11(c) に示す暗号鍵KeyG〜KeyIに基づいて暗号アルゴリズムが「DES」である旨が特定されたとしても、指定された暗号化プロトコルが、「SCP01」であるのか「SCP02」であるのかを特定することができない。
このような問題を避けるためには、第1の暗号通信処理部110が対応するN通りの暗号化プロトコルの中には、同一の暗号アルゴリズムを用いるものは1つだけしか含まれないような設定を行うようにすればよい。たとえば、暗号アルゴリズム「DES」を用いる暗号化プロトコルとして「SCP01」を設定し、暗号アルゴリズム「AES」を用いる暗号化プロトコルとして「SCP03」を設定し、暗号アルゴリズム「RSA」を用いる暗号化プロトコルとして「SCP10」を設定し、第1の暗号通信処理部110が合計3通りの暗号化プロトコルに対応するような設定を行った場合、種別情報Aが「DES」,「AES」,「RSA」のいずれかであるかを認識することにより、1つの暗号化プロトコルを特定することが可能になる。
このように第2の実施形態に係る発明は、2組の情報処理装置のうちの一方がICカードである場合に適しており、暗号通信路開設コマンドCMDに暗号鍵の格納場所を示す格納場所指定情報を含ませ、特定の暗号鍵に含まれている種別情報Aによって暗号化プロトコルを指定する方法を採用しているため、ICカードについての国際的な仕様に準拠した暗号通信路開設コマンドを用いて、特定の暗号化プロトコルの選択をICカード側に伝達することが可能になる。
<3−3.第3の実施形態>
ここで述べる第3の実施形態は、ICカードの国際的な仕様として定められているコマンド文字列情報を利用して、ICカードに対してプロトコル指定情報を伝達するようにしたものである。
図12は、ICカードに関する仕様として定められている暗号通信路開設コマンドCMDのデータ構造を示す図である。当該仕様によれば、暗号通信路開設コマンドCMDは、図示のとおり、先頭から順に、「コマンド文字列情報」、「格納場所指定情報」、「乱数」を並べたものになる。
前述したように、先頭の「コマンド文字列情報」は、当該コマンドが暗号通信路を開設するコマンドであることを示すための文字列である。続く「格納場所指定情報」は、暗号通信路の開設に用いる特定の暗号鍵を指定するための暗号鍵指定情報であり、図9に示すような鍵テーブルT1を用いて暗号鍵を格納する場合は「キーバージョン番号」によって構成される。最後の「乱数」は、前述したとおり、スマートフォン10AがSIMカード11を正規の交信相手として認証するために利用されるデータである。
ここで、「コマンド文字列情報」に着目すると、GlobalPlatform (登録商標)や3GPP/ETSIなどの国際的な仕様では、暗号化プロトコルに応じて、複数通りの文字列が定められている。具体的には、暗号化プロトコルSCP01,SCP02,SCP03については、図12(b) に示すように、「INITIALIZE UPDATE」なる文字列を先頭におく暗号通信路開設コマンドCMDが定義されており、暗号化プロトコルSCP80については、図12(c) に示すように、「ENVELOPE」なる文字列を先頭におく暗号通信路開設コマンドCMDが定義されており、暗号化プロトコルSCP10については、図12(d) に示すように、「MANAGE SECURITY ENVIRONMENT」なる文字列を先頭におく暗号通信路開設コマンドCMDが定義されている(前述したとおり、これら各コマンドCMDのデータ構造は、便宜上、本発明の説明に必要な情報のみを抽出した概念的なデータ構造であり、実際のデータ構造それ自体を示すものではない)。
図13は、このようなコマンド文字列情報と暗号アルゴリズムの種別情報との対応関係を示す表であり、暗号化プロトコルSCP01,SCP02,SCP03,SCP10,SCP80のそれぞれについて、用いる暗号アルゴリズムの種別とコマンド文字列情報とが示されている。なお、この表における「SCPxx」は、現時点では、GlobalPlatform (登録商標)による仕様化はなされていないが、今後、策定される可能性のある暗号化プロトコルを示している。
結局、GlobalPlatform (登録商標)等の国際的な仕様に準拠した暗号通信路開設コマンドCMDには、特定の暗号化プロトコルに基づく暗号通信路の開設を指示する文字列を示すコマンド文字列情報と、特定の暗号鍵の格納場所を示す格納場所指定情報と、が含まれているので、コマンド文字列情報の部分を利用すれば、ICカードに対して、特定の暗号化プロトコルを指定するためのプロトコル指定情報を伝達することが可能である。
すなわち、第1の暗号通信処理部110は、暗号通信路開設コマンドCMDに含まれるコマンド文字列情報をプロトコル指定情報として認識し、暗号通信路開設コマンドCMDに含まれる格納場所指定情報を暗号鍵指定情報として認識することにより、当該格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、当該コマンド文字列情報に対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することができる。
もちろん、暗号通信路開設コマンドCMDに含まれる「コマンド文字列情報」は、必ずしも特定の「暗号化プロトコル」に1対1対応しているわけではない。たとえば、「INITIALIZE UPDATE」なる文字列を示すコマンド文字列情報は、図13の表に示されているとおり、現時点では、3通りの暗号化プロトコルSCP01,SCP02,SCP03に共通して用いられる情報であり、今後策定される新たな暗号化プロトコルにも用いられる可能性がある。
したがって、第1の暗号通信処理部110が対応しているN通りの暗号化プロトコルの中に、「INITIALIZE UPDATE」なるコマンド文字列情報を用いるものが複数存在した場合には、第1の暗号通信処理部110は、コマンド文字列情報が「INITIALIZE UPDATE」であることを認識しただけでは、1つの暗号化プロトコルを特定することはできない。具体的には、第1の暗号通信処理部110が、暗号化プロトコルSCP01,SCP02,SCP03に対応していた場合、「INITIALIZE UPDATE」なるコマンド文字列情報をもった暗号通信路開設コマンドCMDを受信しても、指定された暗号化プロトコルが、「SCP01」であるのか「SCP02」であるのか「SCP03」であるのかを特定することができない。
このような問題を避けるためには、第1の暗号通信処理部110が対応するN通りの暗号化プロトコルの中には、同一のコマンド文字列情報を用いるものは1つだけしか含まれないような設定を行うようにすればよい。たとえば、コマンド文字列情報「INITIALIZE UPDATE」を用いる暗号化プロトコルとして「SCP01」を設定し、コマンド文字列情報「ENVELOPE」を用いる暗号化プロトコルとして「SCP80」を設定し、コマンド文字列情報「MANAGE SECURITY ENVIRONMENT」を用いる暗号化プロトコルとして「SCP10」を設定し、第1の暗号通信処理部110が合計3通りの暗号化プロトコルに対応するような設定を行った場合、コマンド文字列情報が、「INITIALIZE UPDATE」,「ENVELOPE」,「MANAGE SECURITY ENVIRONMENT」のいずれかであるかを認識することにより、1つの暗号化プロトコルを特定することが可能になる。
なお、図9に示す実施例の場合、第1の暗号鍵格納部120の各格納場所(鍵テーブル上の各行)には、それぞれキーIDによって特定される複数の格納庫(鍵テーブル上の各セル)が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されている。これは、複数の暗号鍵を必要とする暗号化プロトコルに対応するための配慮である。
このように、1つの格納場所(鍵テーブル上の1行)に複数の格納庫(鍵テーブル上の各セル)を用意し、個々の格納庫にそれぞれ別個の暗号鍵を格納できるようにしておけば、複数の暗号鍵を必要とする暗号化プロトコルに対応することが可能になる。この場合、第1の暗号通信処理部110は、暗号通信路開設コマンドCMDに含まれるキーバージョン番号によって特定される格納場所(鍵テーブル上の特定の行)内の格納庫(当該特定の行に所属する各セル)のうち、暗号通信路開設コマンドCMDに含まれるコマンド文字列情報に対応する暗号化プロトコルによって予め定められている所定のキーIDによって特定される格納庫に格納されている暗号鍵を利用して暗号通信路を開設することになる。
たとえば、暗号化プロトコルSCP01の場合、3組の暗号鍵が用いられるので、予めキーID「0x01〜0x03」で特定される3つの暗号鍵を用いることを定めておけばよい。そうすれば、暗号化プロトコルSCP01が指定された場合には、キーID「0x01〜0x03」で特定されるセルに格納されている3組の暗号鍵を読出して利用することができる。
このように第3の実施形態に係る発明は、2組の情報処理装置のうちの一方がICカードである場合に適しており、暗号通信路開設コマンドに含まれるコマンド文字列情報によって暗号化プロトコルを指定する方法を採用しているため、ICカードについての国際的な仕様に準拠した暗号通信路開設コマンドを用いて、特定の暗号化プロトコルの選択をICカード側に伝達することが可能になる。
<<< §4. 方法発明としての実施形態 >>>
最後に、本発明を暗号通信方法という方法発明として把握した場合の実施形態を述べておく。図14は、本発明に係る暗号通信方法の基本手順を示す流れ図である。この暗号通信方法は、第1の情報処理装置と第2の情報処理装置との間で、所定の暗号化プロトコルに基づいた暗号通信を行う暗号通信方法であり、図示のとおり、プログラム準備段階S11,暗号鍵格納段階S12,暗号通信路開設指示段階S13,暗号通信路開設段階S14,暗号通信段階S15という各段階によって構成される。なお、この図14の流れ図における各ステップを示すブロックの右側の記載は、当該ステップが、図6に示す第1の情報処理装置100によって実行される手順であるのか、第2の情報処理装置200Aによって実行される手順であるのかを示している。
ステップS11のプログラム準備段階は、第1の情報処理装置100が、複数N通り(N≧2)の暗号化プロトコルに基づく暗号通信を行うプログラムを実行可能な状態に準備する段階である。具体的には、第1の情報処理装置100が、SIM11のようなICカードからなる場合、暗号通信機能はSDプログラムによって実現される。したがって、このステップS11のプログラム準備段階は、SDプログラムをインストールする処理によって行われる。従来は、SDプログラムをインストールする際に、1つの暗号化プロトコルを選択し、当該SDプログラムについては、専ら、この選択された特定の暗号化プロトコルを用いた「暗号通信路の開設」が行われるようにしていたが、本発明の場合、SDプログラムのインストール時に、複数N通りの暗号化プロトコルに基づく暗号通信が可能になるようにする。
ステップS12の暗号鍵格納段階は、第1の情報処理装置100が、暗号鍵を格納するための複数の格納場所に、複数N通りの暗号化プロトコルのそれぞれに用いられる暗号鍵を格納する段階である。具体的には、第1の暗号鍵格納部120に、図3に示すような鍵テーブルTが格納されることになる。
ステップS13の暗号通信路開設指示段階は、第2の情報処理装置200Aが、第1の情報処理装置100に対して、ステップS11のプログラム準備段階で準備されたN通りの暗号化プロトコルから選択された特定の暗号化プロトコルに基づいて、ステップS12の暗号鍵格納段階で特定の格納場所に格納された特定の暗号鍵を用いた暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドCMDを送信する段階である。この暗号通信路開設指示段階では、特定の暗号化プロトコルを指定するためのプロトコル指定情報と、特定の暗号鍵を指定するための暗号鍵指定情報と、を含んだ暗号通信路開設コマンドCMDが送信されることになる。
ステップS14の暗号通信路開設段階は、第1の情報処理装置100が、受信した暗号通信路開設コマンドCMDに基づいて、特定の暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設する段階である。すなわち、暗号通信路開設コマンドCMDに含まれているプロトコル指定情報によって指定された暗号化プロトコルおよび暗号通信路開設コマンドCMDに含まれている暗号鍵指定情報によって指定された暗号鍵を利用して暗号通信を行うための暗号通信路を開設する処理が行われる。ここで、暗号通信路を開設する処理とは、実際には、特定の暗号鍵を用いて特定の暗号化プロトコルにより、送信データを暗号化し、受信データを復号するための準備を行う処理ということになる。
ステップS15の暗号通信段階は、第1の情報処理装置100および第2の情報処理装置200Aが、ステップS14で開設された暗号通信路を介して暗号通信を行う段階である。実際には、送信時には、送信データを暗号化して送信し、受信時には、受信データを復号して取り込む処理が行われる。
§3では、この流れ図に示す手順のうち、ステップS13の暗号通信路開設指示段階の処理を行う場合に、GlobalPlatform (登録商標)等の国際的な仕様に準拠しつつ、ICカード(第1の情報処理装置100)側にプロトコル指定情報を伝達することができる具体的な実施形態を3通り述べた。ここでは、この3通りの実施形態を、暗号通信方法という方法発明として把握して説明する。
まず、第1の実施形態では、ステップS12の暗号鍵格納段階において、N通りの暗号化プロトコルに対応づけられたN個の格納ゾーンを設定し、第i番目(1≦i≦N)の格納ゾーンZiに所属する格納場所には、第i番目の暗号化プロトコルPiに用いる暗号鍵を格納する処理を行い、ステップS13の暗号通信路開設指示段階において、特定の暗号鍵の格納場所を示す格納場所指定情報(キーバージョン番号)を含んだ暗号通信路開設コマンドCMDを送信する。そして、ステップS14の暗号通信路開設段階において、暗号通信路開設コマンドCMDに含まれている格納場所指定情報(キーバージョン番号)を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、当該格納場所指定情報(キーバージョン番号)によって示された格納場所に格納されている暗号鍵を用いて、当該格納場所指定情報(キーバージョン番号)によって示された格納場所が所属する格納ゾーンに対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設すればよい。
一方、第2の実施形態では、ステップS12の暗号鍵格納段階において、暗号化演算に用いられる鍵値データVと、暗号アルゴリズムの種別を示す種別情報Aと、を含む暗号鍵を格納し、ステップS13の暗号通信路開設指示段階において、特定の暗号鍵の格納場所を示す格納場所指定情報(キーバージョン番号)を含んだ暗号通信路開設コマンドCMDを送信する。そして、ステップS14の暗号通信路開設段階において、暗号通信路開設コマンドCMDに含まれている格納場所指定情報(キーバージョン番号)を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、当該格納場所指定情報(キーバージョン番号)によって示された格納場所に格納されている暗号鍵に含まれている鍵値データVを用いて、当該暗号鍵に含まれている種別情報Aによって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設すればよい。
最後に、第3の実施形態では、ステップS13の暗号通信路開設指示段階において、特定の暗号化プロトコルに基づく暗号通信路の開設を指示する文字列を示すコマンド文字列情報と、特定の暗号鍵の格納場所を示す格納場所指定情報(キーバージョン番号)と、を含んだ暗号通信路開設コマンドCMDを送信する。そして、ステップS14の暗号通信路開設段階において、暗号通信路開設コマンドCMDに含まれているコマンド文字列情報をプロトコル指定情報として認識し、暗号通信路開設コマンドCMDに含まれている格納場所指定情報(キーバージョン番号)を暗号鍵指定情報として認識することにより、当該格納場所指定情報(キーバージョン番号)によって示された格納場所に格納されている暗号鍵を用いて、当該コマンド文字列情報に対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設すればよい。
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:格納ゾーン

Claims (18)

  1. 第1の情報処理装置と第2の情報処理装置とを備え、両者間で所定の暗号化プロトコルに基づいた暗号通信が可能な情報処理システムであって、
    前記第1の情報処理装置は、
    複数N通り(N≧2)の暗号化プロトコルに基づく暗号通信を行う機能を有し、前記N通りの暗号化プロトコルのうち、前記第2の情報処理装置から指定された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設し、開設された暗号通信路を介して前記第2の情報処理装置との間で暗号通信を行う第1の暗号通信処理部と、
    暗号鍵を格納するための複数の格納場所を有し、これら複数の格納場所に、前記複数N通りの暗号化プロトコルのそれぞれに用いられる暗号鍵を格納した第1の暗号鍵格納部と、
    を有し、
    前記第2の情報処理装置は、
    前記複数N通りの暗号化プロトコルのうちの少なくとも1つの特定の暗号化プロトコルに基づく暗号通信を行う機能を有し、当該特定の暗号化プロトコルに基づく暗号通信を行うために開設された暗号通信路を介して前記第1の情報処理装置との間で暗号通信を行う第2の暗号通信処理部と、
    前記特定の暗号化プロトコルに用いられる暗号鍵を格納した第2の暗号鍵格納部と、
    前記第1の情報処理装置に対して、暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドを与える暗号通信路開設指示部と、
    を有し、
    前記暗号通信路開設コマンドには、前記特定の暗号化プロトコルを指定するためのプロトコル指定情報と、前記特定の暗号鍵を指定するための暗号鍵指定情報と、が含まれており、
    前記第1の暗号通信処理部は、前記暗号通信路開設コマンドに含まれている前記プロトコル指定情報によって指定された暗号化プロトコルおよび前記暗号通信路開設コマンドに含まれている前記暗号鍵指定情報によって指定された暗号鍵を利用して暗号通信を行うための暗号通信路を開設することを特徴とする情報処理システム。
  2. 請求項1に記載の情報処理システムにおいて、
    第1の暗号鍵格納部には、N通りの暗号化プロトコルに対応づけられたN個の格納ゾーンが設定されており、第i番目(1≦i≦N)の格納ゾーンに所属する格納場所には、第i番目の暗号化プロトコルに用いる暗号鍵が格納されており、
    暗号通信路開設コマンドには、特定の暗号鍵の格納場所を示す格納場所指定情報が含まれており、
    第1の暗号通信処理部は、前記格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、前記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、前記格納場所指定情報によって示された格納場所が所属する格納ゾーンに対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することを特徴とする情報処理システム。
  3. 請求項2に記載の情報処理システムにおいて、
    第1の暗号鍵格納部には、キーバージョン番号によって特定される複数の格納場所が用意されており、個々の格納ゾーンは、1つもしくは複数の格納場所によって構成され、
    暗号通信路開設コマンドには、格納場所指定情報として特定のキーバージョン番号が含まれており、
    第1の暗号通信処理部は、前記キーバージョン番号によって特定される格納場所に格納されている暗号鍵を用いて、前記キーバージョン番号によって示された格納場所が所属する格納ゾーンに対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することを特徴とする情報処理システム。
  4. 請求項3に記載の情報処理システムにおいて、
    個々の格納ゾーンが、1つの格納場所もしくは連続するキーバージョン番号を有する複数の格納場所によって構成され、個々の格納ゾーンがキーバージョン番号の固有の数値範囲に対応づけられていることを特徴とする情報処理システム。
  5. 請求項3または4に記載の情報処理システムにおいて、
    第1の暗号鍵格納部の各格納場所には、それぞれキーIDによって特定される複数の格納庫が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されており、
    第1の暗号通信処理部は、暗号通信路開設コマンドに含まれるキーバージョン番号によって特定される格納場所内の格納庫のうち、当該格納場所が所属する格納ゾーンに対応する暗号化プロトコルによって予め定められている所定のキーIDによって特定される格納庫に格納されている暗号鍵を利用して暗号通信路を開設することを特徴とする情報処理システム。
  6. 請求項1に記載の情報処理システムにおいて、
    第1の暗号鍵格納部の各格納場所には、暗号化演算に用いられる鍵値データと、暗号アルゴリズムの種別を示す種別情報と、を含む暗号鍵が格納されており、
    暗号通信路開設コマンドには、特定の暗号鍵の格納場所を示す格納場所指定情報が含まれており、
    第1の暗号通信処理部は、前記格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、前記格納場所指定情報によって示された格納場所に格納されている暗号鍵に含まれている鍵値データを用いて、当該暗号鍵に含まれている種別情報によって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することを特徴とする情報処理システム。
  7. 請求項6に記載の情報処理システムにおいて、
    第1の暗号鍵格納部の各格納場所には、暗号化演算に用いられる鍵値データと、暗号アルゴリズムの種別を示す種別情報と、前記鍵値データの長さを示す鍵長と、を含む暗号鍵が格納されており、
    第1の暗号通信処理部は、前記鍵長に基づいて、暗号鍵から鍵値データの抽出を行うことを特徴とする情報処理システム。
  8. 請求項6または7に記載の情報処理システムにおいて、
    第1の暗号鍵格納部の各格納場所には、それぞれキーIDによって特定される複数の格納庫が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されており、同一の格納場所に属する複数の格納庫に格納されている暗号鍵には、同一の種別情報が含まれており、
    第1の暗号通信処理部は、暗号通信路開設コマンドに含まれる暗号鍵指定情報によって特定される格納場所内のいずれかの格納庫に格納されている暗号鍵に含まれる種別情報によって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することを特徴とする情報処理システム。
  9. 請求項1に記載の情報処理システムにおいて、
    暗号通信路開設コマンドには、特定の暗号化プロトコルに基づく暗号通信路の開設を指示する文字列を示すコマンド文字列情報と、特定の暗号鍵の格納場所を示す格納場所指定情報と、が含まれており、
    第1の暗号通信処理部は、前記コマンド文字列情報をプロトコル指定情報として認識し、前記格納場所指定情報を暗号鍵指定情報として認識することにより、前記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、前記コマンド文字列情報に対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することを特徴とする情報処理システム。
  10. 請求項9に記載の情報処理システムにおいて、
    第1の暗号鍵格納部の各格納場所には、それぞれキーIDによって特定される複数の格納庫が用意されており、これら複数の格納庫の全部もしくは一部に、それぞれ別個の暗号鍵が格納されており、
    第1の暗号通信処理部は、暗号通信路開設コマンドに含まれる暗号鍵指定情報によって特定される格納場所内の格納庫のうち、暗号通信路開設コマンドに含まれるコマンド文字列情報に対応する暗号化プロトコルによって予め定められている所定のキーIDによって特定される格納庫に格納されている暗号鍵を利用して暗号通信路を開設することを特徴とする情報処理システム。
  11. 請求項1〜10のいずれかに記載の情報処理システムにおいて、
    第2の暗号通信処理部が、少なくとも、第1の暗号通信処理部に暗号通信機能が備わっている複数N通りの暗号化プロトコルのうちの複数M通り(M≦N)の暗号化プロトコルに基づく暗号通信を行う機能を有し、前記M通りの暗号化プロトコルから選択された特定の暗号化プロトコルに基づく暗号通信を行うために開設された暗号通信路を介して第1の情報処理装置との間で暗号通信を行い、
    第2の暗号鍵格納部が、暗号鍵を格納するための複数の格納場所を有し、これら複数の格納場所に、第1の情報処理装置の第1の暗号鍵格納部に格納されている「前記M通りの暗号化プロトコルのそれぞれに用いられる暗号鍵」と同一の暗号鍵が格納されており、
    暗号通信路開設指示部が、前記M通りの暗号化プロトコルから特定の暗号化プロトコルを選択し、前記第1の情報処理装置に対して、選択された暗号化プロトコルに基づく暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドを与えることを特徴とする情報処理システム。
  12. 請求項1〜11のいずれかに記載の情報処理システムにおける第1の情報処理装置として機能するICカードもしくはその他の情報処理装置。
  13. 請求項1〜11のいずれかに記載の情報処理システムにおける第2の情報処理装置として機能するスマートフォンもしくはその他の情報処理装置。
  14. 請求項1〜11のいずれかに記載の情報処理システムにおける第1の情報処理装置または第2の情報処理装置としてコンピュータを機能させるプログラム。
  15. 第1の情報処理装置と第2の情報処理装置との間で、所定の暗号化プロトコルに基づいた暗号通信を行う暗号通信方法であって、
    前記第1の情報処理装置が、複数N通り(N≧2)の暗号化プロトコルに基づく暗号通信を行うプログラムを実行可能な状態に準備するプログラム準備段階と、
    前記第1の情報処理装置が、暗号鍵を格納するための複数の格納場所に、前記複数N通りの暗号化プロトコルのそれぞれに用いられる暗号鍵を格納する暗号鍵格納段階と、
    前記第2の情報処理装置が、前記第1の情報処理装置に対して、前記プログラム準備段階で準備された前記N通りの暗号化プロトコルから選択された特定の暗号化プロトコルに基づいて、前記暗号鍵格納段階で特定の格納場所に格納された特定の暗号鍵を用いた暗号通信を行うための暗号通信路の開設を指示する暗号通信路開設コマンドを送信する暗号通信路開設指示段階と、
    前記第1の情報処理装置が、受信した前記暗号通信路開設コマンドに基づいて、前記特定の暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設する暗号通信路開設段階と、
    前記第1の情報処理装置および前記第2の情報処理装置が、開設された暗号通信路を介して暗号通信を行う暗号通信段階と、
    を有し、
    前記暗号通信路開設指示段階では、前記特定の暗号化プロトコルを指定するためのプロトコル指定情報と、前記特定の暗号鍵を指定するための暗号鍵指定情報と、を含んだ暗号通信路開設コマンドを送信し、
    前記暗号通信路開設段階では、前記暗号通信路開設コマンドに含まれている前記プロトコル指定情報によって指定された暗号化プロトコルおよび前記暗号通信路開設コマンドに含まれている前記暗号鍵指定情報によって指定された暗号鍵を利用して暗号通信を行うための暗号通信路を開設することを特徴とする暗号通信方法。
  16. 請求項15に記載の暗号通信方法において、
    暗号鍵格納段階において、N通りの暗号化プロトコルに対応づけられたN個の格納ゾーンを設定し、第i番目(1≦i≦N)の格納ゾーンに所属する格納場所には、第i番目の暗号化プロトコルに用いる暗号鍵を格納し、
    暗号通信路開設指示段階において、特定の暗号鍵の格納場所を示す格納場所指定情報を含んだ暗号通信路開設コマンドを送信し、
    暗号通信路開設段階において、前記格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、前記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、前記格納場所指定情報によって示された格納場所が所属する格納ゾーンに対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することを特徴とする暗号通信方法。
  17. 請求項15に記載の暗号通信方法において、
    暗号鍵格納段階において、暗号化演算に用いられる鍵値データと、暗号アルゴリズムの種別を示す種別情報と、を含む暗号鍵を格納し、
    暗号通信路開設指示段階において、特定の暗号鍵の格納場所を示す格納場所指定情報を含んだ暗号通信路開設コマンドを送信し、
    暗号通信路開設段階において、前記格納場所指定情報を、プロトコル指定情報および暗号鍵指定情報の双方の役割を兼ねた情報として認識し、前記格納場所指定情報によって示された格納場所に格納されている暗号鍵に含まれている鍵値データを用いて、当該暗号鍵に含まれている種別情報によって示された暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することを特徴とする暗号通信方法。
  18. 請求項15に記載の暗号通信方法において、
    暗号通信路開設指示段階において、特定の暗号化プロトコルに基づく暗号通信路の開設を指示する文字列を示すコマンド文字列情報と、特定の暗号鍵の格納場所を示す格納場所指定情報と、を含んだ暗号通信路開設コマンドを送信し、
    暗号通信路開設段階において、前記コマンド文字列情報をプロトコル指定情報として認識し、前記格納場所指定情報を暗号鍵指定情報として認識することにより、前記格納場所指定情報によって示された格納場所に格納されている暗号鍵を用いて、前記コマンド文字列情報に対応する暗号化プロトコルに基づく暗号通信を行うための暗号通信路を開設することを特徴とする暗号通信方法。
JP2015168868A 2015-08-28 2015-08-28 情報処理システムおよび暗号通信方法 Active JP6540381B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015168868A JP6540381B2 (ja) 2015-08-28 2015-08-28 情報処理システムおよび暗号通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015168868A JP6540381B2 (ja) 2015-08-28 2015-08-28 情報処理システムおよび暗号通信方法

Publications (2)

Publication Number Publication Date
JP2017046274A true JP2017046274A (ja) 2017-03-02
JP6540381B2 JP6540381B2 (ja) 2019-07-10

Family

ID=58212230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015168868A Active JP6540381B2 (ja) 2015-08-28 2015-08-28 情報処理システムおよび暗号通信方法

Country Status (1)

Country Link
JP (1) JP6540381B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017118309A (ja) * 2015-12-24 2017-06-29 大日本印刷株式会社 情報処理装置
JP2020036370A (ja) * 2015-12-24 2020-03-05 大日本印刷株式会社 コンピュータプログラム
JP7513220B1 (ja) 2024-01-15 2024-07-09 大日本印刷株式会社 電子情報記憶媒体、icチップ、icカード、セキュアチャネル開設方法、及びプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09134413A (ja) * 1995-11-08 1997-05-20 Tokin Corp 非接触型データキャリアシステム
JP2004015667A (ja) * 2002-06-10 2004-01-15 Takeshi Sakamura Icカード間暗号通信方法、電子チケット流通システムにおけるicカード間暗号通信方法およびicカード
JP2005094790A (ja) * 1996-01-17 2005-04-07 Fuji Xerox Co Ltd ソフトウェアの保護機能付き情報処理装置およびソフトウェアの保護機能付き情報処理方法
JP2009004824A (ja) * 2007-06-19 2009-01-08 Kenwood Corp 送信装置、受信装置、プログラム、送信方法、及び受信方法
JP2009296463A (ja) * 2008-06-06 2009-12-17 Sony Corp 情報処理装置、情報処理方法、プログラム及び通信システム
US20100299529A1 (en) * 2009-03-25 2010-11-25 Pacid Technologies, Llc Method and system for securing communication

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09134413A (ja) * 1995-11-08 1997-05-20 Tokin Corp 非接触型データキャリアシステム
JP2005094790A (ja) * 1996-01-17 2005-04-07 Fuji Xerox Co Ltd ソフトウェアの保護機能付き情報処理装置およびソフトウェアの保護機能付き情報処理方法
JP2004015667A (ja) * 2002-06-10 2004-01-15 Takeshi Sakamura Icカード間暗号通信方法、電子チケット流通システムにおけるicカード間暗号通信方法およびicカード
JP2009004824A (ja) * 2007-06-19 2009-01-08 Kenwood Corp 送信装置、受信装置、プログラム、送信方法、及び受信方法
JP2009296463A (ja) * 2008-06-06 2009-12-17 Sony Corp 情報処理装置、情報処理方法、プログラム及び通信システム
US20100299529A1 (en) * 2009-03-25 2010-11-25 Pacid Technologies, Llc Method and system for securing communication

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017118309A (ja) * 2015-12-24 2017-06-29 大日本印刷株式会社 情報処理装置
JP2020036370A (ja) * 2015-12-24 2020-03-05 大日本印刷株式会社 コンピュータプログラム
JP7513220B1 (ja) 2024-01-15 2024-07-09 大日本印刷株式会社 電子情報記憶媒体、icチップ、icカード、セキュアチャネル開設方法、及びプログラム

Also Published As

Publication number Publication date
JP6540381B2 (ja) 2019-07-10

Similar Documents

Publication Publication Date Title
US8762720B2 (en) Method of mutual authentication between a communication interface and a host processor of an NFC chipset
CN103201998B (zh) 用于保护移动装置中的本地资源的数据处理
CN101662765B (zh) 手机短信保密系统及方法
CN105553951A (zh) 数据传输方法和装置
CN106059757A (zh) 视音频监控设备及其数据加解密方法、视音频展示设备
EP1844573A1 (en) Wireless network system and communication method for external device to temporarily access wireless network
GB2538052A (en) Encoder, decoder, encryption system, encryption key wallet and method
CN101202621A (zh) 非接触设备间对数据进行安全验证的方法和系统
CN110300108A (zh) 一种配电自动化报文加密传输方法、系统、终端及存储介质
CN106411926A (zh) 一种数据加密通信方法及系统
CN101488111A (zh) 一种身份认证方法和系统
CN110336788A (zh) 一种物联网设备与移动终端的数据安全交互方法
CN106789024A (zh) 一种远程解锁方法、装置和系统
CN102970676A (zh) 一种对原始数据进行处理的方法、物联网系统及终端
CN105007163A (zh) 预共享密钥的发送、获取方法及发送、获取装置
CN107566112A (zh) 动态加解密方法及服务器
CN104410602A (zh) 基于安全模块的随机密码键盘实现方法
WO2022143008A1 (zh) 一种读卡终端及其工作方法
CN101557588B (zh) 一种用户证书的管理及使用方法及移动终端
EP2993856B1 (en) Establishment of communication connection between mobile device and secure element
CN105634729A (zh) 基于蓝牙设备的手机加密及解密方法
JP6540381B2 (ja) 情報処理システムおよび暗号通信方法
CN111435389A (zh) 一种配电终端运维工具安全防护系统
KR101745482B1 (ko) 스마트홈 시스템에서의 통신 방법 및 그 장치
CN109088733B (zh) 一种智能卡应用扩展的实现方法及装置

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 Request for written amendment filed

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