Hi Andreas,
Habe gedacht das der Server nach jeder Anmeldung einen Schlüssel generiert der dann auf dem Client und auf dem Server gespeichert wird. Es ist doch ein Unterschied, wenn der Client sich mit einem bestimmten Schlüssel meldet, als wenn er einfach sagt "ich habe mich schon angemeldet"
Ich weiß ja nicht, wie das professionell geregelt wird, aber ein "hallo server ich bin schon angemeldet" ist doch auch eine kleine Sicherheitslücke
Ja es ist sicherer aber nicht als "Hallo Server ich bin schon angemeldet"
Beispiel:
1.) User meldet sich mit PW und Name an -> Server erstellt Schlüssel -> Schlüssel wird auf Server gespeichert -> Schlüssel wird an den Client übertragen und dort gespeichert -> User nutzt die Anwendung und beendet sie danach
2.) User start die Anwendung neu -> Schlüssel wird geladen und an den Server geschickt -> Server validiert Schlüssel -> Server sagt ok oder nicht ok
So wenn ich jetzt an den Schlüssel komme kann ich mich als dieser Benutzer ausgeben und mich am Server anmelden.
Was nicht mehr geht (im Gegensatz zu "Hallo Server ich bin schon angemeldet") ich kann mich nicht mehr als jeder ausgeben.
EDIT ANFANG:Was du aber machen könntest um auch den Schlüssel klau zu erschweren wäre die Verwendung eines "Salt".
Das würde ungefähr so aussehen:
1.) User meldet sich mit PW und Name an -> Server erstellt Schlüssel -> Schlüssel wird auf Server gespeichert -> Schlüssel wird an den Client übertragen und dort gespeichert -> User nutzt die Anwendung und beendet sie danach
2.) User start die Anwendung neu -> Schlüssel wird geladen und um eine Salt erweitert -> Schlüssel an Server schicken -> Server lädt den Schlüssel aus DB -> auch dieser Schlüssel wird mit dem Salt erweitert -> Server validiert Schlüssel -> Server sagt ok oder nicht ok
Beispiel:
1//diesen hat der Server stellt und er wird im App gespeichert
2String publicKey = "keyAbc";
3//der Salt ist private er wird verwendet um den Key zu verändern
4String salt = "saltAbc";
5
6String ZUM_VERSENDEN = publicKey + salt;
EDIT ENDE
Christian Hempe
Du solltest vielleicht erstmal mit deinem betreuenden Prof. bzw dem Rechenzentrum deiner Hochschule abklären welche Verbindungen die nach draußen zu lassen.(als beispiel: HTTP oder direkter Socket)
Socket oder HTTP ist doch eigentlich egal... Ich kann doch ein Socket auf dem Default-HTTP-Port aufmachen. Ich denke nicht, dass das Rechenzentrum in den TCP-Body reinschaut =) Einen offenen Port brauche ich aber natürlich.
Christian Hempe
Musst du eigentlich auch die "Software" die auf dem Server läuft erstellen also gemeint ist damit das Script/Programm was die Anfrage entgegen nimmt und die Daten dann in eine DB schreibt oder so weiterverarbeitet wie du sie brauchst.
Ja
Klar kannst du alles machen wenn die damit einverstanden sind ist alles cool. Doof wird es nur wenn nicht.
Gerade da du noch die "Software" schreiben musst wär ein abklären schon Sinnvoll. Schließlich kannst du hier ja die verschiedensten Sprachen und Technologien nutzen. Weil gerade was die Wartbarkeit an geht wär es wahrscheinlich nicht schlecht etwas zu nehmen wo sich einer der Leute da dann auch mit auskennt.
Aber das hängt auch wieder ein bissel damit zusammen was dein "App" ist also nur eine "simples" Studentenprojekt das du im Rahmen deines Studiums machst oder zum Beispiel ne Arbeit als Wissenschaftliche Hilfskraft. Vielleicht bist du auch ein Prof und schreibst was für die Hochschule. Und natürlich auch davon ob dein App "nach dir" noch genutzt wird.
Mfg Christian
— geändert am 15.12.2012, 17:02:16
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.