Microsoft to Apply Watermarking Technology to Software
Microsoft filled a patent on June 12 describing a watermarking technology that could be applied to downloadable software, in an effort to combat piracy.
The patent, filled at the United States Patent and Trademark Office, relates to a method for encoding information, termed a "digital watermark" or more simply a "watermark", into a program or application downloaded over the Internet. Microsoft said that its goal is to make this information difficult to be detected and forged.
The inclusion of the digital watermark information would make every instance of a software unique. "When a software is distributed or sold over the Internet, personal identification information, such as a purchaser's name, address, telephone number, credit card number, etc., is collected and encoded into a binary sequence," reads Microsoft's patent.
"The binary sequence is mapped into an instruction swap table to create a sequence that is used for exchanging, or swapping, specific occurrences of pairs of non-interfering instructions. As the application is downloaded, pairs of non-interfering instructions are efficiently swapped based on the encoded binary sequence. Thus, the downloaded application is watermarked with the personal identification information collected from the purchaser before the application was downloaded," Microsoft explains.
Two downloaded watermarked software could be compared by a pirate, but only the differences between the two applications would be detected and not all of the pairs of instructions that can be swapped or that have been changed would be detected. Consequently, a large number of downloaded applications must be compared before all non-interfering pairs of instructions can be reliably determined. "To make the watermark information more difficult to detect and forge, the encoded binary sequence can also be encrypted using various techniques, such as a public-key encryption technique, before pairs of non-interfering instructions are swapped," Microsoft added.
Software companies could also detect the origin of a pirated application. The watermark information could be extracted from the pirated application by comparison to the original code of the application. The resulting difference is decrypted and converted to the encoded binary sequence forming the watermark information. The resulting watermark information is decoded to determine the personalized identification information of the original purchaser.
The inclusion of the digital watermark information would make every instance of a software unique. "When a software is distributed or sold over the Internet, personal identification information, such as a purchaser's name, address, telephone number, credit card number, etc., is collected and encoded into a binary sequence," reads Microsoft's patent.
"The binary sequence is mapped into an instruction swap table to create a sequence that is used for exchanging, or swapping, specific occurrences of pairs of non-interfering instructions. As the application is downloaded, pairs of non-interfering instructions are efficiently swapped based on the encoded binary sequence. Thus, the downloaded application is watermarked with the personal identification information collected from the purchaser before the application was downloaded," Microsoft explains.
Two downloaded watermarked software could be compared by a pirate, but only the differences between the two applications would be detected and not all of the pairs of instructions that can be swapped or that have been changed would be detected. Consequently, a large number of downloaded applications must be compared before all non-interfering pairs of instructions can be reliably determined. "To make the watermark information more difficult to detect and forge, the encoded binary sequence can also be encrypted using various techniques, such as a public-key encryption technique, before pairs of non-interfering instructions are swapped," Microsoft added.
Software companies could also detect the origin of a pirated application. The watermark information could be extracted from the pirated application by comparison to the original code of the application. The resulting difference is decrypted and converted to the encoded binary sequence forming the watermark information. The resulting watermark information is decoded to determine the personalized identification information of the original purchaser.