통신·네트워크 기술

KCMVP란 무엇인가 (1) — 암호 프로그램에도 '검증'이 필요한 이유

Elect-M 2026. 9. 15. 18:07
728x90
반응형
SMALL

KCMVP란 무엇인가 (1) — 암호 프로그램에도 '검증'이 필요한 이유

 

인터넷으로 문서를 보내거나 휴대전화에 정보를 저장할 때 우리는 암호 기술을 사용한다.

그런데 제품 설명에 "강력한 암호 알고리즘 사용", "양자 암호 기술 적용"이라고 적혀 있으면 그것만으로 안전하다고 믿어도 될까?

꼭 그렇지는 않다.

아무리 좋은 자물쇠 설계도를 쓰더라도, 실제 자물쇠를 잘못 만들거나 열쇠를 아무 데나 보관하면 쉽게 뚫릴 수 있다.

 

★ KCMVP는 암호 기술이 들어간 실제 '암호모듈'을 정해진 기준에 따라 시험·검증하는 제도이다.

 

암호모듈이란 무엇일까?

 

▶ 정의

  • 암호모듈은 암호 기능을 수행하는 제품 속의 프로그램이나 장치이다.
  • 문서를 암호화하는 프로그램의 핵심 부분, VPN 장비 안에서 통신을 암호화하는 부품, 서버에서 비밀키를 만들고 관리하는 프로그램, 암호 연산과 키 보관을 수행하는 전용 칩 등이 여기에 해당한다.
  • 소프트웨어(S/W), 펌웨어(F/W), 하드웨어(H/W), 또는 이들을 결합한 형태로 만들 수 있다.

 

☞ 제품 전체와 암호모듈은 같은 것이 아니다

VPN 제품 전체
 ├─ 사용자 화면
 ├─ 네트워크 연결 기능
 ├─ 설정·관리 기능
 └─ 암호 기능을 수행하는 모듈 ← KCMVP 검증 대상이 될 수 있음
  • 제품 안에 검증된 모듈이 들어 있어도, 제품의 모든 기능이 KCMVP로 검증됐다는 뜻은 아니다.

 

 

KCMVP는 왜 필요할까?

 

▶ 좋은 알고리즘 ≠ 안전한 구현

  • AES나 ARIA처럼 알려진 암호 알고리즘은 공개된 규칙이라, 누구든 이 규칙을 보고 프로그램을 만들 수 있다.
  • 하지만 실제로 만든 프로그램에는 다음과 같은 문제가 생길 수 있다.
  • 암호 계산을 잘못 구현함
  • 비밀키가 로그나 화면에 나타남
  • 예측 가능한 난수로 키를 만듦
  • 권한이 없는 사람도 키를 사용할 수 있음
  • 고장이나 변조가 발생해도 계속 작동함
  • 그래서 "좋은 알고리즘을 사용했다"와 "암호모듈이 안전하게 만들어졌다"는 서로 다른 이야기이다.

★ KCMVP는 국가·공공망에 도입하는 암호모듈의 안전성과 구현 적합성을 확인하기 위해 운영된다.

 

▶ 법적 근거와 시험 기준

  • 전자정부법 제56조, 전자정부법 시행령 제69조, 사이버안보 업무규정 제9조, 암호모듈 시험 및 검증지침(국가정보원)에 근거한다.
  • 시험·검증 기준은 KS X ISO/IEC 19790(암호모듈 보안 요구사항), KS X ISO/IEC 24759(암호모듈 시험 요구사항)이다.

 

누가 KCMVP 검증을 받을까?

 

▶ 신청 주체

  • 보통은 암호모듈을 만든 개발업체가 시험을 신청한다.
  • 일반 시민이 개인 컴퓨터의 암호 프로그램을 들고 가서 검증받는 방식이 아니다. 시민이나 기관 담당자는 제품을 고를 때 그 안의 암호모듈이 검증필 목록에 있는지 확인하는 입장이다.

 

☞ 모든 IT 제품에 무조건 필요한 것은 아니다

  • KCMVP는 국가·공공기관의 제품 도입 기준과 관련이 깊다.
  • 국정원 자료에 따르면 VPN, 소프트웨어 기반 보안USB, 호스트 자료유출방지 등은 검증필 암호모듈 탑재가 필수인 제품군이다. DB 암호화, SSO, 문서 암호화도 KISA가 안내하는 대표 예시이다.
  • 정확한 도입 기준은 국가사이버안보센터의 보안적합성 검증 안내를 확인해야 한다.

 

 

KCMVP는 '알고리즘 인증'일까, '제품 인증'일까?

 

둘 중 어느 쪽으로만 말해도 정확하지 않다.

 

▶ KCMVP가 검증하는 것

  • 암호 알고리즘을 구현한 특정 암호모듈을 검증한다.
  • 검증 범위에는 모듈 이름, 소프트웨어·하드웨어 등 모듈 형태, 버전, 보안수준, 제공하는 암호 기능, 지원하는 운영환경, 보안정책, 검증 효력이 함께 표시된다.

 

★ "우리 회사 제품은 KCMVP가 있다"는 문구만 보고 판단하면 부족하다. 내가 실제로 사용하는 버전과 환경이 검증 범위에 들어 있는지 확인해야 한다.

 

 

보안수준(L1~L4)은 무엇일까?

 

▶ 가장 헷갈리는 부분부터 정리

소프트웨어 / 하드웨어 = 무엇으로 만들었는가?
L1 ~ L4               = 어떤 수준의 보안 요구를 충족했는가?
  • "L1은 소프트웨어, L2는 하드웨어"라는 공식은 없다.

 

☞ 실제로는 1등급부터 4등급까지 있다

  • KCMVP의 보안수준은 최소 1등급부터 최대 4등급까지 정의된다.
  • 소프트웨어·펌웨어 모듈은 최대 2등급까지만 획득할 수 있고, 하드웨어 모듈은 최대 4등급까지 가능하다.
  • 그래서 시중에서 소프트웨어 암호모듈은 대부분 1등급 또는 2등급으로 소개되고, 전용 칩이나 HSM 같은 하드웨어 모듈에서 3등급·4등급 사례가 나온다.

 

▶ 등급별 성격 (요구사항이 단계적으로 강화됨)

1등급 : 가장 기본적인 보안 요구 충족 (모듈 경계, 서비스, 키 관리, 자가시험 등)
2등급 : 역할 기반 접근통제, 소프트웨어·펌웨어 무결성 검증 등 추가 요구
3등급 : 역할별 신원 기반 인증, 물리적 개봉 흔적 탐지 등 더 강한 보호
4등급 : 환경 이상(전압·온도 등) 탐지·대응까지 포함하는 최고 수준의 보호
  • 전용 암호 장치나 칩을 설계할 때 3·4등급을 목표로 검토하는 경우가 있지만, 하드웨어라는 이유만으로 자동으로 높은 등급이 되는 것은 아니다.
  • L1·L2·L3·L4는 단순한 "안전 점수"가 아니라, 목표 수준·모듈 형태·적용되는 요구 영역을 함께 봐야 하는 기준이다.

 

 

구체적으로 무엇을 검사할까?

 

▶ 1. 암호 계산이 정확한가?

  • 암호화·복호화, 해시, 전자서명, 난수 생성 등 제공한다고 주장한 기능이 정해진 방식대로 작동해야 한다.

 

▶ 2. 비밀키를 안전하게 다루는가?

키 생성 → 입력 → 저장 → 사용 → 교체 → 폐기
  • 이 과정에서 키가 사용자 화면, 로그, 디버그 기능, 권한 없는 프로그램에 새지 않아야 한다.

 

▶ 3. 누가 어떤 기능을 사용할 수 있는가?

  • 일반 사용자와 관리자가 같은 권한을 가져도 되는지, 유지보수 담당자가 비밀키를 볼 수 있는지 등 역할과 접근 권한을 정해야 한다.

 

▶ 4. 고장이나 변조를 알아차리는가?

  • 모듈을 처음 켜거나 특정 기능을 쓸 때 필요한 자가시험을 수행해야 하며, 문제가 확인되면 안전하지 않은 암호 서비스를 그대로 제공하지 않아야 한다.

 

▶ 5. 시험한 것과 판매한 것이 같은가?

  • 제출한 소스코드, 설계 문서, 설치 방법, 모듈 버전과 실제 배포본의 관계를 설명할 수 있어야 한다.
  • 시험기관에는 모듈뿐 아니라 소스코드, 기본·상세 설계서, 형상관리 문서, 시험 자료, 해당하는 경우 엔트로피 평가 결과 등이 제출된다.

 

검증 과정은 어떻게 진행될까?

 

▶ 진행 단계

  1. 신청기관이 보안수준을 정하고 제출물을 준비해 시험기관에 시험 신청
  2. 시험기관이 제출물을 검토하고 계약 체결 후 시험 수행
  3. 시험기관이 시험을 완료하고 검증기관(국가정보원)에 결과 보고
  4. 검증기관이 결과를 검토하고, 관·학·연 전문가로 구성된 검증위원회가 심의
  5. 검증기관이 심의 결과를 시험기관에 통보
  6. 검증이 완료된 암호모듈이 검증필 암호모듈 목록에 등재
  • 시험 과정에서 제출물에 수정할 부분이 발견되면 신청기관이 보완해서 다시 제출할 수 있다.
  • 일상에서는 'KCMVP 인증'이라고 많이 부르지만, 제도 설명에는 시험·검증, 검증필 암호모듈이라는 표현이 사용된다.

 

☞ 검증에는 유효기간이 있다

  • 검증필 목록에 등재된 암호모듈은 등재 후 5년간 유효하며, 만료 전에 재검증을 통해 유효기간을 갱신할 수 있다.
  • 암호 기능 추가, 핵심 코드 변경, 전용 칩 교체, 지원 운영환경 변경 등 모듈의 형상이 바뀌면 재검증 절차를 검토해야 한다.

★ "업데이트해도 검증은 자동 유지된다"고 말하면 안 된다.

 

비용과 기간은 얼마나 걸릴까?

 

▶ 고정된 답은 없다

  • 모듈 형태, 목표 보안수준, 구현 완성도, 제출물 준비 정도, 시험 중 보완 횟수에 따라 달라진다.
  • 시험기관도 정확한 비용은 사전 상담을 통해 확인하고, 기간은 제품의 준비 상태와 평가 등급에 따라 달라질 수 있다고 안내한다.

 

☞ 개발업체라면 시험 신청 전에 모듈 구성과 목표 수준을 정리해 시험기관과 상담하는 것이 현실적인 첫걸음이다.

 

검증필 모듈을 쓰면 해킹이 절대 불가능할까?

 

그렇지는 않다. 검증은 정해진 기준과 범위에 대한 확인이다.

제품 전체, 연결된 서버, 사용자의 비밀번호, 관리자의 실수, 미래에 발견될 취약점까지 "절대로 문제가 없다"고 보증하는 것은 아니다.

검증필 암호모듈
= 정해진 모듈과 버전이 기준에 따라 시험·검증됨

≠ 제품과 서비스 전체가 절대 안전함

 

KCMVP와 다른 보안 인증은 같은 것일까?

 

아니다. 살펴보는 대상이 다르다.

KCMVP           : 특정 암호모듈의 구현과 보안 요구사항
보안적합성 검증  : 국가·공공기관에 도입할 보안 제품의 기준
CC 평가         : 정보보호 제품에 대해 정해진 평가 범위와 보안 요구사항
FIPS 140/미국 CMVP : 미국 쪽의 암호모듈 검증 체계
  • 한 제품이 여러 제도의 대상이 될 수도 있지만, 한 제도의 결과가 다른 제도를 자동으로 대체하지는 않는다.

 

다음 글에서는 KCMVP에서 가장 자주 헷갈리는 부분, "소프트웨어 모듈과 하드웨어 모듈은 정확히 무엇이 다른가"를 자세히 다룬다.

 

728x90
반응형
SMALL