HTTPS (TLS) nicht sicher?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

Hi,

ich bin dabei vertrauliche Informationen über HTTPS mit TLS zu verschicken.
Jetzt habe ich gelesen, dass TLS nicht so sicher sei und Schwachstellen bei der Zertifizierungsausstellung (CA) aufweist. Sprich, ich kann mir dann ja nicht mehr sicher sein, dass mein Client auch die Daten zum richtigen Server schickt, oder?

Was kann man sonst tun oder liege ich falsch?

LG und danke.
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Da musst du etwas tiefer ins Thema einsteigen und dich damit beschäftigen. Wenn "Schwachstelle bei der Zertifikatsausstellung" bedeutet, dass man einem Zertifikat nicht bedingungslos vertrauen kann, dann ist das wohl so. Jedes Zertifikat ist nur so stark wie die Stelle, die es ausstellt - und die Stelle die ihm vertraut.
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

Aber wie machen das denn Unternehmen sonst? Vertrauen die TLS oder gibt es Alternativen?
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Das hat nichts mit TLS zu tun.

Ich versuche das mal ins echte Leben zu übertragen. Der Staat stellt Ausweisdokumente aus, mit denen man sich identifizieren kann. Das heißt, wenn du möchtest, dass sich jemand ausweist, dann vertraust du darauf, dass der Staat das korrekt gemacht hat.

Das ist für die reine Softwareentwicklung einer Webanwendung ist das übrigens nahezu irrelevant, denn Client und Webserver müssen sich über die Kommunikation und deren Verschlüsselung einig sein. Und diese Kommunikation benutzt die Webanswendung als Vehikel.

Wenn du aus einem Client-Programm eine solche Verbindung verwendest, kannst du sehr wohl garantiert prüfen, ob auf der anderen Seite der korrekte Kommunikationspartner ist. Dafür musst du aber dessen Zertifikat kennen und selbst prüfen - statt dich auf eine Zertifizierungsstelle zu verlassen. Für den Fall, dass du der Zertifizierungsstelle nicht vertraust.
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@naheliegend: Unternehmen machen das ganz unterschiedlich. Es gibt welche die haben Leute die wissen was sie tun, und es gibt welche die wissen das nicht.

Du musst Dich halt wirklich damit beschäftigen. Was Du nicht gemacht hast solange Du Beiträge schreibst die so klingen als das es *das eine* TLS gibt. Das Thema ist etwas komplizierter. Es gibt zum Beispiel mehrere Versionen und auch eine Version legt nicht komplett alles fest. Man kann mit jeder Version des Protokolls beispielsweise auch einfach grottenschlechte Verschlüsselung verwenden, und das Problem mit den CAs und ob und wie weit man welcher davon vertraut, ist auch noch mal eine unabhängige Frage.

Admins sollten Protokollversionen die schwächen haben nicht zulassen, genau so wie Verschlüsselung die als nicht mehr sicher gelten. Und bei der CA muss man halt wissen in wie weit man welcher CA vertraut das sie a) wissen was sie tun, und b) nicht wissentlich was machen was man eher nicht haben will.

Sicherheit ist immer eine Risikobewertung. Es gibt keine absolute Sicherheit. Die Frage ist immer: ist das so jetzt sicher genug. Und die beantwortet sich darüber welche Angriffsszenarien es gibt, und wie gut man dagegen jeweils geschützt ist und wie gut der Schutz ist, den man da haben kann. Und die Antwort auf diese Frage kann sich ändern, denn Protokolle und Verschlüsselungen die heute als sicher (genug) gelten, können Schwachstellen haben, die morgen entdeckt werden. Dann muss man die Risikobewertung neu machen und gegebenenfalls die Konfigurationen nachjustieren.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

Sehr hilfreiche Antworten für mich.

Lese mich parallel sehr akribisch ein, aber freue mich immer auf euer Wissen zurückgreifen zu können.

Wie darf ich mir das denn mit der selbst ausgestellten Zertifizierung vorstellen?
Man übergibt beim Client selbst einen key, der dann verschlüsselt übertragen wird und dann beim Server wieder aufgelöst wird?
Und weil ich weiß, was für ein Key das ist, weil der auf dem Server hinterlegt wird, kann ein Abgleich stattfinden?
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Der Server schickt Dir sein Zertifikat und anhand des Fingerabdrucks, den Du natürlich auf einem sicheren Weg erhalten haben mußt, kannst Du prüfen, ob dieses Zertifikat wirklich zu diesem Server gehört. Natürlich nur, solange der Sever an sich nicht kompromittiert wurde oder sein privater Schlüssel auf andere Art entfleucht ist.
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

Warum wurden eigentlich RSA und CBC aus TLS 1.3 gestrichen?

Gibt es eine Übersicht welches Verfahren für welche Art des Datenverkehrs verwendet wird?
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@naheliegend: Weil sie unsicher sind‽

Die zweite Frage verstehe ich nicht so ganz. Welche Arten meinst Du?
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten