加密標準

信息技術服務

需要對數據中的數據進行加密,以降低未加密數據在受信任或不信任網絡上傳輸時被截獲或監視的風險. 未經授權的訪問可能會危害敏感機構數據的機密性. CUU和大學單位ISMS負責確保在其負責的單位內滿足以下加密要求:

數據加密標準(DES)|設置1

本文討論了數據加密標準(DES),這是一種以56位密鑰長度而聞名的歷史加密算法. 我們探索其操作,關鍵轉換和加密過程,闡明了其在當今上下文中其在數據安全中的作用及其脆弱性.

什麼是DES?

數據加密標準(DES)是一個具有56位密鑰長度的塊密碼,在數據安全中發揮了重要作用 . 發現數據加密標準(DES)很容易受到非常強大的攻擊的攻擊,因此,DES的普及在衰落中略有發現. DES是一個塊密碼,並在大小的塊中加密數據 64位 每個,這意味著64位純文本作為DES的輸入,產生64位密文. 相同的算法和鍵用於加密和解密,差異很小. 關鍵長度是 56位 .

基本思想如下所示:

我們提到DES使用56位鍵. 實際上,初始密鑰由64位組成. 但是,在DES過程啟動之前,丟棄鍵的每8位以產生56位鍵. 那是位置8、16、24、32、40、48、56和64的位置.

因此,丟棄密鑰的每8位會產生一個 56位鍵 來自原始 64位鍵 .
DES基於密碼學的兩個基本屬性:替換(也稱為混亂)和換位(也稱為擴散). DES由16個步驟組成,每個步驟都稱為一輪. 每個回合執行替換和換位的步驟. 現在讓我們討論des中的廣泛步驟.

  • 在第一步中,將64位純文本塊移交給初始排列(IP)函數.
  • 最初的排列在純文本上執行.
  • 接下來,初始排列(IP)產生了排列的塊的兩半。說左文字(LPT)和右文本(RPT).
  • 現在,每個LPT和RPT都經過16輪加密過程.
  • 最後,LPT和RPT重新加入,並在合併的塊上執行最終排列(FP)
  • 此過程的結果產生64位密文.

步驟進入DES
初始排列(IP)

正如我們已經指出的那樣,初始排列(IP)僅發生一次,它發生在第一輪之前. 它表明如何進行IP中的換位,如圖所示. 例如,它說IP用原始純文本的第58位替換了原始純文本塊的第一位,第二位具有原始純文本塊的第50位,依此類推.

這不過是原始純文本塊的位位置的雜耍. 相同的規則適用於圖中所示的所有其他位置.

初始排列表

正如我們在IP完成後指出的那樣,由此產生的64位排列的文本塊分為兩個半塊. 每個半塊由32位組成,而16輪中的每一則又由圖中概述的廣泛步驟組成.

在DES中進行的回合

步驟1:鑰匙轉換

我們已經註意到,最初的64位鍵通過丟棄初始鍵的每8位,將其轉換為56位鍵. 因此,對於每個56位鍵. 從此56位鍵中,在每個回合中使用稱為鍵轉換的過程生成不同的48位子密鑰. 為此,56位鑰匙分為兩半,28位. 這些半半移動一兩個位置,具體取決於回合.

例如: 如果循環數量為1、2、9或16,則僅通過一個圓的一個位置完成偏移,則圓形移動是通過兩個位置完成的. 圖中顯示了每輪移動的鑰匙位數量.

每輪移動的關鍵位數

換檔後,選擇了56位中的48位. 從48中,我們可能會根據要求獲得64或56位,這有助於我們認識到該模型非常通用,並且可以處理所需或提供的任何要求範圍. 對於選擇56位的48位,該表如下圖所示. 例如,在班次之後,位數字14移至第一個位置,位數字17移至第二個位置,依此類推. 如果我們觀察桌子,我們將意識到它僅包含48位的位置. 排名第18位被丟棄(我們不會像其他7個一樣在表中找到它,以將56位鍵減少到48位鍵. 由於鑰匙轉換過程涉及置換以及原始56位鍵的48位子集的選擇,因此稱為壓縮置換.

壓縮置換

由於採用這種壓縮置換技術,在每個回合中使用不同的鑰匙位. 這使得不容易破解.

步驟2:擴展置換

回想一下,在最初的排列後,我們有兩個32位純文本區域,稱為左文字(LPT)和右文本(RPT). 在擴展排列期間,RPT從32位擴展到48位. 因此,位也稱為擴展置換. 這發生在32位RPT分為8個塊時,每個塊由4位組成. 然後,然後將上一個步驟的每個4位塊擴展到相應的6位塊,I.e., 每4位塊,再增加2位.

將32位RPT分為8位塊

此過程導致擴展以及輸入位的排列,同時創建輸出. 密鑰轉換過程將56位密鑰壓縮到48位. 然後擴展置換過程擴展了 32位RPT48位 . 現在,48位鍵是XOR,具有48位RPT,將結果輸出給出了下一步,即 S-box替換 .

Python

#python3代碼上述方法
#十六進製到二進制轉換
Def Hex2bin(S):
MP = < '0' : "0000" , for i in range ( len (s)): bin = bin + mp[s[i]] return bin # Binary to hexadecimal conversion def bin2hex(s): mp = < "0000" : '0' , for i in range ( 0 , len (s), 4 ): ch = ch + s[i] ch = ch + s[i + 1 ] ch = ch + s[i + 2 ] ch = ch + s[i + 3 ] hex = hex + mp[ch] return hex # Binary to decimal conversion def bin2dec(binary): binary1 = binary decimal, i, n = 0 , 0 , 0 while (binary ! = 0 ): dec = binary % 10 decimal = decimal + dec * pow ( 2 , i) binary = binary / / 10 return decimal # Decimal to binary conversion def dec2bin(num): res = bin (num).replace( "0b" , "") if ( len (res) % 4 ! = 0 ): div = len (res) / 4 div = int (div) counter = ( 4 * (div + 1 )) - len (res) for i in range ( 0 , counter): res = '0' + res return res # Permute function to rearrange the bits def permute(k, arr, n): permutation = "" for i in range ( 0 , n): permutation = permutation + k[arr[i] - 1 ] return permutation # shifting the bits towards left by nth shifts def shift_left(k, nth_shifts): for i in range (nth_shifts): for j in range ( 1 , len (k)): # calculating xow of two strings of binary number a and b def xor(a, b): for i in range ( len (a)): if a[i] = = b[i]: ans = ans + "0" ans = ans + "1" return ans # Table of Position of 64 bits at initial level: Initial Permutation Table initial_perm = [ 58 , 50 , 42 , 34 , 26 , 18 , 10 , 2 , 60 , 52 , 44 , 36 , 28 , 20 , 12 , 4 , 62 , 54 , 46 , 38 , 30 , 22 , 14 , 6 , 64 , 56 , 48 , 40 , 32 , 24 , 16 , 8 , 57 , 49 , 41 , 33 , 25 , 17 , 9 , 1 , 59 , 51 , 43 , 35 , 27 , 19 , 11 , 3 , 61 , 53 , 45 , 37 , 29 , 21 , 13 , 5 , 63 , 55 , 47 , 39 , 31 , 23 , 15 , 7 ] # Expansion D-box Table exp_d = [ 32 , 1 , 2 , 3 , 4 , 5 , 4 , 5 , 6 , 7 , 8 , 9 , 8 , 9 , 10 , 11 , 12 , 13 , 12 , 13 , 14 , 15 , 16 , 17 , 16 , 17 , 18 , 19 , 20 , 21 , 20 , 21 , 22 , 23 , 24 , 25 , 24 , 25 , 26 , 27 , 28 , 29 , 28 , 29 , 30 , 31 , 32 , 1 ] # Straight Permutation Table per = [ 16 , 7 , 20 , 21 , 29 , 12 , 28 , 17 , 1 , 15 , 23 , 26 , 5 , 18 , 31 , 10 , 2 , 8 , 24 , 14 , 32 , 27 , 3 , 9 , 19 , 13 , 30 , 6 , 22 , 11 , 4 , 25 ] # S-box Table sbox = [[[ 14 , 4 , 13 , 1 , 2 , 15 , 11 , 8 , 3 , 10 , 6 , 12 , 5 , 9 , 0 , 7 ], [ 0 , 15 , 7 , 4 , 14 , 2 , 13 , 1 , 10 , 6 , 12 , 11 , 9 , 5 , 3 , 8 ], [ 4 , 1 , 14 , 8 , 13 , 6 , 2 , 11 , 15 , 12 , 9 , 7 , 3 , 10 , 5 , 0 ], [ 15 , 12 , 8 , 2 , 4 , 9 , 1 , 7 , 5 , 11 , 3 , 14 , 10 , 0 , 6 , 13 ]], [[ 15 , 1 , 8 , 14 , 6 , 11 , 3 , 4 , 9 , 7 , 2 , 13 , 12 , 0 , 5 , 10 ], [ 3 , 13 , 4 , 7 , 15 , 2 , 8 , 14 , 12 , 0 , 1 , 10 , 6 , 9 , 11 , 5 ], [ 0 , 14 , 7 , 11 , 10 , 4 , 13 , 1 , 5 , 8 , 12 , 6 , 9 , 3 , 2 , 15 ], [ 13 , 8 , 10 , 1 , 3 , 15 , 4 , 2 , 11 , 6 , 7 , 12 , 0 , 5 , 14 , 9 ]], [[ 10 , 0 , 9 , 14 , 6 , 3 , 15 , 5 , 1 , 13 , 12 , 7 , 11 , 4 , 2 , 8 ], [ 13 , 7 , 0 , 9 , 3 , 4 , 6 , 10 , 2 , 8 , 5 , 14 , 12 , 11 , 15 , 1 ], [ 13 , 6 , 4 , 9 , 8 , 15 , 3 , 0 , 11 , 1 , 2 , 12 , 5 , 10 , 14 , 7 ], [ 1 , 10 , 13 , 0 , 6 , 9 , 8 , 7 , 4 , 15 , 14 , 3 , 11 , 5 , 2 , 12 ]], [[ 7 , 13 , 14 , 3 , 0 , 6 , 9 , 10 , 1 , 2 , 8 , 5 , 11 , 12 , 4 , 15 ], [ 13 , 8 , 11 , 5 , 6 , 15 , 0 , 3 , 4 , 7 , 2 , 12 , 1 , 10 , 14 , 9 ], [ 10 , 6 , 9 , 0 , 12 , 11 , 7 , 13 , 15 , 1 , 3 , 14 , 5 , 2 , 8 , 4 ], [ 3 , 15 , 0 , 6 , 10 , 1 , 13 , 8 , 9 , 4 , 5 , 11 , 12 , 7 , 2 , 14 ]], [[ 2 , 12 , 4 , 1 , 7 , 10 , 11 , 6 , 8 , 5 , 3 , 15 , 13 , 0 , 14 , 9 ], [ 14 , 11 , 2 , 12 , 4 , 7 , 13 , 1 , 5 , 0 , 15 , 10 , 3 , 9 , 8 , 6 ], [ 4 , 2 , 1 , 11 , 10 , 13 , 7 , 8 , 15 , 9 , 12 , 5 , 6 , 3 , 0 , 14 ], [ 11 , 8 , 12 , 7 , 1 , 14 , 2 , 13 , 6 , 15 , 0 , 9 , 10 , 4 , 5 , 3 ]], [[ 12 , 1 , 10 , 15 , 9 , 2 , 6 , 8 , 0 , 13 , 3 , 4 , 14 , 7 , 5 , 11 ], [ 10 , 15 , 4 , 2 , 7 , 12 , 9 , 5 , 6 , 1 , 13 , 14 , 0 , 11 , 3 , 8 ], [ 9 , 14 , 15 , 5 , 2 , 8 , 12 , 3 , 7 , 0 , 4 , 10 , 1 , 13 , 11 , 6 ], [ 4 , 3 , 2 , 12 , 9 , 5 , 15 , 10 , 11 , 14 , 1 , 7 , 6 , 0 , 8 , 13 ]], [[ 4 , 11 , 2 , 14 , 15 , 0 , 8 , 13 , 3 , 12 , 9 , 7 , 5 , 10 , 6 , 1 ], [ 13 , 0 , 11 , 7 , 4 , 9 , 1 , 10 , 14 , 3 , 5 , 12 , 2 , 15 , 8 , 6 ], [ 1 , 4 , 11 , 13 , 12 , 3 , 7 , 14 , 10 , 15 , 6 , 8 , 0 , 5 , 9 , 2 ], [ 6 , 11 , 13 , 8 , 1 , 4 , 10 , 7 , 9 , 5 , 0 , 15 , 14 , 2 , 3 , 12 ]], [[ 13 , 2 , 8 , 4 , 6 , 15 , 11 , 1 , 10 , 9 , 3 , 14 , 5 , 0 , 12 , 7 ], [ 1 , 15 , 13 , 8 , 10 , 3 , 7 , 4 , 12 , 5 , 6 , 11 , 0 , 14 , 9 , 2 ], [ 7 , 11 , 4 , 1 , 9 , 12 , 14 , 2 , 0 , 6 , 10 , 13 , 15 , 3 , 5 , 8 ], [ 2 , 1 , 14 , 7 , 4 , 10 , 8 , 13 , 15 , 12 , 9 , 0 , 3 , 5 , 6 , 11 ]]] # Final Permutation Table final_perm = [ 40 , 8 , 48 , 16 , 56 , 24 , 64 , 32 , 39 , 7 , 47 , 15 , 55 , 23 , 63 , 31 , 38 , 6 , 46 , 14 , 54 , 22 , 62 , 30 , 37 , 5 , 45 , 13 , 53 , 21 , 61 , 29 , 36 , 4 , 44 , 12 , 52 , 20 , 60 , 28 , 35 , 3 , 43 , 11 , 51 , 19 , 59 , 27 , 34 , 2 , 42 , 10 , 50 , 18 , 58 , 26 , 33 , 1 , 41 , 9 , 49 , 17 , 57 , 25 ] def encrypt(pt, rkb, rk): pt = hex2bin(pt) # Initial Permutation pt = permute(pt, initial_perm, 64 ) print ( "After initial permutation" , bin2hex(pt)) left = pt[ 0 : 32 ] right = pt[ 32 : 64 ] for i in range ( 0 , 16 ): # Expansion D-box: Expanding the 32 bits data into 48 bits right_expanded = permute(right, exp_d, 48 ) # XOR RoundKey[i] and right_expanded xor_x = xor(right_expanded, rkb[i]) # S-boxex: substituting the value from s-box table by calculating row and column for j in range ( 0 , 8 ): row = bin2dec( int (xor_x[j * 6 ] + xor_x[j * 6 + 5 ])) col = bin2dec( int (xor_x[j * 6 + 1 ] + xor_x[j * 6 + 2 ] + xor_x[j * 6 + 3 ] + xor_x[j * 6 + 4 ])) val = sbox[j][row][col] sbox_str = sbox_str + dec2bin(val) # Straight D-box: After substituting rearranging the bits sbox_str = permute(sbox_str, per, 32 ) # XOR left and sbox_str result = xor(left, sbox_str) left = result left, right = right, left print ( "Round " , i + 1 , " " , bin2hex(left), " " , bin2hex(right), " " , rk[i]) # Combination combine = left + right # Final permutation: final rearranging of bits to get cipher text cipher_text = permute(combine, final_perm, 64 ) return cipher_text pt = "123456ABCD132536" key = "AABB09182736CCDD" # Key generation # --hex to binary key = hex2bin(key) # --parity bit drop table keyp = [ 57 , 49 , 41 , 33 , 25 , 17 , 9 , 1 , 58 , 50 , 42 , 34 , 26 , 18 , 10 , 2 , 59 , 51 , 43 , 35 , 27 , 19 , 11 , 3 , 60 , 52 , 44 , 36 , 63 , 55 , 47 , 39 , 31 , 23 , 15 , 7 , 62 , 54 , 46 , 38 , 30 , 22 , 14 , 6 , 61 , 53 , 45 , 37 , 29 , 21 , 13 , 5 , 28 , 20 , 12 , 4 ] # getting 56 bit key from 64 bit using the parity bits key = permute(key, keyp, 56 ) # Number of bit shifts shift_table = [ 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 1 ] # Key- Compression Table : Compression of key from 56 bits to 48 bits key_comp = [ 14 , 17 , 11 , 24 , 1 , 5 , 3 , 28 , 15 , 6 , 21 , 10 , 23 , 19 , 12 , 4 , 26 , 8 , 16 , 7 , 27 , 20 , 13 , 2 , 41 , 52 , 31 , 37 , 47 , 55 , 30 , 40 , 51 , 45 , 33 , 48 , 44 , 49 , 39 , 56 , 34 , 53 , 46 , 42 , 50 , 36 , 29 , 32 ] left = key[ 0 : 28 ] # rkb for RoundKeys in binary right = key[ 28 : 56 ] # rk for RoundKeys in hexadecimal for i in range ( 0 , 16 ): # Shifting the bits by nth shifts by checking from shift table left = shift_left(left, shift_table[i]) right = shift_left(right, shift_table[i]) # Combination of left and right string combine_str = left + right # Compression of key from 56 to 48 bits round_key = permute(combine_str, key_comp, 48 ) rkb.append(round_key) rk.append(bin2hex(round_key)) print ( "Encryption" ) cipher_text = bin2hex(encrypt(pt, rkb, rk)) print ( "Cipher Text : " , cipher_text) print ( "Decryption" ) rkb_rev = rkb[:: - 1 ] rk_rev = rk[:: - 1 ] text = bin2hex(encrypt(cipher_text, rkb_rev, rk_rev)) print ( "Plain Text : " , text) # This code is contributed by Aditya Jain

JavaScript

//定義des鍵和宣傳
const key =“ 0123456789abcdef”;
const plaintext =“你好,世界!”
//執行DES加密
const des = new des(key);
const ciphertext = des.加密(明文);
//執行解密
const解密= des.解密(ciphertext);
//打印結果
安慰.log(“宣傳:”,明文);
安慰.log(“ ciphertext:”,ciphertext);
安慰.log(“解密:”,解密);
//定義DES類
構造函數(鍵) < // Initialize DES with key this .key = CryptoJS.enc.Hex.parse(key); encrypt(plaintext) < // Perform DES encryption on plaintext const encrypted = CryptoJS.DES.encrypt( // Return ciphertext as hex string return encrypted.ciphertext.toString(); decrypt(ciphertext) < // Parse ciphertext from hex string const ciphertextHex = CryptoJS.enc.Hex.parse(ciphertext); // Perform DES decryption on ciphertext const decrypted = CryptoJS.DES.decrypt( // Return decrypted plaintext as UTF-8 string return decrypted.toString(CryptoJS.enc.Utf8); 輸出

. 60AF7CA5 Round 12 FF3C485F 22A5963B C2C1E96A4BF3 Round 13 22A5963B 387CCDAA 99C31397C91F Round 14 387CCDAA BD2DD2AB 251B8BC717D0 Round 15 BD2DD2AB CF26B472 3330C5D9A36D Round 16 19BA9212 CF26B472 181C5D75C66D Cipher Text: C0B7A8D05F3A829C Decryption After initial permutation: 19BA9212CF26B472 After splitting:L0=19BA9212 R0=CF26B472 Round 1 CF26B472 BD2DD2AB 181C5D75C66D Round 2 BD2DD2AB 387CCDAA 3330C5D9A36D Round 3 387CCDAA 22A5963B 251B8BC717D0 Round 4 22A5963B FF3C485F 99C31397C91F Round 5 FF3C485F 6CA6CB20 C2C1E96A4BF3 Round 6 6CA6CB20 10AF9D37 6D5560AF7CA5 Round 7 10AF9D37 308BEE97 02765708B5BF Round 8 308BEE97 A9FC20A3 84BB4473DCCC Round 9 A9FC20A3 2E8F9C65 34f8222f0c66d巡迴10 2E8F9C65 A15A4B87 708AD2DDB3C0回合11 A15A4B87 236779C2 C1948E87475E圓形12 236779C2 EE3回合14 4A1210F6 5A78E394 06EDA4ACF5B5回合15 5A78E394 18CA18AD 4568581ABCCE ROUND 16 14A7D678 18CA18AD 18CA18AD 194CD072DE72DE8C PLAINTE

輸出:

加密:
初始排列後:14A7D67818CA18AD
分裂後:L0 = 14A7D678 R0 = 18CA18AD
第一回合18CA18AD 5A78E394 194CD072DE8C
第2輪5A78E394 4A1210F6 4568581ABCCE
第3輪4A1210F6 B8089591 06EDA4ACF5B5
第4輪B8089591 236779C2 DA2D032B6EE3
第5輪236779C2 A15A4B87 69A629FEC913
第6輪A15A4B87 2E8F9C65 C1948E87475E
第7輪2E8F9C65 A9FC20A3 708AD2DDB3C0
第8輪A9FC20A3 308BEE97 34F822F0C66D
回合9 308BEE97 10AF9D37 84BB4473DCCC
回合10 10AF9D37 6CA6CB20 02765708B5BF
回合11 6CA6CB20 FF3C485F 6D5560AF7CA5
第12輪FF3C485F 22A5963B C2C1E96A4BF3
回合13 22A5963B 387CCDAA 99C31397C91F
回合14 387CCDAA BD2DD2AB 251B8BC717D0
第15輪BD2DD2AB CF26B472 3330C5D9A36D
回合16 19ba9212 CF26B472 181C5D75C66D
密碼文本:C0B7A8D05F3A829C
解密
最初排列後:19BA9212CF26B472
分割後:L0 = 19ba9212 R0 = CF26B472
第1輪CF26B472 BD2DD2AB 181C5D75C66D
第2輪BD2DD2AB 387CCDAA 3330C5D9A36D
第3輪387CCDAA 22A5963B 251B8BC717D0
第4輪22A5963B FF3C485F 99C31397C91F
第5輪FF3C485F 6CA6CB20 C2C1E96A4BF3
第6次6CA6CB20 10AF9D37 6D5560AF7CA5
第7輪10AF9D37 308BEE97 02765708B5BF
第8回合308BEE97 A9FC20A3 84BB4473DCCC
第9輪A9FC20A3 2E8F9C65 34F822F0C66D
第10回合2E8F9C65 A15A4B87 708AD2DDB3C0
回合11 A15A4B87 236779C2 C1948E87475E
回合12 236779C2 B8089591 69A629FEC913
回合13 B8089591 4A1210F6 DA2D032B6EE3
回合14 4A1210F6 5A78E394 06EDA4ACF5B5
回合15 5A78E394 18CA18AD 4568581ABCCE
回合16 14A7D678 18CA18AD 194CD072DE8C
純文本:123456ABCD132536

結論

總之,數據加密標準(DES)是一個具有56位密鑰長度的塊密碼,在數據安全中發揮了重要作用. 但是,由於脆弱性,其受歡迎程度下降了. DES通過一系列涉及關鍵轉型,擴展排列和替換的回合運作,最終從純文本中產生密文. 儘管DES具有歷史意義,但至關重要的是考慮現代數據保護需求的更安全的加密替代方案.

經常問的問題

問.1應該被認為是DES的替代方案以進行數據加密?

回答:

對於現代數據加密需求,請考慮使用更強的加密算法(例如AES)(高級加密標準).

問.2DES中每輪生成的48位子鑰匙是如何產生的?

回答:

DES中每輪的48位子鑰匙通過循環轉移和置換的過程從56位鍵中得出,以確保鑰匙多樣性.

最後更新:2023年9月20日

類似的縮略圖

喜歡文章

加密標準

該標準支持和補充FSU技術政策,並提供其他安全性和隱私最佳實踐. 它定義了使用加密技術來保護FSU數據和資源的要求. 加密是編碼消息或信息以保護數據或通信的過程,可以應用於通過網絡存儲(靜置)或傳輸(在運輸中)的數據.

遵守此標準是強制性的,並且以與支持政策相同的方式執行. 標準將根據需要定期審查和更新,以滿足新興威脅,法律和法規要求的變化以及技術進步. 所有用戶都必須遵守此標准或根據IT安全策略例外的要求獲得例外.

ii. 定義

合併大學單位 – 一個合併的相關大學單位群體,該單位具有管理授權和遵守IT政策,標準和準則的責任.

信息安全事件 – 未經授權的訪問,使用,披露,違反,修改或破壞信息的可疑,未遂,成功或迫在眉睫的威脅;干擾信息技術運營;或嚴重違反負責使用政策.

iii. 標準

FSU採用了NIST框架來改善與NIST 800-53控件結合使用的關鍵基礎設施網絡安全,作為基於基於風險的網絡安全方法的基礎. 網絡安全框架(CSF)核心使用常見的網絡安全功能,活動和期望的結果來使大學政策與管理IT風險的管理. CSF核心利用行業標準,準則和實踐來確立所有大學單位網絡安全的基線期望.

大學單位負責使用此框架和控制來評估其獨特的風險,威脅,脆弱性和風險承受能力,以確定符合FSU技術政策,標準和準則的適當風險管理計劃.

支持此標準的控制器包括但不限於:

NIST網絡安全框架和控件

功能 類別 期望的結果
(子類別)
保護
(PR)
數據安全性(PR.DS): 信息和記錄(數據)與組織的風險策略一致,以保護信息的機密性,完整性和可用性. PR.DS-1: 靜止數據受到保護
PR.DS-2: 傳輸數據受到保護
PR.DS-5: 對數據洩漏的保護已實施

完整的CSF人行橫道到控制:NIST人行橫道
*上述NIST圖表描述了網絡安全框架和控件以及與其他NIST人行橫道原則和信息的鏈接,絕不屬於佛羅里達州立大學.

角色和責任

首席信息安全官(CISO)以及信息安全和隱私辦公室(ISPO)
CISO為大學指導信息安全和隱私辦公室(ISPO). CISO向CIO和教務長報告,並擔任FSU的CISO和首席隱私官. CISO和ISPO負責強制應用適當的操作安全控制,以減輕與未經授權的披露,損失或盜竊大學信息相關的風險.
合併大學單位(CUU)院長,董事或系主任(DDDH)
院長,董事,部門負責人或其他管理職位負責保護CUU中大學IT資產的機密性,可用性和完整性. CuU DDDH有責任確保CUU內部單元的IT安全和隱私.
合併大學單元(CUU)信息安全經理(ISM)
由CUU Dean,董事或部門負責人(DDDH)指定的聯絡人負責協調CUU信息安全計劃. CUU ISM是大學單位與ISPO之間的聯繫的中心點,以解決安全問題. CUU ISM職責將包括在位置描述中.
大學單位信息安全經理(ISM)
由大學部門院長,董事或系主任(DDDH)指定的聯絡人,負責確保大學單位遵守安全IT政策,標準和準則,並與其指定的CUU信息安全計劃協調.
數據保管人
院長,董事,部門負責人或其他經理最終對大學數據資源的完整性,準確報告和使用負責 數據安全標準.
數據管理器
數據保管人對數據資源的運營監督責任委派了運營監督責任.

數據分類

數據保管人負責根據數據安全標準的要求對其負責的所有數據進行分類. 數據分類確定了保護數據的機密性,完整性和可用性的基線安全保護和控制,包括適用於加密所有機構數據的最低安全標準傳輸.

用戶必須謹慎行事以保護和保護FSU數據,設備和便攜式存儲媒體.

自動加密

FSU批准的網絡/雲共享(E.G. OneDrive,SharePoint)使用時提供自動加密和安全存儲. 選擇不使用網絡共享的用戶負責滿足本標准定義的所有加密要求. 有關更多信息,請參閱使用個人云服務的指南(FSU.edu).

密鑰管理

為了防止數據丟失,必須在靜止加密數據之前進行關鍵管理流程並進行記錄. CUU和大學單位ISMS負責確保單位和個人處理,維護,存儲或傳輸加密的高風險或中等風險數據,以保護有記錄的加密密鑰管理計劃,以保護創建,使用,分發,存儲和恢復加密密鑰. 有效的密鑰管理對於防止未經授權的披露和確保在需要時訪問數據至關重要. 如果鍵丟失,則很可能無法恢復設備上的數據,尤其是在沒有其他可用數據副本的情況下.

加密密鑰是一種歸類為高風險數據的IT安全信息的一種類型,必須在存儲時進行加密. 鍵必須與加密數據分開存儲. 存儲在物理介質上(紙,CD,閃存存儲)上的鍵必須不斷鎖定在安全位置.

靜止數據加密

在靜止時加密數據意味著將數據存儲在服務器或存儲介質上時加密數據. 有兩種方法可以在靜止.

  • 全盤加密, 也稱為全盤加密,加密整個設備,一次磁盤分區,或在加密時使用的磁盤扇區和隨著數據生成數據的其他扇區. 它為由於盜竊或其他損失而提供了良好的保護,以防止數據丟失,並且需要更少關注對文件的管理方式.
  • 文件級加密 加密單個文件. 文件級加密有兩種方法:
    • 文件僅在使用時才解密,通常是基於應用程序的加密的情況.
    • 查看或編輯完成時,文件不會自動重新加密,因為它是獨立的加密實用程序的情況. 解密文件的鑰匙應通過不同的傳輸方法與文件分開共享. 這有時稱為基於容器的加密.

    必鬚根據數據分類和設備的類型選擇適當的加密方法. CUU和大學單元ISMS負責確保安全配置並滿足其單位內的以下加密要求:

    表格1. 靜止數據的加密要求

    設備類型 數據分類
    高風險數據 中等風險數據 低風險數據
    數據中心或受保護設施的設備 必需的,
    數據中心設備上存儲的數據也符合IT物理安全標準的要求.
    單位的酌處權
    便攜式和可移動存儲媒體 必需的,
    必須對便攜式媒體的安全性進行額外的注意,並且僅限於與工作有關的目的備份或存儲.
    單位的酌處權
    筆記本電腦和其他便攜式設備 必需的 必需的 受到推崇的
    桌面 必需的 必需的 單位的酌處權
    個人擁有的設備 存儲不允許的高風險或中等風險數據 單位的酌處權
    數據庫存儲 必需的 必需的
    數據備份和檔案 必需的 單位的酌處權

    傳輸中數據的加密

    需要對數據中的數據進行加密,以降低未加密數據在受信任或不信任網絡上傳輸時被截獲或監視的風險. 未經授權的訪問可能會危害敏感機構數據的機密性. CUU和大學單位ISMS負責確保在其負責的單位內滿足以下加密要求:

    表2. 運輸中數據的加密要求

    方法 數據分類
    高風險數據 中等風險數據 低風險數據
    通過電子郵件發送的信息 必需的 必需的 單位的酌處權
    FSU網絡中設備之間傳輸的數據 必需的 必需的 單位的酌處權
    FSU網絡之外傳輸的信息 必需的 必需的 單位的酌處權
    通過網絡執行的硬件,軟件或應用程序的管理 必需的 必需的 必需的

    以下是通用技術的常用技術的示例.

    虛擬專用網絡(VPN): 從事大學業務或需要訪問FSU網絡以及從非大學或公共網絡的任何高風險或中等風險的大學數據的用戶必須登錄FSU虛擬專用網絡. 它還允許訪問需要校園連接的應用程序或數據. 有關更多信息,請參閱其服務目錄-VPN.

    安全網絡流量(HTTPS): HTTPS是一項協議,可在Web瀏覽器和基於Web的應用程序之間加密流量. 單位應使用大學提供的證書服務. 查看其服務目錄-Enterprise SSL的服務目錄.

    運輸層安全性(TLS): TLS是一種加密協議,可在網絡上提供端到端的通信安全性,並廣泛用於Internet通信和在線交易.

    事件報告

    當FSU學生,員工,承包商或教職員工違反此標準,特定的法律要求或合同義務時,發生事件. 每位FSU學生,員工,承包商或教職員工的責任立即向首席信息安全官(CISO)報告涉嫌或確認的信息安全性和隱私事件。.edu. CUU ISM或大學單位ISM必須在24小時內通知CISO任何可疑或確認的事件. 有關更多信息,請參閱IT事件響應標準.

    iv. 參考

    • NIST網絡安全框架(CSF)
    • NIST 800-53 REV. 4,高影響控制
    • IT安全和隱私事件響應和報告程序
    • FSU虛擬專用網絡
    • 企業SSL
    • FIPS 140-2加密模塊的安全要求
    • 在聯邦政府中使用加密標準的指南:加密機制(NIST).政府)
    • 使用個人云服務指南