end-to-end encryption

advertisement
1
Information Security and
Management
7. Confidentiality Using Symmetric
Encryption (Chap14-Part1)
Chih-Hung Wang
Fall 2011
2
Confidentiality using Symmetric Encryption
• Traditionally symmetric encryption is used to provide message
confidentiality
• Consider typical scenario
▫ Workstations on LANs access other workstations & servers on
LAN
▫ LANs interconnected using switches/routers
▫ with external lines or radio/satellite links
▫ The wiring closet itself is vulnerable
• Consider attacks and placement in this scenario
▫ snooping from another workstation
▫ use dial-in to LAN or server to snoop
▫ use external router link to enter & snoop
▫ monitor and/or modify traffic one external links
3
Points of Vulnerability
4
Confidentiality using Symmetric Encryption
• Have two major placement alternatives
• link encryption
▫ encryption occurs independently on every link
▫ implies must decrypt traffic between links
▫ requires many devices, but paired keys
• end-to-end encryption
▫ encryption occurs between original source and
final destination
▫ need devices at each end with shared keys
5
Link vs. End-to-End Encryption
6
Link Encryption
• Each vulnerable communications link is equipped
on both ends with an encryption device.
▫ All traffic over all communications links is secure.
▫ Disadvantage: the message must be decrypted each time it
enters a packet switch.
▫ The message is vulnerable at each switch.
▫ Each pair of nodes that share a link should share a unique
key, with a different key used on each link. Thus, many
keys must be provided.
7
End-to-End Encryption
• The encryption process is carried out at the two end
systems.
▫ The data in encrypted form are then transmitted unaltered
across the network to the destination terminal or host.
▫ The destination shares a key with the source and so is able
to decrypt the data.
▫ The host may encrypt only the user data portion of the
packet and must leave the header in the clear.
▫ Provide a degree of authentication
▫ To achieve greater security, both link and end-to-end
encryption are needed.
8
Comparison
Link Encryption
End-to-End Encryption
Security within end systems and intermediate systems
Message exposed in sending host
Message exposed in intermediate nodes
Message encrypted in sending host
Message encrypted in intermediate nodes
Role of user
Applied by sending host
Transparent to user
Host maintains encryption facility
One facility for all user
Can be done in hardware
All or no message encrypted
Applied by sending process
Under applies encryption
User must determine algorithm
User selects encryption scheme
Software implementation
User chooses to encrypt, or not, for each
message
Implementation concerns
Require one key per hos/tintermediate node pair
Provides host authentication
Require one key per user pair
Provided user authentication
9
Logical Placement of End-toEnd Encryption
• Network-layer encryption
▫ Front-end processor function
10
Scope
11
Encryption Strategies
12
Traffic Analysis (1)
• When using end-to-end encryption must leave
headers in clear
▫ so network can correctly route information
• Hence although contents protected, traffic
pattern flows are not
• Ideally want both at once
▫ end-to-end protects data contents over entire
path and provides authentication
▫ link protects traffic flows from monitoring
13
Traffic Analysis (2)
• Is monitoring of communications flows between parties
▫ useful both in military & commercial spheres
▫ can also be used to create a covert channel
• Types of information that can be derived from a traffic analysis
attack
▫ Identities of partners
▫ How frequently the partners are communicating
▫ Message pattern, message length, or quantity of messages that
suggest important information is being exchanged
▫ The events that correlative with special conversations between
particular partners.
14
Traffic Analysis (3)
• Link encryption approach
▫ Network-layer headers are encrypted, reducing
the opportunity for traffic analysis.
▫ But it is still possible to access the amount of
traffic on a network and to observe the amount of
traffic entering and leaving each end system
• Countermeasure
▫ Traffic padding
15
Traffic Analysis (4)
Traffic-padding Encryption Device
16
Traffic Analysis (5)
• End-to-end encryption approach
▫ Encryption is implemented at the application: the
opponent can determine which transport entities are
engaged in dialogue.
▫ Encryption is housed at the transport layer: the networklayer address and traffic patterns remain accessible
• Countermeasure
▫ Pad out data units to a uniform length at either the
transport or application level.
▫ The tactics deny an opponent knowledge about the amount
of data exchanged between end users and obscure the
underlying traffic pattern.
17
Key Distribution
• Symmetric schemes require both parties to share
a common secret key
• Issue is how to distribute this key without
allowing others to see the key.
• Often secure system failure due to a break in the
key distribution scheme
18
Key Distribution
•
Given parties A and B have various key
distribution alternatives:
1.
2.
3.
4.
A can select key and physically deliver to B.
A third party can select the key and physically deliver it
to A and B.
If A and B have previously and recently used a key, one
party can transmit the new key to the other, encrypted
using the old key.
If A and B each has an encrypted connection to a third
party C, C can deliver a key on the encrypted links to A
and B.
19
Problems
• If end-to-end encryption is
done at a network or IP level,
then a key is needed for each
pair of hosts.
• If there are N hosts, the
number of required keys is
[N(N-1)/2].
20
The Use of Key Hierarchy
21
Key Distribution Scenario
22
Key Distribution Issues
• Hierarchical Key Control: Hierarchies of KDC’s
required for large networks, but must trust each
other
• Session Key Lifetime: session key lifetimes
should be limited for greater security
• Use of automatic key distribution on behalf of
users, but must trust system
• Use of decentralized key distribution
• Controlling Key Usage
23
A Transparent Key Control Scheme
24
Decentralized Key Control
• The use of a key distribution center imposes the requirement
that the KDC be trusted and be protected from subversion.
This requirement can be avoid if key distribution is fully
decentralized.
Disadvantage: Needs a large amount of Master key
25
Controlling Key Usage (1)
• Associate a tag with each key (8-bits)
▫ One bit indicates whether the key is a session key
or a master key.
▫ One bit indicates whether the key can be used for
encryption.
▫ One bit indicates whether the key can be used for
decryption.
▫ The remaining bits are spares for future use.
26
Controlling Key Usage (2)
Control Vector Technique
27
Controlling Key Usage (3)
• Encrypted session key
Hash value = H = h(CV)
Key input = Km  H
Ciphertext = Ekm  H[Ks]
• Decryption
Ks = Dkm  H[Ekm  H[Ks]]
28
Random Number Generation
• Many uses of random numbers in cryptography
▫ nonces in authentication protocols to prevent replay
▫ session keys generation
▫ public key generation
• Criteria
▫ Uniform distribution
▫ Independence
 No one value in the sequence can be inferred from
the others
• Unpredictability
29
Natural Random Noise
• Best source is natural randomness in real world
• Find a regular but random event and monitor
• Do generally need special h/w to do this
▫ eg. radiation counters, radio noise, audio noise,
thermal noise in diodes, leaky capacitors, gas
discharge tubes etc.
30
Published Sources
• A few published collections of random numbers
• Rand Co, in 1955, published 1 million numbers
▫ generated using an electronic roulette wheel
▫ has been used in some cipher designs cf Khafre
• Earlier Tippett in 1927 published a collection
• Issues are that:
▫ these are limited
▫ too well-known for most uses: predictable
31
Pseudorandom Number Generators (PRNGs)
• Algorithmic technique to create “random
numbers”
▫ Although not truly random, can pass many tests
of “randomness”
32
Linear Congruential
Generator
• Common iterative technique using:
Xn+1 = (aXn + c) mod m
• Given suitable values of parameters can produce a
long random-like sequence
• Suitable criteria to have are [PARK88]:
▫ T1: function generates a full-period
▫ T2: generated sequence should appear random
▫ T3: efficient implementation with 32-bit arithmetic
• Note that an attacker can reconstruct sequence
given a small number of values
33
Using Block Ciphers as Stream Ciphers
• Can use block cipher to generate numbers
• Use Counter Mode
Xi = EKm[i]
• Use Output Feedback Mode
Xi = EKm[Xi-1]
• ANSI X9.17 PRNG
▫ uses date-time + seed inputs and 3 triple-DES
encryptions to generate new seed & random
34
Cyclic Encryption
35
ANSI X9.17 PRNG
Ri  EDE k1 .k2 [vi  EDE k1 .k2 [DTi ]]
vi 1  EDE k1 .k2 [ Ri  EDE k1 .k2 [DTi ]]
36
Blum Blum Shub (BBS) Generator
• Based on public key algorithms
• Use least significant bit from iterative equation:
▫ X0 = s2 mod n
▫ For i=1 to 
▫
Xi=(Xi-1)2 mod n
▫
Bi=Xi mod 2
 where n=p.q, and primes p,q=3 mod 4
•
•
•
•
•
Unpredictable, passes next-bit test
Security rests on difficulty of factoring N
Is unpredictable given any run of bits
Slow, since very large numbers must be used
Too slow for cipher use, good for key generation
37
Example of BBS
Download