Hallo liebe Community, ich mache gerade eine Ausbildung zum Fachinformatiker. Heute kam mein Chef mit einer netten Aufgabe zu mir. Ich möchte die Hintergründe gar nicht groß beschreiben.
Ausgangspunkt ist ein Programm unserer Firma, das lizenziert verkauft wird. Eine Lizenz gilt für einen physischen PC. Nun besteht aber natürlich die Möglichkeit, innerhalb einer virtuellen Maschine (VM) diese Lizenz zu aktivieren und die VM beliebig oft zu klonen und als Beispiel einen Lizenz zehn Mitarbeitern einer Firma zur Verfügung zu stellen.
Jetzt zur eigentliche Aufgabe: Mein Chef möchte, dass ich mir eine Möglichkeit überlege, zu überprüfen, ob ein Nutzer die Lizenz auf einem physischen PC nutzt, dieselbe Lienz aber gleichzeitig in einer VM aktiv ist.
Ich habe mir natürlich schon selber ein paar Gedanken gemacht. Beispielsweise könnte das Programm bei jedem Start eine Zufallszahl an unseren Server schicken. Würden dann dieselbe Lizenz zwei verschiedene Zahlen zur selben Zeit schicken, wäre das ja dann ein eindeutiges Zeichen für eine Doppelnutzung.
Eine andere Idee wäre, die Bildschirmauflösung abzufragen. Allerdings scheitert es schon daran, dass die VM auf einem Bildschirm ausgeführt werden kann, der dieselbe Auflösung hat.
Ich hatte einfach gehofft, dass die Schwarmintelligenz hier eine etwas elegantere Lösung findet, als Zufallszahlen oder Auflösungen. Vielleicht habt Ihr ja eine Idee, welche Daten wir abfragen könnten, durch die wir eindeutig feststellen können, ob eine Doppelnutzung stattfindet.
Danke im Voraus und liebe Grüße
Theoran
Edit: Ich muss noch ein kleines Nachwort schreiben, weil ich den Eindruck habe, dass vielen Lesern nicht klar ist, wo das Problem liegt. Die Nutzung der Software innerhalb einer VM ist erlaubt und das wollen wir auch beibehalten. Das Einzige was wir nicht möchten, ist, dass diese VM geklont wird und damit auch die darauf installierte Software funktioniert.
Dann ist es aber keine Lösung zu sagen "Ok wir stellen fest: Programm läuft auf VM > Jetzt sperren wir das Programm". Um Sperrung geht es allgemein erstmal noch nicht.
Wir möchten als ersten Schritt nur herausfinden, wie häufig das Problem in der Praxis auftritt. Dafür brauchen suchen wir (bzw. in dem Fall erstmal ich) nach einer Datei oder einer Kombination aus Daten, die eindeutig erkennen lässt, dass hier eine Doppelnutzung stattfindet.
Also da wir der Lizenzschlüssel bei jedem Start an den Server übermittelt wird, sollte es wahrscheinliche eine Kombination aus dem und anderen Daten sein.