IT
posted by 구름너머 2007. 4. 18. 15:29

Tech Guide - 엔터프라이즈 DRM(문서보안)-2. DRM의 핵심 기술 요소
등록일:2005.07.12
출처:NETWORK TIMES2005년07월호
작성자:
기존 애플리케이션과 통합·확장할 수 있는 DRM 구성 필수
시큐어 콘테이너·DRM콘트롤러·DRM 서버 등으로 구성 … 편리성·유연성·통합 용이성 등 중요

연·재·순·서

1. 엔터프라이즈 DRM의 개념
2. DRM의 핵심 기술 요소(이번호)
3. DRM의 표준화 동향 및 표준화 기술 사양
4. 국내외 DRM 업체 및 제품 동향
5. 엔터프라이즈 DRM의 성공적 도입 전략

김재하
파수닷컴 수석컨설턴트
momo@fasoo.com

첫 회에서는 DRM의 정의를 특히 엔터프라이즈 DRM의 관점에서 살펴보고 DRM 기술 구조를 정의했다. 이번호에서는 DRM의 핵심 기술 요소에 대해 알아보자. <편집자>


DRM을 구성하는 가장 기본적인 시스템 구조는 <그림 1>과 같다.
<그림 1>에서 보는 바와 같이 DRM은 문서나 콘텐츠를 메타 데이터와 함께 배포 가능한 단위인 시큐어 콘테이너(Secure Container)로 패키징하는 패키저(Packager)와 이렇게 배포된 문서를 사용하고자 하는 사용자의 플랫폼에서 콘텐츠의 이용권한을 통제하는 DRM 콘트롤러(Controller), 그리고 문서에 대한 이용 권한 정책 및 라이센스를 발급 관리하는 DRM 서버로 크게 구분할 수 있다.



DRM의 기본적인 구성
메타데이타란 문서의 생명 주기 범위 내에서 관리돼야 할 각종 데이터의 구조 및 정보를 일컫는 것으로, 권한 소유자에 대한 정보, 미디어 정보, 배포 정보 등을 포함하고 있다. 시큐어 콘테이너(Secure Container)는 DRM의 보호 범위내에서 유통되는 콘텐츠의 배포 단위로 아이덴티피어(identifier), 인크립트 콘텐츠(encrypted content), 메타데이터(metadata), 시그니쳐(signature) 등의 정보로 구성돼 있으며 허가되지 않은 사용자로부터 콘텐츠를 안전하게 보호할 수 있도록 할 뿐만 아니라 배포 도중에 발생할 수 있는 위/변조의 위협을 차단하는 역할을 수행한다.
라이선스는 DRM 서버에 의해서 사용자에게 전달되는 콘텐츠의 권리 인증서로 퍼미션(permission), 컨디션(condition), 키(key) 정보 등을 포함하고 있다. DRM 콘트롤러는 라이선스 관리, 외부와의 메시지 통신 관리, 메타데이터 추출 및 해석, 콘텐츠의 복호화, 사용권한 및 조건에 따른 애플리케이션의 기능 통제 등을 수행해 문서를 이용하는 사용자의 컴퓨터에서, 문서가 라이선스에 명시된 범위 내에서 지속적으로 보호될 수 있도록 한다. DRM 서버는 문서를 이용하고자 하는 사용자에 대하여 정해진 정책에 따라 사용 권한을 결정하고, 부여된 사용권한에 따라 라이선스를 발급하고 문서에 대한 이용내역을 관리하는 역할을 수행한다.

DRM의 기술적 요구사항
DRM 의 기술적 요구사항은 크게 지속적 보호(Persistent Protection), 이용 편리성(Easy to Use), 유연성(Flexibility), 통합의 용이성(Seamless) 등의 4가지로 분류할 수 있다.
지속적 보호는 가장 기본적이며 중요한 기능으로서 허가되지 않은 사용자의 접근 차단, 부여된 권한 내에서만의 이용 허용, 배포과정에서의 무결성과 비밀성, 위/변조로부터의 보호, 각종 외부 공격으로부터의 강인성 등을 제공해야 한다.
DRM의 가장 기본적인 기능은 문서의 보호 및 관리지만 이러한 목적을 달성하기 위해서 사용자에게 불편을 줘서는 안된다. 이용 편리성을 높이기 위해서는 우선 키 배포 및 관리의 투명성을 고려해야 한다. DRM에서 암호화를 위한 키의 배포와 관리는 필수적으로 요구되는 사항이나 사용자가 이를 의식하고 관리할 수 있도록 해서는 안된다. 또한 사용자 PC에 설치되는 DRM 콘트롤러는 설치 프로그램 최소화 및 자동 설치 등을 통해 사용자의 불편을 최소화하도록 해야 한다.
DRM은 다양한 업무환경, 비즈니스 모델, 다양한 응용 시스템과 연동될 수 있어야 한다. 이를 위해서 DRM은 권리표현의 유연성, 권한관리의 통합성, 다양한 문서 형식 지원, 사용자 인증 방식의 유연성 등을 제공해야 한다.
DRM은 그 자체가 완전히 독립적인 시스템으로 존재하는 것이 아니라 도메인 별로 존재하는 KMS, EDMS, 그룹웨어 등과 같은 애플리케이션 또는 시스템과의 연동이 필수적으로 요망된다. 따라서 DRM 기술은 기존 시스템과의 통합이 용이하게 수행될 수 있어야 하며, 통합에 필요한 비용이 경제적이어야 하며 더불어 통합 이후의 유지보수 및 수정, 추가 개발을 위한 확장성을 보장할 수 있어야 한다.

DRM의 핵심 기술 요소
첫 회에서 정의한 기술구조 중 수평적 DRM 프레임워크를 다시 한번 나타내면 <그림 2>와 같다. 이제 <그림 2>의 각 기술요소들을 좀 더 상세하게 알아보도록 한다.

인크립션
DRM은 콘텐츠의 정보를 허가되지 않은 사용자로부터 보호하기 위해 암호화 기술을 이용하게 된다. 암호 기술을 이용한 콘텐츠의 보안 강도는 암호화를 위해 사용된 알고리즘의 강인성과 암호화 키의 길이, 그리고 이러한 암호 알고리즘을 처리하는 프로세스의 암호공격에 대한 강인성 정도에 따라 달라진다. DRM은 콘텐츠를 보호하기 위하여 암호기술을 기반기술로 사용하고 있기 때문에 키의 배포 및 관리가 매우 중요하다. 그러나 이러한 키의 배포 및 관리에 있어서 PKI와 DRM은 서로 다른 관점에서 접근하고 있다.
즉, PKI 기반의 암호화 응용 시스템들은 공인인증서(Digital Certificate)를 기반으로 사용자 또는 시스템에 대한 인증을 처리하기 때문에 공개키에 대한 신뢰성 보장은 매우 중요한 이슈로 떠오르게 된다.
그러나 DRM은 특정 콘텐츠를 허가된 사용자에 한해서 허가된 용도로만 이용될 수 있도록 통제하는 것을 목적으로 하지만 이를 위해 사용자에 대한 인증을 PKI 기반의 공개키에만 의존하지는 않는다. 즉, DRM에서는 사용자에 대한 인증을 위해 다양한 방법의 인증 방식을 이용할 수 있으며, 디지털 인증서(Digital Certificate)을 이용한 인증은 여러 가지 방법들 중의 하나가 된다. 또한 DRM에서의 키관리는 문서 등록자와 DRM 서버 등 콘텐츠에 대한 권리를 통제할 수 있는 주체에만 한정해 책임이 주어지며, 최종 사용자에게는 키배포 및 관리에 대한 부담을 주지 않으면서 암호기술의 투명성을 보장한다는 점에서 PKI 기반의 암호화 시스템과는 다른 차이점을 보이고 있다.



키 관리
DRM은 콘텐츠의 사용을 통제하기 위해 암호화 기술을 사용하기 때문에 암호화된 콘텐츠를 풀 때 사용되는 복호화키의 안전한 보관 및 배포 관리가 매우 중요하다.

- 콘텐츠의 암호화
콘텐츠의 비밀성 보장을 위해 콘텐츠는 암호화 알고리즘을 이용해 암호화 되며, 콘텐츠의 무결성을 보장하기 위해 전자서명 알고리즘을 사용한다. 콘텐츠는 데이터의 사이즈가 크기 때문에 암호화의 성능을 위해 대칭키 알고리즘을 이용해 암호화를 한다. 콘텐츠는 콘텐츠별로 서로 다른 랜덤 키를 이용하는데, 이것은 키 누출과 같은 만일의 경우 발생할 수 있는 사고 위험을 최소화하기 위한 조치다.

- 암호화 키정보 관리
암호화를 위해 사용된 랜덤 키는 DRM 서버의 공개키를 이용해 암호화된다. 라이선스의 암호화를 위해 비대칭키 알고리즘이 사용되며, 대표적 알고리즘은 RSA, DSS, ECC, El Gamal, KCDSA 등이 있다.

- 라이선스의 암호화
콘텐츠의 사용이 허가된 사용자에게 발급되는 라이선스는 권리정보와 함께 콘텐츠를 복호화할 수 있는 키 정보가 포함된다. 라이선스를 부당한 용도로 사용하는 것을 방지하기 위해 키 정보(또는 라이선스 전체)는 사용자의 인증정보(디지털 인증서 또는 토큰 정보) 또는 디바이스 정보 등을 이용해 암호화한다. 이렇게 발급된 라이선스는 특정 인증정보를 만족하는 사용자이거나 또는 특정 디바이스에서만 유효하며, 만일 이러한 라이선스가 허가되지 않은 다른 사용자나 디바이스에 부당하게 전달되더라도 이용을 할 수 없게 된다.

- 콘텐츠의 복호화
암호화된 콘텐츠를 이용하기 위해서 사용자의 고유정보(인증정보 또는 디바이스 정보)로 암호화돼 있는 라이선스를 우선적으로 복호화한 뒤 랜덤 키 정보를 가져 온다. 이 랜덤 키 정보를 이용하여 암호화된 콘텐츠를 복호화 하도록 한다.

패키저
패키저(Packager)는 지적자산의 보호 대상인 콘텐츠를 허가된 사용자만이 이용할 수 있도록 시큐어 콘테이너의 파일 포맷으로 패키징하는 작업을 수행한다. 패키저는 보호 대상인 콘텐츠를 암호화해서 콘텐츠의 식별번호 및 메타데이터 정보와 함께 시큐어 콘테이너로 패키징하는 과정을 수행한다. 또한 패키징된 시큐어 콘테이너의 무결성 보장을 위해 패키징된 정보의 디지털 시그니쳐를 생성해서 시큐어 콘테이너에 포함하도록 한다. 이러한 패킹 작업은 패키징 시점에 따라 프리 패키징(Pre-packaging)과 온 더 플라이 패키징(on-the-fly packaging)으로 구분된다.

시큐어 콘테이너
시큐어 콘테이너는 저작권 보호 대상인 원본 콘텐츠를 안전하게 유통하기 위해서 사용하는 전자적 보안 장치로, 같은 기능성, 보안성, 배포 용이성 등의 요소들을 만족해야 한다. 기능성이란 다양한 문서 형식의 지원, 용이한 메타데이터 관리 등을 말하며 보안성이란 배포 과정에서 위/변조가 없음을 나타내는 무결성과 허가받지 않은 사용자에게 문서의 내용이 차단될 수 있는 비밀성을 말한다. 배포 용이성은 인터넷이나 사내 통신망 외에 다양한 형태의 배포 수단을 이용할 수 있는 기능을 말한다.

아이덴티피케이션
출판도서에는 ISBN(International Standard Book Number)이라고 하는 출판도서의 식별체계에 따라 식별코드가 할당된다. 이를 이용해 이용자는 ISBN 코드만을 제시함으로써 간단히 도서의 식별과 구입이 가능하게 된다. 디지털 콘텐츠의 경우에도 이러한 용도로 사용될 수 있는 식별체계(Identification)가 필요하다. 디지털 콘텐츠의 식별체계는 디지털 콘텐츠로 하여금 유일한 식별체계를 갖도록 하며, 콘텐츠의 유통과정에서 권리 소유자의 결정 및 권리 표현을 연계하는 등 많은 애플리케이션에서 중요한 역할을 담당하게 된다.

라이트 익스프레션
디지털 콘텐츠에 대한 권리를 제어하기 위해서는 어떤 사용자가 어떠한 콘텐츠에 대해 어떤 권한과 어떤 조건으로 이용할 수 있는지 정의할 수 있어야 함은 물론, 이렇게 정의된 권리가 컴퓨터에 의해서 처리될 수 있도록 기계가독형 언어로 표현될 수 있어야 한다. 또한 다양한 비즈니스 환경에 따라 권리의 정의 및 표현이 달라질 수 있는데, 이를 무리없이 지원하기 위해서는 권리표현의 다양성과 확장성, 그리고 유연성이 충분히 보장되지 않으면 안된다.

사용권한
사용권한(Permission)은 콘텐츠의 종류 및 이용자의 권리에 따라 다음과 같이 구분한다.

● 렌더 퍼미션(Render Permission) : 사용자에게 콘텐츠가 표현되고 이용되는 권리 형태를 정의한 것으로, 콘텐츠의 종류 및 애플리케이션에 따라 매우 다양한 형태로 구분될 수 있다. 예를 들어, 문서인 경우에는 뷰, 프린트 등의 권한 제어가 필요하지만, 동영상 콘텐츠의 경우에는 플레이와 같은 권한 제어가 필요하다.
● 트랜스포트 퍼미션(Transport Permission) : 사용자들간에 권리 교환이 이뤄지는 권리 형태를 정의한 것으로, 카피(copy), 무브(move), 론(loan) 등의 권한 제어가 필요하다.
● 데리버티브 퍼미션(Derivative Permission) : 렌더 퍼미션과 트랜스포트 퍼미션은 콘텐츠에 대한 원본 추출 및 변형을 허락하지 않음에 비해 데리버티브 퍼미션은 익스트랙트(Extract), 임베드(Embed), 에디트(Edit) 등과 같이 콘텐츠의 추출 및 변형이 가능한 권한들로 구성돼 있다.

단 문서 보안이 중심인 e-DRM에서는 트랜스포트 퍼미션보다는 렌더와 데리버티브 퍼미션이 더욱 중요하며 많이 사용된다.

사용조건
사용자에게 부여된 사용권한은 다음과 같은 사용조건(Condition)에 의해 사용이 통제될 수 있어야 한다.

● 피어리드(Period) : 문서의 사용기간을 설정한다.
● 카운트(Count) : 1,2,3…N 등의 문서 사용회수를 설정한다.
● 도메인(Domain) : 특정한 사용자나 그룹 또는 특정지역에서만 이용할 수 있도록 제한한다.

권리표현언어
콘텐츠의 권리는 사용권한과 사용조건의 조합으로 구성되며, 기계가 인식할 수 있는 형태로 기술돼 사용자에게 전달된다. 기계 가독형의 권리표현을 위해 XML기반의 권리표현언어(Rights Expression Language)가 많이 개발되고 있으며, 대표적인 기술로는 XrML, ODRL, XMCL, MPEG-21 RDD/REL 등이 있다.

정책 관리
콘텐츠에 대한 사용권한은 기업의 문서관리체계 및 권한관리체계에 따라 통제된다. 그러나, 기업은 저마다 고유한 문서관리체계 및 권한관리체계를 사용하고 있기 때문에, 다양한 기업 환경을 지원하기 위해선 해당 기업에 적합하도록 수정이 가능하며 유연하고 확장성있는 특성을 제공할 수 있어야 한다.

권한 통제
라이선스에 명시된 사용권한 및 조건 범위 내에서 콘텐츠의 이용을 통제하는 기술은 콘텐츠의 지속적인 보호 및 관리를 위해 매우 중요한 역할을 수행한다. 콘텐츠의 사용권한을 응용 프로그램단에서 통제하기 위해 사용되는 방식은 다음 <표>와 같다. 초기의 DRM 제품들은 주로 빌트 인(built-in) 방식의 전용뷰어를 통해 사용권한을 통제했으나, 최근에는 사용자의 편이성을 위해 기존의 상용 프로그램을 그대로 이용하고 콘텐츠 포맷의 제한이 없는 통제방식을 개발, 사용하고 있다.
변경 방지
콘텐츠의 보안성을 보장함에 있어서 가장 우선적으로 고려해야 하는 분야는 암호화 기술의 견고성과 클라이언트 프로그램의 탬퍼링 방지 대책이다. 클라이언트 프로그램은 DRM이 적용된 콘텐츠를 사용하기 위해서 사용자의 컴퓨터 또는 단말기에 설치되는 프로그램으로, 일부 악의적인 사용자에 의해 소프트웨어의 구조 변경이나 기술적 보호조치의 무력화 등 다양한 크래킹 위협에 노출돼 있다. 지금까지 알려진 탬퍼링의 대표적인 유형은 다음과 같다.

● 소프트웨어 크래킹 기술을 이용한 탬퍼링 시도
● 시간 및 데이터의 조작을 통한 탬퍼링 시도
● 위장 모듈을 이용한 탬퍼링 시도

이와 같이 다양한 탬퍼링 시도를 차단하기 위해 일반적으로 사용되는 탬퍼링 방지 기술은 소스 레벨에서 스크램블 코드를 삽입하는 방식과, 운영체계에서 크래킹 시도를 탐지 및 차단하는 방식으로 크게 구분된다. 그러나 소프트웨어 크래킹 툴의 종류가 워낙 다양하고, 일부 전문적인 소프트웨어 크래킹 툴은 이러한 탐지 기능을 우회하는 기능을 내장함으로써 근본적인 문제점의 해결을 위한 방지책을 찾기가 어려운 실정이며, 주로 애드 혹(ad-hoc) 방식의 탬퍼링 수준이 적용되고 있는 실정이다.

인증
콘텐츠에 대한 사용권리를 사용자별로 지정하고 통제하기 위해서 사용자 인증(Authentication)을 할 필요가 있다. 일반적으로 사용자의 인증처리를 위해 사용되는 기술 유형은 다음과 같다.

● ID/패스워드 ● 디지털 인증서
● 이메일 인증 ● SSO(Single-Sign-On)
● 생체인식(지문, 홍체, DNA 인증 등)

이외에도 특정한 컴퓨터 또는 디바이스에서만 사용권한을 제어하기 위해 디바이스 인증 기술이 사용된다. 디바이스 인증 기술은 CPU 일련번호나 통신카드의 맥 어드레스(MAC Address), 그리고 HDD 일련번호 등과 같이 컴퓨터 또는 단말기의 고유한 식별정보를 바탕으로 사용자 정보와 결합해 사용된다.
이상에서 살펴본 바와 같이 다양한 종류의 인증 방식들이 존재하고 있지만 DRM은 특정한 인증기술에 종속될 필요가 없으며, 적용 도메인 및 애플리케이션에 따라 적절한 인증기술과의 연동이 핵심적인 고려 대상이 된다. 따라서 DRM이 적용되는 응용 애플리케이션이나 적용 도메인에 따라 기존 인증 체계와의 연동이나 통합을 손쉽게 수행할 수 있는 아키텍처의 설계 및 구현이 필요하다.

이벤트 보고
콘텐츠의 사용이 적절하게 이뤄지고 있는지, 그리고 사용권한에 따라 콘텐츠의 이용이 적절하게 통제되고 있는지를 파악하기 위해서 콘텐츠의 사용 내역은 충분히 모니터링 될 수 있어야 한다. 또한 이벤트 리포팅(Event Reporting)을 통해 수집된 사용내역정보는 콘텐츠의 이용내역을 증명하거나, 정보의 불법 유통 사실이 탐지됐을 때 콘텐츠의 이동경로를 추적할 수 있는 정보로 활용될 수 있다.