AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Bestehende TCP/IP-Kommunikation sicher machen
Thema durchsuchen
Ansicht
Themen-Optionen

Bestehende TCP/IP-Kommunikation sicher machen

Ein Thema von 361 · begonnen am 29. Mär 2018 · letzter Beitrag vom 30. Mär 2018
Antwort Antwort
Seite 1 von 2  1 2      
361

Registriert seit: 27. Okt 2005
Ort: Berlin und Brandenburg
93 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Bestehende TCP/IP-Kommunikation sicher machen

  Alt 29. Mär 2018, 10:37
Hallo zusammen,

ich habe das Internet und auch das Forum hier bereits durchforstet aber stehe nach wie vor ohne Lösung dar. Folgender Sachverhalt:

Ich habe ein Delphi-Projekt, bestehend aus zwei Windows-Anwendungen, eine Server- und eine Client-Anwendung. Die Server-Anwendung nutzt TIdTCPServer und die Client-Anwendung die zugehörige TIdTCPClient-Komponente. Beide tauschen Daten darüber mittels "TIdIOHandler.ReadLn" und "TIdIOHandler.WirteLn" aus. Nun gibt es die Anforderung, diese Daten verschlüsselt zu übertragen. Also dachte ich mir, suche ich mir eine Komponente, welche einfach eine Verschlüsselung darüber legen kann und bin bei meiner Suche bei Devart SecureBridge gelandet. Anscheinend kann man den "ScIdIOHandler" dem Client zuweisen, nicht jedoch dem Server und nun gehe ich davon aus, dass das gar nicht für meinen Anwendungsfall gedacht ist. Es gibt auch kein Beispiel hierfür.

Welche Möglichkeiten seht Ihr hier, eine Verschlüsselung einzubringen? Ich möchte keine DLLs verwenden, würde auch Geld für eine Komponente ausgeben und ich würde auch einen Kryptoalgorithmus, der die zu sendenden Strings verschlüsselt in Betracht ziehen. Ich freue mich, auf Eure Antworten und auch Hinweise.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Bestehende TCP/IP-Kommunikation sicher machen

  Alt 29. Mär 2018, 10:45
Du könntest auf HTTPS setzen.
Dann hast Du zwar etwas mehr Overhead als in Deiner jetzigen Variante, die vmtl. tatsächlich ausschließlich die Nutzdaten überträgt aber Du würdest auf einen allseits bekannten und akzeptierten Standard setzen. Ob Dein HTTP-Stream dann rein aus den Nutzdaten besteht oder ob Du diese z.B. in JSON verpackst, steht Dir dann frei. Wenn die Daten wirklich nur zwischen Deinen eigenen Anwendungen ausgetauscht werden und keinerlei Fremdsysteme im Spiel sind, bist Du da ja recht frei in der Gestaltung.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
361

Registriert seit: 27. Okt 2005
Ort: Berlin und Brandenburg
93 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: Bestehende TCP/IP-Kommunikation sicher machen

  Alt 29. Mär 2018, 10:48
Hallo Daniel,

vielen Dank für Deine Antwort. Ich habe vergessen zu erwähnen, dass es sich bei den Verbindungen um Satellitenverbindungen handelt, welche recht langsam ist und wo es auch auf den Traffic ankommt. Ich habe lediglich einen bestimmten Port (den ich hier nicht nennen darf) zur Verfügung. Mit HTTPS kenne ich mich gar nicht aus, ich weiß nur, dass die Maschinen die über meine Lösung kommunizieren wollen, kein DNS und keinen sonstigen Zugang ins Internet haben. Vielleicht schränkt das HTTPS und andere Lösungen ein?
  Mit Zitat antworten Zitat
Benedikt Magnus

Registriert seit: 6. Jul 2012
Ort: Bonn
190 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Bestehende TCP/IP-Kommunikation sicher machen

  Alt 29. Mär 2018, 10:49
Keine DLLs? Schließt das nur deren direkten Gebrauch ein oder ganz generell?
Wenn du nämlich mit der Nutzung der Bibliotheken von OpenSSL einverstanden bist, kann man SSL-Verschlüsselung ganz einfach durch die Nutzung der SSL-Handler (TIdSSLIOHandlerSocketOpenSSL und TIdServerIOHandlerSSLOpenSSL) der Indys erreichen. Das ist ziemlich einfach und dank SSL/TLS auch mit guter, standardisierter Verschlüsselung.
Ein nettes Beispiel gibt es hier: https://github.com/rlove/Indy-SSL-Ex...o/TestForm.pas
  Mit Zitat antworten Zitat
361

Registriert seit: 27. Okt 2005
Ort: Berlin und Brandenburg
93 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: Bestehende TCP/IP-Kommunikation sicher machen

  Alt 29. Mär 2018, 10:56
Hallo Benedikt,

Vorgabe ist, nur die Anwendung ohne zusätzliche Dateien wie DLLs oder ähnliches. Alles soll in der Anwendung drin sein. Ich habe bereits die OpenSSL-Variante an einem Beispeil getestet und es wäre recht einfach aber widerspricht der Anforderung. Hat jemand Erfahrungen mit Indy und SecureBridge im Bereich TCP/IP oder zur Not eine kommerzielle Alternative zu Indy, die Verschlüsselung bereits implementiert hat? Zur Not würde ich den Bestands-Code dazu auch noch mal umschreiben...
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
534 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Bestehende TCP/IP-Kommunikation sicher machen

  Alt 29. Mär 2018, 11:09
Hallo Benedikt,

(..) Ich habe bereits die OpenSSL-Variante an einem Beispeil getestet und es wäre recht einfach aber widerspricht der Anforderung.(..)
Inwiefern kann OpenSSL einer Anforderung an die Verschlüsselung widersprechen?
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
361

Registriert seit: 27. Okt 2005
Ort: Berlin und Brandenburg
93 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

AW: Bestehende TCP/IP-Kommunikation sicher machen

  Alt 29. Mär 2018, 11:10
Hallo Benedikt,

(..) Ich habe bereits die OpenSSL-Variante an einem Beispeil getestet und es wäre recht einfach aber widerspricht der Anforderung.(..)
Inwiefern kann OpenSSL einer Anforderung an die Verschlüsselung widersprechen?
Die Lizenz zur Verwendung
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
534 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Bestehende TCP/IP-Kommunikation sicher machen

  Alt 29. Mär 2018, 11:10
Hallo Benedikt,

(..) Ich habe bereits die OpenSSL-Variante an einem Beispeil getestet und es wäre recht einfach aber widerspricht der Anforderung.(..)
Inwiefern kann OpenSSL einer Anforderung an die Verschlüsselung widersprechen?

Übrigens: HTTP hat nichts mit dem Port zu tun. Nur mit dem Protokoll
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
534 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Bestehende TCP/IP-Kommunikation sicher machen

  Alt 29. Mär 2018, 11:28
OpenSSL kann in komerziellen Anwendungen verwendet werden: https://www.openssl.org/source/license.html
Indy ist auch open source. Oder meinst Du was anderes?
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Bestehende TCP/IP-Kommunikation sicher machen

  Alt 29. Mär 2018, 17:45
Wenn die Verbindung per se unverschlüsselt bleiben kann / soll dann empfehle ich ComponentAce EasyCompression Library. Verschlüsselt und komprimiert Streams. Dies habe ich bei meine C/S- Anwendung in Verwendung und bin begeistert.
Michael Kübler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz