Digital Rights Management (DRM)
디지털 저작권 관리
- Digital Contents를 배포한 이후에,
배포된 Digital Contents를 원격으로 통제하여 Authorized User에게만 Contents를 제공할 수 있게하는 시스템이다.
- DRM은 컨텐츠를 배포한 이후에 지속적으로 통제를 가능하게 하는 Persistent Protection을 목표로 한다.
DRM Restrictions (DRM의 통제 정책)
- No Copying
- Limited Number of Reads & Plays
- Time Limits
- No Forwarding
Usage of DRM
- Honor System
- 사용자들이 자발적으로 컨텐츠 이용 규칙을 준수하게 하는 시스템이다.
- Stephen King의 소설 The Plant는 사용자가 원하는 만큼의 비용을 지불하게 하며,
전체 지불비율이 75%를 넘겨야 후속작이 발매되는 규칙을 내걸었다.
- Lame Software-Based DRM
- 비용을 지불하지 않으면, 컨텐츠의 일부 기능만 사용할 수 있게 하는 시스템이다.
- Better Software-Based DRM
- 사용자의 레벨별로 컨텐츠에서 사용할 수 있는 기능에 제약을 가하는 시스템이다.
- Tamper-Resistant Hardware
- Closed Systems: Game Cube
- Open Systems: TCG/NGSCB for PCs
Crypto on DRM
- DRM에서는 공격자가 암호화된 컨텐츠에 대한 일부 비용을 지불하여 Key를 알아내고,
이 Key를 바탕으로 다른 모든 Key를 알아낼 수 있기 때문에
DRM에서는 Encryption Mechanism만으로는 공격에 완벽히 방어할 수 없고
다른 보안 메커니즘들과 같이 사용되어야 한다.
- DRM에서는 Key를 완전히 감추는것이 아닌, Software에 공격자가 찾기 힘들도록 숨기는 것이 일반적이다.
(Security by Obscurity = Kerckhoff's Principle에 위배)
DRM Limitations
- 절대적인 DRM 보안은 현실적으로 구현되기 어렵다.
- Violation of Kerckhoff's Principle
- DRM에서는 Key를 공격자가 찾기 힘들도록 Software에 숨기는 방식을 채택하고 있기 때문에
Key에 대한 완전한 비밀이 보장되지 않는다.
- Analog Hole
- Digital Content는 항상 Analog형태로 Capture되어 유출될 수 있는 여지가 있다. - Human Nature
- 꼼수를 발견하려는 인간의 본성을 원천차단할 수 없다.
DRM for PDF Document
- MediaSnap Inc에서 설계한 PDF 컨텐츠에 대한 DRM 시스템 설계이다.
- PDF DRM은 아래와 같이 두 가지 Part로 구성된다:
- Secure Document Server (SDS; Server-Side)
- PDF Reader Plug-In Client Software (Client-Side)
- PDF Document에 대한 DRM Flow는 아래와 같다:
1) Protecting a PDF Document
- Alice가 PDF Document를 창작하고 이를 SDS에 암호화하여 전송한다.
2) Accessing a Document
- Bob은 Alice의 PDF Document를 열람하기 위해선 SDS에 인증 과정을 거쳐야 하고,
PDF Reader(DRM S/W)를 통해서만 열람이 가능하다.
- Client-Side Software의 개괄적 구조는 아래와 같다:
- Outer Layer: Tamper-Resistant
- Software의 변화를 감지하여 공격을 방지한다.
- Inner Layer: Code Obfuscation
- Code를 Encrypt하여 Static Analysis를 방해한다.
- Anti-Debugging을 통해 Dynamic Analysis를 방해한다.
- Key에 대한 난독화, Caching된 Authentication 정보에 대한 난독화, Scrambling 등에 응용할 수 있다.
- Other Security Features
- Anti-Screen Capture, Watermarking, Matamorphism 등이 있다.
DRM for Streaming Media
- Streaming Media에 대해 행해질 수 있는 공격 유형은 아래와 같다:
- Spoofing
- MITM (Man-in-the-Middle Attack)
- Replay Data
- Redistribute Data
- Capture the Plaintext
- Streaming Media에 대한 DRM을 구성하는 메커니즘은 아래와 같다:
- Scrambling Algorithm
- Metamorphism 개념을 기반으로 하여, 기존의 Data를 뒤섞어서 알아보기 힘들게 하는,
암호화와 비슷한 동작을 수행하는 알고리즘이다. (SRE 공격을 방해한다.)
- Server에서는 Streaming Data를 Client와 협의한 Scrambling Algorithm으로 Scramble한 후 Encrpytion한다.
- 만약, Scrambling Algorithm이 Break되었다면, Server는 해당 알고리즘을 선택하지 않고,
Client가 가진 대부분의 Scrambling Algorithm이 Break된 경우, Software Upgrade가 강제된다.
- Negotiation of Scrambling Algorithm
- Server는 Available한 모든 Scrambling Algorithm을 갖고,
Client들은 각기 다른 Scrambling Algorithm을 가져 (Server가 가진 Scranbling Algorithms의 Subset)
Server와 Client간의 통신에 사용할 Scrambling Algorithm을 선택하는 알고리즘이다.
- De-Scrambling in Device Driver
- Client는 Encrypted Scrambled Data를 수신하여 Decryption하고 De-Scarambling하여 Plaintext(Data)를 도출한다.
Example. Process of Negotiation and Sending Scrambled Data
* Legend (범례)
Legend | Description |
\(LIST\) | - Client가 수행할 수 있는 모든 Scrambling Algorithm의 리스트 |
\(K_{server}\) | - Server의 Key |
\(K_{session}\) | - 세션키 |
\(m\) | - Client가 수행할 수 있는 Scrambling Algorithm 중 Server가 사용할 Scrambling Algorithm의 Sequence - 즉, Server가 \(LIST\)의 \(m\)번째 Scrambling Algorithm을 사용할 것임을 의미 |
\(E( x )\) | - \(x\)를 Encryption |
\(S( x )\) | - \(x\)를 Scrambling |
\(Data\) | - Streaming Media Data |
Client |
\(E_{K_{server}}( LIST )\) ▶ |
Server |
◀ \(E_{K_{session}}( m )\) ◀ \(E( S( Data ) )\) |
Reference: Information Security: Principles and Practice 2nd Edition
(Mark Stamp 저, Pearson, 2011)
Reference: Computer Security: Principles and Practice 3rd Edition
(William Stallings, Lawrie Brown, Pearson, 2014)
Reference: 2022학년도 1학기 홍익대학교 네트워크 보안 강의, 이윤규 교수님