KR20190129478A - Ssl/tls based network security apparatus and method - Google Patents

Ssl/tls based network security apparatus and method Download PDF

Info

Publication number
KR20190129478A
KR20190129478A KR1020180054201A KR20180054201A KR20190129478A KR 20190129478 A KR20190129478 A KR 20190129478A KR 1020180054201 A KR1020180054201 A KR 1020180054201A KR 20180054201 A KR20180054201 A KR 20180054201A KR 20190129478 A KR20190129478 A KR 20190129478A
Authority
KR
South Korea
Prior art keywords
client
channel
authentication
ssl
communication
Prior art date
Application number
KR1020180054201A
Other languages
Korean (ko)
Other versions
KR102128244B1 (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 KR1020180054201A priority Critical patent/KR102128244B1/en
Publication of KR20190129478A publication Critical patent/KR20190129478A/en
Application granted granted Critical
Publication of KR102128244B1 publication Critical patent/KR102128244B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication

Abstract

The present invention relates to secure socket layer/transport layer security (SSL/TLS) based network security apparatus and method. According to the present invention, the SSL/TLS based network security apparatus comprises: a security capability setting unit which determines a channel cipher suite in a cipher suite set according to a first communication environment and sets a security capability of a client; a communication channel authentication unit configured to provide a server public key to the client to allow the client to perform server authentication, and receive a client public key from the client to perform client authentication for the client when the server authentication is successfully performed, and to create a mutual authentication channel; and an encryption communication performing unit which provides, when the mutual authentication channel is created, a confidentiality of data communicated on the mutual authentication channel by determining a data cipher suite in a data cipher suite set according to a second communication environment.

Description

SSL/TLS 기반의 네트워크 보안 장치 및 방법{SSL/TLS BASED NETWORK SECURITY APPARATUS AND METHOD}SSL / TLS based network security device and method {SSL / TLS BASED NETWORK SECURITY APPARATUS AND METHOD}

본 발명은 SSL/TLS 기반의 네트워크 보안 기술에 관한 것으로, 보다 상세하게는 국내 암호 알고리즘을 IoT 환경을 위한 SSL/TLS에 적용함으로써 보안성을 강화할 수 있는 SSL/TLS 기반의 네트워크 보안 장치 및 방법에 관한 것이다.The present invention relates to an SSL / TLS-based network security technology, and more particularly, to an SSL / TLS-based network security device and method that can enhance security by applying a domestic encryption algorithm to SSL / TLS for an IoT environment. It is about.

최근 IoT 시장과 산업제어 시스템, 국가기반 시설 등 다양한 분야에서 유/무선 통신을 활용한 통신 환경이 증가함에 따라 공중망에서의 데이터 노출에 대한 위협이 증가하고 있고, 이에 대응하여 안전한 통신환경 구축에 대한 필요성도 함께 증가하고 있다. 이에 대한 보안 대책으로 구간 암호화, SSL VPN 등의 암호 알고리즘을 이용한 통신보안 방법이 있지만, 국가기반시설 등 보안이 매우 중요한 곳에서는 쓰이기 어렵다는 문제점이 존재한다.Recently, as the communication environment using wired / wireless communication has increased in various fields such as IoT market, industrial control system, and national infrastructure, the threat of data exposure in public network is increasing. The need is also increasing. As a security countermeasure, there is a communication security method using encryption algorithms such as section encryption and SSL VPN, but there is a problem that it is difficult to be used where security is very important such as national infrastructure.

SSL(Secure Socket Layer)은 '보안 소켓 계층'이라는 뜻으로 인터넷을 통해 전달되는 정보 보안의 안전한 거래를 허용하기 위해 Netscape사에서 개발한 인터넷 통신 규약 프로토콜이며, TLS(Transport Layer Security)는 SSL 3.0을 기초로 해서 국제 인터넷 표준화 기구(Internet Engineering Task Force, IETF)가 만든 프로토콜이다. TLS는 SSL 3.0을 보다 안전하게 하고 프로토콜의 스펙을 더 정확하고 안정성 있게 하기 위한 목적으로 고안되었다.Secure Socket Layer (SSL) means 'secure socket layer' and is an Internet protocol protocol developed by Netscape to allow secure transactions of information security delivered over the Internet.TLS (Transport Layer Security) uses SSL 3.0 It is based on the protocol created by the Internet Engineering Task Force (IETF). TLS is designed to make SSL 3.0 more secure and to make protocol specifications more accurate and stable.

한국등록특허 제10-0846868(2008.07.10)호Korea Patent Registration No. 10-0846868 (2008.07.10)

본 발명의 일 실시예는 IoT용 유무선 암호장치에 KCMVP 검증기준을 만족하는 국내 암호 알고리즘을 SSL/TLS에 적용함으로써 보안성을 강화할 수 있는 SSL/TLS 기반의 네트워크 보안 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide an SSL / TLS-based network security device and method that can enhance the security by applying a domestic encryption algorithm that satisfies the KCMVP verification criteria in the wired / wireless encryption device for IoT to SSL / TLS.

본 발명의 일 실시예는 클라이언트와의 통신 환경에 맞춰 보안 강도를 자동으로 조절함으로써 데이터 기밀성 및 무결성, 난수발생, 메시지 인증, 키 설정, 전자서명을 제공할 수 있는 SSL/TLS 기반의 네트워크 보안 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is an SSL / TLS-based network security device that can provide data confidentiality and integrity, random number generation, message authentication, key setting, and digital signature by automatically adjusting the security strength according to the communication environment with the client. And to provide a method.

본 발명의 일 실시예는 국내 암호 알고리즘을 적용함으로써 KCMVP 암호모듈을 활용하여 정보보호 제품 개발이 가능한 SSL/TLS 기반의 네트워크 보안 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide an SSL / TLS-based network security device and method that can be used for the development of information security products by applying the domestic encryption algorithm KCMVP encryption module.

실시예들 중에서, SSL/TLS (Secure Socket Layer/Transport Layer Security) 기반의 네트워크 보안 장치는 제1 통신 환경에 따라 채널 암호 수트(Cipher Suite) 집합에 있는 채널 암호 수트를 결정하여 클라이언트의 보안 능력을 설정하는 보안 능력 설정부, 상기 클라이언트에 서버 공개키를 제공하여 상기 클라이언트가 서버 인증을 수행하도록 하고 상기 서버 인증이 성공적으로 수행되면 상기 클라이언트로부터 클라이언트 공개키를 수신하여 상기 클라이언트에 대한 클라이언트 인증을 수행하여, 상호 인증 채널을 생성하는 통신 채널 인증부 및 상기 상호 인증 채널이 생성되면 제2 통신 환경에 따라 데이터 암호 수트 집합에 있는 데이터 암호 수트를 결정하여 상기 상호 인증 채널 상에 통신되는 데이터의 기밀성을 제공하는 암호화 통신 수행부를 포함한다.Among the embodiments, the SSL / TLS (Secure Socket Layer / Transport Layer Security) based network security device determines the channel cipher suite in the cipher suite set according to the first communication environment to improve the security capability of the client. A security capability setting unit configured to provide a server public key to the client to allow the client to perform server authentication, and if the server authentication is successful, receive a client public key from the client to perform client authentication for the client Thus, the communication channel authentication unit for generating a mutual authentication channel and the mutual authentication channel is generated, the data encryption suite in the data encryption suite set according to the second communication environment to determine the confidentiality of the data communicated on the mutual authentication channel It provides an encrypted communication performing unit.

상기 보안 능력 설정부는 상기 채널 암호 수트의 보안 강도를 상기 데이터 암호 수트의 보안 강도보다 더 강하게 설정할 수 있다.The security capability setting unit may set the security strength of the channel cipher suite to be stronger than the security strength of the data cipher suite.

상기 보안 능력 설정부는 상기 제1 통신 환경에 따라 키교환 알고리즘 및 MAC 알고리즘에 대해 KCMVP(Korea Cryptographic Module Validation Program) 검증필 암호모듈이 적용된 상기 채널 암호 수트를 결정할 수 있다.The security capability setting unit may determine the channel cipher suite to which the Korea Cryptographic Module Validation Program (KCMVP) validated cipher module is applied to the key exchange algorithm and the MAC algorithm according to the first communication environment.

상기 통신 채널 인증부는 상기 서버 인증이 성공적으로 수행된 경우 상기 클라이언트로부터 상기 서버 공개키를 이용하여 암호화된 사전 마스터 비밀(Pre-Master Secret)을 추가로 수신할 수 있다.The communication channel authentication unit may further receive a pre-master secret encrypted using the server public key from the client when the server authentication is successfully performed.

상기 암호화 통신 수행부는 상기 제2 통신 환경에 따라 암호 알고리즘에 대해 KCMVP 검증필 암호모듈이 적용된 상기 데이터 암호 수트를 결정할 수 있다.The encryption communication performing unit may determine the data encryption suite to which the KCMVP verified encryption module is applied to the encryption algorithm according to the second communication environment.

상기 암호화 통신 수행부는 상기 제1 통신 환경 및 상기 제2 통신 환경을 모두 고려하여 상기 데이터 암호 수트를 결정할 수 있다.The encryption communication execution unit may determine the data cipher suite in consideration of both the first communication environment and the second communication environment.

상기 암호화 통신 수행부는 상기 제2 통신 환경에 상관없이 ARIA-128-CBC 및 SHA256으로 구성된 상기 데이터 암호 수트를 결정하여 상기 상호 인증 채널 상에 통신되는 데이터의 기밀성 및 무결성을 제공할 수 있다.The encryption communication performing unit may determine the data cipher suite configured of ARIA-128-CBC and SHA256 regardless of the second communication environment to provide confidentiality and integrity of data communicated on the mutual authentication channel.

실시예들 중에서, SSL/TLS 기반의 네트워크 보안 방법은 제1 통신 환경에 따라 채널 암호 수트(Cipher Suite) 집합에 있는 채널 암호 수트를 결정하여 클라이언트의 보안 능력을 설정하는 단계, 상기 클라이언트에 서버 공개키를 제공하여 상기 클라이언트가 서버 인증을 수행하도록 하고 상기 서버 인증이 성공적으로 수행되면 상기 클라이언트로부터 클라이언트 공개키를 수신하여 상기 클라이언트에 대한 클라이언트 인증을 수행하여, 상호 인증 채널을 생성하는 단계 및 상기 상호 인증 채널이 생성되면 제2 통신 환경에 따라 데이터 암호 수트 집합에 있는 데이터 암호 수트를 결정하여 상기 상호 인증 채널 상에 통신되는 데이터의 기밀성을 제공하는 단계를 포함한다.Among the embodiments, the SSL / TLS-based network security method determines a channel cipher suite in a set of channel cipher suites according to a first communication environment to establish a security capability of the client, and discloses the server to the client. Providing a key to allow the client to perform server authentication, and if the server authentication is successful, receiving a client public key from the client to perform client authentication for the client, generating a mutual authentication channel, and the mutual If an authentication channel is created, determining the data cipher suite in the data cipher suite in accordance with a second communication environment to provide confidentiality of the data communicated on the mutual authentication channel.

개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technique can have the following effects. However, since a specific embodiment does not mean to include all of the following effects or only the following effects, it should not be understood that the scope of the disclosed technology is limited by this.

본 발명의 일 실시예에 따른 IoT용 유무선 암호장치에 KCMVP 검증기준을 만족하는 SSL/TLS 기반의 네트워크 보안 장치 및 방법은 클라이언트와의 통신 환경에 맞춰 보안 강도를 자동으로 조절함으로써 데이터 기밀성 및 무결성, 난수발생, 메시지 인증, 키 설정, 전자서명을 제공할 수 있다.The SSL / TLS-based network security device and method satisfying the KCMVP verification criterion in the wired / wireless encryption apparatus for IoT according to an embodiment of the present invention automatically adjusts the security strength according to the communication environment with the client, thereby providing data confidentiality and integrity, It can provide random number generation, message authentication, key setting, and digital signature.

본 발명의 일 실시예에 따른 SSL/TLS 기반의 네트워크 보안 장치 및 방법은 국내 암호 알고리즘을 적용함으로써 KCMVP 암호모듈을 활용하여 정보보호 제품 개발이 가능할 수 있다.The SSL / TLS-based network security apparatus and method according to an embodiment of the present invention may be able to develop an information security product using a KCMVP encryption module by applying a domestic encryption algorithm.

도 1은 본 발명의 일 실시예에 따른 SSL/TLS 기반의 네트워크 보안 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 네트워크 보안 장치를 설명하는 블록도이다.
도 3은 도 1에 있는 네트워크 보안 장치에서 수행되는 네트워크 보안 과정을 설명하는 순서도이다.
도 4는 SSL/TLS의 핸드쉐이크 세부 4단계를 설명하는 도면이다.
도 5 내지 8은 핸드쉐이크 단계를 구성하는 각 단계를 설명하는 도면이다.
도 9는 도 1에 있는 네트워크 보안 장치에서 사용하는 암호 수트를 설명하는 예시도이다.
도 10은 도 1에 있는 네트워크 보안 장치에서 사용하는 데이터 암호 수트를 설명하는 예시도이다.
1 is a diagram illustrating an SSL / TLS based network security system according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a network security device of FIG. 1.
3 is a flowchart illustrating a network security process performed in the network security device of FIG. 1.
4 is a diagram for explaining the detailed four steps of the handshake of the SSL / TLS.
5 to 8 are diagrams illustrating each step constituting the handshake step.
FIG. 9 is an exemplary view illustrating a cipher suite used in the network security device of FIG. 1.
FIG. 10 is an exemplary view illustrating a data cipher suite used in the network security device of FIG. 1.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Description of the present invention is only an embodiment for structural or functional description, the scope of the present invention should not be construed as limited by the embodiments described in the text. That is, since the embodiments may be variously modified and may have various forms, the scope of the present invention should be understood to include equivalents capable of realizing the technical idea. In addition, the objects or effects presented in the present invention does not mean that a specific embodiment should include all or only such effects, the scope of the present invention should not be understood as being limited thereby.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.On the other hand, the meaning of the terms described in the present application should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as "first" and "second" are intended to distinguish one component from another component, and the scope of rights should not be limited by these terms. For example, the first component may be named a second component, and similarly, the second component may also be named a first component.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" to another component, it should be understood that there may be other components in between, although it may be directly connected to the other component. On the other hand, when a component is referred to as being "directly connected" to another component, it should be understood that there is no other component in between. On the other hand, other expressions describing the relationship between the components, such as "between" and "immediately between" or "neighboring to" and "directly neighboring to", should be interpreted as well.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions should be understood to include plural expressions unless the context clearly indicates otherwise, and terms such as "comprise" or "have" refer to a feature, number, step, operation, component, part or implementation thereof. It is to be understood that the combination is intended to be present and does not exclude in advance the possibility of the presence or addition of one or more other features or numbers, steps, operations, components, parts or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, an identification code (e.g., a, b, c, etc.) is used for convenience of description, and the identification code does not describe the order of the steps, and each step clearly indicates a specific order in context. Unless stated otherwise, they may occur out of the order noted. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.

본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치, 플래시 메모리 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer readable code on a computer readable recording medium, and the computer readable recording medium includes all kinds of recording devices in which data can be read by a computer system. . Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, flash memory, and the like. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. Generally, the terms defined in the dictionary used are to be interpreted to coincide with the meanings in the context of the related art, and should not be interpreted as having ideal or excessively formal meanings unless clearly defined in the present application.

SSL VPN은 SSL/TLS 표준보안 프로토콜을 활용한 가상사설망 제품으로써 안전한 통신환경을 제공해 주며, 네트워크 환경에서 식별가능한 개체에 대해 인증 및 식별을 수행함으로써 접근제어통제 기능도 함께 제공할 수 있다. SSL/TLS 표준보안 프로토콜은 네트워크 연결시 상대에 대한 신원을 확인하고 올바른 사용자 또는 개체임을 확인함으로써 통신 연결에 대한 신뢰성을 확보할 수 있다. SSL/TLS 표준보안 프로토콜은 정당하게 공유하고 있는 보안매체를 활용하여 키교환 및 키 일치과정을 거쳐 보안통신에 사용되는 키를 발급할 수 있다. SSL VPN은 이렇게 발급된 키를 사용하여 데이터의 기밀성 및 무결성, 난수발생, 메시지 인증, 키 설정, 전자서명을 제공할 수 있다.SSL VPN is a virtual private network product using the standard SSL / TLS security protocol. It provides a secure communication environment and also provides access control control functions by authenticating and identifying the identifiable entities in the network environment. The SSL / TLS standard security protocol can secure the reliability of the communication connection by verifying the identity of the other party and confirming that it is the correct user or entity. SSL / TLS standard security protocol can issue keys used for secure communication through key exchange and key matching process by using security media that are duly shared. SSL VPN can use this issued key to provide data confidentiality and integrity, random number generation, message authentication, key setting, and digital signature.

SSL/TLS 표준보안 프로토콜에서 보안통신에 사용되는 키를 발급하는 과정은 SSL/TLS의 핸드쉐이크(Handshake) 단계로서 내부적으로 4개의 세부단계로 구성될 수 있다. 핸드쉐이크 단계는 클라이언트와 서버가 암호 통신에 사용할 알고리즘과 공유 키를 결정하고 인증서를 상호 교환하기 위한 과정에 해당할 수 있다. 여기에서, 공유 키를 결정하는 것은 암호 통신을 수행하기 위한 것이고, 인증서를 교환하는 것은 서로 상대를 인증하기 위한 것일 수 있다. 핸드쉐이크 단계는 다음의 도 4 내지 도 8과 함께 보다 자세히 설명한다.The process of issuing a key used for secure communication in the SSL / TLS standard security protocol is a handshake phase of SSL / TLS and may be composed of four detailed steps internally. The handshake step may correspond to a process for the client and server to determine the algorithm and shared key to use for cryptographic communication and to exchange certificates. Here, determining the shared key may be for performing cryptographic communication, and exchanging certificates may be for authenticating each other. The handshake step is described in more detail in conjunction with the following Figures 4-8.

도 4는 SSL/TLS의 핸드쉐이크 세부 4단계를 설명하는 도면이다.4 is a diagram for explaining the detailed four steps of the handshake of the SSL / TLS.

도 4를 참조하면, SSL/TLS의 핸드쉐이크(Handshake) 단계는 내부적으로 4개의 세부단계로 구성될 수 있다. 핸드쉐이크 단계는 제1 단계(Phase I)에서 보안 능력을 설정하고, 제2 단계(Phase II)에서 서버 인증 및 키교환을 수행할 수 있다. 또한, 핸드쉐이크 단계는 제3 단계(Phase III)에서 클라이언트 인증 및 키교환을 수행하고, 제4 단계(Phase IV)에서 핸드쉐이크 프로토콜을 종료할 수 있다.Referring to FIG. 4, the handshake phase of the SSL / TLS may be composed of four detailed steps internally. The handshake phase may set a security capability in a first phase (Phase I) and perform server authentication and key exchange in a second phase (Phase II). In addition, the handshake phase may perform client authentication and key exchange in a third phase (Phase III), and terminate the handshake protocol in a fourth phase (Phase IV).

도 5 내지 8은 핸드쉐이크 단계를 구성하는 각 단계를 설명하는 도면이다.5 to 8 are diagrams illustrating each step constituting the handshake step.

도 5를 참조하면, 핸드쉐이크 제1 단계에서 클라이언트는 서버에게 ClientHello 메시지를 전송할 수 있고, 서버는 ClientHello 메시지에 대응하여 클라이언트에게 ServerHello 메시지를 전송할 수 있다. ClientHello 및 ServerHello 메시지는 세션 ID, 키교환 알고리즘, MAC 알고리즘, 암호 알고리즘 및 초기 random number 등을 포함할 수 있다. Referring to FIG. 5, in a handshake first step, a client may transmit a ClientHello message to a server, and the server may transmit a ServerHello message to the client in response to the ClientHello message. ClientHello and ServerHello messages may include session ID, key exchange algorithm, MAC algorithm, cryptographic algorithm, initial random number, and the like.

보다 구체적으로, 클라이언트는 서버에게 사용가능한 버전 정보, 클라이언트 난수, 세션 ID, 사용가능한 암호 수트 목록, 사용가능한 압축 방법 목록 등을 포함하는 ClientHello 메시지를 전송할 수 있다. 서버는 클라이언트에게 사용하는 버전 정보, 서버 난수, 세션 ID, 사용하는 암호 수트, 사용하는 압축 방법 등을 포함하는 ServerHello 메시지를 전송할 수 있다.More specifically, the client may send a ClientHello message to the server, including version information available, client random number, session ID, list of available cipher suites, list of available compression methods, and the like. The server can send a ServerHello message to the client, including version information, server random numbers, session IDs, cipher suites used, and compression methods used.

도 6을 참조하면, 핸드쉐이크 제2 단계에서 서버는 클라이언트에게 Certificate, ServerKeyExchange, CertificateRequest 및 ServerHelloDone 메시지를 차례대로 전송할 수 있다. Certificate 메시지는 서버의 인증서를 포함할 수 있고, ServerKeyExchange 메시지는 서버의 공개키를 포함할 수 있다. CertificateRequest 메시지는 서버가 이해할 수 있는 인증서 타입 목록이나 인증기관 이름 목록을 포함할 수 있다. 서버의 인증서는 인증 기관에서 발급받은 것이며, 서버가 신뢰할 수 있음을 인증하기 위한 용도로 사용될 수 있다.Referring to FIG. 6, in the handshake second step, the server may transmit a Certificate, ServerKeyExchange, CertificateRequest, and ServerHelloDone messages to the client in sequence. The Certificate message can contain the server's certificate, and the ServerKeyExchange message can contain the server's public key. The CertificateRequest message may contain a list of certificate types or certificate authority names that the server can understand. The server's certificate is issued by a certification authority and can be used to authenticate that the server is trusted.

도 7을 참조하면, 핸드쉐이크 제3 단계에서 클라이언트는 서버에게 Certificate, ClientKeyExchange 및 CertificateVerify 메시지를 차례대로 전송할 수 있다. Certificate 메시지는 클라이언트의 인증서를 포함할 수 있고, ClientKeyExchange 메시지는 클라이언트의 공개키를 포함할 수 있다. CertificateVerify 메시지는 서버의 인증서를 검증한 결과를 포함할 수 있다. Referring to FIG. 7, in a third step of the handshake, the client may sequentially transmit a Certificate, ClientKeyExchange, and CertificateVerify messages to the server. The Certificate message can contain the client's certificate and the ClientKeyExchange message can contain the client's public key. The CertificateVerify message may include the result of verifying the server's certificate.

보다 구체적으로, 클라이언트는 서버로부터 수신한 Certificate 메시지에서 서버의 인증서를 획득할 수 있고, 해당 인증서가 유효 기간이 만료된 것인지, 신뢰할 수 있는 인증 기관에서 발급된 것인지, 해당 서버에서 정식으로 발급된 인증서에 해당하는지 등을 확인함으로써 서버의 인증서를 검증할 수 있다. 예를 들어, 클라이언트는 자체적으로 보관하고 있는 신뢰할 수 있는 인증 기관의 공개키를 이용하여 서버의 인증서에 부가되어 있는 전자서명을 검증함으로써 인증서 검증을 수행할 수 있다. 클라이언트는 서버의 인증서가 신뢰할 수 있는 것으로 판단한 경우 서버에 CertificateVerify 메시지를 전송하여 알릴 수 있다.More specifically, the client can obtain the server's certificate from a Certificate message received from the server, and the certificate is expired, issued by a trusted certification authority, or a certificate issued formally by that server. You can verify the server's certificate by checking whether the For example, a client can perform certificate verification by verifying the digital signature attached to the server's certificate using the public key of a trusted certificate authority stored in the client. If the client determines that the server's certificate is trusted, it can notify the server by sending a CertificateVerify message.

도 8을 참조하면, 핸드쉐이크 제4 단계에서 클라이언트는 서버에게 ChangeCipherSpec 및 Finished 메시지를 차례로 전송할 수 있고, 서버는 이에 대한 응답으로 ChangeCipherSpec 및 Finished 메시지를 전송할 수 있다. ChangeCipherSpec 메시지는 암호화 방식이 변경되었으며 이후 전송되는 것들은 협상한 CipherSpec와 키값에 의해 암호/해시되어 전송됨을 알리는 메시지이고, Finished 메시지는 핸드쉐이크 과정이 끝났음을 알리는 메시지이다. Referring to FIG. 8, in the fourth step of the handshake, the client may transmit the ChangeCipherSpec and Finished messages to the server in turn, and the server may transmit the ChangeCipherSpec and Finished messages in response. The ChangeCipherSpec message is a message indicating that the encryption method has been changed and that subsequent transmissions are encrypted / hashed according to the negotiated CipherSpec and key value, and the Finished message is a message indicating that the handshake process is completed.

보다 구체적으로, 클라이언트는 서버에게 ChangeCipherSpec 메시지를 전송하여 클라이언트에서 허용될 수 있는 Cipherspec을 알릴 수 있고, 서버는 클라이언트가 전송한 Cipherspec에서 서버가 허용하는 Cipherspec을 ChangeCipherSpec 메시지에 포함시켜 클라이언트에 전송할 수 있다. 클라이언트 및 서버는 마지막으로 Finished 메시지를 전송하여 핸드쉐이크 과정이 끝났음을 알릴 수 있다.More specifically, the client may inform the server of the Cipherspec that can be allowed by the client by sending a ChangeCipherSpec message, and the server may include the Cipherspec allowed by the server in the Cipherspec sent by the client to the ChangeCipherSpec message. The client and server can finally send a Finished message to indicate that the handshake process is complete.

도 1은 본 발명의 일 실시예에 따른 SSL/TLS 기반의 네트워크 보안 시스템을 설명하는 도면이다.1 is a diagram illustrating an SSL / TLS based network security system according to an embodiment of the present invention.

도 1을 참조하면, SSL/TLS 기반의 네트워크 보안 시스템(100)은 클라이언트(110), 네트워크 보안 장치(130) 및 데이터베이스(150)를 포함할 수 있다.Referring to FIG. 1, the SSL / TLS based network security system 100 may include a client 110, a network security device 130, and a database 150.

클라이언트(110)는 통신 채널을 통해 네트워크 보안 장치(130)와 통신을 수행하는 컴퓨팅 장치에 해당하고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 클라이언트(110)는 네트워크 보안 장치(130)와 네트워크를 통해 연결될 수 있고, 적어도 하나의 클라이언트(110)는 네트워크 보안 장치(130)와 동시에 연결될 수 있다.The client 110 may correspond to a computing device that communicates with the network security device 130 through a communication channel, and may be implemented as a smartphone, a notebook, or a computer, and is not limited thereto. May also be implemented. The client 110 may be connected to the network security device 130 through a network, and at least one client 110 may be connected to the network security device 130 at the same time.

네트워크 보안 장치(130)는 클라이언트(110)와의 통신을 위하여 데이터의 기밀성 및 무결성을 제공하는 통신 채널을 생성할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 네트워크 보안 장치(130)는 클라이언트(110)와 블루투스, WiFi, LTE, Ethernet 등을 통해 무선으로 연결될 수 있고, 네트워크를 통해 클라이언트(110)와 데이터를 주고 받을 수 있다.The network security device 130 may be implemented as a server corresponding to a computer or a program capable of creating a communication channel for providing confidentiality and integrity of data for communication with the client 110. The network security device 130 may be wirelessly connected to the client 110 through Bluetooth, WiFi, LTE, Ethernet, and the like, and may exchange data with the client 110 through a network.

네트워크 보안 장치(130)는 데이터베이스(150)를 포함하여 구현될 수 있고, 데이터베이스(150)와 별도로 구현될 수 있다. 데이터베이스(150)와 별도로 구현된 경우 네트워크 보안 장치(130)는 데이터베이스(150)와 연결되어 데이터를 송수신할 수 있다.The network security device 130 may be implemented including a database 150 and may be implemented separately from the database 150. When implemented separately from the database 150, the network security device 130 may be connected to the database 150 to transmit and receive data.

데이터베이스(150)는 네트워크 보안 장치(130)가 클라이언트(110)와의 통신 채널을 생성하기 위해서 사용하는 다양한 정보들을 저장할 수 있다. 예를 들어, 데이터베이스(150)는 클라이언트(110) 및 네트워크 보안 장치(130) 간의 상호 인증을 위하여 서로 주고 받는 인증 데이터를 저장할 수 있고, 통신 보안을 위하여 사용하는 암호 알고리즘 및 설정 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, 클라이언트(110) 및 네트워크 보안 장치(130) 간의 통신 채널을 생성하는 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.The database 150 may store various pieces of information that the network security device 130 uses to create a communication channel with the client 110. For example, the database 150 may store authentication data exchanged with each other for mutual authentication between the client 110 and the network security device 130, and may store encryption algorithms and setting information used for communication security. However, the present invention is not limited thereto, and information collected or processed in various forms may be stored in a process of creating a communication channel between the client 110 and the network security device 130.

데이터베이스(150)는 특정 범위에 속하는 정보들을 저장하는 적어도 하나의 독립된 서브-데이터베이스들로 구성될 수 있고, 적어도 하나의 독립된 서브-데이터베이스들이 하나로 통합된 통합 데이터베이스로 구성될 수 있다. 적어도 하나의 독립된 서브-데이터베이스들로 구성되는 경우에는 각각의 서브-데이터베이스들은 블루투스, WiFi, LTE 등을 통해 무선으로 연결될 수 있고, Ethernet 등의 유선 네트워크를 통해 상호 간의 데이터를 주고 받을 수 있다. 통합 데이터베이스로 구성되는 경우에는 각각의 서브-데이터베이스들을 하나로 통합하고 상호 간의 데이터 교환 및 제어 흐름을 관리하는 제어부를 포함할 수 있다.The database 150 may be composed of at least one independent sub-databases that store information belonging to a specific range, and may be configured as an integrated database in which at least one independent sub-databases are integrated into one. When composed of at least one independent sub-database, each sub-database may be wirelessly connected through Bluetooth, WiFi, LTE, and the like, and may exchange data with each other through a wired network such as Ethernet. In the case of an integrated database, the sub-databases may be integrated into one and may include a control unit for managing data exchange and control flow between the sub-databases.

도 2는 도 1에 있는 네트워크 보안 장치를 설명하는 블록도이다.FIG. 2 is a block diagram illustrating a network security device of FIG. 1.

도 2를 참조하면, 네트워크 보안 장치(130)는 보안 능력 설정부(210), 통신 채널 인증부(230), 암호화 통신 수행부(250) 및 제어부(270)를 포함할 수 있다.2, the network security device 130 may include a security capability setting unit 210, a communication channel authentication unit 230, an encryption communication execution unit 250, and a control unit 270.

보안 능력 설정부(210)는 제1 통신 환경에 따라 채널 암호 수트(Cipher Suite) 집합에 있는 채널 암호 수트를 결정하여 클라이언트(110)의 보안 능력을 설정할 수 있다. 여기에서, 채널 암호 수트는 클라이언트(110)와 네트워크 보안 장치(130) 간의 상호 인증을 수행하는 과정에서 사용되는 키교환 알고리즘 및 MAC 알고리즘의 추천 세트에 해당할 수 있고, 채널 암호 수트 집합은 보안 능력 설정부(210)에서 선택 가능한 다양한 채널 암호 수트들을 모아 놓은 것에 해당할 수 있다.The security capability setting unit 210 may determine the channel cipher suite in the cipher suite set according to the first communication environment to set the security capability of the client 110. Here, the channel cipher suite may correspond to a recommended set of key exchange algorithms and MAC algorithms used in the process of performing mutual authentication between the client 110 and the network security device 130, and the channel cipher suite is a security capability. The setting unit 210 may correspond to a collection of various channel cipher suites selectable.

제1 통신 환경은 클라이언트(110) 및 네트워크 보안 장치(130) 간의 무선 통신 품질에 영향을 줄 수 있는 외부 요소로서 무선 통신 채널과 직접 관련 있는 요소에 해당할 수 있고, 예를 들어, 클라이언트(110) 및 네트워크 보안 장치(130) 간의 거리, 무선 통신의 종류 및 통신 신호의 세기 등을 포함할 수 있다. 보안 능력 설정부(210)는 제1 통신 환경에 가장 적합한 채널 암호 수트를 결정하여 클라이언트(110)의 보안 능력을 설정할 수 있다. 다른 실시예에서, 보안 능력 설정부(210)는 제1 통신 환경에 상관없이 클라이언트(110)에서 요청하는 채널 암호 수트로 해당 클라이언트(110)의 보안 능력을 설정할 수 있다.The first communication environment may correspond to an element directly related to the wireless communication channel as an external factor that may affect the quality of wireless communication between the client 110 and the network security device 130. For example, the client 110 ) And the distance between the network security device 130, the type of wireless communication, the strength of the communication signal, and the like. The security capability setting unit 210 may set the security capability of the client 110 by determining a channel cipher suite that is most suitable for the first communication environment. In another embodiment, the security capability setting unit 210 may set the security capability of the client 110 using a channel cipher suite requested by the client 110 regardless of the first communication environment.

일 실시예에서, 보안 능력 설정부(210)는 채널 암호 수트의 보안 강도를 데이터 암호 수트의 보안 강도보다 더 강하게 설정할 수 있다. 보안 능력 설정부(210)는 클라이언트(110) 및 네트워크 보안 장치(130) 간의 통신 채널 생성 과정이 데이터 전송 과정보다 상대적으로 보안에 더 취약한 점을 고려하여 통신 채널 생성 과정에서 사용되는 채널 암호 수트의 보안 강도를 데이터 암호 수트의 보안 강도보다 더 강하게 설정할 수 있다. 보안 능력 설정부(210)는 보안 강도가 일정 수준 이상인 알고리즘으로만 구성된 채널 암호 수트들 중에서 어느 하나를 선택함으로써 암호 수트의 보안 강도를 설정할 수 있다.In one embodiment, the security capability setting unit 210 may set the security strength of the channel cipher suite to be stronger than the security strength of the data cipher suite. The security capability setting unit 210 considers that the communication channel generation process between the client 110 and the network security device 130 is more vulnerable to security than the data transmission process. You can set the security strength stronger than that of the data cipher suite. The security capability setting unit 210 may set the security strength of the cipher suite by selecting any one of the channel cipher suites composed only of algorithms having a security level of at least a certain level.

일 실시예에서, 보안 능력 설정부(210)는 제1 통신 환경에 따라 키교환 알고리즘 및 MAC(Message Authentication Code) 알고리즘에 대해 KCMVP(Korea Cryptographic Module Validation Program) 검증필 암호모듈이 적용된 채널 암호 수트를 결정할 수 있다. 여기에서, KCMVP는 한국 암호모듈 검증제도에 해당하고 국가 및 공공기관에 도입되는 상용 보안제품에 대한 안전성을 확보하기 위해 국가정보원에 의해 시행되고 있다. According to an embodiment, the security capability setting unit 210 may apply a channel cipher suite to which a Korea Cryptographic Module Validation Program (KCMVP) validated encryption module is applied to a key exchange algorithm and a message authentication code (MAC) algorithm according to a first communication environment. You can decide. Here, KCMVP corresponds to the Korean Cryptographic Module Verification System and is being implemented by the National Intelligence Service to secure the safety of commercial security products introduced in national and public institutions.

보안 능력 설정부(210)는 채널 암호 수트 집합에서 KCMVP 검증을 통과한 키교환 알고리즘 및 MAC 알고리즘을 포함하여 구성된 채널 암호 수트를 결정함으로써 클라이언트(110) 및 네트워크 보안 장치(130) 간의 통신 채널 생성에 있어서 보안 강도를 강화할 수 있다. 예를 들어, 보안 능력 설정부(210)는 KCMVP 검증필 암호모듈에서 제공하는 공개키 기반의 암호 알고리즘인 RSA 및 ECDSA 중 적어도 하나를 포함하여 구성된 암호 수트를 채널 암호 수트로서 결정할 수 있다.The security capability setting unit 210 determines a channel cipher suite including the key exchange algorithm and the MAC algorithm that has passed the KCMVP verification in the channel cipher suite set to generate a communication channel between the client 110 and the network security device 130. Can enhance the security strength. For example, the security capability setting unit 210 may determine a cipher suite including at least one of RSA and ECDSA, which are public key based encryption algorithms provided by the KCMVP verified cryptographic module, as a channel cipher suite.

통신 채널 인증부(230)는 클라이언트(110)에 서버 공개키를 제공하여 클라이언트(110)가 서버 인증을 수행하도록 하고 서버 인증이 성공적으로 수행되면 클라이언트(110)로부터 클라이언트 공개키를 수신하여 클라이언트(110)에 대한 클라이언트 인증을 수행하여, 상호 인증 채널을 생성할 수 있다. 여기에서, 서버는 네트워크 보안 장치(130)에 해당할 수 있다.The communication channel authentication unit 230 provides the server public key to the client 110 so that the client 110 performs server authentication, and if the server authentication is successfully performed, the communication channel authentication unit 230 receives the client public key from the client 110 to receive the client ( Client authentication for 110 may be performed to generate a mutual authentication channel. Here, the server may correspond to the network security device 130.

클라이언트(110)는 통신 채널 인증부(230)로부터 제공받은 서버 공개키와 서버 인증서를 이용하여 서버 인증을 수행할 수 있다. 보다 구체적으로, 클라이언트(110)는 서버 공개키와 서버 인증서가 신뢰할 수 있는 것인지 확인함으로써 서버 인증을 수행할 수 있다. 예를 들어, 클라이언트(110)는 신뢰할 수 있는 인증기관 목록을 자체적으로 보관할 수 있고, 통신 채널 인증부(230)로부터 제공받은 서버 공개키와 서버 인증서가 신뢰할 수 있는 인증기관에서 발행된 것인지, 유효 기간이 만료되지 않았는지 등을 확인하여 서버 인증을 수행할 수 있다.The client 110 may perform server authentication using a server public key and a server certificate provided from the communication channel authentication unit 230. More specifically, the client 110 may perform server authentication by checking whether the server public key and the server certificate are trustworthy. For example, the client 110 may keep its own list of trusted certificate authorities, and whether the server public key and the server certificate provided from the communication channel authentication unit 230 are issued by a trusted certificate authority. Server authentication can be performed by checking whether the period has not expired.

클라이언트(110)에서의 서버 인증이 성공적으로 수행된 경우 통신 채널 인증부(230)는 클라이언트(110)로부터 클라이언트 공개키를 수신하여 클라이언트 인증을 수행할 수 있다. 보다 구체적으로, 통신 채널 인증부(230)는 클라이언트 공개키와 클라이언트 인증서가 신뢰할 수 있는 것인지 확인함으로써 클라이언트 인증을 수행할 수 있다. When server authentication is successfully performed at the client 110, the communication channel authentication unit 230 may receive a client public key from the client 110 and perform client authentication. More specifically, the communication channel authenticator 230 may perform client authentication by confirming that the client public key and the client certificate are trustworthy.

일 실시예에서, 통신 채널 인증부(230)는 서버 인증이 성공적으로 수행된 경우 클라이언트(110)로부터 서버 공개키를 이용하여 암호화된 사전 마스터 비밀(Pre-Master Secret)을 추가로 수신할 수 있다. 여기에서, 사전 마스터 비밀(Pre-Master Secret)은 클라이언트(110)가 만든 난수에 해당할 수 있고, 마스터 비밀(Master Secret)을 생성하는데 사용될 수 있다. 예를 들어, 서버 및 클라이언트(110)는 사전 마스터 비밀, 클라이언트 난수 및 서버 난수를 이용하여 마스터 비밀을 각각 생성할 수 있다.In one embodiment, the communication channel authentication unit 230 may further receive a pre-master secret encrypted using the server public key from the client 110 when the server authentication is successfully performed. . Here, the pre-master secret may correspond to a random number generated by the client 110 and may be used to generate a master secret. For example, server and client 110 may generate a master secret using the pre-master secret, the client random number, and the server random number, respectively.

마스터 비밀(Master Secret)은 클라이언트(110)와 서버가 합의한 비밀값에 해당할 수 있고, 통신의 기밀성을 보장하는데 사용될 수 있다. 마스터 비밀은 클라이언트(110)와 서버 간의 통신 암호화에 사용되는 세션키를 생성하는데 사용될 수 있다. 예를 들어, 마스터 비밀은 대칭 암호키, 메시지 인증 코드키 및 대칭 암호 CBC 모드에서 이용하는 초기화 벡터를 생성하는데 사용될 수 있다.The master secret may correspond to a secret value agreed between the client 110 and the server and may be used to guarantee the confidentiality of the communication. The master secret can be used to generate a session key used for encrypting communication between the client 110 and the server. For example, the master secret can be used to generate an initialization vector for use in symmetric cryptographic keys, message authentication code keys and symmetric cryptographic CBC modes.

클라이언트(110)는 임의의 사전 마스터 비밀을 생성할 수 있고 서버 공개키를 이용하여 사전 마스터 비밀을 암호화할 수 있다. 또한, 클라이언트(110)는 사전 마스터 비밀을 ClientKeyExchange 메시지에 포함시켜 네트워크 보안 장치(130)로 전송할 수 있다. 통신 채널 인증부(230)는 전송받은 정보를 복호화하여 사전 마스터 비밀을 획득할 수 있고, 사전 마스터 비밀을 이용하여 마스터 비밀을 생성할 수 있다. Client 110 can generate any pre-master secret and can encrypt the pre-master secret using the server public key. In addition, the client 110 may include the pre-master secret in the ClientKeyExchange message and send it to the network security device 130. The communication channel authentication unit 230 may decrypt the received information to obtain a pre-master secret, and generate a master secret using the pre-master secret.

암호화 통신 수행부(250)는 상호 인증 채널이 생성되면 제2 통신 환경에 따라 데이터 암호 수트 집합에 있는 데이터 암호 수트를 결정하여 상호 인증 채널 상에 통신되는 데이터의 기밀성을 제공할 수 있다. 클라이언트(110) 및 네트워크 보안 장치(130) 간의 상호 인증이 완료된 경우, 클라이언트(110)와 네트워크 보안 장치(130)는 동일한 세션키를 공유할 수 있고, 암호화 통신 수행부(250)는 세션키를 이용하여 데이터를 암호화하거나 또는 복호화할 수 있다. When the mutual authentication channel is generated, the encryption communication performing unit 250 may determine the data cipher suite in the data cipher suite according to the second communication environment to provide confidentiality of data communicated on the mutual authentication channel. When mutual authentication between the client 110 and the network security device 130 is completed, the client 110 and the network security device 130 may share the same session key, and the encryption communication execution unit 250 may use the session key. Can be used to encrypt or decrypt data.

여기에서, 데이터 암호 수트는 클라이언트(110)와 네트워크 보안 장치(130) 간의 데이터 전송 과정에서 사용되는 암호 알고리즘의 추천 세트에 해당할 수 있고, 데이터 암호 수트 집합은 암호화 통신 수행부(250)에서 선택 가능한 다양한 데이터 암호 수트들을 모아 놓은 것에 해당할 수 있다. 제2 통신 환경은 무선 통신 품질에 영향을 줄 수 있는 외부 요소로서 클라이언트(110)와 직접 관련 있는 요소에 해당할 수 있고, 예를 들어, 클라이언트(110)의 성능, 호환성 및 중요성 등을 포함할 수 있다.Here, the data cipher suite may correspond to the recommended set of cryptographic algorithms used in the data transmission process between the client 110 and the network security device 130, and the data cipher suite is selected by the encryption communication performing unit 250. It may correspond to a collection of various possible data cipher suites. The second communication environment may correspond to factors directly related to the client 110 as external factors that may affect the quality of wireless communication, and may include, for example, the performance, compatibility and importance of the client 110. Can be.

암호화 통신 수행부(250)는 제2 통신 환경에 가장 적합한 데이터 암호 수트를 결정할 수 있고 데이터 암호 수트에 포함된 암호 알고리즘 및 세션키를 이용하여 데이터를 암호화하거나 또는 복호화함으로써 데이터의 기밀성을 제공할 수 있다. 다른 실시예에서, 암호화 통신 수행부(250)는 제2 통신 환경에 상관없이 클라이언트(110)에서 요청하는 데이터 암호 수트를 결정하여 상호 인증 채널 상에 통신되는 데이터의 기밀성을 제공할 수 있다.The encryption communication performing unit 250 may determine a data cipher suite that is most suitable for the second communication environment, and provide confidentiality of the data by encrypting or decrypting the data using an encryption algorithm and a session key included in the data cipher suite. have. In another embodiment, the encryption communication performing unit 250 may provide the confidentiality of the data communicated on the mutual authentication channel by determining the data cipher suite requested by the client 110 regardless of the second communication environment.

일 실시예에서, 암호화 통신 수행부(250)는 제2 통신 환경에 따라 암호 알고리즘에 대해 KCMVP 검증필 암호모듈이 적용된 데이터 암호 수트를 결정할 수 있다. 암호화 통신 수행부(250)는 데이터 암호 수트 집합에서 KCMVP 검증을 통과한 암호 알고리즘을 포함하여 구성된 데이터 암호 수트를 결정함으로써 클라이언트(110) 및 네트워크 보안 장치(130) 간의 데이터 교환에 있어서 보안 강도를 강화할 수 있다. 예를 들어, 암호화 통신 수행부(250)는 KCMVP 검증필 암호모듈에서 제공하는 국내 암호 알고리즘인 ARIA, SEED, HiGHT 및 LEA 중 적어도 하나를 포함하여 구성된 암호 수트를 데이터 암호 수트로서 결정할 수 있다.In one embodiment, the encryption communication performing unit 250 may determine the data encryption suite to which the KCMVP verified encryption module is applied to the encryption algorithm according to the second communication environment. The cryptographic communication performing unit 250 may enhance the security strength in the data exchange between the client 110 and the network security device 130 by determining the configured data encryption suite including the encryption algorithm that passed KCMVP verification in the data encryption suite set. Can be. For example, the encryption communication performing unit 250 may determine a cipher suite including at least one of ARIA, SEED, HiGHT, and LEA, which are domestic encryption algorithms provided by the KCMVP verified cryptographic module, as a data cipher suite.

일 실시예에서, 암호화 통신 수행부(250)는 제1 통신 환경 및 제2 통신 환경을 모두 고려하여 데이터 암호 수트를 결정할 수 있다. 보다 구체적으로, 암호화 통신 수행부(250)는 클라이언트(110) 및 네트워크 보안 장치(130) 간의 거리, 무선 통신의 종류, 통신 신호의 세기, 클라이언트(110)의 성능, 호환성 및 중요성 중 적어도 하나를 고려하여 데이터 암호 수트를 결정함으로써 무선 통신의 보안 강도를 조절할 수 있다.In one embodiment, the encrypted communication performing unit 250 may determine the data cipher suite in consideration of both the first communication environment and the second communication environment. More specifically, the encrypted communication performing unit 250 may determine at least one of the distance between the client 110 and the network security device 130, the type of wireless communication, the strength of the communication signal, the performance, compatibility, and importance of the client 110. By considering the data cipher suite in consideration, the security strength of the wireless communication can be adjusted.

일 실시예에서, 암호화 통신 수행부(250)는 제1 통신 환경 및 제2 통신 환경 각각에 가중치를 부여하고 가중화된 제1 통신 환경 및 제2 통신 환경에 따라 데이터 암호 수트를 결정할 수 있다. 예를 들어, 암호화 통신 수행부(250)는 제1 통신 환경에 포함된 요소들에 2의 가중치를 부여하고, 제2 통신 환경에 포함된 요소들에 0.5의 가중치를 부여한 후, 각각의 요소들에 의해 결정되는 전체 통신 환경을 고려하여 데이터 통신에 요구되는 보안 강도를 결정할 수 있고, 해당 보안 강도를 충족하는 데이터 암호 수트를 결정할 수 있다.In one embodiment, the encryption communication performing unit 250 may weight each of the first communication environment and the second communication environment, and determine the data cipher suite according to the weighted first communication environment and the second communication environment. For example, the encryption communication performing unit 250 assigns a weight of 2 to the elements included in the first communication environment, and assigns a weight of 0.5 to the elements included in the second communication environment, respectively, The security strength required for the data communication may be determined in consideration of the overall communication environment determined by, and the data cipher suite meeting the security strength may be determined.

일 실시예에서, 암호화 통신 수행부(250)는 제2 통신 환경에 상관없이 ARIA-128-CBC 및 SHA256으로 구성된 데이터 암호 수트를 결정하여 상호 인증 채널 상에 통신되는 데이터의 기밀성 및 무결성을 제공할 수 있다. 암호화 통신 수행부(250)는 클라이언트(110) 및 네트워크 보안 장치(130) 간의 상호 인증 채널이 생성된 후 제2 통신 환경을 고려하여 적절한 데이터 암호 수트를 결정할 수도 있지만, 제2 통신 환경을 고려하기 힘들거나 또는 불가능한 경우에 있어서 미리 결정된 데이터 암호 수트를 사용할 수 있다. 암호화 통신 수행부(250)는 128비트 키길이와 CBC 운영모드로 설정된 ARIA 및 해시함수인 SHA256으로 구성된 데이터 암호 수트를 기본 설정으로 제공하여 별도의 설정이 없더라도 보안 강도가 낮은 암호 알고리즘이 사용되지 않도록 할 수 있다.In one embodiment, the cryptographic communication performer 250 determines a data cipher suite comprised of ARIA-128-CBC and SHA256 regardless of the second communication environment to provide confidentiality and integrity of the data communicated on the mutual authentication channel. Can be. Although the encrypted communication performing unit 250 may determine an appropriate data cipher suite in consideration of the second communication environment after the mutual authentication channel between the client 110 and the network security device 130 is generated, considering the second communication environment In difficult or impossible cases, a predetermined data encryption suite can be used. The encryption communication execution unit 250 provides a data encryption suite composed of a 128-bit key length and an ARIA and a hash function SHA256 set to the CBC operation mode as a default setting so that a low-security encryption algorithm is not used even if there is no separate setting. can do.

제어부(270)는 네트워크 보안 장치(130)의 전체적인 동작을 제어하고, 보안 능력 설정부(210), 통신 채널 인증부(230) 및 암호화 통신 수행부(250) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The controller 270 controls the overall operation of the network security device 130 and manages the control flow or data flow between the security capability setting unit 210, the communication channel authentication unit 230, and the encryption communication performing unit 250. Can be.

도 3은 도 1에 있는 네트워크 보안 장치에서 수행되는 네트워크 보안 과정을 설명하는 순서도이다.3 is a flowchart illustrating a network security process performed in the network security device of FIG. 1.

도 3을 참조하면, 네트워크 보안 장치(130)는 보안 능력 설정부(210)를 통해 제1 통신 환경에 따라 채널 암호 수트 집합에 있는 채널 암호 수트를 결정하여 클라이언트(110)의 보안 능력을 설정할 수 있다(단계 S310).Referring to FIG. 3, the network security device 130 may set the security capability of the client 110 by determining the channel cipher suite in the set of channel cipher suites according to the first communication environment through the security capability setting unit 210. (Step S310).

네트워크 보안 장치(130)는 통신 채널 인증부(230)를 통해 클라이언트(110)에 서버 공개키를 제공하여 클라이언트(110)가 서버 인증을 수행하도록 하고 서버 인증이 성공적으로 수행되면 클라이언트(110)로부터 클라이언트 공개키를 수신하여 클라이언트(110)에 대한 클라이언트 인증을 수행하여, 상호 인증 채널을 생성할 수 있다(단계 S330).The network security device 130 provides the server public key to the client 110 through the communication channel authentication unit 230 to allow the client 110 to perform server authentication, and from the client 110 when the server authentication is successfully performed. Receiving the client public key to perform a client authentication for the client 110, it is possible to create a mutual authentication channel (step S330).

네트워크 보안 장치(130)는 암호화 통신 수행부(250)를 통해 상호 인증 채널이 생성되면 제2 통신 환경에 따라 데이터 암호 수트 집합에 있는 데이터 암호 수트를 결정하여 상호 인증 채널 상에 통신되는 데이터의 기밀성을 제공할 수 있다(단계 S350).When the mutual authentication channel is generated through the cryptographic communication performing unit 250, the network security device 130 determines the data cipher suite in the data cipher suite according to the second communication environment, thereby maintaining the confidentiality of the data communicated on the mutual authentication channel. It can be provided (step S350).

도 9는 도 1에 있는 네트워크 보안 장치에서 사용하는 암호 수트를 설명하는 예시도이다.9 is an exemplary view illustrating a cipher suite used in the network security device of FIG. 1.

도 9를 참조하면, 네트워크 보안 장치(130)는 핸드쉐이크 과정에서 사용하는 키교환 알고리즘, MAC 알고리즘 및 암호 알고리즘, 전자서명 알고리즘 등을 부품과 같이 교환할 수 있다. 보다 구체적으로, 네트워크 보안 장치(130)는 사용하고 있던 암호 알고리즘에 결함이 발견된 경우 해당 암호 알고리즘을 다른 암호 알고리즘으로 교체하여 사용할 수 있다. 네트워크 보안 장치(130)는 핸드쉐이크 과정에서 사용하는 암호 기술들의 추천 세트를 암호 수트로 정의하여 사용할 수 있고, 도 9에서는 KCMVP 검증필 암호들로 구성된 암호 수트의 일 실시예가 표시되어 있다.Referring to FIG. 9, the network security device 130 may exchange a key exchange algorithm, a MAC algorithm, an encryption algorithm, an electronic signature algorithm, and the like used in a handshake process together with components. More specifically, the network security device 130 may replace the cipher algorithm with another cipher algorithm when a defect is found in the cipher algorithm being used. The network security device 130 may define and use a recommended set of cipher suites used in the handshake process as a cipher suite, and FIG. 9 illustrates an embodiment of a cipher suite composed of KCMVP verified ciphers.

도 10은 도 1에 있는 네트워크 보안 장치에서 사용하는 데이터 암호 수트를 설명하는 예시도이다.FIG. 10 is an exemplary diagram illustrating a data encryption suite used in the network security device of FIG. 1.

도 10을 참조하면, 네트워크 보안 장치(130)는 클라이언트(110)와의 상호 인증 채널이 생성된 후 데이터의 기밀성 및 무결성을 제공하기 위하여 블록 암호 알고리즘을 사용할 수 있다. 네트워크 보안 장치(130)는 블록 암호 알고리즘으로서 KCMVP 검증필 암호모듈에서 제공하는 국내 암호 알고리즘 ARIA, SEED, HiGHT, LEA를 사용할 수 있다. 특히, 네트워크 보안 장치(130)는 블록 암호 알고리즘 중 하나인 SEED에 대하여 SSL에서 제공하는 암호 알고리즘이 아닌, KCMVP 검증필 암호 모듈에서 제공하는 암호 알고리즘을 사용할 수 있다.Referring to FIG. 10, the network security device 130 may use a block cipher algorithm to provide confidentiality and integrity of data after a mutual authentication channel with the client 110 is created. The network security device 130 may use the domestic encryption algorithms ARIA, SEED, HiGHT, and LEA provided by the KCMVP verified encryption module as the block encryption algorithm. In particular, the network security device 130 may use an encryption algorithm provided by the KCMVP verified cryptographic module, not an encryption algorithm provided by SSL for SEED, which is one of the block encryption algorithms.

또한, 네트워크 보안 장치(130)는 핸드쉐이크의 모든 단계에서 사용되는 해시함수로서 KCMVP 검증필 암호모듈에서 제공하는 해시함수를 사용할 수 있다. 도 10에서, 네트워크 보안 장치(130)는 데이터 기밀성을 위해 블록암호 알고리즘으로서 ARIA, SEED, HiGHT 및 LEA 중 어느 하나를 사용할 수 있고, 운영모드로서 ECB, CBC 및 GCM 중 어느 하나를 사용할 수 있다. 네트워크 보안 장치(130)는 해시함수로서 SHA256를 사용할 수 있다.In addition, the network security device 130 may use a hash function provided by the KCMVP verified cryptographic module as a hash function used at all stages of the handshake. In FIG. 10, the network security device 130 may use any one of ARIA, SEED, HiGHT, and LEA as a block encryption algorithm for data confidentiality, and may use any one of ECB, CBC, and GCM as an operation mode. The network security device 130 may use SHA256 as a hash function.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the invention without departing from the spirit and scope of the invention described in the claims below I can understand that you can.

100: SSL/TLS 기반의 네트워크 보안 시스템
110: 클라이언트 130: 네트워크 보안 장치
150: 데이터베이스
210: 보안 능력 설정부 230: 통신 채널 인증부
250: 암호화 통신 수행부 270: 제어부
100: SSL / TLS based network security system
110: Client 130: Network Security Device
150: database
210: security capability setting unit 230: communication channel authentication unit
250: encrypted communication performing unit 270: control unit

Claims (8)

제1 통신 환경에 따라 채널 암호 수트(Cipher Suite) 집합에 있는 채널 암호 수트를 결정하여 클라이언트의 보안 능력을 설정하는 보안 능력 설정부;
상기 클라이언트에 서버 공개키를 제공하여 상기 클라이언트가 서버 인증을 수행하도록 하고 상기 서버 인증이 성공적으로 수행되면 상기 클라이언트로부터 클라이언트 공개키를 수신하여 상기 클라이언트에 대한 클라이언트 인증을 수행하여, 상호 인증 채널을 생성하는 통신 채널 인증부; 및
상기 상호 인증 채널이 생성되면 제2 통신 환경에 따라 데이터 암호 수트 집합에 있는 데이터 암호 수트를 결정하여 상기 상호 인증 채널 상에 통신되는 데이터의 기밀성을 제공하는 암호화 통신 수행부를 포함하는 SSL/TLS (Secure Socket Layer/Transport Layer Security) 기반의 네트워크 보안 장치.
A security capability setting unit configured to set a security capability of a client by determining a channel cipher suite in a cipher suite set according to the first communication environment;
Providing a server public key to the client to allow the client to perform server authentication, and if the server authentication is successful, receives a client public key from the client to perform client authentication for the client, thereby generating a mutual authentication channel. A communication channel authentication unit; And
When the mutual authentication channel is generated, SSL / TLS (Encryption Communication Execution Unit) includes a cryptographic communication execution unit that provides a confidentiality of data communicated on the mutual authentication channel by determining a data encryption suite in a data encryption suite set according to a second communication environment. Network security device based on Socket Layer / Transport Layer Security.
제1항에 있어서, 상기 보안 능력 설정부는
상기 채널 암호 수트의 보안 강도를 상기 데이터 암호 수트의 보안 강도보다 더 강하게 설정하는 것을 특징으로 하는 SSL/TLS 기반의 네트워크 보안 장치.
The method of claim 1, wherein the security capability setting unit
SSL / TLS-based network security device, characterized in that the security strength of the channel cipher suite is set stronger than the security strength of the data cipher suite.
제1항에 있어서, 상기 보안 능력 설정부는
상기 제1 통신 환경에 따라 키교환 알고리즘 및 MAC(Message Authentication Code) 알고리즘에 대해 KCMVP(Korea Cryptographic Module Validation Program) 검증필 암호모듈이 적용된 상기 채널 암호 수트를 결정하는 것을 특징으로 하는 SSL/TLS 기반의 네트워크 보안 장치.
The method of claim 1, wherein the security capability setting unit
Based on the first communication environment, the SSL / TLS-based SSL / TLS-based SSL / TLS-based cipher suite to which the KCMVP (Korea Cryptographic Module Validation Program) verified cryptographic module is applied is determined for a key exchange algorithm and a MAC (Message Authentication Code) algorithm. Network security devices.
제1항에 있어서, 상기 통신 채널 인증부는
상기 서버 인증이 성공적으로 수행된 경우 상기 클라이언트로부터 상기 서버 공개키를 이용하여 암호화된 사전 마스터 비밀(Pre-Master Secret)을 추가로 수신하는 것을 특징으로 하는 SSL/TLS 기반의 네트워크 보안 장치.
The method of claim 1, wherein the communication channel authentication unit
SSL / TLS-based network security device, characterized in that further receiving a pre-master secret encrypted using the server public key from the client when the server authentication is successfully performed.
제1항에 있어서, 상기 암호화 통신 수행부는
상기 제2 통신 환경에 따라 암호 알고리즘에 대해 KCMVP 검증필 암호모듈이 적용된 상기 데이터 암호 수트를 결정하는 것을 특징으로 하는 SSL/TLS 기반의 네트워크 보안 장치.
The method of claim 1, wherein the encryption communication performing unit
SSL / TLS-based network security device, characterized in that for determining the data encryption suite to which the KCMVP validated encryption module is applied to the encryption algorithm according to the second communication environment.
제1항에 있어서, 상기 암호화 통신 수행부는
상기 제1 통신 환경 및 상기 제2 통신 환경을 모두 고려하여 상기 데이터 암호 수트를 결정하는 것을 특징으로 하는 SSL/TLS 기반의 네트워크 보안 장치.
The method of claim 1, wherein the encryption communication performing unit
SSL / TLS-based network security device, characterized in that for determining the data cipher suite in consideration of both the first communication environment and the second communication environment.
제1항에 있어서, 상기 암호화 통신 수행부는
상기 제2 통신 환경에 상관없이 ARIA-128-CBC 및 SHA256으로 구성된 상기 데이터 암호 수트를 결정하여 상기 상호 인증 채널 상에 통신되는 데이터의 기밀성 및 무결성을 제공하는 것을 특징으로 하는 SSL/TLS 기반의 네트워크 보안 장치.
The method of claim 1, wherein the encryption communication performing unit
SSL / TLS-based network, characterized in that it provides the confidentiality and integrity of the data communicated on the mutual authentication channel by determining the data cipher suite consisting of ARIA-128-CBC and SHA256 irrespective of the second communication environment Security device.
SSL/TLS(Secure Socket Layer/Transport Layer Security) 기반의 네트워크 보안 장치에서 수행되는 네트워크 보안 방법에 있어서,
제1 통신 환경에 따라 채널 암호 수트(Cipher Suite) 집합에 있는 채널 암호 수트를 결정하여 클라이언트의 보안 능력을 설정하는 단계;
상기 클라이언트에 서버 공개키를 제공하여 상기 클라이언트가 서버 인증을 수행하도록 하고 상기 서버 인증이 성공적으로 수행되면 상기 클라이언트로부터 클라이언트 공개키를 수신하여 상기 클라이언트에 대한 클라이언트 인증을 수행하여, 상호 인증 채널을 생성하는 단계; 및
상기 상호 인증 채널이 생성되면 제2 통신 환경에 따라 데이터 암호 수트 집합에 있는 데이터 암호 수트를 결정하여 상기 상호 인증 채널 상에 통신되는 데이터의 기밀성을 제공하는 단계를 포함하는 SSL/TLS 기반의 네트워크 보안 방법.
In the network security method performed in a network security device based on SSL / TLS (Secure Socket Layer / Transport Layer Security),
Determining a channel cipher suite in a set of channel cipher suites according to the first communication environment to establish a security capability of the client;
Providing a server public key to the client to allow the client to perform server authentication, and if the server authentication is successful, receives a client public key from the client to perform client authentication for the client, thereby generating a mutual authentication channel. Making; And
Determining the data cipher suite in the set of data cipher suites according to a second communication environment when the mutual authentication channel is created to provide confidentiality of data communicated on the mutual authentication channel. Way.
KR1020180054201A 2018-05-11 2018-05-11 Ssl/tls based network security apparatus and method KR102128244B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180054201A KR102128244B1 (en) 2018-05-11 2018-05-11 Ssl/tls based network security apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180054201A KR102128244B1 (en) 2018-05-11 2018-05-11 Ssl/tls based network security apparatus and method

Publications (2)

Publication Number Publication Date
KR20190129478A true KR20190129478A (en) 2019-11-20
KR102128244B1 KR102128244B1 (en) 2020-06-30

Family

ID=68729078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180054201A KR102128244B1 (en) 2018-05-11 2018-05-11 Ssl/tls based network security apparatus and method

Country Status (1)

Country Link
KR (1) KR102128244B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220071643A (en) * 2020-11-24 2022-05-31 부산대학교 산학협력단 Agent based cryptographic module interworking system and its method
CN114679260A (en) * 2021-12-20 2022-06-28 北京亿赛通科技发展有限责任公司 Method, system and terminal for encrypting data by compatibly extending main key through bypass audit

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102321934B1 (en) 2021-07-05 2021-11-04 주식회사 두두아이티 Proxy server based on secure socket layer for improved security

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040038840A (en) * 2002-10-31 2004-05-08 마쯔시다덴기산교 가부시키가이샤 Communication device, communication system, and algorithm selection method
KR100846868B1 (en) 2005-01-17 2008-07-17 엘지전자 주식회사 Method for managing tls session in supl based location information system
US9888037B1 (en) * 2015-08-27 2018-02-06 Amazon Technologies, Inc. Cipher suite negotiation
US9935769B1 (en) * 2014-12-12 2018-04-03 Amazon Technologies, Inc. Resource-based cipher suite selection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040038840A (en) * 2002-10-31 2004-05-08 마쯔시다덴기산교 가부시키가이샤 Communication device, communication system, and algorithm selection method
KR100846868B1 (en) 2005-01-17 2008-07-17 엘지전자 주식회사 Method for managing tls session in supl based location information system
US9935769B1 (en) * 2014-12-12 2018-04-03 Amazon Technologies, Inc. Resource-based cipher suite selection
US9888037B1 (en) * 2015-08-27 2018-02-06 Amazon Technologies, Inc. Cipher suite negotiation

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220071643A (en) * 2020-11-24 2022-05-31 부산대학교 산학협력단 Agent based cryptographic module interworking system and its method
CN114679260A (en) * 2021-12-20 2022-06-28 北京亿赛通科技发展有限责任公司 Method, system and terminal for encrypting data by compatibly extending main key through bypass audit
CN114679260B (en) * 2021-12-20 2024-02-09 北京亿赛通科技发展有限责任公司 Bypass audit compatible extension master key encryption data method, system and terminal

Also Published As

Publication number Publication date
KR102128244B1 (en) 2020-06-30

Similar Documents

Publication Publication Date Title
US11463427B2 (en) Technologies for token-based authentication and authorization of distributed computing resources
CN111835752B (en) Lightweight authentication method based on equipment identity and gateway
RU2718689C2 (en) Confidential communication control
US8532620B2 (en) Trusted mobile device based security
US8130961B2 (en) Method and system for client-server mutual authentication using event-based OTP
US7992193B2 (en) Method and apparatus to secure AAA protocol messages
US10567370B2 (en) Certificate authority
US8732461B2 (en) Client apparatus, server apparatus, and program using entity authentication and biometric authentication
US9288234B2 (en) Security policy enforcement
AU2016287732A1 (en) Mutual authentication of confidential communication
US11044082B2 (en) Authenticating secure channel establishment messages based on shared-secret
JP2023501449A (en) Forward Secrecy in Transport Layer Security Using Ephemeral Keys
Polk et al. Guidelines for the selection, configuration, and use of transport layer security (TLS) implementations
US20160044023A1 (en) Authentication policy enforcement
US20140331287A1 (en) Authentication policy enforcement
JP5992535B2 (en) Apparatus and method for performing wireless ID provisioning
KR102128244B1 (en) Ssl/tls based network security apparatus and method
KR102591826B1 (en) Apparatus and method for authenticating device based on certificate using physical unclonable function
US20240113885A1 (en) Hub-based token generation and endpoint selection for secure channel establishment
JP4963425B2 (en) Session key sharing system, third party organization device, request side device, and response side device
CN110912685A (en) Establishing a protected communication channel
JP2004140636A (en) System, server, and program for sign entrustment of electronic document
CN114124362B (en) Key distribution method, device and computer readable medium
US11153288B2 (en) System and method for monitoring leakage of internal information by analyzing encrypted traffic
Kumar et al. A Security Pattern for the Transport Layer Security (TLS) Protocol

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