Follow

Google sammelt von den App-Entwicklern, die im Play Store veröffentlichen, gerade die (privaten) APK-Signing-Keys ein. Wer diese nicht hochlädt bekommt einen Warnhinweis eingeblendet. Es ist hoffentlich unnötig zu erwähnen, dass man den privaten Key niemals herausgeben sollte - auch bzw. gerade nicht an Google.

Screenshot: Daniel Gultsch (Conversations)

@kuketzblog Die Relevanz des privaten Signing-Keys scheint einigen nicht ganz klar zu sein.

Das Android-Betriebssystem verlangt, dass jede installierte App mit einem digitalen Schlüssel signiert wird. Der Zweck dieser Signatur ist es, den Autor der App zu identifizieren, und nur diesem Autor zu erlauben, Aktualisierungen an der App vorzunehmen. Erlangt jemand in den Besitz des Signing-Keys kann er installierte Apps mit eigenen (schadhaften) App-Versionen austauschen.

@kuketzblog Okay, I've translated it, since I think it's important, using DeepL Translator.

"Google is currently collecting the (private) APK signing keys from the app developers who are publishing on the Play Store.

If you don't upload them, you will get a warning message. It's hopefully unnecessary to mention that the private key should never be given out - not even to Google."

@kuketzblog Where on the screenshot does it say anything about uploading a private key?

@Utgardloki @markus @kuketzblog Just look for Android App Bundle format. When it comes to App Bundles, Google Play needs to be able to sign the APKs for you before distribution - so there is no way to be able to carry out this flow when keys are managed by the developer.

@Utgardloki @markus @kuketzblog The way Google implemented App Bundles, requires them to have your private key to resign the APK.

@kuketzblog Prägnanter wäre hier wohl ein Screenshot der "Warning Message" ;)

@kuketzblog
na und? Was sagt diese APK-Signatur denn schon aus? Sind das nicht self-signed Zertifikate? Werden die Zertifikatsinhaber authentisiert? Wohl eher nicht. Dann sagt diese Signatur doch nur, dass die APK-Datei seit dem Signiervorgang nicht verändert wurde. Sie sagt nix über den Entwickler oder den Inhalt der App.
p.s. bin neu hier. wird hier moderiert? 🤔

@sibylla @kuketzblog Korrekt, aber auch ein selbstsignierter Schlüssel kann nicht imitiert werden, nicht mal von Google.

Das heißt, wenn ein Entwickler mit einem selbstsignierten Schlüssel eine App hochlädt und Google irgendwann genötigt wird (Patriot Act, FISA), die App kaputtzupatchen, dann konnten sie das bisher nur, indem sie ihre Prüfroutine manipulieren, sprich, selektiv kaputtmachen.

Nun können sie transparent die Identität des Entwicklers annehmen.

@realTimo
aah, verstehe. Die Bedrohung, gegen die das Konzept schützt, ist also nicht der böse Malware-Entwickler (wie ich immer naiv dachte), der ein manipuliertes Update schickt, vor dem Google uns schützt, nein die Bedrohung ist Google persönlich. 🤔

@sibylla Allgemeiner gesprochen stellt das Konzept sicher, dass derjenige, der die initiale Version verteilt hat auch der Urheber eines Updates ist.

Und das schließt eben eleganterweise auch den Distributor - hier Google - mit ein.

@sibylla
Sie sagt aus, dass wenn du einmal eine app installierst du nur updates mit dem selben key bekommst
@kuketzblog

@NickFreeman @kuketzblog
d.h. das Update kommt garantiert (solange Google den PrK nicht hat) von demselben guten oder bösen oder gefakten Entwickler wie die Vorgängerversion. Okay, das ist mehr als nichts, aber irgendwie nicht genug.
Ist folgendes theoretisch möglich: ich programmiere eine App, signiere sie mit meinem privaten app signing key, dessen Public Key ich selbstsigniert auf "Mike Kuketz" zertifiziert habe und lade sie in den Play Store?

@kuketzblog
Man würde ja meinen, dass gerade die Entwickler von Android Apps diese Problematik kennen und verstehen und die Keys unter keinen Umständen herausrücken.

@KopfKrieg @kuketzblog Da siegt leider häufig die Bequemlichkeit, wie so oft. Ich warte ja noch darauf, dass sich Benutzer einer "werbefreien App" plötzlich beim Entwickler über Werbung in der App beschweren, und der sich fragt, wie die (oder andere unerwünschte Bestandteile) da wohl rein gekommen sein könnte(n)… Haste den Schlüssel, ist das schließlich kein Problem – da kannste beliebig "Dinge ergänzen". Und einen anderen Grund für "haben will" kann ich da nicht sehen.

@IzzyOnDroid @KopfKrieg @kuketzblog
Anderer Grund? Wie wäre es mit Backdoors oder individuell für bestimmte User aufgebrezelte "Updates"?

@sonak @KopfKrieg @kuketzblog sag ich doch: "beliebig Dinge ergänzen". Lass der Fantasie freien Lauf, von Komödie bis Horror ist alles möglich. Einschließlich der Freischaltung von Funktionen, deren Existenz in der App nicht einmal dem Entwickler selbst bekannt war…

@frumble @kuketzblog

Oberhalb von Andreas’ Tweet hatte bereits jemand einen Link zum Screenshot gepostet.

Der Einfachheit halber poste ich diesen Link mal hier:

https://twitter.com/iNPUTmice/status/1142469025202692097

@kuketzblog
Wenn Google die private Schlüssel hat, dann können ja endlich selektiv APK's mit Hintertüren verteilt werden.
Natürlich nur an Terroristen oder so. Und nur mit Richtervorbehalt. Versteht sich. 😔

@kuketzblog Google erfordert allerdings, dass man einen neuen Key dafür erstellt.

Es gibt einen Fehler, wenn man einen Key hochlädt, der schonmal zum Verteilen von Apps genutzt wurde.

(Und aus technischer Sicht braucht Google den Key für App bundles, um "optimierte builds" bereit zu stellen oder so ähnlich)

@kuketzblog this is changing the trust model. Not sure if it's worse though. This is the same model #FDroid has used since the beginning.

@Bubu
It's not the same model. F-Droid builds every App from source and signs it with its own keys (not the devs!) while Google collects the private keys of developers that only need to publish their App. Google doesn't need the key.
@kuketzblog

@KopfKrieg @kuketzblog but the end effect is the same. F-Droid and google can publish malicious updates for apps without involving the developer.

@Bubu @KopfKrieg @kuketzblog reminder: #FDroid also ships developer-signed APKs if they can be built reproducibly. This is a very strong safeguard against tampering.

Sadly only a few app devs have a setup for shipping this way.

reproducible-builds.org
f-droid.org/docs/Reproducible_

Google #PlayStore offers no such safeguard.

@uniq
Thanks, didn't know reproducible builds are already a thing on F-Droid.
@Bubu @kuketzblog

Sign in to participate in the conversation
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!