COS 496: Information Security
At 11:30 PM every Saturday, a random number generator in the central lottery office generates the "weekly drawing" which is a randomly chosen integer between 0 and 9,999,999 inclusive. On Sunday, anybody who has a ticket that (a) was sold within the last week, and (b) has a lucky number that matches the weekly drawing, can turn in that ticket. The lottery agency has one week to validate the ticket; if it is successfully validated, the person who turned it in gets $5,000,000 in cash. Any number of winning tickets, or none at all, might exist.
Tickets are dispensed by lottery terminals, which are small hardware devices that the lottery agency leases to the owners of convenience stores throughout the state. The store puts the terminal next to the store's cash register. A customer who wants to buy a lottery ticket enters his or her chosen lucky number by pressing buttons on the terminal, or the customer presses a special button asking the terminal to generate a lucky number randomly. The customer then pays the store clerk $1. Finally, the store clerk presses a button that causes the terminal to dispense the ticket to the customer.
At the end of the week, each store tells the lottery agency how many tickets the store sold that week. The store gives the lottery ninety cents for each sale that the store reports; the store gets to keep the other ten cents.
You can assume that the lottery terminals are tamperproof, in the sense that there is no way to open up the terminal or modify its innards without irrevocably breaking the terminal. However, a criminal might steal a terminal and hide it or might smash a terminal to bits deliberately.
Each terminal has an accurate, tamperproof clock inside it.
Some store owners are dishonest and may try to "lowball" you by lying about how many tickets they sold and pocketing the extra money. One of your goals is to make it hard for store owners to do this without getting caught.
Each terminal costs you $50 per week; this includes maintenance plus the amortized cost of buying the terminal.
You can add one or more modems to each terminal, and you can add any number of modems at the central office, but every modem (plus its associated dedicated phone line) costs $10 per week. A modem that you decide to "build in" to a terminal can be put inside the tamperproof module so that it is impossible for anyone to tamper with the modem without breaking it.
If you want, you can have each terminal create a weekly log of its activities on a floppy disk. This facility costs $1 per terminal per week, and you can assume that it is tamperproof. You can have a lottery courier drive out to a store and use a special key to open the terminal and get a copy of the log. A courier can visit 200 stores per week, and it costs you $2000 per week per courier for salary, benefits, the courier's car, and police officers to do background checks on the couriers.
There are 10,000 lottery terminals in the state.