Software absichern gegen unberechtigte Benutzung?

stewkey

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!
Ich habe ein etwas unschönes Problem.
Meine Firma hat eine Steuerung für eine nicht kleine Anlage
programmiert.
Jetzt bestehen Zweifel, daß der Kunde wirklich zahlt wenn alles läuft.
Deshalb würden wir uns gerne absichern, indem wir in der
Software eine Art Freischaltung installieren, nach ablauf einer Zeit ein Pin den wir nur rausgeben
wenn alles vernünftig über die Bühne gegangen ist oder ähnliches
und wenn nicht sich die Software selbst unbrauchbar macht.
Echt schlimm das man sich heut zu Tage über solche Sachen
Gedanken machen muß :(
Wenn jemand dazu ne Idee hat, ich bin für jede Anregung dankbar.
MfG stewkey
 
ist wirklich schlimm wenn man sowas schon machen muss

kannst du nicht irgendwas über die digital eingänge machen

mal angenommen du hättest 2-6 eingänge frei, einfach ne art schloss ein programmieren, wenn ex.y uu ex.z usw dann erst das gesamte programm aufrufen, vorher nur in dem baustein bleiben.

dann müsste aber auch sicher sein das die das s7 programm nicht öffnen können
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei MatMers Vorschlag könnte der Kunde ja das Programm erst benutzen, wenn du ihm den Code gegeben hast.
Das setzt voraus, daß der Kunde das Programm/die Anlage nicht vor Eingang der Zahlung nutzen können soll/muß.
Wenn das so wäre, kannst du es einfacher und sicherer haben: Installiere eine Anschluß zur Fernwartung beim Kunden, mach die Inbetriebnahme, Kunde kann sehen daß alles läuft, dann Urlöschen und nach Zahlung wieder einspielen.
Eine Software mit "Verfallsdatum" ist schon sehr schwierig zu realisieren.
Es darf es nicht einfach Stelle geben, an der, etwa per Merker, zwischen "freigeschaltet" und "gesperrt" unterschieden wird. Da kehrt einer nur die Bedingung um und schon ist's geknackt.
Daher müßte man am besten einen wesentichen Programmteil verschlüsseln. Allerdings gibt es in der S7 wohl keinen (dokumentierten) Weg, den Inhalt von Programmbausteinen per Programm zu verändern. Ersatzweise könnte man mitten im Programmablauf Signale so "verwürfeln", das die Anlage nicht funktionieren kann. Im Prinzip so:
// MB0 enthalte Tag, MB1 Monat des Datums.
L EW 0
L W#16#5aaf // ein bischen Verwirrung stiften, es wäre ja doof wenn der Schlüssel für
//19.9 "W#16#1909" lautet
XOW
L MW0
XOW
T MW2

L MW2
L MW4 // Schluessel, täglich neu, besteht aus (Tag Monat) xor 5aaf
XOW
T EW0

Ist der "Schüssel" falsch, macht die Anlage (möglicherweise lebensgefährlichen!) Mist.

Das Beispiel ist auch sehr primtiv, aber die Methode wäre ausbaufähig. Damit man diese Zeilen nicht einfach rausschmeißen kann, könnte man in obigem Beispiel manche Eingänge in umgekehrter Logik verwenden, "UN" stat "U" und umgekehrt. Die Inversion der Eingänge würde dann dadurch bewirt, daß der Schlüssel nicht (Tag Monat) xor 5aaf sondern (Tag Monat) xor 5aaf xor (umzudrehende Eingänge) wäre.
 
Hi

1. Einen Baustein mit Know_How Schutz programmieren
wo die Pin abgefragt wird.

2. Mit gültiger Pin immer Betrieb ohne gültiger Pin also bis der Kunde
bezahlt hat 30-60 Tage Testversion. Kann man über einen Zähler und
den Weckalarm machen zB. einmal am Tag aufrufen gibt aber auch
noch viele andere Wege nach Rom.

3. In Deinen Baustein beim Anlauf der CPU die Seriennummer
auslesen und abspeichern.
Dann immer diese Seriennummer abfragen
Damit Dein Programm nur auf einer CPU ablauffahig ist.

4. Da der Know How Schutz nicht sicher ist wenn ein anderer hier aus
dem Forum kommt die ganz CPU mit Passwort schützen.

Hab schonmal sowas gemacht. Das hier ist nicht die komplette Lösung
aber ein paar Punkte zum überdenken.

netten Gruß

Hab es nochmal nach hier kopiert sonst weiss man ja nicht wo es weiter geht
 
Ist der "Schüssel" falsch, macht die Anlage (möglicherweise lebensgefährlichen!) Mist.

Man schaltet eine Anlage ja auch nicht sofort in der Produktion ab.

Ich habe mal sowas gemacht wie oben von mir beschrieben und 14 Tage vor Ablauf immer eine Textmeldung gemacht die der Kunde quittieren mußte.

Wenn die Zeit abgelaufen ist ohne das der Kunde bezahlt hatte
hat die Maschine ganz normal gearbeitet erst wenn die Produktion gestoppt wurde war kein Anlauf mehr möglich.

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist jetzt doof das in beiden Threads weitergeschrieben wurde.

Ich denke da der Verfasser im anderen geantwortet hat zottels beitrag mitverschieben und diesen dann löschen.
 
Zurück
Oben