콘텐츠 암호화

해결하고 싶은 문제

콘텐츠 보호를 위해 DRM(Digital Right Management)을 고려해 보았지만 비용과 운영관점에서 지나치게 무겁다. 운영이 쉽고 가볍게 도입할 수 있는 End To End 콘텐츠 암/복호화 시스템을 구축하고 싶다.

솔루션/패턴 설명

콘텐츠 전송시점에 암호화를 수행하고 콘텐츠 재생시점에 복호화를 수행한다.

../../_images/dgm015.png

암호화 키는 주고받지 않으며 양 주체가 약속된 알고리즘에 의해 키를 생성한다. 키의 시드(seed) 중 하나로 URL을 사용하여 모든 콘텐츠의 키를 다르게 사용한다.

구현

  • denc 기능을 활성화한다.

  • 암호화 주소를 배포한다.

    https://assets.example.com/music.mp3/denc/chunk
    https://assets.example.com/music.mp3/denc/bulk
    

장점/효과

  • 콘텐츠를 암호화하여 근본적으로 안전하다.

  • 백엔드와 DRM 솔루션을 타이트하게 결합하지 않아도 같은 효과를 얻을 수 있다.

  • 모든 콘텐츠가 다른 키를 사용하며 언제든지 변경이 가능하다.

주의점

암호화 레벨설계시 타겟 모바일 디바이스의 복호화 성능을 고려해야 한다.

기타

  • 대칭키/비대칭키 모두 사용이 가능하다.

  • 성능을 고려하여 콘텐츠가 전체가 아닌 일부 영역만 선택적으로 암호화할 수 있다.