KR20220127587A - 기계 학습 기반 키 생성 장치 및 방법 - Google Patents

기계 학습 기반 키 생성 장치 및 방법 Download PDF

Info

Publication number
KR20220127587A
KR20220127587A KR1020210032053A KR20210032053A KR20220127587A KR 20220127587 A KR20220127587 A KR 20220127587A KR 1020210032053 A KR1020210032053 A KR 1020210032053A KR 20210032053 A KR20210032053 A KR 20210032053A KR 20220127587 A KR20220127587 A KR 20220127587A
Authority
KR
South Korea
Prior art keywords
value
key
generating device
commit
key generating
Prior art date
Application number
KR1020210032053A
Other languages
English (en)
Other versions
KR102648499B1 (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 KR1020210032053A priority Critical patent/KR102648499B1/ko
Priority to US17/518,905 priority patent/US20220294620A1/en
Publication of KR20220127587A publication Critical patent/KR20220127587A/ko
Application granted granted Critical
Publication of KR102648499B1 publication Critical patent/KR102648499B1/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/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/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
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Molecular Biology (AREA)
  • Power Engineering (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Numerical Control (AREA)

Abstract

기계학습 기반 키 생성 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 기계학습 기반 키 생성 방법은 기계학습 기반 키 생성 장치들의 기계학습 기반 키 생성 방법에 있어서, 제1 키 생성 장치가, 제1 커밋 값을 생성하고, 제2 키 생성 장치가, 제2 커밋 값을 생성하고, 상기 제1 커밋 값과 상기 제2 커밋 값을 외부 저장소에 업로드하는 단계; 상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 기정의된 신경망 학습 알고리즘을 이용하여 상호 간의 가중치 값을 일치시키기 위해 신경망 학습을 수행하는 단계; 상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 상호 간에 상기 제1 커밋 값와 상기 제2 커밋 값을 공유하고, 상기 외부 저장소에 업로드된 제1 커밋 값과 제2 커밋 값을 비교하여 커밋 값의 검증을 수행하는 단계 및 상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 상기 커밋 값의 검증이 성공인 경우, 상기 일치시킨 가중치 값을 이용하여 해시 값을 생성하고, 상호 간에 생성된 해시 값의 동일 여부를 검증하고, 상기 해시 값을 검증한 결과에 기반하여 세션 비밀 키를 생성하는 단계를 포함한다.

Description

기계 학습 기반 키 생성 장치 및 방법 {APPARATUS AND METHOD FOR GENERATING KEY BASED ON MACHINE LEARNING}
본 발명은 신경망 암호 기술에 관한 것으로, 보다 상세하게는 인공지능 기계 학습에 기반한 키 생성, 키 교환 및 사용자 인증 기술에 관한 것이다.
공개된 통신 환경을 통해 두 사용자 또는 서버와 사용자 사이에 신뢰할 수 있는 비밀키를 공유하는 것은 정보보호 서비스의 안전성을 결정하는 매우 중요한 기술이다.
현재, 사용자 사이의 비밀키를 공유하기 위한 기술로 공개키 암호 원리에 기반한 키교환 기술을 주로 활용하고 있으나, 대수학적인 난제에 안전성을 기반하고 있는 현재의 공개키 암호 기술은 양자컴퓨터 등과 같은 미래의 컴퓨팅 기술 발전에 의해 안전성 기반 문제가 해결되어 안전성이 심하게 훼손될 수 있다는 우려를 지니고 있다.
신경망 암호 기술은 기존의 특정 안전성 기반 문제를 이용하여 암호 알고리즘을 설계하는 대신, 인간의 지능을 모사하는 신경망 학습 모델을 이용해 키교환을 포함한 암호 알고리즘 설계를 연구하는 분야로 특정 안전성 기반 문제의 안전성에 전적으로 의존하는 기존 암호 알고리즘의 태생적 한계를 극복하기 위한 새로운 시도로 여겨지고 있다.
특히, 신경망 암호 기술 중에서 임의의 값으로 초기화된 두 신경망이 공개된 통신 환경을 통해 공유되는 작은 정보에 기반한 학습을 통해 동기화되는 과정을 이용하여 두 사용자 사이에 키를 교환하는 신경망 동기화 기반 키교환 기술은 현재 많은 연구가 진행되어 현실적인 환경에서 사용가능한 수준의 효율성을 보여주고 있다.
키교환 기술에서 키교환 과정의 효율성과 함께 가장 중요한 요구조건으로 고려되는 것이 사용자가 키를 공유한 상대방을 확인할 수 있는 방법을 제공하는 것으로 사용자가 키교환 과정에서 상대방을 정확하게 확인할 수 있는 기술을 인증된 키교환이라고 부른다.
인증되지 않은 키교환 기술의 경우 중간자(man-in-the-middle) 공격에 의해 통신환경을 제어하고 있는 공격자가 두 명의 사용자와 각각의 키를 교환하고 중간에서 사용자의 모든 통신 내역을 전달하는 역할을 수행하여, 키교환 기술의 안전성과 별개로 사용자의 모든 통신 내용을 획득할 수 있게 된다.
한편, 한국공개특허 제 10-2015-0142623 호“안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기 위한 장치 및 시스템”는 장치들에 공통인 공유된 비밀 키(K)를 저장하고 있는 적어도 두개의 장치(D1,D2) 사이에서 메시지(M)를 안전하게 교환하는 방법 에 관하여 개시하고 있다.
본 발명은 사용자 간 키 교환에 있어서, 중간자(man-in-the-middle) 공격에 대한 취약성을 극복하고 안전한 비밀 통신을 위한 키 교환 기술과 사용자 인증을 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 기계학습 기반 키 생성 방법은 기계학습 기반 키 생성 장치들의 기계학습 기반 키 생성 방법에 있어서, 제1 키 생성 장치가, 제1 커밋 값을 생성하고, 제2 키 생성 장치가, 제2 커밋 값을 생성하고, 상기 제1 커밋 값과 상기 제2 커밋 값을 외부 저장소에 업로드하는 단계; 상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 기정의된 신경망 학습 알고리즘을 이용하여 상호 간의 가중치 값을 일치시키기 위해 신경망 학습을 수행하는 단계; 상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 상호 간에 상기 제1 커밋 값와 상기 제2 커밋 값을 공유하고, 상기 외부 저장소에 업로드된 제1 커밋 값과 제2 커밋 값을 비교하여 커밋 값의 검증을 수행하는 단계 및 상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 상기 커밋 값의 검증이 성공인 경우, 상기 일치시킨 가중치 값을 이용하여 해시 값을 생성하고, 상호 간에 생성된 해시 값의 동일 여부를 검증하고, 상기 해시 값을 검증한 결과에 기반하여 세션 비밀 키를 생성하는 단계를 포함한다.
이 때, 상기 검증을 수행하는 단계는 상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 각각 메시지 인증 코드를 이용하여 상기 신경망 학습 과정에서 출력된 패러티 비트와 상기 커밋 값 생성에 사용된 비밀 값으로부터 MAC 값을 생성할 수 있다.
이 때, 상기 검증을 수행하는 단계는 상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 각각 상호 간에 생성된 상기 MAC 값을 공유하고, 공유 받은 상기 MAC 값과, 자신이 생성한 검증용 MAC 값과 비교하여 상기 MAC 값을 검증할 수 있다.
이 때, 상기 세션 비밀 키를 생성하는 단계는 기정의된 일방향 함수를 이용하여 상기 가중치 값으로부터 시드 값을 생성할 수 있다.
이 때, 상기 세션 비밀 키를 생성하는 단계는 기정의된 해시 함수를 이용하여 상기 시드 값과 사전에 공유된 키 생성 정보로부터 해시 값을 생성할 수 있다.
이 때, 상기 세션 비밀 키를 생성하는 단계는 상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 각각 상호간에 생성된 해시 값을 공유하고, 공유 받은 해시 값과 자신이 생성한 해시 값을 비교하여 해시 값의 일치 여부를 검증할 수 있다.
이 때, 상기 세션 비밀 키를 생성하는 단계는 상기 해시 값이 일치 하면, 해시 값의 검증이 성공인 것으로 판단하고, 기정의된 키 생성 함수를 이용하여 상기 해시 값과 상기 키 생성 정보로부터 상기 세션 비밀 키를 생성할 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 기계학습 기반 키 생성 장치는 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고, 상기 적어도 하나 이상의 프로그램은 커밋 값을 생성하고, 상기 커밋 값을 외부 저장소에 업로드하고, 기정의된 신경망 학습 알고리즘을 이용하여 사용자 인증을 수행하기 위한 타 키 생성 장치와 상호 간의 가중치 값을 일치시키기 위해 신경망 학습을 수행하고, 상기 타 키 생성 장치와 상호 간에 커밋 값을 공유하고, 상기 외부 저장소에 업로드된 커밋 값과 공유 받은 커밋 값을 비교하여 커밋 값의 검증을 수행하고, 상기 커밋 값의 검증이 성공인 경우, 상기 일치시킨 가중치 값을 이용하여 해시 값을 생성하고, 상호 간에 생성된 해시 값의 동일 여부를 검증하고, 상기 해시 값을 검증한 결과에 기반하여 세션 비밀 키를 생성한다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 각각 메시지 인증 코드를 이용하여 상기 신경망 학습 과정에서 출력된 패러티 비트와 상기 커밋 값 생성에 사용된 비밀 값으로부터 MAC 값을 생성할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 각각 상호 간에 생성된 상기 MAC 값을 공유하고, 공유 받은 상기 MAC 값과, 자신이 생성한 검증용 MAC 값과 비교하여 상기 MAC 값을 검증할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 기정의된 일방향 함수를 이용하여 상기 가중치 값으로부터 시드 값을 생성할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 기정의된 해시 함수를 이용하여 상기 시드 값과 사전에 공유된 키 생성 정보로부터 해시 값을 생성할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 각각 상호간에 생성된 해시 값을 공유하고, 공유 받은 해시 값과 자신이 생성한 해시 값을 비교하여 해시 값의 일치 여부를 검증할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 해시 값이 일치 하면, 해시 값의 검증이 성공인 것으로 판단하고, 기정의된 키 생성 함수를 이용하여 상기 해시 값과 상기 키 생성 정보로부터 상기 세션 비밀 키를 생성할 수 있다.
본 발명은 사용자 간 키 교환에 있어서, 중간자(man-in-the-middle) 공격에 대한 취약성을 극복하고 안전한 비밀 통신을 위한 키 교환 기술과 사용자 인증을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 기계학습 기반 키 생성 시스템을 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 기계학습 기반 키 생성 방법을 나타낸 동작흐름도이다.
도 3은 본 발명의 일실시예에 따른 기계학습 기반 키 생성 방법을 나타낸 시퀀스 다이어그램이다.
도 4는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 기계학습 기반 키 생성 시스템을 나타낸 블록도이다. 도 2는 본 발명의 일실시예에 따른 기계학습 기반 키 생성 방법을 나타낸 동작흐름도이다.
도 1은 본 발명의 일실시예에 따른 기계학습 기반 키 생성 시스템은 공개 저장소(10), 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)를 포함한다.
제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)는 암호화 기술 분야에서 지칭되는 ALICE와 BOB 으로 표현 될 수 있다.
도 2를 참조하면, 본 발명의 일실시예에 따른 기계학습 기반 키 생성 방법은 먼저 커밋 값을 생성할 수 있다(S210).
즉, 단계(S210)는 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)가 키 생성 및 키 교환을 위한 복수개의 커밋(commit) 값들을 생성하고, 외부 저장소(스토리지)인 공개 저장소(10)에 커밋 값들을 업로드할 수 있다.
이 때, 단계(S210)는 공개 저장소(10)가, 업로드된 커밋 값을 공개하고, 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)와 업로드된 커밋 값을 공유할 수 있다.
이 때, 단계(S210)는 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)가 사전에 생성된 비밀값과 난수를 이용하여 커밋 값을 생성할 수 있다.
이 때, 단계(S210)는 제1 키 생성 장치(100)가 제1 비밀 값 skA 와 제1 난수 rA를 이용하여 제1 커밋 값 cA = commit( skA , rA )을 생성할 수 있다.
이 때, 단계(S210)는 제 2 키 생성 장치(200)가 제2 비밀 값 skB 와 제2 난수 rB를 이용하여 제2 커밋 값 cB = commit( skB , rB )을 생성할 수 있다.
이 때, 단계(S210)는 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)가 commit 알고리즘으로 keyed hash 함수를 이용하여 커밋 값을 생성할 수 있다.
이 때, 비밀 값과 난수는 추후 검증을 위해 공개될 수 있다.
또한, 본 발명의 일실시예에 따른 기계학습 기반 키 생성 방법은 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)가, 기정의된 신경망 학습 알고리즘을 이용하여 상호 간의 가중치 값(weight)을 일치시키기 위해 신경망 학습을 수행할 수 있다(S220).
이 때, 제1 키 생성 장치(100)의 제1 가중치 값은 weightA로 나타낼 수 있고, 제2 키 생성 장치(200)의 제2 가중치 값은 weightB로 나타낼 수 있다.
이 때, 단계(S220)는 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)가 기정의된 신경망 학습 알고리즘을 이용하여 제1 가중치 값과 제2 가중치 값을 서로 일치 시킬 수 있다.
이 때, 신경망 학습 알고리즘은 종래 다양한 신경망 알고리즘이 사용될 수 있다.
또한, 본 발명의 일실시예에 따른 기계학습 기반 키 생성 방법은 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)가 상호 인증을 위해 상호 간에 상기 제1 커밋 값와 상기 제2 커밋 값을 공유하고, 공개 저장소(10)에 업로드된 제1 커밋 값과 제2 커밋 값을 비교하여 커밋 값의 검증을 수행할 수 있다(S230).
이 때, 단계(S230)는 제1 키 생성 장치(100) 및 제2 키 생성 장치(200)가 메시지 인증 코드(message authentication code, MAC)를 이용하여 신경망 학습을 과정에서 생성된 출력 값(패러티 비트)의 집합과 커밋 값 생성에 사용된 비밀 값으로부터 MAC 값을 생성할 수 있다.
이 때, 단계(S230)는 제1 키 생성 장치(100)가 신경망 학습을 과정에서 생성된 출력 값 (제1 패러티 비트)의 집합 pA 과 제1 커밋 값 생성에 사용된 제1 비밀 값 skA 을 이용하여, 제1 MAC 값 mA = mac( skA , pA )을 생성할 수 있다.
이 때, 단계(S230)는 제2 키 생성 장치(200)가 신경망 학습을 과정에서 생성된 출력 값(제2 패러티 비트)의 집합 pB 과 제2 커밋 값 생성에 사용된 제2 비밀 값 skB 을 이용하여, 제2 MAC 값 mB = mac( skB , pB )을 생성할 수 있다.
이 때, 단계(S230)는 제1 키 생성 장치(100)가 제1 MAC 값을 제 2 키 생성 장치(200)에게 전송하고, 이 때, 제2 키 생성 장치(100)는 제2 MAC 값을 제 1 키 생성 장치(100)에게 전송할 수 있다.
이 때, 단계(S230)는 제1 키 생성 장치(100)가 제1 커밋 값, 제1 비밀 값 및 제1 난수를 제2 키 생성 장치(200)에게 전송할 수 있다.
이 때, 단계(S230)는 제2 키 생성 장치(200)가 수신한 제1 커밋 값이 공개 저장소(10)에 업로드된 제1 커밋 값과 일치하는지 확인하고, 수신한 제1 비밀 값 skA 을 이용하여 제1 검증용 MAC 값 mAB = mac( skA , pB )을 생성할 수 있다.
이 때, 단계(S230)는 제2 키 생성 장치(200)가 수신한 제1 MAC 값과 제1 검증용 MAC 값을 비교하여 일치하면 검증이 성공인 것으로 판단하고, 제1 키 생성 장치(100)에게 제2 커밋 값, 제2 비밀 값 및 제2 난수를 제1 키 생성 장치(100)에게 전송할 수 있다.
이 때, 단계(S230)는 제1 키 생성 장치(100)가 수신한 제2 커밋 값이 공개 저장소(10)에 업로드된 제2 커밋 값과 일치하는지 확인하고, 수신한 제2 비밀 값 skB 을 이용하여 제2 검증용 MAC 값 mBA = mac( skB , pA )을 생성할 수 있다.
이 때, 단계(S230)는 제1 키 생성 장치(200)가 수신한 제2 MAC 값과 제2 검증용 MAC 값을 비교하여 일치하면 커밋 값의 검증이 성공인 것으로 판단할 수 있다.
또한, 본 발명의 일실시예에 따른 기계학습 기반 키 생성 방법은 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)가 상기 일치시킨 가중치 값을 이용하여 각각 제1 해시 값과 제2 해시 값를 생성하고, 상호 간에 상기 제1 해시 값과 상기 제2 해시 값의 동일 여부를 검증한 결과에 기반하여 세션 비밀 키를 생성할 수 있다(S240).
이 때, 단계(S240)는 제1 키 생성 장치(100)가 기정의된 일방향 함수(one way function)를 이용하여 제1 가중치 값 weightA 으로부터 제1 시드 값 seedA=OWF(weightA)을 생성할 수 있다.
이 때, 일방향 함수(one way function)은 종래의 다양한 hash 함수 중 하나가 사용될 수 있다.
이 때, 단계(S240)는 제1 키 생성 장치(100)가 기정의된 해시(hash) 함수를 이용하여 제1 시드값 seedA 으로부터 제1 해시 값 ckA = H(seedA||infoA)을 생성하고, 제2 키 생성 장치(200)에게 제1 해시 값 ckA를 전송할 수 있다.
제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)는 신경망 학습 과정에서, 서로의 가중치 값을 일치시켰기 때문에 weightA = weightB이다.
따라서, 제2 키 생성 장치(200)는 기정의된 일방향 함수(one way function)를 이용하여 제2 가중치 값 weightB 으로부터 제2 시드 값 seedB=OWF(weightB)을 생성할 수 있다.
이 때, 단계(S240)는 제2 키 생성 장치(200)가 기정의된 해시(hash) 함수를 이용하여 제2 시드 값 seedB 으로부터 제2 해시 값 ckB = H(seedB||infoB)을 생성하고, 제1 해시 값과 제2 해시 값이 일치하는지 검증할 수 있다.
이 때, infoA 및 infoB는 해시 값 생성을 위해 1 키 생성 장치(100) 및 제 2 키 생성 장치(200) 사이에 사전에 공유된 키 생성 정보일 수 있다.
이 때, 단계(S240)는 제2 키 생성 장치(200)가 제1 해시 값과 제2 해시 값이 일치하면, 해시 값의 검증이 성공한 것으로 판단하고, 제1 키 생성 장치(100)에게 제2 해시 값 ckB을 전송할 수 있다.
이 때, 단계(S240)는 제1 키 생성 장치(100)가 수신한 제2 해시 값과 기 생성한 제1 해시 값이 일치하는지 검증하고, 제1 해시 값과 제2 해시 값이 일치하면 검증이 성공한 것으로 판단할 수 있다.
이 때, 단계(S240)는 제1 키 생성 장치(100) 및 제2 키 생성 장치(200)가 제1 해시 값 및 제2 해시 값의 검증이 완료되면, 기정의된 키 생성 함수(Key Generation Fuction, KGF)를 이용하여 비밀 통신을 위해 세션 비밀키 sk = KGF(seedA,infosession) = KGF(seedB,infosession)를 생성할 수 있다.
이 때, infosession 는 infoA 및 infoB에 상응할 수 있다.
제1 시드 값 seedA과 제2 시드 값 seedB 은 동일한 가중치 값(weightA = weightB )을 기반으로 생성되었기 때문에 제1 키 생성 장치(100) 및 제2 키 생성 장치(200)는 동일하게 인증된 비밀 세션 키 sk를 공유할 수 있다.
도 3은 본 발명의 일실시예에 따른 기계학습 기반 키 생성 방법을 나타낸 시퀀스 다이어그램이다.
도 3을 참조하면, 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)는 키 생성 및 키 교환을 위한 복수개의 커밋(commit) 값들을 생성하고, 외부 저장소(스토리지)인 공개 저장소(10)에 커밋 값들을 업로드할 수 있다(S310, 320).
이 때, 공개 저장소(10)는 업로드된 커밋 값을 공개하고, 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)와 업로드된 커밋 값을 공유할 수 있다.
이 때, 단계(S310, S320)는 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)가 비밀값과 난수를 이용하여 커밋 값을 생성할 수 있다.
이 때, 단계(S310, S320)는 제1 키 생성 장치(100)가 제1 비밀 값 skA 와 제1 난수 rA를 이용하여 제1 커밋 값 cA = commit( skA , rA )을 생성할 수 있다.
이 때, 단계(S310, S320)는 제 2 키 생성 장치(200)가 제2 비밀 값 skB 와 제2 난수 rB를 이용하여 제2 커밋 값 cB = commit( skB , rB )을 생성할 수 있다.
이 때, 단계(S310, S320)는 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)가 commit 알고리즘으로 keyed hash 함수를 이용하여 커밋 값을 생성할 수 있다.
이 때, 비밀 값과 난수는 추후 검증을 위해 공개될 수 있다.
또한, 본 발명의 일실시예에 따른 기계학습 기반 키 생성 방법은 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)가, 기정의된 신경망 학습 알고리즘을 이용하여 상호 간의 가중치 값(weight)을 일치시키기 위해 신경망 학습을 수행할 수 있다(S330).
이 때, 제1 키 생성 장치(100)의 제1 가중치 값은 weightA로 나타낼 수 있고, 제2 키 생성 장치(200)의 제2 가중치 값은 weightB로 나타낼 수 있다.
이 때, 단계(S330)는 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)가 기정의된 신경망 학습 알고리즘을 이용하여 제1 가중치 값과 제2 가중치 값을 서로 일치 시킬 수 있다.
이 때, 신경망 학습 알고리즘은 종래 다양한 신경망 알고리즘이 사용될 수 있다.
또한, 본 발명의 일실시예에 따른 기계학습 기반 키 생성 방법은 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)가 상호 인증을 위해 상호 간에 상기 제1 커밋 값와 상기 제2 커밋 값을 공유하고, 공개 저장소(10)에 업로드된 제1 커밋 값과 제2 커밋 값을 비교하여 커밋 값의 검증을 수행할 수 있다(S340, S350).
이 때, 단계(S340, S350)는 제1 키 생성 장치(100) 및 제2 키 생성 장치(200)가 메시지 인증 코드(message authentication code, MAC)를 이용하여 신경망 학습을 과정에서 생성된 출력 값(패러티 비트)의 집합과 커밋 값 생성에 사용된 비밀 값으로부터 MAC 값을 생성할 수 있다.
이 때, 단계(S340, S350)는 제1 키 생성 장치(100)가 신경망 학습을 과정에서 생성된 출력 값 (제1 패러티 비트)의 집합 pA 과 제1 커밋 값 생성에 사용된 제1 비밀 값 skA 을 이용하여, 제1 MAC 값 mA = mac( skA , pA )을 생성할 수 있다.
이 때, 단계(S340, S350)는 제2 키 생성 장치(200)가 신경망 학습을 과정에서 생성된 출력 값(제2 패러티 비트)의 집합 pB 과 제2 커밋 값 생성에 사용된 제2 비밀 값 skB 을 이용하여, 제2 MAC 값 mB = mac( skB , pB )을 생성할 수 있다.
이 때, 단계(S340, S350)는 제1 키 생성 장치(100)가 제1 MAC 값을 제 2 키 생성 장치(200)에게 전송하고, 이 때, 제2 키 생성 장치(100)는 제2 MAC 값을 제 1 키 생성 장치(100)에게 전송할 수 있다.
또한, 단계(S360)는 제1 키 생성 장치(100)가 제1 커밋 값, 제1 비밀 값 및 제1 난수를 제2 키 생성 장치(200)에게 전송할 수 있다.
이 때, 단계(S360)는 제2 키 생성 장치(200)가 수신한 제1 커밋 값이 공개 저장소(10)에 업로드된 제1 커밋 값과 일치하는지 확인하고, 수신한 제1 비밀 값 skA 을 이용하여 제1 검증용 MAC 값 mAB = mac( skA , pB )을 생성할 수 있다.
이 때, 단계(S360)는 제2 키 생성 장치(200)가 수신한 제1 MAC 값과 제1 검증용 MAC 값을 비교하여 일치하면 검증이 성공인 것으로 판단할 수 있다.
이 때, 단계(S370)는 제1 키 생성 장치(100)에게 제2 커밋 값, 제2 비밀 값 및 제2 난수를 제1 키 생성 장치(100)에게 전송할 수 있다.
이 때, 단계(S370)는 제1 키 생성 장치(100)가 수신한 제2 커밋 값이 공개 저장소(10)에 업로드된 제2 커밋 값과 일치하는지 확인하고, 수신한 제2 비밀 값 skB 을 이용하여 제2 검증용 MAC 값 mBA = mac( skB , pA )을 생성할 수 있다.
이 때, 단계(S370)는 제1 키 생성 장치(200)가 수신한 제2 MAC 값과 제2 검증용 MAC 값을 비교하여 일치하면 커밋 값의 검증이 성공인 것으로 판단할 수 있다.
또한, 본 발명의 일실시예에 따른 기계학습 기반 키 생성 방법은 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)가 상기 일치시킨 가중치 값을 이용하여 각각 제1 해시 값과 제2 해시 값를 생성하고, 상호 간에 상기 제1 해시 값과 상기 제2 해시 값의 동일 여부를 검증한 결과에 기반하여 세션 비밀 키를 생성할 수 있다(S380, S390).
이 때, 단계(S380)는 제1 키 생성 장치(100)가 기정의된 일방향 함수(one way function)를 이용하여 제1 가중치 값 weightA 으로부터 제1 시드 값 seedA=OWF(weightA)을 생성할 수 있다.
이 때, 일방향 함수(one way function)은 종래의 다양한 hash 함수 중 하나가 사용될 수 있다.
이 때, 단계(S380)는 제1 키 생성 장치(100)가 기정의된 해시(hash) 함수를 이용하여 제1 시드값 seedA 으로부터 제1 해시 값 ckA = H(seedA||infoA)을 생성하고, 제2 키 생성 장치(200)에게 제1 해시 값 ckA를 전송할 수 있다.
이 때, 제1 키 생성 장치(100) 및 제 2 키 생성 장치(200)는 신경망 학습 과정에서, 서로의 가중치 값을 일치시켰기 때문에 weightA = weightB이다.
따라서, 제2 키 생성 장치(200)는 기정의된 일방향 함수(one way function)를 이용하여 제2 가중치 값 weightB 으로부터 제2 시드 값 seedB=OWF(weightB)을 생성할 수 있다.
이 때, 단계(S390)는 제2 키 생성 장치(200)가 기정의된 해시(hash) 함수를 이용하여 제2 시드 값 seedB 으로부터 제2 해시 값 ckB = H(seedB||infoB)을 생성하고, 제1 해시 값과 제2 해시 값이 일치하는지 검증할 수 있다.
이 때, infoA 및 infoB는 해시 값 생성을 위해 1 키 생성 장치(100) 및 제 2 키 생성 장치(200) 사이에 사전에 공유된 키 생성 정보일 수 있다.
이 때, 단계(S390)는 제2 키 생성 장치(200)가 제1 해시 값과 제2 해시 값이 일치하면, 해시 값의 검증이 성공한 것으로 판단하고, 제1 키 생성 장치(100)에게 제2 해시 값 ckB을 전송할 수 있다.
이 때, 단계(S390)는 제1 키 생성 장치(100)가 수신한 제2 해시 값과 기 생성한 제1 해시 값이 일치하는지 검증하고, 제1 해시 값과 제2 해시 값이 일치하면 검증이 성공한 것으로 판단할 수 있다.
이 때, 단계(S390)는 제1 키 생성 장치(100) 및 제2 키 생성 장치(200)가 제1 해시 값 및 제2 해시 값의 검증이 완료되면, 기정의된 키 생성 함수(Key Generation Fuction, KGF)를 이용하여 비밀 통신을 위해 세션 비밀키 sk = KGF(seedA,infosession) = KGF(seedB,infosession)를 생성할 수 있다.
이 때, infosession 는 infoA 및 infoB에 상응할 수 있다.
제1 시드 값 seedA과 제2 시드 값 seedB 은 동일한 가중치 값(weightA = weightB )을 기반으로 생성되었기 때문에 제1 키 생성 장치(100) 및 제2 키 생성 장치(200)는 동일하게 인증된 비밀 세션 키 sk를 공유할 수 있다.
도 4는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 기계학습 기반 키 생성 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 4에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.
본 발명의 일실시예에 따른 기계학습 기반 키 생성 장치는 하나 이상의 프로세서(1110); 및 상기 하나 이상의 프로세서(1110)에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리(1130)를 포함하고, 상기 적어도 하나 이상의 프로그램은 커밋 값을 생성하고, 상기 커밋 값을 외부 저장소에 업로드하고, 기정의된 신경망 학습 알고리즘을 이용하여 사용자 인증을 수행하기 위한 타 키 생성 장치와 상호 간의 가중치 값을 일치시키기 위해 신경망 학습을 수행하고, 상기 타 키 생성 장치와 상호 간에 커밋 값을 공유하고, 상기 외부 저장소에 업로드된 커밋 값과 공유 받은 커밋 값을 비교하여 커밋 값의 검증을 수행하고, 상기 커밋 값의 검증이 성공인 경우, 상기 일치시킨 가중치 값을 이용하여 해시 값을 생성하고, 상호 간에 생성된 해시 값의 동일 여부를 검증하고, 상기 해시 값을 검증한 결과에 기반하여 세션 비밀 키를 생성한다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 각각 메시지 인증 코드를 이용하여 상기 신경망 학습 과정에서 출력된 패러티 비트와 상기 커밋 값 생성에 사용된 비밀 값으로부터 MAC 값을 생성할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 각각 상호 간에 생성된 상기 MAC 값을 공유하고, 공유 받은 상기 MAC 값과, 자신이 생성한 검증용 MAC 값과 비교하여 상기 MAC 값을 검증할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 기정의된 일방향 함수를 이용하여 상기 가중치 값으로부터 시드 값을 생성할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 기정의된 해시 함수를 이용하여 상기 시드 값과 사전에 공유된 키 생성 정보로부터 해시 값을 생성할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 각각 상호간에 생성된 해시 값을 공유하고, 공유 받은 해시 값과 자신이 생성한 해시 값을 비교하여 해시 값의 일치 여부를 검증할 수 있다.
이 때, 상기 적어도 하나 이상의 프로그램은 상기 해시 값이 일치 하면, 해시 값의 검증이 성공인 것으로 판단하고, 기정의된 키 생성 함수를 이용하여 상기 해시 값과 상기 키 생성 정보로부터 상기 세션 비밀 키를 생성할 수 있다.
이상에서와 같이 본 발명의 일실시예에 따른 기계학습 기반 키 생성 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
1100: 컴퓨터 시스템 1110: 프로세서
1120: 버스 1130: 메모리
1131: 롬 1132: 램
1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치
1160: 스토리지 1170: 네트워크 인터페이스
1180: 네트워크

Claims (14)

  1. 기계학습 기반 키 생성 장치들의 기계학습 기반 키 생성 방법에 있어서,
    제1 키 생성 장치가, 제1 커밋 값을 생성하고, 제2 키 생성 장치가, 제2 커밋 값을 생성하고, 상기 제1 커밋 값과 상기 제2 커밋 값을 외부 저장소에 업로드하는 단계;
    상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 기정의된 신경망 학습 알고리즘을 이용하여 상호 간의 가중치 값을 일치시키기 위해 신경망 학습을 수행하는 단계;
    상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 상호 간에 상기 제1 커밋 값와 상기 제2 커밋 값을 공유하고, 상기 외부 저장소에 업로드된 제1 커밋 값과 제2 커밋 값을 비교하여 커밋 값의 검증을 수행하는 단계; 및
    상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 상기 커밋 값의 검증이 성공인 경우, 상기 일치시킨 가중치 값을 이용하여 해시 값을 생성하고, 상호 간에 생성된 해시 값의 동일 여부를 검증하고, 상기 해시 값을 검증한 결과에 기반하여 세션 비밀 키를 생성하는 단계;
    를 포함하는 것을 특징으로 하는 기계학습 기반 키 생성 방법.
  2. 청구항 1에 있어서,
    상기 검증을 수행하는 단계는
    상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 각각 메시지 인증 코드를 이용하여 상기 신경망 학습 과정에서 출력된 패러티 비트와 상기 커밋 값 생성에 사용된 비밀 값으로부터 MAC 값을 생성하는 것을 특징으로 하는 기계학습 기반 키 생성 방법.
  3. 청구항 2에 있어서,
    상기 검증을 수행하는 단계는
    상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 각각 상호 간에 생성된 상기 MAC 값을 공유하고, 공유 받은 상기 MAC 값과, 자신이 생성한 검증용 MAC 값과 비교하여 상기 MAC 값을 검증하는 것을 특징으로 하는 기계학습 기반 키 생성 방법.
  4. 청구항 3에 있어서,
    상기 세션 비밀 키를 생성하는 단계는
    기정의된 일방향 함수를 이용하여 상기 가중치 값으로부터 시드 값을 생성하는 것을 특징으로 하는 기계학습 기반 키 생성 방법.
  5. 청구항 4에 있어서,
    상기 세션 비밀 키를 생성하는 단계는
    기정의된 해시 함수를 이용하여 상기 시드 값과 사전에 공유된 키 생성 정보로부터 해시 값을 생성하는 것을 특징으로 하는 기계학습 기반 키 생성 방법.
  6. 청구항 5에 있어서,
    상기 세션 비밀 키를 생성하는 단계는
    상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 각각 상호간에 생성된 해시 값을 공유하고, 공유 받은 해시 값과 자신이 생성한 해시 값을 비교하여 해시 값의 일치 여부를 검증하는 것을 특징으로 하는 기계학습 기반 키 생성 방법.
  7. 청구항 6에 있어서,
    상기 세션 비밀 키를 생성하는 단계는
    상기 해시 값이 일치 하면, 해시 값의 검증이 성공인 것으로 판단하고, 기정의된 키 생성 함수를 이용하여 상기 해시 값과 상기 키 생성 정보로부터 상기 세션 비밀 키를 생성하는 것을 특징으로 하는 기계학습 기반 키 생성 방법.
  8. 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행되는 적어도 하나 이상의 프로그램을 저장하는 실행메모리를 포함하고,
    상기 적어도 하나 이상의 프로그램은
    커밋 값을 생성하고, 상기 커밋 값을 외부 저장소에 업로드하고,
    기정의된 신경망 학습 알고리즘을 이용하여 사용자 인증을 수행하기 위한 타 키 생성 장치와 상호 간의 가중치 값을 일치시키기 위해 신경망 학습을 수행하고,
    상기 타 키 생성 장치와 상호 간에 커밋 값을 공유하고, 상기 외부 저장소에 업로드된 커밋 값과 공유 받은 커밋 값을 비교하여 커밋 값의 검증을 수행하고,
    상기 커밋 값의 검증이 성공인 경우, 상기 일치시킨 가중치 값을 이용하여 해시 값을 생성하고, 상호 간에 생성된 해시 값의 동일 여부를 검증하고, 상기 해시 값을 검증한 결과에 기반하여 세션 비밀 키를 생성하는 것을 특징으로 하는 기계학습 기반 키 생성 장치.
  9. 청구항 8에 있어서,
    상기 적어도 하나 이상의 프로그램은
    상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 각각 메시지 인증 코드를 이용하여 상기 신경망 학습 과정에서 출력된 패러티 비트와 상기 커밋 값 생성에 사용된 비밀 값으로부터 MAC 값을 생성하는 것을 특징으로 하는 기계학습 기반 키 생성 장치.
  10. 청구항 9에 있어서,
    상기 적어도 하나 이상의 프로그램은
    상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 각각 상호 간에 생성된 상기 MAC 값을 공유하고, 공유 받은 상기 MAC 값과, 자신이 생성한 검증용 MAC 값과 비교하여 상기 MAC 값을 검증하는 것을 특징으로 하는 기계학습 기반 키 생성 장치.
  11. 청구항 10에 있어서,
    상기 적어도 하나 이상의 프로그램은
    기정의된 일방향 함수를 이용하여 상기 가중치 값으로부터 시드 값을 생성하는 것을 특징으로 하는 기계학습 기반 키 생성 장치.
  12. 청구항 11에 있어서,
    상기 적어도 하나 이상의 프로그램은
    기정의된 해시 함수를 이용하여 상기 시드 값과 사전에 공유된 키 생성 정보로부터 해시 값을 생성하는 것을 특징으로 하는 기계학습 기반 키 생성 장치.
  13. 청구항 12에 있어서,
    상기 적어도 하나 이상의 프로그램은
    상기 제1 키 생성 장치와 상기 제2 키 생성 장치가, 각각 상호간에 생성된 해시 값을 공유하고, 공유 받은 해시 값과 자신이 생성한 해시 값을 비교하여 해시 값의 일치 여부를 검증하는 것을 특징으로 하는 기계학습 기반 키 생성 장치.
  14. 청구항 13에 있어서,
    상기 적어도 하나 이상의 프로그램은
    상기 해시 값이 일치 하면, 해시 값의 검증이 성공인 것으로 판단하고, 기정의된 키 생성 함수를 이용하여 상기 해시 값과 상기 키 생성 정보로부터 상기 세션 비밀 키를 생성하는 것을 특징으로 하는 기계학습 기반 키 생성 장치.
KR1020210032053A 2021-03-11 2021-03-11 기계 학습 기반 키 생성 장치 및 방법 KR102648499B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210032053A KR102648499B1 (ko) 2021-03-11 2021-03-11 기계 학습 기반 키 생성 장치 및 방법
US17/518,905 US20220294620A1 (en) 2021-03-11 2021-11-04 Key generation apparatus and method based on machine learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210032053A KR102648499B1 (ko) 2021-03-11 2021-03-11 기계 학습 기반 키 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220127587A true KR20220127587A (ko) 2022-09-20
KR102648499B1 KR102648499B1 (ko) 2024-03-19

Family

ID=83194286

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210032053A KR102648499B1 (ko) 2021-03-11 2021-03-11 기계 학습 기반 키 생성 장치 및 방법

Country Status (2)

Country Link
US (1) US20220294620A1 (ko)
KR (1) KR102648499B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100050846A (ko) * 2008-11-06 2010-05-14 삼성전자주식회사 키 교환 시스템 및 방법
KR101075316B1 (ko) * 2004-10-29 2011-10-19 톰슨 라이센싱 안전 인증 채널
US9721190B2 (en) * 2014-12-19 2017-08-01 Google Inc. Large-scale classification in neural networks using hashing
KR102164904B1 (ko) * 2019-01-15 2020-10-13 상명대학교산학협력단 세션 키를 생성하는 방법 및 그 전자장치
KR102186764B1 (ko) * 2019-01-31 2020-12-04 연세대학교 산학협력단 사이클 일관성 기반 옵티컬플로우 및 디스패리티 추정 장치 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11126673B2 (en) * 2019-01-29 2021-09-21 Salesforce.Com, Inc. Method and system for automatically enriching collected seeds with information extracted from one or more websites
US11568062B2 (en) * 2019-10-10 2023-01-31 Baidu Usa Llc Methods to protect neural network models
LT6793B (lt) * 2020-05-18 2020-12-28 Timofey Mochalov Duomenų perdavimo apsaugos būdas naudojant dirbtinį neuroninį tinklą
US11582029B2 (en) * 2020-11-18 2023-02-14 Kabushiki Kaisha Toshiba Secret key generation for wireless channels

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101075316B1 (ko) * 2004-10-29 2011-10-19 톰슨 라이센싱 안전 인증 채널
KR20100050846A (ko) * 2008-11-06 2010-05-14 삼성전자주식회사 키 교환 시스템 및 방법
US9721190B2 (en) * 2014-12-19 2017-08-01 Google Inc. Large-scale classification in neural networks using hashing
KR102164904B1 (ko) * 2019-01-15 2020-10-13 상명대학교산학협력단 세션 키를 생성하는 방법 및 그 전자장치
KR102186764B1 (ko) * 2019-01-31 2020-12-04 연세대학교 산학협력단 사이클 일관성 기반 옵티컬플로우 및 디스패리티 추정 장치 및 방법

Also Published As

Publication number Publication date
KR102648499B1 (ko) 2024-03-19
US20220294620A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
US10218499B1 (en) System and method for secure communications between controllers in a vehicle network
CN112425136B (zh) 采用多方计算(mpc)的物联网安全性
US8694778B2 (en) Enrollment of physically unclonable functions
US8644515B2 (en) Display authenticated security association
CN108599925B (zh) 一种基于量子通信网络的改进型aka身份认证系统和方法
CN104821933A (zh) 证书生成的设备和方法
KR102364652B1 (ko) 화이트박스 암호화를 이용한 puf 기반 사물인터넷 디바이스 인증 장치 및 방법
JP2023500570A (ja) コールドウォレットを用いたデジタルシグニチャ生成
CN108471352A (zh) 基于分布式私钥的处理方法、系统、计算机设备及存储介质
CN109309566B (zh) 一种认证方法、装置、系统、设备及存储介质
US20230032099A1 (en) Physical unclonable function based mutual authentication and key exchange
CN108599926A (zh) 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法
CN109951276A (zh) 基于tpm的嵌入式设备远程身份认证方法
Anikin et al. Symmetric encryption with key distribution based on neural networks
CN110493177B (zh) 基于非对称密钥池对和序列号的量子通信服务站aka密钥协商方法和系统
Lounis et al. D2D-MAP: A drone to drone authentication protocol using physical unclonable functions
Yin et al. Two‐Round Password‐Based Authenticated Key Exchange from Lattices
Ali et al. Enhanced lightweight and secure certificateless authentication scheme (ELWSCAS) for internet of things environment
Bagheri et al. Defending industry 4.0: an enhanced authentication scheme for IoT devices
KR102648499B1 (ko) 기계 학습 기반 키 생성 장치 및 방법
Sahoo et al. Design of An Authentication Scheme for Cloud-Based IoT Applications
Krasnowski et al. Introducing a Verified Authenticated Key Exchange Protocol over Voice Channels for Secure Voice Communication.
Ambareen et al. Secured Wireless Sensor Network Protocol using Rabin-assisted Multifactor Authentication
JP5392741B2 (ja) Rsaをベースとしたパスワード認証方式及びその応用
JP2009271581A (ja) 二要素認証システム

Legal Events

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