CS5430 Homework 2: Articulating Security Goals

General Instructions. You are expected to work alone on this assignment.

Due: Feb 10, 11:59pm. No late assignments will be accepted.

Submit your solution using CMS. Prepare your solution as .pdf, as follows:


To assert that a system S is trustworthy, we first must understand (i) what S is expected to do, and (ii) what S is expected not to do. One way to reach that level of understanding is to write a description of the system in terms of the following elements (and in this order)

Example. Using this structure, a simple grade management system might be described as follows.


Write a description in the above style for each of the following systems. So each of your descriptions should be structured as three separate parts (types of users, assets and threat, security policies), where each part has roughly the same level of detail as given above.

Problem 1. Secure 1-way anonymous communication. An app runs on a computer and enables communication of text messages with another user who is running a copy of the app. The app communicates with a cloud-based service, which reformats and relays messages. The recipient of a message does not learn the sender's identity but can issue a reply that will be delivered to the original sender.

Problem 2. Reporter's secure notepad. An app that allows a reporter in hostile territory to take notes on a laptop that may not be connected to the Internet. Once entered, content cannot be reconstructed by the reporter or anyone else, except back in the newspaper office, where there is a USB plug-in device storing a "private key".

Problem 3. Electronic banking system. A web-based app that allows users to view bank balances and request funds transfers to other bank accounts.