secure interfacing between an fpga and a connected device

Aug 09, 2007 6 Replies

I have -



MY_FPGA DEVICE



I want to make it so that the DEVICE operates only if MY_FPGA is connected to it. I need to make this connection secure enough to pass Military Export controls. Any ideas? I am thinking an AES based symmetric key operation that would encrypt the output of the DEVICE. But I want to get away from encrypting the data once the DEVICE has been unlocked if possible. Mainly for power and resource contraints on the DEVICE.



TIA. Sanjay



In news: snipped-for-privacy@q3g2000prf.googlegroups.com timestamped Thu, 09 Aug 2007 07:57:45 -0000, fpgabuilder posted: |----------------------------------------------------------------------| |"I have - | | | |MY_FPGA DEVICE | | | |I want to make it so that the DEVICE operates only if MY_FPGA is | |connected to it. I need to make this connection secure enough to pass| |Military Export controls. [..]" | |----------------------------------------------------------------------|

No thing can exist such that it is secure.

It depends of the DEVICE ... But if it has some secure memory (i.e. protected against attacks), you could store a key in it. Then, don't take any key, but a key derivated from a PUF from MY_FPGA. So that the key isn't present in the FPGA bitstream itself.

That will make the key unique per board ...

Sylvain

Thanks Sylvain.

Actually, the FPGA bit-stream is protected by AES. But my problem is that I want to make the system such that the DEVICE would recognize that MY_FPGA is connected to it. The problems I face are -

  1. Someone can snoop the wires and replicate the same key as MY_FPGA writes to the DEVICE.
  2. DEVICE is an asic. I do not know what challenges are in putting a non-volatile secured memory into a standard CMOS asic.

-sanjay

google "challenge response".

You probably need to use battery backed up storage or PROM, depending on your requirements.

But the bottom line is: There is no way you can create anything secure as an amateur. Systems created by professionals in many cases are broken in a while, so do not even dream of creating a secure device yourself. At least ask a student that specializes in the area. Most people underestimate how smart the attacs on such devices can be. For example look up "differential power analysis" for a way to get keys out of smart cards.

Kolja Sulimma

That's what challenge-response authentication used for: the DEVICE sends a random request (x) to the FPGA, and if the FPGA can give the correct answer (e.g. hash(x+key)) it is authenticated. It's very simple in software, but probably a lot more difficult in hardware because you need a good random number source that cannot easily be manipulated.

Andreas

I'm not a specialist, but...

- You can use challenge/response so that no key is exchanged. You'll need some public/private key crypto. - Read this :

formatting link
(especially the part on tapping the HyperTransport bus) : a single student armed with a FPGA nuked microsoft's protection...

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required