WO2018101656A1 - 전자장치, 전자장치의 제어방법 및 기록매체 - Google Patents
전자장치, 전자장치의 제어방법 및 기록매체 Download PDFInfo
- Publication number
- WO2018101656A1 WO2018101656A1 PCT/KR2017/013028 KR2017013028W WO2018101656A1 WO 2018101656 A1 WO2018101656 A1 WO 2018101656A1 KR 2017013028 W KR2017013028 W KR 2017013028W WO 2018101656 A1 WO2018101656 A1 WO 2018101656A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- file
- external device
- image processing
- processing apparatus
- extension
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 75
- 238000004891 communication Methods 0.000 claims abstract description 42
- 230000004044 response Effects 0.000 claims description 30
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 261
- 230000008569 process Effects 0.000 description 42
- 238000001914 filtration Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8355—Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
-
- 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]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43622—Interfacing an external recording device
Definitions
- the present invention relates to an electronic device capable of transmitting and receiving or playing a multimedia file through a network communication with another device, a control method of the electronic device, and a recording medium.
- a multimedia file stored in a separate external device is streamed to another device.
- the present invention relates to an electronic device having a structure that improves security against a write command received from another device, a control method of the electronic device, and a recording medium.
- electronic devices basically including electronic components such as a CPU, chipset, memory, etc. for calculation are various types depending on the information to be processed or the purpose of use. It can be divided into.
- electronic devices include information processing devices such as PCs and servers that process general-purpose information, image processing devices that process video information, audio devices that process audio, and household appliances that perform household chores.
- image processing apparatuses that are used abundantly receive content signals including image data from the outside, and process image data extracted from the content signals according to various image processing processes.
- the image processing apparatus displays the processed image data as an image on a display panel having its own, or outputs the processed image data to the corresponding display apparatus so as to be displayed as an image on another display apparatus having the display panel.
- a typical example of an image processing apparatus having no display panel is a set-top box.
- An image processing apparatus having a display panel is particularly referred to as a display apparatus, and examples thereof include a TV, a monitor, a portable multimedia player, a tablet, a mobile phone, and the like.
- the image processing apparatus may support various extended functions according to convenience of use or development of contents. For example, a plurality of image processing apparatuses are interconnected in accordance with a predetermined standard through a network, and another image processing apparatus in a client role receives and plays multimedia contents transmitted from one image processing apparatus in a server role through a network. It is possible to link the operation.
- the image processing apparatus wants to transmit the contents stored in the external device connected locally to the image processing apparatus, not the contents stored by itself, the image processing apparatus supports such a function. It may further include a solution. However, due to the addition of such a solution, a problem of a security issue may occur in the image processing apparatus.
- An electronic device includes at least one communication unit arranged to communicate with a first external device and a second external device; Receiving a write request of a file for the second external device from the first external device, if the file has a file name format allowed to write, the file is received from the first external device, the received file is the And a processor for selectively storing the second external device.
- the electronic device prevents the first external device from writing a file that does not meet a predefined standard to the second external device, thereby preventing a security related problem from occurring.
- the processor may receive the file if the file has the extension allowed to write, and may not receive the file if the file does not have the extension allowed to write.
- the method may further include a database that defines an extension that is allowed to write, and the processor may determine whether the file has an extension that is allowed to be written by the search of the database.
- the processor checks the validity of the received file, and allows the file that has passed the validity check to be stored in the second external device, and the file that has not passed the validity check is stored in the second external device. You can delete it so that it is not stored in. Accordingly, the electronic device can prevent the file from the first external device from being received in a forged extension.
- the processor may analyze the format of the received file from the header of the received file, and may not pass the validity check if the analysis result does not correspond to the extension of the file.
- the processor may be configured to receive a portion of the file including a header from the first external device when the file has a format of a file name allowed to be written, and to check the validity of the file based on the header. If the validity check passes, the rest of the file may be received from the first external device. If the file does not pass the validity check, a part of the previously received file may be deleted. As a result, the electronic device can first receive and determine the minimum data for checking the validity of the file, thereby reducing unnecessary network usage.
- the processor determines whether the file name format of the file is in response to whether the account of the first external device has a write permission. May be optionally performed.
- the at least one communication unit may include a first communication unit arranged to communicate with the first external device according to a first transmission standard, and a second communication unit arranged to communicate with the second external device according to a second transmission standard.
- the processor receives a request for a file stored in the second external device from the first external device through the first communication unit, the processor receives a file corresponding to the request from the second external device through the second communication unit.
- the acquired file may be transmitted through the first communication unit.
- the processor when the processor receives the broadcasting signal according to the first transmission standard from the first external device through the communication unit, the processor may receive the device information about the first external device in response to the broadcasting signal. And transmitting to an external device, so that network communication according to the first transmission standard is possible between the communication unit and the first external device based on the device information received from the first external device.
- a control method of an electronic device may include: communicating with a first external device and a second external device, respectively; Receiving a write request of a file for the second external device from the first external device; Receiving the file from the first external device if the file has a file name format allowed for writing; And selectively storing the received file in the second external device.
- the file receiving step may include receiving the file if the file has the extension allowed to write, and not receiving the file if the file does not have the extension allowed to write.
- the file receiving step may further include determining whether the file has an extension that is allowed to be written by searching a database that defines the extension that is allowed to be written.
- the selective storage step the step of checking the validity of the received file;
- the file passing the validity check may be stored in the second external device, and the file not passing the validity check may be deleted so as not to be stored in the second external device.
- the checking may include analyzing the format of the received file from the header of the received file, and determining that the validity check does not pass if the analysis result does not correspond to the extension of the file. Can be.
- the receiving of the file may include receiving a part of the file including a header from the first external device and checking the validity of the file based on the header if the file has a format of a file name that is allowed to be written. Wow; Receiving the rest of the file from the first external device if the file passes the validity check, and deleting a part of the previously received file if the file does not pass the validity check.
- the operation of determining the file name format of the file may be performed. It may include the step of selectively performing.
- the method includes the steps of communicating with a first external device and a second external device, respectively; ; Receiving a write request of a file for the second external device from the first external device; Receiving the file from the first external device if the file has a file name format allowed for writing; And selectively storing the received file in the second external device.
- FIG. 1 is an illustration of a system according to an embodiment of the invention.
- FIG. 2 is an exemplary view illustrating a process in which a first image processing apparatus according to the related art is connected to a storage device through a network, and a file of the storage device is received by the first image processing apparatus.
- FIG. 3 is an exemplary diagram illustrating a process of connecting a first image processing apparatus to a second image processing apparatus through a network and transmitting a file of a storage device to the second image processing apparatus according to an exemplary embodiment of the present invention.
- FIG. 4 is a flowchart illustrating an operation when the first image processing apparatus receives a write request from the second image processing apparatus in the system according to the related art.
- FIG. 5 is a flowchart illustrating an operation when a first image processing apparatus receives a write request from a second image processing apparatus in a system according to an exemplary embodiment of the present invention.
- FIG. 6 is a block diagram illustrating an execution structure of an application executed in a first image processing apparatus according to an exemplary embodiment of the present invention.
- FIG. 7 is a flowchart illustrating a process of determining a validity of a file according to an approval response by a first image processing apparatus according to an exemplary embodiment of the present invention.
- FIG. 8 is an exemplary diagram of a file structure according to a standard relating to a file sharing service used in a first image processing apparatus according to an embodiment of the present invention.
- FIG. 9 is a block diagram illustrating a first image processing apparatus according to an exemplary embodiment of the present invention.
- FIG. 1 is an illustration of a system according to an embodiment of the invention.
- the system according to the present embodiment includes a plurality of image processing apparatuses 110 and 120 connected to each other via a network.
- the first image processing apparatus 110 and the second image processing apparatus 120 are both represented as TVs in this embodiment, this is only one example of a device in which the idea of the present invention can be implemented.
- the device constituting the system may be implemented by various electronic devices such as an image processing device, a display device, and a household appliance.
- the present exemplary embodiment a case in which two devices of the first image processing apparatus 110 and the second image processing apparatus 120 are connected to each other via the hub 130 will be described.
- the spirit of the present invention is implemented.
- the system can be extended without being limited to this embodiment.
- the present embodiment may be applied in terms of data transmission and reception between two image processing apparatuses.
- a wireless network may be established between the first image processing apparatus 110 and the second image processing apparatus 120 through a relay such as a hub 130 or an AP, or the first image processing apparatus 110 and the second image processing apparatus may be used.
- the image processing apparatus 120 may communicate directly without the hub 130 or the equivalent relay device.
- the storage device 140 is locally connected.
- the storage device 140 may be an external HDD device, an external flash memory storage device, or an optical media player.
- the file may be transmitted to the second image processing apparatus 120 through the network.
- the storage device 140 in order for the storage device 140 to be able to access the network, the storage device 140 must include a communication module or a communication chip capable of communicating with the hub 130 or the second image processing device 120 by supporting the corresponding network protocol.
- the storage device 140 directly downloads the file to the second image processing device 120. It is not possible to transmit.
- the storage device 140 supports a network connection of one protocol, the same situation may occur if nothing is common to the protocols supported by the storage device and the second image processing device 120, respectively.
- the first image processing device 110 acquires a file from the storage device 140 and stores the obtained file in a network. It transmits to the second image processing apparatus 120 through.
- the first image processing apparatus 110 performs a role of a server in the system.
- the first image processing apparatus 110 may perform a corresponding role by additionally including a hardware or software solution suitable for the role of the server.
- the first image processing apparatus 110 when the first image processing apparatus 110 includes a solution for performing a server role, a security related problem may occur in the first image processing apparatus 110 due to the solution.
- the first image processing apparatus 110 may receive a write command related to a malicious file from the second image processing apparatus 120 serving as a client.
- the first image processing apparatus 110 may maintain security by coping with such a command, which will be described later.
- FIG. 2 is an exemplary view illustrating a process in which a first image processing apparatus according to the related art is connected to a storage device through a network, and a file of the storage device is received by the first image processing apparatus.
- the storage device 201 and the first image processing device 202 may construct a network according to any one of the various communication protocols.
- a universal plug and play (UPnP) method is taken as an example, but a method of constructing a network is not limited to UPnP.
- the first image processing apparatus 202 performs UPnP broadcasting.
- the first image processing apparatus 202 finds a device that can communicate by broadcasting a discovery signal in the system.
- the storage device 201 detects a signal broadcast from the first image processing device 202 and performs a UPnP replay in response to the detected signal.
- the reply may include a request for device information of the first image processing apparatus 202 for the UPnP network.
- the first image processing apparatus 202 transmits device information of the first image processing apparatus 202 to the storage device 201 in response to the request.
- the storage device 201 forms a network path with the first image processing device 202 based on the information from the first image processing device 202.
- the storage device 201 is communicatively connected to the first image processing device 202 through a UPnP network.
- the storage device 201 executes a first application for a process of transferring a file of the storage device 203.
- the first image processing apparatus 202 executes a second application for a process of receiving a file of the storage device 203.
- the first application and the second application are applications provided to correspond to each other, and are executed in each device for transmitting and receiving and playing a multimedia file according to a specific standard.
- the storage device 201 may acquire and transmit a file of a corresponding standard by the first application, and the first image processing device 202 may be used. May be provided to receive and play the corresponding file by the second application.
- the first image processing apparatus 202 transmits user account information to the storage device 201.
- the storage device 201 authenticates the corresponding account.
- the first image processing apparatus 202 acquires a right to receive a file from the storage device 201.
- the first image processing apparatus 202 requests transmission of a file stored in the storage device 201.
- the storage device 201 transmits a file corresponding to the request to the first image processing device 202.
- This operation is possible when the storage device 201 supports a network communication function. However, if the storage device 201 does not support network communication and only supports a local connection function, it is difficult to perform such an operation.
- FIG. 3 is an exemplary diagram illustrating a process of connecting a first image processing apparatus to a second image processing apparatus through a network and transmitting a file of a storage device to the second image processing apparatus according to an exemplary embodiment of the present invention.
- the first image processing apparatus 301 and the second image processing apparatus 302 may construct a network according to any one of the various communication protocols.
- the UPnP method is taken as an example, but the method of constructing the network is not limited to UPnP.
- the second image processing apparatus 302 performs UPnP broadcasting.
- the first image processing apparatus 301 detects a signal broadcast from the second image processing apparatus 302 and performs a UPnP replay in response to the detected signal.
- the second image processing apparatus 302 transmits the device information of the second image processing apparatus 302 to the first image processing apparatus 301 in response to the request.
- the first image processing apparatus 301 forms a network path with the second image processing apparatus 302 based on the information from the second image processing apparatus 302.
- the first image processing apparatus 301 is communicatively connected to the second image processing apparatus 302 through a UPnP network.
- the storage device 303 is locally connected to the first image processing device 301.
- the first image processing apparatus 301 executes a first application for a process of transmitting a file of the storage device 303.
- the first application may be executed together with various other processes on the operating system of the first image processing apparatus 301.
- the configuration of the first application will be described later.
- the second image processing apparatus 302 executes a second application for a process of receiving a file of the storage device 303.
- the first application and the second application are applications provided to correspond to each other, and are executed in each device for transmitting and receiving and playing a multimedia file according to a specific standard. For example, when there is a multimedia file whose transmission or reception is restricted in consideration of security, the first image processing apparatus 301 may acquire and transmit a file of a corresponding standard by the first application, and the second image processing apparatus may be transmitted. 302 may be provided to receive and play the file by the second application.
- the second image processing apparatus 302 transmits user account information to the first image processing apparatus 301.
- the first image processing apparatus 301 authenticates the corresponding account.
- the second image processing apparatus 302 acquires the right to receive a file from the first image processing apparatus 301.
- the second image processing apparatus 302 requests the first image processing apparatus 301 to transmit a file stored in the storage device 303.
- the first image processing apparatus 301 acquires a corresponding file from the storage device 303 in response to a file request from the second image processing apparatus 302.
- the storage device 303 is locally connected to the first image processing device 301.
- the first image processing apparatus 301 transmits the acquired file to the second image processing apparatus 302 through the UPnP network.
- the second image processing apparatus 302 may receive a file stored in the storage device 303 not connected to the UPnP network through the UPnP network.
- the first image processing apparatus 301 serves as a server in the system
- the second image processing apparatus 302 serves as a client.
- the operation in which the file stored in the storage device 303 is transmitted from the first image processing device 301 to the second image processing device 302 may be performed after the account of the second image processing device 302 is authenticated. This is possible if the processing device 302 acquires read permission for the file in the storage device 303.
- the second image processing apparatus 302 may not be possible or difficult to execute in the case of a specific operation such as multimedia streaming.
- a specific operation such as multimedia streaming.
- the second image processing apparatus 302 may need write permission for the storage device 303. That is, the first image processing apparatus 301 authenticates the account information received from the second image processing apparatus 302, and grants write permission to the second image processing apparatus 302 when the corresponding account is authenticated.
- FIG. 4 is a flowchart illustrating an operation when the first image processing apparatus receives a write request from the second image processing apparatus in the system according to the related art.
- the first image processing apparatus receives a 'write request' for a predetermined file from the second image processing apparatus.
- the first image processing apparatus checks an account right of the second image processing apparatus that has made a write request.
- the first image processing apparatus determines whether the second image processing apparatus has write permission.
- the first image processing apparatus If it is determined that the second image processing apparatus has a write right, in operation 440, the first image processing apparatus generates an 'accept response'. On the other hand, if it is determined that the second image processing apparatus does not have the right to write, in operation 450, the first image processing apparatus generates a 'reject response'.
- the first image processing apparatus receives a file from the second image processing apparatus according to the approval response.
- the first image processing apparatus executes a 'write system call' on the file received from the second image processing apparatus.
- the first image processing apparatus allows the second image processing apparatus having the write permission to write the predetermined file to the storage device or the first image processing apparatus.
- the contents of the system call will be described later.
- the first image processing apparatus does not receive a file from the second image processing apparatus according to the rejection response.
- the second image processing apparatus includes a file containing malicious code. Cannot be intentionally written to a storage device or a first image processing device.
- the first image processing apparatus grants only the read authority without granting the write authority to the second image processing apparatus, the above-described behavior may be prevented, but as described above, the write authority for the second image processing apparatus is inevitable. It may be necessary to give.
- an embodiment of the present invention operates as follows to give the second image processing apparatus write permission to a file while preventing the second image processing apparatus from writing a file containing malicious code to the electronic device. .
- FIG. 5 is a flowchart illustrating an operation when a first image processing apparatus receives a write request from a second image processing apparatus in a system according to an exemplary embodiment of the present invention.
- the first image processing apparatus receives a write request for a predetermined file from the second image processing apparatus.
- the first image processing apparatus checks an account right of the second image processing apparatus.
- the first image processing apparatus determines whether the second image processing apparatus has write permission.
- step 525 the first image processing apparatus determines whether a file name format, for example, an extension, of the corresponding file is permitted in the preset standard.
- the first image processing apparatus If it is determined that the extension of the file is permitted by the preset standard, in operation 530, the first image processing apparatus generates an approval response. The generated approval response is transmitted from the first image processing apparatus to the second image processing apparatus.
- the first image processing apparatus receives a file from the second image processing apparatus according to the approval response.
- the first image processing apparatus executes a write system call on the received file.
- the first image processing apparatus determines a validity of the file.
- step 550 the first image processing apparatus writes the file according to the write system call. On the other hand, if it is determined that the file is not valid, in step 555, the first image processing apparatus deletes the file.
- step 560 the first image processing apparatus rejects the response. Create The generated rejection response is transmitted from the first image processing apparatus to the second image processing apparatus. When the second image processing apparatus receives the rejection response, the second image processing apparatus does not transmit the file.
- the first image processing apparatus determines whether the extension of the corresponding file is allowed by the predetermined standard in response to the file writing request from the second image processing apparatus, Allow transfer only for files. As a result, the first image processing apparatus may block the reception of the file which is not permitted by the standard from the second image processing apparatus.
- the first image processing apparatus may determine whether the extension of the file is modulated by determining the validity of the file even if the file has an allowed extension. That is, even if the second image processing apparatus modulates and transmits the extension of the file containing the malicious code, it can be deleted before the writing of the file is performed.
- the first image processing apparatus may improve security by preventing the second image processing apparatus having write permission from writing a file including malicious code to the storage device or the first image processing apparatus.
- FIG. 6 is a block diagram illustrating an execution structure of an application executed in a first image processing apparatus according to an exemplary embodiment of the present invention.
- the first image processing apparatus performs a process of transmitting a file stored in the storage device to the second image processing apparatus through a network according to a preset standard as described above.
- the application 611 according to the corresponding standard is executed.
- this process is referred to as a server process for convenience.
- the application 611 is executed by a processor or a CPU of the first image processing apparatus.
- the operating system 620 When the level at which the software is executed in the first image processing apparatus is divided into a user level and a kernel level, the operating system 620 is executed at the kernel level, and the application 611 is executed at the user level on the operating system 620. .
- the operating system 620 basically refers to a kernel. Since the first image processing apparatus supports multitasking and multithreading, the first image processing apparatus may perform other processes by various applications in addition to the file transfer process.
- the operating system 620 is system software for performing an operation of the first image processing apparatus, and includes a subsystem corresponding to each function to be supported.
- the application 611 acquires a file stored in the electronic device in response to a file request from the second image processing apparatus, transmits the acquired file to the second image processing apparatus via a network, or writes a request from the second image processing apparatus. It basically executes commands related to the network.
- application 611 runs on a network stack or network subsystem 621 that operates on physical network system 630 and is responsible for the network functionality of operating system 620.
- the physical network system 630 includes communication hardware such as a LAN card and a communication circuit, for example.
- the application 611 may determine whether to write the file according to the above-described embodiment, and control to write the file according to the determination. .
- the application 611 simply outputs a write command for the file, and in order to actually perform a write operation on the file, the operating system 620 needs to operate by accessing the file system according to the corresponding command. There is. The concept of system calls applies to this.
- the system call has a meaning as an interface for accessing the operating system 620 according to a request of the application 611 for the service provided by the operating system 620. If the application 611 is written in a high-level language, direct system calls cannot be used, so the high-level API or middleware is designed to act on the system calls.
- the kernel-level operating system 620 and the user-level application 611 have different levels of authority of the CPU or access to hardware.
- the operating system 620 has a linker structure in which the physical addresses match the RAM, flash memory, etc. of the CPU system, and operates at a specific memory location. At this time, all addresses used in the machine code of the operating system 620 are fixed to the physical address and compiled. do. Accordingly, the operating system 620 operates by constantly occupying a part of the entire memory resources during the booting process, and access to all interrupts and hardware is possible.
- the application 611 uses the resources provided by the operating system 620 to occupy and execute the memory according to the situation. Since the application 611 is basically a program executed in response to a user request, the physical address cannot be determined. An application cannot execute certain machine instructions because the privilege level of the CPU is user level.
- the application 611 needs to use a service of the operating system 620 in order to use the file system.
- This method is a system call.
- the system call means calling and using a routine of the operating system 620 for a function not supported by the programming language of the application 611.
- the application 611 may be designed to send a system call to the operating system 620, but in terms of software design, it is preferable to provide a separate middleware rather than this. That is, it may be easy in terms of design to add middleware capable of sending a system call to the operating system 620 in response to a command from the application 611.
- the application 611 is executed on the network subsystem 621 of the operating system 620 and on the server middleware 612 relaying the application 611 and the operating system 620.
- the server middleware 612 transmits a system call corresponding to a command of the application 611 to the operating system 620 so that an operation corresponding to the command is executed. For example, writing of a specific file from the application 611 is performed.
- the write system call is transmitted to the operating system 620 so that the write operation of the file is performed.
- the server middleware 612 determines whether the file extension is allowed by the standard supported by the application 611 in response to the write request from the second image processing apparatus as described above, and executes a write system call. In this case, the operation of determining the validity of the file may be performed.
- the server middleware 612 may receive an instruction regarding a subsequent operation by transmitting the result of the execution to the application 611.
- the server middleware 612 is installed in the first image processing apparatus that performs the role of a server in the system, and does not need to be installed in the second image processing apparatus that performs the client role.
- the server middleware 612 may basically be installed in both the first image processing apparatus and the second image processing apparatus, and whether or not the server middleware 612 is operated according to which of the two devices serves as a server. Can be.
- server middleware 612 has a filtering routine 613 for filtering whether the extension of the file is allowed in the specification.
- the filtering routine 613 may be included in the internal code of the server middleware 612.
- the filtering routine 613 searches the DB 614 which defines the extension of the allowable object according to a preset standard, and determines whether the file extension is allowed to be executed. Description of the filtering of the extension will be described later.
- the first image processing apparatus converts user-level software components involved in the server process, that is, the application 611, the server middleware 612, the filtering routine 613, and the DB 614 into the process container 610. To be isolated from other processes.
- the process container 610 is configured to isolate the application 611, the server middleware 612, the filtering routine 613, and the DB 614 from being accessed by other applications 640 running at the user level.
- a virtualization technology such as Linux Containers (LXC) may be applied.
- Container-type virtualization technologies like LXC divide the user-level process space into several and limit the resources within each process space.
- the first image processing apparatus may exclude the possibility that the server process may be affected by other processes in the first image processing apparatus.
- the server middleware 612 may determine whether the file is valid according to various methods. For example, the server middleware 612 analyzes the header of the file and determines whether the format of the file according to the header analysis result corresponds to the extension of the file. According to a typical structure of a digital file, the file includes a header placed at the front of the data block and a payload or body which is the contents of the file. The header must follow a clear and unambiguous specification for parsing, so server middleware 612 determines the characteristics of the file by analyzing the header.
- the server middleware 612 determines that the file is valid if the file characteristic determined according to the analysis of the header corresponds to the extension of the aforementioned file. On the other hand, if the file characteristic does not correspond to the extension of the file, the server middleware 612 determines that the file is not valid.
- the first image processing apparatus is expressed as determining the validity of the file after receiving all the files.
- the file size is relatively large.
- FIG. 7 is a flowchart illustrating a process of determining a validity of a file according to an approval response by a first image processing apparatus according to an exemplary embodiment of the present invention.
- the first image processing apparatus determines that the file extension is permitted by the preset standard, the first image processing apparatus generates an approval response and transmits the approval response to the second image processing apparatus in step 710.
- the foregoing embodiment may be referred to, and thus description thereof is omitted.
- the first image processing apparatus receives a part of the file including the header, not the entire file, from the second image processing apparatus.
- a part of the received file may include only a header except the body of the file, or may include a part of the body and a header of the file.
- the first image processing apparatus determines the characteristics of the file by analyzing the received header information.
- the characteristics of the file may include the format of the file, for example.
- the first image processing apparatus determines whether the determined characteristic of the file corresponds to the extension of the file.
- the file extension is 'lcs', which is a file extension of a file for which the standard allows the content, and the case in which the file is analyzed as not related to the license may be considered.
- the file may be determined that the extension has been modulated.
- the first image processing apparatus determines that the characteristics of the file do not correspond to the file extension and that the file is not valid.
- the first image processing apparatus receives the remainder of the file from the second image processing apparatus. If only the header of the file is received in operation 720, the first image processing apparatus receives the body of the file in operation 750. Alternatively, if the body part and the header of the file are received in step 720, the first image processing apparatus receives the remainder of the body of the file in step 750.
- the first image processing apparatus executes a write system call.
- the first image processing apparatus deletes a part of the received file.
- the first image processing apparatus first receives only a part of a file necessary for validity determination after receiving the entire file, and then receives the rest of the file after determining that the validity is valid. In this way, it is possible to reduce an unnecessary file over the network from having an invalid file.
- the filtering routine of the first image processing apparatus has described the operation of filtering whether the file extension is allowed by the preset standard.
- the filtering according to the extension will be described in more detail.
- FIG. 8 is an exemplary diagram of a file structure according to a standard for a file sharing service used in a first image processing apparatus according to an exemplary embodiment of the present invention.
- the storage device may store several files in a folder according to a predetermined standard for sharing files.
- the file is transferred from the first image processing apparatus to the second image processing apparatus in accordance with the interaction between the first application executed in the first image processing apparatus and the second application executed in the second image processing apparatus. Since the first image processing apparatus and the second image processing apparatus may each have their own file systems, a file system according to a standard commonly supported by the first application and the second application is defined for file transfer between the two devices. .
- the standard for file sharing service may specify to give an extension of 'avi' to a multimedia package file and to give an extension of 'lcs' to a file related to authentication of the multimedia package file.
- the standard may predefine an extension according to the purpose of the file.
- the file basically contains the file name and extension. Since the file name can be variously designated according to the contents, it is difficult to indicate the characteristics of the file, while the extension is suitable to indicate the characteristics of the file. Also, the analysis using the extension can be performed even if the file is not received, which is advantageous in terms of security.
- the DB of the first image processing apparatus specifies the characteristics and extensions of the files allowed by the file sharing standard.
- the filtering routine can easily determine whether the file for the write request is allowed by the specification by referring to the DB.
- the second image processing apparatus also conforms to the configuration of the first image processing apparatus.
- FIG. 9 is a block diagram illustrating a first image processing apparatus according to an exemplary embodiment of the present invention.
- the first image processing apparatus 901 may include a first communication unit 910 communicating with the second image processing apparatus 902 and a communication unit communicating with the storage device 903. 2 a communication unit 920, a signal processing unit 930 for processing a signal, a user input unit 940 for performing an input operation by a user, a storage unit 950 for storing data, and a signal processing unit 930 And a controller 960 that performs operations for processing and control of overall operations of the first image processing apparatus 901. These components are interconnected via a system bus. The above components are directly related to the first image processing apparatus 901 for implementing the spirit of the present invention, and other components will not be described.
- the first communication unit 910 is provided to communicate directly or indirectly with the second image processing apparatus 902 through a network according to a preset standard.
- the first communication unit 910 is a communication circuit, such as an Ethernet module for receiving packet data from the Internet by wire and a wireless communication module for wirelessly receiving packet data according to various standards such as Wi-Fi or Bluetooth. It may include.
- the second communication unit 920 is provided to communicate with the storage device 903.
- the second communication unit 920 may be a wired connection port such as a USB port for the storage device 903 to be locally connected, or may communicate with the storage device 903 through a network having a different standard from that of the first communication unit 910. It may be a communication circuit for performing.
- the signal processor 930 processes the corresponding signal by performing a predetermined process on various signals including an image signal.
- the signal processor 930 may process an image signal and display the image on a display unit, or may process an audio signal and output the sound through a speaker.
- the signal processor 930 includes a hardware processor implemented by a chipset, a circuit, a buffer, or the like mounted on a printed circuit board, and may be implemented as a system on chip (SOC) according to a design method.
- SOC system on chip
- the user input unit 940 transmits various preset control commands or information to the controller 960 according to a user's manipulation or input. That is, the user input unit 940 outputs various events generated according to the intention of the user so that the controller 960 operates in response to the corresponding event.
- the user input unit 940 may be implemented in various forms according to the type of the first image processing apparatus 901.
- the key or the first image processing apparatus 901 installed in the main body of the first image processing apparatus 901 may be used. For example, a remote controller separated from the main body of the.
- the storage unit 950 stores various data under the control of the controller 960.
- the storage unit 950 is accessed by the signal processing unit 930 or the control unit 960 to read, record, modify, delete, and update data.
- the storage unit 950 may be a flash memory, a hard disk drive, or a solid state drive (SSD) capable of storing data regardless of whether the first image processing apparatus 901 is provided with system power.
- SSD solid state drive
- a nonvolatile memory such as a -state drive
- a volatile memory such as a buffer or a RAM for temporarily loading data processed by the signal processor 930 or the controller 960.
- the controller 960 is implemented by a CPU, a microprocessor, or the like, thereby controlling operations of components in the first image processing apparatus 901 including the signal processor 930 and performing operations of the processes executed by the signal processor 930.
- the operating system, the application, the middleware, etc. as described in the above embodiments may be executed by the signal processor 930 and the controller 960 in a state loaded in the RAM. Embodiments of the present invention executed by this structure have been described above.
- Methods according to an exemplary embodiment of the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium.
- Such computer-readable media may include, alone or in combination with the program instructions, data files, data structures, and the like.
- a computer readable medium may be volatile or nonvolatile, such as a storage device such as a ROM, whether or not removable or rewritable, or a memory such as, for example, a RAM, a memory chip, a device, or an integrated circuit.
- a storage device such as a ROM, whether or not removable or rewritable
- a memory such as, for example, a RAM, a memory chip, a device, or an integrated circuit.
- CD or DVD, magnetic disk or magnetic tape and the like can be stored in a storage medium that is optically or magnetically recordable and simultaneously readable by a machine (eg computer).
- a memory that can be included in a mobile terminal is an example of a machine-readable storage medium suitable for storing a program or programs containing instructions for implementing embodiments of the present invention.
- the program instructions recorded on the storage medium may be those specially designed and constructed for the present invention, or may be known and available to those skilled in the art of computer software.
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
본 발명은 타 장치와의 네트워크 통신을 통해 멀티미디어 파일을 송수신하거나 재생할 수 있는 전자장치, 전자장치의 제어방법 및 기록매체에 관한 것으로서, 상세하게는 별도의 외부장치에 저장된 멀티미디어 파일이 타 장치에 스트리밍되도록 인터페이스함에 있어서, 타 장치로부터 수신되는 쓰기 명령에 대한 보안성을 향상시킨 구조의 전자장치, 전자장치의 제어방법 및 기록매체에 관한 것이다.
소정의 정보를 특정 프로세스에 따라서 연산 및 처리하기 위해, 연산을 위한 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, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 이동 단말 내에 포함될 수 있는 메모리는 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. 본 저장 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어의 기술 분야에서 숙련된 기술자에게 공지되어 사용 가능한 것일 수도 있다.
상기한 실시예는 예시적인 것에 불과한 것으로, 당해 기술 분야의 통상의 지식을 가진 자라면 다양한 변형 및 균등한 타 실시예가 가능하다. 따라서, 본 발명의 진정한 기술적 보호범위는 하기의 특허청구범위에 기재된 발명의 기술적 사상에 의해 정해져야 할 것이다.
Claims (15)
- 전자장치에 있어서,제1외부장치 및 제2외부장치와 통신하게 마련된 적어도 하나의 통신부와;상기 제1외부장치로부터 상기 제2외부장치에 대한 파일의 쓰기 요청을 수신하고, 상기 파일이 쓰기가 허용된 파일명 형식을 가지면 상기 제1외부장치로부터 상기 파일을 수신하며, 상기 수신된 파일이 상기 제2외부장치에 선택적으로 저장되도록 하는 프로세서를 포함하는 것을 특징으로 하는 전자장치.
- 제1항에 있어서,상기 프로세서는, 상기 파일이 상기 쓰기가 허용된 확장자를 가지면 상기 파일을 수신하고, 상기 파일이 상기 쓰기가 허용된 확장자를 가지지 않으면 상기 파일을 수신하지 않는 것을 특징으로 하는 전자장치.
- 제2항에 있어서,상기 쓰기가 허용된 확장자를 규정하는 데이터베이스를 더 포함하며,상기 프로세서는, 상기 데이터베이스의 검색에 의해 상기 파일이 상기 쓰기가 허용된 확장자를 가지는지 여부를 판단하는 것을 특징으로 하는 전자장치.
- 제1항에 있어서,상기 프로세서는, 상기 수신된 파일의 유효성을 체크하며, 상기 유효성 체크를 통과한 상기 파일이 상기 제2외부장치에 저장되도록 하고, 상기 유효성 체크를 통과하지 않은 상기 파일이 상기 제2외부장치에 저장되지 않도록 삭제하는 것을 특징으로 하는 전자장치.
- 제4항에 있어서,상기 프로세서는, 상기 수신된 파일의 헤더로부터 상기 수신된 파일의 포맷을 분석하고, 상기 분석 결과가 상기 파일의 확장자와 대응하지 않으면 상기 유효성 체크를 통과하지 않는 것으로 판단하는 것을 특징으로 하는 전자장치.
- 제4항에 있어서,상기 프로세서는, 상기 파일이 쓰기가 허용된 파일명의 형식을 가지면 상기 제1외부장치로부터 상기 파일 중에서 헤더를 포함하는 일부를 수신하고 상기 헤더에 기초하여 상기 파일의 유효성을 체크하며,상기 파일이 상기 유효성 체크를 통과하면 상기 파일의 나머지를 상기 제1외부장치로부터 수신하고, 상기 파일이 상기 유효성 체크를 통과하지 않으면 기 수신된 상기 파일의 일부를 삭제하는 것을 특징으로 하는 전자장치.
- 제1항에 있어서,상기 프로세서는, 상기 제1외부장치로부터 상기 파일의 쓰기 요청을 수신하면, 상기 제1외부장치의 계정이 쓰기 권한을 가지고 있는지 여부에 대응하여, 상기 파일의 상기 파일명 형식에 관한 판단 동작을 선택적으로 수행하는 것을 특징으로 하는 전자장치.
- 제1항에 있어서,상기 적어도 하나의 통신부는, 제1전송규격에 따라서 상기 제1외부장치와 통신하게 마련된 제1통신부와, 제2전송규격에 따라서 상기 제2외부장치와 통신하게 마련된 제2통신부를 포함하며,상기 프로세서는, 상기 제1통신부를 통해 상기 제1외부장치로부터 상기 제2외부장치에 저장된 파일의 요청을 수신하면, 상기 제2통신부를 통해 상기 제2외부장치로부터 상기 요청에 대응하는 파일을 취득하고, 상기 취득한 파일을 상기 제1통신부를 통해 전송하는 것을 특징으로 하는 전자장치.
- 제8항에 있어서,상기 프로세서는, 상기 통신부를 통해 상기 제1외부장치로부터의 상기 제1전송규격에 따른 브로드캐스팅 신호를 수신하면, 상기 브로드캐스팅 신호에 응답하여 상기 제1외부장치에 관한 기기 정보를 상기 제1외부장치에 전송하며, 상기 제1외부장치로부터 수신되는 상기 기기 정보에 기초하여 상기 통신부 및 상기 제1외부장치 사이에 상기 제1전송규격에 따른 네트워크 통신이 가능하도록 처리하는 것을 특징으로 하는 전자장치.
- 전자장치의 제어방법에 있어서,제1외부장치 및 제2외부장치와 각기 통신하는 단계와;상기 제1외부장치로부터 상기 제2외부장치에 대한 파일의 쓰기 요청을 수신하는 단계와;상기 파일이 쓰기가 허용된 파일명 형식을 가지면 상기 제1외부장치로부터 상기 파일을 수신하는 단계와;상기 수신된 파일이 상기 제2외부장치에 선택적으로 저장되도록 하는 단계를 포함하는 것을 특징으로 하는 전자장치의 제어방법.
- 제10항에 있어서,상기 파일 수신 단계는, 상기 파일이 상기 쓰기가 허용된 확장자를 가지면 상기 파일을 수신하고, 상기 파일이 상기 쓰기가 허용된 확장자를 가지지 않으면 상기 파일을 수신하지 않는 단계를 포함하는 것을 특징으로 하는 전자장치의 제어방법.
- 제11항에 있어서,상기 파일 수신 단계는, 상기 쓰기가 허용된 확장자를 규정하는 데이터베이스의 검색에 의해 상기 파일이 상기 쓰기가 허용된 확장자를 가지는지 여부를 판단하는 단계를 더 포함하는 것을 특징으로 하는 전자장치의 제어방법.
- 제10항에 있어서,상기 선택적 저장 단계는,상기 수신된 파일의 유효성을 체크하는 단계와;상기 유효성 체크를 통과한 상기 파일이 상기 제2외부장치에 저장되도록 하고, 상기 유효성 체크를 통과하지 않은 상기 파일이 상기 제2외부장치에 저장되지 않도록 삭제하는 단계를 포함하는 것을 특징으로 하는 전자장치의 제어방법.
- 제13항에 있어서,상기 체크 단계는, 상기 수신된 파일의 헤더로부터 상기 수신된 파일의 포맷을 분석하고, 상기 분석 결과가 상기 파일의 확장자와 대응하지 않으면 상기 유효성 체크를 통과하지 않는 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 전자장치의 제어방법.
- 제13항에 있어서,상기 파일 수신 단계는,상기 파일이 쓰기가 허용된 파일명의 형식을 가지면 상기 제1외부장치로부터 상기 파일 중에서 헤더를 포함하는 일부를 수신하고 상기 헤더에 기초하여 상기 파일의 유효성을 체크하는 단계와;상기 파일이 상기 유효성 체크를 통과하면 상기 파일의 나머지를 상기 제1외부장치로부터 수신하고, 상기 파일이 상기 유효성 체크를 통과하지 않으면 기 수신된 상기 파일의 일부를 삭제하는 단계를 포함하는 것을 특징으로 하는 전자장치의 제어방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/464,904 US11272263B2 (en) | 2016-11-29 | 2017-11-16 | Electronic apparatus, control method of electronic apparatus, and recording medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160160730A KR20180060804A (ko) | 2016-11-29 | 2016-11-29 | 전자장치, 전자장치의 제어방법 및 기록매체 |
KR10-2016-0160730 | 2016-11-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018101656A1 true WO2018101656A1 (ko) | 2018-06-07 |
Family
ID=62242706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2017/013028 WO2018101656A1 (ko) | 2016-11-29 | 2017-11-16 | 전자장치, 전자장치의 제어방법 및 기록매체 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11272263B2 (ko) |
KR (1) | KR20180060804A (ko) |
WO (1) | WO2018101656A1 (ko) |
Families Citing this family (2)
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 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100760534B1 (ko) * | 2006-02-07 | 2007-09-20 | 에스케이 텔레콤주식회사 | 콘텐츠 검증 시스템 및 방법 |
US20110219229A1 (en) * | 2010-03-02 | 2011-09-08 | Chris Cholas | Apparatus and methods for rights-managed content and data delivery |
KR101265533B1 (ko) * | 2012-02-20 | 2013-05-20 | 주식회사 안랩 | 폴더 액세스 제어 장치 및 방법 |
KR20140031510A (ko) * | 2012-09-03 | 2014-03-13 | 주식회사 팬택 | 모바일 장치 및 모바일 장치의 파일 처리 방법 |
KR20140043621A (ko) * | 2012-10-02 | 2014-04-10 | 주식회사 테일즈앱 | 복수의 디지털 기기 간 스토리지 공유 방법 및 이를 기록한 기록 매체 |
Family Cites Families (19)
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 |
EP0821522B1 (en) * | 1996-07-23 | 2008-04-09 | Canon Kabushiki Kaisha | Camera control apparatus and method |
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 |
US20050228859A1 (en) * | 2001-12-21 | 2005-10-13 | Yukitoshi Maeda | 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 |
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 |
KR101768222B1 (ko) * | 2010-07-20 | 2017-08-16 | 삼성전자주식회사 | 적응적 스트리밍 방식의 컨텐트 송수신 방법 및 장치 |
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 |
-
2016
- 2016-11-29 KR KR1020160160730A patent/KR20180060804A/ko not_active Application Discontinuation
-
2017
- 2017-11-16 WO PCT/KR2017/013028 patent/WO2018101656A1/ko active Application Filing
- 2017-11-16 US US16/464,904 patent/US11272263B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100760534B1 (ko) * | 2006-02-07 | 2007-09-20 | 에스케이 텔레콤주식회사 | 콘텐츠 검증 시스템 및 방법 |
US20110219229A1 (en) * | 2010-03-02 | 2011-09-08 | Chris Cholas | Apparatus and methods for rights-managed content and data delivery |
KR101265533B1 (ko) * | 2012-02-20 | 2013-05-20 | 주식회사 안랩 | 폴더 액세스 제어 장치 및 방법 |
KR20140031510A (ko) * | 2012-09-03 | 2014-03-13 | 주식회사 팬택 | 모바일 장치 및 모바일 장치의 파일 처리 방법 |
KR20140043621A (ko) * | 2012-10-02 | 2014-04-10 | 주식회사 테일즈앱 | 복수의 디지털 기기 간 스토리지 공유 방법 및 이를 기록한 기록 매체 |
Also Published As
Publication number | Publication date |
---|---|
US20190289371A1 (en) | 2019-09-19 |
KR20180060804A (ko) | 2018-06-07 |
US11272263B2 (en) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014038911A1 (en) | Vehicle information processing system and method | |
WO2016036115A1 (ko) | 재등록을 관리하는 전자 장치 및 방법 | |
WO2010068073A2 (ko) | 장치식별정보를 이용한 서비스 제공 방법, 그 장치 및 그 프로그램을 기록한 컴퓨터 판독 가능한 기록매체 | |
WO2013137662A1 (en) | Apparatus and method of controlling permission to applications in a portable terminal | |
EP2732399A2 (en) | Method and apparatus for using non-volatile storage device | |
WO2014084666A1 (en) | Information storage medium storing content, content providing method, content reproducing method and apparatus therefor | |
WO2014107084A1 (en) | Apparatus and method for providing a near field communication function in a portable terminal | |
WO2018101656A1 (ko) | 전자장치, 전자장치의 제어방법 및 기록매체 | |
WO2020197275A1 (en) | Method for installing subscriber profile and electronic device therefor | |
WO2020045826A1 (ko) | 디지털 키를 처리하는 전자 디바이스 및 그 동작 방법 | |
WO2014030864A1 (en) | Electronic device and content sharing method | |
WO2015020418A1 (en) | Function upgrade device, display apparatus and method for controlling display apparatus thereof | |
WO2013073829A1 (en) | Method, host apparatus and machine-readable storage medium for authenticating a storage apparatus | |
WO2021040395A1 (en) | Electronic device for controlling access to device resource and operation method thereof | |
WO2019039706A1 (ko) | 전자 장치 및 그의 데이터 운용 방법 | |
WO2020060101A1 (ko) | 보안 엘리먼트를 이용하여 서비스를 제공하는 전자 장치 및 그의 동작 방법 | |
EP3622722A1 (en) | Display apparatus and method for providing content thereof | |
WO2021025322A1 (ko) | 키 계정을 통해 애플리케이션을 활성화시키는 전자 장치 및 이를 포함하는 시스템 | |
WO2018186685A1 (en) | Electronic apparatus and method for control thereof | |
WO2021194082A1 (ko) | 캡티브 포털을 이용한 웹 페이지 제공 방법 및 그 장치 | |
WO2019083231A1 (ko) | 디스플레이장치 및 그 제어방법 | |
WO2021225329A1 (ko) | 사용자 식별자 및 서명 수집을 이용한 모바일 애플리케이션 위변조 탐지 방법 및 시스템 | |
EP4193284A1 (en) | Electronic apparatus and controlling method thereof | |
WO2021112414A1 (en) | Method and device for reproducing content of mobile device on display device | |
WO2021107493A1 (ko) | 보안성이 강화된 카메라 사용환경 설정 능력을 구비하는 영상 감시 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17875298 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17875298 Country of ref document: EP Kind code of ref document: A1 |