Skip to main content

V6.1.1 Data Classification

Requirement:#

Verify that regulated private data is stored encrypted while at rest, such as Personally Identifiable Information (PII), sensitive personal information, or data assessed likely to be subject to EU's GDPR.

Explanation:#

Требование гласит, что регулируемые частные данные должны храниться в зашифрованном формате в состоянии покоя. Это относится к чувствительной информации, такой как Personally Identifiable Information (PII), чувствительная личная информация или данные, которые могут попасть под действие EU's General Data Protection Regulation (GDPR). 

Регулируемые частные данные содержат конфиденциальную личную информацию, которая требует защиты для обеспечения конфиденциальности и соответствия законодательным и нормативным требованиям. Хранение этих данных в зашифрованном формате в состоянии покоя обеспечивает дополнительный уровень безопасности, делая данные нечитаемыми и непригодными для использования без соответствующих ключей дешифрования. Шифрование помогает защитить персонально идентифицируемую информацию (PII), чувствительную личную информацию и другие данные, которые подпадают под действие GDPR.

Remediation:#

1. Identify and Classify Regulated Private Data#

Начните с определения и классификации регулируемых частных данных, которые подпадают под действие данного требования. К ним относится персонально идентифицируемая информация (PII), такая как имена, адреса, номера социального страхования, данные финансовых счетов, а также любая другая чувствительная персональная информация, требующая защиты в соответствии с действующими нормативными актами.

2. Select Appropriate Encryption Algorithms and Key Management#

Выбирайте надежные алгоритмы шифрования, одобренные для работы с конфиденциальными частными данными. Обычно используются такие алгоритмы, как Advanced Encryption Standard (AES) и RSA. Убедитесь, что выбранные алгоритмы шифрования соответствуют отраслевым стандартам и отвечают соответствующим нормативным требованиям. Внедрите безопасные методы управления ключами, включая безопасную генерацию, хранение и обращение ключей шифрования.

3. Implement Encryption at Rest#

Шифруйте регулируемые частные данные, когда они хранятся в базах данных, файловых системах или любых других носителях. Шифрование может применяться на уровне файлов, баз данных или с использованием механизмов шифрования, предоставляемых поставщиками облачных услуг. Убедитесь, что шифрование применяется до записи данных в хранилище и остается зашифрованным, когда данные активно не используются.

4. Protect Encryption Keys#

Применяйте надежные меры безопасности для защиты ключей шифрования. Надежно храните ключи, используя системы управления ключами, аппаратные модули безопасности (HSM) или другие надежные механизмы хранения. Применяйте строгий контроль доступа, механизмы аутентификации и мониторинг для предотвращения несанкционированного доступа к ключам шифрования.

Примеры:#

В этом примере столбец sensitive_info в таблице private_data базы данных Oracle настроен на шифрование на уровне столбцов с использованием прозрачного шифрования данных. База данных автоматически шифрует данные в состоянии покоя, обеспечивая защиту конфиденциальной частной информации. Encrypting Private Data in a Database (Oracle) using Transparent Data Encryption (TDE)

ALTER TABLE private_data ENCRYPT COLUMN sensitive_info;

В этом примере частные данные считываются из файла, шифруются с помощью шифрования RSA с подстановкой OAEP и хэширования SHA-256, а затем записываются обратно в файл в зашифрованном виде. Открытый ключ RSA экспортируется для будущих операций расшифровки. Encrypting Private Data in a File System using RSA and C#

using System.IO;
using System.Security.Cryptography;
// Generate a new RSA key pair
using RSA rsa = RSA.Create();
// Read the private data from a file
byte[] data = File.ReadAllBytes("private_data.txt");
// Encrypt the data using RSA
byte[] encryptedData = rsa.Encrypt(data, RSAEncryptionPadding.OaepSHA256);
// Write the encrypted data back to the file
File.WriteAllBytes("private_data_encrypted.txt", encryptedData);
// Export the RSA public key for future decryption
File.WriteAllText("rsa_public_key.txt", rsa.ToXmlString(false));