I have created a map for using with GPS devices. The map is copied to a microSD card and then, GPS can read the map data from the card. How can I create copy/clone protection of my data on microSD cards? Because my business depends on it.

  • Of data? Of some common, open format? Practically impossible. The way you protect data (temporarily) is by using a proprietary format, and creating your own programs or hardware to run it (you get better results if you make the hardware). For non-connected devices (ie, standard GPS receivers) there's nothing you could conceivably do to prevent people sharing some sort of unlock key. Who provides the card? What happens if somebody gets a new GPS unit, are they supposed to buy a new copy of your map? – Clockwork-Muse Apr 9 '15 at 11:12
  • 1
    By its very nature, data on an SD card is meant to be read. Unless you control the program reading the file, you cannot do anything with the file that would protect it in any way. In other words, if you make the GPS units, or the GPS software, you could perhaps integrate a solution that would tie the data to the unit at hand, at the very least make it more difficult to get the data working on another unit. If the map data is read by 3rd party software, you have no way to secure it. – angry person Apr 9 '15 at 12:49

I think the OP is after the DRM protection built into SD cards: http://en.wikipedia.org/wiki/Secure_Digital

Thats why they're called "SD" as in "Secure Digital".

The access to the DRM encoding Equipment for SD cards is limited to those buying a license, so I would suggest you Contact the SD Association for purchasing a license: http://www.sdcard.org/

This DRM protection can perform a challenge-response type of authentication before allowing access to the content on SD-card, which will be encrypted during transmission. Preferably, your GPS device will contain a "smart card chip" containing keys, and your map SD card will communicate with this chip to create a encrypted channel. Then you could generate symmetric keys using a secret algorithm based on the GPS device's serial number + a secret master key as input. The master key is only stored in your production equipment.

When a customer wants to purchase a map, they will have to specify the GPS device serial number, they will then be sent a SD card tailored for that GPS device.

  • Hunh, didn't know about that feature, good find. Of course, then he still has some other problems: 1) has to purchase and implement an encryption license. 2) Limited in what GPS devices can be used, and potentially who is willing to work with you. 3) Required to read from SD card (can't permanently load to device) 4) Have to sell/ship (potentially unique) physical goods. A cursory check shows at least Garmin to be using this feature, dunno about any other company – Clockwork-Muse Apr 10 '15 at 4:05
  • You can permanently load it into device too. You just need to have some sort of secure storage inside the GPS device too. You could also sell the GPS file encrypted by a unique key inside each GPS device, but there is higher risk that such a scheme is cracked. – sebastian nielsen Apr 10 '15 at 16:25
  • If you load it to the device, you'd have to erase it from the card (or they could load it into a different device) – Clockwork-Muse Apr 11 '15 at 1:56
  • No. Note how I did mention that you ask for the GPS device's serial number at sale, preventing the SD card from being used with a Another device. You can also have a system where the SD card "marries" with the first device it sees. – sebastian nielsen Apr 14 '15 at 11:18
  • @Clockwork-Muse Good find? Its like the only real defining difference between SD and MMC. – Aron Jan 27 '16 at 10:40

At best you can do obfuscation of the data with some crypto. The key will have to be stored somewhere in the program then, so it can be reversed. Making a foolproof DRM to prevent copying is not possible. Many have tried, all have failed.


Not sure any here have nailed exactly how SD cards secure data.

My take on how it works is that the SD card itself is the secure device and cannot be cloned by normal methods. The software is tied to that particular card which has embedded code in an unwritable section which is read by the software. Good luck finding and changing that part of the code in the software which itself can be obfuscated such that only the most knowledgeable could attempt a hack if it was even worth it.

A European map and GPS manufacturer have been using this technique for years for handhelds and especially their premium marine-based maps and equipment.

An Australian digital map seller uses the same tech. Its damn near foolproof really and I wonder why Garmin don't use it but my guess is it haven't suffered greatly profit-wise since their 25 digit software code was cracked a few years ago. The real money is in the hardware I believe.

  • Additionally SD cards have a flag named COPY in the card specific data register (CSD). This can only be programmed once. Many devices that accept updates (e.g. maps) will set the COPY flag at the end of a successful update, preventing the SD card from being used again. It can still be read fine in a computer (if using a normal file system) but devices will refuse to update from it. – David May 22 at 19:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.