KR20180060804A - 전자장치, 전자장치의 제어방법 및 기록매체 - Google Patents

전자장치, 전자장치의 제어방법 및 기록매체 Download PDF

Info

Publication number
KR20180060804A
KR20180060804A KR1020160160730A KR20160160730A KR20180060804A KR 20180060804 A KR20180060804 A KR 20180060804A KR 1020160160730 A KR1020160160730 A KR 1020160160730A KR 20160160730 A KR20160160730 A KR 20160160730A KR 20180060804 A KR20180060804 A KR 20180060804A
Authority
KR
South Korea
Prior art keywords
file
external device
image processing
processing apparatus
receiving
Prior art date
Application number
KR1020160160730A
Other languages
English (en)
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 KR1020160160730A priority Critical patent/KR20180060804A/ko
Priority to US16/464,904 priority patent/US11272263B2/en
Priority to PCT/KR2017/013028 priority patent/WO2018101656A1/ko
Publication of KR20180060804A publication Critical patent/KR20180060804A/ko

Links

Images

Classifications

    • G06F17/30073
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F17/30117
    • G06F17/30781
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43622Interfacing an external recording device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Remote Sensing (AREA)
  • Technology Law (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Facsimiles In General (AREA)

Abstract

본 발명의 실시예에 따른 전자장치는, 제1외부장치 및 제2외부장치와 통신하게 마련된 적어도 하나의 통신부와; 제1외부장치로부터 제2외부장치에 대한 파일의 쓰기 요청을 수신하고, 파일이 쓰기가 허용된 파일명 형식을 가지면 제1외부장치로부터 파일을 수신하며, 수신된 파일이 제2외부장치에 선택적으로 저장되도록 하는 프로세서를 포함하는 것을 특징으로 한다.

Description

전자장치, 전자장치의 제어방법 및 기록매체 {ELECTRONIC APPARATUS, CONTROL METHOD OF ELECTRONIC APPARATUS, AND RECORDING MEDIA}
본 발명은 타 장치와의 네트워크 통신을 통해 멀티미디어 파일을 송수신하거나 재생할 수 있는 전자장치, 전자장치의 제어방법 및 기록매체에 관한 것으로서, 상세하게는 별도의 외부장치에 저장된 멀티미디어 파일이 타 장치에 스트리밍되도록 인터페이스함에 있어서, 타 장치로부터 수신되는 쓰기 명령에 대한 보안성을 향상시킨 구조의 전자장치, 전자장치의 제어방법 및 기록매체에 관한 것이다.
소정의 정보를 특정 프로세스에 따라서 연산 및 처리하기 위해, 연산을 위한 CPU, 칩셋, 메모리 등의 전자부품들을 기본적으로 포함하는 전자장치는, 처리 대상이 되는 정보 또는 사용 용도가 무엇인지에 따라서 다양한 종류로 구분될 수 있다. 예를 들면, 전자장치에는 범용의 정보를 처리하는 PC나 서버 등의 정보처리장치, 영상 정보를 처리하는 영상처리장치, 오디오를 처리하는 오디오장치, 가정 내 잡무를 수행하는 생활가전 등이 있다.
이 중에서도 많이 사용되는 영상처리장치는 영상데이터를 포함하는 콘텐츠 신호를 외부로부터 수신하며, 콘텐츠 신호로부터 추출되는 영상데이터를 다양한 영상처리 프로세스에 따라서 처리한다. 영상처리장치는 처리된 영상데이터를 자체 구비한 디스플레이 패널(display panel) 상에 영상으로 표시하거나, 또는 디스플레이 패널을 구비한 타 디스플레이장치에서 영상으로 표시되도록 이 처리된 영상데이터를 해당 디스플레이장치에 출력한다. 디스플레이 패널을 가지지 않은 영상처리장치의 대표적인 예시로는 셋탑박스(set-top box)가 있다. 디스플레이 패널을 가진 영상처리장치를 특히 디스플레이장치라고 지칭하며 그 예시로는 TV, 모니터, 휴대용 멀티미디어 재생기, 태블릿(tablet), 모바일 폰(mobile phone) 등이 있다.
이러한 영상처리장치는 영상의 처리에 관한 기본 기능 이외에도, 사용상의 편의나 컨텐츠의 발달에 따라서 다양하게 확장된 기능을 지원할 수도 있다. 예를 들면, 복수의 영상처리장치가 네트워크를 통해 소정 규격에 따라서 상호 접속되고, 서버 역할의 어느 한 영상처리장치로부터 네트워크를 통해 전송되는 멀티미디어 컨텐츠를 클라이언트 역할의 다른 한 영상처리장치가 수신하여 재생하는 등의 연계 동작이 가능하다. 그런데, 영상처리장치가 자체적으로 저장하고 있는 컨텐츠가 아닌, 해당 영상처리장치에 로컬 방식으로 접속된 외부장치에 저장되어 있는 컨텐츠를 타 장치에 전송하고자 하는 경우에, 영상처리장치는 이러한 기능을 지원하는 솔루션을 추가적으로 포함할 수 있다. 그런데, 이러한 솔루션의 추가로 인해, 영상처리장치에는 보안 이슈의 문제점이 발생할 수도 있다.
본 발명의 실시예에 따른 전자장치는, 제1외부장치 및 제2외부장치와 통신하게 마련된 적어도 하나의 통신부와; 상기 제1외부장치로부터 상기 제2외부장치에 대한 파일의 쓰기 요청을 수신하고, 상기 파일이 쓰기가 허용된 파일명 형식을 가지면 상기 제1외부장치로부터 상기 파일을 수신하며, 상기 수신된 파일이 상기 제2외부장치에 선택적으로 저장되도록 하는 프로세서를 포함하는 것을 특징으로 한다. 이로써, 전자장치는 제1외부장치가 사전에 정의된 규격에 맞지 않는 파일을 제2외부장치에 기록하는 것을 방지하는 바, 보안 관련 문제가 발생하는 것을 방지할 수 있다.
여기서, 상기 프로세서는, 상기 파일이 상기 쓰기가 허용된 확장자를 가지면 상기 파일을 수신하고, 상기 파일이 상기 쓰기가 허용된 확장자를 가지지 않으면 상기 파일을 수신하지 않을 수 있다.
여기서, 상기 쓰기가 허용된 확장자를 규정하는 데이터베이스를 더 포함하며, 상기 프로세서는, 상기 데이터베이스의 검색에 의해 상기 파일이 상기 쓰기가 허용된 확장자를 가지는지 여부를 판단할 수 있다.
또한, 상기 프로세서는, 상기 수신된 파일의 유효성을 체크하며, 상기 유효성 체크를 통과한 상기 파일이 상기 제2외부장치에 저장되도록 하고, 상기 유효성 체크를 통과하지 않은 상기 파일이 상기 제2외부장치에 저장되지 않도록 삭제할 수 있다. 이로써, 전자장치는 제1외부장치로부터의 파일이 확장자를 위조한 상태로 수신되는 것을 방지할 수 있다.
여기서, 상기 프로세서는, 상기 수신된 파일의 헤더로부터 상기 수신된 파일의 포맷을 분석하고, 상기 분석 결과가 상기 파일의 확장자와 대응하지 않으면 상기 유효성 체크를 통과하지 않을 수 있다.
또한, 상기 프로세서는, 상기 파일이 쓰기가 허용된 파일명의 형식을 가지면 상기 제1외부장치로부터 상기 파일 중에서 헤더를 포함하는 일부를 수신하고 상기 헤더에 기초하여 상기 파일의 유효성을 체크하며, 상기 파일이 상기 유효성 체크를 통과하면 상기 파일의 나머지를 상기 제1외부장치로부터 수신하고, 상기 파일이 상기 유효성 체크를 통과하지 않으면 기 수신된 상기 파일의 일부를 삭제할 수 있다. 이로써, 전자장치는 파일의 유효성 체크를 위한 최소한의 데이터만을 먼저 수신하여 판단할 수 있는 바, 불필요한 네트워크 사용을 줄일 수 있다.
또한, 상기 프로세서는, 상기 제1외부장치로부터 상기 파일의 쓰기 요청을 수신하면, 상기 제1외부장치의 계정이 쓰기 권한을 가지고 있는지 여부에 대응하여, 상기 파일의 상기 파일명 형식에 관한 판단 동작을 선택적으로 수행할 수 있다.
또한, 상기 적어도 하나의 통신부는, 제1전송규격에 따라서 상기 제1외부장치와 통신하게 마련된 제1통신부와, 제2전송규격에 따라서 상기 제2외부장치와 통신하게 마련된 제2통신부를 포함하며, 상기 프로세서는, 상기 제1통신부를 통해 상기 제1외부장치로부터 상기 제2외부장치에 저장된 파일의 요청을 수신하면, 상기 제2통신부를 통해 상기 제2외부장치로부터 상기 요청에 대응하는 파일을 취득하고, 상기 취득한 파일을 상기 제1통신부를 통해 전송할 수 있다.
여기서, 상기 프로세서는, 상기 통신부를 통해 상기 제1외부장치로부터의 상기 제1전송규격에 따른 브로드캐스팅 신호를 수신하면, 상기 브로드캐스팅 신호에 응답하여 상기 제1외부장치에 관한 기기 정보를 상기 제1외부장치에 전송하며, 상기 제1외부장치로부터 수신되는 상기 기기 정보에 기초하여 상기 통신부 및 상기 제1외부장치 사이에 상기 제1전송규격에 따른 네트워크 통신이 가능하도록 처리할 수 있다.
또한, 본 발명의 실시예에 따른 전자장치의 제어방법은, 제1외부장치 및 제2외부장치와 각기 통신하는 단계와; 상기 제1외부장치로부터 상기 제2외부장치에 대한 파일의 쓰기 요청을 수신하는 단계와; 상기 파일이 쓰기가 허용된 파일명 형식을 가지면 상기 제1외부장치로부터 상기 파일을 수신하는 단계와; 상기 수신된 파일이 상기 제2외부장치에 선택적으로 저장되도록 하는 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 파일 수신 단계는, 상기 파일이 상기 쓰기가 허용된 확장자를 가지면 상기 파일을 수신하고, 상기 파일이 상기 쓰기가 허용된 확장자를 가지지 않으면 상기 파일을 수신하지 않는 단계를 포함할 수 있다.
여기서, 상기 파일 수신 단계는, 상기 쓰기가 허용된 확장자를 규정하는 데이터베이스의 검색에 의해 상기 파일이 상기 쓰기가 허용된 확장자를 가지는지 여부를 판단하는 단계를 더 포함할 수 있다.
또한, 상기 선택적 저장 단계는, 상기 수신된 파일의 유효성을 체크하는 단계와; 상기 유효성 체크를 통과한 상기 파일이 상기 제2외부장치에 저장되도록 하고, 상기 유효성 체크를 통과하지 않은 상기 파일이 상기 제2외부장치에 저장되지 않도록 삭제할 수 있다.
여기서, 상기 체크 단계는, 상기 수신된 파일의 헤더로부터 상기 수신된 파일의 포맷을 분석하고, 상기 분석 결과가 상기 파일의 확장자와 대응하지 않으면 상기 유효성 체크를 통과하지 않는 것으로 판단하는 단계를 포함할 수 있다.
또한, 상기 파일 수신 단계는, 상기 파일이 쓰기가 허용된 파일명의 형식을 가지면 상기 제1외부장치로부터 상기 파일 중에서 헤더를 포함하는 일부를 수신하고 상기 헤더에 기초하여 상기 파일의 유효성을 체크하는 단계와; 상기 파일이 상기 유효성 체크를 통과하면 상기 파일의 나머지를 상기 제1외부장치로부터 수신하고, 상기 파일이 상기 유효성 체크를 통과하지 않으면 기 수신된 상기 파일의 일부를 삭제하는 단계를 포함할 수 있다.
또한, 상기 수신 단계는, 상기 제1외부장치로부터 상기 파일의 쓰기 요청을 수신하면, 상기 제1외부장치의 계정이 쓰기 권한을 가지고 있는지 여부에 대응하여, 상기 파일의 상기 파일명 형식에 관한 판단 동작을 선택적으로 수행하는 단계를 포함할 수 있다.
또한, 본 발명의 실시예에 따른 전자장치의 프로세서에 의해 실행 가능한 방법의 프로그램 코드가 기록된 비휘발성 기록매체에 있어서, 상기 방법은, 제1외부장치 및 제2외부장치와 각기 통신하는 단계와; 상기 제1외부장치로부터 상기 제2외부장치에 대한 파일의 쓰기 요청을 수신하는 단계와; 상기 파일이 쓰기가 허용된 파일명 형식을 가지면 상기 제1외부장치로부터 상기 파일을 수신하는 단계와; 상기 수신된 파일이 상기 제2외부장치에 선택적으로 저장되도록 하는 단계를 포함하는 것을 특징으로 한다.
도 1은 본 발명의 실시예에 따른 시스템의 예시도이다.
도 2는 관련 기술에 따른 제1영상처리장치가 네트워크를 통해 저장장치와 접속하고, 저장장치의 파일을 제1영상처리장치가 수신하는 과정을 나타내는 예시도이다.
도 3은 본 발명의 실시예에 따른 제1영상처리장치가 제2영상처리장치와 네트워크를 통해 접속하고, 저장장치의 파일을 제2영상처리장치에 전송하는 과정을 나타내는 예시도이다.
도 4는 관련 기술에 따른 시스템에서 제1영상처리장치가 제2영상처리장치로부터 쓰기 요청을 수신하는 경우의 동작을 나타내는 플로우차트이다.
도 5는 본 발명의 실시예에 따른 시스템에서 제1영상처리장치가 제2영상처리장치로부터 쓰기 요청을 수신하는 경우의 동작을 나타내는 플로우차트이다.
도 6은 본 발명의 실시예에 따른 제1영상처리장치에서 실행되는 어플리케이션의 실행 구조를 나타내는 구성 블록도이다.
도 7은 본 발명의 실시예에 따른 제1영상처리장치가 승인 응답에 따라서 파일의 유효성을 판단하는 과정을 나타내는 플로우차트이다.
도 8은 본 발명의 실시예에 따른 제1영상처리장치에서 사용되는 파일의 공유 서비스에 관한 규격에 따른 파일 구조의 예시도이다.
도 9는 본 발명의 실시예에 따른 제1영상처리장치의 구성 블록도이다.
이하에서는 첨부도면을 참조하여 본 발명에 따른 실시예들에 관해 상세히 설명한다. 이하 실시예들의 설명에서는 첨부된 도면들에 기재된 사항들을 참조한다. 또한, 실시예에서는 본 발명의 사상과 직접적인 관련이 있는 구성들에 관해서만 설명하며, 그 외의 구성에 관해서는 설명을 생략한다. 그러나, 본 발명의 사상이 적용된 장치 또는 시스템을 구현함에 있어서, 이와 같이 설명이 생략된 구성이 불필요함을 의미하는 것이 아님을 밝힌다.
만일, 실시예에서 제1구성요소, 제2구성요소 등과 같이 서수를 포함하는 용어가 있다면, 이러한 용어는 다양한 구성요소들을 설명하기 위해 사용되는 것이며, 용어는 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용되는 바, 이들 구성요소는 용어에 의해 그 의미가 한정되지 않는다. 실시예에서 사용하는 용어는 해당 실시예를 설명하기 위해 적용되는 것으로서, 본 발명의 사상을 한정하지 않는다. 또한, 각 도면을 참조하여 설명하는 실시예들은 특별한 언급이 없는 한 상호 배타적인 구성이 아니며, 하나의 장치 내에서 복수 개의 실시예가 선택적으로 조합되어 구현될 수 있다. 이러한 복수의 실시예의 조합은 본 발명의 기술분야에서 숙련된 기술자가 본 발명의 사상을 구현함에 있어서 임의로 선택되어 적용될 수 있다.
도 1은 본 발명의 실시예에 따른 시스템의 예시도이다.
도 1에 도시된 바와 같이, 본 실시예에 따른 시스템은 네트워크를 통해 상호 통신 가능하게 접속된 복수의 영상처리장치(110, 120)를 포함한다. 본 실시예에서는 제1영상처리장치(110) 및 제2영상처리장치(120)가 모두 TV인 것으로 표현하지만, 이것은 본 발명의 사상이 구현될 수 있는 장치 중 한 가지 예시일 뿐이다. 시스템을 구성하는 장치는 영상처리장치, 디스플레이장치, 생활가전 등의 다양한 전자장치로 구현될 수 있다.
본 실시예에서는 제1영상처리장치(110) 및 제2영상처리장치(120)의 2대의 장치가 허브(130)를 통해 상호 통신 가능하게 접속되는 경우에 관해 설명하지만, 본 발명의 사상이 구현되는 시스템은 이러한 실시예에 한정되지 않고 확장될 수 있다. 예를 들면, 시스템이 셋 이상의 영상처리장치를 포함하는 경우라고 하더라도, 두 대의 영상처리장치 사이의 데이터 송수신의 측면에서 본 실시예가 응용될 수 있다. 또한, 제1영상처리장치(110) 및 제2영상처리장치(120) 사이에는 허브(130)나 AP 등의 중계를 통한 무선 네트워크가 구축되거나, 또는 제1영상처리장치(110) 및 제2영상처리장치(120)가 허브(130) 또는 이에 준하는 중계장치 없이 다이렉트로 통신할 수도 있다.
제1영상처리장치(110)는 네트워크를 통해 제2영상처리장치(120)와 통신 가능한 것 이외에, 저장장치(140)가 로컬로 접속된다. 예를 들면 저장장치(140)가 USB 또는 SATA 등의 규격에 따라서 케이블을 통해 제1영상처리장치(110)와 데이터가 송수신되도록 마련되는 경우에, 제1영상처리장치(110)에 저장장치(140)가 로컬로 접속된다고 간주한다. 저장장치(140)는 외장 HDD 장치이거나, 외장 플래시메모리 저장장치이거나, 또는 광학미디어 재생장치 등으로 구현될 수 있다.
이와 같은 구조 하에서, 멀티미디어 파일의 스트리밍과 같이, 제2영상처리장치(120)가 저장장치(140)에 저장된 데이터 파일을 수신하고자 하는 경우에 관해 고려한다.
만일 저장장치(140)가 네트워크에 접속 가능한 장치라면, 해당 네트워크를 통해 제2영상처리장치(120)에 파일을 전송할 수 있을 것이다. 그런데, 저장장치(140)가 네트워크 접속이 가능하기 위해서는, 해당 네트워크 프로토콜을 지원함으로써 허브(130) 또는 제2영상처리장치(120)와 통신이 가능한 통신모듈이나 통신칩 등을 포함하고 있어야 한다. 그러나, 저장장치(140)가 이러한 통신모듈을 내장하고 있지 않으며 저장장치(140)가 네트워크 접속을 지원하지 않는 경우에, 저장장치(140)가 제2영상처리장치(120)에 다이렉트로 파일을 전송하는 것은 불가하다. 또는, 저장장치(140)가 일 프로토콜의 네트워크 접속을 지원하더라도, 저장장치 및 제2영상처리장치(120)가 각각 지원하는 프로토콜에 공통된 것이 없다면, 같은 상황이 발생할 수 있다.
이러한 경우에, 저장장치(140)로부터 제2영상처리장치(120)로 파일이 전송되기 위해서는, 제1영상처리장치(110)가 저장장치(140)로부터 파일을 취득하고, 취득한 파일을 네트워크를 통해 제2영상처리장치(120)로 전송한다. 이는, 제1영상처리장치(110)가 시스템 내에서 서버의 역할을 수행하는 것을 의미한다. 이에, 제1영상처리장치(110)는 서버의 역할에 맞는 하드웨어 또는 소프트웨어 솔루션을 추가적으로 포함함으로써 해당 역할을 수행할 수 있다.
그런데, 제1영상처리장치(110)가 서버 역할을 수행하기 위한 솔루션을 포함하게 되면, 해당 솔루션으로 인해 제1영상처리장치(110)에서 보안 관련 문제점이 발생할 수도 있다. 예를 들면, 제1영상처리장치(110)는 클라이언트 역할인 제2영상처리장치(120)로부터 악성 파일에 관련된 쓰기(write) 명령을 수신할 수 있다. 본 실시예에 따른 제1영상처리장치(110)는 이와 같은 명령에 대처함으로써 보안을 유지할 수 있는 바, 이에 관한 설명은 후술한다.
이하, 관련 기술에 따른 제1영상처리장치가 네트워크를 통해 저장장치와 접속하고, 제1영상처리장치가 저장장치에 파일을 요청하는 동작에 관해 설명한다.
도 2는 관련 기술에 따른 제1영상처리장치가 네트워크를 통해 저장장치와 접속하고, 저장장치의 파일을 제1영상처리장치가 수신하는 과정을 나타내는 예시도이다.
도 2에 도시된 바와 같이, 관련 기술에 따른 시스템 내에서 저장장치(201) 및 제1영상처리장치(202)는 다양한 통신 프로토콜 중에서 상호 공통적으로 지원하는 어느 한 방식에 따른 네트워크를 구축할 수 있다. 본 실시예에서는 UPnP(universal plug and play) 방식을 예시로 들지만, 네트워크를 구축하는 방식이 UPnP로만 한정되는 것은 아니다.
210 단계에서, 제1영상처리장치(202)는 UPnP 브로드캐스팅(broadcasting)을 수행한다. 제1영상처리장치(202)는 시스템 내에서 디스커버리 신호를 브로드캐스팅함으로써 통신 가능한 장치를 찾는다.
215 단계에서, 저장장치(201)는 제1영상처리장치(202)로부터 브로드캐스팅되는 신호를 감지하고, 감지한 신호에 응답하여 UPnP 리플라이(replay)를 수행한다. 본 리플라이에는 UPnP 네트워크를 위한 제1영상처리장치(202)의 기기 정보 등에 관한 요청이 포함될 수 있다.
220 단계에서, 제1영상처리장치(202)는 해당 요청에 응답하여, 제1영상처리장치(202)의 기기 정보를 저장장치(201)에 전송한다.
225 단계에서, 저장장치(201)는 제1영상처리장치(202)로부터의 정보에 기초하여 제1영상처리장치(202)와 네트워크 경로를 형성한다. 이로써, 저장장치(201)는 제1영상처리장치(202)와 UPnP 네트워크를 통해 통신 가능하게 접속된다.
230 단계에서, 저장장치(201)는 저장장치(203)의 파일을 전송하는 프로세스를 위한 제1어플리케이션을 실행한다.
235 단계에서, 제1영상처리장치(202)는 저장장치(203)의 파일을 수신하는 프로세스를 위한 제2어플리케이션을 실행한다. 제1어플리케이션 및 제2어플리케이션은 상호 대응하게 마련된 어플리케이션인 바, 특정 규격에 따른 멀티미디어 파일의 송수신 및 재생을 위해서 각 장치에서 실행된다. 예를 들면, 보안을 고려하여 송수신 또는 재생이 제한된 멀티미디어 파일이 있을 때, 저장장치(201)는 제1어플리케이션에 의해 해당 규격의 파일을 취득하여 송신할 수 있고, 제1영상처리장치(202)는 제2어플리케이션에 의해 해당 파일을 수신하여 재생하도록 마련될 수도 있다.
240 단계에서, 제1영상처리장치(202)는 사용자 계정 정보를 저장장치(201)에 전송한다.
245 단계에서, 저장장치(201)는 해당 계정을 인증한다. 이로써, 제1영상처리장치(202)는 저장장치(201)로부터 파일을 수신할 수 있는 권한을 취득한다.
250 단계에서, 제1영상처리장치(202)는 저장장치(201)에 저장된 파일의 전송을 요청한다.
260 단계에서, 저장장치(201)는 요청에 대응하는 파일을 제1영상처리장치(202)에 전송한다.
이와 같은 동작은, 저장장치(201)가 네트워크 통신 기능을 지원하는 경우에 가능하다. 그러나, 만일 저장장치(201)가 네트워크 통신을 지원하지 않고 단지 로컬 접속 기능만을 지원하는 경우라면, 이와 같은 동작을 실행하는 것은 곤란하다.
이하, 제1영상처리장치 및 제2영상처리장치가 상호 네트워크를 통해 접속하고, 제1영상처리장치가 로컬 접속된 저장장치의 파일을 제2영상처리장치에 전송하는 과정에 관해 설명한다.
도 3은 본 발명의 실시예에 따른 제1영상처리장치가 제2영상처리장치와 네트워크를 통해 접속하고, 저장장치의 파일을 제2영상처리장치에 전송하는 과정을 나타내는 예시도이다.
도 3에 도시된 바와 같이, 시스템 내에서 제1영상처리장치(301) 및 제2영상처리장치(302)는 다양한 통신 프로토콜 중에서 상호 공통적으로 지원하는 어느 한 방식에 따른 네트워크를 구축할 수 있다. 본 실시예에서는 UPnP 방식을 예시로 들지만, 네트워크를 구축하는 방식이 UPnP에 한정되는 것은 아니다.
310 단계에서, 제2영상처리장치(302)는 UPnP 브로드캐스팅을 수행한다.
315 단계에서, 제1영상처리장치(301)는 제2영상처리장치(302)로부터 브로드캐스팅되는 신호를 감지하고, 감지한 신호에 응답하여 UPnP 리플라이(replay)를 수행한다.
320 단계에서, 제2영상처리장치(302)는 해당 요청에 응답하여, 제2영상처리장치(302)의 기기 정보를 제1영상처리장치(301)에 전송한다.
325 단계에서, 제1영상처리장치(301)는 제2영상처리장치(302)로부터의 정보에 기초하여 제2영상처리장치(302)와 네트워크 경로를 형성한다. 이로써, 제1영상처리장치(301)는 제2영상처리장치(302)와 UPnP 네트워크를 통해 통신 가능하게 접속된다. 한편, 제1영상처리장치(301)에는 저장장치(303)가 로컬 접속된 상태이다.
330 단계에서, 제1영상처리장치(301)는 저장장치(303)의 파일을 전송하는 프로세스를 위한 제1어플리케이션을 실행한다. 제1어플리케이션은 제1영상처리장치(301)의 운영체제 상에서, 다양한 타 프로세스와 함께 실행될 수 있다. 제1어플리케이션의 구성에 관해서는 후술한다.
335 단계에서, 제2영상처리장치(302)는 저장장치(303)의 파일을 수신하는 프로세스를 위한 제2어플리케이션을 실행한다. 제1어플리케이션 및 제2어플리케이션은 상호 대응하게 마련된 어플리케이션인 바, 특정 규격에 따른 멀티미디어 파일의 송수신 및 재생을 위해서 각 장치에서 실행된다. 예를 들면, 보안을 고려하여 송수신 또는 재생이 제한된 멀티미디어 파일이 있을 때, 제1영상처리장치(301)는 제1어플리케이션에 의해 해당 규격의 파일을 취득하여 송신할 수 있고, 제2영상처리장치(302)는 제2어플리케이션에 의해 해당 파일을 수신하여 재생할 수 있도록 마련될 수도 있다.
340 단계에서, 제2영상처리장치(302)는 사용자 계정 정보를 제1영상처리장치(301)에 전송한다.
345 단계에서, 제1영상처리장치(301)는 해당 계정을 인증한다. 이로써, 제2영상처리장치(302)는 제1영상처리장치(301)로부터 파일을 수신할 수 있는 권한을 취득한다.
350 단계에서, 제2영상처리장치(302)는 제1영상처리장치(301)에 저장장치(303)에 저장된 파일의 전송을 요청한다.
355 단계에서, 제1영상처리장치(301)는 제2영상처리장치(302)로부터의 파일 요청에 응답하여, 저장장치(303)로부터 해당 파일을 취득한다. 저장장치(303)는 제1영상처리장치(301)에 로컬 접속되어 있다.
360 단계에서, 제1영상처리장치(301)는 취득한 파일을 UPnP 네트워크를 통해 제2영상처리장치(302)에 전송한다.
이로써, 제2영상처리장치(302)는 UPnP 네트워크에 접속되지 않은 상태의 저장장치(303)에 저장된 파일을, UPnP 네트워크를 통해 수신할 수 있다.
이와 같이 수행되는 동작에서, 제1영상처리장치(301)는 시스템 내에서 서버의 역할을 하고 제2영상처리장치(302)는 클라이언트의 역할을 한다. 저장장치(303)에 저장된 파일이 제1영상처리장치(301)에서 제2영상처리장치(302)로 전송되는 동작은, 제2영상처리장치(302)의 계정이 인증된 이후, 제2영상처리장치(302)가 저장장치(303)의 파일에 대한 읽기(read) 권한을 취득하면 가능하게 된다.
다만, 단순히 제2영상처리장치(302)가 읽기 권한만 취득한다면, 멀티미디어 스트리밍과 같은 특정 동작의 경우에는 실행이 가능하지 않거나 실행이 곤란할 수도 있다. 예를 들면, 제2영상처리장치(302)가 멀티미디어 컨텐츠를 취득하기 위해, 사전에 계정에 관한 등록이나 해당 컨텐츠의 라이센스에 관련된 입력 동작이 필요한 여러 경우가 있다. 이를 위해서는, 제2영상처리장치(302)는 저장장치(303)에 대한 쓰기 권한이 필요할 수 있다. 즉, 제1영상처리장치(301)는 제2영상처리장치(302)로부터 수신되는 계정 정보를 인증하고, 해당 계정이 인증되면 제2영상처리장치(302)에 쓰기 권한을 부여한다.
그런데, 제2영상처리장치(302)에 쓰기 권한을 부여하는 경우, 관련 기술에 따른 시스템에서는 다음과 같은 문제점이 발생할 수 있다.
도 4는 관련 기술에 따른 시스템에서 제1영상처리장치가 제2영상처리장치로부터 쓰기 요청을 수신하는 경우의 동작을 나타내는 플로우차트이다.
도 4에 도시된 바와 같이, 410 단계에서, 제1영상처리장치는 제2영상처리장치로부터 소정 파일에 대한 '쓰기 요청(write request)'을 수신한다.
420 단계에서, 제1영상처리장치는 쓰기 요청을 한 제2영상처리장치의 계정 권한을 체크한다.
430 단계에서, 제1영상처리장치는 제2영상처리장치가 쓰기 권한을 가지고 있는지 여부를 판단한다.
제2영상처리장치가 쓰기 권한을 가지고 있다고 판단하면, 440 단계에서, 제1영상처리장치는 '승인 응답(accept response)'을 생성한다. 반면, 제2영상처리장치가 쓰기 권한을 가지고 있지 않다고 판단하면, 450 단계에서, 제1영상처리장치는 '거절 응답(reject response)'을 생성한다.
460 단계에서, 제1영상처리장치는 승인 응답에 따라서, 제2영상처리장치로부터 파일을 수신한다. 470 단계에서 제1영상처리장치는 제2영상처리장치로부터 수신한 파일에 대한 '쓰기 시스템 호출(write system call)'을 실행한다. 이로써, 제1영상처리장치는 쓰기 권한을 가진 제2영상처리장치가 저장장치 또는 제1영상처리장치에 소정의 파일을 쓸 수 있도록 허용한다. 여기서, 시스템 호출에 관한 내용은 후술한다.
반면, 제1영상처리장치는 거절 응답에 따라서, 제2영상처리장치로부터 파일을 수신하지 않는다.
이와 같이, 관련 기술에 따른 제1영상처리장치는 제2영상처리장치가 쓰기 권한을 가지고만 있으면 어떠한 파일도 기록할 수 있도록 허용하므로, 관련 기술에서는 제2영상처리장치가 악성 코드를 포함하는 파일을 저장장치 또는 제1영상처리장치에 의도적으로 쓰고자 하는 행위를 차단할 수 없다.
물론, 제1영상처리장치가 제2영상처리장치에 대해 쓰기 권한을 부여하지 않고 읽기 권한만을 부여하면 상기한 행위를 방지할 수 있겠지만, 앞서 설명한 바와 같이 제2영상처리장치에 대해 부득이 쓰기 권한을 부여하는 것이 필요한 경우도 있다.
이에, 본 발명의 실시예는 제2영상처리장치에 대해 파일의 쓰기 권한을 부여하면서도 제2영상처리장치가 악성 코드를 포함하는 파일을 전자장치에 기록하는 것을 방지하기 위해, 다음과 같이 동작한다.
도 5는 본 발명의 실시예에 따른 시스템에서 제1영상처리장치가 제2영상처리장치로부터 쓰기 요청을 수신하는 경우의 동작을 나타내는 플로우차트이다.
도 5에 도시된 바와 같이, 510 단계에서, 제1영상처리장치는 제2영상처리장치로부터 소정 파일에 대한 쓰기 요청을 수신한다.
515 단계에서, 제1영상처리장치는 제2영상처리장치의 계정 권한을 체크한다.
520 단계에서, 제1영상처리장치는 제2영상처리장치가 쓰기 권한을 가지고 있는지 여부를 판단한다.
제2영상처리장치가 쓰기 권한을 가지고 있다고 판단되면, 525 단계에서, 제1영상처리장치는 해당 파일의 파일명 형식, 예를 들면 확장자가 기 설정된 규격에서 허용된 것인지 여부를 판단한다.
파일의 확장자가 기 설정된 규격에서 허용된 것이라고 판단되면, 530 단계에서, 제1영상처리장치는 승인 응답을 생성한다. 생성된 승인 응답은 제1영상처리장치로부터 제2영상처리장치로 전송된다.
535 단계에서, 제1영상처리장치는 승인 응답에 따라서, 제2영상처리장치로부터 파일을 수신한다.
540 단계에서, 제1영상처리장치는 수신한 파일에 대한 쓰기 시스템 호출을 실행한다.
545 단계에서, 제1영상처리장치는 파일의 유효성(validity)을 판단한다.
파일이 유효하다고 판단되면, 550 단계에서, 제1영상처리장치는 쓰기 시스템 호출에 따른 파일의 쓰기를 실행한다. 반면, 파일이 유효하지 않다고 판단되면, 555 단계에서, 제1영상처리장치는 해당 파일을 삭제한다.
한편, 520 단계에서 제2영상처리장치가 쓰기 권한을 가지고 있지 않다고 판단되거나, 525 단계에서 파일의 확장자가 기 설정된 규격에서 허용되지 않은 것이라고 판단되면, 560 단계에서, 제1영상처리장치는 거절 응답을 생성한다. 생성된 거절 응답은 제1영상처리장치로부터 제2영상처리장치로 전송되는 바, 제2영상처리장치는 거절 응답을 수신하면 파일을 전송하지 않는다.
이와 같이, 본 발명의 실시예에 따르면, 제1영상처리장치는 제2영상처리장치로부터의 파일 쓰기 요청에 응답하여 해당 파일의 확장자가 사전에 약속된 규격에서 허용하는지 판단하고, 허용된 확장자의 파일에 대해서만 전송을 허용한다. 이로써, 제1영상처리장치는 규격에 허용되지 않는 파일이 제2영상처리장치로부터 수신되는 것을 차단할 수 있다.
그리고, 제1영상처리장치는 허용된 확장자의 파일이라고 하더라도, 해당 파일의 유효성을 판단함으로써 해당 파일의 확장자가 변조되었는지 여부를 판단할 수 있다. 즉, 설사 제2영상처리장치가 악성 코드를 포함하는 파일의 확장자를 변조하여 전송하더라도, 해당 파일의 쓰기가 수행되기 전에 삭제할 수 있다.
이로써, 제1영상처리장치는 쓰기 권한을 가진 제2영상처리장치가 악성 코드를 포함하는 파일을 저장장치 또는 제1영상처리장치에 기록하는 것을 방지함으로써, 보안을 향상시킬 수 있다.
도 6은 본 발명의 실시예에 따른 제1영상처리장치에서 실행되는 어플리케이션의 실행 구조를 나타내는 구성 블록도이다.
도 6에 도시된 바와 같이, 본 실시예에 따른 제1영상처리장치는 앞서 설명한 바와 같이 저장장치에 저장된 파일을 기 설정된 규격에 따라서 네트워크를 통해 제2영상처리장치에 전송하는 프로세스를 수행함에 있어서, 해당 프로세스를 실행하기 위해 해당 규격에 따른 어플리케이션(611)을 실행한다. 이하, 본 프로세스를 편의상 서버 프로세스라고 지칭한다. 본 어플리케이션(611)은 제1영상처리장치의 프로세서 또는 CPU에 의해 실행된다.
제1영상처리장치에서 소프트웨어가 실행되는 레벨을 사용자 레벨 및 커널(kernel) 레벨로 구분할 때, 커널 레벨에서 운영체제(620)가 실행되고, 운영체제(620) 상의 사용자 레벨에서 어플리케이션(611)이 실행된다. 본 실시예에서 운영체제(620)는 기본적으로 커널을 지칭한다. 제1영상처리장치는 멀티태스킹 및 멀티쓰레딩을 지원하므로, 파일 전송 프로세스 이외에도 다양한 어플리케이션에 의한 타 프로세스들을 병행하여 수행할 수 있다.
운영체제(620)는 제1영상처리장치의 동작을 수행하기 위한 시스템 소프트웨어로서, 지원하는 각 기능에 대응하는 서브시스템(subsystem)을 포함한다. 어플리케이션(611)은 제2영상처리장치로부터의 파일 요청에 응답하여 전자장치에 저장된 파일을 취득하거나, 취득한 파일을 네트워크를 통해 제2영상처리장치로 전송하거나, 제2영상처리장치로부터의 쓰기 요청을 수신하는 등, 기본적으로 네트워크에 관련된 커맨드를 실행한다. 따라서, 어플리케이션(611)은 물리 네트워크 시스템(630) 상에서 동작하며 운영체제(620)의 네트워크 기능을 담당하는 네트워크 스택 또는 네트워크 서브시스템(621) 상에서 실행된다. 물리 네트워크 시스템(630)은, 예를 들면 LAN카드, 통신회로 등의 통신 하드웨어 등을 포함한다.
예를 들어, 제2영상처리장치로부터 쓰기 요청이 수신되면, 어플리케이션(611)은 앞서 설명한 바와 같은 실시예에 따라서 파일의 쓰기 여부를 결정하고, 결정에 따라서 파일의 쓰기가 실행되도록 제어할 수 있다. 그런데, 소프트웨어의 구조 상, 어플리케이션(611)은 단순히 파일에 대한 쓰기 커맨드를 출력할 뿐이며, 실제로 파일에 대한 쓰기 동작이 수행되기 위해서는 해당 커맨드에 따라서 파일 시스템에 접근하여 운영체제(620)가 동작할 필요가 있다. 이를 위해 시스템 호출의 개념이 적용된다.
시스템 호출은 운영체제(620)가 제공하는 서비스에 대해, 어플리케이션(611)의 요청에 따라서 운영체제(620)에 억세스하기 위한 인터페이스로서의 의미를 가진다. 어플리케이션(611)이 고급 언어로 작성된 경우에는 직접 시스템 호출을 사용할 수 없으므로, 고급 API 또는 미들웨어가 시스템 호출을 대행하도록 설계된다.
통상적인 시스템 소프트웨어의 구성 상, 커널 레벨의 운영체제(620)와 사용자 레벨의 어플리케이션(611)은 CPU의 권한 수준이나 하드웨어에 대한 접근 능력이 상이하다. 운영체제(620)는 CPU 시스템의 램, 플래시메모리 등에 물리 주소가 일치하는 링커 구조를 가지고 특정 메모리 위치에서 동작하는데, 이 때 운영체제(620)의 기계어 코드에서 사용하는 모든 주소는 물리 주소로 고정되어 컴파일된다. 따라서, 운영체제(620)는 부팅 과정에서 전체 메모리 리소스 중 일부를 일정하게 점유하여 동작하고, 모든 인터럽트 및 하드웨어에 대한 접근이 가능하다.
반면, 어플리케이션(611)은 운영체제(620)가 제공하는 자원을 사용하여, 상황에 따라서 메모리를 점유하고 실행한다. 어플리케이션(611)은 기본적으로 사용자 요청에 따라서 실행되는 프로그램이므로, 물리 주소를 확정할 수 없다. 어플리케이션은 CPU의 권한 수준이 사용자 레벨이므로, 특정한 기계어 명령어의 실행이 불가능하다.
이러한 상황에서 어플리케이션(611)이 파일 시스템을 사용하기 위해서는 운영체제(620)의 서비스를 사용해야 하는 바, 이러한 방법이 시스템 호출이다. 시스템 호출은, 어플리케이션(611)의 프로그래밍 언어에서 지원하지 않는 기능에 대해, 운영체제(620)의 루틴을 호출하여 이용하는 것을 의미한다.
물론 어플리케이션(611)이 운영체제(620)에 시스템 호출을 보낼 수 있도록 설계될 수도 있겠지만, 소프트웨어의 설계 측면에서 볼 때, 이보다는 별도의 미들웨어가 마련되는 것이 바람직하다. 즉, 어플리케이션(611)으로부터 커맨드에 응답하여 운영체제(620)에 시스템 호출을 보낼 수 있는 미들웨어가 추가되는 것이 설계 측면에서도 용이할 수 있다.
본 실시예에 따른 어플리케이션(611)은, 운영체제(620)의 네트워크 서브시스템(621) 상에서 실행되며 어플리케이션(611) 및 운영체제(620)를 중계하는 서버 미들웨어(612) 상에서 실행된다. 서버 미들웨어(612)는 어플리케이션(611)의 커맨드에 대응하는 시스템 호출을 운영체제(620)에 전송함으로써 해당 커맨드에 대응하는 동작이 실행되도록 하는 바, 예를 들면, 어플리케이션(611)으로부터 특정 파일의 쓰기 커맨드를 수신하면 운영체제(620)에 쓰기 시스템 호출을 전달함으로써, 해당 파일의 쓰기 동작이 수행되도록 한다.
또한, 서버 미들웨어(612)는 앞서 설명한 바와 같이 제2영상처리장치로부터의 쓰기 요청에 응답하여 파일의 확장자가 어플리케이션(611)이 지원하는 규격에서 허용하는지 여부를 판단하고, 쓰기 시스템 호출을 실행하며, 파일의 유효성을 판단하는 동작을 수행할 수 있다. 서버 미들웨어(612)는 수행 결과를 어플리케이션(611)에 전달함으로써 후속 동작에 관한 지시를 받을 수 있다.
이러한 서버 미들웨어(612)는 수행하는 동작의 특성 상, 시스템 내에서 서버의 역할을 수행하는 제1영상처리장치에 설치되며, 클라이언트 역할을 수행하는 제2영상처리장치에는 설치될 필요는 없다. 다만, 서버 미들웨어(612)는 기본적으로 제1영상처리장치 및 제2영상처리장치에 모두 설치될 수도 있으며, 두 장치 중에서 어느 것이 서버의 역할을 하는가에 따라서 서버 미들웨어(612)의 동작 여부가 결정될 수 있다.
여기서, 서버 미들웨어(612)는 파일의 확장자가 규격에서 허용되는지 여부를 필터링하기 위한 필터링 루틴(613)을 가진다. 본 실시예에서는 서버 미들웨어(612)와 필터링 루틴(613)이 별개의 소프트웨어인 것으로 나타내고 있지만, 서버 미들웨어(612)의 내부 코드에 필터링 루틴(613)이 포함될 수도 있다. 필터링 루틴(613)은 기 설정된 규격에 따라서 허용 대상의 확장자를 규정한 DB(614)를 검색함으로써, 파일의 확장자가 쓰기 실행이 허용된 것인지 판단한다. 확장자의 필터링에 관한 설명은 후술한다.
운영체제(620) 상에는 어플리케이션(611), 서버 미들웨어(612), 필터링 루틴(613), DB(614)에 의한 서버 프로세스 이외에도, 다양한 기타 어플리케이션(640)에 의한 기타 프로세스도 병행되어 실행된다. 여기서, 제1영상처리장치는 서버 프로세스에 관여하는 사용자 레벨의 소프트웨어 구성요소들, 즉 어플리케이션(611), 서버 미들웨어(612), 필터링 루틴(613), DB(614)를 프로세스 컨테이너(610)로 구성하여, 기타 프로세스와 격리되도록 한다.
프로세스 컨테이너(610)는, 어플리케이션(611), 서버 미들웨어(612), 필터링 루틴(613), DB(614)가 사용자 레벨에서 실행되는 기타 어플리케이션(640)에 의해 억세스되지 않도록 고립시키는 구성이다. 이러한 프로세스 컨테이너(610)를 구현하는 솔루션으로는, LXC(Linux Containers)와 같은 가상화 기술이 적용될 수 있다. LXC와 같은 컨테이너 타입 가상화 기술은 사용자 레벨의 프로세스 공간을 여러 개로 나누고, 각 프로세스 공간내에서의 리소스를 제한하는 것이다.
이로써, 제1영상처리장치는 제1영상처리장치 내부의 타 프로세스에 의해 서버 프로세스가 영향을 받을 소지를 배제할 수 있다.
한편, 서버 미들웨어(612)는 파일의 유효성을 체크함에 있어서, 여러 가지 방식에 따라서 파일이 유효한지 여부를 판단할 수 있다. 예를 들면, 서버 미들웨어(612)는 파일의 헤더(header)를 분석하고, 헤더의 분석 결과에 따른 파일의 포맷이 파일의 확장자에 대응하는지 여부를 판단한다. 디지털 파일의 통상적인 구조에 따르면, 파일은 데이터 블록의 가장 앞에 위치한 헤더와, 파일의 본 컨텐츠인 페이로드(payload) 또는 바디(body)를 포함한다. 헤더는 구문 분석을 위해 뚜렷하고 또한 모호하지 않은 규격을 따라야 하는 바, 서버 미들웨어(612)는 헤더를 분석함으로써 해당 파일의 특성을 판단한다.
서버 미들웨어(612)는 헤더의 분석에 따라서 판단된 파일 특성이 앞서 참조한 파일의 확장자에 대응한다면, 해당 파일의 유효성이 있다고 판단한다. 반면, 서버 미들웨어(612)는 파일 특성이 파일의 확장자에 대응하지 않는다면, 해당 파일의 유효성이 없다고 판단한다.
앞선 실시예에서는 제1영상처리장치가 파일을 모두 수신한 이후에 파일의 유효성을 판단하는 것으로 표현하였지만, 파일의 용량이 상대적으로 큰 경우라면 이와 다른 실시예도 가능하다.
도 7은 본 발명의 실시예에 따른 제1영상처리장치가 승인 응답에 따라서 파일의 유효성을 판단하는 과정을 나타내는 플로우차트이다.
도 7에 도시된 바와 같이, 제1영상처리장치는 파일의 확장자가 기 설정된 규격에서 허용하는 것으로 판단하면, 710 단계에서 승인 응답을 생성하여 제2영상처리장치로 전송한다. 승인 응답의 이전 단계의 동작에 관해서는, 앞선 실시예를 참조할 수 있으므로 그 설명을 생략한다.
720 단계에서, 제1영상처리장치는 제2영상처리장치로부터 파일의 전체가 아닌, 헤더를 포함하는 파일의 일부를 수신한다. 여기서, 수신하는 파일의 일부는, 파일의 바디를 제외한 헤더만을 포함할 수 있고, 또는 파일의 바디 일부와 헤더를 포함할 수도 있다.
730 단계에서, 제1영상처리장치는 수신된 헤더의 정보를 분석함으로써, 파일의 특성을 판단한다. 파일의 특성은, 예를 들면 파일의 포맷을 포함할 수 있다.
740 단계에서, 제1영상처리장치는 판단한 파일의 특성이 파일의 확장자에 대응하는지 여부를 판단한다. 예를 들어, 파일의 확장자가 규격이 허용하는 컨텐츠의 라이센스에 관한 파일의 확장자인 'lcs'인데, 헤더의 정보로부터 해당 파일이 라이센스에 관한 것이 아니라고 분석되는 경우를 고려할 수 있다. 이 경우, 해당 파일은 확장자가 변조된 것으로 판단될 수 있는 바, 제1영상처리장치는 파일의 특성이 파일의 확장자에 대응하지 않으며, 파일의 유효성이 없는 것으로 판단한다.
파일의 특성이 확장자에 대응하는 것으로 판단되면, 750 단계에서, 제1영상처리장치는 제2영상처리장치로부터 파일의 나머지를 수신한다. 만일 앞서 720 단계에서 파일의 헤더만을 수신하였다면 제1영상처리장치는 750 단계에서 파일의 바디를 수신한다. 또는, 앞서 720 단계에서 파일의 바디 일부와 헤더를 수신하였다면, 제1영상처리장치는 750 단계에서 파일의 바디 나머지를 수신한다.
760 단계에서, 제1영상처리장치는 쓰기 시스템 호출을 실행한다.
반면, 파일의 특성이 확장자에 대응하지 않는 것으로 판단되면, 770 단계에서, 제1영상처리장치는 수신한 파일의 일부를 삭제한다.
이와 같이, 제1영상처리장치는 파일 전체를 수신한 이후에 유효성을 판단하는 것이 아닌, 유효성 판단에 필요한 파일의 일부만을 먼저 수신하고, 유효성이 있다고 판단된 이후에 파일의 나머지를 수신한다. 이로써, 파일의 유효성이 없는 파일이 불필요하게 네트워크를 통해 수신되는 것을 줄일 수 있다.
한편, 앞선 실시예에서는 제1영상처리장치의 필터링 루틴이 파일의 확장자가 기 설정된 규격에서 허용하는지 여부를 필터링하는 동작에 관해 설명한 바 있다. 이하, 확장자에 따른 필터링에 관해 보다 구체적으로 설명한다.
도 8은 본 발명의 실시예에 따른 제1영상처리장치에서 사용되는 파일의 공유 서비스에 관한 규격에 따른 파일 구조의 예시도이다.
도 8에 도시된 바와 같이, 저장장치는 파일의 공유를 위한 소정 규격에 따라서 폴더 내에 여러 파일을 저장할 수 있다.
제1영상처리장치에서 실행되는 제1어플리케이션 및 제2영상처리장치에서 실행되는 제2어플리케이션 사이의 인터랙션에 따라서, 파일이 제1영상처리장치로부터 제2영상처리장치로 전송된다. 제1영상처리장치 및 제2영상처리장치는 각기 독자적인 파일 시스템을 가질 수 있으므로, 두 장치들 사이의 파일 전송을 위해서는 제1어플리케이션 및 제2어플리케이션이 공통적으로 지원하는 규격에 따른 파일 시스템이 정의된다.
예를 들면, 파일의 공유 서비스에 관한 규격은, 멀티미디어 팩키지 파일에 대해 'avi'라는 확장자를 부여하고, 멀티미디어 팩키지 파일의 인증에 관련된 파일에 대해 'lcs'라는 확장자를 부여하도록 지정할 수 있다. 이와 같이, 규격은 파일의 용도에 따른 확장자를 사전에 정의해 둘 수 있다.
파일은 기본적으로 파일명과 확장자를 포함한다. 파일명은 컨텐츠에 따라서 다양하게 지정될 수 있으므로 파일의 특성을 나타내기에 곤란한 반면, 확장자는 파일의 특성을 나타내기에 적합하다. 또한, 확장자를 사용하는 분석은 해당 파일을 수신하지 않더라도 가능하기 때문에, 보안 측면에 있어서도 유리하다.
제1영상처리장치의 DB는 이와 같이 파일 공유 규격이 허용하는 파일의 특성 및 확장자를 지정한다. 필터링 루틴은 DB를 참조함으로써, 쓰기 요청에 관한 파일이 규격에 의해 허용되는지 여부를 용이하게 판단할 수 있다.
이하, 본 발명의 실시예에 따른 제1영상처리장치의 하드웨어 구성에 관해 설명한다. 제2영상처리장치 또한 제1영상처리장치의 구성에 준한다.
도 9는 본 발명의 실시예에 따른 제1영상처리장치의 구성 블록도이다.
도 9에 도시된 바와 같이, 본 실시예에 따른 제1영상처리장치(901)는 제2영상처리장치(902)와 통신하는 제1통신부(910)와, 저장장치(903)와 통신하는 제2통신부(920)와, 신호를 처리하는 신호처리부(930)와, 사용자에 의한 입력 동작이 수행되는 사용자입력부(940)와, 데이터가 저장되는 저장부(950)와, 신호처리부(930)의 처리를 위한 연산 및 제1영상처리장치(901)의 제반 동작의 제어를 수행하는 제어부(960)를 포함한다. 이들 구성요소들은 시스템 버스를 통해 상호 접속된다. 상기한 구성들은 제1영상처리장치(901)에서 본 발명의 사상을 구현하기 위해 직접적으로 관련성이 있는 것들로서, 그 이외의 구성들에 관해서는 설명하지 않는다.
제1통신부(910)는 기 설정된 규격에 따른 네트워크를 통해 제2영상처리장치(902)와 직접 또는 간접적으로 통신을 수행하도록 마련된다. 제1통신부(910)는 예를 들면 인터넷으로부터 패킷 데이터를 유선으로 수신하는 이더넷(Ethernet) 모듈, 패킷 데이터를 와이파이 또는 블루투스 등과 같은 다양한 규격에 따라서 무선으로 수신하는 무선통신모듈 등과 같은, 통신회로를 포함할 수 있다.
제2통신부(920)는 저장장치(903)와 통신을 수행하도록 마련된다. 제2통신부(920)는 저장장치(903)가 로컬 접속되기 위한 USB 포트와 같은 유선 접속 포트일 수 있고, 또는 제1통신부(910)와 상이한 규격의 네트워크를 통해 저장장치(903)와 통신을 수행하기 위한 통신회로일 수 있다.
신호처리부(930)는 영상신호를 비롯한 다양한 신호에 대해 기 설정된 프로세스를 수행함으로써 해당 신호를 처리한다. 신호처리부(930)는 영상신호를 처리하여 디스플레이부 상에 영상으로 표시하거나, 오디오신호를 처리하여 스피커를 통해 음향으로 출력할 수 있다. 신호처리부(930)는 인쇄회로기판 상에 장착되는 칩셋, 회로, 버퍼 등으로 구현되는 하드웨어 프로세서를 포함하며, 설계 방식에 따라서는 SOC(system on chip)로 구현될 수도 있다.
사용자입력부(940)는 사용자의 조작 또는 입력에 따라서 기 설정된 다양한 제어 커맨드 또는 정보를 제어부(960)에 전달한다. 즉, 사용자입력부(940)는 사용자의 의도에 따라서 발생하는 다양한 이벤트를 출력함으로써 제어부(960)가 해당 이벤트에 대응하여 동작하도록 한다. 사용자입력부(940)는 제1영상처리장치(901)의 종류에 따라서 여러 가지 형태로 구현될 수 있는 바, 제1영상처리장치(901)의 본체에 설치된 키 또는 제1영상처리장치(901)의 본체와 분리된 리모트 컨트롤러 등을 예로 들 수 있다.
저장부(950)는 제어부(960)의 제어에 따라서 다양한 데이터가 저장된다. 저장부(950)는 신호처리부(930) 또는 제어부(960)에 의해 억세스됨으로써, 데이터의 독취, 기록, 수정, 삭제, 갱신 등이 수행된다. 저장부(950)는 제1영상처리장치(901)의 시스템 전원의 제공 여부와 무관하게 데이터를 보존할 수 있는 플래시메모리(flash-memory), 하드디스크 드라이브(hard-disc drive), SSD(solid-state drive) 등과 같은 비휘발성 메모리와, 신호처리부(930) 또는 제어부(960)에 의해 처리되는 데이터가 임시로 로딩되기 위한 버퍼, 램 등과 같은 휘발성 메모리를 포함한다.
제어부(960)는 CPU, 마이크로 프로세서 등으로 구현됨으로써, 신호처리부(930)를 비롯한 제1영상처리장치(901) 내의 구성요소들의 동작을 제어하고, 신호처리부(930)에서 실행되는 처리의 연산을 수행한다. 예를 들면, 앞선 실시예에서 설명한 바와 같은 운영체제, 어플리케이션, 미들웨어 등은 램에 로딩된 상태에서 신호처리부(930) 및 제어부(960)에 의해 실행될 수 있다. 이러한 구조에 의해 실행되는 본 발명의 실시예에 관해서는 앞서 설명한 바와 같다.
본 발명의 예시적 실시예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이러한 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 예를 들어, 컴퓨터 판독 가능 매체는 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 이동 단말 내에 포함될 수 있는 메모리는 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. 본 저장 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어의 기술 분야에서 숙련된 기술자에게 공지되어 사용 가능한 것일 수도 있다.
상기한 실시예는 예시적인 것에 불과한 것으로, 당해 기술 분야의 통상의 지식을 가진 자라면 다양한 변형 및 균등한 타 실시예가 가능하다. 따라서, 본 발명의 진정한 기술적 보호범위는 하기의 특허청구범위에 기재된 발명의 기술적 사상에 의해 정해져야 할 것이다.
110 : 제1영상처리장치
120 : 제2영상처리장치
140 : 저장장치
610 : 프로세스 컨테이너
611 : 어플리케이션
612 : 서버 미들웨어
613 : 필터링 루틴
614 : DB
620 : 운영체제
621 : 네트워크 서브시스템

Claims (17)

  1. 전자장치에 있어서,
    제1외부장치 및 제2외부장치와 통신하게 마련된 적어도 하나의 통신부와;
    상기 제1외부장치로부터 상기 제2외부장치에 대한 파일의 쓰기 요청을 수신하고, 상기 파일이 쓰기가 허용된 파일명 형식을 가지면 상기 제1외부장치로부터 상기 파일을 수신하며, 상기 수신된 파일이 상기 제2외부장치에 선택적으로 저장되도록 하는 프로세서를 포함하는 것을 특징으로 하는 전자장치.
  2. 제1항에 있어서,
    상기 프로세서는, 상기 파일이 상기 쓰기가 허용된 확장자를 가지면 상기 파일을 수신하고, 상기 파일이 상기 쓰기가 허용된 확장자를 가지지 않으면 상기 파일을 수신하지 않는 것을 특징으로 하는 전자장치.
  3. 제2항에 있어서,
    상기 쓰기가 허용된 확장자를 규정하는 데이터베이스를 더 포함하며,
    상기 프로세서는, 상기 데이터베이스의 검색에 의해 상기 파일이 상기 쓰기가 허용된 확장자를 가지는지 여부를 판단하는 것을 특징으로 하는 전자장치.
  4. 제1항에 있어서,
    상기 프로세서는, 상기 수신된 파일의 유효성을 체크하며, 상기 유효성 체크를 통과한 상기 파일이 상기 제2외부장치에 저장되도록 하고, 상기 유효성 체크를 통과하지 않은 상기 파일이 상기 제2외부장치에 저장되지 않도록 삭제하는 것을 특징으로 하는 전자장치.
  5. 제4항에 있어서,
    상기 프로세서는, 상기 수신된 파일의 헤더로부터 상기 수신된 파일의 포맷을 분석하고, 상기 분석 결과가 상기 파일의 확장자와 대응하지 않으면 상기 유효성 체크를 통과하지 않는 것으로 판단하는 것을 특징으로 하는 전자장치.
  6. 제4항에 있어서,
    상기 프로세서는, 상기 파일이 쓰기가 허용된 파일명의 형식을 가지면 상기 제1외부장치로부터 상기 파일 중에서 헤더를 포함하는 일부를 수신하고 상기 헤더에 기초하여 상기 파일의 유효성을 체크하며,
    상기 파일이 상기 유효성 체크를 통과하면 상기 파일의 나머지를 상기 제1외부장치로부터 수신하고, 상기 파일이 상기 유효성 체크를 통과하지 않으면 기 수신된 상기 파일의 일부를 삭제하는 것을 특징으로 하는 전자장치.
  7. 제1항에 있어서,
    상기 프로세서는, 상기 제1외부장치로부터 상기 파일의 쓰기 요청을 수신하면, 상기 제1외부장치의 계정이 쓰기 권한을 가지고 있는지 여부에 대응하여, 상기 파일의 상기 파일명 형식에 관한 판단 동작을 선택적으로 수행하는 것을 특징으로 하는 전자장치.
  8. 제1항에 있어서,
    상기 적어도 하나의 통신부는, 제1전송규격에 따라서 상기 제1외부장치와 통신하게 마련된 제1통신부와, 제2전송규격에 따라서 상기 제2외부장치와 통신하게 마련된 제2통신부를 포함하며,
    상기 프로세서는, 상기 제1통신부를 통해 상기 제1외부장치로부터 상기 제2외부장치에 저장된 파일의 요청을 수신하면, 상기 제2통신부를 통해 상기 제2외부장치로부터 상기 요청에 대응하는 파일을 취득하고, 상기 취득한 파일을 상기 제1통신부를 통해 전송하는 것을 특징으로 하는 전자장치.
  9. 제8항에 있어서,
    상기 프로세서는, 상기 통신부를 통해 상기 제1외부장치로부터의 상기 제1전송규격에 따른 브로드캐스팅 신호를 수신하면, 상기 브로드캐스팅 신호에 응답하여 상기 제1외부장치에 관한 기기 정보를 상기 제1외부장치에 전송하며, 상기 제1외부장치로부터 수신되는 상기 기기 정보에 기초하여 상기 통신부 및 상기 제1외부장치 사이에 상기 제1전송규격에 따른 네트워크 통신이 가능하도록 처리하는 것을 특징으로 하는 전자장치.
  10. 전자장치의 제어방법에 있어서,
    제1외부장치 및 제2외부장치와 각기 통신하는 단계와;
    상기 제1외부장치로부터 상기 제2외부장치에 대한 파일의 쓰기 요청을 수신하는 단계와;
    상기 파일이 쓰기가 허용된 파일명 형식을 가지면 상기 제1외부장치로부터 상기 파일을 수신하는 단계와;
    상기 수신된 파일이 상기 제2외부장치에 선택적으로 저장되도록 하는 단계를 포함하는 것을 특징으로 하는 전자장치의 제어방법.
  11. 제10항에 있어서,
    상기 파일 수신 단계는, 상기 파일이 상기 쓰기가 허용된 확장자를 가지면 상기 파일을 수신하고, 상기 파일이 상기 쓰기가 허용된 확장자를 가지지 않으면 상기 파일을 수신하지 않는 단계를 포함하는 것을 특징으로 하는 전자장치의 제어방법.
  12. 제11항에 있어서,
    상기 파일 수신 단계는, 상기 쓰기가 허용된 확장자를 규정하는 데이터베이스의 검색에 의해 상기 파일이 상기 쓰기가 허용된 확장자를 가지는지 여부를 판단하는 단계를 더 포함하는 것을 특징으로 하는 전자장치의 제어방법.
  13. 제10항에 있어서,
    상기 선택적 저장 단계는,
    상기 수신된 파일의 유효성을 체크하는 단계와;
    상기 유효성 체크를 통과한 상기 파일이 상기 제2외부장치에 저장되도록 하고, 상기 유효성 체크를 통과하지 않은 상기 파일이 상기 제2외부장치에 저장되지 않도록 삭제하는 단계를 포함하는 것을 특징으로 하는 전자장치의 제어방법.
  14. 제13항에 있어서,
    상기 체크 단계는, 상기 수신된 파일의 헤더로부터 상기 수신된 파일의 포맷을 분석하고, 상기 분석 결과가 상기 파일의 확장자와 대응하지 않으면 상기 유효성 체크를 통과하지 않는 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 전자장치의 제어방법.
  15. 제13항에 있어서,
    상기 파일 수신 단계는,
    상기 파일이 쓰기가 허용된 파일명의 형식을 가지면 상기 제1외부장치로부터 상기 파일 중에서 헤더를 포함하는 일부를 수신하고 상기 헤더에 기초하여 상기 파일의 유효성을 체크하는 단계와;
    상기 파일이 상기 유효성 체크를 통과하면 상기 파일의 나머지를 상기 제1외부장치로부터 수신하고, 상기 파일이 상기 유효성 체크를 통과하지 않으면 기 수신된 상기 파일의 일부를 삭제하는 단계를 포함하는 것을 특징으로 하는 전자장치의 제어방법.
  16. 제10항에 있어서,
    상기 수신 단계는, 상기 제1외부장치로부터 상기 파일의 쓰기 요청을 수신하면, 상기 제1외부장치의 계정이 쓰기 권한을 가지고 있는지 여부에 대응하여, 상기 파일의 상기 파일명 형식에 관한 판단 동작을 선택적으로 수행하는 단계를 포함하는 것을 특징으로 하는 전자장치의 제어방법.
  17. 전자장치의 프로세서에 의해 실행 가능한 방법의 프로그램 코드가 기록된 비휘발성 기록매체에 있어서,
    상기 방법은,
    제1외부장치 및 제2외부장치와 각기 통신하는 단계와;
    상기 제1외부장치로부터 상기 제2외부장치에 대한 파일의 쓰기 요청을 수신하는 단계와;
    상기 파일이 쓰기가 허용된 파일명 형식을 가지면 상기 제1외부장치로부터 상기 파일을 수신하는 단계와;
    상기 수신된 파일이 상기 제2외부장치에 선택적으로 저장되도록 하는 단계를 포함하는 것을 특징으로 하는 비휘발성 기록매체.
KR1020160160730A 2016-11-29 2016-11-29 전자장치, 전자장치의 제어방법 및 기록매체 KR20180060804A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160160730A KR20180060804A (ko) 2016-11-29 2016-11-29 전자장치, 전자장치의 제어방법 및 기록매체
US16/464,904 US11272263B2 (en) 2016-11-29 2017-11-16 Electronic apparatus, control method of electronic apparatus, and recording medium
PCT/KR2017/013028 WO2018101656A1 (ko) 2016-11-29 2017-11-16 전자장치, 전자장치의 제어방법 및 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160160730A KR20180060804A (ko) 2016-11-29 2016-11-29 전자장치, 전자장치의 제어방법 및 기록매체

Publications (1)

Publication Number Publication Date
KR20180060804A true KR20180060804A (ko) 2018-06-07

Family

ID=62242706

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160160730A KR20180060804A (ko) 2016-11-29 2016-11-29 전자장치, 전자장치의 제어방법 및 기록매체

Country Status (3)

Country Link
US (1) US11272263B2 (ko)
KR (1) KR20180060804A (ko)
WO (1) WO2018101656A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113075B2 (en) * 2018-11-14 2021-09-07 International Business Machines Corporation Launching a middleware-based application
US11468142B1 (en) 2020-03-21 2022-10-11 Menlo Security, Inc. Managing content uploads

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5883621A (en) * 1996-06-21 1999-03-16 Sony Corporation Device control with topology map in a digital network
US6525761B2 (en) * 1996-07-23 2003-02-25 Canon Kabushiki Kaisha Apparatus and method for controlling a camera connected to a network
US7409546B2 (en) * 1999-10-20 2008-08-05 Tivo Inc. Cryptographically signed filesystem
GB9930787D0 (en) * 1999-12-30 2000-02-16 Koninkl Philips Electronics Nv Method and apparatus for convrerting data streams
US20030110503A1 (en) * 2001-10-25 2003-06-12 Perkes Ronald M. System, method and computer program product for presenting media to a user in a media on demand framework
AU2002366829A1 (en) * 2001-12-21 2003-07-09 Stark Co., Ltd. Content data reproduction program
US20040250086A1 (en) * 2003-05-23 2004-12-09 Harris Corporation Method and system for protecting against software misuse and malicious code
US20050066048A1 (en) * 2003-08-22 2005-03-24 Bruce Young Web-based music distribution system and method therefor
US7231397B2 (en) 2003-10-24 2007-06-12 Microsoft Corporation Method and system for transacted file operations over a network
JP4438527B2 (ja) * 2004-06-18 2010-03-24 ソニー株式会社 情報管理方法、情報再生装置および情報管理装置
KR101130475B1 (ko) 2005-05-25 2012-03-27 마이크로소프트 코포레이션 데이터 통신 프로토콜
US9600661B2 (en) * 2005-12-01 2017-03-21 Drive Sentry Limited System and method to secure a computer system by selective control of write access to a data storage medium
KR100760534B1 (ko) * 2006-02-07 2007-09-20 에스케이 텔레콤주식회사 콘텐츠 검증 시스템 및 방법
US20090013408A1 (en) * 2007-07-06 2009-01-08 Messagelabs Limited Detection of exploits in files
US8793228B2 (en) * 2009-01-14 2014-07-29 Stmicroelectronics Pvt. Ltd. File system including a file header area and a file data area
US20100250704A1 (en) * 2009-03-26 2010-09-30 Verizon Patent And Licensing Inc. Peer-to-peer content distribution with digital rights management
US20100306859A1 (en) * 2009-05-29 2010-12-02 Hank Risan Secure media copying and/or playback in a usage protected frame-based work
US9342661B2 (en) 2010-03-02 2016-05-17 Time Warner Cable Enterprises Llc Apparatus and methods for rights-managed content and data delivery
KR101768222B1 (ko) * 2010-07-20 2017-08-16 삼성전자주식회사 적응적 스트리밍 방식의 컨텐트 송수신 방법 및 장치
KR101265533B1 (ko) 2012-02-20 2013-05-20 주식회사 안랩 폴더 액세스 제어 장치 및 방법
KR101383957B1 (ko) 2012-09-03 2014-04-10 주식회사 팬택 모바일 장치 및 모바일 장치의 파일 처리 방법
KR20140043621A (ko) 2012-10-02 2014-04-10 주식회사 테일즈앱 복수의 디지털 기기 간 스토리지 공유 방법 및 이를 기록한 기록 매체
US10452860B2 (en) * 2015-11-09 2019-10-22 Toshiba Client Solutions CO., LTD. System, electronic apparatus and method
US10678925B2 (en) * 2017-06-26 2020-06-09 Microsoft Technology Licensing, Llc Data quarantine and recovery

Also Published As

Publication number Publication date
WO2018101656A1 (ko) 2018-06-07
US11272263B2 (en) 2022-03-08
US20190289371A1 (en) 2019-09-19

Similar Documents

Publication Publication Date Title
US8713646B2 (en) Controlling access to resources on a network
US7797504B2 (en) Device for processing information based on stored identifiers and a working method therof.
US20230054057A1 (en) Login Method and System Based on Cloud Application Instance, and Related Device
CN111782416B (zh) 数据上报方法、装置、系统、终端及计算机可读存储介质
US20220043901A1 (en) Method of data transfer between hosted applications
US9338168B2 (en) Method and device for controlling digital living network alliance contents
EP4109861A1 (en) Data processing method, apparatus, computer device, and storage medium
CN107871062A (zh) 一种应用权限控制方法、装置及终端
KR101355697B1 (ko) 디지털 컨텐츠 보호 방식의 보안 프로비전
JP6923582B2 (ja) 情報処理装置、情報処理方法、およびプログラム
KR20180060804A (ko) 전자장치, 전자장치의 제어방법 및 기록매체
US9170945B2 (en) Communication management apparatus, communication management method, and computer program product
KR102490395B1 (ko) 외부 전자 장치의 키를 공유하는 전자 장치 및 전자 장치의 동작 방법
CN114912103A (zh) 一种访问控制方法及相关装置
KR101389928B1 (ko) 상호 배제 기능을 수행하기 위한 방법 및 이를 이용한drm 디바이스
KR20120069120A (ko) 단말 장치 간 자원 접근 제어 방법 및 이를 위한 서비스 시스템
EP3523745B1 (en) Electronic device, method for controlling thereof and computer-readable recording medium
CN113220477A (zh) 剪切板的读取控制方法、装置、电子设备和存储介质
KR20200089491A (ko) 공유된 디지털 키를 관리하기 위한 장치 및 방법
KR20210026233A (ko) 디바이스 리소스에 대한 접근을 제어하기 위한 전자 장치 및 그의 동작 방법
CN110941835B (zh) 数据处理方法及电子设备
WO2024143201A1 (ja) アクセス管理装置、アクセス管理システム、アクセス管理プログラム、アクセス管理方法
KR100964326B1 (ko) 클라이언트 프로그램의 자동실행방법, 그 장치, 및 상기 장치를 포함하는 메모리 장치
US20230030967A1 (en) Storage device and method for controlling storage device
KR20180046791A (ko) 전자 장치 및 전자 장치의 데이터 전송 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal