An alternative anti-theft system for the OLPC XO (draft)

This is a draft. Please do comment, but do not submit it to news sites just yet.A potential problem with the XO laptop is that it could be stolen. Various techniques are used to try to prevent this, for example it is supposed to look unattractive to adults but attractive to children. There's also an optional DRM-like anti-theft mechanism. This works by requesting permission to continue working every day. If the laptop has been reported as stolen, permission won't be granted, and if the laptop doesn't get permission for a certain amount of time (say three weeks), it will stop working. There are some problems with this approach to preventing theft.Both the child that owns the laptop and its parents cannot be expected to report theft, simply because they may not have the resources to contact the OLPC organization. A teacher will have to do it. Even if the teacher can be trusted, this is a problem: stealing a single laptop and threatening the owner to make sure the theft won't be reported isn't worth the effort, but threatening the teacher and then stealing many laptops is.Next problem. Perhaps someone doesn't like what is taught in a certain school (evolution?), and wants to do some book burning. This is easy if the books are stored in laptops that will be disabled when some far away person can be led to believe they have been stolen.The result is that whenever there are reports of many laptops being stolen, someone from OLPC will have to come to see what really happened. So what does a smart thief do? He will cause false reports until the OLPC organization gives up and stops visiting.All these problems (I bet there are even more) are caused by the fact this anti-theft mechanism is organized as a tree, with children/laptops at the leaves, teachers in the middle and OLPC at the root. If you attack a node higher in the tree (computer scientists and mathematicians put the root at the top), all those below will be affected. If we want to avoid these issues, the laptop can only rely on itself and its peers to determine if it should refuse to work. Here's a list of questions that may help it do so:

  • Does the main user (the person who uses the laptop most of the time) look different? The XO has a built-in camera, however face recognition may be difficult.
  • Does the main user look like an adult? This may be easier than recognizing the face of a particular person, and doesn't require a learning phase.
  • Did the input patterns change? E.g. much faster or slower typing, change from using mostly the keyboard to mostly the pointing device or vice versa, a large change of the set of most often used words, most often used applications... Of course this should be measured over multiple days.
  • The laptop hasn't been switched on for a few days (waiting to be sold).
  • Your idea here.

This introduces a really awful problem: even if it only does so when multiple of the above conditions are combined, the laptop may decide to stop working by mistake. The solution is surprisingly simple:

  1. Create a list of "friend" laptops that are wirelessly communicated with often.
  2. If one of those isn't seen for a long time, replace it in the list by another.
  3. If many aren't seen for a long time, stop working. If a child is moving to a different neighborhood, it has to connect the laptop (through USB?) to the internet access point at the initial location, and within a few weeks also to the one at the destination. (Yes, this is problematic and annoying. It's the best I can think of, though).
  4. If the laptop believes it was stolen, it asks its friends if they also think they were stolen. If most were, all stolen mutual friends stop working simultaneously.

Now, a stolen laptop can only work if it stays close to its friends. This is good: a child can ask the laptop of a friend where in the wireless mesh its own laptop is, send a few adults to retrieve it and then continue using it without needing to re-request permission.With a few laptops it's even possible to pinpoint the stolen one using triangulation (using wireless signal strength). Triangulation is also useful for finding lost but not stolen laptops, and of course for a cooperative mapping application (which I believe the children would love).I'm looking forward to your comments.