Secure app against network card serial number.

R

Robin Donald

I have a security problem where I am worried that an employee will copy
(i.e. steal) our app and run it on another machine.

I would like to prevent this by putting some code on the "on open"
event of the welcome menu which looks for the serial number of the
machine's network card and reacts appropriately if the correct number
is not returned.

This would, in effect, turn the machine into one big fat dongle!

Does anyone know of a VB call or similar procedure which will allow me
to access this number?

Alternatively, any ideas for picking up some other unique parameter
from the machine that could not be cloned over onto another machine by
a smart thief.

Similarly for another system which is on a Novel Netware network, does
anyone know of a call to return an identifier from Netware - any
parameter really. (It is a certainty that a prospective theif will NOT
attempt to set up the system on a Novel system!)

Any pointers will be gratefully received. Thank you.

Robin Donald
 
T

Tony Toews

Robin Donald said:
I would like to prevent this by putting some code on the "on open"
event of the welcome menu which looks for the serial number of the
machine's network card and reacts appropriately if the correct number
is not returned.

The term is MAC address. There is VB API code which should work in
Access to get you this information.

My standard website for API calls has this one.
http://vbnet.mvps.org/index.html?code/network/index.html

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
 
J

John Mishefske

Robin said:
I have a security problem where I am worried that an employee will copy
(i.e. steal) our app and run it on another machine.

I would like to prevent this by putting some code on the "on open"
event of the welcome menu which looks for the serial number of the
machine's network card and reacts appropriately if the correct number
is not returned.

This would, in effect, turn the machine into one big fat dongle!

Does anyone know of a VB call or similar procedure which will allow me
to access this number?

Alternatively, any ideas for picking up some other unique parameter
from the machine that could not be cloned over onto another machine by
a smart thief.

Similarly for another system which is on a Novel Netware network, does
anyone know of a call to return an identifier from Netware - any
parameter really. (It is a certainty that a prospective theif will NOT
attempt to set up the system on a Novel system!)

Any pointers will be gratefully received. Thank you.

Typically the MAC address of the NIC or the hard drive's serial number is used as a unique
identifier. However, Network cards fail and hard drives go bad.

ActiveLock is an open source project you could look at for code samples. A search on
google should turn up their website. Of course implementing these type of protection
schemes can become complicated quickly depending on how secure you need the app to be.
 
R

Robin Donald

Thanks for the input John but I would still like to pursue this course.
(Though I will also check out ActiveLock in detail.)

I had not thought of the serial number of the hard disk. Another good
idea.

As part of the team charged with looking after this client's compters
(i.e. one of the good guys) I would always be made aware of any changes
to hardware to allow me to change the security checks to follow such
changes.

I would still like to get access to these parameters for coding, if
anyone has any ideas.

Thank you.

Robin Donald
 
R

Robin Donald

Ah, please excuse me.

I have only now noticed the post from Tony.

This appears to be on precisely the right track. I will look into it
immediately.

Thank you.

Robin Donald
 
T

Tony Toews

John Mishefske said:
Typically the MAC address of the NIC or the hard drive's serial number is used as a unique
identifier. However, Network cards fail and hard drives go bad.

Agreed. This is one of the reasons I allow the user to use the app up
to ten times before requiring that they call me to get an unlock code.
And I've only used this concept in one app with one set of potentially
troublesome customers.
ActiveLock is an open source project you could look at for code samples. A search on
google should turn up their website. Of course implementing these type of protection
schemes can become complicated quickly depending on how secure you need the app to be.

Ah, interesting.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
 
J

John Mishefske

Tony said:
Agreed. This is one of the reasons I allow the user to use the app up
to ten times before requiring that they call me to get an unlock code.
And I've only used this concept in one app with one set of potentially
troublesome customers.




Ah, interesting.

Tony

Unfortunately I do a fair amount of this type thing because clients demand it but there
are lots of problems to overcome and the end-users generally hate it. But the subscription
model is coming so I guess I'll see more requests for this.

We usually check for an active license periodically so that the user can operate for some
period with a new NIC or hard drive. Re-activation is as simple as a phone call or email.

Couple of caveats:

- older PC's may have hard drives that don't have serial numbers.
- dial-up user's are assigned MAC addresses and they may be different each time.

These two problems are becoming less of an issue nowadays but they are there.

Just getting the MAC address can be somewhat unreliable as the user may have multiple
network connections or using cabled NIC sometimes and wireless NIC other times.



BTW.. I'd also like to publicly thank you for your wonderful website

http://www.granite.ab.ca/accsmstr.htm

It truly is an incredible resource that I recommend to many users via UseNet and as a web
board editor. I use it more than any other Access site.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top