FIPS 140-3 컴플라이언스의 *엔지니어링* 비용 — 한 고객을 위해 6개월
한 미국 연방 고객을 위해 *FIPS 140-3 검증된 암호화* 만 쓰도록 시스템 전체를 다시 짠 6개월. 그 작업의 시간·돈·정치 비용.
작년에 한 미국 연방 고객의 입찰을 위해 우리 시스템 전체 를 FIPS 140-3 검증된 암호화 만 쓰도록 다시 짰다. 6개월 걸렸다.
이 글은 그 진짜 비용 — 코드 라인 수, 의존성 변경, 정치, 그리고 누가 이걸 해야 하나 의 결정.
FIPS 140-3 가 정확히 무엇인가
FIPS 140-3 — FIPS Publication 140-3. 미국 연방 정부가 암호화 모듈 에 요구하는 표준. 검증된 모듈만 사용 가능 — 즉, NIST 가 공식 검증한 라이브러리·하드웨어만.
연방 고객 입찰의 진입 자격 인 경우가 많음. 후일 추가가 거의 불가능 — 처음부터 박혀 있어야.
6개월의 시간 분배
작업 | 기간 | 비용 (인건비)
─────────────────────────────────────────┼──────────┼──────────────
의존성 audit (FIPS 비-검증 라이브러리 식별)| 4주 | $16,000
대체 라이브러리 발굴 + 평가 | 6주 | $24,000
TLS / 암호화 호출의 명시적 wrap | 8주 | $32,000
빌드 시점 FIPS 모드 활성화 | 2주 | $8,000
검증 (FIPS 모드에서 모든 테스트 통과) | 4주 | $16,000
*인증* 자체 (외부 lab + 서류) | 6주 | (외부 비용 별도)
─────────────────────────────────────────┼──────────┼──────────────
총 | 30주 | $96,000 (+ 외부 인증 비용)진짜 비싼 부분 — 의존성
대부분의 시간이 우리 코드 가 아니라 의존성 에 들어갔다. 예시:
Node.js 표준 crypto 모듈
기본 빌드는 FIPS 비-호환. FIPS-builds 의 Node.js 가 따로 있고, 우리는 그것을 base image 에 박아야 함. 이거 자체에 2주.
TLS 라이브러리
OpenSSL 이 FIPS 모드 OK. 우리가 직접 쓴 적 없는 transit 라이브러리들이 각자 자기 TLS 구현 사용 중인 경우 — 그것들 모두 FIPS 호환 버전 으로 교체.
JSON Web Token
jsonwebtoken npm 패키지 — 순수 JS 암호. FIPS 비-호환. node-jose + FIPS Node 빌드로 교체.
Random Generator
Math.random 같은 비-암호적 PRNG 가 어떤 곳에 있는지 우리도 몰랐던 곳에서 발견됨. UUID 생성, slug 생성, 임시 토큰 생성 — 모두 crypto.randomBytes 로 교체.
4 정치적 비용
엔지니어링 비용 외에 정치적 비용 이 있었다.
1. FIPS 검증되지 않은 신기술 채택 보류
새로운 라이브러리 / 서비스가 나와도 FIPS 검증이 없으면 채택 못 함. 이게 기술 결정 을 느리게 만듦. 6개월간 3건의 업그레이드 보류.
2. FIPS 외 고객과 동일 코드베이스 유지 결정
옵션 두 개:
- FIPS 빌드 와 일반 빌드 를 같은 코드베이스 에서 — 복잡, 그러나 유지보수 적음
- 완전히 별도 fork — 단순, 그러나 영구 차이 누적
우리 결정 — 같은 코드베이스 + 빌드 플래그. 결정에 3주.
3. 비-FIPS 의존성 발견 시 정책
새 의존성 추가 PR 마다 FIPS 호환성 점검 강제. 호환 안 되면 PR 거부. 이 정책이 엔지니어링 속도 15% 감소. 합의에 분기 1회 미팅 + CTO 결정.
4. 외부 인증 비용 책임
NIST 검증 lab 비용이 수만 달러. 그 비용을 해당 고객 청구 에 포함할지, 우리 OPEX 로 흡수할지. 이걸 상업 협상 에서 명시해야 함.
그래서 가치 있나
이 한 고객 계약 = 연 수백만 달러. $96,000 + 외부 인증 의 ROI 는 명확히 양수.
다만 한 고객 한 명 만 보고 했으면 후회할 결정. 우리는 FIPS 가 진입 자격 인 추가 잠재 고객 이 3 곳 더 있음을 확인 후 결정. 한 곳만이면 보류했을 것.
누가 이 글을 읽으면 좋은가
미국 연방 / 일부 EU 정부 / 한국 공공기관 (FIPS 표준 채택 사례) 입찰을 준비 중 인 보안 / 엔지니어링 리드. FIPS 가 입찰 요건 인지 명시적 확인 부터. 요건이면 위 6개월 + $96,000 최소 예산. 단일 고객을 위해 하지 말 것 — 3 곳 이상 모이면 결정.
비슷한 글
작은 팀의 ISO 27001 — 인증 프로젝트가 *조직 변형 프로젝트* 인 이유
ISO 27001 인증을 *문서 작업* 으로 보고 시작하면 6개월 후 좌절. 인증은 *조직 운영 자체* 를 바꾼다. 작은 팀의 *현실적* 도입 가이드.
백재민
폐쇄망에서 Zero Trust 가 *의미하는 것* — 모순처럼 보이는 답
Zero Trust 는 *경계 없음* 을 가정하고, 폐쇄망은 *경계 있음* 을 전제. 둘이 충돌하는 게 아니라 *경계 안에서도 zero trust* 가 답이다.
백재민
어떤 온프레 환경이든 들어가기 — CollabOps 가 보는 5가지 환경 분류
고객이 *k8s 가 없어도, 인프라 전문성이 없어도*, *기존 시스템이 무엇이든* 들어갈 수 있어야 한다. 17개 PoC 에서 본 온프레 환경 5분류와 각각의 도입 경로.
백재민