Finalsol f05
Finalsol f05
Finalsol f05
Joseph/Tygar/Vazirani/Wagner Final
Computer Security
Soln
let q be a quorum of share holders (i.e., a threshold so that it will take at least q shares to recover the secret s). Assume that 1 < q < n < p. (a) Explain how Shamir creates a function f (x) such that: f (0) = s (mod p); and f (1) mod p equals the rst share; and f (2) mod p equals the second share; etc. Be explicit. Let f (x) = s + a1 x + + aq1 xq1 , where f1 , . . . , fq1 are chosen at random mod p. The ith share is then computed as f (i) mod p. (b) Explain briey (maximum of 50 words!) why one can recover s when one has values of f (x) mod p for at least q distinct values of x (where 0 < x < p). Solution #1: Lagrange interpolation. Suppose we know f (a i ) = bi (mod p). Dene the function i by i (x) = j=i (x a j ), and let f (x) = i bi i (ai )1 i (x). Then f (0) mod p is the secret s. Solution #2: Linear algebra. Equate f (x) = f 0 + + fq1 xq1 , where f0 , . . . , fq1 are q formal unknowns. Each equation of the form f (a) = b (mod p), for some known a, b, yields one linear equation on the unknowns f 0 , . . . , fq1 , namely, b = f 0 + + fq1 aq1 (mod p). With q values of f (x), we get q linear equations in q unknowns, and we can solve for f 0 , . . . , fq1 . Then f0 is the secret s.
(b) Assume Alice, Bob, and T have synchronized clocks. Show how to modify the messages of the above protocol to defend against replay attacks. The only changes to the protocol permitted are to add additional values to the three messages in the protocol (but you may not delete any values or otherwise change the structure of the message ow). Make the minimum number of changes to the protocol necessary for security, and be precise about exactly where your new added values will go. Below, t represents a timestamp chosen by Alice. New additions are underlined. Alice T : {I want to authenticate with Bob at time, t }KA T Alice : {Use session key, K , at time , t ,and send Bob this message, {This is Alice using session key, K , at time, t }KB }KA Alice Bob : {This is Alice using session key, K , at time, t }KB Each party that receives a timestamp should check that it is current, and if not, terminate the session.
(a) Name one threat that system call interposition protects against but virtual memory does not. Opening a network connection (e.g., to attack other machines). Opening les (e.g., to read secret les or modify the users data). Sending signals to other processes (e.g., to kill them). (b) The military runs a multi-user computer that all government employees can log into; programs that require access to top-secret data are run inside a virtual machine. Richard Stallman is given an account on this computer so that he can install emacs. Colonel Greene runs a copy of Stallmans emacs program inside a virtual machine and uses it to edit the top-secret list of UFOs stored in Area 51s warehouses. (Only Greene has an account on the guest OS running inside the virtual machine.) If Richard Stallman were malicious, could he arrange to learn the contents of this list? If yes, explain how; if no, say why not. Yes. He could embed a Trojan horse in emacs that uses a covert channel to leak out the contents of the UFO list. For instance, emacs might module the system load to communicate the contents of the le it is editing (1 = do heavy computation for one second, 0 = do nothing for one second). Richard could use his account to monitor the system load and thus receive the secret information that is being leaked by his Trojaned emacs.
No. The two endpoints might have arranged to conspire to fool Danielle by generating a fake (but valid-looking) transcript in advance, and then relaying each successive message in the fake transcript through Danielle. They can do this even without knowing a square root of y (see part (a)).