CS 854 – Hot Topics in Computer and Communications Security

Download Report

Transcript CS 854 – Hot Topics in Computer and Communications Security

CS 854 – Hot Topics in Computer
and Communications Security
Fall 2006
Introduction to
Cryptography and Security II
1
Announcements
 First paper review is due on Monday
Review one of the two mandatory papers
 FYI, I am the co-author of one of them

2
Digital Signatures
Cryptographic technique analogous to handwritten signatures.
 sender (Bob) digitally signs document,
establishing he is document owner/creator.
 verifiable, nonforgeable, nonrepudiable: recipient
(Alice) can prove to third party that Bob, and no
one else (including Alice), must have signed
document
 message integrity does not always require
nonrepudiation

See later
3
(Cryptographic) Hash Functions
Computationally expensive
to sign long messages m
Goal: fixed-length, easyto-compute digital
“fingerprint” H(m)
message digest,
cryptographic hash
function
 can compute KB(H(m))
instead of KB(m)
large
message
m
H: Hash
Function
H(m)
4
Properties of H(m)
 Input: arbitrarily long string of bits
 Output: fixed-size (i.e., H() is many to one)
 Given m, easy to compute H(m)
 One-way property/pre-image resistant
 For any given value x, it is computationally infeasible to
find m such that H(m) = x
 Weak-collision resistance/2nd pre-image resistant
 For any given message m1, it is computationally infeasible
to find m2 such that H(m1) = H(m2)
 Strong-collision resistance/collision resistance
 It is computationally infeasible to find a pair (m1,m2) such
that H(m1) = H(m2)
5
Does collision resistance imply
preimage resistance?
 Alfred Menezes: No1
 G(x) is collision resistant hash function with nbit output
 H(x) = 1 || x
if x has bitlength n

0 || G(x)
otherwise
 H(x) is collision resistant, but not preimage
resistant
 Doug Stinson: Yes2
 In Random Oracle Model
 Under certain circumstances (e.g., uniform hash
function)
1 Handbook of Applied Cryptography
2Some
observations on the theory of
cryptographic hash functions
6
Message Authentication Code
(MAC)
 MAC allows Alice and Bob to communicate such
that each of them can be sure that received
messages were not tampered with

no non-repudiation
 Keyed hash function can be used for implementing
MAC



e.g., x = SHA-1(k||m), transmit m and x
only Alice and Bob know k
not secure against length-extension attack
 HMAC = H(k XOR a || H(k XOR b || m))
a,b: specified constants
H: preferably SHA-256
7
Entity Authentication
 Prove that you are who you claim to be
 Based on
 what you know
• password

what you own
• badge

what you are
• fingerprint
8
Passwords
 User enters password, computer compares it with
password in file
 Bad if file gets stolen
 Store only password hashes in file


Use salt to avoid dictionary attacks due to weak
passwords
E.g., UNIX
 Susceptible to replay attacks if attacker can sniff
traffic exchanged between user and computer



Use secure channel (e.g., SSL, see later)
Challenge-response protocols
Zero-knowledge protocols
9
Overview
 Network security
 Symmetric-key encryption
 Public-key encryption
 Message integrity and authentication
 Entity authentication
 Key distribution
 Computer security
10
Trusted Intermediaries
Symmetric key problem:
Public key problem:
 How do two entities establish
 When Alice obtains Bob’s
shared secret key over
network?

requires secure channel
(confidentiality, authentication,
and message integrity)
Solution:
 trusted key distribution center
(KDC) acting as intermediary
between entities

E.g., Needham Schroeder
public key (from web site, email, diskette), how does she
know it is Bob’s public key,
not Trudy’s?

requires authenticated
channel and message
integrity
Solution:
 trusted certification
authority (CA)
11
Certification Authorities
 Certification authority (CA): binds public key to
particular entity, E.
 E (person, website) registers its public key with CA.



E provides “proof of identity” to CA.
CA creates certificate binding E to its public key.
certificate contains E’s public key, E’s name and address
(or IP address) and is digitally signed by CA.
Bob’s
public
key
Bob’s
identifying
information
+
KB
Signing
algorithm
CA
private
key
K-
CA
+
KB
certificate for
Bob’s public key,
signed by CA
12
Certification Authorities
 When Alice wants Bob’s public key:
gets Bob’s certificate (from Bob or elsewhere)
 apply CA’s public key to Bob’s certificate, get
Bob’s public key

• Alice needs to know CA’s public key
+
KB
Verify
signature
CA
public
key
Bob’s
public
+
key
KB
+
K CA
13
A certificate contains:
 info about




certificate owner,
including algorithm
and key value
itself (not shown)
serial number
(unique to issuer)
info about
certificate issuer
valid dates
digital signature
by issuer
14
SSL (Secure Socket Layer)
 transport-layer security service
 originally developed by Netscape
 subsequently became Internet standard known as
TLS (Transport Layer Security)
 uses TCP to provide a reliable end-to-end service
 server authentication



browser includes public keys for trusted CAs.
• check your browser
browser receives server certificate, issued by trusted
CA, from server
browser uses CA’s public key to validate certificate
 client authentication
 possible but typically applications use other means
15
SSL Services
 message integrity
 using a MAC with shared secret key
 similar to HMAC but with different padding
 confidentiality
 using symmetric encryption with a shared
secret key defined by Handshake Protocol
 AES, IDEA, RC2-40, DES-40, DES, 3DES,
Fortezza, RC4-40, RC4-128
 message is compressed before encryption
16
SSL Handshake Protocol

allows server & client to:




authenticate each other
to negotiate encryption & MAC algorithms
to negotiate cryptographic keys to be used
comprises a series of messages in phases
1.
2.
3.
4.
Establish Security Capabilities
Server Authentication and Key Exchange
Client Authentication and Key Exchange
Finish
17
SSL Handshake Protocol
RSA-based server authentication:
Phase 2: no server_key_exchange and
certificate_request
Phase 3: no certificate,
client_key_exchange contains premaster secret encrypted with public
key from server certificate,
no certificate_verify
Phase 4: client & server compute master
secret based on pre-master secret
and initial random numbers, finished
messages are
authenticated/encrypted based on
master secret
For client authentication: client sends
signed transcript in certificate_verify
From Stallings
18
SSL/TLS: Good Practices
 never enter confidential information (e.g.,
password) into a Web page that does not
have URL starting with https://...

even when the Web page says that it’s secure
nonetheless…
 pay attention to popup/warning messages
related to SSL or certificates
messages can be cryptic…
 see usability section later in course
 but now you can understand these messages 

19
Secure e-mail
sender wants confidentiality, sender authentication,
message integrity, and non-repudiation
-
KA
m
.
H( )
-
.
KA( )
-
KA(H(m))
+
KS
.
KS( )
+
m
KS
+
.
K B( )
+
Internet
+
KB(KS )
KB
Sender uses three keys: her private key, receiver’s
public key and newly created symmetric key
20
Pretty Good Privacy (PGP)
 widely used secure-email application
 developed by Phil Zimmermann, was target of 3-
year federal investigation in USA
 selected best available crypto algorithms to use
 uses symmetric key cryptography, public key
cryptography, hash function, and digital signature
as described.
 integrated into a single program, easy to use

not always, see usability section later in course
 on Unix, PC, Macintosh and other systems
 originally free, now also have commercial versions
available
21
PGP Key Management
 no centralized CA, every user is own CA
 can sign keys for users they know directly
 key servers collect/distribute (signed) public keys
 forms a “web of trust”
 fully trust keys that I have signed
 (partially) trust keys others have signed if have a chain
of signatures to them
 locally stored public keys are associated with
trust indicators


I fully trust Bob (his public key) to sign keys
I partially trust Alice (her public key) to sign keys
 users can also revoke their keys
22
Web of Trust
From Stallings
23
Overview
 Network security
 Symmetric-key encryption
 Public-key encryption
 Message integrity and authentication
 Entity authentication
 Key distribution
 Computer security
24
Access Control
 Different levels
 Applications (e.g., database)
 Operating system
 Hardware
 Access control matrix
 Rows list resources, columns list people, entries list kind
of access (read, write, execute,…)
 Access control lists (ACLs): column-wise implementation
• List of people that can access a resource

Capabilities: row-wise implementation
• List of resources that a person can access

Hybrid
• ACL upon first access, capability subsequently
25
Multilevel Security
 Information has different levels of
classification

Confidential, secret, top secret,…
 Very well researched due to military
funding
 Security policy: Clearly and concisely
expresses goals of protection mechanism

Confidentiality
• To whom can what information be disclosed

Integrity
• Who is allowed to modify what information
26
Bell-LaPadula Security Policy Model
 Proposed in 1973
 Simple security property
 No process may read data at a higher level
 No read up (NRU)
 People cleared to ‘confidential’ cannot access top secret
data
 *-property
 No process may write to a lower level
 No write down (NRW)
 Process running as ‘top secret’ cannot write files at
‘confidential’ level (maybe inadvertently)
 Mandatory access control
 As opposed to discretionary access control
27
Biba Integrity Model
 Proposed in 1977
 Ignores confidentiality
 Low water mark principle: integrity of an
object is the lowest level of all objects
that contributed to its creation
 Later in course: (Remotely) proving
integrity of a computer (e.g., no virus)
28
Other Aspects of Computer
Security
 Covert channels

Later in course
 Software security
 Buffer overflows
 Cross-site scripting vulnerabilities
 Later in course
 Auditing
 Intrusion detection and recovery
 Computer forensics
29
Cryptography/Security Books
 Mark Stamp, Information Security
 Doug Stinson, Cryptography
 Bruce Schneier, Applied Cryptography
 Ross Anderson, Security Engineering
http://www.cl.cam.ac.uk/~rja14/book.html
 Viega & McGraw, Building Secure Software
 Cranor & Garfinkel, Security and Usability
30
Current/Upcoming
Cryptography/Security Courses
 Fall 2006:

C&O 685: The Mathematics of Public-Key
Cryptography
 Winter 2007:

CS 758: Cryptography/Network Security
 Fall 2007 (planned):
 CS 698 – Computer/Networks Security
31
Conferences of Interest
 Security: USENIX Security, ACM CCS,
IEEE Security & Privacy, NDSS,
SecureComm
 Privacy: PET, WPES, SOUPS
 Economics: WEIS
 Usability: SOUPS, CHI
 Pervasive computing: UbiComp, PerCom,
Pervasive, PerSec
32