Designing a terminal Pavel Tuček 2010, FI MU Introduction 1.Micropayment scheme 2.Environment 3.Types of terminals 4.Other parts of system 5.Future work 6. 6. 2 Pavel Tuček – PA168 – Own Talk Micropayment scheme 3 •Main participants: Pavel Tuček – PA168 – Own Talk Environment for terminals 4 Pavel Tuček – PA168 – Own Talk Types of terminals 5 •Types of terminals should be as few as possible! But one type is not enough. • •Let’s split our micropayment scheme into two parts: 1.Broker’s relationship to users. 2.Broker’s relationship to vendors. • •Motivation for this step is increasing trustworthiness of the whole system. In case there will be only one terminal, users might doubt whether their communication with broker wasn’t monitored or even intercepted by the vendor. Pavel Tuček – PA168 – Own Talk Types of terminals 6 •Terminal type #1 – Broker’s terminal (BT) •BT is intended to be the center for customer care at the vendor’s site, but managed by broker. This terminal must be online. Pavel Tuček – PA168 – Own Talk Types of terminals 7 •Terminal type #1 – Broker’s terminal (BT) •BT is intended to be the center for customer care at the vendor’s site, but managed by broker. This terminal must be online. • •Functions depending on the payment scheme: •user registration with broker, •user certificate revocation by user upon key compromise. • •Other functions: •money recharging, •account management, •creating transaction logs. Pavel Tuček – PA168 – Own Talk Types of terminals 8 •Terminal type #2 – Vendor’s terminal (VT) •VT is intended to be connected to a device which needs to be served by it. That might be a printer, vending machines for hot and cold drinks, and snacks, etc. VT might be online or offline according to the vendor’s infrastructure, but it will be definitely offline considering the broker’s infrastructure. • •Functions depending on the payment scheme: •item purchase by user at vendor. Pavel Tuček – PA168 – Own Talk Types of terminals 9 •Terminal type #2 – Vendor’s terminal (VT) Pavel Tuček – PA168 – Own Talk Types of terminals 10 •Terminal type #2 – Vendor’s terminal (VT) •VT is intended to be connected to a device which needs to be served by it. That might be a printer, vending machines for hot and cold drinks, and snacks, etc. VT might be online or offline according to the vendor’s infrastructure, but it will be definitely offline considering broker’s infrastructure. • •Other functions: •picking coin per transaction, •sending coins to vendor’s management server (VMS), •creating transaction logs, error logs,… •sending data to VMS (transaction logs, errors,…). Pavel Tuček – PA168 – Own Talk Terminals’ specifications 11 •Hardware requirements: •card reader, •display, •input device (pin pad/keyboard/display), •CPU, •memory (RAM/ROM/flash), •network component (industry standards1/Wi-Fi/BT/GSM/none), •management connection (if talking about offline terminal: industry standards/USB/Wi-Fi/BT), •smart card or TPM, •connection to the served device. • •1 ANT, 6LoWPAN, DASH7, ONE-NET, ZigBee, MiWi, Wibree and others. Pavel Tuček – PA168 – Own Talk Terminals’ specifications 12 •There are several candidates for the main CPU, but we can divide them into to groups. • Pavel Tuček – PA168 – Own Talk The x86 compatible CPUs (Intel Atom, AMD Athlon Neo, VIA Nano) ARM-based CPUs or more precisely SoCs (TI's OMAP 3 series and Freescale's i.MX51 based on the Cortex-A8 processor, or the Qualcomm Snapdragon and Marvell Armada 500/600 based on custom ARMv7 implementations) The main difference is in design, while x86 compatible CPUs are CISC, the ARM-based CPUs are RISC. This implies different size of chip (number of transistors) and it’s different power consumption. Terminals’ specifications 13 •Cryptographic requirements: •certificate store, •random number generator, •SHA-2 family hash function, •RSA algorithm, •AES encryption. Pavel Tuček – PA168 – Own Talk Other parts of system 14 •Broker’s management server (BMS) •BMS will be the management center for taking care of users and vendors. Most likely it will be an information system or a server application. • •Functions depending on the payment scheme: •user certificate issuance by broker, •vendor registration with broker, •vendor certificate issuance by broker, •user certificate revocation by broker, •vendor certificate revocation by broker, •vendor elimination from the system. •Other functions: •send data to all VMSs (broker’s blacklist,….) •create transaction logs. Pavel Tuček – PA168 – Own Talk Other parts of system 15 •Vendor’s management server (VMS) •VMS is intended to be the main center for the customer care at the vendor’s place. One of its purposes is the management function for all VMSs and the other is communication with BMS. VMS will be a computer/server with a special-purpose operating system. • •Functions depending on the payment scheme: •item claim by user at vendor, •vendor certificate revocation by vendor upon key compromise. •Other functions: •collecting coins from all VTs, •sending coins to BMS for redemption, •sending data to all VTs (broker’s blacklist, vendor’s blacklist,….), •managing vendor’s blacklist, •VT certificate issuance, •creating transaction logs. Pavel Tuček – PA168 – Own Talk Other parts of system 16 •Mobile broker’s terminal (MBT) •An application with similar or same functionality as the Broker’s terminal has. Application will be intended to use in mobile phones and personal computers equipped with smart card or smart card reader. Pavel Tuček – PA168 – Own Talk Future work 17 1.Layout of the terminal mainboard. 2.Connections of single components in the terminal. 3.Temper resistance of the terminal. 4.Certification of the terminal. 5.Broker’s and vendor’s management servers. 6.Running 3rd party’s application in an untrustworthy environment. Pavel Tuček – PA168 – Own Talk Questions • • • • • •Questions are appreciated! 18 Pavel Tuček – PA168 – Own Talk Thanks • • • • • •Thank you for attention! 19 Pavel Tuček – PA168 – Own Talk