IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 凸版印刷株式会社の特許一覧

<>
  • 特開-電子機器、制御方法、及びプログラム 図1
  • 特開-電子機器、制御方法、及びプログラム 図2
  • 特開-電子機器、制御方法、及びプログラム 図3
  • 特開-電子機器、制御方法、及びプログラム 図4
  • 特開-電子機器、制御方法、及びプログラム 図5
  • 特開-電子機器、制御方法、及びプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023082434
(43)【公開日】2023-06-14
(54)【発明の名称】電子機器、制御方法、及びプログラム
(51)【国際特許分類】
   H04L 9/10 20060101AFI20230607BHJP
   G06F 21/60 20130101ALI20230607BHJP
【FI】
H04L9/10 A
G06F21/60 320
G06F21/60 360
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2021196202
(22)【出願日】2021-12-02
(71)【出願人】
【識別番号】000003193
【氏名又は名称】凸版印刷株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100139686
【弁理士】
【氏名又は名称】鈴木 史朗
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100147267
【弁理士】
【氏名又は名称】大槻 真紀子
(72)【発明者】
【氏名】國重 尚棋
(57)【要約】
【課題】暗号化されたデータの復号にかかる処理時間を短縮することが可能な電子機器、制御方法、及びプログラムを提供する。
【解決手段】ホスト制御部とセキュアエレメントとを備える電子機器であって、前記ホスト制御部は、データが暗号化された暗号化データを取得する取得部と、前記暗号化データを復号する復号者を選択する復号制御部と、前記暗号化データを復号する第1の復号部と、を備え、前記セキュアエレメントは、前記暗号化データを復号する第2の復号部、を備え、前記復号制御部は、前記暗号化データに関する情報に基づき、前記第1の復号部又は前記第2の復号部のいずれか一方を前記復号者として選択する、電子機器。
【選択図】図1
【特許請求の範囲】
【請求項1】
ホスト制御部とセキュアエレメントとを備える電子機器であって、
前記ホスト制御部は、
データが暗号化された暗号化データを取得する取得部と、
前記暗号化データを復号する復号者を選択する復号制御部と、
前記暗号化データを復号する第1の復号部と、
を備え、
前記セキュアエレメントは、
前記暗号化データを復号する第2の復号部、
を備え、
前記復号制御部は、前記暗号化データに関する情報に基づき、前記第1の復号部又は前記第2の復号部のいずれか一方を前記復号者として選択する、
電子機器。
【請求項2】
前記第1の復号部は、前記復号者として選択された場合、前記セキュアエレメントに記憶された暗号鍵を取得し、前記取得した暗号鍵で前記暗号化データを復号する、
請求項1に記載の電子機器。
【請求項3】
前記第1の復号部は、前記暗号化データの復号後、復号に使用した暗号鍵を破棄する、
請求項2に記載の電子機器。
【請求項4】
前記第2の復号部は、前記復号者として選択された場合、前記セキュアエレメントに記憶された暗号鍵を取得し、前記取得した暗号鍵で前記暗号化データを復号する、
請求項1から請求項3のいずれか1項に記載の電子機器。
【請求項5】
前記復号制御部は、前記第2の復号部を前記復号者として選択した場合、前記第2の復号部の処理性能及び前記暗号化データのサイズに基づき、1つの前記暗号化データを複数に分割し、分割した複数の前記暗号化データごとに復号させる、
請求項1から請求項4のいずれか1項に記載の電子機器。
【請求項6】
前記ホスト制御部は、前記取得部による前記暗号化データの取得と、前記第2の復号部による前記暗号化データの復号を並列で行わせる、
請求項1から請求項5のいずれか1項に記載の電子機器。
【請求項7】
前記ホスト制御部は、前記第2の復号部の処理性能に基づき分割された前記暗号化データを1つずつ前記取得部に取得させ、前記取得部が分割された前記暗号化データを1つ取得するごとに、取得された前記暗号化データを前記第2の復号部に復号させる、
請求項6に記載の電子機器。
【請求項8】
前記第1の復号部及び前記第2の復号部が前記暗号化データの復号に用いる暗号鍵は、セッション鍵である、
請求項1から請求項7のいずれか1項に記載の電子機器。
【請求項9】
前記第1の復号部及び前記第2の復号部は、データ署名の検証に用いられる検証鍵を暗号鍵の代わりに用い、
ホスト制御部は、前記検証鍵に基づき前記セキュアエレメントが検証対象データを検証した結果に基づき、前記検証対象データの正当性を判定する、
請求項1から請求項8のいずれか1項に記載の電子機器。
【請求項10】
前記暗号化データに関する情報は、前記暗号化データのサイズを示す情報であり、
前記復号制御部は、前記暗号化データのサイズに応じて、前記復号者を選択する、
請求項1から請求項9のいずれか1項に記載の電子機器。
【請求項11】
前記暗号化データに関する情報は、前記暗号化データに付加され、前記復号者を指定する情報であり、
前記復号制御部は、指定された前記復号者を選択する、
請求項1から請求項10のいずれか1項に記載の電子機器。
【請求項12】
前記暗号化データに関する情報は、前記暗号化データに付加され、暗号鍵の種類を示す情報であり、
前記復号制御部は、前記暗号鍵の種類に応じて、前記復号者を選択する、
請求項1から請求項11のいずれか1項に記載の電子機器。
【請求項13】
前記暗号化データに関する情報は、前記暗号化データに付加され、前記データの種類を示す情報であり、
前記復号制御部は、前記データの種類に応じて、前記復号者を選択する、
請求項1から請求項12のいずれか1項に記載の電子機器。
【請求項14】
前記暗号化データに関する情報は、前記暗号化データに付加され、前記データの重要度を示す情報である、
前記復号制御部は、前記データの重要度に応じて、前記復号者を選択する、
請求項1から請求項13のいずれか1項に記載の電子機器。
【請求項15】
ホスト制御部とセキュアエレメントとを備える電子機器における制御方法であって、
前記ホスト制御部の取得部が、データが暗号化された暗号化データを取得する取得過程と、
前記ホスト制御部の復号制御部が、前記暗号化データを復号する復号者を選択する復号制御過程と、
前記ホスト制御部の第1の復号部は、前記暗号化データを復号する第1の復号過程部と、
前記セキュアエレメントの第2の復号部が、前記暗号化データを復号する第2の復号過程と、
を含み、
前記ホスト制御部の復号制御部は、前記暗号化データに関する情報に基づき、前記第1の復号部又は前記第2の復号部のいずれか一方を前記復号者として選択する、
制御方法。
【請求項16】
ホスト制御部とセキュアエレメントとを備える電子機器としてコンピュータを機能させるためのプログラムであって、
前記コンピュータを、
前記ホスト制御部が、データが暗号化された暗号化データを取得する取得手段と、
前記ホスト制御部が、前記暗号化データを復号する復号者を選択する復号制御手段と、
前記ホスト制御部が、前記暗号化データを復号する第1の復号手段と、
前記セキュアエレメントが、前記暗号化データを復号する第2の復号手段と、
として機能させ、
前記復号制御手段は、前記暗号化データに関する情報に基づき、前記ホスト制御部又は前記セキュアエレメントのいずれか一方を前記復号者として選択する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器、制御方法、及びプログラムに関する。
【背景技術】
【0002】
従来、デバイスがインターネットなどのネットワークを介してサーバから暗号化されたデータをダウンロードし、デバイスにて暗号化されたデータを復号して利用するための技術が各種提案されている。
【0003】
例えば、下記特許文献1には、UIM(User Identity Module)カードを備えた携帯型端末がサーバからダウンロードした暗号化されたコンテンツをUIMカードにて復号して利用する技術が開示されている。当該技術では、コンテンツサーバから配信されて暗号化装置にて暗号化されたコンテンツのダウンロードを携帯型端末が行い、携帯型端末がダウンロードした暗号化されたコンテンツの復号と再生をUIMカードが行っている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4892993号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1の技術で用いているUIMカードの処理性能は低いため、暗号化されたデータのサイズが大きくなるほど復号が完了するまでにかかる時間が長くなり、効率が悪かった。
【0006】
上述の課題を鑑み、本発明の目的は、暗号化されたデータの復号をより効率的に行うことが可能な電子機器、制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上述の課題を解決するために、本発明の一態様に係る電子機器は、ホスト制御部とセキュアエレメントとを備える電子機器であって、前記ホスト制御部は、データが暗号化された暗号化データを取得する取得部と、前記暗号化データを復号する復号者を選択する復号制御部と、前記暗号化データを復号する第1の復号部と、を備え、前記セキュアエレメントは、前記暗号化データを復号する第2の復号部、を備え、前記復号制御部は、前記暗号化データに関する情報に基づき、前記第1の復号部又は前記第2の復号部のいずれか一方を前記復号者として選択する。
【0008】
本発明の一態様に係る制御方法は、ホスト制御部とセキュアエレメントとを備える電子機器における制御方法であって、前記ホスト制御部の取得部が、データが暗号化された暗号化データを取得する取得過程と、前記ホスト制御部の復号制御部が、前記暗号化データを復号する復号者を選択する復号制御過程と、前記ホスト制御部の第1の復号部は、前記暗号化データを復号する第1の復号過程部と、前記セキュアエレメントの第2の復号部が、前記暗号化データを復号する第2の復号過程と、を含み、前記ホスト制御部の復号制御部は、前記暗号化データに関する情報に基づき、前記第1の復号部又は前記第2の復号部のいずれか一方を前記復号者として選択する。
【0009】
本発明の一態様に係るプログラムは、ホスト制御部とセキュアエレメントとを備える電子機器としてコンピュータを機能させるためのプログラムであって、前記コンピュータを、前記ホスト制御部が、データが暗号化された暗号化データを取得する取得手段と、前記ホスト制御部が、前記暗号化データを復号する復号者を選択する復号制御手段と、前記ホスト制御部が、前記暗号化データを復号する第1の復号手段と、前記セキュアエレメントが、前記暗号化データを復号する第2の復号手段と、として機能させ、前記復号制御手段は、前記暗号化データに関する情報に基づき、前記ホスト制御部又は前記セキュアエレメントのいずれか一方を前記復号者として選択する。
【発明の効果】
【0010】
本発明によれば、暗号化されたデータの復号をより効率的に行うことができる。
【図面の簡単な説明】
【0011】
図1】第1の実施形態に係る通信システムの構成の一例を示す図である。
図2】第1の実施形態に係る暗号化データの生成から暗号化データの復号者決定までの通信システムにおける処理の流れの一例を示すシーケンス図である。
図3】第1の実施形態に係るホスト制御部が暗号化データを復号する場合の通信システムにおける処理の流れの一例を示すシーケンス図である。
図4】第1の実施形態に係るSEが暗号化データを復号する場合の通信システムにおける処理の流れの一例を示すシーケンス図である。
図5】第2の実施形態に係る通信システムの構成の一例を示す図である。
図6】第2の実施形態に係る暗号化データのダウンロードと復号を並列して行う場合の通信システムにおける処理の流れの一例を示すシーケンス図である。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
【0013】
<<1.第1の実施形態>>
図1から図4を参照して、本発明の第1の実施形態について説明する。なお、第1の実施形態では、電子機器がホスト制御部とSE(セキュアエレメント)とを備えるIoT(Internet of Things)デバイスである例を一例として説明する。
【0014】
<1-1.システム構成>
図1を参照して、第1の実施形態に係る通信システムの構成について説明する。図1は、第1の実施形態に係る通信システム1の構成の一例を示す図である。
図1に示すように、通信システム1は、IoTデバイス10と、暗号化データ配信サーバ20とを備える。IoTデバイス10と暗号化データ配信サーバ20は、ネットワークNWを介して、通信可能に接続されている。ネットワークNWは、例えば、インターネットである。なお、IoTデバイス10と暗号化データ配信サーバ20との間の通信は、有線通信又は無線通信のどちらであってもよい。
【0015】
暗号化データ配信サーバ20には、暗号化データを配信するサーバ装置である。暗号化データは、例えば、IoTデバイス10に関するデータが暗号鍵で暗号化されたデータである。IoTデバイス10に関するデータは、例えば、IoTデバイス10のファームウェア(アプリケーション)、設定ファイル、制御情報などである。
IoTデバイス10に関するデータは、IoTデバイス10のメーカーによって生成されるデータである。IoTデバイス10のメーカーは、生成したデータを暗号化するための暗号鍵を生成し、生成した暗号鍵でIoTデバイス10に関するデータを暗号化する。IoTデバイス10のメーカーは、IoTデバイス10に関するデータの暗号化データを暗号化データ配信サーバ20に保存する。また、IoTデバイス10のメーカーは、IoTデバイス10に関するデータの暗号化に用いた暗号鍵を、IoTデバイス10の製造時にSEに保存する。
IoTデバイス10は、ネットワークNWを介して、暗号化データ配信サーバ20から暗号化データをダウンロードする。IoTデバイス10は、ダウンロードした暗号化データをSEに保存されている暗号鍵で復号し、復号したデータ(以下、「復号データ」とも称される)を利用することができる。
【0016】
<1-2.IoTデバイスの機能構成>
以上、第1の実施形態に係る通信システム1の構成について説明した。続いて、図1を参照して、第1の実施形態に係るIoTデバイス10の機能構成について説明する。図1には、第1の実施形態に係るIoTデバイス10の機能構成の一例が示されている。
図1に示すように、IoTデバイス10は、デバイス通信部110と、デバイス記憶部120と、ホスト制御部130と、SE140とを備える。
【0017】
(1)デバイス通信部110
デバイス通信部110は、各種情報の送受信を行う機能を有する。例えば、デバイス通信部110は、ネットワークNWを介して、暗号化データ配信サーバ20と通信を行う。デバイス通信部110は、暗号化データ配信サーバ20との通信において、暗号化データのダウンロードを要求する情報(以下、「暗号化データ要求」とも称される)を送信する。また、デバイス通信部110は、暗号化データ配信サーバ20との通信において、暗号化データを受信する。
【0018】
(2)デバイス記憶部120
デバイス記憶部120は、各種情報を記憶する機能を有する。デバイス記憶部120は、IoTデバイス10がハードウェアとして備える記憶媒体、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、RAM(Random Access read/write Memory)、ROM(Read Only Memory)、又はこれらの記憶媒体の任意の組み合わせによって構成される。
デバイス記憶部120は、暗号化データや復号データを記憶する。また、デバイス記憶部120は、暗号化データの復号時にSEから取り出された暗号鍵を一時的に保存してもよい。当該暗号鍵は、暗号化データの復号後に破棄される。
【0019】
(3)ホスト制御部130
ホスト制御部130は、IoTデバイス10の動作全般を制御する機能を有する。ホスト制御部130は、例えば、IoTデバイス10がハードウェアとして備えるCPU(Central Processing Unit)にプログラムを実行させることによって実現される。
図1に示すように、ホスト制御部130は、取得部131と、復号制御部132と、ホスト復号部133(第1の復号部)とを備える。
【0020】
(3-1)取得部131
取得部131は、暗号化データを取得する機能を有する。例えば、取得部131は、暗号化データ配信サーバ20へ暗号化データ要求を送信することで、暗号化データ配信サーバ20から暗号化データを取得する。
取得部131は、取得した暗号化データをデバイス記憶部120に保存する。
【0021】
(3-2)復号制御部132
復号制御部132は、IoTデバイス10における暗号化データの復号に関する処理を制御する機能を有する。例えば、復号制御部132は、暗号化データを復号する復号者を選択する。復号者は、ホスト制御部130のホスト復号部133又は後述するSE140のSE復号部142(第2の復号部)である。具体的に、復号制御部132は、暗号化データに関する情報に基づき、ホスト復号部133又はSE復号部142のいずれか一方を復号者として選択する。
暗号化データに関する情報は、例えば、暗号化データのサイズを示す情報である。この場合、復号制御部132は、暗号化データのサイズの大きさに応じて、復号者を選択する。一例として、復号制御部132は、暗号化データのサイズが大きい場合はホスト復号部133を復号者として選択し、暗号化データのサイズが小さい場合はSE復号部142を復号者として選択する。
【0022】
なお、暗号化データに関する情報は暗号化データのサイズを示す情報に限定されない。復号制御部132は、暗号化データのサイズ以外の情報に基づき、復号者を選択してもよい。ここで、暗号化データのサイズ以外の情報の一例として、3つの情報について説明する。
1つ目の情報は、暗号化データに付加された復号者を指定する情報である。例えば、暗号化データの先頭に16進数で0x01が付加されている場合、復号制御部132は、ホスト復号部133を復号者として選択する。一方、暗号化データの先頭に16進数で0x02が付加されている場合、復号制御部132は、SE復号部142を復号者として選択する。
2つ目の情報は、暗号化データに付加された暗号鍵の種類を示す情報である。暗号鍵の種類を示す情報は、例えば、暗号鍵がホスト制御部130で利用する鍵であるか、SE140内に保存されている鍵であるかを示す情報である。例えば、暗号化データの先頭に16進数で0x01が付加されている場合はSE140から取り出し可能な鍵で暗号化されているため、復号制御部132は、ホスト復号部133を復号者として選択する。一方、暗号化データの先頭に0x02が付加されている場合はSE140から取り出せない鍵で暗号化されているため、復号制御部132は、SE復号部142を復号者として選択する。
3つ目の情報は、暗号化データに付加されたデータの種類や重要度を示す情報である。例えば、暗号化データの先頭に16進数で0x01が付加されている場合はデータ内容がファームウェアであるため、復号制御部132は、ホスト復号部133を復号者として選択する。また、暗号化データの先頭に16進数で0x02が付加されている場合はデータ内容がリアルタイム制御情報のような復号処理速度が求められるようなデータであるため、復号制御部132は、ホスト復号部133を復号者として選択する。また、暗号化データの先頭に16進数で0x03が付加されている場合は内容が認証情報のような重要データであるため、復号制御部132は、SE復号部142を復号者として選択する。
なお、復号制御部132は、暗号化データのサイズを示す情報、暗号化データに付加された復号者を指定する情報、暗号鍵の種類を示す情報、又はデータの種類や重要度を示す情報の内、少なくともいずれか1つの情報に基づき、復号者を選択する。即ち、復号制御部132は、復号者の選択において、複数の暗号化データに関する情報のうち、1つの情報のみを用いてもよいし、複数の情報を組み合わせて用いてもよい。
【0023】
ホスト復号部133を復号者として選択した場合、復号制御部132は、暗号化データを復号するようホスト復号部133に依頼する。
SE復号部142を復号者として選択した場合、復号制御部132は、暗号化データを復号するようSE復号部142に依頼をする。この場合、復号制御部132は、デバイス記憶部120から暗号化データを読み出し、読み出した暗号化データをSE復号部142へ入力する。復号制御部132は、SE復号部142によって復号された復号データを取得したら、取得した復号データをデバイス記憶部120に保存する。
【0024】
(3-3)ホスト復号部133
ホスト復号部133は、暗号化データを復号する機能を有する。例えば、ホスト復号部133は、復号制御部132によって復号者として選択された場合、暗号化データを復号する。具体的に、ホスト復号部133は、後述するSE140のSE記憶部141に記憶された暗号鍵を取得し、デバイス記憶部120に保存されている暗号化データを読み出し、取得した暗号鍵で読み出した暗号化データを復号する。
【0025】
ホスト制御部130は、SE140よりも高い処理性能を有する。そのため、ホスト復号部133とSE復号部142が同一サイズの暗号化データを復号した場合、ホスト復号部133の方が短い時間で暗号化データを復号することができる。
よって、暗号化データのサイズが大きい場合には、SE復号部142ではなくホスト復号部133が暗号化データを復号することで、復号にかかる時間が短縮され、暗号化データの復号をより効率的に行うことができる。
【0026】
ホスト復号部133は、暗号化データの復号後、復号に使用した暗号鍵を破棄する。これにより、暗号鍵の漏洩リスクを低減することができる。
【0027】
なお、SE記憶部141からの暗号鍵の取得とデバイス記憶部120からの暗号化データの読み出しは復号制御部132によって行われてもよい。
【0028】
(4)SE140
SE140は、耐タンパー性を有するセキュアエレメントである。SE140は、例えば、プラスチックなどのカード機材にSE140の機能が実装されたIC(Integrated Circuit)カード、又はSIM(Subscriber Identity Module Card)カードなどである。この場合、SE140は、IoTデバイス10に設けられたICカード又はSIMカードのコンタクト部(不図示)を介して着脱可能に装着される。
図1に示すようにSE140は、SE記憶部141と、SE復号部142(第2の復号部)とを備える。
【0029】
(4-1)SE記憶部141
SE記憶部141は、各種情報を記憶する機能を有する。例えば、SE記憶部141は、暗号鍵を記憶する。
【0030】
(4-2)SE復号部142
SE復号部142は、暗号化データを復号する機能を有する。例えば、SE復号部142は、復号制御部132によって復号者として選択された場合、SE記憶部141に記憶された暗号鍵を取得し、取得した暗号鍵で暗号化データを復号する。これにより、暗号化データは、SE140内に保存されている暗号鍵によってSE140内で復号される。そのため、暗号鍵がSE140の外部に持ち出されることはない。また、SE140は、耐タンパー性を有しており、物理的及び論理的に内部のデータ(暗号鍵)を読み取られることに対して耐性を有している。そのため、SE140から内部のデータを不正に取り出すことはほぼ不可能である。以上より、SE復号部142が暗号化データを復号することで、暗号鍵の漏洩を防止することができる。
【0031】
<1-3.暗号化データ配信サーバの機能構成>
以上、第1の実施形態に係るIoTデバイス10の機能構成について説明した。続いて、図1を参照して、第1の実施形態に係る暗号化データ配信サーバ20の機能構成について説明する。図1には、第1の実施形態に係る暗号化データ配信サーバ20の機能構成の一例が示されている。
図1に示すように、暗号化データ配信サーバ20は、サーバ通信部210と、サーバ記憶部220と、サーバ制御部230とを備える。
【0032】
(1)サーバ通信部210
サーバ通信部210は、各種情報の送受信を行う機能を有する。例えば、サーバ通信部210は、ネットワークNWを介して、IoTデバイス10と通信を行う。サーバ通信部210は、IoTデバイス10との通信において、暗号化データ要求を受信する。また、サーバ通信部210は、IoTデバイス10との通信において、暗号化データを送信する。
【0033】
(2)サーバ記憶部220
サーバ記憶部220は、各種情報を記憶する機能を有する。サーバ記憶部220は、暗号化データ配信サーバ20がハードウェアとして備える記憶媒体、例えば、HDD、SSD、フラッシュメモリ、EEPROM、RAM、ROM、又はこれらの記憶媒体の任意の組み合わせによって構成される。
サーバ記憶部220は、暗号化データを記憶する。
【0034】
(3)サーバ制御部230
サーバ制御部230は、暗号化データ配信サーバ20の動作全般を制御する機能を有する。サーバ制御部230は、例えば、暗号化データ配信サーバ20がハードウェアとして備えるCPUにプログラムを実行させることによって実現される。
サーバ制御部230は、IoTデバイス10から暗号化データ要求を受信した場合、サーバ記憶部220に記憶されている暗号化データをIoTデバイス10へ送信する。
【0035】
<1-4.処理の流れ>
以上、第1の実施形態に係る暗号化データ配信サーバ20の機能構成について説明した。続いて、図2から図4を参照して、第1の実施形態に係る通信システム1における処理の流れについて説明する。
【0036】
(1)暗号化データの生成から暗号化データの復号者決定までの処理の流れ
図2を参照して、第1の実施形態に係る暗号化データの生成から暗号化データの復号者決定までの処理の流れについて説明する。図2は、第1の実施形態に係る暗号化データの生成から暗号化データの復号者決定までの通信システム1における処理の流れの一例を示すシーケンス図である。
【0037】
図2に示すように、まず、IoTデバイスメーカーは、IoTデバイス10の製造時に、暗号鍵を生成する(ステップS101)。
次いで、IoTデバイスメーカーは、製造しているIoTデバイス10のSE140のSE記憶部141に、生成した暗号鍵を保存する(ステップS102)。
次いで、IoTデバイスメーカーは、データを生成する(ステップS103)。
次いで、IoTデバイスメーカーは、生成したデータを暗号鍵で暗号化する(ステップS104)。
そして、IoTデバイスメーカーは、暗号化データを暗号化データ配信サーバ20へアップロードし、暗号化データ配信サーバ20のサーバ記憶部220に保存する(ステップS105)。
【0038】
IoTデバイス10のホスト制御部130の取得部131は、暗号化データ配信サーバ20へ暗号化データ要求を送信する(ステップS106)。
IoTデバイス10から暗号化データ要求を受信した暗号化データ配信サーバ20は、サーバ記憶部220に保存されている暗号化データを、IoTデバイス10へ送信する(ステップS107)。
IoTデバイス10が暗号化データ配信サーバ20から受信した暗号化データを取得した取得部131は、暗号化データをIoTデバイス10のデバイス記憶部120に保存する(ステップS108)。
暗号化データの取得後、IoTデバイス10の復号制御部132は、取得した暗号化データのデータサイズに基づき、IoTデバイス10のホスト復号部133、又はSE140のSE復号部142を復号者として選択する(ステップS109)。
【0039】
(2)ホスト制御部130が暗号化データを復号する場合の処理の流れ
図3を参照して、第1の実施形態に係るホスト制御部130が暗号化データを復号する場合の処理の流れについて説明する。図3は、第1の実施形態に係るホスト制御部130が暗号化データを復号する場合の通信システム1における処理の流れの一例を示すシーケンス図である。図3には、図2に示したステップS109にて、ホスト復号部133が復号者として選択された場合の処理の流れが示されている。
【0040】
図3に示すように、まず、IoTデバイス10のホスト制御部130のホスト復号部133は、SE140のSE記憶部141から暗号鍵を取得する(ステップS201)。
次いで、ホスト復号部133は、IoTデバイス10のデバイス記憶部120から暗号化データを読み出す(ステップS202)。
次いで、ホスト復号部133は、読み出した暗号化データを取得した暗号鍵で復号する(ステップS203)。
暗号化データの復号後、ホスト復号部133は、復号に用いた暗号鍵を破棄する(ステップS204)。
次いで、ホスト復号部133は、暗号化データを復号して得た復号データをデバイス記憶部120に保存する(ステップS205)。
【0041】
(3)SE140が暗号化データを復号する場合の処理の流れ
図4を参照して、第1の実施形態に係るSE140が暗号化データを復号する場合の処理の流れについて説明する。図4は、第1の実施形態に係るSE140が暗号化データを復号する場合の通信システム1における処理の流れの一例を示すシーケンス図である。図4には、図2に示したステップS109にて、SE復号部142が復号者として選択された場合の処理の流れが示されている。
【0042】
図4に示すように、まず、IoTデバイス10のホスト制御部130の復号制御部132は、IoTデバイス10のデバイス記憶部120から暗号化データを読み出す(ステップS301)。
次いで、復号制御部132は、読み出した暗号化データをSE140のSE復号部142へ入力し、SE復号部142に暗号化データの復号を依頼する(ステップS302)。
復号制御部132から復号の依頼を受けたSE復号部142は、入力された暗号化データをSE記憶部141に保存されている暗号鍵で復号する(ステップS303)。
暗号化データの復号後、SE復号部142は、暗号化データを復号して得た復号データを復号制御部132へ出力する(ステップS304)。
復号制御部132は、SE復号部142によって復号された復号データを、デバイス記憶部120に保存する(ステップS305)。
【0043】
以上説明したように、第1の実施形態に係るIoTデバイス10は、ホスト制御部130とSE140とを備える電子機器である。
ホスト制御部130は、データが暗号化された暗号化データを取得する取得部131と、暗号化データを復号する復号者を選択する復号制御部132と、暗号化データを復号するホスト復号部133(第1の復号部)とを備える。SE140は、暗号化データを復号するSE復号部142(第2の復号部)、を備える。復号制御部132は、暗号化データに関する情報に基づき、ホスト復号部133又はSE復号部142のいずれか一方を復号者として選択する。
【0044】
かかる構成により、IoTデバイス10は、暗号化データに関する情報に応じて復号者を選択することで、暗号化データの復号にかかる時間を調整することができる。これにより、IoTデバイス10は、例えば暗号化データに関する情報が暗号化データのサイズが大きいことを示す情報である場合に、処理性能が高いホスト制御部130で暗号化データを復号することで、復号にかかる時間を短縮することができる。
【0045】
よって、第1の実施形態に係るIoTデバイス10は、暗号化されたデータの復号をより効率的に行うことを可能とする。
【0046】
<<2.第2の実施形態>>
以上、第1の実施形態について説明した。続いて、図5及び図6を参照して、本発明の第2の実施形態について説明する。
上述した第1の実施形態では、暗号化データ配信サーバに1つのデータから生成された1つの暗号化データが記憶されている例について説明したが、かかる例に限定されない。
第2の実施形態では、暗号化データ配信サーバが、IoTデバイスにおける復号者の処理性能に応じて1つのデータを複数のデータに分割し、分割後のデータごとに暗号化した暗号化データをIoTデバイスへ配信する例について説明する。
なお、第2の実施形態では、第1の実施形態と同様に、電子機器がホスト制御部とSEとを備えるIoTデバイスである例を一例として説明する。また、以下では、第1の実施形態における説明と重複する説明については、適宜省略する。
【0047】
<2-1.システム構成>
図5を参照して、第2の実施形態に係る通信システムの構成について説明する。図5は、第2の実施形態に係る通信システム1aの構成の一例を示す図である。
図5に示すように、通信システム1aは、IoTデバイス10aと、暗号化データ配信サーバ20aとを備える。
【0048】
IoTデバイス10aのメーカーは、第1の実施形態と同様に暗号鍵とIoTデバイス10aに関するデータを生成するが、IoTデバイス10aに関するデータを暗号鍵で暗号化せずに暗号化データ配信サーバ20aに保存する。なお、暗号鍵については、第1の実施形態と同様にIoTデバイス10aの製造時にSE140aに保存される。
暗号化データ配信サーバ20aは、IoTデバイス10aから暗号化データ要求を受信した際に、IoTデバイス10aのSE140aの処理性能に応じて保存されているデータを分割し、分割したデータごとに暗号化した暗号化データを1つずつIoTデバイス10aへ送信する。
【0049】
IoTデバイス10aのホスト制御部130aは、ネットワークNWを介して、暗号化データ配信サーバ20から分割された複数の暗号化データを1つずつダウンロードし、SE140aに1つずつ復号を依頼する。この時、ホスト制御部130aは、分割された暗号化データを1つダウンロードしたらSE140aに復号を依頼し、SE140aが暗号化データを復号している間に暗号化データ要求を暗号化データ配信サーバ20aへ送信し、他の分割された暗号化データのダウンロードを行う。
このようにして、IoTデバイス10aは、暗号化データのダウンロードと復号を並列して処理する。
これにより、IoTデバイス10aは、暗号化データのダウンロード開始から復号終了までにかかる時間を短縮することができる。そのため、IoTデバイス10aは、暗号化されたデータの復号をより効率的に行うことができる。
【0050】
<2-2.IoTデバイスの機能構成>
以上、第2の実施形態に係る通信システム1aの構成について説明した。続いて、図5を参照して、第2の実施形態に係るIoTデバイス10aの機能構成について説明する。図5には、第2の実施形態に係るIoTデバイス10aの機能構成の一例が示されている。
図5に示すように、IoTデバイス10aは、デバイス通信部110aと、デバイス記憶部120と、ホスト制御部130aと、SE140aとを備える。
【0051】
(1)デバイス通信部110a
デバイス通信部110aは、暗号化データ配信サーバ20aとの通信において、複数に分割された暗号化データを1つずつ受信する。デバイス通信部110aは、後述する取得部131aが分割された暗号化データの取得処理を行うごとに、暗号化データ要求を暗号化データ配信サーバ20aに送信する。
【0052】
(2)デバイス記憶部120
第2の実施形態に係るデバイス記憶部120の機能は、第1の実施形態に係るデバイス記憶部120の機能と同様であるため、重複する説明を省略する。
【0053】
(3)ホスト制御部130a
図5に示すように、図5に示すように、ホスト制御部130aは、取得部131aと、復号制御部132aと、ホスト復号部133とを備える。
ホスト制御部130aは、取得部131aによる暗号化データの取得と、後述するSE140aのSE復号部142aによる暗号化データの復号を並列で行わせる。具体的に、復号制御部132aは、まず、SE140aの処理性能に基づき分割された暗号化データを1つずつ取得部131aに取得させる。次いで、復号制御部132aは、取得部131aが分割された暗号化データを1つ取得するごとに、SE復号部142aへ復号を依頼する。
このようにして、復号制御部132aは、分割された暗号化データを1つずつSE復号部142aに復号させる。復号制御部132aは、復号データが得られるごとに、復号データをデバイス記憶部120に保存する。復号制御部132aは、分割された全ての暗号化データの復号が終了するまで、分割された暗号化データの取得と復号依頼を繰り返し行う。
【0054】
(4)SE140a
図5に示すように、SE140aは、SE記憶部141と、SE復号部142aとを備える。
SE復号部142aは、復号制御部132aから復号の依頼を受けるごとに、分割された暗号化データをSE記憶部141に保存されている暗号鍵で復号する。
【0055】
<2-3.暗号化データ配信サーバの機能構成>
以上、第2の実施形態に係るIoTデバイス10aの機能構成について説明した。続いて、図5を参照して、第2の実施形態に係る暗号化データ配信サーバ20aの機能構成について説明する。図5には、第2の実施形態に係る暗号化データ配信サーバ20aの機能構成の一例が示されている。
図5に示すように、暗号化データ配信サーバ20aは、サーバ通信部210aと、サーバ記憶部220aと、サーバ制御部230aとを備える。
【0056】
(1)サーバ通信部210a
サーバ通信部210aは、IoTデバイス10aとの通信において、暗号化データ要求を受信するごとに、分割された暗号化データを送信する。
【0057】
(2)サーバ記憶部220a
サーバ記憶部220aは、IoTデバイス10aのメーカーによって生成された暗号鍵と暗号化していないデータを記憶する。
【0058】
(3)サーバ制御部230a
図5に示すように、サーバ制御部230aは、暗号化部231を備える。
暗号化部231は、SE140aの処理性能に応じて、データを暗号化する機能を有する。具体的に、まず、暗号化部231は、暗号化データ要求を送信してきたIoTデバイス10aのSE140aの処理性能に応じて、サーバ記憶部220aに保存されている1つのデータを複数に分割する。
次いで、暗号化部231は、分割したデータを1つずつ、サーバ記憶部220aに保存されている暗号鍵で暗号化する。そして、暗号化部231は、IoTデバイス10aから暗号化データ要求が送られてくるごとに、分割された暗号化データを1つずつIoTデバイス10aへ送信する。
【0059】
ここで、具体的な処理性能の一例として、3つの処理性能について説明する。
1つ目の処理性能は、ホスト制御部130aとSE140aとの接続インターフェース、またはホスト制御部130aとSE140aとの通信プロトコル等、通信上の制限である。これは、インターフェースやプロトコル(例えばISO7816-3のT=1プロトコル)によっては1度に送受信できるデータサイズに制限があるためである。
2つ目の処理性能は、SE140a内部の作業メモリ上の制限である。これは、SE140aではRAMのサイズ(例えば数KB~数10KB)やフラッシュメモリのサイズ(例えば数10KB~数100KB)が小さいため、暗号化・復号化処理中に大きな作業データを保持できないためである。
3つ目の処理性能は、上記1つ目の処理性能と2つ目の処理性能、その他を鑑みて設計・実装されたSE140aの復号機能仕様による制限である。
【0060】
<2-4.処理の流れ>
以上、第2の実施形態に係る暗号化データ配信サーバ20aの機能構成について説明した。続いて、図6を参照して、第2の実施形態に係る通信システム1aにおける処理の流れについて説明する。図6は、第2の実施形態に係る暗号化データのダウンロードと復号を並列して行う場合の通信システム1aにおける処理の流れの一例を示すシーケンス図である。
【0061】
図5に示すように、まず、IoTデバイスメーカーは、IoTデバイス10aの製造時に、暗号鍵を生成する(ステップS401)。
次いで、IoTデバイスメーカーは、製造しているIoTデバイス10aのSE140aのSE記憶部141に、生成した暗号鍵を保存する(ステップS402)。
次いで、IoTデバイスメーカーは、データを生成する(ステップS403)。
次いで、IoTデバイスメーカーは、生成した暗号鍵とデータを暗号化データ配信サーバ20aへアップロードし、暗号化データ配信サーバ20aのサーバ記憶部220aに保存する(ステップS404)。
【0062】
IoTデバイス10aのホスト制御部130aの取得部131aは、暗号化データ配信サーバ20aへ暗号化データ要求を送信する(ステップS405)。
IoTデバイス10aから暗号化データ要求を受信した暗号化データ配信サーバ20aの暗号化部231は、暗号化データ要求を送信してきたIoTデバイス10aのSE140aの処理性能に応じて分割したデータを暗号化する(ステップS406)。
暗号化後、暗号化部231は、分割された暗号化データを、IoTデバイス10aへ送信する(ステップS407)。
取得部131aによって暗号化データ配信サーバ20aから分割された暗号化データが取得されたら、復号制御部132aは、取得された暗号化データをSE140aのSE復号部142aへ入力し、SE復号部142aに暗号化データの復号を依頼する(ステップS408)。
次いで、取得部131aは、残りの分割された暗号化データを取得するために、暗号化データ要求を暗号化データ配信サーバ20aへ送信する(ステップS409)。
【0063】
復号制御部132aから復号の依頼を受けたSE復号部142aは、入力された暗号化データをSE記憶部141に保存されている暗号鍵で復号する(ステップS410)。
暗号化データの復号後、SE復号部142aは、暗号化データを復号して得た復号データを復号制御部132aへ出力する(ステップS411)。
復号制御部132aは、SE復号部142aによって復号された復号データを、デバイス記憶部120に保存する(ステップS412)。
【0064】
IoTデバイス10aから暗号化データ要求を再度受信した暗号化データ配信サーバ20aの暗号化部231は、暗号化データ要求を送信してきたIoTデバイス10aのSE140aの処理性能に応じて分割したデータを暗号化する(ステップS413)。
暗号化後、暗号化部231は、分割された暗号化データを、IoTデバイス10aへ送信する(ステップS414)。
【0065】
通信システム1aでは、暗号化部231によって1つのデータが分割された複数のデータの全てがデバイス記憶部120に保存されるまで、ステップS408からステップS414の処理が繰り返し行われる。デバイス記憶部120では、分割された復号データが保存された順に結合される。
なお、ステップS408とステップS409の処理の順番は、逆であってもよい。また、ステップS411、ステップS412、ステップS414の処理の順番は、ステップS411とステップS414の処理のどちらが先に終了するかに応じて、入れ替わってもよい。
【0066】
以上説明したように、第2の実施形態に係るIoTデバイス10aは、ホスト制御部130aとSE140aとを備える電子機器である。
ホスト制御部130aは、データが暗号化された暗号化データを取得する取得部131aと、暗号化データを復号する復号者を選択する復号制御部132aと、暗号化データを復号するホスト復号部133(第1の復号部)とを備える。SE140aは、暗号化データを復号するSE復号部142a(第2の復号部)、を備える。復号制御部132aは、暗号化データに関する情報に基づき、ホスト復号部133、又はSE復号部142aのいずれか一方を復号者として選択する。
【0067】
かかる構成により、IoTデバイス10aは、暗号化データに関する情報に応じて復号者を選択することで、暗号化データの復号にかかる時間を調整することができる。これにより、IoTデバイス10aは、例えば暗号化データに関する情報が暗号化データのサイズが大きいことを示す情報である場合に、処理性能が高いホスト制御部130aで暗号化データを復号することで、復号にかかる時間を短縮することができる。
【0068】
よって、第2の実施形態に係るIoTデバイス10aは、暗号化されたデータの復号をより効率的に行うことを可能とする。
【0069】
<<3.変形例>>
以上、本発明の実施形態について説明した。続いて、上述した各実施形態の変形例について説明する。なお、以下に説明する各変形例は、単独で上述した各実施形態に適用されてもよいし、組み合わせで上述した各実施形態に適用されてもよい。また、各変形例は、上述した各実施形態で説明した構成に代えて適用されてもよいし、上述した各実施形態で説明した構成に対して追加的に適用されてもよい。
【0070】
上述した第1の実施形態において、復号制御部132は、SE復号部142を復号者として選択した場合、SE復号部142(SE140)の処理性能及び暗号化データのサイズに基づき、1つの暗号化データを複数に分割し、分割した複数の暗号化データごとに復号させてもよい。例えば、復号制御部132は、暗号化データのサイズが大きい場合、SE復号部142が1度に復号可能なサイズに分割してから、SE140に復号を依頼してもよい。
【0071】
また、上述した各実施形態では、IoTデバイス10及び10aの製造時に、IoTデバイス10及び10aのメーカーが暗号鍵を生成し、SE140及び140aに保存しておく例について説明したが、かかる例に限定されない。
SE140及び140aの製造時に、SE140及び140aのメーカーが暗号鍵を生成し、SE140及び140aに保存しておいてもよい。これにより、IoTデバイス10及び10aのメーカーは、暗号鍵が保存済みのSE140及び140aを購入してIoTデバイス10及び10aを製造することで、製造時に暗号鍵を生成しなくてもよい。
また、IoTデバイス10及び10aが鍵配信サーバから暗号鍵を取得し、SE140及び140aに保存してもよい。
【0072】
また、上述した各実施形態において、ホスト復号部133、SE復号部142及び142aが暗号化データの復号に用いる暗号鍵は、IoTデバイス10及び10aのメーカーあるいはSE140及び140aのメーカーによって生成された暗号鍵ではなく、セッション鍵であってもよい。
例えば、IoTデバイス10及び10aは、データのダウンロードが必要になるごとに鍵交換アルゴリズムで暗号鍵を共有し、その鍵を使ってもよい。鍵交換アルゴリズムは、例えば、RSA(Rivest-Shamir-Adleman cryptosystem)、DHE(Diffie-Hellman key Exchange)、ECDHE(Elliptic Curve Diffie-Hellman key Exchange)、GlobalPlatformのSecureChannelProtocoなどである。この場合、暗号化データ配信サーバ20及び20aとSE140及び140aにあらかじめ暗号鍵を保存しておく必要はない。また、都度暗号鍵の値が変わるため、暗号鍵が漏洩したとしても漏洩した暗号鍵を用いる暗号化データのダウンロードに影響があるだけで、次回のダウンロードや他の機器には影響しない。よって、セッション鍵を用いることで、漏洩時のリスクを低減することができる。
【0073】
また、上述した各実施形態において、ホスト復号部133、SE復号部142及び142aは、データ署名の検証に用いられる検証鍵(例えばデータ署名用の公開鍵証明書)を暗号鍵の代わりに用いてもよい。この場合、ホスト復号部133、SE復号部142及び142aは、検証対象データのデータ署名の検証に検証鍵を用いる。ホスト制御部130及び130aは、検証鍵に基づきSE140及び140aが検証対象データを検証した結果に基づき、検証対象データの正当性を判定する。なお、検証対象データは暗号化データに限られず、平文データなどのデータであってもよい。
具体的に、ホスト制御部130及び130aは、検証対象データとそのデータ署名をSE140及び140aへ入力する。SE140及び140aは、入力された署名対象データとそのデータ署名に基づき、検証鍵を用いてデータ署名の検証を行い、検証結果をホスト制御部130及び130aへ出力する。ホスト制御部130及び130aは、検証結果より、データが偽造や改竄されていないか、データを生成した人が正規の人であるかなどを確認することができる。
【0074】
以上、本発明の実施形態の変形例について説明した。
なお、上述した実施形態におけるIoTデバイス10及び10aの一部又は全部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
なお、ここでいう「コンピュータシステム」とは、OSや周辺機器などのハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROMなどの可搬媒体、コンピュータシステムに内蔵されるハードディスクなどの記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネットなどのネットワークや電話回線などの通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。
また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)などのプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0075】
以上、図面を参照してこの発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更などをすることが可能である。
【符号の説明】
【0076】
1,1a…通信システム、10,10a…IoTデバイス、20,20a…暗号化データ配信サーバ、110,110a…デバイス通信部、120…デバイス記憶部、130,130a…ホスト制御部、131,131a…取得部、132,132a…復号制御部、133…ホスト復号部、140,140a…SE、141…SE記憶部、142,142a…SE復号部、210,210a…サーバ通信部、220,220a…サーバ記憶部、230,230a…サーバ制御部、231…暗号化部、NW…ネットワーク
図1
図2
図3
図4
図5
図6