Uncomfortable Questions About App Signing
commonsware.com
commonsware.com
What more potential for abuse would this change bring that isn't there already?
[1] https://www.quora.com/How-Google-play-remote-installation-of...
I don't really know how app submitting/building/signing works on android, but I'd say the main issue it could add would be that the application can be tempered with between the moment it's built until the moment it's signed by Google.
All those super secure end-to-end encrypted messaging apps are just one automatic app update away from uploading any locally stored conversations and keys. And turning off automatic updates isn't enough, Google and Apple have ways to force an update if required.
Maybe for now Apple/Google can convince the courts to not coerce them into using this power, but it is present.
I actually agree with your basic premise, and think Apple should be required to make a bootcamp for iPhone.
But then as a community we’re going to have to do to work to make a new ecosystem that is both open and safe enough for regular people.
Right now it is one or the other, but not both.
So we can't have both at the same time.
But what we can have is more stops along the safe-powerful gradient and provide safe APIs/wrappers for the most popular use-cases that are developed through unsafe means.
Right now, iOS security relies on trusting Apple to evaluate the trustworthyness of third parties.
Fully open systems rely on trusting yourself to evaluate the trustworthiness of third parties.
I believe it’s possible to engineer a framework where there are more options for delegating trust than just these two.
We don’t currently have such an infrastructure, but we need one.
Also, no automatic updates.
I suppose that's true. I'm curious what level of precision you would prefer to see? Accepting a developer's key?
> Also, no automatic updates.
Only because Google decided to be uncooperative in their builds. If you control your own system partition, I believe you can still inject the privileged extension and have this. Google has also implied that this might change with Android 12 (https://android-developers.googleblog.com/2020/09/listening-...).
If this weren't the case you wouldn't hear about people sneaking behavior apple doesn't like into published apps.
My understanding is that GPLv3 requires that anyone who gets a binary can also get the source to it, and can then build and run that source on the same device. Even if Apple now allows distribution of software that demands to also share its source code, it's my understanding that you can't build that code and run the result on your iPhone without either rebuilding/reinstalling every 7 days or paying Apple. That certainly seems to be against the intention of the license, although I admit it may technically squeak by the exact requirements.
On a different note, https://en.wikipedia.org/wiki/GNU_General_Public_License#Leg... also suggests that there's an issue around a person having a copy of an app not being able to share it with other people.
https://core.telegram.org/reproducible-builds#reproducible-b...
It's easy talk yourself into a position that boils down to "I trust us."
Not only are people disinterested in designing around that, most people don't think of it as a problem. Partially because they don't always engage system thinking to that extent, and also it's grueling to admit that your ability to make decisions should not be trusted.
Sure, it's easy to say "I don't trust myself" when asking someone else for a code review. Its expected to miss some things and motives are not really at question. Removing the ability to change goals after the fact, mislead or break promises is different in kind.
Anyone who had an old school hacker ethic retired from Google years ago.
Some of the Go developers fall into this category, and they aren't retired yet.
However, they are walled off inside one particular part of Google, and it's a part that is carefully isolated from the kinds of things that raise the issues under discussion.
Also, this seems odd. Being inside Google is still the position where you can influence this stuff the most.
As this process continued, the amount of influence the old guard had diminished and the appeal of retiring and working on hobby projects increased.
I guess in this case the code will not be publicly available, so regular joe will not be able to inspect and recompile.
So rather than app signing, the real issue here is lack of trust for the company.