IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0784202
(2010-05-20)
|
등록번호 |
US-8370634
(2013-02-05)
|
발명자
/ 주소 |
- Horne, William G.
- Maheshwari, Umesh
- Tarjan, Robert E.
- Homing, James J.
- Sibert, W. Olin
- Matheson, Lesley R.
- Wright, Andrew K.
- Owicki, Susan
|
출원인 / 주소 |
- Intertrust Technologies Corp.
|
인용정보 |
피인용 횟수 :
4 인용 특허 :
79 |
초록
▼
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 detecting a watermark embedded in an executable piece of software, 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: decrypting a portion of the
1. A method for detecting a watermark embedded in an executable piece of software, 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: decrypting a portion of the piece of software, the decrypted portion comprising a first part and a second part;decrypting the second part of the decrypted portion; andcomparing the decrypted second part of the decryption portion with the first part of the decrypted portion;wherein the comparison succeeds if the decrypted second part of the decrypted portion is equal to a hash of the first part of the decrypted portion; andstoring the first part of the decrypted portion as a function of the comparison of the first part of the decrypted portion to the second part of the decrypted portion,wherein the first part of the decrypted portion forms at least part of the watermark. 2. A method as in claim 1, further including: repeating said decrypting, comparing, and storing steps until a predefined number of watermark parts have been stored. 3. A method as in claim 2, wherein the predefined number is equal to the number of watermark parts originally embedded in the piece of software. 4. A method as in claim 1, further including: using the first part of the decrypted portion, at least in part, as an index into a database of watermark payloads; andretrieving a watermark payload from the database. 5. A method for detecting a watermark embedded in an executable piece of software, 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: maintaining a list of locations within the executable program that contain a portion of watermark data;retrieving at least two portions of watermark data from the locations specified in the list;assembling the watermark from the at least two retrieved portions of watermark data;using the watermark as an index into a database of information, wherein the information in the database includes identification information regarding owners of different copies of the executable piece of software, and in which the watermark is configured to locate the identification information of an owner of the piece of software; andretrieving a piece of information from the database. 6. A method as in claim 5, in which assembling the watermark occurs using less than all portions of watermark data. 7. A method for watermarking and distributing a piece of software, 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: dividing the piece of software into at least a first portion and a second portion;distributing copies of the first portion to a plurality of users;receiving a request to use the piece of software from a first user, the first user possessing a copy of the first portion of the piece of software;generating a copy of the second portion of the piece of software;inserting identification information into the copy of the second portion of the piece of software;combining the first portion of the piece of software with the copy of the second portion of the piece of software containing the identification information, to form a watermarked copy of the piece of software; andproviding the watermarked copy of the piece of software to the first user. 8. A method for watermarking copies of 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: applying a first combination of obfuscating transformations to a first copy of the computer program, application of the first combination of obfuscating transformations being operable to leave a first observable characteristic in the computer program,the first combination of obfuscating transformations including a plurality of obfuscation processes and embedding the first copy of the computer program with watermark information as a function of choices made during the plurality of obfuscation processes;applying a second combination of obfuscating transformations to a second copy of the computer program, application of the second combination of obfuscating transformations being operable to leave a second observable characteristic in the computer program,the second combination of obfuscating transformations including a plurality of obfuscation processes and embedding the second copy of the computer program with watermark information as a function of choices made during the plurality of obfuscation processes;associating said first and second observable characteristics with information relating to said first and second copies of the computer program, respectively; andwhereby detection of the first observable characteristic can be used to retrieve the information relating to the first copy of the computer program, and detection of the second observable characteristic can be used to retrieve the information relating to the second copy of the computer program.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.