KR20190129478A - Ssl/tls based network security apparatus and method - Google Patents
Ssl/tls based network security apparatus and method Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3242—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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/3273—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
본 발명은 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.
본 발명의 일 실시예는 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
클라이언트(110)는 통신 채널을 통해 네트워크 보안 장치(130)와 통신을 수행하는 컴퓨팅 장치에 해당하고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 클라이언트(110)는 네트워크 보안 장치(130)와 네트워크를 통해 연결될 수 있고, 적어도 하나의 클라이언트(110)는 네트워크 보안 장치(130)와 동시에 연결될 수 있다.The
네트워크 보안 장치(130)는 클라이언트(110)와의 통신을 위하여 데이터의 기밀성 및 무결성을 제공하는 통신 채널을 생성할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 네트워크 보안 장치(130)는 클라이언트(110)와 블루투스, WiFi, LTE, Ethernet 등을 통해 무선으로 연결될 수 있고, 네트워크를 통해 클라이언트(110)와 데이터를 주고 받을 수 있다.The
네트워크 보안 장치(130)는 데이터베이스(150)를 포함하여 구현될 수 있고, 데이터베이스(150)와 별도로 구현될 수 있다. 데이터베이스(150)와 별도로 구현된 경우 네트워크 보안 장치(130)는 데이터베이스(150)와 연결되어 데이터를 송수신할 수 있다.The
데이터베이스(150)는 네트워크 보안 장치(130)가 클라이언트(110)와의 통신 채널을 생성하기 위해서 사용하는 다양한 정보들을 저장할 수 있다. 예를 들어, 데이터베이스(150)는 클라이언트(110) 및 네트워크 보안 장치(130) 간의 상호 인증을 위하여 서로 주고 받는 인증 데이터를 저장할 수 있고, 통신 보안을 위하여 사용하는 암호 알고리즘 및 설정 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, 클라이언트(110) 및 네트워크 보안 장치(130) 간의 통신 채널을 생성하는 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.The
데이터베이스(150)는 특정 범위에 속하는 정보들을 저장하는 적어도 하나의 독립된 서브-데이터베이스들로 구성될 수 있고, 적어도 하나의 독립된 서브-데이터베이스들이 하나로 통합된 통합 데이터베이스로 구성될 수 있다. 적어도 하나의 독립된 서브-데이터베이스들로 구성되는 경우에는 각각의 서브-데이터베이스들은 블루투스, WiFi, LTE 등을 통해 무선으로 연결될 수 있고, Ethernet 등의 유선 네트워크를 통해 상호 간의 데이터를 주고 받을 수 있다. 통합 데이터베이스로 구성되는 경우에는 각각의 서브-데이터베이스들을 하나로 통합하고 상호 간의 데이터 교환 및 제어 흐름을 관리하는 제어부를 포함할 수 있다.The
도 2는 도 1에 있는 네트워크 보안 장치를 설명하는 블록도이다.FIG. 2 is a block diagram illustrating a network security device of FIG. 1.
도 2를 참조하면, 네트워크 보안 장치(130)는 보안 능력 설정부(210), 통신 채널 인증부(230), 암호화 통신 수행부(250) 및 제어부(270)를 포함할 수 있다.2, the
보안 능력 설정부(210)는 제1 통신 환경에 따라 채널 암호 수트(Cipher Suite) 집합에 있는 채널 암호 수트를 결정하여 클라이언트(110)의 보안 능력을 설정할 수 있다. 여기에서, 채널 암호 수트는 클라이언트(110)와 네트워크 보안 장치(130) 간의 상호 인증을 수행하는 과정에서 사용되는 키교환 알고리즘 및 MAC 알고리즘의 추천 세트에 해당할 수 있고, 채널 암호 수트 집합은 보안 능력 설정부(210)에서 선택 가능한 다양한 채널 암호 수트들을 모아 놓은 것에 해당할 수 있다.The security
제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
일 실시예에서, 보안 능력 설정부(210)는 채널 암호 수트의 보안 강도를 데이터 암호 수트의 보안 강도보다 더 강하게 설정할 수 있다. 보안 능력 설정부(210)는 클라이언트(110) 및 네트워크 보안 장치(130) 간의 통신 채널 생성 과정이 데이터 전송 과정보다 상대적으로 보안에 더 취약한 점을 고려하여 통신 채널 생성 과정에서 사용되는 채널 암호 수트의 보안 강도를 데이터 암호 수트의 보안 강도보다 더 강하게 설정할 수 있다. 보안 능력 설정부(210)는 보안 강도가 일정 수준 이상인 알고리즘으로만 구성된 채널 암호 수트들 중에서 어느 하나를 선택함으로써 암호 수트의 보안 강도를 설정할 수 있다.In one embodiment, the security
일 실시예에서, 보안 능력 설정부(210)는 제1 통신 환경에 따라 키교환 알고리즘 및 MAC(Message Authentication Code) 알고리즘에 대해 KCMVP(Korea Cryptographic Module Validation Program) 검증필 암호모듈이 적용된 채널 암호 수트를 결정할 수 있다. 여기에서, KCMVP는 한국 암호모듈 검증제도에 해당하고 국가 및 공공기관에 도입되는 상용 보안제품에 대한 안전성을 확보하기 위해 국가정보원에 의해 시행되고 있다. According to an embodiment, the security
보안 능력 설정부(210)는 채널 암호 수트 집합에서 KCMVP 검증을 통과한 키교환 알고리즘 및 MAC 알고리즘을 포함하여 구성된 채널 암호 수트를 결정함으로써 클라이언트(110) 및 네트워크 보안 장치(130) 간의 통신 채널 생성에 있어서 보안 강도를 강화할 수 있다. 예를 들어, 보안 능력 설정부(210)는 KCMVP 검증필 암호모듈에서 제공하는 공개키 기반의 암호 알고리즘인 RSA 및 ECDSA 중 적어도 하나를 포함하여 구성된 암호 수트를 채널 암호 수트로서 결정할 수 있다.The security
통신 채널 인증부(230)는 클라이언트(110)에 서버 공개키를 제공하여 클라이언트(110)가 서버 인증을 수행하도록 하고 서버 인증이 성공적으로 수행되면 클라이언트(110)로부터 클라이언트 공개키를 수신하여 클라이언트(110)에 대한 클라이언트 인증을 수행하여, 상호 인증 채널을 생성할 수 있다. 여기에서, 서버는 네트워크 보안 장치(130)에 해당할 수 있다.The communication
클라이언트(110)는 통신 채널 인증부(230)로부터 제공받은 서버 공개키와 서버 인증서를 이용하여 서버 인증을 수행할 수 있다. 보다 구체적으로, 클라이언트(110)는 서버 공개키와 서버 인증서가 신뢰할 수 있는 것인지 확인함으로써 서버 인증을 수행할 수 있다. 예를 들어, 클라이언트(110)는 신뢰할 수 있는 인증기관 목록을 자체적으로 보관할 수 있고, 통신 채널 인증부(230)로부터 제공받은 서버 공개키와 서버 인증서가 신뢰할 수 있는 인증기관에서 발행된 것인지, 유효 기간이 만료되지 않았는지 등을 확인하여 서버 인증을 수행할 수 있다.The
클라이언트(110)에서의 서버 인증이 성공적으로 수행된 경우 통신 채널 인증부(230)는 클라이언트(110)로부터 클라이언트 공개키를 수신하여 클라이언트 인증을 수행할 수 있다. 보다 구체적으로, 통신 채널 인증부(230)는 클라이언트 공개키와 클라이언트 인증서가 신뢰할 수 있는 것인지 확인함으로써 클라이언트 인증을 수행할 수 있다. When server authentication is successfully performed at the
일 실시예에서, 통신 채널 인증부(230)는 서버 인증이 성공적으로 수행된 경우 클라이언트(110)로부터 서버 공개키를 이용하여 암호화된 사전 마스터 비밀(Pre-Master Secret)을 추가로 수신할 수 있다. 여기에서, 사전 마스터 비밀(Pre-Master Secret)은 클라이언트(110)가 만든 난수에 해당할 수 있고, 마스터 비밀(Master Secret)을 생성하는데 사용될 수 있다. 예를 들어, 서버 및 클라이언트(110)는 사전 마스터 비밀, 클라이언트 난수 및 서버 난수를 이용하여 마스터 비밀을 각각 생성할 수 있다.In one embodiment, the communication
마스터 비밀(Master Secret)은 클라이언트(110)와 서버가 합의한 비밀값에 해당할 수 있고, 통신의 기밀성을 보장하는데 사용될 수 있다. 마스터 비밀은 클라이언트(110)와 서버 간의 통신 암호화에 사용되는 세션키를 생성하는데 사용될 수 있다. 예를 들어, 마스터 비밀은 대칭 암호키, 메시지 인증 코드키 및 대칭 암호 CBC 모드에서 이용하는 초기화 벡터를 생성하는데 사용될 수 있다.The master secret may correspond to a secret value agreed between the
클라이언트(110)는 임의의 사전 마스터 비밀을 생성할 수 있고 서버 공개키를 이용하여 사전 마스터 비밀을 암호화할 수 있다. 또한, 클라이언트(110)는 사전 마스터 비밀을 ClientKeyExchange 메시지에 포함시켜 네트워크 보안 장치(130)로 전송할 수 있다. 통신 채널 인증부(230)는 전송받은 정보를 복호화하여 사전 마스터 비밀을 획득할 수 있고, 사전 마스터 비밀을 이용하여 마스터 비밀을 생성할 수 있다.
암호화 통신 수행부(250)는 상호 인증 채널이 생성되면 제2 통신 환경에 따라 데이터 암호 수트 집합에 있는 데이터 암호 수트를 결정하여 상호 인증 채널 상에 통신되는 데이터의 기밀성을 제공할 수 있다. 클라이언트(110) 및 네트워크 보안 장치(130) 간의 상호 인증이 완료된 경우, 클라이언트(110)와 네트워크 보안 장치(130)는 동일한 세션키를 공유할 수 있고, 암호화 통신 수행부(250)는 세션키를 이용하여 데이터를 암호화하거나 또는 복호화할 수 있다. When the mutual authentication channel is generated, the encryption
여기에서, 데이터 암호 수트는 클라이언트(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
암호화 통신 수행부(250)는 제2 통신 환경에 가장 적합한 데이터 암호 수트를 결정할 수 있고 데이터 암호 수트에 포함된 암호 알고리즘 및 세션키를 이용하여 데이터를 암호화하거나 또는 복호화함으로써 데이터의 기밀성을 제공할 수 있다. 다른 실시예에서, 암호화 통신 수행부(250)는 제2 통신 환경에 상관없이 클라이언트(110)에서 요청하는 데이터 암호 수트를 결정하여 상호 인증 채널 상에 통신되는 데이터의 기밀성을 제공할 수 있다.The encryption
일 실시예에서, 암호화 통신 수행부(250)는 제2 통신 환경에 따라 암호 알고리즘에 대해 KCMVP 검증필 암호모듈이 적용된 데이터 암호 수트를 결정할 수 있다. 암호화 통신 수행부(250)는 데이터 암호 수트 집합에서 KCMVP 검증을 통과한 암호 알고리즘을 포함하여 구성된 데이터 암호 수트를 결정함으로써 클라이언트(110) 및 네트워크 보안 장치(130) 간의 데이터 교환에 있어서 보안 강도를 강화할 수 있다. 예를 들어, 암호화 통신 수행부(250)는 KCMVP 검증필 암호모듈에서 제공하는 국내 암호 알고리즘인 ARIA, SEED, HiGHT 및 LEA 중 적어도 하나를 포함하여 구성된 암호 수트를 데이터 암호 수트로서 결정할 수 있다.In one embodiment, the encryption
일 실시예에서, 암호화 통신 수행부(250)는 제1 통신 환경 및 제2 통신 환경을 모두 고려하여 데이터 암호 수트를 결정할 수 있다. 보다 구체적으로, 암호화 통신 수행부(250)는 클라이언트(110) 및 네트워크 보안 장치(130) 간의 거리, 무선 통신의 종류, 통신 신호의 세기, 클라이언트(110)의 성능, 호환성 및 중요성 중 적어도 하나를 고려하여 데이터 암호 수트를 결정함으로써 무선 통신의 보안 강도를 조절할 수 있다.In one embodiment, the encrypted
일 실시예에서, 암호화 통신 수행부(250)는 제1 통신 환경 및 제2 통신 환경 각각에 가중치를 부여하고 가중화된 제1 통신 환경 및 제2 통신 환경에 따라 데이터 암호 수트를 결정할 수 있다. 예를 들어, 암호화 통신 수행부(250)는 제1 통신 환경에 포함된 요소들에 2의 가중치를 부여하고, 제2 통신 환경에 포함된 요소들에 0.5의 가중치를 부여한 후, 각각의 요소들에 의해 결정되는 전체 통신 환경을 고려하여 데이터 통신에 요구되는 보안 강도를 결정할 수 있고, 해당 보안 강도를 충족하는 데이터 암호 수트를 결정할 수 있다.In one embodiment, the encryption
일 실시예에서, 암호화 통신 수행부(250)는 제2 통신 환경에 상관없이 ARIA-128-CBC 및 SHA256으로 구성된 데이터 암호 수트를 결정하여 상호 인증 채널 상에 통신되는 데이터의 기밀성 및 무결성을 제공할 수 있다. 암호화 통신 수행부(250)는 클라이언트(110) 및 네트워크 보안 장치(130) 간의 상호 인증 채널이 생성된 후 제2 통신 환경을 고려하여 적절한 데이터 암호 수트를 결정할 수도 있지만, 제2 통신 환경을 고려하기 힘들거나 또는 불가능한 경우에 있어서 미리 결정된 데이터 암호 수트를 사용할 수 있다. 암호화 통신 수행부(250)는 128비트 키길이와 CBC 운영모드로 설정된 ARIA 및 해시함수인 SHA256으로 구성된 데이터 암호 수트를 기본 설정으로 제공하여 별도의 설정이 없더라도 보안 강도가 낮은 암호 알고리즘이 사용되지 않도록 할 수 있다.In one embodiment, the
제어부(270)는 네트워크 보안 장치(130)의 전체적인 동작을 제어하고, 보안 능력 설정부(210), 통신 채널 인증부(230) 및 암호화 통신 수행부(250) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The
도 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
네트워크 보안 장치(130)는 통신 채널 인증부(230)를 통해 클라이언트(110)에 서버 공개키를 제공하여 클라이언트(110)가 서버 인증을 수행하도록 하고 서버 인증이 성공적으로 수행되면 클라이언트(110)로부터 클라이언트 공개키를 수신하여 클라이언트(110)에 대한 클라이언트 인증을 수행하여, 상호 인증 채널을 생성할 수 있다(단계 S330).The
네트워크 보안 장치(130)는 암호화 통신 수행부(250)를 통해 상호 인증 채널이 생성되면 제2 통신 환경에 따라 데이터 암호 수트 집합에 있는 데이터 암호 수트를 결정하여 상호 인증 채널 상에 통신되는 데이터의 기밀성을 제공할 수 있다(단계 S350).When the mutual authentication channel is generated through the cryptographic
도 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
도 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
또한, 네트워크 보안 장치(130)는 핸드쉐이크의 모든 단계에서 사용되는 해시함수로서 KCMVP 검증필 암호모듈에서 제공하는 해시함수를 사용할 수 있다. 도 10에서, 네트워크 보안 장치(130)는 데이터 기밀성을 위해 블록암호 알고리즘으로서 ARIA, SEED, HiGHT 및 LEA 중 어느 하나를 사용할 수 있고, 운영모드로서 ECB, CBC 및 GCM 중 어느 하나를 사용할 수 있다. 네트워크 보안 장치(130)는 해시함수로서 SHA256를 사용할 수 있다.In addition, the
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.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)
상기 클라이언트에 서버 공개키를 제공하여 상기 클라이언트가 서버 인증을 수행하도록 하고 상기 서버 인증이 성공적으로 수행되면 상기 클라이언트로부터 클라이언트 공개키를 수신하여 상기 클라이언트에 대한 클라이언트 인증을 수행하여, 상호 인증 채널을 생성하는 통신 채널 인증부; 및
상기 상호 인증 채널이 생성되면 제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.
상기 채널 암호 수트의 보안 강도를 상기 데이터 암호 수트의 보안 강도보다 더 강하게 설정하는 것을 특징으로 하는 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 통신 환경에 따라 키교환 알고리즘 및 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.
상기 서버 인증이 성공적으로 수행된 경우 상기 클라이언트로부터 상기 서버 공개키를 이용하여 암호화된 사전 마스터 비밀(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.
상기 제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 통신 환경 및 상기 제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.
상기 제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.
제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.
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 (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113779619A (en) * | 2021-08-11 | 2021-12-10 | 深圳市证通云计算有限公司 | Encryption and decryption method for ceph distributed object storage system based on state cryptographic algorithm |
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 |
CN115314214A (en) * | 2022-06-17 | 2022-11-08 | 安徽科大国创软件科技有限公司 | TLS protocol implementation method based on support of hardware acceleration cryptographic algorithm |
CN118070347A (en) * | 2023-10-19 | 2024-05-24 | 中金金融认证中心有限公司 | Code signature verification method, device, electronic equipment and storage medium |
Families Citing this family (1)
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)
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 |
-
2018
- 2018-05-11 KR KR1020180054201A patent/KR102128244B1/en active IP Right Grant
Patent Citations (4)
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 (6)
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 |
CN113779619A (en) * | 2021-08-11 | 2021-12-10 | 深圳市证通云计算有限公司 | Encryption and decryption method for ceph distributed object storage system based on state cryptographic algorithm |
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 |
CN115314214A (en) * | 2022-06-17 | 2022-11-08 | 安徽科大国创软件科技有限公司 | TLS protocol implementation method based on support of hardware acceleration cryptographic algorithm |
CN118070347A (en) * | 2023-10-19 | 2024-05-24 | 中金金融认证中心有限公司 | Code signature verification method, device, electronic equipment and storage medium |
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 | |
KR102128244B1 (en) | Ssl/tls based network security apparatus and method | |
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 | |
US8732461B2 (en) | Client apparatus, server apparatus, and program using entity authentication and biometric authentication | |
US10567370B2 (en) | Certificate authority | |
US9288234B2 (en) | Security policy enforcement | |
JP2023501449A (en) | Forward Secrecy in Transport Layer Security Using Ephemeral Keys | |
AU2016287732A1 (en) | Mutual authentication of confidential communication | |
US11044082B2 (en) | Authenticating secure channel establishment messages based on shared-secret | |
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 | |
US20240113885A1 (en) | Hub-based token generation and endpoint selection for secure channel establishment | |
US20240187221A1 (en) | Agile cryptographic deployment service | |
KR20090098542A (en) | Encryption data communication system using proxy and method for encryption data communication thereof | |
CN110912685A (en) | Establishing a protected communication channel | |
KR102591826B1 (en) | Apparatus and method for authenticating device based on certificate using physical unclonable function | |
JP2004140636A (en) | System, server, and program for sign entrustment of electronic document | |
CN116015906B (en) | Node authorization method, node communication method and device for privacy calculation | |
CN114124362B (en) | Key distribution method, device and computer readable medium | |
JP2008211329A (en) | Session key sharing system, third institution apparatus, request-side apparatus and answer-side apparatus |
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 |