Free Essay

Watermarking

In:

Submitted By ratikag
Words 4625
Pages 19
The 24th Computer Software and Applications Conference (compsac2000), Taipei, Taiwan, Oct. 2000.

A Practical Method for Watermarking Java Programs
Akito Monden
Graduate School of
Information Science,
Nara Institute of Science and
Technology
akito-m@is.aist-nara.ac.jp

Hajimu Iida
Information Technology
Center,
Nara Institute of Science and
Technology
iida@is.aist-nara.ac.jp

Ken-ichi Matsumoto
Graduate School of
Information Science,
Nara Institute of Science and
Technology
matumoto@is.aist-nara.ac.jp

Katsuro Inoue
Graduate School of Engineering and Science,
Osaka University inoue@ics.es.osaka-u.ac.jp Koji Torii
Nara Institute of Science and Technology torii@is.aist-nara.ac.jp Abstract

viewers[6][22]. As shown in figure 1, class viewers expose the internals of a class file, displaying class structure (fields and methods), thus, program users may know how to use that class file without asking to the original programmer. To make matters worse, program users can obtain source codes of a class file by using Java decompilers[15], such as SourceAgain[2], Jad[14],
Mocha[24], etc. In this situation, the Java program developer’s intellectual property will be infringed if a program user steals anyone else’s class file and builds it into his/her own program without the original programmer's permission. We call this copyright infringement a program theft, which is one of the reasons why many companies hesitate to use Java in the real software development. Although we have copyright law to prohibit the program theft, it is still very important for us to protect our Java program by ourselves [3].
This paper proposes a technique that discourages program theft by embedding Java programs with a digital watermark. Embedding a program developer's copyright notation as a watermark into Java class files will ensure the legal ownership of each class file. Below we describe major features of our watermarking method:

Java programs distributed through Internet are now suffering from program theft. It is because Java programs can be easily decomposed into reusable class files and even decompiled into source code by program users. In this paper we propose a practical method that discourages program theft by embedding Java programs with a digital watermark. Embedding a program developer’s copyright notation as a watermark in Java class files will ensure the legal ownership of class files.
Our embedding method is indiscernible by program users, yet enables us to identify an illegal program that contains stolen class files. The result of the experiment to evaluate our method showed most of the watermarks (20 out of 23) embedded in class files survived two kinds of attacks that attempt to erase watermarks: an obfuscactor attack, and a decompile-recompile attack.

1. Introduction
Java technology is widely regarded as revolutionary by means of its portability: an idea that the same program should run on many different kinds of computers and electric devices. Java enables us to let computers and devices communicate with one another much more easily than ever before.
However, this revolutionary property of Java brought us a security problem against program theft[18]. Java applets put on Internet sites and Java applications sold to users are now suffering from program theft. It is because the Java program can be easily decomposed into reusable components (called class files), and analyzed with class

Classfile

.......
.......
.......
.......
.......
.......
.......
.......
Executable
Java program

public class MouseTrack extends ….MouseMotionListener { int mx; int my; public MouseTrack(); public java.lang.String getAppletInfo(); public void init(); public void keyDown(int); public void mouseClicked(java.awt.event.MouseEvent); public void mouseDragged(java.awt.event.MouseEvent);
…….
}

Figure 1. Class information obtained by class viewer 1. Watermarks in Java program do not reduce the execution efficiency.
2. Watermarks in Java program is exposed only when original program developer uses the watermarkdecoding tool.
3. Program users can hardly know the location of watermark, thus, erasing and/or tampering with the watermark is very hard for them.
4. Even in case only a part of a program was stolen and was built into other program, the watermark is easily decoded wherever it may exist in that program.
5. Most of the watermarks embedded in class files survive two kinds of attacks that attempt to erase watermarks: an obfuscactor attack, and a decompilerecompile attack.
The remainder of the paper first describes cases where watermark is needed (Section 2). Next, describes related works concerning the program theft, and also introduces some present watermarking techniques for computer programs (Section 3). Then we propose a watermarking method for Java programs including the watermark encoding procedure and the decoding procedure (Section
4). Afterwards, we describe an experiment to evaluate our method (Section 5); and in the end, conclusions and future topics will be shown (Section 6).

2. Cases where watermark is needed
2.1 Proving the fact of program theft
Even in case a suspicious program was found, it is often not easy to say who is the true developer of that program.
A program thief who stole anyone else’s class file may insist, “I have originally developed this program.” In this case, we need a proof to explode the thief’s claim.
For that situation, a signature previously embedded in the program as a watermark authenticates original program developer’s ownership and protects the proprietary interests. The watermark in the program has an effect of proving the fact of program theft. Decoding the watermark from a suspicious program will clarify, who is the original developer of that program.

2.2 Finding Stolen Programs
It is not easy for Java program developers to find an illegal program that contains stolen class files. For example, we may not be able to find out whether it is an illegal program or not by executing the program, because illegal programs often do not resemble original programs in their specifications if the stolen piece is small. This difficulty in finding the illegal program is a crucial problem for Java program developers.

However, we claim that watermark is effective to find the illegal program especially in Internet situation. Illegal programs may be easily detected by employing a watermark-decoding agent (robot) that investigates through Internet. This agent goes through Internet and finds any Java program, then checks the watermark in it. If that program turned out to be an illegal program that contains a watermark of an original program developer, the agent will inform it to the developer. By using such an agent, program developers can automatically find the illegal program on Internet, thus they can protect their programs from program thieves.

3. Related works
3.1 Current solutions for program theft
There are two current solutions for program theft: (1) using NET (native executable translation) compilers, and
(2) using obfuscators. Both of these solutions make Java programs difficult to be analyzed, and discourages program thieves in using someone else’s class file.
In the first solution, we use NET compilers, such as
Symantec Visual Café, Microsoft Visual J++, Asymetrix
SuperCede, etc. While common Java compilers compile
Java source code into class file, these NET compilers compile source code into machine-specific binary code, which is not reusable. This means, when we use NET compilers, there will be no class file to be stolen. However, this will render the Java program nonportable. An executable code created by NET compiler runs only on the specific computer environment, such as Microsoft
Windows. Therefore, this solution is not always useful for software developers.
In the second solution, we use obfuscators – tools that scramble the variable and method names so that decompiled source code is unintelligible gibberish[20].
There are many obfuscators available such as SourceGuard[1], Jshrink[10], DashO[21], etc. To some extent, it is effective to protect Java programs from program thieves by using those obfuscators. However, obfuscated or not, the resultant decompiled code is still source code, which helps thieves to understand the usage of that program.
Although above two solutions have an effect of discouraging the program theft, they are not enough strong for the protection of Java programs.

3.2 Digital Certificate for Java Applet
Java security model provides us an authentication mechanism known as a concept of signed applet[16][23].
A sign (called digital certificate) related with an applet indicates, who is the true developer of that applet, just like a watermark does. A user who has downloaded a signed

watermark
………
………
……
………
………

Original Java source program

………

Dummy method injection 110110

………

Compilation
……

0011010
1011100

0011010
1011100

0101001

011011

Watermark injection 0101001

Java
Java
Java source program classfile classfile
Dummy method
Figure 2. Overview of watermark encoding procedure

applet can know whether it is worthy reliable or not by checking the sign. The sign also guarantees that the applet is an original one, and has never been tampered with by anyone else.
However, this signed applet does not make any sense for the purpose of protecting class files contained in the applet. It is because the sign is not embedded in the class files, i.e., separated from the class files. The sign is just an encrypted file that can be correctly decrypted only when the applet is an original one. In order to protect a class file, the sign should be embedded in the class file, and never be separated from the class file.

3.3 Other Watermarking methods for computer programs There were many studies done for watermarking images, sounds, texts, etc [4][7]. On the other hand, a few methods for watermarking computer programs have been proposed
[5][8][11][13].
Hirose et al. proposed a method for embedding C source programs with user identification number[11]. In their method, one single change in the target program represents one bit information. This change in the program includes addition of dummy variables, rearrangement of variable declaration statements, changes in coding style (such as ‘n=n+1’ to ‘n++’), and so on. In the decoding phase, the original program and the marked program are compared so that the changes in the program will be identified. However, watermark in the program is undecodable if only a part of the program was stolen.
Moreover, if program thieves applied the same method to the already watermarked program, original watermark will be easily erased.
Kitagawa also proposed a method for watermarking
Java programs[13]. In this method, new variables are appended to a program; and, watermark codewords
(values) are set to those variables. In decoding phase, program developers need to replace a specific class file in the program with a special class file (called detection class file), and execute the program. This detection class

file outputs the values of the variable in which watermark was embedded. However, this method is not useful from the purpose of defending class files from program thieves.
Because, when we want to check whether a target program contains a stolen program or not, we must find out which class file is to be replaced with the detection class file. If we couldn’t find the class file that should be replaced, or simply there is no class file that should be replaced, we can not decode the watermark even if a watermark exists in the target program. It is natural that program developers want to easily check whether a target program contains a stolen program or not. From this viewpoint, watermarks should be automatically decodable from a target program by using a decoding tool. Also, we insist that watermarks should survive various program translations. Program thieves may disassemble and re-assemble the program, decompile and re-compile the program, optimize the program, or use other program translation tools such as obfuscator, scrambler, etc[15]. Watermarks should be reliably decodable even after these program transformations were applied.
Collberg and Thomborson proposed a software watermarking technique in which a dynamic watermark is stored in the execution state of a program[5]. Dynamic watermarks are stored in a program’s execution state, rather than in the program code itself. Their method is easy to tamperproof against various program transformations. However, they watermark complete applications, not individual modules (such as class files).
Hence, cropping a particularly valuable class file from a
Java application for illegal reuse is likely to be a successful attack against this method.
Davidson and Myhrvold proposed a method for generating and auditing a signature for executable program modules[8]. A signature is a means that uniquely identifies an authorized copy of the executable module delivered to each user. The signature (identification number) of each authorized copy is encoded within the order of instructions of the executable module. However, this method is not suitable for watermarking a sentence, such as a copyright notification, into each Java class file

because encodable codeword in this method is quite short.
This method is also highly susceptible to additive attack: inserting a new watermark overrides original mark so that it can no longer be extracted.

(Phase 2) Compilation
In the second phase, the Java source program, in which dummy method was injected, is compiled with a Java compiler. We use common Java compiler for this compilation. 4. Watermarking method
4.1 Encoding procedure
Our watermark encoding procedure consists of the following three phases (see Figure 2):
(Phase 1) Dummy method injection
In the first phase of watermarking, a dummy method (of a class), which will never be executed, is appended to a target Java source program. This dummy method is a space for watermark codeword. This dummy method should have enough size for watermark injection.
Next thing we should do is to append a dummy method invocation to the source program. Below we show an example of the invocation statement: if (Condition) Dummy_Method();
‘Condition’ is an expression that will never become true.
So, actually, dummy method is never invoked. If this expression (formula) is complex enough, it is difficult for program users to become aware of the dummy method[12].
Since large programs originally contain many methods that are rarely executed, it is not easy for program users to locate the dummy method.
Although this phase can be automated, the developer of a class file should manually inject a dummy method and its dummy invocation statement by his/her hand. Since program thieves might decompile and read the class file, the developer should carefully write a dummy method that does not seem to be a dummy. This is why we inject a dummy method into the source program, not in the compiled class file. However, if the developer does not care about the possibility of decompilation, or he/she just prefers easy watermarking, he/she may use an automatic dummy method injection rather than a manual injection.

(Phase 3) Watermark injection
In this phase, we need to take account of the bytecode verifier[17]. As shown in figure 3, when we execute a
Java applet, bytecode verifier checks the syntactical rightness and type consistency of the class file. If we simply overwrite a bit sequence into the dummy method, we will not be able to execute the program because it will not pass the check of bytecode verifier. Therefore, watermark injection should keep the syntactical correctness and type consistency.
In order to keep the syntactical correctness and type consistency, we use following two approaches:
(i) Overwriting numerical operands
One simple way to keep syntactical correctness is to limit the place to overwrite. A numerical operand of an opcode that pushes a value to the stack, and of an opcode that increases a value on a stack, can be overwritten without syntactical incorrectness and type inconsistency.
For example, an operand ‘xx’ of the opcode ‘iinc xx’ and
‘bipush xx’ can be overwritten into any single byte. Figure
4 shows an example of numerical operands that can be overwritten. Please note that overwriting the numerical operand does not change the specification of a class file because operands to be overwritten are in the dummy method, which will never be executed.
However, most of other operands that indicate a
001101
001101
101110
101110
1101101
0101001
0101001
Java classfile

Address Instruction

1000
1001
1004
1007
100B

Mnemonic

03 iconst 0
84 01 21 23 0 iinc 01 21
1C 10 01 iload 2
10 90 00 01 bipush 90
80
ior
Can be overwritten into any
1 byte(8bits).

Figure 4. Overwriting numerical operands
....…
....…
......…
......…

....…
....…
......…
......…

Dummy method ………..

........
........

Watermark injection Java classfile

Can be replaced into 02, 04 or 05.

Bytecode verifier execution

........
........
Java classfile

010010000110010000110….
010010000110010000110….
WatermarkÁbit sequenceÂ

001101
001101
101110
101110
1101101

Syntax checking
Type checking
JVM(Java Virtual Machine)

Figure 3. Consideration in the watermark injection phase 0101001
0101001
Java classfile

Address Instruction

1000
1001
1004
1007
100B

Mnemonic

03 iconst 0
84 01 21 23 0 iinc 01 21
1C 10 01 iload 2
10 90 00 01 bipush 90
60
iadd

Can be replaced into 64, 68, 6C, 70, 7E, 80 or 82.

Figure 5. Replacing opcodes

Instruction assigned bits

Instruction assigned bits

60 iadd
64 isub
68 imul
6C idiv
70 irem
7E iand
80 ior
82 ixor

9B iflt
9C ifge
9D ifgt
9E ifle










000
001
010
011
100
101
110
111

Rule 1






00
01
10
11

Rule 2

Java classfile

…0
C6 inull
C7 inonnull … 1

Watermark derived from method 4.

Figure 8. Example of decoded watermark

Rule 3

(C) AKITO MONDEN
(C) AKITO MONDEN
Watermark (character sequence)

1101101
0101001
0101001

Address

1000
1001
1004
1007
100B

Decoding

method1: S(LSK HJU5S A7G AKDS … method2: AOP)JSEW SAGFI IA4SS … method3: U2W ERRES SAFG ASIGS … method4: (C) AKITO MONDEN 1999 … method5: BN SJGD15KSS OQPSISN … method6: UI(ET UIERT method7: Q1ETE AUST)U IOXZZ ...

Instruction assigned bits

Figure 6. Example of bit assignment rules for opcodes 001101
001101
101110
101110

………..
……..
……….
……….
…..
……….

Instruction

010010000110010000110….
010010000110010000110….
Watermark (bit sequence)
Mnemonic

03 iconst 0
84 01 21 20 iinc 01 21
1C 10 01 iload 2
10 90 00 0 bipush 90
80
ior

Watermark

01
00100001
10010000
110

Java classfile

Figure 7. Example of encoded watermark position or an index of class tables or local variables of a method cannot be overwritten because of violating syntactical correctness. For example, an operand such as
‘getfield xx’ and ‘putfield xx’ cannot be overwritten. This limitation in operands drastically reduces the place that can be overwritten.
(ii) Replacing opcodes
In order to increase the place for watermark injection, we replace some of the opcodes, such as iadd, ifnull, and iflt, into other kind of opcode. For example, an opcode replacement from iadd to isub does not violate syntactical correctness and type consistency. Moreover, the opcode iadd can be replaced to anything among isub, imul, idiv, irem, iand, ior, and ixor. This indicates that above eight opcodes iadd, isub, ..., and ixor can be replaced mutually.
By using this ability of mutual replacement, we can encode 3 bits information into these opcodes. For example, we may assign 0002 to add, 0012 to isub, 0102 to imul, ..., and 1112 to ixor. Whichever the above opcode appeared in the dummy method, we will replace them into one of the above eight opcodes according to the bits we want to encode. Figure 5 shows an example of opecodes that can be replaced mutually. Such a bit assignment and an

opcode replacement can be also applied in other opcodes.
Figure 6 shows an example of bit assignment rules for opcodes. In case we want to encode a sentence, such as ‘(C)
AKITO MONDEN’, first we need to translate the sentence into a bit sequence, then we encode the bit sequence into the program. Figure 7 shows an example of watermark encoding.

4.2 Decoding Procedure
In the watermark-decoding phase, there is an assumption that we know the relation between bytecodes and their assigned bits, and also the relation between bit sequences and alphabets. The decoding algorithm is very simple. We simply do the exactly opposite procedure of watermark injection procedure, from top of every method,
i.e., we replace operands and opcodes in each method into bit sequence followed by bit assignment rules, then replace bit sequence into character sequence. After that, watermark will appear from the dummy method (Figure 8).
This decoding procedure can be automated, so that even in case only a part of a program was stolen and was built into other program, the watermark is easily decoded wherever it may exist in the program.

5. Experiment
In this section, we are to evaluate the strength of watermarks against program translation attacks that attempt to erase the watermark. We assume that program thieves use two kinds of attacks, (1) obfuscator attack, and
(2) decompile-recompile attack (Figure 9). In the experiment, we try to decode the watermark after those two attacks were applied. Both the watermark encoding tool and the decoding tool we have developed are open in our web site [19].

(1) Obfuscator attack
.......
.......
.........
.........

Translation by obfuscator

Classfile with watermark

.......
.......
.........
.........
Classfile

.......
.......
.......
.......
.......
.........
.........
.........
.........
.........

(2) decompile-recompile attack
.......
.......
.........
.........

Decompile

Classfile with watermark

.......
.......
.........
.........

Decompile

Classfiles with watermark

Recompile

Source code

.......
.......
.........
.........

Watermark decoding Classfile

Decompile-recompile succeeded
5 classfiles
8 watermarks

10 classfiles
23 watermarks

Watermark decoding .......
.......
.......
.........
.........
.........
Source code

Decompile failed
5 classfiles
15 watermarks

Recompile

.......
.......
.........
.........

Watermark decoding Classfiles

3 watermarks are decoded incorrectly. Figure 10. Result of decompile-recompile attack

Figure 9. Two kinds of attacks in the experiment

5.1 Experiment Procedure
(Step 1) Preparing the Java source code
We randomly chose 10 source files from sample Java applets in JDK 1.2. The number of methods that have enough size for the watermark injection was 23 in sum total. Here, we assumed these 23 methods are the dummy methods. (Step 2) Encoding the watermark
We injected a character sequence ‘(C) AKITO
MONDEN’ into each 23 dummy methods. Then, we compiled all source files and got 10 class files in which watermarks are injected.
(Step 3) Attacking the class files
Two kinds of attacks as follows were applied to each 10 class files:
(i) Obfuscator attack
We applied the 4thpass’s SourceGuard version 2.0[1], that is widely used as one of the strong obfuscators, to each class file.
(ii) Decompile-recompile attack
We applied Hanpeter van Vliet’s Mocha[24], the first and most widely known decompiler, to each class file, and got the source codes of them. As compared among mocha and other decompilers in the Dave Dyer’s article[9],
Mocha shows pretty good performance in decompilation.
Then, we applied javac, a common compiler in JDK, to each source code, and got the class files again. In this compilation, we used optimization option.
(step 4) Decoding the watermark
Watermark-decoding procedure was applied to each classfile after the attacks.

5.2 Result of experiment
(i) Result of obfuscator attack
After applying the obfuscator, we tried to decode watermarks. Consequently, all watermarks were decoded correctly. Generally, obfuscators translate symbols such as

variable name and method name, but they do not affect operands and opcodes in the method.
(ii) Result of decompile-recompile attack
Figure 10 shows the result of decompile-recompile attack. We have 10 class files and 23 watermarks in them at first. When we tried to decompile them, 5 classfiles were failed in decompiling (decompiler crushed), i.e., we got only 5 source files. Next, we recompiled them. The syntax errors occurred in recompilation were fixed manually. We finally obtained 5 classfiles with 8 watermarks in them. Then, we applied decoding procedure to these 5 classfiles. As a result, 3 watermarks are decoded incorrectly. So, the number of watermarks erased by decompile-recompile attack was 3 out of 23.
The result showed that the decompile-recompile attack does not always succeed; and, even if it was succeeded, more than half of the watermarks (5 out of 8) was not erased. By injecting more than two watermarks into each class file, we will be able to protect our class files from decompile-recompile attack.
In addition, class files that are succeeded in decompiling were of small size. This indicates that the decompiler is not practical for the large class file.

6. Conclusions and future topics
We have described the problem of program theft in current Java environment, and have proposed a watermarking method applicable to Java programs. Our method is practical in protecting Java class files and superior to conventional methods because:
(1) A copyright notification message can be encoded into each class file as a watermark to protect each of class file. On the other hand, Kitagawa’s method[13] and
Collberg and Thomborson’s method[5] watermark complete applications.
(2) Program thieves can not erase the watermark by additive attacks that insert new bogus watermarks into an already watermarked program, while Davidson and
Nyhrvold’s method[5] is not.
(3) Most of watermarks (20 out of 23) encoded into class files survived two kinds of attacks that attempt to erase

watermarks: an obfuscactor attack, and a decompilerecompile attack, while conventional method of Hirose et al.[11] is highly susceptible to these kind of attacks.
(4) Anyone can use our watermarking tool. Both encoding and decoding a watermark is easily done by using tools that we have released in our web site[19]. In addition, the encoded watermark is decodable , from the suspicious program wherever the stolen class file was built in.
However, none of the watermarking methods, including our methods, are immune to all types of attacks. Our method is resilient against additive attack, obfuscator attack and decompile-recompile attack, but, there may be more strong transformation attacks. In the future, in order to make watermarks more tamper-resistant, we are to apply error correcting code to our watermarking method.

Acknowledgments
The authors wish to acknowledge helpful suggestions from Dr. Yuuji Ichisugi of Electrotechnical Laboratory.

References
[1] 4thpass LLC, SourceGuard, .
[2] Ahpah Software, SourceAgain, .
[3] Behrens, B. C. and Levary, R. R., “Practical legal aspects of software reverse engineering,” Communications of the ACM, vol. 41, no. 2, Feb. 1998, pp.
27-29.
[4] Berghel, H., “Watermarking cyberspace,” Communications of the ACM, vol. 40, no. 11, 1997, pp. 19-24.
[5] Collberg, C. and Thomborson, C., “Software watermarking: Model and dynamic embeddings,” The 26th
ACM SIGPLAN-SIGACT Symposium on Principles of
Programming Languages (POPL’99), San Antonio, Texas,
Jan. 1999.
[6] Comware Australia Pty. Ltd., ClassNavigator,
.
[7] Craver, S., Memon, N., Yeo, B. and Yeung, M. M.,
“Resolving
rightful ownerships with invisible watermarking techniques: Limitations, attacks, and implications,” IEEE Journal on Selected Areas in
Communications, vol. 16, no. 4, 1998, pp. 573-586.
[8] Davidson, R. L. and Myhrvold N., “Method and system for generating and auditing a signature for a

computer program,” US Patent, no. 5559884, Assignee:
Microsoft Corporation, Sep. 1996,
[9] Dyer, D., “Java decompilers compared,” in article of
JavaWorld, July 1997, .
[10] Eastridge Technology, Jshrink, .
[11] Hirose, N., Okamoto, E., Mambo, M., “A proposal for software protection,” in Proc. 1998 Symposium on
Cryptography and Information Security, SCIS’98-9.2.C,
Jan. 1998. (in Japanese)
[12] Ichisugi, Y., “Watermark for software and its insertion, attacking, evaluation and implementation methods,” Summer Symposium on Programming, IPSJ,
July 1997, pp. 57-64. (in Japanese)
[13] Kitagawa, T. “Digitalwatermarking method for Java programs,” Master’s Thesis, Department of Information
Processing, Graduate School of Information Science,
Nara Institute of Science and Technology, NAIST-ISMT9751041, Feb. 1999. (in Japanese)
[14] Kouznetsov, P., Jad – the fast Java Decompier,
.
[15] Leininger, K.E., The Java developer’s tool kit,
McGraw-Hill, 1997
[16] McGraw, G. and Felten E., Java security: hostile applets, holes, and antidotes, John Wiley & Sons, 1997.
[17] Meyer, J. and Downing, T., Java virtual machine,
O’Reilly & Associates, 1997.
[18] Monden, A., Hajimu, I., Matsumoto, K., Katsuro, I. and Torii, K., “Watermarking Java programs,” in Proc. 4th
International Symposium on Future Software Technology
(ISFST’99), Software Engineers Association, Nanjing,
China, Oct. 1999, pp. 119-124.
[19] Monden, A., Java watermarking tools, .
[20] Nolan, G., “Decompile once, run anywhere: protecting your Java source,” Web Techniques Magazine, vol. 2, Issue 9, Sep. 1997.
[21] preEmptive Solutions, DashO, .
[22] Raud, R., ClassViewer, .
[23] Sun Microsystems, Inc., “Security and signed applet,” .
[24] Vliet, H., Mocha – the Java Decompiler,
.

Similar Documents

Free Essay

Watermarking: Legalities of Digital Media

...Watermarking: Legalities of Digital Media Derrick Harper Course name and number Instructor name Outline I. Introduction II. History III. The Basics of Watermarking IV. Watermarking Applications V. A Simple Watermark: Patchwork VI. Current Work in Watermarking VII. Conclusion VIII. Works Cited Introduction It's no news to anyone that's reading this that the meteoric rise of the Internet in recent years has significantly increased the availability of all forms of media. Nowhere is this more obvious than in the realm of commercial musical recordings, where Napster and other internet-based distribution systems have made incredible volumes of musical content widely available, all without the consent of the music's originators. This situation, though, is not unique to the music industry, as photographers, filmmakers, and other content-originators all have the same problem to varying degrees. The solution, and even the need for a solution, to this problem of copyright infringement is still a topic that is open to great debate, but there is no debating the fact that some interesting and novel technology has been designed to help. Digital image watermarking, the practice of secretly embedding a piece of information in an image, is one of the more interesting of these technologies, and deserves some consideration. It is the purpose of this paper to give the reader an overview of watermarking and the diverse benefits that it offers. We begin with a brief...

Words: 3166 - Pages: 13

Premium Essay

Nt1310 Unit 5 Exercise 1

... To generate the watermark an input frame is scanned to compute the , which represents the 128-bit hash value MD5 cryptographic function. The watermark is nothing but the bits of digital signature of hash value and secretes key . In the initial stage we extract the frames from the video sequence. The watermark generation process shown in Fig. 2. is explained in following steps: 1. The hash value is initialized to some arbitrary fixed value. 2. The position of the Last Non Zero (LNZ) level for each block is stored so that it can be used while extracting the watermark. 3. The value of the JPEG quantization matrix corresponding to LNZ is set to 1 so that after embedding the watermark bit the pixel value vary by plus or minus 1 instead of plus or minus . This modification in quantizer value leads to less distortion in video signal. Fig. 2 Watermark Generation 4. The value of the JPEG quantization matrix corresponding to LNZ is set to 1 so that after embedding the watermark bit the pixel value vary by plus or minus 1 instead of plus or minus . This modification in quantizer value leads to less distortion in video signal. 5. Set the Least Significant Bit (LSB) of LNZ to zero. 6. Update the hash value by applying the hash function to its previous value and all the coefficients in block. 7. This process is repeated for all the blocks of video frame. After all blocks are scanned the Digital Signature Algorithm (DSA) is applied on the final hash value...

Words: 708 - Pages: 3

Free Essay

Areviewofwavelet

...A Review of Wavelet-domain Watermarking Techniques Mukul Salhotra, Shivam Maurya, Shashvat Jaiswal, Amit Kumar Singh Department of CS/ICT, Jaypee University of Information Technology Abstract--As networking continues to grow exponentially, the Intellectual Property Rights (IPR) can be obtained and reproduced easily. These threats create a high demand for a content protection technique such as digital watermarking; which is one of the most efficient ways to protect the digital properties in recent years. Image watermarking techniques are frequently applied in the transform and spatial domains to achieve desired secure and robust protection. This paper provides an overview of the wavelet-based watermarking techniques available for medical images until now. In this paper the major methods have been analyzed along with their advantages & disadvantages. Keywords: Discrete Wavelet Transform, Medical image watermarking, ROI, NROI, I. INTRODUCTION D igital watermarking has emerged as a research area that was originally focused on copyright protection. Also, it has been implemented in lot of domains, such as video, audio, image, and 3D graphic model. Despite the fact there are only a few medical oriented watermarking studies in the literature to date, digital watermarking will be a valuable tool for copyright protection with medical confidentiality protection, patient and examination-related information hiding, data integrity control and source identification, in Hospital Information...

Words: 3893 - Pages: 16

Free Essay

Digital Piracy

...Digital piracy is making up profit from illegal copying and reselling music, videos, software videogames and other digital media which requires genuine. In 2005, loses of legal media and software industry from digital piracy was $200 billion (DSTI/IND (2007). Also, Oberholzer-Gee (2010) indicates that 60% of World Wide Web broadband busy by consumers’ video, game and music sharing. To avoid this issue intellectual proprietors use various methods. In this paper is shown methods to dodge problem of digital piracy. There are two ways to protect legal digital content from piracy. Firstly, there is indirectly impact to society, where manufacturers are producing additional equipment like guitars for game “Guitar Hero” and forwarding special social services where people can play with each other via internet, so while people playing, system is checking license (Goel, 2010). In addition, companies perform free software with fewer options than paid software. Moreover, some organizations such as Free Software Association and Open Source agitation, which advert spreading software for free have helped to grapple with problem of expensive software and companies that gain from this, for example, Microsoft (Hill, 2007). Secondly, there is direct impact on users, where companies and internet providers use methods which impacts directly on users such as blocking peer-to-peer connections between users and web-sites where users can download pirated software. Furthermore, closing the sources of...

Words: 1577 - Pages: 7

Free Essay

Steganography

...International Journal of Computer Applications (0975 – 8887) Volume 9– No.7, November 2010 Steganography- A Data Hiding Technique Arvind Kumar Assistant Professor Vidya College of engineering, Meerut, India Km. Pooja Vankateshwara institute of computer Science and technology, Meerut, India ABSTRACT Steganography is the art of hiding information and an effort to conceal the existence of the embedded information. It serves as a better way of securing message than cryptography which only conceals the content of the message not the existence of the message. Original message is being hidden within a carrier such that the changes so occurred in the carrier are not observable. In this paper we will discuss how digital images can be used as a carrier to hide messages. This paper also analyses the performance of some of the steganography tools. Steganography is a useful tool that allows covert transmission of information over an over the communications channel. Combining secret image with the carrier image gives the hidden image. The hidden image is difficult to detect without retrieval. This paper will take an in-depth look at this technology by introducing the reader to various concepts of Steganography, a brief history of Steganography and a look at some of the Steganographic technique. In steganography, the possible cover carriers are innocent looking carriers (images, audio, video, text, or some other digitally representative code) which will hold the hidden information...

Words: 3246 - Pages: 13

Free Essay

Medical Images - Literature Review

...patients' sensitive medical records, it's always important how one also deals with medical images that should also be kept private. Health Insurance Portability and Accountability initiated on April 14, 2013 by the federal government, establishes all relevant standards to address the issue of privacy protection. The HIPAA requires for integrity and confidentiality in all of current, previous and future from hospitals, doctors, and other relevant professionals. In an era where digital technology has become of major importance, there is a series of medical images that can now be kept in digital format and become quite easy to retrieve, store and preserve. Watermarking – An Essential Aspect for the Protection of Medical Images A. Ethical reasons and relevant legislation define Medical Information Assurance & Watermarking Medical directions. USA's HIPAA and Europe's EC 95/46 Directive are the major legislations defining relevant directions. When dealing with medical information records, thus, which involve a series of clinical examinations, diagnoses, and EPR images, three major security attributes should be considered: • Confidentiality: only authorised users can view and evaluate medical information; • Availability: Scheduled accessing periods should be set when entering the information system containing the medical data; • Reliability: The information should be examined by authorised people and not changed by unauthorised ones. Additionally, it’s important for a...

Words: 2623 - Pages: 11

Premium Essay

Resum

...| A.I.S.S.E | Jawahar Navodaya Vidyalaya,Lepakshi | Central Board Of Secondary Education | 2005-2006 | 80.40 | Mini Project: Title: Wavelet Based Palmprint Authentication System Domain :Digital Signal Processing Software: Matlab Description: Palm print based personal verification has quickly entered the biometric family due to its ease of acquisition, high user acceptance and reliability. This project proposes a palm print based identification system using the textural information, employing different wavelet transforms.The transforms employed have been analyzed for their individual as well as combined performances at feature. Major Project: Title :A Robust Image Watermarking Using 2 Level...

Words: 484 - Pages: 2

Free Essay

Paper

...steganography? ● The art of hiding information inside information Since everyone can read, encoding text in neutral sentences is doubtfully effective What is steganography? ● The art of hiding information inside information Since everyone can read, encoding text in neutral sentences is doubtfully effective Since Everyone Can Read, Encoding Text In Neutral Sentences Is Doubtfully Effective  Secret inside What is steganography? What is it used for? ● ● ● Hiding the fact that you are sending messages Hiding several messages inside data Digital watermarking Kerckhoffs' principle ● ● Secure with knowlegde of the system Message can only be read with secret key What is steganography? Hiding several messages ● ● ● ● Deniable cryptography Knowledge of encrypted data No proof of how much information is stored Rubberhose (http://www.rubberhose.org) What is steganography? Digital watermarking ● ● ● ● Not really hiding information Important: not modificable Uses the hiding-property of steganography Recent: MPAA hides watermarks in movies Implementation Hiding information ● ● ● ● Text / Webpages Images Audio Video Implementation Text / Webpages ● ● ● ● ● Use of a codebook Layout of texts Every Nth character Use of whitespaces and newlines Can be difficult to detect and decode Implementation Text / Webpages In the midway of this our mortal life, I found me in a gloomy wood, astray Gone from the path direct: and e'en to tell...

Words: 681 - Pages: 3

Premium Essay

Teleputers

...Teleputers: Communication and Information New technology for communication is growing rapidly. Health care systems are taking advantage of new communications to make organizations more efficient, effective, and user friendly. These systems have superior advantages, but with the many advantages noted there are also disadvantages. The health care system has to decide if the financial impact of changing its system is beneficial in the long run. Because technology is always updating, incorporating a new communication system may only be useful for a short time. Immense growth in medical knowledge and technology spawned an era of specialization in which doctors focused on particular aspects of health called, ‘”specialization” (DuPre, p. 38). This paper will be discussing a new technology termed as “teleputers.” Teleputers are small mobile devices used as a computer, phone, and entertainment. In 1999 researches predicted that people would use teleputers to conduct research, play games, surf the internet, and transfer information (DuPre p. 321). Many people use smart phones. A smart phone is a mobile, hand held computer that is used as a phone, planner, clock, game and entertainment system, and much more. How is this important in health care communications? Health care systems sometimes have supportive groups to convey information through telephones and computers. These are virtual communities (Du Pre, p. 182). Having “teleputers” makes sharing information easier and more convenient...

Words: 901 - Pages: 4

Premium Essay

Cryptography

...History of Cryptography Developments in cryptography | Period | Development | 2000 BC | In Egypt, hieroglyphics were used in inscriptions. | 500-600 BC | Hebrews used the atbash method for encryption. In this method, each letter of the alphabet mapped to a different letter to hide the true meaning of a word. | 487 BC | The Spartans used the scytale for encryption – messages were written on paper wrapped around a wooden rod. The paper was then unwrapped and sent. The recipient could read the message only by wrapping this paper on a rod of the same length and diameter. | 100-44 BC | Julius Caesar used an encryption method similar to the atbash method. He shifted each letter of the alphabet by a fixed number of places to send encrypted messages. | 1379 | Gabrieli di Lavinde developed the nomenclator. | 1466-1467 | The first polyalphabetic cipher was invented, which was much stronger than the nomenclator. | 1518 | Johannes Trithemius invented a steganographic cipher in which each letter was represented as a word taken from a succession of columns. | 1553 | Giovan Batista Belaso introduced the use of a passphrase as the key for a repeated polyalphabetic cipher. In 1563, Giovanni Battista Porta introduced the digraphic cipher and classified ciphers as transposition, substitution, and symbol substitution. | 1585 | Blaise de Vigenere developed the polyalphabetic substitution cipher. William Frederick Friedman published a book on cryptography, and is known as the...

Words: 1015 - Pages: 5

Premium Essay

Research

...problems. The outcome should be a paper with original technical contribution. Your grade on this will be judged on originality, soundness of the approach, and quality of presentation.  * Example Topics: * Vulnerability Analysis * Wireless Security * Intrusion Detection  * Authentication * Access Control * Authorization * DNS Security * Digital Watermarking * New Attacks * Survey Paper * You can write a paper that surveys a particular field on information security. The outcome should be a paper that summarizes the trend in the field you have chosen. Your grade will be judged on the completeness of the survey, the quality of the trend analysis, and the quality of presentation. * Example topics: * Vulnerability Analysis * Wireless Security * Intrusion Detection  * Authentication * Access Control * Authorization * DNS Security * Digital Watermarking * Implementation * You can implement an existing technique, protocol, or system. The outcome should be a report that describes your implementation and a demo to the instructor and the TA. Your grade will...

Words: 1209 - Pages: 5

Premium Essay

Digital Fingerprinting

...DIGIT D TAL FIN NGERP PRINT TING A Proj report oject t Sub bmitted in the partial fulfilment of require t ement of the award of degree of f f BA ACHELOR OF TECHN NOLOGY IN ELE ECTRONICS AND COM CS MMUNICA TION ENGI GINEERING G ARJUN DEV A VGAN (B07 70279EC) CHALLA HIMANS SHU REDD (B070319 DY 9EC) NA ASREEN MOHSIN (B0 M 070495EC) SHYAM AS S SHISH (B07 70287EC) AJITH K G (B06007 79EC) Departm ment of El lectronics and Comm municatio Enginee on ering NATIONAL INIS STITUTE OF TECH HNOLOG CALICUT GY, Kozhikode, Kerala- 6736 K K 601, India Academic year 2010 0-2011 Department Of Electronics and Communication Engineering NATIONAL INSTITUTE OF TECHNOLOGY, CALICUT CERTIFICATE This is to certify that this project report entitled DIGITAL FINGERPRINTING is a bona fide record of the work done by final year students Arjun Devgan, Roll No. B070279EC, Challa Himanshu Reddy, Roll No. B070319EC, Nasreen Mohsin, Roll No. B070495EC, Shyam Ashish, Roll No. B070287EC and Ajith K G, Roll No. B060079EC, in partial fulfilment of the requirement of award of B. Tech. Degree in Electronics and Communication Engineering by the National Institute Of Technology, Calicut, during the academic year 2010-2011. Dr. Deepthi P.P Project Guide Department of Electronics and Communication Engineering N.I.T Calicut Dr. P. C. Subrahmaniam Head of the Department Department of Electronics and Communication Engineering N.I.T Calicut Date: April 29th, 2011 CONTENTS 1. 2. 3. 4. ABSTRACT ....

Words: 7883 - Pages: 32

Premium Essay

Motion Vector

...International Journal of Engineering Trends and Technology- Volume3Issue3- 2012 Hiding Messages Using Motion Vector Technique In Video Steganography P.Paulpandi1, Dr.T.Meyyappan,M.sc.,M.Phil.,M.BA.,Ph.D2 Research Scholar1, Associate professor2 Department of Computer Science & Engineering, Alagappa University,Karaikudi. Tamil Nadu,India. Abstract- Steganography is the art of hiding information in ways that avert the revealing of hiding messages.Video files are generally a collection of images. so most of the presented techniques on images and audio can be applied to video files too. The great advantages of video are the large amount of data that can be hidden inside and the fact that it is a moving stream of image. In this paper, we proposed a new technique using the motion vector, to hide the data in the moving objects. Moreover, to enhance the security of the data, the data is encrypted by using the AES algorithm and then hided. The data is hided in the horizontal and the vertical components of the moving objects. The PSNR value is calculated so that the quality of the video after the data hiding is evaluated. Keywords- Data hiding, Video Steganography,PSNR, Moving objects, AES Algorithm. I. INTRODUCTION Since the rise of the Internet one of the most important factors of information technology and communication has been the security of information. Steganography is a technology that hides a user defined information within an object, a text...

Words: 2564 - Pages: 11

Free Essay

Steganography: a Review of Information Security Research and Development in Muslim World

...Steganography: A Review of Information Security Research and Development in Muslim World Abstract Conveying secret information and establishing hidden relationship has been a great interest since long time ago. Therefore, there are a lot of methods that have been widely used since long past. This paper reviewed one of the methods for establishing hidden communication in information security and has gained attraction in recent years that is Steganography. Steganography is the art and science of hiding a secret message in a cover media such as image, text, signals or sound in such a way that no one, except the intended recipient knows the existence of the data. In this paper, the research and development of steganography from three years back starting from 2010 until recently, 2013 in Muslim world are reviewed. The future research in the field of Steganography is briefly discussed. Keywords Cover Image, Stego Image, Cryptography, Steganography, Information Hiding, Information Security, Muslim World 1 Introduction In today’s information technology era, the internet has played a vital part in the communication and information sharing. Due to the rapid development in Information Technology and Communication and the Internet, the security of the data and the information has raised concerned. Every day, confidential data has been compromised and unauthorized access of data has crossed the limits. Great measures should be taken to protect the data and information [5,...

Words: 3746 - Pages: 15

Premium Essay

Copyrighting

...the development of printing press technology, this concept was slightly changed as now copying was regarded as a theft from the original content. This made the writers of the past to make copyright laws that would protect the individual work The three systems defined in this paper deal with copyright issue of digital media. The system defined here are the ones that are in bad need of a proper copyright scheme as these digital media content are the ones that are most effected by the piracy and copying issues. The copying of any of these contents results in the decrease revenue for the author, hence discouraging the author for producing a better kind of media for later use. The first system defined is the Giovanni, which is digital watermarking technology for audio media. The basic idea of this company is to produce audio that is watermarked with waves that are inaudible to the human ear. Giovanni maintains the functionality of copyright targets by keeping archives and provide maintenance to the author. Yet, it does not restrict any access of the eligible person. The second system proposed is the Content Scrambling System, which is embedded in DVDs and DVD players. This system provides copyright by embedding encrypted region codes into the DVDs that allows the DVDs to be played in only the available regions encoded in the contents of the DVD. The DVD player then...

Words: 440 - Pages: 2