Autor Beitrag
BrixxtoN
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 50

Win 7 64bit
Delphi 2010 Enterprise
BeitragVerfasst: Do 24.05.12 08:13 
Guten Morgen,

bin momentan ein neues Lizenzmodul für unsere Produkte am entwickeln.
Es soll am ende eine Datei für alle Kunden und alle Produkte (und deren Module) geben.

ausblenden volle Höhe XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Lizenzdaten>
  <Kundennr>
    <Software1>
      <Modul1>
        <Datum>01.01.2012</Datum>
        <Update>01.01.2012</Update>
        <Lizenz>
            aSS3x!*
            Q%TaZQR3qE$
            0EfM9R
            KQxpW
            @f>6jYzFj^*85Fn+UI%#nd
            (Pm@I
            L<xv<
            .M.gMkKIDmN
            q[/
            S)(b-4W1Wa
            a9Gn+0TWzl
        </Lizenz>
      </Modul1>
      <Modul2>
        <Datum>01.01.2012</Datum>
        <Update>01.01.2012</Update>
        <Lizenz>
          aSS3x!*
          Q%TaZQR3qE$
          0EfM9R
          KQxpW
          @f>6jYzFj^*85Fn+UI%#nd
          (Pm@I
          L<xv<
          .M.gMkKIDmN
           yN/j[Di
          6V/V`_:Io,
          2SUykD=ZMG
        </Lizenz>
      </Modul2>
    </Software1>
  </Kundennr>
</Lizenzdaten>


Das wäre ungefähr die Datei für einen Kunden ein Produkt und 2 Module (Lizenzdaten momentan als MD5 verschlüsselt, würde ich auch in SHA-512 verschlüsseln).

Habe jetzt einiges gelesen und habe mich für die SHA-512 verschlüsselung entschieden.

Für die Verschlüsselung und Entschlüsselung würde ich die Komponente dcpcrypt benutzen.

Die Fragen:
1. Ist eine XML-Datei das richtige?
2. Ist die SHA-512 verschlüsselung das richtige oder gibt es was besseres?
3. Was ist mit der Komponente dcpcrypt, kann ich die dafür nutzen?
4. Ist das ratsam alle Lizenzdaten in eine Datei zu packen?
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Do 24.05.12 08:31 
Deine Fragen kann man nicht so wirklich beantworten. Dass man solche Freischaltungen immer Cracken kann, sollte klar sein. Das müssen wir nicht nochmal durchkauen.

Mir stellt sich die Frage, wie Du das organisatorisch lösen willst. Wenn ich sehe wie das bei uns läuft: die Kunden wären definitiv damit überfordert, eine Lizenzdatei einzulesen. Ich denke mal, Du würdest dem Kunden die Datei mailen? Dann erklär mal dem Kunden, wie er die Datei aus dem Emailprogramm speichert und in den richtigen Ordner verfrachtet. Natürlich sind nicht alle User so, aber es ist doch ein gewisser Anteil, der damit nicht klar kommt. Kommt natürlich auch drauf an, welches Kundenklientel Du ansprichst.
Bei uns laufen die Freischaltungen telefonisch. Es gibt einen 5-stelligen Code, den der Kunde uns durchgeben muss. Daraus und aus den Modulen, die er benutzen darf, errechnen wir einen (momentan) 15-stelligen Code, den er eingeben muss. Fertig.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
BrixxtoN Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 50

Win 7 64bit
Delphi 2010 Enterprise
BeitragVerfasst: Do 24.05.12 08:48 
Hallo Jens,

das mit der Datei ist eigentlich kein Problem, momentan ist es auch so das die Kunden eine Datei geschickt kriegen.
Es gibt mehrere Wege, die Datei dem Kunden zur Verfügung zu stellen.

Wegen der Organisation ist es gewünscht, das für alle Kunden eine Datei gibt.
Das die Lizenzen gecrackt werden ist mir klar, nur die Frage ist wie gross ist der aufwand und ob sich das lohnt.

Ich wollte eigentlich wissen, ob das der richtige Weg ist denn ich mir überlegt habe.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 24.05.12 09:00 
Das ist so schon ein ganz guter Weg. Allerdings wirfst du hier Begriffe durcheinander. Du verwendest Hash-Algorithmen, damit kann man weder ver- noch entschlüsseln, sondern nur Prüfwerte bilden!

Nun musst du nur noch einen Weg finden wie man nicht so schnell durchschaut wie diese Werte gebildet werden. Dafür kannst du z.B. irgendwelche Daten zusammen mit den relevanten Daten hashen. Da eine Entschlüsselung nicht möglich ist, kann man nur über den Ursprungswert herausfinden wie der Hash zustande kommt. Und das fällt dann schon relativ schwer, wenn man nicht so einfach durchschauen kann worüber der Hash gebildet wird.

Für diesen Beitrag haben gedankt: BrixxtoN
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Do 24.05.12 09:05 
Und wenn ich in der XML-Datei den Abschnitt mit meiner Kundennummer durch einen Abschnitt von einem anderen Kunden ersetze, dann hab ich die Module, die der andere Kunde bezahlt hat?
Und gibt es Rückschlüsse von der Kundennummer auf den Kunden? Meine Kunden würden nicht wollen, dass der Nachbar weiß, welche Module er hat.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
BrixxtoN Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 50

Win 7 64bit
Delphi 2010 Enterprise
BeitragVerfasst: Do 24.05.12 09:31 
Die Lizenz wird durch Kundendaten erstellt.
Firmen- und Kontaktdaten, Kundennummer usw.

Also wird das ersetzen von Abschnitten nicht helfen.
Bei ersetzen von Abschnitten würde die Lizenz überhaupt nicht stimmen.

Es kann auch sein das wird die Datei nicht mit xml endung rausgeben, sondern mit einer endung die nur für unsere Produkte bestimmt ist.
z.B. Lizenz.xyz und durch die endung xyz startet Windows unser Programm.

Moderiert von user profile iconNarses: Beiträge zusammengefasst

Hallo Sebastian,

ich habe mir das so gedacht.

Im Programm (unsere Software) gibt der Kunde seine Daten ein, wie z.B. Kundennummer, Firma, Adresse usw.

Wir haben in unserem Programm zur Lizenz erstellung die gleichen Daten, zusätzlich noch ein Programmnummer (Passwort).
Durch die Kundendaten und Programmnummer erstellen wir eine Lizenz mit SHA-512 verschlüsselt.

Der Kunde importiert die Lizenz, dann wird im Programm durch die Daten die der Kunde eingegeben hat und unserem internem geheimen Passwort (Programmnummer) geprüft ob die Lizenzdaten stimmen.

Ich hoffe ich konnte das irgend wie verständlich erklären.
BrixxtoN Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 50

Win 7 64bit
Delphi 2010 Enterprise
BeitragVerfasst: Do 24.05.12 16:07 
Habe das mit Verschlüsselung und Hash-Algorithmen verstanden und die Lösung gefunden.

Ich danke euch beiden für eure Mühe.