JPWO2010134192A1 - 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法 - Google Patents
電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法 Download PDFInfo
- Publication number
- JPWO2010134192A1 JPWO2010134192A1 JP2011514263A JP2011514263A JPWO2010134192A1 JP WO2010134192 A1 JPWO2010134192 A1 JP WO2010134192A1 JP 2011514263 A JP2011514263 A JP 2011514263A JP 2011514263 A JP2011514263 A JP 2011514263A JP WO2010134192 A1 JPWO2010134192 A1 JP WO2010134192A1
- Authority
- JP
- Japan
- Prior art keywords
- key
- generated
- unit
- electronic device
- generation unit
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3278—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
電子機器100は、鍵を用いた鍵使用処理を実行する。物理量生成部190は、電子機器の個体ごとに値が異なり、かつ、生成される度に値が異なる電子機器に固有の物理量を生成する。鍵生成部140は、物理量生成部190によって生成された物理量に基づいて、鍵使用処理が実行される度に、鍵使用処理の開始直前に、毎回、同一の鍵を生成する。鍵使用処理実行部1010は、鍵生成部140により生成された鍵を使用して、鍵付きハッシュ値の生成などの鍵使用処理を実行する。制御プログラム実行部180は、鍵使用処理が終了する度に、鍵生成部140により生成された鍵を消去する。
Description
本発明は、電子機器に内蔵されたプログラムやパラメータの模倣及び不正な書き換えを検知する機能を有する装置に関する。
ソフトウェアやパラメータを組み込んだ電子機器は、一般に組み込み機器、あるいは組み込みシステムと呼ばれる。組み込み機器は、家電、自動車、鉄道、工場生産設備等の核心部において、これらの家電や自動車等の制御を司っている。近年のモバイル化、情報化といった動きにより、組み込み機器は、急速に、ネットワーク化、高機能化、大規模化している。そして社会の基幹システムを支え、また、組み込み機器の適用範囲は、拡大の一途を辿っている。これらの状況の変化に伴い、組み込み機器のセキュリティに対する意識は、急速に高まりつつある。
組み込み機器がネットワークに接続されると、ネットワーク経由の脅威にさらされる。さらに、組み込み機器の特質として、組み込み機器は、組み込み機器の持ち主による搭載ソフトウェアやパラメータの不正取り出し、不正書き換え等が可能という脅威にされされている。電子機器(組み込み機器)のプログラムやパラメータが不正に改竄されると、製造者が意図しない挙動を示す。この結果、ハードウェアが許容限界を超えてしまう。このように、改竄は、電子機器の信頼性や安全性に大きな影響を与える。また、組み込み機器の機能の多くは、内蔵されたソフトウェアやパラメータによって実現される場合が多い。これらプログラム等の内容が、リバースエンジニアリング等によって漏洩するという危険もある。
電子機器に組み込まれたソフトウェアやパラメータに対する不正な書き換え(改竄)や、模倣あるいは内容の漏洩(プログラム、パラメータの取り出し)から保護するため、従来では、次のような方法をとっていた。
(1)鍵付きハッシュ値等をチェックコードとして用いる(改竄防止)。
(2)ソフトウェアやパラメータを暗号化して電子機器に格納し、実行時に復号する(改竄、取り出し防止)。
(1)鍵付きハッシュ値等をチェックコードとして用いる(改竄防止)。
(2)ソフトウェアやパラメータを暗号化して電子機器に格納し、実行時に復号する(改竄、取り出し防止)。
どちらの方法も鍵付きハッシュ値や暗号化処理/復号処理を行う際の鍵を、機器内に格納、若しくは機器外部に格納する必要があるため、機器を解析されたり、鍵情報が漏洩したりすると、前記(1)、(2)の対策が無効化されるという不都合がある。
図8〜図11を参照して、従来のチェックコード方式を説明する。図8、図9は、従来の電子機器10のブロック図である。図10、図11は、動作のフローチャートである。図8、図9は、鍵付きハッシュ値によるチェックコード13や、暗号化処理を用いた、電子機器内のプログラム、パラメータの改竄検出、模倣防止を説明する図である。鍵付きハッシュ値によるチェックコード13を用いた改竄検出は次の手順(図10)による。
まず、不揮発性メモリ11には電子機器10の制御プログラム12が格納されている。この制御プログラム12とチェックコード生成用鍵から鍵付きハッシュ値H0を計算し(S01)、これをチェックコード13として不揮発性メモリ11に書き込む(S02)。チェックコード生成用鍵は電子機器10内に格納されており、あるいはI/O14経由で外部から入力されてもよい。ここまでの手順は工場出荷前など、事前にセキュリティ的に安全な環境で実施する。
次に、CPU16は以下の処理を実行する。CPU16は、電子機器10内の制御プログラム12が改竄されていないかどうかを確認する。図9に示すように、電源投入後若しくは任意のタイミングで、CPU16は、制御プログラム12とチェックコード生成用鍵とから、鍵付きハッシュ値H1を計算する(S11)。このときのチェックコード生成用鍵も電子機器10内に格納したり、I/O14経由で外部から入力してもよい。CPU16は、計算した鍵付きハッシュ値H1を、不揮発性メモリ11に格納されたチェックコード13と比較する(S12)。比較の結果、一致していれば、制御プログラム12に改竄はないことになり、CPU16は、制御プログラム12を実行し、これにより、電子機器10は正常に動作する(S13)。一致しなければ、制御プログラム12に改竄が加えられたことになり、CPU16は、電子機器10の動作を停止させ、あるいはアラームを出す等の然るべき処理を行う(S14)。
次に、図11を参照して、鍵付きハッシュ値によるチェックコード13を用いた改竄検出とともに、暗号化及び復号処理を用いた制御プログラム12の模倣防止について説明する。改竄検出方法は先に述べたとおりである。模倣防止は次の手順による。
不揮発性メモリ11に格納された制御プログラム12は、暗号鍵K1を用いた暗号化処理により、不揮発性メモリ11に格納される。このとき暗号化された制御プログラム12(暗号化プログラム12a)は、制御プログラム12に上書きされる。これにより、制御プログラム12そのものは、電子機器10内には存在しなくなる(S21)。暗号化処理を行う際の暗号鍵は、チェックコード生成用鍵と同様に、電子機器10内に格納したり、I/O14経由で外部から入力してもよい。ここまでの手順はここまでの手順は工場出荷前など、事前にセキュリティ的に安全な環境で実施する。
電子機器10を動作させる際は、CPU16は、暗号化制御プログラム12aを復号鍵で元の制御プログラム12に復号し(S22)、実行することにより電子機器10の制御を行う。このときの復号鍵は、電子機器10内に格納したり、I/O14経由で外部から入力してもよい。このような手順を行うことにより、制御プログラム12は通常は暗号化された状態で電子機器10に格納されるため、暗号鍵や復号鍵を入手しない限り、模倣することは困難になる。
次にもう1つの従来例として、図12、図13を参照して、特願2001ー96040号公報(特許文献1)に記載の「遊技機及び検証装置」について説明する。
特許文献1では、格納用暗号化鍵で暗号化された格納用暗号化データ22(暗号化された制御プログラム25)と格納用復号鍵23(暗号化された制御プログラム22を復号する鍵)とを、遊技機20内の格納用記憶装置21に記憶する(S41)。遊技機20を動作させる際には(S42、YES)、格納用暗号化データ22を格納用復号鍵23で復号することにより、制御プログラム25が実行される(S43)。暗号化/復号処理は非対称暗号系により構成されており、暗号化鍵と復号鍵とは、分けられた構成である。このような構成により、遊技機20内には制御プログラム25を暗号化する際の鍵が格納されないため、制御プログラム25の偽造または改竄が困難である述べている。
また、特許文献1では、遊技機20の格納用記憶装置21に格納された格納用暗号化データ22は、暗号化のまま検証用装置30に伝送される。そして、格納用暗号化データ22は検証用装置30内に予め記憶された照合用データ32と照合され、真偽が検証される。この際、制御プログラムは暗号化のまま処理されるので、プログラム内容の漏洩を防ぐこともできると述べている。
上記のように、図8〜図11の場合は、チェックコード生成用鍵や暗号鍵、復号鍵は、電子機器10内やその外部に常時存在している。このため、電子機器10の解体により鍵情報が抜き取られたり、装置外部で保管している鍵情報が流出すること等によって、鍵情報が第三者に取得され、改竄や模倣が行われるという課題がある。
また特許文献1の「遊技機20内に暗号化鍵を格納しないことにより制御プログラムの偽造/改竄を防ぐ」という点については、「暗号化された制御プログラムと共に、復号鍵も書き換えてしまう」ことにより改竄が可能である。また、検証用装置30を用いた改竄検出についても、検証用装置30内の検証データを遊技機20内の暗号化された制御データと整合するものに書き換えてしまえば、改竄を検知することはできなくなってしまうという課題がある。
この発明は、プログラムやパラメータが内蔵された電子機器において、プログラムやパラメータの不正な書き換えや、不正な取り出しを効果的に防止する電子機器の提供を目的とする。
この発明の電子機器は、
鍵を用いた処理を示す鍵使用処理を実行する電子機器において、
前記電子機器の個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成する物理量生成部と、
前記物理量生成部によって生成された前記物理量に基づいて、前記鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成する鍵生成部と、
前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行する鍵使用処理実行部と、
前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去する鍵消去部と
を備えたことを特徴とする。
鍵を用いた処理を示す鍵使用処理を実行する電子機器において、
前記電子機器の個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成する物理量生成部と、
前記物理量生成部によって生成された前記物理量に基づいて、前記鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成する鍵生成部と、
前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行する鍵使用処理実行部と、
前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去する鍵消去部と
を備えたことを特徴とする。
前記鍵使用処理実行部は、
前記鍵使用処理として、前記鍵生成部によって生成された前記鍵を使用して、所定の処理に使用される情報であって予め指定された情報の鍵付きハッシュ値を生成する鍵付きハッシュ値生成処理を実行する鍵付きハッシュ値生成部と、
前記鍵付きハッシュ値生成部によって過去に生成された鍵付きハッシュ値をチェックコードとして記憶するチェックコード記憶部と、
前記チェックコード記憶部に記憶された前記チェックコードと、前記鍵付きハッシュ値生成部の現在の前記鍵付きハッシュ値生成処理により生成された鍵付きハッシュ値とを比較し、一致するかどうかを判定する比較部と
を備え、
前記電子機器は、さらに、
前記比較部によって一致すると判定された場合にのみ、前記予め指定された情報を用いた前記所定の処理を実行する一致情報実行部を備えたことを特徴とする。
前記鍵使用処理として、前記鍵生成部によって生成された前記鍵を使用して、所定の処理に使用される情報であって予め指定された情報の鍵付きハッシュ値を生成する鍵付きハッシュ値生成処理を実行する鍵付きハッシュ値生成部と、
前記鍵付きハッシュ値生成部によって過去に生成された鍵付きハッシュ値をチェックコードとして記憶するチェックコード記憶部と、
前記チェックコード記憶部に記憶された前記チェックコードと、前記鍵付きハッシュ値生成部の現在の前記鍵付きハッシュ値生成処理により生成された鍵付きハッシュ値とを比較し、一致するかどうかを判定する比較部と
を備え、
前記電子機器は、さらに、
前記比較部によって一致すると判定された場合にのみ、前記予め指定された情報を用いた前記所定の処理を実行する一致情報実行部を備えたことを特徴とする。
前記鍵使用処理実行部は、
前記鍵使用処理として、前記鍵生成部によって生成された前記鍵を使用して暗号化処理を実行する暗号処理部と、
前記鍵使用処理として、前記暗号処理部によって暗号化されたデータを、前記鍵生成部によって生成された前記鍵を使用して復号する復号処理部と
を備えたことを特徴とする。
前記鍵使用処理として、前記鍵生成部によって生成された前記鍵を使用して暗号化処理を実行する暗号処理部と、
前記鍵使用処理として、前記暗号処理部によって暗号化されたデータを、前記鍵生成部によって生成された前記鍵を使用して復号する復号処理部と
を備えたことを特徴とする。
前記鍵生成部は、
物理的複製不能関数(PUF:Physical Unclonable Function)を用いることにより前記鍵を生成することを特徴とする。
物理的複製不能関数(PUF:Physical Unclonable Function)を用いることにより前記鍵を生成することを特徴とする。
この発明の鍵生成プログラムは、
コンピュータを、
前記コンピュータの個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成する物理量生成部、
前記物理量生成部によって生成された前記物理量に基づいて、鍵を用いた処理を示す鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成する鍵生成部、
前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行する鍵使用処理実行部、
前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去する鍵消去部、
として機能させることを特徴とする。
コンピュータを、
前記コンピュータの個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成する物理量生成部、
前記物理量生成部によって生成された前記物理量に基づいて、鍵を用いた処理を示す鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成する鍵生成部、
前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行する鍵使用処理実行部、
前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去する鍵消去部、
として機能させることを特徴とする。
この発明の鍵生成方法は、
鍵を用いた処理を示す鍵使用処理を実行する電子機器が行う鍵生成方法において、
物理量生成部が、前記電子機器の個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成し、
鍵生成部が、前記物理量生成部によって生成された前記物理量に基づいて、前記鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成し、
鍵使用処理実行部が、前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行し、
鍵消去部が、前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去することを特徴とする。
鍵を用いた処理を示す鍵使用処理を実行する電子機器が行う鍵生成方法において、
物理量生成部が、前記電子機器の個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成し、
鍵生成部が、前記物理量生成部によって生成された前記物理量に基づいて、前記鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成し、
鍵使用処理実行部が、前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行し、
鍵消去部が、前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去することを特徴とする。
この発明により、格納されたプログラムやパラメータの不正な書き換えや、不正な取り出しを効果的に防止する電子機器を提供できる。
実施の形態1.
図1〜図6を参照して実施の形態1を説明する。図1は、実施の形態1の電子機器100のブロック図である。
図1〜図6を参照して実施の形態1を説明する。図1は、実施の形態1の電子機器100のブロック図である。
電子機器100は、鍵を使用する何らかの処理(鍵使用処理という)に使用される鍵を自分で生成する。そして、電子機器100は、鍵使用処理が実行される直前に鍵を生成し、その鍵使用処理の実行が終了すると鍵を消去する。この電子機器100の特徴は、特に、次の(a),(b)である。
(a.特定の物理量を元に鍵生成)
電子機器100によって生成される鍵は、「同様に製造しても個体(電子機器)毎に値が異なる物理量、かつ個体毎に値が異なるだけでなく同一個体であっても生成の度に値が異なる物理量を元に生成される。そして、この鍵は、個体どうしでは異なる値であり、かつ、同一個体では生成のたびに固有の値(生成のたびに同じ値)として生成される」点である。すなわち、第1の特徴点は、その個体に特有の物理量から、他の個体の生成する鍵とは異なる鍵であってその個体に特有の鍵が生成される。そして、生成される鍵は、同一個体では生成されるごとに毎回同じである。
電子機器100によって生成される鍵は、「同様に製造しても個体(電子機器)毎に値が異なる物理量、かつ個体毎に値が異なるだけでなく同一個体であっても生成の度に値が異なる物理量を元に生成される。そして、この鍵は、個体どうしでは異なる値であり、かつ、同一個体では生成のたびに固有の値(生成のたびに同じ値)として生成される」点である。すなわち、第1の特徴点は、その個体に特有の物理量から、他の個体の生成する鍵とは異なる鍵であってその個体に特有の鍵が生成される。そして、生成される鍵は、同一個体では生成されるごとに毎回同じである。
(b.鍵の生成と消去)
第2の特徴点は、「鍵は電子機器内、あるいは他の装置には保管されない。鍵は、電子機器100において鍵使用処理が実行されるごとにその直前に生成され、その鍵使用処理が終了するごとに消去される。」ことである。すなわち、鍵は鍵使用処理の間だけ電子機器内に存在し、それ以外には存在しないことである。
第2の特徴点は、「鍵は電子機器内、あるいは他の装置には保管されない。鍵は、電子機器100において鍵使用処理が実行されるごとにその直前に生成され、その鍵使用処理が終了するごとに消去される。」ことである。すなわち、鍵は鍵使用処理の間だけ電子機器内に存在し、それ以外には存在しないことである。
上記の特徴点(a)については、例えば、文献「P.Paillier and I.Verbauwhede(Eds.):CHES 2007,LNCS4727,pp.63−80,2007.“FPGA Intrinsic PUFs and Their Use for IP Protection”」で示されるPUF(Physical Unclonable Function)のPUF(Physical Unclonable Function 物理的に複製困難な機能)によって実現可能である。
このような特徴(a),(b)によって、鍵は、電子機器外には存在せず、また、電子機器内にも僅かな時間しか存在しないことになる。このため、電子機器の解体による鍵情報の漏洩や、電子機器外部で保管している鍵情報の漏洩を原因とするデータの改竄が極めて困難になる。
図1において、電子機器100は、鍵生成部140、制御プログラム実行部180、物理量生成部190、鍵使用処理実行部1010を備える。鍵使用処理実行部1010は、比較部110、チェックコード記憶部120、鍵付きハッシュ値生成部130、ソフトウェア/パラメータ格納部150、暗号処理部160、復号処理部170を備える。
(1)物理量生成部190は、電子機器100の個体ごとに値が異なり、かつ、生成される度に値が異なる電子機器に固有の物理量を生成する。該当する物理量としては、例えば後述するリングオシレータの発生する信号や、特定の回路の動作周数あるいは発振周波数、あるいは、電源投入時におけるSRAM(Static Random Access Memory)の状態(0、1の格納状態)などである。この場合、物理量生成部190は、リングオシレータ、特定の回路、あるいはSRAMである。
(2)鍵生成部140は、物理量生成部190によって生成された物理量に基づいて、鍵使用処理が実行される度に、鍵使用処理の開始直前に、同一の鍵を生成する。すなわち、鍵生成部140は、物理量生成部190によって生成された物理量を使用することにより、鍵使用処理が実行される度に、鍵使用処理の開始直前に、同一の鍵を生成する。
(3)鍵使用処理実行部1010は、鍵生成部140により生成された鍵を使用して、鍵使用処理を実行する。
(4)制御プログラム実行部180は、鍵使用処理が終了する度に、鍵生成部140により生成された鍵消去や、その他の処理を実行する。
(2)鍵生成部140は、物理量生成部190によって生成された物理量に基づいて、鍵使用処理が実行される度に、鍵使用処理の開始直前に、同一の鍵を生成する。すなわち、鍵生成部140は、物理量生成部190によって生成された物理量を使用することにより、鍵使用処理が実行される度に、鍵使用処理の開始直前に、同一の鍵を生成する。
(3)鍵使用処理実行部1010は、鍵生成部140により生成された鍵を使用して、鍵使用処理を実行する。
(4)制御プログラム実行部180は、鍵使用処理が終了する度に、鍵生成部140により生成された鍵消去や、その他の処理を実行する。
図2は、鍵生成部140による、鍵生成の一例を示す図である。図2において、リングオシレータ190aは、物理量生成部190の一例である。また、図3は、リングオシレータ190aにより発生される信号(物理量)と、信号をもとに生成される鍵との関係を示した図である。電子機器1のリングオシレータ(190a−1)は、信号191を生成し、電子機器2のリングオシレータ(190a−2)は、信号192を生成する。
(1)リングオシレータによって生成される信号は、電子機器の個体ごとに異なる。
(2)また、その信号は、同一の個体であっても生成される度に値が異なる。例えば、信号191のように、電子機器1(同一個体)においても信号の値は時間と共に変化する。
(3)ただし、リングオシレータ(190a−1)、リングオシレータ(190a−2)によって生成される信号191、192はいずれも一定の範囲R1,R2に収まるような値である。
(1)リングオシレータによって生成される信号は、電子機器の個体ごとに異なる。
(2)また、その信号は、同一の個体であっても生成される度に値が異なる。例えば、信号191のように、電子機器1(同一個体)においても信号の値は時間と共に変化する。
(3)ただし、リングオシレータ(190a−1)、リングオシレータ(190a−2)によって生成される信号191、192はいずれも一定の範囲R1,R2に収まるような値である。
電子機器1についていえば、鍵生成部140は、リングオシレータ(190a−1)によって生成された信号191に基づいて、鍵使用処理が実行される度に、鍵使用処理の開始直前に、同一の鍵K1を生成する。すなわち、信号191に基づき、都度生成される鍵のうち最初に生成される鍵をK1(0)とし、それ以降に生成される鍵をK1(i)(i=1,2,・・・)とすると、都度生成される鍵は同じものである。すなわち、
K1(0)=K1(i)(i=1,2,・・・)
である。
電子機器2について生成される鍵をK2とすれば、電子機器2についても同様に、
K2(0)=K2(i)(i=1,2,・・・)
である。
ただし、個体が異なれば同じ製品であっても鍵は異なる。
すなわち、電子機器1と電子機器2とについては、
K1(0)≠K2(0)
である。
K1(0)=K1(i)(i=1,2,・・・)
である。
電子機器2について生成される鍵をK2とすれば、電子機器2についても同様に、
K2(0)=K2(i)(i=1,2,・・・)
である。
ただし、個体が異なれば同じ製品であっても鍵は異なる。
すなわち、電子機器1と電子機器2とについては、
K1(0)≠K2(0)
である。
図2に示すように、鍵生成部140は、物理量生成部190であるリングオシレータ(190a−1)の信号に基づき、鍵を生成する。鍵生成部140は、図2に示すように、例えば、信号191を元に、POW(Physical One way function)とHDA(Helper Data Algorithm)とから鍵を生成する。このPOWとHDAとがPUFを構成する。HDAの一例はECC(Error Correcting Code)である。
次に、図4を参照して、電子機器100における鍵生成機能を使用した改竄検出について説明する。
(鍵付きハッシュ値の生成)
図4に示す例は、鍵付きハッシュ値を事前に計算して、これをチェックコードとして格納し、再計算した鍵付きハッシュ値と比較して改竄検出を行う場合である。図4は図8〜図11で述べた場合とほぼ同様であるが、相違は、図4では、電子機器100が、上記の特徴(a),(b)に基づき、改竄検出を実行することにある。改竄検出の対象となる情報は、ソフトウェア/パラメータ格納部150に記憶されているプログラム151やパラメータ等の情報である。以下ではプログラム151を改竄検出の対象として説明する。
図4に示す例は、鍵付きハッシュ値を事前に計算して、これをチェックコードとして格納し、再計算した鍵付きハッシュ値と比較して改竄検出を行う場合である。図4は図8〜図11で述べた場合とほぼ同様であるが、相違は、図4では、電子機器100が、上記の特徴(a),(b)に基づき、改竄検出を実行することにある。改竄検出の対象となる情報は、ソフトウェア/パラメータ格納部150に記憶されているプログラム151やパラメータ等の情報である。以下ではプログラム151を改竄検出の対象として説明する。
(S101)
S101において、電子機器100では、工場において、ソフトウェア/パラメータ格納部150に格納されたプログラム151の鍵付きハッシュ値H(0)が生成され、チェックコード記憶部120に格納される。具体的には、まず、ソフトウェア/パラメータ格納部150にプログラム151が格納される。鍵生成部140は、鍵付きハッシュ値の生成処理(鍵使用処理の一例)の直前に、物理量生成部190により生成された物理量を元に、鍵K(0)を生成する。鍵付きハッシュ値生成部130は、鍵K(0)を用いて、プログラム151の鍵付きハッシュ値H(0)を生成し、チェックコード記憶部120にチェックコードとして鍵付きハッシュ値H(0)を格納する。制御プログラム実行部180(鍵消去部の一例)は、鍵付きハッシュ値H(0)の生成処理が終了すると、鍵K(0)を消去する。
S101において、電子機器100では、工場において、ソフトウェア/パラメータ格納部150に格納されたプログラム151の鍵付きハッシュ値H(0)が生成され、チェックコード記憶部120に格納される。具体的には、まず、ソフトウェア/パラメータ格納部150にプログラム151が格納される。鍵生成部140は、鍵付きハッシュ値の生成処理(鍵使用処理の一例)の直前に、物理量生成部190により生成された物理量を元に、鍵K(0)を生成する。鍵付きハッシュ値生成部130は、鍵K(0)を用いて、プログラム151の鍵付きハッシュ値H(0)を生成し、チェックコード記憶部120にチェックコードとして鍵付きハッシュ値H(0)を格納する。制御プログラム実行部180(鍵消去部の一例)は、鍵付きハッシュ値H(0)の生成処理が終了すると、鍵K(0)を消去する。
(S102)
S102において、ユーザが電子機器100を購入したとする。
S102において、ユーザが電子機器100を購入したとする。
(S103)
S103において、鍵付きハッシュ値の生成処理が実行される。鍵付きハッシュ値の生成処理は、プログラム151の実行が要求される場合である。この場合、鍵付きハッシュ値の生成処理の開始直前に、鍵生成部140が鍵K(1)を生成する。鍵K(1)はS101で生成された鍵K(0)と同一である(K(0)=K(1))。鍵付きハッシュ値生成部130は、S101の場合と同様に、鍵K(1)を用いてプログラム151の鍵付きハッシュ値H(1)を生成する。比較部110は、鍵付きハッシュ値H(1)と、チェックコード記憶部120に格納されている鍵付きハッシュ値H(0)とを比較し、一致するかどうかを判定する。制御プログラム実行部180(一致情報実行部の一例)は、比較部110によって両方のハッシュ値が一致すると判定されると、プログラム151の処理を実行する。制御プログラム実行部180は、比較部110によって両方のハッシュ値が一致しないと判定されると、警告(警告表示、警告音など)を発すると共に、プログラム151を実行しない。また、制御プログラム実行部180(鍵消去部)は、鍵付きハッシュ値H(1)の生成処理が終了すると、鍵K(1)を消去する。
S103において、鍵付きハッシュ値の生成処理が実行される。鍵付きハッシュ値の生成処理は、プログラム151の実行が要求される場合である。この場合、鍵付きハッシュ値の生成処理の開始直前に、鍵生成部140が鍵K(1)を生成する。鍵K(1)はS101で生成された鍵K(0)と同一である(K(0)=K(1))。鍵付きハッシュ値生成部130は、S101の場合と同様に、鍵K(1)を用いてプログラム151の鍵付きハッシュ値H(1)を生成する。比較部110は、鍵付きハッシュ値H(1)と、チェックコード記憶部120に格納されている鍵付きハッシュ値H(0)とを比較し、一致するかどうかを判定する。制御プログラム実行部180(一致情報実行部の一例)は、比較部110によって両方のハッシュ値が一致すると判定されると、プログラム151の処理を実行する。制御プログラム実行部180は、比較部110によって両方のハッシュ値が一致しないと判定されると、警告(警告表示、警告音など)を発すると共に、プログラム151を実行しない。また、制御プログラム実行部180(鍵消去部)は、鍵付きハッシュ値H(1)の生成処理が終了すると、鍵K(1)を消去する。
以降、図4のS104、S105に示すように、プログラム151の実行が要求される度に、S103と同様の処理が実行される。すなわち、鍵生成部140は毎回鍵を生成し、鍵付きハッシュ値生成部130は、生成された鍵でプログラム151から鍵付きハッシュ値を生成する。そして、比較部110はチェックコード記憶部120に記憶されている鍵付きハッシュ値H(0)と、生成された鍵付きハッシュ値H(i)(i=2,3,・・・)とを比較する。制御プログラム実行部180は、比較結果が一致していればプログラム151を実行し、一致していなければプログラム151を実行しない。そして、制御プログラム実行部180は、その回の鍵付きハッシュ値の生成処理が終了すると、その回に生成された鍵を消去する。
(暗号/復号処理)
次に、図5、図6を参照して、暗号化処理及び復号処理を用いた、プログラムやパラメータの内容の漏洩防止や模倣防止について説明する。暗号、復号の対象は、プログラム151を例に説明する。
次に、図5、図6を参照して、暗号化処理及び復号処理を用いた、プログラムやパラメータの内容の漏洩防止や模倣防止について説明する。暗号、復号の対象は、プログラム151を例に説明する。
制御プログラムやパラメータを暗号化して格納し、動作時に復号して実行する点については背景技術で述べた場合と同様である。相違するのは、鍵付きハッシュ値計算の場合と同様に、鍵の生成方法と、鍵を電子機器100内及び外部装置に保持しない点である。
図5は平文プログラムと暗号プログラムとの格納状態を示す図である。ソフトウェア/パラメータ格納部150は、例えばフラッシュメモリが使用される。また、復号処理部170は例えばRAMが使用される。図5に示すように、不揮発性のフラッシュメモリには暗号プログラムが常時存在する。そして、プログラムの実行が要求される場合に、暗号プログラムがフラッシュメモリから読み出され、復号され、実行される。復号されたプログラムは、処理が終了すると消去される。以下、図6を参照して説明する。
(S201)
図6は、プログラムの暗号/復号処理の場合を説明する図である。まず、S201において、電子機器100では、工場において、ソフトウェア/パラメータ格納部150に平文のプログラム151が格納される。平文のプログラム151が格納されると、暗号処理部160により、プログラム151の暗号化処理(鍵使用処理)が実行される。鍵生成部140は、プログラム151の暗号化処理の直前に、物理量生成部190により生成された物理量を元に、鍵K(0)を生成する。暗号処理部160は、鍵K(0)を用いてプログラム151を暗号化し、暗号化されたプログラム151をソフトウェア/パラメータ格納部150に格納する。暗号化されたプログラム151は、電子機器100が次の使用状態(例えば、電源がONとなる場合)となるとにき、復号処理部170によって復号される。
図6は、プログラムの暗号/復号処理の場合を説明する図である。まず、S201において、電子機器100では、工場において、ソフトウェア/パラメータ格納部150に平文のプログラム151が格納される。平文のプログラム151が格納されると、暗号処理部160により、プログラム151の暗号化処理(鍵使用処理)が実行される。鍵生成部140は、プログラム151の暗号化処理の直前に、物理量生成部190により生成された物理量を元に、鍵K(0)を生成する。暗号処理部160は、鍵K(0)を用いてプログラム151を暗号化し、暗号化されたプログラム151をソフトウェア/パラメータ格納部150に格納する。暗号化されたプログラム151は、電子機器100が次の使用状態(例えば、電源がONとなる場合)となるとにき、復号処理部170によって復号される。
(202)
ステップS202において、ユーザが電子機器100を購入したとする。
ステップS202において、ユーザが電子機器100を購入したとする。
(S203)
S203において、ユーザが電子機器100の電源をONにすると、復号処理部170がソフトウェア/パラメータ格納部150に格納されている暗号化されたプログラム151を読み出し、復号処理(鍵使用処理)を実行する。鍵生成部140は、プログラム151の復号処理の直前に、物理量生成部190により生成された物理量を元に、鍵K(1)を生成する。復号処理部170は、鍵K(1)を用いてプログラム151を復号し、復号されたプログラム151を制御プログラム実行部180に送信する。制御プログラム実行部180は、復号処理部170による復号処理が終了すると、生成された鍵K(1)を消去する。また、制御プログラム実行部180は、復号処理部170から受信したプログラム151を実行し、処理が終了すると消去する。
S203において、ユーザが電子機器100の電源をONにすると、復号処理部170がソフトウェア/パラメータ格納部150に格納されている暗号化されたプログラム151を読み出し、復号処理(鍵使用処理)を実行する。鍵生成部140は、プログラム151の復号処理の直前に、物理量生成部190により生成された物理量を元に、鍵K(1)を生成する。復号処理部170は、鍵K(1)を用いてプログラム151を復号し、復号されたプログラム151を制御プログラム実行部180に送信する。制御プログラム実行部180は、復号処理部170による復号処理が終了すると、生成された鍵K(1)を消去する。また、制御プログラム実行部180は、復号処理部170から受信したプログラム151を実行し、処理が終了すると消去する。
以下、ステップS204、S205等も同様に、電源がONされるたびに鍵K(2)、K(3)等が生成され(S204、S205)、その回の復号処理が終了すると、鍵K(2)、K(3)等は消去される。
実施の形態1の電子機器100は、鍵生成部140にPUFが実装されているので、個体(電子機器)ごとに異なる物理量からその個体に固有の鍵を生成可能であり、しかも、毎回同じ鍵を生成できる。このため、
(1)鍵を電子機器内や外部装置に保持する必要がないこと、
(2)複数の同一の電子機器(同一製品のシリアル番号違い)が存在しても個体ごと(シリアル番号ごと)に生成される鍵は異なること、
(3)その個体では毎回同じ鍵が生成されること、
等により、従来同様に、鍵を使用した処理が可能であると共に、鍵が流出する恐れが著しく低下するという効果がある。
(1)鍵を電子機器内や外部装置に保持する必要がないこと、
(2)複数の同一の電子機器(同一製品のシリアル番号違い)が存在しても個体ごと(シリアル番号ごと)に生成される鍵は異なること、
(3)その個体では毎回同じ鍵が生成されること、
等により、従来同様に、鍵を使用した処理が可能であると共に、鍵が流出する恐れが著しく低下するという効果がある。
以上の実施の形態1では、次の電子機器を説明した。すなわち、
内蔵したソフトウェアやパラメータによって動作を制御・設定する電子機器において、
予めソフトウェアやパラメータから鍵付ハッシュ値を計算してチェックコードを生成する機能と、
前記チェックコードを記憶する機能と、
起動時、若しくは任意のタイミングでソフトウェアやパラメータから鍵付ハッシュ値を再計算し、記憶しているチェックコードと比較することにより改竄を検知する機能と
を備えた電子機器を説明した。
この電子機器において、
前記鍵付ハッシュ値を計算する際の鍵は、
同様に製造しても個体毎に値が異なる物理量、かつ個体毎だけでなく同一個体でも生成の度に値が異なる物理量を元に、同様の機器毎には異なる値で、かつ、同一の個体では固有の値として生成される。
また、この鍵は、
電子機器内に格納されず、電子機器の起動時または任意のタイミングで、その度ごとに、電子機器によって生成される。
内蔵したソフトウェアやパラメータによって動作を制御・設定する電子機器において、
予めソフトウェアやパラメータから鍵付ハッシュ値を計算してチェックコードを生成する機能と、
前記チェックコードを記憶する機能と、
起動時、若しくは任意のタイミングでソフトウェアやパラメータから鍵付ハッシュ値を再計算し、記憶しているチェックコードと比較することにより改竄を検知する機能と
を備えた電子機器を説明した。
この電子機器において、
前記鍵付ハッシュ値を計算する際の鍵は、
同様に製造しても個体毎に値が異なる物理量、かつ個体毎だけでなく同一個体でも生成の度に値が異なる物理量を元に、同様の機器毎には異なる値で、かつ、同一の個体では固有の値として生成される。
また、この鍵は、
電子機器内に格納されず、電子機器の起動時または任意のタイミングで、その度ごとに、電子機器によって生成される。
以上の実施の形態1では、次の電子機器を説明した。すなわち、
内蔵したソフトウェアやパラメータを暗号化処理する機能と、
暗号化したソフトウェアやパラメータを格納する機能と、
処理を行う際には前記暗号化したソフトウェアやパラメータを復号処理する機能と
を備えた電子機器を説明した。
暗号化や復号には前記鍵付ハッシュ値を計算する際の鍵と同じく、
この鍵は、
同様に製造しても個体毎に値が異なる物理量、かつ個体毎だけでなく同一個体でも生成の度に値が異なる物理量を元に、同様の機器毎には異なる値で、かつ、同一の個体では固有の値として生成される。
また、この鍵は、
電子機器内に格納されず、電子機器の起動時または任意のタイミングで、その度ごとに、電子機器によって生成される。
内蔵したソフトウェアやパラメータを暗号化処理する機能と、
暗号化したソフトウェアやパラメータを格納する機能と、
処理を行う際には前記暗号化したソフトウェアやパラメータを復号処理する機能と
を備えた電子機器を説明した。
暗号化や復号には前記鍵付ハッシュ値を計算する際の鍵と同じく、
この鍵は、
同様に製造しても個体毎に値が異なる物理量、かつ個体毎だけでなく同一個体でも生成の度に値が異なる物理量を元に、同様の機器毎には異なる値で、かつ、同一の個体では固有の値として生成される。
また、この鍵は、
電子機器内に格納されず、電子機器の起動時または任意のタイミングで、その度ごとに、電子機器によって生成される。
以上の実施の形態1では、次の電子機器を説明した。すなわち、
前記鍵付ハッシュ値の計算に用いる鍵、暗号化処理若しくは復号処理を行う際の鍵は、PUF(Physical Unclonable Function 物理的に複製困難な機能)を用いて生成する電子機器を説明した。
前記鍵付ハッシュ値の計算に用いる鍵、暗号化処理若しくは復号処理を行う際の鍵は、PUF(Physical Unclonable Function 物理的に複製困難な機能)を用いて生成する電子機器を説明した。
実施の形態2.
次に図7を参照して、実施の形態2を説明する。実施の形態2は、電子機器100の一連の動作を、方法、プログラム、プログラムを記録したコンピュータ読み取り可能な記録媒体として把握した場合の実施形態である。
次に図7を参照して、実施の形態2を説明する。実施の形態2は、電子機器100の一連の動作を、方法、プログラム、プログラムを記録したコンピュータ読み取り可能な記録媒体として把握した場合の実施形態である。
以上の実施の形態1では、電子機器100について説明した。実施の形態1の電子機器100の構成要素である各構成要素(「〜部」)の一連の動作は互いに関連しており、この一連の動作を、電子機器100が行う方法として把握することも可能である。また、これらの一連の動作をコンピュータに実行させる処理として把握することで、コンピュータに実行させるプログラムとして把握することができる。また、プログラムを記録したコンピュータ読み取り可能な記録媒体として把握することも可能である。
図7は、コンピュータである電子機器100のハードウェア資源の一例を示す図である。図7において、電子機器100は、プログラムを実行するCPU810(Central Processing Unit)を備えている。CPU810は、バス825を介してROM811(Read Only Memory)、RAM812(Random Access Memory)、表示装置813、操作キー814、通信ボード816、フラッシュメモリ820等と接続され、これらのハードウェアデバイスを制御する。フラッシュメモリの代わりに磁気ディスク装置、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM812は、揮発性メモリの一例であり、ROM811、フラッシュメモリ820等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部の一例である。
通信ボード816は、他の装置との間で通信を行う。
フラッシュメモリ820には、オペレーティングシステム821(OS)、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821により実行される。
上記プログラム群823には、実施の形態1の説明において「〜部」として述べた機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。
ファイル群824には、上記の実施の形態で述べた物理的複製不能関数(PUF)や、「〜の判定結果」、「〜の生成結果」、「〜の抽出結果」、「〜の処理結果」として説明した情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力、表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力、表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以上の実施の形態1の説明において「〜部」として説明したものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明したものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以上の説明で述べた「〜部」としてコンピュータを機能させるものである。
100 電子機器、110 比較部、120 チェックコード記憶部、130 鍵付きハッシュ値生成部、140 鍵生成部、150 ソフトウェア/パラメータ格納部、160 暗号処理部、170 復号処理部、180 制御プログラム実行部、190 物理量生成部、190a リングオシレータ、1010 鍵使用処理実行部。
特許文献1では、格納用暗号化鍵で暗号化された格納用暗号化データ22(暗号化された制御プログラム25)と格納用復号鍵23(暗号化された制御プログラム22を復号する鍵)とを、遊技機20内の格納用記憶装置21に記憶する(S41)。遊技機20を動作させる際には(S42、YES)、格納用暗号化データ22を格納用復号鍵23で復号することにより、制御プログラム25が実行される(S43)。暗号化/復号処理は非対称暗号系により構成されており、暗号化鍵と復号鍵とは、分けられた構成である。このような構成により、遊技機20内には制御プログラム25を暗号化する際の鍵が格納されないため、制御プログラム25の偽造または改竄が困難であると述べている。
上記の特徴点(a)については、例えば、文献「P.Paillier and I.Verbauwhede(Eds.):CHES 2007,LNCS4727,pp.63−80,2007.“FPGA Intrinsic PUFs and Their Use for IP Protection”」で示されるPUF(Physical Unclonable Function 物理的に複製困難な機能)によって実現可能である。
(S202)
ステップS202において、ユーザが電子機器100を購入したとする。
ステップS202において、ユーザが電子機器100を購入したとする。
Claims (7)
- 鍵を用いた処理を示す鍵使用処理を実行する電子機器において、
前記電子機器の個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成する物理量生成部と、
前記物理量生成部によって生成された前記物理量に基づいて、前記鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成する鍵生成部と、
前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行する鍵使用処理実行部と、
前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去する鍵消去部と
を備えたことを特徴とする電子機器。 - 前記鍵使用処理実行部は、
前記鍵使用処理として、前記鍵生成部によって生成された前記鍵を使用して、所定の処理に使用される情報であって予め指定された情報の鍵付きハッシュ値を生成する鍵付きハッシュ値生成処理を実行する鍵付きハッシュ値生成部と、
前記鍵付きハッシュ値生成部によって過去に生成された鍵付きハッシュ値をチェックコードとして記憶するチェックコード記憶部と、
前記チェックコード記憶部に記憶された前記チェックコードと、前記鍵付きハッシュ値生成部の現在の前記鍵付きハッシュ値生成処理により生成された鍵付きハッシュ値とを比較し、一致するかどうかを判定する比較部と
を備え、
前記電子機器は、さらに、
前記比較部によって一致すると判定された場合にのみ、前記予め指定された情報を用いた前記所定の処理を実行する一致情報実行部を備えたことを特徴とする請求項1記載の電子機器。 - 前記鍵使用処理実行部は、
前記鍵使用処理として、前記鍵生成部によって生成された前記鍵を使用して暗号化処理を実行する暗号処理部と、
前記鍵使用処理として、前記暗号処理部によって暗号化されたデータを、前記鍵生成部によって生成された前記鍵を使用して復号する復号処理部と
を備えたことを特徴とする請求項1記載の電子機器。 - 前記鍵生成部は、
物理的複製不能関数(PUF:Physical Unclonable Function)を用いることにより前記鍵を生成することを特徴とする請求項1記載の電子機器。 - コンピュータを、
前記コンピュータの個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成する物理量生成部、
前記物理量生成部によって生成された前記物理量に基づいて、鍵を用いた処理を示す鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成する鍵生成部、
前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行する鍵使用処理実行部、
前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去する鍵消去部、
として機能させる鍵生成プログラム。 - 請求項5記載の鍵生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
- 鍵を用いた処理を示す鍵使用処理を実行する電子機器が行う鍵生成方法において、
物理量生成部が、前記電子機器の個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成し、
鍵生成部が、前記物理量生成部によって生成された前記物理量に基づいて、前記鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成し、
鍵使用処理実行部が、前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行し、
鍵消去部が、前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去することを特徴とする鍵生成方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/059402 WO2010134192A1 (ja) | 2009-05-22 | 2009-05-22 | 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2010134192A1 true JPWO2010134192A1 (ja) | 2012-11-08 |
Family
ID=43125888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011514263A Pending JPWO2010134192A1 (ja) | 2009-05-22 | 2009-05-22 | 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8533492B2 (ja) |
EP (1) | EP2434683A4 (ja) |
JP (1) | JPWO2010134192A1 (ja) |
CN (1) | CN102439897A (ja) |
WO (1) | WO2010134192A1 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120137137A1 (en) * | 2010-11-30 | 2012-05-31 | Brickell Ernest F | Method and apparatus for key provisioning of hardware devices |
CN103583013B (zh) | 2011-06-02 | 2016-04-13 | 三菱电机株式会社 | 密钥信息生成装置以及密钥信息生成方法 |
JP2013031151A (ja) | 2011-06-20 | 2013-02-07 | Renesas Electronics Corp | 暗号通信システムおよび暗号通信方法 |
JP5770026B2 (ja) * | 2011-06-20 | 2015-08-26 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP5798007B2 (ja) * | 2011-11-08 | 2015-10-21 | ルネサスエレクトロニクス株式会社 | マイクロコンピュータおよびデータ処理装置 |
JP2013254391A (ja) * | 2012-06-07 | 2013-12-19 | Hitachi Solutions Ltd | 特権コマンド実行制御方法及びシステム |
EP2779067B1 (en) * | 2013-03-15 | 2019-05-08 | Maxim Integrated Products, Inc. | Secure authentication based on physically unclonable functions |
CN103338107B (zh) * | 2013-06-05 | 2016-12-28 | 北京华大信安科技有限公司 | 密钥生成方法及密钥生成装置 |
EP2816756A1 (fr) * | 2013-06-18 | 2014-12-24 | Nagravision S.A. | Procédé et dispositif cryptographique unique à fonction physiquement induplicable |
US9088574B2 (en) * | 2013-07-18 | 2015-07-21 | International Business Machines Corporation | Subscriber identity module-based authentication of a wireless device and applications stored thereon |
US9787480B2 (en) | 2013-08-23 | 2017-10-10 | Qualcomm Incorporated | Applying circuit delay-based physically unclonable functions (PUFs) for masking operation of memory-based PUFs to resist invasive and clone attacks |
KR101457305B1 (ko) | 2013-10-10 | 2014-11-03 | (주) 아이씨티케이 | 식별키 생성 장치 및 방법 |
CN106464501B (zh) * | 2014-04-09 | 2020-09-25 | Ictk控股有限公司 | 认证装置及方法 |
US9729331B2 (en) * | 2014-04-23 | 2017-08-08 | Cryptography Research, Inc. | Corrupting a hash value corresponding to a key based on a revocation of the key |
DE102014208210A1 (de) * | 2014-04-30 | 2015-11-19 | Siemens Aktiengesellschaft | Ableiten eines gerätespezifischen Wertes |
JP6398483B2 (ja) * | 2014-09-02 | 2018-10-03 | 凸版印刷株式会社 | 電子署名装置、電子署名システム、電子署名方法及びプログラム |
US9978192B1 (en) * | 2016-07-14 | 2018-05-22 | Guestof, LLC | Method and apparatus for streamlining guest entry into a building |
US10706177B2 (en) | 2017-02-13 | 2020-07-07 | Hiroshi Watanabe | Apparatus and method for chip identification and preventing malicious manipulation of physical addresses by incorporating a physical network with a logical network |
US10581841B2 (en) * | 2017-02-13 | 2020-03-03 | Zentel Japan Corporation | Authenticated network |
US10965456B2 (en) | 2017-09-25 | 2021-03-30 | The Boeing Company | Systems and methods for facilitating data encryption and decryption and erasing of associated information |
US10924263B2 (en) | 2017-09-25 | 2021-02-16 | The Boeing Company | Systems and methods for facilitating iterative key generation and data encryption and decryption |
US10860403B2 (en) | 2017-09-25 | 2020-12-08 | The Boeing Company | Systems and methods for facilitating truly random bit generation |
US10505521B2 (en) * | 2018-01-10 | 2019-12-10 | Ememory Technology Inc. | High voltage driver capable of preventing high voltage stress on transistors |
US11050575B2 (en) * | 2018-01-10 | 2021-06-29 | Ememory Technology Inc. | Entanglement and recall system using physically unclonable function technology |
JP2020188345A (ja) * | 2019-05-13 | 2020-11-19 | 三菱重工業株式会社 | 制御基板、制御装置、情報配信システム及び復号方法 |
JP6987112B2 (ja) * | 2019-12-02 | 2021-12-22 | 三菱電機株式会社 | 集積回路 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001096040A (ja) * | 1999-10-01 | 2001-04-10 | Samii Kk | 遊技機及び検証装置 |
JP2003108257A (ja) * | 2001-07-06 | 2003-04-11 | Texas Instruments Inc | デジタルデバイスのセキュリティを守るための、安全なブートローダー |
JP2004534992A (ja) * | 2001-04-04 | 2004-11-18 | エステーミクロエレクトロニクス ソシエテ アノニム | 集積回路を認証するための私的データの抽出 |
JP2005084989A (ja) * | 2003-09-09 | 2005-03-31 | Toshiba Corp | ソフトウェア改ざん検出システム、方法及びプログラム |
JP2005292902A (ja) * | 2004-03-31 | 2005-10-20 | Toshiba Corp | 半導体集積回路 |
JP2005341174A (ja) * | 2004-05-26 | 2005-12-08 | Sony Corp | 画像処理システム、情報処理装置および方法、画像処理装置および方法、記録媒体、並びにプログラム |
JP2006203564A (ja) * | 2005-01-20 | 2006-08-03 | Nara Institute Of Science & Technology | マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法 |
WO2008056612A1 (fr) * | 2006-11-06 | 2008-05-15 | Panasonic Corporation | Appareil de sécurité d'informations |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003051819A (ja) * | 2001-08-08 | 2003-02-21 | Toshiba Corp | マイクロプロセッサ |
JP2004143889A (ja) | 2002-10-28 | 2004-05-20 | Matsushita Electric Ind Co Ltd | 車載電子鍵装置および認証方法 |
US8132024B2 (en) * | 2003-03-11 | 2012-03-06 | Panasonic Corporation | Digital work protection system, recording apparatus, reproduction apparatus, and recording medium |
JP2005157930A (ja) * | 2003-11-28 | 2005-06-16 | Matsushita Electric Ind Co Ltd | 機密情報処理システムおよびlsi |
US20090183248A1 (en) * | 2004-10-04 | 2009-07-16 | Koninklijke Philips Electronics, N.V. | Two-way error correction for physical tokens |
JP2008056612A (ja) | 2006-08-31 | 2008-03-13 | Koei Chem Co Ltd | アミノピリジン類の製造方法 |
US8095987B2 (en) * | 2008-09-04 | 2012-01-10 | Microsoft Corporation | Software anti-piracy protection |
-
2009
- 2009-05-22 WO PCT/JP2009/059402 patent/WO2010134192A1/ja active Application Filing
- 2009-05-22 CN CN200980159417XA patent/CN102439897A/zh active Pending
- 2009-05-22 US US13/319,550 patent/US8533492B2/en not_active Expired - Fee Related
- 2009-05-22 EP EP09844924.2A patent/EP2434683A4/en not_active Withdrawn
- 2009-05-22 JP JP2011514263A patent/JPWO2010134192A1/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001096040A (ja) * | 1999-10-01 | 2001-04-10 | Samii Kk | 遊技機及び検証装置 |
JP2004534992A (ja) * | 2001-04-04 | 2004-11-18 | エステーミクロエレクトロニクス ソシエテ アノニム | 集積回路を認証するための私的データの抽出 |
JP2003108257A (ja) * | 2001-07-06 | 2003-04-11 | Texas Instruments Inc | デジタルデバイスのセキュリティを守るための、安全なブートローダー |
JP2005084989A (ja) * | 2003-09-09 | 2005-03-31 | Toshiba Corp | ソフトウェア改ざん検出システム、方法及びプログラム |
JP2005292902A (ja) * | 2004-03-31 | 2005-10-20 | Toshiba Corp | 半導体集積回路 |
JP2005341174A (ja) * | 2004-05-26 | 2005-12-08 | Sony Corp | 画像処理システム、情報処理装置および方法、画像処理装置および方法、記録媒体、並びにプログラム |
JP2006203564A (ja) * | 2005-01-20 | 2006-08-03 | Nara Institute Of Science & Technology | マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法 |
WO2008056612A1 (fr) * | 2006-11-06 | 2008-05-15 | Panasonic Corporation | Appareil de sécurité d'informations |
Non-Patent Citations (2)
Title |
---|
PIM TUYLS, GEERT-JAN SCHRIJEN, BORIS SKORIC, JAN VAN GELOVEN, NYNKE VERHAEGH, ROB WOLTERS: ""Read-Proof Hardware from Protective Coatings"", CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS CHES 2006, 8TH INTERNATIONAL WORKSHOP, vol. Hardware Attacks and Countermeasures III, JPN6013022146, 10 October 2006 (2006-10-10), ISSN: 0002527705 * |
柴田陽一,中村逸一,曽我正和,田窪昭夫,西垣正勝: ""メカニズムベースPKI"", コンピュータセキュリティシンポジウム2003, vol. 第2003巻,第15巻, JPN6013022143, 29 October 2003 (2003-10-29), JP, pages 181 - 186, ISSN: 0002527704 * |
Also Published As
Publication number | Publication date |
---|---|
US20120066515A1 (en) | 2012-03-15 |
WO2010134192A1 (ja) | 2010-11-25 |
US8533492B2 (en) | 2013-09-10 |
CN102439897A (zh) | 2012-05-02 |
EP2434683A4 (en) | 2016-04-20 |
EP2434683A1 (en) | 2012-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPWO2010134192A1 (ja) | 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法 | |
JP4739644B2 (ja) | 悪質コード検出方法 | |
EP3190543A1 (en) | Method of dynamically encrypting fingerprint data and related fingerprint sensor | |
CN101231622B (zh) | 基于闪存的数据存储方法和设备、及数据读取方法和设备 | |
CN106295407B (zh) | 一种检测文件是否被篡改的方法及装置 | |
EP1976222A2 (en) | Low cost RFID tag security and privacy method | |
KR20080013940A (ko) | 전자기기, 갱신 서버장치, 키 갱신장치 | |
US20080212770A1 (en) | Key Information Generating Method and Device, Key Information Updating Method, Tempering Detecting Method and Device, and Data Structure of Key Information | |
EP2503482A1 (en) | Electronic device with flash memory component | |
JP2002281019A (ja) | 携帯可能情報記憶媒体およびその認証方法 | |
US20190324678A1 (en) | System and Method for Encrypted Disk Drive Sanitizing | |
CN109445705A (zh) | 固件认证方法及固态硬盘 | |
US9450761B2 (en) | Memory system and method of generating management information | |
JP2009104380A (ja) | ロボット不正使用防止装置およびロボット不正使用防止方法 | |
CN114818005B (zh) | 一种Linux系统完整性检查方法与系统 | |
CN103873238A (zh) | 一种密码机软件完整性的安全保护方法 | |
CN110932853B (zh) | 一种基于可信模块的密钥管理装置和密钥管理方法 | |
CN105809494A (zh) | 发票生成及验证方法及系统 | |
JP2009284231A (ja) | 鍵生成装置、鍵生成方法及び鍵生成プログラム、並びに、電子機器 | |
CN108363912A (zh) | 一种程序代码的密保方法及装置 | |
JP2015049785A (ja) | プログラム処理装置 | |
JP2001195551A (ja) | Icカード読取装置及びicカードシステム | |
CN107292172B (zh) | 用于相对于参考计算机文件自动验证目标计算机文件的方法 | |
Beri et al. | Dynamic software component authentication for autonomous systems using slack space | |
JP4710232B2 (ja) | 電子データの証拠性を保証しながら同データを保管する電子データ保管システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130514 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131001 |