mikrocontroller.net

Forum: PC-Programmierung EInfacher Kopierschutz / Lizenzierungsmöglichkeit


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe gerade die Aufgabe, eine von mir entwickelte Dll gegen allzu 
einfach Weitergabe zu sichern. Da es sich um ein sehr spezielles 
Einsatzgebiet handelt, geht es nicht um höchste Sicherheit, aber eben 
einen gewissen Schutz, die Software nicht einfach auf einem anderen 
Rechner verwenden zu können.

Meine Vorstellung:
Aus der MAC-Adresse des Rechners generiere ich einen Schlüssel, der als 
einfache Textdatei mit der Dll abgelegt wird, und beim ersten 
Funktionsaufruf den Schlüssel überprüft. Wo mir aber gerade die Ideen 
fehlen, ist wie ich die Korrektheit des Schlüssels in der Software 
überprüfe. Ich kann ja schlecht den "privaten" Schlüssel hart in die 
Software kodieren.

Vielleicht kann mir ja jemand einen Tipp oder weiterführende Infos 
geben, wie das üblicherweise gemacht wird, da ja jede Kaufsoftware 
irgendwie die Korrektheit des Lizenzschlüssels verifizieren muss.

Bevor jetzt die moralischen Einwände kommen, ich würde das gerne 
OpenSource machen, aber das ist nicht meine Entscheidung.

Peter

Autor: Heinz Heizer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schlüssel im Programm, mit dem Schlüssel die MAC-Adresse codieren und 
dann speichern. Überprüfung: Rückcodierung muss möglich sein, d.h. 
MAC-Adresse ist gleich.

Autor: Gill Bates (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich kann ja schlecht den "privaten" Schlüssel hart in die Software kodieren.

Das macht auch niemeand. Das zauberwort heisst 'Hash-Code'

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja gut, aber dann hätte ich ja den Schlüssel, mit dem sich beliebige 
Keys generieren lassen, im Programmcode abgelegt.
Ich überlege mir gerade, ob der Ansatz der digitalen Signatur nicht 
besser wäre: Ich "signiere" die MAC-Adresse mit einem geheimen 
Schlüssel, der nicht mitgeliefert wird. Auf der Anwenderseite wird nun 
wiederum die "Signatur" mit einem öffentlichen Schlüssel decodiert, und 
mit der MAC-Adresse verglichen. Oder habe ich da einen Denkfehler drin?

Peter

Autor: MACless (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer aus "Sicherheitsgründen" keine LAN-Karte hat?
Jede HD hat auch eine Nummer. Dir > meineHD.txt

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keine Sorge, die Software wird mit Rechner verkauft, und der hat sogar 
mehrere ;-)

Peter

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also könnte ich im Prinzip so verfahren, wie hier dargestellt (Data 
entspricht der MAC-Adresse, Signature dem Lizenzkey):?

http://upload.wikimedia.org/wikipedia/commons/thum...

Peter

Autor: raketenfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da es eine dll ist gehe ich mal von Windows aus?!

Und Windows hat afaik eine eigene eindeutige ID oder??

Ansonsten ein Internetserver?(Auch unschön)

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
raketenfred schrieb:
> Und Windows hat afaik eine eigene eindeutige ID oder??

warum denn nicht? klar gibt es eine windows ID. Sie aber gleich wenn ihr 
eure Rechner ungünstig geklont habt.

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst Du alles machen, bedenke aber, daß im Störfall auch ein Techniker 
einen Schlüssel braucht.

Lass Dir irgendwelche dauerhaften Systemdaten faxen und gib denen eine 
Antwort zum Eintippen.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also eine Onlinelösung scheidet aus, da das ganze recht zuverlässig 
funktionieren muss. Ja, es geht um Windows (XP + XPe), aber die 
MAC-Adresse wäre meine bevorzugte Identifikationsnummer, da ich mich 
nicht auf irgendwelche Windows-IDs verlassen möchte.

Peter

Autor: MAC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dir ist schon klar, dass man eine MAC Adresse innert Sekunden ändern 
kann?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> da ich mich
> nicht auf irgendwelche Windows-IDs verlassen möchte.

mac adresse kann man auch ändern und zwar sehr einfach in der 
Systemsteuerung. Auserdem macht es jeder über die MAC-Adresse. Aber ich 
würde mir mehr sorgen darüber machen wie du den schutz selber schützen 
willst. Nichts ist einfacher als eine IF bedingung in der dll zu ändern.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, lässt sich alles ziemlich einfach aushebeln. Erst recht, wenn die 
DLL eine .NET managed DLL ist.
Relativ sicher und einfach ist immer noch ein USB Dongle, in dem ein 
wichter Teil des Programmcodes gespeichert ist und verschlüsselt 
übertragen wird.
Noch besser ist, wenn die Software eh nur mit einer ausgelieferten 
Hardware zusammen speilt, dann ist ja die Hardware der Dongle.

Autor: Christian D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey.
Das man eine MAC-Adresse sehr leicht faken kann ist bekannt.
Und wie der Poster über mir schon sagte, ist der Schutz des Schutzes 
eher interessant. Ich würde danach gehen:

"Eine relativ einfache und nicht keygen'bare Methode ist es, einfach den 
Benutzernamen, die E-Mailadresse, das Datum, sowie die Laufzeit und 
eventuell die Art der Lizenz (falls du mehrere Lizenzarten haben 
moechtest) alle zu einem Daten-Haufen zusammenzuschmeissen (z.B. einfach 
durch aneinanderhaengen der Werte mit Trennzeichen) und das Ergebnis dir 
beim Registrierungsvorgang zukommen zu lassen. Du pruefst die Daten dann 
kurz, haengst dann an der Registrierungs-Stelle an die Zeichenkette 
einen Hash des Ganzen an und verschluesselst es mit 'nem 
Public-Key-Algorithmus und deinem privaten Schluessel oder erzeugst 
Alternativ einfach eine digitale Signatur. Das Ergbenis schickst du in 
Form eines Key-Files wieder zurueck und von da an wird einfach bei jedem 
Programmstart das Key-File mit dem oeffentlichen Schluessel 
entschluesselt und die Lizenzgueltigkeit, sowie der Hash oder einfach 
die digitale Signatur geprueft."

http://www.buha.info/board/showpost.php?p=393269&p...

So in etwa kannst du das auch mit deiner MAC machen.
Allgemein kann dir in dem Forum wahrscheinlich besser geholfen werden :)

Grüße,
Chris

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich kann man die Ändern, und natürlich kann man genau diese 
Abfrage durch Modifikation der Binary leicht umgehen. Das ist aber 
prinzipiell vertretbar, da im ersten Fall ja auch erst mal eine passende 
MAC zum Schlüssel bekannt sein muss, aber die mehrfache Verwendung einer 
MAC im Netzwerk eines Kunden nicht sehr sinnvoll wäre. Gegen Fall zwei 
hilft wohl nur eine Online-Abfrage (was aber hier absolut inakzeptabel 
wäre), zumindest aber muss der "Cracker" dann die modifizierte Dll 
selber weiterverbreiten.

Es geht mir nur darum, in der Dll selber keinen Schlüssel zu 
hinterlegen, mit dem man beliebig neue Keys generieren kann

Peter

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> Ja gut, aber dann hätte ich ja den Schlüssel, mit dem sich beliebige
> Keys generieren lassen, im Programmcode abgelegt.


Es gibt 2 Möglichkeiten
* Entweder es interessiert sich kein 'Software-Experte' für deine
  Software, dann reicht im Grunde jeder x-beliebige Ansatz. Denn
  Lieschen Müller ist nicht in der Lage, den Schlüssel zu finden
  und damit etwas anzufangen

* oder aber deine Software ist interessant genug, dass sich die
  Hacker darauf stürzen. Dann ist es nur eine Frage der Zeit, bis auch
  die komplizierteste Lizensierung geknackt wird.


Du bist im Moment drauf und dran, deinen Grundsatz aus dem 
Eröffnungsposting über den Haufen zu schmeissen, der da lautete: Es soll 
nicht allzu kompliziert sein.

Fast alle Firmen, die sich selbst derartige Lizensierungsverfahren 
überlegen, landen irgendwann bei diesem Punkt:
Sie haben etwas völlig überzogenes gebaut, dass in der Praxis auch 
nichts hilft, wenn sich die richtigen Leute da drann setzen. 
Insbesondere Chefs laufen da zu Hochform auf und ersinnen immer noch 
komplizierte Verfahren, die in der Praxis nur eines bedeuten: Die 
Wartung wird immer komplexer (auch für die Helpdesk Mitarbeiter), der 
Aufwand wird immer größer (Kunde ruft an: Ich hab meine Netzwerkkarte 
gewechselt und jetzt geht nichts mehr).

Bereits das Eintragen eines Keys in die Registry an einer Stelle, die 
nicht offensichtlich ist und Abfragen dieses Keys, sperrt schon mal 95% 
aller potentiellen Raubkopierer aus, weil sie gar nicht in der Lage 
sind, diesen Eintrag zu finden. Die haben schon genug damit zu tun, sich 
zu merken, wann man Excel nimmt und wann Word.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, nach dem was ich jetzt auch im verlinkten Beitrag gelesen habe, 
wäre das Verfahren mit der Signatur tatsächlich gar nicht so schlecht, 
und würde lediglich die Einbindung des RSA-Algorithmus erfordern. Ich 
werd mich da jetzt mal einlesen, aber ich denke mal das wäre eine 
vertretbare Sicherheitsstufe, die den Nutzer dann auch möglichst wenig 
belästigt.

Peter

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann denke aber bitte daran, daß es auch noch in x Jahren nach weiteren 
200 XP-Sicherheits-Patchen noch funktionieren sollte.

Nimm lieber was Simples und rechne Pi dazu. Damit kannst Du problemlos 
telefonisch Support leisten.

Autor: Plan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man könnte auch die Seriennummer der Festplatte und die MAC ID merken.
Wenn man die Netzwerkkarte tauscht, dann ist es egal, denn die Disk hat 
noch die gültige Nummer. Wenn die Disk getauscht wird, ist es auch 
egalt, denn die Netzwerkkarte ist ja noch gültig.
Und so könnte man die DLL auch bei einem Tausch von Komponenten am Leben 
halten.

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man könnte auch den ganzen Blödsinn lassen und einen ordentlichen 
Lizenzvertrag aufsetzen. Also nicht 100 Seiten EULA, die niemand 
wirklich liest oder sogar versteht, sondern eine kurze und knackige 
Übereinkunft.

Alles Andere ist Unfug, Karl-heinz hat da vollkommen Recht. Wer deine 
Technologie haben möchte, kriegt sie auch. Und jeder 
Schlüssel/Seriennummer/blabla ist wieder ein unnötiger Stolperstein, 
wenn z.B. irgendwann mal eine Festplatte ausfällt und schnell 
ausgetauscht werden muss.

Wenn deine Technologie tatsächlich so ein Spezialprodukt ist, würde ich 
glatt unterstellen, dass das man die Lizenzfrage mit dem Klientel auf 
Vertrauensbasis regeln kann. Ist ja dann wohl kein Massenprodukt, das 
jedes dumme Skript-Kiddie haben will.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst es auch so machen, das du jedem Kunden eine eigene Nummer 
zuordnest.
Bevor die DLL verwendet werden kann muss man im Programm eben 
MeineTolleDLL.aktivate(MEIN-KUNDEN_CODE) aufrufen.

Alle Kundencodes müssen dann natürlich einer gemeinsamen Funktion 
genügen ob der Code gültig ist.

Ist zwar simpel, aber das wolltest du ja, und mit einem vernünftigen 
Vertrag haben dann deine Kunden vielleicht gar kein Interesse das 
weiterzugeben, da Sie über "Ihren" Code wenn es auffliegt mit drann sind 
und x € Vertragsstrafe zahlen müssen ;)

Autor: Zwie Blum (zwieblum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm' mal SoftICE http://en.wikipedia.org/wiki/SoftICE - für XP 
funktioniert das ganz gut - damit hebelt jeder halbwegs interessierte 
User deinen "Kopierschutz" aus.

Wier Sven schon sagte, mach' einen guten Lizenzvertrag und lass den 
Blödsinn.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Läubi .. schrieb:
> Du kannst es auch so machen, das du jedem Kunden eine eigene Nummer
> zuordnest.

Die Firma, deren Software ich zur Wartung übernommen habe, hatte auch so 
einen "ausgeklügelten" Kopierschutz. Gegen Weihnachten wurde dann der 
interne Druck immer größer, den auszutauschen. Die Ideen wurden immer 
krauser: Demoperiode mit einstellbarem Zeitraum (freigeschaltet mit 
einem speziellen Code, im Code ist die Zeitdauer enthalten), einzelne 
Funktionalitäten mit Code freigeschaltet. Gekoppelt an MAC Adresse, 
Festplatte, Dongle und was weiß ich noch nicht alles.

Letztendes hat man sich durchgerungen zu:
Zum Exe gehört eine Lizenzdatei, in der (verschlüsselt) der Name des 
zahlenden Kunden vorkommt und ein paar sonstige Daten. Beim Hochfahren 
wird gecheckt, ob die Datei da ist und ob sie gültig ist.

Findet ein Service-Mitarbeiter bei einem 'Kunden' eine Lizenzdatei, die 
er sich von woanders herkopiert hat, dann ist derjenige drann, der sie 
weitergegeben hat.

Punkt.

Verwendet ein Kunde die Lizenz firmenintern ein paar mal, so kriegt man 
das im Laufe der Zeit mit und ansonsten hat er Glück gehabt. Du kannst 
sowieso nicht kontrollieren, ob er jetzt wirklich eine neue Lizenz 
braucht, weil er sich einen neuen Rechner gekauft hat, oder ob er die 
Lizenz mehrfach verwenden will. Der Unterschied liegt aber im Aufwand, 
den du bei Herausgabe der Lizenz treiben musst und nicht zuletzt im 
Ausbügeln von Problemen, die beim Kunden auftreten, weil seine Anlage, 
die eigentlich rund um die Uhr laufen sollte, 2 Tage steht, weil die 
Lizensierung verweigert. Denn eines ist auch klar: Wenn du dann zum 
Kunden fährst, sind alle anderen Kopien plötzlich verschwunden und nein, 
das Programm war schon immer auf diesem Rechner.

Reaktion: Aufatmen der Service-Mitarbeiter.

Mitlerweile sind auch viele Firmen wieder soweit, Lizenzen offiziell zu 
kaufen. Die haben schon geschnallt, dass ein guter Support wichtig ist 
und sie haben die Nase voll von der 'kostengünstigen' Software, die der 
16-jährige Sohn des Chefs 'organisiert hat' und mit der es nur Probleme 
gibt, weil der Sohn wieder mal in der Schule ist und man sonst keinen 
hat, den man anrufen kann. Zwei Tage Stillstand wegen Softwareproblemen 
ist oft teurer als eine gekaufte Lizenz.

Und der Hobby Bastler, der dein Programm bei sich zu Hause im stillen 
Kämmerlein benutzt: Es sei ihm gegönnt, dass er mit dem Program 
kostenfrei arebeiten kann. Besser ein User mehr, der vielleicht eine 
Firma dazu bringt das Programm zu kaufen weil es gut ist und er als 
dortiger Mitarbeiter damit umgehen kann, als ein User weniger, der das 
Programm sowieso nicht gekauft hätte wenn er zahlen muss.

Autor: Yalu X. (yalu) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> Zum Exe gehört eine Lizenzdatei, in der (verschlüsselt) der Name des
> zahlenden Kunden vorkommt und ein paar sonstige Daten. Beim Hochfahren
> wird gecheckt, ob die Datei da ist und ob sie gültig ist.

Volle Zustimmung!

So ähnlich habe ich das früher bei einer zu schützenden Software auch
einmal gemacht, nur mit dem Unterschied, dass Firmenname und -adresse
direkt in das Executable eingebaut waren (natürlich mit Hashcode gesi-
chert). Die Adresse wurde jedesmal beim Programmstart angezeigt, um den
Benutzer daran zu "erinnern", dass es sich um eine firmenspezifische,
nicht übertragbare Lizenz handelt.

Insbesondere bei Software, die hauptsächlich von Firmen/Institutionen
eingesetzt wird, erfüllt diese Methode ihren Zweck sehr gut, und der
Anwender braucht sich nicht mit extrem lästigen Dongeln, Lizenzservern
u.ä. herumzuschlagen.

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simmt! Kundenname auf Anmeldebildschirm ist eine gute Sache.
Macht wenig Arbeit und funktioniert auch noch falls der Entwickler schon 
auf dem Friedhof ist.

Autor: Plan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Target macht das auch so. Ich bin sicher schon über 10 Jahre Kunde. 
Immer wenn ich Target öffne kommt meine Kundennummer und Name.
Ich hatte im Laufe dieser Zeit sicher schon 10 Rechner (immer wieder was 
neues) und das Programm tut nach wie vor seinen Dienst.
Weiter geben tu ich natürlich meine EXE nicht. Denn dann wüsste IB 
Friedrich irgend wann wer das Programm weiter gegeben hat.

Autor: Christian D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Witz an der Sache ist, dass egal welchen Schutz man einbaut, so 
komplex er auch ist: Der Schutz des Schutzes ist interessant. Ich denke 
da an das "Ganz oder garnicht"-Prinzip.

Das mit der Lizenzdatei schön und gut, aber wenn man sich ein bisschen 
mit Asm und Debuging auskennt, kommt man schnell an den Algoritmus, um 
sich dann die Lizenzdatei selber zu erstellen. Aber das kommt auch 
Hauptsächlich auf den Anwendungsbereich und die Menge der Verkauften 
Software an... auf gut Deutsch: Ob überhaupt genug Interesse besteht, 
sie zu knacken.

Sonst, wie schon oben geschrieben, einen Vernünftigen Vertrag aufsetzen.


Grüße,
Christian

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hui, da sind ja noch einige Antworten gekommen, vielen Dank für eure 
Meinung!

Also dass kein Schutz absolut ist, und es hohe Priorität hat, die Kunden 
nicht unnötig zu belästigen ist mir klar. Nur was die Grundsatzfrage, ob 
Kopierschutz oder nicht, angeht, das ist nicht meine Entscheidung. Mir 
ist es nur wichtig, dass wenn ich solch einen Lizenznummercheck einbaue, 
dass es zumindest soweit sauber implementiert ist, dass BAU (Böseste 
anzunehmende User) das Ding zwar vielleicht benutzen kann, aber nicht 
sofort mit dem Schlüssel zur Lizenznummergenerierung dasteht.
Und das sollte vermutlich mit einem Public-Key-RSA mit überschaubarem 
Aufwand funktionieren. Und ich lerne auch noch was dabei ;-)

Peter

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven P. schrieb:
> Man könnte auch den ganzen Blödsinn lassen und einen ordentlichen
> Lizenzvertrag aufsetzen.

Die einig wirklich vernünftige Lösung. Full ACK!

Karl heinz Buchegger schrieb:
> Findet ein Service-Mitarbeiter bei einem 'Kunden' eine Lizenzdatei, die
> er sich von woanders herkopiert hat, dann ist derjenige drann, der sie
> weitergegeben hat.

Und wie beweist du, das die Lizenzdatei weitergegeben wurde? Sie kann ja 
auch ohne Wissen des Lizenzinhabers kopiert worden sein. Das ist der 
selbe Blödsinn, den z.Zt. die Musikdownloadverlage machen: Wasserzeichen 
in der Datei und dann den Käufer belangen wenn sie irgendwo auftaucht. 
Keiner kommt natürlich auf die Idee das es tausend Möglichkeiten gibt 
sich die Files zu kopieren ohne das der Käufer was damit zu tun hat. 
Aber der ist eh immer der Dumme bei Kopierschutzmaßmahmen...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael schrieb:

>> Findet ein Service-Mitarbeiter bei einem 'Kunden' eine Lizenzdatei, die
>> er sich von woanders herkopiert hat, dann ist derjenige drann, der sie
>> weitergegeben hat.
>
> Und wie beweist du, das die Lizenzdatei weitergegeben wurde?

Das ist dann vertraglich seine Sache, mir zu beweisen dass er sie nicht 
weitergegeben hat.
Wobei man aber auch die Kirche im Dorf lassen muss. In einem Einzelfall 
wird noch nichts passieren. Wenn uns aber 5 Kunden erzählen, sie hätten 
ihre Lizenz von Herrn X erhalten, dann hat Herr X ein Problem.


> Sie kann ja
> auch ohne Wissen des Lizenzinhabers kopiert worden sein.

Es ist sein Bier sich dahingehend zu schützen und seinen Mitarbeitern 
einzuschärfen, dass genau das nicht passieren darf.

> Keiner kommt natürlich auf die Idee das es tausend Möglichkeiten gibt
> sich die Files zu kopieren ohne das der Käufer was damit zu tun hat.

Wenn bei dir Ware auftaucht, von der du nicht belegen kannst wo sie 
herkommt und es gleichzeitig eine Einbruchsmeldung mit genau dieser 
gestohlenen Ware gibt, wird jedes Gericht dieser Welt von dir wissen 
wollen wo du die Ware herhast und dich im Zweifel für den Einbrecher 
halten. Noch schlimmer ist es dann, wenn am Tatort Fingerabdrücke von 
dir auftauchen, obwohl man auch die fälschen kann.

Das Leben ist nun mal nicht immer fair.

ABer Hand aufs Herz.
99% aller im Internet auftauchenden Schlüssel tauchen nicht deswegen 
auf, weil ein Einbrecher in einer Nacht und Nebel Aktion den Key 
gestohlen und veröffentlicht hat, sondern weil ihn der Lizenznehmer 
weitergegeben hat.

Autor: P. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:

> Und das sollte vermutlich mit einem Public-Key-RSA mit überschaubarem
> Aufwand funktionieren. Und ich lerne auch noch was dabei ;-)

Mit OpenSSL geht das ganz einfach, auch auf Windows. Bastel dir einen 
Text aus der Mac und den Kundendaten, berechne einen Hash mit deinem 
privaten Schluessel und alles zusammen kann im Klartext in's Lizenzfile. 
Damit hast du 99% der Probleme erschlagen, mit minimalem Aufwand.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> Das ist dann vertraglich seine Sache, mir zu beweisen dass er sie nicht
> weitergegeben hat.

Normalerweise gilt man solange als unschuldig, bis die Schuld 
zweifelsfrei bewiesen ist. Nur im Softwarebereich scheint es niemanden 
zu stören das sich hier klammheimlich (und wahrscheinlich auf Druck der 
Softwarelobby) eine Beweislastumkehr eingeschlichen hat. Schuldig bis 
zum Beweis der Unschuld. Nur ist dieser Beweis nicht zu führen, denn 
jeden unbefugten Zugriff 100%ig zu verhindern ist unmöglich. Ich weiß 
wovon ich da rede denn meine Firma hatte schon genau diese Probleme mit 
einem Softwarehersteller. Ich weiß, das ich damals die Lizenzen nicht 
kopiert und weitergegeben habe. Trotzdem geriet ich unter 
Generalverdacht, weil es ja hieß:"Herr x, die Lizenz stammt von ihrem PC 
und nur sie dürfen den benutzen". Tja, ein gebranntes Kind scheut das 
Feuer. Deshalb kaufe ich privat keinerlei DRM-verseuchte Software mehr 
und kaufe auch keine MP3s mit Wasserzeichen mehr. Einmal den ganzen 
Ärger durchzumachen, der mich damals fast den Job gekostet hätte, hat 
mir gereicht.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael schrieb:

> Normalerweise gilt man solange als unschuldig, bis die Schuld
> zweifelsfrei bewiesen ist. Nur im Softwarebereich scheint es niemanden
> zu stören das sich hier klammheimlich (und wahrscheinlich auf Druck der
> Softwarelobby) eine Beweislastumkehr eingeschlichen hat.

Ganz so ist es auch wieder nicht.
Wenn dein Auto in einer Radarfalle ertappt wird, gilt der Fahrzeughalter 
als der Täter (zumindest in A, in D ist das anders). In A hast du dann 
(m.W.) noch die Möglichkeit den tatsächlichen Lenker im Zuge eines 
Einspruchs zu benennen.
Wenn am Tatort eine Kugel gefunden wird, deren Rillenmuster zu deiner 
Pistole passt, bist du erstmal der Täter.

Das ganze nennt sich: Wenn die Indizien dafür sprechen, dass du der 
Täter bist, dann liegt es an dir zu zeigen, dass du es nicht warst.

Autor: Christian D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> Ganz so ist es auch wieder nicht.
> Wenn dein Auto in einer Radarfalle ertappt wird, gilt der Fahrzeughalter
> als der Täter (zumindest in A, in D ist das anders). In A hast du dann
> (m.W.) noch die Möglichkeit den tatsächlichen Lenker im Zuge eines
> Einspruchs zu benennen.

Doch ist es.
Dieses Recht gibt es AFAIK in Deutschland auch. Sollte der Fahrer dann 
nicht ermittelt werden, muss der Fahrzeughalter Fahrtenbuch führen, die 
Strafe aber nicht tragen.

> Wenn am Tatort eine Kugel gefunden wird, deren Rillenmuster zu deiner
> Pistole passt, bist du erstmal der Täter.

Nein, du bist so lange unschuldig, bis dir bewiesen wurde, dass du sie 
auch benutzt hast. Das ganze ist nur ein Indiz, der den Verdacht auf 
dich lenkt.
Wenn aber die weitere Untersuchung nichts ergibt, dann wird der Richter 
dicht nicht aufgrund dieses Indizienbeweises verurteilen.

Die Unschuldsvermutung, "In dubio pro reo" - Im Zweifel für den 
Angeklagten, ist das rechtsstaatliche Prinzip hier in D.

Grüße,
Christian

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
<off>
Wollte man das bei der GEZ nicht mal umgedreht haben?
</off>

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
cpu´s haben (zumindest alles neuere) doch auch ne eindeutige nummer .... 
stichwort wäre wohl la grande oder so ähnlich

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch CPUs fallen manchmal aus.
Software an unbekannte Hardware zu binden ist so ziemlich der 
bescheuertste und abartigste Auswuchs von DRM und dem ganzen Lizenzmüll, 
der in den letzten Jahren breitgetreten wird.

Mann, Rechner sind heute Schall und Rauch, die verändern sich und werden 
ausgetauscht! Wegen solchen Aktionen kann man sich nich jedes mal von 
irgendeinem Kundenservice und seinen Öffnungszeiten abhängig machen.

Vielleicht sollte man auch partout auf eine Netzwerkverbindung zu 
irgendeinem Server bestehen. Dann geht beim Ausfall der Telefonleitung 
wenigstens überhaupt nix mehr und wenn der Hersteller in fünf Jahren 
pleite ist, ist die Software ganz für den Mülleimer, weil die Server 
verschwunden sind. Ach nee, das is ja auch nich neu, hat man ja bei der 
XBox und bei Ubisoft schon.


Früher(tm) gabs zur Software ein gedrucktes Handbuch. Beim ersten Start 
der Software im Monat wurde dann meinethalben das zehnte Wort in der 
fünften Zeile auf Seite 123 abgefragt und damit hatte sichs.
Wer tatsächlich scharf auf die Technologie war, hat sie geklaut und den 
Mechanismus geknackt, genauso, wie das heute auch gemacht wird, egal, 
wie genial oder beknackt der Mechanismus war. Für die anderen Leute wars 
wurscht, da das Handbuch zum Arbeitsmaterial gehörte und sowieso auf dem 
Tisch lag.

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Haku, Zustimmung! Da sind wir wieder bei dem wunden Punkt, wo der 
Entwickler schon verschwunden ist aber die Software nachweislich bezahlt 
wurde ....

Autor: Mehmet Kendi (mkmk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend

Meiner Meinung nach kommt es auf das Program an.

Ich habe Programme im Umlauf, die - ohne die Hardware - zu benutzen zwar 
möglich, aber sehr mühselig waere. Wer das auf sich nimmt, okay, der hat 
meinen Segen. Diese Programme haben keinen Kopierschutz.

Dann habe ich Programme, die so komplex sind, dass die Komplexitaet 
selbst ein Kopierschutz ist. Wer es schafft, diese Programme zu kopieren 
und zu installieren und zu supporten ... auch der hat meinen Segen.

Aber dann habe ich Programme, die keine Hardware haben, ziemlich simple 
daherkommen und dazu dienen, einer ganzen Berufsgruppe das Leben zu 
erleichtern.
Und ohne Kopierschutz würde hier in der Türkei die Mehrzahl der Benutzer 
ganz bestimmt nicht bezahlen.
Deshalb bin ich vor ca. 10 Jahren dazu übergegangen alle solchen 
Programme zu schützen: aus der MAC Nummer und der SerieNummer der 
Harddisk wird ein Hash berechnet und dieser wird online kontrolliert. 
Falls keine online Verbindung vorhanden ist, kann das Programm trozdem 
ca. 5 mal gestartet werden.

Hat den Vorteil, dass bei einer Neuinstallation des Betriebsystems die 
Software wie gewohnt laeuft.
Hat den Vorteil, dass bei einem Wechsel des Rechners der alte 
Lizenseintrag gelöscht werden kann.
Hat den Vorteil, das bei Nichterstattung des jaerlichen Betrags der 
Download einer neueren Version gesperrt werden kann.
Und und und.

Und es gab bis heute keinen Kunden, der dies beanstandet hat.

Autor: AM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Usb-Dongle mit Kundendaten & Seriennummer drauf und gut ist...
Den Dongle kanst Du beim Kunden mit verrechnen, so teuer sind die Dinger 
auch nicht...

so würds ich machen...

- Kunde will Programm
- Kunde registriert sich online und macht gleich den Download (Programm 
lässt nur eine bestimmte Zahl Starts zu etc. (ohne Dongle ist es halt 
nur ne Demo)
- Nach dem Geldeingang wird der Dongle verschickt (mit den Kundendaten 
drauf.)

Vorteil:
 - man kann gleich mit dem Programm arbeiten, braucht aber nach gewisser 
Zeit den Dongle sonst geht nix mehr...
 - man kan die Hardware wechseln wie man will (nix nerft mehr als wenn 
der Rechner seinen Dienst versagt und man kann dann nicht auf einen 
anderen Rechner ausweichen weil die Software "rechnergebunden" ist)
 - man kann die Software auf mehreren Rechnern installieren (muss halt 
immer den Dongle zum Arbeiten haben (evtl billigere Mehrfachlizenz mit 
mehreren Dongles))

usw.

Autor: Blubber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur Frage, ob zu einer Verurteilung ein zweifelsfreier Schuldbeweis 
nötig ist, empfehle ich die Lektüre von:

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

Autor: Zwie Blum (zwieblum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aehm, Staatsanwalt bei Lizenzfragen ???

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>immer den Dongle zum Arbeiten haben ...
Kaputte USB-Sticks hatte ich schon genug.

Irgendeine Firma hat bestimmt auch eine Löseung, daß ein sauteures 
Programm auch ohne Dongle funktioniert?

Daher finde ich ich eine schöne Begrüßung auf dem Anmeldebildschirm mit 
Kundenname, Version und einer Herstellerhotline immer wieder nützlich.

Wo der Kundenname verschlüsselt oder versteckt bleibt der Pfiffigkeit 
des programmierers überlassen. Wenn die Version 1233.8888.17 nur an 
Firma xyz geliefert wurde wäre es komisch wenn Firma NNN diese Version 
benutzt.

Autor: Blubber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zwie Blum schrieb:
> Aehm, Staatsanwalt bei Lizenzfragen ???

Nein, natürlich nicht.

Ich bezog mich auf die Vergleiche mit Tatorten und Tatwaffen von weiter 
oben, wo angenommen wurde, es gäbe keine Verurteilung aufgrund von 
Indizien.

Autor: Zwie Blum (zwieblum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, Vergleiche :-) Zum Glück gibt's einen erheblichen Unterschied 
zwischen Zivilrecht und Straftecht:

Zitat 
http://www.gutefrage.net/frage/was-ist-der-untersc...

"Strafrecht, im Namen des Volkes, der Staatsanwalt klagt an. 
(öffentliches Interesse)
Zivilrecht, eine Privatperson klagt (z.B. Nachbarschaftsstreiterein 
etc.)"

Würd' mal naiver Weise annehmen: Wenns nicht den Bundestrojaner 
betrifft, ist's Zivilrecht :-)

Autor: Blubber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Indizien gelten nicht nur im Strafrecht.

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

Autor: Zwie Blum (zwieblum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah ja. Wobei man dann wieder bei einem Sachverständigenprozess landet 
... Gibt's eigendlich eine Versicherung, die solche Sachen abdeckt?

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß natürlich nicht, welche Programme du vertreibst, aber:

Mehmet Kendi schrieb:
> Deshalb bin ich vor ca. 10 Jahren dazu übergegangen alle solchen
> Programme zu schützen: aus der MAC Nummer und der SerieNummer der
> Harddisk wird ein Hash berechnet und dieser wird online kontrolliert.
> Falls keine online Verbindung vorhanden ist, kann das Programm trozdem
> ca. 5 mal gestartet werden.
Denk mal darüber nach, dass nicht jeder einen Internetanschluss hat.
Mein Laptop kommt nur am Wochenende ins Internet, unter der Woche ist 
der mit mir unterwegs.

Genauso beknackt wie Ubisoft. Aber wie gesagt, ich kenne deine Programme 
nicht. Für ein so praktisches, kleines, handliches Werkzeug, wie du dein 
Programm da beschreibst, wäre Internetpflicht (zumindest für mich) ein 
KO-Kriterium.
Mag sein, dass das die Generation Handy anders sieht. Da wirken solche 
Verschleierungsversuche halt noch ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.