Title: CS542: Topics in Distributed Systems
 1CS542 Topics inDistributed Systems
Security 
 2Why are Distributed Systems insecure?
- Distributed component rely on messages sent and 
 received from network.
- Is network (especially WAN networks) secure? 
- Packets can be intercepted and modified at 
 network layer!
- Is client component secure? 
- Is client component who it claims to be? 
- Are users of calling components really who they 
 claim to be?
3Security Threats 
- Leakage An unauthorized party gains access to a 
 service or data.
- Attacker obtains knowledge of a withdrawal or 
 account balance, e.g., via eavesdropping
- Tampering Unauthorized change of data, 
 tampering with a service
- Attacker changes the variable holding your 
 personal data
- Vandalism Interference with proper operation, 
 without gain to the attacker
- Attacker does not allow any transactions to your 
 account
- E.g., DOSdenial of service 
-  
4How Attacks are Carried Out
- Attacks on Communication Channel / Network 
- Eavesdropping  Obtaining copies of messages 
 without authority.
-  Masquerading  Sending or receiving messages 
 with the identity of another principal (user or
 corporation). Identity theft.
-  Message tampering  Intercepting messages and 
 altering their contents before passing them onto
 the intended recipient.
- Replaying  Intercepting messages and sending 
 them at a later time.
- Denial of Service Attack  flooding a channel or 
 other resources (e.g., port) with messages.
-  
5Addressing the Challenges
- Leakage An unauthorized party gains access to a 
 service or data.
- Confidentiality  protection against disclosure 
 to unauthorized individuals.
- Tampering Unauthorized change of data, 
 tampering with a service
- Integrity  protection against alteration or 
 corruption.
- Vandalism Interference with proper operation, 
 without gain to the attacker
- Availability  protection against interference 
 with the means to access the resources.
-  
6Security Requirements
- Authentication ensures that sender and receiver 
 are who they are claiming to be
- Data integrity ensure that data is not changed 
 from source to destination
- Confidentiality ensures that data is read only 
 by authorized users
- Non-repudiation ensures that the sender has 
 strong evidence that the receiver has received
 the message, and the receiver has strong evidence
 of the sender identity. The sender cannot deny
 that it has sent the message and the receiver
 cannot deny that it has received the message
7Security Policies  Mechanisms 
- A Security Policy indicates which actions each 
 entity (user, data, service) is allowed or
 prohibited to take.
- E.g., Only an owner is allowed to make 
 transactions to his account.
-  A Security Mechanism implements and enforces the 
 policy
-  
8Security Mechanisms
- Encryption / decryption transforming data into 
 something an attacker cannot understand and
 vice-versa, i.e., providing a means to implement
 confidentiality, as well as allowing user to
 check whether data have been modified.
- Authentication verifying the claimed identity of 
 a subject, such as user name, password, etc.
- Authorization checking whether the subject has 
 the right to perform the action requested. verify
 access rights of principal for resource.
- Auditing tracing which subjects accessed what, 
 when, and which way. In general, auditing does
 not provide protection, but can be a tool for
 analysis of problems. Mainly an offline analysis
 tool, often ex-post.
9Designing Secure Systems
- Need to make worst-case assumptions about 
 attackers
- exposed interfaces, insecure networks, algorithms 
 and program code available to attackers,
 attackers may be computationally very powerful
- Typically design system to withstand a known set 
 of attacks (Attack Model or Attacker Model)
- Tradeoff between security and performance impact 
- Designing Secure Systems 
- Traditionally done as a layer on top of existing 
 protocols.
- Three phases 
- Design security protocol 
- Analyze Protocol Behavior when under attacks 
- Measure effect on overall performance if there 
 were no attacks (the common-case)
10Familiar Names in the Security Literature
Source G. Coulouris et al., Distributed Systems 
Concepts and Design, Third Edition. 
 11Notational Conventions
Source G. Coulouris et al., Distributed Systems 
Concepts and Design, Third Edition. 
 12Cryptographic Terminology
- Plain text the message before encryption. 
- Cipher text the message after encryption. 
- Key information needed to convert from plain 
 text to cipher text (or vice-versa).
- Function the encryption or decryption algorithm 
 used, in conjunction with key, to encrypt or
 decrypt message.
- Key distribution How to distribute keys between 
 senders and receivers
13Requirements for modern cryptography
- Kerkhoffs principle knowledge of encryption 
 algorithm should not be an advantage
- With computers a brute force attempt is possible, 
 i.e. try every possible substitution until a
 valid message is produced.
- Computers are good at this, modern schemes must 
 be computationally hard to solve to remain
 secure.
- 15 May 1973 American National Bureau of standards 
 requests proposals for encryption standard
- Data Encryption Standard, DES, developed. 
 Standard describes DEA, Data Encryption Algorithm
- Since November 26, 2001, theres AES, based on 
 Rijndael
14Cryptography 
-  Encoding (encryption) of a message that can only 
 be read (decryption) by a key.
- In shared key cryptography (symmetric 
 cryptography) the sender and the recipient know
 the key, but no one else does.
- E.g., DES (Data Encryption Standard)  56 b key 
 operates on 64 b blocks of data. Notation KAB
 (M).
- How do Alice and Bob get the shared key KAB to 
 begin with?
-  In public/private key pairs messages are 
 encrypted with a published public key, and can
 only be decrypted by a secret private decryption
 key.
- E.g., RSA / PGP keys  at least 512 b long
Code for E  D is open-source (hence known to 
attacker)
D(K, MK)M
E(K,M)MK
MK
Bob
Alice
Decryption
Encryption
Plain Text (M)
Decryption KBpriv, D
Plain Text (M)
Encryption KBpub, E 
 15Cryptography 
- Shared versus public/private 
- Shared reveals information to too many 
 principles may need key distribution and
 revocation/repudiation mechanisms
- In electronic commerce or wide area applications, 
 public/private key pairs are preferred to shared
 keys.
- Public/private key encrypt/decrypt ops are costly 
- May use hybrid pub/pri generates a shared key. 
- Presentation of many next few protocols 
 independent of which keying scheme, viz., shared
 or pub/priv
16Symmetric Key 
- Both the sender and the receiver use the same 
 secret keys
Plaintext
Plaintext
Internet
Encrypt with secret key
Decrypt with secret key
Ciphertext 
 17DES/AES Symmetric Encryption
- One key is used to both encrypt and decrypt data 
- Encryption and decryption functions are often 
 chosen to be the same
- Security should not be compromised by making 
 function well-known as security comes from secret
 keys
18DES/AES Using Secret Keys
- Sender and recipient exchange keys through some 
 secure, trusted, non-network based means.
- Sender encodes message using function and sends, 
 knowing that only the holder of the key (the
 intended recipient) can make sense of it.
- Recipient decodes message  knows that only a 
 key-holding sender could have generated it.
- Message can be captured but is of no use.
19Data Encryption Standard (DES)
- DES encrypts a 64-bit block of plain text using a 
 56-bit key
- Three phases 
- Permute the 64 bits in the block 
- Apply a given operation 16 times on the 64 bits 
- Permute the 64 bits using the inverse of the 
 original permutation
1st phase IP(input)
Round 1
.
.
.
key
2nd phase
Round 16
3rd phase IP-1(input) 
 20Initial Permutation (IP)
- IP bit 58 of input becomes 1st bit, bit 50 
 becomes 2nd bit, etc
58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 
54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 
41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 
45 37 29 21 13 5 63 55 47 39 31 23 15 7 
- IP-1 inverse of IP, e.g., IP(1)  58, IP-1 (58) 
 1
40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 
6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 
44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 
10 50 18 58 26 33 1 41 9 49 17 57 25  
 212nd Phase Operation in each round
0
- 16 rounds 
- Each round i select a 48 bit key Ki from the 
 original 56 bit key K. Perform (F is a given
 function)
63
63
32
31
0
Li-1
Ri-1
Ki
F
Li
Ri 
 22Discussion of DES
- Even through the DES algorithm is well known, but 
 the key or cipher is difficult to break using
 analytical methods.
- Using a brute-force attack by simply searching 
 for a key is possible. However, for 56-bit key,
 there are 256 possible key combinations, if we
 could search one key in 1 µs, then we need 2283
 years to try all keys. (Distributed.net broke a
 DES-56 within 22 hours and 15 minutes, by using
 100,000 PCs).
- Use 3DES (K1, K2, K3), or DES-128 for high 
 security.
23Encrypting Larger Messages
- Initialization Vector (IV) is a random number 
 generated by sender and sent together with the
 ciphertext
Block1
Block2
Block3
Block4
IV
DES
DES
DES
DES
Cipher1
Cipher2
Cipher3
Cipher4 
 24Cipher block chaining (CBC)
- Each plaintext block is combined with the 
 preceding ciphertext block using XOR
- i.e., ciphertextn1  plaintextn1 ? ciphertextn 
- For decryption, the opposite is done, since XOR 
 is idempotent, it works.
- Weaknesses if the same message is sent to 
 multiple locations, theyll be the same and the
 attacker may infer.
- To add different piece of plaintext at the 
 beginning of each message
25A Scheme of Cipher Block Chaining
Source G. Coulouris et al., Distributed Systems 
Concepts and Design, Third Edition. 
 26Stream ciphers
- CBC is inappropriate for some apps., e.g., 
 encryption of telephone conversations
- gt Stream ciphers solve this problem 
- Main idea is to construct a keystream generator. 
- Its analogous to adding noise to the system 
27A Stream Cipher
Source G. Coulouris et al., Distributed Systems 
Concepts and Design, Third Edition. 
 28DES Properties
- Provide confidentiality 
- No mathematical proof, but practical evidence 
 suggests that decrypting a message without
 knowing the key requires exhaustive search
- To increase security use triple-DES, i.e., 
 encrypt the message three times
29Secret Key Encryption
- Disadvantage Number of keys needed increases 
 quadratically by number of objects (one key per
 pair of communicating objects)
- Another problem with private key 
- Key distribution 
- Public Key (Asymmetric) Encryption overcomes 
 these problem
30Public-Key Cryptosystems RSA
- Asymmetric algorithm a private and a public key 
 are used
- First proposed by Diffie and Hellman 
- Basis Trap-door functions 
- Are special type of one-way-functions that has a 
 secret exit, it is easy to compute it in one-way
 but it is infeasible to compute the inverse if
 the secret is unknown
- Two keys, Ke and Kd 
-  D(Kd, E(Ke, M))  M 
- RSA (Rivest, Shamir, and Adelman) Algorithm
31Public-Key Cryptography RSA (Rivest, Shamir, 
Adleman)
- Sender uses a public key 
- Advertised to everyone 
- Receiver uses a private key
Plaintext
Plaintext
Internet
Encrypt with public key
Decrypt with private key
Ciphertext 
 32Asymmetric Encryption
- Gives 'one-way' security. 
- Two keys generated, one used with decryption 
 algorithm (private key) and one with encryption
 algorithm (public key).
- Generation of private key, given public key is 
 computationally hard.
- Does not need secure key transmission mechanism 
 for key distribution.
33Asymmetric Encryption Using Public Keys
- Recipient generates key pair. 
- Public key is published by trusted service. 
- Sender gets public key, and uses it to encode 
 message.
- Recipient decrypts message with its private key. 
- Replies can be encoded using senders public key 
 from the trusted distribution service.
- Message can be captured but is of no use.
34RSA Algorithm
- Generating the private and public key requires 
 four steps
- Choose two very large prime numbers, p and q 
- Compute n  p x q and z  (p  1) x (q  1) 
- Choose a number d that is relatively prime to z 
- Compute the number e such that e x d  1 mod z 
35Generating Public and Private Keys
- Public key consist of pair (n, e) 
- Private key consists of pair (n, d) 
36RSA Encryption and Decryption
- Encryption of message block m 
- c  me mod n 
- Decryption of ciphertext c 
- m  cd mod n
37Example (1/2)
- Choose p  7 and q  11 ? n  pq  77 
- Compute encryption key e (p-1)(q-1)  610  60 
 ? chose e  13 (13 and 60 are relatively prime
 numbers)
- Compute decryption key d such that 13d  1 mod 
 60 ? d  37 (3713  481)
38Example (2/2)
- n  77 e  13 d  37 
- Send message block m  7 
- Encryption c  me mod n  713 mod 77  35 
- Decryption m  cd mod n  3537 mod 77  7
39Properties
- Confidentiality 
- A receiver B computes n, e, d, and sends out (n, 
 e)
- Everyone who wants to send a message to A uses 
 (n, e) to encrypt it
- How difficult is to recover d ? (Someone that can 
 do this can decrypt any message sent to B!)
- Recall that 
- d is relatively prime to (p-1)(q-1) 
- So to find d, you need to find prime factors p 
 and q
- This is provably very difficult 
40Public Key Encryption
- Transmission of message is secure 
- as only B has the matching private key to decrypt 
 message
- Differences between public and secret key 
- One pair of keys generated for every object, so 
 number of keys is linear to number of objects
- Because different functions 
- use of public keys is more complicated for reply 
 messages. A must generate pair of keys and
 publish its public key, which B acquires to
 encrypt reply message
41Pretty Good Privacy
- Public Key encryption used in PGP 
- Generally available, and can be used for 
- encryption of messages 
- digital signatures. 
- PGP combines DES and RSA 
- DES fast, but symmetric, hence key distribution 
 problem
- RSA slower, but no key distribution problem 
- Solution Use RSA to encrypt and distribute key 
 for DES encryption!!!