KR102164904B1 - Method for generating session key and electronic apparatus thereof - Google Patents
Method for generating session key and electronic apparatus thereof Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3242—Cryptographic 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
본 발명은 세션 키를 생성하는 방법 및 그 전자장치에 대한 것으로, 보다 상세하게는 사물인터넷(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.
유사 난수 함수는 두 개의 값()를 입력 받아 를 출력하는 함수이다. 유사 난수 함수는 키 공간 에서 임의로 선택된 키 에 대해 정의된 가 동일한 정의역과 공역에서 정의된 랜덤함수 와 구별되기 어렵기 때문에 유사 난수 함수의 입력 값 정보를 숨김으로써 안전성이 확보될 수 있다.The pseudorandom function has two values ( Enter) Is a function that prints. Pseudorandom function is key space Randomly selected key from Defined for Is a random function defined in the same domain and conjugate Since it is difficult to distinguish from, safety can be ensured by hiding the input value information of the pseudorandom function.
메시지 인증 코드는 발신자(또는 발신자의 메시지)에 대한 인증과 메시지의 무결성을 수신자 측에서 확인할 수 있는 방법을 제공한다. 메시지 인증 코드는 비밀키 입력받고, 임의 길이의 메시지 인증할 수 있다. 또한, 메시지 인증 코드에 기초하여 MAC 값으로 이 출력될 수 있다. 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 Receive input, message of arbitrary length You can authenticate. Also, based on the message authentication code, the MAC value 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.
서명() 과정: 서명자는 서명할 메시지 및 비밀키 입력으로, 를 출력할 수 있다.signature( ) Process: Signer is the message to be signed And secret key As input, Can be printed.
검증() 과정: 검증자는 상기 , 메시지 및 비밀키 를 입력으로, 이면 T(true)를 출력하고, 이면 F(false)를 출력할 수 있다.Verification( ) Process: Verifier reminded , message And secret key As input, If is, T(true) is output, If it is, F(false) can be output.
디피-헬만 키 교환의 이산로그 문제는 위수가 소수 곱셈 군(multiplicative group) 와 임의의 원소 에 대하여 를 만족하는 를 찾는 문제이다. 디피-헬만 키 교환 방법은 제1 전자장치 및 제2 전자장치의 원소 를 각각 선택하여 상대방에게 및 를 전송하고, 세션 키 를 생성한다. 제1 전자장치는 를 생성하고, 제2 전자장치는 를 생성한다. 여기서, 제1 전자장치 및 제2 전자장치의 채널 상에 송수신되는 및 를 획득하여 및 판단하는 것은 이산로그의 문제를 풀어야 하므로 매우 어렵다. 따라서, 제3 자는 추가적인 정보 없이 세션 키를 알아내기 어렵다.The discrete log problem of Diffie-Hellman key exchange is prime Multiplicative group And any element about Satisfying 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. To each other by selecting And And the session key Create The first electronic device And the second electronic device Create Here, the first electronic device and the second electronic device transmitted and received on the channel And By obtaining And 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
제1 전자장치(100)는 사물 또는 전자장치일 수 있다. 예를 들어, 제1 전자장치(100)는 냉장고, CCTV, TV, 세탁기, 제습기 등의 각종 가전기기, 전등, 화재 경보기, 댁내 기기일 수 있다. 이 경우, 제1 전자장치(100)는 온도 센서, 습도 센서, 음향 센서, 모션 센서, 근접 센서, 가스 감지 센서, 열 감지 센서 등의 각종 센서를 포함할 수 있다.The first
제2 전자장치(100)는 스마트폰, 태블릿 컴퓨터와 같은 스마트 기기, 휴대용 전자 기기, 웨어러블 기기(wearable device), 홈 네트워크에 연결 가능한 홈 단말(home terminal), 스마트 TV, 셋톱 박스(set top box) 등 다양한 전자 장치일 수 있다.The second
제1 전자장치(100) 및 제2 전자장치(200)는 무선 통신, 근거리 통신, 홈 네트워크 등 다양한 통신 기술, 통신 프로토콜 등으로 서로 연결될 수 있다.The first
일 예로, 제1 전자장치(100) 및 제2 전자장치(200)는 암호화 키인 세션 키를 생성할 수 있다. 제1 전자장치(100) 및 제2 전자장치(200)는 생성된 세션 키에 기초하여 기 정의된 통신 세션 동안 통신을 수행하여 정보(또는 메시지)를 교환할 수 있다.For example, the first
일 예로, 제1 전자장치(100) 및 제2 전자장치(200)는 세션 키를 생성하기 위한 과정을 수행할 수 있다. 제1 전자장치(100) 및 제2 전자장치(200)는 세션 키를 생성하기 위한 프로토콜에 따라 키를 교환하는 과정, 인증을 수행하는 과정, 세션 키를 생성하는 과정 등을 수행할 수 있다.As an example, the first
이하에서는, 제1 전자장치(100) 및 제2 전자장치(200)의 세션 키 생성 과정을 상세히 설명한다. 이하의 과정에서는 시스템 셋업 과정이 수행된 것으로 가정한다. 예를 들어, 시스템 셋업 과정에서, 키 생성 장치(제1 전자장치(100), 제2 전자장치(200) 또는 제3의 전자장치일 수 있음)는 보안 상수 를 입력받아 위수가 소수 인 곱셈 군(multiplicative group) 의 생성원 선택할 수 있다. 또는, 키 생성 장치는 보안 상수 를 입력받아 위수가 소수 인 타원곡선 위 그룹 를 설정하고 생성원 g를 선택할 수 있다. 또한, 키 생성 장치는 해쉬함수(암호학적) 와 MAC 알고리즘을 포함하여 공개 파라미터 을 설정할 수 있다.Hereinafter, a process of generating a session key by the first
도 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
이하에서, 제1 전자장치(100)는 ID, PW 및 에 대한 정보를 기 저장하고, 제2 전자장치(200)는 에 대한 정보를 기 저장함을 가정한다.Hereinafter, the first
제1 전자장치(100)는 제1 난수()를 선택할 수 있다(2001). 또한, 제1 전자장치(100)는 선택된 제1 난수에 기초하여 제1 키()를 생성할 수 있다(2002). 제1 전자장치(100)는 생성된 제1 키를 제2 전자장치(200)로 송신할 수 있다(2003).The first
제2 전자장치(200)는 ID/PW를 입력받을 수 있다(2004). 일 예로, 제2 전자장치(200)는 ID/PW 정보를 포함하는 QR코드를 리드하여 ID/PW를 입력받을 수 있다.The second
제2 전자장치(200)는 제2 난수()를 선택할 수 있다(2005). 또한, 제2 전자장치(200)는 선택된 제2 난수에 기초하여 제2 키()를 생성할 수 있다(2006).The second
제2 전자장치(200)는 제1 MAC 값을 생성할 수 있다(2007). The second
먼저, 제2 전자장치(200)는 제1 키 및 제2 난수에 기초하여 제3 키()를 생성할 수 있다. First, the second
제2 전자장치(200)는 상술한 예에서 생성된 제1키, 제2 키 및 제3키에 기초하여 복수의 비밀 키를 생성할 수 있다. 예를 들어, 복수의 비밀 키는 , 및 를 포함할 수 있다. 여기서, 비밀 키 , 및 은 , 및 를 입력으로 하는 해쉬 함수 의 출력 값에 기초하여 생성될 수 있다.The second
일 예로, 해쉬 함수의 출력 스트링의 길이가 512 비트인 경우, , 및 은 수학식 에 기초하여 생성될 수 있다. 여기서,은 결합(concatenation) 연산자이다. 또한, 의 스트링 길이, 의 스트링 길이 및 의 스트링 길이는 128비트다.For example, if the length of the output string of the hash function is 512 bits, , And Is the equation Can be generated based on here, Is a concatenation operator. In addition, String length of, String length of and The string length of is 128 bits.
일 예로, 해쉬 함수의 출력 스트링의 길이가 256 비트인 경우, , 및 은 수학식 및 수학식 에 기초하여 생성될 수 있다. 여기서,은 결합 연산자이다. 또한, 의 스트링 길이, 의 스트링 길이 및 의 스트링 길이는 128비트다.For example, if the length of the output string of the hash function is 256 bits, , And Is the equation And the equation Can be generated based on here, Is a concatenation operator. In addition, String length of, String length of and The string length of is 128 bits.
다음으로, 제2 전자장치(200)는 복수의 비밀 키 중 하나인 제1 비밀 키, 사용자의 ID 및 PW에 기초하여 PRF(pseudorandom function, 유사 난수 함수) 값을 생성할 수 있다. PRF 값은 아래의 수학식 1에 기초하여 생성될 수 있다.Next, the second
여기서, 는 PRF 값, 는 사용자의 ID, 는 패스워드, 은 유사 난수 함수다.here, Is the PRF value, Is the user's ID, Is the password, Is a pseudorandom function.
또한, 제2 전자장치(200)는 값()을 생성할 수 있다. In addition, the second
또한, 제2 전자장치(200)는 생성된 PRF 값에 기초하여 제1 MAC(massage authentication code, 메시지 인증 코드) 값을 생성할 수 있다. 제1 MAC 값은 아래의 수학식 2에 기초하여 생성될 수 있다. 구체적으로, 제1 MAC 값은 제1 키(), 제2 키(), 제2 비밀 키() 및 PRF 값()에 기초하여 생성될 수 있다.Also, the second
여기서, 는 제1 MAC 값, 는 , 는 메시지 인증 코드 함수다.here, Is the first MAC value, Is , 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
제1 전자장치(100)는 인증 과정을 수행한다(2009).The first
먼저, 제1 전자장치(100)는 제1 난수() 및 수신된 제2 키()에 기초하여 제3 키()를 생성할 수 있다.First, the first
제1 전자장치(100)는 제1 키, 제2 키 및 제3 키에 기초하여 복수의 비밀 키를 생성할 수 있다. . 예를 들어, 복수의 비밀 키는 , 및 를 포함할 수 있다. 여기서, 비밀 키 , 및 은 , 및 를 입력으로 하는 해쉬 함수 의 출력 값에 기초하여 생성될 수 있다.The first
일 예로, 해쉬 함수의 출력 스트링의 길이가 512 비트인 경우, , 및 은 수학식 에 기초하여 생성될 수 있다. 여기서,은 결합(concatenation) 연산자이다. 또한, 의 스트링 길이, 의 스트링 길이 및 의 스트링 길이는 128비트다.For example, if the length of the output string of the hash function is 512 bits, , And Is the equation Can be generated based on here, Is a concatenation operator. In addition, String length of, String length of and The string length of is 128 bits.
일 예로, 해쉬 함수의 출력 스트링의 길이가 256 비트인 경우, , 및 은 수학식 및 수학식 에 기초하여 생성될 수 있다. 여기서,은 결합 연산자이다. 또한, 의 스트링 길이, 의 스트링 길이 및 의 스트링 길이는 128비트다.For example, if the length of the output string of the hash function is 256 bits, , And Is the equation And the equation Can be generated based on here, Is a concatenation operator. In addition, String length of, String length of and The string length of is 128 bits.
다음으로, 제1 전자장치(100)는 복수의 비밀 키 중 하나인 제1 비밀 키, 사용자의 ID 및 PW에 기초하여 PRF(pseudorandom function, 유사 난수 함수) 값을 생성할 수 있다. PRF 값은 상술한 수학식 1에 기초하여 생성될 수 있다.Next, the first
여기서, 제1 전자장치(100)는 값()을 생성할 수 있다. 인 경우, 제1 전자장치(100)는 세션 키 생성 과정을 종료(또는 중단, 중지)한다. 인 경우, 제1 전자장치(100)는 세션 키 생성 과정을 계속 진행한다.Here, the first
또한, 제1 전자장치(100)는 값()를 생성할 수 있다.In addition, the first
또한, 제1 전자장치(100)는 생성된 PRF 값에 기초하여 제2 MAC 값을 생성할 수 있다(2010). 제2 MAC 값은 아래의 수학식 3에 기초하여 생성될 수 있다.Also, the first
여기서, 는 제2 MAC 값, 는 , 는 메시지 인증 코드 함수다.here, Is the second MAC value, Is , 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
제1 전자장치(100)는 제1 키, 제2 키, 제1 MAC 값, 제2 MAC 값 및 제3 비밀 키에 기초하여 세션 키()를 생성할 수 있다(2013-1).The first
제2 전자장치(200)는 제2 MAC 값을 수신하면, 인증 과정을 수행할 수 있다(2012).When the second
먼저, 인 경우, 제2 전자장치(200)는 세션 키 생성 과정을 종료(또는 중단, 중지)한다. 인 경우, 제1 전자장치(100)는 제1 키, 제2 키, 제1 MAC 값, 제2 MAC 값 및 제3 비밀 키에 기초하여 세션 키()를 생성한다(2013-2)first, If yes, the second
상술한 세션 키 생성 과정의 예에 따르면, 제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
또한, 상술한 세션 키 생성 과정의 예에 따르면, 제1 전자장치(100) 및 제2 전자장치(200)는 타원곡선암호(ECC)에 기초하여 각각 지수 승 2회 및 간단한 MAC 연산, 간단한 PRF 연산을 수행하면 되므로 효율성이 향상된다.In addition, according to the example of the session key generation process described above, the first
또한, 일 예로, 제2 전자장치(200)는 기존 PW를 변경할 수 있다.Also, as an example, the second
결론적으로, 인증 프로세스 및 키 교환 프로세스에 필요한 연산을 최소화하여, 사물인터넷 환경에서의 세션 키 생성 과정을 경량화할 수 있다. 이를 통해, 사물인터넷 기기에 내장된 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
도 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
송수신부(110)는 통신을 수행할 수 있다. 예를 들어, 송수신부(110)는 제2 전자장치(200)와 통신을 수행할 수 있다. 송수신부(110)는 제 제2 전자장치(200)와 통신을 수행하여 적어도 하나의 키를 교환할 수 있다.The
프로세서(120)는 제1 전자장치(100)를 전반적으로 제어한다. 특히, 프로세서(120)는 제2 전자장치(200)와 세션 키 생성 과정을 수행할 수 있다.The
도 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
송수신부(210)는 통신을 수행할 수 있다. 예를 들어, 송수신부(210)는 제1 전자장치(100)와 통신을 수행할 수 있다. 송수신부(210)는 제 제1 전자장치(100)와 통신을 수행하여 적어도 하나의 키를 교환할 수 있다.The
프로세서(220)는 제2 전자장치(200)를 전반적으로 제어한다. 특히, 프로세서(220)는 제1 전자장치(200)와 세션 키 생성 과정을 수행할 수 있다.The
도 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
통신부(510)는 통신을 수행한다.The
통신부(510)는 유선 또는, BT(BlueTooth), WI-FI(Wireless Fidelity), Zigbee, IR(Infrared), NFC(Near Field Communication) 등과 같은 다양한 통신 방식을 통해 외부의 전자 장치와 통신을 수행할 수 있다.The
저장부(520)는 제1 전자장치(또는 제2 전자장치)(500)를 구동시키기 위한 O/S(Operating System) 소프트웨어 모듈, 디스플레이 영역에서 제공되는 다양한 UI 화면을 구성하기 위한 데이터 등을 저장할 수 있다. 일 예로, 저장부(520)는 UX/UI 데이터 등을 포함할 수 있다. 또한, 저장부(520)는 PW/ID, , 키 값 등을 저장할 수 있다.The
프로세서(530)는 저장부(520)에 저장된 각종 프로그램을 이용하여 제1 전자장치(또는 제2 전자장치)(500)의 동작을 전반적으로 제어한다. The
구체적으로, 프로세서(530)는 RAM(531), ROM(532), 그래픽 처리부(533), 메인 CPU(534), 제1 내지 n 인터페이스(535-1 ~ 535-n), 버스(537)를 포함한다.Specifically, the
RAM(531), ROM(532), 그래픽 처리부(533), 메인 CPU(534), 제1 내지 n 인터페이스(535-1 내지 535-n) 등은 버스(537)를 통해 서로 연결될 수 있다. The
ROM(532)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(534)는 ROM(532)에 저장된 명령어에 따라 저장부(520)에 저장된 O/S를 RAM(532)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(534)는 저장부(520)에 저장된 각종 어플리케이션 프로그램을 RAM(531)에 복사하고, RAM(531)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다. The
그래픽 처리부(533)는 연산부 및 렌더링부를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다.The
메인 CPU(534)는 저장부(520)에 액세스하여, 저장부(520)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 저장부(520)에 저장된 각종 프로그램, 컨텐트, 데이터 등을 이용하여 다양한 동작을 수행한다. The
제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
도 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 난수는 집합 에서 선택될 수 있다.Here, the first random number and the second random number are a set Can be chosen from
또한, 제1 난수는 이고, 제2 난수는 이고, 제1 키는 이고, 제2 키는 이고, 제3 키는 이다.Also, the first random number is And the second random number is And the first key is And the second key is And the third key is to be.
일 예로, 제1 비밀 키는 이고, 제2 비밀 키는 이고, 제3 비밀 키는 일 수 있다. 여기서, , 및 은, , 및 를 입력으로 하는 해쉬 함수 의 출력 값에 기초하여 생성될 수 있다.For example, the first secret key is And the second secret key is And the third secret key is Can be here, , And silver, , And Hash function as input Can be generated based on the output value of.
일 예로, 해쉬 함수의 출력 스트링의 길이가 512 비트인 경우, , 및 은 수학식 에 기초하여 생성될 수 있다. 여기서,은 결합(concatenation) 연산자이고, 의 스트링 길이, 의 스트링 길이 및 의 스트링 길이는 128비트이다.For example, if the length of the output string of the hash function is 512 bits, , And Is the equation Can be generated based on here, Is the concatenation operator, String length of, String length of and The string length of is 128 bits.
다른 예로, 해쉬 함수의 출력 스트링의 길이가 256 비트인 경우, , 및 은 수학식 및 수학식 에 기초하여 생성될 수 있다. 여기서,은 결합 연산자이고, 의 스트링 길이, 의 스트링 길이 및 의 스트링 길이는 128비트이다.As another example, if the length of the output string of the hash function is 256 bits, , And Is the equation And the equation Can be generated based on here, Is the associative operator, String length of, String length of and The string length of is 128 bits.
상술한 예에서, PRF 값은 아래의 수학식 기초하여 생성될 수 있다. 여기서, 는 PRF 값, 는 사용자의 ID, 는 패스워드, 은 유사 난수 함수이다.In the above example, the PRF value is the following equation It can be created on the basis of. here, Is the PRF value, Is the user's ID, Is the password, Is a pseudorandom function.
또한, 제1 MAC 값은 수학식 에 기초하여 생성될 수 있다.In addition, the first MAC value is Equation Can be generated based on
여기서, 는 제1 MAC 값, 는 , 는 메시지 인증 코드 함수일 수 있다.here, Is the first MAC value, Is , 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)
제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 난수 및 상기 제2 난수는 집합 에서 선택되는, 세션 키 생성 방법.
The method of claim 1,
The first random number and the second random number are a set Session key generation method selected from.
상기 제1 난수는 이고, 상기 제2 난수는 이고, 상기 제1 키는 이고, 상기 제2 키는 이고, 상기 제3 키는 인, 세션 키 생성 방법.
The method of claim 1,
The first random number is And the second random number is And the first key is And the second key is And the third key is In, session key generation method.
상기 제1 비밀 키는 이고,
상기 제2 비밀 키는 이고,
상기 제3 비밀 키는 이고,
상기 , 상기 및 상기 은,
상기 , 상기 및 상기 를 입력으로 하는 해쉬 함수 의 출력 값에 기초하여 생성되는, 세션 키 생성 방법.
The method of claim 3,
The first secret key is ego,
The second secret key is ego,
The third secret key is ego,
remind , remind And above silver,
remind , remind And above Hash function as input Generated based on the output value of, session key generation method.
상기 해쉬 함수의 출력 스트링의 길이가 512 비트인 경우, 상기 , 상기 및 상기 은 수학식 에 기초하여 생성되고, 여기서,은 결합(concatenation) 연산자임,
상기 의 스트링 길이, 상기 의 스트링 길이 및 상기 의 스트링 길이는 128비트인, 세션 키 생성 방법.
The method of claim 4,
If the length of the output string of the hash function is 512 bits, the , remind And above Is the equation Is created on the basis of, where, Is the concatenation operator,
remind String length, above String length and above The string length of is 128 bits, the method of generating the session key.
상기 해쉬 함수의 출력 스트링의 길이가 256 비트인 경우, 상기 , 상기 및 상기 은 수학식 및 수학식 에 기초하여 생성되고, 여기서,은 결합 연산자임,
상기 의 스트링 길이, 상기 의 스트링 길이 및 상기 의 스트링 길이는 128비트인, 세션 키 생성 방법.
The method of claim 4,
When the length of the output string of the hash function is 256 bits, the , remind And above Is the equation And the equation Is created on the basis of, where, Is the associative operator,
remind String length, above String length and above The string length of is 128 bits, the method of generating the session key.
상기 PRF 값은 아래의 수학식에 기초하여 생성되고,
여기서, 는 PRF 값, 는 사용자의 ID, 는 패스워드, 은 유사 난수 함수인, 세션 키 생성 방법.
The method of claim 4,
The PRF value is generated based on the following equation,
here, Is the PRF value, Is the user's ID, Is the password, Is a pseudo-random function, a method of generating a session key.
상기 제1 MAC 값은 아래의 수학식에 기초하여 생성되고,
여기서, 는 제1 MAC 값, 는 , 는 메시지 인증 코드 함수인, 세션 키 생성 방법.
The method of claim 7,
The first MAC value is generated based on the following equation,
here, Is the first MAC value, Is , Is a message authentication code function, how to generate a 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.
상기 제1 난수 및 상기 제2 난수는 집합 에서 선택되는, 전자장치.
The method of claim 9,
The first random number and the second random number are a set Selected from, electronics.
상기 제1 난수는 이고, 상기 제2 난수는 이고, 상기 제1 키는 이고, 상기 제2 키는 이고, 상기 제3 키는 인, 전자장치.
The method of claim 9,
The first random number is And the second random number is And the first key is And the second key is And the third key is Phosphorus, electronics.
상기 제1 비밀 키는 이고,
상기 제2 비밀 키는 이고,
상기 제3 비밀 키는 이고,
상기 , 상기 및 상기 은,
상기 , 상기 및 상기 를 입력으로 하는 해쉬 함수 의 출력 값에 기초하여 생성되는, 전자장치.
The method of claim 9,
The first secret key is ego,
The second secret key is ego,
The third secret key is ego,
remind , remind And above silver,
remind , remind And above Hash function as input Generated based on the output value of, electronic device.
상기 해쉬 함수의 출력 스트링의 길이가 512 비트인 경우, 상기 , 상기 및 상기 는 수학식 에 기초하여 생성되고, 여기서,은 결합(concatenation) 연산자임,
상기 의 스트링 길이, 상기 의 스트링 길이 및 상기 의 스트링 길이는 128비트인, 전자장치.
The method of claim 12,
If the length of the output string of the hash function is 512 bits, the , remind And above Is the equation Is created on the basis of, where, Is the concatenation operator,
remind String length, above String length and above The electronic device has a string length of 128 bits.
상기 해쉬 함수의 출력 스트링의 길이가 256 비트인 경우, 상기 , 상기 및 상기 는 수학식 및 수학식 에 기초하여 생성되고, 여기서,은 결합 연산자임,
상기 의 스트링 길이, 상기 의 스트링 길이 및 상기 의 스트링 길이는 128비트인, 전자장치.
The method of claim 12,
When the length of the output string of the hash function is 256 bits, the , remind And above Is the equation And the equation Is created on the basis of, where, Is the associative operator,
remind String length, above String length and above The electronic device has a string length of 128 bits.
상기 PRF 값은 아래의 수학식에 기초하여 생성되고,
여기서, 는 PRF 값, 는 사용자의 ID, 는 패스워드, 은 유사 난수 함수인, 전자장치.
The method of claim 12,
The PRF value is generated based on the following equation,
here, Is the PRF value, Is the user's ID, Is the password, Is a pseudorandom function, an electronic device.
상기 제1 MAC 값은 아래의 수학식에 기초하여 생성되고,
여기서, 는 제1 MAC 값, 는 , 는 메시지 인증 코드 함수인, 전자장치.
The method of claim 15,
The first MAC value is generated based on the following equation,
here, Is the first MAC value, Is , Is a message authentication code function, an electronic device.
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)
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)
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 |
-
2019
- 2019-01-15 KR KR1020190005037A patent/KR102164904B1/en active IP Right Grant
Non-Patent Citations (2)
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)
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 | |
US20160277933A1 (en) | Secure Data Communication system between IoT smart devices and a Network gateway under Internet of Thing environment | |
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 | |
KR102164904B1 (en) | Method for generating session key and electronic apparatus thereof | |
CN112398894A (en) | Safety verification method and device for vehicle | |
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 | |
JP6203556B2 (en) | Information processing system | |
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 |