Encrypting Data - CompTIA Security+ SY0-701 - 1.4

Professor Messer
2 Nov 202309:47

Summary

TLDRThe video script discusses the importance of encrypting data at rest, including full disk encryption with tools like BitLocker and FileVault, and file-level encryption with EFS. It also covers database encryption, highlighting the balance between security and accessibility, and the use of HTTPS, VPNs, and IPsec for secure data transmission. The script emphasizes the necessity of using compatible encryption algorithms for successful encryption and decryption, and the evolution of key lengths to counter brute force attacks. It concludes with the concept of key stretching to enhance security.

Takeaways

  • 🔒 Data encryption is essential for protecting data at rest on storage devices like SSDs and hard drives.
  • 💻 Operating systems like Windows and Mac OS offer built-in encryption solutions such as BitLocker and FileVault, respectively.
  • 🗂️ Encrypting individual files can be done using EFS in Windows or third-party utilities in other operating systems.
  • 🔑 Databases can be protected using techniques like transparent encryption with symmetric keys.
  • 📊 Column-level encryption in databases allows for quick searches while keeping sensitive data encrypted.
  • 🌐 Data transmission security is ensured through protocols like HTTPS and VPNs, which create encrypted tunnels for data transfer.
  • 🔑 Encryption and decryption require the use of compatible algorithms agreed upon by both communicating parties.
  • 🔑 The security of encryption relies on the secrecy of the key, not the algorithm itself, which is often public knowledge.
  • 🔑 Brute force attacks can be mitigated by using long keys and key stretching techniques.
  • 🔑 Asymmetric encryption, involving complex mathematics with large prime numbers, also requires long keys to prevent brute force attacks.
  • 🛡️ Security administrators need to understand user requirements to ensure the use of appropriate encryption algorithms for data protection.

Q & A

  • What is meant by 'encrypting data at rest'?

    -Encrypting data at rest refers to the process of securing data that is stored on a storage device, such as an SSD or hard drive, by converting it into an unreadable format until it is decrypted. This includes encrypting individual files or using full disk or volume level encryption.

  • Which tools are commonly used for encrypting data on Windows and Mac operating systems?

    -On Windows, BitLocker is used for encrypting data, while on Mac OS, FileVault is the tool of choice. These tools provide full disk or volume level encryption.

  • What is EFS and how is it used in Windows?

    -EFS stands for Encrypting File System. It is a file-level encryption feature built into the NTFS file system in Windows. Users can enable EFS by selecting 'Encrypt contents to secure data' in the Advanced Attributes of a file or folder's properties.

  • Can third-party utilities perform file encryption on Mac OS, Linux, or Windows?

    -Yes, there are many third-party utilities available that can perform file encryption on these operating systems, offering similar functionality to Windows' EFS.

  • What is transparent encryption and how does it work?

    -Transparent encryption is a technique used to protect data within database files by encrypting all the data using a symmetric key. This means that data is automatically encrypted and decrypted each time it is accessed from the database.

  • Why might some data in a database be left unencrypted?

    -Some data in a database might not be private or sensitive, and therefore, it may be left unencrypted to avoid unnecessary overhead. This allows for faster access to non-sensitive data without the need for decryption.

  • What is column-level encryption and how does it help in reducing decryption overhead?

    -Column-level encryption is a method where only certain columns of a database table are encrypted, while others are left in plain text. This allows for quick searches and access to non-sensitive data without the need to decrypt the entire database or table.

  • Why is HTTPS used for secure communication in web browsers?

    -HTTPS, which stands for Hypertext Transfer Protocol Secure, is used to encrypt the communication between a web browser and a website. This ensures that any data transmitted is protected and cannot be easily intercepted or understood by unauthorized parties.

  • What is a VPN and how does it provide encryption for network communication?

    -A VPN, or Virtual Private Network, creates an encrypted tunnel for data transmission between two points. It ensures that all information sent through the tunnel is encrypted, providing a secure means of communication over potentially insecure networks.

  • What is the importance of using the same encryption algorithm on both sides of a communication?

    -Using the same encryption algorithm on both sides ensures compatibility and allows for successful encryption and decryption of data. Without agreement on the algorithm, the data cannot be properly secured or understood by the receiving party.

  • Why are encryption algorithms usually public, and what makes them secure?

    -Encryption algorithms are public so that their processes and mathematics can be scrutinized and trusted. The security of these algorithms lies in the secrecy of the key used, not in the algorithm itself. Without the key, even with knowledge of the algorithm, data cannot be decrypted.

  • What is key stretching and how does it enhance security?

    -Key stretching is the process of performing the encryption multiple times on the same data using the same key. This adds an additional layer of security by requiring an attacker to decrypt multiple times to determine if their brute force attack was successful.

  • How does the length of encryption keys affect security and resistance to brute force attacks?

    -Longer keys make brute force attacks more difficult and time-consuming. A symmetric key of 128 bits or larger is considered secure, but as computational power increases, the length of keys may be extended to maintain security against brute force attacks.

Outlines

00:00

🔒 Data Encryption Essentials

This paragraph discusses the importance of encrypting data at rest, which includes individual files and full disk or volume level encryption. It highlights the use of BitLocker for Windows and FileVault for Mac OS, as well as third-party utilities for other operating systems. The paragraph also touches on file-level encryption with EFS in Windows and the concept of transparent encryption for databases, where only certain columns or rows are encrypted to balance security with accessibility. It concludes with an example of encrypting an employee database, emphasizing the trade-off between security and the overhead of decrypting data for searches.

05:00

🔑 Encryption Algorithms and Key Management

This paragraph delves into the specifics of encryption and decryption algorithms, emphasizing the need for both parties in a communication to use compatible algorithms. It provides a comparison between DES and AES, illustrating their structural differences and output levels. The paragraph underscores that while encryption algorithms are publicly known and trusted, the security lies in the secrecy of the keys used. It also discusses the concept of key stretching as a method to enhance security against brute force attacks, suggesting that longer keys and multiple encryption iterations can significantly increase the difficulty for attackers to decrypt data.

Mindmap

Keywords

💡Encryption

Encryption is the process of converting data into a code to prevent unauthorized access. It is a fundamental concept in the video, which discusses various methods of encrypting data at rest, such as on storage devices, and in transit, such as over a network. The script mentions full disk encryption using tools like BitLocker for Windows and FileVault for Mac OS, illustrating the importance of securing data from potential breaches.

💡Data at Rest

Data at rest refers to data that is stored on a device or medium and not currently in use or being processed. The video emphasizes the need to encrypt data at rest to protect it from unauthorized access. For instance, the script explains that full disk or volume level encryption ensures all data on a storage device is secured, regardless of whether it's an individual file or the entire drive.

💡BitLocker

BitLocker is a data protection feature included in Windows operating systems that provides full disk encryption. The script mentions BitLocker as a method to encrypt data at rest on Windows systems, highlighting its role in securing the entire disk's contents against potential data theft or unauthorized access.

💡FileVault

FileVault is a disk encryption program available on Mac OS that automatically encrypts the startup disk and protects personal files. The video script refers to FileVault as an example of how Mac OS users can encrypt their data at rest, underlining the cross-platform importance of data encryption.

💡Encrypting File System (EFS)

EFS is a file level encryption feature built into the NTFS file system in Windows. It allows users to encrypt individual files or folders to secure data. The script explains that in Windows, users can enable EFS through file or folder properties, which is a way to protect specific data without encrypting the entire volume.

💡Database Encryption

Database encryption involves securing the data stored within a database, often using techniques like transparent encryption. The video script provides an example of an employee database where Social Security numbers could be encrypted to protect sensitive information, while other less sensitive data remains in plain text for easier access and searchability.

💡Column Level Encryption

Column level encryption is a technique where specific columns of data within a database are encrypted, while other columns remain unencrypted. The script uses this concept to illustrate a balance between security and practicality, allowing for quick searches of non-sensitive data while protecting sensitive information like Social Security numbers.

💡HTTPS

HTTPS stands for Hypertext Transfer Protocol Secure and is used to encrypt communications between a user's browser and the websites they visit. The video script mentions HTTPS as an example of encrypting data in transit, ensuring that the information exchanged over the network is protected from eavesdropping or tampering.

💡Virtual Private Network (VPN)

A VPN is a technology that creates an encrypted tunnel for data transmission, allowing secure communication over the internet. The script explains that VPNs, such as those using SSL or TLS for client-based connections or IPsec for site-to-site connections, are used to ensure data sent over a network is protected from interception.

💡IPsec

IPsec is a protocol suite used for securing internet protocol communications by authenticating and encrypting each IP packet of a communication session. The video script refers to IPsec as a method for providing VPN connectivity between two sites, creating a secure channel over which data can be safely transmitted.

💡Symmetric Key

A symmetric key is a single key used for both encryption and decryption of data. The script discusses the use of symmetric keys in database encryption and the importance of key length in protecting against brute force attacks, noting that longer keys, such as 128 bits or more, are common in encryption practices.

💡Asymmetric Key

An asymmetric key, also known as a public-private key pair, involves two different but mathematically linked keys. The script mentions that even though asymmetric keys are based on complex mathematics, they are still susceptible to brute force attacks, which is why key lengths of 3072 bits or more are not uncommon.

💡Key Stretching

Key stretching is a technique used to increase the security of encryption by applying the encryption process multiple times to the same data. The script describes this as a method to strengthen keys and make brute force attacks more difficult by requiring multiple decryption attempts to verify success.

Highlights

Encrypting data at rest is crucial for protecting data stored on SSDs, hard drives, and other storage devices.

Full disk or volume level encryption can be achieved using BitLocker on Windows and FileVault on Mac OS.

Encrypting File System (EFS) in Windows and third-party utilities can encrypt individual files on various operating systems.

Configuring transparent encryption with a symmetric key can protect data within database files.

Column-level encryption allows quick searches while keeping sensitive data like Social Security numbers encrypted.

HTTPS encrypts data in transit, protecting information sent between a browser and a server.

Virtual Private Networks (VPNs) create encrypted tunnels for secure data transmission across networks.

IPsec is commonly used for site-to-site VPNs to provide secure connectivity.

Both parties in a communication must use compatible encryption and decryption algorithms for successful data exchange.

Security administrators should select appropriate encryption algorithms based on user requirements and security levels.

DES and AES are examples of encryption algorithms with different processes and security levels.

Encryption algorithms are public, but the security relies on the secrecy of the encryption keys.

The strength of encryption can be increased by using long keys and key stretching techniques.

Asymmetric encryption involves complex mathematics with large prime numbers, still susceptible to brute force attacks.

Key length may need to be increased over time to counteract advancements in computational power.

Key stretching, such as hashing a password multiple times, adds security against brute force attacks.

The importance of keeping private keys secure is emphasized, as they are crucial for data access and security.

Transcripts

play00:01

If you need to protect data that you're

play00:03

storing on an SSD, a hard drive, or any other type of storage

play00:07

device, then you'll need to work on encrypting

play00:10

all of this stored data.

play00:11

Sometimes you'll hear this referred to as encrypting data

play00:14

at rest.

play00:15

This includes not just individual files

play00:17

that you might have on these storage devices,

play00:19

but in some cases, everything that's on the storage device

play00:23

is using full disk or volume level encryption.

play00:26

In the Windows operating system, you

play00:28

may be using BitLocker to accomplish this.

play00:30

If you're using Mac OS, you may be

play00:32

using FileVault. And other operating

play00:35

systems have other ways for encrypting everything

play00:38

on a single volume.

play00:39

You might also need to encrypt a single file that

play00:42

is on a system and not the entire volume.

play00:44

In Windows, you can use EFS.

play00:46

That stands for the Encrypting File System.

play00:49

It's a file level encryption that's built into the NTFS file

play00:53

system.

play00:53

And if you're using Mac OS, Linux, or even Windows,

play00:57

there are many third party utilities that

play00:59

can perform a similar function.

play01:01

In Windows, you would look at the properties

play01:03

of a file or folder.

play01:04

And inside the Advanced Attributes,

play01:06

you can select, Encrypt contents to secure data to enable EFS.

play01:12

A lot of the data that we use online is stored in a database.

play01:15

And of course, there are different techniques

play01:18

to be able to protect the data that's

play01:20

inside of these database files.

play01:22

For example, you may be able to configure

play01:25

transparent encryption.

play01:26

This uses a symmetric key to encrypt everything

play01:29

that might be in that database.

play01:31

And you would need to perform an encryption or decryption

play01:34

of that data each time the information

play01:36

is pulled from the database.

play01:38

Some of the information in your database

play01:40

might not be private or sensitive.

play01:42

So you might have some data inside

play01:44

of the database that is protected or encrypted

play01:47

and other data, which is still available in plain text.

play01:50

Here's an example of a table inside of a database.

play01:54

This is an employee database that

play01:56

has employee ID numbers, first names, last names, and Social

play02:00

Security numbers.

play02:02

Of course, you could encrypt the entire database

play02:05

by applying a symmetric key so that all of this data

play02:08

is now encrypted.

play02:09

And you can see, we have no idea what part of this

play02:13

may have anything to do with an employee's name, their ID

play02:16

number, or their Social Security number.

play02:19

But of course, there's overhead involved

play02:21

in being able to view this information.

play02:23

And every time we need to search through the entire database,

play02:26

we would effectively need to decrypt all of the data

play02:29

within that single database.

play02:31

One way to avoid some of that overhead

play02:33

is to only encrypt a certain type of data in the database.

play02:37

In this example, we're performing column level

play02:39

encryption, where the employee ID, the first name,

play02:42

and the last name are all displayed in plain text.

play02:46

And if you needed to search for a name or search for an ID,

play02:49

you can perform this very quickly

play02:50

without having to decrypt any other type of data.

play02:53

But if you needed access to a person's Social Security

play02:56

number, you would either need to decrypt

play02:58

the entire column or that single record

play03:00

to be able to gain access to that data.

play03:03

Another common place to perform this encryption

play03:06

is when we're sending data across the network.

play03:08

We want to be sure that everything

play03:10

we're sending between two devices is protected.

play03:12

And if someone does tap into this connection

play03:14

and view that data, they wouldn't

play03:16

be able to make sense of any of those details.

play03:19

For example, you're probably using a browser right now

play03:21

to watch this video.

play03:22

And all of the communication that's

play03:24

taking place in your browser is most likely

play03:26

using HTTPS, which means that everything traversing

play03:29

the network is encrypted.

play03:31

If you need to connect different sites to each other

play03:34

or need to connect individuals for remote access,

play03:36

we commonly would use a VPN to provide this encryption.

play03:40

This stands for Virtual Private Network.

play03:42

And it effectively creates an encrypted tunnel,

play03:45

where you can send all information into the tunnel

play03:47

to the other side.

play03:48

And anything within that tunnel is going to be encrypted.

play03:51

This is commonly used with client

play03:53

based VPNs using SSL or TLS.

play03:56

And if you're connecting two sites together,

play03:58

we commonly will use IPsec to provide that VPN connectivity.

play04:03

To be able to have a successful encryption and decryption,

play04:07

both sides must be using the same encryption algorithms.

play04:11

This is the formula that's used to not only provide

play04:14

the encryption process, but it also

play04:16

provides you with the way to decrypt

play04:18

that data on the other side.

play04:20

Generally, both sides would agree from the very beginning,

play04:23

to use one or more encryption algorithms

play04:26

so that both sides know exactly what to expect when information

play04:30

is received.

play04:31

Many times, the end user doesn't see

play04:33

the details of the algorithms that are being used.

play04:36

But they know that they're using a particular application.

play04:39

And they want to be sure the person on the other side

play04:41

is using a similar application so

play04:43

that the encryption and decryption

play04:45

processes will be compatible.

play04:47

There are obviously advantages and disadvantages,

play04:49

depending on what encryption algorithm you're using.

play04:52

Some algorithms have a better security level,

play04:55

some work faster than others, some

play04:57

have a more complex method for implementation.

play05:00

But once both sides agrees on the application that

play05:03

will be used for encryption and decryption,

play05:05

everything else generally takes care of itself automatically.

play05:09

Usually, the security administrator

play05:11

will have a pretty good idea of what the requirements are

play05:14

for the users.

play05:15

And they'll make sure that the proper encryption

play05:17

algorithms are used.

play05:19

Here's a good example of why it's

play05:20

so important that both parties in a conversation

play05:22

are using the same encryption algorithm.

play05:25

These are very broad comparisons between the DES encryption

play05:28

algorithm and the AES encryption algorithm.

play05:32

They stand for the Data Encryption

play05:33

Standard and the Advanced Encryption Standard.

play05:36

You do not need to know the specifics of these block

play05:39

diagrams for the Security+ exam.

play05:41

But you can visually see that there

play05:44

are quite a few differences between both

play05:46

of these algorithms.

play05:47

The DES encryption algorithm has five different steps,

play05:50

which include breaking up the data into a left plaintext

play05:53

and right plaintext to finally come up

play05:55

with a 64-bit cipher text.

play05:57

You can see that AES works a little bit differently,

play06:00

where you take a plain text and a secret key,

play06:02

add it to a cipher, and finally get the ciphertext.

play06:05

There are also different versions of AES

play06:07

that can produce different levels of output.

play06:10

You obviously would not be able to encrypt with DES

play06:13

and somehow decrypt with AES.

play06:16

You have to be sure that you're using compatible encryption

play06:19

and decryption algorithms on both sides of the conversation.

play06:23

Here's another interesting part about encryption algorithms,

play06:26

is we know exactly how they work.

play06:28

The algorithms themselves are usually public.

play06:31

You can read the code or look through the math

play06:33

and see exactly the process that occurs.

play06:35

The algorithm is usually a very well-known thing.

play06:39

In fact, it makes the algorithm more trustworthy,

play06:41

because we can see the math and the process that's

play06:44

used to create the encryption.

play06:45

The one major piece of information that we don't have

play06:48

is the key.

play06:49

And although we know how the algorithm works,

play06:52

we still are not able to reverse engineer anything

play06:55

unless we have that key.

play06:57

This is very similar to the way that a door lock operates.

play07:00

We know how door locks work.

play07:02

We know how to manufacture door locks.

play07:05

We know what happens inside of a door

play07:06

lock when you put a key in.

play07:08

But just knowing that information

play07:10

doesn't somehow allow you access through a locked door.

play07:13

You have to have the proper key, just as you do

play07:16

with encryption and decryption.

play07:19

That key helps determine the final output.

play07:21

If you're encrypting data or hashing data

play07:24

or creating a digital signature, it's all based around that key.

play07:28

And even though we have the algorithm

play07:30

and understand everything about the math,

play07:32

you still need the key to be able to gain access

play07:34

to the data.

play07:35

This is why we always tell you to keep

play07:37

those private keys private.

play07:39

If somebody gains access to your key,

play07:41

they're able to use it on your door lock.

play07:43

And now, they have access to all of your data.

play07:46

Like anything else, your encryption and decryption keys

play07:49

are subject to brute force attacks, which

play07:52

means that an attacker could go through every possible

play07:55

permeation to be able to determine

play07:57

what a public or private key might be.

play07:59

We can effectively prevent these brute force attacks

play08:02

from being successful by creating a very, very long key.

play08:06

In the world of encryption, a symmetric key

play08:09

of 128 bits or larger would be very common

play08:12

and today, would be very protected.

play08:14

As time goes on and our processors become more powerful

play08:17

and we're able to tie many different processors together,

play08:20

we may increase the size of our keys

play08:23

to make them that much more difficult to brute force.

play08:26

This extension of the key lengths

play08:28

also applies to asymmetric encryption as well.

play08:31

Even though an asymmetric key involves complex mathematics

play08:34

surrounding very large prime numbers,

play08:36

an attacker can still performed with brute force.

play08:39

And it's not uncommon to see asymmetric keys that

play08:41

have a key length of 3072 bits or even larger.

play08:46

This means as time goes on, we may

play08:48

have to create larger and larger keys, just

play08:51

to keep up with the changes in technology.

play08:53

But there are some other things we

play08:55

can do to make our existing keys that much more secure.

play08:59

And one of the ways to do that is

play09:00

to perform the encryption process multiple times

play09:04

on a single type of data.

play09:06

For example, you may want to hash a password,

play09:08

then hash the hash of that password,

play09:11

then hash the hash of the hash of that password, and so on.

play09:14

This is referred to as key stretching

play09:17

or key strengthening.

play09:18

This means if someone wanted to brute force

play09:21

some data that's been encrypted multiple times using

play09:23

this key stretching method, that they would need

play09:26

to decrypt multiple times to see if their brute force was

play09:30

successful.

play09:31

And this adds an additional overhead,

play09:33

and certainly would create more time during the brute force

play09:36

process.

Rate This

5.0 / 5 (0 votes)

Related Tags
Data EncryptionBitLockerFileVaultEFSDatabase SecurityHTTPSVPNIPsecAESDESKey Stretching