Ankündigung

Einklappen
Keine Ankündigung bisher.

socket_connect und Client/Server-Verschlüsselung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • socket_connect und Client/Server-Verschlüsselung

    Hallo PHP.de community,

    wie ich bereits in einem anderen Thread schrieb, müssen zwei (bzw. mehrere) Server untereinander per Socket Daten austauschen. Dazu verbinden sie sich jeweils per socket_connect(), worauf im Anschluss das Hin- und Hersenden stattfindet.

    Da es durchaus sensible Daten sind, dürfen diese natürlich nicht im Klartext durchs Netz unterwegs sein. Leider habe ich bei stundenlanger Suche hierzu nichts wirklich Hilfreiches im Netz gefunden - einzig nur die Empfehlung, auf fsockopen() auszuweichen, um dort auf die SSL-Implementierung aufzubauen. Dieser Ansatz ist für mich leider nicht machbar, da hier bereits ein HTTP-Daemon auf jedem Server Voraussetzung wäre.

    Meine bisherige Idee besteht darin, GnuPG auf Client- und Serverseite in die Transaktion zu implementieren, um so eine verschlüsselte Übertragung übers Internet zu erreichen. Aber für sonderlich effizient halte ich die Lösung auch nicht - für welches Konzept habt ihr euch in meiner Situation entschieden?

    Viele Grüße,
    dertechniker


  • #2
    Abhängig davon was du auf den Servern machen kannst:

    Eventuell kannst du ja einen ssh-tunnel aufbauen und dadurch deine Verbindung aufbauen.

    Je nach Größe der Daten, ob es Dateien sind oder nicht und wie/wo sie vorliegen, kannst du ja eventuell Archive erstellen und die übertragen. 7zip unterstützt zum Beispiel AES.

    Ansonsten gibt es noch die Möglichkeit mit mcrypt und einem Algorhytmus deiner Wahl zu verschlüsseln.
    robo47.net - Blog, Codeschnipsel und mehr
    | Caching-Klassen und Opcode Caches in php | Robo47 Components - PHP Library extending Zend Framework

    Kommentar


    • #3
      mcrypt hätte ich sonst auch vorgeschlagen. Musst die Schlüssel halt vorher verteilen oder eben doch nach Public Key-Verfahren verschlüsseln. Hatte dazu mal eine Klasse geschrieben:
      Anti_Mcrypt (mcrypt) - PHP Classes
      "Mein Name ist Lohse, ich kaufe hier ein."

      Kommentar


      • #4
        Hallo,

        vielen Dank euch beiden für eure Antworten.

        Zitat von robo47 Beitrag anzeigen
        Eventuell kannst du ja einen ssh-tunnel aufbauen und dadurch deine Verbindung aufbauen.
        Je nach Größe der Daten, ob es Dateien sind oder nicht und wie/wo sie vorliegen, kannst du ja eventuell Archive erstellen und die übertragen. 7zip unterstützt zum Beispiel AES.
        Es sind einfach immer nur unterschiedliche Befehle, die in Abhängigkeit des Vorausgehenden gesendet werden. Dateien kommen nicht vor.

        Werde mir die Möglichkeit des SSH-Tunnels angucken bzw. dann auch deine mcrypt-Klasse, Chriz.

        Viele Grüße,
        dertechniker

        Kommentar


        • #5
          Nimm die Stream-Socket Funktionen. In den Kommentaren zu stream-socket-server findest du eine kleines Script für einen SSL Webserver. Die Stream Funktionen sind umfangreich, selbst ein stream_select/-accept ist vorhanden
          DevBlog|3D Online-Shopping|Xatrium

          Kommentar

          Lädt...
          X