07-20-2014 02:04 AM
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!
Solved! Go to Solution.
07-20-2014 02:38 AM
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
07-20-2014 02:57 AM
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?
07-20-2014 04:08 AM
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.
07-20-2014 04:14 AM
Yes!
Read C module ID is the easist solution. Cool. Thanks.
07-20-2014 07:17 PM
this may also help
07-21-2014 11:46 AM
@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.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
07-21-2014 12:01 PM
07-21-2014 12:03 PM
@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.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
07-21-2014 12:21 PM