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

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

▶ 尚承科技股▲フン▼有限公司の特許一覧

特許7141190ソフトウェア・ファームウェア又はデータの保護システム及び保護方法
<>
  • 特許-ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 図1
  • 特許-ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 図2
  • 特許-ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 図3
  • 特許-ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 図4
  • 特許-ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 図5
  • 特許-ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 図6
  • 特許-ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 図7
  • 特許-ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 図8
  • 特許-ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 図9
  • 特許-ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 図10
  • 特許-ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 図11
  • 特許-ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 図12
  • 特許-ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 図13
  • 特許-ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-13
(45)【発行日】2022-09-22
(54)【発明の名称】ソフトウェア・ファームウェア又はデータの保護システム及び保護方法
(51)【国際特許分類】
   G06F 21/12 20130101AFI20220914BHJP
   G06F 21/60 20130101ALI20220914BHJP
【FI】
G06F21/12 330
G06F21/60 320
【請求項の数】 7
(21)【出願番号】P 2020218800
(22)【出願日】2020-12-28
(65)【公開番号】P2021163458
(43)【公開日】2021-10-11
【審査請求日】2020-12-28
(31)【優先権主張番号】109110834
(32)【優先日】2020-03-30
(33)【優先権主張国・地域又は機関】TW
(73)【特許権者】
【識別番号】520511295
【氏名又は名称】尚承科技股▲フン▼有限公司
【氏名又は名称原語表記】ECOLUX Technology Co.,Ltd.
【住所又は居所原語表記】1F.,NO.279,ZIQIANG 5TH RD.,ZHUBEI CITY,HSINCHU COUNTY 302,TAIWAN
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】頼 育承
(72)【発明者】
【氏名】呂 佳諺
【審査官】宮司 卓佳
(56)【参考文献】
【文献】特開2005-354122(JP,A)
【文献】特開2008-102618(JP,A)
【文献】特開2016-076220(JP,A)
【文献】特開2006-209691(JP,A)
【文献】特開2005-038411(JP,A)
【文献】特開2014-089640(JP,A)
【文献】特開2005-303370(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/12
G06F 21/60-21/64
(57)【特許請求の範囲】
【請求項1】
第1のモジュールと、外部からの侵入防止機能又は安全な演算機能を持つ第2のモジュールとを含むソフトウェア・ファームウェア又はデータの保護システムであって、
前記第1のモジュールは、未暗号化ソフトウェア・ファームウェアプログラム又はデータを格納するための第1の格納ユニットと、
前記未暗号化ソフトウェア・ファームウェアプログラム又はデータを操作、演算又は処理するための第1の演算ユニットと、
前記第1の格納ユニット及び前記第1の演算ユニットの動作を制御するための第1の制御ユニットと、を備えており、
前記第1の演算ユニットは、前記第1の格納ユニットの暗号化されたソフトウェア・ファームウェアプログラム又はデータを使用することで、転送キー演算プログラムにより転送キーを生成させ、前記転送キーを使用することで、暗号化されたデータキーを未暗号化データキーに復号化し、
前記第1のモジュールは、未暗号化データキー及び暗号化されたソフトウェア・ファームウェアプログラム又はデータを第2のモジュールに転送すると共に、前記未暗号化データキー及び前記暗号化されたソフトウェア・ファームウェアプログラム又はデータを第2の格納ユニットに格納し、
前記第2のモジュールは、未暗号化データキーを格納する第2の格納ユニットと、
前記未暗号化データキーを使用すること前記暗号化されたソフトウェア・ファームウェアプログラム又はデータを復号化する第2の解読ユニットと、
前記第2の格納ユニット及び前記第2の解読ユニットの動作を制御するための第2の制御ユニットと、を備えており、
前記未暗号化ソフトウェア・ファームウェアプログラム又はデータは、第2のモジュール20から第1のモジュール10に転送され、第1の格納ユニット11に格納され、
前記第1の制御ユニットは、前記第1のモジュールと前記第2のモジュールとの間の通信をさらに制御し、
前記第2の制御ユニットは、前記第2のモジュールと前記第1のモジュールとの間の通信をさらに制御する、
ことを特徴とするソフトウェア・ファームウェア又はデータの保護システム。
【請求項2】
前記暗号化されたソフトウェア・ファームウェアプログラム又はデータは、前記未暗号化データキーにより復号化された後、前記第1の演算ユニットで演算処理される、
ことを特徴とする請求項1に記載のソフトウェア・ファームウェア又はデータの保護システム。
【請求項3】
請求項1に記載のソフトウェア・ファームウェア又はデータの保護システムを利用することにより、ソフトウェア・ファームウェア又はデータを保護する方法であって、
サーバが未暗号化ソフトウェア・ファームウェアプログラム又はデータをソース端末から取得し、
前記サーバは、前記未暗号化ソフトウェア・ファームウェアプログラム又はデータを暗号化装置に転送し、
前記暗号化装置は、未暗号化データキーを生成し、
前記暗号化装置は、前記未暗号化ソフトウェア・ファームウェアプログラム又はデータを、前記未暗号化データキーを利用することで、暗号化されたソフトウェア・ファームウェアプログラム又はデータになるように暗号化し、
前記暗号化装置は、前記暗号化されたソフトウェア・ファームウェアプログラム又はデータを使用することで、転送キー演算プログラムにより転送キーを生成させ、
前記暗号化装置は、前記転送キーを使用することで、前記未暗号化データキーを、暗号化されたデータキーとなるように暗号化し、
前記サーバは、前記暗号化されたソフトウェア・ファームウェアプログラム又はデータと、前記暗号化されたデータキーと、前記転送キー演算プログラムとを前記暗号化装置から取得し、
前記サーバは、前記暗号化されたソフトウェア・ファームウェアプログラム又はデータと、前記暗号化されたデータキーと、前記転送キー演算プログラムとをバーナに転送し、
前記バーナは、前記暗号化されたソフトウェア・ファームウェアプログラム又はデータと、前記暗号化されたデータキーと、前記転送キー演算プログラムとを、請求項1に記載の第1のモジュールにおける第1の格納ユニットに書き込み、
請求項1に記載の第1の演算ユニットは、前記第1の格納ユニットの暗号化されたソフトウェア・ファームウェアプログラム又はデータを使用することで、前記転送キー演算プログラムにより転送キーを生成させ、前記暗号化されたデータキーを前記転送キーで未暗号化データキーになるように復号化し、
請求項1に記載の前記第1のモジュールは、前記未暗号化データキーを前記第2のモジュールに転送すると共に、前記未暗号化データキーを前記第2の格納ユニットに格納し、
請求項1に記載の前記第1の制御ユニットは、前記第1の格納ユニットの前記転送キー演算プログラム及び前記未暗号化データキーを削除する、
ことを特徴とするソフトウェア・ファームウェア又はデータの保護方法。
【請求項4】
前記未暗号化データキーが前記第2のモジュールに転送された後に、前記第1の制御ユニットは、前記第1の格納ユニットにおける前記暗号化されたデータキーを削除する、
ことを特徴とする請求項3に記載のソフトウェア・ファームウェア又はデータの保護方法。
【請求項5】
第3のモジュールと、外部からの侵入防止機能又は安全な演算機能を持つ第4のモジュールとを含むソフトウェア・ファームウェア又はデータの保護システムであって、
前記第3のモジュールは、未暗号化ソフトウェア・ファームウェアプログラム又はデータを格納するための第3の格納ユニットと、
前記未暗号化ソフトウェア・ファームウェアプログラム又はデータを操作、演算、又は処理するための第3の演算ユニットと、
前記第3の格納ユニット及び前記第3の演算ユニットを制御するための第3の制御ユニットと、を備えており、
前記第3のモジュールは、暗号化されたソフトウェア・ファームウェアプログラム又はデータを第4のモジュールに転送し、
前記第3のモジュールは、暗号化されたデータキーを第4のモジュールに転送し、
前記第4のモジュールは、未暗号化データキーを格納するための第4の格納ユニットと、
前記未暗号化データキーを使用すること前記暗号化されたソフトウェア・ファームウェアプログラム又はデータを復号化するための第4の解読ユニットと、
転送キー演算プログラムを格納するための第5の格納ユニットと、
前記暗号化されたソフトウェア・ファームウェアプログラムを使用することで、前記転送キー演算プログラムにより転送キーを生成するための第4の演算ユニットと、
前記第4の格納ユニット、 前記第4の解読ユニット、前記第5の格納ユニット、及び前記第4の演算ユニットの動作を制御するための第4の制御ユニットと、を備えており、
第4の解読ユニットは、前記転送キーで暗号化されたデータキーを復号化して未暗号化データキーとし、前記未暗号化データキーを第4の格納ユニットに格納し、
前記未暗号化ソフトウェア・ファームウェアプログラム又はデータは、第4のモジュールから第3のモジュールに転送され、第3の格納ユニットに格納され、
前記第3の制御ユニットは、前記第3のモジュールと前記第4のモジュールとの間の通信をさらに制御し、
前記第4の制御ユニットは、前記第4のモジュールと前記第3のモジュールとの間の通信をさらに制御する、
ことを特徴とするソフトウェア・ファームウェア又はデータの保護システム。
【請求項6】
請求項5に記載のソフトウェア・ファームウェア又はデータの保護システムを利用することにより、ソフトウェア・ファームウェア又はデータを保護する方法であって、
サーバは、未暗号化ソフトウェア・ファームウェアプログラム又はデータをソース端末から取得し、
前記サーバは、前記未暗号化ソフトウェア・ファームウェアプログラム又はデータを暗号化装置に転送し、
前記暗号化装置は、未暗号化データキーを生成し、
前記暗号化装置は、前記未暗号化データキーを使用することで、前記未暗号化ソフトウェア・ファームウェアプログラム又はデータを、暗号化されたソフトウェア・ファームウェアプログラム又はデータになるように暗号化し、
前記暗号化装置は、前記暗号化されたソフトウェア・ファームウェアプログラム又はデータを使用することで、転送キー演算プログラムにより転送キーを生成させ、
前記転送キーを使用することで、前記未暗号化データキーを暗号化されたデータキーとなるように暗号化し、
前記サーバは、前記暗号化されたソフトウェア・ファームウェアプログラム又はデータ、及び前記暗号化されたデータキーを前記暗号化装置から取得し、
前記サーバは、前記暗号化されたソフトウェア・ファームウェアプログラム又はデータ、及び前記暗号化されたデータキーをバーナに転送し、
前記バーナは、前記暗号化されたソフトウェア・ファームウェアプログラム又はデータ、及び前記暗号化されたデータキーを、請求項5に記載の第3のモジュールの前記第3の格納ユニットに書き込み、
前記サーバは、前記暗号化装置から前記転送キー演算プログラムを取得し、
前記サーバは、前記転送キー演算プログラムをバーナに転送し、
前記バーナは、前記転送キー演算プログラムを、請求項5に記載の第4のモジュールの前記第5の格納ユニットに書き込み、
請求項5に記載の第3のモジュールは、前記暗号化されたソフトウェア・ファームウェアプログラム又はデータを前記第4のモジュールに転送し、
請求項5に記載の第4の演算ユニットは、前記暗号化されたソフトウェア・ファームウェアプログラム又はデータを使用することで、前記転送キー演算プログラムにより転送キーを生成させ、
請求項5に記載の第3のモジュールは、前記暗号化されたデータキーを前記第4のモジュールに転送し、
請求項5に記載の第4の解読ユニットは、前記転送キーを使用することで、前記暗号化されたデータキーを未暗号化データキーになるように復号化すると共に、前記第4の格納ユニットに前記未暗号化データキーを格納する、
ことを特徴とするソフトウェア・ファームウェア又はデータの保護方法。
【請求項7】
前記第3の制御ユニットは、前記第3の格納ユニットの暗号化されたデータキーを削除する、
ことを特徴とする請求項に記載のソフトウェア・ファームウェア又はデータの保護方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェア・ファームウェア又はデータの保護技術分野に関し、特に、ソフトウェア・ファームウェア又はデータを暗号化して電子部品に付加した後に、当該電子部品を使用する際に暗号化されたソフトウェア・ファームウェア又はデータを復号化するソフトウェア・ファームウェア又はデータの保護システム及び保護方法に関する。
【背景技術】
【0002】
電子機器には、データの演算や処理を行うためには、多くの集積回路チップを搭載する必要がある。市販の集積回路チップは、大きく、保護機能を持たないチップと、ソフトウェアやファームウェアの保護機能を備えたチップの2つに分けられる。保護機能を持たないチップは、セキュリティ性が良くなく、内部のファームウェア又はソフトウェアが盗まれやすくなるため、企業秘密が漏れる恐れがある。保護機能を備えたチップは、製造コストが高くなるため、普及しにくく、利用しにくい。
【発明の概要】
【0003】
これに鑑みて、本発明の目的は、ソフトウェア・ファームウェア又はデータの保護システム及び保護方法を提供することにある。本発明によれば、ソフトウェア・ファームウェア又はデータが暗号化されて電子部品に付加されたため、ソフトウェア・ファームウェア又はデータは、製造端末で電子部品に付加する過程に保護されることができる。暗号化されたソフトウェア・ファームウェア又はデータを入手したとしても、オリジナルコンテンツは取得することが不可能になる。電子部品を起動して使用する際に、そこに格納されているソフトウェア・ファームウェア又はデータが復号化される、これにより、電子部品におけるソフトウェア・ファームウェア又はデータの盗難を防ぐことができ、電子部品の製造コストを低減することができる他に、普及や利用には容易である。
【0004】
本発明のソフトウェア・ファームウェア又はデータの保護システムは、第1のモジュールと第2のモジュールとを含んでいる。第2のモジュールは、演算機能を有していても有していなくてもよい。未暗号化ファームウェア又はデータは、暗号化装置を介して未暗号化データキーで暗号化された。その後、暗号化装置は、暗号化されたファームウェア又はデータに演算プログラムにより転送キーを生成すると共に、転送キーで未暗号化データキーを暗号化する。
【0005】
演算機能を備えた第2のモジュールの場合には、第2のモジュールに演算プログラムは転送された。暗号化されたファームウェア又はデータ及び暗号化されたデータキーは、第1のモジュールに付加された。第1のモジュールが起動されると、暗号化されたファームウェア又はデータ、及び暗号化されたデータキーは、第2のモジュールに転送された。第2のモジュールは、その演算プログラムで暗号化されたデータキーを復号化した。そして、暗号化されたファームウェア又はデータは、未暗号化データキーにより復号化された。復号化された未暗号化ソフトウェア・ファームウェア又はデータは、第1のモジュールでの使用に供するために、第1のモジュールに返送される。
【0006】
演算機能のない第2のモジュールの場合には、暗号化されたファームウェア又はデータ、暗号化されたデータキー、及びその演算プログラムは、第1のモジュールに付加された。第1のモジュールは、演算プログラムで暗号化されたデータキーを復号化した後、未暗号化データキーと暗号化されたファームウェア又はデータを第2のモジュールに転送した。第2のモジュールは、未暗号化データキーで暗号化されたファームウェア又はデータを復号化した。そして、第2のモジュールは、第1のモジュールの使用に供するために、未暗号化ファームウェア又はデータを第1のモジュールに返送する。
【図面の簡単な説明】
【0007】
図1】本発明のソフトウェア・ファームウェア又はデータの保護システムにより、ソフトウェア・ファームウェア又はデータを暗号化する一実施形態を例示するブロック図である。
図2】本発明のソフトウェア・ファームウェア又はデータの保護システムにより、ソフトウェア・ファームウェア又はデータを復号化する一実施形態を例示するブロック図である。
図3】本発明のソフトウェア・ファームウェア又はデータの保護方法により、ソフトウェア・ファームウェア又はデータを暗号化する一実施形態を例示する概略図である。
図4】本発明のソフトウェア・ファームウェア又はデータの保護方法により、ソフトウェア・ファームウェア又はデータを復号化する一実施形態を例示する概略図である。
図5図3のソフトウェア・ファームウェア又はデータの保護方法により、ソフトウェア・ファームウェア又はデータを暗号化するフローチャートを示す図である。
図6図4のソフトウェア・ファームウェア又はデータの保護方法により、ソフトウェア・ファームウェア又はデータを復号化するフローチャートを示す図である。
図7】本発明のソフトウェア・ファームウェア又はデータの保護システムにより、ソフトウェア・ファームウェア又はデータを暗号化する他の実施形態を例示するブロック図である。
図8】本発明のソフトウェア・ファームウェア又はデータの保護システムにより、ソフトウェア・ファームウェア又はデータを復号化する他の実施形態を例示するブロック図である。
図9】本発明のソフトウェア・ファームウェア又はデータの、保護方法により、ソフトウェア・ファームウェア又はデータを暗号化する他の実施形態を例示する概略図である。
図10】本発明のソフトウェア・ファームウェア又はデータの保護方法において、転送キー演算プログラムを第4のモジュールに転送することを示す概略図である。
図11】本発明のソフトウェア・ファームウェア又はデータの保護方法により、ソフトウェア・ファームウェア又はデータを復号化する他の実施形態を例示する概略図である。
図12図9のソフトウェア・ファームウェア又はデータの保護方法により、ソフトウェア・ファームウェア又はデータを暗号化するフローチャートを示す図である。
図13図10のソフトウェア・ファームウェア又はデータの保護方法において、転送キー演算プログラムを第4のモジュールに転送するフローチャートを示す図である。
図14図11のソフトウェア・ファームウェア又はデータの保護方法により、ソフトウェア・ファームウェア又はデータを復号化するフローチャートを示す図である。
【発明を実施するための形態】
【0008】
本発明のソフトウェア・ファームウェア又はデータの保護システムの一実施形態を示す図1及び図2を参照する。この実施形態では、ソフトウェア・ファームウェア又はデータの保護システム100は、第1のモジュール10と第2のモジュール20とを含む。第1のモジュール10は、第1の格納ユニット11と、第1の演算ユニット12と、第1の制御ユニット13とを含む。第1の格納ユニット11は、未暗号化ソフトウェア・ファームウェアプログラム又はデータFを格納するために使用される。第1の演算ユニット12は、上記未暗号化ソフトウェア・ファームウェアプログラム又はデータFを操作、演算又は処理するために使用される。第1の制御ユニット13は、第1の格納ユニット及び第1の演算ユニット12の動作を制御するために使用される。第2のモジュール20は、外部からの侵入防止又は安全な演算機能を備え、第2の格納ユニット21と、第2の解読ユニット22と、第2の制御ユニット23とを含む。第2の格納ユニット21は、未暗号化データキーを格納するために使用される。第2の解読ユニット22は、未暗号化データキーで暗号化されたソフトウェア・ファームウェアプログラム又はデータを復号化するために使用される。第2の制御ユニット23は、第2の格納ユニット21及び第2の解読ユニット22の動作を制御するために使用される。第1の制御ユニット13は、第1のモジュール10と第2のモジュール20との間の通信をさらに制御する。第2の制御ユニット23は、第2のモジュール20と第1のモジュール10との間の通信をさらに制御する。
【0009】
図1に示すように、この実施形態におけるソフトウェア・ファームウェア又はデータの保護システム100は、ソース端末30と、サーバ40と、暗号化装置50と、製造端末60とをさらに含む。ソース端末30は、ソフトウェア・ファームウェア設計会社のデータベース又は記憶装置であってもよく、ソフトウェア・ファームウェア会社によって設計された未暗号化ソフトウェア・ファームウェアプログラム又はデータは、ソース端末30からサーバ40に転送されてもよい。サーバ40と暗号化装置50との間にデータ転送を行い、サーバ40は、データを製造端末60に転送することができる。製造端末60は、例えば、製造工場のバーナであって、暗号化されたソフトウェア・ファームウェア又はデータを第1のモジュール10に焼き付けることができる。
【0010】
第1のモジュール10は、集積回路チップ又は他の電子部品であってよい。第1のモジュール10の第1の格納ユニット11は、電子部品内のメモリである。第1の演算ユニット12は、演算動作を実行できるアプリケーションプログラム又は回路であ。第1の制御ユニット13は、第1の格納ユニット11へのデータにアクセスするか、又は第1の演算ユニット12を起動して演算を実行するためのプロセッサである。第2のモジュール20は、セキュリティモジュールである。第2の格納ユニット21は、メモリである。第1のモジュール10が起動されると、第1のモジュール10が第2のモジュール20に接続され、第1のモジュール10の第1の格納ユニット11に記憶された暗号化されたソフトウェア・ファームウェアプログラム又はデータは、第2のモジュール20によって復号化され、次いで第1のモジュール10に返送され、その結果、第1のモジュール10は、所定の機能を生成するために、未暗号化ソフトウェア・ファームウェアプログラム又はデータを実行又は読み取ることができる。
【0011】
本発明のソフトウェア・ファームウェア又はデータの保護方法の一実施形態を示す図3から図6を参照されたい。図3及び図5に示すように、まず、ステップS101において、サーバ40は、ソース端末30から未暗号化ソフトウェア・ファームウェアプログラム又はデータを取得する。例えば、サーバ40は、専用回線又はネットワークを介してソース端末30からの未暗号化ソフトウェア・ファームウェアプログラム又はデータを取得する。
【0012】
次に、ステップS102に進む。サーバ40は、未暗号化ソフトウェア・ファームウェアプログラム又はデータを暗号化装置50に転送する。
【0013】
次に、ステップS103に進む。暗号化装置50は、ランダムプログラムで未暗号化データキーを生成し、未暗号化ソフトウェア・ファームウェアプログラム又はデータを前記未暗号化データキーで暗号化する。ランダムプログラムは、ランダムに生成された乱数に従って未暗号化データキーを生成する。暗号化装置50は、暗号化されたソフトウェア・ファームウェアプログラム又はデータを使用して、転送キー演算プログラムによって転送キーを生成させ、次に、暗号化装置50は、転送キーで未暗号化データキーを暗号化する。
【0014】
次に、ステップS104に進む。サーバ40は、暗号化装置50から、暗号化されたソフトウェア・ファームウェアプログラム又はデータ、暗号化されたデータキー、及び転送キー演算プログラムを取得する。
【0015】
次に、ステップS105に進む。サーバ40は、暗号化されたソフトウェア・ファームウェアプログラム又はデータ、暗号化されたデータキー、及び転送キー演算プログラムを製造端末60(バーナ)に転送する。
【0016】
次に、ステップS106に進む。製造端末60(バーナ)は、暗号化されたソフトウェア・ファームウェアプログラム又はデータ、暗号化されたデータキー及び転送キー演算プログラムを第1のモジュール10の第1の格納ユニット11に書き込む。
【0017】
図4及び図6に示すように、第1のモジュール10が起動されると、第1のモジュール10が第2のモジュール20に接続される。次に、ステップS107に進む。第1の演算ユニット12は、第1の格納ユニット11の暗号化されたソフトウェア・ファームウェアプログラム又はデータを用いて転送キー演算プログラムによって転送キーを生成させ、転送キーで暗号化されたデータキーを復号化して未暗号化データキーとする。転送キー演算プログラムは、異なるタイプの第1のモジュール10ごとに異なる場合があり、すなわち、転送キー演算プログラムは、異なる集積回路チップごとに異なる場合がある。
【0018】
次に、ステップS108に進む。第1のモジュール10は、未暗号化データキー及び暗号化されたソフトウェア・ファームウェアプログラム又はデータを第2のモジュール20に転送し、未暗号化データキー及び暗号化されたソフトウェア・ファームウェアプログラム又はデータを第2の格納ユニット21に格納する。
【0019】
次に、ステップS109に進む。第2の解読ユニット22は、未暗号化データキーを用いて、暗号化されたソフトウェア・ファームウェアプログラム又はデータを復号化し、未暗号化ソフトウェア・ファームウェアプログラム又はデータを取得する。
【0020】
次に、ステップS110に進む。未暗号化ソフトウェア・ファームウェアプログラム又はデータは、第2のモジュール20から第1のモジュール10に転送され、第1の格納ユニット11に格納される。
【0021】
次に、ステップS111に進む。第1のモジュール10は、第1の格納ユニット11から未暗号化データキーと転送キー演算プログラムを削除する。
【0022】
第1のモジュール10に対応する第2のモジュール20は、演算機能を持たないので、暗号化されたソフトウェア・ファームウェアプログラム又はデータ、暗号化されたデータキー、及び転送キー演算プログラムは、共に第1のモジュール10に焼き付けられる外、暗号化されたデータキーを復号化する必要がある場合、第1のモジュール10の第1の演算ユニット12は、転送キー演算プログラムを実行して、暗号化されたデータキーを復号化することができる。
【0023】
本発明のソフトウェア・ファームウェア又はデータの保護システムの他の実施形態である図7及び図8を参照してください。この実施形態のソフトウェア・ファームウェア又はデータの保護システム200は、第3のモジュール70と、第4のモジュール80とを含む。第3のモジュール70は、第3の格納ユニット71と、第3の演算ユニット72と、第3の制御ユニット73とを含む。第3の格納ユニット71は、未暗号化ソフトウェア・ファームウェアプログラム又はデータを格納するために使用され、第3の演算ユニット72は、未暗号化ソフトウェア・ファームウェアプログラム又はデータを操作、演算又は処理するために使用され、第3の制御ユニット73は、第3の格納ユニット71及び第3の演算ユニット72を制御するために使用される。第4のモジュール80は、外部からの侵入防止又は安全な演算機能を備え、第4の格納ユニット81と、第4の解読ユニット82と、第5の格納ユニット83と、第4の演算ユニット84と、第4の制御ユニット85とを含む。第4の格納ユニット81は、未暗号化データキーを格納するために使用され、第4の解読ユニット82は、未暗号化データキーで暗号化されたソフトウェア・ファームウェアプログラム又はデータを復号化する。第5の格納ユニット83は、転送キー演算プログラムを格納するために使用され、第4の演算ユニット84は、暗号化されたソフトウェア・ファームウェアプログラム又はデータを使用することで、転送キー演算プログラムが転送キーを生成するようにさせる。第4の制御ユニット85は、第4の格納ユニット81、第4の解読ユニット82、第5の格納ユニット83、及び第4の演算ユニット84の動作を制御するために用いられる。第3の制御ユニット73は、第3のモジュール70と第4のモジュール80との間の通信をさらに制御し、第4の制御ユニット85は、第4のモジュール80と第3のモジュール70との間の通信をさらに制御する。
【0024】
この実施形態では、ソース端末30、サーバ40、暗号化装置50、及び製造端末60は、図1に示す実施形態と同じであり、ここでは繰り返さない。この実施形態と図1から図6の実施形態との違いは、この実施形態の第4のモジュール80が演算機能を有するので、復号化操作が第4のモジュール80で実行されることである。
【0025】
本発明のソフトウェア・ファームウェア又はデータの保護方法の他の実施形態を示す図9から図14を参照されたい。図9に示すように、まず、ステップS201に進む。サーバ40は、ソース端末30から未暗号化ソフトウェア・ファームウェアプログラム又はデータを取得し、例えば、専用回線又はネットワークを介してソース端末30からの未暗号化ソフトウェア・ファームウェアプログラム又はデータを取得する。
【0026】
次に、ステップS202に進む。サーバ40は、未暗号化ソフトウェア・ファームウェアプログラム又はデータを暗号化装置50に転送する。
【0027】
次に、ステップS203に進む。暗号化装置50は、ランダムプログラムで未暗号化データキーを生成し、生成された未暗号化データキーで未暗号化ソフトウェア・ファームウェアプログラム又はデータを暗号化し、ランダムに生成された乱数に従って未暗号化データキーを生成する。暗号化装置50は、暗号化されたソフトウェア・ファームウェアプログラム又はデータを使用して、転送キー演算プログラムによって転送キーを生成させ、次に、暗号化装置50は、転送キーで未暗号化データキーを暗号化する。
【0028】
次に、ステップS204に進む。サーバ40は、暗号化されたソフトウェア・ファームウェアプログラム又はデータ、及び暗号化されたデータキーを暗号化装置50から取得する。
【0029】
次に、ステップS205に進む。サーバ40は、暗号化されたソフトウェア・ファームウェアプログラム又はデータ、及び暗号化されたデータキーを製造端末60(バーナ)に転送する。
【0030】
次に、ステップS206に進む。製造端末60(バーナ)は、暗号化されたソフトウェア・ファームウェアプログラム又はデータ、暗号化されたデータキーを第3のモジュール70の第3の格納ユニット71に書き込む。
【0031】
図10及び図13に示すように、次に、ステップS207に進む。サーバ40は、暗号化装置50から転送キー演算プログラムを取得する。
【0032】
次に、ステップS208に進む。サーバ40は、転送キー演算プログラムを製造端末60(バーナ)に転送する。
【0033】
次に、ステップS209に進む。製造端末60(バーナ)は、転送キー演算プログラムを第4のモジュール80の第5の格納ユニット83に書き込む。
【0034】
図11及び図14に示すように、次に、ステップS210に進む。第3のモジュール70は、暗号化されたソフトウェア・ファームウェアプログラム又はデータを第4のモジュール80に転送する。
【0035】
次に、ステップS211に進む。第4の演算ユニット84は、暗号化されたソフトウェア・ファームウェアプログラム又はデータを用いると共に、転送キー演算プログラムで、転送キーを生成する。
【0036】
次に、ステップS212に進む。第3のモジュール70は、暗号化されたデータキーを第4のモジュール80に転送する。
【0037】
次に、ステップS213に進む。第4の解読ユニット82は、転送キーで暗号化されたデータキーを復号化して未暗号化データキーとし、前記未暗号化データキーを第4の格納ユニット81に格納する。
【0038】
次に、ステップS214に進む。第4の解読ユニット82は、暗号化されたソフトウェア・ファームウェアプログラム又はデータを、未暗号化データキーで復号化する。
【0039】
次に、ステップS215に進む。未暗号化ソフトウェア・ファームウェアプログラム又はデータを第4のモジュール80から第3のモジュール70に転送し、第3の格納ユニット71に格納する。
【0040】
本発明のソフトウェア・ファームウェア又はデータの保護システム及び保護方法は、ソフトウェア・ファームウェア又はデータを暗号化して電子部品に付加するものであって、ソフトウェア・ファームウェア又はデータは、製造端末で電子部品に焼き付ける過程に保護されることができるため、暗号化されたソフトウェア・ファームウェア又はデータを入手しても、オリジナルコンテンツを取得できない。電子部品が起動し使用されると、そこに格納されているソフトウェア・ファームウェア又はデータが復号化される。これにより、電子部品内のソフトウェア・ファームウェア又はデータの盗難を防ぐことだけでなく、電子部品のコストを低減することができ、普及や利用が容易である。
【符号の説明】
【0041】
10 第1のモジュール
11 第1の格納ユニット
12 第1の演算ユニット
13 第1の制御ユニット
20 第2のモジュール
21 第2の格納ユニット
22 第2の解読ユニット
23 第2の制御ユニット
30 ソース端末
40 サーバ
50 暗号化装置
60 製造端末
70 第3のモジュール
71 第3の格納ユニット
72 第3の演算ユニット
73 第3の制御ユニット
80 第4のモジュール
81 第4の格納ユニット
82 第4の解読ユニット
83 第5の格納ユニット
84 第4の演算ユニット
85 第4の制御ユニット
100 ソフトウェア・ファームウェア又はデータの保護システム
S101~S111 ステップ
S210~S215 ステップ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14