Live data from Hacker News

iMessage, explained

jjtech.dev

121–130 of 163 posts

Re: iMessage, explained

#121
post #67

Gonna repeat myself since iMessage hasn't improved one bit after four years. I also added some edits since attacks and Signal have improved. iMessage has several problems: 1. iMessage uses RSA instead of Diffie-Hellman. This means there is no forward secrecy. If the endpoint is compromised at any point, it allows the adversary who has a) been collecting messages in transit from the backbone, or b) in cases where clie…

> It’s not really designed to be an encryption system as much as it is a text message system that happens to include encryption.

And yet, Apple uses this (flawed?) encryption in lots of other features. It's not a messaging platform that happens to include encryption, it's a messaging platform (iMessage/Madrid) built on top of a generic/reusable encryption system (IDS), and many other Apple protocols are built on top of IDS. Apple's "platform security guide" has several places where they recognize this:

"When a user signs in to iCloud on a second Handoff-capable device, the two devices establish a Bluetooth Low Energy (BLE) 4.2 pairing out-of-band using APNs. The individual messages are encrypted much like messages in iMessage are."

"When an incoming call arrives, all configured devices are notified using the Apple Push Notification service (APNs), with each notification using the same end-to-end encryption as iMessage."

Re: iMessage, explained

#122

I would like to point out how awesome it is that someone in high school is making this caliber of a post. I've thought at least a dozen times over the last 20 years how i would like to understand macOS internals, and this person is deconstructing it. well done!

Fully agree, but you're even burying the lede here. He didn't just write the blog post, he wrote pypush itself.

I have confirmed with him that he hadn't been born yet when Steve Jobs announced the first iPhone. I feel old.

Re: iMessage, explained

#123

Earlier quoted context omitted.

> the iPhone is nudging me further to giving a Macbook/OSX a try one day, Gaming isn't great on Mac (depending on what games you play), but macbooks are great imo. A pro or an air with apple silicon is worth the money. I've never really appreciated the build quality of a mac before. > I just got an iPhone for the first time, and it is a noticeably better device than my previous Android phones. In what way? What Andro…

My last phone was a Samsung Galaxy A50, and it was pretty good as far as the hardware went. But I felt that Android was bad; I couldn't help but notice that a number of the apps loaded very slowly and had other small glitchy issues. Nothing that would compel a person to switch phones, just a lot of mostly minor inconveniences, except for 2 that really stick out right now: the Android messages web app always had a har…

which iPhone model did you go for?

Re: iMessage, explained

#124
post #123

Earlier quoted context omitted.

My last phone was a Samsung Galaxy A50, and it was pretty good as far as the hardware went. But I felt that Android was bad; I couldn't help but notice that a number of the apps loaded very slowly and had other small glitchy issues. Nothing that would compel a person to switch phones, just a lot of mostly minor inconveniences, except for 2 that really stick out right now: the Android messages web app always had a har…

which iPhone model did you go for?

iPhone 15 (normal)

Re: iMessage, explained

#125
post #5

Genuine question - can a topic really be `opertunistic` or is that author typo? I love these `referer`-type misspellings that become fossilized over generations

The code doesn't seem to use it, but I think it would be a misspelling by the author, as it's probably an integer code.

At the protocol level, they are indeed just integers: https://theapplewiki.com/wiki/Apple_Push_Notification_Servic...

Re: iMessage, explained

#126

Learning the contract is great, thank you for the work! How about the infra stack used by imessages? Does anyone have intel on that? The scale is incredible, which always makes me wonder how it can be so good while other apple web services (forums, dev portals, etc) can be so buggy and half baked

The actual mind-blowing scale is that Apple's push notification service isn't just carrying iMessages. It's also carrying push notifications for every third-party messaging app.

And the non-messaging apps with notifications too.

And the silent internal notifications. You added a meeting to your calendar on your Mac? Push notification to your iPhone to tell it that the iCloud data changed and it needs to update. Changed a file on iCloud Drive? Push notification to sync your other devices. Got a phone call, and it starts ringing on your Mac too via Continuity? Push notification (encrypted like an iMessage).

Just how many messages are going through that service every second?!

Re: iMessage, explained

#127

I was hoping this would explain why iMessage allows invisible messages and attachments. I really can't think of any reason why Apple would want to implement something like that, but they've been predictably used to infect devices.

If you are talking about malware, then there's no need for Apple to implement something like invisible messages. Malware essentially just exploits the parser, takes over execution, and never executes the code to display messages or puts them into the chat history.

Re: iMessage, explained

#128
post #17

This is phenomenal work. You should write a little on how you got into this whole field. There are high school and college kids all over reddit struggling how to excel at technical stuff, learn programming, get a job in tech, and I feel like they can really benefit from your perspective.

In highschool I had basically all day to work on my own stuff. Finishing stuff early, free periods, and doing my own thing when I wasn't supposed to gave me all the time I needed to create and release an app in about 6 months. I was very productive.

Re: iMessage, explained

#129

Earlier quoted context omitted.

I was once asked how I got to where I am, where others in my situation might not have, my response was: “Parents that gave a damn”. It wasn’t about pressuring me, it was about recognising my interest in computers, and fostering that interest as much as was financially possible given our circumstances (which were often dire). My parents aren’t technical, but they did what they could, and I wouldn’t be the engineer I a…

I grew up with a foster mother that actively "suppressed" what I did on the computer, banning me for a month if I didn't get changed immediately after school. Now I've become a senior engineer, but I'm kinda shotty at it, chaotic good in solving problems, but issues with authority and process. Who knows, maybe I would've became a "run of the mill" engineer if she helped.

As an engineering manager I see problems with authority and process as something usually positive.

This usually leads to more things getting done “right” than “wrong”. IME.

Having the same issues/traits I’m not sure how that gets formed - my upbringing was limitless in many ways.

Re: iMessage, explained

#130

Earlier quoted context omitted.

A much more major issue with Macs is planned obsolescence. It’s the only reason I am not buying any Macs.

My late-2013 MacBook Pro recently gave up the ghost. I'd used it daily in the ten years it worked. Are there other PC manufacturers who make laptops that are still useable after ten years?

> other PC manufacturers who make laptops that are still useable after ten years?

my Lenovo Thinkpads are working great after 12 yrs, with 16G ram and disk upgraded to 4TB SSD

Post reply on HN