headless

headless 보안 아키텍처 백서

작성 기준일
2026-05-18
발급
주식회사 볼타코퍼레이션 (국세청 전자(세금)계산서 표준인증 사업자)
대상
도입 검토 단계의 보안·정보보호·구매 담당자

이 문서는 headless 가 금융기관 인증정보와 수집 데이터를 어떻게 다루는지를 설계 수준에서 설명한다. 주식회사 볼타코퍼레이션은 국세청 전자(세금)계산서 표준인증 사업자이며, 본 문서는 실제 구현·운영 중인 통제를 기준으로 기술한다.


1. 서비스 개요와 데이터 흐름

headless 는 홈택스·은행·카드의 거래내역·세금계산서·현금영수증을 표준 데이터 형식과 API 로 제공하는 금융 데이터 수집 플랫폼이다. 데이터는 다음 경로로 흐른다.

  1. 입력 — 고객이 외부 시스템 접속 인증정보를 등록한다. 등록 즉시 암호화되어 저장된다(3장).
  2. 실행 — 고객 요청이 비동기 작업으로 큐에 들어가고, 분리된 워커가 수집을 수행한다.
  3. 저장 — 정규화된 결과를 PostgreSQL 에 저장하고, 대용량 산출물은 객체 스토리지에 둔다.
  4. 전달 — 폴링·웹훅·큐를 통해 고객에게 결과를 전달한다.

각 단계는 별도 서비스로 분리돼 있고, 인증정보를 다루는 구간과 결과를 다루는 구간이 나뉜다.

2. 인증과 접근 통제

경로인증 수단구현
웹 콘솔JWT (Access + Refresh)HMAC-SHA256 서명. 비밀키는 256비트 이상으로 강제. Access 토큰 7일, Refresh 토큰 30일 만료
외부 APIAPI 키h6s_live_ 접두사 + 256비트 난수. 원문은 발급 시 1회만 노출, 서버에는 HMAC-SHA256 해시만 저장
  • 비밀번호는 BCrypt 로 해시 저장한다. 평문은 어디에도 남기지 않는다.
  • Refresh 토큰은 256비트 난수를 발급하되 DB 에는 SHA-256 해시만 저장한다. 로그아웃·폐기는 논리 삭제(soft delete)로 처리해 재사용 토큰을 부분 유니크 인덱스로 차단한다.
  • API 키는 회전(rotate)과 폐기(revoke)를 지원한다. 회전 시 기존 키는 즉시 폐기 상태가 되고, 폐기된 키로는 어떤 요청도 통과하지 못한다. 마지막 4자리만 식별용 힌트로 보관한다.
  • 인증·인가는 보안 필터 체인 한 곳에서만 결정한다. 개별 컨트롤러에 권한 분기를 두지 않아, 인가 규칙의 진실 원천이 한 파일에 모인다.

테넌트 격리

  • 콘솔 요청은 워크스페이스 식별자가 URL 에 명시되고, 요청 계정이 해당 워크스페이스 멤버인지 매 요청 검증한다. 멤버가 아니면 403 으로 차단한다.
  • 파트너 경로는 파트너 버킷 워크스페이스 + 요청별 사업자등록번호(10자리 숫자 검증) 로 데이터 경계를 분리한다.
  • 요청 컨텍스트는 요청 단위로 설정하고 종료 시 반드시 정리해, 요청 간 식별자 누수를 막는다.

3. 인증정보 암호화

고객이 등록하는 외부 시스템 인증정보(아이디·비밀번호·인증서 등)는 다음과 같이 보호한다.

  • 알고리즘: AES-256-GCM (AES/GCM/NoPadding, 128비트 인증 태그). 기밀성과 무결성을 함께 보장한다.
  • : 정확히 256비트 키만 허용한다. 길이가 맞지 않으면 애플리케이션이 기동 자체를 거부한다.
  • IV: 암호화마다 12바이트 난수를 새로 생성한다(SecureRandom).
  • 복호화 시점: 인증정보는 스크래핑을 실제 실행하는 직전에만 복호화한다. 평문은 수집 실행에 필요한 짧은 구간에만 메모리에 존재하고, 영속 저장소에는 항상 암호문으로만 남는다.

4. 저장·전송 구간 보호

대상통제
관리형 데이터베이스저장 시 암호화(at-rest, KMS) 적용, 다중 가용영역(Multi-AZ) 구성, 자동 백업 운영
객체 스토리지서버측 암호화(SSE, AES-256) 기본 적용, 버전 관리 활성화, 퍼블릭 액세스 전면 차단
캐시·세션 저장소저장 시 암호화 및 전송 구간 TLS 적용
외부 통신로드밸런서에서 HTTPS 종단, 단일 리전(AWS 서울, ap-northeast-2) 운영
인증정보 컬럼위 저장소 암호화에 더해 애플리케이션 레벨 AES-256-GCM 이중 적용 (3장)

수집 결과 데이터(거래내역·세금계산서 등)는 관리형 데이터베이스와 객체 스토리지의 저장 시 암호화(KMS)와 접근 통제로 보호한다. 고객이 등록한 외부 시스템 인증정보는 이에 더해 애플리케이션 레벨 AES-256-GCM 필드 암호화(3장)를 적용한다.

5. 운영 보안과 감사

  • 민감정보 마스킹: 운영 알림으로 나가는 요청 본문은 비밀번호·토큰·인증서·인증정보 래퍼 등 20여 개 키를 재귀적으로 마스킹한다. 운영자에게는 값의 길이만 노출되고 원문은 전달되지 않는다.
  • 관리자 감사 로그: 요금제 변경·파트너 프로비저닝 같은 관리자 행위를 append-only 로 기록한다. 한 번 기록된 항목은 수정·삭제하지 않는다.
  • 최소 권한: 인프라 서비스마다 권한을 분리해 부여한다.
  • 운영 인프라 접근 통제: 서버·DB 등 운영 인프라 접근은 VPN, IdP 기반 인증·MFA 등 다중 레이어를 통과해야만 가능하다(Zero-trust 접근 모델).
  • 접속·호출·오류 로그는 자동 수집하며, 보존 기간은 「개인정보의 안전성 확보조치 기준」 고시와 통신비밀보호법 범위를 따른다.

6. 데이터 수명주기

  • 인증정보는 고객이 연동을 삭제하거나 탈퇴하면 지체 없이 복구 불가능한 방식으로 파기한다.
  • 수집 데이터와 정규화 결과의 소유권은 고객에게 귀속된다. 이용계약이 종료되면 고객이 달리 요청하지 않는 한 지체 없이 삭제한다.
  • 법령상 보존 의무가 있는 거래·결제·정산 기록과 보안 대응용 로그는 해당 법정 기간 동안 분리 보관한다.
  • 위탁·국외이전 현황은 개인정보처리방침 5조·6조에 공개돼 있으며, 본 백서 부록 A 에 요약한다.

7. 보안 사고·문의 연락

  • 인증정보 유출이 의심되면 즉시 API 키를 재발급하고 h6s@bolta.io 로 통지한다.
  • 보안 검토 자료 추가 요청, 취약점 제보는 모두 h6s@bolta.io 로 접수한다.

부록 A. 서브프로세서(처리 위탁) 요약

수탁자위탁 업무위치
Amazon Web Services, Inc.클라우드 인프라(컴퓨팅·스토리지·네트워크·보안)데이터는 AWS 서울 리전(ap-northeast-2) 보관
Microsoft Corporation사용자 행동 분석(Microsoft Clarity)미국
Vercel, Inc.프론트엔드 호스팅·이용 통계미국
주식회사 스티비가입 확인·공지 이메일 발송국내
주식회사 채널코퍼레이션고객 문의 접수·처리국내
주식회사 페이플국내 결제 승인·정산국내
Polar Software, Inc.국제 결제·구독 정산미국

국외 이전 대상·항목·연락처의 전체 내역은 개인정보처리방침 6조에 공개돼 있다. 최신 기준은 항상 https://h6s.ai/privacy 의 공개본을 따른다.


규제 준수 매트릭스

작성 기준일
2026-05-18
발급
주식회사 볼타코퍼레이션 (국세청 전자(세금)계산서 표준인증 사업자)
대상
도입 검토 단계의 보안·정보보호 담당자
범위
「개인정보 보호법」, 「개인정보의 안전성 확보조치 기준」 고시, 「신용정보의 이용 및 보호에 관한 법률」의 핵심 요구사항

상태 표기: 준수 = 구현·운영 중 / 부분 = 일부 적용 / 해당없음 = 서비스 성격상 비적용.

1. 개인정보 보호법

조항요구사항상태근거
제3조수집 최소화·목적 내 이용준수수집 항목을 연동·요청 단위로 한정. 개인정보처리방침 1·2조
제15·22조수집·이용 동의준수가입·연동 시 동의 절차, 처리방침 고지
제21조목적 달성 후 파기부분탈퇴·연동 삭제 시 인증정보 복구불가 파기, 계약 종료 시 고객 데이터 삭제, 법령상 보존 의무 기록은 법정 기간 분리 보관
제24·29조안전성 확보조치부분인증정보 AES-256-GCM, 비밀번호 BCrypt, 토큰 SHA-256 해시, 접근통제 필터 체인, 관리형 DB·객체 스토리지 저장 시 암호화(KMS)
제26조처리위탁 시 문서화·관리·감독준수이용약관 21조 3항이 §26 위탁문서를 구성
제28조의8국외 이전 시 동의·고지준수이전 대상·항목·연락처를 개인정보처리방침 6조에 공개
제30조개인정보처리방침 공개준수https://h6s.ai/privacy 공개 (rev.1, 2026-05-04)
제31조개인정보 보호책임자 지정준수CPO 지정·연락처 공개 (처리방침 12조)
제35~37조정보주체 권리(열람·정정·삭제·처리정지)준수설정 메뉴·이메일·서면 경로, 원칙 10일 내 처리 (처리방침 7조)

2. 개인정보의 안전성 확보조치 기준 고시

항목요구사항상태근거
내부 관리계획내부관리계획 수립·시행, 정기 교육부분처리방침 11조 관리적 조치 명시
접근권한 관리권한 차등 부여·회수준수보안 필터 체인 단일 결정점, 워크스페이스 멤버십 검증(비멤버 403), 인프라 최소 권한
접근통제인증·세션·외부 접속 통제준수JWT(HMAC-SHA256, Access 7일/Refresh 30일), API 키(HMAC-SHA256 해시 저장, 회전·폐기), 파트너 사업자번호 경계 분리
개인정보 암호화인증정보 등 암호화 저장준수외부 시스템 인증정보 AES-256-GCM(실행 직전에만 복호화), 비밀번호 BCrypt, Refresh 토큰 SHA-256 해시, 관리형 DB 저장 시 암호화(at-rest, KMS)·Multi-AZ·자동 백업, 객체 스토리지 SSE(AES-256)
접속기록 보관·점검접속기록 보관, 위변조 방지부분접속·API 호출·오류 로그 자동 수집, 관리자 행위 append-only 감사 로그
악성코드·취약점보안 프로그램 설치·갱신부분운영 알림 민감정보 마스킹(20여 키), 전송 구간 TLS, HTTPS 종단
물리적 안전조치출입 통제준수(위탁)클라우드 인프라(AWS 서울 리전) 물리 보안에 위임. 처리방침 11조

3. 신용정보법 (해당 시)

적용 전제: 고객이 신용정보법 적용 대상이거나 위탁 대상에 신용정보가 포함되는 경우. 일반 고객에게는 1·2장이 우선한다.

조항요구사항상태근거
제19조신용정보전산시스템 보안대책부분저장 시 암호화(KMS)·접근통제·접속기록 등 1·2장과 동일 통제 적용. 신용정보 특화 보호조치는 도입 협의 단계에서 부속합의로 구체화
제20조처리·이용 기록 보존부분접속·호출·오류 로그 수집, 법정 보존 기간 분리 보관
제17조처리위탁 시 보호조치준수위탁 프레임은 개인정보 보호법 26조와 동일하게 운용

세부 질의는 h6s@bolta.io 로 접수하면 최신 상태를 회신한다.