본 발명에 따른 컨텐츠에 대한 라이센스는 라이센스를 검증하기 위한 라이센스 서명정보와 컨텐츠의 사용을 제어하기 위한 사용규칙정보, 사용규칙 정보의 일부나 전부를 변경하기 위한 쿠폰 정보를 검증하기 위한 인증코드정보, 및 컨텐츠를 복호하는데 필요한 키정보로 구성된다. 쿠폰 정보는 상기 쿠폰 정보를 검증하기 위한 쿠폰인증코드정보와 상기 컨텐츠의 사용을 제어하기 위한 쿠폰사용규칙정보를 포함한다.
그리고 라이센스의 인증코드정보는 일방향 함수를 이용하여 상기 쿠폰인증코드정보를 검증하기 위한 정보인 것이 바람직하다. 일방향 함수는 해쉬 함수를 사용할 수 있으며, 그에 따라 인증코드정보는 해쉬함수의 초기값으로 설정하는 것이 바람직하다.
이러한 컨텐츠를 복호하는 방법은 라이센스 파일 및 컨텐츠의 쿠폰정보를 검증하고, 라이센스 파일의 사용규칙 정보를 확인하고, 쿠폰정보의 컨텐츠 사용규칙 정보를 확인하고, 라이센스 파일로부터 컨텐츠를 복호하기 위한 키정보를 추출하여 컨텐츠를 복호하는 단계를 포함한다.
본 발명의 다른 바람직한 암호화된 컨텐츠를 복호하는 방법은 컨텐츠의 라이 센스가 권리 만료된 경우에 사용자로부터 상기 컨텐츠의 사용요청을 수신하면, 사용자의 사용요청과 컨텐츠의 라이센스의 사용규칙정보를 비교하여 사용자의 사용요청이 사용규칙정보에 위배되는 경우, 사용자로부터 사용규칙의 일부 또는 전부를 변경하기 위한 쿠폰정보를 입력받아, 쿠폰정보를 검증하고, 라이센스로부터 상기 컨텐츠를 복호하기 위한 키정보를 추출하여 컨텐츠를 복호하게 된다.
특히, 본 발명에 있어서는 컨텐츠의 사용기간에 대한 권리가 만료된 경우에 있어서, 컨텐츠를 네트웍의 사용이 제한적인 모바일 기기등에서 사용하고자 하는 경우에 있어서, 해당하는 라이센스를 별도로 전송받아야 한다. 이러한 별도의 라이센스를 사용자가 직접 기기에 입력하고, 이러한 별도의 라이센스를 검증하여 새로운 라이센스의 사용기간 갱신정보와 비교하여 사용자의 요청에 따라 컨텐츠의 사용을 제어하게 된다.
이하, 도면의 설명을 통해 보다 상세한 실시예를 설명하고자 한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되어 있는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
도 2a,b는 본 발명에 따른 컨텐츠를 구매하는 방법을 나타낸다. 도 2a를 참조하면, 본 발명에 따라 최초에 컨텐츠를 구매하는 경우에 사용자(40)는 사업자 (50)로부터 적정한 대가를 지불하고 DRM으로 보호된 컨텐츠(10)를 해당 컨텐츠의 라이센스(20)와 함께 전달받게 된다. 그러면 사용자는 라이센스에 표시된 형태로 해당 컨텐츠를 사용하게 된다. 예를들어 라이센스에서 사용기간을 설정하고 있는 경우에, 사용자는 해당 사용기간 동안만 해당 컨텐츠를 정해진 형태로 사용할 수 있게 되는 것이다. 이 경우에 사용기간이 경과하게 되면 사용자는 해당 컨텐츠를 사용하는 것이 불가능하다.
사용기간 경과 후에 다시 컨텐츠를 사용하고자 하는 경우에, 기존의 방법에 따르면 해당하는 컨텐츠를 라이센스와 함께 다시 받아와야지만 컨텐츠의 사용이 가능하였으나 본 발명에서는 라이센스에서 원하는 부분에 대한 내용을 포함한 쿠폰을 내려받아 기존의 라이센스를 갱신하여 사용하는 것이 가능하다.
도 2b에서, 본 발명의 쿠폰(25)은 기존의 라이센스와 유사하나 기존의 라이센스와 함께 사용될 수 있으며, 독자적으로 라이센스로서의 역할을 할 수가 없고, 기존의 라이센스와 결합하여 사용하거나 기존의 라이센스의 일부를 대체 또는 보완하는 것이 특징이다. 따라서 사용자는 사용기간을 연장하는 쿠폰을 받으면 연장된 기간동안 컨텐츠를 정해진 형태로 사용할 수 있다. 이러한 라이센스 및 쿠폰의 상세한 구조에 대해서는 후술한다.
도 3a는 본 발명에 따른 라이센스 및 쿠폰의 구조의 일례를 나타낸다. 일반적으로 라이센스는 컨텐츠 아이디(110)와 사용규칙(130), 컨텐츠 키에 대한 정보(120) 및 서명정보(140)등을 포함하여 구성된다.
컨텐츠 아이디(110)는 라이센스에 해당하는 컨텐츠를 나타내기 위한 정보로 각 컨텐츠는 고유의 아이디를 가지며, 컨텐츠 별로 별도의 라이센스가 존재하게 된다. 하지만 하나의 라이센스를 여러 개의 컨텐츠를 위해 사용할 수도 있으며, 하나의 컨텐츠의 일부를 위해 하나의 라이센스를 별도로 사용하는 것도 가능하다.
사용규칙정보(130)는 컨텐츠의 사용을 제어하기 위한 정보들로서 사용규칙에서 허용하는 범위내에서만 컨텐츠의 사용이 가능하다. 이러한 사용규칙의 예에는 사용기간의 설정이나 사용방법, 사용횟수등을 설정함으로써 이러한 컨텐츠의 사용을 제어하게 된다. 사용기간이란 컨텐츠를 사용할 수 있는 유효기간을 표시하는 부분을 의미하며, 사용방법은 컨텐츠를 재생하거나 복사하거나 하는 컨텐츠의 직접적인 사용의 형태를 기술하는 부분이다. 그리고 사용회수는 정해진 사용형태에 따라 몇 차례 사용가능한지를 나타내는 부분이다. 이외에도 다양한 사용규칙을 포함할 수 있으며, 이러한 사용규칙을 기술하는 방법은 각 DRM 시스템마다 상이하며, 표준화된 대표적인 기술로는 MPEG표준화 그룹에서 만든 XrML과 같은 방식이 있다. 정해진 방식에 의해 작성된 사용규칙은 정해진 DRM 클라이언트에서 해석이 가능하다.
또한 컨텐츠 복호화키 정보(120)란, 암호화된 컨텐츠를 복호화하기 위한 키를 생성하기 위한 정보를 의미한다. 일반적으로는 디바이스에 저장된 정보와 라이센스에 저장된 정보를 이용하여 컨텐츠를 복호하기 위한 키 정보를 생성하게 된다. 또한 라이센스로부터 키 정보를 추출해내는 것도 가능하다. 이러한 라이센스가 제 3자에 의해 변형되는 경우에는 컨텐츠의 저작권을 제대로 보호할 수 없을 뿐 아니라, 사용자의 권리까지도 침해할 우려가 있다.
따라서 일반적으로 라이센스에는 라이센스가 변경되었는지의 여부를 체크할 수 있는 서명정보가 포함되게 된다. 따라서 컨텐츠를 이용하고자 하는 기기는 컨텐츠의 라이센스가 변경되었는지의 여부를 검증하고 난 다음에 라이센스의 사용규칙에 맞도록 컨텐츠의 사용을 제어하게 되는 것이다.
일반적으로 이러한 서명정보는 각 정보의 일부분을 구성되며, 라이센스의 일부 정보가 변경되면 서명값이 달라지게 되므로 라이센스의 변경여부를 확인할 수가 있는 것이다. 이러한 라이센스 파일은 컨텐츠와 별도로 존재할 수도 있으나, 많은 경우에는 컨텐츠의 헤더에 컨텐츠에 대한 정보와 함께 존재하는 경우가 많다. 이러한 경우에는 컨텐츠에 대한 정보는 라이센스가 아닌 컨텐츠의 헤더에 포함되어있다고 볼 수 있다.
도 3c는 이러한 라이센스의 구조를 나타내는 도면으로서, 가령 컨텐츠의 아이디와 같은 정보는 컨텐츠의 헤더부분(210)에 존재하게 될 것이다. 그리고, 사용규칙이나 서명정보 및 컨텐츠 키정보는 라이센스(220)에 존재하게 될 것이다.
본 발명에 따른 라이센스에는 이러한 정보들 이외에 라이센스의 일부 내용을 변경하거나 일부 내용을 대체하기 위한 또 다른 쿠폰 정보(쿠폰은 라이센스와 구분하기 위해 쿠폰이라는 용어를 사용한다.)를 검증하기 위한 인증코드정보H0(140)를 더 포함하게 된다. 이러한 인증코드정보는 쿠폰의 변경 여부 및 진정한 발급처로부터 발급되었는지의 여부를 검증하게 된다. 실제로 이러한 쿠폰은 라이센스에 종속적이기 때문에 라이센스에서 검증하는 방법이 타당하다. 또한 이러한 인증코드정보는 디바이스의 DRM 클라이언트에서 안전하게 저장하고 있는 것도 가능하다. DRM 클라이언트란 일반적으로 Microsoft DRM이나 Marlin DRM등 현존하는 특정의 DRM 기술 에 의해 보호되는 컨텐츠를 사용하기 위해 디바이스에 탑재된 프로그램이나 장치를 의미하는 것으로, 쿠폰의 검증 또한 실제로는 DRM 클라이언트에서 이루어 진다.
가령 예를 들면 쿠폰에 존재하는 일종의 쿠폰인증코드정보(H1)가 인증코드정보(H0) 대비하여 진정한 쿠폰정보인지를 검증하게 된다. 실제로는 DRM 클라이언트에 존재하는 특정의 함수를 이용하여 다음의 수학식과 같이 검증한다.
H0 = Function(H1)
상기와 같은 검증함수를 통해 쿠폰의 진정성을 검증하게 된다. 이러한 인증을 위한 파라미터 들은 일반적으로 공격자가 쉽게 접근할 수 없도록 보호되어야 하며, 특히 인증코드정보(H0)로부터 쿠폰인증코드정보(H1)를 유추하는 것이 불가능한 것이어야 한다. 이러한 함수의 일례로 함수는 암호학적으로 안전한 단방향성을 갖는 함수를 선택함으로써 얻어질 수 있다. 이를 위한 구현 방법 중의 일례로 하나의 해쉬체인을 사용할 수 있다. 일 예로 길이가 3인 해쉬체인은 다음과 같이 구성된다.
단방향 함수 : Hash
값 : H3, H2, H1, H0
Hash(H1) = H0,
Hash(H2) = H1 -> Hash(Hash(H2)) = Hash^2(H2) = H0
Hash(H3) = H2 -> Hash^3(H3) = H0
본 발명에서는 길이가 3인 Hash chain을 예로 들어 설명한다. Hash chain을 사용하기 위해서는 H0 가 사업자에 등록되어 있어야 한다. 본 발명에서는 컨텐츠를 이용하기 위한 디바이스의 DRM 클라이언트가 이 H0 의 값을 알고 있어야 하며, 본 발명에서는 기존의 라이센스에 들어있거나 DRM이 적용된 디바이스에서 안전하게 보호하고 있을 수 있다. 본 발명에서 사용기간이 도과하여 더 이상 컨텐츠를 사용할 수 없는 경우에 쿠폰을 통해 사용기간이 연장되는 과정을 나타내면 다음과 같다.
우선 도 3a는 본 발명의 일례에 따른 라이센스의 구조를 나타낸다. 기존의 라이센스와의 차이점은 쿠폰을 검증하기 위한 인증코드정보H0(140)를 더 포함하고 있다는 점이다. 이러한 인증코드정보는 개별적인 사용규칙(사용기간, 사용형태, 사용회수 등)에 대한 별도의 인증코드정보 (H0 , X0 , Y0 ... ...)로 구성될 수도 있으며, 사용규칙 전체나 라이센스를 대표하는 하나의 인증코드정보(H0)로 구성될 수도 있다. 쿠폰을 통해 사용규칙을 변경하고자 하는 경우가 일반적이다. 따라서, 사용규칙의 형태별로 별도의 인증코드정보를 가질 수도 있으며, 라이센스별로 대표적인 인증코드정보를 구성할 수도 있다. 또한 사용규칙 이외의 키정보나 다른 정보를 변경하고자 하는 경우에도 각각의 정보에 대한 인증코드정보나 라이센스를 대표하는 인증코드정보를 구성할 수도 있다.
또한, 도 3b는 본 발명의 일례에 따른 쿠폰의 구조를 나타낸 것으로 일반적으로 쿠폰은 컨텐츠의 아이디나 라이센스의 아이디에 대한 정보등으로 자신을 구별하기 위한 헤더 정보(160)등을 포함하며, 또한 사용규칙(180)에 해당하는 내용을 갖고 있다. 예를 들면 사용기간 연장에 대한 내용이나, 사용형태의 변경이나 추가에 대한 내용을 포함할 수도 있으며, 사용횟수 연장에 대한 내용 등의 포함이 가능하다. 그리고, 쿠폰을 인증하기 위한 쿠폰인증코드정보H1(170)를 더 포함하게 된다. 상기한 바와 같이 쿠폰인증코드정보는 해당하는 라이센스를 통해 쿠폰의 진정성을 검증하는데 이용된다. 쿠폰인증코드정보는 실제 라이센스의 서명정보와 유사한 기능을 수행한다. 다만 용어상의 혼동을 피하기 위해 선택된 용어일 뿐이다.
도 4a, b는 본 발명의 일실시예에 따른 컨텐츠 복호화 방법을 나타내고 있다. 사용자는 특정의 컨텐츠를 선택하고 사용 명령(재생, 복사 등)을 입력하게 된다(310 단계). 그러면, DRM 클라이언트는 해당 컨텐츠의 라이센스를 검증하는 과정을 거쳐 라이센스의 변형이나 해킹여부등을 검증한다(320 단계). 라이센스의 검증은 라이센스의 서명정보등을 이용하여 실시한다. 유효한 라이센스라고 판정이 되는 경우에는 라이센스의 사용규칙정보를 확인하고 사용자의 사용요청이 사용규칙정보에 위배되는지 여부를 체크하게 된다(330 단계). 여기서 사용규칙범위 내의 사용요청이라면 DRM 클라이언트는 컨텐츠 복호키를 생성하고(340 단계), 사용요청에 맞추어 컨텐츠를 복호하고 실행하게 된다(350, 360 단계).
그런데, 만약 사용요청이 사용규칙범위 밖이라면 DRM 클라이언트는 더 이상 프로세싱을 진행하지 않고 절차를 종료하게 된다. 본 발명에서는 일실시예(도 4a 참조)로 이러한 경우에 사용자에게 쿠폰값을 입력하라는 메시지를 제공하는 기능을 제공할 수 있음을 보이고 있다(400 단계). 이에 사용자는 네트웍을 통해 서비스 제공업자로부터 해당하는 컨텐츠에 대한 쿠폰을 요청하고 다운받아 이용할 수 있다. 또한 만약 컨텐츠를 이용하고자 하는 디바이스가 모바일기기와 같이 네트웍의 사용이 제한적인 기기인 경우에는 별도의 네트웍이 가능한 기기(핸드폰 등)을 통해 쿠폰을 다운로드 받을 수 있다. 만약 컨텐츠를 이용하고자 하는 기기가 네트웍이 좋은 환경에 있다면 실제 전체 라이센스를 새로 다운받아 갱신하는 것이 편리하고 간편한 일이다. 하지만 이러한 경우에도 적은 정보를 이용하는 것은 유용하다. 특히, 디바이스의 네트웍 환경이 좋지 않은 경우에는 네트웍 환경이 좋은 다른 디바이스를 통해 쿠폰을 전송받는 것이 유용한 방법이다. 가령 항상 네트웍에 접속이 가능한 전화기등을 이용하는 것이 유용하다.
이렇게 다운받은 쿠폰 정보를 입력(410 단계)하게 되면, DRM 클라이언트는 쿠폰을 검증(370 단계)하고 쿠폰의 사용규칙 정보와 사용자의 사용요청을 비교하여 컨텐츠의 실행여부를 결정하게 된다(380 단계). 사용요청이 쿠폰의 사용규칙의 범위 내인경우에 DRM 클라이언트는 컨텐츠 복호화키를 추출하고 컨텐츠를 실행하게 된다.
특히, 쿠폰을 입력하는 단계(410 단계)는 별도의 제3 디바이스로부터 쿠폰을 다운받아 컨텐츠를 사용하고자 하는 디바이스로 사용자에 의해 입력되는 경우나 네트웍을 통해 전달되는 과정을 의미한다. 가령 사용자에 의해 입력이 되는 경우라면 쿠폰 파일은 그 크기가 매우 제한적이어야 한다. 가령 현재 사용하는 SMS 문자메시지의 범위내라면 더욱 유용할 것이다.
현재 국내에서 사용되고 있는 휴대폰 문자 인증 시스템의 경우, 6자리 인증코드정보를 휴대폰 SMS를 통해 전송하고, 사용자는 이 값을 직접 입력하는 방법을 사용한다. 이 방법은 보안이 뛰어나고, 사용이 편리하므로 현재 널리 사용되고 있다. 따라서 본 발명에서도 비슷한 길이의 데이터를 이용하여 쿠폰으로 활용할 수 있으면 유용할 것이다. 기존의 라이센스 파일은 그 크기가 최소 128-Byte에 이르러 전송 받기도 힘들었으며, 사용자가 직접 전달하는 것은 불가능하였지만, 6자리 인증코드정보와 같은 크기의 쿠폰을 사용한다면 최대 20byte만을 이용하면 되므로 네트웍 부하도 줄일 수 있으며, 사용자에 의한 직접 입력도 가능하다.
쿠폰을 검증하는 단계(370 단계)는 이미 설명한 바와 같이 쿠폰에 포함된 쿠폰인증코등정보를 이용하여 라이센스의 인증코드정보에 의해 그 진정성을 검증하게 된다. 검증방법은 다양한 방법이 적용가능하며, 본 발명에서는 해쉬함수에 의한 검증방법을 보이고 있다. 쿠폰을 통한 사용규칙 검사단계는(380 단계) 라이센스를 통한 사용규칙 검사와 다르지 않다. 다만 본 발명에서는 두 개의 사용규칙이 존재하며, 두개의 정보를 어떤 식으로 결합을 할 것인지가 문제된다. 별도의 파일로 관리하면서 DRM 클라이언트에서 필요한 경우에 접근하여 사용할 수도 있으며, 쿠폰 정보를 라이센스 정보의 일부로 새롭게 라이센스를 갱신하는 방법도 가능하다.
이후에 다시 컨텐츠를 사용하고자 하는 경우에는 이미 저장되어 있는 라이센스와 쿠폰을 이용하여 컨텐츠를 사용할 수 있도록 제어한다. 따라서 상술한 바와 같이 사용자의 요청(310 단계)에 대해 라이센스 서명검사(320 단계) 및 쿠폰인증검사(370 단계)를 실행하고, 라이센스와 쿠폰의 사용규칙정보를 사용자의 사용요청과 비교하여 컨텐츠 실행여부를 판단하고(330, 380 단계), 컨텐츠 복호화키를 생성하여(340 단계) 컨텐츠를 사용할 수 있도록 제어한다(350 단계).
본 발명의 이러한 방법은 특히 네트웍의 사용이 제한적인 환경에서 더욱 유용하다. 네트웍 환경이 좋은 곳에서는 라이센스를 전부 받아오는 것이 어려운 일이 아니나, 네트웍이 좋지 않은 곳에서는 힘들다. 현재 개개인이 개인용 전화단말기를 사용하고 있으므로 네트웍 환경이 좋지 않은 곳에서도 전화단말기의 사용은 용이하다. 따라서 라이센스의 일부를 전화단말기를 통해 전송받아 이용하는 것이 유용하다.
본 발명에서는 라이센스의 일부정보만을 받아 올수 있는 방법을 제공함으로써 이러한 환경에 쉽게 적용할 수가 있다. 특히 사용자가 직접 기기로 라이센스를 입력해야 하므로, 쿠폰은 짧을수록 좋다. 가령 현재 사용하는 SMS 문자메시지의 범위내라면 더욱 유용할 것이다. 현재 국내에서 사용되고 있는 휴대폰 문자 인증 시스템의 경우, 6자리 인증코드정보를 휴대폰 SMS를 통해 전송하고, 사용자는 이 값을 직접 입력하는 방법을 사용한다. 이 방법은 보안이 뛰어나고, 사용이 편리하므로 현재 널리 사용되고 있다. 따라서 본 발명에서도 비슷한 길이의 데이터를 이용하여 쿠폰으로 활용할 수 있으면 유용할 것이다.
도 5는 본 발명의 일 실시예에 따른 본 발명에 따른 컨텐츠를 복호화하기 위한 시스템의 일실시예를 나타내는 도면이다. 본 발명에 따른 컨텐츠를 복호하기 위한 장치는 컨텐츠와 라이센스를 수신하여 저장하는 메모리(510)와 상기 메모리로부터 상기 라이센스와 쿠폰을 읽어 라이센스의 서명을 검증하고 쿠폰을 인증하는 서명검증부(520)와 사용자의 입력과 라이센스 및 쿠폰의 사용규칙정보를 비교하여 컨텐츠 사용요청 응답 여부를 결정하는 제어부(530) 및 컨텐츠를 복호하기 위한 정보 를 추출하여 컨텐츠를 복호하는 컨텐츠 복호화부(540)를 포함한다.
메모리(510)는 하드디스크 드라이브나 플래시 메모리 및 광기록 매체를 포함하며 디지털 정보를 저장하고 읽을 수 있는 임의의 장치를 포함한다. 스트리밍 되는 컨텐츠의 경우에는 별도로 디바이스에 저장하는 것이 불가능한 경우도 있지만, 임시 버퍼에 저장된다고 볼 수 있다. 서명검사부(520)는 라이센스의 서명부분이 진정한 것인지를 검증하게 된다. 이 부분은 주로 디바이스에 포함된 DRM 클라이언트 기능이라고 볼 수 있다. 디바이스에 포함된 DRM 클라이언트는 라이센스를 해석하고 컨텐츠를 복호화하는 기능을 수행하게 된다.
라이센스의 서명부분은 라이센스의 일부분의 합으로 이루어진 것으로 라이센스가 변경되거나 조작되었는지의 여부를 판단할 수 있다. 또한 본 발명에서는 이러한 서명검사부는 쿠폰의 쿠폰인증코드정보가 라이센스에 저장된 인증코드정보에 대해서 진정한 값인지를 판단하게 된다.
본 발명의 일실시예로 해쉬함수를 사용하여 쿠폰인증코드정보의 진정성 여부를 판단하게 된다. 그리고, 제어부(530)는 사용자의 컨텐츠 사용요청이 라이센스의 사용규칙정보나 쿠폰의 쿠폰사용규칙정보의 범위 내인지를 검사하게 된다. 만약에 사용자의 사용요청이 허용범위 내라면 제어부는 사용요청에 맞추어 실행을 계속 진행하게 되며, 사용요청이 허용범위를 벗어나는 경우라면, 실행을 멈추게 된다. 또는 사용요청이 허용범위를 벗어나는 경우 사용자에게 알려주고 쿠폰을 요청하게 된다.
쿠폰을 입력받으면 쿠폰의 검증을 거쳐 사용자의 사용요청과 다시 비교하여 사용여부를 결정하게 된다. 사용자의 사용요청이 사용규칙내라면 복호화부(540)는 라이센스로부터 복호화에 필요한 정보를 추출하고 이를 이용하여 컨텐츠를 복호하기 위한 키 정보를 생성하게 된다. 일반적으로 DRM 시스템에 따라 다른 방법으로 키를 생성하게 되지만, 라이센스의 정보를 이용하여 키를 구해내는 것이 일반적이다. 키를 구해내기 위해서는 일반적으로 디바이스에 안전하게 저장되어 있는 디바이스의 정보나 DRM 클라이언트의 특정의 정보를 함께 이용하게 된다. 이렇게 컨텐츠 복호화 키를 생성하게 되면 이를 이용하여 실제로 컨텐츠를 복호하게 된다. 복호하는 AES와 같은 여러가지 암호화 알고리즘이 사용될 수 있다. 이처럼 복호화된 컨텐츠는 사용자의 요청에 맞도록 실행이 된다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 본 발명을 구현하기 위한 기능적인 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머에 의하여 용이하게 추론될 수 있다.
본 발명의 실시를 위해 상세한 설명을 부가하였으나 본 발명의 기술적 사상 의 범위는 본 실시예에 한정되지 않는다.