
백엔드
딜리버리 암호화 모듈 개발기
두줄요약
배송시스템용 암호화 모듈을 직접 개발하고 자동 암/복호화, 봉투암호화, 종속성 최소화 전략을 정리했습니다. 테스트와 성능 측정으로 엣지케이스와 운영 적합성도 검증했습니다.
문제 상황
- 배송시스템 오픈 전, 애플리케이션에서 자동 암/복호화와 평문 데이터 마이그레이션을 동시에 만족할 암호화 모듈 필요
- 오픈소스 후보의 취약점, 향후 요구사항 변경 가능성, 배포 일정 영향 우려
해결 방법
- JPA
@PostLoad, HibernatePreLoad이벤트를 검토한 뒤@Converter방식으로 엔티티 자동 암/복호화 구현 - 봉투암호화 적용으로 암호키 관리 부담을 줄이고, 헤더 축소와 base64 제거로 저장 크기와 오버헤드 절감
성능/운영 포인트
- 종속성 최소화로 전이 의존성 충돌과 런타임 예외 가능성 축소
- property-based test, 경계값 테스트, 실제 애플리케이션 환경 테스트로 엣지케이스와 호환성 검증
- IntelliJ Profiler 기반 성능 측정에서 암/복호화 처리 시간과 장기 실행 시 CPU·heap 상태 확인
