A recent press release gives some information on how censorship is performed in the Chinese version of Skype; the results are discussed in more detail in a paper by Jeffrey Knockels, Jed Crandall and myself. Currently, a significant portion of Internet censorship is keyword based: any content that contains a keyword that is on some blacklist is censored. Countries that perform keyword censorship generally try to hide these blacklists, probably both for political reasons and to make it difficult to evade censorship by using neologisms: new words that have the same meaning but are not on the blacklist.
In some peer-to-peer applications, this censorship is done on the client side, so there is a subroutine in, e.g. Skype chat, that checks if an outgoing message contains a keyword on the blacklist. If you are the censor and you don’t care about revealing the blacklist, then there are techniques for doing this in an efficient manner (hint: FSA’s). However, it’s an interesting (but evil) theoretical problem to think about how to efficiently do keyword censorship if you are also trying to also hide the blacklist. In particular, if you want to hide it from someone who may be running your executable in a debugger. Hint: the Chinese Skype program did it incorrectly and that’s why we were able to decrypt their blacklist!
7 Comments so far
Leave a comment