FIPS 140-2 및 140-3
GitLab에서 FIPS 140-2 및 140-3 표준을 준수하는 방법과 FIPS 승인 소프트웨어 구현, 설치, 개발 가이드라인을 설명합니다.
FIPS는 "Federal Information Processing Standard(연방 정보 처리 표준)"의 약자로, "암호화 모듈(Cryptographic Module, CM)"에 대한 특정 보안 관행을 정의합니다. 암호화 모듈은 승인된 보안 기능(암호화 알고리즘 및 키 생성 포함)을 구현하고 암호화 경계 내에 포함된 하드웨어, 소프트웨어 또는 펌웨어의 집합입니다. GitLab에서 암호화 모듈은 거의 항상 다른 제품이나 패키지 릴리스에 내장된 소프트웨어 구성 요소를 의미하며, 특정 바이너리 버전에 해당합니다. 예를 들어, 특정 버전의 Ubuntu Kernel Crypto API 암호화 모듈 또는 OpenSSL 프로젝트의 FIPS Provider가 이에 해당합니다. 모듈은 NIST 인증 실험실의 테스트를 완료하고 암호화 모듈 검증 프로그램(Cryptographic Module Validation Program) 에 유효한 인증서가 등록되면 검증됩니다. 암호화 모듈은 CMVP 보안 정책에 따라 컴파일, 설치 및 구성되어야 합니다. 규제 요건 # GitLab은 FIPS 140-2 및 140-3을 준수해야 하는 고객을 위한 소프트웨어를 릴리스하는 데 최선을 다하고 있습니다. FIPS 140은 미국 공공 부문뿐만 아니라 일부 비미국 공공 부문 조직 및 특정 산업(의료, 금융 등)에서 비즈니스를 수행하기 위한 요건입니다. FIPS 140-2 및 FIPS 140-3 요건은 Self-managed 또는 클라우드 방식에 관계없이 구매하는 소프트웨어를 포함한 모든 미국 연방 기관에 적용됩니다. 기관은 15 U.S.C. § 278g-3에 정의된 모든 운영 및 자산에 적절한 정보 보안을 제공하기 위해 암호화 기반 보안 시스템을 사용해야 합니다. 검증되지 않은 암호화는 현재 정보나 데이터에 어떠한 보호도 제공하지 않는 것으로 간주됩니다. 사실상 데이터는 보호되지 않은 평문으로 간주됩니다. 기관이 정보나 데이터를 암호화 방식으로 보호하도록 지정하면 FIPS 140-2 또는 FIPS 140-3이 적용됩니다. 즉, 암호화가 필요한 경우에는 반드시 검증되어야 합니다. 암호화 모듈이 취소된 경우, 해당 모듈의 사용은 더 이상 허용되지 않습니다. 어려움은 FIPS 검증 모듈의 사용이 소프트웨어 패키지 또는 바이너리의 특정 버전 사용을 요구한다는 점입니다. 과거에는 일부 조직이 규정 준수를 유지하기 위해 버전을 고정(pin)하거나 잠그는 방식을 사용했습니다. 문제는 이러한 검증 모듈이 결국 취약해진다는 것이며, 새로운 버전의 검증을 획득하는 데 오랜 시간이 걸리기 때문에 다음 두 가지 연방 의무를 지속적으로 동시에 달성하는 것이 비현실적입니다: 검증된 모듈의 사용. 취약점의 적시 완화. 이 분야의 규제 환경 및 정책 수립은 역동적이며 GitLab의 면밀한 모니터링이 필요합니다. 사용을 피해야 할 용어 # 이 표현들은 GitLab 및 소프트웨어 제공업체에서 광범위하게 사용됩니다. 그러나 이러한 용어 사용을 지양하고 문서를 업데이트해야 합니다. "FIPS compliant