Remix.run Logo
hypeatei 7 hours ago

It's my first time hearing about this "eFuse" functionality in Qualcomm CPUs. Are there non-dystopian uses for this as a manufacturer?

QuiEgo an hour ago | parent | next [-]

Almost every modern SoC has efuse memory. For example, this is used for yield management - the SoC will have extra blocks of RAM and expect some % to be dead. At manufacturing time they will blow fuses to say which RAM cells tested bad.

hexagonwin 7 hours ago | parent | prev | next [-]

Samsung uses this for their Knox security feature. The fuse gets broken in initial bootloader unlock, and all features related to Knox (Samsung Pay, Secure Folder, etc) gets disabled permanently even after reverting to stock firmware.

Retr0id 7 hours ago | parent | prev | next [-]

eFuses are in most CPUs, often used for things like disabling hardware debug interfaces in production devices - and rollback prevention.

thesh4d0w 7 hours ago | parent | prev | next [-]

I use them in an esp32 to write a random password to each of my products, so when I sell them they can each have their own secure default wifi password while all using the same firmware.

josephcsible 5 hours ago | parent [-]

What advantage do you see from using eFuses and not some other way to store the password?

thesh4d0w 5 hours ago | parent [-]

This is the only way I could come up with that would allow an end user to do a full factory reset, and end up back in a known good secure state afterwards.

Storing it in the firmware would mean every user has the same key. Storing it in eeprom means a factory reset will clear it. This allows me to ship hardware with the default key on a sticker on the side, and let's a non technical user reset it back to that if they need to.

It gives you a 256bit block to work with - https://docs.espressif.com/projects/esp-idf/en/stable/esp32/...

josephcsible 4 hours ago | parent [-]

But couldn't you also just set aside a bit of the EEPROM your factory reset skips, and accomplish the same thing?

josephcsible 5 hours ago | parent | prev [-]

There are not. The entire premise of eFuses are that after you buy something, the manufacturer can still make changes that you can't ever undo.