DB 암호화 기술을 적용할 때는 운영 환경에 적합한 기술을 도입하는 것이 중요하다. DB를 암호화 할 떄에 고려해야하는 부분들에 대해 알아보자.
암호화 대상은 국내 법·규정에서 규정한 개인정보 및 그 외 중요 데이터를 우선적으로 선정해야 한다.
[금융정보원 DB 암호화 기술 가이드]
DB의 중요 데이터를 암호화하는데 적용되는 알고리즘은 양방향 알고리즘과 단방향 알고리즘이 있다. 개인정보는 양뱡항 알고리즘으로 암호화해야 하며, 비밀번호는 복호화할 수 없는 단방향 알고리즘으로 암호화한다.
검증되지 않은 알고리즘을 사용하는 경우, 암호문이 해독될 수 있어 위험하므로, 국내외 암호연구기관이 권장하는 다음의 암호 알고리즘을 사용해야 한다.
[대칭형 알고리즘]
알고리즘 | 설명 |
---|---|
DES | 가장 널리 사용되는 암호화 알고리즘이다. 주로 파일이나 패킷을 암호화할 때 많이 사용되지만, 64bit 입력 블록과 56bit의 짧은 암호키를 사용하기 때문에 보안이 강력하진 않다. 따라서 매우 중요한 보안이 아닌 경우 자주 사용되다. |
3-DES | DES를 3번 반복해서 암호화하는 방식이다. 보안성이 향상되지만 그만큼 성능은 떨어진다. |
AES | 미국 NIST에서 표준화한 알고리즘이다. 128bit 입력 블록을 적용하여 보안성이 좋다. |
SEED | KISA 주관으로 ETRI와 함꼐 국내에서 만들어진 알고리즘이다. AES처럼 128bit 입력 블록을 사용하여 국제 표준에 부합한다. |
ARIA | NSRI에서 만든 알고리즘으로, 비밀키 규격이 AES와 동일하다. 공공에서 사용할 목적으로 만들어졌다. |
MASK | 기존의 알고리즘은 Charset을 고려하지 않아 문자가 깨지거나 길이가 블록단위로 패딩되는 문제가 생겼는데, 이러한 문제점을 보안하기 위해 개발됐다. ANSI와 Unicode를 상호분석하여 Charset이 깨지지 않도록 한다. |
[비대칭형 알고리즘]
알고리즘 | 설명 |
---|---|
RSA | 공개키 암호체계의 세계적인 표준이고 매우 널리 사용되고 있는 알고리즘이다. 개인키나 공개키로 암호화하는 것에 모두 수학적으로 안전하다. 더 큰 소수를 사용하여 보안을 높일 수 있다. |
DSA | NIST가 공포한 디지털 서명방법이다. DSA는 전자 서명을 통해 인증되며 기밀성 유지에는 사용되지 않는다. |
DB 암·복호화에 사용되는 키는 두가지이다.
- 암·복호화키: DB 데이터를 암·복호화
- 마스터키: 암·복호화키를 암호화
대칭키 방식에서는 암호화 키가 노출되면 암호문을 복호화할 수 있으므로, 키를 안전하게 관리하는 것이 무엇보다 중요하다. 키는 아래 7단계로 관리한다.
키 생성 → 키 분배 → 키 저장 → 키 사용 → 키 백업/복구 → 키 교체 → 키 폐기
이 외에 암·복호화 서버 부하 분산 방안, 다양한 DBMS 및 OS 지원 여부, 암복호화 권한 및 접근통제 지원 여부 등 성능과 운영, 보안 관련 정책들을 마련하는 것도 중요하다.