Рекомендуется

□ Думайте, какие элементы управления доступом ваше приложение применяет к объектам явно, а какие наследует по умолчанию.

□ Осознайте, что некоторые данные настолько секретны, что никогда не должны храниться на промышленном сервере общего назначения, например долгосрочные закрытые ключи для подписания сертификатов Х.509. Их следует хранить в специальном аппаратном устройстве, предназначенном исключительно для формирования цифровой подписи.

□ Используйте средства, предоставляемые операционной системой для безопасного хранения секретных данных.

□ Используйте подходящие разрешения, например в виде списков управления доступом (ACL), если приходится хранить секретные данные.

□ Стирайте секретные данные из памяти сразу после завершения работы с ними.

□ Очищайте память прежде, чем освобождать ее.

Не рекомендуется

□ Не создавайте объектов, доступных миру для записи, в Linux, Mac OS X и UNIX.

□ Не создавайте объектов со следующими записями АСЕ: Everyone (Full Control) или Everyone (Write).

□ He храните материал для ключей в демилитаризованной зоне. Такие операции, как цифровая подпись и шифрование, должны производиться за пределами демилитаризованной зоны.

□ Не «зашивайте» никаких секретных данных в код программы. Это относится к паролям, ключам и строкам соединения с базой данных.

□ Не создавайте собственных «секретных» алгоритмов шифрования.

Стоит подумать

□ Об использовании шифрования для хранения информации, которую нельзя надежно защитить с помощью ACL, и о подписании ее, чтобы исключить неавторизованное манипулирование.

□ О том, чтобы вообще не хранить секретные данные. Нельзя ли запросить их у пользователя во время выполнения?