PlayReady 버전 3.0에서 도입된 PlayReady 보안 중지는 PlayReady 디바이스가 미디어 스트리밍 서비스에 미디어 재생이 지정된 콘텐츠에 대해 중지되었음을 자신 있게 어설션할 수 있는 수단을 제공하는 기능입니다. 이 기능을 사용하면 미디어 스트리밍 서비스가 지정된 계정에 대해 여러 디바이스에서 사용 제한 사항을 정확하게 적용하고 보고할 수 있습니다.
보안 중지 개요
미디어 재생이 중지되거나 사용자가 중간 어딘가에 미디어 프레젠테이션을 중지했기 때문에 보안 중지 이벤트는 미디어 재생이 중지될 때 클라이언트가 보안 중지 서버에 보고합니다. Secure Stop 이벤트가 보고되고 Secure Stop 이벤트가 기록될 때 PlayReady 클라이언트는 콘텐츠 키가 메모리에서 지워지도록 합니다. 이전 세션이 예기치 않게 종료될 때(예: 시스템 또는 애플리케이션 크래시로 인해) 보안 중지도 보고됩니다.
비고
보안 중지는 임시 라이선스에만 적용됩니다.
보안 중지 챌린지를 보내는 두 가지 주요 시나리오가 있습니다.
- 미디어 재생이 마지막에 중지되거나 사용자가 중간 어딘가에 미디어 프레젠테이션을 중지했기 때문입니다.
- 이전 세션이 예기치 않게 종료되는 경우(예: 시스템 또는 앱 크래시로 인해) 앱은 시작 또는 종료 시 미해결 보안 중지 세션을 쿼리하고 다른 미디어 재생과 별도로 챌린지를 보내야 합니다.
UWP 앱의 보안 중지에 대한 자세한 내용은 PlayReady DRM 문서의 보안 중지 추가 섹션을 참조하세요.
안전 중지 2
PlayReady 버전 4.2부터 PlayReady 보안 중지 2 는 보안 수준 3000의 TEE(신뢰할 수 있는 실행 환경)에서 클라이언트에 보안 중지 기능을 적용하여 보안을 강화합니다.
서비스는 SecureStop 기능을 사용하여 동일한 사용자 계정에 속한 여러 클라이언트에서 재생을 적용할 수 있습니다. 해당 사용자 계정에서 특정 클라이언트의 구성에 따라 서비스는 클라이언트에서 약간 다른 메시지를 받습니다.
다음 표에서는 다양한 클라이언트 보안 수준 및 보안 중지 버전에 대한 서버 앱 논리를 보여줍니다.
| Client 버전 | SecureStop 서버 논리 | 견고성 |
|---|---|---|
| PlayReady 버전 2.0+ SL2000 | 서버는 클라이언트에서 SecureStop 메시지를 받지 않습니다. 앱 논리를 사용하여 이 작업을 수행합니다. | 낮음 |
| PlayReady 버전 3.0+ SL3000(예: Windows 10 앱) | 서버는 클라이언트에서 SecureStop1 메시지를 받습니다. 공격에 대한 이 메시지의 견고성은 단순 앱 논리보다 높습니다. | 미디엄 |
| PlayReady 버전 4.2+ SL3000 | 서버는 클라이언트에서 SecureStop2 메시지를 받습니다. 이 클라이언트의 악의적인 SecureStop2 메시지에는 클라이언트의 TEE(신뢰할 수 있는 실행 환경)에서 공격이 필요합니다. 공격에 대한 이 메시지의 견고성은 SecureStop1보다 높습니다. | 높음 |
보안 중지 2 기능을 활용하려면 서버 애플리케이션에서 다음과 같이 기능을 사용하도록 설정해야 합니다.
- Secure Stop을 사용하여 라이선스를 발급할 때 MediaLicense 클래스에서 SecureStop2AESKey 속성을 설정합니다. 클라이언트에서 보안 중지 2를 지원하는지 여부에 관계없이 이 작업을 수행할 수 있습니다.
- 지정된 KID에 대해 해당 KID를 사용하여 MediaLicense에서 SecureStop2AESKey 속성을 설정할 때 사용한 것과 동일한 키를 반환하도록 ISecureStop2Handler 인터페이스(다른 처리기와 유사)를 구현하는 클래스를 만듭니다.
- GetSecureStopData를 호출한 후 SecureStopDataChallenge 클래스에서 SecureStop2VerifiedSession 속성을 쿼리합니다. Guid.Empty로 설정된 경우 클라이언트는 SecureStop1 메시지를 보냈습니다. 다른 Guid로 설정된 경우 클라이언트는 SecureStop2 메시지를 보냈습니다. 반환된 Guid는 SecureStop2 챌린지 내의 단일 세션의 세션 ID로, 비 악성으로 확인할 수 있습니다(클라이언트의 TEE(신뢰할 수 있는 실행 환경)가 성공적으로 공격되지 않았다고 가정).