Skip to main content

Algorithms to Watermark Software Through Register Allocation

  • Conference paper
Digital Rights Management. Technologies, Issues, Challenges and Systems (DRMTICS 2005)

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 3919))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. Qu, G., Potkonjak, M.: Hiding signatures in graph coloring solutions. In: Information Hiding Workshop 1999, pp. 348–367 (1999)

    Google Scholar 

  3. 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)

    Chapter  Google Scholar 

  4. Collberg, C., Myles, G., Huntwork, A.: Sandmark–a tool for software protection research. IEEE Security and Privacy 1(4), 40–49 (2003)

    Article  Google Scholar 

  5. 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)

    Google Scholar 

  6. Collberg, C., Thomborson, C.: On the limits of software watermarking, in: Technical Report #164, Department of Computer Science, The University of Auckland (1998)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. Collberg, C., Thomborson, C.: Watermarking, tamper-proofing, and obfuscation - tools for software protection. IEEE Transactions on Software Engineering 28, 735–746 (2002)

    Article  Google Scholar 

  9. 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)

    Chapter  Google Scholar 

  10. Qu, G., Wong, J., Potkonjak, M.: Optimization-intensive watermarking techniques for decision problems. In: Design Automation Conference, 1999, pp. 33–36 (1999)

    Google Scholar 

  11. Qu, G., Potkonjak, M.: Fingerprinting intellectual property using constraint-addition. In: Design Automation Conference 2000, pp. 587–592 (2000)

    Google Scholar 

  12. Qu, G., Wong, J., Potkonjak, M.: Fair watermarking techniques. In: EEE/ACM Asia and South Pacific Design Automation Conference, 2000, pp. 55–60 (2000)

    Google Scholar 

  13. 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)

    Chapter  Google Scholar 

  14. Venkatesan, R., Vazirani, V., Sinha, S.: A graph theoretic approach to software watermarking. In: 4th International Information Hiding Workshop, Pittsburgh, PA (2001)

    Google Scholar 

  15. 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)

    Chapter  Google Scholar 

  16. Cooper, K.D., Harvey, T.J., Torczon, L.: How to build an interference graph. Software – Practice and Experience 28(4), 425–444 (1988)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics