Aktivierung via Internet

Status
Nicht offen für weitere Antworten.
U

Unregistriert

Gast
ich bin gerade dabei ein kleines Projekt zu realisieren und bräuchte dazu einige Denkanstöße wie
man das ganze am besten und sicherersten realisieren kann.

Die Idee, ich habe eine Java Applikation die sich bei der Installation per Key an einem WebServer anmeldet. Daraufhin überprüft der Webserver ob der Key legitim ist und sendet die passende Antwort via Internet an die Applikation zurück.

Wie könnte man diesen weg am besten, sichersten realisieren ?
Besten Dank für eure Hilfe
Gruß Marco
 
T

tuxedo

Gast
WEBSERVER oder Server im Web?

Bei ersterem ist es wohl nur ein Apache mit MySQL und PHP?!

Bei letzterem ein eigener Root-Server?

Wenn du nur Webserver meinst dann kannst du dir was mit PHP ausdenken oder wasmit SOAP basteln das du mit Java dann benutzen kannst.

- Alex
 

oversoul

Aktives Mitglied
Eine Möglichkeit währe zB, dass der Client erstmal den eigenen Key zum Server sendet und erstmal prüft ob dieser in Ordnung ist.
Dann muss der Server dem Client mitteilen, dass der Key ok war, dieses sollte jedoch nicht, dadurch passieren, in dem der Server zB. antwortet OK oder sonst was, weil das währe leicht fälschbar
Evtl währe ein ein passender generierter gegen Schlüssel gut, dieser darf naturlich nur auf den zum gesendeteten Key passen
 
U

Unregistriert

Gast
ja genau nach so einer lösung bin ich auf der Suche, kann man sowas nur mit einem Rootserver realisieren,
oder gibt es noch andere möglichkeiten?

PHP wäre nicht schlecht, aber ich glaube das geht gar nicht / bzw. ist unsicher.

Gruss
 

oversoul

Aktives Mitglied
Ich denke mal schon, dass sowas in PHP möglich ist, man könnte mittels URLconnection auf die URL zugreifen (POST-Verfahren ???) und bekommt dann als antwort den aktivierungskey.

Da ich hab diese PHP-Geschichten selbst nicht kann, must du vll jemanden mit PHP kentnissen fragen
 
T

tuxedo

Gast
Also ob nun PHP oder ein Java-Servlet auf dem Server läuft ist wurscht. Ein http-Request ist ein http-Request.

Evtl kannst du den Request noch über HTTPS laufen lassen und das dafür benötigte Zertifikat noch in deinen Client reinwurschteln.

Aber sonst seh ich - abgesehen von der Möglichkeit für Cracks das Ding zu dekompilieren und den Mechanismus auszuhebeln - keine weiteren Schwierigkeiten.

- Alex
 
U

Unregistriert

Gast
Hi ja mit dem -dekompilieren ist so ne Sache für sich,
kann derjenige dann aber gerne -versuchen und
das durch routinen verwurschtelte code geschnipsel durchsteigen :)

Aber prinzipiell stimmt das Schon, aber ich schließe meine Haustür lieber
ab anstatt sie offen zu lassen... Alles eine Frage der eingesetzten kriminellen Energie.
 

newcron

Aktives Mitglied
Wenn du soetwas machst, bedenke, dass es in jedem Betriebssystem soetwas wie eine hosts-Datei gibt, in der der Benutzer manuell die IP-Addressen von bestimmten Domains festlegen kann.

Wenn du das ganze wirklich sicher machen willst, würde ich dir zu nem Public/Private Key artigen Verfahren raten:
Der Server und jede Client-Installation haben einen public- und einen private-key. Zur Registrierung sendet deine Anwendung den Registrations-String sowie ein zufallsstring (einfach eine beliebige zufallsgenerierte Zeichenfolge) verschlüsselt mit dem Public-Key des Servers an den Server. Der entschlüsselt ihn (mit seinem private-key) und überprüft, ob die Registrierung zulässig ist (also ob der Registrierungsstring OK ist, ob die Anwendung nicht bereits installiert wurde,...) und sendet "true" bzw. "false" plus den zufallsstring, den er bekommen hat zurück an den Client - verschlüsselt mit dessen public-key.

Der Client entschlüsselt das nun und erfährt so zwei Dinge:
- Ist die Registrierung erfolgreich gewesen? (true/false)
- Ist der Server tatsächlich er selbst? (konnte der richtige zufalls-string zurückgesandt werden)

Die Überlegung, warum letzteres funktioniert ist folgende: Wenn nur der Server seinen Private Key kennt, kann nur er herausbekommen, welcher Zufallsstring an ihn gesandt wurde, und diesen korrekt zurücksenden. Einen Server zu "faken" funktioniert deshalb nicht - der bräuchte schon den Private-Key. Und um den zu bekommen bräuchte man Zugang zu dem tatsächlich echten Server.

Eine Alternative wäre, die Übertragung mittels HTTPS und gültigem Zertifikat zu machen. Auch so ließe sich die Integrität des Servers verifizieren... wäre vielleicht sogar die einfachere Lösung... ;)

Bedenke aber: Nur weil du eine sichere Verifizierung des Keys hast, hast du nichts gewonnen. Wenn du den zustand der Anwendung (Registered/Unregistered) in der Registry oder eine Text-Datei speicherst, dann kann Herr H. Acker deinen Check einfach umgehen, indem er die Registry/Textdatei editiert und schon glaubt deine Anwendung, sie wäre bereits registriert.
 
T

tuxedo

Gast
Naja, HTTPS würde ich auch einsetzen. Und die Registrierung/Verifizierung würde ich nicht dauerhaft gültig machen. KOmmt halt auf die Anwendung an. Wenn's eh eine Anwendung ist die eine Netzverbindung vorraussetzt, dann kann man den Key-Check auch bei jedem Programmstart laufen lassen. Bedenken sollte man allerdings die Serverlast wenn das Programm weite verbreitung findet ...

- Alex
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Socket-Verbindungen übers Internet Netzwerkprogrammierung 4
M Erstelltes Programm über Internet Browser ausführen Netzwerkprogrammierung 26
V Einfachen Javaserver über das Internet erreichbar machen Netzwerkprogrammierung 2
P RMI Client Server Programm über Internet Netzwerkprogrammierung 2
M Kommunikation übers Internet Netzwerkprogrammierung 9
T Suche Internet-Lektüre Netzwerkprogrammierung 0
E Java Server übers Internet erreichen Netzwerkprogrammierung 4
T Socket Methoden über Internet aufrufen Netzwerkprogrammierung 1
S Socket Kommunikation über Internet Netzwerkprogrammierung 1
S Programmieren mit dem Internet Netzwerkprogrammierung 4
J Erster Server-Client läuft auf lokalem Rechner problemlos. Zwei Rechner über das Internet nicht Netzwerkprogrammierung 8
A Computer über Internet verbinden Netzwerkprogrammierung 12
J Komplexes Netzwerk-Spiel im Internet Netzwerkprogrammierung 13
N RMI Einstellungen für "übers Internet" Netzwerkprogrammierung 8
C Verbindung zu einem Hostrechner über das Internet herstellen Netzwerkprogrammierung 15
J Socket Chatserver aus dem Internet nicht erreichbar Netzwerkprogrammierung 19
M Modem, serielle Schnittstelle. Verbindungsaufbau ins Internet. Netzwerkprogrammierung 6
P Socket Verbindung über das Internet Netzwerkprogrammierung 2
F Bilder aus Internet downloaden Netzwerkprogrammierung 12
H Eine Mac-Adresse übers Internet ermitteln Netzwerkprogrammierung 2
E Zwei PCs über das Internet miteinander verbinden? Netzwerkprogrammierung 3
E Socketverbindung über das Internet - Timeout? Netzwerkprogrammierung 28
Y client server socket via internet Netzwerkprogrammierung 8
E Java über Socket ins Internet? Netzwerkprogrammierung 4
eLogic Download aus Internet Netzwerkprogrammierung 18
Y server client socket verbindung übers internet aufbauen Netzwerkprogrammierung 8
J HTTP Java Client / Server Internet - Webshare ?! Netzwerkprogrammierung 9
C Java und das Internet Netzwerkprogrammierung 14
V Verbindung zweier Rechner über das Internet mit Sockets Netzwerkprogrammierung 8
A DataGramsocket Übertragungsproblem im Internet (IPs für Voip) Netzwerkprogrammierung 5
M Socket JFileChooser übers Internet Netzwerkprogrammierung 32
trash HTTP Internet Connection bei Proxy ?! Netzwerkprogrammierung 3
J Socket Erreichbarkeit eines Java Servers (Socket-Lösung) über das Internet Netzwerkprogrammierung 3
E Socket Client-Applikation mit GUI für Internet IO-Platine Netzwerkprogrammierung 2
H Verbindungsproblem über das Internet Netzwerkprogrammierung 9
C Dateigröße einer Datei im Internet ermitteln Netzwerkprogrammierung 2
T Java Socket und ServerSocket über Internet-IP? Netzwerkprogrammierung 9
T Verbindung über das Internet Netzwerkprogrammierung 2
B Bibliothek, um Eckdaten zur Internet-Verbindung rauszufinden Netzwerkprogrammierung 2
F ServerSocket im internet zugänglich machen Netzwerkprogrammierung 15
G testen ob Verbindung ins internet besteht Netzwerkprogrammierung 4
S Chat aufs Internet ausweiten Netzwerkprogrammierung 5
G ProxySettings aus Internet Explorer lesen Netzwerkprogrammierung 8
S Netzwerk übers Internet Netzwerkprogrammierung 30
L Multicast im Internet? Netzwerkprogrammierung 3
conan2 Ordner im Internet Netzwerkprogrammierung 2
Z RMI über Internet Netzwerkprogrammierung 3
G RMI über internet, fettes problem Netzwerkprogrammierung 8
B Internet blocken Netzwerkprogrammierung 14
H Dateigröße übers Internet Netzwerkprogrammierung 3
C Sockets über Internet Netzwerkprogrammierung 10
C Serverzugriff über Internet, Server in anderem Bussystem Netzwerkprogrammierung 9
B crawler und volltext suche im internet Netzwerkprogrammierung 2
Z automatische einwahl ins internet Netzwerkprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben