WO2024071715A1 - 네트워크 레벨을 조정하기 위한 전자 장치 및 방법 - Google Patents

네트워크 레벨을 조정하기 위한 전자 장치 및 방법 Download PDF

Info

Publication number
WO2024071715A1
WO2024071715A1 PCT/KR2023/013286 KR2023013286W WO2024071715A1 WO 2024071715 A1 WO2024071715 A1 WO 2024071715A1 KR 2023013286 W KR2023013286 W KR 2023013286W WO 2024071715 A1 WO2024071715 A1 WO 2024071715A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
protection
network level
quality
electronic device
Prior art date
Application number
PCT/KR2023/013286
Other languages
English (en)
French (fr)
Inventor
황영호
김영진
김태준
서동원
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220135281A external-priority patent/KR20240043027A/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of WO2024071715A1 publication Critical patent/WO2024071715A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • Various embodiments of the present invention relate to an electronic device and method for adjusting the network level in a virtual private network (VPN) environment.
  • VPN virtual private network
  • a VPN virtual private network
  • a VPN can be used to strengthen security during data movement between a terminal and a server or between servers.
  • a VPN may include a private communications network used by a company or several organizations to communicate over a public network without exposing its contents to the outside world.
  • an electronic device may include at least one transceiver, a memory configured to store instructions, and at least one processor operatively coupled to the at least one transceiver and the memory.
  • the at least one processor may be configured to adjust a network level for VPN when the instructions are executed.
  • the at least one processor may be configured to create a virtual private network (VPN) server and a VPN connection.
  • the at least one processor may be configured to identify a network level based on network quality for the VPN connection.
  • the at least one processor may be configured to identify a protection range corresponding to the network level among a plurality of protection ranges.
  • the at least one processor may be configured to encrypt the packet when the packet for the external electronic device is within the protection range and transmit the encrypted packet to the external electronic device through a VPN server according to the VPN connection. there is.
  • the at least one processor may be configured to transmit the packet to the external electronic device without the VPN server when the packet for the external electronic device is not within the protection range.
  • a method performed by an electronic device may include creating a VPN connection with a virtual private network (VPN) server.
  • the method may include identifying a network level based on network quality for the VPN connection.
  • the method may include identifying a protection range corresponding to the network level among a plurality of protection ranges.
  • the method may include encrypting the packet and transmitting the encrypted packet to the external electronic device through a VPN server according to the VPN connection.
  • the method may include transmitting the packet to the external electronic device without the VPN server when the packet for the external electronic device is not within the protection range.
  • a non-transitory storage medium may include memory for storing instructions.
  • the instructions when executed by at least one processor, cause the electronic device to create a VPN connection with a virtual private network (VPN) server, identify a network level based on network quality for the VPN connection, and provide a plurality of protection functions.
  • identify a protection range corresponding to the network level encrypt the packet if a packet for an external electronic device is within the protection range, and send the encrypted packet to a VPN according to the VPN connection.
  • the packet can be caused to be transmitted to the external electronic device without the VPN server.
  • 1 is a block diagram of an electronic device in a network environment.
  • VPN virtual private network
  • FIG. 3 shows an example of functional blocks of an electronic device for adjusting network levels in a VPN, according to one embodiment.
  • Figure 4 shows an example of a protection range for each network level, according to an embodiment.
  • FIG. 5 illustrates an operational flow of an electronic device for adjusting a network level in a VPN, according to an embodiment.
  • FIG. 6 illustrates an operation flow of an electronic device for split tunneling, according to an embodiment.
  • FIG. 7 illustrates an operation flow for each entity for adaptively adjusting the network level in a VPN, according to an embodiment.
  • FIG. 8 shows an example of a user interface (UI) for setting a network-level protection scope, according to an embodiment.
  • UI user interface
  • 9A and 9B show examples of UI for adjusting network level parameters, according to one embodiment.
  • Terms referring to signals used in the following description e.g. signal, information, message, signaling, notification, message
  • terms for operational states e.g. step, operation, procedure
  • Terms that refer to data e.g. packet, stream, user stream, information, bit, symbol, codeword
  • terms that refer to channels e.g. connection, path, network
  • networks e.g. connection, path, network
  • network Internet
  • terms referring to network entities e.g., client, server, node, device
  • terms referring to components of the device, etc. are exemplified for convenience of explanation. Accordingly, the present disclosure is not limited to the terms described below, and other terms having equivalent technical meaning may be used.
  • terms such as '... part', '... base', '... water', and '... body' used hereinafter mean at least one shape structure or a unit that processes a function. It can mean.
  • the expressions greater than or less than may be used to determine whether a specific condition is satisfied or fulfilled, but this is only a description for expressing an example, and the description of more or less may be used. It's not exclusion. Conditions written as ‘more than’ can be replaced with ‘more than’, conditions written as ‘less than’ can be replaced with ‘less than’, and conditions written as ‘more than and less than’ can be replaced with ‘greater than and less than’.
  • 'A' to 'B' means at least one of the elements from A to (including A) and B (including B).
  • the present disclosure relates to an electronic device and method for adaptively controlling the network level according to the current communication quality to prevent network speed from deteriorating in a VPN (virtual private network). Specifically, by setting the protection range differently depending on the network level, the electronic device and method according to embodiments of the present disclosure can provide network speed above a certain level instead of reducing the protection range even in low communication quality.
  • a technique for adjusting the network level of a VPN by configuring the network level and monitoring communication quality will be described.
  • 1 is a block diagram of an electronic device in a network environment.
  • the electronic device 101 communicates with the electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) or a second network 199. It is possible to communicate with at least one of the electronic device 104 or the server 108 through (e.g., a long-distance wireless communication network). According to one embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108.
  • a first network 198 e.g., a short-range wireless communication network
  • a second network 199 e.g., a long-distance wireless communication network.
  • the electronic device 101 may communicate with the electronic device 104 through the server 108.
  • the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or may include an antenna module 197.
  • at least one of these components eg, the connection terminal 178) may be omitted or one or more other components may be added to the electronic device 101.
  • some of these components e.g., sensor module 176, camera module 180, or antenna module 197) are integrated into one component (e.g., display module 160). It can be.
  • the processor 120 for example, executes software (e.g., program 140) to operate at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 120 stores instructions or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132. The commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
  • software e.g., program 140
  • the processor 120 stores instructions or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132.
  • the commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
  • the processor 120 includes the main processor 121 (e.g., a central processing unit or an application processor) or an auxiliary processor 123 that can operate independently or together (e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
  • the main processor 121 e.g., a central processing unit or an application processor
  • an auxiliary processor 123 e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor.
  • the electronic device 101 includes a main processor 121 and a secondary processor 123
  • the secondary processor 123 may be set to use lower power than the main processor 121 or be specialized for a designated function. You can.
  • the auxiliary processor 123 may be implemented separately from the main processor 121 or as part of it.
  • the auxiliary processor 123 may, for example, act on behalf of the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or while the main processor 121 is in an active (e.g., application execution) state. ), together with the main processor 121, at least one of the components of the electronic device 101 (e.g., the display module 160, the sensor module 176, or the communication module 190) At least some of the functions or states related to can be controlled.
  • co-processor 123 e.g., image signal processor or communication processor
  • may be implemented as part of another functionally related component e.g., camera module 180 or communication module 190. there is.
  • the auxiliary processor 123 may include a hardware structure specialized for processing artificial intelligence models.
  • Artificial intelligence models can be created through machine learning. For example, such learning may be performed in the electronic device 101 itself on which the artificial intelligence model is performed, or may be performed through a separate server (e.g., server 108).
  • Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but It is not limited.
  • An artificial intelligence model may include multiple artificial neural network layers.
  • Artificial neural networks include deep neural network (DNN), convolutional neural network (CNN), recurrent neural network (RNN), restricted boltzmann machine (RBM), belief deep network (DBN), bidirectional recurrent deep neural network (BRDNN), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the examples described above.
  • artificial intelligence models may additionally or alternatively include software structures.
  • the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101. Data may include, for example, input data or output data for software (e.g., program 140) and instructions related thereto.
  • Memory 130 may include volatile memory 132 or non-volatile memory 134.
  • the program 140 may be stored as software in the memory 130 and may include, for example, an operating system 142, middleware 144, or application 146.
  • the input module 150 may receive commands or data to be used in a component of the electronic device 101 (e.g., the processor 120) from outside the electronic device 101 (e.g., a user).
  • the input module 150 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).
  • the sound output module 155 may output sound signals to the outside of the electronic device 101.
  • the sound output module 155 may include, for example, a speaker or a receiver. Speakers can be used for general purposes such as multimedia playback or recording playback.
  • the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
  • the display module 160 can visually provide information to the outside of the electronic device 101 (eg, a user).
  • the display module 160 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling the device.
  • the display module 160 may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of force generated by the touch.
  • the audio module 170 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 101). Sound may be output through the electronic device 102 (e.g., speaker or headphone).
  • the electronic device 102 e.g., speaker or headphone
  • the sensor module 176 detects the operating state (e.g., power or temperature) of the electronic device 101 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do.
  • the sensor module 176 includes, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.
  • the interface 177 may support one or more designated protocols that can be used to connect the electronic device 101 directly or wirelessly with an external electronic device (eg, the electronic device 102).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital Card interface
  • audio interface audio interface
  • connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can perceive through tactile or kinesthetic senses.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 can capture still images and moving images.
  • the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 can manage power supplied to the electronic device 101.
  • the power management module 188 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 may supply power to at least one component of the electronic device 101.
  • the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
  • Communication module 190 is configured to provide a direct (e.g., wired) communication channel or wireless communication channel between electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108). It can support establishment and communication through established communication channels. Communication module 190 operates independently of processor 120 (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication.
  • processor 120 e.g., an application processor
  • the communication module 190 may be a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., : LAN (local area network) communication module, or power line communication module) may be included.
  • a wireless communication module 192 e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 e.g., : LAN (local area network) communication module, or power line communication module
  • the corresponding communication module is a first network 198 (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (e.g., legacy It may communicate with an external electronic device 104 through a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a 5G network, a next-generation communication network
  • the wireless communication module 192 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 to communicate within a communication network such as the first network 198 or the second network 199.
  • subscriber information e.g., International Mobile Subscriber Identifier (IMSI)
  • IMSI International Mobile Subscriber Identifier
  • the wireless communication module 192 may support 5G networks after 4G networks and next-generation communication technologies, for example, NR access technology (new radio access technology).
  • NR access technology can provide high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and access to multiple terminals (massive machine type communications (mMTC)), or ultra-reliable and low-latency (URLLC). -latency communications)) can be supported.
  • the wireless communication module 192 may support a high frequency band (eg, mmWave band), for example, to achieve a high data transmission rate.
  • a high frequency band eg, mmWave band
  • the wireless communication module 192 uses various technologies to secure performance in high frequency bands, for example, beamforming, massive array multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. It can support technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna.
  • the wireless communication module 192 may support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 104), or a network system (e.g., second network 199).
  • the wireless communication module 192 supports Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC.
  • Peak data rate e.g., 20 Gbps or more
  • loss coverage e.g., 164 dB or less
  • U-plane latency e.g., 164 dB or less
  • the antenna module 197 may transmit or receive signals or power to or from the outside (eg, an external electronic device).
  • the antenna module 197 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB).
  • the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is, for example, connected to the plurality of antennas by the communication module 190. can be selected. Signals or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna.
  • other components eg, radio frequency integrated circuit (RFIC) may be additionally formed as part of the antenna module 197.
  • RFIC radio frequency integrated circuit
  • the antenna module 197 may form a mmWave antenna module.
  • a mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.
  • a mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side)
  • peripheral devices e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • signal e.g. commands or data
  • commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199.
  • Each of the external electronic devices 102 or 104 may be of the same or different type as the electronic device 101.
  • all or part of the operations performed in the electronic device 101 may be executed in one or more of the external electronic devices 102, 104, or 108.
  • the electronic device 101 may perform the function or service instead of executing the function or service on its own.
  • one or more external electronic devices may be requested to perform at least part of the function or service.
  • One or more external electronic devices that have received the request may execute at least part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device 101.
  • the electronic device 101 may process the result as is or additionally and provide it as at least part of a response to the request.
  • cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology can be used.
  • the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
  • the external electronic device 104 may include an Internet of Things (IoT) device.
  • Server 108 may be an intelligent server using machine learning and/or neural networks.
  • the external electronic device 104 or server 108 may be included in the second network 199.
  • the electronic device 101 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
  • VPN virtual private network
  • the VPN environment 200 may include a VPN client (eg, the electronic device 101).
  • VPN is a type of security solution.
  • a VPN client a VPN can be used to protect the electronic device 101 when the electronic device 101 communicates in a location where there is a threat of network hacking.
  • the electronic device 101 sends encrypted packets to an external electronic device (e.g., VPN server 210) on the Internet network 250 via a VPN server (e.g., VPN server 210). can be transmitted to another server).
  • a VPN server e.g., VPN server 210
  • the electronic device 101 may receive encrypted packets from another electronic device through a VPN server and decrypt the received packet.
  • the electronic device 101 Since the electronic device 101 does not directly transmit packets to other electronic devices through the Internet network 250, but connects to the Internet network 250 through the VPN server 210, overhead may occur. there is. Overhead causes slowdown in internet speed. In other words, improving security and reducing Internet speed may be a trade-off relationship. To reduce the effects of reduced Internet speeds, server rerouting or split tunneling can be used.
  • Server reroute is a technique for reconfiguring a VPN connection through an optimal VPN server using multiple VPN servers (e.g., VPN server 210, VPN server 211, or VPN server 212).
  • VPN server 210 e.g., VPN server 210, VPN server 211, or VPN server 2112.
  • the status of each VPN server e.g., server load level, network status
  • the availability of each VPN server can be determined and the optimal route can be identified.
  • a check on each VPN server may be performed through a ping check of ICMP (internet control message protocol).
  • split tunneling refers to a method in which some traffic is transmitted through a VPN path and the remaining traffic is transmitted through a path other than the VPN path (hereinafter referred to as a general path).
  • a general path For split tunneling, whether or not a VPN tunnel is used can be distinguished for each packet according to rules set by a user or administrator.
  • the destination IP address, destination domain name, and transport layer port number can be used.
  • the above techniques for overcoming network bandwidth may incur overhead due to routing changes during the process of re-establishing a VPN connection.
  • the status of each server of multiple VPN servers e.g., VPN server 210, VPN server 211, or VPN server 212
  • the optimal route is determined.
  • a disconnection of the Internet connection may occur.
  • split tunneling can be used to mitigate the speed reduction of full tunneling, which encrypts the entire traffic.
  • the rules for the VPN connection can be set statically. Afterwards, it is difficult to change the rules while maintaining the VPN connection, and usability may be reduced due to the inability to flexibly adjust the scope of the VPN tunnel.
  • Embodiments of the present disclosure reduce overhead due to VPN re-establishment by dynamically resetting the protection range while maintaining the existing VPN connection according to changes in the network environment when a VPN client, that is, a terminal, connects to a VPN.
  • a technique to reduce network speed performance degradation By adaptively resetting the protection range, security can be improved and VPN efficiency can be increased. Without changing the set rules, the scope of protection can be adjusted flexibly according to changes in network quality (e.g. network speed, delay, bandwidth).
  • network quality e.g. network speed, delay, bandwidth
  • Embodiments of the present disclosure may include not only dynamic protection range setting, but also performing VPN reset or split tunneling with dynamic protection range setting.
  • An electronic device may include one or more components, and each component may be composed of one or more functional blocks.
  • Terms such as '... unit' and '... unit' used hereinafter refer to a unit that processes at least one function or operation, which can be implemented through hardware, software, or a combination of hardware and software. there is.
  • functional blocks described below may be performed by at least one processor (eg, processor 120) of the electronic device 101.
  • the electronic device 101 may include a VPN module 310, a monitoring module 320, and a network interface 330.
  • Network interface 330 illustrates interface 177 or communication module 190 of FIG. 1 .
  • the VPN module 310 may include a VPN connection management unit 311, a network level transceiver unit 312, a protection range setting unit 313, a protection range application unit 314, and a split controller unit 315.
  • the VPN connection management unit 311 can identify the VPN connection.
  • the VPN connection management unit 311 may trigger quality measurement for the network level to the monitoring module 320 in response to the VPN connection.
  • the VPN connection management unit 311 may control execution or suspension of the monitoring module 320 according to establishment/termination of the VPN connection.
  • the VPN connection management unit 311 provides profile information required for VPN connection (e.g., profile version, pre-shared key, IP (internet protocol) security (IPC) identifier, IKE (internet key exchange) port), encryption level ( It may have information on IKE proposals and ESP (encapsulating security payload) proposals).
  • profile information required for VPN connection e.g., profile version, pre-shared key, IP (internet protocol) security (IPC) identifier, IKE (internet key exchange) port), encryption level ( It may have information on IKE proposals and ESP (encapsulating security payload) proposals).
  • the network level transceiver 312 may receive information about the network level identified in the monitoring module 320.
  • the network level transceiver 312 may receive information about the network identification result of the monitoring module 320.
  • the network level transceiver 312 may receive information about the changed network level from the monitoring module 320.
  • the protection range setting unit 313 can set a protection range corresponding to the network level.
  • the protection range refers to packets using a VPN tunnel that connects to the Internet through a VPN server.
  • packets within the protection range can be transmitted through a VPN tunnel, and packets outside the protection range can be transmitted through a path that directly connects to the Internet without going through the VPN server.
  • a protection scope defined at each network level can be configured.
  • the protection scope corresponding to the network level may be configured based on user settings. For example, a user interface (UI) that sets the scope requiring protection for each network level may be displayed. Based on user input on the UI, the protection scope can be set.
  • UI user interface
  • the protection scope corresponding to the network level may be configured based on settings for each application. For example, the protection scope of applications may be divided depending on the security level for each application. If the security level of the application corresponds to the current network level, a protection scope including the application can be set.
  • the protection scope application unit 314 may identify a user identifier (UID) for each running application in order to apply the set protection scope.
  • the protection range application unit 314 may provide the split controller unit 315 with a set protection range.
  • the split controller unit 315 may identify at least one packet to be encrypted among packets of terminal traffic according to a preset protection range.
  • the encrypted packet may be transmitted to an Internet network (eg, a data network) via the VPN server and through the VPN tunnel 331 of the network interface 330. Packets that are not encrypted can be bypassed and transmitted to the Internet network without going through the VPN server.
  • unencrypted packets may be transmitted to the Internet network through the wireless local area network (WLAN)/real mode network (RMNET) module 332 of the network interface 330.
  • WLAN wireless local area network
  • RMNET real mode network
  • the monitoring module 320 may include a quality monitoring unit 321 and a network level determination unit 322.
  • the quality monitoring unit 321 may measure the throughput-related quality of the network in order to detect changes in the network environment (e.g., VPN environment 200).
  • Throughput refers to an indicator of how much data can be delivered to the destination within unit time. How much data can be transferred in one second can be used as a unit of throughput. Throughput can be expressed in bits per second (bps) or the number of data packets per second.
  • Maximum throughput may be related to network bandwidth.
  • Network bandwidth refers to the maximum transmission capacity that the network can handle within unit time. In general, the higher the bandwidth, the more data can be transferred over the network.
  • Throughput may be related to network latency, network congestion, or loss rate. Network delay means that it takes an unexpected amount of time to transmit data, and network congestion means that data is concentrated on a specific path. Additionally, packet loss means that unexpected packets are not delivered on the network.
  • the quality monitoring unit 321 may be constantly running in the background. For example, the quality monitoring unit 321 can measure network latency and network loss rate. For example, the quality monitoring unit 321 can measure available network bandwidth. The quality monitoring unit 321 may transmit the measured values to the network level determination unit 322.
  • the network level determination unit 322 may determine the network level.
  • the network level may refer to throughput-related quality.
  • the network level determination unit 322 may identify the network level based on the quality obtained from the quality monitoring unit 321.
  • the network level determination unit 322 can identify the network level in the range to which the quality belongs.
  • the network level determination unit 322 may identify one of three network levels based on packet loss rate and delay information received from the quality monitoring unit 321.
  • the three network levels may include a first network level (or high-speed level), a second network level (or medium-speed level), and a third network level (or low-speed level).
  • the first network level may require a delay time of less than about 60 milliseconds (ms) and a packet loss rate of less than about 0.2%.
  • the second network level may require a delay time of about 60 ms or more and less than 120 ms, and a packet loss rate of about 0.2% or more to less than 0.5%.
  • a delay time of about 120 ms or more and a packet loss rate of about 0.5% or more may be specified.
  • the network level determination unit 322 may transmit the determined network level to the network level transceiver 312 of the VPN module 310.
  • the network level determination unit 322 may perform quality monitoring again if the network level and the determined network level are not different.
  • the network level transceiver 312 which receives information about the network level from the network level determination unit 322, may transmit the received information to the protection range setting unit 313.
  • the network level transceiver is a bridge module for transmitting a message to the protection range setting unit 313 when the network level is changed.
  • the protection range setting unit 313 can set a protection range corresponding to the network level. As an example, the table below can be referred to for designations and protection scopes at each of the first network level, second network level, and third network level.
  • Table 1 shows the basic protection scope according to the network level.
  • the protection scope may include all traffic.
  • the scope of protection may include traffic of insecure protocols. Additionally, the scope of protection may include recently used apps.
  • the protection scope may include only DNS packets. Additionally, the scope of protection may only include the secure workspace.
  • Examples of network level changes are as follows. After the user connects to the VPN, the delay for the VPN connection may be 60 ms or less, and the packet loss rate for the VPN connection may be 0.2% or less.
  • the network level may be determined as the first network level based on the quality monitoring results.
  • the electronic device 101 can protect the protection range corresponding to the first network level, that is, all traffic. Thereafter, network quality may change due to movement of the electronic device 101 or changes in the surrounding environment of the electronic device 101. If the latency for the VPN connection is more than 120ms and the packet loss rate is more than 0.5%, the network level can be changed from the first network level to the third network level.
  • the monitoring module 320 may notify the VPN module 310 of the changed network level in order to adjust the protection range of traffic. For example, the electronic device 101 may set a protection range such that only DNS packets are transmitted through the VPN tunnel.
  • Figure 4 shows an example of a protection range for each network level, according to an embodiment.
  • An electronic device eg, electronic device 101
  • the electronic device 101 may transmit packets on the Internet network 250 through the VPN server 210 or receive packets transmitted from the Internet network 250 through the VPN server 210.
  • Figure 4 referring to Table 1, protection for each protocol is described.
  • the electronic device 101 can set a protection range according to the network level.
  • Electronic device 101 may create a VPN connection with VPN server 210. By monitoring the quality of the VPN connection, electronic device 101 can determine the network level.
  • the network level may be determined based on network throughput.
  • the electronic device 101 may determine the network level based on at least one of network bandwidth, network delay, packet loss rate, or congestion information. Since the electronic device 101 according to embodiments provides different protection scopes for each network level, the electronic device 101 can reset the protection scope when the network level changes.
  • all traffic 410 may be protected.
  • packets 420 of insecure protocols eg, hypertext transport protocol (HTTP), file transfer protocol (FTP)
  • HTTP hypertext transport protocol
  • FTP file transfer protocol
  • the electronic device 101 may change the network level to the third network level.
  • DNS packets 430 may be protected.
  • Protected packets can be encrypted and transmitted to the Internet network through a VPN tunnel.
  • the encrypted packets may be transmitted to other electronic devices (eg, terminals, servers) through an Internet network.
  • Packets 440 other than those for which a protection range is set may be transmitted to the Internet network without passing through the VPN server 210.
  • the other packets may be transmitted to other electronic devices (eg, terminals, servers) through the Internet network.
  • the electronic device 101 can guarantee network quality above a certain level without resetting the VPN connection by reducing the protection range. Conversely, if network throughput increases, security can be improved by increasing the protection range.
  • Table 1 assume a situation in which a user connects the electronic device 101 to public Wi-Fi (wireless fidelity). Users may be concerned about their information being exposed through Wi-Fi, so they may establish a VPN connection. Electronic device 101 may monitor the quality of network throughput in response to the VPN connection. After a certain period of time has passed, the user can move. Depending on the user's movement, the electronic device 101 may identify changes in network delay or packet loss rate. The electronic device 101 may compare the changed quality with a preset standard for each network level.
  • the network delay may be 100ms and the packet loss rate may be 5%.
  • the standards for the first network level may be a network delay of less than 350ms and a packet loss rate of less than 35%.
  • the network delay may be 351ms and the packet loss rate may be 36%.
  • the electronic device 101 may change the network level from the first network level to the second network level.
  • the electronic device 101 may protect non-secure protocol packets instead of protecting the entire traffic.
  • the electronic device 101 may set non-secure protocol packets as a protection range.
  • the electronic device 101 may encrypt non-secure protocol packets and transmit the encrypted packets to an Internet network through a VPN tunnel.
  • FIG. 5 illustrates an operational flow of an electronic device for adjusting a network level in a VPN, according to an embodiment.
  • Operations of the electronic device may be performed by at least one processor (eg, processor 120) of the electronic device 101. Instructions for the above operations may be stored as instructions stored in memory (eg, memory 130).
  • the operation of transmitting a packet to the outside or receiving a packet through the electronic device 101 includes instructions for controlling at least one transceiver (e.g., the interface 177, the communication module 190, and the network interface 330). Based on these, it may be performed by the at least one processor.
  • the electronic device 101 may create a VPN connection.
  • the electronic device 101 may create a VPN connection to increase communication security.
  • the electronic device 101 may access the Internet network via a VPN server (eg, VPN server 210, VPN server 211, or VPN server 212).
  • a VPN server eg, VPN server 210, VPN server 211, or VPN server 2112.
  • electronic device 101 may initiate monitoring of network quality.
  • the electronic device 101 may identify the network level based on network quality for the VPN connection.
  • the electronic device 101 can measure network quality.
  • Network quality may refer to indicators related to network throughput.
  • network quality may be determined based on at least one of network delay, network bandwidth, packet loss rate, or network congestion.
  • network quality may include network bandwidth.
  • network quality may include network delay and packet loss rate.
  • network quality may include network bandwidth and degree of network congestion.
  • network quality may include network throughput average.
  • the electronic device 101 may identify the network level for the current VPN connection among a plurality of network levels based on the quality range to which the network quality belongs. Each network level of the plurality of network levels may provide a corresponding quality range.
  • the first network level may be specified with a latency of less than about 100 ms and a packet loss rate of less than about 5%.
  • the second network level outside of the specifications of the first network level, may be specified for a latency of less than about 200 ms and a packet loss rate of less than about 8%.
  • the electronic device 101 may identify the first network level when a delay time of about 80 ms and a packet loss rate of about 3% are obtained as network quality.
  • the electronic device 101 may identify the second network level when a delay time of about 80 ms and a packet loss rate of about 7% are obtained as network quality.
  • the electronic device 101 may identify the second network level when a delay time of about 150 ms and a packet loss rate of about 3% are obtained as network quality.
  • the electronic device 101 may identify the second network level when a delay time of about 150 ms and a packet loss rate of about 7% are obtained as network quality.
  • the electronic device 101 may identify a protection scope corresponding to the network level.
  • the scope of protection can be configured at the network level.
  • the scope of protection at the network level can be distinguished according to the designated unit.
  • protection scopes corresponding to network levels may be distinguished on an application basis.
  • the first protection scope corresponding to the first network level may include all applications.
  • the second protection scope corresponding to the second network level may include at least one recently used application.
  • the second protection range corresponding to the second network level may be narrower than the first protection range. Even if the quality of the current VPN connection is lowered, by narrowing the protection range, the electronic device 101 can provide network throughput above a certain level.
  • the third protection scope corresponding to the third network level may include one or more applications with a usage frequency of more than a certain indicator (eg, N times per month).
  • the third protection range corresponding to the third network level may be narrower than the second protection range.
  • protection scopes corresponding to network levels may be distinguished on a workspace basis.
  • the first protection scope corresponding to the first network level may include all workspaces.
  • the second protection scope corresponding to the second network level may include an enterprise workspace.
  • the second protection range corresponding to the second network level may be narrower than the first protection range.
  • the third protection scope corresponding to the third network level may include a secure workspace.
  • the third protection range corresponding to the third network level may be narrower than the second protection range.
  • UID number 150 may be used, which corresponds to the application of the secure folder.
  • protection scopes corresponding to network levels may be distinguished on a protocol basis.
  • the first protection range corresponding to the first network level may include packets corresponding to all protocols.
  • the second protection range corresponding to the second network level may include packets corresponding to non-secure protocols.
  • the second protection range corresponding to the second network level may be narrower than the first protection range.
  • the third protection range corresponding to the third network level may include only DNS packets. Even if the network level changes, the electronic device 101 can always protect DNS packets.
  • the electronic device 101 may perform split tunneling based on the protection range.
  • Split tunneling is a technology for distinguishing whether a VPN tunnel is used for each packet depending on the protection scope corresponding to the network level.
  • the electronic device 101 can identify whether the packet falls within the protection range. If the packet falls within the protection range, the electronic device 101 may transmit the packet through a VPN tunnel.
  • the electronic device 101 can access the Internet by sending packets through a VPN server. If the packet does not fall within the protection range, the electronic device 101 may transmit the packet without using a VPN tunnel.
  • the electronic device 101 can access the Internet without a VPN server.
  • the electronic device 101 can access the Internet through bypass of the VPN tunnel.
  • FIG. 6 illustrates an operation flow of an electronic device for split tunneling, according to an embodiment.
  • Operations of the electronic device eg, electronic device 101
  • at least one processor eg, processor 120
  • Instructions for the above operations may be stored as instructions stored in memory (eg, memory 130).
  • the operation of transmitting a packet to the outside or receiving a packet through the electronic device 101 is for controlling at least one transceiver (e.g., the interface 177, the communication module 190, and the network interface 330). Based on instructions, it may be performed by the at least one processor.
  • Operations of the electronic device 101 may correspond to operation 507 of FIG. 5 .
  • the electronic device 101 may identify whether the setting condition corresponding to the protection range is met.
  • the electronic device 101 can identify the setting condition.
  • the setting condition means that the packet to be transmitted falls within the protection range.
  • the setting condition refers to the rule for identifying packets to be protected through the VPN tunnel.
  • the electronic device 101 may perform operation 603 when the packet satisfies the setting condition corresponding to the protection range.
  • the electronic device 101 may perform operation 607 when the packet does not meet the setting conditions corresponding to the protection range.
  • the electronic device 101 may perform packet encryption.
  • the electronic device 101 can encrypt packets within the protection range.
  • the electronic device 101 may include traffic to be encrypted in the VPN tunnel.
  • the electronic device 101 may transmit a packet over a VPN path.
  • the electronic device 101 may control the communication module to use a VPN path for encrypted packets.
  • the electronic device 101 may transmit the encrypted packet to the VPN server.
  • the electronic device 101 may transmit the encrypted packet to an external device (eg, another electronic device, server) via the Internet via a VPN server. Encrypted packets can be decrypted on the VPN server. The decrypted packet can be transmitted to an external device.
  • the electronic device 101 may transmit a packet through a path other than the VPN path.
  • the electronic device 101 may exclude encrypted traffic and other traffic from the VPN tunnel. By excluding already trusted sites or applications with a high level of protection from the scope of protection, unnecessary encryption can be prevented.
  • the electronic device 101 may control the communication module to directly transmit the other traffic through the Internet.
  • FIG. 7 illustrates an operation flow for each entity for adaptively adjusting the network level in a VPN, according to an embodiment.
  • the VPN module 310 and the monitoring module 320 are VPN clients and can be performed by the electronic device 101.
  • the electronic device 101 may use a VPN path.
  • the VPN module 310 may perform a VPN connection.
  • VPN connection means connecting to the Internet network 250 via the VPN server 210.
  • VPN module 310 may activate monitoring module 320.
  • VPN module 310 may activate monitoring module 320 in response to identifying the VPN connection.
  • the VPN module 310 may control the monitoring module 320 to measure network quality.
  • VPN module 310 may identify the protection scope.
  • the VPN module 310 may identify a protection scope corresponding to the current network level.
  • the protection scope can be set at each network level.
  • the electronic device 101 operating three network levels can set three protection ranges.
  • the electronic device 101 operating two network levels may set two protection ranges.
  • Network levels can be differentiated step by step according to the specified network quality. At this time, the lower the specifications for network quality, the narrower the scope of protection can be. That is, by reducing the protection range, the electronic device 101 can guarantee network quality above a certain level for high-security traffic.
  • the VPN module 310 may obtain information about the network level from the monitoring module 320. For example, in operation 706, the VPN module 310 may receive a notification message about the changed network level from the monitoring module 320. The VPN module 310 may change the network level from the current network level to the changed network level. The VPN module 310 may identify a protection scope corresponding to the changed network level.
  • VPN module 310 may identify whether a set condition is met.
  • the setting condition means that the packet to be transmitted falls within the protection range. In other words, the setting condition means whether the packet to be transmitted is subject to protection through a VPN connection.
  • the VPN module 310 may perform operation 711 when the setting conditions are met. If the setting condition is not met, the VPN module 310 may perform operation 709.
  • VPN module 310 may use the normal route instead of the VPN route.
  • the general path refers to a path through which the electronic device 101 accesses the Internet network 250 without passing through the VPN server 210.
  • VPN module 310 may encrypt the packet.
  • the VPN module 310 can perform encryption to be transmitted over a VPN connection.
  • packets When packets are included in a VPN tunnel, they may be encrypted.
  • VPN tunnels can be implemented using any protocol that supports tunneling.
  • the VPN module 310 may transmit a packet using the VPN path.
  • the VPN path refers to a path through which the electronic device 101 accesses the Internet network via the VPN server 210. Because the VPN path bypasses the normal path, the security of communication in the electronic device 101 can be improved.
  • the VPN module 310 may transmit the encrypted packet to the VPN server 210 on the VPN path.
  • the operations described above are operations in the VPN module 310, and the VPN module 310 may be driven independently of the monitoring module 320.
  • the monitoring module 320 may measure the network quality of the VPN connection and identify the network level, independently of determining the VPN connection and the scope of protection for the VPN connection.
  • monitoring module 320 may perform quality measurements. Monitoring module 320 can measure network quality.
  • Network quality may include at least one of network bandwidth, network delay, network congestion, or packet loss rate. For example, network quality may be determined based on current network bandwidth. For example, network quality may be determined based on the degree of network congestion. For example, network quality may be determined based on network latency. Additionally, for example, network quality may be determined based on packet loss rate.
  • monitoring module 320 may determine the network level.
  • the monitoring module 320 may determine the network level based on network quality.
  • the monitoring module 320 may determine the network level corresponding to the quality range to which the measured network quality belongs.
  • To measure network quality one or multiple indicators (e.g. bandwidth, delay, congestion, packet loss rate) can be used. Each indicator can be measured individually or in combination, and by combining conditions for the indicators, the network level can be specified. For example, as shown in Table 1, network delay and packet loss rate can be used together to determine the network level.
  • monitoring module 320 may determine whether the network level has changed. Monitoring module 320 may identify the previous network level. The previous network level refers to the network level currently set in the VPN module 310. Monitoring module 320 can identify the measurement network level. The measurement network level may refer to the network level identified in operation 733. The monitoring module 320 may compare the previous network level and the measured network level. The monitoring module 320 may transmit a notification message to the VPN module 310 when the network level changes. The monitoring module 320 may send a notification message to the VPN module 310 to change the protection scope for the VPN connection. The notification message may include information about the changed network level, that is, the measurement network level. Meanwhile, the monitoring module 320 may perform operation 731 again if the network level has not changed. Monitoring module 320 can measure network quality again.
  • the monitoring module 320 when the network level is changed, the monitoring module 320 is shown to only transmit a notification message to the VPN module, but quality monitoring of the monitoring module 320 may be repeatedly performed. That is, the monitoring module 320 can be continuously performed until the VPN connection is released.
  • the monitoring module 320 can independently perform quality monitoring regardless of split tunneling according to the protection scope. Accordingly, the electronic device 101 may dynamically adjust the network level in response to changes in network quality for the VPN connection.
  • the VPN server 210 may perform packet decryption.
  • the VPN server 210 may receive an encrypted packet from the VPN module 310 of the electronic device 101, which is a VPN client.
  • the VPN server 210 can decrypt the encrypted packet.
  • the VPN server 210 may transmit the decrypted packet to the destination.
  • the VPN server 210 may transmit the decrypted packet to the destination on the Internet network 250.
  • the VPN server 210 may transmit the decrypted packet to a node (eg, another electronic device, external server) corresponding to the destination address through the Internet network 250.
  • the electronic device and method according to embodiments of the present disclosure can reduce network speed degradation by dynamically resetting the protection range while maintaining the VPN connection according to changes in the network environment. By maintaining the VPN connection at all times, disconnection of the VPN connection does not occur, and overhead due to reset can be reduced. Since the electronic device can adjust the scope of protection on its own without performing a check for each VPN server, no additional infrastructure may be required.
  • FIG. 8 shows an example of a user interface (UI) for setting a network-level protection scope, according to an embodiment.
  • the electronic device 101 may display a UI for setting a protection range through a display (eg, display module 160).
  • the electronic device 101 may display a UI 800 for setting a network-level protection scope.
  • the UI 800 may include a network level setting area 810, a quality range setting area 820, a protection unit setting area 830, and a protection range setting area 840.
  • the UI 800 may include a network level setting area 810.
  • the network level setting area 810 may include an object indicating each of a plurality of network levels that can be set for a VPN connection.
  • the network level setting area 810 may include an object for indicating each of three network levels (eg, high-speed network level, medium-speed network level, and low-speed network level).
  • the UI 800 may include a quality range setting area 820.
  • the quality range setting area 820 may include a quality range corresponding to the set network level.
  • the network quality specified for adaptive quality range adjustment may be network delay and network loss rate (or packet loss rate).
  • the quality range setting area 820 may include a visual object for setting the quality range of network delay.
  • the quality range setting area 820 may include a visual object for setting the quality range of the network loss rate. For example, at the high-speed network level, if the delay time is set to 40 ms and the loss rate is set to 10%, and the quality of the electronic device 101 is within the set range, the electronic device 101 determines that the network level corresponding to the current network quality is It can be determined that it is the SOGO network level.
  • the UI 800 may include a protection unit setting area 830.
  • the protection unit setting area 830 may include a visual object for setting the unit of the protection scope.
  • the protection scope can be set differently for each network level. The higher the network level designation quality standard, the wider the protection scope, and the lower the network level designation quality standard, the narrower the protection scope. Applications, workspaces, or protocols can be used as reference units to broaden or narrow the scope of protection.
  • the UI 800 may include a protection scope setting area 840.
  • the protection scope setting area 840 may include a visual object for setting the protection scope.
  • the protection scope setting area 840 may include items determined based on the set network level and set protection unit. For example, when the high-speed network level is selected in the network level setting area 810 and protection by workspace is selected in the protection unit setting area 830, the electronic device 101 displays protection items on a workspace basis. can do.
  • the electronic device 101 may display ‘All’, ‘User workspace’, ‘Enterprise workspace’, and ‘Secure workspace’. Protection items corresponding to the network level can be set by system settings or user input. For example, according to user input, 'All' may be selected as the protection range corresponding to the high-speed network level. For another example, depending on system settings, 'All' may be selected as the protection range corresponding to the high-speed network level.
  • Packets for each protection unit can be distinguished as shown in the table below.
  • 'Fast bandwidth' refers to the first network level or high-speed network level.
  • 'Middle bandwidth' refers to the second network level or medium-speed network level.
  • 'Slow bandwidth' refers to the third network level or high-speed network level.
  • the first network level can be expressed as being higher than the second network level and the third network level.
  • a network level is higher than other network levels. This may mean that the lowest network quality specified at the network level is higher than the lowest network quality specified at the other network levels.
  • protection per protocol may be used. Protection by protocol can be classified by the type of port or header used in the protocol. For example, a protocol that has a high security rating on its own may, under certain network qualities, have a low need for further protection via a VPN. Packets corresponding to the above protocol may not be protected at the low-speed network level. For another example, packets that are always assigned high security need to be protected regardless of the network level. As an example, DNS packets can always be protected regardless of the network level. That is, even at the network level with the narrowest protection scope, the DNS packets can be protected.
  • app-specific protection may be used.
  • the electronic device 101 can increase security by protecting frequently used apps (e.g., top N in the history (N is an integer greater than 1)) even at the network level with the lowest network quality.
  • the electronic device 101 can improve both security and usability efficiency by protecting recently used apps (e.g., the top M apps in the history (M is an integer greater than 1)) at the second network level.
  • the electronic device 101 can provide efficient VPN protection to the user by not including apps other than frequently used apps in the protection scope at the lowest network level.
  • FIG. 9A and 9B show examples of UI for adjusting network level parameters, according to one embodiment.
  • the UI 900 corresponding to the first network level eg, high-speed network level
  • the UI 950 corresponding to the second network level eg, medium-speed network level
  • the electronic device 101 may display a UI 900 for setting a network-level protection range.
  • the UI 900 includes a network level setting area 910 corresponding to the first network level (i.e., high-speed network level), a quality range setting area 920 corresponding to the first network level, and a protection corresponding to the first network level. It may include a unit setting area 930 and a protection range setting area 940 corresponding to the first network level.
  • the network level setting area 810, the quality range setting area 820, the protection unit setting area 830, and the protection range setting area of the UI 800 of FIG. 8. Reference may be made to the descriptions of (840).
  • the network level setting area 910 may indicate that the current network level is the first network level.
  • the quality range setting area 920 may include visual objects for quality thresholds corresponding to the first network level.
  • the first network level may specify a network delay of less than 350 ms and a packet loss rate of less than 35%. If the measured network quality is within the specified quality range, the electronic device 101 can identify that the current network level is the first network level.
  • the quality threshold corresponding to the first network level (eg, 350 ms, 35%) may be reset according to user input.
  • protection unit setting area 930 protection for each workspace can be selected, and in the protection range setting area 940, the entire area can be selected as the protection range.
  • the electronic device 101 may display a UI 950 for setting the network level protection scope.
  • the UI 950 includes a network level setting area 960 corresponding to the second network level (i.e., medium-speed network level), a quality range setting area 970 corresponding to the second network level, and a protection corresponding to the second network level. It may include a unit setting area 980 and a protection range setting area 990 corresponding to the second network level.
  • the network level setting area 810, the quality range setting area 820, the protection unit setting area 830, and the protection range setting area of the UI 800 of FIG. 8. Reference may be made to the descriptions of (840).
  • the network level setting area 960 may indicate that the current network level is the second network level.
  • the quality range setting area 970 may include visual objects for quality thresholds corresponding to the second network level.
  • the second network level may be specified for a network delay of less than 500 ms and a packet loss rate of less than 50%.
  • Quality thresholds corresponding to the second network level may be greater than quality thresholds corresponding to the first network level.
  • the network level may depend on network quality. Quality designation conditions at the medium-speed network level may be less stringent than quality designation conditions at the high-speed network level. That is, the network quality specified at the second network level may be lower than the network quality specified at the first network level. This is because lower quality parameters such as delay time or loss rate mean better quality.
  • the electronic device 101 may identify that the current network level is the second network level.
  • the quality threshold corresponding to the second network level eg, 500 ms, 50%
  • the delay time threshold and loss rate threshold corresponding to the second network level may be set to be higher than the delay time threshold and loss rate threshold corresponding to the first network level.
  • the electronic device 101 can check the UID of each App in order to proceed with protection for each currently set Workspace. At the first network level, the entire workspace can be protected, and at the second network level, only the corporate workspace can be protected.
  • the electronic device 101 may perform individual protection to protect the corporate workspace based on the application's specific identifier (e.g., UID).
  • UID application's specific identifier
  • 'protected' means that the relevant packets are transmitted to the Internet network through a VPN connection.
  • the electronic device 101 and method according to embodiments of the present disclosure can provide improved security and usability according to changes in the network environment when connecting to a VPN.
  • the protection range is dynamically adjusted according to measured network criteria, so that minimal protection over the VPN connection can be achieved even if network quality deteriorates.
  • an electronic device may include at least one transceiver, a memory configured to store instructions, and at least one processor operatively coupled to the at least one transceiver and the memory.
  • the at least one processor may be configured to adjust a network level for VPN when the instructions are executed.
  • the at least one processor may be configured to create a virtual private network (VPN) server and a VPN connection.
  • the at least one processor may be configured to identify a network level based on network quality for the VPN connection.
  • the at least one processor may be configured to identify a protection range corresponding to the network level among a plurality of protection ranges.
  • the at least one processor may be configured to encrypt the packet when the packet for the external electronic device is within the protection range and transmit the encrypted packet to the external electronic device through a VPN server according to the VPN connection. there is.
  • the at least one processor may be configured to transmit the packet to the external electronic device without the VPN server when the packet for the external electronic device is not within the protection range.
  • the network quality may include at least one of latency or loss information for the VPN connection, or bandwidth.
  • the network level may be different from the previous network level.
  • the network quality may be lower than the network quality at the previous network level.
  • the protection range may be configured to be narrower than a protection range corresponding to the previous network level among the plurality of protection ranges.
  • the plurality of protection ranges include: a first protection range containing packets related to all applications, a second protection range containing a predetermined number of packets related to at least one recently used application, Alternatively, it may include at least one of a third protection range including packets related to at least one pre-designated application.
  • the plurality of protection scopes may correspond to different workspace areas that are distinguished based on user identifier (UID).
  • UID user identifier
  • the plurality of protection ranges include a first protection range including all packets, a second protection range including packets of insecure protocols, or only domain name server (DNS) packets. It may include at least one of the third protection scopes included.
  • DNS domain name server
  • the at least one processor may be configured to identify whether the network level is changed based on quality monitoring.
  • the at least one processor may be configured to identify a protection scope corresponding to the changed network level when the network level is changed.
  • the at least one processor may be configured to identify a preset protection range when the network level is not changed.
  • the quality monitoring may be initiated based on quality monitoring, in response to creation of the VPN connection.
  • the at least one processor may be configured to obtain network quality for the VPN connection.
  • the at least one processor may be configured to identify a quality range to which the network quality belongs, among a plurality of quality ranges.
  • the identified quality range may correspond to the network level.
  • the plurality of quality ranges may include a first quality range and a second quality range that is different from the first quality range.
  • the plurality of protection ranges may include a first protection range associated with the first quality range and a second protection range associated with the second quality range.
  • the second protection range may be different from the first protection range.
  • the at least one processor may be configured to display a user interface (UI) for setting a quality range for each network level through a display. It may be configured to determine the plurality of quality ranges based on user input on the UI.
  • UI user interface
  • the at least one processor may be configured to display a user interface (UI) for setting a protection scope for each network level through a display.
  • the at least one processor may be configured to determine the plurality of protection ranges based on user input on the UI.
  • a method performed by an electronic device may include creating a VPN connection with a virtual private network (VPN) server.
  • the method may include identifying a network level based on network quality for the VPN connection.
  • the method may include identifying a protection range corresponding to the network level among a plurality of protection ranges.
  • the method may include encrypting the packet and transmitting the encrypted packet to the external electronic device through a VPN server according to the VPN connection.
  • the method may include transmitting the packet to the external electronic device without the VPN server when the packet for the external electronic device is not within the protection range.
  • the network quality may include at least one of latency or loss information for the VPN connection, or bandwidth.
  • the network level may be different from the previous network level.
  • the network quality may be lower than the network quality at the previous network level.
  • the protection range may be configured to be narrower than a protection range corresponding to the previous network level among the plurality of protection ranges.
  • the plurality of protection ranges include: a first protection range containing packets related to all applications, a second protection range containing a predetermined number of packets related to at least one recently used application, Alternatively, it may include at least one of a third protection range including packets related to at least one pre-designated application.
  • the plurality of protection scopes may correspond to different workspace areas that are distinguished based on user identifier (UID).
  • UID user identifier
  • the plurality of protection ranges include a first protection range including all packets, a second protection range including packets of insecure protocols, or only domain name server (DNS) packets. It may include at least one of the third protection scopes included.
  • DNS domain name server
  • the operation of identifying the protection scope may include the operation of identifying whether the network level is changed based on quality monitoring.
  • the operation of identifying the protection scope may include, when the network level changes, identifying a protection scope corresponding to the changed network level.
  • the operation of identifying the protection scope may include identifying a preset protection scope when the network level is not changed.
  • the quality monitoring may be initiated based on quality monitoring, in response to creation of the VPN connection.
  • the operation of identifying the network level may include the operation of obtaining network quality for the VPN connection.
  • the operation may include identifying the quality range to which the network quality belongs.
  • the identified quality range may correspond to the network level.
  • the plurality of quality ranges may include a first quality range and a second quality range that is different from the first quality range.
  • the plurality of protection ranges may include a first protection range associated with the first quality range and a second protection range associated with the second quality range.
  • the second protection range may be different from the first protection range.
  • the method may include displaying a user interface (UI) for setting a quality range for each network level through a display.
  • the method may include determining the plurality of quality ranges based on user input on the UI.
  • the method may include displaying a user interface (UI) for setting a protection scope for each network level through a display.
  • the method may include determining the plurality of protection ranges based on user input on the UI.
  • a non-transitory storage medium may include memory for storing instructions.
  • the instructions when executed by at least one processor, cause the electronic device to create a VPN connection with a virtual private network (VPN) server, identify a network level based on network quality for the VPN connection, and provide a plurality of protection functions.
  • identify a protection range corresponding to the network level encrypt the packet if a packet for an external electronic device is within the protection range, and send the encrypted packet to a VPN according to the VPN connection.
  • the packet can be caused to be transmitted to the external electronic device without the VPN server.
  • a method of resetting the VPN path or changing the configuration of the VPN tunnel can be used.
  • re-establishing the VPN path causes service interruption.
  • the electronic device and method according to embodiments of the present disclosure can simultaneously increase the usability and security of a VPN connection by configuring a distinct protection scope on an app, workspace, or protocol basis and dynamically adjusting the protection scope. there is.
  • the electronic device 101 can provide a VPN service suitable for the current network environment.
  • Electronic devices may be of various types.
  • Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, electronic devices, or home appliances.
  • Electronic devices according to embodiments of this document are not limited to the above-described devices.
  • first, second, or first or second may be used simply to distinguish one element from another, and may be used to distinguish such elements in other respects, such as importance or order) is not limited.
  • One (e.g. first) component is said to be “coupled” or “connected” to another (e.g. second) component, with or without the terms “functionally” or “communicatively”.
  • any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.
  • module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as logic, logic block, component, or circuit, for example. It can be used as A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present document are one or more instructions stored in a storage medium (e.g., built-in memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). It may be implemented as software (e.g., program 140) including these.
  • a processor e.g., processor 120
  • the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between temporary storage cases.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
  • a machine-readable storage medium e.g. compact disc read only memory (CD-ROM)
  • an application store e.g. Play StoreTM
  • two user devices e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
  • at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
  • each component (e.g., module or program) of the above-described components may include a single or plural entity, and some of the plurality of entities may be separately placed in other components. there is.
  • one or more of the components or operations described above may be omitted, or one or more other components or operations may be added.
  • multiple components eg, modules or programs
  • the integrated component may perform one or more functions of each component of the plurality of components in the same or similar manner as those performed by the corresponding component of the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, or omitted. or one or more other operations may be added.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

실시예들에 있어서, 전자 장치는, 적어도 하나의 송수신기, 인스트럭션들을 저장하도록 구성된 메모리, 및 상기 적어도 하나의 송수신기 및 상기 메모리와 작동적으로 결합된 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 상기 인스트럭션들이 실행될 시, VPN을 위한 네트워크 레벨을 조정하도록 구성될 수 있다. 상기 적어도 하나의 프로세서는, VPN(virtual private network) 서버와 VPN 연결을 생성하도록 구성될 수 있다. 상기 적어도 하나의 프로세서는, 상기 VPN 연결에 대한 네트워크 품질에 기반하여, 네트워크 레벨을 식별하도록 구성될 수 있다. 상기 적어도 하나의 프로세서는, 복수의 보호 범위들 중에서, 상기 네트워크 레벨에 대응하는 보호 범위(protection range)를 식별하도록 구성될 수 있다.

Description

네트워크 레벨을 조정하기 위한 전자 장치 및 방법
본 발명의 다양한 실시예들은, VPN(virtual private network) 환경에서, 네트워크 레벨을 조정하기 위한 전자 장치 및 방법에 관한 것이다.
단말과 서버 간 또는 서버와 서버 간의 데이터 이동 과정에서 보안성을 강화하기 위하여 VPN(virtual private network)이 사용될 수 있다. VPN은 공중 네트워크를 통해 한 회사나 몇몇 단체가 내용을 외부에 노출시키지 않고 통신할 목적으로 쓰이는 사설 통신 네트워크를 포함할 수 있다.
상술한 정보는 본 개시에 대한 이해를 돕기 위한 목적으로 하는 배경 기술(related art)로 제공될 수 있다. 상술한 내용 중 어느 것도 본 개시와 관련된 종래 기술(prior art)로서 적용될 수 있는지에 대하여 어떠한 주장이나 결정이 제기되지 않는다.
실시예들에 있어서, 전자 장치가 제공된다. 상기 전자 장치는, 적어도 하나의 송수신기, 인스트럭션들을 저장하도록 구성된 메모리, 및 상기 적어도 하나의 송수신기 및 상기 메모리와 작동적으로 결합된 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 상기 인스트럭션들이 실행될 시, VPN을 위한 네트워크 레벨을 조정하도록 구성될 수 있다. 상기 적어도 하나의 프로세서는, VPN(virtual private network) 서버와 VPN 연결을 생성하도록 구성될 수 있다. 상기 적어도 하나의 프로세서는, 상기 VPN 연결에 대한 네트워크 품질에 기반하여, 네트워크 레벨을 식별하도록 구성될 수 있다. 상기 적어도 하나의 프로세서는, 복수의 보호 범위들 중에서, 상기 네트워크 레벨에 대응하는 보호 범위(protection range)를 식별하도록 구성될 수 있다. 상기 적어도 하나의 프로세서는, 외부 전자 장치를 위한 패킷이 상기 보호 범위 내인 경우, 상기 패킷을 암호화하고, 상기 암호화된 패킷을 상기 VPN 연결에 따른 VPN 서버를 통해 상기 외부 전자 장치에게 전송하도록 구성될 수 있다. 상기 적어도 하나의 프로세서는, 상기 외부 전자 장치를 위한 패킷이 상기 보호 범위 내가 아닌 경우, 상기 패킷을, 상기 VPN 서버 없이, 상기 외부 전자 장치에게 전송하도록 구성될 수 있다.
실시예들에 있어서, 전자 장치에 의해 수행되는 방법이 제공된다. 상기 방법은, VPN(virtual private network) 서버와 VPN 연결을 생성하는 동작을 포함할 수 있다. 상기 방법은 상기 VPN 연결에 대한 네트워크 품질에 기반하여, 네트워크 레벨을 식별하는 동작을 포함할 수 있다. 상기 방법은 복수의 보호 범위들 중에서, 상기 네트워크 레벨에 대응하는 보호 범위(protection range)를 식별하는 동작을 포함할 수 있다. 상기 방법은 외부 전자 장치를 위한 패킷이 상기 보호 범위 내인 경우, 상기 패킷을 암호화하고, 상기 암호화된 패킷을 상기 VPN 연결에 따른 VPN 서버를 통해 상기 외부 전자 장치에게 전송하는 동작을 포함할 수 있다. 상기 방법은 상기 외부 전자 장치를 위한 패킷이 상기 보호 범위 내가 아닌 경우, 상기 패킷을, 상기 VPN 서버 없이, 상기 외부 전자 장치에게 전송하는 동작을 포할 수 있다.
실시예들에 있어서, 일시적 저장 매체(non-transitory storage medium)가 제공된다. 상기 비-일시적 저장 매체는 인스트럭션들을 저장하는 메모리를 포함할 수 있다. 상기 인스트럭션들은, 적어도 하나의 프로세서에 의해 실행될 때, 전자 장치가 VPN(virtual private network) 서버와 VPN 연결을 생성하고, 상기 VPN 연결에 대한 네트워크 품질에 기반하여, 네트워크 레벨을 식별하고, 복수의 보호 범위들 중에서, 상기 네트워크 레벨에 대응하는 보호 범위(protection range)를 식별하고, 외부 전자 장치를 위한 패킷이 상기 보호 범위 내인 경우, 상기 패킷을 암호화하고, 상기 암호화된 패킷을 상기 VPN 연결에 따른 VPN 서버를 통해 상기 외부 전자 장치에게 전송하고, 상기 외부 전자 장치를 위한 패킷이 상기 보호 범위 내가 아닌 경우, 상기 패킷을, 상기 VPN 서버 없이, 상기 외부 전자 장치에게 전송하도록 야기할 수 있다.
도 1은 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는, 실시예들에 따른, VPN(virtual private network) 환경의 예를 도시한다.
도 3은, 일 실시예에 따른, VPN에서의 네트워크 레벨을 조정하기 위한 전자 장치의 기능적 블록의 예를 도시한다.
도 4는, 일 실시예에 따른, 네트워크 레벨 별 보호 범위(protection range)의 예를 도시한다.
도 5는, 일 실시예에 따른, VPN에서 네트워크 레벨을 조정하기 위한 전자 장치의 동작 흐름을 도시한다.
도 6은, 일 실시예에 따른, 스플릿 터널링을 위한 전자 장치의 동작 흐름을 도시한다.
도 7은, 일 실시예에 따른, VPN에서 적응적으로 네트워크 레벨을 조정하기 위한 엔티티 별 동작 흐름을 도시한다.
도 8은, 일 실시예에 따른, 네트워크 레벨의 보호 범위를 설정하기 위한 UI(user interface)의 예를 도시한다.
도 9a 및 도 9b는 일 실시예에 따른, 네트워크 레벨의 파라미터를 조정하기 위한 UI의 예들을 도시한다.
본 개시에서 사용되는 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시예들을 배제하도록 해석될 수 없다.
이하에서 설명되는 본 개시의 다양한 실시예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 개시의 다양한 실시예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 개시의 다양한 실시예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.
이하 설명에서 사용되는 신호를 지칭하는 용어(예: 신호, 정보, 메시지, 시그널링, 알림, 메시지), 연산 상태를 위한 용어(예: 단계(step), 동작(operation), 절차(procedure)), 데이터를 지칭하는 용어(예: 패킷, 스트림, 사용자 스트림, 정보(information), 비트(bit), 심볼(symbol), 코드워드(codeword)), 채널을 지칭하는 용어(예: 연결, 경로, 네트워크, 데이너 네트워크, 인터넷), 네트워크 객체(network entity)들(예: 클라이언트, 서버, 노드, 장치)을 지칭하는 용어, 장치의 구성 요소를 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 개시가 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 사용될 수 있다. 또한, 이하 사용되는 '...부', '...기', '...물', '...체' 등의 용어는 적어도 하나의 형상 구조를 의미하거나 또는 기능을 처리하는 단위를 의미할 수 있다.
또한, 본 개시에서, 특정 조건의 만족(satisfied), 충족(fulfilled) 여부를 판단하기 위해, 초과 또는 미만의 표현이 사용될 수 있으나, 이는 일 예를 표현하기 위한 기재일 뿐 이상 또는 이하의 기재를 배제하는 것이 아니다. '이상'으로 기재된 조건은 '초과', '이하'로 기재된 조건은 '미만', '이상 및 미만'으로 기재된 조건은 '초과 및 이하'로 대체될 수 있다. 또한, 이하, 'A' 내지 'B'는 A부터(A 포함) B까지의(B 포함) 요소들 중 적어도 하나를 의미한다.
이하 본 개시는 VPN(virtual private network)에서, 네트워크 속도가 저하되지 않도록, 현재 통신 품질에 따라 네트워크 레벨을 적응적으로 제어하기 위한 전자 장치 및 방법에 관한 것이다. 구체적으로, 본 개시의 실시예들에 따른 전자 장치 및 방법은 네트워크 레벨에 따라 보호 범위를 다르게 설정함으로써, 낮은 통신 품질에서도 보호 범위를 줄이는 대신 일정 수준 이상의 네트워크 속도를 제공할 수 있다. 이하, VPN을 네트워크 레벨을 구성하고(configuring) 통신 품질을 모니터링함으로써 네트워크 레벨을 조정하기(adjusting) 위한 기술을 설명한다.
도 1은 네트워크 환경 내의 전자 장치의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 송신(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 송신률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시예에 따르면, 명령 또는 데이터는 제2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2는, 실시예들에 따른, VPN(virtual private network) 환경의 예를 도시한다.
도 2를 참조하면, VPN 환경(200)은 VPN 클라이언트(예: 전자 장치(101))를 포함할 수 있다. VPN은 보안 솔루션의 일종이다. VPN 클라이언트로서, 전자 장치(101)가 네트워크 해킹 위협이 있는 장소에서 통신할 때, VPN은 전자 장치(101)를 보호하기 위해 이용될 수 있다. VPN 환경(200)에서, 전자 장치(101)는 보안성 향상을 위해, 암호화된 패킷을 VPN 서버(예: VPN 서버(210))를 경유하여, 인터넷 네트워크(250) 상의 외부 전자 장치(예: 다른 서버)에게 전송할 수 있다. 마찬가지로, VPN 환경(200)에서, 전자 장치(101)는 암호화된 패킷을 VPN 서버를 통해 다른 전자 장치로부터 수신하고, 수신된 패킷을 해독할 수 있다.
전자 장치(101)가 직접적으로 인터넷 네트워크(250)를 통해 다른 전자 장치에게 패킷을 바로 전송하는 것이 아니라, VPN 서버(210)를 경유하여 인터넷 네트워크(250)에게 접속하기 때문에, 오버헤드가 발생할 수 있다. 오버헤드는 인터넷 속도의 저하를 야기한다. 즉, 보안성 향상과 인터넷 속도 감소는 트레이드-오프(trade-off) 관계일 수 있다. 인터넷 속도의 감소로 인한 현상을 줄이기 위해, 서버 경로 재설정 또는 스플릿 터널링(split tunneling)이 이용될 수 있다.
서버 경로 재설정이란, 다수의 VPN 서버들(예: VPN 서버(210), VPN 서버(211), 또는 VPN 서버(212))를 이용하여, 최적의 VPN 서버를 통해 VPN 연결을 재구성하는 기술이다. VPN 서버 별 상태(예: 서버의 부하 정도, 네트워크 상태)의 확인을 통해, VPN 서버 별 가용성이 결정되고, 최적의 경로가 식별될 수 있다. 예를 들어, ICMP(internet control message protocol)의 핑 검사를 통해, 각 VPN 서버에 대한 검사가 수행될 수 있다. 또한, 스플릿 터널링이란, 일부 트래픽은 VPN 경로를 거쳐 전송되고, 나머지 트래픽은 VPN 경로가 아닌 경로(이하, 일반 경로)를 통해 전송되는 방식을 의미한다. 스플릿 터널링을 위해, 사용자 또는 관리자에 의해 설정된 규칙에 따라, 패킷 별로 VPN 터널의 이용 여부를 구별될 수 있다. 트래픽을 선별하는 수단으로, 목적지의 IP 주소, 목적지의 도메인 이름(domain name), 전송 계층의 포트 번호가 이용될 수 있다.
네트워크 대역폭을 극복하기 위한 상기 기술들은, VPN 연결을 재수립하는 과정에서 라우팅 변경에 따른 오버헤드가 발생할 수 있다. 예를 들어, 서버 경로 재설정 기술의 경우, 다수의 VPN 서버들(예: VPN 서버(210), VPN 서버(211), 또는 VPN 서버(212))의 각 서버 별 상태를 확인하고, 최적의 경로로 VPN 연결을 재수립하는 절차 동안, 인터넷 연결의 단절이 발생할 수 있다. 뿐만 아니라, 스플릿 터널링은, 전체 트래픽을 암호화하는 풀 터널링(full tunneling)의 속도 감소를 완화하기 위해, 이용될 수 있다. 최초 연결 시, VPN 연결을 위한 규칙이 정적으로 설정될 수 있다. 이후, VPN 연결을 유지한 채, 규칙 변경이 어려워, 유동적으로 VPN 터널 포함 범위를 조절하지 못해 사용성이 저하될 수 있다.
본 개시의 실시예들은, VPN 클라이언트, 즉, 단말이 VPN 연결 시, 네트워크 환경 변화에 따라, 기존 VPN 연결을 유지한 채, 동적으로 보호 범위를 재설정함으로써, VPN 재수립에 따른 오버헤드를 감소시키고, 네트워크 속도의 성능 저하를 줄이기 위한 기술을 제안한다. 보호 범위를 적응적으로 재설정함으로써, 보안성이 향상되고, VPN 효율성이 증가할 수 있다. 설정된 규칙의 변화 없이, 네트워크 품질(예: 네트워크 속도, 지연, 대역폭) 변화에 따라 유동적으로 보호 범위가 조절될 수 있다. VPN 클라이언트인 전자 장치(101)에서, 네트워크 품질에 따른 세부적인 보호 범위가 설정되기 때문에, 사용자는 원하는 수준의 보안성과 사용성을 얻을 수 있다. 본 개시의 실시예들은, 동적 보호 범위 설정 뿐만 아니라, VPN 재설정이나 스플릿 터널링을 동적 보호 범위 설정과 함께 수행하는 것 또한 포함할 수 잇다.
도 3은, 일 실시예에 따른, VPN에서의 네트워크 레벨을 조정하기 위한 전자 장치의 기능적 블록의 예를 도시한다. 전자 장치(예: 전자 장치(101))는 하나 이상의 구성요소들을 포함할 수 있고, 각 구성요소는 하나 이상의 기능 블록들로 구성될 수 있다. 이하 사용되는 '...부', '...기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 일 실시예에 따라, 후술되는 기능 블록들은 전자 장치(101)의 적어도 하나의 프로세서(예: 프로세서(120))에 의해 수행될 수 있다.
도 3을 참조하면, 전자 장치(101)는 VPN 모듈(310), 모니터링 모듈(320), 및 네트워크 인터페이스(330)를 포함할 수 있다. 네트워크 인터페이스(330)는 도 1의 인터페이스(177) 또는 통신 모듈(190)을 예시한다.
VPN 모듈(310)은 VPN 연결 관리부(311), 네트워크 레벨 송수신부(312), 보호 범위 설정부(313), 보호 범위 적용부(314), 및 스플릿 컨트롤러부(315)를 포함할 수 있다. VPN 연결 관리부(311)는 VPN 연결을 식별할 수 있다. VPN 연결 관리부(311)는 VPN 연결에 응답하여, 모니터링 모듈(320)에게 네트워크 레벨을 위한 품질 측정을 트리거할 수 있다. VPN 연결 관리부(311)는 VPN 연결의 설립/해지에 따라, 모니터링 모듈(320)의 실행 또는 중지를 제어할 수 있다. VPN 연결 관리부(311)는 VPN 연결 시 요구되는 프로파일 정보(예: 프로파일 버전, 사전 공유키, IP(internet protocol) 보안(security)(IPC) 식별자, IKE(internet key exchange) 포트), 암호화 수준(IKE 제안, ESP(encapsulating security payload) 제안)의 정보를 가질 수 있다.
네트워크 레벨 송수신부(312)는 모니터링 모듈(320)에서 식별되는 네트워크 레벨에 대한 정보를 수신할 수 있다. 네트워크 레벨 송수신부(312)는 모니터링 모듈(320)의 네트워크 식별 결과에 대한 정보를 수신할 수 있다. 일 실시예에 따라, 네트워크 레벨 송수신부(312)는, 모니터링 모듈(320)로부터 변경된 네트워크 레벨에 대한 정보를 수신할 수 있다.
보호 범위 설정부(313)는 네트워크 레벨에 대응하는 보호 범위를 설정할 수 있다. 여기서, 보호 범위란, VPN 서버를 통해 인터넷에 접속하는 VPN 터널을 이용하는 패킷들을 의미한다. 즉, 보호 범위 내의 패킷은 VPN 터널을 통해 전송되고, 보호 범위 밖의 패킷은 VPN 서버를 경유하지 않고, 인터넷에 바로 접속하는 경로를 통해 전송될 수 있다. 네트워크 레벨 별로 정의되는 보호 범위가 구성될 수 있다. 일 실시예에 따라, 네트워크 레벨에 대응하는 보호 범위는 사용자 설정에 기반하여 구성될 수 있다. 예를 들어, 네트워크 레벨 별로 보호가 필요한 범위를 설정하는 UI(user interface)가 표시될 수 있다. 상기 UI 상의 사용자 입력에 기반하여, 보호 범위가 설정될 수 있다. 다른 일 실시예에 따라, 네트워크 레벨에 대응하는 보호 범위는 애플리케이션(application) 별 설정에 기반하여 구성될 수 있다. 예를 들어, 애플리케이션 별 보안 등급에 따라, 애플리케이션들의 보호 범위가 구분될 수 있다. 애플리케이션의 보안 레벨이 현재 네트워크 레벨에 대응하는 경우, 상기 애플리케이션을 포함하는 보호 범위가 설정될 수 있다.
보호 범위 적용부(314)는, 설정된 보호 범위를 적용하기 위해, 실행중인 애플리케이션 별 UID(user identifier)를 식별할 수 있다. 보호 범위 적용부(314)는 스플릿 컨트롤러부(315)에게 설정된 보호 범위를 제공할 수 있다. 스플릿 컨트롤러부(315)는 기설정된 보호 범위에 따라, 단말의 트래픽의 패킷들 중에서 암호화될 적어도 하나의 패킷을 식별할 수 있다. 암호화된 패킷은 VPN 서버를 경유하여(via), 네트워크 인터페이스(330)의 VPN 터널(331) 통해(through) 인터넷 네트워크(예: 데이터 네트워크)로 전송될 수 있다. 암호화되지 않는 패킷은, VPN 서버 경유 없이, 바이패스되어(bypass), 인터넷 네트워크로 전송될 수 있다. 예를 들어, 암호화되지 않은 패킷은 네트워크 인터페이스(330)의 WLAN(wireless local area network)/RMNET(real mode network) 모듈(332)을 통해 인터넷 네트워크로 전송될 수 있다.
모니터링 모듈(320)은 품질 모니터링부(321) 및 네트워크 레벨 결정부(322)를 포함할 수 있다. 품질 모니터링부(321)는 네트워크 환경(예: VPN 환경(200))의 변화를 감지하기 위하여, 네트워크의 처리량(throughput) 관련 품질을 측정할 수 있다. 처리량이란, 얼마나 많은 데이터가 단위 시간 내 목적지에 전달될 수 있는지에 대한 지표를 의미한다. 데이터가 1초 동안 얼마나 전달될 수 있는지가 처리량의 단위로 이용될 수 있다. 처리량은, bps(bit per second) 혹은 초당 데이터 패킷의 수로 표현될 수 있다. 최대 처리량은 네트워크 대역폭과 관련될 수 있다. 네트워크 대역폭은 네트워크가 단위 시간 내에 처리가능한 최대 크기의 전달 용량을 의미한다. 일반적으로, 대역폭이 높을수록 많은 양의 데이터가 네트워크 상에서 전달될 수 있다. 처리량은, 네트워크 지연(latency), 네트워크 혼잡(congestion), 또는 손실률(loss rate)과 관련될 수 있다. 네트워크 지연은, 예상치 못한 시간이 데이터 전달에 소요되는 것을 의미하며, 네트워크 혼잡은 데이터가 특정 경로에 몰리는 것을 의미한다. 또한, 패킷 손실은 네트워크 상에서 예상하지 못한 패킷이 전달되지 않는 것을 의미한다.
VPN 연결에 대응하여, 품질 모니터링부(321)는 백그라운드(background)에서, 상시 구동 중일 수 있다. 예를 들어, 품질 모니터링부(321)는 네트워크 지연(network latency) 및 네트워크 손실률(loss rate)를 측정할 수 있다. 예를 들어, 품질 모니터링부(321)는 네트워크 가용 대역폭을 측정할 수 있다. 품질 모니터링부(321)는 측정된 값들을 네트워크 레벨 결정부(322)에게 전송할 수 있다.
네트워크 레벨 결정부(322)는 네트워크 레벨을 결정할 수 있다. 여기서, 네트워크 레벨이란, 처리량 관련 품질을 가리킬 수 있다. 네트워크 레벨 결정부(322)는, 품질 모니터링부(321)로부터 획득된 품질에 기반하여, 네트워크 레벨을 식별할 수 있다. 네트워크 레벨 결정부(322)는 상기 품질이 속하는 범위의 네트워크 레벨을 식별할 수 있다. 예를 들어, 네트워크 레벨 결정부(322)는 품질 모니터링부(321)로부터 전달받은, 패킷 손실률 및 지연 정보에 기반하여, 3개의 네트워크 레벨들 중 하나를 식별할 수 있다. 3개의 네트워크 레벨들은 제1 네트워크 레벨(혹은 고속 레벨), 제2 네트워크 레벨(혹은 중속 레벨), 및 제3 네트워크 레벨(혹은 저속 레벨)을 포함할 수 있다. 일 예로, 제1 네트워크 레벨은, 지연 시간이 약 60ms(milliseconds)미만이면서, 패킷 손실률은 약 0.2%미만일 것을 요구할 수 있다. 제2 네트워크 레벨은, 지연 시간이 약 60ms이상이고 120ms미만이면서, 패킷 손실률은 약 0.2%이상~0.5%미만일 것을 요구할 수 있다. 제3 네트워크 레벨은, 지연 시간이 약 120ms 이상이고 패킷 손실률은 약 0.5%이상이 지정될 수 있다.
네트워크 레벨 결정부(322)는, 현재 네트워크 레벨과 결정된 네트워크 레벨이 다른 경우, 상기 결정된 네트워크 레벨을 VPN 모듈(310)의 네트워크 레벨 송수신부(312)에게 전송할 수 있다. 네트워크 레벨 결정부(322)는, 네트워크 레벨과 결정된 네트워크 레벨이 다르지 않은 경우, 품질 모니터링을 다시 수행할 수 있다.
네트워크 레벨 결정부(322)로부터 네트워크 레벨에 대한 정보를 수신한 네트워크 레벨 송수신부(312)는 수신된 정보를 보호 범위 설정부(313)에게 전송할 수 있다. 네트워크 레벨 송수신부는, 네트워크 레벨이 변경되었을 경우, 메시지를 보호 범위 설정부(313)로 전달하기 위한 브릿지(bridge) 모듈이다. 보호 범위 설정부(313)는, 네트워크 레벨에 대응하는 보호 범위를 설정할 수 있다. 일 예로, 제1 네트워크 레벨, 제2 네트워크 레벨, 및 제3 네트워크 레벨 각각에서의 지정된 사항들 및 보호 범위는 하기의 표가 참조될 수 있다.
Figure PCTKR2023013286-appb-img-000001
표 1은 네트워크 레벨에 따른 기본 보호 범위를 나타낸다. 표 1을 참조하면, 제1 네트워크 레벨에서, 보호 범위는 모든 트래픽(all traffics)를 포함할 수 있다. 제2 네트워크 레벨에서, 보호 범위는 비-보안(insecure) 프로토콜의 트래픽들을 포함할 수 있다. 또한, 보호 범위는 최근에 사용된 앱들을 포함할 수 있다. 제3 네트워크 레벨에서, 보호 범위는, DNS 패킷만을 포함할 수 있다. 또한, 보호 범위는 보안 워크스페이스만을 포함할 수 있다.
네트워크 레벨이 변경되는 예는 다음과 같다. 사용자가 VPN 연결 후, VPN 연결에 대한 지연은 60ms이하이면서, 상기 VPN 연결에 대한 패킷 손실률은 0.2%이하일 수 있다. 품질 모니터링 결과에 의해 네트워크 레벨은 제1 네트워크 레벨로 결정될 수 있다. 전자 장치(101)는 제1 네트워크 레벨에 대응하는 보호 범위, 즉 모든 트래픽들을 보호할 수 있다. 이후, 전자 장치(101)의 이동이나, 전자 장치(101)의 주변 환경의 변화로 인해, 네트워크 품질이 달라질 수 있다. VPN 연결에 대한 지연(latency)이 120ms 이상이고, 패킷 손실률이 0.5% 이상이라면, 네트워크 레벨은 제1 네트워크 레벨에서 제3 네트워크 레벨로 변경될 수 있다. 네트워크 레벨이 변경되면, 트래픽의 보호 범위를 조정하기 위하여, 모니터링 모듈(320)은 VPN 모듈(310)에게 변경된 네트워크 레벨을 알릴 수 있다. 예를 들어, 전자 장치(101)는 DNS 패킷만 VPN 터널을 통해 전송하도록, 보호 범위를 설정할 수 있다.
도 4는, 일 실시예에 따른, 네트워크 레벨 별 보호 범위(protection range)의 예를 도시한다. 전자 장치(예: 전자 장치(101))는, VPN 클라이언트로서, VPN 연결을 통한 패킷 보호를 위하여, 보호 범위를 설정할 수 있다. 전자 장치(101)는 VPN 서버(210)를 통해 인터넷 네트워크(250) 상으로 패킷을 전송하거나, 인터넷 네트워크(250)로부터 전달되는 패킷을 VPN 서버(210)를 통해 수신할 수 있다. 도 4에서는 표 1을 참조하여, 프로토콜 별 보호가 서술된다.
도 4를 참고하면, 전자 장치(101)는 네트워크 레벨에 따른 보호 범위를 설정할 수 있다. 전자 장치(101)는 VPN 서버(210)와 VPN 연결을 생성할 수 있다. VPN 연결에 대한 품질을 모니터링함으로써, 전자 장치(101)는 네트워크 레벨을 결정할 수 있다. 일 실시예에 따라, 네트워크 레벨은, 네트워크 처리량에 기반하여 결정될 수 있다. 전자 장치(101)는 네트워크 대역폭, 네트워크 지연, 패킷 손실률, 또는 혼잡 정보 중 적어도 하나에 기반하여, 네트워크 레벨을 결정할 수 있다. 실시예들에 따른 전자 장치(101)는 네트워크 레벨 별로 다른 보호 범위를 제공하기 때문에, 전자 장치(101)는 네트워크 레벨이 변경되는 경우, 보호 범위를 재설정할 수 있다.
제1 네트워크 레벨에서는, 모든 트래픽(410)이 보호될 수 있다. 제2 네트워크 레벨에서는 비-보안(insecure) 프로토콜들(예: HTTP(hypertext transport protocol), FTP(file transfer protocol))의 패킷들(420)이 보호될 수 있다. 그러나, 네트워크의 처리량이 낮다고 판단되면, 전자 장치(101)는 보호 범위를 줄일 수 있다. 전자 장치(101)는 네트워크 레벨을 제3 네트워크 레벨로 변경할 수 있다. 제3 네트워크 레벨에서는, DNS 패킷들(430)이 보호될 수 있다. 보호되는 패킷들은, 암호화를 거쳐, VPN 터널을 통해 인터넷 네트워크에 전송될 수 있다. 상기 암호화된 패킷들은 인터넷 네트워크를 통해 다른 전자 장치(예: 단말, 서버)에게 전송될 수 있다. 보호 범위가 설정된 패킷 외의 다른 패킷들(440)은 VPN 서버(210)를 경유하지 않고, 인터넷 네트워크에 전송될 수 있다. 상기 다른 패킷들은 인터넷 네트워크를 통해 다른 전자 장치(예: 단말, 서버)에게 전송될 수 있다.
네트워크 처리량이 줄어든다면, 전자 장치(101)는 보호 범위를 줄임으로써, VPN 연결에 대한 재설정 없이, 일정 수준 이상의 네트워크 품질을 보장할 수 있다. 반대로, 네트워크 처리량이 증가한다면, 보호 범위를 늘림으로써, 보안성을 높일 수 있다. 예를 들어, 표 1을 참고할 때, 예를 들어, 사용자가 전자 장치(101)를 공공 Wi-Fi(wireless fidelity)에 연결한 상황을 가정하자. 사용자는 Wi-Fi를 통해 정보가 노출될 것을 염려하여, VPN 연결을 실행할 수 있다. 전자 장치(101)는 VPN 연결에 응답하여, 네트워크 처리량에 대한 품질을 모니터링할 수 있다. 일정 시간 경과 후, 사용자는 이동할 수 있다. 사용자의 이동에 따라, 전자 장치(101)는 네트워크 지연이나 패킷 손실률이 달라짐을 식별할 수 있다. 전자 장치(101)는 달라진 품질을 기설정된 네트워크 레벨 별 기준과 비교할 수 있다. 예를 들어, 사용자의 이동 전, 네트워크 지연은 100ms이고, 패킷 손실률은 5%일 수 있다. 제1 네트워크 레벨의 기준은 네트워크 지연이 350ms미만이고 패킷 손실률은 35%미만이 지정될 수 있다. 사용자의 이동 후, 네트워크 지연은 351ms이고, 패킷 손실률은 36%일 수 있다. 전자 장치(101)는 네트워크 레벨을 제1 네트워크 레벨에서 제2 네트워크 레벨로 변경할 수 있다. 전자 장치(101)는 전체 트래픽을 보호하는 대신, 비-보안 프로토콜 패킷들을 보호할 수 있다. 전자 장치(101)는 비-보안 프로토콜 패킷들을 보호 범위로 설정할 수 있다. 전자 장치(101)는 비-보안 프로토콜 패킷을 암호화하고, 암호화된 패킷을 VPN 터널을 통해 인터넷 네트워크로 전송할 수 있다.
도 5는, 일 실시예에 따른, VPN에서 네트워크 레벨을 조정하기 위한 전자 장치의 동작 흐름을 도시한다. 전자 장치(예: 전자 장치(101))의 동작들은 전자 장치(101)의 적어도 하나의 프로세서(예: 프로세서(120))에 의해 수행될 수 있다. 상기 동작들을 위한 인스트럭션들은, 메모리(예: 메모리(130))에 저장된 인스트럭션들로 저장될 수 있다. 전자 장치(101)를 통해 외부로 패킷을 전송하거나, 패킷을 수신하는 동작은, 적어도 하나의 송수신기(예: 인터페이스(177), 통신 모듈(190), 네트워크 인터페이스(330))를 제어하기 위한 인스트럭션들에 기초하여, 상기 적어도 하나의 프로세서에 의해 수행될 수 있다.
도 5를 참조하면, 동작(501)에서, 전자 장치(101)는 VPN 연결을 생성할 수 있다. 전자 장치(101)는 통신의 보안성을 높이기 위하여, VPN 연결을 생성할 수 있다. 전자 장치(101)는 VPN 서버(예: VPN 서버(210), VPN 서버(211), 또는 VPN 서버(212))를 경유하여, 인터넷 네트워크에 접속할 수 있다. VPN 연결에 응답하여, 전자 장치(101)는 네트워크 품질의 모니터링을 개시할 수 있다.
동작(503)에서, 전자 장치(101)는 VPN 연결에 대한 네트워크 품질에 기반하여 네트워크 레벨을 식별할 수 있다. 전자 장치(101)는 네트워크 품질을 측정할 수 있다. 네트워크 품질은 네트워크 처리량과 관련된 지표를 의미할 수 있다. 예를 들어, 네트워크 품질은 네트워크 지연, 네트워크 대역폭, 패킷 손실률, 또는 네트워크 혼잡 중 적어도 하나에 기반하여 결정될 수 있다. 일 예로, 네트워크 품질은 네트워크 대역폭을 포함할 수 있다. 일 예로, 네트워크 품질은 네트워크 지연 및 패킷 손실률을 포함할 수 있다. 일 예로, 네트워크 품질은 네트워크 대역폭 및 네트워크 혼잡 정도를 포함할 수 있다. 일 예로, 네트워크 품질은 네트워크 처리량 평균을 포함할 수 있다.
전자 장치(101)는 네트워크 품질이 속하는 품질 범위에 기반하여, 복수의 네트워크 레벨들 중에서 현재 VPN 연결에 대한 네트워크 레벨을 식별할 수 있다. 복수의 네트워크 레벨들의 각 네트워크 레벨은 대응하는 품질 범위를 제공할 수 있다. 예를 들어, 제1 네트워크 레벨은 약 100ms 미만의 지연 시간 및 약 5% 미만의 패킷 손실률이 지정될 수 있다. 제2 네트워크 레벨은, 제1 네트워크 레벨의 지정된 사항 밖에서, 약 200ms 미만의 지연 시간 및 약 8% 미만의 패킷 손실률 이 지정될 수 있다 . 일 예로, 전자 장치(101)는, 네트워크 품질로서, 약 80ms의 지연 시간 및 약 3%의 패킷 손실률을 획득한 경우, 제1 네트워크 레벨을 식별할 수 있다. 전자 장치(101)는, 네트워크 품질로서, 약 80ms의 지연 시간 및 약 7%의 패킷 손실률을 획득한 경우, 제2 네트워크 레벨을 식별할 수 있다. 전자 장치(101)는, 네트워크 품질로서, 약 150ms의 지연 시간 및 약 3%의 패킷 손실률을 획득한 경우, 제2 네트워크 레벨을 식별할 수 있다. 전자 장치(101)는, 네트워크 품질로서, 약 150ms의 지연 시간 및 약 7%의 패킷 손실률을 획득한 경우, 제2 네트워크 레벨을 식별할 수 있다.
동작(505)에서, 전자 장치(101)는 네트워크 레벨에 대응하는 보호 범위를 식별할 수 있다. 네트워크 레벨 별로 보호 범위가 구성될 수 있다. 네트워크 레벨의 보호 범위는 지정된 단위에 따라 구별될 수 있다.
일 실시예에 따라, 네트워크 레벨들에 대응하는 보호 범위들은, 애플리케이션 단위로 구별될 수 있다. 예를 들어, 제1 네트워크 레벨에 대응하는 제1 보호 범위는 모든 애플리케이션들을 포함할 수 있다. 제2 네트워크 레벨에 대응하는 제2 보호 범위는 최근에 사용된 적어도 하나 이상의 애플리케이션들을 포함할 수 있다. 제2 네트워크 레벨에 대응하는 제2 보호 범위는 제1 보호 범위보다 좁을 수 있다. 현재 VPN 연결의 품질이 낮아지더라도, 보호 범위를 좁힘으로써, 전자 장치(101)는 일정 수준 이상의 네트워크 처리량을 제공할 수 있다. 제3 네트워크 레벨에 대응하는 제3 보호 범위는 사용 빈도 수가 일정 지표(예: 월(月) N회)) 이상인 하나 이상의 애플리케이션들을 포함할 수 있다. 제3 네트워크 레벨에 대응하는 제3 보호 범위는, 제2 보호 범위보다 좁을 수 있다. 네트워크 품질이 낮아지더라도, 사용 빈도 수가 높은 적어도 하나 이상의 애플리케이션들은 항상 보호될 수 있다. 빈도가 높을수록, 우선 순위를 높일 수 있다. 빈도가 높은 애플리케이션들은 제3 네트워크 레벨이 할당될 수 있다. 네트워크 품질이 낮아지더라도, 상기 애플리케이션들을 보호함으로써, 보안성이 향상될 수 있다. 또한, 최근 사용된 애플리케이션들에 대해서는 제2 네트워크 레벨이 할당될 수 있다.
일 실시예에 따라, 네트워크 레벨들에 대응하는 보호 범위들은, 워크스페이스 단위로 구별될 수 있다. 예를 들어, 제1 네트워크 레벨에 대응하는 제1 보호 범위는 모든 워크스페이스를 포함할 수 있다. 제2 네트워크 레벨에 대응하는 제2 보호 범위는 기업 워크스페이스(enterprise workspace)를 포함할 수 있다. 제2 네트워크 레벨에 대응하는 제2 보호 범위는 제1 보호 범위보다 좁을 수 있다. 제3 네트워크 레벨에 대응하는 제3 보호 범위는 보안 워크스페이스(secure workspace)를 포함할 수 있다. 제3 네트워크 레벨에 대응하는 제3 보호 범위는, 제2 보호 범위보다 좁을 수 있다. 워크스페이스 별 보호의 경우, 애플리케이션의 UID 영역을 통해 구별될 수 있다. 예를 들어, 보안 워크스페이스의 일종인 보호 폴더를 위해, 보안 폴더의 애플리케이션에 대응하는 150번의 UID가 이용될 수 있다.
일 실시예에 따라, 네트워크 레벨들에 대응하는 보호 범위들은, 프로토콜 단위로 구별될 수 있다. 예를 들어, 제1 네트워크 레벨에 대응하는 제1 보호 범위는 모든 프로토콜들에 대응하는 패킷들을 포함할 수 있다. 제2 네트워크 레벨에 대응하는 제2 보호 범위는 비-보안 프로토콜에 대응하는 패킷들을 포함할 수 있다. 제2 네트워크 레벨에 대응하는 제2 보호 범위는 제1 보호 범위보다 좁을 수 있다. 제3 네트워크 레벨에 대응하는 제3 보호 범위는 DNS 패킷만 포함할 수 있다. 네트워크 레벨이 달라지더라도, 전자 장치(101)는 항상 DNS 패킷을 보호할 수 있다.
동작(507)에서, 전자 장치(101)는 보호 범위에 기반하여 스플릿 터널링을 수행할 수 있다. 스플릿 터널링이란, 네트워크 레벨에 대응하는 보호 범위에 따라, 패킷 별로 VPN 터널의 이용 여부를 구별하기 위한 기술이다. 전자 장치(101)는 패킷이 보호 범위에 속하는지 여부를 식별할 수 있다. 전자 장치(101)는 패킷이 보호 범위에 속하는 경우, VPN 터널을 통해 상기 패킷을 전송할 수 있다. 전자 장치(101)는 패킷을 VPN 서버를 경유하여, 인터넷에 접속할 수 있다. 전자 장치(101)는 패킷이 보호 범위에 속하지 않은 경우, VPN 터널을 이용하지 않고, 상기 패킷을 전송할 수 있다. 전자 장치(101)는 VPN 서버 없이, 인터넷에 접속할 수 있다. 전자 장치(101)는 VPN 터널의 바이패스를 통해, 인터넷에 접속할 수 있다.
도 6은, 일 실시예에 따른, 스플릿 터널링을 위한 전자 장치의 동작 흐름을 도시한다. 전자 장치(예: 전자 장치(101))의 동작들은 전자 장치(101)의 적어도 하나의 프로세서(예: 프로세서(120))에 의해 수행될 수 있다. 상기 동작들을 위한 인스트럭션들은, 메모리(예: 메모리(130))에 저장된 인스트럭션들로 저장될 수 있다. 전자 장치(101)를 통해 외부로 패킷을 전송하거나, 패킷을 수신하는 동작은, 및 적어도 하나의 송수신기(예: 인터페이스(177), 통신 모듈(190), 네트워크 인터페이스(330))를 제어하기 위한 인스트럭션들에 기초하여, 상기 적어도 하나의 프로세서에 의해 수행될 수 있다. 전자 장치(101)의 동작들은 도 5의 동작(507)에 대응할 수 있다.
도 6을 참조하면, 동작(601)에서, 전자 장치(101)는 보호 범위에 대응하는 설정 조건을 충족하는지 여부를 식별할 수 있다. 전자 장치(101)는 설정 조건을 식별할 수 있다. 설정 조건이란, 전송될 패킷이 보호 범위에 속하는 것을 의미한다. 다시 말해, 설정 조건은 VPN 터널을 통해 보호될 패킷을 식별하기 위한 규칙을 의미한다. 전자 장치(101)는 패킷이 보호 범위에 대응하는 설정 조건을 충족하는 경우, 동작(603)을 수행할 수 있다. 전자 장치(101)는 패킷이 보호 범위에 대응하는 설정 조건을 충족하지 않는 경우, 동작(607)을 수행할 수 있다.
동작(603)에서, 전자 장치(101)는 패킷 암호화를 수행할 수 있다. 전자 장치(101)는 보호 범위 내의 패킷을 암호화할 수 있다. 전자 장치(101)는 암호화할 트래픽을 VPN 터널에 포함시킬 수 있다.
동작(605)에서, 전자 장치(101)는 VPN 경로를 통해 패킷을 전송할 수 있다. 전자 장치(101) 암호화된 패킷을 VPN 경로를 이용하도록, 통신 모듈을 제어할 수 있다. 전자 장치(101)는 암호화된 패킷을 VPN 서버에게 전송할 수 있다. 전자 장치(101)는 암호화된 패킷을 VPN 서버를 경유하여, 인터넷을 통해, 외부 장치(예: 다른 전자 장치, 서버)에게 전송할 수 있다. 암호화된 패킷은 VPN 서버에서 복호될 수 있다. 복호된 패킷은 외부 장치에게 전송될 수 있다.
동작(607)에서, 전자 장치(101)는 VPN 경로가 아닌 경로를 통해 패킷을 전송할 수 있다. 전자 장치(101)는, 암호화된 트래픽과 다른 트래픽은 VPN 터널에서 제외할 수 있다. 이미 신뢰하는 사이트 혹은 보호 단계가 높은 애플리케이션은 보호 범위에서 제외함으로써, 불필요한 암호화가 수행되지 않을 수 있다. 전자 장치(101)는, 상기 다른 트래픽을 인터넷을 통해 직접 송신하도록 통신 모듈을 제어할 수 있다.
도 7은, 일 실시예에 따른, VPN에서 적응적으로 네트워크 레벨을 조정하기 위한 엔티티 별 동작 흐름을 도시한다. VPN 모듈(310) 및 모니터링 모듈(320)은 VPN 클라이언트로서, 전자 장치(101)에 의해 수행될 수 있다. 전자 장치(101)는 VPN 경로를 이용할 수 있다.
도 7을 참조하면, 동작(701)에서, VPN 모듈(310)은 VPN 연결을 수행할 수 있다. VPN 연결이란, VPN 서버(210)를 경유하여 인터넷 네트워크(250)에 접속됨을 의미한다.
동작(703)에서, VPN 모듈(310)은 모니터링 모듈(320)을 활성화할 수 있다. VPN 모듈(310)은, VPN 연결을 식별하는 것에 대응하여, 모니터링 모듈(320)을 활성화할 수 있다. VPN 모듈(310)은, 네트워크 품질을 측정하도록 모니터링 모듈(320)을 제어할 수 있다.
동작(705)에서, VPN 모듈(310)은 보호 범위를 식별할 수 있다. VPN 모듈(310)은 현재 네트워크 레벨에 대응하는 보호 범위를 식별할 수 있다. 네트워크 레벨마다 보호 범위가 설정될 수 있다. 예를 들어, 3개의 네트워크 레벨들을 운용하는 전자 장치(101)는 3개의 보호 범위들을 설정할 수 있다. 다른 예를 들어, 2개의 네트워크 레벨들을 운용하는 전자 장치(101)는 2개의 보호 범위들을 설정할 수 있다. 네트워크 레벨들은, 지정되는 네트워크 품질에 따라 단계적으로 구별될 수 있다. 이 때, 네트워크 품질에 대한 지정된사항이 낮아질수록, 보호 범위는 좁아질 수 있다. 즉, 보호 범위를 줄임으로써, 전자 장치(101)는 보안성이 높은 트래픽에 대해, 일정 수준 이상의 네트워크 품질을 보장할 수 있다.
일 실시예에 따라, VPN 모듈(310)은 모니터링 모듈(320)로부터 네트워크 레벨에 대한 정보를 획득할 수 있다. 예를 들어, 동작(706)에서, VPN 모듈(310)은 변경된 네트워크 레벨에 대한 알림 메시지를, 모니터링 모듈(320)로부터 수신할 수 있다. VPN 모듈(310)은 네트워크 레벨을 현재 네트워크 레벨에서 상기 변경된 네트워크 레벨로 변경할 수 있다. VPN 모듈(310)은 변경된 네트워크 레벨에 대응하는 보호 범위를 식별할 수 있다.
동작(707)에서, VPN 모듈(310)은 설정 조건의 충족 여부를 식별할 수 있다. 설정 조건은, 전송될 패킷이 보호 범위에 속하는 것을 의미한다. 다시 말해, 설정 조건은 전송될 패킷이 VPN 연결을 통한 보호 대상인지 여부를 의미한다. VPN 모듈(310)은 설정 조건이 충족되는 경우, 동작(711)을 수행할 수 있다. VPN 모듈(310)은 설정 조건이 충족되지 않는 경우, 동작(709)을 수행할 수 있다.
동작(709)에서, VPN 모듈(310)은 VPN 경로 대신 일반 경로를 이용할 수 있다. 일반 경로란, VPN 서버(210)의 경유 없이, 전자 장치(101)가 인터넷 네트워크(250)에 접속하는 경로를 의미한다.
동작(711)에서, VPN 모듈(310)은 패킷을 암호화할 수 있다. VPN 모듈(310)은 VPN 연결을 통해 전송되도록, 암호화를 수행할 수 있다. 패킷이 VPN 터널에 포함될 경우, 상기 패킷은 암호화될 수 있다. VPN 터널은, 터널링을 지원하는 프로토콜을 사용하여 구현될 수 있다.
동작(711)에서, VPN 모듈(310)은 VPN 경로를 이용하여 패킷을 전송할 수 있다. VPN 경로란, VPN 서버(210)의 경유를 통해, 전자 장치(101)가 인터넷 네트워크에 접속하는 경로를 의미한다. VPN 경로는 일반 경로를 우회하기 때문에, 전자 장치(101)에서의 통신의 보안성이 향상될 수 있다. VPN 모듈(310)은 암호화된 패킷을 VPN 경로의 VPN 서버(210)에게 전송할 수 있다.
상술된 동작들은 VPN 모듈(310)에서의 동작들로, VPN 모듈(310)은 모니터링 모듈(320)과 독립적으로 구동될 수 있다. 모니터링 모듈(320)은 VPN 연결 및 상기 VPN 연결에 대한 보호 범위 판단과는 별개로, VPN 연결에 대한 네트워크 품질을 측정하고, 네트워크 레벨을 식별할 수 있다.
동작(731)에서, 모니터링 모듈(320)은 품질 측정을 수행할 수 있다. 모니터링 모듈(320)은 네트워크 품질을 측정할 수 있다. 네트워크 품질이란, 네트워크 대역폭, 네트워크 지연, 네트워크 혼잡, 또는 패킷 손실률 중 적어도 하나를 포함할 수 있다. 예를 들어, 네트워크 품질은 현재 네트워크 대역폭에 기반하여 결정될 수 있다. 예를 들어, 네트워크 품질은 네트워크 혼잡 정도에 기반하여 결정될 수 있다. 예를 들어, 네트워크 품질은 네트워크 지연 시간에 기반하여 결정될 수 있다. 또한, 예를 들어, 네트워크 품질은 패킷 손실률에 기반하여 결정될 수 있다.
동작(733)에서, 모니터링 모듈(320)은 네트워크 레벨을 결정할 수 있다. 모니터링 모듈(320)은 네트워크 품질에 기반하여 네트워크 레벨을 결정할 수 있다. 모니터링 모듈(320)은 측정된 네트워크 품질이 속하는 품질 범위에 대응하는 네트워크 레벨을 결정할 수 있다. 네트워크 품질을 측정하기 위해, 하나 또는 복수의 지표들(예: 대역폭, 지연, 혼잡, 패킷 손실률)이 이용될 수 있다. 각 지표는 개별적으로 측정되거나, 조합되어 측정될 수 있으며, 지표들에 대한 조건들이 결합됨으로써, 네트워크 레벨이 특정될 수 있다. 예를 들어, 표 1과 같이, 네트워크 지연 및 패킷 손실률이 네트워크 레벨을 결정하기 위하여, 함께 이용될 수 있다.
동작(735)에서, 모니터링 모듈(320)은 네트워크 레벨이 변경되는지 여부를 결정할 수 있다. 모니터링 모듈(320)은 이전 네트워크 레벨을 식별할 수 있다. 이전 네트워크 레벨이란, VPN 모듈(310)에서 현재 설정된 네트워크 레벨을 의미한다. 모니터링 모듈(320)은 측정 네트워크 레벨을 식별할 수 있다. 측정 네트워크 레벨이란, 동작(733)에서 식별된 네트워크 레벨을 의미할 수 있다. 모니터링 모듈(320)은 이전 네트워크 레벨과 측정 네트워크 레벨을 비교할 수 있다. 모니터링 모듈(320)은 네트워크 레벨이 변경된 경우, VPN 모듈(310)에게 알림 메시지를 전송할 수 있다. 모니터링 모듈(320)은 VPN 연결을 위한 보호 범위를 변경하기 위하여, VPN 모듈(310)에게 알림 메시지를 전송할 수 있다. 상기 알림 메시지는, 변경된 네트워크 레벨, 다시 말해, 측정 네트워크 레벨에 대한 정보를 포함할 수 있다. 한편, 모니터링 모듈(320)은 네트워크 레벨이 변경되지 않은 경우, 동작(731)을 다시 수행할 수 있다. 모니터링 모듈(320)은 네트워크 품질을 다시 측정할 수 있다.
한편, 도 7에서는, 네트워크 레벨이 변경된 경우, 모니터링 모듈(320)은 알림 메시지를 VPN 모듈에게 전송하는 것만 도시되었으나, 모니터링 모듈(320)의 품질 모니터링을 반복적으로 수행할 수 있다. 즉, 모니터링 모듈(320)은 VPN 연결이 해제될 때까지, 지속적으로 수행될 수 있다. 모니터링 모듈(320)은 보호 범위에 따른 스플릿 터널링과 상관없이, 독립적으로, 품질 모니터링을 수행할 수 있다. 따라서, 전자 장치(101)는, VPN 연결에 대한 네트워크 품질의 변화에 응답하여, 네트워크 레벨을 동적으로 조정할 수 있다.
동작(751)에서, VPN 서버(210)는 패킷 해독(decryption)을 수행할 수 있다. VPN 서버(210)는 VPN 클라이언트인 전자 장치(101)의 VPN 모듈(310)로부터 암호화된 패킷을 수신할 수 있다. VPN 서버(210)는 암호화된 패킷을 해독할 수 있다.
동작(753)에서, VPN 서버(210)는 해독된(decrypted) 패킷을 목적지에게 전송할 수 있다. VPN 서버(210)는 해독된 패킷을 인터넷 네트워크(250)를 목적지에게 전송할 수 있다. VPN 서버(210)는 인터넷 네트워크(250)를 통해 목적지 주소에 대응하는 노드(예: 다른 전자 장치, 외부 서버)에게 복호된 패킷을 전송할 수 있다.
본 개시의 실시예들에 따른 전자 장치 및 방법은, 네트워크 환경 변화에 따라, VPN 연결을 유지한 채로, 동적으로 보호 범위를 재설정함으로써, 네트워크 속도 저하를 줄일 수 있다. VPN 연결을 상시 유지함으로써, VPN 연결의 단절이 발생하지 않고, 재설정으로 인한 오버헤드가 감소할 수 있다. VPN 서버 별 검사를 수행하지 않고, 전자 장치에서 자체적으로 보호 범위를 조절할 수 있기 때문에, 추가적인 인프라 구축이 요구되지 않을 수 있다.
도 8은, 일 실시예에 따른, 네트워크 레벨의 보호 범위를 설정하기 위한 UI(user interface)의 예를 도시한다. VPN 클라이언트로서, 전자 장치(101)는 디스플레이(예: 디스플레이 모듈(160))를 통해, 보호 범위를 설정하기 위한 UI를 표시할 수 있다.
도 8을 참조하면, 전자 장치(101)는 네트워크 레벨의 보호 범위를 설정하기 위한 UI(800)를 표시할 수 있다. UI(800)는 네트워크 레벨 설정 영역(810), 품질 범위 설정 영역(820), 보호 단위 설정 영역(830), 및 보호 범위 설정 영역(840)을 포함할 수 있다.
UI(800)는 네트워크 레벨 설정 영역(810)을 포함할 수 있다. 네트워크 레벨 설정 영역(810)은, VPN 연결을 위해 설정 가능한 복수의 네트워크 레벨들 각각을 지시하기 위한 객체를 포함할 수 있다. 예를 들어, 네트워크 레벨 설정 영역(810)은 3개의 네트워크 레벨들(예: 고속 네트워크 레벨, 중속 네트워크 레벨, 저속 네트워크 레벨) 각각을 지시하기 위한 객체를 포함할 수 있다.
UI(800)는 품질 범위 설정 영역(820)을 포함할 수 있다. 품질 범위 설정 영역(820)은 설정된 네트워크 레벨에 대응하는 품질 범위를 포함할 수 있다. 예를 들어, 적응적은 품질 범위 조정을 위해 지정되는 네트워크 품질은 네트워크 지연 및 네트워크 손실률(혹은 패킷 손실률)일 수 있다. 품질 범위 설정 영역(820)은 네트워크 지연의 품질 범위를 설정하기 위한 시각적 객체를 포함할 수 있다. 품질 범위 설정 영역(820)은 네트워크 손실률의 품질 범위를 설정하기 위한 시각적 객체를 포함할 수 있다. 예를 들어, 고속 네트워크 레벨에서, 지연 시간을 40ms, 손실률을 10%로 설정하고, 전자 장치(101)의 품질이 설정된 범위 이내라면, 전자 장치(101)는 현재 네트워크 품질에 대응하는 네트워크 레벨은 상기 소고 네트워크 레벨임을 결정할 수 있다.
UI(800)는 보호 단위 설정 영역(830)을 포함할 수 있다. 보호 단위 설정 영역(830)은, 보호 범위의 단위를 설정하기 위한 시각적 객체를 포함할 수 있다. 보호 범위는, 네트워크 레벨 별로 다르게 설정될 수 있다. 네트워크 레벨의 지정 품질의 기준이 높을수록 보호 범위가 넓고, 네트워크 레벨의 지정 품질의 기준이 낮을수록 보호 범위가 좁도록 설정될 수 있다. 보호 범위를 넓히거나 좁히기 위한 기준 단위로써, 애플리케이션, 워크스페이스, 또는 프로토콜이 이용될 수 있다.
UI(800)는 보호 범위 설정 영역(840)을 포함할 수 있다. 보호 범위 설정 영역(840)은 보호 범위를 설정하기 위한 시각적 객체를 포함할 수 있다. 보호 범위 설정 영역(840)은 설정된 네트워크 레벨 및 설정된 보호 단위에 기반하여 결정되는 아이템들을 포함할 수 있다. 예를 들어, 네트워크 레벨 설정 영역(810)에서, 고속 네트워크 레벨이 선택되고, 보호 단위 설정 영역(830)에서 워크스페이스 별 보호가 선택된 경우, 전자 장치(101)는 워크스페이스 단위의 보호 아이템들을 표시할 수 있다. 전자 장치(101)는 'All', 'User workspace', 'Enterprise workspace', 및 'Secure workspace'를 표시할 수 있다. 네트워크 레벨에 대응하는 보호 아이템은, 시스템 설정이나 사용자의 입력에 의해 설정될 수 있다. 예를 들어, 사용자 입력에 따라, 고속 네트워크 레벨에 대응하는 보호 범위로서, 'All'이 선택될 수 있다. 다른 예를 들어, 시스템 설정에 따라, 고속 네트워크 레벨에 대응하는 보호 범위로서, 'All'이 선택될 수 있다.
보호 단위 별 패킷들은 하기의 표와 같이 구별될 수 있다.
Figure PCTKR2023013286-appb-img-000002
'고속 대역폭(fast bandwidth)'는 제1 네트워크 레벨 혹은 고속 네트워크 레벨을 의미한다. 중간 대역폭(middle bandwidth)'는 제2 네트워크 레벨 혹은 중속 네트워크 레벨을 의미한다. '저속 대역폭(slow bandwidth)'는 제3 네트워크 레벨 혹은 고속 네트워크 레벨을 의미한다. 제1 네트워크 레벨은, 제2 네트워크 레벨 및 제3 네트워크 레벨보다 높다고 표현될 수 있다. 네트워크 레벨이 다른 네트워크 레벨보다 높음은. 상기 네트워크 레벨에서 지정하는 최저 네트워크 품질이 상기 다른 네트워크 레벨에서 지정하는 최저 네트워크 품질보다 높음을 의미할 수 있다.
도 8에서는 도시되지 않았으나, 일 실시예에 따라, 프로토콜 별 보호가 이용될 수 있다. 프로토콜 별 보호는, 프로토콜에서 사용되는 포트나 헤더 종류를 통해 분류될 수 있다. 예를 들어, 자체적으로 높은 보안 등급을 갖는 프로토콜은, 특정 네트워크 품질에서는, VPN을 통해 한 번 더 보호할 필요성이 낮을 수 있다. 상기 프로토콜에 대응하는 패킷들은 저속 네트워크 레벨에서는 보호되지 않을 수 있다. 다른 예를 들어, 항상 높은 보안성이 지정되는 패킷들은, 네트워크 레벨과 상관없이 보호할 필요가 있다. 일 예로, DNS 패킷들은 네트워크 레벨과 상관없이 항상 보호될 수 있다. 즉, 가장 좁은 보호 범위를 갖는 네트워크 레벨에서도, 상기 DNS 패킷들은 보호될 수 있다.
도 8에서는 도시되지 않았으나, 일 실시예에 따라, 앱 별 보호가 이용될 수 있다. 전자 장치(101)는 자주 사용되는 앱들(예: 히스토리에서 상위 N개(N은 1 이상의 정수))은 가장 낮은 네트워크 품질의 네트워크 레벨에서도 보호함으로써, 보안성을 높일 수 있다. 전자 장치(101)는 최근 사용되는 앱들(예: 히스토리에서 상위 M개(M은 1 이상의 정수))은 제2 네트워크 레벨에서 보호함으로써, 보안성 및 사용성의 효율을 모두 높일 수 있다. 한편, 전자 장치(101)는 가장 낮은 네트워크 레벨에서, 자주 사용되는 앱들 외에 다른 앱들에 대해서는 보호 범위에 포함시키지 않음으로써, 사용자에게 효율적인 VPN 보호를 제공할 수 있다.
도 9a 및 도 9b는 일 실시예에 따른, 네트워크 레벨의 파라미터를 조정하기 위한 UI의 예들을 도시한다. 도 9a에서는 제1 네트워크 레벨(예: 고속 네트워크 레벨)에 대응하는 UI(900)가 서술된다. 도 9b에서는 제2 네트워크 레벨(예: 중속 네트워크 레벨)에 대응하는 UI(950)가 서술된다.
도 9a를 참고하면, 전자 장치(101)는 네트워크 레벨의 보호 범위를 설정하기 위한 UI(900)를 표시할 수 있다. UI(900)는 제1 네트워크 레벨(즉, 고속 네트워크 레벨)에 대응하는 네트워크 레벨 설정 영역(910), 제1 네트워크 레벨에 대응하는 품질 범위 설정 영역(920), 제1 네트워크 레벨에 대응하는 보호 단위 설정 영역(930), 및 제1 네트워크 레벨에 대응하는 보호 범위 설정 영역(940)을 포함할 수 있다. UI(900)의 각 영역에 대한 설명을 위해, 도 8의 UI(800)의 네트워크 레벨 설정 영역(810), 품질 범위 설정 영역(820), 보호 단위 설정 영역(830), 및 보호 범위 설정 영역(840)에 대한 설명들이 참조될 수 있다.
네트워크 레벨 설정 영역(910)은, 현재 네트워크 레벨이 제1 네트워크 레벨임을 가리킬 수 있다. 품질 범위 설정 영역(920)은 제1 네트워크 레벨에 대응하는 품질 임계값들에 대한 시각적 객체를 포함할 수 있다. 예를 들어, 제1 네트워크 레벨은, 350ms 미만의 네트워크 지연 및 35% 미만의 패킷 손실률을 지정될 수 있다. 측정되는 네트워크 품질이, 지정된 품질 범위 이내라면, 전자 장치(101)는 현재 네트워크 레벨이 제1 네트워크 레벨임을 식별할 수 있다. 제1 네트워크 레벨에 대응하는 품질 임계값(예: 350ms, 35%)은 사용자 입력에 따라 재설정될 수 있다. 보호 단위 설정 영역(930)에서, 워크스페이스 별 보호가 선택되고, 보호 범위 설정 영역(940)에서, 전체 영역이 보호 범위로 선택될 수 있다.
도 9b를 참고하면, 전자 장치(101)는 네트워크 레벨의 보호 범위를 설정하기 위한 UI(950)를 표시할 수 있다. UI(950)는 제2 네트워크 레벨(즉, 중속 네트워크 레벨)에 대응하는 네트워크 레벨 설정 영역(960), 제2 네트워크 레벨에 대응하는 품질 범위 설정 영역(970), 제2 네트워크 레벨에 대응하는 보호 단위 설정 영역(980), 및 제2 네트워크 레벨에 대응하는 보호 범위 설정 영역(990)을 포함할 수 있다. UI(950)의 각 영역에 대한 설명을 위해, 도 8의 UI(800)의 네트워크 레벨 설정 영역(810), 품질 범위 설정 영역(820), 보호 단위 설정 영역(830), 및 보호 범위 설정 영역(840)에 대한 설명들이 참조될 수 있다.
네트워크 레벨 설정 영역(960)은, 현재 네트워크 레벨이 제2 네트워크 레벨임을 가리킬 수 있다. 품질 범위 설정 영역(970)은 제2 네트워크 레벨에 대응하는 품질 임계값들에 대한 시각적 객체를 포함할 수 있다. 예를 들어, 제2 네트워크 레벨은, 500ms 미만의 네트워크 지연 및 50% 미만의 패킷 손실률이 지정될 수 있다. 제2 네트워크 레벨에 대응하는 품질 임계값들은, 제1 네트워크 레벨에 대응하는 품질 임계값들보다 클 수 있다. 네트워크 레벨은, 네트워크 품질에 의존적일 수 있다. 중속 네트워크 레벨의 품질 지정 조건은, 고속 네트워크 레벨보다 품질 지정 조건보다 덜 엄격할 수 있다. 즉, 제2 네트워크 레벨에서 지정하는 네트워크 품질이 제1 네트워크 레벨에서 지정하는 네트워크 품질보다 낮을 수 있다. 지연 시간이나 손실률 같은 품질 파라미터는 낮을수록 좋은 품질을 의미하기 때문이다.
측정되는 네트워크 품질이, 제1 네트워크 레벨에서 지정하는 품질 범위 밖이고, 제2 네트워크 레벨에서 지정하는 품질 범위 이내라면, 전자 장치(101)는 현재 네트워크 레벨이 제2 네트워크 레벨임을 식별할 수 있다. 제2 네트워크 레벨에 대응하는 품질 임계값(예: 500ms, 50%)은 사용자 입력 또는 시스템 설정에 따라 재설정될 수 있다. 일 실시예에 따라, 제2 네트워크 레벨에 대응하는 지연 시간 임계값 및 손실률 임계값은 제1 네트워크 레벨에 대응하는 지연 시간 임계값 및 손실률 임계값보다 높도록 설정될 수 있다. 보호 단위 설정 영역(980)에서, 워크스페이스 별 보호가 선택되고, 보호 범위 설정 영역(990)에서, 전체 영역 대신 기업 워크스페이스만이 보호 범위로 선택될 수 있다.
전자 장치(101)는 현재 설정된 Workspace 별 보호를 진행하기 위해 각 App의 UID를 확인할 수 있다. 제1 네트워크 레벨에서는 전체 워크스페이스가 보호되고, 제2 네트워크 레벨에서는 기업 워크스페이스만 보호될 수 있다. 전자 장치(101)는 애플리케이션의 별 식별자(예: UID)에 기반하여, 기업 워크스페이스의 보호를 위한 개별 보호를 수행할 수 있다. 여기서, '보호'는 관련 패킷이 VPN 연결을 통해 인터넷 네트워크로 전송됨을 의미한다.
본 개시의 실시예들에 따른 전자 장치(101) 및 방법은 VPN 연결 시 네트워크 환경 변화에 따른 보안성 및 사용성의 효율화를 제공할 수 있다. VPN 연결을 상시 유지함으로써, VPN 연결의 단절 없이, 오버헤드가 감소할 수 있다. 뿐만 아니라, 서버에서의 추가적인 인프라나, 별도의 동작 없이, VPN 클라이언트 내부에서 보호 범위를 조절하기 때문에, 구현이 용이하다. 측정된 네트워크 기준에 따라, 보호 범위가 동적으로 조절됨으로써, 네트워크 품질이 나빠지더라도, VPN 연결을 통한 최소한의 보호가 달성될 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
실시예들에 있어서, 전자 장치가 제공된다. 상기 전자 장치는, 적어도 하나의 송수신기, 인스트럭션들을 저장하도록 구성된 메모리, 및 상기 적어도 하나의 송수신기 및 상기 메모리와 작동적으로 결합된 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 상기 인스트럭션들이 실행될 시, VPN을 위한 네트워크 레벨을 조정하도록 구성될 수 있다. 상기 적어도 하나의 프로세서는, VPN(virtual private network) 서버와 VPN 연결을 생성하도록 구성될 수 있다. 상기 적어도 하나의 프로세서는, 상기 VPN 연결에 대한 네트워크 품질에 기반하여, 네트워크 레벨을 식별하도록 구성될 수 있다. 상기 적어도 하나의 프로세서는, 복수의 보호 범위들 중에서, 상기 네트워크 레벨에 대응하는 보호 범위(protection range)를 식별하도록 구성될 수 있다. 상기 적어도 하나의 프로세서는, 외부 전자 장치를 위한 패킷이 상기 보호 범위 내인 경우, 상기 패킷을 암호화하고, 상기 암호화된 패킷을 상기 VPN 연결에 따른 VPN 서버를 통해 상기 외부 전자 장치에게 전송하도록 구성될 수 있다. 상기 적어도 하나의 프로세서는, 상기 외부 전자 장치를 위한 패킷이 상기 보호 범위 내가 아닌 경우, 상기 패킷을, 상기 VPN 서버 없이, 상기 외부 전자 장치에게 전송하도록 구성될 수 있다.
일 실시예에 따라, 상기 네트워크 품질은, 상기 VPN 연결에 대한 지연(latency) 또는 손실(loss) 정보, 또는 대역폭(bandwidth) 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라, 상기 네트워크 레벨은 이전 네트워크 레벨과 다를 수 있다. 상기 네트워크 품질이, 상기 이전 네트워크 레벨에서의 네트워크 품질보다 낮을 수 있다. 상기 보호 범위는, 상기 복수의 보호 범위들 중에서 상기 이전 네트워크 레벨에 대응하는 보호 범위보다 좁도록 구성될 수 있다.
일 실시예에 따라, 상기 복수의 보호 범위들은, 모든 애플리케이션들과 관련된 패킷들을 포함하는 제1 보호 범위, 미리 지정된 개수의, 최근 사용된 적어도 하나의 애플리케이션과 관련된 패킷들을 포함하는 제2 보호 범위, 또는 미리 지정된 적어도 하나의 애플리케이션과 관련된 패킷들을 포함하는 제3 보호 범위 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라, 상기 복수의 보호 범위들은, UID(user identifier)에 기반하여 구분되는, 서로 다른 워크스페이스(workspace) 영역들에 대응할 수 있다.
일 실시예에 따라, 상기 복수의 보호 범위들은, 모든 패킷들을 포함하는 제1 보호 범위, 비-보안(insecure) 프로토콜의 패킷들을 포함하는 제2 보호 범위, 또는 DNS(domain name server) 패킷들 만을 포함하는 제3 보호 범위 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라, 상기 보호 범위를 식별하기 위하여, 상기 적어도 하나의 프로세서는, 품질 모니터링에 기반하여 상기 네트워크 레벨이 변경되는지 여부를 식별하도록 구성될 수 있다. 상기 보호 범위를 식별하기 위하여, 상기 적어도 하나의 프로세서는, 상기 네트워크 레벨이 변경되는 경우, 상기 변경된 네트워크 레벨에 대응하는 보호 범위를 식별하도록 구성될 수 있다. 상기 보호 범위를 식별하기 위하여, 상기 적어도 하나의 프로세서는, 상기 네트워크 레벨이 변경되지 않는 경우, 기설정된 보호 범위를 식별하도록 구성될 수 있다. 상기 품질 모니터링은, 상기 VPN 연결의 생성에 응답하여, 품질 모니터링에 기반하여 개시될 수 있다.
일 실시예에 따라, 상기 네트워크 레벨을 식별하기 위하여, 상기 적어도 하나의 프로세서는, 상기 VPN 연결에 대한 네트워크 품질을 획득하도록 구성될 수 있다. 상기 네트워크 레벨을 식별하기 위하여, 상기 적어도 하나의 프로세서는, 복수의 품질 범위들 중에서, 상기 네트워크 품질이 속하는 품질 범위를 식별하도록 구성될 수 있다. 상기 식별된 품질 범위는, 상기 네트워크 레벨에 대응할 수 있다. 상기 복수의 품질 범위들은 제1 품질 범위 및 상기 제1 품질 범위와 다른 제2 품질 범위를 포함할 수 있다. 상기 복수의 보호 범위들은, 상기 제1 품질 범위와 연관되는 제1 보호 범위 및 상기 제2 품질 범위와 연관되는 제2 보호 범위를 포함할 수 있다. 상기 제2 보호 범위는 상기 제1 보호 범위와 다를 수 있다.
일 실시예에 따라, 상기 적어도 하나의 프로세서는, 디스플레이를 통해, 네트워크 레벨 별 품질 범위를 설정하기 위한 사용자 인터페이스(user interface, UI)를 표시하도록 구성될 수 있다. 상기 UI 상의 사용자 입력에 기반하여, 상기 복수의 품질 범위들을 결정하도록 구성될 수 있다.
일 실시예에 따라, 상기 적어도 하나의 프로세서는, 디스플레이를 통해, 네트워크 레벨 별 보호 범위 설정을 위한 사용자 인터페이스(user interface, UI)를 표시하도록 구성될 수 있다. 상기 적어도 하나의 프로세서는, 상기 UI 상의 사용자 입력에 기반하여, 상기 복수의 보호 범위들을 결정하도록 구성될 수 있다.
실시예들에 있어서, 전자 장치에 의해 수행되는 방법이 제공된다. 상기 방법은, VPN(virtual private network) 서버와 VPN 연결을 생성하는 동작을 포함할 수 있다. 상기 방법은 상기 VPN 연결에 대한 네트워크 품질에 기반하여, 네트워크 레벨을 식별하는 동작을 포함할 수 있다. 상기 방법은 복수의 보호 범위들 중에서, 상기 네트워크 레벨에 대응하는 보호 범위(protection range)를 식별하는 동작을 포함할 수 있다. 상기 방법은 외부 전자 장치를 위한 패킷이 상기 보호 범위 내인 경우, 상기 패킷을 암호화하고, 상기 암호화된 패킷을 상기 VPN 연결에 따른 VPN 서버를 통해 상기 외부 전자 장치에게 전송하는 동작을 포함할 수 있다. 상기 방법은 상기 외부 전자 장치를 위한 패킷이 상기 보호 범위 내가 아닌 경우, 상기 패킷을, 상기 VPN 서버 없이, 상기 외부 전자 장치에게 전송하는 동작을 포할 수 있다.
일 실시예에 따라, 상기 네트워크 품질은, 상기 VPN 연결에 대한 지연(latency) 또는 손실(loss) 정보, 또는 대역폭(bandwidth) 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라, 상기 네트워크 레벨은 이전 네트워크 레벨과 다를 수 있다.
상기 네트워크 품질은, 상기 이전 네트워크 레벨에서의 네트워크 품질보다 낮을 수 있다. 상기 보호 범위는, 상기 복수의 보호 범위들 중에서 상기 이전 네트워크 레벨에 대응하는 보호 범위보다 좁도록 구성될 수 있다.
일 실시예에 따라, 상기 복수의 보호 범위들은, 모든 애플리케이션들과 관련된 패킷들을 포함하는 제1 보호 범위, 미리 지정된 개수의, 최근 사용된 적어도 하나의 애플리케이션과 관련된 패킷들을 포함하는 제2 보호 범위, 또는 미리 지정된 적어도 하나의 애플리케이션과 관련된 패킷들을 포함하는 제3 보호 범위 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라, 상기 복수의 보호 범위들은, UID(user identifier)에 기반하여 구분되는, 서로 다른 워크스페이스(workspace) 영역들에 대응할 수 있다.
일 실시예에 따라, 상기 복수의 보호 범위들은, 모든 패킷들을 포함하는 제1 보호 범위, 비-보안(insecure) 프로토콜의 패킷들을 포함하는 제2 보호 범위, 또는 DNS(domain name server) 패킷들 만을 포함하는 제3 보호 범위 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라, 상기 보호 범위를 식별하는 동작은, 품질 모니터링에 기반하여 상기 네트워크 레벨이 변경되는지 여부를 식별하는 동작을 포함할 수 있다. 상기 보호 범위를 식별하는 동작은, 상기 네트워크 레벨이 변경되는 경우, 상기 변경된 네트워크 레벨에 대응하는 보호 범위를 식별하는 동작을 포함할 수 있다. 상기 보호 범위를 식별하는 동작은, 상기 네트워크 레벨이 변경되지 않는 경우, 기설정된 보호 범위를 식별하는 동작을 포함할 수 있다. 상기 품질 모니터링은, 상기 VPN 연결의 생성에 응답하여, 품질 모니터링에 기반하여 개시될 수 있다.
일 실시예에 따라, 상기 네트워크 레벨을 식별하는 동작은, 상기 VPN 연결에 대한 네트워크 품질을 획득하는 동작을 포함할 수 있다. 복수의 품질 범위들 중에서, 상기 네트워크 품질이 속하는 품질 범위를 식별하는 동작을 포함할 수 있다. 상기 식별된 품질 범위는, 상기 네트워크 레벨에 대응할 수 있다. 상기 복수의 품질 범위들은 제1 품질 범위 및 상기 제1 품질 범위와 다른 제2 품질 범위를 포함할 수 있다. 상기 복수의 보호 범위들은, 상기 제1 품질 범위와 연관되는 제1 보호 범위 및 상기 제2 품질 범위와 연관되는 제2 보호 범위를 포함할 수 있다. 상기 제2 보호 범위는 상기 제1 보호 범위와 다를 수 있다.
일 실시예에 따라, 상기 방법은 디스플레이를 통해, 네트워크 레벨 별 품질 범위를 설정하기 위한 사용자 인터페이스(user interface, UI)를 표시하는 동작을 포함할 수 있다. 상기 방법은 상기 UI 상의 사용자 입력에 기반하여, 상기 복수의 품질 범위들을 결정하는 동작을 포함할 수 있다.
일 실시예에 따라, 상기 방법은 디스플레이를 통해, 네트워크 레벨 별 보호 범위 설정을 위한 사용자 인터페이스(user interface, UI)를 표시하는 동작을 포함할 수 있다. 상기 방법은, 상기 UI 상의 사용자 입력에 기반하여, 상기 복수의 보호 범위들을 결정하는 동작을 포함할 수 있다.
실시예들에 있어서, 일시적 저장 매체(non-transitory storage medium)가 제공된다. 상기 비-일시적 저장 매체는 인스트럭션들을 저장하는 메모리를 포함할 수 있다. 상기 인스트럭션들은, 적어도 하나의 프로세서에 의해 실행될 때, 전자 장치가 VPN(virtual private network) 서버와 VPN 연결을 생성하고, 상기 VPN 연결에 대한 네트워크 품질에 기반하여, 네트워크 레벨을 식별하고, 복수의 보호 범위들 중에서, 상기 네트워크 레벨에 대응하는 보호 범위(protection range)를 식별하고, 외부 전자 장치를 위한 패킷이 상기 보호 범위 내인 경우, 상기 패킷을 암호화하고, 상기 암호화된 패킷을 상기 VPN 연결에 따른 VPN 서버를 통해 상기 외부 전자 장치에게 전송하고, 상기 외부 전자 장치를 위한 패킷이 상기 보호 범위 내가 아닌 경우, 상기 패킷을, 상기 VPN 서버 없이, 상기 외부 전자 장치에게 전송하도록 야기할 수 있다.
네트워크 환경 변화에 따른, 네트워크 속도를 제어하기 위하여, VPN 경로를 재설정하거나 VPN 터널의 구성을 변경하는 방법이 이용될 수 있다. 그러나, VPN 경로의 재설정은 서비스 단절을 야기한다. 본 개시의 실시예들에 따른 전자 장치 및 방법은, 앱, 워크스페이스, 또는 프로토콜 단위로 구별되는 보호 범위를 구성하고, 보호 범위를 동적으로 조정함으로써, VPN 연결의 사용성 및 보안성을 동시에 높일 수 있다. 특히, VPN 경로를 이용할 실익이 낮은 패킷들을 VPN 터널에서 제외시킴으로써, 전자 장치(101)는 현재 네트워크 환경에 적합한 VPN 서비스를 제공할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 전자 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어™)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다

Claims (15)

  1. 전자 장치에 있어서,
    적어도 하나의 송수신기;
    인스트럭션들을 저장하도록 구성된 메모리; 및
    상기 적어도 하나의 송수신기 및 상기 메모리와 작동적으로 결합된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 인스트럭션들이 실행될 시,
    VPN(virtual private network) 서버와 VPN 연결을 생성하고,
    상기 VPN 연결에 대한 네트워크 품질에 기반하여, 네트워크 레벨을 식별하고,
    복수의 보호 범위들 중에서, 상기 네트워크 레벨에 대응하는 보호 범위(protection range)를 식별하고,
    외부 전자 장치를 위한 패킷이 상기 보호 범위 내인 경우, 상기 패킷을 암호화하고, 상기 암호화된 패킷을 상기 VPN 연결에 따른 VPN 서버를 통해 상기 외부 전자 장치에게 전송하고,
    상기 외부 전자 장치를 위한 패킷이 상기 보호 범위 내가 아닌 경우, 상기 패킷을, 상기 VPN 서버 없이, 상기 외부 전자 장치에게 전송하도록 구성되는,
    전자 장치.
  2. 청구항 1에 있어서,
    상기 네트워크 품질은, 상기 VPN 연결에 대한 지연(latency) 또는 손실(loss) 정보, 또는 대역폭(bandwidth) 중 적어도 하나를 포함하는,
    전자 장치.
  3. 청구항 1 내지 2에 있어서,
    상기 네트워크 레벨은 이전 네트워크 레벨과 다르고,
    상기 네트워크 품질은, 상기 이전 네트워크 레벨에서의 네트워크 품질보다 낮고,
    상기 보호 범위는, 상기 복수의 보호 범위들 중에서 상기 이전 네트워크 레벨에 대응하는 보호 범위보다 좁도록 구성되는,
    전자 장치.
  4. 청구항 1 내지 3에 있어서,
    상기 복수의 보호 범위들은, 모든 애플리케이션들과 관련된 패킷들을 포함하는 제1 보호 범위, 미리 지정된 개수의, 최근 사용된 적어도 하나의 애플리케이션과 관련된 패킷들을 포함하는 제2 보호 범위, 또는 미리 지정된 적어도 하나의 애플리케이션과 관련된 패킷들을 포함하는 제3 보호 범위 중 적어도 하나를 포함하는,
    전자 장치.
  5. 청구항 1 내지 4에 있어서,
    상기 복수의 보호 범위들은, UID(user identifier)에 기반하여 구분되는, 서로 다른 워크스페이스(workspace) 영역들에 대응하는,
    전자 장치.
  6. 청구항 1 내지 5에 있어서,
    상기 복수의 보호 범위들은, 모든 패킷들을 포함하는 제1 보호 범위, 비-보안(insecure) 프로토콜의 패킷들을 포함하는 제2 보호 범위, 또는 DNS(domain name server) 패킷들 만을 포함하는 제3 보호 범위 중 적어도 하나를 포함하는,
    전자 장치.
  7. 청구항 1 내지 6에 있어서, 상기 보호 범위를 식별하기 위하여, 상기 적어도 하나의 프로세서는,
    품질 모니터링에 기반하여 상기 네트워크 레벨이 변경되는지 여부를 식별하고,
    상기 네트워크 레벨이 변경되는 경우, 상기 변경된 네트워크 레벨에 대응하는 보호 범위를 식별하고,
    상기 네트워크 레벨이 변경되지 않는 경우, 기설정된 보호 범위를 식별하도록 구성되고,
    상기 품질 모니터링은, 상기 VPN 연결의 생성에 응답하여, 품질 모니터링에 기반하여 개시되는,
    전자 장치.
  8. 청구항 1 내지 7에 있어서, 상기 네트워크 레벨을 식별하기 위하여, 상기 적어도 하나의 프로세서는,
    상기 VPN 연결에 대한 네트워크 품질을 획득하고,
    복수의 품질 범위들 중에서, 상기 네트워크 품질이 속하는 품질 범위를 식별하도록 구성되고,
    상기 식별된 품질 범위는, 상기 네트워크 레벨에 대응하고,
    상기 복수의 품질 범위들은 제1 품질 범위 및 상기 제1 품질 범위와 다른 제2 품질 범위를 포함하고,
    상기 복수의 보호 범위들은, 상기 제1 품질 범위와 연관되는 제1 보호 범위 및 상기 제2 품질 범위와 연관되는 제2 보호 범위를 포함하고,
    상기 제2 보호 범위는 상기 제1 보호 범위와 다른,
    전자 장치.
  9. 청구항 1 내지 8에 있어서, 상기 적어도 하나의 프로세서는,
    디스플레이를 통해, 네트워크 레벨 별 품질 범위를 설정하기 위한 사용자 인터페이스(user interface, UI)를 표시하고,
    상기 UI 상의 사용자 입력에 기반하여, 상기 복수의 품질 범위들을 결정하도록 추가적으로 구성되는,
    전자 장치.
  10. 청구항 1 내지 9에 있어서,
    상기 적어도 하나의 프로세서는,
    디스플레이를 통해, 네트워크 레벨 별 보호 범위 설정을 위한 사용자 인터페이스(user interface, UI)를 표시하고,
    상기 UI 상의 사용자 입력에 기반하여, 상기 복수의 보호 범위들을 결정하도록 추가적으로 구성되는,
    전자 장치.
  11. 전자 장치에 의해 수행되는 방법에 있어서,
    VPN(virtual private network) 서버와 VPN 연결을 생성하는 동작과,
    상기 VPN 연결에 대한 네트워크 품질에 기반하여, 네트워크 레벨을 식별하는 동작과,
    복수의 보호 범위들 중에서, 상기 네트워크 레벨에 대응하는 보호 범위(protection range)를 식별하는 동작과,
    외부 전자 장치를 위한 패킷이 상기 보호 범위 내인 경우, 상기 패킷을 암호화하고, 상기 암호화된 패킷을 상기 VPN 연결에 따른 VPN 서버를 통해 상기 외부 전자 장치에게 전송하는 동작과,
    상기 외부 전자 장치를 위한 패킷이 상기 보호 범위 내가 아닌 경우, 상기 패킷을, 상기 VPN 서버 없이, 상기 외부 전자 장치에게 전송하는 동작을 포함하는,
    방법.
  12. 청구항 11에 있어서,
    상기 네트워크 품질은, 상기 VPN 연결에 대한 지연(latency) 또는 손실(loss) 정보, 또는 대역폭(bandwidth) 중 적어도 하나를 포함하는,
    방법.
  13. 청구항 11 내지 12에 있어서,
    상기 네트워크 레벨은 이전 네트워크 레벨과 다르고,
    상기 네트워크 품질은, 상기 이전 네트워크 레벨에서의 네트워크 품질보다 낮고,
    상기 보호 범위는, 상기 복수의 보호 범위들 중에서 상기 이전 네트워크 레벨에 대응하는 보호 범위보다 좁도록 구성되는,
    방법.
  14. 청구항 11 내지 13에 있어서,
    상기 복수의 보호 범위들은, 모든 애플리케이션들과 관련된 패킷들을 포함하는 제1 보호 범위, 미리 지정된 개수의, 최근 사용된 적어도 하나의 애플리케이션과 관련된 패킷들을 포함하는 제2 보호 범위, 또는 미리 지정된 적어도 하나의 애플리케이션과 관련된 패킷들을 포함하는 제3 보호 범위 중 적어도 하나를 포함하는,
    방법.
  15. 청구항 11 내지 14에 있어서,
    상기 복수의 보호 범위들은, UID(user identifier)에 기반하여 구분되는, 서로 다른 워크스페이스(workspace) 영역들에 대응하는,
    방법.
PCT/KR2023/013286 2022-09-26 2023-09-05 네트워크 레벨을 조정하기 위한 전자 장치 및 방법 WO2024071715A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0121497 2022-09-26
KR20220121497 2022-09-26
KR10-2022-0135281 2022-10-19
KR1020220135281A KR20240043027A (ko) 2022-09-26 2022-10-19 네트워크 레벨을 조정하기 위한 전자 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2024071715A1 true WO2024071715A1 (ko) 2024-04-04

Family

ID=90478420

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/013286 WO2024071715A1 (ko) 2022-09-26 2023-09-05 네트워크 레벨을 조정하기 위한 전자 장치 및 방법

Country Status (1)

Country Link
WO (1) WO2024071715A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170126584A (ko) * 2016-05-10 2017-11-20 배재대학교 산학협력단 VPN 터널링의 QoS를 위한 다중큐잉 실시간 트래픽 쉐이핑 시스템 및 방법
KR101909400B1 (ko) * 2014-08-28 2018-10-17 알까뗄 루슨트 네트워크 트래픽을 관리하는 방법 및 시스템
KR102158424B1 (ko) * 2019-02-11 2020-09-21 김한수 가상 사설 망 연결 장치 및 방법
US20210273913A1 (en) * 2020-02-28 2021-09-02 Cisco Technology, Inc. Streamlined authentication and authorization for virtual private network tunnel establishment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101909400B1 (ko) * 2014-08-28 2018-10-17 알까뗄 루슨트 네트워크 트래픽을 관리하는 방법 및 시스템
KR20170126584A (ko) * 2016-05-10 2017-11-20 배재대학교 산학협력단 VPN 터널링의 QoS를 위한 다중큐잉 실시간 트래픽 쉐이핑 시스템 및 방법
KR102158424B1 (ko) * 2019-02-11 2020-09-21 김한수 가상 사설 망 연결 장치 및 방법
US20210273913A1 (en) * 2020-02-28 2021-09-02 Cisco Technology, Inc. Streamlined authentication and authorization for virtual private network tunnel establishment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"What is VPN Tunneling?", NORDVPN OFFICIAL BLOG, 9 December 2021 (2021-12-09), Retrieved from the Internet <URL:https://blog.naver.com/nord-vpn/222590717566> *

Similar Documents

Publication Publication Date Title
WO2020213989A1 (en) Electronic device and method for controlling data transmission
WO2021049748A1 (en) Electronic device for receiving data packet in bluetooth network environment and method thereof
WO2019235813A1 (en) Electronic device supporting multiple wireless communication protocols and method therefor
WO2021118158A1 (en) Electronic device for controlling interface between a plurality of integrated circuits and operation method thereof
WO2020055022A1 (ko) 빔을 제어하는 방법 및 그 전자 장치
WO2019199084A1 (ko) 무선 통신 시스템에서 단말 및 이의 제어 방법
WO2022030891A1 (ko) 백업 데이터 복원 방법 및 이를 위한 전자 장치
WO2021101014A1 (ko) 패킷 전달을 제어하는 전자 장치 및 그의 동작 방법
WO2024071715A1 (ko) 네트워크 레벨을 조정하기 위한 전자 장치 및 방법
WO2023101161A1 (ko) 트래픽 최적화 모듈 및 이의 동작 방법
WO2019240447A1 (en) Electronic device and wlan relay function control method thereof
WO2022265190A1 (ko) 전자 장치 및 이의 동작 방법
WO2022145768A1 (ko) 액세서리 장치와 무선 통신을 수행하는 전자 장치 및 그 운용 방법
WO2022114596A1 (ko) 액세서리 장치의 전력 소모를 제어하는 전자 장치 및 그 운용 방법
WO2022186482A1 (ko) 공유 암호 키 갱신을 수행하는 방법 및 이를 지원하는 전자 장치
WO2022080683A1 (ko) 무선 오디오 출력 장치의 연결 제어 방법 및 장치
WO2022215941A1 (ko) 전자 장치의 네트워크 보안 정책 처리 방법
KR20240043027A (ko) 네트워크 레벨을 조정하기 위한 전자 장치 및 방법
WO2021182769A1 (ko) 네트워크 연결 방법 및 이를 지원하는 전자 장치
WO2022154531A1 (ko) 위치 추적 완화를 위한 전자 장치, 방법 및 비 일시적 저장 매체
WO2023140688A1 (ko) 듀얼 커넥티비티를 지원하는 전자 장치 및 그 동작 방법
WO2023128181A1 (ko) 스플릿 터널링 방법 및 장치
WO2022211586A1 (ko) 블록 체인에 기반하여 블록 합의를 수행하는 전자 장치 및 그 운용 방법
WO2024034777A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2021096209A1 (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: 23872835

Country of ref document: EP

Kind code of ref document: A1