• 沒有找到結果。

Chapter 4 Analysis

4.2 Bit rate Analysis

Bit rate is an important character to estimate the performance of stealth of watermark algorithm.

The definition which is given mostly is the ratio of code size of watermark to watermarked program.

However, we can find that bit rate is affected by factor such as programming language, syntax of programming language…etc. Different kinds of algorithms which are used to construct the encoded graph will make bit rate have different result in comparison with other graph encoding algorithm.

We want to focus on constructing the encoded graph and neglect the difference in implement, the definition is given below: The ratio of number of bits encoded by adding edges to the total size of watermarked graph. With the definition of bit rate, we will analyze each graph encoding algorithm respectively.

Given a watermark MB contains n bits and graph is constructed by nodes and edges. The number of byte of graph,B=Sn×Nn +Se×Ne, where Nn and Ne are number of node and edge respectively, Sn

and Se are size of node and edge respectively. The number of byte of watermarked graph isB′=Sn×Nn +Se×Neand N′e is the number of edge after watermark being embedded. According to definition, bit rate is defined as

(

B′−B

)

B′.

Adding Edge Encoding (QP Algorithm) and Color Encoding:

It is not easy to calculate the correct value, estimation the bit rate of the common case instead.

When the number of node Nn = N, the increasing number of edge is estimated asNe′ −Ne =N −1. Based on the assumption that there will be no existed edge before embedding phase, bit rate is

(

B′−B

)

B′=

(

N −1

)

Se

(

NSn +

(

N −1

)

Se

)

.

Link Encoding and LC Encoding:

When the number of node Nn = N, the increasing number of edge isNeNe =N −2. Bit rate will

It is also not easy to calculate the correct value of bit rate. When the number of node Nn = N, the increasing number of edge is estimated as Ne′ −Ne =N −1 and bit rate is

(

B′−B

)

B′=

(

N −1

)

Se

(

NSn +

(

N −1

)

Se

)

.

4.3 Summary

We analyze the characteristics of our graph encoding algorithms. The performance in error detection and robust is better than QP and QPS algorithm. The bit rate of each graph encoding algorithm is described in section 4.3. We will give a further discussion in next chapter.

Chapter 5

Comparison

5.1 Framework Characteristic

We adapt and modify the Graph Theoretic Approach which is illustrated in section 2.1. The differences between these two frameworks are the secret key and random walk in merging step.

There are three secret key for partition the graph in clustering step, choose the next node in merging step and encrypt the extracted value in recovery step respectively. In our proposed framework, we use only one secret key to segment the message into fragmental message and hence the segment of subgraph will be decided. The second difference is the random walk for merging watermark and graph. We embed each ordered fragmental message into each ordered subgraph respectively instead of using random seed to decide the next node.

Random seed Graph/message

5.2 Bit rate of Software Watermark Algorithms

As we discuss in section 4.3, bit rate of each graph encoding is analyzed, and furthermore, we will give an example for illustrating the comparison. Given an integer as watermark

2

(

B′−B

)

B′=

(

N −1

)

Se

(

NSn +

(

N−1

)

Se

) (

= N −1

) ( (

k+1

)

N −1

)

. Let N=15 from the bit number is

According the definition, we know that ability of resilience is in inverse proportion to bit rate. In Table 2, by applying different k, we will find that the difference between each algorithm in bit rate isn’t affected. In the same situation, Radix encoding and Permutation encoding algorithms have the better performance in bit rate than LE and LCE algorithm, and QP/QPS and PP tree algorithms have worse performance in bit rate. From the information in table, we can find that “list-based”

algorithms have better performance than “graph-based” algorithms.

k = 2 k = 3 k = 4

Radix 0.225 0.180 0.149

Permutation 0.228 0.182 0.151

PP trees 0.319 0.238 0.190

QP / QPS 0.318 0.238 0.189

Link Encoding 0.304 0.225 0.179

Color Encoding 0.304 0.225 0.179

LCE 0.280 0.205 0.163 Table 2: Bit rate of Graph Encoding Algorithm

5.3 Characteristic of Software Watermark Algorithms

stealth Flexible path

selecting

Error Detection

Radix Good No No

Permutation Good No Yes

PP trees Bad No No

QP Bad No Yes QPS Bad No No

Link Encoding Fair Yes Yes

Color Encoding Fair Yes No

LCE Fair Yes Yes Table 3: Comparison of Graph Encoding Algorithm

We compare each graph encoding algorithm with bit rate, flexible path selecting and the ability of single error detection. It is obvious that Radix have higher bit rate but with worst performance in robust and flexibility. LCE and LE will be ideal algorithm if we want have requirement of stealth, flexibility and robust.

5.4 Summary

In this chapter, we analyze the difference between proposed and related framework. The detail characteristic of each algorithm is also describes in Table 5.3.

Chapter 6

Conclusion

In this paper, we modify and build a flexible software watermarking framework which can adopt graph theoretical encoding algorithms. In this framework, watermark and program will be parsed into graph and merged with graph-based encoding algorithms. The hidden message with graph encodings is harder to be detected and attacked by adversaries. Program with different graph encoded watermark will have different performance in resilience and robust. QP and QPS algorithms have neither credibility nor resilience and robust. Although CT algorithm have high robust, embedding and recognition in execution time is hard and time-consuming to be constructed with non-Java language. Based on these algorithms, we design and modify three kinds of algorithms can improve resilience and robust respectively by link-type structure and application of color.

Besides, proposed path analysis is an important analysis for selecting the longest embedding path and searching and analyzing the correct path. With path analysis, the watermark can be easier to be constructed and extracted, and the information of start and rest vertices can output instead of the whole information of original graph. Decrement of storage will improve the convenience and practicability for mobile code system.

Chapter 7

Future Work

We believe that proposed framework and graph encoding algorithms have improvement in stealth and robust. The framework can adopt not only our proposed but also other kinds of graph encoding algorithms, such as QP and QPS. Three kinds of graph encoding algorithms still have another kind of method to modify the integer of watermark into a shorter message in bit stream. If the message is shorter, the performance of stealth and resilience can be better. Encoding algorithm will be improved with robust is carried into effect. Implement is also an important work that we should achieve for verify the characteristics of each algorithm and make more improvements.

Reference

[1] Robert L. Davidson. and Nathan Myhrvold. “Method and system for generating and auditing a signature for a computer program,” US Patent 5,559,884, September 1996. Assignee: Microsoft Corporation.

[2] Gang Qu and Miodrag Potkonjak. “Hiding Signatures in Graph Coloring Solutions,” In CA90095. USA. 1999

[3] Ginger Myles. and Christian Collberg. “Software Watermarking Through Register Allocation:

Implementation, Analysis, and Attack,” ICISC 2003, LNCS 2971, pp. 274–293, 2004.

[4] C. Collberg and C. Thomborson. “Software watermarking: Models and dynamic embeddings,” In POPL’99, Jan. 1999.

[5] Ramarathnam Venkatesan. Vijay Vazirani. Saurabh Sinha. “A Graph Theoretic Approach to Software Watermarking,” In 4th International Information Hiding Workshop, Pittsbutgh, PA, April 2001.

[6] Lin Yuan, Gang Qu, Ankur Srivastava. “VLSI CAD tool protection by birthmarking design solutions,” In Great Lakes Symposium on VLSI, Proceedings of the 15th ACM Great Lakes symposium on VLSI table of contents, Chicago, Illinois, USA, Pages: 341 - 344, 2005

[7] Christian Collberg, Edward Carter, Stephen Kobourov, and Clark Thomborson. Error-correcting graphs. Workshop on Graphs in Computer Science (WG’2003), June 2003.

[8] Christian Collberg, Clark Thomborson, and Douglas Low. Manufacturing cheap, resilient, and stralthy opaque construct. In Principles of Programming Languages 1998,

[9] Fabien A.P. Peticolas, Ross J. Anderson, and Markus G. Kuhn. Attacks on copyright marking systems. In Second Workshop On Information Hinding, Portland, Oregen, April 1998.

[10] Tapas Sahoo and Christian Collberg. Software Watermark in the frequency domain:

Implementation. Analysis, and attacks. Technical Report TR04-07, Department of Computer Science, University of Arizona, March 2004.

[11] Ginger Myles, Christian Collberg. “K-gram based software birthmarks,” In Symposium on Applied Computing, Proceedings of the 2005 ACM symposium on Applied computing, Santa Fe, New Mexico, Pages 314 - 318, 2005

[12] H. Berghel and L. O’Gorman. “Protecting ownership rights through digital watermarking,”

IRRR computer, 29(7):101-103, 1996.

[13] Christian Collberg, Clark Thomborson, and Douglas Low. “A taxonomy of obfuscating transformations,” Technical Report 148, Department of Computer Science, UNerversity of Auckland, July 1997.

[14] Takeshi Kakimoto, Akito Monden, Yasutaka Kamei, Haruaki Tamada, Masateru Tsunoda, Ken-ichi Matsumoto. “MSR-challenge report: Using software birthmarks to identify similar classes and major functionalities ,” Proceedings of the 2006 international workshop on Mining software repositories MSR '06

[15] David Nagy-Fraksa. The easter egg archive. http://www.eeggs.com/lr.html, 1998.

[16] D. Aucsmith, “Tamper Resistant Software: An Implementation,” Information Hiding, First Int’l Workshop, R.J. Anderson, ed., pp.317-333, May 1996.

[17] F. Hohl, “A Framework to Protect Mobile Agents by Using Reference Status,” Proc. 20th Int’l Conf. Distributed Computing Systems, pp. 410-417, 2000.

[18] Yan Zhu, Wei Zou, and Xinshan Zhu. “Collusion Secure Convolutional Fingerprinting Information Codes,” In ASIACCS’ 06, Taipei, Taiwan, March 21-24, 2006.

[19] Sam Michiels, Kristof Verslype, Wouter Joosen, Bart De Decker. “Software issues: Towards a software architecture for DRM,” In Proceedings of the 5th ACM workshop on Digital rights management DRM '05..

[20] Gaurav Gupta, Jasef Pieprzyk, Huaxiong Wang. “An Attack-Localizing Watermarking Scheme for Natural Language Document,” In ASIACCS’ 06, Taipei, Taiwan, March 21-24, 2006.

[21] Soo-Chang Pei, Yi-Chong Zeng. “Tamper Proofing and Attack Identification of Corrupted Image by using Semi-fragile Multiple-watermarking Algorithm,” In ASIACCS’ 06, Taipei, Taiwan, March 21-24, 2006.

[22] Gross Yellen. “Graph Theory and its Application,” 1999.

[23] Ingemar J. Cox, Matthew L. Miller, Jeffrey A. Bloom. “Digital Watermarking,” 2002.

[24] Lowell W. Beineke, Robin J. Wilson. “Graph Connections,” 1997

相關文件