2장. FIPS 모드에서 시스템 설치

FIPS(Federal Information Processing Standard) 140-3에서 요구하는 암호화 모듈 자체 점검을 활성화하려면 FIPS 모드에서 RHEL 9를 실행해야 합니다. FIPS 규정 준수를 목표로 하는 경우 FIPS 모드에서 설치를 시작하는 것이 좋습니다.

참고

RHEL 9의 암호화 모듈은 FIPS 140-3 요구 사항에 대해 아직 인증되지 않았습니다.

2.1. 연방 정보 처리 표준 140 및 FIPS 모드

FIPS(Federal Information Processing Standards) 발행 140는 암호화 모듈의 품질을 보장하기 위해 NIST(National Institute of Standards and Technology)에서 개발한 일련의 컴퓨터 보안 표준입니다. FIPS 140 표준을 사용하면 암호화 도구가 알고리즘이 올바르게 구현됩니다. 런타임 암호화 알고리즘 및 무결성 자체 테스트는 시스템이 표준 요구 사항을 충족하는 암호화를 사용하도록 하는 몇 가지 메커니즘입니다.

RHEL 시스템이 FIPS 승인 알고리즘에서만 모든 암호화 키를 생성하고 사용하는지 확인하려면 RHEL을 FIPS 모드로 전환해야 합니다.

다음 방법 중 하나를 사용하여 FIPS 모드를 활성화할 수 있습니다.

  • FIPS 모드에서 설치 시작
  • 설치 후 FIPS 모드로 시스템 전환

FIPS 컴플라이언스를 사용하려면 FIPS 모드에서 설치를 시작합니다. 이렇게 하면 이미 배포된 시스템 변환과 관련된 결과 시스템의 규정 준수를 위한 암호화 주요 자료 재생성 및 재평가를 방지할 수 있습니다.

FIPS 호환 시스템을 작동하려면 FIPS 모드에서 모든 암호화 키 자료를 생성합니다. 또한 암호화 키 자료는 안전하게 래핑되고 비FIPS 환경에서 래핑되지 않는 한 FIPS 환경을 남겨 두지 않아야 합니다.

fips-mode-setup 툴을 사용하여 시스템을 FIPS 모드로 전환해도 FIPS 140 표준을 준수하지 않습니다. 시스템을 FIPS 모드로 설정한 후 모든 암호화 키를 다시 생성할 수 없을 수 있습니다. 예를 들어 사용자의 암호화 키가 있는 기존 IdM 영역의 경우 모든 키를 다시 생성할 수 없습니다. FIPS 모드에서 설치를 시작할 수 없는 경우 설치 후 구성 단계를 수행하거나 워크로드를 설치하기 전에 설치 후 첫 번째 단계로 항상 FIPS 모드를 활성화합니다.

fips-mode-setup 툴에서는 내부적으로 FIPS 시스템 전체 암호화 정책도 사용합니다. 그러나 update-crypto-policies --set FIPS 명령이 수행하는 작업 위에 fips- finish-install 도구를 사용하여 FIPS dracut 모듈을 설치할 수 있습니다. fips=1 부팅 옵션도 커널 명령줄에 추가하고 초기 RAM 디스크를 다시 생성합니다.

또한 FIPS 모드에서 필요한 제한 적용은 /proc/sys/crypto/fips_enabled 파일의 콘텐츠에 따라 다릅니다. 파일에 1 개의 암호화 구성 요소가 포함된 경우 RHEL 코어 암호화 구성 요소는 FIPS 승인 암호화 알고리즘 구현만 사용하는 모드로 전환됩니다. /proc/sys/crypto/fips_enabled0 이 포함된 경우 암호화 구성 요소에서 FIPS 모드를 활성화하지 않습니다.

FIPS 시스템 전체 암호화 정책은 높은 수준의 제한을 구성하는 데 도움이 됩니다. 따라서 암호화 민첩성을 지원하는 통신 프로토콜은 선택한 경우 시스템이 거부하는 암호를 알리지 않습니다. 예를 들어,keCha20 알고리즘은 FIPS 승인되지 않으며 FIPS 암호화 정책은 TLS 서버 및 클라이언트가 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 TLS 암호화 제품군을 발표하지 않도록 합니다.

FIPS 모드에서 RHEL을 작동하고 자체 FIPS 모드 관련 구성 옵션을 제공하는 애플리케이션을 사용하는 경우 이러한 옵션과 해당 애플리케이션 지침을 무시합니다. FIPS 모드에서 실행되는 시스템 및 시스템 전체 암호화 정책은 FIPS 호환 암호화만 적용합니다. 예를 들어, 시스템이 FIPS 모드에서 실행되는 경우 Node.js 구성 옵션 --enable-fips 는 무시됩니다. FIPS 모드에서 실행되지 않는 시스템에서 --enable-fips 옵션을 사용하는 경우 FIPS-140 규정 준수 요구 사항을 충족하지 않습니다.

참고

RHEL 9의 암호화 모듈은 NIST(National Institute of Standards and Technology) 암호화 모듈 검증 프로그램(CMVP)에서 FIPS 140-3 요구 사항에 대해 아직 인증되지 않았습니다. 규정 준수 활동 및 정부 표준 지식 베이스 문서에서 암호화 모듈 FIPS 140-2 및 FIPS 140-3 섹션의 검증 상태를 확인할 수 있습니다.

주의

FIPS 모드에서 실행되는 RHEL 9.2 이상 시스템은 모든 TLS 1.2 연결이 FIPS 140-3 표준의 필요에 따라 확장 마스터 보안(ECDSA) 확장(RFC 7627)을 사용해야 함을 강제합니다. 따라서 ECDSA 또는 TLS 1.3을 지원하지 않는 레거시 클라이언트는 FIPS 모드에서 실행되는 RHEL 9 서버에 연결할 수 없으며 FIPS 모드의 RHEL 9 클라이언트는 ECDSA 없이 TLS 1.2만 지원하는 서버에 연결할 수 없습니다. Red Hat Enterprise Linux 9.2에서 적용된 TLS 확장 "확장 마스터 시크릿"을 참조하십시오.