KR101367101B1 - 다항식환을 이용한 키 합의 방법 및 이를 위한 장치 - Google Patents
다항식환을 이용한 키 합의 방법 및 이를 위한 장치 Download PDFInfo
- Publication number
- KR101367101B1 KR101367101B1 KR1020070045423A KR20070045423A KR101367101B1 KR 101367101 B1 KR101367101 B1 KR 101367101B1 KR 1020070045423 A KR1020070045423 A KR 1020070045423A KR 20070045423 A KR20070045423 A KR 20070045423A KR 101367101 B1 KR101367101 B1 KR 101367101B1
- Authority
- KR
- South Korea
- Prior art keywords
- polynomial
- polynomials
- seed
- key
- irreversible
- 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/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/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3026—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
-
- 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/3239—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 non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명은 단말간의 키 합의 방법에 의한 것으로, 본 발명에 의하면 네트워크상의 두 단말이 다항식환(polynomial rings)의 다항식을 이용하여 정보를 교환하고, 교환한 정보를 이용하여 인증하고, 또한 공유 키를 생성함으로써, 기존의 암호화 시스템에 비해 보안성이 높고 처리 속도가 빠른 인증된 키 합의 프로토콜을 구현할 수 있다.
Description
도 1은 종래 기술에 따른 MQV 프로토콜을 설명하기 위한 도면,
도 2는 본 발명의 일실시예에 따라 키를 공유하는 과정을 나타낸 순서도,
도 3은 본 발명의 일실시예에 따라 인증 절차를 수행하는 과정을 나타낸 순서도,
도 4는 본 발명의 일실시예에 따라 공유 키를 생성하는 과정을 나타낸 순서도,
도 5는 본 발명의 일실시예에 따라 두 디바이스가 인증 절차를 수행하고, 공유 키를 생성하는 과정을 나타낸 흐름도,
도 6은 본 발명의 일실시예에 따라 디바이스가 다른 디바이스와 다항식환을 이용하여 비밀 키를 공유하도록 하는 장치의 구조를 나타낸 도면이다.
본 발명은 비밀 키에 관한 것으로, 더욱 상세하게는 복수 개의 디바이스들이 비밀 키를 공유하는 키 합의 프로토콜에 관한 것이다.
키 합의(Key agreement)는 둘 이상의 개체(parties) 간에 비밀 키를 협상하는 방식이다. 초기 비밀 정보 없이 비밀 키를 만드는 것은 매우 어려운 문제이다. Diffie-Hellman(DH)의 키 합의 프로토콜은 비밀 정보를 전송하기 위해 공개 채널이 이용될 수 있음을 밝혔다. 그러나, DH 프로토콜은 meet-in-the-middle 공격에 의해 어려움을 겪는다. 비밀 키는 보안이 유지된 통신의 기반이 되므로, 다양한 키 합의 방식들이 제안되었다. meet-in-the-middle 공격에 대하여, 두 세션 개체들간의 인증을 제공하기 위한 인증된 키 합의 프로토콜(authenticated key agreement protocol)들이 제안되었다.
Wilson과 Menezes는 Diffie-Hellman의 문제에 기초하여 KEA, 일체(unified) 모델 및 MQV 세 가지의 인증된 키 합의 프로토콜(authenticated key agreement protocol)들을 분석하였다. 일체 모델 및 MQV는 ANSI X9.42, ANSI X9.63 및 IEEE P1363 표준에 나와 있는데, KEA는 생성된 키의 전방 비밀 유지(forward secrecy)가 부족함이 지적되었고, 일체 모델은 사용자 A의 비밀을 익힌 자는 A에게 어떠한 엔티티 B로서 사칭할 수 있음이 지적되었다. 또한, MQV 프로토콜은 미상의 키 공유 속성(unknown key-share attribute)이 없다.
도 1은 종래 기술에 따른 MQV 프로토콜을 설명하기 위한 도면이다.
우선, 큰 소수(prime) p와, 유한체(finite field) 에서 위수(order) q 및 원시근(primitive root) g를 정의한다. 또한, 디바이스 A와 디바이스 B의 공개 키들은 각각 ga , gb 이고, 개인 키들은 a, b로 가정한다.
디바이스 A는 q보다 작은 임의의 수 x를 선택하여, 임시 공개 키 를 계산한 후 디바이스 B에게 전송한다. 디바이스 B도 q보다 작은 임의의 수 y를 선택하고, 임시 공개 키 를 계산한 후 디바이스 B에게 전송한다.
이와 같은 MQV 프로토콜에서, 적(adversary) E가 디바이스 B에게 보내진 를 가로채고, , , (e는 E의 개인 키)를 계산한 후, 를 디바이스 B에게 전송한다. 디바이스 B는 이에 대한 응답으로 를 E에게 보내고, E는 이를 디바이스 A에게 포워딩한다. 디바이스 A와 디바이스 B는 동일한 세션 키를 생성하지만, 디바이스 B는 자신이 세션 키를 E와 공유하는 것으로 믿는다. 따라서, MQV 프로토콜에 의하면 미상의 키 공유 속성(unknown key-share attribute)이 없어 보안성이 취약하다. 보안성의 문제를 떠나서도, 상기 키 합의 방식들은 모두 어려운 수학적 문제들에 기초하고 있으며, 최종 키를 생성하기 위해 많은 계산 비용이 요구된다. 특히 무선 통신과 같은 환경에서는 단순한(lightweight) 키 합의 프로토콜이 요구되므로 이러한 복잡한 계산이 필요한 방식은 무선 단말에 적합하지 않다.
본 발명은, 다항식환에 기초하여 종래 기술에 비해 계산이 복잡하지 않고, 보안성이 뛰어난 인증된 키 합의 프로토콜(authenticated key agreement protocol)을 제공하는데 그 목적이 있다.
이러한 목적을 달성하기 위한 본 발명은, 제1디바이스가 제2디바이스와 키를 합의하는 방법에 있어서, 다항식환(Polynomial ring) 에서 랜덤하게 선택한 다항식들을 이용하여 제1시드다항식을 생성하는 단계; 상기 제1시드다항식을 상기 제2디바이스에게 전송하고, 상기 제2디바이스로부터 제2시드다항식을 수신하는 단계; 상기 제2시드다항식을 상기 에서 랜덤하게 선택한 다항식들을 이용하여 변형한 후,상기 제2디바이스에게 전송하는 단계; 상기 제2디바이스로부터 변형된 제1시드다항식을 수신하는 단계; 및 상기 제1시드다항식 생성 단계 및 상기 제2시드다항식 변형 단계에서 랜덤하게 선택된 다항식들 및 상기 변형된 제1시드다항식을 이용하여 공유 키를 생성하는 단계를 포함하며, 상기 각 단계에서 요구되는 모든 다항식들의 계산은 상기 에서 수행되는 것을 특징으로 한다.
상기 키 합의 방법은, 상기 제1시드다항식 생성 단계에서 랜덤하게 선택된 다항식들 및 상기 제1디바이스의 공개 키를 이용하여 인증 정보를 생성하는 단계; 상기 생성된 인증 정보를 상기 제2디바이스에게 전송하는 단계; 및 상기 제2디바이스로부터 수신된 다항식들을 이용하여 상기 제2디바이스를 인증하는 단계를 더 포함하는 것이 바람직하며, 이 때 상기 인증 정보 생성 및 인증 단계에서 필요한 모든 다항식의 계산은 상기 에서 수행된다.
상기 인증 정보는 인 것이 바람직하며, 이 때 x는 상기 에서 가역적인 다항식, r 1 은 상기 에서 비가역적인 다항식, a는 상기 제1디바이스의 개인 키인 다항식, 는 가 상기 제1디바이스의 공개 키가 되도록 하는 공개 파라미터, 인 비가역적인 다항식이다.
상기 제2디바이스를 인증하는 단계는, 상기 제2디바이스로부터 를 수신하는 단계; 를 계산하고, 를 계산하는 단계; 및 가 성립하는지 여부에 따라 상대 디바이스가 상기 제2디바이스인 것으로 결정하는 단계를 포함하는 것이 바람직하며, 이 때, y는 상기 에서 가역적인 다항식, 는 상기 에서 비가역적인 다항식, b는 상기 제2디바이스의 개인 키인 다항식, 는 가 상기 제2디바이스의 공개 키가 되도록 하는 공개 파라미터, h 2 는 비가역적인 다항식이다.
상기 해쉬 함수는 SHA-1 또는 MD5인 것이 바람직하다.
또한, 본 발명은 상기 키 합의 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
또한, 본 발명은 제1디바이스가 제2디바이스와 키를 합의하도록 하는 장치에 있어서, 다항식환(Polynomial ring) 에서 랜덤하게 선택한 다항식들을 이용하여 제1시드다항식을 생성한 후 상기 제2디바이스에게 전송하는 시드다항식생성부; 상기 제2디바이스로부터 수신되는 제2시드다항식을 상기 에서 랜덤하게 생성한 다항식들을 이용하여 변형한 후 상기 제2디바이스에게 전송하는 시드다항식변형부; 및 상기 제2디바이스로부터 변형된 제1시드다항식을 수신하고, 상기 제1시드다항식 생성과 상기 제2시드다항식 변형에 사용된 다항식들 및 상기 변형된 제1시드다항식을 이용하여 공유 키를 생성하는 키생성부를 포함하며, 상기 모든 다항식들의 계산은 다항식환 에서 수행되는 것을 특징으로 한다.
다항식환(polynomial ring)은 수학의 중요한 섹션이며, 다항식들은 암호화 및 정보 보안의 영역에서 넓게 응용될 수 있음이 밝혀져왔다. 다항식들은 보안이 유지된 다자간의 계산, 키 분배 스킴, 정보 분배 등등에 응용될 수 있다.
본 발명에서는, 다항식환에 기초한 인증된 키 합의 방식을 제안한다. 이에 따르면, 두 통신 개체는 우선 다항식 기반 서명 방식(polynomial-based signature scheme)을 통해 서로를 확인하고, 교환한 정보로부터 안전한 공유 키를 유도해낸다. 이 프로토콜의 보안성은 큰 격자에서의 최근접 벡터 문제 및 다항식환의 비가역성에 의존한다. 다항식들의 작은 계수들 때문에 이 프로토콜은 동일한 보안 레벨에서 다른 방식들에 비해 우수하다.
우선, 몇 가지 수학적 이론을 제시한 후 본 발명에 따른 방식을 상세히 설명한다. 본 발명에 따른 프로토콜의 보안성은 큰 격자에서의 최근접 벡터 문제 및 다항식환의 비가역성에 의존한다.
격자(lattice)는 다항식환(polynomial ring)은 수학의 중요한 섹션이며, 다항식들은 암호화 및 정보 보안의 영역에서 넓게 응용될 수 있음이 밝혀져왔다. 다항식들은 보안이 유지된 다자간의 계산, 키 분배 스킴, 정보 분배 등등에 응용될 수 있다.
본 발명에서는, 다항식환에 기초한 인증된 키 합의 방식을 제안한다. 이에 따르면, 두 통신 개체는 우선 다항식 기반 서명 방식(polynomial-based signature scheme)을 통해 서로를 확인하고, 교환한 정보로부터 안전한 공유 키를 유도해낸다. 이 프로토콜의 보안성은 큰 격자에서의 최근접 벡터 문제 및 다항식환의 비가역성에 의존한다. 다항식들의 작은 계수들 때문에 이 프로토콜은 동일한 보안 레벨에서 다른 방식들에 비해 우수하다.
우선, 몇 가지 수학적 이론을 제시한 후 본 발명에 따른 방식을 상세히 설명한다. 본 발명에 따른 프로토콜의 보안성은 큰 격자에서의 최근접 벡터 문제 및 다항식환의 비가역성에 의존한다.
정의 1(격자):
는 d 차원의 격자이다. 는 격자 L(B)의 기저(basis)라고 한다. d=n이면, 격자 L(B)는 풀 랭크(full rank)이다. 만약 벡터 v가 격자 L(B)에 속한다면, v는 격자 벡터(또는 격자점)이다.
정의2
(벡터 거리):
두 벡터 v와 w간의 거리는,
로 정의된다. 벡터들 간의 거리 함수는 다음과 같이 벡터들의 집합들 간으로 확장될 수 있다.
여기서, S1과 S2는 벡터들의 집합이다.
정의3
(최근접 벡터 문제):
격자에서 벡터까지의 거리는,
이다. 기저 B와 타겟 벡터 v(일반적으로, 격자 내에 있지 않음)가 주어졌을 때, v로부터 최단 거리를 가지는 L(B)의 벡터를 찾아내는 것을 최근접 벡터 문제(CVP, Closest Vector Problem)이라고 한다.
본 발명에 따른 방식은 상환(quotient ring) 에서 동작한다. 이 때, q 와 n은 홀수인 소수이다. 은 n보다 적은 차원의 정수 다항식들의 집합에 의해 특정되고, 모든 계수들은 유한 필드 에 속한다. 두 다항식들의 곱셈은 계수 컨볼루션(coefficient convolution)과 등가임을 상기하여야 한다.
우선, 몇 가지 보조 정리를 제시한다.
보조정리1
:
증명:
의 두 다항식 a와 b가 x의 가역성있는 다항식들이라면, 가 성립한다. x는 가역성 있는 다항식이고 와 서로 소이므로, a-b는 의 배수이다. a와 b가 에 속한다는 조건으로부터, a와 b는 같아야 한다. 그러므로, 만약 x가 에서 가역성 있는 다항식이라면, 에서 를 만족시키는 오직 하나의 고유한 다항식 a가 존재한다.
보조정리2
:
증명:
두 다항식들의 곱셈은 계수들의 컨볼루션으로 볼 수 있다. y를 x의 고유한 역(reverse) 다항식이라 가정한다. 만약, x가 행렬로 쓰여지고 y열벡터라면, x와 y의 곱은 다음과 같이 나타난다.
Rq에서, x와 y의 곱은 다음과 같이 쓰여질 수 있다.
x는 위의 왼쪽 행렬이다. y가 에서 x의 역 다항식이므로, 임이 명백하다. X의 랭크가 n이 아니라면, y의 솔루션은 고유하지 않다. 그것은 보조정리1과 어긋난다. 따라서, X의 랭크는 n이다. 거꾸로, 만약 X의 랭크가 n이라면, 를 만족시키는 고유한 솔루션 y가 존재한다. 따라서, x는 에서 가역적(invertible)이다. 만약 다항식 x가 비가역적이라면, X의 랭크는 n보다 작음을 추론할 수 있을 것이다.
보조정리3
:
에서 의 관계에 있는 세 개의 다항식 x, y, z를 가정한다. 만약 x가 가역적이고 y가 비가역적이라면, z 또한 비가역적이다. 게다가, 이 세 다항식들로 구성되는 행렬들을 X, Y, Z라고 하면, rank(Z)는 n보다 작다.
증명:
만약 z가 가역적이면, 를 만족시키는 다항식 z'가 존재한다. 이므로, 은 유효하다. 따라서, xz'는 y의 역으로 볼 수 있다. 이것은 y가 비가역적이라는 가정에 위배된다. 따라서, z는 비가역적이다.
x, y, z로부터 각각 생성된 행렬들 X,Y, Z를 가정하면, X,Y, Z의 관계는 다음과 같다.
본 발명에서는, 다항식 이론과 상기 세 가지 보조 정리를 이용하여 고안된 인증된 키 합의 방식을 제안한다.
이하에서 첨부된 도면을 참조하여, 본 발명의 바람직한 실시예를 상세히 설명한다.
도 2는 본 발명의 일실시예에 따라 키를 공유하는 과정을 나타낸 순서도이다.
단계 210에서, 키를 공유하려는 두 디바이스는 다항식환의 다항식들을 이용하여 서로에 대한 인증을 수행한다. 이에 대한 보다 상세한 설명은 도 3과 함께 후술한다.
인증이 성공하면, 단계 220에서 양 디바이스들은 서로 시드(seed) 다항식을 교환한다. 이하에서 시드 다항식은 공유 키를 생성하기 위한 소스가 되는 다항식을 말하며, 공유 키의 생성을 위해 양 디바이스들 간에 송수신되는 다항식들을 모두 포괄할 수 있도록 넓게 해석될 수 있다.
단계 230에서, 양 디바이스들은 시드 다항식을 이용하여 동일한 공유 키를 생성한다.
도 3은 본 발명의 일실시예에 따라 인증 절차를 수행하는 과정을 나타낸 순서도이며, 제1디바이스가 제2디바이스와 키를 공유하고자 할 때 제1디바이스에서 수행하는 절차를 나타낸 것이다.
단계 310에서, 제1디바이스는 다항식환에서 랜덤하게 선택한 다항식들과 제1디바이스의 공개 키를 이용하여 인증 정보를 생성한다.
단계 320에서, 제1디바이스는 생성된 인증 정보를 제2디바이스에게 전송한다. 제2디바이스는 이 인증 정보를 이용하여 제1디바이스를 인증할 수 있다.
단계 330에서, 제1디바이스는 제2디바이스로부터 인증 정보를 수신한다.
단계 340에서, 제1디바이스는 수신된 인증 정보를 이용하여 제2디바이스를 인증한다.
이러한 일련의 인증 절차에 성공한 경우에만, 양 디바이스들은 공유 키 생성 절차를 수행한다. 상기 인증 정보의 생성 과정이나 인증 정보를 이용한 인증 과정에서 다항식을 이용한 모든 계산은 다항식환에서 수행된다.
다항식환이 상환(quotient ring) 인 경우, q를 적절히 설정하여 다항식들의 계산에 대한 복잡성을 감소시킬 수 있다. 예를 들어, q=3으로 설정하면 다항식환의 모든 다항식의 계수는 0, 1, -1 중의 하나가 되므로, 다항식들의 계산이 매우 간단해져서 계산 속도가 빨라지게 된다.
도 4는 본 발명의 일실시예에 따라 공유 키를 생성하는 과정을 나타낸 순서도이다. 이하에서의 모든 다항식의 계산도 다항식환에서 수행된다.
단계 410에서, 제1디바이스는 다항식환에서 랜덤하게 선택한 다항식들을 이용하여 제1시드다항식을 생성한다.
단계 420에서, 제1디바이스는 제1시드다항식을 제2디바이스에게 전송하고, 제2디바이스로부터 제2시드다항식을 생성한다. 제2시드다항식은 제2디바이스가 다항식환에서 랜덤하게 선택한 다항식들을 이용하여 생성한 것이다.
단계 430에서, 제1디바이스는 제2시드다항식을 변형하여 제2디바이스로 전송한다. 여기서, 제2시드다항식을 변형한다는 것은, 제1디바이스가 다항식환에서 랜덤하게 선택한 다항식들을 제2시드다항식에 곱하는 것을 의미할 수 있다. 한편, 제1디바이스는 제2디바이스로부터 변형된 제1시드다항식을 수신한다. 변형된 제1시드다항식은 제2디바이스가 랜덤하게 선택한 다항식들을 제1시드다항식에 곱한 결과일 수 있다.
단계 440에서, 제1디바이스는 변형된 제1시드다항식과 랜덤하게 선택한 다항식들(제1시드다항식 생성시 및 제2시드다항식 변형시 사용했던 다항식들)을 이용하여 공유 키를 생성한다. 제2디바이스도 마찬가지로 변형된 제2시드다항식과 제2디바이스가 제2시드다항식을 생성하기 위해 랜덤하게 선택한 다항식들을 이용하여 동일한 공유 키를 생성한다.
도 5는 본 발명의 일실시예에 따라 두 디바이스가 인증 절차를 수행하고, 공유 키를 생성하는 과정을 나타낸 흐름도이다.
여기서는 네트워크에서 두 개의 디바이스 A 와 B를 가정하고, 그들의 개인 키들은 작은 다항식들 a와 b이며, 이들은 모두 다항식환 에서 가역적이라고 가정한다. 그들의 공개 키들은 각각 와 로서 계산될 수 있다. 여기서, 는 공개 파라미터이다. 이하에서 모든 다항식들의 계산은 에서 수행됨을 주지하여야 한다.
단계 501에서, A는 랜덤하게 가역적인 다항식 x 및 비가역적인 다항식 r 1 를 선택한다.
단계 502에서, A는 를 계산하고, 그 결과를 B에게 전송한다. 이 때, 이다. 는 강력한 비가역 함수(one-way function)이며, 출력값인 h 1 는 비가역적인 다항식이다. 해쉬 함수는 SHA-1 또는 MD5가 사용될 수 있으나, 반드시 이에 한정하지 않는다.
단계 503에서, B는 수신한 데이터로 A의 신분(identity)를 검증한다. 즉, 를 계산하고, 가 성립하는지 판단하여, 성립한다면 B는 A로부터 수신되는 메시지를 신뢰한다. 그렇지 않으면, B는 요청을 거절하고 세션을 중단한다.
만약 A가 인증을 통과하면, 단계 504에서 B는 랜덤하게 가역적인 다항식 y 및 비가역적인 다항식 r 2 를 선택한다.
B가 인증을 통과하면, 단계 507에서 A는 랜덤하게 비가역적인 다항식 s를 선택하고, 단계 509에서 를 B에게 전송한다. 본 실시예와는 달리, 구현예에 따라 는 단계 501에서 , 과 함께 미리 선택될 수도 있을 것이다.
단계 508에서, B는 랜덤하게 비가역적인 다항식 t를 선택하고, 단계 510에서 를 A에게 전송한다. 본 실시예와는 달리, t는 단계 504에서 r 2 , y와 함께 미리 선택될 수도 있을 것이다. 또한, 는 단계 505에서 와 함께 전송될 수도 있을 것이다.
참고로, 단계 502에서 A가 전송한 r 1 x는 B에 의해 로 변형되었고, A는 다시 이를 기초로 공유 키를 생성하므로, r 1 x는 공유 키를 위한 시드 다항식으로 볼 수 있다. 그러나, 도 공유 키를 생성하기 위하여 사용되는 다항식이므로, r 1 x를 인증 정보로, 를 시드 다항식으로 볼 수도 있을 것인데, 전술한 도 2는 이러한 관점에서 서술된 것이다. 이러한 관점에 의하면, r 2 y 역시 인증 정보가 되고, 는 시드 다항식이 될 것이다.
도 6은 본 발명의 일실시예에 따라 제1디바이스(600)가 네트워크(700)를 통해 제2디바이스(도시하지 않음)와 다항식환을 이용하여 비밀 키를 공유하도록 하는 장치의 구조를 나타낸 도면이다. 이하 각 구성요소에서 모든 다항식들의 계산은 다항식환에서 수행된다.
도 6에 도시된 바와 같이, 본 발명의 일실시예에 따른 장치는 인증부(610), 시드 다항식 생성부(620), 시드 다항식 변형부(630), 키 생성부(640) 및 통신부(650)를 포함한다.
인증부(610)는 다항식환(Polynomial ring) 에서 랜덤하게 선택한 다항식들과 제1디바이스(600)의 공개 키를 이용하여 인증 정보를 생성하고, 통신부(650)를 통해 제2디바이스에게 인증 정보를 전송한다. 또한, 제2디바이스로부터 수신되는 다항식들을 이용하여 제2디바이스를 인증한다. 즉, 도 5의 실시예에서와 같이, 제2디바이스로부터 를 수신하여, 와 를 계산한 후, 가 성립하는지 검사한다.
시드 다항식 생성부(620)는 인증부(610)에 의해 에서 랜덤하게 선택된 다항식들을 이용하여 제1시드 다항식을 생성한 후, 통신부(650)를 통해 제2디바이스에게 전송한다. 여기서, 제1시드다항식은 도 5의 예에서 r 1 x에 해당한다. 본 실시예에서는 r 1 과 x를 인증부(610)에서 선택한 것으로 하였으나, 다른 구성 요소에 의해 선택될 수도 있음은 당업자에게 자명할 것이다.
시드 다항식 변형부(630)는 제2디바이스로부터 수신되는 제2시드다항식을 변형한 후, 통신부(650)를 통해 제2디바이스로 변형된 제2시드다항식을 전송한다. 이 때의 변형은 제2시드다항식에 에서 랜덤하게 선택한 다항식들을 곱하는 것이 될 수 있다. 즉, 도 5의 예에서와 같이, 제2디바이스로부터 수신한 r 2 y 를 로 변형하여 제2디바이스에게 전송한다.
키 생성부(640)는 제2디바이스로부터 변형된 제1시드다항식을 수신하고, 에서 랜덤하게 선택된 다항식들 및 변형된 제1시드다항식을 이용하여 공유 키를 생성한다. 이 때, 랜덤하게 선택된 다항식들이란 제1시드 다항식의 생성에 사용된 다항식 및 제2시드 다항식의 변형에 사용된 다항식을 의미한다.
본 발명에 의한 프로토콜에서, 보안성은 파라미터 의 선택에 의존한다. 의 값이 클수록 적이 사용자들의 개인 키들을 찾아내기 힘들 것이다. 다 만, 큰 파라미터들은 효율성에 영향을 미치므로, 파라미터 선택에 있어서 보안성과 효율성이 조화되도록 해야 할 것이다. 예를 들면, 중간 레벨의 보안을 위해 파라미터들 를 (167, 3, 6)으로 설정할 수 있고, 높은 레벨의 보안을 위해 (503, 3, 10)으로 설정할 수 있다. 상기 중간 레벨 보안의 예에서, 0이 아닌 계수들(non-zero coefficients)를 50으로 설정하는 경우, 적이 무차별 공격(brute force attack) 방법을 사용하게 되면, 개인키 의 보안성은 다음과 같이 나타낼 수 있다.
또한, 본 발명에 의한 프로토콜은 위조(forgery)에 대한 보안성도 뛰어나다. 만약 적이 A의 서명들 을 획득하고, A를 사칭하려 하는 경우, 적은 곱셈 공격(multiplication attack)을 위해 우선 랜덤하게 작은 다항식 를 선택한 후, 를 각각 와 곱한다. 유효한 서명들을 위해, 은 제거되어야 한다. 그러나, 은 비가역적이므로 로부터 제거될 수 없고, 따라서 적은 개인 키 a를 알지 못하면 새로운 서명을 위조할 수 없다.
또한, 본 발명에 따른 프로토콜은 세션 키에 대한 보안성도 제공한다. 만약 적이 A와 B 사이의 모든 데이터 송수신을 인터셉트한 경우, 적이 취할 수 있는 대부분의 가능한 공격은를 통해 및 를 분석하는 것 이다. 보조 정리3에 따르면, 에서 x와 t는 비가역적인 다항식들이므로 및 는 비가역적이다. 의 쉬프트에 의해 생긴 행렬의 랭크를 k라 가정하면, 대략 의 솔루션은 개가 된다. k가 n보다 훨씬 작으면, 솔루션 개수는 매우 크고 고유의 정확한 솔루션에 대한 확률은 이 된다. 이러한 상황은 에 대하여도 동일한다. 따라서, 와 의 정확한 솔루션을 찾는 것은 매우 어렵다.
본 발명에 따른 인증된 키 합의 프로토콜은 다음과 같은 조건 하에서 랜덤 오라클 모델(random oracle model)에서의 보안성을 제공한다.
1) 적은 유출 문의(Reveal queries)를 하지 않는다.
2) 최근접 벡터 문제(CVP)는 어렵다.
이하에서, 이를 증명하도록 한다. 격자 공격은 엔티티의 개인 키를 찾기 위한 가장 효율적인 방법이다. 벡터 가 엔티티 A의 공개 키 를 나타내는 것이라고 하면, 적은 네 개의 n X n 블록들로 구성된 다음과 같은 2n X 2n 행렬을 생성할 수 있다.
여기서, 는 작은 정수이다. L은 이 행렬의 행(row)들에 의해 생성된 격자라고 하자. 공개 키는 이므로, 격자 L은 벡터 를 포함할 것이다. 격자 감소(lattice reduction)을 통해, 적(adversary)은 거리 를 최소화하기 위해 의 이전의 n계수들에서 다항식 를 찾으려고 할 것이다. 는 벡터 의 다음 n 계수들을 말한다. CVP가 어려운 문제인 것으로 가정하였으므로, 를 찾는 것은 어렵다.
게다가, 를 랜덤 오라클로 본다면, 적은 많은 서명 데이터 를 얻기 위해 이 랜덤 오라클로 많은 요청을 보낼 수 있다. 의 임의성(randomness)과 비가역성(irreversibility) 때문에, 적은 설사 많은 수의 다른 서명들을 알고 있더라도 특정 엔티티의 서명을 위조할 수 없다. 따라서, 본 발명에 따른 프로토콜은 랜덤 오라클의 존재 하에서 보안성을 제공한다.
한편, 작은 다항식 계수들 때문에, 본 발명에 의한 방식은 다른 암호화 시스 템에 비해 동일한 보안 레벨에서 훨씬 빠르다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, 기존의 방법에 비해 보안성이 우수하고, 동일한 보안 레벨에서 처리 속도가 더욱 빠른 키 합의 프로토콜이 제공된다.
Claims (13)
- 제1디바이스가 제2디바이스와 키를 합의하는 방법에 있어서,상기 제1시드다항식을 상기 제2디바이스에게 전송하고, 상기 제2디바이스로부터 제2시드다항식을 수신하는 단계;상기 제2디바이스로부터 변형된 제1시드다항식을 수신하는 단계; 및상기 제1시드다항식 생성 단계 및 상기 제2시드다항식 변형 단계에서 랜덤하게 선택된 다항식들 및 상기 변형된 제1시드다항식을 이용하여 공유 키를 생성하는 단계를 포함하며,
- 제 3항 또는 제 4항에 있어서,상기 hash()가 나타내는 해쉬 함수는 SHA-1 또는 MD5인 것을 특징으로 하는 방법.
- 제 1항 내지 제 5항 중 어느 한 항을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
- 제1디바이스가 제2디바이스와 키를 합의하도록 하는 장치에 있어서,상기 제2디바이스로부터 변형된 제1시드다항식을 수신하고, 상기 제1시드다항식 생성과 상기 제2시드다항식 변형에 사용된 다항식들 및 상기 변형된 제1시드다항식을 이용하여 공유 키를 생성하는 키생성부를 포함하며,
- 제 10항 또는 제 11항에 있어서,상기 hash()가 나타내는 해쉬 함수는 SHA-1 또는 MD5인 것을 특징으로 하는 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/847,770 US7987367B2 (en) | 2006-08-30 | 2007-08-30 | Method and apparatus for key agreement between devices using polynomial ring |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060083130 | 2006-08-30 | ||
KR20060083130 | 2006-08-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080020448A KR20080020448A (ko) | 2008-03-05 |
KR101367101B1 true KR101367101B1 (ko) | 2014-02-25 |
Family
ID=39395456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070045423A KR101367101B1 (ko) | 2006-08-30 | 2007-05-10 | 다항식환을 이용한 키 합의 방법 및 이를 위한 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101367101B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5790287B2 (ja) * | 2011-08-12 | 2015-10-07 | ソニー株式会社 | 情報処理装置、情報処理方法、プログラム、及び記録媒体 |
KR101357074B1 (ko) * | 2011-12-12 | 2014-02-05 | 고려대학교 산학협력단 | 공개키 기반의 키 공유 메커니즘을 이용한 보안 키 설정 방법 |
KR102637234B1 (ko) * | 2023-07-06 | 2024-02-15 | 기초과학연구원 | 격자 기반 공개키 암호 시스템 및 이에 포함된 전자장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030210929A1 (en) | 2000-03-09 | 2003-11-13 | Oki Data Corporation | Toner cartridge and printer to which the toner cartridge is attached |
US6731755B1 (en) | 1997-07-28 | 2004-05-04 | The Director, Government Communications Headquarters | Split-key cryptographic system and method |
US20040151309A1 (en) | 2002-05-03 | 2004-08-05 | Gentry Craig B | Ring-based signature scheme |
US20050271203A1 (en) | 2004-05-19 | 2005-12-08 | Koichiro Akiyama | Encryption apparatus, decryption apparatus, key generation apparatus, program, and method |
-
2007
- 2007-05-10 KR KR1020070045423A patent/KR101367101B1/ko not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6731755B1 (en) | 1997-07-28 | 2004-05-04 | The Director, Government Communications Headquarters | Split-key cryptographic system and method |
US20030210929A1 (en) | 2000-03-09 | 2003-11-13 | Oki Data Corporation | Toner cartridge and printer to which the toner cartridge is attached |
US20040151309A1 (en) | 2002-05-03 | 2004-08-05 | Gentry Craig B | Ring-based signature scheme |
US20050271203A1 (en) | 2004-05-19 | 2005-12-08 | Koichiro Akiyama | Encryption apparatus, decryption apparatus, key generation apparatus, program, and method |
Also Published As
Publication number | Publication date |
---|---|
KR20080020448A (ko) | 2008-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7987367B2 (en) | Method and apparatus for key agreement between devices using polynomial ring | |
US8688973B2 (en) | Securing communications sent by a first user to a second user | |
WO2017202161A1 (zh) | 基于无证书两方认证密钥协商方法、装置和存储介质 | |
JP4237970B2 (ja) | 通信方法 | |
US9571274B2 (en) | Key agreement protocol | |
Zheng et al. | PUF-based mutual authentication and key exchange protocol for peer-to-peer IoT applications | |
Sun et al. | A provable authenticated group key agreement protocol for mobile environment | |
CN112106322A (zh) | 基于密码的阈值令牌生成 | |
JP5594034B2 (ja) | 認証装置、認証方法、及びプログラム | |
Yu et al. | Low-computation certificateless hybrid signcryption scheme | |
Zhang et al. | Public-key encryption with bidirectional keyword search and its application to encrypted emails | |
Xie et al. | Efficient two-party certificateless authenticated key agreement protocol under GDH assumption | |
US20160352689A1 (en) | Key agreement protocol | |
KR101367101B1 (ko) | 다항식환을 이용한 키 합의 방법 및 이를 위한 장치 | |
Chatterjee et al. | Mutual Authentication Protocol Using Hyperelliptic Curve Cryptosystem in Constrained Devices. | |
Zheng et al. | An efficient protocol for two‐party explicit authenticated key agreement | |
Hwang et al. | EPA: An efficient password-based protocol for authenticated key exchange | |
Guo et al. | Certificateless public key encryption scheme with hybrid problems and its application to internet of things | |
CN110890961A (zh) | 一种新型安全高效的多授权属性基密钥协商协议 | |
Yang et al. | Efficient certificateless encryption withstanding attacks from malicious KGC without using random oracles | |
Zhao et al. | Provably secure authenticated key exchange protocol under the CDH assumption | |
Qi et al. | TBVPAKE: An efficient and provably secure verifier-based PAKE protocol for IoT applications | |
WO2019204975A1 (zh) | 多方量子求和方法及系统 | |
Kumari et al. | A resilient group session key authentication methodology for secured peer to peer networks using zero knowledge protocol | |
Hadabi et al. | Proxy re-encryption with plaintext checkable encryption for integrating digital twins into IIoT |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |