딜리버리 암호화 모듈 개발 경험 공유: JPA Converter, 봉투 암호화, 성능 테스트
by DD
1년 전
조회수 4
JPA @Converter를 활용하여 엔티티 자동 암/복호화 기능을 구현함
봉투 암호화 방식을 적용하여 암호키 관리 및 보안성을 강화함
성능 테스트를 통해 암/복호화 속도 및 메모리 사용량 안정성을 검증함
JPA Converter를 활용한 암호화 구현
JPA @Converter를 사용하여 엔티티의 암/복호화를 자동화했다. 구체적으로, @Convert 어노테이션을 통해 엔티티 필드와 컨버터를 연결하여 데이터베이스 저장/조회 시 암호화/복호화를 수행한다. 따라서 리플렉션 사용을 최소화하고, JPQL 쿼리에서도 복호화된 데이터를 사용할 수 있도록 했다.
봉투 암호화 방식의 장점
봉투 암호화는 암호키를 안전하게 관리하고, 데이터 유출 시 피해 범위를 최소화한다. 암호화된 암호키를 함께 저장하여 암호키 탈취 위험을 줄이고, 데이터 암호화 및 복호화 과정을 단순화한다. 따라서, 종단 간 전송 시에도 안전하게 데이터를 보호할 수 있다.
성능 테스트 및 최적화
IntelliJ Profiler를 사용하여 암/복호화 모듈의 성능을 측정하고, base64 제거 및 헤더 최적화를 통해 성능을 개선했다. 구체적으로, base64 인코딩으로 인한 오버헤드를 줄이고, 봉투 크기를 줄여 저장 공간을 절약했다. 결과적으로, 암호화/복호화 속도 향상 및 메모리 사용량 감소를 달성했다.