8 ms·
What I don't understand about the whole Signal E2EE model is that while your messages themselves may be encrypted, they are still sending push notifications ove
by akouri 5y ago
What I don't understand about the whole Signal E2EE model is that while your messages themselves may be encrypted, they are still sending push notifications over Apple's servers, which have to go through APNS. Often the entire message contents can be contained in the push notification.
Does anybody know if Apple's notifications are E2EE? I doubt that gov't doesn't have access to the push notifications...
- NdMAND 5y agoI believe they are encrypted (and decrypted on device by the Signal app). They recently had to do some rewriting of the code for iOS15 - they share some comments about that here: https://community.signalusers.org/t/beta-feedback-for-the-upcoming-ios-5-24-release/38272 https://community.signalusers.org/t/beta-feedback-for-the-up... Hope it helps Edit: wow people were fast to reply…
- akouri 5y agoSweet, thanks for the link to that discussion. Looks like they're handling it :)
- tptacek 5y agoHandling what? They've never depended on Apple for encryption.
- Klonoar 5y agoI'm actually surprised they didn't use a notification extension before. They're surprisingly great as an API - I used it to dynamically render preview line chart images for a finance app I worked on a few years ago. Just send over the limited line data, render the image, and you're good to go.
- sdcooke 5y agoI don't know how Signal works but it is possible to send a silent encrypted push notification that the app can decrypt and show as a local notification.
- indigomm 5y agoThey send an empty push message to the device. This then causes the app to wake up, and fetch the actual message from Signal's servers.
- diebeforei485 5y agoHere's how encrypted notifications can be decrypted on the device- https://developer.apple.com/documentation/usernotifications/unnotificationserviceextension https://developer.apple.com/documentation/usernotifications/...
- camhart 5y agoI'm guessing here, but wouldn't they just push the e2ee message through APNS? Then decrypt client side. Or does Apple require plaintext messages for push notifications (that seems bad if they do)?
- akouri 5y agoWhen you craft a push notification server-side, it contains the payload in plaintext. Now, that is probably encrypted in Apple-land, but my point is that the gov't probably has sunk its teeth into Apple already. So, yea signal's encryption may be open source and proven, but I doubt Apple's doesn't have a backdoor.
- MrKristopher 5y agoNot sure if Signal is doing this, but they could send a notification with title "New message" and encrypted payload. The payload can be processed by a client-side notification extension which decrypts the payload and chooses what notification text the user will see.
- ylk 5y agoI mean Apple themselves is telling devs to not send sensitive data in the actual notification > [...] never include sensitive data or data that can be retrieved by other means in your payload. Instead, use notifications to alert the user to new information or as a signal that your app has data waiting for it. https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html https://developer.apple.com/library/archive/documentation/Ne...
- egberts1 5y agothat’s why Signal sends an empty notification then uses their own EE2E for notification wordings.
- diebeforei485 5y agoNot true. The server can send encrypted (not plaintext) payload. The client can then use a NotificationExtension to decrypt the payload as it comes in. https://developer.apple.com/documentation/usernotifications/unnotificationserviceextension https://developer.apple.com/documentation/usernotifications/...
- ericpauley 5y agoI would (naively) assume that the notification service sends opaque (encrypted) blobs that are processed (decrypted) by the app before display to the user.
- Gaelan 5y agoI'm not too familiar with this, but my understanding is that the push notification just wakes up the Signal app, then the Signal app gets the encrypted message (either from Signal's servers or the push notification payload, I'm not sure) and decrypts it client-side and provides the notification text.
- sulam 5y agoAre you sure they use APNS? They could simply use app notifications.
- drifkin 5y agoYou can send an invisible push notification that tells an iOS app to wake up in the background and check for updates: https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app https://developer.apple.com/documentation/usernotifications/...
- jerryluc 5y agoI was wondering about the same thing. I think that signal just sends a message to APNS (and Google’s equivalent) that you have something to look at like a new message or whatever. That makes the app wake up and goes to signals servers for the actual content and the app creates the actual notifications on your device.
- deleted 5y ago[deleted]
- almog 5y agoEven if the push notifications themselves are encrypted, isn't there still the question of whether Apple store the (App x Notification x User/phone number) graph?
- nicce 5y agoThis applies on every single app, and is quite irrelevant as you already trust Apple by using their closed source device. If they want your data, they sure get it.
- almog 5y agoUnless you only contact Signal users who have verified and compiled the client themselves, you put the same kind of trust in Signal, which specify what data is logged (phone numbers are stored hashed for discovery by other users). The same may or may not be true for Apple (I have no idea) but claiming it is irrelevant as an answer to a question about whether an _Apple_ technology is encrypted, is mind boggling to me.
- nicce 5y agoI mean, there is always a root for the trust. In this case, the root is Apple. Signal is one leaf below. Compromising root compromises everything. In this case, root being the device and OS, it has unrestricted access to everything happening by your actions. The data you see on your screen is processed by the CPU, developed by Apple, controlled by kernel, coded by Apple. The can access everything they want.
- JustSomeNobody 5y ago> Often the entire message contents can be contained in the push notification. Good grief, why would you do that? Just send a notification that data is ready and the when the app wakes, go get the remainder of the data from signal servers.