WO2017091000A1 - Data encoding and decoding system and method - Google Patents
Data encoding and decoding system and method Download PDFInfo
- Publication number
- WO2017091000A1 WO2017091000A1 PCT/KR2016/013609 KR2016013609W WO2017091000A1 WO 2017091000 A1 WO2017091000 A1 WO 2017091000A1 KR 2016013609 W KR2016013609 W KR 2016013609W WO 2017091000 A1 WO2017091000 A1 WO 2017091000A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- key
- packet
- encryption
- session key
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/22—Arrangements 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 method may include generating the encrypted data in a data encryption unit that transmits encrypted data through the communication network to a second terminal connected through a communication network, the method comprising: a) encrypting data from the first terminal; Receiving a; And b) generating the encrypted data using an encryption key in the encryption module, wherein step a) comprises: a1) a session key or a packet as an encryption level of the data before receiving the data; Determining to use at least one of the keys.
- the encryption module acquires and holds the session key previously generated by an external or the encryption module, and the encryption level of the data is increased.
- the encryption module may be configured to use the packet key.
- Step b) b1) checking whether the session key holding; b2) checking whether to use the packet key; And b3) encrypting the data to generate the encrypted data.
- step b3) if it is determined in step b1) that the session key is held, step b2) is performed. If in step b2), it is determined that the use of the packet key is set, the encrypted data is recalled. Generated using a session key and a packet key, and if it is confirmed in step b2) that the use of the packet key is not set, the encrypted data is generated using only the session key, and the session key in step b1). If it is confirmed that does not hold the encrypted data can be generated using the packet key without performing b2).
- a data encryption and decryption method includes a data encryption unit for transmitting encrypted data through a communication network to a second terminal connected with a communication network, the data terminal being connected between a first terminal and the communication network and receiving data from the first terminal. And an encryption module for generating the encrypted data by encrypting the data using at least one of a session key and a packet key, wherein the encryption module includes the session key from a user before receiving data from the first terminal. Or receiving a setting for using at least one of the packet keys.
- the encryption module acquires and holds the session key previously generated by an external or the encryption module before receiving data from the first terminal when the session key is set to use, and is configured to use the packet key.
- the packet key generated using the packet header information of the packet received from the first terminal may be configured to be used.
- the encryption module may check whether the session key is held and whether the packet key is used before encrypting the data.
- the encryption module when the session key is set to use the packet key, encrypts the data using the session key and the packet key, and holds the session key. If it is not set to use, the data is encrypted using only the session key, and if the session key is not held, the data may be encrypted using the packet key.
- 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, encrypting the data, and receiving the setting from the user; 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 method may further include decrypting the encrypted data in a data decryption unit that receives encrypted data through the communication network from a first terminal connected to a communication network, the method comprising: a) encrypting the encryption module from the communication network; Receiving the collected data; And b) decrypting the encrypted data using a decryption key in the encryption module, wherein step a) comprises: a1) retaining the session key external to the encryption module or previously generated in the encryption module; Checking whether or not; may further include.
- step b) when it is determined through the step a1) that the encryption module holds the session key, it is confirmed that the session key is used as the decryption key and that the session key is not held.
- a packet key is used as the decryption key, and the packet key may be generated using header information for each packet of the encrypted data.
- the step b) may further include performing decryption using the packet key after performing the decryption using the session key.
- a data encryption and decryption method includes a data decryption unit that receives encrypted data through a communication network from a first terminal connected through a communication network, and transmits the encrypted data connected between the second terminal and the communication network from the communication network. And an encryption module for decrypting the encrypted data using at least one of a session key and a packet key to generate decrypted data, wherein the encryption module includes the session before receiving the encrypted data from the communication network. Make sure you have a key.
- the encryption module decrypts the encrypted data by using the session key, and when it is determined that the encryption module does not hold the session key, a header for each packet of the encrypted data.
- the encrypted data may be decrypted using a packet key generated using information.
- the encryption module first decrypts the encrypted data using the session key, and performs the second decryption of the primary decrypted data using the packet key. can do.
- the encryption module may include: a 2-1 input / output unit configured to transmit the encrypted data from the communication network; A second security unit connected to the 2-1 input / output unit to decrypt the encrypted data to generate decrypted data and to hold the session key; And a 2-2 input / output unit connected to the second security unit and receiving the decrypted data and transferring the decrypted data to the second terminal.
- the non-address generating 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.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
본 발명은 데이터 암호화 및 복호화 시스템 및 방법에 관한 것으로서, 각종 전용망 및 공용망을 사용하는 단말기들 사이에서 송수신하는 데이터를 암호화 및 복호화 함으로써 해킹이나 도청 및 감청을 방지하고 높은 수준의 보안을 유지할 수 있도록 하는 데이터 암호화 및 복호화 시스템 및 방법에 관한 것이다.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 단말기로 상기 통신망을 통해 암호화 된 데이터를 송신하는 데이터 암호화 부에서 상기 암호화 된 데이터를 생성하는 방법에 있어서, a) 제 1 단말기로부터 암호화 모듈이 데이터를 전달 받는 단계; 및 b) 상기 암호화 모듈에서 암호화 키를 이용하여 상기 암호화 된 데이터를 생성하는 단계;를 포함하며, 상기 단계 a)는, a1) 상기 데이터를 전달 받기 전, 상기 데이터의 암호화 수준을 세션 키 또는 패킷 키 중 적어도 하나를 이용하도록 결정하는 단계;를 더 포함한다.According to an aspect of the present invention for solving the above problems, there is provided a data encryption and decryption method. The data encryption and decryption method may include generating the encrypted data in a data encryption unit that transmits encrypted data through the communication network to a second terminal connected through a communication network, the method comprising: a) encrypting data from the first terminal; Receiving a; And b) generating the encrypted data using an encryption key in the encryption module, wherein step a) comprises: a1) a session key or a packet as an encryption level of the data before receiving the data; Determining to use at least one of the keys.
상기 단계 a1)은, 상기 데이터의 암호화 수준이 상기 세션 키를 이용한 암호화를 포함하는 경우, 외부 또는 상기 암호화 모듈에서 기 생성된 상기 세션 키를 상기 암호화 모듈이 획득 보유하고, 상기 데이터의 암호화 수준이 상기 패킷 키를 이용한 암호화를 포함하는 경우, 상기 암호화 모듈이 상기 패킷 키를 사용하도록 설정될 수 있다.In the step a1), when the encryption level of the data includes encryption using the session key, the encryption module acquires and holds the session key previously generated by an external or the encryption module, and the encryption level of the data is increased. In the case of including encryption using the packet key, the encryption module may be configured to use the packet key.
상기 단계 b)는, b1) 상기 세션 키 보유 여부를 확인하는 단계; b2) 상기 패킷 키의 사용 설정 여부를 확인하는 단계; 및 b3) 상기 데이터를 암호화하여 상기 암호화 된 데이터를 생성하는 단계;를 더 포함할 수 있다.Step b), b1) checking whether the session key holding; b2) checking whether to use the packet key; And b3) encrypting the data to generate the encrypted data.
상기 단계 b3)는, 상기 단계 b1)에서 상기 세션 키를 보유하고 있는 것으로 확인 되면 상기 단계 b2)를 수행하며, 상기 b2)에서 상기 패킷 키의 사용 설정이 된 것으로 확인되면 상기 암호화 된 데이터를 상기 세션 키 및 패킷 키를 이용하여 생성하며, 상기 단계 b2)에서 상기 패킷 키의 사용 설정이 되지 않은 것으로 확인 되면 상기 세션 키만을 이용하여 상기 암호화 된 데이터를 생성하고, 상기 단계 b1)에서 상기 세션 키를 보유하지 않은 것으로 확인되면 상기 b2)를 수행하지 않고 상기 암호화 된 데이터를 상기 패킷 키를 이용하여 생성할 수 있다.In step b3), if it is determined in step b1) that the session key is held, step b2) is performed. If in step b2), it is determined that the use of the packet key is set, the encrypted data is recalled. Generated using a session key and a packet key, and if it is confirmed in step b2) that the use of the packet key is not set, the encrypted data is generated using only the session key, and the session key in step b1). If it is confirmed that does not hold the encrypted data can be generated using the packet key without performing b2).
본 발명의 일 측면에 따르면, 데이터 암호화 및 복호화 방법이 제공된다. 상기 데이터 암호화 및 복호화 방법은, 통신망으로 연결된 제 2 단말기로 상기 통신망을 통해 암호화 된 데이터를 송신하는 데이터 암호화 부에 있어서, 제 1 단말기와 상기 통신망 사이에 연결되고 상기 제 1 단말기로부터 데이터를 전달받아 상기 데이터를 세션 키 또는 패킷 키 중 적어도 하나를 이용하여 암호화하여 상기 암호화 된 데이터를 생성하는 암호화 모듈을 포함하며, 상기 암호화 모듈은, 상기 제 1 단말기로부터 데이터를 전달 받기 전, 사용자로부터 상기 세션 키 또는 패킷 키 중 적어도 하나를 사용하도록 하는 설정을 입력 받는다.According to one aspect of the present invention, a data encryption and decryption method is provided. The data encryption and decryption method includes a data encryption unit for transmitting encrypted data through a communication network to a second terminal connected with a communication network, the data terminal being connected between a first terminal and the communication network and receiving data from the first terminal. And an encryption module for generating the encrypted data by encrypting the data using at least one of a session key and a packet key, wherein the encryption module includes the session key from a user before receiving data from the first terminal. Or receiving a setting for using at least one of the packet keys.
상기 암호화 모듈은, 상기 세션 키를 사용하도록 설정된 경우 상기 제 1 단말기로부터 데이터를 전달 받기 전, 외부 또는 상기 암호화 모듈에서 기 생성된 상기 세션 키를 획득하여 보유하며, 상기 패킷 키를 사용하도록 설정된 경우, 상기 제 1 단말기로부터 전달 받는 상기 데이터의 패킷 별 헤더 정보를 이용하여 생성되는 상기 패킷 키를 사용하도록 설정될 수 있다.The encryption module acquires and holds the session key previously generated by an external or the encryption module before receiving data from the first terminal when the session key is set to use, and is configured to use the packet key. The packet key generated using the packet header information of the packet received from the first terminal may be configured to be used.
상기 암호화 모듈은, 상기 데이터의 암호화를 수행하기 전, 상기 세션 키 보유 여부 및 상기 패킷 키 사용 여부를 확인할 수 있다.The encryption module may check whether the session key is held and whether the packet key is used before encrypting the data.
상기 암호화 모듈은, 상기 세션 키를 보유하고, 상기 패킷 키를 사용하도록 설정 된 경우, 상기 데이터의 암호화를 상기 세션 키 및 상기 패킷 키를 이용하여 수행하며, 상기 세션 키를 보유 하고, 상기 패킷 키를 사용하도록 설정 되지 않은 경우, 상기 데이터의 암호화를 상기 세션 키만을 이용하여 수행하며, 상기 세션 키를 보유하지 않은 경우, 상기 패킷 키를 사용하여 상기 데이터의 암호화를 수행할 수 있다.The encryption module, when the session key is set to use the packet key, encrypts the data using the session key and the packet key, and holds the session key. If it is not set to use, the data is encrypted using only the session key, and if the session key is not held, the data may be encrypted using the packet key.
상기 암호화 모듈은, 상기 제 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, encrypting the data, and receiving the setting from the user; 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 단말기로부터 상기 통신망을 통해 암호화 된 데이터를 수신하는 데이터 복호화 부에서 상기 암호화 된 데이터를 복호화하는 방법에 있어서, a) 상기 통신망으로부터 암호화 모듈이 상기 암호화 된 데이터를 수신하는 단계; 및 b) 상기 암호화 모듈에서 복호화 키를 이용하여 상기 암호화 된 데이터를 복호화하는 단계;를 포함하며, 상기 단계 a)는, a1) 상기 암호화 모듈의 외부 또는 상기 암호화 모듈에서 기 생성된 상기 세션 키 보유 여부를 확인하는 단계;를 더 포함할 수 있다.According to one aspect of the present invention, a data encryption and decryption method is provided. The data encryption and decryption method may further include decrypting the encrypted data in a data decryption unit that receives encrypted data through the communication network from a first terminal connected to a communication network, the method comprising: a) encrypting the encryption module from the communication network; Receiving the collected data; And b) decrypting the encrypted data using a decryption key in the encryption module, wherein step a) comprises: a1) retaining the session key external to the encryption module or previously generated in the encryption module; Checking whether or not; may further include.
상기 단계 b)는, 상기 단계 a1)을 통해 상기 암호화 모듈이 상기 세션 키를 보유하고 있는 것으로 확인되는 경우, 상기 복호화 키로써 상기 세션 키를 사용하고, 상기 세션 키를 보유하고 있지 않은 것으로 확인되는 경우, 상기 복호화 키로써 패킷 키를 사용하며, 상기 패킷 키는 상기 암호화 된 데이터의 패킷 별 헤더 정보를 이용하여 생성될 수 있다.In step b), when it is determined through the step a1) that the encryption module holds the session key, it is confirmed that the session key is used as the decryption key and that the session key is not held. In this case, a packet key is used as the decryption key, and the packet key may be generated using header information for each packet of the encrypted data.
상기 단계 b)는, 상기 세션 키를 이용하여 상기 복호화를 수행한 이후 상기 패킷 키를 이용한 복호화를 더 수행하는 단계;를 더 포함할 수 있다.The step b) may further include performing decryption using the packet key after performing the decryption using the session key.
본 발명의 일 측면에 따르면, 데이터 암호화 및 복호화 방법이 제공된다. 상기 데이터 암호화 및 복호화 방법은, 통신망으로 연결된 제 1 단말기로부터 상기 통신망을 통해 암호화 된 데이터를 수신하는 데이터 복호화 부에 있어서, 제 2 단말기와 상기 통신망 사이에 연결되고 상기 통신망으로부터 상기 암호화 된 데이터를 전달받아 상기 암호화 된 데이터를 세션 키 또는 패킷 키 중 적어도 하나를 이용하여 복호화하여 복호화 된 데이터를 생성하는 암호화 모듈을 포함하며, 상기 암호화 모듈은, 상기 통신망으로부터 상기 암호화 된 데이터를 전달 받기 전, 상기 세션 키를 보유하는지 확인한다.According to one aspect of the present invention, a data encryption and decryption method is provided. The data encryption and decryption method includes a data decryption unit that receives encrypted data through a communication network from a first terminal connected through a communication network, and transmits the encrypted data connected between the second terminal and the communication network from the communication network. And an encryption module for decrypting the encrypted data using at least one of a session key and a packet key to generate decrypted data, wherein the encryption module includes the session before receiving the encrypted data from the communication network. Make sure you have a key.
상기 암호화 모듈은, 상기 세션 키를 보유하는 것으로 확인되는 경우, 상기 세션 키를 이용하여 상기 암호화 된 데이터를 복호화 하고, 상기 세션 키를 보유하지 않은 것으로 확인되는 경우, 상기 암호화 된 데이터의 패킷 별 헤더 정보를 이용하여 생성되는 패킷 키를 이용하여 상기 암호화 된 데이터를 복호화 할 수 있다.When it is determined that the encryption module holds the session key, the encryption module decrypts the encrypted data by using the session key, and when it is determined that the encryption module does not hold the session key, a header for each packet of the encrypted data. The encrypted data may be decrypted using a packet key generated using information.
상기 암호화 모듈은, 상기 세션 키를 보유하는 것으로 확인되는 경우, 상기 세션 키를 이용하여 상기 암호화 된 데이터를 1차 복호화 하고, 상기 패킷 키를 이용하여 상기 1차 복호화 된 데이터의 2차 복호화를 수행할 수 있다.If it is determined that the encryption module holds the session key, the encryption module first decrypts the encrypted data using the session key, and performs the second decryption of the primary decrypted data using the packet key. can do.
상기 암호화 모듈은, 상기 통신망으로부터 상기 암호화 된 데이터를 송신하는 제 2-1 입출력부; 상기 제 2-1 입출력부와 연결되며, 상기 암호화 된 데이터를 복호화 하여 복호화 된 데이터를 생성하며, 상기 세션 키를 보유하는 제 2 보안부; 및 상기 제 2 보안부와 연결되며, 상기 복호화 된 데이터를 제공 받아 상기 제 2 단말기로 전달하는 제 2-2 입출력부;를 포함하며, IP 주소가 설정되지 않은 상태에서 상기 세션 키를 생성하는 넌어드레스 네트워크 장치일 수 있다.The encryption module may include: a 2-1 input / output unit configured to transmit the encrypted data from the communication network; A second security unit connected to the 2-1 input / output unit to decrypt the encrypted data to generate decrypted data and to hold the session key; And a 2-2 input / output unit connected to the second security unit and receiving the decrypted data and transferring the decrypted data to the second terminal. The non-address generating 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
즉, 일 예로 제 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
또 통신망(30)은, 전용망 또는 공용망을 포함하고 인터넷, PSTN 등의 유선망 또는 지그비, 블루투스 등의 무선망을 포함할 수 있다.In addition, the
이하에서는, 설명의 편의상 제 1 단말기(11) 및 제 1 암호화 모듈(13)를 데이터를 암호화 하는 데이터 암호화 부(10)로, 제 2 단말기(21) 및 제 2 암호화 모듈(23)을 데이터를 복호화 하는 데이터 복호화 부(20)로 정의하지만, 상술한 바와 같이 데이터의 전송 방향에 따라 이러한 정의는 변경될 수 있음이 자명하다.Hereinafter, for convenience of description, the
제 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
도 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
도 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
이를 통해 단말기(11, 21)에서 송출되는 데이터는, 단말기(11, 21)와는 독립적으로 넌어드레스 네트워크 장치(130, 230) 사이에서 공개 키 교환을 통해 생성되는 세션키를 이용하여 암호화 또는 복호화 될 수 있고, 넌어드레스 네트워크 장치(130, 230)를 이용함으로써 가상 사설망을 사용하는 통신과 동일한 효과를 발생시킬 수도 있다.Through this, data transmitted from the
이하에서는, 도 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
여기서, 제 1 단말기(11)는 제 1 주소를 가지고, 제 2 단말기(21)는 제 2 주소를 가지며, 제 1 단말기(11) 및 제 2 단말기(21)는 각각 서로 다른 계정을 가질 수도 있다. Here, the
제 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
먼저, 제 1 단말기(11)는 제 2 단말기(21)와 TCP 연결을 수행하기 위한 호출 패킷을 생성하고, 제 1 넌어드레스 네트워크 장치(130)로 전달한다. 호출 패킷은 본격적으로 데이터를 전송하기 전, 세션 키를 생성할 수 있도록 제공 되는 패킷으로, 제 1 단말기(11)가 암호화하여 전송하고자 하는 데이터를 포함하지 않는 것이 바람직하다.First, the
제 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
제 1 보안부(133)는 특정 값 k를 생성한 이후, 기 저장된 소수 값인 y, 제 1 개인 키 및 특정 값 k를 조합하여 제 1 공개 키를 생성한다. 여기서 생성된 제 1 공개 키는 호출 패킷의 페이로드에 포함되어 제 2 넌어드레스 네트워크 장치(230)로 전달될 수 있다.After generating the specific value k, the
한편, 호출 패킷의 페이로드는, 세션 키 생성을 위한 정보를 포함하도록 제 1 보안부(133)에서 재 가공 될 수 있다. 호출 패킷의 페이로드는, 암호화 ID, 제 1 넌어드레스 네트워크 장치(130)의 시리얼 키 값 및 제 1 공개 키 중 적어도 하나를 포함한다. 이때, 암호화 ID는 해당 패킷이 재 가공 되었음을 의미하는 특정 길이의 난수 값이며, 시리얼 키 값은 넌어드레스 네트워크 장치 별로 생성되며 넌어드레스 네트워크 장치의 구별이 가능하도록 생성되는 값일 수 있다.Meanwhile, the payload of the call packet may be reprocessed by the
재 가공된 호출 패킷은 제 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 /
또, 페이로드에 암호화 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
이후, 제 2 보안부(233)는 패킷의 헤더 부분에 포함된 제 1 주소 및 제 2 주소를 이용하여 특정 값 k를 생성한다. 이때, 바람직하게 제 2 보안부(233)는 포트 값을 특정 값 k를 생성하기 위해 더 사용할 수도 있으며, 생성된 특정 값 k는 제 1 보안부(133)에서 생성된 특정 값 k와 동일한 값일 수 있다. 이는, 제 1 및 제 2 보안부(133, 233)에서 각각 특정 값 k를 생성하기 위해 사용한 제 1 주소, 제 2 주소 및 포트 값이 동일하기 때문이다.Thereafter, the
한편, 제 2 보안부(233)는 페이로드에 포함된 제 1 공개 키, 장치 내부에 저장된 소수 값 y 및 제 2 개인 키를 조합하여 세션 키를 생성할 수 있으며, 세션 키를 생성한 후 재 가공된 호출 패킷의 페이로드 부분을 삭제하여 제 1 단말기(11)에서 생성한 호출 패킷으로 변형시킨 후 제 2-2 입출력부(235)를 이용하여 제 2 단말기(21)로 해당 패킷을 전달한다.Meanwhile, the
다음으로, 제 2 단말기(21)는, 호출 패킷을 전달 받은 후 호출 패킷에 대한 응답인 응답 패킷을 생성하며, 응답 패킷은 제 2-2 입출력부(235)를 통해 다시 제 2 보안부(233)로 전달된다. 이때, 제 2 보안부(233)는 기 저장된 소수 값인 y, 제 2 개인 키 및 특정 값 k를 조합하여 제 2 공개 키를 생성한다. Next, after receiving the call packet, the
제 2 보안부(233)는 암호화 ID, 제 2 넌어드레스 네트워크 장치(230)의 시리얼 키 값 및 제 2 공개 키 중 적어도 하나가 응답 패킷의 페이로드에 포함되도록 응답 패킷을 재 가공할 수 있으며, 재 가공된 응답 패킷은 제 2-1 입출력부(231)를 통해 통신망으로 송신되어 제 1 넌어드레스 네트워크 장치(130)로 전달된다.The
제 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 /
또, 페이로드에 암호화 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
도 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
제 1 암호화 모듈(13)은 패킷 키를 생성하기 위해 데이터 패킷의 헤더 정보 및 추가 정보를 이용할 수 있다. 여기서, 헤더 정보는 제 1 단말기의 IP 주소인 제 1 주소(출발지 IP 주소), 제 2 단말기의 IP 주소인 제 2 주소(목적지 IP 주소) 및 패킷 ID 중 적어도 하나일 수 있고, 추가 정보는 시리얼 넘버 또는 설정 키 중 적어도 하나일 수 있다. The
이때, 시리얼 넘버는 제 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
여기서, 헤더 정보는 제 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
한편, 패킷 키를 생성하기 위한 제 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
시리얼 넘버는 넌 어드레스 네트워크 장치를 구별 할 수 있도록 생성되는 넌어드레스 네트워크 장치의 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
제 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
암호화 된 데이터 패킷은, 통신망(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
제 2 보안부(233)는 암호화 된 데이터 패킷의 헤더 정보를 이용하여 데이터의 복호화에 필요한 패킷 키를 생성할 수 있다. 제 2 보안부(233)는 암호화 된 데이터 패킷의 헤더 정보로부터 제 1 주소(출발지 IP 주소), 제 2 주소(목적지 IP 주소) 및 패킷 ID 중 적어도 하나의 정보와 추가 정보인 시리얼 넘버 또는 설정 키 중 적어도 하나의 정보를 이용하여 패킷 키를 생성한다. 이때, 제 2 보안부(133)는 바람직하게는 제 1 주소, 제 2 주소, 패킷 ID, 시리얼 넘버 및 설정 키를 모두 사용하여 패킷 키를 생성 할 수 있다.The
이때, 제 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
따라서, 제 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
한편, 본 발명의 일 실시예에 따른 데이터 암호화 및 복호화 시스템은 도 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
먼저, 사용자가 데이터 암호화 수준을 설정한다(단계 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 (16)
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 |
|---|---|
| WO2017091000A1 true WO2017091000A1 (en) | 2017-06-01 |
Family
ID=58763383
Family Applications (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2015/012715 Ceased WO2017090789A1 (en) | 2015-11-24 | 2015-11-25 | Communication security system and method using non-address network equipment |
| PCT/KR2016/013613 Ceased WO2017091002A1 (en) | 2015-11-24 | 2016-11-24 | Data encoding and decoding system and method |
| PCT/KR2016/013609 Ceased WO2017091000A1 (en) | 2015-11-24 | 2016-11-24 | Data encoding and decoding system and method |
| PCT/KR2016/013600 Ceased WO2017090996A1 (en) | 2015-11-24 | 2016-11-24 | Data encoding and decoding system and method |
Family Applications Before (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2015/012715 Ceased WO2017090789A1 (en) | 2015-11-24 | 2015-11-25 | Communication security system and method using non-address network equipment |
| PCT/KR2016/013613 Ceased WO2017091002A1 (en) | 2015-11-24 | 2016-11-24 | Data encoding and decoding system and method |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2016/013600 Ceased WO2017090996A1 (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)
| 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 |
| US7983419B2 (en) * | 2001-08-09 | 2011-07-19 | Trimble Navigation Limited | Wireless device to network server encryption |
| US8583929B2 (en) * | 2006-05-26 | 2013-11-12 | Alcatel Lucent | Encryption method for secure packet transmission |
| US20140195798A1 (en) * | 2013-01-09 | 2014-07-10 | International Business Machines Corporation | Transparent Encryption/Decryption Gateway for Cloud Storage Services |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1998032065A2 (en) * | 1997-01-03 | 1998-07-23 | Fortress Technologies, Inc. | Improved network 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 |
| US7100048B1 (en) * | 2000-01-25 | 2006-08-29 | Space Micro Inc. | Encrypted internet and intranet communication device |
| US7716725B2 (en) * | 2002-09-20 | 2010-05-11 | Fortinet, Inc. | Firewall interface configuration and processes to enable bi-directional VoIP traversal communications |
| US7711948B2 (en) * | 2003-09-30 | 2010-05-04 | Cisco Technology, Inc. | Method and apparatus of communicating security/encryption information to a physical layer transceiver |
| KR100580844B1 (en) * | 2003-12-17 | 2006-05-16 | 한국전자통신연구원 | Data Security and Operation Device and Method in Wireless LAN System |
| US8316152B2 (en) * | 2005-02-15 | 2012-11-20 | Qualcomm Incorporated | Methods and apparatus for machine-to-machine communications |
| US9326144B2 (en) * | 2013-02-21 | 2016-04-26 | Fortinet, Inc. | Restricting broadcast and multicast traffic in a wireless network to a VLAN |
-
2015
- 2015-11-25 WO PCT/KR2015/012715 patent/WO2017090789A1/en not_active Ceased
-
2016
- 2016-11-24 WO PCT/KR2016/013613 patent/WO2017091002A1/en not_active Ceased
- 2016-11-24 WO PCT/KR2016/013609 patent/WO2017091000A1/en not_active Ceased
- 2016-11-24 WO PCT/KR2016/013600 patent/WO2017090996A1/en not_active Ceased
Patent Citations (5)
| 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 |
| US7983419B2 (en) * | 2001-08-09 | 2011-07-19 | Trimble Navigation Limited | Wireless device to network server encryption |
| US8583929B2 (en) * | 2006-05-26 | 2013-11-12 | Alcatel Lucent | Encryption method for secure packet transmission |
| US20140195798A1 (en) * | 2013-01-09 | 2014-07-10 | International Business Machines Corporation | Transparent Encryption/Decryption Gateway for Cloud Storage Services |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2017091002A1 (en) | 2017-06-01 |
| WO2017090996A1 (en) | 2017-06-01 |
| WO2017090789A1 (en) | 2017-06-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2016137304A1 (en) | Trust-zone-based end-to-end security | |
| EP3646553B1 (en) | Introducing middleboxes into secure communications between a client and a server | |
| WO2016021981A1 (en) | System and method of counter management and security key update for device-to-device group communication | |
| WO2021054693A1 (en) | Quantum key distribution method, device, and system | |
| WO2012093900A2 (en) | Method and device for authenticating personal network entity | |
| WO2014069778A1 (en) | Id-based encryption and decryption method, and apparatus for executing same | |
| JP2005525047A (en) | Secure wireless local area network or wireless metropolitan area network and related methods | |
| TW200307423A (en) | Password device and method, password system | |
| US7039190B1 (en) | Wireless LAN WEP initialization vector partitioning scheme | |
| WO2008007432A1 (en) | Relay device | |
| WO2018139910A1 (en) | Method for providing end-to-end security over signaling plane in mission critical data communication system | |
| CN105656655A (en) | Method, device and system for network security management | |
| WO2020067734A1 (en) | Non-address network equipment and communication security system using same | |
| CN115801316A (en) | Data transmission method and device, equipment and storage medium | |
| WO2018004114A2 (en) | Proxy authentication system and authentication method for providing proxy service | |
| WO2016111407A1 (en) | Network communication method having function of recovering terminal session | |
| CN109347836B (en) | IPv6 network node identity safety protection method | |
| CN113225298A (en) | Message verification method and device | |
| CN110832806B (en) | ID-Based Data Plane Security for Identity-Oriented Networks | |
| WO2023008940A1 (en) | Method and system for securely handling re-connection of client devices to a wireless network | |
| WO2012165901A2 (en) | Method for inter-terminal security channelization | |
| WO2017091000A1 (en) | Data encoding and decoding system and method | |
| WO2019045424A1 (en) | Security socket layer decryption method for security | |
| WO2021025185A1 (en) | Apparatus and method for encoding whitebox cryptography by using anti-inversion function | |
| WO2019103360A1 (en) | Data management method and system based on proxy re-encryption in iot lightweight terminal environment |
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: 16868896 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 1205A DATED 11/10/2018) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 16868896 Country of ref document: EP Kind code of ref document: A1 |