KR20200088591A - 세션 키를 생성하는 방법 및 그 전자장치 - Google Patents
세션 키를 생성하는 방법 및 그 전자장치 Download PDFInfo
- Publication number
- KR20200088591A KR20200088591A KR1020190005037A KR20190005037A KR20200088591A KR 20200088591 A KR20200088591 A KR 20200088591A KR 1020190005037 A KR1020190005037 A KR 1020190005037A KR 20190005037 A KR20190005037 A KR 20190005037A KR 20200088591 A KR20200088591 A KR 20200088591A
- Authority
- KR
- South Korea
- Prior art keywords
- key
- value
- electronic device
- secret
- random number
- 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)를 생성하는 과정을 포함할 수 있다.
Description
본 발명은 세션 키를 생성하는 방법 및 그 전자장치에 대한 것으로, 보다 상세하게는 사물인터넷(Internet of Things; IoT) 환경에서 세션 키(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)를 생성하는 과정을 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 세션 키를 생성하는 전자장치는, 송수신부 및 제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 값에 기초하여 세션 키를 생성하는 프로세서를 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 인증 프로세스 및 키 교환 프로세스에 필요한 연산을 최소화하여, 사물인터넷 환경에서의 세션 키 생성 과정을 경량화할 수 있다.
본 발명의 다양한 실시 예에 따르면, 악의적인 공격자가 된 사물인터넷 기기의 제조사 및 제3의 공격자에게 사물인터넷 기기의 ID(identification) 및 PW(password) 정보를 노출시키지 않을 수 있다.
도 1은 본 발명의 일 실시 예에 따른 사물인터넷 시스템을 도시한다.
도 2는 본 발명의 일 실시 예에 따른 세션 키 생성 과정의 흐름도이다.
도 3은 본 발명의 일 실시 예에 따른 제1 전자장치의 블록도이다.
도 4는 본 발명의 일 실시 예에 따른 제2 전자장치의 블록도이다.
도 5는 본 발명의 일 실시 예에 따른 제1 전자장치 또는 제2 전자장치의 블록도이다.
도 6은 본 발명의 일 실시 예에 따른 세션 키 생성 방법에 대한 순서도이다.
도 2는 본 발명의 일 실시 예에 따른 세션 키 생성 과정의 흐름도이다.
도 3은 본 발명의 일 실시 예에 따른 제1 전자장치의 블록도이다.
도 4는 본 발명의 일 실시 예에 따른 제2 전자장치의 블록도이다.
도 5는 본 발명의 일 실시 예에 따른 제1 전자장치 또는 제2 전자장치의 블록도이다.
도 6은 본 발명의 일 실시 예에 따른 세션 키 생성 방법에 대한 순서도이다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대한 동작원리를 상세히 설명한다. 또한, 발명에 대한 실시 예를 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 하기에서 사용되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로써, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 사용된 용어들의 정의는 본 명세서 전반에 걸친 내용 및 이에 상응한 기능을 토대로 해석되어야 할 것이다.
본 발명의 다양한 실시 예에 따른 세션 키(session key) 생성 과정은 유사 난수 함수(pseudorandom function; PRF), 메시지 인증 코드(message authentication code; MAC) 및 디피-헬만 키 교환(Diffie-Hellman key exchange) 프로토콜에 기초한다.
유사 난수 함수는 두 개의 값()를 입력 받아 를 출력하는 함수이다. 유사 난수 함수는 키 공간 에서 임의로 선택된 키 에 대해 정의된 가 동일한 정의역과 공역에서 정의된 랜덤함수 와 구별되기 어렵기 때문에 유사 난수 함수의 입력 값 정보를 숨김으로써 안전성이 확보될 수 있다.
메시지 인증 코드는 발신자(또는 발신자의 메시지)에 대한 인증과 메시지의 무결성을 수신자 측에서 확인할 수 있는 방법을 제공한다. 메시지 인증 코드는 비밀키 입력받고, 임의 길이의 메시지 인증할 수 있다. 또한, 메시지 인증 코드에 기초하여 MAC 값으로 이 출력될 수 있다. MAC 값은 검증자(비밀 키를 소유한 사람)의 허가에 기초하여 발신자에 대한 인증과 메시지의 무결성을 검증하는 수단이 될 수 있다.
MAC은 다음의 알고리즘을 포함한다.
디피-헬만 키 교환의 이산로그 문제는 위수가 소수 곱셈 군(multiplicative group) 와 임의의 원소 에 대하여 를 만족하는 를 찾는 문제이다. 디피-헬만 키 교환 방법은 제1 전자장치 및 제2 전자장치의 원소 를 각각 선택하여 상대방에게 및 를 전송하고, 세션 키 를 생성한다. 제1 전자장치는 를 생성하고, 제2 전자장치는 를 생성한다. 여기서, 제1 전자장치 및 제2 전자장치의 채널 상에 송수신되는 및 를 획득하여 및 판단하는 것은 이산로그의 문제를 풀어야 하므로 매우 어렵다. 따라서, 제3 자는 추가적인 정보 없이 세션 키를 알아내기 어렵다.
이하에서, 사물인터넷 시스템에 대해 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 사물인터넷 시스템을 도시한다.
사물인터넷 시스템(10)은 제1 전자장치(100) 및 제2 전자장치(200)를 포함할 수 있다. 또한, 사물인터넷 시스템(10)은 제1 전자장치(100) 및 제2 전자장치(200) 외에 적어도 하나 이상의 전자장치를 추가적으로 포함할 수 있다.
제1 전자장치(100)는 사물 또는 전자장치일 수 있다. 예를 들어, 제1 전자장치(100)는 냉장고, CCTV, TV, 세탁기, 제습기 등의 각종 가전기기, 전등, 화재 경보기, 댁내 기기일 수 있다. 이 경우, 제1 전자장치(100)는 온도 센서, 습도 센서, 음향 센서, 모션 센서, 근접 센서, 가스 감지 센서, 열 감지 센서 등의 각종 센서를 포함할 수 있다.
제2 전자장치(100)는 스마트폰, 태블릿 컴퓨터와 같은 스마트 기기, 휴대용 전자 기기, 웨어러블 기기(wearable device), 홈 네트워크에 연결 가능한 홈 단말(home terminal), 스마트 TV, 셋톱 박스(set top box) 등 다양한 전자 장치일 수 있다.
제1 전자장치(100) 및 제2 전자장치(200)는 무선 통신, 근거리 통신, 홈 네트워크 등 다양한 통신 기술, 통신 프로토콜 등으로 서로 연결될 수 있다.
일 예로, 제1 전자장치(100) 및 제2 전자장치(200)는 암호화 키인 세션 키를 생성할 수 있다. 제1 전자장치(100) 및 제2 전자장치(200)는 생성된 세션 키에 기초하여 기 정의된 통신 세션 동안 통신을 수행하여 정보(또는 메시지)를 교환할 수 있다.
일 예로, 제1 전자장치(100) 및 제2 전자장치(200)는 세션 키를 생성하기 위한 과정을 수행할 수 있다. 제1 전자장치(100) 및 제2 전자장치(200)는 세션 키를 생성하기 위한 프로토콜에 따라 키를 교환하는 과정, 인증을 수행하는 과정, 세션 키를 생성하는 과정 등을 수행할 수 있다.
이하에서는, 제1 전자장치(100) 및 제2 전자장치(200)의 세션 키 생성 과정을 상세히 설명한다. 이하의 과정에서는 시스템 셋업 과정이 수행된 것으로 가정한다. 예를 들어, 시스템 셋업 과정에서, 키 생성 장치(제1 전자장치(100), 제2 전자장치(200) 또는 제3의 전자장치일 수 있음)는 보안 상수 를 입력받아 위수가 소수 인 곱셈 군(multiplicative group) 의 생성원 선택할 수 있다. 또는, 키 생성 장치는 보안 상수 를 입력받아 위수가 소수 인 타원곡선 위 그룹 를 설정하고 생성원 g를 선택할 수 있다. 또한, 키 생성 장치는 해쉬함수(암호학적) 와 MAC 알고리즘을 포함하여 공개 파라미터 을 설정할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 세션 키 생성 과정의 흐름도이다.
이하에서, 세션 키 생성 과정은 제1 전자장치(100) 및 제2 전자장치(200)에 의해 수행되는 것으로 설명될 것이나, 제1 전자장치(100) 및 제2 전자장치(200)에 포함되는 구성요소(component)에 의해 수행될 수도 있음은 물론이다. 예를 들어, 세션 키 생성 과정은 제1 전자장치(100)에 포함되는 프로세서 및 제2 전자장치(200)에 포함되는 프로세서 각각의 제어에 의해 수행될 수 있다.
제1 전자장치(100)는 제1 난수()를 선택할 수 있다(2001). 또한, 제1 전자장치(100)는 선택된 제1 난수에 기초하여 제1 키()를 생성할 수 있다(2002). 제1 전자장치(100)는 생성된 제1 키를 제2 전자장치(200)로 송신할 수 있다(2003).
제2 전자장치(200)는 ID/PW를 입력받을 수 있다(2004). 일 예로, 제2 전자장치(200)는 ID/PW 정보를 포함하는 QR코드를 리드하여 ID/PW를 입력받을 수 있다.
제2 전자장치(200)는 제1 MAC 값을 생성할 수 있다(2007).
제2 전자장치(200)는 상술한 예에서 생성된 제1키, 제2 키 및 제3키에 기초하여 복수의 비밀 키를 생성할 수 있다. 예를 들어, 복수의 비밀 키는 , 및 를 포함할 수 있다. 여기서, 비밀 키 , 및 은 , 및 를 입력으로 하는 해쉬 함수 의 출력 값에 기초하여 생성될 수 있다.
일 예로, 해쉬 함수의 출력 스트링의 길이가 512 비트인 경우, , 및 은 수학식 에 기초하여 생성될 수 있다. 여기서,은 결합(concatenation) 연산자이다. 또한, 의 스트링 길이, 의 스트링 길이 및 의 스트링 길이는 128비트다.
일 예로, 해쉬 함수의 출력 스트링의 길이가 256 비트인 경우, , 및 은 수학식 및 수학식 에 기초하여 생성될 수 있다. 여기서,은 결합 연산자이다. 또한, 의 스트링 길이, 의 스트링 길이 및 의 스트링 길이는 128비트다.
다음으로, 제2 전자장치(200)는 복수의 비밀 키 중 하나인 제1 비밀 키, 사용자의 ID 및 PW에 기초하여 PRF(pseudorandom function, 유사 난수 함수) 값을 생성할 수 있다. PRF 값은 아래의 수학식 1에 기초하여 생성될 수 있다.
또한, 제2 전자장치(200)는 생성된 PRF 값에 기초하여 제1 MAC(massage authentication code, 메시지 인증 코드) 값을 생성할 수 있다. 제1 MAC 값은 아래의 수학식 2에 기초하여 생성될 수 있다. 구체적으로, 제1 MAC 값은 제1 키(), 제2 키(), 제2 비밀 키() 및 PRF 값()에 기초하여 생성될 수 있다.
상술한 예와 같이 제1 MAC 값이 생성되면, 제2 전자장치(200)는 생성된 제1 MAC 값 및 제2 키를 제1 전자장치(100)로 송신할 수 있다(2008).
제1 전자장치(100)는 인증 과정을 수행한다(2009).
제1 전자장치(100)는 제1 키, 제2 키 및 제3 키에 기초하여 복수의 비밀 키를 생성할 수 있다. . 예를 들어, 복수의 비밀 키는 , 및 를 포함할 수 있다. 여기서, 비밀 키 , 및 은 , 및 를 입력으로 하는 해쉬 함수 의 출력 값에 기초하여 생성될 수 있다.
일 예로, 해쉬 함수의 출력 스트링의 길이가 512 비트인 경우, , 및 은 수학식 에 기초하여 생성될 수 있다. 여기서,은 결합(concatenation) 연산자이다. 또한, 의 스트링 길이, 의 스트링 길이 및 의 스트링 길이는 128비트다.
일 예로, 해쉬 함수의 출력 스트링의 길이가 256 비트인 경우, , 및 은 수학식 및 수학식 에 기초하여 생성될 수 있다. 여기서,은 결합 연산자이다. 또한, 의 스트링 길이, 의 스트링 길이 및 의 스트링 길이는 128비트다.
다음으로, 제1 전자장치(100)는 복수의 비밀 키 중 하나인 제1 비밀 키, 사용자의 ID 및 PW에 기초하여 PRF(pseudorandom function, 유사 난수 함수) 값을 생성할 수 있다. PRF 값은 상술한 수학식 1에 기초하여 생성될 수 있다.
여기서, 제1 전자장치(100)는 값()을 생성할 수 있다. 인 경우, 제1 전자장치(100)는 세션 키 생성 과정을 종료(또는 중단, 중지)한다. 인 경우, 제1 전자장치(100)는 세션 키 생성 과정을 계속 진행한다.
또한, 제1 전자장치(100)는 생성된 PRF 값에 기초하여 제2 MAC 값을 생성할 수 있다(2010). 제2 MAC 값은 아래의 수학식 3에 기초하여 생성될 수 있다.
상술한 예와 같이 제2 MAC 값이 생성되면, 제1 전자장치(100)는 생성된 제2 MAC 값을 제2 전자장치(200)으로 송신할 수 있다(2011).
제2 전자장치(200)는 제2 MAC 값을 수신하면, 인증 과정을 수행할 수 있다(2012).
먼저, 인 경우, 제2 전자장치(200)는 세션 키 생성 과정을 종료(또는 중단, 중지)한다. 인 경우, 제1 전자장치(100)는 제1 키, 제2 키, 제1 MAC 값, 제2 MAC 값 및 제3 비밀 키에 기초하여 세션 키()를 생성한다(2013-2)
상술한 세션 키 생성 과정의 예에 따르면, 제1 전자장치(100) 및 제2 전자장치(200) 간에 교환되는 메시지는 ID 및 PW, 디피 헬만 키 교환, MAC 및 PRF를 통해 다중의 보안이 가능하다. 이를 통해, 외부 공격자 및 호기심을 갖는(honest-but-curious) 제조사로부터 메시지를 보안할 수 있다.
또한, 상술한 세션 키 생성 과정의 예에 따르면, 제1 전자장치(100) 및 제2 전자장치(200)는 타원곡선암호(ECC)에 기초하여 각각 지수 승 2회 및 간단한 MAC 연산, 간단한 PRF 연산을 수행하면 되므로 효율성이 향상된다.
또한, 일 예로, 제2 전자장치(200)는 기존 PW를 변경할 수 있다.
결론적으로, 인증 프로세스 및 키 교환 프로세스에 필요한 연산을 최소화하여, 사물인터넷 환경에서의 세션 키 생성 과정을 경량화할 수 있다. 이를 통해, 사물인터넷 기기에 내장된 ID(identification) 및 PW(password) 정보를 보호할 수 있다.
이하에서, 도 3 및 도 4를 참조하여 제1 전자장치(100) 및 제2 전자장치(200)의 구성을 상세히 설명한다. 여기서, 상술한 세션 키 생성 과정과 중복되는 내용은 설명의 편의를 위해 생략한다.
도 3은 본 발명의 일 실시 예에 따른 제1 전자장치의 블록도이다.
제1 전자장치(100)는 송수신부(110) 및 프로세서(120)를 포함한다.
송수신부(110)는 통신을 수행할 수 있다. 예를 들어, 송수신부(110)는 제2 전자장치(200)와 통신을 수행할 수 있다. 송수신부(110)는 제 제2 전자장치(200)와 통신을 수행하여 적어도 하나의 키를 교환할 수 있다.
프로세서(120)는 제1 전자장치(100)를 전반적으로 제어한다. 특히, 프로세서(120)는 제2 전자장치(200)와 세션 키 생성 과정을 수행할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 제2 전자장치의 블록도이다.
제2 전자장치(200)는 송수신부(210) 및 프로세서(220)를 포함한다.
송수신부(210)는 통신을 수행할 수 있다. 예를 들어, 송수신부(210)는 제1 전자장치(100)와 통신을 수행할 수 있다. 송수신부(210)는 제 제1 전자장치(100)와 통신을 수행하여 적어도 하나의 키를 교환할 수 있다.
프로세서(220)는 제2 전자장치(200)를 전반적으로 제어한다. 특히, 프로세서(220)는 제1 전자장치(200)와 세션 키 생성 과정을 수행할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 제1 전자장치 또는 제2 전자장치의 세부 블록도이다.
도 5을 참조하면, 제1 전자장치(또는 제2 전자장치)(500)는 통신부(510), 저장부(520) 및 프로세서(530)를 포함한다.
통신부(510)는 통신을 수행한다.
통신부(510)는 유선 또는, BT(BlueTooth), WI-FI(Wireless Fidelity), Zigbee, IR(Infrared), NFC(Near Field Communication) 등과 같은 다양한 통신 방식을 통해 외부의 전자 장치와 통신을 수행할 수 있다.
저장부(520)는 제1 전자장치(또는 제2 전자장치)(500)를 구동시키기 위한 O/S(Operating System) 소프트웨어 모듈, 디스플레이 영역에서 제공되는 다양한 UI 화면을 구성하기 위한 데이터 등을 저장할 수 있다. 일 예로, 저장부(520)는 UX/UI 데이터 등을 포함할 수 있다. 또한, 저장부(520)는 PW/ID, , 키 값 등을 저장할 수 있다.
프로세서(530)는 저장부(520)에 저장된 각종 프로그램을 이용하여 제1 전자장치(또는 제2 전자장치)(500)의 동작을 전반적으로 제어한다.
구체적으로, 프로세서(530)는 RAM(531), ROM(532), 그래픽 처리부(533), 메인 CPU(534), 제1 내지 n 인터페이스(535-1 ~ 535-n), 버스(537)를 포함한다.
RAM(531), ROM(532), 그래픽 처리부(533), 메인 CPU(534), 제1 내지 n 인터페이스(535-1 내지 535-n) 등은 버스(537)를 통해 서로 연결될 수 있다.
ROM(532)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(534)는 ROM(532)에 저장된 명령어에 따라 저장부(520)에 저장된 O/S를 RAM(532)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(534)는 저장부(520)에 저장된 각종 어플리케이션 프로그램을 RAM(531)에 복사하고, RAM(531)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
그래픽 처리부(533)는 연산부 및 렌더링부를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다.
메인 CPU(534)는 저장부(520)에 액세스하여, 저장부(520)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 저장부(520)에 저장된 각종 프로그램, 컨텐트, 데이터 등을 이용하여 다양한 동작을 수행한다.
제1 내지 n 인터페이스(535-1 내지 535-n)는 상술한 각종 구성요소들과 연결된다. 일 예로, 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
프로세서(530)는 난수를 선택하고, 선택된 난수에 기초하여 키를 생성할 수 있다. 또한, 프로세서(530)는 생성된 키에 기초하여 비밀 키를 생성할 수 있다. 또한, 프로세서(530)는 사용자의 ID 및 패스워드에 기초하여 PRF 값을 생성할 수 있다. 또한, 프로세서(530)는 RPF 값에 기초하여 MAC 값을 생성할 수 있다. 또한, 프로세서(530)는 키 및 MAC 값에 기초하여 세션 키를 생성할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 세션 키 생성 방법에 대한 순서도이다.
세션 키 생성 방법은, 제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)을 포함할 수 있다.
일 예로, 제1 비밀 키는 이고, 제2 비밀 키는 이고, 제3 비밀 키는 일 수 있다. 여기서, , 및 은,
, 및 를 입력으로 하는 해쉬 함수 의 출력 값에 기초하여 생성될 수 있다.
일 예로, 해쉬 함수의 출력 스트링의 길이가 512 비트인 경우, , 및 은 수학식 에 기초하여 생성될 수 있다. 여기서,은 결합(concatenation) 연산자이고, 의 스트링 길이, 의 스트링 길이 및 의 스트링 길이는 128비트이다.
다른 예로, 해쉬 함수의 출력 스트링의 길이가 256 비트인 경우, , 및 은 수학식 및 수학식 에 기초하여 생성될 수 있다. 여기서,은 결합 연산자이고, 의 스트링 길이, 의 스트링 길이 및 의 스트링 길이는 128비트이다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 세션 키 생성 방법은 컴퓨터로 실행 가능한 프로그램 코드로 구현되어 다양한 비 일시적 판독 가능 매체(non-transitory computer readable medium)에 저장된 상태로 프로세서에 의해 실행되도록 각 서버 또는 기기들에 제공될 수 있다.
일 예로, 제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)가 제공될 수 있다.
비 일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
사물인터넷 시스템: 10 제1 전자장치: 100
제2 전자장치: 200 송수신부: 110, 210
프로세서: 120, 220, 530 통신부: 510
저장부: 520
제2 전자장치: 200 송수신부: 110, 210
프로세서: 120, 220, 530 통신부: 510
저장부: 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 값에 기초하여 세션 키를 생성하는 과정;을 포함하는, 세션 키 생성 방법.
- 세션 키(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 값에 기초하여 세션 키를 생성하는 프로세서;를 포함하는, 전자장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190005037A KR102164904B1 (ko) | 2019-01-15 | 2019-01-15 | 세션 키를 생성하는 방법 및 그 전자장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190005037A KR102164904B1 (ko) | 2019-01-15 | 2019-01-15 | 세션 키를 생성하는 방법 및 그 전자장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200088591A true KR20200088591A (ko) | 2020-07-23 |
KR102164904B1 KR102164904B1 (ko) | 2020-10-13 |
Family
ID=71894203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190005037A KR102164904B1 (ko) | 2019-01-15 | 2019-01-15 | 세션 키를 생성하는 방법 및 그 전자장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102164904B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112512038A (zh) * | 2020-11-19 | 2021-03-16 | 建信金融科技有限责任公司 | 会话密钥的生成方法、装置、电子设备及可读存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102648499B1 (ko) | 2021-03-11 | 2024-03-19 | 한국전자통신연구원 | 기계 학습 기반 키 생성 장치 및 방법 |
-
2019
- 2019-01-15 KR KR1020190005037A patent/KR102164904B1/ko 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112512038A (zh) * | 2020-11-19 | 2021-03-16 | 建信金融科技有限责任公司 | 会话密钥的生成方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR102164904B1 (ko) | 2020-10-13 |
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 | |
CN108234115B (zh) | 信息安全的验证方法、装置和系统 | |
US11210658B2 (en) | Constructing a distributed ledger transaction on a cold hardware wallet | |
US11057196B2 (en) | Establishing shared key data for wireless pairing | |
EP3324572A1 (en) | Information transmission method and mobile device | |
JP2019017102A (ja) | IoTデバイス | |
JP2019530265A (ja) | グラフィックコード情報を提供及び取得する方法及び装置並びに端末 | |
TW201618492A (zh) | 在安全系統中終端的改良式安裝 | |
KR20180119201A (ko) | 인증 시스템을 위한 전자 장치 | |
JP2015130633A (ja) | 認証システム | |
TW201626752A (zh) | 產生對稱加密密鑰 | |
CA3178180A1 (en) | Constructing a distributed ledger transaction on a cold hardware wallet | |
CN112398894B (zh) | 车用的安全验证方法及装置 | |
TW201626776A (zh) | 用於建立安全通訊通道的改良式系統 | |
US20170353315A1 (en) | Secure electronic entity, electronic apparatus and method for verifying the integrity of data stored in such a secure electronic entity | |
TW201626775A (zh) | 交互驗證 | |
TW201633206A (zh) | 透過驗證符記的改善安全性 | |
KR20180113688A (ko) | 장치 인증키를 이용한 데이터 암호화 방법 및 시스템 | |
KR102164904B1 (ko) | 세션 키를 생성하는 방법 및 그 전자장치 | |
CN117675285A (zh) | 一种身份验证方法、芯片及设备 | |
JP2015225376A (ja) | コンピュータシステム、コンピュータ、半導体装置、情報処理方法およびコンピュータプログラム | |
US20230289424A1 (en) | Security Chip-Based Security Authentication Method and System, Security Chip, and Readable Storage Medium | |
KR102285310B1 (ko) | 세션 키를 생성하는 방법 및 그 전자장치 | |
US20230114198A1 (en) | Device in network | |
CN111064577A (zh) | 一种安全认证方法、装置及电子设备 |
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 |