(57)【要約】  電子機器１００は、鍵を用いた鍵使用処理を実行する。物理量生成部１９０は、電子機器の個体ごとに値が異なり、かつ、生成される度に値が異なる電子機器に固有の物理量を生成する。鍵生成部１４０は、物理量生成部１９０によって生成された物理量に基づいて、鍵使用処理が実行される度に、鍵使用処理の開始直前に、毎回、同一の鍵を生成する。鍵使用処理実行部１０１０は、鍵生成部１４０により生成された鍵を使用して、鍵付きハッシュ値の生成などの鍵使用処理を実行する。制御プログラム実行部１８０は、鍵使用処理が終了する度に、鍵生成部１４０により生成された鍵を消去する。
2010134192.tif 000002
【特許請求の範囲】
【請求項１】
鍵を用いた処理を示す鍵使用処理を実行する電子機器において、
前記電子機器の個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成する物理量生成部と、
前記物理量生成部によって生成された前記物理量に基づいて、前記鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成する鍵生成部と、
前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行する鍵使用処理実行部と、
前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去する鍵消去部と
を備えたことを特徴とする電子機器。
【請求項２】
前記鍵使用処理実行部は、
前記鍵使用処理として、前記鍵生成部によって生成された前記鍵を使用して、所定の処理に使用される情報であって予め指定された情報の鍵付きハッシュ値を生成する鍵付きハッシュ値生成処理を実行する鍵付きハッシュ値生成部と、
前記鍵付きハッシュ値生成部によって過去に生成された鍵付きハッシュ値をチェックコードとして記憶するチェックコード記憶部と、
前記チェックコード記憶部に記憶された前記チェックコードと、前記鍵付きハッシュ値生成部の現在の前記鍵付きハッシュ値生成処理により生成された鍵付きハッシュ値とを比較し、一致するかどうかを判定する比較部と
を備え、
前記電子機器は、さらに、
前記比較部によって一致すると判定された場合にのみ、前記予め指定された情報を用いた前記所定の処理を実行する一致情報実行部を備えたことを特徴とする請求項１記載の電子機器。
【請求項３】
前記鍵使用処理実行部は、
前記鍵使用処理として、前記鍵生成部によって生成された前記鍵を使用して暗号化処理を実行する暗号処理部と、
前記鍵使用処理として、前記暗号処理部によって暗号化されたデータを、前記鍵生成部によって生成された前記鍵を使用して復号する復号処理部と
を備えたことを特徴とする請求項１記載の電子機器。
【請求項４】
前記鍵生成部は、
物理的複製不能関数（ＰＵＦ：Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）を用いることにより前記鍵を生成することを特徴とする請求項１記載の電子機器。
【請求項５】
コンピュータを、
前記コンピュータの個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成する物理量生成部、
前記物理量生成部によって生成された前記物理量に基づいて、鍵を用いた処理を示す鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成する鍵生成部、
前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行する鍵使用処理実行部、
前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去する鍵消去部、
として機能させる鍵生成プログラム。
【請求項６】
請求項５記載の鍵生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項７】
鍵を用いた処理を示す鍵使用処理を実行する電子機器が行う鍵生成方法において、
物理量生成部が、前記電子機器の個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成し、
鍵生成部が、前記物理量生成部によって生成された前記物理量に基づいて、前記鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成し、
鍵使用処理実行部が、前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行し、
鍵消去部が、前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去することを特徴とする鍵生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器に内蔵されたプログラムやパラメータの模倣及び不正な書き換えを検知する機能を有する装置に関する。
【背景技術】
【０００２】
ソフトウェアやパラメータを組み込んだ電子機器は、一般に組み込み機器、あるいは組み込みシステムと呼ばれる。組み込み機器は、家電、自動車、鉄道、工場生産設備等の核心部において、これらの家電や自動車等の制御を司っている。近年のモバイル化、情報化といった動きにより、組み込み機器は、急速に、ネットワーク化、高機能化、大規模化している。そして社会の基幹システムを支え、また、組み込み機器の適用範囲は、拡大の一途を辿っている。これらの状況の変化に伴い、組み込み機器のセキュリティに対する意識は、急速に高まりつつある。【０００３】
組み込み機器がネットワークに接続されると、ネットワーク経由の脅威にさらされる。さらに、組み込み機器の特質として、組み込み機器は、組み込み機器の持ち主による搭載ソフトウェアやパラメータの不正取り出し、不正書き換え等が可能という脅威にされされている。電子機器（組み込み機器）のプログラムやパラメータが不正に改竄されると、製造者が意図しない挙動を示す。この結果、ハードウェアが許容限界を超えてしまう。このように、改竄は、電子機器の信頼性や安全性に大きな影響を与える。また、組み込み機器の機能の多くは、内蔵されたソフトウェアやパラメータによって実現される場合が多い。これらプログラム等の内容が、リバースエンジニアリング等によって漏洩するという危険もある。【０００４】
電子機器に組み込まれたソフトウェアやパラメータに対する不正な書き換え（改竄）や、模倣あるいは内容の漏洩（プログラム、パラメータの取り出し）から保護するため、従来では、次のような方法をとっていた。
（１）鍵付きハッシュ値等をチェックコードとして用いる（改竄防止）。
（２）ソフトウェアやパラメータを暗号化して電子機器に格納し、実行時に復号する（改竄、取り出し防止）。【０００５】
どちらの方法も鍵付きハッシュ値や暗号化処理／復号処理を行う際の鍵を、機器内に格納、若しくは機器外部に格納する必要があるため、機器を解析されたり、鍵情報が漏洩したりすると、前記（１）、（２）の対策が無効化されるという不都合がある。【０００６】
図８〜図１１を参照して、従来のチェックコード方式を説明する。図８、図９は、従来の電子機器１０のブロック図である。図１０、図１１は、動作のフローチャートである。図８、図９は、鍵付きハッシュ値によるチェックコード１３や、暗号化処理を用いた、電子機器内のプログラム、パラメータの改竄検出、模倣防止を説明する図である。鍵付きハッシュ値によるチェックコード１３を用いた改竄検出は次の手順（図１０）による。【０００７】
まず、不揮発性メモリ１１には電子機器１０の制御プログラム１２が格納されている。この制御プログラム１２とチェックコード生成用鍵から鍵付きハッシュ値Ｈ０を計算し（Ｓ０１）、これをチェックコード１３として不揮発性メモリ１１に書き込む（Ｓ０２）。チェックコード生成用鍵は電子機器１０内に格納されており、あるいはＩ／Ｏ１４経由で外部から入力されてもよい。ここまでの手順は工場出荷前など、事前にセキュリティ的に安全な環境で実施する。【０００８】
次に、ＣＰＵ１６は以下の処理を実行する。ＣＰＵ１６は、電子機器１０内の制御プログラム１２が改竄されていないかどうかを確認する。図９に示すように、電源投入後若しくは任意のタイミングで、ＣＰＵ１６は、制御プログラム１２とチェックコード生成用鍵とから、鍵付きハッシュ値Ｈ１を計算する（Ｓ１１）。このときのチェックコード生成用鍵も電子機器１０内に格納したり、Ｉ／Ｏ１４経由で外部から入力してもよい。ＣＰＵ１６は、計算した鍵付きハッシュ値Ｈ１を、不揮発性メモリ１１に格納されたチェックコード１３と比較する（Ｓ１２）。比較の結果、一致していれば、制御プログラム１２に改竄はないことになり、ＣＰＵ１６は、制御プログラム１２を実行し、これにより、電子機器１０は正常に動作する（Ｓ１３）。一致しなければ、制御プログラム１２に改竄が加えられたことになり、ＣＰＵ１６は、電子機器１０の動作を停止させ、あるいはアラームを出す等の然るべき処理を行う（Ｓ１４）。【０００９】
次に、図１１を参照して、鍵付きハッシュ値によるチェックコード１３を用いた改竄検出とともに、暗号化及び復号処理を用いた制御プログラム１２の模倣防止について説明する。改竄検出方法は先に述べたとおりである。模倣防止は次の手順による。【００１０】
不揮発性メモリ１１に格納された制御プログラム１２は、暗号鍵Ｋ１を用いた暗号化処理により、不揮発性メモリ１１に格納される。このとき暗号化された制御プログラム１２（暗号化プログラム１２ａ）は、制御プログラム１２に上書きされる。これにより、制御プログラム１２そのものは、電子機器１０内には存在しなくなる（Ｓ２１）。暗号化処理を行う際の暗号鍵は、チェックコード生成用鍵と同様に、電子機器１０内に格納したり、Ｉ／Ｏ１４経由で外部から入力してもよい。ここまでの手順はここまでの手順は工場出荷前など、事前にセキュリティ的に安全な環境で実施する。【００１１】
電子機器１０を動作させる際は、ＣＰＵ１６は、暗号化制御プログラム１２ａを復号鍵で元の制御プログラム１２に復号し（Ｓ２２）、実行することにより電子機器１０の制御を行う。このときの復号鍵は、電子機器１０内に格納したり、Ｉ／Ｏ１４経由で外部から入力してもよい。このような手順を行うことにより、制御プログラム１２は通常は暗号化された状態で電子機器１０に格納されるため、暗号鍵や復号鍵を入手しない限り、模倣することは困難になる。【００１２】
次にもう１つの従来例として、図１２、図１３を参照して、特願２００１ー９６０４０号公報（特許文献１）に記載の「遊技機及び検証装置」について説明する。【００１３】
特許文献１では、格納用暗号化鍵で暗号化された格納用暗号化データ２２（暗号化された制御プログラム２５）と格納用復号鍵２３（暗号化された制御プログラム２２を復号する鍵）とを、遊技機２０内の格納用記憶装置２１に記憶する（Ｓ４１）。遊技機２０を動作させる際には（Ｓ４２、ＹＥＳ）、格納用暗号化データ２２を格納用復号鍵２３で復号することにより、制御プログラム２５が実行される（Ｓ４３）。暗号化／復号処理は非対称暗号系により構成されており、暗号化鍵と復号鍵とは、分けられた構成である。このような構成により、遊技機２０内には制御プログラム２５を暗号化する際の鍵が格納されないため、制御プログラム２５の偽造または改竄が困難である述べている。【００１４】
また、特許文献１では、遊技機２０の格納用記憶装置２１に格納された格納用暗号化データ２２は、暗号化のまま検証用装置３０に伝送される。そして、格納用暗号化データ２２は検証用装置３０内に予め記憶された照合用データ３２と照合され、真偽が検証される。この際、制御プログラムは暗号化のまま処理されるので、プログラム内容の漏洩を防ぐこともできると述べている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特願２００１−９６０４０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
上記のように、図８〜図１１の場合は、チェックコード生成用鍵や暗号鍵、復号鍵は、電子機器１０内やその外部に常時存在している。このため、電子機器１０の解体により鍵情報が抜き取られたり、装置外部で保管している鍵情報が流出すること等によって、鍵情報が第三者に取得され、改竄や模倣が行われるという課題がある。【００１７】
また特許文献１の「遊技機２０内に暗号化鍵を格納しないことにより制御プログラムの偽造／改竄を防ぐ」という点については、「暗号化された制御プログラムと共に、復号鍵も書き換えてしまう」ことにより改竄が可能である。また、検証用装置３０を用いた改竄検出についても、検証用装置３０内の検証データを遊技機２０内の暗号化された制御データと整合するものに書き換えてしまえば、改竄を検知することはできなくなってしまうという課題がある。【００１８】
この発明は、プログラムやパラメータが内蔵された電子機器において、プログラムやパラメータの不正な書き換えや、不正な取り出しを効果的に防止する電子機器の提供を目的とする。
【課題を解決するための手段】
【００１９】
この発明の電子機器は、
鍵を用いた処理を示す鍵使用処理を実行する電子機器において、
前記電子機器の個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成する物理量生成部と、
前記物理量生成部によって生成された前記物理量に基づいて、前記鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成する鍵生成部と、
前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行する鍵使用処理実行部と、
前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去する鍵消去部と
を備えたことを特徴とする。【００２０】
前記鍵使用処理実行部は、
前記鍵使用処理として、前記鍵生成部によって生成された前記鍵を使用して、所定の処理に使用される情報であって予め指定された情報の鍵付きハッシュ値を生成する鍵付きハッシュ値生成処理を実行する鍵付きハッシュ値生成部と、
前記鍵付きハッシュ値生成部によって過去に生成された鍵付きハッシュ値をチェックコードとして記憶するチェックコード記憶部と、
前記チェックコード記憶部に記憶された前記チェックコードと、前記鍵付きハッシュ値生成部の現在の前記鍵付きハッシュ値生成処理により生成された鍵付きハッシュ値とを比較し、一致するかどうかを判定する比較部と
を備え、
前記電子機器は、さらに、
前記比較部によって一致すると判定された場合にのみ、前記予め指定された情報を用いた前記所定の処理を実行する一致情報実行部を備えたことを特徴とする。【００２１】
前記鍵使用処理実行部は、
前記鍵使用処理として、前記鍵生成部によって生成された前記鍵を使用して暗号化処理を実行する暗号処理部と、
前記鍵使用処理として、前記暗号処理部によって暗号化されたデータを、前記鍵生成部によって生成された前記鍵を使用して復号する復号処理部と
を備えたことを特徴とする。【００２２】
前記鍵生成部は、
物理的複製不能関数（ＰＵＦ：Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）を用いることにより前記鍵を生成することを特徴とする。【００２３】
この発明の鍵生成プログラムは、
コンピュータを、
前記コンピュータの個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成する物理量生成部、
前記物理量生成部によって生成された前記物理量に基づいて、鍵を用いた処理を示す鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成する鍵生成部、
前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行する鍵使用処理実行部、
前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去する鍵消去部、
として機能させることを特徴とする。【００２４】
この発明の鍵生成方法は、
鍵を用いた処理を示す鍵使用処理を実行する電子機器が行う鍵生成方法において、
物理量生成部が、前記電子機器の個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成し、
鍵生成部が、前記物理量生成部によって生成された前記物理量に基づいて、前記鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成し、
鍵使用処理実行部が、前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行し、
鍵消去部が、前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去することを特徴とする。
【発明の効果】
【００２５】
この発明により、格納されたプログラムやパラメータの不正な書き換えや、不正な取り出しを効果的に防止する電子機器を提供できる。
【図面の簡単な説明】
【００２６】
【図１】実施の形態１の電子機器のブロック図。
【図２】実施の形態１の鍵生成部１４０による鍵生成を示す図。
【図３】実施の形態１のリングオシレータ１９０ａにより発生される信号を示す図。
【図４】実施の形態１の鍵付きハッシュ値を生成する場合を説明する図。
【図５】実施の形態１の平文プログラムと暗号プログラムとの格納状態を示す図。
【図６】実施の形態１のプログラムの暗号／復号処理の場合を説明する図。
【図７】実施の形態２の電子機器のハードウェア構成を示す図。
【図８】従来技術を示す図。
【図９】従来技術を示す図。
【図１０】従来技術を示す図。
【図１１】従来技術を示す図。
【図１２】従来技術を示す図。
【図１３】従来技術を示す図。
【発明を実施するための形態】
【００２７】
実施の形態１．
図１〜図６を参照して実施の形態１を説明する。図１は、実施の形態１の電子機器１００のブロック図である。
【００２８】
電子機器１００は、鍵を使用する何らかの処理（鍵使用処理という）に使用される鍵を自分で生成する。そして、電子機器１００は、鍵使用処理が実行される直前に鍵を生成し、その鍵使用処理の実行が終了すると鍵を消去する。この電子機器１００の特徴は、特に、次の（ａ），（ｂ）である。
【００２９】
（ａ．特定の物理量を元に鍵生成）
電子機器１００によって生成される鍵は、「同様に製造しても個体（電子機器）毎に値が異なる物理量、かつ個体毎に値が異なるだけでなく同一個体であっても生成の度に値が異なる物理量を元に生成される。そして、この鍵は、個体どうしでは異なる値であり、かつ、同一個体では生成のたびに固有の値（生成のたびに同じ値）として生成される」点である。すなわち、第１の特徴点は、その個体に特有の物理量から、他の個体の生成する鍵とは異なる鍵であってその個体に特有の鍵が生成される。そして、生成される鍵は、同一個体では生成されるごとに毎回同じである。
【００３０】
（ｂ．鍵の生成と消去）
第２の特徴点は、「鍵は電子機器内、あるいは他の装置には保管されない。鍵は、電子機器１００において鍵使用処理が実行されるごとにその直前に生成され、その鍵使用処理が終了するごとに消去される。」ことである。すなわち、鍵は鍵使用処理の間だけ電子機器内に存在し、それ以外には存在しないことである。
【００３１】
上記の特徴点（ａ）については、例えば、文献「Ｐ．Ｐａｉｌｌｉｅｒ  ａｎｄ  Ｉ．Ｖｅｒｂａｕｗｈｅｄｅ（Ｅｄｓ．）：ＣＨＥＳ  ２００７，ＬＮＣＳ４７２７，ｐｐ．６３−８０，２００７．“ＦＰＧＡ  Ｉｎｔｒｉｎｓｉｃ  ＰＵＦｓ  ａｎｄ  Ｔｈｅｉｒ  Ｕｓｅ  ｆｏｒ  ＩＰ  Ｐｒｏｔｅｃｔｉｏｎ”」で示されるＰＵＦ（Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）のＰＵＦ（Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ  物理的に複製困難な機能）によって実現可能である。
【００３２】
このような特徴（ａ），（ｂ）によって、鍵は、電子機器外には存在せず、また、電子機器内にも僅かな時間しか存在しないことになる。このため、電子機器の解体による鍵情報の漏洩や、電子機器外部で保管している鍵情報の漏洩を原因とするデータの改竄が極めて困難になる。
【００３３】
図１において、電子機器１００は、鍵生成部１４０、制御プログラム実行部１８０、物理量生成部１９０、鍵使用処理実行部１０１０を備える。鍵使用処理実行部１０１０は、比較部１１０、チェックコード記憶部１２０、鍵付きハッシュ値生成部１３０、ソフトウェア／パラメータ格納部１５０、暗号処理部１６０、復号処理部１７０を備える。
【００３４】
（１）物理量生成部１９０は、電子機器１００の個体ごとに値が異なり、かつ、生成される度に値が異なる電子機器に固有の物理量を生成する。該当する物理量としては、例えば後述するリングオシレータの発生する信号や、特定の回路の動作周数あるいは発振周波数、あるいは、電源投入時におけるＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）の状態（０、１の格納状態）などである。この場合、物理量生成部１９０は、リングオシレータ、特定の回路、あるいはＳＲＡＭである。
（２）鍵生成部１４０は、物理量生成部１９０によって生成された物理量に基づいて、鍵使用処理が実行される度に、鍵使用処理の開始直前に、同一の鍵を生成する。すなわち、鍵生成部１４０は、物理量生成部１９０によって生成された物理量を使用することにより、鍵使用処理が実行される度に、鍵使用処理の開始直前に、同一の鍵を生成する。
（３）鍵使用処理実行部１０１０は、鍵生成部１４０により生成された鍵を使用して、鍵使用処理を実行する。
（４）制御プログラム実行部１８０は、鍵使用処理が終了する度に、鍵生成部１４０により生成された鍵消去や、その他の処理を実行する。
【００３５】
図２は、鍵生成部１４０による、鍵生成の一例を示す図である。図２において、リングオシレータ１９０ａは、物理量生成部１９０の一例である。また、図３は、リングオシレータ１９０ａにより発生される信号（物理量）と、信号をもとに生成される鍵との関係を示した図である。電子機器１のリングオシレータ（１９０ａ−１）は、信号１９１を生成し、電子機器２のリングオシレータ（１９０ａ−２）は、信号１９２を生成する。
（１）リングオシレータによって生成される信号は、電子機器の個体ごとに異なる。
（２）また、その信号は、同一の個体であっても生成される度に値が異なる。例えば、信号１９１のように、電子機器１（同一個体）においても信号の値は時間と共に変化する。
（３）ただし、リングオシレータ（１９０ａ−１）、リングオシレータ（１９０ａ−２）によって生成される信号１９１、１９２はいずれも一定の範囲Ｒ１，Ｒ２に収まるような値である。
【００３６】
電子機器１についていえば、鍵生成部１４０は、リングオシレータ（１９０ａ−１）によって生成された信号１９１に基づいて、鍵使用処理が実行される度に、鍵使用処理の開始直前に、同一の鍵Ｋ１を生成する。すなわち、信号１９１に基づき、都度生成される鍵のうち最初に生成される鍵をＫ１（０）とし、それ以降に生成される鍵をＫ１（ｉ）（ｉ＝１，２，・・・）とすると、都度生成される鍵は同じものである。すなわち、
Ｋ１（０）＝Ｋ１（ｉ）（ｉ＝１，２，・・・）
である。
電子機器２について生成される鍵をＫ２とすれば、電子機器２についても同様に、
Ｋ２（０）＝Ｋ２（ｉ）（ｉ＝１，２，・・・）
である。
ただし、個体が異なれば同じ製品であっても鍵は異なる。
すなわち、電子機器１と電子機器２とについては、
Ｋ１（０）≠Ｋ２（０）
である。
【００３７】
図２に示すように、鍵生成部１４０は、物理量生成部１９０であるリングオシレータ（１９０ａ−１）の信号に基づき、鍵を生成する。鍵生成部１４０は、図２に示すように、例えば、信号１９１を元に、ＰＯＷ（Ｐｈｙｓｉｃａｌ  Ｏｎｅ  ｗａｙ  ｆｕｎｃｔｉｏｎ）とＨＤＡ（Ｈｅｌｐｅｒ  Ｄａｔａ  Ａｌｇｏｒｉｔｈｍ）とから鍵を生成する。このＰＯＷとＨＤＡとがＰＵＦを構成する。ＨＤＡの一例はＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）である。
【００３８】
次に、図４を参照して、電子機器１００における鍵生成機能を使用した改竄検出について説明する。
【００３９】
（鍵付きハッシュ値の生成）
図４に示す例は、鍵付きハッシュ値を事前に計算して、これをチェックコードとして格納し、再計算した鍵付きハッシュ値と比較して改竄検出を行う場合である。図４は図８〜図１１で述べた場合とほぼ同様であるが、相違は、図４では、電子機器１００が、上記の特徴（ａ），（ｂ）に基づき、改竄検出を実行することにある。改竄検出の対象となる情報は、ソフトウェア／パラメータ格納部１５０に記憶されているプログラム１５１やパラメータ等の情報である。以下ではプログラム１５１を改竄検出の対象として説明する。
【００４０】
（Ｓ１０１）
Ｓ１０１において、電子機器１００では、工場において、ソフトウェア／パラメータ格納部１５０に格納されたプログラム１５１の鍵付きハッシュ値Ｈ（０）が生成され、チェックコード記憶部１２０に格納される。具体的には、まず、ソフトウェア／パラメータ格納部１５０にプログラム１５１が格納される。鍵生成部１４０は、鍵付きハッシュ値の生成処理（鍵使用処理の一例）の直前に、物理量生成部１９０により生成された物理量を元に、鍵Ｋ（０）を生成する。鍵付きハッシュ値生成部１３０は、鍵Ｋ（０）を用いて、プログラム１５１の鍵付きハッシュ値Ｈ（０）を生成し、チェックコード記憶部１２０にチェックコードとして鍵付きハッシュ値Ｈ（０）を格納する。制御プログラム実行部１８０（鍵消去部の一例）は、鍵付きハッシュ値Ｈ（０）の生成処理が終了すると、鍵Ｋ（０）を消去する。
【００４１】
（Ｓ１０２）
Ｓ１０２において、ユーザが電子機器１００を購入したとする。
【００４２】
（Ｓ１０３）
Ｓ１０３において、鍵付きハッシュ値の生成処理が実行される。鍵付きハッシュ値の生成処理は、プログラム１５１の実行が要求される場合である。この場合、鍵付きハッシュ値の生成処理の開始直前に、鍵生成部１４０が鍵Ｋ（１）を生成する。鍵Ｋ（１）はＳ１０１で生成された鍵Ｋ（０）と同一である（Ｋ（０）＝Ｋ（１））。鍵付きハッシュ値生成部１３０は、Ｓ１０１の場合と同様に、鍵Ｋ（１）を用いてプログラム１５１の鍵付きハッシュ値Ｈ（１）を生成する。比較部１１０は、鍵付きハッシュ値Ｈ（１）と、チェックコード記憶部１２０に格納されている鍵付きハッシュ値Ｈ（０）とを比較し、一致するかどうかを判定する。制御プログラム実行部１８０（一致情報実行部の一例）は、比較部１１０によって両方のハッシュ値が一致すると判定されると、プログラム１５１の処理を実行する。制御プログラム実行部１８０は、比較部１１０によって両方のハッシュ値が一致しないと判定されると、警告（警告表示、警告音など）を発すると共に、プログラム１５１を実行しない。また、制御プログラム実行部１８０（鍵消去部）は、鍵付きハッシュ値Ｈ（１）の生成処理が終了すると、鍵Ｋ（１）を消去する。
【００４３】
以降、図４のＳ１０４、Ｓ１０５に示すように、プログラム１５１の実行が要求される度に、Ｓ１０３と同様の処理が実行される。すなわち、鍵生成部１４０は毎回鍵を生成し、鍵付きハッシュ値生成部１３０は、生成された鍵でプログラム１５１から鍵付きハッシュ値を生成する。そして、比較部１１０はチェックコード記憶部１２０に記憶されている鍵付きハッシュ値Ｈ（０）と、生成された鍵付きハッシュ値Ｈ（ｉ）（ｉ＝２，３，・・・）とを比較する。制御プログラム実行部１８０は、比較結果が一致していればプログラム１５１を実行し、一致していなければプログラム１５１を実行しない。そして、制御プログラム実行部１８０は、その回の鍵付きハッシュ値の生成処理が終了すると、その回に生成された鍵を消去する。
【００４４】
（暗号／復号処理）
次に、図５、図６を参照して、暗号化処理及び復号処理を用いた、プログラムやパラメータの内容の漏洩防止や模倣防止について説明する。暗号、復号の対象は、プログラム１５１を例に説明する。
【００４５】
制御プログラムやパラメータを暗号化して格納し、動作時に復号して実行する点については背景技術で述べた場合と同様である。相違するのは、鍵付きハッシュ値計算の場合と同様に、鍵の生成方法と、鍵を電子機器１００内及び外部装置に保持しない点である。
【００４６】
図５は平文プログラムと暗号プログラムとの格納状態を示す図である。ソフトウェア／パラメータ格納部１５０は、例えばフラッシュメモリが使用される。また、復号処理部１７０は例えばＲＡＭが使用される。図５に示すように、不揮発性のフラッシュメモリには暗号プログラムが常時存在する。そして、プログラムの実行が要求される場合に、暗号プログラムがフラッシュメモリから読み出され、復号され、実行される。復号されたプログラムは、処理が終了すると消去される。以下、図６を参照して説明する。
【００４７】
（Ｓ２０１）
図６は、プログラムの暗号／復号処理の場合を説明する図である。まず、Ｓ２０１において、電子機器１００では、工場において、ソフトウェア／パラメータ格納部１５０に平文のプログラム１５１が格納される。平文のプログラム１５１が格納されると、暗号処理部１６０により、プログラム１５１の暗号化処理（鍵使用処理）が実行される。鍵生成部１４０は、プログラム１５１の暗号化処理の直前に、物理量生成部１９０により生成された物理量を元に、鍵Ｋ（０）を生成する。暗号処理部１６０は、鍵Ｋ（０）を用いてプログラム１５１を暗号化し、暗号化されたプログラム１５１をソフトウェア／パラメータ格納部１５０に格納する。暗号化されたプログラム１５１は、電子機器１００が次の使用状態（例えば、電源がＯＮとなる場合）となるとにき、復号処理部１７０によって復号される。
【００４８】
（２０２）
ステップＳ２０２において、ユーザが電子機器１００を購入したとする。
【００４９】
（Ｓ２０３）
Ｓ２０３において、ユーザが電子機器１００の電源をＯＮにすると、復号処理部１７０がソフトウェア／パラメータ格納部１５０に格納されている暗号化されたプログラム１５１を読み出し、復号処理（鍵使用処理）を実行する。鍵生成部１４０は、プログラム１５１の復号処理の直前に、物理量生成部１９０により生成された物理量を元に、鍵Ｋ（１）を生成する。復号処理部１７０は、鍵Ｋ（１）を用いてプログラム１５１を復号し、復号されたプログラム１５１を制御プログラム実行部１８０に送信する。制御プログラム実行部１８０は、復号処理部１７０による復号処理が終了すると、生成された鍵Ｋ（１）を消去する。また、制御プログラム実行部１８０は、復号処理部１７０から受信したプログラム１５１を実行し、処理が終了すると消去する。
【００５０】
以下、ステップＳ２０４、Ｓ２０５等も同様に、電源がＯＮされるたびに鍵Ｋ（２）、Ｋ（３）等が生成され（Ｓ２０４、Ｓ２０５）、その回の復号処理が終了すると、鍵Ｋ（２）、Ｋ（３）等は消去される。
【００５１】
実施の形態１の電子機器１００は、鍵生成部１４０にＰＵＦが実装されているので、個体（電子機器）ごとに異なる物理量からその個体に固有の鍵を生成可能であり、しかも、毎回同じ鍵を生成できる。このため、
（１）鍵を電子機器内や外部装置に保持する必要がないこと、
（２）複数の同一の電子機器（同一製品のシリアル番号違い）が存在しても個体ごと（シリアル番号ごと）に生成される鍵は異なること、
（３）その個体では毎回同じ鍵が生成されること、
等により、従来同様に、鍵を使用した処理が可能であると共に、鍵が流出する恐れが著しく低下するという効果がある。
【００５２】
以上の実施の形態１では、次の電子機器を説明した。すなわち、
内蔵したソフトウェアやパラメータによって動作を制御・設定する電子機器において、
予めソフトウェアやパラメータから鍵付ハッシュ値を計算してチェックコードを生成する機能と、
前記チェックコードを記憶する機能と、
起動時、若しくは任意のタイミングでソフトウェアやパラメータから鍵付ハッシュ値を再計算し、記憶しているチェックコードと比較することにより改竄を検知する機能と
を備えた電子機器を説明した。
この電子機器において、
前記鍵付ハッシュ値を計算する際の鍵は、
同様に製造しても個体毎に値が異なる物理量、かつ個体毎だけでなく同一個体でも生成の度に値が異なる物理量を元に、同様の機器毎には異なる値で、かつ、同一の個体では固有の値として生成される。
また、この鍵は、
電子機器内に格納されず、電子機器の起動時または任意のタイミングで、その度ごとに、電子機器によって生成される。
【００５３】
以上の実施の形態１では、次の電子機器を説明した。すなわち、
内蔵したソフトウェアやパラメータを暗号化処理する機能と、
暗号化したソフトウェアやパラメータを格納する機能と、
処理を行う際には前記暗号化したソフトウェアやパラメータを復号処理する機能と
を備えた電子機器を説明した。
暗号化や復号には前記鍵付ハッシュ値を計算する際の鍵と同じく、
この鍵は、
同様に製造しても個体毎に値が異なる物理量、かつ個体毎だけでなく同一個体でも生成の度に値が異なる物理量を元に、同様の機器毎には異なる値で、かつ、同一の個体では固有の値として生成される。
また、この鍵は、
電子機器内に格納されず、電子機器の起動時または任意のタイミングで、その度ごとに、電子機器によって生成される。
【００５４】
以上の実施の形態１では、次の電子機器を説明した。すなわち、
前記鍵付ハッシュ値の計算に用いる鍵、暗号化処理若しくは復号処理を行う際の鍵は、ＰＵＦ（Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ  物理的に複製困難な機能）を用いて生成する電子機器を説明した。
【００５５】
実施の形態２．
次に図７を参照して、実施の形態２を説明する。実施の形態２は、電子機器１００の一連の動作を、方法、プログラム、プログラムを記録したコンピュータ読み取り可能な記録媒体として把握した場合の実施形態である。
【００５６】
以上の実施の形態１では、電子機器１００について説明した。実施の形態１の電子機器１００の構成要素である各構成要素（「〜部」）の一連の動作は互いに関連しており、この一連の動作を、電子機器１００が行う方法として把握することも可能である。また、これらの一連の動作をコンピュータに実行させる処理として把握することで、コンピュータに実行させるプログラムとして把握することができる。また、プログラムを記録したコンピュータ読み取り可能な記録媒体として把握することも可能である。
【００５７】
図７は、コンピュータである電子機器１００のハードウェア資源の一例を示す図である。図７において、電子機器１００は、プログラムを実行するＣＰＵ８１０（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ８１１（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ８１２（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、表示装置８１３、操作キー８１４、通信ボード８１６、フラッシュメモリ８２０等と接続され、これらのハードウェアデバイスを制御する。フラッシュメモリの代わりに磁気ディスク装置、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
【００５８】
ＲＡＭ８１２は、揮発性メモリの一例であり、ＲＯＭ８１１、フラッシュメモリ８２０等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部の一例である。
【００５９】
通信ボード８１６は、他の装置との間で通信を行う。
【００６０】
フラッシュメモリ８２０には、オペレーティングシステム８２１（ＯＳ）、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＣＰＵ８１０、オペレーティングシステム８２１により実行される。
【００６１】
上記プログラム群８２３には、実施の形態１の説明において「〜部」として述べた機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【００６２】
ファイル群８２４には、上記の実施の形態で述べた物理的複製不能関数（ＰＵＦ）や、「〜の判定結果」、「〜の生成結果」、「〜の抽出結果」、「〜の処理結果」として説明した情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力、表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力、表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００６３】
また、以上の実施の形態１の説明において「〜部」として説明したものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明したものは、ＲＯＭ８１１に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以上の説明で述べた「〜部」としてコンピュータを機能させるものである。
【符号の説明】
【００６４】
１００  電子機器、１１０  比較部、１２０  チェックコード記憶部、１３０  鍵付きハッシュ値生成部、１４０  鍵生成部、１５０  ソフトウェア／パラメータ格納部、１６０  暗号処理部、１７０  復号処理部、１８０  制御プログラム実行部、１９０  物理量生成部、１９０ａ  リングオシレータ、１０１０  鍵使用処理実行部。
【図１】
2010134192.tif 000003
【図２】
2010134192.tif 000004
【図３】
2010134192.tif 000005
【図４】
2010134192.tif 000006
【図５】
2010134192.tif 000007
【図６】
2010134192.tif 000008
【図７】
2010134192.tif 000009
【図８】
2010134192.tif 000010
【図９】
2010134192.tif 000011
【図１０】
2010134192.tif 000012
【図１１】
2010134192.tif 000013
【図１２】
2010134192.tif 000014
【図１３】
2010134192.tif 000015
【手続補正書】
【提出日】平成22年3月5日(2010.3.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
鍵を用いた処理を示す鍵使用処理を実行する電子機器において、
前記電子機器の個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成する物理量生成部と、
前記物理量生成部によって生成された前記物理量に基づいて、前記鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成する鍵生成部と、
前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行する鍵使用処理実行部と、
前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去する鍵消去部と
を備え、
前記鍵使用処理実行部は、
前記鍵使用処理として、前記鍵生成部によって生成された前記鍵を使用して、所定の処理に使用される情報であって予め指定された情報の鍵付きハッシュ値を生成する鍵付きハッシュ値生成処理を実行する鍵付きハッシュ値生成部と、
前記鍵付きハッシュ値生成部によって過去に生成された鍵付きハッシュ値をチェックコードとして記憶するチェックコード記憶部と、
前記チェックコード記憶部に記憶された前記チェックコードと、前記鍵付きハッシュ値生成部の現在の前記鍵付きハッシュ値生成処理により生成された鍵付きハッシュ値とを比較し、一致するかどうかを判定する比較部と
を備え、
前記電子機器は、さらに、
前記比較部によって一致すると判定された場合にのみ、前記予め指定された情報を用いた前記所定の処理を実行する一致情報実行部を備えたことを特徴とする電子機器。
【請求項２】
前記鍵使用処理実行部は、
前記鍵使用処理として、前記鍵生成部によって生成された前記鍵を使用して暗号化処理を実行する暗号処理部と、
前記鍵使用処理として、前記暗号処理部によって暗号化されたデータを、前記鍵生成部によって生成された前記鍵を使用して復号する復号処理部と
を備えたことを特徴とする請求項１記載の電子機器。
【請求項３】
前記鍵生成部は、
物理的複製不能関数（ＰＵＦ：Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）を用いることにより前記鍵を生成することを特徴とする請求項１記載の電子機器。
【請求項４】
コンピュータを、
前記コンピュータの個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成する物理量生成部、
前記物理量生成部によって生成された前記物理量に基づいて、鍵を用いた処理を示す鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成する鍵生成部、
前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行する鍵使用処理実行部、
前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去する鍵消去部、
として機能させると共に、
さらに、コンピュータを、
前記鍵使用処理として、前記鍵生成部によって生成された前記鍵を使用して、所定の処理に使用される情報であって予め指定された情報の鍵付きハッシュ値を生成する鍵付きハッシュ値生成処理を実行する鍵付きハッシュ値生成部、
前記鍵付きハッシュ値生成部によって過去に生成された鍵付きハッシュ値をチェックコードとして記憶するチェックコード記憶部、
前記チェックコード記憶部に記憶された前記チェックコードと、前記鍵付きハッシュ値生成部の現在の前記鍵付きハッシュ値生成処理により生成された鍵付きハッシュ値とを比較し、一致するかどうかを判定する比較部、
前記比較部によって一致すると判定された場合にのみ、前記予め指定された情報を用いた前記所定の処理を実行する一致情報実行部
として機能させることを特徴とする鍵生成プログラム。
【請求項５】
請求項４記載の鍵生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項６】
鍵を用いた処理を示す鍵使用処理を実行する電子機器が行う鍵生成方法において、
物理量生成部が、前記電子機器の個体ごとに値が異なり、かつ、生成される度に値が異なる前記電子機器に固有の物理量を生成し、
鍵生成部が、前記物理量生成部によって生成された前記物理量に基づいて、前記鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成し、
鍵使用処理実行部が、前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行し、
鍵消去部が、前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去すると共に、
鍵付きハッシュ値生成部が、前記鍵使用処理として、前記鍵生成部によって生成された前記鍵を使用して、所定の処理に使用される情報であって予め指定された情報の鍵付きハッシュ値を生成する鍵付きハッシュ値生成処理を実行し、
チェックコード記憶部が、前記鍵付きハッシュ値生成部によって過去に生成された鍵付きハッシュ値をチェックコードとして記憶し、
比較部が、前記チェックコード記憶部に記憶された前記チェックコードと、前記鍵付きハッシュ値生成部の現在の前記鍵付きハッシュ値生成処理により生成された鍵付きハッシュ値とを比較し、一致するかどうかを判定し、
一致情報実行部が、前記比較部によって一致すると判定された場合にのみ、前記予め指定された情報を用いた前記所定の処理を実行することを特徴とする鍵生成方法。
【請求項７】
（削除）
【手続補正書】
【提出日】平成23年11月4日(2011.11.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項４
【補正方法】変更
【補正の内容】
【請求項４】
コンピュータを、
前記コンピュータの個体ごとに値が異なり、かつ、生成される度に値が異なる前記コンピュータに固有の物理量を生成する物理量生成部、
前記物理量生成部によって生成された前記物理量に基づいて、鍵を用いた処理を示す鍵使用処理が実行される度に、前記鍵使用処理の開始直前に、同一の前記鍵を生成する鍵生成部、
前記鍵生成部により生成された前記鍵を使用して前記鍵使用処理を実行する鍵使用処理実行部、
前記鍵使用処理が終了する度に、前記鍵生成部により生成された前記鍵を消去する鍵消去部、
として機能させると共に、
さらに、前記コンピュータを、
前記鍵使用処理として、前記鍵生成部によって生成された前記鍵を使用して、所定の処理に使用される情報であって予め指定された情報の鍵付きハッシュ値を生成する鍵付きハッシュ値生成処理を実行する鍵付きハッシュ値生成部、
前記鍵付きハッシュ値生成部によって過去に生成された鍵付きハッシュ値をチェックコードとして記憶するチェックコード記憶部、
前記チェックコード記憶部に記憶された前記チェックコードと、前記鍵付きハッシュ値生成部の現在の前記鍵付きハッシュ値生成処理により生成された鍵付きハッシュ値とを比較し、一致するかどうかを判定する比較部、
前記比較部によって一致すると判定された場合にのみ、前記予め指定された情報を用いた前記所定の処理を実行する一致情報実行部
として機能させることを特徴とする鍵生成プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
特許文献１では、格納用暗号化鍵で暗号化された格納用暗号化データ２２（暗号化された制御プログラム２５）と格納用復号鍵２３（暗号化された制御プログラム２２を復号する鍵）とを、遊技機２０内の格納用記憶装置２１に記憶する（Ｓ４１）。遊技機２０を動作させる際には（Ｓ４２、ＹＥＳ）、格納用暗号化データ２２を格納用復号鍵２３で復号することにより、制御プログラム２５が実行される（Ｓ４３）。暗号化／復号処理は非対称暗号系により構成されており、暗号化鍵と復号鍵とは、分けられた構成である。このような構成により、遊技機２０内には制御プログラム２５を暗号化する際の鍵が格納されないため、制御プログラム２５の偽造または改竄が困難であると述べている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
【特許文献１】特開２００１−９６０４０号公報
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
上記の特徴点（ａ）については、例えば、文献「Ｐ．Ｐａｉｌｌｉｅｒ  ａｎｄ  Ｉ．Ｖｅｒｂａｕｗｈｅｄｅ（Ｅｄｓ．）：ＣＨＥＳ  ２００７，ＬＮＣＳ４７２７，ｐｐ．６３−８０，２００７．“ＦＰＧＡ  Ｉｎｔｒｉｎｓｉｃ  ＰＵＦｓ  ａｎｄ  Ｔｈｅｉｒ  Ｕｓｅ  ｆｏｒ  ＩＰ  Ｐｒｏｔｅｃｔｉｏｎ”」で示されるＰＵＦ（Ｐｈｙｓｉｃａｌ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ  物理的に複製困難な機能）によって実現可能である。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００４８
【補正方法】変更
【補正の内容】
【００４８】
（Ｓ２０２）
ステップＳ２０２において、ユーザが電子機器１００を購入したとする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2010134192.tif 000016
【国際調査報告】
2010134192.tif 000017
2010134192.tif 000018
2010134192.tif 000019
2010134192.tif 000020