Solved

Sharing an application over the network

Posted on 2013-06-28
3
174 Views
Last Modified: 2013-10-08
Hi Everyone,

Please I have an application that require a dongle license to work. Now i want someone else from the same organisation that sit in a seperate building to have access to the application without having full access to the system desktop. So that when the application is launched from the remote client, it connect to the server resources (license etc)
0
Comment
Question by:charlojede
3 Comments
 
LVL 12

Accepted Solution

by:
adrian_brooks earned 500 total points
ID: 39284367
Unless the software was developed to support being used in an application server environment, you are not likely to be able to achieve this. The main reason is that the dongle is a physical piece of hardware that the software uses to validate usage of the package. Of which, any execution of that software over network resources would imply that the client system also contains that dongle as the software is most likely programmed to look ONLY on the localhost for the existence of that dongle.

~AB
0
 
LVL 34

Expert Comment

by:gr8gonzo
ID: 39284568
I agree with AB - it's very unlikely to work. The entire idea behind a license is to ensure that a single entity is -licensed-  to do something, and dongles are an even more secure way to ensure this.

That said, there's (usually) no harm in checking. Some dongles operate differently. PHP is likely the wrong language to determine or work with this, though. A dongle is usually either based on USB or a COM port (RS-232), and a language like C++ or .NET would be more likely to have a chance at interacting with the device.

Many dongle devices work by having the software look at a snapshot of the local machine's physical attributes (hard drive serial numbers, for example), creating a "challenge" and sending the challenge to an API located on the dongle device itself. The dongle knows how to respond to the challenge, so it creates the proper response and sends it back to the software. The software validates the response against the current machine specs and says, "OK, it looks like the dongle is plugged into the current machine, so you're licensed to use the software."

So the only way to really work around that design is to create a virtual USB device (a program, not a piece of hardware) that pretends to have the API of the real dongle. It needs to mimic the dongle in every way so that the software knows where to send the challenge. Once the virtual USB device receives the challenge, it passes the data over the network to a receiver application which passes the challenge onto the real dongle, then captures the response, passes it BACK to the virtual device, which can pass it back to the software.

You can probably guess that while this might be technically feasible, it's a monstrous effort. At that point, you have to ask yourself, "Is it really worth the time and money investment versus just purchasing another dongle?"
0
 
LVL 21
ID: 39285581
The point of a dongle is to prevent what you are trying to do.

Usually when you have a dingle, you can install the software on multiple computers. You can run the software on the machine with the dongle plugged in to make it work.  When the other person need to use it, you would give them the dongle.

If you find you are having to swap the dongle between users a lot then it is probably time to purchase another one.

If I were going to attempt what you ask, I would ask the software vendor if it is even possible. I would also be  sure it would not violate your license agreement.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now