??? 03/04/08 18:02 Modified: 03/04/08 18:08 Read: times |
#151890 - if you want to make it really painful ... Responding to: ???'s previous message |
You can serial-number your product, internally, of course, and then encrypt the downloadable code patches with the user's serial number, conveniently hidden away within code space, then include a small decryption routine that allows the encrypted "patch" to be downloaded, a sector at a time, decrypted, then programmed. You can even obfuscate the serial number by distributing it within a predefined block of code space, with an offset that is, say, the checksum of the serial number. The patch, that knows the serial number, can easily find it, while an attacker will be scratching his head for some time.
The key to making this work is to use the serial number without making any specific mention of it to the end-user. When he downloads a patch, he has to tell you who he is, and you then encrypt his version of the patch with the serial number that you've assigned him. If someone else tries to use that patch, he can try, but will fail because it yields rubbish. I don't know how much this will secure your product against the truly determined attacker, but, since the serial number in each product will be different with each unit, yet transparent to the "honest" user, it will not be "dirt-simple" for someone to abuse your encrypted patches. Since you'll have IAP code within your product, you are free to do whatever you like within it. RE |
Topic | Author | Date |
Secure IAP (In Application Programming) | 01/01/70 00:00 | |
It is not THAT important | 01/01/70 00:00 | |
Encryption | 01/01/70 00:00 | |
not necessarily | 01/01/70 00:00 | |
2 minutes? | 01/01/70 00:00 | |
Encryption worth it? | 01/01/70 00:00 | |
the philosophical thread continued | 01/01/70 00:00 | |
if you want to make it really painful ...![]() | 01/01/70 00:00 | |
ansered by e-mail | 01/01/70 00:00 | |
the balancing act | 01/01/70 00:00 | |
there is little difference... | 01/01/70 00:00 | |
bootloader | 01/01/70 00:00 | |
On a SiLabs F02x or similar | 01/01/70 00:00 | |
it's the same on other derivatives, too... | 01/01/70 00:00 |