KR101987848B1 - 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법 - Google Patents

사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법 Download PDF

Info

Publication number
KR101987848B1
KR101987848B1 KR1020170104333A KR20170104333A KR101987848B1 KR 101987848 B1 KR101987848 B1 KR 101987848B1 KR 1020170104333 A KR1020170104333 A KR 1020170104333A KR 20170104333 A KR20170104333 A KR 20170104333A KR 101987848 B1 KR101987848 B1 KR 101987848B1
Authority
KR
South Korea
Prior art keywords
value
hash
secret key
public
band channel
Prior art date
Application number
KR1020170104333A
Other languages
English (en)
Other versions
KR20190019441A (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 KR1020170104333A priority Critical patent/KR101987848B1/ko
Publication of KR20190019441A publication Critical patent/KR20190019441A/ko
Application granted granted Critical
Publication of KR101987848B1 publication Critical patent/KR101987848B1/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/0827Key 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 distinctive intermediate devices or communication paths
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures

Landscapes

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

Abstract

본 발명에 따른 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법은, 사물인터넷(Internet of Things, IoT) 환경에서 동작하는 제1기기 및 제2기기가 사용자 단말을 통해 제1기기의 제1공개값과 제1기기에 의해 생성된 제1랜덤값을 해쉬 연산한 제1해쉬값, 및 제2기기의 제2공개값과 제2기기에 의해 생성된 제2랜덤값을 해쉬 연산한 제2해쉬값을 서로 공유하는 단계, 제1기기 및 제2기기가 제1공개값 및 제2공개값을 서로 공유하는 단계, 제1기기 및 제2기기가 사용자 단말을 통해 제1랜덤값 및 제2랜덤값을 서로 공유하는 단계, 및 제1기기가 제2공개값 및 제2랜덤값을 해쉬 연산하여 연산된 값이 제2해쉬값과 일치하면 제2공개값을 이용하여 비밀키를 생성하고, 제2기기가 제1공개값 및 제1랜덤값을 해쉬 연산하여 연산된 값이 제1해쉬값과 일치하면 제1공개값을 이용하여 제1기기에 의해 생성된 비밀키와 동일한 비밀키를 생성하는 단계를 포함한다.

Description

사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법{METHOD FOR SETTING SECURE KEY BETWEEN DEVICES USING DIFFERENT OUT-OF-BAND CHANNEL IN INTERNET OF THINGS ENVIRONMENT}
본 발명은 사물인터넷 환경에서 동작하는 기기 사이의 비밀키 설정 방법에 관한 것으로서, 보다 구체적으로 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법에 관한 것이다.
사물인터넷(Internet of Things, IoT) 기술은 기존의 통신에서 주류를 이루던 사람과 사람, 사람과 사물 간의 통신에서 나아가 생활 속 모든 것들을 상호 연결시키려는 기술이다. 최근 들어, 센서나 액츄에이터와 같은 소형의 경량 장치들까지 인터넷에 직접 연결하여 정보를 주고 받을 수 있는 사물인터넷 기술에 대한 관심이 높아지고 있다.
사물인터넷 환경에서는 보안이 적용 환경에 따라 단순한 정보 보호의 차원을 넘어 사람의 생명에 직결될 수 있기 때문에 보안에 대한 신뢰성이 반드시 보장되어야 한다. 따라서, 사물인터넷 환경에서 다양한 경량 장치들을 통해 안전한 서비스를 제공하기 위해서는 각 경량 장치들 간에서 송수신되는 데이터가 안전하게 보호되어야 한다.
이를 위해, 경량 장치들 간에 비밀키가 안전하게 설정되어야 하기 때문에, 종래에는PSK(Pre Shared Key) 방식을 기반으로 하는 비밀키 설정 방법이 제안된 바 있다.
그러나, 사물인터넷 환경에서 처음 연결되는 경량 장치들에는 사전에 설정되어 있는 PSK가 부재하기 때문에 종래의 PSK 방식을 적용하는 것이 어렵다.
이에 따라, 사물인터넷 환경에서 동작하는 경량 장치들이 처음 연결되는 상황에서 경량 장치들이 DH 알고리즘과 같은 공개키 알고리즘을 이용하여 비밀키를 설정하는 기술이 개발되고 있으나, DH 알고리즘의 경우 주체 인증이 이루어지지 않기 때문에 중간자 공격(Man In The Middle)에 취약하다는 문제가 있다.
본 발명의 배경이 되는 기술은 대한민국 등록특허공보 제10-1695760호(발명의 명칭: IoT 환경에서의 보안 통신 설정 방법 및 시스템, 2017.01.06. 공고)에 개시되어 있다.
본 발명은 상술한 문제를 해결하기 위한 것으로서, 사물인터넷 환경에서 동작하는 기기들을 처음으로 연결할 때, 기기 간의 통신을 위한 대역내 채널 외의 부수적인 채널로서 대역외 채널을 이용하여 각 기기를 검증할 수 있는 정보를 송수신하고, 검증된 기기의 정보를 이용하여 비밀키를 생성함으로써, 중간자 공격으로부터 안전한 비밀키를 생성하는 것을 목적으로 한다.
또한, 본 발명은 각 기기의 대역외 채널에서 이용하는 매체가 다른 경우에도 별도의 입출력 인터페이스를 추가하지 않고 통신할 수 있도록 하고, 각 기기가 상대 기기의 대역외 채널의 통신 범위를 벗어난 경우에도 통신할 수 있도록 하는 것을 목적으로 한다.
상술한 문제점을 해결하기 위한 본 발명의 일 측면에 따른 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법은, 사물인터넷(Internet of Things, IoT) 환경에서 동작하는 제1기기 및 제2기기가 사용자 단말을 통해 상기 제1기기의 제1공개값과 상기 제1기기에 의해 생성된 제1랜덤값을 해쉬 연산한 제1해쉬값, 및 상기 제2기기의 제2공개값과 상기 제2기기에 의해 생성된 제2랜덤값을 해쉬 연산한 제2해쉬값을 서로 공유하는 단계, 상기 제1기기 및 상기 제2기기가 상기 제1공개값 및 상기 제2공개값을 서로 공유하는 단계, 상기 제1기기 및 상기 제2기기가 상기 사용자 단말을 통해 상기 제1랜덤값 및 상기 제2랜덤값을 서로 공유하는 단계, 상기 제1기기가 상기 제2공개값 및 상기 제2랜덤값을 해쉬 연산하여 연산된 값이 상기 제2해쉬값과 일치하면 상기 제2공개값을 이용하여 비밀키를 생성하고, 상기 제2기기가 상기 제1공개값 및 상기 제1랜덤값을 해쉬 연산하여 연산된 값이 상기 제1해쉬값과 일치하면 상기 제1공개값을 이용하여 상기 제1기기에 의해 생성된 비밀키와 동일한 비밀키를 생성하는 단계를 포함한다.
본 발명에 따르면, 사물인터넷 환경에서 동작하는 기기들을 처음 연결할 때 기기 간의 통신을 위한 대역내 채널 외의 부수적인 채널로서 대역외 채널을 이용하여 각 기기를 검증할 수 있는 정보를 송수신하고, 검증된 기기의 정보를 이용하여 비밀키를 생성함으로써, 중간자 공격으로부터 안전한 비밀키를 생성할 수 있다.
또한, 본 발명에 따르면, 각 기기가 사용자 단말을 매개체로 대역외 채널을 통해 통신하도록 함으로써, 각 기기는 대역외 채널에서 이용하는 매체가 다른 경우에도 별도의 입출력 인터페이스 추가없이 통신하고, 각 기기가 상대 기기의 대역외 채널의 통신 범위를 벗어난 경우에도 통신할 수 있다.
도 1은 본 발명의 실시예에 따른 사물인터넷 환경의 구성을 개략적으로 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법의 구현 과정을 개략적으로 나타내는 플로우차트이다.
도 3은 제1기기 및 제2기기가 비밀키를 생성하는 과정을 개략적으로 나타내는 플로우차트이다.
도 4는 본 발명의 다른 실시예에 따른 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법의 구현 과정을 개략적으로 나타내는 플로우차트이다.
본 명세서에서 각 도면의 구성요소들에 참조번호를 부가함에 있어서 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다.
한편, 본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.
"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3 항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목, 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목, 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들에 대해 설명한다.
도 1은 본 발명의 실시예에 따른 사물인터넷 환경의 구성을 개략적으로 보여주는 도면이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 사물인터넷 환경은 기기(100) 및 사용자 단말(200)을 포함하여 이루어진다.
기기(100)는 자원이 제한적인 기기이다. 구체적으로, 기기(100)는 사물인터넷(Internet of Things, IoT) 환경에서 동작하는 경량(Lightweight) 장치로서, 센서, 액츄에이터, 또는 복수개의 센서와 액츄에이터를 갖는 소형 장치일 수 있다.
기기(100)는 대역내 채널(In-band) 및 대역외 채널(Out-of-band)을 통해 통신할 수 있다. 일례로, 기기(100)는 타 기기(100)와 대역내 채널을 통해 통신하고, 사용자 단말(200)과 대역외 채널을 통해 통신할 수 있다.
특히, 본 발명의 실시예에서는 타 기기에 대한 사전 정보가 없는 각 기기(100)가 처음 연결되는 상황을 고려하여 DH 알고리즘과 같은 공개키 알고리즘을 이용하여 비밀키를 설정할 수 있다.
이 때, DH 알고리즘은 주체 인증이 이루어지지 않아 중간자 공격이 가능하므로, 본 발명의 실시예에서는 각 기기(100)가 대역외 채널을 통해 각 기기를 검증할 수 있는 정보를 서로 공유하고, 검증된 기기에 대해서만 해당 기기의 정보를 이용하여 비밀키를 설정하도록 함으로써, 각 기기(100)가 안전한 비밀키를 공유할 수 있다. 예컨대, 각 기기(100)는 대역외 채널을 통해 아이디, 공개값, 및 랜덤값 중 적어도 하나를 해쉬 연산한 해쉬값을 서로 공유하고, 대역내 채널과 대역외 채널을 이용하여 아이디, 공개값, 및 랜덤값을 서로 공유함으로써, 타 기기(100)를 검증할 수 있다. 타 기기(100)의 검증 과정에 대한 구체적인 설명은 후술하기로 한다.
사물인터넷 환경에서 대역외 채널은 각각의 기기(100)에서 이용할 수 있는 빛, 소리, 진동 등 다양한 매체가 될 수 있으며, 기재한 바에 한정되지 않는다.
이 때, 사물인터넷 환경에서 각각의 기기(100)는 자원이 제한되어 여러 개의 매체를 이용할 수 없기 때문에, 통신 대상이 되는 각 기기(100)의 대역외 채널이 동일한 매체를 이용하지 않을 수 있다.
이에 따라, 본 발명의 실시예에서는 사용자 단말(200)을 매개체로 이용하여 각 기기(100)와 대역외 채널을 통해 통신함으로써, 각 기기(100)의 대역외 채널이 동일하지 않은 매체를 이용하는 경우에도 각 기기(100)는 해쉬값을 안전하게 공유할 수 있다.
또한, 사용자 단말(200)을 매개체로 이용하여 각 기기(100)와 대역외 채널을 통해 통신함에 따라, 본 발명의 실시예에서는 각 기기가 상대 기기의 대역외 채널의 통신 범위를 벗어난 경우에도 해쉬값을 안전하게 공유할 수 있다.
예컨대, 사용자의 개인적인 용도로 설치된 기기(100)는 일반적으로 휴대가 가능한데, 사용자가 해당 기기(100)를 소지한 상태로 공공 장소로 이동함에 따라, 해당 기기(100)가 공공 장소에 고정 설치된 기기(100)와 통신하는 경우가 발생할 수 있다. 이 경우, 휴대성이 높은 사용자의 기기(100)의 계속되는 이동으로 고정 설치된 기기(100)와의 대역외 채널이 통신 범위를 벗어날 수 있다. 따라서, 본 발명의 실시예에서는 사용자 단말(200)을 매개체로 각 기기(100)가 대역외 채널을 통해 통신함으로써, 각 기기(100) 간의 거리와는 무관하게 안전한 해쉬값을 공유할 수 있다.
사용자 단말(200)은 각 기기(100)의 대역외 채널을 통한 통신을 중개하는 역할을 한다. 예컨대, 사용자 단말(200)은 각 기기(100)의 해쉬값 및 상대 기기(100)를 검증하기 위한 정보 중 적어도 하나를 공유하도록 중개할 수 있다.
사용자 단말(200)은 기기(100) 보다 연산 자원이 크고 전원 공급에도 제한받지 않는 제어기를 의미한다. 사용자 단말(200)은 스마트폰 또는 태블릿 PC와 같은 제어기일 수 있으나 이에 한정되지 않는다. 사용자 단말(200)은 각 기기(100)의 대역외 채널에서 이용하는 각 매체를 모두 이용할 수 있는 제어기로 설정될 수 있다. 이에 따라, 사용자 단말(200)은 각 기기(100)의 대역외 채널이 동일하지 않은 매체를 이용하는 경우에도 각각의 기기(100)와 대역외 채널을 통한 통신이 가능하다.
사용자 단말(200)은 어느 하나의 기기(100)로부터 대역외 채널을 통해 해쉬값을 포함하는 데이터가 수신되면, 해당 해쉬값을 다른 기기(100)에서 이용하는 대역외 채널의 매체에 상응하는 데이터로 변환하여 다른 기기(100)로 송신한다. 이에 따라, 본 발명의 실시예에서 서로 다른 매체를 이용하는 각 기기(100)는 사용자 단말(200)을 매개체로 해쉬값을 공유할 수 있다.
한편, 각 기기(100)의 대역외 채널의 안전도는 이용하는 주변 환경에 따라 달라질 수 있다. 아래의 표 1은 빛과 소리를 이용하는 대역외 채널의 안전도를 간략히 기재한 것이다.
매체 소리
안전도 강함 약함 강함 약함
환경 차량 내 수납 박스, 방과 같은 폐쇄된 공간 오피스, 공공장소와 같은 개방된 공간, 주변이 매우 밝은 공간 차량 내 수납 박스, 방과 같은 폐쇄된 공간, Self-jamming 기능을 포함한 경우 오피스, 공공장소와 같은 개방된 공간, 주변이 매우 시끄러운 공간
통신수단 사용자가 확인 가능한 케이블 디스플레이 패널, 카메라, LED, 광센서 등 사용자가 확인 가능한 케이블 마이크, 스피커
표 1에 기재된 바와 같이, 빛과 소리와 같은 매체를 이용하여 대역외 채널을 통해 통신하는 각 기기(100)는 그 위치나 통신수단에 따라 안전도가 다를 수 있다.
따라서, 본 발명의 실시예에서는 각 기기(100)의 대역외 채널의 안전도를 고려하여 각 기기(100)가 암호화 통신을 수행하는데 필요한 비밀키를 생성하는 방법을 제시한다. 구체적으로, 본 발명의 실시예에서는 각 기기(100)가 이용하는 매체의 안전도가 모두 약한 경우에 각 기기(100)의 비밀키를 안전하게 생성하는 방법을 살펴보기로 한다.
이하에서는 제1기기(100a) 및 제2기기(100b)가 처음 연결되는 상황에서 제1기기(100a) 및 제2기기(100b)의 대역외 채널의 안전도가 모두 약한 경우에 비밀키를 설정하기 위한 과정을 보다 구체적으로 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법의 구현 과정을 개략적으로 나타내는 플로우차트이다.
도 3은 제1기기 및 제2기기가 비밀키를 생성하는 과정을 개략적으로 나타내는 플로우차트이다.
도 2에 도시된 바와 같이, 제1기기(100a)는 사용자 단말(200)로 제1기기(100a)의 제1공개값(DHA)과 제1기기(100a)에 의해 생성된 제1랜덤값(RA)을 해쉬 연산한 제1해쉬값을 송신한다(S110). 일례로, 제1기기(100a)는 제1대역외 채널을 통해 사용자 단말(200)로 제1해쉬값을 송신할 수 있다.
다음으로, 제2기기(100b)는 사용자 단말(200)로부터 제1기기(100a)에 의해 연산된 제1해쉬값을 수신한다(S120). 일례로, 제2기기(100b)는 제2대역외 채널을 통해 사용자 단말(200)로부터 제1해쉬값을 수신할 수 있다.
또한, S120에서 사용자 단말(200)은 제1기기(100a)의 제1대역외 채널에서 이용하는 제1매체와 제2기기(100b)의 제2대역외 채널에서 이용하는 제2매체가 서로 상이한 경우, 제1해쉬값을 제2매체에 대응되는 데이터로 변환하여 제2기기(100b)로 송신할 수 있다.
예컨대, 제1매체가 빛이고 제2매체가 소리인 경우, 사용자 단말(200)은 제1대역외 채널을 통해 제1기기(100a)로부터 제1해쉬값 데이터를 포함하는 빛을 수신하고, 해당 데이터를 소리 형태의 데이터로 변환하여 제2대역외 채널을 통해 제2기기(100b)로 제1해쉬값 데이터를 포함하는 소리를 송신할 수 있다.
이에 따라, 본 발명의 실시예에 따른 제1기기(100a) 및 제2기기(100b)의 대역외 채널이 서로 다른 매체를 이용하더라도 중간에서 사용자 단말(200)이 이를 변환하여 전달하기 때문에, 서로 다른 매체를 이용하는 대역외 채널을 갖는 제1기기(100a) 및 제2기기(100b)가 제1해쉬값을 안전하게 공유할 수 있다.
다음으로, 제2기기(100b)는 사용자 단말(200)로 제2기기(100b)의 제2공개값(DHB)과 제2기기(100b)에 의해 생성된 제2랜덤값(RB)을 해쉬 연산한 제2해쉬값을 송신한다(S130). 일례로, 제2기기(100b)는 제2대역외 채널을 통해 사용자 단말(200)로 제2대역외 채널을 통해 사용자 단말(200)로 제2해쉬값을 송신할 수 있다.
다음으로, 제1기기(100a)는 사용자 단말(200)로부터 제2기기(100b)에 의해 연산된 제2해쉬값을 수신한다(S140). 일례로, 제1기기(100a)는 제1대역외 채널을 통해 사용자 단말(200)로부터 제2해쉬값을 수신할 수 있다.
단계 S120에서 검토한 바와 같이, S140에서도 사용자 단말(200)은 제2해쉬값을 제1매체에 대응되는 데이터로 변환하여 제1기기(100a)로 송신할 수 있고, 이에 따라 서로 다른 매체를 이용하는 대역외 채널을 갖는 제1기기(100a) 및 제2기기(100b)가 제2해쉬값을 안전하게 공유할 수 있다.
이와 같이, 본 발명의 실시예에서는, 제1기기(100a) 및 제2기기(100b)의 대역외 채널의 안전도가 약하기 때문에 제1기기(100a) 및 제2기기(100b)는 제1공개값(DHA) 및 제1랜덤값(RA) 자체를 주고 받거나, 제2공개값(DHB) 및 제2랜덤값(RB) 자체를 주고 받지 않는다. 예컨대, 본 발명의 실시예에서 제1기기(100a)는 제1공개값(DHA) 및 제1랜덤값(RA)을 해쉬 연산한 값을 사용자 단말(200)로 송신하고, 제2기기(100b)는 제2공개값(DHB) 및 제2랜덤값(RB)을 해쉬 연산한 값을 사용자 단말(200)로 송신함으로써, 상기의 데이터들이 제3자에게 유출되지 않도록 한다. 이를 위해 제1기기(100a) 및 제2기기(100b)는 해쉬값을 연산하기 위한 해쉬 함수를 미리 공유하고 있을 수 있다.
한편, 본 발명의 실시예에서는 대역외 채널을 통해 해쉬값을 주고 받는데, 대역외 채널은 대역내 채널에 비해서 짧은 데이터 전송이 가능하다. 따라서, 본 발명의 실시예에서 제1기기(100a)는 제1공개값(DHA) 및 제1랜덤값(RA)을 해쉬 연산하고, 해쉬 연산된 값을 소정 길이로 절단(truncation)하여 제1해쉬값을 연산할 수 있고, 제2기기(100b)는 제2공개값(DHB) 및 제2랜덤값(RB)을 해쉬 연산하고, 해쉬 연산된 값을 소정 길이로 절단하여 제2해쉬값을 연산할 수 있다. 이 때, 소정 길이는 대역외 채널을 통해 전송 가능한 길이로 설정될 수 있으며, 해당 대역외 채널의 보안 특성 등이 반영될 수 있다.
다음으로, 제1기기(100a)는 제2기기(100b)로 제1공개값(DHA)을 송신하고(S150), 제2기기(100b)는 제1기기(100a)로 제2공개값(DHB)을 송신한다(S160). 일례로, 제1기기(100a) 및 제2기기(100b)는 서로 간에 연결된 대역내 채널을 통해 제1공개값(DHA) 및 제2공개값(DHB)을 각각 송신할 수 있다.
다음으로, 제1기기(100a)는 사용자 단말(200)로 제1랜덤값(RA)을 송신하고(S170), 제2기기(100b)는 사용자 단말(200)로부터 제1랜덤값(RA)을 수신한다(S180). 일례로, 제1기기(100a)는 제1대역외 채널을 통해 사용자 단말(200)로 제1랜덤값(RA)을 송신할 수 있고, 제2기기(100b)는 제2대역외 채널을 통해 사용자 단말(200)로부터 제1랜덤값(RA)을 수신할 수 있다.
다음으로, 제2기기(100b)는 사용자 단말(200)로 제2랜덤값(RB)을 송신하고(S190), 제1기기(100a)는 사용자 단말(200)로부터 제2랜덤값(RB)을 수신한다(S200). 일례로, 제2기기(100b)는 제2대역외 채널을 통해 사용자 단말(200)로 제2랜덤값(RB)을 송신할 수 있고, 제1기기(100a)는 제1대역외 채널을 통해 사용자 단말(200)로부터 제2랜덤값(RB)을 수신할 수 있다.
단계 S180 및 S200에서도 사용자 단말(200)은 제1기기(100a) 및 제2기기(100b)로부터 수신한 데이터를 송신 대상이 되는 각 대역외 채널의 매체에 대응되는 데이터로 변환하여 송신할 수 있다.
이 때, 제1랜덤값(RA) 및 제2랜덤값(RB)은 대역외 채널을 통해 송수신되므로, 제1기기(100a) 및 제2기기(100b)는 대역외 채널을 통해 전송 가능한 길이로 제1랜덤값(RA) 및 제2랜덤값(RB)을 생성함이 타당하다. 일례로, 제1랜덤값(RA) 및 제2랜덤값(RB)은 제1해쉬값 및 제2해쉬값과 동일한 소정 길이로 생성될 수 있으나, 이에 한정되는 것은 아니다.
다음으로, 제1기기(100a)는 단계 S160 및 S200을 통해 수신한 제2공개값 및 제2랜덤값을 해쉬 연산하고(S210), 연산된 값이 제2해쉬값과 일치하면 제2공개값(DHB)을 이용하여 비밀키(KAB)를 생성한다(S230).
그리고, 제2기기(100b)는 단계 S150 및 S180을 통해 수신한 제1공개값 및 제1랜덤값을 해쉬 연산하고(S220), 연산된 값이 제1해쉬값과 일치하면 제1공개값(DHA)을 이용하여 비밀키(KAB)를 생성한다(S240).
전술한 바와 같이, 제1해쉬값과 제2해쉬값은 대역외 채널을 통해 공유됨에 따라 해쉬 연산 이후 연산 결과를 소정 길이로 절단하여 획득된 값일 수 있으므로, 제1기기(100a)는 해쉬 연산 값을 소정 길이로 절단하여 제2해쉬값과 비교하고, 제2기기(100b)는 해쉬 연산 값을 소정 길이로 절단하여 제1해쉬값과 비교할 수 있다.
이와 같이, 제1기기(100a)는 단계 S140에서 수신된 제2해쉬값과 S210에서 직접 연산한 해쉬값을 비교함으로써, 수신된 제2공개값(DHB) 및 제2랜덤값(RB)의 무결성을 검증하여 이를 송신한 제2기기(100b)를 검증할 수 있다. 그리고 제1기기(100a)는 검증된 제2공개값(DHA)을 이용하여 안전한 비밀키(KAB)를 생성할 수 있다.
마찬가지로, 제2기기(100b)는 단계 S120에서 수신된 제1해쉬값과 S220에서 직접 연산한 해쉬값을 비교함으로써, 수신된 제1공개값(DHA) 및 제1랜덤값(RA)의 무결성을 검증하여 이를 송신한 제1기기(100a)를 검증할 수 있다. 그리고 제2기기(100b)는 검증된 제1공개값(DHA)을 이용하여 안전한 비밀키(KAB)를 생성할 수 있다.
특히, 본 발명의 실시예에서 제1기기(100a) 및 제2기기(100b)는 대역내 채널을 통해 공유한 각 공개값(DHA, DHB), 및 대역외 채널을 통해 공유한 각 랜덤값(RA, RB)을 해쉬 연산하기 때문에, 대역내 채널과 대역외 채널 중 어느 하나라도 중간자 공격에 노출된 경우 단계 S210 및 S220에서의 비교 결과가 일치하지 않게 된다. 이에 따라, 본 발명의 실시예에서는 대역내 채널 및 대역외 채널이 모두 중간자 공격으로부터 안전한 경우에 비밀키(KAB)를 생성함으로써 보안 성능을 향상시킬 수 있다.
또한, 제1기기(100a) 및 제2기기(100b)는 제1공개값(DHA) 및 제2공개값(DHB)을 동일한 연산자로 연산함으로써, 동일한 비밀키(KAB)를 생성할 수 있다.
도 3을 참조하여 제1기기(100a) 및 제2기기(100b)가 비밀키(KAB)를 생성하는 과정을 구체적으로 살펴보면 다음과 같다.
먼저, 제1기기(100a)는 제1공개값(DHA)을 결정한다(S152). 일례로, 제1공개값(DHA)은 소수(素數)(p), 베이스(g), 및 제1연산값(ya)을 포함할 수 있다.
구체적으로, 제1기기(100a)는 제2기기(100b)와 공유하기 위한 용도의 임의의 소수(p) 및 베이스(g)를 결정하고, 제2기기(100b)와 공유하지 않는 제1개인값(xa)을 결정한다. 그리고, 제1기기(100a)는 미리 설정된 연산자로 소수(p), 베이스(g), 및 제1개인값(xa)을 연산하여 제1연산값(ya)을 획득함으로써, 제1공개값(DHA)을 결정할 수 있다. 이 때, 미리 설정된 연산자는 DH 알고리즘을 구현하기 위한 함수일 수 있고(예컨대, 지수승을 포함한 mod 함수), 이 경우 제1기기(100a)는 아래의 수학식 1에 따라 제1연산값(ya)을 연산할 수 있다. 이하에서는 미리 설정된 연산자를 mod 함수인 경우를 예로 들어 설명하겠으나, 본 발명은 이에 한정되지 않는다.
Figure 112017079508056-pat00001
다음으로, 제1기기(100a)는 소수(p), 베이스(g), 및 제1연산값(ya)을 포함하는 제1공개값(DHA)을 제2기기(100b)로 송신한다(S154).
다음으로, 제2기기(100b)는 제2공개값(DHB)을 결정한다(S162). 일례로, 제2공개값(DHB)은 소수(p), 베이스(g), 및 제2연산값(yb)을 포함할 수 있다.
제2기기(100b)는 제1기기(100a)와 공유하지 않는 제2개인값(xb)을 결정하고, 미리 설정된 연산자로 소수(p), 베이스(g), 및 제2개인값(xb)을 연산하여 제2연산값(yb)을 획득함으로써, 제2공개값(DHB)을 결정할 수 있다. 이 때, 미리 설정된 연산자는 제1기기(100a)가 제1연산값(ya)을 연산하기 위한 연산자와 동일하게 설정된다.
따라서, 미리 설정된 연산자는 DH 알고리즘을 구현하기 위한 지수승을 포함한 mod 함수일 수 있고, 이 경우 제2기기(100b)는 아래의 수학식 2에 따라 제2연산값(yb)을 연산할 수 있다.
Figure 112017079508056-pat00002
다음으로, 제2기기(100b)는 소수(p), 베이스(g), 및 제2연산값(yb)을 포함하는 제2공개값(DHB)을 제1기기(100a)로 송신한다(S164).
이에 따라, 제1기기(100a)는 수신된 소수(p) 및 베이스(g)가, 단계 S154에서 제2기기(100b)로 송신했던 소수(p) 및 베이스(g)와 동일한지 비교하여 제2기기(100b)를 검증할 수 있다. 다만, 본 발명은 이에 한정되지 않으므로, 제2공개값(DHB)은 제2연산값(yb)만을 포함하는 것도 가능하다.
다음으로, 제1기기(100a)는 제1개인값(xa) 및 제2공개값(DHB)을 이용하여 비밀키(KAB)를 생성하고(S230), 제2기기(100b)는 제2개인값(xb) 및 제1공개값(DHA)을 이용하여 비밀키(KAB)를 생성한다(S240).
예컨대, 제1기기(100a)는 소수(p), 제1개인값(xa), 및 제2연산값(yb)을 지수승을 포함한 mod 연산자로 연산하여 비밀키(KAB)를 생성할 수 있다. 이에 따라, 제1기기(100a)는 아래의 수학식 3에 따라 비밀키(KAB)를 생성할 수 있다.
Figure 112017079508056-pat00003
마찬가지로, 제2기기(100b)는 소수(p), 제2개인값(xb), 및 제1연산값(ya)을 지수승을 포함한 mod 연산자로 연산하여 비밀키(KAB)를 생성할 수 있다. 이에 따라, 제2기기(100b)는 아래의 수학식 4에 따라 비밀키(KAB)를 생성할 수 있다.
Figure 112017079508056-pat00004
상기와 같은 과정을 통해 제1기기(100a) 및 제2기기(100b)는 동일한 비밀키(KAB)를 공유하게 된다.
한편, 도 3에서는 DH(Diffie-Hellman) 알고리즘 방식을 통해 처음 연결되는 제1기기(100a) 및 제2기기(100b)가 비밀키(KAB)를 획득하는 예를 들었으며, 이는 공지된 기술이므로 비밀키를 공유하는 과정에 대한 더욱 구체적인 설명은 생략하기로 한다. 다만, 본 발명은 이에 한정되지 않으므로 처음 연결되는 제1기기(100a) 및 제2기기(100b)가 비밀키를 공유할 수 있는 알고리즘은 무엇이든 이용할 수 있다고 할 것이다.
또한, 도 3에서는 제1기기(100a)가 소수(p) 및 베이스(g)를 결정하여 제1공개값(DHA)에 포함시켜 제2기기(100b)로 송신하는 것으로 도시하였으나, 본 발명은 이에 한정되지 않으므로 제2기기(100b)가 소수(p) 및 베이스(g)를 결정하고, 이를 제2공개값(DHB)에 포함시켜 제1기기(100a)로 송신하는 것도 가능하다.
다시, 도 2를 참조하면, S110 및 S120에서 제1기기(100a)는 제1기기(100a)의 제1아이디(IDA)를 더 포함하여 제1해쉬값을 연산할 수 있고, S130 및 S140에서 제2기기(100b)는 제2기기(100b)의 제2아이디(IDB)를 더 포함하여 제2해쉬값을 연산할 수 있다.
이 경우, 제1기기(100a)는 S150에서 제1공개값(DHA)과 함께 제1아이디(IDA)를 제2기기(100b)로 송신하고, 제2기기(100b)는 S160에서 제2공개값(DHB)과 함께 제2아이디(IDB)를 제1기기(100a)로 송신할 수 있다.
그리고, 제1기기(100a)는 상기 제2아이디(IDB)에 비밀키(KAB)를 매칭하여 저장하고, 제2기기(100b)는 상기 제1아이디(IDA)에 비밀키(KAB)를 매칭하여 저장할 수 있다. 이에 따라, 제1기기(100a) 및 제2기기(100b)는 복수개의 기기에 대해 각각 비밀키를 생성하고, 이들을 각 기기의 아이디에 매칭하여 저장함으로써, 복수개의 기기와 각각 암호화된 통신을 수행할 수 있다.
상기의 과정을 통해 제1기기(100a) 및 제2기기(100b)는 암호화된 통신을 수행하기 위한 비밀키(KAB)를 생성하게 되고, 본 발명의 실시예에서는 생성한 비밀키(KAB)가 정당한 기기와의 통신을 통해 생성된 것인지 검증할 수 있다.
이를 위해, 비밀키(KAB) 생성 이후, 제1기기(100a)는 제1공개값(DHA), 제2공개값(DHB), 및 제2랜덤값(RB)을 해쉬 연산한 제3해쉬값을 비밀키(KAB)로 암호화하고, 암호화하여 생성된 제1암호화 메시지를 제2기기(100b)로 송신한다(S250).
다음으로, 제2기기(100b)는 비밀키(KAB)로 제1암호화 메시지를 복호화하여 제3해쉬값을 획득하고, 제3해쉬값 및 제1랜덤값(RA)을 해쉬 연산한 제4해쉬값을 비밀키(KAB)로 암호화하고, 암호화하여 생성된 제2암호화 메시지를 제1기기(100a)로 송신한다(S260).
단계 S250 및 S260에서 제1기기(100a) 및 제2기기(100b)는 대역내 채널을 통해 제1암호화 메시지 및 제2암호화 메시지를 송수신하기 때문에, 대역외 채널을 통해 통신하는 경우 보다 데이터 전송의 제한이 적다. 따라서, 제1기기(100a) 및 제2기기(100b)는 제3해쉬값 및 제4해쉬값에 대해서는 절단 과정을 수행하지 않을 수 있다. 그 결과, 제1해쉬값 및 제2해쉬값은 절단이 수행된 해쉬값이고, 제3해쉬값 및 제4해쉬값은 절단이 수행되지 않아 상대적으로 더 긴 길이를 갖게 된다.
단계 S250 및 S260을 위해 제1기기(100a) 및 제2기기(100b)는 각 해쉬값을 연산하기 위한 해쉬 함수를 미리 공유하고 있을 수 있다. 이 때, 해쉬 함수는 단계 S110 및 S130에서 송신되는 제1해쉬값 및 제2해쉬값을 연산한 함수와 동일할 수 있지만, 이에 한정되는 것은 아니다.
다음으로, 제1기기(100a)는 제2암호화 메시지에 포함된 제4해쉬값에 기초하여 비밀키(KAB)를 검증하고(S270), 제2기기(100b)는 제1암호화 메시지에 포함된 제3해쉬값에 기초하여 비밀키(KAB)를 검증한다(S280).
예컨대, 제1기기(100a)는 단계 S250에서 생성한 제3해쉬값, 및 제1랜덤값(RA)을 직접 해쉬 연산하고, 제2암호화 메시지를 비밀키(KAB)로 복호화하여 획득된 제4해쉬값을 상기 연산된 값과 비교하여 비밀키(KAB)를 검증할 수 있다.
제2기기(100b)는 제1공개값(DHA), 제2공개값(DHB), 및 제2랜덤값(RB)을 직접 해쉬 연산하고, 제1암호화 메시지를 비밀키(KAB)로 복호화하여 획득된 제3해쉬값을 상기 연산된 값과 비교하여 비밀키(KAB)를 검증할 수 있다.
이와 같이, 본 발명의 실시예에 따르면, 사물인터넷 환경에서 동작하는 기기들을 처음 연결할 때 기기 간의 통신을 위한 대역내 채널 외의 부수적인 채널로서 대역외 채널을 이용하여 각 기기를 검증할 수 있는 정보를 송수신하고, 검증된 기기의 정보를 이용하여 비밀키를 생성함으로써, 중간자 공격으로부터 안전한 비밀키를 생성할 수 있다.
또한, 본 발명의 실시예에 따르면, 각 기기가 사용자 단말을 매개체로 대역외 채널을 통해 통신하도록 함으로써, 각 기기는 대역외 채널에서 이용하는 매체가 다른 경우에도 별도의 입출력 인터페이스 추가없이 통신하고, 각 기기가 상대 기기의 대역외 채널의 통신 범위를 벗어난 경우에도 통신할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법의 구현 과정을 개략적으로 나타내는 플로우차트이다.
본 발명의 다른 실시예에 따른 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법은, 생성된 비밀키(KAB)를 검증하는 과정을 제외하고는 도 2에 도시된 비밀키 설정 방법과 동일하다. 따라서, 동일한 단계에 대해서는 동일한 도면 부호를 부여하였으며, 중복되는 내용의 설명은 생략하기로 한다.
제1기기(100a) 및 제2기기(100b)는 단계 S110 내지 S240을 통해 비밀키(KAB)를 각각 생성한다.
다음으로, 제2기기(100b)는 제1공개값(DHA), 제2공개값(DHB), 및 제1랜덤값(RA)을 해쉬 연산한 제3해쉬값을 비밀키(KAB)로 암호화하고, 암호화하여 생성된 제1암호화 메시지를 제1기기(100a)로 송신한다(S252).
다음으로, 제1기기(100a)는 비밀키(KAB)로 제1암호화 메시지를 복호화하여 제3해쉬값을 획득하고, 제3해쉬값 및 제2랜덤값(RB)을 해쉬 연산한 제4해쉬값을 비밀키(KAB)로 암호화하고, 암호화하여 생성된 제2암호화 메시지를 제2기기(100b)로 송신한다(S262).
다음으로, 제1기기(100a)는 제1암호화 메시지에 포함된 제3해쉬값에 기초하여 비밀키(KAB)를 검증하고(S272), 제2기기(100b)는 제2암호화 메시지에 포함된 제4해쉬값에 기초하여 비밀키(KAB)를 검증한다(S282).
예컨대, 제1기기(100a)는 제1공개값(DHA), 제2공개값(DHB), 및 제1랜덤값(RA)을 직접 해쉬 연산하고, 제1암호화 메시지를 비밀키(KAB)로 복호화하여 획득된 제3해쉬값을 상기 연산된 값과 비교하여 비밀키(KAB)를 검증할 수 있다.
마찬가지로, 제2기기(100b)는 단계 S252에서 생성한 제1해쉬값, 및 제2랜덤값(RB)을 직접 해쉬 연산하고, 제2암호화 메시지를 비밀키(KAB)로 복호화하여 획득된 제4해쉬값을 상기 연산된 값과 비교하여 비밀키(KAB)를 검증할 수 있다.
본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 기기 100a: 제1기기
100b: 제2기기 200: 사용자 단말

Claims (11)

  1. 사물인터넷(Internet of Things, IoT) 환경에서 동작하는 제1기기 및 제2기기가 사용자 단말을 통해 상기 제1기기의 제1공개값과 상기 제1기기에 의해 생성된 제1랜덤값을 해쉬 연산한 제1 연산결과를 기초로 획득된 제1해쉬값, 및 상기 제2기기의 제2공개값과 상기 제2기기에 의해 생성된 제2랜덤값을 해쉬 연산한 제2 연산결과를 기초로 획득된 제2해쉬값을 서로 공유하는 단계;
    상기 제1기기 및 상기 제2기기가 상기 제1공개값 및 상기 제2공개값을 서로 공유하는 단계;
    상기 제1기기 및 상기 제2기기가 상기 사용자 단말을 통해 상기 제1랜덤값 및 상기 제2랜덤값을 서로 공유하는 단계; 및
    상기 제1기기가 상기 제2공개값 및 상기 제2랜덤값을 해쉬 연산하여 연산된 값이 상기 제2해쉬값과 일치하면 상기 제2공개값을 이용하여 비밀키를 생성하고, 상기 제2기기가 상기 제1공개값 및 상기 제1랜덤값을 해쉬 연산하여 연산된 값이 상기 제1해쉬값과 일치하면 상기 제1공개값을 이용하여 상기 제1기기에 의해 생성된 비밀키와 동일한 비밀키를 생성하는 단계를 포함하는 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법.
  2. 제1항에 있어서,
    상기 제1기기 및 상기 제2기기는 대역외 채널(Out-of-band)을 통해 상기 사용자 단말과 통신하고, 대역내 채널(In-band)을 통해 서로 통신하는 것을 특징으로 하는 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법.
  3. 제2항에 있어서,
    상기 제1 연산결과는 상기 제1공개값 및 상기 제1랜덤값을 미리 설정된 해쉬 함수로 해쉬연산하여 산출되고, 상기 제1해쉬값은 상기 제1 연산결과를 소정 길이로 절단(truncation)하여 획득되며,
    상기 제2 연산결과는 상기 제2공개값 및 상기 제2랜덤값을 상기 해쉬 함수로 해쉬 연산하여 산출되고, 상기 제2 해쉬값은 상기 제2 연산결과를 소정 길이로 절단하여 획득되는 것을 특징으로 하는 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법.
  4. 제2항에 있어서,
    상기 제1기기 및 상기 제2기기는 상기 대역외 채널을 통해 상기 제1해쉬값, 상기 제2해쉬값, 상기 제1랜덤값 및 상기 제2랜덤값을 공유하고, 상기 대역내 채널을 통해 상기 제1공개값 및 상기 제2공개값을 공유하는 것을 특징으로 하는 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법.
  5. 제2항에 있어서,
    상기 제1기기는 제1매체를 이용하는 제1대역외 채널을 통해 상기 사용자 단말과 통신하고,
    상기 제2기기는 상기 제1매체와 다른 제2매체를 이용하는 제2대역외 채널을 통해 상기 사용자 단말과 통신하는 것을 특징으로 하는 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법.
  6. 제5항에 있어서,
    상기 제1해쉬값 및 상기 제2해쉬값을 서로 공유하는 단계는,
    상기 제1기기가 상기 제1대역외 채널을 통해 상기 제1해쉬값을 상기 사용자 단말로 송신하는 단계;
    상기 제2기기가 상기 사용자 단말에 의해 상기 제1해쉬값이 상기 제2대역외 채널의 제2매체에 대응되는 데이터로 변환된 데이터를 수신하는 단계;
    상기 제2기기가 상기 제2대역외 채널을 통해 상기 제2해쉬값을 상기 사용자 단말로 송신하는 단계; 및
    상기 제1기기가 상기 사용자 단말에 의해 상기 제2해쉬값이 상기 제1대역외 채널의 제1매체에 대응되는 데이터로 변환된 데이터를 수신하는 단계를 포함하는 것을 특징으로 하는 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법.
  7. 제1항에 있어서,
    상기 제1해쉬값 및 상기 제2해쉬값을 서로 공유하는 단계에서, 상기 제1해쉬값은 상기 제1기기의 제1아이디를 더 포함하여 해쉬 연산된 값이고, 상기 제2해쉬값은 상기 제2기기의 제2아이디를 더 포함하여 해쉬 연산된 값이며,
    상기 제1공개값 및 상기 제2공개값을 서로 공유하는 단계에서, 상기 제1기기 및 상기 제2기기는 상기 제1아이디 및 상기 제2아이디를 함께 공유하되,
    상기 제1기기는 상기 제2아이디에 상기 비밀키를 매칭하여 저장하고, 상기 제2기기는 상기 제1아이디에 상기 비밀키를 매칭하여 저장하는 것을 특징으로 하는 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법.
  8. 제1항에 있어서,
    상기 비밀키를 생성한 이후, 상기 제1기기 및 상기 제2기기가 상기 제1랜덤값 및 2랜덤값 중 적어도 하나를 이용하여 상기 비밀키를 검증하는 단계를 더 포함하는 것을 특징으로 하는 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법.
  9. 제8항에 있어서,
    상기 검증하는 단계는,
    상기 제1기기가 상기 제1공개값, 상기 제2공개값 및 상기 제2랜덤값을 해쉬 연산한 제3해쉬값을 상기 비밀키로 암호화하여 생성된 제1암호화 메시지를 상기 제1기기로 송신하는 단계;
    상기 제2기기가 상기 제1암호화 메시지를 복호화하여 획득된 상기 제3해쉬값 및 상기 제1랜덤값을 해쉬 연산한 제4해쉬값을 상기 비밀키로 암호화하여 생성된 제2암호화 메시지를 상기 제2기기로 송신하는 단계; 및
    상기 제1기기가 상기 제3해쉬값 및 상기 제1랜덤값을 해쉬 연산하여 연산된 값을 상기 제4해쉬값과 비교하여 상기 비밀키를 검증하고, 상기 제2기기가 상기 제1공개값, 상기 제2공개값 및 상기 제1랜덤값을 해쉬 연산하여 연산된 값을 상기 제3해쉬값과 비교하여 상기 비밀키를 검증하는 단계를 포함하는 것을 특징으로 하는 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법.
  10. 제1항에 있어서,
    상기 비밀키를 생성하는 단계에서,
    상기 제1기기 및 상기 제2기기는 서로 공유하지 않는 개인값을 이용하는 알고리즘에 기초하여 상기 비밀키를 생성하는 것을 특징으로 하는 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법.
  11. 제10항에 있어서,
    상기 제1공개값은 기 설정된 소수, 기 설정된 베이스, 및 상기 제1기기의 제1개인값이 미리 설정된 연산자를 통해 연산된 제1연산값과, 상기 소수, 및 상기 베이스를 포함하고,
    상기 제2공개값은 상기 소수, 상기 베이스, 및 상기 제2기기의 제2개인값이 상기 연산자를 통해 연산된 제2연산값과, 상기 소수, 및 상기 베이스를 포함하고,
    상기 비밀키를 생성하는 단계에서,
    상기 제1기기는, 상기 제2공개값에 포함된 상기 제2연산값, 상기 소수, 및 상기 제1개인값을 상기 연산자를 통해 연산하여 상기 비밀키를 생성하고,
    상기 제2기기는, 상기 제1공개값에 포함된 상기 제1연산값, 상기 소수, 및 상기 제2개인값을 상기 연산자를 통해 연산하여 상기 비밀키를 생성하는 것을 특징으로 하는 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법.
KR1020170104333A 2017-08-17 2017-08-17 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법 KR101987848B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170104333A KR101987848B1 (ko) 2017-08-17 2017-08-17 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170104333A KR101987848B1 (ko) 2017-08-17 2017-08-17 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법

Publications (2)

Publication Number Publication Date
KR20190019441A KR20190019441A (ko) 2019-02-27
KR101987848B1 true KR101987848B1 (ko) 2019-06-11

Family

ID=65560821

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170104333A KR101987848B1 (ko) 2017-08-17 2017-08-17 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법

Country Status (1)

Country Link
KR (1) KR101987848B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102457809B1 (ko) * 2014-09-24 2022-10-24 삼성전자주식회사 데이터 통신 보안을 위한 방법, 장치 및 시스템
KR101762013B1 (ko) * 2015-09-25 2017-07-26 덕성여자대학교 산학협력단 Two factor 통신 채널을 활용한 사물기기의 등록 및 비밀키 설정 방법
US9929863B2 (en) * 2015-10-30 2018-03-27 Palo Alto Research Center Incorporated System and method for efficient and semantically secure symmetric encryption over channels with limited bandwidth
KR101757563B1 (ko) * 2015-12-24 2017-07-13 중앙대학교 산학협력단 사물인터넷 환경에서의 비밀키 관리 방법 및 장치

Also Published As

Publication number Publication date
KR20190019441A (ko) 2019-02-27

Similar Documents

Publication Publication Date Title
CN107948189B (zh) 非对称密码身份鉴别方法、装置、计算机设备及存储介质
CN112740733B (zh) 一种安全接入方法及装置
KR101095239B1 (ko) 보안 통신
US8644515B2 (en) Display authenticated security association
US7783041B2 (en) System, method and computer program product for authenticating a data agreement between network entities
CN112425136A (zh) 采用多方计算(mpc)的物联网安全性
US10505722B2 (en) Shared secret communication system with use of cloaking elements
CN110402560B (zh) 具有前向安全性的基于身份的认证密钥交换方案中用于计算公有会话密钥的系统和方法
CN110635901B (zh) 用于物联网设备的本地蓝牙动态认证方法和系统
US20170324548A1 (en) Shared secret data production system
KR20210139344A (ko) 데이터 기반 활동을 수행하는 방법 및 장치
CN110808999B (zh) 一种业务交互方法、装置、设备及存储介质
US11044081B2 (en) System and method for obtaining a common session key between devices
Heinrich et al. {PrivateDrop}: Practical {Privacy-Preserving} Authentication for Apple {AirDrop}
US10681038B1 (en) Systems and methods for efficient password based public key authentication
CN105554008A (zh) 用户终端、认证服务器、中间服务器、系统和传送方法
CN105025036A (zh) 一种基于互联网的认知能力测试值加密和传输方法
CN108011856A (zh) 一种传输数据的方法和装置
US20090060188A1 (en) Determining security states using binary output sequences
KR101976583B1 (ko) 서로 다른 안전도와 서로 다른 대역외 채널을 사용하는 사물인터넷 경량 기기 사이의 비밀키 설정 방법
KR101987848B1 (ko) 사물인터넷 환경에서 서로 다른 대역외 채널을 사용하는 기기 사이의 비밀키 설정 방법
CN108075896A (zh) 使用基于标识的密码学构建自认证消息的系统和方法
KR101987843B1 (ko) 사물인터넷 환경에서 기기 사이의 대역외 채널의 안전도를 고려한 비밀키 설정 방법
WO2023055371A1 (en) Replicated secret share generation for distributed symmetric cryptography
WO2023048711A1 (en) Threshold secret share generation for distributed symmetric cryptography

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