Abstract
Software security is a significant issue in the Internet age. In order to prevent software from piracy and unauthorized modification, many techniques have been developed. Software watermarking is such a technique that can be used to protect software by embedding some secret information into the software to identify its copyright owner. In this paper, we discuss algorithms of software watermarking through register allocation.
The QP Algorithm [1,2] was proposed by Qu and Potkonjak to watermark a solution to a graph coloring(GC) problem to protect its intellectual property. In a recent paper by Myles and Collberg [3], the QP algorithm was corrected, and was, for the first time, implemented to watermark software through register allocation. It is called the QPS algorithm.
Our paper discusses some difficulties with the published descriptions of the QP and QPS algorithms, points out the problem in the extractability of the watermarks inserted by the QP algorithm through examples, proves the correctness of a clarified version of the QPS algorithm, and proposes an improvement for the QP algorithm. Finally, we give some potential topics for further research.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Qu, G., Potkonjak, M.: Analysis of watermarking techniques for graph coloring problem. In: IEEE/ACM International Conference on Computer Aided Design, 1998, pp. 190–193 (1998)
Qu, G., Potkonjak, M.: Hiding signatures in graph coloring solutions. In: Information Hiding Workshop 1999, pp. 348–367 (1999)
Myles, G., Collberg, C.: Software watermarking through register allocation: Implementation, analysis, and attacks. In: Lim, J.-I., Lee, D.-H. (eds.) ICISC 2003. LNCS, vol. 2971, pp. 274–293. Springer, Heidelberg (2004)
Collberg, C., Myles, G., Huntwork, A.: Sandmark–a tool for software protection research. IEEE Security and Privacy 1(4), 40–49 (2003)
Zhu, W., Thomborson, C.: A provable scheme for homomorphic obfuscationin in software security. In: The IASTED International Conference on Communication, Network and Information Security, CNIS 2005, Phoenix, USA, pp. 208–212 (2005)
Collberg, C., Thomborson, C.: On the limits of software watermarking, in: Technical Report #164, Department of Computer Science, The University of Auckland (1998)
Collberg, C., Thomborson, C.: Software watermarking: Models and dynamic embeddings. In: Proceedings of Symposium on Principles of Programming Languages, POPL 1999, pp. 311–324 (1999)
Collberg, C., Thomborson, C.: Watermarking, tamper-proofing, and obfuscation - tools for software protection. IEEE Transactions on Software Engineering 28, 735–746 (2002)
Zhu, W., Thomborson, C., Wang, F.-Y.: A survey of software watermarking. In: Kantor, P., Muresan, G., Roberts, F., Zeng, D.D., Wang, F.-Y., Chen, H., Merkle, R.C. (eds.) ISI 2005. LNCS, vol. 3495, pp. 454–458. Springer, Heidelberg (2005)
Qu, G., Wong, J., Potkonjak, M.: Optimization-intensive watermarking techniques for decision problems. In: Design Automation Conference, 1999, pp. 33–36 (1999)
Qu, G., Potkonjak, M.: Fingerprinting intellectual property using constraint-addition. In: Design Automation Conference 2000, pp. 587–592 (2000)
Qu, G., Wong, J., Potkonjak, M.: Fair watermarking techniques. In: EEE/ACM Asia and South Pacific Design Automation Conference, 2000, pp. 55–60 (2000)
Le, T., Desmedt, Y.: Cryptanalysis of ucla watermarking schemes for intellectual property protections. In: Petitcolas, F.A.P. (ed.) IH 2002. LNCS, vol. 2578, pp. 213–225. Springer, Heidelberg (2003)
Venkatesan, R., Vazirani, V., Sinha, S.: A graph theoretic approach to software watermarking. In: 4th International Information Hiding Workshop, Pittsburgh, PA (2001)
Zhu, W., Thomborson, C.: On the QP algorithm in software watermarking. In: Kantor, P., Muresan, G., Roberts, F., Zeng, D.D., Wang, F.-Y., Chen, H., Merkle, R.C. (eds.) ISI 2005. LNCS, vol. 3495, pp. 646–647. Springer, Heidelberg (2005)
Cooper, K.D., Harvey, T.J., Torczon, L.: How to build an interference graph. Software – Practice and Experience 28(4), 425–444 (1988)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zhu, W., Thomborson, C. (2006). Algorithms to Watermark Software Through Register Allocation. In: Safavi-Naini, R., Yung, M. (eds) Digital Rights Management. Technologies, Issues, Challenges and Systems. DRMTICS 2005. Lecture Notes in Computer Science, vol 3919. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11787952_14
Download citation
DOI: https://doi.org/10.1007/11787952_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35998-2
Online ISBN: 978-3-540-35999-9
eBook Packages: Computer ScienceComputer Science (R0)