KR101837064B1 - Apparatus and method for secure communication - Google Patents

Apparatus and method for secure communication Download PDF

Info

Publication number
KR101837064B1
KR101837064B1 KR1020160061988A KR20160061988A KR101837064B1 KR 101837064 B1 KR101837064 B1 KR 101837064B1 KR 1020160061988 A KR1020160061988 A KR 1020160061988A KR 20160061988 A KR20160061988 A KR 20160061988A KR 101837064 B1 KR101837064 B1 KR 101837064B1
Authority
KR
South Korea
Prior art keywords
packet
secure
remote
communication
communication device
Prior art date
Application number
KR1020160061988A
Other languages
Korean (ko)
Other versions
KR20170130961A (en
Inventor
이건희
김성호
김윤삼
김인중
강정민
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020160061988A priority Critical patent/KR101837064B1/en
Publication of KR20170130961A publication Critical patent/KR20170130961A/en
Application granted granted Critical
Publication of KR101837064B1 publication Critical patent/KR101837064B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer

Abstract

보안 통신 장치 및 방법이 개시된다. 본 발명에 따른 보안 통신 장치는, 보안 통신 장치에 설치된 로컬 응용 프로그램이 전송하는 제1 통신 패킷이 루프백 어댑터로 전송되도록, 라우팅 테이블을 수정하는 라우팅 테이블 수정부, 상기 루프백 어댑터가 수신한 상기 제1 통신 패킷을 암호화 및 캡슐화하여 제1 보안 패킷을 생성하는 보안 패킷 생성부, 그리고 생성된 상기 제1 보안 패킷을 상기 로컬 응용 프로그램에 상응하는 원격 응용 프로그램이 설치된 원격 보안 통신 장치로 전송하는 패킷 송수신부를 포함한다. A secure communication apparatus and method are disclosed. The security communication apparatus according to the present invention includes a routing table correcting unit for correcting a routing table so that a first communication packet transmitted by a local application installed in a secure communication device is transmitted to a loopback adapter, A security packet generating unit for generating a first security packet by encrypting and encapsulating a communication packet, and a packet transmission / reception unit for transmitting the generated security packet to a remote secure communication device installed with a remote application corresponding to the local application program .

Description

보안 통신 장치 및 방법{APPARATUS AND METHOD FOR SECURE COMMUNICATION}[0001] APPARATUS AND METHOD FOR SECURE COMMUNICATION [0002]

본 발명은 보안 통신 기술에 관한 것으로, 특히 응용 프로그램의 수정 없이 상호 인증 및 데이터 보호를 위한 안전한 통신 채널을 제공하는 기술에 관한 것이다. The present invention relates to a secure communication technology, and more particularly, to a technique for providing a secure communication channel for mutual authentication and data protection without modification of an application program.

응용 프로그램이 상호 인증 및 데이터 보호 등의 보안 기능을 지원하지 않는 경우, 주로 응용 프로그램간 통신을 안전하게 보호하기 위하여 가상사설망(VPN)을 사용한다. If an application does not support security features such as mutual authentication and data protection, it uses a virtual private network (VPN) to secure communication between applications.

여기서, 가상사설망은 인터넷 망을 전용선처럼 사용할 수 있도록 특수 통신체계와 암호화 기법을 제공하는 서비스로, 기업 본사와 지사 또는 지사 간에 전용망을 설치한 것과 같은 효과를 거둘 수 있으며, 기존 사설망의 고비용 부담을 해소하기 위해 사용된다. Here, the virtual private network is a service that provides a special communication system and encryption technique so that the Internet network can be used as a private line, and it has the same effect as installing a private network between a corporate head office and a branch office or a branch office. Used to resolve.

종래의 가상사설망을 이용하기 위해서는 공중망 네트워크 상에서 가상사설망의 시작점과 끝점에 VPN 장비가 설치되어야 하며, 사용자는 VPN 장비가 설치된 장소에서만 안전한 통신을 할 수 있다. 이로 인하여 흩어져 설치된 여러 대의 기기와 안전한 통신 수행하기 위해서는 여러 대의 VPN 장비를 설치해야 한다. 따라서, VPN 장비 설치 시 비용적 측면 및 공간적 측면에서 많은 어려움이 있다. In order to use the conventional virtual private network, a VPN device must be installed at the start and end points of a virtual private network on a public network, and users can communicate securely only in a place where a VPN device is installed. For this reason, it is necessary to install several VPN devices in order to perform secure communication with a plurality of devices scattered and installed. Therefore, there are many difficulties in terms of cost and space when installing a VPN device.

이러한 문제를 해결하기 위해서 대한민국 공개 특허 10-2010-0033698(가상사설망 서비스방법 및 그 시스템)는 사용자 단말이 가상사설망으로 접속하고자 하는 경우, 사용자 단말에 가상사설망 소프트웨어를 설치하여, 소프트웨어와 VPN 장비 간의 안전한 통신 채널을 응용 프로그램이 이용할 수 있도록 하는 방법을 제공한다. 이를 통하여 상기 종래 기술은 VPN 장비의 설치 장소 및 설치 비용의 문제를 해결한다. In order to solve such a problem, Korean Patent Laid-Open No. 10-2010-0033698 (Virtual Private Network Service method and system thereof) discloses a method of installing virtual private network software in a user terminal when a user terminal wants to connect to a virtual private network, Provides a way to make secure communication channels available to applications. The conventional technique solves the problem of installation place and installation cost of the VPN equipment.

그러나, 상기 종래 기술은 특정 사이트에 접속하는 사용자를 대상으로 가상사설망 서비스를 제공하는 것으로 그 기능이 한정된다. 즉, 단말과 단말 사이의 안전한 통신을 하기 위해서는 상기 종래 기술을 적용할 수 없는 문제가 발생한다. However, the above-described prior art provides a virtual private network service for users accessing a specific site, and its functions are limited. That is, in order to perform secure communication between the terminal and the terminal, the conventional technique can not be applied.

따라서, 단말과 단말 사이에 안전한 통신 채널을 형성하여, 응용 프로그램의 수정 없이 안전한 통신을 제공할 수 있도록 하는 기술의 개발이 필요하다. Therefore, it is necessary to develop a technique for forming a secure communication channel between the terminal and the terminal so as to provide secure communication without modifying the application program.

한국 공개 특허 제10-2010-0033698호, 2010년 03월 31일 공개(명칭: 가상사설망 서비스방법 및 그 시스템)Korean Patent Publication No. 10-2010-0033698, published on March 31, 2010 (name: virtual private network service method and system thereof)

본 발명의 목적은 응용 프로그램을 수정하지 않아도 별도의 보안 통신 장치를 이용하여, 응용 프로그램 간 안전한 통신을 수행할 수 있도록 하는 보안 채널을 제공하는 것이다. An object of the present invention is to provide a secure channel that enables secure communication between application programs using a separate secure communication device without modifying the application program.

또한, 본 발명의 목적은 안전한 통신 채널인 보안 채널을 이용하여 응용 프로그램이 송신하는 패킷을 상대 보안 통신 장치로 전송할 수 있도록 하는 것이다. It is also an object of the present invention to enable a packet transmitted by an application program to be transmitted to a counterpart secure communication device using a secure channel, which is a secure communication channel.

또한, 본 발명의 목적은 단말과 정해진 사이트 간의 통신에서만 보안 채널을 제공하는 것이 아니라, 보안 통신 장치가 설치된 단말 또는 사이트간 일대일, 일대다, 다대다 연결을 지원하여 안전한 통신을 수행할 수 있도록 하는 것이다. It is also an object of the present invention to provide a security communication system capable of performing secure communication by supporting a one-to-one, one-to-many, and many-to-many connection between a terminal or a site in which a secure communication device is installed, will be.

상기한 목적을 달성하기 위한 본 발명에 따른 보안 통신 장치는 보안 통신 장치에 설치된 로컬 응용 프로그램이 전송하는 제1 통신 패킷이 루프백 어댑터로 전송되도록, 라우팅 테이블을 수정하는 라우팅 테이블 수정부, 상기 루프백 어댑터가 수신한 상기 제1 통신 패킷을 암호화 및 캡슐화하여 제1 보안 패킷을 생성하는 보안 패킷 생성부, 그리고 생성된 상기 제1 보안 패킷을 상기 로컬 응용 프로그램에 상응하는 원격 응용 프로그램이 설치된 원격 보안 통신 장치로 전송하는 패킷 송수신부를 포함한다. According to an aspect of the present invention, there is provided a secure communication apparatus including a routing table modifying unit configured to modify a routing table so that a first communication packet transmitted by a local application program installed in a secure communication apparatus is transmitted to a loopback adapter, A security packet generator for generating a first security packet by encrypting and encapsulating the first communication packet received by the remote security communication device and transmitting the generated first security packet to a remote security communication device And a packet transmission / reception unit.

이때, 상기 원격 보안 통신 장치와 상호 인증 과정을 수행하고, 상기 상호 인증 성공 시, 상기 원격 보안 통신 장치와 통신을 수행하기 위한 보안 채널을 형성하는 보안 채널 형성부를 더 포함할 수 있다. The secure communication apparatus may further include a secure channel forming unit for performing a mutual authentication process with the remote secure communication apparatus and forming a secure channel for performing communication with the remote secure communication apparatus upon successful mutual authentication.

이때, 상기 패킷 송수신부는, 상기 보안 채널을 통하여 상기 원격 보안 통신 장치로 상기 제1 보안 패킷을 전송할 수 있다. At this time, the packet transmitting / receiving unit may transmit the first security packet to the remote secure communication apparatus through the secure channel.

이때, 상기 보안 채널 형성부는, TLS 갱신 프로토콜 및 TLS 재협상 프로토콜 중 적어도 어느 하나를 기반으로, 상기 보안 채널을 주기적으로 갱신할 수 있다. At this time, the secure channel forming unit may periodically update the secure channel based on at least one of a TLS update protocol and a TLS renegotiation protocol.

이때, 상기 보안 패킷 생성부는, 상기 루프백 어댑터가 수신한 상기 제1 통신 패킷이, 보안 통신의 대상이 되는 응용 프로그램에 상응하는 패킷인지 여부를 판단하고, 상기 보안 통신이 대상이 되는 응용 프로그램에 상응하는 패킷인 경우 상기 제1 보안 패킷을 생성할 수 있다. Here, the secure packet generation unit may determine whether the first communication packet received by the loopback adapter is a packet corresponding to an application program to be securely communicated, The first secure packet can be generated.

이때, 상기 라우팅 테이블 수정부는, 상기 원격 보안 통신 장치의 IP 주소로 향하는 상기 제1 통신 패킷이, 상기 루프백 어댑터로 전송되도록 상기 라우팅 테이블을 수정할 수 있다. At this time, the routing table modification unit may modify the routing table so that the first communication packet directed to the IP address of the remote secure communication device is transmitted to the loopback adapter.

이때, 상기 보안 패킷 생성부는, 암호화된 상기 제1 통신 패킷을 페이로드로 사용하고, 새로운 헤더를 생성하며, 상기 페이로드 및 상기 헤더를 이용하여 제1 메시지 인증 코드를 생성하고, 상기 헤더, 상기 페이로드 및 상기 제1 메시지 인증 코드를 캡슐화하여 상기 제1 보안 패킷을 생성할 수 있다. At this time, the secure packet generation unit uses the encrypted first communication packet as a payload, generates a new header, generates a first message authentication code using the payload and the header, Payload and the first message authentication code to generate the first secure packet.

이때, 상기 패킷 송수신부가, 상기 원격 보안 통신 장치로부터 암호화 및 캡슐화된 제2 보안 패킷을 수신하면, 상기 제2 보안 패킷을 캡슐 해제하고, 복호화하여 제2 통신 패킷을 획득하며, 상기 제2 통신 패킷에 상응하는 응용 프로그램으로 상기 제2 통신 패킷을 전송하는 보안 패킷 복원부를 더 포함할 수 있다. At this time, when the packet transmission / reception unit receives the second security packet encrypted and encapsulated from the remote secure communication device, the packet transmission / reception unit decapsulates and decrypts the second security packet to acquire the second communication packet, And transmitting the second communication packet to an application program corresponding to the second communication packet.

이때, 상기 보안 패킷 복원부는, 캡슐 해제된 상기 제2 보안 패킷의 헤더를 분리하고, 상기 제2 보안 패킷에 상응하는 페이로드를 복호화하여 상기 제2 통신 패킷을 획득할 수 있다. At this time, the secure packet restoring unit can separate the header of the decapsulated second security packet and obtain the second communication packet by decoding the payload corresponding to the second secure packet.

이때, 상기 보안 패킷 복원부는, 상기 제2 보안 패킷을 캡슐 해제하여 획득한 상기 제2 보안 패킷에 상응하는 제2 메시지 인증 코드를 이용하여 메시지 인증 코드 검증을 수행하고, 상기 메시지 인증 코드 검증에 성공한 경우, 상기 제2 보안 패킷을 복호화하여 상기 제2 통신 패킷을 획득할 수 있다. At this time, the secure packet restoring unit performs a message authentication code verification using a second message authentication code corresponding to the second security packet obtained by decapsulating the second security packet, , The second secure packet may be decrypted to obtain the second communication packet.

또한, 본 발명의 일실시예에 따른 보안 통신 장치에 의해 수행되는 보안 통신 방법은 상기 보안 통신 장치에 설치된 로컬 응용 프로그램이 전송하는 제1 통신 패킷이 루프백 어댑터로 전송되도록, 라우팅 테이블을 수정하는 단계, 상기 루프백 어댑터가 수신한 상기 제1 통신 패킷을 암호화 및 캡슐화하여 제1 보안 패킷을 생성하는 단계, 그리고 생성된 상기 제1 보안 패킷을 상기 로컬 응용 프로그램에 상응하는 원격 응용 프로그램이 설치된 원격 보안 통신 장치로 전송하는 단계를 포함한다. Also, the secure communication method performed by the secure communication device according to an embodiment of the present invention includes the steps of modifying the routing table so that the first communication packet transmitted by the local application installed in the secure communication device is transmitted to the loopback adapter Encrypting and encapsulating the first communication packet received by the loopback adapter to generate a first security packet, and transmitting the generated first security packet to a remote secure communication with a remote application corresponding to the local application To the device.

이때, 상기 원격 보안 통신 장치와 상호 인증 과정을 수행하는 단계, 그리고 상기 상호 인증 과정 수행 후, 상기 원격 보안 통신 장치와 통신을 수행하기 위한 보안 채널을 형성하는 단계를 더 포함할 수 있다. The method may further include performing a mutual authentication process with the remote secure communication device, and forming a secure channel for performing communication with the remote secure communication device after performing the mutual authentication process.

이때, 상기 제1 보안 패킷을 상기 원격 보안 통신 장치로 전송하는 단계는, 상기 보안 채널을 통하여 상기 원격 보안 통신 장치로 상기 제1 보안 패킷을 전송할 수 있다. Wherein transmitting the first secure packet to the remote secure communications device may transmit the first secure packet to the remote secure communications device via the secure channel.

이때, TLS 갱신 프로토콜 및 TLS 재협상 프로토콜 중 적어도 어느 하나를 기반으로, 상기 보안 채널을 주기적으로 갱신하는 단계를 더 포함할 수 있다. The method may further include periodically updating the secure channel based on at least one of a TLS update protocol and a TLS renegotiation protocol.

이때, 상기 제1 보안 패킷을 생성하는 단계는, 상기 루프백 어댑터가 수신한 상기 제1 통신 패킷이, 보안 통신의 대상이 되는 응용 프로그램에 상응하는 패킷인지 여부를 판단하고, 상기 보안 통신이 대상이 되는 응용 프로그램에 상응하는 패킷인 경우 상기 제1 보안 패킷을 생성할 수 있다. The step of generating the first security packet may include determining whether the first communication packet received by the loopback adapter is a packet corresponding to an application program to be subjected to secure communication, The first secure packet may be generated when the packet is a packet corresponding to an application program.

이때, 상기 라우팅 테이블을 수정하는 단계는, 상기 원격 보안 통신 장치의 IP 주소로 향하는 상기 제1 통신 패킷이, 상기 루프백 어댑터로 전송되도록 상기 라우팅 테이블을 수정할 수 있다. At this time, modifying the routing table may modify the routing table such that the first communication packet directed to the IP address of the remote secure communication device is sent to the loopback adapter.

이때, 상기 제1 보안 패킷을 생성하는 단계는, 암호화된 상기 제1 통신 패킷을 페이로드로 사용하고, 새로운 헤더를 생성하는 단계, 상기 페이로드 및 상기 헤더를 이용하여 제1 메시지 인증 코드를 생성하는 단계, 그리고 상기 헤더, 상기 페이로드 및 상기 제1 메시지 인증 코드를 캡슐화하여 상기 제1 보안 패킷을 생성하는 단계를 포함할 수 있다. The generating of the first security packet may include generating the new header using the encrypted first communication packet as a payload, generating a first message authentication code using the payload and the header, And encapsulating the header, the payload, and the first message authentication code to generate the first secure packet.

이때, 상기 원격 보안 통신 장치로부터 암호화 및 캡슐화된 제2 보안 패킷을 수신하는 단계, 상기 제2 보안 패킷을 캡슐 해제하고, 복호화하여 제2 통신 패킷을 획득하는 단계, 그리고 상기 제2 통신 패킷에 상응하는 응용 프로그램으로, 상기 제2 통신 패킷을 전송하는 단계를 더 포함할 수 있다. Receiving a second secure packet encrypted and encapsulated from the remote secure communications device; decapsulating and decrypting the second secure packet to obtain a second communications packet; And transmitting the second communication packet to the application program.

이때, 상기 제2 통신 패킷을 획득하는 단계는, 캡슐 해제된 상기 제2 보안 패킷의 헤더를 분리하고, 상기 제2 보안 패킷에 상응하는 페이로드를 복호화하여 상기 제2 통신 패킷을 획득할 수 있다. At this time, the step of acquiring the second communication packet can separate the header of the decapsulated second security packet and decrypt the payload corresponding to the second security packet to acquire the second communication packet .

이때, 상기 제2 보안 패킷을 캡슐 해제하여 획득한 상기 제2 보안 패킷에 상응하는 제2 메시지 인증 코드를 이용하여 메시지 인증 코드 검증을 수행하는 단계를 더 포함하고, 상기 메시지 인증 코드 검증에 성공한 경우, 상기 제2 보안 패킷을 복호화하여 상기 제2 통신 패킷을 획득하는 단계를 수행할 수 있다. The method may further include performing message authentication code verification using a second message authentication code corresponding to the second security packet obtained by decapsulating the second security packet. When the message authentication code verification is successful And decrypting the second secure packet to obtain the second communication packet.

본 발명에 따르면, 응용 프로그램을 수정하지 않아도 별도의 보안 통신 장치를 이용하여, 응용 프로그램 간 안전한 통신을 수행할 수 있도록 하는 보안 채널을 제공할 수 있다. According to the present invention, it is possible to provide a secure channel for performing secure communication between application programs by using a separate secure communication device without modifying the application program.

또한 본 발명에 따르면, 안전한 통신 채널인 보안 채널을 이용하여 응용 프로그램이 송신하는 패킷을 상대 보안 통신 장치로 전송할 수 있다. Also, according to the present invention, a packet transmitted by an application program can be transmitted to a counterpart secure communication device using a secure channel, which is a secure communication channel.

또한 본 발명에 따르면, 단말과 정해진 사이트 간의 통신에서만 보안 채널을 제공하는 것이 아니라, 보안 통신 장치가 설치된 단말 또는 사이트간 일대일, 일대다, 다대다 연결을 지원하여 안전한 통신을 수행하도록 할 수 있다. Also, according to the present invention, not only a secure channel is provided only in a communication between a terminal and a predetermined site, but a one-to-one, one-to-many, and many-to-many connection between a terminal or a site in which a secure communication device is installed can be supported to perform secure communication.

도 1은 본 발명의 일실시예에 따른 보안 통신 장치가 적용되는 환경을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 보안 통신 장치의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일실시예에 따른 보안 통신 장치의 보안 채널 형성 과정을 설명하기 위한 순서도이다.
도 4는 본 발명의 일실시예에 따른 단말의 각 구성에 상응하는 IP 주소를 나타낸 예시도이다.
도 5는 본 발명의 일실시예에 따른 보안 통신 장치의 보안 패킷 생성 및 전송 과정을 설명하기 위한 순서도이다.
도 6은 본 발명의 일실시예에 따른 단말에서 처리되는 패킷을 설명하기 위한 예시도이다.
도 7은 본 발명의 일실시예 따른 보안 통신 장치의 보안 패킷 수신 과정을 설명하기 위한 순서도이다.
도 8은 본 발명의 일실시예에 따른 보안 통신 장치의 연결 구조를 설명하기 위한 도면이다.
도 9는 본 발명의 일실시예에 따른 보안 통신 장치간 통신이 수행되는 과정을 설명하기 위한 도면이다.
도 10은 본 발명의 일실시예에 따른 보안 통신 장치의 구성을 나타낸 구성도이다.
도 11은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
1 is a diagram schematically illustrating an environment to which a secure communication apparatus according to an embodiment of the present invention is applied.
2 is a block diagram illustrating a configuration of a secure communication apparatus according to an embodiment of the present invention.
3 is a flowchart illustrating a process of forming a secure channel in a secure communication apparatus according to an exemplary embodiment of the present invention.
4 is an exemplary view showing IP addresses corresponding to respective configurations of a terminal according to an embodiment of the present invention.
5 is a flowchart illustrating a security packet generation and transmission process of a secure communication apparatus according to an exemplary embodiment of the present invention.
FIG. 6 is an exemplary diagram for explaining packets to be processed in a terminal according to an embodiment of the present invention. FIG.
FIG. 7 is a flowchart illustrating a security packet reception procedure of a secure communication apparatus according to an embodiment of the present invention.
8 is a view for explaining a connection structure of a secure communication apparatus according to an embodiment of the present invention.
9 is a diagram for explaining a process of performing communication between secure communication devices according to an embodiment of the present invention.
FIG. 10 is a configuration diagram illustrating a configuration of a secure communication apparatus according to an embodiment of the present invention.
11 is a block diagram illustrating a computer system in accordance with an embodiment of the present invention.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will now be described in detail with reference to the accompanying drawings. Hereinafter, a repeated description, a known function that may obscure the gist of the present invention, and a detailed description of the configuration will be omitted. Embodiments of the present invention are provided to more fully describe the present invention to those skilled in the art. Accordingly, the shapes and sizes of the elements in the drawings and the like can be exaggerated for clarity.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 보안 통신 장치가 적용되는 환경을 개략적으로 나타낸 도면이다. 1 is a diagram schematically illustrating an environment to which a secure communication apparatus according to an embodiment of the present invention is applied.

도 1에 도시한 바와 같이, 로컬 단말(10)에는 로컬 보안 통신 장치(20)가 설치되어 있고, 원격 단말(30)에는 원격 보안 통신 장치(40)가 설치되어 있다. 그리고 로컬 단말(10) 및 원격 단말(30)에는 각각 로컬 응용 프로그램(15) 및 원격 응용 프로그램(35)이 설치되어 있다. 1, a local security communication device 20 is installed in a local terminal 10, and a remote security communication device 40 is installed in a remote terminal 30. A local application program 15 and a remote application program 35 are installed in the local terminal 10 and the remote terminal 30, respectively.

여기서, 로컬 응용 프로그램(15)과 원격 응용 프로그램(35)은 보안 기능이 구비되지 않은 응용 프로그램일 수 있다. 그리고 로컬 단말(10) 및 원격 단말(30)에는 하나 이상의 응용 프로그램(15, 35)이 설치되어 있을 수 있다. Here, the local application program 15 and the remote application program 35 may be application programs without security functions. The local terminal 10 and the remote terminal 30 may have one or more application programs 15 and 35 installed therein.

그리고 로컬 단말(10)은 패킷을 전송하는 로컬 응용 프로그램(15)이 설치된 단말을 의미하고, 원격 단말(30)은 로컬 응용 프로그램(15)으로부터 패킷을 수신하는 단말을 의미한다. The local terminal 10 means a terminal equipped with a local application program 15 for transmitting a packet and the remote terminal 30 means a terminal receiving a packet from the local application program 15.

설명의 편의상 로컬 단말(10)과 원격 단말(30)로 구분하여 설명하였으나, 로컬 단말(10)과 원격 단말(30)은 실질적으로 동일하게 구현될 수 있으며, 원격 단말(30)도 로컬 단말(10)로 패킷을 전송할 수 있고, 로컬 단말(10)도 원격 단말(30)로부터 패킷을 수신할 수 있다. The local terminal 10 and the remote terminal 30 can be implemented in substantially the same manner and the remote terminal 30 can be implemented in the same manner as the local terminal 10 and the remote terminal 30. [ 10, and the local terminal 10 can also receive the packet from the remote terminal 30.

또한, 로컬 보안 통신 장치(20) 및 원격 보안 통신 장치(40)가 각각 로컬 단말(10) 및 원격 단말(30)에 설치되는 것으로 설명하였으나 이에 한정하지 않고, 로컬 보안 통신 장치(200 및 원격 보안 통신 장치(40)는 각가 로컬 서버 및 원격 서버에 설치될 수도 있다. Although the local secure communication device 20 and the remote secure communication device 40 have been described as being installed in the local terminal 10 and the remote terminal 30 respectively, The communication device 40 may be installed in a local server and a remote server, respectively.

이하에서는 도 2를 통하여 본 발명의 일실시예에 따른 보안 통신 장치의 구성에 대하여 더욱 자세하게 설명한다. Hereinafter, a configuration of a secure communication apparatus according to an embodiment of the present invention will be described in detail with reference to FIG.

도 2는 본 발명의 일실시예에 따른 보안 통신 장치의 구성을 나타낸 블록도이다. 2 is a block diagram illustrating a configuration of a secure communication apparatus according to an embodiment of the present invention.

도 2에 도시한 바와 같이, 보안 통신 장치(200)는 라우팅 테이블 수정부(210), 보안 채널 형성부(220), 보안 패킷 생성부(230), 패킷 송수신부(240) 및 보안 패킷 복원부(250)를 포함한다. 2, the secure communication apparatus 200 includes a routing table modification unit 210, a secure channel formation unit 220, a secure packet generation unit 230, a packet transmission / reception unit 240, (250).

먼저, 라우팅 테이블 수정부(210)는 보안 통신 장치(200)에 설치된 응용 프로그램이 전송하는 제1 통신 패킷이 루프백 어댑터로 전송되도록 라우팅 테이블을 수정한다. 이때, 라우팅 테이블 수정부(210)는 원격 보안 통신 장치의 IP 주소로 향하는 제1 통신 패킷이, 루프백 어댑터로 전송되도록 라우팅 테이블을 수정할 수 있다. First, the routing table modifier 210 modifies the routing table so that the first communication packet transmitted by the application program installed in the secure communication device 200 is transmitted to the loopback adapter. At this time, the routing table modifier 210 may modify the routing table so that the first communication packet destined for the IP address of the remote secure communication device is forwarded to the loopback adapter.

다음으로 보안 채널 형성부(220)는 원격 보안 통신 장치와의 상호 인증 과정을 수행한다. 그리고 보안 채널 형성부(220)는 상호 인증 성공 시, 원격 보안 통신 장치와 통신을 수행하기 위한 보안 채널을 형성한다. Next, the secure channel forming unit 220 performs a mutual authentication process with the remote secure communication device. When the mutual authentication is successful, the secure channel forming unit 220 forms a secure channel for performing communication with the remote secure communication device.

여기서, 보안 채널 형성부(220)는 상호 인증 과정으로 전송 계층 보안(Transport Layer Security) 프로토콜 또는 그와 유사한 다양한 상호인증 프로토콜을 사용할 수 있다. 또한, 보안 채널 형성부(220)는 보안 채널을 TLS 갱신 프로토콜 및 TLS 재협상 프로토콜 중 적어도 어느 하나를 기반으로 주기적으로 갱신할 수 있다. Here, the secure channel forming unit 220 may use a transport layer security protocol or various mutual authentication protocols similar thereto in the mutual authentication process. In addition, the secure channel forming unit 220 may periodically update the secure channel based on at least one of the TLS update protocol and the TLS renegotiation protocol.

그리고 보안 패킷 생성부(230)는 루프백 어댑터가 수신한 제1 통신 패킷을 암호화 및 캡슐화하여 제1 보안 패킷을 생성한다. The security packet generator 230 encrypts and encapsulates the first communication packet received by the loopback adapter to generate a first security packet.

이때, 보안 패킷 생성부(230)는 루프백 어댑터가 수신한 제1 통신 패킷이 보안 통신의 대상이 되는 응용 프로그램에 상응하는 패킷인지 여부를 판단하고, 제1 통신 패킷이 보안 통신의 대상이 되는 응용 프로그램에 상응하는 패킷인 것으로 판단된 경우 제1 보안 패킷을 생성할 수 있다. At this time, the secure packet generation unit 230 determines whether the first communication packet received by the loopback adapter is a packet corresponding to an application program to be a target of secure communication, and when the first communication packet is an application If it is determined that the packet corresponds to the program, the first security packet can be generated.

또한 보안 패킷 생성부(230)는 암호화된 제1 통신 패킷을 페이로드로 사용하고, 새로운 헤더를 생성하며, 페이로드 및 새로 생성된 헤더를 이용하여 제1 메시지 인증 코드를 생성한다. 그리고 보안 패킷 생성부(230)는 헤더, 페이로드 및 제1 메시지 인증 코드를 캡슐화하여 제1 보안 패킷을 생성할 수 있다. In addition, the secure packet generation unit 230 uses the encrypted first communication packet as a payload, generates a new header, and generates a first message authentication code using a payload and a newly generated header. The secure packet generation unit 230 may generate a first secure packet by encapsulating the header, the payload, and the first message authentication code.

다음으로 패킷 송수신부(240)는 생성된 제1 보안 패킷을 로컬 응용 프로그램에 상응하는 원격 응용 프로그램이 설치된 원격 보안 통신 장치로 전송한다. 이때, 패킷 송수신부(240)는 보안 채널을 이용하여 제1 보안 패킷을 원격 보안 통신 장치로 전송할 수 있다. Next, the packet transmission / reception unit 240 transmits the generated first security packet to the remote secure communication device installed with the remote application corresponding to the local application program. At this time, the packet transmission / reception unit 240 may transmit the first secure packet to the remote secure communication apparatus using the secure channel.

또한, 패킷 송수신부(240)는 원격 보안 통신 장치로부터 암호화 및 캡슐화된 제2 보안 패킷을 수신한다. In addition, the packet transmission / reception unit 240 receives the second security packet encrypted and encapsulated from the remote secure communication device.

마지막으로, 보안 패킷 복원부(250)는 수신된 제2 보안 패킷을 캡슐 해제하고, 복호화하여 통신 패킷을 획득한다. 그리고 통신 패킷에 상응하는 응용 프로그램으로 통신 패킷을 전송한다. Finally, the secure packet restoring unit 250 decapsulates and decrypts the received second secure packet to obtain a communication packet. And transmits the communication packet to the application program corresponding to the communication packet.

이때, 보안 패킷 복원부(250)는 캡슐 해제된 제2 보안 패킷의 헤더를 분리하고, 제2 보안 패킷에 상응하는 페이로드를 복호화하여 통신 패킷을 획득할 수 있다. At this time, the secure packet restoring unit 250 can separate the header of the decapsulated second security packet and decrypt the payload corresponding to the second secure packet to acquire the communication packet.

또한 보안 패킷 복원부(250)는 제2 보안 패킷을 캡슐 해제하여 획득한 제2 보안 패킷에 상응하는 제2 메시지 인증 코드를 이용하여 메시지 인증 코드 검증을 수행할 수 있다. 그리고 보안 패킷 복원부(250)는 메시지 인증 코드 검증에 성공한 경우, 제2 보안 패킷을 복호화하여 통신 패킷을 획득할 수 있다. In addition, the secure packet restoring unit 250 may perform message authentication code verification using a second message authentication code corresponding to the second secure packet obtained by decapsulating the second secure packet. If the verification of the message authentication code is successful, the secure packet restoring unit 250 can decrypt the second secure packet to obtain the communication packet.

이하에서는 도 3 내지 도 7을 통하여 본 발명의 일실시예에 따른 보안 통신 장치에 의해 수행되는 보안 통신 방법에 대하여 더욱 상세하게 설명한다. Hereinafter, a secure communication method performed by the secure communication apparatus according to an embodiment of the present invention will be described in detail with reference to FIG. 3 through FIG.

설명의 편의상, 보안 통신 장치(200)가 보안 채널을 형성하는 과정, 보안 패킷을 생성하여 전송하는 과정, 보안 패킷을 수신하는 과정의 세 과정을 수행하는 것으로 나누어 설명하였다. For convenience of explanation, the secure communication apparatus 200 is divided into three processes: a process of forming a secure channel, a process of generating and transmitting a secure packet, and a process of receiving a secure packet.

도 3은 본 발명의 일실시예에 따른 보안 통신 장치의 보안 채널 형성 과정을 설명하기 위한 순서도이다. 3 is a flowchart illustrating a process of forming a secure channel in a secure communication apparatus according to an exemplary embodiment of the present invention.

먼저, 보안 통신 장치(200)는 루프백 어댑터를 활성화한다(S310). First, the secure communication device 200 activates the loopback adapter (S310).

보안 통신 장치(200)는 루프백(loopback) 어댑터를 사용하기 위하여, 루프백 어댑터를 활성화하고, 루프백 어댑터에 IP 주소를 할당한다. The secure communication device 200 activates the loopback adapter and assigns an IP address to the loopback adapter to use a loopback adapter.

그리고 보안 통신 장치(200)는 라우팅 테이블을 수정한다(S320).Then, the secure communication device 200 modifies the routing table (S320).

보안 통신 장치(200)는 특정 목적지로 향하는 패킷을 루프백 어댑터로 향하도록 하기 위하여, 네트워크 라우팅 정보를 수정한다. 여기서 특정 목적지는 원격 보안 통신 장치 및 원격 보안 통신 장치에 설치된 원격 응용 프로그램 중 적어도 어느 하나를 의미할 수 있다. The secure communication device 200 modifies the network routing information to direct the packet destined for a particular destination to the loopback adapter. Wherein the particular destination may refer to at least one of a remote secure communication device and a remote application installed in the remote secure communication device.

이때, 보안 통신 장치(200)는 보안 통신 장치(200)를 사용하는 로컬 응용 프로그램의 목록을 저장할 수 있으며, 로컬 응용 프로그램의 목록으로부터 로컬 응용 프로그램별 통신의 대상이 되는 원격 응용 프로그램 정보를 추출할 수 있다. At this time, the secure communication device 200 may store a list of local application programs using the secure communication device 200, and may extract remote application program information that is a target of communication for each local application program from the list of local application programs .

그리고 보안 통신 장치(200)는 추출된 원격 응용 프로그램 정보를 이용하여, 로컬 응용 프로그램에 상응하는 원격 응용 프로그램의 IP주소를 기반으로 라우팅 테이블을 수정한다. 즉, 보안 통신 장치(200)는 원격 응용 프로그램의 IP주소로 향하는 패킷이 루프백 어댑터로 향하도록 로컬 단말의 라우팅 테이블 정보를 수정한다. The secure communication device 200 then uses the extracted remote application information to modify the routing table based on the IP address of the remote application corresponding to the local application. That is, the secure communication device 200 modifies the routing table information of the local terminal so that the packet destined for the IP address of the remote application is directed to the loopback adapter.

도 4는 본 발명의 일실시예에 따른 단말의 각 구성에 상응하는 IP 주소를 나타낸 예시도이다. 4 is an exemplary view showing IP addresses corresponding to respective configurations of a terminal according to an embodiment of the present invention.

도 4에 도시한 바와 같이, 로컬 단말(400)에는 로컬 응용 프로그램(410)이 설치되어 있고, 로컬 단말(400)은 로컬 보안 통신 장치(420)를 구비하며, 네트워크 인터페이스(430) 및 루프백 인터페이스(440)를 포함한다. 그리고 로컬 응용 프로그램(410)은 네트워크 인터페이스(430)를 사용하고, 로컬 보안 통신 장치(420)는 네트워크 인터페이스(430) 및 루프백 인터페이스(440)를 사용할 수 있다. 4, a local application program 410 is installed in the local terminal 400, a local secure communication device 420 is provided in the local terminal 400, and a network interface 430 and a loopback interface (440). The local application 410 may use the network interface 430 and the local secure communication device 420 may use the network interface 430 and the loopback interface 440.

마찬가지로 원격 단말(500)에는 원격 응용 프로그램이 설치되어 있으며, 원격 단말(500)은 원격 보안 통신 장치(520)를 구비하고, 네트워크 인터페이스(530) 및 루프백 인터페이스(540)를 포함한다. 또한, 원격 응용 프로그램(510)은 네트워크 인터페이스(530)를 사용하고, 원격 보안 통신 장치(520)는 네트워크 인터페이스(530) 및 루프백 인터페이스(540)를 사용할 수 있다. Likewise, a remote application 500 is installed in the remote terminal 500 and the remote terminal 500 has a remote secure communication device 520 and includes a network interface 530 and a loopback interface 540. Remote application 510 may use network interface 530 and remote secure communication device 520 may use network interface 530 and loopback interface 540. [

이때, 로컬 단말(400)의 네트워크 인터페이스(430) 및 루프백 인터페이스(440)와 원격 단말(500)의 네트워크 인터페이스(530) 및 루프백 인터페이스(540)는 서로 상이한 IP주소를 가진다. The network interface 430 and the loopback interface 440 of the local terminal 400 and the network interface 530 and the loopback interface 540 of the remote terminal 500 have different IP addresses from each other.

예를 들어, 도 4에 도시한 바와 같이 로컬 단말(400)의 네트워크 인터페이스(430)의 IP주소는 35.25.10.10이고, 루프백 인터페이스(440)의 IP주소는 172.40.0.10일 수 있다. 그리고 원격 단말(500)의 네트워크 인터페이스(530)의 IP주소는 10.100.1.10이고, 루프백 인터페이스(540)의 IP주소는 172.50.0.10일 수 있다. For example, as shown in FIG. 4, the IP address of the network interface 430 of the local terminal 400 may be 35.25.10.10, and the IP address of the loopback interface 440 may be 172.40.0.10. The IP address of the network interface 530 of the remote terminal 500 may be 10.100.1.10 and the IP address of the loopback interface 540 may be 172.50.0.10.

이때, 로컬 응용 프로그램(410)에 상응하는 패킷이 10.100.1.10을 향하는 경우, 로컬 단말(400)에 설치된 로컬 보안 통신 장치(420)는 10.100.1.10으로 향하는 패킷을 루프백 인터페이스(440)로 향하도록 라우팅 테이블을 수정한다. 즉, 로컬 보안 통신 장치(420)는 10.100.1.10으로 향하는 패킷이 172.40.0.10으로 향할 수 있도록 라우팅 테이블을 수정할 수 있다. At this time, when the packet corresponding to the local application program 410 is directed to 10.100.1.10, the local secure communication device 420 installed in the local terminal 400 directs the packet directed to 10.100.1.10 to the loopback interface 440 Modify the routing table. That is, the local secure communication device 420 may modify the routing table so that the packet destined for 10.100.1.10 may be directed to 172.40.0.10.

다시 도 3에 다하여 설명하면, 보안 통신 장치(200)는 호스트 방화벽 규칙을 추가한다(S330).Referring back to FIG. 3, the secure communication device 200 adds a host firewall rule (S330).

보안 통신 장치(200)는 로컬 응용 프로그램에 대한 직접 접근을 차단하기 위하여, 호스트 방화벽의 규칙을 수정한다. 보안 통신 장치(200)는 호스트 방화벽의 규칙을 수정함으로써 외부 프로그램이 임의로 보안 통신 장치를 사용하는 로컬 응용프로그램에 접근할 수 없도록 제한할 수 있다. The secure communication device 200 modifies the rules of the host firewall to block direct access to local applications. The secure communication device 200 may restrict the external program from accessing the local application using the secure communication device arbitrarily by modifying the rules of the host firewall.

보안 통신 장치(200)는 로컬 응용 프로그램의 목록을 추출하고, 추출된 로컬 응용 프로그램의 목록을 기반으로 로컬 단말의 운영체제에서 제공하는 호스트 방화벽에 새로운 규칙을 추가할 수 있다. 이때, 보안 통신 장치(200)는 로컬 응용 프로그램이 사용하는 수신용 TCP 포트에 보안 통신 장치(200)만이 접근할 수 있도록 접근을 허용하는 방화벽 규칙을 추가할 수 있다. The secure communication device 200 may extract a list of local application programs and add new rules to the host firewall provided by the operating system of the local terminal based on the extracted list of local application programs. At this time, the secure communication device 200 may add a firewall rule allowing only the secure communication device 200 to access the receiving TCP port used by the local application program.

여기서, 호스트 방화벽은 리눅스 운영체제의 경우 아이피테이블스(iptables)가 사용될 수 있고, 윈도우 운용체제인 경우 윈도우 방화벽이 사용될 수 있다. Here, the host firewall can use iptables for the Linux operating system and Windows firewall for the Windows operating system.

또한, 보안 통신 장치(200)는 보안 채널을 생성한다(S340). In addition, the secure communication device 200 creates a secure channel (S340).

보안 통신 장치(200)는 보안 통신 장치(200)와 원격 보안 통신 장치간 안전한 통신 경로인 보안 채널을 생성한다. 여기서, 원격 보안 통신 장치는 원격 응용 프로그램이 설치된 보안 통신 장치를 의미하며, 보안 통신 장치(200)는 원격 응용 프로그램의 정보를 기반으로 보안 통신 장치(200)와 원격 보안 통신 장치간 보안 채널을 생성할 수 있다. The secure communication device (200) creates a secure channel which is a secure communication path between the secure communication device (200) and the remote secure communication device. Here, the remote secure communication device refers to a secure communication device in which a remote application program is installed, and the secure communication device 200 creates a secure channel between the secure communication device 200 and the remote secure communication device based on the information of the remote application program can do.

그리고 보안 통신 장치(200)는 생성된 보안 채널을 주기적으로 갱신한다(S350). The secure communication device 200 periodically updates the generated secure channel (S350).

보안 통신 장치(200)는 보안 통신 장치(200)의 동작이 종료되는 순간까지 보안 채널을 주기적으로 갱신한다. 이때, 보안 통신 장치(200)가 상호 인증 과정으로 전송 계층 보안(TLS)을 사용하는 경우, 보안 통신 장치(200)는 매 시간 주기마다 TLS 갱신(resuming) 프로토콜을 사용하여 보안 채널을 갱신할 수 있다. The secure communication device 200 periodically updates the secure channel until the operation of the secure communication device 200 is terminated. In this case, when the secure communication device 200 uses Transport Layer Security (TLS) in the mutual authentication process, the secure communication device 200 can update the secure channel using the TLS resuming protocol every time period have.

또한, 보안 통신 장치(200)는 기 설정된 횟수 이상의 통신 메시지 교환 이후에는, TLS 재협상(renegotiation) 프로토콜을 사용하여 보안 채널을 갱신할 수도 있다. In addition, the secure communication device 200 may update the secure channel using a TLS renegotiation protocol after exchanging communication messages over a predetermined number of times.

도 5는 본 발명의 일실시예에 따른 보안 통신 장치의 보안 패킷 생성 및 전송 과정을 설명하기 위한 순서도이다. 5 is a flowchart illustrating a security packet generation and transmission process of a secure communication apparatus according to an exemplary embodiment of the present invention.

먼저, 보안 통신 장치(200)는 제1 통신 패킷을 수신한다(S510).First, the secure communication device 200 receives the first communication packet (S510).

보안 통신 장치(200)는 로컬 응용 프로그램이 원격 응용 프로그램으로 전송하고자 하는 제1 통신 패킷을 루프백 어댑터로부터 수신한다. 이때, 제1 통신 패킷은 수정된 라우팅 테이블에 의하여 루프백 어댑터로 전달된 것이다. The secure communication device 200 receives from the loopback adapter the first communication packet that the local application wants to transfer to the remote application. At this time, the first communication packet is transmitted to the loopback adapter by the modified routing table.

그리고 보안 통신 장치(200)는 수신된 제1 통신 패킷이 보안 통신의 대상인지 여부를 판단한다(S520). Then, the secure communication device 200 determines whether the received first communication packet is an object of secure communication (S520).

보안 통신 장치(200)는 루프백 어댑터를 지속적으로 모니터링하며, 루프백 어댑터로 전달된 제1 통신 패킷을 확인하여, 제1 통신 패킷에 상응하는 로컬 응용 프로그램이 보안 통신의 대상이 되는지 여부를 판단한다. 그리고 로컬 응용 프로그램이 보안 통신의 대상인지 여부를 이용하여 보안 통신 장치(200)는 제1 통신 패킷이 보안 통신의 대상인지 여부를 판단한다. The secure communication device 200 continuously monitors the loopback adapter and checks the first communication packet delivered to the loopback adapter to determine whether the local application corresponding to the first communication packet is subject to secure communication. The secure communication device 200 determines whether or not the first communication packet is an object of secure communication by using whether the local application program is the target of the secure communication.

이때, 제1 통신 패킷이 보안 통신의 대상이 아닌 것으로 판단된 경우, 보안 통신 장치(200)는 제1 통신 패킷을 전송한다(S530). At this time, if it is determined that the first communication packet is not the object of the secure communication, the secure communication device 200 transmits the first communication packet (S530).

반면, 제1 통신 패킷이 보안 통신의 대상인 것으로 판단된 경우, 보안 통신 장치(200)는 제1 보안 패킷을 생성한다(S540).On the other hand, if it is determined that the first communication packet is the subject of the secure communication, the secure communication device 200 generates the first security packet (S540).

보안 통신 장치(200)는 원격 보안 통신 장치와 공유된 암호키를 이용하여 제1 통신 패킷을 암호화한다. 이때, 보안 통신 장치(200)는 ARIA, AES, LEA 등의 비밀키 알고리즘 및 RSA, DSA 등의 공개키 알고리즘 중 적어도 어느 하나를 이용하여 제1 통신 패킷을 암호화할 수 있다. The secure communication device (200) encrypts the first communication packet using a cryptographic key shared with the remote secure communication device. At this time, the secure communication device 200 can encrypt the first communication packet using at least one of secret key algorithms such as ARIA, AES, LEA, and public key algorithms such as RSA and DSA.

그리고 보안 통신 장치(200)는 암호화된 제1 통신 패킷을 새로운 페이로드(Payload)로 사용하고, 새로운 헤더를 생성한다. 또한, 보안 통신 장치(200)는 페이로드 및 새로 생성된 헤더를 이용하여 제1 메시지 인증 코드를 생성한다. Then, the secure communication device 200 uses the encrypted first communication packet as a new payload, and generates a new header. In addition, the secure communication device 200 generates a first message authentication code using the payload and the newly generated header.

이때, 보안 통신 장치(200)는 비밀키 알고리즘을 사용하는 경우, HMAC을 사용하여 제1 메시지 인증 코드를 생성할 수 있다. 또한, 보안 통신 장치(200)가 공개키 알고리즘을 사용하는 경우 전자서명을 통하여 제1 메시지 인증 코드를 생성할 수도 있다. At this time, if the secure communication device 200 uses the secret key algorithm, it can generate the first message authentication code using the HMAC. In addition, if the secure communication device 200 uses a public key algorithm, it may generate a first message authentication code through digital signature.

그리고 보안 통신 장치(200)는 헤더, 페이로드 및 제1 메시지 인증 코드를 병합하고, 캡슐화하여 제1 보안 패킷을 생성한다. The secure communication device 200 merges and encapsulates the header, the payload, and the first message authentication code to generate a first secure packet.

마지막으로 보안 통신 장치(200)는 원격 단말의 원격 보안 통신 장치로 제1 보안 패킷을 전송한다(S550). Finally, the secure communication device 200 transmits the first security packet to the remote secure communication device of the remote terminal (S550).

도 6은 본 발명의 일실시예에 따른 단말에서 처리되는 패킷을 설명하기 위한 예시도이다. FIG. 6 is an exemplary diagram for explaining packets to be processed in a terminal according to an embodiment of the present invention. FIG.

도 6에 도시한 바와 같이, 로컬 단말의 로컬 응용 프로그램이 전송한 제1 통신 패킷은 헤더 및 페이로드로 구성된다. 제1 통신 패킷은 로컬 단말의 IP주소(35.25.10.10)를 가지고, 목적지 주소로 원격 단말의 IP주소(10.100.1.10)을 가진다. 로컬 보안 통신 장치가 루프백 어댑터를 통해서 취득한 패킷 역시 최초 패킷 주소인 제1 통신 패킷과 동일한 주소를 가진다. As shown in Fig. 6, the first communication packet transmitted by the local application program of the local terminal is composed of a header and a payload. The first communication packet has the IP address (35.25.10.10) of the local terminal and the IP address (10.100.1.10) of the remote terminal as the destination address. The packet acquired by the local secure communication device through the loopback adapter also has the same address as the first communication packet which is the initial packet address.

그리고 제1 통신 패킷은 로컬 단말에 설치된 보안 통신 장치(200)의 보안 패킷 생성부에 의해 암호화된다. 이때, 보안 패킷 생성부는 제1 통신 패킷을 새로운 페이로드(암호화된 패킷)으로 생성하고, 새로운 헤더 및 메시지 인증 코드를 생성한다. 또한, 보안 패킷 생성부는 헤더, 페이로드 및 메시지 인증 코드를 캡슐화하여 제1 보안 패킷을 생성하고, 생성된 제1 보안 패킷을 원격 단말의 원격 보안 통신 장치로 전송한다. The first communication packet is encrypted by the secure packet generation unit of the secure communication device 200 installed in the local terminal. At this time, the secure packet generation unit generates the first communication packet as a new payload (encrypted packet), and generates a new header and a message authentication code. The secure packet generation unit encapsulates the header, the payload, and the message authentication code to generate a first secure packet, and transmits the generated first secure packet to the remote secure communication apparatus of the remote terminal.

제1 보안 패킷의 출발지 주소는 로컬 단말에 설치된 로컬 보안 통신 장치의 IP주소(172.40.0.10)이고, 목적지 주소는 원격 단말에 설치된 원격 보안 통신 장치의 IP주소(172.50.0.10)이다. The source address of the first security packet is the IP address (172.40.0.10) of the local secure communication device installed in the local terminal and the destination address is the IP address (172.50.0.10) of the remote secure communication device installed in the remote terminal.

이후 원격 보안 통신 장치의 보안 패킷 복원부에서 캡슐화를 해제한 패킷은 최초 패킷인 제1 통신 패킷과 동일한 출발지 주소(35.25.10.10) 및 목적지 주소(10.100.1.10)을 지닌다. The packet that has been decapsulated in the secure packet restoration unit of the remote secure communication apparatus has the same source address (35.25.10.10) and destination address (10.100.1.10) as the first communication packet as the first packet.

설명의 편의상, 로컬 보안 통신 장치(200)가 제1 보안 패킷을 생성하여 원격 보안 통신 장치로 전송하는 것으로 설명하였으나 이에 한정하지 않고, 제1 보안 패킷을 수신한 원격 보안 통신 장치도 로컬 보안 통신 장치(200)로 보안 패킷을 생성하여 전송할 수 있다. For convenience of explanation, it has been described that the local security communication device 200 generates and transmits a first security packet to the remote security communication device. However, the remote security communication device receiving the first security packet is not limited to this, A security packet may be generated and transmitted to the base station 200.

도 7은 본 발명의 일실시예 따른 보안 통신 장치의 보안 패킷 수신 과정을 설명하기 위한 순서도이다. FIG. 7 is a flowchart illustrating a security packet reception procedure of a secure communication apparatus according to an embodiment of the present invention.

도 7과 같이, 보안 통신 장치(200)는 보안 채널을 통해 제2 보안 패킷을 수신한다(S710).As shown in FIG. 7, the secure communication apparatus 200 receives the second secure packet through the secure channel (S710).

설명의 편의상 도 7에서의 보안 통신 장치(200)는 원격 단말에 설치된 원격 보안 통신 장치를 의미하는 것으로 설명하였으나, 원격 보안 통신 장치로부터 보안 패킷을 수신한 로컬 보안 통신 장치를 의미할 수도 있다. For convenience of description, the secure communication device 200 in FIG. 7 refers to a remote secure communication device installed in a remote terminal, but may also mean a local secure communication device that receives a secure packet from the remote secure communication device.

다음으로 보안 통신 장치(200)는 제2 메시지 인증 코드 검증을 수행한다(S720).Next, the secure communication device 200 performs a second message authentication code verification (S720).

보안 통신 장치(200)는 캡슐화된 제2 보안 패킷의 페이로드를 이용하여 로컬 보안 통신 장치와 공유된 암호화 키를 이용하여 인증값을 생성한다. 그리고 보안 통신 장치(200)는 캡슐화된 제2 보안 패킷의 말단에 위치한 제2 메시지 인증 코드와 생성된 인증값이 일치하는지 여부를 검사한다. The secure communication device 200 generates an authentication value using the encryption key shared with the local secure communication device using the payload of the encapsulated second secure packet. The secure communication device 200 checks whether the generated second authentication code matches the second authentication code located at the end of the encapsulated second security packet.

그리고 보안 통신 장치(200)는 메시지 인증 코드 검증에 성공하였는지 여부를 판단하고(S730), 판단 결과 검증에 실패한 경우 보안 패킷 수신 과정을 종료한다. 이때, 보안 통신 장치(200)는 수신된 제2 보안 패킷을 폐기하고, 패킷 수신 과정을 종료할 수 있다. Then, the secure communication device 200 determines whether the message authentication code has been successfully verified (S730). If the verification fails, the secure communication device 200 terminates the secure packet reception process. At this time, the secure communication device 200 may discard the received second security packet and terminate the packet reception process.

반면, 메시지 인증 코드 검증에 성공한 경우, 보안 통신 장치(200)는 수신된 제2 보안 패킷을 복호화한다(S740). On the other hand, if the message authentication code is successfully verified, the secure communication device 200 decrypts the received second security packet (S740).

보안 통신 장치(200)는 캡슐화된 제2 보안 패킷의 페이로드를 공유된 암호키로 복호화하여 제2 통신 패킷을 획득한다. The secure communication device 200 decrypts the payload of the encapsulated second security packet with the shared encryption key to obtain the second communication packet.

그리고 보안 통신 장치(200)는 획득한 제2 통신 패킷을 응용 프로그램으로 전송한다(S750). Then, the secure communication device 200 transmits the acquired second communication packet to the application program (S750).

즉, 보안 통신 장치(200)가 원격 보안 통신 장치인 경우, 획득한 제2 통신 패킷은 원래의 목적지인 원격 응용 프로그램으로 전달된다. That is, if the secure communication device 200 is a remote secure communication device, the acquired second communication packet is delivered to the remote application which is the original destination.

이와 같이, 본 발명의 일실시예에 따른 보안 통신 장치는 로컬 응용 프로그램 원격 응용 프로그램 자체와 해당 응용 프로그램들의 설정값을 수정하지 않고도, 로컬 응용 프로그램과 원격 응용 프로그램간 안전한 통신을 수행할 수 있도록 지원할 수 있다. Thus, the secure communication device according to the embodiment of the present invention can support secure communication between the local application program and the remote application program without modifying the setting value of the local application program remote application itself and the corresponding application programs .

도 8은 본 발명의 일실시예에 따른 보안 통신 장치의 연결 구조를 설명하기 위한 도면이다. 8 is a view for explaining a connection structure of a secure communication apparatus according to an embodiment of the present invention.

도 8에 도시한 바와 같이, 보안 통신 장치(800)는 일대일, 일대다, 다대다 등 다양한 형태의 보안 채널(700)을 형성할 수 있다. 그리고 각각의 보안 통신 장치(800_1, 800_3, 800_5)는 상대 보안 통신 장치(800_2, 800_4, 800_6)에 대하여, 로컬 보안 통신 장치의 역할 및 원격 보안 통신 장치의 역할을 번갈아가며 통신을 수행할 수 있다. As shown in FIG. 8, the secure communication device 800 may form various types of secure channels 700, such as one-to-one, one-to-many, and many-to-many. Each of the secure communication devices 800_1, 800_3 and 800_5 can perform communication with the relative security communication devices 800_2, 800_4 and 800_6 alternately between the role of the local security communication device and the role of the remote security communication device .

도 9는 본 발명의 일실시예에 따른 보안 통신 장치간 통신이 수행되는 과정을 설명하기 위한 도면이다. 9 is a diagram for explaining a process of performing communication between secure communication devices according to an embodiment of the present invention.

도 9와 같이, 로컬 단말(900)에는 로컬 응용 프로그램 및 로컬 보안 통신 장치가 설치되어 있고, 원격 단말(1000)에는 원격 응용 프로그램 및 원격 보안 통신 장치가 설치되어 있다. 또한, 로컬 단말(900) 및 원격 단말(1000)은 네트워크 카드 및 루프백 어댑터를 구비한다. 9, a local application program and a local secure communication device are installed in the local terminal 900, and a remote application program and a remote secure communication device are installed in the remote terminal 1000. [ In addition, the local terminal 900 and the remote terminal 1000 have a network card and a loopback adapter.

로컬 단말(900)의 루프백 어댑터는 로컬 응용 프로그램이 전송하고자 하는 패킷을 네트워크 카드로부터 수신하여 로컬 보안 통신 장치로 전송한다. 그리고 로컬 보안 통신 장치는 로컬 단말(900)과 원격 단말(1000)간의 안전한 통신 채널인 보안 채널을 통하여 수신된 패킷을 원격 단말(1000)로 전송한다. The loopback adapter of the local terminal 900 receives the packet to be transmitted by the local application program from the network card and transmits it to the local secure communication device. The local security communication apparatus transmits the packet received through the secure channel, which is a secure communication channel between the local terminal 900 and the remote terminal 1000, to the remote terminal 1000.

이때, 로컬 보안 통신 장치는 패킷의 암호화 및 캡슐화를 수행하여 원격 단말(1000)로 전송할 수 있다. 또한, 패킷을 수신한 원격 단말(1000)의 원격 보안 장치는 수신된 패킷의 캡슐을 해제하고 복호화하여, 패킷의 목적지에 상응하는 원격 응용 프로그램으로 전송한다. At this time, the local secure communication device can encrypt and encapsulate the packet and transmit it to the remote terminal 1000. In addition, the remote security device of the remote terminal 1000 receiving the packet decapsulates and decodes the received packet, and transmits it to the remote application corresponding to the destination of the packet.

설명의 편의상 로컬 단말(900)의 로컬 보안 통신 장치가 패킷을 전송하고, 원격 단말(1000)의 원격 보안 통신 장치가 패킷을 수신하는 것으로 설명하였으나 이에 한정하지 않고, 원격 보안 통신 장치가 패킷을 전송하고, 로컬 보안 통신 장치가 패킷을 수신할 수도 있다. The remote secure communication apparatus of the remote terminal 1000 receives the packet. However, the present invention is not limited to this, and the remote secure communication apparatus may transmit the packet And the local secure communication device may receive the packet.

도 10은 본 발명의 일실시예에 따른 보안 통신 장치의 구성을 나타낸 구성도이다. FIG. 10 is a configuration diagram illustrating a configuration of a secure communication apparatus according to an embodiment of the present invention.

도 10에 도시한 바와 같이, 보안 통신 장치는 어댑터 관리부, 패킷 선별부, 패킷 캡슐화부, 패킷 전송부, 서비스 관리부, 보안 채널 관리부, 패킷 수신부, 패킷 복원부, 경로 관리부 및 응용 보호부를 포함할 수 있다. 10, the secure communication apparatus may include an adapter management unit, a packet selection unit, a packet encapsulation unit, a packet transmission unit, a service management unit, a secure channel management unit, a packet reception unit, a packet restoration unit, a path management unit, have.

먼저, 어댑터 관리부는 보안 통신 장치가 설치된 단말의 루프백 어댑터를 활성화하여, 보안 통신 장치가 루프백 어댑터를 사용할 수 있도록 한다. 그리고 어댑터 관리부는 루프백 어댑터를 관리하고, 루프백 어댑터에 별도의 IP주소를 할당한다. First, the adapter manager activates the loopback adapter of the terminal in which the secure communication device is installed, so that the secure communication device can use the loopback adapter. The adapter manager manages the loopback adapter and assigns a separate IP address to the loopback adapter.

다음으로 패킷 선별부는 루프백 어댑터를 지속적으로 모니터링하고, 루프백 어댑터를 통해 수신되는 패킷 중에서 사전에 정의된 응용 프로그램에 해당하는 패킷을 선정한다. Next, the packet selector continuously monitors the loopback adapter and selects packets corresponding to the predefined application among the packets received through the loopback adapter.

패킷 캡슐화부는 선정된 패킷을 암호화 및 캡슐화하여 보안 패킷을 생성한다. 이때, 패킷 캡슐화부는 보안 패킷 헤더, 새로운 페이로드 및 메시지 인증 코드를 병합하여 보안 패킷을 생성한다. 또한, 패킷 캡슐화부는 보안 패킷의 목적지를 원격 단말의 원격 보안 통신 장치로 설정한다. The packet encapsulating unit encrypts and encapsulates the selected packet to generate a secure packet. At this time, the packet encapsulator merges the secure packet header, the new payload, and the message authentication code to generate a secure packet. In addition, the packet encapsulator sets the destination of the secure packet to the remote secure communication device of the remote terminal.

그리고 패킷 전송부는 보안 패킷을 상대 단말인 원격 단말의 원격 보안 통신 장치로 전송한다. 이때, 패킷 캡슐화부 및 패킷 전송부는 각각 도 2에 도시한 보안 패킷 생성부(230) 및 패킷 송수신부(240)와 실질적으로 동일하게 구현될 수 있다. The packet transmission unit transmits the security packet to the remote secure communication device of the remote terminal, which is the remote terminal. At this time, the packet encapsulating unit and the packet transmitting unit may be implemented substantially the same as the secure packet generating unit 230 and the packet transmitting / receiving unit 240 shown in FIG.

서비스 관리부는 보안 통신 장치를 사용하는 응용 프로그램(로컬 응용 프로그램)의 목록 및 각 응용 프로그램이 연결하고자 하는 상대 목록(원격 응용프로그램)을 관리한다. The service management unit manages a list of application programs (local application programs) using the secure communication device and a relative list (remote application program) which each application program wants to connect.

보안 채널 관리부는 보안 통신 장치의 동작이 종료될 때까지 주기적으로 보안 채널을 갱신한다. 보안 통신 장치가 상호 인증 과정으로 전송 계층 보안(TLS)을 사용하는 경우, 보안 채널 관리부는 매 시간 주기마다 TLS 갱신 프로토콜을 사용하고, 일정 회수의 통신 메시지 교환 이후에는 TLS 재협상 프로토콜을 사용할 수 있다. 여기서 보안 채널 관리부는 도 2의 보안 채널 형성부(220)와 실질적으로 동일한 기능을 수행할 수 있다. The secure channel management unit periodically updates the secure channel until the operation of the secure communication device is terminated. If the secure communication device uses Transport Layer Security (TLS) in the mutual authentication process, the secure channel management unit may use the TLS renewal protocol every time period, and use the TLS renegotiation protocol after a certain number of communication message exchanges. Here, the secure channel management unit may perform substantially the same function as the secure channel formation unit 220 of FIG.

그리고 패킷 수신부는 원격 보안통신 장치로부터 보안 패킷을 수신하고, 패킷 복원부는 보안 패킷의 캡슐을 해제하고, 암호화된 페이로드를 복호화한다. 여기서 패킷 수신부는 도 2의 패킷 송수신부(240) 및 보안 패킷 복원부(250)에 상응하는 동작을 수행할 수 있다. The packet receiving unit receives the security packet from the remote secure communication device, and the packet restoring unit decapsulates the security packet and decrypts the encrypted payload. Here, the packet receiving unit may perform operations corresponding to the packet transmitting / receiving unit 240 and the secure packet restoring unit 250 of FIG.

경로 관리부는 로컬 보안 통신 장치를 이용하는 로컬 응용 프로그램의 목록과 각 로컬 응용 프로그램별로 통신하는 원격 응용 프로그램의 목록을 추출한다. 그리고 경로 관리부는 원격 응용 프로그램의 목록에 상응하는 특정 목적지로 향하는 패킷을 루프백 어댑터로 전달될 수 있도록 네트워크 라우팅 경로를 수정한다. 이때, 경로 관리부는 도 2에 도시된 보안 통신 장치의 라우팅 테이블 수정부(210)와 실질적으로 동일한 기능을 수행할 수 있다. The path manager extracts a list of local applications using the local secure communication device and a list of remote applications that communicate with each local application. The path manager then modifies the network routing path so that packets destined for a particular destination corresponding to the list of remote applications can be forwarded to the loopback adapter. At this time, the path management unit may perform substantially the same function as the routing table modification unit 210 of the secure communication apparatus shown in FIG.

다음으로 응용 보호부는 단말에 설치된 응용 프로그램에 대한 임의 접근을 차단한다. 즉, 응용 보호부는 보안 통신 장치를 사용하는 응용 프로그램이 수신 대기하고 있는 포트에 대하여, 보안 통신 장치를 제외한 다른 통신 접근 시도를 차단한다. Next, the application protection unit blocks arbitrary access to the application program installed in the terminal. That is, the application protection unit blocks a communication access attempt other than the secure communication device to a port on which the application program using the secure communication device is listening.

도 11은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.11 is a block diagram illustrating a computer system in accordance with an embodiment of the present invention.

도 11을 참조하면, 본 발명의 실시예는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 11에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 입력 장치(1140), 사용자 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.Referring to FIG. 11, embodiments of the present invention may be implemented in a computer system 1100, such as a computer-readable recording medium. 11, the computer system 1100 includes one or more processors 1110, a memory 1130, a user input device 1140, a user output device 1150, and a storage 1150 that communicate with one another via a bus 1120. [ (1160). In addition, the computer system 1100 may further include a network interface 1170 connected to the network 1180. Processor 1110 may be a central processing unit or a semiconductor device that executes memory 1130 or processing instructions stored in storage 1160. Memory 1130 and storage 1160 can be various types of volatile or non-volatile storage media. For example, the memory may include ROM 1131 or RAM 1132.

따라서, 본 발명의 실시예는 컴퓨터로 구현된 방법이나 컴퓨터에서 실행 가능한 명령어들이 기록된 비일시적인 컴퓨터에서 읽을 수 있는 매체로 구현될 수 있다. 컴퓨터에서 읽을 수 있는 명령어들이 프로세서에 의해서 수행될 때, 컴퓨터에서 읽을 수 있는 명령어들은 본 발명의 적어도 한 가지 태양에 따른 방법을 수행할 수 있다.Thus, embodiments of the invention may be embodied in a computer-implemented method or in a non-volatile computer readable medium having recorded thereon instructions executable by the computer. When computer readable instructions are executed by a processor, the instructions readable by the computer are capable of performing the method according to at least one aspect of the present invention.

이상에서와 같이 본 발명에 따른 보안 통신 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다. As described above, the security communication apparatus and method according to the present invention are not limited to the configuration and method of the embodiments described above, but the embodiments can be applied to all of the embodiments Or some of them may be selectively combined.

10: 로컬 단말 15: 로컬 응용 프로그램
20: 로컬 보안 통신 장치 30: 원격 단말
35: 원격 응용 프로그램 40: 원격 보안 통신 장치
200: 보안 통신 장치 210: 라우팅 테이블 수정부
220: 보안 채널 형성부 230: 보안 패킷 생성부
240: 패킷 송수신부 250: 보안 패킷 복원부
400: 로컬 단말 410: 로컬 운용 프로그램
420: 로컬 보안 통신 장치 430, 530: 네트워크 인터페이스
440, 540: 루프백 인터페이스 500: 원격 단말
510: 원격 응용 프로그램 520: 원격 보안 통신 장치
700: 보안 채널 800: 단말
900: 로컬 단말 1000: 원격 단말
1100: 컴퓨터 시스템 1110: 프로세서
1120: 버스 1130: 메모리
1131: 롬 1132: 램
1140: 사용자 입력 장치 1150: 사용자 출력 장치
1160: 스토리지 1170: 네트워크 인터페이스
1180: 네트워크
10: Local terminal 15: Local application
20: local secure communication device 30: remote terminal
35: remote application 40: remote secure communication device
200: Secure communication device 210: Routing table modifier
220: secure channel forming unit 230: secure packet generating unit
240: Packet transmission / reception unit 250:
400: Local terminal 410: Local operation program
420: Local secure communication device 430, 530: Network interface
440, 540: Loopback interface 500: Remote terminal
510: remote application 520: remote secure communication device
700: secure channel 800: terminal
900: Local terminal 1000: Remote terminal
1100: Computer system 1110: Processor
1120: bus 1130: memory
1131: ROM 1132: RAM
1140: User input device 1150: User output device
1160: Storage 1170: Network Interface
1180: Network

Claims (20)

로컬 단말에 설치된 로컬 응용 프로그램이 원격 단말에 설치된 원격 응용 프로그램으로 전송하고자 하는 제1 통신 패킷이 상기 로컬 단말의 루프백 어댑터로 전송되도록, 라우팅 테이블을 수정하는 라우팅 테이블 수정부,
상기 루프백 어댑터가 수신한 상기 제1 통신 패킷을 암호화 및 캡슐화하고, 목적지를 상기 원격 보안 통신 장치로 설정하여, 제1 보안 패킷을 생성하는 보안 패킷 생성부, 그리고
상기 원격 단말의 원격 보안 통신 장치와 형성된 보안 채널을 통하여, 상기 제1 보안 패킷을 상기 원격 보안 통신 장치로 전송하는 패킷 송수신부
를 포함하며,
상기 제1 보안 패킷은,
암호화된 상기 제1 통신 패킷이 페이로드로 설정된 것을 특징으로 하는 보안 통신 장치.
A routing table modifying unit for modifying the routing table so that a first communication packet to be transmitted to a remote application installed in the remote terminal is transmitted to the loopback adapter of the local terminal,
A security packet generator for encrypting and encapsulating the first communication packet received by the loopback adapter, setting a destination to the remote secure communication device and generating a first security packet, and
A packet transmission / reception unit for transmitting the first security packet to the remote secure communication device through a secure channel formed with the remote secure communication device of the remote terminal,
/ RTI >
Wherein the first secure packet comprises:
And the encrypted first communication packet is set as a payload.
제1항에 있어서,
상기 원격 보안 통신 장치와 상호 인증 과정을 수행하고, 상기 상호 인증 성공 시, 상기 원격 보안 통신 장치와 통신을 수행하기 위한 상기 보안 채널을 형성하는 보안 채널 형성부를 더 포함하는 보안 통신 장치.
The method according to claim 1,
Further comprising a secure channel forming unit for performing a mutual authentication process with the remote secure communication device and forming the secure channel for performing communication with the remote secure communication device upon successful mutual authentication.
삭제delete 제2항에 있어서,
상기 보안 채널 형성부는,
TLS 갱신 프로토콜 및 TLS 재협상 프로토콜 중 적어도 어느 하나를 기반으로, 상기 보안 채널을 주기적으로 갱신하는 보안 통신 장치.
3. The method of claim 2,
The secure channel forming unit,
Wherein the secure channel is periodically updated based on at least one of a TLS update protocol and a TLS renegotiation protocol.
제1항에 있어서,
상기 보안 패킷 생성부는,
상기 루프백 어댑터가 수신한 상기 제1 통신 패킷이, 보안 통신의 대상이 되는 응용 프로그램에 상응하는 패킷인지 여부를 판단하고, 상기 보안 통신이 대상이 되는 응용 프로그램에 상응하는 패킷인 경우 상기 제1 보안 패킷을 생성하는 보안 통신 장치.
The method according to claim 1,
Wherein the secure packet generation unit comprises:
Determines whether the first communication packet received by the loopback adapter is a packet corresponding to an application program to be subjected to secure communication, and if the packet is a packet corresponding to an application program to be subjected to the secure communication, A secure communications device that generates packets.
제1항에 있어서,
상기 라우팅 테이블 수정부는,
상기 원격 보안 통신 장치의 IP 주소로 향하는 상기 제1 통신 패킷이, 상기 로컬 단말의 상기 루프백 어댑터로 전송되도록 상기 라우팅 테이블을 수정하는 보안 통신 장치.
The method according to claim 1,
The routing table modification unit may include:
And modify the routing table such that the first communication packet destined for an IP address of the remote secure communication device is sent to the loopback adapter of the local terminal.
제1항에 있어서,
상기 보안 패킷 생성부는,
암호화된 상기 제1 통신 패킷을 페이로드로 사용하고, 새로운 헤더를 생성하며, 상기 페이로드 및 상기 헤더를 이용하여 제1 메시지 인증 코드를 생성하고, 상기 헤더, 상기 페이로드 및 상기 제1 메시지 인증 코드를 캡슐화하여 상기 제1 보안 패킷을 생성하는 보안 통신 장치.
The method according to claim 1,
Wherein the secure packet generation unit comprises:
Using the encrypted first communication packet as a payload, generating a new header, generating a first message authentication code using the payload and the header, and transmitting the header, the payload and the first message authentication And encapsulating the code to generate the first secure packet.
제1항에 있어서,
상기 패킷 송수신부가, 상기 원격 보안 통신 장치로부터 암호화 및 캡슐화된 제2 보안 패킷을 수신하면,
상기 제2 보안 패킷을 캡슐 해제하고, 복호화하여 제2 통신 패킷을 획득하며, 상기 제2 통신 패킷에 상응하는 응용 프로그램으로 상기 제2 통신 패킷을 전송하는 보안 패킷 복원부를 더 포함하는 보안 통신 장치.
The method according to claim 1,
When the packet transmitting and receiving unit receives the second secure packet encrypted and encapsulated from the remote secure communication apparatus,
Further comprising a secure packet restoration unit for decapsulating and decrypting the second security packet to obtain a second communication packet and transmitting the second communication packet to an application program corresponding to the second communication packet.
제8항에 있어서,
상기 보안 패킷 복원부는,
캡슐 해제된 상기 제2 보안 패킷의 헤더를 분리하고, 상기 제2 보안 패킷에 상응하는 페이로드를 복호화하여 상기 제2 통신 패킷을 획득하는 보안 통신 장치.
9. The method of claim 8,
Wherein the secure packet restoration unit comprises:
Separates the header of the decapsulated second security packet, and decrypts the payload corresponding to the second secured packet to obtain the second communication packet.
제9항에 있어서,
상기 보안 패킷 복원부는,
상기 제2 보안 패킷을 캡슐 해제하여 획득한 상기 제2 보안 패킷에 상응하는 제2 메시지 인증 코드를 이용하여 메시지 인증 코드 검증을 수행하고, 상기 메시지 인증 코드 검증에 성공한 경우, 상기 제2 보안 패킷을 복호화하여 상기 제2 통신 패킷을 획득하는 보안 통신 장치.
10. The method of claim 9,
Wherein the secure packet restoration unit comprises:
Performing message authentication code verification using a second message authentication code corresponding to the second security packet obtained by decapsulating the second security packet, and when the message authentication code is successfully verified, Decrypts the second communication packet to obtain the second communication packet.
로컬 단말의 보안 통신 장치에 의해 수행되는 보안 통신 방법에 있어서,
상기 로컬 단말에 설치된 로컬 응용 프로그램이 원격 단말에 설치된 원격 응용 프로그램으로 전송하고자 하는 제1 통신 패킷이 상기 로컬 단말의 루프백 어댑터로 전송되도록, 라우팅 테이블을 수정하는 단계,
상기 루프백 어댑터가 수신한 상기 제1 통신 패킷을 암호화 및 캡슐화하고, 목적지를 상기 원격 보안 통신 장치로 설정하여, 제1 보안 패킷을 생성하는 단계, 그리고
상기 원격 단말의 원격 보안 통신 장치와 형성된 보안 채널을 통하여, 상기 제1 보안 패킷을 상기 원격 보안 통신 장치로 전송하는 단계
를 포함하며,
상기 제1 보안 패킷은,
암호화된 상기 제1 통신 패킷이 페이로드로 설정된 것을 특징으로 하는 보안 통신 방법.
A secure communication method performed by a secure communication device of a local terminal,
Modifying a routing table such that a first communication packet to be transmitted to a remote application installed in the remote terminal is transmitted to a loopback adapter of the local terminal,
Encrypting and encapsulating the first communication packet received by the loopback adapter, establishing a destination to the remote secure communication device to generate a first security packet, and
Transmitting the first secure packet to the remote secure communication device through a secure channel formed with the remote secure communication device of the remote terminal
/ RTI >
Wherein the first secure packet comprises:
And the encrypted first communication packet is set as a payload.
제11항에 있어서,
상기 원격 보안 통신 장치와 상호 인증 과정을 수행하는 단계, 그리고
상기 상호 인증 과정 수행 후, 상기 원격 보안 통신 장치와 통신을 수행하기 위한 보안 채널을 형성하는 단계
를 더 포함하는 보안 통신 방법.
12. The method of claim 11,
Performing mutual authentication with the remote secure communication device, and
After performing the mutual authentication process, forming a secure channel for performing communication with the remote secure communication device
Further comprising:
삭제delete 제12항에 있어서,
TLS 갱신 프로토콜 및 TLS 재협상 프로토콜 중 적어도 어느 하나를 기반으로, 상기 보안 채널을 주기적으로 갱신하는 단계를 더 포함하는 보안 통신 방법.
13. The method of claim 12,
Further comprising periodically updating the secure channel based on at least one of a TLS update protocol and a TLS renegotiation protocol.
제11항에 있어서,
상기 제1 보안 패킷을 생성하는 단계는,
상기 루프백 어댑터가 수신한 상기 제1 통신 패킷이, 보안 통신의 대상이 되는 응용 프로그램에 상응하는 패킷인지 여부를 판단하고, 상기 보안 통신이 대상이 되는 응용 프로그램에 상응하는 패킷인 경우 상기 제1 보안 패킷을 생성하는 보안 통신 방법.
12. The method of claim 11,
Wherein generating the first secure packet comprises:
Determines whether the first communication packet received by the loopback adapter is a packet corresponding to an application program to be subjected to secure communication, and if the packet is a packet corresponding to an application program to be subjected to the secure communication, A secure communication method of generating a packet.
제11항에 있어서,
상기 라우팅 테이블을 수정하는 단계는,
상기 원격 보안 통신 장치의 IP 주소로 향하는 상기 제1 통신 패킷이, 상기 로컬 단말의 상기 루프백 어댑터로 전송되도록 상기 라우팅 테이블을 수정하는 보안 통신 방법.
12. The method of claim 11,
Wherein the step of modifying the routing table comprises:
Wherein the first communication packet directed to an IP address of the remote secure communication device is modified to be sent to the loopback adapter of the local terminal.
제11항에 있어서,
상기 제1 보안 패킷을 생성하는 단계는,
암호화된 상기 제1 통신 패킷을 페이로드로 사용하고, 새로운 헤더를 생성하는 단계,
상기 페이로드 및 상기 헤더를 이용하여 제1 메시지 인증 코드를 생성하는 단계, 그리고
상기 헤더, 상기 페이로드 및 상기 제1 메시지 인증 코드를 캡슐화하여 상기 제1 보안 패킷을 생성하는 단계를 포함하는 보안 통신 방법.
12. The method of claim 11,
Wherein generating the first secure packet comprises:
Using the encrypted first communication packet as a payload and generating a new header,
Generating a first message authentication code using the payload and the header, and
Encapsulating the header, the payload and the first message authentication code to generate the first secure packet.
제11항에 있어서,
상기 원격 보안 통신 장치로부터 암호화 및 캡슐화된 제2 보안 패킷을 수신하는 단계,
상기 제2 보안 패킷을 캡슐 해제하고, 복호화하여 제2 통신 패킷을 획득하는 단계, 그리고
상기 제2 통신 패킷에 상응하는 응용 프로그램으로, 상기 제2 통신 패킷을 전송하는 단계를 더 포함하는 보안 통신 방법.
12. The method of claim 11,
Receiving a second secure packet encrypted and encapsulated from the remote secure communications device,
Encapsulating and decrypting the second security packet to obtain a second communication packet, and
And sending the second communication packet to an application corresponding to the second communication packet.
제18항에 있어서,
상기 제2 통신 패킷을 획득하는 단계는,
캡슐 해제된 상기 제2 보안 패킷의 헤더를 분리하고, 상기 제2 보안 패킷에 상응하는 페이로드를 복호화하여 상기 제2 통신 패킷을 획득하는 보안 통신 방법.
19. The method of claim 18,
Wherein the obtaining of the second communication packet comprises:
Separating the header of the decapsulated second security packet and decrypting the payload corresponding to the second secure packet to obtain the second communication packet.
제19항에 있어서,
상기 제2 보안 패킷을 캡슐 해제하여 획득한 상기 제2 보안 패킷에 상응하는 제2 메시지 인증 코드를 이용하여 메시지 인증 코드 검증을 수행하는 단계를 더 포함하고,
상기 메시지 인증 코드 검증에 성공한 경우, 상기 제2 보안 패킷을 복호화하여 상기 제2 통신 패킷을 획득하는 단계를 수행하는 것을 특징으로 하는 보안 통신 방법.
20. The method of claim 19,
Further comprising performing a message authentication code verification using a second message authentication code corresponding to the second security packet obtained by decapsulating the second security packet,
And if the verification of the message authentication code is successful, decrypting the second security packet to acquire the second communication packet.
KR1020160061988A 2016-05-20 2016-05-20 Apparatus and method for secure communication KR101837064B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160061988A KR101837064B1 (en) 2016-05-20 2016-05-20 Apparatus and method for secure communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160061988A KR101837064B1 (en) 2016-05-20 2016-05-20 Apparatus and method for secure communication

Publications (2)

Publication Number Publication Date
KR20170130961A KR20170130961A (en) 2017-11-29
KR101837064B1 true KR101837064B1 (en) 2018-03-12

Family

ID=60812378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160061988A KR101837064B1 (en) 2016-05-20 2016-05-20 Apparatus and method for secure communication

Country Status (1)

Country Link
KR (1) KR101837064B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102309044B1 (en) * 2017-12-01 2021-10-05 삼성에스디에스 주식회사 Apparatus and method for establishing secure channel in message processing system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013176983A1 (en) 2012-05-22 2013-11-28 Harris Corporation Multi-tunnel virtual private network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013176983A1 (en) 2012-05-22 2013-11-28 Harris Corporation Multi-tunnel virtual private network

Also Published As

Publication number Publication date
KR20170130961A (en) 2017-11-29

Similar Documents

Publication Publication Date Title
US11316677B2 (en) Quantum key distribution node apparatus and method for quantum key distribution thereof
CN107018134B (en) Power distribution terminal safety access platform and implementation method thereof
US8713305B2 (en) Packet transmission method, apparatus, and network system
JP4407452B2 (en) Server, VPN client, VPN system, and software
JP4081724B1 (en) Client terminal, relay server, communication system, and communication method
WO2017185692A1 (en) Key distribution and authentication method, apparatus and system
WO2017185999A1 (en) Method, apparatus and system for encryption key distribution and authentication
US20180139191A1 (en) Method, Device, and System for Processing VXLAN Packet
US20170126623A1 (en) Protected Subnet Interconnect
US20190199722A1 (en) Systems and methods for networked computing
KR20130096320A (en) Switch equipment and data processing method for supporting link layer security transmission
US9473466B2 (en) System and method for internet protocol security processing
CN111787025B (en) Encryption and decryption processing method, device and system and data protection gateway
KR20180130203A (en) APPARATUS FOR AUTHENTICATING IoT DEVICE AND METHOD FOR USING THE SAME
Farinacci et al. Locator/ID separation protocol (LISP) data-plane confidentiality
US10015208B2 (en) Single proxies in secure communication using service function chaining
CN108924157B (en) Message forwarding method and device based on IPSec VPN
CN112887187B (en) Method, system, device, equipment and medium for establishing communication between equipment
CN114143050A (en) Video data encryption system
JP2020537428A (en) Equipment and methods for data transmission
US20220029974A1 (en) Establishing an encrypted communications channel without prior knowledge of the encryption key
KR101837064B1 (en) Apparatus and method for secure communication
KR101457455B1 (en) Apparatus and method for data security in cloud networks
JP2023042903A (en) Communication apparatus, communication method and communication system
JP2008066882A (en) Encryption key distribution apparatus, and encryption key distribution method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant