암호화 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

암호화

암호화에는 두 가지 중점 영역이 있습니다.

  • 전송 중 암호화

  • 저장 시 암호화

Db2 기본 암호화는 Db2에 내장되어 디스크에 기록될 때 데이터를 암호화하여 저장 데이터를 보호합니다. Db2 네이티브 암호화는 표준 2계층 모델을 사용합니다. 실제 데이터는 Db2 데이터 암호화 키(DEK)로 암호화되고 DEK는 Db2 마스터 키(MK)로 암호화됩니다. DEK는 데이터베이스 내에서 관리되는 반면 MK는 키 스토어에 외부에 저장됩니다.

저장 시 암호화를 달성하기 위해 Amazon Elastic Block Store(Amazon EBS) 볼륨 암호화가의 Db2 네이티브 암호화보다 선호됩니다. 설정 및 조정에 클라우드 네이티브 솔루션을 사용할 수 AWS 있기 때문입니다. 또한 EBS 볼륨 암호화를 사용하면 여러 데이터베이스 서버를 마이그레이션하면서 네이티브 암호화를 설정하는 데 소요되는 불필요한 운영 오버헤드와 시간을 없앨 수 있습니다. 자세한 내용은 블로그 게시물 Architecting for database encryption on AWS을 참조하세요.

전송 중 암호화는 다음 데이터 통신과 관련이 있습니다.

  • 클라이언트와 서버 사이

  • 기본 및 대기 고가용성 재해 복구(HADR) 서버 간

  • 데이터베이스 서버와 외부 서비스 사이

전송되는 데이터는 TLS를 사용하여 암호화됩니다. 또한 Db2는 서버 측 파라미터를 사용하여 사용자 ID 및 암호의 내부 암호화를 지원합니다AUTHENTICATION.

TLS는 전송되는 데이터에 대한 보안 터널을 제공하고 인증서를 키 스토어 내에 안전하게 저장하는 IBM Global Security Kit(GSKit)의 라이브러리를 사용합니다.

다음 다이어그램은 클라이언트와 서버 간의 TLS 핸드셰이크를 보여줍니다.

""
  1. 클라이언트가 TLS 연결을 요청하고 지원되는 암호 제품군을 나열합니다.

  2. 서버는 선택한 암호 제품군과 퍼블릭 키가 포함된 디지털 인증서 사본으로 응답합니다.

  3. 클라이언트는 인증서의 유효성을 확인합니다. 인증서가 유효하면 세션 키와 메시지 인증 코드(MAC)가 퍼블릭 키로 암호화되어 서버로 다시 전송됩니다.

  4. 서버는 세션 키와 MAC를 복호화합니다. 그런 다음 서버는 클라이언트와 암호화된 세션을 시작하기 위한 승인을 보냅니다.

  5. 서버와 클라이언트는 세션 키와 MAC를 사용하여 데이터를 안전하게 교환합니다.

인증서가 만료되면 인증서를 갱신하고 키 스토어에서 업데이트해야 합니다.

Db2 버전 11.5.6부터 TLS를 구성하는 동안 호스트 이름 검증을 포함할 수 있습니다. 호스트 이름 검증은 클라이언트 연결이 서버 인증서의 호스트 이름이 클라이언트의 호스트 이름과 일치하는지 검증하는 데 도움이 됩니다. 이 검증은 person-in-the-middle 공격을 방지하는 데 도움이 될 수 있습니다. 이 외에도 클라이언트에서 TLSVersion 파라미터를 구성할 수 있습니다. Db2 버전 11.5.8부터 TLS 1.3이 지원됩니다.