iMessage

From Wikipedia, the free encyclopedia

iMessage
IMessage logo (Apple Inc.).png
Messages iOS 7 Screenshot.png
A thread of conversation and media in the Messages application on iOS 8
DeveloperApple Inc.
TypeInstant messaging
Launch dateOctober 12, 2011; 10 years ago (2011-10-12)
Platform(s)iPhone, Apple Watch, iPad, iPod Touch, Mac
Operating system(s)iOS, iPadOS, macOS, watchOS
StatusActive
Websitesupport.apple.com/explore/messages

iMessage is an instant messaging service developed by Apple Inc. and launched in 2011. iMessage functions exclusively on Apple platforms: macOS, iOS, iPadOS, and watchOS.

Core features of iMessage, available on all supported platforms, include sending text messages, images, videos, and documents; getting delivery and read statuses (read receipts); and end-to-end encryption so only the sender and recipient - no one else, including Apple itself - can read the messages. The service also allows sending location data and stickers. On iOS and iPadOS, third-party developers can extend iMessage capabilities with custom extensions, an example being quick sharing of recently played songs.

Launched on iOS in 2011,[1] iMessage arrived on macOS (then called OS X) in 2012.[2] In 2020, Apple announced an entirely redesigned version of the macOS Messages app which adds some of the features previously unavailable on the Mac, including location sharing and message effects.

History[]

iMessage was announced by Scott Forstall at the WWDC 2011 keynote on June 6, 2011. A version of the Messages app for iOS with support for iMessage was included in the iOS 5 update on October 12, 2011. On February 16, 2012, Apple announced that a new Messages app replacing iChat would be part of OS X Mountain Lion.[2] Mountain Lion was released on July 25, 2012.

On October 23, 2012, Apple CEO, Tim Cook announced that Apple device users have sent 300 billion messages using iMessage and that Apple delivers an average of 28,000 messages per second.[3] In February 2016, Eddy Cue announced that the number of iMessages sent per second had grown to 200,000.[4]

In May 2014, a lawsuit was filed against Apple over an issue that, if a user switches from an Apple device to a non-Apple device, messages being delivered to them through iMessage would not reach their destination.[5][6] In November 2014 Apple addressed this problem by providing instructions and an online tool to deregister iMessage.[7][8] A federal court dismissed the suit in Apple's favor.[9]

On March 21, 2016, a group of researchers from Johns Hopkins University published a report in which they demonstrated that an attacker in possession of iMessage ciphertexts could potentially decrypt photos and videos that had been sent via the service. The researchers published their findings after the vulnerability had been patched by Apple.[10][11]

On June 13, 2016, Apple announced the addition of Apps to iMessage service, accessible via the Messages apps. Apps can create and share content, add stickers, make payments, and more within iMessage conversations without having to switch to standalone apps. One could develop standalone iMessage apps or an extension to existing iOS apps. Publishers can also create standalone stickers apps without writing any code.[12] According to Sensor Tower, as of March 2017 the iMessage App Store features nearly 5,000 Message-enabled apps.[13]

At the WWDC 2020 keynote on June 22, 2020, Apple previewed the next version of its macOS operating system, planned for release in late 2020. Big Sur ships with a redesigned version of Messages with features previously available only on iOS devices, such as message effects and location sharing.

Features[]

A blank new message created with the Messages application running on iOS 15 on an iPhone. When the sender is sending an iMessage, the "Send" button will appear blue notifying the message that is about to be sent is an iMessage instead of an SMS.

iMessage allows users to send texts, documents, photos, videos, contact information, and group messages over the Internet to other iOS or macOS users. iMessage is an alternative to the SMS and MMS messaging for most users with devices running iOS 5 or later. The "Send as SMS" setting under Messages will cause the message to be sent via SMS if the sender does not have an active Internet connection. If the receiver has no Internet connection, the message should be stored on a server until a connection is restored.

iMessage is accessible through the Messages app on an iPhone, iPad or iPod touch running iOS 5 or later, or on a Mac running OS X Mountain Lion or later. Owners of these devices can register one or more email addresses with Apple. Additionally, iPhone owners can register their phone numbers with Apple, provided their carrier is supported. When a message is sent to a mobile number, Messages will check with Apple if the mobile number is set up for iMessage. If it is not, the message will seamlessly transition from iMessage to SMS.[14]

In Messages, the user's sent communication is aligned to the right, with replies from other people on the left. A user can see if the other iMessage user is typing a message. A pale gray ellipsis appears in the text bubble of the other user when a reply is started. It is also possible to start a conversation on one iOS device and continue it on another.[14] On iPhones, green buttons and text bubbles indicate SMS-based communication; on all iOS devices, blue buttons and text bubbles indicate iMessage communication.

All iMessages are encrypted and can be tracked using delivery receipts.[15] If the recipient enables Read Receipts, the sender will be able to see when the recipient has read the message. iMessage also allows users to set up chats with more than two people—a "group chat".

With the launch of iOS 10, users can send messages accompanied by a range of "bubble" or "screen" effects.[16][17] By holding down the send button with force, the range of effects is surfaced for users to select an effect to be sent to the receiver.

With the launches of iOS 14 and macOS 11 Big Sur, users gain a myriad of features such as the ability to pin individual conversations, mention other users, set an image for group conversations, and send inline replies. Additionally, more of the features from the Messages app on iOS and iPadOS were ported over to their macOS counterpart.[18]

Technology[]

The iMessage protocol is based on the Apple Push Notification service (APNs)—a proprietary, binary protocol.[19] It sets up a Keep-Alive connection with the Apple servers. Every connection has its own unique code, which acts as an identifier for the route that should be used to send a message to a specific device. The connection is encrypted with TLS using a client-side certificate, that is requested by the device on the activation of iMessage.

Platforms[]

iMessage is only available on the Apple operating systems, such as iOS, iPadOS, macOS, and watchOS. Unlike some other messaging apps, it does not have compatibility for Android or Microsoft Windows, and does not have any web access/interface. This means iMessage must be accessed using the app on a device using an Apple operating system.

Unofficial platforms[]

iMessage is only officially supported on Apple devices, but many apps exist that forward iMessages to devices that don't run Apple's operating system. The iMessage forwarding apps achieve this by creating an iMessage server on an iOS or macOS device that forwards the messages to a client on any other device, including Android, Windows, and Linux machines. The apps that use an iOS device as a server require the device to be jailbroken.

On November 23, 2012, Beast Soft released the first version of their Remote Messages jailbreak tweak for iOS 5.[20] Remote Messages created an iMessage and SMS server on the iOS device that could be accessed by any other internet enabled device through a web app. Remote Messages had the ability to send any attachments from the client device, as well as sending photos from the iOS server device through the web app. Beast Soft would continue to update Remote Messages through October 2015, supporting all iOS versions from iOS 5 through iOS 9.[21]

On May 3, 2016, an independent open-source project named "PieMessage" was announced by app developer Eric Chee,[22] consisting of code for OS X that communicates with iMessage and connects to an Android client, allowing the Android client to send and receive messages.[23][24]

On October 16, 2017, following inactivity from Beast Soft as well as a monetary bounty[25] requesting an iMessage tweak compatible with iOS 10, SparkDev released AirMessage.[26] AirMessage was similar to Remote Messages in that the client was accessed through a web app, however it was more limited in features and did not support sending attachments like Remote Messages previously had. AirMessage also did not add support for any of the new iMessage features of iOS 10, such as tapback reactions or screen effects. AirMessage was updated through June 2020, ending with support for iOS 10 through iOS 13.[27]

On December 10, 2017, 16-year-old developer Roman Scott released weMessage, the first publicly available Android app that forwarded iMessages from a macOS server device to an Android client.[28][29] Scott released two substantial updates to weMessage, the first of which added iMessage screen effects and bug fixes[30] and the second of which added SMS and MMS support, as well as fixes for contact syncing and server management.[31] On November 11th, 2018, citing his inability to spend more time on the project, Scott open-sourced weMessage.[32]

On February 22, 2019[33] independent developer Cole Feuer released the AirMessage app for Android.[34] Feuer's AirMessage coincidentally shares a name with SparkDev's iOS tweak, but AirMessage for Android is not in any way related to the AirMessage jailbreak tweak. AirMessage for Android includes code for a server running on OS X Yosemite and higher, and an Android client that runs on Android 6 and higher that can send and receive iMessages.[35] Like weMessage, AirMessage has support for displaying, but not sending, screen effects, and AirMessage also has the ability to display tapback messages and send tapback notifications. In January 2020, Feuer released an update that added SMS and MMS capabilities, as well as web link previews, a photo gallery viewer, and the ability to send a location message.[36]

On August 15, 2020, Ian Welker released SMServer as a free and open-source iOS jailbreak tweak for iOS 13 that uses a web app client.[37] Welker maintains an API on his GitHub page with extensive documentation on how to use the IMCore and ChatKit libraries.[38] SMServer was the first app to support iOS 14 and macOS Big Sur features of iMessage, such as group chat photos and displaying pinned conversations. It was also the first app to support remote sending of tapback messages and subject line text.

On August 21, 2020, Eric Rabil released a video showcasing his upcoming server and web app, MyMessage.[39][40] MyMessage was the first app to showcase support for sending tapback messages and receiving digital touch and handwritten messages, which Rabil claimed to have acheieved by writing code that directly communicated with the iMessage service rather than using AppleScript and reading the database.[41] MyMessage is the only app to run its server on both macOS and iOS, but as of February 2021, only the server component of MyMessage has been released, with the web app frontend still receiving stability development.

From August 2020 through October 2020, a free and open-source project called BlueBubbles[42] was publicly released. BlueBubbles was built to address some of the difficulties and limitations of AirMessage for Android, such as the fact that AirMessage was closed source, required port forwarding, and had no native apps for operating systems such as Windows or Linux. BlueBubbles requires a server running MacOS High Sierra or higher, and like AirMessage, it has some limitations on MacOS Big Sur. In November and December 2020, BlueBubbles added the ability to send and receive typing indicators from the Android app, as well as the ability to send read receipts and tapback messages. (both on Android)[43]

On January 29, 2021, Aziz Hasanain released a free and open-source jailbreak tweak called WebMessage for iOS 12 through iOS 14.[44] Hasanain used Welker's documentation of the IMCore and ChatKit libraries to assist his development of WebMessage,[45] which is the first jailbreak tweak to use a downloaded app as the client instead of a web app.

Reception[]

On November 12, 2012, Chetan Sharma, a technology and strategy consulting firm, published the US Mobile Data Market Update Q3 2012, noting the decline of text messaging in the United States, and suggested the decline may be attributed to Americans using alternative free messaging services such as iMessage.[46]

In 2017, Google announced they would compete with iMessage with their own messaging service, Android Messaging.[47]

Security and privacy[]

On November 4, 2014, the Electronic Frontier Foundation (EFF) listed iMessage on its "Secure Messaging Scorecard", giving it a score of 5 out of 7 points. It received points for having communications encrypted in transit, having communications encrypted with keys the provider doesn't have access to (end-to-end encryption), having past communications secure if the keys are stolen (forward secrecy), having their security designs well-documented, and having a recent independent security audit. It missed points because users can not verify contacts' identities and because the source code is not open to independent review.[48] In September 2015, Matthew Green noted that, because iMessage does not display key fingerprints for out-of-band verification, users are unable to verify that a man-in-the-middle attack has not occurred. The post also noted that iMessage uses RSA key exchange. This means that, as opposed to what EFF's scorecard claims, iMessage does not feature forward secrecy.[49]

On August 7, 2019, researchers from Project Zero presented 6 “interaction-less” exploits in iMessage that could be used to take over control of a user's device.[50] These six exploits have been fixed in iOS 12.4, released on July 22, 2019, however there are still some undisclosed exploits which will be patched in a future update.[51]

Project Pegasus revelations in July 2021 found the software used iMessage exploits.

See also[]

  • FaceTime, Apple's videotelephony service which also uses APNs
  • Signal (software), an end-to-end encrypted messenger with forward secrecy, available for the same platforms on which iMessage runs
  • Threema
  • WhatsApp
  • Facebook Messenger
  • WeChat
  • Line
  • Skype
  • Snapchat

References[]

  1. ^ "iOS 5 - See new features included in iOS 5". Apple. Archived from the original on March 8, 2012. Retrieved October 10, 2011.
  2. ^ a b "OS X Mountain Lion - Inspired by iPad. Made for the Mac". Retrieved February 18, 2012.
  3. ^ Zach Epstein (October 23, 2012). "Apple Kicks Off iPad Mini Event: 3 Million New iPods Sold, iOS 6 Now On 200 Million Devices". Boy Genius Report. Retrieved February 17, 2013.
  4. ^ Leswing, Kif (February 12, 2016). "Apple says people send as many as 200,000 iMessages per second". Business Insider. Retrieved December 20, 2016.
  5. ^ Jim Edwards (May 16, 2014). "Apple Lawsuit iPhones Don't Deliver Texts To Android". Business Insider. Retrieved June 14, 2014.
  6. ^ Rosenblatt, Joel (May 16, 2014). "Apple Sued Over Vanishing Texts After IPhones Swapped Out". Bloomberg L.P.
  7. ^ "If you can't receive text messages from an iPhone - Apple Support". Support.apple.com. September 5, 2017. Retrieved October 14, 2018.
  8. ^ "Deregister and Turn Off iMessage - Apple Support". Selfsolve.apple.com. January 1, 1970. Retrieved October 14, 2018.
  9. ^ Slotnick, Stacy (August 12, 2015). "Apple Avoids Class Action Lawsuit Over iMessages". UrbanGeekz. Retrieved December 20, 2016.
  10. ^ Garman et al. 2016
  11. ^ Nakashima, Ellen (March 21, 2016). "Johns Hopkins researchers poke a hole in Apple's encryption". The Washington Post. Nash Holdings LLC. Retrieved March 21, 2016.
  12. ^ Inc., Apple. "iMessage - Apple Developer". developer.apple.com. Retrieved September 23, 2016.
  13. ^ Perez, Sarah. "Six months in, iMessage App Store growth slows as developers lose interest". TechCrunch. Retrieved March 17, 2017.
  14. ^ a b MG Siegler (June 6, 2011). "Apple Has Finally Stuck A Dagger Into SMS. I Love It". TechCrunch. Retrieved February 17, 2013.
  15. ^ Apple. "New Version of iOS Includes Notification Center, iMessage, Newsstand, Twitter Integration Among 200 New Features". Retrieved October 1, 2013.
  16. ^ Padhiyar, Jignesh (January 3, 2019). "How to Send iMessage with Screen Effect on iPhone and iPad". iGeekBlog.
  17. ^ N, Nurdin (August 8, 2019). "How to use and send iMessage with Effects (Bubble and Screen)". iTechCliq.
  18. ^ "macOS Big Sur Preview - Features". Apple. Retrieved June 22, 2020.
  19. ^ Kumparak, Greg (February 27, 2014). "Apple Explains Exactly How Secure iMessage Really Is". TechCrunch. Retrieved October 6, 2016.
  20. ^ Beast Soft [@beastsoft] (November 23, 2012). "Remote Messages v1.0 is now available on Cydia. (Browser based front-end for the iOS Messages app)" (Tweet). Retrieved March 3, 2021 – via Twitter.
  21. ^ Beast Soft [@beastsoft] (October 27, 2015). "Remote Messages 3.2 for iOS 9 is now live on the BigBoss repo. It's a free update. Please let us know if anything isn't working" (Tweet). Retrieved March 3, 2021 – via Twitter.
  22. ^ "PieMessage open-source project brings iMessage to Android using your Mac as a server". 9to5Mac. May 3, 2016. Retrieved October 14, 2018.
  23. ^ Paul Miller (May 4, 2016). "PieMessage project brings iMessage to Android". The Verge.
  24. ^ PieMessage on GitHub
  25. ^ "[$50][10.1.1] RemoteMessages alternative". May 29, 2017.
  26. ^ Spark [@SparkDev_] (October 16, 2017). "[Release][$3.99] AirMessage - A Remote Messages Alternative for iOS 10 t.co/uNeLflxO3m" (Tweet). Retrieved March 3, 2021 – via Twitter.
  27. ^ Spark [@SparkDev_] (June 30, 2020). "AirMessage Beta 3.0.4~Beta1 is now on the repo for Member Plus! Brings full iOS 13 support and various bug fixes and improvements. Enjoy :) t.co/jlHF7s5wmf" (Tweet). Archived from the original on June 30, 2020. Retrieved March 3, 2021 – via Twitter.
  28. ^ Archived at Ghostarchive and the Wayback Machine: "weMessage - iMessage For Android". YouTube.
  29. ^ Scott, Roman [@TheRomanScott] (December 10, 2017). "weMessage allows you to use iMessage from an Android device. It has finally been published on the Play Store! Check it out! t.co/AziLjtoItl #imessage #android #bluebubble" (Tweet). Retrieved March 3, 2021 – via Twitter.
  30. ^ Scott, Roman [@TheRomanScott] (January 2, 2018). "Version 1.1 has been released! This release adds Contact Sync, Message Effects (like fireworks and invisible ink), and "fixes" messages not showing up. I had no idea how many people wanted Contact Sync! Thanks to everyone who suggested it, and keep recommending more features" (Tweet). Retrieved March 3, 2021 – via Twitter.
  31. ^ Scott, Roman [@TheRomanScott] (February 20, 2018). "Version 1.2 has been released! It adds FULL SMS and MMS support, Contact Sync for phone contacts, a Contact List Screen, the ability to delete contacts, Failover IP Addresses, a Retry Send button, notification badges, fixed notifications and Mac Contact Sync, and more!" (Tweet). Retrieved March 3, 2021 – via Twitter.
  32. ^ Scott, Roman [@TheRomanScott] (November 11, 2018). "Hey! I have decided to open source weMessage due to my inability to work on it due to time constraints: t.co/Q177muYGug. If you would like to donate to the project, a link is included on that page. Thank you all for your continued support of this project!" (Tweet). Archived from the original on November 12, 2020. Retrieved March 3, 2021 – via Twitter.
  33. ^ "AirMessage - Apps on Google Play".
  34. ^ Feuer, Cole (October 9, 2020). "Introducing a new era of messaging: AirMessage Cloud". AirMessage.
  35. ^ "About". AirMessage.
  36. ^ "AirMessage 0.5 - Texting integration, smarter tapbacks, and a happy new year!". January 11, 2020.
  37. ^ "[Free Release] SMServer - send texts from your browser - Available on Twickd now!". August 11, 2020.
  38. ^ "SMServer". GitHub. November 17, 2021.
  39. ^ Rabil, Eric [@ericrabil] (August 21, 2020). "Coming soon to a browser near you t.co/WLPCq52W36" (Tweet). Archived from the original on August 21, 2020. Retrieved March 3, 2021 – via Twitter.
  40. ^ "[Upcoming] MyMessage – the full iMessage experience from a browser. Follow me at @ericrabil on Twitter for more updates". August 21, 2020.
  41. ^ "[Upcoming] MyMessage – the full iMessage experience from a browser. Follow me at @ericrabil on Twitter for more updates". August 21, 2020.
  42. ^ https://bluebubbles.app
  43. ^ "Using Private API Features · BlueBubblesApp/Bluebubbles-server Wiki". GitHub.
  44. ^ "[Free Release] WebMessage - Your messages, on every device". January 29, 2021.
  45. ^ "[Upcoming] WebMessage - Send & receive texts from the comfort of your computer". December 18, 2020.
  46. ^ Suzanne Choney. "Text messaging is on decline in US, says report". NBC News. Archived from the original on November 14, 2012. Retrieved February 17, 2013.
  47. ^ "GVA's Garrity on Alphabet Making a Push Into Android Messaging". Bloomberg.com. Retrieved March 14, 2017.
  48. ^ "Secure Messaging Scorecard. Which apps and tools actually keep your messages safe?". Electronic Frontier Foundation. November 4, 2014. Retrieved September 26, 2016.
  49. ^ Green, Matthew (September 8, 2015). "Let's talk about iMessage (again)". A Few Thoughts on Cryptographic Engineering (Blog). Retrieved March 22, 2016.
  50. ^ Newman, Lily Hay (August 7, 2019). "Hackers Can Break Into an iPhone Just by Sending a Text". Wired. ISSN 1059-1028. Retrieved August 9, 2019.
  51. ^ "About the security content of iOS 12.4". Apple Support. Retrieved August 9, 2019.

Further reading[]

Retrieved from ""