CN102122335A - Method for restricting illegal JAVA software operation by using software watermarks - Google Patents

Method for restricting illegal JAVA software operation by using software watermarks Download PDF

Info

Publication number
CN102122335A
CN102122335A CN2010106217752A CN201010621775A CN102122335A CN 102122335 A CN102122335 A CN 102122335A CN 2010106217752 A CN2010106217752 A CN 2010106217752A CN 201010621775 A CN201010621775 A CN 201010621775A CN 102122335 A CN102122335 A CN 102122335A
Authority
CN
China
Prior art keywords
watermark
software
java
counterfoil
java software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010106217752A
Other languages
Chinese (zh)
Other versions
CN102122335B (en
Inventor
王建民
王朝坤
余志伟
戴鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN2010106217752A priority Critical patent/CN102122335B/en
Publication of CN102122335A publication Critical patent/CN102122335A/en
Application granted granted Critical
Publication of CN102122335B publication Critical patent/CN102122335B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

The invention relates to a method for restricting illegal JAVA software operation by using software watermarks, belonging to the technical field of software protection. The method comprises the following steps of: embedding a watermark in JAVA software submitted by a user; then, constructing a JAVA software extraction module and a JAVA software watermark verification module in a JAVA software operation system; extracting the watermark from the JAVA software submitted by the user with a watermark extraction method in the water extraction module; and verifying the extracted watermark to determine the validity of the JAVA software submitted by the user. The method in the invention has good confidentiality, high safety, and better attack resistance capacity for attacks of malicious software. In the method, the software watermark has short extraction time, and the software embedded with the watermark can still keep good operation performance. The method has good portability, a watermark method is selected according to user demands, and the JAVA software requirement on safety and operation efficiency can be better satisfied.

Description

A kind of method of utilizing software watermark to limit illegal JAVA running software
Technical field
The present invention relates to a kind of method of utilizing software watermark to limit illegal JAVA running software, belong to the Software Protection Technique field.
Background technology
Under the open network environment, software runtime environment faces problems such as illegal program invasion, the various isomery of system platform, and JAVA software has obtained using widely owing to its good transplantability, therefore, guarantee JAVA running software security of system, have important practical significance.
In order to protect JAVA running software security of system, " sandbox " model has obtained using widely.In JAVA " sandbox " model, the execution environment of JAVA software is divided into two parts by strictness: all resources that local code can access computer; And far-end code (mainly being the Applet that downloads from network) can only operate in the sandbox the inside of strict restriction.One of assembly of security manager (Security Manager) conduct " sandbox " is used for define system and allows program accessed resources in the sandbox, stops rogue program unauthorized access and altered data, thereby guarantees security of system.Yet this scheme lacks checking for the JAVA software in this locality, exists by the possibility of malware attacks.
Software watermark is meant that secret is embedded in the information with sign meaning in the software, comprises two important steps, i.e. the interpolation of software watermark and extraction.The proposition of software watermark is to be used to identify software copyright information at first, thereby combats copyright piracy activity.The mentioned software watermark of this paper is used to identify the legitimacy of software.The software watermark technology is one of Software Protection Technique.
Summary of the invention
The objective of the invention is to propose a kind of method of utilizing software watermark to limit illegal JAVA running software, have only legal software to move by making up credible JAVA software runtime environment, making, with the operation of restriction illegal software based on software watermark.
The software watermark that utilizes that the present invention proposes limits the method for illegal JAVA running software, comprises following each step:
(1) embed watermark in the JAVA software that the user submits to, telescopiny may further comprise the steps:
(1-1) make up a JAVA software watermark generation module, according to the user's who submits JAVA software to identity generation JAVA software watermark;
(1-2) make up a JAVA software watermark merge module that comprises multiple watermark embedding method.These watermark embedding methods comprise uncertain predicate watermark embedding method, local variable table watermark embedding method, and the vector statistics watermark embedding method is schemed theoretical watermark embedding method and dynamic watermark embedding method etc. repeatedly partly.
(1-3) according to the requirement of submitting the JAVA software users to, from JAVA software watermark merge module, select a kind of software watermark embedding grammar, detailed process is as follows:
(1-3-1), then select the dynamic watermark embedding grammar if the customer requirements software watermark has stronger robustness;
(1-3-2), then select static watermark embedding method if customer requirements is finished the embedding and the extraction of software watermark within a short period of time;
(1-3-3), then select half dynamic watermark embedding grammar if the user requires software watermark to have stronger robustness simultaneously and finishes the embedding and the extraction of software watermark within a short period of time;
(1-4) watermark embedding method of selecting according to the JAVA software users, in the JAVA software that the user submits to, add the JAVA software watermark that step (1-1) generates, obtain having the JAVA software of JAVA software watermark, and export a watermark counterfoil, this watermark counterfoil is stored in the assigned catalogue of JAVA running software system.Comprise following information in the watermark counterfoil: the filename of the JAVA file before user identity, the embed watermark, the filename of the JAVA file behind the embed watermark, watermark embed time, watermark embedding method title, watermark extracting method title and watermark and key;
(2), make up a JAVA software watermark extraction module according to the extraction water mark method title in the above-mentioned watermark counterfoil;
(3) make up a JAVA software watermark authentication module, may further comprise the steps:
(3-1) from the assigned catalogue of JAVA running software system, read above-mentioned watermark counterfoil,, then change step (3-2) if read success, unsuccessful as if reading, then change step (3-5);
(3-2) watermark extracting method in the watermark counterfoil that reads is verified, if exist in the JAVA software watermark extraction module one with the watermark counterfoil in the corresponding watermark extracting method of watermark extracting method, then change step (3-3), if do not exist in the JAVA software watermark extraction module one with the watermark counterfoil in the corresponding watermark extracting method of watermark extracting method, then prompting can not find suitable watermark extracting method, changes step (3-5);
(3-3) adopt the above-mentioned watermark extracting method that reads, read the key in the watermark counterfoil, extract watermark from JAVA software, if extract the watermark success, then change step (3-4), if extract failure, then prompting can not find watermark, changes step (3-5);
(3-4) watermark of extracting is verified,, then allowed the JAVA running software,, then point out the watermark mistake, change step (3-5) if the watermark and the watermark in the watermark counterfoil of extracting are inconsistent if the watermark of extracting is consistent with the watermark in the watermark counterfoil;
(3-5) watermark verification failure, JAVA software is out of service.
The software watermark that utilizes that invention proposes limits the method for illegal JAVA running software, has the following advantages:
1, the method for protection of the present invention JAVA running software security of system, crypticity is good, and is safe, for Malware the attack of JAVA running software system had good anti-attack ability.
2, in the inventive method, the method for in JAVA running software system, software watermark being extracted and verifying, the extraction time of software watermark is short, and the software behind the embed watermark still can keep good runnability.
3, the method for protection of the present invention JAVA running software security of system has good transplantability, that is: once can be for the use of multiple JAVA running software system after the compiling.
4, in the method for protection JAVA running software security of system of the present invention; the corresponding relation of water mark method and user's request is set up in proposition; can select water mark method according to user's request, therefore can satisfy the demand of user better security of JAVA running software and operational efficiency.
Description of drawings
Fig. 1 is the FB(flow block) of the inventive method.
Embodiment
The software watermark that utilizes that the present invention proposes limits the method for illegal JAVA running software, and its FB(flow block) comprises following each step as shown in Figure 1:
(1) embed watermark in the JAVA software that the user submits to, telescopiny may further comprise the steps:
(1-1) make up a JAVA software watermark generation module, according to the user's who submits JAVA software to identity generation JAVA software watermark;
(1-2) make up a JAVA software watermark merge module that comprises multiple watermark embedding method;
(1-3) according to the requirement of submitting the JAVA software users to, from JAVA software watermark merge module, select a kind of software watermark embedding grammar, detailed process is as follows:
(1-3-1), then select the dynamic watermark embedding grammar if the customer requirements software watermark has stronger robustness;
(1-3-2), then select static watermark embedding method if customer requirements is finished the embedding and the extraction of software watermark within a short period of time;
(1-3-3), then select half dynamic watermark embedding grammar if the user requires software watermark to have stronger robustness simultaneously and finishes the embedding and the extraction of software watermark within a short period of time;
(1-4) watermark embedding method of selecting according to the JAVA software users, in the JAVA software that the user submits to, add the JAVA software watermark that step (1-1) generates, obtain having the JAVA software of JAVA software watermark, and export a watermark counterfoil, this watermark counterfoil is stored in the assigned catalogue of JAVA running software system, comprises following information in the watermark counterfoil: user identity, the filename of the JAVA file before the embed watermark, the filename of the JAVA file behind the embed watermark, watermark embeds the time, the watermark embedding method title, watermark extracting method title and watermark and key;
(2), make up a JAVA software watermark extraction module according to the extraction water mark method title in the above-mentioned watermark counterfoil;
(3) make up a JAVA software watermark authentication module, may further comprise the steps:
(3-1) from the assigned catalogue of JAVA running software system, read above-mentioned watermark counterfoil,, then change step (3-2) if read success, unsuccessful as if reading, then change step (3-5);
(3-2) watermark extracting method in the watermark counterfoil that reads is verified, if exist in the JAVA software watermark extraction module one with the watermark counterfoil in the corresponding watermark extracting method of watermark extracting method, then change step (3-3), if do not exist in the JAVA software watermark extraction module one with the watermark counterfoil in the corresponding watermark extracting method of watermark extracting method, then change step (3-5);
(3-3) adopt the above-mentioned watermark extracting method that reads, read the key in the watermark counterfoil, from JAVA software, extract watermark,, then change step (3-4),, then change step (3-5) if extract failure if extract the watermark success;
(3-4) watermark of extracting is verified,, then allowed the JAVA running software,, then change step (3-5) if the watermark and the watermark in the watermark counterfoil of extracting are inconsistent if the watermark of extracting is consistent with the watermark in the watermark counterfoil;
(3-5) watermark verification failure, JAVA software is out of service.
Can must add software watermark and extract and authentication module in JAVA running software system in the operation of JAVA running software system for the method for utilizing software watermark to limit illegal JAVA running software that the present invention is proposed, detailed process is as follows:
1, obtains the source code (version is jdk1.7) that is used to form JAVA running software system from the internet;
2, from the JAVA command execution process of JAVA running software system source code, find the inlet of JAVA file;
3, the JAVA software watermark authentication module that makes up of the JAVA software watermark extraction module that the inventive method is made up and the present invention porch of adding the JAVA file to, its process is:
At first the JAVA software watermark authentication module of the JAVA software watermark extraction module that the present invention is made up and the present invention's structure is placed under the expansion class loading catalogue of JAVA running software system;
Adopt JAVA language and native language alternant way to add watermark extracting module and the software watermark authentication module code that the present invention makes up then in the porch of above-mentioned JAVA file.
Secondly, install software openjdk1.6 and relevant depended software (for example make, gcc, ant, freetype) thereof on the extraction that has software watermark in the needs compiling and the computing machine of the JAVA running software system of authentication module, and the environment for use of software is set;
Once more, carry out make sanity order, guarantee to satisfy the compiling condition;
At last, carry out the make order, finish the process of recompiling.

Claims (1)

1. method of utilizing software watermark to limit illegal JAVA running software is characterized in that this method comprises following each step:
(1) embed watermark in the JAVA software that the user submits to, telescopiny may further comprise the steps:
(1-1) make up a JAVA software watermark generation module, according to the user's who submits JAVA software to identity generation JAVA software watermark;
(1-2) make up a JAVA software watermark merge module that comprises multiple watermark embedding method;
(1-3) according to the requirement of submitting the JAVA software users to, from JAVA software watermark merge module, select a kind of software watermark embedding grammar, detailed process is as follows:
(1-3-1), then select the dynamic watermark embedding grammar if the customer requirements software watermark has stronger robustness;
(1-3-2), then select static watermark embedding method if customer requirements is finished the embedding and the extraction of software watermark within a short period of time;
(1-3-3), then select half dynamic watermark embedding grammar if the user requires software watermark to have stronger robustness simultaneously and finishes the embedding and the extraction of software watermark within a short period of time;
(1-4) watermark embedding method of selecting according to the JAVA software users, in the JAVA software that the user submits to, add the JAVA software watermark that step (1-1) generates, obtain having the JAVA software of JAVA software watermark, and export a watermark counterfoil, this watermark counterfoil is stored in the assigned catalogue of JAVA running software system, comprises following information in the watermark counterfoil: user identity, the filename of the JAVA file before the embed watermark, the filename of the JAVA file behind the embed watermark, the embed watermark time, the embed watermark method name, extract water mark method title and watermark and key;
(2), make up a JAVA software watermark extraction module according to the extraction water mark method title in the above-mentioned watermark counterfoil;
(3) make up a JAVA software watermark authentication module, may further comprise the steps:
(3-1) from the assigned catalogue of JAVA running software system, read above-mentioned watermark counterfoil,, then change step (3-2) if read success, unsuccessful as if reading, then change step (3-5);
(3-2) watermark extracting method in the watermark counterfoil that reads is verified, if exist in the JAVA software watermark extraction module one with the watermark counterfoil in the corresponding watermark extracting method of watermark extracting method, then change step (3-3), if do not exist in the JAVA software watermark extraction module one with the watermark counterfoil in the corresponding watermark extracting method of watermark extracting method, then change step (3-5);
(3-3) adopt the above-mentioned watermark extracting method that reads, read the key in the watermark counterfoil, from JAVA software, extract watermark,, then change step (3-4),, then change step (3-5) if extract failure if extract the watermark success;
(3-4) watermark of extracting is verified,, then allowed the JAVA running software,, then change step (3-5) if the watermark and the watermark in the watermark counterfoil of extracting are inconsistent if the watermark of extracting is consistent with the watermark in the watermark counterfoil;
(3-5) watermark verification failure, JAVA software is out of service.
CN2010106217752A 2010-12-24 2010-12-24 Method for restricting illegal JAVA software operation by using software watermarks Active CN102122335B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010106217752A CN102122335B (en) 2010-12-24 2010-12-24 Method for restricting illegal JAVA software operation by using software watermarks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010106217752A CN102122335B (en) 2010-12-24 2010-12-24 Method for restricting illegal JAVA software operation by using software watermarks

Publications (2)

Publication Number Publication Date
CN102122335A true CN102122335A (en) 2011-07-13
CN102122335B CN102122335B (en) 2012-11-14

Family

ID=44250891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010106217752A Active CN102122335B (en) 2010-12-24 2010-12-24 Method for restricting illegal JAVA software operation by using software watermarks

Country Status (1)

Country Link
CN (1) CN102122335B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014153679A1 (en) * 2013-03-27 2014-10-02 Irdeto B.V. Watermarking executable files

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740316B (en) * 2018-12-27 2021-03-16 三未信安科技股份有限公司 Dynamic watermark embedding and verifying method and system and dynamic watermark processing system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155698A1 (en) * 2006-12-22 2008-06-26 Schlumberger Technology Corporation Method of and system for watermarking applicatoin modules
CN101350055A (en) * 2008-09-05 2009-01-21 清华大学 Method for embedding and extracting watermark in and from computer program
CN101477610A (en) * 2008-12-25 2009-07-08 中国人民解放军信息工程大学 Software watermark process for combined embedding of source code and target code

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155698A1 (en) * 2006-12-22 2008-06-26 Schlumberger Technology Corporation Method of and system for watermarking applicatoin modules
CN101350055A (en) * 2008-09-05 2009-01-21 清华大学 Method for embedding and extracting watermark in and from computer program
CN101477610A (en) * 2008-12-25 2009-07-08 中国人民解放军信息工程大学 Software watermark process for combined embedding of source code and target code

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《The Fifth Annual ChinaGrid Conference》 20100718 Junning Fu等 A Watermark-aware Trusted Running Environment for Software Clouds , *
《微电子学与计算机》 20090930 王春红等 基于字节码的Java软件水印的研究与实现 第26卷, 第9期 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014153679A1 (en) * 2013-03-27 2014-10-02 Irdeto B.V. Watermarking executable files

Also Published As

Publication number Publication date
CN102122335B (en) 2012-11-14

Similar Documents

Publication Publication Date Title
CN100342296C (en) Method for realizing computer software intruder preventing edition based on confidence computation module chip
US7395433B2 (en) Method and system for sustainable digital watermarking
US20180260199A1 (en) Method and apparatus for intermediate representation of applications
US20170116410A1 (en) Software protection
CN106778103A (en) Reinforcement means, system and decryption method that a kind of Android application program anti-reversing is cracked
CN101872404B (en) Method for protecting Java software program
CN106506159A (en) Encryption method and equipment for key safety
CN102592080B (en) flash malicious file detection method and device
Hachez A comparative study of software protection tools suited for e-commerce with contributions to software watermarking and smart cards
KR20070001893A (en) Tamper-resistant trusted virtual machine
US20090287917A1 (en) Secure software distribution
CN103065072A (en) Method and device to improve Java software jailbreak difficulty and copyright verification method
CN1527208A (en) Method and device for realizing computer safety and enciphering based on identity confirmation
KR102482880B1 (en) Reverse engineering prevention system and method for defense weapon system embedded SW protection
Qian et al. Malicious behavior analysis for android applications
EP2045748B1 (en) Anti-tamper techniques
CN115795415A (en) Digital cultural relic evidence and infringement tracing method and system based on block chain digital watermarking
CN102122335B (en) Method for restricting illegal JAVA software operation by using software watermarks
CN111191194B (en) Off-line use permission system for multi-core processor software integrated development environment
CN110457872B (en) Android App application resource hiding and reinforcing method
Jeon et al. A robust steganography-based software watermarking
Niu et al. Clone analysis and detection in android applications
Shin et al. Data Hiding in Windows Executable Files
Kim et al. Detecting illegally-copied apps on android devices
CN1987715A (en) Method for protecting software

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant