Skip to content

DB 암호화

DB 암호화 기술을 적용할 때는 운영 환경에 적합한 기술을 도입하는 것이 중요하다. DB를 암호화 할 떄에 고려해야하는 부분들에 대해 알아보자.

암호화 대상 및 범위 분석

암호화 대상은 국내 법·규정에서 규정한 개인정보 및 그 외 중요 데이터를 우선적으로 선정해야 한다.

[금융정보원 DB 암호화 기술 가이드]

image

검증된 암호화 알고리즘 적용

DB의 중요 데이터를 암호화하는데 적용되는 알고리즘은 양방향 알고리즘과 단방향 알고리즘이 있다. 개인정보는 양뱡항 알고리즘으로 암호화해야 하며, 비밀번호는 복호화할 수 없는 단방향 알고리즘으로 암호화한다.

검증되지 않은 알고리즘을 사용하는 경우, 암호문이 해독될 수 있어 위험하므로, 국내외 암호연구기관이 권장하는 다음의 암호 알고리즘을 사용해야 한다.

[대칭형 알고리즘]

알고리즘설명
DES가장 널리 사용되는 암호화 알고리즘이다. 주로 파일이나 패킷을 암호화할 때 많이 사용되지만, 64bit 입력 블록과 56bit의 짧은 암호키를 사용하기 때문에 보안이 강력하진 않다. 따라서 매우 중요한 보안이 아닌 경우 자주 사용되다.
3-DESDES를 3번 반복해서 암호화하는 방식이다. 보안성이 향상되지만 그만큼 성능은 떨어진다.
AES미국 NIST에서 표준화한 알고리즘이다. 128bit 입력 블록을 적용하여 보안성이 좋다.
SEEDKISA 주관으로 ETRI와 함꼐 국내에서 만들어진 알고리즘이다. AES처럼 128bit 입력 블록을 사용하여 국제 표준에 부합한다.
ARIANSRI에서 만든 알고리즘으로, 비밀키 규격이 AES와 동일하다. 공공에서 사용할 목적으로 만들어졌다.
MASK기존의 알고리즘은 Charset을 고려하지 않아 문자가 깨지거나 길이가 블록단위로 패딩되는 문제가 생겼는데, 이러한 문제점을 보안하기 위해 개발됐다. ANSI와 Unicode를 상호분석하여 Charset이 깨지지 않도록 한다.

[비대칭형 알고리즘]

알고리즘설명
RSA공개키 암호체계의 세계적인 표준이고 매우 널리 사용되고 있는 알고리즘이다. 개인키나 공개키로 암호화하는 것에 모두 수학적으로 안전하다. 더 큰 소수를 사용하여 보안을 높일 수 있다.
DSANIST가 공포한 디지털 서명방법이다. DSA는 전자 서명을 통해 인증되며 기밀성 유지에는 사용되지 않는다.

안전한 키 관리

DB 암·복호화에 사용되는 키는 두가지이다.

  • 암·복호화키: DB 데이터를 암·복호화
  • 마스터키: 암·복호화키를 암호화

대칭키 방식에서는 암호화 키가 노출되면 암호문을 복호화할 수 있으므로, 키를 안전하게 관리하는 것이 무엇보다 중요하다. 키는 아래 7단계로 관리한다.

키 생성 → 키 분배 → 키 저장 → 키 사용 → 키 백업/복구 → 키 교체 → 키 폐기

이 외에 암·복호화 서버 부하 분산 방안, 다양한 DBMS 및 OS 지원 여부, 암복호화 권한 및 접근통제 지원 여부 등 성능과 운영, 보안 관련 정책들을 마련하는 것도 중요하다.