KR102650733B1 - 데이터 이름 기반의 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 방법 및 이를 이용한 시스템 - Google Patents

데이터 이름 기반의 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 방법 및 이를 이용한 시스템 Download PDF

Info

Publication number
KR102650733B1
KR102650733B1 KR1020210156480A KR20210156480A KR102650733B1 KR 102650733 B1 KR102650733 B1 KR 102650733B1 KR 1020210156480 A KR1020210156480 A KR 1020210156480A KR 20210156480 A KR20210156480 A KR 20210156480A KR 102650733 B1 KR102650733 B1 KR 102650733B1
Authority
KR
South Korea
Prior art keywords
key
data
processor
request
computing node
Prior art date
Application number
KR1020210156480A
Other languages
English (en)
Other versions
KR20230070662A (ko
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 KR1020210156480A priority Critical patent/KR102650733B1/ko
Priority to US17/884,748 priority patent/US20230155819A1/en
Publication of KR20230070662A publication Critical patent/KR20230070662A/ko
Application granted granted Critical
Publication of KR102650733B1 publication Critical patent/KR102650733B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/457Network directories; Name-to-address mapping containing identifiers of data entities on a computer, e.g. file names
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0825Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

데이터 이름 기반의 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 방법 및 이를 이용하는 시스템이 개시된다.
상기 방법은, 컴퓨팅 노드에서, 사용자 요청에 따른 결과 데이터의 암호화에 이용되는 대칭키를 공유하기 위한 보안키와 매칭 정보를 포함하는 암호화 키풀을 마련하는 단계; 상기 사용자 요청을 수신하는 INC 에이전트에서, 상기 매칭 정보를 통해 상기 보안키를 공유하도록 동기화 키풀을 마련하는 단계; 및 상기 INC 에이전트에서 상기 요청을 수행하도록 결정된 상기 컴퓨팅 노드에 할당된 보안키가 존재하는 경우, 상기 컴퓨팅 노드에 의해, 상기 결과 데이터의 출력 처리를 실행하는 처리기를 생성함과 아울러서, 상기 암호화 키풀의 매칭 정보에 기초하여 상기 보안키를 상기 처리기에 할당하는 단계를 포함한다.

Description

데이터 이름 기반의 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 방법 및 이를 이용한 시스템{METHOD FOR PROTECTING DATA FOR INFORMATION CENTRIC IN-NETWORK COMPUTING AND SYSTEM USING THE SAME}
본 개시는 데이터 이름 기반의 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 방법 및 이를 이용한 시스템에 관한 것이며, 보다 구체적으로 정보 중심 인- 네트워크 환경에서 인-네트워크 컴퓨팅 서비스를 제공할 때 연산 결과에 대한 암호화를 제공하는 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 방법 및 이를 이용한 시스템에 대한 것이다.
최근 차세대 인터넷 기술로 주목받는 정보 중심 네트워크 (ICN, Information Centric Networking) 환경에서 인-네트워크 컴퓨팅 (INC, In-Network Computing) 서비스를 제공하는 연구가 IETF 의 coinrg 등을 중심으로 활발하게 진행되고 있다. 기존의 인터넷에서 데이터의 전달은 송수신지의 주소를 통해 이루어지는 반면, ICN에서는 데이터의 이름을 기반으로 통신이 이루어진다. ICN의 대표적인 연구 프로젝트는 CCN (Content Centric Networking)과 NDN (Named Data Networking)이 있다.
In-Network Processing 이라고도 불리는 INC 기술은 사용자 장비나 서버에서 수행되는 컴퓨팅 연산을 네트워크 장비로 이전시키는 개념이다. INC 기술은 데이터와 컴퓨팅 연산의 특징에 따라 최적의 네트워크 위치에 분산 배치되어 연산을 수행할 수 있기 때문에 빠른 서비스가 가능하고, 네트워크의 트래픽 오버헤드를 줄일 수 있다.
이러한 환경에서 INC 서비스에 의해 생성되는 데이터는 네트워크를 통해 전달되기 때문에 데이터 암호화를 통해 다양한 공격으로부터 데이터를 보호하는 것은 매우 중요하다.
전통적인 데이터 암호화 방식으로 대칭형 암호화 기술과 비대칭형 암호화 기술이 있다. 대표적인 대칭형 암호화 기술은 AES (Advanced Encryption Standard) 이며, 128~256 비트의 키를 사용하여 보안성이 뛰어나고 공개된 알고리즘으로 누구든지 사용할 수 있다. 그러나 대칭형 암호화 기술은 동일한 암호화키를 사용하므로, 데이터의 송수신 노드들 간 키를 안전하게 공유하는 키 분배 문제를 해결해야 한다. 반면 비대칭형 암호화 기술은 암호화키와 복호화키가 다르기 때문에 하나의 키만을 보호하고 (이를 비밀키 또는 개인키라 칭함) 다른 하나의 키 (이를 공개키라 칭함)는 공개하여도 된다. 비대칭형 암호화 기술은 대칭형 암호화 기술의 키 분배 문제를 해결하나, 상대적으로 암복호화 시간이 매우 느린 문제점이 있다. 따라서 비대칭형 암호화 기술을 이용하여 대칭형 암호화 키를 전달하고, 데이터의 암호화는 대칭형 암호화 기술을 적용하는 방법으로 이용하는 것이 일반적이다.
이러한 배경에서 인-네트워크 분산 컴퓨팅을 수행하고 연산 결과에 대한 암호화 서비스를 제공할 경우, 종래의 기술에서는 다음과 같은 문제점들이 있다.
첫째, 정보 중심 네트워크는 통신을 수행하는 두 노드 간 세션을 유지하지 않고 요청-응답 방식으로 동작하므로, 인-네트워크 컴퓨팅 서비스를 위한 요청-응답 절차 외에 키 분배를 위한 절차가 필요하다. 따라서 종래의 기술은 3-way 또는 4-way 핸드쉐이크와 같은 별도의 절차를 필요로 하며, 그에 따른 패킷 교환이 불가피하다.
둘째, INC 서비스는 연산을 수행하는 위치가 동적으로 결정된다. 즉, 사용자 요청에 대해 데이터의 위치 또는 네트워크의 상태, 포워딩 정책, 분산 컴퓨팅 방식에 따라 최적의 위치가 결정되므로, 사전에 연산 수행을 위한 장치를 미리 준비할 수 없다. 따라서 키 분배 등 암호화를 지원하기 위한 절차는 연산을 수행하는 장치가 결정된 이후 시작해야 한다.
셋째, INC 서비스는 컨테이너 기술을 기반으로 동작하며 저지연 서비스를 지향한다. INC 서비스는 사용자 요청에 대해 공용 네트워크 장치에서 컨테이너를 생성하고 연산을 수행한 뒤 컨테이너를 반환하는 형태로 동작하므로, 암호화를 위한 지연을 최소화화여 사용자 요청에 빠르게 응답할 수 있는 방법이 필요하다.
이러한 관점에서 본 발명은 INC 서비스를 제공할 때 최소의 절차와 최소의 지연으로 암호화를 제공하는 방법과 INC 처리 장치의 구조를 정의한다.
본 개시의 기술적 과제는 정보 중심 인- 네트워크 환경에서 인-네트워크 컴퓨팅(INC) 서비스를 제공할 때 연산 결과에 대한 암호화를 제공하는 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 방법 및 이를 이용한 시스템을 제공하는데 그 목적이 있다.
본 개시의 기술적 과제는 상세하게, INC 서비스를 제공할 때 최소의 절차로 암호화를 지원하며, 연산 위치가 동적으로 결정되는 환경에서 사용자 요청 전에 암호화를 위한 절차를 준비하고, 정보 중심 네트워크 환경에서 구현되는 INC 장치의 구조를 제공하는데 그 목적이 있다.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 양상에 따르면, 데이터 이름 기반의 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 방법은, 컴퓨팅 노드에서, 사용자 요청에 따른 결과 데이터의 암호화에 이용되는 대칭키를 공유하기 위한 보안키와 매칭 정보를 포함하는 암호화 키풀을 마련하는 단계; 상기 사용자 요청을 수신하는 INC 에이전트에서, 상기 매칭 정보를 통해 상기 보안키를 공유하도록 동기화 키풀을 마련하는 단계; 및 상기 INC 에이전트에서 상기 요청을 수행하도록 결정된 상기 컴퓨팅 노드에 할당된 보안키가 존재하는 경우, 상기 컴퓨팅 노드에 의해, 상기 결과 데이터의 출력 처리를 실행하는 처리기 생성함과 아울러서, 상기 암호화 키풀의 매칭 정보에 기초하여 상기 보안키를 상기 처리기에 할당하는 단계를 포함한다.
본 개시의 다른 실시예에 따르면, 상기 보안키는 공개키를 포함하고, 상기 암호화 키풀은 상기 공개키, 상기 공개키와 쌍을 이루는 비밀키 및 상기 키들에 대응되는 상기 매칭 정보를 포함할 수 있다.
본 개시의 또 다른 실시예에 따르면, 상기 보안키가 상기 처리기에 할당된 경우, 상기 INC 에이전트 및 상기 컴퓨팅 노드에 의해, 상기 동기화 키풀 및 상기 암호화 키풀에서 상기 할당된 보안키와 상기 매칭 정보를 삭제하고, 신규의 보안키와 신규 매칭 정보를 생성하는 단계를 더 포함할 수 있다.
본 개시의 또 다른 실시예에 따르면, 상기 처리기를 생성함과 아울러서, 상기 보안키를 할당하는 단계 후에, 상기 사용자의 디바이스는 상기 처리기에 접근가능하여, 상기 사용자 디바이스와 상기 처리기 간에 데이터 교환이 구현될 수 있다.
본 개시의 또 다른 실시예에 따르면, 상기 처리기에 의해, 상기 처리기의 이름 및 상기 보안키를 상기 사용자의 디바이스에 전송하는 단계와, 상기 디바이스에서 대칭키를 생성하고, 상기 대칭키를 암호화하여 상기 처리기에 전송하는 단계와, 상기 처리기에서, 상기 결과 데이터를 출력하여, 상기 대칭키에 의해 상기 결과 데이터를 암호화하여 상기 디바이스로 전송하는 단계, 및 상기 디바이스에서, 상기 대칭키에 의해 상기 암호화된 결과 데이터를 복호화하는 단계를 더 포함할 수 있다.
본 개시의 또 다른 실시예에 따르면, 상기 대칭키를 암호화하여 상기 처리기로 전송하는 단계 후에, 상기 처리기에서, 상기 암호화 키풀의 상기 매칭 정보에 기초하여, 상기 처리기에 할당된 비밀키를 확인하고, 상기 비밀키에 의해 상기 암호화된 대칭키를 복호화하는 단계를 더 포함할 수 있다.
본 개시의 또 다른 실시예에 따르면, 상기 결과 데이터의 출력 처리는 상기 사용자 요청에 포함된 요구 데이터 관련 지시에 근거하는 연산 처리일 수 있다.
본 개시의 또 다른 실시예에 따르면, 상기 처리기를 생성함과 아울러서, 상기 보안키를 할당하는 단계 전에, 상기 INC 에이전트에 의해, 상기 요구 데이터 관련 지시에 포함된 상기 연산 처리를 위한 데이터 및 함수, 수행 정책 정보와 함께, 상기 INC 에이전트가 관리하는 상기 컴퓨팅 노드의 자원 정보를 고려하여, 상기 수신된 사용자 요구를 처리할지 여부를 결정하는 단계를 더 포함할 수 있다.
본 개시의 또 다른 실시예에 따르면, 상기 요청을 수행하도록 결정된 상기 컴퓨팅 노드에 할당된 보안키가 존재하지 않는 경우, 상기 컴퓨팅 노드에 의해, 상기 결과 데이터의 출력 처리를 실행하는 처리기를 생성하는 단계를 더 포함할 수 있다.
본 개시의 또 다른 실시예에 따르면, 상기 처리기에서, 상기 결과 데이터를 출력하여 상기 사용자의 디바이스로 전송하는 단계, 및 상기 디바이스에서, 상기 결과 데이터를 수신하는 단계를 더 포함할 수 있다.
본 개시의 다른 양상에 따르면, 데이터 이름 기반의 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 시스템은, 사용자 요청에 따른 결과 데이터의 암호화에 이용되는 대칭키를 공유하기 위한 보안키와 매칭 정보를 포함하는 암호화 키풀을 마련하는 컴퓨팅 노드; 및 상기 사용자 요청을 수신가능하고, 상기 매칭 정보를 통해 상기 보안키를 공유하도록 동기화 키풀을 마련하는 INC 에이전트를 를 포함한다. 상기 INC 에이전트에서 상기 요청을 수행하도록 결정된 상기 컴퓨팅 노드에 할당된 보안키가 존재하는 경우, 상기 컴퓨팅 노드는, 상기 결과 데이터의 출력 처리를 실행하는 처리기를 생성함과 아울러서, 상기 암호화 키풀의 매칭 정보에 기초하여 상기 보안키를 상기 처리기에 할당한다.
본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.
본 개시에 따르면, 사용자의 INC 서비스 요청에 대해 네트워크에서 연산을 수행하고 연산 결과를 사용자에게 반환할 때, 연산 결과를 암호화하는 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 방법 및 이를 이용한 시스템을 제공할 수 있다.
본 개시에 따르면, 비대칭 암호화 키쌍을 컴퓨팅 노드에서 미리 생성하여 공개키를 동기화하고, 연산 결과 암호화를 위한 대칭키를 안전하게 연산 수행 장치로 전달할 수 있다.
구체적으로, 연산 결과에 대한 암호화를 지원할 수 있으며, 컴퓨팅 노드에서 비대칭 암호화 키쌍을 생성하는데 필요한 지연을 제거할 수 있다. 또한, 암복호화 작업을 INC 실시 절차와 병렬적으로 수행하여 암복호화에 지연을 최소화할 수 있다. 암호화를 지원하지 않는 INC 실시 절차에 비하여 최소의 추가적인 절차로 동작 가능하다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시를 설명하기 위한 네트워크 예시도이다.
도 2는 본 개시에 따른 INC 네트워크의 구조를 나타내는 도면이다.
도 3은 암호화 키풀을 예시한 도면이다.
도 4는 동기화 키풀을 예시한 도면이다.
도 5는 본 개시의 일 실시예에 따라, 사용자 디바이스가 INC 요청을 수행하는 절차를 나타낸 순서도이다.
도 6은 본 개시의 다른 실시예에 따라, INC 에이전트가 사용자로부터 INC 요청을 수신했을 때의 동작 과정을 나타낸 순서도이다.
도 7은 본 개시의 또 다른 실시예에 따라, 컴퓨팅 노드가 INC 에이전트로부터 컨테이너 생성 명령을 수신했을 때의 처리 절차를 나타낸 순서도이다.
도 8은 본 개시의 또 다른 실시예에 따라, 처리기가 사용자로부터 요청을 수신했을 때의 처리 절차를 나타낸 순서도이다.
이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 개시의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결 관계 뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 있어서, 제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들 간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시 예에서의 제 1 구성요소는 다른 실시 예에서 제 2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시 예에서의 제 2 구성요소를 다른 실시 예에서 제 1 구성요소라고 칭할 수도 있다.
본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 개시의 범위에 포함된다.
본 개시에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들은 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 개시의 범위에 포함된다. 또한, 다양한 실시예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 개시의 범위에 포함된다.
이하, 첨부한 도면을 참조하여 본 개시의 실시 예들에 대해서 설명한다.
도 1은 본 개시를 설명하기 위한 네트워크 예시도이다.
데이터 이름 기반의 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 시스템(100)은 코어 네트워크(110), 서브 네트워크(120a~120d) 및 사용자 디바이스(130)를 포함할 수 있다. 코어 네트워크(110)는 서브 네트워크(120a~120d)를 상호 연결하여 상호 간의 요청 및 결과 데이터를 교환하도록 기능할 수 있다. 서브 네트워크(120a~120d)는 적어도 하나의 INC 클러스터(140a~140d)를 포함할 수 있으며, INC 클러스터(140a~140d)는 ICN 라우터(142)를 구비할 수 있다. ICN 라우터(142)는 NDN 라우터나 CCN 라우터와 같이, 이름 기반의 라우팅과 포워딩을 수행하는 네트워크 장치이며, 모든 네트워크 노드, 예컨대 서로 다른 서브 네트워크(120a~120d)의 INC 클러스터(140a~140d)는 ICN 라우터(142)로 연결될 수 있다. 또한, 사용자 디바이스(130)는 ICN 라우터(142)를 통해 INC 클러스터(140a~140d)와 접속될 수 있다. 상기 요청은 사용자 디바이스(130)를 통한 사용자 요청일 수 있으며, 사용자 요청은 특정 데이터 전송, 특정 정보를 획득하기 위해, 관련 데이터 및 연산에 따라 산출되는 연산 결과 데이터의 요청일 수 있다. 사용자 요청은 데이터의 이름을 기반으로 하는 정보 중심 인-네트워크 컴퓨팅을 통해, INC 클러스터(140a~140d)에 전송될 수 있다.
도 1은 코어 네트워크를 중심으로 4 개의 서브 네트워크로 구성되며, 사용자 디바이스(130)는 서브 네트워크 A에 위치하는 것으로 예시하고 있다. INC 수행을 위한 함수 코드와 연산에 필요한 데이터는 네트워크에 연결되는 모든 데이터가 될 수 있으므로, 도면에서 별도로 표시하지 않는다. 이하에서는 설명의 편의를 위해, 본 개시에 따른 실시예가 도 1에 예시된 네트워크로 서술되고 있으나, 네트워크 형태는 이에 제한되지 않고 다양한 실시 형태가 가능하다.
도 2는 본 개시에 따른 INC 네트워크의 구조를 나타내는 도면이다.
서브 네트워크(120a~120d)의 단위 구조는 INC 클러스터(140)로 칭하며, 적어도 하나 이상의 INC 클러스터(140)가 집합되어 하나의 서브 네트워크(120a~120d)를 구성할 수 있다.
INC 클러스터(140)는 ICN 라우터(142), INC 에이전트(144) 및 하나 이상의 컴퓨팅 노드(146a, 146b)로 구성될 수 있다. ICN 라우터(142)는 INC 에이전트(144)와 컴퓨팅 노드(146a, 146b) 뿐만 아니라, 데이터의 생산자와 소비자, ICN 네트워크에 연결되는 모든 요소들을 연결할 수 있다.
INC 에이전트(144)는 INC 서비스를 제공하기 위한 관리자로 기능하며, INC 서비스에 대한 사용자 요청을 처리하고 컴퓨팅 노드들(46a, 146b)에 대해 전반적으로 관리할 수 있다. INC 에이전트(144)는 에이전트 모듈(150) 및 동기화 키풀(152)을 포함할 수 있다. 에이전트 모듈(150)는 수신된 사용자 요청을 처리할 수 있는 컴퓨팅 노드(146a, 146b)를 선택하여 해당 컴퓨팅 노드(146a, 146b)의 컴퓨팅 노드 에이전트(154)로 사용자 요청을 전송할 수 있다. 동기화 키풀(152)은 사용자 요청에 따른 결과 데이터의 암호화에 이용되는 대칭키를 공유하기 위한 보안키와, 보안키가 할당된 컴퓨팅 노드(146a, 146b)를 지시하는 매칭 정보를 포함하도록, 미리 마련될 수 있다. 보안키는 대칭키를 공유하는 키로서 공개키를 포함할 수 있으며, 결과 데이터는 사용자 요청에 포함된 요구 데이터 관련 지시에 근거하는 연산 처리 결과로 출력될 수 있으며, 본 명세서에서 연산 결과와 혼용되어 사용될 수 있다.
컴퓨팅 노드(146a, 146b)는 컨테이너 기술을 기반으로 INC 에이전트(144)의 제어에 따라 처리기(156; 이하 컨테이너라 칭함)를 생성하고 사용자 요청의 연산을 처리할 함수 코드와 필요한 데이터를 수신하여 연산을 수행할 수 있다. 컴퓨팅 노드(146a, 146b)는 일반적으로 사용자 요청에 따른 연산을 수행하고, 결과 데이터(또는 연산 결과)를 사용자 디바이스에게 반환할 때, 컨테이너를 삭제하여 컴퓨팅 자원을 재사용할 수 있도록 구성될 수 있다. 구체적으로, 컴퓨팅 노드(146a, 146b)는 컴퓨팅 노드 에이전트(154) 및 암호화 키풀(158)을 포함할 수 있다. 컴퓨팅 노드 에이전트(154)는 INC 에이전트(144)의 생성 명령에 따라 컨테이너(156)를 생성할 수 있다. 또한, INC 에이전트(144)는 동기화 키풀(152)을 확인하여, 사용자 요청을 처리할 컨테이너(156)를 생성할 때 사용할 공개키를 결정하고, 암호화 키풀(158)에서 준비된 공개키를 컨테이너(156)에 할당할 수 있다. 여기서, 암호화 키풀(158)은 공개키, 공개키와 쌍을 이루는 비밀키 및 키들에 대응되는 매칭 정보를 포함할 수 있다. 매칭 정보는 동기화 키풀(152)의 매칭 정보와 연관될 수 있다. 만약 INC 에이전트(144)의 컨테이너 생성 명령에 암호화 키풀에 대한 정보가 존재하지 않는 경우, 컴퓨팅 노드 에이전트(146a)는 INC 에이전트(144)로부터 수신된 생성 명령에 따라, 컨테이너(156)를 생성하여, 컨테이너(156)는 사용자 요청에 따른 연산을 수행할 수 있다.
도 2에 예시된 컴퓨팅 노드들(146a. 146b)은 각각 암호화 키풀(158)을 유지할 수 있다. 도 3은 암호화 키풀을 예시한 도면이다. 암호화 키풀(158)은 도 3에 예시된 바와 같이, 컴퓨팅 노드(146a, 146b)를 지시하는 인덱스(Index), 공개키(Public Key), 비밀키(Private key)로 구성되는 테이블로 구성될 수 있다. INC 클러스터(140a~140d)에서 컴퓨팅 노드(146a, 146b)가 구성될 때, 컴퓨팅 노드(146a, 146b)는 소정 개수의 암호화 키풀(158)의 엔트리를 생성하고 엔트리의 개수를 유지할 수 있다. 한 개의 키쌍이 컨테이너(156)에 할당되면, 암호화 키풀(158)에서 해당 엔트리가 삭제되고 새로운 키쌍을 생성할 수 있다.
도 4는 동기화 키풀을 예시한 도면이다. INC 에이전트(144)가 유지하는 동기화 키풀(152)은 컴퓨팅 노드(146a, 146b)의 이름, 컴퓨팅 노드(146a, 146b)를 지시하는 인덱스(Index), 공개키(Public Key)로 구성되는 동기화 테이블일 수 있다. 동기화 키풀(152)은 암호화 키풀(158)이 생성된 후, 컴퓨팅 노드(146a, 146b)의 암호화 키풀(158)에서 인덱스와 공개키를 동일하게 공유하도록 유지할 수 있다. 동기화 키풀(152)은 다수의 컴퓨팅 노드(146a, 146b)의 암호화 키풀(158)을 동기화해야 하므로 해당 공개키를 유지하고 있는 컴퓨팅 노드(146a, 146b)의 이름을 포함하여 저장할 수 있다. 동기화 키풀(152)과 암호화 키풀의 동기화는 다양한 방법으로 구현할 수 있으므로 본 명세서에서는 상세하게 서술하지 않으나, 상기 방법들을 제한하지 않는다.
도 1 및 도 2에 예시된 환경에서, 본 개시에 따른 데이터 보호 시스템의 동작에 서술하기로 한다.
편의를 위해, 함수 코드와 데이터가 도 1의 서브 네트워크 C(120c)에 위치한다고 가정한다. 사용자 디바이스(130)는 연산에 필요한 함수 코드와 데이터를 명시하여 INC 서비스에 대한 사용자 요청으로 네트워크에 전송할 수 있다. 이 때, 사용자 디바이스(130)는 INC 수행 정책을 명시하여 요청할 수 있다. 요청된 INC 수행 정책에 따라, 각 INC 에이전트(144)는 사용자 요청에 포함된 연산 처리를 위한 데이터 및 함수, 수행 정책 정보와 함께, INC 에이전트(144)에 속한 컴퓨팅 노드(146a, 146b)의 자원 정보를 고려하여, 수신된 사용자 요구를 처리할지 여부를 결정할 수 있다.
만약 요청된 INC 수행 정책에 따라, 사용자 디바이스(130)와 가까운 위치에서 연산을 수행하여 지연을 최소화하는 응용이면, INC 클러스터 A-1(140a)가 연산을 수행할 수도 있다. 다른 예에서, 요청된 INC 수행 정책에 따라, 데이터와 가까운 위치에서 연산을 수행하여 대역폭을 최소화하는 응용이라면, 데이터가 속한 서브 네트워크의 INC 클러스터가 연산을 수행할 수 있다.
INC 정책이 데이터와 함수 코드가 위치한 서브 네트워크에서 사용자 요청을 처리하는 것을 포함하며, INC 클러스터 A-1(140a)의 INC 에이전트(144)가 사용자 요청을 수신하면, INC 에이전트(144)는 서브 네트워크 C(120c)의 INC 에이전트(140)로 사용자 요청을 포워딩할 수 있다. 서브 네트워크 C(120c)의 ICN 라우터(142)가 사용자 요청을 수신하면, ICN 라우터(142)는 사용자 요청을 하나의 INC 클러스터(140c)로 전달할 수 있다. INC 클러스터 C-1(140c)의 INC 에이전트(144)가 사용자 요청을 수신하면, INC 에이전트는 컴퓨팅 노드의 컴퓨팅 자원 상태 등을 고려하여 INC 클러스터 C-1(140C)의 컴퓨팅 노드 A(146a)에 컨테이너(156)를 생성하고 사용자 디바이스(130)가 컨테이너(156)에 직접 접근할 수 있도록 컨테이너(156)의 이름을 반환할 수 있다. 이와 동시에, 컨테이너(156)는 연산에 필요한 함수 코드와 데이터를 수신하고 연산을 시작할 수 있다. 사용자 디바이스(130)가 INC 서비스의 사용자 요청에 대한 응답으로써 컨테이너(156)의 이름을 수신하므로, 연산 결과를 컨테이너(156)로 직접 요청할 수 있다. INC 연산이 완료되면, 컨테이너(156)는 연산 결과를 사용자 디바이스(130)로 회신하고 컨테이너(156)는 삭제될 수 있다.
본 실시예에서 컨테이너(156)에서 생성되는 연산 결과는 사용자의 INC 연산 결과 요청에 대한 응답으로 네트워크를 통해 전달되므로, 다양한 네트워크 공격에 노출될 수 있다. 본 개시에 따른 실시예는 사용자 디바이스(130)와 INC 서비스를 수행하는 컨테이너(156) 간 송수신 데이터에 대한 암호화를 지원하여 안전하게 연산 결과를 전달하는 방법과 시스템 구조를 제공할 수 있다.
본 개시의 실시예에 따른 암호화를 지원하기 위해, INC 에이전트(144)와 컴퓨팅 노드들(146a, 146b)은 상술한 바와 같이, 각각 동기화 키풀(152)과 암호화 키풀(158)을 가지며 서로 동기화되어 일정한 개수의 엔트리를 유지할 수 있다. 이는 비대칭 암호화 알고리즘에 의한 키쌍을 생성하기 위해 필요한 지연을 최소화하고 비밀키를 컴퓨팅 노드 외부로 전달하지 않기 위함이다.
도 5 내지 도 8을 참조하여 상술한 동작 과정을 보다 상세히 설명하기로 한다. 도 5 내지 도 8은 INC 서비스에 따른 사용자 요청을 수행할 때 도 1 및 도 2에서의 각 구성요소 별 동작 절차를 나타낸다. 구체적으로, 도 5 내지 도 8은 사용자 디바이스(130), INC 에이전트(144), 컴퓨팅 노드(146a, 146b), 컨테이너(156)의 동작 절차를 나타낸다. 이하에서는 시스템(100)에서 INC 서비스를 제공할 때, 사용자 디바이스(130)의 INC 수행을 위한 사용자 요청으로 시작하여, 메시지의 흐름에 따라 본 개시에 따른 실시예의 동작 절차를 설명한다.
도 5는 본 개시의 일 실시예에 따라, 사용자 디바이스가 INC 요청을 수행하는 절차를 나타낸 순서도이다.
상술한 동작 설명과 마찬가지로, 사용자 요청에 따른 연산이 서브 네트워크 C(120c)에 속한 INC 클러스터 C-1(140c)에 의해 처리되는 것을 상정하여 서술하기로 한다.
먼저, 사용자 디바이스(130)는 INC 서비스를 요구하는 사용자 요청을 네트워크에 요청할 수 있다(S105).
각 INC 클러스터(140a~140d)는 사용자 요청에 포함된 연산 처리를 위한 데이터 및 함수, 수행 정책 정보와 함께, INC 에이전트(144)에 속한 컴퓨팅 노드(146a, 146b)의 자원 정보를 고려하여, 사용자 요구를 처리할지 여부를 결정할 수 있다. 다른 예로, INC 수행 정책이 사용자 요청에 포함된 경우, 사용자 요청은 상기 정책에 따라, 직접 또는 다른 INC 클러스터(140a~140d)를 경유하여, 해당 INC 클러스터(140c)로 전송될 수 있다. 이상에서와 같이, 해당 INC 클러스터는 INC 클러스터 C-1(140c)인 것으로 예시한다.
다음으로, 사용자 디바이스(130)는 상기 요청에 따른 연산을 처리할 INC 클러스터(140c)로부터 응답을 수신하고, 응답에 포함된 컨테이너(156)의 이름을 확인할 수 있다(S110).
후술할 도 6에서, 사용자 요청을 처리할 INC 클러스터(140c)는 연산 수행할 컴퓨팅 노드(146a)를 결정하고, 컴퓨팅 노드(146a)는 연산 수행할 컨테이너(156)를 생성할 수 있다. 이에 따라, INC 클러스터(140c)는 생성된 컨테이너(156)의 이름을 포함하는 응답 메시지를 사용자 디바이스(130)로 전송할 수 있다. 또한, INC 에이전트(144)는 동기화 키풀 및 암호화 키풀(158)을 조회하여, 컴퓨팅 노드(146a)에 할당된 공개키가 존재하는 것을 확인한 경우, 컴퓨팅 노드(146a)는 컨테이너(156)에 공개키를 할당하고, 응답 메시지는 공개키를 통지하도록 생성될 수 있다. 만약 공개키가 존재하지 않는 경우, 응답 메시지는 공개키 없이, 컨테이너(156)의 이름을 포함하도록 생성될 수 있다.
컨테이너(156)의 이름을 확인한 후에, 사용자 디바이스(130)는 컨테이너(156)에 접근가능하여, 사용자 디바이스(130)와 컨테이너(156) 간에 데이터 교환이 구현될 수 있다.
이어서, 사용자 디바이스(130)가 응답 메시지에 공개키를 포함하는 것을 확인하면(S115의 Y), 사용자 디바이스(130)는 사용자 요청에 따른 연산 결과의 암호화에 이용되는 대칭키를 생성하고, 공개키를 사용하여 대칭키를 암호화할 수 있다(S120).
계속해서, 사용자 디바이스(130)는 암호화된 대칭키를 컨테이너(156)로 전달할 수 있다(S125).
다음으로, 사용자 디바이스(130)는 컨테이너(156)에 연산 결과를 요청하여 수신하고, 연산 결과를 대칭키로 복호화하여 수신할 수 있다(S130).
후술한 도 7에서, 컨테이너(156)는 사용자 요청에 따른 연산을 수행하여 연산 결과를 출력하고, 사용자 디바이스(130)부터 대칭키를 수신한 경우, 비밀키에 의해 복호화된 대칭키로 연산 결과를 암호화할 수 있다. INC 에이전트(140c)는 암호화된 연산 결과를 사용자 디바이스(130)에 전송함으로써, 사용자 디바이스(130)는 연산 결과를 수신할 수 있다.
한편, 사용자 디바이스(130)가 응답 메시지에 공개키를 포함되지 않는 것을 확인하면(S115의 Y), 사용자 디바이스(130)는 컨테이너(156)에 연산 결과를 요청하여 수신할 수 있다(S135). 구체적을, 공개키를 포함하지 않는 경우, 해당 INC 서비스는 연산 결과의 암호화를 지원하지 않으므로, 사용자 디바이스(130)는 응답 메시지를 수신한 이후부터. 연산 결과 요청 메시지를 전송할 수 있다.
도 6은 본 개시의 다른 실시예에 따라, INC 에이전트가 사용자로부터 INC 요청을 수신했을 때의 동작 과정을 나타낸 순서도이다.
먼저, INC 클러스터(140c)는 사용자 요청을 수신할 수 있으며(S205), 자신의 클러스터에서 사용자 요청에 따른 연산 처리를 수행할 수 있는지를 판단할 수 있다(S210).
사용자 요청, 즉 사용자의 INC 요청은 INC 에이전트(144)로 전달되며, INC 에이전트(144)는 INC 수행 정책과 실행 함수의 속성, 토폴로지, 컴퓨팅 노드(146a, 146b)의 컴퓨팅 자원 상태 등을 고려하여 자신의 클러스터에 속한 컴퓨팅 노드(146a, 146b)에서 처리가능한지를 판단할 수 있다.
이어서, INC 에이전트(144)는 자신의 클러스터에서 연산을 처리가능하다고 판단하면(S210의 Y), INC 에이전트(144)는 사용자 요청에 최적합한 컴퓨팅 노드(146a)를 결정할 수 있다(S215).
계속해서, INC 에이전트(144)는 동기화 키풀(152)을 확인하여 해당 컴퓨팅 노드(146a)에 속하는 엔트리를 선택할 수 있다(S220).
이어서, INC 에이전트(144)는 결정된 컴퓨팅 노드(146a)로 컨테이너(156)의 생성 명령을 전달할 수 있다(S225). 이 때, INC 에이전트(144)는 선택한 동기화 키풀(152)의 엔트리에서의 인덱스(도 4에 예시)를 컨테이너(156)의 생성 명령과 함께 전달하여, 컨테이너(156)에 동기화 키풀(152)의 엔트리를 할당할 수 있다. 이에 따라, 동기화 키풀(152) 및 암호화 키풀(158)에서 미리 마련된 공개키가 연산 처리할 컨테이너(156)에 할당되며, 암호화 키풀(158)에서 공개키와 키쌍을 이루도록 미리 마련된 비밀키는, 이후에 수신된 대칭키를 복호화하는데 활용될 수 있다.
다음으로, INC 에이전트(140)는 컨테이너(156)의 이름 및 공개키를 통지하는 응답 메시지를 사용자 디바이스(130)에 전달할 수 있다(S230).
구체적으로, INC 에이전트(144)는 컨테이너 생성 명령을 컴퓨팅 노드(146a)로 전달한 후, 사용자 INC 요청의 응답으로 사용자 디바이스(130)에 컨테이너(156)의 이름을 반환함으로써, 사용자 디바이스(130)가 INC 에이전트(144)를 경유하지 않고 직접 컨테이너(156)에 접근할 수 있도록 한다. 사용자 디바이스(130)가 대칭키를 생성하여 컨테이너(156)로 전달할 때, 공개키는 대칭키를 암호화할 때 사용할 수 있다.
다른 예에서, 연산 수행할 컨테이너(156)가 동기화 키풀(152)의 엔트리에 없어 공개키가 컨테이너(156)에 할당되지 않는 경우, INC 클러스터(140c)는 공개키 없이, 컨테이너(156)의 이름을 갖는 응답 메시지를 전송할 수도 있다.
만약, INC 에이전트(144)가 다른 INC 클러스터에서 처리해야 한다고 판단하면(S210의 N), INC 에이전트(144)는 다른 INC 클러스터가 속한 서브 네트워크로 사용자 INC 요청을 전달할 수 있다(S235).
도 7은 본 개시의 또 다른 실시예에 따라, 컴퓨팅 노드가 INC 에이전트로부터 컨테이너 생성 명령을 수신했을 때의 처리 절차를 나타낸 순서도이다.
INC 에이전트(140c)에 의해 연산을 수행하는 것으로 결정된 컴퓨팅 노드(146a)는 INC 에이전트(144)의 컨테이너(156)의 생성 명령을 수신할 수 있다(S305).
다음으로, 상기 명령을 수신한 컴퓨팅 노드(146a)는 해당 명령에 암호화 키풀(158)의 엔트리를 포함하고 있는지를 확인할 수 있다(S310).
컨테이너 생성 명령이 암호화 키풀 엔트리를 포함한다면(S310의 Y), 암호화를 지원하는 서비스이므로, 컴퓨팅 노드(146a)는 INC 에이전트(144)의 명령에 따라 컨테이너를 생성하고, INC 에이전트(144)의 명령에 포함된 암호화 키풀 엔트리의 인덱스(도 3에 예시)에 해당하는 공개키-비밀키 쌍을 해당 컨테이너(156)에 할당할 수 있다(S315).
한편 컴퓨팅 노드(146a)는 컨테이너에 할당된 암호화 키풀(158)의 엔트리를 삭제하고, 일정한 개수의 엔트리를 유지하기 위하여, 컴퓨팅 노드(146a)는 신규 공개키-비밀키 쌍을 생성하여 신규의 엔트리를 생성할 수 있다(S320). 신규 생성된 공개키는 앞서 설명한 동기화 동작에 의해 INC 에이전트(144)의 동기화 키풀에 자동적으로 동기화될 수 있다. S320 단계는 S315 단계 이후에 실시되면, S325 단계 이전 또는 이후에 수행되더라도 무방하다.
다음으로, 생성된 컨테이너(156)는 INC 에이전트(144)로부터 전달받은 함수 코드 이름, 연산에 사용할 데이터 이름으로 해당 자료들을 다운로드하여(S325), 사용자 요청에 따른 연산을 수행할 수 있다(S330).
이어서, 컨테이너(156)는 사용자 디바이스(130)로부터 대칭키를 수신한지를 지속적으로 확인하고(S335), 수신될 때까지 대칭키 수신 요청과 결과 요청을 수신할 수 있도록 대기할 수 있다(S340).
연산 처리가 완료되며 사용자 디바이스(130)로부터 대칭키를 수신하면, 컨테이너(156)는 대칭키를 사용하여 연산 결과를 암호화하고, 암호화된 연산 결과를 사용자 디바이스(130)에 전송할 수 있다(S345).
만약 컴퓨팅 노드(146a)가 상기 명령에 암호화 키풀(158)의 엔트리가 포함되어 있지 않는 것으로 확인하면, 컨테이너(156)의 생성 명령에 따른 요청은 암호화를 지원하지 않는 서비스이므로, 암호화 키풀(158)의 엔트리 할당없이, 컨테이너(156)를 생성할 수 있다(S350).
이어서, 컨테이너(146a)는 S325 및 S330 단계와 유사하게, 필요한 함수와 데이터를 다운로드하여(S335), 연산 처리를 수행하고(S360), 사용자 디바이스(130)의 연산 결과 요청에 따라, 암호화없이 연산 결과를 사용자 디바이스(130)로 전송할 수 있다.
도 8은 본 개시의 또 다른 실시예에 따라, 처리기가 사용자로부터 요청을 수신했을 때의 처리 절차를 나타낸 순서도이다.
컨테이너(156)가 도 7에서의 연산 수행 중에, 연산 결과 요구 관련 사용자 요청을 수신할 수 있다(S405)
컨테이너(156)는 결과 요구 관련된 사용자 요청에, 공개키로 암호화한 대칭키를 수신한지를 확인하여(S410), 대칭키를 포함하는 것으로 확인하면(S410의 Y), 컨테이너(156)는 자신에게 할당된 비밀키를 사용하여 대칭키를 복호화할 수 있다(S415).
결과 요구 관련된 사용자 요청이 대칭키를 포함하고 있지 않다면(S410의 N), 상기 사용자 요청은 연산 결과 요청이므로, 해당 서비스가 암호화를 지원하는 서비스인지를 판단할 수 있다(S420).
암호화를 지원하는 경우(S420의 Y), 컨테이너(156)는 대기하여 대칭키를 수신하여, 대칭키로 암호화한 연산 결과를 사용자 디바이스(130)로 반환할 수 있다(S425). 만약 암호화를 지원하지 않는다면(S420의 N), 컨테이너(156)는 암호화없이, 연산 결과를 그대로 사용자 디바이스(130)에 반환할 수 있다(S425).
사용자 디바이스(130)로 연산 결과를 전달한 후, INC 에이전트(144)는 컨테이너의 연산 완료 통지를 수신하고, 컴퓨팅 노드(146a)로 하여금 컨테이너(156)를 삭제하여 컴퓨팅 자원을 반환하도록 할 수 있다(S430).
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.

Claims (20)

  1. 데이터 이름 기반의 정보 중심 인-네트워크(Information Centric In-Network; ICN) 컴퓨팅을 위한 데이터 보호 방법에 있어서,
    컴퓨팅 노드에서, 사용자 요청에 따른 결과 데이터의 암호화에 이용되는 대칭키를 공유하기 위한 보안키와 매칭 정보를 포함하는 암호화 키풀을 마련하는 단계;
    상기 사용자 요청을 수신하는 INC 에이전트에서, 상기 매칭 정보를 통해 상기 보안키를 공유하도록 동기화 키풀을 마련하는 단계; 및
    상기 INC 에이전트에서 상기 요청을 수행하도록 결정된 상기 컴퓨팅 노드에 할당된 보안키가 존재하는 경우, 상기 컴퓨팅 노드에 의해, 상기 결과 데이터의 출력 처리를 실행하는 처리기를 생성함과 아울러서, 상기 암호화 키풀의 매칭 정보에 기초하여 상기 보안키를 상기 처리기에 할당하는 단계를 포함하는, 데이터 보호 방법.
  2. 제 1 항에 있어서,
    상기 보안키는 공개키를 포함하고, 상기 암호화 키풀은 상기 공개키, 상기 공개키와 쌍을 이루는 비밀키 및 상기 키들에 대응되는 상기 매칭 정보를 포함하는, 데이터 보호 방법.
  3. 제 1 항에 있어서,
    상기 보안키가 상기 처리기에 할당된 경우, 상기 INC 에이전트 및 상기 컴퓨팅 노드에 의해, 상기 동기화 키풀 및 상기 암호화 키풀에서 상기 할당된 보안키와 상기 매칭 정보를 삭제하고, 신규의 보안키와 신규 매칭 정보를 생성하는 단계를 더 포함하는, 데이터 보호 방법.
  4. 제 1 항에 있어서,
    상기 처리기를 생성함과 아울러서, 상기 보안키를 할당하는 단계 후에, 상기 사용자의 디바이스는 상기 처리기에 접근가능하여, 상기 사용자 디바이스와 상기 처리기 간에 데이터 교환이 구현되는, 데이터 보호 방법.
  5. 제 1 항에 있어서,
    상기 처리기에 의해, 상기 처리기의 이름 및 상기 보안키를 상기 사용자의 디바이스에 전송하는 단계;
    상기 디바이스에 의해, 상기 보안키를 이용하여 대칭키를 생성하고, 상기 대칭키를 암호화하여 상기 처리기에 전송하는 단계;
    상기 처리기에서, 상기 결과 데이터를 출력하여, 상기 대칭키에 의해 상기 결과 데이터를 암호화하여 상기 디바이스로 전송하는 단계; 및
    상기 디바이스에서, 상기 대칭키에 의해 상기 암호화된 결과 데이터를 복호화하는 단계를 더 포함하는, 데이터 보호 방법.
  6. 제 5 항에 있어서,
    상기 대칭키를 암호화하여 상기 처리기로 전송하는 단계 후에,
    상기 처리기에서, 상기 암호화 키풀의 상기 매칭 정보에 기초하여, 상기 처리기에 할당된 비밀키를 확인하고, 상기 비밀키에 의해 상기 암호화된 대칭키를 복호화하는 단계를 더 포함하는, 데이터 보호 방법.
  7. 제 1 항에 있어서,
    상기 결과 데이터의 출력 처리는 상기 사용자 요청에 포함된 요구 데이터 관련 지시에 근거하는 연산 처리인, 데이터 보호 방법.
  8. 제 7 항에 있어서,
    상기 처리기를 생성함과 아울러서, 상기 보안키를 할당하는 단계 전에,
    상기 INC 에이전트에 의해, 상기 요구 데이터 관련 지시에 포함된 상기 연산 처리를 위한 데이터 및 함수, 수행 정책 정보와 함께, 상기 INC 에이전트가 관리하는 상기 컴퓨팅 노드의 자원 정보를 고려하여, 상기 수신된 사용자 요구를 처리할지 여부를 결정하는 단계를 더 포함하는, 데이터 보호 방법.
  9. 제 1 항에 있어서,
    상기 요청을 수행하도록 결정된 상기 컴퓨팅 노드에 할당된 보안키가 존재하지 않는 경우, 상기 컴퓨팅 노드에 의해, 상기 결과 데이터의 출력 처리를 실행하는 처리기를 생성하는 단계를 더 포함하는, 데이터 보호 방법.
  10. 제 9 항에 있어서,
    상기 처리기에서, 상기 결과 데이터를 출력하여 상기 사용자의 디바이스로 전송하는 단계; 및
    상기 디바이스에서, 상기 결과 데이터를 수신하는 단계를 더 포함하는, 데이터 보호 방법.
  11. 데이터 이름 기반의 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 시스템에 있어서,
    사용자 요청에 따른 결과 데이터의 암호화에 이용되는 대칭키를 공유하기 위한 보안키와 매칭 정보를 포함하는 암호화 키풀을 마련하는 컴퓨팅 노드; 및
    상기 사용자 요청을 수신가능하고, 상기 매칭 정보를 통해 상기 보안키를 공유하도록 동기화 키풀을 마련하는INC 에이전트를 포함하고,
    상기 INC 에이전트에서 상기 요청을 수행하도록 결정된 상기 컴퓨팅 노드에 할당된 보안키가 존재하는 경우, 상기 컴퓨팅 노드는, 상기 결과 데이터의 출력 처리를 실행하는 처리기를 생성함과 아울러서, 상기 암호화 키풀의 매칭 정보에 기초하여 상기 보안키를 상기 처리기에 할당하는, 데이터 보호 시스템.
  12. 제 11 항에 있어서,
    상기 보안키는 공개키를 포함하고, 상기 암호화 키풀은 상기 공개키, 상기 공개키와 쌍을 이루는 비밀키 및 상기 키들에 대응되는 상기 매칭 정보를 포함하는, 데이터 보호 시스템.
  13. 제 11 항에 있어서,
    상기 보안키가 상기 처리기에 할당된 경우, 상기 INC 에이전트 및 상기 컴퓨팅 노드는, 상기 동기화 키풀 및 상기 암호화 키풀에서 상기 할당된 보안키와 상기 매칭 정보를 삭제하고, 신규의 보안키와 신규 매칭 정보를 생성하는, 데이터 보호 시스템.
  14. 제 11 항에 있어서,
    상기 처리기를 생성하고 상기 보안키를 할당함으로써, 상기 사용자의 디바이스는 상기 처리기에 접근가능하여, 상기 사용자 디바이스와 상기 처리기 간에 데이터 교환이 구현되는, 데이터 보호 시스템.
  15. 제 11 항에 있어서,
    상기 처리기는 상기 처리기의 이름 및 상기 보안키를 상기 사용자의 디바이스에 전송하고,
    상기 디바이스는 대칭키를 생성하고, 상기 대칭키를 암호화하여 상기 처리기에 전송하고,
    상기 처리기는 상기 결과 데이터를 출력하여, 상기 대칭키에 의해 상기 결과 데이터를 암호화하여 상기 디바이스로 전송하고,
    상기 디바이스에서, 상기 대칭키에 의해 상기 암호화된 결과 데이터를 복호화하는, 데이터 보호 시스템.
  16. 제 15 항에 있어서,
    상기 대칭키를 암호화하여 상기 처리기로 전송하면, 상기 처리기는, 상기 암호화 키풀의 상기 매칭 정보에 기초하여, 상기 처리기에 할당된 비밀키를 확인하고, 상기 비밀키에 의해 상기 암호화된 대칭키를 복호화하는 데이터 보호 시스템.
  17. 제 11 항에 있어서,
    상기 결과 데이터 출력 처리는 상기 사용자 요청에 포함된 요구 데이터 관련 지시에 근거하는 연산 처리인, 데이터 보호 시스템.
  18. 제 17 항에 있어서,
    상기 처리기를 생성하고 상기 보안키를 할당하기 전에,
    상기 INC 에이전트는, 상기 요구 데이터 관련 지시에 포함된 상기 연산 처리를 위한 데이터 및 함수, 수행 정책 정보와 함께, 상기 INC 에이전트가 관리하는 상기 컴퓨팅 노드의 자원 정보를 고려하여, 상기 수신된 사용자 요구를 처리할지 여부를 결정하는, 데이터 보호 시스템.
  19. 제 11 항에 있어서,
    상기 요청을 수행하도록 결정된 상기 컴퓨팅 노드에 할당된 보안키가 존재하지 않는 경우, 상기 컴퓨팅 노드는, 상기 결과 데이터의 출력 처리를 실행하는 처리기를 생성하는, 데이터 보호 시스템.
  20. 제 19 항에 있어서,
    상기 처리기는 상기 결과 데이터를 출력하여 상기 사용자의 디바이스로 전송하고,
    상기 디바이스는 상기 결과 데이터를 수신하는, 데이터 보호 시스템.
KR1020210156480A 2021-11-15 2021-11-15 데이터 이름 기반의 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 방법 및 이를 이용한 시스템 KR102650733B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210156480A KR102650733B1 (ko) 2021-11-15 2021-11-15 데이터 이름 기반의 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 방법 및 이를 이용한 시스템
US17/884,748 US20230155819A1 (en) 2021-11-15 2022-08-10 Method for protecting data for information centric in-network computing and system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210156480A KR102650733B1 (ko) 2021-11-15 2021-11-15 데이터 이름 기반의 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 방법 및 이를 이용한 시스템

Publications (2)

Publication Number Publication Date
KR20230070662A KR20230070662A (ko) 2023-05-23
KR102650733B1 true KR102650733B1 (ko) 2024-03-26

Family

ID=86323116

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210156480A KR102650733B1 (ko) 2021-11-15 2021-11-15 데이터 이름 기반의 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 방법 및 이를 이용한 시스템

Country Status (2)

Country Link
US (1) US20230155819A1 (ko)
KR (1) KR102650733B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017518010A (ja) 2014-06-06 2017-06-29 インスティテュート マインズ‐テレコム 情報中心ネットワーキング(icn)ノードのネットワークにおいてパケットを管理する方法
US20170201375A1 (en) 2016-01-08 2017-07-13 Futurewei Technologies, Inc. Secure content sharing using content centric approach
US20180278424A1 (en) 2017-03-22 2018-09-27 Verizon Patent And Licensing Inc. Controlling access to content in a network

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9954678B2 (en) * 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
KR102394773B1 (ko) * 2018-12-07 2022-05-06 한국전자통신연구원 네임 기반 인-네트워크 프로세싱 방법 및 시스템
KR20210066640A (ko) * 2019-11-28 2021-06-07 한국전자통신연구원 비밀분산 인증 시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017518010A (ja) 2014-06-06 2017-06-29 インスティテュート マインズ‐テレコム 情報中心ネットワーキング(icn)ノードのネットワークにおいてパケットを管理する方法
US20170201375A1 (en) 2016-01-08 2017-07-13 Futurewei Technologies, Inc. Secure content sharing using content centric approach
US20180278424A1 (en) 2017-03-22 2018-09-27 Verizon Patent And Licensing Inc. Controlling access to content in a network

Also Published As

Publication number Publication date
US20230155819A1 (en) 2023-05-18
KR20230070662A (ko) 2023-05-23

Similar Documents

Publication Publication Date Title
US11652798B2 (en) Dynamic, user-configurable virtual private network
JP2022550356A (ja) マルチテナントソフトウェア定義ワイドエリアネットワーク(sd-wan)ノードを提供するための方法、システム、およびコンピュータ読取可能媒体
TWI778171B (zh) 待配網設備連接網路熱點設備的方法和系統
US9628400B2 (en) Interest forwarding for interactive client anonymity
US8713305B2 (en) Packet transmission method, apparatus, and network system
TW201815131A (zh) 一種資料傳輸的方法及網路設備
US10447591B2 (en) Executing multiple virtual private network (VPN) endpoints associated with an endpoint pool address
WO2019041937A1 (zh) 一种漫游场景下的分流方法及相关设备
WO2010020151A1 (zh) 报文处理方法、装置和系统
US20140189357A1 (en) Encryption and authentication based network management method and apparatus
JP2016051921A (ja) 通信システム
WO2021086842A1 (en) Security association reuse for multiple connections
WO2011140919A1 (zh) 接入业务批发网络的方法、设备、服务器和系统
JP2017517220A (ja) OpenFlow通信方法及びシステム、制御部、並びにサービスゲートウェイ
CN107659930A (zh) 一种ap接入控制方法和装置
US10158610B2 (en) Secure application communication system
KR102650733B1 (ko) 데이터 이름 기반의 정보 중심 인-네트워크 컴퓨팅을 위한 데이터 보호 방법 및 이를 이용한 시스템
JP2010272951A (ja) 共有鍵配信管理方法及び共有鍵配信管理サーバー
CN107135226B (zh) 基于socks5的传输层代理通信方法
US11218918B2 (en) Fast roaming and uniform policy for wireless clients with distributed hashing
CN112994928B (zh) 一种虚拟机的管理方法、装置及系统
Jeong et al. Lisp controller: a centralized lisp management system for isp networks
CN109194558B (zh) 隧道报文认证转发方法及系统
CN109361684B (zh) 一种vxlan隧道的动态加密方法和系统
US12003422B1 (en) Methods for switching network packets based on packet data and devices

Legal Events

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