Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

There is a new WhatsApp-killer application called Telegram. They said that it's open source and that it has a more secure encryption.

But they store all the messages in their servers and WhatsApp doesn't store any messages in any server, only a local copy in the phones.

Is Telegram more secure than WhatsApp?

share|improve this question
    
In short, I'd say nothing is secure that works as easy as Telegram, WhatsApp, Skype, BlackBerry, etc. All of those (except WhatsApp) have promised end to end encryption, and so far only Telegram is not known to hand over their encryption keys to governments, simply because they are not big enough yet. Somehow Microsoft and Blackberry made it possible to break their own security and provide India and the United Arab Emirates with some plaintext. I wouldn't put it past any app to do this. For real security, use trusted tools like PGP/GPG or OTR. –  Luc Apr 5 at 19:07

3 Answers 3

up vote 30 down vote accepted

I'd like to ignore the comparison to WhatsApp because WhatsApp does not advertise itself as a "secure" messaging option. I'd like to instead focus on whether Telegram is secure.

Telegram's security is built around their home spun MTProto protocol. We all know that the first rule of Cryptography is Don't Roll Your Own Crypto. Especially if you aren't trained cryptographers. Which the Telegram people most certainly aren't.

The team behind Telegram, led by Nikolai Durov, consists of six ACM champions, half of them Ph.Ds in math. It took them about two years to roll out the current version of MTProto. Names and degrees may indeed not mean as much in some fields as they do in others, but this protocol is the result of thougtful and prolonged work of professionals.

Source: https://news.ycombinator.com/item?id=6916860

Math Ph.Ds are not cryptographers. The protocol they invented is flawed. Here is a nice blog post explaining why. In addition to that, Telegram has issued a rather ridiculous challenge offering a reward to anyone who can break the protocol. Except that the terms they set makes even the most ridiculously weak protocol difficult to break. Moxie Marlinspike has a nice blog post explaining why the challenge is ridiculous.

So, no. Telegram is by no means secure. For commonly accepted definitions of secure, not the one Telegram made up.

If you want a real secure means of communication on your phone, look to more reputable projects such as Open WhisperSystems or the rather well known Cryptocat.

share|improve this answer
3  
Reiterates lots of the criticism, but so far I have yet to hear a non-theoretical vulnerability. Can anyone read encrypted messages as they go over the wire, change contents without the other party noticing (even if the attacker doesn't know what the decrypted output will be), or spoof the sender? If not, I don't see a problem with this self-designed protocol. All protocols have been designed by one team or another at some point. –  Luc Apr 5 at 16:27
1  
@Luc I really wish I can downvote comments. Really? Non-standard crypto doesn't make you nervous? Do you want to encourage people to use crypto protocols without strong theoretical foundations? What happens when adoption reaches critical mass and a serious vulnerability is found? Yes, protocols need to be designed by people. But the people designing them should be trained cryptographers and the protocol needs to be peer reviewed by other trained cryptographers. –  Terry Chia Apr 5 at 16:39
2  
@TerryChia I understand your point, and I too distrust any crypto in new apps, but I don't think this is the major concern when using Telegram right now. The protocol has been looked at by a few smart people and so far I've yet to hear actual issues, so that in my opinion that moves it from "distrusted" to "probably one of the lesser issues". Things like not having plausible deniability, leaking metadata, devices being pwned, people not comparing the encryption key out of band, etc. seem like much bigger issues when deciding whether one should say product X can be ultimately trusted. –  Luc Apr 5 at 19:23
1  
@Mosselman and who are you to decide whether I have "basic knowledge"? Can't find anything crypto-related on your profile unless you stego'd something into that child's cartoon character. –  Luc May 9 at 12:32
1  
You've proven that Telegram uses a non standard protocol, that, we already know. But who knows, it might turn out to be secure, no one has objectively examined MTProto yet. The only claim is "This is not standard, therefore this is not secure". –  Hello World May 15 at 18:16

As the Telegram FAQ mentions, there is a 'secret chat' option that does not store chats on their servers.

As for the underlying question of, "does storing chats lower their security?" then that is something to consider. Chats being stored on the server does mean that copies can be made on the server for decryption later. This increases the exposure of the messages. Encrypting the messages means that there is a high cost to decrypt the messages, but there is still some exposure.

Taking this added exposure into account, the real question becomes (as it always does), "what are you protecting from?" If you are worried about secure communications in transit, then Telegram 'appears' to be more secure. If you're worried about secure communications at rest, then WhatsApp 'appears' to have a better model, except that none of it is encrypted.

The answer, then, is 'it depends on your focus', and encryption is better than non-encryption, and there is the Telegram's 'secure chat' option.

share|improve this answer

I will compare Telegram and Whatsapp in 3 aspects: Storage of messages, encryption, and zero-day vurnerabitiles.

In fact I will be comparing 3 technologies: Telegram's regular chats (which I will refer to as "normal chats", or simply "chats"), Telegram's secret chats, and Whatsapp.

1. Storage

Let us assume that both Whatsapp and Telegram completely adhere to their privacy policies.

  • Whatsapp

Whatsapp will not store your chats unless they are not yet delievered to the receipient.

An excerpt from WhatsApp's Legal notes:

The contents of messages that have been delivered by the WhatsApp Service are not copied, kept or archived by WhatsApp in the normal course of business. The WhatsApp Service is meant to be a SMS replacement, using data service through a user’s phone (either via cell network or wifi). Users type their messages, which are sent via data service to our servers, and routed to the intended recipient (who must also be a WhatsApp user), if that recipient is online. If the recipient is not online, the undelivered message is held in WhatsApp’s server until it can be delivered. If the message is undelivered for thirty (30) days, the undelivered message is deleted from our servers.

  • Telegram, regular chats

Telegram stores all your ordinary chats.

An excerpt from Telegram's Privacy Policy:

Ordinary Messages

Telegram is a cloud service. We store messages, photos, videos and documents from your ordinary chats on our servers, so that you can access your data from any of your devices anytime. All data is stored heavily encrypted and the encryption keys in each case are stored in several other DCs in different jurisdictions. This way local engineers or physical intruders cannot get access to user data.

  • Telegram, secret chats

Telegram does not store your secret chats. Even if they did it would be useless because it is end-to-end encrypted.

Secret Chats

Secret chats use end-to-end encryption. We do not store your secret chats on our servers. We also do not keep any logs for messages in secret chats. What this all means, is that there is no way for us to know who or when you message via secret chats — as soon as the messages are delivered, they're gone. And there is no way for anybody, including us, to learn what was in those messages, photos or videos. For the same reasons secret chats are not available in the cloud — you can only access those messages from the device they were sent to or from

When it comes to storage, Telegram's regular chats are less secure than Whatsapp. However, when it comes to secret chats it is superiorly more secure than Whatsapp. Because the data remains encrypted until it reaches the receiving party's phone.

But there is no guarantee that a company obeys its privacy policy. And the NSA revelations have proved so beyond doubt. Assuming that all companies store everything, Telegram secret chats would remain safe thanks to their end-to-end encryption. (See next section)

2. Encryption

  • Telegram uses an open non-standard protocol which needs more peer-review.
  • Whatsapp uses an undisclosed protocol.
  • A Telegram secret chat employs end-to-end encryption using Diffie-Hellman Key exchange. It is similiar to XMPP's OTR, but employs no perfect-forward secrecy.*

Wikipedia:

As of August 15, 2012, the WhatsApp support staff claim messages are encrypted in the "latest version" of the WhatsApp software for iOS and Android (but not BlackBerry, Windows Phone, and Symbian), without specifying the implemented cryptographic method.

Diffie-Hellman End-to-end encryption is known to be practically unbreakable when used properly even if one does not trust the server passing on the messages. **

Therefore, secret chats are unbreakable assuming they were used properly and there isn't a serious flaw with the Telegram client software (read zero-day attacks section!).

"Properly" means authentication is achieved. In telegram this should be done by physically meeting with the other party and making sure the barcodes on the two devices are identical. Alternatively, the barcodes can be compared via a channel known to be secure

*Perfect forward secrecy can be emulated by constantly removing chats, re adding them, and re-comparing the keys. But that's hard in practice.

**It is still unclear to me what exactly is done after the keys are exchanged in secret chats, this is the key question to whether Telegram secret chats have proven security or not. Therefore, I opened a question regarding that.

3. Zero-day attacks / Security vulnerabilities

  • Whatsapp is proprietary software.
  • Telegram is open-sourced.

Therefore more eyes are inspecting the code, therefore the likelihood of a vulnerability is far lower. However, Telegram's server-side code is closed-source. But as stated earlier, one needs not to trust the server when one is using secret chats.

Whatsapp has a long history of security vulnerabilities which would have been detected early if it weren't the black box it currently is. (Links soon, you may Google "Whatsapp security" for now)

Conclusion

First place: Telegram's secret chats are the king of the ring (When properly used as explained above): Encryption is end-to-end, chats aren't stored and even if they are being stored data extraction is impossible thanks to end-to-end DH.

Second place: If chat storage is of the highest concern for you, Whatsapp comes second. Even though there is no guarantee they obey their privacy policy, there is a 100% guarantee that Telegram stores regular chats, it's part of their policy. If you're really paranoid, second place isn't enough.

If you're worried about the fact that Whatsapp uses some undisclosed black magic which might have hidden vulnerabilities and you don't mind companies storing your chats, or believe that companies store your chats anyways, Telegram's regular chats come second.

Third place: Either Whatsapp or Telegram's regular chats, depending on who you picked second.

Other things to consider

  • Facebook acquired Whatsapp, their policy regarding message storage may change, as Facebook's main revenue relies on data mining. Telegram is a non-profit organization.
  • Telegram's secret chats are great, but comparing barcodes is required for each individual you would like to chat with. This might be an inconvenient for some.
  • Telegram is open source and has a completely FOSS version at F-droid which doesn't rely on Google Services or HockeySDK. Generally FOSS is more secure because you know what code you're running and you're assured it contains no evil code.
  • Although the Telegram crypto contest has been criticized, it already yielded some fruit. A weakness in the way secret chat keys are generated has been detected by the community, and the person* who detected it has been awarded $100K. Problems like that would take forever to be detected in a closed protocol like Whatsapp's

*A rough English translation of the same link.

P.S: I don't have enough reputation to comment on Terry's answer, but I think that referencing the Unhandled Expression blog post is not a good idea because it is full of emotion and inaccurate info and it didn't objectively prove that the protocol is insecure. Please see the comments section of that blog post.

P.S 2: A non-standard crypto is not necesarilly less secure, and it is definitely more secure than an undisclosed crypto.

share|improve this answer
    
"A non-standard crypto is not necesarilly less secure." Every single respectable cryptographer in the world will disagree with you. –  Terry Chia Apr 4 at 12:52
2  
Arguing about that may lead to an extended discussion, so I will avoid it. But please consider editing your answer and not referencing the Unhandled Expression blog post as it is misinformative. I kindly ask that you read it thoroughly, along with the comments. –  Hello World Apr 4 at 12:55
1  
As a side note, voting down my answer because of a P.S which I would have posted as a comment if I could is unfair. In case there's an issue with the answer itself, I would love to hear it and possibly correct my mistakes. –  Hello World Apr 4 at 13:25
    
I said I won't discuss it but I can't help but asking: Suppose I invent my own chat client which uses those good old information-theoretically secure One-time pads. Is it less secure than Whatsapp just because it doesn't use a standard protocol? –  Hello World Apr 4 at 16:35

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.