KR102164904B1 - Method for generating session key and electronic apparatus thereof - Google Patents

Method for generating session key and electronic apparatus thereof Download PDF

Info

Publication number
KR102164904B1
KR102164904B1 KR1020190005037A KR20190005037A KR102164904B1 KR 102164904 B1 KR102164904 B1 KR 102164904B1 KR 1020190005037 A KR1020190005037 A KR 1020190005037A KR 20190005037 A KR20190005037 A KR 20190005037A KR 102164904 B1 KR102164904 B1 KR 102164904B1
Authority
KR
South Korea
Prior art keywords
key
value
electronic device
generating
secret
Prior art date
Application number
KR1020190005037A
Other languages
Korean (ko)
Other versions
KR20200088591A (en
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 KR1020190005037A priority Critical patent/KR102164904B1/en
Publication of KR20200088591A publication Critical patent/KR20200088591A/en
Application granted granted Critical
Publication of KR102164904B1 publication Critical patent/KR102164904B1/en

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/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/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)
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

세션 키(session key)를 생성하는 방법이 개시된다. 세션 키를 생성하는 방법은, 제1 난수에 기초하여 생성된 제1 키를 수신하는 과정, 제2 난수에 기초하여 제2 키를 생성하는 과정, 상기 제1 키 및 상기 제2 난수에 기초하여 제3 키를 생성하는 과정, 상기 제1 키, 상기 제2 키 및 상기 제3 키에 기초하여 복수의 비밀 키를 생성하는 과정, 상기 복수의 비밀 키 중 하나인 제1 비밀 키, 사용자의 ID(identification) 및 패스워드(Password)에 기초하여 PRF(pseudorandom function, 유사 난수 함수) 값을 생성하는 과정, 상기 제1 키, 상기 제2 키, 상기 복수의 비밀 키 중 하나인 제2 비밀 키 및 상기 PRF 값에 기초하여 생성된 제1 MAC(massage authentication code, 메시지 인증 코드) 값 및 상기 제2 키를 송신하는 과정 및 제2 MAC 값을 수신하는 과정 및 상기 제1 키, 상기 제2 키, 상기 복수의 비밀 키 중 하나인 제3 비밀 키, 상기 PRF 값, 상기 제1 MAC 값 및 상기 제2 MAC 값에 기초하여 세션 키(session key)를 생성하는 과정을 포함할 수 있다.A method of generating a session key is disclosed. The method of generating a session key includes a process of receiving a first key generated based on a first random number, a process of generating a second key based on a second random number, and a process of generating a second key based on the first key and the second random number. A process of generating a third key, a process of generating a plurality of secret keys based on the first key, the second key, and the third key, a first secret key that is one of the plurality of secret keys, and a user ID A process of generating a pseudorandom function (PRF) value based on (identification) and password, a second secret key that is one of the first key, the second key, and the plurality of secret keys, and the A process of transmitting a first mass authentication code (MAC) value generated based on a PRF value and a second key and a process of receiving a second MAC value, and the first key, the second key, and the A process of generating a session key based on a third secret key, the PRF value, the first MAC value, and the second MAC value, which is one of a plurality of secret keys.

Description

세션 키를 생성하는 방법 및 그 전자장치{METHOD FOR GENERATING SESSION KEY AND ELECTRONIC APPARATUS THEREOF}Method of generating a session key and its electronic device {METHOD FOR GENERATING SESSION KEY AND ELECTRONIC APPARATUS THEREOF}

본 발명은 세션 키를 생성하는 방법 및 그 전자장치에 대한 것으로, 보다 상세하게는 사물인터넷(Internet of Things; IoT) 환경에서 세션 키(session key)를 효율적으로 생성하는 방법 및 그 전자장치에 대한 것이다.The present invention relates to a method for generating a session key and an electronic device thereof, and more particularly, a method for efficiently generating a session key in an Internet of Things (IoT) environment, and an electronic device thereof. will be.

사물인터넷이란, 각종 사물에 컴퓨터 칩과 통신 기능을 내장하여 인터넷에 연결하는 기술을 의미한다.The Internet of Things means a technology for connecting to the Internet by embedding computer chips and communication functions in various things.

사용자는 사용자 단말을 이용하여 사물인터넷 기기를 원격으로 제어할 수 있다. 사용자 단말과 사물인터넷 기기는 무선 통신, 근거리 통신, 홈 네트워크 등 다양한 통신 기술, 통신 프로토콜 등으로 서로 연결될 수 있다.The user can remotely control the IoT device using the user terminal. The user terminal and the IoT device may be connected to each other through various communication technologies such as wireless communication, short-range communication, and home network, and communication protocols.

한편, 사물인터넷 시스템은 통신(또는 무선 통신) 환경을 기초로 하기 때문에 송수신되는 메시지에 대한 신뢰성이 보장되어야 한다. 즉, 사물인터넷 시스템은 보안이 필수적이다. 사물인터넷 시스템에서는 정보 보안을 위해 송신자에서 수신자로 전달되는 메시지를 암호화하게 된다.Meanwhile, since the IoT system is based on a communication (or wireless communication) environment, reliability of transmitted/received messages must be guaranteed. In other words, security is essential for IoT systems. In the IoT system, messages transmitted from the sender to the receiver are encrypted for information security.

이러한 암호화를 위한 방법으로는 암호화와 복호화 시 동일한 키를 사용하는 대칭키 암호화 방법과 암호화를 위한 키(공개 키)와 복호화를 위한 키(비밀 키)를 다르게 사용하는 공개키 암호화 방법이 있다.Methods for such encryption include a symmetric key encryption method that uses the same key for encryption and decryption, and a public key encryption method that uses different keys for encryption (public key) and decryption key (secret key).

특히, 공개 키 암호화 기법은 암호화를 위한 공개 키와 복호화를 위한 비밀 키를 달리하여 사용하는 방법으로 비대칭적 암호화 기법이라고도 지칭된다. 예를 들어, 사용자는 자신의 공개 키를 공개키 디렉토리에 공개할 수 있다. 이 경우, 사용자에게 비밀성이 요구되는 메시지를 보내려는 다른 사용자는 공개 키를 이용하여 메시지를 암호화하여 전송할 수 있다. 공개 키로 암호화된 정보는 이에 대응하는 키, 즉 비밀 키에 의해서만 복호화될 수 있기 때문에 메시지 내용의 비밀성이 확보될 수 있다.In particular, the public key encryption technique is a method of using differently between a public key for encryption and a secret key for decryption, and is also referred to as an asymmetric encryption technique. For example, a user can publish his or her public key in a public key directory. In this case, another user who wants to send a message requiring confidentiality to the user may encrypt the message using the public key and transmit the message. Since the information encrypted with the public key can be decrypted only by the corresponding key, that is, the secret key, confidentiality of the message content can be ensured.

본 발명은 사물인터넷 환경에 적합하도록 인증 프로세스 및 키 교환 프로세스가 경량화된 세션 키 생성 방법 및 장치를 제공할 수 있다.The present invention can provide a method and apparatus for generating a session key in which an authentication process and a key exchange process are lightened to be suitable for an IoT environment.

본 발명의 다양한 실시 예에 따른 세션 키를 생성하는 방법은, 제1 난수에 기초하여 생성된 제1 키를 수신하는 과정, 제2 난수에 기초하여 제2 키를 생성하는 과정, 상기 제1 키 및 상기 제2 난수에 기초하여 제3 키를 생성하는 과정, 상기 제1 키, 상기 제2 키 및 상기 제3 키에 기초하여 복수의 비밀 키를 생성하는 과정, 상기 복수의 비밀 키 중 하나인 제1 비밀 키, 사용자의 ID(identification) 및 패스워드(Password)에 기초하여 PRF(pseudorandom function, 유사 난수 함수) 값을 생성하는 과정과, 상기 제1 키, 상기 제2 키, 상기 복수의 비밀 키 중 하나인 제2 비밀 키 및 상기 PRF 값에 기초하여 생성된 제1 MAC(massage authentication code, 메시지 인증 코드) 값 및 상기 제2 키를 송신하는 과정, 제2 MAC 값을 수신하는 과정 및 상기 제1 키, 상기 제2 키, 상기 복수의 비밀 키 중 하나인 제3 비밀 키, 상기 PRF 값, 상기 제1 MAC 값 및 상기 제2 MAC 값에 기초하여 세션 키(session key)를 생성하는 과정을 포함할 수 있다.A method of generating a session key according to various embodiments of the present invention includes a process of receiving a first key generated based on a first random number, a process of generating a second key based on a second random number, the first key And generating a third key based on the second random number, generating a plurality of secret keys based on the first key, the second key, and the third key, one of the plurality of secret keys. A process of generating a pseudorandom function (PRF) value based on a first secret key, a user's identification and password, and the first key, the second key, and the plurality of secret keys One of the second secret key and the process of transmitting a first mass authentication code (MAC) value and the second key generated based on the PRF value, a process of receiving a second MAC value, and the second A process of generating a session key based on 1 key, the second key, and a third secret key that is one of the plurality of secret keys, the PRF value, the first MAC value, and the second MAC value. Can include.

본 발명의 다양한 실시 예에 따른 세션 키를 생성하는 전자장치는, 송수신부 및 제1 난수에 기초하여 생성된 제1 키를 수신하도록 상기 송수신부를 제어하고, 제2 난수에 기초하여 제2 키를 생성하고, 상기 제1 키 및 상기 제2 난수에 기초하여 제3 키를 생성하고, 상기 제1 키, 상기 제2 키 및 상기 제3 키에 기초하여 복수의 비밀 키를 생성하고, 상기 복수의 비밀 키 중 하나인 제1 비밀 키, 사용자의 ID(identification) 및 패스워드(Password)에 기초하여 PRF(pseudorandom function, 유사 난수 함수) 값을 생성하고, 상기 제1 키, 상기 제2 키, 상기 복수의 비밀 키 중 하나인 제2 비밀 키 및 상기 PRF 값에 기초하여 생성된 제1 MAC(massage authentication code, 메시지 인증 코드) 값 및 상기 제2 키를 송신하도록 상기 송수신부를 제어하고, 제2 MAC 값을 수신하도록 상기 상기 송수신부를 제어하고, 상기 제1 키, 상기 제2 키, 상기 복수의 비밀 키 중 하나인 제3 비밀 키, 상기 PRF 값, 상기 제1 MAC 값 및 상기 제2 MAC 값에 기초하여 세션 키를 생성하는 프로세서를 포함할 수 있다.An electronic device for generating a session key according to various embodiments of the present disclosure controls the transmission/reception unit and the transmission/reception unit to receive a first key generated based on a first random number, and a second key based on a second random number. Generate, generate a third key based on the first key and the second random number, generate a plurality of secret keys based on the first key, the second key, and the third key, and the plurality of Generates a pseudorandom function (PRF) value based on a first secret key, which is one of the secret keys, and the user's ID (identification) and password, and the first key, the second key, and the plurality of A second secret key that is one of the secret keys of and a first mass authentication code (MAC) value generated based on the PRF value and the second key are controlled to transmit the transmission/reception unit, and a second MAC value Control the transmission/reception unit to receive, and based on the first key, the second key, and a third secret key that is one of the plurality of secret keys, the PRF value, the first MAC value, and the second MAC value Thus, it may include a processor that generates a session key.

본 발명의 다양한 실시 예에 따르면, 인증 프로세스 및 키 교환 프로세스에 필요한 연산을 최소화하여, 사물인터넷 환경에서의 세션 키 생성 과정을 경량화할 수 있다.According to various embodiments of the present disclosure, by minimizing operations required for an authentication process and a key exchange process, a session key generation process in an IoT environment can be lightened.

본 발명의 다양한 실시 예에 따르면, 악의적인 공격자가 된 사물인터넷 기기의 제조사 및 제3의 공격자에게 사물인터넷 기기의 ID(identification) 및 PW(password) 정보를 노출시키지 않을 수 있다.According to various embodiments of the present disclosure, ID (identification) and PW (password) information of the IoT device may not be exposed to a manufacturer of an IoT device and a third-party attacker who became a malicious attacker.

도 1은 본 발명의 일 실시 예에 따른 사물인터넷 시스템을 도시한다.
도 2는 본 발명의 일 실시 예에 따른 세션 키 생성 과정의 흐름도이다.
도 3은 본 발명의 일 실시 예에 따른 제1 전자장치의 블록도이다.
도 4는 본 발명의 일 실시 예에 따른 제2 전자장치의 블록도이다.
도 5는 본 발명의 일 실시 예에 따른 제1 전자장치 또는 제2 전자장치의 블록도이다.
도 6은 본 발명의 일 실시 예에 따른 세션 키 생성 방법에 대한 순서도이다.
1 illustrates an IoT system according to an embodiment of the present invention.
2 is a flowchart of a session key generation process according to an embodiment of the present invention.
3 is a block diagram of a first electronic device according to an embodiment of the present invention.
4 is a block diagram of a second electronic device according to an embodiment of the present invention.
5 is a block diagram of a first electronic device or a second electronic device according to an embodiment of the present invention.
6 is a flowchart illustrating a method of generating a session key according to an embodiment of the present invention.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대한 동작원리를 상세히 설명한다. 또한, 발명에 대한 실시 예를 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 하기에서 사용되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로써, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 사용된 용어들의 정의는 본 명세서 전반에 걸친 내용 및 이에 상응한 기능을 토대로 해석되어야 할 것이다.Hereinafter, the operating principle of a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings. In addition, when it is determined that a detailed description of a related known function or configuration may obscure the subject matter of the present disclosure in describing an exemplary embodiment of the present disclosure, a detailed description thereof will be omitted. In addition, terms used in the following are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of users or operators. Therefore, the definition of the terms used should be interpreted based on the contents throughout the specification and functions corresponding thereto.

본 발명의 다양한 실시 예에 따른 세션 키(session key) 생성 과정은 유사 난수 함수(pseudorandom function; PRF), 메시지 인증 코드(message authentication code; MAC) 및 디피-헬만 키 교환(Diffie-Hellman key exchange) 프로토콜에 기초한다.The process of generating a session key according to various embodiments of the present invention includes a pseudorandom function (PRF), a message authentication code (MAC), and a Diffie-Hellman key exchange. It is based on the protocol.

유사 난수 함수는 두 개의 값(

Figure 112019004765589-pat00001
)를 입력 받아
Figure 112019004765589-pat00002
를 출력하는 함수이다. 유사 난수 함수는 키 공간
Figure 112019004765589-pat00003
에서 임의로 선택된 키
Figure 112019004765589-pat00004
에 대해 정의된
Figure 112019004765589-pat00005
가 동일한 정의역과 공역에서 정의된 랜덤함수
Figure 112019004765589-pat00006
와 구별되기 어렵기 때문에 유사 난수 함수의 입력 값 정보를 숨김으로써 안전성이 확보될 수 있다.The pseudorandom function has two values (
Figure 112019004765589-pat00001
Enter)
Figure 112019004765589-pat00002
Is a function that prints. Pseudorandom function is key space
Figure 112019004765589-pat00003
Randomly selected key from
Figure 112019004765589-pat00004
Defined for
Figure 112019004765589-pat00005
Is a random function defined in the same domain and conjugate
Figure 112019004765589-pat00006
Since it is difficult to distinguish from, safety can be ensured by hiding the input value information of the pseudorandom function.

메시지 인증 코드는 발신자(또는 발신자의 메시지)에 대한 인증과 메시지의 무결성을 수신자 측에서 확인할 수 있는 방법을 제공한다. 메시지 인증 코드는 비밀키

Figure 112019004765589-pat00007
입력받고, 임의 길이의 메시지
Figure 112019004765589-pat00008
인증할 수 있다. 또한, 메시지 인증 코드에 기초하여 MAC 값으로
Figure 112019004765589-pat00009
이 출력될 수 있다. MAC 값은 검증자(비밀 키를 소유한 사람)의 허가에 기초하여 발신자에 대한 인증과 메시지의 무결성을 검증하는 수단이 될 수 있다.The message authentication code provides a method of authenticating the sender (or the sender's message) and verifying the integrity of the message at the receiver side. The message authentication code is a secret key
Figure 112019004765589-pat00007
Receive input, message of arbitrary length
Figure 112019004765589-pat00008
You can authenticate. Also, based on the message authentication code, the MAC value
Figure 112019004765589-pat00009
Can be output. The MAC value can be a means of authenticating the sender and verifying the integrity of the message based on the authorization of the verifier (the person who owns the secret key).

MAC은 다음의 알고리즘을 포함한다.MAC includes the following algorithm.

서명(

Figure 112019004765589-pat00010
) 과정: 서명자는 서명할 메시지
Figure 112019004765589-pat00011
및 비밀키
Figure 112019004765589-pat00012
입력으로,
Figure 112019004765589-pat00013
를 출력할 수 있다.signature(
Figure 112019004765589-pat00010
) Process: Signer is the message to be signed
Figure 112019004765589-pat00011
And secret key
Figure 112019004765589-pat00012
As input,
Figure 112019004765589-pat00013
Can be printed.

검증(

Figure 112019004765589-pat00014
) 과정: 검증자는 상기
Figure 112019004765589-pat00015
, 메시지
Figure 112019004765589-pat00016
및 비밀키
Figure 112019004765589-pat00017
를 입력으로,
Figure 112019004765589-pat00018
이면 T(true)를 출력하고,
Figure 112019004765589-pat00019
이면 F(false)를 출력할 수 있다.Verification(
Figure 112019004765589-pat00014
) Process: Verifier reminded
Figure 112019004765589-pat00015
, message
Figure 112019004765589-pat00016
And secret key
Figure 112019004765589-pat00017
As input,
Figure 112019004765589-pat00018
If is, T(true) is output,
Figure 112019004765589-pat00019
If it is, F(false) can be output.

디피-헬만 키 교환의 이산로그 문제는 위수가 소수

Figure 112019004765589-pat00020
곱셈 군(multiplicative group)
Figure 112019004765589-pat00021
와 임의의 원소
Figure 112019004765589-pat00022
에 대하여
Figure 112019004765589-pat00023
를 만족하는
Figure 112019004765589-pat00024
를 찾는 문제이다. 디피-헬만 키 교환 방법은 제1 전자장치 및 제2 전자장치의 원소
Figure 112019004765589-pat00025
를 각각 선택하여 상대방에게
Figure 112019004765589-pat00026
Figure 112019004765589-pat00027
를 전송하고, 세션 키
Figure 112019004765589-pat00028
를 생성한다. 제1 전자장치는
Figure 112019004765589-pat00029
를 생성하고, 제2 전자장치는
Figure 112019004765589-pat00030
를 생성한다. 여기서, 제1 전자장치 및 제2 전자장치의 채널 상에 송수신되는
Figure 112019004765589-pat00031
Figure 112019004765589-pat00032
를 획득하여
Figure 112019004765589-pat00033
Figure 112019004765589-pat00034
판단하는 것은 이산로그의 문제를 풀어야 하므로 매우 어렵다. 따라서, 제3 자는 추가적인 정보 없이 세션 키를 알아내기 어렵다.The discrete log problem of Diffie-Hellman key exchange is prime
Figure 112019004765589-pat00020
Multiplicative group
Figure 112019004765589-pat00021
And any element
Figure 112019004765589-pat00022
about
Figure 112019004765589-pat00023
Satisfying
Figure 112019004765589-pat00024
It is a matter of finding. The Diffie-Hellman key exchange method is an element of the first electronic device and the second electronic device.
Figure 112019004765589-pat00025
To each other by selecting
Figure 112019004765589-pat00026
And
Figure 112019004765589-pat00027
And the session key
Figure 112019004765589-pat00028
Create The first electronic device
Figure 112019004765589-pat00029
And the second electronic device
Figure 112019004765589-pat00030
Create Here, the first electronic device and the second electronic device transmitted and received on the channel
Figure 112019004765589-pat00031
And
Figure 112019004765589-pat00032
By obtaining
Figure 112019004765589-pat00033
And
Figure 112019004765589-pat00034
It is very difficult to judge because it has to solve the problem of discrete logarithms. Therefore, it is difficult for a third party to find out the session key without additional information.

이하에서, 사물인터넷 시스템에 대해 상세히 설명한다.Hereinafter, the IoT system will be described in detail.

도 1은 본 발명의 일 실시 예에 따른 사물인터넷 시스템을 도시한다.1 illustrates an IoT system according to an embodiment of the present invention.

사물인터넷 시스템(10)은 제1 전자장치(100) 및 제2 전자장치(200)를 포함할 수 있다. 또한, 사물인터넷 시스템(10)은 제1 전자장치(100) 및 제2 전자장치(200) 외에 적어도 하나 이상의 전자장치를 추가적으로 포함할 수 있다.The IoT system 10 may include a first electronic device 100 and a second electronic device 200. In addition, the IoT system 10 may additionally include at least one electronic device in addition to the first electronic device 100 and the second electronic device 200.

제1 전자장치(100)는 사물 또는 전자장치일 수 있다. 예를 들어, 제1 전자장치(100)는 냉장고, CCTV, TV, 세탁기, 제습기 등의 각종 가전기기, 전등, 화재 경보기, 댁내 기기일 수 있다. 이 경우, 제1 전자장치(100)는 온도 센서, 습도 센서, 음향 센서, 모션 센서, 근접 센서, 가스 감지 센서, 열 감지 센서 등의 각종 센서를 포함할 수 있다.The first electronic device 100 may be an object or an electronic device. For example, the first electronic device 100 may be various home appliances such as refrigerators, CCTVs, TVs, washing machines, and dehumidifiers, lights, fire alarms, and in-house devices. In this case, the first electronic device 100 may include various sensors such as a temperature sensor, a humidity sensor, an acoustic sensor, a motion sensor, a proximity sensor, a gas detection sensor, and a heat detection sensor.

제2 전자장치(100)는 스마트폰, 태블릿 컴퓨터와 같은 스마트 기기, 휴대용 전자 기기, 웨어러블 기기(wearable device), 홈 네트워크에 연결 가능한 홈 단말(home terminal), 스마트 TV, 셋톱 박스(set top box) 등 다양한 전자 장치일 수 있다.The second electronic device 100 includes a smart device such as a smartphone and a tablet computer, a portable electronic device, a wearable device, a home terminal capable of connecting to a home network, a smart TV, and a set top box. ) May be various electronic devices.

제1 전자장치(100) 및 제2 전자장치(200)는 무선 통신, 근거리 통신, 홈 네트워크 등 다양한 통신 기술, 통신 프로토콜 등으로 서로 연결될 수 있다.The first electronic device 100 and the second electronic device 200 may be connected to each other through various communication technologies such as wireless communication, short-range communication, and a home network, communication protocols, and the like.

일 예로, 제1 전자장치(100) 및 제2 전자장치(200)는 암호화 키인 세션 키를 생성할 수 있다. 제1 전자장치(100) 및 제2 전자장치(200)는 생성된 세션 키에 기초하여 기 정의된 통신 세션 동안 통신을 수행하여 정보(또는 메시지)를 교환할 수 있다.For example, the first electronic device 100 and the second electronic device 200 may generate a session key that is an encryption key. The first electronic device 100 and the second electronic device 200 may exchange information (or messages) by performing communication during a predefined communication session based on the generated session key.

일 예로, 제1 전자장치(100) 및 제2 전자장치(200)는 세션 키를 생성하기 위한 과정을 수행할 수 있다. 제1 전자장치(100) 및 제2 전자장치(200)는 세션 키를 생성하기 위한 프로토콜에 따라 키를 교환하는 과정, 인증을 수행하는 과정, 세션 키를 생성하는 과정 등을 수행할 수 있다.As an example, the first electronic device 100 and the second electronic device 200 may perform a process for generating a session key. The first electronic device 100 and the second electronic device 200 may perform a process of exchanging a key according to a protocol for generating a session key, a process of performing authentication, a process of generating a session key, and the like.

이하에서는, 제1 전자장치(100) 및 제2 전자장치(200)의 세션 키 생성 과정을 상세히 설명한다. 이하의 과정에서는 시스템 셋업 과정이 수행된 것으로 가정한다. 예를 들어, 시스템 셋업 과정에서, 키 생성 장치(제1 전자장치(100), 제2 전자장치(200) 또는 제3의 전자장치일 수 있음)는 보안 상수

Figure 112019004765589-pat00035
를 입력받아 위수가 소수
Figure 112019004765589-pat00036
인 곱셈 군(multiplicative group)
Figure 112019004765589-pat00037
의 생성원
Figure 112019004765589-pat00038
선택할 수 있다. 또는, 키 생성 장치는 보안 상수
Figure 112019004765589-pat00039
를 입력받아 위수가 소수
Figure 112019004765589-pat00040
인 타원곡선 위 그룹
Figure 112019004765589-pat00041
를 설정하고 생성원 g를 선택할 수 있다. 또한, 키 생성 장치는 해쉬함수(암호학적)
Figure 112019004765589-pat00042
와 MAC 알고리즘을 포함하여 공개 파라미터
Figure 112019004765589-pat00043
을 설정할 수 있다.Hereinafter, a process of generating a session key by the first electronic device 100 and the second electronic device 200 will be described in detail. In the following process, it is assumed that the system setup process has been performed. For example, in the system setup process, the key generation device (which may be the first electronic device 100, the second electronic device 200, or a third electronic device) is a security constant
Figure 112019004765589-pat00035
Take the input and place the decimal
Figure 112019004765589-pat00036
Multiplicative group
Figure 112019004765589-pat00037
Source of
Figure 112019004765589-pat00038
You can choose. Alternatively, the key generating device is a security constant
Figure 112019004765589-pat00039
Take the input and place the decimal
Figure 112019004765589-pat00040
Group on an elliptic curve
Figure 112019004765589-pat00041
Can be set and the generator g can be selected. In addition, the key generation device has a hash function (cryptographic)
Figure 112019004765589-pat00042
Public parameters including and MAC algorithm
Figure 112019004765589-pat00043
Can be set.

도 2는 본 발명의 일 실시 예에 따른 세션 키 생성 과정의 흐름도이다.2 is a flowchart of a session key generation process according to an embodiment of the present invention.

이하에서, 세션 키 생성 과정은 제1 전자장치(100) 및 제2 전자장치(200)에 의해 수행되는 것으로 설명될 것이나, 제1 전자장치(100) 및 제2 전자장치(200)에 포함되는 구성요소(component)에 의해 수행될 수도 있음은 물론이다. 예를 들어, 세션 키 생성 과정은 제1 전자장치(100)에 포함되는 프로세서 및 제2 전자장치(200)에 포함되는 프로세서 각각의 제어에 의해 수행될 수 있다.Hereinafter, the process of generating the session key will be described as being performed by the first electronic device 100 and the second electronic device 200, but included in the first electronic device 100 and the second electronic device 200 It goes without saying that it can also be performed by a component. For example, the process of generating a session key may be performed by controlling each of a processor included in the first electronic device 100 and a processor included in the second electronic device 200.

이하에서, 제1 전자장치(100)는 ID, PW 및

Figure 112019004765589-pat00044
에 대한 정보를 기 저장하고, 제2 전자장치(200)는
Figure 112019004765589-pat00045
에 대한 정보를 기 저장함을 가정한다.Hereinafter, the first electronic device 100 includes ID, PW, and
Figure 112019004765589-pat00044
Pre-store information on, and the second electronic device 200
Figure 112019004765589-pat00045
It is assumed that information about

제1 전자장치(100)는 제1 난수(

Figure 112019004765589-pat00046
)를 선택할 수 있다(2001). 또한, 제1 전자장치(100)는 선택된 제1 난수에 기초하여 제1 키(
Figure 112019004765589-pat00047
)를 생성할 수 있다(2002). 제1 전자장치(100)는 생성된 제1 키를 제2 전자장치(200)로 송신할 수 있다(2003).The first electronic device 100 includes a first random number (
Figure 112019004765589-pat00046
) Can be selected (2001). Also, the first electronic device 100 includes a first key (
Figure 112019004765589-pat00047
) Can be generated (2002). The first electronic device 100 may transmit the generated first key to the second electronic device 200 (2003).

제2 전자장치(200)는 ID/PW를 입력받을 수 있다(2004). 일 예로, 제2 전자장치(200)는 ID/PW 정보를 포함하는 QR코드를 리드하여 ID/PW를 입력받을 수 있다.The second electronic device 200 may receive an ID/PW (2004). For example, the second electronic device 200 may read a QR code including ID/PW information to receive an ID/PW.

제2 전자장치(200)는 제2 난수(

Figure 112019004765589-pat00048
)를 선택할 수 있다(2005). 또한, 제2 전자장치(200)는 선택된 제2 난수에 기초하여 제2 키(
Figure 112019004765589-pat00049
)를 생성할 수 있다(2006).The second electronic device 200 includes a second random number (
Figure 112019004765589-pat00048
) Can be selected (2005). Also, the second electronic device 200 includes a second key based on the selected second random number.
Figure 112019004765589-pat00049
) Can be generated (2006).

제2 전자장치(200)는 제1 MAC 값을 생성할 수 있다(2007). The second electronic device 200 may generate a first MAC value (2007).

먼저, 제2 전자장치(200)는 제1 키 및 제2 난수에 기초하여 제3 키(

Figure 112019004765589-pat00050
)를 생성할 수 있다. First, the second electronic device 200 uses a third key (
Figure 112019004765589-pat00050
) Can be created.

제2 전자장치(200)는 상술한 예에서 생성된 제1키, 제2 키 및 제3키에 기초하여 복수의 비밀 키를 생성할 수 있다. 예를 들어, 복수의 비밀 키는

Figure 112019004765589-pat00051
,
Figure 112019004765589-pat00052
Figure 112019004765589-pat00053
를 포함할 수 있다. 여기서, 비밀 키
Figure 112019004765589-pat00054
,
Figure 112019004765589-pat00055
Figure 112019004765589-pat00056
Figure 112019004765589-pat00057
,
Figure 112019004765589-pat00058
Figure 112019004765589-pat00059
를 입력으로 하는 해쉬 함수
Figure 112019004765589-pat00060
의 출력 값에 기초하여 생성될 수 있다.The second electronic device 200 may generate a plurality of secret keys based on the first key, the second key, and the third key generated in the above-described example. For example, multiple secret keys
Figure 112019004765589-pat00051
,
Figure 112019004765589-pat00052
And
Figure 112019004765589-pat00053
It may include. Here, the secret key
Figure 112019004765589-pat00054
,
Figure 112019004765589-pat00055
And
Figure 112019004765589-pat00056
silver
Figure 112019004765589-pat00057
,
Figure 112019004765589-pat00058
And
Figure 112019004765589-pat00059
Hash function as input
Figure 112019004765589-pat00060
Can be generated based on the output value of.

일 예로, 해쉬 함수의 출력 스트링의 길이가 512 비트인 경우,

Figure 112019004765589-pat00061
,
Figure 112019004765589-pat00062
Figure 112019004765589-pat00063
은 수학식
Figure 112019004765589-pat00064
에 기초하여 생성될 수 있다. 여기서,
Figure 112019004765589-pat00065
은 결합(concatenation) 연산자이다. 또한,
Figure 112019004765589-pat00066
의 스트링 길이,
Figure 112019004765589-pat00067
의 스트링 길이 및
Figure 112019004765589-pat00068
의 스트링 길이는 128비트다.For example, if the length of the output string of the hash function is 512 bits,
Figure 112019004765589-pat00061
,
Figure 112019004765589-pat00062
And
Figure 112019004765589-pat00063
Is the equation
Figure 112019004765589-pat00064
Can be generated based on here,
Figure 112019004765589-pat00065
Is a concatenation operator. In addition,
Figure 112019004765589-pat00066
String length of,
Figure 112019004765589-pat00067
String length of and
Figure 112019004765589-pat00068
The string length of is 128 bits.

일 예로, 해쉬 함수의 출력 스트링의 길이가 256 비트인 경우,

Figure 112019004765589-pat00069
,
Figure 112019004765589-pat00070
Figure 112019004765589-pat00071
은 수학식
Figure 112019004765589-pat00072
및 수학식
Figure 112019004765589-pat00073
에 기초하여 생성될 수 있다. 여기서,
Figure 112019004765589-pat00074
은 결합 연산자이다. 또한,
Figure 112019004765589-pat00075
의 스트링 길이,
Figure 112019004765589-pat00076
의 스트링 길이 및
Figure 112019004765589-pat00077
의 스트링 길이는 128비트다.For example, if the length of the output string of the hash function is 256 bits,
Figure 112019004765589-pat00069
,
Figure 112019004765589-pat00070
And
Figure 112019004765589-pat00071
Is the equation
Figure 112019004765589-pat00072
And the equation
Figure 112019004765589-pat00073
Can be generated based on here,
Figure 112019004765589-pat00074
Is a concatenation operator. In addition,
Figure 112019004765589-pat00075
String length of,
Figure 112019004765589-pat00076
String length of and
Figure 112019004765589-pat00077
The string length of is 128 bits.

다음으로, 제2 전자장치(200)는 복수의 비밀 키 중 하나인 제1 비밀 키, 사용자의 ID 및 PW에 기초하여 PRF(pseudorandom function, 유사 난수 함수) 값을 생성할 수 있다. PRF 값은 아래의 수학식 1에 기초하여 생성될 수 있다.Next, the second electronic device 200 may generate a pseudorandom function (PRF) value based on a first secret key that is one of a plurality of secret keys, an ID of a user, and a PW. The PRF value may be generated based on Equation 1 below.

Figure 112019004765589-pat00078
Figure 112019004765589-pat00078

여기서,

Figure 112019004765589-pat00079
는 PRF 값,
Figure 112019004765589-pat00080
는 사용자의 ID,
Figure 112019004765589-pat00081
는 패스워드,
Figure 112019004765589-pat00082
은 유사 난수 함수다.here,
Figure 112019004765589-pat00079
Is the PRF value,
Figure 112019004765589-pat00080
Is the user's ID,
Figure 112019004765589-pat00081
Is the password,
Figure 112019004765589-pat00082
Is a pseudorandom function.

또한, 제2 전자장치(200)는

Figure 112019004765589-pat00083
값(
Figure 112019004765589-pat00084
)을 생성할 수 있다. In addition, the second electronic device 200
Figure 112019004765589-pat00083
value(
Figure 112019004765589-pat00084
) Can be created.

또한, 제2 전자장치(200)는 생성된 PRF 값에 기초하여 제1 MAC(massage authentication code, 메시지 인증 코드) 값을 생성할 수 있다. 제1 MAC 값은 아래의 수학식 2에 기초하여 생성될 수 있다. 구체적으로, 제1 MAC 값은 제1 키(

Figure 112019004765589-pat00085
), 제2 키(
Figure 112019004765589-pat00086
), 제2 비밀 키(
Figure 112019004765589-pat00087
) 및 PRF 값(
Figure 112019004765589-pat00088
)에 기초하여 생성될 수 있다.Also, the second electronic device 200 may generate a first MAC (massage authentication code) value based on the generated PRF value. The first MAC value may be generated based on Equation 2 below. Specifically, the first MAC value is the first key (
Figure 112019004765589-pat00085
), the second key (
Figure 112019004765589-pat00086
), the second secret key (
Figure 112019004765589-pat00087
) And PRF values (
Figure 112019004765589-pat00088
) Can be generated based on.

Figure 112019004765589-pat00089
Figure 112019004765589-pat00089

여기서,

Figure 112019004765589-pat00090
는 제1 MAC 값,
Figure 112019004765589-pat00091
Figure 112019004765589-pat00092
,
Figure 112019004765589-pat00093
는 메시지 인증 코드 함수다.here,
Figure 112019004765589-pat00090
Is the first MAC value,
Figure 112019004765589-pat00091
Is
Figure 112019004765589-pat00092
,
Figure 112019004765589-pat00093
Is the message authentication code function.

상술한 예와 같이 제1 MAC 값이 생성되면, 제2 전자장치(200)는 생성된 제1 MAC 값 및 제2 키를 제1 전자장치(100)로 송신할 수 있다(2008).When the first MAC value is generated as in the above example, the second electronic device 200 may transmit the generated first MAC value and the second key to the first electronic device 100 (2008).

제1 전자장치(100)는 인증 과정을 수행한다(2009).The first electronic device 100 performs an authentication process (2009).

먼저, 제1 전자장치(100)는 제1 난수(

Figure 112019004765589-pat00094
) 및 수신된 제2 키(
Figure 112019004765589-pat00095
)에 기초하여 제3 키(
Figure 112019004765589-pat00096
)를 생성할 수 있다.First, the first electronic device 100 is a first random number (
Figure 112019004765589-pat00094
) And the received second key (
Figure 112019004765589-pat00095
) Based on the third key (
Figure 112019004765589-pat00096
) Can be created.

제1 전자장치(100)는 제1 키, 제2 키 및 제3 키에 기초하여 복수의 비밀 키를 생성할 수 있다. . 예를 들어, 복수의 비밀 키는

Figure 112019004765589-pat00097
,
Figure 112019004765589-pat00098
Figure 112019004765589-pat00099
를 포함할 수 있다. 여기서, 비밀 키
Figure 112019004765589-pat00100
,
Figure 112019004765589-pat00101
Figure 112019004765589-pat00102
Figure 112019004765589-pat00103
,
Figure 112019004765589-pat00104
Figure 112019004765589-pat00105
를 입력으로 하는 해쉬 함수
Figure 112019004765589-pat00106
의 출력 값에 기초하여 생성될 수 있다.The first electronic device 100 may generate a plurality of secret keys based on the first key, the second key, and the third key. . For example, multiple secret keys
Figure 112019004765589-pat00097
,
Figure 112019004765589-pat00098
And
Figure 112019004765589-pat00099
It may include. Here, the secret key
Figure 112019004765589-pat00100
,
Figure 112019004765589-pat00101
And
Figure 112019004765589-pat00102
silver
Figure 112019004765589-pat00103
,
Figure 112019004765589-pat00104
And
Figure 112019004765589-pat00105
Hash function as input
Figure 112019004765589-pat00106
Can be generated based on the output value of.

일 예로, 해쉬 함수의 출력 스트링의 길이가 512 비트인 경우,

Figure 112019004765589-pat00107
,
Figure 112019004765589-pat00108
Figure 112019004765589-pat00109
은 수학식
Figure 112019004765589-pat00110
에 기초하여 생성될 수 있다. 여기서,
Figure 112019004765589-pat00111
은 결합(concatenation) 연산자이다. 또한,
Figure 112019004765589-pat00112
의 스트링 길이,
Figure 112019004765589-pat00113
의 스트링 길이 및
Figure 112019004765589-pat00114
의 스트링 길이는 128비트다.For example, if the length of the output string of the hash function is 512 bits,
Figure 112019004765589-pat00107
,
Figure 112019004765589-pat00108
And
Figure 112019004765589-pat00109
Is the equation
Figure 112019004765589-pat00110
Can be generated based on here,
Figure 112019004765589-pat00111
Is a concatenation operator. In addition,
Figure 112019004765589-pat00112
String length of,
Figure 112019004765589-pat00113
String length of and
Figure 112019004765589-pat00114
The string length of is 128 bits.

일 예로, 해쉬 함수의 출력 스트링의 길이가 256 비트인 경우,

Figure 112019004765589-pat00115
,
Figure 112019004765589-pat00116
Figure 112019004765589-pat00117
은 수학식
Figure 112019004765589-pat00118
및 수학식
Figure 112019004765589-pat00119
에 기초하여 생성될 수 있다. 여기서,
Figure 112019004765589-pat00120
은 결합 연산자이다. 또한,
Figure 112019004765589-pat00121
의 스트링 길이,
Figure 112019004765589-pat00122
의 스트링 길이 및
Figure 112019004765589-pat00123
의 스트링 길이는 128비트다.For example, if the length of the output string of the hash function is 256 bits,
Figure 112019004765589-pat00115
,
Figure 112019004765589-pat00116
And
Figure 112019004765589-pat00117
Is the equation
Figure 112019004765589-pat00118
And the equation
Figure 112019004765589-pat00119
Can be generated based on here,
Figure 112019004765589-pat00120
Is a concatenation operator. In addition,
Figure 112019004765589-pat00121
String length of,
Figure 112019004765589-pat00122
String length of and
Figure 112019004765589-pat00123
The string length of is 128 bits.

다음으로, 제1 전자장치(100)는 복수의 비밀 키 중 하나인 제1 비밀 키, 사용자의 ID 및 PW에 기초하여 PRF(pseudorandom function, 유사 난수 함수) 값을 생성할 수 있다. PRF 값은 상술한 수학식 1에 기초하여 생성될 수 있다.Next, the first electronic device 100 may generate a pseudorandom function (PRF) value based on a first secret key that is one of a plurality of secret keys, an ID of a user, and a PW. The PRF value may be generated based on Equation 1 described above.

여기서, 제1 전자장치(100)는

Figure 112019004765589-pat00124
값(
Figure 112019004765589-pat00125
)을 생성할 수 있다.
Figure 112019004765589-pat00126
인 경우, 제1 전자장치(100)는 세션 키 생성 과정을 종료(또는 중단, 중지)한다.
Figure 112019004765589-pat00127
인 경우, 제1 전자장치(100)는 세션 키 생성 과정을 계속 진행한다.Here, the first electronic device 100
Figure 112019004765589-pat00124
value(
Figure 112019004765589-pat00125
) Can be created.
Figure 112019004765589-pat00126
If yes, the first electronic device 100 ends (or stops, stops) the session key generation process.
Figure 112019004765589-pat00127
If yes, the first electronic device 100 continues the session key generation process.

또한, 제1 전자장치(100)는

Figure 112019004765589-pat00128
값(
Figure 112019004765589-pat00129
)를 생성할 수 있다.In addition, the first electronic device 100
Figure 112019004765589-pat00128
value(
Figure 112019004765589-pat00129
) Can be created.

또한, 제1 전자장치(100)는 생성된 PRF 값에 기초하여 제2 MAC 값을 생성할 수 있다(2010). 제2 MAC 값은 아래의 수학식 3에 기초하여 생성될 수 있다.Also, the first electronic device 100 may generate a second MAC value based on the generated PRF value (2010). The second MAC value may be generated based on Equation 3 below.

Figure 112019004765589-pat00130
Figure 112019004765589-pat00130

여기서,

Figure 112019004765589-pat00131
는 제2 MAC 값,
Figure 112019004765589-pat00132
Figure 112019004765589-pat00133
,
Figure 112019004765589-pat00134
는 메시지 인증 코드 함수다.here,
Figure 112019004765589-pat00131
Is the second MAC value,
Figure 112019004765589-pat00132
Is
Figure 112019004765589-pat00133
,
Figure 112019004765589-pat00134
Is the message authentication code function.

상술한 예와 같이 제2 MAC 값이 생성되면, 제1 전자장치(100)는 생성된 제2 MAC 값을 제2 전자장치(200)으로 송신할 수 있다(2011).When the second MAC value is generated as in the above example, the first electronic device 100 may transmit the generated second MAC value to the second electronic device 200 (2011).

제1 전자장치(100)는 제1 키, 제2 키, 제1 MAC 값, 제2 MAC 값 및 제3 비밀 키에 기초하여 세션 키(

Figure 112019004765589-pat00135
)를 생성할 수 있다(2013-1).The first electronic device 100 is based on the first key, the second key, the first MAC value, the second MAC value, and the third secret key.
Figure 112019004765589-pat00135
) Can be created (2013-1).

제2 전자장치(200)는 제2 MAC 값을 수신하면, 인증 과정을 수행할 수 있다(2012).When the second electronic device 200 receives the second MAC value, the second electronic device 200 may perform an authentication process (2012).

먼저,

Figure 112019004765589-pat00136
인 경우, 제2 전자장치(200)는 세션 키 생성 과정을 종료(또는 중단, 중지)한다.
Figure 112019004765589-pat00137
인 경우, 제1 전자장치(100)는 제1 키, 제2 키, 제1 MAC 값, 제2 MAC 값 및 제3 비밀 키에 기초하여 세션 키(
Figure 112019004765589-pat00138
)를 생성한다(2013-2)first,
Figure 112019004765589-pat00136
If yes, the second electronic device 200 ends (or stops, stops) the session key generation process.
Figure 112019004765589-pat00137
In the case of, the first electronic device 100 includes a session key (
Figure 112019004765589-pat00138
) To create (2013-2)

상술한 세션 키 생성 과정의 예에 따르면, 제1 전자장치(100) 및 제2 전자장치(200) 간에 교환되는 메시지는 ID 및 PW, 디피 헬만 키 교환, MAC 및 PRF를 통해 다중의 보안이 가능하다. 이를 통해, 외부 공격자 및 호기심을 갖는(honest-but-curious) 제조사로부터 메시지를 보안할 수 있다.According to the example of the session key generation process described above, a message exchanged between the first electronic device 100 and the second electronic device 200 can be multiplexed through ID and PW, Diffie Hellman key exchange, and MAC and PRF. Do. Through this, messages can be secured from external attackers and highly-but-curious manufacturers.

또한, 상술한 세션 키 생성 과정의 예에 따르면, 제1 전자장치(100) 및 제2 전자장치(200)는 타원곡선암호(ECC)에 기초하여 각각 지수 승 2회 및 간단한 MAC 연산, 간단한 PRF 연산을 수행하면 되므로 효율성이 향상된다.In addition, according to the example of the session key generation process described above, the first electronic device 100 and the second electronic device 200 each have an exponential power of 2 times, a simple MAC operation, and a simple PRF based on an elliptic curve encryption (ECC). Efficiency is improved because you only need to perform calculations.

또한, 일 예로, 제2 전자장치(200)는 기존 PW를 변경할 수 있다.Also, as an example, the second electronic device 200 may change the existing PW.

결론적으로, 인증 프로세스 및 키 교환 프로세스에 필요한 연산을 최소화하여, 사물인터넷 환경에서의 세션 키 생성 과정을 경량화할 수 있다. 이를 통해, 사물인터넷 기기에 내장된 ID(identification) 및 PW(password) 정보를 보호할 수 있다.In conclusion, it is possible to lighten the session key generation process in the IoT environment by minimizing operations required for the authentication process and the key exchange process. Through this, identification (ID) and password (PW) information embedded in the IoT device can be protected.

이하에서, 도 3 및 도 4를 참조하여 제1 전자장치(100) 및 제2 전자장치(200)의 구성을 상세히 설명한다. 여기서, 상술한 세션 키 생성 과정과 중복되는 내용은 설명의 편의를 위해 생략한다.Hereinafter, configurations of the first electronic device 100 and the second electronic device 200 will be described in detail with reference to FIGS. 3 and 4. Here, the contents overlapping with the above-described session key generation process will be omitted for convenience of description.

도 3은 본 발명의 일 실시 예에 따른 제1 전자장치의 블록도이다.3 is a block diagram of a first electronic device according to an embodiment of the present invention.

제1 전자장치(100)는 송수신부(110) 및 프로세서(120)를 포함한다.The first electronic device 100 includes a transceiver 110 and a processor 120.

송수신부(110)는 통신을 수행할 수 있다. 예를 들어, 송수신부(110)는 제2 전자장치(200)와 통신을 수행할 수 있다. 송수신부(110)는 제 제2 전자장치(200)와 통신을 수행하여 적어도 하나의 키를 교환할 수 있다.The transceiver 110 may perform communication. For example, the transmission/reception unit 110 may communicate with the second electronic device 200. The transmission/reception unit 110 may exchange at least one key by performing communication with the second electronic device 200.

프로세서(120)는 제1 전자장치(100)를 전반적으로 제어한다. 특히, 프로세서(120)는 제2 전자장치(200)와 세션 키 생성 과정을 수행할 수 있다.The processor 120 overall controls the first electronic device 100. In particular, the processor 120 may perform a process of generating a session key with the second electronic device 200.

도 4는 본 발명의 일 실시 예에 따른 제2 전자장치의 블록도이다.4 is a block diagram of a second electronic device according to an embodiment of the present invention.

제2 전자장치(200)는 송수신부(210) 및 프로세서(220)를 포함한다.The second electronic device 200 includes a transceiver 210 and a processor 220.

송수신부(210)는 통신을 수행할 수 있다. 예를 들어, 송수신부(210)는 제1 전자장치(100)와 통신을 수행할 수 있다. 송수신부(210)는 제 제1 전자장치(100)와 통신을 수행하여 적어도 하나의 키를 교환할 수 있다.The transceiver 210 may perform communication. For example, the transceiving unit 210 may communicate with the first electronic device 100. The transceiving unit 210 may exchange at least one key by performing communication with the first electronic device 100.

프로세서(220)는 제2 전자장치(200)를 전반적으로 제어한다. 특히, 프로세서(220)는 제1 전자장치(200)와 세션 키 생성 과정을 수행할 수 있다.The processor 220 overall controls the second electronic device 200. In particular, the processor 220 may perform a process of generating a session key with the first electronic device 200.

도 5는 본 발명의 일 실시 예에 따른 제1 전자장치 또는 제2 전자장치의 세부 블록도이다.5 is a detailed block diagram of a first electronic device or a second electronic device according to an embodiment of the present invention.

도 5을 참조하면, 제1 전자장치(또는 제2 전자장치)(500)는 통신부(510), 저장부(520) 및 프로세서(530)를 포함한다.Referring to FIG. 5, a first electronic device (or second electronic device) 500 includes a communication unit 510, a storage unit 520, and a processor 530.

통신부(510)는 통신을 수행한다.The communication unit 510 performs communication.

통신부(510)는 유선 또는, BT(BlueTooth), WI-FI(Wireless Fidelity), Zigbee, IR(Infrared), NFC(Near Field Communication) 등과 같은 다양한 통신 방식을 통해 외부의 전자 장치와 통신을 수행할 수 있다.The communication unit 510 communicates with an external electronic device through wired or various communication methods such as BT (BlueTooth), WI-FI (Wireless Fidelity), Zigbee, IR (Infrared), NFC (Near Field Communication). I can.

저장부(520)는 제1 전자장치(또는 제2 전자장치)(500)를 구동시키기 위한 O/S(Operating System) 소프트웨어 모듈, 디스플레이 영역에서 제공되는 다양한 UI 화면을 구성하기 위한 데이터 등을 저장할 수 있다. 일 예로, 저장부(520)는 UX/UI 데이터 등을 포함할 수 있다. 또한, 저장부(520)는 PW/ID,

Figure 112019004765589-pat00139
, 키 값 등을 저장할 수 있다.The storage unit 520 stores an O/S (Operating System) software module for driving the first electronic device (or second electronic device) 500, and data for configuring various UI screens provided in the display area. I can. As an example, the storage unit 520 may include UX/UI data, and the like. In addition, the storage unit 520 is a PW/ID,
Figure 112019004765589-pat00139
, Key values, etc. can be stored.

프로세서(530)는 저장부(520)에 저장된 각종 프로그램을 이용하여 제1 전자장치(또는 제2 전자장치)(500)의 동작을 전반적으로 제어한다. The processor 530 generally controls the operation of the first electronic device (or the second electronic device) 500 by using various programs stored in the storage unit 520.

구체적으로, 프로세서(530)는 RAM(531), ROM(532), 그래픽 처리부(533), 메인 CPU(534), 제1 내지 n 인터페이스(535-1 ~ 535-n), 버스(537)를 포함한다.Specifically, the processor 530 includes a RAM 531, a ROM 532, a graphic processing unit 533, a main CPU 534, the first to n interfaces 535-1 to 535-n, and a bus 537. Include.

RAM(531), ROM(532), 그래픽 처리부(533), 메인 CPU(534), 제1 내지 n 인터페이스(535-1 내지 535-n) 등은 버스(537)를 통해 서로 연결될 수 있다. The RAM 531, the ROM 532, the graphic processing unit 533, the main CPU 534, the first to nth interfaces 535-1 to 535-n, and the like may be connected to each other through the bus 537.

ROM(532)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(534)는 ROM(532)에 저장된 명령어에 따라 저장부(520)에 저장된 O/S를 RAM(532)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(534)는 저장부(520)에 저장된 각종 어플리케이션 프로그램을 RAM(531)에 복사하고, RAM(531)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다. The ROM 532 stores an instruction set for booting the system, and the like. When the turn-on command is input and power is supplied, the main CPU 534 copies the O/S stored in the storage unit 520 to the RAM 532 according to the instruction stored in the ROM 532 and executes the O/S. Boot the system. When booting is completed, the main CPU 534 copies various application programs stored in the storage unit 520 to the RAM 531 and executes the application programs copied to the RAM 531 to perform various operations.

그래픽 처리부(533)는 연산부 및 렌더링부를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다.The graphic processing unit 533 generates a screen including various objects such as icons, images, and texts using an operation unit and a rendering unit.

메인 CPU(534)는 저장부(520)에 액세스하여, 저장부(520)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 저장부(520)에 저장된 각종 프로그램, 컨텐트, 데이터 등을 이용하여 다양한 동작을 수행한다. The main CPU 534 accesses the storage unit 520 and performs booting using the O/S stored in the storage unit 520. Then, various operations are performed using various programs, contents, data, etc. stored in the storage unit 520.

제1 내지 n 인터페이스(535-1 내지 535-n)는 상술한 각종 구성요소들과 연결된다. 일 예로, 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.The first to nth interfaces 535-1 to 535-n are connected to the various components described above. As an example, one of the interfaces may be a network interface that is connected to an external device through a network.

프로세서(530)는 난수를 선택하고, 선택된 난수에 기초하여 키를 생성할 수 있다. 또한, 프로세서(530)는 생성된 키에 기초하여 비밀 키를 생성할 수 있다. 또한, 프로세서(530)는 사용자의 ID 및 패스워드에 기초하여 PRF 값을 생성할 수 있다. 또한, 프로세서(530)는 RPF 값에 기초하여 MAC 값을 생성할 수 있다. 또한, 프로세서(530)는 키 및 MAC 값에 기초하여 세션 키를 생성할 수 있다.The processor 530 may select a random number and generate a key based on the selected random number. Also, the processor 530 may generate a secret key based on the generated key. Also, the processor 530 may generate a PRF value based on the user's ID and password. Also, the processor 530 may generate a MAC value based on the RPF value. Also, the processor 530 may generate a session key based on the key and MAC value.

도 6은 본 발명의 일 실시 예에 따른 세션 키 생성 방법에 대한 순서도이다.6 is a flowchart illustrating a method of generating a session key according to an embodiment of the present invention.

세션 키 생성 방법은, 제1 난수에 기초하여 생성된 제1 키를 수신하는 과정(610), 제2 난수에 기초하여 제2 키를 생성하는 과정(620), 제1 키 및 제2 난수에 기초하여 제3 키를 생성하는 과정(630), 제1 키, 제2 키 및 제3 키에 기초하여 복수의 비밀 키를 생성하는 과정(640), 복수의 비밀 키 중 하나인 제1 비밀 키, 사용자의 ID(identification) 및 패스워드(Password)에 기초하여 PRF(pseudorandom function, 유사 난수 함수) 값을 생성하는 과정(650), 상기 제1 키, 상기 제2 키, 상기 복수의 비밀 키 중 하나인 제2 비밀 키 및 PRF 값에 기초하여 생성된 제1 MAC(massage authentication code, 메시지 인증 코드) 값 및 제2 키를 송신하는 과정(660), 제2 MAC 값을 수신하는 과정(670) 및 제1 키, 제2 키, 상기 복수의 비밀 키 중 하나인 제3 비밀 키, 상기 PRF 값, 제1 MAC 값 및 제2 MAC 값에 기초하여 세션 키(session key)를 생성하는 과정(680)을 포함할 수 있다. The session key generation method includes a process of receiving a first key generated based on a first random number (610), a process of generating a second key based on a second random number (620), and a first key and a second random number. A process of generating a third key based on 630, a process of generating a plurality of secret keys based on a first key, a second key, and a third key (640), a first secret key that is one of a plurality of secret keys , The process of generating a pseudorandom function (PRF) value based on the user's identification and password (650), one of the first key, the second key, and the plurality of secret keys A process of transmitting a first mass authentication code (MAC) value and a second key generated based on a second secret key and a PRF value (660), a process of receiving a second MAC value (670), and A process of generating a session key based on a first key, a second key, and a third secret key that is one of the plurality of secret keys, the PRF value, the first MAC value, and the second MAC value (680). It may include.

여기서, 제1 난수 및 제2 난수는 집합

Figure 112019004765589-pat00140
에서 선택될 수 있다.Here, the first random number and the second random number are a set
Figure 112019004765589-pat00140
Can be chosen from

또한, 제1 난수는

Figure 112019004765589-pat00141
이고, 제2 난수는
Figure 112019004765589-pat00142
이고, 제1 키는
Figure 112019004765589-pat00143
이고, 제2 키는
Figure 112019004765589-pat00144
이고, 제3 키는
Figure 112019004765589-pat00145
이다.Also, the first random number is
Figure 112019004765589-pat00141
And the second random number is
Figure 112019004765589-pat00142
And the first key is
Figure 112019004765589-pat00143
And the second key is
Figure 112019004765589-pat00144
And the third key is
Figure 112019004765589-pat00145
to be.

일 예로, 제1 비밀 키는

Figure 112019004765589-pat00146
이고, 제2 비밀 키는
Figure 112019004765589-pat00147
이고, 제3 비밀 키는
Figure 112019004765589-pat00148
일 수 있다. 여기서,
Figure 112019004765589-pat00149
,
Figure 112019004765589-pat00150
Figure 112019004765589-pat00151
은,
Figure 112019004765589-pat00152
,
Figure 112019004765589-pat00153
Figure 112019004765589-pat00154
를 입력으로 하는 해쉬 함수
Figure 112019004765589-pat00155
의 출력 값에 기초하여 생성될 수 있다.For example, the first secret key is
Figure 112019004765589-pat00146
And the second secret key is
Figure 112019004765589-pat00147
And the third secret key is
Figure 112019004765589-pat00148
Can be here,
Figure 112019004765589-pat00149
,
Figure 112019004765589-pat00150
And
Figure 112019004765589-pat00151
silver,
Figure 112019004765589-pat00152
,
Figure 112019004765589-pat00153
And
Figure 112019004765589-pat00154
Hash function as input
Figure 112019004765589-pat00155
Can be generated based on the output value of.

일 예로, 해쉬 함수의 출력 스트링의 길이가 512 비트인 경우,

Figure 112019004765589-pat00156
,
Figure 112019004765589-pat00157
Figure 112019004765589-pat00158
은 수학식
Figure 112019004765589-pat00159
에 기초하여 생성될 수 있다. 여기서,
Figure 112019004765589-pat00160
은 결합(concatenation) 연산자이고,
Figure 112019004765589-pat00161
의 스트링 길이,
Figure 112019004765589-pat00162
의 스트링 길이 및
Figure 112019004765589-pat00163
의 스트링 길이는 128비트이다.For example, if the length of the output string of the hash function is 512 bits,
Figure 112019004765589-pat00156
,
Figure 112019004765589-pat00157
And
Figure 112019004765589-pat00158
Is the equation
Figure 112019004765589-pat00159
Can be generated based on here,
Figure 112019004765589-pat00160
Is the concatenation operator,
Figure 112019004765589-pat00161
String length of,
Figure 112019004765589-pat00162
String length of and
Figure 112019004765589-pat00163
The string length of is 128 bits.

다른 예로, 해쉬 함수의 출력 스트링의 길이가 256 비트인 경우,

Figure 112019004765589-pat00164
,
Figure 112019004765589-pat00165
Figure 112019004765589-pat00166
은 수학식
Figure 112019004765589-pat00167
및 수학식
Figure 112019004765589-pat00168
에 기초하여 생성될 수 있다. 여기서,
Figure 112019004765589-pat00169
은 결합 연산자이고,
Figure 112019004765589-pat00170
의 스트링 길이,
Figure 112019004765589-pat00171
의 스트링 길이 및
Figure 112019004765589-pat00172
의 스트링 길이는 128비트이다.As another example, if the length of the output string of the hash function is 256 bits,
Figure 112019004765589-pat00164
,
Figure 112019004765589-pat00165
And
Figure 112019004765589-pat00166
Is the equation
Figure 112019004765589-pat00167
And the equation
Figure 112019004765589-pat00168
Can be generated based on here,
Figure 112019004765589-pat00169
Is the associative operator,
Figure 112019004765589-pat00170
String length of,
Figure 112019004765589-pat00171
String length of and
Figure 112019004765589-pat00172
The string length of is 128 bits.

상술한 예에서, PRF 값은 아래의 수학식

Figure 112019004765589-pat00173
기초하여 생성될 수 있다. 여기서,
Figure 112019004765589-pat00174
는 PRF 값,
Figure 112019004765589-pat00175
는 사용자의 ID,
Figure 112019004765589-pat00176
는 패스워드,
Figure 112019004765589-pat00177
은 유사 난수 함수이다.In the above example, the PRF value is the following equation
Figure 112019004765589-pat00173
It can be created on the basis of. here,
Figure 112019004765589-pat00174
Is the PRF value,
Figure 112019004765589-pat00175
Is the user's ID,
Figure 112019004765589-pat00176
Is the password,
Figure 112019004765589-pat00177
Is a pseudorandom function.

또한, 제1 MAC 값은 수학식

Figure 112019004765589-pat00178
에 기초하여 생성될 수 있다.In addition, the first MAC value is Equation
Figure 112019004765589-pat00178
Can be generated based on

여기서,

Figure 112019004765589-pat00179
는 제1 MAC 값,
Figure 112019004765589-pat00180
Figure 112019004765589-pat00181
,
Figure 112019004765589-pat00182
는 메시지 인증 코드 함수일 수 있다.here,
Figure 112019004765589-pat00179
Is the first MAC value,
Figure 112019004765589-pat00180
Is
Figure 112019004765589-pat00181
,
Figure 112019004765589-pat00182
May be a message authentication code function.

한편, 상술한 본 개시의 다양한 실시 예들에 따른 세션 키 생성 방법은 컴퓨터로 실행 가능한 프로그램 코드로 구현되어 다양한 비 일시적 판독 가능 매체(non-transitory computer readable medium)에 저장된 상태로 프로세서에 의해 실행되도록 각 서버 또는 기기들에 제공될 수 있다. Meanwhile, the session key generation method according to various embodiments of the present disclosure described above is implemented as a computer-executable program code and stored in various non-transitory computer readable mediums so that they are executed by a processor. It may be provided to servers or devices.

일 예로, 제1 난수에 기초하여 생성된 제1 키를 수신하는 과정, 제2 난수에 기초하여 제2 키를 생성하는 과정, 제1 키 및 제2 난수에 기초하여 제3 키를 생성하는 과정, 제1 키, 제2 키 및 제3 키에 기초하여 복수의 비밀 키를 생성하는 과정, 복수의 비밀 키 중 하나인 제1 비밀 키, 사용자의 ID(identification) 및 패스워드(Password)에 기초하여 PRF(pseudorandom function, 유사 난수 함수) 값을 생성하는 과정, 상기 제1 키, 상기 제2 키, 상기 복수의 비밀 키 중 하나인 제2 비밀 키 및 PRF 값에 기초하여 생성된 제1 MAC(massage authentication code, 메시지 인증 코드) 값 및 제2 키를 송신하는 과정, 제2 MAC 값을 수신하는 과정 및 제1 키, 제2 키, 상기 복수의 비밀 키 중 하나인 제3 비밀 키, 상기 PRF 값, 제1 MAC 값 및 제2 MAC 값에 기초하여 세션 키(session key)를 생성하는 과정을 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다. For example, a process of receiving a first key generated based on a first random number, a process of generating a second key based on a second random number, a process of generating a third key based on the first key and the second random number , A process of generating a plurality of secret keys based on a first key, a second key, and a third key, a first secret key that is one of a plurality of secret keys, based on the user's ID (identification) and password (Password) A process of generating a pseudorandom function (PRF) value, the first key, the second key, a second secret key that is one of the plurality of secret keys, and a first massage (MAC) generated based on a PRF value. authentication code, message authentication code) transmitting a value and a second key, receiving a second MAC value, a first key, a second key, a third secret key that is one of the plurality of secret keys, and the PRF value , A non-transitory computer readable medium storing a program for generating a session key based on the first MAC value and the second MAC value may be provided.

비 일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다. The non-temporary readable medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short moment, such as a register, cache, or memory. Specifically, the above-described various applications or programs may be provided by being stored in a non-transitory readable medium such as a CD, DVD, hard disk, Blu-ray disk, USB, memory card, and ROM.

또한, 이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.In addition, although the preferred embodiments of the present disclosure have been illustrated and described above, the present disclosure is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present disclosure claimed in the claims. In addition, various modifications may be possible by those of ordinary skill in the art, and these modifications should not be individually understood from the technical idea or perspective of the present disclosure.

사물인터넷 시스템: 10 제1 전자장치: 100
제2 전자장치: 200 송수신부: 110, 210
프로세서: 120, 220, 530 통신부: 510
저장부: 520
IoT system: 10 First electronic device: 100
Second electronic device: 200 Transmitting/receiving unit: 110, 210
Processor: 120, 220, 530 Communication unit: 510
Storage: 520

Claims (16)

세션 키(session key)를 생성하는 방법에 있어서,
제1 난수에 기초하여 생성된 제1 키를 수신하는 과정;
제2 난수에 기초하여 제2 키를 생성하는 과정;
상기 제1 키 및 상기 제2 난수에 기초하여 제3 키를 생성하는 과정;
상기 제1 키, 상기 제2 키 및 상기 제3 키에 기초하여 복수의 비밀 키를 생성하는 과정;
상기 복수의 비밀 키 중 하나인 제1 비밀 키, 사용자의 ID(identification) 및 패스워드(Password)에 기초하여 PRF(pseudorandom function, 유사 난수 함수) 값을 생성하는 과정;
상기 제1 키, 상기 제2 키, 상기 복수의 비밀 키 중 하나인 제2 비밀 키 및 상기 PRF 값에 기초하여 생성된 제1 MAC(massage authentication code, 메시지 인증 코드) 값 및 상기 제2 키를 송신하는 과정;
제2 MAC 값을 수신하는 과정; 및
상기 제1 키, 상기 제2 키, 상기 복수의 비밀 키 중 하나인 제3 비밀 키, 상기 PRF 값, 상기 제1 MAC 값 및 상기 제2 MAC 값에 기초하여 세션 키를 생성하는 과정;을 포함하는, 세션 키 생성 방법.
In the method of generating a session key,
Receiving a first key generated based on a first random number;
Generating a second key based on a second random number;
Generating a third key based on the first key and the second random number;
Generating a plurality of secret keys based on the first key, the second key, and the third key;
Generating a pseudorandom function (PRF) value based on a first secret key that is one of the plurality of secret keys, an identification (ID) and a password of a user;
The first key, the second key, a second secret key that is one of the plurality of secret keys, and a first mass authentication code (MAC) value generated based on the PRF value and the second key Transmitting process;
Receiving a second MAC value; And
Generating a session key based on the first key, the second key, and a third secret key that is one of the plurality of secret keys, the PRF value, the first MAC value, and the second MAC value; and How to generate a session key.
제1항에 있어서,
상기 제1 난수 및 상기 제2 난수는 집합
Figure 112019004765589-pat00183
에서 선택되는, 세션 키 생성 방법.
The method of claim 1,
The first random number and the second random number are a set
Figure 112019004765589-pat00183
Session key generation method selected from.
제1항에 있어서,
상기 제1 난수는
Figure 112019004765589-pat00184
이고, 상기 제2 난수는
Figure 112019004765589-pat00185
이고, 상기 제1 키는
Figure 112019004765589-pat00186
이고, 상기 제2 키는
Figure 112019004765589-pat00187
이고, 상기 제3 키는
Figure 112019004765589-pat00188
인, 세션 키 생성 방법.
The method of claim 1,
The first random number is
Figure 112019004765589-pat00184
And the second random number is
Figure 112019004765589-pat00185
And the first key is
Figure 112019004765589-pat00186
And the second key is
Figure 112019004765589-pat00187
And the third key is
Figure 112019004765589-pat00188
In, session key generation method.
제3항에 있어서,
상기 제1 비밀 키는
Figure 112019004765589-pat00189
이고,
상기 제2 비밀 키는
Figure 112019004765589-pat00190
이고,
상기 제3 비밀 키는
Figure 112019004765589-pat00191
이고,
상기
Figure 112019004765589-pat00192
, 상기
Figure 112019004765589-pat00193
및 상기
Figure 112019004765589-pat00194
은,
상기
Figure 112019004765589-pat00195
, 상기
Figure 112019004765589-pat00196
및 상기
Figure 112019004765589-pat00197
를 입력으로 하는 해쉬 함수
Figure 112019004765589-pat00198
의 출력 값에 기초하여 생성되는, 세션 키 생성 방법.
The method of claim 3,
The first secret key is
Figure 112019004765589-pat00189
ego,
The second secret key is
Figure 112019004765589-pat00190
ego,
The third secret key is
Figure 112019004765589-pat00191
ego,
remind
Figure 112019004765589-pat00192
, remind
Figure 112019004765589-pat00193
And above
Figure 112019004765589-pat00194
silver,
remind
Figure 112019004765589-pat00195
, remind
Figure 112019004765589-pat00196
And above
Figure 112019004765589-pat00197
Hash function as input
Figure 112019004765589-pat00198
Generated based on the output value of, session key generation method.
제4항에 있어서,
상기 해쉬 함수의 출력 스트링의 길이가 512 비트인 경우, 상기
Figure 112019004765589-pat00199
, 상기
Figure 112019004765589-pat00200
및 상기
Figure 112019004765589-pat00201
은 수학식
Figure 112019004765589-pat00202
에 기초하여 생성되고, 여기서,
Figure 112019004765589-pat00203
은 결합(concatenation) 연산자임,
상기
Figure 112019004765589-pat00204
의 스트링 길이, 상기
Figure 112019004765589-pat00205
의 스트링 길이 및 상기
Figure 112019004765589-pat00206
의 스트링 길이는 128비트인, 세션 키 생성 방법.
The method of claim 4,
If the length of the output string of the hash function is 512 bits, the
Figure 112019004765589-pat00199
, remind
Figure 112019004765589-pat00200
And above
Figure 112019004765589-pat00201
Is the equation
Figure 112019004765589-pat00202
Is created on the basis of, where,
Figure 112019004765589-pat00203
Is the concatenation operator,
remind
Figure 112019004765589-pat00204
String length, above
Figure 112019004765589-pat00205
String length and above
Figure 112019004765589-pat00206
The string length of is 128 bits, the method of generating the session key.
제4항에 있어서,
상기 해쉬 함수의 출력 스트링의 길이가 256 비트인 경우, 상기
Figure 112019004765589-pat00207
, 상기
Figure 112019004765589-pat00208
및 상기
Figure 112019004765589-pat00209
은 수학식
Figure 112019004765589-pat00210
및 수학식
Figure 112019004765589-pat00211
에 기초하여 생성되고, 여기서,
Figure 112019004765589-pat00212
은 결합 연산자임,
상기
Figure 112019004765589-pat00213
의 스트링 길이, 상기
Figure 112019004765589-pat00214
의 스트링 길이 및 상기
Figure 112019004765589-pat00215
의 스트링 길이는 128비트인, 세션 키 생성 방법.
The method of claim 4,
When the length of the output string of the hash function is 256 bits, the
Figure 112019004765589-pat00207
, remind
Figure 112019004765589-pat00208
And above
Figure 112019004765589-pat00209
Is the equation
Figure 112019004765589-pat00210
And the equation
Figure 112019004765589-pat00211
Is created on the basis of, where,
Figure 112019004765589-pat00212
Is the associative operator,
remind
Figure 112019004765589-pat00213
String length, above
Figure 112019004765589-pat00214
String length and above
Figure 112019004765589-pat00215
The string length of is 128 bits, the method of generating the session key.
제4항에 있어서,
상기 PRF 값은 아래의 수학식에 기초하여 생성되고,
Figure 112019004765589-pat00216

여기서,
Figure 112019004765589-pat00217
는 PRF 값,
Figure 112019004765589-pat00218
는 사용자의 ID,
Figure 112019004765589-pat00219
는 패스워드,
Figure 112019004765589-pat00220
은 유사 난수 함수인, 세션 키 생성 방법.
The method of claim 4,
The PRF value is generated based on the following equation,
Figure 112019004765589-pat00216

here,
Figure 112019004765589-pat00217
Is the PRF value,
Figure 112019004765589-pat00218
Is the user's ID,
Figure 112019004765589-pat00219
Is the password,
Figure 112019004765589-pat00220
Is a pseudo-random function, a method of generating a session key.
제7항에 있어서,
상기 제1 MAC 값은 아래의 수학식에 기초하여 생성되고,
Figure 112019004765589-pat00221

여기서,
Figure 112019004765589-pat00222
는 제1 MAC 값,
Figure 112019004765589-pat00223
Figure 112019004765589-pat00224
,
Figure 112019004765589-pat00225
는 메시지 인증 코드 함수인, 세션 키 생성 방법.
The method of claim 7,
The first MAC value is generated based on the following equation,
Figure 112019004765589-pat00221

here,
Figure 112019004765589-pat00222
Is the first MAC value,
Figure 112019004765589-pat00223
Is
Figure 112019004765589-pat00224
,
Figure 112019004765589-pat00225
Is a message authentication code function, how to generate a session key.
세션 키(session key)를 생성하는 전자장치에 있어서,
송수신부; 및
제1 난수에 기초하여 생성된 제1 키를 수신하도록 상기 송수신부를 제어하고,
제2 난수에 기초하여 제2 키를 생성하고,
상기 제1 키 및 상기 제2 난수에 기초하여 제3 키를 생성하고,
상기 제1 키, 상기 제2 키 및 상기 제3 키에 기초하여 복수의 비밀 키를 생성하고,
상기 복수의 비밀 키 중 하나인 제1 비밀 키, 사용자의 ID(identification) 및 패스워드(Password)에 기초하여 PRF(pseudorandom function, 유사 난수 함수) 값을 생성하고,
상기 제1 키, 상기 제2 키, 상기 복수의 비밀 키 중 하나인 제2 비밀 키 및 상기 PRF 값에 기초하여 생성된 제1 MAC(massage authentication code, 메시지 인증 코드) 값 및 상기 제2 키를 송신하도록 상기 송수신부를 제어하고,
제2 MAC 값을 수신하도록 상기 상기 송수신부를 제어하고,
상기 제1 키, 상기 제2 키, 상기 복수의 비밀 키 중 하나인 제3 비밀 키, 상기 PRF 값, 상기 제1 MAC 값 및 상기 제2 MAC 값에 기초하여 세션 키를 생성하는 프로세서;를 포함하는, 전자장치.
In an electronic device that generates a session key,
A transceiver; And
Controlling the transceiver to receive a first key generated based on a first random number,
Generate a second key based on a second random number,
Generate a third key based on the first key and the second random number,
Generating a plurality of secret keys based on the first key, the second key, and the third key,
Generates a pseudorandom function (PRF) value based on a first secret key, which is one of the plurality of secret keys, and a user's identification and password,
The first key, the second key, a second secret key that is one of the plurality of secret keys, and a first mass authentication code (MAC) value generated based on the PRF value and the second key Controlling the transceiver to transmit,
Controlling the transceiver to receive a second MAC value,
A processor for generating a session key based on the first key, the second key, and a third secret key that is one of the plurality of secret keys, the PRF value, the first MAC value, and the second MAC value; The electronic device.
제9항에 있어서,
상기 제1 난수 및 상기 제2 난수는 집합
Figure 112019004765589-pat00226
에서 선택되는, 전자장치.
The method of claim 9,
The first random number and the second random number are a set
Figure 112019004765589-pat00226
Selected from, electronics.
제9항에 있어서,
상기 제1 난수는
Figure 112019004765589-pat00227
이고, 상기 제2 난수는
Figure 112019004765589-pat00228
이고, 상기 제1 키는
Figure 112019004765589-pat00229
이고, 상기 제2 키는
Figure 112019004765589-pat00230
이고, 상기 제3 키는
Figure 112019004765589-pat00231
인, 전자장치.
The method of claim 9,
The first random number is
Figure 112019004765589-pat00227
And the second random number is
Figure 112019004765589-pat00228
And the first key is
Figure 112019004765589-pat00229
And the second key is
Figure 112019004765589-pat00230
And the third key is
Figure 112019004765589-pat00231
Phosphorus, electronics.
제9항에 있어서,
상기 제1 비밀 키는
Figure 112019004765589-pat00232
이고,
상기 제2 비밀 키는
Figure 112019004765589-pat00233
이고,
상기 제3 비밀 키는
Figure 112019004765589-pat00234
이고,
상기
Figure 112019004765589-pat00235
, 상기
Figure 112019004765589-pat00236
및 상기
Figure 112019004765589-pat00237
은,
상기
Figure 112019004765589-pat00238
, 상기
Figure 112019004765589-pat00239
및 상기
Figure 112019004765589-pat00240
를 입력으로 하는 해쉬 함수
Figure 112019004765589-pat00241
의 출력 값에 기초하여 생성되는, 전자장치.
The method of claim 9,
The first secret key is
Figure 112019004765589-pat00232
ego,
The second secret key is
Figure 112019004765589-pat00233
ego,
The third secret key is
Figure 112019004765589-pat00234
ego,
remind
Figure 112019004765589-pat00235
, remind
Figure 112019004765589-pat00236
And above
Figure 112019004765589-pat00237
silver,
remind
Figure 112019004765589-pat00238
, remind
Figure 112019004765589-pat00239
And above
Figure 112019004765589-pat00240
Hash function as input
Figure 112019004765589-pat00241
Generated based on the output value of, electronic device.
제12항에 있어서,
상기 해쉬 함수의 출력 스트링의 길이가 512 비트인 경우, 상기
Figure 112020065825080-pat00242
, 상기
Figure 112020065825080-pat00243
및 상기
Figure 112020065825080-pat00244
는 수학식
Figure 112020065825080-pat00245
에 기초하여 생성되고, 여기서,
Figure 112020065825080-pat00246
은 결합(concatenation) 연산자임,
상기
Figure 112020065825080-pat00247
의 스트링 길이, 상기
Figure 112020065825080-pat00248
의 스트링 길이 및 상기
Figure 112020065825080-pat00249
의 스트링 길이는 128비트인, 전자장치.
The method of claim 12,
If the length of the output string of the hash function is 512 bits, the
Figure 112020065825080-pat00242
, remind
Figure 112020065825080-pat00243
And above
Figure 112020065825080-pat00244
Is the equation
Figure 112020065825080-pat00245
Is created on the basis of, where,
Figure 112020065825080-pat00246
Is the concatenation operator,
remind
Figure 112020065825080-pat00247
String length, above
Figure 112020065825080-pat00248
String length and above
Figure 112020065825080-pat00249
The electronic device has a string length of 128 bits.
제12항에 있어서,
상기 해쉬 함수의 출력 스트링의 길이가 256 비트인 경우, 상기
Figure 112019004765589-pat00250
, 상기
Figure 112019004765589-pat00251
및 상기
Figure 112019004765589-pat00252
는 수학식
Figure 112019004765589-pat00253
및 수학식
Figure 112019004765589-pat00254
에 기초하여 생성되고, 여기서,
Figure 112019004765589-pat00255
은 결합 연산자임,
상기
Figure 112019004765589-pat00256
의 스트링 길이, 상기
Figure 112019004765589-pat00257
의 스트링 길이 및 상기
Figure 112019004765589-pat00258
의 스트링 길이는 128비트인, 전자장치.
The method of claim 12,
When the length of the output string of the hash function is 256 bits, the
Figure 112019004765589-pat00250
, remind
Figure 112019004765589-pat00251
And above
Figure 112019004765589-pat00252
Is the equation
Figure 112019004765589-pat00253
And the equation
Figure 112019004765589-pat00254
Is created on the basis of, where,
Figure 112019004765589-pat00255
Is the associative operator,
remind
Figure 112019004765589-pat00256
String length, above
Figure 112019004765589-pat00257
String length and above
Figure 112019004765589-pat00258
The electronic device has a string length of 128 bits.
제12항에 있어서,
상기 PRF 값은 아래의 수학식에 기초하여 생성되고,
Figure 112019004765589-pat00259

여기서,
Figure 112019004765589-pat00260
는 PRF 값,
Figure 112019004765589-pat00261
는 사용자의 ID,
Figure 112019004765589-pat00262
는 패스워드,
Figure 112019004765589-pat00263
은 유사 난수 함수인, 전자장치.
The method of claim 12,
The PRF value is generated based on the following equation,
Figure 112019004765589-pat00259

here,
Figure 112019004765589-pat00260
Is the PRF value,
Figure 112019004765589-pat00261
Is the user's ID,
Figure 112019004765589-pat00262
Is the password,
Figure 112019004765589-pat00263
Is a pseudorandom function, an electronic device.
제15항에 있어서,
상기 제1 MAC 값은 아래의 수학식에 기초하여 생성되고,
Figure 112020502559811-pat00264

여기서,
Figure 112020502559811-pat00265
는 제1 MAC 값,
Figure 112020502559811-pat00266
Figure 112020502559811-pat00267
,
Figure 112020502559811-pat00268
는 메시지 인증 코드 함수인, 전자장치.
The method of claim 15,
The first MAC value is generated based on the following equation,
Figure 112020502559811-pat00264

here,
Figure 112020502559811-pat00265
Is the first MAC value,
Figure 112020502559811-pat00266
Is
Figure 112020502559811-pat00267
,
Figure 112020502559811-pat00268
Is a message authentication code function, an electronic device.
KR1020190005037A 2019-01-15 2019-01-15 Method for generating session key and electronic apparatus thereof KR102164904B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190005037A KR102164904B1 (en) 2019-01-15 2019-01-15 Method for generating session key and electronic apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190005037A KR102164904B1 (en) 2019-01-15 2019-01-15 Method for generating session key and electronic apparatus thereof

Publications (2)

Publication Number Publication Date
KR20200088591A KR20200088591A (en) 2020-07-23
KR102164904B1 true KR102164904B1 (en) 2020-10-13

Family

ID=71894203

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190005037A KR102164904B1 (en) 2019-01-15 2019-01-15 Method for generating session key and electronic apparatus thereof

Country Status (1)

Country Link
KR (1) KR102164904B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220127587A (en) * 2021-03-11 2022-09-20 한국전자통신연구원 Apparatus and method for generating key based on machine learning

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112512038B (en) * 2020-11-19 2022-11-29 中国建设银行股份有限公司 Method and device for generating session key, electronic equipment and readable storage medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
I-PAKE: Identity-Based Password Authenticated Key Exchange, draft-kwon-yoon-kim-ipake-01, IETF(2013.05.03.) 1부.*
박진영 등, "ID 기반 서명 기법을 이용한 IP 카메라 인증 및 키 교환 프로토콜." 정보보호학회논문지, Vol. 28, pp. 789-801(2018.08.) 1부.*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220127587A (en) * 2021-03-11 2022-09-20 한국전자통신연구원 Apparatus and method for generating key based on machine learning
KR102648499B1 (en) 2021-03-11 2024-03-19 한국전자통신연구원 Apparatus and method for generating key based on machine learning

Also Published As

Publication number Publication date
KR20200088591A (en) 2020-07-23

Similar Documents

Publication Publication Date Title
US9756024B2 (en) Computer-implemented cryptographic method for improving a computer network, and terminal, system and computer-readable medium for the same
KR101776172B1 (en) Internet of things device
US8601267B2 (en) Establishing a secured communication session
US11057196B2 (en) Establishing shared key data for wireless pairing
CN107683582B (en) Authentication stylus device
US20160099920A1 (en) Method for establishing a cryptographically protected communication channel
CN110198295A (en) Safety certifying method and device and storage medium
AU2022100184A4 (en) System for and method of authenticating a component of an electronic device
JP2019530265A (en) Method and apparatus for providing and acquiring graphic code information and terminal
US20170353315A1 (en) Secure electronic entity, electronic apparatus and method for verifying the integrity of data stored in such a secure electronic entity
JP5068361B2 (en) Non-interactive key generation apparatus and method, and communication security method using the same
CN103281193A (en) Identity authentication method and system and data transmission method and device based on same
KR102164904B1 (en) Method for generating session key and electronic apparatus thereof
CN112398894A (en) Safety verification method and device for vehicle
CN105704114A (en) Hearing device with service mode and related method
KR20170038542A (en) Security certification apparatus using biometric information and security certification method
KR102285310B1 (en) Method for generating session key and electronic apparatus thereof
JP2017108237A (en) System, terminal device, control method and program
KR101929355B1 (en) Encryption and decryption system using unique serial number and symmetric cryptography
KR101834522B1 (en) Apparatus for confirming data and method for confirming data using the same
KR101834515B1 (en) Apparatus for encrypting and decrypting including input unit
KR101758232B1 (en) method of encryption or decryption a data block, apparatus for encryption or decryption a data block, and storage medium for storing a program for encryption or decryption a data block
CN113873513A (en) Method and apparatus for processing control key
JP2014153743A (en) Random number generation system, random number generation method, and control device
CN110706046A (en) Kitchen equipment activation method and device, storage medium and electronic equipment

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