Forum: PC-Programmierung Dongle gesucht


von dongle suche (Gast)


Lesenswert?

Ich bin auf der suche nach einem Dongle das in der Lage ist meinen 
eigene Code auszufuehren um einen Teil der Anwedung in das Dongle 
auszulagern. Es sollte per USB an den Rechner angeschlossen werden und 
keine speziellen Treiber benoetigen. Notwendige Platformen sind Windows 
und Linux. Desweiteren ist sowohl C++ als auch Java Code damit 
abzusichern.

Bei meiner Rechereche bin ich bisher auf SenseLock gestossen. Gibt es 
weitere Produkte?

Alternative waere statt einem fertigen Dongle ein MC-Board mit USB auf 
dem ich eine eigene Firmware laufen lassen kann das ich problemlos las 
Fertigmodul kaufen kann.

von Borislav B. (boris_b)


Lesenswert?

dongle suche schrieb:
> Ich bin auf der suche nach einem Dongle das in der Lage ist meinen
> eigene Code auszufuehren um einen Teil der Anwedung in das Dongle
> auszulagern. Es sollte per USB an den Rechner angeschlossen werden und
> keine speziellen Treiber benoetigen. Notwendige Platformen sind Windows
> und Linux.

Nimm einen einfachen USB-Stick, formatiere ihn mit Fat32 und kopiere 
deine .exe/.whatever drauf. Fertig.

dongle suche schrieb:
> Desweiteren ist sowohl C++ als auch Java Code damit abzusichern.

Was meinst du mit absichern? Einen Kopierschutz? Das wäre natürlich 
wieder ein ganz anderes Thema (da gibt es dutzende Anbieter im Netz).

: Bearbeitet durch User
von dongle suche (Gast)


Lesenswert?

Boris P. schrieb:
> Was meinst du mit absichern? Einen Kopierschutz? Das wäre natürlich
> wieder ein ganz anderes Thema (da gibt es dutzende Anbieter im Netz).

Natuerlich geht es um einen Kopierschutz. Vielleicht war das nicht 
eindeutig aus meinen Formulierungen.

Es gibt tausende Anbieter aber bei den wenigsten kann man Teile seiner 
Anwendung in den Prozessor des Dongles auslagern. Wir haben in der Firma 
Dongles von diversen Anbietern. Deren wesentliche Sicherheitsfeature ist 
die Pruefung ob das Dongle vorhanden ist. Das zu patchen ist nicht 
besonders schwer. Ist ein Teil der Anwedung im Dongle realisiert steigt 
der Aufwand deutlich an, da Funktionalitaet nachimplementiert werden 
muss.

von Christian R. (supachris)


Lesenswert?

Die HASP haben einen geschützten Speicher, aber nur wenige kB. Ob dsas 
wahnsinnig sicher ist, wage ich zu bezweifeln, für wenig Geld kann man 
sich von nahezu allen Dongles Software Kopien mit virtuellem Dongle 
Treiber im Internet erstellen lassen. Und auch sonst gibts USB Sniffer, 
und der Key muss ja in der Hasp dll irgendwo hinterlegt sein. Und ganz 
ohne Treiber geht sowas auch schwierig...

von dongle suche (Gast)


Lesenswert?

Christian R. schrieb:
> Die HASP haben einen geschützten Speicher, aber nur wenige kB. Ob dsas
> wahnsinnig sicher ist, wage ich zu bezweifeln, für wenig Geld kann man
> sich von nahezu allen Dongles Software Kopien mit virtuellem Dongle
> Treiber im Internet erstellen lassen. Und auch sonst gibts USB Sniffer,
> und der Key muss ja in der Hasp dll irgendwo hinterlegt sein. Und ganz
> ohne Treiber geht sowas auch schwierig...

Genau deswegen will ich Funktionalitaet in das Dongle auslagern.

von Christian R. (supachris)


Lesenswert?

dongle suche schrieb:
> Genau deswegen will ich Funktionalitaet in das Dongle auslagern.

Na und? Irgendwann muss das ja mal in den RAM des PC, und auf dem Weg 
dahin ist es zwar AES verschlüsselt, aber trotzdem angreifbar.

von dongle suche (Gast)


Lesenswert?

Christian R. schrieb:
> dongle suche schrieb:
>> Genau deswegen will ich Funktionalitaet in das Dongle auslagern.
>
> Na und? Irgendwann muss das ja mal in den RAM des PC, und auf dem Weg
> dahin ist es zwar AES verschlüsselt, aber trotzdem angreifbar.

Anscheinend versteht keiner was ich will. Ich will das ein Teil meiner 
Software NICHT auf dem PC laeuft sondern auf dem Prozessor des Dongles. 
Ich will lediglich die Parameter einer Funktion an das Dongle 
uebergeben, die Berechnungen sollen auf dem Dongle selbst stattfinden. 
Das Ergebnis wird dann an den PC zurueck geschickt. Somit fehlt der 
Software auf dem PC eine notwendiger Teil seiner Funktionalitaet.

von Ich (Gast)


Lesenswert?

Schau dir mal CodeMeter von Wibu Systems an.
AxProtector und CM Stick könnten was für dich sein.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

dongle suche schrieb:
> Ich will lediglich die Parameter einer Funktion an das Dongle
> uebergeben, die Berechnungen sollen auf dem Dongle selbst stattfinden.
> Das Ergebnis wird dann an den PC zurueck geschickt. Somit fehlt der
> Software auf dem PC eine notwendiger Teil seiner Funktionalitaet.


- Arbeitest du für die NSA?

- ist deine SW >= 10000 € wert?

- gibts für deine SW ein breites "Publikum"?

- bist du paranoid?

von Helge A. (besupreme)


Lesenswert?

Eine gut erhältliche Lösung: irgendein beliebiger SIM-Kartenleser und 
eine aktive, programmierte SIM-Karte.

Selbst aufgebaut: Pic mit USB-Schnittstelle und das Programm 
draufspielen.

von dongle suche (Gast)


Lesenswert?

Magnus M. schrieb:
> dongle suche schrieb:
>> Ich will lediglich die Parameter einer Funktion an das Dongle
>> uebergeben, die Berechnungen sollen auf dem Dongle selbst stattfinden.
>> Das Ergebnis wird dann an den PC zurueck geschickt. Somit fehlt der
>> Software auf dem PC eine notwendiger Teil seiner Funktionalitaet.
>
> - Arbeitest du für die NSA?

Nein, dann muesste ich meine Programme nicht an Kunden ausliefern und 
haette das Problem nicht. Im Gegenteil ich waere sogar froh wenn es sich 
jeder freiwillig kopiert und installiert.

>
> - ist deine SW >= 10000 € wert?
>

Ob sie das Wert ist muss der Kunde entscheiden. Je nach Projekt liegen 
die Softwarekosten deutlich ueber dem genannten Betrag.

> - gibts für deine SW ein breites "Publikum"?

Nein, wir bedienen einen sehr speziellen Nischenmarkt.

>
> - bist du paranoid?

Nein, aber wir haben kreative Kunden die Rechner klonen, sich fehlende 
Hardware vom guenstigsten Lieferanten nachkaufen und munter mit Lizenzen 
jonglieren die sie nicht gekauft haben. Dann werden komische 
Supportanfragen gestellt bei denen es leider nicht moeglich ist das 
defekte System einzuschicken damit die Technik den Fehler analysieren 
kann weil die Hardware ja nie bei uns gekauft wurde.

von dongle suche (Gast)


Lesenswert?

Helge A. schrieb:
> Eine gut erhältliche Lösung: irgendein beliebiger SIM-Kartenleser
> und
> eine aktive, programmierte SIM-Karte.
>
> Selbst aufgebaut: Pic mit USB-Schnittstelle und das Programm
> draufspielen.

Hast du Bezugsquellen/Hersteller fuer programmierbare Simkarten?

Eine Loesung in der Art des PIC mit USB hatte ich auch im Kopf. Das 
ganze selbst zu realisieren ist aber zeitlich momentan schwierig. 
Deswegen war ich auf der Suche nach einem Anbieter der so etwas fertig 
liefert. Dann muesste ich nur noch meinen eigenen Code aufspielen und 
mich nicht um den Rest kuemmern. Das ist bei kleinen Stueckzahlen 
deutlich wirtschaftlicher.

von Max D. (max_d)


Lesenswert?

Nimm einen USB AVR und lass den einen serialport emulieren (da gibt es 
fertige Lösungen im lufa).  Dann fängst du die Daten ab,  verarbeitest 
sie im AVR und lieferst sie durch den serialport zurück.
Dein Mehraufwand ist minimal (ein serialport ist wohl die faulste 
Schnittstelle der Welt zum programmieren).
Und selbst wenn du einen echten dongleanbieter findest wirst du auch bei 
dem um das Interface von denen rumarbeiten müssen (evtl sogar 
komplizierter).
Und für die hw besorgst du dir einfach openkubus USB sticks, da ist 
nämlich genau das drinnen (ein usb-avr und etwas Hühnerfutter).

von Helge A. (besupreme)


Lesenswert?

Wenns zeitlich eng ist, schaue nach der dir am besten bekannten CPU. 
Neben den genannten Pic und AVR gibts noch systeme von ST und NXP. Hier 
ist was zum einlesen:
http://javacardforum.com/resources/faqs/#3

von Stephan B. (matrixstorm)


Lesenswert?

Hi.

Vielleicht ist das ja was fuer dich:
Mein relativ neues, vermutlich langzeit Projektchen
 ( http://matrixstorm.com/avr/avrstick )


Die Seite ist leider noch im Aufbau. Layout ist nur Prototyp und 
haesslich, ich weiss - funktioniert aber zuverlaessig.

Kann mit allem programmiert werden, was AVR XMega Code generiert - 
vermutlich KEIN Java.
Kann aber auch aus dem Browser heraus benutzt werden und braucht keine 
zusaetzlichen Treiber oder Software...


Falls Fragen oder Feedback, gern - immer her damit.


MfG

: Bearbeitet durch User
von Georg (Gast)


Lesenswert?

dongle suche schrieb:
> Ich will lediglich die Parameter einer Funktion an das Dongle
> uebergeben, die Berechnungen sollen auf dem Dongle selbst stattfinden.
> Das Ergebnis wird dann an den PC zurueck geschickt.

Warnung vor einem möglichen Denkfehler: so wie du das schilderst wären 
alle Dongles gleich und austauschbar. Das erleichtert Nachbauversuche 
und ist i.d.R. nicht erwünscht.

Georg

von Amateur (Gast)


Lesenswert?

Es ist nicht möglich Code auf der Festplatte auszuführen. Das Gleiche 
gilt für Dongles und andere Dingsbümser.
Wie bei jeder 08/15 Executeable holt das Betriebssystem den Code in den 
Speicher und vergnügt sich erst dort damit.

von Udo S. (urschmitt)


Lesenswert?

Der beste Kopierschutz ist gute SW Pflege und Support.
Professionelle Software für Unternehmen ist (gerade in Nischenmärkten) 
im seltensten Fall eine Fire and forget Kauflösung.

von H4x0r (Gast)


Lesenswert?

dongle suche schrieb:
> sich fehlende
> Hardware vom guenstigsten Lieferanten nachkaufen
Ihr verdient euer Geld indem ihr eure Kunden zwingt 08/15-Hardware von 
euch überteuert zu kaufen? Stellt ihr medizinische Geräte her...??

Einen ollen PIC/AVR/... per USB anzuschließen bringt natürlich wenig, 
denn die sind alle auslesbar (durch Auseinandernehmen und direktes 
Auslesen des Flash). Erst recht wenns um viel Geld geht (so zB geschehen 
mit den Segger J-Link Adaptern, die gibts für ein paar $ in China mit 
der Original-Firmware drauf).

Vielleicht mal das Business-Modell von Kunden-Verarsche & Abzocke auf 
ehrlichen Handel umstellen...?

Amateur schrieb:
> Es ist nicht möglich Code auf der Festplatte auszuführen. Das
> Gleiche
> gilt für Dongles und andere Dingsbümser.
> Wie bei jeder 08/15 Executeable holt das Betriebssystem den Code in den
> Speicher und vergnügt sich erst dort damit.
Quatsch. Auf dem Dongle ist ein Mikrocontroller und der führt den Code 
aus. Wo ist das Problem? Wieso soll der keinen Code ausführen können?

von Zeuger (Gast)


Lesenswert?

Mann muss halt beide Techniken kombinieren.
Einmal eine Freischaltung durch den richtigen Lizenzschlüssel, was wohl 
eh nicht viel bringt wenn da alles gut geklont wird und halt die 
Auslagerung wichtiger Berechnungen in eine externe geschützt Hardware.
Das Knowhow muss in der geschützten Hardware stecken, wer die dann 
nachprogrammieren kann könnte eh das Projekt auch selber lösen.
Bei der externen Hardware (Dongle) muss man nur was wählen was nicht, 
oder nur unter teuersten Aufwand auslesebar ist.

von praktiker (Gast)


Lesenswert?

Branchenstandard und unangefochtener Markführer ist wohl Sentinel/Hasp - 
Fast jede Software hier auf meiner Machine, die verdongelt ist, bring 
einen solchen DingleDongle mit:

http://www.safenet-inc.de/software-monetization/sentinel-hasp-hardware-keys/?LangType=1031

Warum das Rad neu erfinden, wenn Millionenschwere Softwarehäuser auf den 
Schutz durch dieses kleine Stück hardware und Code vertrauen?

von oszi40 (Gast)


Lesenswert?

Man sollte als Käufer auch an den Fall denken,

wenn der Hersteller verschwunden oder der Dongle kaputt ist! Ein guter 
Update-Service ist besser, als der Kauf eines sinnlos aufwändig 
verdongelten Geräts.

von Der Rächer der Transistormorde (Gast)


Lesenswert?

dongle suche schrieb:
> Desweiteren ist sowohl C++ als auch Java Code damit
> abzusichern.

Mit welcher Software soll auf dem Zielsystem programmiert werden?

praktiker schrieb:
> Warum das Rad neu erfinden, wenn Millionenschwere Softwarehäuser auf den
> Schutz durch dieses kleine Stück hardware und Code vertrauen?

Vielleicht weil wir die HASP III (lange zurück) innerhalb von 2 Stunden 
geknackt haben (und nach 4h einen clone gebaut hatten) und die 
Marketingversprechen damals auch keine anderen waren?

von Borislav B. (boris_b)


Lesenswert?

Der Rächer der Transistormorde schrieb:
> Vielleicht weil wir die HASP III (lange zurück) innerhalb von 2 Stunden
> geknackt haben (und nach 4h einen clone gebaut hatten) und die
> Marketingversprechen damals auch keine anderen waren?

In welchem deutschen Unternehmen werden die Entwickler dafür bezahlt, 
Kopierschutzverfahren zu knacken, so dass raubkopierte Software 
eingesetz werden kann???
Ist das umgehen von Kopierschutzmaßnahmen an sich nicht auch schon 
illegal?

: Bearbeitet durch User
von Max D. (max_d)


Lesenswert?

Boris P. schrieb:
> Der Rächer der Transistormorde schrieb:
>> Vielleicht weil wir die HASP III (lange zurück) innerhalb von 2 Stunden
>> geknackt haben (und nach 4h einen clone gebaut hatten) und die
>> Marketingversprechen damals auch keine anderen waren?
>
> In welchem deutschen Unternehmen werden die Entwickler dafür bezahlt,
> Kopierschutzverfahren zu knacken, so dass raubkopierte Software
> eingesetz werden kann???

Wer sagt, dass er iwo angestellt war?
Vlt. haben die das in der Uni gemacht (reverse engineering ist eine sehr 
gute Übung).

von Borislav B. (boris_b)


Lesenswert?

Max D. schrieb:
> Wer sagt, dass er iwo angestellt war?
> Vlt. haben die das in der Uni gemacht (reverse engineering ist eine sehr
> gute Übung).

Wer sagt, dass er es nicht war?
Eine Software für mehrere tausend Euro bestellt man üblicherweise nicht 
zum Spaß (schon garnicht als Student) ;-)

von asterix (Gast)


Lesenswert?

Boris P. schrieb:
> Max D. schrieb:
>> Wer sagt, dass er iwo angestellt war?
>> Vlt. haben die das in der Uni gemacht (reverse engineering ist eine sehr
>> gute Übung).
>
> Wer sagt, dass er es nicht war?
> Eine Software für mehrere tausend Euro bestellt man üblicherweise nicht
> zum Spaß (schon garnicht als Student) ;-)

Unis/Studenten kriegen docht meist schön günstige Lizenzen ;-)

von Εrnst B. (ernst)


Lesenswert?

Boris P. schrieb:
> Ist das umgehen von Kopierschutzmaßnahmen an sich nicht auch schon
> illegal?

Früher™ war das Umgehen von Kopierschutzmaßnahmen ("entdongeln") legal, 
Wenn es dem Zweck diente die "Interoperabilität" wiederherzustellen.

z.B.: Drucker druckt hinter Parport-Dongle nicht ==> Software legal 
entdonglebar.

Raubkopien oder den Dongle-Emulator weiterverteilen durfte man deshalb 
trotzdem nicht...


Edit/Nachtrag: UrhG §69e müsste das gewesen sein.

: Bearbeitet durch User
von Guest (Gast)


Lesenswert?

H4x0r schrieb:
> Erst recht wenns um viel Geld geht (so zB geschehen
> mit den Segger J-Link Adaptern, die gibts für ein paar $ in China mit
> der Original-Firmware drauf).

Mehr oder weniger ;-)...die Jungs bei Segger sind auch nicht doof und 
erkennen den Clone. Der läuft dann kurze Zeit und was wars ;-).
Ich kann mich immer nur über die Leute wundern, die lieber einen J-Link 
Clone kaufen, der nach kurzer Zeit nicht mehr funktioniert anstatt einen 
J-Link EDU mit allen Lizenzen für 50,- Euro (und das sogar legal).

von oszi40 (Gast)


Lesenswert?

Als Kunde hasse ich Dongles, da sie im Störfall nur zusätzliche Probleme 
machen! Gut erinnere ich mich an ein namhaftes CAD-Programm und viele 
klapprige Dongels dazu. Wenn ich das heute benutzen wollte, hätte ich 
nicht mal einen LPT-Anschluss dafür am NB!

von Stephan B. (matrixstorm)


Lesenswert?

Hallo - mal was anderes zum "Rumphilisophieren":

Was muss denn so ein Dongle minimal machen?

Ich hatte mir (speziell wenn ein AVR zum Einsatz kommen wuerde) 
ueberlegt:
(Im wesentlichen RSA, aber so das es moeglichst SRAM schonend ist fuer 
maximal grosse Zahlen, bei moeglichst kleinem AVR)

 *  Der AVR enthaelt im gelocktem Flash zwei z.B. 2048bit grosse Zahlen 
f und N. (einen "private key" f und den Modulus N=p*q als Produkt zweier 
Primzahlen p>2,q>2, p!=q)

 *  Die verdongelte Software am Hostende enthaelt zwei Zahlen: Den 
Public-Key "e" und den Modulus "N". (Mit 1 = e*f (mod phi(N)), 
phi(N)=(p-1)*(q-1) )


 *  Die verdongelte Software sendet regelmaessig 2048bit Zufallsdaten 
"M" an den AVR. Dieser generiert ratenlimitiert (damit nicht ein "Hub" 
gebaut wird, der mehrere Raubkopien versorgt) C=M^f (mod N) und sendet 
es zurueck.


 *  Die Software rechnet C^e (mod N) und vergleicht das Ergebnis mit M. 
Wenn gleich dann OK. Ansonsten Warnung und Programmende.

 [*  Fuer jede Lizens/Kaeufer kommt ein anderes N zum Einsatz... 
...damit ein Aufschleifen und Auslesen des AVRs unlukrativer wird.]

 [*  der AVR wird am Maximaltakt/mit internen Takt betrieben, um ein 
moegliches Uebertakten zur Erhoehung der Rate (damit wieder Hub) zu 
erschweren. ]

Funktioniert so ein Schema? Reicht es um einigermassen sicher zu sein? 
Ginge es auch einfacher? Denkbare Angriffe?

MfG

: Bearbeitet durch User
von Kaj (Gast)


Lesenswert?

Boris P. schrieb:
> Ist das umgehen von Kopierschutzmaßnahmen an sich nicht auch schon
> illegal?

Nein.
Laut Rechtssprechung (siehe Musikindustrie) ist lediglich das umgehen 
eines wirkungsvollen Kopierschutzes nicht erlaubt.
Das wirkungsvoll ist dabei der entscheidene Unterschied zu deiner 
Formulierung.

von Rolf Magnus (Gast)


Lesenswert?

Amateur schrieb:
> Es ist nicht möglich Code auf der Festplatte auszuführen.

Schon beim C64 gab es Programme, die rechenintensive Aufgaben auf das 
Diskettenlaufwerk ausgelagert haben, da der darin befindliche Prozessor 
schneller war als der des Rechners selbst.

> Das Gleiche gilt für Dongles und andere Dingsbümser.

Warum sollte sowas nicht möglich sein? Wenn es einen Prozessor hat, kann 
es auch Code ausführen.

Kaj schrieb:
> Laut Rechtssprechung (siehe Musikindustrie) ist lediglich das umgehen
> eines wirkungsvollen Kopierschutzes nicht erlaubt.
> Das wirkungsvoll ist dabei der entscheidene Unterschied zu deiner
> Formulierung.

Das habe ich auch nie verstanden. Offenbar haben Juristen ein anderes 
Verständnis von Logik als andere Menschen (oder zumindest als ich). Für 
mich ist ein Kopierschutz dann wirkungsvoll, wenn man ihn nicht umgehen 
kann.(*) Ergo: Es ist dir nur dann verboten, einen Kopierschutz zu 
umgehen, wenn du ihn nicht umgehen kannst.

* Das Gesetz formuliert das etwas verklausulierter:
"Technische Maßnahmen sind wirksam, soweit durch sie die Nutzung eines 
geschützten Werkes oder eines anderen nach diesem Gesetz geschützten 
Schutzgegenstandes von dem Rechtsinhaber durch eine Zugangskontrolle, 
einen Schutzmechanismus wie Verschlüsselung, Verzerrung oder sonstige 
Umwandlung oder einen Mechanismus zur Kontrolle der Vervielfältigung, 
die die Erreichung des Schutzziels sicherstellen, unter Kontrolle 
gehalten wird."
( http://www.gesetze-im-internet.de/urhg/__95a.html )

von Georg (Gast)


Lesenswert?

Rolf Magnus schrieb:
> die die Erreichung des Schutzziels sicherstellen

Das ist auch nicht klarer. Mit normaler Logik betrachtet heisst das, 
wenn ich einen Kopierschutz knacke, habe ich automatisch auch die 
Berechtigung dazu geschaffen, denn er ist ja nicht mehr wirksam bzw. 
stellt das Schutzziel nicht mehr sicher.

Solche Zweideutigkeiten können aber durchaus beabsichtigt sein: in einem 
solchen Fall gewinnen die teureren Anwälte.

Georg

von Rolf Magnus (Gast)


Lesenswert?

Georg schrieb:
> Das ist auch nicht klarer. Mit normaler Logik betrachtet heisst das,
> wenn ich einen Kopierschutz knacke, habe ich automatisch auch die
> Berechtigung dazu geschaffen, denn er ist ja nicht mehr wirksam bzw.
> stellt das Schutzziel nicht mehr sicher.

Eben. Offenbar haben Juristen nicht viel mit Logik am Hut ;-)

> Solche Zweideutigkeiten können aber durchaus beabsichtigt sein: in einem
> solchen Fall gewinnen die teureren Anwälte.

Den Verdacht habe ich auch. Man sichert sich den Job, indem man Gesetze 
unscharf und eigentlich unlogisch formuliert. So kann dann vor Gericht 
ausgiebig darüber diskutiert werden, wie das zu interpretieren und 
insbesondere auf den aktuellen Fall anzuwenden ist, und das jedesmal 
aufs Neue. Entweder ist das der Grund, oder man hat die Praktikanten die 
Gesetzestexte schreiben lassen.
Das ist wie beim Luftfahrtgesetz die Definition von Luftfahrzeugen, nach 
der auch Modellflugzeuge eine Haftpflicht-Versicherung brauchen. Nimmt 
man das Gesetz wörtlich, so ist auch eine Papierschwalbe 
versicherungs-pflichtig.

von H4x0r (Gast)


Lesenswert?

Guest schrieb:
> H4x0r schrieb:
>> Erst recht wenns um viel Geld geht (so zB geschehen
>> mit den Segger J-Link Adaptern, die gibts für ein paar $ in China mit
>> der Original-Firmware drauf).
>
> Mehr oder weniger ;-)...die Jungs bei Segger sind auch nicht doof und
> erkennen den Clone. Der läuft dann kurze Zeit und was wars ;-).
Ja. Aber es ist bewiesen dass sich der Flash auslesen lässt. Beim J-Link 
sichert die PC-Software das über die Serial ab, aber der OP will wohl 
kaum einen Dongle verwenden der die PC-Software absichern soll und 
selber von der PC-Software abgesichert werden muss?!

> Ich kann mich immer nur über die Leute wundern, die lieber einen J-Link
> Clone kaufen, der nach kurzer Zeit nicht mehr funktioniert anstatt einen
> J-Link EDU mit allen Lizenzen für 50,- Euro (und das sogar legal).
Wo gibts denn einen EDU für 50€ mit allen Lizenzen? Meiner (auch 50€) 
erlaubt zB kein J-Flash :-/

von (prx) A. K. (prx)


Lesenswert?

Will nur vorsorglich drauf hinweisen, dass Virtualisierung schon länger 
ziemlich im Trend liegt und sich die mit Dongles mitunter so schlecht 
verträgt, dass Donglezwang zum Killerkriterium bei der Softwareauswahl 
werden kann.

: Bearbeitet durch User
von Rabe (Gast)


Lesenswert?

Stephan B. schrieb:
> Die Software rechnet C^e (mod N) und vergleicht das Ergebnis mit M.

Und genau diesen Vergleich patcht man aus der Software raus.
Schutz ausgehebelt.

Kopierschutz funktioniert nicht und kann prinzipbedingt nicht 
funktionieren. Lasst es sein und gängelt eure ehrlichen Kunden nicht mit 
nervigen Dongles. Die unehrlichen Kunden haben alle Vorteile und die 
ehrlichen Kinden sind die verarschten.

von Stephan B. (matrixstorm)


Lesenswert?

Rabe schrieb:
> Kopierschutz funktioniert nicht und kann prinzipbedingt nicht
> funktionieren.

Wie (fast?) alles in der Crytographie: Es soll nur erschweren. Einen 
Zeitgewinn/Zeitvorteil verschaffen.

Man kann die jeweiligen Stellen im Maschienencode des Hostprogramms 
verschleiern (http://de.wikipedia.org/wiki/Obfuscator).

Ich meine sogar mal ein Paper gelesen zu haben, wo theoretische 
Informatiker meinten, das dies analog perfekt zum OTP geht.
Da will ich mich abe rnicht drauf festnageln lassen.

Ist auf jeden Fall besser als einfach von vornherein jedne Zugriff zu 
ermoeglichen.


MfG

von Rabe (Gast)


Lesenswert?

Stephan B. schrieb:
> Wie (fast?) alles in der Crytographie:

Kopierschutz hat nichts mit Crypto zu tun, auch wenn Sie Crypto 
stellenweise verwenden.
Ausgehebelt wird es meistens an der Stelle, die nichts mit Crypto zu tun 
hat. Z.b. die Abfrage, ob das Programm wegen falschem Dongle beendet 
wird, wird einfach rausgepatcht. Und dagegen kann man prinzipbedingt 
nichts machen. Auch Obfuscatoren oder ähnliches helfen nicht.

Verschleierten Code kann man mit einem ganz normalen Compiler 
(Optimierer) entschleiern. Der wirft die meisten Verschleierungen dann 
einfach wieder raus, weil sie unnötiger Code sind.

von Stephan B. (matrixstorm)


Lesenswert?

Rabe schrieb:
> Auch Obfuscatoren oder ähnliches helfen nicht.

Naja, das halte ich fuer quatsch.
Denn ersteinmal muss jemand diese Stellen identifizieren, um Sie zu 
patchen.

Nur weil das bisher immer ging (Nachlaessigkeit der Firmen?, Bisheriger 
Technikstand?), heisst das nicht, das es im Generellen geht.

Es gilt: Man kann die Funktion eines Programmes (oder Teile davon) nicht 
aus seinem Quellcode/Maschienencode generell ermitteln.
(D.h. nicht fuer alle Instanzen dieses Problems koennen Loesungen 
gefunden werden.)

http://www.wired.com/2014/02/cryptography-breakthrough/

: Bearbeitet durch User
von Rabe (Gast)


Lesenswert?

Alles was man automatisch verschleiern kann, kann man auch wieder 
entschleiern. Denn das ist genau was die Optimizer von Compilern machen.

von Stephan B. (matrixstorm)


Lesenswert?

Rabe schrieb:
> Alles was man automatisch verschleiern kann, kann man auch wieder
> entschleiern. Denn das ist genau was die Optimizer von Compilern machen.

Nachtrag: Sollte es immer gehen (davon bin ich noch nicht ueberzeugt ob 
Umkehrung berechenbar ist):

Aber der Aufwand dafuer kann/ist verschieden.
Das ist dann wie in der asym. Crytographie.

: Bearbeitet durch User
von Rabe (Gast)


Lesenswert?

>Sollte es immer gehen

Nein. Immer und vollständig geht es natürlich nicht. Genau wie ein 
normaler Compiler einen gegebenen Code auch nicht 100% optimal 
optimieren kann. Aber man kann es hinreichend deobfuskieren, um den Code 
wieder lesbar zu bekommen. Das reicht.

von Georg (Gast)


Lesenswert?

Stephan B. schrieb:
> Man kann die jeweiligen Stellen im Maschienencode des Hostprogramms
> verschleiern

Man muss aber garnicht den ganzen Code untersuchen, sondern speziell was 
kurz vorm Beenden des Programms oder dem Eintritt in eine Endlosschleife 
passiert ist. Also erst mal tracen.

Georg

von Stephan B. (matrixstorm)


Lesenswert?

Rabe schrieb:
> Aber man kann es hinreichend deobfuskieren, um den Code
> wieder lesbar zu bekommen. Das reicht.

Hattest du den Artikel gelesen?

von Rabe (Gast)


Lesenswert?

Stephan B. schrieb:
> Hattest du den Artikel gelesen?

Ja. Es ist ein wissenschaftliches Projekt. Nichts praktisch nutzbares.

von Guest (Gast)


Lesenswert?

Bau doch nen USB Stick mit nem STM32F4 drauf. Da lagerst du alle 
möglichen Funktionen quer beet drauf aus. Diese müssen ja nichtmal 
besonders kompliziert sein, hauptsache hier und da was. Das sollte 
reichen, damit es praktisch unmöglich wird das ganze 
nachzuprogrammieren, man müsste ja ziemlich genau wissen was die 
entsprechenden Funktionen genau machen. Damit jeder Stick einzigartig 
wird schreibst du in den OTP noch einen Lizenzkey, der auch ausgelesen 
werden kann oder per Asym. Crypto validiert, was dir da auch immer mehr 
zusagt.

Du musst nur bedenken, Dongles sind doof (Gehen kaputt, Virtualisierung 
geht nicht gut, etc) und jemand muss das Ding entwickeln. Außerdem ist 
das natürlich auch nicht 100% sicher, ist alles nur obfuscation.

Falls deine Kunden vernünftige Internetanbindung haben könntest du auch 
den Dongle wahlweise durch die mindestens genauso verhasste Cloud 
ersetzen.

(Theoretische) kompette Sicherheit gibt es glaube ich nur, wenn die 
Hardware komplett vertrauenswürdig ist, also eine Chain of Trust 
implementiert. Eventuell hilft an der Stelle auch TPM weiter? Das wurde 
doch für solche Anwendungen entwickelt.

von bluppdidupp (Gast)


Lesenswert?

Webanwendung und als Anbieter selbst hosten ist der einfachste 
Kopierschutz - Dann läuft beim Endkunden kaum Code und man kann auf 
Obfuszieren, etc. verzichten und kann Fehler auch noch leichter 
debuggen.
Allerdings sind Webanwendungen nicht in allen Fällen auch sinnvoll 
umsetzbar ;D

von chris (Gast)


Lesenswert?

dongle suche schrieb:
> Nein, aber wir haben kreative Kunden die Rechner klonen, sich fehlende
> Hardware vom guenstigsten Lieferanten nachkaufen und munter mit Lizenzen
> jonglieren die sie nicht gekauft haben. Dann werden komische
> Supportanfragen gestellt bei denen es leider nicht moeglich ist das
> defekte System einzuschicken damit die Technik den Fehler analysieren
> kann weil die Hardware ja nie bei uns gekauft wurde.

Da hilft nur, eine bessere Kundschaft ;-)

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.