KR-20260060732-A - METHOD FOR GENERATING A VIRTUAL PRIVATE NETWORK AND VIRTUAL PRIVATE NETWORK SYSTEM
Abstract
실시예는, PUF(Physical Unclonable Function) 기반 인증 수단을 포함하는 사용자 디바이스; 및 상기 PUF 기반 인증 수단에 의해 상호 인증된 사용자 디바이스와 WireGuard 프로토콜을 이용하여 암호화된 터널을 형성하는 서버;를 포함하는 가상 사설망 시스템을 개시한다.
Inventors
- 심형섭
- 강봉호
- 임해중
Assignees
- 아이씨티케이 주식회사
Dates
- Publication Date
- 20260506
- Application Date
- 20241025
Claims (20)
- PUF(Physical Unclonable Function) 기반 인증 수단을 포함하는 사용자 디바이스; 및 상기 PUF 기반 인증 수단에 의해 상호 인증된 사용자 디바이스와 WireGuard 프로토콜을 이용하여 암호화된 터널을 형성하는 서버;를 포함하는 가상 사설망 시스템.
- 제1항에 있어서, 상기 사용자 디바이스는 암호화 알고리즘 정보 및 PUF 기반 인증 정보를 상기 서버로 전송하는 가상 사설망 시스템.
- 제2항에 있어서, 상기 암호화 알고리즘 정보는 대칭키 암호화 알고리즘 및 공개키 암호화 알고리즘을 포함하는 가상 사설망 시스템.
- 제3항에 있어서, 상기 공개키 암호화 알고리즘은 CRYSTALS Kyber 또는 CRYSTALS Dilithium 알고리즘을 포함하는 가상 사설망 시스템.
- 제2항에 있어서, 상기 사용자 디바이스는 클라이언트 공개키를 상기 서버로 전송하는 가상 사설망 시스템.
- 제5항에 있어서, 상기 서버는 상기 사용자 디바이스로 상기 암호화 알고리즘 정보의 알고리즘이 적용되는 서버 공개키를 전송하는 가상 사설망 시스템.
- 제6항에 있어서, 상기 사용자 디바이스는 상기 서버 공개키를 검증하여 상기 서버와 상호 인증 절차를 수행하는 가상 사설망 시스템.
- 제7항에 있어서, 상기 서버는 상기 클라이언트 공개키와 서버 비밀키를 기반으로 세션키를 생성하는 가상 사설망 시스템.
- 제8항에 있어서, 상기 서버는 상기 생성된 세션키를 상기 사용자 디바이스로 송신하는 가상 사설망 시스템.
- 제9항에 있어서, 상기 사용자 디바이스는 수신된 세션키를 클라이언트 비밀키를 기반으로 복호화하는 가상 사설망 시스템.
- 제10항에 있어서, 상기 복호화된 세션키는 상기 서버에서 생성된 세션키와 동일한 가상 사설망 시스템.
- 제10항에 있어서, 상기 사용자 디바이스는 상기 복호화된 세션키로 상기 서버와 상기 암호화된 터널을 형성하는 가상 사설망 시스템.
- 제12항에 있어서, 상기 사용자 디바이스는 상기 복호화된 세션키로 데이터를 암호화하여 상기 서버로 전송하는 가상 사설망 시스템.
- 제9항에 있어서, 상기 사용자 디바이스 및 상기 서버 중 어느 하나는 키갱신을 주기적으로 요청하는 가상 사설망 시스템.
- 클라이언트 공개키, PUF(Physical Unclonable Function) 기반 인증 정보 및 암호화 알고리즘 정보를 송신하는 단계; 서버 공개키 및 검증 결과를 수신하는 단계; 및 상기 암호화 알고리즘 정보, 클라이언트 공개키 및 서버 공개키를 이용하여 공통의 세션키를 설정하고 서버와 암호화된 터널을 형성하는 단계;를 포함하는 가상 사설망 생성 방법.
- 제15항에 있어서, 공통의 세션키를 설정하고 서버와 암호화된 터널을 형성하는 단계에서, 클라이언트 공개키와 서버 비밀키를 기반으로 생성되고 암호화된 세션키를 수신하는 단계;를 포함하는 가상 사설망 생성 방법.
- 제16항에 있어서, 암호화된 세션키를 수신하는 단계 이후에, 상기 암호화된 세션키를 클라이언트 비밀키로 복호화하는 단계;를 포함하는 가상 사설망 생성 방법.
- 제17항에 있어서, 상기 복호화된 세션키는 암호화된 클라이언트 공개키와 서버 비밀키를 기반으로 생성된 세션키와 동일한 가상 사설망 생성 방법.
- 사용자 디바이스에 있어서, 통신 모듈; 메모리; 및 상기 통신 모듈 및 저장부 메모리 중 적어도 하나와 작동적으로 연결되는 프로세서를 포함하고, 상기 프로세서는 클라이언트 공개키, PUF(Physical Unclonable Function) 기반 인증 정보 및 암호화 알고리즘 정보를 송신하고, 서버 공개키 및 검증 결과를 수신하고, 그리고 상기 암호화 알고리즘 정보, 클라이언트 공개키 및 서버 공개키를 이용하여 공통의 세션키를 설정하고 서버와 암호화된 터널을 형성하는 사용자 디바이스.
- 제19항에 있어서, 상기 프로세서는 공통의 세션키를 설정하고 서버와 암호화된 터널을 형성할 때, 클라이언트 공개키와 서버 비밀키를 기반으로 생성되고 암호화된 세션키를 기반으로 데이터를 송수신하는 사용자 디바이스.
Description
가상 사설망 생성 방법 및 가상 사설망 시스템{METHOD FOR GENERATING A VIRTUAL PRIVATE NETWORK AND VIRTUAL PRIVATE NETWORK SYSTEM} 실시예는 가상 사설망 생성 방법 및 가상 사설망 시스템에 관한 것이다. 최근 정보통신 기술의 급격한 발전은 우리의 일상 생활에 깊은 영향을 미치고 있다. 특히, 사물인터넷(IoT) 시대의 도래와 함께 수십억 개의 지능형 기기가 네트워크를 통해 상호 연결되고 있다. 이들 기기들은 데이터를 공유하거나 다른 기기를 제어하는 방식으로 우리의 삶을 더욱 편리하게 만들고 있다. 그러나 이러한 기기들이 네트워크를 통해 통신하는 과정에서 많은 양의 민감한 개인 정보가 교환되고 있으며, 이는 해커들의 표적이 될 위험이 있다. 이러한 문제는 IoT 기술의 안전성에 대한 우려를 높이고 있으며, 이에 대한 해결책이 필요한 상황이다. 더욱이, 최근의 기술 발전은 기존의 보안 체계를 근본적으로 위협하는 요소를 추가하고 있다. 그 중에서도 특히 주목할 만한 것은 양자 컴퓨터의 등장이다. 양자 컴퓨터는 기존의 암호화 알고리즘을 매우 빠르게 해독할 수 있는 능력을 가지고 있어, 현재 널리 사용되고 있는 RSA 및 ECC(타원 곡선 암호화 알고리즘)와 같은 기존의 암호화 방식이 양자 컴퓨터의 공격에 취약하게 된다. 이는 양자 컴퓨팅 시대에 현재의 보안 체계가 무력화될 수 있음을 의미하며, 이러한 문제를 해결하기 위해 양자 안전 암호화 알고리즘과 같은 새로운 보안 솔루션이 절실히 필요하다. 양자 안전 암호화 알고리즘은 양자 컴퓨터의 연산 능력에도 불구하고 높은 수준의 보안을 유지할 수 있도록 설계되어야 하며, 이는 앞으로의 정보 보안의 핵심 요소가 될 것이다. 구체적으로, 가상 사설망(VPN)은 인터넷과 같은 공용 네트워크를 통해 개인이나 기업의 네트워크에 안전하게 접속할 수 있도록 하는 기술이다. 그리고 VPN은 암호화된 통신 터널을 통해 데이터를 안전하게 전송하며, 이를 통해 네트워크를 통한 데이터의 무결성과 기밀성을 유지한다. 현재 VPN 기술은 원격 근무자의 사내 네트워크 접근, 인터넷 트래픽의 프라이버시 보호, 그리고 지리적 제한이 있는 콘텐츠의 우회 접근과 같은 다양한 목적을 위해 사용되고 있다. VPN 기술은 다양한 예로, OpenVPN, IKEv2/IPSec, L2TP/IPSec, PPTP, WireGuard, SSL VPN, IPSec VPN, MPLS VPN, SoftEther VPN 등이 존재한다. 특히, 기존의 SSL VPN과 WireGuard 구현 방식은 몇 가지 단점이 존재한다. SSL VPN의 경우, TLS를 기반으로 하여 복잡한 핸드셰이크 절차와 높은 처리 비용이 발생하며, 설정이 복잡하고 유지보수가 어렵다. 또한, SSL VPN은 높은 지연 시간을 유발할 수 있으며, 대규모 네트워크 환경에서의 성능이 제한적이다. 나아가, 이러한 가상 사설망은 보안 위협에 취약한 문제가 존재한다. 이처럼, 기존의 VPN 솔루션은 강력한 보안을 제공하지만, 네트워크 성능 저하, 복잡한 설정, 그리고 특정 공격에 대한 취약점 등의 문제점 해결이 필요한 실정이다.. 도 1은 실시예에 따른 가상 사설망 시스템의 개념도이고, 도 2는 실시예에 따른 가상 사설망 시스템의 특성을 설명하는 도면이고, 도 3은 실시예에 따른 가상 사설망 시스템의 동작 순서도이고, 도 4는 도 3에서 일 동작의 구체화된 순서도이고, 도 5는 도 3에서 다른 동작의 구체화된 순서도이고, 도 6은 도 3에서 또 다른 동작의 구체화된 순서도이고, 도 7은 도 3에서 또 다른 동작의 구체화된 순서도이고, 도 8은 도 3에서 또 다른 동작의 구체화된 순서도이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제2, 제1 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 또한, 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 프로세서 또는 마이크로 프로세서들에 의해 구현되거나, 의도하는 기능을 수행하기 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립트 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. 모듈 및 구성 등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 이하, 첨부된 도면을 참조하여 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 도 1은 실시예에 따른 가상 사설망 시스템의 개념도이고, 도 2는 실시예에 따른 가상 사설망 시스템의 특성을 설명하는 도면이고, 도 3은 실시예에 따른 가상 사설망 시스템의 동작 순서도이고, 도 4는 도 3에서 일 동작의 구체화된 순서도이고, 도 5는 도 3에서 다른 동작의 구체화된 순서도이고, 도 6은 도 3에서 또 다른 동작의 구체화된 순서도이고, 도 7은 도 3에서 또 다른 동작의 구체화된 순서도이고, 도 8은 도 3에서 또 다른 동작의 구체화된 순서도이다. 도 1 및 도 2를 참조하면, 본 실시예에 따른 가상 사설망 시스템(100)은 하나의 서버(110)에 적어도 하나의 사용자 디바이스(또는 클라이언트)(120)가 연결된 1 대 N(N은 자연수) 구조이다. 서버(110)는 복수의 사용자 디바이스(120)와 통신을 수행할 수 있다. 또한, 서버(200)는 각 사용자 디바이스(120)로부터 수신한 인증키를 기반으로 암호화된 데이터를 각 전자 장치로 송신할 수 있다. 사용자 디바이스(또는 클라이언트)(120)는 예를 들어 스마트폰, 태블릿, 랩탑, 퍼스널 컴퓨터 등 다양한 컴퓨팅 장치, 스마트 시계, 스마트 안경 등 다양한 웨어러블 기기, 스마트 스피커, 스마트 TV, 스마트 냉장고 등 다양한 가전장치, 스마트 신분증, 스마트 신용카드, 데이터 저장 장치, 스마트 차량, IoT 기기 등과 같은 통신이 가능한 전자 기기 등을 포함할 수 있다. 그리고 서버(110)와 사용자 디바이스(또는 클라이언트)(120)는, 네트워크를 통해 서로 통신하고, 핸드쉐이크(handshake) 과정을 통해 인증 절차를 진행하며, 상호 간의 VPN 세션을 위해서 세션키 생성하며 데이터를 암호화 및 복호화를 수행할 수 있다. 이 때, 서버(110)와 사용자 디바이스(120)는 상호 인증에서 공개키를 서로 전달하며, PQC 알고리즘을 이용하여 세션키를 생성하여 암호화 통신 채널을 형성할 수 있다. 다만, 이러한 공개키의 전달 없이 PUF만을 통해 상호 인증이 수행될 수 있다. 나아가, 서버(110)와 사용자 디바이스(또는 클라이언트)(120)는 세션키 생성에 있어서 공개키 암호화 알고리즘을 사용하고, 대칭키 생성에서 대칭키 암호화 알고리즘을 사용할 수 있다. 특히, 서버(110)와 사용자 디바이스(120)는 PQC(Post-Quantum Cryptography) 기반의 공개키 암호화 알고리즘을 통해 세션키 교환을 수행할 수 있다. 이로써, 공개키 암호화를 통해 안전한 키 교환이 보장될 수 있다. 다시 말해, 보안성이 개선될 수 있다. 또한, 서버(110)와 사용자 디바이스(120)는 사용자 디바이스(120)의 PUF(물리적 복제 불가능 함수) 기반으로 인증을 수행할 수 있다. 이에, 추가적인 인증서가 없더라도 사용자 디바이스의 신뢰성이 증명될 수 있