Hallo! Hin und wieder läuft mir ein PC-Programm über den Weg, welches per Computer-ID freigeschaltet werden muss. Beim ersten Programmstart wird eine für den Rechner spezielle ID-Nummer angezeigt und die muss man beim Hersteller auf der HP in ein Fenster eintragen. Daraufhin wird ein Freischalt-Code angezeigt, den man bei dem betreffenden Rechner eingibt. Danach kann das Programm genutzt werden. Mich würde interessieren: Wie werden solche Computer-ID-Nummern generiert?
Wenn sie nicht zufällig generiert wurde dann wird sie vergeben. Beliebt ist dabei z.B. die Mac-Adresse der Netzwerkkarte.
Dennis R. schrieb: > ist dabei z.B. die Mac-Adresse der Netzwerkkarte. Wobei aus naheliegenden Gründen mehrere Faktoren verwendet werden: z.B. http://www.codeproject.com/Articles/28678/Generating-Unique-Key-Finger-Print-for-a-Computer http://stackoverflow.com/questions/2842116/reliable-way-of-generating-unique-hardware-id (mother board id, etc.)
Danke für die Antworten! @physiker: Danke für die Links! Dennis R. schrieb: > Wenn sie nicht zufällig generiert wurde dann wird sie vergeben. Beliebt > ist dabei z.B. die Mac-Adresse der Netzwerkkarte. Das funktioniert aber nur bei on-board-Netzwerkkarten, oder? Ansonsten stimmt die ID ja nicht mehr, wenn man die Karte wechselt.
Jojo schrieb: > Das funktioniert aber nur bei on-board-Netzwerkkarten, oder? > Ansonsten stimmt die ID ja nicht mehr, wenn man die Karte wechselt. Das ist sowieso ziemlich blödsinnig, da man meistens die MAC-Adresse einstellen kann. Blöd für den Softwarelieferanten, für den Kunden ist das fein: dann bringt man die Software auf jedem Rechner zum Laufen, indem man ihm die passende MAC gibt. Ist bloss blöd bei mehreren im Netzwerk. Aber das wäre ja auch Beschiss. Georg
Jojo schrieb: > Das funktioniert aber nur bei on-board-Netzwerkkarten, oder? > Ansonsten stimmt die ID ja nicht mehr, wenn man die Karte wechselt. Wenn du das Mainboard wechselst stimmt die ID auch nicht mehr.
Jojo schrieb: > Das funktioniert aber nur bei on-board-Netzwerkkarten, oder? > Ansonsten stimmt die ID ja nicht mehr, wenn man die Karte wechselt. Was manchmal durchaus gewollt ist. Praktisch haben aber alle PCs so viele Nummern, dass die MAC-Adresse selten alleine genutzt wird. Fast jede Komponente in einem PC hat heutzutage eine eindeutige Identifikation. Laufwerkes, Motherboards, CPUs usw. haben alle auslesbare Typenbezeichnungen und Seriennummern. Das Prinzip ist für solche IDs immer das Gleiche. Möglichst eindeutige Nummern auslesen (z.B. Typ und Seriennummer von PC-Komponenten), einen sicheren Hash-Algorithmus drüber laufen lassen, fertig ist die ID. Windows selber nutzte oder nutzt einen ganzen Satz von IDs. Zum Beispiel alleine für den Computer selber gibt es schon mehrere IDs. Diese Hardware IDs werden aus Daten aus dem BIOS generiert: Computer-Hersteller, BIOS Hersteller, Motherboard-Hersteller, BIOS Version, Modellfamilie, Modell, Hersteller-Produktnummer, Motherboard, Prozessor-Kern ... Diese Daten werden, je nach benötigter Hardware-ID, kombiniert. Bei Windows 10 gibt es mittlerweile 15 unterschiedliche Kombinationen dieser Werte. Von der ganz einfachen Hardware ID 14, die nur den Computer-Hersteller berücksichtigt, bis zur Hardware ID 0, die das volle Programm enthält. Bei der Berechnung einer solchen Hardware ID nimmt Windows die jeweiligen Daten für die ID und rechnet einen SHA-1 Hash aus den Daten. Das ist dann die ID.
Jojo schrieb: > Das funktioniert aber nur bei on-board-Netzwerkkarten, oder? > Ansonsten stimmt die ID ja nicht mehr, wenn man die Karte wechselt. Darum nimmt man aber auch mehrere Hardwaresignaturen. Je nachdem wie sicher man es haben möchte (und umgekehrt meint dem Kunden auf die Nerven gehen zu dürfen) kann man Änderungen erlauben oder auch nicht (z.B. 1-2 Hardwareteile dürfen sich ändern, bevor die Lizenz ungültig wird). Das ganze ist aber mehr oder weniger "Voodoo", ansonsten braucht man richtige Kryptographie, z.B. TPM oder gleich eine vollständig zugenagelte Platform wie man es bei Spielkonsolen versucht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.