KR102580639B1 - 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템 및 암호화 방법 - Google Patents

네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템 및 암호화 방법 Download PDF

Info

Publication number
KR102580639B1
KR102580639B1 KR1020230036098A KR20230036098A KR102580639B1 KR 102580639 B1 KR102580639 B1 KR 102580639B1 KR 1020230036098 A KR1020230036098 A KR 1020230036098A KR 20230036098 A KR20230036098 A KR 20230036098A KR 102580639 B1 KR102580639 B1 KR 102580639B1
Authority
KR
South Korea
Prior art keywords
key
client device
key exchange
signature information
data server
Prior art date
Application number
KR1020230036098A
Other languages
English (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 KR1020230036098A priority Critical patent/KR102580639B1/ko
Application granted granted Critical
Publication of KR102580639B1 publication Critical patent/KR102580639B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 표준 TCP/IP 네트워크의 특징 및 암호 프로토콜의 특징을 결합하여 TCP Handshake 단계에서 암호 키 교환을 수행하고, 디바이스의 고유한 시그니처 정보를 사용하여, 암호 키 생성 데이터로 사용하여, 보안성을 강화하는 것을 특징으로 하는 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템 및 암호화 방법에 관한 것이다.

Description

네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템 및 암호화 방법 {DATA SYSTEM AND ENCRYPTION METHOD BASED ON KEY EXCHANGE CRYPTOGRAPHIC PROTOCOL USING ENHANCED SECURITY FUNCTION IN NETWORK LAYER}
본 발명은 표준 TCP/IP 네트워크의 특징 및 암호 프로토콜의 특징을 결합하여 TCP Handshake 단계에서 암호 키 교환을 수행하고, 디바이스의 고유한 시그니처 정보를 사용하여, 암호 키 생성 데이터로 사용하여, 보안성을 강화하는 것을 특징으로 하는 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템 및 암호화 방법에 관한 것이다.
최근, 통신기술 및 IT기술이 발달하면서 보안에 대한 중요성이 커지고 있다. 특히 데이터 통신 네트워크에 기반하여 데이터를 전달, 교환, 수집, 저장하는 모든 시스템 및 디바이스는 데이터 전송 시 발생하는 해킹, 데이터 변조, 위조 등의 보안 위협을 방지하기 위해, 다양한 암호 알고리즘을 적용한 데이터 암호화를 적용하고 있다.
이러한 암호화 알고리즘 중, 디피 헬만(Diffie-Hellman) 알고리즘은, 두 당사자 간에, 사전에 준비된 키가 없더라도, 일련의 패킷(데이터)를 교환해가며 대칭 키를 합의하는 키 교환 알고리즘이다.
디피 헬만 알고리즘은 대칭키를 사용하므로, 암복호화 속도가 빠르고, 사전에 준비된 키가 없어도 키 교환을 통해 비밀키를 만들 수 있으며, 이산 대수를 기반으로 하고 있으므로, 이산 대수 문제의 어려움으로 인해 안전성이 유지되는 장점이 있다.
그러나, 중간자가 개입하여 키 교환 단계에서의 데이터를 조작하면 MIM(Man In the Middle attack)에 취약한 문제점이 있다.
따라서, 상기 문제를 보완하여, 키 교환 과정에서의 안정성을 보장할 수 있는 보안 프로토콜을 적용하여 데이터 통신을 수행하는 시스템 및 방법이 필요할 것이다.
본 발명은 상기 문제점을 해결하기 위해 표준 TCP/IP 네트워크의 특징 및 암호 프로토콜의 특징을 결합하여 새로운 형태의 발명을 제안하고, 기존 키 교환 및 암호 프로토콜이 가지고 있는 현실적인 문제점을 보완하고 이를 가장 효과적인 통신 프로토콜과 결합함으로 인해 보다 강력한 보안 프로토콜 개발 및 효과적인 프로토콜을 기반으로 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템 및 암호화 방법을 제공하는데 그 목적이 있다.
본 발명의 일 실시예에 따른 네트워크 계층에 강화된 보안 기능을 활용 키 교환 암호 프로토콜 기반 데이터 시스템은, 시그니처 정보를 전달하여, 장치 등록을 요청하고, 키 교환 암호 프로토콜을 사용하여 암호키를 교환하고, 상기 암호키를 사용하여 데이터를 암복호화 하는 클라이언트 장치; 및 상기 클라이언트 장치의 시그니처 정보를 수신하여, 등록하고, 등록된 상기 클라이언트 장치와 상기 키 교환 암호 프로토콜을 사용하여 암호키를 교환하며, 상기 암호키를 사용하여 데이터를 암복호화 하는 보안 데이터 서버;를 포함하고, 상기 키 교환 암호 프로토콜은 상기 시그니처 정보를 사용하여 키 교환을 수행하는 것을 특징으로 할 수 있다.
또한, 상기 시그니처 정보는, 상기 클라이언트 장치의 IP, 연결포트정보(Open Port Information), 맥 어드레스 (Media Access Control Address) 및 운영체제정보 중 적어도 하나 이상을 조합하여 일 방향 해시함수를 적용한 고유 식별값인 것을 특징으로 할 수 있다.
또한, 상기 시그니처 정보는, 상기 클라이언트 장치의 서명 정보로 사용되고, 최초 등록 이후, 변화된 시간 정보가 반영되어 시간의 변화에 따라 상기 시그니처 정보의 값이 변경되는 것을 특징으로 할 수 있다.
또한, 상기 보안 데이터 서버는, 상기 클라이언트 장치로부터 상기 시그니처 정보를 수신하여 상기 클라이언트 장치를 등록하고, 상기 시그니처 정보를 주기적으로 검증하는 장치 관리부; 암호키를 생성하고, 상기 클라이언트 장치에 대한 서명을 인증하며, 키 교환을 통해 생성된 대칭키를 사용하여 데이터 암복호화를 수행하는 보안인증부; 및 상기 클라이언트 장치와 상기 키 교환 암호 프로토콜을 사용하여 통신 세션을 연결하고, 연결된 통신 세션을 통해 데이터를 송수신하는 통신 제어부;를 구비할 수 있다.
또한, 상기 보안인증부는, 공개키 및 개인키를 포함하는 비대칭키 페어(Pair)를 생성하는 비대칭키 생성부; 키 교환에 사용되는 제1매개변수, 제2매개변수 및 제2부분키를 생성하는 키교환부; 및 키 교환을 통해 합의된 대칭키를 사용하여 데이터를 암복호화하는 암복호화부;를 포함할 수 있다.
또한, 상기 보안인증부는, 상기 비대칭키 페어(Pair)를 사용하여, 디지털 서명을 인증하는 서명 인증부;를 더 포함할 수 있다.
또한, 상기 제1매개변수 및 제2매개변수는, 상기 클라이언트 장치로부터 수신한 시그니처 정보를 사용하여 생성하고, 상기 보안 데이터 서버 및 상기 클라이언트 장치에서 사전에 정의된 동일한 방법으로 생성되어 동일한 값을 가지는 것을 특징으로 할 수 있다.
또한, 상기 통신 제어부는, 상기 키 교환 암호 프로토콜을 사용하여 상기 클라이언트 장치와 키 교환을 위한 통신 세션을 연결하는 보안세션 연결부; 및
적어도 하나 이상의 상기 클라이언트 장치와의 통신 연결을 제어하는 통신연결 관리부;를 포함하고, 상기 키 교환 암호 프로토콜은, TCP 프로토콜을 기반으로 하고, TCP 연결 과정에서 TCP 패킷 헤더(Header)의 TCP 제어 플래그(TCP Flag), 긴급 포인터(Urgent Pointer) 필드 및 TCP 옵션(Option) 필드를 이용하여 키 교환을 하는 것을 특징으로 할 수 있다.
또한, 상기 클라이언트 장치는, 상기 시그니처 정보를 생성하고, 상기 시그니처 정보를 전송하여 장치 등록을 요청하는 시그니처 생성부; 상기 시그니처 정보를 사용하여 키 교환에 사용되는 제1매개변수, 제2매개변수 및 제1부분키를 생성하고, 키 교환을 통해 생성된 대칭키를 사용하여 암복호화를 수행하는 장치보안부; 및 상기 보안 데이터 서버와 상기 키 교환 암호 프로토콜을 사용하여 통신 세션을 연결하고, 연결된 통신 세션을 통해 데이터를 송수신하는 보안 통신부;를 구비할 수 있다.
한편, 본 발명의 일 실시예에 따른 네트워크 계층에 강화된 보안 기능을 활용 키 교환 암호 프로토콜 기반 암호화 방법은, 키 교환 암호 프로토콜 기반 데이터 시스템에서, 보안 데이터 서버가 클라이언트 장치의 연결 상태를 확인하여 클라이언트 장치의 시그니처 정보를 수집하는 단계; 상기 클라이언트 장치와 상기 보안 데이터 서버가 키 교환 암호 프로토콜을 사용하여 부분키를 교환하는 단계; 상기 클라이언트 장치와 상기 보안 데이터 서버가 교환한 상기 부분키를 사용하여 대칭키를 생성하는 단계; 및 상기 클라이언트 장치와 상기 보안 데이터 서버가 상기 대칭키를 사용하여 데이터를 암복호화하는 단계;를 포함할 수 있다.
또한, 상기 보안 데이터 서버가 상기 클라이언트 장치의 연결 상태를 확인하여 상기 클라이언트 장치의 시그니처 정보를 수집하는 단계는, 상기 보안 데이터 서버가 상기 클라이언트 장치의 네트워크 연결 상태를 체크하는 단계; 상기 보안 데이터 서버가 자신의 공개키를 전달하고, 상기 클라이언트 장치의 시그니처 정보를 요청하는 단계; 상기 클라이언트 장치가 시그니처 정보를 생성하는 단계; 상기 클라이언트 장치가, 생성한 시그니처 정보를 상기 보안 데이터 서버로부터 수신한 공개키를 사용하여 암호화하고, 상기 보안 데이터 서버로 전송하는 단계; 및 상기 보안 데이터 서버가 상기 시그니처 정보를 복호화하고, 등록하는 단계;를 포함할 수 있다.
또한, 상기 클라이언트 장치와 상기 보안 데이터 서버가 상기 키 교환 암호 프로토콜을 사용하여 부분키를 교환하는 단계는, 상기 클라이언트 장치가 제1부분키를 생성하여 전송하는 단계; 상기 보안 데이터 서버가 상기 제1부분키를 수신하고, 제2부분키를 생성하여 전송하는 단계; 및 상기 클라이언트 장치가 상기 제2부분키를 수신하는 단계;를 포함할 수 있다.
또한, 상기 클라이언트 장치가 제1부분키를 생성하여 전송하는 단계는, 상기 시그니처 정보, 시간 정보, 제1매개변수 및 제2매개변수를 조합하여 제1부분키를 생성하는 단계; 및 상기 제1부분키를 TCP SYN 패킷에 포함하여 상기 보안 데이터 서버로 전송하는 단계;를 포함하고, 상기 제1매개변수 및 상기 제2매개변수는, 상기 시그니처 정보를 사용하여 생성되고, 상기 보안 데이터 서버에서 생성된 제1매개변수 및 제2매개변수와 동일한 방법으로 생성되는 것을 특징으로 할 수 있다.
또한, 상기 보안 데이터 서버가 상기 제1부분키를 수신하고, 제2부분키를 생성하여 전송하는 단계는, 상기 클라이언트 장치로부터 TCP SYN 패킷을 수신하여 상기 제1부분키를 추출하는 단계; 상기 보안 데이터 서버의 비밀키, 제1매개변수 및 제2매개변수를 조합하여 제2부분키를 생성하는 단계; 및 상기 제2부분키를 TCP SYN/ACK 패킷에 포함하여 상기 클라이언트 장치로 전송하는 단계;를 포함하고, 상기 제1매개변수 및 상기 제2매개변수는, 상기 시그니처 정보를 사용하여 생성되고, 상기 클라이언트 장치에서 생성된 제1매개변수 및 제2매개변수와 동일한 방법으로 생성되는 것을 특징으로 할 수 있다.
또한, 상기 클라이언트 장치가 상기 제2부분키를 수신하는 단계는, 상기 보안 데이터 서버로부터 TCP SYN/ACK 패킷을 수신하여 상기 제2부분키를 추출하는 단계; 및 TCP ACK 패킷을 상기 보안 데이터 서버로 전송하는 단계;를 포함할 수 있다.
디피 헬만(Diffie-Hellman) 알고리즘의 문제점인 중간자가 개입하여 키 교환 단계에서의 데이터를 조작하면 MIM(Man In the Middle attack)에 취약한 문제점을 개선하여 중간자 공격을 완전히 방어할 수 있는 효과가 있다.
또한, 암호화 프로토콜의 키 교환 과정을 세션 생성 과정에 결합함으로 인해 보다 강력한 키 교환 효율성을 얻을 수 있다.
또한, DDoS와 같이 외부 공격에 대해 보다 효과적으로 방어가 가능하다.
도 1은 본 발명의 일 실시예에 따른 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템(10)의 전체 개략도이다.
도 2는 본 발명의 일 실시예에 따른 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템(10)에서 보안 데이터 서버(100)의 기능을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템(10)에서 클라이언트 장치(200)의 기능을 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 키 교환 암호 프로토콜에서 사용하는 TCP의 헤더 패킷의 구조를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 키 교환 암호 프로토콜을 사용하여 암호화 키를 교환하는 방법을 상세히 나타낸 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 키 교환 암호 프로토콜 기반 암호화 방법을 나타낸 순서도이다.
도 7은 본 발명의 일 실시예에 따른 키 교환 암호 프로토콜 기반 암호화 방법에서 클라이언트 장치(200)의 시그니처 정보를 수집하는 단계를 상세히 나타낸 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 키 교환 암호 프로토콜 기반 암호화 방법에서 TCP 세션 과정을 통한 키 교환 방법에 대해 상세히 나타낸 흐름도이다.
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다.
그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 설정된 용어들로써 이는 발명자의 의도 또는 관례에 따라 달라질 수 있으므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이고, 본 명세서에서 본 발명에 관련된 공지의 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에 이에 관한 자세한 설명은 생략하기로 한다.
이하, 도면을 참조로 하여 본 발명에 따른 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템 및 암호화 방법을 설명한다.
도 1은 본 발명의 일 실시예에 따른 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템(10)의 전체 개략도이다.
본 발명의 일 실시예에 따른 키 교환 암호 프로토콜 기반 데이터 시스템(10)은 적어도 하나 이상의 클라이언트 장치(200)와 보안 데이터 서버(100)를 포함하여 구성될 수 있고, 네트워크로 연결되어 서로 통신할 수 있다.
본 발명에서 언급하는 네트워크라 함은 유선 공중망, 무선 이동 통신망, 또는 휴대 인터넷 등과 통합된 코어 망일 수도 있고, TCP/IP 프로토콜 및 그 상위 계층에 존재하는 여러 서비스, 즉 HTTP(Hyper Text Transfer Protocol), HTTPS(Hyper Text Transfer Protocol Secure), Telnet, FTP(File Transfer Protocol) 등을 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미할 수 있으며, 이러한 예에 한정하지 않고 다양한 형태로 데이터를 송수신할 수 있는 데이터 통신망을 포괄적으로 의미하는 것이다.
본 발명에서 클라이언트 장치(200)는 영상을 촬영/캡쳐(Capture)하여 전송하는 카메라/촬영 장치, 각종 데이터를 수집하는 센서, IoT 디바이스 등 데이터를 수집하고, 키 교환 암호 프로토콜을 통해 획득한 암호키를 사용하여 전송하는 장치를 포함할 수 있다.
본 발명에서 언급하는 보안 데이터 서버(100)는 클라이언트 장치(200)의 통신 연결 요청에 대해 키 교환 암호 프로토콜을 사용하여 암호키를 교환하고, 양방향 통신 채널을 생성 후, 클라이언트 장치(200)로부터 암호화된 데이터를 수신하여 복호화할 수 있다.
또한, 클라이언트 장치의 고유값인 시그니처 정보를 통해 적어도 하나 이상의 클라이언트 장치(200)를 관리하고, 각 클라이언트 장치(200)와의 통신 연결을 제어할 수 있다.
또한 본 발명에서 언급하는 보안 데이터 서버(100)는 일종의 네트워크 데이터 저장 서버, 데이터베이스 서버, IoT서버, 미디어 서버 및 어플리케이션, 서버 중 적어도 하나 이상의 역할을 하는 서버로 구축될 수 있다.
또한, 상기 열거한 각각의 역할을 하나의 물리적 서버에서 수행할 수도 있고, 물리적으로 분리된 복수개의 서버로 구성되어 운영될 수도 있다. 다만, 이에 한정하지 않고, 서버의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변경 가능하다.
도 2는 본 발명의 일 실시예에 따른 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템(10)에서 보안 데이터 서버(100)의 기능을 나타낸 블록도이다.
이하에서는 도 2를 참조하여 보안 데이터 서버(100)의 구체적인 기능에 대해 살펴보기로 한다.
보안 데이터 서버(100)는 장치 관리부(110), 보안인증부(120), 통신 제어부(130) 및 스토리지(Storage, 140)를 구비할 수 있다.
먼저, 장치 관리부(110)는 클라이언트 장치(200)로부터 시그니처 정보를 수신하여 등록하고, 시그니처 정보를 검증할 수 있다.
여기서, 시그니처 정보는 클라이언트 장치(200)를 고유하게 식별할 수 있는 정보를 의미할 수 있다.
예를 들어, 시그니처 정보(K)는 클라이언트 장치(200)의 IP, 연결포트정보(Open Port Information), 맥 어드레스(MAC Address) 및 운영체제정보 중 적어도 하나 이상을 조합하여 일 방향 해시함수를 적용한 값일 수 있다.
한편, 장치 관리부(110)는 클라이언트 장치(200)로부터 시그니처 정보(K)를 수신하여 시그니처 정보(K)를 등록하는 시그니처 등록부(111)와 클라이언트 장치(200)를 검증하는 시그니처 검증부(112)를 포함할 수 있다.
시그니처 등록부(111)는 적어도 하나 이상의 클라이언트 장치(200)에 대해 네트워크 연결 상태를 확인하고, 클라이언트 장치(200)의 시그니처 정보(K)를 요청할 수 있다.
이때, 비연결지향성 네트워크 프로토콜에 사용되는 ICMP(Internet Control Message Protocol)를 사용하여 네트워크 연결 상태를 확인할 수 있다.
이후, 클라이언트 장치(200)로부터 시그니처 정보(K)를 수신하면, 해당 정보를 클라이언트 장치(200)의 접속 정보, 디바이스 관리 번호 등과 매핑하여 저장하여 관리할 수 있다.
이렇게 등록된 시그니처 정보(K)는 이후 시그니처 검증부(112)에 의해 클라이언트 장치(200)의 해킹 여부 및 이상 상태 감지에 사용될 수 있다.
시그니처 검증부(112)는 클라이언트 장치(200)의 장치 고유 정보를 수집하여 검증용 시그니처 정보를 생성하고, 최초 등록된 시그니처 정보(K)와 검증용 시그니처 정보를 비교하는 유효성 검사를 수행할 수 있다.
예를 들어, 어태커(ATTACKER)가 특정 클라이언트 장치(200)에 해킹하여 데이터를 변조하려는 경우, 해킹된 클라이언트 장치(200)의 IP, 연결포트정보, 운영체제정보 등이 변경될 수 있다.
상기 연결포트정보, 운영체제정보는 클라이언트 장치(200)의 시그니처 정보(K)를 생성하는데 사용되는 장치 고유 정보이므로, 상기 장치 고유 정보가 변경되면 시그니처 정보(K)도 변경되게 된다.
따라서, 수집한 IP, 연결포트정보, 운영체제정보와 초기에 등록된 클라이언트 장치(200)의 맥 어드레스(Mac Address) 정보를 조합하여, 검증용 시그니처 정보를 생성하고, 검증용 시그니처 정보와 등록된 시그니처 정보(K)를 비교하여 일치되지 않는 경우, 장치가 비정상적 상태라고 판단할 수 있다.
보안인증부(120)는 암호키를 생성하고, 상기 클라이언트 장치에 대한 서명을 인증하며, 키 교환을 통해 생성된 대칭키를 사용하여 데이터 암복호화를 수행할 수 있다.
보다 구체적으로, 보안인증부(120)는 비대칭키 생성부(121), 키교환부(122), 암복호화부(123) 및 서명 인증부(124)를 포함할 수 있다.
먼저, 비대칭키 생성부(121)는 공개키/개인키를 포함하는 비대칭키 페어(Pair)를 생성하여, 관리할 수 있다.
상기 비대칭키 페어(Pair)는 장치 등록 과정에서 클라이언트 장치(200)의 시그니처 정보(K)를 암복호화 하는데 사용될 수 있다.
키교환부(122)는 키 교환 암호 프로토콜을 통해 개인키를 교환할 때 적용하는 제1매개변수(g), 제2매개변수(p) 및 제2비밀키(B)를 생성, 관리할 수 있다.
제1매개변수(g)와 제2매개변수(p)는 클라이언트 장치(200)의 시그니처 정보(K)를 사용하여 클라이언트 장치(200) 및 보안 데이터 서버(100)에서 동일한 방법으로 생성될 수 있다.
예를 들어, g는 Hash(K + 시간값) 으로 계산될 수 있다.
이때, 시간값은 시그니처 정보(K)이 등록된 시점으로부터 현재까지 변화된 시간을 정수로 나타낸 값일 수 있다.
예를 들어, p는 시그니처 정보(K)를 Seed로 생성한 소수 일 수 있다.
이때, 생성되는 소수는 Seed 정보가 동일하면 동일한 결과값이 생성되는 특정 API를 사용할 수 있다.
클라이언트 장치(200) 및 보안 데이터 서버(100)는 동일한 시그니처 정보(K)를 사용하여 동일한 수식 또는 API를 적용하여 제1매개변수(g)와 제2매개변수(p)를 계산하므로, 동일한 값을 가지는 매개 변수를 각각 생성할 수 있게 된다.
제2부분키(B)는 대칭키(비밀키) 협상을 위해 클라이언트 장치(200)에게 전달하는 교환키로 보안 데이터 서버(100)의 개인키, 제1매개변수(g), 제2매개변수(p)를 사용하여 생성할 수 있다.
암복호화부(123)는 키 교환 암호 프로토콜을 통해 합의된 대칭키(비밀키)를 사용하여 데이터의 암복호화 하는 과정을 수행할 수 있다.
서명 인증부(124)는 비대칭키 생성부(121)에서 생성된 키를 이용하여 클라이언트 장치(200)의 클라이언트 서명 정보를 인증할 수 있다.
이때, 클라이언트 장치(200)의 서명 정보는 시그니처 등록부(111)를 통해 등록된 시그니처 정보(K)일 수 있다.
클라이언트 장치(200)는 보안 데이터 서버(100)의 공개키를 사용하여 시그니처 정보(K)를 암호화하여 전달하고, 이를 수신한 보안 데이터 서버(100)는 개인키를 사용하여 시그니처 정보(K)를 복호화할 수 있다.
통신 제어부(130)는 클라이언트 장치(200)와 키 교환 암호 프로토콜을 사용하여 통신 세션을 연결하고, 연결된 통신 세션을 통해 데이터를 송수신할 수 있다.
보다 구체적으로, 통신 제어부(130)는 통신연결 관리부(131) 및 보안세션 연결부(132)를 포함할 수 있다.
통신연결 관리부(131)는 적어도 하나 이상의 클라이언트 장치(200)와의 연결을 관리하고, 연결된 통신 채널을 통한 데이터 송수신을 수행할 수 있다.
또한, TCP/IP 프로토콜 기반 또는 그 상위 계층의 프로토콜을 지원하여 데이터를 송수신을 수행 할 수 있다.
또한, 시그니처 검증부(112)에 의해 클라이언트 장치(200)의 비정상 감지 또는 보안인증부(120)에 의해 인증 실패 또는 데이터 암복호화 실패 시에 클라이언트 장치(200)와의 통신 연결을 해제할 수 있다.
보안세션 연결부(132)는 키 교환 암호 프로토콜을 사용하여 보안 데이터 서버(100)와 클라이언트 장치(200) 간의 암호화된 데이터 송수신을 위한 키 교환 협상을 수행하여 대칭키(비밀키)를 생성하고, 해당 대칭키를 사용하여 데이터를 암복호화 할 수 있다.
키 교환 암호 프로토콜에 대한 설명은 도 4를 참조하여 이후, 자세히 설명하기로 한다.
보안 데이터 서버(100)는 스토리지/DB(140)를 포함할 수 있다.
보안 데이터 서버(100)는 클라이언트 장치(200)로부터 수집된 데이터를 저장할 수 있는 데이터베이스, DAS(Direct Attached Storage), NAS(Network Attached Storage), SAN(Storage Area Network) 등의 스토리지를 포함할 수 있다.
예를 들어, 클라이언트 장치(200)에 대한 정보(IP/Port, 시그니처 정보 등) 및 클라이언트 장치(200)가 수집하여 전송한 데이터에 대한 메타 정보는 DB를 통해 관리될 수 있고, 이미지, 영상, 문서 등의 정보는 스토리지에 저장되어 관리 될 수 있다.
도 3은 본 발명의 일 실시예에 따른 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템(10)에서 클라이언트 장치(200)의 기능을 나타낸 블록도이다.
클라이언트 장치(200)는 시그니처 생성부(210), 장치보안부(220) 및 보안 통신부(230)를 구비할 수 있다.
시그니처 생성부(210)는 클라이언트 장치(200)의 고유한 정보인 시그니처 정보(K)를 생성하여 보안 데이터 서버(100)로 등록할 수 있다.
보다 구체적으로, 클라이언트 장치(200)가 구동되어 네트워크 상에 연결되면, 이를 주기적으로 감지하는 보안 데이터 서버(100)가 클라이언트 장치(200)에게 등록을 요청할 수 있다.
보안 데이터 서버(100)의 요청에 따라 시그니처 생성부(210)는 클라이언트 장치(200)의 IP, 연결포트정보(Open Port Information), 맥 어드레스(MAC Address) 및 운영체제정보 중 적어도 하나 이상을 조합한 값에 일 방향 해시함수를 적용한 시그니처 정보(K)를 생성한 후, 내부적으로 저장하고, 상기 시그니처 정보(K)를 보안 데이터 서버(100)로 전송하여 장치 등록을 수행할 수 있다.
이때, 시그니처 정보(K)는 클라이언트 장치(200)의 고유한 정보로 조합되어 생성되므로, 클라이언트 서명 정보로 사용될 수 있다.
또한, 시그니처 정보(K)는 최초 등록 이후 시간의 변화에 따라 시간 정보를 반영하여 시간의 변화에 따라 변경되는 값일 수 있다.
예를 들어, 시그니처 정보(K) 생성 시, IP, 연결포트정보(Open Port Information), 맥 어드레스(MAC Address) 및 운영체제정보를 조합한 값에 최초 등록 이후 흐른 시간값을 적용하여 해시함수를 적용하여 생성될 수 있다.
따라서, 최초 등록 시에 시간값은 0일 수 있다.
최초 등록 후 서버/클라이언트는 각각 일정하게 변경된 시간값을 시그니처 정보(K)에 반영함으로서, 시그니처 정보(K)는 고정된 값이 아닌, 시간에 따라 변경되는 값일 수 있고, 따라서, 키 교환 과정에서 시그니처 정보(K)를 사용하여 기반으로 생성되는 제1매개변수(g) 및 제2매개변수(p)도 변경되므로, 보안성이 더욱 강화될 수 있다.
장치보안부(220)는 시그니처 정보(K)를 키 교환에 사용되는 제1매개변수(g), 제2매개변수(p) 및 제1부분키(A)를 생성하고, 키 교환을 통해 생성된 대칭키(비밀키)를 사용하여 암복호화를 수행할 수 있다.
보다 구체적으로, 장치보안부(220)는 장치 키교환부(221) 및 장치 암복호화부(222)를 포함할 수 있다.
장치 키교환부(221)는 키 교환에 사용되는 클라이언트 장치(200)의 개인키, 제1매개변수(g), 제2매개변수(p) 및 제1부분키(A)를 생성할 수 있다.
이때, 개인키는 클라이언트 장치(200)의 시그니처 정보(K)를 사용할 수 있다.
제1매개변수(g) 및 제2매개변수(p)는 이미 상술한 바와 같이 시그니처 정보(K)를 사용하여 보안 데이터 서버(100)와 클라이언트 장치(200)에서 동일한 규칙으로 생성되므로, 보안 데이터 서버(100)에서 생성된 제1매개변수(g) 및 제2매개변수(p)와 클라이언트 장치(200)에서 생성된 제1매개변수(g) 및 제2매개변수(p)매개 변수는 서로 동일한 값을 가지게 된다.
제1부분키(A)는 대칭키(비밀키) 협상을 위해 보안 데이터 서버(100)에게 전달하는 교환키로 클라이언트 장치(200)의 개인키, 제1매개변수(g), 제2매개변수(p)를 사용하여 생성할 수 있다.
장치 암복호화부(222)는 키 교환 암호 프로토콜을 통해 협의하여 획득한 대칭키(비밀키)를 사용하여 데이터의 암복호화 하는 과정을 수행할 수 있다.
보안 통신부(230)는 키 교환 암호 프로토콜을 사용하여 보안 데이터 서버(100)와 클라이언트 장치(200) 간의 암호화된 데이터 전송을 위한 키 교환 협상을 수행하고, 연결된 세션을 통해 암호화된 데이터를 송수신할 수 있다.
도 4는 본 발명의 일 실시예에 따른 키 교환 암호 프로토콜에서 사용하는 TCP의 헤더 패킷의 구조를 나타낸 도면이고, 도 5는 본 발명의 일 실시예에 따른 키 교환 암호 프로토콜을 사용하여 암호화 키를 교환하는 방법을 상세히 나타낸 흐름도이다.
이하에서는, 도 4 내지 도 5를 참조하여 키 교환 암호 프로토콜을 사용한 키 교환 방법에 대해 설명하고자 한다.
먼저, 본 발명에서의 키 교환 암호 프로토콜은 TCP 프로토콜을 기반으로 하며, TCP 3-way Handshaking 수행 시 TCP 헤더 패킷의 특정 필드에 키 교환을 위한 데이터를 저장하여 전달한다.
TCP는 클라이언트 및 서버 간의 신뢰성 있는 양방향 연결을 위해 3-way Handshake 과정을 수행한다.
먼저 클라이언트가 서버로 접속을 요청하는 TCP SYN 패킷을 전송한다. 이를 수신한 Server는 클라이언트에게 요청을 수락하는 의미로 TCP ACK와 SYN flag가 설정된 패킷을 전송한다. 마지막으로 클라이언트가 ACK를 전송함으로써 양방향 통신 연결이 수립되고 이후 데이터가 송수신이 가능하게 된다.
이러한 과정에서, 본 발명의 키 교환 암호 프로토콜은, TCP Header의 특정 필드를 사용하여 암호화 키 교환을 수행할 수 있다.
보다 구체적으로, 키 교환 암호 프로토콜은 TCP 헤더의 TCP 제어 Flags 필드, 긴급 포인터(Urgent Pointer) 필드 및 TCP 옵션(Option) 필드를 사용하여 암호화 키 교환을 위해 필요한 데이터를 교환할 수 있다.
TCP Option 필드는 최대 40byte까지 사용할 수 있고, TCP Option의 종류에 따라 사용할 수 있는 필드의 크기가 정해져 있으므로, 부분키(A, B)가 저장될 수 있는 충분한 크기의 TCP Option을 사용하여 전송할 수 있다.
예를 들어, 부분키(A, B)는 Fast Open Option(18byte)으로 저장되어 전송될 수 있다.
한편, 키 교환을 위해 TCP 헤더에 포함되는 데이터는, 클라이언트 장치(200)와 보안 데이터 서버(100) 만이 공통으로 알고 있는 대칭키(비밀키)를 생성하기 위해 교환하는 키이며, 제1부분키(A)와 제2부분키(B)를 포함할 수 있다.
제1부분키(A)는 아래와 같은 식을 적용하여 계산된 값일 수 있다.
a : Hash(시그니처 정보(K) + 시간값 + p)
g(제1매개변수): Hash(시그니처 정보(K) + 시간값)
시간값: 현재 시간을 정수로 나타낸 값
p(제2매개변수): 시그니처 정보(K)를 Seed로 생성한 소수
(단, g < p)
제2부분키(B)는 아래와 같은 식을 적용하여 계산된 값일 수 있다.
b : Hash(보안 데이터 서버 개인키 + p)
g(제1매개변수): Hash(시그니처(K) 정보 + 시간값)
시간값: 현재 시간을 정수로 나타낸 값
p(제2매개변수): 시그니처 정보(K)를 Seed로 생성한 소수
(단, g < p)
클라이언트 장치(200)에서 생성된 제1부분키와 보안 데이터 서버(100)에서 생성된 제2부분키를 키 교환 암호 프로토콜을 통해 서로 교환한 후, 두 개의 부분키를 이산 대수를 적용하여 결합하면, 둘만 아는 새로운 대칭키(비밀키)를 생성할 수 있다.
즉, 보안 데이터 서버(100)는
Figure 112023031573862-pat00003
mod p 를 생성할 수 있고, 클라이언트 장치(200)는
Figure 112023031573862-pat00004
mod p 를 생성할 수 있으며, 이산 대수의 특성에 따라 아래 식이 성립되어 결국 클라이언트 장치(200)와 보안 데이터 서버(100)는 새로운 대칭키(비밀키)를 획득하게 된다.
따라서, 키 교환 암호 프로토콜에서는 클라이언트 장치(200)는 제1부분키를 생성하여 TCP SYN 패킷을 통해 전달하고, 보안 데이터 서버(100)는 제2부분키를 생성하여 TCP SYN ACK 패킷을 통해 전달하여, TCP 세션 생성 과정에서 키 교환 과정이 이루어지게 된다.
이로써, 암호화 프로토콜의 키 교환 과정을 세션 생성 과정에 결합하여 키 교환의 효율성을 높일 수 있고, DDoS와 같이 외부 공격에 대해 보다 효과적으로 방어할 수 있다.
또한, 대부분의 장비들이 외부에서 통신 요청이 들어올 때 TCP SYN 패킷이 들어오면 해당 IP등을 저장하며, 저장 후 TCP SYN ACK 패킷을 보내고 다시 TCP ACK 패킷을 기다리게 되는데, 그 전에 TCP SYN 패킷을 다시 보내거나 다음 단계의 패킷을 보내지 않거나 하는 등의 다양한 방식의 DDos 공격을 해올 수 있다.
이러한 DDos 공격에 대해, 본 발명의 키 교환 암호 프로토콜을 적용하면 TCP SYN 패킷의 상호 정의된 키 교환 필드를 확인하여, 본 발명의 내용이 적용되지 않은 패킷인 경우, 해당 IP는 등록을 하지 않고, 차단 목록에 바로 넣을 수 있으므로 기존의 DDoS 방어 방법에 비해 훨씬 더 효과적으로 대응할 수 있다.
한편, 본 발명의 키 교환 암호 프로토콜은 기존 디피 헬만(Diffie-Hellman) 키 교환 알고리즘 방식을 기반으로 하되, 디피 헬만 알고리즘의 취약점인 중간자 공격을 방지하기 위해, 클라이언트 장치(200)의 초기 등록 과정을 적용하여, 해당 등록 과정에서 클라이언트 장치(200)의 시그니처 정보(K)를 등록하고, 상기 시그니처 정보(K)를 사용하여 클라이언트 장치(200) 및 보안 데이터 서버(100)가 동일한 방식으로 제1매개변수(p)와 제2매개변수(g)를 생성하여, 키 교환을 수행한다. 따라서, 제1매개변수(p)와 제2매개변수(g)를 외부 중간 공격자가 파악하기 힘들고, 특히, 제1매개변수(p)와 제2매개변수(g)를 생성하는데 사용되는 시그니처 정보(K)는 클라이언트 장치(200)의 고유 특징으로 외부에서 유추하기 힘든 정보이므로, 중간자 공격으로부터 더욱 안전하다고 할 수 있다.
도 6은 본 발명의 일 실시예에 따른 키 교환 암호 프로토콜 기반 암호화 방법을 나타낸 순서도이다.
도 6을 참조하여, 키 교환 암호 프로토콜 기반 암호화 방법에 대해 설명하고자 한다.
본 발명의 일 실시예에 따른 키 교환 암호 프로토콜 기반 암호화 방법은, 키 교환 암호 프로토콜 기반 데이터 시스템(10)에서 수행될 수 있다.
먼저, 보안 데이터 서버(100)가 클라이언트 장치(200)의 연결 상태를 확인하여 클라이언트 장치(200)의 시그니처 정보를 수집하는 단계를 수행할 수 있다. (S610)
시그니처 정보(K)는 클라이언트 장치(200)를 인증하는 서명 정보로 사용될 수 있고, 클라이언트 장치(200)와 보안 데이터 서버(100)간 암복호화를 위한 대칭키(비밀키) 생성을 위해 필요한 매개 변수를 생성하는데 사용될 수 있다.
따라서, 보안 데이터 서버(100)가 시그니처 정보(K)를 수집하는 단계를 수행하면, 클라이언트 장치(200)와 보안 데이터 서버(100) 모두 시그니처 정보(K), 제1매개변수(g), 제2매개변수(p)를 공유할 수 있게 된다.
S610 단계에 대해서는 도 7을 참조하여 이후, 자세히 설명한다.
다음으로, 클라이언트 장치(200)와 보안 데이터 서버(100)가 키 교환 암호 프로토콜을 사용하여 부분키(제1부분키(A), 제2부분키(B))를 교환하는 단계를 수행할 수 있다. (S620)
여기서 부분키(A, B)는 클라이언트 장치(200)와 보안 데이터 서버(100) 간의 새로운 대칭키(비밀키)를 생성하기 위해 상호 교환되는 키이다.
부분키(A, B) 교환은 TCP의 연결 과정(Handshake)을 통해 이루어 질 수 있다.
S620 단계에 대해서는 도 8을 참조하여 이후, 자세히 설명한다.
클라이언트 장치(200)와 보안 데이터 서버(100)가 각각 생성한 부분키와 상대방이 전달한 부분키를 결합하여 서로 동일한 새로운 대칭키(비밀키)를 생성할 수 있다.
다음으로, 클라이언트 장치(200)와 보안 데이터 서버(100)가 교환한 상기 부분키를 사용하여 대칭키를 생성하는 단계를 수행할 수 있다. (S6230)
먼저, 보안 데이터 서버(100)는 자신이 생성한 제2부분키(B)와 클라이언트 장치(200)가 전달한 제1부분키(A)를 결합하여 아래와 같이 대칭키(비밀키)를 생성할 수 있다.
또한, 클라이언트 장치(200)는 자신이 생성한 제1부분키(A)와 보안 데이터 서버(100)가 전달한 제2부분키(B)를 결합하여 아래와 같이 대칭키(비밀키)를 생성할 수 있다.
이산 대수 특징에 따라, 아래의 식이 성립하고, 보안 데이터 서버(100)와 클라이언트 장치(200)간에만 공유된 대칭키(비밀키)를 생성할 수 있게 된다.
이후, 대칭키(비밀키)를 사용하여 데이터를 암복호화하는 단계를 수행할 수 있다. (S640)
보다 구체적으로, TCP Handshake 과정을 통해 암호화 키 교환이 정상적으로 완료되면, 보안 데이터 서버(100)와 클라이언트 장치(200)간에 TCP 통신이 연결되고, 대칭키(비밀키)를 사용하여 데이터를 암호화하여 전송하고, 수신한 데이터를 복호화하여 사용할 수 있게 된다.
도 7은 본 발명의 일 실시예에 따른 키 교환 암호 프로토콜 기반 암호화 방법에서 클라이언트 장치의 시그니처 정보를 수집하는 단계를 상세히 나타낸 흐름도이다.
도 7을 참조하여, 클라이언트 장치(200)의 시그니처 정보를 수집하는 단계(S610)를 보다 구체적으로 설명한다.
보안 데이터 서버(100)는 사전에 서버 공개키/개인키를 생성하여 저장/관리할 수 있다.
또한, 연결될 클라이언트 장치(200)의 네트워크 정보(IP), 장치 ID, 맥 어드레스(MAC Address), 설치된 위치 등의 정보를 정해진 인터페이스를 통해 사전에 등록 또는 입력 받아 관리할 수 있다.
이후, 보안 데이터 서버(100)는 주기적으로 사전에 등록된 클라이언트 장치(200)의 IP 정보를 사용하여 네트워크 연결 상태를 체크하는 단계를 수행할 수 있다. (S611)
이때, 비연결지향성 네트워크 프로토콜에 사용되는 ICMP(Internet Control Message Protocol)를 사용하여 네트워크 연결 상태를 확인할 수 있다.
클라이언트 장치(200)의 네트워크 연결 상태가 정상으로 확인되면, 보안 데이터 서버(100)는 서버의 공개키를 전달하고, 클라이언트 장치(200)의 시그니처 정보(K)를 요청하는 단계를 수행할 수 있다. (S612)
보안 데이터 서버(100)의 요청에 따라 클라이언트 장치(200)는 시그니처 정보(K)를 생성하는 단계를 수행한다. (S613)
이때, 시그니처 정보(K)는 클라이언트 장치(200)의 IP, 연결포트정보(Open Port Information), 맥 어드레스(MAC Address) 및 운영체제정보 중 적어도 하나 이상을 조합한 값에 일 방향 해시함수를 적용하여 생성될 수 있다.
이후, 생성된 시그니처 정보(K)를 서버 공개키를 사용하여 암호화하여, 보안 데이터 서버(100)로 전송하는 단계를 수행할 수 있다. (S614)
다음으로, 보안 데이터 서버(100)는 시그니처 정보(K)를 수신하여, 서버 개인키로 복호화하고, 시그니처 정보(K)를 클라이언트 장치(200)의 ID 에 매핑하여 등록하는 단계를 수행할 수 있다. (S615)
도 8은 본 발명의 일 실시예에 따른 키 교환 암호 프로토콜 기반 암호화 방법에서 TCP 세션 과정을 통한 키 교환 방법에 대해 상세히 나타낸 흐름도이다.
도 8을 참조하여, 클라이언트 장치(200)와 보안 데이터 서버(100)가 키 교환 암호 프로토콜을 사용하여 부분키(제1부분키(A), 제2부분키(B))를 교환하는 단계(S620)를 보다 구체적으로 설명한다.
먼저, 클라이언트 장치(200)가 제1부분키(A)를 생성하여 전송하는 단계를 수행할 수 있다. (S621)
보다 구체적으로, 클라이언트 장치(200)는 시그니처 정보(K), 시간값(정수), 제1매개변수(g) 및 제2매개변수(p)를 조합하여 제1부분키(A)를 생성하는 단계를 수행할 수 있다.
제1부분키(A)를 생성하는 방법은 도 5를 참조하여 이미 설명하였으므로, 여기서 설명은 생략한다.
또한, 생성한 제1부분키(A)를 TCP SYN 패킷에 포함하여 보안 데이터 서버(100)로 전송하는 단계를 수행할 수 있다.
다음으로, 보안 데이터 서버(100)가 제1부분키(A)를 수신하고, 제2부분키(B)를 생성하여 전송하는 단계를 수행할 수 있다. (S622)
보다 구체적으로, 보안 데이터 서버(100)는 TCP SYN 패킷을 수신하여 제1부분키(A)를 추출하는 단계를 수행할 수 있다.
또한, 서버 비밀키, 제1매개변수(g) 및 제2매개변수(p)를 조합하여 제2부분키(B)를 생성하는 단계를 수행할 수 있다.
제2부분키(B)를 생성하는 수식은 도 5를 참조하여 이미 설명하였으므로, 여기서 설명은 생략한다.
이후, 제2부분키(B)를 TCP SYN/ACK 패킷에 포함하여 클라이언트 장치(200)로 전송하는 단계를 수행할 수 있다.
다음으로, 클라이언트 장치(200)가 제2부분키(B)를 수신하는 단계를 수행할 수 있다. (S623)
보다 구체적으로, 보안 데이터 서버(100)로부터 TCP SYN/ACK 패킷을 수신하여 상기 제2부분키를 추출하는 단계를 수행할 수 있다.
또한, TCP ACK 패킷을 보안 데이터 서버(100)로 전송하는 단계를 수행할 수 있다.
TCP ACK 패킷을 전송하면 TCP Handshake 과정이 완료되어, 클라이언트 장치(200)와 보안 데이터 서버(100)간의 양방향 통신이 가능해 지고, 데이터를 암호화하여 전송할 수 있게 된다.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.
100: 보안 데이터 서버
110: 장치 관리부
111: 시그니처 등록부 112: 시그니처 검증부
120: 보안인증부
121: 비대칭키 생성부 122: 키교환부
123: 암복호화부 124: 서명 인증부
130: 통신 제어부
131: 통신연결 관리부 132: 보안세션 연결부
140: 스토리지/DB
200: 클라이언트 장치
210: 시그니처 생성부
220: 장치보안부
221: 장치 키교환부 222: 장치 암복호화부
230: 보안 통신부

Claims (15)

  1. 시그니처 정보를 전달하여, 장치 등록을 요청하고, 키 교환 암호 프로토콜을 사용하여 암호키를 교환하고, 상기 암호키를 사용하여 데이터를 암복호화 하는 클라이언트 장치; 및
    상기 클라이언트 장치의 시그니처 정보를 수신하여, 등록하고, 등록된 상기 클라이언트 장치와 상기 키 교환 암호 프로토콜을 사용하여 암호키를 교환하며, 상기 암호키를 사용하여 데이터를 암복호화 하는 보안 데이터 서버;를 포함하고,
    상기 키 교환 암호 프로토콜은 상기 시그니처 정보를 사용하여 키 교환을 수행하는 것을 특징으로 하고,
    상기 보안 데이터 서버는,
    상기 클라이언트 장치로부터 시그니처 정보를 수신하여 상기 클라이언트 장치를 등록하고, 상기 시그니처 정보를 주기적으로 검증하는 장치 관리부;
    상기 클라이언트 장치에 대한 서명을 인증하며, 키 교환을 위한 제1매개변수, 제2매개변수 및 제2부분키를 생성하고, 상기 클라이언트 장치로부터 수신한 제1부분키 및 상기 제2부분키를 사용하여 대칭키를 생성하고, 상기 대칭키를 적용하여 데이터 암복호화를 수행하는 보안인증부; 및
    상기 키 교환 암호 프로토콜을 사용하여 상기 클라이언트 장치와 통신 세션을 연결하고, 연결된 통신 세션을 통해 암호화된 데이터를 송수신하는 통신 제어부;를 구비하고,
    상기 키 교환 암호 프로토콜은,
    상기 클라이언트 장치 및 상기 보안 데이터 서버간에 TCP SYN패킷, TCP SYN/ACK패킷 및 TCP ACK패킷을 순차적으로 송수신하여 TCP 세션을 수립하는 연결 과정(Handshake)에서 상기 클라이언트 장치의 제1부분키 및 상기 보안 데이터 서버의 제2부분키를 교환하는 것을 특징으로 하고,
    상기 제1매개변수 및 상기 제2매개변수는,
    클라이언트 장치의 시그니처 정보를 사용하여 생성하고, 상기 보안 데이터 서버 및 상기 클라이언트 장치에서 사전에 정의된 동일한 방법으로 각각 생성되어 동일한 값을 가지는 것을 특징으로 하는,
    키 교환 암호 프로토콜 기반 데이터 시스템.
  2. 제 1항에 있어서,
    상기 시그니처 정보는,
    상기 클라이언트 장치의 IP, 연결포트정보(Open Port Information), 맥 어드레스(Media Access Control Address) 및 운영체제정보 중 적어도 하나 이상을 조합하여 일 방향 해시함수를 적용한 고유 식별값인 것을 특징으로 하는,
    키 교환 암호 프로토콜 기반 데이터 시스템.
  3. 제 2항에 있어서,
    상기 시그니처 정보는,
    상기 클라이언트 장치의 서명 정보로 사용되고, 최초 등록 이후, 변화된 시간 정보가 반영되어 시간의 변화에 따라 상기 시그니처 정보의 값이 변경되는 것을 특징으로 하는,
    키 교환 암호 프로토콜 기반 데이터 시스템.
  4. 삭제
  5. 제 1항에 있어서,
    상기 보안인증부는,
    공개키 및 개인키를 포함하는 비대칭키 페어(Pair)를 생성하는 비대칭키 생성부;
    키 교환에 사용되는 제1매개변수, 제2매개변수 및 제2부분키를 생성하는 키교환부; 및
    키 교환을 통해 합의된 대칭키를 사용하여 데이터를 암복호화하는 암복호화부;를 포함하는,
    키 교환 암호 프로토콜 기반 데이터 시스템.
  6. 제 5항에 있어서,
    상기 보안인증부는,
    상기 비대칭키 페어(Pair)를 사용하여, 디지털 서명을 인증하는 서명 인증부;를 더 포함하는,
    키 교환 암호 프로토콜 기반 데이터 시스템.
  7. 삭제
  8. 제 1항에 있어서,
    상기 통신 제어부는,
    상기 키 교환 암호 프로토콜을 사용하여 상기 클라이언트 장치와 키 교환을 위한 통신 세션을 연결하는 보안세션 연결부; 및
    적어도 하나 이상의 상기 클라이언트 장치와의 통신 연결을 제어하는 통신연결 관리부;를 포함하고,
    상기 키 교환 암호 프로토콜은,
    TCP 프로토콜을 기반으로 하고, TCP 연결 과정에서 TCP 패킷 헤더(Header)의 TCP 제어 플래그(TCP Flag), 긴급 포인터(Urgent Pointer) 필드 및 TCP 옵션(Option) 필드를 이용하여 키 교환을 하는 것을 특징으로 하는,
    키 교환 암호 프로토콜 기반 데이터 시스템.
  9. 제 1항에 있어서,
    상기 클라이언트 장치는,
    상기 시그니처 정보를 생성하고, 상기 시그니처 정보를 전송하여 장치 등록을 요청하는 시그니처 생성부;
    상기 시그니처 정보를 사용하여 키 교환에 사용되는 제1매개변수, 제2매개변수 및 제1부분키를 생성하고, 키 교환을 통해 생성된 대칭키를 사용하여 암복호화를 수행하는 장치보안부; 및
    상기 보안 데이터 서버와 상기 키 교환 암호 프로토콜을 사용하여 통신 세션을 연결하고, 연결된 통신 세션을 통해 데이터를 송수신하는 보안 통신부;를 구비하는,
    키 교환 암호 프로토콜 기반 데이터 시스템.
  10. 키 교환 암호 프로토콜 기반 데이터 시스템에서,
    보안 데이터 서버가 클라이언트 장치의 연결 상태를 확인하여 클라이언트 장치의 시그니처 정보를 수집하는 단계;
    상기 클라이언트 장치와 상기 보안 데이터 서버가 키 교환 암호 프로토콜을 사용하여 부분키를 교환하는 단계;
    상기 클라이언트 장치와 상기 보안 데이터 서버가 교환한 상기 부분키를 사용하여 대칭키를 생성하는 단계; 및
    상기 클라이언트 장치와 상기 보안 데이터 서버가 상기 대칭키를 사용하여 데이터를 암복호화하는 단계;를 포함하고,
    상기 키 교환 암호 프로토콜을 사용하여 부분키를 교환하는 단계는,
    상기 클라이언트 장치가 시그니처 정보, 시간 정보, 제1매개변수 및 제2매개변수를 조합하여 제1부분키를 생성하고, 상기 제1부분키를 TCP SYN 패킷에 포함하여 상기 보안 데이터 서버로 전송하는 단계;
    상기 보안 데이터 서버가 TCP SYN 패킷을 수신하여 상기 제1부분키를 추출하고, 상기 보안 데이터 서버의 비밀키, 제1매개변수 및 제2매개변수를 조합하여 제2부분키를 생성하고, 상기 제2부분키를 TCP SYN/ACK 패킷에 포함하여 상기 클라이언트 장치로 전송하는 단계; 및
    상기 클라이언트 장치가 TCP SYN/ACK 패킷을 수신하여 상기 제2부분키를 추출하고 TCP ACK 패킷을 상기 보안 데이터 서버로 전송하는 단계;를 포함하고,
    상기 제1매개변수 및 상기 제2매개변수는,
    상기 시그니처 정보를 사용하여 생성하고, 상기 보안 데이터 서버 및 상기 클라이언트 장치에서 사전에 정의된 동일한 방법으로 각각 생성되어 동일한 값을 가지는 것을 특징으로 하는,
    키 교환 암호 프로토콜 기반 암호화 방법.
  11. 제 10항에 있어서,
    상기 보안 데이터 서버가 상기 클라이언트 장치의 연결 상태를 확인하여 상기 클라이언트 장치의 시그니처 정보를 수집하는 단계는,
    상기 보안 데이터 서버가 상기 클라이언트 장치의 네트워크 연결 상태를 체크하는 단계;
    상기 보안 데이터 서버가 자신의 공개키를 전달하고, 상기 클라이언트 장치의 시그니처 정보를 요청하는 단계;
    상기 클라이언트 장치가 시그니처 정보를 생성하는 단계;
    상기 클라이언트 장치가, 생성한 시그니처 정보를 상기 보안 데이터 서버로부터 수신한 공개키를 사용하여 암호화하고, 상기 보안 데이터 서버로 전송하는 단계; 및
    상기 보안 데이터 서버가 상기 시그니처 정보를 복호화하고, 등록하는 단계;를 포함하는,
    키 교환 암호 프로토콜 기반 암호화 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020230036098A 2023-03-20 2023-03-20 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템 및 암호화 방법 KR102580639B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230036098A KR102580639B1 (ko) 2023-03-20 2023-03-20 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템 및 암호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230036098A KR102580639B1 (ko) 2023-03-20 2023-03-20 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템 및 암호화 방법

Publications (1)

Publication Number Publication Date
KR102580639B1 true KR102580639B1 (ko) 2023-09-20

Family

ID=88191477

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230036098A KR102580639B1 (ko) 2023-03-20 2023-03-20 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템 및 암호화 방법

Country Status (1)

Country Link
KR (1) KR102580639B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101688813B1 (ko) * 2016-04-18 2016-12-22 (주)케이사인 IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 시스템
KR101772016B1 (ko) * 2016-09-05 2017-08-28 마명철 IoT디바이스의 시그니처 정보 등록기법 및 하이브리드 공개키 암호 인증기법을 활용한 쌍방향 IoT 보안접근제어 시스템 및 그 제어방법
KR102384949B1 (ko) * 2021-02-26 2022-04-08 성신여자대학교 연구 산학협력단 노드 간 보안 데이터를 전송하는 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101688813B1 (ko) * 2016-04-18 2016-12-22 (주)케이사인 IoT 기기와 소유자 사이의 관계 확립을 위한 방법 및 시스템
KR101772016B1 (ko) * 2016-09-05 2017-08-28 마명철 IoT디바이스의 시그니처 정보 등록기법 및 하이브리드 공개키 암호 인증기법을 활용한 쌍방향 IoT 보안접근제어 시스템 및 그 제어방법
KR102384949B1 (ko) * 2021-02-26 2022-04-08 성신여자대학교 연구 산학협력단 노드 간 보안 데이터를 전송하는 방법 및 시스템

Similar Documents

Publication Publication Date Title
US10298595B2 (en) Methods and apparatus for security over fibre channel
US8418242B2 (en) Method, system, and device for negotiating SA on IPv6 network
US8904178B2 (en) System and method for secure remote access
KR101786132B1 (ko) 저-지연 피어 세션 구축
US20040034773A1 (en) Establishing authenticated network connections
US20060190723A1 (en) Payload layer security for file transfer
CN108650227A (zh) 基于数据报安全传输协议的握手方法及系统
Petullo et al. MinimaLT: minimal-latency networking through better security
CN112637136A (zh) 加密通信方法及系统
US8683572B1 (en) Method and apparatus for providing continuous user verification in a packet-based network
WO2018075965A1 (en) Dark virtual private networks and secure services
CN113904809A (zh) 一种通信方法、装置、电子设备及存储介质
Chen et al. Secure communication channel establishment: TLS 1.3 (over TCP fast open) versus QUIC
WO2009018510A1 (en) Systems and methods for implementing a mutating internet protocol security
CN110855561A (zh) 一种物联网智能网关
CN113904767A (zh) 一种基于ssl建立通信的系统
Keerthi Taxonomy of SSL/TLS attacks
Saverimoutou et al. Which secure transport protocol for a reliable HTTP/2-based web service: TLS or QUIC?
KR102580639B1 (ko) 네트워크 계층에 강화된 보안 기능을 활용한 키 교환 암호 프로토콜 기반 데이터 시스템 및 암호화 방법
CN115333779A (zh) 一种验证数据的方法、装置及电子设备
CN114707158A (zh) 基于tee的网络通信认证方法以及网络通信认证系统
Akhmetzyanova et al. On post-handshake authentication and external PSKs in TLS 1.3
KR102580643B1 (ko) 키 교환 암호 프로토콜 기반 cctv 카메라 영상 데이터 보안 전송 시스템 및 방법
Mohamed et al. Extending hybrid approach to secure Trivial File Transfer Protocol in M2M communication: a comparative analysis
Limniotis et al. Cryptography threats

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant