Titelbild zum Artikel „QR-Code auf einem Foto wirklich entfernen“
Sicherheit

QR-Code auf einem Foto wirklich entfernen

6 Min. Lesezeit
QR-Code erstellen

Jemand postet das Foto der Bordkarte auf dem Weg in den lang geplanten Urlaub. Der Name ist lesbar, die Flugnummer ist lesbar, und der Code in der Ecke wurde mit dem Weichzeichner bearbeitet. Es sieht abgedeckt aus. Für die postende Person ist die Sache damit erledigt.

Für einen Decoder ist dieser Schmierer oft nur Rauschen, das zu durchschauen er gebaut wurde.

Was Leute tatsächlich posten

Der Code ist selten Dekoration. Jeder dieser Fälle trägt etwas Bestimmtes.

Ein Bordkarten-Code enthält Buchungsdaten, die zusammen mit einem Nachnamen reichen können, um an eine Reservierung zu kommen. Ein Ticketcode enthält ein Token, das die Schranke prüft, und ein Token, das jemand anders zuerst einlöst, ist ein Token, das für Sie nicht mehr funktioniert. Ein Zahlungscode enthält Kontokennungen. Ein WLAN-Code enthält Netzwerknamen und Passwort in klar lesbarem Text, ohne jede Verschlüsselung in der Nutzlast.

Der schlimmste Fall ist ein Einrichtungscode für Zwei-Faktor-Authentifizierung. Dieses Quadrat enthält das gemeinsame Geheimnis, aus dem Ihre Einmalcodes erzeugt werden. Wer es scannt, kann dieselben Codes erzeugen wie Sie, unbegrenzt, vom eigenen Gerät aus, und an Ihrem Konto wird nichts ungewöhnlich aussehen, bis es das tut.

Nichts davon sind exotische Szenarien. Solche Bilder wandern ständig durch Gruppenchats und soziale Feeds, und QR-Codes bewegen sich ohnehin in einem Umfeld, in dem gefälschte und manipulierte Codes eine funktionierende Betrugskategorie sind. Gehen Sie davon aus, dass alles Scannbare in einem öffentlichen Bild von irgendwem gescannt wird.

Die Fehlerkorrektur arbeitet gegen Sie

QR-Codes wurden für die physische Welt entworfen: gedruckt auf Kartons, die verkratzen, geklebt auf Fenster, auf die es regnet, gefaltet in Hosentaschen. Um das zu überstehen, baut das Format in jedes Symbol Redundanz ein, mit Reed-Solomon-Fehlerkorrektur in vier wählbaren Stufen.

Auf der höchsten Stufe kann ein Symbol rund dreißig Prozent seiner selbst verlieren und trotzdem korrekt dekodieren. Deshalb kann ein Logo mitten in einem Marketingcode sitzen, ohne ihn zu zerstören. Schadenstoleranz ist ein Merkmal, absichtlich konstruiert, und jeder Decoder setzt sie um.

Wenden Sie das nun auf Ihren Weichzeichner an. Eine Ecke zu verdecken, oder ein Viertel der Fläche, oder die Mitte, liegt bequem innerhalb dessen, wovon sich das Format erholen sollte. Der Code ist nicht teilweise verborgen. Er ist ein leicht beschädigter Code, und genau dafür wurde er gebaut. Unsere Aufschlüsselung der Fehlerkorrekturstufen zeigt, wie viel Redundanz jede Stufe mitbringt.

Weichzeichner, Verpixelung und der Emoji-Sticker

Jeder der beliebten Ansätze scheitert aus eigenem Grund.

Gaußscher Weichzeichner erhält die großflächige Struktur. Dunkle Bereiche bleiben dunkel, helle bleiben hell, und die Grenzen liegen weiter dort, wo sie lagen. Decoder wandeln ein Bild vor dem Lesen per Schwellenwert in Schwarzweiß um, also kann ein milder Weichzeichner diesen Schritt fast unbeschadet überstehen. Starker Weichzeichner zerstört mehr, aber "stark genug" ist nichts, was Sie mit dem Auge beurteilen können.

Verpixelung ersetzt Bereiche durch Mittelwertfarben. Sind die Blöcke kleiner als die Module des Codes, haben Sie das Muster im Wesentlichen erhalten. Sind sie größer, sind Daten verloren, aber die Suchquadrate, die Taktlinien und die Gesamtgeometrie überleben meist, und die Fehlerkorrektur trägt die Lücke.

Ein Emoji oder Sticker über der Mitte ist exakt eine Logo-Überlagerung. Das ist der vorgesehene Fall. Marketingteams machen es absichtlich, weil es den Code nicht kaputt macht.

Eine Regel ersetzt dieses ganze Abwägen: Wenn irgendein Teil des ursprünglichen Musters noch sichtbar ist, gehen Sie davon aus, dass der Code wiederherstellbar ist.

Was einen Code wirklich aus einem Bild entfernt

Zwei Techniken funktionieren, und beide sind langweilig.

  • Zeichnen Sie ein volldeckendes Rechteck in einer einzigen flachen Farbe über das gesamte Symbol. Keine halbtransparente Überlagerung, keine abgerundete Hervorhebung, kein Markereffekt mit weicher Kante.
  • Ziehen Sie dieses Rechteck über die Kanten des Codes hinaus, einschließlich der weißen Ruhezone ringsum. Jedes Eckquadrat muss weg sein. Teilweise Abdeckung der Suchmuster ist immer noch teilweise Abdeckung.
  • Oder schneiden Sie den Code ganz aus dem Bild, was schneller geht und nichts zum Nachdenken übrig lässt.
  • Prüfen Sie den Rest des Bildes auf eine zweite Kopie. Ein Code, der sich in einem Fenster spiegelt, im Hintergrund auf einem Laptopbildschirm zu sehen ist oder auf dem Blatt neben dem abgedeckten steht, macht die ganze Übung zunichte.

Wenn das Bild nur zeigen soll, wo Sie sitzen, überlegen Sie, ob die Bordkarte überhaupt ins Bild muss. Die zuverlässigste Schwärzung ist das Foto, das Sie aus einem anderen Winkel machen.

Datei flach rechnen, dann die Datei testen

Den Code im Editor abzudecken ist nicht dasselbe, wie ihn in der Datei abzudecken, die Sie verschicken.

Viele Fotoprogramme bearbeiten nicht-destruktiv. Das Original bleibt unversehrt und die Änderungen werden als Anweisungen gespeichert, mit einem Tipp rückgängig zu machen und beim Teilen manchmal mitgeschickt. Exportieren Sie eine flach gerechnete Kopie, statt das bearbeitete Original zu teilen, und vergewissern Sie sich, dass der Export das ist, wofür Sie ihn halten.

Metadaten sind die zweite Falle. Bilddateien können ein eingebettetes Vorschaubild tragen, das vor Ihrer Bearbeitung erzeugt wurde, und manche Werkzeuge erneuern es nicht. Entfernen Sie beim Export Metadaten, wenn die Option existiert. Es gab auch dokumentierte Fälle, in denen Screenshot-Werkzeuge ein bearbeitetes Bild über die Originaldatei schrieben, ohne die übrigen Bytes abzuschneiden, sodass die Vorversion aus einer scheinbar fertigen Datei wiederherstellbar blieb. Solche konkreten Fehler werden gepatcht, aber die Lehre bleibt: Vertrauen Sie der exportierten Datei, nicht der Editorvorschau.

Dann testen Sie richtig. Nehmen Sie die Datei, die Sie posten wollen, nicht die Fassung auf Ihrer Bearbeitungsfläche, und jagen Sie sie durch einen Decoder. Laden Sie sie in ein Werkzeug hoch, das einen Code aus einem Bild liest. Wenn irgendetwas dekodiert, decken Sie mehr ab. Das dauert fünfzehn Sekunden und ist der einzige Schritt, der das Ergebnis tatsächlich prüft. Breitere Gewohnheiten im sicheren Umgang mit Codes stehen gesammelt in QR-Code-Sicherheit.

Wenn Sie fremde Daten veröffentlichen

Sobald ein Verein, eine Behörde oder ein Unternehmen einen Screenshot veröffentlicht, ist das eine Verarbeitung personenbezogener Daten und keine Geschmacksfrage mehr. Und hier gilt ein strenger Maßstab: Anonym ist eine Angabe erst, wenn der Bezug nicht wiederherstellbar ist. Ein weichgezeichneter Bereich erfüllt das nicht, denn die Bildinformation bleibt in der Datei, und die Fehlerkorrektur des Codes liefert den Rest. Wer eine Pressemitteilung, ein Vereinsheft oder eine Schulungsfolie mit einem unkenntlich gemachten Code veröffentlicht, sollte den Code deshalb ersetzt und nicht überlagert haben.

Welche Codes dabei heikel sind, lässt sich kurz sortieren. Fahrkarten und Eintrittskarten sind Inhaberpapiere: Wer das Bild hat, reist oder geht hinein. Registrierungscodes für Bank- oder Authenticator-Apps gelten einmal, richten aber sofort Schaden an. Codes auf Rechnungen und Mahnungen führen Kundennummer und Betrag mit. Ein GiroCode mit der Vereins-IBAN dagegen ist zur Veröffentlichung gemacht und darf sichtbar bleiben, denn eine IBAN allein erlaubt keine Abbuchung.

Und dann das Übersehene: die Metadaten. Wer den Bereich mit dem Code wegschneidet und die Datei neu exportiert, ist den Code los, führt aber möglicherweise noch Aufnahmeort, Gerät und Zeitpunkt in den EXIF-Daten mit. Manche Programme verwerfen sie beim Export, andere nicht. Prüfen Sie beides an der Datei, die tatsächlich das Haus verlässt, und nicht an der Vorschau im Bildbetrachter.

Dieselbe Physik, das entgegengesetzte Ziel

Darin liegt eine schöne Symmetrie. Den meisten begegnet die Fehlerkorrektur von QR-Codes aus der anderen Richtung: wenn ein Code weich, beschädigt oder schlecht gedruckt ist und trotzdem funktionieren soll. Das ist das Problem des unscharfen QR-Codes, und die Antwort lautet dort, dem Decoder mehr zu geben: besseres Licht, eine schärfere Vorlage, ein gerader Winkel.

Schwärzung ist dieselbe Eigenschaft von der Gegenseite betrachtet. Die Toleranz, die einen Code durch einen Kaffeefleck hindurch lesbar macht, ist die Toleranz, die ihn durch Ihren Weichzeichner hindurch lesbar macht. Sie mit einem weichen Pinsel zu bekämpfen heißt, gegen ein System zu kämpfen, das gebaut wurde, um diesen Kampf zu gewinnen.

Öffnen Sie den Screenshot, den Sie posten wollten, legen Sie ein volldeckendes schwarzes Rechteck über den Code und seinen Rand, exportieren Sie eine flache Kopie, und laden Sie diese Kopie in einen Decoder, bevor sie irgendwohin geht.

Diesen Artikel teilen