WO2017018719A1 - 보안 네트워크 시스템 및 그 데이터 처리 방법 - Google Patents
보안 네트워크 시스템 및 그 데이터 처리 방법 Download PDFInfo
- Publication number
- WO2017018719A1 WO2017018719A1 PCT/KR2016/007958 KR2016007958W WO2017018719A1 WO 2017018719 A1 WO2017018719 A1 WO 2017018719A1 KR 2016007958 W KR2016007958 W KR 2016007958W WO 2017018719 A1 WO2017018719 A1 WO 2017018719A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- packet
- world
- data
- secure
- module
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- 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/604—Tools and structures for managing or administering access control systems
-
- 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/606—Protecting data by securing the transmission between two devices or processes
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Definitions
- the present invention relates to a security network system and a data processing method thereof, and more particularly, to a security network system and a data processing method for improving security using a security area.
- an object of the present invention is to provide a security network system with improved security and its data processing method.
- the processor may determine whether the packet is used in the secure world using field information included in the packet header of the packet.
- the secure world may be responsible for data communication in the secure world, and may include a network server module that integrates and manages the data of the packet.
- the processor When the data is generated in the secure world, the processor generates a secure packet corresponding to the generated data using the secure world's TCP / IP module, and transmits the secure packet to the external network using the secure world's network driver module. Can be.
- the processor when data is generated in the normal world, the processor generates a normal packet corresponding to the generated data using the TCP / IP module of the normal world and transmits the normal packet to the external network using the network driver module of the normal world. Can be.
- the processor uses the secure world's TCP / IP module and network driver module to generate data in the normal world and data generated in the secure world, respectively. Can be sent to an external network together.
- the data processing method of a secure network system consisting of a normal world and a secure world is a step of receiving a packet from an external network using a secure driver network driver module, if the received packet is used in the secure world, TCP of the secure world Extracting packet data using the / IP module, using the packet data in the secure world, and extracting the packet data using the secure world's TCP / IP module if the packet is not used in the secure world. And using the data of the packet in the world.
- the step of using the data of the packet in the normal world is, if the packet is not used in the secure world, extracting the packet data using the TCP / IP module of the secure world and the extracted data in the monitor module of the secure world. May be delivered to the normal world.
- the method may further include determining whether the packet is used in the secure world according to field information of a packet header.
- the secure world may be responsible for data communication in the secure world, and may include a network server module that integrates and manages the data of the packet.
- the method may further include transmitting to a network.
- a computer-readable recording medium having a program for executing a data processing method of a secure network system consisting of a normal world and a secure world, has received a packet from an external network using a secure driver network driver module. If the packet is to be used in the secure world, extracting the packet's data using the secure world's TCP / IP module, using the data in the packet at the secure world, and if the packet is not to be used in the secure world, A program for extracting data of the packet using the TCP / IP module and executing the step of using the data of the packet in the normal world may be stored.
- security of a security network system can be greatly improved.
- FIG. 1 is a block diagram showing the configuration of a security network system according to an embodiment of the present invention.
- FIG. 2 is a block diagram illustrating an example of a detailed configuration of the security network system of FIG. 1.
- FIG 3 is a view for explaining an example of a packet structure processed in a secure network system according to an embodiment of the present invention.
- FIG. 4 is a timing chart illustrating a process of processing data in a secure network system according to an embodiment of the present invention.
- FIG. 5 is a timing chart illustrating a process of processing data in a secure network system according to another embodiment of the present invention.
- FIG. 6 is a view for explaining a UI change according to the change of the operating system of the security network system according to an embodiment of the present invention.
- FIG. 7 is a flowchart illustrating a data processing method of a secure network system according to an embodiment of the present invention.
- FIG. 8 is a block diagram showing the configuration of a security network system according to another embodiment of the present invention.
- FIG. 9 is a block diagram illustrating another example of a detailed configuration of a security network system according to an embodiment of the present invention.
- ordinal numbers such as “first”, “second”, and the like may be used to distinguish between components. These ordinal numbers are used to distinguish the same or similar components from each other, and the meaning of the terms should not be construed as limited by the use of these ordinal numbers. For example, the components combined with these ordinal numbers should not be limited in order of use or arrangement by the number. If necessary, the ordinal numbers may be used interchangeably.
- module In the embodiments of the present invention, terms such as “module”, “unit”, “part”, and the like are terms used to refer to a component that performs at least one function or operation, and the components are referred to as hardware or software. It may be implemented or a combination of hardware and software. In addition, a plurality of “modules”, “units”, “parts”, etc. are integrated into at least one module or chip, except that each needs to be implemented with a particular specific hardware, and is at least one processor. It may be implemented as (not shown).
- a part when a part is connected to another part, this includes not only a direct connection but also an indirect connection through another medium.
- the meaning that a part includes a certain component means that it may further include other components, without excluding other components, unless specifically stated otherwise.
- FIG. 1 is a block diagram illustrating a configuration of a security network system 1000 according to an exemplary embodiment.
- the secure network system 1000 includes a processor 100.
- the processor 100 may selectively operate as one of a normal world 200 and a secure world 300.
- the secure world 300 refers to a data processing architecture having secured security
- the normal world 200 refers to a general data processing architecture.
- the processor 100 may use an "ARM Trustzone Architecture".
- the "ARM Trustzone Architecture” is known as ARM-divided runtime architecture for two microprocessor systems.
- This runtime-architecture includes two runtime environments.
- One such non-secure runtime environment may be referred to as a "normal zone” or a "normal world”.
- the insecure runtime environment can be controlled by the normal operating system.
- Another runtime environment, the secure runtime environment may be referred to as a "Trustzone” or “TrustedWorld” or “Secure World.”
- the secure runtime environment is controlled by a secure operating system. .
- the normal operating system may be a conventional operating system, for example, Android, Windows Phone, Symbian, etc.
- the safety operating system for example, a security kernel incorporating security functions within the existing operating system, such as MOBICORE, RedCastle, etc. It may be an operating system in which a (security kernel) is inserted.
- the non-secure runtime environment and the secure runtime environment described above may be defined as virtual execution environments.
- the processor 100 may selectively operate as one of the normal world 200 and the secure world 300 according to a user input. Specifically, when the user selects a first menu (or first button) for using the normal world 200, the processor 100 executes the first OS and operates as the normal world 200. On the other hand, when the user selects a second menu (or second button) for using the secure world 300, the processor 100 executes the second OS and operates as the secure world 300.
- the first OS or the second OS may be set as a default.
- the processor 100 executes the first OS and immediately returns to the normal world 200. It works. In this state, when the user selects the second menu (or second button), the processor 100 executes the second OS and operates as the secure world 300. Thereafter, when the user selects the first menu (or the first button), the processor 100 executes the first OS and returns to the secure world 300 again.
- the processor 100 may terminate the secure network system 1000 and reboot to allow the second OS to run. It may be.
- the processor 100 may terminate the first OS and drive the second OS.
- the processor 100 may terminate the second OS and drive the first OS.
- the normal world 200 and the secure world 300 may be understood to be executed under the assumption that an OS corresponding to each of the normal world 200 and the secure world 300 is executed.
- the application may transmit the data to the secure world 300 to generate a packet to transmit and receive the external data and the packet.
- the secure world 300 may include various software such as a network driver module, a TCP / IP module, etc. separately from the normal world 200 to enhance security.
- the secure world 300 itself may be implemented in independent hardware different from the normal world 200.
- the secure world 300 and the normal world 200 may be implemented with different System on Chip (SoC) or different processors.
- SoC System on Chip
- the processor may be implemented as two regions that logically divide one processor.
- FIG. 2 is a block diagram illustrating an example of a detailed configuration of the security network system 1000 of FIG. 1.
- the secure network system 1000 of the present invention may include a normal world 200 and a secure world 300.
- the normal world 200 may include a network driver module 210, a TCP / IP module 220, a trust zone driver module 230, and an application module 240.
- the network driver module 110 may be software for controlling a network hardware device (not shown) that receives a packet from an external network.
- the packet may include a header and payload data.
- the header is data that includes information related to the packet transmission, such as a packet transmission path and a time stamp
- the payload data is data that is a fundamental purpose of the packet transmission and contains substantial contents.
- the TCP / IP module 220 may be software consisting of an internet network protocol.
- the processor 100 may extract the payload from the packet using the TCP / IP module 220 or vice versa, and generate a packet by adding a header to the payload data.
- TCP / IP is composed of IP, a packet communication method, and TCP, a transmission control protocol. IP does not guarantee the delivery of packets and the order in which packets are sent and received may be different.
- TCP is a protocol that runs over IP, guaranteeing the delivery of data and receiving it in the order in which it was sent.
- the trust zone driver module 230 may be included in the normal world 200 environment and may be software for transmitting and receiving data between the normal world 200 and the secure world 300.
- the processor 100 transmits data received from the application module 230 of the normal world 200 to the secure world 300 using the trust zone driver module 230, or the secure world 300. Data may be received from the application module 230 of the normal world 200.
- the application module 240 may be software for executing an application having a specific function and using data received from another module or generating new data.
- the secure world 300 may include a network driver module 310, a TCP / IP module 320, a monitor module 330, and an application module 350.
- the network driver module 310, the TCP / IP module 320, and the application module 350 may be connected to the network driver module 210, the TCP / IP module 220, and the application module 350 of the normal world 200. May be separate, but since the functions are the same, a detailed description is omitted here.
- the monitor module 330 serves as an interface between the normal world 200 and the secure world 300.
- the monitor module 330 may be software for managing communication between the normal world 200 and the secure world 300 and for switching processes between the worlds.
- the processor 100 uses the monitor module 330 to perform the normal world 200. While storing the process state in the memory (not shown), it is possible to restore the new process state, that is, the state of the secure world 300 previously stored in the memory (not shown).
- the secure world 300 may include a network server module 340 that is responsible for data communication in the secure world 300 and manages data of packets in a unified manner.
- the network server module 340 may be software that provides a service regarding data to components (eg, various modules, servers, drivers, etc.) in the secure world 300.
- the network server module 340 may communicate with the application module 350 and other components (eg, various servers and drivers) in the secure world 300.
- the network server module 340 may communicate with other modules in the secure world 300 using interprocess communication (IPC).
- IPC refers to a set of interfaces that enable interprocess communication, and the network server module 340 may simultaneously communicate with a plurality of modules using the IPC.
- the network server module 340 may collectively manage the data of the packet. That is, the network server module 340 may integrately manage the data transfer flow in the secure world 300.
- the application module 350 may make a data transmission request to the network server module 340.
- the network server module may transmit specific data stored in a memory (not shown) to the application module 350.
- the network server module 340 may transfer the corresponding data stored in the memory (not shown) to the TCP / IP module 320.
- the secure network system 1000 may receive all data used in the normal world 200 and the secure world 300 through the secure world 300. Meanwhile, when the security network system 1000 transmits a packet to an external network, a packet corresponding to data generated in the normal world 200 is generated inside the normal world 200 and directly transmitted to the external network, and the secure world ( The packet corresponding to the data generated at 300 may be generated inside the secure world 300 and transmitted directly to the external network.
- the processor 100 may receive a packet from an external network using the network driver module 310 of the secure world 300.
- the processor 100 may control the network hardware (not shown) to receive a packet transmitted from an external network using the network driver module 310.
- the processor 100 may determine whether a packet received from an external network is used in the secure world 300.
- the processor 100 may determine whether the packet 410 is used in the secure world 300 by using the field information 413 included in the packet header 411 of the packet 410. . This will be described in detail with reference to FIG. 3.
- FIG 3 is a diagram illustrating an example of a packet structure processed by the secure network system 1000 according to an exemplary embodiment.
- the packet 410 may include a header 411 and payload data 412.
- the header 411 is data including information related to the transmission of the packet 410, such as a delivery path and a time stamp of the packet 410, and the payload data 412 is a fundamental purpose of the packet 410 transmission.
- the data contains the contents.
- the packet header 411 may include a field 413-1 having information on whether the corresponding packet is used in the secure world 300.
- the processor 100 may determine whether the packet is used in the secure world 300 using the above-described information of the field 413-1. For example, when the value of the corresponding field 413-1 is “0001”, the processor 100 may determine that the packet 410 is used in the secure world 300, and the corresponding field 413-1 may be used. If the value of "0000", it may be determined that the packet 410 is not used in the secure world 300.
- the processor 100 extracts data of the packet by using the TCP / IP module 320 of the secure world 300, and then secure world 300.
- the data in the packet is available at.
- the TCP / IP module 320 may be configured as a TCP / IP stack.
- the processor 100 may transmit the packet to the TCP / IP module 320. Can be controlled to transmit.
- the processor 100 may extract only payload data by dividing a packet into a header and payload data using a TCP / IP module.
- the processor 100 may transmit data of the extracted packet to the network server module 340.
- the network server module 340 may integrate and manage the data of the received packet. For example, the network server module 340 may create a list corresponding to the data of the received packet and store the data and the list corresponding to the data in a memory (not shown). Accordingly, the application module 305 may use the packet data by performing a specific data transmission request to the network server module 340.
- the processor 100 extracts data of the packet using the TCP / IP module 320 of the secure world 300 and sends the packet to the normal world 200. You can pass the data of.
- the processor 100 monitors the data of the packet extracted using the TCP / IP module 320 and monitor module 330. Can be delivered to. Next, the processor 100 may transfer the data of the packet to the trust zone driver module 230 using the monitor module 330. Thereafter, the processor 100 may transfer the data of the packet to the application module 240 of the normal world 200 using the trust zone driver module 230. Through this, the application module 240 may use the data of the packet. As such, when the TCP / IP module, the network driver module, and the like of the secure world 300 are used, security of data to be processed in the normal world 200 may be greatly improved.
- the processor 100 when data is generated in the secure world 300, the processor 100 generates a secure packet corresponding to the data generated using the TCP / IP module 320 of the secure world 300, and then secure world.
- the secure packet may be transmitted to an external network by using the network driver module 310 of 300.
- the processor 100 uses the network server module 340 to execute the request at the application module 350.
- the generated data may be stored in a memory (not shown) and transferred to the TCP / IP module 320.
- the processor 100 generates a secure packet corresponding to the data using the TCP / IP module 320 of the secure world 300, and uses the network driver module 310 of the secure world 300 to secure the packet. Can be sent to an external network.
- the processor 100 when data is generated in the normal world 200, the processor 100 generates a normal packet corresponding to the generated data using the TCP / IP module 220 of the normal world 200, and the normal world 200.
- the normal packet may be transmitted to an external network using the network driver module 210 of the FIG.
- the processor 100 may transfer the data to the TCP / IP module 220.
- the processor 100 generates a normal packet corresponding to data using the TCP / IP module 220 of the normal world 200, and generates a normal packet using the network driver module 210 of the normal world 200. Can be sent to an external network.
- FIG. 4 is a timing chart illustrating a process of processing data in the secure network system 1000 according to an embodiment of the present invention.
- the processor 100 determines whether the packet received from the external network is a packet used in the secure world 300. It may be determined (422). If it is determined that the packet is not a packet to be used in the secure world 300 (422-N), the processor 100 may extract data from the packet and then transfer the data to the normal world 200 (423). In this case, the processor 100 may use the transferred data in the normal world 200 (411). Thereafter, when data is generated in the normal world 200 (412), the processor 100 may generate a packet corresponding to the generated data and transmit it to the outside (413).
- the processor 100 may extract data from the packet (424). Thereafter, when data is generated in the secure world 300 (425), the processor 100 may generate a packet corresponding to the generated data and transmit it to the outside (426).
- FIG. 5 is a timing chart illustrating a process of processing data in a secure network system 1000 according to another exemplary embodiment.
- the processor 100 secures the data generated in the normal world 200 and the data generated in the secure world 300, respectively.
- the TCP / IP module 320 and the network driver module 310 of the world 300 may be used together to transmit to the external network.
- the secure network system 1000 transmits a packet generated in each of the normal world 200 and the secure world 300 to an external network
- the TCP / 300 provided in each of the normal world 200 and the secure world 300 may be provided.
- IP modules 220 and 320 and network driver modules 210 and 310 may be used.
- the packet generated in the normal world 200 and the packet generated in the secure world 300 may be externally simultaneously. Sometimes it can't be sent over the network.
- the processor 100 may transmit data generated in the normal world 200 to the secure world 300, generate a packet in the secure world 300, and transmit the packet to the external network.
- the processor 100 when data is generated in the normal world 200 (511), the processor 100 generates a normal packet corresponding to the generated data using the TCP / IP module 220. In operation 512, the normal packet generated using the network driver 210 may be transmitted to the external network in operation 513. Meanwhile, when it is determined that the data has been generated in the secure world 300 when the packet is being transmitted from the normal world 200 to the external network through the above-described process (621), the trust zone driver module The data generated in the normal world 200 may be transferred to the secure world 300 using the 230 and the monitor module 330 (615).
- the processor 100 may apply the normal packet and the secure world 300 data corresponding to the normal world 200 data in the order in which the normal world 200 data and the secure world 300 data arrive at the TCP / IP module 320.
- the corresponding secure packet may be generated (622).
- the processor 100 may transmit the packet to the external network according to the generated order using the network driver module 310 (623).
- the network hardware device may correspond to each of the normal world 200 and the secure world 300. There may be a plurality. For example, when there are a plurality of network hardware (not shown) that the secure network system 1000 can use, the normal world 200 and the secure world 300 may each use separate network hardware (not shown). In this case, the TCP / IP module 220 and the network driver module 210 of each world may process only data generated in the corresponding world.
- FIG. 6 is a view for explaining a UI change according to an operating system change of the security network system 1000 according to an exemplary embodiment.
- an operating system of the normal world 200 is OS A
- an operating system of the secure world 300 is OS B
- an electronic device eg, a mobile phone, PDA, PC, etc.
- the processor 100 terminates OS A when the GUI 611 for switching from the UI 610 corresponding to the operation of the OS A of the normal world 200 to the secure world 300 is touched.
- the operating system OS B of the secure world 300 may be driven.
- the processor 100 may control a display (not shown) of the electronic device 600 such that the UI 620 corresponding to the operation of OS B is displayed.
- the processor 100 terminates the OS B.
- OS A which is an operating system of the normal world 200 may be driven.
- the processor 100 may control a display (not shown) of the electronic device 600 such that the UI 610 corresponding to the operation of OS A is displayed.
- FIG. 7 is a flowchart illustrating a data processing method of the security network system 1000 according to an exemplary embodiment.
- a packet is received in an external network using the network driver module 310 of the secure world 300 (S710), and if the received packet is used in the secure world 300 (S720-Y), the secure world ( Extract the data of the packet using the TCP / IP module 320 of 300, using the data of the packet in the secure world (300) (S730), if the packet is not used in the secure world (300) (S720) -N), the data of the packet may be extracted using the TCP / IP module 320 of the secure world 300 to use the data of the packet in the normal world 200 (S740).
- the step of using the data of the packet may include extracting data of the packet using the TCP / IP module 320 of the secure world 300 unless the packet is used in the secure world 300.
- the extracted data may be transferred to the normal world 200.
- the data processing method may further include determining whether the packet is used in the secure world 300 according to field information of the packet header.
- the secure world 300 may include a network server module 340 that is responsible for data communication in the secure world 300 and manages the data of the packet.
- the method when data is generated in the secure world 300, generating a security packet corresponding to the generated data using the TCP / IP module 320 of the secure world 300 and the secure world 300.
- the method may further include transmitting a security packet to an external network by using the network driver module 310 of the.
- the method when data is generated in the normal world 200, generating a normal packet corresponding to the generated data using the TCP / IP module 220 of the normal world 200 and the normal world 200.
- the method may further include transmitting a normal packet to an external network by using the network driver module 310 of the.
- the data generated in the normal world 200 and the data generated in the secure world 300 are secured.
- the method may further include transmitting together to an external network using the TCP / IP module 320 and the network driver module 310 of the world 300.
- the security network system 1000 may include a first processor 110 operating in correspondence with the normal world 200 and a second processor 120 operating in correspondence with the secure world 300. ) May be included.
- the first processor 110 may execute a non-secure operation, and the second processor 120 may perform a secure operation.
- the second processor 110 may be isolated for access from the outside and may be protected from unauthorized control of the first processor 120.
- the security network system 1000 has been described above.
- the secure network system 1000 may be implemented with at least one processor or may be implemented in a System on Chip (SoC) and embedded form.
- SoC System on Chip
- the secure network system 1000 may be implemented as an independent electronic device.
- it can be implemented as a mobile phone, a PMP, a PDA, an MP3, an electronic pad, a notebook, a TV, a PC, and the like.
- a detailed configuration of the network system 1000 when the mobile phone is implemented will be described in detail with reference to FIG. 9.
- FIG. 9 is a block diagram illustrating an example of a detailed configuration of a network system 1000 implemented as a mobile phone.
- the mobile phone 900 will be described for convenience of description.
- the mobile phone 900 may include a display 910, a communication unit 920, a control unit 930, and a storage unit 940.
- the controller 930 is a component for controlling the overall operation of the mobile phone 900 by using various programs stored in the storage 940.
- the controller 930 includes a RAM 931, a ROM 932, a main CPU 933, a graphics processor 934, and first to n-th interfaces 935-1 to 935-n. .
- the RAM 931, the ROM 932, the main CPU 933, the graphics processor 934, the first to nth interfaces 935-1 to 935-n, and the like may be connected to each other through the bus 936.
- the first to n interfaces 935-1 to 935-n are connected to various components described above.
- One of the interfaces may be a network interface connected to an external device via a network.
- the main CPU 933 may access the storage 940 and perform booting using the O / S and the ROM 932 corresponding to the normal world 200 stored in the storage 940.
- the main CPU 933 loads and stores various modules stored in the storage unit 940 in the RAM 931, and performs various functions of the normal world 200 using the stored modules. can do.
- the main CPU 933 may switch from the normal world 200 to the secure world 300 in response to a user operation, and at this time, the data of the normal world 200 state may be stored in the storage unit 940.
- the secure world 300 data pre-stored in the storage unit 940 may be loaded and stored in the RAM 931. Through this, the main CPU 933 may operate as the secure world 300.
- the main CPU 933 may perform various operations using various programs, contents, data, and the like stored in the storage 940.
- the main CPU 933 may play a role corresponding to the processor mentioned in the aforementioned various embodiments.
- the ROM 932 stores a command set for system booting.
- the main CPU 933 copies the O / S stored in the storage unit 940 to the RAM 931 according to the command stored in the ROM 932 and executes O / S. Boot the system.
- the main CPU 933 copies various application programs stored in the storage unit 940 to the RAM 931, and executes the application programs copied to the RAM 931 to perform various operations.
- the graphic processor 934 generates a screen including various objects such as an icon, an image, and a text using a calculator (not shown) and a renderer (not shown).
- An operation unit (not shown) calculates attribute values such as coordinate values, shapes, sizes, colors, and the like in which objects are displayed according to the layout of the screen based on the received control command.
- the renderer generates a screen having various layouts including objects based on the attribute values calculated by the calculator.
- the screen generated by the renderer (not shown) is displayed on the display 910.
- the graphic processor 934 also performs UI rendering as described with reference to FIG. 6. Specifically, when the main CPU 933 changes the OS, the graphic processor 934 configures the layout screen of the changed OS using the graphic data corresponding to the changed OS and displays the changed screen on the display 910.
- the above-described operation of the controller 930 may be performed by a program stored in the storage 940.
- the storage unit 940 may store various data such as an operating system (O / S) software module for driving the mobile phone 900 and various multimedia contents.
- O / S operating system
- the storage unit 940 may include a network driver module 210, a TCP / IP module 220, a trust zone driver module 230, an application module 240, and a secure world 300 corresponding to the normal world 200.
- the network driver module 310, the TCP / IP module 320, the monitor module 330, the network server module 340, and the application module 350 are stored in separate memory areas.
- data of a module stored in a storage area corresponding to each world may be separately provided.
- Display 910 displays an image generated by the operating system and the application.
- the display 910 may display various screens generated by the graphic processor 943.
- the display 910 may be implemented as a liquid crystal display (LCD), an organic light emitting diode (OLED), or the like.
- the communication unit 920 communicates with an external electronic device (not shown).
- the communication unit 920 is a variety of communication methods such as BT (BlueTooth), WI-FI (Wireless Fidelity), Zigbee, IR (Infrared), Serial Interface, Universal Serial Bus (USB), Near Field Communication (NFC), etc. Communication with an external electronic device (not shown) may be performed.
- the security network system and its data processing method may be applied to various types of electronic devices.
- a program for performing such a data processing method may be stored in any computer readable recording medium and provided to various electronic devices.
- TCP / IP For example, receiving a packet in an external network using the network driver module 210 of the secure world 300, and if the received packet is used in the secure world 300, the TCP / IP of the secure world 300. Extracting the data of the packet using the module 320, using the data of the packet in the secure world 300, and if the packet is not used in the secure world 300, TCP / IP module of the secure world 300 A computer readable recording medium storing a program for extracting data of the packet using the 320 and using the data of the packet in the normal world 200 may be provided.
- the computer-readable recording medium refers to a medium that stores data semi-permanently and is read by a device, not a medium storing data for a short time such as a register, a cache, a memory, and the like.
- the various applications or modules described above may be stored and provided in a computer-readable recording medium such as a CD, a DVD, a hard disk, a Blu-ray disk, a USB, a memory card, a ROM, and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
보안 네트워크 시스템이 개시된다. 보안 네트워크 시스템은 노멀 월드(normal world) 및 시큐어 월드(secure world) 중 하나로 선택적으로 동작 가능한 프로세서를 포함하며, 프로세서는 시큐어 월드의 네트워크 드라이버 모듈을 이용하여 외부 네트워크에서 패킷을 수신하고, 외부 네트워크에서 수신된 패킷이 시큐어 월드에서 사용되는 것이면, 시큐어 월드의 TCP/IP 모듈을 이용하여 패킷의 데이터를 추출하고, 시큐어 월드에서 패킷의 데이터를 이용하며, 패킷이 시큐어 월드에서 사용되는 것이 아니면, 시큐어 월드의 TCP/IP 모듈을 이용하여 패킷의 데이터를 추출하여 노멀 월드로 패킷의 데이터를 전달한다.
Description
본 발명은 보안 네트워크 시스템 및 그 데이터 처리 방법에 관한 것으로, 더욱 상세하게는 보안 영역을 이용하여 보안성을 향상시키는 보안 네트워크 시스템 및 그 데이터 처리 방법에 관한 것이다.
전자 기술의 발달에 힘입어 다양한 유형의 전자 장치가 개발 및 보급되고 있다. 또한, 전자 장치의 사용에 있어서 보안성을 향상시키기 위한 노력도 지속적으로 이루어지고 있다.
그러한 노력에 의해 개발된 시스템 중 하나로, 보안성을 향상시키기 위해서, 비 보안 영역 이외에 별도의 보안 영역을 함께 구비한 시스템도 사용되고 있다.
하지만, 이러한 시스템을 사용한다고 하더라도, 비보안 영역에서 제3자에 의한 데이터 변조가 용이하게 일어날 수 있다. 따라서, 여전히 보안성이 취약하다는 문제점이 있었다.
이에 따라, 보안성을 강화시킬 수 있는 보안 네트워크 시스템에 대한 필요성이 대두되었다.
본 발명은 상기와 같은 필요성에 따라 안출된 것으로서, 본 발명의 목적은, 보안성이 향상된 보안 네트워크 시스템 및 그 데이터 처리 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 보안 네트워크 시스템은, 노멀 월드(normal world) 및 시큐어 월드(secure world) 중 하나로 선택적으로 동작 가능한 프로세서를 포함하며, 프로세서는 시큐어 월드의 네트워크 드라이버 모듈을 이용하여 외부 네트워크에서 패킷을 수신하고, 외부 네트워크에서 수신된 패킷이 시큐어 월드에서 사용되는 것이면, 시큐어 월드의 TCP/IP 모듈을 이용하여 패킷의 데이터를 추출하고, 시큐어 월드에서 패킷의 데이터를 이용하며, 패킷이 시큐어 월드에서 사용되는 것이 아니면, 시큐어 월드의 TCP/IP 모듈을 이용하여 패킷의 데이터를 추출하여 노멀 월드로 패킷의 데이터를 전달할 수 있다.
여기서, 프로세서는 패킷의 패킷 헤더에 포함된 필드 정보를 이용하여, 패킷이 시큐어 월드에서 사용되는 것인지 여부를 판단할 수 있다.
또한, 시큐어 월드는 시큐어 월드 내의 데이터 통신을 담당하며, 패킷의 데이터를 통합 관리하는 네트워크 서버 모듈을 포함할 수 있다.
또한, 프로세서는 시큐어 월드에서 데이터가 생성되면, 시큐어 월드의 TCP/IP 모듈을 이용하여 생성된 데이터에 대응되는 시큐어 패킷을 생성하고, 시큐어 월드의 네트워크 드라이버 모듈을 이용하여 시큐어 패킷을 외부 네트워크로 전송할 수 있다.
또한, 프로세서는 노멀 월드에서 데이터가 생성되면, 노멀 월드의 TCP/IP 모듈을 이용하여 생성된 데이터에 대응되는 노멀 패킷을 생성하고, 노멀 월드의 네트워크 드라이버 모듈을 이용하여 노멀 패킷을 외부 네트워크로 전송할 수 있다.
또한, 프로세서는 노멀 월드에서의 데이터 전송 및 시큐어 월드에서의 데이터 전송이 각각 요청되면, 노멀 월드에서 생성된 데이터 및 시큐어 월드에서 생성된 데이터를 시큐어 월드의 TCP/IP 모듈 및 네트워크 드라이버 모듈을 이용하여 함께 외부 네트워크로 전송할 수 있다.
한편, 노멀 월드 및 시큐어 월드로 구성된 보안 네트워크 시스템의 데이터 처리 방법은 시큐어 월드의 네트워크 드라이버 모듈을 이용하여 외부 네트워크에서 패킷을 수신하는 단계, 수신된 패킷이 시큐어 월드에서 사용되는 것이면, 시큐어 월드의 TCP/IP 모듈을 이용하여 패킷의 데이터를 추출하고, 시큐어 월드에서 패킷의 데이터를 이용하는 단계 및 패킷이 시큐어 월드에서 사용되는 것이 아니면, 시큐어 월드의 TCP/IP 모듈을 이용하여 패킷의 데이터를 추출하여 노멀 월드에서 상기 패킷의 데이터를 이용하는 단계를 포함할 수 있다.
여기서, 노멀 월드에서 패킷의 데이터를 이용하는 단계는 패킷이 시큐어 월드에서 사용되는 것이 아니면, 시큐어 월드의 TCP/IP 모듈을 이용하여 패킷의 데이터를 추출하는 단계 및 시큐어 월드의 모니터 모듈에서, 추출된 데이터를 노멀 월드로 전달하는 단계를 포함할 수 있다.
또한, 패킷 헤더의 필드 정보에 따라 상기 패킷이 상기 시큐어 월드에서 사용되는 것인지 여부를 판단하는 단계를 더 포함할 수 있다.
또한, 시큐어 월드는 시큐어 월드 내의 데이터 통신을 담당하며, 패킷의 데이터를 통합 관리하는 네트워크 서버 모듈을 포함할 수 있다.
또한, 시큐어 월드에서 데이터가 생성되면, 시큐어 월드의 TCP/IP 모듈을 이용하여 생성된 데이터에 대응되는 보안 패킷을 생성하는 단계 및 시큐어 월드의 네트워크 드라이버 모듈을 이용하여 보안 패킷을 외부 네트워크로 전송하는 단계를 더 포함할 수 있다.
또한, 노멀 월드에서 데이터가 생성되면 노멀 월드의 TCP/IP 모듈을 이용하여 생성된 데이터에 대응되는 노멀 패킷을 생성하는 단계 및 노멀 월드의 네트워크 드라이버 모듈을 이용하여 노멀 패킷을 외부 네트워크로 전송하는 단계를 더 포함할 수 있다
또한, 노멀 월드에서의 데이터 전송 및 시큐어 월드에서의 데이터 전송이 각각 요청되면, 노멀 월드에서 생성된 데이터 및 시큐어 월드에서 생성된 데이터를 시큐어 월드의 TCP/IP 모듈 및 네트워크 드라이버 모듈을 이용하여 함께 외부 네트워크로 전송하는 단계를 더 포함할 수 있다.
한편, 노멀 월드 및 시큐어 월드로 구성된 보안 네트워크 시스템의 데이터 처리 방법을 실행하기 위한 프로그램이 기록된 컴퓨터 판독가능 기록매체에는 시큐어 월드의 네트워크 드라이버 모듈을 이용하여 외부 네트워크에서 패킷을 수신하는 단계, 수신된 패킷이 시큐어 월드에서 사용되는 것이면, 시큐어 월드의 TCP/IP 모듈을 이용하여 패킷의 데이터를 추출하고, 시큐어 월드에서 상기 패킷의 데이터를 이용하는 단계 및 패킷이 시큐어 월드에서 사용되는 것이 아니면, 시큐어 월드의 TCP/IP 모듈을 이용하여 패킷의 데이터를 추출하여 노멀 월드에서 패킷의 데이터를 이용하는 단계를 실행하는 프로그램이 저장될 수 있다.
이상과 같은 본 발명의 다양한 실시 예에 따르면, 보안 네트워크 시스템의 보안성을 크게 향상시킬 수 있다.
도 1은 본 발명의 일 실시 예에 따른 보안 네트워크 시스템의 구성을 나타낸 블록도이다.
도 2는 도 1의 보안 네트워크 시스템의 세부 구성의 일 예를 나타내는 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 보안 네트워크 시스템에서 처리하는 패킷 구조의 일 예를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 보안 네트워크 시스템 내에서 데이터를 처리하는 과정을 설명하기 위한 타이밍 차트이다.
도 5는 본 발명의 다른 실시 예에 따른 보안 네트워크 시스템 내에서 데이터를 처리하는 과정을 설명하기 위한 타이밍 차트이다.
도 6은 본 발명의 일 실시 예에 따른 보안 네트워크 시스템의 운영 체제 변경에 따른 UI 변화를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시 예에 따른 보안 네트워크 시스템의 데이터 처리 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 다른 실시 예에 따른 보안 네트워크 시스템의 구성을 나타낸 블록도이다.
도 9는 본 발명의 일 실시 예에 따른 보안 네트워크 시스템의 세부 구성의 다른 예를 나타내는 블록도이다.
-
이하에서는 첨부된 도면들을 참조하여 본 발명의 일 실시 예를 보다 상세하게 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 발명의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다 하지만, 이러한 용어들은 당 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
또한, 본 발명의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
그 밖에도, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그에 대한 상세한 설명은 축약하거나 생략한다.
도 1은 본 발명의 일 실시 예에 따른 보안 네트워크 시스템(1000)의 구성을 나타낸 블록도이다.
도 1에 따르면, 보안 네트워크 시스템(1000)은 프로세서(100)를 포함한다. 프로세서(100)는 노멀 월드(normal world)(200) 및 시큐어 월드(secure world)(300) 중 하나로 선택적으로 동작 가능하다.
시큐어 월드(300)란 보안성을 확보한 데이터 처리 아키텍처를 의미하고, 노멀 월드(200)란 일반적인 데이터 처리 아키텍처를 의미한다.
일 예로, 프로세서(100)는 "ARM 트러스트존 아키텍처(ARM Trustzone Architecture)"가 사용될 수 있다. "ARM 트러스트존 아키텍처(ARM Trustzone Architecture)" 로는 마이크로 프로세스 시스템용의 ARM사(社)의 두 개로 분할된 런타임-아키텍처가 공지되어 있다. 이와 같은 런타임-아키텍처는 두 가지의 런타임 환경을 포함한다. 그 중 하나인 비보안 런타임 환경은, "노멀 존(Normal Zone)" 또는 "노멀 월드(Normal World)"로 지칭될 수 있다. 비보안 런타임 환경은 정상 운영 체제에 의해서 제어될 수 있다. 다른 하나의 런타임 환경인 보안 런타임 환경은 "트러스트 존(Trustzone)" 또는 "트러스티드 월드(TrustedWorld)" 또는 "시큐어 월드(Secure World)로 지칭될 수 있다. 보안 런타임 환경은 안전 운영체제에 의해 제어된다.
여기서, 정상 운영 체제는 예를 들어, 안드로이드, 윈도우 폰, 심비안 등과 같은 통상적인 운영 체제일 수 있으며, 안전 운영 체제는 예를 들어, MOBICORE, RedCastle 등과 같이 기존 운영 체제 내에 보안 기능이 통합된 보안 커널(security kernel)을 삽입한 운영 체제일 수 있다. ARM 트러스트 존에 따르면, 상술한 비보안 런타임 환경 및 보안 런타임 환경은 가상 실행 환경으로 정의될 수 있다.
프로세서(100)는 사용자 입력에 따라 노멀 월드(200) 및 시큐어 월드(300) 중 하나로 선택적으로 동작할 수 있다. 구체적으로는, 사용자가 노멀 월드(200)를 사용하기 위한 제1 메뉴(또는, 제1 버튼)를 선택하면 프로세서(100)는 제1 OS를 실행시키고 노멀 월드(200)로 동작한다. 반면 사용자가 시큐어 월드(300)를 사용하기 위한 제2 메뉴(또는 제2 버튼)를 선택하면 프로세서(100)는 제2 OS를 실행시키고 시큐어 월드(300)로 동작한다.
구현 예에 따라서는 제1 OS 또는 제2 OS가 디폴트로 설정이 되어 있을 수도 있다. 예를 들어, 제1 OS가 디폴트 OS로 설정되어 있다면, 보안 네트워크 시스템(1000)이 부팅되거나 기타 특정 이벤트가 도래하는 경우, 프로세서(100)는 제1 OS를 실행시키고 바로 노멀 월드(200)로 동작한다. 이러한 상태에서 사용자가 제2 메뉴(또는 제2 버튼)을 선택하면, 프로세서(100)는 제2 OS를 실행시키고 시큐어 월드(300)로 동작한다. 이후에 사용자가 제1 메뉴(또는 제1 버튼)을 선택하면, 프로세서(100)는 제1 OS를 실행시키고 다시 시큐어 월드(300)로 복귀한다.
다른 실시 예로, 프로세서(100)는 제1 OS가 실행되고 있는 경우, 제2 메뉴(또는 제2 버튼)가 선택되면, 보안 네트워크 시스템(1000)을 종료한 후 재부팅하여 제2 OS가 실행되도록 할 수도 있다.
다른 실시 예로, 프로세서(100)는 제1 OS가 실행되고 있는 상태에서, 사용자 조작이 기설정된 시간 동안 없는 경우에는, 제1 OS를 종료하고 제2 OS를 구동시킬 수 있다. 마찬가지로, 프로세서(100)는 제2 OS가 실행되고 있는 상태에서, 사용자 조작이 기설정된 시간 동안 없는 경우에는, 제2 OS를 종료하고 제1 OS를 구동시킬 수도 있다.
한편, 상술한 실시 예에서, 노멀 월드(200) 및 시큐어 월드(300)는 노멀 월드(200) 및 시큐어 월드(300) 각각에 대응되는 OS를 전제하여 실행되는 것으로 이해될 수도 있으나, 프로세서(100)는 제1 OS가 실행되는 도중에, 어플리케이션에서 보안이 요구되는 데이터를 생성한 경우, 해당 데이터를 시큐어 월드(300)로 전달하여 패킷을 생성하여, 외부 데이터와 해당 패킷을 송수신하는 것도 가능하다.
시큐어 월드(300)는 보안성을 강화하기 위하여 노멀 월드(200)와 별개로 네트워크 드라이버 모듈, TCP/IP 모듈 등과 같은 각종 소프트웨어를 포함할 수 있다. 또는 시큐어 월드(300) 자체는 노멀 월드(200)와 상이한 독립적인 하드웨어로 구현될 수도 있다. 예를 들어, 시큐어 월드(300)와 노멀 월드(200)는 서로 다른 SoC(System on Chip) 이나 서로 다른 프로세서로 구현될 수도 있다. 또는, 하나의 프로세서를 논리적으로 구분한 두 개의 영역으로 구현될 수도 있다.
도 2는 도 1의 보안 네트워크 시스템(1000)의 세부 구성의 일 예를 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 보안 네트워크 시스템(1000)은 노멀 월드(200) 및 시큐어 월드(300)를 포함할 수 있다.
노멀 월드(200)는 네트워크 드라이버 모듈(210), TCP/IP 모듈(220), 트러스트 존(trust zone) 드라이버 모듈(230) 및 어플리케이션 모듈(240)을 포함할 수 있다.
네트워크 드라이버 모듈(110)은 외부 네트워크로부터 패킷을 받아들이는 네트워크 하드웨어 장치(미도시)를 제어하기 위한 소프트웨어일 수 있다. 패킷은 일 예로, 헤더와 페이로드 데이터(payload data)를 포함할 수 있다. 헤더는 패킷의 전달 경로, 타임 스탬프 등 패킷의 전송에 관련된 정보를 포함하는 데이터이며, 페이로드 데이터는 패킷 전송의 근본적인 목적이 되며, 실질적인 내용을 포함하고 있는 데이터이다.
TCP/IP 모듈(220)은 인터넷 네트워크 프로토콜로 이루어진 소프트웨어일 수 있다. 프로세서(100)는 TCP/IP 모듈(220)을 이용하여 패킷으로부터 페이로드를 추출하거나 반대로, 페이로드 데이터에 헤더를 부가하여 패킷을 생성할 수 있다. 여기서, TCP/IP는 패킷 통신 방식의 인터넷 프로토콜인 IP와 전송 조절 프로토콜인 TCP로 이루어져 있다. IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있다. TCP는 IP 위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고, 보낸 순서대로 받게 해준다.
트러스트 존 드라이버 모듈(230)은 노멀 월드(200) 환경에 포함되어, 노멀 월드(200) 및 시큐어 월드(300) 간 데이터를 송수신하기 위한 소프트웨어일 수 있다. 프로세서(100)는 트러스트 존(trust zone) 드라이버 모듈(230)을 이용하여, 노멀 월드(200)의 어플리케이션 모듈(230)로부터 전달받은 데이터를 시큐어 월드(300)로 전달하거나, 시큐어 월드(300)로부터 데이터를 전달받아 노멀 월드(200)의 어플리케이션 모듈(230)로 전달할 수 있다.
어플리케이션 모듈(240)은 특정 기능을 가지는 어플리케이션을 실행하여 다른 모듈로부터 전달받은 데이터를 이용하거나 새로운 데이터를 생성하는 소프트웨어일 수 있다.
한편, 시큐어 월드(300)는 네트워크 드라이버 모듈(310), TCP/IP 모듈(320), 모니터 모듈(330) 및 어플리케이션 모듈(350)을 포함할 수 있다. 여기서, 네트워크 드라이버 모듈(310), TCP/IP 모듈(320) 및 어플리케이션 모듈(350)은 노멀 월드(200)의 네트워크 드라이버 모듈(210), TCP/IP 모듈(220) 및 어플리케이션 모듈(350)과는 별개일 수 있으나, 기능은 동일하므로 자세한 설명은 여기서 생략한다.
모니터 모듈(330)은 노멀 월드(200) 및 시큐어 월드(300)간의 인터페이스 역할을 한다. 구체적으로, 모니터 모듈(330)은 노멀 월드(200) 및 시큐어 월드(300) 사이의 통신을 담당하고 각 월드 간의 프로세스를 전환하기 위한 소프트웨어일 수 있다. 프로세서(100)의 상태 전환의 일 예로, 노멀 월드(200) 상태에서 시큐어 월드(300) 상태로 전환하는 경우에 있어서, 프로세서(100)는 모니터 모듈(330)을 이용하여, 노멀 월드(200)에서의 프로세스 상태를 메모리(미도시)에 저장하는 한편, 새로운 프로세스 상태 즉, 메모리(미도시)에 기저장된 시큐어 월드(300) 상태를 복구할 수 있다.
한편, 시큐어 월드(300)는 시큐어 월드(300) 내의 데이터 통신을 담당하며, 패킷의 데이터를 통합 관리하는 네트워크 서버 모듈(340)을 포함할 수 있다.
네트워크 서버 모듈(340)은 시큐어 월드(300) 내의 구성요소들(예를 들면, 각종 모듈, 서버, 드라이버 등)에 데이터에 관한 서비스를 제공하는 소프트웨어일 수 있다.
구체적으로, 네트워크 서버 모듈(340)은 시큐어 월드(300) 내에서 어플리케이션 모듈(350) 및 다른 구성요소들(예를 들면, 각종 서버, 드라이버)과 통신을 할 수 있다. 일 예로, 네트워크 서버 모듈(340)은 시큐어 월드(300) 내에서 다른 모듈들과 IPC(interprocess communication)를 이용하여 통신할 수 있다. 여기서, IPC는 프로세스간 통신을 할 수 있도록 해주는 인터페이스의 집합을 의미하는 것으로, 네트워크 서버 모듈(340)은 IPC를 이용하여 복수의 모듈과 동시에 통신할 수 있다.
이와 함께, 네트워크 서버 모듈(340)은 패킷의 데이터를 통합 관리할 수 있다. 즉, 네트워크 서버 모듈(340)은 시큐어 월드(300) 내의 데이터 전달 흐름을 통합 관리할 수 있다. 예를 들면, 어플리케이션 모듈(350)은 네트워크 서버 모듈(340)로 데이터 전송 요청을 할 수 있다. 이때, 네트워크 서버 모듈은 메모리(미도시)에 저장된 특정 데이터를 어플리케이션 모듈(350)로 전송할 수 있다. 또는, 네트워크 서버 모듈(340)은 어플리케이션 모듈(350)로부터 특정 데이터를 외부로 전달하라는 요청을 수신한 경우, 메모리(미도시)에 저장된 해당 데이터를 TCP/IP 모듈(320)로 전달할 수 있다.
이하에서는 도 2를 참조하여, 보안 네트워크 시스템(1000) 내부에서의 데이터 흐름을 상세히 설명한다.
보안 네트워크 시스템(1000)은 외부 네트워크로부터 패킷을 수신할 때, 노멀 월드(200) 및 시큐어 월드(300)에서 이용되는 데이터 모두를 시큐어 월드(300)를 통해서 수신할 수 있다. 한편, 보안 네트워크 시스템(1000)은 외부 네트워크로 패킷을 전달할 때, 노멀 월드(200)에서 생성된 데이터에 대응되는 패킷은 노멀 월드(200) 내부에서 생성하여 직접 외부 네트워크로 전송하고, 시큐어 월드(300)에서 생성된 데이터에 대응하는 패킷은 시큐어 월드(300) 내부에서 생성하여 직접 외부 네트워크로 전송할 수 있다.
*구체적으로, 프로세서(100)는 시큐어 월드(300)의 네트워크 드라이버 모듈(310)을 이용하여 외부 네트워크에서 패킷을 수신할 수 있다. 프로세서(100)는 네트워크 드라이버 모듈(310)을 이용하여 네트워크 하드웨어(미도시)가 외부 네트워크에서 전송된 패킷을 수신하도록 제어할 수 있다. 이때, 프로세서(100)는 외부 네트워크에서 수신된 패킷이 시큐어 월드(300)에서 사용되는 것인지 판단할 수 있다. 이를 위해, 프로세서(100)는 패킷(410)의 패킷 헤더(411)에 포함된 필드 정보(413)를 이용하여, 패킷(410)이 시큐어 월드(300)에서 사용되는 것인지 여부를 판단할 수 있다. 이를 도 3을 이용하여 상세히 설명한다.
도 3은 본 발명의 일 실시 예에 따른 보안 네트워크 시스템(1000)에서 처리하는 패킷 구조의 일 예를 설명하기 위한 도면이다.
일 예로, 패킷(410)은 헤더(411)와 페이로드 데이터(412)로 구성될 수 있다. 헤더(411)는 패킷(410)의 전달 경로, 타임 스탬프 등 패킷(410)의 전송에 관련된 정보를 포함하는 데이터이며, 페이로드 데이터(412)는 패킷(410) 전송의 근본적인 목적이 되며, 실질적인 내용을 포함하고 있는 데이터이다. 패킷 헤더(411)는 해당 패킷이 시큐어 월드(300)에서 사용되는지 여부에 대한 정보를 가지는 필드(413-1)를 포함할 수 있다.
여기서, 프로세서(100)는 상술한 필드(413-1) 정보를 이용하여 패킷이 시큐어 월드(300)에서 사용되는지 여부를 판단할 수 있다. 일 예로, 프로세서(100)는 해당 필드(413-1)의 값이“0001”인 경우, 패킷(410)이 시큐어 월드(300)에서 사용되는 것으로 판단할 수 있으며, 해당 필드(413-1)의 값이 “0000”인 경우, 패킷(410)이 시큐어 월드(300)에서 사용되는 것이 아닌 것으로 판단할 수 있다.
프로세서(100)는 외부 네트워크에서 수신된 패킷이 시큐어 월드(300)에서 사용되는 것이면, 시큐어 월드(300)의 TCP/IP 모듈(320)을 이용하여 패킷의 데이터를 추출하고, 시큐어 월드(300)에서 패킷의 데이터를 이용할 수 있다. 여기서, TCP/IP 모듈(320)은 TCP/IP 스택(stack)으로 구성될 수 있다.
예를 들어, 도 2를 참조하면, 프로세서(100)는, 외부 네트워크에서 수신된 패킷이 시큐어 월드(300)에서 사용되는 것이면, 네트워크 드라이버 모듈(310)이 패킷을 TCP/IP 모듈(320)로 전송하도록 제어할 수 있다. 프로세서(100)는 TCP/IP 모듈을 이용하여, 패킷을 헤더와 페이로드 데이터로 구분하여 페이로드 데이터만을 추출할 수 있다. 프로세서(100)는 추출된 패킷의 데이터를 네트워크 서버 모듈(340)로 전송할 수 있다. 이때, 네트워크 서버 모듈(340)은 전달받은 패킷의 데이터를 통합하여 관리할 수 있다. 일 예로, 네트워크 서버 모듈(340)은 전달받은 패킷의 데이터에 대응되는 목록을 만들고, 데이터 및 데이터에 대응되는 목록을 메모리(미도시)에 저장할 수 있다. 이에 따라, 어플리케이션 모듈(305)은 네트워크 서버 모듈(340)로 특정 데이터 전송 요청을 수행하여, 패킷 데이터를 이용할 수 있다.
한편, 프로세서(100)는, 패킷이 시큐어 월드(300)에서 사용되는 것이 아니면, 시큐어 월드(300)의 TCP/IP 모듈(320)을 이용하여 패킷의 데이터를 추출하여 노멀 월드(200)로 패킷의 데이터를 전달할 수 있다.
예를 들어, 도 2을 참조하면, 프로세서(100)는, 패킷이 시큐어 월드(300)에서 사용되는 것이 아니면, TCP/IP 모듈(320)을 이용하여 추출된 패킷의 데이터를 모니터 모듈(330)로 전달할 수 있다. 다음으로, 프로세서(100)는, 모니터 모듈(330)을 이용하여 패킷의 데이터를 트러스트 존 드라이버 모듈(230)로 전달할 수 있다. 그 후, 프로세서(100)는 트러스트 존 드라이버 모듈(230)을 이용하여, 노멀 월드(200)의 어플리케이션 모듈(240)로 패킷의 데이터를 전달할 수 있다. 이를 통하여, 어플리케이션 모듈(240)은 패킷의 데이터를 이용할 수 있다. 이와 같이, 시큐어 월드(300)의 TCP/IP 모듈, 네트워크 드라이버 모듈 등을 사용하게 되면, 노멀 월드(200)에서 처리할 데이터에 대한 보안성도 크게 향상시킬 수 있다.
이상에서는 데이터를 수신하여 처리하는 동작에 대하여 설명하였으나, 데이터를 생성하여 외부로 출력하는 경우에도, 노멀 월드(200) 및 시큐어 월드(300)가 선택적으로 이용될 수 있다.
구체적으로는, 프로세서(100)는 시큐어 월드(300)에서 데이터가 생성되면, 시큐어 월드(300)의 TCP/IP 모듈(320)을 이용하여 생성된 데이터에 대응되는 시큐어 패킷을 생성하고, 시큐어 월드(300)의 네트워크 드라이버 모듈(310)을 이용하여 시큐어 패킷을 외부 네트워크로 전송할 수 있다.
예를 들어, 도 2를 참조하면, 데이터를 외부 네트워크로 전달하기 위한 요청이 어플리케이션 모듈(350)로부터 수신되면, 프로세서(100)는 네트워크 서버 모듈(340)을 이용하여, 어플리케이션 모듈(350)에서 생성된 데이터를 메모리(미도시)에 저장함과 동시에 TCP/IP 모듈(320)로 전달할 수 있다. 이때, 프로세서(100)는 시큐어 월드(300)의 TCP/IP 모듈(320)을 이용하여 데이터에 대응되는 시큐어 패킷을 생성하고, 시큐어 월드(300)의 네트워크 드라이버 모듈(310)을 이용하여 시큐어 패킷을 외부 네트워크로 전송할 수 있다.
한편, 프로세서(100)는 노멀 월드(200)에서 데이터가 생성되면, 노멀 월드(200)의 TCP/IP 모듈(220)을 이용하여 생성된 데이터에 대응되는 노멀 패킷을 생성하고, 노멀 월드(200)의 네트워크 드라이버 모듈(210)을 이용하여 노멀 패킷을 외부 네트워크로 전송할 수 있다.
예를 들어, 도 2를 참조하면, 데이터를 외부 네트워크로 전달하기 위한 요청이 어플리케이션 모듈(240)로부터 수신되면, 프로세서(100)는 해당 데이터를 TCP/IP 모듈(220)로 전달할 수 있다. 프로세서(100)는 노멀 월드(200)의 TCP/IP 모듈(220)을 이용하여, 데이터에 대응되는 노멀 패킷을 생성하고, 노멀 월드(200)의 네트워크 드라이버 모듈(210)을 이용하여 노멀 패킷을 외부 네트워크로 전송할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 보안 네트워크 시스템(1000) 내에서 데이터를 처리하는 과정을 설명하기 위한 타이밍 차트이다.
도 4를 참조하여 예를 들면, 시큐어 월드(300)가 외부 네트워크로부터 패킷을 수신하면(421), 프로세서(100)는 외부 네트워크에서 수신된 패킷이 시큐어 월드(300)에서 사용되는 패킷인지 여부를 판단할 수 있다(422). 프로세서(100)는, 해당 패킷이 시큐어 월드(300)에서 사용될 패킷이 아니라고 판단되면(422-N), 패킷으로부터 데이터를 추출한 후, 노멀 월드(200)로 전달할 수 있다(423). 이때, 프로세서(100)는 전달된 데이터를 노멀 월드(200)에서 이용할 수 있다(411). 그 후, 노멀 월드(200)에서 데이터가 생성되는 경우(412), 프로세서(100)는 생성된 데이터에 대응되는 패킷을 생성하여 외부로 전달할 수 있다(413).
한편, 프로세서(100)는, 외부 네트워크에서 수신된 패킷이 시큐어 월드(300)에서 사용되는 패킷이면(422-Y), 해당 패킷으로부터 데이터를 추출하여 이용할 수 있다(424). 그 후, 시큐어 월드(300)에서 데이터가 생성되는 경우(425), 프로세서(100)는 생성된 데이터에 대응되는 패킷을 생성하여 외부로 전달할 수 있다(426).
도 5는 본 발명의 다른 실시 예에 따른 보안 네트워크 시스템(1000) 내에서 데이터를 처리하는 과정을 설명하기 위한 타이밍 차트이다.
프로세서(100)는 노멀 월드(200)에서의 데이터 전송 및 시큐어 월드(300)에서의 데이터 전송이 각각 요청되면, 노멀 월드(200)에서 생성된 데이터 및 시큐어 월드(300)에서 생성된 데이터를 시큐어 월드(300)의 TCP/IP 모듈(320) 및 네트워크 드라이버 모듈(310)을 이용하여 함께 외부 네트워크로 전송할 수 있다.
기본적으로, 보안 네트워크 시스템(1000)은 노멀 월드(200) 및 시큐어 월드(300) 각각에서 생성된 패킷을 외부 네트워크로 전달할 때, 노멀 월드(200) 및 시큐어 월드(300) 각각에 구비된 TCP/IP 모듈(220, 320) 및 네트워크 드라이버 모듈(210, 310)을 이용할 수 있다.
그러나, 보안 네트워크 시스템(1000)이 이용 가능한 패킷 송수신 기능을 가진 네트워크 하드웨어 장치(미도시)가 단수인 경우에는 노멀 월드(200)에서 생성된 패킷 및 시큐어 월드(300)에서 생성된 패킷을 동시에 외부 네트워크로 전송할 수 없는 경우가 발생할 수 있다. 이때, 프로세서(100)는 노멀 월드(200)에서 생성된 데이터를 시큐어 월드(300)로 전송하고, 시큐어 월드(300)에서 패킷을 생성하여 외부 네트워크로 전달할 수 있다.
일 예로, 도 5를 참조하면, 프로세서(100)는, 노멀 월드(200)에서 데이터가 생성되면(511), TCP/IP 모듈(220)을 이용하여 생성된 데이터에 대응되는 노멀 패킷을 생성하고(512), 네트워크 드라이버(210)를 이용하여 생성된 노멀 패킷을 외부 네트워크로 전송할 수 있다(513). 한편, 프로세서(100)는, 상술한 과정을 거쳐 노멀 월드(200)에서 외부 네트워크로 패킷이 전송되고 있을 때, 시큐어 월드(300)에서 데이터가 생성된 것으로 판단되면(621), 트러스트 존 드라이버 모듈(230) 및 모니터 모듈(330)을 이용하여 노멀 월드(200)에서 생성된 데이터를 시큐어 월드(300)로 전달할 수 있다(615). 프로세서(100)는 노멀 월드(200) 데이터 및 시큐어 월드(300) 데이터가 TCP /IP 모듈(320)에 도착하는 순서대로 노멀 월드(200) 데이터에 대응되는 노멀 패킷 및 시큐어 월드(300) 데이터에 대응되는 시큐어 패킷을 생성할 수 있다(622). 이때, 프로세서(100)는 네트워크 드라이버 모듈(310)을 이용하여, 생성된 순서에 따라 패킷을 외부 네트워크로 전송할 수 있다(623).
상술한 내용은, 패킷 송수신 기능을 가지는 네트워크 하드웨어 장치(미도시)가 단수인 경우로 이해될 수도 있지만, 네트워크 하드웨어 장치(미도시)는 노멀 월드(200) 및 시큐어 월드(300) 각각에 대응되는 복수개일 수 있다. 일 예로, 보안 네트워크 시스템(1000)이 이용 가능한 네트워크 하드웨어(미도시)가 복수개인 경우, 노멀 월드(200) 및 시큐어 월드(300)는 각각 별개의 네트워크 하드웨어(미도시)를 이용할 수 있다. 이 경우, 각 월드의 TCP/IP 모듈(220) 및 네트워크 드라이버 모듈(210)은 해당 월드에서 생성된 데이터만을 처리할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 보안 네트워크 시스템(1000)의 운영 체제 변경에 따른 UI 변화를 설명하기 위한 도면이다.
도 6을 참조하여 예를 들면, 노멀 월드(200)의 운영 체제를 OS A, 시큐어 월드(300)의 운영 체제를 OS B라 하고, 이러한 운영 체제로 동작하는 전자 장치(예를 들면, 휴대폰, PDA, PC 등)(600)가 있다고 가정한다. 프로세서(100)는, 노멀 월드(200)의 운영 체제 OS A의 동작에 대응되는 UI(610)에서 시큐어 월드(300)로 전환되도록 하는 GUI(611)가 터치되는 경우, OS A를 종료하고, 시큐어 월드(300)의 운영 체제 OS B를 구동시킬 수 있다. 이때, 프로세서(100)는 OS B의 동작에 대응되는 UI(620)가 디스플레이되도록 전자 장치(600)의 디스플레이(미도시)를 제어할 수 있다. 반대로, 시큐어 월드(300)의 운영 체제 OS B의 동작에 대응되는 화면UI(620)에서 노멀 월드(200)로 전환되도록 하는 GUI(621)가 터치되는 경우, 프로세서(100)는 OS B를 종료하고, 노멀 월드(200)의 운영 체제인 OS A를 구동시킬 수도 있다. 이때, 프로세서(100)는 OS A의 동작에 대응되는 UI(610)가 디스플레이되도록 전자 장치(600)의 디스플레이(미도시)를 제어할 수 있다.
도 7은 본 발명의 일 실시 예에 따른 보안 네트워크 시스템(1000)의 데이터 처리 방법을 설명하기 위한 흐름도이다.
먼저, 시큐어 월드(300)의 네트워크 드라이버 모듈(310)을 이용하여 외부 네트워크에서 패킷을 수신하고(S710), 수신된 패킷이 시큐어 월드(300)에서 사용되는 것이면(S720-Y), 시큐어 월드(300)의 TCP/IP 모듈(320)을 이용하여 패킷의 데이터를 추출하고, 시큐어 월드(300)에서 패킷의 데이터를 이용하며(S730), 패킷이 시큐어 월드(300)에서 사용되는 것이 아니면(S720-N), 시큐어 월드(300)의 TCP/IP 모듈(320)을 이용하여 패킷의 데이터를 추출하여 노멀 월드(200)에서 패킷의 데이터를 이용할 수 있다(S740).
여기서, 노멀 월드(200)에서 패킷의 데이터를 이용하는 단계는, 패킷이 시큐어 월드(300)에서 사용되는 것이 아니면 시큐어 월드(300)의 TCP/IP 모듈(320)을 이용하여 패킷의 데이터를 추출하는 단계 및 시큐어 월드(300)의 모니터 모듈(330)에서, 추출된 데이터를 노멀 월드(200)로 전달하는 단계를 포함할 수 있다.
데이터 처리 방법은, 패킷 헤더의 필드 정보에 따라 패킷이 시큐어 월드(300)에서 사용되는 것인지 여부를 판단하는 단계를 더 포함할 수 있다.
여기서, 시큐어 월드(300)는, 시큐어 월드(300) 내의 데이터 통신을 담당하며, 패킷의 데이터를 통합 관리하는 네트워크 서버 모듈(340)을 포함할 수 있다.
데이터 처리 방법은, 시큐어 월드(300)에서 데이터가 생성되면, 시큐어 월드(300)의 TCP/IP 모듈(320)을 이용하여 생성된 데이터에 대응되는 보안 패킷을 생성하는 단계 및 시큐어 월드(300)의 네트워크 드라이버 모듈(310)을 이용하여 보안 패킷을 외부 네트워크로 전송하는 단계를 더 포함할 수 있다.
데이터 처리 방법은, 노멀 월드(200)에서 데이터가 생성되면, 노멀 월드(200)의 TCP/IP 모듈(220)을 이용하여 생성된 데이터에 대응되는 노멀 패킷을 생성하는 단계 및 노멀 월드(200)의 네트워크 드라이버 모듈(310)을 이용하여 노멀 패킷을 외부 네트워크로 전송하는 단계를 더 포함할 수 있다.
데이터 처리 방법은, 노멀 월드(200)에서의 데이터 전송 및 시큐어 월드(300)에서의 데이터 전송이 각각 요청되면, 노멀 월드(200)에서 생성된 데이터 및 시큐어 월드(300)에서 생성된 데이터를 시큐어 월드(300)의 TCP/IP 모듈(320) 및 네트워크 드라이버 모듈(310)을 이용하여 함께 외부 네트워크로 전송하는 단계를 더 포함할 수 있다.
도 8를 참조하면, 다른 실시 예에 따른 보안 네트워크 시스템(1000)은 노멀 월드(200)에 대응되어 동작하는 제1 프로세서(110) 및 시큐어 월드(300)에 대응되어 동작하는 제2 프로세서(120)를 포함할 수 있다. 제1 프로세서(110)는 비 보안 동작을 실행하고, 제2 프로세서(120) 보안 동작을 실행할 수 있다. 또한, 제 2 프로세서(110)는 외부로부터의 액세스에 대하여 격리될 수 있으며, 제1 프로세서(120)의 허가되지 않은 제어로부터 보호될 수 있다.
이상에서는 보안 네트워크 시스템(1000)에 관하여 설명하였다. 이러한 보안 네트워크 시스템(1000)은 적어도 하나의 프로세서로 구현될 수도 있고, SoC(System on Chip) 및 임베디드 형태로 구현될 수도 있다. 또한, 보안 네트워크 시스템(1000)은 독립적 전자 장치로 구현될 수도 있다. 예를 들면, 휴대폰, PMP, PDA, MP3, 전자 패드, 노트북, TV, PC 등으로 구현 가능하다. 이하에는, 휴대폰으로 구현된 경우의 네트워크 시스템(1000)의 세부 구성을 도 9를 참조하여 상세히 설명한다.
도 9는 휴대폰으로 구현된 네트워크 시스템(1000)의 세부 구성의 일 예를 나타내는 블록도이다. 이하에서는 설명의 편의를 위하여 휴대폰(900)으로 명명하여 설명한다.
휴대폰(900)은 디스플레이(910), 통신부(920), 제어부(930) 및 저장부(940)를 포함할 수 있다.
제어부(930)는 저장부(940)에 저장된 각종 프로그램을 이용하여 휴대폰(900)의 전반적인 동작을 제어하기 위한 구성요소이다. 도 9에 따르면, 제어부(930)는 RAM(931), ROM(932), 메인 CPU(933), 그래픽 처리부(934), 제1 내지 제n 인터페이스(935-1 ~ 935-n)을 포함한다.
RAM(931), ROM(932), 메인 CPU(933), 그래픽 처리부(934), 제1 내지 n 인터페이스(935-1 ~ 935-n) 등은 버스(936)를 통해 서로 연결될 수 있다.
제1 내지 n 인터페이스(935-1 내지 935-n)는 상술한 각종 구성요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
메인 CPU(933)는 저장부(940)에 액세스하여, 저장부(940)에 저장된 노멀 월드(200)에 대응되는 O/S 및 ROM(932)을 이용하여 부팅을 수행할 수 있다. 노멀 월드(200)로 부팅되면, 메인 CPU(933)는 저장부(940)에 저장된 각종 모듈을 불러들여 RAM(931)에 저장하고, 저장된 모듈을 이용하여 노멀 월드(200)의 각종 기능을 수행할 수 있다. 또한, 메인 CPU(933)는 사용자 조작에 대응하여 노멀 월드(200)에서 시큐어 월드(300)로 전환되어 동작할 수 있는데, 이때, 노멀 월드(200) 상태의 데이터를 저장부(940)에 저장하고, 저장부(940)에 기저장된 시큐어 월드(300) 용 데이터를 불러들여 RAM(931)에 저장할 수 있다. 이를 통하여, 메인 CPU(933)는 시큐어 월드(300)로 동작할 수 있다. 그리고, 메인 CPU(933)는 저장부(940)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다. 메인 CPU(933)는 상술한 여러 실시 예에서 언급한 프로세서에 대응되는 역할을 수행할 수 있다.
ROM(932)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(933)는 ROM(932)에 저장된 명령어에 따라 저장부(940)에 저장된 O/S를 RAM(931)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(933)는 저장부(940)에 저장된 각종 어플리케이션 프로그램을 RAM(931)에 복사하고, RAM(931)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
그래픽 처리부(934)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다. 연산부(미도시)는 수신된 제어 명령에 기초하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산한다. 렌더링부(미도시)는 연산부(미도시)에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성한다. 렌더링부(미도시)에서 생성된 화면은 디스플레이(910)에 디스플레이된다. 그래픽 처리부(934)는 도 6에서 설명한 바와 같은 UI 렌더링도 수행한다. 구체적으로는, 메인 CPU(933)가 OS를 변경하게 되면, 그래픽 처리부(934)는 변경된 OS에 대응되는 그래픽 데이터를 이용하여, 변경된 OS의 레이아웃 화면을 구성하여 디스플레이(910)에 디스플레이한다.
한편, 상술한 제어부(930)의 동작은 저장부(940)에 저장된 프로그램에 의해 이루어질 수 있다.
저장부(940)는 휴대폰(900)을 구동시키기 위한 O/S(Operating System) 소프트웨어 모듈, 각종 멀티미디어 컨텐츠와 같은 다양한 데이터를 저장할 수 있다.
특히, 저장부(940)는, 노멀 월드(200)에 대응되는 네트워크 드라이버 모듈(210), TCP/IP 모듈(220), 트러스트 존 드라이버 모듈(230) 및 어플리케이션 모듈(240)과 시큐어 월드(300)에 대응되는 네트워크 드라이버 모듈(310), TCP/IP 모듈(320), 모니터 모듈(330), 네트워크 서버 모듈(340) 및 어플리케이션 모듈(350)을 별개 메모리 영역에 저장하여, 제어부(930)가 노멀 월드(200) 및 시큐어 월드(300) 각각으로 동작할 때, 각 월드에 대응되는 저장 영역에 저장된 모듈의 데이터를 별개로 제공할 수 있다.
디스플레이(910)는 운영체제 및 어플리케이션에 의해 생성되는 이미지를 디스플레이한다. 구체적으로, 디스플레이(910)는 그래픽 처리부(943)에서 생성된 다양한 화면을 디스플레이할 수 있다. 이를 위해 디스플레이(910)는 액정 표시 장치(Liquid Crystal Display, LCD), 유기 전기 발광 다이오드(Organic Light Emitting Display, OLED) 등으로 구현될 수 있다.
통신부(920)는 외부 전자 장치(미도시)와 통신을 수행한다. 여기서, 통신부(920)는 BT(BlueTooth), WI-FI(Wireless Fidelity), Zigbee, IR(Infrared), Serial Interface, USB(Universal Serial Bus), NFC(Near Field Communication) 등과 같은 다양한 통신 방식을 통해 외부 전자 장치(미도시)와 통신을 수행할 수 있다.
이상 설명한 바와 같이 본 발명의 다양한 실시 예에 따른 보안 네트워크 시스템 및 그 데이터 처리 방법은 다양한 형태의 전자 장치에 적용될 수 있다. 또한, 이러한 데이터 처리 방법을 수행하기 위한 프로그램은 임의의 컴퓨터 판독 가능 기록 매체에 저장되어, 각종 전자 장치로 제공될 수도 있다.
일 예로, 시큐어 월드(300)의 네트워크 드라이버 모듈(210)을 이용하여 외부 네트워크에서 패킷을 수신하는 단계, 수신된 패킷이 시큐어 월드(300)에서 사용되는 것이면, 시큐어 월드(300)의 TCP/IP 모듈(320)을 이용하여 패킷의 데이터를 추출하고, 시큐어 월드(300)에서 패킷의 데이터를 이용하는 단계 및 패킷이 시큐어 월드(300)에서 사용되는 것이 아니면, 시큐어 월드(300)의 TCP/IP 모듈(320)을 이용하여 패킷의 데이터를 추출하여 노멀 월드(200)에서 패킷의 데이터를 이용하는 단계를 수행하는 프로그램이 저장된 컴퓨터 판독가능 기록매체가 제공될 수 있다.
여기서, 컴퓨터 판독가능 기록매체란, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 모듈들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 컴퓨터 판독가능 기록매체에 저장되어 제공될 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
-
-
Claims (14)
- 보안 네트워크 시스템에 있어서,노멀 월드(normal world) 및 시큐어 월드(secure world) 중 하나로 선택적으로 동작 가능한 프로세서;를 포함하며,상기 프로세서는,상기 시큐어 월드의 네트워크 드라이버 모듈을 이용하여 외부 네트워크에서 패킷을 수신하고,상기 외부 네트워크에서 수신된 패킷이 상기 시큐어 월드에서 사용되는 것이면, 상기 시큐어 월드의 TCP/IP 모듈을 이용하여 상기 패킷의 데이터를 추출하고, 상기 시큐어 월드에서 상기 패킷의 데이터를 이용하며,상기 패킷이 상기 시큐어 월드에서 사용되는 것이 아니면, 상기 시큐어 월드의 TCP/IP 모듈을 이용하여 상기 패킷의 데이터를 추출하여 상기 노멀 월드로 상기 패킷의 데이터를 전달하는, 보안 네트워크 시스템.
- 제1항에 있어서,상기 프로세서는,상기 패킷의 패킷 헤더에 포함된 필드 정보를 이용하여, 상기 패킷이 상기 시큐어 월드에서 사용되는 것인지 여부를 판단하는, 보안 네트워크 시스템.
- 제1항에 있어서,상기 시큐어 월드는,상기 시큐어 월드 내의 데이터 통신을 담당하며, 상기 패킷의 데이터를 통합 관리하는 네트워크 서버 모듈을 포함하는, 보안 네트워크 시스템.
- 제1항에 있어서,상기 프로세서는,상기 시큐어 월드에서 데이터가 생성되면, 상기 시큐어 월드의 TCP/IP 모듈을 이용하여 상기 생성된 데이터에 대응되는 시큐어 패킷을 생성하고, 상기 시큐어 월드의 네트워크 드라이버 모듈을 이용하여 상기 시큐어 패킷을 상기 외부 네트워크로 전송하는, 보안 네트워크 시스템.
- 제4항에 있어서,상기 프로세서는,상기 노멀 월드에서 데이터가 생성되면, 상기 노멀 월드의 TCP/IP 모듈을 이용하여 상기 생성된 데이터에 대응되는 노멀 패킷을 생성하고, 상기 노멀 월드의 네트워크 드라이버 모듈을 이용하여 상기 노멀 패킷을 상기 외부 네트워크로 전송하는, 보안 네트워크 시스템.
- 제5항에 있어서,상기 프로세서는,상기 노멀 월드에서의 데이터 전송 및 상기 시큐어 월드에서의 데이터 전송이 각각 요청되면, 상기 노멀 월드에서 생성된 데이터 및 상기 시큐어 월드에서 생성된 데이터를 상기 시큐어 월드의 TCP/IP 모듈 및 네트워크 드라이버 모듈을 이용하여 함께 상기 외부 네트워크로 전송하는, 보안 네트워크 시스템.
- 노멀 월드(normal world) 및 시큐어 월드(secure world) 중 하나로 선택적으로 동작하는 보안 네트워크 시스템의 데이터 처리 방법에 있어서,상기 시큐어 월드의 네트워크 드라이버 모듈을 이용하여 외부 네트워크에서 패킷을 수신하는 단계;상기 수신된 패킷이 상기 시큐어 월드에서 사용되는 것이면, 상기 시큐어 월드의 TCP/IP 모듈을 이용하여 상기 패킷의 데이터를 추출하고, 상기 시큐어 월드에서 상기 패킷의 데이터를 이용하는 단계; 및상기 패킷이 상기 시큐어 월드에서 사용되는 것이 아니면, 상기 시큐어 월드의 TCP/IP 모듈을 이용하여 상기 패킷의 데이터를 추출하여 상기 노멀 월드에서 상기 패킷의 데이터를 이용하는 단계;를 포함하는, 데이터 처리 방법.
- 제7항에 있어서,상기 노멀 월드에서 상기 패킷의 데이터를 이용하는 단계는,상기 패킷이 상기 시큐어 월드에서 사용되는 것이 아니면, 상기 시큐어 월드의 TCP/IP 모듈을 이용하여 상기 패킷의 데이터를 추출하는 단계; 및상기 시큐어 월드의 모니터 모듈에서, 상기 추출된 데이터를 상기 노멀 월드로 전달하는 단계;를 포함하는 데이터 처리 방법.
- 제7항에 있어서,상기 패킷 헤더의 필드 정보에 따라 상기 패킷이 상기 시큐어 월드에서 사용되는 것인지 여부를 판단하는 단계;를 더 포함하는 데이터 처리 방법.
- 제7항에 있어서,상기 시큐어 월드는,상기 시큐어 월드 내의 데이터 통신을 담당하며, 상기 패킷의 데이터를 통합 관리하는 네트워크 서버 모듈을 포함하는, 데이터 처리 방법.
- 제7항에 있어서,상기 시큐어 월드에서 데이터가 생성되면, 상기 시큐어 월드의 TCP/IP 모듈을 이용하여 상기 생성된 데이터에 대응되는 보안 패킷을 생성하는 단계; 및상기 시큐어 월드의 네트워크 드라이버 모듈을 이용하여 상기 보안 패킷을 상기 외부 네트워크로 전송하는 단계;를 더 포함하는 데이터 처리 방법.
- 제11항에 있어서,상기 노멀 월드에서 데이터가 생성되면, 상기 노멀 월드의 TCP/IP 모듈을 이용하여 상기 생성된 데이터에 대응되는 노멀 패킷을 생성하는 단계; 및상기 노멀 월드의 네트워크 드라이버 모듈을 이용하여 상기 노멀 패킷을 상기 외부 네트워크로 전송하는 단계;를 더 포함하는 데이터 처리 방법.
- 제12항에 있어서,상기 노멀 월드에서의 데이터 전송 및 상기 시큐어 월드에서의 데이터 전송이 각각 요청되면, 상기 노멀 월드에서 생성된 데이터 및 상기 시큐어 월드에서 생성된 데이터를 상기 시큐어 월드의 TCP/IP 모듈 및 네트워크 드라이버 모듈을 이용하여 함께 상기 외부 네트워크로 전송하는 단계;를 더 포함하는 데이터 처리 방법.
- 노멀 월드(normal world) 및 시큐어 월드(secure world)로 구성된 보안 네트워크 시스템의 데이터 처리 방법을 실행하기 위한 프로그램이 기록된 컴퓨터 판독가능 기록매체에 있어서,상기 프로그램은,상기 시큐어 월드의 네트워크 드라이버 모듈을 이용하여 외부 네트워크에서 패킷을 수신하는 단계;상기 수신된 패킷이 상기 시큐어 월드에서 사용되는 것이면, 상기 시큐어 월드의 TCP/IP 모듈을 이용하여 상기 패킷의 데이터를 추출하고, 상기 시큐어 월드에서 상기 패킷의 데이터를 이용하는 단계; 및상기 패킷이 상기 시큐어 월드에서 사용되는 것이 아니면, 상기 시큐어 월드의 TCP/IP 모듈을 이용하여 상기 패킷의 데이터를 추출하여 상기 노멀 월드에서 상기 패킷의 데이터를 이용하는 단계;를 실행하는, 컴퓨터 판독가능 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/736,023 US10637827B2 (en) | 2015-07-27 | 2016-07-21 | Security network system and data processing method therefor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150105664A KR102411608B1 (ko) | 2015-07-27 | 2015-07-27 | 보안 네트워크 시스템 및 그 데이터 처리 방법 |
KR10-2015-0105664 | 2015-07-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017018719A1 true WO2017018719A1 (ko) | 2017-02-02 |
Family
ID=57885163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2016/007958 WO2017018719A1 (ko) | 2015-07-27 | 2016-07-21 | 보안 네트워크 시스템 및 그 데이터 처리 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10637827B2 (ko) |
KR (1) | KR102411608B1 (ko) |
WO (1) | WO2017018719A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102514062B1 (ko) | 2018-02-27 | 2023-03-24 | 삼성전자주식회사 | 트러스트존 그래픽 렌더링 방법 및 그에 따른 디스플레이 장치 |
KR102236761B1 (ko) | 2020-12-22 | 2021-04-06 | 주식회사 유니온플레이스 | 사물 인터넷 장치, 사물 인터넷 장치 관리 시스템 및 사물 인터넷 장치를 관리하는 방법 |
KR102377265B1 (ko) | 2021-09-29 | 2022-03-22 | 주식회사 유니온플레이스 | 네트워크 내의 장치 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090026846A (ko) * | 2007-09-11 | 2009-03-16 | (주)기가바이트씨앤씨 | 이원화된 독립적 환경을 통한 내외부망 분리 장치 및 그제어 방법 |
US20090132776A1 (en) * | 2006-04-24 | 2009-05-21 | Nobukazu Kurauchi | Data processing device, data processing method, data processing program, recording medium containing the data processing program and intergrated circuit |
KR20120016482A (ko) * | 2010-08-16 | 2012-02-24 | 소프트캠프(주) | 보안영역 데이터의 반출 제어시스템과 그 제어방법 |
KR20140027580A (ko) * | 2012-07-06 | 2014-03-07 | 에스케이플래닛 주식회사 | 온라인 서비스에서의 보안 입력을 위한 방법, 이를 위한 장치 및 기록 매체 |
US20150089246A1 (en) * | 2013-09-20 | 2015-03-26 | Kabushiki Kaisha Toshiba | Information processing apparatus and computer program product |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6470386B1 (en) | 1997-09-26 | 2002-10-22 | Worldcom, Inc. | Integrated proxy interface for web based telecommunications management tools |
US20120084566A1 (en) | 2010-10-04 | 2012-04-05 | Edward Chin | Methods and systems for providing and controlling cryptographic secure communications across unsecured networks |
US8959363B2 (en) | 2010-06-03 | 2015-02-17 | Intel Corporation | Systems, methods, and apparatus to virtualize TPM accesses |
DE102011116489A1 (de) | 2011-10-20 | 2013-04-25 | Giesecke & Devrient Gmbh | Mobiles Endgerät, Transaktionsterminal und Verfahren zur Durchführung einer Transaktion an einem Transaktionsterminal mittels eines mobilen Endgeräts |
KR20140129716A (ko) | 2013-04-30 | 2014-11-07 | 킹스정보통신(주) | 클라우드 컴퓨팅 환경에서 클라우드 서버의 스토리지 보안 시스템 및 그 방법 |
US9071971B2 (en) | 2013-07-24 | 2015-06-30 | Cellco Partnership | Adaptive and context based NFC access control filtering |
US20150052614A1 (en) | 2013-08-19 | 2015-02-19 | International Business Machines Corporation | Virtual machine trust isolation in a cloud environment |
-
2015
- 2015-07-27 KR KR1020150105664A patent/KR102411608B1/ko active IP Right Grant
-
2016
- 2016-07-21 US US15/736,023 patent/US10637827B2/en not_active Expired - Fee Related
- 2016-07-21 WO PCT/KR2016/007958 patent/WO2017018719A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090132776A1 (en) * | 2006-04-24 | 2009-05-21 | Nobukazu Kurauchi | Data processing device, data processing method, data processing program, recording medium containing the data processing program and intergrated circuit |
KR20090026846A (ko) * | 2007-09-11 | 2009-03-16 | (주)기가바이트씨앤씨 | 이원화된 독립적 환경을 통한 내외부망 분리 장치 및 그제어 방법 |
KR20120016482A (ko) * | 2010-08-16 | 2012-02-24 | 소프트캠프(주) | 보안영역 데이터의 반출 제어시스템과 그 제어방법 |
KR20140027580A (ko) * | 2012-07-06 | 2014-03-07 | 에스케이플래닛 주식회사 | 온라인 서비스에서의 보안 입력을 위한 방법, 이를 위한 장치 및 기록 매체 |
US20150089246A1 (en) * | 2013-09-20 | 2015-03-26 | Kabushiki Kaisha Toshiba | Information processing apparatus and computer program product |
Also Published As
Publication number | Publication date |
---|---|
US20180145948A1 (en) | 2018-05-24 |
US10637827B2 (en) | 2020-04-28 |
KR20170012957A (ko) | 2017-02-06 |
KR102411608B1 (ko) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020256460A1 (en) | Apparatus and method for driving display based on frequency operation cycle set differently according to frequency | |
WO2018044071A1 (en) | Method for processing image and electronic device supporting the same | |
WO2016052940A1 (en) | User terminal device and method for controlling the user terminal device thereof | |
WO2015099295A1 (ko) | 사용자 단말 장치, 통신 시스템 및 그 제어 방법 | |
WO2013133621A1 (ko) | 이종의 운영체제를 사용하는 가상화 시스템의 전력 관리 방법 및 장치 | |
WO2014148682A1 (en) | A mobile terminal having a double-sided display and controlling method thereof | |
WO2018084482A2 (ko) | 디스플레이 장치 및 그 제어 방법 | |
WO2016148491A1 (ko) | 애플리케이션 보호 방법 및 장치 | |
US9740276B2 (en) | Electronic device and method for controlling electronic device | |
WO2017018719A1 (ko) | 보안 네트워크 시스템 및 그 데이터 처리 방법 | |
WO2015102458A1 (en) | Image data output control method and electronic device supporting the same | |
WO2016168972A1 (en) | System and method for supporting movable object application development | |
WO2015111867A1 (en) | Method of operating touch module and electronic device supporting same | |
WO2013122441A1 (en) | Method and apparatus for outputting content in portable terminal supporting secure execution environment | |
EP4298495A1 (en) | System and method for controlling operational modes for xr devices for performance optimization | |
WO2017112281A1 (en) | Secure data transfer with compute stick | |
WO2015108282A1 (ko) | 전자 장치의 광고 방법 및 그 전자 장치 | |
WO2023128656A1 (ko) | 디스플레이 장치 및 그 제어 방법 | |
WO2017107053A1 (en) | Isolated remotely-virtualized mobile computing environment | |
WO2023199145A1 (en) | Method and system for a remote console for secure kvm switch | |
WO2013133528A1 (en) | Client apparatus, client control method, server and image providing method using the server | |
WO2019083231A1 (ko) | 디스플레이장치 및 그 제어방법 | |
WO2017166809A1 (zh) | 一种数据传输方法及终端设备 | |
WO2020209561A1 (ko) | 이종 운영체제를 실행하는 전자 장치 및 그 방법 | |
WO2019139378A1 (en) | Electronic apparatus and control method thereof |
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: 16830752 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15736023 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16830752 Country of ref document: EP Kind code of ref document: A1 |