Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Использовать только утвержденные симметричные шифры и длины ключей
Название | Сведения |
---|---|
Компонент | Веб-приложение |
Этап SDL | Строить |
Применимые технологии | Общий |
Атрибуты | Не применимо |
Ссылки | Не применимо |
Шаги | Продукты должны использовать только те симметричные блочные шифры и связанные длины ключей, которые были явно утверждены криптографическим консультантом в вашей организации. Утвержденные симметричные алгоритмы в Корпорации Майкрософт включают следующие блочные шифры:
Обратите внимание, что все шифры симметричного блока должны использоваться с утвержденным режимом шифра, который требует использования соответствующего вектора инициализации (IV). Соответствующее IV обычно является случайным числом и никогда не константным значением Использование устаревших или иначе неутвержденных алгоритмов шифрования и меньших длин ключей для чтения существующих данных (в отличие от записи новых данных) может быть разрешено после проверки совета по шифрованию вашей организации. Однако необходимо подать исключение для этого требования. Кроме того, в корпоративных развертываниях продукты должны учитывать предупреждения администраторов, когда слабая криптография используется для чтения данных. Такие предупреждения должны быть пояснительными и действенными. В некоторых случаях может потребоваться контролировать использование слабой криптографии с помощью групповой политики. Разрешены алгоритмы .NET для гибкости управляемого шифрования (в порядке предпочтения)
Обратите внимание, что ни один из этих алгоритмов не может быть указан с помощью |
Использование утвержденных режимов шифров блоков и векторов инициализации для симметричного шифра
Название | Сведения |
---|---|
Компонент | Веб-приложение |
Этап SDL | Строить |
Применимые технологии | Общий |
Атрибуты | Не применимо |
Ссылки | Не применимо |
Шаги | Все шифры симметричного блока должны использоваться с утвержденным режимом симметричного шифра. Единственными утвержденными режимами являются CBC и CTS. В частности, следует избежать режима работы электронной кодовой книги (ECB); Для использования ЕЦБ требуется обзор Совета шифрования вашей организации. Все использование OFB, CFB, CTR, CCM и GCM или любого другого режима шифрования должны быть проверены Советом по шифрованию вашей организации. Повторное использование того же вектора инициализации (IV) с блочными шифрами в "режимах потокового шифрования", таких как CTR, может привести к обнаружению зашифрованных данных. Все симметричные шифры блоков также должны использоваться с соответствующим вектором инициализации (IV). Соответствующий IV является криптографически сильным, случайным числом и никогда не константным значением. |
Используйте утвержденные асимметричные алгоритмы, длины ключей и заполнение
Название | Сведения |
---|---|
Компонент | Веб-приложение |
Этап SDL | Строить |
Применимые технологии | Общий |
Атрибуты | Не применимо |
Ссылки | Не применимо |
Шаги | Использование запрещенных криптографических алгоритмов представляет значительный риск для безопасности продукта и необходимо избежать. Продукты должны использовать только те криптографические алгоритмы и связанные длины ключей и заполнение, которые были однозначно утверждены советом по шифрованию вашей организации.
|
Использование утвержденных генераторов случайных чисел
Название | Сведения |
---|---|
Компонент | Веб-приложение |
Этап SDL | Строить |
Применимые технологии | Общий |
Атрибуты | Не применимо |
Ссылки | Не применимо |
Шаги | Продукты должны использовать утвержденные генераторы случайных чисел. Псевдорандомные функции, такие как функция rand среды выполнения C, класс System.Random в .NET Framework или системные функции, такие как GetTickCount, никогда не должны использоваться в таком коде. Использование алгоритма генератора случайных чисел (DUAL_EC_DRBG) двойной эллиптической кривой запрещено
|
Не используйте шифры симметричного потока
Название | Сведения |
---|---|
Компонент | Веб-приложение |
Этап SDL | Строить |
Применимые технологии | Общий |
Атрибуты | Не применимо |
Ссылки | Не применимо |
Шаги | Шифры симметричного потока, такие как RC4, не должны использоваться. Вместо шифров симметричного потока продукты должны использовать блочный шифр, в частности AES с длиной ключа не менее 128 бит. |
Используйте утвержденные алгоритмы MAC/HMAC/хэширования с ключом
Название | Сведения |
---|---|
Компонент | Веб-приложение |
Этап SDL | Строить |
Применимые технологии | Общий |
Атрибуты | Не применимо |
Ссылки | Не применимо |
Шаги | Продукты должны использовать только утвержденный код проверки подлинности сообщений (MAC) или хэш-код проверки подлинности сообщений (HMAC). Код проверки подлинности сообщения (MAC) — это часть информации, присоединенной к сообщению, которая позволяет получателю проверить подлинность отправителя и целостность сообщения с помощью секретного ключа. Использование MAC на основе хэша (HMAC) или блочного шифрования на основе MAC допускается, если все базовые хэш-алгоритмы или симметричные алгоритмы шифрования также утверждены для использования; В настоящее время это включает функции HMAC-SHA2 (HMAC-SHA256, HMAC-SHA384 и HMAC-SHA512) и CMAC/OMAC1 и OMAC2 на основе шифров (они основаны на AES). Использование HMAC-SHA1 может быть допустимым для совместимости платформ, но вам потребуется подать исключение в эту процедуру и пройти проверку шифрования вашей организации. Сокращение HMACs до менее чем 128 бит запрещено. Использование методов клиента для хэширования ключа и данных не утверждено и должно пройти проверку совета шифрования вашей организации перед использованием. |
Использование только утвержденных функций шифрования хэша
Название | Сведения |
---|---|
Компонент | Веб-приложение |
Этап SDL | Строить |
Применимые технологии | Общий |
Атрибуты | Не применимо |
Ссылки | Не применимо |
Шаги | Продукты должны использовать семейство хэш-алгоритмов SHA-2 (SHA256, SHA384 и SHA512). Если требуется более короткий хэш, например 128-разрядная длина выходных данных для соответствия структуре данных, разработанной с учетом более короткого хэша MD5, группы продуктов могут усечь один из хэшей SHA2 (обычно SHA256). Обратите внимание, что SHA384 — это усеченная версия SHA512. Усечение криптографических хэшей до менее чем 128 бит в целях безопасности запрещено. Новый код не должен использовать алгоритмы хэша MD2, MD4, MD5, SHA-0, SHA-1 или RIPEMD. Хэш-столкновения являются вычислимо достижимыми для этих алгоритмов, что фактически ломает их. Разрешены хэш-алгоритмы .NET для гибкости управляемого шифрования (в порядке предпочтения):
|
Использование надежных алгоритмов шифрования для шифрования данных в базе данных
Название | Сведения |
---|---|
Компонент | База данных |
Этап SDL | Строить |
Применимые технологии | Общий |
Атрибуты | Не применимо |
Ссылки | Выбор алгоритма шифрования |
Шаги | Алгоритмы шифрования определяют преобразования данных, которые не могут быть легко отменены несанкционированными пользователями. SQL Server позволяет администраторам и разработчикам выбирать из нескольких алгоритмов, включая DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, 128-битный RC4, DESX, 128-битный AES, 192-битный AES и 256-битный AES |
Пакеты служб SSIS должны быть зашифрованы и цифрово подписаны
Название | Сведения |
---|---|
Компонент | База данных |
Этап SDL | Строить |
Применимые технологии | Общий |
Атрибуты | Не применимо |
Ссылки | Определение источника пакетов с помощью цифровых подписей, минимизация угроз и уязвимостей (службы интеграции) |
Шаги | Источник пакета — это отдельный или организационный объект, создавший пакет. Запуск пакета из неизвестного или ненадежного источника может быть рискованным. Чтобы предотвратить несанкционированное изменение пакетов служб SSIS, следует использовать цифровые подписи. Кроме того, чтобы обеспечить конфиденциальность пакетов во время хранения и передачи, необходимо шифровать пакеты служб SSIS. |
Добавление цифровой подписи в критически важные защищаемые базы данных
Название | Сведения |
---|---|
Компонент | База данных |
Этап SDL | Строить |
Применимые технологии | Общий |
Атрибуты | Не применимо |
Ссылки | ДОБАВИТЬ ПОДПИСЬ (Transact-SQL) |
Шаги | В случаях, когда необходимо проверить целостность защищаемой базы данных, следует использовать цифровые подписи. Защищаемые базы данных, такие как хранимая процедура, функция, сборка или триггер, могут быть цифрово подписаны. Ниже приведен пример того, когда это может быть полезно: предположим, что поставщик программного обеспечения (независимый поставщик программного обеспечения) предоставил поддержку программному обеспечению, предоставленному одному из своих клиентов. Перед предоставлением поддержки ISV хотел бы убедиться, что безопасность базы данных в программном обеспечении не была нарушена ни по ошибке, ни в результате вредоносных действий. Если защищаемый объект имеет цифровую подпись, isV может проверить цифровую подпись и проверить ее целостность. |
Использование EKM SQL Server для защиты ключей шифрования
Название | Сведения |
---|---|
Компонент | База данных |
Этап SDL | Строить |
Применимые технологии | Общий |
Атрибуты | Не применимо |
Ссылки | Управление расширяемыми ключами SQL Server (EKM), расширяемое управление ключами с помощью Azure Key Vault (SQL Server) |
Шаги | Управление расширяемыми ключами SQL Server позволяет хранить ключи шифрования, которые защищают файлы базы данных, на внешнем устройстве, например таком как смарт-карта, USB-устройство или модуль EKM/HSM. Это также обеспечивает защиту данных от администраторов базы данных (за исключением членов группы sysadmin). Данные можно шифровать с помощью ключей шифрования, к которым имеет доступ только пользователь базы данных во внешнем модуле EKM/HSM. |
Используйте функцию AlwaysEncrypted, если ключи шифрования не должны быть показаны в ядре СУБД
Название | Сведения |
---|---|
Компонент | База данных |
Этап SDL | Строить |
Применимые технологии | SQL Azure, локальные |
Атрибуты | Версия SQL — версия 12, MsSQL2016 |
Ссылки | Always Encrypted (ядро СУБД) |
Шаги | Always Encrypted — это функция, предназначенная для защиты конфиденциальных данных, таких как номера кредитных карт или национальные или региональные идентификационные номера (например, номера социального страхования США), хранящиеся в базе данных SQL Azure или базах данных SQL Server. Always Encrypted позволяет клиентам шифровать конфиденциальные данные в клиентских приложениях и никогда не раскрывать ключи шифрования ядра СУБД (база данных SQL или SQL Server). В результате Always Encrypted обеспечивает разделение между теми, кто владеет данными (и может просматривать их) и тех, кто управляет данными (но не должен иметь доступа). |
Безопасное хранение криптографических ключей на устройстве Интернета вещей
Название | Сведения |
---|---|
Компонент | Устройство Интернета вещей |
Этап SDL | Строить |
Применимые технологии | Общий |
Атрибуты | Ос устройства — Windows IoT Core, подключение к устройствам — пакеты SDK для устройств Интернета вещей Azure |
Ссылки | TPM в Windows IoT Core, Настройка TPM в Windows IoT Core, SDK для устройств Интернета вещей Azure TPM |
Шаги | Симметричные или закрытые ключи сертификатов безопасно хранятся в защищённом аппаратном хранилище, например, TPM или микросхемы смарт-карт. Windows 10 IoT Core поддерживает использование доверенного платформенного модуля (TPM), и существует несколько совместимых TPM, которые можно использовать: дискретный TPM (dTPM). Рекомендуется использовать встроенное ПО или дискретный TPM. Платформенный модуль программного обеспечения должен использоваться только для разработки и тестирования. После того как TPM станет доступной, и ключи будут в ней подготовлены, код, генерирующий токен, должен быть написан без жестко закодированной в нем конфиденциальной информации. |
Пример
TpmDevice myDevice = new TpmDevice(0);
// Use logical device 0 on the TPM
string hubUri = myDevice.GetHostName();
string deviceId = myDevice.GetDeviceId();
string sasToken = myDevice.GetSASToken();
var deviceClient = DeviceClient.Create( hubUri, AuthenticationMethodFactory. CreateAuthenticationWithToken(deviceId, sasToken), TransportType.Amqp);
Как видно, первичный ключ устройства отсутствует в коде. Вместо этого он хранится в TPM в слоте 0. Устройство TPM создает кратковременный маркер SAS, который затем используется для подключения к Центру Интернета вещей.
Создание случайного симметричного ключа достаточной длины для проверки подлинности в Центре Интернета вещей
Название | Сведения |
---|---|
Компонент | Облачный шлюз Интернета вещей |
Этап SDL | Строить |
Применимые технологии | Общий |
Атрибуты | Выбор шлюза: Центр Интернета вещей Azure |
Ссылки | Не применимо |
Шаги | Центр Интернета вещей содержит реестр удостоверений устройства и при подготовке устройства автоматически создает случайный симметричный ключ. Рекомендуется использовать эту функцию реестра удостоверений Центра Интернета вещей Azure для создания ключа, используемого для проверки подлинности. Центр Интернета вещей также позволяет указать ключ при создании устройства. Если ключ создается вне Центра Интернета вещей во время подготовки устройств, рекомендуется создать случайный симметричный ключ или по крайней мере 256 бит. |
Убедитесь, что политика управления устройствами использует ПИН-код и разрешает удаленную очистку.
Название | Сведения |
---|---|
Компонент | Мобильный клиент Dynamics CRM |
Этап SDL | Развертывание |
Применимые технологии | Общий |
Атрибуты | Не применимо |
Ссылки | Не применимо |
Шаги | Убедитесь, что политика управления устройствами использует ПИН-код и разрешает удаленную очистку. |
Убедитесь, что политика управления устройствами установлена, которая требует ПИН-код/пароль, автоматическую блокировку и шифрует все данные (например, BitLocker).
Название | Сведения |
---|---|
Компонент | Клиент Dynamics CRM Outlook |
Этап SDL | Строить |
Применимые технологии | Общий |
Атрибуты | Не применимо |
Ссылки | Не применимо |
Шаги | Убедитесь, что политика управления устройствами установлена, которая требует ПИН-код/пароль, автоматическую блокировку и шифрует все данные (например, BitLocker). |
Убедитесь, что ключи подписывания перегенерируются при использовании сервера удостоверений.
Название | Сведения |
---|---|
Компонент | Сервер удостоверений |
Этап SDL | Развертывание |
Применимые технологии | Общий |
Атрибуты | Не применимо |
Ссылки | Не применимо |
Шаги | Убедитесь, что ключи подписи обновляются при использовании IdentityServer. Ссылка в разделе ссылок объясняет, как это следует планировать без сбоя приложений, использующих сервер удостоверений. |
Убедитесь, что используются криптографически надежные идентификатор клиента и секрет клиента в сервере идентификации.
Название | Сведения |
---|---|
Компонент | Сервер удостоверений |
Этап SDL | Строить |
Применимые технологии | Общий |
Атрибуты | Не применимо |
Ссылки | Не применимо |
Шаги | Убедитесь, что в Identity Server используются криптографически надежные идентификатор клиента и секрет клиента. При создании идентификатора клиента и секрета следует использовать следующие рекомендации.
|