표준 암호화 (Standard Encryption)

모든 NeoSQL 프로젝트에 자동 적용되는 자격증명 보호 레이어입니다. 별도 설정 없이 동작하며, 더 강력한 보장이 필요하면 Zero-Knowledge 모드를 추가로 활성화할 수 있습니다.

보안 모델 개요

NeoSQL의 보안은 "운영자조차 보지 못하게 만드는 것"이 목표입니다.

구분표준 보호Zero-Knowledge
암호화 알고리즘AES-256-GCMAES-256-GCM (동일)
암호화 키 보호AWS KMS Envelope Encryption사용자 비밀 키(Argon2id) — KMS 미사용
관리자 평문 접근관리자 콘솔에서는 노출 안 됨. 코드/KMS 권한으로는 가능비밀 키 없이는 어떤 경로로도 불가
키 분실 시 복구운영자가 KMS로 복구 가능복구 불가 (의도된 트레이드오프)
사용 시점모든 프로젝트 자동 적용프로젝트 단위 명시 활성화

표준 보호 — 모든 프로젝트에 자동 적용

프로젝트를 만드는 즉시, NeoSQL은 다음 15개 자격증명 필드를 AES-256-GCM으로 암호화하여 저장합니다.

암호화되는 15개 필드

  • Connection 레벨 (프로젝트 멤버 공유): host · port · URL · database · DB user · DB password · SSL client cert · SSL client key · SSL client key password
  • 사용자 레벨 (멤버별 개인): SSH username · SSH password · SSH private key · SSH passphrase · proxy username · proxy password

AWS KMS Envelope Encryption

프로젝트마다 별도 DEK(Data Encryption Key)를 발급하고, DEK 자체는 AWS KMS Customer Master Key로 다시 한 번 암호화하여 저장합니다. 서버 데이터베이스가 통째로 유출되어도 KMS 키 없이는 어떤 자격증명도 복호화할 수 없습니다.

UI에는 평문 자격증명이 절대 노출되지 않음

커넥션 목록, 프로젝트 화면, ERD 어디에서도 비밀번호·인증서 등 민감 필드는 평문으로 표시되지 않습니다. 편집 모달에서만 마스킹된 입력으로 다룹니다.

표준 보호 — 암호화 흐름 다이어그램

사용자사용자가 입력한DB 자격증명 (평문)AWS KMS CMK절대 노출되지 않는마스터 키(AWS 격리)wrapDEK (프로젝트별)AES-256-GCM 키 32바이트DB에는 KMS-wrap된 형태로 저장encrypt15개 _enc 필드host · port · url · passwordSSL 인증서 · SSH 키 · ...AES-256-GCM 암호문nv_connection / nv_connection_user관리자 / OperatorDB 직접 조회만으론평문 못 봄(KMS 권한 별도 필요)❌ 차단

사용자 → KMS-DEK → AES-256-GCM → 15개 필드. KMS CMK가 DEK를 봉인하므로 운영자라도 KMS 권한이 분리되어 있으면 자격증명에 접근할 수 없습니다.

NeoSQL 관리자 접근 정책

관리자 사이트(CMS)에서도 사용자의 DB 접속 정보는 어떤 화면에도 표시되지 않습니다. 사용자 ID·이메일·구독 상태 등 운영 데이터만 노출됩니다.

표준 모드에서는 만에 하나 운영자가 코드 접근권 + KMS 권한을 동시에 보유한 상태로 데이터베이스에 직접 접근하면 KMS API를 통해 복호화할 수 있는 가능성이 남습니다. 일반 회원에게는 충분하지만, "운영자조차 절대 못 보게" 만들고 싶다면 Zero-Knowledge 모드를 함께 사용하세요.