A robust software watermarking for copyright protection
This paper advocates protecting software copyright through hiding watermarks in various data structures used by the code, e.g., B+-trees, R-trees, linked lists, etc. Prior proposals hide the watermarks in dummy data structures, e.g., linked lists and graphs that are created, solely for this reason, during the execution of the hosting software. This makes them vulnerable to subtractive attacks, because the attacker can remove the dummy data structures without altering the functionality or the semantic of the software program. We argue that hiding watermarks in one or more data structures that are used by the program would make the watermark more robust because disturbing the watermark would affect the semantic and the functionality of the underlying software. The challenge is that the insertion of the watermark should have a minimal effect on the operations and performance of the data structure. This paper proposes a novel method for watermarking R-tree data structure and its variants. The proposed watermarking technique does not change the values of the stored data objects. It takes advantage of the redundancy in the order of entries inside the R-tree nodes. Entries are arranged relative to a secret initial order, known only to the software owner, using a technique based on a numbering system that uses variable radix with factorial base. The addition of the watermark in the R-tree data structure does not affect the performance nor does it increase the size of the R-tree. The paper provides a detailed security analysis and performance evaluation to show that the embedded watermarks are robust and can withstand various types of attacks.
watermarking copyright protection r-trees information security multimedia indexes spatial data structures