Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

C#: Hybride Verschlüsselung

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

ich habe eine Frage bzgl C# und Verschlüsselung.

Ich habe eine Software, welches mit einer Lizenzdatei gesichert werden soll.

Dazu wird eine Lizenz bei mir angefordert. Ich erstelle diese und verschicke sie. Der Inhalt dieser Datei soll dabei verschlüsselt sein.

Als Verschlüsselung soll die "Hybride Verschlüsselung" genutzt werden.

Und dazu habe ich nun folgende Frage:

Mit welchem Schlüssel (public/private) verschlüssel ich nun?

Ich dachte eigentlich daran, dass ich mit dem "private" verschlüssle und meiner Software der "public"-Schlüssel bekannt ist. Allerdings geht es hierbei ja eigentlich "nur" ums Signieren und nicht ums Verschlüsseln...

Meiner Software dagegen den "private"-Schlüssel mitzugeben finde ich eher bedenklich, da in diesem (C#) auch der "public"-Schlüssel ablesbar ist. - Bekäme man den "private"-Key irgendwie aus der Software extrahiert, hätte man den "public" also gleich mit... => ungünstig

Ich hoffe mir kann da jemand auf die Sprünge helfen.

Was meinst du mit Schlüssel mitgeben?

Signaturen werden mit dem Private Key erstellt, beinhalten diesen aber nicht. Mit dem Public Key kann die Korrektheit überprüft werden.

Verschlüsselung an sich wiederrum findet mit einem Publickey statt die über einen Private Key wieder umgekehrt werden kann. Hier wäre ein individueller PrivK für jeden Kunden zu wählen, der die Lizenzdatei entschlüsseln kann. Und selbst wenn er sie entschlüsselt und mit einem fremden PubK wieder verschlüsselt kann er sie nicht signieren (dass sie von dir kommt), also Prüfung auf Signatur und der Käs' ist gegessen.

Mit "Schlüssel mitgeben" meine ich, dass ein Key bei mir ist und der andere entsprechend bei der Software.

Hier wäre ein individueller PrivK für jeden Kunden zu wählen, der die Lizenzdatei entschlüsseln kann.

Daran hatte ich auch bereits gedacht, allerdings müsste ich dafür jedem Kunden eine eigene DLL oder Exe oder was auch immer zzgl. der Lizenzdatei mitgeben. Das halte ich in der Form ebenfalls für etwas ungünstig...

Naja hier haben DLLs doch ganz klare vorteile, du belässt das gesamte Paket wie es ist und tauscht für jeden Kunden die DLL "Lizenzeug.dll" aus, die Verfahren sind die gleichen, etc.pp - oder aber du baust dir ne "config.cfg" oder sowas in der du u.a. den Key hinterlegst - zwingt dich ja niemand ihn hart zu codieren und lieferst nur die Funktionalität in ner DLL, das wäre relativ schnell zu bewerkstelligen und ohne großen mehraufwand je kunde (key erzeugen, lizenzfile erzeugen, als "Update" zukommen lassen, voila)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.