Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

CS 1653: Applied Cryptography and Network security

Summer 2019

Final Examination

August 1, 2019

problem 1.

(a) [5 points] True or False?

The authentication process (i.e.)the login program) must have read and write access to the password ile.

In password salting in UNIX) a random  12-bit salt is used as a key to encrypt the password using the crypt() function.

Biometric authentication is typically used as a secondary authenticator.

In a secure conversation between two entities) generating fresh keys regularly is impor- tant to protect forward secrecy of individual sessions.

Consider the Needham-schroeder mediated authentication protocol described below. Assume that an attacker Eve intercepts the message { Alice || KAB  }KBT  and later learns the session key KAB . Eve can now launch a replay attack and successfully impersonate Alice to Bob.

Alice → Trent :    { Alice || Bob || R1 }KAT

Trent → Alice :    { Alice || Bob || R1  || KAB  || { Alice || KAB  }KBT  }KAT

Alice  Bob :     { Alice || KAB   }KBT

Bob  Alice :     { R2  }KAB

Alice  Bob :     { R2  - 1 }KAB

(b) [5 points] Multiple choice

1.  (Mark all that applg) which of the following is NOT an efective security mechanism against online password guessing attacks?

 Exponential backofs in wait time after each failed attempt

 solving a CAPTCHA before password entry

 Password salting

 shadow password iles

 Locking an account after a certain number of failed attempts

2.  Assume that a user U and a server S have a shared secret Ku .  Consider the single- message login protocol shown below:

S :   I am U{ timestamp }Ku

which of the following is NOT true about the protocol.

O  The server needs to maintain volatile state (e.g.)previously used timestamps) O  U and S need synchronized clocks.

O  Attackers snooping on the wire can reuse U,s encrypted timestamp to log into other servers within an acceptable window of time

O  If an attacker can convince the server to roll back its clock)old encrypted timestamps can be reused.


3. The PKI trust model commonly used in PGP is:

O  The Monopoly Model

O The Oligarchy Model

O The Delegated CAs Model

O The Anarchy Model

4.  (Mark all that applg) which of the following methods can be used to securely exchange public keys.

口 Acquisition from a trusted certiicate authority

 Encrypt public keys with a symmetric key derived from a shared password   O田ine coniguration (SSH-like)

5. which of the following is NOT an assumption in the Kerberos mediated authentication protocol.

O A Public Key Infrastructure (PKI) is in place

O  The Authentication server and the Ticket Granting server are highly secured   Application servers are moderately secure, though may be compromised

O  Client machines are untrusted

Figure 1: The architecture of a biometric-based authentication device.

(c) [3 points] A possible threat against biometric-based authentication devices (like the one in the igure above) is to “steal” a biometric sample from the database of one device and use it on another device after bypassing the sensor.  Explain one way to protect against that threat.


Assume that a user U and a server S have a shared secret KU  derived from U,s password. consider the two login protocols shown below:

protocol 1

U → S :   I am U

S :    Generate a random R

S → U :   f (KU , R)

U → S :   R

protocol 2

U → S :   I am U

S :    Generate a random R

S → U :   R

U → S :   g(KU , R)

(d) [2 points] which of the two protocols (if any) can be used to launch an o田ine password guessing attack? (Mark all that apply.)

 protocol 1

 protocol 2

(e) [10 points] Assume that a user U and a server S have a shared secret KU . consider the mutual authentication protocol shown below:

U → S :   I am U , R2

S → U :   R1 , f (KU , R2 )

U → S :   f (KU , R1 )

what types of cryptographic functions can be used for the function f in the above protocol? (MaTK all that applg.)

 one-way cryptographic hash function

口 two-way symmetric encryption

complete the missing parts in the below exchange between an attacker C and S in which C will be able to successfully impersonate U.

C → S :   I am U , R2

S → C :   R1 , f (KU , R2 )

C → S :   I am U ,

S → C :

C → S :

Describe a ix to the above attack.

problem 2. Real-Time communication security

Consider the secure ile sharing application that you developed over the course of Cs 1653. In phase 4 of the project, you implemented a group key management scheme to ensure that iles were only readable to members of the group with which they were shared.

(a) [5 points] Explain what it means to provide foTwaTd secTecg and backwaTd secTecg within the context of this application domain.

(b)  [5  points]  In your implementation of the ile sharing  application,  did you choose to provide forward secrecy? why or why not? what about backward secrecy?

(c) [10 points] Assuming public knowledge of a group of large prime order p and a generator g, the following diagram illustrates an augmented Di伍e-Hellman protocol as carried out between two principals, Alice (A) and Bob (B). KA  and KB  are the public keys of Alice and Bob, respectively.

A    :   Generate a random value a

A → B    :   { ga  mod p }KB

B    :    Generate a random value b

B → A    :   { gb  mod p }KA

Both parties    :   compute K = gab  mod p

:    Forget a and b

A → B    :   { M1  }K

B → A    :   { M2  }K

Does the above protocol exhibit plausible deniabilitg             (y/n)

If yes, explain how anyone can generate the above communication transcript.  If not, explain why.

(d) [5 points] Given the following TLS cipher suite TLS RSA WⅠTH AES 128 CBC SHA, answer the following questions.

what is the public-key algorithm?

what is the symmetric-key algorithm?

How long is the key used in symmetric-key encryption?

what is the mode of operation used in symmetric-key encryption?

what is the cryptographic hashing algorithm?

problem 3.  Os and Application protection

(a)  [10  points] Identify what is wrong with the following password salt construction.   A  random 12-bit salt is used as the key to encrypt the password using Blowish.  The username) salt value)and the “encrypted password” are stored.

(b)  [5 points] Assuming an  SQL query is formed using the following line of pseudo-code) whereby the user input is assigned into the userName and password variables without vali-  dation.

query   =   " SELECT     FROM  USERS WHERE USERNAME=," + userName +   ",  AND PASSWORD  =   ," +  password +   ",;";

Give an input to the userName that would cause a SQL injection attack.

(c) [10 points] consider the following list of security analysis questions.  For each question) determine whether the question (a) is easier to answer using access control lists (AcLs)) (b)  is easier to answer using capabilities) (c) is similarly easy to answer using  eitheT AcLs or  capabilities) or (d) cannot be answered easily using either AcLs or capabilities.

. which users can access the ile salaries. xls?

.  can Bob eveT obtain the right to modify secrets. txt?

.  which objects does Alice have the ability to read?

.  can charlie run the program ManageCamera. exe?

problem 4.  Network security and Data privacy

(a)  [10 points]  charlie wants to ensure that any messages that he sends to Dave remain conidential, and that the very fact that he is talking to Dave at all is hidden from other people. That is, charlie requires message PTivacg and message 月ow confdentialitg for all of his communications with Dave. Illustrate how charlie can communicate with Dave in such a way that (i) all of charlie,s messages remain private, and (ii) no single principal knows that charlie is communicating with Dave. You may assume the existence of other principals in the network.

(b) [5 points] Assume that Alice wants all of her email to remain conidential while it is in transit. If all message transfer agents (MTAs) in the network communicate over TLS, would

Alice gain any additional beneit from encrypting her messages using PGP?               (y/n)

why or why not?

(c) [5 points] consider the data table below. Identify the explicit identiiers, quasi-identiiers, and sensitive attributes in this table.   Assume that users should not be linkable to their favorite movies.

Explicit identiiers:

Quasi-identiiers:

sensitive attributes:

(d) [5 points] Assume a 1G-irewall has the following two rules:

allow TCP  *  *  123.4.5.6  80

deny TCP 67.8.9.10  *  123.4.5.6  80

Explain the meaning of the irst rule.

Explain the meaning of the second rule.

would a web request from 67.8.9.10 get permitted by the irewall? Assume the order of the rules have changed into:

(y/n)

deny TCP 67.8.9.10  *  123.4.5.6  80

allow TCP  *  *  123.4.5.6  80

would a web request from 67.8.9.10 get permitted by the irewall?

problem 5.  proof-of-work systems

Assume that Alice is the administrator of a multiplayer online video game server.  Lately, her server has been the repeated victim of Internet “trolls” using the voice chat feature to harass other players.  Alice has increased her staf of moderators to ban user accounts who are reported to have engaged in this type of trolling, but this has not mitigated the problem.

(a) [5 points] Describe the problem Alice,s service faces in terms of a resource disparity.

(b) [5 points] How can Alice utilize a proof-of-work system to help mitigate the problem?

(c)  [5 points]  List two weaknesses of computational puzzles when used to defend against Denial-of-service attacks.

weakness 1:

weakness 2:

consider the following computational puzzle, paTtial hash inveTsion.  Assume that H is a cryptographic hash function

challenge:   Message m, security parameter b

solution:   value n such that H(m||n) contains

b consecutive leading 1 bits

(d) [5 points] Given an instance of the above partial hash inversion puzzle (m, b), how does a client solve the puzzle (calculate value n)?

How many hashes does the client need to calculate?             

(e) [5 points] Given a purported solution n to an instance (m, b) of the above partial hash inversion puzzle, how does a server verify that the solution is correct?

How many hashes does the server need to calculate?