5 Payment Protocol
The payment protocol describes communication rules and operations between the
customer’s mobile device and the POS terminal. The protocol operates with following
objects:
- PlainRcpt: data to be signed;
- SignedRcpt: signed data;
- SubsrAuth: authorizing characteristic assigned to the customer after service
subscription;
- NoRepl: negative answer;
- YesRepl: positive answer;
- SrvRefuse: the payment service will be refused;
- PosPK: public key (PK) of key pair used by the POS terminal.
These objects are used by protocol functions:
- Send(): send message;
- ENCR(): encrypt message with recipient’s public key;
- GetSign(): requests signature;
- SendSign(): signature reply;
- GetAuth(): request for service subscriber characteristic;
- SendAuth(): send service subscriber characteristic;
- ProveCert(): prove whether customer’s certificate corresponds to the authorization
record.
The prerequisite for communication via payment protocol is the successful
connection establishment between a POS terminal and a mobile device. The selection
of communication carrier (Bluetooth, WLAN, NFC, GSM/UMTS or Infrared)
defines, eventually, additional requirements for communication security, e.g. data
integrity and confidentiality as well as sender authorization. We suggest Near Field
Communication (NFC) [12] as the communication carrier. The NFC provides up to a
424 kBit/s transfer rate at 13.56 MHz within the range of some centimetres. To enable
communication, the mobile device should be placed directly next to the POS terminal.
In this case, communication data interception and manipulation is almost impossible,
and sender authorization will be fulfilled visually by both the customer and the POS
terminal operator themselves. This is especially important for the public key exchange
procedure. Additionally we assume that secret keys (SKs) of all payment participants
are stored securely and can not be shared with a potential attacker.
The positive payment operation has following workflow. After the input of
customer card data, POS terminal T has to prove whether mobile device M is allowed
to use mobile electronic signatures for card payment by the merchant. After a
successful customer authorization, T sends its PK to M, generates the receipt,
encrypts it with customer’s PK and sends it to M, which decrypts it with own SK
stored on the SIM card and displays the received receipt. Then the customer proves
the receipts visually on his/her M, whether the card data and payment sum are correct,
and signs the electronic receipt. If the signature calculation was successful, M sends
the signed receipt back to T. The back communication is also secured by encryption
with the PK of T. T encrypts the signed receipt with its SK and then with the PK of
M. If the encryption result and original receipt are identical, the payment will be
accepted. Then the receipt will be encrypted again and stored at T or transmitted to
the merchant’s central terminal for continued processing.
19