1 00:00:00,005 --> 00:00:02,002 - [Instructor] Information security professionals 2 00:00:02,002 --> 00:00:04,006 must also apply controls to protect 3 00:00:04,006 --> 00:00:06,008 the integrity of information. 4 00:00:06,008 --> 00:00:09,008 As the second leg of the CIA triad, 5 00:00:09,008 --> 00:00:12,004 integrity controls ensure that information 6 00:00:12,004 --> 00:00:15,005 is not altered without authorization. 7 00:00:15,005 --> 00:00:19,000 Integrity controls protect an organization's information 8 00:00:19,000 --> 00:00:22,002 from accidental or intentional tampering 9 00:00:22,002 --> 00:00:26,003 that may come as the result of many different issues. 10 00:00:26,003 --> 00:00:28,009 Integrity failures may result from 11 00:00:28,009 --> 00:00:31,004 the intentional alteration of information 12 00:00:31,004 --> 00:00:34,001 such as an employee altering his or her salary 13 00:00:34,001 --> 00:00:36,002 or a student altering grades. 14 00:00:36,002 --> 00:00:37,007 They may come from user error 15 00:00:37,007 --> 00:00:40,004 such as the data entry clerk accidentally entering 16 00:00:40,004 --> 00:00:42,005 the wrong information into a field. 17 00:00:42,005 --> 00:00:45,001 Or they may come from software or hardware error 18 00:00:45,001 --> 00:00:47,007 such as an application or hard drive malfunctioning 19 00:00:47,007 --> 00:00:49,003 and writing erroneous data. 20 00:00:49,003 --> 00:00:51,006 Finally, they may come from acts of nature 21 00:00:51,006 --> 00:00:53,009 such as a lightning strike that alters information 22 00:00:53,009 --> 00:00:56,004 stored on a disc. 23 00:00:56,004 --> 00:00:58,005 Hashing is one of the core controls 24 00:00:58,005 --> 00:01:00,006 used to protect integrity. 25 00:01:00,006 --> 00:01:03,003 A hash function is a mathematical algorithm 26 00:01:03,003 --> 00:01:07,004 that computes a unique digest from a file of any length. 27 00:01:07,004 --> 00:01:10,003 This digest is like a fingerprint for the file. 28 00:01:10,003 --> 00:01:13,003 It's a short piece of data that can uniquely identify 29 00:01:13,003 --> 00:01:17,007 the contents of a file and tell if it's been modified. 30 00:01:17,007 --> 00:01:20,005 Let's take a quick look at hashing in action. 31 00:01:20,005 --> 00:01:22,009 Here, I'm going to use a common hash function 32 00:01:22,009 --> 00:01:27,005 called md5, short for message digest version 5, 33 00:01:27,005 --> 00:01:29,004 along with a very simple text file, 34 00:01:29,004 --> 00:01:31,000 the Gettysburg Address. 35 00:01:31,000 --> 00:01:32,009 So, this webpage that we're looking at 36 00:01:32,009 --> 00:01:35,007 and md5 hash generator will take any text 37 00:01:35,007 --> 00:01:37,009 that you type into the string field 38 00:01:37,009 --> 00:01:41,002 and compute the md5 hash value for that string. 39 00:01:41,002 --> 00:01:42,009 I'm going to go ahead and paste 40 00:01:42,009 --> 00:01:46,000 the text of the Gettysburg Address into this, 41 00:01:46,000 --> 00:01:48,001 and as you can see, the webpage 42 00:01:48,001 --> 00:01:52,006 already computed for me the md5 hash value of this text. 43 00:01:52,006 --> 00:01:55,008 This long string beginning with 78e35 44 00:01:55,008 --> 00:01:58,009 and ending with fd7 is the hash value 45 00:01:58,009 --> 00:02:01,003 of the text of the Gettysburg Address. 46 00:02:01,003 --> 00:02:04,001 Now, if I go back up here and make a change, 47 00:02:04,001 --> 00:02:05,007 let's say, I change this from 48 00:02:05,007 --> 00:02:07,008 "Four score and seven years ago" 49 00:02:07,008 --> 00:02:10,006 to "Four score and eight years ago," 50 00:02:10,006 --> 00:02:13,000 notice that the hash value has changed 51 00:02:13,000 --> 00:02:15,006 to a completely different value. 52 00:02:15,006 --> 00:02:17,002 If I go ahead and change this back 53 00:02:17,002 --> 00:02:21,003 and type "seven" again, I have that original hash value 54 00:02:21,003 --> 00:02:26,002 that began with 78e35 and ended with fd7. 55 00:02:26,002 --> 00:02:28,005 That's a major change to the file, 56 00:02:28,005 --> 00:02:31,005 but hash values are extremely sensitive. 57 00:02:31,005 --> 00:02:33,008 Notice, for example, if I take this comma 58 00:02:33,008 --> 00:02:37,003 after "new nation" and delete it, 59 00:02:37,003 --> 00:02:40,004 the hash value, again, changes completely. 60 00:02:40,004 --> 00:02:42,006 Hash values are very good at telling us 61 00:02:42,006 --> 00:02:45,001 if any change has been made to a file, 62 00:02:45,001 --> 00:02:47,005 but they can't tell us what changes were made 63 00:02:47,005 --> 00:02:51,000 or how significant those changes were. 64 00:02:51,000 --> 00:02:54,002 Hashes can easily detect changes in a file. 65 00:02:54,002 --> 00:02:57,002 You can compute the hash value of a file today 66 00:02:57,002 --> 00:02:58,009 and then compare it to the hash value 67 00:02:58,009 --> 00:03:00,005 that you compute tomorrow. 68 00:03:00,005 --> 00:03:05,000 If the hash value hasn't changed, the file hasn't changed. 69 00:03:05,000 --> 00:03:07,002 If the two hashes are different, you know 70 00:03:07,002 --> 00:03:11,004 that some modification to the file has taken place. 71 00:03:11,004 --> 00:03:13,007 Hashes are the foundation for many 72 00:03:13,007 --> 00:03:15,007 different integrity controls. 73 00:03:15,007 --> 00:03:18,002 One of those is digital signatures, 74 00:03:18,002 --> 00:03:20,006 a control that helps us achieve the goal 75 00:03:20,006 --> 00:03:23,002 of non-repudiation. 76 00:03:23,002 --> 00:03:26,005 Non-repudiation means that the creator of text 77 00:03:26,005 --> 00:03:28,009 can not later dispute that he or she 78 00:03:28,009 --> 00:03:31,006 was the real originator of that text 79 00:03:31,006 --> 00:03:34,001 by claiming that the message was a forgery. 80 00:03:34,001 --> 00:03:36,001 Just as you'd sign a paper document 81 00:03:36,001 --> 00:03:37,007 with your physical signature, 82 00:03:37,007 --> 00:03:39,007 you can apply a digital signature 83 00:03:39,007 --> 00:03:43,007 to a digital file to achieve non-repudiation. 84 00:03:43,007 --> 00:03:45,009 To create a digital signature, 85 00:03:45,009 --> 00:03:49,007 the person signing a document first uses a hash function 86 00:03:49,007 --> 00:03:52,004 to create a digest of that document 87 00:03:52,004 --> 00:03:54,005 and then encrypts the hash value 88 00:03:54,005 --> 00:03:58,001 using his or her private encryption key. 89 00:03:58,001 --> 00:04:00,007 The recipient of a digitally signed message 90 00:04:00,007 --> 00:04:03,002 can then use the sender's public key 91 00:04:03,002 --> 00:04:07,000 to decrypt the signature and then compute the hash value 92 00:04:07,000 --> 00:04:10,003 of the message themselves and compare the values 93 00:04:10,003 --> 00:04:12,003 from step one and step two. 94 00:04:12,003 --> 00:04:15,003 If they match, the message is authentic. 95 00:04:15,003 --> 00:04:17,001 If they don't match, the message 96 00:04:17,001 --> 00:04:19,000 may have been tampered with. 97 00:04:19,000 --> 00:04:21,000 There's a bit more technology behind this 98 00:04:21,000 --> 00:04:24,006 that I cover in the CISP security engineering course. 99 00:04:24,006 --> 00:04:26,006 Digital signatures can also be used 100 00:04:26,006 --> 00:04:29,002 to create digital certificates. 101 00:04:29,002 --> 00:04:31,002 Digital certificates are files used 102 00:04:31,002 --> 00:04:35,001 to provide a system or individual's public encryption key 103 00:04:35,001 --> 00:04:38,005 to previously unknown third parties. 104 00:04:38,005 --> 00:04:41,002 Organizations known as certificate authorities 105 00:04:41,002 --> 00:04:44,005 create these certificates and then digitally sign them 106 00:04:44,005 --> 00:04:46,006 to show that they are authentic. 107 00:04:46,006 --> 00:04:48,003 Again, I cover this in more detail 108 00:04:48,003 --> 00:04:50,006 in the CISP security engineering course.