A. 고객 정보 보안
시행일: 2026년 3월 12일
ProgramGarden은 고객의 소중한 데이터와 지적 재산(트레이딩 전략)을 보호하기 위해 업계 최고 수준의 보안 기술과 절차를 적용하고 있습니다. 당사의 모든 서비스 인프라는 Google Cloud Platform (GCP) 위에서 운영되며, 구글의 강력한 보안 모델을 기반으로 설계되었습니다.
1. Google Cloud Platform (GCP) 기반의 강력한 인프라
ProgramGarden은 물리적 보안부터 데이터 센터 운영까지, 세계 최고 수준의 보안을 자랑하는 Google Cloud Platform을 기반으로 서비스를 제공합니다.
- 글로벌 보안 표준 준수: GCP는 ISO/IEC 27001, 27017, 27018, SOC 1/2/3, PCI DSS 등 주요 국제 보안 인증을 획득한 인프라입니다. ProgramGarden은 이러한 검증된 인프라 위에서 서비스를 운영함으로써 인프라 레벨의 보안 위협을 원천적으로 차단합니다.
- 물리적 보안: 구글 데이터 센터의 엄격한 출입 통제, 생체 인식, 24시간 감시 시스템을 통해 물리적 탈취 시도로부터 서버와 데이터를 보호합니다.
- 데이터 센터 위치: 주요 데이터는 GCP 서울 리전(asia-northeast3)에 저장되며, 대한민국 내에서 처리됩니다.
2. 사용자 인증 체계
ProgramGarden은 안전하고 검증된 인증 체계를 통해 사용자의 계정을 보호합니다.
- Firebase Authentication: 사용자 인증은 Google의 Firebase Authentication 서비스를 기반으로 합니다. 이메일/비밀번호, Google 소셜 로그인 등 다양한 인증 방식을 지원하며, Firebase가 제공하는 보안 인프라를 통해 인증 정보가 안전하게 관리됩니다.
- Firebase ID Token: 로그인 후 발급되는 Firebase ID Token을 통해 모든 API 요청의 사용자 신원을 검증합니다. 토큰은 단기 유효(1시간)이며, 자동으로 갱신됩니다.
- 서비스 간 인증 (OIDC): ProgramGarden의 내부 서비스 간 통신(예: Firebase Functions → GKE 서비스)은 Google OIDC(OpenID Connect) ID Token 기반으로 인증됩니다. 이를 통해 승인된 서비스만이 내부 API에 접근할 수 있으며, 외부에서의 무단 접근을 차단합니다.
3. 데이터 암호화 (Encryption)
고객의 모든 데이터는 생성, 전송, 보관의 전 과정에서 강력하게 암호화됩니다.
- 전송 중 암호화 (Encryption in Transit): 사용자의 브라우저와 ProgramGarden 서버 간, 그리고 내부 서버 간의 모든 통신은 TLS 1.2/1.3 (Transport Layer Security) 프로토콜을 통해 암호화됩니다. 이를 통해 데이터가 전송되는 과정에서 제3자가 도청하거나 변조할 수 없습니다.
- 저장 시 암호화 (Encryption at Rest): 데이터베이스, 객체 스토리지(Object Storage), 백업 파일 등 디스크에 저장되는 모든 데이터는 GCP의 기본 암호화를 적용받습니다.
- Envelope Encryption (봉투 암호화): 민감 데이터에 대해서는 Google Cloud KMS + Tink 라이브러리를 활용한 Envelope Encryption을 적용합니다.
- 암호화 알고리즘: AES256-GCM (Authenticated Encryption with Associated Data)
- 키 관리: 데이터 암호화 키(DEK)를 KMS 마스터 키(KEK)로 암호화하여 저장하는 이중 암호화 구조
- Associated Data (연관 데이터): 사용자 UID를 연관 데이터로 바인딩하여, 다른 사용자의 암호화 키로 복호화를 시도하는 키 스와핑 공격을 원천 차단합니다.
- 용도별 키링 분리: DSL/자격증명 암호화용 키링과 결제/빌링키 암호화용 키링을 분리 운영하여, 하나의 키 유출이 다른 영역에 영향을 미치지 않도록 설계하였습니다.
- 키 위치: 모든 KMS 키는 asia-northeast3 (서울) 리전에서 관리됩니다.
4. 민감 정보(API Key 및 전략)의 격리 및 보호
시스템 트레이딩 서비스의 핵심인 고객의 거래소/증권사 API Key, 전략적 키, 그리고 ProgramGarden DSL 코드는 일반 데이터와 분리하여 최고 수준의 보안으로 관리합니다.
- KMS Envelope Encryption을 이용한 강력한 암호화:
- 고객의 거래소/증권사 API Key(앱키, 시크릿키)뿐만 아니라, 메신저 연동이나 외부 데이터 수집 등 외부 플랫폼 연동을 위해 사용되는 모든 종류의 API Key 및 인증 토큰은 Google Cloud KMS + Tink (AES256-GCM) 를 통해 Envelope Encryption으로 암호화되어 저장됩니다.
- 각 사용자의 자격증명은 사용자 UID가 Associated Data로 바인딩되어, 해당 사용자의 요청에서만 복호화가 가능합니다.
- 운영자 접근 불가: 암호화된 키는 시스템에 의해서만 사용 시점에 일시적으로 복호화되며, ProgramGarden 운영진이나 관리자조차도 복호화하여 원본 키를 확인할 수 없습니다.
- ProgramGarden DSL 코드 암호화 및 보호:
- 고객이 작성한 ProgramGarden DSL 자동화 매매 코드는 고객의 중요한 지적 재산입니다.
- 작성된 모든 코드는 저장 즉시 암호화되며, 작성자 본인 외에는 누구도(운영진 포함) 해당 코드를 열람하거나 복호화할 수 없도록 엄격하게 통제됩니다.
- 메모리 내 처리 원칙: 트레이딩 봇이 작동할 때만 시스템이 일시적으로 복호화하여 메모리 상에서 사용하며, 사용 후 즉시 메모리에서 소거됩니다. 디스크에는 절대 평문으로 기록되지 않습니다.
5. 접근 통제 및 인증 (Access Control)
- 최소 권한 원칙 (Principle of Least Privilege): 모든 시스템 접근 권한은 업무 수행에 필요한 최소한의 범위로 제한됩니다.
- IAM (Identity and Access Management): GCP IAM을 통해 누가, 언제, 어떤 리소스에 접근했는지 명확하게 식별하고 제어합니다.
- 다중 인증 (MFA): 관리자 계정 및 주요 시스템 접근 시에는 반드시 다중 인증(MFA)을 거쳐야만 접속이 가능합니다.
6. 네트워크 보안 및 모니터링
- VPC (Virtual Private Cloud): 모든 서버는 외부와 격리된 사설 네트워크(VPC) 내부에서 운영됩니다. 외부에서의 직접적인 접근은 차단되며, 승인된 로드 밸런서(Load Balancer)를 통해서만 트래픽이 유입됩니다.
- Cloud Armor (DDoS 방어): Google Cloud Armor를 적용하여 디도스(DDoS) 공격 및 웹 애플리케이션 취약점 공격(SQL Injection, XSS 등)을 실시간으로 탐지하고 차단합니다.
- 실시간 보안 관제: Cloud Logging 및 Monitoring을 통해 이상 징후를 24시간 모니터링하며, 보안 이벤트 발생 시 즉각적인 대응 체계를 갖추고 있습니다.