Results 1 to 4 of 4

Thread: Secure?

  1. #1

    Secure?

    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)
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	pgpschema.gif 
Views:	263 
Size:	3.0 KB 
ID:	383  
    1+1=b

  2. #2
    Waar jij op doelt is de zogenaamde "man in the midlle"-attack.

    Een oplossing zou zijn om de public-key van je server met de clients mee te geven zodat ze die niet op hoeven te vragen. Ze kunnen dan meteen hun public-key ge-encrypt versturen.

    Wat in de praktijk gebeurt (bij PGP) is dat je zelf een vertrouwen aan een key toekent. Als die persoon je nu nog een key sturrt van iemand die hij wer kent Is het vertrouwen dat jij in die key hebt automatisch weer wat lager. Ook de manier waarop je de key krijgt speelt mee (Als jij mij persoonlijk een flop in handen geeft is het waarschijnlijker dat het inderdaad jouw key is dan als ik 'm van PsychoMark krijg)

    Public-key algoritmen zijn over het algemeen trouwens erg langzaam. Daarom worden deze vaak alleen gebruikt om een session-key uit te wisselen die voor die ene sessie gebruikt wordt. Deze key is weer random gegenereerd en voor een veel sneller (symmetric-key) algoritme (b.v. 3DES).

    Als je erg geinteresseerd bent in cryptografie kan ik je het boek "applied cryptography" van Bruce Schneier aanraden. Begint met een stuk geschiedenis en gaat goed in op de problemen en uitdagingen die er bij komen kijken.

  3. #3
    Originally posted by tubul
    1) Waar jij op doelt is de zogenaamde "man in the midlle"-attack.

    2) Een oplossing zou zijn om de public-key van je server met de clients mee te geven zodat ze die niet op hoeven te vragen. Ze kunnen dan meteen hun public-key ge-encrypt versturen.

    3) Wat in de praktijk gebeurt (bij PGP) is dat je zelf een vertrouwen aan een key toekent. Als die persoon je nu nog een key sturrt van iemand die hij wer kent Is het vertrouwen dat jij in die key hebt automatisch weer wat lager. Ook de manier waarop je de key krijgt speelt mee (Als jij mij persoonlijk een flop in handen geeft is het waarschijnlijker dat het inderdaad jouw key is dan als ik 'm van PsychoMark krijg)

    4) Public-key algoritmen zijn over het algemeen trouwens erg langzaam. Daarom worden deze vaak alleen gebruikt om een session-key uit te wisselen die voor die ene sessie gebruikt wordt. Deze key is weer random gegenereerd en voor een veel sneller (symmetric-key) algoritme (b.v. 3DES).

    5) Als je erg geinteresseerd bent in cryptografie kan ik je het boek "applied cryptography" van Bruce Schneier aanraden. Begint met een stuk geschiedenis en gaat goed in op de problemen en uitdagingen die er bij komen kijken.
    Ik ben zo vrij geweest je punten even te nummeren, dat kwoot makkelijker
    1) Kijk, da's handig om te weten bij verder zoeken.
    2) Maar hoe komt die client aan die key? Die wordt gegenereerd (niet meegecompiled), dus kan de client die niet weten, tenzij ik bij installatie van de server een key genereer, die ik vervolgens 'met de hand' als systeembeheerder bij elke client invoer.
    3) Maar hoe weet ik dan van wie ik 'm krijg. Als jij mij niet kent en PsychoMark niet kent, en hij zegt dat hij mij is (dat gebeurt nogal eens ) Hoe weet jij dan dat hij mij niet is?
    4) Dat had ik inmiddels begrepen. Ik heb het Lockbox pakket geprobeerd. Het genereren van een 128 bit RSASSA ofzowiets keypair kost ruim 3 seconden en voor een 1024 bit keypair zelfs 8 minuten op een P3 650. Het en- en decrypten gaat voor de kleine key vrij snel, maar zelfs een ge-encrypte string van nog geen 10 tekens duurt merkbare tijd om te decrypten met de 1024 bit key. Het is dan inderdaad het handigst om een synchrone key te genereren en deze ge-encrypt uit te wisselen, maar het ging eerst nog om de stap ervoor: hoe krijg ik de synchronous key veilig aan de overkant? Toch bedankt voor deze tip. Hij is zeker nodig voor een goede implementatie van het geheel!
    5) Ok, bedankt. Ik ga eens kijken of ik dit boek kan vinden..
    1+1=b

  4. #4
    Goed, ik ga maar verder met de nummering

    2) Je zult een systeem moeten voorzien waarbij of de client of de server een gegarandeerd goede public key van de tegenparty hebben.
    Ik ga even uit van het feit dat je de public key van de server bij je clients wil krijgen en dat deze key gegenereerd wordt tijdens de installatie. Je zult dan OF inderdaad als beheerder met een floppy lang alle computers moeten (en dat wil je niet). OF de key moeten publiceren en de locatie bekend moeten maken (bijvoorbeeld tijdens het aanloggen). Zorg er ook voor dat gebruikers de key lunnen controleren (aan de hand van een fingerprint).

    3) Legitimatieplicht
    Okee niet zo'n heel goed voorbleeld dus. Waar het mij om ging was dat ik keys die ik persoonlijk krijg van iemand die ik ken meer vertrouw dan keys die ik opgestuurd krijg

    4) In mijn ogen is het het beste om tijdens installatie voor de clients keys te genereren. (Dit doe je zowieso maar een keer). Daarna kan je data (de)-coderen met de keyparen die je kebt. Als je veel data moet vertsturen is het het beste om session keys te gebruiken. Als je niet vaak hoeft te communiceren kan het juist weer voor meer (teveel) overhead zorgen.

    5) er zijn waarschijnlijk op het net ook goede resources te vinden. Kan ze nu ff niet controleren (m'n internetverbinding doet raar kan eigenlijk aleen nldelphi bereiken, wat een straf )Maar kijk eens naar:

    openpgp.org
    eff.org (die hebben dacht ik een hele sectie aan crypto geweid)
    pgp.com (Als die nog bestaat, hadden een goede PDF manual)

    6) In de inleiding van applied cryptography staat een heel stuk over de relative veiligheid van algoritmen. Het is helemaal afhankelijk van wat je wilt doen en wie je buiten de deur wilt houden.
    Het maak nogal uit of je aleen je zus wil tegenhouden of de USA

    Goed, Voor mij is het ook weer vier jaar geleden dat ik er serieus mee bezig was, leuk om het allemaal weer op te rakelen.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. FTP secure
    By BVerhaar in forum Algemeen
    Replies: 3
    Last Post: 01-Dec-04, 23:39
  2. Replies: 6
    Last Post: 22-Jul-04, 23:22
  3. Secure encrypted files
    By DeBug in forum Algemeen
    Replies: 5
    Last Post: 01-Aug-02, 10:16

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •