WO2019172663A1 - 기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법 - Google Patents

기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법 Download PDF

Info

Publication number
WO2019172663A1
WO2019172663A1 PCT/KR2019/002629 KR2019002629W WO2019172663A1 WO 2019172663 A1 WO2019172663 A1 WO 2019172663A1 KR 2019002629 W KR2019002629 W KR 2019002629W WO 2019172663 A1 WO2019172663 A1 WO 2019172663A1
Authority
WO
WIPO (PCT)
Prior art keywords
ssl
packet
client
server
virtual
Prior art date
Application number
PCT/KR2019/002629
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
Application filed by 주식회사 수산아이앤티 filed Critical 주식회사 수산아이앤티
Priority to US16/975,520 priority Critical patent/US11601405B2/en
Publication of WO2019172663A1 publication Critical patent/WO2019172663A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/286Time to live
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0464Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Definitions

  • the present invention relates to a method for decrypting a secure socket layer for security of a packet transmitted from a predetermined operating system.
  • the present invention was derived to solve the problems of the prior art as described above, and an object of the present invention is to provide a method for decrypting an SSL packet and providing it to a security device in an SSL decryption device that decrypts and provides the same for inspection by an existing security device. It is done.
  • the SSL decryption apparatus establishes a TCP session between the virtual client and the virtual server, and establishes a TCP session between the virtual client and the virtual server.
  • Security devices that could not process SSL packets by intercepting and decrypting SSL packets transmitted and received between the client and server in the middle, and converting them into TCP packets between the virtual client and the virtual server and forwarding them to the security device.
  • the purpose of the present invention is to provide a method for checking encrypted communication without any modification by simply checking the forwarded TCP packet.
  • a TCP (Transmission Control Protocol) session is established between a client and a server in a secure socket layer (SSL) decryption apparatus.
  • SSL secure socket layer
  • the determining whether the packet related to the SSL handshake is a packet transmitted from the predetermined operating system may include checking TTL (Time To Live) information included in an IP header of the packet, and checking the discarded residual. If the value of time is included in the preset range, it may include the step of confirming that the operating system that transmitted the packet is the predetermined operating system.
  • TTL Time To Live
  • the secure socket layer decryption method if the packet related to the SSL handshake is not a packet transmitted from the predetermined operating system, the SSL handshake to exclude the SSL decryption device and to establish SSL between the client and the server. Bypassing an associated packet to be delivered to the server; And bypassing, by the SSL decryption apparatus, SSL packets transmitted and received between the client and the server.
  • the first SSL packet is decrypted and transmitted to the security device, and the decrypted first SSL packet is again encrypted and transmitted to the server, the first SSL delivered from the client to the SSL decryption device.
  • the secure socket layer decryption method when the secure socket layer decryption method receives a third SSL packet transmitted from the server to the SSL decryption apparatus, the secure socket layer decryption method decrypts the third SSL packet and transmits the decrypted third SSL packet to the security apparatus.
  • the method may further include encrypting the data and transmitting the same to the client.
  • decrypting the third SSL packet and transmitting the decoded third SSL packet to the secure device, and encrypting the decrypted third SSL packet to the client again transfer the third SSL packet from the server to the SSL decryption device.
  • the secure socket layer decryption method ends the TCP session between the virtual client and the virtual server and terminates the TCP session.
  • the method may further include transmitting a packet transmitted and received between the virtual client and the virtual server to the security device.
  • the secure socket layer decryption method may further include generating and transmitting a fifth SSL packet including the message to the client when the SSL decryption apparatus is requested to transmit a message from the security apparatus to the client. can do.
  • the request for delivery of a message from the security apparatus to the client receives a FIN packet including the message transmitted from the security apparatus to the client and transmits the FIN packet to the server from the security apparatus.
  • the RST packet it may be determined as a request for delivering a message from the security device to the client.
  • the TCP session is established between the virtual client corresponding to the client and the virtual server corresponding to the server, and the packet transmitted and received between the virtual client and the virtual server when the TCP session is established.
  • the transmitting to the security device may include matching and storing 5 tuples of the virtual client corresponding to 5 tuples of the client, and matching 5 tuples of the virtual server corresponding to 5 tuples of the server.
  • the method may further include storing.
  • a packet about a TCP handshake for establishing a transmission control protocol (TCP) session between a client and a server in a secure socket layer (SSL) decryption apparatus Sensing Checking whether a packet related to the TCP handshake is a packet transmitted from a preset operating system; If the packet regarding the TCP handshake is a packet transmitted from a predetermined operating system, detecting a packet regarding an SSL handshake for connecting an SSL between the server after a TCP session between the client and the server is established; Establishing SSL between the client and the SSL decryption apparatus, and establishing SSL between the SSL decryption apparatus and the server; Establishing a TCP session between the virtual client corresponding to the client and the virtual server corresponding to the server, and transmitting a packet transmitted and received between the virtual client and the virtual server to the security device when establishing the TCP session.
  • TCP transmission control protocol
  • SSL secure socket layer
  • the step of checking whether the packet related to the TCP handshake is a packet transmitted from the predetermined operating system may include checking time to live (TTL) information included in an IP header of the packet, and checking the discarded residual. If the value of time is included in the preset range, it may include the step of confirming that the operating system that transmitted the packet is the predetermined operating system.
  • TTL time to live
  • the SSL decryption apparatus bypasses the packet related to the TCP handshake to the server. ); And bypassing, by the SSL decryption apparatus, packets transmitted and received between the client and the server.
  • the present invention relates to a method for relaying SSL communication between a client and a server, and decrypting the SSL communication to a security device, and receiving a decrypted SSL packet with an existing security device without any action to identify a security problem.
  • the inspection can exclude the client by allowing the SSL communication to be decrypted only to the client operating with the predetermined operating system.
  • FIG. 1 is a diagram illustrating a schematic configuration of a security system capable of inspecting a packet in secure socket layer communication according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating a process of processing an SSL packet received from a predetermined operating system in an SSL decryption apparatus of a security system according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating an SSL handshake process with a client or a server in an SSL decryption apparatus of a security system according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating a process of processing an SSL packet received from a non-preset operating system in an SSL decryption apparatus of a security system according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating an example of a process of processing an SSL packet in an SSL decryption apparatus according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a process of processing an SSL packet transmitted by a client in an SSL decryption apparatus according to an embodiment of the present invention in more detail.
  • FIG. 7 is a flowchart illustrating a process of processing an SSL packet transmitted by a server in more detail in an SSL decryption apparatus according to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating another example of a process of processing an SSL packet in an SSL decryption apparatus according to an embodiment of the present invention.
  • the following embodiments are directed to a method for decrypting an SSL packet to a secure device by using a Secure Sockets Layer (SSL) decryption device that decrypts and provides encrypted traffic so that the existing security device can also inspect it.
  • SSL Secure Sockets Layer
  • FIG. 1 is a diagram illustrating a schematic configuration of a security system capable of inspecting a packet in secure socket layer communication according to an embodiment of the present invention.
  • a security system may include an SSL decryption apparatus and a security apparatus.
  • the client 110 may have at least one client connected to a network.
  • the client may be a terminal such as a PC or a smart phone.
  • the Secure Sockets Layer (SSL) decryption apparatus 120 relays the TCP communication and the SSL communication between the client 110 and the server 150, mirrors the TCP packet, and transmits the TCP packet to the security device 160.
  • the SSL packet is decrypted, converted into a TCP packet, and transmitted to the security device 160.
  • the SSL decryption apparatus 120 sets up a TCP session between the virtual client and the virtual server in advance so that the existing security apparatus 160 can decrypt and process the changed TCP packet in the same manner as before.
  • Handshake packets transmitted and received when establishing a TCP session may be delivered to the security device 160.
  • the security device 160 inspects the data included in the received packet as in the operation of the conventional security device 160, and checks whether the contents contain the prohibited contents or the virus.
  • the message may be forwarded to 110, or a session control message for terminating a TCP session between the client 110 and the server 150 may be transmitted.
  • the packet when a packet is transmitted from the client 110 to the server 150 through the Internet 140 in the network environment, the packet may be delivered through the firewall 130.
  • FIG. 2 is a diagram illustrating a process of processing an SSL packet received from a predetermined operating system in an SSL decryption apparatus of a security system according to an embodiment of the present invention.
  • the client 110 establishes a TCP session to communicate with the server 150 (210).
  • the establishment of the TCP session may be established by the client 110 through a 3-way handshake between the servers 150.
  • the SSL decryption apparatus 120 may be located between the client 110 and the server 150 and may detect whether a TCP session is established through a packet to transmit and receive.
  • the SSL decryption apparatus 120 is a packet (for example, SSL Hello) related to an SSL handshake for connecting an SSL between the client 110 and the server 150 after a TCP session between the client 110 and the server 150 is established. Packet), if the packet related to the SSL handshake is a packet transmitted from a predetermined operating system, and if the result of the check is a packet transmitted from the predetermined operating system, the server transmits a packet related to the SSL handshake. Without transmitting to 150, the SSL decryption apparatus 120 sets SSL between the client 110 and the SSL decryption apparatus 120 (212), and sets SSL between the SSL decryption apparatus 120 and the server 150. (214).
  • SSL Hello for example, SSL Hello
  • the SSL setting may be set through an SSL handshake between the client 110 and the SSL decryption apparatus 120 or the SSL decryption apparatus 120 and the server 150.
  • the SSL handshake is described with reference to FIG. 2, some of the processes in the above SSL handshake process may be omitted as an optional process, and the above SSL handshake process is an embodiment of the present invention. It is not limited to the contents of 2.
  • FIG. 3 is a diagram illustrating an SSL handshake process with a client or a server in an SSL decryption apparatus of a security system according to an embodiment of the present invention.
  • the SSL decryption apparatus 120 of the present invention is located between the client 110 and the server 150, and when the client 110 tries to perform SSL setting with the server 150, the client ( The SSL is set between the 110 and the SSL decryption apparatus 120, and the SSL is configured between the SSL decryption apparatus 120 and the server 150.
  • the SSL decryption apparatus 120 performs SSL setting as a server when performing SSL setting with the client 110, and performs SSL setting as a client when performing SSL setting with the server 150.
  • the Client Hello 310 includes SSL version information, a cipher suite list, and a client random number to use.
  • the cipher suite may include a symmetric key encryption system, a public key encryption system, and a hash function.
  • Sever Hello 302 selects an encryption method and includes a server random number.
  • Server Certificate 303 is a server side certificate.
  • Server Key Exchange 304 is a message sent when there is no certificate or the certificate is used only as a signature.
  • Certificate Request 305 is a message requesting a certificate from a client.
  • the Server Hello Done 306 is a message indicating that all messages sent by the server to the client have been sent.
  • Client Certificate 307 is a client side certificate.
  • the Client Key Exchange 308 includes a PMS symmetric encryption key, a 46 byte random number used to generate a message authentication code, a password made from the server's public key, and the like.
  • Certificate Verify 309 is a message that is sent by digitally signing the client's certificate so that the server can easily verify it. Through this message, the server side can confirm that the public key of the client's certificate is valid and can terminate client authentication.
  • the Change Cipher Spec (310) is a message that all subsequent messages sent from the client are encrypted by an algorithm negotiated with the server.
  • Finished 311 is a message indicating that the SSL handshake is completed at the client.
  • the Change Cipher Spec 312 is a message that all subsequent messages sent from the server are encrypted by an algorithm negotiated with the server.
  • Finished 313 is a message indicating that the SSL handshake is completed in the server.
  • the SSL decryption apparatus 120 determines whether the packet related to the SSL handshake is a packet transmitted from a predetermined operating system, and has a discarded time TTL included in the IP header of the packet. Information is checked, and if the value of the discard remaining time is included in the preset range, it is determined that the client 110 that has sent the packet about the SSL handshake is operating in the preset operating system.
  • TTL starts at 128 and decreases by 1 for each hop.
  • the TTL starts at 256 or 64 and decrements by one every hop.
  • the SSL decryption apparatus 120 may set a value between 65 and 128 (or 106 to 127, 112 to 127, etc.) in the TTL included in the IP header of the received packet. If so, it is determined to be a window, and as described above, the SSL packet can be decrypted.
  • the SSL decryption apparatus 120 sets up a virtual TCP session between the virtual client corresponding to the client 110 and the virtual server corresponding to the server 150 (216), and between the virtual client and the virtual server.
  • a packet transmitting and receiving a TCP session for establishment is transmitted to the security device 160 (218).
  • the SSL decryption apparatus 120 matches and stores 5 tuples of a virtual client corresponding to 5 tuples of the client 110, and 5 tuples of a virtual server corresponding to 5 tuples of the server 150.
  • the five tuples may include at least one of a source IP, a source port, a destination IP, a destination port, a TCP sequence number, and a TCP / UDP protocol.
  • the SSL decryption apparatus 120 When the SSL decryption apparatus 120 receives the first SSL packet transmitted from the client 110 to the SSL decryption apparatus 120 (220), the SSL decryption apparatus decrypts the first SSL packet and pays the payout of the decrypted first SSL packet. A second SSL packet including a load is generated and the second SSL packet is transmitted to the server 150 (222).
  • the SSL decryption apparatus 120 generates a first TCP packet including a payload of the decrypted first SSL packet transmitted from the virtual client to the virtual server and transmits the first TCP packet to the security apparatus 160 (224).
  • the SSL decryption apparatus 120 When the SSL decryption apparatus 120 receives the third SSL packet transmitted from the server 150 to the SSL decryption apparatus 120 (226), the SSL decryption apparatus decrypts the third SSL packet and pays the payout of the decrypted third SSL packet. A fourth SSL packet including the load is generated and the fourth SSL packet is transmitted to the client 110 (228).
  • the SSL decryption apparatus 120 generates a second TCP packet including a payload of the decrypted third SSL packet transmitted from the virtual server to the virtual client and transmits the second TCP packet to the security apparatus 160 (230).
  • the SSL decryption apparatus 120 terminates the TCP session between the virtual client and the virtual server, and then the virtual client and the virtual server.
  • the packet is transmitted to the security device 160 (234).
  • the termination of the TCP session may be terminated through a 3-way handshake between the client 110 and the server 150.
  • FIG. 4 is a diagram illustrating a process of processing an SSL packet received from a non-preset operating system in an SSL decryption apparatus of a security system according to an embodiment of the present invention.
  • the client 110 establishes a TCP session to communicate with the server 150 (410).
  • the establishment of the TCP session may be established by the client 110 through a 3-way handshake between the servers 150.
  • the SSL decryption apparatus 120 may be located between the client 110 and the server 150 and may detect whether a TCP session is established through a packet to transmit and receive.
  • the SSL decryption apparatus 120 is a packet (for example, SSL Hello) related to an SSL handshake for connecting an SSL between the client 110 and the server 150 after a TCP session between the client 110 and the server 150 is established.
  • Packet if the packet related to the SSL handshake is transmitted from a preset operating system, and if the packet related to the SSL handshake is not a packet transmitted from the preset operating system, as shown in FIG. 2 or FIG.
  • the received packet is bypassed to the server 150 so as to establish SSL between the client 110 and the server 150 (420).
  • the SSL setting may be set through an SSL handshake between the client 110 and the server 150.
  • the SSL handshake may be set to SSL through the method as in the example of FIG.
  • the SSL decryption apparatus 120 bypasses the decryption without detecting the SSL packet transmitted from the client 110 to the server 150 (430).
  • the SSL decryption apparatus 120 If the SSL decryption apparatus 120 detects the second SSL packet transmitted from the server 150 to the client 110, the SSL decryption apparatus 120 bypasses the decryption without performing decryption (440).
  • the client 110 or the server 150 may terminate the TCP session when the communication between the client 110 and the server 150 is completed (450). At this time, the termination of the TCP session may be terminated through a 3-way handshake between the client 110 and the server 150.
  • FIG. 5 is a flowchart illustrating an example of a process of processing an SSL packet in an SSL decryption apparatus according to an embodiment of the present invention.
  • the Secure Sockets Layer (SSL) decryption apparatus detects a 3-way handshake process for establishing a TCP session between the client 110 and the server 150.
  • a TCP session between the server 110 and the server 150 is established.
  • the SSL decryption apparatus 120 may determine a packet (for example, an SSL handshake for connecting an SSL between the client 110 and the server 150 after a TCP session between the client 110 and the server 150 is established). Check whether the SSL Hello packet is detected (512).
  • a packet for example, an SSL handshake for connecting an SSL between the client 110 and the server 150 after a TCP session between the client 110 and the server 150 is established.
  • the SSL decryption apparatus 120 determines whether the packet regarding the SSL handshake is a packet transmitted from a predetermined operating system (514).
  • the SSL decryption apparatus 120 checks TTL (Time To Live) information included in the IP header of the packet to confirm whether the packet related to the SSL handshake is a packet transmitted from a predetermined operating system.
  • TTL Time To Live
  • the value of the discard remaining time is included in the preset range, it is determined that the client 110 that has sent the packet regarding the SSL handshake is operating in the preset operating system. For example, if the operating system is windows, TTL starts at 128 and decreases by 1 for each hop. On the other hand, for Android or Linux, the TTL starts at 256 or 64 and decrements by one every hop.
  • the SSL decryption apparatus 120 may set a value between 65 and 128 (or 106 to 127, 112 to 127, etc.) in the TTL included in the IP header of the received packet. If so, it is determined to be a window, and as described above, the SSL packet can be decrypted.
  • step 514 if the packet regarding the SSL handshake is a packet transmitted from a predetermined operating system, SSL is set between the client 110 and the SSL decryption apparatus 120, and the SSL decryption apparatus 120 and the server 150 are connected to each other. SSL is established (516). At this time, the SSL handshake may be set to SSL through the method as in the example of FIG.
  • the SSL decryption apparatus 120 sets up SSL between the client 110 and the SSL decryption apparatus 120, and sets up SSL between the SSL decryption apparatus 120 and the server 150 (516).
  • the SSL decryption apparatus 120 sets up a TCP session between the virtual client corresponding to the client 110 and the virtual server corresponding to the server 150, and establishes a TCP session between the virtual client and the virtual server. In order to transmit and receive the packet to the security device 160 to transmit (518).
  • the SSL decryption apparatus 120 matches and stores 5 tuples of a virtual client corresponding to 5 tuples of the client 110, and 5 tuples of a virtual server corresponding to 5 tuples of the server 150. By matching and storing the matching device, the corresponding device can be searched later.
  • the SSL decryption apparatus 120 determines whether the first SSL packet transmitted from the client 110 to the SSL decryption apparatus 120 is received.
  • the SSL decryption apparatus 120 Upon receiving the first SSL packet as a result of checking in step 520, the SSL decryption apparatus 120 decrypts the first SSL packet and transmits it to the security apparatus 160, and encrypts the decrypted first SSL packet again to the server 150. In step 522, the transmission is performed. Thereafter, the SSL decryption apparatus 120 proceeds to step 524.
  • the SSL decryption apparatus 120 confirms whether the third SSL packet transmitted from the server 150 to the SSL decryption apparatus 120 is received (524).
  • the SSL decryption apparatus 120 Upon receiving the third SSL packet as a result of checking in step 524, the SSL decryption apparatus 120 decrypts the 3 SSL packets and transmits them to the security apparatus 160, and encrypts the decrypted third SSL packets again to the client 110. Transmit (526). Thereafter, the SSL decryption apparatus 120 proceeds to step 528.
  • the SSL decryption apparatus 120 confirms whether a request for delivery of a message from the security apparatus 160 to the client 110 is requested (528).
  • step 528 When the verification result of step 528 is received from the security device 160 to request the delivery of the message to the client 110, the SSL decryption apparatus 120 generates a fifth SSL packet including the message and transmits to the client 110 (530) ). Thereafter, the SSL decryption apparatus 120 proceeds to step 536.
  • step 528 if the request for delivery of the message from the security device 160 to the client 110 is not received, the SSL decryption apparatus 120 confirms that the end of the TCP session is detected between the client 110 and the server 150. (536).
  • step 536 If the end of the TCP session is not detected between the client 110 and the server 150 as a result of step 536, the SSL decryption apparatus 120 returns to step 520 and repeats the subsequent process.
  • the SSL decryption apparatus 120 terminates the TCP session between the virtual client and the virtual server, and transmits and receives when the TCP session is terminated.
  • the packet is transmitted to the security device 160 (538).
  • the SSL decryption apparatus 120 bypasses the SSL packet received from the client 110 to the server 150 (540).
  • FIG. 6 is a flowchart illustrating a process of processing an SSL packet transmitted by a client in an SSL decryption apparatus according to an embodiment of the present invention in more detail.
  • the process of FIG. 6 illustrates step 522 of FIG. 5 in more detail, and the SSL decryption apparatus 120 decrypts the first SSL packet (610).
  • the SSL decryption apparatus 120 generates a first TCP packet including a payload of the decrypted first SSL packet transmitted from the virtual client to the virtual server (612).
  • the SSL decryption apparatus 120 transmits the first TCP packet to the security apparatus 160 (614).
  • the SSL decryption apparatus 120 generates a second SSL packet including a payload of the decrypted first SSL packet (616).
  • the SSL decryption apparatus 120 transmits the second SSL packet to the server 150 (618).
  • FIG. 7 is a flowchart illustrating a process of processing an SSL packet transmitted by a server in more detail in an SSL decryption apparatus according to an embodiment of the present invention.
  • the process of FIG. 7 illustrates step 526 of FIG. 7 in more detail, and the SSL decryption apparatus 120 decrypts the third SSL packet (710).
  • the SSL decryption apparatus 120 generates a second TCP packet including a payload of the decrypted third SSL packet transmitted from the virtual server to the virtual client (712).
  • the SSL decryption apparatus 120 transmits the second TCP packet to the security apparatus 160 (714).
  • the SSL decryption apparatus 120 generates a fourth SSL packet including a payload of the decrypted third SSL packet (716).
  • the SSL decryption apparatus 120 transmits the fourth SSL packet to the client 110 (718).
  • FIG. 8 is a flowchart illustrating another example of a process of processing an SSL packet in an SSL decryption apparatus according to an embodiment of the present invention.
  • the SSL decryption apparatus 120 detects a packet regarding a TCP handshake for establishing a Transmission Control Protocol (TCP) session between a client and a server (810), the packet regarding the TCP handshake is preset. In operation 811, it is checked whether the packet is transmitted from the operating system.
  • TCP Transmission Control Protocol
  • the SSL decryption apparatus 120 checks TTL (Time To Live) information included in the IP header of the packet to confirm whether the packet related to the TCP handshake is a packet transmitted from a predetermined operating system.
  • TTL Time To Live
  • the value of the discard remaining time is included in the preset range, it is determined that the client 110 that has sent the packet regarding the SSL handshake is operating in the preset operating system. For example, if the operating system is windows, TTL starts at 128 and decreases by 1 for each hop. On the other hand, for Android or Linux, the TTL starts at 256 or 64 and decrements by one every hop.
  • the SSL decryption apparatus 120 may set a value between 65 and 128 (or 106 to 127, 112 to 127, etc.) in the TTL included in the IP header of the received packet. If it has, it can be determined as a window.
  • the SSL decoding apparatus 120 causes a TCP session to be established between the client 110 and the server 150 (812).
  • the SSL decryption apparatus 120 determines whether a packet (eg, an SSL Hello packet) related to an SSL handshake for connecting the SSL between the client 110 and the server 150 is detected.
  • a packet eg, an SSL Hello packet
  • the SSL decryption apparatus 120 sets SSL between the client 110 and the SSL decryption apparatus 120, and the SSL decryption apparatus 120 and the server 150. Establish 816 the SSL of the server.
  • the SSL handshake may be set to SSL through the method as in the example of FIG.
  • the SSL decryption apparatus 120 sets up a TCP session between the virtual client corresponding to the client 110 and the virtual server corresponding to the server 150, and establishes a TCP session between the virtual client and the virtual server. In order to transmit / receive a packet to and from the security device 160 (818).
  • the SSL decryption apparatus 120 matches and stores 5 tuples of a virtual client corresponding to 5 tuples of the client 110, and 5 tuples of a virtual server corresponding to 5 tuples of the server 150. By matching and storing the matching device, the corresponding device can be searched later.
  • the SSL decryption apparatus 120 receives the first SSL packet transmitted from the client 110 to the SSL decryption apparatus 120.
  • the SSL decryption apparatus 120 Upon receiving the first SSL packet as a result of checking in step 820, the SSL decryption apparatus 120 decrypts the first SSL packet and transmits it to the security apparatus 160, and encrypts the decrypted first SSL packet again to the server 150. (822). Thereafter, the SSL decryption apparatus 120 proceeds to step 824.
  • the SSL decryption apparatus 120 confirms whether the third SSL packet transmitted from the server 150 to the SSL decryption apparatus 120 is received (824).
  • the SSL decryption apparatus 120 Upon receiving the third SSL packet as a result of checking in step 824, the SSL decryption apparatus 120 decrypts the 3 SSL packets and sends them to the security apparatus 160, and encrypts the decrypted third SSL packets again to the client 110. Transmit (826). Thereafter, the SSL decryption apparatus 120 proceeds to step 828.
  • the SSL decryption apparatus 120 confirms whether a request for delivery of a message from the security apparatus 160 to the client 110 is requested (828).
  • step 828 When the verification result of step 828 is received from the security device 160 to request the delivery of the message to the client 110, the SSL decryption apparatus 120 generates a fifth SSL packet including the message and transmits it to the client 110 (830) ). Thereafter, the SSL decryption apparatus 120 proceeds to step 836.
  • step 828 if the request for delivery of the message from the security device 160 to the client 110 is not received, the SSL decryption device 120 confirms that the end of the TCP session is detected between the client 110 and the server 150. (836).
  • step 836 If the end of the TCP session is not detected between the client 110 and the server 150 as a result of step 836, the SSL decryption apparatus 120 returns to step 520 and repeats the subsequent process.
  • the SSL decryption apparatus 120 terminates the TCP session between the virtual client and the virtual server, and transmits and receives when the TCP session is terminated.
  • the packet is sent to the security device 160 (838).
  • the SSL decoding apparatus 120 bypasses the packet received from the client 110 and the server 150. 840 to be transmitted.
  • the method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • the program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
  • the software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device.
  • Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted.
  • the software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner.
  • Software and data may be stored on one or more computer readable recording media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 보안 소켓 계층 복호화 방법에 관한 것으로 SSL 복호화 장치에서 클라이언트와 서버 간의 TCP(Transmission Control Protocol) 세션이 설정된 후에 상기 클라이언트와 상기 서버 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷을 감지하고, 상기 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, 상기 클라이언트와 상기 SSL 복호화 장치 간의 SSL을 설정하고, 상기 SSL 복호화 장치와 상기 서버 간의 SSL을 설정하고, 상기 클라이언트에 대응하는 가상의 클라이언트와 상기 서버에 대응하는 가상의 서버 간의 TCP 세션을 설정하고, 상기 TCP 세션을 설정할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 보안 장치로 송신하고, 상기 클라이언트로부터 상기 SSL 복호화 장치로 전달되는 제1 SSL 패킷을 수신하면, 상기 제1 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제1 SSL 패킷을 다시 암호화해서 상기 서버로 송신하는 기술에 관한 것 이다.

Description

기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법
본 발명은 기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법에 관한 기술이다.
기업과 같은 조직에서 많은 정보가 인터넷을 통해서 외부로 유출되고, 또한 외부 네트워크로부터 수많은 공격을 받고 있다.
데이터 유출을 방지와 외부로부터의 공격에 대응하기 위해서 기업은 기업 내의 단말기에서 송신되는 패킷과 외부에서 수신되는 패킷을 검사해서 문제가 있는 연결을 차단하고 있다.
하지만, 단말기가 접속하려는 웹 사이트가 보안 소켓 계층(SSL; Secure Sockets Layer) 통신을 이용하는 경우, 송/수신되는 패킷의 내용이 암호화 되어 전송되기 때문에 데이터 유출 또는 공격 여부를 확인할 수 없는 문제를 가지고 있다.
이를 해결하기 위해서 기존에는 기업은 SSL 통신을 이용하는 외부 사이트와의 통신을 차단하는 방법으로 보안을 유지하였다.
하지만, SSL 통신을 이용하는 외부 사이트를 차단하는 것은 기업의 직원들의 업무 효율을 저해할 수 있으므로, 단순히 차단하는 것이 아닌 SSL 통신을 이용해서 송신되는 패킷도 보안 장치에서도 검사할 수 있는 방법이 요구된다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 기존의 보안 장치에서도 검사할 수 있도록 복호화해서 제공하는 SSL 복호화 장치에서 SSL 패킷을 복호화해서 보안 장치로 제공하는 방법을 제공하는 것을 목적으로 한다.
구체적으로, 클라이언트가 기설정된 운영체제로 동작하는 경우에 SSL 복호화 장치에서 가상의 클라이언트와 가상의 서버 간의 TCP 세션을 설정하고, 가상의 클라이언트와 가상의 서버 간의 TCP 세션을 설정하는데 송수신되는 패킷을 보안 장치로 송신하고, 클라이언트와 서버 사이에서 송수신되는 SSL 패킷을 중간에서 가로채고 복호화해서 가상의 클라이언트와 가상의 서버 간의 TCP 패킷으로 변경하여 보안 장치로 전달함으로써, SSL 패킷을 처리할 수 없었던 기존의 보안 장치에서도 전달된 TCP 패킷을 검사하는 것만으로도 별다른 수정 없이 암호화 통신을 검사할 수 있도록 하는 방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시 예에 따른 보안 소켓 계층 복호화 방법은, 보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치에서 클라이언트와 서버 간의 TCP(Transmission Control Protocol) 세션이 설정된 후에 상기 클라이언트와 상기 서버 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷을 감지하는 단계; 상기 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계; 상기 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, 상기 클라이언트와 상기 SSL 복호화 장치 간의 SSL을 설정하고, 상기 SSL 복호화 장치와 상기 서버 간의 SSL을 설정하는 단계; 상기 클라이언트에 대응하는 가상의 클라이언트와 상기 서버에 대응하는 가상의 서버 간의 TCP 세션을 설정하고, 상기 TCP 세션을 설정할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 보안 장치로 송신하는 단계; 및 상기 클라이언트로부터 상기 SSL 복호화 장치로 전달되는 제1 SSL 패킷을 수신하면, 상기 제1 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제1 SSL 패킷을 다시 암호화해서 상기 서버로 송신하는 단계를 포함한다.
이때, 상기 SSL 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계는, 상기 패킷의 IP 헤더에 포함된 폐기잔여시간(TTL; Time To Live) 정보를 확인하고, 상기 폐기잔여시간의 값이 기설정된 범위에 포함되어 있으면, 상기 패킷을 송신한 운영체제가 상기 기설정된 운영체제라고 확인하는 단계를 포함할 수 있다.
이때, 보안 소켓 계층 복호화 방법은, 상기 SSL 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷이 아니면, 상기 SSL 복호화 장치를 배제하고 상기 클라이언트와 상기 서버 간의 SSL을 설정하도록 상기 SSL 핸드쉐이크에 관한 패킷이 상기 서버로 전달되도록 바이패스(bypass)하는 단계; 및 상기 클라이언트와 상기 서버 간의 송수신되는 SSL 패킷을 상기 SSL 복호화 장치에서 바이패스하는 단계를 더 포함할 수 있다.
이때, 상기 제1 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제1 SSL 패킷을 다시 암호화해서 상기 서버로 송신하는 단계는, 상기 클라이언트로부터 상기 SSL 복호화 장치로 전달되는 상기 제1 SSL 패킷을 수신하면, 상기 제1 SSL 패킷을 복호화하는 단계; 상기 가상의 클라이언트에서 상기 가상의 서버로 전달되는 상기 복호화된 제1 SSL 패킷의 페이로드가 포함된 제1 TCP 패킷을 생성하는 단계; 상기 제1 TCP 패킷을 상기 보안 장치로 송신하는 단계; 상기 복호화된 제1 SSL 패킷의 페이로드가 포함된 제2 SSL 패킷을 생성하는 단계; 및 상기 제2 SSL 패킷을 상기 서버로 송신하는 단계를 포함할 수 있다.
이때, 보안 소켓 계층 복호화 방법은, 상기 서버로부터 상기 SSL 복호화 장치로 전달되는 제3 SSL 패킷을 수신하면, 상기 제3 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제3 SSL 패킷을 다시 암호화해서 상기 클라이언트로 송신하는 단계를 더 포함할 수 있다.
이때, 상기 제3 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제3 SSL 패킷을 다시 암호화해서 상기 클라이언트로 송신하는 단계는, 상기 서버로부터 상기 SSL 복호화 장치로 전달되는 상기 제3 SSL 패킷을 수신하면, 상기 제3 SSL 패킷을 복호화하는 단계; 상기 가상의 서버에서 상기 가상의 클라이언트로 전달되는 상기 복호화된 제3 SSL 패킷의 페이로드가 포함된 제2 TCP 패킷을 생성하는 단계; 상기 제2 TCP 패킷을 상기 보안 장치로 송신하는 단계; 상기 복호화된 제3 SSL 패킷의 페이로드를 포함하는 제4 SSL 패킷을 생성하는 단계; 및 상기 제4 SSL 패킷을 상기 클라이언트로 송신하는 단계를 포함할 수 있다.
이때, 보안 소켓 계층 복호화 방법은, 상기 SSL 복호화 장치에서 상기 클라이언트와 상기 서버 사이에 TCP 세션이 종료됨을 감지하면, 상기 가상의 클라이언트와 상기 가상의 서버 간에 TCP 세션을 종료하고, TCP 세션을 종료할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 상기 보안 장치로 송신하는 단계를 더 포함할 수 있다.
이때, 보안 소켓 계층 복호화 방법은, 상기 SSL 복호화 장치에서 상기 보안 장치로부터 상기 클라이언트로의 메시지의 전달을 요청받으면, 상기 메시지를 포함하는 제5 SSL 패킷을 생성해서 상기 클라이언트로 송신하는 단계를 더 포함할 수 있다.
이때, 상기 SSL 복호화 장치에서 상기 보안 장치로부터 상기 클라이언트로의 메시지의 전달 요청은, 상기 보안 장치로부터 상기 클라이언트로 송신하는 상기 메시지를 포함하는 FIN 패킷을 수신하고, 상기 보안 장치로부터 상기 서버로 송신하는 RST 패킷을 수신하는 경우에 상기 보안 장치로부터 상기 클라이언트로의 메시지의 전달 요청으로 판단할 수 있다.
이때, 상기 클라이언트에 대응하는 상기 가상의 클라이언트와 상기 서버에 대응하는 상기 가상의 서버 간의 상기 TCP 세션을 설정하고, 상기 TCP 세션을 설정할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 상기 보안 장치로 송신하는 단계는, 상기 클라이언트의 5튜플(tuple)에 대응하는 상기 가상의 클라이언트의 5튜플을 매칭하여 저장하고, 상기 서버의 5튜플에 대응하는 상기 가상의 서버의 5튜플을 매칭하여 저장하는 단계를 더 포함할 수 있다.
본 발명의 일 실시 예에 따른 보안 소켓 계층 복호화 방법은, 보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치에서 클라이언트와 서버 간의 TCP(Transmission Control Protocol) 세션의 설정을 위한 TCP 핸드쉐이크에 관한 패킷을 감지하는 단계; 상기 TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계; 상기 TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, 상기 클라이언트와 상기 서버 간의 TCP 세션이 설정된 후에 상기 서버 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷을 감지하는 단계; 상기 클라이언트와 상기 SSL 복호화 장치 간의 SSL을 설정하고, 상기 SSL 복호화 장치와 상기 서버 간의 SSL을 설정하는 단계; 상기 클라이언트에 대응하는 가상의 클라이언트와 상기 서버에 대응하는 가상의 서버 간의 TCP 세션을 설정하고, 상기 TCP 세션을 설정할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 보안 장치로 송신하는 단계; 및 상기 클라이언트로부터 상기 SSL 복호화 장치로 전달되는 제1 SSL 패킷을 수신하면, 상기 제1 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제1 SSL 패킷을 다시 암호화해서 상기 서버로 송신하는 단계를 포함한다.
이때, 상기 TCP 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계는, 상기 패킷의 IP 헤더에 포함된 폐기잔여시간(TTL; Time To Live) 정보를 확인하고, 상기 폐기잔여시간의 값이 기설정된 범위에 포함되어 있으면, 상기 패킷을 송신한 운영체제가 상기 기설정된 운영체제라고 확인하는 단계를 포함할 수 있다.
이때, 보안 소켓 계층 복호화 방법은, 상기 TCP 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷이 아니면, 상기 SSL 복호화 장치에서 상기 TCP 핸드쉐이크에 관한 패킷이 상기 서버로 전달되도록 바이패스(bypass)하는 단계; 및 상기 클라이언트와 상기 서버 간의 송수신되는 패킷을 상기 SSL 복호화 장치에서 바이패스하는 단계를 더 포함할 수 있다.
본 발명은 클라이언트와 서버 사이에서 SSL 통신을 중계하고, SSL 통신을 복호화해서 보안 장치로 전달하는 방법에 관한 것으로, 별다른 조치 없이도 기존의 보안 장치로도 복호화된 SSL 패킷을 수신하여 보안 문제를 확인할 수 있다. 또한, 기설정된 운영체제로 동작하는 클라이언트만을 대상으로 SSL 통신을 복호화 할 수 있도록 함으로써, 검사가 클라이언트를 제외할 수 있다.
도 1은 본 발명의 일 실시 예에 따라 보안 소켓 계층 통신에서 패킷을 검사할 수 있는 보안 시스템의 계략적인 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 보안 시스템의 SSL 복호화 장치에서 기설정된 운영체제로부터 수신된SSL 패킷을 처리하는 과정을 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 보안시스템의 SSL 복호화 장치에서 클라이언트 또는 서버와 SSL 핸드쉐이크 과정을 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 보안 시스템의 SSL 복호화 장치에서 기설정되지 않은 운영체제로부터 수신된SSL 패킷을 처리하는 과정을 도시한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 SSL 패킷을 처리하는 과정의 일 예를 도시한 흐름도이다.
도 6은 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 클라이언트가 송신한 SSL 패킷을 처리하는 과정을 보다 상세하게 도시한 흐름도이다.
도 7은 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 서버가 송신한 SSL 패킷을 처리하는 과정을 보다 상세하게 도시한 흐름도이다.
도 8은 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 SSL 패킷을 처리하는 과정의 다른 예를 도시한 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
이하의 일 실시 예들은 암호화 트래픽을 기존의 보안 장치에서도 검사할 수 있도록 복호화해서 제공하는 보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치에서 SSL 패킷을 복호화해서 보안 장치로 제공하는 방법에 관한 것이다.
이하에서는, 본 발명의 일 실시 예에 따른 보안 시스템에서 보안을 위한 보안 소켓 계층 복호화 방법을 첨부된 도 1 내지 도 8을 참조하여 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따라 보안 소켓 계층 통신에서 패킷을 검사할 수 있는 보안 시스템의 계략적인 구성을 도시한 도면이다.
도 1을 참조하면, 보안 시스템은 SSL 복호화 장치와 보안 장치를 포함할 수 있다.
클라이언트(110)는 적어도 하나 이상의 클라이언트가 네트워크에 접속될 수 있다. 예를 들면, 클라이언트는 PC, 스마트 폰과 같은 단말이 될 수 있다.
보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치(120)는 클라이언트(110)과 서버(150) 사이에서 TCP 통신 및 SSL 통신을 중계하고, TCP 패킷은 미러링하여 보안 장치(160)로 전달하고, SSL 패킷은 복호화해서 TCP 패킷으로 변경하여 보안 장치(160)로 전달한다.
이때, SSL 복호화 장치(120)는 기존의 보안 장치(160)에서도 복호화하여 변경된 TCP 패킷을 종래와 같은 방식으로 처리할 수 있도록, 사전에 가상의 클라이언트와 가상의 서버 간의 TCP 세션을 설정하고, 가상의 TCP 세션을 설정할 때 송수신되는 핸드쉐이크 패킷을 보안 장치(160)로 전달할 수 있다.
SSL 복호화 장치(120)의 보다 구체적인 내용은 이후 도 2에서 도 8을 통해서 보다 상세히 후술한다.
보안 장치(160)는 종래의 보안 장치(160)의 동작과 같이 수신되는 패킷에 포함된 데이터를 검사하여, 유출이 금지된 내용이 포함되어 있는지, 또는 바이러스가 포함되어 있는지 등을 검사하고, 클라이언트(110)로 메시지를 전달하거나, 클라이언트(110)과 서버(150) 간의 TCP 세션을 종료시키는 세션 제어 메시지를 송신할 수도 있다.
한편, 네트워크 환경에서 클라이언트(110)로부터 인터넷(140)을 통해서 서버(150)로 패킷이 전달될 때, 방화벽(130)을 통해서 전달될 수 있다.
이하, 상기와 같이 구성된 본 발명에 따른 보안 시스템에서 보안을 위한 보안 소켓 계층 복호화 방법을 아래에서 도면을 참조하여 설명한다.
도 2는 본 발명의 일 실시 예에 따른 보안 시스템의 SSL 복호화 장치에서 기설정된 운영체제로부터 수신된SSL 패킷을 처리하는 과정을 도시한 도면이다.
도 2를 참조하면, 클라이언트(110)는 서버(150)와 통신을 하기 위해서 TCP 세션을 설정한다(210). TCP 세션의 설정은 클라이언트(110)는 서버(150) 사이의 핸드쉐이크(3-way handshake)를 통해서 설정될 수 있다.
SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 사이에 위치하며, 송수신하는 패킷을 통하여 TCP 세션이 설정되었는지 감지할 수 있다.
SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 간의 TCP 세션이 설정된 후에 클라이언트(110)와 서버(150) 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷(예를 들어, SSL Hello 패킷)이 감지되면, SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인하고, 확인결과SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, SSL 핸드쉐이크에 관한 패킷을 서버(150)로 전달하지 않고, SSL 복호화 장치(120)는 클라이언트(110)와 SSL 복호화 장치(120) 간의 SSL을 설정하고(212), SSL 복호화 장치(120)와 서버(150) 간의 SSL을 설정한다(214).
이때, SSL 설정은 클라이언트(110)와 SSL 복호화 장치(120) 또는 SSL 복호화 장치(120)와 서버(150) 사이의 SSL 핸드쉐이크(SSL handshake)를 통해서 설정될 수 있다.
도 2를 통해서 SSL 핸드쉐이크를 설명하고 있으나, 위의 SSL 핸드쉐이크 과정에서 일부 과정은 선택적인 과정으로 생략될 수도 있으며, 위의 SSL 핸드쉐이크 과정은 하나의 실시 예로 본 발명의 SSL 핸드쉐이크는 도2의 내용으로 한정되지는 않는다.
도 3은 본 발명의 일 실시 예에 따른 보안시스템의 SSL 복호화 장치에서 클라이언트 또는 서버와 SSL 핸드쉐이크 과정을 도시한 도면이다.
도 3을 참조하면, 본원발명의 SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 사이에 위치하여 클라이언트(110)가 서버(150)와 SSL 설정을 수행하려고 하면, 중간에서 클라이언트(110)와 SSL 복호화 장치(120) 간의 SSL을 설정하고, SSL 복호화 장치(120)와 서버(150) 간의 SSL 설정을 수행한다.
즉, SSL 복호화 장치(120)는 클라이언트(110)와 SSL 설정을 수행할 때는 서버로서 SSL 설정을 수행하고, 서버(150)와 SSL 설정을 수행할 때는 클라이언트로서 SSL 설정을 수행한다.
도 3을 참조하면, Client Hello(310)는 자신이 사용할 SSL의 버전정보, Cipher suite list, 클라이언트 난수를 포함한다. 이때, Cipher suite는 대칭키 암호화 시스템, 공개키 암호화시스템, 해쉬함수를 포함할 수 있다.
Sever Hello(302)는 암호화 방법을 선택화고 서버난수를 포함한다.
Server Certificate(303)는 서버 측의 인증서이다.
Server Key Exchange(304)는 인증서가 없거나 인증서가 서명요으로만 사용되어질 때 송신되는 메시지이다.
Certificate Request(305)는 클라이언트에게 인증서를 요구하는 메시지이다.
Server Hello Done(306)는 서버가 클라이언트로 보낼 미시지가 모두 보내졌음을 알리는 메시지이다.
Client Certificate(307)는 클라이언트 측의 인증서이다.
Client Key Exchange(308)는 PMS 대칭 암호화 키, 메시지 인증코드 생성에 사용되는 46바이트 난수, 서버의 공개키로 만든 암호 등이 포함된다.
Certificate Verify(309)는 클라이언트의 인증서를 서버에서 쉽게확인할 수 있도록 전자서명하여 송신하는 메시지이다. 해당 메시지를 통해서 서버 측에서는 클라이언트의 인증서의 공개키가 유효한지 확인한 수 클라이언트 인증을 종료할 수 있다.
Change Cipher Spec(310)는 클라이언트에서 이후 전송되느 모든 메시지는 서버와 협상된 알고리즘에 의해서 암호화 하겠다는 메시지이다.
Finished(311)는 클라이언트에서 SSL 핸드쉐이크가 완료되었음을 알리는 메시지이다.
Change Cipher Spec(312)는 서버에서 이후 전송되느 모든 메시지는 서버와 협상된 알고리즘에 의해서 암호화 하겠다는 메시지이다.
Finished(313)는 서버에서 SSL 핸드쉐이크가 완료되었음을 알리는 메시지이다.
다시 도 2의 설명으로 돌아와서 SSL 복호화 장치(120)는 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 여부를 확인하기 위해서 패킷의 IP 헤더에 포함된 폐기잔여시간(TTL; Time To Live) 정보를 확인하고, 폐기잔여시간의 값이 기설정된 범위에 포함되어 있으면, SSL 핸드쉐이크에 관한 패킷 송신한 클라이언트(110)가 기설정된 운영체제에서 동작하고 있다고 판단한다.
예를 들어 운영체제가 윈도우(windows)인 경우 TTL은 128부터 시작해서 홉(hop)을 거칠 때 마다 1씩 감소하는 특징을 가지고 있습니다.
반면 안드로이드(android)나 리눅스(linux)의 경우 TTL은 256또는 64부터 시작해서 홉(hop)을 거칠 때 마다 1씩 감소하는 특징을 가지고 있습니다.
기설정된 운영체제가 윈도우인 경우 SSL 복호화 장치(120)는 수신하는 패킷의 IP 헤더에 포함된 TTL이 65에서 128사이의 값(또는 106~127, 112~127 등의 값을 설정할 수 있다.)을 가지면 윈도우라고 판단하고 상술한 바와 같이 SSL 패킷을 복호화할 수 있다.
그리고, SSL 복호화 장치(120)는 클라이언트(110)에 대응하는 가상의 클라이언트와 서버(150)에 대응하는 가상의 서버 간의 가상의 TCP 세션을 설정하고(216), 가상의 클라이언트와 가상의 서버 간에 TCP 세션을 설정을 위해 송수신하는 패킷을 보안 장치(160)로 송신한다(218).
이때, SSL 복호화 장치(120)는 클라이언트(110)의 5튜플(tuple)에 대응하는 가상의 클라이언트의 5튜플을 매칭하여 저장하고, 서버(150)의 5튜플에 대응하는 가상의 서버의 5튜플을 매칭하여 저장함으로써, 이후 대응하는 장치를 검색할 수 있다. 5튜플은 소스 IP, 소스 포트, 목적지 IP, 목적지 포트, TCP 시퀀스 넘버 및 TCP/UDP 프로토콜 중에서 적어도 하나를 포함할 수 있다.
그리고, SSL 복호화 장치(120)는 클라이언트(110)로부터 SSL 복호화 장치(120)로 전달되는 제1 SSL 패킷을 수신하면(220), 제1 SSL 패킷을 복호화 하고, 복호화된 제1 SSL 패킷의 페이로드가 포함된 제2 SSL 패킷을 생성하여 제2 SSL 패킷을 서버(150)로 송신한다(222).
그리고, SSL 복호화 장치(120)는 가상의 클라이언트에서 가상의 서버로 전달되는 복호화된 제1 SSL 패킷의 페이로드가 포함된 제1 TCP 패킷을 생성하여 보안 장치(160)로 송신한다(224).
그리고, SSL 복호화 장치(120)는 서버(150)로부터 SSL 복호화 장치(120)로 전달되는 제3 SSL 패킷을 수신하면(226), 제3 SSL 패킷을 복호화 하고, 복호화된 제3 SSL 패킷의 페이로드가 포함된 제4 SSL 패킷을 생성하여 제4 SSL 패킷을 클라이언트(110)로 송신한다(228).
그리고, SSL 복호화 장치(120)는 가상의 서버에서 가상의 클라이언트로 전달되는 복호화된 제3 SSL 패킷의 페이로드가 포함된 제2 TCP 패킷을 생성하여 보안 장치(160)로 송신한다(230).
이후, SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 사이에 TCP 세션의 종료(232)가 감지되면, 가상의 클라이언트와 가상의 서버 간에 TCP 세션을 종료하고, 가상의 클라이언트와 가상의 서버 간에 TCP 세션을 종료할 때 송수신하는 패킷을 보안 장치(160)로 송신한다(234). 이때, TCP 세션의 종료는 클라이언트(110)와 서버(150) 사이에서 핸드쉐이크(3-way handshake)를 통해서 종료될 수 있다.
도 4는 본 발명의 일 실시 예에 따른 보안 시스템의 SSL 복호화 장치에서 기설정되지 않은 운영체제로부터 수신된SSL 패킷을 처리하는 과정을 도시한 도면이다.
도 4를 참조하면, 클라이언트(110)는 서버(150)와 통신을 하기 위해서 TCP 세션을 설정한다(410). TCP 세션의 설정은 클라이언트(110)는 서버(150) 사이의 핸드쉐이크(3-way handshake)를 통해서 설정될 수 있다.
SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 사이에 위치하며, 송수신하는 패킷을 통하여 TCP 세션이 설정되었는지 감지할 수 있다.
SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 간의 TCP 세션이 설정된 후에 클라이언트(110)와 서버(150) 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷(예를 들어, SSL Hello 패킷)이 감지되면, SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인하고, 확인결과SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이 아니면, 도 2 또는 도 3과 같은 SSL 패킷을 복호화하기 위한 동작을 수행하지 않고, 수신한 패킷을 서버(150)로 바이패스하여 클라이언트(110)와 서버(150) 간의 SSL을 설정할 수 있도록 한다(420). 이때, SSL 설정은 클라이언트(110)와 서버(150) 사이의 SSL 핸드쉐이크(SSL handshake)를 통해서 설정될 수 있다. 이때, SSL 핸드쉐이크는 도 3의 예와 같은 방법을 통해서 SSL이 설정될 수 있다.
그리고, SSL 복호화 장치(120)는 클라이언트(110)로부터 서버(150)로 전송되는 SSL 패킷을 감지하면 복호화하지 않고, 서버(150)로 바이패스한다(430).
그리고, SSL 복호화 장치(120)는 서버(150)로부터 클라이언트(110)로 전송되는 제2 SSL 패킷을 감지하면 복호화하지 않고, 클라이언트(110)로 바이패스한다(440).
이후, 클라이언트(110) 또는 서버(150)는 클라이언트(110)와 서버(150)간의 통신이 완료되면 TCP 세션을 종료할 수 있다(450). 이때, TCP 세션의 종료는 클라이언트(110)와 서버(150) 사이에서 핸드쉐이크(3-way handshake)를 통해서 종료될 수 있다.
도 5는 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 SSL 패킷을 처리하는 과정의 일 예를 도시한 흐름도이다.
도 5를 참조하면, 보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치는 클라이언트(110)와 서버(150) 사이에서 TCP 세션이 설정을 위한 핸드쉐이크(3-way handshake) 과정을 감지함으로써, 클라이언트(110)와 서버(150) 간의 TCP 세션이 설정되었는지 감지한다(510).
그리고, SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 간의 TCP 세션이 설정이 후에 클라이언트(110)와 서버(150) 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷(예를 들어, SSL Hello 패킷)이 감지되는지 확인한다(512).
512단계의 확인결과 SSL 핸드쉐이크에 관한 패킷이 감지되면, SSL 복호화 장치(120)는 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인한다(514).
이때, SSL 복호화 장치(120)는 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 여부를 확인하기 위해서 패킷의 IP 헤더에 포함된 폐기잔여시간(TTL; Time To Live) 정보를 확인하고, 폐기잔여시간의 값이 기설정된 범위에 포함되어 있으면, SSL 핸드쉐이크에 관한 패킷 송신한 클라이언트(110)가 기설정된 운영체제에서 동작하고 있다고 판단한다. 예를 들어 운영체제가 윈도우(windows)인 경우 TTL은 128부터 시작해서 홉(hop)을 거칠 때 마다 1씩 감소하는 특징을 가지고 있습니다. 반면 안드로이드(android)나 리눅스(linux)의 경우 TTL은 256또는 64부터 시작해서 홉(hop)을 거칠 때 마다 1씩 감소하는 특징을 가지고 있습니다. 기설정된 운영체제가 윈도우인 경우 SSL 복호화 장치(120)는 수신하는 패킷의 IP 헤더에 포함된 TTL이 65에서 128사이의 값(또는 106~127, 112~127 등의 값을 설정할 수 있다.)을 가지면 윈도우라고 판단하고 상술한 바와 같이 SSL 패킷을 복호화할 수 있다.
514단계의 확인결과SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, 클라이언트(110)와 SSL 복호화 장치(120) 간의 SSL을 설정하고, SSL 복호화 장치(120)와 서버(150) 간의 SSL을 설정한다(516). 이때, SSL 핸드쉐이크는 도 3의 예와 같은 방법을 통해서 SSL이 설정될 수 있다.
SSL 복호화 장치(120)는 클라이언트(110)와 SSL 복호화 장치(120) 간의 SSL을 설정하고, SSL 복호화 장치(120)와 서버(150) 간의 SSL을 설정한다(516).
그리고, SSL 복호화 장치(120)는 클라이언트(110)에 대응하는 가상의 클라이언트와 서버(150)에 대응하는 가상의 서버 간의 TCP 세션을 설정하고, 가상의 클라이언트와 가상의 서버 간에 TCP 세션을 설정을 위해 송수신하는 패킷을 보안 장치(160)로 송신한다(518).
이때, SSL 복호화 장치(120)는 클라이언트(110)의 5튜플(tuple)에 대응하는 가상의 클라이언트의 5튜플을 매칭하여 저장하고, 서버(150)의 5튜플에 대응하는 가상의 서버의 5튜플을 매칭하여 저장함으로써, 이후 대응하는 장치를 검색할 수 있다.
그리고, SSL 복호화 장치(120)는 클라이언트(110)로부터 SSL 복호화 장치(120)로 전달되는 제1 SSL 패킷을 수신하는지 확인한다(520).
520단계의 확인 결과 제1 SSL 패킷을 수신하면, SSL 복호화 장치(120)는 제1 SSL 패킷을 복호화해서 보안 장치(160)로 송신하고, 복호화된 제1 SSL 패킷을 다시 암호화해서 서버(150)로 송신한다(522). 이후, SSL 복호화 장치(120)는 524단계로 진행한다.
520단계의 확인결과 제1 SSL 패킷이 수신되지 않으면, SSL 복호화 장치(120)는 서버(150)로부터 SSL 복호화 장치(120)로 전달되는 제3 SSL 패킷을 수신하는지 확인한다(524).
524단계의 확인 결과 제3 SSL 패킷을 수신하면, SSL 복호화 장치(120)는 3 SSL 패킷을 복호화해서 보안 장치(160)로 송신하고, 복호화된 제3 SSL 패킷을 다시 암호화해서 클라이언트(110)로 송신한다(526). 이후, SSL 복호화 장치(120)는 528단계로 진행한다.
524단계의 확인결과 제3 SSL 패킷이 수신되지 않으면, SSL 복호화 장치(120)는 보안 장치(160)로부터 클라이언트(110)로의 메시지의 전달을 요청 받는지 확인한다(528).
528단계의 확인결과 보안 장치(160)로부터 클라이언트(110)로의 메시지의 전달을 요청 받으면, SSL 복호화 장치(120)는 메시지를 포함하는 제5 SSL 패킷을 생성해서 클라이언트(110)로 송신한다(530). 이후, SSL 복호화 장치(120)는 536단계로 진행한다.
528단계의 확인결과 보안 장치(160)로부터 클라이언트(110)로의 메시지의 전달을 요청 받지 않으면, SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 사이에 TCP 세션의 종료가 감지됨을 확인한다(536).
536단계의 확인결과 클라이언트(110)와 서버(150) 사이에 TCP 세션의 종료가 감지되지 않으면, SSL 복호화 장치(120)는 520단계로 돌아가서 이후 과정을 반복 수행한다.
536단계의 확인결과 클라이언트(110)와 서버(150) 사이에 TCP 세션의 종료가 감지되면, SSL 복호화 장치(120)는 가상의 클라이언트와 가상의 서버 간에 TCP 세션을 종료하고, 종료할 때 송수신하는 패킷을 보안 장치(160)로 송신한다(538).
한편, 514단계의 확인결과SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이 아니면, SSL 복호화 장치(120)는 클라이언트(110)로부터 수신되는 SSL 패킷을 바이패스(bypass)해서 서버(150)로 전달되도록 한다(540).
도 6은 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 클라이언트가 송신한 SSL 패킷을 처리하는 과정을 보다 상세하게 도시한 흐름도이다.
도 6을 참조하면, 도 6의 과정은 도 5의 522단계를 보다 구체적으로 도시한 것으로, SSL 복호화 장치(120)는 제1 SSL 패킷을 복호화 한다(610).
그리고, SSL 복호화 장치(120)는 가상의 클라이언트에서 가상의 서버로 전달되는 복호화된 제1 SSL 패킷의 페이로드가 포함된 제1 TCP 패킷을 생성한다(612).
그리고, SSL 복호화 장치(120)는 제1 TCP 패킷을 보안 장치(160)로 송신한다(614).
그리고, SSL 복호화 장치(120)는 복호화된 제1 SSL 패킷의 페이로드가 포함된 제2 SSL 패킷을 생성한다(616).
그리고, SSL 복호화 장치(120)는 제2 SSL 패킷을 서버(150)로 송신한다(618).
도 7은 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 서버가 송신한 SSL 패킷을 처리하는 과정을 보다 상세하게 도시한 흐름도이다.
도 7을 참조하면, 도 7의 과정은 도 7의 526단계를 보다 구체적으로 도시한 것으로, SSL 복호화 장치(120)는 제3 SSL 패킷을 복호화 한다(710).
그리고, SSL 복호화 장치(120)는 가상의 서버에서 가상의 클라이언트로 전달되는 복호화된 제3 SSL 패킷의 페이로드가 포함된 제2 TCP 패킷을 생성한다(712).
그리고, SSL 복호화 장치(120)는 제2 TCP 패킷을 보안 장치(160)로 송신한다(714).
그리고, SSL 복호화 장치(120)는 복호화된 제3 SSL 패킷의 페이로드를 포함하는 제4 SSL 패킷을 생성한다(716).
그리고, SSL 복호화 장치(120)는 제4 SSL 패킷을 클라이언트(110)로 송신한다(718).
도 8은 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 SSL 패킷을 처리하는 과정의 다른 예를 도시한 흐름도이다.
도 8을 참조하면, SSL 복호화 장치(120)는 클라이언트와 서버 간의 TCP(Transmission Control Protocol) 세션의 설정을 위한 TCP 핸드쉐이크에 관한 패킷을 감지하면(810), TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인한다(811).
이때, SSL 복호화 장치(120)는 TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 여부를 확인하기 위해서 패킷의 IP 헤더에 포함된 폐기잔여시간(TTL; Time To Live) 정보를 확인하고, 폐기잔여시간의 값이 기설정된 범위에 포함되어 있으면, SSL 핸드쉐이크에 관한 패킷 송신한 클라이언트(110)가 기설정된 운영체제에서 동작하고 있다고 판단한다. 예를 들어 운영체제가 윈도우(windows)인 경우 TTL은 128부터 시작해서 홉(hop)을 거칠 때 마다 1씩 감소하는 특징을 가지고 있습니다. 반면 안드로이드(android)나 리눅스(linux)의 경우 TTL은 256또는 64부터 시작해서 홉(hop)을 거칠 때 마다 1씩 감소하는 특징을 가지고 있습니다. 기설정된 운영체제가 윈도우인 경우 SSL 복호화 장치(120)는 수신하는 패킷의 IP 헤더에 포함된 TTL이 65에서 128사이의 값(또는 106~127, 112~127 등의 값을 설정할 수 있다.)을 가지면 윈도우라고 판단할 수 있다.
811단계의 확인결과, TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 사이에서 TCP 세션이 설정되도록 한다(812).
그리고, SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷(예를 들어, SSL Hello 패킷)이 감지되는지 확인한다(814).
814단계의 확인결과 SSL 핸드쉐이크에 관한 패킷이 감지되면, SSL 복호화 장치(120)는 클라이언트(110)와 SSL 복호화 장치(120) 간의 SSL을 설정하고, SSL 복호화 장치(120)와 서버(150) 간의 SSL을 설정한다(816). 이때, SSL 핸드쉐이크는 도 3의 예와 같은 방법을 통해서 SSL이 설정될 수 있다.
그리고, SSL 복호화 장치(120)는 클라이언트(110)에 대응하는 가상의 클라이언트와 서버(150)에 대응하는 가상의 서버 간의 TCP 세션을 설정하고, 가상의 클라이언트와 가상의 서버 간에 TCP 세션을 설정을 위해 송수신하는 패킷을 보안 장치(160)로 송신한다(818).
이때, SSL 복호화 장치(120)는 클라이언트(110)의 5튜플(tuple)에 대응하는 가상의 클라이언트의 5튜플을 매칭하여 저장하고, 서버(150)의 5튜플에 대응하는 가상의 서버의 5튜플을 매칭하여 저장함으로써, 이후 대응하는 장치를 검색할 수 있다.
그리고, SSL 복호화 장치(120)는 클라이언트(110)로부터 SSL 복호화 장치(120)로 전달되는 제1 SSL 패킷을 수신하는지 확인한다(820).
820단계의 확인 결과 제1 SSL 패킷을 수신하면, SSL 복호화 장치(120)는 제1 SSL 패킷을 복호화해서 보안 장치(160)로 송신하고, 복호화된 제1 SSL 패킷을 다시 암호화해서 서버(150)로 송신한다(822). 이후, SSL 복호화 장치(120)는 824단계로 진행한다.
820단계의 확인결과 제1 SSL 패킷이 수신되지 않으면, SSL 복호화 장치(120)는 서버(150)로부터 SSL 복호화 장치(120)로 전달되는 제3 SSL 패킷을 수신하는지 확인한다(824).
824단계의 확인 결과 제3 SSL 패킷을 수신하면, SSL 복호화 장치(120)는 3 SSL 패킷을 복호화해서 보안 장치(160)로 송신하고, 복호화된 제3 SSL 패킷을 다시 암호화해서 클라이언트(110)로 송신한다(826). 이후, SSL 복호화 장치(120)는 828단계로 진행한다.
824단계의 확인결과 제3 SSL 패킷이 수신되지 않으면, SSL 복호화 장치(120)는 보안 장치(160)로부터 클라이언트(110)로의 메시지의 전달을 요청 받는지 확인한다(828).
828단계의 확인결과 보안 장치(160)로부터 클라이언트(110)로의 메시지의 전달을 요청 받으면, SSL 복호화 장치(120)는 메시지를 포함하는 제5 SSL 패킷을 생성해서 클라이언트(110)로 송신한다(830). 이후, SSL 복호화 장치(120)는 836단계로 진행한다.
828단계의 확인결과 보안 장치(160)로부터 클라이언트(110)로의 메시지의 전달을 요청 받지 않으면, SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 사이에 TCP 세션의 종료가 감지됨을 확인한다(836).
836단계의 확인결과 클라이언트(110)와 서버(150) 사이에 TCP 세션의 종료가 감지되지 않으면, SSL 복호화 장치(120)는 520단계로 돌아가서 이후 과정을 반복 수행한다.
836단계의 확인결과 클라이언트(110)와 서버(150) 사이에 TCP 세션의 종료가 감지되면, SSL 복호화 장치(120)는 가상의 클라이언트와 가상의 서버 간에 TCP 세션을 종료하고, 종료할 때 송수신하는 패킷을 보안 장치(160)로 송신한다(838).
한편, 811단계의 확인결과TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이 아니면, SSL 복호화 장치(120)는 클라이언트(110)로부터 수신되는 패킷을 바이패스(bypass)해서 서버(150)로 전달되도록 한다(840).
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (14)

  1. 보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치에서 클라이언트와 서버 간의 TCP(Transmission Control Protocol) 세션이 설정된 후에 상기 클라이언트와 상기 서버 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷을 감지하는 단계;
    상기 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계;
    상기 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, 상기 클라이언트와 상기 SSL 복호화 장치 간의 SSL을 설정하고, 상기 SSL 복호화 장치와 상기 서버 간의 SSL을 설정하는 단계;
    상기 클라이언트에 대응하는 가상의 클라이언트와 상기 서버에 대응하는 가상의 서버 간의 TCP 세션을 설정하고, 상기 TCP 세션을 설정할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 보안 장치로 송신하는 단계; 및
    상기 클라이언트로부터 상기 SSL 복호화 장치로 전달되는 제1 SSL 패킷을 수신하면, 상기 제1 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제1 SSL 패킷을 다시 암호화해서 상기 서버로 송신하는 단계
    를 포함하는 보안 소켓 계층 복호화 방법.
  2. 제1항에 있어서,
    상기 SSL 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계는,
    상기 패킷의 IP 헤더에 포함된 폐기잔여시간(TTL; Time To Live) 정보를 확인하고, 상기 폐기잔여시간의 값이 기설정된 범위에 포함되어 있으면, 상기 패킷을 송신한 운영체제가 상기 기설정된 운영체제라고 확인하는 단계
    를 포함하는 보안 소켓 계층 복호화 방법.
  3. 제1항에 있어서,
    상기 SSL 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷이 아니면, 상기 SSL 복호화 장치를 배제하고 상기 클라이언트와 상기 서버 간의 SSL을 설정하도록 상기 SSL 핸드쉐이크에 관한 패킷이 상기 서버로 전달되도록 바이패스(bypass)하는 단계; 및
    상기 클라이언트와 상기 서버 간의 송수신되는 SSL 패킷을 상기 SSL 복호화 장치에서 바이패스하는 단계
    를 더 포함하는 보안 소켓 계층 복호화 방법.
  4. 제1항에 있어서,
    상기 제1 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제1 SSL 패킷을 다시 암호화해서 상기 서버로 송신하는 단계는,
    상기 클라이언트로부터 상기 SSL 복호화 장치로 전달되는 상기 제1 SSL 패킷을 수신하면, 상기 제1 SSL 패킷을 복호화하는 단계;
    상기 가상의 클라이언트에서 상기 가상의 서버로 전달되는 상기 복호화된 제1 SSL 패킷의 페이로드가 포함된 제1 TCP 패킷을 생성하는 단계;
    상기 제1 TCP 패킷을 상기 보안 장치로 송신하는 단계;
    상기 복호화된 제1 SSL 패킷의 페이로드가 포함된 제2 SSL 패킷을 생성하는 단계; 및
    상기 제2 SSL 패킷을 상기 서버로 송신하는 단계
    를 포함하는 보안 소켓 계층 복호화 방법.
  5. 제1항에 있어서,
    상기 서버로부터 상기 SSL 복호화 장치로 전달되는 제3 SSL 패킷을 수신하면, 상기 제3 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제3 SSL 패킷을 다시 암호화해서 상기 클라이언트로 송신하는 단계
    를 더 포함하는 보안 소켓 계층 복호화 방법.
  6. 제5항에 있어서,
    상기 제3 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제3 SSL 패킷을 다시 암호화해서 상기 클라이언트로 송신하는 단계는,
    상기 서버로부터 상기 SSL 복호화 장치로 전달되는 상기 제3 SSL 패킷을 수신하면, 상기 제3 SSL 패킷을 복호화하는 단계;
    상기 가상의 서버에서 상기 가상의 클라이언트로 전달되는 상기 복호화된 제3 SSL 패킷의 페이로드가 포함된 제2 TCP 패킷을 생성하는 단계;
    상기 제2 TCP 패킷을 상기 보안 장치로 송신하는 단계;
    상기 복호화된 제3 SSL 패킷의 페이로드를 포함하는 제4 SSL 패킷을 생성하는 단계; 및
    상기 제4 SSL 패킷을 상기 클라이언트로 송신하는 단계
    를 포함하는 보안 소켓 계층 복호화 방법.
  7. 제1항에 있어서,
    상기 SSL 복호화 장치에서 상기 클라이언트와 상기 서버 사이에 TCP 세션이 종료됨을 감지하면, 상기 가상의 클라이언트와 상기 가상의 서버 간에 TCP 세션을 종료하고, TCP 세션을 종료할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 상기 보안 장치로 송신하는 단계
    를 더 포함하는 보안 소켓 계층 복호화 방법.
  8. 제1항에 있어서,
    상기 SSL 복호화 장치에서 상기 보안 장치로부터 상기 클라이언트로의 메시지의 전달을 요청받으면, 상기 메시지를 포함하는 제5 SSL 패킷을 생성해서 상기 클라이언트로 송신하는 단계
    를 더 포함하는 보안 소켓 계층 복호화 방법.
  9. 제8항에 있어서,
    상기 SSL 복호화 장치에서 상기 보안 장치로부터 상기 클라이언트로의 메시지의 전달 요청은,
    상기 보안 장치로부터 상기 클라이언트로 송신하는 상기 메시지를 포함하는 FIN 패킷을 수신하고, 상기 보안 장치로부터 상기 서버로 송신하는 RST 패킷을 수신하는 경우에 상기 보안 장치로부터 상기 클라이언트로의 메시지의 전달 요청으로 판단하는
    보안 소켓 계층 복호화 방법.
  10. 제1항에 있어서,
    상기 클라이언트에 대응하는 상기 가상의 클라이언트와 상기 서버에 대응하는 상기 가상의 서버 간의 상기 TCP 세션을 설정하고, 상기 TCP 세션을 설정할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 상기 보안 장치로 송신하는 단계는,
    상기 클라이언트의 5튜플(tuple)에 대응하는 상기 가상의 클라이언트의 5튜플을 매칭하여 저장하고, 상기 서버의 5튜플에 대응하는 상기 가상의 서버의 5튜플을 매칭하여 저장하는 단계
    를 더 포함하는 보안 소켓 계층 복호화 방법.
  11. 보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치에서 클라이언트와 서버 간의 TCP(Transmission Control Protocol) 세션의 설정을 위한 TCP 핸드쉐이크에 관한 패킷을 감지하는 단계;
    상기 TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계;
    상기 TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, 상기 클라이언트와 상기 서버 간의 TCP 세션이 설정된 후에 상기 서버 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷을 감지하는 단계;
    상기 클라이언트와 상기 SSL 복호화 장치 간의 SSL을 설정하고, 상기 SSL 복호화 장치와 상기 서버 간의 SSL을 설정하는 단계;
    상기 클라이언트에 대응하는 가상의 클라이언트와 상기 서버에 대응하는 가상의 서버 간의 TCP 세션을 설정하고, 상기 TCP 세션을 설정할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 보안 장치로 송신하는 단계; 및
    상기 클라이언트로부터 상기 SSL 복호화 장치로 전달되는 제1 SSL 패킷을 수신하면, 상기 제1 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제1 SSL 패킷을 다시 암호화해서 상기 서버로 송신하는 단계
    를 포함하는 보안 소켓 계층 복호화 방법.
  12. 제11항에 있어서,
    상기 TCP 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계는,
    상기 패킷의 IP 헤더에 포함된 폐기잔여시간(TTL; Time To Live) 정보를 확인하고, 상기 폐기잔여시간의 값이 기설정된 범위에 포함되어 있으면, 상기 패킷을 송신한 운영체제가 상기 기설정된 운영체제라고 확인하는 단계
    를 포함하는 보안 소켓 계층 복호화 방법.
  13. 제11항에 있어서,
    상기 TCP 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷이 아니면, 상기 SSL 복호화 장치에서 상기 TCP 핸드쉐이크에 관한 패킷이 상기 서버로 전달되도록 바이패스(bypass)하는 단계; 및
    상기 클라이언트와 상기 서버 간의 송수신되는 패킷을 상기 SSL 복호화 장치에서 바이패스하는 단계
    를 더 포함하는 보안 소켓 계층 복호화 방법.
  14. 제1항 내지 제13항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
PCT/KR2019/002629 2018-03-09 2019-03-07 기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법 WO2019172663A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/975,520 US11601405B2 (en) 2018-03-09 2019-03-07 Method for decoding secure socket layer for security of packet transmitted in preset operating system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180028267A KR102086489B1 (ko) 2018-03-09 2018-03-09 기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법
KR10-2018-0028267 2018-03-09

Publications (1)

Publication Number Publication Date
WO2019172663A1 true WO2019172663A1 (ko) 2019-09-12

Family

ID=67845774

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/002629 WO2019172663A1 (ko) 2018-03-09 2019-03-07 기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법

Country Status (3)

Country Link
US (1) US11601405B2 (ko)
KR (1) KR102086489B1 (ko)
WO (1) WO2019172663A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090098542A (ko) * 2008-03-14 2009-09-17 주식회사 엑스큐어넷 프록시를 이용한 암호화 데이터 통신시스템 및 암호화데이터 통신방법
KR20130024388A (ko) * 2011-08-31 2013-03-08 (주)소만사 패킷 미러링 방식으로 암호화된 https 통신 데이터를 모니터링하여 개인정보유출을 방지하는 개인정보 유출 방지 시스템 및 방법
US8578002B1 (en) * 2003-05-12 2013-11-05 Sourcefire, Inc. Systems and methods for determining characteristics of a network and enforcing policy
US20170093824A1 (en) * 2015-09-30 2017-03-30 Imperva, Inc. Virtual encryption patching using multiple transport layer security implementations
US20170093796A1 (en) * 2013-10-17 2017-03-30 Fortinet, Inc. Inline inspection of security protocols

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10367785B2 (en) * 2013-10-01 2019-07-30 Perfecta Federal Llc Software defined traffic modification system
US10708233B2 (en) * 2017-03-30 2020-07-07 Zscaler, Inc. Identification of certificate pinned mobile applications in cloud based security systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8578002B1 (en) * 2003-05-12 2013-11-05 Sourcefire, Inc. Systems and methods for determining characteristics of a network and enforcing policy
KR20090098542A (ko) * 2008-03-14 2009-09-17 주식회사 엑스큐어넷 프록시를 이용한 암호화 데이터 통신시스템 및 암호화데이터 통신방법
KR20130024388A (ko) * 2011-08-31 2013-03-08 (주)소만사 패킷 미러링 방식으로 암호화된 https 통신 데이터를 모니터링하여 개인정보유출을 방지하는 개인정보 유출 방지 시스템 및 방법
US20170093796A1 (en) * 2013-10-17 2017-03-30 Fortinet, Inc. Inline inspection of security protocols
US20170093824A1 (en) * 2015-09-30 2017-03-30 Imperva, Inc. Virtual encryption patching using multiple transport layer security implementations

Also Published As

Publication number Publication date
US20210014202A1 (en) 2021-01-14
US11601405B2 (en) 2023-03-07
KR20190106581A (ko) 2019-09-18
KR102086489B1 (ko) 2020-03-09

Similar Documents

Publication Publication Date Title
WO2021060854A1 (ko) 네트워크 접속 제어 시스템 및 그 방법
US8104082B2 (en) Virtual security interface
CN110719248B (zh) 用户数据报协议报文的转发方法及装置
WO2023163509A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
US20080075073A1 (en) Security encapsulation of ethernet frames
WO2023146308A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2018000674A1 (zh) 网络连接方法、网络连接装置和终端
WO2022235007A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2019182377A1 (ko) 블록체인 기반 암호화폐의 트랜잭션에 이용되는 주소 정보 생성 방법, 전자 장치 및 컴퓨터 판독 가능한 기록 매체
WO2023120906A1 (ko) 펌웨어를 수신하는 방법 및 펌웨어를 전송하는 방법
WO2023177238A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2023136658A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2018004114A2 (ko) 프록시 서비스 제공을 위한 프록시 인증시스템 및 인증방법
WO2020067734A1 (ko) 넌어드레스 네트워크 장비 및 이를 이용한 통신 보안 시스템
WO2021060859A1 (ko) 단말의 네트워크 접속을 인증 및 제어하기 위한 시스템 및 그에 관한 방법
CN110892695A (zh) 在建立连接期间检查受密码保护的通信连接的连接参数的方法、设备和计算机程序产品
WO2019045424A1 (ko) 보안을 위한 보안 소켓 계층 복호화 방법
WO2019172663A1 (ko) 기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법
WO2020009369A1 (ko) 종단 간 통신에 보안을 제공하기 위한 장치 및 방법
WO2014182013A1 (en) Apparatus and method for authenticating access of a mobile station in a wireless communication system
WO2022235006A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2018056582A1 (ko) 보안 소켓 계층 통신을 이용하는 패킷을 검사하는 방법
KR102059150B1 (ko) IPsec 가상 사설 네트워크 시스템
WO2018086004A1 (zh) 安全通信的方法、受控装置及设备、遥控装置及设备
WO2021060641A1 (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: 19764826

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19764826

Country of ref document: EP

Kind code of ref document: A1