KR101411970B1 - Method for authenticating between objects - Google Patents

Method for authenticating between objects Download PDF

Info

Publication number
KR101411970B1
KR101411970B1 KR1020130003674A KR20130003674A KR101411970B1 KR 101411970 B1 KR101411970 B1 KR 101411970B1 KR 1020130003674 A KR1020130003674 A KR 1020130003674A KR 20130003674 A KR20130003674 A KR 20130003674A KR 101411970 B1 KR101411970 B1 KR 101411970B1
Authority
KR
South Korea
Prior art keywords
verifier
authentication
value
row vector
lwe
Prior art date
Application number
KR1020130003674A
Other languages
Korean (ko)
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 KR1020130003674A priority Critical patent/KR101411970B1/en
Application granted granted Critical
Publication of KR101411970B1 publication Critical patent/KR101411970B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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

Abstract

The present invention relates to a method of performing authentication between objects performing cryptographic communication, and more particularly, to a scheme of securing security even in a so-called worst case when authentication between objects, which precedes the cryptographic communication performed between the objects, is performed. An authentication method disclosed includes the following steps of: a) inquiring a secret value possessed by an object (certifier) when an object (verifier) performing authentication receives an authentication request from the verifier who will be authenticated; b) transmitting an application result of a learning with error (LWE) problem to the secret value to the verifier by the certifier; and c) finally determining whether the certifier is authenticated by using the result by the verifier.

Description

암호 통신을 수행하는 객체 간 인증 방법{Method for authenticating between objects}[0001] The present invention relates to a method for authenticating between objects,

본 발명은 암호 통신을 수행하는 객체 간 인증 방법에 관한 것으로, 보다 상세하게는 객체 간에 이루어지는 암호 통신에 선행되는 객체 간 인증이 수행되는 경우에 소위 '최악의 경우(Worst-case)'에도 안전성(security)을 확보하는 방안에 관한 것이다.The present invention relates to an inter-object authentication method for performing cryptographic communication, and more particularly, to a method for inter-object authentication in which, in a so-called " worst case " security.

객체 간(예를 들어 클라이언트-서버 간) 암호 통신을 위해서는 공개 채널을 이용하여 객체 간 인증이 선행되어야 한다. 질의-응답(challenge-response)을 이용하는 객체 간 인증 방식은 인증을 받으려는 객체(이하 '증명자'라 칭함)가 인증을 수행하는 객체(이하 '검증자')에게 자신의 비밀 값을 직접 노출시키지 않으면서 검증자의 비밀 값을 알고 있다는 사실을 증명하여 이루어지는 인증 방식이다.For inter-object (eg client-server) cryptographic communication, inter-object authentication must be preceded by a public channel. An inter-object authentication method using a challenge-response is a method in which an object to be authenticated (hereinafter referred to as a "prover") directly exposes its secret value to an object (hereinafter referred to as a "verifier" This is an authentication method that proves that the secret value of the verifier is known.

한편 객체 간 인증 기법의 안전성은 계산적으로 어려움이 알려진 NP 문제(Nondeterministic Polynomial time problem)로 귀결시킴으로써 증명된다. 즉, '인증 기법이 안전하지 않으면 NP 문제를 해결할 수 있다'라는 명제(thesis)를 증명함으로써 이의 대우 명제(contraposition thesis)인 'NP 문제가 어려우면 인증 기법이 안전하다'임을 보인다. 현재까지 사용되는 인증 기법의 안전성은 주로 '소인수분해 문제와 이산대수 문제는 풀기 어렵다'라는 사실에 기반하여 증명되었다. 하지만 최근 컴퓨팅 능력의 비약적 향상으로 인해 이러한 안전성이 훼손될 수 있음이 증명되었는데, 예를 들어 양자 컴퓨팅(Quantum computing) 기술의 발전과 꾸준한 연구를 통해 양자 컴퓨팅 환경에서 상기한 두 문제를 의미 있는 시간(현실적으로 가능한 시간 또는 다항 시간(polynomial time)) 내에 해결할 수 있는(풀 수 있는) 알고리즘이 존재하는 것으로 밝혀졌다(Shu-Shun Li et.al., "Quantum computing,"Proceeding of the National Academy of Sciences of the United States of America, vol 98, pp 11847-11848, 2001). 이는 양자 컴퓨팅 환경을 비롯한 고성능 컴퓨팅 환경에서 더 이상 상기한 문제들을 해결함의 어려움에 기반한 객체 간 인증 기법을 사용할 수 없음을 의미한다.On the other hand, the security of the inter-object authentication scheme is proved by a computationally difficult NP problem (Nondeterministic Polynomial time problem). In other words, it proves the thesis that 'if the authentication technique is unsafe, the NP problem can be solved', it shows that the authentication technique is safe if its NP controposition thesis is difficult. The security of the authentication techniques used so far has been proved mainly based on the fact that the problem of subnormal number resolution and discrete logarithm is difficult to solve. However, recent advances in computing power have proven that this safety can be compromised. For example, with advances in quantum computing technology and steady research, it is possible to achieve the above two problems in a quantum computing environment at a meaningful time (Which can be solved within realistic time or polynomial time) (Shu-Shun Li et al., "Quantum computing," Proceedings of the National Academy of Sciences the United States of America, vol. 98, pp. 11847-11848, 2001). This means that it is impossible to use the inter-object authentication technique based on the difficulty of solving the above-mentioned problems in a high-performance computing environment including a quantum computing environment.

공개특허공보 10-1999-0053065 '이산대수 문제에 근거한 디지털 다중서명 방법'(1999.07.15.)Patent Document 10-1999-0053065 'Digital Multiple Signature Method Based on Discrete Logarithm Problem' (July 15, 1999)

본 발명은 상기한 문제점을 인식하여 창안된 것으로, 본 발명이 해결하고자 하는 과제는 특히 양자 컴퓨팅 환경을 비롯한 고성능 컴퓨팅 환경에서 최악의 경우에도(어느 경우에도) 객체 간 인증의 안전성을 확보할 수 있도록 하는 객체 간 인증 시스템 및 그 방법을 제시하는 것이다.The present invention has been made in recognition of the above problems, and it is an object of the present invention to provide a method and apparatus for securing the security of authentication between objects in a worst case (any case) in a high performance computing environment including a quantum computing environment Object authentication system and method therefor.

상기한 과제를 해결하기 위해 개시되는 인증 방법은 a) 인증을 수행하는 객체(검증자)가, 인증을 받으려는 객체(증명자)로부터 인증을 요청을 받으면, 상기 증명자가 보유하고 있는 비밀 값을 질의하는 단계; b) 상기 증명자가 상기 비밀 값에 대해 LWE(Learning With Error) 문제를 적용한 결과를 상기 검증자에게 전송하는 단계; 및 c) 상기 검증자가 상기 결과를 이용해 상기 증명자의 인증 여부를 최종 결정하는 단계를 포함하여 상기한 과제를 해결한다.According to an aspect of the present invention, there is provided an authentication method, which is a method for solving the above-mentioned problems, comprising the steps of: a) when an object (authenticator) performing authentication performs a request for authentication from an object (authenticator) ; b) transmitting to the verifier a result of applying the Learning With Error (LWE) problem to the secret value; And c) finally verifying whether the verifier authenticates the verifier using the result.

본 발명은 LWE 문제에 기반하여 암호 통신을 수행하는 객체 간 인증을 수행하므로, 객체 간 암호 통신에 전제되는 객체 간 인증(암호화)에 소요되는 비용의 절감과 아울러 인증에 필요한 각 객체의 비밀 값이 외부로 유출될 가능성이 원천적으로 없기 때문에 양자 컴퓨팅 환경을 비롯한 고성능 컴퓨팅 환경에서 최악의 경우에도 인증에 있어서의 안전성을 절대적으로 확보할 수 있다.Since the present invention performs inter-object authentication based on the LWE problem, it reduces the cost of authentication (encryption) between objects required for inter-object cryptographic communication, There is no possibility of leakage to the outside. Therefore, in the worst case in a high performance computing environment including a quantum computing environment, safety in authentication can be absolutely ensured.

도 1 내지 도 2는 본 발명의 흐름을 제시한 도면이다.
도 3은 본 발명의 일 구현예를 제시한 도면이다.
1 and 2 are views showing the flow of the present invention.
3 is a view showing one embodiment of the present invention.

본 발명을 실시하기 위한 구체적인 내용의 설명에 앞서 이해의 편의를 위해 본 발명이 해결하려는 과제의 해결 방안의 개요를 우선 제시한다.Prior to the description of the concrete contents for carrying out the present invention, for the sake of understanding, an outline of a solution to the problem to be solved by the present invention will be given first.

위에서 언급한 바와 같이 소인수분해 문제와 이산대수 문제는 일반적인 경우(average-case)에는 풀기에 매우 어려운 것으로 알려져 있지만, 소정의 경우(worst-case)에는 매우 쉽게 풀린다. 예를 들어 소인수분해 문제는 하나의 소수(prime number)가 아주 작은 경우에는 매우 쉽게 풀린다. 그리고 소인수분해 문제와 이산대수 문제의 어려움에 기반하는 암호 시스템은 암호 스킴(scheme) 자체가 매우 복잡하여 비용적인 측면에서의 문제가 있을 뿐만 아니라, 무엇보다도 위에서와 같이 언급한 바대로 문제 자체가 풀려버리면 그 문제의 답(각 객체의 비밀 값)이 외부에 알려지게 되므로 안전성을 해하여 버리는 심각한 결과를 초래한다.As mentioned above, the problem of small scale decomposition and discrete algebra is very difficult to solve in average-case, but it is very easy to solve in worst-case. For example, the factoring problem is solved very easily when one prime number is very small. In addition, the cryptosystem based on the problem of decomposition of small numbers and the difficulty of the discrete algebra problem is not only costly in terms of the complexity of the cryptosystem itself, and, above all, If it is discarded, the answer of the problem (the secret value of each object) becomes known to the outside, and it causes a serious result that the safety is deteriorated.

이에 대처하기 위해 래티스 모델(lattice model)을 기반으로 하는 암호 시스템이 소개되었는데, 이는 양자 컴퓨팅 환경을 포함하는 고성능 컴퓨팅 환경에서도 안전한 것으로 알려져 있으며, 특히 최악의 경우에도 안전성을 유지하는 것으로 알려져 있다(Daniele Micciancio and Oded Regev, "Lattice-based cryptography,"In Post-Quantum Cryptography. pp 147-191, Springer, 2009).To cope with this, a cryptosystem based on a lattice model has been introduced, which is known to be safe in high performance computing environments including a quantum computing environment, and is known to maintain safety even in the worst case (Daniele Micciancio and Oded Regev, "Lattice-based cryptography," In Post-Quantum Cryptography, pp 147-191, Springer, 2009).

아울러 래티스 모델에서의 어려운 문제(hard problem)와 동치(equivalent) 관계인 문제로 LWE(Learning With Errors) 문제가 소개되었다. LWE 문제를 암호화에 이용하면 암호 시스템 설계의 효율이 높아지는데, 이는 LWE 문제에 기반한 암호 스킴이 매우 간단하게 구현되기 때문이다. 그러나 만일 어떤 우연한 사정으로 비밀 값의 형태가 단순한 것과 같이 LWE 문제의 조건이 쉽게 설정되더라도 그 문제의 답(각 객체의 비밀 값)이 외부로 유출될 가능성이 원천적으로 없기 때문에 최악의 경우에도 안전성의 확보가 절대적으로 요구되어야 하는 암호 통신(암호 시스템)의 구현에 강점을 가지고 있다.In addition, LWE (Learning With Errors) problem was introduced because of the problem that is equivalent to hard problem in Lattice model. Using the LWE problem for encryption increases the efficiency of cryptographic system design because the cryptographic scheme based on the LWE problem is very simple to implement. However, even if the condition of the LWE problem is easily set up, such as the simple form of the secret value by some accidental reason, there is no possibility that the answer of the problem (the secret value of each object) (Cryptosystem) which must be absolutely required.

본 발명은 이와 같은 사실에 착안하여 객체 간 암호 통신에 전제되는 객체 간 인증(암호화)에 소요되는 비용의 절감과 아울러 고성능 컴퓨팅 환경에서 최악의 경우에도 안전성을 유지할 수 있도록 객체 간 인증 방안을 LWE 문제에 기반하여 구현하는 것이다.The object of the present invention is to reduce the cost required for authentication (encryption) between objects, which is required for cryptographic communication between objects, and to provide an inter-object authentication scheme in order to maintain safety even in the worst case in a high performance computing environment. As shown in FIG.

이하, 본 발명을 실시하기 위한 구체적인 내용을 본 발명의 바람직한 실시예에 근거하여 첨부 도면을 참조하여 상세히 설명하되, 도면의 구성요소들에 참조번호를 부여함에 있어서 동일 구성요소에 대해서는 비록 다른 도면상에 있더라도 동일 참조번호를 부여하였으며 당해 도면에 대한 설명시 필요한 경우 다른 도면의 구성요소를 인용할 수 있음을 미리 밝혀둔다. 아울러 본 발명과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명 그리고 그 이외의 제반 사항이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 상세한 설명을 생략한다.The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which exemplary embodiments of the invention are shown. In the following description, It is to be noted that the same reference numerals are given to the drawings and that elements of other drawings can be cited when necessary in the description of the drawings. In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

우선 본 발명의 기반이 되는 LWE 문제에 대해 간략히 언급하면 다음과 같다(Oded Regev, "On lattices, learning with errors, random linear codes, and cryptography," In STOC, pages 84-93. ACM, 2005).First, the LWE problem on which the present invention is based is briefly described as follows (Oded Regev, "On lattices, learning with errors, random linear codes, and cryptography," In STOC, pages 84-93, ACM, 2005).

집합 Zq(q는 소수(prime number)이고, Zq = {1, 2, …, q})의 확률 분포 D가 있다고 하자. 여기서 확률 분포 D는 Zq에서 임의의 수를 선택할 때 각 수가 선택될 확률의 분포를 의미한다. LWE 문제에 의하면, Zq에서 선택한 에러 값이 정수 E(

Figure 112013003240715-pat00001
Zq) 이상일 확률은 η이며 정당한 파라미터 값으로 설정하였다는 가정 하에 η은 매우 작은(negligible) 값이다. 따라서 LWE 문제를 풀기는 매우 어렵다. 이러한 사실에 기반하여 LWE 문제의 내용은 다음과 같다.Suppose there is a probability distribution D of the set Z q (q is a prime number and Z q = {1, 2, ..., q}). Where the probability distribution D is the distribution of the probability that each number is selected when an arbitrary number is selected in Z q . According to the LWE problem, if the error value selected in Z q is an integer E (
Figure 112013003240715-pat00001
Z q ) is η, and η is a negligible value, assuming that it is set to a valid parameter value. Therefore, it is very difficult to solve the LWE problem. Based on this fact, the contents of the LWE problem are as follows.

LWE 문제를 해결한다 함은 Zq의 원소로 구성되어 있는 비밀 값의 n차 벡터 x(

Figure 112013003240715-pat00002
Zq n), 임의의 n차 벡터 a(
Figure 112013003240715-pat00003
Zq n)에 대하여 (a, z)의 독립적인 샘플들 (a1, z1), (a2, z2), …, (an, zn)이 주어졌을 때[단, zi = <a, x> + ei (i는 1 ~ n인 자연수)이며, <a, x>는 벡터 a와 벡터 x의 내적(inner product)을 의미하며, (a, z)는 Zq n
Figure 112013003240715-pat00004
Zq에 속함], 각 샘플 (a1, z1), (a2, z2), …, (an, zn)이 Zq n
Figure 112013003240715-pat00005
Zq에 속하는 균등한 임의의 분포(uniform random distribution)를 갖는 a1, a2, …, an와 동일한지 알아내는 것이다. 여기서 균등한 임의의 분포는, 상기한 확률 분포 D의 경우와는 달리, Zq에서 임의의 수를 선택할 때 각 수가 선택될 확률의 분포가 균등한 분포를 의미한다. ai은 벡터 a의 각 성분(component)을, zi은 벡터 z의 각 성분을, ei은 에러 값 벡터 e의 각 성분을 의미한다. ai, zi, ei은 모두 Zq의 원소이다.Also solves the problem LWE is n-th secret value that is composed of elements of Z q vector x (
Figure 112013003240715-pat00002
Z q n ), an arbitrary n-order vector a (
Figure 112013003240715-pat00003
With respect to the Z q n) (a, independent samples of z) (a 1, z 1 ), (a 2, z 2), ... When (a n, z n) is given by [stage, z i = <a, x> + e i (i is a natural number 1 ~ n), <a, x> is the inner product of the vector a and the vector x (a, z) denotes an inner product, and Z q n
Figure 112013003240715-pat00004
Z q ], each sample (a 1 , z 1 ), (a 2 , z 2 ), ... , (a n , z n ) is Z q n
Figure 112013003240715-pat00005
A 1 , a 2 , ... with uniform random distribution belonging to Z q , a n . Here, unlike the case of the probability distribution D, an arbitrary arbitrary distribution means that the distribution of the probability that each number is selected when an arbitrary number is selected in Z q is an even distribution. a i denotes each component of the vector a, z i denotes each component of the vector z, and e i denotes each component of the error value vector e. a i , z i , and e i are all elements of Z q .

LWE 문제 해결의 키는 포함된 에러 값 벡터 e를 제거하여 비밀 값 벡터 x에 대한 정보를 알아내는(Learn) 것인데, 에러 값이 클수록 x를 알아내는 것이 매우 어렵다. 하지만 이를 인증 스킴에 적용할 경우 인증 결과의 오류가 발생할 확률이 매우 높아지므로 x에 대한 기밀성을 보장하는 최소 상계 값 E를 선택하는 것이 중요하다.The key to solving the LWE problem is to learn the information about the secret value vector x by removing the included error value vector e. The larger the error value, the harder it is to find x. However, when applying this to the authentication scheme, it is very important to select the minimum up-grade value E that guarantees the confidentiality of x because the probability of error in the authentication result becomes very high.

이하 본 발명의 구현 과정을 상세히 설명한다.Hereinafter, an implementation process of the present invention will be described in detail.

본 발명에 의한 인증 방안 구현에 선행하여 증명자와 검증자는 우선 객체 간 인증을 수행하기 위해 필요한 비밀 값들을 지정하여 공유(share)한다(S1). 증명자와 검증자는 Zq의 원소로 구성된 임의의 n

Figure 112013003240715-pat00006
m 행렬 A(
Figure 112013003240715-pat00007
Zq n ㅧm), 임의의 n차 행벡터(row vector) b, 임의의 n차 행벡터 x(
Figure 112013003240715-pat00008
Zq n) 및 에러 값 ei(
Figure 112013003240715-pat00009
Zq)의 최소 상계 값(Least Upper Bound: LUB, 이와 동일한 의미로 supremum(상한)이란 용어도 사용된다) E(
Figure 112013003240715-pat00010
Zq)를 객체 간 인증을 위한 비밀 값(secret value)으로 공유한다.Prior to the implementation of the authentication method according to the present invention, the authenticator and the validator first specify and share secret values necessary for performing authentication between objects (S1). Any n consisting proof chairs and verifier element Z q
Figure 112013003240715-pat00006
m matrix A (
Figure 112013003240715-pat00007
Z q n ㅧ m ), an arbitrary n-th row vector b, an arbitrary n-th row vector x
Figure 112013003240715-pat00008
Z q n ) and an error value e i (
Figure 112013003240715-pat00009
Z q) minimum offset value of: is used as the term is (Least Upper Bound LUB, this supremum (the upper limit in the same sense)) E (
Figure 112013003240715-pat00010
Z q ) as a secret value for authentication between objects.

다음으로, 증명자가 검증자에게 인증을 요청하면, 검증자는 객체 간 인증 수행을 위해 증명자에게 증명자가 가진 비밀 값을 질의(challenge)한다(S2). 이는 질의-응답 형식의 인증 방안에서 질의에 해당하는 단계이다. 검증자는 증명자로부터 인증 요청을 받으면 임의의 n차 행벡터 t(

Figure 112013003240715-pat00011
Zq n)를 생성하고(S21), 생성된 t를 이용하여 벡터 b를 변형시킨 b'를 증명자에게 전송함으로써(S22) 상기한 질의를 수행하게 된다. 여기서 b가 아닌 b'을 전송하는 이유는 비밀 값의 성격을 갖는 b가 전송 과정에서 외부로 유출될 수 있음을 방지하기 위함이다. 이때 b'은 예로써 다음과 같은 식에 의해 생성될 수 있으나 이에 한정되지는 않는다.Next, when the verifier requests authentication from the verifier, the verifier challenges the verifier with the secret value that the verifier has in order to perform authentication between the objects (S2). This is the phase corresponding to the query in the query-response format authentication scheme. When a verifier receives an authentication request from a certifier, it sends an arbitrary n-
Figure 112013003240715-pat00011
Z q n ) is generated (S 21), and b 'obtained by transforming the vector b using the generated t is transmitted to the certifier (S 22) to perform the above query. Here, the reason why b 'is transmitted instead of b is to prevent a b having a secret value from being leaked out of the transmission process. Here, b 'can be generated by the following equation as an example, but is not limited thereto.

b' = b

Figure 112013003240715-pat00012
t. 여기서
Figure 112013003240715-pat00013
는 다음과 같이 정의된다. a = (a1, …, an), b = (b1, …, bn)일 때 a
Figure 112013003240715-pat00014
b = (a1b1, …, anbn).b '= b
Figure 112013003240715-pat00012
t. here
Figure 112013003240715-pat00013
Is defined as follows. When a = (a 1 , ..., a n ) and b = (b 1 , ..., b n )
Figure 112013003240715-pat00014
b = (a 1 b 1 , ..., a n b n ).

검증자로부터 상기한 질의를 받은 증명자는 검증자로부터의 질의에 대한 결과(응답)를 검증자에게 전송하는데(S3), 이는 질의-응답 형식의 인증 방안에서 응답(response)에 해당하는 단계이다.The verifier receiving the above query from the verifier transmits the result (response) of the query from the verifier to the verifier (S3), which corresponds to the response in the query-response format authentication scheme.

우선 증명자는 검증자에 의해 생성된 t를 도출한다(S31). 증명자는 다음 식을 통해 t를 알아낼 수 있다.First, the prover derives t generated by the verifier (S31). The verifier can find t by the following equation.

t = b'

Figure 112013003240715-pat00015
b-1. 여기서 b-1은 b의 역 벡터(reverse vector)를 의미한다.t = b '
Figure 112013003240715-pat00015
b -1 . Where b -1 denotes the inverse vector of b.

다음으로 증명자는 LWE 문제에 기반한 m개의 LWE 샘플들 (s1, z1), (s2, z2), …, (si, zi), …, (sm, zm)을 생성한다(S32). 각각의 샘플은 임의의 n차 행벡터 si[=(si1, ..., sii, ..., sin)], 비밀 값 n차 행벡터 x와 에러 값 ei를 이용하여 생성한다.Next, the prover uses m LWE samples (s 1 , z 1 ), (s 2 , z 2 ), ... , (s i , z i ), ... , (s m , z m ) (S32). Each sample is generated using an arbitrary n-th row vector s i [= (s i1 , ..., s ii , ..., s in )], a secret value n-th row vector x and an error value e i .

(si, zi) = (si, zi = <s, x> + ei). 이때 1 ≤ i ≤ m 이고 si는 Zq의 원소로 구성된 n차 행벡터이고 zi는 Zq의 원소이다.(s i , z i ) = (s i , z i = <s, x> + e i ). Where 1 ≤ i ≤ m and s i is an nth order row vector consisting of Z q elements and z i is an element of Z q .

다음으로 증명자는 생성된 m개의 LWE 샘플들을 이용하여 s의 각 성분을 m

Figure 112013003240715-pat00016
n 행렬 ST(
Figure 112013003240715-pat00017
Zq m
Figure 112013003240715-pat00018
n)로 설정하고, z1, z2, …, zi, …, zm을 행벡터 z로 설정한다(S33).Then the verifier uses the generated m LWE samples to convert each component of s to m
Figure 112013003240715-pat00016
n matrix S T (
Figure 112013003240715-pat00017
Z q m
Figure 112013003240715-pat00018
n ), and z 1 , z 2 , ... , z i , ... , z m are set to the row vectors z (S33).

다음으로 증명자는 ST의 전치 행렬(transpose matrix) S를 이용하여 A를 변형한 결과인 A'를 다음과 같이 생성한다(S34).Next, the prover generates A ', which is a result of transforming A using the transpose matrix S of S T as follows (S34).

A' = A + S (S

Figure 112013003240715-pat00019
Zq n
Figure 112013003240715-pat00020
m).A '= A + S (S
Figure 112013003240715-pat00019
Z q n
Figure 112013003240715-pat00020
m ).

다음으로 증명자는 z, ST, t를 이용하여 z'을 생성한다(S35).Next, the prover generates z 'using z, S T , t (S35).

z' = z + (ST

Figure 112013003240715-pat00021
tT) (t
Figure 112013003240715-pat00022
Zq m). tT는 t의 전치 행렬임을 의미한다. 임의로 생성된 벡터 t는 비밀 값 b를 숨기는 역할과 동시에 인증을 수행하는 과정에서 검증자가 보낸 질의 값의 역할도 있다. 이는 질의 값 t를 비밀 값 b로 숨긴다고 대체적으로 말할 수 있다. 이 식은 결론적으로 질의 값 t에 LWE 샘플을 이용하여 생성한 응답 값이 z'라는 의미이다.z '= z + (S T
Figure 112013003240715-pat00021
t T ) (t
Figure 112013003240715-pat00022
Z q m ). t T means the transposed matrix of t. The arbitrarily generated vector t plays a role of hiding the secret value b and also serves as a query value sent by the verifier in performing the authentication. It is generally said that the query value t is hidden by the secret value b. This result implies that the response value generated by using the LWE sample at the query value t is z '.

증명자는 A'과 z'을 검증자에 전송함으로써(S36), 상기한 질의에 대한 응답(response)을 마치게 된다. 한편 A 대신 이의 변형인 A'를 검증자에게 전송하는 이유는 검증자가 상기 단계 S1에서 b 대신 b'를 전송한 이유와 같다.The prover concludes the response to the above query by sending A 'and z' to the verifier (S36). On the other hand, the reason why A ', which is a variant thereof instead of A, is transmitted to the verifier is the same as the reason that the verifier transmitted b' instead of b in step S1.

검증자는 증명자로부터 전송받은 결과(A'과 z')를 이용하여 증명자의 인증 여부를 최종 결정한다(S4).The verifier finally determines whether to authenticate the verifier using the result (A 'and z') received from the verifier (S4).

검증자는 증명자로부터 전송받은 A'과 증명자와 공유하는 A로부터 S를 획득한다(S41). S = A' - A. The verifier obtains A from the verifier A and S from the verifier A with the verifier (S41). S = A '- A.

다음으로 검증자는 증명자와 공유하는 x와 t 그리고 획득한 S를 이용하여

Figure 112013003240715-pat00023
를 생성한다(S42).
Figure 112013003240715-pat00024
.
Figure 112013003240715-pat00025
은 검증자가 증명자에게 보낸 질의 값에 대하여 정당한 응답 값을 받았는지 검증하기 위한 것이다.Next, the verifier uses the x and t and the acquired S shared by the verifier
Figure 112013003240715-pat00023
(S42).
Figure 112013003240715-pat00024
.
Figure 112013003240715-pat00025
Is to verify that the validator has received a valid response value for the query value sent to the verifier.

다음으로 검증자는

Figure 112013003240715-pat00026
의 모든 성분
Figure 112013003240715-pat00027
가 E 이상인지 판단하여(S43) 그 이하가 되는 경우에만 증명자를 정당한 객체로 인증하게 된다. 이 사실은
Figure 112013003240715-pat00028
가 E 이상일 확률은 매우 작다는 LWE 문제에 기반한 것이다. 즉,
Figure 112013003240715-pat00029
가 E 이하이면 증명자가 검증자가 가진 비밀 값을 알고 있다(증명자 자신도 비밀 값을 가지고 있다)는 의미이므로, 증명자가 정당한 사용자로 성공적으로 인증되었음을 의미하는 것이다.Next, the verifier
Figure 112013003240715-pat00026
All components of
Figure 112013003240715-pat00027
Is equal to or greater than E (S43), the authenticator is authenticated as a legitimate object only when it is less than E (S43). This fact
Figure 112013003240715-pat00028
The probability that E is greater than E is based on the LWE problem. In other words,
Figure 112013003240715-pat00029
Is equal to or less than E, it means that the verifier knows the secret value of the verifier (the verifier itself has a secret value), which means that the verifier has been successfully authenticated as a legitimate user.

그리고 본 발명에 의한 인증 과정이 진행되는 동안에 증명자와 검증자의 비밀 값이 외부에 노출될 가능성이 전혀 없음을 알 수 있다. 따라서 어느 경우에나(최악의 경우에도) 안전성을 유지할 수 있다.It can be seen that the secret values of the verifier and the verifier are not exposed to the outside during the authentication process according to the present invention. Therefore, in any case (worst case), safety can be maintained.

도 3에 본 발명에 대한 이해를 돕기 위한 예시도가 제시되어 있다.FIG. 3 shows an exemplary diagram for facilitating understanding of the present invention.

본 방법발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 유무선 네트워크를 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The method of the present invention can also be embodied as computer readable code on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and also implemented in the form of a carrier wave (for example, transmission over a wired or wireless network) . The computer-readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner.

이제까지 본 발명에 대하여 그 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 균등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described above with reference to preferred embodiments thereof. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. The disclosed embodiments should, therefore, be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

Claims (6)

암호 통신을 수행하는 객체 간 인증 방법에 있어서:
a) 인증을 수행하는 객체(검증자)가, 인증을 받으려는 객체(증명자)로부터 인증을 요청을 받으면, 상기 증명자가 보유하고 있는 비밀 값을 질의하는 단계;
b) 상기 증명자가 상기 비밀 값에 대해 LWE(Learning With Errors) 문제를 적용한 결과를 상기 검증자에게 전송하는 단계; 및
c) 상기 검증자가 상기 결과를 이용해 상기 증명자의 인증 여부를 최종 결정하는 단계를 포함하되,
상기 비밀 값은 상기 검증자와 상기 증명자가 상기 a) 단계 이전에 미리 공유하며, Zq의 원소로 구성된 임의의 n
Figure 112014016070946-pat00039
m 행렬 A, 임의의 n차 행벡터(row vector) b, 임의의 n차 행벡터 x 및 에러 값 n차 행벡터 e의 각 성분 ei(
Figure 112014016070946-pat00040
Zq)의 최소 상계 값(Least Upper Bound: LUB) E(
Figure 112014016070946-pat00041
Zq)를 포함하는 것을 특징으로 하는 암호 통신을 수행하는 객체 간 인증 방법.
여기서 상기 Zq = {1, 2, …, q}이며, q는 소수(prime number)이다.
An inter-object authentication method for performing encrypted communication, the method comprising:
comprising the steps of: a) when an object (authenticator) performing authentication receives a request for authentication from an object (authenticator) to be authenticated, querying the secret value possessed by the authenticator;
b) transmitting to the verifier a result of applying the Learning With Errors (LWE) problem to the secret value; And
c) determining, by the verifier, whether to authenticate the verifier using the result,
The secret value is a random n the verifier and the self-proof element comprised of the step a) and prior to the pre-shared, Z q
Figure 112014016070946-pat00039
m matrix A, an arbitrary n-th row vector b, an arbitrary n-th row vector x and an error value n each component e i (
Figure 112014016070946-pat00040
Z q ) Least Upper Bound (LUB) E (
Figure 112014016070946-pat00041
Z q ). &Lt; / RTI &gt;
Where Z q = {1, 2, ... , q}, and q is a prime number.
삭제delete 제 1 항에 있어서, 상기 a) 단계는
a1) 상기 검증자가 임의의 n차 행벡터 t를 생성하는 단계; 및
a2) 상기 검증자가 상기 t를 이용하여 상기 b를 변형시킨 b'를 상기 증명자에게 전송하는 단계를 포함하는 것을 특징으로 하는 암호 통신을 수행하는 객체 간 인증 방법.
2. The method of claim 1, wherein step a)
a1) the verifier generates an arbitrary n-th row vector t; And
a2) transmitting, to the verifier, b 'that the verifier has modified b by using the t.
제 3 항에 있어서, 상기 b) 단계는
b1) 상기 증명자가 상기 t를 도출하는 단계;
b2) 상기 증명자가 임의의 n차 행벡터 s, 상기 비밀 값 중 상기 n차 행벡터 x와 에러 값 n차 행벡터 e를 이용하여 상기 LWE 문제에 기반한 m개의 LWE 샘플들 (s1, z1), (s2, z2), …, (si, zi), …, (sm, zm)을 생성하는 단계;
b3) 상기 증명자가 상기 s의 각 성분을 행렬 ST로 설정하고, 상기 z1, z2, …, zi, …, zm을 행벡터 z로 설정하는 단계;
b4) 상기 증명자가 상기 ST의 전치 행렬(transpose matrix) S를 이용하여 상기 A를 변형한 A'을 생성하는 단계;
b5) 상기 증명자가 상기 z, 상기 ST, 상기 t를 이용하여 z'을 생성하는 단계; 및
b6) 상기 증명자가 상기 A'과 상기 z'을 상기 검증자에게 전송하는 단계를 포함하는 것을 특징으로 하는 암호 통신을 수행하는 객체 간 인증 방법.
여기서 상기 zi = <s, x> + ei 이며, <s, x>는 상기 s와 상기 x의 내적(inner product)을 의미한다.
4. The method of claim 3, wherein step b)
b1) the verifier derives t;
b2) the m LWE samples (s 1 , z 1 ), ( n ) based on the LWE problem using the n-th order row vector s, the n-th row vector x and the n s 2 , z 2 ), ... , (s i , z i ), ... , (s m , z m );
b3) the verifier sets each element of s to a matrix S T , and z 1 , z 2 , ... , z i , ... , z m as a row vector z;
b4) the verifier generates A 'modifying the A using the transpose matrix S of S T ;
b5) the verifier generates z 'using the z, the S T , the t; And
and b6) the verifier transmits the A 'and the z' to the verifier.
Here, z i = <s, x> + e i , and <s, x> means the inner product of s and x.
제 4 항에 있어서, 상기 c) 단계는
c1) 상기 검증자가 상기 A'과 상기 A로부터 상기 S를 획득하는 단계;
c2) 상기 검증자가 상기 x, 상기 t, 상기 S를 이용하여
Figure 112013003240715-pat00033
을 생성하는 단계; 및
c3) 상기 검증자가 상기 z'와 상기
Figure 112013003240715-pat00034
의 차 벡터(difference vector)의 모든 성분
Figure 112013003240715-pat00035
가 상기 E 이상인지 판단하여, 이하인 경우에만 상기 증명자를 정당한 객체로 최종 인증하는 단계를 포함하는 것을 특징으로 하는 암호 통신을 수행하는 객체 간 인증 방법.
5. The method of claim 4, wherein step c)
c1) the verifier obtaining the S from A 'and A;
c2) the verifier uses x, t, S
Figure 112013003240715-pat00033
; And
c3) the verifier checks the z '
Figure 112013003240715-pat00034
All components of the difference vector of &lt; RTI ID = 0.0 &gt;
Figure 112013003240715-pat00035
Is equal to or greater than the value E, and finally authenticating the authenticator as a legitimate object only when it is equal to or less than the value E.
제 1 항 및 제 3 항 내지 제 5 항 중 어느 한 항에 따른 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체.A computer-readable recording medium storing a program for causing a computer to execute the method according to any one of claims 1 to 5.
KR1020130003674A 2013-01-11 2013-01-11 Method for authenticating between objects KR101411970B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130003674A KR101411970B1 (en) 2013-01-11 2013-01-11 Method for authenticating between objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130003674A KR101411970B1 (en) 2013-01-11 2013-01-11 Method for authenticating between objects

Publications (1)

Publication Number Publication Date
KR101411970B1 true KR101411970B1 (en) 2014-06-26

Family

ID=51134465

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130003674A KR101411970B1 (en) 2013-01-11 2013-01-11 Method for authenticating between objects

Country Status (1)

Country Link
KR (1) KR101411970B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112329519A (en) * 2020-09-21 2021-02-05 中国人民武装警察部队工程大学 Safe online fingerprint matching method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080066167A1 (en) 2006-09-12 2008-03-13 Andri Michael J Password based access including error allowance
US20120159179A1 (en) * 2010-12-17 2012-06-21 Microsoft Corporation Digital signatures with error polynomials

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080066167A1 (en) 2006-09-12 2008-03-13 Andri Michael J Password based access including error allowance
US20120159179A1 (en) * 2010-12-17 2012-06-21 Microsoft Corporation Digital signatures with error polynomials

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J. Katz 외 1명, "Smooth Projective Hashing and Password-Based Authenticated Key Exchange from Lattices," ASIACRYPT 2009, pp.636-652. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112329519A (en) * 2020-09-21 2021-02-05 中国人民武装警察部队工程大学 Safe online fingerprint matching method
CN112329519B (en) * 2020-09-21 2024-01-02 中国人民武装警察部队工程大学 Safe online fingerprint matching method

Similar Documents

Publication Publication Date Title
CN109922077B (en) Identity authentication method and system based on block chain
US9973342B2 (en) Authentication via group signatures
US10129029B2 (en) Proofs of plaintext knowledge and group signatures incorporating same
US9876636B2 (en) Homomorphic public-key encryption scheme
US8495373B2 (en) Method of generating a cryptographic key, network and computer program therefor
Zhang et al. Tweaking the asymmetry of asymmetric-key cryptography on lattices: KEMs and signatures of smaller sizes
Wang et al. FE for inner products and its application to decentralized ABE
Han et al. Authenticated key exchange and signatures with tight security in the standard model
Gao et al. Post-quantum secure remote password protocol from RLWE problem
Boschini et al. Floppy-sized group signatures from lattices
Cheng et al. Policy-based signature scheme from lattices
Abidin On privacy-preserving biometric authentication
Qin et al. Simultaneous authentication and secrecy in identity-based data upload to cloud
US8954728B1 (en) Generation of exfiltration-resilient cryptographic keys
Hajny et al. Attribute‐based credentials with cryptographic collusion prevention
Szepieniec et al. MQ signatures for PKI
KR101411970B1 (en) Method for authenticating between objects
KR101523053B1 (en) System and method for verifiably encrypted signatures from lattices
CN106487495B (en) Lightweight RFID authentication method based on integer chaos
Lin et al. F2p-abs: A fast and secure attribute-based signature for mobile platforms
Ren et al. Practical post-quantum password-authenticated key exchange based-on module-lattice
An et al. Forward-secure revocable secret handshakes from lattices
Modares et al. Make a Secure Connection Using Elliptic Curve Digital Signature
Dadsena et al. A construction of post quantum secure authenticated key agreement design for mobile digital rights management system
Kiefer Advancements in password-based cryptography

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
FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190411

Year of fee payment: 6