Systems and methods are disclosed for embedding information in software and/or other electronic content such that the information is difficult for an unauthorized party to detect, remove, insert, forge, and/or corrupt. The embedded information can be used to protect electronic content by identifying
Systems and methods are disclosed for embedding information in software and/or other electronic content such that the information is difficult for an unauthorized party to detect, remove, insert, forge, and/or corrupt. The embedded information can be used to protect electronic content by identifying the content's source, thus enabling unauthorized copies or derivatives to be reliably traced, and thus facilitating effective legal recourse by the content owner. Systems and methods are also disclosed for protecting, detecting, removing, and decoding information embedded in electronic content, and for using the embedded information to protect software or other media from unauthorized analysis, attack, and/or modification.
대표청구항▼
1. A method for watermarking computer code, utilizing a system comprising a processor and a memory encoded with program instructions that, when executed by the processor, cause the system to perform the method, the method including: searching the computer code for one or more locations for first and
1. A method for watermarking computer code, utilizing a system comprising a processor and a memory encoded with program instructions that, when executed by the processor, cause the system to perform the method, the method including: searching the computer code for one or more locations for first and second constructs to be inserted, the first and second constructs to be inserted without deleting all or a portion of the computer code and without exchanging existing portions of the computer code;generating primed computer code by inserting the first and second programming constructs into the computer code at the one or more locations;finding the first and second programming constructs in the primed computer code; andgenerating watermarked computer code by inserting watermarking information at non-contiguous locations indicated by the first and second programming constructs, the watermarking information comprising information at least in part identifying a recipient of the watermarked computer code, the watermarking information being resistant to detection and removal using a collusive or auto-collusive attack. 2. A method as in claim 1, in which finding the first and second programming constructs in the primed computer code includes: searching the primed computer code for a first predefined pattern associated with the first programming construct, and searching the primed computer code for a second predefined pattern associated with the second programming construct. 3. A method as in claim 1, in which the first programming construct comprises an executable code sequence. 4. A method as in claim 3, in which the computer code comprises computer source code. 5. A method as in claim 4, further including: compiling and linking the primed computer code to form an executable computer program. 6. A method as in claim 5, in which the first programming construct is inserted using a binary code modification tool. 7. A method as in claim 1, in which generating primed computer code by inserting first and second programming constructs into the computer code, further includes: maintaining a record of a first location at which the first programming construct was inserted into the computer code and a second location at which the second programming construct was inserted into the computer code; andwherein finding the first and second programming constructs in the primed computer code includes looking up said first location and said second location in said record. 8. A method as in claim 1, in which the watermark comprises a portion of another watermark. 9. A method as in claim 1, in which inserting the first and second programming constructs into the computer code includes: inserting an inlined function, and at least one call to the inlined function, into the computer code. 10. A method as in claim 1, in which inserting the first and second programming constructs into the computer code includes: inserting a macro definition, and at least one reference to the macro definition into the computer code. 11. A method as in claim 10, in which the macro definition includes a sequence of one or more assembly language statements that are not executed when said watermarked computer code is executed. 12. A method as in claim 1, in which the first programming construct includes one or more unused entries in one or more tables selected from a group consisting of: a jump table, an index table, a virtual function table, an import table, and an export table. 13. A method as in claim 1, in which the watermarked computer code forms part of a computer program, the computer program including a header, and in which the first programming construct includes one or more unused entries in the header. 14. A method for inserting a watermark into a computer program, utilizing a system comprising a processor and a memory encoded with program instructions that, when executed by the processor, cause the system to perform the method, the method including: searching the computer program for one or more locations to insert at least two macros, the at least two macros to be inserted without deleting all or a portion of the computer program and without exchanging existing portions of the computer program;inserting the at least two macros into a source code representation of the computer program at the one or more locations, each macro being operable to generate a predefined pattern when the computer program is compiled;compiling the source code to yield an object code representation of the computer program;searching the object code for at least two instances of the predefined pattern; andreplacing the predefined pattern with watermarking information, the watermarking information comprising information at least in part identifying a recipient of the watermarked computer code, the watermarking information being resistant to detection and removal using a collusive or auto-collusive attack. 15. A method for watermarking computer code, utilizing a system comprising a processor and a memory encoded with program instructions that, when executed by the processor, cause the system to perform the method, the method including: searching the computer code for one or more locations to insert a plurality of programming constructs, the plurality of programming constructs to be inserted without deleting or exchanging existing portions of the computer code;generating primed computer code by inserting the plurality of programming constructs into the computer code at the one or more locations; andgenerating watermarked computer code by inserting watermarking information at locations indicated by the plurality of programming constructs, the watermarking information comprising information at least in part identifying a recipient of the watermarked computer code, the watermarking information being resistant to detection and removal using a collusive or auto-collusive attack. 16. A method as in claim 15, in which the plurality of programming constructs includes a plurality of macros. 17. A method as in claim 16, in which the plurality of programming constructs further includes a plurality inlined functions. 18. A method as in claim 15, in which the computer code comprises computer source code. 19. A method as in claim 15, in which the watermarking information comprises multiple copies of at least one watermark. 20. A method as in claim 15, in which the watermarking information comprises at least one watermark, the watermarking information for the at least one watermark being distributed amongst multiple locations indicated by the plurality of programming constructs. 21. A method as in claim 15, further comprising: sending the watermarked computer code to the recipient after completion of the step of generating watermarked computer code.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (91)
Zhao, Jian, Active watermarks and watermark agents.
Chandra Akhileshwari N. (Mahopac NY) Comerford Liam D. (Carmel NY) White Steve R. (New York NY), Implementing a shared higher level of privilege on personal computers for copy protection of software.
Chandra Akhileshwari N. (Mahopac NY) Comerford Liam D. (Carmel NY) White Steve R. (New York NY), Implementing a shared higher level of privilege on personal computers for copy protection of software.
Seder, Phillip Andrew; Carr, J. Scott; Perry, Burt W.; Graham, Stanley E.; Rhoads, Geoffrey B., Management of documents and other objects using optical devices.
Nagel Robert (New York NY) Lipscomb Thomas H. (New York NY), Method and apparatus for retrieving selected information from a secure information source.
Wang Wu ; Kongara Prasad, Method and apparatuses for transferring data for multiple applications through a single communication link in response to authentication information.
Nakamura Takeshi,JPX ; Sugaya Kazumi,JPX ; Oriyama Yoshiaki,JPX, Method and appartus for superposing a digital watermark and method and apparatus for detecting a digital watermark.
Davidson Robert I. (Bellevue WA) Myhrvold Nathan (Bellevue WA) Vogel Keith Randel (Duvall WA) Yuval Gideon Andreas (Mercer Island WA) Shupak Richard (Bellevue WA) Apperson Norman Eugene (Bellevue WA), Method and system for improving the locality of memory references during execution of a computer program.
Nakamura Takao,JPX ; Ogawa Hiroshi,JPX ; Takashima Yoichi,JPX, Method for embedding and reading watermark-information in digital form, and apparatus thereof.
Van Wie David M. ; Weber Robert P., Steganographic techniques for securely delivering electronic digital rights management control information over insecure.
Stefik Mark J. ; Petrie Glen W. ; Okamoto Steve A. ; Briggs Nicholas H., System for controlling the distribution and use of rendered digital works through watermaking.
Shear Victor H. ; Van Wie David M. ; Weber Robert P., Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information.
Ginter Karl L. ; Shear Victor H. ; Sibert W. Olin ; Spahn Francis J. ; Van Wie David M., Systems and methods for secure transaction management and electronic rights protection.
Ginter Karl L. ; Shear Victor H. ; Spahn Francis J. ; Van Wie David M., Systems and methods for secure transaction management and electronic rights protection.
Ginter Karl L. ; Shear Victor H. ; Spahn Francis J. ; Van Wie David M., Systems and methods for secure transaction management and electronic rights protection.
Horne, William G.; Maheshwari, Umesh; Tarjan, Robert E.; Horning, James J.; Sibert, W. Olin; Matheson, Lesley R.; Wright, Andrew K.; Owicki, Susan S., Systems and methods for watermarking software and other media.
Venkatesan, Ramarathnam; Vazirani, Vijay, Technique for producing, through watermarking, highly tamper-resistant executable code and resulting “watermarked” code so formed.
Hall Edwin J. ; Shear Victor H. ; Tomasello Luke S. ; Van Wie David M. ; Weber Robert P. ; Worsencroft Kim ; Xu Xuejun, Techniques for defining using and manipulating rights management data structures.
Ginter Karl L. ; Shear Victor H. ; Spahn Francis J. ; Van Wie David M. ; Weber Robert P., Trusted and secure techniques, systems and methods for item delivery and execution.
Ginter,Karl L.; Shear,Victor H.; Spahn,Francis J.; Van Wie,David M.; Weber,Robert P., Trusted and secure techniques, systems and methods for item delivery and execution.
Ginter,Karl L.; Shear,Victor H.; Spahn,Francis J.; Van Wie,David M.; Weber,Robert P., Trusted and secure techniques, systems and methods for item delivery and execution.
Rhoads,Geoffrey B.; Rodriguez,Tony F.; McKinley,Tyler J.; Miller,Marc D.; Hierholzer,Kirstin, User control and activation of watermark enabled objects.
Ammon Gustafson ; Geoffrey Rhoads ; Adnan V. Alattar ; Ravi K. Sharma ; Clay Davidson, Watermark detection utilizing regions with higher probability of success.
Braudaway, Gordon W.; Martens, Marco; Mintzer, Frederick C.; Shearer, James B.; Tresser, Charles P.; Wu, Chai W., Watermarks for customer identification.
Horne, William G.; Maheshwari, Umesh; Tarjan, Robert E.; Horning, James J.; Sibert, W. Olin; Matheson, Lesley R.; Wright, Andrew K.; Owicki, Susan S., Systems and methods for watermarking software and other media.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.