4 ms·
People seem to be misinterpreting the article, so here's a technical explanation: - Skype's encryption algorithm is not, itself, broken; - Skype uses a "predi
by JoachimSchipper 15y ago
People seem to be misinterpreting the article, so here's a technical explanation:
- Skype's encryption algorithm is not, itself, broken;
- Skype uses a "prediction" algorithm to compress voice streams;
- therefore, words have a specific pattern of bandwidth use (toy example: "techcrunch" spikes around the "-crunch", since you'd expect "-nology");
- bandwidth use of encrypted compressed data is equal to bandwidth use of data that has only been compressed;
- these patterns (which can be detected "through" the encryption) allow fairly good reconstruction of the voice stream.
If you like this kind of thing, Google "ssh keystroke timing attacks", or, more generally, "traffic analysis".
- caf 15y agoThe Linear Predictive Coding used for compressing speech does it at a much lower level than "technology" versus "techcrunch" - it uses a physical model of the human vocal tract (I've actually implemented the LPC used in the GSM codec).
- JoachimSchipper 15y agoYes, I was intentionally simplifying it to only what was essential to this article. Do you have a better one-sentence explanation?
- caf 15y agoI think it's clear enough without the example in the brackets. Anyway, it wasn't really a criticism, just more detailed information that I thought readers might appreciate.
- lgeek 15y agoI think your explanation is misleading. LPCs predict the shape of the speech waveform, nothing higher level than that.
- JabavuAdams 15y ago> Skype's encryption algorithm is not, itself, broken Skype's encryption has not been cracked, but it is broken in the sense that it preserves exploitable structure in the ciphertext. The ciphertext should be essentially random, shouldn't it?
- JoachimSchipper 15y agoThe ciphertext is "essentially random"; the amount of ciphertext (per second) isn't. Encryption will keep your wife from reading your letters, but if you send a hundred letters a month to the new girl at work she might still get suspicious. Encryption does not promise to prevent that.
- ksolanki 15y agounless you use steganography to hide the existence of communication itself (see http://en.wikipedia.org/wiki/Steganography http://en.wikipedia.org/wiki/Steganography ).
- borism 15y agoSteganography doesn't hide existence of communication, it hides/obscures existence of messages in it. Important distinction.
- ksolanki 15y agoSteganography hides the existence of covert communication. The message is hidden in an innocuous looking host (say a picture or video that noone would get suspicious about). So in that sense, the existence of actual communication is not known to a third party. I did a PhD theses on this topic :)
- JabavuAdams 15y agoThe essential difference is that this is a stream, not discrete messages. Yes, I know that at the IP or UDP level a stream consists of discrete datagrams, but this is not how users think of streaming media. It's like a developer arguing that a project was completed exactly to spec, when the spec isn't what the client wanted, and the dev didn't make any real effort to understand what the client wanted. You could always trade latency for security by batching more of the stream and encrypting larger blocks.