LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to protect FPGA IP?

Solved!
Go to solution

Hi Guys,

I've developed a FPGA application and build the VIs as a bitfile. I am wondering how to protect it?

If others buy my product with the same hardware and just copy my bitfile, it will work too, right?

Is there any FPGA unique hardware related ID that I could get using LabVIEW? In this way I could use a simple ID related protection method and build it into bitfile.

 

Anyone know about this? Many Thanks!

0 Kudos
Message 1 of 11
(3,477 Views)

Hi Bruce,

    The standard way to protect your work at the level I believe you are aiming at is to password protect the block diagram. This way the customer could still run the program in interactive mode and compile it for their particular FPGA, but can't change the functionallity or see the implimentation details. More difficult though is enforcing a license and preventing privacy. You could imagine making a physical dongle that would hook up to a couple IO lines on the FPGA and prevent the program from running if it was missing.

 

Password Protect Block Diagram

 

Good luck!

-Gabe

0 Kudos
Message 2 of 11
(3,470 Views)

Thanks! GabeG,

Dose Physical dongle means some specified IO wiring to an external equipment?

 

Imagine that you buy a CompactRIO from me to do some analysis. And you don't even have to buy LabVIEW, because I set the CompactRIO to auto run.   A turn key solution.

But there is FPGA bitfile in the compactRIO you could access. and you know the hardware package and wiring. So you might be able to recreate this system without my licensing.

 

How could I stop it from happenning?

 

 

0 Kudos
Message 3 of 11
(3,464 Views)
Solution
Accepted by topic author BruceL

Hi Bruce,

    In the FPGA code, you could programmatically read the cRIO module serial numbers and check that they are the same every time the system starts up. Of course if a module goes bad, you have to ship them a new module and bitfile. There are various USB style dongle manufacturers you could probably get to work without much difficulty: http://www.microcosm.co.uk/dinkey_pro.php. It really depends on whether you're trying to make it difficult to pirate or impossible. Selling a complete hardware package like you're describing is probably already pretty safe, unless you plan to charge a lot for the value added by your FPGA IP.

0 Kudos
Message 4 of 11
(3,441 Views)

Yes! 

Read C module ID is the easist solution. Cool. Thanks.

0 Kudos
Message 5 of 11
(3,435 Views)
0 Kudos
Message 6 of 11
(3,400 Views)

@GabeG wrote:

Hi Bruce,

    The standard way to protect your work at the level I believe you are aiming at is to password protect the block diagram. 


NI has said that VI password protection may not be secure enough for some users, and for greater security block diagrams can be removed.

 

http://digital.ni.com/public.nsf/allkb/831F38C46BCBDADE8625793A0054BB19

 

In my opinion I would not choose to password protect a VI because I feel it isn't secure enough for protecting IP.

0 Kudos
Message 7 of 11
(3,351 Views)
Personally, I would never purchase any code that has had the block diagram removed. Did this once and when the seller disappeared, the code was useless when I upgraded.

0 Kudos
Message 8 of 11
(3,349 Views)

@Dennis_Knutson wrote:
Personally, I would never purchase any code that has had the block diagram removed. Did this once and when the seller disappeared, the code was useless when I upgraded.


As a user of the software, I would agree with you.  As a manager of a software group trying to protect IP, I would find the password "protection" provided to be less than adequate.

0 Kudos
Message 9 of 11
(3,346 Views)
I would use the licensing and activation toolkit before removing block diagrams.

http://sine.ni.com/nips/cds/view/p/lang/en/nid/209107
0 Kudos
Message 10 of 11
(3,335 Views)