Tuesday, 7 February 2012

Side Projects - TrueCrypt

Without a doubt EISNet is the biggest coding project we maintain but we also have a number of smaller side projects on the go at the same time.

While Kevin has been working on v1.7, I have been busy with one of these many side projects. As some of you may be aware, EiS provide a tool for encrypting the census data generated by SIMS. This tool is powered by TrueCrypt under the bonnet and unfortunately it's starting to show its age.

The version of TrueCrypt used was very deliberately chosen, it was the last version to support the use of mapping an encrypted container to the drive letter B: (which is about the only drive letter we can guarantee to be free 99.9% of computers). However, this version does not support Windows 7 very well and has no support for 64-bit. We approached the TrueCrypt Foundation to discuss the possibility of them enabling B: drive support in the most recent version or the possibility of using their driver with our own app, unfortunately without much success.

As TrueCrypt is open source we decided to have a look at the code to see if we could make the changes ourselves. Very quickly we had fixed the problem and B: drive support was enabled but nothing is ever simple. In order to use their code, we had to remove all traces of the name TrueCrypt except for a disclaimer stating it is based on their code. The next hurdle was that to use kernel mode drivers on a 64-bit OS they must been digitally signed so we had to purchase a valid driver signing certificate.

After jumping through all these hoops we now we have our own product which can offer full disk and file container based encryption, with full 64-bit OS support. 

That's a lot of work just to enable support for a B: drive!


No comments:

Post a Comment