KR20150058298A - 정보처리장치 - Google Patents

정보처리장치 Download PDF

Info

Publication number
KR20150058298A
KR20150058298A KR1020157009266A KR20157009266A KR20150058298A KR 20150058298 A KR20150058298 A KR 20150058298A KR 1020157009266 A KR1020157009266 A KR 1020157009266A KR 20157009266 A KR20157009266 A KR 20157009266A KR 20150058298 A KR20150058298 A KR 20150058298A
Authority
KR
South Korea
Prior art keywords
data
processing
generate
scramble
application program
Prior art date
Application number
KR1020157009266A
Other languages
English (en)
Other versions
KR101638025B1 (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 소니 컴퓨터 엔터테인먼트 인코포레이티드
Publication of KR20150058298A publication Critical patent/KR20150058298A/ko
Application granted granted Critical
Publication of KR101638025B1 publication Critical patent/KR101638025B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1064Restricting content processing at operating system level
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4408Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Storage Device Security (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)

Abstract

로우 데이터의 내용을 보호하면서, 애플리케이션 프로그램으로 어느 정도 로우 데이터의 조작이 가능한 정보처리장치를 제공한다.
암호화된 미디어 데이터를 취득하여, 암호화된 미디어 데이터를 디코드하여 로우 데이터를 생성하고, 당해 로우 데이터에 스크램블 처리를 실행하여 스크램블 데이터를 생성하여 출력하고, 스크램블 데이터를 복호화하여 로우 데이터를 생성하여, 재생장치에 대하여 출력하는 정보처리장치이다.

Description

정보처리장치{INFORMATION PROCESSING DEVICE}
본 발명은 보호된 미디어 데이터의 디코드 처리를 행하는 정보처리장치, 그 제어방법, 그 제어 프로그램, 및 당해 프로그램을 격납하는 정보기억매체에 관한 것이다.
동화상이나 음성 등을 포함하는 미디어 데이터는, 일반적으로 데이터 사이즈를 압축하는 부호화(인코드)가 이루어진 상태로 제공되고 있다. 예를 들면 동화상 데이터의 경우, MPEG(Moving Picture Experts Group) 등의 방식으로 부호화되어 제공된다. 또한 이들 미디어 데이터는, 저작권 보호 등의 목적으로, DRM(Digital Rights Management) 기술 등에 의해 암호화된 상태로 제공되는 경우도 많다. 이하에서, 이와 같은 암호화된 미디어 데이터를 보호 데이터라 한다. 정보처리장치가 보호 데이터의 재생 처리를 행하는 경우, 우선 보호 데이터에 대하여 디코드 처리를 행하여 로우 데이터(raw data)를 생성할 필요가 있다. 여기서, 디코드 처리란, 보호 데이터에 대한 암호화를 해제하여, 부호화된 데이터를 복호(復號)하여 원래의 로우 데이터를 생성하는 처리를 말한다. 로우 데이터는 동화상 또는 음성의 내용을 그대로 나타내는 데이터이다. 동화상의 경우, 로우 데이터는 연속하는 복수의 비트맵 형식의 프레임 화상에 의해 구성된다. 또한 음성이면, 아날로그의 음성 신호를 샘플링(양자화(量子化))하여 얻어지는 샘플링 데이터(예를 들면 PCM 등)가 로우 데이터에 해당한다.
보호 데이터에 대해서는, 가령 그 재생이 허가되어 있는 사용자라도, 당해 보호 데이터로부터 생성된 로우 데이터의 카피나 개변(改變) 등을 행하여 버리는 것은 바람직하지 않다. 그러나 일반적으로 보호 데이터를 처리하는 애플리케이션 프로그램(예를 들면 미디어 플레이어)은, 처리 과정에 있어서 미디어 데이터의 로우 데이터를 생성하게 된다. 그 때문에, 애플리케이션 프로그램의 내부 처리가 누설되는 등의 문제가 생기면, 로우 데이터가 사용자에 제공되어 버릴 우려가 있다. 이러한 문제를 방지하기 위해, 보호 데이터로부터 로우 데이터를 생성하여 재생장치(모니터 등)에 출력하는 처리를, 오퍼레이팅 시스템의 일부로서 커널 레벨(kernel level)로 실장하는 것도 생각할 수 있다. 일반적으로 커널 레벨의 시스템 프로그램은, 애플리케이션 프로그램보다도 보안상 높은 보호가 이루어져, 그 내부 처리는 애플리케이션 프로그램으로부터 은폐되어 있다. 그 때문에, 이러한 시스템 프로그램이 로우 데이터의 생성, 출력을 행함으로써, 사용자가 로우 데이터를 직접 조작할 수 없도록 할 수 있다. 그러나 이러한 실장에 의하면, 애플리케이션 프로그램으로부터 미디어 데이터를 자유롭게 제어할 수 없어지므로, 기능적인 제약이 생기거나, 기능 확장을 하기 어려워지는 등의 문제가 있다.
본 발명은 상기 실정을 고려하여 이루어진 것으로서, 그 목적의 하나는 로우 데이터의 내용을 보호하면서, 애플리케이션 프로그램으로 어느 정도 로우 데이터의 조작이 가능한 정보처리장치, 정보처리방법, 당해 정보처리방법을 실현하는 프로그램, 및 당해 프로그램을 격납하는 정보기억매체를 제공하는 것에 있다.
본 발명에 따른 정보처리장치는, 암호화된 미디어 데이터를 취득하는 취득부와, 상기 암호화된 미디어 데이터를 디코드하여 로우 데이터를 생성하고, 당해 로우 데이터에 스크램블 처리를 실행하여 스크램블 데이터를 생성하여 출력하는 디코드부와, 상기 스크램블 데이터를 복호화하여 상기 로우 데이터를 생성하여, 재생장치에 대하여 출력하는 재생 처리부를 포함하는 것을 특징으로 한다.
또한 본 발명에 따른 정보처리방법은, 암호화된 미디어 데이터를 취득하는 취득 스텝과, 상기 암호화된 미디어 데이터를 디코드하여 로우 데이터를 생성하고, 당해 로우 데이터에 스크램블 처리를 실행하여 스크램블 데이터를 생성하여 출력하는 디코드 스텝과, 상기 스크램블 데이터를 복호화하여 상기 로우 데이터를 생성하여, 재생장치에 대하여 출력하는 재생 처리 스텝을 포함하는 것을 특징으로 한다.
또한 본 발명에 따른 프로그램은, 암호화된 미디어 데이터를 디코드하여 로우 데이터를 생성하고, 당해 로우 데이터에 스크램블 처리를 실행하여 스크램블 데이터를 생성하여 출력하는 디코드부, 및 상기 스크램블 데이터를 복호화하여 상기 로우 데이터를 생성하여, 재생장치에 대하여 출력하는 재생 처리부로서 컴퓨터를 기능시키기 위한 프로그램이다. 이 프로그램은 컴퓨터 판독 가능한 정보기억매체에 격납되어도 된다.
본 발명에 의하면, 보호된 미디어 데이터의 디코드 처리를 행하는 정보처리장치, 그 제어방법, 그 제어 프로그램, 및 당해 프로그램을 격납하는 정보기억매체를 제공할 수 있다.
도 1은 본 발명의 실시의 형태에 따른 정보처리장치의 구성도이다.
도 2는 본 발명의 실시의 형태에 따른 정보처리장치의 기능 블록도이다.
도 3은 본 발명의 실시의 형태에 따른 정보처리장치가 실행하는 스크램블 처리의 일례를 나타내는 플로우도이다.
이하에서, 본 발명의 실시형태에 대하여, 도면에 근거하여 상세하게 설명한다.
도 1은 본 발명의 한 실시형태에 따른 정보처리장치(1)의 구성도이다. 동 도면에 나타내는 바와 같이, 정보처리장치(1)는 제어부(11)와, 기억부(12)와, 출력부(13)를 포함하여 구성되어 있다. 또한 정보처리장치(1)는 표시장치(2), 음성재생장치(3), 및 조작 디바이스(4)와 접속되어 있다. 정보처리장치(1)는 예를 들면 가정용 게임기나 휴대형 게임기, 퍼스널 컴퓨터, 스마트폰 등이어도 된다.
제어부(11)는 CPU 등이며, 기억부(12)에 격납된 프로그램에 따라서 각종의 정보 처리를 행한다. 구체적으로, 제어부(11)는 재생 대상이 되는 보호 데이터(PD)로부터 로우 데이터(RD)를 생성하는 처리를 행한다. 여기서 보호 데이터(PD)는 동화상을 포함한 미디어 데이터의 로우 데이터(RD)를 부호화, 및 암호화하여 얻어지는 데이터인 것으로 한다.
기억부(12)는 RAM 등의 메모리 소자를 포함하여 구성되고, 제어부(11)가 실행하는 프로그램, 및 당해 프로그램이 처리 대상으로 하는 데이터를 격납한다. 특히 본 실시형태에서는, 기억부(12)에는 처리 대상이 되는 보호 데이터(PD)가 격납된다. 보호 데이터(PD)는 인터넷 등의 통신 네트워크를 통해 정보처리장치(1)에 제공되어도 되고, 광디스크나 메모리 카드 등의 각종의 정보기억매체로부터 판독되어 기억부(12)에 기억되어도 된다. 또한 기억부(12) 내에는, 표시장치(2)의 화면에 표시되는 표시 화상을 묘화하기 위한 프레임 버퍼 메모리(12a)가 확보된다.
출력부(13)는 표시장치(2), 및 음성재생장치(3)에 대한 인터페이스이다. 구체적으로 출력부(13)는, 프레임 버퍼 메모리(12a)에 묘화된 표시 화상을, 소정의 동기 타이밍마다 영상 신호로 변환하여 표시장치(2)에 출력한다. 또한 로우 데이터(RD)에 음성 데이터가 포함될 경우, 이 음성 데이터에 근거하여 생성되는 음성 신호를 음성재생장치(3)에 출력한다. 표시장치(2) 및 음성재생장치(3)는 모두 미디어 데이터의 재생을 행하는 재생장치의 1종이다. 표시장치(2)는 액정표시장치 등이며, 출력부(13)가 출력하는 영상 신호에 따른 동화상을 표시한다. 또한 음성재생장치(3)는 스피커 등이며, 출력부(13)가 출력하는 음성 신호에 따른 음성을 재생한다.
조작 디바이스(4)는, 가정용 게임기의 컨트롤러나 키보드 등이며, 사용자로부터의 조작 입력을 접수하여 정보처리장치(1)에 출력한다. 또한 표시장치(2), 음성재생장치(3), 및 조작 디바이스(4)는 모두 정보처리장치(1)와 일체로 구성되어도 된다.
이하에서, 정보처리장치(1)가 실현하는 기능에 대하여, 도 2의 기능 블록도를 사용하여 설명한다. 도 2에 나타내는 바와 같이, 정보처리장치(1)는 기능적으로 애플리케이션 실행부(21)와, 디코드 처리부(22)와, 묘화 처리부(23)를 포함하여 구성되어 있다. 애플리케이션 실행부(21)는 제어부(11)가 애플리케이션 프로그램을 실행함으로써 실현된다. 디코드 처리부(22), 및 묘화 처리부(23)는, 제어부(11)가 오퍼레이팅 시스템 프로그램에 포함되는 커널 레벨의 프로그램을 실행함으로써 실현된다. 이들 기능을 실현하는 각 프로그램은, 광디스크 등의 각종의 정보기억매체에 격납되어 정보처리장치(1)에 제공되어도 되고, 인터넷 등의 통신 네트워크를 통해 정보처리장치(1)에 제공되어도 된다. 또한 디코드 처리부(22) 및 묘화 처리부(23)가 실현하는 기능은, 애플리케이션 프로그램으로부터 API(Application Program Interface) 등에 의해 호출되며, 그 내부의 처리 내용은 사용자 레벨의 애플리케이션 프로그램으로부터는 은폐된다. 또한 디코드 처리부(22) 및 묘화 처리부(23)가 그 내부 처리에 사용하는 일시적인 데이터를 기억하는 메모리 공간은 애플리케이션 실행부(21)로부터 참조할 수 없도록 보호된다.
애플리케이션 실행부(21)는 미디어 플레이어 등의 애플리케이션 프로그램을 제어부(11)가 실행함으로써 실현된다. 애플리케이션 실행부(21)는 보호 데이터(PD)를 취득하여, 그 디코드 처리를 디코드 처리부(22)에 지시한다.
디코드 처리부(22)는 보호 데이터(PD)의 디코드 처리를 행하여, 로우 데이터(RD)를 생성한다. 본 실시형태에 있어서 디코드 처리부(22)는, 이 디코드 처리와 함께, 로우 데이터(RD)에 스크램블 처리를 실시하여, 인간에게는 판별 불가능한 상태로 변환하는 처리를 행한다. 스크램블 처리는, 로우 데이터(RD)를 가역적으로 원래의 데이터와 다른 데이터로 변환하는 암호화 처리의 1종이다. 이하에서, 스크램블 처리가 실시된 로우 데이터(RD)를 스크램블 데이터(SD)라 칭한다. 스크램블 처리는, 로우 데이터(RD)를 구성하는 복수의 프레임 화상(F)의 각각에 대하여 실행된다. 이하에서는, 프레임 화상(F)에 대하여 스크램블 처리를 실행한 결과 얻어지는 화상을 암호화 프레임 화상(EF)이라 칭한다. 디코드 처리부(22)는, 디코드 처리의 결과 얻어지는 로우 데이터(RD) 자체는, 애플리케이션 실행부(21)로부터 참조 가능한 메모리에는 출력하지 않고, 로우 데이터(RD)에 스크램블 처리를 실행하여 얻어지는 스크램블 데이터(SD)를, 애플리케이션 실행부(21)로부터 참조 가능한 메모리에 출력한다. 또한 스크램블 처리의 상세에 대해서는 후술한다.
애플리케이션 실행부(21)는, 디코드 처리부(22)에 의해 생성된 스크램블 데이터(SD)를 사용하여, 또한 로우 데이터(RD)를 재생하기 위한 처리를 행한다. 예를 들면 애플리케이션 실행부(21)는, 로우 데이터(RD)에 포함되는 프레임 화상(F)을 그대로 표시장치(2)의 화면에 표시시키는 것이 아니라, 3D 공간상에 배치된 오브젝트에 텍스쳐로서 붙여넣을 경우가 있다. 이 경우 애플리케이션 실행부(21)는, 3D 공간 내로의 오브젝트의 배치 처리를 행하여, 프레임 화상(F)의 화면상에 있어서의 표시 위치나 표시 양태를 결정한다. 이때 애플리케이션 실행부(21)는, 실제로 프레임 화상(F)의 3D 공간 내에 있어서의 묘화 처리를 행할 필요는 없고, 실제의 묘화 처리는 후술하는 묘화 처리부(23)에 실행시킨다. 애플리케이션 실행부(21)는, 필요한 처리를 행한 후, 묘화 처리부(23)에 대하여 스크램블 데이터(SD)의 재생 처리를 지시한다.
묘화 처리부(23)는, 애플리케이션 실행부(21)로부터 재생 처리의 지시를 접수하면, 우선 스크램블 데이터(SD)에 대하여 디스크램블 처리를 실행하여, 원래의 로우 데이터(RD)를 재생성한다. 그리고, 로우 데이터(RD)를 구성하는 프레임 화상(F)의 묘화 처리를 행하여, 표시장치(2)의 화면에 표시시키는 표시 화상을 프레임 버퍼 메모리(12a)에 기입한다. 이 프레임 버퍼 메모리(12a)에 기입된 표시 화상이, 영상 신호로 변환되어 표시장치(2)의 화면에 표시된다. 이것에 의해, 사용자는 보호 데이터(PD)에 포함되어 있는 동화상을 관람할 수 있다. 묘화 처리부(23)가 생성한 로우 데이터(RD)는, 직접 출력부(13)를 통해 표시장치(2)에 출력되기 때문에, 애플리케이션 프로그램은 화상 처리부(23)가 생성한 로우 데이터(RD)에는 액세스할 수 없다.
이하에서, 스크램블 처리의 상세에 대하여 설명한다. 디코드 처리부(22)는, 로우 데이터(RD)에 포함되는 프레임 화상(F)의 각각에 대하여, 이하의 처리를 실행한다. 즉, 디코드 처리부(22)는, 소정의 난수(亂數) 발생 함수를 사용하여 유사 난수열을 생성한다. 그리고, 이 유사 난수열에 포함되는 난수를 순서대로 사용하여, 처리 대상의 프레임 화상(F)을 픽셀 단위로 암호화한다.
난수 발생 함수를 사용하여 유사 난수열을 생성할 때에는, 랜덤 시드(random seed)를 입력할 필요가 있다. 본 실시형태에서는, 이 랜덤 시드(R)로서, 제1시드(R1) 및 제2시드(R2)의 2개의 시드의 조합을 사용하기로 한다. 제1시드(R1)는 미리 정보처리장치(1) 내에 준비되어 있는 고정의 수치이다. 제1시드(R1)는 애플리케이션 프로그램으로부터는 은폐되어, 비밀 정보로서 관리된다. 제1시드(R1)가 비밀로서 관리되고 있으면, 사용자 레벨의 애플리케이션 프로그램으로부터는 스크램블 처리에 사용되는 랜덤 시드를 알 수 없으므로 스크램블 데이터(SD)의 해독을 행할 수 없다.
제2시드(R2)는 처리 대상이 되는 프레임 화상(F)의 속성 정보에 따른 수치이다. 제2시드(R2)는 처리 대상이 되는 프레임 화상(F)마다 다른 수치가 되는 것이 바람직하다. 이렇게 하면, 프레임 화상(F)마다 랜덤 시드(R)를 변화시킬 수 있어, 같은 랜덤 시드를 계속 사용하는 경우에 비해, 스크램블 처리의 내용을 해석시키기 어렵게 할 수 있다. 프레임 화상의 속성 정보는, 예를 들면 프레임 화상(F)의 타임 스탬프이면 된다. 이 타임 스탬프는, 동화상 내에 있어서 당해 프레임 화상(F)이 표시될 타이밍을 나타내는 정보(예를 들면 표시 타이밍이 개시로부터 몇 ms 후인지를 나타내는 정보)이다. 혹은, 프레임 화상(F)의 속성 정보는, 당해 프레임 화상(F)이 동화상 내에 있어서 몇 번째의 프레임 화상인지를 나타내는 프레임 번호여도 된다. 또한 당해 프레임 화상(F)의 화상 데이터로부터 연산에 의해 얻어지는 해쉬값이어도 된다.
디코드 처리부(22)가 스크램블 처리에 사용하는 암호화 방식은, 입력 데이터와 출력 데이터의 데이터 사이즈가 같아지는 것일 필요가 있다. 이러한 암호화 방식에 의해, 프레임 화상(F)을 구성하는 픽셀 단위로 암호화를 행하면, 생성되는 암호화 프레임 화상(EF)은, 로우 데이터(RD)에 포함되는 프레임 화상(F)과 같이 비트맵 형식의 화상 데이터가 된다. 그러나 각 픽셀의 데이터가 암호화되어 있으므로, 암호화 프레임 화상(EF)은 원래의 프레임 화상(F)과는 전혀 다른, 사람의 눈으로 보아 내용을 판별할 수 없는 화상이 된다. 이러한 암호화 방식으로서는, 예를 들면 유사 난수와 화소 데이터의 배타적 논리화(排他的論理和)를 연산하는 방법이 있다. 또한 RC4나 RC6 등의 암호화 알고리즘을 사용해도 된다.
이하에서, 프레임 화상(F)에 대한 스크램블 처리의 흐름을 도 3의 플로우도를 사용하여 설명한다. 우선 디코드 처리부(22)는 처리 대상이 되는 프레임 화상(F)을 취득한다(S1). 이어서, S1에서 취득한 프레임 화상(F)의 속성 정보로부터 제2시드(R2)를 결정한다(S2). 또한 S2에서 결정된 제2시드(R2)를 미리 준비되어 있는 제1시드(R1)와 조합하여 랜덤 시드(R)를 결정한다(S3).
다음으로 디코드 처리부(22)는, S3에서 결정된 랜덤 시드(R)를 난수 발생 함수에 입력하여, 유사 난수를 생성한다(S4). 그리고, 프레임 화상(F) 내의 처리 대상이 되는 화소 데이터를 S4에서 생성한 유사 난수를 사용하여 암호화한다(S5).
그 후, 디코드 처리부(22)는, 프레임 화상(F)에 포함되는 모든 화소에 대하여 암호화 처리를 행했는지 아닌지 판정한다(S6). 미처리의 화소가 있으면, S4로 되돌아가 새로운 유사 난수를 생성하여, 미처리의 화소에 대하여 암호화를 행한다. 이렇게 하여, 같은 랜덤 시드(R)를 사용하여 순서대로 생성된 유사 난수가 프레임 화상(F) 내의 각 화소에 적용되어 암호화가 행해진다. 모든 화소에 대하여 암호화가 행해지면, 암호화 프레임 화상(EF)이 완성되므로, 처리를 종료하고, 다음의 프레임 화상(F)에 대하여 동일한 처리를 실행한다. 이때에는 처리 대상의 프레임 화상(F)이 바뀌어 있으므로, 랜덤 시드(R)도 전회와는 다른 값이 된다.
묘화 처리부(23)는, 스크램블 처리에 사용된 암호화 방식을 반대로 적용하여, 암호화 프레임 화상(EF)으로부터 원래의 프레임 화상(F)을 생성한다. 이때, 스크램블 처리에 사용된 랜덤 시드(R)와 완전히 같은 랜덤 시드(R)를 사용하면서, 스크램블 처리시와 같은 난수 발생 함수를 사용함으로써, 묘화 처리부(23)는 스크램블 처리에 사용된 것과 완전히 같은 유사 난수열을 얻을 수 있다. 이 유사 난수열을 사용함으로써, 묘화 처리부(23)는 디스크램블 처리를 행하여 원래의 프레임 화상(F)을 생성할 수 있다. 또한 랜덤 시드(R)에 포함되는 제1시드(R1)는 미리 정보처리장치(1) 내에 격납되어 있으므로, 묘화 처리부(23)는 디코드 처리부(22)와 동일하게 제1시드(R1)를 취득할 수 있다. 제2시드(R2)가 프레임 화상(F)의 타임 스탬프나 프레임 번호인 경우, 묘화 처리부(23)는 디코드 처리부(22)와 동일하게 하여 제2시드(R2)도 취득할 수 있다. 혹은 디코드 처리부(22)는, 프레임 화상(F)의 스크램블 처리에 사용한 제2시드(R2)를, 생성한 암호화 프레임 화상(EF)에 첨부하여 출력해도 된다. 묘화 처리부(23)는, 디코드 처리부(22)가 암호화 프레임 화상(EF)에 첨부한 제2시드(R2)를 취득함으로써, 스크램블 처리에 사용된 랜덤 시드(R)를 취득할 수 있다. 특히 제2시드(R2)로서 해쉬값을 사용할 경우, 암호화 프레임 화상(EF)으로부터 원래의 프레임 화상(F)에 대한 해쉬값을 재생성하는 것은 곤란하므로, 이러한 방식을 채용할 필요가 있다.
이상 설명한 본 실시형태에 따른 정보처리장치(1)에 의하면, 로우 데이터(RD) 자체는 디코드 처리부(22) 및 묘화 처리부(23)에 의해 커널 레벨로 생성되고, 애플리케이션 프로그램으로부터는 은폐된다. 그 때문에, 애플리케이션 프로그램이 로우 데이터(RD)를 카피하거나 개변하는 것은 곤란하게 되어 있다. 한편, 디코드 처리부(22)는 디코드 처리의 결과로서 스크램블 처리가 된 스크램블 데이터(SD)를 일단 출력한다. 이 스크램블 데이터(SD)는 로우 데이터(RD)와 같은 데이터 형식이므로, 종래의 애플리케이션 프로그램이 로우 데이터(RD)를 취급하는 것과 마찬가지로, 본 실시형태에 있어서의 애플리케이션 실행부(21)는 스크램블 데이터(SD)를 취급할 수 있다. 그 때문에, 기존의 애플리케이션 프로그램을 크게 개변하지 않고, 본 실시형태에 있어서의 애플리케이션 실행부(21)를 실현할 수 있다. 또한 애플리케이션 실행부(21)는, 묘화 처리부(23)에 대하여, 암호화 프레임 화상(EF)과 함께 당해 화상에 대한 각종의 편집 지시를 출력해도 된다. 이러한 편집 지시의 구체예로서는, 화상의 확대, 축소, 및 회전이나, 3D 오브젝트에 화상을 붙여 넣는 텍스쳐 매핑의 지시 등을 들 수 있다. 이러한 지시를 접수한 묘화 처리부(23)는, 디스크램블 처리를 행하여 암호화 프레임 화상(EF)으로부터 원래의 프레임 화상(F)을 생성한 후, 생성한 프레임 화상(F)에 대하여 지시된 화상 처리를 실행한다. 이것에 의해 애플리케이션 실행부(21)는, 묘화 처리부(23)가 실현하는 화상 묘화 기능에 의해 가능한 범위에서, 프레임 화상(F)에 대하여 각종의 가공을 행한 상태로 로우 데이터(RD)의 내용을 표시장치(2)에 표시시킬 수 있다.
또한 본 발명은 이상에 설명한 것에 한정되지 않는다. 예를 들면 이상의 설명에서는 보호 데이터(PD)는 동화상을 포함하는 데이터로서, 디코드 처리부(22)는 동화상의 로우 데이터(RD)에 포함되는 프레임 화상(F)에 대하여 스크램블 처리를 실행하기로 하였다. 그러나 처리 대상이 되는 보호 데이터(PD)는 음성을 포함하는 데이터인 것으로 하고, 디코드 처리부(22)는 로우 데이터(RD)에 포함되는 음성 데이터에 대하여 스크램블 처리를 실행해도 된다. 이 경우에도, 프레임 화상의 경우와 동일하게 하여, 디코드 처리부(22)는, 난수 발생 함수에 의해 생성된 유사 난수를 사용하여 소정의 데이터 처리 단위마다 암호화를 행하여, 스크램블 데이터(SD)를 생성한다. 이렇게 하여 생성된 스크램블 데이터(SD)는, 데이터 형식으로서는 음성의 로우 데이터(RD)와 같아지는데, 사람이 그대로 들어도 의미를 이루지 않는 음성이 된다.
또한 예를 들면 애플리케이션 프로그램이 밉맵(mipmap) 등의 기술에 의해 생성되는 텍스쳐 화상을 이용할 경우, 이하와 같은 처리를 실행하면 된다. 즉, 디코드 처리부(22)가 디코드 처리를 실행할 때에, 애플리케이션 실행부(21)로부터의 요구에 따라, 로우 데이터(RD)에 포함되는 프레임 화상(F)에 근거하여 텍스쳐 화상을 생성하고, 이 텍스쳐 화상에 대하여 스크램블 처리를 실행한다. 이렇게 생성된 암호화 텍스쳐 화상이 디코드 처리부(22)로부터 출력되어, 애플리케이션 실행부(21)에 의해 참조된다. 애플리케이션 실행부(21)가 참조하는 암호화 텍스쳐 화상은 스크램블 처리된 것이므로, 사용자가 보았다고 해도 그 내용을 판별할 수 없다. 그 후 애플리케이션 실행부(21)는, 묘화 처리부(23)에 대하여, 암호화 텍스쳐 화상의 붙여넣기 위치의 위치 좌표 등의 파라미터를 지정하여, 표시장치(2)의 화면에 표시하는 표시 화상의 묘화 지시를 행한다. 이 묘화 지시를 받아 묘화 처리부(23)는, 우선 암호화 텍스쳐 화상에 대하여 디스크램블 처리를 실행하여, 원래의 텍스쳐 화상을 생성한다. 그리고, 애플리케이션 실행부(21)가 지정하는 파라미터에 따라서 생성한 텍스쳐 화상을 3D 오브젝트에 매핑하는 등 하여, 3D 공간의 모습을 나타내는 표시 화상을 프레임 버퍼 메모리(12a)에 묘화하는 렌더링(rendering) 처리를 실행한다. 이것에 의해, 원래의 로우 데이터(RD)에 포함되는 동화상의 내용이 텍스쳐로서 붙여 넣어진 표시 화상이 표시장치(2)에 표시된다. 이와 같이, 디코드 처리와 스크램블 처리 사이에 프레임 화상(F)으로부터 텍스쳐 화상을 생성하는 처리를 추가함으로써, 프레임 화상(F)이 텍스쳐 화상으로 변환될 경우에도, 그 내용을 사용자 레벨의 애플리케이션 프로그램으로부터 은폐할 수 있다.

Claims (7)

  1. 사용자 레벨로 실행되는 애플리케이션 프로그램에 의해, 암호화된 미디어 데이터를 취득하는 취득부와,
    그 내부 처리가 상기 애플리케이션 프로그램으로부터는 은폐되는 커널 레벨(kernel level)의 프로그램에 의해, 상기 암호화된 미디어 데이터를 디코드하여 로우 데이터(raw data)를 생성하고, 당해 로우 데이터를 암호화하는 스크램블 처리를 실행하여 상기 애플리케이션 프로그램으로부터 참조 가능한 스크램블 데이터를 생성하는 디코드부와,
    상기 커널 레벨의 프로그램에 의해, 상기 스크램블 데이터를 복호화(復號化)하는 디스크램블 처리를 실행하여 상기 로우 데이터를 생성하여, 재생장치에 대하여 출력하는 재생 처리부를 포함하는 것을 특징으로 하는 정보처리장치.
  2. 제1항에 기재된 정보처리장치에 있어서,
    상기 디코드부는, 소정의 난수(亂數) 발생 함수에 랜덤 시드를 입력하여 난수를 생성하고, 당해 생성한 난수를 사용하여 상기 스크램블 처리를 실행하고,
    상기 재생 처리부는, 상기 스크램블 처리에 사용된 랜덤 시드를 상기 소정의 난수 발생 함수에 입력하여 난수를 생성하고, 당해 생성한 난수를 사용하여 상기 디스크램블 처리를 실행하는 것을 특징으로 하는 정보처리장치.
  3. 제2항에 기재된 정보처리장치에 있어서,
    상기 로우 데이터는 복수의 프레임 화상으로 구성되는 동화상의 데이터로서,
    상기 디코드부는, 상기 복수의 프레임 화상의 각각을 처리 대상으로 하여, 당해 처리 대상의 프레임 화상의 속성 정보에 따른 값을 포함하는 랜덤 시드를 사용하여, 당해 처리 대상의 프레임 화상의 스크램블 처리를 실행하는 것을 특징으로 하는 정보처리장치.
  4. 제3항에 기재된 정보처리장치에 있어서,
    상기 랜덤 시드는, 상기 처리 대상의 프레임 화상의 속성 정보에 따른 값과, 미리 정보처리장치 내에 격납된 고정값의 조합인 것을 특징으로 하는 정보처리장치.
  5. 사용자 레벨로 실행되는 애플리케이션 프로그램에 의해, 암호화된 미디어 데이터를 취득하는 취득 스텝과,
    그 내부 처리가 상기 애플리케이션 프로그램으로부터는 은폐되는 커널 레벨의 프로그램에 의해, 상기 암호화된 미디어 데이터를 디코드하여 로우 데이터를 생성하고, 당해 로우 데이터에 스크램블 처리를 실행하여 상기 애플리케이션 프로그램으로부터 참조 가능한 스크램블 데이터를 생성하여 출력하는 디코드 스텝과,
    상기 커널 레벨의 프로그램에 의해, 상기 스크램블 데이터를 복호화하여 상기 로우 데이터를 생성하여, 재생장치에 대하여 출력하는 재생 처리 스텝을 포함하는 것을 특징으로 하는 정보처리방법.
  6. 그 내부 처리가 사용자 레벨로 실행되는 애플리케이션 프로그램으로부터는 은폐되는 커널 레벨의 프로그램으로서,
    암호화된 미디어 데이터를 디코드하여 로우 데이터를 생성하고, 당해 로우 데이터에 스크램블 처리를 실행하여 상기 애플리케이션 프로그램으로부터 참조 가능한 스크램블 데이터를 생성하여 출력하는 디코드부, 및
    상기 스크램블 데이터를 복호화하여 상기 로우 데이터를 생성하여, 재생장치에 대하여 출력하는 재생 처리부로서 컴퓨터를 기능시키기 위한 프로그램.
  7. 그 내부 처리가 사용자 레벨로 실행되는 애플리케이션 프로그램으로부터는 은폐되는 커널 레벨의 프로그램으로서,
    암호화된 미디어 데이터를 디코드하여 로우 데이터를 생성하고, 당해 로우 데이터에 스크램블 처리를 실행하여 상기 애플리케이션 프로그램으로부터 참조 가능한 스크램블 데이터를 생성하여 출력하는 스텝과,
    상기 스크램블 데이터를 복호화하여 상기 로우 데이터를 생성하여, 재생장치에 대하여 출력하는 스텝을 컴퓨터에 실행시키는 명령을 포함하는 프로그램을 격납한 컴퓨터 판독 가능한 정보기억매체.
KR1020157009266A 2012-10-17 2013-08-05 정보처리장치 KR101638025B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2012-230345 2012-10-17
JP2012230345 2012-10-17
PCT/JP2013/071174 WO2014061334A1 (ja) 2012-10-17 2013-08-05 情報処理装置

Publications (2)

Publication Number Publication Date
KR20150058298A true KR20150058298A (ko) 2015-05-28
KR101638025B1 KR101638025B1 (ko) 2016-07-20

Family

ID=50487911

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157009266A KR101638025B1 (ko) 2012-10-17 2013-08-05 정보처리장치

Country Status (5)

Country Link
US (1) US9449179B2 (ko)
JP (1) JP6268098B2 (ko)
KR (1) KR101638025B1 (ko)
CN (1) CN104718764B (ko)
WO (1) WO2014061334A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020195608A1 (ko) * 2019-03-26 2020-10-01
US11915367B2 (en) * 2021-06-24 2024-02-27 Capital One Services, Llc Computer-based systems configured for texture warping-based encryption and methods of use thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040000323A (ko) * 2002-06-24 2004-01-03 마이크로소프트 코포레이션 보안 미디어 경로 방법, 시스템 및 아키텍처

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10190649A (ja) * 1996-10-16 1998-07-21 Hewlett Packard Co <Hp> 双方向データストリーム伝送装置
EP0878796B1 (en) * 1997-05-13 2006-04-19 Kabushiki Kaisha Toshiba Information recording apparatus, information reproducing apparatus, and information distribution system
US6601140B1 (en) * 1999-04-07 2003-07-29 Sony Corporation Memory unit, data processing unit, and data processing method using memory unit type
US7369660B1 (en) * 2003-05-20 2008-05-06 The Directv Group, Inc. Methods and apparatus for distributing digital content
KR100636150B1 (ko) * 2004-07-01 2006-10-19 삼성전자주식회사 암호화 모듈을 포함하는 멀티미디어 장치
US20060059538A1 (en) * 2004-09-13 2006-03-16 Xcomm Box, Inc. Security system for wireless networks
US20060078125A1 (en) * 2004-10-08 2006-04-13 Philip Cacayorin Devices and methods for implementing cryptographic scrambling
US8274518B2 (en) 2004-12-30 2012-09-25 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
US8200961B2 (en) * 2006-11-19 2012-06-12 Igware, Inc. Securing a flash memory block in a secure device system and method
CN101079696B (zh) * 2007-06-29 2012-02-08 中兴通讯股份有限公司 一种行业监控系统中流媒体加密的系统和方法
US8281359B2 (en) * 2008-08-11 2012-10-02 Syphermedia International, Inc. System and method for media transcoding and presentation
CN101697511B (zh) * 2009-09-22 2014-03-12 南京大学 一种移动流媒体条件接收方法与系统
US20110103769A1 (en) * 2009-10-30 2011-05-05 Hank Risan Secure time and space shifted audiovisual work
US8799898B2 (en) * 2011-05-31 2014-08-05 Adobe Systems Incorporated Methods and apparatus for binding applications to a cloud computing environment
JP5782120B2 (ja) * 2011-06-06 2015-09-24 株式会社ソシオネクスト コンテンツデータ再生方法、およびサムネイル画像生成方法
CN102325137B (zh) * 2011-09-09 2014-08-13 南京大学 一种结合水印技术的媒体安全分发方法
US9769123B2 (en) * 2012-09-06 2017-09-19 Intel Corporation Mitigating unauthorized access to data traffic

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040000323A (ko) * 2002-06-24 2004-01-03 마이크로소프트 코포레이션 보안 미디어 경로 방법, 시스템 및 아키텍처

Also Published As

Publication number Publication date
JPWO2014061334A1 (ja) 2016-09-05
CN104718764A (zh) 2015-06-17
US20150278532A1 (en) 2015-10-01
KR101638025B1 (ko) 2016-07-20
JP6268098B2 (ja) 2018-01-24
CN104718764B (zh) 2018-04-27
WO2014061334A1 (ja) 2014-04-24
US9449179B2 (en) 2016-09-20

Similar Documents

Publication Publication Date Title
US10757474B2 (en) Method and apparatus for protecting data via application of corrupting function and complimentary restitution at video processing endpoints
JP4375995B2 (ja) デバイス鍵保護方法およびその方法を利用可能な暗号化装置と復号装置ならびに映像送信装置と映像受信装置
CN106796624B (zh) 挑战响应方法、相关联的计算设备和相关联的计算机可读介质
JP2002244929A (ja) ディジタルコピー方法及びディジタルコンテンツの記録装置
AU2003203718A1 (en) Methods and systems for authentication of components in a graphics system
US20090060182A1 (en) Apparatus and method for enhancing the protection of media content
WO2017215148A1 (zh) 文件保护方法及装置
CN111031353A (zh) 一种视频加密方法及装置
CN102547200A (zh) 用以处理三维影像资料的方法与装置
US10331862B2 (en) Viewport decryption
JP2004208088A (ja) デバイス鍵復号化装置、デバイス鍵暗号化装置、デバイス鍵暗号復号化装置、デバイス鍵復号化方法、デバイス鍵暗号化方法、デバイス鍵暗号復号化方法、及びそのプログラム
WO2023125291A1 (zh) 一种图像显示方法、装置、系统及设备
KR101638025B1 (ko) 정보처리장치
JP2013223599A (ja) 画像情報処理装置及び画像情報処理方法
KR20120100129A (ko) 영상 처리 장치의 영상 암호화 방법
US20060018465A1 (en) Information-processing system, information-processing apparatus, information-processing method, and program
US20230195906A1 (en) Information processing devices and information processing methods
US7606426B1 (en) Image processing apparatus and method and storage medium
JP6013233B2 (ja) コンテンツ配信システム、装置及びプログラム
JP3861790B2 (ja) データ管理システム、データ管理方法、クライアント端末、及びサーバ装置
JP2008011219A (ja) 電子透かし埋込システム、装置及びプログラム
KR100836671B1 (ko) 영상 데이터 암호화 방법 및 장치
JP2007141095A (ja) データ処理装置およびデータ処理方法
KR20050087989A (ko) 불법 복제 방지 기능을 갖는 aes 엔진 장치 및 이의암호화/복호화 방법
JP2014171061A (ja) コンテンツ配信システム、装置及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20150410

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20151130

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20160627

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20160704

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20160705

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20190619

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20190619

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20200622

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20220627

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20240625

Start annual number: 9

End annual number: 9