Digitaler-Impfnachweis / covpass-ios

The official CovPass(-Check) iOS apps
https://digitaler-impfnachweis-app.de
Apache License 2.0
94 stars 18 forks source link

QR-Code kann nicht eingescannt werden, wenn das Handy keine Code/PIN Sperre eingerichtet hat. #6

Closed Lling closed 3 years ago

Lling commented 3 years ago

Moin,

die CovPass App meldet ein ungültiges Impfzertifikat, wenn das Smartphone keine Code/PIN Sperre eingerichtet hat. Das Verhalten tritt allerdings nur bei iOS auf und nicht bei Android. Eine entsprechende Hinweismeldung, dass die fehlende Sperre Ursache des Problems ist fehlt.

wkornewald commented 3 years ago

Moin @Lling, danke für den Hinweis. Ich leite das mal weiter und wir sollten das Ticket dann auf's iOS Repo verschieben sobald das veröffentlicht ist. :)

Lling commented 3 years ago

Denke auch. Das gabs nur noch nicht und daher hab ich es schonmal hier gepostet.

timokoenig commented 3 years ago

Das iOS Repo ist jetzt auch online https://github.com/Digitaler-Impfnachweis/covpass-ios

wkornewald commented 3 years ago

Ich habe das Issue verschoben.

Ein-Tim commented 3 years ago

Das steht wahrscheinlich mit https://github.com/eu-digital-green-certificates/dgca-wallet-app-ios/issues/69#issuecomment-860038304 in Verbindung. Die Example App startet überhaupt nicht ohne Passcode.

SebastianRuecker commented 3 years ago

Nach dem hinzufügen eines PIN Codes zum entsperren des iPhones ging dann das hinzufügen des QR-Codes, aber nach dem deaktivieren des Codes war der QR-Code wieder weg!

Ein-Tim commented 3 years ago

@wkornewald

Ist das beabsichtig? Die Example App hat einen ähnlichen "Sicherheitscheck", dieser Verhindert aber komplett das die App startet wenn kein Passcode benutzt wird...

wkornewald commented 3 years ago

@Ein-Tim für iOS kann @timokoenig besser Aussagen treffen. Zumindest bei Android kann man die PIN nutzen, um das Schlüsselmaterial im KeyStore vor freiem Zugriff abzusichern, selbst wenn die App kompromittiert wurde.

Lling commented 3 years ago

Ich weiß nicht ob es hilft oder damit zusammenhängen kann. Aber bei iOS ist es ja auch so, dass keine Zahlungsmethode (ApplePay) im Wallet hinterlegt werden kann, wenn kein Passcode eingerichtet ist.

timokoenig commented 3 years ago

Wir haben uns aus Sicherheitsgründen dafür entschieden entsprechende Keychain Attribute zu setzen, damit die Items nicht im Hintergrund ausgelesen werden können und bei Backups auf anderen Geräten gelöscht werden. Das hat leider auch zur Folge, dass ohne Passcode diese Items gar nicht erst abgespeichert werden können.

https://developer.apple.com/documentation/security/ksecattraccessiblewhenpasscodesetthisdeviceonly

SebastianRuecker commented 3 years ago

@timokoenig das heißt, dass man die CovPass App gar nicht nutzen kann, sofern kein PIN-Code gesetzt ist, richtig?

Wäre es dann nicht von Vorteil, dass man dies beim Starten der App einen Hinweis anzeigen, dass das Hinzufügen des Zertifikats nur möglich ist, wenn ein PIN-Code gesetzt ist sowie zusätzlich den Hinzufügen-Button sperren?

phonique commented 3 years ago

@timokoenig muss das denn wirklich sein? Welche Items sind denn hier so schützenswert, dass sie eine Betriebssystemseitige Einstellungsänderung erforderlich machen? Soll heißen: wieso soll ich denn unbedingt einen Passcode auf meinem Gerät einrichten müssen, wenn das für keine andere App notwendig ist? Weder Online Banking, Versicherung, Kommunikation, oder sonst irgendwas verlangt dies, es sei denn ich möchte unbedingt z.B. Apple Pay nutzen. Aus meiner Perspektive sorgt diese Entscheidung für einen absolut unnötigen Eingriff in die Benutzererfahrung.

SebastianRuecker commented 3 years ago

Und/Oder mann könnte die app an sich mit einem PIN Code absichern 😉

mplutka commented 3 years ago

Ich finde auch den Umstand, dass Zertifikate dadurch nicht Teil eines Backups sind, nachteilig. Als Anwender würde ich es aber so erwarten. Worst case: Im Urlaub wird mein Handy geklaut/geht verloren und beim Restore auf ein Ersatzgerät aus der Cloud sind meine Zertifikate weg und ich darf mich trotz Impfschutz wieder schön testen lassen.

KarloX2 commented 3 years ago

Ich will das nicht mit einer Pin absichern müssen. Wenn ich den Ausdruck vom Impfzertifikat mit mir rumtrage dann ist da ja auch kein Code drauf. Und die Corona-Warn-App besteht ja auch nicht drauf.

Fabri-Apple commented 3 years ago

Es gibt reproduzierbar ein Problem mit der APP, auf dem aktuellsten iOs und dem iPhone 6s. Fehlermeldung ist die gleiche wie hier beschrieben. Code und Touch ID sind vollständig eingerichtet. Test Scan des gleichen Codes auf einem iPhone 12pro funktioniert einwandfrei. Am Code liegt es nicht. Habe es mit zwei iPhone 6s probiert, die unterschiedliche appleID haben. Ich denke die Auflösung der Kamera kann es nicht. ==> in der Corona Warn App läuft es aber.......

Ein-Tim commented 3 years ago

@Fabri-Apple

Auf dem iPhone 12 mit der CovPass App funktioniert der QR-Code?

Fabri-Apple commented 3 years ago

Konnte es mit dem iPhone 12 nicht probieren, habe nur das pro.

Ein-Tim commented 3 years ago

@Fabri-Apple Ja, sorry, meine ich. Auf dem iPhone 12 Pro funktioniert es mit der CovPass App?

Fabri-Apple commented 3 years ago

Einwandfrei. Habe auch mit der technischen Hotline des RKI gesprochen unter https://digitaler-impfnachweis-app.de/faq/. Die Mitarbeiterin meinte sie kennen das Problem?!

Daher habe ich hier in GITHUB geschaut um mich etwas schlauer zu machen, kann doch nicht der einzige sein.

Ein-Tim commented 3 years ago

@Fabri-Apple Mh okay, danke für die Info. Der QR-Code hat also auf jeden Fall eine gültige Signatur (da er in die CovPass App auf einem iPhone 12 Pro importiert werden kann)... Ich hatte mit meinem iPhone 6s bisher keine Probleme.

timokoenig commented 3 years ago

@Fabri-Apple wenn es sich um ein iPhone ohne PIN handelt, dann ist es der Fehler wie hier beschrieben.

Zu dem Thema gibt es gerade eine Prüfung von Datenschutz und Sicherheit. Ich hoffe hier bald mehr Infos zu haben um an dem Thema weiterzuarbeiten.

Fabri-Apple commented 3 years ago

Danke für die Info. Pin und Touch ID ist hinterlegt. Scannen geht auf iPhone 6s nicht.

timokoenig commented 3 years ago

@Fabri-Apple gibt es dort eine genauere Fehlermeldung die angezeigt wird?

Fabri-Apple commented 3 years ago

image

Habs schnell gegoogelt. Handy habe ich gerade nicht da und ich meine gestern das gelesen zu haben.

timokoenig commented 3 years ago

Danke, komisch wenn das gleiche Zertifikat auf einem anderen iPhone einwandfrei funktioniert. Ich schaue nochmal nach woran das eventuell liegen könnte

helptiger commented 3 years ago

Es sollte wirklich eine Lösung gefunden werden, dass die Zertifikate auch ohne Passcode erfasst werden können. Funktioniert bei der Corona Warn App schließlich auch. Kenne einige ältere Personen, die die Codes nicht erfassen können und keinen Passcode verwenden möchten. (zu kompliziert)

timokoenig commented 3 years ago

Wir werden hier eine Anpassung vornehmen, damit kein Passcode/PIN erforderlich ist um die App zu benutzen.

Fabri-Apple commented 3 years ago

Das finde ich toll. Aber könnt Ihr mal schauen ob im Vergleich zur CORONA APP irgendetwas mit der Kamera Ansteuerung des iPhone 6s anders ist??? Eventuell ist das die Problem Ursache der Fehlermeldung beim Scan.

phonique commented 3 years ago

Sehr erfreulich! Vielen Dank und pardon für das folgende Off-Topic...

@Fabri-Apple es wäre für die Beteiligten hilfreich, wenn Dein Anliegen in einer neuen Issue geschildert wird. In diesem Thema geht es konkret um die Verwendung der App mit oder ohne PIN. Du kannst bei der Erstellung einen Verweis auf die Nachrichten hier erstellen, oder sie nochmal neu schildern. Ein separates Thema hat u.A. auch den Vorteil, dass Benachrichtigungen nur an diejenigen verschickt werden, die sich für das Thema interessieren und verhindert unnötige Ablenkung. Zusätzlich hat jede Issue eine Nummer und kann so besser in den Entwicklungsprozess einbezogen werden und macht diesen übersichtlicher.

servicemensch commented 3 years ago

Bei der CovPassCheck app tritt auch ein Problem auf, wenn keine DevicePIN gesetzt ist:

Die offline Prüfung kann nicht durchgeführt werden, vermutlich weil Validierungsmaterial nicht im keychain gespeichert werden, kann wenn keine DevicePIN gesetzt ist. Das Szenario das die CovPassCheck App im Kiosk Mode / single App Mode auf shared devices genutzt wird ist jedoch üblich für Veranstaltungen etc. Eine PIN auf shared devices ist meist nicht sinnvoll / praktikabel.

jxn-30 commented 3 years ago

Tatsatche, das Einrichten eines PinCodes für das iPhone hat das Problem gelöst, dass die Zertifikate nicht heruntergeladen werden können. Hier wäre ein entsprechender Hinweis in der App sehr sinnvoll, wenn die Nutzung ohne Pincode dauerhaft nicht möglich sein sollte

timokoenig commented 3 years ago

@jxn-30 es wurde bereits die Entscheidung getroffen eine Anpassung vorzunehmen, damit kein Passcode mehr erforderlich ist. Wir sind aktuell in der konkreten Umsetzung.

jxn-30 commented 3 years ago

Vielen Dank für die schnelle Rückmeldung! 👍

Jens07 commented 3 years ago

@jxn-30 es wurde bereits die Entscheidung getroffen eine Anpassung vorzunehmen, damit kein Passcode mehr erforderlich ist.

Das halte ich für eine gute Entscheidung. Trotzdem fände ich es wünschenswert, wenn man bei CovPass (zusätzlich) auf App-Ebene die Möglichkeit hätte, eine PIN zu setzen oder bspw. Touch-ID zu nutzen. In der App befinden sich immerhin sensible Gesundheitsdaten (Impfungen, Tests oder Nachweise einer vergangenen Infektion).

Bei CovPassCHECK sehe ich hingegen keinerlei Bedarf, da die App nichts speichert.

timokoenig commented 3 years ago

@Jens07 ich gebe diesen Wunsch weiter. Was spricht in dem Fall gegen ein Passcode, welches die ganzen Daten auf dem iPhone sichert?

Jens07 commented 3 years ago

@Jens07 ich gebe diesen Wunsch weiter. Was spricht in dem Fall gegen ein Passcode, welches die ganzen Daten auf dem iPhone sichert?

Für mich selbst spricht nichts dagegen. Ich will aber nicht ausschließen, dass jemand den Passcode entfernt, weil Face-ID im Maskenzeitalter in vielen Situationen nicht mehr genutzt werden kann. Ich habe Face-ID trotzdem weiter aktiviert. Ob man den Passcode nun für das Apple-Gerät als solches entfernt oder nicht: Ich fände es praktisch, wenn es einen zusätzlichen Schutz auf App-Ebene gäbe. Meine Banking-App hat schließlich auch einen zusätzlichen Passcode. Nur für den Fall, dass man das Handy im entsperrten Zustand verliert oder einfach für ein paar Minuten an einen Bekannten weitergeben möchte.

helptiger commented 3 years ago

Ich würde die App eher einfach halten und die Nutzer nicht zusätzlich mit Optionen konfrontieren. Wer seine Daten schützen will, der kann den Geräte-Passcode nutzen. Die Mail, Instagram, Twitter etc. sind auch nicht extra geschützt. Keep it simple.

Voll-Geimpfter commented 3 years ago

@jxn-30 es wurde bereits die Entscheidung getroffen eine Anpassung vorzunehmen, damit kein Passcode mehr erforderlich ist. Wir sind aktuell in der konkreten Umsetzung.

Das Problem besteht unter iOS leider auch noch mit der App-Version 1.4:-( Getestet mit 2 iPhones (SE und 6s) jeweils mit aktuellem iOS 14.6. Deinstallieren und Reinstallieren der App bringt auch nichts. In den FAQs dieser Version steht auch nach wie vor, daß ein Einscannen nur mit aktiviertem Geräte-Sperrcode funktionieren würde.

Wie lange bitte dauert diese denn diese konkrete Umsetzung noch, damit das Problem endlich behoben ist?

PS: Ich bin mir allerdings nicht sicher, ob ich hier auch wirklich bei den Entwicklern dieser App bin?

timokoenig commented 3 years ago

Version 1.4.1 has just been released. Passcode is not required anymore.