Режим FIPS
Aspose.Words использует несколько алгоритмов криптографии и хэширования при обработке документов, и в этой статье описывается, как это связано со стандартами FIPS.
Федеральные стандарты обработки информации (FIPS) - это набор открыто опубликованных стандартов, разработанных федеральным правительством Соединенных Штатов для установления требований для различных целей, таких как обеспечение компьютерной безопасности и функциональной совместимости.
BouncyCastle спешу на помощь
Aspose.Words для Java и Aspose.Words для Android используйте надувной замок FIPS JAR для шифрования, дешифрования и подписания документов. JAR был разработан и реализован в соответствии с требованиями FIPS 140-2, уровень 1.
FIPS 140-2 - это государственный стандарт компьютерной безопасности США, используемый для утверждения криптографических модулей. Этот стандарт определяет требования к безопасности, которым должен удовлетворять криптографический модуль, и обеспечивает высокий уровень безопасности, предназначенный для широкого спектра потенциальных приложений и сред. Более подробную информацию о FIPS 140-2 смотрите в публикации NIST.
Aspose.Words для .NET используется обычная версия Bouncy Castle без поддержки FIPS.
FIPS Активация режима
Начиная с версии 18.10, Aspose.Words позволяет работать в двух режимах: общем и FIPS.
По умолчанию Aspose.Words работает в общем режиме, поэтому ограничений на использование алгоритмов и ключей в данном случае нет.
Вы можете переключить Aspose.Words из общего режима в режим FIPS следующим образом:
Java
SecuritySettings.startFipsMode();
По соображениям безопасности вы не можете изменить режим обратно на общий во время выполнения.
Также обратите внимание, что Aspose.Words не может автоматически распознать, находится ли ваша операционная система в режиме FIPS, поэтому вам необходимо явно переключить Aspose.Words в режим FIPS.
Используйте следующий метод, чтобы убедиться, что Aspose.Words для Java находится в режиме FIPS:
Java
SecuritySettings.isInFipsMode();
Когда включен режим FIPS, Aspose Words не позволит вам использовать некоторые криптографические алгоритмы и ключи с неподтвержденной длиной.
Например, при попытке открыть зашифрованный документ ODT при активном режиме FIPS вы можете увидеть следующее исключение:
Это происходит потому, что алгоритм Blowfish отсутствует в списке одобренных алгоритмов FIPS.
Аналогичное исключение может возникнуть, если используются ключи неподходящей длины:
UnapprovedSecurityOperationException: Вы не можете использовать ключ с размером 1024 для RSA в режиме FIPS.
Более подробную информацию о списке одобренных алгоритмов смотрите в Руководстве пользователя BouncyCastle, “Алгоритмы шифрования (симметричные)”.