Unique ID of storage device

Jarmund

I've come across license systems that are somehow tied to the storage medium. While basing this on the UUID on the filesystem is fairly straightforward, I do not believe this is the case (see below). A typic example of this behaviour goes as follows:

  1. On each boot, an id-file is generated.
  2. The system will check a key-file for a license. If the key matches the id, then all good.
  3. If no key, or if the key doesn't match the id (as in, copied from a different system), the license is not valid.

I've observed the following behavior:

  • Completely wiping the CF card and reinstalling results in the same id file being generated, thus no new key file is required.
  • Using the same key on a different CF does not work, as it does not match the contents of the new id file.

This leads me to conclude that there is a way of getting a unique id of the CF card somehow. How can one achieve this in linux?


PS: I've purposefully left out any details of the product itself, as I'm wondering more in general terms how a system like this can build a unique id of the CF card.

harrymc

The card will have lots of information registered in a read-only manner.

The article Reading Internal SD Card Information has this to say :

Internal SD Card Information

Information about an SD card is encoded in its internal card registries. One of these is the Card Identification (CID) Register, a 16 byte code that contains information that uniquely identifies the SD card, including the card serial number (PSN), manufacturer ID number (MID) and manufacture date (MDT). The CID register is set when the card is manufactured and cannot be changed after it is set. (According to SD card specification the information is only to be written once, however if a card does not conform to the specification this information could be changed!)

How to read the CID from an SD card

One way to read the CID is to use a laptop with an SD card slot. Card readers in laptops are usually connected directly through the PCI bus (or IDE bus). This will not work through a USB card reader because the command to retrieve the card information is intercepted and not understood by card readers. Not all computers with built-in card slots will work, some internal card readers are connected through a USB bus.

Assuming you have the proper hardware, there are several methods you can use to get the card information. With Linux, reading the internal SD card information is simple. Insert the card and look under /sys/block/mmcblk0/device/ (this location may change depending on your device). You will see several attributes available that include the CID register and the information inside it.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Java

Is there a unique Android device ID?

From Dev

Unique ID for a device with PHP

From Dev

Is there a unique windows device id?

From Dev

unique ID for every Device

From Dev

Generate unique id for each device

From Dev

Android - unique and constant device ID

From Dev

Get unique device ID in QML

From Dev

How to know id of the ordered block storage device

From Java

How to get a unique device ID in Swift?

From Java

How to get unique device hardware id in Android?

From Dev

Get unique device id for amazon echo

From Dev

How to get unique id in iOS device?

From Dev

Device Unique id in Windows Phone 8.1

From Dev

Is there a unique boot session id or count on an android device?

From Dev

Why did my unique device ID change?

From Dev

When is device unique id the same on windows phone?

From Dev

how to reach android device unique id?

From Dev

Can an emulator have a unique device ID? And can you use that ID?

From Dev

How to get device phone number or unique id in Swift?

From Dev

Windows Phone 8.1: DeviceExtendedProperties or DeviceStatus for Device Unique ID

From Dev

Get unique device id for every amazon echo devices

From Dev

Web Push unique device ID for auth-only subscriptions

From Dev

Windows Phone 8.1: DeviceExtendedProperties or DeviceStatus for Device Unique ID

From Dev

How to get device phone number or unique id in Swift?

From Dev

Generate unique id when saving JSON to Ionic / Cordova storage

From Dev

Perfect unique_id for device except IMEI,Android_ID,WLAN Mac and Bluetooth address

From Dev

Unique device identification

From Dev

Distinguishing Unique Device Connections

From Dev

tvOS unique device identifier

Related Related

HotTag

Archive