Eine Zahlung, drei Buchungen

Ich hatte gerade im Supermarkt eingekauft und mir zuhause dann in der App die Buchungung angeschaut.

Es waren drei Buchungen zu sehen.

Die beiden älteren waren „declined“, die neueste, wie erwartet, „vorgemerkt“.

Natürlich wusste ich, was genau passiert ist, habe mir aber die Buchungsdetails angesehen:

(1) Die älteste: „The contactless payment did not work. Try again with chip and PIN.“

Das ist etwas unglücklich formuliert, die Realität ist etwas komplizierter:

Wenn man fünf mal ohne PIN bezahlt hat, dann wird man beim sechsten Mal im Display aufgefordert, eine PIN einzugeben.

Dann darf man aber die Karte nicht aufgelegt haben, weil die PIN dann nur für diese einzelne Zahlung gilt und man beim nächsten Mal wieder die PIN eingeben muss (und wieder, und wieder).

Also, an Selbstbedienungskassen, Vorgang abbrechen, Karte stecken, PIN eingeben, alles gut.

An von Menschen besetzten Kassen Vorgang abbrechen, die Kassierin bitten, nochmal freizugeben, „ich müsse stecken“ (bisher gab es nie Rückfragen), PIN eingeben, alles gut.

In meinem (diesem) Fall hatte die Kassiererin einen Code auf ihrer Anzeige und hat mich aufgefordert, die Karte zu stecken und die PIN einzugeben. So geht es auch.

Wie gesagt, etwas kompliziert. Ich wüsste nicht, wie man den Buchungstext verbessern sollte.

Auf jeden Fall habe ich bisher keine Kassierin gesprochen, noch eine Bank gefunden, die mir diese Regeln erklären konnte.

(2) Die zweitälteste: „You have entered an incorrect PIN“

Das ist selbsterklärend.

(3) Die neueste: „The amount was reserved and will be booked within the next few days“

So kennen wir das.

Zwei Sachen möchte ich erwähnen:

(A) Ich find es gut, dass in der App (Buchungsdetails oder sonstwo) bisher immer alles gut und verständlich (von (1) einmal abgesehen) erklärt ist. Das erspart Rückfragen beim Support und wird sicherlich bei allen Banken angestrebt, aber die wenigsten können das überhaupt.

(B) Die beiden abgelehnten Zahlungsversuche sind eigentlich überflüssig, aber ich find es trotzdem cool, dass sie in der App mit angezeigt und erklärt werden.

Tja, bisher nichts zu beklagen bei Tomorrow :grin:.

Die Frage ist, ob - rein technisch gesehen - das Backend überhaupt unterscheiden kann zwischen „5x kontaktlos gezahlt, darum stecken plus PIN“ und „aus irgendeinem anderen Grund hat kontaktlos nicht funktioniert, darum stecken plus PIN“. Wenn da das Backend denselben Fehlercode sendet, kann man in das Textfeld auch nur den einen Text rein schreiben.

Es wäre natürlich wünschenswert, wenn es diese Unterscheidung gäbe, aber es würde mich nicht wundern, wenn es nicht so wäre.

@Vinz , kannst du das erfragen? :slight_smile:

1 „Gefällt mir“

Meines Wissens nach ist es so, dass nach fünf aufeinanderfolgenden NFC-Zahlungen oder insgesamt 150 ausgegebenen Euro durch aufeinanderfolgende NFC-Zahlungen die kontaktlose Zahlung vorübergehend deaktiviert wird und erst durch eine Zahlung mit Authentifizierung wieder aktiviert werden muss. Man achte auf den Wortlaut " die kontaktlose Zahlung vorübergehend deaktiviert wird". Sprich: Hier sollte eigentlich gar keine kontaktlose Bezahlung möglich sein, auch nicht mit PIN. In diesem Szenario wäre dann ein einstecken der Karte zwingend notwendig und die Frage nach der Message in der App auch irrelevant.

Wurdest du denn beim 6. Mal aufgefordert die PIN einzugeben beim kontaktlosen bezahlen?

Vielleicht können wir hier auch mal wieder unseren Spezialisten @aidanic involvieren. Any thoughts? :slight_smile:

1 „Gefällt mir“

Die Meldung in der App ist auf jeden Fall mysteriös: „Try again …“

Ich soll es nochmal versuchen? Wenn ich diese Meldung in der App lese, dann bin ich schon zuhause.

„… with chip and PIN“

Was hat der Chip damit zu tun, ob ich die Karte davorhalte oder stecke? Wenn ich stecke, kann allenfalls der Magnetstreifen noch ausgewertet werden. Damit könnte man spekulieren, dass der Zähler auf dem Magnetstreifen liegt und nicht auf dem Chip (macht das Sinn?).

Jedenfalls deutet die Meldung darauf hin, dass diese vom Kassenterminal an die Bank weitergegeben wurde, eventuell nur als Code.

Wie ich sagte, teils, teils.

In meinem Stamm-Supermarkt gibt es genau eine von sechs Selbstbedienungskassen, an der ich beim sechsten Mal die PIN nicht mit aufgelegter Karte eingeben kann.

Die anderen 5 SB-Kassen und die menschenbesetzten Kassen erlauben die PIN bei aufgelegter Karte, der 5er Zähler wird dann aber nicht zurückgesetzt.

Der Fall im OP war in einem anderen Supermarkt, hier hatte nach dem Auflegen gleich die Kassiererin gesagt, ich solle nochmal stecken und die PIN eingeben.

Jetzt fällt mir doch noch eine bessere Fehlermeldung ein:

„Kontaklos nicht möglich, weil eine PIN eingegeben werden muss“

Dann ist dem Endverbraucher klar, dass eine PIN-Eingabe nur mit Stecken möglich ist.

Diese Meldung sollte mindestens am Kassenterminal erscheinen und wäre in der App natürlich auch sprechender :grin:.

Thanks @Vinz for tagging me… SCA and PSD2… I blame the Europeans :grinning:

Anyway, I hope my understanding of the scenario here is correct and that @nst0022 is mostly curious about the backend processing.

Here is a somewhat recent Visa card present implementation guide to the way this should work.

https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=PI_COM%3AC(2017)7782

Also of interest is the underlying EU document. The objective is to ensure that the issuer has confidence that the real cardholder is using the card via a process called SCA - Secure Cardholder Authentication. This concept has a EU wide legal basis under PSD2.

Blockquote
Article 11
Contactless payments at point of sale
Payment service providers shall be allowed not to apply strong customer authentication, subject to compliance with the requirements laid down in Article 2, where the payer initiates a contactless electronic payment transaction provided that the following conditions are met:
(a)the individual amount of the contactless electronic payment transaction does not exceed EUR 50; and
(b)the cumulative amount of previous contactless electronic payment transactions initiated by means of a payment instrument with a contactless functionality from the date of the last application of strong customer authentication does not exceed EUR 150; or
(c)the number of consecutive contactless electronic payment transactions initiated via the payment instrument offering a contactless functionality since the last application of strong customer authentication does not exceed five.

Simply put, if you use your card for 5 consecutive contactless transactions below €50 or cumulatively for more than €150 (say 4 x €40), then the Issuer will require the transaction to be restarted with strong customer authentication.

On the technical side, the Issuer (say Tomorrow, in reality Solaris) counts either the 5 consecutive or the cumulative €150 on the banking backend - the standard allows for one count or the other, not both. If you hit the limit (€150 for Tomorrow), there is a soft decline returned to the merchant,

There are three possible outcomes to this soft decline… The outcome depends on the technical capabilities of the device. Note the device with the cashier is different to the device at the self check-out lane. Both of these are different from the small SumUp POS device at your local café. The Tomorrow App just knows that you exceeded the counters maintained at the back end - they have no visibility of the user experience at the device,

  1. The device prompts you to enter a PIN and re-submits the transaction back to the issuer. This is called „Single Tap“ (by Mastercard). This should happen so quickly that it appears to be a single transaction. This PIN entry meets the SCA/RTS requirements.
  2. The device does not support Single Tap and you have to start a new transaction with the chip reader. This card usage almost always requires PIN entry and will meet the SCA/RTS requirements.
  3. The device declines the transaction and you need to find another payment method.

The 5/150 is accumulated on the issuer back end - the merchant and the card are not involved. Should you have a transaction for more than €50 with a PIN (SCA) before the counters are exceeded, the counters are reset. If there are two cards on the account (joint accounts) or a physical and digital card (Google/Apple Pay), each card is treated separately. Article 11 above has nothing to do with e-commerce, which is it’s own bundle of fun in relation to SCA.

Using Google/Apple Pay and having to unlock the phone (say Face ID) does appear to count as SCA and you might never experience this soft decline.

Some contactless devices prompt for PIN from €0 and this will also reset the counters on the back end.

@nst0022 is correct that some of the messaging and experiences of customers can be sub-standard. For me (in the echte Nordern) both Rossmann and Famila manage the soft decline well. This is typically Option #2 above where I have to use the chip reader on the second attempt. I also think it’s been OK at Bauhaus, although I’m not totally sure.

I find that the Tomorrow push notifications to android are not always very quick - with a different digital bank (with a letter and two digits in the name) I used to have a push notification on my phone before the response arrived at the supermarket device.

What Tomorrow put in the App is very much dependent on what Solaris tell them and they might not have enough clarity for these circumstances.

Lots… the data from the chip drives the transaction process at the device - there’s lots of data exchanged. There are counters on the chip - although in this case, the relevant counters are on the back end.

I’d like to pop around for a visit :smiley: … it’s possible that the configuration on one of the six devices is slightly incorrect - maybe it’s setup for a cashier and is being used as self-checkout device.

Another gigantic™ post from aidanic. Hopefully mostly on topic this time.

3 „Gefällt mir“

@aidanic: Thank you very much for your concise explanations, and the PDF, and the link.

It took some time to sort everything out, but I now believe I understand the mechanism.

However, I will reply below with two posts in German, because I started this thread in German and I believe the majority of the forum users are more fluent in German than in English.

PIN eingeben nur über stecken

Zur Erinnerung: Die per Gesetz geforderte „Strong Customer Authentication“ (SCP) erfordert zwei von drei Dingen, hier, bei der VISA Debitkarte also die Karte (Besitz) und die PIN (Wissen).

Die Regel, dass ich die Karte fünf Mal ohne PIN benutzen darf, heißt de facto, dass ich weder das Wissen (PIN), noch den Besitz (Karte) nachweise.

Natürlich halte ich die Karte vor das Bezahl-Terminal, aber diese könnte auch ein Smartphone mit einer App sein, die über NFC vorgibt, die Karte zu sein.

Wenn ich die Karte stecke, dann wird ein physischer Kontakt zwischen dem Bezahl-Terminal und dem Karten-Chip hergestellt (gut erkennbar an den drei Schleifspuren auf dem Chip), d.h. damit ist wohl per Definition der Besitz bewiesen und mit der PIN dann auch das Wissen = SCP erfüllt.

Die Meldung „Try again with Chip and PIN“

„Chip“ ist ein Insider-Begriff und steht für „contact chip“ und bedeutet, die Karte ist gesteckt (wie zuvor beschrieben).

Damit ist das Richtige verschlüsselt dargestellt: Ich muss die Karte stecken und die PIN eingeben, damit die SCP, wie oben beschrieben, gewährleistet ist.

Ich behaupte immernoch, das die Meldung ziemlich unglücklich ist und nur von jemanden verstanden wird, der das oben verlinkte PDF gelesen hat.

Wunderbar, jetzt ist für mich alles geklärt :sunglasses:.

Jetzt vermengst du Einiges. Virtuelle Karten in Smartphones sind nicht Duplikate sondern gesichert erzeugte Einmaltoken zur Zahlung, jetzt mal stark vereinfacht. Smartphone selbst mit diesem Token im Speicher gilt als Besitz. Und die nach System erfolgende SCA ist dann die Entsperrung durch PIN (oder Alternative) des Geräts. Bei Apple ist das bei jeder Zahlung der Fall. Bei anderen Lösungen gelten wieder die gesetzlichen Grenzen wie bei der physischen Karte auch.

Es gibt auch bei Kartenzahlungen den Modus, im ersten Schritt kontaktlos zu starten und dann am Terminal (ohne Stecken) die PIN im zweiten Schritt einzugeben. Dann ist auch SCA erfüllt, aber der Counter des Chips wird ggf. nicht zurück gesetzt.

Ich kann die Kritik an der Schreibweise nachvollziehen, allerdings ist das in England und den USA genau das, was dir auch die Terminals anzeigen. Hier wird chip and PIN immer als Karte stecken interpretiert. In Abgrenzung zu swipe (Magnetstreifen) und contactless. Ich nehme mal an, dass es nicht zu Missverständnissen in dem Umfang führt, die du hier vermutest.

Worauf beziehst du dich?

Ich habe nicht von „Virtuellen Karten“ oder von „Duplikaten“ gesprochen.

Bist du gedanklich in einem anderen Thread? :smile:

Ja, aber wir sind hier nicht in England oder in den USA.

Würde ich in England oder in den USA leben, dann hätte ich die Bedeutung der Meldung gewusst und keinen Anlass gehabt, das hier zu monieren (ich gehe davon aus, dass die deutsche Meldung auch von „Chip und TAN“ spricht, was noch zu zeigen wäre).

@nst0022 while I can chat about this reasonably OK in German, written German is not my strong point. Thanks for putting up with the English.

As I mentioned, I’m pleasantly surprised by the quality of the UX around SCA soft declines with Tomorrow and the various places I use my card in Northern Germany. I have yet to have a bad SCA experience and I can assure you I would notice a problem.

Keeping the conversation to a debit card only. Even if you are using the card contactless 100% of the time, there will be occasions where you put the PIN in for a transaction. These would be for transactions typically over €50. This PIN entry will be identified at the bank end and the relevant SCA counters reset (PIN=knowledge, contactless=possession).

The transition to the contact chip in these circumstances is to ensure/force some form of SCA. For contact transactions, the PIN is typically required for transactions above €0 - aka always. Re-running a contactless transaction for €5 with no PIN does not meet SCA and the device might not able to force a PIN on a one-off basis for this transaction (not supporting Single Tap as I mentioned above).

For normal App usage, the smart phone appears to use the same card number - it does not. As such, the bank is able to distinguish which card you are using - digital* or physical.
Quite often the payments industry can mix the term digital and virtual when talking about non-physical cards.

The data exchange between the App and the device contains a flag that indicates that the knowledge SCA factors was met - Face ID or unlock code. This flag, which is unique to digital cards, is signed within the digital signature I mention below.

If you’re thinking of an NFC relay - between two cell phones and a card - there are various examples on Github - that is slightly different. Firstly there’s a thing called „Relay Resistant Protocol“ which allows the device to look at the timing of request/response exchanges. Secondly I believe Apple uses a modified ISO 14443 which makes the open source software somewhat difficult to use as it’s in the OS. There are some Android examples of academic interest.

There’s a new contactless implementation (C-8) under public review at the moment and has support for RRP along with some other features to further resist NFC relay attacks.

It’s more than just the chip being in the reader to prove possession - the chip generates a unique digital signature which is calculated from some of the transaction data (e.g. date and amount) using keys unique to the card. This digital signature confirms it’s your card at this specific device. Additionally there’s a transaction counter that increases every time you use the card, both contact and contactless, and the bank is able to track these - even if they arrive at the bank in a non-sequential order (this mostly happens with transit systems).

This digital signature is calculated the same way for both chip and contactless, as well as the same way for both the App and physical card. There will be differences in the security keys used - each one will have different keys, and the data transmitted to the bank will be slightly different. The process is still the same.

For SCA the counters on the chip are not really participating - they have other risk management functions. Yes, Visa have the possibility for SCA on the chip - although the UX is (in my opinion) messier than what @nst0022 has been describing above.

1 „Gefällt mir“

Ich bezog mich hierauf. Das Smartphone vor den Leser halten weist den Besitz des Smartphones, des Zahlungsmediums nach. Im Besonderen: das Smartphone gibt nicht vor, eine bestimmte Karte zu sein. Es ist ein explizit eigenes individuelles Zahlungsmedium.

Nun ja, wer ist denn der Hauptadressat der englischen Sprachanpassung? Vielleicht sind ein paar Expats aus englischsprachigen Ländern dabei? Ich halte es für nutzerfreundlich, mich hier an Brachnen-Jargon zu orientieren. Ich würde stets Formulierungen wählen, die bei der Zielgruppe, für die geschrieben wird, am besten verstanden werden.

No, no, no, you both got me wrong.

I was talking about a malicious app that pretends to be a physical card, not about a payment with the smartphone and its normal banking app.

Sorry for not having this made clear.

Woops my bad.

Doing a malicious emulation of a card in the real world is absolutely not possible*.

There’s a dynamic RSA/PKI signature validation which is verified by the device. The card has a public/private key pair which is signed by a bank key and that is in turn signed by Visa or MasterCard key. This is a process called Dynamic Data Authentication. This process has been updated in recent months to support Elliptic Curve Cryptography.

Secondly the digital signature I mentioned above - either 3DES or AES - which signs every transaction uniquely. A fake card would need to know about the unique keys stored on a card or the master keys from a bank. Even capturing a trace from a real card and replaying it later is not possible - due to transaction specific data in both the RSA and 3DES exchanges between the card and device - and the sequence numbers managed by the card.

*Yes, there are academic examples of exploits - mostly exploiting older static authentication mechanisms, or other unsigned data. Most banks cross-reference the various data elements coming from the card and device and can identify inconsistencies.

On the Google Store - there are contactless test applications from two card brand. Yes, they correctly emulate the payment function of a card. The RSA and 3DES cryptographic keys used are test keys, are well known in the industry and are pretty useless in the real world. The card numbers used by these Apps are blocked in all the customer facing processing systems from these card brands.

1 „Gefällt mir“

Alright, very, very good to know. Thanks for sharing.

So, why is a contact-less usage of the card no proof of ownership of the card?

I assume, because key interchange mentioned by you is only possible via the chip’s physical contacts (so the card needs to be slit into the device).

Contact chip and contactless both provide the same amount of „digital proof“ that the card is present and valid. This 5/150 requirement is about the person holding the card at the device. For contact chip transactions there is almost always some form of verification of the cardholder - typically a PIN.

For low-value contactless transactions this verification of the cardholder is skipped to make the transaction flow faster. Anyone could be using your card without your knowledge to buy €3 coffees. For a contactless €75 at the supermarket you would have to use your PIN and that satisfies the verification of the cardholder.

The EU thinks that after 5x consecutive €3 coffees, that it’s reasonable to re-establish that you are still the guy holding the card. And to be honest it’s OK. If you are buying €3 coffees with your card, you are also probably using it elsewhere - and at some point you will have a higher transaction amount and you will use your PIN. Tripping over the 5/150 will be only once in a while.

These SCA regulations were brought in before the Pandemic, the massive jump in contactless usage and the general increase in the limit below which no cardholder verification was required. The UK started at £25, then went to £50 and are now heading to £100. Here in Germany is was €25 and most devices have a €50 limit.

The EU is not very agile and so changing the 5/150 is not going to happen quickly.

Explaining this whole 5/150 process to regular members of the public is the role of the Bank/Issuer and some are better than others. The UX at the devices is mixed - some better some less good.

Also worth noting that SCA and PSD2 has other implications for retail banking, away from payment cards and there are also implications for e-commerce transactions. You’ll have seen many more Verified by Visa (or Mastercard Secure Code/ID)challenges along with PayPal sending you text messages. This experiences also come from PSD2 requirements. A whole other conversation.

1 „Gefällt mir“

Der Knackpunkt ist, dass die Karte, also das Medium, für den Schlüsselaustausch, nicht wissen kann, ob du der rechtmäßige Besitzer der Karte bist.

Wie bei einem Schlüssel für eine Haustür: Wer den Schlüssel in der Hand hält, kann die Tür aufsperren. Das ist „proof of ownership“. Die PIN als zweiter Faktor soll sicherstellen, dass nicht unberechtigte Personen Türen aufsperren, für die sie zwar Schlüssel aber keine Berechtigung haben.

1 „Gefällt mir“