KR101857791B1 - 컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법 - Google Patents
컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/84—Protecting input, output or interconnection devices output devices, e.g. displays or monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2107—File 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
본 발명의 실시 예들은 컴퓨팅 시스템, 및 컴퓨팅 시스템을 동작하기 위한 방법에 관한 것으로서, 더욱 상세하게는 공유 메모리 상에서 데이터를 보호하기 위한 컴퓨팅 시스템, 및 컴퓨팅 시스템을 동작하기 위한 방법에 관한 것이다.
개개의 개발자들이, 컴퓨터 운영체제(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은, 본 발명의 일실시 예에 따라 컴퓨팅 시스템을 동작하기 위한 방법을 나타낸 도면이다.
도 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정보를 생성하고, 암호화 또는 복호화가 비 적용되는 페이로드의 소정 영역의 위치를 나타내는 제2정보를 생성하고, 상기 제1정보에 기반하여, 암호화 또는 복호화가 적용되는 상기 페이로드의 범위를 식별하고, 상기 제2정보에 기반하여 암호화 또는 복호화가 비 적용되는 상기 페이로드의 영역을 식별하는 제어부;를 포함하는 컴퓨팅 시스템. - 제1항에 있어서,
상기 복수 개의 컴포넌트들의 각각은, 상기 암호화된 데이터를 판독하여 복호화하고, 상기 복호화된 데이터를 사용하도록 구성된 것을 특징으로 하는 컴퓨팅 시스템. - 제2항에 있어서, 상기 제어부는,
상기 복수 개의 컴포넌트들 중 제1 컴포넌트로부터, 상기 메모리를 경유하여 상기 복수 개의 컴포넌트들 중 제2 컴포넌트로, 데이터가 전송되는 때, 상기 제1 컴포넌트가 상기 복호화된 데이터를 재암호화하고;
상기 재암호화된 데이터를 상기 메모리에 기록하도록 제어하는 것을 특징으로 하는 컴퓨팅 시스템. - 제2항에 있어서,
상기 복수 개의 컴포넌트들은, 서로 간에 교환되는 데이터를 암호화 및 복호화하기 위한 제1 보호기술을 공유하는 것을 특징으로 하는 컴퓨팅 시스템. - 제4항에 있어서, 상기 제어부는,
상기 제1 보호기술에 의해 정의되는 헤더 및 페이로드로 구성된 데이터구조를 생성하는 것을 특징으로 하는 컴퓨팅 시스템. - 제5항에 있어서,
상기 헤더는, 상기 제1 보호기술에 의해 암호화 또는 복호화되는 데이터의 범위를 나타내는 정보를 포함하는 것을 특징으로 하는 컴퓨팅 시스템. - 삭제
- 제4항에 있어서,
상기 복수 개의 컴포넌트들은,
외부 장치에 의해 제2 보호기술로 암호화된 데이터를 복호화하는 보안부; 및,
데이터 표시를 제어하는 표시제어부;를 포함하며,
상기 제어부는,
상기 메모리에, 상기 제2 보호기술로 암호화된 데이터를 기록하고;
상기 보안부가, 상기 메모리로부터, 상기 제2 보호기술로 암호화된 데이터를 판독하여 복호화하고, 상기 복호화된 데이터를 상기 제1 보호기술로 암호화하여 상기 메모리에 기록하고;
상기 표시제어부가, 상기 메모리로부터, 상기 제1 보호기술로 암호화된 데이터를 판독하여 복호화하도록 제어하는 것을 특징으로 하는 컴퓨팅 시스템. - 제8항에 있어서,
상기 표시 제어부는,
상기 데이터를 인코딩 및 디코딩하는 코덱부; 및
상기 데이터를 렌더링하는 렌더링부;를 포함하고,
상기 제어부는,
상기 코덱부가, 상기 메모리로부터, 상기 제1 보호기술로 암호화된 데이터를 판독하여 복호화하고, 상기 복호화된 데이터를 디코딩하고, 상기 디코딩된 데이터를 상기 제1 보호기술로 재암호화하여 상기 메모리에 기록하고;
상기 렌더링부가, 상기 메모리로부터, 상기 제1 보호기술로 재암호화된 데이터를 재복호화하고, 상기 재복호화된 데이터를 렌더링하고, 상기 렌더링된 데이터를 표시부에 출력하도록 제어하는 것을 특징으로 하는 컴퓨팅 시스템. - 제8항에 있어서,
상기 제2 보호기술은, DRM(Digital Rights Management)을 포함하는 것 특징으로 하는 컴퓨팅 시스템. - 제1항에 있어서,
상기 컴퓨팅 시스템은, 디지털텔레비전(DTV), 스마트폰, 블루레이 디스크(BD), 및 디지털셋톱박스(STB) 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨팅 시스템. - 컴퓨팅 시스템의 복수 개의 컴포넌트들이 서로 간에 데이터를 교환하기 위해 메모리를 공유할 때,
상기 데이터를 암호화하는 단계;
상기 암호화된 데이터를 상기 메모리에 기록하는 단계;
제1보호 기술을 이용하여 상기 암호화된 데이터의 범위를 나타내는 제1정보를 생성하고 암호화가 비 적용되는 페이로드의 소정 영역의 위치를 나타내는 제2정보를 생성하는 단계; 및
상기 제1정보에 기반하여, 암호화가 적용 되는 상기 데이터의 범위를 식별하고, 상기 제2정보에 기반하여 암호화가 비 적용되는 상기 페이로드의 영역을 식별하는 단계를 포함하는 컴퓨팅 시스템을 동작하기 위한 방법. - 제12항에 있어서, 상기 방법은,
상기 메모리로부터, 상기 암호화된 데이터를 판독하여 복호화하는 단계; 및,
상기 복호화된 데이터를 사용하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨팅 시스템을 동작하기 위한 방법. - 제13항에 있어서,
상기 복수 개의 컴포넌트들 중 제1 컴포넌트로부터, 상기 메모리를 경유하여 상기 복수 개의 컴포넌트들 중 제2 컴포넌트로, 데이터가 전송되는 때,
상기 복호화된 데이터를 재암호화하는 단계; 및,
상기 재암호화된 데이터를 상기 메모리에 기록하도록 하는 단계;를 포함하는 것을 특징으로 하는 컴퓨팅 시스템을 동작하기 위한 방법. - 제13항에 있어서,
상기 복수 개의 컴포넌트들은, 서로 간에 교환되는 데이터를 암호화 및 복호화하기 위한 제1 보호기술을 공유하는 것을 특징으로 하는 컴퓨팅 시스템을 동작하기 위한 방법. - 제15항에 있어서,·
상기 제1 보호기술에 의해 정의되는 헤더 및 페이로드로 구성된 데이터구조를 생성하는 단계를 포함하는 것을 특징으로 하는 컴퓨팅 시스템을 동작하기 위한 방법. - 제16항에 있어서,·
상기 헤더는, 상기 제1 보호기술에 의해 암호화 또는 복호화되는 데이터의 범위를 나타내는 정보를 포함하는 것을 특징으로 하는 컴퓨팅 시스템을 동작하기 위한 방법. - 삭제
- 제14항에 있어서,
상기 제1보호 기술을 사용하여 암호화된 데이터를 판독하고 복호화하는 단계를 더 포함하고,
상기 암호화된 데이터를 상기 메모리에 기록하는 단계는, 외부 장치에 의해 제2 보호기술로 암호화된 데이터를 상기 메모리에 기록하는 단계를 포함하고,
상기 암호화된 데이터를 판독하여 복호화하는 단계는, 상기 메모리로부터, 상기 제2 보호기술로 암호화된 데이터를 판독하여 복호화하는 단계를 포함하고,
상기 복호화된 데이터를 재암호화하는 단계는, 상기 복호화된 데이터를 상기 제1 보호기술로 암호화하는 단계를 포함하고,
상기 재암호화된 데이터를 상기 메모리에 기록하도록 하는 단계는, 상기 제1 보호기술로 암호화된 데이터를 상기 메모리에 기록하는 단계를 포함하는 것을 특징으로 하는 컴퓨팅 시스템을 동작하기 위한 방법. - 제19항에 있어서,·
상기 제2 보호기술은, DRM(Digital Rights Management)을 포함하는 것 특징으로 하는 컴퓨팅 시스템을 동작하기 위한 방법.
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)
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)
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)
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 |
-
2011
- 2011-08-30 KR KR1020110087196A patent/KR101857791B1/ko active IP Right Grant
-
2012
- 2012-08-30 CN CN2012103163637A patent/CN103164657A/zh active Pending
- 2012-08-30 US US13/599,617 patent/US9940265B2/en not_active Expired - Fee Related
Patent Citations (3)
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 |