Iedereen kan verifiëren dat een CA juist zit wil dus effectief net zeggen dat software het niet verifieert maar dus wel 'iedereen', mensen.
Nee, de software verifieert het voor jou. Daarom klaagt je browser als je een HTTPS site bezoekt waarbij het certificaat niet is ondertekend door een vertrouwde partij.
Of wanneer het certificaat niet juist is.
Sterker nog. Als zou kloppen wat jij zegt, dat software het kan, dan zouden CA's dus niet nodig zijn.
Natuurlijk wel. Er is een basis van vetrouwen nodig. Als wij elkaar ontmoeten in het echt, en jij claimt Henk Pieterse te zijn, dan is er voor mij geen enkele manier om aan te nemen dat klopt wat jij zegt, tenzij jij een document (zoals een paspoort) laat zien die claimt dat jij die persoon bent. Daarbij heb ik dus het vertrouwen nodig in onze overheid in de zin dat ze niet lukraak paspoorten uitgeven aan Jan en alleman, en in het feit dat een paspoort moeilijk vervalsbaar is (even afgezien van het feit dat ik als persoon niet echt in staat ben een paspoort op echtheid te controleren).
Zo ook met onbekende servers. Mijn browser vertrouwt tweakers.net alleen maar omdat er een derde partij is (de CA) die zijn fiat heeft gegeven voor het feit dat de server achter tweakers.net ook echt van tweakers.net is. Mijn browser heeft een lijst met bekende CA's die vertrouwd worden, en daarom is een certificaat dat ondertekend is door een onbekend persoon niet zomaar te vertrouwen. En dat is een verifieerbaar proces.
Of die CA de waarheid vertelt is niet iets dat je browser kan achterhalen. Mensen verifiëren dat. "Iedereen" verifieert dat.
Nee, dat is dus gebaseerd op vertrouwen in de CA, of de overkoepelende CA die de certificaten van de CA heeft ondertekend. Maar bottom line, als de software over een vertrouwde publieke sleutel van een derde partij beschikt, dan kan de software de authenticiteit van berichten van die partij verifieren. En ja, natuurlijk kan de CA ook liegen. In dat geval hebben we te maken met een misplaatst vertrouwen. Maar het is dan wel nog steeds de CA die liegt, en niet een andere partij (op voorwaarde dat sleutels niet gestolen zijn e.d.).
Je hebt verder fundamenteel niet door hoe een MiTM werkt. Een MiTM werkt door de public keys telkens te vervangen. Niet door de private key te ontfutselen.
Volgens mij ben jij degene die fundamenteel niet snapt wat man-in-the-middle betekent. Het betekent een derde partij die tussen de verzender en ontvanger in staat en berichten kan onderscheppen cq aan kan passen.
Hoe hij dat doet is niet relevant, dus zeggen dat dat
moet door public keys telkes te vervangen is een ontzettend kromme stelling

.
A stuurt public key naar B. Maar X zit er tussen. Dus X geeft een andere public key aan B en neemt die van A aan.
En daar komt dus dat vertrouwen om de hoek kijken. Want A stuurt niet gewoon zijn publieke sleutel. Er is een derde partij, die vertrouwd wordt door zowel de verzender als de ontvanger, die de publieke sleutel ondertekend doorgeeft aan B. Een MitM kan die dus niet aanpassen, want hij is ondertekend, en de publieke sleutel van die ondertekening staat opgeslagen in de apparaten zelf.
Heb je de private key, of kan je hem brute forcen, dan hoef je helemaal geen MiTM te doen
Dat hangt van je doel af. Als je gewoon berichten wil sturen onder naam van iemand anders, dan is dat geen MitM nee. Als je berichten wilt onderscheppen (en decrypten) en mogelijk aan wil passen, dan is dat wél een MitM aanval.
En ik heb in mijn tweede bericht in deze thread al verduidelijkt dat het niet de privé (en dus ook publieke) sleutels zijn die steeds veranderen, he? Het gaat om de symmtrische sleutels van de berichten zelf die steeds veranderen. En de uitwisseling daarvan gebeurt dmv public key encryption.
En ja, idd, bij Whatsapp gaat de app er dus wel vanuit dat berichten van de Whatsapp server vertrouwd worden, want die deelt de publieke sleutels van de gebruikers uit. Als je Whatsapp niet vertrouwt, dan komt er idd een vorm menselijke interactie bij kijken: door de publieke sleutels van elkaar met elkaar te controleren.
[Reactie gewijzigd door .oisyn op 22 juli 2024 16:48]