(57)【要約】【課題】セキュリティを確保しつつ、必要なデータを読み出すことができる携帯可能電子装置、及びＩＣモジュールを提供することである。【解決手段】実施形態の携帯可能電子装置は、データ記憶部と、処理部とを持つ。データ記憶部は、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶する。処理部は、外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する。【選択図】図３
2019080207.tif 000002
【特許請求の範囲】
【請求項１】
読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶するデータ記憶部と、
外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する処理部と
を備える携帯可能電子装置。
【請求項２】
前記処理部は、前記オフセット情報と、前記復号鍵情報と、前記読み出し開始位置から読み出すデータの長さを示すデータ長とを含む前記読み出し要求に応じて、前記読み出し開始位置から前記データ長のデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する
請求項１に記載の携帯可能電子装置。
【請求項３】
前記データ記憶部は、所定の単位サイズごとに異なる前記復号鍵情報に基づいて復号可能に前記暗号化されたデータを記憶し、
前記処理部は、前記読み出し要求に応じて、前記読み出し開始位置からの所定の長さのデータを、前記所定の単位サイズごとに異なる前記復号鍵情報に基づいて、前記所定の単位サイズごとに復号し、復号した当該データを前記外部装置に送信する
請求項１又は請求項２に記載の携帯可能電子装置。
【請求項４】
前記データ記憶部は、前記暗号化されたデータをファイル単位で記憶し、
前記処理部は、前記読み出し要求に応じて、指定されたファイルに対応する前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する
請求項１から請求項３のいずれか一項に記載の携帯可能電子装置。
【請求項５】
前記データ記憶部は、前記暗号化されたデータとして、利用者の塩基配列を示すデータを含むゲノム情報を暗号化したデータを記憶する
請求項１から請求項４のいずれか一項に記載の携帯可能電子装置。
【請求項６】
読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶するデータ記憶部と、
外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する処理部と
を備えるＩＣモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、携帯可能電子装置、及びＩＣモジュールに関する。
【背景技術】
【０００２】
近年、ＩＣ（Integrated Circuit）チップを内蔵したＩＣカードなどの携帯可能電子装置が広く使用されている。例えば、改正個人情報保護法によって、取扱いに特別な留意が必要な情報として、ゲノム情報が個人情報に含まれることになり、そういったゲノム情報の管理にも、ＩＣカードなどの携帯可能電子装置を活用することが検討されている。ゲノム情報は、すべてを公にすべきではなく、また、民間利用にあたっても、必要とされる情報は一部に限られるという性質を有している。例えば、薬剤処方には、ゲノム情報のうちの、当該薬剤処方に関連する一部の情報があれば十分である場合もある。しかしながら、従来の携帯可能電子装置では、特定のファイルごとにアクセス権が設定されており、認証成功などの定められた条件を満たせば、読み出しコマンドを使用してファイル全体を読み出すことが可能である。そのため、従来の携帯可能電子装置では、ゲノム情報の利用に必要な一部の情報以外の情報も読み出せてしまう可能性があり、セキュリティが低下する場合があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１２２４０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、セキュリティを確保しつつ、必要なデータを読み出すことができる携帯可能電子装置、及びＩＣモジュールを提供することである。
【課題を解決するための手段】
【０００５】
実施形態の携帯可能電子装置は、データ記憶部と、処理部とを持つ。データ記憶部は、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶する。処理部は、外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態のＩＣカードの一例を示す外観図。
【図２】第１の実施形態のＩＣカードのハードウェア構成例を示す図。
【図３】第１の実施形態のＩＣカードの機能構成例を示すブロック図。
【図４】第１の実施形態の部分読み出しコマンドのデータフォーマット例を示す図。
【図５】第１の実施形態のゲノム情報の暗号化処理の一例を示す図。
【図６】第１の実施形態の部分読み出しコマンドの処理の一例を示すフローチャート。
【図７】第１の実施形態の部分読み出しコマンドの処理の一例を説明する図。
【図８】第２の実施形態の部分読み出しコマンドのデータフォーマット例を示す図。
【図９】第２の実施形態の部分読み出しコマンドの処理の一例を示すフローチャート。
【図１０】第２の実施形態の部分読み出しコマンドの処理の一例を説明する図。
【図１１】第３の実施形態のゲノム情報の暗号化処理の一例を示す図。
【図１２】第３の実施形態の部分読み出しコマンドの処理の一例を示すフローチャート。
【図１３】第３の実施形態の部分読み出しコマンドの処理の一例を説明する図。
【発明を実施するための形態】
【０００７】
以下、実施形態の携帯可能電子装置、及びＩＣモジュールを、図面を参照して説明する。
【０００８】
（第１の実施形態）
図１は、第１の実施形態のＩＣカード１の一例を示す外観図である。また、図１は、第１の実施形態のＩＣカードシステム１５０の構成例を示している。
図１に示すように、ＩＣカードシステム１５０は、ＩＣカード１と、外部装置２と、鍵管理装置９とを備える。
ＩＣカード１は、ＩＣモジュール１０を備える。ＩＣモジュール１０は、コンタクト部３と、内部にＩＣチップ１００とを備える。
【０００９】
ＩＣカード１は、例えば、プラスチックのカード基材ＰＴ（カード本体の一例）に、ＩＣモジュール１０を実装して形成されている。すなわち、ＩＣカード１は、ＩＣモジュール１０と、ＩＣモジュール１０が埋め込まれたカード基材ＰＴとを備える。また、ＩＣカード１は、コンタクト部３を介して外部装置２と通信可能である。
なお、本実施形態では、携帯可能電子装置の一例として、ＩＣカード１について説明する。
【００１０】
ＩＣカード１は、例えば、外部装置２が送信したコマンド（処理要求）を、コンタクト部３を介して電気的に受信し、受信したコマンドに応じた処理（コマンド処理）を実行する。そして、ＩＣカード１は、コマンド処理の実行結果であるレスポンス（処理応答）を外部装置２にコンタクト部３を介して電気的に送信する。また、ＩＣカード１は、ゲノム情報を個人情報（秘密情報）として記憶し、コマンド処理（部分読み出しコマンドの処理）によって、ゲノム情報のうちの一部を読み出す機能を有している。
【００１１】
ここで、外部装置２は、ＩＣカード１と通信する装置であり、例えば、リーダ／ライタ装置を含む端末装置などである。また、ゲノム情報は、利用者の塩基配列を示すデータ（ゲノムデータ）を含み、ゲノムの配列データの中で意味を有する一部の情報である。また、ゲノムデータは、例えば、塩基配列を文字列で表記したデータであり、ゲノム情報は、例えば、ゲノムデータに解釈を付加した情報である。
【００１２】
鍵管理装置９は、暗号鍵及び復号鍵を管理する装置であり、例えば、上述したゲノム情報を暗号化する暗号鍵、及び暗号化されたゲノム情報を復号する復号鍵を生成し、生成した暗号鍵及び復号鍵を保持する。なお、ゲノム情報は、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号できるように暗号化されてＩＣカード１に記憶される。そのため、鍵管理装置９は、例えば、ゲノム情報又はゲノム情報を識別する識別情報と、暗号化されたゲノム情報を復号する復号鍵情報とを対応付けて記憶する。鍵管理装置９は、上述した外部装置２が、ＩＣカード１からゲノム情報の部分データを読み出す際に、オフセット情報に対応する復号鍵情報を外部装置２に提供する。
【００１３】
ＩＣモジュール１０は、コンタクト部３と、ＩＣチップ１００とを備え、例えば、テープ上にＩＣモジュール１０が複数配置されたＣＯＴ（Chip On Tape）などの形態で取引されるモジュールである。なお、テープから個片抜きして切り離した単体のＩＣモジュール１０をＣＯＴという場合がある。
【００１４】
コンタクト部３は、ＩＣカード１が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子は、電源電圧、クロック信号、リセット信号などを外部装置２から供給を受ける端子、及び、外部装置２と通信するためのシリアルデ―タ入出力端子（ＳＩＯ端子）を有する。
ＩＣチップ１００は、例えば、１チップのマイクロプロセッサなどのＬＳＩ（Large Scale Integration）である。
【００１５】
次に、図２を参照して、本実施形態のＩＣカード１のハードウェア構成について説明する。
図２は、本実施形態のＩＣカード１のハードウェア構成例を示す図である。
図２に示すように、ＩＣカード１は、コンタクト部３と、ＩＣチップ１００とを備えたＩＣモジュール１０を備えている。そして、ＩＣチップ１００は、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）４と、ＣＰＵ５と、ＲＯＭ（Read Only Memory）６と、ＲＡＭ（Random Access Memory）７と、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）８とを備えている。また、各構成（４から８）は、内部バスＢＳ１を介して接続されている。
【００１６】
ＵＡＲＴ４は、上述したＳＩＯ端子を介して、外部装置２とシリアルデータ通信を行う。ＵＡＲＴ４は、ＳＩＯ端子を介して受信したシリアルデータ信号をパラレル変換したデータ（例えば、１バイトのデータ）を内部バスＢＳ１に出力する。また、ＵＡＲＴ４は、内部バスＢＳ１を介して取得したデータをシリアル変換して、ＳＩＯ端子を介して外部装置２に出力する。ＵＡＲＴ４は、例えば、ＳＩＯ端子を介してコマンドを外部装置２から受信する。また、ＵＡＲＴ４は、ＳＩＯ端子を介してレスポンスを外部装置２に送信する。
【００１７】
ＣＰＵ５は、ＲＯＭ６又はＥＥＰＲＯＭ８に記憶されているプログラムを実行して、ＩＣカード１の各種処理を行う。ＣＰＵ５は、例えば、コンタクト部３を介して、ＵＡＲＴ４が受信したコマンドに応じたコマンド処理を実行する。
【００１８】
ＲＯＭ６は、例えば、マスクＲＯＭなどの不揮発性メモリであり、ＩＣカード１の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。
ＲＡＭ７は、例えば、ＳＲＡＭ（Static RAM）などの揮発性メモリであり、ＩＣカード１の各種処理を行う際に利用されるデータを一時記憶する。
【００１９】
ＥＥＰＲＯＭ８は、例えば、電気的に書き換え可能な不揮発性メモリである。ＥＥＰＲＯＭ８は、ＩＣカード１が利用する各種データを記憶する。ＥＥＰＲＯＭ８は、例えば、ＩＣカード１を利用した各種サービス（アプリケーション）に使用される情報を記憶する。
【００２０】
次に、図３を参照して、本実施形態によるＩＣカード１の機能構成例について説明する。
図３は、本実施形態のＩＣカード１の機能構成例を示すブロック図である。
図３に示すように、ＩＣカード１は、通信部４０と、制御部５０と、ファイル管理情報記憶部８１と、ＡＰデータ記憶部８２とを備える。
ここで、図３に示されるＩＣカード１の各部は、図２に示されるＩＣカード１のハードウェアを用いて実現される。
【００２１】
通信部４０は、例えば、ＵＡＲＴ４と、ＣＰＵ５と、ＲＯＭ６に記憶されているプログラムとにより実現され、コンタクト部３を介して、例えば、外部装置２との間でコマンド及びレスポンスの送受信を行う。すなわち、通信部４０は、所定の処理を要求するコマンド（処理要求）を外部装置２から受信するとともに、コマンドに対するレスポンス（処理応答）を外部装置２に送信する。
【００２２】
ファイル管理情報記憶部８１は、例えば、ＥＥＰＲＯＭ８により構成された記憶部であり、データを記憶する各種ファイルを管理する管理情報（例えば、ディレクトリ情報）を記憶する。ファイル管理情報記憶部８１は、例えば、ファイル名、ファイルＩＤなどのファイル識別情報と、ファイルの先頭のアドレス（以下、ファイルの先頭アドレスという）とを対応付けて記憶する。ここで、ファイルの先頭アドレスは、例えば、ＥＥＰＲＯＭ８の物理アドレスである。ＩＣカード１において、各ファイルの選択、又は、各ファイルにアクセス処理を実行する場合には、ファイル管理情報記憶部８１が記憶するファイル管理情報に基づいて、各ファイルの選択、又は、各ファイルにアクセス処理を実行する。ここで、アクセス処理とは、データの読み出し、書き込み、更新などの処理のことである。
【００２３】
ＡＰ（アプリケーション）データ記憶部８２（データ記憶部の一例）は、例えば、ＥＥＰＲＯＭ８により構成された記憶部であり、アプリケーションデータを記憶する。ＡＰデータ記憶部８２は、ＭＦ（Master File）、ＤＦ（Dedicated File）、ＥＦ（Elementary File）などのファイルが階層構造になって記憶されている。
【００２４】
また、ＡＰデータ記憶部８２は、上述したゲノム情報を記憶するファイル（例えば、ＥＦ）を有しており、当該ファイルには、ゲノム情報が暗号化されて記憶される。なお、ゲノム情報は、読み出しを許可した者（例えば、ゲノム情報の利用業者など）が必要な部分データを読み出し、必要以外のデータを読み出せないように、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されている。このように、ＡＰデータ記憶部８２は、暗号化されたゲノム情報をファイル単位で記憶している。また、本実施形態では、ゲノム情報は、例えば、ゲノム情報と等しいサイズの乱数列を暗号鍵及び復号鍵とし、当該乱数列と、ゲノム情報とをＸＯＲ（排他的論理和）演算処理して、暗号化する。また、ゲノム情報の暗号化処理及び復号処理の詳細については後述する。
【００２５】
制御部５０は、例えば、ＣＰＵ５と、ＲＡＭ７と、ＲＯＭ６又はＥＥＰＲＯＭ８とにより実現され、ＩＣカード１を統括的に制御する。制御部５０は、ファイル管理部５１と、コマンド処理部５２とを備える。
【００２６】
ファイル管理部５１は、ファイル管理情報記憶部８１が記憶する管理情報（例えば、ディレクトリ情報）に基づいて、ＡＰデータ記憶部８２内のファイルを管理する。ファイル管理部５１は、例えば、ＡＰデータ記憶部８２内の各ファイルへのアクセス権を管理する。ファイル管理部５１は、例えば、ファイルへのアクセス処理を実行する際に、ファイル管理情報記憶部８１が記憶する管理情報を検索して、ファイルの記憶場所を特定する。
【００２７】
コマンド処理部５２（処理部の一例）は、外部装置２からＩＣカード１に送信されたコマンド（処理要求）に応じて、各種コマンドの処理（コマンド処理）を実行する。コマンド処理部５２は、例えば、通信部４０を介して外部装置２から受信したコマンドに応じて、コマンド処理を実行する。また、コマンド処理部５２は、コマンド処理の結果であるレスポンスを、通信部４０を介して外部装置２に送信する。
また、コマンド処理部５２は、例えば、ゲノム情報などの秘密情報を読み出す際に、ゲノム情報などにファイル内のデータの一部を読み出す、部分読み出しコマンド（読み出し要求の一例）を実行する。ここで、部分読み出しコマンドには、図４に示すように、オフセット情報と、復号鍵情報とを含んでいる。
【００２８】
図４は、本実施形態の部分読み出しコマンドのデータフォーマット例を示す図である。
図４に示すように、読み出しコマンドのコマンド電文には、ヘッダ部と、ボディ部とを含んでいる。また、ヘッダ部には、コマンドの識別情報である「ＣＬＡ」及び「ＩＮＳ」と、コマンドパラメータの「Ｐ１」及び「Ｐ２」とが含まれる。
【００２９】
また、ボディ部には、「Ｌｃ」と、「オフセット情報」と、「復号鍵情報」と、「Ｌｅ」とが含まれる。ここで、「Ｌｃ」は、コマンドにおける入力データのサイズを示し、「Ｌｅ」は、コマンドにより出力される出力データの最大サイズを示す。また、「オフセット情報」は、指定したファイル内の暗号化されたデータ（例えば、暗号化されたゲノム情報）の読み出し開始位置を示す。
【００３０】
また、「復号鍵情報」は、オフセット情報に対応する復号鍵情報を示す。すなわち、「復号鍵情報」は、オフセット情報が示す読み出し開始位置から所定の単位サイズ（単位長さ、例えば、１バイト）のデータを読み出す際に、復号処理に用いる復号鍵情報を示している。
また、図４に示す例では、複数の位置のデータを１回のコマンド処理で読み出しできるように、部分読み出しコマンドのコマンド電文には、複数の「オフセット情報」（ＯＦ１、ＯＦ２、・・・）及び「復号鍵情報」（ＫＥＹ１１、ＫＥＹ１２、・・・）が含まれている。
【００３１】
図３の説明に戻り、コマンド処理部５２は、外部装置２から受信した一部読み出しコマンドに応じて、例えば、暗号化されたゲノム情報のうちの、オフセット情報が示す読み出し開始位置からの所定の長さ（例えば、１バイト）のデータを、復号鍵情報に基づいて復号し、復号した当該データをレスポンス（処理応答）として、外部装置２に送信する。
【００３２】
例えば、コマンド処理部５２は、オフセット情報が示す読み出し開始位置の１バイトのデータ（暗号データ）と、１バイトの復号鍵情報とをＸＯＲ演算処理して復号し、復号したデータ（ゲノム情報の部分データ）をレスポンスとして、通信部４０を介して、外部装置２に送信する。このように、コマンド処理部５２は、読み出し開始位置からの所定の長さ（例えば、１バイト）のデータを、所定の単位サイズ（例えば、１バイト）ごとに異なる復号鍵情報に基づいて、所定の単位サイズ（例えば、１バイト）ごとに復号し、復号した当該データを外部装置２に送信する。
【００３３】
次に、図面を参照して本実施形態によるＩＣカード１及びＩＣカードシステム１５０の動作について説明する。
まず、図５を参照して、本実施形態におけるゲノム情報の暗号化処理の詳細について説明する。
【００３４】
図５は、本実施形態のゲノム情報の暗号化処理の一例を示す図である。
図５において、ゲノム情報ＧＤ１は、塩基配列を文字列で表記したデータであり、各文字をコード化したデータ列になっている。また、暗号鍵ＫＥＹ１は、鍵管理装置９が生成した乱数列である。暗号鍵ＫＥＹ１は、ゲノム情報と等しいサイズであり、復号鍵としても使用される。なお、この図において、コード化された各データは、１６進数（ヘキサデシマル）で表記されている。
【００３５】
ＩＣカード１に利用者のゲノム情報ＧＤ１を登録する際に、発行機である外部装置２は、鍵管理装置９が生成した暗号鍵ＫＥＹ１と、ゲノム情報ＧＤ１とを１ビット単位（又は１バイト単位）でＸＯＲ処理して、暗号化されたゲノム情報ＥＧＤ１を生成する。外部装置２は、生成した暗号化されたゲノム情報ＥＧＤ１を、書き込みコマンドや、発行用コマンドなどを使用して、ＡＰデータ記憶部８２の所定のファイル（例えば、ＥＦ）に記憶させる。
【００３６】
次に、図６及び図７を参照して、本実施形態の部分読み出しコマンドの処理について説明する。
図６は、本実施形態の部分読み出しコマンドの処理の一例を示すフローチャートである。
図６において、ＩＣカード１のＡＰデータ記憶部８２の所定のファイル（例えば、ＥＦ）に、図５に示すような暗号化されたゲノム情報ＥＧＤ１が記憶されているものとする。また、ここでの外部装置２は、例えば、ゲノム情報の利用業者の端末装置であり、鍵管理装置９から利用するゲノム情報の一部データに対応する復号鍵情報を取得しているものとする。
【００３７】
図６において、外部装置２とＩＣカード１とがコンタクト部３を介して接続され、ＩＣカード１が活性化された状態において、ＩＣカード１は、コマンドを受信したか否かを判定する（ステップＳ１０１）。すなわち、ＩＣカード１の通信部４０は、ＵＡＲＴ４を介して、外部装置２からコマンドを受信したか否かを判定する。通信部４０は、コマンドを受信した場合（ステップＳ１０１：ＹＥＳ）に、処理をステップＳ１０２に進める。また、通信部４０は、コマンドを受信していない場合（ステップＳ１０１：ＮＯ）に、処理をステップＳ１０１に戻し、ステップＳ１０１の処理を繰り返す。
【００３８】
ステップＳ１０２において、ＩＣカード１のコマンド処理部５２は、受信したコマンドが部分読み出しコマンドであるか否かを判定する。コマンド処理部５２は、例えば、受信したコマンド電文のうちの「ＣＬＡ」及び「ＩＮＳ」に基づいて、部分読み出しコマンドであるか否かを判定する。コマンド処理部５２は、受信したコマンドが部分読み出しコマンドである場合（ステップＳ１０２：ＹＥＳ）に、処理をステップＳ１０３に進める。また、コマンド処理部５２は、受信したコマンドが部分読み出しコマンドでない場合（ステップＳ１０２：ＮＯ）に、処理をステップＳ１０７に進める。
【００３９】
ステップＳ１０３において、コマンド処理部５２は、指定ファイルのオフセット情報を示す読み出し開始位置のデータを取得する。コマンド処理部５２は、ファイル管理部５１に、ファイル管理情報記憶部８１が記憶する管理情報（例えば、ディレクトリ情報）に基づいて、指定ファイルの記憶場所を特定させて、当該記憶位置を取得する。コマンド処理部５２は、オフセット情報により、取得したファイルの記憶位置から読み出し開始位置を特定する。コマンド処理部５２は、例えば、当該読み出し開始位置の１バイトのデータ（暗号化されたゲノム情報の所定の位置の１バイトのデータ）をＡＰデータ記憶部８２から読み出して取得する。
【００４０】
次に、コマンド処理部５２は、所得したデータを復号鍵情報で復号する（ステップＳ１０４）。コマンド処理部５２は、受信した部分読み出しコマンドに含まれる読み出し開始位置に対応する復号鍵情報（例えば、１バイト）と、所得したデータ（例えば、１バイト）とをＸＯＲ演算処理して、暗号化されたゲノム情報を復号する。
【００４１】
次に、コマンド処理部５２は、次のオフセット情報があるか否かを判定する（ステップＳ１０５）。コマンド処理部５２は、受信した部分読み出しコマンドを確認し、次のオフセット情報があるか否かを判定する。コマンド処理部５２は、次のオフセット情報がある場合（ステップＳ１０５：ＹＥＳ）に、処理をステップＳ１０３に戻して、ステップＳ１０３からステップＳ１０５の処理を繰り返す。また、コマンド処理部５２は、次のオフセット情報がない場合（ステップＳ１０５：ＮＯ）に、処理をステップＳ１０６に進める。
【００４２】
ステップＳ１０６において、コマンド処理部５２は、復号したデータ（ゲノム情報の部分データ）を含むレスポンスを外部装置２に送信する。コマンド処理部５２は、例えば、復号したデータ（ゲノム情報の部分データ）及び結果情報（ステータス情報ＳＷ１及びＳＷ２）を含むレスポンスを、通信部４０を介して、外部装置２へ送信させる。ステップＳ１０６の処理後に、コマンド処理部５２は、処理をステップＳ１０１に戻す。
【００４３】
また、ステップＳ１０７において、コマンド処理部５２は、他のコマンド処理を実行する。
次に、コマンド処理部５２は、レスポンスを送信する（ステップＳ１０８）。コマンド処理部５２は、例えば、他のコマンド処理の結果情報を含むレスポンスを、通信部４０を介して、外部装置２へ送信させる。ステップＳ１０８の処理後に、コマンド処理部５２は、処理をステップＳ１０１に戻す。
【００４４】
また、図７は、本実施形態の部分読み出しコマンドの処理の一例を説明する図である。
図７に示す例では、部分読み出しコマンドＣＤ１において、オフセット情報（ＯＦ１）の“０２”及びオフセット情報（ＯＦ２）の“０７”が指定されている。また、オフセット情報（ＯＦ１）に対応する復号鍵情報（ＫＥＹ１１）は、“１１”であり、オフセット情報（ＯＦ２）に対応する復号鍵情報（ＫＥＹ１２）は、“９４”である。なお、図７において、各データは、１６進数で表記されている。また、ファイルＦＤ１には、暗号化されたゲノム情報ＥＧＤ１が記憶されているものとする。
【００４５】
コマンド処理部５２は、上述した部分読み出しコマンドＣＤ１を受信した場合に、オフセット情報（ＯＦ１）の“０２”に基づいて、暗号化されたゲノム情報ＥＧＤ１の２バイト目のデータ“４５”を読み出し、復号鍵情報（ＫＥＹ１１）の“１１”とＸＯＲ処理して復号し、ゲノム情報の部分データ“５４”を生成する。また、コマンド処理部５２は、オフセット情報（ＯＦ２）の“０７”に基づいて、暗号化されたゲノム情報ＥＧＤ１の７バイト目のデータ“Ｄ５”を読み出し、復号鍵情報（ＫＥＹ１２）の“９４”とＸＯＲ処理して復号し、ゲノム情報の部分データ“４１”を生成する。
【００４６】
コマンド処理部５２は、復号した部分データ“５４”及び“４１”をまとめて、ゲノム情報の部分データＧＤ１１とし、部分データＧＤ１１を含むレスポンスを、外部装置２に送信する。
【００４７】
以上説明したように、本実施形態によるＩＣカード１（携帯可能電子装置）は、ＡＰデータ記憶部８２（データ記憶部）と、コマンド処理部５２（処理部）とを備える。ＡＰデータ記憶部８２は、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータ（例えば、ゲノム情報）を記憶する。コマンド処理部５２は、外部装置２から受信した読み出し要求（部分読み出しコマンド）に応じて、暗号化されたデータのうちの、オフセット情報が示す読み出し開始位置からの所定の長さのデータを、復号鍵情報に基づいて復号し、復号した当該データを外部装置２に送信する。ここで、読み出し要求（部分読み出しコマンド）は、ＡＰデータ記憶部８２が記憶する暗号化されたデータの読み出し開始位置を示すオフセット情報と、オフセット情報に対応する復号鍵情報とを少なくとも含む。
【００４８】
これにより、本実施形態によるＩＣカード１は、オフセット情報に対応する復号鍵情報により必要な部分データを復号して読み出すため、例えば、ゲノム情報の利用に必要な一部の情報を適切に読み出すことができ、必要な一部の情報以外の情報を読み出すことがでない。よって、本実施形態によるＩＣカード１は、セキュリティを確保しつつ、必要な部分データ（例えば、ゲノム情報などの秘密情報の部分データ）を読み出すことができる。
例えば、本実施形態によるＩＣカード１では、ゲノム情報の薬剤処方に関連する一部の情報（例えば、ＳＮＰ（Single Nucleotide Polymorphism、一塩基多型、個人間の遺伝情報のわずかな違いのこと)）を、他の情報を開示させずに、読み出すことが可能になる。
【００４９】
また、本実施形態では、ＡＰデータ記憶部８２は、所定の単位サイズ（例えば、１バイト）ごとに異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶する。コマンド処理部５２は、部分読み出しコマンドに応じて、読み出し開始位置からの所定の長さのデータを、所定の単位サイズ（例えば、１バイト）ごとに異なる復号鍵情報に基づいて、所定の単位サイズ（例えば、１バイト）ごとに復号し、復号した当該データを外部装置２に送信する。
これにより、本実施形態によるＩＣカード１は、所定の単位サイズにより部分データを容易に復号することができる。
【００５０】
また、本実施形態では、ＡＰデータ記憶部８２は、暗号化されたデータをファイル単位（例えば、ＥＦ単位）に記憶する。コマンド処理部５２は、部分読み出しコマンドに応じて、指定されたファイルに対応する暗号化されたデータ（例えば、ゲノム情報）のうちの、オフセット情報が示す読み出し開始位置からの所定の長さのデータを、復号鍵情報に基づいて復号し、復号した当該データを外部装置２に送信する。
これにより、本実施形態によるＩＣカード１は、暗号化されたデータ（例えば、ゲノム情報）の管理が容易になるとともに、ファイルの形式を変更することで暗号化されたデータ（例えば、ゲノム情報）以外の他の情報を容易に記憶させることができる。そのため、本実施形態によるＩＣカード１は、セキュリティを確保しつつ、利便性を向上させることができる。
【００５１】
また、本実施形態では、ＡＰデータ記憶部８２は、暗号化されたデータとして、利用者の塩基配列を示すデータを含むゲノム情報を暗号化したデータを記憶する。
これにより、本実施形態によるＩＣカード１は、セキュリティを確保しつつ、ゲノム情報の部分データを読み出すことができる。
【００５２】
また、本実施形態によるＩＣカード１は、ＩＣモジュール１０と、ＩＣモジュール１０が埋め込まれたカード基材ＰＴ（カード本体）とを備える。そして、本実施形態によるＩＣモジュール１０は、上述したＡＰデータ記憶部８２（データ記憶部）と、コマンド処理部５２（処理部）とを備える。
これにより、本実施形態によるＩＣモジュール１０は、上述したＩＣカード１と同様の効果を奏し、セキュリティを確保しつつ、必要な部分データを読み出すことができる。
【００５３】
また、本実施形態によるＩＣカードシステム１５０は、上述したＩＣカード１と、外部装置２と、鍵管理装置９とを備える。外部装置２は、鍵管理装置９からオフセット情報に対応する復号鍵情報を取得し、オフセット情報と、取得した復号鍵情報とを含む部分読み出しコマンドをＩＣカード１に送信して、例えば、ゲノム情報の部分データを読み出す。
これにより、本実施形態によるＩＣカードシステム１５０は、上述したＩＣカード１と同様の効果を奏し、セキュリティを確保しつつ、必要な部分データ（例えば、ゲノム情報の部分データ）を読み出すことができることができる。
【００５４】
（第２の実施形態）
次に、図面を参照して、第２の実施形態によるＩＣカード１について説明する。
なお、本実施形態によるＩＣカード１では、データ長を含む部分読み出しコマンドの変形例について説明する。なお、本実施形態によるＩＣカード１の基本的な構成は、図１〜図３に示す第１の実施形態と同様であり、部分読み出しコマンドに関する処理が異なる。
【００５５】
本実施形態におけるコマンド処理部５２は、例えば、ゲノム情報などの秘密情報を読み出す際に、ゲノム情報などにファイル内のデータの一部を読み出す、部分読み出しコマンド（読み出し要求の一例）を実行する。コマンド処理部５２は、オフセット情報と、復号鍵情報と、読み出し開始位置から読み出すデータの長さを示すデータ長とを含む部分読み出しコマンドに応じて、読み出し開始位置からデータ長のデータを、復号鍵情報に基づいて復号し、復号した当該データを外部装置２に送信する。ここで、部分読み出しコマンドには、図８に示すように、オフセット情報と、データ長と、復号鍵情報とを含んでいる。
【００５６】
図８は、本実施形態の部分読み出しコマンドのデータフォーマット例を示す図である。
図８に示すように、本実施形態の読み出しコマンドのコマンド電文には、ヘッダ部と、ボディ部とを含み、ヘッダ部には、上述した第１の実施形態と同様である。
【００５７】
また、ボディ部には、「Ｌｃ」と、「オフセット情報」と、「データ長」と、「復号鍵情報」と、「Ｌｅ」とが含まれる。ここで、「データ長」は、読み出し開始位置から読み出すデータ長を示している。また、他の「Ｌｃ」「オフセット情報」、「復号鍵情報」、及び「Ｌｅ」は、上述した第１の実施形態と同様である。
なお、本実施形態では、１つの「オフセット情報」に対して、「データ長」の値に応じて、複数の「復号鍵情報」を指定することが可能である。
【００５８】
図８に示す例では、複数「復号鍵情報」に対応する「データ長」のデータを１回のコマンド処理で読み出しできるように、部分読み出しコマンドのコマンド電文には、１つの「オフセット情報」（ＯＦ１）及び「データ長」と、複数の「復号鍵情報」（ＫＥＹ１１、ＫＥＹ１２、・・・）が含まれている。
【００５９】
次に、図面を参照して本実施形態によるＩＣカード１の動作について説明する。
本実施形態におけるゲノム情報の暗号化処理は、上述した図５に示す第１の実施形態と同様であるため、ここではその説明を省略する。
【００６０】
次に、図９及び図１０を参照して、本実施形態の部分読み出しコマンドの処理について説明する。
図９は、本実施形態の部分読み出しコマンドの処理の一例を示すフローチャートである。
図９において、ＩＣカード１のＡＰデータ記憶部８２の所定のファイル（例えば、ＥＦ）に、図５に示すような暗号化されたゲノム情報ＥＧＤ１が記憶されているものとする。また、ここでの外部装置２は、例えば、ゲノム情報の利用業者の端末装置であり、鍵管理装置９から利用するゲノム情報の一部データに対応する復号鍵情報を取得しているものとする。
【００６１】
図９において、外部装置２とＩＣカード１とがコンタクト部３を介して接続され、ＩＣカード１が活性化された状態において、ＩＣカード１は、コマンドを受信したか否かを判定する（ステップＳ２０１）。なお、図９において、ステップＳ２０１及びステップＳ２０２の処理は、上述した図６に示すステップＳ１０１及びステップＳ１０２の処理と同様であるため、ここではその説明を省略する。但し、ステップＳ２０２において、コマンド処理部５２は、受信したコマンドが部分読み出しコマンドでない場合（ステップＳ２０２：ＮＯ）に、処理をステップＳ２０６に進める。
【００６２】
ステップＳ２０３において、コマンド処理部５２は、指定ファイルのオフセット情報を示す読み出し開始位置からデータ長分のデータを取得する。コマンド処理部５２は、ファイル管理部５１に、ファイル管理情報記憶部８１が記憶する管理情報（例えば、ディレクトリ情報）に基づいて、指定ファイルの記憶場所を特定させて、当該記憶位置を取得する。コマンド処理部５２は、オフセット情報から、取得したファイルの記憶位置から読み出し開始位置を特定する。コマンド処理部５２は、例えば、当該読み出し開始位置からデータ長分のデータ（暗号化されたゲノム情報の所定の位置のデータ長分のデータ）をＡＰデータ記憶部８２から読み出して取得する。
【００６３】
次に、コマンド処理部５２は、所得したデータを復号鍵情報で復号する（ステップＳ２０４）。コマンド処理部５２は、受信した部分読み出しコマンドに含まれる読み出し開始位置からデータ長分に対応する復号鍵情報と、所得したデータ長分のデータとをＸＯＲ演算処理して、暗号化されたゲノム情報を復号する。
【００６４】
次に、コマンド処理部５２は、復号したデータ（ゲノム情報の部分データ）を含むレスポンスを外部装置２に送信する（ステップＳ２０５）。コマンド処理部５２は、例えば、復号したデータ（ゲノム情報の部分データ）及び結果情報（ステータス情報ＳＷ１及びＳＷ２）を含むレスポンスを、通信部４０を介して、外部装置２へ送信させる。ステップＳ２０５の処理後に、コマンド処理部５２は、処理をステップＳ２０１に戻す。
【００６５】
また、ステップＳ２０６及びステップＳ２０７の処理は、上述した図６に示すステップＳ１０７及びステップＳ１０８の処理と同様であるため、ここではその説明を省略する。
【００６６】
また、図１０は、本実施形態の部分読み出しコマンドの処理の一例を説明する図である。
図１０に示す例では、部分読み出しコマンドＣＤ２において、オフセット情報（ＯＦ１）の“０２”と、データ長が“０２”（２バイト）が指定されている。また、オフセット情報（ＯＦ１）からの２バイトに対応する復号鍵情報は、復号鍵情報（ＫＥＹ１１）が“１１”であり、復号鍵情報（ＫＥＹ１２）は、“９４”である。なお、図１０において、各データは、１６進数で表記されている。また、ファイルＦＤ１には、暗号化されたゲノム情報ＥＧＤ１が記憶されているものとする。
【００６７】
コマンド処理部５２は、上述した部分読み出しコマンドＣＤ２を受信した場合に、オフセット情報（ＯＦ１）の“０２”及びデータ長の“０２”に基づいて、暗号化されたゲノム情報ＥＧＤ１の２バイト目からの２バイトデータ“４５７８”を読み出し、復号鍵情報（ＫＥＹ１１及びＫＥＹ１２）の“１１３Ｆ”とＸＯＲ処理して復号し、ゲノム情報の部分データ“５４４７”を生成する。
【００６８】
コマンド処理部５２は、復号した部分データ“５４４７”の２バイトを、ゲノム情報の部分データＧＤ１２とし、部分データＧＤ１２を含むレスポンスを、外部装置２に送信する。
【００６９】
以上説明したように、本実施形態によるＩＣカード１では、コマンド処理部５２は、オフセット情報と、復号鍵情報と、読み出し開始位置から読み出すデータの長さを示すデータ長とを含む部分読み出しコマンド（読み出し要求）に応じて、読み出し開始位置からデータ長のデータを、復号鍵情報に基づいて復号し、復号した当該データを外部装置２に送信する。
これにより、本実施形態によるＩＣカード１は、オフセット情報が示す読み出し開始位置から連続した部分データを、セキュリティを確保しつつ、１回のコマンド処理により効率良く必要なデータを読み出すことができる。よって、本実施形態によるＩＣカード１は、セキュリティを確保しつつ、利便性を向上させることができる。
【００７０】
また、本実施形態では、コマンド処理部５２は、部分読み出しコマンドに応じて、読み出し開始位置からのデータ長分のデータを、所定の単位サイズ（例えば、１バイト）ごとに異なる復号鍵情報に基づいて、所定の単位サイズ（例えば、１バイト）ごとに復号し、復号した当該データを外部装置２に送信する。
これにより、本実施形態によるＩＣカード１は、所定の単位サイズにより部分データを容易に復号することができる。
【００７１】
（第３の実施形態）
次に、図面を参照して、第３の実施形態によるＩＣカード１について説明する。
なお、本実施形態によるＩＣカード１では、ブロック暗号に対応した部分読み出しコマンドの変形例について説明する。なお、本実施形態によるＩＣカード１の基本的な構成は、図１〜図３に示す第１の実施形態と同様であり、部分読み出しコマンドに関する処理が異なる。
【００７２】
本実施形態では、ゲノム情報は、例えば、ＡＥＳ（Advanced Encryption Standard）やＤＥＳ（Data Encryption Standard）などのブロック暗号により暗号化されて、ＡＰデータ記憶部８２に記憶されている。
また、コマンド処理部５２は、外部装置２から受信した一部読み出しコマンドに応じて、例えば、暗号化されたゲノム情報のうちの、オフセット情報が示す読み出し開始位置からの所定の長さ（例えば、１６バイト）のデータを、復号鍵情報に基づいて復号し、復号した当該データをレスポンス（処理応答）として、外部装置２に送信する。
【００７３】
例えば、コマンド処理部５２は、オフセット情報が示す読み出し開始位置の１６バイトのデータ（暗号データ）と、１６バイトの復号鍵情報とによりブロック単位でＡＥＳ暗号の復号を実行し、復号したデータ（ゲノム情報の部分データ）をレスポンスとして、通信部４０を介して、外部装置２に送信する。ここで、ＡＥＳのブロック単位は、１６バイトである。このように、コマンド処理部５２は、読み出し開始位置からの所定の長さ（例えば、１バイト）のデータを、所定の単位サイズ（例えば、１ブロック）ごとに異なる復号鍵情報に基づいて、所定の単位サイズ（例えば、１ブロック）ごとに復号し、復号した当該データを外部装置２に送信する。
【００７４】
次に、図面を参照して本実施形態によるＩＣカード１及びＩＣカードシステム１５０の動作について説明する。
まず、図１１を参照して、本実施形態におけるゲノム情報の暗号化処理の詳細について説明する。
【００７５】
図１１は、本実施形態のゲノム情報の暗号化処理の一例を示す図である。
図１１において、ゲノム情報ＧＤ２は、塩基配列を文字列で表記したデータであり、各文字をコード化したデータ列になっている。また、暗号鍵ＢＫ１及び暗号鍵ＢＫ２は、ブロック暗号の暗号鍵（共通鍵暗号のため復号鍵を兼ねる）である。暗号鍵ＢＫ１及び暗号鍵ＢＫ２は、ブロック長に等しいサイズであり、復号鍵としても使用される。
【００７６】
ＩＣカード１に利用者のゲノム情報ＧＤ２を登録する際に、発行機である外部装置２は、鍵管理装置９が生成した暗号鍵（ＢＫ１、ＢＫ２、・・・）により、ゲノム情報ＧＤ２のブロック（Ｂ１、Ｂ２、・・・）を暗号化した暗号ブロック（ＥＢ１、ＥＢ２、・・・）を含むゲノム情報ＥＧＤ２を生成する。外部装置２は、生成した暗号化されたゲノム情報ＥＧＤ２を、書き込みコマンドや、発行用コマンドなどを使用して、ＡＰデータ記憶部８２の所定のファイル（例えば、ＥＦ）に記憶させる。
【００７７】
次に、図１２及び図１３を参照して、本実施形態の部分読み出しコマンドの処理について説明する。
図１２は、本実施形態の部分読み出しコマンドの処理の一例を示すフローチャートである。
図１２において、ＩＣカード１のＡＰデータ記憶部８２の所定のファイル（例えば、ＥＦ）に、図１１に示すような暗号化されたゲノム情報ＥＧＤ２が記憶されているものとする。また、ここでの外部装置２は、例えば、ゲノム情報の利用業者の端末装置であり、鍵管理装置９から利用するゲノム情報の一部データに対応する復号鍵情報を取得しているものとする。
【００７８】
図１２において、外部装置２とＩＣカード１とがコンタクト部３を介して接続され、ＩＣカード１が活性化された状態において、ＩＣカード１は、コマンドを受信したか否かを判定する（ステップＳ３０１）。なお、図１２において、ステップＳ３０１及びステップＳ３０２の処理は、上述した図６に示すステップＳ１０１及びステップＳ１０２の処理と同様であるため、ここではその説明を省略する。但し、ステップＳ３０２において、コマンド処理部５２は、受信したコマンドが部分読み出しコマンドでない場合（ステップＳ３０２：ＮＯ）に、処理をステップＳ３０７に進める。
【００７９】
ステップＳ３０３において、コマンド処理部５２は、指定ファイルのオフセット情報を示す読み出し開始位置のデータをブロック単位で取得する。コマンド処理部５２は、ファイル管理部５１に、ファイル管理情報記憶部８１が記憶する管理情報（例えば、ディレクトリ情報）に基づいて、指定ファイルの記憶場所を特定させて、当該記憶位置を取得する。コマンド処理部５２は、オフセット情報により、取得したファイルの記憶位置から読み出し開始位置を特定する。コマンド処理部５２は、例えば、当該読み出し開始位置のブロック単位のデータをＡＰデータ記憶部８２から読み出して取得する。
【００８０】
次に、コマンド処理部５２は、所得したデータを復号鍵情報にてブロック単位で復号する（ステップＳ３０４）。コマンド処理部５２は、受信した部分読み出しコマンドに含まれる読み出し開始位置に対応する復号鍵情報（例えば、１ブロック分）により、所得したデータ（例えば、１ブロック分）をブロック暗号の復号処理を実行して、暗号化されたゲノム情報を復号する。
【００８１】
次に、コマンド処理部５２は、次のオフセット情報があるか否かを判定する（ステップＳ３０５）。コマンド処理部５２は、次のオフセット情報がある場合（ステップＳ３０５：ＹＥＳ）に、処理をステップＳ３０３に戻して、ステップＳ３０３からステップＳ３０５の処理を繰り返す。また、コマンド処理部５２は、次のオフセット情報がない場合（ステップＳ３０５：ＮＯ）に、処理をステップＳ３０６に進める。
ステップＳ３０６からステップＳ３０８の処理は、図６に示すステップＳ１０６からステップＳ１０８の処理と同様であるため、ここではその説明を省略する。
【００８２】
また、図１３は、本実施形態の部分読み出しコマンドの処理の一例を説明する図である。
図１３に示す例では、部分読み出しコマンドＣＤ３において、オフセット情報（ＯＦ１）の“０１”及びオフセット情報（ＯＦ２）の“１１”が指定されている。また、オフセット情報（ＯＦ１）に対応する復号鍵情報（ＢＫ１）は、“ＸＸＸＸ・・・”であり、オフセット情報（ＯＦ２）に対応する復号鍵情報（ＢＫ２）は、“ＹＹＹＹ・・・”である。なお、図１３において、ボディ部の復号鍵情報（ＢＫ１及びＢＫ２）を除く各データは、１６進数で表記されている。また、ファイルＦＤ１には、暗号化された暗号ブロック（ＥＢ１、ＥＢ２、・・・）を含むゲノム情報ＥＧＤ２が記憶されているものとする。
【００８３】
コマンド処理部５２は、上述した部分読み出しコマンドＣＤ３を受信した場合に、オフセット情報（ＯＦ１）の“０１”に基づいて、暗号化されたゲノム情報ＥＧＤ２の１バイト目からの暗号ブロックＥＢ１を読み出し、復号鍵情報ＢＫ１により、ブロック単位に復号し、ゲノム情報の部分データであるブロックＢ１を生成する。また、コマンド処理部５２は、オフセット情報（ＯＦ２）の“１１”に基づいて、暗号化されたゲノム情報ＥＧＤ２の１７バイト目からの暗号ブロックＥＢ２を読み出し、復号鍵情報ＢＫ２により、ブロック単位に復号し、ゲノム情報の部分データであるブロックＢ２を生成する。
【００８４】
コマンド処理部５２は、復号した部分データであるブロックＢ１及びブロックＢ２をまとめて、ゲノム情報の部分データＧＤ２１とし、部分データＧＤ２１を含むレスポンスを、外部装置２に送信する。
【００８５】
なお、本実施形態において、読み出す部分データが、２つ（複数）の暗号ブロックにまたがる場合には、部分読み出しコマンドには、２つ（複数）の暗号ブロックに対応する２つ（複数）の復号鍵情報が含まれる。この場合、コマンド処理部５２は、対応する復号鍵情報によりブロック単位で復号し、読み出し開始位置からの部分データを外部装置２に送信する。
【００８６】
以上説明したように、本実施形態によるＩＣカード１では、コマンド処理部５２は、部分読み出しコマンドに応じて、読み出し開始位置からのデータ長分のデータを、所定の単位サイズ（例えば、１ブロック）ごとに異なる復号鍵情報に基づいて、所定の単位サイズ（例えば、１ブロック）ごとに復号し、復号した当該データを外部装置２に送信する。
これにより、本実施形態によるＩＣカード１は、所定の単位サイズ（ブロック）により部分データを容易に復号することができる。また、本実施形態によるＩＣカード１は、暗号化されたデータを、例えば、ブロック単位で復号できるため、暗号化又は復号するデータ量が多い場合に、効率良く暗号化又は復号することができる。
【００８７】
上記の各実施形態において、ＩＣカード１は、部分読み出しコマンドにより、ゲノム情報の一部データを読み出す例を説明したが、これに限定されるものではない。ＩＣカード１は、例えば、ゲノム情報のように、文字の羅列により所定の情報を示し、必要な一部の部分データを取得する必要があるような情報（個人情報、秘密情報など）であれば、他の情報に対して、部分読み出しコマンドの処理を適用してもよい。
【００８８】
また、上記の各実施形態において、暗号鍵と復号鍵とが共通の共通鍵暗号方式を用いる例を説明したが、これに限定されるものではなく、暗号鍵と復号鍵とが異なる公開鍵暗号方式を用いてもよい。
また、上記の各実施形態において、各実施形態を単独で実施する例を説明したが、各実施形態の一部又は全部を組み合わせて実施してもよい。例えば、第２及の実施形態において、第１及び第３の実施形態のように、部分読み出しコマンドに複数のオフセット情報を含めるようにしてもよい。また、例えば、第３の実施形態において、第２の実施形態のように、部分読み出しコマンドにデータ長を適用してもよい。
【００８９】
また、上記の各実施形態において、部分読み出しコマンドは、パスワード認証や相互認証などの認証処理を行った上で実行できるようにしてもよい。また、部分読み出しコマンドにより読み出した部分データは、ＩＣカード１と外部装置２との間の通信において、例えば、セキュアメッセージングを利用して暗号化されたデータを用いてもよい。
【００９０】
また、上記の各実施形態において、オフセット情報をバイト単位の読み出し開始位置として指定する例を説明したが、ビット単位、又は１６ビット、３２ビットなどのワード単位に指定するようにしてもよい。
また、上記の第１及び第２の実施形態において、コマンド処理部５２は、１バイト単位でＸＯＲ演算処理して、１バイトの整数倍の部分データを外部装置２に送信する例を説明したが、例えば、１ビット単位や１ワード単位でＸＯＲ演算処理して、１ビットや１ワードの整数倍の部分データを外部装置２に送信するにしてもよい。
【００９１】
また、上記の第３の実施形態において、ブロックごとに異なる暗号鍵（復号鍵）を用いてブロックごと暗号化及び復号する例を説明したが、１つの暗号鍵（復号鍵）を用いて複数のブロックを、ＣＢＣ（Cipher Block Chaining）モードなどの暗号利用モードを適用して、暗号化及び復号してもよい。
【００９２】
例えば、ＣＢＣモードを適用した場合には、鍵管理装置９は、復号鍵（全ブロック共通）と、ＣＢＣモードのための初期化ベクトル及びＣＢＣモードで暗号化したゲノム情報（暗号ブロック）とを管理する。鍵管理装置９は、オフセット情報の示す読み出し開始位置の１つ前の暗号ブロック及び復号鍵を復号鍵情報として、外部装置２に送信する。なお、読み出し開始位置がゲノム情報の最初のブロックである場合には、鍵管理装置９は、初期化ベクトル及び復号鍵を復号鍵情報として、外部装置２に送信する。
【００９３】
外部装置２は、１つ前の暗号ブロック（又は初期化ベクトル）と復号鍵とを復号鍵情報として含む部分読み出しコマンドをＩＣカード１に送信する。ＩＣカード１のコマンド処理部５２は、オフセット情報の示す読み出し開始位置の暗号ブロックを、１つ前の暗号ブロック（又は初期化ベクトル）と復号鍵とにより復号する。具体的に、コマンド処理部５２は、開始位置の暗号ブロックを復号鍵により復号処理を実行した後、１つ前の暗号ブロック（又は初期化ベクトル）とＸＯＲ演算処理して暗号ブロックを復号する。
【００９４】
また、この例では、暗号利用モードにＣＢＣモードを適用した例を説明したが、例えば、ＰＣＢＣ（Propagating Cipher Block Chaining）モード、ＣＦＢ（Cipher Feedback）モード、ＯＦＢ（Output Feedback）モードなどの暗号利用モードを適用してもよい。この場合には、復号鍵情報には、上述したＣＢＣモードと同様に、復号鍵と、初期化ベクトル又は前後の暗号ブロックなどの付加情報とが含まれる。
【００９５】
また、上記の各実施形態において、ＩＣカード１は、コンタクト部３を介して外部装置２と通信する例を説明したが、コイルなどを用いたコンタクトレスインターフェースを介して外部装置２と通信するように構成してもよい。
【００９６】
また、上記の各実施形態において、ＩＣカード１は、書き換え可能な不揮発性メモリとして、ＥＥＰＲＯＭ８を備える構成としたが、これに限定されるものではない。例えば、ＩＣカード１は、ＥＥＰＲＯＭ８の代わりに、フラッシュメモリ、ＦｅＲＡＭ（Ferroelectric Random Access Memory：強誘電体メモリ）などを備えてもよい。
【００９７】
また、上記の各実施形態において、携帯可能電子装置の一例として、ＩＣカード１を用いる例を説明したが、これに限定されるものではない。携帯可能電子装置は、例えば、カード形状ではないＩＣタグなどの電子装置であってもよい。
【００９８】
以上説明した少なくともひとつの実施形態によれば、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶するＡＰデータ記憶部８２と、暗号化されたデータの読み出し開始位置を示すオフセット情報と、オフセット情報に対応する復号鍵情報とを少なくとも含む部分読み出しコマンドに応じて、暗号化されたデータのうちの、オフセット情報が示す読み出し開始位置からの所定の長さのデータを、復号鍵情報に基づいて復号し、復号した当該データを外部装置２に送信するコマンド処理部５２とを持つことにより、セキュリティを確保しつつ、必要なデータを読み出すことができる。
【００９９】
上記実施形態は、以下のように表現することができる。
読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶するデータ記憶部と、
情報を記憶する記憶部と、
前記記憶部に記憶されたプログラムを実行するハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサは、前記プログラムを実行することにより、
外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、
復号した当該データを前記外部装置に送信する、
ように構成されている、携帯可能電子装置。
【０１００】
なお、実施形態におけるＩＣカード１及びＩＣカードシステム１５０が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したＩＣカード１及びＩＣカードシステム１５０が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１０１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１０２】
１…ＩＣカード、２…外部装置、３…コンタクト部、４…ＵＡＲＴ、５…ＣＰＵ、６…ＲＯＭ、７…ＲＡＭ、８…ＥＥＰＲＯＭ、９…鍵管理装置、１０‥ＩＣモジュール、４０…通信部、５０…制御部、５１…ファイル管理部、５２…コマンド処理部、８１…ファイル管理情報記憶部、８２…ＡＰデータ記憶部、１００…ＩＣチップ、１５０…ＩＣカードシステム、ＢＳ１…内部バス、ＰＴ…カード基材
【図１】
2019080207.tif 000003
【図２】
2019080207.tif 000004
【図３】
2019080207.tif 000005
【図４】
2019080207.tif 000006
【図５】
2019080207.tif 000007
【図６】
2019080207.tif 000008
【図７】
2019080207.tif 000009
【図８】
2019080207.tif 000010
【図９】
2019080207.tif 000011
【図１０】
2019080207.tif 000012
【図１１】
2019080207.tif 000013
【図１２】
2019080207.tif 000014
【図１３】
2019080207.tif 000015