WO2017090996A1 - Data encoding and decoding system and method - Google Patents

Data encoding and decoding system and method Download PDF

Info

Publication number
WO2017090996A1
WO2017090996A1 PCT/KR2016/013600 KR2016013600W WO2017090996A1 WO 2017090996 A1 WO2017090996 A1 WO 2017090996A1 KR 2016013600 W KR2016013600 W KR 2016013600W WO 2017090996 A1 WO2017090996 A1 WO 2017090996A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
data
packet
encryption module
encryption
Prior art date
Application number
PCT/KR2016/013600
Other languages
French (fr)
Korean (ko)
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 이광원
Publication of WO2017090996A1 publication Critical patent/WO2017090996A1/en

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation

Definitions

  • the present invention relates to a data encryption and decryption system and method, and to encrypt and decrypt data transmitted and received between terminals using various private and public networks to prevent hacking, eavesdropping, and eavesdropping, and to maintain a high level of security.
  • a data encryption and decryption system and method are described.
  • various terminals operating in a private or public network including wired or wireless, for example, PCs, laptops, VoIP phones, fax terminals, mobile phones, etc. are subjected to enormous physical or property damage due to various hacking I can wear it.
  • the user generally uses a data encryption or an encryption device to prevent data leakage or incapacitation of the security device through hacking.
  • an embodiment of the present invention encrypts data transmitted using various private networks and public networks to encrypt and prevent hacking, eavesdropping, and eavesdropping in advance. And a decoding system and method.
  • the data encryption and decryption system is a data encryption unit for transmitting encrypted data through the communication network to a second terminal connected through a communication network, the data connection between the first terminal and the communication network receives the data from the first terminal And an encryption module for generating a session key required to generate the encrypted data by encrypting the encryption key, wherein the encryption module generates a first public key and transmits the first public key to the first public key. And receiving a second public key that is a response to the session, and generating the session key using a public key algorithm, which is a method of generating the session key using the received second public key.
  • the encryption module when receiving the call packet from the first terminal, transmits the reprocessed call packet including the first public key to the communication network, and then sends the reprocessed response packet including the second public key. Receive and use the reprocessed response packet to generate the session key.
  • the reprocessed call packet further includes at least one of an encryption ID represented by a random value of a specific length in a payload and a serial number of the encryption module, wherein the serial number is a unique value that can distinguish the encryption module. Can be.
  • the encryption module may generate a first private key together with the first public key, and generate the session key using the first private key and the second public key after receiving the second public key.
  • the session key may be generated in the case of TCP communication, configuring the TCP communication before performing the transmission of the data.
  • the encryption module further uses a packet key generated by using header information for each data packet of the data to generate the encrypted data, wherein the packet key includes header information of the data and a serial number of the encryption module. And generated using at least one of a preset key set by a user, wherein the header information includes at least one of an IP address of the first terminal, an IP address of the second terminal, and a packet ID for each packet. The number may be a unique value that can distinguish the encryption module.
  • the packet key may be generated using a sequence ID which is a value representing a sequence of the TCP communication in the case of TCP communication.
  • the encryption module may include a 1-1 input / output unit configured to receive the data from the first terminal; A first security unit connected to the 1-1 input / output unit and generating the encrypted data and the session key; And a first input / output unit connected to the first security unit and receiving the encrypted data and transmitting the encrypted data to the communication network, wherein the non-address network device generates the session key without setting an IP address. Can be.
  • a data encryption and decryption system is provided.
  • the data encryption and decryption system is a data decryption unit for receiving encrypted data through a communication network from a first terminal connected to a communication network, the second terminal and the communication network is connected between the communication network and transfer the encrypted data from the communication network
  • An encryption module for generating a session key required for receiving and decrypting to generate decrypted data, wherein the encryption module is a response to the first public key after receiving a first public key from the communication network.
  • a second public key is generated, and the session key is generated using a public key algorithm, which is a method of transmitting the second public key to the communication network and generating the session key.
  • the encryption module When receiving the reprocessed call packet including the first public key from the communication network, the encryption module generates the session key using the reprocessed call packet and delivers a response packet from the second terminal. Receive and send a reprocessed response packet containing the second public key to the communication network.
  • the reprocessed response packet may include at least one of an encryption ID represented by a random number having a specific length in a payload and a serial number of the encryption module, and the serial number may be a unique value for distinguishing an encryption module. have.
  • the encryption module may generate a second private key together with the second public key, and generate the session key using the second private key and the first public key after receiving the first public key.
  • the session key may be generated in the case of TCP communication, configuring the TCP communication before performing the transmission of the data.
  • the encryption module further uses a packet key generated by using header information for each data packet of the encrypted data to generate the decrypted data, wherein the packet key includes the header information of the encrypted data and the encryption. Generated using at least one of a serial number of an encryption module that generates the generated data and a user-configured setting key, wherein the header information is an IP address of the first terminal, an IP address of the second terminal, and a packet for each packet. Including an ID, the serial number may be a unique value for distinguishing the encryption module.
  • the packet key may be generated using a sequence ID which is a value representing a sequence of the TCP communication in the case of TCP communication.
  • the encryption module may include a 2-1 input / output unit configured to receive the encrypted data from the communication network; A second security unit connected to the 2-1 input / output unit and generating the decrypted data and the session key; And a 2-2 input / output unit connected to the second security unit and transferring the decrypted data to the second terminal, wherein the non-address network device generates the session key without setting an IP address. Can be.
  • a data encryption and decryption system includes a data encryption unit for transmitting encrypted data through a communication network and a data decryption unit for receiving the encrypted data through the communication network, the first terminal and the communication network being connected to each other.
  • a first encryption module configured to receive data from a first terminal and encrypt the data to generate a session key required for generating the encrypted data;
  • a second encryption module connected between a second terminal and the communication network to generate the session key required to receive the decrypted data from the communication network and to decrypt and generate decrypted data.
  • the session key is generated by using a public key algorithm, which is a method of transmitting the second public key to the communication network and generating the session key by the first encryption module receiving and using the second public key.
  • the first encryption module When the first encryption module receives the call packet from the first terminal, the first encryption module transmits the reprocessed call packet including the first public key to the communication network, and then reprocesses the second packet to include the second public key. Receive a packet, generate the session key using the reprocessed response packet, and the second encryption module uses the reprocessed call packet when receiving the reprocessed call packet from the communication network.
  • the session key may be generated, the response packet may be received from the second terminal, and the reprocessed response packet may be transmitted to the communication network.
  • the reprocessed call packet further includes at least one of an encryption ID represented by a random number of a specific length in a payload and a serial number of the first encryption module, wherein the reprocessed response packet is specified in a payload. At least one of an encryption ID represented by a random value of a length and a serial number of the second encryption module, wherein the serial number may be a unique value for distinguishing an encryption module.
  • the first encryption module generates a first private key together with the first public key, generates the session key using the first private key and the second public key after receiving the second public key.
  • the second encryption module generates a second private key together with the second public key, and generates the session key using the second private key and the first public key after receiving the first public key. can do.
  • the session key may be generated in the case of TCP communication, configuring the TCP communication before performing the transmission of the data.
  • the first encryption module further uses a packet key generated by using header information for each data packet of the data to generate the encrypted data
  • the second encryption module is further configured to generate the decrypted data.
  • the packet key generated by using the header information for each packet of data of the encrypted data is further used, wherein the packet key includes header information of the data, a serial number of the first encryption module, and a user-defined key.
  • the header information includes at least one of an IP address of the first terminal, an IP address of the second terminal, and a packet ID for each packet, and the serial number identifies the encryption module. Can be a unique value.
  • the packet key may be generated using a sequence ID which is a value representing a sequence of the TCP communication in the case of TCP communication.
  • the first encryption module may include: a 1-1 input / output unit configured to receive the data from the first terminal; A first security unit connected to the 1-1 input / output unit and generating the encrypted data and the session key; And a first input / output unit connected to the first security unit and receiving the encrypted data and transmitting the encrypted data to the communication network, wherein the first non-address generates the session key without setting an IP address.
  • the second encryption module comprises: a 2-1 input / output unit configured to receive the encrypted data from the communication network; A second security unit connected to the 2-1 input / output unit and generating the decrypted data and the session key; And a second input / output unit connected to the second security unit and transferring the decrypted data to the second terminal, wherein the second non-address generates the session key without setting an IP address. It may be a network device.
  • Data encryption and decryption system and method according to an embodiment of the present invention by performing the encryption and decryption of data has the effect of preventing hacking, eavesdropping, eavesdropping and the like through a variety of private or public networks.
  • hackers can not connect to the terminal by using a non-address network device that does not need to set an IP address or account in the network device connected to each terminal For example, there is an effect that a kind of virtual private network occurs.
  • FIG. 1 is a block diagram of a data encryption and decryption system according to an embodiment of the present invention.
  • FIG. 2 is a flow chart for a) generating a session key using the system of FIG. 1 in accordance with an embodiment of the present invention, and b) a non-address, another embodiment of the system of FIG. 1 used to generate a session key.
  • FIG. 3 is a flow chart illustrating a) a method of encrypting and decrypting data using an encryption key, b) a detailed flow chart of the step of encrypting data and transmitting it to a communication network, and c) a detail of the step of decrypting and outputting encrypted data.
  • FIG. 1 is a block diagram of a data encryption and decryption system according to an embodiment of the present invention.
  • a data encryption unit 10 is connected to a data decryption unit 20 through a communication network 30.
  • the data encryption unit 10 and the data decryption unit 20 may change roles depending on a terminal to which data is to be transmitted.
  • the first terminal 11 and the first encryption module 13 are set as the data encryption unit 10 and The second terminal 21 and the second encryption module 23 may be set as the data decryption unit 20.
  • the second terminal 21 intends to transmit data from the second terminal 21 to the first terminal 11
  • the first terminal 11 and the first encryption module 13 may be set as the data decryption unit 20
  • the first terminal 21 and the second encryption module 23 may be set as the data encryption unit 10.
  • the communication network 30 may include a dedicated network or a public network, and may include a wired network such as the Internet or PSTN or a wireless network such as Zigbee or Bluetooth.
  • the first terminal 11 and the first encryption module 13 may use the data encryption unit 10 to encrypt the data
  • the second terminal 21 and the second encryption module 23 may use the data.
  • the data decoding unit 20 to decode it is obvious that the definition may be changed according to the transmission direction of the data as described above.
  • the first terminal 11 may transmit data to the second terminal 21 through the communication network 30.
  • the data encryption and decryption system 1 may include a first encryption module 13 and a second terminal connected to the first terminal 11. And a second encryption module 23 connected to 21, and may exchange session keys used for encrypting and decrypting data using the first encryption module 13 and the second encryption module 23.
  • the terminals 11 and 21 and the encryption modules 13 and 23 are represented as being connected externally, but the present invention is not limited thereto, and the encryption modules 13 and 23 may be used. May be embedded in the terminals 11 and 21 as software or hardware, respectively.
  • FIG. 2 is a flow chart for a) generating a session key using the system of FIG. 1 in accordance with an embodiment of the present invention, and b) a non-address, another embodiment of the system of FIG. 1 used to generate a session key.
  • a session key is required.
  • the session key may be leaked to the outside due to hacking or eavesdropping of the communication network.
  • the data encryption unit 10 and the data decryption unit 20 may generate a session key using a public key exchange algorithm.
  • the first encryption module transmits the reprocessed call packet to the communication network (S210).
  • the second encryption module generates a session key using the reprocessed call packet (S220), the second encryption module transmits the reprocessed response packet to the communication network (S230), and the first encryption module reconstructs Generating a session key using the processed response packet (S240).
  • the first encryption module transmits the reprocessed call packet to the communication network (step S210).
  • the first terminal generates a call packet for performing a TCP connection with the second terminal and delivers it to the first encryption module.
  • the call packet is a packet provided to generate a session key before transmitting data in earnest, and does not include data that the first terminal wants to transmit by encrypting.
  • the first encryption module receives the call packet from the first terminal and generates a first private key.
  • the first private key is a random number generated randomly in the first encryption module and is a value used for generating a session key in the first encryption module without being transmitted to the second encryption module through the communication network.
  • the first encryption module generates a specific value k using the first address and the second address included in the header portion of the call packet.
  • the first address and the second address are respectively represented as IP addresses of the first terminal and the second terminal, and the IP address of the terminal to which data is to be transmitted is represented by the first address, and the IP address of the terminal to which data is to be represented by the second address. Can be.
  • the first encryption module After generating the specific value k, the first encryption module generates the first public key by combining y, the first stored private value, and the specific value k.
  • the generated first public key may be included in the payload of the call packet and transferred to the second encryption module.
  • the payload of the call packet may be reprocessed in the first encryption module to include information for generating a session key.
  • the payload of the call packet includes at least one of an encryption ID, a serial number capable of specifying a first encryption module, and a first public key.
  • the encryption ID may be a random number having a specific length indicating that the packet has been reprocessed
  • the serial number may be a value generated to distinguish the first encryption module.
  • the second encryption module generates a session key using the reprocessed call packet (step S220).
  • the second encryption module receives the packet from the communication network. At this time, the second encryption module checks whether the encryption ID is included in the payload of the received packet. If the encryption ID is not included in the payload, the second encryption module may determine that the packet is not a packet transmitted from the first encryption module and drop the packet.
  • the second encryption module may determine that the packet as a reprocessed call packet transmitted from the first encryption module, and use it to generate a session key.
  • the second cryptographic module generates a second private key upon receipt of the reprocessed call packet, the second private key being a randomly generated random value in the second cryptographic module, which is not transmitted to the first cryptographic module through the communication network. It is used to generate a session key in the second encryption module.
  • the second encryption module generates a specific value k using the first address and the second address included in the header portion of the packet.
  • the second encryption module may further use the port value to generate a specific value k, and the generated specific value k may be the same as the specific value k generated in the first encryption module. This is because the first address, the second address, and the port value used to generate the specific value k, respectively, in the first and second encryption modules are the same.
  • the second encryption module may generate a session key by combining the first public key included in the payload, the decimal value y stored in the device, and the second private key.
  • the payload portion of the call packet is deleted, transformed into the same call packet generated by the first terminal, and the packet is transmitted to the second terminal.
  • the second encryption module transmits the reprocessed response packet to the communication network (step S230).
  • the second terminal After receiving the call packet from the second encryption module, the second terminal generates a response packet that is a response to the call packet, and the response packet is delivered to the second encryption module.
  • the second encryption module may generate a second public key by combining y, a second stored private value, and a specific value k.
  • the second encryption module may reprocess the response packet such that at least one of an encryption ID, a serial number capable of specifying the second encryption module, and a second public key is included in the payload of the response packet, and the reprocessed response packet Can be transmitted to the network.
  • the first encryption module generates a session key using the reprocessed response packet (step S240).
  • the first encryption module receives the packet from the communication network and checks whether the encryption ID is included in the payload of the packet. When the encryption ID is not included in the payload, the first encryption module may determine that the packet is not a packet transmitted from the second encryption module and drop the packet.
  • the first encryption module may determine the packet as a reprocessed response packet and use it to generate a session key.
  • the first encryption module may generate a session key by combining the second public key included in the payload of the reprocessed response packet, the previously stored decimal value y, and the first private key.
  • the payload portion of the response packet may be deleted and transformed into the same response packet generated by the second terminal, and then the packet may be delivered to the first terminal.
  • the method (S200) for generating a session key for data encryption and decryption according to an embodiment of the present invention described above is performed before performing data transmission in the case of TCP communication to generate a new session key for each communication It can increase security. Also, in case of UDP communication, if the communication is disconnected for more than the preset time, if the communication status changes compared to the current communication, such as when a new communication is configured or when the communication program to be used is changed, the session key is renewed. By setting to generate, security against session hijacking may be increased.
  • a session key generation algorithm that uses a public key to generate a session key as in an embodiment of the present invention, a Diffie Hellman algorithm is typically used, but this is only one example. All algorithms that can generate the session key for encryption are allowed.
  • non-address network device refers to a network device for which an IP address or MAC address, etc. necessary for communication for transmitting and receiving data is not set or an account is not required.
  • the first encryption module 13 of the data encryption and decryption system 2 may include a first-first input / output unit 131, a first security unit 133, and a first security module 133. It may be replaced by the first non-address network device 130 including the 1-2 input and output unit 135, the second encryption module 23, the 2-1 input and output unit 231, the second security unit 233 ) And the second non-address network device 230 including the second input / output unit 235. Since the first and second non-address network devices do not have IP addresses, the first and second non-address network devices cannot directly penetrate from the outside through a communication network or the like, and thus are devices having high safety from hacking into the device.
  • data transmitted from the terminals 11 and 21 may be encrypted or decrypted using a session key generated through public key exchange between non-address network devices 130 and 230 independently of the terminals 11 and 21.
  • the same effect as that of the communication using the virtual private network may be generated.
  • a data encryption and decryption system 2 using a non-address network device may include a first terminal 11, a first non-address network device 130, and a communication network. 30, the second terminal 21, and the second non-address network device 230.
  • the first terminal 11 may have a first address
  • the second terminal 21 may have a second address
  • the first terminal 11 and the second terminal 21 may each have different accounts. .
  • the first non-address network device 130 and the second non-address network device 230 must hold the same session key for encrypting and decrypting data. However, when the session key is directly shared, since the session key data is not encrypted, session key information may be leaked through hacking or eavesdropping, and thus encryption information may be attacked. Therefore, the first non-address network device 130 and the second non-address network device 230 may perform a process of generating the same session key in each device through public key exchange before sharing data.
  • 2C illustrates an example of TCP communication using a Diffie Hellman algorithm in a method for generating a session key by a data encryption and decryption system using a non-address network device according to an embodiment of the present invention.
  • the first terminal 11 has a first address represented by 192.168.123.10, is connected to the first non-address network device 130, and the second terminal 21 is represented by 192.168.456.7.
  • the second address and is connected to the second non-address network device 230.
  • the first terminal 11 generates a call packet for performing a TCP connection with the second terminal 21 and transmits it to the first non-address network device 130.
  • the call packet is a packet provided to generate a session key before the data is transmitted in earnest, and preferably, the first packet 11 does not include data to be encrypted and transmitted.
  • the first non-address network device 130 receives a call packet from the first terminal 11 through the 1-2 input / output unit 135 and generates a first private key in the first security unit 133.
  • the first private key is a random number generated randomly by the first security unit 133, and is not transmitted to the second non-address network device 230 through the communication network 30, and the session is performed by the first non-address network device 130.
  • Required value for generating a key Thereafter, the first security unit 133 generates a specific value k using the first address and the second address included in the header portion of the call packet. At this time, preferably, the first security unit 133 may further use the port value to generate a specific value k.
  • the first security unit 133 After generating the specific value k, the first security unit 133 generates the first public key by combining y, the first private key, and the specific value k, which are previously stored decimal values.
  • the generated first public key may be included in the payload of the call packet and transferred to the second non-address network device 230.
  • the payload of the call packet may be reprocessed by the first security unit 133 to include information for generating a session key.
  • the payload of the call packet includes at least one of an encryption ID, a serial key value of the first non-address network device 130, and a first public key.
  • the encryption ID is a random value of a specific length indicating that the packet is reprocessed
  • the serial key value may be generated for each non-address network device and may be generated to distinguish the non-address network device.
  • the reprocessed call packet is transmitted to the communication network via the 1-1 input / output unit 131 and is delivered to the second non-address network device 230.
  • the second security unit 233 of the second non-address network device 230 receives the packet through the 2-1 input / output unit 231, the second security unit 233 confirms whether an encryption ID is included in the payload of the corresponding packet. In this case, when the encryption ID is not included in the payload, the second security unit 233 may determine that the packet is not a packet transmitted from the first non-address network device 130 and drop the packet.
  • the second security unit 233 may determine that the packet is a packet transmitted from the first non-address network device 130 and use it to generate a session key.
  • the second security key When the second security unit 233 receives the reprocessed call packet, the second security key generates a second private key, and the second private key is a random number generated randomly by the second security unit 233, and is generated through the communication network 30. It is used to generate a session key at the second non-address network device 230 without being forwarded to the first non-address network device 130.
  • the second security unit 233 generates a specific value k using the first address and the second address included in the header portion of the packet.
  • the second security unit 233 may further use the port value to generate a specific value k, and the generated specific value k may be the same value as the specific value k generated by the first security unit 133. This is because the first address, the second address, and the port value used by the first and second security units 133 and 233 to generate the specific value k are the same.
  • the second security unit 233 may generate a session key by combining the first public key included in the payload, the decimal value y stored in the device, and the second private key, and reprocess after generating the session key.
  • the payload portion of the call packet is deleted and transformed into a call packet generated by the first terminal 11, and then the packet is transferred to the second terminal 21 using the second-2 input / output unit 235.
  • the second terminal 21 After receiving the call packet, the second terminal 21 generates a response packet that is a response to the call packet, and the response packet is returned to the second security unit 233 through the second-2 input / output unit 235. Is passed to.
  • the second security unit 233 generates a second public key by combining y, a second stored private value, a second private key, and a specific value k.
  • the second security unit 233 may reprocess the response packet such that at least one of the encryption ID, the serial key value of the second non-address network device 230, and the second public key is included in the payload of the response packet.
  • the processed response packet is transmitted to the communication network through the 2-1 input / output unit 231 and delivered to the first non-address network device 130.
  • the first non-address network device 130 receives the reprocessed response packet through the 1-1 input / output unit 131 and checks whether an encryption ID is included in the payload. In this case, when the encryption ID is not included in the payload, the first security unit 133 may determine that the packet is not a packet transmitted from the second non-address network device 230 and drop the packet.
  • the first security unit 133 determines that the packet is a packet transmitted from the second non-address network device 230 and uses the packet to generate a session key. .
  • the first security unit 133 may generate a session key by combining the second public key included in the payload, y, which is a previously stored decimal value, and the first private key.
  • the response packet may be reprocessed after generating the session key. After deleting the payload portion of the packet, the packet is transformed into a response packet generated by the second terminal 21 and then transmitted to the first terminal 11 using the 1-2 input / output unit 135.
  • the session key generation process described above using FIG. 2C is performed before performing data transmission in the case of TCP communication, thereby increasing security by generating a new session key for each data.
  • a new communication key is generated when the communication status changes compared to the current communication, such as when a new communication is configured or when the communication program to be used is changed. It can also increase security.
  • the data encryption and decryption system and method may perform data encryption and decryption using a packet key in addition to the above-described session key.
  • the above-described session key is a key used to encrypt or decrypt a data bundle
  • the packet key is a key used to encrypt or decrypt each data packet.
  • the packet key encrypts or decrypts each data packet, even if one packet key is leaked, another packet key is used in the next data packet, thereby having a higher security against key leakage.
  • a packet key generated to perform data encryption and decryption according to an embodiment of the present invention is generated by the first encryption module 13 and the second encryption module 23 of FIG. 1 using header information for each data packet. Can be.
  • the packet key generated by the first encryption module 13 encrypts data transmitted from the first terminal 11 in packet units, and the packet key generated by the second encryption module 23 is encrypted from the communication network 30. It is used to receive data and decrypt the data.
  • the first encryption module 13 may use the header information and the additional information of the data packet to generate the packet key.
  • the header information may be at least one of a first address (originating IP address), which is an IP address of a first terminal, a second address (destination IP address), and a packet ID, which is an IP address of a second terminal. It may be at least one of a number or a setting key.
  • the serial number is a value generated to distinguish the first encryption module
  • the setting key is a specific key that changes according to the user's setting.
  • the first encryption module may further use the sequence ID of the TCP packet to generate the packet key.
  • the first address, the second address, the serial number of the first encryption module, and the configuration key are fixed values that do not change during the communication session.
  • the packet ID is an ID generated to distinguish the packets, and in the case of TCP communication, since the sequence ID is a change value that changes every time the communication session is reconfigured, data is generated using a different packet key for each data packet and communication session. Because it can encrypt, high security can be maintained.
  • the second encryption module 23 generates a packet key for decrypting the data.
  • the second encryption module 23 may receive the encrypted data from the communication network 30 and generate a packet key for decrypting the data using the received header data and additional information for each data packet.
  • the header information may be at least one of a first address (originating IP address), a second address (destination IP address), and a packet ID, and the additional information may be at least one of a serial number or a setting key.
  • the serial number is the serial number of the first encryption module
  • the second encryption module 230 may obtain the serial number of the first encryption module before receiving the encrypted data from the communication network 30, in particular, TCP
  • the communication session may be acquired and stored in advance in the step of configuring the communication session.
  • the setting key may be the same key as the first encryption module set by the user as a specific key that changes according to the setting of the user.
  • the second encryption module may further use the sequence ID of the TCP packet to generate the packet key.
  • first and second encryption modules for generating the packet key may be replaced with the first and second non-address network devices, respectively, as in the example of the system for generating the session key described above with reference to FIG. 2B.
  • the first non-address network device 130 transmits data to be encrypted from the first terminal 11 to the first security unit 133 through the 1-2 input / output unit 135.
  • the first security unit 133 may include at least one of at least one of a first address (originating IP address), a second address (destination IP address), and a packet ID from the header information of the received data, and at least one of a serial number or a setting key as additional information.
  • a packet key is generated using one piece of information.
  • the first security unit 133 may generate a packet key using all of the first address, the second address, the packet ID, the serial number, and the setting key.
  • the serial number is the ID value of the non-address network device that is generated to identify the non-address network device.
  • the serial number is generated by combining a time value at the moment the power is supplied to the first non-address network device 130 and a random number of specific digits. Since the generated serial number is not a fixed value for each device, the first non-address network device 130 may be rebooted as needed to irregularly change the serial number of the device, thereby preventing the leakage of the serial number. have.
  • the setting key is a key that can be arbitrarily set by the user.
  • the setting key may generate an encryption group by setting the same setting key value to devices to which the user wants to perform encrypted communication, thereby increasing security capability.
  • the first security unit 133 may further use the sequence ID of the TCP communication session generated for data transmission to generate a packet key.
  • the packet key generated by the first non-address network device 130 is used by the first security unit 133 to encrypt the packet. That is, when a packet key is generated using the header information of the A data packet, the first security unit 133 encrypts the A data packet using the a packet key and communicates with the communication network through the 1-1 input / output unit 131. An encrypted A data packet can be transmitted at 30.
  • the encrypted data packet is transmitted to the second non-address network device 230 through the communication network 30.
  • the second non-address network device 230 receives the encrypted data packet through the 2-1 input / output unit 231 and transmits the encrypted data packet to the second security unit 233.
  • the second security unit 233 may generate a packet key for decrypting data using the header information of the encrypted data packet.
  • the second security unit 233 may include at least one of a first address (originating IP address), a second address (destination IP address), and a packet ID from the header information of the encrypted data packet, and a serial number or setting key which is additional information.
  • a packet key is generated using at least one information.
  • the second security unit 133 may generate a packet key using all of the first address, the second address, the packet ID, the serial number, and the setting key.
  • the serial number of the additional information used to generate the packet key in the second security unit 233 may be a serial number of the first non-address network device 130
  • the second security unit 233 is a communication in TCP communication
  • the serial number of the first non-address network device 130 may be obtained and stored to generate a packet key.
  • the first security unit 133 may further use the sequence ID of the TCP communication session generated for data transmission to generate a packet key.
  • the packet information and additional information used by the second security unit 233 to generate the packet key are the same as the information used by the first security unit 133 to generate the packet key. If the encrypted A data packet is generated and transmitted by generating the packet key, the second security unit 233 generates the same a packet key generated by the first security unit 133 by using the header information of the encrypted A data packet. As a result, the encrypted A data packet can be decrypted.
  • the data encryption and decryption system may encrypt or decrypt data in the same manner as the flowchart shown in FIG. 3A.
  • a data encryption and decryption method will be described based on the first encryption module and the first terminal.
  • the present invention is not limited thereto, and the second encryption module and the second terminal may also encrypt and decrypt data in the same manner. Can be done.
  • the first encryption module and the second encryption module may be set to perform only one of encryption and decryption.
  • the data encryption and decryption method 300 includes setting a data encryption level (S310), determining whether data is transmitted from a terminal (S320), and data. And transmitting the encrypted data (S330), determining whether the encrypted data is received from the communication network (S340), and decrypting and outputting the encrypted data (S350).
  • the user sets the data encryption level (step S310).
  • the user may set a data encryption level such that the first encryption module uses at least one of a session key and a packet key for data encryption. .
  • the setting in step S310 may not be applied in the process of decrypting data since the decryption level is determined according to the degree of encryption of the received data when the first encryption module decrypts the data.
  • the first encryption module may directly generate the session key as described with reference to FIG. 2 or may receive the previously generated session key from the outside.
  • the first encryption module determines whether data is transmitted from the first terminal (step S320).
  • the first encryption module performs step S330 of encrypting the data and transmitting the data to the communication network, and determining whether to receive the encrypted data from the communication network if the data is not received from the terminal. Can be done.
  • the first encryption module encrypts data and transmits the data to the communication network, as illustrated in FIG. 3B, confirming whether a session key is held in operation S331, and checking whether packet key usage is set in operation S332. Encrypting the data using both the session key and the packet key (S333), encrypting the data using the session key (S334), encrypting the data using the packet key (S335), and encrypting the data. Transmitting to the communication network (S336).
  • the first encryption module first checks whether a session key is held (step S331). In this case, if it is determined in step S310 that the session key is held, it is checked whether the packet key is used or not (step S332), and if it is determined that the session key is not held, data is encrypted using only the packet key. (Step S335).
  • the first encryption module checks whether the packet key is set for use (step S332). If the first encryption module does not set the packet key to be used in step S310, the first encryption module encrypts the data using only the session key (step S334). If the packet key is set to use the packet key, the first encryption module uses both the session key and the packet key to encrypt the data. Encrypt (step S333).
  • the packet key used to encrypt data in the first encryption module may be generated using header information for each data packet to be encrypted in the first encryption module.
  • the first encryption module transmits the encrypted data to the communication network in steps S333 to S335 (step S336).
  • the first encryption module determines whether it receives the encrypted data from the communication network (step S340). In this case, when it is determined that the first encryption module does not receive the encrypted data from the communication network, the first encryption module does not receive data from both the terminal and the communication network, and thus repeats step S320.
  • the first encryption module decrypts the received encryption data and transfers the received encryption data to the first terminal to output the data to the user (step S350).
  • the first encryption module decrypts and outputs the encrypted data (S350), as shown in FIG. 3C, confirming whether or not the session key is held (S351), and performing decryption of the data using the held session key.
  • Step S352 checking whether the data packet is encrypted (S353), generating a packet key to perform decryption of the data packet (S354), and delivering and decrypting the decrypted data to the terminal (S355).
  • the first encryption module Upon receiving the encrypted data from the communication network, the first encryption module first checks whether a session key is held (step S351). In this case, when it is determined in step S310 that the session key is held, the first encryption module decrypts the encrypted data received from the communication network using the held session key (step S352). In addition, if it is determined that the first encryption module does not hold the session key, the first encryption module may determine that the session key is not used in the process of encrypting the encrypted data received from the communication network, and may not perform step S352. have.
  • the first encryption module checks whether the received data packet is encrypted (step S353).
  • the first encryption module checks whether the encrypted data received from step S352 or the communication network is encrypted for each packet, and if it is determined that encryption for each packet is performed, the first encryption module generates a packet key to decrypt the corresponding data packet ( Step S354).
  • the first encryption module may not perform step S354.
  • the data packet may preferably be data obtained by performing step S352, since the first encryption module needs to perform at least one data decryption process by receiving encrypted data through a communication network.
  • the first encryption module delivers the data that has performed at least one decryption step of step S352 or step S354 to the first terminal (step S355), and the first terminal outputs the received data to the user to decrypt the data. You can end the process.
  • the data encryption and decryption method according to an embodiment of the present invention illustrated in FIGS. 3A to 3C described above may be implemented through a data encryption and decryption system including the non-address network device shown in FIG. 2B.
  • the first encryption module is replaced with the first non-address network device, and the first security unit may perform each step.

Abstract

Provided are data encoding and decoding system and method. According to an embodiment of the present invention, a data encoding and decoding system, in a data encoding unit for transmitting encoded data through a communication network to a second terminal connected by means of the communication network, comprises an encoding module connected between a first terminal and a communication network, receiving transmission of data from the first terminal, encoding the data, and generating a session key that is required for generation of the encoded data. The encoding module generates a first public key, transmits same to the communication network, receives from the communication network a second public key, which is a response to the first public key, and generates the session key by means of a public key algorithm which is for generating the session key by means of the received second public key.

Description

데이터 암호화 및 복호화 시스템 및 방법Data encryption and decryption system and method
본 발명은 데이터 암호화 및 복호화 시스템 및 방법에 관한 것으로서, 각종 전용망 및 공용망을 사용하는 단말기들 사이에서 송수신하는 데이터를 암호화 및 복호화 함으로써 해킹이나 도청 및 감청을 방지하고 높은 수준의 보안을 유지할 수 있도록 하는 데이터 암호화 및 복호화 시스템 및 방법에 관한 것이다.The present invention relates to a data encryption and decryption system and method, and to encrypt and decrypt data transmitted and received between terminals using various private and public networks to prevent hacking, eavesdropping, and eavesdropping, and to maintain a high level of security. A data encryption and decryption system and method are described.
일반적으로, 유선 또는 무선을 포함하는 전용망 또는 공중망 속에서 운영되고 있는 각종 단말기들, 예를 들면, PC, 노트북, VoIP 전화기, fax 단말기, 모바일 폰 등은 각종 해킹으로 인해 막대한 물리적 또는 재산적 피해를 입을 수 있다.In general, various terminals operating in a private or public network including wired or wireless, for example, PCs, laptops, VoIP phones, fax terminals, mobile phones, etc. are subjected to enormous physical or property damage due to various hacking I can wear it.
해킹은 네트워크의 취약한 보안망에 불법적으로 접근하거나 정보 시스템 또는 특정 단말기 상의 동작에 유해한 영향을 끼치는 제반 행위를 일컫는 것으로서, 결국 어플리케이션의 프로그램 코드를 임의로 조작하여 해당 어플리케이션을 개발한 개발자가 의도하지 않은 형태로 어플리케이션이 동작하도록 하는 것을 말한다.Hacking refers to all kinds of activities that illegally access the vulnerable security network of the network or adversely affect the operation of the information system or a specific terminal. Eventually, hacking is not intended by the developer who developed the application by arbitrarily manipulating the program code of the application. This is to make the application work.
이러한 해킹은 각종 단말기의 IP Address 및 계정 정보를 통하여 이루어지고, 보안 장치들의 경우에도 해커(Hacker)들이 IP Address 및 계정 정보를 공격하여 보안 장치를 무력화 시킨다.Such hacking is performed through IP address and account information of various terminals, and even in the case of security devices, hackers attack the IP address and account information to disable the security device.
따라서, 사용자는 해킹을 통한 데이터 유출 또는 보안 장치의 무력화를 방지하기 위해 데이터 암호화 또는 암호화 장치 등을 이용하는 것이 일반적이다.Therefore, the user generally uses a data encryption or an encryption device to prevent data leakage or incapacitation of the security device through hacking.
기존의 VPN 및 단말기 통신에 관한 보안 장치들은 IP Address 및 계정 설정이 필수적이었다. 따라서 필연적으로 DDoS(distributed denial of service) 공격 및 날로 발달하는 각종 해킹 기법에 의해 보안 장치의 무력화가 발생하는 문제점이 있다.In the existing VPN and security devices for terminal communication, IP address and account setting were essential. Therefore, there is a problem that the incapacitation of the security device is inevitably caused by distributed denial of service (DDoS) attacks and various hacking techniques that develop day by day.
또한, 사용자의 PC가 좀비 PC가 될 가능성이 존재하게 되며, 기밀 유출에 따른 막대한 피해는 물론 생명까지 위협 받을 수 있으며, 통신 장치의 경우에는 도청이나 감청에 무력화 되는 문제점이 있다.In addition, there is a possibility that the user's PC becomes a zombie PC, and can be threatened with life as well as enormous damage due to confidential leakage, in the case of a communication device has the problem that the eavesdropping or eavesdropping.
상기와 같은 종래 기술의 문제점을 해결하기 위해, 본 발명의 일 실시예는 각종 전용망과 공용망을 이용하여 전달되는 데이터를 암호화 함으로써 해킹이나 도청 및 감청을 사전에 차단하고 방지할 수 있도록 하는 데이터 암호화 및 복호화 시스템 및 방법을 제공하고자 한다.In order to solve the problems of the prior art as described above, an embodiment of the present invention encrypts data transmitted using various private networks and public networks to encrypt and prevent hacking, eavesdropping, and eavesdropping in advance. And a decoding system and method.
위와 같은 과제를 해결하기 위한 본 발명의 일 측면에 따르면, 데이터 암호화 및 복호화 시스템이 제공된다. 상기 데이터 암호화 및 복호화 시스템은, 통신망으로 연결된 제 2 단말기로 상기 통신망을 통해 암호화 된 데이터를 송신하는 데이터 암호화 부에 있어서, 제 1 단말기와 상기 통신망 사이에 연결되고 상기 제 1 단말기로부터 데이터를 전달받아 암호화하여 상기 암호화 된 데이터를 생성하기 위해 요구되는 세션 키를 생성하는 암호화 모듈을 포함하며, 상기 암호화 모듈은, 제 1 공개 키를 생성하여 상기 통신망으로 송신한 후 상기 통신망으로부터 상기 제 1 공개 키에 대한 응답인 제 2 공개 키를 수신하며, 수신한 상기 제 2 공개 키를 이용하여 상기 세션 키를 생성하는 방법인 공개키 알고리즘을 사용하여 상기 세션 키를 생성한다.According to an aspect of the present invention for solving the above problems, a data encryption and decryption system is provided. The data encryption and decryption system is a data encryption unit for transmitting encrypted data through the communication network to a second terminal connected through a communication network, the data connection between the first terminal and the communication network receives the data from the first terminal And an encryption module for generating a session key required to generate the encrypted data by encrypting the encryption key, wherein the encryption module generates a first public key and transmits the first public key to the first public key. And receiving a second public key that is a response to the session, and generating the session key using a public key algorithm, which is a method of generating the session key using the received second public key.
상기 암호화 모듈은, 상기 제 1 단말기로부터 호출 패킷을 전달 받는 경우 상기 제 1 공개 키를 포함하는 재 가공 된 호출 패킷을 상기 통신망으로 송신한 후 상기 제 2 공개 키를 포함하는 재 가공된 응답 패킷을 수신하고, 상기 재 가공된 응답 패킷을 이용하여 상기 세션 키를 생성할 수 있다.The encryption module, when receiving the call packet from the first terminal, transmits the reprocessed call packet including the first public key to the communication network, and then sends the reprocessed response packet including the second public key. Receive and use the reprocessed response packet to generate the session key.
상기 재 가공된 호출 패킷은, 페이로드에 특정 길이의 난수 값으로 표현되는 암호화 ID 및 상기 암호화 모듈의 시리얼 넘버 중 적어도 하나를 더 포함하며, 상기 시리얼 넘버는, 암호화 모듈을 구별할 수 있는 고유 값일 수 있다.The reprocessed call packet further includes at least one of an encryption ID represented by a random value of a specific length in a payload and a serial number of the encryption module, wherein the serial number is a unique value that can distinguish the encryption module. Can be.
상기 암호화 모듈은, 상기 제 1 공개 키와 함께 제 1 개인 키를 생성하며, 상기 제 2 공개 키를 수신한 후 상기 제 1 개인 키 및 제 2 공개 키를 이용하여 상기 세션 키를 생성할 수 있다.The encryption module may generate a first private key together with the first public key, and generate the session key using the first private key and the second public key after receiving the second public key. .
상기 세션 키는, TCP 통신의 경우, 상기 데이터의 전송을 수행하기 전에 상기 TCP 통신을 구성하며 생성될 수 있다.The session key may be generated in the case of TCP communication, configuring the TCP communication before performing the transmission of the data.
상기 암호화 모듈은, 상기 암호화 된 데이터를 생성하기 위해 상기 데이터의 데이터 패킷 별 헤더 정보를 이용하여 생성되는 패킷 키를 더 이용하며, 상기 패킷 키는, 상기 데이터의 헤더 정보, 상기 암호화 모듈의 시리얼 넘버 및 사용자가 기 설정한 설정 키 중 적어도 하나를 이용하여 생성되고, 상기 헤더 정보는 상기 제 1 단말기의 IP 주소, 상기 제 2 단말기의 IP 주소 및 패킷 별 패킷 ID 중 적어도 하나를 포함하며, 상기 시리얼 넘버는, 암호화 모듈을 구별할 수 있는 고유 값일 수 있다.The encryption module further uses a packet key generated by using header information for each data packet of the data to generate the encrypted data, wherein the packet key includes header information of the data and a serial number of the encryption module. And generated using at least one of a preset key set by a user, wherein the header information includes at least one of an IP address of the first terminal, an IP address of the second terminal, and a packet ID for each packet. The number may be a unique value that can distinguish the encryption module.
상기 패킷 키는, TCP 통신의 경우, 상기 TCP 통신의 시퀀스를 나타내는 값인 시퀀스 ID를 더 사용하여 생성될 수 있다.The packet key may be generated using a sequence ID which is a value representing a sequence of the TCP communication in the case of TCP communication.
상기 암호화 모듈은, 상기 제 1 단말기로부터 상기 데이터를 제공 받는 제 1-1 입출력부; 상기 제 1-1 입출력부와 연결되며, 상기 암호화 된 데이터 및 상기 세션 키를 생성하는 제 1 보안부; 및 상기 제 1 보안부와 연결되며, 상기 암호화 된 데이터를 제공 받아 상기 통신망으로 송신하는 제 1-2 입출력부;를 포함하며, IP 주소가 설정되지 않은 상태에서 상기 세션 키를 생성하는 넌어드레스 네트워크 장치일 수 있다.The encryption module may include a 1-1 input / output unit configured to receive the data from the first terminal; A first security unit connected to the 1-1 input / output unit and generating the encrypted data and the session key; And a first input / output unit connected to the first security unit and receiving the encrypted data and transmitting the encrypted data to the communication network, wherein the non-address network device generates the session key without setting an IP address. Can be.
본 발명의 일 측면에 따르면, 데이터 암호화 및 복호화 시스템이 제공된다. 상기 데이터 암호화 및 복호화 시스템은, 통신망으로 연결된 제 1 단말기로부터 상기 통신망을 통해 암호화 된 데이터를 수신하는 데이터 복호화 부에 있어서, 제 2 단말기와 상기 통신망 사이에 연결되고 상기 통신망으로부터 상기 암호화 된 데이터를 전달받아 복호화하여 복호화 된 데이터를 생성하기 위해 요구되는 세션 키를 생성하는 암호화 모듈을 포함하며, 상기 암호화 모듈은, 상기 통신망으로부터 제 1 공개 키를 수신한 후, 상기 제 1 공개 키에 대한 응답인 제 2 공개 키를 생성하며, 상기 제 2 공개 키를 상기 통신망으로 송신하고 상기 세션 키를 생성하는 방법인 공개키 알고리즘을 이용하여 상기 세션 키를 생성한다.According to one aspect of the present invention, a data encryption and decryption system is provided. The data encryption and decryption system is a data decryption unit for receiving encrypted data through a communication network from a first terminal connected to a communication network, the second terminal and the communication network is connected between the communication network and transfer the encrypted data from the communication network An encryption module for generating a session key required for receiving and decrypting to generate decrypted data, wherein the encryption module is a response to the first public key after receiving a first public key from the communication network. A second public key is generated, and the session key is generated using a public key algorithm, which is a method of transmitting the second public key to the communication network and generating the session key.
상기 암호화 모듈은, 상기 통신망으로부터 상기 제 1 공개 키를 포함하는 재 가공된 호출 패킷을 수신하는 경우, 상기 재 가공된 호출 패킷을 이용하여 상기 세션 키를 생성하고 상기 제 2 단말기로부터 응답 패킷을 전달 받아 상기 제 2 공개 키를 포함하는 재 가공된 응답 패킷을 상기 통신망으로 송신할 수 있다.When receiving the reprocessed call packet including the first public key from the communication network, the encryption module generates the session key using the reprocessed call packet and delivers a response packet from the second terminal. Receive and send a reprocessed response packet containing the second public key to the communication network.
상기 재 가공된 응답 패킷은, 페이로드에 특정 길이의 난수 값으로 표현되는 암호화 ID 및 상기 암호화 모듈의 시리얼 넘버 중 적어도 하나를 포함하며, 상기 시리얼 넘버는, 암호화 모듈을 구별할 수 있는 고유 값일 수 있다.The reprocessed response packet may include at least one of an encryption ID represented by a random number having a specific length in a payload and a serial number of the encryption module, and the serial number may be a unique value for distinguishing an encryption module. have.
상기 암호화 모듈은, 상기 제 2 공개 키와 함께 제 2 개인 키를 생성하며, 상기 제 1 공개 키를 수신한 후 상기 제 2 개인 키 및 제 1 공개 키를 이용하여 상기 세션 키를 생성할 수 있다.The encryption module may generate a second private key together with the second public key, and generate the session key using the second private key and the first public key after receiving the first public key. .
상기 세션 키는, TCP 통신의 경우, 상기 데이터의 전송을 수행하기 전에 상기 TCP 통신을 구성하며 생성될 수 있다.The session key may be generated in the case of TCP communication, configuring the TCP communication before performing the transmission of the data.
상기 암호화 모듈은, 상기 복호화 된 데이터를 생성하기 위해 상기 암호화 된 데이터의 데이터 패킷 별 헤더 정보를 이용하여 생성되는 패킷 키를 더 이용하며, 상기 패킷 키는, 상기 암호화 된 데이터의 헤더 정보, 상기 암호화 된 데이터를 생성한 암호화 모듈의 시리얼 넘버 및 사용자가 기 설정한 설정 키 중 적어도 하나를 이용하여 생성되고, 상기 헤더 정보는 상기 제 1 단말기의 IP 주소, 상기 제 2 단말기의 IP 주소 및 패킷 별 패킷 ID를 포함하며, 상기 시리얼 넘버는, 암호화 모듈을 구별할 수 있는 고유 값일 수 있다.The encryption module further uses a packet key generated by using header information for each data packet of the encrypted data to generate the decrypted data, wherein the packet key includes the header information of the encrypted data and the encryption. Generated using at least one of a serial number of an encryption module that generates the generated data and a user-configured setting key, wherein the header information is an IP address of the first terminal, an IP address of the second terminal, and a packet for each packet. Including an ID, the serial number may be a unique value for distinguishing the encryption module.
상기 패킷 키는, TCP 통신의 경우, 상기 TCP 통신의 시퀀스를 나타내는 값인 시퀀스 ID를 더 사용하여 생성될 수 있다.The packet key may be generated using a sequence ID which is a value representing a sequence of the TCP communication in the case of TCP communication.
상기 암호화 모듈은, 상기 통신망으로부터 상기 암호화 된 데이터를 수신하는 제 2-1 입출력부; 상기 제 2-1 입출력부와 연결되며, 상기 복호화 된 데이터 및 상기 세션 키를 생성하는 제 2 보안부; 및 상기 제 2 보안부와 연결되며, 상기 복호화 된 데이터를 상기 제 2 단말기로 전달하는 제 2-2 입출력부;를 포함하며, IP 주소가 설정되지 않은 상태에서 상기 세션 키를 생성하는 넌어드레스 네트워크 장치일 수 있다.The encryption module may include a 2-1 input / output unit configured to receive the encrypted data from the communication network; A second security unit connected to the 2-1 input / output unit and generating the decrypted data and the session key; And a 2-2 input / output unit connected to the second security unit and transferring the decrypted data to the second terminal, wherein the non-address network device generates the session key without setting an IP address. Can be.
본 발명의 일 측면에 따르면, 데이터 암호화 및 복호화 시스템이 제공된다. 상기 데이터 암호화 및 복호화 시스템은, 통신망을 통해 암호화 된 데이터를 송신하는 데이터 암호화 부 및 상기 통신망을 통해 상기 암호화 된 데이터를 수신하는 데이터 복호화 부에 있어서, 제 1 단말기와 상기 통신망 사이에 연결되고 상기 제 1 단말기로부터 데이터를 전달받아 암호화하여 상기 암호화 된 데이터를 생성하기 위해 요구되는 세션 키를 생성하는 제 1 암호화 모듈; 및 제 2 단말기와 상기 통신망 사이에 연결되고 상기 통신망으로부터 상기 암호화 된 데이터를 전달받아 복호화하여 복호화 된 데이터를 생성하기 위해 요구되는 상기 세션 키를 생성하는 제 2 암호화 모듈을 포함하며, 상기 제 1 암호화 모듈에서 제 1 공개 키를 생성하여 상기 통신망으로 송신하고 상기 제 2 암호화 모듈에서 상기 제 1 공개 키를 수신한 후, 상기 세션 키 및 생기 제 1 공개 키에 대한 응답인 제 2 공개 키를 생성하여 상기 제 2 공개 키를 상기 통신망으로 송신하고, 상기 제 1 암호화 모듈이 상기 제 2 공개 키를 수신하고 이용하여 상기 세션 키를 생성하는 방법인 공개 키 알고리즘을 이용하여 상기 세션 키를 생성한다.According to one aspect of the present invention, a data encryption and decryption system is provided. The data encryption and decryption system includes a data encryption unit for transmitting encrypted data through a communication network and a data decryption unit for receiving the encrypted data through the communication network, the first terminal and the communication network being connected to each other. A first encryption module configured to receive data from a first terminal and encrypt the data to generate a session key required for generating the encrypted data; And a second encryption module connected between a second terminal and the communication network to generate the session key required to receive the decrypted data from the communication network and to decrypt and generate decrypted data. Generate a first public key in the module and transmit it to the communication network, and after receiving the first public key in the second encryption module, generate a second public key that is a response to the session key and the generated first public key The session key is generated by using a public key algorithm, which is a method of transmitting the second public key to the communication network and generating the session key by the first encryption module receiving and using the second public key.
상기 제 1 암호화 모듈은, 상기 제 1 단말기로부터 호출 패킷을 전달 받는 경우 상기 제 1 공개 키를 포함하는 재 가공 된 호출 패킷을 상기 통신망으로 송신한 후 상기 제 2 공개 키를 포함하는 재 가공된 응답 패킷을 수신하고, 상기 재 가공된 응답 패킷을 이용하여 상기 세션 키를 생성하고, 상기 제 2 암호화 모듈은, 상기 통신망으로부터 상기 재 가공된 호출 패킷을 수신하는 경우, 상기 재 가공된 호출 패킷을 이용하여 상기 세션 키를 생성하고 상기 제 2 단말기로부터 응답 패킷을 전달 받아 상기 재 가공된 응답 패킷을 상기 통신망으로 송신할 수 있다.When the first encryption module receives the call packet from the first terminal, the first encryption module transmits the reprocessed call packet including the first public key to the communication network, and then reprocesses the second packet to include the second public key. Receive a packet, generate the session key using the reprocessed response packet, and the second encryption module uses the reprocessed call packet when receiving the reprocessed call packet from the communication network The session key may be generated, the response packet may be received from the second terminal, and the reprocessed response packet may be transmitted to the communication network.
상기 재 가공된 호출 패킷은, 페이로드에 특정 길이의 난수 값으로 표현되는 암호화 ID 및 상기 제 1 암호화 모듈의 시리얼 넘버 중 적어도 하나를 더 포함하며, 상기 재 가공된 응답 패킷은, 페이로드에 특정 길이의 난수 값으로 표현되는 암호화 ID 및 상기 제 2 암호화 모듈의 시리얼 넘버 중 적어도 하나를 포함하며, 상기 시리얼 넘버는, 암호화 모듈을 구별할 수 있는 고유 값일 수 있다.The reprocessed call packet further includes at least one of an encryption ID represented by a random number of a specific length in a payload and a serial number of the first encryption module, wherein the reprocessed response packet is specified in a payload. At least one of an encryption ID represented by a random value of a length and a serial number of the second encryption module, wherein the serial number may be a unique value for distinguishing an encryption module.
상기 제 1 암호화 모듈은, 상기 제 1 공개 키와 함께 제 1 개인 키를 생성하며, 상기 제 2 공개 키를 수신한 후 상기 제 1 개인 키 및 제 2 공개 키를 이용하여 상기 세션 키를 생성하며, 상기 제 2 암호화 모듈은, 상기 제 2 공개 키와 함께 제 2 개인 키를 생성하며, 상기 제 1 공개 키를 수신한 후 상기 제 2 개인 키 및 제 1 공개 키를 이용하여 상기 세션 키를 생성할 수 있다.The first encryption module generates a first private key together with the first public key, generates the session key using the first private key and the second public key after receiving the second public key. The second encryption module generates a second private key together with the second public key, and generates the session key using the second private key and the first public key after receiving the first public key. can do.
상기 세션 키는, TCP 통신의 경우, 상기 데이터의 전송을 수행하기 전에 상기 TCP 통신을 구성하며 생성될 수 있다.The session key may be generated in the case of TCP communication, configuring the TCP communication before performing the transmission of the data.
상기 제 1 암호화 모듈은, 상기 암호화 된 데이터를 생성하기 위해 상기 데이터의 데이터 패킷 별 헤더 정보를 이용하여 생성되는 패킷 키를 더 이용하고, 상기 제 2 암호화 모듈은, 상기 복호화 된 데이터를 생성하기 위해 상기 암호화 된 데이터의 데이터 패킷 별 헤더 정보를 이용하여 생성되는 상기 패킷 키를 더 이용하며, 상기 패킷 키는, 상기 데이터의 헤더 정보, 상기 제 1 암호화 모듈의 시리얼 넘버 및 사용자가 기 설정한 설정 키 중 적어도 하나를 이용하여 생성되고, 상기 헤더 정보는 상기 제 1 단말기의 IP 주소, 상기 제 2 단말기의 IP 주소 및 패킷 별 패킷 ID 중 적어도 하나를 포함하며, 상기 시리얼 넘버는, 암호화 모듈을 구별할 수 있는 고유 값일 수 있다.The first encryption module further uses a packet key generated by using header information for each data packet of the data to generate the encrypted data, and the second encryption module is further configured to generate the decrypted data. The packet key generated by using the header information for each packet of data of the encrypted data is further used, wherein the packet key includes header information of the data, a serial number of the first encryption module, and a user-defined key. The header information includes at least one of an IP address of the first terminal, an IP address of the second terminal, and a packet ID for each packet, and the serial number identifies the encryption module. Can be a unique value.
상기 패킷 키는, TCP 통신의 경우, 상기 TCP 통신의 시퀀스를 나타내는 값인 시퀀스 ID를 더 사용하여 생성될 수 있다.The packet key may be generated using a sequence ID which is a value representing a sequence of the TCP communication in the case of TCP communication.
상기 제 1 암호화 모듈은, 상기 제 1 단말기로부터 상기 데이터를 제공 받는 제 1-1 입출력부; 상기 제 1-1 입출력부와 연결되며, 상기 암호화 된 데이터 및 상기 세션 키를 생성하는 제 1 보안부; 및 상기 제 1 보안부와 연결되며, 상기 암호화 된 데이터를 제공 받아 상기 통신망으로 송신하는 제 1-2 입출력부;를 포함하고, IP 주소가 설정되지 않은 상태에서 상기 세션 키를 생성하는 제 1 넌어드레스 네트워크 장치이며, 상기 제 2 암호화 모듈은, 상기 통신망으로부터 상기 암호화 된 데이터를 수신하는 제 2-1 입출력부; 상기 제 2-1 입출력부와 연결되며, 상기 복호화 된 데이터 및 상기 세션 키를 생성하는 제 2 보안부; 및 상기 제 2 보안부와 연결되며, 상기 복호화 된 데이터를 상기 제 2 단말기로 전달하는 제 2-2 입출력부;를 포함하고, IP 주소가 설정되지 않은 상태에서 상기 세션 키를 생성하는 제 2 넌어드레스 네트워크 장치일 수 있다.The first encryption module may include: a 1-1 input / output unit configured to receive the data from the first terminal; A first security unit connected to the 1-1 input / output unit and generating the encrypted data and the session key; And a first input / output unit connected to the first security unit and receiving the encrypted data and transmitting the encrypted data to the communication network, wherein the first non-address generates the session key without setting an IP address. A network device, wherein the second encryption module comprises: a 2-1 input / output unit configured to receive the encrypted data from the communication network; A second security unit connected to the 2-1 input / output unit and generating the decrypted data and the session key; And a second input / output unit connected to the second security unit and transferring the decrypted data to the second terminal, wherein the second non-address generates the session key without setting an IP address. It may be a network device.
본 발명의 일 실시예에 따른 데이터 암호화 및 복호화 시스템 및 방법은, 데이터의 암호화 및 복호화를 수행함으로써 각종 전용망이나 공용망을 통한 해킹이나 도청 및 감청 등을 방지할 수 있는 효과가 있다.Data encryption and decryption system and method according to an embodiment of the present invention, by performing the encryption and decryption of data has the effect of preventing hacking, eavesdropping, eavesdropping and the like through a variety of private or public networks.
또, 본 발명의 일 실시예에 따른 데이터 암호화 및 복호화 시스템 및 방법은, 공개 키 교환을 통해 암호화를 위한 세션 키를 이용하여 데이터를 암호화 또는 복호화 함으로써 암호 키를 직접 공유하는 과정에서 생길 수 있는 키 누출을 방지할 수 있는 효과가 있다.In addition, the data encryption and decryption system and method according to an embodiment of the present invention, a key that can be generated in the process of directly sharing the encryption key by encrypting or decrypting data using a session key for encryption through public key exchange It is effective to prevent leakage.
또한, 본 발명의 일 실시예에 따른 데이터 암호화 및 복호화 시스템 및 방법은, 각 단말기에 연결되는 네트워크 장치에 IP 주소나 계정을 설정할 필요가 없는 넌어드레스 네트워크 장치를 이용함으로써 해커들이 단말기에 접속할 수 없고, 일종의 가상 사설망과 같은 효과가 발생하는 효과가 있다.In addition, the data encryption and decryption system and method according to an embodiment of the present invention, hackers can not connect to the terminal by using a non-address network device that does not need to set an IP address or account in the network device connected to each terminal For example, there is an effect that a kind of virtual private network occurs.
도 1은 본 발명의 실시예에 따른 데이터 암호화 및 복호화 시스템의 블록도이다.1 is a block diagram of a data encryption and decryption system according to an embodiment of the present invention.
도 2는 a) 본 발명의 일 실시예에 따른 도 1의 시스템을 이용하여 세션 키를 생성하는 단계에 대한 순서도, b) 세션 키를 생성하기 위해 사용되는 도 1의 시스템의 다른 실시예인 넌어드레스 네트워크 장치에 대한 블록도 및 c) 넌어드레스 네트워크 장치를 이용하여 세션 키를 생성하는 방법의 일 예를 나타낸 도이다.2 is a flow chart for a) generating a session key using the system of FIG. 1 in accordance with an embodiment of the present invention, and b) a non-address, another embodiment of the system of FIG. 1 used to generate a session key. A block diagram of a network device and c) a diagram illustrating an example of a method for generating a session key using a non-addressed network device.
도 3은 a) 암호화 키를 이용하여 데이터를 암호화 및 복호화 하는 방법을 나타낸 순서도, b) 데이터를 암호화 하여 통신망으로 송신하는 단계에 대한 세부 순서도 및 c) 암호화 데이터를 복호화하여 출력하는 단계에 대한 세부 순서도이다.3 is a flow chart illustrating a) a method of encrypting and decrypting data using an encryption key, b) a detailed flow chart of the step of encrypting data and transmitting it to a communication network, and c) a detail of the step of decrypting and outputting encrypted data. Flowchart.
이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙였다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like elements throughout the specification.
도 1은 본 발명의 실시예에 따른 데이터 암호화 및 복호화 시스템의 블록도이다. 도 1을 참조하면, 본 발명의 실시예에 따른 데이터 암호화 및 복호화 시스템(1)은, 데이터 암호화 부(10)가 데이터 복호화 부(20)와 통신망(30)을 통해 연결된다. 여기서, 데이터 암호화 부(10)와 데이터 복호화 부(20)는 데이터를 송신하고자 하는 단말기에 따라 역할이 바뀔 수 있다. 1 is a block diagram of a data encryption and decryption system according to an embodiment of the present invention. Referring to FIG. 1, in the data encryption and decryption system 1 according to an embodiment of the present invention, a data encryption unit 10 is connected to a data decryption unit 20 through a communication network 30. Here, the data encryption unit 10 and the data decryption unit 20 may change roles depending on a terminal to which data is to be transmitted.
즉, 일 예로 제 1 단말기(11)에서 제 2 단말기(21)로 데이터를 전송하고자 하는 경우, 제 1 단말기(11) 및 제 1 암호화 모듈(13)이 데이터 암호화 부(10)로 설정되고 제 2 단말기(21) 및 제 2 암호화 모듈(23)이 데이터 복호화 부(20)로 설정될 수도 있으며, 제 2 단말기(21)에서 제 1 단말기(11)로 데이터를 전송하고자 하는 경우, 제 1 단말기(11) 및 제 1 암호화 모듈(13)이 데이터 복호화 부(20)로 설정되고, 제 1 단말기(21) 및 제 2 암호화 모듈(23)이 데이터 암호화 부(10)로 설정될 수도 있다.That is, for example, when data is to be transmitted from the first terminal 11 to the second terminal 21, the first terminal 11 and the first encryption module 13 are set as the data encryption unit 10 and The second terminal 21 and the second encryption module 23 may be set as the data decryption unit 20. When the second terminal 21 intends to transmit data from the second terminal 21 to the first terminal 11, the first terminal 11 and the first encryption module 13 may be set as the data decryption unit 20, and the first terminal 21 and the second encryption module 23 may be set as the data encryption unit 10.
또 통신망(30)은, 전용망 또는 공용망을 포함하고 인터넷, PSTN 등의 유선망 또는 지그비, 블루투스 등의 무선망을 포함할 수 있다.In addition, the communication network 30 may include a dedicated network or a public network, and may include a wired network such as the Internet or PSTN or a wireless network such as Zigbee or Bluetooth.
이하에서는, 설명의 편의상 제 1 단말기(11) 및 제 1 암호화 모듈(13)를 데이터를 암호화 하는 데이터 암호화 부(10)로, 제 2 단말기(21) 및 제 2 암호화 모듈(23)을 데이터를 복호화 하는 데이터 복호화 부(20)로 정의하지만, 상술한 바와 같이 데이터의 전송 방향에 따라 이러한 정의는 변경될 수 있음이 자명하다.Hereinafter, for convenience of description, the first terminal 11 and the first encryption module 13 may use the data encryption unit 10 to encrypt the data, and the second terminal 21 and the second encryption module 23 may use the data. Although it is defined as the data decoding unit 20 to decode, it is obvious that the definition may be changed according to the transmission direction of the data as described above.
제 1 단말기(11)는, 통신망(30)을 통해 데이터를 제 2 단말기(21)로 전송할 수 있다. 이때, 데이터의 도청 또는 해킹을 방지하기 위해 본 발명의 일 실시예에 따른 데이터 암호화 및 복호화 시스템(1)은, 제 1 단말기(11)와 연결되는 제 1 암호화 모듈(13) 및 제 2 단말기(21)와 연결되는 제 2 암호화 모듈(23)을 포함하고, 제 1 암호화 모듈(13) 및 제 2 암호화 모듈(23)을 이용하여 데이터의 암호화 및 복호화에 사용되는 세션 키를 교환할 수 있다. 도 1에 도시된 본 발명의 일 실시예에서 단말기(11, 21)와 암호화 모듈(13, 23)은 외부에서 연결되는 것으로 표현되지만, 본 발명은 이에 한정되지 않으며, 암호화 모듈(13, 23)은 소프트웨어 또는 하드웨어로써 단말기(11, 21)에 각각 내장될 수도 있다.The first terminal 11 may transmit data to the second terminal 21 through the communication network 30. In this case, in order to prevent eavesdropping or hacking of data, the data encryption and decryption system 1 according to an embodiment of the present invention may include a first encryption module 13 and a second terminal connected to the first terminal 11. And a second encryption module 23 connected to 21, and may exchange session keys used for encrypting and decrypting data using the first encryption module 13 and the second encryption module 23. 1, the terminals 11 and 21 and the encryption modules 13 and 23 are represented as being connected externally, but the present invention is not limited thereto, and the encryption modules 13 and 23 may be used. May be embedded in the terminals 11 and 21 as software or hardware, respectively.
도 2는 a) 본 발명의 일 실시예에 따른 도 1의 시스템을 이용하여 세션 키를 생성하는 단계에 대한 순서도, b) 세션 키를 생성하기 위해 사용되는 도 1의 시스템의 다른 실시예인 넌어드레스 네트워크 장치에 대한 블록도 및 c) 넌어드레스 네트워크 장치를 이용하여 세션 키를 생성하는 방법의 일 예를 나타낸 도이다.2 is a flow chart for a) generating a session key using the system of FIG. 1 in accordance with an embodiment of the present invention, and b) a non-address, another embodiment of the system of FIG. 1 used to generate a session key. A block diagram of a network device and c) a diagram illustrating an example of a method for generating a session key using a non-addressed network device.
상술한 바와 같이 제 1 단말기(11)에서 제 2 단말기(21)로 데이터를 암호화하여 송신하기 위해서는 세션 키가 요구된다. 또한, 세션 키는 키 자체가 통신망(30)을 통해 공유되는 경우, 통신망의 해킹 또는 도청 등으로 세션 키가 외부에 유출될 수 있다. 데이터의 암호화 및 복호화에 사용되는 세션 키가 외부로 유출되는 경우 데이터 암호화 부(10)에서 데이터를 암호화하여 송신하더라도 유출된 세션 키를 통해 외부에서 데이터의 복호화가 가능하기 때문에, 데이터 암호화 부(10) 및 데이터 복호화 부(20)는 바람직하게는 공개 키 교환 알고리즘을 이용하여 세션 키를 생성할 수 있다.As described above, in order to encrypt and transmit data from the first terminal 11 to the second terminal 21, a session key is required. In addition, when the key itself is shared through the communication network 30, the session key may be leaked to the outside due to hacking or eavesdropping of the communication network. When the session key used to encrypt and decrypt data is leaked to the outside, even if the data is encrypted and transmitted by the data encryption unit 10, since the data can be decrypted from the outside through the leaked session key, the data encryption unit 10 And the data decryption unit 20 may generate a session key using a public key exchange algorithm.
도 2a에는 본 발명의 일 실시예에 따른 도 1의 시스템을 이용하여 데이터 암호화 및 복호화를 위한 세션 키를 생성하는 방법이 나타나 있다. 도 2a를 참조하면, 본 발명의 일 실시예에 따른 데이터 암호화 및 복호화를 위한 세션 키를 생성하는 방법(S200)은, 제 1 암호화 모듈이 재 가공된 호출 패킷을 통신망으로 송신하는 단계(S210), 제 2 암호화 모듈이 재 가공된 호출 패킷을 이용하여 세션 키를 생성하는 단계(S220), 제 2 암호화 모듈이 재 가공된 응답 패킷을 통신망으로 송신하는 단계(S230) 및 제 1 암호화 모듈이 재 가공된 응답 패킷을 이용하여 세션 키를 생성하는 단계(S240)를 포함한다.2A illustrates a method of generating a session key for data encryption and decryption using the system of FIG. 1 according to an embodiment of the present invention. Referring to FIG. 2A, in the method S200 of generating a session key for data encryption and decryption according to an embodiment of the present invention, the first encryption module transmits the reprocessed call packet to the communication network (S210). The second encryption module generates a session key using the reprocessed call packet (S220), the second encryption module transmits the reprocessed response packet to the communication network (S230), and the first encryption module reconstructs Generating a session key using the processed response packet (S240).
먼저, 제 1 암호화 모듈이 재 가공된 호출 패킷을 통신망으로 송신한다(단계 S210).First, the first encryption module transmits the reprocessed call packet to the communication network (step S210).
제 1 단말기는 제 2 단말기와 TCP 연결을 수행하기 위한 호출 패킷을 생성하고, 제 1 암호화 모듈로 전달한다. 여기서 호출 패킷은 본격적으로 데이터를 전송하기 전, 세션 키를 생성하기 위해 제공 되는 패킷으로, 제 1 단말기가 암호화하여 전송하고자 하는 데이터를 포함하지 않는다.The first terminal generates a call packet for performing a TCP connection with the second terminal and delivers it to the first encryption module. In this case, the call packet is a packet provided to generate a session key before transmitting data in earnest, and does not include data that the first terminal wants to transmit by encrypting.
제 1 암호화 모듈은 제 1 단말기로부터 호출 패킷을 전달 받고, 제 1 개인 키를 생성한다. 제 1 개인 키는 제 1 암호화 모듈에서 무작위로 생성되는 난수 값으로써, 통신망을 통해 제 2 암호화 모듈로 전달되지 않고 제 1 암호화 모듈에서 세션 키를 생성하기 위해 사용되는 값이다. 이후, 제 1 암호화 모듈은 호출 패킷의 헤더 부분에 포함된 제 1 주소 및 제 2 주소를 이용하여 특정 값 k를 생성한다. 여기서 제 1 주소 및 제 2 주소는 각각 제 1 단말기 및 제 2 단말기의 IP 주소로써 데이터를 송신하고자 하는 단말기의 IP 주소가 제 1 주소, 데이터를 수신하고자 하는 단말기의 IP 주소가 제 2 주소로 표현될 수 있다.The first encryption module receives the call packet from the first terminal and generates a first private key. The first private key is a random number generated randomly in the first encryption module and is a value used for generating a session key in the first encryption module without being transmitted to the second encryption module through the communication network. Thereafter, the first encryption module generates a specific value k using the first address and the second address included in the header portion of the call packet. In this case, the first address and the second address are respectively represented as IP addresses of the first terminal and the second terminal, and the IP address of the terminal to which data is to be transmitted is represented by the first address, and the IP address of the terminal to which data is to be represented by the second address. Can be.
제 1 암호화 모듈은 특정 값 k를 생성한 후, 기 저장된 소수 값인 y, 제 1 개인 키 및 특정 값 k를 조합하여 제 1 공개 키를 생성한다. 여기서 생성된 제 1 공개 키는 호출 패킷의 페이로드에 포함되어 제 2 암호화 모듈로 전달될 수 있다.After generating the specific value k, the first encryption module generates the first public key by combining y, the first stored private value, and the specific value k. The generated first public key may be included in the payload of the call packet and transferred to the second encryption module.
한편, 호출 패킷의 페이로드는, 세션 키 생성을 위한 정보를 포함하도록 제 1 암호화 모듈에서 재 가공될 수 있다. 호출 패킷의 페이로드는, 암호화 ID, 제 1 암호화 모듈을 특정할 수 있는 시리얼 넘버 및 제 1 공개 키 중 적어도 하나를 포함한다. 이때, 암호화 ID는 해당 패킷이 재 가공되었음을 의미하는 특정 길이의 난수 값이며, 시리얼 넘버는 제 1 암호화 모듈을 구별할 수 있도록 생성되는 값일 수 있다.Meanwhile, the payload of the call packet may be reprocessed in the first encryption module to include information for generating a session key. The payload of the call packet includes at least one of an encryption ID, a serial number capable of specifying a first encryption module, and a first public key. In this case, the encryption ID may be a random number having a specific length indicating that the packet has been reprocessed, and the serial number may be a value generated to distinguish the first encryption module.
다음으로 제 2 암호화 모듈이 재 가공된 호출 패킷을 이용하여 세션 키를 생성한다(단계 S220).Next, the second encryption module generates a session key using the reprocessed call packet (step S220).
제 2 암호화 모듈은 통신망으로부터 패킷을 수신한다. 이때 제 2 암호화 모듈은 수신한 패킷의 페이로드에 암호화 ID가 포함되었는지 확인한다. 페이로드에 암호화 ID가 포함되지 않은 경우, 제 2 암호화 모듈은 해당 패킷이 제 1 암호화 모듈로부터 송신된 패킷이 아닌 것으로 판단하고 해당 패킷을 드롭 시킬 수 있다.The second encryption module receives the packet from the communication network. At this time, the second encryption module checks whether the encryption ID is included in the payload of the received packet. If the encryption ID is not included in the payload, the second encryption module may determine that the packet is not a packet transmitted from the first encryption module and drop the packet.
또, 페이로드에 암호화 ID가 포함된 것을 확인하면, 제 2 암호화 모듈은 해당 패킷을 제 1 암호화 모듈로부터 송신된 재 가공된 호출 패킷으로 판단하고, 세션 키를 생성하기 위해 사용할 수 있다. 제 2 암호화 모듈은 재 가공된 호출 패킷을 수신하면 제 2 개인 키를 생성하며, 제 2 개인 키는 제 2 암호화 모듈에서 무작위로 생성되는 난수 값으로써, 통신망을 통해 제 1 암호화 모듈로 전달되지 않고 제 2 암호화 모듈에서 세션 키를 생성하기 위해 사용된다.In addition, if it is confirmed that the payload includes the encryption ID, the second encryption module may determine that the packet as a reprocessed call packet transmitted from the first encryption module, and use it to generate a session key. The second cryptographic module generates a second private key upon receipt of the reprocessed call packet, the second private key being a randomly generated random value in the second cryptographic module, which is not transmitted to the first cryptographic module through the communication network. It is used to generate a session key in the second encryption module.
이후 제 2 암호화 모듈은 패킷의 헤더 부분에 포함된 제 1 주소 및 제 2 주소를 이용하여 특정 값 k를 생성한다. 이때, 바람직하게는 제 2 암호화 모듈은 포트 값을 특정 값 k를 생성하기 위해 더 사용할 수도 있으며, 생성된 특정 값 k는 제 1 암호화 모듈에서 생성된 특정 값 k와 동일할 수 있다. 이는, 제 1 및 제 2 암호화 모듈에서 각각 특정 값 k를 생성하기 위해 사용한 제 1 주소, 제 2 주소 및 포트 값이 동일하기 때문이다.Thereafter, the second encryption module generates a specific value k using the first address and the second address included in the header portion of the packet. In this case, preferably, the second encryption module may further use the port value to generate a specific value k, and the generated specific value k may be the same as the specific value k generated in the first encryption module. This is because the first address, the second address, and the port value used to generate the specific value k, respectively, in the first and second encryption modules are the same.
한편, 제 2 암호화 모듈은 페이로드에 포함된 제 1 공개 키, 장치 내부에 저장 된 소수 값 y 및 제 2 개인 키를 조합하여 세션 키를 생성할 수 있으며, 세션 키를 생성한 후 재 가공된 호출 패킷의 페이로드 부분을 삭제하여 제 1 단말기에서 생성한 것과 동일한 호출 패킷으로 변형 시킨 후 제 2 단말기로 해당 패킷을 전달한다.Meanwhile, the second encryption module may generate a session key by combining the first public key included in the payload, the decimal value y stored in the device, and the second private key. The payload portion of the call packet is deleted, transformed into the same call packet generated by the first terminal, and the packet is transmitted to the second terminal.
다음으로, 제 2 암호화 모듈이 재 가공된 응답 패킷을 통신망으로 송신한다(단계 S230).Next, the second encryption module transmits the reprocessed response packet to the communication network (step S230).
제 2 단말기는 제 2 암호화 모듈로부터 호출 패킷을 전달 받은 후 호출 패킷에 대한 응답인 응답 패킷을 생성하며, 응답 패킷은 제 2 암호화 모듈로 전달된다. 이때, 제 2 암호화 모듈은 기 저장된 소수 값인 y, 제 2 개인 키 및 특정 값 k를 조합하여 제 2 공개 키를 생성할 수 있다.After receiving the call packet from the second encryption module, the second terminal generates a response packet that is a response to the call packet, and the response packet is delivered to the second encryption module. In this case, the second encryption module may generate a second public key by combining y, a second stored private value, and a specific value k.
제 2 암호화 모듈은 암호화 ID, 제 2 암호화 모듈을 특정할 수 있는 시리얼 넘버 및 제 2 공개 키 중 적어도 하나가 응답 패킷의 페이로드에 포함되도록 응답 패킷을 재 가공 할 수 있으며, 재 가공된 응답 패킷은 통신망으로 송신될 수 있다.The second encryption module may reprocess the response packet such that at least one of an encryption ID, a serial number capable of specifying the second encryption module, and a second public key is included in the payload of the response packet, and the reprocessed response packet Can be transmitted to the network.
마지막으로, 제 1 암호화 모듈이 재 가공된 응답 패킷을 이용하여 세션 키를 생성한다(단계 S240).Finally, the first encryption module generates a session key using the reprocessed response packet (step S240).
제 1 암호화 모듈은 통신망으로부터 패킷을 전달 받아 해당 패킷의 페이로드에 암호화 ID가 포함되었는지를 확인한다. 페이로드에 암호화 ID가 포함되지 않은 경우, 제 1 암호화 모듈은 해당 패킷이 제 2 암호화 모듈로부터 송신된 패킷이 아닌 것으로 판단하여 해당 패킷을 드롭 시킬 수 있다. The first encryption module receives the packet from the communication network and checks whether the encryption ID is included in the payload of the packet. When the encryption ID is not included in the payload, the first encryption module may determine that the packet is not a packet transmitted from the second encryption module and drop the packet.
또, 페이로드에 암호화 ID가 포함된 것을 확인하면, 제 1 암호화 모듈은 해당 패킷을 재 가공된 응답 패킷으로 판단하고 세션 키를 생성하기 위해 사용할 수 있다. 제 1 암호화 모듈은 재 가공된 응답 패킷의 페이로드에 포함된 제 2 공개 키, 기 저장된 소수 값인 y 및 제 1 개인 키를 조합하여 세션 키를 생성할 수 있으며, 세션 키를 생성한 후 재 가공 된 응답 패킷의 페이로드 부분을 삭제하여 제 2 단말기에서 생성한 것과 동일한 응답 패킷으로 변형 시킨 후 제 1 단말기로 해당 패킷을 전달할 수 있다.In addition, if the payload includes the encryption ID, the first encryption module may determine the packet as a reprocessed response packet and use it to generate a session key. The first encryption module may generate a session key by combining the second public key included in the payload of the reprocessed response packet, the previously stored decimal value y, and the first private key. The payload portion of the response packet may be deleted and transformed into the same response packet generated by the second terminal, and then the packet may be delivered to the first terminal.
한편, 상술한 본 발명의 일 실시예에 따른 데이터 암호화 및 복호화를 위한 세션 키를 생성하는 방법(S200)은, TCP 통신의 경우에는 데이터 송신을 수행하기 전에 수행됨으로써 통신 별로 세션 키를 새롭게 생성하여 보안성을 증가시킬 수 있다. 또, UDP 통신의 경우, 통신이 기 설정된 시간을 초과하여 단절되는 경우, 새롭게 통신을 구성하는 경우 또는 사용하는 통신 프로그램이 바뀌는 경우 등 현재 통신과 비교하여 통신 상태가 변화하는 경우에 세션 키를 새롭게 생성하도록 설정함으로써 세션 키의 탈취 시에 대한 보안성을 증가시킬 수도 있다.On the other hand, the method (S200) for generating a session key for data encryption and decryption according to an embodiment of the present invention described above is performed before performing data transmission in the case of TCP communication to generate a new session key for each communication It can increase security. Also, in case of UDP communication, if the communication is disconnected for more than the preset time, if the communication status changes compared to the current communication, such as when a new communication is configured or when the communication program to be used is changed, the session key is renewed. By setting to generate, security against session hijacking may be increased.
또, 본 발명의 일 실시예와 같이 세션 키를 생성하기 위해 공개 키를 이용하는 세션 키 생성 알고리즘으로는 대표적으로 디피 헬먼 알고리즘이 사용되지만, 이는 하나의 예시에 불과하며 본 발명에서는 공개 키를 교환하여 암호화에 필요한 세션 키를 생성할 수 있는 모든 알고리즘이 허용된다고 할 수 있다.In addition, as a session key generation algorithm that uses a public key to generate a session key as in an embodiment of the present invention, a Diffie Hellman algorithm is typically used, but this is only one example. All algorithms that can generate the session key for encryption are allowed.
한편, 이러한 세션 키 생성 알고리즘은 도 1의 시스템의 다른 실시예인 넌어드레스 네트워크 장치를 사용하는 데이터 암호화 및 복호화 시스템을 통해 구현될 수도 있다. 넌어드레스 네트워크 장치는 데이터를 송수신하는 통신에 필요한 IP 주소나 MAC 주소 등이 설정되지 않거나, 계정이 필요 없는 네트워크 장치를 의미한다.Meanwhile, such a session key generation algorithm may be implemented through a data encryption and decryption system using a non-address network device, which is another embodiment of the system of FIG. 1. The non-address network device refers to a network device for which an IP address or MAC address, etc. necessary for communication for transmitting and receiving data is not set or an account is not required.
도 2b를 참조하면, 본 발명의 일 실시예에 따른 데이터 암호화 및 복호화 시스템(2)의 제 1 암호화 모듈(13)은, 제 1-1 입출력부(131), 제 1 보안부(133) 및 제 1-2 입출력부(135)를 포함하는 제 1 넌어드레스 네트워크 장치(130)로 대치될 수 있고, 제 2 암호화 모듈(23)은, 제 2-1 입출력부(231), 제 2 보안부(233) 및 제 2-2 입출력부(235)를 포함하는 제 2 넌어드레스 네트워크 장치(230)로 대치될 수 있다. 여기서 제 1 및 제 2 넌어드레스 네트워크 장치는, 각각의 장치가 IP 주소를 가지지 않기 때문에, 통신망 등을 통한 외부로부터의 직접적인 침투가 불가능하며, 이로 인해 장치에 대한 해킹으로부터 높은 안전성을 지니는 장치이다.Referring to FIG. 2B, the first encryption module 13 of the data encryption and decryption system 2 according to an embodiment of the present invention may include a first-first input / output unit 131, a first security unit 133, and a first security module 133. It may be replaced by the first non-address network device 130 including the 1-2 input and output unit 135, the second encryption module 23, the 2-1 input and output unit 231, the second security unit 233 ) And the second non-address network device 230 including the second input / output unit 235. Since the first and second non-address network devices do not have IP addresses, the first and second non-address network devices cannot directly penetrate from the outside through a communication network or the like, and thus are devices having high safety from hacking into the device.
이를 통해 단말기(11, 21)에서 송출되는 데이터는, 단말기(11, 21)와는 독립적으로 넌어드레스 네트워크 장치(130, 230) 사이에서 공개 키 교환을 통해 생성되는 세션키를 이용하여 암호화 또는 복호화 될 수 있고, 넌어드레스 네트워크 장치(130, 230)를 이용함으로써 가상 사설망을 사용하는 통신과 동일한 효과를 발생시킬 수도 있다.Through this, data transmitted from the terminals 11 and 21 may be encrypted or decrypted using a session key generated through public key exchange between non-address network devices 130 and 230 independently of the terminals 11 and 21. In addition, by using the non-address network devices 130 and 230, the same effect as that of the communication using the virtual private network may be generated.
이하에서는, 도 2b 및 도 2c를 참조하여, 넌어드레스 네트워크 장치를 이용하여 도 2a에 개시된 세션 키를 생성하는 방법을 보다 상세히 설명하도록 한다. 또한, 설명의 편의상 시스템에서 사용하는 암호화 및 복호화 방법으로 공개키를 사용하는 공개키 알고리즘의 종류 중 하나인 디피 헬먼 알고리즘을 사용하는 것으로 정의하지만, 본 발명은 이에 한정되지 않으며 공개키를 교환함으로써 암호화 및 복호화 작업을 수행할 수 있는 다양한 공개키 알고리즘을 모두 포함할 수 있다. 또, 본 발명의 시스템에 대한 이해에 도움을 주기 위해 제 1 단말기로부터 제 2 단말기로 데이터를 송신하는 과정에 대해서만 설명하며 반대 과정에 대해서는 설명을 생략하도록 한다. 하지만, 제 2 단말기로부터 제 1 단말기로 데이터를 송신하는 과정은 아래 개시되는 설명의 역순으로써 동일한 과정과 효과를 가질 수 있는 것이 자명하다고 할 수 있다.Hereinafter, a method of generating the session key disclosed in FIG. 2A using a non-address network device will be described in more detail with reference to FIGS. 2B and 2C. In addition, for convenience of description, it is defined to use the Diffie Hellman algorithm, which is one of a kind of public key algorithm using a public key as an encryption and decryption method used in the system, but the present invention is not limited thereto and encrypts by exchanging the public key. And various public key algorithms capable of performing decryption operations. In addition, in order to help the understanding of the system of the present invention, only the process of transmitting data from the first terminal to the second terminal will be described, and the description of the reverse process will be omitted. However, it can be said that the process of transmitting data from the second terminal to the first terminal can have the same process and effect in the reverse order of the description disclosed below.
도 2b 및 도 2c를 참조하면, 본 발명의 실시예에 따른 넌어드레스 네트워크 장치를 이용한 데이터 암호화 및 복호화 시스템(2)은, 제 1 단말기(11), 제 1 넌어드레스 네트워크 장치(130), 통신망(30), 제 2 단말기(21), 및 제 2 넌어드레스 네트워크 장치(230)를 포함한다.2B and 2C, a data encryption and decryption system 2 using a non-address network device according to an embodiment of the present invention may include a first terminal 11, a first non-address network device 130, and a communication network. 30, the second terminal 21, and the second non-address network device 230.
여기서, 제 1 단말기(11)는 제 1 주소를 가지고, 제 2 단말기(21)는 제 2 주소를 가지며, 제 1 단말기(11) 및 제 2 단말기(21)는 각각 서로 다른 계정을 가질 수도 있다. Here, the first terminal 11 may have a first address, the second terminal 21 may have a second address, and the first terminal 11 and the second terminal 21 may each have different accounts. .
제 1 넌어드레스 네트워크 장치(130) 및 제 2 넌어드레스 네트워크 장치(230)는, 데이터의 암호화 및 복호화를 위해서 동일한 세션 키를 보유하여야 한다. 하지만, 세션 키를 직접 공유하는 경우, 세션 키 데이터가 암호화 되지 않았기 때문에 해킹 또는 도청을 통해 세션 키 정보가 유출될 수 있고, 이로 인해 암호화 정보가 공격받을 수도 있다. 따라서, 제 1 넌어드레스 네트워크 장치(130) 및 제 2 넌어드레스 네트워크 장치(230)는 데이터를 공유하기 전, 공개 키 교환을 통해 각각의 장치에서 동일한 세션 키를 생성하는 과정을 수행할 수 있다.The first non-address network device 130 and the second non-address network device 230 must hold the same session key for encrypting and decrypting data. However, when the session key is directly shared, since the session key data is not encrypted, session key information may be leaked through hacking or eavesdropping, and thus encryption information may be attacked. Therefore, the first non-address network device 130 and the second non-address network device 230 may perform a process of generating the same session key in each device through public key exchange before sharing data.
도 2c는 본 발명의 일 실시예에 따른 넌어드레스 네트워크 장치를 이용한 데이터 암호화 및 복호화 시스템이 세션 키를 생성하는 방법 중 디피 헬먼 알고리즘을 사용하는 TCP 통신에서의 예시를 나타내고 있다.2C illustrates an example of TCP communication using a Diffie Hellman algorithm in a method for generating a session key by a data encryption and decryption system using a non-address network device according to an embodiment of the present invention.
도 2c를 참조하면, 제 1 단말기(11)는 192.168.123.10으로 표현되는 제 1 주소를 가지며, 제 1 넌어드레스 네트워크 장치(130)와 연결되고, 제 2 단말기(21)는 192.168.456.7로 표현되는 제 2 주소를 가지며 제 2 넌어드레스 네트워크 장치(230)와 연결된다.Referring to FIG. 2C, the first terminal 11 has a first address represented by 192.168.123.10, is connected to the first non-address network device 130, and the second terminal 21 is represented by 192.168.456.7. The second address and is connected to the second non-address network device 230.
먼저, 제 1 단말기(11)는 제 2 단말기(21)와 TCP 연결을 수행하기 위한 호출 패킷을 생성하고, 제 1 넌어드레스 네트워크 장치(130)로 전달한다. 호출 패킷은 본격적으로 데이터를 전송하기 전, 세션 키를 생성할 수 있도록 제공 되는 패킷으로, 제 1 단말기(11)가 암호화하여 전송하고자 하는 데이터를 포함하지 않는 것이 바람직하다.First, the first terminal 11 generates a call packet for performing a TCP connection with the second terminal 21 and transmits it to the first non-address network device 130. The call packet is a packet provided to generate a session key before the data is transmitted in earnest, and preferably, the first packet 11 does not include data to be encrypted and transmitted.
제 1 넌어드레스 네트워크 장치(130)는 제 1-2 입출력부(135)를 통해 제 1 단말기(11)로부터 호출 패킷을 전달받고, 제 1 보안부(133)에서 제 1 개인 키를 생성한다. 제 1 개인 키는 제 1 보안부(133)에서 무작위로 생성되는 난수 값으로써, 통신망(30)을 통해 제 2 넌어드레스 네트워크 장치(230)로 전달되지 않고 제 1 넌어드레스 네트워크 장치(130)에서 세션 키를 생성하기 위해 요구되는 값이다. 이후 제 1 보안부(133)는 호출 패킷의 헤더 부분에 포함된 제 1 주소 및 제 2 주소를 이용하여 특정 값 k를 생성한다. 이때, 바람직하게 제 1 보안부(133)는 포트 값을 특정 값 k를 생성하기 위해 더 사용할 수도 있다.The first non-address network device 130 receives a call packet from the first terminal 11 through the 1-2 input / output unit 135 and generates a first private key in the first security unit 133. The first private key is a random number generated randomly by the first security unit 133, and is not transmitted to the second non-address network device 230 through the communication network 30, and the session is performed by the first non-address network device 130. Required value for generating a key. Thereafter, the first security unit 133 generates a specific value k using the first address and the second address included in the header portion of the call packet. At this time, preferably, the first security unit 133 may further use the port value to generate a specific value k.
제 1 보안부(133)는 특정 값 k를 생성한 이후, 기 저장된 소수 값인 y, 제 1 개인 키 및 특정 값 k를 조합하여 제 1 공개 키를 생성한다. 여기서 생성된 제 1 공개 키는 호출 패킷의 페이로드에 포함되어 제 2 넌어드레스 네트워크 장치(230)로 전달될 수 있다.After generating the specific value k, the first security unit 133 generates the first public key by combining y, the first private key, and the specific value k, which are previously stored decimal values. The generated first public key may be included in the payload of the call packet and transferred to the second non-address network device 230.
한편, 호출 패킷의 페이로드는, 세션 키 생성을 위한 정보를 포함하도록 제 1 보안부(133)에서 재 가공 될 수 있다. 호출 패킷의 페이로드는, 암호화 ID, 제 1 넌어드레스 네트워크 장치(130)의 시리얼 키 값 및 제 1 공개 키 중 적어도 하나를 포함한다. 이때, 암호화 ID는 해당 패킷이 재 가공 되었음을 의미하는 특정 길이의 난수 값이며, 시리얼 키 값은 넌어드레스 네트워크 장치 별로 생성되며 넌어드레스 네트워크 장치의 구별이 가능하도록 생성되는 값일 수 있다.Meanwhile, the payload of the call packet may be reprocessed by the first security unit 133 to include information for generating a session key. The payload of the call packet includes at least one of an encryption ID, a serial key value of the first non-address network device 130, and a first public key. In this case, the encryption ID is a random value of a specific length indicating that the packet is reprocessed, and the serial key value may be generated for each non-address network device and may be generated to distinguish the non-address network device.
재 가공된 호출 패킷은 제 1-1 입출력부(131)를 거쳐 통신망으로 송신되어 제 2 넌어드레스 네트워크 장치(230)로 전달된다. 제 2 넌어드레스 네트워크 장치(230)의 제 2 보안부(233)는 제 2-1 입출력부(231)를 통해 패킷을 수신하면 해당 패킷의 페이로드에 암호화 ID가 포함되었는지 확인한다. 이때, 페이로드에 암호화 ID가 포함되지 않은 경우, 제 2 보안부(233)는 해당 패킷이 제 1 넌어드레스 네트워크 장치(130)로부터 송신된 패킷이 아닌 것으로 판단하여 해당 패킷을 드롭 시킬 수 있다.The reprocessed call packet is transmitted to the communication network via the 1-1 input / output unit 131 and is delivered to the second non-address network device 230. When the second security unit 233 of the second non-address network device 230 receives the packet through the 2-1 input / output unit 231, the second security unit 233 confirms whether an encryption ID is included in the payload of the corresponding packet. In this case, when the encryption ID is not included in the payload, the second security unit 233 may determine that the packet is not a packet transmitted from the first non-address network device 130 and drop the packet.
또, 페이로드에 암호화 ID가 포함된 것을 확인하면, 제 2 보안부(233)는 해당 패킷을 제 1 넌어드레스 네트워크 장치(130)로부터 송신된 패킷으로 판단하여 세션 키를 생성하기 위해 이용할 수 있다. 제 2 보안부(233)는 재 가공 된 호출 패킷을 수신하면 제 2 개인 키를 생성하며, 제 2 개인 키는 제 2 보안부(233)에서 무작위로 생성되는 난수 값으로써, 통신망(30)을 통해 제 1 넌어드레스 네트워크 장치(130)로 전달되지 않고 제 2 넌어드레스 네트워크 장치(230)에서 세션 키를 생성하기 위해 사용된다.In addition, when it is confirmed that the payload includes the encryption ID, the second security unit 233 may determine that the packet is a packet transmitted from the first non-address network device 130 and use it to generate a session key. When the second security unit 233 receives the reprocessed call packet, the second security key generates a second private key, and the second private key is a random number generated randomly by the second security unit 233, and is generated through the communication network 30. It is used to generate a session key at the second non-address network device 230 without being forwarded to the first non-address network device 130.
이후, 제 2 보안부(233)는 패킷의 헤더 부분에 포함된 제 1 주소 및 제 2 주소를 이용하여 특정 값 k를 생성한다. 이때, 바람직하게 제 2 보안부(233)는 포트 값을 특정 값 k를 생성하기 위해 더 사용할 수도 있으며, 생성된 특정 값 k는 제 1 보안부(133)에서 생성된 특정 값 k와 동일한 값일 수 있다. 이는, 제 1 및 제 2 보안부(133, 233)에서 각각 특정 값 k를 생성하기 위해 사용한 제 1 주소, 제 2 주소 및 포트 값이 동일하기 때문이다.Thereafter, the second security unit 233 generates a specific value k using the first address and the second address included in the header portion of the packet. At this time, preferably, the second security unit 233 may further use the port value to generate a specific value k, and the generated specific value k may be the same value as the specific value k generated by the first security unit 133. This is because the first address, the second address, and the port value used by the first and second security units 133 and 233 to generate the specific value k are the same.
한편, 제 2 보안부(233)는 페이로드에 포함된 제 1 공개 키, 장치 내부에 저장된 소수 값 y 및 제 2 개인 키를 조합하여 세션 키를 생성할 수 있으며, 세션 키를 생성한 후 재 가공된 호출 패킷의 페이로드 부분을 삭제하여 제 1 단말기(11)에서 생성한 호출 패킷으로 변형시킨 후 제 2-2 입출력부(235)를 이용하여 제 2 단말기(21)로 해당 패킷을 전달한다.Meanwhile, the second security unit 233 may generate a session key by combining the first public key included in the payload, the decimal value y stored in the device, and the second private key, and reprocess after generating the session key. The payload portion of the call packet is deleted and transformed into a call packet generated by the first terminal 11, and then the packet is transferred to the second terminal 21 using the second-2 input / output unit 235.
다음으로, 제 2 단말기(21)는, 호출 패킷을 전달 받은 후 호출 패킷에 대한 응답인 응답 패킷을 생성하며, 응답 패킷은 제 2-2 입출력부(235)를 통해 다시 제 2 보안부(233)로 전달된다. 이때, 제 2 보안부(233)는 기 저장된 소수 값인 y, 제 2 개인 키 및 특정 값 k를 조합하여 제 2 공개 키를 생성한다. Next, after receiving the call packet, the second terminal 21 generates a response packet that is a response to the call packet, and the response packet is returned to the second security unit 233 through the second-2 input / output unit 235. Is passed to. In this case, the second security unit 233 generates a second public key by combining y, a second stored private value, a second private key, and a specific value k.
제 2 보안부(233)는 암호화 ID, 제 2 넌어드레스 네트워크 장치(230)의 시리얼 키 값 및 제 2 공개 키 중 적어도 하나가 응답 패킷의 페이로드에 포함되도록 응답 패킷을 재 가공할 수 있으며, 재 가공된 응답 패킷은 제 2-1 입출력부(231)를 통해 통신망으로 송신되어 제 1 넌어드레스 네트워크 장치(130)로 전달된다.The second security unit 233 may reprocess the response packet such that at least one of the encryption ID, the serial key value of the second non-address network device 230, and the second public key is included in the payload of the response packet. The processed response packet is transmitted to the communication network through the 2-1 input / output unit 231 and delivered to the first non-address network device 130.
제 1 넌어드레스 네트워크 장치(130)는 제 1-1 입출력부(131)를 통해 재 가공된 응답 패킷을 전달 받아 페이로드에 암호화 ID가 포함되었는지 확인한다. 이때, 페이로드에 암호화 ID가 포함되지 않은 경우, 제 1 보안부(133)는 해당 패킷이 제 2 넌어드레스 네트워크 장치(230)로부터 송신된 패킷이 아닌 것으로 판단하여 해당 패킷을 드롭 시킬 수 있다.The first non-address network device 130 receives the reprocessed response packet through the 1-1 input / output unit 131 and checks whether an encryption ID is included in the payload. In this case, when the encryption ID is not included in the payload, the first security unit 133 may determine that the packet is not a packet transmitted from the second non-address network device 230 and drop the packet.
또, 페이로드에 암호화 ID가 포함된 것을 확인하면, 제 1 보안부(133)는 해당 패킷을 제 2 넌어드레스 네트워크 장치(230)로부터 송신된 패킷으로 판단하고 세션 키를 생성하기 위해 해당 패킷을 이용한다. 제 1 보안부(133)는, 페이로드에 포함된 제 2 공개 키, 기 저장된 소수 값인 y 및 제 1 개인 키를 조합하여 세션 키를 생성할 수 있으며, 세션 키를 생성한 후 재 가공된 응답 패킷의 페이로드 부분을 삭제하여 제 2 단말기(21)에서 생성한 응답 패킷으로 변형시킨 후 제 1-2 입출력부(135)를 이용하여 제 1 단말기(11)로 해당 패킷을 전달한다.If the payload includes the encryption ID, the first security unit 133 determines that the packet is a packet transmitted from the second non-address network device 230 and uses the packet to generate a session key. . The first security unit 133 may generate a session key by combining the second public key included in the payload, y, which is a previously stored decimal value, and the first private key. The response packet may be reprocessed after generating the session key. After deleting the payload portion of the packet, the packet is transformed into a response packet generated by the second terminal 21 and then transmitted to the first terminal 11 using the 1-2 input / output unit 135.
도 2c를 이용하여 상술된 세션 키 생성 과정은, TCP 통신의 경우에는 데이터 송신을 수행하기 전에 수행됨으로써 데이터 별로 세션 키를 새롭게 생성함으로써 보안성을 증가시킬 수 있다. 또, UDP 통신의 경우, 통신이 기 설정된 시간을 초과하여 단절되는 경우, 새롭게 통신을 구성한 경우 또는 사용하는 통신 프로그램이 바뀌는 경우 등 현재 통신과 비교하여 통신 상태가 변화하는 경우에 세션 키를 새롭게 생성하도록 함으로써 보안성을 증가시킬 수도 있다.The session key generation process described above using FIG. 2C is performed before performing data transmission in the case of TCP communication, thereby increasing security by generating a new session key for each data. In the case of UDP communication, if the communication is disconnected for more than a preset time, a new communication key is generated when the communication status changes compared to the current communication, such as when a new communication is configured or when the communication program to be used is changed. It can also increase security.
한편, 본 발명의 일 실시예에 따른 데이터 암호화 및 복호화 시스템 및 방법은, 상술한 세션 키 외에도 패킷 키를 이용하여 데이터의 암호화 및 복호화를 수행할 수 있다. 상술한 세션 키는 데이터 묶음을 암호화 또는 복호화 하기 위해 사용되는 키이고, 패킷 키는 각 데이터 패킷을 암호화 또는 복호화 하기 위해 사용되는 키이다.Meanwhile, the data encryption and decryption system and method according to an embodiment of the present invention may perform data encryption and decryption using a packet key in addition to the above-described session key. The above-described session key is a key used to encrypt or decrypt a data bundle, and the packet key is a key used to encrypt or decrypt each data packet.
패킷 키는 각 데이터 패킷을 암호화 또는 복호화 하기 때문에 하나의 패킷 키가 유출되는 경우에도 다음 데이터 패킷에서는 다른 패킷 키가 사용됨으로써 키 유출에 대해서 보다 높은 보안성을 가질 수 있는 효과가 있다. Since the packet key encrypts or decrypts each data packet, even if one packet key is leaked, another packet key is used in the next data packet, thereby having a higher security against key leakage.
본 발명의 일 실시예에 따른 데이터 암호화 및 복호화를 수행하기 위해 생성되는 패킷 키는, 데이터 패킷 별 헤더 정보를 이용하여 도 1의 제 1 암호화 모듈(13) 및 제 2 암호화 모듈(23)에서 생성될 수 있다. 제 1 암호화 모듈(13)에서 생성되는 패킷 키는 제 1 단말기(11)로부터 전달되는 데이터를 패킷 단위로 암호화 하며, 제 2 암호화 모듈(23)에서 생성되는 패킷 키는 통신망(30)으로부터 암호화 된 데이터를 수신하여 데이터를 복호화 하는데 사용된다.A packet key generated to perform data encryption and decryption according to an embodiment of the present invention is generated by the first encryption module 13 and the second encryption module 23 of FIG. 1 using header information for each data packet. Can be. The packet key generated by the first encryption module 13 encrypts data transmitted from the first terminal 11 in packet units, and the packet key generated by the second encryption module 23 is encrypted from the communication network 30. It is used to receive data and decrypt the data.
제 1 암호화 모듈(13)은 패킷 키를 생성하기 위해 데이터 패킷의 헤더 정보 및 추가 정보를 이용할 수 있다. 여기서, 헤더 정보는 제 1 단말기의 IP 주소인 제 1 주소(출발지 IP 주소), 제 2 단말기의 IP 주소인 제 2 주소(목적지 IP 주소) 및 패킷 ID 중 적어도 하나일 수 있고, 추가 정보는 시리얼 넘버 또는 설정 키 중 적어도 하나일 수 있다. The first encryption module 13 may use the header information and the additional information of the data packet to generate the packet key. Here, the header information may be at least one of a first address (originating IP address), which is an IP address of a first terminal, a second address (destination IP address), and a packet ID, which is an IP address of a second terminal. It may be at least one of a number or a setting key.
이때, 시리얼 넘버는 제 1 암호화 모듈을 구별할 수 있도록 생성되는 값이며, 설정 키는 사용자의 설정에 따라 변화하는 특정 키이다. 또한, TCP 통신의 경우, 제 1 암호화 모듈은 패킷 키를 생성하기 위해서 TCP 패킷의 시퀀스 ID를 더 사용할 수도 있다.At this time, the serial number is a value generated to distinguish the first encryption module, and the setting key is a specific key that changes according to the user's setting. In addition, in the case of TCP communication, the first encryption module may further use the sequence ID of the TCP packet to generate the packet key.
패킷 키를 생성하기 위해 사용되는 정보 중 제 1 주소, 제 2 주소, 제 1 암호화 모듈의 시리얼 넘버 및 설정 키는 통신 세션이 이루어지는 동안 변하지 않는 고정 값이다. 하지만, 패킷 ID는 패킷을 구별하기 위해 생성되는 ID이며, TCP 통신의 경우 시퀀스 ID는 통신 세션이 재 구성될 때마다 변화하는 변화 값이기 때문에 데이터 패킷 및 통신 세션 별로 서로 다른 패킷 키를 이용하여 데이터를 암호화 할 수 있기 때문에 높은 보안성을 유지할 수 있다.Among the information used to generate the packet key, the first address, the second address, the serial number of the first encryption module, and the configuration key are fixed values that do not change during the communication session. However, the packet ID is an ID generated to distinguish the packets, and in the case of TCP communication, since the sequence ID is a change value that changes every time the communication session is reconfigured, data is generated using a different packet key for each data packet and communication session. Because it can encrypt, high security can be maintained.
한편, 제 2 암호화 모듈(23)은 데이터의 복호화를 위해 패킷 키를 생성한다. 이때, 제 2 암호화 모듈(23)은 통신망(30)으로부터 암호화 된 데이터를 수신하고, 수신한 데이터 패킷 별 헤더 정보 및 추가 정보를 이용하여 데이터의 복호화를 위한 패킷 키를 생성할 수 있다.Meanwhile, the second encryption module 23 generates a packet key for decrypting the data. In this case, the second encryption module 23 may receive the encrypted data from the communication network 30 and generate a packet key for decrypting the data using the received header data and additional information for each data packet.
여기서, 헤더 정보는 제 1 주소(출발지 IP 주소), 제 2 주소(목적지 IP 주소) 및 패킷 ID 중 적어도 하나일 수 있고, 추가 정보는 시리얼 넘버 또는 설정 키 중 적어도 하나일 수 있다. The header information may be at least one of a first address (originating IP address), a second address (destination IP address), and a packet ID, and the additional information may be at least one of a serial number or a setting key.
이때, 시리얼 넘버는 제 1 암호화 모듈의 시리얼 넘버로써 제 2 암호화 모듈(23)0은 제 1 암호화 모듈의 시리얼 넘버를 통신망(30)으로부터 암호화 된 데이터를 수신하기 전에 미리 획득할 수도 있으며, 특히 TCP 통신의 경우, 통신 세션을 구성하는 단계에서 미리 획득하여 보관할 수도 있다. 또, 설정 키는 사용자의 설정에 따라 변화하는 특정 키로써 사용자가 설정한 제 1 암호화 모듈과 동일한 키 일 수 있다. 나아가 TCP 통신의 경우, 제 2 암호화 모듈은 패킷 키를 생성하기 위해서 TCP 패킷의 시퀀스 ID를 더 사용할 수도 있다.At this time, the serial number is the serial number of the first encryption module, the second encryption module 230 may obtain the serial number of the first encryption module before receiving the encrypted data from the communication network 30, in particular, TCP In the case of communication, the communication session may be acquired and stored in advance in the step of configuring the communication session. The setting key may be the same key as the first encryption module set by the user as a specific key that changes according to the setting of the user. Further, in the case of TCP communication, the second encryption module may further use the sequence ID of the TCP packet to generate the packet key.
한편, 패킷 키를 생성하기 위한 제 1 및 제 2 암호화 모듈은, 도 2b에서 상술한 세션 키를 생성하는 시스템의 일 예와 마찬가지로 각각 제 1 및 제 2 넌어드레스 네트워크 장치로 대치될 수 있다.Meanwhile, the first and second encryption modules for generating the packet key may be replaced with the first and second non-address network devices, respectively, as in the example of the system for generating the session key described above with reference to FIG. 2B.
제 1 넌어드레스 네트워크 장치(130)는 제 1 단말기(11)로부터 패킷 키를 이용하여 암호화 할 데이터를 제 1-2 입출력부(135)를 통해 제 1 보안부(133)로 전달한다. 제 1 보안부(133)는 전달 받은 데이터의 헤더 정보로부터 제 1 주소(출발지 IP 주소), 제 2 주소(목적지 IP 주소) 및 패킷 ID 중 적어도 하나의 정보와 추가 정보인 시리얼 넘버 또는 설정 키 중 적어도 하나의 정보를 이용하여 패킷 키를 생성한다. 이때, 제 1 보안부(133)는 바람직하게는 제 1 주소, 제 2 주소, 패킷 ID, 시리얼 넘버 및 설정 키를 모두 사용하여 패킷 키를 생성 할 수 있다.The first non-address network device 130 transmits data to be encrypted from the first terminal 11 to the first security unit 133 through the 1-2 input / output unit 135. The first security unit 133 may include at least one of at least one of a first address (originating IP address), a second address (destination IP address), and a packet ID from the header information of the received data, and at least one of a serial number or a setting key as additional information. A packet key is generated using one piece of information. In this case, the first security unit 133 may generate a packet key using all of the first address, the second address, the packet ID, the serial number, and the setting key.
시리얼 넘버는 넌 어드레스 네트워크 장치를 구별 할 수 있도록 생성되는 넌어드레스 네트워크 장치의 ID 값이다. 시리얼 넘버는 제 1 넌어드레스 네트워크 장치(130)에 전원이 들어오는 순간의 시간 값 및 특정 자리 수의 난수를 조합하여 생성되며 이때 사용되는 난수의 자리 수는 사용자의 설정에 따라 변경 가능하다. 이를 통해 생성되는 시리얼 넘버는 장치 별로 고정된 값이 아니기 때문에 필요에 따라 제 1 넌어드레스 네트워크 장치(130)를 재부팅하여 불규칙적으로 장치의 시리얼 넘버를 변화시킴으로써 시리얼 넘버의 유출을 방지할 수 있는 효과가 있다.The serial number is the ID value of the non-address network device that is generated to identify the non-address network device. The serial number is generated by combining a time value at the moment the power is supplied to the first non-address network device 130 and a random number of specific digits. Since the generated serial number is not a fixed value for each device, the first non-address network device 130 may be rebooted as needed to irregularly change the serial number of the device, thereby preventing the leakage of the serial number. have.
또, 설정 키는 사용자가 임의로 설정할 수 있는 키로써, 사용자가 암호화 통신을 수행하고자 하는 장치들에 동일한 설정 키 값을 설정함으로써 암호화 그룹을 생성할 수 있고, 이를 통해 보안 능력이 증가될 수 있다. 또한, TCP 통신의 경우 제 1 보안부(133)는 패킷 키를 생성하기 위해서, 데이터 전송을 위해 생성된 TCP 통신 세션의 시퀀스 ID를 더 사용할 수도 있다.In addition, the setting key is a key that can be arbitrarily set by the user. The setting key may generate an encryption group by setting the same setting key value to devices to which the user wants to perform encrypted communication, thereby increasing security capability. In addition, in the case of TCP communication, the first security unit 133 may further use the sequence ID of the TCP communication session generated for data transmission to generate a packet key.
제 1 넌어드레스 네트워크 장치(130)에서 생성된 패킷 키는, 제 1 보안부(133)에서 해당 패킷을 암호화 하는데 사용된다. 즉, A 데이터 패킷의 헤더 정보를 이용하여 a 패킷 키가 생성되면, 제 1 보안부(133)는 a 패킷 키를 이용하여 A 데이터 패킷을 암호화하고, 제 1-1 입출력부(131)를 통해 통신망(30)으로 암호화 된 A 데이터 패킷을 송신할 수 있다.The packet key generated by the first non-address network device 130 is used by the first security unit 133 to encrypt the packet. That is, when a packet key is generated using the header information of the A data packet, the first security unit 133 encrypts the A data packet using the a packet key and communicates with the communication network through the 1-1 input / output unit 131. An encrypted A data packet can be transmitted at 30.
암호화 된 데이터 패킷은, 통신망(30)을 통해 제 2 넌어드레스 네트워크 장치(230)로 전달된다. 제 2 넌어드레스 네트워크 장치(230)는 암호화 된 데이터 패킷을 제 2-1 입출력부(231)를 통해 수신하여 제 2 보안부(233)로 전달한다.The encrypted data packet is transmitted to the second non-address network device 230 through the communication network 30. The second non-address network device 230 receives the encrypted data packet through the 2-1 input / output unit 231 and transmits the encrypted data packet to the second security unit 233.
제 2 보안부(233)는 암호화 된 데이터 패킷의 헤더 정보를 이용하여 데이터의 복호화에 필요한 패킷 키를 생성할 수 있다. 제 2 보안부(233)는 암호화 된 데이터 패킷의 헤더 정보로부터 제 1 주소(출발지 IP 주소), 제 2 주소(목적지 IP 주소) 및 패킷 ID 중 적어도 하나의 정보와 추가 정보인 시리얼 넘버 또는 설정 키 중 적어도 하나의 정보를 이용하여 패킷 키를 생성한다. 이때, 제 2 보안부(133)는 바람직하게는 제 1 주소, 제 2 주소, 패킷 ID, 시리얼 넘버 및 설정 키를 모두 사용하여 패킷 키를 생성 할 수 있다.The second security unit 233 may generate a packet key for decrypting data using the header information of the encrypted data packet. The second security unit 233 may include at least one of a first address (originating IP address), a second address (destination IP address), and a packet ID from the header information of the encrypted data packet, and a serial number or setting key which is additional information. A packet key is generated using at least one information. In this case, the second security unit 133 may generate a packet key using all of the first address, the second address, the packet ID, the serial number, and the setting key.
이때, 제 2 보안부(233)에서 패킷 키를 생성하기 위해 사용하는 추가 정보 중 시리얼 넘버는 제 1 넌어드레스 네트워크 장치(130)의 시리얼 넘버일 수 있고, 제 2 보안부(233)는 TCP 통신에서는 통신 세션 구성 단계로 정의 되는 통신망을 형성하기 위해 신호를 교환하는 과정에서 제 1 넌어드레스 네트워크 장치(130)의 시리얼 넘버를 획득하여 보관함으로써 패킷 키를 생성 하는 과정에서 사용할 수 있다. 또한, TCP 통신의 경우 제 1 보안부(133)는 패킷 키를 생성하기 위해서, 데이터 전송을 위해 생성된 TCP 통신 세션의 시퀀스 ID를 더 사용할 수도 있다.At this time, the serial number of the additional information used to generate the packet key in the second security unit 233 may be a serial number of the first non-address network device 130, the second security unit 233 is a communication in TCP communication In the process of exchanging signals to form a communication network defined by the session configuration step, the serial number of the first non-address network device 130 may be obtained and stored to generate a packet key. In addition, in the case of TCP communication, the first security unit 133 may further use the sequence ID of the TCP communication session generated for data transmission to generate a packet key.
따라서, 제 2 보안부(233)에서 패킷 키를 생성하기 위해 사용하는 패킷 정보 및 추가 정보는 제 1 보안부(133)에서 패킷 키를 생성하기 위해 사용한 정보와 동일하기 때문에 제 1 보안부(133)에서 a 패킷 키를 생성하여 암호화 된 A 데이터 패킷을 생성 및 송신하였다면, 제 2 보안부(233)에서는 암호화 된 A 데이터 패킷의 헤더 정보를 이용하여 제 1 보안부(133)에서 생성한 것과 동일한 a 패킷 키를 생성할 수 있으므로 암호화 된 A 데이터 패킷에 대한 복호화를 수행할 수 있다.Therefore, the packet information and additional information used by the second security unit 233 to generate the packet key are the same as the information used by the first security unit 133 to generate the packet key. If the encrypted A data packet is generated and transmitted by generating the packet key, the second security unit 233 generates the same a packet key generated by the first security unit 133 by using the header information of the encrypted A data packet. As a result, the encrypted A data packet can be decrypted.
한편, 본 발명의 일 실시예에 따른 데이터 암호화 및 복호화 시스템은 도 3a에 도시된 순서도와 같은 방법으로 데이터를 암호화 또는 복호화 할 수 있다. 이하에서는 제 1 암호화 모듈 및 제 1 단말기를 중심으로 데이터 암호화 및 복호화 방법을 설명하도록 하지만, 본 발명은 단순히 이에 한정되지는 않으며 제 2 암호화 모듈 및 제 2 단말기 역시 동일한 방법으로 데이터의 암호화 및 복호화를 수행할 수 있다. 또한, 제 1 암호화 모듈 및 제 2 암호화 모듈은 암호화 및 복호화 중 어느 하나 만을 수행하도록 설정될 수도 있다.Meanwhile, the data encryption and decryption system according to an embodiment of the present invention may encrypt or decrypt data in the same manner as the flowchart shown in FIG. 3A. Hereinafter, a data encryption and decryption method will be described based on the first encryption module and the first terminal. However, the present invention is not limited thereto, and the second encryption module and the second terminal may also encrypt and decrypt data in the same manner. Can be done. In addition, the first encryption module and the second encryption module may be set to perform only one of encryption and decryption.
도 3a를 참조하면, 본 발명의 일 실시예에 따른 데이터 암호화 및 복호화 방법(300)은, 데이터 암호화 수준을 설정하는 단계(S310), 단말기로부터 데이터의 전달 여부를 판단하는 단계(S320), 데이터를 암호화 하여 송신하는 단계(S330), 통신망으로부터 암호화 된 데이터를 수신하였는지 판단하는 단계(S340), 암호화된 데이터를 복호화하여 출력하는 단계(S350)를 포함한다.Referring to FIG. 3A, the data encryption and decryption method 300 according to an embodiment of the present invention includes setting a data encryption level (S310), determining whether data is transmitted from a terminal (S320), and data. And transmitting the encrypted data (S330), determining whether the encrypted data is received from the communication network (S340), and decrypting and outputting the encrypted data (S350).
먼저, 사용자가 데이터 암호화 수준을 설정한다(단계 S310). 사용자는 제 1 암호화 모듈의 설정 변경을 통해 제 1 암호화 모듈이 데이터 암호화를 수행하는 경우, 제 1 암호화 모듈이 데이터 암호화를 위해 세션 키 또는 패킷 키 중 적어도 하나를 이용하도록 데이터 암호화 수준을 설정할 수 있다. 이러한 단계 S310에서의 설정은 제 1 암호화 모듈이 데이터의 복호화를 수행하는 경우에는 전달 받는 데이터의 암호화 정도에 따라 복호화 수준이 결정되기 때문에 데이터를 복호화하는 과정에서는 적용되지 않을 수도 있다.First, the user sets the data encryption level (step S310). When the first encryption module performs data encryption by changing a setting of the first encryption module, the user may set a data encryption level such that the first encryption module uses at least one of a session key and a packet key for data encryption. . The setting in step S310 may not be applied in the process of decrypting data since the decryption level is determined according to the degree of encryption of the received data when the first encryption module decrypts the data.
이때, 사용자가 세션 키를 이용하도록 설정하는 경우, 제 1 암호화 모듈은, 도 2를 이용하여 설명한 바와 같이 세션 키를 직접 생성 할 수도 있고, 기 생성된 세션 키를 외부로부터 전달 받을 수도 있다. In this case, when the user is configured to use the session key, the first encryption module may directly generate the session key as described with reference to FIG. 2 or may receive the previously generated session key from the outside.
다음으로, 제 1 암호화 모듈은 제 1 단말기로부터 데이터가 전달되는지 여부를 판단한다(단계 S320). 제 1 암호화 모듈은 데이터를 제 1 단말기로부터 전달 받는 경우 데이터를 암호화하여 통신망으로 송신하는 단계 S330을 수행하며, 단말기로부터 데이터를 전달 받지 않은 경우 통신망으로부터 암호화 데이터를 수신하는지 여부를 판단하는 단계 S340을 수행할 수 있다.Next, the first encryption module determines whether data is transmitted from the first terminal (step S320). When receiving the data from the first terminal, the first encryption module performs step S330 of encrypting the data and transmitting the data to the communication network, and determining whether to receive the encrypted data from the communication network if the data is not received from the terminal. Can be done.
제 1 암호화 모듈이 데이터를 암호화하여 통신망으로 송신하는 단계(S330)는, 도 3b에 도시된 바와 같이 세션 키 보유 여부를 확인하는 단계(S331), 패킷 키 사용 설정 여부를 확인하는 단계(S332), 세션 키 및 패킷 키를 모두 이용하여 데이터를 암호화 하는 단계(S333), 세션 키를 이용하여 데이터를 암호화 하는 단계(S334), 패킷 키를 이용하여 데이터를 암호화 하는 단계(S335) 및 암호화 된 데이터를 통신망으로 송신하는 단계(S336)를 포함한다.In operation S330, the first encryption module encrypts data and transmits the data to the communication network, as illustrated in FIG. 3B, confirming whether a session key is held in operation S331, and checking whether packet key usage is set in operation S332. Encrypting the data using both the session key and the packet key (S333), encrypting the data using the session key (S334), encrypting the data using the packet key (S335), and encrypting the data. Transmitting to the communication network (S336).
제 1 암호화 모듈은 데이터를 암호화하여 통신망으로 송신하기 위해서 먼저, 세션 키 보유 여부를 확인한다(단계 S331). 이때, 단계 S310을 통해 세션 키를 보유하는 것으로 확인되는 경우, 패킷 키의 사용 설정 여부를 확인하고(단계 S332), 세션 키를 보유하지 않은 것으로 확인되는 경우, 패킷 키 만을 이용하여 데이터를 암호화한다(단계 S335).In order to encrypt data and transmit it to the communication network, the first encryption module first checks whether a session key is held (step S331). In this case, if it is determined in step S310 that the session key is held, it is checked whether the packet key is used or not (step S332), and if it is determined that the session key is not held, data is encrypted using only the packet key. (Step S335).
다음으로, 제 1 암호화 모듈은 패킷 키의 사용 설정 여부를 확인한다(단계 S332). 제 1 암호화 모듈은 단계 S310에서 패킷 키를 사용하도록 설정하지 않은 경우, 세션 키 만을 이용하여 데이터를 암호화 하고(단계 S334), 패킷 키를 사용하도록 설정된 경우 세션 키 및 패킷 키를 모두 이용하여 데이터를 암호화 한다(단계 S333). Next, the first encryption module checks whether the packet key is set for use (step S332). If the first encryption module does not set the packet key to be used in step S310, the first encryption module encrypts the data using only the session key (step S334). If the packet key is set to use the packet key, the first encryption module uses both the session key and the packet key to encrypt the data. Encrypt (step S333).
이때, 제 1 암호화 모듈에서 데이터의 암호화에 사용하는 패킷 키는 바람직하게는 제 1 암호화 모듈에서 암호화를 수행하려는 데이터 패킷 별 헤더 정보를 이용하여 생성될 수 있다.In this case, the packet key used to encrypt data in the first encryption module may be generated using header information for each data packet to be encrypted in the first encryption module.
마지막으로, 제 1 암호화 모듈은 단계 S333 내지 단계 S335를 통해 암호화 된 데이터를 통신망으로 송신한다(단계 S336).Finally, the first encryption module transmits the encrypted data to the communication network in steps S333 to S335 (step S336).
한편, 제 1 암호화 모듈이 단말기로부터 데이터를 전달 받지 않은 경우, 제 1 암호화 모듈은 통신망으로부터 암호화 된 데이터를 수신하였는지를 판단한다(단계 S340). 이때, 제 1 암호화 모듈이 통신망으로부터 암호화 된 데이터를 수신하지 않은 것으로 판단하는 경우, 제 1 암호화 모듈은 단말기와 통신망 양쪽 모두로부터 데이터를 전달 받지 못한 것이므로, 단계 S320을 반복한다.On the other hand, when the first encryption module does not receive data from the terminal, the first encryption module determines whether it receives the encrypted data from the communication network (step S340). In this case, when it is determined that the first encryption module does not receive the encrypted data from the communication network, the first encryption module does not receive data from both the terminal and the communication network, and thus repeats step S320.
또, 제 1 암호화 모듈이 통신망으로부터 암호화 된 데이터를 수신한 것으로 판단되면, 제 1 암호화 모듈은 수신한 암호화 데이터를 복호화하여 제 1 단말기로 전달함으로써 데이터를 사용자에게 출력한다(단계 S350).If it is determined that the first encryption module has received the encrypted data from the communication network, the first encryption module decrypts the received encryption data and transfers the received encryption data to the first terminal to output the data to the user (step S350).
제 1 암호화 모듈이 암호화 데이터를 복호화하여 출력하는 단계(S350)는, 도 3c에 도시된 바와 같이, 세션 키 보유 여부를 확인하는 단계(S351), 보유한 세션 키를 이용하여 데이터의 복호화를 수행하는 단계(S352), 데이터 패킷의 암호화 여부를 확인하는 단계(S353), 패킷 키를 생성하여 데이터 패킷의 복호화를 수행하는 단계(S354) 및 복호화 된 데이터를 단말기로 전달하여 출력하는 단계(S355)를 포함한다.The first encryption module decrypts and outputs the encrypted data (S350), as shown in FIG. 3C, confirming whether or not the session key is held (S351), and performing decryption of the data using the held session key. Step S352, checking whether the data packet is encrypted (S353), generating a packet key to perform decryption of the data packet (S354), and delivering and decrypting the decrypted data to the terminal (S355). Include.
제 1 암호화 모듈은 통신망으로부터 암호화 된 데이터를 수신하면 먼저, 세션 키 보유 여부를 확인한다(단계 S351). 이때, 단계 S310을 통해 세션 키를 보유하는 것으로 확인되는 경우, 제 1 암호화 모듈은 보유한 세션 키를 이용하여 통신망으로부터 수신한 암호화 된 데이터의 복호화를 수행한다(단계 S352). 또, 제 1 암호화 모듈이 세션 키를 보유하지 않은 것으로 확인되면, 제 1 암호화 모듈은 통신망으로부터 수신한 암호화 된 데이터가 암호화 되는 과정에서 세션 키를 사용하지 않은 것으로 판단하고 단계 S352를 수행하지 않을 수 있다.Upon receiving the encrypted data from the communication network, the first encryption module first checks whether a session key is held (step S351). In this case, when it is determined in step S310 that the session key is held, the first encryption module decrypts the encrypted data received from the communication network using the held session key (step S352). In addition, if it is determined that the first encryption module does not hold the session key, the first encryption module may determine that the session key is not used in the process of encrypting the encrypted data received from the communication network, and may not perform step S352. have.
다음으로, 제 1 암호화 모듈은 수신한 데이터 패킷이 암호화 되었는지를 확인한다(단계 S353). 제 1 암호화 모듈은 단계 S352 또는 통신망으로부터 수신한 암호화 된 데이터가 패킷 별로 암호화 되었는지를 확인하고, 패킷 별 암호화가 수행되 있는 것으로 확인되는 경우, 패킷 키를 생성하여 해당 데이터 패킷의 복호화를 수행한다(단계 S354). Next, the first encryption module checks whether the received data packet is encrypted (step S353). The first encryption module checks whether the encrypted data received from step S352 or the communication network is encrypted for each packet, and if it is determined that encryption for each packet is performed, the first encryption module generates a packet key to decrypt the corresponding data packet ( Step S354).
또, 제 1 암호화 모듈이 데이터 패킷이 암호화 되어있지 않다고 확인하는 경우, 제 1 암호화 모듈은 단계 S354를 수행하지 않을 수 있다. 이러한 데이터 패킷은 바람직하게는 단계 S352를 수행한 데이터일 수 있으며, 이는 본 발명의 특성상 제 1 암호화 모듈이 통신망을 통해 암호화 된 데이터를 수신하여 적어도 한 번의 데이터 복호화 과정을 수행해야 하기 때문이다.In addition, when the first encryption module confirms that the data packet is not encrypted, the first encryption module may not perform step S354. The data packet may preferably be data obtained by performing step S352, since the first encryption module needs to perform at least one data decryption process by receiving encrypted data through a communication network.
한편, 마지막으로 제 1 암호화 모듈은 단계 S352 또는 단계 S354 중 적어도 하나의 복호화 단계를 수행한 데이터를 제 1 단말기로 전달하고(단계 S355), 제 1 단말기는 전달 받은 데이터를 사용자에게 출력함으로써 데이터 복호화 과정을 종료할 수 있다.On the other hand, the first encryption module delivers the data that has performed at least one decryption step of step S352 or step S354 to the first terminal (step S355), and the first terminal outputs the received data to the user to decrypt the data. You can end the process.
상술한 도 3a 내지 도 3c에 도시된 본 발명의 일 실시예에 따른 데이터 암호화 및 복호화 방법은, 도 2b에 도시된 넌어드레스 네트워크 장치를 포함하는 데이터 암호화 및 복호화 시스템을 통해 구현될 수 있다. 이 경우, 제 1 암호화 모듈은 제 1 넌어드레스 네트워크 장치로 대치되며, 제 1 보안부에서 각각의 단계를 수행할 수 있다.The data encryption and decryption method according to an embodiment of the present invention illustrated in FIGS. 3A to 3C described above may be implemented through a data encryption and decryption system including the non-address network device shown in FIG. 2B. In this case, the first encryption module is replaced with the first non-address network device, and the first security unit may perform each step.
이상에서 본 발명의 일 실시예에 대하여 설명하였으나, 본 발명의 사상은 본 명세서에 제시되는 실시 예에 제한되지 아니하며, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서, 구성요소의 부가, 변경, 삭제, 추가 등에 의해서 다른 실시 예를 용이하게 제안할 수 있을 것이나, 이 또한 본 발명의 사상범위 내에 든다고 할 것이다.Although one embodiment of the present invention has been described above, the spirit of the present invention is not limited to the embodiments set forth herein, and those skilled in the art who understand the spirit of the present invention, within the scope of the same idea, the addition of components Other embodiments may be easily proposed by changing, deleting, adding, and the like, but this will also fall within the spirit of the present invention.

Claims (24)

  1. 통신망으로 연결된 제 2 단말기로 상기 통신망을 통해 암호화 된 데이터를 송신하는 데이터 암호화 부에 있어서,A data encryption unit for transmitting encrypted data through a communication network to a second terminal connected to a communication network,
    제 1 단말기와 상기 통신망 사이에 연결되고 상기 제 1 단말기로부터 데이터를 전달받아 암호화하여 상기 암호화 된 데이터를 생성하기 위해 요구되는 세션 키를 생성하는 암호화 모듈을 포함하며, An encryption module connected between a first terminal and the communication network and configured to generate a session key required for receiving data from the first terminal and encrypting the encrypted data to generate the encrypted data;
    상기 암호화 모듈은, 제 1 공개 키를 생성하여 상기 통신망으로 송신한 후 상기 통신망으로부터 상기 제 1 공개 키에 대한 응답인 제 2 공개 키를 수신하며, 수신한 상기 제 2 공개 키를 이용하여 상기 세션 키를 생성하는 방법인 공개키 알고리즘을 사용하여 상기 세션 키를 생성하는 데이터 암호화 및 복호화 시스템.The encryption module generates a first public key and transmits it to the communication network and receives a second public key in response to the first public key from the communication network, and uses the received second public key to perform the session. And a data encryption and decryption system for generating the session key using a public key algorithm.
  2. 제 1항에 있어서,The method of claim 1,
    상기 암호화 모듈은, 상기 제 1 단말기로부터 호출 패킷을 전달 받는 경우 상기 제 1 공개 키를 포함하는 재 가공 된 호출 패킷을 상기 통신망으로 송신한 후 상기 제 2 공개 키를 포함하는 재 가공된 응답 패킷을 수신하고, 상기 재 가공된 응답 패킷을 이용하여 상기 세션 키를 생성하는 데이터 암호화 및 복호화 시스템.The encryption module, when receiving the call packet from the first terminal, transmits the reprocessed call packet including the first public key to the communication network, and then sends the reprocessed response packet including the second public key. Receiving and generating the session key using the reprocessed response packet.
  3. 제 2항에 있어서,The method of claim 2,
    상기 재 가공된 호출 패킷은, 페이로드에 특정 길이의 난수 값으로 표현되는 암호화 ID 및 상기 암호화 모듈의 시리얼 넘버 중 적어도 하나를 더 포함하며,The reprocessed call packet further includes at least one of an encryption ID represented by a random number of a specific length in a payload and a serial number of the encryption module,
    상기 시리얼 넘버는, 암호화 모듈을 구별할 수 있는 고유 값인 데이터 암호화 및 복호화 시스템.The serial number is a data encryption and decryption system that is a unique value that can distinguish the encryption module.
  4. 제 1항에 있어서,The method of claim 1,
    상기 암호화 모듈은, 상기 제 1 공개 키와 함께 제 1 개인 키를 생성하며, 상기 제 2 공개 키를 수신한 후 상기 제 1 개인 키 및 제 2 공개 키를 이용하여 상기 세션 키를 생성하는 데이터 암호화 및 복호화 시스템.The encryption module generates a first private key together with the first public key and encrypts the session key using the first private key and the second public key after receiving the second public key. And decryption system.
  5. 제 1항에 있어서,The method of claim 1,
    상기 세션 키는, TCP 통신의 경우, 상기 데이터의 전송을 수행하기 전에 상기 TCP 통신을 구성하며 생성되는 데이터 암호화 및 복호화 시스템.The session key, in the case of TCP communication, is a data encryption and decryption system configured to configure the TCP communication before performing the transmission of the data.
  6. 제 1항에 있어서,The method of claim 1,
    상기 암호화 모듈은, 상기 암호화 된 데이터를 생성하기 위해 상기 데이터의 데이터 패킷 별 헤더 정보를 이용하여 생성되는 패킷 키를 더 이용하며,The encryption module further uses a packet key generated using header information for each data packet of the data to generate the encrypted data.
    상기 패킷 키는, 상기 데이터의 헤더 정보, 상기 암호화 모듈의 시리얼 넘버 및 사용자가 기 설정한 설정 키 중 적어도 하나를 이용하여 생성되고, 상기 헤더 정보는 상기 제 1 단말기의 IP 주소, 상기 제 2 단말기의 IP 주소 및 패킷 별 패킷 ID 중 적어도 하나를 포함하며,The packet key is generated using at least one of the header information of the data, the serial number of the encryption module, and a preset key set by a user, and the header information is an IP address of the first terminal and the second terminal. At least one of an IP address and a packet ID per packet,
    상기 시리얼 넘버는, 암호화 모듈을 구별할 수 있는 고유 값인 데이터 암호화 및 복호화 시스템.The serial number is a data encryption and decryption system that is a unique value that can distinguish the encryption module.
  7. 제 6항에 있어서,The method of claim 6,
    상기 패킷 키는, TCP 통신의 경우, 상기 TCP 통신의 시퀀스를 나타내는 값인 시퀀스 ID를 더 사용하여 생성되는 데이터 암호화 및 복호화 시스템.And the packet key is further generated by using a sequence ID which is a value representing a sequence of the TCP communication in the case of TCP communication.
  8. 제 1항 또는 제 6항에 있어서,The method according to claim 1 or 6,
    상기 암호화 모듈은,The encryption module,
    상기 제 1 단말기로부터 상기 데이터를 제공 받는 제 1-1 입출력부;A 1-1 input / output unit configured to receive the data from the first terminal;
    상기 제 1-1 입출력부와 연결되며, 상기 암호화 된 데이터 및 상기 세션 키 또는 상기 패킷 키를 생성하는 제 1 보안부; 및A first security unit connected to the 1-1 input / output unit and generating the encrypted data and the session key or the packet key; And
    상기 제 1 보안부와 연결되며, 상기 암호화 된 데이터를 제공 받아 상기 통신망으로 송신하는 제 1-2 입출력부;를 포함하며, And a first input / output unit connected to the first security unit and receiving the encrypted data and transmitting the encrypted data to the communication network.
    IP 주소가 설정되지 않은 상태에서 상기 세션 키 또는 상기 패킷 키를 생성하는 넌어드레스 네트워크 장치인 데이터 암호화 및 복호화 시스템.And a non-address network device for generating the session key or the packet key without an IP address being set.
  9. 통신망으로 연결된 제 1 단말기로부터 상기 통신망을 통해 암호화 된 데이터를 수신하는 데이터 복호화 부에 있어서,In the data decryption unit for receiving encrypted data through the communication network from a first terminal connected to a communication network,
    제 2 단말기와 상기 통신망 사이에 연결되고 상기 통신망으로부터 상기 암호화 된 데이터를 전달받아 복호화하여 복호화 된 데이터를 생성하기 위해 요구되는 세션 키를 생성하는 암호화 모듈을 포함하며, An encryption module connected between a second terminal and the communication network and generating a session key required to receive and decrypt the encrypted data from the communication network to generate decrypted data,
    상기 암호화 모듈은, 상기 통신망으로부터 제 1 공개 키를 수신한 후, 상기 제 1 공개 키에 대한 응답인 제 2 공개 키를 생성하며, 상기 제 2 공개 키를 상기 통신망으로 송신하고 상기 세션 키를 생성하는 방법인 공개키 알고리즘을 이용하여 상기 세션 키를 생성하는 데이터 암호화 및 복호화 시스템.After receiving the first public key from the communication network, the encryption module generates a second public key that is a response to the first public key, sends the second public key to the communication network and generates the session key. And a data encryption and decryption system for generating the session key using a public key algorithm.
  10. 제 9항에 있어서,The method of claim 9,
    상기 암호화 모듈은, 상기 통신망으로부터 상기 제 1 공개 키를 포함하는 재 가공된 호출 패킷을 수신하는 경우, 상기 재 가공된 호출 패킷을 이용하여 상기 세션 키를 생성하고 상기 제 2 단말기로부터 응답 패킷을 전달 받아 상기 제 2 공개 키를 포함하는 재 가공된 응답 패킷을 상기 통신망으로 송신하는 데이터 암호화 및 복호화 시스템.When receiving the reprocessed call packet including the first public key from the communication network, the encryption module generates the session key using the reprocessed call packet and delivers a response packet from the second terminal. Receiving and transmitting a reprocessed response packet containing the second public key to the communication network.
  11. 제 10항에 있어서,The method of claim 10,
    상기 재 가공된 응답 패킷은, 페이로드에 특정 길이의 난수 값으로 표현되는 암호화 ID 및 상기 암호화 모듈의 시리얼 넘버 중 적어도 하나를 포함하며,The reprocessed response packet includes at least one of an encryption ID represented by a random number having a specific length in a payload and a serial number of the encryption module.
    상기 시리얼 넘버는, 암호화 모듈을 구별할 수 있는 고유 값인 데이터 암호화 및 복호화 시스템.The serial number is a data encryption and decryption system that is a unique value that can distinguish the encryption module.
  12. 제 9항에 있어서,The method of claim 9,
    상기 암호화 모듈은, 상기 제 2 공개 키와 함께 제 2 개인 키를 생성하며, 상기 제 1 공개 키를 수신한 후 상기 제 2 개인 키 및 제 1 공개 키를 이용하여 상기 세션 키를 생성하는 데이터 암호화 및 복호화 시스템.The encryption module generates a second private key together with the second public key and encrypts the session key using the second private key and the first public key after receiving the first public key. And decryption system.
  13. 제 9항에 있어서,The method of claim 9,
    상기 세션 키는, TCP 통신의 경우, 상기 데이터의 전송을 수행하기 전에 상기 TCP 통신을 구성하며 생성되는 데이터 암호화 및 복호화 시스템.The session key, in the case of TCP communication, is a data encryption and decryption system configured to configure the TCP communication before performing the transmission of the data.
  14. 제 9항에 있어서,The method of claim 9,
    상기 암호화 모듈은, 상기 복호화 된 데이터를 생성하기 위해 상기 암호화 된 데이터의 데이터 패킷 별 헤더 정보를 이용하여 생성되는 패킷 키를 더 이용하며, The encryption module further uses a packet key generated by using header information for each data packet of the encrypted data to generate the decrypted data.
    상기 패킷 키는, 상기 암호화 된 데이터의 헤더 정보, 상기 암호화 된 데이터를 생성한 암호화 모듈의 시리얼 넘버 및 사용자가 기 설정한 설정 키 중 적어도 하나를 이용하여 생성되고, 상기 헤더 정보는 상기 제 1 단말기의 IP 주소, 상기 제 2 단말기의 IP 주소 및 패킷 별 패킷 ID를 포함하며, The packet key is generated using at least one of header information of the encrypted data, a serial number of an encryption module that generates the encrypted data, and a setting key preset by a user, and the header information is generated by the first terminal. An IP address of the second terminal, a packet ID per packet,
    상기 시리얼 넘버는, 암호화 모듈을 구별할 수 있는 고유 값인 데이터 암호화 및 복호화 시스템.The serial number is a data encryption and decryption system that is a unique value that can distinguish the encryption module.
  15. 제 14항에 있어서,The method of claim 14,
    상기 패킷 키는, TCP 통신의 경우, 상기 TCP 통신의 시퀀스를 나타내는 값인 시퀀스 ID를 더 사용하여 생성되는 데이터 암호화 및 복호화 시스템.And the packet key is further generated by using a sequence ID which is a value representing a sequence of the TCP communication in the case of TCP communication.
  16. 제 9항 또는 제 14항에 있어서,The method according to claim 9 or 14,
    상기 암호화 모듈은,The encryption module,
    상기 통신망으로부터 상기 암호화 된 데이터를 수신하는 제 2-1 입출력부;A 2-1 input / output unit configured to receive the encrypted data from the communication network;
    상기 제 2-1 입출력부와 연결되며, 상기 복호화 된 데이터 및 상기 세션 키 또는 상기 패킷 키를 생성하는 제 2 보안부; 및A second security unit connected to the 2-1 input / output unit and generating the decrypted data and the session key or the packet key; And
    상기 제 2 보안부와 연결되며, 상기 복호화 된 데이터를 상기 제 2 단말기로 전달하는 제 2-2 입출력부;를 포함하며,And a 2-2 input / output unit connected to the second security unit and transferring the decrypted data to the second terminal.
    IP 주소가 설정되지 않은 상태에서 상기 세션 키 또는 상기 패킷 키를 생성하는 넌어드레스 네트워크 장치인 데이터 암호화 및 복호화 시스템.And a non-address network device for generating the session key or the packet key without an IP address being set.
  17. 통신망을 통해 암호화 된 데이터를 송신하는 데이터 암호화 부 및 상기 통신망을 통해 상기 암호화 된 데이터를 수신하는 데이터 복호화 부에 있어서,A data encryption unit for transmitting encrypted data through a communication network and a data decryption unit for receiving the encrypted data through the communication network,
    제 1 단말기와 상기 통신망 사이에 연결되고 상기 제 1 단말기로부터 데이터를 전달받아 암호화하여 상기 암호화 된 데이터를 생성하기 위해 요구되는 세션 키를 생성하는 제 1 암호화 모듈; 및 A first encryption module connected between a first terminal and the communication network and generating a session key required for receiving data from the first terminal and encrypting the encrypted data to generate the encrypted data; And
    제 2 단말기와 상기 통신망 사이에 연결되고 상기 통신망으로부터 상기 암호화 된 데이터를 전달받아 복호화하여 복호화 된 데이터를 생성하기 위해 요구되는 상기 세션 키를 생성하는 제 2 암호화 모듈을 포함하며,A second encryption module connected between a second terminal and the communication network and generating the session key required to receive the decrypted data from the communication network and to decrypt and generate decrypted data,
    상기 제 1 암호화 모듈에서 제 1 공개 키를 생성하여 상기 통신망으로 송신하고 상기 제 2 암호화 모듈에서 상기 제 1 공개 키를 수신한 후, 상기 세션 키 및 생기 제 1 공개 키에 대한 응답인 제 2 공개 키를 생성하여 상기 제 2 공개 키를 상기 통신망으로 송신하고, 상기 제 1 암호화 모듈이 상기 제 2 공개 키를 수신하고 이용하여 상기 세션 키를 생성하는 방법인 공개 키 알고리즘을 이용하여 상기 세션 키를 생성하는 데이터 암호화 및 복호화 시스템.A second public key generated by the first encryption module and transmitted to the network and received by the second encryption module after receiving the first public key, the second public key being a response to the session key and the generated first public key Generate a key and transmit the second public key to the communication network, and the first encryption module receives and uses the second public key to generate the session key. Generate data encryption and decryption system.
  18. 제 17항에 있어서,The method of claim 17,
    상기 제 1 암호화 모듈은, 상기 제 1 단말기로부터 호출 패킷을 전달 받는 경우 상기 제 1 공개 키를 포함하는 재 가공 된 호출 패킷을 상기 통신망으로 송신한 후 상기 제 2 공개 키를 포함하는 재 가공된 응답 패킷을 수신하고, 상기 재 가공된 응답 패킷을 이용하여 상기 세션 키를 생성하고,When the first encryption module receives the call packet from the first terminal, the first encryption module transmits the reprocessed call packet including the first public key to the communication network, and then reprocesses the second packet to include the second public key. Receive a packet, generate the session key using the reprocessed response packet,
    상기 제 2 암호화 모듈은, 상기 통신망으로부터 상기 재 가공된 호출 패킷을 수신하는 경우, 상기 재 가공된 호출 패킷을 이용하여 상기 세션 키를 생성하고 상기 제 2 단말기로부터 응답 패킷을 전달 받아 상기 재 가공된 응답 패킷을 상기 통신망으로 송신하는 데이터 암호화 및 복호화 시스템.When receiving the reprocessed call packet from the communication network, the second encryption module generates the session key using the reprocessed call packet and receives a response packet from the second terminal to receive the reprocessed call packet. A data encryption and decryption system for transmitting a response packet to the communication network.
  19. 제 18항에 있어서,The method of claim 18,
    상기 재 가공된 호출 패킷은, 페이로드에 특정 길이의 난수 값으로 표현되는 암호화 ID 및 상기 제 1 암호화 모듈의 시리얼 넘버 중 적어도 하나를 더 포함하며,The reprocessed call packet further includes at least one of an encryption ID represented by a random number of a specific length in a payload and a serial number of the first encryption module,
    상기 재 가공된 응답 패킷은, 페이로드에 특정 길이의 난수 값으로 표현되는 암호화 ID 및 상기 제 2 암호화 모듈의 시리얼 넘버 중 적어도 하나를 포함하며,The reprocessed response packet includes at least one of an encryption ID represented by a random number having a specific length in a payload and a serial number of the second encryption module.
    상기 시리얼 넘버는, 암호화 모듈을 구별할 수 있는 고유 값인 데이터 암호화 및 복호화 시스템.The serial number is a data encryption and decryption system that is a unique value that can distinguish the encryption module.
  20. 제 17항에 있어서,The method of claim 17,
    상기 제 1 암호화 모듈은, 상기 제 1 공개 키와 함께 제 1 개인 키를 생성하며, 상기 제 2 공개 키를 수신한 후 상기 제 1 개인 키 및 제 2 공개 키를 이용하여 상기 세션 키를 생성하며,The first encryption module generates a first private key together with the first public key, generates the session key using the first private key and the second public key after receiving the second public key. ,
    상기 제 2 암호화 모듈은, 상기 제 2 공개 키와 함께 제 2 개인 키를 생성하며, 상기 제 1 공개 키를 수신한 후 상기 제 2 개인 키 및 제 1 공개 키를 이용하여 상기 세션 키를 생성하는 데이터 암호화 및 복호화 시스템.The second encryption module generates a second private key together with the second public key, and generates the session key using the second private key and the first public key after receiving the first public key. Data encryption and decryption system.
  21. 제 17항에 있어서,The method of claim 17,
    상기 세션 키는, TCP 통신의 경우, 상기 데이터의 전송을 수행하기 전에 상기 TCP 통신을 구성하며 생성되는 데이터 암호화 및 복호화 시스템.The session key, in the case of TCP communication, is a data encryption and decryption system configured to configure the TCP communication before performing the transmission of the data.
  22. 제 17항에 있어서,The method of claim 17,
    상기 제 1 암호화 모듈은, 상기 암호화 된 데이터를 생성하기 위해 상기 데이터의 데이터 패킷 별 헤더 정보를 이용하여 생성되는 패킷 키를 더 이용하고,The first encryption module further uses a packet key generated by using header information for each data packet of the data to generate the encrypted data.
    상기 제 2 암호화 모듈은, 상기 복호화 된 데이터를 생성하기 위해 상기 암호화 된 데이터의 데이터 패킷 별 헤더 정보를 이용하여 생성되는 상기 패킷 키를 더 이용하며,The second encryption module further uses the packet key generated using header information for each data packet of the encrypted data to generate the decrypted data.
    상기 패킷 키는, 상기 데이터의 헤더 정보, 상기 제 1 암호화 모듈의 시리얼 넘버 및 사용자가 기 설정한 설정 키 중 적어도 하나를 이용하여 생성되고, 상기 헤더 정보는 상기 제 1 단말기의 IP 주소, 상기 제 2 단말기의 IP 주소 및 패킷 별 패킷 ID 중 적어도 하나를 포함하며,The packet key is generated using at least one of the header information of the data, the serial number of the first encryption module, and a preset key set by a user, and the header information is an IP address of the first terminal and the first key. 2 includes at least one of an IP address of the terminal and a packet ID for each packet,
    상기 시리얼 넘버는, 암호화 모듈을 구별할 수 있는 고유 값인 데이터 암호화 및 복호화 시스템.The serial number is a data encryption and decryption system that is a unique value that can distinguish the encryption module.
  23. 제 22항에 있어서,The method of claim 22,
    상기 패킷 키는, TCP 통신의 경우, 상기 TCP 통신의 시퀀스를 나타내는 값인 시퀀스 ID를 더 사용하여 생성되는 데이터 암호화 및 복호화 시스템.And the packet key is further generated by using a sequence ID which is a value representing a sequence of the TCP communication in the case of TCP communication.
  24. 제 17항 또는 제 22항에 있어서,The method of claim 17 or 22,
    상기 제 1 암호화 모듈은,The first encryption module,
    상기 제 1 단말기로부터 상기 데이터를 제공 받는 제 1-1 입출력부;A 1-1 input / output unit configured to receive the data from the first terminal;
    상기 제 1-1 입출력부와 연결되며, 상기 암호화 된 데이터 및 상기 세션 키 또는 상기 패킷 키를 생성하는 제 1 보안부; 및A first security unit connected to the 1-1 input / output unit and generating the encrypted data and the session key or the packet key; And
    상기 제 1 보안부와 연결되며, 상기 암호화 된 데이터를 제공 받아 상기 통신망으로 송신하는 제 1-2 입출력부;를 포함하고,And a first input / output unit connected to the first security unit and receiving the encrypted data and transmitting the encrypted data to the communication network.
    IP 주소가 설정되지 않은 상태에서 상기 세션 키 또는 상기 패킷 키를 생성하는 제 1 넌어드레스 네트워크 장치이며, A first non-address network device generating the session key or the packet key without an IP address being set,
    상기 제 2 암호화 모듈은,The second encryption module,
    상기 통신망으로부터 상기 암호화 된 데이터를 수신하는 제 2-1 입출력부;A 2-1 input / output unit configured to receive the encrypted data from the communication network;
    상기 제 2-1 입출력부와 연결되며, 상기 복호화 된 데이터 및 상기 세션 키 또는 상기 패킷 키를 생성하는 제 2 보안부; 및A second security unit connected to the 2-1 input / output unit and generating the decrypted data and the session key or the packet key; And
    상기 제 2 보안부와 연결되며, 상기 복호화 된 데이터를 상기 제 2 단말기로 전달하는 제 2-2 입출력부;를 포함하고,And a 2-2 input / output unit connected to the second security unit and transferring the decrypted data to the second terminal.
    IP 주소가 설정되지 않은 상태에서 상기 세션 키 또는 상기 패킷 키를 생성하는 제 2 넌어드레스 네트워크 장치인 데이터 암호화 및 복호화 시스템.And a second non-address network device for generating the session key or the packet key without an IP address being set.
PCT/KR2016/013600 2015-11-24 2016-11-24 Data encoding and decoding system and method WO2017090996A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150164630 2015-11-24
KR10-2015-0164630 2015-11-24

Publications (1)

Publication Number Publication Date
WO2017090996A1 true WO2017090996A1 (en) 2017-06-01

Family

ID=58763383

Family Applications (4)

Application Number Title Priority Date Filing Date
PCT/KR2015/012715 WO2017090789A1 (en) 2015-11-24 2015-11-25 Communication security system and method using non-address network equipment
PCT/KR2016/013600 WO2017090996A1 (en) 2015-11-24 2016-11-24 Data encoding and decoding system and method
PCT/KR2016/013613 WO2017091002A1 (en) 2015-11-24 2016-11-24 Data encoding and decoding system and method
PCT/KR2016/013609 WO2017091000A1 (en) 2015-11-24 2016-11-24 Data encoding and decoding system and method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/012715 WO2017090789A1 (en) 2015-11-24 2015-11-25 Communication security system and method using non-address network equipment

Family Applications After (2)

Application Number Title Priority Date Filing Date
PCT/KR2016/013613 WO2017091002A1 (en) 2015-11-24 2016-11-24 Data encoding and decoding system and method
PCT/KR2016/013609 WO2017091000A1 (en) 2015-11-24 2016-11-24 Data encoding and decoding system and method

Country Status (1)

Country Link
WO (4) WO2017090789A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240513B1 (en) * 1997-01-03 2001-05-29 Fortress Technologies, Inc. Network security device
US7100048B1 (en) * 2000-01-25 2006-08-29 Space Micro Inc. Encrypted internet and intranet communication device
US20140223540A1 (en) * 2002-09-20 2014-08-07 Fortinet, Inc. Firewall interface configuration to enable bi-directional voip traversal communications
US20140233734A1 (en) * 2013-02-21 2014-08-21 Meru Networks Restricting broadcast and multicast traffic in a wireless network to a vlan
US20140362988A1 (en) * 2003-09-30 2014-12-11 Cisco Technology, Inc. Method and apparatus of communicating security/encryption information to a physical layer transceiver

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067620A (en) * 1996-07-30 2000-05-23 Holden; James M. Stand alone security device for computer networks
US6430691B1 (en) * 1999-06-21 2002-08-06 Copytele, Inc. Stand-alone telecommunications security device
KR100333530B1 (en) * 1999-09-29 2002-04-25 최명렬 Method for configurating VPN(Virtual Private Network) by using NAT(Network Address Translation) and computer readable record medium on which a program therefor is recorded
US7983419B2 (en) * 2001-08-09 2011-07-19 Trimble Navigation Limited Wireless device to network server encryption
KR100580844B1 (en) * 2003-12-17 2006-05-16 한국전자통신연구원 Data security and apply device in wireless local area network system and method thereof
US8316152B2 (en) * 2005-02-15 2012-11-20 Qualcomm Incorporated Methods and apparatus for machine-to-machine communications
US8583929B2 (en) * 2006-05-26 2013-11-12 Alcatel Lucent Encryption method for secure packet transmission
GB2509709A (en) * 2013-01-09 2014-07-16 Ibm Transparent encryption/decryption gateway for cloud storage services

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240513B1 (en) * 1997-01-03 2001-05-29 Fortress Technologies, Inc. Network security device
US7100048B1 (en) * 2000-01-25 2006-08-29 Space Micro Inc. Encrypted internet and intranet communication device
US20140223540A1 (en) * 2002-09-20 2014-08-07 Fortinet, Inc. Firewall interface configuration to enable bi-directional voip traversal communications
US20140362988A1 (en) * 2003-09-30 2014-12-11 Cisco Technology, Inc. Method and apparatus of communicating security/encryption information to a physical layer transceiver
US20140233734A1 (en) * 2013-02-21 2014-08-21 Meru Networks Restricting broadcast and multicast traffic in a wireless network to a vlan

Also Published As

Publication number Publication date
WO2017090789A1 (en) 2017-06-01
WO2017091002A1 (en) 2017-06-01
WO2017091000A1 (en) 2017-06-01

Similar Documents

Publication Publication Date Title
WO2016137304A1 (en) Trust-zone-based end-to-end security
WO2016021981A1 (en) System and method of counter management and security key update for device-to-device group communication
CN102625995B (en) Galois/counter mode encryption in a wireless network
WO2014069778A1 (en) Id-based encryption and decryption method, and apparatus for executing same
WO2018151390A1 (en) Internet of things device
WO2012093900A2 (en) Method and device for authenticating personal network entity
JP2005525047A (en) Secure wireless local area network or wireless metropolitan area network and related methods
WO2014063455A1 (en) Instant messaging method and system
TW200307423A (en) Password device and method, password system
WO2008007432A1 (en) Relay device
CN101965722A (en) Re-establishment of a security association
KR20120105507A (en) Method and system for establishing secure connection between user terminals
US7039190B1 (en) Wireless LAN WEP initialization vector partitioning scheme
WO2021054693A1 (en) Quantum key distribution method, device, and system
WO2019182377A1 (en) Method, electronic device, and computer-readable recording medium for generating address information used for transaction of blockchain-based cryptocurrency
JP2007039166A (en) Remote monitoring system for elevator
WO2018139910A1 (en) Method for providing end-to-end security over signaling plane in mission critical data communication system
WO2020067734A1 (en) Non-address network equipment and communication security system using same
JPH06318939A (en) Cipher communication system
WO2018004114A2 (en) Proxy authentication system and authentication method for providing proxy service
WO2012165901A2 (en) Method for inter-terminal security channelization
WO2017090996A1 (en) Data encoding and decoding system and method
CN109347836B (en) IPv6 network node identity safety protection method
JP2005244379A (en) Vpn system, vpn apparatus, and encryption key distribution method used for them
JP2007043566A (en) Encryption control device and encryption system of wireless lan

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: 16868892

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 11/10/2018)

122 Ep: pct application non-entry in european phase

Ref document number: 16868892

Country of ref document: EP

Kind code of ref document: A1