New interoperability for NFC toys
This site documents new interoperability for the Nintendo Amiibo, Disney Infinity, and Activision Skylanders lines of NFC toys.
Previously, only software and hardware from each manufacturer could read and/or write to their own model toys, as they were protected by passwords generated by previously unpublished algorithms.
This means a consumer could buy an NFC toy from a toy store, and not be able to fully use the NFC token inside (which they paid for!), with their other standard NFC devices, like their Android phone, or Mac or Windows computer.
This documentation is in support of the case study, Owning NFC Toys I Own, presented at the computer security and activism conference HOPE 2018 (The Circle of HOPE), NYC, July 22, 2018, 4pm.
Demonstrations and algorithms
A consumer should be able to use the full extent of the NFC token contained inside the NFC toy, and use it with their own data and their own hardware. To support this, this site documents the algorithms used to generate the read and/or write passwords for each model toy.
This site demonstrates this new interoperability by showing new, custom data being written to and read from toys across a variety of new hardware and software: Apple computers, Windows computers, Raspberry Pi computers, Android phones, Python software, JavaScript software, commercial software, open source software.
Knowing the read/write passwords for the figures allows them to be used for any purposes a regular, non-toy NFC token might be used for.
Exploration of toy content
In case there is a question of the copyrightability of the pre-existing data contained on an NFC toy, this site shows examples of using standard, off-the-shelf hardware and software to examine the NFC tokens inside of the toys, and show they are not custom or proprietary, but rather commercial, off-the-shelf components.
Even though much of the data on NFC toys is encrypted, by knowing the read/write passwords, we can look at the encrypted data and study when and where it is written by the game, and see the toys merely store values from the games, not any original content.
Educational analysis
NFC toys, being toys first, provide a novel and playful aspect that encourages exploration and understanding of the NFC tag inside, in a way that bare NFC tags alone do not.
By examining multiple models of NFC toys, we can evaluate several different technical decisions made in each one, and provide analysis for future engineers.
DMCA concerns
As discussed in the case study, NFC toys are often intended to support interactions with copyrighted, digital content, and so there may be legal subtleties when we want to use them for our own purposes. We should be able to play with our toys as we see fit, and it's up to us to assert our rights to do so.
Example workflows
These documents show the commonplace libnfc
-based workflows used to read and write data to NFC tags, as adapted for use with NFC toys.