Ik weet de basis van encryptie en hoe SSL ongeveer werkt maar ik zit met een brandende vraag waar ik nergens het antwoord op kan vinden.
Stel voor dat de website x.com is en https gebruikt. Op een gegeven moment dan verstuurd x.com zijn certificaat en controleer je deze. Nu is he zo dat niemand anders zich voor kan doen als zijnde x.com omdat de server een certificaat gebruikt. Naar mijn weten wordt dit certificaat gecontroleerd door zelf de hash waarde van het certificaat te berekenen, vervolgens deze berekende hash waarde te vergelijken met de al aanwezige hash waarde in het certificaat. Daarvoor moet eerst de al aanwezige hash waarde gedecrypt worden met de public key van de CA (Certificate authority, zoals VeriSign).
Nou zou ik zeggen dat het nog steeds mogelijk is om je voor te doen als x.com. Omdat je het certificaat van x.com krijgt als je een connectie legt met die website kan je die dus misbruiken. Als je dan een fake x.com website opzet en iemand maakt een connectie stuur je keurig het certificaat mee dat je eerder van de officiële x.com gekregen hebt.
Het enigste waar ik nog aan zou kunnen denken als check is dat er gekeken wordt naar het Common Name (CN) veld en het ip-adres dat hieruit volgt via DNS te vergelijken met het daadwerkelijke ip-adres van de TCP connectie. Ook dat kan natuurlijk weer omzeild worden door een DNS server te vervuilen, maargoed gaat het nu niet om.
Ik zie vast iets over het hoofd, maar wat?
Stel voor dat de website x.com is en https gebruikt. Op een gegeven moment dan verstuurd x.com zijn certificaat en controleer je deze. Nu is he zo dat niemand anders zich voor kan doen als zijnde x.com omdat de server een certificaat gebruikt. Naar mijn weten wordt dit certificaat gecontroleerd door zelf de hash waarde van het certificaat te berekenen, vervolgens deze berekende hash waarde te vergelijken met de al aanwezige hash waarde in het certificaat. Daarvoor moet eerst de al aanwezige hash waarde gedecrypt worden met de public key van de CA (Certificate authority, zoals VeriSign).
Nou zou ik zeggen dat het nog steeds mogelijk is om je voor te doen als x.com. Omdat je het certificaat van x.com krijgt als je een connectie legt met die website kan je die dus misbruiken. Als je dan een fake x.com website opzet en iemand maakt een connectie stuur je keurig het certificaat mee dat je eerder van de officiële x.com gekregen hebt.
Het enigste waar ik nog aan zou kunnen denken als check is dat er gekeken wordt naar het Common Name (CN) veld en het ip-adres dat hieruit volgt via DNS te vergelijken met het daadwerkelijke ip-adres van de TCP connectie. Ook dat kan natuurlijk weer omzeild worden door een DNS server te vervuilen, maargoed gaat het nu niet om.
Ik zie vast iets over het hoofd, maar wat?