BCORE — 비코어 주식회사

PADION

KMS · Key Management

봉투암호 · mTLS · 회전 · 감사

키를 만드는 곳과
키를 지키는 곳을 나눈다

제품마다 흩어져 있던 키 관리를 한곳으로 모읍니다. 암호 연산은 전부 PADION Crypto에 위임하고, KMS는 키의 일생과 그 증거만 책임집니다.

Envelope Encryption

RootKEK wrap KEK KMS 안에만 있다 wrap DEK (평문) 1회 전달 · 보관 안 함 봉투(ENC_K) 호출자가 보관

KEK 원본은 어떤 경로로도 나가지 않습니다. 호출자는 평문 DEK를 한 번 받고, 이후에는 봉투만 보관합니다.

What is

키관리를 분리하는가

암호화를 도입한 시스템은 대개 키를 각자 들고 있습니다. 제품마다 보관 위치가 다르고, 회전 주기도 제각각이며, "이 키를 누가 언제 썼는가"를 물으면 답할 수 있는 곳이 없습니다. 규제 대응에서 막히는 지점이 대개 여기입니다 — 암호화는 했는데 그것을 증명할 수 없습니다.

PADION KMS는 그 키들을 한곳으로 모읍니다. 생성·보관·래핑·회전·폐기·접근제어·감사를 하나의 정책으로 통제하고, 소비 제품은 키를 보관하지 않고 요청만 합니다.

그리고 암호 로직을 단 한 줄도 구현하지 않습니다. 모든 암호연산은 PADION Crypto 호출이며, 그 경계는 빌드마다 자동으로 검사됩니다. 키관리와 암호 구현을 나눈 것은 편의가 아니라 검증 범위를 명확히 하기 위한 설계입니다.

Key Features

7가지 핵심

봉투암호 (KEK/DEK)

호출자는 평문 DEK를 한 번 받고 봉투만 보관합니다. KEK 원본은 어떤 경로로도 나가지 않습니다. 봉투가 자기 키·버전을 스스로 기술하므로 복호 시 무엇으로 열지 지정할 필요가 없습니다.

PQC 하이브리드 키

하나의 논리 키가 고전 + PQC 재료를 함께 가집니다. 봉투를 두 겹으로 감싸므로 둘 다 깨져야 열립니다. 양자 내성 전환을 일괄 재암호화 없이 점진적으로 진행할 수 있습니다.

중앙집중 생명주기

회전 주기·암호기간을 정책으로 강제합니다. 회전하면 새 버전이 활성이 되고 구 버전은 복호 전용으로 남습니다 — 기존 데이터를 다시 암호화할 필요가 없습니다.

변조·삭제를 잡는 감사

HMAC 해시체인으로 변조를, 주기적 서명 앵커삭제를 탐지합니다. 체인만으로는 "지워진 기록"을 찾을 수 없기 때문입니다. 사본은 오프호스트 파일로도 흘러 DB가 통째로 사라져도 남습니다.

RootKEK — TPM + 에스크로

최상위 키를 TPM에 봉인합니다(파일·환경 주입도 지원, HSM 확장 가능). 장비가 죽었을 때를 위해 k-of-n 에스크로로 나눠 보관 — 한 사람이 혼자 되살릴 수 없습니다.

키별 접근제어

주체 등록부에 실재하는 대상에게만 권한을 줍니다 — 오타가 "영원히 매치되지 않는 권한"이 되지 않습니다. 연산(읽기·래핑·언래핑·반출) 단위로 나누고, 출발지 대역까지 함께 걸 수 있습니다.

mTLS 인증 · 인증서 수명 감시

서비스는 클라이언트 인증서(mTLS)로 붙고, JWT 주체는 gatekeeper 인가로 검증합니다. 서버·클라이언트 CA·짝 인증서의 남은 수명과 만료 시 결과를 콘솔·API·기동 로그에 함께 드러내 — 서비스는 멀쩡한데 키만 조용히 막히는 만료를 미리 잡습니다.

How it Works

요청 → 봉투 → 회전

1

DEK 발급

제품이 데이터키를 요청하면 평문 DEK와 봉투를 함께 받습니다. 평문은 그 자리에서 쓰고 버리고, 봉투만 데이터 옆에 저장합니다.

2

복호 시 언래핑

봉투를 그대로 보내면 KMS가 어떤 키의 몇 번 버전인지 스스로 읽어 평문 DEK를 돌려줍니다. 호출자는 키 버전을 추적할 필요가 없습니다.

3

회전 — 재암호화 없이

회전하면 새 봉투는 새 버전으로 만들어지고, 기존 봉투는 구 버전으로 계속 열립니다. 데이터를 통째로 다시 암호화하는 정지 시간이 필요 없습니다.

폐기는 예약입니다. 활성에서 폐기로 직행하는 경로를 두지 않았습니다 — 키 재료를 지우는 것은 되돌릴 수 없고, 그 키로 감싼 데이터가 어디에 남아 있는지는 KMS가 알 수 없기 때문입니다. 기본 30일의 되돌릴 창을 두고, 그 기간에는 취소할 수 있습니다.

Use Cases

실제 도입 시나리오

금융 · 공공

키 관리 증적 요구 대응

"이 키를 누가 언제 어디서 썼는가"를 변조·삭제가 탐지되는 기록으로 답합니다. 감사관이 KMS를 신뢰하지 않아도 서명 앵커의 공개키만으로 독립 검증할 수 있습니다.

DB 암호화

DBMS TDE 키 공급

MariaDB 등 외부 DBMS가 요구하는 규격으로 키 원본을 반출합니다. 반출 가능한 키는 용도로 생성 시점에 고정되고 별도 권한을 요구하며, 모든 반출이 감사에 남습니다.

개인정보

토큰화 — 안 가진 것으로 만들기

주민번호·카드번호를 원본 정보가 없는 대체값으로 바꿔 돌립니다. 암호화가 "가지고 있되 못 읽게" 하는 것이라면, 토큰화는 그 시스템을 그 데이터를 취급하지 않는 시스템으로 만듭니다.

대외 연동

상대 규격에 맞춘 암호화

상대 시스템이 알고리즘·IV를 지정하는 연동에서는 봉투 규격을 강요할 수 없습니다. 그 용도를 별도로 격리해 봉투 키와 섞이지 않게 합니다.

Verification Boundary

암호는 PADION Crypto

KMS는 난수 하나도 스스로 만들지 않습니다. 모든 암호연산이 암호모듈 호출이고, 그 경계는 빌드마다 자동으로 검사됩니다 — 표준 라이브러리의 암호 프리미티브 import 자체를 막습니다.

Crypto

암호 연산

난수 · 대칭암호 · 키래핑 · KDF · 해시 · 전자서명

KMS

키의 일생

생성 · 보관 · 회전 · 폐기 · 접근제어 · 감사 · 이중화

경계 검사

빌드마다 강제

암호 프리미티브를 직접 쓰면 빌드가 실패합니다

나누는 이유는 검증 범위가 분명해야 하기 때문입니다. 암호 구현이 여기저기 흩어져 있으면 "어디까지가 검증된 코드인가"에 답할 수 없고, 그 답이 없으면 인증 심사가 성립하지 않습니다.

현재 상태. PADION KMS는 개발 중이며, PADION Crypto는 KCMVP 검증 대상으로 인증 준비중입니다(미취득). KMS는 CC 평가를 염두에 두고 설계했으나 인증을 취득한 상태가 아닙니다. 도입 검토 시 인증 일정은 별도로 문의해 주세요.

Availability

키 서버가 멈추면 그 위가 전부 멈춘다

그래서 2노드 구성을 지원합니다. 다만 런타임 상태를 공유하지 않습니다 — 공유하는 순간 그 공유 장치가 새로운 단일 장애점이 되기 때문입니다.

데이터 평면

어느 노드든 혼자 답한다

DEK 발급 · 봉투 해제 · 조회는 상대 노드와 무관하게 동작합니다. 한 노드가 죽어도 암호 서비스는 계속됩니다.

제어 평면

양쪽에 적용되어야 성공

키 생성·회전·폐기·권한 변경은 양쪽 모두에 반영될 때만 성공합니다. 한쪽에만 있는 키가 생기지 않습니다 — 그런 키는 나중에 "어떤 요청만 실패한다"로 나타납니다.

양쪽 RootKEK가 같은지는 검사값(KCV)으로 계속 대조합니다. 어긋나면 제어 평면을 닫습니다 — 그 상태에서 만든 키는 한쪽에서만 열리기 때문입니다.

Form Factor

소프트웨어 또는 2대 어플라이언스

온프렘 소프트웨어로 설치하거나, 장비 2대로 공급합니다. 어플라이언스를 두는 이유는 포장이 아니라, 이 제품의 전제가 환경을 통제해야 성립하기 때문입니다.

TPM 봉인

최상위 키를 그 장비에서만 풀리게 묶습니다. 공유 가상머신에 TPM이 없으면 이 보호가 서지 않습니다.

시계 · 의식 절차

시각이 어긋나면 기동하지 않고, RootKEK 주입은 에스크로 의식으로만 합니다. 둘 다 환경이 정해져 있어야 지켜집니다.

2노드가 원래 그 모양

런타임 상태를 공유하지 않는 구조는 처음부터 장비 2대를 전제로 설계했습니다.

⚠️ HSM이 아닙니다. 암호모듈은 소프트웨어(PADION Crypto)이며, 하드웨어 암호 가속이나 물리 변조 방지 등급을 주장하지 않습니다. HSM 연동은 확장 지점으로 열어 둔 상태입니다.

Tech Spec

기술 사양

암호 모듈PADION Crypto — KMS는 암호 로직 0줄 (경계 검사 빌드 게이트)
알고리즘AES-256-GCM · ARIA-256-GCM · AES/ARIA KeyWrap · ML-KEM-768 · 하이브리드 KEM
키 용도봉투(WRAP) · 반출(TDE) · 대외 연동(INTEROP) — 생성 시 고정
생명주기활성 → 회전 → 만료 → 폐기예약 → 폐기 · 구 버전은 복호 전용
신뢰 근원TPM 봉인 · 파일 · 환경 주입 (HSM 확장 지점) · k-of-n 에스크로
감사HMAC 해시체인 + 서명 앵커(하이브리드 전자서명) + 오프호스트 파일 사본
인증 경로클라이언트 인증서(mTLS) · gatekeeper OIDC(ES256) · 콘솔 계정
인가주체 등록부 · 키 × 연산 단위 부여 · 출발지 대역 제한
이중화2노드 · 런타임 공유 없음 · 제어 평면 양쪽 적용
배포온프렘 소프트웨어 또는 2대 어플라이언스 · linux/amd64 단일 바이너리 + 암호모듈 공유 라이브러리 · MariaDB
PADION 연동gatekeeper · datakeeper · flowmanager 키 공급
Where it Sits

인증·인가에 앞서, 키가 준비되는 기반 단계

KMS는 데이터 흐름의 기반 보안 단계(03)입니다. 인증·인가보다 먼저 키가 준비되어야 하기 때문입니다. 데이터를 다루는 제품들이 각자 들고 있던 키를 맡기는 곳이고, 그 키로 하는 암호 연산은 PADION Crypto가 수행합니다.

암호화했다는 것을,
증명할 수 있게.

PoC · 기존 키 이관 · TDE 연동 · 감사 요건 검토까지.