Abstract
Software watermarking consists in the intentional embedding of indelible stegosignatures or watermarks into the subject software and extraction of the stegosignatures embedded in the stegoprograms for purposes such as intellectual property protection. We introduce the novel concept of abstract software watermarking. The basic idea is that the watermark is hidden in the program code in such a way that it can only be extracted by an abstract interpretation of the (maybe non-standard) concrete semantics of this code. This static analysis-bases approach allows the watermark to be recovered even if only a small part of the program code is present and does not even need that code to be executed. We illustrate the technique by a simple abstract watermarking protocol for method of Java™ classes. The concept applies equally well to any other kind of software (including hardware originally specified by software).
Original language | English (US) |
---|---|
Pages (from-to) | 173-185 |
Number of pages | 13 |
Journal | ACM SIGPLAN Notices |
Volume | 39 |
Issue number | 1 |
DOIs | |
State | Published - Jan 2004 |
Event | Proceedings of the 2004 ACM Sigplan-SIGACT Symposium on Principles of Programming Languages - Venice, Italy Duration: Jan 14 2004 → Jan 16 2004 |
Keywords
- Abstract interpretation
- Authentication
- Copyrights protection
- Fingerprinting
- Identification
- Intellectual property protection
- Obfuscation
- Software authorship
- Software watermarking
- Static analysis
- Steganography
- Stegoanalyst
- Stegoattacks
- Stegokey
- Stegomark
- Stegosignatu re
- Tamper-proofing
- Trustworthiness
- Validation watermarking
ASJC Scopus subject areas
- Software
- Computer Graphics and Computer-Aided Design