KR101902459B1 - 구분불가능성 난독화기반의 비대화형 키 교환 방법 - Google Patents

구분불가능성 난독화기반의 비대화형 키 교환 방법 Download PDF

Info

Publication number
KR101902459B1
KR101902459B1 KR1020160174393A KR20160174393A KR101902459B1 KR 101902459 B1 KR101902459 B1 KR 101902459B1 KR 1020160174393 A KR1020160174393 A KR 1020160174393A KR 20160174393 A KR20160174393 A KR 20160174393A KR 101902459 B1 KR101902459 B1 KR 101902459B1
Authority
KR
South Korea
Prior art keywords
key
terminal
private key
generating
public
Prior art date
Application number
KR1020160174393A
Other languages
English (en)
Other versions
KR20170074195A (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 고려대학교 산학협력단
Publication of KR20170074195A publication Critical patent/KR20170074195A/ko
Application granted granted Critical
Publication of KR101902459B1 publication Critical patent/KR101902459B1/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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)

Abstract

비대화형 키 교환 방법이 개시된다. 상기 비대화형 키 교환 방법은 서버가 제1 의사 난수 생성 함수, 제2 의사 난수 생성 함수 및 난독화 머신을 포함하는 공개 파라미터를 생성하는 단계, 제1 단말기가 제1 초기 개인키와 제1 공개키를 생성하고, 제2 단말기가 제2 초기 개인키와 제2 공개키를 생성하는 단계, 상기 제1 단말기가 상기 제1 단말기의 개인키인 제1 개인키를 업데이트하고, 상기 제2 단말기가 상기 제2 단말기의 개인키인 제2 개인키를 업데이트하는 단계, 및 상기 제1 단말기가 상기 제2 공개키, 상기 제1 개인키 및 시스템 시간을 이용하여 제1 공유키를 생성하고, 상기 제2 단말기가 상기 제1 공개키, 상기 제2 개인키 및 상기 시스템 시간을 이용하여 제2 공유키를 생성하는 단계를 포함한다.

Description

구분불가능성 난독화기반의 비대화형 키 교환 방법{FORWARD SECURE NON-INTERACTIVE KEY EXCHANGE METHOD FROM INDISTINGUISHABILITY OBFUSCATION}
본 발명의 개념에 따른 실시 예는 비대화형 키 교환 방법에 관한 것으로서, 특히 구분불가능성 난독화(Indistinguishability obfuscation)로 설계된 전방향 안전성(Forward Security)을 만족하며 시스템 수명(Life time)의 제약과 개인키 업데이트를 위한 공개 파라미터를 없애 관리 비용을 최소화하여 시스템 효율성을 높일 수 있는 비대화형 키 교환 방법에 관한 것이다.
구분불가능성 난독화(Indistinguishability obfuscation).
난독화는 프로그램의 내부 작동 절차를 파악할 수 없도록 설계하는 것을 목표로 한다. 난독화의 강력한 형태인 ‘블랙박스 난독화 기계(black box obfuscator)’는 수학적으로 설계가 불가능하다는 것이 증명되었다. 이후 순화된 형태로 정의된 것이 구분불가능성 난독화이다. 구분불가능성 난독화를 사용하여 동일한 기능을 수행하는 두 개의 원본 프로그램을 난독화한 경우 두 개의 난독화 프로그램을 구분할 수 없다는 것이 알려져 있다. 최근 학계에서는 구분불가능성 난독화를 사용한 암호프리미티브 개발 연구가 활발히 진행중이다.
비대화형 키 교환 기법(Non-interactive Key Exchange).
비대화형 키 교환 기법은 상대방의 공개키를 안다는 가정 하에 아무런 추가전송 없이 키 교환이 가능하다. 키 교환을 위한 대표 객체나 기관이 없는 상황에서 일반적인 키 교환을 시행하기 위한 시스템 내의 전체 전송량은 사용자수의 제곱에 비례한다. 또한, 시스템 내 보안의 유지 및 보수를 위해 시행되는 공개키 및 개인키 업데이트 시에도 키 교환을 위한 전송량은 시스템 내 전송효율적인 면에 지속적인 영향을 미친다. 그러므로 전송 횟수 및 전송량을 줄이는 것은 시스템 내의 효율성을 올리는데 큰 기여도를 갖는다. 특히 비대화형 키 교환은 사전 전송이 없이 키 교환이 가능하기 때문에 시스템 내의 전체 통신량이 부담되는 환경 또는 전송횟수에 민감한 환경에 적합하게 사용될 수 있는 키 교환 프로토콜이다.
전방향 안전성(Forward secrecy).
키 교환에서 전방향 안전성이란 사용자의 개인키가 노출되어도 이전에 맺었던 세션키의 안전성이 보장됨을 의미한다.
기존의 키 교환 기법(Interactive Key Exchange)에서는 전방향 안전성을 만족하기 위해 사용자들이 키 교환을 시행하기 전에 각각 임시키(Ephemeral private key & Ephemeral public key)를 만들어 임시 공개키(Ephemeral public key)를 교환하고 교환된 임시키 정보를 세션키 생성 과정에 관여시킨다. 그러므로 사용자의 개인키가 노출되어도 공격자가 이전에 맺은 세션키에서 사용된 임시 개인키를 모르면 세션키의 정보를 유추해낼 수 없다.
사전전송이 필요없는 키 교환 기법(Non-Interactive Key Exchange)에서는 전방향 안전성을 만족하기 위해 개인키를 일정기간을 주기로 업데이트하여 업데이트 이후의 개인키가 노출되어도 이전에 맺은 세션키에 대해 당시의 개인키를 알지 못하면 세션키의 정보를 유추해낼 수 없도록 하는 기법이 제안되고 있다.
Pointcheval 등의 연구(Forward Secure Non-Interactive Key Exchange).
Pointcheval 등은 전방향 안전성을 만족하는 비대화형 키 교환 기법을 제안하였다. Pointcheval 등의 연구에서는 전방향 안전성을 만족시키기 위해 사용자의 개인키를 업데이트하는 방식을 사용하는데 multilinear map을 이용하여 기법을 제안 하였다. 이 기법에서는 시스템 수명이 정해져 있는데 시스템 수명을 N이라 할 때 개인키 업데이트를 위한 공개파라미터는
Figure 112016124878876-pat00001
의 사이즈를 갖는다.
D. Pointcheval and O. Sanders, Forward Secure Non-Interactive Key Exchange, 9th International Conference on Security and Cryptography for Networks(SCN `14), LNCS 8642, pages 21-39. (2014)
본 발명이 이루고자 하는 기술적인 과제는 전방향 안전성을 만족하는 비대화형 키 교환 기술의 시스템 수명 제약을 없애고 공개 파라미터를 최소화하여 효율성을 극대화한 비대화형 키 교환 방법을 제공하는 것이다.
본 발명의 실시 예에 따른 비대화형 키 교환 방법은, 서버가 제1 의사 난수 생성 함수, 제2 의사 난수 생성 함수 및 난독화 머신을 포함하는 공개 파라미터를 생성하는 단계, 제1 단말기가 제1 초기 개인키와 제1 공개키를 생성하고, 제2 단말기가 제2 초기 개인키와 제2 공개키를 생성하는 단계, 상기 제1 단말기가 상기 제1 단말기의 개인키인 제1 개인키를 업데이트하고, 상기 제2 단말기가 상기 제2 단말기의 개인키인 제2 개인키를 업데이트하는 단계, 및 상기 제1 단말기가 상기 제2 공개키, 상기 제1 개인키 및 시스템 시간을 이용하여 제1 공유키를 생성하고, 상기 제2 단말기가 상기 제1 공개키, 상기 제2 개인키 및 상기 시스템 시간을 이용하여 제2 공유키를 생성하는 단계를 포함한다.
본 발명의 다른 실시 예에 따른 비대화형 키 교환 방법은, 제1 단말기가 제1 초기 개인키와 제1 공개키를 생성하는 단계, 상기 제1 단말기가 상기 제1 단말기의 개인키인 제1 개인키를 업데이트하는 단계, 및 상기 제1 단말기가 제2 단말기로부터 수신된 제2 단말기의 제2 공개키, 상기 제1 개인키 및 시간 정보를 이용하여 공유키를 생성하는 단계를 포함하고, 상기 제1 공개키는 상기 제1 단말기가 제1 공유키 생성 프로그램을 생성하는 단계 및 상기 제1 단말기가 서버에 의해 공개된 공개 파라미터에 포함된 난독화 머신을 이용하여 상기 제1 공유키 생성 프로그램을 난독화하는 단계를 통하여 생성된 난독화된 제1 공유키 생성 프로그램인 것을 특징으로 한다.
본 발명의 실시 예에 따른 비대화형 키 교환 방법에 의할 경우, 키 교환시 전송량을 최소화하여 전송효율을 높일 수 있으며, 비대화형 키 교환 프로토콜로 상대방의 응답이 필요없이 사전 연산이 가능한 효과가 있다.
또한, 본 발명에 의할 경우, 전방향 안전성을 만족하여 보안 사고 발생시 피해를 최소화할 수 있으며, 시스템 수명 제약이 없고 개인키 업데이트를 위한 공개 파라미터가 없어 관리 비용을 절감할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 사용자 단말에 의해 생성된 공유키 생성 프로그램의 일 예를 도시한다.
도 2는 본 발명의 일 실시 예에 의한 비대화형 키 교환 시스템을 도시한다.
도 3은 도 1에 도시된 제1 단말기의 기능 블럭도이다.
도 4는 도 2에 도시된 비대화형 키 교환 시스템 상에서 수행되는 키 교환 방법을 설명하기 위한 흐름도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
우선, 본 발명의 일 실시 예에 의한 비대화형 키 교환 방법에서 사용되는 알고리즘은 다음과 같다.
1.
Figure 112016124878876-pat00002
알고리즘은 시스템 관리자가 공개 파라미터를 생성하는 알고리즘이다.
2.
Figure 112016124878876-pat00003
알고리즘은 사용자가 시스템 공개 파라미터로부터 자신의 초기 개인키와 공개키(난독화된 프로그램
Figure 112016124878876-pat00004
)를 생성하는 알고리즘이다.
3.
Figure 112016124878876-pat00005
알고리즘은 사용자가 자신의 개인키를 시스템 시간(Time Period)에 따라 업데이트하는 알고리즘이다.
4.
Figure 112016124878876-pat00006
알고리즘은 상대방과의 공유키를 생성하는 알고리즘으로 상대방의 공개키와 자신의 개인키 그리고 당시의 시스템 시간 정보를 통해 공유키를 계산한다. 이 때 자신이 생성한 공유키와 상대방이 생성한 공유키가 동일하여야 한다.
이하에서는, 각 알고리즘(또는 각 단계) 별 구체적인 동작에 대하여 상세히 기술한다.
1. 설정 단계
시스템 관리자는 설정 단계 또는 설정 알고리즘(
Figure 112016124878876-pat00007
)을 수행하여 두 종류의 의사 난수 생성기(Pseudo Random Generator) 또는 의사 난수 생성 함수를 생성한다. 상기 의사 난수 생성 함수는 제1 의사 난수 생성 함수(
Figure 112016124878876-pat00008
)와 제2 의사 난수 생성 함수(
Figure 112016124878876-pat00009
)를 포함할 수 있다. 그리고, 상기 시스템 관리자는 구분불가능성 난독화 머신(
Figure 112016124878876-pat00010
)을 생성한다. 상기 구분불가능성 난독화 머신은 구분불가능성 난독화 프로그램으로 명명될 수도 있다.
상기 시스템 관리자는 상기 제1 의사 난수 생성 함수(
Figure 112016124878876-pat00011
), 상기 제2 의사 난수 생성 함수(
Figure 112016124878876-pat00012
) 및 상기 구분불가능성 난독화 머신(
Figure 112016124878876-pat00013
)을 시스템 파라미터(
Figure 112016124878876-pat00014
)로 설정하고 시스템 파라미터(
Figure 112016124878876-pat00015
)를 사용자들에게 공개할 수 있다. 상기 시스템 파라미터(
Figure 112016124878876-pat00016
)는 공개 파라미터로 명명될 수도 있다.
2. 키 생성 단계
사용자
Figure 112016124878876-pat00017
는 키 생성 단계 또는 키 생성 알고리즘(
Figure 112016124878876-pat00018
)을 수행하여 초기 개인키와 공개키를 생성한다. 알고리즘의 구체적인 과정은 다음과 같다. 사용자
Figure 112016124878876-pat00019
는 초기 개인키
Figure 112016124878876-pat00020
를 생성하고 도 1에 도시된 바와 같은 공유키 생성 프로그램(
Figure 112016124878876-pat00021
)을 생성한다.
사용자
Figure 112016124878876-pat00022
가 생성한 공유키 생성 프로그램(
Figure 112016124878876-pat00023
)은 다른 사용자들의 개인키(
Figure 112016124878876-pat00024
)와 시스템 시간(
Figure 112016124878876-pat00025
)을 입력으로 공유키(
Figure 112016124878876-pat00026
)를 계산한다. 다음으로, 사용자
Figure 112016124878876-pat00027
는 생성한 공유키 프로그램을 구분불가능성 난독화 머신을 사용하여 난독화한다. 난독화된 공유키 생성 프로그램(
Figure 112016124878876-pat00028
)은 사용자
Figure 112016124878876-pat00029
의 공개키로 사용된다.
3. 업데이트 단계
시스템 시간이 바뀔 때마다(
Figure 112016124878876-pat00030
) 모든 사용자들은 자신의 개인키를 업데이트 단계 또는 업데이트 알고리즘(
Figure 112016124878876-pat00031
)을 수행하여 업데이트한다. 개인키 업데이트 알고리즘은 다음과 같다. 이전 시간의 개인키를 입력으로 의사 난수 생성 함수를 연산한 결과를 다음 시간의 개인키로 사용한다. 즉,
Figure 112016124878876-pat00032
. 이때 사용되는 의사 난수 생성 함수는 시스템 파라미터(
Figure 112016124878876-pat00033
)에 포함된 제1 의사 난수 생성 함수이거나 제2 의사 난수 생성 함수일 수 있으나, 키를 교환하는 양 당사가가 동일한 난수 생성 함수를 사용하여야 한다.
4. 공유키 생성 단계
사용자
Figure 112016124878876-pat00034
는 사용자
Figure 112016124878876-pat00035
의 공개키(난독화된 프로그램
Figure 112016124878876-pat00036
)에 자신의 개인키
Figure 112016124878876-pat00037
와 시간 정보
Figure 112016124878876-pat00038
를 입력으로 계산하여 결과값
Figure 112016124878876-pat00039
을 시간
Figure 112016124878876-pat00040
에서의 공유키로 사용한다.
정확성(Correctness)
다음은 사용자
Figure 112016124878876-pat00041
가 사용자
Figure 112016124878876-pat00042
의 공개키와 자신의 개인키 그리고 시간 정보
Figure 112016124878876-pat00043
를 입력으로 계산한 공유키 값이다.
Figure 112016124878876-pat00044
다음은 사용자
Figure 112016124878876-pat00045
가 사용자
Figure 112016124878876-pat00046
의 공개키와 자신의 개인키 그리고 시간 정보
Figure 112016124878876-pat00047
를 입력으로 계산한 공유키 값이다.
Figure 112016124878876-pat00048
결국, 두 사용자는 동일한 공유키를 생성할 수 있다.
도 2는 본 발명의 일 실시 예에 의한 키 교환 시스템을 도시한다.
도 2를 참조하면, 키 교환 시스템(10)은 서버(100), 제1 단말기(300) 및 제2 단말기(500)를 포함한다. 도 2에는 두 개의 단말기만이 도시되어 있으나, 키 교환 시스템은 2 이상의 단말기들을 포함할 수도 있다.
설정 서버 등으로 명명될 수도 있는 서버(100)는 설정 단계 또는 설정 알고리즘을 수행하여, 시스템 파라미터(또는 공개 파라미터,
Figure 112016124878876-pat00049
)를 생성하고 생성된 시스템 파라미터(
Figure 112016124878876-pat00050
)를 공개할 수 있다. 실시 예에 따라 시스템 파라미터(
Figure 112016124878876-pat00051
)는 서버(100)에 의해 제1 단말기(300)와 제2 단말기(500)로 송신될 수도 있다.
제1 단말기(300)와 제2 단말기(500) 각각은 키 생성 알고리즘을 이용하여 초기 개인키와 공개키를 생성하고, 업데이트 알고리즘을 이용하여 개인키를 업데이트하며, 공유키 생성 알고리즘을 이용하여 공유키를 생성할 수 있다.
제1 단말기(300)와 제2 단말기(500)는 PC(personal computer), 태블릿 PC, 노트북(notebook), 넷-북(net-book), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 또는 MP4 플레이어와 같은 데이터 처리 장치로 구현되거나, 모바일폰(mobile phone) 또는 스마트폰(smart phone)과 같은 핸드헬드 장치(handheld device)로 구현될 수 있다.
도 3은 도 1에 도시된 제1 단말기의 기능 블럭도이다.
도 1 내지 도 3을 참조하면, 제1 단말기(300)는 키 생성부(310), 공유키 생성부(330) 및 업데이트부(350)를 포함한다.
키 생성부(310)는 키 생성 단계 또는 키 생성 알고리즘을 수행하여 제1 단말기(300)의 초기 개인키(
Figure 112016124878876-pat00052
)와 공개키를 생성한다. 상기 공개키는 난독화된 프로그램으로써 소정의 입력에 대응하는 공유키를 출력할 수 있다. 즉, 상기 공개키는 도 1에 의해 정의되는 공유키 생성 프로그램을 시스템 파라미터(
Figure 112016124878876-pat00053
)에 포함된 난독화 머신(
Figure 112016124878876-pat00054
)을 이용한 난독화 동작의 결과이다. 생성된 공개키는 키 생성부(310)에 의해 제2 단말기(500)로 송신될 수 있다.
공유키 생성부(330)는 공유키 생성 단계 또는 공유키 생성 알고리즘을 이용하여 공유키를 생성할 수 있다. 즉, 공유키 생성부(330)는 제2 단말기(500)로부터 수신된 제2 단말기의 공개키에 제1 단말기(300)의 개인키와 시스템 시간 정보를 입력으로 하여 공유키를 생성할 수 있다.
업데이트부(350)는 업데이트 단계 또는 업데이트 알고리즘을 이용하여 제1 단말기(300)의 개인키를 시스템 시간에 따라 업데이트할 수 있다.
도 3에 도시된 제1 단말기(300)의 구성들 각각은 기능 및 논리적으로 분리될 수 있음으로 나타내는 것이며, 반드시 각각의 구성이 별도의 물리적 장치로 구분되거나 별도의 코드로 작성됨을 의미하는 것이 아님을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
또한, 본 명세서에서 "~부"라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것이 아니다.
또한, 2 단말기(500)의 기능 및 구조는 제1 단말기(300)의 기능 및 구조와 동일한 바, 이에 대한 구체적인 설명은 생략하기로 한다.
도 4는 도 1에 도시된 키 교환 시스템 상에서 수행되는 키 교환 방법을 설명하기 위한 흐름도이다.
서버(100)는 설정 알고리즘을 이용하여 시스템 파라미터(
Figure 112016124878876-pat00055
)를 생성하고(S100), 생성된 시스템 파라미터(
Figure 112016124878876-pat00056
)를 공개하거나 제1 단말기(300) 또는 제2 단말기(500)로 송신할 수 있다(S120).
제1 단말기(300)와 제2 단말기(500) 각각은 초기 개인키를 생성할 수 있다(S200, S300). 또한, 제1 단말기(300)와 제2 단말기(500) 각각은 시스템 파라미터(
Figure 112016124878876-pat00057
)를 이용하여 공개키를 생성하고(S220, S320), 생성된 공개키를 교환할 수 있다(S240, S340). 즉 제1 단말기(300)는 제1 단말기의 공개키를 공개하거나 제2 단말기(500)로 송신하고, 제2 단말기(500)는 제2 단말기의 공개키를 공개하거나 제1 단말기(300)로 송신할 수 있다.
다음으로, 제1 단말기(300)와 제2 단말기(500) 각각은 공유키 생성 알고리즘을 수행하여 각각의 공유키를 생성할 수 있다(S260, S360). 이때, 제1 단말기(300)에 의해 생성된 공유키와 제2 단말기(500)에 의해 생성된 공유키는 동일하다.
또한, 제1 단말기(300)와 제2 단말기(500) 각각은 업데이트 알고리즘을 이용하여 개인키를 주기적으로 업데이트할 수 있다. 실시 예에 따라, 개인키를 업데이트하는 동작은 공유키를 생성하는 동작에 선행하여 수행될 수도 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100 : 서버
300 : 제1 단말기
310 : 키 생성부
330 : 공유키 생성부
350 : 업데이트부
500 : 제2 단말기

Claims (6)

  1. 서버가 제1 의사 난수 생성 함수, 제2 의사 난수 생성 함수 및 난독화 머신을 포함하는 공개 파라미터를 생성하는 단계;
    제1 단말기가 제1 초기 개인키와 제1 공개키를 생성하고, 제2 단말기가 제2 초기 개인키와 제2 공개키를 생성하는 단계;
    상기 제1 단말기가 상기 제1 단말기의 개인키인 제1 개인키를 업데이트하고, 상기 제2 단말기가 상기 제2 단말기의 개인키인 제2 개인키를 업데이트하는 단계; 및
    상기 제1 단말기가 상기 제2 공개키, 상기 제1 개인키 및 시스템 시간을 이용하여 제1 공유키를 생성하고, 상기 제2 단말기가 상기 제1 공개키, 상기 제2 개인키 및 상기 시스템 시간을 이용하여 제2 공유키를 생성하는 단계를 포함하는,
    비대화형 키 교환 방법.
  2. 제1항에 있어서,
    상기 제1 공개키는,
    상기 제1 단말기가 제1 공유키 생성 프로그램을 생성하는 단계; 및
    상기 제1 단말기가 상기 난독화 머신을 이용하여 상기 제1 공유키 생성 프로그램을 난독화하는 단계를 통하여 생성된 난독화된 제1 공유키 생성 프로그램이고,
    상기 제2 공개키는,
    상기 제2 단말기가 제2 공유키 생성 프로그램을 생성하는 단계; 및
    상기 제2 단말기가 상기 난독화 머신을 이용하여 상기 제2 공유키 생성 프로그램을 난독화하는 단계를 통하여 생성된 난독화된 제2 공유키 생성 프로그램인,
    비대화형 키 교환 방법.
  3. 제1항에 있어서,
    상기 제1 단말기는 상기 제1 의사 난수 생성 함수 또는 상기 제2 의사 난수 생성 함수를 이용하여 상기 제1 개인키를 업데이트하고,
    상기 제2 단말기는 상기 제1 의사 난수 생성 함수 또는 상기 제2 의사 난수 생성 함수를 이용하여 상기 제2 개인키를 업데이트하는,
    비대화형 키 교환 방법.
  4. 제1 단말기가 제1 초기 개인키와 제1 공개키를 생성하는 단계;
    상기 제1 단말기가 상기 제1 단말기의 개인키인 제1 개인키를 업데이트하는 단계; 및
    상기 제1 단말기가 제2 단말기로부터 수신된 제2 단말기의 제2 공개키, 상기 제1 개인키 및 시간 정보를 이용하여 공유키를 생성하는 단계를 포함하고,
    상기 제1 공개키는,
    상기 제1 단말기가 제1 공유키 생성 프로그램을 생성하는 단계; 및
    상기 제1 단말기가 서버에 의해 공개된 공개 파라미터에 포함된 난독화 머신을 이용하여 상기 제1 공유키 생성 프로그램을 난독화하는 단계를 통하여 생성된 난독화된 제1 공유키 생성 프로그램인,
    비대화형 키 교환 방법.
  5. 제4항에 있어서,
    상기 공개 파라미터는 제1 의사 난수 생성 함수, 제2 의사 난수 생성 함수 및 상기 난독화 머신을 포함하고,
    상기 제1 단말기는 제1 개인키를 입력으로 하는 상기 제1 의사 난수 생성 함수 또는 상기 제2 의사 난수 생성 함수를 계산하여 상기 제1 개인키를 업데이트하는,
    비대화형 키 교환 방법.
  6. 제4항에 있어서,
    상기 제2 공개키는,
    상기 제2 단말기가 제2 공유키 생성 프로그램을 생성하는 단계; 및
    상기 제2 단말기가 상기 난독화 머신을 이용하여 상기 제1 공유키 생성 프로그램을 난독화하는 단계를 통하여 생성된 난독화된 제1 공유키 생성 프로그램인,
    비대화형 키 교환 방법.
KR1020160174393A 2015-12-21 2016-12-20 구분불가능성 난독화기반의 비대화형 키 교환 방법 KR101902459B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20150182885 2015-12-21
KR1020150182885 2015-12-21

Publications (2)

Publication Number Publication Date
KR20170074195A KR20170074195A (ko) 2017-06-29
KR101902459B1 true KR101902459B1 (ko) 2018-09-28

Family

ID=59280367

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160174393A KR101902459B1 (ko) 2015-12-21 2016-12-20 구분불가능성 난독화기반의 비대화형 키 교환 방법

Country Status (1)

Country Link
KR (1) KR101902459B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015521001A (ja) 2012-05-21 2015-07-23 コーニンクレッカ フィリップス エヌ ヴェ 鍵共有デバイス、及び鍵共有デバイスを構成するためのシステム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101493214B1 (ko) * 2012-10-31 2015-02-24 삼성에스디에스 주식회사 패스워드 기반 인증 방법 및 이를 수행하기 위한 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015521001A (ja) 2012-05-21 2015-07-23 コーニンクレッカ フィリップス エヌ ヴェ 鍵共有デバイス、及び鍵共有デバイスを構成するためのシステム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A. Sahai 외 1명, How to use indistinguishability obfuscation: Deniable encryption, and more, STOC'14, pp.475-484 (2014)
Pointcheval, David 외 1명, Forward Secure Non-Interactive Key Exchange, SCN'14, LNCS 8642 (2014.)

Also Published As

Publication number Publication date
KR20170074195A (ko) 2017-06-29

Similar Documents

Publication Publication Date Title
Aman et al. Mutual authentication in IoT systems using physical unclonable functions
CN105553951B (zh) 数据传输方法和装置
CN101243643B (zh) 在未知通信方之间建立信任关系
CN104980920B (zh) 智能终端建立通信连接的方法及装置
Karati et al. Provably secure and lightweight identity-based authenticated data sharing protocol for cyber-physical cloud environment
CN1933394A (zh) 用于出口到其他国家产品的加密应用的不可检测地阻碍密钥强度的方法
CN104463040A (zh) 一种密码安全输入方法及系统
CN109309566B (zh) 一种认证方法、装置、系统、设备及存储介质
CN106897631A (zh) 数据处理方法、装置及系统
CN102449632A (zh) 使用可重置防篡改硬件令牌进行有效安全函数估计的方法
CN105306212B (zh) 一种身份隐藏且强安全的签密方法
Hayati et al. A novel secure root key updating scheme for LoRaWANs based on CTR_AES DRBG 128
Salim et al. A secure and timestamp-based communication scheme for cloud environment
CN112261015B (zh) 基于区块链的信息共享方法、平台、系统以及电子设备
Huang et al. Constructing a Secure Point-to-Point Wireless Environment by Integrating Diffie-Hellman PKDS RSA and Stream Ciphering for Users Known to Each Other.
CN1661954B (zh) 产生密码同步的方法
KR101902459B1 (ko) 구분불가능성 난독화기반의 비대화형 키 교환 방법
CN110419195A (zh) 在iot轻量级终端环境中基于代理重加密的数据管理方法及系统
KR20170061759A (ko) 안전한 메신저 서비스를 제공하는 단말 및 방법
Hein et al. An autonomous attestation token to secure mobile agents in disaster response
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
CN110474967B (zh) 块链实验系统及方法
Grillo et al. Transaction oriented text messaging with Trusted-SMS
Wang et al. Adaptive RSA encryption algorithm for smart grid
CN106899611B (zh) 一种用于称重设备的远程安全通信方法及系统

Legal Events

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