cancel
Showing results for 
Search instead for 
Did you mean: 

Device Signature compsition on STM32

xaela
Associate II
Posted on July 30, 2009 at 21:01

Device Signature compsition on STM32

14 REPLIES 14
st3
Associate II
Posted on May 17, 2011 at 13:15

Dallas (now Maxim) have chips that are delivered with a guaranteed-unique serial number.

I guess others also exist?

xaela
Associate II
Posted on May 17, 2011 at 13:15

Hi...

Of course...

Like NOT always etherned is mounted, also GPRS is not always mounted, like any other media... It depends on product configuration...

Alex

andreas2
Associate II
Posted on May 17, 2011 at 13:15

Initially, I thought the first 32 bits were fixed for each family, but later batches had mixed numbers. They still seem to have rather low entropy though, so they would be the first to discard.

An interesting note: In the couple of thousands of numbers we have on store so far, I still haven't seen a single hex digit in the last 64 bits. Ok, I haven't run a proper query on all the numbers, only a ''manual grep''. But for sure they are not as frequent as they would have to be if the unique id was ''random''. So if we assume that the last 64 bits contains a BCD number, they only represent about 53 bits of information. Still a way to go if your target is 32 bits.

Also I'm certain that the last byte in not fixed to 43 in our devices. But maybe we don't use the same byte order, I display them as three words, not as an array of bytes.

Regardless of the method used to allocate numbers today, nothing says ST won't change method at any time. I wouldn't rely on any condensation of those 96 bits to be unique. But as domen said, collisions could be tested for during production test, and the few that do happen you can probably afford to scrap. If collisions suddenly start to increase due to ST changing method, the hashing can be changed as well.

jellybean10025
Associate II
Posted on May 17, 2011 at 13:15

We need to find a solution and adding a serial number chip when we already have a serial number seems a waste.

I've started breaking down the numbers. If others are willing to help, we might be able to decode enough of the string to get the ''most unique'' or incremented part.

Here is what I have so far from the chips lying around:

STM32F103VET6

37FFFFFF 59343935 46430243

37FFFFFF 59343935 34430243

375FFFFF 59343935 38430243

STM32F103RBT6

36006A06 58353233 57290543

36006D06 58353233 59470543

STM32F103VBT6

36FFFFFF 58303738 42311543

STM32F103ZET6

36FFFFFF 58363936 25471043

From looking at this, I'm guessing that the last 4 digits are not counting. I would guess that digits 5 and 6 of the last word are a chip designator.

The beginning of the third word clearly seems to be counting. The second word could be counting too. The first word looks like it encodes something.

If we could get 48 bits that were serial, I don't think we would have to worry about a conflict for a while. At least until they make 300 trillion STM32 chips

:D

jellybean10025
Associate II
Posted on May 17, 2011 at 13:15

Yes we have also noticed some movement in the first 32 bits. If those were the top of the count, they wouldn't move or would move randomly and I'm not seeing that. So I'm still guessing they are something else.

There is also the ''Reserved'' area that probably isn't counting.

One of the things we're considering is using a subset of ''active'' bits and combining it with a counter. That way we can guarantee uniqueness, but still lock the software to the hardware.

And yes, that is a big-endian memory dump. If you look at the words, the bytes are reversed and appear as a byte array.