secure interfacing between an fpga and a connected device

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

Reply to
fpgabuilder
Loading thread data ...

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.

Reply to
Colin Paul Gloster

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

Reply to
Sylvain Munaut

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

Reply to
fpgabuilder

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

Reply to
comp.arch.fpga

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

Reply to
Andreas Schwarz

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...

Reply to
PFC

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.