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
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.
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
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.
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „henny“ ()