물리데이터베이스
데이터베이스 보안 기능 적용
- 데이터베이스의 접근 권한 및 데이터베이스 동작 객체(sql, 프로시저, 트리거 등)의 보안 취약점을 보완하기 위해 보안 기능을 적용
- 민감 데이터는 데이터 자체의 보안 방안(암호화, 익명화 등)도 고려
- 고려사항
- 데이터베이스 접근 권한
- 데이터베이스, 스키마, 엔티티(테이블)의 접근 권한 관리(접근 권한 객체 관리 수준은 성능과 보안성을 고려하여 관리)
- 예시: 테이블 권한 관리 시 성능이 저하, 민감 테이블만 관리
- 악의적 코드 삽입 금지
- 프로시저(Procedure), 트리거(Trigger), 배치(Batch) 등 데이터베이스 객체의 동작상에 악의적인 코드가 삽입되지 않도록 동작 간 처리
- 민감 데이터 관리
- 개인 정보나 업무상 민감 데이터는 암/복호화나 익명화 처리를 통해 데이터베이스에서 관리
- 악의적 시도시 에러 처리
- 공격 패턴에 대한 사용자 정의 예외 처리를 적용하고 에러 처리 내용이 외부에서 조회되지 않도록 권한 관리
- 데이터베이스 접근 권한
데이터베이스 암호화(Encryption) 알고리즘
- 데이터베이스 암호화 알고리즘은 크게 대칭 키, 해시, 비대칭 키 알고리즘이 사용됨
- 대칭 키 암호 알고리즘
- DES
- ARIA 128/192/256
- SEED
- 해시 알고리즘
- SHA 256/384/512
- HAS-160
- 비대칭 키 암호 알고리즘
- RSA
- ECDSA
- 대칭 키 암호 알고리즘
데이터베이스 암호화 기법
- 애플리케이션에서 암호화를 수행하는 API 방식과 데이터베이스에서 암호화를 수행하는 Plug-in 방식, API 방식과 Plug-in 방식을 혼합한 Hybrid 방식