KR20130101626A - Secure data processing device and method thereof - Google Patents
Secure data processing device and method thereof Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 169
- 238000012545 processing Methods 0.000 title claims abstract description 31
- 230000008569 process Effects 0.000 claims abstract description 147
- 230000002159 abnormal effect Effects 0.000 claims abstract description 4
- 230000026676 system process Effects 0.000 claims abstract description 4
- 238000004891 communication Methods 0.000 claims description 41
- 238000009877 rendering Methods 0.000 claims description 39
- 238000003672 processing method Methods 0.000 claims description 5
- 238000004519 manufacturing process Methods 0.000 abstract description 4
- 238000010295 mobile communication Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol 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
Description
본 발명은 데이터 처리 장치에 관한 것으로서, 특히 메인 운영체제(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
도 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
제어부(110)는 CPU(111), 장치(100)의 제어를 위한 제어프로그램이 저장된 롬(ROM,112) 및 장치(100)의 외부로부터 입력되는 신호 또는 데이터를 기억하거나, 장치(100)에서 수행되는 작업을 위한 기억영역으로 사용되는 램(RAM,113) 등으로 구성될 수 있다. CPU(111)는 싱글 코어, 듀얼 코어, 트리플 코어, 또는 쿼드 코어를 포함할 수 있다. CPU(111), 롬(112) 및 램(113)은 내부버스(bus)를 통해 상호 연결될 수 있다.The
제어부(110)는 이동통신 모듈(120), 서브통신 모듈(130), 멀티미디어 모듈(140), 카메라 모듈(150), GPS 모듈(155), 입/출력 모듈(160), 센서 모듈(170), 저장부(175), 전원공급부(180), 터치스크린(190) 및 터치스크린 컨트롤러(195)를 제어할 수 있다. The
이러한 제어부(110)는 하나의 CPU(111) 프로세서를 이용하여 일반 실행과 보안 실행을 각각 두 개의 분리된 메인 모드와 보안 모드를 이용하여 수행한다. 보안 모드는 보안이 요구되는 중요 실행을 수행하는 모드이고, 일반 모드는 보안 요구되지 않은 비보안 실행을 수행하는 모드이다. 본 발명의 실시 예에 따르면 제어부(110)는 비보안 실행(이하 '일반 실행')을 수행하는 메인부와 보안 실행을 수행하는 보안부를 구비하고, 메인부와 보안부를 통해 각각 일반 모드와 보안 모드를 수행할 수 있다. 상기 메인부 내에는 메인 운영체제(Main Operating System)이 실행되며, 상기 보안부 내에는 보안 운영체제(Secure Operating System)이 별도로 실행된다. 그리고, 상기 보안 운영체제에 의해 이용되는 메모리 영역은 보안 저장 영역으로서 상기 메인 운영체제에 의해 접근이 차단된다. 이에 따라, 상기 메인 운영체제가 공개형 운영체제인 경우에도 악성 코드가 상기 보안 운영체제 및 상기 보안 운영체제가 이용하는 메모리 영역에 접근을 할 수 없게 된다. The
제어부(110)는 일반 프로그램 또는 어플리케이션 또는 보안 요구되지 않은 일반 콘텐츠 등은 일반 모드에서 실행하고, 보안이 요구되는 프로그램 또는 보안이 요구되는 어플리케이션 또는 보안이 요구된 보안 콘텐츠는 보안 모드에서 실행한다. 여기서 보안이 요구되는 프로그램, 어플리케이션 또는 콘텐츠란, 예를 들어 DRM이 설정된 콘텐츠, 은행 결제 서비스 또는 전자상거래와 같이 고도의 보안이 요구되는 콘텐츠를 말한다. 또한, 보안이 필요한 모든 콘텐츠를 고도의 보안이 요구되는 콘텐츠와 상대적으로 저도의 보안이 요구되는 콘텐츠를 구분하고, 상기 고도의 보안이 요구되는 콘텐츠는 보안부(300)에서 처리하고, 상기 상대적으로 저도의 보안이 요구되는 콘텐츠는 메인부(200)에서 처리할 수도 있다. 특히 본 발명의 실시 예에 따르면 제어부(110)는 DRM 등의 콘텐츠 보호 기술에 의해 보호되는 보안 콘텐츠에 대한 처리를 보안 모드에서 실행한다. 예컨대 제어부(110)는 보안 콘텐츠에 해당하는 오디오 또는/및 비디오 스트림에 대한 디크립션(decryption) 실행, 디코딩(decording) 실행, 렌더링(rendering) 실행을 보안 모드에서 보안 운영체제의 운영 하에 실행할 수 있다.The
구체적으로 제어부(110)는 사용자 요청에 따라 콘텐츠 실행 요구가 수신되면, 일반 모드에서 콘텐츠에 해당하는 오디오 또는/및 비디오 스트림을 읽어오고, 읽어온 오디오 또는/및 비디오 스트림이 보안 요구된 오디오 또는/및 비디오 스트림인지 판단한다. 제어부(110)는 보안 요구된 경우 보안 모드로 전환(Switch)하여 읽어온 보안 요구된 오디오 또는/및 비디오 스트림을 처리한다. 예컨대 제어부(110)는 보안 모드에서 보안 요구된 오디오 또는/및 비디오 스트림에 대한 디크립션, 디코딩, 렌더링 처리를 수행하고, 접근이 제한된 보안 저장 영역에 처리 결과를 저장한다. 그리고 제어부(110)는 보안 모드에서 보안 저장 영역에 저장된 오디오 또는/및 비디오 데이터가 멀티미디어 모듈(140)을 통해 출력되도록 제어한다. 이와 같이 제어부(110)는 보안 콘텐츠가 보안 모드에서 접근 제한된 보안 저장 영역(179)을 이용하여 처리되도록 제어함으로써, 보안 콘텐츠의 해킹을 어렵게 만든다.In detail, when the content execution request is received according to a user's request, the
한편, 제어부(110)는 보안 요구된 오디오 또는/및 비디오 스트림에 대한 처리 수행 시, 오디오 스트림에 대해서는 디크립션 처리만 보안 모드에서 처리하고, 디크립드된 오디오 스트림에 대한 디코딩 및 렌더링 처리는 일반 모드에서 처리할 수 있다.Meanwhile, the
그런데 디크립트된 오디오 스트림에 대한 디코딩 및 렌더링 처리가 일반 모드에서 처리되는 경우, 디스크립트된 오디오 스트림을 디코딩 하고 난 후, 디코딩된 오디오 데이터가 일반 저장 영역(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
이동통신 모듈(120)은 제어부(110)의 제어에 따라 적어도 하나-하나 또는 복수-의 안테나(도시되지 아니함)를 이용하여 이동 통신을 통해 장치(100)가 외부 장치와 연결되도록 한다. 이동통신 모듈(120)은 장치(100)에 입력되는 전화번호를 가지는 휴대폰(도시되지 아니함), 스마트폰(도시되지 아니함), 태블릿PC 또는 다른 장치(도시되지 아니함)와 음성 통화, 화상 통화, 문자메시지(SMS) 또는 멀티미디어 메시지(MMS)를 위한 무선 신호를 송/수신한다. The
서브통신 모듈(130)은 무선랜 모듈(131)과 근거리통신 모듈(132) 중 적어도 하나를 포함할 수 있다. 예를 들어, 무선랜 모듈(131)만 포함하거나, 근거리통신 모듈(132)만 포함하거나 또는 무선랜 모듈(131)과 근거리통신 모듈(132)을 모두 포함할 수 있다. The
무선랜 모듈(131)은 제어부(110)의 제어에 따라 무선 AP(access point)(도시되지 아니함)가 설치된 장소에서 인터넷에 연결될 수 있다. 무선랜 모듈(131)은 미국전기전자학회(IEEE)의 무선랜 규격(IEEE802.11x)을 지원한다. 근거리통신 모듈(132)은 제어부(110)의 제어에 따라 장치(100)와 화상형성장치(도시되지 아니함) 사이에 무선으로 근거리 통신을 할 수 있다. 근거리 통신방식은 블루투스(bluetooth), 적외선 통신(IrDA, infrared data association) 등이 포함될 수 있다. The
장치(100)는 성능에 따라 이동통신 모듈(120), 무선랜 모듈(131), 및 근거리통신 모듈(132) 중 적어도 하나를 포함할 수 있다. 예를 들어, 장치(100)는 성능에 따라 이동통신 모듈(120), 무선랜 모듈(131), 및 근거리통신 모듈(132)들의 조합을 포함할 수 있다. The
이러한 이동통신 모듈(120), 무선랜 모듈(131), 및 근거리통신 모듈(132) 중 적어도 하나는 제어부(110)의 제어 하에 외부 콘텐츠 제공자에게 보안 콘텐츠를 요청하기 위한 요청신호를 송신하거나, 보안콘텐츠 요청에 대한 응답으로 보안 콘텐츠를 수신할 수 있다. 또한 이동통신 모듈(120), 무선랜 모듈(131), 및 근거리통신 모듈(132) 중 적어도 하나는 제어부(110)의 제어 하에 DRM 등의 보호된 콘텐츠를 디크립트하거나 인증하기 위한 키 데이터 및 인증 정보를 요청 및 수신할 수 있다.At least one of the
멀티미디어 모듈(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
멀티미디어 모듈(140)은 방송통신 모듈(141)을 제외하고 오디오재생 모듈(142)과 동영상재생 모듈(143)을 포함할 수 있다. 또한, 멀티미디어 모듈(140)의 오디오재생 모듈(142) 또는 동영상재생 모듈(143)은 제어부(100)에 포함될 수 있다. 이러한 멀티미디어 모듈(140)은 제어부(110)의 제어 하에 일반 모드에서는 일반 저장 영역(177)에 저장된 오디오 또는/및 비디오 데이터를 처리하여 출력하고, 보안 모드에서는 보안 저장 영역(177)에 저장된 오디오 또는/및 비디오 데이터를 처리하여 출력할 수 있다.The
카메라 모듈(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
GPS 모듈(155)은 지구 궤도상에 있는 복수의 GPS위성(도시되지 아니함)에서부터 전파를 수신하고, GPS위성(도시되지 아니함)에서부터 장치(100)까지 전파도달시간(Time of Arrival)을 이용하여 장치(100)의 위치를 산출할 수 있다. The
입/출력 모듈(160)은 복수의 버튼(161), 마이크(162), 스피커(163), 진동모터(164), 커넥터(165), 및 키패드(166) 중 적어도 하나를 포함할 수 있다. The input /
버튼(161)은 상기 장치(100)의 하우징의 전면, 측면 또는 후면에 형성될 수 있으며, 전원/잠금 버튼(도시되지 아니함), 볼륨버튼(도시되지 아니함), 메뉴 버튼, 홈 버튼, 돌아가기 버튼(back button) 및 검색 버튼(161) 중 적어도 하나를 포함할 수 있다.
마이크(162)는 제어부(110)의 제어에 따라 음성(voice) 또는 사운드(sound)를 입력 받아 전기적인 신호를 생성한다. The
스피커(163)는 제어부(110)의 제어에 따라 이동통신 모듈(120), 서브통신 모듈(130), 멀티미디어 모듈(140) 또는 카메라 모듈(150)의 다양한 신호(예, 무선신호, 방송신호, 디지털 오디오 파일, 디지털 동영상 파일 또는 사진 촬영 등)에 대응되는 사운드를 장치(100) 외부로 출력할 수 있다. 스피커(163)는 장치(100)가 수행하는 기능에 대응되는 사운드(예, 전화 통화에 대응되는 버튼 조작음, 또는 통화 연결음)를 출력할 수 있다. 스피커(163)는 상기 장치(100)의 하우징의 적절한 위치 또는 위치들에 하나 또는 복수로 형성될 수 있다.The
진동모터(164)는 제어부(110)의 제어에 따라 전기적 신호를 기계적 진동으로 변환할 수 있다. 예를 들어, 진동 모드에 있는 장치(100)는 다른 장치(도시되지 아니함)로부터 음성통화가 수신되는 경우, 진동모터(164)가 동작한다. 상기 장치(100)의 하우징 내에 하나 또는 복수로 형성될 수 있다. 진동모터(164)는 터치스크린(190) 상을 터치하는 사용자의 터치 동작 및 터치스크린(190) 상에서의 터치의 연속적인 움직임에 응답하여 동작할 수 있다. The
커넥터(165)는 장치(100)와 외부장치(도시되지 아니함) 또는 전원소스(도시되지 아니함)를 연결하기 위한 인터페이스로 이용될 수 있다. 제어부(110)의 제어에 따라 커넥터(165)에 연결된 유선 케이블을 통해 장치(100)의 저장부(175)에 저장된 데이터를 외부 장치(도시되지 아니함)로 전송하거나 또는 외부 장치(도시되지 아니함)에서부터 데이터를 수신할 수 있다. 커넥터(165)에 연결된 유선 케이블을 통해 전원소스(도시되지 아니함)에서부터 전원이 입력되거나 배터리(도시되지 아니함)를 충전할 수 있다.The
키패드(166)는 장치(100)의 제어를 위해 사용자로부터 키 입력을 수신할 수 있다. 키패드(166)는 장치(100)에 형성되는 물리적인 키패드(도시되지 아니함) 또는 터치스크린(190)에 표시되는 가상의 키패드(도시되지 아니함)를 포함한다. 장치(100)에 형성되는 물리적인 키패드(도시되지 아니함)는 장치(100)의 성능 또는 구조에 따라 제외될 수 있다.
센서 모듈(170)은 장치(100)의 상태를 검출하는 적어도 하나의 센서를 포함한다. 예를 들어, 센서모듈(170)은 사용자의 장치(100)에 대한 접근여부를 검출하는 근접센서, 장치(100) 주변의 빛의 양을 검출하는 조도센서(도시되지 아니함), 또는 장치(100)의 동작(예, 장치(100)의 회전, 장치(100)에 가해지는 가속도 또는 진동)을 검출하는 모션센서(도시되지 아니함)를 포함할 수 있다. 적어도 하나의 센서는 상태를 검출하고, 검출에 대응되는 신호를 생성하여 제어부(110)로 전송할 수 있다. 센서모듈(170)의 센서는 장치(100)의 성능에 따라 추가되거나 삭제될 수 있다.
저장부(175)는 제어부(110)의 제어에 따라 이동통신 모듈(120), 서브통신 모듈(130), 멀티미디어 모듈(140), 카메라 모듈(150), GPS모듈(155), 입/출력 모듈(160), 센서 모듈(170), 터치스크린(190)의 동작에 대응되게 입/출력되는 신호 또는 데이터를 저장할 수 있다. 저장부(175)는 장치(100) 또는 제어부(110)의 제어를 위한 제어 프로그램 및 어플리케이션들을 저장할 수 있다.The
“저장부”라는 용어는 저장부(175), 제어부(110)내 롬(112), 램(113) 또는 장치(100)에 장착되는 메모리 카드(도시되지 아니함)(예, SD 카드, 메모리 스틱)를 포함한다. 저장부는 비휘발성메모리, 휘발성메모리, 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD)를 포함할 수 있다. The term “storage unit” refers to a memory card (not shown) mounted in the
이러한 저장부(175)는 일반 저장 영역(177)과, 보안 저장 영역(179)을 포함할 수 있다. 일반 저장 영역(177)에는 일반 데이터 및 프로그램들이 저장될 수 있고, 보안 저장 영역(179)에는 보안 모드에서 접근 허여된 구성요소들만 접근할 수 있는 데이터 및 프로그램들이 저장될 수 있다. 본 발명의 실시 예에 따르면 일반 저장 영역(177)에는 이동통신 모듈(120), 무선랜 모듈(131), 및 근거리통신 모듈(132) 중 적어도 하나를 이용하여 다운로드 받은 콘텐츠에 해당하는 오디오 또는/및 비디오 스트림이 저장될 수 있다. 또한 일반 저장 영역(177)에는 일반 모드에서 일반 콘텐츠에 대한 디크립트 및 디코딩 수행 시 발생되는 디크립트된 오디오 또는/및 비디오 데이터와 디코딩된 오디오 데이터 및/또는 비디오 데이터 등이 저장될 수 있다. 보안 저장 영역(179)에는 보안 모드에서 보안 콘텐츠에 대한 디크립트 및 디코딩 수행 시 발생되는 디크립트된 오디오 또는/및 비디오 데이터 또는 디코딩된 오디오 또는/및 비디오 데이터 등이 저장될 수 있다.The
전원공급부(180)는 제어부(110)의 제어에 따라 장치(100)의 하우징에 배치되는 하나 또는 복수의 배터리(도시되지 아니함)에 전원을 공급할 수 있다. 하나 또는 복수의 배터리(도시되지 아니함)는 장치(100)에 전원을 공급한다. 또한, 전원공급부(180)는 커넥터(165)와 연결된 유선 케이블을 통해 외부의 전원소스(도시되지 아니함)에서부터 입력되는 전원을 장치(100)로 공급할 수 있다. The
터치스크린(190)은 사용자에게 다양한 서비스(예, 통화, 데이터 전송, 방송, 사진촬영)에 대응되는 유저 인터페이스를 제공할 수 있다. 특히 본 발명의 실시 예에 따라 콘텐츠 다운로드 어플리케이션 또는 콘텐츠 재생 어플리케이션 등의 어플리케이션 수행을 위한 유저 인터페이스를 제공할 수 있다.The
터치스크린(190)은 유저 인터페이스에 입력되는 적어도 하나의 터치에 대응되는 아날로그 신호를 터치스크린 컨트롤러(195)로 전송할 수 있다. 터치스크린(190)은 사용자의 신체(예, 엄지를 포함하는 손가락) 또는 터치가능한 입력 수단(예, 스타일러스 펜)을 통해 적어도 하나의 터치를 입력받을 수 있다. 또한, 터치스크린(190)은 적어도 하나의 터치 중에서, 하나의 터치의 연속적인 움직임을 입력받을 수 있다. 터치스크린(190)은 입력되는 터치의 연속적인 움직임에 대응되는 아날로그 신호를 터치스크린 컨트롤러(195)로 전송할 수 있다. 예컨대 사용자에 의한 콘텐츠 다운로드 어플리케이션 실행 요청이나, 콘텐츠 다운로드 어플리케이션 실행 중 발생하는 다양한 사용자 선택에 대응된 터치 동작에 대응되는 아날로그 신호를 터치 스크린 컨트롤러(195)로 전송할 수 있다.The
본 발명에서 터치는 터치스크린(190)과 사용자의 신체 또는 터치 가능한 입력 수단과의 접촉에 한정되지 않고, 비접촉(예, 터치스크린(190)과 사용자의 신체 또는 터치 가능한 입력 수단과 검출가능한 간격이 1 mm 이하)을 포함할 수 있다. 터치스크린(190)에서 검출가능한 간격은 장치(100)의 성능 또는 구조에 따라 변경될 수 있다. In the present invention, the touch is not limited to the contact between the
터치스크린(190)은 예를 들어, 저항막(resistive) 방식, 정전용량(capacitive) 방식, 적외선(infrared) 방식 또는 초음파(acoustic wave) 방식으로 구현될 수 있다. The
터치스크린 컨트롤러(195)는 터치스크린(190)에서부터 수신된 아날로그 신호를 디지털 신호(예, X와 Y좌표)로 변환하여 제어부(110)로 전송한다. 제어부(110)는 터치스크린 컨트롤러(195)로부터 수신된 디지털 신호를 이용하여 터치스크린(190)을 제어할 수 있다. 예를 들어, 제어부(110)는 터치에 응답하여 터치스크린(190)에 표시된 단축 아이콘(도시되지 아니함)이 선택되게 하거나 또는 단축 아이콘(도시되지 아니함)을 실행할 수 있다. 또한, 터치스크린 컨트롤러(195)는 제어부(110)에 포함될 수도 있다. The touch screen controller 195 converts an analog signal received from the
도 2는 본 발명의 일 실시예에 따른 제어부(110)의 CPU(111) 프로세서의 구성도이다. 도 2를 참조하면, CPU(111)는 일반 실행을 수행하는 메인부(200), 보안 실행을 수행하는 보안부(300), 메인부(200)와 보안부(300)간의 통신을 담당하는 보안 통신부(270)를 포함한다.2 is a block diagram of a
메인부(200)는 일반 모드에서 보안 요구되지 않은 일반 프로그램 또는 일반 어플리케이션 또는 일반 콘텐츠 등을 실행하며, 보안 요구되는 보안 프로그램 또는 보안 어플리케이션 또는 보안 콘텐츠 등의 실행이 필요한 경우 보안 통신부(270)를 통해 보안부(300)로 해당 실행을 명령 또는 요청한다.The
상기 메인부(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
보안부(300)는 메인부(200)로부터 보안 콘텐츠에 대한 디크립트 또는 디코딩 또는 렌더링이 요청되면 보안 보드에서 보안 콘텐츠에 대한 디크립트 또는 디코딩 또는 렌더링을 수행한다. The
특히 보안부(300)는 오디오 스트림에 대한 보안 디크립트 요청이 수신되면 보안 디크립트 수행 전에, 미리 정해진 오디오 스트림 기준에 따라 오디오 스트림이 템퍼드 오디오 스트림인지 여부를 판단한다. 이때 미리 정해진 오디오 스트림 기준은 오디오 스트림의 프레임 크기 또는 오디오 스트림에 포함된 스타트 코드가 될 수 있다. 보안부(300)는 보안 디크립트 요구된 오디오 스트림의 프레임 크기가 미리 정해진 기준 오디오 프레임 크기보다 큰 경우 해당 오디오 스트림을 탬퍼드 오디오 스트림으로 판단할 수 있다. 또한 보안부(300)는 보안 디크립트 요구된 오디오 스트림에 포함된 스타트 코드가 오디오 스트림에 대응된 스타트 코드가 아닌 경우 해당 오디오 스트림을 탬퍼드 오디오 스트림으로 판단할 수 있다. In particular, when the security decryption request for the audio stream is received, the
보안부(300)는 보안 디크립트 수행 전에 탬퍼드 오디오 스트림으로 판단된 경우, 오디오 스트림에 대한 보안 디크립트를 수행하지 않고, 탬퍼드 오디오 스트림인 것을 메인부(200)로 알린다. If the
한편, 보안 디크립트 수행 전에 탬퍼드 오디오 스트림으로 판단되지 않은 경우, 오디오 스트림에 대한 보안 디크립트를 수행한다. 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
보안부(300)는 보안 디크립트 수행 후, 탬퍼드 오디오 스트림으로 판단된 경우, 탬퍼드 오디오 스트림인 것을 메인부(200)로 알려, 보안 디크립트된 오디오 데이터에 대한 디코딩을 중단시킨다.After performing the security decrypt, the
보안부(300)는 메인부(200)로부터 비디오 스트림에 대한 보안 디크립트 명령이 수신되면 보안 키 및 인증정보를 이용하여 비디오 스트림에 대한 보안 디크립트를 수행하고, 보안 디크립트된 오디오 스트림을 보안 저장 영역(179)에 저장한다. When the
상기한 바와 같은 메인부(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
먼저 메인부(200)의 메인 OS(Operating System)(210), 디크립트부(220), 디코딩부(230), 렌더링부(240), 어플리케이션부(250)에 대해 설명한다.First, the main OS (Operating System) 210, the
메인 OS(210)는 장치(100)의 메인 운영체제로서, 일반 모드에서 장치(100) 전반의 운영을 담당하고, 특히 일반 모드에서 보안 요구되지 않은 일반 프로그램 또는 일반 어플리케이션 또는 일반 콘텐츠 등의 실행을 수행하며, 보안 요구되는 보안 프로그램 또는 보안 어플리케이션 또는 보안 콘텐츠 등의 실행이 필요한 경우 보안 통신부(270)를 통해 보안부(300)로 해당 실행을 명령 또는 요청한다. The
디크립트부(220)는 콘텐츠 실행이 요청된 경우, 일반 저장 영역(177)에서 상기 실행 요청된 콘텐츠에 해당하는 오디오 및/또는 비디오 스트림을 읽어오고, 오디오 및/또는 비디오 스트림이 보안 요구되는 오디오 및/또는 비디오 스트림인지 여부를 판단한다. 이때 디크립트부(220)는 오디오 및/또는 비디오 스트림이 DRM 등과 같은 콘텐츠 보호 시스템이 적용되어 있는지 여부를 확인하여 보안 요구되는 오디오 및/또는 비디오 스트림인지 여부를 판단할 수 있다. 또한 디크립트부(210)는 오디오 및/또는 비디오 스트림이 보안 모드에서 실행되도록 하는 식별자가 오디오 및/또는 비디오 스트림에 포함된 경우, 보안 요구되는 오디오 및/또는 비디오 스트림인지 여부를 판단할 수 있다.The
디크립트부(220)는 실행 요청된 콘텐츠가 보안 요구되지 않은 오디오 또는/및 비디오 스트림인 경우, 보안 요구되지 않은 오디오 또는/및 비디오 스트림을 페이로드 단위로 구분하여 일반 저장 영역(177)에 저장하고, 디코딩을 요청한다. 디크립트부(220)는 실행 요청된 콘텐츠가 보안 요구된 오디오 및/또는 비디오 스트림인 경우, 보안 요구된 오디오 또는/및 비디오 스트림을 페이로드(payload) 단위로 구분하고, 페이로드 단위의 보안 요구된 오디오 또는/및 비디오 스트림에 대한 보안 디크립트가 수행되도록 메인 OS(210)에 요청한다. 그리고 디크립트부(210)는 보안 디크립트 수행이 완료됨을 알리는 정보가 메인 OS(210)로부터 수신되면 디코딩부(220)에 디코딩을 요청한다.The
디코딩부(230)는 비디오 디코딩 모듈(232) 및 오디오 디코딩 모듈(234)을 포함한다. 디코딩부(230)는 보안 요구되지 않은 일반 오디오 또는/및 비디오 스트림에 대한 디코딩 요청이 있는 경우 일반 모드에서 비디오 디코딩 모듈(232) 및/또는 오디오 디코딩 모듈(234)을 통해 일반 저장 영역(177)에 저장된 페이로드 단위의 오디오 또는/및 비디오 스트림을 해당 오디오 또는 및 비디오 코덱을 이용하여 프레임 단위의 오디오 또는/및 비디오 데이터로 디코딩한다. 디코딩부(230)는 디코딩된 오디오 또는/및 비디오 데이터를 일반 저장 영역(177)에 저장하고, 렌더링부(240)에 렌더링을 요청한다. 한편 디코딩부(230)는 보안 요구되는 비디오 스트림 디코딩 요청이 있는 경우, 보안 모드에서 보안 디코딩이 이루어지도록 메인 OS(210)에 요청한다. 그리고 디코딩부(230)는 메인OS(210)로부터 보안 디코딩 수행이 완료됨을 알리는 정보가 수신되면, 렌더링부(240)에 렌더링을 요청한다.The
렌더링부(240)는 비디오 렌더링 모듈(242) 및 오디오 렌더링 모듈(244)을 포함한다. 렌더링부(230)는 보안 요구되지 않은 일반 오디오 또는/및 비디오 데이터에 대한 렌더링 요청이 있는 경우 일반 모드에서 비디오 렌더링 모듈(242) 또는/및 오디오 렌더링 모듈(244)을 통해 일반 저장 영역(177)에 저장된 디코딩된 비디오 데이터를 터치스크린(190)에 표시될 수 있는 2차원 또는 3차원 비디오 신호로 생성하는 비디오 렌더링을 수행하여 출력하고, 디코딩된 오디오 데이터를 아날로그 오디오 신호로 생성하는 렌더링을 수행하여 출력한다.The
한편, 렌더링부(240)는 보안 요구되는 비디오 데이터 렌더링 요청이 있는 경우 보안 모드에서 보안 렌더링이 이루어지도록 메인 OS(210)에 요청한다. 그리고 렌더링부(240)는 메인OS(210)로부터 보안 렌더링 수행이 완료됨을 알리는 정보가 수신되면, 렌더링된 비디오 신호와 오디오 신호가 출력되도록 요청한다. 렌더링된 비디오 신호와 오디오 신호는 각각 표시장치 및 스피커를 통해 출력될 수 있다.Meanwhile, when there is a video data rendering request that requires security, the
어플리케이션부(250)는 콘텐츠 다운로드 어플리케이션 또는 콘텐츠 재생 어플리케이션 등의 어플리케이션을 구비하고, 사용자 요청에 따라 어플리케이션이 실행되면, 해당 기능을 수행한다.The
이하 보안부(300)의 보안 OS(Operating System)(310), 프로비전 서비스부(320), SFS(Secure File System)(330), 보안 서비스부(340)에 대해 설명한다.Hereinafter, the
보안 OS(310)는 장치(100)의 보안 운영체제로서, 보안 모드에서 보안 요구되는 보안 콘텐츠의 실행을 수행한다. 특히 보안 OS(310)는 보안 통신부(270)를 통해 메인 OS(210)로부터 보안 요구된 비디오 스트림에 대한 디크립션 요청, 디코딩 요청, 렌더링 요청 및 보안 요구된 오디오 스트림에 대한 디크립션 요청 중 어느 하나가 수신되면, 이를 보안 서비스부(340)로 전달한다.The
프로비전 서비스부(320)는 DRM 서비스 제공자 등의 외부 콘텐트 보호 서비스 제공자들로부터 보안 키 및 인증 정보를 수신하여 SFS(330)에 기록한다. 또한 상기 보안키 및 인증 정보는 장치 제조사에 의해 미리 SFS(330)에 저장될 수도 있다.The
SFS(330)는 보안 모드에서 접근 가능한 저장 영역으로서, 보안 요구되는 보안 콘텐츠의 실행 예컨대 오디오 또는/및 비디오 신호에 대한 디크립션 실행, 디코딩 실행, 렌더링 실행을 위한 각종 프로그램 및 정보들을 포함한다. 또한 SFS(330)는 프로비전 서비스부(320)에 의해 기록된 보안 키 및 인증정보를 저장한다.The
보안 서비스부(340)는 보안 디크립션을 수행하는 보안 디크립션 서비스(342), 보안 디코딩을 수행하는 보안 디코딩 서비스(344), 보안 렌더링을 수행하는 보안 렌더링 서비스(346)를 제공한다. 보안 서비스부(340)는 보안 디크립션 서비스(342)를 통해 보안 디크립션을 수행한다. 보안 서비스부(340)는 보안 디코딩 서비스(344)를 통해 보안 디코딩을 수행한다. 보안 서비스부(340)는 보안 렌더링 서비스(346)를 통해 보안 렌더링을 수행한다. The
이러한 보안 서비스부(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
한편, 보안 서비스부(340)는 보안 OS(310)로부터 보안 요구된 비디오 스트림에 대한 디크립션 요청이 전달되면, SFS(330)에 저장된 보안 키 및 인증 정보를 이용하여 보안 요구된 오디오 스트림에 대한 보안 디크립트를 수행하고 보안 디크립트된 오디오 스트림을 일반 저장 영역(179)에 저장한다.Meanwhile, when the decryption request for the security-required video stream is transmitted from the
상기한 바와 같이 보안 서비스부(340)는 보안 요구된 비디오 스트림에 대해 서는 디크립트, 디코딩, 렌더링 수행 결과를 보안 저장 영역(179)에 저장됨에 따라 비디오 스트림에 대한 보안이 한층 강화되어 해킹을 어렵게 한다. As described above, the
그러나 보안 서비스부(340)는 보안 요구된 비디오 스트림에 대해서는 디크립트된 오디오 스트림을 일반 저장 영역(177)에 저장함으로써 해킹의 위험이 있을 수 있게 된다. 다시 말해, 악의적인 사용자가 오디오 데이터가 아닌 다른 종류의 데이터 예컨대 비디오 데이터를 오디오 데이터를 나타내는 식별자를 사용하여 템퍼드 오디오 스트림으로 구성한다면, 보안 모드에서 템퍼드 오디오 스트림이 디크립트되어 해킹에 취약한 오픈된 일반 저장 영역(177)에 저장될 수 있기 때문이다.However, the
이를 방지하기 위해, 보안 서비스부(340)는 보안 OS(310)로부터 보안 요구된 오디오 스트림에 대한 디크립션 수행 시, 템퍼드 오디오 스트림인지 여부를 판단하고, 템퍼드 오디오 스트림을 검출한다. 이때 보안 서비스부(340)는 오디오 스트림에 대한 디크립션 수행 전에 템퍼드 오디오 스트림인지 여부를 판단하고, 템퍼드 오디오 스트림인 경우 디크립션 수행을 중단할 수 있다. 또한 보안 서비스부(330)는 오디오 스트림에 대한 디크립션 수행 후에 템퍼드 오디오 스트림인지 여부를 판단하고, 템퍼드 오디오 스트림인 경우 디크립션 수행 결과를 제공하지 않을 수 있다.To prevent this, the
도 3은 본 발명의 일 실시 예에 따른 콘텐츠 실행 요청 시 메인부(200)와 보안부(300)의 동작을 나타낸 흐름도이다. 도 3을 참조하면, 메인부(200)는 402단계에서 사용자에 의한 콘텐츠 실행 요구에 따라 일반 저장 영역(177)에서 콘텐츠에 해당하는 오디오 및 비디오 스트림을 읽어온다. 이때 사용자는 장치(100)에 콘텐츠 재생 어플리케이션을 실행시키고, 터치 스크린상에 표시되는 콘텐츠 어플리케이션에서 원하는 콘텐츠를 터치함에 따라 콘텐츠 실행 요구를 입력할 수 있다.3 is a flowchart illustrating operations of the
메인부(200)는 404단계에서 상기 읽어온 오디오 및 비디오 스트림이 보안 요구된 콘텐츠인지 판단한다. 이때 메인부(200)에 포함된 디크립트부(210)가 오디오 및비디오 스트림이 DRM 등과 같은 콘텐츠 보호 시스템이 적용되어 있는지 여부를 확인하여 보안 요구되는 오디오 및 비디오 스트림인지 여부를 판단할 수 있다. 또한 메인부(200)에 포함된 디크립트부(210)가 오디오 및 비디오 스트림이 보안 모드에서 실행되도록 하는 식별자가 오디오 및 비디오 스트림에 포함된 경우, 보안 요구되는 오디오 및 비디오 스트림인지 여부를 판단할 수 있다.The
메인부(200)는 오디오 및 비디오 스트림이 보안 요구된 콘텐츠가 아닌 경우, 406단계로 진행하여 일반 모드에서 오디오 및 비디오 스트림 처리를 수행한다. 예컨대 메인부(200)는 일반 모드에서 오디오 및 비디오 스트림에 대한 디코딩을 수행하고, 디코딩된 오디오 및 비디오 데이터를 일반 저장 영역(177)에 저장한다. 그리고 메인부(200)는 디코딩된 오디오 및 비디오 데이터를 렌더링하여 출력한다.If the audio and video streams are not security-required content, the
한편, 메인부(200)는 오디오 및 비디오 스트림이 보안 요구된 콘텐츠인 경우, 408단계에서 보안부(300)에 오디오 및 비디오 스트림에 대한 디크립트를 요청한다. On the other hand, if the audio and video stream is a security-required content, the
보안부(300)는 410단계에서 오디오 및 비디오 스트림에 대한 디크립트 요청을 수신하고 오디오 스트림에 대한 디크립트를 위해 412단계로 진행하고, 비디오 디크립트를 위해 422단계로 진행한다.The
보안부(300)는 412단계에서 오디오 스트림이 템퍼드 오디오 스트림인지 여부 판단 결과에 따라 오디오 스트림에 대한 보안 디크립트를 수행하고, 414단계에서 보안 디크립트된 오디오 데이터를 일반 저장 영역(177)에 저장한다. 그리고 보안부(300)는 416단계에서 오디오 스트림에 대한 보안 디크립트가 완료됨을 알리는 정보를 메인부(200)로 전달한다.The
한편, 보안부(300)는 422단계에서 비디오 스트림에 대한 보안 디크립트를 수행하고, 424단계에서 보안 디크립트된 비디오 데이터를 보안 저장 영역(179)에 저장한다. 그리고 보안부(300)는 426단계에서 비디오 스트림에 대한 보안 디크립트가 완료됨을 알리는 정보를 메인부(200)로 전달한다.In
상기한 바와 같이 본 발명의 실시 예에 따르면, 보안부(300)는 오디오 디크립트에 대한 보안 디크립트 수행 시 오디오 스트림이 템퍼드 오디오 스트림인지 여부 판단 결과에 따라 오디오 스트림에 대한 보안 디크립트를 수행함으로써, 템퍼드 오디오 스트림이 디크립트되어 비디오 데이터가 일반 저장 영역(177)에 저장되는 경우를 방지할 수 있게 된다.As described above, according to an embodiment of the present invention, the
이하에서는 상기한 바와 같은 보안부(300)의 오디오 스트림에 대한 보안 디크립트 수행 과정에 대해 좀더 자세히 설명한다.Hereinafter, a process of performing security decryption on the audio stream of the
도 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
보안 서비스부(340)는 504단계에서 디크립트 요청된 오디오 스트림이 미리 정해진 제1 기준을 만족하지 않는 템퍼드 오디오 스트림인지 판단한다. 예컨대 미리 정해진 제1 기준은 오디오 스트림의 프레임 사이즈 또는 오디오 스트림의 스타트 코드 등이 될 수 있다. 보안 서비스부(340)는 디크립트 요청된 오디오 스트림이 미리 정해진 오디오 프레임 사이즈보다 크면 템퍼드 오디오 스트림으로 판단할 수 있다. 또한 보안 서비스부(340)는 디크립트 요청된 오디오 스트림의 스타트 코드가 오디오 스트림을 나타내는 스타트 코드가 아닌 경우 템퍼드 오디오 스트림으로 판단할 수 있다. In
또한 미리 정해진 제1 기준을 만족하는 오디오 스트림인 경우, 보안 서비스부(340)는 506단계에서 디크립트 요청된 오디오 스트림에 대한 보안 디크립트를 수행한다. In addition, when the audio stream satisfies the first predetermined criterion, the
그리고 보안 서비스부(340)는 508단계에서 상기 보안 디크립트된 오디오 스트림이 미리 정해진 제2 기준을 만족하지 않는 템퍼드 오디오 스트림인지 판단한다. 예컨대 미리 정해진 제2 기준은 코덱 정보가 될 수 있다. 보안 서비스부(240)는 디크립트된 오디오 스트림에 포함된 코덱 정보가 미리 정해진 제2 기준에 해당하는 오디오 코덱 정보가 아닌 경우 예컨대 비디오에 해당하는 코덱 정보인 경우 오디오 스트림을 템퍼드 오디오 스트림으로 판단할 수 있다.In
미리 정해진 제2 기준을 만족하는 오디오 스트림인 경우, 보안 서비스부(340)는 510단계에서 보안 디크립트된 오디오 스트림을 일반 저장 영역(177)에 저장하고, 오디오 스트림에 대한 보안 디크립트가 완료됨을 보안 OS(310)로 알린다. If the audio stream satisfies the second predetermined criterion, the
한편, 미리 정해진 제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
이에 따라 보안 OS(310)는 메인 OS(210)로 디크립트 요청된 오디오 스트림이 템퍼드 오디오 스트림임을 알리게 되고, 메인 OS(210)에서는 템퍼드 오디오 스트림에 대한 재생이나 이용을 중단시킬 수 있게 된다.
Accordingly, the
도 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
다음으로, 도 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
도 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
도 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
이와 같은 과정을 통하여, 도 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
상기한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다. 본 발명의 예시적 실시예에서는 본 발명에 따른 보안 데이터 처리 장치를 모바일 장치를 예로 들어 설명하고 있으나, 디지털 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.
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.
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.
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.
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.
상기 보안 통신부는 미리 정해진 비트(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.
상기 메인 운영체제와 동시에 운영되는 상기 보안 운영체제의 제어하에서 실행되며, 상기 메인 프로세스들에 대응되는 적어도 하나의 보안 프로세스의 동작을 중단시키고 초기화하는 단계;를 포함하는 보안 데이터 처리 방법.
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.
상기 제1 메인 프로세스를 제외한 다른 메인 프로세스들의 동작을 중단시키고 초기화하는 단계를 더 포함하는 것을 특징으로 하는 보안 데이터 처리 방법.
The method of claim 7, wherein
And suspending and initializing operations of other main processes except for the first main process.
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.
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.
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.
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.
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.
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.
상기 보안 통신부는 미리 정해진 비트(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.
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)
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 |
-
2012
- 2012-02-16 KR KR1020120016080A patent/KR20130101626A/en not_active Application Discontinuation
Cited By (2)
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 |