У меня включены fips-updates
на экземпляре Ubuntu 20.04.2 EC2 через Ubuntu Advantage , но MD5, похоже, все еще разрешен и работает.
$ sudo ua status
SERVICE ENTITLED STATUS DESCRIPTION
...
fips yes n/a NIST-certified core packages
fips-updates yes enabled NIST-certified core packages with priority security updates
...
$ cat /proc/sys/crypto/fips_enabled
1
Однако я все еще могу получить дайджест md5 байтовой строки (следующая команда не вызывает ошибки).
$ python3 -c 'import hashlib; hashlib.md5(b"foo").digest()'
В системах RHEL с включенным FIPS выполнение этой же команды было легкой проверкой на соответствие требованиям FIPS, поскольку вызов hashlib.md5 ()
полностью нарушил бы с ошибкой ValueError .
Чем объясняется это различие? Предполагается ли Ubuntu, что пользователь должен решать, используется ли Md5 для криптографической защиты данных, а не отключать его полностью?
Документы Ubuntu подразумевают, что только подмножество пакетов являются проверенными компонентами FIPS 140, доступными с Ubuntu Advantage и Ubuntu Pro, в том числе:
с python3
не являясь одним из них. А с модулем Python _md5
, реализованным с нуля в C, он, похоже, может существовать вне применения FIPS 140-2 в настоящее время.