Steve Aiello, Systems Support Manager at Online Tech and Mark Stanislav, Security Evangelist at Duo Security, provide an informative webinar on encryption at the hardware and storage level.
Title: Encryption at the Hardware and Storage Level
Description: Steve Aiello, Systems Support Manager at Online Tech and Mark Stanislav, Security Evangelist at Duo Security provide an informative webinar on encryption at the hardware and storage level. They discuss how encryption can be applied at various levels from the hardware and storage perspective. Impacts on performance, backup, security, and available resources may suggest very different encryption implementations. This webinar explores the variety of places where encryption can be employed to mitigate risk of data loss or breach, and some of the considerations for choosing the most appropriate method to employ.
Steve: All right everybody, welcome to today’s Tuesday at Two webinar. Your regular hostess April is out of town, so she has trusted me and Mark Stanislav to run the show today. I hope everybody will find it enjoyable. Mark was here with us last week. He's a personal friend of mine, very bright fellow.
We're going to continue the discussion around encryption, this week moving a little bit away from the application layer, more talking about hardware and storage. Mark, as you may remember, works at Duo Security. I'm Steve Aiello and I work at Online Tech. What we're going to do is we're going to start off with just a brief review of what we did last week with Mark and Farooq. Mark?
Mark: Great. Just to kind of recap any discussion about cryptography in general, it’s always good to get some of the basics out of the way so everyone is on board with the same idea. If you were on last week, hopefully this is all very familiar. If you weren't with us last week, then we'll just go over this pretty briefly.
In terms of what we're talking about today really is coming down to encryption. The idea that we can take some data which we care about and change it in such a way that the data is completely unintelligible, unreadable by anyone, not possessing both knowledge of how it was encrypted and also any required key that may have been utilized in the encryption process.
In terms of encryption in general, there's two general types that you should know about: Symmetric key, which utilizes the exact same key for both the input size where you encrypt the data and also if you have the output, which is known as ciphertext. If you were on last week you probably heard that a thousand times. That output can then be decrypted with the same key.
The challenges there are in terms of giving that key, it's like giving that key if it was a physical key to your friend. You have to either send it in the mail and hope no one makes a copy of it when it goes through the postal system or you have to met them in person. There's a lot of overhead there in trying to figure out how to get that key to the person securely.
The other side of the equation is the asymmetric key or public key cryptography. The neat thing about that and how that all works is you can actually give out what's known as a public key to anyone, put it on the internet, send it via e-mail, completely safe to give in public. What you can then do is use that public key to encrypt data. The person who created what's known as a key pair, which is the public key and private key, only that private key can actually decrypt the data that they had just encrypted with your public key. There's no concern about how do I get the key to the person. You can very securely and safely transmit that public key, no problem.
One other area to cover briefly is just cryptographic hashing. Depending on what kind of business you're involved in, if you write maybe web applications you might store passwords for your application users with SHA1 or MD5, or some of these other things you may have ran into in your career. The interesting thing about cryptographic hashing is given let's say a large chunk of data, paragraphs of text, you can actually get a representation of that data in a fixed length output. The neat thing is if you want to give a representation of data without giving that data and have … whether it's for integrity purposes or a comparison, cryptographic hashing has a lot of practical uses.
The other interesting part is when you do cryptographic hashing, when you put the input into the hashing function the resulting output is actually generally very unique. By just changing, let's say, a letter in a small sentence that output is going to look dramatically different from the original input, even if you just changed a letter on the input. What's nice about that is if you're using this for representation purposes, no one can really discern that one hash is similar to another hash based on the input. The output should be very much different.
Steve: Excellent. Thank you very much, Mark. I know that you and Farooq had a sample company in how this is being applied. Will you just give us an overview maybe for the folks that weren’t here last week and that way we can figure out what we're talking about today?
Mark: Absolutely. Last week with Farooq what we were really looking at is a real-world scenario where in our case we had this insurance company which was a vendor, our entity was a hospital system, and we went over the different layers of how cryptography gets tied in. If you're looking at this diagram you can see there is a VPN portion, there's SSL, both terms many of you are probably familiar with. What we were showing there are between things like SSL, VPN, SFTP, the different layers of encryption utilized in terms of transporting data.
The other important part is during last week's presentation we were talking about that initial part of data at rest. Even though data transmitted this secure, once it ends up on server, at that point you're still insecure. We showed a couple of different ways, both using things like open SSL for instance and GPG, how to encrypt a file so even if that file is sitting on a web server in our case, that data is still encrypted. If anyone were to steal it, it would be useless to them.
Then Farooq wrapped things up nicely for us by taking that encrypted file, decrypting it with his web application on that Windows app server you see there, and then actually importing data in both unencrypted and encrypted formats based on the sensitivity of the data for that specific type of data. The end result, of course, is that information again can go over SSL for people like doctors and patients who would then want to leverage that data for the insurance company.
It's the life cycle of sensitive and archetypic data and how that data would transmit, flow through a network securely, and the various layers of the cryptography at play there and what the harmony of how cryptography looks in the enterprise.
Steve: That's really very interesting. I think everybody is used to seeing the little SSL lock symbol on their browser. That's generally what people are used to doing, but it makes a great point that there is a lot more to properly implementing a strong cryptographic solution throughout your whole application stack than just having an SSL cert. That's a very powerful illustration.
This week we're going to start getting into what happens on the servers themselves, specifically with Windows and Linux, and then even some of the options that we have on our storage subsystems. What we're going to do is we're going to take a look how we store data, let's say, on a Windows application server. There's a couple of different systems.
There are two primarily that you have when you're dealing with Microsoft. I'm not sure if Farooq covered the possibility of bold table encryption with MS SQL, but there are some trade offs and there's some performance penalties on that. What we're going to talk about at the disk level is the first one, which is EFS, which is the Encrypting File System.
This is how Microsoft creatively defines it. Encrypting File System is a feature of Windows that you can use to store information on your hard disk in encrypted format. It's a very creative definition. What exactly does it mean or how does it work? Essentially, what EFS does is it uses a very strong encryption algorithm called AES and it encrypts data at rest. This is where we start talking about either files are already on the server, where you want to put them and things of that nature.
Something that as a primarily Microsoft person in my career, I was doing some research for this, one of the things that EFS really has that's quite powerful is that the encryption keys are never stored in the page file. Or, you can actually force certain things to be handled in a very secure manner. I'll give you an example. If you read, from time to time you'll read the slide and online security journals and they’ll say, "Oh, there's a $199 piece of software that will crack all these sort of encryption algorithms." Then if you go on to read what the application is actually doing, it’s really scouring things like the page file, scouring things like the hibernation file for encryption keys that it can pull out of those file systems. In fact, it's not really cracking anything.
Sometimes people see this and they don't fully understand what's going on. Essentially, they're just finding the encryption key. It's basically what it is bound to. Because of how Windows works, this is possible. What you can do is when you're using something like EFS there's two different types of memory space that generally you have: your kernel memory and then you have your user memory. What happens is if you use Microsoft products, the encryption keys, which are really really valuable, they're stored in kernel memory. What does that do for you? Well, if the kernel memory is never sent to the page file then those encryption keys are never written to the disk.
If you're a Windows administrator and you have group policies not to use hibernate so you don't get that hibernate file on your computer, then what you're doing is you're really protecting yourself from someone who it can maliciously steal piece of hardware or try to recover your keys from a less secure area than memory itself. If this is something you're very concerned about, there's actually a TechNet article that I referenced down in the slide here. You can set it so that none of your kernel memory is ever written to disk.
This is a really unique proposition that the EFS and the Microsoft technology has in comparison to some things like TrueCrypt, though TrueCrypt does have some additional benefit that EFS and we'll also be talking about BitLocker, it doesn't have. This is something that's really quite powerful if it's implemented properly, you can generally use it to your advantage in a very effective way.
The second feature of how EFS works, it has a pretty strong method for encrypting your actual data. What happens is when you decide that you want to encrypt a file on your system you don't actually generate the encryption fee, right? Keep in mind that the encryption fee is that's what really needs to be guarded. They have what's called a file encryption fee which is used to encrypt your data.
Let's say you had some CAD files or if you're a small office and you're using something like QuickBooks, you want to encrypt that data. The operating system generates this file encryption key. Then what happens is those keys themselves are encrypted with your key as a user. You have to actually unlock the key that will lock your data.
Then, how that RSA key is accessed is through something that Microsoft called the Data Protection API. With this three-phase process that allows you to manage these keys, and what happens is when you log into the system the Data Protection API gives you access to your RSA key. The DPAPI is actually an encryption on your RSA key that you use to unencrypt every single file encryption key. Every single file that you use encrypting EFS has a different encryption key. It's really quite powerful.
Let's say somebody would steal a thousand files of yours, they would literally have to either break or discover a different key for every single one of those files. It's a very interesting implementation and it can be very powerful. Now, the downside of this is that it can be very hard to recover, right? Every single file that you're using has a different encryption key.
What you can do is there's actually this Microsoft TechNet article. Again, we'll post the slide and you can reference this. The system can create the recovery key. It can be the local admin and maybe you want your small shop and you want your administrator to be the person who is managing the encryption key. If you're a larger organization and you have a separate security work, security department, maybe you want them to be the individuals that are managing the backup encryption keys.
This article, it's a little bit lengthy so I won't go into the whole process here. It's good to note, just with any type of encryption once you lose that key and if you lose access to that data, it's essentially gone. Backups are very important. If you're going to use something like EFS, and I highly recommend that you do especially if you're just starting out, make sure you understand the backup process or you could lose your data.
Mark: I think it's especially important if you're running an enterprise. Just imagine if you have employees that have data that your company needs. Without that recovery key, if they leave or something else happens to them, that might put your company in a bad position.
Steve: Absolutely. That is quite true. The really great thing is if you're using this EFS system it's very easy to implement. I'll show you just a couple of graphics on the next slide. If you do have an active directory domain in the workstation or a file server as the number of the domain, what you can do is in active directory there will be an encryption key that allows the decryption of the DRAPI. Oh, I'm sorry, that should be the DPAPI. It'll allow you to decrypt that third in the line encryption key.
The domain controller will allow you to decrypt the DPAPI, which then will allow you to decrypt that RSA key, which will then allow you to decrypt all of those file encryption keys that are random. If you are in active directory, make sure that you're understanding how to use and leverage these technologies. Microsoft has generally done a very good job at implementing crypto in their ecosystem. Just one thing to note too, there used to be an issue with local administrators being able to simply reassess the password of a user in order to gain access to their files, but that's no longer the case.
Because of this DPAPI, if a Windows Administrator simply changes the password of the user, the cryptography does not change that RSA key. What you would have to do is you actually have to go to the data protection and do the recovery process using the original password of the user. In Vista and later, this whole cryptographic ecosystem is much more secure from being attacked by your local administrator.
Steve: How do you implement it? It's very simple to implement EFS. You simply a right click on any Windows folder, and I'm sure all of you have seen this properties box, if you right click on a folder in Windows and you select properties you have this window that is brought up on the left. Here I have a folder that is called Hide Me. This is Hide Me properties. Then if you click the advanced button down in the right, you're brought up with this advanced attributes window. A lot of times people will use compression to save disk space, but that little encryption checkbox there, it basically allows you to encrypt any specific folder that you like.
If you are the person that's managing this encryption or you want to turn it on and off, it's completely transparent. That's the really nice thing about EFS is it's completely built into the Windows empty file system. There's nothing, no extra you have to add, there is no performance hit really. It's a very safe way, as long as you can keep the username and password to that laptop or device private.
Now, I will say that this is available on Windows 7 and 8 Professional, Ultimate and Enterprise. If you have a home version or … I don't even know if there is a version other than Home Professional, Ultimate and Enterprise. If you're not using one of those three, it's not available. It's generally suited just for business users.
Any questions about EFS at the moment? Mark, if a user forgets their password the administrator has tools to help the user get access to the data? Yes. If you are in an active user domain and a user does forget their password, the domain… Oh, so if you are just a local work station, Mark? Is that what you're talking about or are you talking about if you're an active directory domain? If you're an active directory, you have two options.
You have the option Mark made mention on, you have the option to export the certificate and that would contain all of the credentials that you would need to decrypt those folders, and if you're an active directory, active directory itself maintains an encryption key to decrypt that whole chain: the DPAPI, the RSA key for the user and therefore the file encryption keys. You would have two different options. One, when you were encrypting the folder, if you want to backup your encryption key, which you definitely would want to make sure you do. Then the second option would be if it's a member of the domain you would have the option to after the fact or postmortem. Does that answer your question?
Steve: Okay. Alright. The next piece of technology in the Microsoft world that we have is BitLocker. Where EFS is just encrypting a specific folder, BitLocker is Microsoft's answer to full disk encryption. It has a lot of really cool options that you can use as far as BitLocker. There's a concept called the TPM.
What the TPM does in conjunction with a lot of other technology is it actually allows you to verify the integrity of the files that are needed for the boot sequence. Let's say you got infected with some nasty virus and it infected some sort of files in your boot loader sequence, that TPM, if you have that piece of hardware in your laptop or some other device it will tell you the hashing algorithms which Mark was referring to earlier, that symbolic representation of the data. Even if one letter changes, that TPM in BitLocker in conjunction will tell you that something has changed.
It's a really good alerting mechanism, just to kind of tell you that something may be wrong on your system. A TPM just by itself using BitLocker only tells you that the integrity of your file is valid. If you use TPM with a pin, you have integrity and a form of authentication. You can actually use TPM, a pin, which is a numeric number that you enter in in the USB key.
It's kind of a poor man's version of two-factor authentication. It can be a simple USB stick that has a certificate on it, that has the TPM. Then you can just use the TPM with a USB key, which is the integrity and a second backer authentication. Then you can just have a certificate on USB key which gives you no integrity whatsoever because the TPM is not involved, but it gives you a second form of authentication that you can use, your USB deck. It's again, the poor man’s version of maybe … What are those cards called, Mark?
Mark: Smart Cards?
Steve: Yeah, there you go. It was escaping me. A Smart Card. Like EFS, BitLocker uses AES. Either you have 128-bit or 256-bit encryption. Again, BitLocker, none of the encryption keys are ever stored in the page file because it's all kernel memory, which is not necessarily true of TrueCrypt. Again, you can store this key, again, externally on a USB drive. That USB drive will be required to be plugged in when you boot the system. Again, you have that trusted platform module which allows for system integrity identification.
Steve: How do you enable it? For this, where EFS was usable on the professional version. You have to have either Windows 8, Windows 7 Ultimate or Enterprise. In order to use BitLocker you actually need to have two different partitions. This is something a little bit different that you might need to plan for if you’re going to implement BitLocker. You have what's called the system volume, which is actually where your boot files are at, and then you have your operating system volume. The system volume is not encrypted, and it needs to be at least a gig and a half. When you're preparing your servers for BitLocker you need to understand how to do this.
Also, there's a special consideration as we go back on how to use BitLocker with the TPM. Generally, this gives you full-disk encryption and generally the reports of performance are pretty good. My last place of employment we used Sophos, and it slowed down our laptops incredibly. BitLocker, because it’s built in by Microsoft, the performance is actually pretty darn good.
Lastly, as far as BitLocker goes, one of the really great things that you can do was a full disk encryption solution. I got a question here. Will the hardware method be described on this presentation? The hardware encryption will be discussed a little bit later after we go through the Linux pieces. That was a question from the audience there.
One problem that we see a lot of our customers are going through is how do you properly sanitize a drive that have had healthcare data on them or financial data on them. That's something that you could do with BitLocker and you can actually go through and you can basically do a secure wipe by resetting the encryption keys that are used for BitLocker, which essentially makes the drive completely unintelligible.
What you can do with BitLocker is you have the option to go from just using the TPM, using the TPM and a password, the administrator can remove the password and things like that. You get a lot of flexibility with BitLocker and the Microsoft products.
Mark: That's interesting for most people, I think, as well. Especially Windows admins out there probably use something like DBAN or similar software report where they spend hours and hours overriding all that data. The neat thing about when you already have an encrypted file or an encrypted drive, without that key, it's great that all that encrypted data’s there but it's basically just as useless as if you had DBAN’ed the entire thing for the last week.
Mark: There's one upside, I guess, if you're looking for some extra benefits, if you go through a lot of system transmission between users or you go through a lot of refresh stages that can actually help make things a little more expedient for people.
Steve: Absolutely. That's a great point, Mark. Getting to the Linux piece, this is where Mark comes into play.
Mark: Sure. On the Linux side of things, there are a lot of parallels in terms of what the Linux options can do to the Windows side. One thing I’d point out at the top would be Windows and that whole ecosystem for the crypto side of things, because active directory is the standard of how to manage systems within the scope of deployment it's not as direct, I guess is probably the way to put it, in trying to manage a fleet of encrypted systems like it would be under Windows.
Now, there are certainly ways to work around that and get key escrows more to what Steve was mentioning for key management. It's just not as native to the Linux platform because again, you have multiple options, they're not built in in the same way that Microsoft has built a technology platform. These are all built in in someway or leveraged very easily, but they're not necessarily the same ecosystem that you'll get with Windows.
The one that's a standout and really, I would say, the most common for especially enterprise employment is called LUKS. LUKS stands for Linux Unified Key Setup. What is interesting to note is that the LUKS system is actually an open standard, like most things in the Linux community. What's neat there is you can actually leverage Windows with what's called FreeOTFE. That software will actually allow you to interact with LUKS as if it was a Linux partition. The standard is open there for you to leverage it, even though it's not Linux System.
Mark: In terms of how to utilize that LUKS, LUKS is basically a layer, and then if you interact with that layer you have to have some sort of interface to actually manage this encrypted data and these partitions and volumes and whatnot. That common thing that you'll see is called dm-crypt. There's actually this encryption system within the kernel that dm-crypt then leverages with a couple of tools, the two most common that you will interact with are called cryptsetup and cryptmount.
The management of crypto, as we'll see in the next slide coming up, will actually be pretty simple if you're command line friendly. Now, the nice thing is a lot of the main distributions of Linux actually have on the installation process now just a simple checkbox to encrypt. That's something that we didn't see maybe five or eight years ago, but now it's pretty common. Even if you're hesitant about some of the command line stuff, your distribution probably supports on the installation phase actually doing the encryption right away, so you don't have to go through any headaches. It's kind of native to the process and not really much of a hassle these days, which is great.
Steve: Mark, do you think there's any consideration for somebody who is new to Linux and they like the idea of encrypting their data? Do you think that it's easier for them to just encrypt natively during the install? If so, is it pretty easy to get those keys out just for a single user? I enjoy Linux, but I'm not an expert in it like you are. I’ve certainly seen that check box option. Is it pretty easy to backup those keys?
Mark: The premise is somewhat different than I think how the Windows side is being handled. The Windows side really handles keys for you as a user through the DPAPI. On the Linux side, for instance, if you boot up a system you'll actually be asked for your pass phrase. When you log in and actually type that pass phrase, then the encryption part … or I should say the decryption process to allow you to access that file system is then handled transparently from then on.
As long as you have the pass phrase, you're in good shape. That's kind of a backup mechanism because you're not actually managing the symmetric keys or anything like that. You're actually just managing the pass phrase which is then really translated into a valid encryption key.
Steve: Maybe just the good old-fashioned pencil and paper and an envelope.
Mark: Yeah, an envelope with your firm or whomever you're working with, for sure. The nice thing about LUKS is it's really flexible. You can encrypt just an individual partition.
A good example of this is let's say you have a database server like MySQL, for instance, which is popular. You could actually encrypt the partition on which the MySQL data lives and protect that data at rest so that if the system got stolen, the hard drive got swapped out, that data would still be secured. The rest of the operating system that doesn't have sensitive data, that way you don't have to manage that key for the rest of the data and you don't have to manage the overhead, the performance penalty that might be inherent. That's great.
Natively, things like logical volumes which if you're a Linux admin you're very familiar with on the call, software rate and more commonly I think that we see, if you're both in industry but also the home user of Linux, is doing that removal of media usage. You have a thumb drive, you want to encrypt the content so that if you lose the thumb drive in the back of a cab it's no big deal. Hopefully you have a backup, of course, but in terms of the data being stolen you really don't have a concern. LUKS is flexible in that it can go from a big-picture partition level, but you can also get down to just a little thumb drive that you need to protect the data. That's some of the richness of that environment and the platform.
Mark: As we were talking about with Steve, the passphrase is up to you. You decide how strong to make that pass phrase. Now the encryption key itself is actually going to be created from your passphrase. That's generally speaking for most cryptosystems how that's happening. Make sure, of course, that any pass phrase you have isn't reused on websites, isn't eight characters. Make it strong, make it as long as you can bear and get the most benefit because if that pass phrase can be brute-forced, you have a strong encryption as your pass phrase really.
The encryption that we're using, things like AES that's for what we know in terms of where we're at in cryptography, that's pretty much bulletproof where we see weakness has come up or in terms of the pass phrases that are getting brute-force and cracked because at the end of the day, that's your weak spot at the secret key.
Steve: I actually remember talking to a friend of ours, and he was saying if you want to get the whole 256-bit encryption strength you need a 64-character passphrase to make sure that that's all handled properly. Passphrase, again, just like any other good password policy, password for your website, for your bed count, for your general user login, your pass phrase for your encryption is equally if not more so important.
Mark: It's absolutely paramount, for sure. Very cool. Let me go back here. In terms of LUKS, similar to what Steve was talking about with regard to how the encryption is actually working AES, if you're not familiar AES is the standard that the government put forth for federal information processing standards, the fifth standard. The National Institute of Standards and Technology, NIST, they actually have competition.
AES isn't actually a government encryption algorithm. It was actually part of a competition over many years publicly reviewed, academically reviewed, industry reviewed. This is actually coming from community and the government just kind of standardized it behind it. In our case, you can set by, for instance, AES, 256. You can also specify if you're so inclined moving the operation. Now, that's a little bit over the scope of what we're going to talk about today. You do have the flexibility to really hone in on what kind of cryptography you want to use within this disk and storage volume encryption.
Well, it's interesting how LUKS works is. It's similar to what Steve was talking about with regard to add your directory in RSAPs for users in similar. You can actually have multiple keys that can be able to access data. That's done through some crypto that, again, is a little bit much to get into. What is nice about LUKS is it actually leverages what's known as PBKDF2. All that needs is a RFT that dictates how to take an input pass phrase and what's known as key stretch in making that hash phrase stronger and better, and more importantly, very hard to crack.
It's really about that two main things. One is having assault, which a lot of you may have heard of using assault with a hash is a very common these days. It also does iterations to make that stronger and stronger and stronger to the point where things like dictionary brute-forcing rainbow tables are defeated immediately. Some of these more technical cryptographic type of attacks that we see all the time in the news, makes it very hard. It has some built in strength that you might not even realize. Just a freebie with the LUKS method.
Steve: That's very interesting. Do you mean that you and I could both have a key and access the same data or would literally require two different keys per se to access one set of data?
Mark: Basically what's going to end up happening is similar to what your RSA idea is. We can each have just to bring back to what you're describing before. We could each have an RSA key and we could each encrypt that symmetric key. Then that symmetric key is then encrypting the data. Very nice. What we're doing here is similar thing where our passwords are actually encrypting that private key, that symmetric private key that we don't know. Then, because we both have access to it, we can then decrypt the data.
It's actually a really functional model so that you can actually have multiple users have access to data. For most things in all in terms of computer security, having that sort of auto trail to know who used, what was used to do what. If we both share the same pass phrase to log, we don't have that auto trail.
Steve: Auto trail, absolutely.
Mark: Which is critical.
Mark: In terms of setting up LUKS, if you're going to try to do it the hard way, if you will, after you've already installed, let's just say you want to make an encrypted thumb drive that you want to carry around. It's actually just a few steps. Step one there, you can see per setup LUKS format, all you're going to do is pass a partition there. You'll say partition as you see is one is the first partition on that thumb drive maybe. The next thing is you could actually have a thumb drive, maybe with let's say, thumb drive these days are 128 gigs, you could actually make 10 gigs encrypted and 118 gig unencrypted.
Mark: You can actually split up how the partitions are being handled in terms of data security. After you formatted that space, you basically open that volume and all that's going to do is basically give a name to it. EMC val is what we're going to see on the system as a device. Dev Mapper, you might be familiar with, especially if you do logical volumes.
All we're going to do is once that device is open, after that format stuff, we can actually just create a file system from right inside it. We basically have an encrypted shell. Then, the file system is inside of that encrypted shell which is great because we're not actually encrypting with an encrypted file system, we're actually encrypting around the file system.
Then lastly, after you make a file system you mount it just like any other partition. Really, the only extra step you're doing here in normal is the first two steps. After that it's just like punching data with a normal Linux file system that you would see. Then of course every time you want to mount this file system, it'll ask for your pass phrase. Once you type in the pass phrase it'll successfully decrypt the data in such a way that you can interact with it again, very simple process, really quick to do.
You can even do simpler things if you want to encrypt a little bit of space in an existing file system, you can just make a one big file, do a similar step and actually make that one big file inside of an existing file system encrypted. You can actually go file level, partition level, volume level, you have all flexibility in the world to work with.
Steve: I think that would be very interesting. One of the things, even if people, let's say, are trying to do some basic encryption in their database, they don't want all the other data when they do their dumps. You could create a partition and do your dumps to this encrypted volume. That way your entire dump is sitting there, encrypted.
Mark: Absolutely. It's just something simple as maybe like a lot of companies will do taped backup in morning. Log in with that thumb drive that you have in a safe deposit box or a safe in the back of your office, plug it in, mount it with the encryption, do your backup, pull it out. Now, all the data is encrypted in as safe as could be. Very easy to work with.
Steve: That's very nice.
Mark: Another option, and this one might be a little bit more familiar to general public, TrueCrypt has been really popular in really the last five or six years even. What's neat about TrueCrypt in a similar manner, and I think a lot of Windows users might be familiar, TrueCrypt is neat because it actually has a nice practical user interface on those platforms but you can also use command line functionality like you might be expecting with the Linux System. You have that whole ease of use factor, but you also have a down and dirty low-end technology method too, so that you can interact on a server or on a desktop.
With LUKS and TrueCrypt, one thing that I’d kind of link to point out immediately is LUKS really built in for what I can think about on every major kernel that a distribution is going to have. Out of the box you're already going to have support for LUKS and the tools that are going to be utilized on the block. TrueCrypt is a separate software offering. Most distributions do not include it. Some distributions actually don't even allow it to be in their package, their package manager because there is some licensing craziness going on.
TrueCrypt actually has its own license that isn't a standard license. What some people have done is actually made an open source, fully open sourced under the BST license called TC play. TC play is a full implementation of TrueCrypt, but licensing is very palatable to the open source community. That might be more and more popular as time goes on.
One thing I do want to point out in terms of feature set that people really latch onto immediately. TrueCrypt has the idea of what are known as hidden volumes. Unlike a normal system that you might say, "Hey, I want to encrypt my hard drive or I want to encrypt a certain level of OS." What TrueCrypt allowed for is actually the encrypt data in such a way that no one would know that there's actually a volume of encrypted data on that given device.
Now, of course, certain people may have a use for this. If you travel abroad, if you go through countries that maybe have a little bit concerning data privacy in terms of what they might do to your laptop at a customs border. Maybe that's an option for you.
There are certainly valid uses for having hidden encrypted volumes in terms of data privacy, especially depending on what your company does. Let’s say your laptop did get stolen. Now let's say a thief or an attacker in a more general sense, if they know that you have encrypted data on there they may try to sell that to a competitor. They may try to sell that to a foreign government. If they don't know that data is there, maybe you get out of that one a little bit more better off than you would have otherwise. There's some good deception type things built into that kind of model. Just good to know about a great feature TrueCrypt and one that people really latch onto.
Steve: TrueCrypt is pretty easy to set up for a person that's new to the encryption space?
Mark: Yeah. Some of the underlying technology like what the encryption algorithm to use or what mode of operation, some of those nastier low level crypto things, they make it a little bit more palatable. Especially on Windows. The Windows GUI interface is very easy to use. I'm sure a lot of our listeners probably at least downloaded it once or twice to check it out.
Steve: Very cool.
Mark: In terms of TrueCrypt, the thing about LUKS is LUKS is a layer in a bigger ecosystem of the Linux kernel and how the Linux kind of operates, some of the tools like dm-crypt or cryptsetup we’re talking about, that kind of mid-layer of cryptography within the Linux ecosystem.
TrueCrypt is a software offering, right? It's a standalone thing. People built it from the ground up. It’s its own entity, that is the focus of that project. Because of that there's a lot of really well thought out documentation around TrueCrypt. Because again, it's a standalone software application whereas LUKS is just another one of millions of different things you can do with the Linux kernel or a Linux operating system.
Depending on what distribution you use or what tutorial you might find, learning how to use LUKS cryptosetup, dm-crypt type functionality might be a little hard. Just keep that in mind. If you're looking for a little bit better information on what you can do with that technology, TrueCrypt might be a way to go for you.
Steve: Very nice.
Mark: One downside, of course, is in terms of supporting platforms TrueCrypt may do a pretty good job at releasing software updates but they are a little behind the curve. There's obviously good reasons for that, making sure your data won't get hurt or thrown away accidentally, which is the last thing any of us would want. Windows 8 and Mac OS 10.8 are not fully supported yet. I think there’s beta support for both of those and it may work just fine for you, but it's not fully supported.
If you are going to do this in the enterprise and your company's moved to Windows 8 or 10.8 for Mountain Lion, be very hesitant about pulling TrueCrypt in an enterprise setting. Maybe look more at the EFS BitLocker combo.
Steve: Yeah, I’d be a little leery about beta software for my encryption needs.
Mark: As you probably should be, so keep that in mind. In terms of command line, there is pretty easy to use management of the TrueCrypt from the command line. From my point of view, the TC play interface in the command line is a little bit more straightforward than the native TrueCrypt interface. Your mileage may vary, that may be a very subjective thing, but just keep in mind you might want to take a look at both if you're going to look at command line as a route.
Steve: Very interesting.
Mark: Then, another neat thing, you could also do this with LUKS but it’s very hokey to actually deploy in my experience. TrueCrypt does easily support that key file, so that idea that we have a USB drive in our keys, plug that in and then that can help decrypt. TrueCrypt makes that a little bit more native, whereas LUKS is a little bit more kind of hack your own way together, which is last thing you want to do with crypto, hack your way together. You want to have a native interface that makes sense and is built that way rather than strap things together with duct tape.
Steve: I would totally agree with you.
Mark: Both, again, great options. LUKS, again, if you're going to roll out an operating system natively it's going to have support. Again, TrueCrypt, you're going to have Mac, Linux, Windows Support, a nice GUI Interface. It's very easy to use, very friendly and a lot more feature-rich out of the box.
Steve: Very cool. Mark and I have been talking about software implementations of cyrptographic systems. Now what we’re going to look at is certain things that we can do with hardware, and some ways how hardware just makes cryptography very easy. The first thing that we're going to talk about is the self-encrypting drive.
What happens with the self-encrypting drive is there is a piece of hardware on the hard drive and all the cryptography happens in that hard drive on the disk. The nice thing is that you don't have to worry about any of these software problems that Mark and I were talking about, whether it's recovering keys, whether it's duct taping your own cryptosystem together, whether you're not a fan of the certain type of license agreement for TrueCrypt. It's just completely transparent and you can use the hard drive just like you would use any other hard drive.
How this is essentially accomplished is that you get a hard drive from the manufacturer. Seagate is a really large manufacturer of the self-encrypting drive. What happens is the manufacturer puts the key in a small piece of hardware on the drive and they send it to you. What happens is a lot of people say, "Oh, well. Now that a hardware manufacturer knows what my encryption key is."
That would be true, except if they send you a nice little piece of software to go through and simply you talk to the drive via this piece of software and when you receive it you generate a new encryption key on the hardware, then you can just put it in your laptop. The other nice feature, very much like a BitLocker, is that if you completely need to destroy all the data on the disk you can simply reset that key thereby making all of the data completely unreadable. It's very nice.
Steve: You have a couple of different options when working with a self-encrypting drive. When the disk is powered down, you have to or you can say, "We want to give it a password." That’s called the disk is locked. If you just want the system to be encrypted, that's great. Your data will be encrypted. You actually need to use some sort of passphrase to unlock the disk. In all reality, it doesn't do you much good because if somebody else comes along and steals your laptop, yeah, great. Your hard drive is encrypted but there's no password to actually prevent them from booting up the disk. That's something that's very important.
You can do certain things like we had mentioned. We have this secure white mode that allows you to go through and erase the disk. One of the unfortunate drawbacks is that there are only a certain amount of hard drives where you can get a lot of different variety of hard drive, maybe 128, 160, one terabyte, two terabyte, three terabyte. With the self-encrypting drive there are much more limited options. If you have a really specific use case or you need a very specific drive size that you want, only a 300 gig, 15K SAS drive because you're worried about performance in a rate array, that drive simply may not be available to you in a self-encrypting drive model. That is unfortunate.
What is very interesting about these self-encrypting drives is that some of the storage array vendors like specifically EqualLogic, they’ve started to use them in their array. You can actually get to using the self-encrypting drive technology of complete storage array like the EqualLogic 4100, 6100 or 6500. If you have compliance issues you can say, "All of my data is encrypted at rest." Where this may become more practical is let's say you need to swap out hard drives and you want to make sure that you don't have any compliance issues because you have a drive at each of your locations. Every single drive has a different encryption key.
Just like every single file had an encryption key with the Windows EFS Systems, every single drive in your array will have a different key. Even if somebody wants to take a drive, take it back somewhere, figure out what the key is, that one key would not be the same for all of your other 24, 48 or however many drives are in your storage array. It really makes it quite a powerful combination for your dedicated storage.
Just to speak to this, EqualLogic has done a really good job in just covering over this, managing all of these different keys on the self-encrypting drives, because when these drives do come online you have to give the proper response to unlock all of the encrypted drives. EqualLogic and a couple of other vendors are now really doing a great job in supporting this.
Again, some of the downsides, we mentioned the limited drive type. If you're not using a storage array that natively handles all these encryption keys like EqualLogic does, if you use let's say a NetApp, you actually need a key management server, a counterpart that I know on the West Coast, they happen to use the IBM key lifecycle manager. Every single drive in their NetApp array, they essentially have this piddly key manager that has to manage all of those keys.
Steve: What's the implication of that? Well, the implication is for some unforsaken reason, let's say your storage array goes down and once that you have a power outage, and your key manager goes down, you have to bring your key manager up and you have to hope that your key manager doesn't have any failures or anything like that in order to unlock all those self-encrypting drives in your storage array.
If you have this broken out like with the NetApp or with all the Compellent arrays, I think they'll support the self-encrypting drive. It adds a little bit of complexity to your environment. As far as my opinion, you want to make your crypto as least complicated as possible so you don't run into any issues. That’s kind of the self-encrypting drive option.
The second option that you have are appliances. For example, if you're familiar with EMC Symmetrix or DMac's line, they actually have RSA data protection manager built right into the storage array. What that does is if you think of a magic black box, right? You have one internet plug that's labeled unencrypted and you have another internet plug that's encrypted that comes out the back.
Your data goes into this appliance, unencrypted. The appliance performed all the cryptographic functions on the data. Then, the appliances actually doing the encryption and it writes to the storage array which it doesn't have to use self encrypting drives then and all the data is just encrypted on the disk. This time it's the best of both worlds. You don't have to use the self-encrypting drive, you don't have to have a key management server because it's all built in to this purpose built appliance.
Now, the RSA data protection manager appliance is not the only one to do this. There's also a company called for Vormetric. If you go out and you look, all the Vormetric is exactly that or the Vormetric is exactly that. There's one plug where the data goes in. It's entering an unencrypted and there's another plug where the data is going out, and it is encrypted. Let's say you don't have the money for an EMC Symmetrix or a DMac, let's say you want to use something like a Compellent or Hitachi or something else, you can buy one of these third-party appliances to manage your encryption keys and manage that encryption process for you.
Generally, what that limits you, however, is only Ethernet-type protocols. Think five or ten or more for Ethernet, iSCSI or NFS. If your fiber channel shuts, that may not be an option to you. That's something to consider when you do an EMC and the Symmetrix and the DMac, that is all independent to whatever storage fabric you use.
Now, the third thing that I have here is this is really great company out of Israel. I happened to meet the … I think he's the owner or the VP of the company. Their organization is called Portocore. Essentially what Portocore is doing for you is it's taking a hardware appliance and it's just putting it inside of a virtual machine.
What you would do on your VMware infrastructure is you would stand up this virtual appliance, you would mount either iSCSI to your NFS to the virtual appliance and that's unencrypted. That could be your Compellent or whatever. Then what happens is this data comes out of the Portocore virtual machine as encrypted. It is actually a pretty feasible, when I was talking to, his name is Ariel, it's about $500 a month. It's not immensely expensive. It's certainly less expensive than an EMC Symmetrix.
That's maybe something that you can do. If you're a VMware shop or if you're using Amazon, they have a model for Amazon EC2. That is the option that's a little bit more cost effective. The pros and cons, we just talked about that it could be very expensive for the hard disk encryption appliances. Plus, there's zero performance impact as long as the appliance can stand up to the bandwidth that you're throwing at it. You don't have those drive choice limitations, and you have zero key management issues. It gives us the wide array of encryption option that you have. Just with operating system and disk.
Steve: I'm just going to wrap up. Any questions from the audience right now, for Mark or for myself? I think we're good, Mark. Nobody's popping up any questions. This is again, Mark Stanislav. He works with Duo Security. It's a local security company here in Ann Arbor. They have great products. Here's their website for you to check them out, if you are interested in various security features.
Then also Online Tech, I'm Steven and we have our phone number here for Online Tech and for Duo. Then also, April told me to make sure you all check out our white papers, so that’s our shameless plug for Online Tech white papers.
Thank you very much for coming in today, Mark. We always appreciate you and Duo. We've done a couple of webinars with you guys in the past. It's always nice to have you come out.
Mark: Absolutely. Thanks for having me. If anyone is looking for any sort of two-factor authentication solution, I think you'll find Duo Security is probably what you need. Feel free to reach out to me, if you have any questions about the state of two-factor or trying to integrate two-factor into a platform you might have at your office or a vendor that you're looking to work with. We'd be glad to talk to you and see what we can do.
Steve: I would definitely support that. We use Duo here and it's very easy to set up and it's a very nice product. Thank you very much all. There's no questions. Thanks for attending the webinar. Make sure you check us out here next week for another Tuesday at 2 webinar. Hopefully, April will be back as your host.
Steve Aiello, Systems Support Manager, Online Tech
Steven Aiello is a Systems Support Manager with Online Tech, the Midwest’s premier managed data center operator. His certifications include CISSP (Certified Information System Security Professional), ISACA CISA, VMware VCP ( VMware Certified Professional), Cisco CCNA ( Cisco Certified Network Associate), Comptia Security+, and Certified Incident Responder (New Mexico Tech).
Mark Stanislav, Security Evangelist, Duo Security
Mark Stanislav is the Security Evangelist for Duo Security, an Ann Arbor-based startup focused on two-factor authentication and mobile security. With a career spanning over a decade, Mark has worked within small business, academia, startup, and corporate environments, primarily focused on Linux architecture, information security, and web application development.
Mark earned his Bachelor of Science Degree in Networking & IT Administration and his Master of Science Degree in Technology Studies, focused on Information Assurance, both from Eastern Michigan University. Mark also holds his CISSP, Security+, Linux+, and CCSK certifications.