Security Qualifier Exam
Fall 2003
Instructions: Please answer any 6 out of the 7 questions.
Give detailed answers to the questions mentioning all the assumptions
you are making and be comprehensive in your answers.
1. Comment on advantages and disadvantages on using the following
algorithms when designing protocols for sensor networks.
a) DES
b) 3-DES
c) AES
Can you suggest other algorithms, or combination of
algorithms that would be more appropriate for sensor network? Please,
clearly state any assumption you make.
2. Assume the following protocol that is to be used for authentication
of Alice (A) to Bob (B).
a) Alice and Bob share IV and K; both secrets.
b) Alice uses the following algorithm for authentication:
If First Time authenticate:
set old_value
= IV;
seq_number =
Random;
Authenticate( ){
Token = old_value XOR seq_number;
seq_number = seq_number + K;
old_value = seq_number * K;
Send Token to Bob;
}
c) Bob uses the following algorithm for verification:
If First Time authenticate:
set old_value
= IV;
Verify(){
Receive Token from Alice;
If( First Time ){
seq_number =
Token XOR old_value;
seq_number =
seq_number + K;
old_value =
seq_number * K;
Verification =
OK;
exit();
}
If( seq_number == Token XOR
old_value )
seq_number =
seq_number + K;
old_value =
seq_number * K;
Verification =
OK;
exit();
}
Verification = FALSE;
}
Analyze the protocol above. Are there values of K
that makes the protocol good, or bad? Modify the protocol to improve
it. Clearly state what your improvements accomplish and the strengths
and weaknesses of the resulting protocol.
3. It is well accepted that the least-privilege principle is a good
idea but common operating systems do not provide adequate support to
enforce it. As hardware resources increase, one idea is the
"virtualization" of physical resources across a number of isolated
subsystems where a user can execute applications that require different
privileges. For example, one system can support web and email
applications while another one can support applications that manipulate
sensitive data that is stored locally. Clearly, hardware support and
operating system functionality must be provided to ensure that isolated
systems do not impact each other even when one is compromised. A
graduate student, when hearing this idea, claimed that a simpler
solution is to implement and enforce the Chinese Wall security policy.
If an application has accessed certain files (e.g., pertaining to email
or web), it should not access files in conflicting classes (e.g.,
sensitive files).
Discuss the viability of both of these approaches for ensuring that in
a certain execution context or a session, a user is able to access only
those resources that are needed by the application that are running.
Comment how each may be implemented and discuss how the desired
isolation requirements are met by such implementations. If both
approaches are viable, compare the advantages and disadvantages of each.
4. The Hydra system used capabilities to solve a number of well known
protection problems. One of them was the "mutual suspicion" problem.
Describe what this problem is and explain how it is solved by Hydra.
Hydra was not a success partly because due to the slow hardware it ran
on, its performance was poor. However, now with faster hardware,
perhaps it may be viable to run it on modern processors and provide
adequate performance. Given that most interesting applications now run
on multiple machines, we want to solve the security/protection problems
in such environments. In case of the mutual suspicion problem, an
application may call a utility that runs at a remote machine. Can
Hydra's capability based solution be extended to such a distributed
environment by running Hydra on both the machines where the application
and the utility run. Discuss how capabilities can be created,
propagated and used to enforce access in this environment if you think
such a solution is feasible. Otherwise, explain why this will not work.
5. What is the "safety problem"? Is it decidable? Sketch a proof.
6. Let M be a plaintext message, and K = 111...111 be a DES encryption
key consisting of all 1's. Show that if C=K{M} then M=K{C}, so
encryption (using the DES algorithm) twice with this key returns the
plaintext. What are the other DES keys that have the same property?
7. When constructing an anomaly detection model for a program, we can
use static or dynamic analysis. Discuss the advantages and
disadvantages of each of the approaches. Propose ways to integrate the
two approaches. Give examples when appropriate.