JP2019080207A - 携帯可能電子装置、及びicモジュール - Google Patents
携帯可能電子装置、及びicモジュール Download PDFInfo
- Publication number
- JP2019080207A JP2019080207A JP2017206507A JP2017206507A JP2019080207A JP 2019080207 A JP2019080207 A JP 2019080207A JP 2017206507 A JP2017206507 A JP 2017206507A JP 2017206507 A JP2017206507 A JP 2017206507A JP 2019080207 A JP2019080207 A JP 2019080207A
- Authority
- JP
- Japan
- Prior art keywords
- data
- information
- decryption key
- start position
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/76—Proxy, i.e. using intermediary entity to perform cryptographic operations
Abstract
【課題】セキュリティを確保しつつ、必要なデータを読み出すことができる携帯可能電子装置、及びICモジュールを提供することである。【解決手段】実施形態の携帯可能電子装置は、データ記憶部と、処理部とを持つ。データ記憶部は、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶する。処理部は、外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する。【選択図】図3
Description
本発明の実施形態は、携帯可能電子装置、及びICモジュールに関する。
近年、IC(Integrated Circuit)チップを内蔵したICカードなどの携帯可能電子装置が広く使用されている。例えば、改正個人情報保護法によって、取扱いに特別な留意が必要な情報として、ゲノム情報が個人情報に含まれることになり、そういったゲノム情報の管理にも、ICカードなどの携帯可能電子装置を活用することが検討されている。ゲノム情報は、すべてを公にすべきではなく、また、民間利用にあたっても、必要とされる情報は一部に限られるという性質を有している。例えば、薬剤処方には、ゲノム情報のうちの、当該薬剤処方に関連する一部の情報があれば十分である場合もある。しかしながら、従来の携帯可能電子装置では、特定のファイルごとにアクセス権が設定されており、認証成功などの定められた条件を満たせば、読み出しコマンドを使用してファイル全体を読み出すことが可能である。そのため、従来の携帯可能電子装置では、ゲノム情報の利用に必要な一部の情報以外の情報も読み出せてしまう可能性があり、セキュリティが低下する場合があった。
本発明が解決しようとする課題は、セキュリティを確保しつつ、必要なデータを読み出すことができる携帯可能電子装置、及びICモジュールを提供することである。
実施形態の携帯可能電子装置は、データ記憶部と、処理部とを持つ。データ記憶部は、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶する。処理部は、外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する。
以下、実施形態の携帯可能電子装置、及びICモジュールを、図面を参照して説明する。
(第1の実施形態)
図1は、第1の実施形態のICカード1の一例を示す外観図である。また、図1は、第1の実施形態のICカードシステム150の構成例を示している。
図1に示すように、ICカードシステム150は、ICカード1と、外部装置2と、鍵管理装置9とを備える。
ICカード1は、ICモジュール10を備える。ICモジュール10は、コンタクト部3と、内部にICチップ100とを備える。
図1は、第1の実施形態のICカード1の一例を示す外観図である。また、図1は、第1の実施形態のICカードシステム150の構成例を示している。
図1に示すように、ICカードシステム150は、ICカード1と、外部装置2と、鍵管理装置9とを備える。
ICカード1は、ICモジュール10を備える。ICモジュール10は、コンタクト部3と、内部にICチップ100とを備える。
ICカード1は、例えば、プラスチックのカード基材PT(カード本体の一例)に、ICモジュール10を実装して形成されている。すなわち、ICカード1は、ICモジュール10と、ICモジュール10が埋め込まれたカード基材PTとを備える。また、ICカード1は、コンタクト部3を介して外部装置2と通信可能である。
なお、本実施形態では、携帯可能電子装置の一例として、ICカード1について説明する。
なお、本実施形態では、携帯可能電子装置の一例として、ICカード1について説明する。
ICカード1は、例えば、外部装置2が送信したコマンド(処理要求)を、コンタクト部3を介して電気的に受信し、受信したコマンドに応じた処理(コマンド処理)を実行する。そして、ICカード1は、コマンド処理の実行結果であるレスポンス(処理応答)を外部装置2にコンタクト部3を介して電気的に送信する。また、ICカード1は、ゲノム情報を個人情報(秘密情報)として記憶し、コマンド処理(部分読み出しコマンドの処理)によって、ゲノム情報のうちの一部を読み出す機能を有している。
ここで、外部装置2は、ICカード1と通信する装置であり、例えば、リーダ/ライタ装置を含む端末装置などである。また、ゲノム情報は、利用者の塩基配列を示すデータ(ゲノムデータ)を含み、ゲノムの配列データの中で意味を有する一部の情報である。また、ゲノムデータは、例えば、塩基配列を文字列で表記したデータであり、ゲノム情報は、例えば、ゲノムデータに解釈を付加した情報である。
鍵管理装置9は、暗号鍵及び復号鍵を管理する装置であり、例えば、上述したゲノム情報を暗号化する暗号鍵、及び暗号化されたゲノム情報を復号する復号鍵を生成し、生成した暗号鍵及び復号鍵を保持する。なお、ゲノム情報は、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号できるように暗号化されてICカード1に記憶される。そのため、鍵管理装置9は、例えば、ゲノム情報又はゲノム情報を識別する識別情報と、暗号化されたゲノム情報を復号する復号鍵情報とを対応付けて記憶する。鍵管理装置9は、上述した外部装置2が、ICカード1からゲノム情報の部分データを読み出す際に、オフセット情報に対応する復号鍵情報を外部装置2に提供する。
ICモジュール10は、コンタクト部3と、ICチップ100とを備え、例えば、テープ上にICモジュール10が複数配置されたCOT(Chip On Tape)などの形態で取引されるモジュールである。なお、テープから個片抜きして切り離した単体のICモジュール10をCOTという場合がある。
コンタクト部3は、ICカード1が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子は、電源電圧、クロック信号、リセット信号などを外部装置2から供給を受ける端子、及び、外部装置2と通信するためのシリアルデ―タ入出力端子(SIO端子)を有する。
ICチップ100は、例えば、1チップのマイクロプロセッサなどのLSI(Large Scale Integration)である。
ICチップ100は、例えば、1チップのマイクロプロセッサなどのLSI(Large Scale Integration)である。
次に、図2を参照して、本実施形態のICカード1のハードウェア構成について説明する。
図2は、本実施形態のICカード1のハードウェア構成例を示す図である。
図2に示すように、ICカード1は、コンタクト部3と、ICチップ100とを備えたICモジュール10を備えている。そして、ICチップ100は、UART(Universal Asynchronous Receiver Transmitter)4と、CPU5と、ROM(Read Only Memory)6と、RAM(Random Access Memory)7と、EEPROM(Electrically Erasable Programmable ROM)8とを備えている。また、各構成(4から8)は、内部バスBS1を介して接続されている。
図2は、本実施形態のICカード1のハードウェア構成例を示す図である。
図2に示すように、ICカード1は、コンタクト部3と、ICチップ100とを備えたICモジュール10を備えている。そして、ICチップ100は、UART(Universal Asynchronous Receiver Transmitter)4と、CPU5と、ROM(Read Only Memory)6と、RAM(Random Access Memory)7と、EEPROM(Electrically Erasable Programmable ROM)8とを備えている。また、各構成(4から8)は、内部バスBS1を介して接続されている。
UART4は、上述したSIO端子を介して、外部装置2とシリアルデータ通信を行う。UART4は、SIO端子を介して受信したシリアルデータ信号をパラレル変換したデータ(例えば、1バイトのデータ)を内部バスBS1に出力する。また、UART4は、内部バスBS1を介して取得したデータをシリアル変換して、SIO端子を介して外部装置2に出力する。UART4は、例えば、SIO端子を介してコマンドを外部装置2から受信する。また、UART4は、SIO端子を介してレスポンスを外部装置2に送信する。
CPU5は、ROM6又はEEPROM8に記憶されているプログラムを実行して、ICカード1の各種処理を行う。CPU5は、例えば、コンタクト部3を介して、UART4が受信したコマンドに応じたコマンド処理を実行する。
ROM6は、例えば、マスクROMなどの不揮発性メモリであり、ICカード1の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。
RAM7は、例えば、SRAM(Static RAM)などの揮発性メモリであり、ICカード1の各種処理を行う際に利用されるデータを一時記憶する。
RAM7は、例えば、SRAM(Static RAM)などの揮発性メモリであり、ICカード1の各種処理を行う際に利用されるデータを一時記憶する。
EEPROM8は、例えば、電気的に書き換え可能な不揮発性メモリである。EEPROM8は、ICカード1が利用する各種データを記憶する。EEPROM8は、例えば、ICカード1を利用した各種サービス(アプリケーション)に使用される情報を記憶する。
次に、図3を参照して、本実施形態によるICカード1の機能構成例について説明する。
図3は、本実施形態のICカード1の機能構成例を示すブロック図である。
図3に示すように、ICカード1は、通信部40と、制御部50と、ファイル管理情報記憶部81と、APデータ記憶部82とを備える。
ここで、図3に示されるICカード1の各部は、図2に示されるICカード1のハードウェアを用いて実現される。
図3は、本実施形態のICカード1の機能構成例を示すブロック図である。
図3に示すように、ICカード1は、通信部40と、制御部50と、ファイル管理情報記憶部81と、APデータ記憶部82とを備える。
ここで、図3に示されるICカード1の各部は、図2に示されるICカード1のハードウェアを用いて実現される。
通信部40は、例えば、UART4と、CPU5と、ROM6に記憶されているプログラムとにより実現され、コンタクト部3を介して、例えば、外部装置2との間でコマンド及びレスポンスの送受信を行う。すなわち、通信部40は、所定の処理を要求するコマンド(処理要求)を外部装置2から受信するとともに、コマンドに対するレスポンス(処理応答)を外部装置2に送信する。
ファイル管理情報記憶部81は、例えば、EEPROM8により構成された記憶部であり、データを記憶する各種ファイルを管理する管理情報(例えば、ディレクトリ情報)を記憶する。ファイル管理情報記憶部81は、例えば、ファイル名、ファイルIDなどのファイル識別情報と、ファイルの先頭のアドレス(以下、ファイルの先頭アドレスという)とを対応付けて記憶する。ここで、ファイルの先頭アドレスは、例えば、EEPROM8の物理アドレスである。ICカード1において、各ファイルの選択、又は、各ファイルにアクセス処理を実行する場合には、ファイル管理情報記憶部81が記憶するファイル管理情報に基づいて、各ファイルの選択、又は、各ファイルにアクセス処理を実行する。ここで、アクセス処理とは、データの読み出し、書き込み、更新などの処理のことである。
AP(アプリケーション)データ記憶部82(データ記憶部の一例)は、例えば、EEPROM8により構成された記憶部であり、アプリケーションデータを記憶する。APデータ記憶部82は、MF(Master File)、DF(Dedicated File)、EF(Elementary File)などのファイルが階層構造になって記憶されている。
また、APデータ記憶部82は、上述したゲノム情報を記憶するファイル(例えば、EF)を有しており、当該ファイルには、ゲノム情報が暗号化されて記憶される。なお、ゲノム情報は、読み出しを許可した者(例えば、ゲノム情報の利用業者など)が必要な部分データを読み出し、必要以外のデータを読み出せないように、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されている。このように、APデータ記憶部82は、暗号化されたゲノム情報をファイル単位で記憶している。また、本実施形態では、ゲノム情報は、例えば、ゲノム情報と等しいサイズの乱数列を暗号鍵及び復号鍵とし、当該乱数列と、ゲノム情報とをXOR(排他的論理和)演算処理して、暗号化する。また、ゲノム情報の暗号化処理及び復号処理の詳細については後述する。
制御部50は、例えば、CPU5と、RAM7と、ROM6又はEEPROM8とにより実現され、ICカード1を統括的に制御する。制御部50は、ファイル管理部51と、コマンド処理部52とを備える。
ファイル管理部51は、ファイル管理情報記憶部81が記憶する管理情報(例えば、ディレクトリ情報)に基づいて、APデータ記憶部82内のファイルを管理する。ファイル管理部51は、例えば、APデータ記憶部82内の各ファイルへのアクセス権を管理する。ファイル管理部51は、例えば、ファイルへのアクセス処理を実行する際に、ファイル管理情報記憶部81が記憶する管理情報を検索して、ファイルの記憶場所を特定する。
コマンド処理部52(処理部の一例)は、外部装置2からICカード1に送信されたコマンド(処理要求)に応じて、各種コマンドの処理(コマンド処理)を実行する。コマンド処理部52は、例えば、通信部40を介して外部装置2から受信したコマンドに応じて、コマンド処理を実行する。また、コマンド処理部52は、コマンド処理の結果であるレスポンスを、通信部40を介して外部装置2に送信する。
また、コマンド処理部52は、例えば、ゲノム情報などの秘密情報を読み出す際に、ゲノム情報などにファイル内のデータの一部を読み出す、部分読み出しコマンド(読み出し要求の一例)を実行する。ここで、部分読み出しコマンドには、図4に示すように、オフセット情報と、復号鍵情報とを含んでいる。
また、コマンド処理部52は、例えば、ゲノム情報などの秘密情報を読み出す際に、ゲノム情報などにファイル内のデータの一部を読み出す、部分読み出しコマンド(読み出し要求の一例)を実行する。ここで、部分読み出しコマンドには、図4に示すように、オフセット情報と、復号鍵情報とを含んでいる。
図4は、本実施形態の部分読み出しコマンドのデータフォーマット例を示す図である。
図4に示すように、読み出しコマンドのコマンド電文には、ヘッダ部と、ボディ部とを含んでいる。また、ヘッダ部には、コマンドの識別情報である「CLA」及び「INS」と、コマンドパラメータの「P1」及び「P2」とが含まれる。
図4に示すように、読み出しコマンドのコマンド電文には、ヘッダ部と、ボディ部とを含んでいる。また、ヘッダ部には、コマンドの識別情報である「CLA」及び「INS」と、コマンドパラメータの「P1」及び「P2」とが含まれる。
また、ボディ部には、「Lc」と、「オフセット情報」と、「復号鍵情報」と、「Le」とが含まれる。ここで、「Lc」は、コマンドにおける入力データのサイズを示し、「Le」は、コマンドにより出力される出力データの最大サイズを示す。また、「オフセット情報」は、指定したファイル内の暗号化されたデータ(例えば、暗号化されたゲノム情報)の読み出し開始位置を示す。
また、「復号鍵情報」は、オフセット情報に対応する復号鍵情報を示す。すなわち、「復号鍵情報」は、オフセット情報が示す読み出し開始位置から所定の単位サイズ(単位長さ、例えば、1バイト)のデータを読み出す際に、復号処理に用いる復号鍵情報を示している。
また、図4に示す例では、複数の位置のデータを1回のコマンド処理で読み出しできるように、部分読み出しコマンドのコマンド電文には、複数の「オフセット情報」(OF1、OF2、・・・)及び「復号鍵情報」(KEY11、KEY12、・・・)が含まれている。
また、図4に示す例では、複数の位置のデータを1回のコマンド処理で読み出しできるように、部分読み出しコマンドのコマンド電文には、複数の「オフセット情報」(OF1、OF2、・・・)及び「復号鍵情報」(KEY11、KEY12、・・・)が含まれている。
図3の説明に戻り、コマンド処理部52は、外部装置2から受信した一部読み出しコマンドに応じて、例えば、暗号化されたゲノム情報のうちの、オフセット情報が示す読み出し開始位置からの所定の長さ(例えば、1バイト)のデータを、復号鍵情報に基づいて復号し、復号した当該データをレスポンス(処理応答)として、外部装置2に送信する。
例えば、コマンド処理部52は、オフセット情報が示す読み出し開始位置の1バイトのデータ(暗号データ)と、1バイトの復号鍵情報とをXOR演算処理して復号し、復号したデータ(ゲノム情報の部分データ)をレスポンスとして、通信部40を介して、外部装置2に送信する。このように、コマンド処理部52は、読み出し開始位置からの所定の長さ(例えば、1バイト)のデータを、所定の単位サイズ(例えば、1バイト)ごとに異なる復号鍵情報に基づいて、所定の単位サイズ(例えば、1バイト)ごとに復号し、復号した当該データを外部装置2に送信する。
次に、図面を参照して本実施形態によるICカード1及びICカードシステム150の動作について説明する。
まず、図5を参照して、本実施形態におけるゲノム情報の暗号化処理の詳細について説明する。
まず、図5を参照して、本実施形態におけるゲノム情報の暗号化処理の詳細について説明する。
図5は、本実施形態のゲノム情報の暗号化処理の一例を示す図である。
図5において、ゲノム情報GD1は、塩基配列を文字列で表記したデータであり、各文字をコード化したデータ列になっている。また、暗号鍵KEY1は、鍵管理装置9が生成した乱数列である。暗号鍵KEY1は、ゲノム情報と等しいサイズであり、復号鍵としても使用される。なお、この図において、コード化された各データは、16進数(ヘキサデシマル)で表記されている。
図5において、ゲノム情報GD1は、塩基配列を文字列で表記したデータであり、各文字をコード化したデータ列になっている。また、暗号鍵KEY1は、鍵管理装置9が生成した乱数列である。暗号鍵KEY1は、ゲノム情報と等しいサイズであり、復号鍵としても使用される。なお、この図において、コード化された各データは、16進数(ヘキサデシマル)で表記されている。
ICカード1に利用者のゲノム情報GD1を登録する際に、発行機である外部装置2は、鍵管理装置9が生成した暗号鍵KEY1と、ゲノム情報GD1とを1ビット単位(又は1バイト単位)でXOR処理して、暗号化されたゲノム情報EGD1を生成する。外部装置2は、生成した暗号化されたゲノム情報EGD1を、書き込みコマンドや、発行用コマンドなどを使用して、APデータ記憶部82の所定のファイル(例えば、EF)に記憶させる。
次に、図6及び図7を参照して、本実施形態の部分読み出しコマンドの処理について説明する。
図6は、本実施形態の部分読み出しコマンドの処理の一例を示すフローチャートである。
図6において、ICカード1のAPデータ記憶部82の所定のファイル(例えば、EF)に、図5に示すような暗号化されたゲノム情報EGD1が記憶されているものとする。また、ここでの外部装置2は、例えば、ゲノム情報の利用業者の端末装置であり、鍵管理装置9から利用するゲノム情報の一部データに対応する復号鍵情報を取得しているものとする。
図6は、本実施形態の部分読み出しコマンドの処理の一例を示すフローチャートである。
図6において、ICカード1のAPデータ記憶部82の所定のファイル(例えば、EF)に、図5に示すような暗号化されたゲノム情報EGD1が記憶されているものとする。また、ここでの外部装置2は、例えば、ゲノム情報の利用業者の端末装置であり、鍵管理装置9から利用するゲノム情報の一部データに対応する復号鍵情報を取得しているものとする。
図6において、外部装置2とICカード1とがコンタクト部3を介して接続され、ICカード1が活性化された状態において、ICカード1は、コマンドを受信したか否かを判定する(ステップS101)。すなわち、ICカード1の通信部40は、UART4を介して、外部装置2からコマンドを受信したか否かを判定する。通信部40は、コマンドを受信した場合(ステップS101:YES)に、処理をステップS102に進める。また、通信部40は、コマンドを受信していない場合(ステップS101:NO)に、処理をステップS101に戻し、ステップS101の処理を繰り返す。
ステップS102において、ICカード1のコマンド処理部52は、受信したコマンドが部分読み出しコマンドであるか否かを判定する。コマンド処理部52は、例えば、受信したコマンド電文のうちの「CLA」及び「INS」に基づいて、部分読み出しコマンドであるか否かを判定する。コマンド処理部52は、受信したコマンドが部分読み出しコマンドである場合(ステップS102:YES)に、処理をステップS103に進める。また、コマンド処理部52は、受信したコマンドが部分読み出しコマンドでない場合(ステップS102:NO)に、処理をステップS107に進める。
ステップS103において、コマンド処理部52は、指定ファイルのオフセット情報を示す読み出し開始位置のデータを取得する。コマンド処理部52は、ファイル管理部51に、ファイル管理情報記憶部81が記憶する管理情報(例えば、ディレクトリ情報)に基づいて、指定ファイルの記憶場所を特定させて、当該記憶位置を取得する。コマンド処理部52は、オフセット情報により、取得したファイルの記憶位置から読み出し開始位置を特定する。コマンド処理部52は、例えば、当該読み出し開始位置の1バイトのデータ(暗号化されたゲノム情報の所定の位置の1バイトのデータ)をAPデータ記憶部82から読み出して取得する。
次に、コマンド処理部52は、所得したデータを復号鍵情報で復号する(ステップS104)。コマンド処理部52は、受信した部分読み出しコマンドに含まれる読み出し開始位置に対応する復号鍵情報(例えば、1バイト)と、所得したデータ(例えば、1バイト)とをXOR演算処理して、暗号化されたゲノム情報を復号する。
次に、コマンド処理部52は、次のオフセット情報があるか否かを判定する(ステップS105)。コマンド処理部52は、受信した部分読み出しコマンドを確認し、次のオフセット情報があるか否かを判定する。コマンド処理部52は、次のオフセット情報がある場合(ステップS105:YES)に、処理をステップS103に戻して、ステップS103からステップS105の処理を繰り返す。また、コマンド処理部52は、次のオフセット情報がない場合(ステップS105:NO)に、処理をステップS106に進める。
ステップS106において、コマンド処理部52は、復号したデータ(ゲノム情報の部分データ)を含むレスポンスを外部装置2に送信する。コマンド処理部52は、例えば、復号したデータ(ゲノム情報の部分データ)及び結果情報(ステータス情報SW1及びSW2)を含むレスポンスを、通信部40を介して、外部装置2へ送信させる。ステップS106の処理後に、コマンド処理部52は、処理をステップS101に戻す。
また、ステップS107において、コマンド処理部52は、他のコマンド処理を実行する。
次に、コマンド処理部52は、レスポンスを送信する(ステップS108)。コマンド処理部52は、例えば、他のコマンド処理の結果情報を含むレスポンスを、通信部40を介して、外部装置2へ送信させる。ステップS108の処理後に、コマンド処理部52は、処理をステップS101に戻す。
次に、コマンド処理部52は、レスポンスを送信する(ステップS108)。コマンド処理部52は、例えば、他のコマンド処理の結果情報を含むレスポンスを、通信部40を介して、外部装置2へ送信させる。ステップS108の処理後に、コマンド処理部52は、処理をステップS101に戻す。
また、図7は、本実施形態の部分読み出しコマンドの処理の一例を説明する図である。
図7に示す例では、部分読み出しコマンドCD1において、オフセット情報(OF1)の“02”及びオフセット情報(OF2)の“07”が指定されている。また、オフセット情報(OF1)に対応する復号鍵情報(KEY11)は、“11”であり、オフセット情報(OF2)に対応する復号鍵情報(KEY12)は、“94”である。なお、図7において、各データは、16進数で表記されている。また、ファイルFD1には、暗号化されたゲノム情報EGD1が記憶されているものとする。
図7に示す例では、部分読み出しコマンドCD1において、オフセット情報(OF1)の“02”及びオフセット情報(OF2)の“07”が指定されている。また、オフセット情報(OF1)に対応する復号鍵情報(KEY11)は、“11”であり、オフセット情報(OF2)に対応する復号鍵情報(KEY12)は、“94”である。なお、図7において、各データは、16進数で表記されている。また、ファイルFD1には、暗号化されたゲノム情報EGD1が記憶されているものとする。
コマンド処理部52は、上述した部分読み出しコマンドCD1を受信した場合に、オフセット情報(OF1)の“02”に基づいて、暗号化されたゲノム情報EGD1の2バイト目のデータ“45”を読み出し、復号鍵情報(KEY11)の“11”とXOR処理して復号し、ゲノム情報の部分データ“54”を生成する。また、コマンド処理部52は、オフセット情報(OF2)の“07”に基づいて、暗号化されたゲノム情報EGD1の7バイト目のデータ“D5”を読み出し、復号鍵情報(KEY12)の“94”とXOR処理して復号し、ゲノム情報の部分データ“41”を生成する。
コマンド処理部52は、復号した部分データ“54”及び“41”をまとめて、ゲノム情報の部分データGD11とし、部分データGD11を含むレスポンスを、外部装置2に送信する。
以上説明したように、本実施形態によるICカード1(携帯可能電子装置)は、APデータ記憶部82(データ記憶部)と、コマンド処理部52(処理部)とを備える。APデータ記憶部82は、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータ(例えば、ゲノム情報)を記憶する。コマンド処理部52は、外部装置2から受信した読み出し要求(部分読み出しコマンド)に応じて、暗号化されたデータのうちの、オフセット情報が示す読み出し開始位置からの所定の長さのデータを、復号鍵情報に基づいて復号し、復号した当該データを外部装置2に送信する。ここで、読み出し要求(部分読み出しコマンド)は、APデータ記憶部82が記憶する暗号化されたデータの読み出し開始位置を示すオフセット情報と、オフセット情報に対応する復号鍵情報とを少なくとも含む。
これにより、本実施形態によるICカード1は、オフセット情報に対応する復号鍵情報により必要な部分データを復号して読み出すため、例えば、ゲノム情報の利用に必要な一部の情報を適切に読み出すことができ、必要な一部の情報以外の情報を読み出すことがでない。よって、本実施形態によるICカード1は、セキュリティを確保しつつ、必要な部分データ(例えば、ゲノム情報などの秘密情報の部分データ)を読み出すことができる。
例えば、本実施形態によるICカード1では、ゲノム情報の薬剤処方に関連する一部の情報(例えば、SNP(Single Nucleotide Polymorphism、一塩基多型、個人間の遺伝情報のわずかな違いのこと))を、他の情報を開示させずに、読み出すことが可能になる。
例えば、本実施形態によるICカード1では、ゲノム情報の薬剤処方に関連する一部の情報(例えば、SNP(Single Nucleotide Polymorphism、一塩基多型、個人間の遺伝情報のわずかな違いのこと))を、他の情報を開示させずに、読み出すことが可能になる。
また、本実施形態では、APデータ記憶部82は、所定の単位サイズ(例えば、1バイト)ごとに異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶する。コマンド処理部52は、部分読み出しコマンドに応じて、読み出し開始位置からの所定の長さのデータを、所定の単位サイズ(例えば、1バイト)ごとに異なる復号鍵情報に基づいて、所定の単位サイズ(例えば、1バイト)ごとに復号し、復号した当該データを外部装置2に送信する。
これにより、本実施形態によるICカード1は、所定の単位サイズにより部分データを容易に復号することができる。
これにより、本実施形態によるICカード1は、所定の単位サイズにより部分データを容易に復号することができる。
また、本実施形態では、APデータ記憶部82は、暗号化されたデータをファイル単位(例えば、EF単位)に記憶する。コマンド処理部52は、部分読み出しコマンドに応じて、指定されたファイルに対応する暗号化されたデータ(例えば、ゲノム情報)のうちの、オフセット情報が示す読み出し開始位置からの所定の長さのデータを、復号鍵情報に基づいて復号し、復号した当該データを外部装置2に送信する。
これにより、本実施形態によるICカード1は、暗号化されたデータ(例えば、ゲノム情報)の管理が容易になるとともに、ファイルの形式を変更することで暗号化されたデータ(例えば、ゲノム情報)以外の他の情報を容易に記憶させることができる。そのため、本実施形態によるICカード1は、セキュリティを確保しつつ、利便性を向上させることができる。
これにより、本実施形態によるICカード1は、暗号化されたデータ(例えば、ゲノム情報)の管理が容易になるとともに、ファイルの形式を変更することで暗号化されたデータ(例えば、ゲノム情報)以外の他の情報を容易に記憶させることができる。そのため、本実施形態によるICカード1は、セキュリティを確保しつつ、利便性を向上させることができる。
また、本実施形態では、APデータ記憶部82は、暗号化されたデータとして、利用者の塩基配列を示すデータを含むゲノム情報を暗号化したデータを記憶する。
これにより、本実施形態によるICカード1は、セキュリティを確保しつつ、ゲノム情報の部分データを読み出すことができる。
これにより、本実施形態によるICカード1は、セキュリティを確保しつつ、ゲノム情報の部分データを読み出すことができる。
また、本実施形態によるICカード1は、ICモジュール10と、ICモジュール10が埋め込まれたカード基材PT(カード本体)とを備える。そして、本実施形態によるICモジュール10は、上述したAPデータ記憶部82(データ記憶部)と、コマンド処理部52(処理部)とを備える。
これにより、本実施形態によるICモジュール10は、上述したICカード1と同様の効果を奏し、セキュリティを確保しつつ、必要な部分データを読み出すことができる。
これにより、本実施形態によるICモジュール10は、上述したICカード1と同様の効果を奏し、セキュリティを確保しつつ、必要な部分データを読み出すことができる。
また、本実施形態によるICカードシステム150は、上述したICカード1と、外部装置2と、鍵管理装置9とを備える。外部装置2は、鍵管理装置9からオフセット情報に対応する復号鍵情報を取得し、オフセット情報と、取得した復号鍵情報とを含む部分読み出しコマンドをICカード1に送信して、例えば、ゲノム情報の部分データを読み出す。
これにより、本実施形態によるICカードシステム150は、上述したICカード1と同様の効果を奏し、セキュリティを確保しつつ、必要な部分データ(例えば、ゲノム情報の部分データ)を読み出すことができることができる。
これにより、本実施形態によるICカードシステム150は、上述したICカード1と同様の効果を奏し、セキュリティを確保しつつ、必要な部分データ(例えば、ゲノム情報の部分データ)を読み出すことができることができる。
(第2の実施形態)
次に、図面を参照して、第2の実施形態によるICカード1について説明する。
なお、本実施形態によるICカード1では、データ長を含む部分読み出しコマンドの変形例について説明する。なお、本実施形態によるICカード1の基本的な構成は、図1〜図3に示す第1の実施形態と同様であり、部分読み出しコマンドに関する処理が異なる。
次に、図面を参照して、第2の実施形態によるICカード1について説明する。
なお、本実施形態によるICカード1では、データ長を含む部分読み出しコマンドの変形例について説明する。なお、本実施形態によるICカード1の基本的な構成は、図1〜図3に示す第1の実施形態と同様であり、部分読み出しコマンドに関する処理が異なる。
本実施形態におけるコマンド処理部52は、例えば、ゲノム情報などの秘密情報を読み出す際に、ゲノム情報などにファイル内のデータの一部を読み出す、部分読み出しコマンド(読み出し要求の一例)を実行する。コマンド処理部52は、オフセット情報と、復号鍵情報と、読み出し開始位置から読み出すデータの長さを示すデータ長とを含む部分読み出しコマンドに応じて、読み出し開始位置からデータ長のデータを、復号鍵情報に基づいて復号し、復号した当該データを外部装置2に送信する。ここで、部分読み出しコマンドには、図8に示すように、オフセット情報と、データ長と、復号鍵情報とを含んでいる。
図8は、本実施形態の部分読み出しコマンドのデータフォーマット例を示す図である。
図8に示すように、本実施形態の読み出しコマンドのコマンド電文には、ヘッダ部と、ボディ部とを含み、ヘッダ部には、上述した第1の実施形態と同様である。
図8に示すように、本実施形態の読み出しコマンドのコマンド電文には、ヘッダ部と、ボディ部とを含み、ヘッダ部には、上述した第1の実施形態と同様である。
また、ボディ部には、「Lc」と、「オフセット情報」と、「データ長」と、「復号鍵情報」と、「Le」とが含まれる。ここで、「データ長」は、読み出し開始位置から読み出すデータ長を示している。また、他の「Lc」「オフセット情報」、「復号鍵情報」、及び「Le」は、上述した第1の実施形態と同様である。
なお、本実施形態では、1つの「オフセット情報」に対して、「データ長」の値に応じて、複数の「復号鍵情報」を指定することが可能である。
なお、本実施形態では、1つの「オフセット情報」に対して、「データ長」の値に応じて、複数の「復号鍵情報」を指定することが可能である。
図8に示す例では、複数「復号鍵情報」に対応する「データ長」のデータを1回のコマンド処理で読み出しできるように、部分読み出しコマンドのコマンド電文には、1つの「オフセット情報」(OF1)及び「データ長」と、複数の「復号鍵情報」(KEY11、KEY12、・・・)が含まれている。
次に、図面を参照して本実施形態によるICカード1の動作について説明する。
本実施形態におけるゲノム情報の暗号化処理は、上述した図5に示す第1の実施形態と同様であるため、ここではその説明を省略する。
本実施形態におけるゲノム情報の暗号化処理は、上述した図5に示す第1の実施形態と同様であるため、ここではその説明を省略する。
次に、図9及び図10を参照して、本実施形態の部分読み出しコマンドの処理について説明する。
図9は、本実施形態の部分読み出しコマンドの処理の一例を示すフローチャートである。
図9において、ICカード1のAPデータ記憶部82の所定のファイル(例えば、EF)に、図5に示すような暗号化されたゲノム情報EGD1が記憶されているものとする。また、ここでの外部装置2は、例えば、ゲノム情報の利用業者の端末装置であり、鍵管理装置9から利用するゲノム情報の一部データに対応する復号鍵情報を取得しているものとする。
図9は、本実施形態の部分読み出しコマンドの処理の一例を示すフローチャートである。
図9において、ICカード1のAPデータ記憶部82の所定のファイル(例えば、EF)に、図5に示すような暗号化されたゲノム情報EGD1が記憶されているものとする。また、ここでの外部装置2は、例えば、ゲノム情報の利用業者の端末装置であり、鍵管理装置9から利用するゲノム情報の一部データに対応する復号鍵情報を取得しているものとする。
図9において、外部装置2とICカード1とがコンタクト部3を介して接続され、ICカード1が活性化された状態において、ICカード1は、コマンドを受信したか否かを判定する(ステップS201)。なお、図9において、ステップS201及びステップS202の処理は、上述した図6に示すステップS101及びステップS102の処理と同様であるため、ここではその説明を省略する。但し、ステップS202において、コマンド処理部52は、受信したコマンドが部分読み出しコマンドでない場合(ステップS202:NO)に、処理をステップS206に進める。
ステップS203において、コマンド処理部52は、指定ファイルのオフセット情報を示す読み出し開始位置からデータ長分のデータを取得する。コマンド処理部52は、ファイル管理部51に、ファイル管理情報記憶部81が記憶する管理情報(例えば、ディレクトリ情報)に基づいて、指定ファイルの記憶場所を特定させて、当該記憶位置を取得する。コマンド処理部52は、オフセット情報から、取得したファイルの記憶位置から読み出し開始位置を特定する。コマンド処理部52は、例えば、当該読み出し開始位置からデータ長分のデータ(暗号化されたゲノム情報の所定の位置のデータ長分のデータ)をAPデータ記憶部82から読み出して取得する。
次に、コマンド処理部52は、所得したデータを復号鍵情報で復号する(ステップS204)。コマンド処理部52は、受信した部分読み出しコマンドに含まれる読み出し開始位置からデータ長分に対応する復号鍵情報と、所得したデータ長分のデータとをXOR演算処理して、暗号化されたゲノム情報を復号する。
次に、コマンド処理部52は、復号したデータ(ゲノム情報の部分データ)を含むレスポンスを外部装置2に送信する(ステップS205)。コマンド処理部52は、例えば、復号したデータ(ゲノム情報の部分データ)及び結果情報(ステータス情報SW1及びSW2)を含むレスポンスを、通信部40を介して、外部装置2へ送信させる。ステップS205の処理後に、コマンド処理部52は、処理をステップS201に戻す。
また、ステップS206及びステップS207の処理は、上述した図6に示すステップS107及びステップS108の処理と同様であるため、ここではその説明を省略する。
また、図10は、本実施形態の部分読み出しコマンドの処理の一例を説明する図である。
図10に示す例では、部分読み出しコマンドCD2において、オフセット情報(OF1)の“02”と、データ長が“02”(2バイト)が指定されている。また、オフセット情報(OF1)からの2バイトに対応する復号鍵情報は、復号鍵情報(KEY11)が“11”であり、復号鍵情報(KEY12)は、“94”である。なお、図10において、各データは、16進数で表記されている。また、ファイルFD1には、暗号化されたゲノム情報EGD1が記憶されているものとする。
図10に示す例では、部分読み出しコマンドCD2において、オフセット情報(OF1)の“02”と、データ長が“02”(2バイト)が指定されている。また、オフセット情報(OF1)からの2バイトに対応する復号鍵情報は、復号鍵情報(KEY11)が“11”であり、復号鍵情報(KEY12)は、“94”である。なお、図10において、各データは、16進数で表記されている。また、ファイルFD1には、暗号化されたゲノム情報EGD1が記憶されているものとする。
コマンド処理部52は、上述した部分読み出しコマンドCD2を受信した場合に、オフセット情報(OF1)の“02”及びデータ長の“02”に基づいて、暗号化されたゲノム情報EGD1の2バイト目からの2バイトデータ“4578”を読み出し、復号鍵情報(KEY11及びKEY12)の“113F”とXOR処理して復号し、ゲノム情報の部分データ“5447”を生成する。
コマンド処理部52は、復号した部分データ“5447”の2バイトを、ゲノム情報の部分データGD12とし、部分データGD12を含むレスポンスを、外部装置2に送信する。
以上説明したように、本実施形態によるICカード1では、コマンド処理部52は、オフセット情報と、復号鍵情報と、読み出し開始位置から読み出すデータの長さを示すデータ長とを含む部分読み出しコマンド(読み出し要求)に応じて、読み出し開始位置からデータ長のデータを、復号鍵情報に基づいて復号し、復号した当該データを外部装置2に送信する。
これにより、本実施形態によるICカード1は、オフセット情報が示す読み出し開始位置から連続した部分データを、セキュリティを確保しつつ、1回のコマンド処理により効率良く必要なデータを読み出すことができる。よって、本実施形態によるICカード1は、セキュリティを確保しつつ、利便性を向上させることができる。
これにより、本実施形態によるICカード1は、オフセット情報が示す読み出し開始位置から連続した部分データを、セキュリティを確保しつつ、1回のコマンド処理により効率良く必要なデータを読み出すことができる。よって、本実施形態によるICカード1は、セキュリティを確保しつつ、利便性を向上させることができる。
また、本実施形態では、コマンド処理部52は、部分読み出しコマンドに応じて、読み出し開始位置からのデータ長分のデータを、所定の単位サイズ(例えば、1バイト)ごとに異なる復号鍵情報に基づいて、所定の単位サイズ(例えば、1バイト)ごとに復号し、復号した当該データを外部装置2に送信する。
これにより、本実施形態によるICカード1は、所定の単位サイズにより部分データを容易に復号することができる。
これにより、本実施形態によるICカード1は、所定の単位サイズにより部分データを容易に復号することができる。
(第3の実施形態)
次に、図面を参照して、第3の実施形態によるICカード1について説明する。
なお、本実施形態によるICカード1では、ブロック暗号に対応した部分読み出しコマンドの変形例について説明する。なお、本実施形態によるICカード1の基本的な構成は、図1〜図3に示す第1の実施形態と同様であり、部分読み出しコマンドに関する処理が異なる。
次に、図面を参照して、第3の実施形態によるICカード1について説明する。
なお、本実施形態によるICカード1では、ブロック暗号に対応した部分読み出しコマンドの変形例について説明する。なお、本実施形態によるICカード1の基本的な構成は、図1〜図3に示す第1の実施形態と同様であり、部分読み出しコマンドに関する処理が異なる。
本実施形態では、ゲノム情報は、例えば、AES(Advanced Encryption Standard)やDES(Data Encryption Standard)などのブロック暗号により暗号化されて、APデータ記憶部82に記憶されている。
また、コマンド処理部52は、外部装置2から受信した一部読み出しコマンドに応じて、例えば、暗号化されたゲノム情報のうちの、オフセット情報が示す読み出し開始位置からの所定の長さ(例えば、16バイト)のデータを、復号鍵情報に基づいて復号し、復号した当該データをレスポンス(処理応答)として、外部装置2に送信する。
また、コマンド処理部52は、外部装置2から受信した一部読み出しコマンドに応じて、例えば、暗号化されたゲノム情報のうちの、オフセット情報が示す読み出し開始位置からの所定の長さ(例えば、16バイト)のデータを、復号鍵情報に基づいて復号し、復号した当該データをレスポンス(処理応答)として、外部装置2に送信する。
例えば、コマンド処理部52は、オフセット情報が示す読み出し開始位置の16バイトのデータ(暗号データ)と、16バイトの復号鍵情報とによりブロック単位でAES暗号の復号を実行し、復号したデータ(ゲノム情報の部分データ)をレスポンスとして、通信部40を介して、外部装置2に送信する。ここで、AESのブロック単位は、16バイトである。このように、コマンド処理部52は、読み出し開始位置からの所定の長さ(例えば、1バイト)のデータを、所定の単位サイズ(例えば、1ブロック)ごとに異なる復号鍵情報に基づいて、所定の単位サイズ(例えば、1ブロック)ごとに復号し、復号した当該データを外部装置2に送信する。
次に、図面を参照して本実施形態によるICカード1及びICカードシステム150の動作について説明する。
まず、図11を参照して、本実施形態におけるゲノム情報の暗号化処理の詳細について説明する。
まず、図11を参照して、本実施形態におけるゲノム情報の暗号化処理の詳細について説明する。
図11は、本実施形態のゲノム情報の暗号化処理の一例を示す図である。
図11において、ゲノム情報GD2は、塩基配列を文字列で表記したデータであり、各文字をコード化したデータ列になっている。また、暗号鍵BK1及び暗号鍵BK2は、ブロック暗号の暗号鍵(共通鍵暗号のため復号鍵を兼ねる)である。暗号鍵BK1及び暗号鍵BK2は、ブロック長に等しいサイズであり、復号鍵としても使用される。
図11において、ゲノム情報GD2は、塩基配列を文字列で表記したデータであり、各文字をコード化したデータ列になっている。また、暗号鍵BK1及び暗号鍵BK2は、ブロック暗号の暗号鍵(共通鍵暗号のため復号鍵を兼ねる)である。暗号鍵BK1及び暗号鍵BK2は、ブロック長に等しいサイズであり、復号鍵としても使用される。
ICカード1に利用者のゲノム情報GD2を登録する際に、発行機である外部装置2は、鍵管理装置9が生成した暗号鍵(BK1、BK2、・・・)により、ゲノム情報GD2のブロック(B1、B2、・・・)を暗号化した暗号ブロック(EB1、EB2、・・・)を含むゲノム情報EGD2を生成する。外部装置2は、生成した暗号化されたゲノム情報EGD2を、書き込みコマンドや、発行用コマンドなどを使用して、APデータ記憶部82の所定のファイル(例えば、EF)に記憶させる。
次に、図12及び図13を参照して、本実施形態の部分読み出しコマンドの処理について説明する。
図12は、本実施形態の部分読み出しコマンドの処理の一例を示すフローチャートである。
図12において、ICカード1のAPデータ記憶部82の所定のファイル(例えば、EF)に、図11に示すような暗号化されたゲノム情報EGD2が記憶されているものとする。また、ここでの外部装置2は、例えば、ゲノム情報の利用業者の端末装置であり、鍵管理装置9から利用するゲノム情報の一部データに対応する復号鍵情報を取得しているものとする。
図12は、本実施形態の部分読み出しコマンドの処理の一例を示すフローチャートである。
図12において、ICカード1のAPデータ記憶部82の所定のファイル(例えば、EF)に、図11に示すような暗号化されたゲノム情報EGD2が記憶されているものとする。また、ここでの外部装置2は、例えば、ゲノム情報の利用業者の端末装置であり、鍵管理装置9から利用するゲノム情報の一部データに対応する復号鍵情報を取得しているものとする。
図12において、外部装置2とICカード1とがコンタクト部3を介して接続され、ICカード1が活性化された状態において、ICカード1は、コマンドを受信したか否かを判定する(ステップS301)。なお、図12において、ステップS301及びステップS302の処理は、上述した図6に示すステップS101及びステップS102の処理と同様であるため、ここではその説明を省略する。但し、ステップS302において、コマンド処理部52は、受信したコマンドが部分読み出しコマンドでない場合(ステップS302:NO)に、処理をステップS307に進める。
ステップS303において、コマンド処理部52は、指定ファイルのオフセット情報を示す読み出し開始位置のデータをブロック単位で取得する。コマンド処理部52は、ファイル管理部51に、ファイル管理情報記憶部81が記憶する管理情報(例えば、ディレクトリ情報)に基づいて、指定ファイルの記憶場所を特定させて、当該記憶位置を取得する。コマンド処理部52は、オフセット情報により、取得したファイルの記憶位置から読み出し開始位置を特定する。コマンド処理部52は、例えば、当該読み出し開始位置のブロック単位のデータをAPデータ記憶部82から読み出して取得する。
次に、コマンド処理部52は、所得したデータを復号鍵情報にてブロック単位で復号する(ステップS304)。コマンド処理部52は、受信した部分読み出しコマンドに含まれる読み出し開始位置に対応する復号鍵情報(例えば、1ブロック分)により、所得したデータ(例えば、1ブロック分)をブロック暗号の復号処理を実行して、暗号化されたゲノム情報を復号する。
次に、コマンド処理部52は、次のオフセット情報があるか否かを判定する(ステップS305)。コマンド処理部52は、次のオフセット情報がある場合(ステップS305:YES)に、処理をステップS303に戻して、ステップS303からステップS305の処理を繰り返す。また、コマンド処理部52は、次のオフセット情報がない場合(ステップS305:NO)に、処理をステップS306に進める。
ステップS306からステップS308の処理は、図6に示すステップS106からステップS108の処理と同様であるため、ここではその説明を省略する。
ステップS306からステップS308の処理は、図6に示すステップS106からステップS108の処理と同様であるため、ここではその説明を省略する。
また、図13は、本実施形態の部分読み出しコマンドの処理の一例を説明する図である。
図13に示す例では、部分読み出しコマンドCD3において、オフセット情報(OF1)の“01”及びオフセット情報(OF2)の“11”が指定されている。また、オフセット情報(OF1)に対応する復号鍵情報(BK1)は、“XXXX・・・”であり、オフセット情報(OF2)に対応する復号鍵情報(BK2)は、“YYYY・・・”である。なお、図13において、ボディ部の復号鍵情報(BK1及びBK2)を除く各データは、16進数で表記されている。また、ファイルFD1には、暗号化された暗号ブロック(EB1、EB2、・・・)を含むゲノム情報EGD2が記憶されているものとする。
図13に示す例では、部分読み出しコマンドCD3において、オフセット情報(OF1)の“01”及びオフセット情報(OF2)の“11”が指定されている。また、オフセット情報(OF1)に対応する復号鍵情報(BK1)は、“XXXX・・・”であり、オフセット情報(OF2)に対応する復号鍵情報(BK2)は、“YYYY・・・”である。なお、図13において、ボディ部の復号鍵情報(BK1及びBK2)を除く各データは、16進数で表記されている。また、ファイルFD1には、暗号化された暗号ブロック(EB1、EB2、・・・)を含むゲノム情報EGD2が記憶されているものとする。
コマンド処理部52は、上述した部分読み出しコマンドCD3を受信した場合に、オフセット情報(OF1)の“01”に基づいて、暗号化されたゲノム情報EGD2の1バイト目からの暗号ブロックEB1を読み出し、復号鍵情報BK1により、ブロック単位に復号し、ゲノム情報の部分データであるブロックB1を生成する。また、コマンド処理部52は、オフセット情報(OF2)の“11”に基づいて、暗号化されたゲノム情報EGD2の17バイト目からの暗号ブロックEB2を読み出し、復号鍵情報BK2により、ブロック単位に復号し、ゲノム情報の部分データであるブロックB2を生成する。
コマンド処理部52は、復号した部分データであるブロックB1及びブロックB2をまとめて、ゲノム情報の部分データGD21とし、部分データGD21を含むレスポンスを、外部装置2に送信する。
なお、本実施形態において、読み出す部分データが、2つ(複数)の暗号ブロックにまたがる場合には、部分読み出しコマンドには、2つ(複数)の暗号ブロックに対応する2つ(複数)の復号鍵情報が含まれる。この場合、コマンド処理部52は、対応する復号鍵情報によりブロック単位で復号し、読み出し開始位置からの部分データを外部装置2に送信する。
以上説明したように、本実施形態によるICカード1では、コマンド処理部52は、部分読み出しコマンドに応じて、読み出し開始位置からのデータ長分のデータを、所定の単位サイズ(例えば、1ブロック)ごとに異なる復号鍵情報に基づいて、所定の単位サイズ(例えば、1ブロック)ごとに復号し、復号した当該データを外部装置2に送信する。
これにより、本実施形態によるICカード1は、所定の単位サイズ(ブロック)により部分データを容易に復号することができる。また、本実施形態によるICカード1は、暗号化されたデータを、例えば、ブロック単位で復号できるため、暗号化又は復号するデータ量が多い場合に、効率良く暗号化又は復号することができる。
これにより、本実施形態によるICカード1は、所定の単位サイズ(ブロック)により部分データを容易に復号することができる。また、本実施形態によるICカード1は、暗号化されたデータを、例えば、ブロック単位で復号できるため、暗号化又は復号するデータ量が多い場合に、効率良く暗号化又は復号することができる。
上記の各実施形態において、ICカード1は、部分読み出しコマンドにより、ゲノム情報の一部データを読み出す例を説明したが、これに限定されるものではない。ICカード1は、例えば、ゲノム情報のように、文字の羅列により所定の情報を示し、必要な一部の部分データを取得する必要があるような情報(個人情報、秘密情報など)であれば、他の情報に対して、部分読み出しコマンドの処理を適用してもよい。
また、上記の各実施形態において、暗号鍵と復号鍵とが共通の共通鍵暗号方式を用いる例を説明したが、これに限定されるものではなく、暗号鍵と復号鍵とが異なる公開鍵暗号方式を用いてもよい。
また、上記の各実施形態において、各実施形態を単独で実施する例を説明したが、各実施形態の一部又は全部を組み合わせて実施してもよい。例えば、第2及の実施形態において、第1及び第3の実施形態のように、部分読み出しコマンドに複数のオフセット情報を含めるようにしてもよい。また、例えば、第3の実施形態において、第2の実施形態のように、部分読み出しコマンドにデータ長を適用してもよい。
また、上記の各実施形態において、各実施形態を単独で実施する例を説明したが、各実施形態の一部又は全部を組み合わせて実施してもよい。例えば、第2及の実施形態において、第1及び第3の実施形態のように、部分読み出しコマンドに複数のオフセット情報を含めるようにしてもよい。また、例えば、第3の実施形態において、第2の実施形態のように、部分読み出しコマンドにデータ長を適用してもよい。
また、上記の各実施形態において、部分読み出しコマンドは、パスワード認証や相互認証などの認証処理を行った上で実行できるようにしてもよい。また、部分読み出しコマンドにより読み出した部分データは、ICカード1と外部装置2との間の通信において、例えば、セキュアメッセージングを利用して暗号化されたデータを用いてもよい。
また、上記の各実施形態において、オフセット情報をバイト単位の読み出し開始位置として指定する例を説明したが、ビット単位、又は16ビット、32ビットなどのワード単位に指定するようにしてもよい。
また、上記の第1及び第2の実施形態において、コマンド処理部52は、1バイト単位でXOR演算処理して、1バイトの整数倍の部分データを外部装置2に送信する例を説明したが、例えば、1ビット単位や1ワード単位でXOR演算処理して、1ビットや1ワードの整数倍の部分データを外部装置2に送信するにしてもよい。
また、上記の第1及び第2の実施形態において、コマンド処理部52は、1バイト単位でXOR演算処理して、1バイトの整数倍の部分データを外部装置2に送信する例を説明したが、例えば、1ビット単位や1ワード単位でXOR演算処理して、1ビットや1ワードの整数倍の部分データを外部装置2に送信するにしてもよい。
また、上記の第3の実施形態において、ブロックごとに異なる暗号鍵(復号鍵)を用いてブロックごと暗号化及び復号する例を説明したが、1つの暗号鍵(復号鍵)を用いて複数のブロックを、CBC(Cipher Block Chaining)モードなどの暗号利用モードを適用して、暗号化及び復号してもよい。
例えば、CBCモードを適用した場合には、鍵管理装置9は、復号鍵(全ブロック共通)と、CBCモードのための初期化ベクトル及びCBCモードで暗号化したゲノム情報(暗号ブロック)とを管理する。鍵管理装置9は、オフセット情報の示す読み出し開始位置の1つ前の暗号ブロック及び復号鍵を復号鍵情報として、外部装置2に送信する。なお、読み出し開始位置がゲノム情報の最初のブロックである場合には、鍵管理装置9は、初期化ベクトル及び復号鍵を復号鍵情報として、外部装置2に送信する。
外部装置2は、1つ前の暗号ブロック(又は初期化ベクトル)と復号鍵とを復号鍵情報として含む部分読み出しコマンドをICカード1に送信する。ICカード1のコマンド処理部52は、オフセット情報の示す読み出し開始位置の暗号ブロックを、1つ前の暗号ブロック(又は初期化ベクトル)と復号鍵とにより復号する。具体的に、コマンド処理部52は、開始位置の暗号ブロックを復号鍵により復号処理を実行した後、1つ前の暗号ブロック(又は初期化ベクトル)とXOR演算処理して暗号ブロックを復号する。
また、この例では、暗号利用モードにCBCモードを適用した例を説明したが、例えば、PCBC(Propagating Cipher Block Chaining)モード、CFB(Cipher Feedback)モード、OFB(Output Feedback)モードなどの暗号利用モードを適用してもよい。この場合には、復号鍵情報には、上述したCBCモードと同様に、復号鍵と、初期化ベクトル又は前後の暗号ブロックなどの付加情報とが含まれる。
また、上記の各実施形態において、ICカード1は、コンタクト部3を介して外部装置2と通信する例を説明したが、コイルなどを用いたコンタクトレスインターフェースを介して外部装置2と通信するように構成してもよい。
また、上記の各実施形態において、ICカード1は、書き換え可能な不揮発性メモリとして、EEPROM8を備える構成としたが、これに限定されるものではない。例えば、ICカード1は、EEPROM8の代わりに、フラッシュメモリ、FeRAM(Ferroelectric Random Access Memory:強誘電体メモリ)などを備えてもよい。
また、上記の各実施形態において、携帯可能電子装置の一例として、ICカード1を用いる例を説明したが、これに限定されるものではない。携帯可能電子装置は、例えば、カード形状ではないICタグなどの電子装置であってもよい。
以上説明した少なくともひとつの実施形態によれば、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶するAPデータ記憶部82と、暗号化されたデータの読み出し開始位置を示すオフセット情報と、オフセット情報に対応する復号鍵情報とを少なくとも含む部分読み出しコマンドに応じて、暗号化されたデータのうちの、オフセット情報が示す読み出し開始位置からの所定の長さのデータを、復号鍵情報に基づいて復号し、復号した当該データを外部装置2に送信するコマンド処理部52とを持つことにより、セキュリティを確保しつつ、必要なデータを読み出すことができる。
上記実施形態は、以下のように表現することができる。
読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶するデータ記憶部と、
情報を記憶する記憶部と、
前記記憶部に記憶されたプログラムを実行するハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサは、前記プログラムを実行することにより、
外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、
復号した当該データを前記外部装置に送信する、
ように構成されている、携帯可能電子装置。
読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶するデータ記憶部と、
情報を記憶する記憶部と、
前記記憶部に記憶されたプログラムを実行するハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサは、前記プログラムを実行することにより、
外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、
復号した当該データを前記外部装置に送信する、
ように構成されている、携帯可能電子装置。
なお、実施形態におけるICカード1及びICカードシステム150が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したICカード1及びICカードシステム150が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…ICカード、2…外部装置、3…コンタクト部、4…UART、5…CPU、6…ROM、7…RAM、8…EEPROM、9…鍵管理装置、10‥ICモジュール、40…通信部、50…制御部、51…ファイル管理部、52…コマンド処理部、81…ファイル管理情報記憶部、82…APデータ記憶部、100…ICチップ、150…ICカードシステム、BS1…内部バス、PT…カード基材
Claims (6)
- 読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶するデータ記憶部と、
外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する処理部と
を備える携帯可能電子装置。 - 前記処理部は、前記オフセット情報と、前記復号鍵情報と、前記読み出し開始位置から読み出すデータの長さを示すデータ長とを含む前記読み出し要求に応じて、前記読み出し開始位置から前記データ長のデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する
請求項1に記載の携帯可能電子装置。 - 前記データ記憶部は、所定の単位サイズごとに異なる前記復号鍵情報に基づいて復号可能に前記暗号化されたデータを記憶し、
前記処理部は、前記読み出し要求に応じて、前記読み出し開始位置からの所定の長さのデータを、前記所定の単位サイズごとに異なる前記復号鍵情報に基づいて、前記所定の単位サイズごとに復号し、復号した当該データを前記外部装置に送信する
請求項1又は請求項2に記載の携帯可能電子装置。 - 前記データ記憶部は、前記暗号化されたデータをファイル単位で記憶し、
前記処理部は、前記読み出し要求に応じて、指定されたファイルに対応する前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する
請求項1から請求項3のいずれか一項に記載の携帯可能電子装置。 - 前記データ記憶部は、前記暗号化されたデータとして、利用者の塩基配列を示すデータを含むゲノム情報を暗号化したデータを記憶する
請求項1から請求項4のいずれか一項に記載の携帯可能電子装置。 - 読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶するデータ記憶部と、
外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する処理部と
を備えるICモジュール。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017206507A JP2019080207A (ja) | 2017-10-25 | 2017-10-25 | 携帯可能電子装置、及びicモジュール |
EP18869786.6A EP3703308A1 (en) | 2017-10-25 | 2018-09-10 | Portable electronic device and ic module |
PCT/JP2018/033396 WO2019082526A1 (ja) | 2017-10-25 | 2018-09-10 | 携帯可能電子装置、及びicモジュール |
SG11202002074XA SG11202002074XA (en) | 2017-10-25 | 2018-09-10 | Portable electronic device and ic module |
US16/809,716 US20200204339A1 (en) | 2017-10-25 | 2020-03-05 | Portable electronic device and ic module |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017206507A JP2019080207A (ja) | 2017-10-25 | 2017-10-25 | 携帯可能電子装置、及びicモジュール |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019080207A true JP2019080207A (ja) | 2019-05-23 |
Family
ID=66247854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017206507A Pending JP2019080207A (ja) | 2017-10-25 | 2017-10-25 | 携帯可能電子装置、及びicモジュール |
Country Status (5)
Country | Link |
---|---|
US (1) | US20200204339A1 (ja) |
EP (1) | EP3703308A1 (ja) |
JP (1) | JP2019080207A (ja) |
SG (1) | SG11202002074XA (ja) |
WO (1) | WO2019082526A1 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004048127A (ja) * | 2002-07-09 | 2004-02-12 | Hitachi Ltd | デジタル信号記録再生装置、送受信装置及びその方法 |
JPWO2004086274A1 (ja) * | 2003-03-24 | 2006-06-29 | 帝人株式会社 | ゲノム情報を使用した健康情報提供システムおよび方法 |
JP2005122402A (ja) | 2003-10-15 | 2005-05-12 | Systemneeds Inc | Icカードシステム |
US8959340B2 (en) * | 2008-03-31 | 2015-02-17 | Orange | Method for accessing and transferring data linked to an application installed on a security module associated with a mobile terminal, and associated security module, management server and system |
-
2017
- 2017-10-25 JP JP2017206507A patent/JP2019080207A/ja active Pending
-
2018
- 2018-09-10 EP EP18869786.6A patent/EP3703308A1/en not_active Withdrawn
- 2018-09-10 SG SG11202002074XA patent/SG11202002074XA/en unknown
- 2018-09-10 WO PCT/JP2018/033396 patent/WO2019082526A1/ja unknown
-
2020
- 2020-03-05 US US16/809,716 patent/US20200204339A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2019082526A1 (ja) | 2019-05-02 |
US20200204339A1 (en) | 2020-06-25 |
SG11202002074XA (en) | 2020-04-29 |
EP3703308A1 (en) | 2020-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101551784B (zh) | 一种usb接口的ata类存储设备中数据的加密方法及装置 | |
CN101196855B (zh) | 移动加密存储设备及密文存储区数据加解密处理方法 | |
US8990571B2 (en) | Host device, semiconductor memory device, and authentication method | |
KR100676087B1 (ko) | 유에스비 인터페이스를 구비한 보안 데이터 저장 장치 및방법 | |
CN101685425A (zh) | 移动存储设备及实现移动存储设备加密的方法 | |
JP2008542944A (ja) | 安全性を高めたrfid通信方法および装置 | |
WO2005109740A1 (ja) | Icカード | |
JP2007108833A (ja) | 複数パスワード記憶装置及びパスワード管理方法 | |
JP2005196730A (ja) | 携帯可能電子装置 | |
EP2065830B1 (en) | System and method of controlling access to a device | |
JP2943924B2 (ja) | 携帯可能電子装置 | |
JP5471904B2 (ja) | Icカードリーダライタおよびそれに内蔵するsam | |
JP2009032003A (ja) | 携帯可能電子装置、端末装置、認証システム、及び認証方法 | |
JP2004139242A (ja) | Icカード、icカード発行システム及びicカード発行方法 | |
JP2003158513A (ja) | Icカード、その書き込み方法及び書き込み装置並びにicカードシステム | |
CN113645183B (zh) | 数据加密传输方法、系统、计算机设备及存储介质 | |
CN111914309A (zh) | 密码保护的数据储存装置以及非挥发式存储器控制方法 | |
WO2019082526A1 (ja) | 携帯可能電子装置、及びicモジュール | |
JP2007249263A (ja) | 持ち運び可能なデータストレージデバイスおよびデータの書き込みおよび読み出し制御方法 | |
KR20070076848A (ko) | 카드 인증 시스템의 보안레벨을 향상시키는 장치 및 방법 | |
CN102129535A (zh) | 基于硬件的非易失性计算机系统的加密方法及计算机 | |
KR20150133645A (ko) | 휴대 가능 전자 장치, 프로그램을 기록한 기록 매체, 단말기 및 데이터의 복호화를 제어하는 방법 | |
JPH10143441A (ja) | 機密保持機能を備えた半導体装置、符号処理方法及びそのソフトウエアを記憶した記憶媒体 | |
JP2003091240A (ja) | 暗号化された情報の管理方法 | |
JPS63211049A (ja) | 携帯可能電子装置 |