결제 시스템에서 데이터 암호화 작동 방
결제 시스템은 가장 민감한 데이터 (PAN (카드 번호), 만료 날짜, CVV/CVC, 3-DS 토큰, 은행 정보, 지갑 식별자) 로 작동합니다. 그들의 유출은 벌금, 은행/PSP의 상인 리콜 및 직접적인 재정적 손실입니다. 보호는 채널의 암호화 (SL), 스토리지의 암호화 및/또는 토큰 화, 엄격한 키 관리 및 하드웨어 신뢰 모듈 (HSM) 계층으로 구축됩니다. 아래는 간단한 언어로 된 전체 보안 "파이프 라인" 입니다.
기본 벽돌
대칭 암호화
알고리즘: AES-GCM/CTR/CBC (지불시 사실상 표준은 AES-GCM입니다).
장점: 고속, 컴팩트 키.
단점: 키와 IV/nonce에 안전하게 동의해야합니다.
비대칭 암호화
알고리즘: SA-2048/3072, ECC (P-256/384, Ed25519).
사용예: 키 교환/포장, 서명, PKI, SL 인증서.
장점: 사전에 공유 비밀이 필요하지 않습니다.
단점: 대칭 암호화보다 느립니다.
PFS (Perfect Forward Secrecy)
세션 키는 effemeric ECDHE에 의해 협상됩니다. 서버의 개인 키가 언젠가 누출되더라도 과거 세션은 해독되지 않은 상태로 유지됩니다.
대중 교통 암호화: SL 1. 2/1. 3
1. 핸드 셰이크 (SL 핸드 셰이크): 클라이언트와 서버가 버전/암호에 동의하고 서버는 인증서 (PKI), 교환 임시 키 (ECDHE) → 세션 대칭 키가 생성됩니다.
2. 데이터: 인증을 통해 AEAD 모드 (AES-GCM/ChaCha20-Poly1305) 로 전송됩니다.
3. 최적화: TLS 1. 3 컷 라운드, 재개 지원; 0-RTT는주의 깊게 사용됩니다 (deimpotent queries 만 해당).
4. 지불 실습: SSLv3/TLS1을 금지합니다. 0/1. 1, TLS1을 켜십시오. 2/1. 3, OCSP 스테이플링, HSTS, 엄격한 보안 헤더.
"스토리지 내" 암호화: 휴식 시간
옵션
전체 볼륨/데이터베이스 암호화 (TDE): 신속하게 입력, 미디어에 대한 "콜드" 액세스로부터 보호하지만 손상된 애플리케이션을 통한 누출은 방지하지 않습니다.
비트/필드 레벨 (FLE): 개별 필드 (PAN, IBAN) 가 암호화되었습니다. 입체적이지만 구현하고 인덱싱하기가 더 어렵습니다.
형식 보존 암호화 (FPE): 16 자리를 16 자리로 원할 때 유용합니다.
토큰 화: PAN은 토큰 (의미없는 문자열) 으로 대체됩니다. 이 PAN은 강력한 보호하에 토큰 볼트에 저장됩니다. 지불/반환 할 때 토큰이 사용됩니다 → 판매자는 "원시" 카드를 처리하지 않습니다.
핵심 아이디어
스토리지에서 더 중요한 것은 "어떤 알고리즘" 이 아니라 키가 어디에 있고 누가 해독 할 수 있는지입니다. 따라서...
주요 관리: KMS, HSM 및 봉투
주요 계층 구조 (엔벨로프 암호화)
Root/KEK (키 암호화 키): HSM에 저장 및 실행되는 높은 보호 클래스.
DEK (데이터 암호화 키): 특정 데이터/배치/테이블을 암호화합니다. 자체적으로 KEK에 의해 암호화되
회전: KEK/DEK의 예정 및 예정되지 않은 (사고의 경우) 회전에 대한 규정; 키 버전은 암호 텍스트 메타 데이터에 지정되어 있습니다.
HSM (하드웨어 보안 모듈)
자체 주요 작업을 저장하고 수행하는 인증 된 하드웨어 모듈 (예: FIPS 140-2/3).
외부에 개인 키를 발행하지 않고 제한/사용 정책, 감사를 지원합니다.
키 생성, DEK 래퍼, 서버 키 3-DS, EMV 키, IN 작업, 메시지 서명.
KMS
주요 정책, 버전 지정, 액세스, 로그 및 API를 중앙 집중화합니다.
HSM과 함께 엔벨로프 암호화 및 자동 회전을 구현합니다.
카드 표준 및 산업 세부 사항
PCI DSS (및 최소화 논리)
주요 아이디어: CVV를 저장하지 말고 PAN 처리 영역 (범위) 을 최소화하십시오.
가능한 경우-Hosted Fields/Iframe PSP에 PAN 입력을 제공합니다. → 판매자는 원시 데이터에 액세스 할 수 없습니다.
로그, 백업, 덤프-마스킹, 암호화, 보존 등 prod와 동일한 규칙입니다.
EMV, PHP 4: PHP 4
EMV 칩/콘택트리스: 카드/터미널 레벨의 암호화, 마법사 스트립 복제 방지.
IN 블록 및 ISO 9564: PIN은 핀 패드에서 처리까지 암호화되며 HSM (핀 전송, 키 영역) 과 함께 작동합니다.
DUKPT (Derived Unique Key Per Transaction): POS에서 각 결제는 BDK → 에서 파생 된 고유 한 키로 암호화되어 한 메시지가 손상되면 다른 메시지가 드래그되지 않습니다.
PCI P2PE: 핀 패드에서 암호 해독 공급자에 이르기까지 인증 된 "엔드 투 엔드" 암호화 체계.
3D 보안 (2. x)
카드 소지자 인증 → 사기/청구가 적습니다.
암호화는 메시지 서명, ACS/DS/3DS 서버 키 교환에 사용됩니다. 개인 키는 일반적으로 HSM에 있습니다.
전형적인 데이터 보호 아키텍처
옵션 A (PSP가있는 온라인 판매자):- 브라우저 → HTTPS → Hosted Fields PSP (PAN은 판매자에게 제공되지 않습니다).
- PSP는 결제 토큰을 반환합니다.
- 판매자 데이터베이스는 토큰 + 마지막 4 자리 숫자와 BIN (UX 및 규칙) 을 저장합니다.
- 반환/반복-토큰 만.
- KMS의 비밀/키, HSM의 개인 키 SL/3-DS.
- 응용 프로그램 애플리케이션 - TLS/mTLS.
- 민감한 필드 - FLE/FPE 또는 토큰 화; 금고는 격리되어 있습니다.
- HSM을 통해 "4 눈" 작업을 수행하는 서비스 역할에만 해독에 액세스 할 수 있습니다.
- 핀 패드 → DUKPT/P2PE → 처리.
- 터미널 부팅 키-보안 키 인젝터/XSM을 통해.
- 장치의 벌목 방지, 변조 방지.
회전, 감사 및 사건
주요 회전: 계획 (X 개월마다 한 번) 및 이벤트 (타협). DEK는 사용자 데이터를 해독하지 않고 새로운 KEK로 다시 포장합니다.
불변의 로그: 누가 언제 해독/키에 액세스했는지; 로그의 서명.
타협 런북: 즉시 철회/회전, 인증서 재발급, API 키 블록, 파트너 알림, 소급.
일반적인 실수와 피하는 방법
1. "우리는 데이터베이스를 암호화하므로 모든 것이 정상입니다
아니요, 그렇지 않습니다. 손상된 응용 프로그램은 데이터를 공개적으 우리는 토큰 화/FLE와 최소 권리의 원칙이 필요합니다.
2. CVV 스토리지.
당신은 할 수 없습니다. CVV는 절대 저장되지 않으며 (PCI DSS를 통해) 암호화되지 않습니다.
3. 데이터 옆에 열쇠.
당신은 할 수 없습니다. KMS/HSM의 키는 역할, 최소 권한, 별도의 계정별로 액세스합니다.
4. 회전/버전이 없습니다.
항상 버전 키는 암호텍스트 메타 데이터에 'key _ version' 을 저장합니다.
5. 주변에만 TLS.
CNC/WAF 뒤의 암호화 및 데이터 계획 내부 (servis → servis, webhooks).
6. "보기 위해" 토큰 화.
어떤 서비스라도 해독 할 수 있다면 이것은 보호가 아닙니다. 좁고 감사합니다.
7. 설명되지 않은 백업/분석 업로드.
암호화 및 마스킹은 백업, 스냅 샷, BI 쇼케이스, 로그에 적용되어야합니다.
구현 점검표 (브리핑)
채널
TLS 1. 2/1. 내부 및 웹 후크 용 PFS, HSTS, 엄격한 보안 헤더.
스토리지
PAN 토큰 화, CVV 스토리지 금지.
중요 분야의 FLE/FPE; 기본 레이어로서의 TDE.
키
KMS + HSM, 엔벨로프 암호화 (KEK/DEK), 회전/버전, 변경 불가능한 로그.
건축
Hosted Fields/SDK PSP, PCI 영역 최소화.
비밀 관리자를 통해서만 역할/네트워크 분리, 신뢰 없음, 비밀.
작업
주변 및 비즈니스 논리에 관한 오순절/빨간 팀.
배수구의 DLP/CTI 모니터링, 인력 훈련.
Runbook не타협: 철회/회전/통지.
미니 -FAQ
암호화 또는 토큰 화가 PAN에 가장 적합합니까?
판매-토큰 화 (범위를 최소화). Vault-HSM/KMS의 암호화.
결제 도메인에 EV 인증서가 필요합니까?
선택 사항. 더 중요한 것은 HSM 및 분야의 올바른 TLS 프로파일, mTLS, 키입니다.
TLS 1에서 0-RTT를 사용할 수 있습니까? 지불을 위해 3?
dempotent GET의 경우 그렇습니다. POST의 경우 꺼지거나 제한하는 것이 좋습니다.
"마지막 4" 와 BIN을 저장하는 방법?
PAN과 분리; 이것은 올바른 격리를 가진 민감한 데이터는 아니지만 로그/BI의 마스킹을 관찰합니다.
결제 시스템의 암호화는 하나의 토글 스위치가 아니라 생태계입니다. 채널의 SL/PFS, 스토리지의 토큰 화 및/또는 FLE, KMS + HSM을 통한 엄격한 키 관리, 산업 표준 (PCI DSS, EMV, 3-DS), 회전 및 감사. 이러한 다층 아키텍처는 카드 데이터 유출을 극도로 불가능하게하고 감사 통과를 단순화하며 가장 중요한 것은 은행, 지불 파트너 및 사용자의 신뢰를 유지합니다.