(57)【要約】【課題】オーバープロダクションを防止し、ライセンスサーバを用いることなくデータ書き込み処理を行うこと。【解決手段】データ処理管理媒体３０は、データ書き込み器に対し着脱可能である。データ処理方法は、データ書き込み器２０が、データ処理管理媒体３０へ書き込み用データの書き込み要求を送信する第１ステップと、データ処理管理媒体３０が、書き込み要求を受信すると、書き込み処理の実行回数をインクリメントする第２ステップと、データ処理管理媒体３０が、データ書き込み器２０へ書き込み用データの書き込み許可を送信する第３ステップと、を含む。第２ステップにおいて、データ処理管理媒体３０は、実行回数が所定の実行回数上限値に達すると、さらに書き込み要求を受信しても書き込み許可を送信しない。【選択図】図３
2020197832.tif 000002
【特許請求の範囲】
【請求項１】
書き込み用データの書き込みが行われる書き込み対象物と、
前記書き込み対象物に対する前記書き込み用データの書き込み処理を行うデータ書き込み器と、
前記書き込み処理の実行回数を管理するデータ処理管理媒体と、
の間におけるデータ処理方法であって、
前記データ処理管理媒体は、前記データ書き込み器に対し着脱可能であり、
前記データ書き込み器が、前記データ処理管理媒体へ前記書き込み用データの書き込み要求を送信する第１ステップと、
前記データ処理管理媒体が、書き込み要求を受信すると、前記書き込み処理の前記実行回数をインクリメントする第２ステップと、
前記データ処理管理媒体が、前記データ書き込み器へ前記書き込み用データの書き込み許可を送信する第３ステップと、
を含み、
前記第２ステップにおいて、前記データ処理管理媒体は、前記実行回数が所定の実行回数上限値に達すると、さらに前記書き込み要求を受信しても前記書き込み許可を送信しない、
データ処理方法。
【請求項２】
請求項１に記載のデータ処理方法において、
前記第１ステップにおいて、前記データ書き込み器は、前記書き込み対象物の識別情報を読み出し、読み出した前記識別情報を含む前記書き込み要求を前記データ処理管理媒体へ送信し、
前記第３ステップにおいて、前記データ処理管理媒体は、受信した前記識別情報を含む前記書き込み許可を前記データ書き込み器へ送信し、
前記データ書き込み器が、前記書き込み用データを含むデータ及び受信した前記書き込み許可を前記書き込み対象物へ送信する第４ステップと、
前記書き込み対象物が、自身の識別情報と、前記書き込み許可に含まれる前記識別情報とが一致するとき、前記書き込み用データの書き込みを行う第５ステップと、
をさらに含む、
データ処理方法。
【請求項３】
請求項２に記載のデータ処理方法において、
前記第３ステップにおいて、前記データ処理管理媒体は、前記書き込み許可を暗号化し、暗号化された前記書き込み許可を前記データ書き込み器へ送信し、
前記第４ステップにおいて、前記データ書き込み器は、前記データを暗号化し、暗号化された前記データ及び暗号化された前記書き込み許可を前記書き込み対象物へ送信し、
前記第５ステップにおいて、前記書き込み対象物は、暗号化された前記書き込み許可及び暗号化された前記データをそれぞれ復号する、
データ処理方法。
【請求項４】
請求項３に記載のデータ処理方法において、
前記データ処理管理媒体及び前記書き込み対象物は、第１秘密鍵をそれぞれ格納し、
前記第３ステップにおいて、前記データ処理管理媒体は、前記第１秘密鍵を用いて前記書き込み許可を暗号化し、
前記第５ステップにおいて、前記書き込み対象物は、暗号化された前記書き込み許可を前記第１秘密鍵を用いて復号する、
データ処理方法。
【請求項５】
請求項４に記載のデータ処理方法において、
前記第３ステップにおいて、前記データ処理管理媒体は、第２秘密鍵と、前記第２秘密鍵と対応する第１公開鍵とからなる鍵ペアを生成し、前記第１公開鍵と、前記第２秘密鍵及び前記識別情報を含む暗号化された前記書き込み許可とを前記データ書き込み器へ送信し、
前記第４ステップにおいて、前記データ書き込み器は、受信した前記第１公開鍵を用いて前記データを暗号化し、暗号化された前記データと、暗号化された前記書き込み許可とを前記書き込み対象物へ送信し、
前記第５ステップにおいて、前記書き込み対象物は、暗号化された前記書き込み許可を前記第１秘密鍵を用いて復号して前記第２秘密鍵を取得し、暗号化された前記データを前記第２秘密鍵を用いて復号する、
データ処理方法。
【請求項６】
請求項３に記載のデータ処理方法において、
前記データは、前記書き込み対象物から読み出された前記識別情報を含み、
前記第５ステップにおいて、前記書き込み対象物は、自身の前記識別情報と、前記データに含まれる前記識別情報とが一致するとき、前記書き込み用データの書き込みを行う、
データ処理方法。
【請求項７】
請求項３に記載のデータ処理方法において、
前記第３ステップにおいて、前記データ処理管理媒体は、暗号化された前記書き込み許可を用いて第１メッセージ認証符号を生成し、生成した前記第１メッセージ認証符号を前記データ書き込み器へ送信し、
前記第４ステップにおいて、前記データ書き込み器は、前記第１メッセージ認証符号を前記書き込み対象物へ送信し、
前記第５ステップにおいて、前記書き込み対象物は、受信した暗号化された前記書き込み許可を用いて第２メッセージ認証符号を生成し、前記第１メッセージ認証符号と前記第２メッセージ認証符号とが一致すれば、暗号化された前記書き込み許可及び暗号化された前記データをそれぞれ復号する、
データ処理方法。
【請求項８】
請求項７に記載のデータ処理方法において、
前記データ処理管理媒体は、第３秘密鍵及び第４秘密鍵を格納し、
前記第３ステップにおいて、前記データ処理管理媒体は、前記第３秘密鍵を用いて第５秘密鍵及び第６秘密鍵を生成し、前記第５秘密鍵を用いて前記第４秘密鍵を含む前記書き込み許可を暗号化し、暗号化された前記書き込み許可と前記第６秘密鍵とを用いて前記第１メッセージ認証符号を生成し、前記第１メッセージ認証符号及び暗号化された前記書き込み許可を前記データ書き込み器へ送信し、
前記データ書き込み器は、前記第４秘密鍵と対応する第２公開鍵を用いて暗号化された前記データを格納し、
前記第４ステップにおいて、前記データ書き込み器は、前記第１メッセージ認証符号、暗号化された前記書き込み許可、及び暗号化された前記データを前記書き込み対象物へ送信し、
前記書き込み対象物は、前記第３秘密鍵を格納し、
前記第５ステップにおいて、前記書き込み対象物は、前記第３秘密鍵を用いて前記第５秘密鍵及び前記第６秘密鍵を生成し、受信した暗号化された前記書き込み許可と、生成した前記第６秘密鍵とを用いて第２メッセージ認証符号を生成する、
データ処理方法。
【請求項９】
請求項８に記載のデータ処理方法において、
前記第５ステップにおいて、前記書き込み対象物は、暗号化された前記書き込み許可を前記第５秘密鍵を用いて復号して前記第４秘密鍵を取得し、暗号化された前記データを前記第４秘密鍵を用いて復号する、
データ処理方法。
【請求項１０】
請求項８に記載のデータ処理方法において、
前記第３ステップにおいて、前記データ処理管理媒体は、鍵導出関数を用いて、前記第３秘密鍵を入力として前記第５秘密鍵及び第６秘密鍵を取得し、
前記第５ステップにおいて、前記書き込み対象物は、鍵導出関数を用いて、前記第３秘密鍵を入力として前記第５秘密鍵及び第６秘密鍵を取得する、
データ処理方法。
【請求項１１】
書き込み用データの書き込みが行われる書き込み対象物と、
前記書き込み対象物に対する前記書き込み用データの書き込み処理を行うデータ書き込み器と、
前記書き込み処理の実行回数を管理するデータ処理管理媒体と、
を備え、
前記データ処理管理媒体は、前記データ書き込み器に対し着脱可能であり、前記データ書き込み器から前記書き込み用データの書き込み要求を受信すると、前記書き込み処理の前記実行回数をインクリメントし、前記データ書き込み器へ前記書き込み用データの書き込み許可を送信し、前記実行回数が所定の実行回数上限値に達すると、さらに前記書き込み要求を受信しても前記書き込み許可を送信しない、
データ処理システム。
【請求項１２】
請求項１１に記載のデータ処理システムにおいて、
前記データ書き込み器は、前記書き込み対象物の識別情報を読み出し、読み出した前記識別情報を含む前記書き込み要求を前記データ処理管理媒体へ送信し、
前記データ処理管理媒体は、受信した前記識別情報を含む前記書き込み許可を前記データ書き込み器へ送信し、
前記データ書き込み器は、前記書き込み用データを含むデータ及び受信した前記書き込み許可を前記書き込み対象物へ送信し、
前記書き込み対象物は、自身の識別情報と、前記書き込み許可に含まれる前記識別情報とが一致するとき、前記書き込み用データの書き込みを行う、
データ処理システム。
【請求項１３】
請求項１２に記載のデータ処理システムにおいて、
前記データ処理管理媒体は、前記書き込み許可を暗号化し、暗号化された前記書き込み許可を前記データ書き込み器へ送信し、
前記データ書き込み器は、前記データを暗号化し、暗号化された前記データ及び暗号化された前記書き込み許可を前記書き込み対象物へ送信し、
前記書き込み対象物は、暗号化された前記書き込み許可及び暗号化された前記データをそれぞれ復号する、
データ処理システム。
【請求項１４】
請求項１３に記載のデータ処理システムにおいて、
前記データ処理管理媒体及び前記書き込み対象物は、第１秘密鍵をそれぞれ格納し、
前記データ処理管理媒体は、前記第１秘密鍵を用いて前記書き込み許可を暗号化し、
前記書き込み対象物は、暗号化された前記書き込み許可を前記第１秘密鍵を用いて復号する、
データ処理システム。
【請求項１５】
請求項１３に記載のデータ処理システムにおいて、
前記データ処理管理媒体は、暗号化された前記書き込み許可を用いて第１メッセージ認証符号を生成し、生成した前記第１メッセージ認証符号を前記データ書き込み器へ送信し、
前記データ書き込み器は、前記第１メッセージ認証符号を前記書き込み対象物へ送信し、
前記書き込み対象物は、受信した暗号化された前記書き込み許可を用いて第２メッセージ認証符号を生成し、前記第１メッセージ認証符号と前記第２メッセージ認証符号とが一致すれば、暗号化された前記書き込み許可及び暗号化された前記データをそれぞれ復号する、
データ処理システム。
【請求項１６】
データ書き込み器から書き込み対象物に対する書き込み用データの書き込み処理の実行回数を管理するデータ処理管理媒体であって、
前記データ書き込み器に対し着脱可能であり、前記データ書き込み器から前記書き込み用データの書き込み要求を受信すると、前記書き込み処理の前記実行回数をインクリメントし、前記データ書き込み器へ前記書き込み用データの書き込み許可を送信し、前記実行回数が所定の実行回数上限値に達すると、さらに前記書き込み要求を受信しても前記書き込み許可を送信しない、
データ処理管理媒体。
【請求項１７】
請求項１６に記載のデータ処理管理媒体において、
前記データ書き込み器から前記書き込み対象物の識別情報を受信し、受信した前記識別情報を含む前記書き込み許可を前記データ書き込み器へ送信する、
データ処理管理媒体。
【請求項１８】
請求項１７に記載のデータ処理管理媒体において、
前記書き込み許可を暗号化し、暗号化された前記書き込み許可を前記データ書き込み器へ送信する、
データ処理管理媒体。
【請求項１９】
請求項１８に記載のデータ処理管理媒体において、
第１秘密鍵を格納し、前記第１秘密鍵を用いて前記書き込み許可を暗号化する、
データ処理管理媒体。
【請求項２０】
請求項１８に記載のデータ処理管理媒体において、
暗号化された前記書き込み許可を用いて第１メッセージ認証符号を生成し、生成した前記第１メッセージ認証符号を前記データ書き込み器へ送信する、
データ処理管理媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理方法、データ処理システム及びデータ処理管理媒体に関する。
【背景技術】
【０００２】
汎用ＭＣＵ(Micro Control Unit)等を利用する顧客が、そのＭＣＵへのソフトウェアの書き込みを社外工場へ委託することがある。このとき、委託先の社外工場が、別ルートから書き込み対象物である汎用ＭＣＵを入手し、当該ソフトウェアを予め定められた個数以上の汎用ＭＣＵに対し書き込み処理を行い販売するという、いわゆるオーバープロダクションという問題がある。
【０００３】
このようなオーバープロダクションを防止するため、データ書き込み器とライセンスサーバとを接続し、ライセンスサーバでソフトウェアの書き込み回数を管理する方法が考えられる。また、ソフトウェアや端末情報等のデータが外部に流出しないよう、暗号化されたデータや鍵が用いられる。
【０００４】
例えば、特許文献１には、システムを構成する機器が情報配信を受けるための正規の機器であるか否かの判断を行なうための認証鍵を管理する鍵管理システムが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２００１／４３１０８号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ライセンスサーバへのアクセスは、通信ネットワークを経由して行われる。ライセンスサーバへのアクセスは、汎用ＭＣＵに対する書き込み処理を行う度に実行されるが、ライセンスサーバのダウンや通信ネットワークの不調等のトラブルが発生した場合、書き込み対象物への書き込み処理を行うことができず、工場の製造ラインがストップしてしまう。
【０００７】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
本明細書には、複数の実施の形態が記載されているが、一実施の形態を述べると、次の通りである。
【０００９】
データ処理方法は、書き込み用データの書き込みが行われる書き込み対象物と、書き込み対象物に対する書き込み用データの書き込み処理を行うデータ書き込み器と、書き込み処理の実行回数を管理するデータ処理管理媒体との間で行われるものである。データ処理管理媒体は、データ書き込み器に対し着脱可能である。データ処理方法は、データ書き込み器が、データ処理管理媒体へ書き込み用データの書き込み要求を送信する第１ステップと、データ処理管理媒体が、書き込み要求を受信すると、書き込み処理の実行回数をインクリメントする第２ステップと、データ処理管理媒体が、データ書き込み器へ書き込み用データの書き込み許可を送信する第３ステップと、を含む。第２ステップにおいて、データ処理管理媒体は、実行回数が所定の実行回数上限値に達すると、さらに書き込み要求を受信しても書き込み許可を送信しない。
【発明の効果】
【００１０】
一実施の形態によれば、オーバープロダクションを防止し、ライセンスサーバを用いることなくデータ書き込み処理を行うことが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１に係るデータ処理システムの構成例を示すブロック図である。
【図２】本発明の実施の形態１に係るデータ書き込み処理の一例を示すフロー図である。
【図３】図２の主要な処理と、データ処理システムの各要素における動作とを対応させた図である。
【図４】本発明の実施の形態２に係るデータ処理システムの構成例を示すブロック図である。
【図５】本発明の実施の形態２に係るデータ書き込み処理の一例を示すフロー図である。
【図６】図５の主要な処理と、データ処理システムの各要素における動作とを対応させた図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するためのすべての図において、同一部分には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１３】
（実施の形態１）
＜データ処理システムの構成＞
図１は、本発明の実施の形態１に係るデータ処理システムの構成例を示すブロック図である。図１に示すように、データ処理システム１は、書き込み対象物１０、データ書き込み器２０、データ処理管理媒体（以下、「ドングル」とも表記する）３０を含む。なお、書き込み対象物１０の代表例としては、ＭＣＵが挙げられる。ＭＣＵには、一般市場で入手可能な汎用ＭＣＵも含まれる。そこで、以下では、書き込み対象物１０を、汎用ＭＣＵ１０と表記する場合もある。
【００１４】
〈データ処理管理媒体〉
データ処理管理媒体であるドングル３０は、汎用ＭＣＵ１０へのデータ書き込み回数の管理を行う装置である。図１に示すように、ドングル３０は、演算器３１、メモリ３２、インタフェース３３等を備えている。ドングル３０は、内部構造が解析されにくく見破られにくい耐タンパー性を有している。
【００１５】
メモリ３２は、不揮発性メモリを有し、汎用ＭＣＵ１０に対する書き込み用データの書き込み処理の実行回数ＣＮを格納する。また、メモリ３２は、汎用ＭＣＵ１０への書き込み処理の実行回数上限値ＣＮＬや秘密鍵（第１秘密鍵）ｋ１等を格納する。また、メモリ３２は、ドングル３０を動作させるプログラムやパラメータ等を格納する。
【００１６】
メモリ３２は、不揮発性メモリで構成されている。不揮発性メモリの少なくとも一部の領域は、外部からのアクセスが禁止されたセキュア領域となっている。例えば、実行回数ＣＮ、実行回数上限値ＣＮＬ及び秘密鍵ｋ１等、書き込み回数の管理上重要な情報はセキュア領域に格納されることが好ましい。セキュア領域へは、ドングル３０内の演算器３１のみがアクセス可能である。
【００１７】
ドングル３０は、インタフェース３３を介してデータ書き込み器２０と接続される。ドングル３０及びデータ書き込み器２０は、シリアルバス等で互いに接続される。シリアルバスの例として、例えばＵＳＢ（Universal Serial Bus）が挙げられる。この場合、インタフェース２４、３３は、ＵＳＢ規格に準拠した端子で構成され、ドングル３０は、ＵＳＢ端子によりデータ書き込み器２０と接続される。
【００１８】
演算器３１は、ドングル３０内における各処理を実行する機能ブロックである。詳しくは後述するが、演算器３１は、データ書き込み器２０から汎用ＭＣＵ１０に対する書き込み用データの書き込み要求を受信すると、実行回数ＣＮをインクリメントし、メモリ３２内の実行回数ＣＮを更新する。そして、演算器３１は、インタフェース３３を介して、データ書き込み器２０に書き込み許可を送信する。
【００１９】
その際、演算器３１は、実行回数ＣＮと実行回数上限値ＣＮＬとを比較する。演算器３１は、実行回数ＣＮが実行回数上限値ＣＮＬに達すると、さらに書き込み要求を受信しても、実行回数ＣＮのインクリメントを行わず、書き込み許可の送信を行わない。すなわち、実行回数上限値ＣＮＬの回数分データ書き込み処理が行われると、ドングル３０は、動作を停止する。
【００２０】
これにより、データ書き込み器２０は、ドングル３０から書き込み許可を受信できず、汎用ＭＣＵ１０への書き込み用データの書き込みができなくなる。このように、データ書き込み処理の実行回数ＣＮが実行回数上限値ＣＮＬ以下となるように適切に管理され、オーバープロダクションを防止することが可能となる。
【００２１】
本実施の形態では、ドングル３０において、書き込み許可の暗号化が行われる。暗号化を実行するため、演算器３１は、図１に示すように、公開鍵暗号鍵生成器３１ａ、ＡＥＳ（Advanced Encryption Standard）暗号化器３１ｂを有している。公開鍵暗号鍵生成器３１ａ、ＡＥＳ暗号化器３１ｂは、ハードウェア又はプログラムの実行により演算器３１内に実現される。なお、ハードウェアで構成される公開鍵暗号鍵生成器３１ａ及びＡＥＳ暗号化器３１ｂは、演算器３１の外側に設けられてもよい。
【００２２】
公開鍵暗号鍵生成器３１ａは、例えば図示しない乱数発生器等を用いて秘密鍵（第２秘密鍵）ｓｋと公開鍵（第１公開鍵）ｐｋとからなる一対の鍵ペアを生成する。ＡＥＳ暗号化器３１ｂは、データ書き込み器２０から受信した汎用ＭＣＵ１０の識別情報ＩＤ及び秘密鍵ｓｋを含む書き込み許可を暗号化した暗号文Ｃ２を生成する。演算器３１は、暗号文Ｃ２及び公開鍵ｐｋを、データ書き込み器２０へ送信する。演算器３１における各処理については、後で詳しく説明する。
【００２３】
〈データ書き込み器〉
データ書き込み器２０は、汎用ＭＣＵ１０への書き込み用データの書き込み処理を行う装置である。図１に示すように、データ書き込み器２０は、演算器２１、メモリ２２、電源回路２３、インタフェース２４等を備えている。データ書き込み器２０は、書き込み処理用の専用品でもよいし、パソコン等の情報処理装置等で構成されてもよい。
【００２４】
メモリ２２は、不揮発性メモリを有し、汎用ＭＣＵ１０への書き込み用データ（例えばプログラムＰ）等を格納する。また、メモリ２２は、データ書き込み器２０を動作させるプログラムやパラメータ等を格納する。
【００２５】
電源回路２３は、データ書き込み器２０内の各部へ供給される電源を制御する機能ブロックである。電源回路２３は、図示しない外部電源と接続され、演算器２１から供給される信号に従い電源制御を行う。なお、電源回路２３は、ドングル３０や汎用ＭＣＵ１０へも電源供給行ってもよい。
【００２６】
演算器２１は、データ書き込み器２０内の各処理を実行する機能ブロックである。例えば、演算器２１は、ドングル３０へ汎用ＭＣＵ１０に対する書き込み用データの書き込み要求を送信し、ドングル３０から書き込み許可を受信する。例えば、演算器２１は、書き込み用データの書き込みが行われる汎用ＭＣＵ１０から各汎用ＭＣＵに固有の識別情報ＩＤを読み出し、読み出した識別情報を含む書き込み要求を生成し、ドングル３０へ送信する。
【００２７】
本実施の形態では、データ書き込み器２０において、書き込み用データを含むデータの暗号化が行われる。暗号化の処理を行うため、演算器２１は、公開鍵暗号暗号化器２１ａを有している。公開鍵暗号暗号化器２１ａは、ハードウェア又はプログラムの実行により演算器２１内に実現される。なお、ハードウェアで構成される公開鍵暗号暗号化器２１ａは、演算器２１の外側に形成されてもよい。
【００２８】
公開鍵暗号暗号化器２１ａは、例えば、ドングル３０から受信した公開鍵ｐｋを用いて、書き込み用データ（例えばプログラムＰ）と、読み出した識別情報ＩＤとを含むデータを公開鍵ｐｋを用いて暗号化し、データの暗号文Ｃ３を生成する。演算器２１は、生成した暗号文Ｃ３及び暗号文Ｃ２を汎用ＭＣＵ１０へ送信する。
【００２９】
〈書き込み対象物〉
書き込み対象物１０には、書き込み用データの書き込みが行われる。書き込み対象物１０は、演算器１１及びメモリ１２を備えている。すでに述べた通り、書き込み対象物１０は、一般に入手可能な汎用ＭＣＵ等である。
【００３０】
メモリ１２は、不揮発性メモリを有し、書き込み対象物１０の識別情報ＩＤや秘密鍵（第１秘密鍵）ｋ１等を格納する。また、メモリ１２は、これらの他、書き込み対象物１０の動作用プログラムや設定値等も格納する。識別情報ＩＤは、書き込み対象物１０ごとに異なる値に設定される。データ書き込み器２０から受信したプログラムＰ等の書き込み用データは、後述する所定の処理を経てメモリ１２にインストールされる。
【００３１】
演算器１１は、書き込み対象物１０における各種制御を行う機能ブロックである。演算器１１は、公開鍵暗号復号器１１ａ及びＡＥＳ復号器１１ｂを有する。公開鍵暗号復号器１１ａ及びＡＥＳ復号器１１ｂは、ハードウェア又はプログラムの実行により演算器１１内に実現される。なお、ハードウェアで構成される公開鍵暗号復号器１１ａ及びＡＥＳ復号器１１ｂは、演算器１１の外側に形成されてもよい。
【００３２】
ＡＥＳ復号器１１ｂは、データ書き込み器２０から受信した暗号文Ｃ２の復号を行う。具体的に述べると、ＡＥＳ復号器１１ｂは、メモリ１２に格納された秘密鍵ｋ１を用いて暗号文Ｃ２を復号し、書き込み許可に含まれる秘密鍵ｓｋ、及びデータ書き込み処理を行おうとしている書き込み対象物１０の識別情報ＩＤを取得する。なお、便宜上、ここで取得した識別情報をＩＤ’と表記する。
【００３３】
公開鍵暗号復号器１１ａは、データ書き込み器２０から受信した暗号文Ｃ３の復号を行う。具体的に述べると、公開鍵暗号復号器１１ａは、暗号文Ｃ２の復号により取得した秘密鍵ｓｋを用いて暗号文Ｃ３を復号し、データに含まれるプログラムＰ、及びデータ書き込み処理を行おうとしている書き込み対象物１０の識別情報ＩＤを取得する。なお、便宜上、ここで取得した識別情報をＩＤ”と表記する。
【００３４】
＜データ書き込み処理＞
次に、データ処理システム１におけるデータ書き込み処理を詳しく説明する。図２は、本発明の実施の形態１に係るデータ書き込み処理の一例を示すフロー図である。図３は、図２の主要な処理と、データ処理システムの各要素における動作とを対応させた図である。
【００３５】
データ書き込み処理には、例えば図２に示すステップＳ１０〜Ｓ１９０が実施される。データ書き込み処理が開始されると（ステップＳ１０）、データ書き込み器２０は、汎用ＭＣＵ１０から固有の識別情報ＩＤを読み出す（（１）、ステップＳ２０）。具体的に述べると、データ書き込み器２０からの指示を受信すると、汎用ＭＣＵ１０の演算器１１は、メモリ１２に格納している識別情報ＩＤを読み出し、読み出した識別情報ＩＤをデータ書き込み器２０へ送信する。なお、データ書き込み処理の開始とともに、識別情報ＩＤが自動的にデータ書き込み器２０へ送信されるようにしてもよい。
【００３６】
データ書き込み器２０は、汎用ＭＣＵ１０から読み出した識別情報ＩＤを書き込み要求としてドングル３０へ送信する（（２）、ステップＳ３０）。その際、データ書き込み器２０は、識別情報ＩＤをメモリ２２又は演算器２１内のＲＡＭ等に格納しておく。
【００３７】
識別情報ＩＤを受信すると、ドングル３０の演算器３１は、実行回数ＣＮと実行回数上限値ＣＮＬとを比較し、実行回数ＣＮが実行回数上限値ＣＮＬであるかどうかを判定する（ステップＳ４０）。具体的に述べると、演算器３１は、メモリ３２から実行回数ＣＮ及び実行回数上限値ＣＮＬを読み出し、これらを比較することにより判定を行う。実行回数ＣＮが実行回数上限値ＣＮＬである場合（ＹＥＳ）、演算器３１は、実行回数が所定の実行回数上限値に達していると判断し、実行回数ＣＮのインクリメントを行うことなく、ドングル３０の動作を停止させる（ステップＳ５０）。
【００３８】
一方、実行回数ＣＮが実行回数上限値ＣＮＬより小さい場合（ＮＯ）、演算器３１は、実行回数ＣＮのインクリメントを行う（ステップＳ６０、（３））。そして、演算器３１は、インクリメント後の実行回数ＣＮをメモリ３２へ送信し、メモリ３２に格納されている実行回数の値を更新する。
【００３９】
次に、公開鍵暗号鍵生成器３１ａは、例えば乱数発生器等を用いて一対の鍵ペア（ｐｋ、ｓｋ）を生成する（（４）、ステップＳ７０）。公開鍵ｐｋ及び秘密鍵ｓｋは、複数ビットで構成される。ＡＥＳ暗号化器３１ｂは、秘密鍵ｋ１を用いて汎用ＭＣＵ１０に対する書き込み許可を暗号化する（（５）、ステップＳ８０）。具体的に述べると、まず、演算器３１は、公開鍵暗号鍵生成器３１ａで生成された秘密鍵ｓｋと識別情報ＩＤとを並べた平文（ｓｋ||ＩＤ）を生成する。そして、ＡＥＳ暗号化器３１ｂは、秘密鍵ｋ１を用いて平文（ｓｋ||ＩＤ）を暗号化することで、暗号文Ｃ２＝Ｅｎｃ（ｋ１、ｓｋ||ＩＤ）を生成する。演算器３１は、インタフェース３３を介して公開鍵ｐｋ及び暗号文Ｃ２をデータ書き込み器２０へ送信する（（６）、ステップＳ９０）。
【００４０】
次に、データ書き込み器２０の公開鍵暗号暗号化器２１ａは、プログラムＰ及び汎用ＭＣＵ１０から受信した識別情報ＩＤを含むデータを暗号化し、暗号文Ｃ３＝ＰＫＥｎｃ（ｐｋ、Ｐ||ＩＤ）を生成する（（７）、ステップＳ１００）。具体的に述べると、まず、公開鍵暗号暗号化器２１ａは、プログラムＰと識別情報ＩＤとを並べた平文（Ｐ||ＩＤ）をデータとして生成する。そして、公開鍵暗号暗号化器２１ａは、ドングル３０から受信した公開鍵ｐｋを用いて平文（Ｐ||ＩＤ）を暗号化することで、暗号文Ｃ３＝ＰＫＥｎｃ（ｐｋ、Ｐ||ＩＤ）を生成する。演算器２１は、暗号文Ｃ２＝Ｅｎｃ（ｋ１、ｓｋ||ＩＤ）及びＣ３＝ＰＫＥｎｃ（ｐｋ、Ｐ||ＩＤ）を汎用ＭＣＵ１０へ送信する（（８）、ステップＳ１１０）。
【００４１】
汎用ＭＣＵ１０のＡＥＳ復号器１１ｂは、秘密鍵ｋ１を用いて暗号文Ｃ２を復号する（（９）、ステップＳ１２０）。具体的に述べると、ＡＥＳ復号器１１ｂは、メモリ１２から秘密鍵ｋ１を読み出し、読み出した秘密鍵ｋ１を用いて暗号文Ｃ２＝Ｅｎｃ（ｋ１、ｓｋ||ＩＤ）を復号する。これにより、ＡＥＳ復号器１１ｂは、秘密鍵ｓｋ’及び識別情報ＩＤ’を取得する（ｓｋ||ＩＤ＝Ｄｅｃ（ｋ１、Ｃ２））。
【００４２】
なお、ステップＳ１２０において取得した秘密鍵及び識別情報を、ｓｋ’、ＩＤ’と表記している。これにより、取得した秘密鍵とドングル３０で生成された秘密鍵とを区別し、取得した識別情報と汎用ＭＣＵ１０が格納する識別情報とを区別する。
【００４３】
ステップＳ１３０では、ステップＳ１２０で取得した識別情報ＩＤ’と、汎用ＭＣＵ１０に格納された識別情報ＩＤとが一致するかどうかが判定される。具体的に述べると、汎用ＭＣＵ１０の演算器１１は、メモリ１２に格納された識別情報ＩＤを読み出し、読み出した識別情報ＩＤと、ステップＳ１２０で取得した識別情報ＩＤ’とを比較する。これらの識別情報ＩＤ、ＩＤ’が互いに異なる場合（ＮＯ）、演算器１１は、汎用ＭＣＵ１０の動作を停止させる（ステップＳ１４０）。
【００４４】
一方、これらの識別情報ＩＤ、ＩＤ’が一致する場合（ＹＥＳ）、公開鍵暗号復号器１１ａは、ステップＳ１２０で取得した秘密鍵ｓｋ’を用いて暗号文Ｃ３の復号を行い、プログラムＰ、識別情報を取得する（（１０）、ステップＳ１５０）。
【００４５】
なお、ステップＳ１５０において、秘密鍵ｓｋ’による暗号文Ｃ３の復号が失敗した場合、演算器１１は、汎用ＭＣＵ１０の動作を停止させる。
【００４６】
ステップＳ１６０では、ステップＳ１５０で取得した識別情報ＩＤ”と、汎用ＭＣＵ１０が格納する識別情報ＩＤとが一致するかどうかが判定される。演算器１１は、識別情報ＩＤと、ステップＳ１５０における復号により取得した識別情報ＩＤ”とを比較する。これらの識別情報ＩＤ、ＩＤ”が互いに異なる場合（ＮＯ）、演算器１１は、汎用ＭＣＵ１０の動作を停止させる（ステップＳ１７０）。
【００４７】
一方、これらの識別情報ＩＤ、ＩＤ”が一致する場合（ＹＥＳ）、演算器１１は、ステップＳ１５０で取得したプログラムＰのインストールを行う（（１１）ステップＳ１８０）。プログラムＰのインストールが終了すると、データ書き込み処理が完了する（ステップＳ１９０）。
【００４８】
＜本実施の形態による主な効果＞
本実施の形態によれば、ドングル３０は、データ書き込み器２０からプログラム等の書き込み用データの書き込み要求を受信すると、書き込み処理の実行回数ＣＮをインクリメントし、データ書き込み器２０へ書き込み用データの書き込み許可を送信する。また、ドングル３０は、実行回数ＣＮが所定の実行回数上限値ＣＮＬに達すると、さらなる書き込み要求を受信しても書き込み許可を送信しない。この構成によれば、ドングル３０は、実行回数を適切に管理し、オーバープロダクションを防止することが可能となる。
【００４９】
このように、本実施の形態のドングル３０を用いることにより、オーバープロダクションの防止、及びライセンスサーバを用いることなくデータ書き込み処理を行うことが可能となる。
【００５０】
また、本実施の形態によれば、データ書き込み器２０から送信される書き込み要求、及びドングル３０から送信される書き込み許可に、書き込み要求書き込み処理を行おうとしている汎用ＭＣＵ１０から読み出した識別情報ＩＤが含まれる。そして、汎用ＭＣＵ１０は、データ書き込み器２０から受信したデータ及び書き込み許可に含まれる識別情報ＩＤ’、ＩＤ”と、自身が格納している識別情報ＩＤとを比較し、これらが互いに異なる場合には、動作を停止する。
【００５１】
この構成によれば、識別情報ＩＤ’、ＩＤ”と、自身が格納している識別情報ＩＤとが一致する場合のみデータ書き込み処理が実行されるので、データ書き込み処理時の安全性が確保される。すなわち、書き込み許可を受けた汎用ＭＣＵと書き込み対象の汎用ＭＣＵとを一致させることができる。
【００５２】
また、本実施の形態によれば、汎用ＭＣＵ１０に対する書き込み許可、プログラムＰ等の書き込み用データを含むデータは暗号化され、汎用ＭＣＵ１０において暗号文の復号が行われる。具体的に述べると、ドングル３０、データ書き込み器２０、汎用ＭＣＵ１０間で、公開鍵暗号及び共通鍵暗号を組み合わせた暗号プロトコルを利用することにより、各機器間の通信内容を攻撃者が読み取っても、プログラム等の書き込み用データの取り出し及び不正なインストールが不可能となっている。また、ドングル３０で管理されている実行回数ＣＮの改ざんも不可能となっている。このように、ドングル３０から汎用ＭＣＵ１０までの経路における通信内容の盗聴を防止でき、データ書き込み処理時の安全性がより一層確保される。
【００５３】
また、本実施の形態によれば、偽ドングルを作成し、その偽ドングルをデータ書き込み器２０に接続しても、格納する秘密鍵が異なるので、データ書き込み器２０又は汎用ＭＣＵ１０において、このドングルが偽ドングルであることが検知され、不正なデータ書き込み処理の実行を防止することが可能である。
【００５４】
また、本実施の形態によれば、ドングル３０及び汎用ＭＣＵ１０に共通の秘密鍵ｋ１を格納する。この構成によれば、秘密鍵を読み出す際にサーバとの通信を行う必要がなく、オフラインで処理することが可能となる。
【００５５】
また、本実施の形態によれば、一対の鍵ペア（ｐｋ、ｓｋ）がドングル３０内で生成される。この構成によれば、鍵ペアが外部へ漏れることがないので、鍵ペアを用いた暗号化及び復号の安全性が確保される。
【００５６】
（実施の形態２）
次に、実施の形態２について説明する。なお、以下では、前述の実施の形態で述べた内容と重複する箇所については適宜省略する。図４は、本発明の実施の形態２に係るデータ処理システムの構成例を示すブロック図である。
【００５７】
〈データ処理管理媒体〉
メモリ３２は、書き込み処理の実行回数ＣＮ、実行回数上限値ＣＮＬ、秘密鍵（第３秘密鍵）ｋ１、秘密鍵（第４秘密鍵）ｓｋ等を格納する。また、メモリ３２は、ドングル３０を動作させるプログラムやパラメータ等を格納する。
【００５８】
本実施の形態の演算器３１は、実施の形態１における各機能に加え、秘密鍵ｋ１を用いた、秘密鍵（第５秘密鍵）ｋ２、秘密鍵（第６秘密鍵）ｋ３の生成も行う。具体的に述べると、演算器３１は、例えば鍵導出関数を用い、秘密鍵ｋ１を入力として秘密鍵ｋ２、ｋ３を出力してもよい。
【００５９】
演算器３１は、図４に示すように、ＡＥＳ暗号化器３１ｂ、ＭＡＣ生成器３１ｃを備えている。ＡＥＳ暗号化器３１ｂ、ＭＡＣ生成器３１ｃは、ハードウェア又はプログラムの実行により演算器３１内に実現される。なお、ハードウェアで構成される場合、ＡＥＳ暗号化器３１ｂ、ＭＡＣ生成器３１ｃは、演算器３１の外側に設けられてもよい。
【００６０】
ＡＥＳ暗号化器３１ｂは、例えば秘密鍵ｋ２を用いて、秘密鍵ｓｋや識別情報ＩＤを含む書き込み許可を暗号化し、書き込み許可の暗号文Ｃ１２を生成する。ＭＡＣ生成器３１ｃは、ＡＥＳ暗号化器３１ｂで暗号化された書き込み許可を用いてメッセージ認証符号（第１メッセージ認証符号）ｔを生成する。演算器３１ｂは、暗号文Ｃ１２、メッセージ認証符号ｔをデータ書き込み器２０へ送信する。なお、演算器３１ｂにおける各処理については、後で詳しく説明する。
【００６１】
〈データ書き込み器〉
データ書き込み器２０のメモリ２２は、秘密鍵ｓｋに対応する公開鍵（第２公開鍵）ｐｋを用いて暗号化されたデータの暗号文Ｃ１３を格納する。この暗号文Ｃ１３は、例えば、データ書き込み器２０のユーザやソフトウェアベンダにより事前に生成されたものである。この公開鍵ｐｋは、例えばドングル３０の製造元のウェブサイトにおいて公開される鍵であり、秘密鍵ｓｋに対応する鍵である。言い換えれば、秘密鍵ｓｋと、公開鍵ｐｋは、一対の鍵ペアを構成する。ドングル３０を用いてデータ書き込み器２０のユーザやソフトウェアベンダは、当該ウェブサイトから公開鍵ｐｋを入手した上で、暗号文Ｃ１３を生成し、メモリ２２へ格納しておく。
【００６２】
このように、本実施の形態ではプログラム等を含むデータの暗号文がメモリ２２に事前に準備されるので、演算器２１において暗号化を行う必要がない。このため、本実施の形態の演算器２１には、公開鍵暗号暗号化器２１ａは設けられていない。
【００６３】
演算器２１は、ドングルから受信した書き込み許可の暗号文Ｃ１２、メッセージ認証符号ｔ、及びメモリに格納しているデータの暗号文Ｃ１３を汎用ＭＣＵ１０へ送信する。
【００６４】
〈書き込み対象物〉
汎用ＭＣＵ１０のメモリ１２は、識別情報ＩＤ、秘密鍵（第３秘密鍵）ｋ１等を格納する。本実施の形態の演算器１１は、実施の形態１における各機能に加え、秘密鍵ｋ１を用いた、秘密鍵（第５秘密鍵）ｋ２、秘密鍵（第６秘密鍵）ｋ３の生成も行う。秘密鍵ｋ２、ｋ３は、ドングル３１と同様に、例えば鍵導出関数を用い、秘密鍵ｋ１を入力として出力される。
【００６５】
演算器１１は、公開鍵暗号復号器１１ａ、ＡＥＳ復号器１１ｂ、及びＭＡＣ検証器１１ｃを備えている。公開鍵暗号復号器１１ａ、ＡＥＳ復号器１１ｂ、及びＭＡＣ検証器１１ｃは、ハードウェア又はプログラムの実行により演算器１１内に実現される。なお、ハードウェアで構成される場合、公開鍵暗号復号器１１ａ、ＡＥＳ復号器１１ｂ、及びＭＡＣ検証器１１ｃは、演算器１１の外側に形成されてもよい。
【００６６】
ＭＡＣ検証器１１ｃは、データ書き込み器２０から受信した書き込み許可の暗号文Ｃ１２と、演算器１１で生成された秘密鍵ｋ３とを用いてメッセージ認証符号（第２メッセージ認証符号）ｔ’を生成する。
【００６７】
受信したメッセージ認証符号ｔとＭＡＣ検証器１１ｃで生成されたメッセージ認証符号ｔ’とが一致すれば、ＡＥＳ復号器１１ｂは、秘密鍵ｋ２を用いて書き込み許可の暗号文Ｃ１２の復号を行い、書き込み許可に含まれる秘密鍵ｓｋ、及び識別情報を取得する。なお、便宜上、ここで取得した識別情報をＩＤ’と表記する。
【００６８】
書き込み処理を行おうとしている汎用ＭＣＵ１０が格納する識別情報ＩＤと、暗号文Ｃ１２から取得した識別情報ＩＤ’とが一致する場合、公開鍵暗号復号器１１ａは、データの暗号文Ｃ１３を、秘密鍵ｓｋを用いて復号し、プログラムＰを取得する。
【００６９】
＜データ書き込み処理＞
次に、本実施の形態のデータ書き込み処理を詳しく説明する。図５は、本発明の実施の形態２に係るデータ書き込み処理の一例を示すフロー図である。図６は、図３の主要な処理と、データ処理システムの各要素における動作とを対応させた図である。
【００７０】
データ書き込み処理には、例えば図５に示すステップＳ２１０〜Ｓ４００が実施される。データ書き込み処理が開始されると（ステップＳ２１０）、データ書き込み器２０は、汎用ＭＣＵ１０から固有の識別情報ＩＤを読み出す（（１）、ステップＳ２２０）。ステップＳ２２０では、図２のステップＳ２０と同様の処理が実行されるので、詳細な説明は省略する。
【００７１】
データ書き込み器２０は、汎用ＭＣＵ１０から読み出した識別情報ＩＤを書き込み要求としてドングル３０へ送信する（（２）、ステップＳ２３０）。なお、ステップＳ２３０では、識別情報ＩＤをメモリ２２等に格納しておく必要ない。データ書き込み器２０において暗号文を生成しないからである。
【００７２】
識別情報ＩＤを受信すると、ドングル３０の演算器３１は、実行回数ＣＮと実行回数上限値ＣＮＬとを比較し、実行回数ＣＮが実行回数上限値ＣＮＬであるかどうかを判定する（ステップＳ２４０）。実行回数ＣＮが実行回数上限値ＣＮＬである場合（ＹＥＳ）、演算器３１は、実行回数が所定の実行回数上限値に達していると判断し、実行回数ＣＮのインクリメントを行うことなく、ドングル３０の動作を停止させる（ステップＳ２５０）。一方、実行回数ＣＮが実行回数上限値ＣＮＬより小さい場合（ＮＯ）、演算器３１は、実行回数ＣＮのインクリメントを行う（ステップＳ２６０、（３））。ステップＳ２４０−Ｓ２６０では、図２のステップＳ４０−Ｓ６０と同様の処理が実行される。
【００７３】
次に、演算器３１は、鍵導出関数（ＫＤＦ）を用い、秘密鍵ｋ１を入力として秘密鍵ｋ２、ｋ３（（ｋ２、ｋ３）＝ＫＤＦ（ｋ１））を生成する（（４）、ステップＳ２７０）。ＡＥＳ暗号化器３１ｂは、秘密鍵ｋ２を用いて書き込み許可を暗号化する（（５）、ステップＳ２８０）。具体的に述べると、まず、演算器３１は、メモリ３２から秘密鍵ｓｋを読み出し、秘密鍵ｓｋと識別情報ＩＤとを並べた書き込み許可の平文（ｓｋ||ＩＤ）を生成する。そして、ＡＥＳ暗号化器３１ｂは、秘密鍵ｋ２を用いて書き込み許可の平文（ｓｋ||ＩＤ）を暗号化することで、暗号文Ｃ１２＝Ｅｎｃ（ｋ２、ｓｋ||ＩＤ）を生成する。
【００７４】
次に、ＭＡＣ生成器３１ｃは、ステップＳ２７０で生成された秘密鍵ｋ３と、書き込み許可の暗号文Ｃ１２とを用いてメッセージ認証符号ｔ＝ＭＡＣ（ｋ３、Ｃ１２）を生成する（（６）、ステップＳ２９０）。
【００７５】
演算器３１は、インタフェース３３を介して、暗号文Ｃ１２及びメッセージ認証符号ｔをデータ書き込み器２０へ送信する（（７）、ステップＳ３００）。
【００７６】
データ書き込み器２０のインタフェース２４は、暗号文Ｃ１２、メッセージ認証符号ｔ、及び暗号文Ｃ１３を汎用ＭＣＵ１０へ送信する（（８）、ステップＳ３１０）。
【００７７】
汎用ＭＣＵ１０の演算器１１は、鍵導出関数（ＫＤＦ）を用い、秘密鍵ｋ１を入力として秘密鍵ｋ２、ｋ３（（ｋ２、ｋ３）＝ＫＤＦ（ｋ１））を生成する（（９）、ステップＳ３２０）。
【００７８】
ステップＳ３３０では、ドングルで生成されたメッセージ認証符号ｔと、汎用ＭＣＵ１０で生成されるメッセージ認証符号ｔ’とが一致するかどうかが検証される（（１０）、ステップＳ３３０）。まず、ＭＡＣ検証器１１ｃは、ステップＳ３１０で受信した暗号文Ｃ１２と、ステップＳ３２０で生成された秘密鍵ｋ３とを用いて、メッセージ認証符号ｔ’を生成する。
【００７９】
そして、ＭＡＣ検証器１１ｃは、ステップＳ３１０で受信したメッセージ認証符号ｔと、生成したメッセージ認証符号ｔ’とを比較し、これらのメッセージ認証符号ｔ、ｔ’が一致するかどうかの検証を行う。検証の結果、これらのメッセージ認証符号ｔ、ｔ’が一致しない場合（ＮＯ）、演算器１１は、汎用ＭＣＵ１０の動作を停止させる（ステップＳ３４０）。
【００８０】
一方、これらのメッセージ認証符号ｔ、ｔ’が一致する場合（ＹＥＳ）、ＡＥＳ復号器１１ｂは、秘密鍵ｋ２を用いて暗号文Ｃ１２＝Ｅｎｃ（ｋ２、ｓｋ||ＩＤ）を復号し（（１１）、ステップＳ３５０）、秘密鍵ｓｋ及び識別情報ＩＤ’を取得する（ｓｋ||ＩＤ＝Ｄｅｃ（ｋ２、Ｃ１２））。なお、ステップＳ１２０において取得した秘密鍵及び識別情報をＩＤ’と表記している。これにより、取得した識別情報と汎用ＭＣＵ１０が格納する識別情報とを区別する。ステップＳ３５０は、図２のステップＳ１２０と類似している。
【００８１】
ステップＳ３６０では、ステップＳ３５０で取得した識別情報ＩＤ’と、汎用ＭＣＵ１０に格納された識別情報ＩＤとが一致するかどうかが判定される。ステップＳ３６０は、図２のステップＳ１３０と同様である。これらの識別情報ＩＤ、ＩＤ’が互いに異なる場合（ＮＯ）、演算器１１は、汎用ＭＣＵ１０の動作を停止させる（ステップＳ３７０）。
【００８２】
一方、これらの識別情報ＩＤ、ＩＤ’が一致する場合（ＹＥＳ）、公開鍵暗号復号器１１ａは、ステップＳ３５０で取得した秘密鍵ｓｋを用いて暗号文Ｃ１３の復号を行い、プログラムＰを取得する（（１２）、ステップＳ３８０）。なお、ステップＳ３８０において、秘密鍵ｓｋによる暗号文Ｃ１３の復号が失敗した場合、演算器１１は、汎用ＭＣＵ１０の動作を停止させる。
【００８３】
そして、演算器１１は、ステップＳ３８０で取得したプログラムＰのインストールを行う（（１３）ステップＳ３９０）。プログラムＰのインストールが終了すると、データ書き込み処理が完了する（ステップＳ４００）。
【００８４】
＜本実施の形態による主な効果＞
本実施の形態では、前述の実施の形態１における各効果に加え、以下の効果が得られる。書き込み許可に含まれる識別情報の比較とともに、書き込み許可の暗号文を用いて生成されるメッセージ認証符号の比較が行われる。この構成によれば、通信路中での通信エラー、故意の改ざん等を防ぎ、システム内での通信の安全性をより向上させることが可能となる。
【００８５】
また、本実施の形態によれば、ドングル３０及び汎用ＭＣＵにおいて、鍵導出関数（ＫＤＦ）、鍵導出関数の入力となる秘密鍵ｋ１を用いて、秘密鍵ｋ２、ｋ３が生成される。この構成によれば、暗号文Ｃ１２の復号用の秘密鍵（ｋ２）およびＭＡＣ検証用の秘密鍵（ｋ３）をドングル３０から送信する必要がなくなる。
【００８６】
また、本実施の形態によれば、ドングル３０内で鍵ペアを作成する必要がないため、図１の公開鍵暗号鍵生成器３１ａが不要である。公開鍵の生成に必要となる乱数発生器も不要である。また、プログラムＰは、データ書き込み器２０のユーザやソフトウェアベンダにより事前に生成されるので、プログラムＰ漏えいの可能性が低減される。また、データ書き込み器２０にセキュアな保存領域が不要となる。
【００８７】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００８８】
以下に、本発明の好ましい態様について付記する。
【００８９】
［付記１］
前記データ処理管理媒体は、第２秘密鍵と、前記第２秘密鍵と対応する第１公開鍵とからなる鍵ペアを生成し、前記第１公開鍵と、前記第２秘密鍵及び前記識別情報を含む暗号化された前記書き込み許可とを前記データ書き込み器へ送信し、
前記データ書き込み器は、受信した前記第１公開鍵を用いて前記データを暗号化し、暗号化された前記データと、暗号化された前記書き込み許可とを前記書き込み対象物へ送信し、
前記書き込み対象物は、暗号化された前記書き込み許可を前記第１秘密鍵を用いて復号して前記第２秘密鍵を取得し、暗号化された前記データを前記第２秘密鍵を用いて復号する、
データ処理システム。
【００９０】
［付記２］
前記データは、前記書き込み対象物から読み出された前記識別情報を含み、
前記書き込み対象物は、自身の前記識別情報と、前記データに含まれる前記識別情報とが一致するとき、前記書き込み用データの書き込みを行う、
データ処理システム。
【００９１】
［付記３］
前記データ処理管理媒体は、第３秘密鍵及び第４秘密鍵を格納し、前記第３秘密鍵を用いて第５秘密鍵及び第６秘密鍵を生成し、前記第５秘密鍵を用いて前記第４秘密鍵を含む前記書き込み許可を暗号化し、暗号化された前記書き込み許可と前記第６秘密鍵とを用いて前記第１メッセージ認証符号を生成し、前記第１メッセージ認証符号及び暗号化された前記書き込み許可を前記データ書き込み器へ送信し、
前記データ書き込み器は、前記第４秘密鍵と対応する第２公開鍵を用いて暗号化された前記データを格納し、前記第１メッセージ認証符号、暗号化された前記書き込み許可、及び暗号化された前記データを前記書き込み対象物へ送信し、
前記書き込み対象物は、前記第３秘密鍵を格納し、前記第３秘密鍵を用いて前記第５秘密鍵及び前記第６秘密鍵を生成し、受信した暗号化された前記書き込み許可と、生成した前記第６秘密鍵とを用いて第２メッセージ認証符号を生成する、
データ処理システム。
【００９２】
［付記４］
前記書き込み対象物は、暗号化された前記書き込み許可を前記第５秘密鍵を用いて復号して前記第４秘密鍵を取得し、暗号化された前記データを前記第４秘密鍵を用いて復号する、
データ処理システム。
【００９３】
［付記５］
前記データ処理管理媒体及び前記書き込み対象物は、鍵導出関数を用いて、前記第３秘密鍵を入力として前記第５秘密鍵及び第６秘密鍵を取得する、
データ処理システム。
【００９４】
［付記６］
前記データ書き込み器及び前記データ処理管理媒体は、シリアルバスで互いに接続される、
データ処理システム。
【００９５】
［付記７］
前記データ書き込み器及び前記データ処理管理媒体は、ＵＳＢ端子で互いに接続されている、
データ処理システム。
【００９６】
［付記８］
第２秘密鍵と、前記第２秘密鍵と対応する第１公開鍵とからなる鍵ペアを生成し、前記第１公開鍵と、前記第２秘密鍵及び前記識別情報を含む暗号化された前記書き込み許可とを前記データ書き込み器へ送信する、
データ処理管理媒体。
【００９７】
［付記９］
第３秘密鍵及び第４秘密鍵を格納し、前記第３秘密鍵を用いて第５秘密鍵及び第６秘密鍵を生成し、前記第５秘密鍵を用いて前記第４秘密鍵を含む前記書き込み許可を暗号化し、暗号化された前記書き込み許可と前記第６秘密鍵とを用いて前記第１メッセージ認証符号を生成し、前記第１メッセージ認証符号及び暗号化された前記書き込み許可を前記データ書き込み器へ送信する、
データ処理管理媒体。
【００９８】
［付記１０］
鍵導出関数を用いて、前記第３秘密鍵を入力として前記第５秘密鍵及び第６秘密鍵を取得する、
データ処理管理媒体。
【００９９】
［付記１１］
外部からのアクセスが禁止されたセキュア領域を含むメモリを備えている、
データ処理管理媒体。
【０１００】
［付記１２］
データ処理管理媒体により書き込み用データの書き込み処理の実行回数が管理されながら、データ書き込み器により前記書き込み用データの前記書き込み処理が実行される書き込み対象物であって、
自身の識別情報と、前記データ処理管理媒体から送信された前記書き込み対象物に対する前記書き込み許可に含まれる識別情報とが一致するとき、前記書き込み用データの書き込みを行う、
書き込み対象物。
【０１０１】
［付記１３］
前記データ処理管理媒体で暗号化された前記書き込み許可及び前記データ書き込み器で暗号化された前記データをそれぞれ復号する、
書き込み対象物。
【０１０２】
［付記１４］
第１秘密鍵を格納し、前記第１秘密鍵を用いて暗号化された前記書き込み許可を、自身が格納する前記第１秘密鍵を用いて復号する、
書き込み対象物。
【０１０３】
［付記１５］
第２秘密鍵及び前記識別情報を含む暗号化された前記書き込み許可を前記第１秘密鍵を用いて復号して前記第２秘密鍵を取得し、前記第２秘密鍵と対応する第１公開鍵を用いて暗号化された前記データを前記第２秘密鍵を用いて復号する、
書き込み対象物。
【０１０４】
［付記１６］
自身の前記識別情報と、前記データに含まれる前記識別情報とが一致するとき、前記書き込み用データの書き込みを行う、
書き込み対象物。
【０１０５】
［付記１７］
受信した暗号化された前記書き込み許可を用いて第２メッセージ認証符号を生成し、前記データ処理管理媒体で生成された第１メッセージ認証符号と前記第２メッセージ認証符号とが一致すれば、暗号化された前記書き込み許可及び暗号化された前記データをそれぞれ復号する、
書き込み対象物。
【０１０６】
［付記１８］
第３秘密鍵を格納し、前記第３秘密鍵を用いて第５秘密鍵及び第６秘密鍵を生成し、
前記データ管理媒体で生成された第５秘密鍵を用いて暗号化された第４秘密鍵を含む前記書き込み許可と、前記書き込み対象物で生成した前記第６秘密鍵とを用いて第２メッセージ認証符号を生成する、
書き込み対象物。
【０１０７】
［付記１９］
前記書き込み対象物は、暗号化された前記書き込み許可を前記第５秘密鍵を用いて復号して前記第４秘密鍵を取得し、前記第４秘密鍵と対応する第２公開鍵を用いて暗号化された前記データを前記第４秘密鍵を用いて復号する、
書き込み対象物。
【０１０８】
［付記２０］
鍵導出関数を用いて、前記第３秘密鍵を入力として前記第５秘密鍵及び第６秘密鍵を取得する、
書き込み対象物。
【０１０９】
［付記２１］
前記書き込み対象物は、ＭＣＵである、
書き込み対象物。
【符号の説明】
【０１１０】
１…データ処理システム、１０…汎用ＭＣＵ（書き込み対象物）、２０…データ書き込み器、３０…ドングル（データ処理管理媒体）、１１、２１、３１…演算器、１２、２２、３２…メモリ、１１ａ…公開鍵暗号復号器、１１ｂ…ＡＥＳ復号器、１１ｃ…ＭＡＣ検証器、２１ａ…公開鍵暗号暗号化器、３１ａ…公開鍵暗号鍵生成器、３１ｂ…ＡＥＳ暗号化器、３１ｃ…ＭＡＣ生成器
【図１】
2020197832.tif 000003
【図２】
2020197832.tif 000004
【図３】
2020197832.tif 000005
【図４】
2020197832.tif 000006
【図５】
2020197832.tif 000007
【図６】
2020197832.tif 000008