KR101802826B1 - Id 기반 인증 및 키 교환 방법 - Google Patents

Id 기반 인증 및 키 교환 방법 Download PDF

Info

Publication number
KR101802826B1
KR101802826B1 KR1020160141044A KR20160141044A KR101802826B1 KR 101802826 B1 KR101802826 B1 KR 101802826B1 KR 1020160141044 A KR1020160141044 A KR 1020160141044A KR 20160141044 A KR20160141044 A KR 20160141044A KR 101802826 B1 KR101802826 B1 KR 101802826B1
Authority
KR
South Korea
Prior art keywords
signature
key
user device
key exchange
based authentication
Prior art date
Application number
KR1020160141044A
Other languages
English (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 KR1020160141044A priority Critical patent/KR101802826B1/ko
Application granted granted Critical
Publication of KR101802826B1 publication Critical patent/KR101802826B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/3247Cryptographic 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 involving digital signatures
    • H04L9/3249Cryptographic 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 involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/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/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
    • 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/3271Cryptographic 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 challenge-response
    • H04L9/3273Cryptographic 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 challenge-response for mutual authentication

Landscapes

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

Abstract

ID 기반 인증 및 키 생성 장치를 이용하여, ID 기반 인증 및 키 생성을 수행하는 방법이 개시된다. ID 기반 인증 및 키 생성 방법은 제1 사용자 장치(A)가 제1 난수(NA), 제1 사용자 장치의 ID 정보(IDA), 및 제2 사용자 장치의 ID 정보(IDB)를 제2 사용자 장치(B)에 전달하는 단계, 개선된 RSA 구조의 ID 기반 서명 기법을 이용하여 제2 사용자 장치의 서명을 생성하는 단계, 제2 사용자 장치(B)가 제2 사용자 장치의 메시지(mB) 및 제2 사용자 장치의 서명을 제1 사용자 장치(A)에 전송하는 단계, 제1 사용자 장치(A)가 제2 사용자 장치의 서명을 검증하는 단계, 검증을 통과한 경우, 제1 사용자 장치(A)가 개선된 RSA 구조의 ID 기반 서명 기법을 이용하여 제1 사용자 장치의 서명을 생성하는 단계, 제1 사용자 장치(A)가 제1 사용자 장치의 메시지(mA) 및 제1 사용자 장치의 서명을 제2 사용자 장치(B)에 전송하는 단계, 제2 사용자 장치(B)가 제1 사용자 장치의 서명을 검증하는 단계, 및 검증을 통과한 경우, 제2 사용자 장치(B)가 제1 사용자 장치의 서명 검증 단계에서 생성된 제1 중간값(CmtA)을 이용하여 세션키(ssk)를 생성하는 단계;를 포함하되, 제1 사용자 장치(A)가 제1 사용자 장치의 서명을 생성한 이후에, 제2 사용자 장치의 서명 검증 단계에서 생성된 제2 중간값(CmtB)을 이용하여 세션키(ssk)를 생성하는 단계를 더 포함한다.

Description

ID 기반 인증 및 키 교환 방법{METHOD FOR ID-BASED AUTHENTICATION AND KEY EXCHANGE}
본 발명의 개념에 따른 실시 예는 ID 기반 인증 및 키 교환 방법에 관한 것으로, 특히 개선된 RSA 구조의 ID 기반 서명을 이용하여 기기 간 상호 인증 및 키 교환을 동시에 수행하는 ID 기반 인증 및 키 교환 방법에 관한 것이다.
본 발명에서는 개선된 RSA 구조의 ID 기반 서명과 이를 이용한 인증 및 키 교환 프로토콜을 제안한다.
IoT 환경의 다양한 저성능 기기들에 적용할 수 있는 효율적인 RSA 구조의 ID 기반 서명 기법이 필요하다.
ID 기반 서명과 질의-응답(Challenge-Response) 프로토콜을 이용하면 각 개체 간 안전한 상호 인증을 수행할 수 있으며, Schnorr 구조의 ID 기반 서명의 경우 키 교환을 동시에 수행할 수 있다. 하지만, 종래의 RSA 구조의 ID 기반 서명을 사용하는 경우, 인증이 완료된 후 키 교환을 위해 추가적으로 디피-헬만 프로토콜을 수행하는 과정이 필요하다. RSA 구조의 ID 기반 서명을 이용한 인증 및 키 교환을 수행하는 과정에서 전송량 측면의 효율성을 높이기 위해서 두 단계를 동시에 수행하는 기술이 필요하다.
본 발명이 이루고자 하는 기술적인 과제는 IoT 환경의 다양한 저성능 기기들에 적용할 수 있는 개선된 RSA 구조의 ID 기반 서명을 이용하여 기기 간 상호 인증 및 키 교환을 동시에 수행하는 ID 기반 인증 및 키 교환 방법을 제공하는 것이다.
본 발명의 실시 예에 따른 공개 파라미터 및 서명키를 관리하는 키 생성기관 서버와 인증 및 키 교환을 수행하는 제1 사용자 장치(A) 및 제2 사용자 장치(B)를 포함하는 ID 기반 인증 및 키 교환 시스템을 이용하여 ID 기반 인증 및 키 교환을 수행하는 방법은 제1 사용자 장치(A)가 제1 난수(NA)를 선택하여, 제1 사용자 장치의 ID 정보(IDA) 및 제2 사용자 장치의 ID 정보(IDB)와 함께 제2 사용자 장치(B)에 전달하는 단계, 상기 제2 사용자 장치(B)가 제2 난수(NB)를 선택하고, 제2 사용자 장치의 메시지(
Figure 112016104770448-pat00001
)를 생성하는 단계, 상기 제2 사용자 장치(B)가 서명을 위한 제3 난수(rB)를 선택하고 개선된 RSA 구조의 ID 기반 서명 기법을 이용하여 상기 제2 사용자 장치의 메시지(mB)에 대한 제2 사용자 장치의 서명(
Figure 112016104770448-pat00002
)을 생성하는 단계, 상기 제2 사용자 장치(B)가 상기 제2 사용자 장치의 메시지(mB) 및 상기 제2 사용자 장치의 서명(
Figure 112016104770448-pat00003
)을 상기 제1 사용자 장치(A)에 전송하는 단계, 상기 제1 사용자 장치(A)가 상기 제2 사용자 장치의 서명(
Figure 112016104770448-pat00004
), 상기 제2 사용자 장치의 메시지(mB), 상기 제2 사용자 장치의 ID 정보(IDB), 및 공개 파라미터를 입력으로 하여 상기 제2 사용자 장치의 서명(
Figure 112016104770448-pat00005
)을 검증하는 단계, 검증을 통과한 경우, 상기 제1 사용자 장치(A)가 서명을 위한 제4 난수(rA)를 선택하고 개선된 RSA 구조의 ID 기반 서명 기법을 이용하여 제1 사용자 장치의 메시지(
Figure 112016104770448-pat00006
)에 대한 제1 사용자 장치의 서명(
Figure 112016104770448-pat00007
)을 생성하는 단계, 상기 제1 사용자 장치(A)가 상기 제1 사용자 장치의 메시지(mA) 및 상기 제1 사용자 장치의 서명(
Figure 112016104770448-pat00008
)을 상기 제2 사용자 장치(B)에 전송하는 단계, 상기 제2 사용자 장치(B)가 상기 제1 사용자 장치의 서명(
Figure 112016104770448-pat00009
), 상기 제1 사용자 장치의 메시지(mA), 상기 제1 사용자 장치의 ID 정보(IDA), 및 공개 파라미터를 입력으로 하여 상기 제1 사용자 장치의 서명(
Figure 112016104770448-pat00010
)을 검증하는 단계, 및 검증을 통과한 경우, 상기 제2 사용자 장치(B)가 상기 제3 난수(rB) 및 상기 제1 사용자 장치의 서명(
Figure 112016104770448-pat00011
)의 검증 단계에서 생성된 제2 중간값(CmtA)을 이용하여 세션키(ssk)를 생성하는 단계를 포함하되, 상기 제1 사용자 장치(A)가 상기 제1 사용자 장치의 서명(
Figure 112016104770448-pat00012
)을 생성한 이후에, 상기 제1 사용자 장치(A)가 상기 제4 난수(rA) 및 상기 제2 사용자 장치의 서명(
Figure 112016104770448-pat00013
)의 검증 단계에서 생성된 제1 중간값(CmtB)을 이용하여 세션키(ssk)를 생성하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 공개 파라미터 및 서명키를 관리하는 키 생성기관 서버로부터 공개 파라미터 및 서명키를 수신하여 다른 ID 기반 인증 및 키 교환 장치(B)와 ID 기반 인증 및 키 교환을 수행하는 ID 기반 인증 및 키 교환 장치(A)는 개선된 RSA 구조의 ID 기반 서명을 이용하여 다른 ID 기반 인증 및 키 교환 장치(B)와 인증을 수행하는 인증부, 해당 통신 세션에서 사용가능한 세션키를 생성하는 키생성부, 다른 ID 기반 인증 및 키 교환 장치(B) 또는 키 생성기관 서버와 유선 또는 무선 통신망을 통하여 통신을 수행하는 통신부, 및 ID 기반 인증 및 키 교환 장치(A)의 전반적인 동작을 제어하는 제어부를 포함하되, 상기 인증부는 다른 ID 기반 인증 및 키 교환 장치(A)에서의 인증을 요청하기 위한 제1 서명(
Figure 112016104770448-pat00014
)을 생성하는 서명부 및 다른 ID 기반 인증 및 키 교환 장치(B)의 제2 서명(
Figure 112016104770448-pat00015
)에 대한 검증을 수행하는 검증부를 포함하며, 상기 키생성부는 상기 검증부에서 다른 ID 기반 인증 및 키 교환 장치(B)로부터 수신한 상기 제2 서명(
Figure 112016104770448-pat00016
)에 대한 검증을 수행하는 중에 생성된 중간값(CmtB)을 이용하여 세션키(ssk)를 생성한다.
본 발명의 실시 예에 따른 개선된 RSA 구조의 ID 기반 인증 및 키 교환 방법에 의할 경우, 종래의 RSA 구조의 ID 기반 서명에 비해 짧은 서명 길이를 가지며, 고정된 베이스(Base)를 사용하여 지수 연산(Exponentiation)을 더욱 효율적으로 할 수 있도록 하는 효과가 있다.
또한, 본 발명의 실시 예에 따른 ID 기반 인증 및 키 교환 방법에 의할 경우, 개선된 RSA 구조의 ID 기반 서명을 이용하여 추가적인 파라미터 공유 없이 기기 간 인증 및 키 교환을 동시에 수행할 수 있도록 한다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 ID 기반 인증 및 키 교환 시스템의 개략도이다.
도 2는 도 1에 도시된 ID 기반 인증 및 키 교환 장치(사용자 장치)의 기능 블럭도이다.
도 3은 도 1에 도시된 ID 기반 인증 및 키 교환 시스템을 이용한 ID 기반 인증 및 키 교환 방법을 설명하기 위한 흐름도이다.
도 4는 도 3의 단계 S300을 보다 세부적으로 도시한 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
우선, 본 발명에 대한 설명에 앞서, 본 발명의 배경이 되는 기술에 대해 설명하면 다음과 같다.
본 발명에서는 일방향성(Onewayness)의 RSA(Rivest-Shamir-Adleman) 기법을 사용한다. RSA 키 생성 알고리즘 KGRSA(
Figure 112016104770448-pat00017
)는 보안 상수(Security parameter)
Figure 112016104770448-pat00018
을 입력으로 하여 서로 다른 두 소수
Figure 112016104770448-pat00019
를 선택하고,
Figure 112016104770448-pat00020
에 대한
Figure 112016104770448-pat00021
을 만족하는
Figure 112016104770448-pat00022
를 계산하여 RSA 파라미터
Figure 112016104770448-pat00023
를 출력하는 알고리즘이다. 여기서
Figure 112016104770448-pat00024
이며, 소수
Figure 112016104770448-pat00025
의 크기는 보안 상수에 따라 결정된다. RSA 파라미터로부터 설계된 기법의 안전성은 RSA 일방향성을 통해 증명된다. 임의의 공격자에게 KGRSA(
Figure 112016104770448-pat00026
)로부터 생성된
Figure 112016104770448-pat00027
Figure 112016104770448-pat00028
을 만족하는
Figure 112016104770448-pat00029
가 주어졌을 때,
Figure 112016104770448-pat00030
를 다항 시간 안에 계산할 수 있는 확률이 무시할 만큼 낮을 때(Negligible), RSA 파라미터는 일방향성을 만족한다고 한다.
또한, 본 발명에서는 ID 기반 서명(ID-Based Signature, IBS) 기법을 사용한다. ID 기반 서명은 각 개체가 자신의 ID에 대응하는 서명키를 이용하여 서명을 생성하는 기술로, 시스템을 셋팅하고 ID에 대응하는 키를 발급하는 키 생성기관(Key Generation Center, KGC), 서명을 생성하는 서명자(Signer)와 서명을 검증하는 검증자(Verifier)가 존재한다. ID 기반 서명은 (Setup, KeyGen, Sign, Verify)의 네 개의 다항 시간(Polynomial-time) 알고리즘으로 구성된다. Setup 알고리즘에서는 키 생성기관이 보안 상수를 입력으로 하여 공개 파라미터(Public parameter, pp)와 마스터 비밀키(Master secret key, msk)를 출력하며, pp는 공개하고 msk는 안전하게 보관한다. KeyGen 알고리즘에서는 키 생성기관이 msk를 이용하여 서명자의 ID에 대응하는 서명키
Figure 112016104770448-pat00031
를 출력한다. Sign 알고리즘에서는 서명자가
Figure 112016104770448-pat00032
를 이용하여 메시지
Figure 112016104770448-pat00033
에 대한 서명
Figure 112016104770448-pat00034
를 생성하며, Verify 알고리즘에서는 검증자가 서명자의 ID와 메시지
Figure 112016104770448-pat00035
을 이용하여
Figure 112016104770448-pat00036
를 검증한다.
본 발명에서 사용하는 ID 기반 서명은 개선된 RSA 구조로 설계된 기술이며, 1984년 Adi Shamir가 처음으로 제안한 기법을 개선한 기법을 제공한다. Adi Shamir가 제안한 RSA 구조의 ID 기반 서명 기술은 해시함수
Figure 112016104770448-pat00037
Figure 112016104770448-pat00038
,
Figure 112016104770448-pat00039
Figure 112016104770448-pat00040
Figure 112016104770448-pat00041
과 같이 정의할 때, 아래와 같이 구성된다.
1) 셋업 ( Setup ): 키 생성기관은 보안 상수
Figure 112016104770448-pat00042
를 입력으로 받아 RSA 키 생성 알고리즘 KGRSA(
Figure 112016104770448-pat00043
)을 통해 RSA 파라미터
Figure 112016104770448-pat00044
를 생성한다. 공개 파라미터 pp=
Figure 112016104770448-pat00045
와 마스터 비밀키 msk=
Figure 112016104770448-pat00046
를 출력한다. pp는 공개하고 msk는 안전하게 저장한다.
2) 키 생성( KeyGen ): 키 생성기관은 서명자의 ID, 마스터 비밀키 msk, 그리고 공개 파라미터 pp를 입력으로 하여 사용자 서명키
Figure 112016104770448-pat00047
을 출력한다.
Figure 112016104770448-pat00048
는 사용자에게 안전하게 전달한다.
3) 서명( Sign ): 서명자는 서명할 메시지
Figure 112016104770448-pat00049
, 자신의 서명키
Figure 112016104770448-pat00050
, 그리고 공개 파라미터 pp를 입력으로 하여 다음과 같이 서명
Figure 112016104770448-pat00051
를 출력한다.
① 임의의
Figure 112016104770448-pat00052
을 선택하여
Figure 112016104770448-pat00053
을 계산한다.
Figure 112016104770448-pat00054
을 계산한다.
③ 메시지
Figure 112016104770448-pat00055
에 대한 서명
Figure 112016104770448-pat00056
를 출력한다.
4) 검증( Verify ): 검증자는 서명
Figure 112016104770448-pat00057
, 메시지
Figure 112016104770448-pat00058
, 서명자의 ID, 그리고 공개 파라미터 pp를 입력으로 하여 다음과 같이 서명을 검증한다.
Figure 112016104770448-pat00059
을 계산한다.
② 등식
Figure 112016104770448-pat00060
이 성립하면 T를 출력하고, 그렇지 않으면 F를 출력한다.
또한, 본 발명에서는 디피-헬만 키 교환(Diffie-Hellman Key Exchange) 기법을 사용한다. 이산로그 문제는 위수가 소수
Figure 112016104770448-pat00061
인 곱셈군(Multiplicative group)
Figure 112016104770448-pat00062
와 임의의 원소
Figure 112016104770448-pat00063
에 대하여
Figure 112016104770448-pat00064
를 만족하는
Figure 112016104770448-pat00065
를 찾는 문제이다. 이 문제의 어려움을 바탕으로 설계된 디피-헬만 키 교환 기술은 두 객체 Alice와 Bob이 임의의 원소
Figure 112016104770448-pat00066
를 각각 선택하여 상대방에게
Figure 112016104770448-pat00067
를 전송하고, 세션키
Figure 112016104770448-pat00068
를 생성하는 기술이다. Alice는
Figure 112016104770448-pat00069
를 계산하고 Bob은
Figure 112016104770448-pat00070
를 계산한다. 채널상에 전송되는 A와 B를 보고
Figure 112016104770448-pat00071
Figure 112016104770448-pat00072
를 알아내는 것은 이산로그 문제이므로 매우 어렵기 때문에, 추가적으로 주어지는 정보 없이 세션키를 알아내는 것은 거의 불가능하다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
먼저, 도 1 내지 도 2를 참조하여, 본 발명의 일 실시예에 따른 ID 기반 인증 및 키 교환 장치 및 이를 포함하는 ID 기반 인증 및 키 교환 시스템에 대해 상술한다.
도 1은 본 발명의 일 실시예에 따른 ID 기반 인증 및 키 교환 시스템(10)을 도시한다. 도 1을 참조하면, 본 발명에 따른 ID 기반 인증 및 키 교환 시스템(10)은 키 생성기관 서버(200) 및 ID 기반 인증 및 키 교환을 수행하는 사용자 장치(200)를 포함한다.
도 2는 도 1에 도시된 ID 기반 인증 및 키 교환을 수행하는 사용자 장치(ID 기반 인증 및 키 교환 장치, 100)의 기능 블럭도이다.
도 2를 참조하면, 상기 사용자 장치(100)는 인증부(110), 키생성부(130), 통신부(170), 저장부(180), 및 제어부(190)을 포함한다.
본 명세서에서 사용되는 '~부'라 함은 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 '~부'는 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나 한 종류의 하드웨어를 의미하는 것은 아니다.
사용자 장치(100)의 인증부(110)는 제어부(190)의 제어 하에, 개선된 RSA 구조의 ID 기반 서명을 이용하여 다른 사용자 장치와의 인증을 수행한다. 인증부(110)는 서명부 및 검증부를 포함하며, 서명부는 다른 사용자 장치에서의 인증을 요청하기 위한 서명을 생성하고, 검증부는 다른 사용자 장치의 서명에 대한 검증을 수행한다. 인증부(110)에서의 서명 및 검증 방법에 대한 상세한 설명은 아래의 도 3 내지 도 4에 대한 설명을 참고한다.
사용자 장치(100)의 키생성부(130)는 제어부(190)의 제어 하에, 해당 통신 세션에서 사용가능한 세션키를 생성한다. 인증부(110)에서의 서명 및 검증 수행과 동시에 세션키를 생성을 수행할 수 있으며, 키생성부(130)에서의 세션키 생성 방법에 대한 상세한 설명은 아래의 도 3 내지 도 4에 대한 설명을 참고한다.
사용자 장치(100)의 통신부(170)는 제어부(190)의 제어 하에, 다른 사용자 장치(100) 또는 키 생성기관 서버(200)와 유선 또는 무선 통신망을 통하여 통신을 수행할 수 있다.
사용자 장치(100)의 저장부(180)는 프로그램 저장부와 데이터 저장부를 포함할 수 있다. 상기 프로그램 저장부는 사용자 장치(100)의 동작을 제어하기 위한 프로그램들이 저장될 수 있다. 상기 데이터 저장부에는 상기 프로그램들을 수행하는 과정 중에 발생하는 데이터들이 저장될 수 있다.
사용자 장치(100)의 제어부(190)는 서버(100)의 전반적인 동작을 제어한다. 즉, 인증부(110), 키생성부(130), 통신부(170) 및 저장부(180)의 동작을 제어할 수 있다.
본 발명은 개선된 RSA 구조의 ID 기반 서명과 이를 이용한 인증 및 키 교환 프로토콜로 구성된다.
먼저, ID 기반 인증 및 키 교환을 수행하기 위하여 이용하는 본 발명의 개선된 RSA 구조의 ID 기반 서명 방법을 설명한다.
ID 기반 서명에서는 초기에 시스템을 설정하는 키 생성기관과 서명을 생성하는 서명자 장치, 서명을 검증하는 검증자 장치가 존재한다. 초기에 키 생성기관은 설정(Setup) 알고리즘을 수행하여 공개 파라미터(pp)와 마스터 비밀키(msk)를 생성하고, 서명자 장치는 키 생성기관으로부터 자신의 ID에 대응하는 서명키(skID)를 발급받는다. 구체적으로, 본 발명에 따른 개선된 RSA 구조의 ID 기반 서명 방법은 아래와 같다.
초기에 키 생성기관 서버는 셋업 단계를 수행한다. 키 생성기관 서버는 보안 상수
Figure 112016104770448-pat00073
를 입력으로 받아 개선된 RSA 키 생성 알고리즘 KGRSA(
Figure 112016104770448-pat00074
)을 통해 RSA 파라미터
Figure 112016104770448-pat00075
를 생성한다.
Figure 112016104770448-pat00076
Figure 112016104770448-pat00077
는 소수
Figure 112016104770448-pat00078
Figure 112016104770448-pat00079
에 대해
Figure 112016104770448-pat00080
Figure 112016104770448-pat00081
의 형태로 생성하고, 위수가
Figure 112016104770448-pat00082
인 임의의
Figure 112016104770448-pat00083
를 선택한다. 공개 파라미터 pp=
Figure 112016104770448-pat00084
와 마스터 비밀키 msk=
Figure 112016104770448-pat00085
를 출력한다. 여기서
Figure 112016104770448-pat00086
Figure 112016104770448-pat00087
Figure 112016104770448-pat00088
Figure 112016104770448-pat00089
는 해시함수이다. 공개 파라미터(pp)는 공개하고 마스터 비밀키(msk)는 안전하게 저장한다.
다음, 키 생성기관 서버는 키 생성 단계를 수행한다. 키 생성기관 서버는 서명자(장치)의 ID, 마스터 비밀키 msk, 그리고 공개 파라미터 pp를 입력으로 하여 사용자 서명키
Figure 112016104770448-pat00090
을 출력한다.
Figure 112016104770448-pat00091
는 사용자(서명자) 장치에 안전하게 전달된다.
Figure 112016104770448-pat00092
는 모듈러스(Modulos) 연산을 의미한다.
다음, 서명자 장치는 서명할 메시지
Figure 112016104770448-pat00093
, 서명자 장치의 서명키
Figure 112016104770448-pat00094
, 그리고 공개 파라미터 pp를 입력으로 하여 서명
Figure 112016104770448-pat00095
를 출력한다. 구체적으로, 임의의
Figure 112016104770448-pat00096
을 선택하여
Figure 112016104770448-pat00097
을 계산하고,
Figure 112016104770448-pat00098
을 계산하여, 메시지
Figure 112016104770448-pat00099
에 대한 서명
Figure 112016104770448-pat00100
를 출력한다.
검증자 장치는 서명
Figure 112016104770448-pat00101
, 메시지
Figure 112016104770448-pat00102
, 서명자의 ID, 그리고 공개 파라미터 pp를 입력으로 하여 서명을 검증한다. 구체적으로,
Figure 112016104770448-pat00103
을 계산하고, 등식
Figure 112016104770448-pat00104
이 성립하면 T를 출력하고, 그렇지 않으면 F를 출력한다.
상술한 개선된 RSA 구조의 ID 기반 서명 기법의 정확성은 아래의 식을 통해 확인할 수 있다.
Figure 112016104770448-pat00105
마지막 등식은 RSA 파라미터의 성질
Figure 112016104770448-pat00106
에 의해 성립한다. 서명의 크기는
Figure 112016104770448-pat00107
의 원소 하나와 해시함수
Figure 112016104770448-pat00108
의 출력 길이인 l 비트의 합이 되며, 서명 시 공개 파라미터에 포함된 고정된 군 원소 g에 대한 지수 연산을 수행하므로 연산량 측면에서도 효율적이다.
상술한 개선된 RSA 구조의 ID 기반 서명 기법의 네 가지 알고리즘을 각각 IBS.Setup, IBS.KeyGen, IBS.Sign, IBS.Verify로 표현할 수 있다.
이하, 도 3 내지 도 4를 참조하여, 본 발명의 일 실시예에 따른 ID 기반 인증 및 키 교환 장치(시스템)를 이용하여 ID 기반 인증 및 키 교환을 수행하는 방법에 대해 상술한다.
도 3는 도 1에 도시된 ID 기반 인증 및 키 교환 시스템을 이용한 ID 기반 인증 및 키 교환 방법을 설명하기 위한 흐름도이고, 도 4는 도 3의 단계 S300을 보다 상세하게 설명한 도면이다. 이하에서는 상술된 내용과 중복되는 내용에 관한 기재는 생략하기로 한다.
본 발명에 따른 인증 및 키 교환 방법에서는 초기에 시스템을 설정하는 키 생성기관(KGC)과 인증 및 키 교환을 수행하는 두 개의 사용자 장치 A, B가 존재한다. 초기에 키 생성기관은 설정(Setup) 알고리즘을 수행하여 공개 파라미터와 마스터 비밀키를 생성(S100)하고, 각각의 사용자 장치는 키 생성기관로부터 자신의 ID에 대응하는 서명키를 발급(S200)받는다. 이후 두 사용자 장치는 ID 기반 서명과 질의-응답 프로토콜을 통해 상호 인증을 수행하고 세션키(Session key)를 공유(S300)하게 된다.
구체적으로, 키 생성기관은 셋업(Setup) 단계를 미리 수행하여 공개 파라미터와 마스터 비밀키를 생성한다(S100). 즉, 키 생성기관은 IBS.Setup을 수행하여 공개 파라미터 pp=
Figure 112016104770448-pat00109
와 마스터 비밀키 msk=
Figure 112016104770448-pat00110
를 생성한다. 여기서
Figure 112016104770448-pat00111
Figure 112016104770448-pat00112
는 추가적으로 사용하는 해시함수를 의미한다.
다음, 사용자 장치(들)는 자신의 ID에 대한 서명키를 키 생성기관으로부터 발급받는 등록 단계(Enrollment Phase)를 수행한다(S200). 즉, 각각의 사용자 장치는 자신의 ID에 대한 서명키
Figure 112016104770448-pat00113
를 키 생성기관으로부터 발급받는다. 키 생성기관은 IBS.KeyGen을 수행하여
Figure 112016104770448-pat00114
를 생성한다. 서로 다른 두 사용자 장치 A와 B의 ID를 각각
Figure 112016104770448-pat00115
Figure 112016104770448-pat00116
라고 할대, 사용자 장치 A(이하 ‘제1 사용자 장치‘라고도 함)와 사용자 장치 B(이하 ‘제2 사용자 장치‘라고도 함)는 키 생성기관으로부터 각각의 서명키
Figure 112016104770448-pat00117
Figure 112016104770448-pat00118
을 안전한 채널을 통해 발급받는다.
다음, 사용자 장치는 인증 및 키 교환 단계(Authentication and Key Exchange Phase)를 수행한다(S300). 구체적인 인증 및 키 교환 방법은 아래와 같다(도 4 참조).
먼저, 제1 사용자 장치(A)가 챌린지에 해당하는 제1 난수
Figure 112016104770448-pat00119
를 선택(S310)하여 ID 정보
Figure 112016104770448-pat00120
와 함께 제2 사용자 장치(B)에게 전달한다.
제2 사용자 장치(B)는 전송받은 ID 정보
Figure 112016104770448-pat00121
를 확인하고 챌린지에 해당하는 제2 난수
Figure 112016104770448-pat00122
를 선택(S320)한다. 그리고,
Figure 112016104770448-pat00123
에 대한 개선된 RSA 구조의 ID 기반 서명(
Figure 112016104770448-pat00124
, 이하 '제2 사용자 장치의 서명'이라고 함)을 아래와 같이 생성(S330)하여, 제2 사용자 장치의 메시지
Figure 112016104770448-pat00125
와 함께 제1 사용자 장치(A)에게 전송한다.
Figure 112016104770448-pat00126
IBS.Sign(
Figure 112016104770448-pat00127
, pp)
구체적으로, 제2 사용자 장치의 메시지
Figure 112016104770448-pat00128
에 대한 제2 사용자 장치의 서명(
Figure 112016104770448-pat00129
)을 출력하기 위하여 임의의 서명을 위한 제3 난수(
Figure 112016104770448-pat00130
)를 선택하여, 아래와 같이
Figure 112016104770448-pat00131
Figure 112016104770448-pat00132
를 계산한다.
Figure 112016104770448-pat00133
Figure 112016104770448-pat00134
다음, 제1 사용자 장치(A)는 검증 알고리즘 IBS.Verify(
Figure 112016104770448-pat00135
, pp)을 통해 전송받은 제2 사용자 장치의 서명(
Figure 112016104770448-pat00136
)을 검증한다(S340). 구체적으로, 제1 사용자 장치(A)는 제2 사용자 장치의 서명(
Figure 112016104770448-pat00137
), 제2 사용자 장치의 메시지(
Figure 112016104770448-pat00138
), 제2 사용자 장치의 ID(
Figure 112016104770448-pat00139
), 그리고 공개 파라미터(pp)를 입력으로 하며 아래의 등식이 성립하면 T를 출력하고, 그렇지 않으면 F를 출력한다.
Figure 112016104770448-pat00140
(이때,
Figure 112016104770448-pat00141
)
출력이 F이면 제1 사용자 장치(A)는 프로토콜을 중단하고, 출력이 T이면 제1 사용자 장치의 메시지
Figure 112016104770448-pat00142
에 대한 개선된 RSA 구조의 ID 기반 서명(
Figure 112016104770448-pat00143
, 이하 '제1 사용자 장치의 서명'이라고 함)을 아래와 같이 생성(S350)하여 제1 사용자 장치의 메시지
Figure 112016104770448-pat00144
와 함께 제2 사용자 장치(B)에게 전송한다.
Figure 112016104770448-pat00145
IBS.Sign(
Figure 112016104770448-pat00146
, pp)
구체적으로, 제1 사용자 장치의 메시지
Figure 112016104770448-pat00147
에 대한 제1 사용자 장치의 서명(
Figure 112016104770448-pat00148
)을 출력하기 위하여 임의의 서명을 위한 제4 난수(
Figure 112016104770448-pat00149
)를 선택하여, 아래와 같이
Figure 112016104770448-pat00150
Figure 112016104770448-pat00151
를 계산한다.
Figure 112016104770448-pat00152
Figure 112016104770448-pat00153
다음, 제1 사용자 장치(A)는 검증 과정에서 생성된
Figure 112016104770448-pat00154
(=
Figure 112016104770448-pat00155
)와 서명 과정에서 생성한 서명을 위한 제4 난수
Figure 112016104770448-pat00156
를 이용하여 아래와 같이 세션키
Figure 112016104770448-pat00157
를 계산한다(S370).
Figure 112016104770448-pat00158
(이때,
Figure 112016104770448-pat00159
)
다음, 제2 사용자 장치(B)는 검증 알고리즘 Verify(
Figure 112016104770448-pat00160
, pp)을 통해 전송받은 제1 사용자 장치에 대한 서명(
Figure 112016104770448-pat00161
)을 검증한다(S360). 단계 S360은 단계 S370 수행 이전 혹은 이후에 수행하거나, 동시에 수행할 수 있다.
구체적으로, 제2 사용자 장치(B)는 제1 사용자 장치의 서명(
Figure 112016104770448-pat00162
), 제1 사용자 장치의 메시지(
Figure 112016104770448-pat00163
), 제1 사용자 장치의 ID(
Figure 112016104770448-pat00164
), 그리고 공개 파라미터(pp)를 입력으로 하며 아래의 등식이 성립하면 T를 출력하고, 그렇지 않으면 F를 출력한다.
Figure 112016104770448-pat00165
(이때,
Figure 112016104770448-pat00166
)
출력이 F이면 제2 사용자 장치(B)는 프로토콜을 중단하고, 출력이 T이면 검증과정에서 생성한
Figure 112016104770448-pat00167
(=
Figure 112016104770448-pat00168
)와 서명 과정에서 생성한 서명을 위한 제3 난수
Figure 112016104770448-pat00169
를 이용하여 아래와 같이 세션키
Figure 112016104770448-pat00170
를 계산한다(S380).
Figure 112016104770448-pat00171
(이때,
Figure 112016104770448-pat00172
)
본 발명에 따른 ID 기반 인증 및 키 교환 방법에서는 종래의 기법과 달리 각 개체(사용자 장치)가 동일하게 사용할 수 있는 군 원소
Figure 112016104770448-pat00173
가 공개 파라미터에 포함되어 추가적인 군 정보에 대한 공유 없이 인증 수행과 동시에 키 교환이 가능하다.
상술한 ID 기반 인증 및 키 교환 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
ID 기반 인증 및 키 교환 프로그램은 상기 기록매체에 저장되며, 상기 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다. 또한, 상기 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 명령어 세트가 저장되고 실행될 수 있다.
본 발명에서 개시된 블록도들은 본 발명의 원리들을 구현하기 위한 회로를 개념적으로 표현한 형태라고 당업자에게 해석될 수 있을 것이다. 유사하게, 임의의 흐름 차트, 흐름도, 상태 전이도, 의사코드 등은 컴퓨터 판독가능 매체에서 실질적으로 표현되어, 컴퓨터 또는 프로세서가 명시적으로 도시되든지 아니든지 간에 이러한 컴퓨터 또는 프로세서에 의해 실행될 수 있는 다양한 프로세스를 나타낸다는 것이 당업자에게 인식될 것이다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : ID 기반 인증 및 키 교환 시스템
100 : 사용자 장치 200 : 키 생성기관 서버
110 : 인증부 130 : 키생성부
170 : 통신부 180 : 저장부
190 : 제어부

Claims (8)

  1. 공개 파라미터 및 서명키를 관리하는 키 생성기관 서버와 인증 및 키 교환을 수행하는 제1 사용자 장치(A) 및 제2 사용자 장치(B)를 포함하는 ID 기반 인증 및 키 교환 시스템을 이용하여 ID 기반 인증 및 키 교환을 수행하는 방법에 있어서,
    제1 사용자 장치(A)가 제1 난수(NA)를 선택하여, 제1 사용자 장치의 ID 정보(IDA) 및 제2 사용자 장치의 ID 정보(IDB)와 함께 제2 사용자 장치(B)에 전달하는 단계;
    상기 제2 사용자 장치(B)가 제2 난수(NB)를 선택하고, 제2 사용자 장치의 메시지(
    Figure 112016104770448-pat00174
    )를 생성하는 단계;
    상기 제2 사용자 장치(B)가 서명을 위한 제3 난수(rB)를 선택하고 개선된 RSA 구조의 ID 기반 서명 기법을 이용하여 상기 제2 사용자 장치의 메시지(mB)에 대한 제2 사용자 장치의 서명(
    Figure 112016104770448-pat00175
    )을 생성하는 단계;
    상기 제2 사용자 장치(B)가 상기 제2 사용자 장치의 메시지(mB) 및 상기 제2 사용자 장치의 서명(
    Figure 112016104770448-pat00176
    )을 상기 제1 사용자 장치(A)에 전송하는 단계;
    상기 제1 사용자 장치(A)가 상기 제2 사용자 장치의 서명(
    Figure 112016104770448-pat00177
    ), 상기 제2 사용자 장치의 메시지(mB), 상기 제2 사용자 장치의 ID 정보(IDB), 및 공개 파라미터를 입력으로 하여 상기 제2 사용자 장치의 서명(
    Figure 112016104770448-pat00178
    )을 검증하는 단계;
    검증을 통과한 경우, 상기 제1 사용자 장치(A)가 서명을 위한 제4 난수(rA)를 선택하고 개선된 RSA 구조의 ID 기반 서명 기법을 이용하여 제1 사용자 장치의 메시지(
    Figure 112016104770448-pat00179
    )에 대한 제1 사용자 장치의 서명(
    Figure 112016104770448-pat00180
    )을 생성하는 단계;
    상기 제1 사용자 장치(A)가 상기 제1 사용자 장치의 메시지(mA) 및 상기 제1 사용자 장치의 서명(
    Figure 112016104770448-pat00181
    )을 상기 제2 사용자 장치(B)에 전송하는 단계;
    상기 제2 사용자 장치(B)가 상기 제1 사용자 장치의 서명(
    Figure 112016104770448-pat00182
    ), 상기 제1 사용자 장치의 메시지(mA), 상기 제1 사용자 장치의 ID 정보(IDA), 및 공개 파라미터를 입력으로 하여 상기 제1 사용자 장치의 서명(
    Figure 112016104770448-pat00183
    )을 검증하는 단계; 및
    검증을 통과한 경우, 상기 제2 사용자 장치(B)가 상기 제3 난수(rB) 및 상기 제1 사용자 장치의 서명(
    Figure 112016104770448-pat00184
    )을 검증하는 단계에서 생성된 제1 중간값(CmtA)을 이용하여 세션키(ssk)를 생성하는 단계;를 포함하되,
    상기 제1 사용자 장치(A)가 상기 제1 사용자 장치의 서명(
    Figure 112016104770448-pat00185
    )을 생성한 이후에, 상기 제1 사용자 장치(A)가 상기 제4 난수(rA) 및 상기 제2 사용자 장치의 서명(
    Figure 112016104770448-pat00186
    )을 검증하는 단계에서 생성된 제2 중간값(CmtB)을 이용하여 세션키(ssk)를 생성하는 단계;를 더 포함하는,
    ID 기반 인증 및 키 교환을 수행 방법.
  2. 제1항에 있어서,
    상기 제1 사용자 장치의 서명(
    Figure 112016104770448-pat00187
    ) 및 상기 제2 사용자 장치의 서명(
    Figure 112016104770448-pat00188
    )은 아래의 수학식을 이용하여 생성하는,
    ID 기반 인증 및 키 교환을 수행 방법.
    (수학식)
    Figure 112016104770448-pat00189

    Figure 112016104770448-pat00190

    여기서, h는 공개 파라미터로 공개된 해시함수, e와 n은 공개 파라미터로 공개된 시스템 공개키, g는 공개 파라미터로 공개된 생성원, mod는 모듈러스 연산,
    Figure 112016104770448-pat00191
    는 키 생성기관 서버로부터 발급받은 제1 사용자 장치(A)의 서명키,
    Figure 112016104770448-pat00192
    는 키 생성기관 서버로부터 발급받은 제2 사용자 장치(B)의 서명키
  3. 제2항에 있어서,
    아래의 수학식이 성립하면 상기 제1 사용자 장치의 서명(
    Figure 112016104770448-pat00193
    ) 및 상기 제2 사용자 장치의 서명(
    Figure 112016104770448-pat00194
    )에 대한 검증을 통과한 것으로 판단하는,
    ID 기반 인증 및 키 교환을 수행 방법.
    (수학식)
    Figure 112016104770448-pat00195

    여기서, H는 공개 파라미터로 공개된 해시함수
  4. 제3항에 있어서,
    상기 제1 사용자 장치(A)에서의 세션키(ssk) 생성은 아래의 수학식을 이용하여 생성하고,
    (수학식)
    Figure 112016104770448-pat00196

    상기 제2 사용자 장치(B)에서의 세션키(ssk) 생성은 아래의 수학식을 이용하여 생성하는,
    (수학식)
    Figure 112016104770448-pat00197

    ID 기반 인증 및 키 교환을 수행 방법.
  5. 공개 파라미터 및 서명키를 관리하는 키 생성기관 서버로부터 공개 파라미터 및 서명키를 수신하여 다른 ID 기반 인증 및 키 교환 장치(B)와 ID 기반 인증 및 키 교환을 수행하는 ID 기반 인증 및 키 교환 장치(A)에 있어서,
    개선된 RSA 구조의 ID 기반 서명을 이용하여 다른 ID 기반 인증 및 키 교환 장치(B)와 인증을 수행하는 인증부,
    해당 통신 세션에서 사용 가능한 세션키를 생성하는 키생성부,
    다른 ID 기반 인증 및 키 교환 장치(B) 또는 키 생성기관 서버와 유선 또는 무선 통신망을 통하여 통신을 수행하는 통신부, 및
    ID 기반 인증 및 키 교환 장치(A)의 인증부, 키생성부, 및 통신부의 전반적인 동작을 제어하는 제어부를 포함하되,
    상기 인증부는 다른 ID 기반 인증 및 키 교환 장치(A)에서의 인증을 요청하기 위한 제1 서명(
    Figure 112017093672289-pat00198
    )을 생성하는 서명부 및 다른 ID 기반 인증 및 키 교환 장치(B)의 제2 서명(
    Figure 112017093672289-pat00199
    )에 대한 검증을 수행하는 검증부를 포함하며,
    상기 키생성부는 상기 검증부에서 다른 ID 기반 인증 및 키 교환 장치(B)로부터 수신한 상기 제2 서명(
    Figure 112017093672289-pat00200
    )에 대한 검증을 수행하는 중에 생성된 중간값(
    Figure 112017093672289-pat00211
    )을 이용하여 세션키(ssk)를 생성하는,
    ID 기반 인증 및 키 교환 장치.
  6. 제5항에 있어서,
    상기 서명부에서 아래의 수학식을 이용하여 상기 제1 서명(
    Figure 112016104770448-pat00201
    )을 생성하는,
    ID 기반 인증 및 키 교환 장치.
    (수학식)
    Figure 112016104770448-pat00202

    여기서, h는 공개 파라미터로 공개된 해시함수, e와 n은 공개 파라미터로 공개된 시스템 공개키, g는 공개 파라미터로 공개된 생성원, mod는 모듈러스 연산, rA는 서명부에서 서명을 생성하기 위하여 선택하는 랜덤값,
    Figure 112016104770448-pat00203
    는 키 생성기관 서버로부터 발급받은 ID 기반 인증 및 키 교환 장치(A)의 서명키, mA는 ID 기반 인증 및 키 교환 장치(A)의 ID 정보(IDA), 다른 ID 기반 인증 및 키 교환 장치(B)의 ID 정보(IDB), ID 기반 인증 및 키 교환 장치(A)가 선택한 제1 난수(NA), 및 다른 ID 기반 인증 및 키 교환 장치(B)가 선택한 제2 난수(NB)를 포함하는 서명 대상 메시지
  7. 제6항에 있어서,
    상기 검증부에서 아래의 수학식이 성립하면 상기 제2 서명(
    Figure 112017093672289-pat00204
    )에 대한 검증이 통과한 것으로 판단하는,
    ID 기반 인증 및 키 교환 장치.
    (수학식)
    Figure 112017093672289-pat00212

    Figure 112017093672289-pat00213

    여기서, H는 공개 파라미터로 공개된 해시함수
  8. 제7항에 있어서,
    상기 키생성부에서 아래의 수학식을 이용하여 상기 세션키(ssk)를 생성하는,
    ID 기반 인증 및 키 교환 장치.
    (수학식)
    Figure 112016104770448-pat00206

KR1020160141044A 2016-10-27 2016-10-27 Id 기반 인증 및 키 교환 방법 KR101802826B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160141044A KR101802826B1 (ko) 2016-10-27 2016-10-27 Id 기반 인증 및 키 교환 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160141044A KR101802826B1 (ko) 2016-10-27 2016-10-27 Id 기반 인증 및 키 교환 방법

Publications (1)

Publication Number Publication Date
KR101802826B1 true KR101802826B1 (ko) 2017-11-30

Family

ID=60812621

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160141044A KR101802826B1 (ko) 2016-10-27 2016-10-27 Id 기반 인증 및 키 교환 방법

Country Status (1)

Country Link
KR (1) KR101802826B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102117871B1 (ko) * 2019-10-11 2020-06-09 (주)소프트제국 공개키 및 개인키 요소들의 분산저장을 통한 간편인증 방법 및 시스템
KR20200088595A (ko) * 2019-01-15 2020-07-23 상명대학교산학협력단 세션 키를 생성하는 방법 및 그 전자장치
WO2021071116A1 (ko) * 2019-10-11 2021-04-15 (주)소프트제국 브라우저의 웹스토리지를 이용한 간편인증 방법 및 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100327885B1 (ko) 1997-06-18 2002-04-17 미야즈 쥰이치로 복수기관에의등록방법,그의장치및그의프로그램기록매체
JP3939586B2 (ja) 2002-05-08 2007-07-04 日本電信電話株式会社 フォワードセキュア電子署名方法、その装置、プログラム及びその記録媒体
KR101273991B1 (ko) 2005-08-26 2013-06-17 비악세스 세션키를 수립하기 위한 방법 및 그 방법을 수행하기 위한유닛들

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100327885B1 (ko) 1997-06-18 2002-04-17 미야즈 쥰이치로 복수기관에의등록방법,그의장치및그의프로그램기록매체
JP3939586B2 (ja) 2002-05-08 2007-07-04 日本電信電話株式会社 フォワードセキュア電子署名方法、その装置、プログラム及びその記録媒体
KR101273991B1 (ko) 2005-08-26 2013-06-17 비악세스 세션키를 수립하기 위한 방법 및 그 방법을 수행하기 위한유닛들

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200088595A (ko) * 2019-01-15 2020-07-23 상명대학교산학협력단 세션 키를 생성하는 방법 및 그 전자장치
KR102285310B1 (ko) * 2019-01-15 2021-08-02 상명대학교산학협력단 세션 키를 생성하는 방법 및 그 전자장치
KR102117871B1 (ko) * 2019-10-11 2020-06-09 (주)소프트제국 공개키 및 개인키 요소들의 분산저장을 통한 간편인증 방법 및 시스템
WO2021071116A1 (ko) * 2019-10-11 2021-04-15 (주)소프트제국 브라우저의 웹스토리지를 이용한 간편인증 방법 및 시스템
US11271744B2 (en) 2019-10-11 2022-03-08 Swempire Co., Ltd. Simple authentication method and system using browser web storage

Similar Documents

Publication Publication Date Title
CN112491846B (zh) 一种跨链的区块链通信方法及装置
CN107948189B (zh) 非对称密码身份鉴别方法、装置、计算机设备及存储介质
Harn et al. Generalized digital certificate for user authentication and key establishment for secure communications
Wang et al. Security analysis of a single sign-on mechanism for distributed computer networks
JP5201136B2 (ja) 匿名認証システムおよび匿名認証方法
JP4709815B2 (ja) 認証方法および装置
US20210160087A1 (en) Temporal Key Generation And PKI Gateway
CN105721153B (zh) 基于认证信息的密钥交换系统及方法
JP4973193B2 (ja) 制限付ブラインド署名システム
CN102318258A (zh) 基于身份的认证密钥协商协议
CN114710275B (zh) 物联网环境下基于区块链的跨域认证和密钥协商方法
KR101516114B1 (ko) 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템
CN111769938A (zh) 一种区块链传感器的密钥管理系统、数据验证系统
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
KR101802826B1 (ko) Id 기반 인증 및 키 교환 방법
CN111654481B (zh) 一种身份认证方法、装置和存储介质
EP3232603B1 (en) Key-exchange method, key-exchange system, terminal device, and program
US7971234B1 (en) Method and apparatus for offline cryptographic key establishment
Hajny et al. Attribute‐based credentials with cryptographic collusion prevention
KR101131929B1 (ko) 공개키 기반 인증장치 및 방법
US9054861B2 (en) Enhanced key agreement and transport protocol
Modares et al. Make a Secure Connection Using Elliptic Curve Digital Signature
Yang et al. High efficiency secure channels for a secure multiparty computation protocol based on signal
Zhang Authenticated Key Exchange Protocols with Unbalanced Computational Requirements
KR100642745B1 (ko) Id-기반의 키교환 방법 및 장치

Legal Events

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