Javaプログラムに対する電子透かし法

北川 隆 (9751041)


コンピュータプログラムの不正コピーは従来より大きな社会問題であった. 従来, 不正コピー対策としてコピープロテクトなどの技術が用いられてきた. 近年, インターネットに代表される急激なネットワークの普及により, ネットワークを介したソフトウェアの流通が増加している. 特にJava言語で書かれたプログラムは, アーキテクチャ非依存でかつネットワーク関係の豊富なライブラリを持つなどの特徴があり, インターネットの発達にともなって急速に利用されるようになってきている. ネットワークを介して流通するプログラムに対しては, 従来の不正コピー防止技術を利用することは事実上困難であるため, ソフトウェアの保護のためプログラム中に電子透かしを埋め込むということが考えられる. 本研究では, Javaプログラムに対する電子透かし法を提案した. 提案手法では, まずプログラム中に変数を新たに作成し, その変数に透かし情報を格納する. 次に, これらの変数を繰り返し文の制御変数や条件分岐の判定式に組み込んで, もし不正ユーザがこれらの変数を改竄, 削除した場合にはプログラムが正常に動作しないようにする. また, 本手法を難読化法と組み合わせることで, 人手による電子透かしの解析も困難にできることを示した. さらに, 本手法のJava以外のプログラム言語への適用についても考察した.

発表では, Javaプログラムへの電子透かしの埋め込み方法, 検出方法を例を用いて説明する. また, 難読化法との組み合わせ方法, 他のプログラム言語への応用についても述べる.