Jump to content
Sign in to follow this  
JackHamilton

Implementing Hardware Encryption Keys in LabVIEW

Recommended Posts

Original Posting in info-LabVIEW, might as well post it here for posterity...

USB Hardware Encryption (Dongle) Implementation in LabVIEW.

I recommed the Raindow Sentinel SuperPro Key. What you need to know:

Developers Kit

You need to first buy the developers kit, which here in the US is $19.95. This comes with one key and the developer software that allows you to burn keys. Goto: www.Rainbow.com - look at Sentinel SuperPro Encryption key. (HASP 4 (different company) has been hacked in the past

Share this post


Link to post
Share on other sites

Hi Jack,

Michael Aivaliotis told me about this link where you describe the use of the Rainbow Security Key.

I've been having problems in using the Automatic Protection scheme where the LabVIEW executable is wrapped in a shell. Have you actually managed to get this to work, because I've tried everything and it keeps on coming up with a Template Error.

Just so you know the Automatic protection scheme does check for the presence of a key every minute, so you can't startup several copies with just one key. I believe if the key is not found then the program is shut down immediately (and I doubt if you have any control over this), but I wont know for sure until I can get the Protected Executable to run!!

Share this post


Link to post
Share on other sites

Chris,

I did not use the "Automatic Protection" Scheme. If I recall, this encrypts the entire LabVIEW exe and acts as a shell.

I think this path is the potentially fraught with the most problems. As your application communicates with hardware - I would think the shell would not provide full access to the OS resources.

Any reason why you did not use a simple keywork/encrypt scheme? You can call the key with a single VI - which will send it a string to decrypt - your code will check the response and if it's correct allow your code to programatically determine what to do (Quit, or warn the user)

Rainbow has LabVIEW VIs. I have modified them severely I can help you over the rough spots.

Regards

Jack Hamilton

Share this post


Link to post
Share on other sites

Hi Jack,

Yes the Automatic Portection Scheme wraps the LabVIEW exe into an encrypted shell (if it worked :thumbdown: ).

I agree it has limited capabilities for shutting down the program and I would definitely not use it if this could cause damage to hardware or really, really upset the user.

However it does offer the following advantages:

1) You can protect your program in literally thirty seconds.

2) It offers additional DEMO features like expiration dates and times, where as the Integrated method only offers a counter.

Perhaps when Version 7 comes out shortly they might have some more features for the Automatic Protection method I will try and find out.

We threw Rainbow's VIs in the bin as soon as we saw them to - so many globals (couldn't find a smilie face that was vomiting). I've attached a picture of a test VI showing the Integrated Method, and once I document them a bit better anyone can have them. The way in which we use them probably needs a little refining to incorporate some of your ideas in the original post and the techniques that Rainbow suggest, but so far one of our applications (which has sold a couple of hundred licences) has had no reports of any failures.

post-28-1080095601.jpg?width=400

Share this post


Link to post
Share on other sites

Hi,

I've read that Jack modified Rainbow LabVIEW VIs. In version 7 of Sentinel software there's no trace of LabVIEW example because -as told me Rainbow support- there were some instability problems.

Now i'm in trouble: there's someone that can show me a VI to interface with HW key?

:headbang:

You can find me at mynock@<cut_this>libero.it

thanks

Share this post


Link to post
Share on other sites

The Sentinel LabVIEW software support was pretty awful (in 6.3) and I doubt whether it has changed in version 7. Automatic protection did not work in version 6.3 and I suspect that is the instability problems they are talking about in version 7 also.

I will email our own interface VI's (High and Low Level support) and a good manual explaining it all to your personal email address. We have written them in LabVIEW 6.1 for the Sentinel software version 6.3, but they should also be compatible with version 7.

I just have to take out all our secret Write Passwords etc ;-) so it might take a day or two.

Share this post


Link to post
Share on other sites

You are right: i've contacted SafeNet Support about drivers and LabVIEW examples. This was the answer:

"We did provide an interface for LabView for our SuperPro hardware product, but there were some instability problems, so the interface was withdrawn. However, we have found that with LabView 7.1, our standard SuperPro 6.3 'C' DLL was able to link seamlessly, provided that _MSC_VER flag is defined in the source code before the include statement for the SuperPro header (spromeps.h). Although it is untested, the same principles should apply for UltraPro. Currently, there are no plans to provide a formal interface for UltraPro in Labview."

It's very kind of you to send me the VIs! thanks a lot!

Regards / mynock

Share this post


Link to post
Share on other sites

Hi Jack, Chris and Mynoch

I know this tread is quite old but was hoping you might still check . I found the tread of real interest to me as I was concidering percasing the super pro key to protect my labVIEW program. I am running with LabView 7 at the mo. From the obvious interface problems mentioned here is it worth my while getting this software or have you any other sujestions of a more suitable alternative. Mynoch, how did you eventually get on with the keys. did you get the software to work for you.

Any advice would be much appreciated.

Kind Regards

Dec

Share this post


Link to post
Share on other sites

Hi Dec,

Well it took a lot of effort to understand how the whole Sentinel Security Key thing worked and then get it interfaced with LabVIEW, but now that it's working we have had no problems. Personally I would prefer not to use a Dongle if I could avoid it, because they cost a lot (AUS$50/key), they involve some extra work to include the protection in your software and they are a hassle for users.

It would have been real nice if the Sentinel Automatic Protection worked with LabVIEW - that was so easy to do, but the Integrated Protection does offer you features like setting up Demo software based on a number of trials or date limited and allows remote upgrades by emailing unlocking codes and if you set it up right it is supposed to be pretty unhackable.

Share this post


Link to post
Share on other sites

Hi Dec,

I think that Chris is right. I've paid 30 Euro for the UltraPro kit (with only one kit you can prepare infinite keys) and 40 euro for 5 keys... Note that one kit includes a key so you can try it...

Quick Shell doesn't work with LabView executables, but with Protection Manager you can easily create a dll that you can use in LabView with the Call Library Function Node. When you create the key and the dll, the Toolkit create also a Code Sketch that helps you to query the dll.

At the moment i've realized only a demo application that tests the key: Initialize-GetLicense-ReadString. But i still have problems with querylicensesimple....

I think that UltraPro is a good security tool, but if you (like me!) are not an expert user it is not immediate to understand how interact with dll. (but is not impossible!)

Bye!

Share this post


Link to post
Share on other sites
Hi Dec,

Well it took a lot of effort to understand how the whole Sentinel Security Key thing worked and then get it interfaced with LabVIEW, but now that it's working we have had no problems.  Personally I would prefer not to use a Dongle if I could avoid it, because they cost a lot (AUS$50/key), they involve some extra work to include the protection in your software and they are a hassle for users.

It would have been real nice if the Sentinel Automatic Protection worked with LabVIEW - that was so easy to do, but the Integrated Protection does offer you features like setting up Demo software based on a number of trials or date limited and allows remote upgrades by emailing unlocking codes and if you set it up right it is supposed to be pretty unhackable.

3719[/snapback]

Hi Chris

Thanks for your response, you mentioned that personally you would prefer to run without a dongle if you could avoid it. Have you experiance with any other protection methods that don't use dongles?

An anti paricy package called "CrypKey Instant" seems to have been used by labVIEW users before (I noticed it mentioned in a tread on NIs disscusion forum). Anyone have experiance with this?

Any further advice would be much appreciated.

T.I.A

Declan

Share this post


Link to post
Share on other sites

I am using the Rainbow 6.1x drivers in LabVIEW 7.1.1 with no problems. Although this thread is old, the topic remains of interest, I do check these old posts (when I remember ;-))

Regards

Jack Hamilton

Share this post


Link to post
Share on other sites
Hi Chris

Thanks for your response, you mentioned that personally you would prefer to run without a dongle if you could avoid it. Have you experiance with any other protection methods that don't use dongles?

An anti paricy package called "CrypKey Instant" seems to have been used by labVIEW users before (I noticed it mentioned in a tread on NIs disscusion forum). Anyone have experiance with this?

Any further advice would be much appreciated.

T.I.A

Declan

3724[/snapback]

Hi Dec,

Well I'm working on some software that we want to distribute for a fairly cheap price and using a Dongle would just not be cost effective. So I am thinking of using the BlowFish Encryption algorithm VI's from Tad Taylor, to make up our own software based protection scheme. It wont be as good as a Dongle, but it's better than nothing.

Share this post


Link to post
Share on other sites

You can use the hard drive serial number and/or the MAC address of the network interface as a way to locking code to specific hardware/computer.

There are some vi to read this in LabVIEW.

Some on my web site. www.labuseful.com

Jack Hamilton

Share this post


Link to post
Share on other sites

This is a great option to protected your software applications:

  • this tool uses the SG-Lock dongle
  • the dongle can carry up to 384 licenses
  • three kind of licenses:
  • unlimited license
  • time limited license
  • credit point license

  • and it dongle can be maintained, loaded and updated via update-file, that is encrypted too....

please contact me with any question:

www.labview-security.jimdo.comThis is a great option to protected your software applications:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.