Autor Thema: Eigene Lizenzverwaltung mit hashen und verschlüsseln?  (Gelesen 3449 mal)

Offline OlTu

  • Junior Mitglied
  • **
  • Beiträge: 73
Servus,

hat sich vielleicht jemand von euch mit dem Thema "Lizenzverwaltung" beschäftigt?
Es geht um folgendes: ich habe vor, eine Lizenzkeyabfrage in eine Notes Datenbank einzubauen.
Der Key wird von mir berechnet. Der Empfänger gibt den Key ein und anhand der im Key abgelegten Daten wird z.B. das Ablaufdatum berechnet. Der Key muss natürlich auch verschlüsselt sein, analog Windows Key.
Was mache ich mit Daten im Klartext, z.B. Ablaufdatum=31.12.2010, Benutzeranzahl=100, Land=DE, die variabel sind, um aus diesen Daten einen Key mit der festen Länge zu generieren?
Hashen?



Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Eigene Lizenzverwaltung mit hashen und verschlüsseln?
« Antwort #1 am: 02.11.09 - 22:41:02 »
Ablaufdatum hashen? Wohl eher nicht.

Ich glaube auch nicht, dass hier jemand besonders erpicht ist, seine Verschlüsselungs-/Entschlüsselungsroutinen zu erläutern. Über meine Verfahren, die Hash-Verfahren verwenden und jene, die codiert Daten wie Ablauf oder Nutzerzahl verwalten und die Teile, die nur "Füllcode" sind, würde ich mich jedenfalls nie öffentlich äussern.

Suche nach Grundsatzartikeln (obwohl die es die eigentlich gar nicht brauchen sollte, um schon einen Basisschutz selber bewerkstelligen zu können).

Bernhard

Offline OlTu

  • Junior Mitglied
  • **
  • Beiträge: 73
Re: Eigene Lizenzverwaltung mit hashen und verschlüsseln?
« Antwort #2 am: 03.11.09 - 08:14:45 »
Schade, aber danke, Bernhard.

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Eigene Lizenzverwaltung mit hashen und verschlüsseln?
« Antwort #3 am: 03.11.09 - 08:26:10 »
Oh Bernhard verwendet Security thorugh Obscurity bei Lizenzabfragen. Nein Spass beiseite, aber für eine Verschlüsselungsfunktion sollte man wenn Sie etwas wert ist immer eine Methode wählen, die jederzeit offengelegt werden kann und trotzdem nicht geknackt werden kann. Alles andere ist nicht sicher. Die Frage ist aber natürlich immer auch wie hohe Sicherheit man benötigt. Wenn es nicht so tragsich ist, dann kann man natürlich auch ganz simple Sachen verwenden und die Implementierung geheim halten. Das ist dann aber nicht sicher.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline OlTu

  • Junior Mitglied
  • **
  • Beiträge: 73
Re: Eigene Lizenzverwaltung mit hashen und verschlüsseln?
« Antwort #4 am: 03.11.09 - 08:46:29 »
Das ist klar. Mir geht es primär darum, wie packe ich beliebig viele Informationen in einen Key mit fester Länge. Welche Verfahren wendet man an?
Die DB soll nach der Keyeingabge nicht nur funktionieren oder nicht funktionieren sonder auch funktionieren bis <Datum>, für <Benutzer>, in <DE> usw.

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Eigene Lizenzverwaltung mit hashen und verschlüsseln?
« Antwort #5 am: 03.11.09 - 08:48:45 »
Wow beliebig viele Informationen in einen Key fester Länge. Wenn du da ne lösung gefunden hast, dann sag es mir. Freue mich schon wenn ich meine MP3 Sammlung in einen 50 stelligen Key verwandeln und auch wieder rückwandeln kann. ;-)

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline JulianBuss

  • Aktives Mitglied
  • ***
  • Beiträge: 132
  • Ich liebe dieses Forum!
Re: Eigene Lizenzverwaltung mit hashen und verschlüsseln?
« Antwort #6 am: 03.11.09 - 08:50:14 »
ich denke, man sollte hier Aufwand gegen realistischem Schutzbedürfnis abwägen.

Klar kann man eine RSA Verschlüsselung implementieren oder sonstige anstregende Dinge. Aber da muss man sich doch die Frage stellen, wie wahrscheinlich es ist, dass jemand vorsätzlich und mit krimineller Energie den Lizenzmechanismus aushebeln will?
Zumal im deutschsprachigen, geschäftlichen Umfeld?

Geschäftsführer von deutschen Unternehmen sind *persönlich* haftbar für Lizenzvergehen, es besteht also ein großes Interesse an Ehrlichkeit diesbezüglich.

Und wie wahrscheinlich ist es, dass

a) ein Admin / Entwickler in einem Unternehmen aus eigenem Antrieb einen Lizenzmechanismus aushebelt - und sich damit einen 1a Kündigungsgrund schafft?
b) ein Geschäftsführer einem Admin / Entwickler den expliziten, schriftlichen Auftrag dazu gibt?

Sorry, ich kann mir vorstellen, dass das in Kleinstunternehmen mal gemacht wird.
Aber wenn ein Unternehmen ab 10 Leuten solche Sachen macht, dann kann ich ehrlich gesagt auch auf die als Kunden verzichtet.

Daher mein Rat: verwende eine einfach zu implementierende und nicht völlig offensichtliche Verschlüsselungsmethode; im Web gibts diverse Anleitungen dazu.
Und warum ein Key mit fester Länge? Variable Länge ist einfacher zu implementieren und tuts genauso.

Eine userspezifische Freigabe haben wir so gemacht, dass wir einen generellen Key haben, in dem die Anzahl Lizenzen codiert ist.
Dann gibt es weitere Konfigurationsdokumente, in denen man diese Anzahl Lizenzen auf konkrete User verteilen kann.

Beiim öffnen der DB wird dann der Key auf Validität geprüft und die Anzahl Lizenzen daraus gelesen. Dann wird in den Konfigdokumenten geguckt, wieviele User dort eignetragen sind und ob der akteulle User dort eingetragen ist.


Offline OlTu

  • Junior Mitglied
  • **
  • Beiträge: 73
Re: Eigene Lizenzverwaltung mit hashen und verschlüsseln?
« Antwort #7 am: 03.11.09 - 09:39:50 »
Danke JulianBuss ! Dann werde ich mich nach einem geeigneten Verschlüsselungsverfahren umschauen.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Eigene Lizenzverwaltung mit hashen und verschlüsseln?
« Antwort #8 am: 05.11.09 - 18:35:30 »
Oh Bernhard verwendet Security thorugh Obscurity bei Lizenzabfragen.

Bestimmt nicht, Ralf  ;)

Ein x-stelliger (konstante Länge!) Code, in dem sind Angaben zur
- Notes-Organisation
- Server-Name
- Ablaufdatum
- Benutzerzahl
und zur jeweiligen Applikation abgelegt. Das ganze aufgeteilt in bestimmte Bereiche (wild gemischt natürlich - insofern schon auch eine Prise "security by obscurity"  ;D), dazu Prüfziffern und und "Leercode". Darüber eine Verschlüsselungsmethode nach Wahl - fertig.
Ablaufdatum und Benutzerzahl sind fix / direkt codiert, der Rest per Hash.

Viel interessanter finde ich eigentlich: Wo / wie baut man solch eine Lizenzprüfung ein? Wie sorgt man dafür, dass mit minimalem Aufwand (für den Programmierer) der Anwender bei schlachtentscheidenden Aktionen an der Prüfung nicht vorbeikommen kann, ohne dass die Performance in den Keller gerissen wird? Und wie kann ich ggf. das Design der DB in weiten Teilen offen lassen (zum Frommen des Kunden!), ohne dass der Lizenzschutz wieder ausgehebelt werden kann?

Die Teile oben sind Handwerk. Der letztgenannte Part ist dann doch sicher jeweils das "Betriebsgeheimnis" - und der Fähigkeit des Architekten der Applikation adäquat  ;)

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz