Zijn Internet en het Web een zegen
of juist meer een bedreiging?
Prof. dr. Paul De Bra Web Engineering Group Dept. of Computer Science
Ik denk, dus ik besta… maar heeft het belang? • andere pogingen… • ik schrijf dus ik besta? • ik publiceer dus ik besta? • ik citeer/link dus ik besta? • ik wordt geciteerd/ gelinkt dus ik besta? • Google vindt mij dus ik besta?
• mensen willen • gelezen worden • weten dat ze gelezen worden !2
Descartes is bekend om zijn uitspraak “ik denk, dus ik besta” (I think, therefore I am, of Cogito ergo sum.). Hoewel de geldigheid van deze uitspraak wel eens wordt betwist (moet zijn: “Ik denk, dus mijn denken bestaat”, en meer is niet zeker) is de vraag die ons boeit: heeft het wel belang of iets bestaat of niet? En, wanneer heeft het belang dat wij bestaan? Denk maar aan de vraag: als een boom in een volledig verlaten bos omvalt, maakt dat lawaai? Er zijn natuurlijk goede argumenten om te staven dat dit lawaai maakt, maar het is volstrekt irrelevant als er niemand is om het te observeren. Wat maakt dat iemand op Internet bestaat? Een pagina maken (schrijven) en publiceren is niet genoeg: de publicatie moet ook gelezen worden. En we zien graag ook “bewijs” dat dit gebeurt.
Publiceren op Internet is gemakkelijk… • Er is email en • mailing lijsten om iets aan veel mensen te vertellen • discussie forums om iets met veel mensen te bediscussiëren • SPAM adreslijsten om naar heel veel mensen iets te sturen maar die mensen zijn wellicht niet geïnteresseerd
• Er zijn publicatiemiddelen op het Internet: • twitter − snel even iets zeggen aan wie het wil horen • facebook − vaak je hele leven opschrijven en delen met je vrienden • blogs, websites − “interessante” informatie beschikbaar stellen − blogs zijn wat makkelijker en hebben feedback mogelijkheden ingebouwd !3
Voor mensen en soms ook bedrijven is het dus belangrijk om een boodschap aan anderen door te kunnen geven. Vroeger was dit allemaal moeilijk en duur, denk aan post, een advertentie in de krant zetten, etc. Op Internet is het allemaal makkelijker en meestal ook veel goedkoper. Email is in eerste instantie bedoeld om aan een andere persoon of enkele personen iets mee te delen. Het wordt nu ook gebruikt om iets aan veel mensen te laten weten, waarbij de vraag of de ontvanger geïnteresseerd is steeds minder belangrijk wordt. Het voeren van een discussie in grote groepen mensen kan dan ook beter met behulp van speciaal daarvoor ontwikkelde discussie fora. Helemaal slecht wordt het wanneer men een lijst gaat kopen met miljoenen willekeurige adressen om die met je boodschap te bestoken. Dit is ronduit misbruik. Het Web biedt hele andere methoden om informatie te publiceren, in principe voor velen of zelfs iedereen die het wil toegankelijk. • Bij Twitter, eerst ontstaan om via SMS te gebruiken, maar nu vooral via het Web, gaat het vooral om snel een korte boodschap mee te delen. Twitter is vooral succesvol omdat het snel is en omdat elke twitteraar kan zien hoeveel volgers hij/zij heeft. We willen zien wie ons leest. • Bij Facebook gaat het meer om je levensverhaal vertellen en je hebt vrienden die het volgen en wiens levensverhaal jij dan ook volgt. Veel vrienden hebben is belangrijk omdat je dan weet dat veel mensen jou volgen. • Blogs zijn bedoeld voor meer thematische verhalen en dragen een boodschap uit. Ze hebben ook een ingebouwd feedback middel en een trackback waar we het nog over zullen hebben. • Een website opzetten is het meest altruïstisch: je publiceert je verhaal maar je krijgt weinig of geen informatie over het gebruik ervan.
En (h)erkenning / roem is de drijvende factor • web counters: hoeveel bezoekers heeft een website of webpagina • aantal, maar geen identiteit van bezoekers
• volgers (Twitter), vrienden (Facebook), kringen (Google+), abonnementen op kanaal (YouTube), etc. • krijgen automatisch berichten door (indien ze zelf kijken)
• feedback en trackback functies: • feedback is zichtbaar voor iedereen (je roem is zichtbaar) − gevaar voor SPAM berichten als iedereen feedback mag geven • trackback = links naar de pagina/blog zijn zichtbaar (nog meer permanente roem wordt zichtbaar) − gevaar voor SPAM links
!4
Al vanaf de beginjaren van het Web willen mensen weten of wat ze schrijven of publiceren ook gelezen wordt. • De eerste stap hiertoe waren webcounters: hoeveel mensen hebben mijn pagina gelezen, hoeveel downloads hebben mijn software, mijn fotos, mijn videos • De tweede stap zijn “abonnementen”: volgers, vrienden, kringen, of gewoon abonnees op Twitter, Facebook, Google+, YouTube, etc. Je bent maar belangrijk als je veel abonnees hebt. Maar je weet niet wie van die abonnees je berichten ook echt leest. Doet dat er nog toe? • De derde stap zijn manieren om zichtbaar te maken dat je beroemd wordt: • Mensen kunnen feedback geven, positief of negatief. Je kan die zelf beheren om negatieve feedback en SPAM te verwijderen en vooral met SPAM kan dit echt nodig zijn. • Wanneer iemand een link maakt naar je pagina dan is dit in het algemeen niet zichtbaar. Links naar iets zijn zichtbaar, inkomende links vanaf een andere pagina niet. Een trackback maakt inkomende links zichtbaar. Er zijn helaas ook SPAMmers die trackbacks plaatsen want de trackback is ook een link naar de bron van de link.
Extreem publiceren: SPAM, waarom bestaat het? • commerciële SPAM: reclame, vooral per email • je koopt (toegang tot) een database met email adressen • je huurt een dienst in om naar iedereen mail te sturen • de mail moet een “echt” adres bevatten want anders werkt het niet als reclame • al bij 1/10.000 tot 1/100.000 respons kan het lonend zijn
• misdadige SPAM: met diefstal als uiteindelijk doel • kan werken als commerciële SPAM maar je betaalt voor een dienst/goed dat niet geleverd wordt • kan inloggegevens proberen te stelen waarna je geld wordt gestolen • kan je verleiden om naar een valse website te gaan • kan je verleiden om “gratis software” te installeren met daarin malware • let op: illegale software bevat altijd malware! !5
SPAM wordt gebruikt om aan zoveel mogelijk mensen, liefst de hele wereld, een bericht te sturen. Waarom zou je dat willen doen? Er is eerst en vooral commerciële SPAM, die reclame is voor een dienst of goederen die je aanbiedt. • Om aan iedereen een mail te sturen moet je eerst aan iedereen’s email adres komen. Daarvoor koop je een database of toegang tot een database. Net als zoekmachines zoals Google het Web doorzoeken om een dienst aan te bieden kan je het Web doorzoeken op zoek naar email adressen die ergens vermeld staan. • Je kan niet zomaar naar miljoenen mensen een mailtje sturen want geen enkele provider laat dat toe, als bescherming tegen SPAM. Dus huur je hiervoor een dienst in, die gebruik maakt van een groot netwerk van computers die met daarvoor bedoelde “malware” zijn geïnfecteerd. • Je kan in de mail niet gaan verbergen wie je bent. De afzender mag wel vals zijn maar in de mail moet staan hoe je dienst of product kan worden besteld en betaald. Het is gewoon reclame voor een legitieme commerciële dienst, bijvoorbeeld Viagra verkopen zonder doktersvoorschrift. • De database en het versturen van mail kosten geld maar dat is veeeeeel goedkoper per adres dan papieren reclame. Bij 1/10.000 tot 1/100.000 respons kan het al winstgevend zijn. En de kans dat je per 100.000 adressen wel een koper vindt is acceptabel. Conclusie: SPAM werkt echt! En dan is er de echte misdadige SPAM, die altijd diefstal tot doel heeft • De mail kan een aanbod doen waarvoor je betaalt maar niks krijgt. Voorbeeld: Nigerianen die je een miljoenen beloven als je maar eerst een commissieloon betaalt voor de transactie die nooit komt. Sommige diefstal spam lijkt aannemelijker, zoals Viagra deals maar je krijgt niets geleverd of je krijgt een nep product geleverd. • Mail kan je om inloggegevens vragen of om naar een valse website te gaan waar je die gegevens moet invoeren. Daarna gaan de SPAMmers met jouw inloggegevens op jouw kosten transacties uitvoeren. • Mail kan je ook verleiden om “gratis software” te installeren. Google levert soms ook links naar software, bijvoorbeeld als je zoekt naar een gratis photoshop of gratis microsoft office, etc. Je vindt software die doet wat het zegt maar tegelijk wordt andere software geïnstalleerd waarmee SPAM kan worden verstuurd, je inlogcodes kunnen worden onderschept, etc. Gratis downloads van software die normaal veel geld kost bevat altijd een of andere vorm van malware.
Legitieme reclame kan natuurlijk ook… • ruimte voor reclame wordt vaak geveild • vb. bij Google wordt reclame-ruimte gekoppeld aan zoektermen; adverteerders bieden op zoektermen • een advertentie tonen kost geld; wanneer er op geklikt wordt kost meer geld − het is dus belangrijk dat een advertentie echte klanten aantrekt − analyse van het effect van advertenties en aanbevelingen heet “Web Analytics” − Nederland heeft gespecialiseerde Web Analytics bedrijven
• bedrijven analyseren ook wat mensen schrijven • “sentiment analysis” voor twitter en facebook wordt steeds belangrijker: bedrijven willen hun goede naam beschermen
!6
Bedrijven kunnen zichzelf beter in de kijker zetten via legitieme reclame. Dat gebeurt vaak via zoekmachines. Google veilt advertentieruimte in de antwoord-ruimte voor zoekopdrachten. Bedrijven bieden voor advertenties in antwoorden op vragen met bepaalde zoektermen. Een advertentie kost een beetje geld om te plaatsen en als de gebruiker op de link klikt kost het flink meer. Het is belangrijk dat als de gebruiker op de advertentie klikt dit een echte klant wordt die ook iets koopt. Het optimaliseren van het bieden door het Web gebruik te analyseren heet “Web Analytics”. De TU/e werkt samen met het bedrijf Adversitement dat hierin gespecialiseerd is. Mensen schrijven over bedrijven en producten, onder andere op twitter en facebook. Bedrijven moeten daarop inspelen om een positief beeld te behouden. Hiervoor wordt automatisch naar twitter en facebook gekeken en de opinie van mensen ingeschat
Na publiceren komt vinden/gevonden worden
!7
Iets vinden is niet gemakkelijk: • De informatie moet zo “gerepresenteerd” worden dat ze kan gevonden worden. • De vraag moet zo gesteld worden dat ze kan beantwoord worden. • Een vraag beantwoorden is op het Web altijd een kwestie van vraag “matchen” met documenten. Dit betekent dat er veel vragen zijn waarvoor je niet kan verwachten dat een zoekmachine op het Web ze kan beantwoorden.
Na publiceren komt vinden/gevonden worden • Traditionele information retrieval: TF/IDF • hoe vaak komen gezochte termen (woorden) voor in een document versus in andere documenten − precision: hoe relevant zijn de gevonden documenten? − recall: hoeveel van de relevante documenten zijn gevonden? • Zoeken op het Web werkt zo niet vanwege de grootte van het Web: er zijn veel te veel relevante documenten • sommige documenten lijken alleen relevant maar zijn het niet: keyword SPAMming • welke van de relevante documenten zijn belangrijk? − PageRank • welke documenten zijn relevant voor de gebruiker? − Context-afhankelijk zoeken !8
Hoe kan je op het Web iets vinden? Hoe zorg je ook dat als je iets publiceert anderen dat kunnen vinden? Het probleem is al heel lang geleden onderzocht in information retrieval: je stelt een vraag, meestal gewoon een heel kort lijstje van woorden of termen, en het systeem zoekt naar de meest relevante documenten. Hiervoor kijkt het systeem naar hoe vaak de woorden in elk document voorkomen. Documenten die vaak de gezochte woorden bevatten, vaker dan andere documenten, moeten relevant zijn. Hierbij worden twee maten gebruikt om te bepalen hoe goed een antwoord is dat je van het systeem krijgt: • precision: de verhouding tussen het aantal relevante antwoorden die het systeem geeft en het aantal antwoorden die het systeem geeft, dus hoe juist zijn de antwoorden van het systeem? Als een dokter een medicijn wil voorschrijven is het van belang dat het medicijn een juist medicijn is. Misschien zijn er nog meer juiste medicijnen maar dat is minder belangrijk. • recall: de verhouding tussen het aantal relevante antwoorden die het systeem geeft en het aantal relevante antwoorden die bestaan, dus hoe volledig is het antwoord van het systeem? Als een advocaat jurisprudentie opzoekt is het belangrijk dat hij alle relevante jurisprudentie vindt. Op het Web werkt dit principle niet meer: er zijn zoveel documenten dat voor elke vraag er veel meer relevante antwoorden zijn dan je kan presenteren aan een gebruiker. • Allereerst hebben we ook hier te maken met SPAM: mensen proberen om hun informatie in antwoorden binnen te smokkelen op vragen over heel andere onderwerpen. Dit kan onder andere door populaire woorden onzichtbaar te presenteren (witte tekst op witte achtergrond) en zichtbare tekst te verbergen (door er plaatjes van te maken) • Van de echt relevante documenten moeten we de belangrijkste vinden om die eerst aan de gebruiker te tonen. • We kunnen ook gebruik maken van wat we weten over de gebruiker en zijn context: waar is de gebruiker, wat doet hij, hoe laat is het…
Op het Web tellen de links mee: PageRank • PageRank gebruikt een soort democratie van links. • Een link van pagina A naar pagina B is een stem van A op B: A zegt dat pagina B belangrijk is. • Als A een belangrijke pagina is dan is een stem van A op B meer waard dan als A onbelangrijk is • zo werkte onze democratie in het begin ook…
• Probleem: het is een “circulaire” definitie • een belangrijke pagina kan andere pagina’s belangrijker maken • PR(P) = (1-d) + d(PR(t1)/C(t1) + ... + PR(tn)/C(tn))
d = dempingsfactor
t1..tn zijn bron van inkomende links
C(ti) is het aantal uitgaande links van ti
!9
PageRank is de basis van hoe Google bepaalt welke relevante antwoorden eerst getoond moeten worden. PageRank gebruikt links als een stem: een link van A naar B is een stem van A op B. Stemmen kunnen verdeeld worden: als A naar B, C en D linkt krijgen B, C en D elk maar 1/3 stem. Pagina’s die belangrijker zijn hebben een belangrijkere stem, net zoals in het begin van de westerse democratie waarin sommige mensen meer stemmen hadden dan anderen. Het berekenen van PageRank is lastig omdat het een circulaire definitie is. De definitie gebruikt ook een dempingsfactor die nodig is voor het correct verwerken van pagina’s die geen links hebben.
PageRank berekenen • Het kan eenvoudig zijn:
• Er zijn geen links naar A, dus de berekening kan bij A beginnen; in het algemeen lukt dit niet !10
PageRank berekenen is eenvoudig als je geluk hebt met de linkstructuur dat het in 1 keer kan gebeuren. In dit voorbeeld kan je de PageRank van A berekenen want A heeft geen inkomende links. Dan bereken je die van B want B heeft alleen een inkomende link van A. Daarna kan je C berekenen want die heeft alleen een link vanuit B. Dan E met alleen links vanuit A, B en C die we al kennen, en tenslotte E. In het algemeen lukt dit niet.
Een wat lastiger voorbeeld • Dit voorbeeld kan je niet ineens berekenen
y a/2
Yahoo
y = y /2 + a /2 a = y /2 + m m = a /2
y/2
y/2 m
Amazon a
M’soft a/2
m
!11
We hebben hier de dempingsfactor maar even weggelaten. De PageRank van de drie knopen is een oplossing voor het stel vergelijkingen. Dat heeft oneindig veel oplossingen, maar als we stellen dat de som van y, a en m 1 moet zijn is er maar 1 oplossing.
!
Een simple proces van “Gausse eliminatie” kan gebruikt worden op kleine voorbeelden maar werkt niet voor enorm grote voorbeelden zoals alle pagina’s van het Web. Hiervoor zijn benaderingsmethoden nodig. (Die kunnen we bij gebrek aan tijd niet bespreken.)
Extra hulpmiddel: context • Als Google (of een andere zoekmachine) meer over ons weet krijgen we betere antwoorden: • hulpmiddel 1: cookies om een sessie te identificeren en een gebruiker zolang die dezelfde computer gebruikt • hulpmiddel 2: een account en persoonlijke informatie • hulpmiddel 3: gebruik tijd, plaats, andere activiteiten
• Er zijn wettelijke grenzen: • een bedrijf mag gegevens niet doorverkopen • grote spelers als Google omzeilen dit door andere bedrijven op te kopen
!12
Zelfs met goede selectie van documenten en het gebruik van PageRank blijft het onmogelijk om goede resultaten te geven. Als je zoekt naar “italiaans restaurant” bijvoorbeeld dan zijn er teveel documenten met die woorden om een antwoord te geven op de vraag die je niet hebt gesteld. (Welke italiaanse restaurants in mijn buurt zijn vanavond open en hebben nog plaats vrij?) • Cookies laten een browser opeenvolgende “clicks” met dezelfde gebruiker verbinden. Dit kan noodzakelijk zijn, bijvoorbeeld om in een on-line winkel iets te kopen: je moet het product kunnen vinden, dan in je “mandje” leggen, dan naar de kassa, dan betalen, dan een bevestiging krijgen. Soms zijn cookies niet noodzakelijk, bijvoorbeeld om je een tijd te volgen om dan gerichte advertenties te tonen. • Met een account en persoonlijke informatie kunnen diensten over apparaten heen gegeven worden. Ik zoek een adres op met Google Maps. Daarna neem ik mijn telefoon en die vertelt mij dat ik waarschijnlijk naar dat adres wil en hoe lang de reis duurt. Personalisatie wordt mogelijk en beter naarmate een dienst meer over je weet. • Een persoonlijk profiel kan je aanmaken maar daarnaast gebruikt een Google ook plaats en tijd gegevens. Wanneer je op reis bent krijg je andere antwoorden op dezelfde vraag. Ineens geen italiaans restaurant meer in Helmond maar wel in Amsterdam of New York… In Nederland is het verboden om de verzamelde gegevens door te verkopen. Zo wilde Airmiles in het begin het koopgedrag van klanten aan alle bedrijven leveren maar dat mag niet meer. Elk bedrijf mag alleen de gegevens krijgen van koopgedrag bij dat ene bedrijf. Google heeft hier weinig last van: als het het gedrag bij een bedrijf, e.g. YouTube, wil kennen dan koopt het gewoon dat bedrijf op en dan mag het.
Privacy op Internet is vrijwel onbestaande • alles wat we on-line doen laat een spoor achter • wat we vertellen is duidelijk, maar ook alle ander Internet gebruik wordt geobserveerd
!13
We zien hier een oude cartoon die echt helemaal achterhaald is. Alles wat we on-line doen wordt geobserveerd. Een zoekmachine als Google weet veel meer over ons dan alleen wat we bewust op Internet publiceren via tweets, facebook, blogs, discussie forums, etc. Elke vraag aan Google zegt iets over ons. Elke klik op een zoekresultaat zegt iets over ons. Google weet echt wel wie een hond is en wie niet.
We willen niet alles delen: hoe geheim houden? • systeem-beveiliging: • sta alleen bepaalde communicatie tussen Internet en je computer (netwerk) doe met behulp van een firewall • detecteer of voorkom het binnendringen van malware door gedrag te observeren: intrusion detection
• communicatie-beveiliging: bij elke communicatie • geheimhouding door middel van versleuteling • integriteit door middel van controle (checksum) • authenticiteit met een digitale handtekening van de afzender • niet-onkenbaarheid via een afleverbevestiging (zoals bij een aangetekende zending)
!14
Hoe houden we onze computers en communicatie veilig? De computer heeft twee beveiligingen nodig: • Een firewall laat alleen bepaalde communicatie toe. Alle communicatie die op Internet mogelijk is maar die we niet gebruiken willen we blokkeren zodat kwaadwillenden onze computer niet via door ons ongewenste kanelen kunnen benaderen. • Wanneer we communicatie willen toestaan (bijvoorbeeld verbinding met het Web en email) dan moeten we de data die we communiceren verifiëren. Een anti-virus programma bijvoorbeeld kijkt of er geen verdacht gedrag optreedt. De communicatie die we met anderen hebben moet aan vier voorwaarden voldoen: • geheimhouding: wanneer we een bericht versturen kan het tijdens de verzending onderschept worden. We kunnen dit niet voorkomen maar als we een geheimschrift gebruiken kan de werkelijke inhoud van de boodschap toch geheim blijven. • integriteit: tijdens de verzending mag een bericht niet veranderd worden. We kunnen ook dit niet garanderen, maar we kunnen een controle inbouwen (een checksum) waarmee de ontvanger kan checken of het bericht nog intact is. • authenticiteit: we willen garanderen dat het bericht komt van de afzender die er op staat. Dat kan met een digitale handtekening, die gekoppeld is aan het bericht zodat de handtekening alleen in combinatie met dit bericht werkt. • niet-onkenbaarheid: we willen een ontvangstbevestiging terugkrijgen zoals bij een aangetekende zending
Is Internet-criminaliteit wel een echt probleem? • In de “gewone” wereld valt criminaliteit wel mee? • Met hoeveel mensen/bedrijven kom je in aanraking en hoeveel daarvan proberen je te bedriegen/bestelen? • Hoeveel mensen/bedrijven kunnen je via Internet bereiken en neem dezelfde verhouding tussen goede en slechte…
• Criminaliteit is voor bedrijven (e.g. banken) een veel groter probleem dan voor consumenten: • wat is de kans dat jij bestolen wordt? • wat is de kans dat iemand bestolen wordt?
!15
Voordat we moeilijke en misschien ook dure maatregelen nemen tegen criminaliteit moeten we ons eerst maar eens afvragen hoe groot het probleem is en of het de moeite is om ons er tegen te verdedigen. • In het gewone dagelijkse leven komen we wel eens in aanraking met een crimineel, een zakkenroller, een frauduleus aanbod via post of telefoon of reclame, etc. Meestal leidt het niet tot een echt probleem, soms wel. Laten we even stellen dat het 1 keer per 1.000 dagen gebeurt en dat je in 1.000 dagen ook met ongeveer 1.000 mensen of bedrijven in aanraking komt. • Via Internet kunnen pakweg een miljard mensen je benaderen. Als daar 1 op 1.000 crimineel van is sta je potentieel bloot aan een miljoen criminelen. Maar stel dat in de praktijk slechts een miljoen mensen ook echt een poging ondernemen om je te benaderen in dezelfde periode van 1.000 dagen. Dat is niet echt onrealistisch. Het zijn maar 1.000 verschillende mensen of websites per dag. Als je monitort hoeveel pogingen er zijn om jouw IP nummer te bereiken valt deze schatting wel mee. Dus in 1.000 dagen heb je dan met 1.000 criminelen per dag, of 1 poging om je te bedriegen of bestelen per dag. Bij mij is het minstens 100 pogingen per dag, alleen al via email. • Een andere manier om tegen criminaliteit aan te kijken is om het risico af te wegen voor jou versus voor bijvoorbeeld een bank: Als de kans dat jij een keer bestolen wordt (wat de bank moet vergoeden) 1/1.000 is en de bank heeft 100.000 klanten dan wordt de bank 100 keer bestolen. Het is net als met de staatsloterij: de kans dat jij wint is heel klein maar de kans dat iemand wint is heel groot.
Packet filter (screening router)
!16
Alle communicatie op Internet heeft een bron en bestemmings adres en poort. We kunnen een firewall configureren om communicatie met sommige adressen toe te laten of te verbieden en communicatie naar bepaalde poorten. Zo gebruikt het Web vooral de poorten 80 en 8080 en email 22 en zo is er nog een hele lijst. Wanneer je een Internet aansluiting thuis heb heb je meestal een router met ingebouwde firewall die je communicatie kan laten filteren. Zo voorkom je veel gevaren: misschien luistert je PC wel naar communicatie via een kanaal dat je niet gebruikt. De firewall kan dat meteen tegenhouden. Let op! Als je een laptop gebruikt op reis dan helpt de firewall in de router thuis niet meer. En ook als je Wifi in huis gebruikt kan dat benaderd worden zonder via je router/firewall binnen te komen.
Intrusion detection en preventie • stap 1: een virus checker • kijkt of er geen verdachte code via het netwerk binnenkomt (e.g. verdachte e-mail bijlagen) • kijkt of je geen verdachte bestanden download via Internet (zoals “unlockers” voor dure software) • kijkt of programma’s die je wil uitvoeren geen verdachte code bevatten
• stap 2: sites blokkeren en URLs verifiëren • ongewenste sites blokkeren kan in de hosts file, en met hulpprogramma’s zoals een adblocker • email met links naar bekende websites (vb. de bank) zijn vaak verdacht: check dat de URL van de link echt is (de naam die getoond wordt is niet hetzelfde als de URL) • er is gewone HTTP en secure HTTPS: geef nooit wachtwoorden aan een site met HTTP en accepteer geen untrusted certificates !17
De eerste verdediging tegen problemen is een virus checker. De virus checker kijkt altijd voordat data op je computer komt en ook daarna wanneer je programmacode gaat uitvoeren of er geen verdachte code bij zit. Een virus checker voorkomt problemen langer op voorhand door email en ander Internet verkeer te checken en ook USB sticks e.d. en voorkomt problemen net op tijd door voordat een programma wordt uitgevoerd nog eens te kijken of er geen verdachte code in zit. Vooral wie veel download loopt een hoog risico dat er “malware” wordt binnengehaald die afluistert wat je typt, misschien je camera en microfoon aanzet, op de achtergrond SPAM gaat zitten verzenden of je computer onderdeel maakt van een netwerk dat “distributed denial of service attacks” gaat uitvoeren op banken, winkelketens of providers. Mensen met (thuiswonende) kinderen lopen een extra groot risico. (De computer wordt meer gebruikt en kinderen en jongeren gaan vaak op zoek naar “unlockers” voor software of downloaden films en nog meer.) De tweede verdediging is gericht tegen malafide websites. • Een adblocker zal verkeer van en naar bepaalde sites blokkeren, vooral sites met advertenties. Maar je kan ook sites waarvan je weet dat je ze niet wil benaderen in je hosts file blokkeren. (We hebben geen tijd om dit in detail uit te leggen.) • Een email die je vraagt om naar een website te gaan (bijvoorbeeld van de bank) toont een link. De echte link verwijst naar een URL, het Internet adres van de site. De tekst die wordt getoond kan ook een URL lijken te zijn maar dat is niet het adres waarnaar de link verwijst. Kijk altijd (meestal links onder in het venster) wat de echte URL is waarnaar de link verwijst voordat je op de link klikt. • Gebruik nooit HTTP dat onversleuteld is voor wachtwoorden maar geef alleen geheime informatie op een site die HTTPS gebruikt (de browser toont dan een slotje) en waarvan de browser aangeeft dat het certificaat geldig is. (De browser geeft meestal alleen aan wanneer een certificaat ongeldig is.)
Hoe werkt veilige / geheime communicatie? • versleuteling met alleen maar geheime sleutels: • partijen die met elkaar communiceren moeten dezelfde geheime sleutel(s) kennen • meestal wordt 1 sleutel gebruikt zowel om te versleutelen als om weer te ontcijferen
• voor elke andere partij met wie je wil communiceren is een andere geheime sleutel nodig
!18
De oudste vorm van veilige communicatie maakte gebruik van een geheime sleutel kennen. Op een leesbare tekst wordt met die sleutel een bewerking uitgevoerd die een onleesbare tekst oplevert. De ontvanger gebruikt de sleutel met dezelfde of een andere bewerking om van de onleesbare tekst weer de originele tekst te maken. Wanneer een grote groep mensen allemaal dezelfde sleutel gebruiken om met elkaar te communiceren zijn er veel potentiële plaatsen waar de sleutel kan gestolen worden en dan is de communicatie tussen al die mensen af te luisteren. “Three can keep a secret when two of them are dead.” De communicatie van het Duitse leger in WO II gebruikte de Enigma machine om berichten te versleutelen en ontcijferen. Een enkele Enigma machine bemachtigen was voldoende om alle communicatie te kunnen ontcijferen. Dit was dus niet zo’n goed idee! Versleuteling met een geheime sleutel kan wel nuttig zijn om bijvoorbeeld documenten op je harde schijf mee te versleutelen en weer te ontcijferen omdat jij de enige bent die het geheim moet kennen.
Hoe werkt veilige / geheime communicatie? • versleuteling en ontcijfering met een publieke en een geheime sleutel: • Wanneer A en B willen communiceren moeten ze elk een paar sleutels aanmaken, elk een publieke en elk een geheime sleutel (dus 4 sleutels in totaal)
!19
Het doel van “public key encryption” is dat de partijen die willen communiceren geen geheim met elkaar moeten delen. Er zijn wel geheimen maar die houdt elke partij voor zich. Elke partij heeft een publieke en een geheime sleutel. Wanneer A een bericht naar B wil sturen gebeurt het volgende: 1. Eerst stuurt B zijn publieke sleutel naar A. We zullen straks zien hoe dit veilig kan gebeuren. Het moet wel veilig maar het is niet geheim. 2. A versleutelt het bericht met die publieke sleutel van B. 3. A verstuurt het onleesbare (versleutelde) bericht naar B. 4. B kan het bericht met zijn geheime sleutel weer ontcijferen. Dit schema vertoont nog vele gebreken. We gaan daarom een beter schema opstellen.
Hoe werkt veilige / geheime communicatie? • De communicatie van A naar B moet nog veiliger… • A versleutelt het bericht met de publieke sleutel van B − We moeten voorkomen dat het bericht gemanipuleerd wordt: we bouwen een checksum in − A moet bewijzen dat het bericht van hem afkomstig is:
A versleutelt de checksum met zijn geheime sleutel • A verstuurt het bericht naar B − inclusief de digitale handtekening (versleutelde checksum) − indien nodig ook inclusief de publieke sleutel van A • B ontcijfert het bericht met zijn geheime sleutel • B ontcijfert de checksum met de publieke sleutel van A • B berekent de checksum van het bericht ook zelf: − als de checksums niet overeenkomen is het bericht gemanipuleerd • B bevestigt ontvangst (standaard mail functie) !20
We gaan beter doen dan op de vorige slide. Er waren nog problemen: het bericht zou kunnen vervangen worden door een ander bericht. De ontvanger kan dat niet zien want het valse bericht kan worden versleuteld met de publieke sleutel van B omdat die toch publiek is. 1. De eerste verdediging tegen manipulatie is het toevoegen van een checksum (bijvoorbeeld de som van alle characters modulo een groot priemgetal of zoiets). 2. De tweede verdediging is dat A de checksum versleutelt met zijn geheime sleutel. Niemand anders dan A kan dit doen. 3. Alles wordt naar B gestuurd. De door A versleutelde checksum heet ook een digitale handtekening. Ze kan niet door iemand anders worden nagemaakt en ze kan niet worden hergebruikt door iemand anders omdat ze aan de checksum van het bericht gekoppeld is. 4. B moet de publieke sleutel van A hebben. Die kan bijvoorbeeld met het bericht worden meegestuurd. 5. B is de enige die het bericht kan ontcijferen, met zijn geheime sleutel. 6. B kan de checksum ontcijferen en vergelijken met een door B zelf berekende checksum. Als de twee checksums niet overeenkomen dan is het bericht vervalst. Het is niet mogelijk om vervalsing te voorkomen maar de vervalsing kan altijd worden ontdekt. 7. Email heeft tegenwoordig een ontvangstbevestiging waar A bij het verzenden naar kan vragen. Het mailprogramma vraagt aan B om de ontvangst wel of niet te bevestigen.
Hoe werkt veilige / geheime communicatie? • A en B moeten nog hun identiteit kunnen bewijzen • Iedereen kan beweren A of B te zijn en een publieke sleutel aanleveren. • A en B moeten allebei vertrouwen hebben in een derde die de publieke sleutels kan certificeren: de trusted third party − de TTP kan publieke sleutels “leveren” aan wie ze nodig heeft (A heeft die van B nodig om iets naar B te sturen) − de TTP kan ook alleen een publieke sleutel van een digitale handtekening voorzien, zodat B die aan A kan geven en A de publieke sleutel dan kan vertrouwen − bij HTTPS op websites worden de sleutels gecertificeerd door bekende instanties − bij SSH (en SCP, SFTP, etc.) zijn sleutels niet gecertificeerd en wordt de gebruiker gevraagd de sleutel te vertrouwen !21
We zijn er nog niet: A en B kunnen wel veilig met elkaar communiceren maar hoe weten ze of A wel echt A is en B ook echt B? Je kan eenvoudig aan een gratis sleutelpaar komen, bijvoorbeeld bij Comodo. Dat heeft een certificaat dat garandeert dat email die je stuurt afkomstig is van het email adres dat je gebruikt. Maar het garandeert niet dat dit email adres van jou als persoon is. Betaalde certificaten kunnen dat wel bevestigen en vereisen dat je bewijs aanlevert buiten Internet om. De verstrekker heet een Trusted Third Party (TTP). A en B moeten elkaars publieke sleutel kunnen krijgen met de zekerheid dat die van A dan wel B is. Dit kan op twee manieren: • De TTP kan een service bieden die aan iedereen die het vraagt de publieke sleutel geeft van A of B. • De TTP kan de sleutel voorzien van een digitale handtekening. A en B leveren dan aan wie het vraagt zelf hun publieke sleutel, voorzien van de digitale handtekening voor die sleutel, van de TTP. Met de publieke sleutel van de TTP kan die digitale handtekening worden geverifieerd. Wanneer we naar een beveiligde website gaan dan gebruikt die een HTTPS sleutel met een certificaat van een TTP uit een in de browser ingebouwde lijst. De browser geeft een waarschuwing als een sleutel met ongeldig certificaat of met een onbekend certificaat wordt aangeboden. Sommige browsers laten de gebruiker dit accepteren en andere niet. Wanneer we “secure shell” gebruiken om in te loggen op een andere computer of bestanden over te sturen dan accepteren we handmatig sleutels en wordt er geen TTP gebruikt.
Is Internet een zegen of een bedreiging? • Het is een zegen omdat je er “alles” kan vinden • mensen doen encyclopedie en woordenboeken weg • kranten en tijdschriften gaan failliet want alles staat op Internet • je kan ook alles kopen, vaak goedkoper dan in een winkel
• Het is een bedreiging, want het is onveilig en we kunnen niet zonder • • • •
traditionele winkels verdwijnen er veel criminaliteit op Internet alles wat we doen wordt geregistreerd en vaak afgeluisterd toch zien we mensen juist meer over zichzelf vertellen (o.a. via twitter, facebook en blogs), dus hoezo willen we meer privacy? • de grootste bedreiging is misschien wel… wat als Internet even uitvalt? of wat als het helemaal stopt? !22
We keren terug naar de vraag waarmee de lezing begon. Is Internet een zegen of een bedreiging? Het is een zegen… • want we vinden er alles: nieuws en informatie over van alles • we kunnen er alles kopen en prijzen vergelijken en zijn vaak goedkoper uit dan in gewone winkels Het is een bedreiging… • want gewone winkels verdwijnen, kranten en tijdschriften verdwijnen… alles wat door Internet vervangen wordt verdwijnt en zo ook een boel gezelligheid • privacy bestaat niet meer: alles wordt geregistreerd en afgeluisterd, zelfs door geheime diensten; wie weet mogen we binnenkort ineens een bepaald land niet meer in omdat we iets gemaild hebben wat niet bevalt… • toch zien we mensen steeds meer over zichzelf vertellen, dus blijkbaar is het niet zo erg dat er niks meer geheim is • en er is veel criminaliteit maar tegelijk leert men zich ertegen beschermen • de grootste bedreiging is dat we niet meer zonder Internet kunnen; wat als het zou verdwijnen? we raken nu al in paniek bij een storing…