
Dear Apple: Please set iMessage free - stalled
http://blog.cryptographyengineering.com/2012/08/dear-apple-please-set-imessage-free.html
======
whalesalad
I want to direct this towards the folks commenting here who might be in the
anti-Apple camp. Yes, a walled garden is no fun for anyone once it reaches a
critical mass. We're sort of starting to see this with Twitter, with their
recent API adjustments. Decentralized and open platforms are also really
tough, just look at OpenID. The adoption is not there.

Apple saw that the current SMS implementation was flawed in many ways and
sought out to improve/replace it. For example, all of the carriers (at least
in the US, with the exception of the underdog Sprint) charge an exorbitant
amount of money just to send/receive text messages. I pay $20 per month for
that ability. SMS also has a limit of 160 characters. It also only works via
cellular, whereas iMessage works via data connection. This is awesome for me,
as I live in the boonies where I don't always have a cell connection (but do
have excellent wifi). Being able to reply from multiple devices is also nice.
Let's not forget all of the little 'nice-to-haves' like knowing when a message
has been delivered and/or read, knowing when the other party is replying,
etc...

Alas, they did this because the carriers wouldn't. Prior to Apple releasing
the iPhone, you couldn't buy a phone that didn't have some one-off UI,
preloaded with garbage apps, etc... Apple forced the hand of the mobile
industry with their iPhone (this is obvious to many, but concrete evidence
exists inside of the Samsung vs. Apple court documents recently released)

Apple is now doing this again with iMessage. They took something that really
needed revolutionizing, and did it. It began as something great for members of
the Apple ecosystem. They used their users and platform to prove it, and it's
been successful. I can communicate via my Mac, iPhone, and iPad in a (mostly)
unified experience. So, I do agree and hope that this expands to a wider
audience. That being said, it will be tough. An open consortium leads to all
sorts of issues (ahem, Android) and sometimes having one chef in the kitchen
yields the best overall experience for everyone (Apple).

~~~
HorizonXP
Your argument that Apple revolutionized text messaging is kind of flawed. Even
if you ignore IM/XMPP clients (they're not the same), fact is, RIM did it
first with BlackBerry Messenger (BBM).

With BBM, you get end-to-end messaging between BlackBerry phones, with no
limitations on the lengths of messages. You get a typing notice, delivery
notice, as well as a read notice. You can transfer files, pictures, and video
between devices.

BBM is also very tightly integrated into the OS, more so than any other
platform. It requires no set up on the part of the user, all they need to do
is exchange PIN numbers with their friends. No signup, nothing, it just works.
Moreover, it allows developers to incorporate into their own apps, so they can
provide in-app chat capability, as well as app-to-app communication ability
(e.g. a multiplayer game initiated with you and a BBM friend). What's even
better is that if that friend doesn't have the particular app/game installed,
you can invite them to download it. When you go to invite a friend to use the
app with you, it will only show you BBM contacts with that app installed (i.e.
BBM knows what apps your contacts have). It's a pretty powerful setup,
especially when combined with push notifications. It is leagues ahead of what
XMPP can provide. Just ask WhatsApp or Kik.

RIM misstep (amongst MANY) is that they didn't translate this to other
devices. They have delayed BBM on the PlayBook while they updated their
infrastructure to allow 1 user to use BBM on multiple devices with multiple
PINs. They're fixed this a while ago, and will release it for BlackBerry 10.
They also don't have a desktop client available for public use.

So while iMessage is definitely an improvement over SMS (pretty much anything
is), it still has a lot of catching up to do to BBM. Old school BlackBerry OS
is a pretty shitty system, but they did get BBM right. Apparently, it's going
to be very improved for BlackBerry 10. Here's hoping it is.

Edit: Reading some other comments here, I realize that iMessage's "innovation"
is that when you send a text message to a phone number, it checks to see if
they use iMessage too, and sends it that way instead. While that's cool, it's
by no means revolutionary. Furthermore, you're still shackled by the
limitations of SMS messages. That can be good, can be bad. Finally, I'm
unclear of what happens when you're on your Mac or iPad: do you iMessage
someone using their phone number still? Is that the unique ID?

~~~
orta
The main UUID for an iMessage account is your Apple ID email address, but each
account on iMessage can be hooked up to multiple email addresses also. For
example if your contact for someone has a phone number and email addresses it
will check for the phone number, then check for the associated email
addresses. On my mac I receive all my iMessages because I set my reply to
address to be one of those email addresses on the phone/pad. And yes, you can
iMessage someone to their phone number form your computer / iPad.

iMessage supports all of the end-to-end messaging features above, but doesn't
support letting devs use the messaging function other than being able to send
one-off messages with attached photos / movies in iOS. Apple has something
more like Xbox Live for doing in-app voice chat / messages (GameKit).

------
Nerdfest
As someone else has pointed out, it's an irrelevant protocol until it's made
an open protocol. This will join the pile with FaceTime, iBooks, etc, that
exist merely to lock people into Apples 'garden'. People should _want_ to use
your platform, not be forced to remain there cause they have to. Provide an
open protocol, and make people want to use your products because you have the
best implementation of it.

~~~
Shenglong
I understand the technical issues at hand, and I don't want to dismiss them as
being unimportant--because they are important. However, the majority (who are
non-technical end users) simply don't care.

Security is great, and everyone wants to know that their text messages are as
secure as possible. When it comes to iMessage, however, I've yet to meet a
single _regular_ user who counts improved security as a reason to use
iMessage. Heck, none of them even think iMessage is more secure than a regular
text message.

What do they use iMessage for? It tells you when someone read your text. It
tells you when someone is responding. It sends faster than regular text
messages and confirms that it's actually been sent. Even more importantly, it
allows us to send international text messages for free. As a Canadian being
charged $.35 per text to the US (even though US and Canadian numbers formats
are identical), this means I don't need to reroute a Google Voice number
through 3 numbers just to keep in touch with my US friends.

The selling point of iMessage has never been technical; it's been functional.

~~~
mikeash
A lot of the people out there using iMessage don't even know it. Because it
hooks in so transparently with text messaging, people who used to SMS between
iPhones now iMessage between them and many don't even realize that anything
has changed.

Among those who do know the difference, my experience is that _by far_ the
most common reason to use it is to avoid paying for text messages. (I'm in the
US here, so it's common.) A secondary reason, but really secondary compared to
that, is the fact that it works on other iDevices, not just iPhones.

Until I read these comments, it didn't even occur to me that security might be
an advantage of iMessage. I think the number of people who use iMessage
because of that is roughly zero.

------
epistasis
Yes, please. And if the protocol doesn't turn out to be too horrid to work
with, this will allow interoperable implementations. The last thing we need is
another messaging protocol that only works with one vendor's products.

However, FaceTime was supposed to be submitted to be made into a standard, but
I haven't heard much about that, and with the percentage of time that FaceTime
breaks for me, I'm guessing that it's a pretty nasty protocol and they're too
embarrassed to follow through. Hopefully iMessage is better.

~~~
CrazedGeek
There's a rumor that FaceTime wasn't supposed to be a standard -- when Jobs
announced on-stage that it was going to be, it (supposedly) surprised the
FaceTime developers. <http://zachholman.com/posts/steve-jobs-sometimes-lies/>

~~~
pmjordan
This reminds me of the Mountain Lion/Gatekeeper announcement. We heard it
second hand from John Gruber [1] so it's possible the facts got mixed up on
the way, but developer IDs for Gatekeeper were supposed to be free. As it
turns out, they require you to pay for the Mac developer programme to be able
to sign your apps, just as you do for the App Store.

I can't help but get the feeling they deliberately make these false
announcements to generate goodwill. The gatekeeper misinformation in
particular seems to be extremely pervasive and it causes users to believe
Apple is acting in everyone's interest: it improves security and is free for
developers, right?

Of course, it _could_ just be accidental. Which would strike me as odd for a
company that so closely guards what it communicates.

[1] <http://daringfireball.net/2012/02/mountain_lion>

~~~
huxley
From the Macworld article of the same day it was pretty clear that you needed
to be part of the Apple developer program:

[http://www.macworld.com/article/1165408/mountain_lion_hands_...](http://www.macworld.com/article/1165408/mountain_lion_hands_on_with_gatekeeper.html)

The Ars Technica article also is pretty clear:

[http://arstechnica.com/apple/2012/02/developers-
gatekeeper-a...](http://arstechnica.com/apple/2012/02/developers-gatekeeper-a-
concern-but-still-gives-power-users-control/)

If there is confusion it may have been from reading more into what Gruber
wrote than was actually there.

The Gatekeeper certificates are free to registered developers, but I don't
Apple ever suggested that you didn't have to be part of the Apple Developer
Program.

~~~
makomk
Gruber explicitly stated that it was "free-of-charge" full stop, and a lot of
people at the time chose to believe him over the information on the Apple
website that said paid membership in the Apple developer program was required
and the other reports correctly saying the same thing.

------
tptacek
Bear in mind that your telco can absolutely read your SMS messages, and does
not need to play games with a CA to do so.

~~~
matthewdgreen
And this isn't good. But two points: 1. Your Telco doesn't advertise secure
end-to-end encryption. 2. Cellular protocols are (relatively) hard to
intercept /and/ interception is prevented by a whole bunch of FCC regulations.
iMessage will happily use an insecure Wi-Fi access point.

~~~
sillysaurus
Worrying about evesdropping is derailing your otherwise fine train of
arguments.

Security against evesdropping comes down to one and only one factor: The
evesdropper cannot distinguish the bytes transmitted by iMessage from a stream
of random bytes.

This is a solved problem, and getting it right in practice comes down to the
simple rule, "Don't try to implement a crypto scheme. Use an existing
library."

That's so easy to do nowadays that Apple would have to be breathtakingly
incompetent to get that aspect of the security equation wrong.

~~~
tptacek
_That's so easy to do nowadays that Apple would have to be breathtakingly
incompetent to get that aspect of the security equation wrong._

No.

~~~
Someone
Do you mean "no, they do not have to be incompetent to get it wrong" or "I
agree, but incompetency is the norm, so it would not surprise me if they erred
there"?

~~~
sillysaurus
Just to be absolutely clear: if Thomas Ptacek says this is a problem, then
it's absolutely a serious concern and I was a complete idiot for saying it
wasn't.

~~~
tptacek
(a) thank you and (b) no way is that true.

------
josteink
_Rather, consider this post as a plea for help. iMessage is important. People
use it._

If you have a problem with a closed service working only within a walled
garden, maybe you should look at an actual open standard instead, like XMPP.

It may not have "end to end" encryption, but at least you get to know how it
works and how secure it really is.

Nobody is forcing you to use Imessage. Apple may encourage you, by permissive
defaults, yes. But nobody is forcing you to use it. It can be disabled. You
can even buy a phone not made by Apple and avoid the problem all together.

------
stickystone22
There is a simply way to answer one part of this problem (Can Apple read
iMessages?): court records.

If Apple can read these things, then so can divorce attorneys and criminal
lawyers via subpoena. There would be records of that.

Anyone have knowledge of iMessage subpoena results?

~~~
awakeasleep
I've always wondered if there are multiple levels of this.

We know of at least two: one reaches public court records. The other level we
know about, for sure, is NSA level stuff, which remains secret forever as a
matter of national security. Do others exist? For example it's possible an
agency could use the information to gather internal investigation evidence,
and keep that evidence dark only using it for further gathering of more
traditional evidence. That way their techniques would remain secret.

Anyway, the technique of discovering government agency abilities through court
records seems to be a vital part of our civilian rights that I don't see
enough information about. If anyone knows anything about it and reads this,
please share some info!

------
absolute-ly
1\. It's just a guess but I don't think many users care about iMessage's
encryption. Cryptographers are the exception.

2\. XMPP is not true peer-to-peer. If you are a fan of XMPP as a p2p
"solution", and you're not the XMPP provider trying to make a buck offering
this "service", then I would say you don't know enough about p2p.

3\. If you really care about end-to-end cryptography the solutions exist.
Working with the nacl library is not rocket science. It's a lot simpler than
SSL/TLS. And I don't see any cryptographers cracking nacl anytime soon.

4\. Decentralised and open platforms are not really tough if you keep things
simple. But for most (but not all) designers of these systems that seems just
about impossible. If it's not complex it's not worth their time.

The biggest challenge I see with good, easy cryptography and a decent, simple
peer-to-peer platform for the general public is that you will have a huge PR
problem from day 1. Because the only folks who will want to use the system
will be troublemakers who attract the wrong kind of attention, and a handful
of smart people, like cryptographers, who no one pays attention to.

------
Zash
Or just use XMPP.

~~~
LaGrange
iMessage is based around APNS, which, while proprietary, doesn't require a
background process on the client. This is way better than XMPP, and also
doesn't try to do things that are pointless on mobile, like maintaining
"presence".

This doesn't really preclude things like federation, but it's a fundamentally
different approach from XMPP (though bridges are possible -- see, for example,
Verbs app, also see how buggy it is, and What's App, which apparently is
pulling it off quite well). But bare XMPP doesn't really work that well.

~~~
nightpool
How is maintaining presence useless on mobile? I like Google Talk on android
ten times better then just plain sms for this very reason. Being able to know
whether your friends have service, and then being able to know whether they
are actively paying attention to their phones (online/away), is crazy useful
when trying to communicate.

~~~
LaGrange
Because there's a single thing that makes presence useful, which is the device
going off or to sleep, y'know, like a desktop computer in the nineties. There
aren't many people who maintain their availability by hand, as that's just a
pain.

A cell phone is always on, so depending on the solution, I'm either always
"online," or always "away" with some single blips of "online". Me being
"online" doesn't mean I'm really paying any attention, I just took out the
phone for a second while my friend was in the toilet, or anything, and now I'm
gone, but will still appear as green for some time.

What's App and iMessage solves this by replacing online with read receipts,
and in case of WA, "last seen online" data. Much less pretense makes it way
more informative.

------
chmike
I'm interrested to develop a new messaging system that truly provides end to
end encryption and is as secure as possible. All that with an open source
protocol. I would be glad to share the work with people sharing the same
interest.

~~~
biafra
The protocol and several implementations (at least in C and in Java) are
already there. It's called OTR (Off The Record)
<http://www.cypherpunks.ca/otr/> Not to confuse with a GTalk feature that has
the same name.

------
aw3c2
Maybe porting TextSecure would be an alternative?
<https://github.com/WhisperSystems/TextSecure>

------
howardr
Protocol aside is there anything significantly different in the way blackberry
handles BBM messages and Apple handles iMessage messages?

~~~
JCB_K
from the article:

 _It's built into the normal iPhone texting application and turned on by
default. When my Mom texts another Apple user, iMessage will automatically
route her message over the Internet. She doesn't have to approve this, and
honestly, probably won't even know the difference._

~~~
dave1010uk
How does your phone know that another phone has iMessage? Is it set up
manually by the user or do phones lookup the phone number on Apple's servers?
If the latter then would it be possible to reverse engineer this to test if
any number was an iOS device?

~~~
jsz0
Your phone number is associated with your Apple ID. So I'm guessing they just
reverse lookup the number you're texting to determine if iMessage can be used.
It can definitely be reserved engineered. Just text any number from an iOS
device and see if it switches to iMessage. The only caveat is users can remove
their phone number association with iMessage so you could never be 100% sure.

------
biafra
iMessage fails on the security front. I have received more than one message
(via wifi) after I removed the SIM card from an iPhone. This would not have
happened with SMS.

~~~
Someone
With iMessage, your account isn't (solely) linked to your SIM card. It cannot
be, because iMessage also works on devices without SIM cards (iPod Touch,
Mac).

I do not think you can claim it fails because it still works after removing
the SIM card. You cannot claim that SMS fails on the security front because
you can receive SMSes without logging in to iCloud, either.

~~~
biafra
I did not login into his iCloud account. How would I? I did not have his apple
id credentials.

