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

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

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

特開2023-159675デバイス装置、判定方法、及びプログラム
<>
  • 特開-デバイス装置、判定方法、及びプログラム 図1
  • 特開-デバイス装置、判定方法、及びプログラム 図2
  • 特開-デバイス装置、判定方法、及びプログラム 図3
  • 特開-デバイス装置、判定方法、及びプログラム 図4A
  • 特開-デバイス装置、判定方法、及びプログラム 図4B
  • 特開-デバイス装置、判定方法、及びプログラム 図4C
  • 特開-デバイス装置、判定方法、及びプログラム 図5
  • 特開-デバイス装置、判定方法、及びプログラム 図6
  • 特開-デバイス装置、判定方法、及びプログラム 図7A
  • 特開-デバイス装置、判定方法、及びプログラム 図7B
  • 特開-デバイス装置、判定方法、及びプログラム 図7C
  • 特開-デバイス装置、判定方法、及びプログラム 図8
  • 特開-デバイス装置、判定方法、及びプログラム 図9
  • 特開-デバイス装置、判定方法、及びプログラム 図10
  • 特開-デバイス装置、判定方法、及びプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023159675
(43)【公開日】2023-11-01
(54)【発明の名称】デバイス装置、判定方法、及びプログラム
(51)【国際特許分類】
   G06F 21/44 20130101AFI20231025BHJP
   G06F 21/73 20130101ALI20231025BHJP
   G06F 21/79 20130101ALI20231025BHJP
【FI】
G06F21/44
G06F21/73
G06F21/79
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022069527
(22)【出願日】2022-04-20
(71)【出願人】
【識別番号】000003193
【氏名又は名称】TOPPANホールディングス株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100139686
【弁理士】
【氏名又は名称】鈴木 史朗
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100147267
【弁理士】
【氏名又は名称】大槻 真紀子
(72)【発明者】
【氏名】今泉 正明
(57)【要約】      (修正有)
【課題】装置コストを増大させることなく通信先のICチップを検証するデバイス装置、判定方法及びプログラムを提供する。
【解決手段】マスタチップとスレーブチップとを備えるデバイス装置1であって、スレーブチップ20-1、20-2、20-3、・・・は、スレーブチップを識別可能な識別情報を複数記憶する記憶部を有する。マスタ基板10に搭載されたマスタチップ11は、スレーブチップが記憶する識別情報から選択された識別情報をセキュアな記憶領域に記憶させる設定部と、スレーブチップから通知された特定の識別情報が、セキュアな記憶領域に記憶されているか否かに基づいて、スレーブチップの真贋判定を行う判定部と、を有する。
【選択図】図1
【特許請求の範囲】
【請求項1】
マスタチップとスレーブチップとを備えるデバイス装置であって、
前記スレーブチップは、
前記スレーブチップを識別可能な識別情報を複数記憶する記憶部
を有し、
前記マスタチップは、
前記スレーブチップが記憶する識別情報から選択された識別情報をセキュアな記憶領域に記憶させる設定部と、
前記スレーブチップから通知された特定の識別情報が、前記セキュアな記憶領域に記憶されているか否かに基づいて、前記スレーブチップの真贋判定を行う判定部と、
を有する、
デバイス装置。
【請求項2】
前記設定部は、前記スレーブチップが記憶する識別情報から選択された複数の識別情報の組合せを前記セキュアな記憶領域に記憶させ、
前記判定部は、前記スレーブチップから通知された特定の複数の識別情報の組合せが前記セキュアな記憶領域に記憶されているか否かに基づいて、前記スレーブチップの真贋判定を行う、
請求項1に記載のデバイス装置。
【請求項3】
前記設定部によって前記セキュアな記憶領域に識別情報が記憶された後に、前記設定部の機能に対応するプログラムを削除する機能制御部を更に備える、
請求項1に記載のデバイス装置。
【請求項4】
前記機能制御部は、特定の外部サーバからの要求に応じて更新部の機能に対応するプログラムをインストールし、
前記更新部は、前記スレーブチップが記憶する識別情報から新たに選択された識別情報を、前記セキュアな記憶領域に記憶する、
請求項3に記載のデバイス装置。
【請求項5】
前記機能制御部は、前記更新部によって前記セキュアな記憶領域に識別情報が記憶された後に、前記更新部の機能に対応するプログラムを削除する、
請求項4に記載のデバイス装置。
【請求項6】
マスタチップと、識別情報を複数記憶する記憶部を有するスレーブチップとを備えるデバイス装置における前記マスタチップが行う判定方法であって、
設定部が、前記スレーブチップが記憶する識別情報から選択された識別情報をセキュアな記憶領域に記憶させ、
判定部が、前記スレーブチップから通知された特定の識別情報が、前記セキュアな記憶領域に記憶されているか否かに基づいて、前記スレーブチップの真贋判定を行う、
判定方法。
【請求項7】
マスタチップと、識別情報を複数記憶する記憶部を有するスレーブチップとを備えるデバイス装置における前記マスタチップに、
前記スレーブチップが記憶する識別情報から選択された識別情報をセキュアな記憶領域に記憶させ、
前記スレーブチップから通知された特定の識別情報が、前記セキュアな記憶領域に記憶されているか否かに基づいて、前記スレーブチップの真贋判定を行わせる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デバイス装置、判定方法、及びプログラムに関する。
【背景技術】
【0002】
温度や画像などをセンシングしたデータをサーバに送信するデバイス装置がある。デバイス装置には、複数のICチップが搭載され、複数のICチップ間で通信を行うことによりセンシングが行われる。例えば、特許文献1では、基板に搭載された複数のICチップ間で通信を行う際に、相互認証を行うことにより通信先のICチップが改ざんや交換等されていないか検証する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-33697号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の技術を用いて、複数のICチップ同士で相互認証を行おうとすると、各ICチップに相互認証を行うプログラムを格納させなくてはならず、デバイス装置にとっては比較的大きな容量を有するメモリを搭載しなければならない。また、相互認証で使用する証明書や暗号などの情報を各ICチップのセキュアな領域に格納させる必要がある。このため、全てのICチップに、比較的大きな容量を有するメモリを搭載し、且つセキュアな領域を有する高価なメモリ容量を搭載しなければならず、装置コストが増大してしまうという問題があった。
【0005】
本発明は、このような状況に鑑みてなされたものであり、装置コストを増大させることなく通信先のICチップを検証することができるデバイス装置、判定方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明のデバイス装置は、マスタチップとスレーブチップとを備えるデバイス装置であって、前記スレーブチップは、前記スレーブチップを識別可能な識別情報を複数記憶する記憶部を有し、前記マスタチップは、前記スレーブチップが記憶する識別情報から選択された識別情報をセキュアな記憶領域に記憶させる設定部と、前記スレーブチップから通知された特定の識別情報が、前記セキュアな記憶領域に記憶されているか否かに基づいて、前記スレーブチップの真贋判定を行う判定部と、を有する。
【0007】
本発明の、判定方法は、マスタチップと、識別情報を複数記憶する記憶部を有するスレーブチップとを備えるデバイス装置における前記マスタチップが行う判定方法であって、設定部が、前記スレーブチップが記憶する識別情報から選択された識別情報をセキュアな記憶領域に記憶させ、判定部が、前記スレーブチップから通知された特定の識別情報が、前記セキュアな記憶領域に記憶されているか否かに基づいて、前記スレーブチップの真贋判定を行う。
【0008】
本発明の、プログラムは、マスタチップと、識別情報を複数記憶する記憶部を有するスレーブチップとを備えるデバイス装置における前記マスタチップに、前記スレーブチップが記憶する識別情報から選択された識別情報をセキュアな記憶領域に記憶させ、前記スレーブチップから通知された特定の識別情報が、前記セキュアな記憶領域に記憶されているか否かに基づいて、前記スレーブチップの真贋判定を行わせる、プログラムである。
【発明の効果】
【0009】
本発明によれば、装置コストを増大させることなく通信先のICチップを検証することができる。
【図面の簡単な説明】
【0010】
図1】実施形態に係るデバイス装置1の構成の例を示す図である。
図2】実施形態に係るマスタ基板10Aの構成の例を示すブロック図である。
図3】実施形態に係るスレーブチップ20の構成の例を示すブロック図である。
図4A】実施形態に係るID情報2021の例を示す図である。
図4B】実施形態に係るPUF情報2022の例を示す図である。
図4C】実施形態に係る暗号鍵情報2023の例を示す図である。
図5】実施形態に係るデバイス装置1が行う処理の流れを示すシーケンス図である。
図6】実施形態に係るマスタ基板10Bの構成の例を示すブロック図である。
図7A】実施形態に係る判定情報1221の例を示す図である。
図7B】実施形態に係る判定情報1222の例を示す図である。
図7C】実施形態に係る判定情報1223の例を示す図である。
図8】実施形態に係るデバイス装置1が行う真贋判定に係る処理の流れを示すシーケンス図である。
図9】実施形態の変形例に係るデバイス装置1を説明する図である。
図10】実施形態の変形例に係るデバイス装置1が外部サーバ100と行う処理の流れを示すシーケンス図である。
図11】実施形態の変形例に係るデバイス装置1が行う処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について、図面を参照して説明する。
【0012】
(デバイス装置1の構成)
図1は、実施形態によるデバイス装置1の構成例を示すブロック図である。デバイス装置1は、例えば、マスタ基板10と、複数のスレーブチップ20(スレーブチップ20-1、20-2、20-3…)を備える。マスタ基板10は、マスタチップ11とセキュアエレメント12が搭載された基板である。マスタチップ11は、セキュアエレメント12、及び、スレーブチップ20と通信可能に接続される。なお、マスタ基板10に、スレーブチップ20が搭載されていてもよい。
【0013】
マスタチップ11は、ICチップ(集積回路)である。マスタチップ11は、例えば、CPU(Central Processing Unit)などの信号処理用の集積回路であってもよいし、通信やメモリ及び信号処理の回路が1つのチップに組み込まれた、いわゆるSoC(System On Chip)などと称される集積回路であってもよい。マスタチップ11は、セキュアエレメント12及びスレーブチップ20と通信を行う。
【0014】
セキュアエレメント12は、セキュアなメモリ領域(後述するセキュア記憶部122)を備えるICチップである。セキュアエレメント12は、物理的破壊への耐久性、例えば表面を剥がすと回路などが同時に物理的に破壊されるようなタンパー機能を備えていてもよい。
【0015】
なお、マスタチップ11に、セキュアエレメント12が有するセキュアなメモリ領域が組み込まれていてよい。この場合、セキュアエレメント12を省略することが可能であり、例えば、マスタ基板10には、セキュアなメモリ領域を有するマスタチップ11が搭載される。
【0016】
スレーブチップ20は、マスタチップ11の制御にしたがって動作するICチップである。例えば、スレーブチップ20は、撮像機能を備えた撮像モジュールである。この場合、スレーブチップ20は、マスタチップ11の制御にしたがって撮像を行い、撮像した撮像データをスレーブチップ20に送信する。或いは、スレーブチップ20、温度や湿度を測定する環境センサであってもよい。この場合、スレーブチップ20は、マスタチップ11の制御にしたがって、温度や湿度を測定し、測定した測定データをスレーブチップ20に送信する。
【0017】
IoT(Internet of Things)機器の普及に伴い、デバイス装置1などの数多くのIoT機器が市場に出回るようになった。このため。IoT機器の製造中或いは市場に出回ってから、悪意ある第三者が不正なICチップをIoT機器に混入させ、データを改ざんしたり、傍受したりする可能性が高まっている。このため、IoT機器の製造から流通に至るまでの各工程において不正なICチップが混入されることを防止する対策を行う必要がある。
【0018】
この対策として、本実施形態では、マスタチップ11が、真贋判定処理を行う。真贋判定処理は、スレーブチップ20が、正当なICチップであるか否かを判定する処理である。
【0019】
本実施形態では、真贋判定処理を行うために、マスタ基板10が、マスタ基板10A、及びマスタ基板10Bの2つのフェーズをとるように構成される。マスタ基板10Aは、真贋判定処理を行うための設定を行う処理(事前設定処理という)がなされる前の基板であり、例えば、出荷前の基板である。マスタ基板10Bは、事前設定処理がなされた後の基板であり、例えば、出荷後の基板である。
【0020】
(マスタ基板10Aの構成)
図2は、実施形態に係るマスタ基板10Aの構成の例を示すブロック図である。
【0021】
マスタチップ11は、例えば、通信部111と、記憶部112と、取得部113と、設定部114と、判定部115と、機能制御部116とを備える。
【0022】
通信部111は、セキュアエレメント12、及びスレーブチップ20と通信を行う。記憶部112は、HDD(Hard Disk Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、RAM(Random Access read / write Memory)、ROM(Read Only Memory)などの記憶媒体、あるいはこれらの組合せである。記憶部112は、マスタチップ11の各種処理を実行するためのプログラム、及び各種処理を行う際に利用される一時的なデータを記憶する。
【0023】
取得部113は、各種の情報を取得する。例えば、取得部113は、事前設定処理において、スレーブチップ20から通知された情報(後述する識別情報)を取得する。取得部113は、取得した情報を、設定部114に出力する。
【0024】
設定部114は、事前設定処理において、スレーブチップ20における特定の識別情報を、セキュアな記憶領域に記憶させる。ここでのスレーブチップ20における特定の識別情報とは、スレーブチップ20の真贋判定処理に用いる情報であって、予め決定された種別に対応する識別情報である。設定部114は、例えば、スレーブチップ20から通知された特定の識別情報を、取得部113を介して取得する。設定部114は、取得した識別情報を、セキュアな記憶領域に書き込むように指示する書込みコマンドを、通信部111を介してセキュアエレメント12に通知する。これにより、事前設定処理において、真贋判定処理に用いられる識別情報が、セキュアエレメント12のセキュアな記憶領域(セキュア記憶部122)に記憶される。
【0025】
判定部115は、真贋判定処理を行う。すなわち、判定部115は、事前設定処理において処理を行わない。判定部115が真贋判定処理を行う具体的な方法は後述する。
【0026】
機能制御部116は、事前設定処理において、設定部114の機能を制御する。具体的に、機能制御部116は、設定部114によって、事前設定処理においてスレーブチップ20から通知された識別情報がセキュアな記憶領域に記憶された後、設定部114の機能に相当するプログラムを削除する。これにより、セキュアな記憶領域に新たな情報を書込んだり、既に書込まれている情報を改ざんしたりすることができなくなる。したがって、第三者が不正なスレーブチップ20を混入させる際に、設定部114を不正に利用してセキュアな記憶領域に記憶された情報を改ざんするなどして真贋判定処理を欺こうとするような事態を抑止することができる。
【0027】
セキュアエレメント12は、例えば、通信部121と、セキュア記憶部122と、情報処理部123とを備える。通信部121は、マスタチップ11と通信を行う。
セキュア記憶部122は、セキュアな記憶領域である。セキュア記憶部122は、例えば、他の記憶媒体から物理的に分離または独立された記憶媒体であって、データを安全に格納することができる記憶媒体である。
情報処理部123は、各種の情報処理を行う。例えば、情報処理部123は、マスタチップ11から通知されたコマンド、例えば、情報を書込むように指示する書込みコマンド、及び情報を読出すように指示する読出しコマンドに応じた処理を行う。具体的に、情報処理部123は、マスタチップ11から書込みコマンドが通知されると、通知された情報を、セキュア記憶部122に記憶させる。情報処理部123は、マスタチップ11から読出しコマンドが通知されると、セキュア記憶部122に記憶されている情報を読出し、読出した情報を、通信部121を介してマスタチップ11に送信する。
【0028】
(スレーブチップ20の構成)
図3は、実施形態に係るスレーブチップ20の構成の例を示すブロック図である。
【0029】
スレーブチップ20は、例えば、通信部201と、記憶部202と、情報処理部203とを備える。通信部201は、マスタチップ11と通信を行う。
記憶部202は、HDD、フラッシュメモリ、EEPROM、RAM、ROMなどの記憶媒体、あるいはこれらの組合せである。記憶部202は、スレーブチップ20の各種処理を実行するためのプログラム、及び各種処理を行う際に利用される一時的なデータを記憶する。
【0030】
記憶部202は、スレーブチップ20を識別することが可能な識別情報を、複数記憶する。スレーブチップ20を識別することが可能な識別情報は、例えば、製造番号などのID、PUF(Physically Unclonable Functions)等である。
本実施形態の識別情報は、スレーブチップ20をユニークに識別できる情報に限定されることはなく、少なくともスレーブチップ20をある程度の粒度で特定可能な情報であればよい。識別情報として、例えば、スレーブチップ20が製造された際に付された製造時のロット番号、工場番号、出荷日などの情報を用いることが可能である。
また、スレーブチップ20が、暗号化通信機能を備え、その暗号化通信に用いる暗号鍵が設定されている場合には、その暗号鍵を識別情報として用いることができる。
また、スレーブチップ20が、認証機能を備え、その認証に用いる電子証明書が設定されている場合には、その電子証明書を識別情報として用いることができる。
【0031】
この図の例では、記憶部202に、ID情報2021、PUF情報2022、暗号鍵情報2023のそれぞれが記憶された例が示されている。
【0032】
図4図4A図4C)は、記憶部202に記憶される情報の例を示す図である。図4のそれぞれに示すように、識別情報として、情報種別、及び情報のそれぞれに対応する情報が記憶される。情報種別には識別情報として記憶される情報の種別が示される。情報には識別情報の具体的な内容が示される。
【0033】
図4Aに示すように、ID情報2021には、情報種別として「ID」が記憶され、情報には具体的なIDの番号などを示す情報が記憶される。
図4Bに示すように、PUF情報2022には、情報種別として「PUF」が記憶され、情報には具体的なPUFの番号などを示す情報が記憶される。
図4Cに示すように、暗号鍵情報2023には、情報種別として「PUF」が記憶され、情報には具体的な暗号鍵の番号などを示す情報が記憶される。
【0034】
図3に戻り、情報処理部203は、各種の情報処理を行う。例えば、情報処理部203は、マスタチップ11からの要求に応じた処理を行う。具体的に、情報処理部203は、事前設定処理において、マスタチップ11から識別情報を通知するように要求されると、要求された情報の種別に応じた識別情報を、通信部201を介してマスタチップ11に送信する。
【0035】
(事前設定処理の流れ)
ここで、事前設定処理の流れについて図5を用いて説明する。図5は、事前設定処理の流れを示すシーケンス図である。
【0036】
まず、マスタチップ11は、真贋判定処理に用いる識別情報の種別を決定する(ステップS1)。マスタチップ11は、例えば、真贋判定処理の対象となるスレーブチップ20ごとに、真贋判定処理に用いる識別情報の種別を決定する。
具体的に、マスタチップ11は、例えば、スレーブチップ20-1の真贋判定処理に、スレーブチップ20-1のIDを用いると決定する。マスタチップ11は、スレーブチップ20-2の真贋判定処理に、スレーブチップ20-2のPUFを用いると決定する。マスタチップ11は、スレーブチップ20-3の真贋判定処理に、スレーブチップ20-3の暗号鍵を用いると決定する。
【0037】
次に、マスタチップ11は、識別情報をスレーブチップ20に要求する(ステップS2)。マスタチップ11は、ステップS1で決定した種別の識別情報を通知するようにスレーブチップ20に要求する。
例えば、マスタチップ11は、スレーブチップ20-1に、スレーブチップ20-1のIDを通知するように要求する。マスタチップ11は、スレーブチップ20-2に、スレーブチップ20-2のPUFを通知するように要求する。マスタチップ11は、スレーブチップ20-3に、スレーブチップ20-3の暗号鍵を通知するように要求する。
【0038】
スレーブチップ20は、識別情報をマスタチップ11に送信する(ステップS3)。スレーブチップ20は、マスタチップ11から通知するように要求された種別の識別情報をマスタチップ11に送信する。
例えば、スレーブチップ20-1は、スレーブチップ20-1のIDをマスタチップ11に送信する。スレーブチップ20-2は、スレーブチップ20-2のPUFをマスタチップ11に送信する。スレーブチップ20-3は、スレーブチップ20-3の暗号鍵をマスタチップ11に送信する。
【0039】
マスタチップ11の設定部114は、スレーブチップ20から通知された識別情報を、セキュアな記憶領域に記憶するようにセキュアエレメント12に指示する(ステップS4)。設定部114は、識別情報、識別情報の種別、通知元のスレーブチップ20を示す情報を含む書込みコマンドを生成し、生成した書込みコマンドをセキュアエレメント12に送信する。これにより、設定部114は識別情報の書込みを指示する。
例えば、設定部114は、スレーブチップ20-1のID番号、情報種別としてのIDを示す情報、及び通知元であるスレーブチップ20-1を示す情報を含む書込みコマンドをセキュアエレメント12に送信する。設定部114は、スレーブチップ20-2のPUF番号、情報種別としてのPUFを示す情報、及び通知元であるスレーブチップ20-2を示す情報を含む書込みコマンドをセキュアエレメント12に送信する。設定部114は、スレーブチップ20-3の暗号鍵の番号、情報種別としての暗号鍵を示す情報、及び通知元であるスレーブチップ20-3を示す情報を含む書込みコマンドをセキュアエレメント12に送信する。
【0040】
セキュアエレメント12は、マスタチップ11から受信した書込みコマンドにしたがってセキュア記憶部122に識別情報を記憶させる(ステップS5)。例えば、セキュアエレメント12は、スレーブチップ20-1のID番号、情報種別としてのIDを示す情報、及び通知元であるスレーブチップ20-1を示す情報を、セキュア記憶部122に記憶させる。セキュアエレメント12は、スレーブチップ20-2のPUF番号、情報種別としてのPUFを示す情報、及び通知元であるスレーブチップ20-2を示す情報を、セキュア記憶部122に記憶させる。セキュアエレメント12は、スレーブチップ20-3の暗号鍵の番号、情報種別としての暗号鍵を示す情報、及び通知元であるスレーブチップ20-3を示す情報を、セキュア記憶部122に記憶させる。
【0041】
マスタチップ11の機能制御部116は、設定部114の機能を削除する(ステップS6)。機能制御部116は、例えば、設定部114の機能に対応するプログラムを、記憶部112から削除することにより、設定部114の機能を削除する。
【0042】
(マスタ基板10Bの構成)
図6は、実施形態に係るマスタ基板10Bの構成の例を示すブロック図である。
【0043】
マスタチップ11は、例えば、通信部111と、記憶部112と、取得部113と、判定部115と、機能制御部116とを備える。つまり、マスタ基板10Bにおいて、マスタチップ11は、設定部114を備えていない。ステップS6に示したように、事前設定処理において識別情報がセキュアな記憶領域に記憶された後、設定部114の機能が削除されたためである。
【0044】
一方、マスタ基板10Bにおいて、セキュアエレメント12のセキュア記憶部122には、判定情報1221~1223が記憶されている。ステップS5に示したように、事前設定処理において、真贋判定処理に用いられる識別情報がセキュアな記憶領域に記憶されたためである。
【0045】
図7図7A図7C)は、セキュア記憶部122に記憶される情報の例を示す図である。図7のそれぞれに示すように、真贋判定処理に用いられる識別情報として、チップ番号と、複数の情報種別(識別情報1、識別情報2…)のそれぞれに対応する情報が記憶される。チップ番号は、真贋判定処理の対象とするスレーブチップ20のチップ番号である。識別情報は、真贋判定処理に用いられる識別情報である。
【0046】
図7に示すように、真贋判定処理に用いられる識別情報として、複数の識別情報が記憶されるようにしてもよい。この場合、例えば、ステップS1~S5に示した処理を、複数の種別のそれぞれに応じて繰り返すことによってセキュア記憶部122に複数の識別情報が記憶される。
【0047】
図7Aに示すように、判定情報1221には、チップ番号として「スレーブチップ1」が記憶され、識別情報として、情報種別としてのIDを示す情報、識別情報としての具体的なIDの番号を示す情報が記憶される。
図7Bに示すように、判定情報1222には、チップ番号として「スレーブチップ2」が記憶され、識別情報として、情報種別としてのPUFを示す情報、識別情報としての具体的なPUFの番号を示す情報が記憶される。
図7Cに示すように、判定情報1223には、チップ番号として「スレーブチップ3」が記憶され、識別情報として、情報種別としての暗号鍵を示す情報、識別情報としての具体的な暗号鍵の番号を示す情報が記憶される。
【0048】
図6に戻り、判定部115は、真贋判定処理を行う。判定部115は、真贋判定処理において、スレーブチップ20から通知された特定の識別情報を、取得部113を介して取得する。判定部115は、スレーブチップ20から通知された識別情報が、セキュア記憶部122に記憶されているか否かを判定する。判定部115は、スレーブチップ20から通知された識別情報がセキュア記憶部122に記憶されている場合、その識別情報を通知してきたスレーブチップ20が正当なICチップであると判定する。一方、判定部115は、スレーブチップ20から通知された識別情報がセキュア記憶部122に記憶されていない場合、その識別情報を通知してきたスレーブチップ20が正当なICチップでないと判定する。
【0049】
(真贋判定処理の流れ)
ここで、真贋判定処理の流れについて図8を用いて説明する。図8は、真贋判定処理の流れを示すシーケンス図である。
【0050】
まず、マスタチップ11は、スレーブチップ20に識別情報を通知するように要求する(ステップS101)。マスタチップ11は、事前設定処理におけるステップS1で決定した種別の識別情報を通知するようにスレーブチップ20に要求する。ステップS101に示す処理は、事前設定処理におけるステップS2に示した処理と同様である。
【0051】
スレーブチップ20は、識別情報をマスタチップ11に送信する(ステップS102)。ステップS102に示す処理は、事前設定処理におけるステップS3に示した処理と同様である。
【0052】
マスタチップ11の判定部115は、セキュアな記憶領域(セキュア記憶部122)にすでに記憶された識別情報を読出すように、セキュアエレメント12に指示する(ステップS103)。マスタチップ11は、識別情報を読出す対象とするスレーブチップ20の番号、及び読出す識別情報の種別を含む読出しコマンドを生成し、生成した読出しコマンドをセキュアエレメント12に送信する。これにより、判定部115は識別情報の読出しを指示する。
例えば、判定部115は、スレーブチップ20-1の番号、情報種別としてのIDを示す情報を含む読出しコマンドをセキュアエレメント12に送信する。設定部114は、スレーブチップ20-2の番号、情報種別としてのPUFを示す情報を含む読出しコマンドをセキュアエレメント12に送信する。設定部114は、スレーブチップ20-3の番号、情報種別としての暗号鍵を示す情報を含む読出しコマンドをセキュアエレメント12に送信する。
【0053】
セキュアエレメント12は、マスタチップ11から受信した読出しコマンドにしたがってセキュア記憶部122に識別情報を記憶させる(ステップS104)。
例えば、セキュアエレメント12は、スレーブチップ20-1の識別情報を要求する読出しコマンドに応じて、スレーブチップ20-1のID番号をマスタチップ11に送信する。セキュアエレメント12は、スレーブチップ20-2の識別情報を要求する読出しコマンドに応じて、スレーブチップ20-2のPUF番号をマスタチップ11に送信する。セキュアエレメント12は、スレーブチップ20-3の識別情報を要求する読出しコマンドに応じて、スレーブチップ20-3の暗号鍵の番号を示す情報を、マスタチップ11に送信する。
【0054】
マスタチップ11の判定部115は、真贋判定を行う(ステップS105)。判定部115は、スレーブチップ20から通知された識別情報が、セキュア記憶部122に記憶された識別情報と一致した場合、その識別情報を通知してきたスレーブチップ20が正当なICチップであると判定する。一方、判定部115は、スレーブチップ20から通知された識別情報が、セキュア記憶部122に記憶された識別情報と一致しない場合、その識別情報を通知してきたスレーブチップ20が正当なICチップでないと判定する。
【0055】
この場合において、判定部115は、複数の識別情報の組合せを用いて真贋判定を行うようにしてもよい。
この場合、判定部115は、ステップS101~S102に示した処理を、真贋判定に用いる識別情報の数に応じて繰り返すことによってスレーブチップ20から複数の識別情報を取得する。
次に、判定部115は、ステップS103~S104に示した処理を、真贋判定に用いる識別情報の数に応じて繰り返すことによって、セキュア記憶部122に記憶された複数の識別情報を取得する。
そして、判定部115は、ステップS105において、スレーブチップ20から通知された複数の識別情報の組合せが、セキュア記憶部122に記憶された識別情報の組合せと一致した場合、その複数の識別情報を通知してきたスレーブチップ20が正当なICチップであると判定する。一方、判定部115は、スレーブチップ20から通知された識別情報の組合せが、セキュア記憶部122に記憶された識別情報の組合せと一致しない場合、その複数の識別情報を通知してきたスレーブチップ20が正当なICチップでないと判定する。
【0056】
判定部115は、例えば、以下の何れかのタイミングで真贋判定処理を行う。
(a)定期的(例えば、1日に1回)に行う
(b)マスタチップ11がスレーブチップ20との通信を行う最初のステップに行う
【0057】
また、判定部115は、識別情報として、スレーブチップ20の暗号鍵を取得した場合、真贋判定処理と共に、或いは、真贋判定処理に代えて、暗号鍵を用いた暗号化通信を行うようにしてもよい。
【0058】
或いは、判定部115は、識別情報として、スレーブチップ20の電子証明書を取得した場合、真贋判定処理と共に、或いは、真贋判定処理に代えて、電子証明書を用いた認証を行うようにしてもよい。
【0059】
判定部115は、真贋判定処理の結果、スレーブチップ20が正当なICチップであると判定した場合、スレーブチップ20との通信を継続し、例えば、スレーブチップ20に撮像を行うように指示したり、スレーブチップ20が撮像した撮像データを受信したりする。
【0060】
一方、判定部115は、真贋判定処理の結果、スレーブチップ20が正当なICチップでないと判定した場合、スレーブチップ20との通信を停止し、例えば、デバイス装置1を管理するデータセンタ(不図示)に、不正なスレーブチップ20が検出された旨のアラートを通知する。
【0061】
このように、本実施形態では、マスタチップ11が、スレーブチップ20の識別情報を用いて、スレーブチップ20の真贋判定を行う。真贋判定に用いられる識別情報は、例えばID、PUF、ロット番号など、必ずしも秘匿にする必要がない汎用な情報から選択される情報が含まれる。これらの汎用な情報は、スレーブチップ20の記憶部202に記憶され、通常、セキュアな記憶領域には記憶されない。このため、マスタチップ11に限らず、任意の装置が、スレーブチップ20の識別情報を取得することが可能である。
しかしながら、複数あるスレーブチップ20の識別情報を何れ用いてスレーブチップ20の真贋判定を行うかは、マスタチップ11しか判らない。このため、デバイス装置1に不正なICチップを混入させようと考えた第三者は、真贋判定が行われること、及び真贋判定処理に用いられる識別情報がどの情報であるのかを知ることはできない。このため、不正なICチップが有する複数の識別情報の何れを書き換えようとは思わない。この結果、デバイス装置1に不正なICチップが混入された場合、真贋判定処理において、不正なICチップが、正当なスレーブチップ20ではないと判定され、データの改ざん、或いはデータ傍受を未然に防ぐことができる。
【0062】
以上説明したように、実施形態のデバイス装置1は、マスタチップ11と、スレーブチップ20とを備える。スレーブチップ20は、記憶部202を有する。記憶部202は、スレーブチップ20を識別可能な識別情報を複数記憶する。マスタチップ11は、設定部114と、判定部115を有する。設定部114は、スレーブチップ20が記憶する複数の識別情報から選択した識別情報を、セキュア記憶部122(セキュアな記憶領域)に記憶させる。判定部115は、スレーブチップ20から通知された特定の識別情報が、セキュア記憶部122に記憶されているか否かに基づいて、スレーブチップ20の真贋判定を行う。
【0063】
これにより、実施形態のデバイス装置1では、スレーブチップ20の識別情報を用いて真贋判定を行うことができる。真贋判定に用いられる識別情報は、スレーブチップ20に記憶される複数の識別情報が選択された情報である。複数ある識別情報を何れ用いてスレーブチップ20の真贋判定を行うかは、マスタチップ11しか判らない。このため、不正なICチップが混入された場合であっても、その不正なICチップが正当なスレーブチップ20ではないことが容易に判定できる。しかも、スレーブチップ20が、暗号化復号処理や認証処理などのプログラムや、その処理に用いる暗号鍵や電子証明書を秘匿に記憶させておくためのセキュアな記憶領域を有していなくとも、真贋判定を行うことができる。したがって、装置コストを増大させることなく通信先のICチップを検証することができる。
【0064】
また、実施形態のデバイス装置1では、設定部114は、スレーブチップ20が記憶する識別情報から選択された複数の識別情報の組合せを前記セキュアな記憶領域に記憶させる。判定部115は、スレーブチップ20から通知された特定の複数の識別情報の組合せが、セキュア記憶部122に記憶されているか否かに基づいて、スレーブチップ20の真贋判定を行う。これにより、実施形態のデバイス装置1では、複数の識別情報の組合せに基づいて真贋判定を行うことができる。したがって、第三者は、真贋判定に用いられる識別情報が判らないことに加えて、真贋判定に用いられる識別情報の組合せを解明するには相当な困難が伴う。このため、真贋判定に用いられる識別情報の組合せが第三者に知られることはほとんどあり得ない。したがって、真贋判定の精度をさらに向上させることができる。
【0065】
また、実施形態のデバイス装置1では、機能制御部116を更に備える。機能制御部116は、設定部114によってセキュア記憶部122に識別情報が記憶された後に、設定部114の機能に対応するプログラムを削除する。これにより、実施形態のデバイス装置1では、事前設定処理の後に、セキュア記憶部122に情報を書込んだり、書換えたりすることができなくなる。このため、不正なICチップを混入させると共に、セキュア記憶部122に記憶された識別情報を、不正なICチップの識別情報に書換えることがほぼ不可能となる。したがって、真贋判定の精度をさらに向上させることができる。
【0066】
(実施形態の変形例)
ここで、実施形態の変形例について説明する。本変形例では、事前設定処理が行われた後に、新たに識別情報を設定可能な点において上述した実施形態と相違する。
【0067】
例えば、デバイス装置1を出荷した後に、デバイス装置1に搭載された複数のICチップの一部のチップが故障する等してメンテナンスが行われ、ICチップを交換したり、デバイス装置1にICチップを増設したりする場面が予想される。この場合、実施形態のデバイス装置1には、今回のメンテナンスにより交換されたICチップ、或いは追加されたICチップの認証情報がセキュア記憶部122に記憶されていないため、これらのICチップの真贋判定処理を行うことができない。この対策として、本変形例では、事前設定処理が行われた後に、新たに識別情報を設定可能な構成とした。
【0068】
図9は、実施形態の変形例に係るデバイス装置1を説明する図である。図9に示すように、デバイス装置1は、外部サーバ100と通信可能に接続される。外部サーバ100は、正規の工場や製造メーカ、或いは製造メーカ、サービスプロバイダなどによって管理される特定のサーバ装置である。例えば、メンテナンスにおいて、デバイス装置1が工場に返品された際に、その工場が管理する装置を、外部サーバ100として用いることができる。
【0069】
外部サーバ100は、デバイス装置1と通信を行い、マスタチップ11に、更新部の機能を実現するプログラムをインストールする。更新部は、セキュア記憶部122に記憶された識別情報を更新する機能を有する。
【0070】
ここで、識別情報を更新する処理の流れについて、図10及び図11を用いて説明する。図10及び図11は、識別情報を更新する処理の流れを示すシーケンス図である。
【0071】
図10に示す通り、外部サーバ100は、マスタチップ11に、更新部の機能を実現するプログラムをインストールするように要求する(ステップS201)。マスタチップ11の機能制御部116は、外部サーバ100からの要求に応じて、更新部の機能を実現するプログラムをインストールする(ステップS202)。例えば、機能制御部116は、外部サーバ100から通知されたプログラムを記憶部112に記憶させることにより、更新部の機能を実現するプログラムをインストールする。
マスタチップ11は、インストールしたプログラムを実行することにより、更新部の機能を実現し、更新部によって真贋判定に用いる識別情報を更新する。
【0072】
図11には、マスタチップ11が真贋判定に用いる識別情報を更新する処理の流れが示されている。図11のスレーブチップ20は、新たに真贋判定処理を行う対象となるICチップである。
【0073】
ステップS301からステップS303に示す処理は、事前設定処理におけるステップS1~S3と同様である。
ステップS304において、マスタチップ11の更新部は、セキュア記憶部122に記憶された特定の識別情報を更新する記憶するようにセキュアエレメント12に指示する。更新部は、更新する識別情報、識別情報の種別、通知元のスレーブチップ20を示す情報を含む書込みコマンドを生成し、生成した書込みコマンドをセキュアエレメント12に送信する。これにより、更新部は識別情報の更新を指示する。
例えば、スレーブチップ2に相当するスレーブチップ20-2の識別情報を、交換後のスレーブチップ20-2のPUFに更新する場合、更新部は、スレーブチップ20-2のPUF番号、情報種別としてのPUFを示す情報、及び通知元であるスレーブチップ20-2を示す情報を含む書込みコマンドをセキュアエレメント12に送信する。
【0074】
セキュアエレメント12は、マスタチップ11から受信した書込みコマンドにしたがってセキュア記憶部122に記憶された識別情報を更新する(ステップS305)。例えば、セキュアエレメント12は、セキュア記憶部122の判定情報1222に、交換後のスレーブチップ20-2のPUF番号、情報種別としてのPUFを示す情報、及び通知元であるスレーブチップ20-2を示す情報を上書きすることにより、識別情報を更新する。
【0075】
マスタチップ11の機能制御部116は、更新部の機能を削除する(ステップS306)。機能制御部116は、例えば、更新部の機能に対応するプログラムを、記憶部112から削除することにより、更新部の機能を削除する。
【0076】
なお、更新部は、セキュア記憶部122に新規に識別情報を記憶する機能を有していてもよい。この場合、図11に示す処理と同様の処理を行うことにより、更新部は、セキュア記憶部122に新規に識別情報を記憶することができる。
【0077】
また、更新部は、セキュア記憶部122に記憶された識別情報を消去する機能を備えていてもよい。この場合、更新部は、セキュアエレメント12に、セキュア記憶部122に記憶された識別情報を消去するコマンドを送信することにより、セキュアエレメント12にセキュア記憶部122に記憶された識別情報を消去させる。
【0078】
また、ICチップを交換しない場合であっても、真贋判定処理に用いる識別情報を変更する、例えば、IDを用いて真贋判定を行っていたが、PUFを用いて真贋判定を行うように変更する場合に更新部の機能を用いることが可能である。この場合、図11に示す処理と同様の処理を行うことにより、更新部は、セキュア記憶部122に記憶された識別情報を変更することができる。
【0079】
以上説明したように、本実施形態の変形例に係るデバイス装置1では、機能制御部116は、外部サーバ100(特定の外部サーバ)からの要求に応じて更新部の機能に対応するプログラムをインストールする。更新部は、スレーブチップ20が記憶する識別情報から新たに選択された識別情報を、セキュア記憶部122に記憶する。これにより、実施形態のデバイス装置1では、真贋判定に用いる識別情報を、変更したり、更新したり、追加したりすることができる。したがって、メンテナンス等に伴ってICチップが交換されたり、追加されたりした場合に対応することが可能となる。また、真贋判定に用いる識別情報を変更することもできる。このため、デバイス装置1に搭載されるICチップが変更されるなど、状況が変化した場合であっても柔軟に対応することが可能となる。
【0080】
また、本実施形態の変形例に係るデバイス装置1では、機能制御部116は、更新部によってセキュア記憶部122に識別情報が記憶された後に、更新部の機能に対応するプログラムを削除する。これにより、実施形態の変形例に係るデバイス装置1では、セキュア記憶部122に情報を書込んだり、書換えたりすることができないようにして、真贋判定の精度をさらに向上させることができる。
【0081】
上述した実施形態におけるデバイス装置1、及びマスタチップ11の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0082】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0083】
1…デバイス装置
10…マスタ基板
11…マスタチップ
12…セキュアエレメント
20…スレーブチップ
113…取得部
114…設定部
115…判定部
116…機能制御部
122…セキュア記憶部
202…記憶部
2021…ID情報(識別情報)
2022…PUF情報(識別情報)
2023…暗号鍵情報(識別情報)
図1
図2
図3
図4A
図4B
図4C
図5
図6
図7A
図7B
図7C
図8
図9
図10
図11