Today, the folks at APKMirror got ahold of an internal “dogfood” build of Google Messages version 6.2. Here, “dogfood” is used in the sense of the phrase “eat your own dog food,” meaning actually use the product you’re building. Of course, our APK Insight team immediately dug in to see what all is coming with the next version of Google Messages. While we’re still actively looking through the many changes found within, one in particular stood out — end-to-end encryption for RCS messages.
Update 5/26: We now have a screenshot of one of the end-to-end encryption settings pages in action.
About APK Insight: In this “APK Insight” post, we’ve decompiled the latest version of an application that Google uploaded to the Play Store. When we decompile these files (called APKs, in the case of Android apps), we’re able to see various lines of code within that hint at possible future features. Keep in mind that Google may or may not ever ship these features, and our interpretation of what they are may be imperfect. We’ll try to enable those that are closer to being finished, however, to show you how they’ll look in case that they do ship. With that in mind, read on.
RCS end-to-end encryption
For years now, folks have been excited about RCS messaging as being the true successor to SMS and MMS messages and an open competitor to Apple’s iMessage. However, one thing that iMessage has long offered that RCS could not is the ability to know your messages are secure thanks to end-to-end encryption. For an over simplified explanation of end-to-end encryption, your message is encrypted on your device in such a way that it can only be decrypted and read on the recipient’s device, meaning no one should be able to snoop on your conversation.
In this dogfood build of Google Messages 6.2, we’ve found that work is well under way to allow you to send end-to-end encrypted messages via RCS. In fact, there are a total of twelve new strings in the app that make reference to encryption (sometimes shortened to “e2ee”).
<string name=”encrypted_rcs_message”>End-to-End Encrypted Rich Communication Service message</string>
<string name=”send_encrypted_button_content_description”>Send end-to-end encrypted message</string>
<string name=”e2ee_conversation_tombstone”>Chatting end-to-end encrypted with %s</string>
<string name=”metadata_encryption_status”>End-to-end encrypted message</string>
For now, there aren’t enough details to know for sure what the exact requirements are for using this end-to-end encryption. It’s possible that both parties will need to be using the Google Messages app, though this could change once more apps gain support.
What we do know for certain is that both the sender and recipient will need to have a good internet connection simultaneously for these end-to-end encrypted RCS messages to go through. If either of you has a poor connection, Google Messages will offer to send your message through SMS or MMS as a fallback method. Before sending in this way though, the app will remind you that SMS and MMS are not encrypted and ask for your consent.
<string name=”e2ee_fail_to_send_retry_description”>Resend as chat</string>
<string name=”encryption_fallback_title”>Send unencrypted messages?</string>
<string name=”encryption_default_fallback_body”>”SMS/MMS texts aren’t end-to-end encrypted.\n\nTo send with end-to-end encryption, wait for improved data connection or send messages now as SMS/MMS.”</string>
<string name=”encryption_fallback_dialog_accept_button”>Send unencrypted</string>
<string name=”encryption_sent_fallback_body”>”SMS/MMS texts aren’t end-to-end encrypted.\n\nTo send with end-to-end encryption, wait until %1$s has data connection or send messages now as SMS/MMS.”</string>
Interestingly, it looks like Google Messages will also have extra protections in place for your end-to-end encrypted RCS messages. For example, you’ll be able to set whether other Android apps that have permission to see your messages can also see your encrypted messages. You’ll also be reminded that your messages are encrypted when sharing your location.
<string name=”etouffee_to_telephony_setting_title”>Let other apps access end-to-end encrypted messages</string>
<string name=”location_attachment_picker_send_encrypted_content_description”>Send end-to-end encrypted message with selected location %1$s</string>
Update 5/26: Our Dylan Roussel has dug deeper into the new dogfood build and managed to enable some aspects of Google Messages’ RCS encryption settings. While we’re not yet able to actually send or receive encrypted messages, the settings confirm some of what we already learned. Specifically, we can now see a global toggle that decides whether or not third-party apps can read your encrypted messages.
We’ve also found that encrypted messages may have a prefix added by the Google Messages app, currently configured to read, “This is an encrypted message.” For now, we’re not sure how this will be used, though it could be intended to only be seen if a message’s contents have not been decrypted.
As all of this is only just beginning to appear in a “dogfood” build of Google Messages, we still have a bit of waiting to do before end-to-end encryption arrives for RCS. That said, it’s clear Google wants RCS to be a legitimate competitor to iMessage, matching it both in features like message reactions for the everyday user and ones like encryption for the more security conscious.
Dylan Roussel contributed to this article
More on Google Messages:
- [Update: Five more] Google Messages starts RCS rollout in several new countries
- [Update: Rolling wider] Google Messages tests iMessage-like reactions in RCS for some
- Messages for web to get Google Fi integration w/ calls, voicemail, more [APK Insight]
FTC: We use income earning auto affiliate links. More.