KR101857791B1 - 컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법 - Google Patents

컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법 Download PDF

Info

Publication number
KR101857791B1
KR101857791B1 KR1020110087196A KR20110087196A KR101857791B1 KR 101857791 B1 KR101857791 B1 KR 101857791B1 KR 1020110087196 A KR1020110087196 A KR 1020110087196A KR 20110087196 A KR20110087196 A KR 20110087196A KR 101857791 B1 KR101857791 B1 KR 101857791B1
Authority
KR
South Korea
Prior art keywords
data
memory
encrypted
protection technique
decrypted
Prior art date
Application number
KR1020110087196A
Other languages
English (en)
Other versions
KR20130024024A (ko
Inventor
윤석진
신준범
정문규
차병호
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020110087196A priority Critical patent/KR101857791B1/ko
Priority to US13/599,617 priority patent/US9940265B2/en
Priority to CN2012103163637A priority patent/CN103164657A/zh
Publication of KR20130024024A publication Critical patent/KR20130024024A/ko
Application granted granted Critical
Publication of KR101857791B1 publication Critical patent/KR101857791B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명의 일 실시 예에 따르면, 컴퓨팅 시스템의 복수 개의 컴포넌트들이, 서로 간에 데이터를 교환하기 위해 공유하는 메모리; 및 상기 복수 개의 컴포넌트들이, 상기 데이터를 암호화하여, 암호화된 데이터를 상기 메모리에 기록하도록 제어하는 제어부;를 포함한다.

Description

컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법 {IMAGE RECORDING/PLAYING DEVICE AND METHOD, AND RECORDING MEDIUM}
본 발명의 실시 예들은 컴퓨팅 시스템, 및 컴퓨팅 시스템을 동작하기 위한 방법에 관한 것으로서, 더욱 상세하게는 공유 메모리 상에서 데이터를 보호하기 위한 컴퓨팅 시스템, 및 컴퓨팅 시스템을 동작하기 위한 방법에 관한 것이다.
개개의 개발자들이, 컴퓨터 운영체제(Operating System)를 제외한 어플리케이션을 개발하고 등록할 수 있는, 개방형 플랫폼(Open Platform) 환경에서, 컨텐츠를 안전하게 보호할 수 있는 보안 플랫폼(Secure Platform)을 확보할 필요성이 증가하였다.
소스(Source) 디바이스로부터 타깃(Target) 디바이스까지 안전하게 컨텐츠를 제공하기 위해, 디지털 권한 관리(DRM, DIGIAL RIGHTS MANAGEMENT) 또는 링크 보호(Link Protection)와 같은 기존 컨텐츠 보호 기술이 존재한다.
하지만, 기존 컨텐츠 보호기술의 경우, 엔드-투-엔드 보호(End-to-End Protection)까지 고려하지 못한다. 예컨대, DRM이 적용된 AV 컨텐츠가 타깃 디바이스에서 사용되기 전에, DRM이 해제될 때, 그 AV 컨텐츠는 일시적으로 복호화된 상태로 타깃 디바이스에 존재한다. 이때, 외부 공격자가 그 AV 컨텐츠를 불법적으로 복제할 수 있다.
본 발명이 해결하고자 하는 기술적 과제는 공유 메모리 상에서 데이터를 보호하기 위한 컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하는 방법을 제공하는데 있다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시 예에 따르면, 컴퓨팅 시스템의 복수 개의 컴포넌트들이, 서로 간에 데이터를 교환하기 위해 공유하는 메모리; 및 상기 복수 개의 컴포넌트들이, 상기 데이터를 암호화하여, 암호화된 데이터를 상기 메모리에 기록하도록 제어하는 제어부;를 포함한다.
본 발명의 일 실시 예에 따르면, 상기 복수 개의 컴포넌트들의 각각은, 상기 암호화된 데이터를 판독하여 복호화하고, 상기 복호화된 데이터를 사용하도록 구성된다.
본 발명의 일 실시 예에 따르면, 상기 제어부는, 상기 복수 개의 컴포넌트들 중 제1 컴포넌트로부터, 상기 메모리를 경유하여 상기 복수 개의 컴포넌트들 중 제2 컴포넌트로, 데이터가 전송되는 때, 상기 제1 컴포넌트가 상기 복호화된 데이터를 재암호화하고; 상기 재암호화된 데이터를 상기 메모리에 기록하도록 제어 한다.
본 발명의 일 실시 예에 따르면, 상기 복수 개의 컴포넌트들은, 서로 간에 교환되는 데이터를 암호화 및 복호화하기 위한 제1 보호기술을 공유한다.
본 발명의 일 실시 예에 따르면, 상기 제어부는 상기 제1 보호기술에 의해 정의되는 헤더 및 페이로드로 구성된 데이터구조를 생성한다.
본 발명의 일 실시 예에 따르면, 상기 헤더는, 상기 제1 보호기술에 의해 암호화 또는 복호화되는 데이터의 범위를 나타내는 정보를 포함한다.
본 발명의 일 실시 예에 따르면, 상기 제어부는, 상기 정보에 기초하여, 상기 제1 보호기술에 의해 암호화 또는 복호화가 적용 또는 비적용되는, 상기 페이로드의 특정 영역을 식별한다.
본 발명의 일 실시 예에 따르면, 상기 복수 개의 컴포넌트들은, 외부 장치에 의해 제2 보호기술로 암호화된 데이터를 복호화하는 보안부; 및, 데이터 표시를 제어하는 표시제어부;를 포함하며, 상기 제어부는, 상기 메모리가, 상기 제2 보호기술로 암호화된 데이터를 기록하고; 상기 보안부가, 상기 메모리로부터, 상기 제2 보호기술로 암호화된 데이터를 판독하여 복호화하고, 상기 복호화된 데이터를 상기 제1 보호기술로 암호화하여 상기 메모리에 기록하고; 상기 표시제어부가, 상기 메모리로부터, 상기 제1 보호기술로 암호화된 데이터를 판독하여 복호화하도록 제어한다.
본 발명의 일 실시 예에 따르면, 상기 표시 제어부는, 상기 데이터를 인코딩 및 디코딩하는 코덱부; 및 상기 데이터를 렌더링하는 렌더링부;를 포함하고, 상기 제어부는,상기 코덱부가, 상기 메모리로부터, 상기 제1 보호기술로 암호화된 데이터를 판독하여 복호화하고, 상기 복호화된 데이터를 디코딩하고, 상기 디코딩된 데이터를 상기 제1 보호기술로 재암호화하여 상기 메모리에 기록하고; 상기 렌더링부가, 상기 메모리로부터, 상기 제1 보호기술로 재암호화된 데이터를 재복호화하고, 상기 재복호화된 데이터를 렌더링하고, 상기 렌더링된 데이터를 표시부에 출력하도록 제어한다.
본 발명의 일 실시 예에 따르면, 상기 제2 보호기술은, DRM(Digital Rights Management)을 포함한다.
본 발명의 일 실시 예에 따르면, 상기 컴퓨팅 시스템은, 디지털텔레비전(DTV), 스마트폰, 블루레이 디스크(BD), 및 디지털셋톱박스(STB) 중 적어도 하나를 포함한다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 다른 실시 예에 따르면, 컴퓨팅 시스템의 복수 개의 컴포넌트들이 서로 간에 데이터를 교환하기 위해 메모리를 공유할 때, 상기 데이터를 암호화하는 단계; 및 상기 암호화된 데이터를 상기 메모리에 기록하는 단계;를 포함하는 컴퓨팅 시스템을 동작하기 위한 방법을 제공한다.
본 발명의 다른 실시 예에 따르면, 상기 방법은, 상기 메모리로부터, 상기 암호화된 데이터를 판독하여 복호화하는 단계; 및, 상기 복호화된 데이터를 사용하는 단계를 더 포함한다.
본 발명의 다른 실시 예에 따르면, 상기 복수 개의 컴포넌트들 중 제1 컴포넌트로부터, 상기 메모리를 경유하여 상기 복수 개의 컴포넌트들 중 제2 컴포넌트로, 데이터가 전송되는 때, 상기 복호화된 데이터를 재암호화하는 단계; 및, 상기 재암호화된 데이터를 상기 메모리에 기록하도록 하는 단계;를 포함한다.
본 발명의 다른 실시 예에 따르면, 상기 복수 개의 컴포넌트들은, 서로 간에 교환되는 데이터를 암호화 및 복호화하기 위한 제1 보호기술을 공유한다.
본 발명의 다른 실시 예에 따르면, 상기 제1 보호기술에 의해 정의되는, 헤더 및 페이로드로 구성된 데이터구조를 생성하는 단계를 포함한다.
본 발명의 다른 실시 예에 따르면, 상기 헤더는, 상기 제1 보호기술에 의해 암호화 또는 복호화되는 데이터의 범위를 나타내는 정보를 포함한다.
본 발명의 다른 실시 예에 따르면, 상기 정보에 기초하여, 상기 제1 보호기술에 의해 암호화 또는 복호화가 적용 또는 비적용되는, 상기 페이로드의 특정 영역을 식별하는 단계를 포함한다.
본 발명의 다른 실시 예에 따르면, 상기 기록 단계는, 외부 장치에 의해 제2 보호기술로 암호화된 데이터를 상기 메모리에 기록하는 단계를 포함하고, 상기 복호화 단계는, 상기 메모리로부터, 상기 제2 보호기술로 암호화된 데이터를 판독하여 복호화하는 단계를 포함하고, 상기 암호화 단계는, 상기 복호화된 데이터를 상기 제1 보호기술로 암호화하는 단계를 포함하고, 상기 기록 단계는, 상기 제1 보호기술로 암호화된 데이터를 상기 메모리에 기록하는 단계를 더 포함하고, 상기 복호화 단계는, 상기 메모리로부터, 상기 제1 보호기술로 암호화된 데이터를 판독하여 복호화하는 단계를 더 포함한다.
본 발명의 다른 실시 예에 따르면, 상기 제2 보호기술은, DRM(Digital Rights Management)을 포함한다.
도 1은 본 발명의 일 실시 예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 2는, 본원 발명의 일 실시 예에 따른 컴퓨팅 시스템의 동작을 개략적으로 나타낸 도면이다.
도 3은, 본 발명의 일 실시 예에 따른 컴퓨팅 시스템의 동작을 구체적으로 나타낸 도면이다.
도 4a 및 도 4b는 본 발명의 일실시 예에 따른 데이터구조를 나타낸 도면이다.
도 5a 및 도 5b는, 본원발명의 일 실시 예에 따라, 상용 DRM이 해제된 후, 데이터가 렌더링 되기 전까지의 패스(path) 상에서 보호되는 데이터구조를 나타낸 도면이다.
도 6은, 본 발명의 일실시 예에 따라 컴퓨팅 시스템을 동작하기 위한 방법을 나타낸 도면이다.
하기의 설명 및 첨부된 도면은 본 발명에 따른 동작을 이해하기 위한 것이며, 본 기술 분야의 통상의 기술자가 용이하게 구현할 수 있는 부분은 생략될 수 있다.
또한 본 명세서 및 도면은 본 발명을 제한하기 위한 목적으로 제공된 것은 아니고, 본 발명의 범위는 청구의 범위에 의하여 정해져야 한다. 본 명세서에서 사용된 용어들은 본 발명을 가장 적절하게 표현할 수 있도록 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
이하 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명한다.
도 1은 본 발명의 일 실시 예에 따른 컴퓨팅 시스템(100)을 나타내는 블록도이다.
도 1을 참조하면, 본 발명에 따른 컴퓨팅 시스템(100)은, 프로세서(110) 및 메모리(120)를 포함한다.
프로세서(110) 또는 어플리케이션 프로세서(110)는, 제어부(130) 및 컴퓨팅 시스템(100)의 컴포넌트들(140, 150)을 포함한다.
컴퓨팅 시스템(100)의 컴포넌트들(140, 150)은, 그래픽 처리 장치 (GPU, Graphic Processing Unit)의 기능을 수행한다. 설명의 편의를 위하여, 제1 컴포넌트(140) 및 제2 컴포넌트(150) 만을 도시하였다. 하지만, 기능 블록 단위로 나뉜 2 이상의 컴포넌트들이 존재할 수 있고, 다양한 기능을 수행하는 하나의 컴포넌트로 통합될 수 있음은 이 기술 분야의 통상의 지식을 가진 자에게 자명하다.
메모리(120)는, 컴퓨팅 시스템(100)의 컴포넌트들이, 서로 간에 데이터를 교환하기 위해 공유하는 공유 로컬 메모리(120)(Shared Local Memory)이다. 본 발명에 따른 메모리(120)의 예로서, DDR (Double Data Rate) 메모리(120)가 있지만, 이에 한정되는 것은 아니다.
제어부(130)는, 컴퓨팅 시스템(100) 전체를 제어하는 장치로서, 다양한 입력장치로부터 자료를 받아서 처리한 후 그 결과를 출력장치로 보내는 일련의 과정을 제어하고 조정하는 일을 수행한다. 즉, 제어부(130)는, 호스트 CPU의 역할을 수행한다. 본 발명의 일 실시 예에 따른 제어부(130)의 동작을 간략히 설명하면, 다음과 같다.
우선, 제1 컴포넌트(140)의 제1 데이터는, 복호화된 상태의 데이터이다.
이때, 제1 컴포넌트(140)의 제1 데이터가 제1 컴포넌트(140)에서 소비되거나, 외부 디바이스로 출력되지 않고, 메모리(120)를 경유하여, 제2 컴포넌트(150)로 전송되어야 한다고 가정한다.
이런 경우, 제어부(130)는, 제1 컴포넌트(140)로 하여금, 본원발명에 따른 보호기술을 제1 데이터에 적용하여, 암호화 상태인 제2 데이터를 생성하도록 제어한다. 본원발명에 따른 보호기술은, 컴퓨팅 시스템(100) 내부에서 데이터를 보호하도록 컴포넌트 상호 간에 약속한 일정 암호화/복호화 기술이고, 이하 '제1 보호기술'로 지칭한다. 이때, 본 발명에 따른 일실시 예로서, 제1 컴포넌트(140) 및 제2 컴포넌트(150)는 제1 보호기술을 적용 또는 해제하기 위한, 공유키를 공유할 수 있다.
제1 보호기술은 DRM 등 외부 보호기술과는 달리, 전체 데이터에 대해 암호화를 수행하는 것이 아니라, 데이터의 페이로드의 지정된 영역에 암호화/복호화를 수행한다. 제1 보호기술을 적용하기 위한 데이터구조에 대해서는 도 4a 및 도 4b를 참조하여, 후술한다.
다음에, 제어부(130)는, 제1 컴포넌트(140)로부터 메모리(120)로 제2 데이터를 전송한다.
다음에, 제어부(130)는, 메모리(120)로부터 제2 컴포넌트(150)로 제2 데이터를 전송한다.
제2 컴포넌트(150)는, 제1 보호기술을 해제한 복호화 상태의 제1 데이터를 생성한다. 제2 컴포넌트(150)는, 생성된 제1 데이터에 고유 데이터 프로세싱 기능을 수행한다. 예컨대, 제2 컴포넌트(150)가 렌더러이면, 제1 데이터에 렌더링을 수행하여, 표시부 (미도시)로 출력할 수 있다.
도 2는, 본원 발명의 일 실시 예에 따른 컴퓨팅 시스템(100a)의 동작을 개략적으로 나타낸 도면이다.
본원발명에 따른 컴퓨팅 시스템(100a)은, 메모리(120a), 제어부(130a), 보안부(140a), 및 표시제어부(150a)를 포함한다. 설명의 편의를 위하여, 컴퓨팅 시스템(100a)의 컴포넌트들로서, 보안부(140a) 및 표시제어부(150a) 만을 예를 들었지만, GPU 기능을 수행하는 다양한 컴포넌트들을 포함할 수 있음은 이 기술 분야의 숙련된 기술을 가진 자에게 자명하다.
제어부(130a)는, 소스(Source) 디바이스(미도시)로부터 DRM 암호화된 데이터를 수신하여 메모리(120a)에 저장한다. 외부 보호기술로, DRM을 예로 들었지만, 신뢰성이 보장되는 디바이스에 한해 디지털 컨텐츠의 전송을 허락하는 DTCP(Digital Transmission Content Protection), HDCP(High Bandwidth Digital Content Protection) 등, 이 기술 분야의 통상의 지식을 가진 자에게 알려진 다양한 링크보호기술을 포함할 수 있다.
다음에, 제어부(130a)는, DRM 암호화된 데이터를 메모리(120a)로부터 보안부(140a)(Security Subsytem)로 전송한다. 보안부(140a)는, DRM 암호화된 데이터의 DRM을 복호화한다. 다음에, 보안부(140a)는, DRM 복호화된 데이터를, 제1 보호기술로 재암호화하여 재암호화된 데이터를 생성한다. 이때 데이터는, 바람직하게는, AV(Audio/Video) 데이터이지만 이에 한정되는 것은 아니다.
다음에, 제어부(130a)는, 보안부(140a)로부터, 재암호화된 데이터를 메모리(120)로 전송한다.
따라서, 메모리(120a)에서, DRM이 복호화되었지만, 제1 보호기술에 의해 재암호화된 데이터가 존재하므로, 외부 악성코드(Malware)가 메모리(120a)에 액세스해서, 데이터를 캡쳐하더라도 불법적 이용이 불가능하다.
그 결과, 종래에, AV 프로세싱 과정에서, DRM이 복호화되어, 일시적으로 노출된 데이터에 대한 외부 악성코드의 공격 가능성을 배제할 수 있다.
다음에, 제어부(130a)는, 메모리(120a)로부터 표시제어부(150a)로, 재암호화된 데이터를 전송한다.
표시제어부(150a)는 재암호화된 데이터를 복호화하고, 복호화된 데이터를 디코딩하고, 디코딩된 데이터를 렌더링하여 표시부(미도시)로 출력한다.
결과적으로, 본원발명의 일 실시 예에 따른 컴퓨팅 시스템(100)은 다음과 같은 효과를 갖는다.
첫째, 복잡한 가상화(Virtualization) 기술이나, 보안 환경(Secure Environment)을 확보하기 위해 헤비(heavy)한 하드웨어 추가 없이, 간단한 방법으로 데이터 보호 가능하다.
둘째, 하드웨어 기반의 엔드-투-엔드 컨텐츠 보호를 제공한다. 따라서, 소프트웨어 솔루션(S/W solution) 기반의 컨텐츠 보호기술에 대한 의존성을 탈피할 수 있다. 또한, 상용(commercial) DRM이 해제되는 순간부터 제1 보호기술이 적용되어, 렌더링 직전에 해제된다.
셋째, 메모리(120)에 저장될 때 보호가 필요한 데이터는 제1 보호기술에 의해 암호화된다. 따라서, 제어부(130)에 존재하는 악성 코드들이, 내부 메모리(120)에 액세스해서, 데이터를 불법 카피하더라도 데이터 재생은 불가능하다.
넷째, 기존 사용 컨텐츠 보호 기술들과 접목해서 보안 레벨을 높일 수 있다. 예컨대, 상용(Commercial) DRM 솔루션(solution)과의 통합 설계가 용이하다. 즉, 상용 DRM에 의존하지 않고, 제1 보호기술을 메모리(120)에 적용하므로, 상용 DRM 솔루션과의 통합 설계가 용이하다.
다섯째, 프리미엄 컨텐츠 유통 시장이 확대되는 상황에서, 예컨대 1080p인 고화질 AV 컨텐츠를 확보할 수 있는 가능성이 증가된다.
또한, 본 발명에 따른 컴퓨팅 시스템(100)은, 모바일 디바이스에서 프리미엄 컨텐츠 스트리밍(Premium Content Streaming) 서비스, IPTV, 스마트 TV에서의 프리미엄 컨텐츠 스트리밍 서비스, STB에서의 프리미엄 컨텐츠 스트리밍 서비스에 이용가능할 수 있다.
도 3은, 본 발명의 일 실시 예에 따른 컴퓨팅 시스템(100b)의 동작을 구체적으로 나타낸 도면이다.
도 3을 참조하면, 제어부(130b), 보안부(140b), 렌더링부(350), 및 코덱부(340)는, 메모리(120b)를 통해 데이터를 공유하면서, 개개의 기능(function)을 수행해 의도한 데이터 프로세싱을 수행한다.
설명의 편의를 위하여, 컴퓨팅 시스템(100b)의 컴포넌트들로서, 보안부(140b), 렌더링부(350), 및 코덱부(340) 만을 예를 들었지만, GPU 기능을 수행하는 다양한 컴포넌트들을 포함할 수 있음은 이 기술 분야의 숙련된 기술을 가진 자에게 자명하다.
제어부(130b)를 제외한 컴퓨팅 시스템(100b)의 컴포넌트들, 즉 메모리(120b), 보안부(140b), 렌더링부(350), 및 코덱부(340)는, 제1 보호기술이 구현되어 있다.
제1 보호기술이 적용된 데이터구조(320, 320a, 330, 330a)는, 빗금무늬 및 도트무늬 표현되었고, 동일 무늬는 동일한 보호 파라미터를 갖고 있고, 서로 다른 무늬는 서로 다른 보호 파라미터를 가지고 있음을 의미한다. 본원발명의 명세서에서, 보호, 크립토(Crypto), 암호화/복호화는 동일한 의미로 혼용된다.
또한, 도 3에서, 'Crypto'는 본원발명에 따른 암호화/복호화를 수행하는 크립토 엔진(Crypto Engine)을 지칭한다. 'Crypto' 하단에 표시된 'Enc' 또는 'Dec'는 크립토 엔진이 수행하는 암호화 또는 복호화 기능을 의미한다. 본원발명의 일실시 예에 있어서, 크립토 엔진은 상대적으로 사이즈가 작고 빠른 스피드를 가진 엔진으로 구현할 수 있다.
제어부(130b)는, 제1 보호기술을 데이터에 적용하기 위해, 헤더 및 페이로드로 구성된 데이터구조를 생성하고, 패킷화(Packetization)하는 역할을 수행한다.
메모리(120b) 내의 데이터구조 내의 번호(①, ②, ③, ④)는 도 3에서 해당 데이터구조에 액세스하는 컴퓨팅 시스템(100b)의 컴포넌트 번호를 의미한다.
즉, 데이터구조 310는, 제어부(130b) 및 보안부(140b)가 액세스한다. 데이터구조 320는, 제어부(130b), 보안부(140b), 및 코덱부(340)가 액세스한다. 또한, 데이터구조 330는, 제어부(130b), 코덱부(340), 및 렌더링부(350)가 액세스한다.
우선, 제어부(130b)가 DRM으로 암호화된 데이터구조 310를 메모리(120b)에 저장한다.
다음에, 제어부(130b)가, 메모리(120b)로부터 보안부(140b)로, DRM으로 암호화된 데이터구조 310를 전송한다.
다음에, 보안부(140b)가, DRM으로 암호화된 데이터구조 310를 복호화하고, DRM 복호화된 데이터구조 310a를 제1 보호파라미터로 재암호화화여 재암호화된 데이터구조 320를 생성한다.
다음에, 제어부(130)가 보안부(140b)로부터 메모리(120b)로, 제1 보호파라미터로 재암호화된 데이터구조 320를 전송한다.
다음에, 제어부(130)는 메모리(120b)로부터 코덱부(340)로, 제1 보호파라미터로 재암호화된 데이터구조 320를 전송한다.
다음에, 코덱부(340)는, 제1보호파라미터로 재암호화된 데이터구조 320를 복호화한다. 코덱부(340)는, 복호화된 데이터구조 320a를 디코딩하고, 제2보호파라미터로 재암호화하여 데이터구조 330를 생성한다.
다음에, 제어부(130b)가, 코덱부(340)로부터 메모리(120b)로, 제2보호파라미터로 재암호화된 데이터구조 330를 전송한다.
다음에, 제어부(130)가, 제2보호파라미터로 재암호화된 데이터구조 330를 렌더링부(350)로 전송한다. 렌더링부(350)는 제2 보호파라미터로 재암호화된 데이터구조 330를 복호화한다. 렌더링부(350)는, 복호화된 데이터구조 330a를 렌더링하고, 표시부(360)로 출력한다.
도 4a 및 도 4b를 참조하여, 본원 발명에서 제1 보호기술을 적용하기 위해 정의된 데이터구조에 대해 설명한다.
우선 본원발명에서 제1 보호기술을 적용하기 위해 정의된 데이터구조는, 암호화/복호화 헤더(Enc/Dec Header) 및 암호화/복호화 페이로드(Enc/Dec payload)로 구성된다.
암호화/복호화 페이로드는 ES(Elementry Stream) 헤더와 PES(Packetized Elementry Stream) 페이로드로 구성된다. 본원발명의 명세서에서, '헤더'와 '페이로드'는, 제1 보호기술에 의해 만들어지는 암호화/복호화 헤더(Enc/Dec Header) 와 암호화/복호화 페이로드(Enc/Dec payload)를 의미한다. PES는 하나의 실시 예일 뿐, 본 발명이 이에 한정되는 것은 아니고 다른 전송 프로토콜 패킷 타입(transport protocol packet type)이 될 수 있다
ES(Elementry Stream) 헤더는, 코덱(Codec)에서 원본 AV 데이터를 압축할 때 만들어 지는 헤더로서, 상위 AV 프로토콜(Protocol)에서 생성되는 부분이다. 이 ES 패킷(Packet)을 전송하기 위해서, avi, mp2, wma 등과 같은 AV 컨테이너(container)를 사용할 수 있다. 부분이다.
예컨대, ES(Elementry Stream) 헤더는, 렌더링(Rendering)하기 위해 필요한 정보들이므로, 제1보호기술에 의해 암호화 하지 않고 플레인 텍스트(Plain Text)로 남겨둔다.
ES 헤더는 상위 레이어(Upper Layer)에서 만들어지는 것이고, 제1 보호기술에 의해 컨트롤할 수 없는 부분이다. 반면에, 암호화/복호화 헤더(Enc/Dec Header)는 본원발명의 제1 보호기술에 의해 만들어지는 것이다.
도 4a를 참조하면, 페이로드에서, 도트무늬 부분은, 암호화된 데이터 세그먼트를 나타낸다. 그리고, 빗금패턴 부분은, 미스얼라인(mis-align)되는 경우, 최종 블록을 위해 비암호화된 부분이다.
우선, 설명에 앞서, 본원발명에서 정의된 데이터구조의 두 가지 기능에 대해 설명한다.
첫 번째 기능은, 데이터구조의 헤더는, 제1 보호기술에 의한 암호화/복호화를 수행하는 데 있어, 암호화/복호화의 범위를 나타내기 위한 관련 정보를 포함한다.
두 번째 기능은, 본 발명에서 블록 암호화/복호화를 적용 하면서, 128 bit 얼라이먼트(alignment)가 맞지 않는 경우가 반드시 생긴다. 참고로, 블록 암호화의 특징이, 항상 고정 길이의 입력 만을 받을 수 있다는 것이다. 그 미스-얼라이먼트(mis-alignment)되는 마지막 데이터 부분에 대해서 암호화를 적용하지 않게 된다. 이런 경우, 데이터구조의 헤더는, 어디서부터 암호화/복호화를 적용하지 않아야 될지에 대한 위치 정보를 포함한다.
도 4a 및 도 4b를 참조하여, 상기 설명한 두 가지 기능을 수행하는 본원발명의 데이터구조의 일 실시 예에 대해 살펴본다.
우선, 도 4a를 참조하여, 데이터구조의 첫 번째 기능에 대해 설명한다.
'Len' 는, 본원 발명에서 정의한 데이터구조(data structure)의 페이로드 길이(payload length)를 나타낸다.
'A/V'는, 페이로드(payload)가 오디오 데이터(audio data)인지 비디오 데이터(video data)인지 나타내는 식별자를 나타낸다.
'ULH IDC'는, 페이로드(payload) 내에 암호화/복호화가 적용되서는 안 되는 상위 레이어 헤더(Upper layer header)들이 존재하는지에 대한 식별자를 나타낸다.
'ULH Len'는, 페이로드(payload) 내에 암호화/복호화가 적용되서는 안되는 상위 레이어 헤더(Upper layer header)들이 존재한다면, 암호화/복호화를 적용하지 말아야 하는 부분의 범위(길이)를 나타낸다.
도 4a 및 도 4b를 참조하여, 데이터구조의 두 번째 기능에 설명하면 다음과 같다.
'St.Ctr'는 페이로드(payload)의 첫 번째 카운터(CTR, counter) 번호로, 암호화/복호화시, 입력으로 사용된다.
크립토 엔진(도 3 참조)의 입력으로서, 키(key) 값뿐만이 아니라, 카운터 값(counter value)까지 추가함으로써 데이터 보호 기능이 강해진다
'# of MA offset'은 St. Ctr로부터 미스얼라인(misalign)으로 인해, 암호화/복호화를 적용해서는 안 되는 블록이 전체 페이로드 중에서 몇 군데가 존재하는지 그 개수를 나타낸다. 예컨대, 본원발명에서, 미스얼라인은, 암호화/복호화 대상이 128 bit로 딱 안 떨어지는 것을 의미할 수 있지만, 이에 제한되는 것은 아니다.
예컨대, 도 4b를 참조하면, # of MA offset==3인데, ES(Elementry Stream) 헤더(header)를 제외하고 흰 부분이 세 군데(21, 26, 30)가 있는 것을 확인할 수 있다. 흰 부분(21, 26, 30)이 암호화/복호화가 적용되서는 안 되는 부분이다.
'MaCtr/Valid'에서, 'MaCtr'의 값과 'St.Ctr'의 값을 더하여, 미스얼라인(misalign)된 위치 추적 가능하다.
즉, 미스얼라인된 위치 = St.Ctr + MaCtr
예컨대, 도 4b를 참조하면, 미스얼라인(misalign)된 위치 21, 26, 30은 각각 18+3, 18+8, 18+12를 계산해서, 위치 추적 가능하다.
'Valid'는 계산된 MaCtr 블록에서 몇 byte가 암복호화 적용되지 않는지 나타낸다.
예컨대, 도 4b를 참조하면, 미스얼라인 위치 21에 valid가 1이라고 한 것의 의미는 1byte만 암호화/복호화가 적용하지 않는다는 것을 나타낸다. 마찬가지로, 미스얼라인 위치 26의 경우, 8byte가 암호화/복호화가 적용하지 않고, 미스얼라인 위치 30의 경우, 6 byte가 암복호화 적용되지 않는다는 뜻이다. 미스얼라인된 위치 21, 26, 30에서, 흰 색 부분의 길이가 다른 것은 그 부분만큼 암호화/복호화가 적용하지 않았다는 것을 나타낸다.
도 5a 및 도 5b는, 본원발명의 일 실시 예에 따라, 상용 DRM이 해제된 후, 데이터가 렌더링 되기 전까지의 패스 상에서 보호되는 데이터의 구조를 나타내는 도면이다. 도 5a 및 도 5b는 도 4a의 데이터구조를 기반으로 한다.
도 5a를 참조하면, 데이터구조 510은, 상용 DRM에 의해 암호화된 데이터구조이다.
데이터구조 520은, 상용 DRM 복호화기(decrypter)에 의해 DRM 복호화된 데이터구조이다.
데이터구조 530은, UL_HDR 파서(Upper Layer Header Parser) & 제1암호화기(525)에 의해, 데이터구조 520의 헤더정보가 파싱되고, 상기 헤더정보에 의해 지정된 암호화 범위의 페이로드에 제1 암호화가 수행된 데이터구조이다.
예컨대, 데이터구조 530에서, 가장 오른쪽 데이터구조 헤더를 참조하면, MA offset==1인데, ES(Elementry Stream) 헤더(header)를 제외하고 흰 부분이 1 군데 있는 것을 확인할 수 있다. 흰 부분이 암호화가 적용돼서는 안 되는 부분이다.
또한, 미스얼라인(misalign)된 위치 = St.Ctr + MaCtr = 18+4 = 22이다.
Valid=8이므로, 계산된 MaCtr 블록에서 8 byte가 암호화/복호화가 적용되지 않는다.
보안부(140)는, DRM 복호화기(515), 및 UL_HDR 파서(UL_HDR Parser) & 제1 암호화기(525)를 포함할 수 있다.
데이터구조 540은, 데이터구조 530의 헤더 패킷 및 페이로드 패킷을 집합(aggreation)이 집합된 데이터구조다. 예컨대, AV 디코딩(Decoding)하기 전에 PES 패킷들을 모아서 하나의 ES 패킷(Packet)으로 만들어 주기 위해서 , 제어부(도 3, 130b)의 MP(Media Player)가 PES 패킷들을 합치게 된다. 
송신 쪽에서 ES 패킷을 보내기 위해서 ES 패킷을 잘게 나눌 경우에, 잘게 나눈 패킷을 디코딩(decoding)하기 전에 다시 합쳐줘야 한다. 따라서 만약 송신 쪽에서 ES 패킷을 쪼개지 않고 그대로 암호화해서 보내면, 생략 될 수도 있는 데이터구조이다. 데이터구조 550는, UL_HDR 파서 & 제1복호화기(545)에 의해, 데이터구조 540의 헤더정보가 파싱되고, 헤더정보에 의해 지정된 복호화 범위의 페이로드에, 제1 복호화가 수행된 데이터구조이다.
도 5b를 참조하면, 데이터구조 560는, 디코더(555)에 의해 데이터구조 550에 디코딩을 수행된 데이터구조이다.
데이터구조 570는, 제2 암호화기(565)에 의해, 데이터구조 560의 헤더정보에 의해 지정된 암호화 범위의 페이로드에 제2 인코딩이 수행된 데이터구조이다.
코덱부(340)는, UL_HDR 파서 & 제1복호화기(545), 및 디코더(555)를 포함할 수 있다.
데이터구조 580는, 제2 복호화기(575)에 의해, 데이터구조 570에 제2 복호화가 수행된 데이터구조이다.
복호화된 데이터구조 820은 렌더링된 후 표시부(360a)에 출력된다.
렌더링부(350)는, 제2 복호화기(575) 및 렌더러(575)를 포함할 수 있다.
도 6은, 본 발명의 일실시 예에 따라 컴퓨팅 시스템(100)을 동작하기 위한 방법을 나타낸 도면이다. 도 1을 참조하여, 설명한 컴퓨팅 시스템(100)의 동작과 동일하므로 설명을 간략히 한다.
단계 610에서, 컴퓨팅 시스템(100)의 컴포넌트들이 서로 간에 데이터를 교환하기 위해 메모리(120)를 공유할 때, 제어부(130)는 상기 컴포넌트들이 데이터를 암호화하도록 제어한다. 예컨대, 제1 컴포넌트로부터, 메모리(120)를 경유하여 제2 컴포넌트(150)로, 데이터가 전송되는 때, 제어부(130)는 제1 컴포넌트로 하여금 복호화된 데이터를 암호화하도록 제어한다.
단계 620에서, 제어부(130)는, 상기 컴포넌트들이 상기 암호화된 데이터를 상기 메모리(120)에 기록하도록 제어한다. 예컨대, 제어부(130)는, 상기 제1 컴포넌트로 하여금, 암호화된 데이터를 메모리(120)에 기록하도록 제어한다.
다음은, 도 2 내지 4a를 참조하여, 본 발명의 하나의 시나리오에 따른 컴퓨팅 시스템(100)의 공유 메모리(120) 상에서 데이터를 보호하기 위한 방법을 설명한다. 컴퓨팅 시스템(100)의 바람직한 예로서, 디스플레이 디바이스를 들 수 있다. 이하, 본 발명의 시나리오에 따른 데이터구조는, 도 4a 형태의 데이터구조를 지칭한다.
컴퓨팅 시스템(100)은, 소스 디바이스(미도시)와 상호 약속된 컨텐츠 보호기술(이하, 외부 보호기술)을 통해 안전하게 전달받은 암호화된 데이터를 자신의 공유 로컬 메모리(120)에 저장한다.
다음에, 제어부(130)는, 외부 보호기술을 해제하기 전에, 데이터구조를 생성하고, 데이터구조의 페이로드를 외부 보호기술을 해제한 데이터로 채운다.
다음에, 제어부(130)는, 보안부(140a)로 하여금, 외부 보호기술을 해제하도록 하고, 데이터구조의 패킷화(Packtization)를 수행한다. 보안부(140a)는, 데이터구조의 헤더정보에 기초하여, 암호화/복호화를 수행한다.
다음에, 제어부(130)에서 동작하는 MD(Media Player)는 보안부(140a)로부터 회수된 데이터구조의 페이로드에 대해 디코딩을 위한 디먹스(Demux)를 수행한다.
데이터구조에서 암호화되는 페이로드의 내용 중, 참조가 필요한 부분은 암호화되지 않도록 설계가 되어 있기 때문에, 디먹스(Demux) 작업을 하는데 문제가 없지만, 나머지 페이로드에 대해서는 페이로드 자체가 암호화되어 있기 때문에, 외부 공격으로부터 안전하다.
미디어 플레이어는 코덱부(340)를 호출한다.
코덱부(340)는, 암호화된 데이터구조를 복호화하고, 복호화된 데이터구조에 디코딩 작업을 수행한다.
디코딩 작업 후, 로컬 메모리(120)에 쓰기 직전에, 코덱부(340)는, 제1 보호기술을 적용해 디코딩된 데이터구조를 암호화하고, 암호화된 데이터구조를 로컬 메모리(120)에 기록한다.
미디어 플레이어는, 렌더링부(350)를 호출한다.
렌더링부(350)는, 암호화된 데이터구조를 복호화하고, 렌더링 작업을 수행한다.
한편, 본 발명은 컴퓨터 판독가능 저장매체에 컴퓨터가 판독 가능한 코드를 저장하여 구현하는 것이 가능하다. 상기 컴퓨터 판독가능 저장매체는 컴퓨터 시스템에 의하여 판독될 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다.
상기 컴퓨터가 판독 가능한 코드는, 상기 컴퓨터 판독가능 저장매체로부터 프로세서에 의하여 독출되어 실행될 때, 본 발명에 따른 영상 기록 재생 방법을 구현하는 단계들을 수행하도록 구성된다. 상기 컴퓨터가 판독 가능한 코드는 다양한 프로그래밍 언어들로 구현될 수 있다. 그리고 본 발명의 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 통상의 기술자들에 의하여 용이하게 프로그래밍될 수 있다.
컴퓨터 판독가능 저장매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 또는 SSD, FlashMemory 등이 있으며, 또한 반송파(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터 판독가능 저장매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행되는 것도 가능하다.
이제까지 본 발명에 대하여 바람직한 실시 예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다. 그러므로 상기 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 특허청구범위에 의해 청구된 발명 및 청구된 발명과 균등한 발명들은 본 발명에 포함된 것으로 해석되어야 한다.

Claims (20)

  1. 컴퓨팅 시스템의 복수 개의 컴포넌트들이, 서로 간에 데이터를 교환하기 위해 공유하는 메모리; 및
    상기 복수 개의 컴포넌트들이, 상기 데이터를 암호화하여, 암호화된 데이터를 상기 메모리에 기록하도록 제어하고, 제1보호 기술을 이용하여 암호화 또는 복호화되는 페이로드의 범위를 나타내는 제1정보를 생성하고, 암호화 또는 복호화가 비 적용되는 페이로드의 소정 영역의 위치를 나타내는 제2정보를 생성하고, 상기 제1정보에 기반하여, 암호화 또는 복호화가 적용되는 상기 페이로드의 범위를 식별하고, 상기 제2정보에 기반하여 암호화 또는 복호화가 비 적용되는 상기 페이로드의 영역을 식별하는 제어부;를 포함하는 컴퓨팅 시스템.
  2. 제1항에 있어서,
    상기 복수 개의 컴포넌트들의 각각은, 상기 암호화된 데이터를 판독하여 복호화하고, 상기 복호화된 데이터를 사용하도록 구성된 것을 특징으로 하는 컴퓨팅 시스템.
  3. 제2항에 있어서, 상기 제어부는,
    상기 복수 개의 컴포넌트들 중 제1 컴포넌트로부터, 상기 메모리를 경유하여 상기 복수 개의 컴포넌트들 중 제2 컴포넌트로, 데이터가 전송되는 때, 상기 제1 컴포넌트가 상기 복호화된 데이터를 재암호화하고;
    상기 재암호화된 데이터를 상기 메모리에 기록하도록 제어하는 것을 특징으로 하는 컴퓨팅 시스템.
  4. 제2항에 있어서,
    상기 복수 개의 컴포넌트들은, 서로 간에 교환되는 데이터를 암호화 및 복호화하기 위한 제1 보호기술을 공유하는 것을 특징으로 하는 컴퓨팅 시스템.
  5. 제4항에 있어서, 상기 제어부는,
    상기 제1 보호기술에 의해 정의되는 헤더 및 페이로드로 구성된 데이터구조를 생성하는 것을 특징으로 하는 컴퓨팅 시스템.
  6. 제5항에 있어서,
    상기 헤더는, 상기 제1 보호기술에 의해 암호화 또는 복호화되는 데이터의 범위를 나타내는 정보를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  7. 삭제
  8. 제4항에 있어서,
    상기 복수 개의 컴포넌트들은,
    외부 장치에 의해 제2 보호기술로 암호화된 데이터를 복호화하는 보안부; 및,
    데이터 표시를 제어하는 표시제어부;를 포함하며,
    상기 제어부는,
    상기 메모리에, 상기 제2 보호기술로 암호화된 데이터를 기록하고;
    상기 보안부가, 상기 메모리로부터, 상기 제2 보호기술로 암호화된 데이터를 판독하여 복호화하고, 상기 복호화된 데이터를 상기 제1 보호기술로 암호화하여 상기 메모리에 기록하고;
    상기 표시제어부가, 상기 메모리로부터, 상기 제1 보호기술로 암호화된 데이터를 판독하여 복호화하도록 제어하는 것을 특징으로 하는 컴퓨팅 시스템.
  9. 제8항에 있어서,
    상기 표시 제어부는,
    상기 데이터를 인코딩 및 디코딩하는 코덱부; 및
    상기 데이터를 렌더링하는 렌더링부;를 포함하고,
    상기 제어부는,
    상기 코덱부가, 상기 메모리로부터, 상기 제1 보호기술로 암호화된 데이터를 판독하여 복호화하고, 상기 복호화된 데이터를 디코딩하고, 상기 디코딩된 데이터를 상기 제1 보호기술로 재암호화하여 상기 메모리에 기록하고;
    상기 렌더링부가, 상기 메모리로부터, 상기 제1 보호기술로 재암호화된 데이터를 재복호화하고, 상기 재복호화된 데이터를 렌더링하고, 상기 렌더링된 데이터를 표시부에 출력하도록 제어하는 것을 특징으로 하는 컴퓨팅 시스템.
  10. 제8항에 있어서,
    상기 제2 보호기술은, DRM(Digital Rights Management)을 포함하는 것 특징으로 하는 컴퓨팅 시스템.
  11. 제1항에 있어서,
    상기 컴퓨팅 시스템은, 디지털텔레비전(DTV), 스마트폰, 블루레이 디스크(BD), 및 디지털셋톱박스(STB) 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  12. 컴퓨팅 시스템의 복수 개의 컴포넌트들이 서로 간에 데이터를 교환하기 위해 메모리를 공유할 때,
    상기 데이터를 암호화하는 단계;
    상기 암호화된 데이터를 상기 메모리에 기록하는 단계;
    제1보호 기술을 이용하여 상기 암호화된 데이터의 범위를 나타내는 제1정보를 생성하고 암호화가 비 적용되는 페이로드의 소정 영역의 위치를 나타내는 제2정보를 생성하는 단계; 및
    상기 제1정보에 기반하여, 암호화가 적용 되는 상기 데이터의 범위를 식별하고, 상기 제2정보에 기반하여 암호화가 비 적용되는 상기 페이로드의 영역을 식별하는 단계를 포함하는 컴퓨팅 시스템을 동작하기 위한 방법.
  13. 제12항에 있어서, 상기 방법은,
    상기 메모리로부터, 상기 암호화된 데이터를 판독하여 복호화하는 단계; 및,
    상기 복호화된 데이터를 사용하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨팅 시스템을 동작하기 위한 방법.
  14. 제13항에 있어서,
    상기 복수 개의 컴포넌트들 중 제1 컴포넌트로부터, 상기 메모리를 경유하여 상기 복수 개의 컴포넌트들 중 제2 컴포넌트로, 데이터가 전송되는 때,
    상기 복호화된 데이터를 재암호화하는 단계; 및,
    상기 재암호화된 데이터를 상기 메모리에 기록하도록 하는 단계;를 포함하는 것을 특징으로 하는 컴퓨팅 시스템을 동작하기 위한 방법.
  15. 제13항에 있어서,
    상기 복수 개의 컴포넌트들은, 서로 간에 교환되는 데이터를 암호화 및 복호화하기 위한 제1 보호기술을 공유하는 것을 특징으로 하는 컴퓨팅 시스템을 동작하기 위한 방법.
  16. 제15항에 있어서,·
    상기 제1 보호기술에 의해 정의되는 헤더 및 페이로드로 구성된 데이터구조를 생성하는 단계를 포함하는 것을 특징으로 하는 컴퓨팅 시스템을 동작하기 위한 방법.
  17. 제16항에 있어서,·
    상기 헤더는, 상기 제1 보호기술에 의해 암호화 또는 복호화되는 데이터의 범위를 나타내는 정보를 포함하는 것을 특징으로 하는 컴퓨팅 시스템을 동작하기 위한 방법.
  18. 삭제
  19. 제14항에 있어서,
    상기 제1보호 기술을 사용하여 암호화된 데이터를 판독하고 복호화하는 단계를 더 포함하고,
    상기 암호화된 데이터를 상기 메모리에 기록하는 단계는, 외부 장치에 의해 제2 보호기술로 암호화된 데이터를 상기 메모리에 기록하는 단계를 포함하고,
    상기 암호화된 데이터를 판독하여 복호화하는 단계는, 상기 메모리로부터, 상기 제2 보호기술로 암호화된 데이터를 판독하여 복호화하는 단계를 포함하고,
    상기 복호화된 데이터를 재암호화하는 단계는, 상기 복호화된 데이터를 상기 제1 보호기술로 암호화하는 단계를 포함하고,
    상기 재암호화된 데이터를 상기 메모리에 기록하도록 하는 단계는, 상기 제1 보호기술로 암호화된 데이터를 상기 메모리에 기록하는 단계를 포함하는 것을 특징으로 하는 컴퓨팅 시스템을 동작하기 위한 방법.
  20. 제19항에 있어서,·
    상기 제2 보호기술은, DRM(Digital Rights Management)을 포함하는 것 특징으로 하는 컴퓨팅 시스템을 동작하기 위한 방법.

KR1020110087196A 2011-08-30 2011-08-30 컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법 KR101857791B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110087196A KR101857791B1 (ko) 2011-08-30 2011-08-30 컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법
US13/599,617 US9940265B2 (en) 2011-08-30 2012-08-30 Computing system and method of operating computing system
CN2012103163637A CN103164657A (zh) 2011-08-30 2012-08-30 计算系统和操作计算系统的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110087196A KR101857791B1 (ko) 2011-08-30 2011-08-30 컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법

Publications (2)

Publication Number Publication Date
KR20130024024A KR20130024024A (ko) 2013-03-08
KR101857791B1 true KR101857791B1 (ko) 2018-05-16

Family

ID=47745412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110087196A KR101857791B1 (ko) 2011-08-30 2011-08-30 컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법

Country Status (3)

Country Link
US (1) US9940265B2 (ko)
KR (1) KR101857791B1 (ko)
CN (1) CN103164657A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016090536A1 (en) * 2014-12-08 2016-06-16 Intel Corporation Apparatus and method to improve memory access performance between shared local memory and system global memory
CN104661051A (zh) * 2015-03-09 2015-05-27 深圳市九洲电器有限公司 流媒体推送方法及系统
CN105681882B (zh) 2016-01-04 2019-04-19 华为技术有限公司 控制视频输出的方法及其装置、控制电路
US10241706B2 (en) * 2016-05-20 2019-03-26 Renesas Electronics Corporation Semiconductor device and its memory access control method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218647A1 (en) * 2005-03-22 2006-09-28 Seagate Technology Llc Data transcription in a data storage device
US20080120676A1 (en) * 2006-11-22 2008-05-22 Horizon Semiconductors Ltd. Integrated circuit, an encoder/decoder architecture, and a method for processing a media stream
US20090296929A1 (en) * 2007-01-11 2009-12-03 Nds Limited Processing video content

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU763294B2 (en) * 1998-07-22 2003-07-17 Panasonic Intellectual Property Corporation Of America Digital data recording device and method for protecting copyright and easily reproducing encrypted digital data and computer readable recording medium recording program
DE19906450C1 (de) * 1999-02-16 2000-08-17 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Erzeugen eines verschlüsselten Nutzdatenstroms und Verfahren und Vorrichtung zum Entschlüsseln eines verschlüsselten Nutzdatenstroms
US6934389B2 (en) 2001-03-02 2005-08-23 Ati International Srl Method and apparatus for providing bus-encrypted copy protection key to an unsecured bus
US7003797B2 (en) * 2001-05-18 2006-02-21 Sun Microsystems, Inc. Secure personal identification number entry in a distributed network
US7296154B2 (en) 2002-06-24 2007-11-13 Microsoft Corporation Secure media path methods, systems, and architectures
JP2004318927A (ja) 2003-04-11 2004-11-11 Sony Corp デジタルデータの保存方法および記録媒体
US20050086321A1 (en) * 2003-10-21 2005-04-21 Folk Robert H.Ii Apparatus and method for providing a virtual common hard disk recorder resource
US7477740B2 (en) 2005-01-19 2009-01-13 International Business Machines Corporation Access-controlled encrypted recording system for site, interaction and process monitoring
US7899864B2 (en) * 2005-11-01 2011-03-01 Microsoft Corporation Multi-user terminal services accelerator
US20080189213A1 (en) * 2007-02-05 2008-08-07 Curtis Blake System and method for digital rights management with license proxy for mobile wireless platforms
US7644044B2 (en) * 2007-04-04 2010-01-05 Sony Corporation Systems and methods to distribute content over a network
US20080267411A1 (en) * 2007-04-27 2008-10-30 General Instrument Corporation Method and Apparatus for Enhancing Security of a Device
US8627079B2 (en) * 2007-11-01 2014-01-07 Infineon Technologies Ag Method and system for controlling a device
US8490127B2 (en) * 2007-12-31 2013-07-16 Digital Keystone, Inc. Distributed TV access system
US8656424B2 (en) * 2007-12-31 2014-02-18 Digital Keystone, Inc. Distributed TV access system
US8646052B2 (en) 2008-03-31 2014-02-04 Intel Corporation Method and apparatus for providing a secure display window inside the primary display
US20090265022A1 (en) * 2008-04-21 2009-10-22 Microsoft Corporation Playback of multimedia during multi-way communications
DE112008003855B4 (de) 2008-05-09 2013-09-05 Hewlett-Packard Development Co., L.P. a Texas Limited Partnership System und Verfahren zum Bereitstellen von sicherem Zugriff auf einen Systemspeicher
WO2009138928A1 (en) 2008-05-13 2009-11-19 Nxp B.V. Secure direct memory access
US7895380B2 (en) * 2009-01-21 2011-02-22 Ati Technologies Ulc Communication protocol for sharing memory resources between components of a device
US8281154B2 (en) 2009-07-23 2012-10-02 International Business Machines Corporation Encrypting data in volatile memory
JP5232104B2 (ja) * 2009-08-18 2013-07-10 株式会社東芝 マルチメディア処理制御装置
CN102063598A (zh) * 2009-11-17 2011-05-18 北大方正集团有限公司 一种数据加密、解密方法及装置
WO2011162551A2 (ko) * 2010-06-22 2011-12-29 엘지전자 주식회사 네트워크 시스템을 위한 컴포넌트의 제어방법
US9582920B2 (en) * 2010-08-31 2017-02-28 Apple Inc. Systems, methods, and computer-readable media for efficiently processing graphical data
JP5032647B2 (ja) * 2010-11-26 2012-09-26 株式会社東芝 データ記憶装置、コントロール装置及び暗号化方法
US8625788B2 (en) * 2011-01-05 2014-01-07 Intel Corporation Method and apparatus for building a hardware root of trust and providing protected content processing within an open computing platform
US8560453B2 (en) * 2011-06-30 2013-10-15 Intel Corporation Method and apparatus for dynamic, real-time ad insertion based on meta-data within a hardware based root of trust
US20140075502A1 (en) * 2012-09-11 2014-03-13 Selim Aissi Resource management of execution environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218647A1 (en) * 2005-03-22 2006-09-28 Seagate Technology Llc Data transcription in a data storage device
US20080120676A1 (en) * 2006-11-22 2008-05-22 Horizon Semiconductors Ltd. Integrated circuit, an encoder/decoder architecture, and a method for processing a media stream
US20090296929A1 (en) * 2007-01-11 2009-12-03 Nds Limited Processing video content

Also Published As

Publication number Publication date
US9940265B2 (en) 2018-04-10
US20130054978A1 (en) 2013-02-28
KR20130024024A (ko) 2013-03-08
CN103164657A (zh) 2013-06-19

Similar Documents

Publication Publication Date Title
JP5129886B2 (ja) 少なくとも1つのコンテンツ・プレキーを用いるコンテンツ暗号化
US7739507B2 (en) Hardware multimedia endpoint and personal computer
CA2428953C (en) Secure media path methods, systems, and architecture
EP2580704B1 (en) Methods and apparatuses for securing playback content comprising sensitive and non-sensitive data
US20080301467A1 (en) Memory Security Device
US8064600B2 (en) Encoded digital video content protection between transport demultiplexer and decoder
US7269744B1 (en) System and method for safeguarding data between a device driver and a device
US8422684B2 (en) Security classes in a media key block
PT1815681E (pt) Unidade de processamento de dados áudio/vídeo digitais e método de controlo do acesso aos referidos dados
JP2009110636A (ja) 再生装置および再生制御方法
EP2268020B1 (en) Protection of audio or video data in a playback device
US20080250251A1 (en) Systems and Methods for Hardware Driven Program Execution
KR101857791B1 (ko) 컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법
US8023653B2 (en) Media key-transformation obfuscation in advanced access content system
KR20050074604A (ko) 비동기 통신 시스템
US9621345B2 (en) Countering server-based attacks on encrypted content
US8300818B2 (en) System and method for effectively protecting electronic content information
US20050144466A1 (en) Apparatus and method for rendering user data
TW201412098A (zh) 與首端安全連接的安全處理單元
JP4795877B2 (ja) コンテンツ再生装置
JP4899370B2 (ja) コンテンツ処理装置,コンテンツ処理方法およびコンテンツ転送システム
EP3825879A1 (en) Playing drm protected content from a portable flash drive
US20120030479A1 (en) Storage apparatus, host apparatus, and storage system
Feller et al. Application Scenarios
Park et al. Protection of Windows Media Video Providing Selective Encryption

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant