TIA Leidthema - Know How + Kopierschutz

Matze001

Level-3
Beiträge
2.815
Reaktionspunkte
573
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ich habe hier ewig nichts mehr geschrieben und komme dann mit so einem beliebten Thema ums Eck.
Da ich keine Lust habe mich durch Jahre Forengeschichte mit den Für und Wider eines Know-How Schutzes
zu kämpfen, und dann noch an diversten Versionsständen des TIAP zu hängen gibts nen neuen Beitrag.

Ich weiß um die Brisanz des Themas, und bin auch nicht ganz glücklich mit der Aufgabenstellung.
Deshalb bitte ich das Thema auf der technischen Schiene zu betrachten. Das Für und Wider eines
Know-How Schutzes und die damit einhergehenden Vor- und Nachteile sind mir bekannt.

Was ist meine Aufgabe?

1. Erstellen von Know-How geschützten Bausteinen (Punkt ist erledigt, Siemens bietet eine Systemfunktion)

2. Die Bausteine müssen kopiergeschützt sein. Dazu muss ich ein wenig ausholen.

Es ist nicht gewollt, dass die Bausteine nur auf einer bestimmten CPU oder MMC laufen, da der Fall eines HW-tausches o.ä. abgedeckt
werden soll ohne das irgendwelche Klimmzüge veranstaltet werden. Die Bausteine sind auch nicht für die Nutzung auf nur einem Typ
CPU festgelegt, sondern es soll eher eine Bibliothek von Bausteinen sein die ein spezielles Problem behandeln und dem Programmierer
einfache Möglichkeiten geben damit zu arbeiten. Das ist alles kein Hexenwerk, und ich denke jeder von euch wird diese Funktionen auch
in 3-4 Wochen programmiert und getestet haben. Der Gedanke ist aber jedem Kunden diese Entwicklungszeit abzunehmen, und dafür diese
Bausteine anzubieten (wenn er will - er darf es auch selbst machen). Der Kunde soll die Bausteine nicht einmal kaufen (und
die volle Entwicklungszeit bezahlen müssen) sondern er soll sie zu einem bestimmten günstigeren Preis erhalten, mit der Einschränkung diese für jede
Anlage neu zu erwerben. Dies soll den Aufwand und die Schwelle für Kunden die nur eine Anlage realisieren gering halten, aber
auf der anderen Seiten Kunden die mehrere Anlagen realisieren nicht "zu viel in den Rachen werfen". Ich denke ihr versteht was der Plan ist.
Diese Bausteine kommunizieren mit einer Software via TCP/IP und tauscht Daten aus. Da liegt es für mich
Nahe beim Verbindungsaufbau eine art "Lizenzschlüssel" auszutauschen, und nur bei Gültigkeit die eigentliche Kommunikation aufzunehmen.
Jetzt die eigentliche Frage: Gibt es hierzu sinnvolle Ansätze wie man es noch realisieren könnte?

Grüße

Marcel
 
Das schwierigste wird sein, den Lizenzschlüssel einzigartig zu machen, so dass der Baustein mit einem bestimmten Lizenzschlüssel nur auf einer bestimmten Anlage läuft. Eventuell könntest Du den Hardwareausbau auslesen und daraus irgendetwas kryptisches berechnen (z.B. anhand dessen, welche E/A-Bytes vorhanden sind oder so ähnlich). Funktioniert natürlich nicht bei reinen Serienmaschinen, wäre aber für Sondermaschinen sehr individuell und würde auch einen CPU-Tausch überstehen. Den Lizenzschlüssel selbst könntest Du dann in einem offenen Datenbaustein ablegen, dann könnte ihn der Kunde selbst eintragen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die einzige Möglichkeit, die deinem Ansinnen halbwegs entsprechen würde, wäre ein Hardwaredongle an der SPS, den du mit verkaufst. Alles andere wäre ja auszuhebeln. Mit diesem Baustein müßte deine Bibliothek Daten austauschen, so daß ohne Dongle "Unsinn" errrechnet wird. Auch hier könnte en guter Programmierer den Datenverkehr belauschen ind seine Schlüsse daraus ziehen, bzw. einen "Softwaredongle" programmieren. Alles eine Frage des Aufwandes und ob es sich lohnt. Lösungen dafür kenne ich nur für Win-Software, nicht aber für SPS.
 
Ich könnte mir vorstellen, dass du irgendwo den Gerätenamen der SPS als eine Art Lizenzschlüssel hinterlegst und diesen dann an geeigneter Stelle mit "GET_NAME" der SPS vergleichst. Wenn der Vergleich nicht passt, unterbindest du in deinen Bausteinen den Kommunikationsaufbau oder so. Das ganze müsste dann auch deinem Anspruch genügen, dass das ganze einen CPU-Tausch überleben soll.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke schonmal für eure Antworten!

Die Idee mit dem Dongle ist schonmal sehr nett - aber wie beschrieben auch "knackbar".
Mein Ansatz mit dem Handshake vor der Kommunikation ist auch mit Wireshark belauschbar,
aber wenn man es richtig macht dann wäre auch das umsetzbar das es erschwert wird.

Bin für weitere Ideen offen.

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Warum ließt Du nicht die Seriennummer der der Karte und der CPU aus und überlegst die einen Algorithmus, der daraus einen Lizenzschlüssel berechnet. Diesen muss der der Kunde an der HMI eingeben. Das ganze hätte den Vorteil das Du keinen HW Dongel benötigst und der Kunde im Austauschfall schnell einen neuen Schlüssel anfordern kann.
Soll es komplexer werden kannst ja noch den CPU TYP, den FW Stand, die Stationsnummer und diverse andere Parameter dazunehmen.
 
Warum ließt Du nicht die Seriennummer der der Karte und der CPU aus und überlegst die einen Algorithmus, der daraus einen Lizenzschlüssel berechnet. Diesen muss der der Kunde an der HMI eingeben. Das ganze hätte den Vorteil das Du keinen HW Dongel benötigst und der Kunde im Austauschfall schnell einen neuen Schlüssel anfordern kann.
Das bedeutet, daß der Kunde ohne Hilfe des Lizenz-Anbieters nicht die CPU oder die MMC tauschen kann. Der Lizenz-Anbieter muß eine 24/7-Hotline betreiben und braucht eine gute Versicherung/Vertragsgestaltung wegen unnötig verlängertem Produktionsausfall... Und im Fall einer Geschäftsaufgabe des Lizenz-Anbieters kann der Kunde seinen Steuerungs-Edelschrott einstampfen...

Harald
 
Nimm doch einfach der Seriennummer von das Flashkarte.
Dann kann man auch den CPU Tauschen.
Wenn das Flashkarte defekt ist, ja dann ist das Program sowiso weck, und der Kunde muss eine neue Karte bestellen, oder ein voraus gekaufte Reservekarte stecken (der schon mit Program und Schlüssel geladen ist).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du kannst nach Generierung des Freischaltcodes einen einmaligen Betrieb ohne Lizenz für 72. Std zulassen (oder einen anderen Zeitraum), in diesem Zeitraum kann der Kunde dann eine Lizenz anfordern.
 
Die Bausteine sind auch nicht für die Nutzung auf nur einem Typ
CPU festgelegt, sondern es soll eher eine Bibliothek von Bausteinen sein die ein spezielles Problem behandeln und dem Programmierer
einfache Möglichkeiten geben damit zu arbeiten.

Das geht mit TIA und 1200/1500 soweit ich weiss eh nicht. Wenn der Kunde die Bausteine in nen anderen CPU-Typ kopieren will, benötigt er das Passwort, um die Bausteine neu zu übersetzen...

Gruß.
 
Wenn der Kunde die Bausteine in nen anderen CPU-Typ kopieren will, benötigt er das Passwort, um die Bausteine neu zu übersetzen...
Jetzt, wo Du es sagst: Ich bin mir nicht sicher, aber wird neu übersetzen nicht auch dann schon angefordert, wenn ein Baustein in ein anderes Projekt kopiert wird?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jetzt, wo Du es sagst: Ich bin mir nicht sicher, aber wird neu übersetzen nicht auch dann schon angefordert, wenn ein Baustein in ein anderes Projekt kopiert wird?
Hmm, weiss nicht genau, jedenfalls wenn der CPU-Typ gleich ist, muss ich die Bausteine ja nicht kopieren, sondern ich kann das komplette Projekt kopieren und anpassen, in dem Fall wird kein Passwort benötigt ;)

Gruß.
 
Wenn Safety im Einsatz ist, was wäre denn dann mit der Auswertung der F-Signaturen?
Bei einem Hardwaretausch würde sich hier ja nichts ändern, es sei denn die Anlage würde erweitert werden. Dann muss man nur daran denken die Signatur zu aktualisieren in den Bausteinen.
 
Wenn Safety im Einsatz ist, was wäre denn dann mit der Auswertung der F-Signaturen?
Bei einem Hardwaretausch würde sich hier ja nichts ändern, es sei denn die Anlage würde erweitert werden. Dann muss man nur daran denken die Signatur zu aktualisieren in den Bausteinen.

Möglich wäre dies, die Frage ist natürlich, ob man sich und auch dem Kunden nicht langfristig ein Ei legt.
In 10 Jahren wird mal eine Änderung gemacht, dann läuft nichts mehr, weil sich keiner mehr an die
Prozedur erinnert bzw. der Ideengeber in Rente ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Möglich wäre dies, die Frage ist natürlich, ob man sich und auch dem Kunden nicht langfristig ein Ei legt.
In 10 Jahren wird mal eine Änderung gemacht, dann läuft nichts mehr, weil sich keiner mehr an die
Prozedur erinnert bzw. der Ideengeber in Rente ist.

So etwas kann [sollte] man Innerbetrieblich Dokumentieren.
 
So etwas kann [sollte] man Innerbetrieblich Dokumentieren.

Und wie ist die Realität? Ich komme im Jahr mindestens einmal zu einer Firma, die mir sagt:
"Programm, da haben wir gar nix und den Hersteller gibt es nicht mehr".

Ich kann verstehen, dass manche ihren Code schützen. Ich würde es als Auftraggeber im Pflichtenheft untersagen,
da es für den Endkunden ( Käufer und Geldgeber ) nur Probleme mit sich bringt. Wenn nicht jetzt dann später.
Außerdem geht man dann eine Bindung ein, die man evtl. so gar nicht möchte.

Meine Meinung
 
Zuletzt bearbeitet:
Kennen wir die Diskussion? nicht auch schon aus Zeiten von S5?
Viele hier ärgern sich wegen den tollen closed Source Programmen von Microdoof.

Dass kopiert werden wird ist klar, das können einige Länder besonders gut.
Ich sehe es unter dem Blickwinkel, dass es ein Problem ist, Gewinnoptimierung über alles.
Unsere Programme bzw deren Teile werden immer wieder weiterverwertet.
Aber wenn jemand einen Kopierschutz umgehen will, dann geht das, sieht Lizenz von Big$.
Auch die können das nicht zu 100% erreichen.

Versuche mit euren Kunden offen über das Problem? zu reden.
Nicht alle wollen klauen und betrügen, sondern wollen mit den Zuliefern gut und vertrauensvoll zusammen arbeiten.

bike
 
Zurück
Oben