Freischaltcode erzeugen

Bensen83

Level-1
Beiträge
777
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich möchte gerne einige Funktionen meines Programms freischalten können.
Jedoch möchte ich einem Kunden einfach ein Freischaltcode zusenden, welcher die entsprechende Funktion aktiviert.
Jetzt kann es natürlich vorkommen, dass der Kunde mehrere Anlagen des gleichen Typs hat. Er soll nun allerdings mit dem Freischaltcode nur an einer Anlage die entsprechende Funktion freischlten können, ist das irgendwie zu realisieren? Mir würde jetzt da so spontan nichts einfallen.

Danke für eure infos.
 
Hi,

eine Möglichkeit wäre dies über die Seriennummer der MMC zu realisieren.
Hier kann die Seriennummer mit dem SFC51 RDSYSST ausgelesen werden.

SZL-ID W#16#011C; Index W#16#0008

Gruss Daniel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok

Dachte mir auch schon irgendwie was mit ner Seriennummer. Wir haben auch eine 6 Stellige Seriennummer, aber wenn dann müsste ich die ja irgendwie durcheinander in den Freischaltcode einbringen, oder?
Sonst wäre der code ja wieder zu einfach zu knacken, wenn die seriennummer irgendwo an einem Stück erscheint.
Was macht denn der SFC15? habe leider gerade kein step 7 hier
 
jede maschine sollte eine eindeutige kennung haben (z.b. maschinennr.)
diese binär dargestellt ist eine bitfolge

ebenso die freischaltung (einzelne bits => bitfolge)

nun würde ich diese bitfolgen mischen. z.b.
1 bit maschnr., dann 1 bit freischaltung, 1 bit zufalls wert,
dann wieder 1. bit maschnr.
das gibt dann eine lange bitfolge, diese währe die freischaltung
(dargestellt/eingabe als hex-zahl)

in der sps müssen nur die bits dann richtig zusammengestellt
werden und damit ist die maschinennr. und die freischaltungen
ersichtlich. sofern die maschinennummer zur maschine passt
kann die freischaltung aktiv werden.

die zufallsbits können als reserve verwendet werden oder eben
um per zufallswert die freischaltcodes zu "verschleiern", d.h.
schlechter lesbar zumachen damit man nicht so schnell
auf die funktionsweise schliessen kann.
 
Dachte mir auch schon irgendwie was mit ner Seriennummer. Wir haben auch eine 6 Stellige Seriennummer, aber wenn dann müsste ich die ja irgendwie durcheinander in den Freischaltcode einbringen, oder?
Sonst wäre der code ja wieder zu einfach zu knacken, wenn die seriennummer irgendwo an einem Stück erscheint.
Was macht denn der SFC15? habe leider gerade kein step 7 hier

Egal wie du es machst, es gibt für jede Verschlüsselungen einen Hack.
Nach unserer Erfahrung kann über guten Service der Kunde an den Lieferanten gebunden werden.
Bei einer PLC genügt es das Programm auszulesen und etwas Hirnschmalz und alles ist okay.
Auch Hochsprachenprogramme sind nicht sicher von Hacks, siehe BigS, MS$ und/oder andere.


bike
 
am besten du packst die Zusatzfunktionen in einen extra Baustein dem du dann dem Kunden zukommen lässt...... das ganze dann per MMC-Seriennummerabgleich und es sollte gut sein
 
Ok

Naja so einfach ist es dann doch nicht, die funktionen werden im Automatikablauf schon abgefragt und sind schon im Programm vorhanden und es sollte auch unserem Service möglich sein, ohne einen baustein einspielen zu müssen funktionen freischalten zu können. habe eine versteckte seite in der visu, wo ich was freischalten kann, aber die sollte eben nicht vom kunden genutzt werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dann mach doch einfach für jede Option einen Benutzer in der Benutzerverwaltung.

Dann kann er sich einloggen, die eine Funktion freischalten, und gut.
Wenn er nun noch eine Option haben will meldet er sich mit dem nächsten
Usernamen und Passwort an, und schaltet eben auch diese frei.

Vorteil:

-Wenig aufwand
-Auch funktionsfähig wenn mal eine defekte MMC getauscht wird
-Viele Nutzer/Funktionen möglich
-Code nicht im Klartext lesbar

Grüße

Marcel
 
... jeder halbwegs fitte Kunde wird das/die Freigabebit/s für die gewünschte Funktion finden. Egal mit welcher verknispelung du es vorher generierst. Vor allem, wenn er eine freigeschaltete und eine verschlossene Maschine hat ist er in der besten Position dafür. Baustein nachliefern funktioniert auch nur bei der 1. Maschine. Zur Not könntest du es unter Androhung von Vertragsstrafe untersagen die Funktion auf eine andere Maschine zu kopieren...
Andersrum: Kunde kauft Freischaltung, Maschine fällt aus, Freischaltung (warum auch immer) nach Steuerungstausch... weg-> DU HAST DEN SCHWARZEN PETER AN DER BACKE

Thomas
 
Hallo
ich möchte dieses Thema noch einmal aufgreifen.
Da wir seit neuestem die eine oder andere Maschine zeitweise verleihen, würde ich gern eine Funktion einbauen, welche mir die Maschine sperrt, nach einem bestimmten Datum beispielsweise.
Diese Sperre soll durch einen Code aufgehoben werden können. Da dies auch beispielsweise 2 oder mehrmals funktionieren soll, muss der Code variabel sein. Damit der Kunde nicht einfach den Freischaltcode noch mal eingeben kann.
Gibt es dafür irgendwelche Ansätze wie ich sowas realisieren könnte? Einzige Konstante ist eine 7-stellige Seriennummer der Maschine. Vielleicht kann man das Ablaufdatum oder so irgendwie indirekt "verwursten". Ich weis aber nicht wie ich diese Zahlen zusammen und dann wieder getrennt bekomme zum Entschlüsseln.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Gibt es dafür irgendwelche Ansätze wie ich sowas realisieren könnte? Einzige Konstante ist eine 7-stellige Seriennummer der Maschine. Vielleicht kann man das Ablaufdatum oder so irgendwie indirekt "verwursten". Ich weis aber nicht wie ich diese Zahlen zusammen und dann wieder getrennt bekomme zum Entschlüsseln.

Natürlich kann man das verwursten. Du könntest die Serienummer in einen String wandeln. Das Datum ebenfalls diese dann zusammen in einen String stecken.
Jetzt addierst du zu jedem 2. Byte die ziffer 3 und zu jedem 1. Byte eine 7. Den code den du deinem Kunden schickst wird genauso bearbeitet und die maschine läuft dann nur wenn der Code genau der Serienummer und das Datum kleiner als der Code ist.

Das kann man jetzt unendlich komplex machen z.B. indem man noch eine Quersumme einbaut und das Tierkreiszeichen des Programmierers hineinverschlüsselt.
Schlussendlich ist es aber nur eine Frage der Zeit um die art der zugrundeliegenden Verschlüsselung zu erkennen.

Da das Datum und die Serienummer ja dem Nutzer bekannt ist, könntest du noch etwas reinmischen das nur die Maschine kennt z.B. den Typ des Moduls in Rack4 an 3. Stelle.

mfG René
 
Ob dass ganze dann aber trotz aufwändiger Verschlüselung sicher ist? Auf der SPS Seite müsste dieser Code ja wieder entschlüsselt werden
und eine Freigabe erzeugt werden. Falls ich beauftrage werden würde, diesen Mechanismus auszuhebeln, würde ich nicht versuchen, den Key zu
entschlüsseln sondern einfach, die Auswertung zu überbrücken. Wenn das ganze dann noch mit Step7 programmiert ist, kann man den Know How Schutz
auch gleich vergessen.

Ich denke dass ganze macht bei euch vielleicht Sinn, wenn man davon ausgeht, dass die Maschinen nur verleiht sind und der Kunde keinen Quellcode hat
und sich der Aufwand auch nicht lohnt, den code zu knacken ( Lizenzkosten eurerseits gering ).

Ich von meiner Seite muss sagen. Wir würden uns nie eine Anlage beschaffen, in welcher so ein Mechanismus verbaut ist. Wenn der Hersteller
aus welchem Grund auch immer vom Markt verschwindet oder der ursprügliche Programmierer welcher als Keygenerator fungiert nicht mehr
greifbar ist, was ist dann? Dann ist man gezwungen solche Anlagen irgendwie zu knacken.

Aber wie gesagt, bei Leihanlagen sehe ich dass ja noch ein.
 
...
Ich von meiner Seite muss sagen. Wir würden uns nie eine Anlage beschaffen, in welcher so ein Mechanismus verbaut ist. Wenn der Hersteller
aus welchem Grund auch immer vom Markt verschwindet oder der ursprügliche Programmierer welcher als Keygenerator fungiert nicht mehr
greifbar ist, was ist dann? Dann ist man gezwungen solche Anlagen irgendwie zu knacken.

Aber wie gesagt, bei Leihanlagen sehe ich dass ja noch ein.


Beispiel:
Kunde bestellt Anlage, Kunde erhält Anlage, Kunde produziert mit der Anlage, Kunde bezahlt aber die Anlage nicht.
Befindet sich der Kunde im Ausland, hast du so gut wie keine Chance jemals an dein Geld zu kommen.

Was spricht dagegen, dass man sich bei solchen Kunden mit einer zeitlich limitierten Software schützt?
So in der Art 30/60/90 Tage Testversion und dann kann der Kunde mit einer Lizenznummer die Software unbegrenzt freischalten.
Die Lizenznummer gibt's natürlich erst dann, wenn er seine offene Rechnung beglichen hat.
So machen das viele Softwarefirmen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich würde es halt nur in die Maschinen einbauen die wir verleihen. Der Code soll ja so gestaltet werden und auch dokumentiert werden, dass ein Nachfolger auch einfach den Code zusammenstellen kann.
Ich halte es auch für legitim. Der Kunde bezahlt im Vorraus für die Nutzung, meinethalben 3 Monate. Will er den Zeitraum verlängern muss er halt den Code eingeben. Anders kann man es nicht gewährleisten, dass man sein Geld bekommt.

Bei Verkaufsmaschinen haben wir bei den meisten Kunden immer min. 50% Vorkasse. Da würde ich den Code dann auch nicht einsetzen.

Es ist aber wirklich so, wer sich auskennt und es unbedingt will, knackt jeden Code. Wir müsen es nur so schwer wie möglich machen, aber trotzdem praktikabel.
Schonmal schönen Dank für eure Meinungen/Anregungen.
 
Kunde bestellt Anlage, Kunde erhält Anlage, Kunde produziert mit der Anlage, Kunde bezahlt aber die Anlage nicht.
Befindet sich der Kunde im Ausland, hast du so gut wie keine Chance jemals an dein Geld zu kommen.

Also wir liefern Anlagen in die ganze EU ( ohne Freischaltcodes ). Das Ausland ist kein rechtsfreier Raum. Des weiteren
gibt es andere Möglichkeiten ( 1/3 bei Autragserteilung, 1/3 bei Lieferung und der Rest wird vor Auslieferung auf ein Notaranderkonto hinterlegt ).
Dann wird der Betrag bei Mängelfreiheit überwiesen.

Pocht der Hersteller auf die Beseitigung eines Mangels wo man als Lieferant keinen Mangel sieht, so ist eine Stillegung der Anlage sicherlich auch
nicht die Lösung. Der Käufer hat auch gewisse Rechte.
 
Credofire, wenn es um einen reinen Verleih geht, klingt das ganze schon plausibel und wäre sicherlich eine Möglichkeit.
Somit könnte der Ausleiher die Anlage nicht kostenfrei von Laufzeitende bis zur Abholung weiternutzen bzw. nur eine
bestimmte Anzahl an Betriebsstunden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Pocht der Hersteller auf die Beseitigung eines Mangels wo man als Lieferant keinen Mangel sieht, so ist eine Stillegung der Anlage sicherlich auch
nicht die Lösung. Der Käufer hat auch gewisse Rechte.

Wäre das überhaupt rechtens das eine Anlage einfach den Dienst quittiert z.B. wenn der Käufer seine letzte Rechnung nicht bezahlt hat?
 
Wäre das überhaupt rechtens das eine Anlage einfach den Dienst quittiert z.B. wenn der Käufer seine letzte Rechnung nicht bezahlt hat?

So weit ich weiß nicht. Wenn man Anlagen vor Ort oder per Fernwartung stillsetzt, weil man auf Geld wartet, dann kann das richtig teuer werden.
Vom Imageschaden ganz zu schweigen. Gerade im Sondermaschinenbau spricht sich so eine Aktion schnell rum.
 
Ich war mal in einer Branche, in der es nicht unüblich war, die Unterschrift zur Endabnahme und damit die Zahlung zu verweigern und dennoch auf der Maschine zu produzieren. Irgendwann gab es dann bei uns die Anweisung: Wenn die Abnahme verweigert wird, AG-Abzug machen und Urlöschen. Das Argument war, da die Maschine in den Augen des Kunden sowieso noch nicht zur Produktion taugt, können wir sie auch stilllegen. Ich war leider nicht mehr lange genug in dieser Firma, um zu wissen, was da rausgekommen ist.
 
Zurück
Oben