SharePoint 및 OneDrive, Microsoft Teams 및 Exchange에 대한 암호화

Microsoft 365는 물리적 데이터 센터 보안, 네트워크 보안, 액세스 보안, 애플리케이션 보안 및 데이터 보안과 같은 여러 계층에서 광범위한 보호를 제공하는 매우 안전한 환경입니다.

SharePoint 및 OneDrive

SharePoint의 모든 고객 파일은 항상 단일 테넌트 전용인 고유한 파일별 키로 보호됩니다. 키는 SharePoint 서비스에서 생성 및 관리하거나 고객이 고객 키를 사용, 생성 및 관리할 때 관리됩니다. 파일이 업로드되면 Azure Storage로 전송되기 전에 업로드 요청의 컨텍스트 내에서 SharePoint에서 암호화를 수행합니다. 파일을 다운로드하면 SharePoint는 고유한 문서 식별자를 기반으로 Azure Storage에서 암호화된 고객 데이터를 검색하고 사용자에게 보내기 전에 고객 데이터의 암호를 해독합니다. Azure Storage에는 고객 데이터를 해독하거나 식별하거나 이해할 수 있는 기능이 없습니다. 모든 암호화 및 암호 해독은 Microsoft Entra ID SharePoint인 테넌트 격리를 적용하는 동일한 시스템에서 발생합니다.

Microsoft 365의 여러 워크로드는 SharePoint에 모든 파일을 저장하는 Microsoft Teams 및 저장소에 SharePoint를 사용하는 OneDrive를 포함하여 SharePoint에 데이터를 저장합니다. SharePoint에 저장된 모든 고객 데이터는 암호화되고(하나 이상의 AES 256비트 키 포함) 다음과 같이 데이터 센터에 분산됩니다. (이 암호화 프로세스의 모든 단계는 FIPS 140-2 수준 2의 유효성을 검사합니다. FIPS 140-2 규정 준수에 대한 자세한 내용은 FIPS 140-2 규정 준수를 참조하세요.)

  • 각 파일은 파일 크기에 따라 하나 이상의 청크로 분할됩니다. 각 청크는 고유한 AES 256비트 키를 사용하여 암호화됩니다.

  • 파일이 업데이트되면 업데이트가 동일한 방식으로 처리됩니다. 변경 내용은 하나 이상의 청크로 분할되고 각 청크는 별도의 고유 키로 암호화됩니다.

  • 이러한 청크(파일, 파일 조각 및 업데이트 델타)는 여러 Azure Storage 계정에 임의로 분산되는 Azure Storage의 Blob으로 저장됩니다.

  • 이러한 고객 데이터 청크에 대한 암호화 키 집합 자체는 암호화됩니다.

    • Blob을 암호화하는 데 사용되는 키는 SharePoint 콘텐츠 데이터베이스에 저장됩니다.
    • 콘텐츠 데이터베이스는 데이터베이스 액세스 제어 및 미사용 암호화로 보호됩니다. 암호화는 Azure SQL Database에서 TDE(투명한 데이터 암호화)를 사용하여 수행됩니다. (Azure SQL Database는 관계형 데이터, JSON, 공간 및 XML과 같은 구조를 지원하는 Microsoft Azure의 범용 관계형 데이터베이스 서비스입니다. 이러한 비밀은 테넌트 수준이 아니라 SharePoint의 서비스 수준에 있습니다. 이러한 비밀(master 키라고도 함)은 키 저장소라는 별도의 보안 리포지토리에 저장됩니다. TDE는 활성 데이터베이스와 데이터베이스 백업 및 트랜잭션 로그 모두에 대한 미사용 보안을 제공합니다.
    • 고객이 선택적 키를 제공하면 고객 키가 Azure Key Vault 저장되고 서비스는 키를 사용하여 테넌트 키를 암호화합니다. 이 키는 사이트 키를 암호화하는 데 사용되며, 이 키는 파일 수준 키를 암호화하는 데 사용됩니다. 기본적으로 고객이 키를 제공하는 경우 새 키 계층 구조가 도입됩니다.
  • 파일을 다시 어셈블하는 데 사용되는 맵은 암호 해독에 필요한 master 키와 별도로 암호화된 키와 함께 Content Database에 저장됩니다.

  • 각 Azure Storage 계정에는 액세스 유형(읽기, 쓰기, 열거 및 삭제)당 고유한 자격 증명이 있습니다. 각 자격 증명 집합이 보안 키 저장소에 보관되고 정기적으로 새로 고쳐집니다. 위에서 설명한 대로 각각 고유한 함수가 있는 세 가지 유형의 저장소가 있습니다.

    • 고객 데이터는 Azure Storage에 암호화된 Blob으로 저장됩니다. 고객 데이터의 각 청크에 대한 키는 암호화되고 콘텐츠 데이터베이스에 별도로 저장됩니다. 고객 데이터 자체는 암호 해독 방법에 대한 단서를 보유하지 않습니다.
    • 콘텐츠 데이터베이스는 SQL Server 데이터베이스입니다. Azure Storage에 보관된 고객 데이터 Blob을 찾아 다시 조립하는 데 필요한 맵과 해당 Blob을 암호화하는 데 필요한 키를 보유합니다. 그러나 키 집합 자체는 암호화되고(위에서 설명한 대로) 별도의 키 저장소에 보관됩니다.
    • 키 저장소는 콘텐츠 데이터베이스 및 Azure 스토리지와 물리적으로 분리됩니다. 각 Azure Storage 컨테이너에 대한 자격 증명과 콘텐츠 데이터베이스에 보관된 암호화된 키 집합에 대한 master 키를 보유합니다.

이러한 세 가지 스토리지 구성 요소(Azure Blob 저장소, 콘텐츠 데이터베이스 및 키 저장소)는 각각 물리적으로 분리되어 있습니다. 구성 요소 중 하나에 보관된 정보를 자체적으로 사용할 수는 없습니다. 세 가지 모두에 액세스할 수 없으면 청크에 대한 키를 검색하거나, 키를 사용할 수 있도록 암호를 해독하거나, 해당 청크에 키를 연결하거나, 각 청크의 암호를 해독하거나, 구성 청크에서 문서를 재구성하는 것은 불가능합니다.

데이터 센터의 컴퓨터에서 실제 디스크 볼륨을 보호하는 BitLocker 인증서는 팜 키로 보호되는 보안 리포지토리(SharePoint 비밀 저장소)에 저장됩니다.

Blob별 키를 보호하는 TDE 키는 다음 두 위치에 저장됩니다.

  • BitLocker 인증서를 보관하고 팜 키로 보호되는 보안 리포지토리입니다. 및
  • Azure SQL Database에서 관리하는 보안 리포지토리에서

Azure Storage 컨테이너에 액세스하는 데 사용되는 자격 증명도 SharePoint 비밀 저장소에 보관되고 필요에 따라 각 SharePoint 팜에 위임됩니다. 이러한 자격 증명은 데이터를 읽거나 쓰는 데 사용되는 별도의 자격 증명과 60일마다 자동 만료되도록 정책을 적용한 Azure Storage SAS 서명입니다. 다른 자격 증명은 데이터를 읽거나 쓰는 데 사용되며(둘 다 아님) SharePoint 팜에는 열거할 수 있는 권한이 부여되지 않습니다.

참고

Office 365 미국 정부 고객의 경우 데이터 Blob은 Azure 미국 정부 스토리지에 저장됩니다. 또한 Office 365 미국 정부의 SharePoint 키에 대한 액세스는 특별히 선별된 Office 365 직원으로 제한됩니다. Azure 미국 정부 운영 직원은 데이터 Blob 암호화에 사용되는 SharePoint 키 저장소에 액세스할 수 없습니다.

SharePoint 및 OneDrive의 데이터 암호화에 대한 자세한 내용은 SharePoint 및 OneDrive의 데이터 암호화를 참조하세요.

SharePoint의 항목 나열

목록 항목은 임시로 생성되거나 사용자가 만든 목록의 행, SharePoint 블로그의 개별 게시물 또는 SharePoint Wiki 페이지 내의 항목과 같이 사이트 내에서 보다 동적으로 살 수 있는 고객 데이터의 작은 청크입니다. 목록 항목은 콘텐츠 데이터베이스(Azure SQL Database)에 저장되고 TDE로 보호됩니다.

전송 중인 데이터 암호화

OneDrive와 SharePoint에는 데이터가 데이터 센터를 입력하고 종료하는 두 가지 시나리오가 있습니다.

  • 서버와의 클라이언트 통신 - 인터넷을 통한 SharePoint 및 OneDrive와의 통신은 TLS 연결을 사용합니다.
  • 데이터 센터 간 데이터 이동 - 데이터 센터 간에 데이터를 이동하는 주된 이유는 지역 복제를 통해 재해 복구를 사용하도록 설정하기 위한 것입니다. 예를 들어 SQL Server 트랜잭션 로그 및 Blob Storage 델타가 이 파이프를 따라 이동합니다. 이 데이터는 이미 프라이빗 네트워크를 사용하여 전송되지만 동급 최고의 암호화로 더욱 보호됩니다.

Exchange

Exchange는 모든 사서함 데이터에 BitLocker를 사용하고 BitLocker 구성은 BitLocker for Encryption에 설명되어 있습니다. 서비스 수준 암호화는 사서함 수준의 모든 사서함 데이터를 암호화합니다.

서비스 암호화 외에도 Microsoft 365는 서비스 암호화를 기반으로 구축된 고객 키를 지원합니다. 고객 키는 Microsoft의 로드맵에도 있는 Exchange 서비스 암호화를 위한 Microsoft 관리형 키 옵션입니다. 이 암호화 방법은 서버 관리자와 데이터 암호 해독에 필요한 암호화 키를 분리하고 암호화가 데이터에 직접 적용되기 때문에(논리 디스크 볼륨에서 암호화를 적용하는 BitLocker와 달리) Exchange 서버에서 복사한 고객 데이터가 암호화된 상태로 유지되므로 BitLocker에서 제공하지 않는 향상된 보호를 제공합니다.

Exchange 서비스 암호화에 대한 scope Exchange 내에 저장되어 있는 고객 데이터입니다.

Microsoft Teams

Teams는 TLS 및 MTLS를 사용하여 인스턴트 메시지를 암호화합니다. 모든 서버 간 트래픽에는 트래픽이 내부 네트워크에 국한되어 있는지 또는 내부 네트워크 경계를 통과하는지에 관계없이 MTLS가 필요합니다.

이 표에는 Teams에서 사용하는 프로토콜이 요약되어 있습니다.

트래픽 유형 에 의해 암호화됨
서버-서버 Mtls
클라이언트-서버(예: 인스턴트 메시징 및 현재 상태) TLS
미디어 흐름(예: 미디어의 오디오 및 비디오 공유) TLS
미디어의 오디오 및 비디오 공유 SRTP/TLS
신호 TLS

미디어 암호화

미디어 트래픽은 RTP 트래픽에 대한 기밀성, 인증 및 재생 공격 보호를 제공하는 RTP(Real-Time 전송 프로토콜)의 프로필인 SRTP(Secure RTP)를 사용하여 암호화됩니다. SRTP는 보안 난수 생성기를 사용하여 생성된 세션 키를 사용하며 신호 TLS 채널을 사용하여 교환됩니다. 클라이언트-클라이언트 미디어 트래픽은 클라이언트-서버 연결 신호를 통해 협상되지만 클라이언트-클라이언트로 직접 이동하면 SRTP를 사용하여 암호화됩니다.

Teams는 TURN을 통해 미디어 릴레이에 대한 보안 액세스를 위해 자격 증명 기반 토큰을 사용합니다. 미디어 릴레이는 TLS 보안 채널을 통해 토큰을 교환합니다.

Fips

Teams는 암호화 키 교환에 FIPS(연방 정보 처리 표준) 규격 알고리즘을 사용합니다. FIPS 구현에 대한 자세한 내용은 FIPS(Federal Information Processing Standard) Publication 140-2를 참조하세요.