DRM이란

kimseawater
daily-monster
Published in
3 min readMar 19, 2024

안녕하세요 화요일에 돌아오는 kimseawater입니다. 오늘은 DRM에 대해 작성해보려고 합니다. 아주 간단한 내용만 적어볼 생각이지만.. 잘못된 정보가 있으면 댓글로 알려주세요..!!!!

DRM이란?

https://ko.wikipedia.org/wiki/%EB%94%94%EC%A7%80%ED%84%B8_%EA%B6%8C%EB%A6%AC_%EA%B4%80%EB%A6%AC

DRM은 디지털 권리 관리 (Digital Rights Management)의 약자로, 만든 사람이 사용을 제어하고, 의도한 대로만 작동하게 하도록 하는데에 사용되는 모든 기술들을 말합니다. 저희가 실생활에서 많이 보는 경우는 문서가 외부로 유출되지 않도록 암호화 한다던지, OTT에서 영상의 불법 복제를 막기 위해 암호화 한다던지 등등이 있습니다.

DRM 관련 기술은 Widevine, FairPlay, PlayReady등이 있는데요, 이 글에서는 애플의 기술인 FairPlay만 다뤄보겠습니다.

FairPlay DRM?

FairPlay Streaming (FPS) 는 Apple에서 만든 DRM 기술입니다. 애플 기기들에서는 FairPlay DRM을 적용해 컨텐츠를 안전하게 보호할 수 있게 되었습니다.

FPS는 위와같이 작동합니다.

  1. App 에서 AVFoundation을 통해 FPS 암호화가 적용된 콘텐츠를 재생하려고 요청합니다.
  2. AVFoundation에서는 콘텐츠의 플레이 리스트를 확인해, FPS-protected 콘텐츠인지를 확인합니다.
  3. AVFoundation은 App에게 콘텐츠를 해독할 수 있는 key를 요청합니다.
  4. App은 다시 AVFoundation에 SPC (Server Playback Context)를 요청합니다.
  5. SPC를 받고 나면, 이를 이용해 Key server로 받은 SPC 데이터를 전송합니다.
  6. Key server에서 App에 Content Key Context (CKC)를 전송합니다.
  7. App은 CKC 데이터를 AVFoundation에 다시 전달합니다.
  8. AVFoundation은 CKC 데이터로 재생을 시작합니다.

간단히 정리하면, 콘텐츠 제공자가 콘텐츠를 암호화 하는데, 이때 콘텐츠는 특정 키를 이용해 복호화 할 수 있는 형태로 암호화 됩니다. 사용자가 암호화 된 컨텐츠에 접근하려 하면, 이 사용자에게 권한이 있는지 확인하고 권한이 있는 경우 콘텐츠를 복호화할 수 있는 키(ckc)를 제공하게 됩니다. 사용자는 키를 받아서 암호화된 콘텐츠를 열어볼 수 있게 되는 것입니다.

SPC (Server Playback Context)

SPC는 클라이언트에서 만든 데이터 입니다. 이는 생성된 후 key server로 전달됩니다. 이 데이터는 서버에서 적절한 content key를 생성하는 데에 필요한 정보를 제공합니다.

CKC (Content Key Context)

CKC는 SPC를 받고 나서 key server에서 생성되어 다시 클라이언트로 보내집니다. CKC에는 암호화된 데이터를 복호화할 수 있는 키가 포함되어 있습니다.

불법 다운로드.. 하지맙시다!!!!!!

--

--