How does WhatsApp use end-to-end encryption when sending notifications containing decrypted messages?

I’m not quite sure if this question can be asked on this forum, so if you think you need to postpone it, let me know.

A few days ago, WhatsApp announced that from now on they will use end-to-end encryption to encrypt all conversations and calls and display according to the banners in each chat:

Encryption Completion Announcement

This means that you receive an encrypted message from your servers and decrypt it with your private key, which is stored only locally, since WhatsApp indicates :

WhatsApp servers do not have access to the private keys of WhatsApp users.

Now, even for encrypted chats, I noticed that the push notification (on iOS) nonetheless contains a decrypted message , as usual, not only meta-information (this person X sent you a message) for senders encrypted to the end. Since WhatsApp claims that they do not have their private key on their server (which would completely eliminate end-to-end encryption), there must be a way to decrypt the notifications locally (or another process) of notifications before they are delivered , or WhatsApp will lie about them using end-to-end encryption.

Now I would like to know if it is possible to process iOS notifications before delivery (for example, receive a payload with an application running in the background, then process it and ultimately send a local notification), and if so, how can this be done. As far as I know, this is not possible , so WhatsApp will lie. What do you know / think?

+5
source share
1 answer

There is a VoIP background mode that supports your socket connection online (on a WhatsApp server). They can receive a message from this socket, and then send a local notification. What do you think? I am also interested in this problem.

+1
source

Source: https://habr.com/ru/post/1246704/


All Articles