10

Apple says their messages and FaceTime calls are end-to-end encrypted and nobody can access them.

As I'm unfamiliar with cryptology, I've found security white paper from Apple, where says:

FaceTime uses Internet Connectivity Establishment (ICE) to establish a peer-to-peer connection between devices. Using Session Initiation Protocol (SIP) messages, the devices verify their identity certificates and establish a shared secret for each session. The cryptographic nonces supplied by each device are combined to salt keys for each of the media channels, which are streamed via Secure Real Time Protocol (SRTP) using AES-256 encryption.

How secure is FaceTime and is it really impossible to decrypt/access/listen calls and video?

schroeder
  • 123,438
  • 55
  • 284
  • 319
user179996
  • 355
  • 1
  • 2
  • 7
  • This might help you: https://www.eff.org/node/82654 It's a brief analysis made by the EFF. It might also help you refine what you mean by "how secure is it?" – schroeder May 19 '16 at 04:43
  • "how secure is it?" is like saying "how long is a piece of string?", you have omitted too many parameters to enable anyone to sensibly answer the question. – Little Code May 19 '16 at 14:36

2 Answers2

8

If you believe Apple, FaceTime traffic is end-to-end encrypted using AES-256. This is secure, in the sense that somebody intercepting the traffic can not decrypt it (as far as is publicly known).

However, crypto is hard and the security could be compromised if Apple has made an implementation error. I.e. because of a programming bug the traffic may not get encrypted correctly. Apple has previously shown that they made pretty secure systems (e.g. the iPhone in the FBI case), so this is not likely.

Even if the traffic is encrypted, the system is not secure without authentication. If you set up a connection to the wrong person, an encrypted connection is not going to help. In that case you may tell your secrets to somebody pretending to be someone else. Of course in the case of FaceTime it would be pretty hard to impersonate someone, because you can see their face and hear their voice. Verifying that you are talking to the right person is pretty easy, even though there is no technical solution for this in FaceTime.

Sjoerd
  • 28,707
  • 12
  • 74
  • 102
  • 2
    "Apple has previously shown that they made pretty secure systems": well, they also made the "goto fail" vulnerability. – Benoit Esnard Nov 05 '17 at 19:43
0

Depending on who your adversary is, one possible flaw is in how the devices authenticate one another : they ask Apple's servers for the receiver's public key, on which they depend to verify that they are in fact communicating with the right device.

Apple controls these public key servers, and can send one of the devices their own public key instead of the receiver's. Your device will trust this key, but Apple will in fact be able to decrypt your communication before re-encrypting it with the receiver's actual key and sending it to them. That enables Apple to spy on your communications without you noticing it. That's a kind of man-in-the-middle attack.

So Apple's claim that Apple can't spy on your communications only holds as long as Apple doesn't want to spy on you. That means that anyone with control over Apple's servers (rogue Apple employees, rogue Apple executives, law enforcement, intelligence agencies, or hackers who pwned Apple's servers) could impersonate your contact and log your conversations.

I don't know much more about the protocols they use, but Apple has a reputation of caring about their security systems, and employ actual cryptographers to design these systems. If we rule out malicious or compromised Apple key servers, you should be fine.

Here's cryptographer Matthew Green writing about it.

Hey
  • 1,905
  • 1
  • 16
  • 23
  • how does this compare to Whats App, Signal, Telegram and others? in terms of control over the keys - and being able to spy on you "if they wanted to" ? – ycomp Oct 05 '19 at 09:53
  • @ycomp in Signal and WhatsApp at least, you can see the contact’s public key in the settings for a conversation. It’s up to you to compare the keys you see to your contact’s through another channel (in person is better). This prevents impersonation. You should also be notified if the contact’s public key changes. – Hey Oct 05 '19 at 09:59