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-based 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 methods 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 | Conference Record of the Annual ACM Symposium on Principles of Programming Languages |
Volume | 31 |
DOIs | |
State | Published - 2004 |
Event | Conference Record of POPL 2004 - 31st 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
ASJC Scopus subject areas
- Software