JP6987112B2 - 集積回路 - Google Patents

集積回路 Download PDF

Info

Publication number
JP6987112B2
JP6987112B2 JP2019218050A JP2019218050A JP6987112B2 JP 6987112 B2 JP6987112 B2 JP 6987112B2 JP 2019218050 A JP2019218050 A JP 2019218050A JP 2019218050 A JP2019218050 A JP 2019218050A JP 6987112 B2 JP6987112 B2 JP 6987112B2
Authority
JP
Japan
Prior art keywords
data
encryption
storage device
encrypted
puf
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.)
Active
Application number
JP2019218050A
Other languages
English (en)
Other versions
JP2021090094A (ja
Inventor
将 藤浪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2019218050A priority Critical patent/JP6987112B2/ja
Publication of JP2021090094A publication Critical patent/JP2021090094A/ja
Application granted granted Critical
Publication of JP6987112B2 publication Critical patent/JP6987112B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

この発明は、PUF(Physically Unclonable Function)技術を用いた集積回路に関する。
集積回路の個体毎の電子回路の差異を利用してその個体に固有の値を出力するPUFと呼ばれる技術がある。特許文献1には、PUFによって出力された固有の値を用いてデータを暗号化することが記載されている。PUFによって出力された固有の値を用いてデータを暗号化することにより、データの安全性を高くすることが可能である。
PUF部及び不揮発性記憶領域を有する集積回路がある。この集積回路は、PUF部を用いて個体固有の鍵を生成し、生成された鍵を使用して不揮発性記憶領域に暗号化されたデータを記憶する。
指紋認証機能を有する携帯端末等には、指紋認証用の集積回路としてこの集積回路が搭載される。指紋認証用の集積回路は、不揮発性記憶領域に指紋データを暗号化された上で記憶する。外部の装置は、指紋認証用の集積回路との間でチャレンジレスポンス認証を行うことにより、指紋認証を行う。
特開2016−018257号公報
従来の集積回路は内部に不揮発性記憶領域を設けることにより、データの安全性を高くしていた。しかし、従来の集積回路は内部に不揮発性記憶領域が備えられているため、記憶領域を大きくすることが困難であった。
この発明は、記憶装置を集積回路の外部に設けつつ、データの安全性を確保できるようにすることを目的とする。
この発明に係る集積回路は、
プロセッサと、PUF(Physically Unclonable Function)部と、暗号処理部とを備える集積回路であり、
前記暗号処理部は、前記プロセッサによる外部の記憶装置へのデータの書き込み指示が検出されると、前記PUF部によって発行されたPUF鍵により前記データを暗号化して暗号化データを生成し、前記暗号化データを前記記憶装置に書き込む。
この発明は、プロセッサによる外部の記憶装置へのデータの書き込み指示が検出されると、PUF部によって発行されたPUF鍵によりデータを暗号化して暗号化データを生成し、暗号化データを記憶装置に書き込む。これにより、記憶装置を集積回路の外部に設けても、集積回路の外部に平文状態のデータが出ることがなく、データの安全性を確保できる。
実施の形態1に係るデータ処理装置1の構成図。 実施の形態1に係る集積回路10のデータ書き込み時の処理のフローチャート。 実施の形態1に係る集積回路10のデータ読み込み時の処理のフローチャート。 実施の形態2に係るデータ処理装置1の生産システム2の構成図。 実施の形態2に係る生産システム2の生産時の処理のフローチャート。 実施の形態2に係る図5の処理によって生産されたデータ処理装置1の起動時の処理のフローチャート。 実施の形態3に係る更新システム4の構成図。 実施の形態3に係るデータ処理装置1の構成図。 実施の形態3に係るデータ配信装置5によって管理されるデータの説明図。 実施の形態3に係るデータ処理装置1の不揮発性記憶装置22に記憶されるデータの説明図。 実施の形態3に係る更新システム4の更新処理のフローチャート。
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係るデータ処理装置1の構成を説明する。
データ処理装置1は、集積回路10と、記憶装置20とを備える。
集積回路10は、プロセッサ11と、制御部12と、暗号処理部13と、PUF部14とを備える。プロセッサ11と、制御部12と、暗号処理部13と、PUF部14とは、電子回路によって構成される。プロセッサ11は、制御部12及び暗号処理部13と信号線によって接続されている。制御部12は暗号処理部13と信号線によって接続されている。制御部12及び暗号処理部13は、PUF部14と信号線によって接続されている。
記憶装置20は、主記憶装置21と、不揮発性記憶装置22とを備える。主記憶装置21は、具体例としては、RAM(Random Access Memory)である。また、不揮発性記憶装置22は、具体例としては、フラッシュメモリである。主記憶装置21と不揮発性記憶装置22との間は、DMA(Direct Memory Access)転送によってデータ転送がされる。
***動作の説明***
実施の形態1では、データ処理装置1が既に起動しており、PUF部14によってPUF鍵が発行され、PUF鍵が暗号処理部13の内部メモリに設定されているものとする。PUF鍵は、個体毎の電子回路の差異を利用して得られた集積回路10に固有の値から生成された鍵である。
図2を参照して、実施の形態1に係る集積回路10のデータ書き込み時の処理を説明する。
(ステップS11:書き込み指示処理)
プロセッサ11は、記憶装置20から実行対象のプログラムを読み出し、実行する。ここで、プログラムの読み込みは、後述するデータ読み込み時の処理によって実現される。
プロセッサ11は、プログラムを実行して得られたデータを記憶装置20に書き込む書き込み指示を出力する。
(ステップS12:指示検出処理)
制御部12は、ステップS11で出力された書き込み指示を検出する。すると、制御部12は、検出された書き込み指示で記憶装置20に書き込もうとしているデータの暗号化を暗号処理部13に指示する。
(ステップS13:暗号化処理)
暗号処理部13は、ステップS12で暗号化が指示されると、書き込み指示で記憶装置20に書き込もうとしているデータをPUF鍵により暗号化して暗号化データを生成する。ここでは、暗号処理部13は、暗号化には、AES(Advanced Encryption Standard)といった共通鍵暗号方式を用いる。
そして、暗号処理部13は、暗号化データを記憶装置20の主記憶装置21に書き込む。その後、主記憶装置21から不揮発性記憶装置22へDMA転送によって暗号化データが転送されるように構成してもよい。
図3を参照して、実施の形態1に係る集積回路10のデータ読み込み時の処理を説明する。
(ステップS21:読み込み指示処理)
プロセッサ11は、記憶装置20からデータの読み込み指示を出力する。
ここで、データは、上述したデータ書き込み時であればプログラムである。データは、プログラムに限らず、実行されるプログラムの処理で要求されたデータの場合もある。
(ステップS22:指示検出処理)
制御部12は、ステップS21で出力された読み込み指示を検出する。すると、制御部12は、検出された読み込み指示で記憶装置20から読み込むデータの復号を暗号処理部13に指示する。
(ステップS23:復号処理)
暗号処理部13は、ステップS22で復号が指示されると、読み込み指示で記憶装置20から読み込もうとしているデータを、主記憶装置21から読み出す。この際、必要に応じて、不揮発性記憶装置22から主記憶装置21へDMA転送によってデータが転送される。
そして、暗号処理部13は、読み込まれたデータをPUF鍵により復号して平文データを生成する。暗号処理部13は、平文データをプロセッサ11に出力する。
***実施の形態1の効果***
以上のように、実施の形態1に係るデータ処理装置1では、制御部12が記憶装置20にデータを書き込むことを検出すると、暗号処理部13は、PUF鍵でデータを暗号化した上で記憶装置20に書き込む。これにより、集積回路10の外部に出力されるデータはPUF鍵で暗号化されたデータとなる。
そのため、記憶装置20を集積回路10の外部に設けても、集積回路10の外部に平文状態のデータが出ることがなく、データの安全性を確保できる。
また、実施の形態1に係るデータ処理装置1では、暗号処理部13は、記憶装置20からデータを読み込むことが検出されると、PUF鍵でデータを復号してプロセッサ11に出力する。
そのため、プロセッサ11で実行されるプログラムの処理は、暗号化及び復号を考慮する必要がない。
実施の形態2.
実施の形態2では、データ処理装置1の生産及び起動について説明する。実施の形態2では、実施の形態1と同一の点については説明を省略する。
データ処理装置1の生産とは、データ処理装置1の記憶装置20に初期設定データを設定することである。実施の形態2では、初期設定データは、生産後のデータ処理装置1を制御するための制御プログラムである。
***構成の説明***
図4を参照して、実施の形態2に係るデータ処理装置1の生産システム2の構成を説明する。
生産システム2は、生産対象のデータ処理装置1と、生産装置3とを備える。生産対象のデータ処理装置1と、生産装置3とは、通信路を介して接続されている。
生産装置3は、コンピュータである。生産装置3は、生産対象のデータ処理装置1の記憶装置20に初期設定データを設定する装置である。
***動作の説明***
実施の形態2では、暗号処理部13による暗号化処理及び復号処理の有効化を制御部12が制御する。具体的には、制御部12は、暗号化ENABLE信号を暗号処理部13に出力することにより暗号化処理を有効化し、復号ENABLE信号を暗号処理部13に出力することにより復号処理を有効化する。暗号化ENABLE信号が出力されていない場合には、暗号化処理は無効化され、復号ENABLE信号が出力されていない場合には、復号処理は無効化される。
つまり、暗号化ENABLE信号が出力されている場合には、データが暗号化された上で記憶装置20に書き込まれ、暗号化ENABLE信号が出力されていない場合には、データが平文のまま記憶装置20に書き込まれる。また、復号ENABLE信号が出力されている場合には、読み出されたデータが復号されて出力され、復号ENABLE信号が出力されていない場合には、読み出されたデータがそのまま出力される。
ここで、制御部12は、暗号化処理を有効化している場合にのみ、復号処理を有効化できるように構成されている。
図5を参照して、実施の形態2に係る生産システム2の生産時の処理を説明する。
(ステップS31:製品前設定プログラム設定処理)
生産装置3は、平文の初期設定データと、平文の製品後初期設定プログラムとをデータ処理装置1の記憶装置20の不揮発性記憶装置22に書き込む。
また製品前設定プログラムが平文の状態でデータ処理装置1の不揮発性記憶装置22に予め記憶される。製品前設定プログラムは、製品化前の初期設定を行うためのプログラムであり、集積回路10に対してその集積回路10に固有のPUF鍵を発行させ、PUF鍵により入力されたデータを暗号化して暗号化データを生成し、暗号化データを記憶装置20に書き込む。製品前設定プログラムは、初期設定完了後、プロセッサ11により削除するように予め制御されている。
初期設定データは、上述した通り、生産後のデータ処理装置1を制御するための制御プログラムである。制御プログラムには、ブートローダと、ファームウェアと、アプリケーションプログラムとが含まれている。なお、初期設定データに制御プログラムの処理に必要なデータが含まれていてもよい。
(ステップS32:製品前設定プログラム実行処理)
生産装置3は、データ処理装置1の不揮発性記憶装置22に記憶された製品前設定プログラムの実行を集積回路10に指示する。すると、集積回路10のプロセッサ11は、不揮発性記憶装置22に記憶された製品前設定プログラムを読み出して実行する。
具体的には、プロセッサ11は、製品前設定プログラムの読み込み指示を出力して、製品前設定プログラムを取得する。つまり、図3を参照して説明した処理が実行され、製品前設定プログラムが取得される。なお、この時点では、初期段階であり制御部12は、暗号ENABLE及び復号ENABLE信号を出力していないため、暗号化処理及び復号処理は無効化されている。したがって、暗号処理部13は、読み出された製品前設定プログラムに対して復号処理を行わず、そのままプロセッサ11に出力する。製品前設定プログラムは平文で記憶されているため、プロセッサ11は平文の製品前設定プログラムを取得する。そして、プロセッサ11は、取得された製品前設定プログラムを実行する。
製品前設定プログラムが実行されると、製品前設定プログラムの制御に従い以下のステップS321からステップS323の処理が実行される。
(ステップS321:初期化処理)
集積回路10のリセット信号が解除され、プロセッサ11が初期化され、PUF部14が起動する。PUF部14は起動すると、PUF鍵を生成して、暗号処理部13に出力する。暗号処理部13は、PUF鍵を内部メモリに設定する。暗号処理部13は、PUF鍵の補助情報を生成して、平文のままの補助情報を記憶装置20の主記憶装置21に書き込む。この際、主記憶装置21から不揮発性記憶装置22へDMA転送によって補助情報が転送される。
補助情報は、PUF部14がPUF鍵を生成する度に、同じPUF鍵が生成されるようにするための情報である。補助情報は、具体例としては、誤り訂正符号である。
(ステップS322:第1有効化処理)
プロセッサ11は、制御部12に対して、暗号化処理を有効化するとともに復号処理を無効化する。
具体的には、制御部12は、復号処理を有効にする復号ENABLE信号を暗号処理部13に出力せず、暗号化処理を有効化する暗号化ENABLE信号だけを暗号処理部13に出力する。これにより、暗号処理部13は、記憶装置20にデータを書き込む際に暗号化処理は行うが、記憶装置20からデータを読み込んだ際に復号処理は行わない状態になる。
(ステップS323:初期設定データ設定処理)
プロセッサ11は、不揮発性記憶装置22に記憶された初期設定データの読み込み指示を出力して、初期設定データを取得する。つまり、図3を参照して説明した処理が実行され、初期設定データが取得される。ここでは、復号ENABLE信号は出力され、復号処理は無効化されている。したがって、暗号処理部13は、読み出された初期設定データに対して復号処理を行わず、そのままプロセッサ11に出力する。初期設定データは平文で記憶されているため、プロセッサ11は平文の初期設定データを取得する。
次に、プロセッサ11は、初期設定データを記憶装置20に書き込む書き込み指示を出力する。すると、図2を参照して説明した処理が実行され、初期設定データが記憶装置20に書き込まれる。ここでは、暗号化ENABLE信号は出力され、暗号化処理は有効化されている。したがって、暗号処理部13は、初期設定データをPUF鍵で暗号化して暗号化設定データを生成し、暗号化設定データを主記憶装置21に書き込む。その後、主記憶装置21から不揮発性記憶装置22へDMA転送によって暗号化設定データが転送される。
(ステップS33:製品前設定プログラム削除処理)
プロセッサ11は、不揮発性記憶装置22に記憶された製品前設定プログラムを削除する。
図6を参照して、図5の処理によって生産されたデータ処理装置1の起動時の処理を説明する。
(ステップS41:製品後初期設定プログラム実行処理)
集積回路10のプロセッサ11は、不揮発性記憶装置22に記憶された製品後初期設定プログラムを読み出して実行する。
具体的には、プロセッサ11は、製品後初期設定プログラムの読み込み指示を出力して、製品後初期設定プログラムを取得する。つまり、図3を参照して説明した処理が実行され、製品後初期設定プログラムが取得される。なお、この時点では、制御部12は、暗号ENABLE信号及び復号ENABLE信号を出力していないため、暗号化処理及び復号処理は無効化されている。したがって、暗号処理部13は、読み出された製品後初期設定プログラムに対して復号処理を行わず、そのままプロセッサ11に出力する。製品後初期設定プログラムは平文で記憶されているため、プロセッサ11は平文の製品後初期設定プログラムを取得する。そして、プロセッサ11は、取得された製品後初期設定プログラムを実行する。
製品後初期設定プログラムが実行されると、製品後初期設定プログラムの制御に従い以下のステップS411及びステップS412の処理が実行される。
(ステップS411:初期化処理)
集積回路10のリセット信号が解除され、プロセッサ11が初期化され、PUF部14が起動する。プロセッサ11は、補助情報の読み出し指示を出力して、補助情報を取得する。つまり、図3を参照して説明した処理が実行され、補助情報が取得される。製品後初期設定プログラムと同様に、補助情報は平文で記憶されており、プロセッサ11は平文の補助情報を取得する。そして、プロセッサ11は、制御部12を介して補助情報をPUF部14に設定する。PUF部14は、補助情報を用いてPUF鍵を生成して、暗号処理部13に出力する。補助情報を用いているため、生成されたPUF鍵は、図5のステップS321で生成されたPUF鍵と同一になる。暗号処理部13は、PUF鍵を内部メモリに設定する。
(ステップS412:第2有効化処理)
制御部12は、暗号化処理及び復号処理を有効化する。
具体的には、制御部12は、暗号化ENABLE信号及び復号ENABLE信号を暗号処理部13に出力する。これにより、暗号処理部13は、記憶装置20にデータを書き込む際に暗号化処理は行うとともに、記憶装置20からデータを読み込んだ際に復号処理は行う状態になる。
(ステップS42:制御プログラム実行処理)
集積回路10のプロセッサ11は、不揮発性記憶装置22に記憶された制御プログラムを読み出して実行する。制御プログラムは、暗号化設定データとして不揮発性記憶装置22に記憶されている。
具体的には、プロセッサ11は、制御プログラムの読み込み指示を出力して、制御プログラムを取得する。つまり、図3を参照して説明した処理が実行され、制御プログラムが取得される。なお、この時点では、制御部12は、暗号ENABLE及び復号ENABLE信号を出力しているため、暗号化処理及び復号処理は有効化されている。したがって、暗号処理部13は、読み出された暗号化設定データに対して復号処理を行い平文にした上で、プロセッサ11に出力する。これにより、プロセッサ11は平文の制御プログラムを取得する。そして、プロセッサ11は、取得された制御プログラムを実行する。
制御プログラムが実行されると、ブートローダが起動され、ファームウェアが起動され、アプリケーションプログラムが実行される。
***実施の形態2の効果***
以上のように、実施の形態2に係る生産システム2では、初期設置プログラムにより、暗号処理部13の暗号化処理及び復号処理の有効化を制御して、初期設定データをPUF鍵により暗号化した上で記憶装置20に書き込む。これにより、初期設定データが漏洩することを防止できる。特に、初期設定データはPUF鍵で暗号化されているため、集積回路10は、初期設定データを他のデータと同様に扱うことが可能である。
また、実施の形態2に係る生産システム2では、制御部12は、暗号化処理を有効化している場合にのみ、復号処理を有効化できるように構成されている。これにより、リバースエンジニアリング等により、記憶装置20に記憶されたデータを復号し平文にして、暗号化することなく平文のまま外部の装置に書き込むといったことが困難になる。
実施の形態3.
実施の形態3は、記憶装置20に記憶された対象データをリモート更新する点が実施の形態1,2と異なる。実施の形態3では、この異なる点を説明して、同一の点については説明を省略する。
***構成の説明***
図7を参照して、実施の形態3に係る更新システム4の構成を説明する。
更新システム4は、更新データの配信先装置となる1つ以上のデータ処理装置1と、データ配信装置5とを備える。更新データの配信先装置となるデータ処理装置1とデータ配信装置5とは、通信路を介して接続されている。
データ配信装置5は、コンピュータである。データ配信装置5は、データ処理装置1の記憶装置20に記憶された対象データを更新するための更新データを配信する装置である。
図8を参照して、実施の形態3に係るデータ処理装置1の構成を説明する。
データ処理装置1は、集積回路10が更新データ取得部15を備える点が図1に示すデータ処理装置1と異なる。更新データ取得部15は、電子回路によって構成される。更新データ取得部15は、プロセッサ11と信号線を介して接続されている。
なお更新データ取得部15は、ソフトウェアにより構成してもよい。
***動作の説明***
図9を参照して、データ配信装置5によって管理されるデータを説明する。
データ配信装置5は、バージョン毎に対応する暗号鍵を示す暗号鍵リストを管理する。暗号鍵はPUF鍵とは異なる鍵である。図9では、暗号鍵リストは、バージョン1からバージョンnそれぞれについて、対応する暗号鍵を管理している。
また、データ配信装置5は、最新の更新データと、最新の更新データによって更新された後の対象データのバージョンに対応する暗号鍵との組である組データを管理する。図9では、組データは、最新の更新データnと、更新データnによって更新された後の対象データのバージョンnに対応する暗号鍵EK(n)との組である。
図10を参照して、データ処理装置1の不揮発性記憶装置22に記憶されるデータを説明する。
不揮発性記憶装置22には、PUF鍵で暗号化された上で対象データが記憶されている。また、不揮発性記憶装置22には、対象データのバージョンに対応する暗号鍵がPUF鍵で暗号化された上で記憶されている。図10では、対象データはバージョンvであり、不揮発性記憶装置22には暗号鍵EK(v)がPUF鍵で暗号化された上で記憶されている。
対象データは、具体例としては、ファームウェアである。
図11を参照して、実施の形態3に係る更新システム4の更新処理を説明する。
ここでは、図9に示すデータがデータ配信装置5によって管理されており、図10に示すデータがデータ処理装置1の不揮発性記憶装置22に記憶されているとする。また、データ処理装置1は、暗号化処理及び復号処理が有効化されているとする。
(ステップS51:組データ取得処理)
データ配信装置5は、更新データn+1と暗号鍵KE(n+1)との組である新しい組データを取得する。
具体的には、更新データの管理者によって更新データn+1と暗号鍵KE(n+1)との組である新しい組データが作成される。そして、更新データの管理者によって、1つ前のバージョンnに対応する暗号鍵EK(n)で新しい組データが暗号化されて暗号化組データが生成され、暗号化組データが記憶媒体に書き込まれる。データ配信装置5は、暗号化組データを記憶媒体から読み出すことにより取得する。
(ステップS52:管理データ更新処理)
データ配信装置5は、バージョンnに対応する暗号鍵EK(n)を暗号鍵リストから取得し、暗号鍵EK(n)で暗号化組データを復号する。データ配信装置5は、復号して得られた更新データn+1と暗号鍵KE(n+1)との組である新しい組データにより、管理している組データを更新する。また、データ配信装置5は、復号して得られた暗号鍵KE(n+1)を、バージョンn+1に対応する暗号鍵として暗号鍵リストに加える。
更新データを配信する各データ処理装置1を対象としてステップS53からステップS55の処理が実行される。
(ステップS53:更新データ要求処理)
対象のデータ処理装置1では、更新データ取得部15は、記憶装置20に記憶された対象データのバージョンvを示すバージョン情報をデータ配信装置5に送信して、更新データの配信を要求する。
(ステップS54:更新データ配信処理)
データ配信装置5は、ステップS53で送信されたバージョン情報が示すバージョンvに対応する暗号鍵EK(v)を暗号鍵リストから取得する。データ配信装置5は、管理している組データを暗号鍵EK(v)で暗号化して暗号化組データを生成し、暗号化組データを対象のデータ処理装置1に配信する。
(ステップS55:データ更新処理)
対象のデータ処理装置1では、プロセッサ11は、不揮発性記憶装置22から暗号鍵EK(v)及び対象データの読み込み指示を出力して、暗号鍵EK(v)及び対象データを取得する。つまり、図3に示す処理が実行され、暗号鍵EK(v)及び対象データが取得される。ここでは、復号処理が有効化されているため、プロセッサ11はPUF鍵により復号された暗号鍵EK(v)及び対象データを取得する。プロセッサ11は、取得された暗号鍵EK(v)及び対象データを更新データ取得部15に出力する。
更新データ取得部15は、ステップS54で配信された暗号化組データを暗号鍵EK(v)で復号して、組データを生成する。更新データ取得部15は、組データに含まれる更新データn+1で対象データを更新する。これにより、対象データのバージョンがn+1になる。プロセッサ11は、バージョンn+1の対象データ及び暗号鍵EK(n+1)を記憶装置20に書き込む書き込み指示を出力する。すると、図2を参照して説明した処理が実行され、バージョンn+1の対象データ及び暗号鍵EK(n+1)が記憶装置20に書き込まれる。ここでは、暗号化処理は有効化されているため、バージョンn+1の対象データ及び暗号鍵EK(n+1)がPUF鍵で暗号化された上で記憶装置20に書き込まれる。なお、ここでは、バージョンvの対象データがバージョンn+1の対象データによって上書きされ、暗号鍵EK(v)が暗号鍵EK(n+1)によって上書きされるとする。
***実施の形態3の効果***
以上のように、実施の形態3に係る更新システム4は、更新データと更新データ配信用の暗号鍵とを組にして、配信先における対象データのバージョンに対応する暗号鍵で暗号化して配信する。これにより、更新データの配信のためにPUF鍵が漏洩の危険にさらされず、かつ、更新データの配信のために管理する暗号鍵の数が不要に増えることがない。
なお、データ処理装置1では、データはPUF鍵で暗号化して管理される。そのため、データ配信装置5が各データ処理装置1のPUF鍵を管理し、配信先のデータ処理装置1のPUF鍵で更新データを暗号化した上で配信するという方法が考えられる。しかし、この方法では、データ処理装置1のPUF鍵を集積回路10の外部に取り出すことになり、PUF鍵が漏洩の危険にさらされてしまう。また、更新データの配信先のデータ処理装置1の数が増えると、管理するPUF鍵の数も増えてしまう。
***他の構成***
<変形例1>
データ配信装置5は、暗号鍵リスト及び組データをデータ処理装置1を用いて管理してもよい。これにより、データ配信装置5は、暗号鍵リスト及び組データを安全に管理することが可能になる。
なお、暗号鍵リスト及び組データを管理するデータ処理装置1は、配信先装置となるデータ処理装置1とは別のデータ処理装置1である。
<変形例2>
実施の形態3では、バージョンvの対象データをバージョンn+1に更新するためには、更新データn+1だけがあればよかった。しかし、更新データが累積性を有する場合には、バージョンvの対象データをバージョンn+1に更新するためには、バージョンvよりも後の各更新データが必要になる。つまり、更新データv+1,v+2,...,更新データn,更新データn+1が必要になる。
この場合には、データ配信装置5は、バージョン毎に対応する更新データを管理しておく。そして、必要となる全ての更新データと、最新の暗号鍵との組を暗号化して配信すればよい。バージョンvの対象データをバージョンn+1に更新する場合には、データ配信装置5は、更新データv+1,更新データv+2,...,更新データn,更新データn+1と、暗号鍵EK(n+1)との組を、暗号鍵EK(v)で暗号化して配信すればよい。
<変形例3>
あるバージョンxよりも前の対象データを有するデータ処理装置1がないこと分かる場合には、データ配信装置5は、バージョンxよりも前のバージョンに対応する暗号鍵を削除してもよい。
<変形例4>
実施の形態3では、データ処理装置1の更新データ取得部15がバージョン情報をデータ配信装置5に送信するとした。しかし、データ配信装置5が各データ処理装置1のバージョン情報を管理してもよい。データ配信装置5が更新データを配信することにより、データ処理装置1の対象データが更新される。したがって、データ配信装置5は各データ処理装置1における対象データのバージョンを特定することが可能である。
以上、この発明の実施の形態及び変形例について説明した。これらの実施の形態及び変形例のうち、いくつかを組み合わせて実施してもよい。また、いずれか1つ又はいくつかを部分的に実施してもよい。なお、この発明は、以上の実施の形態及び変形例に限定されるものではなく、必要に応じて種々の変更が可能である。
1 データ処理装置、2 生産システム、3 生産装置、4 更新システム、5 データ配信装置、10 集積回路、11 プロセッサ、12 制御部、13 暗号処理部、14 PUF部、15 更新データ取得部、20 記憶装置、21 主記憶装置、22 不揮発性記憶装置。

Claims (4)

  1. プロセッサと、PUF(Physically Unclonable Function)部と、暗号処理部と、制御部とを備える集積回路であり、
    前記暗号処理部は、前記プロセッサによる外部の記憶装置へのデータの書き込み指示が検出されると、前記PUF部によって生成されたPUF鍵により前記データを暗号化して暗号化データを生成し、前記暗号化データを前記記憶装置に書き込み、前記プロセッサによる前記記憶装置からの暗号化データの読み出し指示が検出されると、前記PUF鍵によって前記暗号化データを復号して出力し、
    前記制御部は、前記暗号処理部の暗号化処理及び復号処理の有効化を制御する制御部であって、前記暗号化処理及び前記復号処理を無効化した状態と、前記暗号化処理だけを有効化した状態と、前記暗号化処理及び前記復号処理を有効化した状態とを切り替えて制御し、
    前記記憶装置には、前記PUF部に対して前記PUF鍵を生成させ、前記PUF鍵により初期設定データを暗号化して暗号化設定データを生成し、前記暗号化設定データを前記記憶装置に書き込む製品前設定プログラムが平文の状態で記憶されており、
    前記プロセッサは、起動時に前記製品前設定プログラムを実行し、
    前記制御部は、前記PUF鍵が生成されるまでは前記暗号化処理及び前記復号処理を無効化し、前記PUF鍵が生成されると前記暗号化処理を有効化するとともに前記復号処理を無効化する集積回路。
  2. 前記プロセッサは、前記製品前設定プログラムによって前記初期設定データが暗号化された暗号化データが前記記憶装置に書き込まれた後に、前記製品前設定プログラムを前記記憶装置から削除する
    請求項に記載の集積回路。
  3. 前記集積回路は、さらに、更新データ取得部を備え、
    前記記憶装置には、対象データが前記PUF鍵で暗号化された対象暗号化データと、前記対象データのバージョンに対応する暗号鍵とが記憶されており、
    前記更新データ取得部は、前記対象データのバージョンを示すバージョン情報をデータ配信装置に送信し、更新データと前記更新データによって前記対象データを更新した後の前記対象データのバージョンである新バージョンに対応する暗号鍵との組データが、前記バージョン情報が示すバージョンに対応する暗号鍵で暗号化された暗号化組データを取得する
    請求項1又は2に記載の集積回路。
  4. 前記暗号処理部は、前記更新データ取得部によって取得された前記暗号化組データを前記バージョン情報が示すバージョンに対応する暗号鍵で復号して前記組データを生成し前記組データに含まれる前記新バージョンに対応する暗号鍵を前記PUF鍵で暗号化した暗号鍵を前記記憶装置に書き込む
    請求項に記載の集積回路。
JP2019218050A 2019-12-02 2019-12-02 集積回路 Active JP6987112B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019218050A JP6987112B2 (ja) 2019-12-02 2019-12-02 集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019218050A JP6987112B2 (ja) 2019-12-02 2019-12-02 集積回路

Publications (2)

Publication Number Publication Date
JP2021090094A JP2021090094A (ja) 2021-06-10
JP6987112B2 true JP6987112B2 (ja) 2021-12-22

Family

ID=76220464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019218050A Active JP6987112B2 (ja) 2019-12-02 2019-12-02 集積回路

Country Status (1)

Country Link
JP (1) JP6987112B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4226760B2 (ja) * 2000-05-08 2009-02-18 株式会社東芝 マイクロプロセッサ、これを用いたマルチタスク実行方法、およびマルチレッド実行方法
US8533492B2 (en) * 2009-05-22 2013-09-10 Mitsubishi Electric Corporation Electronic device, key generation program, recording medium, and key generation method
EP3460705B1 (en) * 2017-09-25 2023-07-12 Siemens Aktiengesellschaft Distributed deployment of unique firmware
JP7042837B2 (ja) * 2017-10-31 2022-03-28 三菱重工機械システム株式会社 情報処理装置、情報処理装置の制御方法及びプログラム

Also Published As

Publication number Publication date
JP2021090094A (ja) 2021-06-10

Similar Documents

Publication Publication Date Title
KR100792287B1 (ko) 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치
US8170205B2 (en) Processor apparatus
US20040172538A1 (en) Information processing with data storage
JP6902584B2 (ja) ブートプログラム、情報処理装置、情報処理システム、情報処理方法、半導体装置、およびプログラム
JP2007027896A (ja) 通信カード、機密情報処理システム、機密情報転送方法およびプログラム
TW200937248A (en) Secure software download
CN102105883A (zh) 电子装置以及电子装置的软件或固件更新的方法
JP2009245227A (ja) 情報記憶装置
CN116011041B (zh) 密钥管理方法、数据保护方法、系统、芯片及计算机设备
WO2019142307A1 (ja) 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム
US10880082B2 (en) Rekeying keys for encrypted data in nonvolatile memories
EP2940621B1 (en) Apparatus, system, and method for controlling encryption and decryption with respect to a key
JP6987112B2 (ja) 集積回路
CN107995230A (zh) 一种下载方法及终端
US20080002826A1 (en) Copyright protection system, copyright protection device and video processing apparatus
JP2016181836A (ja) 情報処理装置、暗号装置、情報処理装置の制御方法、およびプログラム
JP6203532B2 (ja) 半導体記憶装置及びデータ処理システム
US11429722B2 (en) Data protection in a pre-operation system environment based on an embedded key of an embedded controller
US12045377B2 (en) Method and device for secured deciphering of ciphering data
CN113536331B (zh) 存储器和计算系统的数据安全
JP2019161370A (ja) 情報配信装置、配信対象装置、情報配信システム、情報配信方法及びプログラム
JP2018140500A (ja) 情報処理装置、印刷システムおよびプログラム
JP2004348526A (ja) Icカード、icカードプログラム及びコード部の入れ替え方法
JP2008003774A (ja) マイクロコンピュータ
CN115150085A (zh) 用于加密数据的安全解密的方法和设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210507

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211130

R150 Certificate of patent or registration of utility model

Ref document number: 6987112

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150