JP2004326735A - プログラム電子透かし処理装置 - Google Patents

プログラム電子透かし処理装置 Download PDF

Info

Publication number
JP2004326735A
JP2004326735A JP2004046913A JP2004046913A JP2004326735A JP 2004326735 A JP2004326735 A JP 2004326735A JP 2004046913 A JP2004046913 A JP 2004046913A JP 2004046913 A JP2004046913 A JP 2004046913A JP 2004326735 A JP2004326735 A JP 2004326735A
Authority
JP
Japan
Prior art keywords
program
watermark
original
difference
watermarked
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
Application number
JP2004046913A
Other languages
English (en)
Inventor
Takao Yamaguchi
孝雄 山口
Tomoyoshi Ito
智祥 伊藤
Yuji Sato
雄二 里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004046913A priority Critical patent/JP2004326735A/ja
Publication of JP2004326735A publication Critical patent/JP2004326735A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 プログラムの更新を行ってもプログラム電子透かしが消去されないようにすること。
【解決手段】 本発明は、オリジナルのプログラムを更新するための差分プログラムと共に更新したプログラムに対する電子透かしを入力し、入力した差分プログラムを用いてオリジナルのプログラムを更新し、更新したプログラムに入力した電子透かしを挿入することにより、プログラムの更新を行っても電子透かしが消去されないようにできるようにした。
【選択図】 図1

Description

本発明は、プログラムの不正な使用および配布を防止および抑止するためのプログラム電子透かし処理装置に関するものである。
コンピュータネットワークの進展に伴い、ネットワークを介したコンピュータプログラムの流通が一般的になっている。コンピュータプログラムは、容易に複製を作成できるため、プログラムの複製が不正に2次配布されたり、プログラム中のアルゴリズムを盗用、改竄されたりする可能性がある。したがって、このような不正利用からプログラムを保護する必要がある。
従来のプログラム保護の技術の一つとして、プログラムへ電子透かしを挿入する方法が挙げられる。この方法では、配布先毎に異なる透かし情報をプログラムに埋め込んで配布する。そして、不正利用が発生した場合に、不正利用者のプログラムから透かし情報を取り出し、透かし情報を解析する。これにより、流出元を容易に検出することが可能となる。
具体的な透かしの挿入方法としては、例えば、特許文献1に開示されたものがある。この方法は、まず、実行順序に依存関係のないコードを検出する。次に、検出部分にダミー変数の演算を挿入する。そして、ダミー変数の演算を含む検出部分の実行順序をランダムに入れ替える。このような処理を行うことにより、その実行順序を電子透かし情報として配布先毎に変更する仕組みを実現している。
特開2000−76064号公報
従来より、UNIX(R)のdiffコマンド等により、プログラムのソースコードや、バイナリーコードの差分を得て、この差分をソースコードやバイナリーコードの保存や更新に利用することが行われている。
しかしながら、従来の差分を用いたプログラムの更新方法は、プログラムへの電子透かしに関しては考慮されていない。このため、差分を用いたプログラムの更新により、プログラムの電子透かしが消去される可能性がある。
このように、従来のプログラムへの電子透かし挿入方式は、差分更新に基づく透かしの改変、削除が容易であるという問題がある。
加えて、従来技術の差分更新ではセキュリティ面での配慮がなされていなかったので、不正にプログラムの更新処理が実行されたり、プログラム電子透かしの読み取りや、挿入、削除などの処理が不正に行われたりという問題がある。
本発明は、かかる点に鑑みてなされたものであり、安全にプログラムの更新を行うとともに、プログラムの更新を行ってもプログラムの電子透かしの読み取りや、挿入、削除などの処理が不正に行われないことを目的とする。
本発明は、オリジナルのプログラムを更新するための差分プログラムと共に更新したプログラムに対する電子透かしを入力し、入力した差分プログラムを用いてオリジナルのプログラムを更新し、更新したプログラムに入力した電子透かしを挿入するようにしたものである。
本発明により、安全にプログラムの更新を行うとともに、プログラムの更新を行ってもプログラムの電子透かしの読み取りや、挿入、削除などの処理が不正に行われないようにできる。
本発明の第1の態様にかかるプログラム電子透かし処理装置は、電子透かしが付与されたオリジナルのプログラムを入力するオリジナルプログラム入力手段と、電子透かしが付与され、前記オリジナルのプログラムを更新するための透かし入り差分プログラムを入力する差分プログラム入力手段と、前記透かし入り差分プログラムから前記電子透かしを抽出する電子透かし抽出手段と、前記オリジナルのプログラムに対して前記透かし入り差分プログラムを用いることで更新した更新プログラムを生成するプログラム更新手段と、前記更新プログラムに前記差分プログラムから抽出した前記電子透かしを挿入する透かし挿入手段と、を具備した構成を採る。
これにより、透かし入り差分プログラムを用いることで生成した更新プログラムに対して、透かし入り差分プログラムに付与された電子透かしを付与することができる。これにより、たとえ更新プログラム生成の際に電子透かしが消去されたとしても、更新プログラムに透かしを確実に付与することができる。この結果、プログラムの不正配布を防止することができる。
本発明の第2の態様にかかるプログラム電子透かし処理装置は、電子透かしが付与されたオリジナルのプログラムを入力するオリジナルプログラム入力手段と、前記オリジナルのプログラムを更新するための差分プログラムを入力する差分プログラム入力手段と、新たな電子透かしを入力する透かし入力手段と、前記オリジナルのプログラムに対して前記差分プログラムを用いることで更新した更新プログラムを生成するプログラム更新手段と、前記更新プログラムに前記新たな電子透かしを挿入する透かし挿入手段と、を具備した構成を採る。
これにより、差分プログラム用の新しい電子透かしを用いることで、更新プログラムに対して、電子透かしを付与することができる。
本発明の第3の態様にかかるプログラム電子透かし処理装置は、電子透かしが付与されたオリジナルのプログラムを入力するオリジナルプログラム入力手段と、前記オリジナルのプログラムを更新するための差分プログラムを入力する差分プログラム入力手段と、前記オリジナルのプログラムから前記電子透かしを抽出する電子透かし抽出手段と、前記オリジナルのプログラムに対して前記差分プログラムを用いることで更新した更新プログラムを生成するプログラム更新手段と、前記更新プログラムに前記オリジナルのプログラムから抽出した前記電子透かしを挿入する透かし挿入手段と、を具備した構成を採る。
これにより、オリジナルのプログラムに付与された電子透かしを抽出し、抽出しておいた電子透かしを、更新プログラムの電子透かしとして再度利用して、更新プログラムに付与することができる。
本発明の第4の態様にかかるプログラム電子透かし処理装置は、電子透かしが付与されたオリジナルのプログラムを入力するオリジナルプログラム入力手段と、前記電子透かしが付与されたオリジナルのプログラムから電子透かし入りの更新プログラムを生成するためのユーザ用差分プログラムを入力する差分プログラム入力手段と、前記ユーザ用差分プログラムを用いることで前記電子透かしが付与されたオリジナルのプログラムから電子透かし入りの更新プログラムを生成するプログラム更新手段と、を具備した構成を採る。
これにより、電子透かしが付与されたオリジナルのプログラムから電子透かし入りの更新プログラムを生成するためのユーザ用差分プログラムを用いることで、電子透かしが付与されたオリジナルのプログラムから電子透かし入りの更新プログラムを生成することができる。
本発明の第5の態様にかかるプログラム電子透かし挿入装置は、オリジナルのプログラムを入力するオリジナルプログラム入力手段と、前記オリジナルのプログラムに電子透かしを入れた透かし入りオリジナルプログラムを生成するオリジナル透かし挿入手段と、前記透かし入りオリジナルプログラムを伝送するオリジナルプログラム出力手段と、前記オリジナルのプログラムを更新するための差分プログラムを入力する差分プログラム入力手段と、前記差分プログラムに電子透かしを入れた透かし入り差分プログラムを生成する差分プログラム透かし挿入手段と、前記透かし入り差分プログラムを伝送する差分プログラム出力手段と、を具備した構成を採る。
これにより、受信側に、透かし入りオリジナルプログラムと透かし入り差分プログラムを伝送でき、受信側で透かし入り差分プログラムを用いることで透かし入りオリジナルプログラムの更新と、電子透かしの付与ができる。
本発明の第6の態様は、第5の態様にかかるプログラム電子透かし挿入装置において、前記差分プログラムに挿入する前記電子透かしと、前記オリジナルのプログラムに付与する前記電子透かしとは異なる。
これにより、更新プログラムに付与される透かしと、オリジナルプログラムに付与される透かしとを区別して、管理することが可能である。これにより、不正にプログラムが流出した場合に、電子透かしを解析することで、流出したプログラムが、更新プログラムであるかオリジナルプログラムであるか容易に判断できる。
本発明の第7の態様にかかるプログラム電子透かし挿入装置は、オリジナルのプログラムを入力するオリジナルプログラム入力手段と、前記オリジナルのプログラムに電子透かしを付与した透かし入りオリジナルプログラムを生成する透かし挿入手段と、前記透かし入りオリジナルプログラムを伝送するオリジナルプログラム出力手段と、前記オリジナルのプログラムを更新するための更新用差分プログラムを入力する差分プログラム入力手段と、前記更新用差分プログラムを用いることで前記オリジナルのプログラムを更新した更新プログラムを生成するプログラム更新手段と、前記更新プログラムに電子透かしを挿入した透かし入り更新プログラムを生成する透かし挿入手段と、前記透かし入りオリジナルプログラムから前記透かし入り更新プログラムを生成するためのユーザ用差分プログラムを生成する差分プログラム生成手段と、前記ユーザ用差分プログラムを伝送する差分プログラム伝送手段と、を具備した構成を採る。
これにより、受信側に電子透かしが付与されたオリジナルのプログラムと、ユーザ用差分プログラムを送り、受信側に、電子透かしが付与されたオリジナルのプログラムから電子透かし入りの更新プログラムを生成させることができる。
本発明の第8の態様は、第7の態様にかかるプログラム電子透かし挿入装置において、前記オリジナルのプログラムと前記透かし入りオリジナルとの差分プログラムを生成し、管理するプログラム管理手段、を具備した構成を採る。
これにより、オリジナルのプログラムをそのまま保存、管理するのではなく、差分プログラムの管理を行えるので、ディスク容量などを削減することが可能になる。
本発明の第9の態様は、第7の態様または第8の態様にかかるプログラム電子透かし挿入装置において、前記更新プログラムと前記透かし入り更新プログラムとの差分プログラムを生成し、管理するプログラム管理手段、を具備した構成を採る。
これにより、透かし入り更新プログラムをそのまま保存、管理するのではなく、差分プログラムの管理を行うことで、ディスク容量などを削減することが可能になる。
本発明の第10の態様は、第5の態様のプログラム電子透かし挿入装置と、第1の態様のプログラム電子透かし処理装置と、を具備したことを特徴とするプログラム不正配布防止システムである。
本発明の第11の態様は、電子透かしが付与されたオリジナルのプログラムと、前記オリジナルのプログラムを更新するための差分プログラムと、新たな電子透かしとを伝送する配布元と、第2の態様のプログラム電子透かし処理装置と、を具備したことを特徴とするプログラム不正配布防止システムである。
本発明の第12の態様は、電子透かしが付与されたオリジナルのプログラムと、前記オリジナルのプログラムを更新するための差分プログラムと、を送信する配布元と、第3の態様のプログラム電子透かし処理装置と、を具備したことを特徴とするプログラム不正配布防止システムである。
本発明の第13の態様は、第7の態様のプログラム電子透かし挿入装置と、第4の態様のプログラム電子透かし処理装置と、を具備したことを特徴とするプログラム不正配布防止システムである。
本発明の第14の態様は、電子透かしが付与されたオリジナルのプログラムを入力するステップと、電子透かしが付与され、前記オリジナルのプログラムを更新するための透かし入り差分プログラムを入力するステップと、前記透かし入り差分プログラムから前記電子透かしを抽出するステップと、前記オリジナルのプログラムに対して前記透かし入り差分プログラムを用いることで更新した更新プログラムを生成するステップと、前記更新プログラムに前記差分プログラムから抽出した前記電子透かしを挿入するステップと、を具備したことを特徴とするプログラム電子透かし処理方法である。
本発明の第15の態様は、電子透かしが付与されたオリジナルのプログラムを入力するステップと、前記オリジナルのプログラムを更新するための差分プログラムを入力するステップと、新たな電子透かしを入力するステップと、前記オリジナルのプログラムに対して前記差分プログラムを用いることで更新した更新プログラムを生成するステップと、前記更新プログラムに前記新たな電子透かしを挿入するステップと、を具備したことを特徴とするプログラム電子透かし処理方法である。
本発明の第16の態様は、電子透かしが付与されたオリジナルのプログラムを入力するステップと、前記オリジナルのプログラムを更新するための差分プログラムを入力するステップと、前記オリジナルのプログラムから前記電子透かしを抽出するステップと、前記オリジナルのプログラムに対して前記差分プログラムを用いることで更新した更新プログラムを生成するステップと、前記更新プログラムに前記オリジナルのプログラムから抽出した前記電子透かしを挿入するステップと、を具備したことを特徴とするプログラム電子透かし処理方法である。
本発明の第17の態様は、電子透かしが付与されたオリジナルのプログラムを入力するステップと、前記電子透かしが付与されたオリジナルのプログラムから電子透かし入りの更新プログラムを生成するためのユーザ用差分プログラムを入力するステップと、前記ユーザ用差分プログラムを用いることで前記電子透かしが付与されたオリジナルのプログラムから電子透かし入りの更新プログラムを生成するステップと、を具備したことを特徴とするプログラム電子透かし処理方法である。
本発明の第18の態様は、オリジナルのプログラムを入力するステップと、前記オリジナルのプログラムに電子透かしを入れた透かし入りオリジナルプログラムを生成するステップと、前記透かし入りオリジナルプログラムを伝送するステップと、前記オリジナルのプログラムを更新するための差分プログラムを入力するステップと、前記差分プログラムに電子透かしを入れた透かし入り差分プログラムを生成するステップと、前記透かし入り差分プログラムを伝送するステップと、を具備したことを特徴とするプログラム電子透かし処理方法である。
本発明の第19の態様は、オリジナルのプログラムを入力するステップと、前記オリジナルのプログラムに電子透かしを付与した透かし入りオリジナルプログラムを生成するステップと、前記透かし入りオリジナルプログラムを伝送するステップと、前記オリジナルのプログラムを更新するための更新用差分プログラムを入力するステップと、前記更新用差分プログラムを用いることで前記オリジナルのプログラムを更新した更新プログラムを生成するステップと、前記更新プログラムに電子透かしを挿入した透かし入り更新プログラムを生成するステップと、前記透かし入りオリジナルプログラムから前記透かし入り更新プログラムを生成するためのユーザ用差分プログラムを生成するステップと、前記ユーザ用差分プログラムを伝送するステップと、を具備したことを特徴とするプログラム電子透かし処理方法である。
本発明の第20の態様は、コンピュータに、電子透かしが付与されたオリジナルのプログラムを入力するステップと、電子透かしが付与され、前記オリジナルのプログラムを更新するための透かし入り差分プログラムを入力するステップと、前記透かし入り差分プログラムから前記電子透かしを抽出するステップと、前記オリジナルのプログラムに対して前記透かし入り差分プログラムを用いることで更新した更新プログラムを生成するステップと、前記更新プログラムに前記差分プログラムから抽出した前記電子透かしを挿入するステップと、を行わせることを特徴とするプログラムである。
本発明の第21の態様は、コンピュータに、電子透かしが付与されたオリジナルのプログラムを入力するステップと、前記オリジナルのプログラムを更新するための差分プログラムを入力するステップと、新たな電子透かしを入力するステップと、前記オリジナルのプログラムに対して前記差分プログラムを用いることで更新した更新プログラムを生成するステップと、前記更新プログラムに前記新たな電子透かしを挿入するステップと、を行わせることを特徴とするプログラムである。
本発明の第22の態様は、コンピュータに、電子透かしが付与されたオリジナルのプログラムを入力するステップと、前記オリジナルのプログラムを更新するための差分プログラムを入力するステップと、前記オリジナルのプログラムから前記電子透かしを抽出するステップと、前記オリジナルのプログラムに対して前記差分プログラムを用いることで更新した更新プログラムを生成するステップと、前記更新プログラムに前記オリジナルのプログラムから抽出した前記電子透かしを挿入するステップと、を行わせることを特徴とするプログラムである。
本発明の第23の態様は、コンピュータに、電子透かしが付与されたオリジナルのプログラムを入力するステップと、前記電子透かしが付与されたオリジナルのプログラムから電子透かし入りの更新プログラムを生成するためのユーザ用差分プログラムを入力するステップと、前記ユーザ用差分プログラムを用いることで前記電子透かしが付与されたオリジナルのプログラムから電子透かし入りの更新プログラムを生成するステップと、を行わせることを特徴とするプログラムである。
本発明の第24の態様は、コンピュータに、オリジナルのプログラムを入力するステップと、前記オリジナルのプログラムに電子透かしを入れた透かし入りオリジナルプログラムを生成するステップと、前記透かし入りオリジナルプログラムを伝送するステップと、前記オリジナルのプログラムを更新するための差分プログラムを入力するステップと、前記差分プログラムに電子透かしを入れた透かし入り差分プログラムを生成するステップと、前記透かし入り差分プログラムを伝送するステップと、を行わせることを特徴とするプログラムである。
本発明の第25の態様は、コンピュータに、オリジナルのプログラムを入力するステップと、前記オリジナルのプログラムに電子透かしを付与した透かし入りオリジナルプログラムを生成するステップと、前記透かし入りオリジナルプログラムを伝送するステップと、前記オリジナルのプログラムを更新するための更新用差分プログラムを入力するステップと、前記更新用差分プログラムを用いることで前記オリジナルのプログラムを更新した更新プログラムを生成するステップと、前記更新プログラムに電子透かしを挿入した透かし入り更新プログラムを生成するステップと、前記透かし入りオリジナルプログラムから前記透かし入り更新プログラムを生成するためのユーザ用差分プログラムを生成するステップと、前記ユーザ用差分プログラムを伝送するステップと、を行わせることを特徴とするプログラムである。
本発明の第26の態様は、第20の態様から第25の態様のいずれかに記載のプログラムを格納したことを特徴とする記憶媒体である。
(実施の形態1)
以下、本発明の実施の形態1にかかるプログラム電子透かし処理装置を具備したプログラム不正配布防止システムについて添付図面を用いて説明する。
図1は、実施の形態1にかかる透かし挿入による不正配布防止システムのブロック図である。
まず、配布元10は、配布先40a、40bのプログラムの2次配布を認めないようにするために、オリジナルのプログラム(以下、オリジナルプログラムという)配布の際に、プログラム電子透かし挿入装置(以下、透かし挿入装置)20により、配布先40a、40b毎に、異なる(電子)透かしを挿入して、透かし入りオリジナルプログラムとして配布する。
このように、オリジナルプログラムに透かしを埋め込んだ透かし入りオリジナルプログラムを配布することで、不正な2次配布などにより透かし入りオリジナルプログラムが流出した際に、配布元10は、透かし取出装置30を用いて、流出先50に流出した透かし入りオリジナルプログラムから透かしを取り出して配布先を確認し、流出元(配布先)40a、40bを特定することができる。また、配布先40a、40bは、透かしによる流出元の特定を恐れて、不正な2次配布を控えることになる。
このようにして、不正配布防止システムは、透かしによるオリジナルプログラムの不正配布を抑止する。
また、配布元10は、配布先40a、40bに、既に送った透かし入りオリジナルプログラムを更新するための差分プログラムの伝送をする。そして、配布先40a、40bは、既に受け取ったプログラムに対して、差分プログラムを用いることにより、透かし入りオリジナルプログラムの更新し、更新プログラムを生成する。
このように、配布元10は、既に伝送した透かし入りオリジナルプログラムの更新を行う場合に、配布先10において更新したプログラム全体を伝送するのではなく、差分プログラムのみを伝送することにより、配布先40a、40bに伝送するデータ量を減らすようにしている。
ところで、プログラムへの透かしに関して考慮されていない差分プログラムを用いて透かし入りオリジナルプログラムを更新した場合、更新プログラムからオリジナルプログラムに付与されていた透かしが消去される可能性がある。
そこで、実施の形態1では、差分プログラムを用いて更新した更新プログラムにも透かしが入るような工夫をしている。
以下、実施の形態1にかかるプログラム不正配布防止システムが更新プログラムに透かしを入れる方法の概要について説明する。図2は、実施の形態1にかかるプログラム不正配布防止システムが更新プログラムに透かしを入れる方法を説明するための概念図である。
配布元10は、透かし挿入装置20から配布先40のプログラム電子透かし処理装置(以下、透かし処理装置)60に透かし入りオリジナルプログラムと、透かしを付与した差分プログラム(透かし入り差分プログラム)を伝送する。差分プログラムは、例えば、UNIX(R)のDiffなどで得られる差分プログラムなどである。
これに対して、配布先40は、透かし処理装置60において、透かし入りオリジナルプログラムおよび透かし入り差分プログラムを受信する。そして、透かし処理装置60は、透かし入りオリジナルプログラムを、透かし入り差分プログラムを用いることで更新し、更新プログラムを生成する。この際に、透かし処理装置60は、透かし入り差分プログラムに付与された透かしを用いて更新プログラムに透かしを付与する。
なお、配布元で生成された透かし入り差分プログラムを配信する前に、事前にオリジナルプログラムに対して、生成された透かし入り差分プログラムを用いて正しく更新処理されることを確認する。これにより、更新されたプログラムに透かしを挿入にする領域が確保できていないなどの理由により、プログラム電子透かしの更新処理が、配布先で未然に失敗することを防ぐことが可能となる。
また、万一のために、配布元で、透かし挿入失敗時に自らオリジナルプログラムを復帰できるようにすることで、透かしの更新を失敗した場合でも、配布元でプログラムが全く動作しないという状況を回避することが可能となる。
このように、配布元10が透かし入り差分プログラムを伝送し、配布先が透かし入り差分プログラムに付与された透かしを利用することで、配布するプログラムを使用するユーザ毎に異なる透かしを付与するとともに、オリジナルプログラムの更新をあわせて行うことが容易に実現できる。
なお、配布先40でプログラム電子透かしの読み取り、削除、更新など、プログラム電子透かしへの処理を行う場合、処理は不正のアクセスが禁止された領域(例えば、ICカードのような改竄に耐性のある耐タンパ装置)で実行する。
耐タンパ領域で、プログラム電子透かしへの処理を行うことで、プログラム電子透かしの処理プログラムの解読によるプログラム電子透かしへの不正アクセスや、プログラム電子透かしの改竄などを防止することができる。これにより、不正にプログラム電子透かしの挿入や削除が行われるという問題を解決する。
また、配布元での透かし挿入処理に関しても、同様の理由で、耐タンパ領域で処理するのが望ましい。
また、配信されるプログラムの改竄が行われていないことを検証するために、配信するオリジナルプログラムや差分プログラムには電子署名を付与する。配布元もしくはプログラムの製作者が電子署名を付与することで、配信過程での改竄を検出する。耐タンパ領域へプログラムを読み込む前に、配布元もしくはプログラム製作者の署名であることを確認することで、不正な透かしによるプログラム電子透かしでの更新を抑制することができる。
なお、正しい配布元もしくはプログラム製作者であるという認証と、正しい利用者が更新処理を行っているという認証は、従来技術から一般に用いられている端末認証(例えば、端末IDやPKIを用いる方法)や個人認証(例えば、指紋や虹彩認証を用いる方法)の技術を用いることで、それぞれ解決できる。
以下、上述したように更新プログラムに透かし挿入処理を行う不正配布防止システムの構成について詳細に説明する。
まず、実施の形態1にかかる透かし挿入装置20について図3を用いて説明する。図3は、透かし挿入装置20のブロック図である。
透かし挿入装置20には、プログラム入力部201が設けられている。プログラム入力部201は、伝送されてきた、透かしを入力するオリジナルのプログラムコード(以下、オリジナルプログラム)およびオリジナルプログラムを更新するための差分プログラムを受信し、入力する手段である。プログラム入力部201は、オリジナルプログラムおよび差分プログラムを透かし挿入部202に出力する。
なお、オリジナルプログラムを入力するプログラム入力部と、差分プログラムを入力するプログラム入力部は、別々の構成であっても良い。
なお、オリジナルプログラムおよび差分プログラムは、伝送されてくる形態でなくても、予め格納されている形態などであっても良い。
透かし挿入部202は、ID情報生成部205により生成されるID情報からオリジナルプログラムおよび差分プログラムに実際に埋め込む透かしを生成し、プログラム入力部201から出力されたオリジナルプログラムおよび差分プログラムに対し、透かしを入力する手段である。また、透かし挿入部202は、プログラム入力部201が出力したオリジナルプログラムおよび差分プログラムがソースコードであれば、ソースコードをコンパイルし、透かしの入力箇所をアセンブラコードの行番号として透かし情報記憶部206に渡す。なお、透かし挿入部202の透かし挿入処理についての詳細は後述する。
なお、オリジナルプログラムに対して透かしを挿入する手段と、差分プログラムに対して透かしを挿入する手段とを別に具備した構成であっても良い。
プログラム出力部203は、透かし挿入部202が透かしを入力した、オリジナルプログラムおよび差分プログラムを配布先40に伝送する手段である。
なお、透かし入りオリジナルプログラムを出力する手段と、透かし入り差分プログラムを出力する手段とを別に具備した構成であっても良い。
透かし用データ入力部204は、伝送されてきた透かし用データを受信、入力する。入力する透かし用データは、配布先を一意に特定する情報であり、配布先の住所、電話番号、会社名、氏名、電子メールアドレス、プログラムの使用可能な有効期限などである。また、透かし用データに、配布元の情報を入力してもよい。
なお、透かし用データは、伝送されてくる形態でなくても、キーボードなどにより入力される形態であっても良い。
ID情報生成部205は、透かし用データ入力部204により入力された透かし用データから一意に決定できるID情報を生成する。ID情報は、入力したデータそのものであってもよいし、それを暗号化したデータであってもよい。また、ID情報は、透かし用データを保存するデータベース上において透かし用データを一意に特定するためのIDであってもよい。
なお、実施の形態1においては、ID情報に基づいて透かし情報を生成する形態となっているが、必ずしもID情報に基づいて透かし情報を生成する必要はなく、透かし情報から一意に配布先を特定可能となっていればよい。例えば、ソフトウェアに1〜Nシーケンス番号を透かし情報として挿入し、配布先Aにシーケンス番号iのソフトを配布、配布先Bにシーケンス番号jのソフトを配布といったように透かし情報と配布先を一意に特定可能としてもよい。
透かし情報記憶部206は、透かし挿入部202が挿入した透かしの挿入箇所を記録する手段である。具体的には、透かしを挿入したプログラムのアセンブラコード行番号を記録する。
次に、実施の形態1にかかる透かし挿入装置20の透かし挿入部202のプログラムへの電子透かしの挿入処理について図4を用いて説明する。図4は、実施の形態1にかかる透かし挿入装置20の透かし挿入部202のプログラムへの電子透かしの具体的な挿入方法について説明するための図である。
図4の例では、透かし挿入部202は、透かしビットの値に応じてソースコードに挿入するスペース長の与え方を変えている。また、透かし挿入部202は、透かしビットを埋め込むソースコードの行番号に応じて、スペース長の与え方を変えている。
具体的には、透かし挿入部202は、行番号が奇数の部分に透かしビットの値0を埋め込む場合には挿入するスペース長を1とし、透かしビットの値1を埋め込む場合には挿入するスペース長を2としている。また、透かし挿入部202は、行番号が偶数の部分に透かしビットの値0を埋め込む場合には挿入するスペース長を2とし、透かしビットの値1を埋め込む場合には挿入するスペース長を1としている。
図4に示す例では、透かし挿入部202は、この規則を用いて、C言語に書かれたソースコードの第1行から第4行までに文字記号間スペースを挿入することにより、電子透かしのビット列「011011」を埋め込んでいる。
なお、UNIX(R)のDiffなどで得られる差分プログラムでも同様の方法で、電子透かしの情報を挿入することが可能である。
次に、実施の形態1にかかる透かし取出装置30について図5を用いて説明する。図5は、実施の形態1における透かし取出装置30のブロック図である。
プログラム入力部301は、配布先40a、40bが流出した、透かしが挿入された、オリジナルプログラムおよび更新プログラムを受信し、入力する手段である。
透かし検出部302は、プログラム入力部301から出力されたオリジナルプログラムおよび更新プログラムを逆アセンブリングし、透かし情報記憶部305より得られる透かし挿入箇所(アセンブラコード行番号)から入力された透かしを取り出す。そして、透かし検出部302は、取り出した透かしからID情報を生成し、ID情報記憶部304に渡す。
ID情報記憶部304は、透かし検出部302より得られるID情報から、配布先の情報を生成する手段である。ID情報記憶部304は、ID情報がデータベースにあるデータのIDである場合には、IDからデータを取り出すことで、配布先の情報を取得する。また、ID情報記憶部304は、ID情報が配布先の情報の暗号化データである場合には、復号して配布先の情報を取得する。
透かし情報記憶部305は、配布したプログラムの透かし挿入箇所を記憶している手段である。透かし挿入箇所の情報は、透かし挿入装置20の透かし情報記憶部206より得る。
出力部303は、取得された配布先の情報を出力する手段である。
このように、透かし取出装置30は、不正に配布されたオリジナルプログラムおよび更新プログラムから配布先の情報を出力し、配布先40を特定する。
次に、透かし処理装置60の構成について図6を用いて説明する。図6は、透かし処理装置60のブロック図である。
透かし処置装置60には、配布元10から伝送されてきた透かし入りのオリジナルプログラム(以下、透かし入りオリジナルプログラムという)および透かし入りの差分プログラム(透かし入り差分プログラムという)を受信し、入力するプログラム入力部501が設けられている。プログラム入力部501は、透かし入りオリジナルプログラムをプログラム出力部503に出力する。また、プログラム入力部501は、透かし入り差分プログラムを透かし抽出部504およびプログラム更新部507に出力する。
なお、透かし入りオリジナルプログラムを入力する手段と、透かし入り差分プログラムを入力する手段とを別に具備した構成であっても良い。
また、透かし処理装置60には、プログラム入力部501が出力した、透かし入り差分プログラムから透かしを抽出する透かし抽出部504が設けられている。透かし抽出部504は、抽出した透かしを透かし挿入部502に出力する。
プログラム更新部507は、プログラム入力部501が出力した、透かし入りオリジナルプログラムに対して透かし入り差分プログラムを用いることで更新した更新プログラムを生成し、生成した更新プログラムを透かし挿入部502に出力する。
透かし挿入部502は、プログラム更新部507から出力された更新プログラムに対して、透かし抽出部504から出力された透かしを挿入することにより、透かし入り更新プログラムを生成し、プログラム出力部503に出力する。なお、透かし挿入部502の透かし挿入処理は、透かし挿入部202と同様である。
プログラム出力部503は、プログラム入力部501から出力された透かし入りオリジナルプログラムおよび透かし挿入部502から出力された透かし入り更新プログラムを配布元10に対して伝送する。
次に、実施の形態1にかかる透かし挿入装置20の動作について図7を用いて説明する。図7は、配布元10の透かし挿入装置20のプログラム伝送処理のフローチャートである。
まず、透かし挿入装置20は、プログラム入力部201において、伝送されてきたオリジナルプログラムを受信し、入力する(ステップ101)。そして、プログラム入力部201は入力したオリジナルプログラムを透かし挿入部202に送る。
次に、透かし挿入部202は、ID情報生成部205により生成されるID情報からオリジナルプログラムに埋め込む透かしを生成し、プログラム入力部201から出力されたオリジナルプログラムに対し透かしを挿入し、透かし入りオリジナルプログラムを生成する(ステップ102)。そして、透かし挿入部202は、透かし入りオリジナルプログラムをプログラム出力部203に送り、プログラム出力部203が、配布先40に伝送する(ステップ103)。
次に、透かし挿入装置20は、オリジナルプログラムを更新するための差分プログラムが伝送されてくるのを待ち、伝送されてきたらプログラム入力部201において、伝送されてきた差分プログラムを受信し、入力する(ステップ104)。そして、プログラム入力部201は入力した差分プログラムを透かし挿入部202に送る。
次に、透かし挿入部202は、ID情報生成部205により生成されるID情報からオリジナルプログラムに埋め込む透かしを生成し、プログラム入力部201から出力された差分プログラムに対し透かしを挿入し、透かし入り差分プログラムを生成する(ステップ105)。
また、ステップ105において、透かし挿入部202は、差分プログラムに付与する透かしと、オリジナルのプログラムに付与する透かしとを異なるようにする。
そして、透かし挿入部202は、透かし入り差分プログラムをプログラム出力部203に送り、プログラム出力部203が、配布先40に伝送する(ステップ106)。
このようにして、配布元10の透かし挿入装置20は、配布先40に対して透かし入りオリジナルプログラムと透かし入り差分プログラムを伝送する。
次に、配布先40が、差分プログラムを用いて、オリジナルプログラムから更新プログラムを生成する処理について図8を用いて説明する。図8は、配布先40の透かし処理装置60における透かし入りオリジナルプログラムの更新処理のフローチャートである。
まず、透かし処理装置60は、プログラム入力部501において、伝送されてきた透かし入りオリジナルプログラムを受信し、入力する(ステップ201)。そして、プログラム入力部501は、透かし入りオリジナルプログラムを出力する。
次に、透かし処理装置60は、透かし入り差分プログラムが伝送されてくるのを待ち、透かし入り差分プログラムが伝送されてきたらプログラム入力部501において受信し、入力する(ステップ202)。そして、プログラム入力部501は、透かし入り差分プログラムを出力する。
次に、透かし処理装置60の透かし抽出部504が、プログラム入力部501が出力した透かし入り差分プログラムを入力し、入力した透かし入り差分プログラムに付与されている透かしの情報を抽出する(ステップ203)。そして、透かし抽出部203は、透かし入り差分プログラムから抽出した透かしを透かし挿入部502に出力する。
次に、透かし処理部60のプログラム更新部507が、透かし入りオリジナルプログラムに対して透かし入り差分プログラムを用いることで更新した更新プログラムを生成し、生成した更新プログラムを透かし挿入部502に出力する(ステップ204)。
次に、透かし挿入部502は、ステップ204において生成された更新プログラムは透かしが消去されてしまっている可能性があるので、更新プログラムに透かし抽出部504が先に透かし入り差分プログラムから抽出しておいた透かしを挿入する(ステップ205)。
このようにして、透かし処理装置60は、更新プログラムに透かしを挿入する。
なお、実施の形態1において、透かし入り差分プログラムから透かしを抽出する方法は、透かし処理装置60において既知であるとする。
以上説明したように、実施の形態1によれば、透かし入り差分プログラムを用いて生成した更新プログラムに対して、透かし入り差分プログラムに付与された透かしを付与することができる。これにより、たとえ更新プログラム生成の際に透かしが消去されたとしても、更新プログラムに透かしを確実に付与することができる。また、差分プログラムに付与する透かしをユーザ毎異なるようにすることにより、プログラムを使用するユーザ毎に異なる透かしを付与することができる。よって、配布先40は、不正に更新プログラムの配布を行うことができなくなるので、配布元10は、不特定多数の配布先40に対して容易にプログラムを配布できる。
また、実施の形態1によれば、透かし入り差分プログラムを用いて、透かし入りオリジナルプログラムの更新と、透かしの付与を合わせて行うことが可能である。
また、透かし入りオリジナルプログラムに付与されている透かしと、透かし入り差分プログラムに付与されている透かしは異なるので、配布元10は、更新プログラムに付与される透かしと、オリジナルプログラムに付与される透かしとを区別して、管理することが可能である。これにより、不正にプログラムが流出した場合に、配布元10は、プログラムの透かしを解析することで、流出したプログラムが、更新プログラムであるかオリジナルプログラムであるか容易に判断できる。
なお、実施の形態1では、配布先40において、オリジナルプログラムの更新および透かしの挿入を行ったが、配布元10において行って配布先40に配布する形態であっても良い。また、配布元10と配布先40の間に介在するゲートウェイ等の装置において、オリジナルプログラムの更新および透かしの挿入を行っても良い。
また、実施の形態1では、1対1型のプログラム配信の形態で説明したが、例えばデジタル放送を利用したプログラムの配布であるとか、IPネットワークでマルチキャスト、ブロードキャストを利用したプログラム配布などにも適用することが可能である。
また、透かし挿入装置20、透かし取出装置30、および透かし処理装置60の各部が同一の機器上に存在する必要はなく、各部がネットワークで結合され、複数の端末で処理される形態であってもよい。
また、透かし挿入装置20、透かし取出装置30、および透かし処理装置60が行う処理をプログラムにし、汎用のコンピュータに行わせる形態であっても良い。また、この場合、配布元10から配布先40に、透かし処理装置60の処理を行うプログラムを、差分プログラム配信の前までに送っておくような形態であっても良い。
(実施の形態2)
本発明の実施の形態2にかかるプログラム不正配布防止システムについて説明する。まず、実施の形態2にかかるプログラム不正配布防止システムが更新プログラムに透かしを入れる方法の概要について図9を用いて説明する。図9は、実施の形態2にかかるプログラム不正配布防止システムが更新プログラムに透かしを入れる方法を説明するための概念図である。
実施の形態2では、配布元900の透かし挿入装置901から配布先910の透かし処理装置911に透かし入りオリジナルプログラムと、差分プログラムと、更新用の新しい透かしを伝送する。
これに対して、配布先910の透かし処理装置911は、透かし入りオリジナルプログラム、差分プログラム、および新しい透かしを受信する。そして、透かし処理装置911は、透かし入りオリジナルプログラムを、差分プログラムを用いて更新し、更新プログラムを生成する。次に、透かし処理装置911は、新しい透かしを更新プログラムに付与する。
なお、配布先910でプログラム電子透かしの読み取り、削除、更新など、プログラム電子透かしへの処理を行う場合、処理は不正のアクセスが禁止された領域(例えば、ICカードのような改竄に耐性のある耐タンパ装置)で実行する。
耐タンパ領域で、プログラム電子透かしへの処理を行うことで、プログラム電子透かしの処理プログラムの解読によるプログラム電子透かしへの不正アクセスや、プログラム電子透かしの改竄などを防止することができる。これにより、不正にプログラム電子透かしの挿入や削除が行われるという問題を解決する。
また、配布元での透かし挿入処理に関しても、同様の理由で、耐タンパ領域で処理するのが望ましい。
また、配信されるプログラムの改竄が行われていないことを検証するために、配信するオリジナルプログラムや差分プログラムには電子署名を付与する。配布元もしくはプログラムの製作者が電子署名を付与することで、配信過程での改竄を検出する。耐タンパ領域へプログラムを読み込む前に、配布元もしくはプログラム製作者の署名であることを確認することで、不正なプログラムでの更新を抑制することができる。
なお、正しい配布元もしくはプログラム製作者であるという認証と、正しい利用者が更新処理を行っているという認証は、従来技術から一般に用いられている端末認証(例えば、端末IDやPKIを用いる方法)や個人認証(例えば、指紋や虹彩認証を用いる方法)の技術を用いることで、それぞれ解決できる。
このように、新しい透かしを利用することで更新プログラムに透かしを付与する。
なお、新しい電子透かしの配送に関しては、セキュアな伝送路を想定する。例えば、SSLやIPSecといった暗号化を用いたセキュアな伝送路を用いる。これにより、第3者から不正に、プログラム電子透かしの情報を盗聴され、伝送中に不正なプログラム電子透かしに置き換えられる脅威がなくなる。
以下、実施の形態2にかかるプログラム不正配布システムについて詳細に説明する。
まず、実施の形態2にかかる透かし挿入装置901の構成について図10を用いて詳細に説明する。図10は、透かし挿入装置901のブロック図である。なお、既に説明した部分と同一の部分には同一の符号を付与し、詳細な説明は省略する。
透かし挿入装置901には、ID情報生成部205により生成されるD情報から更新プログラムに実際に埋め込む透かしを生成する透かし生成部902が設けられている。透かし生成部902は、生成した更新プログラム用の透かしを透かし出力部903に出力し、透かし出力部903は、透かしを配布先910に送る。
次に、実施の形態2にかかる透かし処理装置911の構成について図11を用いて説明する。図11は、透かし処理装置911のブロック図である。なお、既に説明した部分と同一の部分については、同一の符号を付与し、詳細な説明を省略する。
透かし処理装置911には、透かし入力部912が設けられている。透かし入力部912は、配布元900から送られてきた、透かしを受信、入力し、透かし挿入部502に送る。
次に、実施の形態2にかかる透かし挿入装置901の動作について図12を用いて説明する。図12は、配布元900の透かし挿入装置901のプログラム伝送処理のフローチャートである。
まず、透かし挿入装置901は、プログラム入力部201において、伝送されてきたオリジナルプログラムを受信し、入力する(ステップ301)。そして、プログラム入力部201は入力したオリジナルプログラムを透かし挿入部202に送る。
次に、透かし挿入部202は、ID情報生成部205により生成されるID情報からオリジナルプログラムに埋め込む透かしを生成し、プログラム入力部201から出力されたオリジナルプログラムに対し透かしを挿入し、透かし入りオリジナルプログラムを生成する(ステップ302)。そして、透かし挿入部202は、透かし入りオリジナルプログラムをプログラム出力部203に送り、プログラム出力部203が、配布先910に伝送する(ステップ303)。
次に、透かし挿入装置901は、オリジナルプログラムを更新するための差分プログラムが伝送されてくるのを待ち、伝送されてきたらプログラム入力部201において、伝送されてきた差分プログラムを受信し、入力する(ステップ304)。そして、プログラム入力部201は入力した差分プログラムをプログラム出力部203に送り、プログラム出力部203が配布先910に伝送する(ステップ305)。
次に、透かし挿入装置901は、新しい透かし用のデータが伝送されてくるのを待ち、伝送されてきたら透かし用データ入力部204において受信し、入力する(ステップ306)。そして、透かし用データ入力部204は、新しい透かし用データをID情報生成部205に送る。
次に、ID情報生成部205は、新しい透かし用のデータからID情報を生成し、透かし生成部902に送る。
次に、透かし生成部902は、新しい透かし用のデータから新しい透かしを生成し、透かし出力部903に送る(ステップ307)。
そして、透かし出力部903が新しい透かしを配布先910に伝送する(ステップ308)。
このようにして、配布元900の透かし挿入装置901は、配布先910に対して透かし入りオリジナルプログラム、差分プログラム、および新しい透かしを伝送する。
なお、新しい透かしを伝送する場合、セキュリティが確保された伝送路を使用する。
次に、配布先910が、差分プログラムおよび新しい透かしを用いて、オリジナルプログラムから透かし入り更新プログラムを生成する処理について図13を用いて説明する。図13は、配布先910の透かし処理装置911における透かし入りオリジナルプログラムの更新処理のフローチャートである。
まず、透かし処理装置911は、プログラム入力部501において、伝送されてきた透かし入りオリジナルプログラムを受信し、入力する(ステップ401)。そして、プログラム入力部501は、透かし入りオリジナルプログラムを出力する。
次に、透かし処理装置911は、差分プログラムが伝送されてくるのを待ち、差分プログラムが伝送されてきたらプログラム入力部501において受信し、入力する(ステップ402)。そして、プログラム入力部501は、差分プログラムを出力する。
次に、透かし処理装置911は、新しい透かしが伝送されてくるのを待ち、新しい透かしが伝送されてきたら透かし入力部912において受信し、入力する(ステップ403)。そして、透かし入力部912は、新しい透かしを透かし挿入部502に出力する。
次に、透かし処理装置911のプログラム更新部507が、プログラム入力部501が出力した、透かし入りオリジナルプログラムに対して差分プログラムを用いることで更新した更新プログラムを生成し、生成した更新プログラムを透かし挿入部502に出力する(ステップ404)。
次に、透かし挿入部502は、ステップ404において生成された更新プログラムは透かしが消去されてしまっている可能性があるので、更新プログラムに透かし入力部912から出力された新しい透かしを挿入する(ステップ405)。
このようにして、透かし処理装置911は、更新プログラムに透かしを挿入する。
以上説明したように、実施の形態2によれば、新しい透かしを用いることで、更新プログラムに対して、透かしを付与することができる。また、新しい透かしをユーザ毎に異ならせることにより、プログラムを使用するユーザ毎に異なる透かしを付与することができる。
また、実施の形態2によれば、配布先910において、透かしを生成もしくは抽出する必要がなく、配布先910の構成が簡単になる。
また、実施の形態2は、透かしと、差分プログラムとは独立しているので、差分プログラムを複数のユーザに対して共通して使うことができる。
また、実施の形態2において、配布元900が、配布先910のユーザの認証機能や課金機能を持つようにするようにしても良い。これにより、配布元900は、透かしを用いた場合のみオリジナルプログラムの更新を可能にし、かつ課金や登録処理を行った配布先910に対してのみ透かしを発行することで、課金や登録処理を行った配布先910のみがオリジナルプログラムの更新を行えるようにできる。
また、配布元900において予め更新プログラムを生成しておき、配布先910が更新プログラムを必要なときに、透かしを購入し、更新プログラムに付与することにより、更新プログラムを使用を許可するといったサービスを提供しても良い。
また、透かし挿入装置901および透かし処理装置911の各部が同一の機器上に存在する必要はなく、各部がネットワークで結合され、複数の端末で処理される形態であってもよい。
また、透かし挿入装置901および透かし処理装置911が行う処理をプログラムにし、汎用のコンピュータに行わせる形態であっても良い。
(実施の形態3)
本発明の実施の形態3にかかるプログラム不正配布防止システムについて説明する。まず、実施の形態3にかかるプログラム不正配布防止システムが更新プログラムに透かしを入れる方法の概要について図14を用いて説明する。図14は、実施の形態3にかかるプログラム不正配布防止システムが更新プログラムに透かしを入れる方法を説明するための概念図である。
実施の形態3では、配布元1400の透かし挿入装置1401から配布先1410の透かし処理装置1411に透かし入りオリジナルプログラムおよび差分プログラムを伝送する。
これに対して、配布先1410の透かし処理装置1411は、透かし入りオリジナルプログラムおよび差分プログラムを受信する。次に、透かし処理装置1411は、透かし入りオリジナルプログラムから透かしを抽出しておく。次に、透かし処理装置1411は、透かし入りオリジナルプログラムに差分プログラムを用いて更新し、更新プログラムを生成する。そして、透かし処理装置1411は、透かし入りオリジナルプログラムから抽出しておいた透かしを更新プログラムに付与する。
なお、配布先1410でプログラム電子透かしの読み取り、削除、更新など、プログラム電子透かしへの処理を行う場合、処理は不正のアクセスが禁止された領域(例えば、ICカードのような改竄に耐性のある耐タンパ装置)で実行する。
耐タンパ領域で、プログラム電子透かしへの処理を行うことで、プログラム電子透かしの処理プログラムの解読によるプログラム電子透かしへの不正アクセスや、プログラム電子透かしの改竄などを防止することができる。これにより、不正にプログラム電子透かしの挿入や削除が行われるという問題を解決する。
また、配布元での透かし挿入処理に関しても、同様の理由で、耐タンパ領域で処理するのが望ましい。
また、配信されるプログラムの改竄が行われていないことを検証するために、配信するオリジナルプログラムや差分プログラムには電子署名を付与する。配布元もしくはプログラムの製作者が電子署名を付与することで、配信過程での改竄を検出する。耐タンパ領域へプログラムを読み込む前に、配布元もしくはプログラム製作者の署名であることを確認することで、不正なプログラムでの更新を抑制することができる。
なお、正しい配布元もしくはプログラム製作者であるという認証と、正しい利用者が更新処理を行っているという認証は、従来技術から一般に用いられている端末認証(例えば、端末IDやPKIを用いる方法)や個人認証(例えば、指紋や虹彩認証を用いる方法)の技術を用いることで、それぞれ解決できる。
このように、透かし入りオリジナルプログラムに付与されている透かしを利用することで更新プログラムに透かしを付与する。
以下、実施の形態3にかかるプログラム不正配布システムについて詳細に説明する。
まず、実施の形態3にかかる透かし挿入装置1401の構成について図15を用いて詳細に説明する。図15は、透かし挿入装置1401のブロック図である。なお、既に説明した部分と同一の部分には同一の符号を付与し、詳細な説明は省略する。
透かし挿入装置1401が有する透かし挿入部1402は、ID情報生成部205から出力されたID情報を用いて透かしを生成し、プログラム入力部201から出力されたオリジナルプログラムに対して透かしを付与する。
一方、透かし挿入部1402は、プログラム入力部201から出力された差分プログラムは入力せず、何の処理も行わない。
次に、実施の形態3にかかる透かし処理装置1411の構成について図16を用いて説明する。図16は、透かし処理装置1411のブロック図である。なお、既に説明した部分と同一の部分については、同一の符号を付与し、詳細な説明を省略する。
透かし処理装置1411には、プログラム入力部501が出力した、透かし入りオリジナルプログラムから透かしを抽出する透かし抽出部1412が設けられている。透かし抽出部1412は、抽出した透かしを透かし挿入部502に出力する。
次に、実施の形態3にかかる透かし挿入装置1401の動作について図17を用いて説明する。図17は、配布元1400の透かし挿入装置1401のプログラム伝送処理のフローチャートである。
まず、透かし挿入装置1401は、プログラム入力部201において、伝送されてきたオリジナルプログラムを受信し、入力する(ステップ501)。そして、プログラム入力部201は入力したオリジナルプログラムを透かし挿入部1402に送る。
次に、透かし挿入部1402は、ID情報生成部205により生成されるID情報からオリジナルプログラムに埋め込む透かしを生成し、プログラム入力部201から出力されたオリジナルプログラムに対し透かしを挿入し、透かし入りオリジナルプログラムを生成する(ステップ502)。そして、透かし挿入部1402は、透かし入りオリジナルプログラムをプログラム出力部203に送り、プログラム出力部203が、配布先1410に伝送する(ステップ503)。
次に、透かし挿入装置1401は、オリジナルプログラムを更新するための差分プログラムが伝送されてくるのを待ち、伝送されてきたらプログラム入力部201において、伝送されてきた差分プログラムを受信し、入力する(ステップ504)。そして、プログラム入力部201は入力した差分プログラムをプログラム出力部203に送り、プログラム出力部203が差分プログラムを、配布先1410に伝送する(ステップ505)。
このようにして、配布元1400の透かし挿入装置1401は、配布先1410に対して透かし入りオリジナルプログラムと差分プログラムを伝送する。
次に、配布先1410が、差分プログラムを用いて、オリジナルプログラムから更新プログラムを生成する処理について図18を用いて説明する。図18は、配布先1410の透かし処理装置1411における透かし入りオリジナルプログラムの更新処理のフローチャートである。
まず、透かし処理装置1411は、プログラム入力部501において、伝送されてきた透かし入りオリジナルプログラムを受信し、入力する(ステップ601)。そして、プログラム入力部501は、透かし入りオリジナルプログラムを出力する。
次に、透かし処理装置1411の透かし抽出部1412が、プログラム入力部501が出力した透かし入りオリジナルプログラムを入力し、入力した透かし入りオリジナルプログラムに付与されている透かしの情報を抽出し、保存する(ステップ602)。
次に、透かし処理装置1411は、差分プログラムが伝送されてくるのを待ち、差分プログラムが伝送されてきたらプログラム入力部501において受信し、入力する(ステップ603)。そして、プログラム入力部501は、差分プログラムを出力する。
次に、透かし処理部1411のプログラム更新部507が、透かし入りオリジナルプログラムに対して差分プログラムを用いることで更新した更新プログラムを生成し、透かし挿入部502に出力する(ステップ604)。
次に、ステップ604において生成された更新プログラムは透かしが消去されてしまっている可能性があるので、透かし挿入部502は、更新プログラムに透かし抽出部1412が先に透かし入りオリジナルプログラムから抽出しておいた透かしを挿入する(ステップ605)。
このように、透かし処理装置1411は、更新プログラムに透かしを挿入する。
以上説明したように、実施の形態3によれば、透かし入りオリジナルプログラムに付与された透かしを抽出、保存しておき、この抽出しておいた透かしを更新プログラムの透かしとして再度利用し、更新プログラムに透かしを付与することができる。
また、実施の形態3によれば、オリジナルプログラムに付与されている透かしを永続的に使用できるため、著作権の管理者の管理コスト(プログラム電子透かしの発行内容)をさげることができる。
なお、透かし挿入装置1401および透かし処理装置1411の各部が同一の機器上に存在する必要はなく、各部がネットワークで結合され、複数の端末で処理される形態であってもよい。
また、透かし挿入装置1401および透かし処理装置1411が行う処理をプログラムにし、汎用のコンピュータに行わせる形態であっても良い。
(実施の形態4)
本発明の実施の形態4にかかるプログラム不正配布防止システムについて説明する。まず、実施の形態4にかかるプログラム不正配布防止システムの処理の概要について図19を用いて説明する。図19は、実施の形態4にかかるプログラム不正配布防止システムの処理を説明するための概念図である。
配布元1900の透かし挿入装置1901は、オリジナルプログラムを用いて透かし入りオリジナルプログラムを作成し、配布先1910に送る。また、透かし入りオリジナルプログラムに付与する透かしは配布先1910(ユーザ)毎に異なるものである。つまり、透かし挿入装置1901は、配布先1910毎に異なる透かし入りオリジナルプログラムを生成し、送る。
また、透かし挿入装置1901は、オリジナルプログラムと透かし入りオリジナルプログラムの差分プログラム(オリジナル管理用差分プログラム)を生成し、管理する。透かし入りオリジナルプログラムはユーザ毎に異なるので、透かし挿入装置1901は、ユーザ毎に異なる、オリジナル管理用差分プログラムを管理する。
また、透かし挿入装置1901は、更新用の差分プログラムを用いることでオリジナルプログラムを更新した更新プログラムを生成する。透かし挿入装置1901は、更新プログラムと透かし入り更新プログラムの差分プログラム(更新済み管理用差分プログラム)を生成し、管理する。透かし入り更新プログラムはユーザ毎に異なるので、透かし挿入装置1901は、ユーザ毎に異なる更新済み管理用差分プログラムを管理する。
なお、配布元で生成された透かし入り差分プログラムを配信する前に、事前にオリジナルプログラムに対して、生成された透かし入り差分プログラムを用いて正しく更新処理されることを確認する。これにより、更新されたプログラムに透かしを挿入にする領域が確保できていないなどの理由により、プログラム電子透かしの更新処理が、配布先で未然に失敗することを防ぐことが可能となる。
また、万一のために、配布元で、透かし挿入失敗時に自らオリジナルプログラムを復帰できるようにすることで、透かしの更新を失敗した場合でも、配布元でプログラムが全く動作しないという状況を回避することが可能となる。
また、透かし挿入装置1901は、オリジナル管理用差分プログラムと更新済み管理用差分プログラムを用いて、透かし入りオリジナルプログラムから透かし入り更新プログラムを生成するための差分プログラム(ユーザ用差分プログラム)を生成し、送る。
一方、配布先1910は、透かし処理装置1911において、透かし入りオリジナルプログラムを受信する。
また、透かし処理装置1911は、ユーザ用差分プログラムを受信し、これを用いて透かし入り更新プログラムを生成する。
このように、実施の形態4にかかるプログラム不正配布システムは、更新プログラムに透かしを付与する。
なお、配布先1910でプログラム電子透かしの読み取り、削除、更新など、プログラム電子透かしへの処理を行う場合、処理は不正のアクセスが禁止された領域(例えば、ICカードのような改竄に耐性のある耐タンパ装置)で実行する。
耐タンパ領域で、プログラム電子透かしへの処理を行うことで、プログラム電子透かしの処理プログラムの解読によるプログラム電子透かしへの不正アクセスや、プログラム電子透かしの改竄などを防止することができる。これにより、不正にプログラム電子透かしの挿入や削除が行われるという問題を解決する。
また、配布元での透かし挿入処理に関しても、同様の理由で、耐タンパ領域で処理するのが望ましい。
また、配信されるプログラムの改竄が行われていないことを検証するために、配信するオリジナルプログラムや差分プログラムには電子署名を付与する。配布元もしくはプログラムの製作者が電子署名を付与することで、配信過程での改竄を検出する。
また、耐タンパ領域へプログラムを読み込む前に、配布元もしくはプログラム製作者の署名であることを確認することで、不正な透かしによるプログラム電子透かしでの更新を抑制することができる。
なお、正しい配布元もしくはプログラム製作者であるという認証と、正しい利用者が更新処理を行っているという認証は、従来技術から一般に用いられている端末認証(例えば、端末IDやPKIを用いる方法)や個人認証(例えば、指紋や虹彩認証を用いる方法)の技術を用いることで、それぞれ解決できる。
以下、実施の形態4にかかるプログラム不正配布システムについて詳細に説明する。
まず、実施の形態4にかかる透かし挿入装置1901の構成について図20を用いて詳細に説明する。図20は、透かし挿入装置1901のブロック図である。なお、既に説明した部分と同一の部分には同一の符号を付与し、詳細な説明は省略する。
透かし挿入装置1901には、オリジナルプログラムとオリジナルプログラムを更新するための差分プログラムとを受信し、入力するプログラム入力部1906が設けられている。
また、透かし挿入装置1901には、オリジナルプログラムに差分プログラムを用いることで更新した更新プログラムを生成し、出力するプログラム更新部1902が設けられている。
また、透かし挿入装置1901には、ID情報生成部205が出力したID情報から透かしを生成し、オリジナルプログラムおよび更新プログラムに挿入する透かし挿入部1903が設けられている。
また、透かし挿入装置1901には、プログラム入力部1906が出力したオリジナルプログラムと透かし挿入部1903が出力した透かし入りオリジナルプログラムとの差分であるオリジナル管理用差分プログラムを生成し、管理するプログラム管理部1904が設けられている。
また、プログラム管理部1904は、プログラム更新部1902が出力した更新プログラムと透かし挿入部1903が出力した透かし入り更新プログラムとの差分である更新済み管理用差分プログラムを生成し、管理する。
また、透かし挿入装置1901には、プログラム管理部1904が管理するオリジナル管理用差分プログラムと更新済み管理用差分プログラムとを用いて、透かし入りオリジナルプログラムから透かし入り更新プログラムを生成する差分プログラム(ユーザ用差分プログラム)を生成する差分プログラム生成部1905が設けられている。
次に、実施の形態4にかかる透かし処理装置1911の構成について図21を用いて説明する。図21は、透かし処理装置1911のブロック図である。なお、既に説明した部分と同一の部分については、同一の符号を付与し、詳細な説明を省略する。
透かし処理装置1911には、透かし入りオリジナルプログラムに、ユーザ用差分プログラムを用いることにより、透かし入り更新プログラムを生成するプログラム更新部1912が設けられている。
次に、実施の形態4にかかる透かし挿入装置1901の動作について図22を用いて説明する。図22は、配布元1900の透かし挿入装置1901の処理のフローチャートである。
まず、透かし挿入装置1901は、プログラム入力部1906において、伝送されてきたオリジナルプログラムを受信し、入力する(ステップ701)。そして、プログラム入力部1906は入力したオリジナルプログラムを透かし挿入部1903に送る。
次に、透かし挿入部1903は、ID情報生成部205により生成されるID情報からオリジナルプログラムに埋め込む透かしを生成し、プログラム入力部1906から出力されたオリジナルプログラムに対し透かしを挿入し、透かし入りオリジナルプログラムを生成する(ステップ702)。そして、透かし挿入部1903は、透かし入りオリジナルプログラムをプログラム出力部203に送り、プログラム出力部203が、配布先1910に伝送する(ステップ703)。
次に、透かし挿入装置1901は、透かし入りオリジナルプログラムの管理処理に移行する。
まず、透かし挿入装置1901のプログラム管理部1904は、プログラム入力部1906が出力したオリジナルプログラムと透かし挿入部1903が出力した透かし入りオリジナルプログラムを入力する。次に、プログラム管理部1904は、オリジナルプログラムと透かし入りオリジナルプログラムとの差分をとり、オリジナル管理用差分プログラムを生成する(ステップ704)。
そして、プログラム管理部1904は、生成したオリジナル管理用差分プログラムを管理する(ステップ705)。
透かし入りオリジナルプログラムに付与する透かしが配布先1910(ユーザ)毎に異なるのに伴って、透かし入りオリジナルプログラムも配布先1910毎に異なる。よって、プログラム管理部1904は、配布先1910毎に異なるオリジナル管理用差分プログラムを管理する。
このように、プログラム管理部1904は、ユーザ毎に異なる透かし入りオリジナルプログラムをそのまま保存、管理するのではなく、ユーザ毎に異なるオリジナル管理用差分プログラムの管理を行うことで、ディスク容量などを削減することが可能になる。
次に、透かし挿入装置1901は、オリジナルプログラムの更新処理に移行する。
まず、透かし挿入装置1901は、オリジナルプログラムを更新するための更新用差分プログラムが伝送されてくるのを待ち、伝送されてきたらプログラム入力部1906で受信し、入力する(ステップ706)。そして、プログラム入力部1906は、入力した更新用差分プログラムをプログラム更新部1902に出力する。
次に、プログラム更新部1902は、先にプログラム入力部1906が出力したオリジナルプログラムに対して、今回プログラム入力部1906が出力した更新用差分プログラムを用いることで更新した更新プログラムを生成し、出力する(ステップ707)。
次に、透かし挿入部1903は、ステップ707において生成された更新プログラムを入力する。そして、ID情報生成部205から出力された更新プログラム用のID情報から更新プログラム用の透かしを生成し、更新プログラムに挿入し、透かし入り更新プログラムを生成する(ステップ708)。そして、透かし挿入部1903は、生成した透かし入り更新プログラムを出力する。
次に、透かし挿入装置1901は、透かし入り更新プログラムの管理処理に移行する。
まず、透かし挿入装置1901のプログラム管理部1904は、プログラム更新部1902が出力した更新プログラムと透かし挿入部1903が出力した透かし入り更新プログラムを入力する。次に、プログラム管理部1904は、更新プログラムと透かし入り更新プログラムとの差分をとり、更新済み管理用差分プログラムを生成する(ステップ709)。
そして、プログラム管理部1904は、生成した更新済み管理用差分プログラムを管理する(ステップ710)。
透かし入り更新プログラムに付与する透かしが配布先1910(ユーザ)毎に異なるのに伴って、透かし入り更新プログラムも配布先1910毎に異なる。よって、プログラム管理部1904は、配布先1910毎に異なる更新済み管理用差分プログラムを管理する。
このように、プログラム管理部1904は、ユーザ毎に異なる透かし入り更新プログラムをそのまま保存、管理するのではなく、ユーザ毎に異なる更新済み管理用差分プログラムの管理を行うことで、ディスク容量などを削減することが可能になる。
次に、透かし挿入装置1901は、配布先1910に送った透かし入りオリジナルデータの更新用のプログラム(ユーザ用更新プログラム)を生成する処理に移行する。
まず、透かし挿入装置1901の差分プログラム生成部1905が、プログラム管理部1904が管理する、オリジナル管理用差分プログラムと、更新済み管理用差分プログラムを入力する。次に、差分プログラム生成部1905は、透かし入りオリジナルプログラムから透かし入り更新プログラムを生成するための差分プログラム(ユーザ用差分プログラム)を生成し(ステップ711)、配布先1910に伝送する(ステップ712)。
このようにして、透かし挿入装置1901は、配布先1910に対して、透かし入りオリジナルプログラムと、透かし入りオリジナルプログラムから透かし入り更新プログラムを生成するユーザ用差分プログラムを伝送する。
次に、透かし処理装置1911の処理について図23を用いて説明する。図23は、配布先1910の透かし処理装置1911の処理のフローチャートである。
まず、透かし処理装置1911は、プログラム入力部501において、伝送されてきた透かし入りオリジナルプログラムを受信し、入力する(ステップ801)。そして、プログラム入力部501は、透かし入りオリジナルプログラムを出力する。
次に、透かし処理装置1911は、透かし入りオリジナルプログラムを更新するためのユーザ用差分プログラムが伝送されてくるのを待ち、伝送されてきたらプログラム入力部501において受信し、入力する(ステップ802)。そして、プログラム入力部501は、入力したユーザ用差分プログラムを出力する。
次に、プログラム更新部1912が、プログラム入力部501から出力された、透かし入りオリジナルプログラムに、ユーザ用差分プログラムを用いることで透かし入り更新プログラムを生成する(ステップ803)。
このようにして、透かし処理装置1911は、透かし入りの更新プログラムを生成する。
以上説明したように、実施の形態4によれば、透かし入りオリジナルプログラムから透かし入り更新プログラムを生成するためのユーザ用差分プログラムを用いて、透かし入りオリジナルプログラムから透かし入り更新プログラムを生成することができる。
また、実施の形態4によれば、ユーザ毎に異なる透かし入りオリジナルプログラムをそのまま保存、管理するのではなく、ユーザ毎に異なるオリジナル管理用差分プログラムの管理を行うことで、ディスク容量などを削減することが可能になる。
また、実施の形態4によれば、ユーザ毎に異なる透かし入り更新プログラムをそのまま保存、管理するのではなく、ユーザ毎に異なる更新済み管理用差分プログラムの管理を行うことで、ディスク容量などを削減することが可能になる。
なお、透かし挿入装置1901および透かし処理装置1911の各部が同一の機器上に存在する必要はなく、各部がネットワークで結合され、複数の端末で処理される形態であってもよい。
また、透かし挿入装置1901および透かし処理装置1911が行う処理をプログラムにし、汎用のコンピュータに行わせる形態であっても良い。
以上説明したように、本発明によれば、オリジナルプログラムを更新した更新プログラムにも透かしを付与できるので、安全にプログラムの更新を行うとともに、プログラムの更新を行ってもプログラムの電子透かしの読み取りや、挿入、削除などの処理が不正に行われないようにできる。また、本発明は、ネットワークを利用したコンピュータプログラムの流通等に広範囲に適応できる。
本発明の実施の形態1にかかる透かし挿入による不正配布防止システムのブロック図 実施の形態1にかかるプログラム不正配布防止システムが更新プログラムに透かしを入れる方法を説明するための概念図 実施の形態1にかかる透かし挿入装置のブロック図 実施の形態1にかかる透かし挿入部のプログラムへの電子透かしの具体的な挿入方法について説明するための図 実施の形態1における透かし取出装置のブロック図 実施の形態1にかかる透かし処理装置のブロック図 実施の形態1にかかる透かし挿入装置のプログラム伝送処理のフローチャート 実施の形態1にかかる透かし処理装置における透かし入りオリジナルプログラムの更新処理のフローチャート 本発明の実施の形態2にかかるプログラム不正配布防止システムが更新プログラムに透かしを入れる方法を説明するための概念図 実施の形態2にかかる透かし挿入装置のブロック図 実施の形態2にかかる透かし処理装置のブロック図 実施の形態2にかかる透かし挿入装置のプログラム伝送処理のフローチャート 実施の形態2にかかる透かし処理装置における透かし入りオリジナルプログラムの更新処理のフローチャート 本発明の実施の形態3にかかるプログラム不正配布防止システムが更新プログラムに透かしを入れる方法を説明するための概念図 実施の形態3にかかる透かし挿入装置のブロック図 実施の形態3にかかる透かし処理装置のブロック図 実施の形態3にかかる透かし挿入装置のプログラム伝送処理のフローチャート 実施の形態3にかかる透かし処理装置における透かし入りオリジナルプログラムの更新処理のフローチャート 本発明の実施の形態4にかかるプログラム不正配布防止システムの処理を説明するための概念図 実施の形態4にかかる透かし挿入装置のブロック図 実施の形態4にかかる透かし処理装置のブロック図 実施の形態4にかかる透かし挿入装置の処理のフローチャート 実施の形態4にかかる透かし処理装置の処理のフローチャート
符号の説明
10、900、1400、1900 配布元
20、901、1401、1901 透かし挿入装置
30 透かし取出装置
40a、40b、910、1410、1910 配布先
50 流出先
60、911、1411、1911 透かし処理装置
201、301、501、1906 プログラム入力部
202、502、1402、1903 透かし挿入部
203、503 プログラム出力部
204 透かし用データ入力部
205 ID情報生成部
206、305 透かし情報記憶部
302 透かし検出部
303 出力部
304 ID情報記憶部
504、1412 透かし抽出部
507、1902、1912 プログラム更新部
902 透かし生成部
903 透かし出力部
912 透かし入力部
1904 プログラム管理部
1905 差分プログラム生成部

Claims (26)

  1. 電子透かしが付与されたオリジナルのプログラムを入力するオリジナルプログラム入力手段と、電子透かしが付与され、前記オリジナルのプログラムを更新するための透かし入り差分プログラムを入力する差分プログラム入力手段と、前記透かし入り差分プログラムから前記電子透かしを抽出する電子透かし抽出手段と、前記オリジナルのプログラムに対して前記透かし入り差分プログラムを用いることで更新した更新プログラムを生成するプログラム更新手段と、前記更新プログラムに前記差分プログラムから抽出した前記電子透かしを挿入する透かし挿入手段と、を具備したことを特徴とするプログラム電子透かし処理装置。
  2. 電子透かしが付与されたオリジナルのプログラムを入力するオリジナルプログラム入力手段と、前記オリジナルのプログラムを更新するための差分プログラムを入力する差分プログラム入力手段と、新たな電子透かしを入力する透かし入力手段と、前記オリジナルのプログラムに対して前記差分プログラムを用いることで更新した更新プログラムを生成するプログラム更新手段と、前記更新プログラムに前記新たな電子透かしを挿入する透かし挿入手段と、を具備したことを特徴とするプログラム電子透かし処理装置。
  3. 電子透かしが付与されたオリジナルのプログラムを入力するオリジナルプログラム入力手段と、前記オリジナルのプログラムを更新するための差分プログラムを入力する差分プログラム入力手段と、前記オリジナルのプログラムから前記電子透かしを抽出する電子透かし抽出手段と、前記オリジナルのプログラムに対して前記差分プログラムを用いることで更新した更新プログラムを生成するプログラム更新手段と、前記更新プログラムに前記オリジナルのプログラムから抽出した前記電子透かしを挿入する透かし挿入手段と、を具備したことを特徴とするプログラム電子透かし処理装置。
  4. 電子透かしが付与されたオリジナルのプログラムを入力するオリジナルプログラム入力手段と、前記電子透かしが付与されたオリジナルのプログラムから電子透かし入りの更新プログラムを生成するためのユーザ用差分プログラムを入力する差分プログラム入力手段と、前記ユーザ用差分プログラムを用いることで前記電子透かしが付与されたオリジナルのプログラムから電子透かし入りの更新プログラムを生成するプログラム更新手段と、を具備したことを特徴とするプログラム電子透かし処理装置。
  5. オリジナルのプログラムを入力するオリジナルプログラム入力手段と、前記オリジナルのプログラムに電子透かしを入れた透かし入りオリジナルプログラムを生成するオリジナル透かし挿入手段と、前記透かし入りオリジナルプログラムを伝送するオリジナルプログラム出力手段と、前記オリジナルのプログラムを更新するための差分プログラムを入力する差分プログラム入力手段と、前記差分プログラムに電子透かしを入れた透かし入り差分プログラムを生成する差分プログラム透かし挿入手段と、前記透かし入り差分プログラムを伝送する差分プログラム出力手段と、を具備したことを特徴とするプログラム電子透かし挿入装置。
  6. 前記差分プログラムに挿入する前記電子透かしと、前記オリジナルのプログラムに付与する前記電子透かしとは異なることを特徴とする請求項5に記載のプログラム電子透かし挿入装置。
  7. オリジナルのプログラムを入力するオリジナルプログラム入力手段と、前記オリジナルのプログラムに電子透かしを付与した透かし入りオリジナルプログラムを生成する透かし挿入手段と、前記透かし入りオリジナルプログラムを伝送するオリジナルプログラム出力手段と、前記オリジナルのプログラムを更新するための更新用差分プログラムを入力する差分プログラム入力手段と、前記更新用差分プログラムを用いることで前記オリジナルのプログラムを更新した更新プログラムを生成するプログラム更新手段と、前記更新プログラムに電子透かしを挿入した透かし入り更新プログラムを生成する透かし挿入手段と、前記透かし入りオリジナルプログラムから前記透かし入り更新プログラムを生成するためのユーザ用差分プログラムを生成する差分プログラム生成手段と、前記ユーザ用差分プログラムを伝送する差分プログラム伝送手段と、を具備したことを特徴とするプログラム電子透かし挿入装置。
  8. 前記オリジナルのプログラムと前記透かし入りオリジナルとの差分プログラムを生成し、管理するプログラム管理手段、を具備したことを特徴とする請求項7記載のプログラム電子透かし挿入装置。
  9. 前記更新プログラムと前記透かし入り更新プログラムとの差分プログラムを生成し、管理するプログラム管理手段、を具備したことを特徴とする請求項7または請求項8記載のプログラム電子透かし挿入装置。
  10. 請求項5記載のプログラム電子透かし挿入装置と、請求項1記載のプログラム電子透かし処理装置と、を具備したことを特徴とするプログラム不正配布防止システム。
  11. 電子透かしが付与されたオリジナルのプログラムと、前記オリジナルのプログラムを更新するための差分プログラムと、新たな電子透かしとを伝送する配布元と、請求項2記載のプログラム電子透かし処理装置と、を具備したことを特徴とするプログラム不正配布防止システム。
  12. 電子透かしが付与されたオリジナルのプログラムと、前記オリジナルのプログラムを更新するための差分プログラムと、を送信する配布元と、請求項3記載のプログラム電子透かし処理装置と、を具備したことを特徴とするプログラム不正配布防止システム。
  13. 請求項7記載のプログラム電子透かし挿入装置と、請求項4記載のプログラム電子透かし処理装置と、を具備したことを特徴とするプログラム不正配布防止システム。
  14. 電子透かしが付与されたオリジナルのプログラムを入力するステップと、電子透かしが付与され、前記オリジナルのプログラムを更新するための透かし入り差分プログラムを入力するステップと、前記透かし入り差分プログラムから前記電子透かしを抽出するステップと、前記オリジナルのプログラムに対して前記透かし入り差分プログラムを用いることで更新した更新プログラムを生成するステップと、前記更新プログラムに前記差分プログラムから抽出した前記電子透かしを挿入するステップと、を具備したことを特徴とするプログラム電子透かし処理方法。
  15. 電子透かしが付与されたオリジナルのプログラムを入力するステップと、前記オリジナルのプログラムを更新するための差分プログラムを入力するステップと、新たな電子透かしを入力するステップと、前記オリジナルのプログラムに対して前記差分プログラムを用いることで更新した更新プログラムを生成するステップと、前記更新プログラムに前記新たな電子透かしを挿入するステップと、を具備したことを特徴とするプログラム電子透かし処理方法。
  16. 電子透かしが付与されたオリジナルのプログラムを入力するステップと、前記オリジナルのプログラムを更新するための差分プログラムを入力するステップと、前記オリジナルのプログラムから前記電子透かしを抽出するステップと、前記オリジナルのプログラムに対して前記差分プログラムを用いることで更新した更新プログラムを生成するステップと、前記更新プログラムに前記オリジナルのプログラムから抽出した前記電子透かしを挿入するステップと、を具備したことを特徴とするプログラム電子透かし処理方法。
  17. 電子透かしが付与されたオリジナルのプログラムを入力するステップと、前記電子透かしが付与されたオリジナルのプログラムから電子透かし入りの更新プログラムを生成するためのユーザ用差分プログラムを入力するステップと、前記ユーザ用差分プログラムを用いることで前記電子透かしが付与されたオリジナルのプログラムから電子透かし入りの更新プログラムを生成するステップと、を具備したことを特徴とするプログラム電子透かし処理方法。
  18. オリジナルのプログラムを入力するステップと、前記オリジナルのプログラムに電子透かしを入れた透かし入りオリジナルプログラムを生成するステップと、前記透かし入りオリジナルプログラムを伝送するステップと、前記オリジナルのプログラムを更新するための差分プログラムを入力するステップと、前記差分プログラムに電子透かしを入れた透かし入り差分プログラムを生成するステップと、前記透かし入り差分プログラムを伝送するステップと、を具備したことを特徴とするプログラム電子透かし処理方法。
  19. オリジナルのプログラムを入力するステップと、前記オリジナルのプログラムに電子透かしを付与した透かし入りオリジナルプログラムを生成するステップと、前記透かし入りオリジナルプログラムを伝送するステップと、前記オリジナルのプログラムを更新するための更新用差分プログラムを入力するステップと、前記更新用差分プログラムを用いることで前記オリジナルのプログラムを更新した更新プログラムを生成するステップと、前記更新プログラムに電子透かしを挿入した透かし入り更新プログラムを生成するステップと、前記透かし入りオリジナルプログラムから前記透かし入り更新プログラムを生成するためのユーザ用差分プログラムを生成するステップと、前記ユーザ用差分プログラムを伝送するステップと、を具備したことを特徴とするプログラム電子透かし処理方法。
  20. コンピュータに、電子透かしが付与されたオリジナルのプログラムを入力するステップと、電子透かしが付与され、前記オリジナルのプログラムを更新するための透かし入り差分プログラムを入力するステップと、前記透かし入り差分プログラムから前記電子透かしを抽出するステップと、前記オリジナルのプログラムに対して前記透かし入り差分プログラムを用いることで更新した更新プログラムを生成するステップと、前記更新プログラムに前記差分プログラムから抽出した前記電子透かしを挿入するステップと、を行わせることを特徴とするプログラム。
  21. コンピュータに、電子透かしが付与されたオリジナルのプログラムを入力するステップと、前記オリジナルのプログラムを更新するための差分プログラムを入力するステップと、新たな電子透かしを入力するステップと、前記オリジナルのプログラムに対して前記差分プログラムを用いることで更新した更新プログラムを生成するステップと、前記更新プログラムに前記新たな電子透かしを挿入するステップと、を行わせることを特徴とするプログラム。
  22. コンピュータに、電子透かしが付与されたオリジナルのプログラムを入力するステップと、前記オリジナルのプログラムを更新するための差分プログラムを入力するステップと、前記オリジナルのプログラムから前記電子透かしを抽出するステップと、前記オリジナルのプログラムに対して前記差分プログラムを用いることで更新した更新プログラムを生成するステップと、前記更新プログラムに前記オリジナルのプログラムから抽出した前記電子透かしを挿入するステップと、を行わせることを特徴とするプログラム。
  23. コンピュータに、電子透かしが付与されたオリジナルのプログラムを入力するステップと、前記電子透かしが付与されたオリジナルのプログラムから電子透かし入りの更新プログラムを生成するためのユーザ用差分プログラムを入力するステップと、前記ユーザ用差分プログラムを用いることで前記電子透かしが付与されたオリジナルのプログラムから電子透かし入りの更新プログラムを生成するステップと、を行わせることを特徴とするプログラム。
  24. コンピュータに、オリジナルのプログラムを入力するステップと、前記オリジナルのプログラムに電子透かしを入れた透かし入りオリジナルプログラムを生成するステップと、前記透かし入りオリジナルプログラムを伝送するステップと、前記オリジナルのプログラムを更新するための差分プログラムを入力するステップと、前記差分プログラムに電子透かしを入れた透かし入り差分プログラムを生成するステップと、前記透かし入り差分プログラムを伝送するステップと、を行わせることを特徴とするプログラム。
  25. コンピュータに、オリジナルのプログラムを入力するステップと、前記オリジナルのプログラムに電子透かしを付与した透かし入りオリジナルプログラムを生成するステップと、前記透かし入りオリジナルプログラムを伝送するステップと、前記オリジナルのプログラムを更新するための更新用差分プログラムを入力するステップと、前記更新用差分プログラムを用いることで前記オリジナルのプログラムを更新した更新プログラムを生成するステップと、前記更新プログラムに電子透かしを挿入した透かし入り更新プログラムを生成するステップと、前記透かし入りオリジナルプログラムから前記透かし入り更新プログラムを生成するためのユーザ用差分プログラムを生成するステップと、前記ユーザ用差分プログラムを伝送するステップと、を行わせることを特徴とするプログラム。
  26. 請求項20から請求項25のいずれかに記載のプログラムを格納したことを特徴とする記憶媒体。
JP2004046913A 2003-04-11 2004-02-23 プログラム電子透かし処理装置 Pending JP2004326735A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004046913A JP2004326735A (ja) 2003-04-11 2004-02-23 プログラム電子透かし処理装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003108320 2003-04-11
JP2004046913A JP2004326735A (ja) 2003-04-11 2004-02-23 プログラム電子透かし処理装置

Publications (1)

Publication Number Publication Date
JP2004326735A true JP2004326735A (ja) 2004-11-18

Family

ID=33513097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004046913A Pending JP2004326735A (ja) 2003-04-11 2004-02-23 プログラム電子透かし処理装置

Country Status (1)

Country Link
JP (1) JP2004326735A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008527518A (ja) * 2005-01-05 2008-07-24 ギーゼッケ ウント デフリエント ゲーエムベーハー 電子透かし機能を備えた携帯型データ担体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008527518A (ja) * 2005-01-05 2008-07-24 ギーゼッケ ウント デフリエント ゲーエムベーハー 電子透かし機能を備えた携帯型データ担体

Similar Documents

Publication Publication Date Title
US20040202324A1 (en) Program electronic watermark processing apparatus
US10769252B2 (en) Method and apparatus for watermarking of digital content, method for extracting information
KR100753932B1 (ko) 컨텐츠 암호화 방법, 이를 이용한 네트워크를 통한 컨텐츠제공 시스템 및 그 방법
US8601590B2 (en) Content distribution system
EP1078312B1 (en) Apparatus for making and apparatus for reading a digital watermark and method of making and reading a digital watermark
EP1075757B1 (en) Digital authentication with analog documents
JP4622811B2 (ja) 電子文書の真正性保証システム
KR100749867B1 (ko) 보안장치상에 암호화시스템을 보안가능하게 설치하는시스템 및 방법
JP4788212B2 (ja) デジタル署名プログラム及びデジタル署名システム
CN1997953B (zh) 用于保护移动应用中数字内容的方法和设备
CN102419804B (zh) 具有冗余安全性的可靠的软件产品验证和激活
CN109754226B (zh) 数据管理方法、设备和存储介质
JP4619046B2 (ja) オリジナルコンテンツ生成装置及び派生コンテンツ生成装置
CN101641701B (zh) 用于对内容进行数字处理管理以实现所施加的工作流的设备和方法
US7552092B2 (en) Program distribution method and system
JPH11265317A (ja) 著作権保護システム
US20090055935A1 (en) Data delivery system, issuance apparatus, terminal apparatus, and intermediate node
JP2000172648A (ja) ディジタル情報保護装置及びディジタル情報保護方法並びにディジタル情報保護プログラムを記録した記憶媒体
JP2000076064A (ja) プログラムへの透かしの挿入方法及びシステム
KR20110066707A (ko) 워터마크를 이용한 키 분배 및 변경 방법
US20040076296A1 (en) Method for encrypting content, and method and apparatus for decrypting encrypted data
JP2004326735A (ja) プログラム電子透かし処理装置
JP2011081628A (ja) 著作物再配布促進システム
JP2007158984A (ja) 電子文書の真正性保証方法および電子文書の公開システム
JP2005175652A (ja) コンテンツ流通システム