목록 보기
딜리버리 암호화 모듈 개발기
백엔드

딜리버리 암호화 모듈 개발기

마켓컬리
마켓컬리
2025년 6월 2일

두줄요약

배송 시스템 요구에 맞춰 JPA 컨버터와 봉투암호화 기반의 암호화 모듈을 직접 개발했습니다.\n의존성·호환성·엣지 케이스·성능을 함께 검증하며 여러 서비스 적용 기반을 마련했습니다.

문제 상황

  • 애플리케이션 단 암·복호화, 빈번한 키 교체, 엔티티 자동 처리, 기존 평문 데이터 마이그레이션 요구
  • 오픈소스 라이브러리 취약점 부담과 향후 성능·저장 용량·암호 방식 변경 요구 대응 필요

구조와 흐름

  • AttributeConverter로 엔티티 필드 저장 시 암호화와 조회 시 복호화 위임
  • 클라우드 마스터키로 발급한 데이터키와 암호화된 데이터키를 함께 저장하는 봉투암호화 적용
  • 암호화 바이트와 암호화된 키를 봉투에 담고 데이터키는 즉시 폐기

선택 이유

  • @PostLoad 방식의 flush 시 불필요한 update 문제와 Hibernate PreLoad의 버전 호환성 문제 회피
  • 리플렉션 없이 다양한 타입 매핑 가능, JPQL·QueryDSL DTO 일부 조회에도 컨버터 적용
  • 헤더 최적화와 DB 바이트 타입 저장으로 저장 크기 및 base64 인코딩 오버헤드 절감

성능/운영 포인트

  • compile classpath 비노출과 runtime 의존성 4개로 종속성 충돌 최소화
  • fixture-monkey·jqwik 기반 무작위 및 경계값 테스트, 실제 애플리케이션 환경 호환성 검증
  • 300만 건 처리 측정과 장시간 CPU·heap memory 관찰을 통한 성능 안정성 확인

컬리 계열사 채용12건

채용 사이트에서 전체 보기

다음 읽기

#JPA 주제를 이어서 읽기

딜리버리 암호화 모듈 개발기

배송시스템용 암호화 모듈을 직접 개발하고 자동 암/복호화, 봉투암호화, 종속성 최소화 전략을 정리했습니다. 테스트와 성능 측정으로 엣지케이스와 운영 적합성도 검증했습니다.

마켓컬리
마켓컬리
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...