KR20130101626A - Secure data processing device and method thereof - Google Patents

Secure data processing device and method thereof Download PDF

Info

Publication number
KR20130101626A
KR20130101626A KR1020120016080A KR20120016080A KR20130101626A KR 20130101626 A KR20130101626 A KR 20130101626A KR 1020120016080 A KR1020120016080 A KR 1020120016080A KR 20120016080 A KR20120016080 A KR 20120016080A KR 20130101626 A KR20130101626 A KR 20130101626A
Authority
KR
South Korea
Prior art keywords
security
operating system
main
secure
content
Prior art date
Application number
KR1020120016080A
Other languages
Korean (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 KR1020120016080A priority Critical patent/KR20130101626A/en
Priority to US13/770,398 priority patent/US20130219177A1/en
Publication of KR20130101626A publication Critical patent/KR20130101626A/en

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/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

PURPOSE: A security data processing device and a method thereof are provided to enable reliable data processing, to prevent an increase in manufacture cost, to eliminate the need to change a manufacture line of a mobile device, to guarantee the normal operation of a system, and to efficiently uses resources of the system. CONSTITUTION: A plurality of main processors connected with each other are executed under the control of a main operating system (210). A security operating system (310) and the main operating system are operated at the same time. One or more security processes are executed under the control of the security operating system and correspond to the main processes. If one or more of the main processes are in an abnormal operation state, the operation of one or more security processes is stopped and initialized. The security operating system processes data required for security in a specific area of a memory. [Reference numerals] (200) Main unit; (300) Security unit; (404) Audio stream and a video stream where security is requested?; (408) Request an audio stream and a video stream; (410) Receive the request for an audio stream and a video stream and determine the request?; (414) Store the decrypted audio data in a common storage area; (416) Notify the completion of the security decryption of the audio stream; (422) Perform security decryption for the video stream; (424) Store the decrypted video data in a common storage area; (426) Notify the completion of the security decryption of the video stream; (AA) Read an audio stream and a video stream according to a request for executing contents; (BB) No; (CC) Preform the process of an audio and a video stream in a common mode; (DD) Yes; (EE) Video stream decryption; (FF) Audio stream decryption; (GG) Perform security decryption for the audio stream depending on whether the audio stream is a tempered audio stream or not

Description

보안 데이터 처리 장치 및 방법{SECURE DATA PROCESSING DEVICE AND METHOD THEREOF}SECURE DATA PROCESSING DEVICE AND METHOD THEREOF

본 발명은 데이터 처리 장치에 관한 것으로서, 특히 메인 운영체제(Operating System, OS)와는 별도의 보안 운영체제를 이용하여 보안성을 향상시킬 수 있는 데이터 처리장치 및 그 방법에 관한 것이다.
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing apparatus, and more particularly, to a data processing apparatus and a method for improving security by using a security operating system separate from a main operating system (OS).

최근, 모바일 장치는 고품질의 서비스를 처리할 것이 요구된다. 예를 들어, 모바일 장치를 이용하여 원격에서 특정 기간 동안에 최근의 영화들을 다운로드하고 이에 대한 비용을 지불하거나, 은행 결제 서비스들을 수행할 수 있게 되었다.Recently, mobile devices are required to handle high quality services. For example, a mobile device can be used to remotely download and pay for recent movies or to perform bank payment services for a certain period of time.

이와 같은 다양한 서비스를 제공할 수 있도록, 모바일 장치는 중앙처리장치(Central Process Unit, CPU)와 운영체제(Operating System, OS)를 채용하고 있다. 모바일 장치는 개방형 어플리케이션 프로그램 인터페이스(Open Application Program Interface)를 구현하기 위해 개방형 운영체제(Open OS)를 채택하고 있다. 개방형 운영체제는 모바일 장치와 모바일 서비스의 경쟁력의 핵심이 되고 있다. 그리고 모바일 장치의 운영체제는 주요 제조사 및 주요 공급자에 의해 전략적으로 개방되어, 어플리케이션 프로그램 인터페이스(Application Program Interface), 소프트웨어 개발 키트(Software Development Kit), 및 소스파일까지 일반에 공개되고 있다. In order to provide such various services, the mobile device employs a central processing unit (CPU) and an operating system (OS). Mobile devices employ an Open OS to implement an Open Application Program Interface. Open operating systems are key to the competitiveness of mobile devices and mobile services. In addition, the operating system of the mobile device is strategically opened by major manufacturers and major suppliers, and the application program interface (Application Program Interface), software development kit (Software Development Kit), and even source files are open to the public.

또한, 모바일 장치들은 인터넷으로부터 다수의 어플리케이션들을 다운로드하고 있다. 이러한 어플리케이션들은 종종 모바일 장치의 제조사에 의해 품질의 검사 및 보장이 된 이후에 이용할 수 있도록 되어있으나, 실질적으로 다양한 어플리케이션들의 모든 기능들이 검사될 수는 없다. 따라서, 이러한 모바일 장치들을 타겟으로 하는 악성 코드가 점점 증가하고 있으며, 특히 개방형 운영체제를 사용하는 모바일 장치들이 악성 코드들의 소프트웨어 공격을 받을 수 있는 문제가 있다. 따라서 최근에는 보안 운영체제를 사용하기 위한 방법들이 모색되고 있다.Mobile devices are also downloading a number of applications from the Internet. These applications are often made available after quality inspection and assurance by the manufacturer of the mobile device, but practically not all the functions of the various applications can be examined. Therefore, malicious codes targeting these mobile devices are increasing. In particular, mobile devices using an open operating system are subject to a software attack of malicious codes. Recently, methods for using a secure operating system have been sought.

한편, 모바일 장치는 고품질의 서비스를 처리할 것이 요구되면서, 다양한 디지털 콘텐츠가 텔레비전, 컴퓨터, 휴대형 기기와 같은 사용자 디바이스에게 제공되고 있다. 디지털 콘텐츠에는 예를 들어, 동영상, 오디오 파일, 각종 애플리케이션 등이 있다. 이러한 디지털 콘텐츠를 제공이 활발해 지면서, 디지털 콘텐츠의 지적 자산에 대한 권리를 보호하기 위한 여러 가지 방안이 제안되고 있다. On the other hand, as mobile devices are required to process high quality services, various digital contents are provided to user devices such as televisions, computers, and portable devices. Examples of digital content include moving pictures, audio files, various applications, and the like. As the provision of such digital contents becomes active, various measures have been proposed to protect the rights of intellectual property of digital contents.

특히, DRM(Digital Rights Management) 등과 같은 디지털 콘텐츠 보호 기술이 디지털 콘텐츠를 보호하기 위한 방안 중 하나로, 제안되고 있다. 디지털 콘텐츠 보호 기술은 암호화 기술을 이용하여 디지털 콘텐츠의 지적 자산에 대한 권리를 지속적으로 관리 및 보호하기 위한 기술이다. 즉, 다양한 콘텐츠를 콘텐츠 제공자(Content Provider: CP)로부터 사용자에게 안전하게 전달하고, 이를 전달받은 사용자가 불법적으로 콘텐츠를 유통하는 것을 방지하기 위한 기술이다. 이러한 디지털 콘텐츠 보호 기술은 디지털 콘텐츠의 생성, 배포, 사용 및 폐기에 이르는 전 과정에 걸쳐 정보 보호가 가능하며, 온라인뿐만 아니라 오프라인상에서 사용자의 권한에 따른 사용과 권리 보호할 수 있다. In particular, digital content protection technologies such as DRM (Digital Rights Management) have been proposed as one of methods for protecting digital content. Digital content protection technology is a technology for continuously managing and protecting the rights to digital assets of digital content using encryption technology. That is, it is a technology for safely delivering various contents from a content provider (CP) to a user and preventing a user who receives the contents from illegally distributing the contents. This digital content protection technology can protect information throughout the entire process of creating, distributing, using and disposing of digital content, and protect user rights and usages according to user's rights both online and offline.

콘텐츠 보호 기술이 적용된 콘텐츠(이하 “보안 콘텐츠”라 함.)를 사용자 디바이스에서 이용하기 위해서는, 먼저 사용자 디바이스가 해당 보안 콘텐츠를 제공하는 시스템에 접속하여 보안 콘텐츠와, 보안 콘텐츠에 대한 메타데이터(Meta data) 및, 라이선스를 다운로드 받아야 한다. 여기서, 메타데이터는 보안 콘텐츠에 대한 정보가 저장된 데이터이며, 라이센스는 암호화된 보안 콘텐츠를 복호하는데 사용되는 복호키와 콘텐츠의 접근 권한(예컨대, 횟수 및 기간 등)을 명시하는 내용의 데이터이다. 이와 같은 과정을 통해 사용자 디바이스에 보안 콘텐츠와 라이센스가 모두 저장되면, 해당 보안 콘텐츠를 소비할 수 있게 된다. In order to use content-protected content (hereinafter referred to as “secure content”) on a user device, the user device first accesses a system that provides the secure content, and provides the secure content and metadata about the secure content. data) and a license to download. Here, the metadata is data in which information about the secure content is stored, and the license is data of a content specifying the decryption key used to decrypt the encrypted secure content and the access authority (for example, the number and duration) of the content. If both the security content and the license are stored in the user device through this process, the security content can be consumed.

본 발명의 목적은 악성 코드들의 공격으로부터 강건한 보안 데이터 처리 장치 및 방법을 제공함에 있다.An object of the present invention to provide a robust data processing apparatus and method from the attack of malicious codes.

본 발명의 다른 목적은 복수의 운영체제가 다수의 프로세스들을 운용하는 동안에 상기 프로세스들이 정상적으로 동작하지 않는 경우에도 시스템의 자원을 효율적으로 사용할 수 있는 보안 데이터 처리 장치 및 방법을 제공함에 있다.
Another object of the present invention is to provide an apparatus and method for secure data processing that can efficiently use resources of a system even when the processes do not operate normally while a plurality of operating systems operate a plurality of processes.

상기와 같은 본 발명의 목적들 중 적어도 하나는 하기의 구성요소들에 의해 달성될 수 있다.At least one of the above objects of the present invention can be achieved by the following components.

본 발명의 일 실시예에 따른 보안 데이터 처리 장치는, 메인 운영체제; 상기 메인 운영체제의 제어하에서 실행되며 서로 연관된 복수의 메인 프로세스들; 상기 메인 운영체제와 동시에 운영되는 보안 운영체제; 및 상기 보안 운영체제의 제어하에서 실행되며, 상기 메인 프로세스들에 대응되는 적어도 하나의 보안 프로세스;를 포함하며, 상기 복수의 메인 프로세스들 중 적어도 하나가 비정상 작동 상태인 경우, 상기 메인 운영체제의 요청에 의해 상기 적어도 하나의 보안 프로세스의 동작이 중단되고 초기화되는 것을 특징으로 한다. Security data processing apparatus according to an embodiment of the present invention, the main operating system; A plurality of main processes executed under the control of the main operating system and associated with each other; A security operating system operating simultaneously with the main operating system; And at least one security process that is executed under the control of the security operating system and corresponds to the main processes. When at least one of the plurality of main processes is in an abnormal operating state, the request is made by the main operating system. The operation of the at least one security process is interrupted and initialized.

상기 보안 운영체제는 메모리의 특정 영역 내에서 보안이 필요한 데이터를 처리하며, 상기 메인 운영체제는 상기 메모리의 상기 특정 영역에 접근할 수 없도록 형성될 수 있다.The secure operating system processes data requiring security in a specific area of the memory, and the main operating system may be configured to be inaccessible to the specific area of the memory.

또한, 상기 복수의 메인 프로세스들은 콘텐츠를 해독하기 위한 디크립트 프로세스, 상기 콘텐츠를 디코딩하기 위한 디코딩 프로세스, 상기 콘텐츠를 출력하기 위한 렌더링 프로세스, 상기 콘텐츠를 사용자에게 제공하기 위한 사용자 인터페이스(User Interface) 프로세스 중 어느 하나일 수 있다.Also, the plurality of main processes may include a decrypt process for decoding content, a decoding process for decoding the content, a rendering process for outputting the content, and a user interface process for providing the content to a user. It may be any one of.

또한, 상기 적어도 하나의 보안 프로세스는 콘텐츠를 해독하기 위한 디크립트 프로세스, 상기 콘텐츠를 디코딩하기 위한 디코딩 프로세스, 상기 콘텐츠를 출력하기 위한 렌더링 프로세스, 상기 콘텐츠를 사용자에게 제공하기 위한 사용자 인터페이스(User Interface) 프로세스 중 어느 하나일 수 있다.In addition, the at least one security process may include a decrypt process for decrypting content, a decoding process for decoding the content, a rendering process for outputting the content, and a user interface for providing the content to a user. It can be any one of the processes.

또한, 상기 보안 데이터 처리 장치가 상기 메인 운영체제에 의해 실행되는 일반 모드와 상기 보안 운영체제에 의해 실행되는 보안 모드 간에 스위칭을 가능하게 하는 보안 통신부를 더 포함할 수 있다.The security data processing apparatus may further include a security communication unit that enables switching between a normal mode executed by the main operating system and a security mode executed by the secure operating system.

또한, 상기 보안 통신부는 미리 정해진 비트(bit)를 이용하여 상기 메인 운영체제가 접근할 수 있는 메모리 영역과, 상기 보안 운영체제가 접근할 수 있는 메모리 영역을 하드웨어 상에서 구분시킬 수 있다.The secure communication unit may use a predetermined bit to distinguish between a memory area accessible by the main operating system and a memory area accessible by the secure operating system on hardware.

또한, 본 발명의 일 실시예에 따른 보안 데이터 처리 방법은, 메인 운영체제가, 상기 메인 운영체제의 제어하에서 실행되며 상기 메인 운영체제와 동시에 운영되는 보안 운영체제와 연관된 복수의 메인 프로세스들 중 제1 메인 프로세스가 비정상적으로 작동되고 있음을 검출하는 단계; 및 상기 메인 운영체제와 동시에 운영되는 상기 보안 운영체제의 제어하에서 실행되며, 상기 메인 프로세스들에 대응되는 적어도 하나의 보안 프로세스의 동작을 중단시키고 초기화하는 단계;를 포함하한다. In addition, the security data processing method according to an embodiment of the present invention, the main operating system is executed under the control of the main operating system, the first main process of the plurality of main processes associated with the security operating system running simultaneously with the main operating system Detecting abnormal operation; And stopping and initializing an operation of at least one security process corresponding to the main processes, which is executed under the control of the security operating system simultaneously running with the main operating system.

또한, 본 발명의 다른 실시예에 따른 보안 데이터 처리 방법은, 상기 제1 메인 프로세스를 제외한 다른 메인 프로세스들의 동작을 중단시키고 초기화하는 단계를 더 포함할 수 있다.In addition, the security data processing method according to another embodiment of the present invention may further include the step of stopping and initializing the operation of the main processes other than the first main process.

또한, 본 발명의 또 다른 실시예에 따른 보안 데이터 처리 방법은, 상기 메인 운영체제가 상기 제1 메인 프로세스를 제외한 다른 메인 프로세스들에 상기 제1 메인 프로세스가 비정상적으로 작동되고 있음을 통보하는 단계를 더 포함할 수 있다.In addition, the security data processing method according to another embodiment of the present invention, the main operating system further comprises the step of notifying the other main processes other than the first main process that the first main process is abnormally operated. It may include.

또한, 본 발명의 또 다른 실시예에 따른 보안 데이터 처리 방법은, 상기 메인 운영체제가 상기 제1 메인 프로세스를 제외한 다른 메인 프로세스들 중 어느 하나가 상기 메인 운영체제에 상기 보안 프로세스들을 중단하고 초기화시킬 것을 요청하는 단계를 더 포함할 수 있다.
In addition, the security data processing method according to another embodiment of the present invention, the main operating system requests that any one of the main processes other than the first main process to stop and initialize the security processes to the main operating system It may further comprise the step.

본 발명에 따르면, 하나의 시스템-온-칩(SoC) 상에 메인 운영체제와는 별도의 보안 운영체제를 운영함으로써, 칩 수준(chip level)에서 악성 코드들의 공격으로부터 중요한 컨텐츠를 보호할 수 있고, 이로 인하여 신뢰성 있는 데이터 처리가 가능한 이점이 있다. According to the present invention, by operating a security operating system separate from the main operating system on one system-on-chip (SoC), it is possible to protect important content from attack of malicious codes at the chip level, thereby Due to this there is an advantage that can be processed data reliably.

또한, 본 발명은 하나의 시스템-온-칩(SoC) 상에 메인 운영체제와는 별도의 보안 운영체제를 운영함으로써, 중앙처리장치(CPU) 이외에 데이터의 보안 처리를 위하여 별도의 칩을 구비하지 않아도 되고, 상기 별도의 보안칩의 제공에 따른 모바일 장치의 제조 원가 상승을 방지하고, 모바일 장치의 제조 라인을 변경하지 않아도 되는 이점이 있다. In addition, the present invention, by operating a security operating system separate from the main operating system on one system-on-chip (SoC), it is not necessary to provide a separate chip for the security processing of data in addition to the central processing unit (CPU) In this case, the manufacturing cost of the mobile device may be prevented from rising due to the provision of the separate security chip, and the manufacturing line of the mobile device may not be changed.

나아가 본 발명의 다른 목적은 복수의 운영체제가 다수의 프로세스들을 운용하는 동안에 상기 프로세스들이 정상적으로 동작하지 않는 경우에도 시스템의 정상 작동을 보장하고 또한, 시스템의 자원을 효율적으로 사용할 수 있는 이점이 있다.
Furthermore, another object of the present invention is to ensure the normal operation of the system even when the processes do not operate normally while a plurality of operating systems are operating a plurality of processes, there is an advantage that can use the resources of the system efficiently.

도 1은 본 발명의 일 실시예에 따른 모바일 장치를 나타내는 개략적인 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 CPU 프로세서의 구성도이다.
도 3은 본 발명의 일 실시 예에 따른 콘텐츠 실행 요청 시 메인부와 보안부의 동작을 나타낸 흐름도이다.
도 4는 본 발명의 일 실시 예에 따른 오디오 스트림에 대한 보안 디크립트 수행 과정을 나타낸 흐름도이다
도 5a 내지 도 5e는 본 발명의 일 실시예에 따라 보안 모드가 실행되는 동안에 프로세스가 비정상적으로 동작할 때의 복수의 프로세스들간에 초기화 및 동기화 방법을 나타내는 도면이다.
1 is a schematic block diagram illustrating a mobile device according to an embodiment of the present invention.
2 is a configuration diagram of a CPU processor according to an embodiment of the present invention.
3 is a flowchart illustrating operations of a main unit and a security unit when a content execution request is executed according to an embodiment of the present invention.
4 is a flowchart illustrating a process of performing security decryption on an audio stream according to an embodiment of the present invention.
5A through 5E are diagrams illustrating a method of initialization and synchronization between a plurality of processes when a process operates abnormally while a security mode is executed according to an embodiment of the present invention.

이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명에 따른 예시적 실시예를 상세하게 설명한다. 다만, 본 발명이 예시적 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 실질적으로 동일한 기능을 수행하는 부재를 나타낸다. Hereinafter, exemplary embodiments according to the present invention will be described in detail with reference to the contents described in the accompanying drawings. However, the present invention is not limited to or limited by the exemplary embodiments. Like reference numerals in the drawings denote members performing substantially the same function.

본 발명의 실시 예에 따르면, 보안 데이터 처리 장치는 DRM(Digital Rights Management) 등의 콘텐츠 보호 기술에 의해 보호되는 디지털 콘텐츠(이하 '보안 콘텐츠'라 칭함)를 제공받아 실행 시 보안 콘텐츠에 대한 실행을 메인 운영체제와 별도의 외부 접근이 차단된 보안 운영체제를 이용하여 실행한다. 이러한 본 발명의 실시 예에서 보안 콘텐츠는 DRM 등의 콘텐츠 보호 기술에 의해 보호되는 인크립트(암호화)된 오디오 스트림 또는/및 비디오 스트림 등이 될 수 있다. 또한 본 발명의 실시 예에서 보안 데이터 처리 장치는 TV, PC, 모바일 단말 등과 같이 보안 콘텐츠를 제공받아 이용할 수 있는 장치로서, 메인 운영체제와 별도의 외부 접근이 차단된 보안 운영체제를 이용하여 보안 콘텐츠를 실행하는 장치라면 어느 것이나 가능하다.According to an embodiment of the present invention, the secure data processing device receives digital content (hereinafter referred to as 'security content') protected by a content protection technology such as digital rights management (DRM) to execute execution of the secure content when executed. It is executed using the security operating system which is separated from the main operating system and external access. In such embodiments of the present invention, the secure content may be an encrypted (encrypted) audio stream and / or a video stream protected by a content protection technology such as DRM. In addition, in the embodiment of the present invention, the secure data processing device is a device that can receive and use secure content such as a TV, a PC, a mobile terminal, etc., and executes the secure content using a secure operating system in which external access is blocked separately from the main operating system. Any device can be used.

본 발명에서는 스마트폰 등과 같은 모바일 장치에 보안 데이터 처리 장치가 적용된 경우를 일 예를 들어 설명한다. In the present invention, a case where a secure data processing device is applied to a mobile device such as a smartphone will be described as an example.

도 1은 본 발명의 일 실시예에 따른 모바일 장치를 나타내는 개략적인 블록도이다. 도 1을 참조하면, 장치(100)는 이동통신 모듈(120), 서브통신 모듈(130) 및 커넥터(165)를 이용하여 외부장치(도시되지 아니함)와 연결될 수 있다. “외부장치”는 다른 장치(도시되지 아니함), 휴대폰(도시되지 아니함), 스마트폰(도시되지 아니함), 태블릿PC(도시되지 아니함) 및 서버(도시되지 아니함)를 포함한다. 1 is a schematic block diagram illustrating a mobile device according to an embodiment of the present invention. Referring to FIG. 1, the device 100 may be connected to an external device (not shown) using the mobile communication module 120, the sub communication module 130, and the connector 165. "External device" includes other devices (not shown), mobile phones (not shown), smartphones (not shown), tablet PCs (not shown), and servers (not shown).

도 1을 참조하면, 장치(100)는 터치스크린(190) 및 터치스크린 컨트롤러(195)를 포함한다. 또한, 장치(100)는 제어부(110), 이동통신 모듈(120), 서브통신 모듈(130), 멀티미디어 모듈(140), 카메라 모듈(150), GPS모듈(155), 입/출력 모듈(160), 센서 모듈(170), 저장부(175) 및 전원공급부(180)를 포함한다. 서브통신 모듈(130)은 무선랜 모듈(131) 및 근거리통신 모듈(132) 중 적어도 하나를 포함하고, 멀티미디어 모듈(140)은 방송통신 모듈(141), 오디오재생 모듈(142) 및 동영상재생 모듈(143) 중 적어도 하나를 포함한다. 카메라 모듈(150)은 제1 카메라(151) 및 제2 카메라(152) 중 적어도 하나를 포함하고, 입/출력 모듈(160)은 버튼(161), 마이크(162), 스피커(163), 진동모터(164), 커넥터(165), 및 키패드(166) 중 적어도 하나를 포함한다. Referring to FIG. 1, the device 100 includes a touch screen 190 and a touch screen controller 195. In addition, the device 100 may include a control unit 110, a mobile communication module 120, a sub communication module 130, a multimedia module 140, a camera module 150, a GPS module 155, and an input / output module 160. ), A sensor module 170, a storage unit 175, and a power supply unit 180. The sub communication module 130 includes at least one of a wireless LAN module 131 and a local communication module 132. The multimedia module 140 includes a broadcasting communication module 141, an audio reproduction module 142, (143). The camera module 150 includes at least one of the first camera 151 and the second camera 152, and the input / output module 160 includes a button 161, a microphone 162, a speaker 163, and vibrations. At least one of a motor 164, a connector 165, and a keypad 166.

제어부(110)는 CPU(111), 장치(100)의 제어를 위한 제어프로그램이 저장된 롬(ROM,112) 및 장치(100)의 외부로부터 입력되는 신호 또는 데이터를 기억하거나, 장치(100)에서 수행되는 작업을 위한 기억영역으로 사용되는 램(RAM,113) 등으로 구성될 수 있다. CPU(111)는 싱글 코어, 듀얼 코어, 트리플 코어, 또는 쿼드 코어를 포함할 수 있다. CPU(111), 롬(112) 및 램(113)은 내부버스(bus)를 통해 상호 연결될 수 있다.The control unit 110 stores the CPU 111, a ROM (ROM) 112 in which a control program for controlling the device 100 is stored, and a signal or data input from the outside of the device 100, or in the device 100. The RAM 113 may be used as a storage area for a task to be performed. The CPU 111 may include a single core, a dual core, a triple core, or a quad core. The CPU 111, the ROM 112, and the RAM 113 may be interconnected via an internal bus.

제어부(110)는 이동통신 모듈(120), 서브통신 모듈(130), 멀티미디어 모듈(140), 카메라 모듈(150), GPS 모듈(155), 입/출력 모듈(160), 센서 모듈(170), 저장부(175), 전원공급부(180), 터치스크린(190) 및 터치스크린 컨트롤러(195)를 제어할 수 있다. The controller 110 may include a mobile communication module 120, a sub communication module 130, a multimedia module 140, a camera module 150, a GPS module 155, an input / output module 160, and a sensor module 170. The controller 175 may control the storage unit 175, the power supply unit 180, the touch screen 190, and the touch screen controller 195.

이러한 제어부(110)는 하나의 CPU(111) 프로세서를 이용하여 일반 실행과 보안 실행을 각각 두 개의 분리된 메인 모드와 보안 모드를 이용하여 수행한다. 보안 모드는 보안이 요구되는 중요 실행을 수행하는 모드이고, 일반 모드는 보안 요구되지 않은 비보안 실행을 수행하는 모드이다. 본 발명의 실시 예에 따르면 제어부(110)는 비보안 실행(이하 '일반 실행')을 수행하는 메인부와 보안 실행을 수행하는 보안부를 구비하고, 메인부와 보안부를 통해 각각 일반 모드와 보안 모드를 수행할 수 있다. 상기 메인부 내에는 메인 운영체제(Main Operating System)이 실행되며, 상기 보안부 내에는 보안 운영체제(Secure Operating System)이 별도로 실행된다. 그리고, 상기 보안 운영체제에 의해 이용되는 메모리 영역은 보안 저장 영역으로서 상기 메인 운영체제에 의해 접근이 차단된다. 이에 따라, 상기 메인 운영체제가 공개형 운영체제인 경우에도 악성 코드가 상기 보안 운영체제 및 상기 보안 운영체제가 이용하는 메모리 영역에 접근을 할 수 없게 된다. The controller 110 performs general execution and security execution using two separate main modes and security modes using one CPU 111 processor. The secure mode is a mode for performing critical execution that requires security, and the normal mode is a mode for performing non-secure execution that does not require security. According to an embodiment of the present invention, the control unit 110 includes a main unit for performing non-secure execution (hereinafter referred to as 'normal execution') and a security unit for performing security execution, and the general mode and the security mode through the main unit and the security unit, respectively. Can be done. A main operating system is executed in the main unit, and a secure operating system is separately executed in the security unit. In addition, the memory area used by the secure operating system is a secure storage area, and access is blocked by the main operating system. Accordingly, even when the main operating system is an open operating system, malicious code cannot access the security operating system and the memory area used by the security operating system.

제어부(110)는 일반 프로그램 또는 어플리케이션 또는 보안 요구되지 않은 일반 콘텐츠 등은 일반 모드에서 실행하고, 보안이 요구되는 프로그램 또는 보안이 요구되는 어플리케이션 또는 보안이 요구된 보안 콘텐츠는 보안 모드에서 실행한다. 여기서 보안이 요구되는 프로그램, 어플리케이션 또는 콘텐츠란, 예를 들어 DRM이 설정된 콘텐츠, 은행 결제 서비스 또는 전자상거래와 같이 고도의 보안이 요구되는 콘텐츠를 말한다. 또한, 보안이 필요한 모든 콘텐츠를 고도의 보안이 요구되는 콘텐츠와 상대적으로 저도의 보안이 요구되는 콘텐츠를 구분하고, 상기 고도의 보안이 요구되는 콘텐츠는 보안부(300)에서 처리하고, 상기 상대적으로 저도의 보안이 요구되는 콘텐츠는 메인부(200)에서 처리할 수도 있다. 특히 본 발명의 실시 예에 따르면 제어부(110)는 DRM 등의 콘텐츠 보호 기술에 의해 보호되는 보안 콘텐츠에 대한 처리를 보안 모드에서 실행한다. 예컨대 제어부(110)는 보안 콘텐츠에 해당하는 오디오 또는/및 비디오 스트림에 대한 디크립션(decryption) 실행, 디코딩(decording) 실행, 렌더링(rendering) 실행을 보안 모드에서 보안 운영체제의 운영 하에 실행할 수 있다.The controller 110 executes a general program or an application or general content that is not required for security in a normal mode, and executes a program that requires security or an application that requires security or a security content that requires security in a security mode. Herein, a program, an application, or a content requiring security refers to a content requiring high security, such as DRM-configured content, a bank payment service, or an e-commerce. In addition, all the content that requires security is classified between the content that requires a high security and the content that requires a relatively low security, the content requiring high security is processed by the security unit 300, the relatively low Content that requires the security of the main unit 200 may be processed. In particular, according to an embodiment of the present invention, the control unit 110 executes a process for secure content protected by a content protection technology such as DRM in a secure mode. For example, the controller 110 may execute decryption, decoding, and rendering on the audio or / and video stream corresponding to the secure content under the operation of the secure operating system in a secure mode. .

구체적으로 제어부(110)는 사용자 요청에 따라 콘텐츠 실행 요구가 수신되면, 일반 모드에서 콘텐츠에 해당하는 오디오 또는/및 비디오 스트림을 읽어오고, 읽어온 오디오 또는/및 비디오 스트림이 보안 요구된 오디오 또는/및 비디오 스트림인지 판단한다. 제어부(110)는 보안 요구된 경우 보안 모드로 전환(Switch)하여 읽어온 보안 요구된 오디오 또는/및 비디오 스트림을 처리한다. 예컨대 제어부(110)는 보안 모드에서 보안 요구된 오디오 또는/및 비디오 스트림에 대한 디크립션, 디코딩, 렌더링 처리를 수행하고, 접근이 제한된 보안 저장 영역에 처리 결과를 저장한다. 그리고 제어부(110)는 보안 모드에서 보안 저장 영역에 저장된 오디오 또는/및 비디오 데이터가 멀티미디어 모듈(140)을 통해 출력되도록 제어한다. 이와 같이 제어부(110)는 보안 콘텐츠가 보안 모드에서 접근 제한된 보안 저장 영역(179)을 이용하여 처리되도록 제어함으로써, 보안 콘텐츠의 해킹을 어렵게 만든다.In detail, when the content execution request is received according to a user's request, the controller 110 reads an audio or video stream corresponding to the content in a normal mode, and the audio or / and video stream that has been read is the audio or security request. And whether it is a video stream. The controller 110 processes the security requested audio or / and video stream read by switching to a security mode when security is required. For example, the controller 110 performs decryption, decoding, and rendering on the security-required audio and / or video streams in the security mode, and stores the processing result in a restricted storage storage area. The controller 110 controls the audio or video data stored in the secure storage area to be output through the multimedia module 140 in the secure mode. As such, the controller 110 controls the secure content to be processed using the secured access area 179 restricted in the secure mode, thereby making it difficult to hack the secure content.

한편, 제어부(110)는 보안 요구된 오디오 또는/및 비디오 스트림에 대한 처리 수행 시, 오디오 스트림에 대해서는 디크립션 처리만 보안 모드에서 처리하고, 디크립드된 오디오 스트림에 대한 디코딩 및 렌더링 처리는 일반 모드에서 처리할 수 있다.Meanwhile, the controller 110 processes only the decryption processing in the security mode for the audio stream and the decoding and rendering processing for the decrypted audio stream when performing processing on the security-required audio or / and video stream. Can be processed in normal mode.

그런데 디크립트된 오디오 스트림에 대한 디코딩 및 렌더링 처리가 일반 모드에서 처리되는 경우, 디스크립트된 오디오 스트림을 디코딩 하고 난 후, 디코딩된 오디오 데이터가 일반 저장 영역(177)에 저장된다. 그런데 일반 저장 영역(177)은 비보안 저장 영역으로서, 일반 모드에서 권한과 상관없이 접근 가능하므로, 오디오데이터가 일반 저장 영역(177)에 저장되어 있으면 해킹이 가능하게 된다. 이러한 점을 이용하여 악의적인 사용자가 오디오 데이터가 아닌 다른 종류의 데이터(예컨대 비디오 데이터)를 오디오 데이터를 나타내는 식별자를 사용하여 오디오 스트림(이하 '템퍼드(tempered) 오디오 스트림'이라 칭함)으로 구성하고, 이를 이용하여 불법적으로 이용하고자 하는 경우가 발생할 수 있다. 다시 말해, 비디오 데이터가 템퍼드 오디오 스트림으로 구성된 경우, 보안 모드에서 템퍼드 오디오 스트림이 디크립트되더라도, 일반 모드에서 디크립드된 템퍼드 오디오 스트림이 디코딩된다면, 비디오 데이터가 산출되어 일반 저장 영역에 저장될 수 있기 때문에 악의적인 사용자는 템퍼드 오디오 스트림을 생성하여 원하는 비디오 데이터를 해킹하고자 할 수 있는 것이다.However, when the decoding and rendering process for the decrypted audio stream is processed in the normal mode, after decoding the descripted audio stream, the decoded audio data is stored in the general storage area 177. However, since the general storage area 177 is an insecure storage area and can be accessed regardless of the authority in the normal mode, hacking is possible when the audio data is stored in the general storage area 177. This allows a malicious user to organize data other than audio data (e.g. video data) into an audio stream (hereinafter referred to as a "tempered audio stream") using an identifier that represents the audio data. In this case, there may be cases where it is illegal to use it. In other words, if the video data is composed of a tempered audio stream, even if the tempered audio stream is decrypted in the secure mode, if the decoded tempered audio stream is decoded in the normal mode, the video data is calculated and stored in the normal storage area. Because it can be stored, a malicious user may want to create a tempered audio stream to hack the desired video data.

이를 방지하기 위해, 본 발명의 실시 예에 따르면 제어부(110)는 보안 모드에서 템퍼드 오디오 스트림인지 여부를 판단하여 템퍼드 오디오 스트림을 검출하고, 템퍼드 오디오 스트림이 아닌 경우에만 보안 디크립트를 수행하도록 제어한다. 이로써 템퍼드 오디오 스트림을 이용한 비디오 데이터의 해킹이 방지될 수 있다.To prevent this, according to an embodiment of the present invention, the control unit 110 detects the tempered audio stream by determining whether the tempered audio stream is in the secure mode, and performs security decryption only when the tempered audio stream is not. To control. This can prevent hacking of video data using the tempered audio stream.

이동통신 모듈(120)은 제어부(110)의 제어에 따라 적어도 하나-하나 또는 복수-의 안테나(도시되지 아니함)를 이용하여 이동 통신을 통해 장치(100)가 외부 장치와 연결되도록 한다. 이동통신 모듈(120)은 장치(100)에 입력되는 전화번호를 가지는 휴대폰(도시되지 아니함), 스마트폰(도시되지 아니함), 태블릿PC 또는 다른 장치(도시되지 아니함)와 음성 통화, 화상 통화, 문자메시지(SMS) 또는 멀티미디어 메시지(MMS)를 위한 무선 신호를 송/수신한다. The mobile communication module 120 allows the device 100 to be connected to an external device through mobile communication using at least one, one, or a plurality of antennas (not shown) under the control of the controller 110. The mobile communication module 120 includes a voice call, a video call with a mobile phone (not shown), a smart phone (not shown), a tablet PC or another device (not shown) having a phone number input to the device 100, Send / receive wireless signals for text messages (SMS) or multimedia messages (MMS).

서브통신 모듈(130)은 무선랜 모듈(131)과 근거리통신 모듈(132) 중 적어도 하나를 포함할 수 있다. 예를 들어, 무선랜 모듈(131)만 포함하거나, 근거리통신 모듈(132)만 포함하거나 또는 무선랜 모듈(131)과 근거리통신 모듈(132)을 모두 포함할 수 있다. The sub communication module 130 may include at least one of a wireless LAN module 131 and a local area communication module 132. For example, it may include only the wireless LAN module 131, only the short range communication module 132, or both the wireless LAN module 131 and the short range communication module 132.

무선랜 모듈(131)은 제어부(110)의 제어에 따라 무선 AP(access point)(도시되지 아니함)가 설치된 장소에서 인터넷에 연결될 수 있다. 무선랜 모듈(131)은 미국전기전자학회(IEEE)의 무선랜 규격(IEEE802.11x)을 지원한다. 근거리통신 모듈(132)은 제어부(110)의 제어에 따라 장치(100)와 화상형성장치(도시되지 아니함) 사이에 무선으로 근거리 통신을 할 수 있다. 근거리 통신방식은 블루투스(bluetooth), 적외선 통신(IrDA, infrared data association) 등이 포함될 수 있다. The WLAN module 131 may be connected to the Internet at a place where a wireless access point (AP) (not shown) is installed under the control of the controller 110. The wireless LAN module 131 supports the IEEE 802.11x standard of the Institute of Electrical and Electronics Engineers (IEEE). The short range communication module 132 may wirelessly perform short range communication between the apparatus 100 and an image forming apparatus (not shown) under the control of the controller 110. The local area communication method may include bluetooth, infrared data association (IrDA), and the like.

장치(100)는 성능에 따라 이동통신 모듈(120), 무선랜 모듈(131), 및 근거리통신 모듈(132) 중 적어도 하나를 포함할 수 있다. 예를 들어, 장치(100)는 성능에 따라 이동통신 모듈(120), 무선랜 모듈(131), 및 근거리통신 모듈(132)들의 조합을 포함할 수 있다. The device 100 may include at least one of a mobile communication module 120, a wireless LAN module 131, and a short range communication module 132 according to performance. For example, the device 100 may include a combination of the mobile communication module 120, the wireless LAN module 131, and the short range communication module 132 according to performance.

이러한 이동통신 모듈(120), 무선랜 모듈(131), 및 근거리통신 모듈(132) 중 적어도 하나는 제어부(110)의 제어 하에 외부 콘텐츠 제공자에게 보안 콘텐츠를 요청하기 위한 요청신호를 송신하거나, 보안콘텐츠 요청에 대한 응답으로 보안 콘텐츠를 수신할 수 있다. 또한 이동통신 모듈(120), 무선랜 모듈(131), 및 근거리통신 모듈(132) 중 적어도 하나는 제어부(110)의 제어 하에 DRM 등의 보호된 콘텐츠를 디크립트하거나 인증하기 위한 키 데이터 및 인증 정보를 요청 및 수신할 수 있다.At least one of the mobile communication module 120, the wireless LAN module 131, and the short-range communication module 132 transmits a request signal for requesting secure content to an external content provider under the control of the controller 110, or Secure content may be received in response to a content request. In addition, at least one of the mobile communication module 120, the wireless LAN module 131, and the short-range communication module 132 is key data and authentication for decrypting or authenticating protected content such as DRM under the control of the controller 110. Request and receive information.

멀티미디어 모듈(140)은 방송통신 모듈(141), 오디오재생 모듈(142) 또는 동영상재생 모듈(143)을 포함할 수 있다. 방송통신 모듈(141)은 제어부(110)의 제어에 따라 방송통신 안테나(도시되지 아니함)를 통해 방송국에서부터 송출되는 방송 신호(예, TV방송 신호, 라디오방송 신호 또는 데이터방송 신호) 및 방송부가 정보(예, EPS(Electric Program Guide) 또는 ESG(Electric Service Guide))를 수신할 수 있다. 오디오재생 모듈(142)는 제어부(110)의 제어에 따라 저장되거나 또는 수신되는 디지털 오디오 파일(예, 파일 확장자가 mp3, wma, ogg 또는 wav인 파일)을 재생할 수 있다. 동영상재생 모듈(143)은 제어부(110)의 제어에 따라 저장되거나 또는 수신되는 디지털 동영상 파일(예, 파일 확장자가 mpeg, mpg, mp4, avi, mov, 또는 mkv인 파일)을 재생할 수 있다. 동영상재생 모듈(143)은 디지털 오디오 파일을 재생할 수 있다. The multimedia module 140 may include a broadcasting communication module 141, an audio reproducing module 142, or a moving picture reproducing module 143. The broadcast communication module 141 may control a broadcast signal (eg, a TV broadcast signal, a radio broadcast signal or a data broadcast signal) transmitted from a broadcast station through a broadcast communication antenna (not shown) under the control of the controller 110 and the broadcast unit information. For example, an electric program guide (EPS) or an electric service guide (ESG) may be received. The audio playback module 142 may play a digital audio file (eg, a file extension of mp3, wma, ogg, or wav) stored or received under the control of the controller 110. The video playback module 143 may play a digital video file (eg, a file extension of mpeg, mpg, mp4, avi, mov, or mkv) stored or received under the control of the controller 110. The moving picture reproducing module 143 can reproduce the digital audio file.

멀티미디어 모듈(140)은 방송통신 모듈(141)을 제외하고 오디오재생 모듈(142)과 동영상재생 모듈(143)을 포함할 수 있다. 또한, 멀티미디어 모듈(140)의 오디오재생 모듈(142) 또는 동영상재생 모듈(143)은 제어부(100)에 포함될 수 있다. 이러한 멀티미디어 모듈(140)은 제어부(110)의 제어 하에 일반 모드에서는 일반 저장 영역(177)에 저장된 오디오 또는/및 비디오 데이터를 처리하여 출력하고, 보안 모드에서는 보안 저장 영역(177)에 저장된 오디오 또는/및 비디오 데이터를 처리하여 출력할 수 있다.The multimedia module 140 may include an audio play module 142 and a video play module 143 except for the broadcast communication module 141. The audio reproducing module 142 or the moving picture reproducing module 143 of the multimedia module 140 may be included in the controller 100. The multimedia module 140 processes and outputs audio and / or video data stored in the general storage area 177 in the normal mode under the control of the controller 110, and outputs audio or video data stored in the secure storage area 177 in the security mode. And / or process and output video data.

카메라 모듈(150)은 제어부(110)의 제어에 따라 정지이미지 또는 동영상을 촬영하는 제1 카메라(151) 및 제2 카메라(152) 중 적어도 하나를 포함할 수 있다. 또한, 제1 카메라(151) 또는 제2 카메라(152)는 촬영에 필요한 광량을 제공하는 보조 광원(예, 플래시(도시되지 아니함))를 포함할 수 있다. 제1 카메라(151)는 상기 장치(100) 전면에 배치되고, 제2 카메라(152)는 상기 장치(100)의 후면에 배치될 수 있다. 달리 취한 방식으로, 제1 카메라(151)와 제2 카메라(152)는 인접(예, 제1 카메라(151)와 제2 카메라(152)의 간격이 1 cm 보다 크고, 8 cm 보다는 작은)하게 배치되어 3차원 정지이미지 또는 3차원 동영상을 촬영할 수 있다. The camera module 150 may include at least one of a first camera 151 and a second camera 152 for capturing still images or moving images under the control of the controller 110. [ Also, the first camera 151 or the second camera 152 may include an auxiliary light source (eg, a flash (not shown)) that provides a light amount required for photographing. The first camera 151 may be disposed on the front of the device 100, and the second camera 152 may be disposed on the back of the device 100. In a different manner, the first camera 151 and the second camera 152 are adjacent (eg, the distance between the first camera 151 and the second camera 152 is greater than 1 cm and less than 8 cm). It is arranged to take a three-dimensional still image or a three-dimensional video.

GPS 모듈(155)은 지구 궤도상에 있는 복수의 GPS위성(도시되지 아니함)에서부터 전파를 수신하고, GPS위성(도시되지 아니함)에서부터 장치(100)까지 전파도달시간(Time of Arrival)을 이용하여 장치(100)의 위치를 산출할 수 있다. The GPS module 155 receives radio waves from a plurality of GPS satellites (not shown) on Earth's orbit, and uses a time of arrival from the GPS satellites (not shown) to the device 100. The location of the device 100 can be calculated.

입/출력 모듈(160)은 복수의 버튼(161), 마이크(162), 스피커(163), 진동모터(164), 커넥터(165), 및 키패드(166) 중 적어도 하나를 포함할 수 있다. The input / output module 160 may include at least one of a plurality of buttons 161, a microphone 162, a speaker 163, a vibration motor 164, a connector 165, and a keypad 166.

버튼(161)은 상기 장치(100)의 하우징의 전면, 측면 또는 후면에 형성될 수 있으며, 전원/잠금 버튼(도시되지 아니함), 볼륨버튼(도시되지 아니함), 메뉴 버튼, 홈 버튼, 돌아가기 버튼(back button) 및 검색 버튼(161) 중 적어도 하나를 포함할 수 있다.Button 161 may be formed on the front, side or rear of the housing of the device 100, the power / lock button (not shown), volume button (not shown), menu button, home button, return It may include at least one of a button (back button) and the search button 161.

마이크(162)는 제어부(110)의 제어에 따라 음성(voice) 또는 사운드(sound)를 입력 받아 전기적인 신호를 생성한다. The microphone 162 receives a voice or a sound under the control of the controller 110 and generates an electrical signal.

스피커(163)는 제어부(110)의 제어에 따라 이동통신 모듈(120), 서브통신 모듈(130), 멀티미디어 모듈(140) 또는 카메라 모듈(150)의 다양한 신호(예, 무선신호, 방송신호, 디지털 오디오 파일, 디지털 동영상 파일 또는 사진 촬영 등)에 대응되는 사운드를 장치(100) 외부로 출력할 수 있다. 스피커(163)는 장치(100)가 수행하는 기능에 대응되는 사운드(예, 전화 통화에 대응되는 버튼 조작음, 또는 통화 연결음)를 출력할 수 있다. 스피커(163)는 상기 장치(100)의 하우징의 적절한 위치 또는 위치들에 하나 또는 복수로 형성될 수 있다.The speaker 163 may control various signals (eg, wireless signals, broadcast signals, etc.) of the mobile communication module 120, the sub communication module 130, the multimedia module 140, or the camera module 150 under the control of the controller 110. Sound corresponding to a digital audio file, a digital video file, or a photo capture) may be output to the outside of the apparatus 100. The speaker 163 can output sound corresponding to the function performed by the apparatus 100 (e.g., a button operation sound corresponding to a telephone call or a ring back tone). The speaker 163 may be formed at one or a plurality of positions at appropriate positions or positions of the housing of the apparatus 100.

진동모터(164)는 제어부(110)의 제어에 따라 전기적 신호를 기계적 진동으로 변환할 수 있다. 예를 들어, 진동 모드에 있는 장치(100)는 다른 장치(도시되지 아니함)로부터 음성통화가 수신되는 경우, 진동모터(164)가 동작한다. 상기 장치(100)의 하우징 내에 하나 또는 복수로 형성될 수 있다. 진동모터(164)는 터치스크린(190) 상을 터치하는 사용자의 터치 동작 및 터치스크린(190) 상에서의 터치의 연속적인 움직임에 응답하여 동작할 수 있다. The vibration motor 164 can convert an electrical signal into a mechanical vibration under the control of the control unit 110. [ For example, when the device 100 in the vibration mode receives a voice call from another device (not shown), the vibration motor 164 operates. May be formed in the housing of the apparatus 100 in one or more. The vibration motor 164 may operate in response to the user's touching operation on the touch screen 190 and the continuous movement of the touch on the touch screen 190.

커넥터(165)는 장치(100)와 외부장치(도시되지 아니함) 또는 전원소스(도시되지 아니함)를 연결하기 위한 인터페이스로 이용될 수 있다. 제어부(110)의 제어에 따라 커넥터(165)에 연결된 유선 케이블을 통해 장치(100)의 저장부(175)에 저장된 데이터를 외부 장치(도시되지 아니함)로 전송하거나 또는 외부 장치(도시되지 아니함)에서부터 데이터를 수신할 수 있다. 커넥터(165)에 연결된 유선 케이블을 통해 전원소스(도시되지 아니함)에서부터 전원이 입력되거나 배터리(도시되지 아니함)를 충전할 수 있다.The connector 165 may be used as an interface for connecting the device 100 and an external device (not shown) or a power source (not shown). Under the control of the controller 110, data stored in the storage unit 175 of the device 100 is transmitted to an external device (not shown) or an external device (not shown) through a wired cable connected to the connector 165. You can receive data from. Power may be input from a power source (not shown) or a battery (not shown) may be charged through a wired cable connected to the connector 165.

키패드(166)는 장치(100)의 제어를 위해 사용자로부터 키 입력을 수신할 수 있다. 키패드(166)는 장치(100)에 형성되는 물리적인 키패드(도시되지 아니함) 또는 터치스크린(190)에 표시되는 가상의 키패드(도시되지 아니함)를 포함한다. 장치(100)에 형성되는 물리적인 키패드(도시되지 아니함)는 장치(100)의 성능 또는 구조에 따라 제외될 수 있다. Keypad 166 may receive a key input from a user for control of device 100. Keypad 166 includes a physical keypad (not shown) formed on device 100 or a virtual keypad (not shown) displayed on touch screen 190. Physical keypads (not shown) formed in the device 100 may be excluded depending on the performance or structure of the device 100.

센서 모듈(170)은 장치(100)의 상태를 검출하는 적어도 하나의 센서를 포함한다. 예를 들어, 센서모듈(170)은 사용자의 장치(100)에 대한 접근여부를 검출하는 근접센서, 장치(100) 주변의 빛의 양을 검출하는 조도센서(도시되지 아니함), 또는 장치(100)의 동작(예, 장치(100)의 회전, 장치(100)에 가해지는 가속도 또는 진동)을 검출하는 모션센서(도시되지 아니함)를 포함할 수 있다. 적어도 하나의 센서는 상태를 검출하고, 검출에 대응되는 신호를 생성하여 제어부(110)로 전송할 수 있다. 센서모듈(170)의 센서는 장치(100)의 성능에 따라 추가되거나 삭제될 수 있다.Sensor module 170 includes at least one sensor that detects a state of device 100. For example, the sensor module 170 may include a proximity sensor that detects whether the user approaches the device 100, an illuminance sensor (not shown) that detects the amount of light around the device 100, or the device 100. ), A motion sensor (not shown) that detects an operation (eg, rotation of the device 100, acceleration or vibration applied to the device 100). At least one of the sensors may detect the state, generate a signal corresponding to the detection, and transmit the signal to the control unit 110. The sensor of the sensor module 170 may be added or deleted according to the performance of the device 100.

저장부(175)는 제어부(110)의 제어에 따라 이동통신 모듈(120), 서브통신 모듈(130), 멀티미디어 모듈(140), 카메라 모듈(150), GPS모듈(155), 입/출력 모듈(160), 센서 모듈(170), 터치스크린(190)의 동작에 대응되게 입/출력되는 신호 또는 데이터를 저장할 수 있다. 저장부(175)는 장치(100) 또는 제어부(110)의 제어를 위한 제어 프로그램 및 어플리케이션들을 저장할 수 있다.The storage unit 175 is connected to the mobile communication module 120, the sub communication module 130, the multimedia module 140, the camera module 150, the GPS module 155, the input / And may store signals or data input / output corresponding to the operation of the touch panel 160, the sensor module 170, and the touch screen 190. The storage unit 175 may store a control program and applications for controlling the device 100 or the controller 110.

“저장부”라는 용어는 저장부(175), 제어부(110)내 롬(112), 램(113) 또는 장치(100)에 장착되는 메모리 카드(도시되지 아니함)(예, SD 카드, 메모리 스틱)를 포함한다. 저장부는 비휘발성메모리, 휘발성메모리, 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD)를 포함할 수 있다.  The term “storage unit” refers to a memory card (not shown) mounted in the storage unit 175, the ROM 112 in the control unit 110, the RAM 113, or the device 100 (eg, an SD card or a memory stick). ). The storage unit may include a nonvolatile memory, a volatile memory, a hard disk drive (HDD), or a solid state drive (SSD).

이러한 저장부(175)는 일반 저장 영역(177)과, 보안 저장 영역(179)을 포함할 수 있다. 일반 저장 영역(177)에는 일반 데이터 및 프로그램들이 저장될 수 있고, 보안 저장 영역(179)에는 보안 모드에서 접근 허여된 구성요소들만 접근할 수 있는 데이터 및 프로그램들이 저장될 수 있다. 본 발명의 실시 예에 따르면 일반 저장 영역(177)에는 이동통신 모듈(120), 무선랜 모듈(131), 및 근거리통신 모듈(132) 중 적어도 하나를 이용하여 다운로드 받은 콘텐츠에 해당하는 오디오 또는/및 비디오 스트림이 저장될 수 있다. 또한 일반 저장 영역(177)에는 일반 모드에서 일반 콘텐츠에 대한 디크립트 및 디코딩 수행 시 발생되는 디크립트된 오디오 또는/및 비디오 데이터와 디코딩된 오디오 데이터 및/또는 비디오 데이터 등이 저장될 수 있다. 보안 저장 영역(179)에는 보안 모드에서 보안 콘텐츠에 대한 디크립트 및 디코딩 수행 시 발생되는 디크립트된 오디오 또는/및 비디오 데이터 또는 디코딩된 오디오 또는/및 비디오 데이터 등이 저장될 수 있다.The storage unit 175 may include a general storage area 177 and a secure storage area 179. In the general storage area 177, general data and programs may be stored, and in the secure storage area 179, data and programs that may be accessed only by components accessed in a secure mode may be stored. According to an embodiment of the present invention, in the general storage area 177, audio corresponding to content downloaded using at least one of the mobile communication module 120, the wireless LAN module 131, and the short-range communication module 132 or / And a video stream can be stored. In addition, the normal storage area 177 may store decrypted audio and / or video data and decoded audio data and / or video data generated when decrypting and decoding general content in the normal mode. The secure storage area 179 may store decrypted audio and / or video data or decoded audio and / or video data generated when decrypting and decoding security content in the secure mode.

전원공급부(180)는 제어부(110)의 제어에 따라 장치(100)의 하우징에 배치되는 하나 또는 복수의 배터리(도시되지 아니함)에 전원을 공급할 수 있다. 하나 또는 복수의 배터리(도시되지 아니함)는 장치(100)에 전원을 공급한다. 또한, 전원공급부(180)는 커넥터(165)와 연결된 유선 케이블을 통해 외부의 전원소스(도시되지 아니함)에서부터 입력되는 전원을 장치(100)로 공급할 수 있다. The power supply unit 180 may supply power to one or a plurality of batteries (not shown) disposed in the housing of the apparatus 100 under the control of the controller 110. One or more batteries (not shown) supply power to the device 100. In addition, the power supply unit 180 may supply power input from an external power source (not shown) to the device 100 through a wired cable connected to the connector 165.

터치스크린(190)은 사용자에게 다양한 서비스(예, 통화, 데이터 전송, 방송, 사진촬영)에 대응되는 유저 인터페이스를 제공할 수 있다. 특히 본 발명의 실시 예에 따라 콘텐츠 다운로드 어플리케이션 또는 콘텐츠 재생 어플리케이션 등의 어플리케이션 수행을 위한 유저 인터페이스를 제공할 수 있다.The touch screen 190 may provide a user interface corresponding to various services (e.g., call, data transmission, broadcasting, photographing) to the user. In particular, according to an embodiment of the present invention, a user interface for performing an application such as a content download application or a content reproduction application may be provided.

터치스크린(190)은 유저 인터페이스에 입력되는 적어도 하나의 터치에 대응되는 아날로그 신호를 터치스크린 컨트롤러(195)로 전송할 수 있다. 터치스크린(190)은 사용자의 신체(예, 엄지를 포함하는 손가락) 또는 터치가능한 입력 수단(예, 스타일러스 펜)을 통해 적어도 하나의 터치를 입력받을 수 있다. 또한, 터치스크린(190)은 적어도 하나의 터치 중에서, 하나의 터치의 연속적인 움직임을 입력받을 수 있다. 터치스크린(190)은 입력되는 터치의 연속적인 움직임에 대응되는 아날로그 신호를 터치스크린 컨트롤러(195)로 전송할 수 있다. 예컨대 사용자에 의한 콘텐츠 다운로드 어플리케이션 실행 요청이나, 콘텐츠 다운로드 어플리케이션 실행 중 발생하는 다양한 사용자 선택에 대응된 터치 동작에 대응되는 아날로그 신호를 터치 스크린 컨트롤러(195)로 전송할 수 있다.The touch screen 190 may transmit an analog signal corresponding to at least one touch input to the user interface to the touch screen controller 195. The touch screen 190 may receive at least one touch through a user's body (eg, a finger including a thumb) or a touchable input means (eg, a stylus pen). Also, the touch screen 190 can receive a continuous movement of one touch among at least one touch. The touch screen 190 may transmit an analog signal corresponding to the continuous movement of the input touch to the touch screen controller 195. For example, an analog signal corresponding to a request for executing a content download application by a user or a touch operation corresponding to various user selections generated while executing the content download application may be transmitted to the touch screen controller 195.

본 발명에서 터치는 터치스크린(190)과 사용자의 신체 또는 터치 가능한 입력 수단과의 접촉에 한정되지 않고, 비접촉(예, 터치스크린(190)과 사용자의 신체 또는 터치 가능한 입력 수단과 검출가능한 간격이 1 mm 이하)을 포함할 수 있다. 터치스크린(190)에서 검출가능한 간격은 장치(100)의 성능 또는 구조에 따라 변경될 수 있다. In the present invention, the touch is not limited to the contact between the touch screen 190 and the user's body or touchable input means, and a non-contact (eg, a detectable distance between the touch screen 190 and the user's body or touchable input means) 1 mm or less). The detectable distance on the touch screen 190 may be changed according to the performance or structure of the device 100.

터치스크린(190)은 예를 들어, 저항막(resistive) 방식, 정전용량(capacitive) 방식, 적외선(infrared) 방식 또는 초음파(acoustic wave) 방식으로 구현될 수 있다. The touch screen 190 may be implemented by, for example, a resistive method, a capacitive method, an infrared method, or an acoustic wave method.

터치스크린 컨트롤러(195)는 터치스크린(190)에서부터 수신된 아날로그 신호를 디지털 신호(예, X와 Y좌표)로 변환하여 제어부(110)로 전송한다. 제어부(110)는 터치스크린 컨트롤러(195)로부터 수신된 디지털 신호를 이용하여 터치스크린(190)을 제어할 수 있다. 예를 들어, 제어부(110)는 터치에 응답하여 터치스크린(190)에 표시된 단축 아이콘(도시되지 아니함)이 선택되게 하거나 또는 단축 아이콘(도시되지 아니함)을 실행할 수 있다. 또한, 터치스크린 컨트롤러(195)는 제어부(110)에 포함될 수도 있다. The touch screen controller 195 converts an analog signal received from the touch screen 190 into a digital signal (eg, X and Y coordinates) and transmits the same to the controller 110. The controller 110 may control the touch screen 190 using the digital signal received from the touch screen controller 195. For example, the controller 110 may select a shortcut icon (not shown) displayed on the touch screen 190 or execute a shortcut icon (not shown) in response to the touch. Also, the touch screen controller 195 may be included in the control unit 110. [

도 2는 본 발명의 일 실시예에 따른 제어부(110)의 CPU(111) 프로세서의 구성도이다. 도 2를 참조하면, CPU(111)는 일반 실행을 수행하는 메인부(200), 보안 실행을 수행하는 보안부(300), 메인부(200)와 보안부(300)간의 통신을 담당하는 보안 통신부(270)를 포함한다.2 is a block diagram of a CPU 111 processor of the controller 110 according to an embodiment of the present invention. Referring to FIG. 2, the CPU 111 may include a main unit 200 performing general execution, a security unit 300 performing security execution, and a secure communication unit performing communication between the main unit 200 and the security unit 300 ( 270).

메인부(200)는 일반 모드에서 보안 요구되지 않은 일반 프로그램 또는 일반 어플리케이션 또는 일반 콘텐츠 등을 실행하며, 보안 요구되는 보안 프로그램 또는 보안 어플리케이션 또는 보안 콘텐츠 등의 실행이 필요한 경우 보안 통신부(270)를 통해 보안부(300)로 해당 실행을 명령 또는 요청한다.The main unit 200 executes a general program or a general application or a general content that is not required for security in a normal mode, and when the security program, a security application, or a security content required for execution is required through the secure communication unit 270. Command or request the execution to the security unit 300.

상기 메인부(200) 내에는 메인 운영체제(210)가 실행되며, 상기 보안부(300) 내에는 보안 운영체제(310)가 별도로 실행된다. 그리고, 상기 메인 운영체제(210)는 상기 보안부(300)에 직접 접근할 수 없고, 보안 통신부(270)를 통하여 특정 기능, 쓰레드(thread) 및 프로세스(process)의 실행을 명령 또는 요청할 수 있다. 상기 보안 통신부(270)는 본 발명에 따른 데이터 처리 장치 또는 모바일 장치가 보안모드와 비보안 모드 간에 스위칭을 가능하게 한다. 상기 보안 통신부(270)은 미리 정해진 비트(bit)를 이용하여 상기 메인부(200)가 접근할 수 있는 메모리 영역과, 상기 보안부(300)가 접근할 수 있는 메모리 영역을 하드웨어(hardware) 상에서 구분시킬 수 있다. 이로 인하여 상기 보안부(300)에 의해 이용되는 메모리 영역인 보안 저장 영역(179)은 상기 메인부(200)에 의한 접근이 차단된다. 이에 따라, 상기 메인부(200)의 메인 운영체제(210)가 공개형 운영체제인 경우에도 악성 코드가 보안 운영체제(310) 및 상기 보안 운영체제(310)가 이용하는 보안 저장 영역(179)에 접근을 할 수 없게 된다. 이하에서는 보안이 요구되는 콘텐츠를 보안부(300) 내에서 처리하는 과정을 예를 들어 설명한다. The main operating system 210 is executed in the main unit 200, and the security operating system 310 is separately executed in the security unit 300. The main operating system 210 may not directly access the security unit 300, but may command or request execution of specific functions, threads, and processes through the security communication unit 270. The secure communication unit 270 enables the data processing device or the mobile device according to the present invention to switch between the secure mode and the non-secure mode. The secure communication unit 270 divides a memory area accessible by the main unit 200 and a memory area accessible by the security unit 300 by using a predetermined bit on hardware. You can. As a result, the secure storage area 179, which is a memory area used by the security unit 300, is blocked from being accessed by the main unit 200. Accordingly, even when the main operating system 210 of the main unit 200 is an open operating system, malicious code can access the secure operating system 310 and the secure storage area 179 used by the secure operating system 310. There will be no. Hereinafter, a process of processing the content requiring security in the security unit 300 will be described by way of example.

보안부(300)는 메인부(200)로부터 보안 콘텐츠에 대한 디크립트 또는 디코딩 또는 렌더링이 요청되면 보안 보드에서 보안 콘텐츠에 대한 디크립트 또는 디코딩 또는 렌더링을 수행한다. The security unit 300 decrypts, decodes, or renders the security content on the security board when a request for decrypting, decoding, or rendering the security content is requested from the main unit 200.

특히 보안부(300)는 오디오 스트림에 대한 보안 디크립트 요청이 수신되면 보안 디크립트 수행 전에, 미리 정해진 오디오 스트림 기준에 따라 오디오 스트림이 템퍼드 오디오 스트림인지 여부를 판단한다. 이때 미리 정해진 오디오 스트림 기준은 오디오 스트림의 프레임 크기 또는 오디오 스트림에 포함된 스타트 코드가 될 수 있다. 보안부(300)는 보안 디크립트 요구된 오디오 스트림의 프레임 크기가 미리 정해진 기준 오디오 프레임 크기보다 큰 경우 해당 오디오 스트림을 탬퍼드 오디오 스트림으로 판단할 수 있다. 또한 보안부(300)는 보안 디크립트 요구된 오디오 스트림에 포함된 스타트 코드가 오디오 스트림에 대응된 스타트 코드가 아닌 경우 해당 오디오 스트림을 탬퍼드 오디오 스트림으로 판단할 수 있다. In particular, when the security decryption request for the audio stream is received, the security unit 300 determines whether the audio stream is a tempered audio stream according to a predetermined audio stream standard before performing the security decryption. In this case, the predetermined audio stream reference may be a frame size of the audio stream or a start code included in the audio stream. The security unit 300 may determine the audio stream as a tampered audio stream when the frame size of the security decryption requested audio stream is larger than a predetermined reference audio frame size. In addition, if the start code included in the security decryption requested audio stream is not the start code corresponding to the audio stream, the security unit 300 may determine the audio stream as a tampered audio stream.

보안부(300)는 보안 디크립트 수행 전에 탬퍼드 오디오 스트림으로 판단된 경우, 오디오 스트림에 대한 보안 디크립트를 수행하지 않고, 탬퍼드 오디오 스트림인 것을 메인부(200)로 알린다. If the security unit 300 determines that the tampered audio stream is before the security decryption is performed, the security unit 300 notifies the main unit 200 without performing the security decryption on the audio stream.

한편, 보안 디크립트 수행 전에 탬퍼드 오디오 스트림으로 판단되지 않은 경우, 오디오 스트림에 대한 보안 디크립트를 수행한다. On the other hand, if it is not determined as a tampered audio stream before performing the security decryption, the security decryption on the audio stream is performed.

그리고 보안부(300)는 오디오 스트림에 대한 보안 디크립트 수행 후에 보안 디크립트된 오디오 스트림이 탬퍼트 오디오 스트림인지 판단한다. 이때 보안부(300)는 디크립트된 오디오 스트림에 해당하는 코덱을 확인하여 디크립트된 오디오 스트림에 해당하는 코덱이 오디오 코덱이 아닌 비디오 코덱이면 보안 디크립트된 오디오 스트림이 템퍼드 오디오 스트림인 것으로 판단할 수 있다. 한편, 코덱 뿐만 아니라 디크립트된 오디오 스트림에 포함된 각종 정보가 비디오 스트림을 나타내는 정보인 경우, 보안부(300)는 디크립트된 오디오 스트림이 템퍼드 오디오 스트림인 것으로 판단할 수도 있다.The security unit 300 determines whether the security decrypted audio stream is a tampered audio stream after performing the security decryption on the audio stream. At this time, the security unit 300 checks the codec corresponding to the decrypted audio stream, and if the codec corresponding to the decrypted audio stream is a video codec rather than an audio codec, it may determine that the secure decrypted audio stream is a tempered audio stream. Can be. On the other hand, if the various information included in the decrypted audio stream as well as the codec is information representing the video stream, the security unit 300 may determine that the decrypted audio stream is a tempered audio stream.

보안부(300)는 보안 디크립트 수행 후, 탬퍼드 오디오 스트림으로 판단된 경우, 탬퍼드 오디오 스트림인 것을 메인부(200)로 알려, 보안 디크립트된 오디오 데이터에 대한 디코딩을 중단시킨다.After performing the security decrypt, the security unit 300 informs the main unit 200 that the tampered audio stream is a tampered audio stream, and stops decoding the decrypted audio data.

보안부(300)는 메인부(200)로부터 비디오 스트림에 대한 보안 디크립트 명령이 수신되면 보안 키 및 인증정보를 이용하여 비디오 스트림에 대한 보안 디크립트를 수행하고, 보안 디크립트된 오디오 스트림을 보안 저장 영역(179)에 저장한다. When the security unit 300 receives a security decrypt command for the video stream from the main unit 200, the security unit 300 performs a security decryption on the video stream using the security key and authentication information, and securely stores the security decrypted audio stream. Store in area 179.

상기한 바와 같은 메인부(200)와 보안부(300)의 구성을 좀더 구체적으로 설명하면, 메인 OS(Operating System)(210), 디크립트부(220), 디코딩부(230), 렌더링부(240), 어플리케이션부(250)를 포함한다. 보안부(300)는 보안 OS(Operating System)(310), 프로비전 서비스부(320), SFS(Secure File System)(330) 및 보안 서비스부(340)를 포함한다.If the configuration of the main unit 200 and the security unit 300 as described above in more detail, the main operating system (Operating System) 210, decrypt unit 220, decoding unit 230, rendering unit 240 ), The application unit 250 is included. The security unit 300 includes a security operating system 310, a provision service unit 320, a secure file system 330, and a security service unit 340.

먼저 메인부(200)의 메인 OS(Operating System)(210), 디크립트부(220), 디코딩부(230), 렌더링부(240), 어플리케이션부(250)에 대해 설명한다.First, the main OS (Operating System) 210, the decryption unit 220, the decoding unit 230, the rendering unit 240, and the application unit 250 of the main unit 200 will be described.

메인 OS(210)는 장치(100)의 메인 운영체제로서, 일반 모드에서 장치(100) 전반의 운영을 담당하고, 특히 일반 모드에서 보안 요구되지 않은 일반 프로그램 또는 일반 어플리케이션 또는 일반 콘텐츠 등의 실행을 수행하며, 보안 요구되는 보안 프로그램 또는 보안 어플리케이션 또는 보안 콘텐츠 등의 실행이 필요한 경우 보안 통신부(270)를 통해 보안부(300)로 해당 실행을 명령 또는 요청한다. The main OS 210 is a main operating system of the device 100, and is responsible for operating the entire device 100 in a normal mode, and particularly, executes a general program or general application or general content that is not required to be secured in the general mode. In addition, when execution of a security program or security application or security content required for security is required, the security unit 300 commands or executes the execution to the security unit 300 through the security communication unit 270.

디크립트부(220)는 콘텐츠 실행이 요청된 경우, 일반 저장 영역(177)에서 상기 실행 요청된 콘텐츠에 해당하는 오디오 및/또는 비디오 스트림을 읽어오고, 오디오 및/또는 비디오 스트림이 보안 요구되는 오디오 및/또는 비디오 스트림인지 여부를 판단한다. 이때 디크립트부(220)는 오디오 및/또는 비디오 스트림이 DRM 등과 같은 콘텐츠 보호 시스템이 적용되어 있는지 여부를 확인하여 보안 요구되는 오디오 및/또는 비디오 스트림인지 여부를 판단할 수 있다. 또한 디크립트부(210)는 오디오 및/또는 비디오 스트림이 보안 모드에서 실행되도록 하는 식별자가 오디오 및/또는 비디오 스트림에 포함된 경우, 보안 요구되는 오디오 및/또는 비디오 스트림인지 여부를 판단할 수 있다.The decryption unit 220 reads the audio and / or video stream corresponding to the requested content from the general storage area 177 when the content execution is requested, and the audio of which the audio and / or video stream is required to be secured. And / or whether it is a video stream. In this case, the decryption unit 220 may determine whether the audio and / or video stream is an audio and / or video stream requiring security by checking whether a content protection system such as DRM is applied. Also, the decryption unit 210 may determine whether the audio and / or video stream is required for security when the audio and / or video stream includes an identifier for allowing the audio and / or video stream to be executed in the security mode. .

디크립트부(220)는 실행 요청된 콘텐츠가 보안 요구되지 않은 오디오 또는/및 비디오 스트림인 경우, 보안 요구되지 않은 오디오 또는/및 비디오 스트림을 페이로드 단위로 구분하여 일반 저장 영역(177)에 저장하고, 디코딩을 요청한다. 디크립트부(220)는 실행 요청된 콘텐츠가 보안 요구된 오디오 및/또는 비디오 스트림인 경우, 보안 요구된 오디오 또는/및 비디오 스트림을 페이로드(payload) 단위로 구분하고, 페이로드 단위의 보안 요구된 오디오 또는/및 비디오 스트림에 대한 보안 디크립트가 수행되도록 메인 OS(210)에 요청한다. 그리고 디크립트부(210)는 보안 디크립트 수행이 완료됨을 알리는 정보가 메인 OS(210)로부터 수신되면 디코딩부(220)에 디코딩을 요청한다.The decryption unit 220 divides the unsecured audio or / and video stream into payload units in the general storage area 177 when the requested content is an unsecured audio or / and video stream. And request decoding. If the content requested to be executed is an audio and / or video stream requiring security, the decrypting unit 220 classifies the security-requested audio or / and video stream into payload units, and requests security for payload units. The main OS 210 is requested to perform a security decryption on the audio or video stream. When the decryption unit 210 receives the information indicating that the security decryption is completed from the main OS 210, the decryption unit 210 requests the decoding unit 220 to decode.

디코딩부(230)는 비디오 디코딩 모듈(232) 및 오디오 디코딩 모듈(234)을 포함한다. 디코딩부(230)는 보안 요구되지 않은 일반 오디오 또는/및 비디오 스트림에 대한 디코딩 요청이 있는 경우 일반 모드에서 비디오 디코딩 모듈(232) 및/또는 오디오 디코딩 모듈(234)을 통해 일반 저장 영역(177)에 저장된 페이로드 단위의 오디오 또는/및 비디오 스트림을 해당 오디오 또는 및 비디오 코덱을 이용하여 프레임 단위의 오디오 또는/및 비디오 데이터로 디코딩한다. 디코딩부(230)는 디코딩된 오디오 또는/및 비디오 데이터를 일반 저장 영역(177)에 저장하고, 렌더링부(240)에 렌더링을 요청한다. 한편 디코딩부(230)는 보안 요구되는 비디오 스트림 디코딩 요청이 있는 경우, 보안 모드에서 보안 디코딩이 이루어지도록 메인 OS(210)에 요청한다. 그리고 디코딩부(230)는 메인OS(210)로부터 보안 디코딩 수행이 완료됨을 알리는 정보가 수신되면, 렌더링부(240)에 렌더링을 요청한다.The decoding unit 230 includes a video decoding module 232 and an audio decoding module 234. The decoding unit 230 receives the general storage area 177 through the video decoding module 232 and / or the audio decoding module 234 in the normal mode when there is a decoding request for the non-secured normal audio and / or video stream. The audio or / and video stream in units of payloads stored in the device is decoded into audio or / and video data in units of frames using the corresponding audio or video codec. The decoding unit 230 stores the decoded audio or / and video data in the general storage area 177 and requests the rendering unit 240 to render. Meanwhile, if there is a video stream decoding request that requires security, the decoding unit 230 requests the main OS 210 to perform secure decoding in a secure mode. When the decoder 230 receives information indicating that the security decoding is completed from the main OS 210, the decoder 230 requests rendering from the renderer 240.

렌더링부(240)는 비디오 렌더링 모듈(242) 및 오디오 렌더링 모듈(244)을 포함한다. 렌더링부(230)는 보안 요구되지 않은 일반 오디오 또는/및 비디오 데이터에 대한 렌더링 요청이 있는 경우 일반 모드에서 비디오 렌더링 모듈(242) 또는/및 오디오 렌더링 모듈(244)을 통해 일반 저장 영역(177)에 저장된 디코딩된 비디오 데이터를 터치스크린(190)에 표시될 수 있는 2차원 또는 3차원 비디오 신호로 생성하는 비디오 렌더링을 수행하여 출력하고, 디코딩된 오디오 데이터를 아날로그 오디오 신호로 생성하는 렌더링을 수행하여 출력한다.The renderer 240 includes a video rendering module 242 and an audio rendering module 244. The rendering unit 230 receives the general storage area 177 through the video rendering module 242 or the audio rendering module 244 in the normal mode when there is a rendering request for the non-secured general audio or / and video data. Performs video rendering to generate the decoded video data stored in the 2D or 3D video signal that can be displayed on the touch screen 190, and outputs the same, and performs the rendering to generate the decoded audio data as the analog audio signal. Output

한편, 렌더링부(240)는 보안 요구되는 비디오 데이터 렌더링 요청이 있는 경우 보안 모드에서 보안 렌더링이 이루어지도록 메인 OS(210)에 요청한다. 그리고 렌더링부(240)는 메인OS(210)로부터 보안 렌더링 수행이 완료됨을 알리는 정보가 수신되면, 렌더링된 비디오 신호와 오디오 신호가 출력되도록 요청한다. 렌더링된 비디오 신호와 오디오 신호는 각각 표시장치 및 스피커를 통해 출력될 수 있다.Meanwhile, when there is a video data rendering request that requires security, the rendering unit 240 requests the main OS 210 to perform security rendering in the security mode. When the rendering unit 240 receives information indicating that the security rendering is completed from the main OS 210, the rendering unit 240 requests to output the rendered video signal and the audio signal. The rendered video signal and the audio signal may be output through the display device and the speaker, respectively.

어플리케이션부(250)는 콘텐츠 다운로드 어플리케이션 또는 콘텐츠 재생 어플리케이션 등의 어플리케이션을 구비하고, 사용자 요청에 따라 어플리케이션이 실행되면, 해당 기능을 수행한다.The application unit 250 includes an application such as a content download application or a content reproduction application, and performs a corresponding function when the application is executed according to a user request.

이하 보안부(300)의 보안 OS(Operating System)(310), 프로비전 서비스부(320), SFS(Secure File System)(330), 보안 서비스부(340)에 대해 설명한다.Hereinafter, the security operating system 310 of the security unit 300, the provisioning service unit 320, the secure file system (SFS) 330, and the security service unit 340 will be described.

보안 OS(310)는 장치(100)의 보안 운영체제로서, 보안 모드에서 보안 요구되는 보안 콘텐츠의 실행을 수행한다. 특히 보안 OS(310)는 보안 통신부(270)를 통해 메인 OS(210)로부터 보안 요구된 비디오 스트림에 대한 디크립션 요청, 디코딩 요청, 렌더링 요청 및 보안 요구된 오디오 스트림에 대한 디크립션 요청 중 어느 하나가 수신되면, 이를 보안 서비스부(340)로 전달한다.The security OS 310 is a security operating system of the device 100 and performs execution of security content required for security in a security mode. In particular, the security OS 310 is during the decryption request, the decoding request, the rendering request, and the decryption request for the security-required audio stream from the main OS 210 via the security communication unit 270. If any one is received, it is transmitted to the security service unit 340.

프로비전 서비스부(320)는 DRM 서비스 제공자 등의 외부 콘텐트 보호 서비스 제공자들로부터 보안 키 및 인증 정보를 수신하여 SFS(330)에 기록한다. 또한 상기 보안키 및 인증 정보는 장치 제조사에 의해 미리 SFS(330)에 저장될 수도 있다.The provision service unit 320 receives a security key and authentication information from an external content protection service provider such as a DRM service provider and records the secure key and authentication information in the SFS 330. In addition, the security key and authentication information may be stored in advance in the SFS (330) by the device manufacturer.

SFS(330)는 보안 모드에서 접근 가능한 저장 영역으로서, 보안 요구되는 보안 콘텐츠의 실행 예컨대 오디오 또는/및 비디오 신호에 대한 디크립션 실행, 디코딩 실행, 렌더링 실행을 위한 각종 프로그램 및 정보들을 포함한다. 또한 SFS(330)는 프로비전 서비스부(320)에 의해 기록된 보안 키 및 인증정보를 저장한다.The SFS 330 is a storage area accessible in a secure mode and includes various programs and information for executing security-required secure content such as decryption execution, decoding execution, and rendering execution for audio or video signals. In addition, the SFS 330 stores the security key and authentication information recorded by the provision service unit 320.

보안 서비스부(340)는 보안 디크립션을 수행하는 보안 디크립션 서비스(342), 보안 디코딩을 수행하는 보안 디코딩 서비스(344), 보안 렌더링을 수행하는 보안 렌더링 서비스(346)를 제공한다. 보안 서비스부(340)는 보안 디크립션 서비스(342)를 통해 보안 디크립션을 수행한다. 보안 서비스부(340)는 보안 디코딩 서비스(344)를 통해 보안 디코딩을 수행한다. 보안 서비스부(340)는 보안 렌더링 서비스(346)를 통해 보안 렌더링을 수행한다. The security service unit 340 provides a security decryption service 342 for performing security decryption, a security decoding service 344 for performing security decoding, and a security rendering service 346 for performing secure rendering. The security service unit 340 performs security decryption through the security decryption service 342. The security service unit 340 performs security decoding through the security decoding service 344. The security service unit 340 performs security rendering through the security rendering service 346.

이러한 보안 서비스부(340)는 보안 OS(310)로부터 보안 요구된 비디오 스트림에 대한 디크립션 요청이 전달되면, SFS(330)에 저장된 보안 키 및 인증 정보를 이용하여 보안 요구된 비디오 스트림에 대한 보안 디크립트를 수행하고 보안 디크립트된 비디오 스트림을 보안 저장 영역(179)에 저장한다. 또한 보안 서비스부(340)는 보안 OS(310)로부터 보안 요구된 비디오 스트림에 대한 디코딩 요청이 전달되면, 해당 비디오 코덱을 이용하여 보안 요구된 비디오 스트림에 대한 보안 디코딩을 수행하고 보안 디코딩된 비디오 스트림을 보안 저장 영역(179)에 저장한다. 또한 보안 서비스부(340)는 보안 OS(310)로부터 보안 요구된 비디오 데이터에 대한 렌더링 요청이 전달되면, 디코딩된 비디오 데이터를 2차원 또는 3차원의 화면으로 표시하기 위한 비디오 신호로 생성하는 보안 렌더링을 수행하고, 비디오 신호를 출력한다. When the decryption request for the security-required video stream is transmitted from the security OS 310, the security service unit 340 uses the security key and authentication information stored in the SFS 330 for the security-required video stream. Secure decrypt is performed and the secure decrypted video stream is stored in secure storage area 179. In addition, when a decoding request for a security-required video stream is transmitted from the security OS 310, the security service unit 340 performs security decoding on the security-required video stream using the corresponding video codec, and securely decoded the video stream. To the secure storage area 179. In addition, the security service unit 340, when the rendering request for the security-required video data from the security OS 310, the security rendering to generate a video signal for displaying the decoded video data in a two-dimensional or three-dimensional screen And output a video signal.

한편, 보안 서비스부(340)는 보안 OS(310)로부터 보안 요구된 비디오 스트림에 대한 디크립션 요청이 전달되면, SFS(330)에 저장된 보안 키 및 인증 정보를 이용하여 보안 요구된 오디오 스트림에 대한 보안 디크립트를 수행하고 보안 디크립트된 오디오 스트림을 일반 저장 영역(179)에 저장한다.Meanwhile, when the decryption request for the security-required video stream is transmitted from the security OS 310, the security service unit 340 uses the security key and authentication information stored in the SFS 330 to transmit the security-requested audio stream. Performs a secure decrypt on the data and stores the secure decrypted audio stream in the general storage area 179.

상기한 바와 같이 보안 서비스부(340)는 보안 요구된 비디오 스트림에 대해 서는 디크립트, 디코딩, 렌더링 수행 결과를 보안 저장 영역(179)에 저장됨에 따라 비디오 스트림에 대한 보안이 한층 강화되어 해킹을 어렵게 한다. As described above, the security service unit 340 stores the decrypted, decoded, and rendered results of the security-required video stream in the secure storage area 179, so that the security of the video stream is further enhanced, making it difficult to hack. do.

그러나 보안 서비스부(340)는 보안 요구된 비디오 스트림에 대해서는 디크립트된 오디오 스트림을 일반 저장 영역(177)에 저장함으로써 해킹의 위험이 있을 수 있게 된다. 다시 말해, 악의적인 사용자가 오디오 데이터가 아닌 다른 종류의 데이터 예컨대 비디오 데이터를 오디오 데이터를 나타내는 식별자를 사용하여 템퍼드 오디오 스트림으로 구성한다면, 보안 모드에서 템퍼드 오디오 스트림이 디크립트되어 해킹에 취약한 오픈된 일반 저장 영역(177)에 저장될 수 있기 때문이다.However, the security service unit 340 may be at risk of hacking by storing the decrypted audio stream in the general storage area 177 for the security-required video stream. In other words, if a malicious user configures a kind of data other than audio data, such as video data, into a tempered audio stream using an identifier that represents the audio data, the tempered audio stream is decrypted in secure mode, making it vulnerable to hacking. This is because it can be stored in the general storage area 177 that has been created.

이를 방지하기 위해, 보안 서비스부(340)는 보안 OS(310)로부터 보안 요구된 오디오 스트림에 대한 디크립션 수행 시, 템퍼드 오디오 스트림인지 여부를 판단하고, 템퍼드 오디오 스트림을 검출한다. 이때 보안 서비스부(340)는 오디오 스트림에 대한 디크립션 수행 전에 템퍼드 오디오 스트림인지 여부를 판단하고, 템퍼드 오디오 스트림인 경우 디크립션 수행을 중단할 수 있다. 또한 보안 서비스부(330)는 오디오 스트림에 대한 디크립션 수행 후에 템퍼드 오디오 스트림인지 여부를 판단하고, 템퍼드 오디오 스트림인 경우 디크립션 수행 결과를 제공하지 않을 수 있다.To prevent this, the security service unit 340 determines whether it is a tempered audio stream and detects the tempered audio stream when decrypting the audio stream required for security from the security OS 310. In this case, the security service unit 340 may determine whether the tempered audio stream is before the decryption of the audio stream, and stop performing the decryption in the case of the tempered audio stream. In addition, the security service unit 330 may determine whether or not the tempered audio stream after decryption of the audio stream, and may not provide a result of decryption if the tempered audio stream.

도 3은 본 발명의 일 실시 예에 따른 콘텐츠 실행 요청 시 메인부(200)와 보안부(300)의 동작을 나타낸 흐름도이다. 도 3을 참조하면, 메인부(200)는 402단계에서 사용자에 의한 콘텐츠 실행 요구에 따라 일반 저장 영역(177)에서 콘텐츠에 해당하는 오디오 및 비디오 스트림을 읽어온다. 이때 사용자는 장치(100)에 콘텐츠 재생 어플리케이션을 실행시키고, 터치 스크린상에 표시되는 콘텐츠 어플리케이션에서 원하는 콘텐츠를 터치함에 따라 콘텐츠 실행 요구를 입력할 수 있다.3 is a flowchart illustrating operations of the main unit 200 and the security unit 300 when a content execution request is executed according to an embodiment of the present invention. Referring to FIG. 3, in operation 402, the main unit 200 reads an audio and video stream corresponding to a content from a general storage area 177 according to a content execution request by a user. In this case, the user may execute a content reproducing application on the device 100 and input a content execution request by touching a desired content in the content application displayed on the touch screen.

메인부(200)는 404단계에서 상기 읽어온 오디오 및 비디오 스트림이 보안 요구된 콘텐츠인지 판단한다. 이때 메인부(200)에 포함된 디크립트부(210)가 오디오 및비디오 스트림이 DRM 등과 같은 콘텐츠 보호 시스템이 적용되어 있는지 여부를 확인하여 보안 요구되는 오디오 및 비디오 스트림인지 여부를 판단할 수 있다. 또한 메인부(200)에 포함된 디크립트부(210)가 오디오 및 비디오 스트림이 보안 모드에서 실행되도록 하는 식별자가 오디오 및 비디오 스트림에 포함된 경우, 보안 요구되는 오디오 및 비디오 스트림인지 여부를 판단할 수 있다.The main unit 200 determines whether the read audio and video streams are required content in step 404. At this time, the decrypt unit 210 included in the main unit 200 may determine whether the audio and video stream is a security protection audio and video stream by checking whether a content protection system such as DRM is applied. In addition, when the decryption unit 210 included in the main unit 200 includes an identifier for allowing the audio and video streams to be executed in the security mode, the audio and video streams may determine whether the decryption unit 210 is an audio and video stream that requires security. Can be.

메인부(200)는 오디오 및 비디오 스트림이 보안 요구된 콘텐츠가 아닌 경우, 406단계로 진행하여 일반 모드에서 오디오 및 비디오 스트림 처리를 수행한다. 예컨대 메인부(200)는 일반 모드에서 오디오 및 비디오 스트림에 대한 디코딩을 수행하고, 디코딩된 오디오 및 비디오 데이터를 일반 저장 영역(177)에 저장한다. 그리고 메인부(200)는 디코딩된 오디오 및 비디오 데이터를 렌더링하여 출력한다.If the audio and video streams are not security-required content, the main unit 200 proceeds to step 406 to perform audio and video stream processing in the normal mode. For example, the main unit 200 performs decoding on the audio and video streams in the normal mode, and stores the decoded audio and video data in the general storage area 177. The main unit 200 renders and outputs decoded audio and video data.

한편, 메인부(200)는 오디오 및 비디오 스트림이 보안 요구된 콘텐츠인 경우, 408단계에서 보안부(300)에 오디오 및 비디오 스트림에 대한 디크립트를 요청한다. On the other hand, if the audio and video stream is a security-required content, the main unit 200 requests the security unit 300 to decrypt the audio and video stream in step 408.

보안부(300)는 410단계에서 오디오 및 비디오 스트림에 대한 디크립트 요청을 수신하고 오디오 스트림에 대한 디크립트를 위해 412단계로 진행하고, 비디오 디크립트를 위해 422단계로 진행한다.The security unit 300 receives a decrypt request for the audio and video stream in step 410, proceeds to step 412 for decrypting the audio stream, and proceeds to step 422 for video decrypting.

보안부(300)는 412단계에서 오디오 스트림이 템퍼드 오디오 스트림인지 여부 판단 결과에 따라 오디오 스트림에 대한 보안 디크립트를 수행하고, 414단계에서 보안 디크립트된 오디오 데이터를 일반 저장 영역(177)에 저장한다. 그리고 보안부(300)는 416단계에서 오디오 스트림에 대한 보안 디크립트가 완료됨을 알리는 정보를 메인부(200)로 전달한다.The security unit 300 performs security decryption on the audio stream according to a result of determining whether the audio stream is a tempered audio stream in step 412, and stores the security decrypted audio data in the general storage area 177 in step 414. do. In operation 416, the security unit 300 transmits information indicating that the security decryption for the audio stream is completed to the main unit 200.

한편, 보안부(300)는 422단계에서 비디오 스트림에 대한 보안 디크립트를 수행하고, 424단계에서 보안 디크립트된 비디오 데이터를 보안 저장 영역(179)에 저장한다. 그리고 보안부(300)는 426단계에서 비디오 스트림에 대한 보안 디크립트가 완료됨을 알리는 정보를 메인부(200)로 전달한다.In operation 422, the security unit 300 performs security decryption on the video stream, and in step 424, the security decrypted video data is stored in the security storage area 179. In operation 426, the security unit 300 transmits information indicating that the security decryption for the video stream is completed to the main unit 200.

상기한 바와 같이 본 발명의 실시 예에 따르면, 보안부(300)는 오디오 디크립트에 대한 보안 디크립트 수행 시 오디오 스트림이 템퍼드 오디오 스트림인지 여부 판단 결과에 따라 오디오 스트림에 대한 보안 디크립트를 수행함으로써, 템퍼드 오디오 스트림이 디크립트되어 비디오 데이터가 일반 저장 영역(177)에 저장되는 경우를 방지할 수 있게 된다.As described above, according to an embodiment of the present invention, the security unit 300 performs security decryption on the audio stream according to a result of determining whether the audio stream is a tempered audio stream when performing a security decryption on the audio decryption. In addition, the tempered audio stream may be decrypted to prevent the video data from being stored in the general storage area 177.

이하에서는 상기한 바와 같은 보안부(300)의 오디오 스트림에 대한 보안 디크립트 수행 과정에 대해 좀더 자세히 설명한다.Hereinafter, a process of performing security decryption on the audio stream of the security unit 300 as described above will be described in more detail.

도 4는 본 발명의 일 실시 예에 따른 보안부(300)의 오디오 스트림에 대한 보안 디크립트 수행 과정을 나타낸 흐름도이다. 도 4를 참조하면, 보안부(300)의 보안 서비스부(340)는 보안 OS(310)로부터 메인 OS(210)에 의한 오디오 스트림에 대한 디크립트 요청을 전달받을 수 있다. 보안 서비스부(300)는 502단계에서 오디오 스트림에 대한 디크립트가 요청되면 504단계로 진행한다. 4 is a flowchart illustrating a process of performing a security decrypt on an audio stream of the security unit 300 according to an embodiment of the present invention. Referring to FIG. 4, the security service unit 340 of the security unit 300 may receive a decrypt request for an audio stream by the main OS 210 from the security OS 310. If the security service unit 300 requests a decrypt for the audio stream in step 502, the security service unit 300 proceeds to step 504.

보안 서비스부(340)는 504단계에서 디크립트 요청된 오디오 스트림이 미리 정해진 제1 기준을 만족하지 않는 템퍼드 오디오 스트림인지 판단한다. 예컨대 미리 정해진 제1 기준은 오디오 스트림의 프레임 사이즈 또는 오디오 스트림의 스타트 코드 등이 될 수 있다. 보안 서비스부(340)는 디크립트 요청된 오디오 스트림이 미리 정해진 오디오 프레임 사이즈보다 크면 템퍼드 오디오 스트림으로 판단할 수 있다. 또한 보안 서비스부(340)는 디크립트 요청된 오디오 스트림의 스타트 코드가 오디오 스트림을 나타내는 스타트 코드가 아닌 경우 템퍼드 오디오 스트림으로 판단할 수 있다. In operation 504, the security service unit 340 determines whether the decrypted requested audio stream is a tempered audio stream that does not satisfy the first predetermined criterion. For example, the first predetermined criterion may be a frame size of the audio stream or a start code of the audio stream. The security service unit 340 may determine that the decrypted requested audio stream is larger than the predetermined audio frame size as the tempered audio stream. In addition, the security service unit 340 may determine that the start code of the decrypted requested audio stream is a tempered audio stream when the start code indicating the audio stream is not.

또한 미리 정해진 제1 기준을 만족하는 오디오 스트림인 경우, 보안 서비스부(340)는 506단계에서 디크립트 요청된 오디오 스트림에 대한 보안 디크립트를 수행한다. In addition, when the audio stream satisfies the first predetermined criterion, the security service unit 340 performs security decryption on the requested audio stream in step 506.

그리고 보안 서비스부(340)는 508단계에서 상기 보안 디크립트된 오디오 스트림이 미리 정해진 제2 기준을 만족하지 않는 템퍼드 오디오 스트림인지 판단한다. 예컨대 미리 정해진 제2 기준은 코덱 정보가 될 수 있다. 보안 서비스부(240)는 디크립트된 오디오 스트림에 포함된 코덱 정보가 미리 정해진 제2 기준에 해당하는 오디오 코덱 정보가 아닌 경우 예컨대 비디오에 해당하는 코덱 정보인 경우 오디오 스트림을 템퍼드 오디오 스트림으로 판단할 수 있다.In operation 508, the security service unit 340 determines whether the secure decrypted audio stream is a tempered audio stream that does not satisfy the second predetermined criterion. For example, the second predetermined criterion may be codec information. When the codec information included in the decrypted audio stream is not the audio codec information corresponding to the second predetermined criterion, for example, the codec information corresponding to the video, the security service unit 240 determines the audio stream as the tempered audio stream. can do.

미리 정해진 제2 기준을 만족하는 오디오 스트림인 경우, 보안 서비스부(340)는 510단계에서 보안 디크립트된 오디오 스트림을 일반 저장 영역(177)에 저장하고, 오디오 스트림에 대한 보안 디크립트가 완료됨을 보안 OS(310)로 알린다. If the audio stream satisfies the second predetermined criterion, the security service unit 340 stores the secure decrypted audio stream in the general storage area 177 in step 510, and the secure decryption of the audio stream is completed. Inform the secure OS 310.

한편, 미리 정해진 제1 기준을 만족하지 않는 템퍼드 오디오 스트림이거나, 미리 정해진 제2 기준을 만족하지 않는 템퍼드 오디오 스트림인 경우, 보안 서비스부(340)는 512단계로 진행하여 디크립트 수행을 중단하고, 보안 OS(310)로 디크립트 요청된 오디오 스트림이 템퍼드 오디오 스트림임을 알린다. On the other hand, if the tempered audio stream does not satisfy the first predetermined criterion or the tempered audio stream does not satisfy the second predetermined criterion, the security service unit 340 proceeds to step 512 to stop the decryption. The secure OS 310 is notified that the decrypted requested audio stream is a tempered audio stream.

이에 따라 보안 OS(310)는 메인 OS(210)로 디크립트 요청된 오디오 스트림이 템퍼드 오디오 스트림임을 알리게 되고, 메인 OS(210)에서는 템퍼드 오디오 스트림에 대한 재생이나 이용을 중단시킬 수 있게 된다.
Accordingly, the security OS 310 notifies the main OS 210 that the decrypted requested audio stream is a tempered audio stream, and the main OS 210 can stop playback or use of the tempered audio stream. .

도 5a 내지 도 5e는 본 발명의 일 실시예에 따라 보안 모드가 실행되는 동안에 프로세스가 비정상적으로 동작할 때의 복수의 프로세스들간에 초기화 및 동기화 방법을 나타내는 도면이다. 5A through 5E are diagrams illustrating a method of initialization and synchronization between a plurality of processes when a process operates abnormally while a security mode is executed according to an embodiment of the present invention.

먼저, 도 5a를 참조하면, 예를 들어 사용자가 발명의 일 실시예에 따라 DRM과 관련된 컨텐츠를 실행하고자 하는 경우, 메인부(200)에는 복수의 메인 프로세스들(511,512,513)이 실행되며, 보안부(300)의 보안 서비스부(340)에서는 상기 복수의 메인 프로세스들(511,512,513)에 대응하는 적어도 하나의 보안 프로세스가 실행된다. 예를 들어, 보안 서비스부(340)에서는 상기 복수의 메인 프로세스들(511,512,513)에 대응하는 제1 내지 3 보안 프로세스들(521,522,523)이 실행될 수 있다. 여기서, 제1 내지 3 메인 프로세스(511,512,513)는 하나의 어플리케이션을 실행시키기 위하여 서로 연관되어 동작하는 프로세스들이다. 예를 들어, 상기 어플리케이션이 원격의 컨텐츠 제공자(Contents Provider)로부터 DRM이 설정된 최신 영화와 같은 콘텐츠를 수신하여 실행시키기 위한 것인 경우, 상기 제1 내지 3 메인 프로세스(511,512,513)는 각각 디크립트부(220)에 의해 실행되는 디크립트 프로세스, 디코딩부(230)에 의해 실행되는 디코딩 프로세스, 렌더링부(240)에 의해 수행되는 렌더링 프로세스, 콘텐츠을 사용자에게 제공하기 위한 사용자 인터페이스(User Interface) 프로세스 중 어느 하나일 수 있다. 따라서, 상기 제1 내지 3 메인 프로세스(511,512,513) 중 어느 하나가 정상적으로 동작하지 않게 되면, 사용자는 원하는 영화를 정상적으로 영화를 볼 수 없게 된다. 또한, 제1 내지 3 보안 프로세스(521,522,523)는 각각 상기 제1 내지 제3 메인 프로세스들(511,512,513)에 대응된다. 이하에서는, 상기 제1 메인 프로세스(511)는 디크립트 프로세스이고, 제2 메인 프로세스(512)는 디코딩 프로세스이며, 제3 메인 프로세스(513)는 렌더링 프로세스인 경우를 예로 들어 설명한다.First, referring to FIG. 5A, for example, when a user wants to execute content related to DRM according to an embodiment of the present invention, a plurality of main processes 511, 512, and 513 are executed in the main unit 200. In the security service unit 340 of 300, at least one security process corresponding to the plurality of main processes 511, 512, and 513 is executed. For example, the first to third security processes 521, 522, and 523 corresponding to the plurality of main processes 511, 512, 513 may be executed in the security service unit 340. Here, the first to third main processes 511, 512, and 513 are processes that operate in association with each other to execute one application. For example, when the application is configured to receive and execute content such as a latest movie with DRM set from a remote contents provider, the first to third main processes 511, 512, and 513 are each decrypted ( Any one of a decrypt process executed by 220, a decoding process executed by the decoder 230, a rendering process performed by the renderer 240, and a user interface process for providing content to a user Can be. Accordingly, when any one of the first to third main processes 511, 512, and 513 does not operate normally, the user may not normally watch the movie. In addition, the first to third security processes 521, 522, and 523 correspond to the first to third main processes 511, 512, and 513, respectively. Hereinafter, a case where the first main process 511 is a decrypt process, the second main process 512 is a decoding process, and the third main process 513 is a rendering process will be described as an example.

다음으로, 도 5b를 참조하면, 메인부(200) 내에서 복수의 메인 프로세스들(511,512,513)이 동작하는 동안에 예기치 않은 이벤트(event)로 인하여 적어도 하나의 메인 프로세스가 응답을 발생하지 않거나, 멈추는 등 정상적으로 동작하지 않는 경우가 발생할 수 있다. 예를 들어, 도 5b에서는 제1 메인 프로세스(511)가 크래쉬(crash)되어 정상적으로 동작하지 않는 예를 나타내고 있다. 이와 같이, 제1 메인 프로세스(511)가 정상적으로 동작하지 않더라도 상기 제1 메인 프로세스(511)에 대응하는 제1 보안 프로세스(521)는 여전히 시스템의 자원을 점유하고 있다. 또한, 상기 제1 메인 프로세스(511)와 연관된 제2,3 메인 프로세스들(512,513)과 이들에 대응하는 제2,3 보안 프로세스들(522,523)도 여전히 시스템의 자원을 점유하고 있다. 그러나, 이와 같이 제1 메인 프로세스(511)가 정상적으로 동작하지 않음으로써, 즉 수신되는 프레임 또는 페이로드에 대한 디크립트과정이 정상적으로 수행되지 않음에도 불구하고 다수의 관련 프로세스들이 시스템의 자원을 점유하고 있는 문제가 있다. Next, referring to FIG. 5B, at least one main process does not generate a response or stops due to an unexpected event while the plurality of main processes 511, 512, 513 are operated in the main unit 200. It may not work properly. For example, FIG. 5B illustrates an example in which the first main process 511 crashes and does not operate normally. As such, even if the first main process 511 does not operate normally, the first security process 521 corresponding to the first main process 511 still occupies resources of the system. In addition, the second and third main processes 512 and 513 associated with the first main process 511 and the corresponding second and third security processes 522 and 523 still occupy resources of the system. However, since the first main process 511 does not operate normally, that is, the decryption process for the received frame or payload is not normally performed, many related processes occupy resources of the system. there is a problem.

도 5c를 참조하면, 메인 OS(210)는 상기 제1 메인 프로세스(511)가 정상적으로 동작하지 않고 있음을 검출하고, 상기 제1 메인 프로세스(511)가 정상적으로 동작하지 않고 있음을 제2,3 메인 프로세스들(511,512)에 통보한다. 도 5c에서는 제2,3 프로세스들(512,513)이 도 5b와 비교하여 어둡게 표시되어 있다. 이는 제1 메인 프로세스(511)가 크래쉬됨으로 인하여, 제2,3 프로세스들(512,513)도 역시 정상적으로 동작되지 않음을 나타내기 위함이다. Referring to FIG. 5C, the main OS 210 detects that the first main process 511 does not operate normally, and indicates that the first main process 511 does not operate normally. Notify processes 511 and 512. In FIG. 5C, the second and third processes 512 and 513 are darker than in FIG. 5B. This is to indicate that the second and third processes 512 and 513 are also not normally operated because the first main process 511 is crashed.

도 5d를 참조하면, 위와 같이 제2,3 메인 프로세스들(512,513)이 메인 OS(210)로부터 관련된 제1 메인 프로세스(511)가 크래쉬되었음을 통지받은 경우, 제2,3 메인 프로세스들(512,513)은 실행 중이던 동작들을 중단하고 초기화한다. 그리고나서, 상기 제2,3 메인 프로세스들(512,513) 중 어느 하나는 메인 OS(210)에 대하여 보안부(300) 내에서 실행 중인 제1 내지 3 보안 프로세스들(521,522,523)을 초기화할 것을 요청한다. 도 5d에서는 제2 메인 프로세스(512)가 메인 OS(210)에 대하여 보안부(300) 내에서 실행 중인 제1 내지 3 보안 프로세스들을 중단하고 초기화할 것을 요청하고 있다. 그러면, 상기 메인 OS(210)는 보안 통신부(270)를 통하여 보안 서비스부(340)에 상기 제1 내지 3 보안 프로세스들(521,522,523)의 중단 및 초기화할 것을 요청할 수 있게 되고, 상기 보안 서비스부(340)는 상기 요청에 따라 상기 제1 내지 3 보안 프로세스들(521,522,523)의 중단 및 초기화할 수 있다. Referring to FIG. 5D, when the second and third main processes 512 and 513 receive notification from the main OS 210 that the related first main process 511 has crashed, the second and third main processes 512 and 513 are crashed. Stops and initializes any running operation. Then, any one of the second and third main processes 512 and 513 requests the main OS 210 to initialize the first to third security processes 521, 522 and 523 running in the security unit 300. In FIG. 5D, the second main process 512 requests the main OS 210 to stop and initialize the first to third security processes running in the security unit 300. Then, the main OS 210 may request the security service unit 340 to stop and initialize the first to third security processes 521, 522, and 523 through the security communication unit 270. 340 may suspend and initialize the first to third security processes 521, 522, 523 according to the request.

이와 같은 과정을 통하여, 도 5에 도시된 바와 같이, 제1 내지 3 메인 프로세스(511,512,513)과 대응하는 제1 내지 3 보안 프로세스들(521,522,523)이 초기화 및 동기화가 이루어질 수 있다. 따라서, 메인 OS(210)와 보안 OS(310)를 동시에 운영하는 시스템 내에서 다수의 연관된 프로세스들 중 적어도 하나의 프로세스가 비정상적으로 동작하는 경우에도, 상기 비정상적으로 동작하는 프로세스와 다른 연관된 프로세스들의 모두 초기화시키고 그 동작을 동기화시킴으로써, 시스템 자원이 불필요하게 소모되는 문제를 해소할 수 있다. 또한, 사용자는 DRM 컨텐츠를 제공받는 도중에 일부 프로세스가 정상적으로 동작하지 않는 경우에도, 다시 상기 DRM 컨텐츠를 정상적으로 제공받을 수 있게 된다. Through this process, as shown in FIG. 5, the first to third security processes 521, 522, and 523 corresponding to the first to third main processes 511, 512, 513 may be initialized and synchronized. Thus, even when at least one of the plurality of associated processes operates abnormally in the system running the main OS 210 and the secure OS 310 simultaneously, all of the abnormally operating process and other associated processes By initializing and synchronizing its operation, the problem of unnecessary consumption of system resources can be eliminated. In addition, even if some processes do not operate normally while receiving DRM content, the user may be provided with the DRM content again.

상기한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다. 본 발명의 예시적 실시예에서는 본 발명에 따른 보안 데이터 처리 장치를 모바일 장치를 예로 들어 설명하고 있으나, 디지털 TV, 셋톱 박스, 퍼스널 컴퓨터, 노트북 등과와 같이 운영체제를 사용하는 장치들에 적용될 수 있다는 것은 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 용이하게 이해할 수 있을 것이다. 또한, 본 발명의 예시적 실시예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 청구범위와 같은 청구범위와 균등한 것에 의하여 정하여져야 할 것이다.
In the above description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. In the exemplary embodiment of the present invention, the secure data processing apparatus according to the present invention is described using a mobile device as an example, but the present invention may be applied to devices using an operating system such as a digital TV, a set-top box, a personal computer, a laptop, and the like. Those skilled in the art will readily understand. In addition, the methods according to the exemplary embodiments of the present invention may be implemented in the form of program instructions that may be executed by various computer means and may be recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be known and available to those skilled in the computer software field. Therefore, the scope of the present invention should not be defined by the described embodiments, but should be defined by the equivalents of the claims such as the claims.

Claims (15)

메인 운영체제;
상기 메인 운영체제의 제어하에서 실행되며 서로 연관된 복수의 메인 프로세스들;
상기 메인 운영체제와 동시에 운영되는 보안 운영체제; 및
상기 보안 운영체제의 제어하에서 실행되며, 상기 메인 프로세스들에 대응되는 적어도 하나의 보안 프로세스;를 포함하며,
상기 복수의 메인 프로세스들 중 적어도 하나가 비정상 작동 상태인 경우, 상기 메인 운영체제의 요청에 의해 상기 적어도 하나의 보안 프로세스의 동작이 중단되고 초기화되는 것을 특징으로 하는 보안 데이터 처리 장치.
Main operating system;
A plurality of main processes executed under the control of the main operating system and associated with each other;
A security operating system operating simultaneously with the main operating system; And
At least one security process executed under the control of the security operating system and corresponding to the main processes;
And when at least one of the plurality of main processes is in an abnormal operation state, an operation of the at least one security process is stopped and initialized by a request of the main operating system.
제1항에 있어서, 상기 보안 운영체제는 메모리의 특정 영역 내에서 보안이 필요한 데이터를 처리하며, 상기 메인 운영체제는 상기 메모리의 상기 특정 영역에 접근할 수 없는 것을 특징으로 하는 보안 데이터 처리 장치.
The apparatus of claim 1, wherein the secure operating system processes data requiring security in a specific area of the memory, and the main operating system cannot access the specific area of the memory.
제1항에 있어서, 상기 복수의 메인 프로세스들은 콘텐츠를 해독하기 위한 디크립트 프로세스, 상기 콘텐츠를 디코딩하기 위한 디코딩 프로세스, 상기 콘텐츠를 출력하기 위한 렌더링 프로세스, 상기 콘텐츠를 사용자에게 제공하기 위한 사용자 인터페이스(User Interface) 프로세스 중 어느 하나인 것을 특징으로 하는 보안 데이터 처리 장치.
The method of claim 1, wherein the plurality of main processes include a decrypt process for decrypting content, a decoding process for decoding the content, a rendering process for outputting the content, and a user interface for providing the content to a user. User Interface) security data processing apparatus, characterized in that any one of the process.
제1항에 있어서, 상기 적어도 하나의 보안 프로세스는 콘텐츠를 해독하기 위한 디크립트 프로세스, 상기 콘텐츠를 디코딩하기 위한 디코딩 프로세스, 상기 콘텐츠를 출력하기 위한 렌더링 프로세스, 상기 콘텐츠를 사용자에게 제공하기 위한 사용자 인터페이스(User Interface) 프로세스 중 어느 하나인 것을 특징으로 하는 보안 데이터 처리 장치.
The method of claim 1, wherein the at least one security process comprises a decrypt process for decrypting content, a decoding process for decoding the content, a rendering process for outputting the content, and a user interface for providing the content to a user. (User Interface) The security data processing apparatus, characterized in that any one of the process.
제1항에 있어서, 상기 보안 데이터 처리 장치가 상기 메인 운영체제에 의해 실행되는 일반 모드와 상기 보안 운영체제에 의해 실행되는 보안 모드 간에 스위칭을 가능하게 하는 보안 통신부를 더 포함하는 것을 특징으로 하는 보안 데이터 처리 장치.
The secure data processing of claim 1, further comprising a secure communication unit configured to enable the secure data processing device to switch between a normal mode executed by the main operating system and a secure mode executed by the secure operating system. Device.
제1항에 있어서, 상기 보안 데이터 처리 장치가 상기 메인 운영체제에 의해 실행되는 일반 모드와 상기 보안 운영체제에 의해 실행되는 보안 모드 간에 스위칭을 가능하게 하는 보안 통신부를 더 포함하며,
상기 보안 통신부는 미리 정해진 비트(bit)를 이용하여 상기 메인 운영체제가 접근할 수 있는 메모리 영역과, 상기 보안 운영체제가 접근할 수 있는 메모리 영역을 하드웨어 상에서 구분시키는 것을 특징으로 하는 보안 데이터 처리 장치.
The apparatus of claim 1, further comprising a secure communication unit configured to enable the secure data processing device to switch between a normal mode executed by the main operating system and a secure mode executed by the secure operating system.
And the secure communication unit divides a memory region accessible by the main operating system and a memory region accessible by the secure operating system on hardware by using a predetermined bit.
메인 운영체제가, 상기 메인 운영체제의 제어하에서 실행되며 상기 메인 운영체제와 동시에 운영되는 보안 운영체제와 연관된 복수의 메인 프로세스들 중 제1 메인 프로세스가 비정상적으로 작동되고 있음을 검출하는 단계; 및
상기 메인 운영체제와 동시에 운영되는 상기 보안 운영체제의 제어하에서 실행되며, 상기 메인 프로세스들에 대응되는 적어도 하나의 보안 프로세스의 동작을 중단시키고 초기화하는 단계;를 포함하는 보안 데이터 처리 방법.
Detecting, by a main operating system, that a first main process of a plurality of main processes associated with a secure operating system running under the control of the main operating system and operating simultaneously with the main operating system is abnormally operated; And
Stopping and initializing an operation of at least one security process corresponding to the main processes, which is executed under the control of the security operating system simultaneously running with the main operating system.
제7항에 있어서,
상기 제1 메인 프로세스를 제외한 다른 메인 프로세스들의 동작을 중단시키고 초기화하는 단계를 더 포함하는 것을 특징으로 하는 보안 데이터 처리 방법.
The method of claim 7, wherein
And suspending and initializing operations of other main processes except for the first main process.
제7항에 있어서, 상기 메인 운영체제가 상기 제1 메인 프로세스를 제외한 다른 메인 프로세스들에 상기 제1 메인 프로세스가 비정상적으로 작동되고 있음을 통보하는 단계를 더 포함하는 것을 특징으로 하는 보안 데이터 처리 방법.
8. The method of claim 7, further comprising the step of the main operating system notifying other main processes other than the first main process that the first main process is abnormally operating.
제9항에 있어서, 상기 메인 운영체제가 상기 제1 메인 프로세스를 제외한 다른 메인 프로세스들 중 어느 하나가 상기 메인 운영체제에 상기 보안 프로세스들을 중단하고 초기화시킬 것을 요청하는 단계를 더 포함하는 것을 특징으로 하는 보안 데이터 처리 방법.
10. The security of claim 9, further comprising the main operating system requesting any one of the main processes other than the first main process to suspend and initialize the secure processes. How data is processed.
제7항에 있어서, 상기 보안 운영체제는 메모리의 특정 영역 내에서 보안이 필요한 데이터를 처리하며, 상기 메인 운영체제는 상기 메모리의 상기 특정 영역에 접근할 수 없는 것을 특징으로 하는 보안 데이터 처리 방법.
8. The method of claim 7, wherein the secure operating system processes data requiring security in a specific area of the memory, and the main operating system cannot access the specific area of the memory.
제7항에 있어서, 상기 복수의 메인 프로세스들은 콘텐츠를 해독하기 위한 디크립트 프로세스, 상기 콘텐츠를 디코딩하기 위한 디코딩 프로세스, 상기 콘텐츠를 출력하기 위한 렌더링 프로세스, 상기 콘텐츠를 사용자에게 제공하기 위한 사용자 인터페이스(User Interface) 프로세스 중 어느 하나인 것을 특징으로 하는 보안 데이터 처리 방법.
The method of claim 7, wherein the plurality of main processes include a decrypt process for decrypting content, a decoding process for decoding the content, a rendering process for outputting the content, and a user interface for providing the content to a user. User Interface) process, characterized in that any one of the process.
제7항에 있어서, 상기 적어도 하나의 보안 프로세스는 콘텐츠를 해독하기 위한 디크립트 프로세스, 상기 콘텐츠를 디코딩하기 위한 디코딩 프로세스, 상기 콘텐츠를 출력하기 위한 렌더링 프로세스, 상기 콘텐츠를 사용자에게 제공하기 위한 사용자 인터페이스(User Interface) 프로세스 중 어느 하나인 것을 특징으로 하는 보안 데이터 처리 방법.
8. The method of claim 7, wherein the at least one security process comprises a decrypt process for decrypting content, a decoding process for decoding the content, a rendering process for outputting the content, and a user interface for providing the content to a user. (User Interface) The security data processing method, characterized in that any one of the processes.
제7항에 있어서, 상기 보안 데이터 처리 장치가 상기 메인 운영체제에 의해 실행되는 일반 모드와 상기 보안 운영체제에 의해 실행되는 보안 모드 간에 스위칭을 가능하게 하는 보안 통신부를 더 포함하는 것을 특징으로 하는 보안 데이터 처리 방법.
8. The secure data processing of claim 7, further comprising a secure communication unit configured to enable the secure data processing device to switch between a normal mode executed by the main operating system and a secure mode executed by the secure operating system. Way.
제7항에 있어서, 상기 보안 데이터 처리 장치가 상기 메인 운영체제에 의해 실행되는 일반 모드와 상기 보안 운영체제에 의해 실행되는 보안 모드 간에 스위칭을 가능하게 하는 보안 통신부를 더 포함하며,
상기 보안 통신부는 미리 정해진 비트(bit)를 이용하여 상기 메인 운영체제가 접근할 수 있는 메모리 영역과, 상기 보안 운영체제가 접근할 수 있는 메모리 영역을 하드웨어 상에서 구분시키는 것을 특징으로 하는 보안 데이터 처리 방법.
The apparatus of claim 7, further comprising a secure communication unit configured to enable the secure data processing device to switch between a normal mode executed by the main operating system and a secure mode executed by the secure operating system.
And the secure communication unit divides a memory area accessible by the main operating system and a memory area accessible by the secure operating system on hardware using a predetermined bit.
KR1020120016080A 2012-02-16 2012-02-16 Secure data processing device and method thereof KR20130101626A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120016080A KR20130101626A (en) 2012-02-16 2012-02-16 Secure data processing device and method thereof
US13/770,398 US20130219177A1 (en) 2012-02-16 2013-02-19 Secure data processing device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120016080A KR20130101626A (en) 2012-02-16 2012-02-16 Secure data processing device and method thereof

Publications (1)

Publication Number Publication Date
KR20130101626A true KR20130101626A (en) 2013-09-16

Family

ID=49451666

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120016080A KR20130101626A (en) 2012-02-16 2012-02-16 Secure data processing device and method thereof

Country Status (1)

Country Link
KR (1) KR20130101626A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101626967B1 (en) * 2015-01-21 2016-06-02 넷마블게임즈 주식회사 Method and apparatus for operating application to prevent hacking
KR101654249B1 (en) * 2015-04-07 2016-09-06 넷큐리티 주식회사 Communication interface security system for computer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101626967B1 (en) * 2015-01-21 2016-06-02 넷마블게임즈 주식회사 Method and apparatus for operating application to prevent hacking
KR101654249B1 (en) * 2015-04-07 2016-09-06 넷큐리티 주식회사 Communication interface security system for computer

Similar Documents

Publication Publication Date Title
US10733304B2 (en) Method and apparatus for protecting digital content using device authentication
CN111444528B (en) Data security protection method, device and storage medium
JP6091578B2 (en) System and method for controlling access to protected content
WO2016026532A1 (en) User authentication using a randomized keypad over a drm secured video path
US9911009B2 (en) Device and method for providing safety of data by using multiple modes in device
US20130219177A1 (en) Secure data processing device and method
KR20150017844A (en) Controlling Method For Input Status and Electronic Device supporting the same
CN112262548B (en) File processing method and terminal equipment
US20220294624A1 (en) Encryption method and device, electronic apparatus and storage medium
US9836111B2 (en) Apparatus and method for reproducing contents in electronic device
WO2016105917A1 (en) Protected media decoding system supporting metadata
KR102100456B1 (en) Method and apparatus for drm service in an electronic device
CN104115413A (en) Method and apparatus for outputting content in portable terminal supporting secure execution environment
KR20170070694A (en) Electronic device and operating method for the same
KR20140105681A (en) Apparatus and method for encryption data in secure mode
KR20130101626A (en) Secure data processing device and method thereof
KR20140108607A (en) Operating Method of Secure Data and Electronic Device supporting the same
KR20130101627A (en) Apparatus and method for processing secure data
KR20210026233A (en) Electronic device for controlling access for device resource and operating method thereof
CN116032504A (en) Data decryption method, device and storage medium
CN115935300A (en) Application program protection method

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid