Encom - Verschlüsselte Requests zu PHP - Skripts

    • Beta
    • Open Source

    Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von g4m3r.

      Encom - Verschlüsselte Requests zu PHP - Skripts

      Für mein aktuelles Projekt habe ich eine möglichst sichere Verbindung zu einem PHP - Skript benötigt, ohne dabei bspw. SSL zu verwenden. Da ich mich damit sowieso mal auseinandersetzen wollte, habe ich mich entschlossen etwas eigenes dafür zu schreiben. Da ich allerdings eine Ewigkeit gebraucht habe, bis ich die Verschlüsselung zwischen C# und php am Laufen hatte und da wahrscheinlich die Wenigsten Zugang zu einem SSL-Zertifikat oder Server mit installiertem SSL haben, dachte ich mir, dass das eventuell der ein oder andere gebrauchen könnte.

      Beschreibung
      Mit der Library ist es möglich, verschlüsselte HTTPRequests zu einem PHP - Skript auszuführen. Verwendet wird dabei eine hybride Verschlüsselung: Zuerst wird über RSA (2048 Bit Key) verschlüsselt ein AES-Key (256 Bit) ausgetauscht, über den danach die folgenden Requests laufen. PHP - seitig ist dafür keine Zusatzbibliothek nötig, da es auf der pure-php Implementierung phpseclib basiert.

      Klassendiagramm



      Verwendete Programmiersprachen und Ides
      C# mit Visual Studio 2013 Professional, PHP mit Netbeans

      Systemanforderungen
      • .Net Framework 2.0 für die Library
      • PHP - fähiger Server, Code sollte denke ich auf den meisten Versionen laufen
      Verwendung
      Ihr dürft die Library natürlich frei in euren Projekten verwenden und auch einkompilieren. Solltet ihr allerdings etwas am Source ändern wollen und diesen veröffentlichen, bitte ich um Rücksprache mit mir. Es liegt ein einfaches Beispielprojekt bei, wodurch die Verwendung denke ich leicht zu verstehen ist.

      Kurzer Sicherheitshinweis
      Bitte seid euch im Klaren, dass es sich hierbei um eine reine Verschlüsselung handelt, also keinerlei Authentifizierung stattfindet und somit man-in-the-middle-Angriffe immer noch möglich sind. Das hier bietet also nur ein gewisses Maß an Sicherheit, für sensible Daten solltet ihr dann auf etablierte Protokolle wie SSL ausweichen. Für die meisten Anwendungsfälle sollte es aber denke ich ausreichend sein.
      Dateien
      • EncomMin.zip

        (150,65 kB, 187 mal heruntergeladen, zuletzt: )
      • EncomSource.zip

        (223,2 kB, 192 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „henny“ ()

      Erst einmal danke für die Library, ich werde sie in mein aktuelles Projekt integrieren.

      In meinem Fall ist ein kleiner Fehler aufgetreten (Bug, "Secure Cookies" oder ähnliches), wodurch die Cookies nicht automatisch im CookieContainer gespeichert wurden.


      Für alle die einen ähnlichen Fehler haben:

      Durch das manuelle hinzufügen der Cookies kann dem entgegen gewirkt werden.

      Quellcode

      1. cookies.Add(response.Cookies); //Zeile 156 Encom.cs