KR20190069230A - Sdn 콘트롤러에서 키 관리 서버를 이용한 보안 통신 방법 및 이를 수행하는 장치 - Google Patents

Sdn 콘트롤러에서 키 관리 서버를 이용한 보안 통신 방법 및 이를 수행하는 장치 Download PDF

Info

Publication number
KR20190069230A
KR20190069230A KR1020170169745A KR20170169745A KR20190069230A KR 20190069230 A KR20190069230 A KR 20190069230A KR 1020170169745 A KR1020170169745 A KR 1020170169745A KR 20170169745 A KR20170169745 A KR 20170169745A KR 20190069230 A KR20190069230 A KR 20190069230A
Authority
KR
South Korea
Prior art keywords
client device
encrypted message
key
receiving
management server
Prior art date
Application number
KR1020170169745A
Other languages
English (en)
Other versions
KR101997996B1 (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 KR1020170169745A priority Critical patent/KR101997996B1/ko
Publication of KR20190069230A publication Critical patent/KR20190069230A/ko
Application granted granted Critical
Publication of KR101997996B1 publication Critical patent/KR101997996B1/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/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
    • H04L67/2809
    • 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/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes

Landscapes

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

Abstract

SDN 콘트롤러에서 키 관리 서버를 이용한 보안 통신 방법 및 이를 수행하는 장치가 개시된다. 보안 통신 방법을 수행하는 보안 통신 시스템은 공개 키 및 상기 공개 키에 대응하는 개인 키를 생성하는 키 관리 서버; 상기 키 관리 서버로부터 상기 공개 키를 수신하고, 상기 수신한 공개 키를 이용하여 메시지를 암호화하는 것에 의해 암호화된 메시지를 생성하는 제1 클라이언트 장치; 상기 제1 클라이언트 장치로부터 상기 암호화된 메시지를 수신하고, 상기 수신한 암호화된 메시지를 제2 클라이언트 장치에 전송하는 브로커 장치; 및 상기 브로커 장치로부터 상기 암호화된 메시지를 수신하는 제2 클라이언트 장치를 포함할 수 있다.

Description

SDN 콘트롤러에서 키 관리 서버를 이용한 보안 통신 방법 및 이를 수행하는 장치{SECURITY COMMUNICATION METHOD USING KEY MANAGEMENT SERVER IN SOFTWARE DEFINED NETWORK CONTROLLER AND APPARATUS FOR PERFOMING THE SAME}
아래의 설명은 통신 장치들 간의 보안 통신 방법 및 이를 수행하는 장치에 관한 것이다.
사물 인터넷은 최근 많은 기술 발전을 통해 주목받고 있는 분야 중 하나로, 사물 인터넷 환경에서의 소프트웨어 정의 네트워크(Software Defined. Network; SDN) 적용이 지속적으로 증가하고 있다. 하지만, 부족한 SDN 환경에서의 보안 적용은 해결해야 하는 이슈들 중 하나이다.
제약적이며, 특수한 환경인 사물 인터넷 환경에서 적용이 가능한 프로토콜로는 MQTT(MQ Telemetry. Transport), CoAP(Constrained Application Protocol), XMPP(eXtensible Messaging and Presence Protocol) 등이 있다. 이들 중에서, 메시지 큐를 이용하여 메시지를 전달하는 프로토콜인 MQTT는, Eclipse Paho 내 그룹에서 많은 연구가 이루어지고 있다. 2014년 OASIS에서는 MQTT 표준을 발표하였고, MQTT에 대한 패킷 구조나 기능 및 세지기 전송에 대한 내용이 MQTT 표준에 기술되어 있다.
일 실시예에 따른 브로커 장치에 의해 수행되는 보안 통신 방법은, 제1 클라이언트 장치로부터 암호화된 메시지를 수신하는 단계; 제2 클라이언트 장치로부터 상기 암호화된 메시지와 관련된 토픽에 관한 정보 전송 요청을 수신하는 단계; 및 상기 정보 전송 요청에 응답하여, 상기 제2 클라이언트 장치에 상기 암호화된 메시지를 전송하는 단계를 포함할 수 있다.
상기 제1 클라이언트 장치는, 키 관리 서버로부터 공개 키(public key)를 수신하고, 상기 수신한 공개 키에 기초하여 메시지를 암호화하는 것에 의해 상기 암호화된 메시지를 생성할 수 있다.
상기 제2 클라이언트 장치는, 상기 키 관리 서버로부터 상기 공개 키에 대응하는 개인 키(private key)를 수신하고, 상기 수신한 개인 키를 이용하여 상기 암호화된 메시지를 복호화할 수 있다.
상기 브로커 장치, 상기 제1 클라이언트 장치 및 상기 제2 클라이언트 장치는 MQTT(message queuing telemetry transport) 프로토콜을 이용하여 데이터를 송수신할 수 있다.
일 실시예에 따른 브로커 장치에 의해 수행되는 보안 통신 방법은, 상기 수신한 암호화된 메시지를 저장하는 단계를 더 포함하고, 상기 전송하는 단계는, 상기 제2 클라이언트 장치로부터 상기 정보 전송 요청을 수신하는 경우, 상기 저장한 암호화된 메시지를 상기 제2 클라이언트 장치에 전송할 수 있다.
상기 키 관리 서버는, 상기 제1 클라이언트 장치로부터 키 발급 요청을 수신하는 경우, 상기 공개 키와 상기 공개 키에 대응하는 개인 키를 생성할 수 있다.
일 실시예에 따른 브로커 장치는, 제1 클라이언트 장치 및 제2 클라이언트 장치와 통신하는 통신부; 및 상기 통신부의 동작을 제어하는 프로세서를 포함하고, 상기 프로세서는, 상기 통신부로 하여금, 상기 제1 클라이언트 장치로부터 암호화된 메시지를 수신하는 동작; 상기 제2 클라이언트 장치로부터 상기 암호화된 메시지와 관련된 토픽에 관한 정보 전송 요청을 수신하는 동작; 및 상기 정보 전송 요청에 응답하여, 상기 제2 클라이언트 장치에 상기 암호화된 메시지를 전송하는 동작을 수행하도록 제어할 수 있다.
상기 프로세서는, 상기 수신한 암호화 메시지를 저장하도록 제어하고, 상기 제2 클라이언트 장치로부터 상기 정보 전송 요청을 수신하는 경우, 상기 통신부로 하여금 상기 저장한 암호화된 메시지를 상기 제2 클라이언트 장치에 전송하도록 제어할 수 있다.
일 실시예에 따른 보안 통신 시스템은, 공개 키 및 상기 공개 키에 대응하는 개인 키를 생성하는 키 관리 서버; 상기 키 관리 서버로부터 상기 공개 키를 수신하고, 상기 수신한 공개 키를 이용하여 메시지를 암호화하는 것에 의해 암호화된 메시지를 생성하는 제1 클라이언트 장치; 상기 제1 클라이언트 장치로부터 상기 암호화된 메시지를 수신하고, 상기 수신한 암호화된 메시지를 제2 클라이언트 장치에 전송하는 브로커 장치; 및 상기 브로커 장치로부터 상기 암호화된 메시지를 수신하는 제2 클라이언트 장치를 포함할 수 있다.
상기 브로커 장치는, 상기 수신한 암호화된 메시지를 저장하고, 상기 제2 클라이언트 장치로부터 상기 암호화된 메시지에 관련된 토픽에 관한 정보 전송 요청을 수신하는 경우, 상기 암호화된 메시지를 상기 제2 클라이언트 장치에 전송할 수 있다.
일 실시예에 따르면, SDN 환경에서 키 관리 서버를 추가하고, 키 관리 서버를 통하여 암호화에 사용할 키를 RSA 알고리즘으로 생성하고, 생성된 키를 이용한 데이터의 암호화 과정을 노드 간 MQTT 통신에 적용하는 것에 의해 보안성이 향상된 통신 기술을 제공할 수 있다.
도 1은 일 실시예에 따른 보안 통신을 수행하는 보안 통신 시스템의 구성을 도시하는 도면이다.
도 2는 일 실시예에 따른 보안 통신 시스템에서 보안 통신 방법이 수행되는 과정을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 보안 통신 방법을 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 브로커 장치의 구성을 도시한 도면이다.
실시예들에 대한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 본 명세서의 범위는 개시된 실시예들의 특정한 형태로 한정되는 것이 아니나 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 보안 통신을 수행하는 보안 통신 시스템의 구성을 도시하는 도면이다.
도 1을 참조하면, 보안 통신 시스템은 제1 클라이언트 장치(110), 키 관리 서버(120), 브로커 장치(130) 및 제2 클라이언트 장치(140)를 포함할 수 있다. 제1 클라이언트 장치(110)와 제2 클라이언트 장치(140)는 각각 하나 이상일 수 있다. 일 실시예에서, 보안 통신 시스템은 SDN(software defined network)에 기반할 수 있다. SDN은 네트워크에 대한 프로그래밍을 통하여 기존 네트워크를 보다 쉽게 구성하고 관리하기 위한 네트워크 기술 중 하나로 중앙 집중 형태를 기본으로 하고 있다. 이러한 특징에 기초하여, SDN은 기존 네트워크에 대한 초기와 제어, 변경, 관리 측면에서의 장점을 가지고 있으며, 네트워크 기능 가상화를 통하여 네트워크 관리 복잡도를 감소시킬 수 있다.
브로커 장치(130)는 제1 클라이언트 장치(110)로부터 데이터(예를 들어, 메시지)를 수신하고, 수신한 데이터를 하나 이상의 제2 클라이언트 장치(140)에 전송할 수 있다. 브로커 장치(130), 제1 클라이언트 장치(110) 및 제2 클라이언트 장치(140)는 MQTT(message queuing telemetry transport) 프로토콜을 이용하여 데이터를 송수신할 수 있다. 제1 클라이언트 장치(110)는 메시지를 발행(publish)하고, 제2 클라이언트 장치(140)는 브로커 장치(130)를 통해 해당 메시지를 구독(subscribe)할 수 있다. 제1 클라이언트 장치(110)가 메시지를 특정 채널(또는 토픽)에 발행하면, 이 채널을 구독하는 모든 제2 클라이언트 장치(140)들에게 해당 메시지가 전달될 수 있다. 이러한 메시지의 전달의 중간 단계에서, 브로커 장치(130)는 메시지를 수집 및 분배하는 중계 서버의 역할을 한다.
MQTT 프로토콜은 제한된 자원을 사용하는 디바이스가 사물 인터넷 환경과 같은 제한된 네트워크 환경에서 사용하게 할 수 있는 TCP(transmission control protocol) 기반의 경량 메시징 프로토콜이다. MQTT 프로토콜은 실시간 푸쉬(push) 전송이 가능하며, 전력 사용을 최소화하고 비동기 메시징과 TCP 기반 동작을 통해 신뢰성을 제공한다.
또한, 모바일 기기와의 효율적 통신을 위한 양방향 Publish(Pub)/Subscribe(Sub) 특성이 있는 MQTT 프로토콜은 메시징 크기에 제약이 없고, 이기종 플랫폼 간 개발이 용이하다. MQTT 프로토콜은 일대일 연결뿐만 아니라, 1:N(2 이상의 자연수) 또는 N:N 등의 많은 클라이언트 장치와 브리지(bridge)에 연결된 브로커 장치(130)를 추가하여 사용할 수 있다. MQTT 프로토콜의 가장 큰 특징은 두 개의 클라이언트 장치들과 브로커 장치(130)를 통해 동작하는 메시지 큐(message queue) Pub/Sub 구조이다. 두 개의 클라이언트 장치들은 각각 발행자(Publisher)와 수신자(Subscriber)로 지칭될 수 있으며, 특정 토픽을 이용하여 브로커 장치(130)를 통해 서로 메시지를 주고 받을 수 있다.
발행자와 수신자는 통신할 때, 토픽을 기준으로 동작한다. 일례에서, 토픽은 문자열로 표현되고, 하위 항목의 각 계층은 슬래쉬(/) 문자로 구분된 계층 구조를 가질 수 있다. 이는 다양한 사물 인터넷 디바이스 데이터를 브로커 장치(130)에서 효율적인 보관이 가능하게 하며, 클라이언트 장치는 해당하는 토픽에 가입할 수 있고, 해당 토픽의 메시지와 관련된 업데이트 정보를 수신할 수 있다.
본 발명은 키 관리 서버(120)를 SDN 환경에 추가하여 보안성이 강화된 MQTT 프토토콜을 제공한다. 키 관리 서버(120)는 제1 클라이언트 장치(110)가 발행하는 메시지의 암호화를 위한 공개 키(public key)를 생성하고, 생성된 공개 키를 제1 클라이언트 장치(110)에 전송한다. 제1 클라이언트 장치(110)는 공개 키를 이용하여 메시지를 암호화하고, 암호화된 메시지를 브로커 장치(130)에 전송한다. 브로커 장치(130)는 제1 클라이언트 장치(110)로부터 수신한 메시지와 관련된 토픽을 구독하는 하나 이상의 제2 클라이언트 장치(140)에 암호화된 메시지를 전송한다. 제2 클라이언트 장치(140)는 키 관리 서버(120)로부터 공개 키에 대응하는 개인 키(private key)를 수신하고, 개인 키를 이용하여 위 수신한 암호화된 메시지를 복호화한다. 제2 클라이언트 장치(140)는 복호화를 통해 복원된 메시지를 제2 클라이언트 장치(140)의 사용자에게 제공한다.
본 발명에 따르면, SDN의 노드 간 통신에서 송수신되는 데이터에 공개 키 기반의 암호화 알고리즘을 적용하여 MQTT 프로토콜의 보안성을 강화할 수 있다. 또한, 이를 통해 브로커 장치(130)에서 발생할 수 있는 오버헤드(overhead) 문제를 극복하고, SDN 환경에서 동작하는 저사양의 사물 인터넷(IoT) 기기에 충분한 보안성을 제공할 수 있다.
도 2는 일 실시예에 따른 보안 통신 시스템에서 보안 통신 방법이 수행되는 과정을 설명하기 위한 도면이다.
도 2를 참조하면, 제1 클라이언트 장치(110)는 키 관리 서버(120)에 접속(210)하여 키 관리 서버(120)에 키 발급을 요청한다. 키 관리 서버(120)는 제1 클라이언트의 해당 키 발급 요청에 응답하여 키 쌍을 생성(220)한다. 일 실시예에서, 키 관리 서버(120)는 제1 클라이언트 장치(110)로부터 키 발급 요청을 수신하는 경우, RSA 암호화 알고리즘을 이용하여 공개 키와 해당 공개 키에 대응하는 개인 키를 생성할 수 있다. RSA 암호화 알고리즘은 소인수분해 문제의 어려움에 이론적 기초를 둔 암호 알고리즘으로서, 강력한 보안성을 제공한다. 소인수분해 문제의 어려움이란 임의의 소수를 이용하여 합성수를 만드는 것은 쉬우나, 합성수를 소인수분해하여 소수를 만다는 것은 어렵다는 것을 말한다.
키 관리 서버(120)는 키 쌍을 생성한 후 생성된 공개 키를 제1 클라이언트 장치(110)에 전송(230)한다. 제1 클라이언트 장치(110)는 키 관리 서버(120)로부터 공개 키를 수신하고, 수신한 공개 키를 이용하여 메시지를 암호화(240)하는 것에 의해 암호화된 메시지를 생성한다. 제1 클라이언트 장치(110)는 암호화된 메시지를 브로커 장치(130)에 전송(250)한다.
브로커 장치(130)는 제1 클라이언트 장치(110)로부터 암호화된 메시지를 수신하고, 수신한 암호화된 메시지를 하나 이상의 제2 클라이언트 장치(140)에 전송한다. 이 때, 브로커 장치(130)는 제1 클라이언트 장치(110)로부터 수신한 암호화된 메시지를 저장 및 보관할 수 있다. 제2 클라이언트 장치(140)는 브로커 장치(130)에 특정 토픽에 관한 정보 전송을 요청(260)하고, 브로커 장치(130)는 제2 클라이언트 장치(140)로부터 암호화된 메시지에 관련된 토픽에 관한 정보 전송 요청을 수신하는 경우, 해당 암호화된 메시지를 제2 클라이언트 장치(140)에 전송(270)할 수 있다.
제2 클라이언트 장치(140)는 브로커 장치(130)로부터 암호화된 메시지를 수신하고, 키 관리 서버(120)에 개인 키의 전송을 요청하고, 해당 요청에 응답하여 키 관리 서버(120)는 제2 클라이언트 장치(140)에 제1 클라이언트 장치(110)에 전송된 공개 키에 대응하는 개인 키를 전송(280)한다. 제2 클라이언트 장치(140)는 키 관리 서버(120)로부터 개인 키를 수신하고, 수신한 개인 키를 이용하여 브로커 장치(130)로부터 수신한 암호화된 메시지를 복호화(290)하여, 메시지를 복원한다.
도 3은 일 실시예에 따른 보안 통신 방법을 설명하기 위한 흐름도이다.
도 3을 참조하면, 단계(310)에서, 발신자(publisher)인 제1 클라이언트 장치는 키 쌍을 생성하는 키 관리 서버에 접속하여 공개 키의 발급을 요청한다. 단계(320)에서 제1 클라이언트 장치가 키 관리 서버로부터 공개 키를 수신한 경우, 단계(330)에서 제1 클라이언트 장치는 키 관리 서버로부터 받은 공개 키를 이용하여 특정 토픽에 대해 발행할 메시지를 암호화한다. 단계(340)에서, 제1 클라이언트 장치는 암호화된 메시지를 브로커 장치에 전송한다. 브로커 장치는 제1 클라이언트 장치로부터 수신한 암호화된 메시지를 저장 및 보관할 수 있다. 브로커 장치는 제1 클라이언트 장치와 다른 제2 클라이언트 장치가 브로커 장치에 접속하여 해당 암호화된 메시지에 관련된 토픽에 대한 정보 제공을 요청하는지 여부를 판단(350)한다. 해당 정보 제공의 요청을 수신하는 경우, 단계(360)에서 브로커 장치는 암호화된 메시지를 제2 클라이언트 장치에 전송한다. 제2 클라이언트 장치는 키 관리 서버를 통해 개인 키를 제공받고, 해당 개인 키를 이용하여 브로커 장치로부터 수신한 암호화된 메시지를 복호화하고, 메시지의 원문 내용을 확인할 수 있다.
도 4는 일 실시예에 따른 브로커 장치의 구성을 도시한 도면이다.
도 4를 참조하면, 브로커 장치(400)는 프로세서(410), 메모리(420) 및 통신부(430)를 포함할 수 있다. 브로커 장치(400)는 제1 클라이언트 장치(440)로부터 암호화된 메시지를 수신하고, 수신한 메시지에 관련된 토픽의 정보 제공을 요청한 하나 이상의 제2 클라이언트 장치(450)에 위 암호화된 메시지를 전송할 수 있다.
통신부(430)는 유선 또는 무선 네트워크를 통해 외부 장치와 통신할 수 있다. 통신부(430)는 프로세서(410)의 제어 하에 제1 클라이언트 장치(440)와 하나 이상의 제2 클라이언트 장치(450)와 통신한다.
메모리(420)는 프로세서(410)에 연결되고, 프로세서(410)에 의해 실행가능한 인스트럭션들, 프로세서(410)가 연산할 데이터 또는 프로세서(410)에 의해 처리된 데이터를 저장할 수 있다. 메모리(420)는 비일시적인 컴퓨터 판독가능 매체, 예컨대 고속 랜덤 액세스 메모리 및/또는 비휘발성 컴퓨터 판독가능 저장 매체(예컨대, 하나 이상의 디스크 저장 장치, 플래쉬 메모리 장치, 또는 기타 비휘발성 솔리드 스테이트 메모리 장치)를 포함할 수 있다.
프로세서(410)는 도 1 내지 도 3를 참조하여 설명된 브로커 장치(400)의 하나 이상의 동작을 수행하고, 통신부(430)의 동작을 제어할 수 있다. 예를 들어, 프로세서(410)는 통신부(430)로 하여금, 제1 클라이언트 장치(440)로부터 암호화된 메시지를 수신하는 동작, 제2 클라이언트 장치(450)로부터 암호화된 메시지와 관련된 토픽에 관한 정보 전송 요청을 수신하는 동작, 해당 정보 전송 요청에 응답하여, 제2 클라이언트 장치(450)에 암호화된 메시지를 전송하는 동작을 수행하도록 제어할 수 있다. 프로세서(410)는 상기 수신한 암호화 메시지를 저장하도록 제어하고, 제2 클라이언트 장치(450)로부터 위 정보 전송 요청을 수신하는 경우, 통신부(430)로 하여금 저장하고 있던 암호화된 메시지를 제2 클라이언트 장치(450)에 전송하도록 제어할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
110: 제1 클라이언트 장치
120: 키 관리 서버
130: 브로커 장치
140: 제2 클라이언트 장치

Claims (15)

  1. 브로커 장치에 의해 수행되는 보안 통신 방법에 있어서,
    제1 클라이언트 장치로부터 암호화된 메시지를 수신하는 단계;
    제2 클라이언트 장치로부터 상기 암호화된 메시지와 관련된 토픽에 관한 정보 전송 요청을 수신하는 단계; 및
    상기 정보 전송 요청에 응답하여, 상기 제2 클라이언트 장치에 상기 암호화된 메시지를 전송하는 단계
    를 포함하는 보안 통신 방법.
  2. 제1항에 있어서,
    상기 제1 클라이언트 장치는,
    키 관리 서버로부터 공개 키(public key)를 수신하고, 상기 수신한 공개 키에 기초하여 메시지를 암호화하는 것에 의해 상기 암호화된 메시지를 생성하는 것을 특징으로 하는 보안 통신 방법.
  3. 제2항에 있어서,
    상기 제2 클라이언트 장치는,
    상기 키 관리 서버로부터 상기 공개 키에 대응하는 개인 키(private key)를 수신하고, 상기 수신한 개인 키를 이용하여 상기 암호화된 메시지를 복호화하는 것을 특징으로 하는 보안 통신 방법.
  4. 제3항에 있어서,
    상기 브로커 장치, 상기 제1 클라이언트 장치 및 상기 제2 클라이언트 장치는 MQTT(message queuing telemetry transport) 프로토콜을 이용하여 데이터를 송수신하는 것을 특징으로 하는 보안 통신 방법.
  5. 제1항에 있어서,
    상기 수신한 암호화된 메시지를 저장하는 단계
    를 더 포함하고,
    상기 전송하는 단계는,
    상기 제2 클라이언트 장치로부터 상기 정보 전송 요청을 수신하는 경우, 상기 저장한 암호화된 메시지를 상기 제2 클라이언트 장치에 전송하는 것을 특징으로 하는 보안 통신 방법.
  6. 제2항에 있어서,
    상기 키 관리 서버는,
    상기 제1 클라이언트 장치로부터 키 발급 요청을 수신하는 경우, 상기 공개 키와 상기 공개 키에 대응하는 개인 키를 생성하는 것을 특징으로 하는 보안 통신 방법.
  7. 제1항 내지 제6항 중 어느 하나의 항의 방법을 실행하기 위한 인스트럭션들을 저장하는 컴퓨터 판독 가능한 저장 매체.
  8. 제1 클라이언트 장치 및 제2 클라이언트 장치와 통신하는 통신부; 및
    상기 통신부의 동작을 제어하는 프로세서를 포함하고,
    상기 프로세서는, 상기 통신부로 하여금,
    상기 제1 클라이언트 장치로부터 암호화된 메시지를 수신하는 동작;
    상기 제2 클라이언트 장치로부터 상기 암호화된 메시지와 관련된 토픽에 관한 정보 전송 요청을 수신하는 동작; 및
    상기 정보 전송 요청에 응답하여, 상기 제2 클라이언트 장치에 상기 암호화된 메시지를 전송하는 동작을 수행하도록 제어하는 것을 특징으로 하는 브로커 장치.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 수신한 암호화 메시지를 저장하도록 제어하고,
    상기 제2 클라이언트 장치로부터 상기 정보 전송 요청을 수신하는 경우, 상기 통신부로 하여금 상기 저장한 암호화된 메시지를 상기 제2 클라이언트 장치에 전송하도록 제어하는 것을 특징으로 하는 브로커 장치.
  10. 제8항에 있어서,
    상기 제1 클라이언트 장치는,
    키 관리 서버로부터 공개 키를 수신하고, 상기 수신한 공개 키에 기초하여 메시지를 암호화하는 것에 의해 상기 암호화된 메시지를 생성하는 것을 특징으로 하는 브로커 장치.
  11. 제10항에 있어서,
    상기 제2 클라이언트 장치는,
    상기 키 관리 서버로부터 상기 공개 키에 대응하는 개인 키를 수신하고, 상기 수신한 개인 키를 이용하여 상기 암호화된 메시지를 복호화하는 것을 특징으로 하는 브로커 장치.
  12. 제10항에 있어서,
    상기 키 관리 서버는,
    상기 제1 클라이언트 장치로부터 키 발급 요청을 수신하는 경우, 상기 공개 키와 상기 공개 키에 대응하는 개인 키를 생성하는 것을 특징으로 하는 브로커 장치.
  13. 공개 키 및 상기 공개 키에 대응하는 개인 키를 생성하는 키 관리 서버;
    상기 키 관리 서버로부터 상기 공개 키를 수신하고, 상기 수신한 공개 키를 이용하여 메시지를 암호화하는 것에 의해 암호화된 메시지를 생성하는 제1 클라이언트 장치;
    상기 제1 클라이언트 장치로부터 상기 암호화된 메시지를 수신하고, 상기 수신한 암호화된 메시지를 제2 클라이언트 장치에 전송하는 브로커 장치; 및
    상기 브로커 장치로부터 상기 암호화된 메시지를 수신하는 제2 클라이언트 장치
    를 포함하는 보안 통신 시스템.
  14. 제13항에 있어서,
    상기 제2 클라이언트 장치는,
    상기 키 관리 서버로부터 상기 개인 키를 수신하고, 상기 수신한 개인 키를 이용하여 상기 암호화된 메시지를 복호화하는 것을 특징으로 하는 보안 통신 시스템.
  15. 제13항에 있어서,
    상기 브로커 장치는,
    상기 수신한 암호화된 메시지를 저장하고, 상기 제2 클라이언트 장치로부터 상기 암호화된 메시지에 관련된 토픽에 관한 정보 전송 요청을 수신하는 경우, 상기 암호화된 메시지를 상기 제2 클라이언트 장치에 전송하는 것을 특징으로 하는 보안 통신 시스템.
KR1020170169745A 2017-12-11 2017-12-11 Sdn 콘트롤러에서 키 관리 서버를 이용한 보안 통신 방법 및 이를 수행하는 장치 KR101997996B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170169745A KR101997996B1 (ko) 2017-12-11 2017-12-11 Sdn 콘트롤러에서 키 관리 서버를 이용한 보안 통신 방법 및 이를 수행하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170169745A KR101997996B1 (ko) 2017-12-11 2017-12-11 Sdn 콘트롤러에서 키 관리 서버를 이용한 보안 통신 방법 및 이를 수행하는 장치

Publications (2)

Publication Number Publication Date
KR20190069230A true KR20190069230A (ko) 2019-06-19
KR101997996B1 KR101997996B1 (ko) 2019-07-08

Family

ID=67104597

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170169745A KR101997996B1 (ko) 2017-12-11 2017-12-11 Sdn 콘트롤러에서 키 관리 서버를 이용한 보안 통신 방법 및 이를 수행하는 장치

Country Status (1)

Country Link
KR (1) KR101997996B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114531266A (zh) * 2021-12-03 2022-05-24 国网浙江省电力有限公司嘉兴供电公司 一种基于中间数据库的配电网数据防护系统及其方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030047148A (ko) * 2001-12-08 2003-06-18 학교법인대우학원 Rsa를 이용한 클라이언트/서버 기반의 메신저 보안 방법
KR20110122731A (ko) * 2009-02-12 2011-11-10 인터내셔널 비지네스 머신즈 코포레이션 발행 및 구독 엔진에 암호화, 인증, 및 허가를 도입하는 기술
KR20170012161A (ko) * 2015-07-23 2017-02-02 주식회사 투아이피 IoT 디바이스의 통신 클라이언트의 동작 방법 및 상기 통신 클라이언트를 포함하는 IoT 디바이스

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030047148A (ko) * 2001-12-08 2003-06-18 학교법인대우학원 Rsa를 이용한 클라이언트/서버 기반의 메신저 보안 방법
KR20110122731A (ko) * 2009-02-12 2011-11-10 인터내셔널 비지네스 머신즈 코포레이션 발행 및 구독 엔진에 암호화, 인증, 및 허가를 도입하는 기술
KR20170012161A (ko) * 2015-07-23 2017-02-02 주식회사 투아이피 IoT 디바이스의 통신 클라이언트의 동작 방법 및 상기 통신 클라이언트를 포함하는 IoT 디바이스

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Securing SDN Southbound and Data Plane Communication with IBC(2016.07.04)* *
경량화 암호화 알고리즘 기반 보안 MQTT 프로토콜(2016년)* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114531266A (zh) * 2021-12-03 2022-05-24 国网浙江省电力有限公司嘉兴供电公司 一种基于中间数据库的配电网数据防护系统及其方法

Also Published As

Publication number Publication date
KR101997996B1 (ko) 2019-07-08

Similar Documents

Publication Publication Date Title
US11469896B2 (en) Method for securing the rendezvous connection in a cloud service using routing tokens
US20160044000A1 (en) System and method to communicate sensitive information via one or more untrusted intermediate nodes with resilience to disconnected network topology
US20130013921A1 (en) Methods and apparatus for secure data sharing
KR102308269B1 (ko) 프록시 기반 네트워크 통신들에서의 제어 데이터의 전송
Arora et al. Evaluation and comparison of security issues on cloud computing environment
CN109417552B (zh) 用于执行安全通信的方法和工业计算装置
JP2003209543A (ja) セキュア・セッションを確立する方法および装置
US20210203489A1 (en) Ephemeral Broadcast Key Agreement
JP2012032892A (ja) 情報送信装置、ネットワークシステム、情報送信方法および情報送信プログラム
WO2011107000A1 (zh) 对等网络中的资源控制方法、装置和系统
US20150089230A1 (en) Random number distribution
CN112954050B (zh) 分布式管理方法及装置、管理设备和计算机存储介质
CN111771366A (zh) 具有可协商和自适应的加密级别的用于加密数据流的方法
US8903096B2 (en) Security key distribution in a cluster
Huang et al. Implementing publish/subscribe pattern for CoAP in fog computing environment
CN110336665B (zh) 一种大数据消息加密方法、装置
Rudkovskyi et al. Interaction support system of network aplications.
US9825920B1 (en) Systems and methods for multi-function and multi-purpose cryptography
KR101997996B1 (ko) Sdn 콘트롤러에서 키 관리 서버를 이용한 보안 통신 방법 및 이를 수행하는 장치
CN113206815B (zh) 用于加解密的方法、可编程交换机和计算机可读存储介质
WO2023185796A1 (zh) 一种信息推送方法及服务器、客户端、存储介质
JP2006279269A (ja) 情報管理装置、情報管理システム、ネットワークシステム、ユーザ端末、及びこれらのプログラム
Kirichek et al. Implementation the protection method of data transmission in network
CN110611674B (zh) 不同计算机系统之间的协议交互方法、系统及存储介质
KR102265611B1 (ko) 네트워크 시스템 및 그것의 메시지 보안 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant