\documentclass[11pt]{article}
\usepackage{amsmath, alltt, amssymb, xspace, times, epsfig}

\setlength{\evensidemargin}{0in} \setlength{\oddsidemargin}{0in}
\setlength{\textwidth}{6.5in} \setlength{\textheight}{8.5in}
\setlength{\topmargin}{0in} \setlength{\headheight}{0in}

\renewcommand{\Pr}{\ensuremath{\mathbf{Pr}}\xspace}

\newcommand{\tuple}[1]{\ensuremath{\langle #1 \rangle}\xspace}

\newcommand{\PT}{\ensuremath{\mathsf{PT}}\xspace}
\newcommand{\CT}{\ensuremath{\mathsf{CT}}\xspace}
\newcommand{\Key}{\ensuremath{\mathsf{Key}}\xspace}

\newcommand{\CC}{\ensuremath{\mathcal{C}}\xspace}
\newcommand{\KK}{\ensuremath{\mathcal{K}}\xspace}
\newcommand{\MM}{\ensuremath{\mathcal{M}}\xspace}

\newcommand{\E}{\ensuremath{\mathbb{E}}\xspace}
\newcommand{\D}{\ensuremath{\mathbb{D}}\xspace}
\newcommand{\K}{\ensuremath{\mathbb{K}}\xspace}

\newcommand{\Gen}{\ensuremath{\mathsf{Gen}}\xspace}
\newcommand{\Enc}{\ensuremath{\mathsf{Enc}}\xspace}
\newcommand{\Dec}{\ensuremath{\mathsf{Dec}}\xspace}

\newcommand{\rea}{read}
\newcommand{\wri}{write}


\begin{document}

\thispagestyle{empty}

\noindent \textbf{CS590 DSP: Data Security and Privacy\hspace*{\fill}Spring 2022}
\begin{center}
{\LARGE Homework \#2}
\end{center}



\paragraph{Due date \& time:} 11:59pm on February 15, 2022.
% Hand in at the beginning of class (preferred), or email to the TA
% (li2490@purdue.edu) by the due time.
\underline{Please hand in your homework on Brightspace.}


\vspace*{-0.1in}\paragraph{Late Policy:} You have three extra days in total for all
your homeworks and projects.  Any portion of a day used counts as one day; that is,
you have to use integer number of late days each time. 
 %If you emailed your homework to the TA by 10:30am the day after it is due, then you have used one extra day. 
If you exhaust your three late days, any late homework won't be graded.


\vspace*{-0.1in}\paragraph{Additional Instructions:} (1) The submitted homework must be typed. Using Latex is recommended, but not required.
\\



\begin{description}

 \item[Problem 0 (5 pts)]  Answer the following question about crypto background.
 \begin{itemize}
     \item Have you taken CS 555: Cryptography in Purdue?  If so, which semester?

     \item How well do you know the following concepts: (1) Oblivious Transfer, (2) Yao's Garbled Circuit protocol, (3) the GMW protocol (Goldreich, Micali, and Wigderson), (4) Private Information Retrieval?  
     
     \item For each topic, which of the following statement can best describe your familiarity: (1) you never heard of it, doesn't know how it works; (2) know the high-level idea, but not the details; (3) know it well enough to be able to implement it if needed.  
 \end{itemize}
 
 \item[Problem 1 (12 pts)] 
\begin{itemize}
    \item 
 Explain the following terminologies: discretionary access control, mandatory access control, role-based access control, trusted computing base. 
    \item
 What are the differences between the concept of ``trusted'' and ``trustworthy''?
    \item
 A hot term in recent years is ``trustless systems''.  Do some investigation online and explain what it means. \\
\end{itemize} 

 \item[Problem 2 (20 pts)]  

BLP is designed to enable one to formally show that a computer system can securely process classified information.  This problem asks you to assess how well this is done.

\begin{itemize}
 \item
(1) State the BLP notion of security.  Start with ``We say a system is BLP-secure when $\cdots$. ''\\
(2) Identify three reasons why a system whose specification is shown to satisfy the BLP notion of security can still have illegal information flows. \\
(3) For each reason identified above, use one sentence to explain whether/how they can be addressed (either by enhancing the BLP model, or by identifying other components)?

 \item
(4) In terms of modeling a system, how do BLP and the Goguen-Meseguer non-interference model differ?\\
(5) Give an example that Goguen-Meseguer model allows an operation, but the BLP model would prevent.  Which of BLP and Goguen-Meseguer better matches the high-level intuition of security? \\
(6) Give an example that the BLP model allows an operation, but the Goguen-Meseguer model would prevent.  Which of BLP and Goguen-Meseguer better matches the high-level intuition of security? \\
\end{itemize}



 \item[Question 3 (15 pts)] Explore the Biba integrity model. 

Observe that in integrity protection, when a low-level subject attempts to write to a high-level object, there are three choices: (W1) Forbid it; (W2) Allow it, but drops the integrity level of object after the writing; (W3) Allow it, without changing the object's level.

Also, when a high-level subject attempts to read a low-level object, there are three choices; (R1) Forbid it; (R2) Allow it, but drops the integrity Level of subject after reading; (R3) Allow it, without dropping the subject's integrity level.

{\bf
\begin{itemize}
 \item
Describe the five integrity policies in the Biba model by identifying which of the three choices for reading and three choices for writing are used in each of the five models.

 \item
For each of the six choices, identify (a) which kind of trust (if any) it places on the subject; (b) whether the object's integrity level indicate quality or importance?\\
\end{itemize}
}

 \item[Problem 4 Clark-Wilson (15 points)]
Read the Clark-Wilson paper.

\begin{itemize}
 \item
D.D. Clark and D.R. Wilson. ``A Comparison of Commercial and Military Computer Security Policies''. 
\end{itemize}

Answer the following questions.
{\bf
\begin{itemize}
 \item
How would you compare the Biba integrity models and the Clark-Wilson integrity model?

 \item
List the two or three most significant new insights you took away from the
Clark-Wilson paper and the most significant flaws or weaknesses of it (if any).\\
\end{itemize}
}

 \item[Problem 5 (5 pts)]
Given three boolean input variables $x$, $y$, and $z$, each taking values in \{TRUE, FALSE\}.  For each of following, answer whether there is information flow in the non-deducibility sense.  (Circle yes or no.)

\begin{itemize}
 \item $w=(x \mbox{ OR } y) \mbox{ AND } z$
\begin{description}
 \item[yes / no~] there is information flow between $x$ and $w$
 \item[yes / no~] there is information flow between $z$ and $w$
 \item[yes / no~] there is information flow between $\{x,y\}$ and $w$
\end{description}

 \item $w=x \mbox{ XOR } y  \mbox{ XOR } z$
\begin{description}
 \item[yes / no~] there is information flow between $\{x,y\}$ and $w$
 \item[yes / no~] there is information flow between $\{y,z\}$ and $w$\\
\end{description}
\end{itemize}

 \item[Problem 6 (12 pts)]
Assume that $x,y,z$ are variables that take values either $0$ or $1$.  Answer the following questions.

\begin{enumerate}
 \item
Give a deterministic function $f(x,y,z)$ such that $w=f(x,y,z)$ satisfies the following conditions: There \textbf{exists no} information flow in the non-deducibility sense between $x$ and $w$, between $y$ and $w$, between $z$ and $w$, between $(x+y)$ and $w$, between $(x+z)$ and $w$, and between $(y+z)$ and $w$.  But there \textbf{exists} information flow in the non-deducibility sense between $(x+y+z)$ and $w$.

 \item
Give a deterministic function $f(x,y,z)$ such that $w=f(x,y,z)$ satisfies the same conditions as above, except that now we require that
there \textbf{exists} information flow in the non-deducibility sense between $(y+z)$ and $w$.

 \item
Prove that there does not exist a deterministic and non-constant function $f(x,y,z)$ (the function returns as least two values) such that there \textbf{exists no} information flow in the non-deducibility sense between $(x+y+z)$ and $w=f(x,y,z)$.\\
\end{enumerate}


 \item[Problem 7 (16 pts)]
Read Part I.A of the ``The Protection of Information in Computer Systems'' by Saltzer and Schroeder.

For each of the 8 principles: (1) write your understanding of
the principle; (2) if appropriate, give an instance where it should be applied but is not;
(3) if available, give an instance where the principle is applied.
 \\


\end{description}

\end{document}


