KR102474891B1 - 양자 내성 암호화 알고리즘에 기초하여 생성한 키를 활용하여 가상 사설 네트워크를 제공하는 가상 사설 네트워크 형성 방법 및 이를 수행하는 가상 사설 네트워크 운용 시스템 - Google Patents
양자 내성 암호화 알고리즘에 기초하여 생성한 키를 활용하여 가상 사설 네트워크를 제공하는 가상 사설 네트워크 형성 방법 및 이를 수행하는 가상 사설 네트워크 운용 시스템 Download PDFInfo
- Publication number
- KR102474891B1 KR102474891B1 KR1020220110882A KR20220110882A KR102474891B1 KR 102474891 B1 KR102474891 B1 KR 102474891B1 KR 1020220110882 A KR1020220110882 A KR 1020220110882A KR 20220110882 A KR20220110882 A KR 20220110882A KR 102474891 B1 KR102474891 B1 KR 102474891B1
- Authority
- KR
- South Korea
- Prior art keywords
- key
- virtual private
- private network
- vector
- generating
- Prior art date
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 title claims abstract description 40
- 239000013598 vector Substances 0.000 claims abstract description 62
- 239000011159 matrix material Substances 0.000 claims abstract description 53
- 238000004891 communication Methods 0.000 claims abstract description 20
- 238000005070 sampling Methods 0.000 claims abstract description 10
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0435—Network 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
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0442—Network 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
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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
-
- 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/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
-
- 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/3263—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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
본 발명의 기술적 사상은 양자 내성 암호화 알고리즘에 기초하여 생성한 키를 활용하여 가상 사설 네트워크를 제공하는 가상 사설 네트워크 형성 방법 및 이를 수행하는 가상 사설 네트워크 운용 시스템에 관한 것이다. 본 발명의 기술적 사상에 따른 클라이언트와 서버 간의 가상 사설 네트워크를 형성하는 방법은 격자 기반 알고리즘을 활용하여 키를 생성하는 단계, 상기 키를 기초로 인증서를 생성하는 단계 및 상기 인증서를 활용하여 가상 사설 네트워크를 통한 통신을 수행하는 단계를 포함하고, 상기 키를 생성하는 단계는, 랜덤 다항식 링에 대응하는 키 행렬을 정의하는 단계, 격자에 대응하는 제1 키 벡터 및 상기 제1 키 벡터와 제1 거리를 갖는 제2 키 벡터를 샘플링하는 단계, 상기 키 행렬, 상기 제1 키 벡터 및 상기 제2 키 벡터를 활용하여 상기 키를 생성하는 단계를 포함할 수 있다.
Description
본 발명은 양자 내성 암호화 알고리즘에 기초하여 생성한 키를 활용하여 가상 사설 네트워크를 제공하는 가상 사설 네트워크 형성 방법 및 이를 수행하는 가상 사설 네트워크 운용 시스템에 관한 것이다.
가상 사설 네트워크(Virtual Private Network, VPN)은 공중 네트워크를 통해 회사나 단체가 내용을 외부에 드러내지 않고 통신할 목적으로 사용되는 사설 통신 네트워크로서 터널링 프로토콜이라는 특별한 TCP/IP 기반 프로토콜을 사용하여 디바이스들 사이에 보안 채널을 형성할 수 있다.
가상 사설 네트워크를 구현하는 방법으로서 장소나 단말의 종류와 관계없이 내부 네트워크에 접속할 수 있는 SSL(Secure Sockets Layer) 기반의 가상 사설 네트워크가 있다. SSL 가상 사설 네트워크는 웹 브라우저와 서버 간의 통신에서 정보를 암호화함으로써 도중에 해킹을 통해 정보가 유출되더라도 정보의 내용을 보호할 수 있는 기능을 갖춘 보안 솔루션으로서 원격지에서 인터넷으로 내부 시스템 자원을 안전하게 사용할 수 있다.
한편, 양자 컴퓨터의 발전으로 기존의 암호 체계에서 활용되던 암호화 알고리즘의 보안성이 약화되었고, 이에 따라서 양자 컴퓨터에 의해서도 보안성이 유지되는 암호화 알고리즘인 양자 내성 알고리즘(Post Quantum Crytography)의 필요성이 대두되었으며, 가상 사설 네트워크 역시 양자 컴퓨터에 의해서도 보안성이 유지되는 양자 내성 알고리즘에 대한 적용이 필요해졌다.
본 발명의 목적은, 가상 사설 네트워크를 제공하기 위해 키를 제공하는 과정에서 양자 내성 암호화 알고리즘을 활용하는 가상 사설 네트워크 형성 방법 및 이를 수행하는 가상 사설 네트워크 운용 시스템에 관한 것이다.
본 개시의 일 실시예에 따른 클라이언트와 서버 간의 가상 사설 네트워크를 형성하는 방법은 격자 기반 알고리즘을 활용하여 키를 생성하는 단계, 상기 키를 기초로 인증서를 생성하는 단계 및 상기 인증서를 활용하여 가상 사설 네트워크를 통한 통신을 수행하는 단계를 포함하고, 상기 키를 생성하는 단계는, 랜덤 다항식 링에 대응하는 키 행렬을 정의하는 단계, 격자에 대응하는 제1 키 벡터 및 상기 제1 키 벡터와 제1 거리를 갖는 제2 키 벡터를 샘플링하는 단계, 상기 키 행렬, 상기 제1 키 벡터 및 상기 제2 키 벡터를 활용하여 상기 키를 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 키 행렬을 정의하는 단계는, 난수 발생기를 이용하여 난수를 생성하는 단계, 상기 난수를 해시 함수에 대입함으로써 시드를 생성하는 단계, 상기 시드를 이용하여 상기 랜덤 다항식 링을 생성하는 단계 및 상기 랜덤 다항식 링에 대응하는 상기 키 행렬을 정의하는 단계를 포함할 수 있다.
일 실시예에서, 상기 제1 키 벡터 및 제2 키 벡터를 샘플링하는 단계는, 기각 샘플링 기법을 이용하여 랜덤한 상기 제1 키 벡터 및 상기 제2 키 벡터를 샘플링하는 것을 특징으로 할 수 있다.
일 실시예에서, 상기 키 행렬, 상기 제1 키 벡터 및 상기 제2 키 벡터를 활용하여 상기 키를 생성하는 단계는, 상기 키 행렬, 상기 제1 키 벡터 및 상기 제2 키 벡터를 활용하여 키 벨류를 계산하는 단계, 상기 키 벨류, 상기 키 행렬, 상기 제1 키 벡터 및 상기 제2 키 벡터를 이용하여 공개 키 및 비밀 키를 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 키 벨류는 상기 키 행렬과 상기 제1 키 벡터를 곱한 값에 상기 제2 키 벡터를 더한 값으로 결정되는 것을 특징으로 할 수 있다.
일 실시예에서, 상기 공개 키 및 비밀 키를 생성하는 단계는, 상기 키 행렬과 상기 키 벨류 쌍을 상기 공개 키로 생성하는 단계 및 상기 키 행렬, 상기 키 벨류 쌍, 상기 제1 키 벡터 및 상기 제2 키 벡터 쌍을 상기 비밀 키로 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 인증서를 활용하여 가상 사설 네트워크를 통한 통신을 수행하는 단계는, 상기 서버에 의해, 상기 키 행렬의 상위 N(N은 자연수) 개의 계수를 이용하여 상기 인증서에 서명을 하는 단계, 상기 클라이언트에 의해, 상기 서명을 기초로 상기 키 행렬의 상위 N(N은 자연수) 개의 계수를 이용하여 상기 서버에 대한 인증을 수행하는 단계, 상기 클라이언트에 의해, 상기 인증이 완료되면 상기 인증서에 포함된 공개 키를 이용하여 대칭 키를 암호화 하는 단계, 상기 서버에 의해, 상기 공개 키를 활용하여 상기 대칭 키를 복호화 하는 단계, 상기 대칭 키를 이용하여 상기 가상 사설 네트워크를 통한 통신을 수행하는 단계를 포함할 수 있다.
본 발명의 기술적 사상에 따르면, 가상 사설 네트워크를 활용하기 위한 키를 생성하는 과정에서 격자 알고리즘을 포함하는 양자 내성 암호화 알고리즘을 활용하여 키를 생성함으로써 높은 보안성을 갖출 수 있고, 이에 따라서 양자 컴퓨터에도 해킹되지 않는 안전한 가상 사설 네트워크를 제공할 수 있다.
도 1은 본 개시의 예시적 실시예에 따른 가상 사설 네트워크 운영 시스템을 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따른 가상 사설 네트워크 운용 시스템의 동작방법을 나타내는 순서도이다.
도 3은 본 개시의 예시적 실시예에 따른 인증서의 데이터 구조를 나타내는 도면이다.
도 4는 본 개시의 예시적 실시예에 따른 양자 내성 키 생성 알고리즘을 나타내는 순서도이다.
도 5는 본 개시의 예시적 실시예에 따른 양자 내성 키 생성 알고리즘을 나타내는 순서도이다.
도 6은 본 개시의 예시적 실시예에 따른 양자 내성 키 생성 알고리즘을 나타내는 순서도이다.
도 7은 본 개시의 예시적 실시예에 따른 양자 내성 핸드쉐이크 방법을 나타내는 순서도이다.
도 8은 본 개시의 예시적 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따른 가상 사설 네트워크 운용 시스템의 동작방법을 나타내는 순서도이다.
도 3은 본 개시의 예시적 실시예에 따른 인증서의 데이터 구조를 나타내는 도면이다.
도 4는 본 개시의 예시적 실시예에 따른 양자 내성 키 생성 알고리즘을 나타내는 순서도이다.
도 5는 본 개시의 예시적 실시예에 따른 양자 내성 키 생성 알고리즘을 나타내는 순서도이다.
도 6은 본 개시의 예시적 실시예에 따른 양자 내성 키 생성 알고리즘을 나타내는 순서도이다.
도 7은 본 개시의 예시적 실시예에 따른 양자 내성 핸드쉐이크 방법을 나타내는 순서도이다.
도 8은 본 개시의 예시적 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
본 발명에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
어느 하나의 실시예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성 요소는, 다른 실시예에서 동일한 명칭을 사용하여 설명될 수 있다. 반대되는 기재가 없는 이상, 어느 하나의 실시예에 기재된 설명은 다른 실시예에도 적용될 수 있으며, 중복되는 범위 또는 당해 기술 분야에 속한 통상의 기술자가 자명하게 이해할 수 있는 범위 내에서 구체적인 설명은 생략될 수 있다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
이하, 본 발명의 바람직한 실시예 및 첨부한 도면을 참조하여 본 발명에 대해 상세히 설명한다.
도 1은 본 개시의 예시적 실시예에 따른 가상 사설 네트워크 운영 시스템을 나타내는 블록도이다.
도 1을 참조하면, 가상 사설 네트워크 운영 시스템(10)은 인증기관(100), 클라이언트(200), 서버(300)를 포함할 수 있다. 일 실시예에서, 가상 사설 네트워크 운영 시스템(10)은 SSL 방식에 따라서 가상 사설 네트워크(VPN)를 운용할 수 있으나 본 개시의 기술적 사상은 이에 제한되지 않는다.
인증기관(100)(Certification Authority)은 사용자들에게 인증서(CA)를 발급하는 기관에 의해 운용되는 단말을 나타낼 수 있다. 인증기관(10)은 인증서(CA)를 통해서 거래의 신뢰를 확보하기 위해 인증서(CA) 소지자의 신원을 증명하는 역할을 수행할 수 있고, 인증서(CA)의 발급 및 인증서(CA)의 추출, 폐기, 갱신, 교체 등의 인증업무를 처리하기 위한 전반적인 업무를 수행할 수 있다. 인증서(CA)는 가상 사설 네트워크(VPN)을 구성할 때, 서버(300)의 신뢰성을 보증하기 위해 클라이언트(200)가 가상 사설 네트워크(VPN)를 구성하고자 하는 서버(300)인지 확인하는 역할을 수행할 수 있으며, 인증기관(100)은 서버(300)를 인증하는 소정의 절차를 거쳐 인증서(CA)를 서버(300)에 전송할 수 있다. 일 실시예에서, 인증서(CA)는 키(KEY)(예를 들면, 공개 키 및/또는 비밀 키)에 대한 정보를 포함할 수 있다.
클라이언트(200)는 가상 사설 네트워크(VPN)을 통해 서버(300)와 통신하고자 하는 사용자에 의해 운용되는 단말일 수 있다. 인증기관(100)과 클라이언트(200)는 셀룰러 폰(Cellular Phone), 스마트 폰(Smart phone), 랩탑(Laptop), PC(Personal Computer), 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등 통신 가능한 각종 단말 장치를 포함할 수 있다.
서버(300)는 클라이언트(200)에게 가상 사설 네트워크(VPN)를 통해서 각종데이터를 제공하는 서버(Server) 및 상기 서버를 운용하는 운용 컴퓨터 등을 통칭할 수 있으며, 일 예시에서 클라우드 내에서 구현될 수 있다. 일 실시예에서, 서버(300)는 웹사이트, 어플리케이션(Application) 등의 응용 프로그램을 이용하여 데이터를 클라이언트(200)에 전송할 수 있다.
가상 사설 네트워크 운용 시스템(10)의 각 구성은 유무선으로 서로 통신 가능하도록 연결될 수 있고, 유선으로 연결되는 경우에, 가상 사설 네트워크 운용 시스템(10)에 포함되는 각 구성은 시리얼 방식을 이용하여 통신할 수 있고, 무선으로 연결되는 경우에, 가상 사설 네트워크 운용 시스템(10)에 포함되는 각 구성은 무선 통신망을 이용하여 서로 통신할 수 있고, 무선 통신망에는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망, 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
인증 기관(100)은 서버(300)에 대한 인증을 통해 키(KEY)가 포함된 인증서(CA)를 서버(300)에 전송할 수 있고, 서버(300)는 인증서에 포함된 키(KEY)를 이용하여 클라이언트(200)와의 가상 사설 네트워크(VPN)를 형성할 수 있다. 본 개시의 기술적 사상에 따르면, 인증서(CA)에 포함된 키(KEY)는 격자 기반 알고리즘을 이용한 양자 내성 알고리즘에 의해 생성될 수 있고, 이에 따라서 인증기관(100)과 서버(300) 사이에 인증서(CA)를 전송할 때나, 클라이언트(200)와 서버(300) 사이에 인증서(CA)를 전송할 때 양자 컴퓨팅을 활용하는 공격자에 의해서 인증서(CA)가 노출되는 상황에서도, 인증서(CA)에 포함된 키(KEY)가 공격자에 의해 노출되지 않을 수 있고, 이에 따라서 가상 사설 네트워크(VPN)가 안전한 환경에서 형성될 수 있다.
도 1에서는 인증기관(100)이 키(KEY)를 생성하여 인증서(CA)에 포함시키는 예시를 들고 있으나, 이는 일 예시이고, 서버(300)가 키(KEY)를 생성하여 인증서(CA)에 포함시키는 예시에도 본 개시의 기술적 사상이 적용될 수 있음은 당연하다.
일 실시예에서, 클라이언트(200)는 서버(300)로부터 인증서(CA)를 수신할 수 있고, 인증기관(100)으로부터 인증서(CA)의 진위 여부를 인증할 수 있다(Ver_CA). 이에 따라서 클라이언트(200)는 서버(300)가 가상 사설 네트워크(VPN)를 형성하고자 하는 정당한 주체인지 확인할 수 있다.
본 명세서에서 가상 사설 네트워크 운용 시스템(10) 및 이에 포함된 구성의 동작은 각 구성에 포함된 저장 장치에 저장된 적어도 하나의 명령어를 포함하는 컴퓨터 프로그램에 기초하여, 각 구성에 포함된 프로세서가 수행하는 동작을 의미할 수 있고, 상기 저장 장치는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등을 포함할 수 있다. 또한, 상기 프로세서는 CPU(Central Processing Unit), GPU(Graphic Processing Unit), NPU(Neural Processing Unit), 램(RAM), 롬(ROM), 시스템 버스 및 애플리케이션 프로세서 중 적어도 하나를 포함할 수 있다.
도 2는 본 개시의 예시적 실시예에 따른 가상 사설 네트워크 운용 시스템의 동작방법을 나타내는 순서도이다.
도 2를 참조하면, 인증기관(100)은 키를 생성할 수 있다(T110). 본 개시의기술적 사상에 따르면 인증기관(100)은 격자 기반 알고리즘에 기초하여 키를 생성할 수 있으며, 키 생성 방법에 관해서는 도 4 내지 도 6에서 상세하게 후술한다. 인증기관(100)은 생성된 키를 활용하여 인증서를 생성할 수 있다(T120). 일 예시에서, 인증 기관(100)은 인증서를 구성하는 데이터에 키에 대한 데이터 패킷을 포함시킴으로써 인증서를 생성할 수 있다. 인증기관(100)은 생성된 인증서를 서버(300)에 전송할 수 있다.
도 2에는 인증기관(100)이 키를 생성하고, 생성된 키를 활용하여 인증서를 생성하는 실시예가 도시되어 있으나, 이는 일 실시예이고, 서버(300)가 키를 생성하는 실시예에도 본 개시의 기술적 사상이 적용될 수 있다.
클라이언트(200)와 서버(300)는 인증서를 활용하여 핸드 쉐이크를 수행할 수 있고, 이를 통해 대칭키를 공유할 수 있다(T200). 본 명세서에서 핸드 쉐이크는 클라이언트(200)와 서버(300)가 가상 사설 네트워크(VPN)를 활용하여 통신하기 위해 통신을 개시하는 일련의 과정을 의미할 수 있으며, 대칭키 방식에서는 핸드 쉐이크의 결과로서 대칭키가 교환될 수 있다. 본 개시의 일 실시예에서 핸드 쉐이크 도중 서버(300)의 서명 동작과 클라이언트(200)의 인증 동작이 수행될 수 있으며, 그 때 인증서에 포함된 키가 활용될 수 있다.
클라이언트(200)와 서버(300)는 교환된 대칭키를 활용하여 가상 사설 네트워크(VPN)를 통한 통신을 수행할 수 있다(T310).
본 개시의 기술적 사상에 따르면, 가상 사설 네트워크(VPN)를 형성하기 위한 일련의 동작에서 격자 알고리즘을 기반으로 하는 양자 내성 알고리즘이 활용될 수 있고, 이에 따라서 인증기관(100)에서 서버(300)로 인증서를 전송하는 단계(T130)나, 핸드 쉐이크 단계(T200)에서 해커에 의해 인증서가 탈취되더라도 인증서에 포함된 키를 양자 컴퓨팅에 의해 복호화하지 못할 수 있고, 결과적으로, 가상 사설 네트워크 운용 시스템(10)의 보안성이 증대될 수 있다.
도 3은 본 개시의 예시적 실시예에 따른 인증서의 데이터 구조를 나타내는 도면이다.
도 3을 참조하면, 인증서(CA)는 인증서의 버전 정보(Ver), 서명에 활용되는 알고리즘 정보(Signature Algorithm), 인증서의 일련 번호(Serial #), 인증서를 발급한 기관 정보(Issuer), 유효 기간에 대한 정보(Validity), 인증서의 주체(Subject), 공개 키에 대한 정보(Public Key), 서명 정보(Signature)를 포함할 수 있다.
공개 키에 대한 정보(Public Key)는 공개 키 알고리즘에 대한 정보와 공개 키를 포함할 수 있다. 본 개시의 일 실시예에서, 공개 키 알고리즘은 도 4 내지 도 6에서 후술하는 양자 내성 키 생성 알고리즘에 대응될 수 있고, 공개 키는 도 4 내지 도 6에서 후술하는 양자 내성 키 생성 알고리즘에 의해 생성될 수 있다.
또한, 서명 알고리즘(Signature Algorithm)은 도 7에서 후술하는 양자 내성 서명 알고리즘에 대응될 수 있고, 서버(300)에 의해 생성되는 서명(Signature)은 도 7에서 후술하는 양자 내성 서명 알고리즘에 의해 생성될 수 있다.
도 3의 인증서(CA) 구조는 일 실시예이고, 인증서(CA)가 택하는 정책에 따라서 인증서(CA)의 구조는 달라질 수 있으며, 본 개시의 기술적 사상은 인증서(CA)의 구조에 불문하고 적용될 수 있음은 이해되어야 한다.
도 4는 본 개시의 예시적 실시예에 따른 양자 내성 키 생성 알고리즘을 나타내는 순서도이다. 상세하게는, 도 4는 도 2의 키 생성 방법(T110)을 상세하게 나타내는 도면이다.
도 4를 참조하면, 인증기관(100)은 랜덤 다항식 링에 대응하는 키 행렬을 정의할 수 있다(S100). 다항식 링은 실수, 복소수를 계수로 하고 미지수가 하나인 다항식에 대한 추상대수학적 관점에서 본 링을 말하며, 랜덤 다항식 링은 계수가 랜덤하게 결정된 다항식 링을 의미할 수 있다. 또한, 이에 대응하는 키 행렬은 랜덤 다항식 링의 계수를 행렬로 나타낸 것을 의미할 수 있다.
인증기관(100)은 격자 기반 알고리즘을 활용하여 제1 키 벡터 및 제2 키 벡터를 샘플링할 수 있다. 격자 기반 알고리즘은 격자 문제(Lattice Problem)이라 불리는 격자 상의 수학적 난제들을 기반으로 한 암호 알고리즘을 의미하는 것으로서 격자 문제는 SVP(Shortest Vector Problem), SIVP(Shortest Independent Vectors Problem), CVP(Closest Vector Problem)을 포함한다. 격자 기반 알고리즘의 보안성은 상술한 격자 문제가 해결되기 어렵다는 점에 근거하고 있는데, 수백 차원의 격자에서 임의의 위치에서 가장 가까운 격자점을 찾기 어렵기 때문에, 해당 격자점에 키를 대응시킨다면 그 위치에 대응되는 비밀 키를 양자 컴퓨팅으로도 찾아낼 수 어렵기 때문에 양자 내성 알고리즘의 대안이 될 수 있다. 일 예시에서, 격자상의 임의의 위치를 공개 키에 대응시키고, 공개 키에 가까운 특정 위치를 비밀 키에 대응시킨다면, 비밀 키는 다차원 격자의 교차점에 숨겨질 수 있고, 비밀 키에 대한 최단 벡터(shortest vector)의 가능성 수는 무한하고, 양자 컴퓨터에 있어서 순열의 수와 가능성의 범위를 훑어보는 과정이 복잡한 성질 상 기존 컴퓨터에 비해 양자 컴퓨터의 이점을 활용할 수 없다. 즉, 암호 키는 공격자가 격자를 통해 자신의 길을 알고 있는 경우에만 결정할 수 있으며, 즉 공격자는 경로를 계산할 방법이 없기 때문에 비밀 키를 공격자가 계산해 내는 방법은 이론적으로 불가능하다고 할 수 있다. 일 실시예에서, 격자 기반 알고리즘을 활용하여 생성한 복수의 벡터들중 키 벡터들을 샘플링 하는 과정은 가우시안 분포 방법과 기각 샘플링 방법이 활용될 수 있다.
인증기관(100)은 생성한 키 행렬, 제1 키 벡터 및 제2 키 벡터를 활용하여 공개 키와 비밀 키를 생성할 수 있다(S300).
본 개시의 기술적 사상에 따르면, 가상 사설 네트워크(VPN)를 위한 키를 생성하기 위한 과정에서 격자 기반 알고리즘을 활용함으로써 양자 컴퓨팅에 의한 해킹 시도를 막을 수 있고, 이에 따라서 가상 사설 네트워크(VPN)의 보안성이 높아질 수 있다.
도 5는 본 개시의 예시적 실시예에 따른 양자 내성 키 생성 알고리즘을 나타내는 순서도이다. 상세하게는 도 5는 도 4의 키 행렬 정의 단계(S100)를 상세하게 나타내는 도면이다.
도 5를 참조하면, 인증기관(100)은 난수 발생기를 이용하여 키 난수를 생성할 수 있다(S110). 난수 발생기는 엔트로피에 근거하여 이론적으로 예측을 할 수 없는 무작위의 숫자나 심볼을 생성하는 장치를 의미하고, 사용되는 잡음원에 따라 비결정론적 난수발생기(non-deterministic random bit generator, NRBG)와 결정론적 난수발생기(deterministic random bit generator, DRBG)를 포함할 수 있다.
인증기관(100)은 키 난수를 해시 함수에 대입함으로써 시드를 생성하고(S120), 시드를 이용하여 랜덤 다항식 링을 생성할 수 있다(S130). 또한, 인증기관(100)은 랜덤 다항식 링에 대응하는 키 행렬을 정의할 수 있다(S140).
본 개시의 일 실시예에 따르면, 키 행렬을 정의할 때, 난수 발생기, 해시 함수, 랜덤 다항식 링을 활용함으로써 키 행렬에 대한 무작위성을 극대화 할 수 있고, 결과적으로 키의 무작위성이 극대화할 수 있다.
도 6은 본 개시의 예시적 실시예에 따른 양자 내성 키 생성 알고리즘을 나타내는 순서도이다. 상세하게는 도 6은 도 4의 공개 키 및 비밀 키 생성 단계(S300)를 상세하게 나타내는 도면이다.
도 6을 참조하면, 인증기관(100)은 키 행렬, 제1 키 벡터, 및 제2 키 벡터를 이용하여 키 벨류를 정의할 수 있다(S310). 일 예시에서, 키 행렬(A), 제1 키 벡터(v1), 제2 키 벡터(v2)에 대해서 키 벨류(k)는 아래 수학식 1과 같이 정의될 수 있다.
인증기관(100)은 키 행렬과 키 벨류를 공개 키로 생성하고(S320), 키 행렬, 키 벨류, 제1 키 벡터 및 제2 키 벡터를 비밀 키로 생성할 수 있다(S330). 일 예시에서, 공개 키(pk), 비밀 키(sk)는 아래 수학식 2와 같이 생성될 수 있다.
본 개시의 일 실시예에 따른 인증기관(100)은 격자 기반 알고리즘을 이용하여 정의된 키 벨류를 활용하여 공개 키와 비밀 키를 생성하고, 키 벡터를 비밀 키에 포함시킴으로써 공개 키의 보안성을 증대시키고, 비밀 키를 활용하여 데이터가 온전하게 복호화될 수 있다.
도 4 내지 도 6은 인증기관(100)이 키를 생성하는 예시에 대해서 도시하고 있으나, 이는 일 예시이고, 서버(200) 역시 도 4 내지 도 6에서 상술한 키 생성 방법으로 공개 키와 비밀 키를 생성할 수 있다.
도 7은 본 개시의 예시적 실시예에 따른 양자 내성 핸드쉐이크 방법을 나타내는 순서도이다. 상세하게는 도 7은 도 2의 핸드쉐이크 단계(T200)를 상세하게 나타낸다.
도 7을 참조하면, 클라이언트(200)는 서버(300)에 가상 사설 네트워크 형성을 위한 핸드쉐이크 요청을 전송할 수 있다(T210). 서버(300)는 핸드쉐이크 요청에 대응하여 인증 메시지를 활용한 서명을 수행할 수 있다(T220). 서버(300)의 서명 동작에 대해서는 도 8에서 후술한다.
서버(300)는 생성한 서명을 인증서에 포함시켜서 인증 메시지와 함께 클라이언트(200)에게 전송할 수 있다(T230). 클라이언트(200)는 인증서로부터 공개 키와 서명을 획득하고(T240), 인증 메시지, 공개 키 및 서명을 활용하여 서버(300)를 인증할 수 있다(T250). 클라이언트(200)의 인증 동작에 대해서는 도 9에서 후술한다.
클라이언트(200)는 서버(300)의 인증에 성공한 경우, 공개 키에 의해 암호화된 대칭 키를 서버(300)에 전송할 수 있고(T260), 서버(300)는 비밀 키를 이용하여 대칭 키를 복호화 할 수 있다(T270). 이후 클라이언트(200)는 서버(300)와 대칭 키를 활용하여 가상 사설 네트워크(VPN)를 통한 통신을 수행할 수 있다.
본 개시의 일 실시예에 따르면, 클라이언트(200)와 서버(300) 간에 격자 기반 알고리즘을 활용한 공개 키를 이용하여 핸드쉐이크를 수행함으로써 클라이언트(200)와 서버(300) 사이에 인증서 전송 과정에서 공격자가 인증서를 탈취하더라도 인증서에 있는 공개 키가 공격자에게 노출되지 않을 수 있고, 특유한 서명 알고리즘과 인증 알고리즘을 활용함으로써 격자 기반 알고리즘을 활용한 공개 키를 활용하더라도 서버(300)의 서명과 서버(300)에 대한 인증이 원활하게 이루어질 수 있다.
일 실시예에 따르면, 서명 단계(T220)에서 서버(300)는 난수 발생기를 활용하여 서명 난수를 생성할 수 있다(S221). 서버(300)는 공개 키에 포함된 키 행렬에 생성된 서명 난수를 곱함으로써 제1 행렬을 계산하고, 계산한 제1 행렬에 대응하는 다항식 링 중 상위 N(N은 자연수) 개의 계수를 제1 비트로서 획득할 수 있다(S222). 일 예시에서, 서버(300)는 다항식 링 중 상위 N개의 계수들을 나열함으로써 제1 비트를 획득할 수 있다. 본 개시의 일 실시예에 따르면, 서버(300)가 다항식 링 중 상위 N 개의 계수를 활용하여 해쉬 값을 결정함으로써 격자 기반 알고리즘에도 불구하고 인증 절차에서 정확한 인증이 가능할 수 있다.
서버(300)는 제1 비트와 인증 메시지를 더한 값을 해쉬 함수에 대입함으로써 제1 해쉬 값을 생성할 수 있다(S223). 일 예시에서, 인증 메시지는 서버(300)가 임의로 정한 의미를 가진 메시지를 나타낼 수 있고, 제1 비트와 인증 메시지를 더하는 행위는 인증 메시지에 대응되는 비트 값에 제1 비트를 더하는 행위를 의미할 수 있다.
서버(300)는 비밀 키에 포함된 제1 키 벡터와 제1 해쉬 값을 곱한 값에 서명 난수를 더함으로써 서명 값을 생성할 수 있다(S224). 제1 해쉬 값(h1), 제1 키 벡터(v1), 서명 난수(rn)에 대해서 서명 값(sv)은 아래 수학식 3에 따라서 결정될 수 있다.
서버(300)는 생성된 서명 값이 미리 결정된 값 이하인지 확인할 수 있다(S225). 서버(300)는 생성된 서명 값이 미리 결정된 값 이하인 경우 서명 값과 제1 해쉬 값을 서명으로서 인증서에 포함시켜 클라이언트(200)에 전송할 수 있고(S226), 서버(300)는 생성된 서명 값이 미리 결정된 값 이하가 아닌 경우, 새로운 서명 난수를 생성하여 서명 값 생성 동작을 다시 수행할 수 있다.
본 개시의 일 실시예에 따르면, 서버(300)는 서명 값을 격자 기반의 키 벡터와 해쉬 값, 서명 난수를 활용하여 결정함으로써 서명에 대한 양자 내성을 확보할 수 있고, 서명 값이 미리 결정된 값 이하인 경우에만 서명 값을 채택함으로써 높은 보안성을 확보할 수 있다.
일 실시예 따르면, 인증 단계(T250)에서, 클라이언트(200)는 인증서로부터 서명 값 및 제1 해쉬 값을 포함하는 서명과 키 행렬 및 키 벨류를 포함하는 공개 키를 획득할 수 있다(S251). 클라이언트(200)는 서명 값이 미리 결정된 값 이하인지 확인할 수 있다(S252). 일 실시예에서, 상기 미리 결정된 값은 서버(300)와 미리 논의된 값일 수 있고, 클라이언트(200)는 서명 값이 미리 결정된 값 이하인지 판단함으로써 서명 값이 변조되었는지 1차적으로 판단할 수 있다.
클라이언트(200)는 서명 값과 키 행렬을 곱한 값에 제1 해쉬 값과 키 벨류를 곱한 값을 뺀 값을 계산할 수 있다. 서명 값(sv), 키 행렬(A), 제1 해쉬 값(h1), 키 밸류(k)에 대해서 클라이언트는 아래 제2 행렬(B)을 계산할 수 있다.
수학식 1 및 수학식 3에 의해, 제2 행렬(B)는 아래와 같이 계산될 수 있다.
클라이언트(200)는 제2 행렬(B)에 대응하는 다항식 링 중 상위 N 개의 계수를 제2 비트로서 획득할 수 있다(S254). 클라이언트(200)는 제2 비트와 인증 메시지를 더한 값을 해쉬 함수에 대입함으로써 제2 해쉬 값을 생성할 수 있다(S255). 일 예시에서, 제2 행렬(B)의 부분은 상위 계수에 포함되지 않을 수 있고, 이에 따라서 키 행렬(A)의 배수인 제1 행렬과 제2 행렬의 상위 비트에 대한 해쉬 값은 해쉬 함수의 성질에 따라서 서명이 정당한 경우에만 서로 동일할 수 있다.
따라서, 클라이언트(200)는 서명에 포함된 제1 해쉬 값과 계산으로 획득한 제2 해쉬 값이 동일한 경우(S256), 공개 키를 활용하여 대칭 키를 암호화하고(S257), 서버(200)에게 전송할 수 있고, 클라이언트(200)는 서명에 포함된 제1 해쉬 값과 계산으로 획득한 제2 해쉬 값이 동일하지 않은 경우(S256), 인증 실패로 핸드쉐이크를 종료할 수 있다(S258).
본 개시의 일 실시예에 따르면, 행렬의 상위 계수를 이용하여 서명과 인증 절차를 수행함으로써 격자 기반 알고리즘에도 불구하고 정확한 인증 절차가 수행될 수 있으며, 양자 컴퓨팅에도 안전한 가상 사설 네트워크를 구축할 수 있다.
도시되지 않았지만, 일 실시예에서, 클라이언트(200)는 인증서가 정당한지 여부를 인증기관(100)을 통해 추가적으로 인증할 수 있다.
도 8은 본 개시의 예시적 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 8을 참조하면, 컴퓨팅 시스템(1000)은 인증기관(100), 클라이언트(200) 및 서버(300) 중 어느 하나를 구성할 수 있고, 프로세서(1100), 메모리 장치(1200), 스토리지 장치(1300), 파워 서플라이(1400) 및 디스플레이 장치(1500)를 포함할 수 있다. 한편, 도 8에는 도시되지 않았지만, 컴퓨팅 시스템(1000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다.
이와 같이, 컴퓨팅 시스템(1000)에 포함된 프로세서(1100), 메모리 장치(1200), 스토리지 장치(1300), 파워 서플라이(1400) 및 디스플레이 장치(1500)는, 본 발명의 기술적 사상에 의한 실시예들에 따른 인증기관(100), 클라이언트(200) 및 서버(300) 중 어느 하나를 구성하여 가상 사설 네트워크 형성 방법을 수행할 수 있다. 구체적으로, 프로세서(1100)는 메모리 장치(1200), 스토리지 장치(1300), 파워 서플라이(1400) 및 디스플레이 장치(1500)를 제어함으로써 도 1 내지 도 7에서 상술한 가상 사설 네트워크 운용 시스템(10)의 동작 방법을 수행할 수 있다.
프로세서(1100)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(1100)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 프로세서(1100)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(1600)를 통하여 메모리 장치(1200), 스토리지 장치(1300) 및 디스플레이 장치(1500)와 통신을 수행할 수 있다. 실시예에 따라, 프로세서(1100)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
메모리 장치(1200)는 컴퓨팅 시스템(1000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리 장치(1200)는 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다. 스토리지 장치(1300)는 솔리드 스테이트 드라이브(solid state drive), 하드 디스크 드라이브(hard disk drive), 씨디롬(CD-ROM) 등을 포함할 수 있다. 스토리지 장치(1300)는 도 1 내지 도 7에서 상술한 가상 사설 네트워크 형성 방법에 관한 프로그램, 응용 프로그램 데이터, 시스템 데이터, 운영 체제 데이터 등을 저장할 수 있다.
디스플레이 장치(1500)는 사용자에 대한 알림을 수행하는 출력 수단으로서 가상 사설 네트워크 형성 방법에 대한 정보를 사용자 등에게 표시하여 알릴 수 있다. 전원 장치(1400)는 컴퓨팅 시스템(1000)의 동작에 필요한 동작 전압을 공급할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 발명되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 발명의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
Claims (7)
- 클라이언트와 서버 간의 가상 사설 네트워크를 형성하는 방법에 있어서,
격자 기반 알고리즘을 활용하여 키를 생성하는 단계;
상기 키를 기초로 인증서를 생성하는 단계;및
상기 인증서를 활용하여 가상 사설 네트워크를 통한 통신을 수행하는 단계;를 포함하고,
상기 키를 생성하는 단계는,
랜덤 다항식 링에 대응하는 키 행렬을 정의하는 단계;
격자에 대응하는 제1 키 벡터 및 상기 제1 키 벡터와 제1 거리를 갖는 제2 키 벡터를 샘플링하는 단계;및
상기 키 행렬, 상기 제1 키 벡터 및 상기 제2 키 벡터를 활용하여 상기 키를 생성하는 단계;를 포함하고,
상기 키 행렬, 상기 제1 키 벡터 및 상기 제2 키 벡터를 활용하여 상기 키를 생성하는 단계는,
상기 키 행렬, 상기 제1 키 벡터 및 상기 제2 키 벡터를 활용하여 키 벨류를 계산하는 단계;및
상기 키 벨류, 상기 키 행렬, 상기 제1 키 벡터 및 상기 제2 키 벡터를 이용하여 공개 키 및 비밀 키를 생성하는 단계;를 포함하고,
상기 키 벨류는 상기 키 행렬과 상기 제1 키 벡터를 곱한 값에 상기 제2 키 벡터를 더한 값으로 결정되는 것을 특징으로 하는 가상 사설 네트워크 형성 방법.
- 제1 항에 있어서,
상기 키 행렬을 정의하는 단계는,
난수 발생기를 이용하여 난수를 생성하는 단계;
상기 난수를 해시 함수에 대입함으로써 시드를 생성하는 단계;
상기 시드를 이용하여 상기 랜덤 다항식 링을 생성하는 단계;및
상기 랜덤 다항식 링에 대응하는 상기 키 행렬을 정의하는 단계;를 포함하는 가상 사설 네트워크 형성 방법.
- 제1 항에 있어서,
상기 제1 키 벡터 및 제2 키 벡터를 샘플링하는 단계는,
기각 샘플링 기법을 이용하여 랜덤한 상기 제1 키 벡터 및 상기 제2 키 벡터를 샘플링하는 것을 특징으로 하는 가상 사설 네트워크 형성 방법.
- 삭제
- 삭제
- 제1 항에 있어서,
상기 공개 키 및 비밀 키를 생성하는 단계는,
상기 키 행렬과 상기 키 벨류를 상기 공개 키로 생성하는 단계;및
상기 키 행렬, 상기 키 벨류, 상기 제1 키 벡터 및 상기 제2 키 벡터를 상기 비밀 키로 생성하는 단계;를 포함하는 가상 사설 네트워크 형성 방법.
- 제1 항에 있어서,
상기 인증서를 활용하여 가상 사설 네트워크를 통한 통신을 수행하는 단계는,
상기 서버에 의해, 상기 키 행렬의 상위 N(N은 자연수) 개의 계수를 이용하여 상기 인증서에 서명을 하는 단계;
상기 클라이언트에 의해, 상기 서명을 기초로 상기 키 행렬의 상위 N(N은 자연수) 개의 계수를 이용하여 상기 서버에 대한 인증을 수행하는 단계;
상기 클라이언트에 의해, 상기 인증이 완료되면 상기 인증서에 포함된 공개 키를 이용하여 대칭 키를 암호화 하는 단계;
상기 서버에 의해, 상기 공개 키를 활용하여 상기 대칭 키를 복호화 하는 단계;
상기 대칭 키를 이용하여 상기 가상 사설 네트워크를 통한 통신을 수행하는 단계;를 포함하는 가상 사설 네트워크 형성 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220110882A KR102474891B1 (ko) | 2022-09-01 | 2022-09-01 | 양자 내성 암호화 알고리즘에 기초하여 생성한 키를 활용하여 가상 사설 네트워크를 제공하는 가상 사설 네트워크 형성 방법 및 이를 수행하는 가상 사설 네트워크 운용 시스템 |
US18/079,896 US20240080187A1 (en) | 2022-09-01 | 2022-12-13 | Method for forming virtual private network which provides virtual private network using key generated based on post quantum cryptography, and virtual private network operating system performing same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220110882A KR102474891B1 (ko) | 2022-09-01 | 2022-09-01 | 양자 내성 암호화 알고리즘에 기초하여 생성한 키를 활용하여 가상 사설 네트워크를 제공하는 가상 사설 네트워크 형성 방법 및 이를 수행하는 가상 사설 네트워크 운용 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102474891B1 true KR102474891B1 (ko) | 2022-12-06 |
Family
ID=84407292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220110882A KR102474891B1 (ko) | 2022-09-01 | 2022-09-01 | 양자 내성 암호화 알고리즘에 기초하여 생성한 키를 활용하여 가상 사설 네트워크를 제공하는 가상 사설 네트워크 형성 방법 및 이를 수행하는 가상 사설 네트워크 운용 시스템 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240080187A1 (ko) |
KR (1) | KR102474891B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014126866A (ja) * | 2012-12-27 | 2014-07-07 | Fujitsu Ltd | 暗号処理装置および方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6849860B2 (ja) * | 2017-10-17 | 2021-03-31 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 格子暗号法のために構成可能な装置 |
EP3754896A1 (en) * | 2019-06-18 | 2020-12-23 | Koninklijke Philips N.V. | Authenticated key agreement |
EP3843320A1 (en) * | 2019-12-24 | 2021-06-30 | Koninklijke Philips N.V. | Public/private key system with increased security |
US11449799B1 (en) * | 2020-01-30 | 2022-09-20 | Wells Fargo Bank, N.A. | Systems and methods for post-quantum cryptography optimization |
US11374975B2 (en) * | 2020-07-02 | 2022-06-28 | International Business Machines Corporation | TLS integration of post quantum cryptographic algorithms |
DE102020119569B3 (de) * | 2020-07-24 | 2021-12-09 | Infineon Technologies Ag | Bereitstellen einer kryptografischen Information |
EP3993310A1 (en) * | 2020-10-28 | 2022-05-04 | Koninklijke Philips N.V. | Middlebox with decapsulation |
US12003629B2 (en) * | 2020-12-30 | 2024-06-04 | John A. Nix | Secure server digital signature generation for post-quantum cryptography key encapsulations |
US20220255735A1 (en) * | 2021-02-08 | 2022-08-11 | Visa International Service Association | Blinding techniques for post-quantum public keys |
US20230052431A1 (en) * | 2021-03-10 | 2023-02-16 | Quantropi Inc. | Quantum-safe cryptographic method and system |
-
2022
- 2022-09-01 KR KR1020220110882A patent/KR102474891B1/ko active IP Right Grant
- 2022-12-13 US US18/079,896 patent/US20240080187A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014126866A (ja) * | 2012-12-27 | 2014-07-07 | Fujitsu Ltd | 暗号処理装置および方法 |
Non-Patent Citations (1)
Title |
---|
김민하 외2, 오픈소스 기반 격자 방식 PQC 알고리즘 분석, 한국정보보호학회 동계학술대회논문, 2020.11.28 * |
Also Published As
Publication number | Publication date |
---|---|
US20240080187A1 (en) | 2024-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Thirumalai et al. | An efficient public key secure scheme for cloud and IoT security | |
CN107743133B (zh) | 移动终端及其基于可信安全环境的访问控制方法和系统 | |
US9774573B2 (en) | Secure transfer and use of secret material in a shared environment | |
CN110492990B (zh) | 区块链场景下的私钥管理方法、装置及系统 | |
US9807610B2 (en) | Method and apparatus for seamless out-of-band authentication | |
US10116645B1 (en) | Controlling use of encryption keys | |
CN102196375B (zh) | 保护带外消息 | |
US10601590B1 (en) | Secure secrets in hardware security module for use by protected function in trusted execution environment | |
US20190238519A1 (en) | Layered encryption for end to end communication | |
US11783091B2 (en) | Executing entity-specific cryptographic code in a cryptographic coprocessor | |
CN115001841A (zh) | 一种身份认证方法、装置及存储介质 | |
CN110830245A (zh) | 基于身份秘密共享和隐式证书的抗量子计算分布式车联网方法及系统 | |
KR102474897B1 (ko) | 양자 내성 암호화 알고리즘에 기초한 봉인 키 교환을 통해 가상 사설 네트워크를 제공하는 가상 사설 네트워크 형성 방법 및 이를 수행하는 가상 사설 네트워크 운용 시스템 | |
CN114240347A (zh) | 业务服务安全对接方法、装置、计算机设备、存储介质 | |
Afshan | Analysis and Assessment of the Vulnerabilities in Cloud Computing. | |
US20210111901A1 (en) | Executing entity-specific cryptographic code in a trusted execution environment | |
KR102474891B1 (ko) | 양자 내성 암호화 알고리즘에 기초하여 생성한 키를 활용하여 가상 사설 네트워크를 제공하는 가상 사설 네트워크 형성 방법 및 이를 수행하는 가상 사설 네트워크 운용 시스템 | |
Sarhan et al. | Secure android-based mobile banking scheme | |
KR102474894B1 (ko) | 양자 내성 암호화 알고리즘에 기초한 서명과 인증을 수행함으로써 가상 사설 네트워크를 제공하는 가상 사설 네트워크 형성 방법 및 이를 수행하는 가상 사설 네트워크 운용 시스템 | |
CN116049802A (zh) | 应用单点登陆方法、系统、计算机设备和存储介质 | |
CN114124440B (zh) | 安全传输方法、装置、计算机设备和存储介质 | |
KR102474899B1 (ko) | 양자 내성 암호화 알고리즘에 기초한 가상 사설 네트워크 형성 방법 및 이를 수행하는 가상 사설 네트워크 운용 시스템 | |
CN115277078A (zh) | 用于处理基因数据的方法、装置、设备和介质 | |
JP2019057827A (ja) | 分散認証システムおよびプログラム | |
KR102474901B1 (ko) | 양자 내성 암호화 알고리즘에 기초하여 생성된 인증 코드를 통해 인증을 수행하는 블루투스 네트워크 형성 방법 및 이를 수행하는 블루투스 네트워크 운용 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |