Deel 1: Internet Application Layer Protocols Network security Deel 2: Web - eCommerce Hoorcollege IUW 8 december 2015 Christof van Nimwegen
Donderdag a.s.: geen college! Was al bekend gemaakt: Informatiekunde Symposium A-Eskwadraat Thema: Datafy me!!
http://www.inkusymposium.nl/
2
Tentamenstof H8 Cowley Net als vorig jaar: Diverse onderdelen van H8 zijn geen tentamenstof zijn, n.l.:
8.1.4 t/m 8.1.7 8.4 8.5 8.14 t/m 8.17
3
H7: Internet Application Layer protocols OSI Model
TCP/IP Model
Application
Presentation
Application
Applicatio
Session n
OSI & TCP/IP
Transport
Transport
Internet Network
Internet Internet
Data Link
Network Access
Physical
4
Internet Application Layer Protocols
Client-Server Applicaties B.v. browsers (al gezien in Web colleges, opdracht) HTTP, FTP, E-mail, DNS, POP, SIP,…..
C = Client Communication
S
S = Server
c Local Computer
Remote Computer
Downloaden met een URL: naam
Downloaden met een URL: nummer
Zoek maar op!
http://www.hcidata.info/host2ip.htm
8
Domain Name System (DNS)
Internet: IP-protocol gebruikt een 32-bit numeriek addres, decimaal format (IPv4), of 128-bit address, hexadecimal (IPv6) Niet handig voor mensen om te onthouden Domain Name System (DNS): text ipv. nummers Domein: een groep computers die bij elkaar horen, bv. doordat ze op dezelfde plaats staan, of het zelfde soort business bedrijven Top Level domains, b.v.: .nl, .com, .net, .org, mi, biz, ….
Domain Name Server
Domain Name System server: een computer die verzoeken van client machines vertaalt naar numerieke IP addressen Het gehele systeem is gedistribueerd Als een lokale DNS server het kan komt het resultaat meteen terug naar de client
Request for www.staffs.ac.uk Reply = 193.60.1.18 DNS server for staffs.ac.uk
Sable.soc.ac.uk
Indien niet, via andere DNS servers. Etc. Etc.
Heel snel…..
11
Telnet Client & Server
c Telnet Client
S Telnet Server
Security van Telnet, FTP
Telnet en FTP zijn NIET veilig, passwords gaan onversleuteld over het netwerk Secure Shell (SSH) is een vervolg protocol met de functionaliteit van Telnet, maar veiliger omdat de passwords versleuteld zijn.
Remote Access & het Telnet Protocol
Op afstand een computer benaderen is heel normaal, maar dat was niet altijd zo Telnet (Terminal emulatie) was een vroege variant (is er nog steeds) Samen met FTP één van de twee eerste applicatieprotocollen op ARPANET
PuTTY: een SSH Client
FTP en en SFTP
2 connecties, op 2 poorten!! Transfer kan in ASCII of binary mode (meestal automatisch) Als file is aangekomen wordt data connectie verbroken Als gebruiker uitlogt wordt “command” verbinding gesloten Server Client
S
c
Data Connection Internet Control Connection
FTP kan op diverse manieren
Command-line
Web browser-based
GUI-based (bv. Filezilla)
En natuurlijk…CMS!
Zoals ook in Shopsec Fouten voorkomen Voor iedereen bruikbaar, geen specialist nodig Vaak via de browser Styles goed geïmplementeerd
http://www.cs.uu.nl/education/vak.php?v ak=INFOB1IUW&jaar=2015 18
Electronic Mail (E-Mail)
Bestaat al een jaar of 30 Was eerst niet meer dan veredelde file transfer Eerst geen feedback of attachments mogelijk E-mail Server (Post Office)
S
c Sender’s E-mail Client
c Receiver’s E-mail Client
E-Mail
Adres: 2 delen, naam ontvanger, en na de @ het “postkantoor” Dit “postkantoor” is wederom een DNS naam met een IP adres Om het “postkantoor ”te bereiken is het 1e deel niet nodig
SMTP
Idee: maak onderscheid tussen de envelop (envelop is voor routing, met adressering etc) en de inhoud
Return-Path: <
[email protected]> Received: from camcord2-smrly1.igtei.net (camcord2-smrly1.igtei.net [128.23.173.4]) by mail.staffs.ac.uk (8.9.1/8.9.1) with ESMTP id VAB18434 for <
[email protected]>; Sun, 13 May 2004 21:25:08 +0100 BST) From:
[email protected] Received: from ae1.travelweb.com (ae1.travel.com [207.248.14.24])by camcord2-smrly1.gtei.net (Postfix) with ESMTP id 33E18481A for <
[email protected]>; Sun, 13 May 2004 20:25:01 +0000 (GMT) Received: from ae1 (localhost [127.0.0.1]) by ae1.travel.com (8.9.3+Sun/8.9.3) with SMTP id NAB08430 for <
[email protected]>; Sun, 13 May 2004 13:25:04 -0700 (MST) Date: Sun, 13 May 2004 13:25:04 -0700 (MST) To:
[email protected] Subject: Confirmed Reservation Notification Content-Type: text/plain Content-Transfer-Encoding: 7bit Mime-Version: 1.0 Message-ID: <23137631.989785505049.JavaMail.abc@af1> THANK YOU FOR CHOOSING BIG HOTELS. WE LOOK FORWARD TO YOUR STAY WITH US.
Multipurpose Internet Mail Extensions (MIME)
E-mail berichten kunnen nog wel in ASCII, maar om iets mee te sturen is meer nodig Er zijn vele verschillende typen attachments Nodig: een standaard manier voor zender en ontvanger om dit te definiëren Meest gebruikte standaard: MIME MIME laat ook andere talen met andere leestekens toe, zoals Arabisch of Chinees
Ook weer DNS: vervolgens…… Q: Has a_person got a mailbox in my post office?
Mail Server diane_lagoa a_person
A: Yes!
frank_albufeira norman_barreiro francis_leira john_smith etc.
E-Mail van de server halen
De E-mail is nu aangekomen, het 2e deel begint, het ophalen
Ook weer een DNS query om de mail server’s IP adres te vinden
De ontvanger kan checken of er post in de mailbox is en dit downloaden
Mail protocollen
Post Office Protocol (POP)
Veelgebruikt protocol om mail op te halen Versie 3 (POP3) is de laatste versie
IMAP
Alternatieve, krachtigere en complexer protocol voor POP3 Betere authenticatie, POP3 is minder veilig Handig bij meerdere mailboxen tegelijkertijd mogelijk
Web Browser-based E-mail
Met Web mail is HTTP weer het meestgebruikte protocol Mail kan altijd vanaf overal gecheckt Handig voor Mobiel
Streamen i.p.v. downloaden
27
Streaming Audio
Was een uitdaging. Hiervoor was het internet niet ontworpen. Toch goed mogelijk tegenwoordig
Wachten tot een file binnen is duurt te lang Streaming audio omzeilt dit De streaming client is een mediaspeler, bv. Winamp, RealPlayer of Microsoft® Windows® Media Player The server is meestal een speciale media server geoptimaliseerd voor de taak
Real Time Streaming Protocol (RTSP)
RTSP Emuleert CD or DVD player commando's, bv. Play, Fast-forward, Fast-rewind, Pauze en Stop Je klikt ergens op en een meta file word gedownload Deze meta file heeft titels, locatie etc. Muziek begint meteen te spelen
RTP - Realtime Transport Protocol
RTP: over UDP, geen correctie of flow control RTP doet timestamping en sequence nummers, dus samples kunnen in de juiste volgorde gegeven worden, zelfs als ze in verkeerde volgorde arriveerden Door timestamping synchronisatie van multiple streams mogelijk (bv. audio en video stream) RTP kan ook gebruikt worden voor VoIP en video on demand
VOIP Protocollen
RTP over UDP en IP om audio te transporteren tussen IP telefoons Bv. Session Initiation Protocol (SIP)
TCP/IP application-layer protocol Werkt samen met RTP, UDP and IP
SIP Server
IP Phone
IP Phone
SIP: easy!
32
Peer-to-Peer (P2P) File Sharing
Aangesloten computers gelijkwaardig, geen vaste werkstations en servers, geen centrale server
Veel gebruikt voor software distributie
Bestanden in stukjes opgedeeld E.g. BitTorrent
Veel gebruikt voor illegaal kopiëren, maar niet alleen Veel P2P al gesloten
Torrents
34
Instant Messaging (IM)
E-mail vaak te langzaam Vaak weet je niet of het ontvangen is IM client software laat gebruiker inloggen bij speciale server De server maakt een bestand met een lijst van contacten Server laat zien wie er online zijn …..
Microblogging
Een microblog is een zeer kleine blog Vaak iemand’s persoonlijke meningen Vaak ge-update Microblog hebben een woord / letter restrictie Twitter wss. het bekendste voorbeeld Ook social media sites zoals Facebook hebben een microblogging element , b.v. ‘status updates’ Vervangt vaak E-mail al, vooral jongeren Hierdoor interessant voor cybercriminelen
H8: Network Security
1 week geleden..
38
Authenticatie met passwords
Authenticatie: check of iemand is wie hij/zij zegt dat-ie is Niet zeer veilig (raden, stelen, sniffen) Veel mensen zijn onzorgvuldig in keuze passwords, en vervolgens slordig FTP & telnet verstuurden dergelijk info onversleuteld
Ben je wel een mens?
40
Intelligent Token
Veiliger: een “intelligent token” dat een eenmalig password genereert Dit password wordt naar een beveiligde server gestuurd die het verifieert en de gebruiker laat inloggen Veel gebruikt in Internet bankieren 2 typen:
Tijd synchroon Challenge response
Time-Synchronous System
Token en server moeten gesynchroniseerd zijn Random gegenereerd 1X per minuut door beiden Om in te loggen moet een gebruiker PIN plus het nieuwe random nummer invoeren
Time-Synchronous System 2
User’s PIN + Token-generated password 1234
5
777778
The two passwords match, so server authenticates user
777778 A C 1 2 4 5 7 8 0
B B D< > 3 V 6 ENTER 9
Hardware Token
1
Token generates password, using an algorithm, current time & user’s secret key
4
3
Server uses user’s PIN to look up user’s secret key in database
Server does same operation as token to generate user’s password
Database of user PIN nos & keys.
Challenge-Response System
Gebruikers moeten een versleuteld nummer doorgeven dat het hetzelfde is als wat de server heeft gegenereerd Hardware tokens
Challenge-Response System 1
User’s PIN 2 Challenge Response
Server generates random number (challenge)
Server authenticates user
777778 A C 1 2 4 5 7 8 0
B B D< > 3 V 6 ENTER 9
Using secret key, user encrypts random number that token 4 generates. This encrypted number is the response 3
Hardware Token
Server looks up secret key using PIN & encrypts challenge
Server compares encrypted challenge & 5 response. If they match, it authenticates user
Database of user PIN nos & keys.
Nog anders….combineer met iets wat ik HEB
Kerberos
46
Biometrics
Wat je BENT, iets VAN JOU doet de authenticatie Vingerafdruk, iris scan Je kunt het niet vergeten Maar het is vrij duur, en niet altijd even snel Maar….
Secure Single Sign-On: Kerberos Client
Authentication Server in Secure Location
1) client software 2) authenticatie server heeft database met versleutelde user identities. Staat op veilige plaats
3) application server
Application Server
Vertrouwelijk - Encryptie
Encryptie zorgt dat verstuurde info over een netwerk alleen door bepaalde partijen gelezen kan worden Encryptie: met een encryptie algoritme. Zolang het over het netwerk reist is het onleesbaar Een sleutel is nodig om ter ontcijferen. Het encryptie/decryptie algoritme vormt deze sleutel Vusfdiu Sleutel: letter +1 = Utrecht
Secret-Key Encryptie
Is snel, symetrisch. 2 keer dezelfde sleutel De sleutel moet geheim blijven Hoe krijgen we de sleutel van de ene plaats naar de andere? Via een andere weg?
Public-Key Encryption (asymetrisch)
Verschillende sleutels voor encryptie en decryptie Iedereen krijgt de encryptie sleutel, maar de decryptie sleutel blijft geheim
Vusfdiu Sleutel: = ?????
Public-Key Encryptie Certificate Authority CERTIFICATE
Bob’s Public Key
CERTIFICATE
Name:-----------Address:--------Cert. No:-----------
Name:-----------Address:--------Cert. No:-----------
Bob’s Certificate
Alice’s Certificate
To: Bob CC: From: Alice Date: Re:
Alice encrypts message with Bob’s public key
Alice’s Public Key
To: Bob CC: From: Alice Date: Re:
Bob decrypts message with his private key
Public Key Infrastructure (PKI)
Public-key encryptie kan ondersteund worden door een PKI Een PKI is een officieel, organisatorisch en technisch raamwerk dat gebruikt wordt om public key cryptografie te ondersteunen. Het levert een Digital Certificaat, de public key van een gebruiker die digitaal ondertekend is Een Certificate Authority (CA) doet dit digital signeren
Secure Sockets Layer (SSL)
SSL wordt gebruikt voor beveiligde Internet verbindingen Een icoontje van en hangslot indiceert dit De Web browser krijgt een digitaal certificaat van de website, en checkt dit weer (is het nog geldig en niet verlopen, etc.).
Extended Validation-certificaat
Indien links van adres gedeelte groen is geworden, is er een Extended Validation SSL (EV SSL) encryptie aanwezig
Op zich niet perse veiliger dan veilig, maar laat zien dat het bedrijf zelf ook geauthentiseerd is
Secret- & Public-Key Encryptie in Combinatie
Secret-key encryptie is snel Public-key encryptie veiliger Vaak gedaan:
breng de sleutel over met public-key encryptie breng de data over met secret-key encryptie
Virtual Private Networks (VPNs)
Een VPN is een privé, veilig data netwerk dat over een openbaar netwerk loopt zoals het Internet Alleen de 2 partijen aan het aan het einde van de lijn kunnen de data lezen VPNs zijn er grofweg in 3 typen: Remote-access VPN, bv. voor werknemers om veilig te kunnen afstands werken Site-to-site VPN gehele kantoren of bedrijven verbinden Extranet VPN laat een bedrijf of instelling bepaalde data delen met partners, leveranciers klanten of anderen
VPN Company HQ
En Remote VPN Client
nne u T ed t p y r c Internet
l
VPN Protocollen
Non-IP gebaseerde VPNs (leased lines, Frame Relay of ATM, zeer hoge Quality of Service (QoS)
IP-based VPNs, minder QoS maar toch veilig en goedkoper.
Protocollen voor IP-gebaseerde VPNs:
IP Security (IPSec) MPLS Secure Sockets Layer (SSL)/Transport Layer Security (TLS)
Firewalls
Een systeem dat een netwerk of computer kan beschermen Illegitimate Request tegen misbruik van buitenaf Kan zijn voor inbound of outbound Kan softwarematig, of en combi met hardware Legitimate Request Verbergen vaak de network addressen van individuele Firewall gebruikers Kunnen alle verdachte voorvallen opslaan en Server rapporteren.
Internet
Illegitimate Request
Demilitarized Zone (DMZ) Internet
Firewall
DMZ Web Server
Trusted Internal Network
Verschillende typen
Packet-Filtering Firewall
Zeer basaal, routers kunnen dit zelf Bepaalde IP addresses, of port numbers kunnen geblokkeerd worden
Application Proxy Firewall
Stateful Inspection Firewall
Gevaar….!.....? Security is a Process
63
Denial of Service (DOS) Attack
Bedoeling: een server verlammen Vele connectie requests gestuurd om geheugen vol te laten lopen of processorkracht aan te tasten Ook: Distributed Denial of Service (DDOS) attack (vanaf meerdere plaatsten), bv. Ping of Death/Smurf Attack
via Web Application Servers
Aanvallen op Databases
Web application servers zijn verbonden met databases die veel belangrijke en gevoelige informatie hebben, interessant voor criminelen. Dit maakt hen populaire doelen voor aanvallen (Buffer Overflow, SQL Injection)
Virussen
Vermenigvuldigen zichzelf Hangt ergens anders aan vast (bv. Email, exe, bat, pif, scr zijn gevaarlijke extensies hier) Virus code “runt” alleen indien geopend Kan erg veel schade aanrichten Polymorfe virussen kunnen hun voorkomen steeds veranderen, moeilijker te vinden dus.
Worm, Trojan Horse
Worm
Kan zichzelf verspreiden van computer naar computer Zit niet aan een file vast Doel: zoveel mogelijk andere systemen infecteren
Trojan Horse
Verstopt zichzelf in een schijnbaar legitiem programma Gebruikers worden verleid tot installatie ervan Kan bv. Toetsaanslagen registreren
Malware….en…
Rootkits (je machine ongeveer overgenomen) Spam E-mail (…) Spyware Phishing …..
Ter afsluiting: WLAN (WIFI) security
69
Deel 2: E-Commerce - Webwinkels
70
Shopsec!
71
Een kleine geschiedenis….
72
E-commerce (≠ e-business) “E-commerce (elektronische handel) staat voor het kopen en verkopen van goederen en diensten via een elektronisch medium, in de ruime betekenis van het woord. Online verkoop van goederen en diensten via het world wide web is de bekendste vorm. 4 smaken: -
B2B B2C C2B C2C
(bv. bevoorrading, consulting) (Amazon.com, Bol.com etc.)
(google.com/ads/, fotolia.com) (Ebay.com, marktplaats.nl)
73
Voordelen Verkoper Klant geen opening/sluitingstijden geen openings/sluitingstijden grotere afzetmarkt snel, maar ook rustig lage startkosten vanuit huis geen fysiek gebouw geen rijen profielen klanten ongelooflijke keuze blijvend contact geen schaamte isues weinig personeel geen cash veel productinformatie verhoogde prijsconcurrentie …… prijsvergelijking makkelijker …. 74
Nadelen Klant Verkoper geen echt contact geen openings/sluitingstijden kan product niet zien, voelen geen echt contact nep bedrijven afhankelijkheid servers privacy, profiling, personeel nodig onderhoud doorverkoop gegevens cyber aanval blijvend contact werkt niet met alle produkten wachten…op je product … anderssoortige winkel ervaring ruilen omslachtiger ……. 75
The long tail! De optelsom van minder populaire artikelen is wel de meerderheid. In traditionele winkels zouden deze zaken zelden in het assortiment worden opgenomen
76
De grote jongens
77
Tijdlijn
78
Tijdlijn
79
Tijdlijn
80
Waar het om gaat…
81
User Experience, hier extra belangrijk!
Usability: efficiënt, effectief en naar tevredenheid doelen bereiken User experience: de gebruiksbeleving. Keuzevak: Usability Engineering en User Experience INFOUE
82
1000 do’s & don’ts - een greep:
Soms b.v. food: Meteen check
Algemeen: Kan ik kopen?
The others: wat vinden ze
The others: wat kopen ze : 83
1000 do’s & dont’ts - een greep:
Kleurstelling:
Laat zien wat men bespaart
Niet eerst registreren
84
En natuurlijk: Mobile friendly:
85
Dus…
86
Succes met jullie webwinkel, en het 1e deeltentamen !!
87