목록 보기
우리는 암호화화는데 왜 키를 사용할까?
백엔드

우리는 암호화화는데 왜 키를 사용할까?

카카오페이
카카오페이
2025년 7월 8일

두줄요약

암호화 설계를 위해 고전 암호부터 현대 암호, 하이브리드와 봉투 암호화까지의 흐름을 정리했습니다. JPA와 Hibernate 확장 포인트를 활용해 실무에서 암복호화를 자동화한 경험도 소개했습니다.

문제 상황

  • 암호화 모듈의 의존 라이브러리 구버전 고착으로 최신 애플리케이션과 호환성 문제 발생
  • 유틸리티 클래스와 정적 메서드 중심 구조로 보안 규정 변화와 확장 대응에 한계
  • 암호화를 제대로 이해하지 못하면 설계와 리팩토링 자체가 어려운 상황

원인 분석

  • 고전 암호는 알고리즘 비밀에 의존해 브루트포스와 빈도 분석에 취약
  • 현대 암호학은 알고리즘이 노출되어도 키 비밀성으로 안전성을 확보하는 방향으로 전환
  • 대칭키와 비대칭키는 각각 속도와 키 관리 측면에서 장단점이 뚜렷

해결 방법

  • 원문은 대칭키로 빠르게 암호화하고 대칭키는 비대칭키로 감싸는 하이브리드 암호화 채택
  • 데이터 키와 키 암호화 키를 분리하는 봉투 암호화로 운영 단순화와 키 관리 강화
  • JPA AttributeConverter, Hibernate UserType/ParameterizedType으로 암복호화 자동화 모듈 구성

주의할 점

  • Entity LifeCycle에서 엔티티 값을 직접 수정하면 1차 캐시와의 불일치로 예기치 않은 update 발생 가능
  • AttributeConverter는 단순하지만 추가 파라미터 전달과 타입 확장에 제약 존재
  • UserType/ParameterizedType은 유연하지만 구현 복잡도와 타입 안전성 한계 존재

카카오 계열사 채용32건

채용 사이트에서 전체 보기

다음 읽기

#JPA 주제를 다룬 다른 회사 글

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

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

마켓컬리
마켓컬리
백엔드
전체 보기

댓글 0개

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

댓글을 불러오는 중...