UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Explorer
Explorer
718 Views
Registered: ‎12-18-2014

Protecting IP&Bitstream

Jump to solution

Hi,

I need an overview of the IP/Design protection mechanism/flows.

1.) In case we want to sell an IP which will be integrated into the customers design. How to protect the IP?

2.) Another case would be to provide a bitstream for a dedicated Eval Board to the customer. Is it possible for the customer to extract a netlist from the bitstream? How is the bitfile encrypted, is there additional hardware required?

 

Thank you.

0 Kudos
1 Solution

Accepted Solutions
Explorer
Explorer
783 Views
Registered: ‎05-08-2018

Re: Protecting IP&Bitstream

Jump to solution

s,

 

First, what device family?

 

Next, generally speaking, an unencrypted bitstream is 'security by obscurity:' it takes significant effort to reverse engineer the design.  Not impossible, just difficult.  For many (most), this is what users depend on (insecure, but difficult).

 

For best security, bistreams are encrypted (AES256), and in all recent families, authenticated (SHA256).  The key is kept in the battery-backed key memory.  There is an option to use efuse key, but efuse can be read by physically grinding down the device, and examining it.  Efuse is considered secure against most attackers, as it physically destroys the device to reverse engineer, and the key bits are 288 out of 4,096 (may take  programming known keys and destroying a number of devices to reverse engineer).

 

IP may be encrypted in the latest tools (Vivado) using the IEEE:

https://www.xilinx.com/support/answers/68071.html

 

That protects the source, but offers no protection in the bitstream (only encryption does that).

 

Starting with triple DES in Virtex II, Xilinx devices have provided decryption of encrypted bitstreams.  While some university student attackers have claimed success (using differential power attack), recent families provide features to prevent that attack.  No 'in the wild' attacks have ever been reported as successful.

 

Note the NSA approves the use of Xilinx devices when used with the encryption features.

https://news.thomasnet.com/companystory/xilinx-and-nsa-announce-approval-of-virtex-5q-fpga-solution-for-high-grade-cryptographic-processing-835410

(first device approved)

 

So if it good enough to keep applications in the nation's defense safe, the it should be good enough for you if used properly.

 

 

7 Replies
Explorer
Explorer
784 Views
Registered: ‎05-08-2018

Re: Protecting IP&Bitstream

Jump to solution

s,

 

First, what device family?

 

Next, generally speaking, an unencrypted bitstream is 'security by obscurity:' it takes significant effort to reverse engineer the design.  Not impossible, just difficult.  For many (most), this is what users depend on (insecure, but difficult).

 

For best security, bistreams are encrypted (AES256), and in all recent families, authenticated (SHA256).  The key is kept in the battery-backed key memory.  There is an option to use efuse key, but efuse can be read by physically grinding down the device, and examining it.  Efuse is considered secure against most attackers, as it physically destroys the device to reverse engineer, and the key bits are 288 out of 4,096 (may take  programming known keys and destroying a number of devices to reverse engineer).

 

IP may be encrypted in the latest tools (Vivado) using the IEEE:

https://www.xilinx.com/support/answers/68071.html

 

That protects the source, but offers no protection in the bitstream (only encryption does that).

 

Starting with triple DES in Virtex II, Xilinx devices have provided decryption of encrypted bitstreams.  While some university student attackers have claimed success (using differential power attack), recent families provide features to prevent that attack.  No 'in the wild' attacks have ever been reported as successful.

 

Note the NSA approves the use of Xilinx devices when used with the encryption features.

https://news.thomasnet.com/companystory/xilinx-and-nsa-announce-approval-of-virtex-5q-fpga-solution-for-high-grade-cryptographic-processing-835410

(first device approved)

 

So if it good enough to keep applications in the nation's defense safe, the it should be good enough for you if used properly.

 

 

Adventurer
Adventurer
264 Views
Registered: ‎10-01-2014

Re: Protecting IP&Bitstream

Jump to solution

Dear @alesea,

Could you please delve a bit in when you state: "That protects the source, but offers no protection in the bitstream (only encryption does that)."? Does that mean that if I provide an encrypted source to some costumers, they still can do reverse engineering in the generated bit-stream of their designs, and thus extract ("steal") the IP information/design/logic circuitry from it?
I really appreciate if you could clarify me this... Many thanks in advance.

0 Kudos
245 Views
Registered: ‎01-22-2015

Re: Protecting IP&Bitstream

Jump to solution

@rodolfogomes 

Since alesea has not been active in the Forum since Oct2018, I will try to answer your question.

Suppose you have an unencrypted bitstream stored in flash memory on your-board.  Then, a bad-someone can buy your-board, read the bitstream from the flash memory on the board, and reproduce/copy the board (after some effort).  The unencrypted bitstream can then be written to flash memory on a copy-board and will successfully configure the FPGA when the copy-board is powered-ON.  In short, the bad-someone can completely reproduce and sell working-copies of your-board - even though the bad-someone does not have the source-code for your FPGA project, nor for your IP.

However, if you make the effort to encrypt the bitstream (see "Bitstream Security" in Xilinx document UG470), then only you (and an unreadable part of the FPGA on your-board) have the encryption key.  Without this encryption key, the bad-someone "cannot easily" use your encrypted bitstream to configure FPGAs on a copy-board.  I say "cannot easily" because encryptions are hard to break - but not impossible to break.

Encypting the IP, as mentioned by alesea, does not automatically mean that the bitstream is encrypted.

Mark

231 Views
Registered: ‎09-17-2018

Re: Protecting IP&Bitstream

Jump to solution

alesea?

Yes, I am still around, but now a customer, and thorougly enjoying my new role (amused to see my answers as Austin.Lesea, alesea, and now as lowearthorbit) still out there being referenced.  I even search for answers only to find answers I gave years ago!

And, good answer markg....proper bitstream encryption is one element in preventing illicit copying.  I would add using authentication to encryption, and for the paranoid:  using BBRAM, not efuse keys.  Although wading through 4k of efuses to find the 256 bit AES key sounds difficult, it really isn't all that tough with the proper tools.  BBRAM on the other hand has no known hack, and in the latest devices, differential power attacks are thwarted by using multiple keys.

l.e.o.

(a.k.a. alesea, Austin Lesea, Professor...)

0 Kudos
Adventurer
Adventurer
212 Views
Registered: ‎10-01-2014

Re: Protecting IP&Bitstream

Jump to solution

Dear @lowearthorbit  and markg@prosensing.com ,

Many thanks for your comments, and I could't agree more with you. That's clear that to protect the design flow/information of a complete system the bitstream must be encrypted.

But that's not my concern. For instance, if my company core business is solely the development of IP blocks to be integrated in costumers' larger Vivado designs, there is no way to protect my intelectual property? It's even more confusing since Xilinx's itself sells a few quite expensive IP blocks... are they vulnerable to reverse engineering from the bitstream analysis?  A costumer can always buy one of those IPs, integrated them in their design, run the bitstream, and then proceed with reverse engineering? If that is the case, encrypting Vivado VHDL sources is somehow irrelavant, am I right?

Many thanks,

Rodolfo

 

 

0 Kudos
203 Views
Registered: ‎01-22-2015

Re: Protecting IP&Bitstream

Jump to solution

@rodolfogomes 

The copy/reuse bitstream activity that I described is an easy way for criminals to make some $$.

Reverse engineering a bitstream to get your IP source code would (I think) be too much effort for criminals.  For the same amount of effort, the criminal could probably develop/write the IP themselves.

So, to protect your IP, it is probably sufficient to encrypt the IP as Xilinx does.

Mark

Adventurer
Adventurer
192 Views
Registered: ‎10-01-2014

Re: Protecting IP&Bitstream

Jump to solution
Many thanks for your thoughts!
0 Kudos