Ik heb een tijdje terug een vraag gesteld over ge-encrypt data versturen.. Nu zit ik me af te vragen in hoeverre zoiets nou wel secure is. Er is toen gesproken over Pretty Good Privacy (PGP) waarbij de data ge-encrypt wordt met een public key, en vervolgens alleen nog maar gedecrypt kan worden met de private key die bij deze public key hoort..
Ik ga er in mijn client-server model vanuit dat de client altijd een connectie initieert.
Een client kan dan zijn public key sturen naar de server, die als responce zijn public key stuurt. Vanaf dat moment kunnen client en server veilig communiceren door elkaars public key te gebruiken om berichten te encrypten.
Alles goed en wel, maar hoe weet een client dat ie tegen de juiste server praat (en andersom). Als ik in een lan zit, dan zal de client wellicht een server gaan zoeken door een broadcast te sturen. In dat geval zal een hacker programma de initiële message van een client af kunnen vangen en vervolgens zijn eigen public key doorsturen naar de server, en als responce naar de client. De echte server zal deze actie zien als een request van een client en stuurt op dat moment zijn key naar de hacker.
Alle communicatie loopt dan nu via de hacker. De client verstuurt een bericht dat ge-encrypt is met de key van de hacker. De hacker decrypt het bericht (en kan het dus lezen, en zelfs veranderen) en encrypt het weer met de public key van de server en stuurt het door. De server krijgt dit bericht en stuurt een responce die ge-encrypt is met de key van de hacker. .Ook dit bericht is dus af te vanegn door de hacker en door te sturen naar de client.
Client en server hebben dus niets door (behalve misschien een vertraging)..
Nu zal dit in de praktijk niet zo vaak voorkomen, omdat er waarschijnlijk niemand uberhaupt mijn applicatie zal willen hacken .
Ook zal een en ander binnen het lan wel goed afgeschermd zijn (met kwaadwillende mensen binnen je organisatie ontkom je er nu eenmaal niet aan), en communicatie via internet zal toch via een vast IP adres gaan en niet met een broadcast -dat schijnt weer minder goed te werken- , maar toch vraag ik me af of dit inderdaad op deze manier alsnog te hacken is, en zo ja, hoe ik dit kan voorkomen?
(Situatie zonder en met hacker zijn hieronder nog even snel getekend)
Bookmarks