diskencrypterSpec

Revision 2 as of 2009-06-13 21:43:04

Clear message

Summary

Develop a new graphical tool similar to USB startup creator that allows to setup a encrypted external hard disk or USB drive for all users with only a few mouse clicks.

Release Note

This program allows every user to setup a external disk (external HDD, USB thumb drive, SD card etc.) with maximum ease of use an without using the command line.

Rationale

Ubuntu already supports mounting of encrypted external disks through the GUI. You just have to plug your encrypted disk into your computer, Ubuntu recognizes it as a encrypted disk, displays a message window where it asks for a password and if you enter the correct password the drive is automatically mounted and appears on your desktop.

Unfortunately, creating such an encrypted disk is not quite so easy and can be done only on the command line so far. This should change because encryption is becoming more and more important with the proliferation of mobile computing and steady reports of data theft in companies and governments. And since all the technology is already in place it shouldn't fail just because of a missing graphical frontend.

User stories

Michael works for a company that demands all USB thumb drives used by employees to be encrypted to prevent data theft in the case they get lost. When he receives a new and bigger USB thumb drive he just starts diskencrypter, inserts his thumb drive, and creates a new partition table with one encrypted partition that spans the whole disk. All he has to do is to select the his new drive from the drive list and press "Encrypt Disk" while using the default options.

Alice is a power user and wants her data to be extremely save. She plugs her new USB drive she wants to encrypt in and starts diskencrypter. But instead of using the default options she chooses to initialize her disk with highest quality random data what will literally take days. But since diskencryper shows the progress of this operation it is less painful than doing it on the command line with "dd".

Assumptions

Design

There will be a single window where the user can select the disk drive, the initialization method for the drive and the filesystem to use. After clicking on a button named "Encrypt Disk" the disk will be initialized with ramdon data, it will be encrypted and a filesystem will be created. During each phase the user will see how many phases there, which one the program is in now and how long it will take to finish this phase (or the degree of completion in percent).

Implementation

* Python * Glade/GtkBuilder * Borrow code from USB creator for detecting external drives * AES 256 as default selection (do we need to provide selection options for the crypto suite or should we go with one default option to keep the interface as clean as possible?)

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.

BoF agenda and discussion


CategorySpec