Zum Inhalt springen

Hardware key programmieren


0xFF

Empfohlene Beiträge

Hi alle,

ich bin gerade dabei, einen Harware-Key zu programmieren.

Meine Frage:

Welche Komponenten würdet Ihr auswählen, um diesen Key so eindeutig wie möglich zu machen?

Bis jetzt komme ich lediglich auf die MAC-Adresse.

Bin leider nicht so der Hardware-Guru...

Die Rechner werden Industrie-Rechner ohne großartige Schnörkel wie DVD-Laufwerk, Audio-Karten o.ä. sein.

Der Key soll alle 30 Minuten überprüft werden...

Irgendwelche Ideen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja ich weiß nicht genau wie es beim Bios ist aber nicht jeder CPU unterstützt eine CPU ID und eine MAC Adresse ist bei manchen Netzwerkkarten auch änderbar bzw. lässt sie sich mit Tools auch fürs Internet verändern. Ich weiß allerdings nicht wie sich so ein Tool auf den PCselber auswirkt denke aber nicht das es den beeinflusst...

Ansonsten gibts doch noch ne Festplatten ID, ka wie eindeutig die ist.

Allerdings halte ich nicht viel von solchen "Hardware Keys" weil sie weder eindeutig sind noch unproblematisch. Was ist z.B. wenn eine Komponente getauscht werden muss?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Allerdings halte ich nicht viel von solchen "Hardware Keys" weil sie weder eindeutig sind noch unproblematisch. Was ist z.B. wenn eine Komponente getauscht werden muss?

Die Rechner werden industriell eingesetzt, sprich: Austausch von Komponenten absolut nur im Fehlerfall der Komponente. Danach Neu-Lizensierung bzw. Neugenerierung des HW-Keys über uns.

Hat jemand 'ne Ahnung wie ich an die BIOS-Signatur herankomme? MSDN sagt nix dazu...

Vielen Dank soweit!!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du willst so eine Art Freischaltung haben, wie sie Windows XP verwendet? So etwas kann man fertig kaufen oder sich individuell entwickeln lassen, wenn man kein Produkt "von der Stange" möchte.

Du solltest insbesondere darauf achten, dass nicht bei jeder Hardwareänderung eine neue Freischaltung erforderlich ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Genau daran entwickeln wir ja gerade. ;)

Dann solltest Ihr aber ohne Nachfragen wissen, wie man es am geschicktesten macht ;)

Du hast nicht zufällig einen Link?

Es gibt so viele Anbieter und Lösungen, der von Dir angedachte Hardware-Key ist nur eine unter vielen. Such bei google mal nach "software protection" und ähnlichen Begriffen.

Ich würde über derartige Massnahmen genau nachdenken, denn es ist im Prinzip eine kundenunfreundlich Lösung. Falls trotzdem (da ihr beispielsweise vermutet, dass Eure Software in größerer Menge unerlaubt genutzt wird), solltet Ihr aber auch darauf vorbereitet sein 365 Tage/Jahr 24h täglich einen telefonischen Freischalt-Service anzubieten und darüber nachdenken, wie Eure Kunden zum Freischaltcode kommen, falls ihr insovent werdet oder aus sonstigen Gründen nicht mehr freischalten könnt. Und auch, ob ihr nach zig Jahren noch den Code erzeugen könnt und wie ihr das gewährleisten wollt.

Du siehst schon, ich sehe da mehr Aufwand und Probleme, als die eigentliche softwareseitige Umsetzung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hmm...

such dir n paar statische werte (wie eben zB die MAC)

schreib se hintereinander in nen string, hash ihn zB mit md5, teil den einen 32 Stellen langen String in 4 strings mit je 8 zeichen, nimm den zweiten und vierten string

tausche vom ersten string die ersten 4 zeichen mit den letzen 4 zeichen des nun neuen zweiten strings

die ganze prozedur kannst beliebig oft wiederholen, schiebst dann halt jedesmal dein hash / bearbeiteten hash rein

da kommt so schnell keienr auf die berechnung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dann solltest Ihr aber ohne Nachfragen wissen, wie man es am geschicktesten macht ;)

Es gibt so viele Anbieter und Lösungen, der von Dir angedachte Hardware-Key ist nur eine unter vielen. Such bei google mal nach "software protection" und ähnlichen Begriffen.

Yepp, danke!

Ich würde über derartige Massnahmen genau nachdenken, denn es ist im Prinzip eine kundenunfreundlich Lösung. Falls trotzdem (da ihr beispielsweise vermutet, dass Eure Software in größerer Menge unerlaubt genutzt wird), solltet Ihr aber auch darauf vorbereitet sein 365 Tage/Jahr 24h täglich einen telefonischen Freischalt-Service anzubieten und darüber nachdenken, wie Eure Kunden zum Freischaltcode kommen, falls ihr insovent werdet oder aus sonstigen Gründen nicht mehr freischalten könnt. Und auch, ob ihr nach zig Jahren noch den Code erzeugen könnt und wie ihr das gewährleisten wollt.

Das siehst Du schon richtig... Wir lassen den Freischaltvorgang online durchführen. Support steht auch schon. Die Grundfunktionaliät auch, jetzt geht's eigentlich nur noch um Details, wie z.B. welche "unveränderlichen" Systemeigenschaften (Bios-Signatur usw.) geprüft werden.

Was passiert, wenn wir insolvent werden? Ich glaube, das Thema interessiert mich dann auch nicht mehr...:D

Jedenfalls vielen Dank!

Link zu diesem Kommentar
Auf anderen Seiten teilen

hmm...

such dir n paar statische werte (wie eben zB die MAC)

schreib se hintereinander in nen string, hash ihn zB mit md5, teil den einen 32 Stellen langen String in 4 strings mit je 8 zeichen, nimm den zweiten und vierten string

tausche vom ersten string die ersten 4 zeichen mit den letzen 4 zeichen des nun neuen zweiten strings

die ganze prozedur kannst beliebig oft wiederholen, schiebst dann halt jedesmal dein hash / bearbeiteten hash rein

da kommt so schnell keienr auf die berechnung.

Mal unabhängig von den Hardwarekomponenten, so ähnlich war es bis vor kurzem auch.

Die MAC wollten wir dann aber auch nicht, da der Kunde auch einige "Stand-Alone"-Rechner hat, die über keine Netzwerkkarte verfügen.:(

Sonstige Komponenten außer Festplatten-ID, CPU-ID ? Irgendwelche Ideen?

Niet ganz einfach, das Ganze...

Vielen Dank!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das siehst Du schon richtig... Wir lassen den Freischaltvorgang online durchführen.

Wenn der Kunde aus irgendeinem Grund zeitweilig kein I-net hat? Gibt es einfache Alternativen (z.B. Telefon)?

welche "unveränderlichen" Systemeigenschaften (Bios-Signatur usw.) geprüft werden.

Such Dir welche aus. MAC, CPU-ID, Speicherausbau, HD, Grafikkarte, Mainboard, etc. Wenn Du Hilfe beim Auslesen konkreter Werte brauchst, dann melde Dich noch einmal.

Was passiert, wenn wir insolvent werden? Ich glaube, das Thema interessiert mich dann auch nicht mehr...:D

Spätestens dann wieder, wenn der Fall wirklich eintritt und der inzwischen Ex-Kunde nun mit Wut im Bauch Schadenersatz will...

Im Ernst: Ich würde das wirklich mir einem Anwalt (oder mehreren) vorher abklären, die sich in dem Bereich gut auskennen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

... Mainboard...

Aaah! Gute Idee! Gibt es da eine Funktion ähnlich wie "GetVolumeInformation" für die fileSystemFlags?

Im Ernst: Ich würde das wirklich mir einem Anwalt (oder mehreren) vorher abklären, die sich in dem Bereich gut auskennen.

Problem von Cheffe - nix von unterbezahltem FIAN, nich wahr?

Vielen Dank!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Aaah! Gute Idee! Gibt es da eine Funktion ähnlich wie "GetVolumeInformation" für die fileSystemFlags?

Über WMI kannst Du auf vergleichsweise einfache Art an viele Informationen kommen, wenn Dir kein direkterer Weg bekannt ist. Für Mainboard-Informationen gibt es IMO keine speziellen Funktionen in der Win32 API.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich finde diesen Lizensierungwahn in letzter Zeit wirklich Haarsträubend. Okay, bei Endanwendersoftware bei der wirklich die Gefahr besteht, dass sie ständig kopiert wird kann ich den Gedankengang der Hersteller ja noch nachvollziehen (als Beispiele sehe ich solche Sachen wie Photoshop, Maya, DVd Auditoren, etc. also wo wirklich Knowhow hintersteht).

Aber nehmen wir dochmal als Beispiel eine Software wie CATIA (ich greife die gerade heraus weil wir da neulich gerade Probleme mit hatten). Eine sicherlich gute Software hinter der eine Menge arebit steckt...aber außerdem auchnoch eine spezialisierte und hochprofsessionelle CAD-Anwendung - Wer soll denn sowas Raubkopieren?

Firmenkunden:

Jede Firma wird genau darauf bedacht sein, sowas nicht zu tun, denn wenn man dann dabei erwischt wird wird es nicht nur richtig teuer sondern der Ruf ist auchnoch im *****. Desweiteren kommen die auch nicht wirklich einfach dran, denn man kann ja wohl kaum zur Konkurrenz gehen und um ne Kopie bitten, und in Tauschbörsen taucht das Teil eh nicht auf, weil einfach kein "Bedarf" besteht.

Gut, da wäre auchnoch die Sache, dass man "mal eben" eine Kopie anfertigt damiz z.B. ein weitere Mitarbeiter damit arbeiten kann, aber: In solchen Fällen hätte man eh keine weitere Lizenz erworben, sondern sich anders beholfen.

Wenn wirklich Bedarf besteht wird eben gekauft, sonst nicht.

Endanwender:

Brauchen diese Software nicht, werden sie nicht Produktiv nutzen und könnte sie wahrscheinlich eh nicht richtig bedienen. Bestenfalls würden sie mal ein bischen reinschnuppern um sich z.B. privat Weiterzubilden ("Klar habe ich shconmal mit Furzsoftt gearbeitet" macht sich im Bewerbungsgespräch recht gut), aber auch hier: Sie hätte sie eh nicht gekauft.

Fazit: Nicht jede Kopie wäre auch ein Verkauftes Produkt gewesen. Aber das müssen die Hersteller wohl erst noch lernen...

---------- SNIP ----------

Und jetzt zu dir:

Ich weiß ja nicht was du arbeitetest, aber ich spekuliere einfach mal: Du bist ein "unterbezahlter FIAN". Daraus schließe ich den Schluss das du in keiner großen Softwareschmiede arbeitest, denn die hätten für sowas jemanden der sich damit auskennt.

Außerdem bastelt ihr sowas selbst, statt es einzukaufen. Ergo arbeitest duc auchnoch an einer hochspezialisierten Hochpreissoftware, denn da wären ein paar Euro im Endpreis auch egal gewesen.

Daraus kann man schließen: Irgendeine mittelgroße Programmierwerkstatt die eine Software entwickelt, für die es keinen wirklich großen Bedarf gibt.

Lasst es lieber. Das einzige was ihr damit erreicht ist eine verärgerung der Kunden, wenn es mal nicht funktioniert (und solche Sachen haben die Angewohnheit entweder zu empfindlich zu sein, oder nicht zu funktionieren).

Wenn ihr was machen wollt, macht es so:

Software gibt euch eine Datei -> Ihr generiert eine Lizenzdatei -> Kunde packt die auf USB-Stick

Afaik gibt es für solche Zweck extra Sticks die für sowas geschützte Speicherbereiche haben.

Software an Hardware binden ist un bleibt pervers...

Und jetzt mach ich Feierabend, ich gleube ich habe die letzte halbe Stunde gut genutzt :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich finde diesen Lizensierungwahn in letzter Zeit wirklich Haarsträubend.

ACK!

Trotzdem hast du nicht unbedingt Recht. Wenn ich zum Beispiel eine Software habe, die auf einem Server läuft, kann ich unterschiedliche Lizenzmodelle anbieten. Beispiele sind concurrent user, named user, oder eben auch eine Version, die ich nur auf einer Serverhardware installieren darf.

Wenn mein Kunde ein so großes System mit meiner Software betreibt, dass er mehrere Maschinen braucht, dann will ich als Zulieferer schließlich auch etwas davon abhaben.

Unter bestimmten Umstände ist das gerade für große Firmen ein sehr gutes Lizenzmodell.

--SCHNIPP--

So, jetzt noch etwas zur technischen Seite: falls ihr ein System zukauft achtet darauf, das wirklich nur relativ statische Werte genommen werden. Ich hatte neulich den Fall, dass die IP Adresse zur Berechnung einer ID herangezogen wurde. Ich hab mich echt gewundert, als das schöne System plötzlich den Geist aufgab nur weil es in einem anderen Netz hing. :o)

Dann hast du einen ärgerlichen Kunden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Alle die sich gegen Lizensierung ausgesprochen haben

Ihr mögt ja alle Recht haben... aber bei uns (Branche Automatisierung) gibts einen denkwürdigen Spruch:

"Nach XXX verkauft man nur einmal"

--> Jetzt setzt für XXX einen der boomenden asiatischen Staaten ein.

Das ist einfach mal Tatsache - ob jetzt die Lizensierung das richtige Mittel gegen Softwarepiraterie ist, kann und mag ich nicht beurteilen. (Oder vielleicht doch - ich hätte Dongles eingesetzt)

Jedenfalls haben wir die Aufgabe nun zum größten Teil gelöst (der Tipp mit der WMI ist Gold wert).

Daher vielen Dank an alle, die beigetragen haben!:)

Gruß

0xFF

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Die MAC wollten wirc dann aber auch nicht, da der Kunde auch einige "Stand-Alone"-Rechner hat, die über keine Netzwerkkarte verfügen.:(

Sonstige Komponenten außer Festplatten-ID, CPU-ID ? Irgendwelche Ideen?

MAC Adresse bringt auch nichts, da man diese beliebig ändern kann. In Frage kommen da eher Dinge wie CPU-ID usw. Wobei ich allerdings sagen muss, das sowas für mich mittlerweile ein Ausschlusskriterium für den Kauf von Software ist.

Ein Lizenzkey den man eintippen muss ist ok, aber das Festmachen an einer ID der Maschine ist eine Zumutung, da man beim Wechsel von Komponenten oder einer Neuinstallation des Betriebssystems neu lizensieren muss.

Ni

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...