Roadmap

Our current roadmap from TrueCrypt 7.1a to the independent free and open-source software (FOSS) CipherShed 1.0.0 is as follows in the Table of Contents below. For details on how we intend to achieve these objectives, please see our Development Process page.

0.7.3: Rebranding

CipherShed 0.7.3 should be solely a re-branded version of TrueCrypt 7.1a. Clearly, this includes replacing all instances of the TrueCrypt logo with the CipherShed logo, and replacing the name "TrueCrypt" with "CipherShed" throughout the software. However, this also implicitly requires that we be able to:

The objectives of 0.7.3 are:

0.7.4: Short-term audit response

CipherShed 0.7.3 should address and/or include fixes for the vulnerabilities found by the Open Crypto Audit Project. We summarise and discuss their findings on the Audit page.

0.8.0: Merge Windows & Linux GUI and rewrite all E4M code

There have been claims that the Windows user interface, or "look and feel", of TrueCrypt was illegally taken from another encryption software called E4M. Since we intend for CipherShed to be completely FOSS, it is in the project's interests to remove and re-write any potentially illegal copyrighted or patented code. We look forward to working with the copyright holders of E4M to demonstrate precisely which portions of TrueCrypt they feel is in violation of their intellectual property, so we may remove and rewrite said portions of CipherShed, thereby respecting their claims.

0.9.0: Rewrite all TrueCrypt Foundation licensed code

The final, big step towards CipherShed's status as FOSS is the removal and rewrite of all TrueCrypt Foundation licensed code and apply Apache v2 license.

1.0.0: Full production release

CipherShed 1.0.0 will include any additional features or changes we feel are necessary for a feature complete launch of CipherShed.

Future releases

Additional features and improvements to CipherShed beyond 1.0.0 includes releases for multiple architectures, particularly tablets and mobile devices.

Features Wish List

GSoC

Here is a list of some summer sized projects. Last summer an EFI prototype done as a college project.

UEFI booting is important, it provides a substantial update to how PCs boot since the DOS was on 5.25" floppy disks. But we are not in the days of writing some assembly to a floppy and pressing ctrl-alt-del to see what broke and putting back in your DOS every few seconds. Today we have to test complex OS booting off hard disks. We have HBA controllers and a modest hardware budget to create a physical machine test for EFI using Jenkins, iSCSI, and your ingenuity.

The Truecrypt build was two different builds sharing the same source. A Makefile based build for Linux and Mac. Windows used a Visual Studio based build. Since we have started adding unit tests, we have to keep both build configurations in sync. The makefile based build should instead use the MS compiler, linker, etc. when on windows. This is going to be a challenging effort since some of the source code assumes the non-existence of the other.

Almost all of the vulnerabilities and licensing issues in Truecrypt, hence CipherShed, arise from the windows GUI code. There is an open vulnerability against CipherShed that will be closed once we switch to a WiX based installer. Here lies the rub, WiX is great for applications, not really well documented for device drivers. Adding on top of that, we need to support upgrading from Truecrypt which is not using a WiX. Making an installer is only 20% of the work, creating the test farm (Jenkins slaves) to validate it installs, upgrades, uninstalls from XP to Windows 10 all without the user loosing their encrypted files.

The EFF has been helping us with guidance in this matter. It boils down to rewrite all the non-obvious code. Every line of code needs to be examined, would you like to pick a module? In that module we are going to write a unit test to cover the current execution and then if there is another way to do that function, lets make it better. If that is the only way to do it, add a comment saying so. It is your only chance in life to make a lawyer happy.

CipherShed is a full disk encryption system. We need to game out and create unit tests for all the fundamental disk and crypto operations. E.g. testing Ukranian passwords, bad sector when changing the key, etc... But here is the cool part, this is how bugs in Truecrypt are going to be found.

* Do you have an idea?

Is there an area of study at your university you would like to apply towards CipherShed? Is there an itch that you have? We are glad to have your participation, but it will need to be limited to a size and scope that can be completed and measured within the summer.

CipherShed Wiki: Roadmap (last edited 2017-02-09 20:02:09 by jpyeron)