Thanks for all of the inputs, everyone. I'm really leaning toward Lob0246's thermite-in-the-thief's-pocket suggestion ... it just provides SO much more entertainment and satisfaction value, not to mention making a lasting impression on the perp, quite literally! The only downsides would be the ensuing clouds of rapidly-overheated cockroach fumes, as well as the need to keep Purple K chemical fire extinguishers handy in the very likely event that someone accidentally sets off the thermite slab over their Pi! I hate
when that happens!
I was mostly interested in stirring some outside-the-box thinking (to make it possible for visitors to still see the Pi and handle it, if at all possible) for solutions, with the software-oriented approaches providing the surprise factor for embarrassing someone foolish enough to try to snatch a Pi. The best solution is the one that's most unexpected, and that generally means attacking the problem on as many fronts as possible. Any combination of the suggestions up to this point will be better than the current situation of bare-naked boards with no anti-theft software running.
The people who have keyed on preventing casual theft are on precisely the right track - this doesn't need to be world-class bulletproof under all envisionable circumstances (e.g., surviving more than 10 seconds at BlackHat/DefCon). It's more a matter of providing multiple mechanisms to cause an unpleasant surprise for lazy idiots who probably don't even know what Linux is, much less what /proc/cpuinfo means. BTW, that's a file, and if you can get root access, you can munge it, as I'm guessing it's populated during boot. I was curious as to whether there's a system call we can make independent of any software to get to the actual serial number burned into the SOC.
[quote=markb]Why not use a bit of common sense when leaving a Pi out in public until they become easily available?[/quote]
This is the kind of unhelpful comment I'm glad none of the others made. We were set up on the only table in the middle of a small conference room that people had to be escorted into through over 500 feet of building space, and we only had a few dozen visitors (about a third of which were kids) all afternoon, most of whom actively contributed to the event by bringing equipment, helping set up, etc. The stolen Pi was taken from a machine crowded around nearly the entire day by kids enjoying programming, trying out games, and otherwise doing exactly what we wanted to have happen, all within line-of-sight of other participants, including me, less than eight feet away. It wasn't like we just laid it out on a table 100 feet away in front of thousands of passers-by and ignored it. It appears that it disappeared during tear-down, which is always chaotic, and I had assumed that someone had just put the board in the wrong box. It's still possible that someone who doesn't monitor these forums doesn't even know that it's missing and that they need to check what's in with what they brought. I'm still hoping against hope that's actually the case. However, others have had thefts occur previously (but, didn't advertise it - grrrRRR).
The physical securing route is likely the most straightforward, from Liz's duct tape (it's like The Force, there's a dark side, a light side, and it holds the universe together
), to the cable-ties (is there a vanadium/chromium/molybdenum/steel version of those?), to a big, transparent plastic case that a number of boards can be protected within (might help to keep cables neat, too), to whips and chains, to ...
Very interesting point that the composite video jack is open all the way through the center conductor hole - it's certainly large enough in diameter to string one of the thinner security cables through (maybe even vinyl-covered), although it might need to have a bolt-hole tab swaged onto the end of the cable after being passed through the jack. I was going to use a high-intensity light to look through the six-layers of the PC board to see if a big enough hole could be drilled through, but, the jack center conductor hole is probably larger in diameter than any point where the board could safely and accurately be drilled.
The false-alarm heartbeat issue is fairly easy to manage with the right frequency of timing and keeping the protocol as absolutely light/simple as possible. It's pretty straightforward to monitor network traffic and adjust both the frequency of heartbeat transmissions as well as expectations of how often they should be received. Think of it as a variation of the back-off algorithm used when network packet collisions occur - the next attempt is delayed by some multiplier faction, plus a random offset to reduce the likelihood of a collision on the next attempt.
I'm a little bit surprised at the tin-foil-hat response to putting something in the kernels - there's already a ton of security stuff in there, including the code that populates /proc/cpuinfo (if not for security, which includes license validation that's not used on the Pi as far as I'm aware, why else is it in there?). Why in the world would you be opposed to helping to prevent theft of the hardware, especially given the intended purpose of the board - education of kids. Otherwise-sane people keep leaping off tall buildings in a single bound and splattering themselves in intellectual embarrassment on the pavement below - how many times do we have to repeat that the Pi is not meant to be everything to everyone. Also, note that even the rumor of hidden security/identity features will spread very quickly through the thief underground and often even just the impression that boards are being actively monitored and secured via multiple countermeasures can be enough of a deterrent. Typical door locks are meant to keep honest people honest and make it not worth the trouble for casual criminals to take a risk. Massive concrete-and-steel vaults are only appropriate to slow down the most determined teams of expert break-in-and-make-off technicians.
If you don't like the Pi board's intended purpose and everything that would help ensure its success (educating kids, which implies continuous availability to them), then don't buy it, don't use it, don't put your personal info on it (including embarrassing material, finances, intimate communications, etc.), and don't complain about it. I sure as heck don't put any personal info on the SD cards used in my Pi boards, and one of those was also stolen with my Pi, which is actually worth more to me than the board because of hard work I had done on custom software on it (although I had almost completely backed it up, anyway).
I'm going to go consult some Harry Houdini books to reverse-engineer how to most effectively secure a Pi in a steamer trunk, wrap it in chains, lower it into a tank of highly-corrosive (and especially stinky) chemicals, and prevent it from being liberated not one moment before I'm ready for it to be, all while ensuring that the Pi emerges unscathed into my waiting hands.