4.16.24 21st Century Movements for Black Lives.pptx
Security, Privacy and Trust - Lecture 11 - Web Information Systems (4011474FNR)
1. 2 December 2005
Web Information Systems
Security, Privacy and Trust
Prof. Beat Signer
Department of Computer Science
Vrije Universiteit Brussel
http://www.beatsigner.com
2. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 2December 12, 2014
Security Aspects
Authenticity
knowing the sender or receiver of data
- who is trying to access data on a web server
- who is offering a service
- who sent an email
- …
Privacy
keeping information private
- protect credit card information that is sent to a server
- protect information sent in emails
- …
Integrity
ensuring that information is not changed when transferred
3. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 3December 12, 2014
HTTP Authentication
Native authentication functionality offered by HTTP
instead of directly sending a response for a given request, the
server can always respond with an authentication challenge
(401 status code)
HTTP is extensible to support different authentication
protocols and offers the following two standard protocols
basic access authentication
- simple Base64 encoding of the string <username>:<password>
digest access authentication
Protected resources can be grouped in security realms
with different sets of authorised users or groups of users
4. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 4December 12, 2014
Basic Access Authentication
Client Server
GET /wise/exam.pdf HTTP/1.0
Client Server
Client Server
Client Server
ask
password
try to access
a protected
resource
HTTP/1.0 401 Authorization Required
WWW-Authenticate: Basic realm="WISE"
GET /wise/exam.pdf HTTP/1.0
Authorization: Basic YmVhdDpydWxleg==
HTTP/1.0 200 OK
Content-type: application/pdf
Internet
5. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 5December 12, 2014
Base64 Encoding
Base64 encoding can be used to represent binary data
in a portable format (alphabet)
used by MIME for content transfer encoding
used to embed binary data in XML files (e.g. in XML-RPC)
note that Base64 encoded data needs more space
Takes a sequence of bytes (8-bit) and breaks it into 6-bit
chunks
padding with 0s to make it a multiple of 24 (LCM of 6 and 8)
complete 6-bit padding chunks are represented by the special
character '='
Each 6-bit chunk is then represented by a character from
a 64-character alphabet
6. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 6December 12, 2014
Base64 Encoding Example
Let us encode the string
'No' to Base64
padding to 24 bit
lookup of 6-bit chunks in
index table
use '=' for completely padded
6-bit chunks
val
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
char
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
val
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
char
Q
R
S
T
U
V
W
X
Y
Z
a
b
c
d
e
f
val
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
char
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
val
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
char
w
x
y
z
0
1
2
3
4
5
6
7
8
9
+
/
01001110
N o
01101111 00000000
19 38 60
T m 8 =
Base64 index table
Text
Bit Pattern
Index
Base64
padding
7. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 7December 12, 2014
Proxy Authentication
We can use the same authentication approach for
controlling access to proxy servers
The proxy will return slightly different HTTP headers
HTTP/1.0 407 Proxy Authentication Required
Proxy-Authenticate: Basic realm="WISE"
8. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 8December 12, 2014
Web Server Configuration
Example configuration for an Apache HTTP Server
Create a new password file (using the –c parameter)
Put an .htaccess file with the configuration into the
directory that has to be protected
alternatively add information to httpd.conf
#htpasswd -c /usr/local/apache/admin/passwords nelson
New password: nelson123
Re-type new password: nelson123
Adding password for user nelson
AuthType Basic
AuthName "WISE"
AuthUserFile /usr/local/apache/admin/passwords
Require user nelson
9. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 9December 12, 2014
Basic Access Authentication ...
Basic access authentication is not secure
username and password are sent almost in "cleartext"
- Base64 value can be very easily decoded
easy to do replay attacks
- simply reuse the username and the password
Potential solutions
combine the basic access authentication with an encrypted data
transfer (e.g. via TLS/SSL)
- does not necessarily prevent replay attacks
use of alternative digest access authentication
10. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 10December 12, 2014
Digest Access Authentication
Password is no longer sent in cleartext
only a one-way digest that is computed out of the password
(one-way hash function) is sent to the server
Message Digest #5 (MD5) is a popular digest function
What about digest replay attacks?
server sends a special token (nonce) that changes frequently
client adds the nonce to the password before computing the MD5
- any changes of the nonce result in changes of the digest which helps to
prevent replay attacks
h1 = MD5(username:realm:password)
h2 = MD5(httpMethod:requestedURI)
response = MD5(h1:nonce:h2)
Computed response based on MD5
11. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 11December 12, 2014
Digest Access Authentication ...
Client Server
GET /wise/exam.pdf HTTP/1.0
Client Server
Client Server
Client Server
ask
password
HTTP/1.0 401 Unauthorized
WWW-Authenticate: Digest realm="WISE",
qop="auth,auth-int" nonce="6G543RED"
GET /wise/exam.pdf HTTP/1.0
Authorization: Digest username="nelson",
realm="WISE", nonce="6G543RED",
qop="auth", response="HF779RW47R7HF",
...
HTTP/1.0 200 OK
Authorization-Info: nextnonce="7HZT7F6"
...
Internet
try to access
a protected
resource
12. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 12December 12, 2014
Digest Access Authentication ...
The Authorization-Info: nextnonce="..." is used
to send the next nonce in advance
client can send the computed hash value already with the original
request (preemptive authorization)
The quality of protection (qop) field is used to
negotiate different protection mechanisms
auth
- authentification
auth-int
- authentification and message integrity protection
- add an MD5 of the body
13. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 13December 12, 2014
Transport Layer Security (TLS)
Cryptographic protocol to
ensure secure network
communication
successor of the Secure
Socket Layer (SSL) protocol
situated at the TCP/IP
Application Layer or OSI
Presentation Layer
Types of authentification
unilateral authentification
- only server authentification
mutual authentification
- client and server authentification
TCP/IP stack
Transport
Application
Link
Internet
TLS/SSL
14. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 14December 12, 2014
Cryptography
In cryptography a cipher (coding scheme)
is used in combination with a key to create
a ciphertext out of a plaintext
Cryptanalysis tries to get information out of the ciphertext
without having access to the secret information (key)
MEET ME
AT NOON
PHHW PH
DW QLLQ
MEET ME
AT NOONcipher
(encoder)
cipher
(decoder)ciphertext
key key
plaintext plaintext
15. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 15December 12, 2014
Symmetric Key Cryptography
A symmetric key cipher uses the same key for the
encoding and decoding of a plaintext message
Many existing symmetric key ciphers
DES, Triple DES, Blowfish, Rijndael/AES, ...
The algorithms are often common knowledge and the
key is the only secret thing
key has to be kept secret
Brute force attack (enumeration attack) tries all keys
The key length defines the number of potential keys
e.g. 128 bit key considered safe today
- can change with more powerful machines
16. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 16December 12, 2014
Symmetric Key Cryptography ...
One problem of symmetric key cryptography is that we
have to secretly share the common key before we can
exchange any messages
this has to be repeated with different keys for any two partners
willing to establish a secret communication
how should we establish the exchange over the Internet?
- initially only an insecure channel is available
where should we secretly store all those keys?
17. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 17December 12, 2014
Public Key (Asymmetric) Cryptography
Instead of a single key, public key cryptography uses an
asymmetric pair of keys
publicly available key for the encoding
secret key for the decoding
Each party has only a single public key which is used by
everybody to encode messages to this party
only the receiver can decode message with their private key
MEET ME
AT NOON
hJ7FHDu
KJF Z8e
fsdlgi MEET ME
AT NOONcipher
(encoder)
cipher
(decoder)ciphertext
public key B private key B
plaintext plaintext
A B
18. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 18December 12, 2014
Public Key (Asymmetric) Cryptography ...
Public key cryptography can be used to establish secure
Internet connections to any computer around the world
without having to secretly share a key beforehand
An asymmetric public key cipher has to ensure that an
attacker cannot compute the private key based on any
information they can intercept
public key
ciphertext (with corresponding plaintext)
- can easily be created by any party by using the public key
A well known public key algorithm is the RSA cipher
19. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 19December 12, 2014
RSA Cipher (Rivest, Shamir and Adleman)
Public-key cipher that can
be used for encryption as
well as signing
published in 1978 by Rivest,
Shamir and Adleman while
they were at MIT
The public and private keys are
generated based on two large distinct prime numbers
the potential attacker will know about the product of the two prime
numbers but nothing about the numbers themselves
use modular arithmetic for the encoding/decoding
as long as the attacker is not able to do a factorisation into the
two prime numbers, RSA is assumed to be secure
Adi Shamir, Ron Rivest and Len Adleman
20. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 20December 12, 2014
Public Key (Asymmetric) Cryptography ...
A drawback of asymmetric public key cryptography is the
fact that the algorithms are much slower than symmetric
ciphers
Hybrid solutions combine public key with symmetric key
cryptography
the public key encryption is only used in the setup phase to
securely exchange a pair of symmetric keys
afterwards a secure channel is established based on the
symmetric keys
Security of public key cryptography?
new developments (e.g. quantum computing) might break public
key cryptography
21. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 21December 12, 2014
Digital Signatures
A digital signature can be used for two purposes
to prove the authenticity of a message
to guarantee that a message has not been changed during the
transfer (integrity)
Sender creates a plaintext digest, encodes it with the
private key and adds it as a signature to the message
the receiver creates the same digest and compares it with the
decoded signature
cipher
cipher
private key A public key A
plaintext plaintextplaintext
signature
digest
digest digest
same?
A B
22. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 22December 12, 2014
Digital Certificates
Information about a
person/company that is
digitally signed by a
certificate authority (CA)
owner's name
validity time
signature of the CA
owner's public key
23. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 23December 12, 2014
Digital Certificates ...
No single standard but most certificates store their
information in the X.509 v3 certificate standard form
Basically digital certificates can be used on the server
side as well as on the client side
in practice client-side certificates are not often used
24. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 24December 12, 2014
HTTP Secure (HTTPS)
Secure version of HTTP
combines HTTP with asymmetric, symmetric and certificate-
based cryptography
HTTP sent over TLS/SSL
HTTPS protocol is selected by the https:// URL prefix
Browser connects to the HTTPS default port (port 443)
Initial SSL handshake
- negotiate protocol versions
- negotiate common cipher
- authentication
- generate temporary symmetric session keys
25. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 25December 12, 2014
Email Security
Emails are generally sent as unencrypted plain text
An email is stored on multiple intermediary servers
before reaching its target
relatively easy to intercept
would you also put anything you write in an email on a postcard?
Note that the sender of an email can easily be faked
If we want to fix these problems we have to use third-
party tools such as Pretty Good Privacy (PGP)
privacy
- strong encryption
authentication
- digital signatures
26. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 26December 12, 2014
Email SPAM
Abuse of an electronic messaging
system (email) to deliver unwanted messages
A major part of all SPAM is sent by only a few hundred
spammers
It is estimated that SPAM costs businesses more than
100 billion dollars per year
SPAM is illegal in many countries and some spammers
have already been sentenced to jail
"Solutions"
SPAM filters
micropayments for emails
27. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 27December 12, 2014
Email SPAM ...
Phishing attacks
send emails that look like coming from an official authority
and contain a request for sensitive data (e.g. password)
send emails with links to websites that look like official companies
(e.g. your homebank)
Spammers often use botnets to send their SPAM
28. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 28December 12, 2014
Botnets
Computers infected by malicious software become part
of a large botnet that can be remotely controlled
the largest botnets contain more than 1 million machines
An attacker can buy part of such a botnet to perform
various harmful tasks including
the distribution of SPAM
distributed denial of service attacks (DDOS)
Distributed denial of service attacks are a very powerful
weapon as it has for example been shown when Estonia
was attacked in May 2007
cannot easily be detected and filtered by firewalls since the traffic
is created by many different machines
29. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 29December 12, 2014
Firewalls
Software and hardware firewalls introduce artifical
"bottlenecks" that have to be passed by all the traffic
block specific ports
filter and block content
protect private intranets from incoming Internet traffic
- often only a subnetwork (demilitarised zone) is connected to the Internet
Internet
Client Server
Firewall
30. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 30December 12, 2014
Privacy
While users access information over the Internet,
there is a continuous logging of their requests
Each server stores information about clients who
accessed specific resources
Data mining techniques can be used to combine this
logging information and create user profiles
can for example be used for user-targeted advertising
Users also "deliberately" publish personal information
e.g. on Facebook
Published information often cannot be easily deleted
e.g. still accessible via Internet Archive (http://www.archive.org)
31. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 31December 12, 2014
Web Log
Log entry created every time a web server is accessed
A log entry typically contains information about
IP address of the requesting machine
accessed URL
request time
refer link (previous page accessed by the client)
- sent as part of the HTTP Request
browser type
errors that occured
...
32. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 32December 12, 2014
Web Log
Web logs can be combined with other information
e.g. login information can be used to reveal a user's identity
Refer link
enables access to potentially private information
e.g. if previous request was an HTML form request using the GET
method then all the data will be available as part of the URL
XXX.XXX.XXX.193 - - [02/Dec/2009:05:50:40 +0100] "GET /knives-shun-c-81_114-l-en.html?gclid=CLOFucf5tp4CFc5L5Qod8jQzpA HTTP/1.1" 200 65478
"http://guelph.kijiji.ca/f-Shun-Classifieds-W0QQKeywordZShunQQisSearchFormZtrue" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.15)
Gecko/2009101601 Firefox/3.0.15"
XXX.XXX.XXX.116 - - [02/Dec/2009:05:50:42 +0100] "GET /images/Jamie%20Oliver/flavourShakerSchwarz.jpg HTTP/1.1" 200 3594
"http://www.tenera.ch/kenwood-pasta-roller-at970a-for-lasagne-base-unit-p-1314-l-en.html" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1;
GTB5; .NET CLR 1.1.4322; MS-RTC LM 8; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
XXX.XXX.XXX.139 - - [02/Dec/2009:05:52:19 +0100] "GET /stylesheet.css HTTP/1.1" 200 10185 "http://www.tenera.ch/kai-seki-magoroku-redwood-
nakirimesser-165-cm-p-1433-l-de.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
SV1) )"
XXX.XXX.XXX.139 - - [02/Dec/2009:05:52:19 +0100] "GET /kai-seki-magoroku-redwood-nakirimesser-165-cm-p-1433-l-de.html HTTP/1.1" 200 60636
"http://www.google.ch/search?hl=de&source=hp&q=seki+magoroku&meta=&aq=0&oq=seki+ma" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) )"
XXX.XXX.XXX.139 - - [02/Dec/2009:05:52:21 +0100] "GET /images/pixel_trans.gif HTTP/1.1" 200 43 "http://www.tenera.ch/kai-seki-magoroku-redwood-
nakirimesser-165-cm-p-1433-l-de.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
SV1) )"
...
web log with refer links
33. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 33December 12, 2014
Web Log File Analysis
Site owner can use
various tools to analyse
the log files
e.g. Webalizer
How much information do
we give away when
accessing a website?
What is happening with the logged data?
combined with other information to reveal IP addresses?
combined with log files from other sites?
- user profiling
intended use of data should be mentioned in the privacy policy
34. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 34December 12, 2014
Cookies Revisited
Persistent cookies can be used to track a
user over time
similar to IP address but more precise
Third-party cookies can be used to build an anonymous
user profile
if a website contains elements that have to be accessed from
another server (e.g. banner ads), then the server can set a cookie
- the third-party server creates a unique resource URL for every page on which
the resource has been embedded
- the user can be tracked on any site that uses the same service (e.g. banner
ads) and an anonymous user profile can be created
Cookies should not be used for authentication
can be modified by a user to forge identity (cookie poisoning)
35. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 35December 12, 2014
Web Bugs
User tracking based on the same idea as
with third-party cookies
Embed a small object (e.g. 1 pixel image) in a webpage
and get informed every time the webpage is accessed
request containing the IP address is sent to the server
The web bugs approach cannot only be used for
webpages but also for other resources such as email,
Word documents etc.
if the user reads an email containing an embedded HTML web
bug, the server knows when the email has been read but also
gets information about the IP address of the mail client
36. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 36December 12, 2014
Other Services with Privacy Issues
Google Earth shows a lot of sensitive information
e.g. military bases etc.
Google Street View shows not only streets and buildings
but also citizens
privacy of individuals might be violated since they are shown at
strange places or in weird situations
since the blurring of faces and number plates does not always
work, some countries would like to stop the service
Many other free services from Google as well as other
companies harvest personal information and use it, for
example, for customer-targeted advertising
37. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 37December 12, 2014
Video: Google Analytics
38. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 38December 12, 2014
Google Analytics
Very nice tool for web administrators to analyse their
web traffic
easy to "install" over the Web
website administrators have to add a piece of JavaScript code to
their website
- similar to web bug approach shown earlier
Google gets information about site visitors
While a user can normally choose to use a free service
(e.g. Gmail) or not, the user has no choice when it
comes to the tracking via Google Analytics
How save is the captured data?
what if somebody manages to steal the data?
39. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 39December 12, 2014
Exercise 11
Security
40. Beat Signer - Department of Computer Science - bsigner@vub.ac.be 40December 12, 2014
References
David Gourley et al., HTTP: The Definitive
Guide, O'Reilly Media, September 2002
Google Analytics Video
http://www.youtube.com/watch?v=rHeKRvo6OhI
R.L. Rivest, A. Shamir and L. Adleman, A Method for
Obtaining Digital Signatures and Public-Key
Cryptosystems Authentication, Communications of the
ACM, February 1978