US2017300670A1PendingUtilityA1

Systems and methods for watermarking software and other media

Assignee: INTERTRUST TECH CORPPriority: Jul 29, 1999Filed: May 4, 2017Published: Oct 19, 2017
Est. expiryJul 29, 2019(expired)· nominal 20-yr term from priority
H04K 1/02H04K 1/00G06F 16/245G06F 11/3604G06F 21/16H04L 9/3226G06N 7/01H04L 9/3247H04L 2209/608G06F 17/30424G06F 2221/0737G06N 7/005G09C 5/00
61
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

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.

Claims

exact text as granted — not AI-modified
1 .- 44 . (canceled) 
     
     
         45 . A method for watermarking computer code performed by a computer 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 comprising:
 analyzing the computer code to identify a plurality of watermark locations;   inserting a plurality of primer code sequences into the plurality watermark locations to generate primed computer code; and   stamping the primed computer code by embedding a plurality of watermark payloads at the locations of the plurality of primer code sequences to generate watermarked computer code.   
     
     
         46 . The method of  claim 45 , wherein analyzing the computer code to identify the plurality of watermark locations comprises determining a degree that an insertion of a watermark at the plurality of watermark locations would impact the performance of the computer code. 
     
     
         47 . The method of  claim 45 , wherein analyzing the computer code to identify the plurality of watermark locations comprises determining whether the plurality of watermark locations are located in frequently-executed loops in the computer code. 
     
     
         48 . The method of  claim 45 , wherein the plurality of primer code sequences comprise code sequences having a distinctive pattern. 
     
     
         49 . The method of  claim 45 , wherein embedding the plurality of watermark payloads at the locations of the plurality of primer code sequences comprises replacing the plurality of primer code sequences with the plurality of watermark payloads. 
     
     
         50 . The method of  claim 45 , wherein prior to stamping the primed computer code, the method further comprises applying at least one transformation to the primed computer code. 
     
     
         51 . The method of  claim 50 , wherein the primed computer code comprises source code and the at least one transformation comprises compilation of the primed computer code into object code. 
     
     
         52 . The method of  claim 50 , wherein the primed computer code comprises object code and the at least one transformation comprises linking the object code to form an executable. 
     
     
         53 . The method of  claim 50 , wherein the plurality of primer code sequences are unaffected by the at least one transformation. 
     
     
         54 . The method of  claim 50 , wherein the at least one transformation transforms the plurality of primer code sequences in a predefined way. 
     
     
         55 . The method of  claim 45 , wherein the computer code comprises a plurality of macros and wherein analyzing the computer code to identify the plurality of watermark locations comprises identifying the locations of the macros in the computer code. 
     
     
         56 . The method of  claim 55 , wherein inserting the plurality of primer code sequences into the plurality of watermark locations comprises processing the plurality of macros. 
     
     
         57 . The method of  claim 55 , wherein the plurality of macros are selected from a library of macros. 
     
     
         58 . The method of  claim 57 , wherein each primer code sequence of the plurality of primer code sequences are unique. 
     
     
         59 . The method of  claim 45 , wherein the computer code comprises a plurality of inlined functions and wherein analyzing the computer code to identify the plurality of watermark locations comprises identifying the locations of the inlined functions in the computer code. 
     
     
         60 . The method of  claim 59 , wherein inserting the plurality of primer code sequences into the plurality of watermark locations comprises processing the plurality of inlined functions. 
     
     
         61 . The method of  claim 45 , wherein the computer code comprises at least one macro and at least one inlined function and wherein analyzing the computer code to identify the plurality of watermark locations comprises identifying the locations of the at least one macro and the at least one inlined function.

Join the waitlist — get patent alerts

Track US2017300670A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.