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

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

▶ ルネサスエレクトロニクス株式会社の特許一覧

<>
  • 特許-データ処理方法及びデータ処理システム 図1
  • 特許-データ処理方法及びデータ処理システム 図2
  • 特許-データ処理方法及びデータ処理システム 図3
  • 特許-データ処理方法及びデータ処理システム 図4
  • 特許-データ処理方法及びデータ処理システム 図5
  • 特許-データ処理方法及びデータ処理システム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-04
(45)【発行日】2022-11-14
(54)【発明の名称】データ処理方法及びデータ処理システム
(51)【国際特許分類】
   G06F 21/10 20130101AFI20221107BHJP
   H04L 9/08 20060101ALI20221107BHJP
   G06F 21/60 20130101ALI20221107BHJP
【FI】
G06F21/10
H04L9/08 C
G06F21/60
【請求項の数】 13
(21)【出願番号】P 2019102680
(22)【出願日】2019-05-31
(65)【公開番号】P2020197832
(43)【公開日】2020-12-10
【審査請求日】2021-10-08
(73)【特許権者】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】北川 隆
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2004-318564(JP,A)
【文献】特開2019-068413(JP,A)
【文献】特開2001-312402(JP,A)
【文献】特開2010-262447(JP,A)
【文献】特開2014-099727(JP,A)
【文献】米国特許出願公開第2019/0095604(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/10
H04L 9/08
G06F 21/60
(57)【特許請求の範囲】
【請求項1】
書き込み用データの書き込みが行われる書き込み対象物と、
前記書き込み対象物に対する前記書き込み用データの書き込み処理を行うデータ書き込み器と、
前記書き込み処理の実行回数を管理するデータ処理管理媒体と、
の間におけるデータ処理方法であって、
前記データ処理管理媒体は、前記データ書き込み器に対し着脱可能であり、
前記データ書き込み器が、前記データ処理管理媒体へ前記書き込み用データの書き込み要求を送信する第1ステップと、
前記データ処理管理媒体が、書き込み要求を受信すると、前記書き込み処理の前記実行回数をインクリメントする第2ステップと、
前記データ処理管理媒体が、前記データ書き込み器へ前記書き込み用データの書き込み許可を送信する第3ステップと、
を含み、
前記第2ステップにおいて、前記データ処理管理媒体は、前記実行回数が所定の実行回数上限値に達すると、さらに前記書き込み要求を受信しても前記書き込み許可を送信せず、
前記第1ステップにおいて、前記データ書き込み器は、前記書き込み対象物の識別情報を読み出し、読み出した前記識別情報を含む前記書き込み要求を前記データ処理管理媒体へ送信し、
前記第3ステップにおいて、前記データ処理管理媒体は、受信した前記識別情報を含む前記書き込み許可を前記データ書き込み器へ送信し、
前記データ書き込み器が、前記書き込み用データを含むデータ及び受信した前記書き込み許可を前記書き込み対象物へ送信する第4ステップと、
前記書き込み対象物が、自身の識別情報と、前記書き込み許可に含まれる前記識別情報とが一致するとき、前記書き込み用データの書き込みを行う第5ステップと、
をさらに含む、
データ処理方法。
【請求項2】
請求項に記載のデータ処理方法において、
前記第3ステップにおいて、前記データ処理管理媒体は、前記書き込み許可を暗号化し、暗号化された前記書き込み許可を前記データ書き込み器へ送信し、
前記第4ステップにおいて、前記データ書き込み器は、前記データを暗号化し、暗号化された前記データ及び暗号化された前記書き込み許可を前記書き込み対象物へ送信し、
前記第5ステップにおいて、前記書き込み対象物は、暗号化された前記書き込み許可及び暗号化された前記データをそれぞれ復号する、
データ処理方法。
【請求項3】
請求項に記載のデータ処理方法において、
前記データ処理管理媒体及び前記書き込み対象物は、第1秘密鍵をそれぞれ格納し、
前記第3ステップにおいて、前記データ処理管理媒体は、前記第1秘密鍵を用いて前記書き込み許可を暗号化し、
前記第5ステップにおいて、前記書き込み対象物は、暗号化された前記書き込み許可を前記第1秘密鍵を用いて復号する、
データ処理方法。
【請求項4】
請求項に記載のデータ処理方法において、
前記第3ステップにおいて、前記データ処理管理媒体は、第2秘密鍵と、前記第2秘密鍵と対応する第1公開鍵とからなる鍵ペアを生成し、前記第1公開鍵と、前記第2秘密鍵及び前記識別情報を含む暗号化された前記書き込み許可とを前記データ書き込み器へ送信し、
前記第4ステップにおいて、前記データ書き込み器は、受信した前記第1公開鍵を用いて前記データを暗号化し、暗号化された前記データと、暗号化された前記書き込み許可とを前記書き込み対象物へ送信し、
前記第5ステップにおいて、前記書き込み対象物は、暗号化された前記書き込み許可を前記第1秘密鍵を用いて復号して前記第2秘密鍵を取得し、暗号化された前記データを前記第2秘密鍵を用いて復号する、
データ処理方法。
【請求項5】
請求項に記載のデータ処理方法において、
前記データは、前記書き込み対象物から読み出された前記識別情報を含み、
前記第5ステップにおいて、前記書き込み対象物は、自身の前記識別情報と、前記データに含まれる前記識別情報とが一致するとき、前記書き込み用データの書き込みを行う、
データ処理方法。
【請求項6】
請求項に記載のデータ処理方法において、
前記第3ステップにおいて、前記データ処理管理媒体は、暗号化された前記書き込み許可を用いて第1メッセージ認証符号を生成し、生成した前記第1メッセージ認証符号を前記データ書き込み器へ送信し、
前記第4ステップにおいて、前記データ書き込み器は、前記第1メッセージ認証符号を前記書き込み対象物へ送信し、
前記第5ステップにおいて、前記書き込み対象物は、受信した暗号化された前記書き込み許可を用いて第2メッセージ認証符号を生成し、前記第1メッセージ認証符号と前記第2メッセージ認証符号とが一致すれば、暗号化された前記書き込み許可及び暗号化された前記データをそれぞれ復号する、
データ処理方法。
【請求項7】
請求項に記載のデータ処理方法において、
前記データ処理管理媒体は、第3秘密鍵及び第4秘密鍵を格納し、
前記第3ステップにおいて、前記データ処理管理媒体は、前記第3秘密鍵を用いて第5秘密鍵及び第6秘密鍵を生成し、前記第5秘密鍵を用いて前記第4秘密鍵を含む前記書き込み許可を暗号化し、暗号化された前記書き込み許可と前記第6秘密鍵とを用いて前記第1メッセージ認証符号を生成し、前記第1メッセージ認証符号及び暗号化された前記書き込み許可を前記データ書き込み器へ送信し、
前記データ書き込み器は、前記第4秘密鍵と対応する第2公開鍵を用いて暗号化された前記データを格納し、
前記第4ステップにおいて、前記データ書き込み器は、前記第1メッセージ認証符号、暗号化された前記書き込み許可、及び暗号化された前記データを前記書き込み対象物へ送信し、
前記書き込み対象物は、前記第3秘密鍵を格納し、
前記第5ステップにおいて、前記書き込み対象物は、前記第3秘密鍵を用いて前記第5秘密鍵及び前記第6秘密鍵を生成し、受信した暗号化された前記書き込み許可と、生成した前記第6秘密鍵とを用いて第2メッセージ認証符号を生成する、
データ処理方法。
【請求項8】
請求項に記載のデータ処理方法において、
前記第5ステップにおいて、前記書き込み対象物は、暗号化された前記書き込み許可を前記第5秘密鍵を用いて復号して前記第4秘密鍵を取得し、暗号化された前記データを前記第4秘密鍵を用いて復号する、
データ処理方法。
【請求項9】
請求項に記載のデータ処理方法において、
前記第3ステップにおいて、前記データ処理管理媒体は、鍵導出関数を用いて、前記第3秘密鍵を入力として前記第5秘密鍵及び第6秘密鍵を取得し、
前記第5ステップにおいて、前記書き込み対象物は、鍵導出関数を用いて、前記第3秘密鍵を入力として前記第5秘密鍵及び第6秘密鍵を取得する、
データ処理方法。
【請求項10】
書き込み用データの書き込みが行われる書き込み対象物と、
前記書き込み対象物に対する前記書き込み用データの書き込み処理を行うデータ書き込み器と、
前記書き込み処理の実行回数を管理するデータ処理管理媒体と、
を備え、
前記データ処理管理媒体は、前記データ書き込み器に対し着脱可能であり、前記データ書き込み器から前記書き込み用データの書き込み要求を受信すると、前記書き込み処理の前記実行回数をインクリメントし、前記データ書き込み器へ前記書き込み用データの書き込み許可を送信し、前記実行回数が所定の実行回数上限値に達すると、さらに前記書き込み要求を受信しても前記書き込み許可を送信せず、
前記データ書き込み器は、前記書き込み対象物の識別情報を読み出し、読み出した前記識別情報を含む前記書き込み要求を前記データ処理管理媒体へ送信し、
前記データ処理管理媒体は、受信した前記識別情報を含む前記書き込み許可を前記データ書き込み器へ送信し、
前記データ書き込み器は、前記書き込み用データを含むデータ及び受信した前記書き込み許可を前記書き込み対象物へ送信し、
前記書き込み対象物は、自身の識別情報と、前記書き込み許可に含まれる前記識別情報とが一致するとき、前記書き込み用データの書き込みを行う、
データ処理システム。
【請求項11】
請求項10に記載のデータ処理システムにおいて、
前記データ処理管理媒体は、前記書き込み許可を暗号化し、暗号化された前記書き込み許可を前記データ書き込み器へ送信し、
前記データ書き込み器は、前記データを暗号化し、暗号化された前記データ及び暗号化された前記書き込み許可を前記書き込み対象物へ送信し、
前記書き込み対象物は、暗号化された前記書き込み許可及び暗号化された前記データをそれぞれ復号する、
データ処理システム。
【請求項12】
請求項11に記載のデータ処理システムにおいて、
前記データ処理管理媒体及び前記書き込み対象物は、第1秘密鍵をそれぞれ格納し、
前記データ処理管理媒体は、前記第1秘密鍵を用いて前記書き込み許可を暗号化し、
前記書き込み対象物は、暗号化された前記書き込み許可を前記第1秘密鍵を用いて復号する、
データ処理システム。
【請求項13】
請求項11に記載のデータ処理システムにおいて、
前記データ処理管理媒体は、暗号化された前記書き込み許可を用いて第1メッセージ認証符号を生成し、生成した前記第1メッセージ認証符号を前記データ書き込み器へ送信し、
前記データ書き込み器は、前記第1メッセージ認証符号を前記書き込み対象物へ送信し、
前記書き込み対象物は、受信した暗号化された前記書き込み許可を用いて第2メッセージ認証符号を生成し、前記第1メッセージ認証符号と前記第2メッセージ認証符号とが一致すれば、暗号化された前記書き込み許可及び暗号化された前記データをそれぞれ復号する、
データ処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理方法、データ処理システム及びデータ処理管理媒体に関する。
【背景技術】
【0002】
汎用MCU(Micro Control Unit)等を利用する顧客が、そのMCUへのソフトウェアの書き込みを社外工場へ委託することがある。このとき、委託先の社外工場が、別ルートから書き込み対象物である汎用MCUを入手し、当該ソフトウェアを予め定められた個数以上の汎用MCUに対し書き込み処理を行い販売するという、いわゆるオーバープロダクションという問題がある。
【0003】
このようなオーバープロダクションを防止するため、データ書き込み器とライセンスサーバとを接続し、ライセンスサーバでソフトウェアの書き込み回数を管理する方法が考えられる。また、ソフトウェアや端末情報等のデータが外部に流出しないよう、暗号化されたデータや鍵が用いられる。
【0004】
例えば、特許文献1には、システムを構成する機器が情報配信を受けるための正規の機器であるか否かの判断を行なうための認証鍵を管理する鍵管理システムが開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】国際公開第2001/43108号
【発明の概要】
【発明が解決しようとする課題】
【0006】
ライセンスサーバへのアクセスは、通信ネットワークを経由して行われる。ライセンスサーバへのアクセスは、汎用MCUに対する書き込み処理を行う度に実行されるが、ライセンスサーバのダウンや通信ネットワークの不調等のトラブルが発生した場合、書き込み対象物への書き込み処理を行うことができず、工場の製造ラインがストップしてしまう。
【0007】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0008】
本明細書には、複数の実施の形態が記載されているが、一実施の形態を述べると、次の通りである。
【0009】
データ処理方法は、書き込み用データの書き込みが行われる書き込み対象物と、書き込み対象物に対する書き込み用データの書き込み処理を行うデータ書き込み器と、書き込み処理の実行回数を管理するデータ処理管理媒体との間で行われるものである。データ処理管理媒体は、データ書き込み器に対し着脱可能である。データ処理方法は、データ書き込み器が、データ処理管理媒体へ書き込み用データの書き込み要求を送信する第1ステップと、データ処理管理媒体が、書き込み要求を受信すると、書き込み処理の実行回数をインクリメントする第2ステップと、データ処理管理媒体が、データ書き込み器へ書き込み用データの書き込み許可を送信する第3ステップと、を含む。第2ステップにおいて、データ処理管理媒体は、実行回数が所定の実行回数上限値に達すると、さらに書き込み要求を受信しても書き込み許可を送信しない。
【発明の効果】
【0010】
一実施の形態によれば、オーバープロダクションを防止し、ライセンスサーバを用いることなくデータ書き込み処理を行うことが可能となる。
【図面の簡単な説明】
【0011】
図1】本発明の実施の形態1に係るデータ処理システムの構成例を示すブロック図である。
図2】本発明の実施の形態1に係るデータ書き込み処理の一例を示すフロー図である。
図3図2の主要な処理と、データ処理システムの各要素における動作とを対応させた図である。
図4】本発明の実施の形態2に係るデータ処理システムの構成例を示すブロック図である。
図5】本発明の実施の形態2に係るデータ書き込み処理の一例を示すフロー図である。
図6図5の主要な処理と、データ処理システムの各要素における動作とを対応させた図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するためのすべての図において、同一部分には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0013】
(実施の形態1)
<データ処理システムの構成>
図1は、本発明の実施の形態1に係るデータ処理システムの構成例を示すブロック図である。図1に示すように、データ処理システム1は、書き込み対象物10、データ書き込み器20、データ処理管理媒体(以下、「ドングル」とも表記する)30を含む。なお、書き込み対象物10の代表例としては、MCUが挙げられる。MCUには、一般市場で入手可能な汎用MCUも含まれる。そこで、以下では、書き込み対象物10を、汎用MCU10と表記する場合もある。
【0014】
〈データ処理管理媒体〉
データ処理管理媒体であるドングル30は、汎用MCU10へのデータ書き込み回数の管理を行う装置である。図1に示すように、ドングル30は、演算器31、メモリ32、インタフェース33等を備えている。ドングル30は、内部構造が解析されにくく見破られにくい耐タンパー性を有している。
【0015】
メモリ32は、不揮発性メモリを有し、汎用MCU10に対する書き込み用データの書き込み処理の実行回数CNを格納する。また、メモリ32は、汎用MCU10への書き込み処理の実行回数上限値CNLや秘密鍵(第1秘密鍵)k1等を格納する。また、メモリ32は、ドングル30を動作させるプログラムやパラメータ等を格納する。
【0016】
メモリ32は、不揮発性メモリで構成されている。不揮発性メモリの少なくとも一部の領域は、外部からのアクセスが禁止されたセキュア領域となっている。例えば、実行回数CN、実行回数上限値CNL及び秘密鍵k1等、書き込み回数の管理上重要な情報はセキュア領域に格納されることが好ましい。セキュア領域へは、ドングル30内の演算器31のみがアクセス可能である。
【0017】
ドングル30は、インタフェース33を介してデータ書き込み器20と接続される。ドングル30及びデータ書き込み器20は、シリアルバス等で互いに接続される。シリアルバスの例として、例えばUSB(Universal Serial Bus)が挙げられる。この場合、インタフェース24、33は、USB規格に準拠した端子で構成され、ドングル30は、USB端子によりデータ書き込み器20と接続される。
【0018】
演算器31は、ドングル30内における各処理を実行する機能ブロックである。詳しくは後述するが、演算器31は、データ書き込み器20から汎用MCU10に対する書き込み用データの書き込み要求を受信すると、実行回数CNをインクリメントし、メモリ32内の実行回数CNを更新する。そして、演算器31は、インタフェース33を介して、データ書き込み器20に書き込み許可を送信する。
【0019】
その際、演算器31は、実行回数CNと実行回数上限値CNLとを比較する。演算器31は、実行回数CNが実行回数上限値CNLに達すると、さらに書き込み要求を受信しても、実行回数CNのインクリメントを行わず、書き込み許可の送信を行わない。すなわち、実行回数上限値CNLの回数分データ書き込み処理が行われると、ドングル30は、動作を停止する。
【0020】
これにより、データ書き込み器20は、ドングル30から書き込み許可を受信できず、汎用MCU10への書き込み用データの書き込みができなくなる。このように、データ書き込み処理の実行回数CNが実行回数上限値CNL以下となるように適切に管理され、オーバープロダクションを防止することが可能となる。
【0021】
本実施の形態では、ドングル30において、書き込み許可の暗号化が行われる。暗号化を実行するため、演算器31は、図1に示すように、公開鍵暗号鍵生成器31a、AES(Advanced Encryption Standard)暗号化器31bを有している。公開鍵暗号鍵生成器31a、AES暗号化器31bは、ハードウェア又はプログラムの実行により演算器31内に実現される。なお、ハードウェアで構成される公開鍵暗号鍵生成器31a及びAES暗号化器31bは、演算器31の外側に設けられてもよい。
【0022】
公開鍵暗号鍵生成器31aは、例えば図示しない乱数発生器等を用いて秘密鍵(第2秘密鍵)skと公開鍵(第1公開鍵)pkとからなる一対の鍵ペアを生成する。AES暗号化器31bは、データ書き込み器20から受信した汎用MCU10の識別情報ID及び秘密鍵skを含む書き込み許可を暗号化した暗号文C2を生成する。演算器31は、暗号文C2及び公開鍵pkを、データ書き込み器20へ送信する。演算器31における各処理については、後で詳しく説明する。
【0023】
〈データ書き込み器〉
データ書き込み器20は、汎用MCU10への書き込み用データの書き込み処理を行う装置である。図1に示すように、データ書き込み器20は、演算器21、メモリ22、電源回路23、インタフェース24等を備えている。データ書き込み器20は、書き込み処理用の専用品でもよいし、パソコン等の情報処理装置等で構成されてもよい。
【0024】
メモリ22は、不揮発性メモリを有し、汎用MCU10への書き込み用データ(例えばプログラムP)等を格納する。また、メモリ22は、データ書き込み器20を動作させるプログラムやパラメータ等を格納する。
【0025】
電源回路23は、データ書き込み器20内の各部へ供給される電源を制御する機能ブロックである。電源回路23は、図示しない外部電源と接続され、演算器21から供給される信号に従い電源制御を行う。なお、電源回路23は、ドングル30や汎用MCU10へも電源供給行ってもよい。
【0026】
演算器21は、データ書き込み器20内の各処理を実行する機能ブロックである。例えば、演算器21は、ドングル30へ汎用MCU10に対する書き込み用データの書き込み要求を送信し、ドングル30から書き込み許可を受信する。例えば、演算器21は、書き込み用データの書き込みが行われる汎用MCU10から各汎用MCUに固有の識別情報IDを読み出し、読み出した識別情報を含む書き込み要求を生成し、ドングル30へ送信する。
【0027】
本実施の形態では、データ書き込み器20において、書き込み用データを含むデータの暗号化が行われる。暗号化の処理を行うため、演算器21は、公開鍵暗号暗号化器21aを有している。公開鍵暗号暗号化器21aは、ハードウェア又はプログラムの実行により演算器21内に実現される。なお、ハードウェアで構成される公開鍵暗号暗号化器21aは、演算器21の外側に形成されてもよい。
【0028】
公開鍵暗号暗号化器21aは、例えば、ドングル30から受信した公開鍵pkを用いて、書き込み用データ(例えばプログラムP)と、読み出した識別情報IDとを含むデータを公開鍵pkを用いて暗号化し、データの暗号文C3を生成する。演算器21は、生成した暗号文C3及び暗号文C2を汎用MCU10へ送信する。
【0029】
〈書き込み対象物〉
書き込み対象物10には、書き込み用データの書き込みが行われる。書き込み対象物10は、演算器11及びメモリ12を備えている。すでに述べた通り、書き込み対象物10は、一般に入手可能な汎用MCU等である。
【0030】
メモリ12は、不揮発性メモリを有し、書き込み対象物10の識別情報IDや秘密鍵(第1秘密鍵)k1等を格納する。また、メモリ12は、これらの他、書き込み対象物10の動作用プログラムや設定値等も格納する。識別情報IDは、書き込み対象物10ごとに異なる値に設定される。データ書き込み器20から受信したプログラムP等の書き込み用データは、後述する所定の処理を経てメモリ12にインストールされる。
【0031】
演算器11は、書き込み対象物10における各種制御を行う機能ブロックである。演算器11は、公開鍵暗号復号器11a及びAES復号器11bを有する。公開鍵暗号復号器11a及びAES復号器11bは、ハードウェア又はプログラムの実行により演算器11内に実現される。なお、ハードウェアで構成される公開鍵暗号復号器11a及びAES復号器11bは、演算器11の外側に形成されてもよい。
【0032】
AES復号器11bは、データ書き込み器20から受信した暗号文C2の復号を行う。具体的に述べると、AES復号器11bは、メモリ12に格納された秘密鍵k1を用いて暗号文C2を復号し、書き込み許可に含まれる秘密鍵sk、及びデータ書き込み処理を行おうとしている書き込み対象物10の識別情報IDを取得する。なお、便宜上、ここで取得した識別情報をID’と表記する。
【0033】
公開鍵暗号復号器11aは、データ書き込み器20から受信した暗号文C3の復号を行う。具体的に述べると、公開鍵暗号復号器11aは、暗号文C2の復号により取得した秘密鍵skを用いて暗号文C3を復号し、データに含まれるプログラムP、及びデータ書き込み処理を行おうとしている書き込み対象物10の識別情報IDを取得する。なお、便宜上、ここで取得した識別情報をID”と表記する。
【0034】
<データ書き込み処理>
次に、データ処理システム1におけるデータ書き込み処理を詳しく説明する。図2は、本発明の実施の形態1に係るデータ書き込み処理の一例を示すフロー図である。図3は、図2の主要な処理と、データ処理システムの各要素における動作とを対応させた図である。
【0035】
データ書き込み処理には、例えば図2に示すステップS10~S190が実施される。データ書き込み処理が開始されると(ステップS10)、データ書き込み器20は、汎用MCU10から固有の識別情報IDを読み出す((1)、ステップS20)。具体的に述べると、データ書き込み器20からの指示を受信すると、汎用MCU10の演算器11は、メモリ12に格納している識別情報IDを読み出し、読み出した識別情報IDをデータ書き込み器20へ送信する。なお、データ書き込み処理の開始とともに、識別情報IDが自動的にデータ書き込み器20へ送信されるようにしてもよい。
【0036】
データ書き込み器20は、汎用MCU10から読み出した識別情報IDを書き込み要求としてドングル30へ送信する((2)、ステップS30)。その際、データ書き込み器20は、識別情報IDをメモリ22又は演算器21内のRAM等に格納しておく。
【0037】
識別情報IDを受信すると、ドングル30の演算器31は、実行回数CNと実行回数上限値CNLとを比較し、実行回数CNが実行回数上限値CNLであるかどうかを判定する(ステップS40)。具体的に述べると、演算器31は、メモリ32から実行回数CN及び実行回数上限値CNLを読み出し、これらを比較することにより判定を行う。実行回数CNが実行回数上限値CNLである場合(YES)、演算器31は、実行回数が所定の実行回数上限値に達していると判断し、実行回数CNのインクリメントを行うことなく、ドングル30の動作を停止させる(ステップS50)。
【0038】
一方、実行回数CNが実行回数上限値CNLより小さい場合(NO)、演算器31は、実行回数CNのインクリメントを行う(ステップS60、(3))。そして、演算器31は、インクリメント後の実行回数CNをメモリ32へ送信し、メモリ32に格納されている実行回数の値を更新する。
【0039】
次に、公開鍵暗号鍵生成器31aは、例えば乱数発生器等を用いて一対の鍵ペア(pk、sk)を生成する((4)、ステップS70)。公開鍵pk及び秘密鍵skは、複数ビットで構成される。AES暗号化器31bは、秘密鍵k1を用いて汎用MCU10に対する書き込み許可を暗号化する((5)、ステップS80)。具体的に述べると、まず、演算器31は、公開鍵暗号鍵生成器31aで生成された秘密鍵skと識別情報IDとを並べた平文(sk||ID)を生成する。そして、AES暗号化器31bは、秘密鍵k1を用いて平文(sk||ID)を暗号化することで、暗号文C2=Enc(k1、sk||ID)を生成する。演算器31は、インタフェース33を介して公開鍵pk及び暗号文C2をデータ書き込み器20へ送信する((6)、ステップS90)。
【0040】
次に、データ書き込み器20の公開鍵暗号暗号化器21aは、プログラムP及び汎用MCU10から受信した識別情報IDを含むデータを暗号化し、暗号文C3=PKEnc(pk、P||ID)を生成する((7)、ステップS100)。具体的に述べると、まず、公開鍵暗号暗号化器21aは、プログラムPと識別情報IDとを並べた平文(P||ID)をデータとして生成する。そして、公開鍵暗号暗号化器21aは、ドングル30から受信した公開鍵pkを用いて平文(P||ID)を暗号化することで、暗号文C3=PKEnc(pk、P||ID)を生成する。演算器21は、暗号文C2=Enc(k1、sk||ID)及びC3=PKEnc(pk、P||ID)を汎用MCU10へ送信する((8)、ステップS110)。
【0041】
汎用MCU10のAES復号器11bは、秘密鍵k1を用いて暗号文C2を復号する((9)、ステップS120)。具体的に述べると、AES復号器11bは、メモリ12から秘密鍵k1を読み出し、読み出した秘密鍵k1を用いて暗号文C2=Enc(k1、sk||ID)を復号する。これにより、AES復号器11bは、秘密鍵sk’及び識別情報ID’を取得する(sk||ID=Dec(k1、C2))。
【0042】
なお、ステップS120において取得した秘密鍵及び識別情報を、sk’、ID’と表記している。これにより、取得した秘密鍵とドングル30で生成された秘密鍵とを区別し、取得した識別情報と汎用MCU10が格納する識別情報とを区別する。
【0043】
ステップS130では、ステップS120で取得した識別情報ID’と、汎用MCU10に格納された識別情報IDとが一致するかどうかが判定される。具体的に述べると、汎用MCU10の演算器11は、メモリ12に格納された識別情報IDを読み出し、読み出した識別情報IDと、ステップS120で取得した識別情報ID’とを比較する。これらの識別情報ID、ID’が互いに異なる場合(NO)、演算器11は、汎用MCU10の動作を停止させる(ステップS140)。
【0044】
一方、これらの識別情報ID、ID’が一致する場合(YES)、公開鍵暗号復号器11aは、ステップS120で取得した秘密鍵sk’を用いて暗号文C3の復号を行い、プログラムP、識別情報を取得する((10)、ステップS150)。
【0045】
なお、ステップS150において、秘密鍵sk’による暗号文C3の復号が失敗した場合、演算器11は、汎用MCU10の動作を停止させる。
【0046】
ステップS160では、ステップS150で取得した識別情報ID”と、汎用MCU10が格納する識別情報IDとが一致するかどうかが判定される。演算器11は、識別情報IDと、ステップS150における復号により取得した識別情報ID”とを比較する。これらの識別情報ID、ID”が互いに異なる場合(NO)、演算器11は、汎用MCU10の動作を停止させる(ステップS170)。
【0047】
一方、これらの識別情報ID、ID”が一致する場合(YES)、演算器11は、ステップS150で取得したプログラムPのインストールを行う((11)ステップS180)。プログラムPのインストールが終了すると、データ書き込み処理が完了する(ステップS190)。
【0048】
<本実施の形態による主な効果>
本実施の形態によれば、ドングル30は、データ書き込み器20からプログラム等の書き込み用データの書き込み要求を受信すると、書き込み処理の実行回数CNをインクリメントし、データ書き込み器20へ書き込み用データの書き込み許可を送信する。また、ドングル30は、実行回数CNが所定の実行回数上限値CNLに達すると、さらなる書き込み要求を受信しても書き込み許可を送信しない。この構成によれば、ドングル30は、実行回数を適切に管理し、オーバープロダクションを防止することが可能となる。
【0049】
このように、本実施の形態のドングル30を用いることにより、オーバープロダクションの防止、及びライセンスサーバを用いることなくデータ書き込み処理を行うことが可能となる。
【0050】
また、本実施の形態によれば、データ書き込み器20から送信される書き込み要求、及びドングル30から送信される書き込み許可に、書き込み要求書き込み処理を行おうとしている汎用MCU10から読み出した識別情報IDが含まれる。そして、汎用MCU10は、データ書き込み器20から受信したデータ及び書き込み許可に含まれる識別情報ID’、ID”と、自身が格納している識別情報IDとを比較し、これらが互いに異なる場合には、動作を停止する。
【0051】
この構成によれば、識別情報ID’、ID”と、自身が格納している識別情報IDとが一致する場合のみデータ書き込み処理が実行されるので、データ書き込み処理時の安全性が確保される。すなわち、書き込み許可を受けた汎用MCUと書き込み対象の汎用MCUとを一致させることができる。
【0052】
また、本実施の形態によれば、汎用MCU10に対する書き込み許可、プログラムP等の書き込み用データを含むデータは暗号化され、汎用MCU10において暗号文の復号が行われる。具体的に述べると、ドングル30、データ書き込み器20、汎用MCU10間で、公開鍵暗号及び共通鍵暗号を組み合わせた暗号プロトコルを利用することにより、各機器間の通信内容を攻撃者が読み取っても、プログラム等の書き込み用データの取り出し及び不正なインストールが不可能となっている。また、ドングル30で管理されている実行回数CNの改ざんも不可能となっている。このように、ドングル30から汎用MCU10までの経路における通信内容の盗聴を防止でき、データ書き込み処理時の安全性がより一層確保される。
【0053】
また、本実施の形態によれば、偽ドングルを作成し、その偽ドングルをデータ書き込み器20に接続しても、格納する秘密鍵が異なるので、データ書き込み器20又は汎用MCU10において、このドングルが偽ドングルであることが検知され、不正なデータ書き込み処理の実行を防止することが可能である。
【0054】
また、本実施の形態によれば、ドングル30及び汎用MCU10に共通の秘密鍵k1を格納する。この構成によれば、秘密鍵を読み出す際にサーバとの通信を行う必要がなく、オフラインで処理することが可能となる。
【0055】
また、本実施の形態によれば、一対の鍵ペア(pk、sk)がドングル30内で生成される。この構成によれば、鍵ペアが外部へ漏れることがないので、鍵ペアを用いた暗号化及び復号の安全性が確保される。
【0056】
(実施の形態2)
次に、実施の形態2について説明する。なお、以下では、前述の実施の形態で述べた内容と重複する箇所については適宜省略する。図4は、本発明の実施の形態2に係るデータ処理システムの構成例を示すブロック図である。
【0057】
〈データ処理管理媒体〉
メモリ32は、書き込み処理の実行回数CN、実行回数上限値CNL、秘密鍵(第3秘密鍵)k1、秘密鍵(第4秘密鍵)sk等を格納する。また、メモリ32は、ドングル30を動作させるプログラムやパラメータ等を格納する。
【0058】
本実施の形態の演算器31は、実施の形態1における各機能に加え、秘密鍵k1を用いた、秘密鍵(第5秘密鍵)k2、秘密鍵(第6秘密鍵)k3の生成も行う。具体的に述べると、演算器31は、例えば鍵導出関数を用い、秘密鍵k1を入力として秘密鍵k2、k3を出力してもよい。
【0059】
演算器31は、図4に示すように、AES暗号化器31b、MAC生成器31cを備えている。AES暗号化器31b、MAC生成器31cは、ハードウェア又はプログラムの実行により演算器31内に実現される。なお、ハードウェアで構成される場合、AES暗号化器31b、MAC生成器31cは、演算器31の外側に設けられてもよい。
【0060】
AES暗号化器31bは、例えば秘密鍵k2を用いて、秘密鍵skや識別情報IDを含む書き込み許可を暗号化し、書き込み許可の暗号文C12を生成する。MAC生成器31cは、AES暗号化器31bで暗号化された書き込み許可を用いてメッセージ認証符号(第1メッセージ認証符号)tを生成する。演算器31bは、暗号文C12、メッセージ認証符号tをデータ書き込み器20へ送信する。なお、演算器31bにおける各処理については、後で詳しく説明する。
【0061】
〈データ書き込み器〉
データ書き込み器20のメモリ22は、秘密鍵skに対応する公開鍵(第2公開鍵)pkを用いて暗号化されたデータの暗号文C13を格納する。この暗号文C13は、例えば、データ書き込み器20のユーザやソフトウェアベンダにより事前に生成されたものである。この公開鍵pkは、例えばドングル30の製造元のウェブサイトにおいて公開される鍵であり、秘密鍵skに対応する鍵である。言い換えれば、秘密鍵skと、公開鍵pkは、一対の鍵ペアを構成する。ドングル30を用いてデータ書き込み器20のユーザやソフトウェアベンダは、当該ウェブサイトから公開鍵pkを入手した上で、暗号文C13を生成し、メモリ22へ格納しておく。
【0062】
このように、本実施の形態ではプログラム等を含むデータの暗号文がメモリ22に事前に準備されるので、演算器21において暗号化を行う必要がない。このため、本実施の形態の演算器21には、公開鍵暗号暗号化器21aは設けられていない。
【0063】
演算器21は、ドングルから受信した書き込み許可の暗号文C12、メッセージ認証符号t、及びメモリに格納しているデータの暗号文C13を汎用MCU10へ送信する。
【0064】
〈書き込み対象物〉
汎用MCU10のメモリ12は、識別情報ID、秘密鍵(第3秘密鍵)k1等を格納する。本実施の形態の演算器11は、実施の形態1における各機能に加え、秘密鍵k1を用いた、秘密鍵(第5秘密鍵)k2、秘密鍵(第6秘密鍵)k3の生成も行う。秘密鍵k2、k3は、ドングル31と同様に、例えば鍵導出関数を用い、秘密鍵k1を入力として出力される。
【0065】
演算器11は、公開鍵暗号復号器11a、AES復号器11b、及びMAC検証器11cを備えている。公開鍵暗号復号器11a、AES復号器11b、及びMAC検証器11cは、ハードウェア又はプログラムの実行により演算器11内に実現される。なお、ハードウェアで構成される場合、公開鍵暗号復号器11a、AES復号器11b、及びMAC検証器11cは、演算器11の外側に形成されてもよい。
【0066】
MAC検証器11cは、データ書き込み器20から受信した書き込み許可の暗号文C12と、演算器11で生成された秘密鍵k3とを用いてメッセージ認証符号(第2メッセージ認証符号)t’を生成する。
【0067】
受信したメッセージ認証符号tとMAC検証器11cで生成されたメッセージ認証符号t’とが一致すれば、AES復号器11bは、秘密鍵k2を用いて書き込み許可の暗号文C12の復号を行い、書き込み許可に含まれる秘密鍵sk、及び識別情報を取得する。なお、便宜上、ここで取得した識別情報をID’と表記する。
【0068】
書き込み処理を行おうとしている汎用MCU10が格納する識別情報IDと、暗号文C12から取得した識別情報ID’とが一致する場合、公開鍵暗号復号器11aは、データの暗号文C13を、秘密鍵skを用いて復号し、プログラムPを取得する。
【0069】
<データ書き込み処理>
次に、本実施の形態のデータ書き込み処理を詳しく説明する。図5は、本発明の実施の形態2に係るデータ書き込み処理の一例を示すフロー図である。図6は、図3の主要な処理と、データ処理システムの各要素における動作とを対応させた図である。
【0070】
データ書き込み処理には、例えば図5に示すステップS210~S400が実施される。データ書き込み処理が開始されると(ステップS210)、データ書き込み器20は、汎用MCU10から固有の識別情報IDを読み出す((1)、ステップS220)。ステップS220では、図2のステップS20と同様の処理が実行されるので、詳細な説明は省略する。
【0071】
データ書き込み器20は、汎用MCU10から読み出した識別情報IDを書き込み要求としてドングル30へ送信する((2)、ステップS230)。なお、ステップS230では、識別情報IDをメモリ22等に格納しておく必要ない。データ書き込み器20において暗号文を生成しないからである。
【0072】
識別情報IDを受信すると、ドングル30の演算器31は、実行回数CNと実行回数上限値CNLとを比較し、実行回数CNが実行回数上限値CNLであるかどうかを判定する(ステップS240)。実行回数CNが実行回数上限値CNLである場合(YES)、演算器31は、実行回数が所定の実行回数上限値に達していると判断し、実行回数CNのインクリメントを行うことなく、ドングル30の動作を停止させる(ステップS250)。一方、実行回数CNが実行回数上限値CNLより小さい場合(NO)、演算器31は、実行回数CNのインクリメントを行う(ステップS260、(3))。ステップS240-S260では、図2のステップS40-S60と同様の処理が実行される。
【0073】
次に、演算器31は、鍵導出関数(KDF)を用い、秘密鍵k1を入力として秘密鍵k2、k3((k2、k3)=KDF(k1))を生成する((4)、ステップS270)。AES暗号化器31bは、秘密鍵k2を用いて書き込み許可を暗号化する((5)、ステップS280)。具体的に述べると、まず、演算器31は、メモリ32から秘密鍵skを読み出し、秘密鍵skと識別情報IDとを並べた書き込み許可の平文(sk||ID)を生成する。そして、AES暗号化器31bは、秘密鍵k2を用いて書き込み許可の平文(sk||ID)を暗号化することで、暗号文C12=Enc(k2、sk||ID)を生成する。
【0074】
次に、MAC生成器31cは、ステップS270で生成された秘密鍵k3と、書き込み許可の暗号文C12とを用いてメッセージ認証符号t=MAC(k3、C12)を生成する((6)、ステップS290)。
【0075】
演算器31は、インタフェース33を介して、暗号文C12及びメッセージ認証符号tをデータ書き込み器20へ送信する((7)、ステップS300)。
【0076】
データ書き込み器20のインタフェース24は、暗号文C12、メッセージ認証符号t、及び暗号文C13を汎用MCU10へ送信する((8)、ステップS310)。
【0077】
汎用MCU10の演算器11は、鍵導出関数(KDF)を用い、秘密鍵k1を入力として秘密鍵k2、k3((k2、k3)=KDF(k1))を生成する((9)、ステップS320)。
【0078】
ステップS330では、ドングルで生成されたメッセージ認証符号tと、汎用MCU10で生成されるメッセージ認証符号t’とが一致するかどうかが検証される((10)、ステップS330)。まず、MAC検証器11cは、ステップS310で受信した暗号文C12と、ステップS320で生成された秘密鍵k3とを用いて、メッセージ認証符号t’を生成する。
【0079】
そして、MAC検証器11cは、ステップS310で受信したメッセージ認証符号tと、生成したメッセージ認証符号t’とを比較し、これらのメッセージ認証符号t、t’が一致するかどうかの検証を行う。検証の結果、これらのメッセージ認証符号t、t’が一致しない場合(NO)、演算器11は、汎用MCU10の動作を停止させる(ステップS340)。
【0080】
一方、これらのメッセージ認証符号t、t’が一致する場合(YES)、AES復号器11bは、秘密鍵k2を用いて暗号文C12=Enc(k2、sk||ID)を復号し((11)、ステップS350)、秘密鍵sk及び識別情報ID’を取得する(sk||ID=Dec(k2、C12))。なお、ステップS120において取得した秘密鍵及び識別情報をID’と表記している。これにより、取得した識別情報と汎用MCU10が格納する識別情報とを区別する。ステップS350は、図2のステップS120と類似している。
【0081】
ステップS360では、ステップS350で取得した識別情報ID’と、汎用MCU10に格納された識別情報IDとが一致するかどうかが判定される。ステップS360は、図2のステップS130と同様である。これらの識別情報ID、ID’が互いに異なる場合(NO)、演算器11は、汎用MCU10の動作を停止させる(ステップS370)。
【0082】
一方、これらの識別情報ID、ID’が一致する場合(YES)、公開鍵暗号復号器11aは、ステップS350で取得した秘密鍵skを用いて暗号文C13の復号を行い、プログラムPを取得する((12)、ステップS380)。なお、ステップS380において、秘密鍵skによる暗号文C13の復号が失敗した場合、演算器11は、汎用MCU10の動作を停止させる。
【0083】
そして、演算器11は、ステップS380で取得したプログラムPのインストールを行う((13)ステップS390)。プログラムPのインストールが終了すると、データ書き込み処理が完了する(ステップS400)。
【0084】
<本実施の形態による主な効果>
本実施の形態では、前述の実施の形態1における各効果に加え、以下の効果が得られる。書き込み許可に含まれる識別情報の比較とともに、書き込み許可の暗号文を用いて生成されるメッセージ認証符号の比較が行われる。この構成によれば、通信路中での通信エラー、故意の改ざん等を防ぎ、システム内での通信の安全性をより向上させることが可能となる。
【0085】
また、本実施の形態によれば、ドングル30及び汎用MCUにおいて、鍵導出関数(KDF)、鍵導出関数の入力となる秘密鍵k1を用いて、秘密鍵k2、k3が生成される。この構成によれば、暗号文C12の復号用の秘密鍵(k2)およびMAC検証用の秘密鍵(k3)をドングル30から送信する必要がなくなる。
【0086】
また、本実施の形態によれば、ドングル30内で鍵ペアを作成する必要がないため、図1の公開鍵暗号鍵生成器31aが不要である。公開鍵の生成に必要となる乱数発生器も不要である。また、プログラムPは、データ書き込み器20のユーザやソフトウェアベンダにより事前に生成されるので、プログラムP漏えいの可能性が低減される。また、データ書き込み器20にセキュアな保存領域が不要となる。
【0087】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0088】
以下に、本発明の好ましい態様について付記する。
【0089】
[付記1]
前記データ処理管理媒体は、第2秘密鍵と、前記第2秘密鍵と対応する第1公開鍵とからなる鍵ペアを生成し、前記第1公開鍵と、前記第2秘密鍵及び前記識別情報を含む暗号化された前記書き込み許可とを前記データ書き込み器へ送信し、
前記データ書き込み器は、受信した前記第1公開鍵を用いて前記データを暗号化し、暗号化された前記データと、暗号化された前記書き込み許可とを前記書き込み対象物へ送信し、
前記書き込み対象物は、暗号化された前記書き込み許可を前記第1秘密鍵を用いて復号して前記第2秘密鍵を取得し、暗号化された前記データを前記第2秘密鍵を用いて復号する、
データ処理システム。
【0090】
[付記2]
前記データは、前記書き込み対象物から読み出された前記識別情報を含み、
前記書き込み対象物は、自身の前記識別情報と、前記データに含まれる前記識別情報とが一致するとき、前記書き込み用データの書き込みを行う、
データ処理システム。
【0091】
[付記3]
前記データ処理管理媒体は、第3秘密鍵及び第4秘密鍵を格納し、前記第3秘密鍵を用いて第5秘密鍵及び第6秘密鍵を生成し、前記第5秘密鍵を用いて前記第4秘密鍵を含む前記書き込み許可を暗号化し、暗号化された前記書き込み許可と前記第6秘密鍵とを用いて前記第1メッセージ認証符号を生成し、前記第1メッセージ認証符号及び暗号化された前記書き込み許可を前記データ書き込み器へ送信し、
前記データ書き込み器は、前記第4秘密鍵と対応する第2公開鍵を用いて暗号化された前記データを格納し、前記第1メッセージ認証符号、暗号化された前記書き込み許可、及び暗号化された前記データを前記書き込み対象物へ送信し、
前記書き込み対象物は、前記第3秘密鍵を格納し、前記第3秘密鍵を用いて前記第5秘密鍵及び前記第6秘密鍵を生成し、受信した暗号化された前記書き込み許可と、生成した前記第6秘密鍵とを用いて第2メッセージ認証符号を生成する、
データ処理システム。
【0092】
[付記4]
前記書き込み対象物は、暗号化された前記書き込み許可を前記第5秘密鍵を用いて復号して前記第4秘密鍵を取得し、暗号化された前記データを前記第4秘密鍵を用いて復号する、
データ処理システム。
【0093】
[付記5]
前記データ処理管理媒体及び前記書き込み対象物は、鍵導出関数を用いて、前記第3秘密鍵を入力として前記第5秘密鍵及び第6秘密鍵を取得する、
データ処理システム。
【0094】
[付記6]
前記データ書き込み器及び前記データ処理管理媒体は、シリアルバスで互いに接続される、
データ処理システム。
【0095】
[付記7]
前記データ書き込み器及び前記データ処理管理媒体は、USB端子で互いに接続されている、
データ処理システム。
【0096】
[付記8]
第2秘密鍵と、前記第2秘密鍵と対応する第1公開鍵とからなる鍵ペアを生成し、前記第1公開鍵と、前記第2秘密鍵及び前記識別情報を含む暗号化された前記書き込み許可とを前記データ書き込み器へ送信する、
データ処理管理媒体。
【0097】
[付記9]
第3秘密鍵及び第4秘密鍵を格納し、前記第3秘密鍵を用いて第5秘密鍵及び第6秘密鍵を生成し、前記第5秘密鍵を用いて前記第4秘密鍵を含む前記書き込み許可を暗号化し、暗号化された前記書き込み許可と前記第6秘密鍵とを用いて前記第1メッセージ認証符号を生成し、前記第1メッセージ認証符号及び暗号化された前記書き込み許可を前記データ書き込み器へ送信する、
データ処理管理媒体。
【0098】
[付記10]
鍵導出関数を用いて、前記第3秘密鍵を入力として前記第5秘密鍵及び第6秘密鍵を取得する、
データ処理管理媒体。
【0099】
[付記11]
外部からのアクセスが禁止されたセキュア領域を含むメモリを備えている、
データ処理管理媒体。
【0100】
[付記12]
データ処理管理媒体により書き込み用データの書き込み処理の実行回数が管理されながら、データ書き込み器により前記書き込み用データの前記書き込み処理が実行される書き込み対象物であって、
自身の識別情報と、前記データ処理管理媒体から送信された前記書き込み対象物に対する前記書き込み許可に含まれる識別情報とが一致するとき、前記書き込み用データの書き込みを行う、
書き込み対象物。
【0101】
[付記13]
前記データ処理管理媒体で暗号化された前記書き込み許可及び前記データ書き込み器で暗号化された前記データをそれぞれ復号する、
書き込み対象物。
【0102】
[付記14]
第1秘密鍵を格納し、前記第1秘密鍵を用いて暗号化された前記書き込み許可を、自身が格納する前記第1秘密鍵を用いて復号する、
書き込み対象物。
【0103】
[付記15]
第2秘密鍵及び前記識別情報を含む暗号化された前記書き込み許可を前記第1秘密鍵を用いて復号して前記第2秘密鍵を取得し、前記第2秘密鍵と対応する第1公開鍵を用いて暗号化された前記データを前記第2秘密鍵を用いて復号する、
書き込み対象物。
【0104】
[付記16]
自身の前記識別情報と、前記データに含まれる前記識別情報とが一致するとき、前記書き込み用データの書き込みを行う、
書き込み対象物。
【0105】
[付記17]
受信した暗号化された前記書き込み許可を用いて第2メッセージ認証符号を生成し、前記データ処理管理媒体で生成された第1メッセージ認証符号と前記第2メッセージ認証符号とが一致すれば、暗号化された前記書き込み許可及び暗号化された前記データをそれぞれ復号する、
書き込み対象物。
【0106】
[付記18]
第3秘密鍵を格納し、前記第3秘密鍵を用いて第5秘密鍵及び第6秘密鍵を生成し、
前記データ管理媒体で生成された第5秘密鍵を用いて暗号化された第4秘密鍵を含む前記書き込み許可と、前記書き込み対象物で生成した前記第6秘密鍵とを用いて第2メッセージ認証符号を生成する、
書き込み対象物。
【0107】
[付記19]
前記書き込み対象物は、暗号化された前記書き込み許可を前記第5秘密鍵を用いて復号して前記第4秘密鍵を取得し、前記第4秘密鍵と対応する第2公開鍵を用いて暗号化された前記データを前記第4秘密鍵を用いて復号する、
書き込み対象物。
【0108】
[付記20]
鍵導出関数を用いて、前記第3秘密鍵を入力として前記第5秘密鍵及び第6秘密鍵を取得する、
書き込み対象物。
【0109】
[付記21]
前記書き込み対象物は、MCUである、
書き込み対象物。
【符号の説明】
【0110】
1…データ処理システム、10…汎用MCU(書き込み対象物)、20…データ書き込み器、30…ドングル(データ処理管理媒体)、11、21、31…演算器、12、22、32…メモリ、11a…公開鍵暗号復号器、11b…AES復号器、11c…MAC検証器、21a…公開鍵暗号暗号化器、31a…公開鍵暗号鍵生成器、31b…AES暗号化器、31c…MAC生成器
図1
図2
図3
図4
図5
図6