Java Birthmarks--Detecting the Software Theft--

Haruaki TAMADA  Masahide NAKAMURA  Akito MONDEN  Ken-ichi MATSUMOTO  

IEICE TRANSACTIONS on Information and Systems   Vol.E88-D    No.9    pp.2148-2158
Publication Date: 2005/09/01
Online ISSN: 
DOI: 10.1093/ietisy/e88-d.9.2148
Print ISSN: 0916-8532
Type of Manuscript: PAPER
Category: Application Information Security
copyright protection,  software protection,  watermark,  birthmark,  

Full Text: PDF(752.3KB)>>
Buy this Article

To detect the theft of Java class files efficiently, we propose a concept of Java birthmarks, which are unique and native characteristics of every class file. For a pair of class files p and q, if q has the same birthmark as p's, q is suspected as a copy of p. Ideally, the birthmarks should satisfy the following properties: (a) preservation - the birthmarks should be preserved even if the original class file is tampered with, and (b) distinction - independent class files must be distinguished by completely different birthmarks. Taking (a) and (b) into account, we propose four types of birthmarks for Java class files. To show the effectiveness of the proposed birthmarks, we conduct three experiments. In the first experiment, we demonstrate that the proposed birthmarks are sufficiently robust against automatic program transformation (93.3876% of the birthmarks were preserved). The second experiment shows that the proposed birthmarks successfully distinguish non-copied files in a practical Java application (97.8005% of given class files were distinguished). In the third experiment, we exploit different Java compilers to confirm that the proposed Java birthmarks are core characteristics independent of compiler-specific issues.

open access publishing via