Data
Storage/Key Locations
Each of the three principals
knows the following (is stored in local memory):
Smart Card:
- Ksc : unique shared key between this one smartcard and the bank.
- Km : shared key between all soda machines and smartcards (and the bank)
- IDsc : unique identifier for this smart card, stored in cleartext.
- {IDsc}Kasm : same unique identifier, encrypted with a key known to all soda
machines and the bank.
- Balance : cleartext balance, also referred to as B1 elsewhere.
- {Balance}Kasm : balance encrypted with a key known to all soda machines
and the bank.
- Transaction Log, each entry contains the following fields:
- IDsm : unique identifier of the soda machine.
- {IDsm}Ksm : unique identifier encrypted with a unique key known only
to the machine and bank
- Amount : self-explanatory. Cleartext amount of transaction.
- {Amount}Ksm : amount encryted so that only the issuing soda machine
and bank can read it.
Soda Machine:
- Ksm : unique shared key between this one soda machine and the bank.
- Km : shared key between all soda machines and smartcards (and the bank)
- IDsm : unique identifier for this soda machine, stored in cleartext.
- {IDsm}Kasc : same unique identifier, encrypted with a key known to all smart
cards and the bank.
- Transaction Log, each entry contains the following fields:
- IDsc : unique identifier of the smart card.
- {IDsc}Ksc : unique identifier encrypted with a
unique key known only
to the smart card and bank
- Amount : self-explanatory. Cleartext amount of transaction.
- {Amount}Ksc : amount encryted so that only the issuing smart card and
bank can read it
Bank:
- All Ksc
- All Ksm
- Km
- Kasc
- Kasm
- All IDsc, and complete past transaction logs for each
IDsc
- All past smartcard balances, and current balance
- All IDsm, and complete past transaction logs for each
IDsm