Forum: PC-Programmierung Verschlüsselung VBA Entschlüsselung SPS


von J. Baldauf (Gast)


Lesenswert?

Hallo Zusammen,
ich habe leider keinerlei Erfahrung was Kryptographie betrifft und stehe 
nun vor folgender Situation und erhoffe mir Hilfe und Tipps.

Situation bisher:
Aus Access heraus wird mittels VBA ein Barcode erzeugt.
Barcode wird auf Produkt gedruckt.
Automation liest Barcode ein und erkennt Produkt.

Um Produktpiraten das Leben schwerer zumachen soll es nun wie folgt 
ablaufen:
Access verschlüsselt mittels kundenspezifischen Passwort Informationen 
und
erstellt Barcode.
Barcode wird auf Produkt gedruckt.
Automation (SPS bisher in AWL programmiert) entschlüsselt Barcode und 
erkennt Produkt.


Den String mittels VBA zu verschlüsseln ist nicht das Größte Problem 
dort stehen Libaries und Online-Tutorials zur Verfügung. Das 
Entschlüsseln auf der SPS scheint mir der Knackpunkt zu sein.

Bisher hätte ich eine XOR-Verschlüsselung für am einfachsten gehalten, 
jedoch sehe ich auch dort die Schwachpunkte durch den sich nicht 
Ändernen Key.
Gibt es einfache Alternative Verfahren oder könnte man die 
XOR-Geschichte sicher machen indem man den Quellcode auf der SPS 
schützt?

von Peter II (Gast)


Lesenswert?

> Um Produktpiraten das Leben schwerer zumachen soll es nun wie folgt
> ablaufen:

und wie willst du nun verhindert das die Produktpiraten einfach einen 
vorhanden Barcode kopieren?

von J. Baldauf (Gast)


Lesenswert?

Die Produktzusammensetzung ändert sich täglich, so das die Informationen 
im Barcode sich auch ändern.  Wir haben nur die Befürchtung, dass andere 
Firmen Produkte für die Automation erstellen und somit nur noch unsere 
Automation benötigen nicht das Zubehör.

von J. Baldauf (Gast)


Lesenswert?

Außerdem würden wir dann in regelmäßigen Abständen, beispielsweise bei 
der Wartung der Automation, den Key ändern und die Produktion anpassen.

von Peter II (Gast)


Lesenswert?

ich versteht das Problem noch immer nicht.

Warum erzeugt du denn nicht eine Zufälligen Barcode. Dieser wird aber 
gespeichert und die SPS gleicht mit der Liste ab ob diese barcode gültig 
ist.

Verschlüssung ist glaube ich nicht die Lösung diese Problems. Wenn 
überhaupt geht es um "echtheit" und dafür gibt es Signaturen. Man 
brechnet also über den Barcode eine prüfsumme mit einem geheimen 
schlüssel. Beim Prüfen vom Barcode prüft man dann mit dem öffentlichen 
schlüsseln ob die Barcode "echt" ist.

Dann ist aber immer noch das Problem, das man einen vorhanden barcode 
kopieren kann.

Die Frage ist, wiviel zeichen man in dem Barcode speichern kann.

von J. Baldauf (Gast)


Lesenswert?

Den Ansatz mit der Signatur hätte ich noch nicht bedacht.

von J. Baldauf (Gast)


Lesenswert?

Könntest du "(...)Man
brechnet also über den Barcode eine prüfsumme mit einem geheimen
schlüssel. Beim Prüfen vom Barcode prüft man dann mit dem öffentlichen
schlüsseln ob die Barcode "echt" ist."
eventuell an einem Beipiel etwas verdeutlichen?

von Peter II (Gast)


Lesenswert?

J. Baldauf schrieb:
> eventuell an einem Beipiel etwas verdeutlichen?

suche doch einfach mal bei google. ("digitale Signatur")

http://de.wikipedia.org/wiki/Digitale_Signatur

Wie viele bytes bekommt du denn in einen Barcode rein?

von J. Baldauf (Gast)


Lesenswert?

Hey,
ich hab mich etwas eingelesen und scheinbar ist 
Public-Key-Verschlüsselung/Digitale Signatur genau das was ich bräuchte 
und wollte.

Der Barcode ist kann max 40 Zeichen enthalten.

Bei der Umsetzung sehe ich nur größere Probleme gerade was die SPS 
angeht.

von Peter II (Gast)


Lesenswert?

J. Baldauf schrieb:
> Der Barcode ist kann max 40 Zeichen enthalten.

das wird eng, für RSA braucht man mindestens 1024bit (128byte). So langt 
ist denn meines wissens auch immer die Signatur.

von J. Baldauf (Gast)


Lesenswert?

Gibt es denn kein einfacheres/unsicheres Verfahren mit dem man eine 
Digitale Signatur erzeugen kann?
In erster Linie soll es ja nur die Nach-Produktion erschweren und 
natürlich auch schnell Umsetzbar sein für uns.

von Peter II (Gast)


Lesenswert?

J. Baldauf schrieb:
> In erster Linie soll es ja nur die Nach-Produktion erschweren und
> natürlich auch schnell Umsetzbar sein für uns.

Ich denke ja, das es einfacher ist eine Zufallsbarcode zu ereugen und 
jeweils mit einer Datenbank abzugleichen.

von J. Baldauf (Gast)


Lesenswert?

Der Barcode enthält bisher natürlich auch Informationen die nicht 
wegfallen dürfen und die SPS ist leicht auslesbar und hat auch keine 
Verbindung zu einer Datenbank.

von Peter II (Gast)


Lesenswert?

J. Baldauf schrieb:
> Der Barcode enthält bisher natürlich auch Informationen die nicht
> wegfallen dürfen und die SPS ist leicht auslesbar und hat auch keine
> Verbindung zu einer Datenbank.

dann musst du halt die "unsichere" Variante wählen und dir selber eine 
art Prüfzumme über die Felder ausdenken und diese dann Prüfen.

wenn du z.b. 4byte frei hast, dann kannst du eine CRC32 über die Daten + 
einen Key berechnen, diesen speicherst du dann ein den Barcode mit ab.

Ob dir das sicher genug ist kann ich nicht beurteilen, für einen 
ersthaften angriff recht es zumindest nicht.

Schaffst eine CRC32 in der SPS zu brechnen?

von J. Baldauf (Gast)


Lesenswert?

Das könnte man hinbekommen aber der Charme eines Öffentlichen-Keys in 
der SPS wäre ja weg oder verstehe ich jetzt etwas falsch?

von Peter II (Gast)


Lesenswert?

J. Baldauf schrieb:
> Das könnte man hinbekommen aber der Charme eines Öffentlichen-Keys in
> der SPS wäre ja weg oder verstehe ich jetzt etwas falsch?

ja. Du hättest nur im Access und der SPS einen Key (der aber ebend 
gleich ist)

von J. Baldauf (Gast)


Lesenswert?

Und dann könnte ich auch die noch einfachere Variante mit XOR nehmen. 
Das wären auf der SPS nur ein paar Zeilen.
Schade, jetzt wüsste man ne Ideale Methode (Digitale Signatur) und 
scheiterst an der Hardware und meinem Können :)

von Peter II (Gast)


Lesenswert?

J. Baldauf schrieb:
> Und dann könnte ich auch die noch einfachere Variante mit XOR nehmen.
> Das wären auf der SPS nur ein paar Zeilen.

xor ist nun wirklich exterm einfach zu knacken. Dann wenigsten ein 
CRC32.

> Schade, jetzt wüsste man ne Ideale Methode (Digitale Signatur) und
> scheiterst an der Hardware und meinem Können :)
gibt ja auch 3d Barcodes - dort passt das rein. Und das Können kann man 
durch lernen erweitern.

von Jürgen D. (poster)


Lesenswert?

Die Ver und Endschlüsselung könnte man ja auch auslagern. Z.B. an einem 
Comport der SPS (über Erweiterungsmodul) einen eigenen Microkontroller 
hängen der den Barcodeinhalt von der SPS bekommt und dan einfach ein OK 
oder nicht OK zurücksendet.
Das Hauptbroblem sehe ich aber immer noch im einfachen Kopieren des 
Codes.
Jeder Code darf ja nur einmal vorkommen, wie soll ein Oflinesystem sowas 
sicherstellen?
Der externe Kriptoprozzesor könnte da ja eine Tabelle verwalten, nur die 
muß dann wohl auch irgendwan mal wieder aufgefüllt werden.
Macht ihr die Wartung der Kundenanlagen?

Eigendlich habt ihr ja das gleiche Problem wie die Hersteller von 
Druckern die möglichts Fremdtinte verhindern wollen.

von Peter II (Gast)


Lesenswert?

Jürgen D. schrieb:
> Jeder Code darf ja nur einmal vorkommen, wie soll ein Oflinesystem sowas
> sicherstellen?

man vergibt einen laufenden Nummer, und legt einfach fest das die 
aktuelle nicht kleiner als der vorgänger sein darf.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Eine weitere Möglichkeit wäre es, die Seriennummer der SPS (oder etwas 
anderes, diese eineindeutig kennzeichnendes) zum Entschlüsseln zu 
verwenden.

Dann muss das mit dem Barcode gekennzeichnete Ding gezielt für die 
jeweilige SPS-Installation codiert sein, und damit ist eine Kopie des 
Barcodes an jeder anderen SPS-Installation nutzlos.

Eine Mehrfachverwendung gleicher Barcodes an ein und der selben SPS 
sollte auch leicht verhinderbar sein, die kann sich ja merken, welche 
Seriennummern der anzuschließenden Geräte sie schon kennt.


Andererseits sollte man sich auch mal zurücklehnen und überlegen, ob all 
der Aufriss wirklich nötig ist -- ist denn der Kundenkreis mit so 
deutlicher "krimineller Energie" ausgestattet, daß so ein 
Sicherungsverfahren benötigt wird?

von Jürgen D. (poster)


Lesenswert?

Das mit der laufenden nummer muß nicht unbedingt klappen, wenn ich das 
richtig verstanden habe geht es um Verbrauchmaterial das der Maschiene 
zugeführt wird und wo überwacht werden soll das es orginal ist. Wie bei 
meinem Beispiel die Druckerpatronen. Durch eine Lagerhaltung können da 
durchaus die Reihenfolge geändert werden.
Da ihr ja die Wartung macht währe ja vieleicht ein Verfahren ähnich der 
TAN Listen bei Onlieüberweisungen denkbar.
Jede Prüfnummer ist nur einmal gültig. Eine neue Liste lädt ihr dann bei 
der nächsten Wartung hoch.

von amateur (Gast)


Lesenswert?

Allzu lange Romane lassen sich sowieso nicht in einem Barcode 
verstecken. Es sei denn du benutzt den neuen Quadratischen.
Sperrst Du das Auslesemodul in der SPS gegen das Auslesen, so bleibt für 
den Unkundigen nur eine Zahlenkolonne, deren Interpretation von außen 
nicht möglich ist. Willst Du auf Nummer sicher gehen, verodere das Ganze 
noch mit deiner Lieblingsprimzahl und, was ganz wichtig bei solchen 
Kapriolen ist, sperre das Ganze nach jedem Durchlauf für einige Zeit. 
Eine Produktion wird nicht im Sekundentakt umgestellt. Ein erneuter 
Versuch nach 0,5 Sekunden ist also als versuchter Einbruch zu werten und 
kann also in jedem Falle als Fehler gewertet werden. Solange Du Deinen 
Schlüssel nicht außen draufpappst, sollte ein solches System, mit 
normalen Mitteln, nicht zu knacken sein.

von J. Baldauf (Gast)


Lesenswert?

Wie schon angesprochen ist das Auslesen der SPS eine große Schwäche. 
Kennt den jemand eine Möglichkeit bei Steuerungen von EPIS das Auslesen 
zu verhindern?

von Peter II (Gast)


Lesenswert?

J. Baldauf schrieb:
> Wie schon angesprochen ist das Auslesen der SPS eine große Schwäche.

ich fand die Idee von Jürgen D. gut, die Entschlüsselung extern zu 
machen. Wie ist denn der Barcodescanner an die SPS angebunden? Wenn er 
per RS232 angebunden ist, dann könnte man ja auch eine "black box" 
zuwischen schalten die den barcode entschlüsselt und ihn dann einfach 
weiterreicht.

von Uwe2 (Gast)


Lesenswert?

Bitshuffling z.B. ccrp sollte für die SPS kein problem darstellen.

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
Noch kein Account? Hier anmelden.