KR102322435B1 - Method for extracting a same key from fuzzy data and method for authenticating user using the same - Google Patents

Method for extracting a same key from fuzzy data and method for authenticating user using the same Download PDF

Info

Publication number
KR102322435B1
KR102322435B1 KR1020190088870A KR20190088870A KR102322435B1 KR 102322435 B1 KR102322435 B1 KR 102322435B1 KR 1020190088870 A KR1020190088870 A KR 1020190088870A KR 20190088870 A KR20190088870 A KR 20190088870A KR 102322435 B1 KR102322435 B1 KR 102322435B1
Authority
KR
South Korea
Prior art keywords
key
user
data
calculate
server
Prior art date
Application number
KR1020190088870A
Other languages
Korean (ko)
Other versions
KR20200131716A (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 고려대학교 산학협력단
Publication of KR20200131716A publication Critical patent/KR20200131716A/en
Application granted granted Critical
Publication of KR102322435B1 publication Critical patent/KR102322435B1/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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/023Learning or tuning the parameters of a fuzzy system
    • 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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics

Abstract

생체 정보로부터 키를 추출하는 방법이 개시된다. 상기 키를 추출하는 방법은 사용자 단말에서 수행되고, 보안 상수, 시스템 파라미터, 및 s 개의 제1 사용자 데이터들을 이용하여 헬퍼 데이터와 제1 키를 생성하는 셋업 단계, 및 상기 시스템 파라미터, 상기 헬퍼 데이터, 및 제2 사용자 데이터를 이용하여 상기 제1 키와 동일한 값을 갖는 제2 키를 추출하는 키 추출 단계를 포함하고, 상기 헬퍼 데이터는 임계치와 임의의 값을 포함한다.A method of extracting a key from biometric information is disclosed. The method for extracting the key is performed in a user terminal, and includes a setup step of generating helper data and a first key by using a security constant, a system parameter, and s pieces of first user data, and the system parameter, the helper data, and extracting a second key having the same value as the first key by using second user data, wherein the helper data includes a threshold value and an arbitrary value.

Description

퍼지 데이터로부터 동일한 키를 추출하는 방법 및 이를 이용한 사용자 인증 방법{METHOD FOR EXTRACTING A SAME KEY FROM FUZZY DATA AND METHOD FOR AUTHENTICATING USER USING THE SAME}A method for extracting the same key from fuzzy data and a method for user authentication using the same

본 발명은 생체 데이터와 같은 퍼지 데이터로부터 키를 추출하는 방법과 이를 이용하여 사용자를 인증하는 방법에 관한 것이다.The present invention relates to a method for extracting a key from fuzzy data such as biometric data and a method for authenticating a user using the same.

ECDSAECDSA 기법(Elliptic Curve Digital Signature Algorithm). Elliptic Curve Digital Signature Algorithm.

ECDSA 기법은 타원곡선 상에서 동작하는 전자서명(Digital Signature)으로, 서명을 생성하는 서명자(Signer)와 서명을 검증하는 검증자(Verifier)가 존재한다. ECDSA 기법은 키 생성 알고리즘(KeyGen), 서명 알고리즘(Sign), 및 검증 알고리즘(Verify)의 세 개의 다항 시간(Polynomial-time) 알고리즘으로 구성된다. 키 생성 알고리즘(KeyGen)에서는 보안 상수를 입력으로 하여 서명키(Signing key,

Figure 112019075539957-pat00001
)와 검증키(Verification key,
Figure 112019075539957-pat00002
)를 출력하며, 검증키(
Figure 112019075539957-pat00003
)는 공개하고 서명키(
Figure 112019075539957-pat00004
)는 안전하게 보관한다. 서명 알고리즘(Sign)에서는 서명자가 서명키(
Figure 112019075539957-pat00005
)를 이용하여 메시지(
Figure 112019075539957-pat00006
)에 대한 서명(
Figure 112019075539957-pat00007
)을 생성하며, 검증 알고리즘(Verify)에서는 검증자가 서명자의 검증키(
Figure 112019075539957-pat00008
)와 메시지(
Figure 112019075539957-pat00009
)를 이용하여 서명(
Figure 112019075539957-pat00010
)을 검증한다.The ECDSA technique is a digital signature that operates on an elliptic curve, and there are a signer that generates a signature and a verifier that verifies the signature. The ECDSA technique consists of three polynomial-time algorithms: a key generation algorithm (KeyGen), a signature algorithm (Sign), and a verification algorithm (Verify). In the key generation algorithm (KeyGen), the signing key (Signing key,
Figure 112019075539957-pat00001
) and the verification key (Verification key,
Figure 112019075539957-pat00002
) and the verification key (
Figure 112019075539957-pat00003
) is public and the signing key (
Figure 112019075539957-pat00004
) are stored safely. In the signature algorithm (Sign), the signer uses the signing key (
Figure 112019075539957-pat00005
) to message (
Figure 112019075539957-pat00006
) for signature (
Figure 112019075539957-pat00007
), and in the verification algorithm (Verify), the verifier uses the signer's verification key (
Figure 112019075539957-pat00008
) and the message (
Figure 112019075539957-pat00009
) to sign (
Figure 112019075539957-pat00010
) is verified.

DSA(Digital Signature Algorithm)는 미국 국립표준기술연구소(National Institude of Standards and Technology, NIST)에서 채택한 전자서명 표준 중 하나이며, ECDSA는 DSA를 타원곡선 상에서 구현한 기법을 의미한다. 시스템 내에서 사용되는 타원곡선에 대한 정보는 사용자들에게 공유되어 있다고 가정하며, 타원곡선 정보는 타원곡선 체와 방정식(Elliptic curve field and equation), 생성원

Figure 112019075539957-pat00011
(Elliptic curve base point), 그리고 위수
Figure 112019075539957-pat00012
(integer order of
Figure 112019075539957-pat00013
)을 포함할 수 있다. ECDSA 기법의 구체적인 동작은 다음과 같다.DSA (Digital Signature Algorithm) is one of the digital signature standards adopted by the US National Institute of Standards and Technology (NIST), and ECDSA refers to a technique that implements DSA on an elliptic curve. It is assumed that the information on the elliptic curve used in the system is shared with users, and the elliptic curve information includes the elliptic curve field and equation, the generator
Figure 112019075539957-pat00011
(Elliptic curve base point), and the order
Figure 112019075539957-pat00012
(integer order of
Figure 112019075539957-pat00013
) may be included. A detailed operation of the ECDSA technique is as follows.

·키 생성(KeyGen). 서명자는 보안 상수

Figure 112019075539957-pat00014
를 입력으로 받아 서명키
Figure 112019075539957-pat00015
(
Figure 112019075539957-pat00016
)와 검증키
Figure 112019075539957-pat00017
(
Figure 112019075539957-pat00018
)를 출력한다. 이때,
Figure 112019075539957-pat00019
는 타원곡선 상에서의 상수 곱(Elliptic curve point multiplication by a scalar)을 의미한다.
Figure 112019075539957-pat00020
는 공개하고
Figure 112019075539957-pat00021
는 안전하게 저장한다.· Key Generation (KeyGen). The signer is a security constant
Figure 112019075539957-pat00014
takes as input the signing key
Figure 112019075539957-pat00015
(
Figure 112019075539957-pat00016
) and the verification key
Figure 112019075539957-pat00017
(
Figure 112019075539957-pat00018
) is output. At this time,
Figure 112019075539957-pat00019
denotes an elliptic curve point multiplication by a scalar.
Figure 112019075539957-pat00020
is disclosed
Figure 112019075539957-pat00021
is stored securely.

·서명(Sign). 서명자는 서명할 메시지

Figure 112019075539957-pat00022
과 자신의 서명키
Figure 112019075539957-pat00023
를 입력으로 하여 다음과 같이 서명
Figure 112019075539957-pat00024
를 출력한다.·Sign. The signer is the message to sign
Figure 112019075539957-pat00022
and your signature key
Figure 112019075539957-pat00023
as input to sign as follows
Figure 112019075539957-pat00024
to output

Figure 112019075539957-pat00025
을 계산한다. (
Figure 112019075539957-pat00026
는 암호학적인 해쉬 함수를 의미한다.)①
Figure 112019075539957-pat00025
to calculate (
Figure 112019075539957-pat00026
is a cryptographic hash function.)

Figure 112019075539957-pat00027
의 최상위
Figure 112019075539957-pat00028
비트를
Figure 112019075539957-pat00029
로 설정한다. (
Figure 112019075539957-pat00030
Figure 112019075539957-pat00031
의 비트 길이를 의미한다.)②
Figure 112019075539957-pat00027
top of
Figure 112019075539957-pat00028
a bit
Figure 112019075539957-pat00029
set to (
Figure 112019075539957-pat00030
silver
Figure 112019075539957-pat00031
of the bit length.)

③ 임의의 정수

Figure 112019075539957-pat00032
를 선택하여 타원곡선 상의 점
Figure 112019075539957-pat00033
를 계산한다.③ Any integer
Figure 112019075539957-pat00032
to select a point on the elliptic curve
Figure 112019075539957-pat00033
to calculate

Figure 112019075539957-pat00034
을 계산한다. (만약
Figure 112019075539957-pat00035
이면, ①로 돌아간다.)④
Figure 112019075539957-pat00034
to calculate (if
Figure 112019075539957-pat00035
If so, return to ①.)

Figure 112019075539957-pat00036
을 계산한다. (만약
Figure 112019075539957-pat00037
이면, ①로 돌아간다.)⑤
Figure 112019075539957-pat00036
to calculate (if
Figure 112019075539957-pat00037
If so, return to ①.)

⑥ 메시지

Figure 112019075539957-pat00038
에 대한 서명
Figure 112019075539957-pat00039
를 출력한다.⑥ Message
Figure 112019075539957-pat00038
signature for
Figure 112019075539957-pat00039
to output

·검증(Verify). 검증자는 서명

Figure 112019075539957-pat00040
, 메시지
Figure 112019075539957-pat00041
, 그리고 서명자의 검증키
Figure 112019075539957-pat00042
를 입력으로 하여 다음과 같이 서명을 검증한다.·Verify. Validators sign
Figure 112019075539957-pat00040
, message
Figure 112019075539957-pat00041
, and the signer's verification key
Figure 112019075539957-pat00042
is input and the signature is verified as follows.

Figure 112019075539957-pat00043
,
Figure 112019075539957-pat00044
을 만족하는지 확인한다. (만족하지 않으면
Figure 112019075539957-pat00045
를 출력한다.)①
Figure 112019075539957-pat00043
,
Figure 112019075539957-pat00044
check that it satisfies (if not satisfied
Figure 112019075539957-pat00045
prints out.)

Figure 112019075539957-pat00046
을 계산하고,
Figure 112019075539957-pat00047
의 최상위
Figure 112019075539957-pat00048
비트를
Figure 112019075539957-pat00049
로 설정한다.②
Figure 112019075539957-pat00046
calculate,
Figure 112019075539957-pat00047
top of
Figure 112019075539957-pat00048
a bit
Figure 112019075539957-pat00049
set to

Figure 112019075539957-pat00050
을 계산한다.③
Figure 112019075539957-pat00050
to calculate

Figure 112019075539957-pat00051
Figure 112019075539957-pat00052
을 계산한다.④
Figure 112019075539957-pat00051
class
Figure 112019075539957-pat00052
to calculate

⑤ 타원곡선 상의 점

Figure 112019075539957-pat00053
를 계산한다.⑤ Point on the elliptic curve
Figure 112019075539957-pat00053
to calculate

Figure 112019075539957-pat00054
이 성립하면
Figure 112019075539957-pat00055
를 출력하고, 그렇지 않으면
Figure 112019075539957-pat00056
를 출력한다.⑥
Figure 112019075539957-pat00054
If this is achieved
Figure 112019075539957-pat00055
output, otherwise
Figure 112019075539957-pat00056
to output

질의-응답 메커니즘(Challenge-Response Mechanism).Challenge-Response Mechanism.

질의-응답 메커니즘은 검증자가 생성한 질의(Challenge)를 증명자에게 전송하여 증명자가 자신의 비밀 값을 이용하여 질의에 응답(Response)하는 방식이다. 여기서 중요한 점은 주어진 질의에 대해 비밀 값을 알고 있는 증명자만이 올바른 응답을 할 수 있어야 한다는 것이다. 만약 고정된 질의를 사용하는 경우, 정당한 비밀 값을 모르는 공격자도 이전의 응답을 도청하여 저장하고 이를 재전송하는 공격이 가능하다. 또한, 예상되는 질의를 사용하는 경우, 공격자는 비밀 값이 없이도 정당한 응답을 생성할 수 있게 된다. 따라서, 질의의 새로움(Freshness)이 보장되어야 하며, 이를 위해 검증자는 증명자가 예상하지 못하는 매번 새로이 생성되는 질의 값을 사용해야 한다. 검증자가 랜덤한 질의를 하게 되는 경우, 이에 대한 증명자의 응답도 매번 바뀌게 된다. The question-response mechanism is a method in which the prover responds to the query using its secret value by sending the challenge generated by the verifier to the prover. The important point here is that only a prover who knows the secret value should be able to give a correct response to a given query. If a fixed query is used, an attacker who does not know a valid secret value can eavesdrop on the previous response, store it, and retransmit it. Also, when using expected queries, an attacker could generate a legitimate response without a secret value. Therefore, the freshness of the query must be guaranteed, and for this, the verifier must use a newly generated query value that the prover does not expect. When the verifier asks a random query, the prover's response to it also changes every time.

대한민국 등록특허 제1853610호 (2018.05.02. 공고)Republic of Korea Patent No. 1853610 (2018.05.02. Announcement) 대한민국 공개특허 제2018-0128451호 (2018.12.03. 공개)Republic of Korea Patent Publication No. 2018-0128451 (published on Dec. 3, 2018)

본 발명이 이루고자 하는 기술적인 과제는 노이즈를 포함하는 퍼지 데이터(fuzzy data)로부터 동일한 키를 추출하는 방법과 이를 이용하여 사용자를 인증하는 방법을 제공하는 것이다.An object of the present invention is to provide a method of extracting the same key from fuzzy data including noise and a method of authenticating a user using the same.

본 발명의 실시예에 따른 키를 추출하는 방법은 사용자 단말에서 수행되는, 노이즈를 포함하는 퍼지 데이터(fuzzy data)로부터 동일한 키를 추출하는 방법으로써, 보안 상수(

Figure 112019075539957-pat00057
), 시스템 파라미터(
Figure 112019075539957-pat00058
), 및
Figure 112019075539957-pat00059
(
Figure 112019075539957-pat00060
) 개의 제1 사용자 데이터들(
Figure 112019075539957-pat00061
,
Figure 112019075539957-pat00062
,
Figure 112019075539957-pat00063
은 임의의 자연수)을 이용하여 헬퍼 데이터(
Figure 112019075539957-pat00064
)와 제1 키(
Figure 112019075539957-pat00065
)를 생성하는 셋업 단계, 및 상기 시스템 파라미터(
Figure 112019075539957-pat00066
), 상기 헬퍼 데이터(
Figure 112019075539957-pat00067
), 및 제2 사용자 데이터(
Figure 112019075539957-pat00068
)를 이용하여 상기 제1 키(
Figure 112019075539957-pat00069
)와 동일한 값을 갖는 제2 키(
Figure 112019075539957-pat00070
)를 추출하는 키 추출 단계를 포함하고, 상기 헬퍼 데이터(
Figure 112019075539957-pat00071
)는 임계치(
Figure 112019075539957-pat00072
)와 임의의 값(
Figure 112019075539957-pat00073
)을 포함한다.A method of extracting a key according to an embodiment of the present invention is a method of extracting the same key from fuzzy data including noise, performed in a user terminal, and a security constant (
Figure 112019075539957-pat00057
), system parameters (
Figure 112019075539957-pat00058
), and
Figure 112019075539957-pat00059
(
Figure 112019075539957-pat00060
) first user data (
Figure 112019075539957-pat00061
,
Figure 112019075539957-pat00062
,
Figure 112019075539957-pat00063
is an arbitrary natural number) using helper data (
Figure 112019075539957-pat00064
) and the first key (
Figure 112019075539957-pat00065
), and the system parameters (
Figure 112019075539957-pat00066
), the helper data (
Figure 112019075539957-pat00067
), and the second user data (
Figure 112019075539957-pat00068
) using the first key (
Figure 112019075539957-pat00069
) and the second key (
Figure 112019075539957-pat00070
), including a key extraction step of extracting the helper data (
Figure 112019075539957-pat00071
) is the threshold (
Figure 112019075539957-pat00072
) and any value (
Figure 112019075539957-pat00073
) is included.

또한, 본 발명의 실시예에 따른 사용자 인증 방법은 적어도 하나의 사용자 단말과 서버 사이에서 수행되고, 상기 적어도 하나의 사용자 단말에 포함되는 제1 사용자 단말이 상기 사용자를 식별하기 위한 식별 정보, 헬퍼 데이터(

Figure 112019075539957-pat00074
), 및 검증키(
Figure 112019075539957-pat00075
)를 상기 서버로 송신하는 사용자 등록 단계, 및 상기 적어도 하나의 사용자 단말에 포함되는 제2 사용자 단말이 상기 서버로부터 수신된 질의 메시지에 대응하는 응답 메시지를 상기 서버로 송신하는 사용자 인증 단계를 포함하고, 상기 헬퍼 데이터(
Figure 112019075539957-pat00076
)는 임계치(
Figure 112019075539957-pat00077
)와 임의의 값(
Figure 112019075539957-pat00078
)을 포함하고, 상기 응답 메시지는 상기 질의 메시지에 포함된 질의값(
Figure 112019075539957-pat00079
)에 대한 서명(
Figure 112019075539957-pat00080
)을 포함한다.In addition, the user authentication method according to an embodiment of the present invention is performed between at least one user terminal and a server, and identification information and helper data for a first user terminal included in the at least one user terminal to identify the user (
Figure 112019075539957-pat00074
), and the verification key (
Figure 112019075539957-pat00075
) a user registration step of transmitting to the server, and a second user terminal included in the at least one user terminal comprising a user authentication step of transmitting a response message corresponding to the query message received from the server to the server, and , the helper data (
Figure 112019075539957-pat00076
) is the threshold (
Figure 112019075539957-pat00077
) and any value (
Figure 112019075539957-pat00078
), and the response message is a query value (
Figure 112019075539957-pat00079
) for signature (
Figure 112019075539957-pat00080
) is included.

본 발명의 실시 예에 따른 키 추출 방법과 인증 방법에 의할 경우, 추가적인 비밀 정보 없이 노이즈가 포함된 퍼지 데이터로부터 암호학적으로 사용 가능한 키를 매번 동일하게 추출할 수 있는 효과가 있다.According to the key extraction method and the authentication method according to an embodiment of the present invention, there is an effect that a cryptographically usable key can be equally extracted every time from fuzzy data including noise without additional secret information.

또한, 서로 다른 사용자의 정보로부터 서로 다른 키가 생성되도록 하기 위하여 사용자 별로 최적의 임계치를 설정함으로써, 오거부율(False Rejection Rate, FRR)과 오인식률(False Acceptance Rate, FAR)을 낮출 수 있는 효과가 있다.In addition, by setting an optimal threshold for each user so that different keys are generated from information of different users, the false rejection rate (FRR) and false acceptance rate (FAR) can be lowered. have.

또한, 지수 연산(Exponentiation)과 같은 복잡한 연산이 수행되지 않아 효율적으로 키를 추출할 수 있는 효과가 있다.In addition, there is an effect that a key can be efficiently extracted because a complex operation such as exponentiation is not performed.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 시스템을 도시한다.
도 2는 도 1에 도시된 사용자 단말의 기능 블럭도이다.
도 3은 도 1에 도시된 사용자 단말에서 수행되는 키 추출 방법을 설명하기 위한 흐름도이다.
도 4는 도 1에 도시된 시스템 상에서 수행되는 사용자 인증 방법을 설명하기 위한 흐름도이다.
도 5는 도 4에 도시된 사용자 등록 단계를 설명하기 위한 흐름도이다.
도 6은 도 4에 도시된 사용자 인증 단계를 설명하기 위한 흐름도이다.
In order to more fully understand the drawings recited in the Detailed Description of the Invention, a detailed description of each drawing is provided.
1 shows a system according to an embodiment of the present invention.
FIG. 2 is a functional block diagram of the user terminal shown in FIG. 1 .
FIG. 3 is a flowchart illustrating a key extraction method performed in the user terminal shown in FIG. 1 .
FIG. 4 is a flowchart illustrating a user authentication method performed on the system shown in FIG. 1 .
FIG. 5 is a flowchart for explaining the user registration step shown in FIG. 4 .
FIG. 6 is a flowchart for explaining the user authentication step shown in FIG. 4 .

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in this specification are only exemplified for the purpose of explaining the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention are It may be implemented in various forms and is not limited to the embodiments described herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention may have various changes and may have various forms, the embodiments will be illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes all modifications, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.Terms such as first or second may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one element from another, for example, without departing from the scope of the inventive concept, a first element may be termed a second element and similarly a second element. A component may also be referred to as a first component.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it is understood that other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle. Other expressions describing the relationship between components, such as "between" and "immediately between" or "neighboring to" and "directly adjacent to", etc., should be interpreted similarly.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used herein are used only to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present specification, terms such as "comprise" or "have" are intended to designate that a feature, number, step, operation, component, part, or combination thereof described herein exists, but one or more other features It is to be understood that it does not preclude the possibility of the presence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present specification. does not

이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다. 그러나, 특허출원의 범위가 이러한 실시 예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these examples. Like reference numerals in each figure indicate like elements.

본 발명에서는 생체 정보와 같이 노이즈(Noise)가 포함된 퍼지 데이터(Fuzzy data)를 이용하여 동일한 키를 추출하는 방법(Fuzzy Extractor, FE)과 이를 이용한 사용자 인증을 수행하는 방법을 제안한다. 생체 정보에는 홍채 정보, 지문 정보, 정맥 정보, 얼굴 이미지 정보 등이 있을 수 있다. 구체적으로, 본 발명은 (1) 사용자별로 최적의 임계치를 설정하는 방법, (2) 사용자의 데이터와 헬퍼 데이터로부터 키를 추출하는 방법, 그리고 (3) 이를 이용한 인증 프로토콜로 구성된다.The present invention proposes a method for extracting the same key (Fuzzy Extractor, FE) using fuzzy data including noise, such as biometric information, and a method for performing user authentication using the same. The biometric information may include iris information, fingerprint information, vein information, face image information, and the like. Specifically, the present invention consists of (1) a method of setting an optimal threshold for each user, (2) a method of extracting a key from user data and helper data, and (3) an authentication protocol using the same.

사용자 데이터와 임계치는 벡터(또는 실수 벡터) 형태로 표현된다. 사용자의 데이터를 벡터 형태로 추출하는 방법은 널리 알려져 있다. 예컨대, 가버 필터(Gabor filter)나 특징점(Minutiae point)을 이용한 방법이 대표적이다. 사용자의 데이터에 대한 프라이버시는 시스템 전체적으로 보호되어야 하며, 임계치를 포함한 사용자의 헬퍼 데이터(Helper data)는 공개된다.User data and thresholds are expressed in the form of vectors (or real vectors). A method of extracting user data in a vector form is widely known. For example, a method using a Gabor filter or a minutiae point is representative. The privacy of the user's data must be protected throughout the system, and the user's helper data including the threshold is disclosed.

본 명세서에서 두 벡터

Figure 112019075539957-pat00081
Figure 112019075539957-pat00082
의 거리는
Figure 112019075539957-pat00083
로 정의될 수 있다.
Figure 112019075539957-pat00084
가 임계치
Figure 112019075539957-pat00085
보다 작다는 것은 모든
Figure 112019075539957-pat00086
에 대하여
Figure 112019075539957-pat00087
를 만족한다는 것을 의미한다. 또한, 상기
Figure 112019075539957-pat00088
은 2 보다 크거나 같은 임의의 자연수(Natural number)일 수 있다.Two vectors herein
Figure 112019075539957-pat00081
Wow
Figure 112019075539957-pat00082
distance of
Figure 112019075539957-pat00083
can be defined as
Figure 112019075539957-pat00084
fall threshold
Figure 112019075539957-pat00085
less than all
Figure 112019075539957-pat00086
about
Figure 112019075539957-pat00087
means that it satisfies Also, said
Figure 112019075539957-pat00088
may be any natural number greater than or equal to 2.

또한, 본 발명에서

Figure 112019075539957-pat00089
는 반올림 연산(Rounding operation)을 의미하며,
Figure 112019075539957-pat00090
Figure 112019075539957-pat00091
를 키로 하는 의사난수함수(Pseudo-random function, PRF)를 의미한다.Also, in the present invention
Figure 112019075539957-pat00089
means a rounding operation,
Figure 112019075539957-pat00090
Is
Figure 112019075539957-pat00091
It means a pseudo-random function (PRF) with a key.

이하에서는, 본 발명에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, the present invention will be described in more detail.

(1) 사용자 데이터를 이용하여 사용자별 임계치를 설정하는 방법(1) How to set a threshold for each user using user data

사용자 인증을 수행하는 과정에서 FRR(False Rejection Rate, 오거부율)과 FAR(False Acceptance Rate, 오인식률)을 최소화하기 위하여, 등록 과정에서 입력받은 사용자의 데이터를 이용하여 사용자별 최적의 임계치를 설정하여야 한다. 사용자별 임계치를 설정하는 방법은 초기화(Init)와 임계치 생성(ThreGen)의 두 단계로 구성된다.In order to minimize FRR (False Rejection Rate) and FAR (False Acceptance Rate) in the process of user authentication, it is necessary to set the optimal threshold for each user using the user data input during the registration process. do. The method of setting the threshold for each user consists of two steps: initialization (Init) and threshold generation (ThreGen).

초기화(reset( InitInit ))

사용자별로 최적화된 임계치를 설정하기 위해서는 먼저 등록 단계에서 입력받은 사용자 데이터로부터 사용자 데이터의 대푯값('제1 대푯값'이라 명명될 수도 있음)

Figure 112019075539957-pat00092
와 임계치의 대푯값('제2 대푯값'이라 명명될 수도 있음)
Figure 112019075539957-pat00093
을 설정하여야 한다.
Figure 112019075539957-pat00094
(
Figure 112019075539957-pat00095
는 2 이상의 자연수) 개의 사용자 데이터
Figure 112019075539957-pat00096
를 입력받았을 때, 아래와 같이
Figure 112019075539957-pat00097
(
Figure 112019075539957-pat00098
)번째 위치의 대푯값
Figure 112019075539957-pat00099
Figure 112019075539957-pat00100
를 생성한다.In order to set a threshold optimized for each user, a representative value of user data (which may be called a 'first representative value') from the user data input in the registration step first
Figure 112019075539957-pat00092
and a representative value of the threshold (may also be referred to as a 'second representative value')
Figure 112019075539957-pat00093
should be set.
Figure 112019075539957-pat00094
(
Figure 112019075539957-pat00095
is a natural number greater than or equal to 2) user data
Figure 112019075539957-pat00096
When input is received,
Figure 112019075539957-pat00097
(
Figure 112019075539957-pat00098
) the representative value of the position
Figure 112019075539957-pat00099
Wow
Figure 112019075539957-pat00100
create

Figure 112019075539957-pat00101
에서 이상치(Outlier)를 제거한다. 이상치를 제외한 데이터의 집합을
Figure 112019075539957-pat00102
라고 하며, 이때의 인덱스(Index) 집합
Figure 112019075539957-pat00103
Figure 112019075539957-pat00104
를 만족한다. 본 단계는 데이터의 편차를 줄이기 위한 것이므로, 실시예에 따라 본 단계는 생략될 수도 있다. 이 경우, 단계 ②와 단계 ③에서는 이상치가 제거되지 않은 사용자 데이터
Figure 112019075539957-pat00105
를 이용하여 대푯값을 설정할 수도 있다.①
Figure 112019075539957-pat00101
Remove outliers from A set of data excluding outliers
Figure 112019075539957-pat00102
, and the set of indexes at this time
Figure 112019075539957-pat00103
Is
Figure 112019075539957-pat00104
is satisfied with Since this step is to reduce data deviation, this step may be omitted depending on the embodiment. In this case, user data for which outliers are not removed in steps ② and ③
Figure 112019075539957-pat00105
can also be used to set a representative value.

Figure 112019075539957-pat00106
에서 이상치가 제거된 나머지 값들
Figure 112019075539957-pat00107
을 대표하는 값을
Figure 112019075539957-pat00108
로 설정한다. 대푯값으로는 평균(산술 평균, 기하 평균, 조화 평균, 가중 평균 등), 중앙값, 최빈값 등의 다양한 통계 지표가 사용될 수 있으며, 사용되는 환경에 따라 다르게 설정될 수 있다.②
Figure 112019075539957-pat00106
Remaining values from which outliers have been removed
Figure 112019075539957-pat00107
a value representing
Figure 112019075539957-pat00108
set to As representative values, various statistical indicators such as mean (arithmetic mean, geometric mean, harmonic mean, weighted mean, etc.), median, and mode may be used, and may be set differently depending on the environment in which they are used.

Figure 112019075539957-pat00109
에서 이상치가 제거된 나머지 값들
Figure 112019075539957-pat00110
에 대하여 아래 수학식 1과 같이 임계치의 대푯값
Figure 112019075539957-pat00111
를 설정한다.③
Figure 112019075539957-pat00109
Remaining values from which outliers have been removed
Figure 112019075539957-pat00110
A representative value of the threshold as shown in Equation 1 below for
Figure 112019075539957-pat00111
to set

Figure 112019075539957-pat00112
Figure 112019075539957-pat00112

상기 수학식 1에서

Figure 112019075539957-pat00113
는 양의 실수로써
Figure 112019075539957-pat00114
로 설정될 수 있으나, 시스템에서 사용하는 퍼지 데이터의 특성이나 응용 환경에 따라서 상이한 값으로 설정될 수도 있다.In Equation 1 above
Figure 112019075539957-pat00113
is a positive real number
Figure 112019075539957-pat00114
However, it may be set to a different value depending on the characteristics of the fuzzy data used in the system or the application environment.

①번 단계에서, 이상치는 IQR 규칙(Interquartile Range rule), Grubb의 테스트(Grubb's test), 로버스트 테스트(Robust test) 등을 이용한 방법을 통해 제거될 수 있다. 그러나, 본 발명의 권리범위가 이에 제한되는 것은 아니며, 시스템에서 사용하는 퍼지 데이터의 특성이나 응용 환경에 따라 적합한 이상치 제거 방법이 사용될 수 있다.In step ①, the outlier may be removed through a method using the IQR rule (Interquartile Range rule), Grubb's test, robust test, or the like. However, the scope of the present invention is not limited thereto, and a suitable outlier removal method may be used according to the characteristics of the fuzzy data used in the system or the application environment.

임계치 생성(Create threshold ( ThreGenThreeGen ))

초기화 단계에서 설정된 대푯값

Figure 112019075539957-pat00115
,
Figure 112019075539957-pat00116
을 이용하여 다음과 같이 사용자에게 최적화된 임계치 벡터
Figure 112019075539957-pat00117
를 생성할 수 있다.Representative value set in the initialization phase
Figure 112019075539957-pat00115
,
Figure 112019075539957-pat00116
Threshold vector optimized for the user as follows using
Figure 112019075539957-pat00117
can create

① 모든

Figure 112019075539957-pat00118
에 대하여
Figure 112019075539957-pat00119
를 계산한다.① All
Figure 112019075539957-pat00118
about
Figure 112019075539957-pat00119
to calculate

② 모든

Figure 112019075539957-pat00120
에 대하여
Figure 112019075539957-pat00121
Figure 112019075539957-pat00122
를 계산한다.② All
Figure 112019075539957-pat00120
about
Figure 112019075539957-pat00121
Wow
Figure 112019075539957-pat00122
to calculate

③ 모든

Figure 112019075539957-pat00123
에 대하여
Figure 112019075539957-pat00124
Figure 112019075539957-pat00125
가 더 작은
Figure 112019075539957-pat00126
Figure 112019075539957-pat00127
로 설정한다.③ All
Figure 112019075539957-pat00123
about
Figure 112019075539957-pat00124
middle
Figure 112019075539957-pat00125
is smaller
Figure 112019075539957-pat00126
cast
Figure 112019075539957-pat00127
set to

④ 임계치

Figure 112019075539957-pat00128
를 출력한다.④ Threshold
Figure 112019075539957-pat00128
to output

상술한 임계치 생성 과정 중 ③ 단계에서는 두 개의 값 중 더 작은 값을

Figure 112019075539957-pat00129
로 설정할 수도 있으며, 설정 방법은 응용 환경에 따라 달라질 수 있다.In step ③ of the above-described threshold generation process, the smaller of the two values is selected.
Figure 112019075539957-pat00129
It can also be set to , and the setting method may vary depending on the application environment.

(2) (2) 노이즈가noise 포함된 사용자 데이터로부터 키를 추출하는 방법 How to extract a key from embedded user data

두 개의 사용자 데이터

Figure 112019075539957-pat00130
,
Figure 112019075539957-pat00131
의 거리가 임계치
Figure 112019075539957-pat00132
보다 작은 경우(또는 작거나 같은 경우), 두 개의 데이터로부터 동일한 키가 생성되어야 한다.two user data
Figure 112019075539957-pat00130
,
Figure 112019075539957-pat00131
distance is the threshold
Figure 112019075539957-pat00132
If less than (or less than or equal to), the same key must be generated from the two pieces of data.

시스템 파라미터

Figure 112019075539957-pat00133
는 의사난수함수
Figure 112019075539957-pat00134
와 암호학적 해쉬 함수
Figure 112019075539957-pat00135
로 구성되며, 시스템 내 모든 사용자는 동일한 시스템 파라미터를 사용한다. 즉, 시스템 파라미터
Figure 112019075539957-pat00136
는 사전에 공개되어 모든 사용자 단말 각각에 의해 공유된 정보일 수 있다.system parameters
Figure 112019075539957-pat00133
is a pseudo-random function
Figure 112019075539957-pat00134
and cryptographic hash functions
Figure 112019075539957-pat00135
, and all users in the system use the same system parameters. i.e. system parameters
Figure 112019075539957-pat00136
may be information that has been previously disclosed and shared by each of all user terminals.

노이즈가 포함된 사용자 데이터로부터 암호학적인 키를 추출하는 방법은 다음의 두 가지 알고리즘으로 구성된다.The method of extracting a cryptographic key from user data containing noise consists of the following two algorithms.

셋업set up (FE.Setup)(FE.Setup)

보안 상수

Figure 112019075539957-pat00137
와 시스템 파라미터
Figure 112019075539957-pat00138
, 및
Figure 112019075539957-pat00139
개의 사용자 데이터
Figure 112019075539957-pat00140
를 입력으로 받아 다음과 같이 사용자 헬퍼 데이터
Figure 112019075539957-pat00141
와 키
Figure 112019075539957-pat00142
를 생성한다.security constant
Figure 112019075539957-pat00137
and system parameters
Figure 112019075539957-pat00138
, and
Figure 112019075539957-pat00139
user data
Figure 112019075539957-pat00140
takes as input the user helper data as
Figure 112019075539957-pat00141
with key
Figure 112019075539957-pat00142
create

① 앞서 기술한 (1)의 방법(Init, ThreGen)을 이용하여 사용자 데이터의 대푯값

Figure 112019075539957-pat00143
와 사용자 임계치
Figure 112019075539957-pat00144
를 설정한다.① A representative value of user data using the method (Init, ThreGen) of (1) described above
Figure 112019075539957-pat00143
and user threshold
Figure 112019075539957-pat00144
to set

Figure 112019075539957-pat00145
를 랜덤하게 선택한다.②
Figure 112019075539957-pat00145
is randomly selected.

③ 모든

Figure 112019075539957-pat00146
에 대하여
Figure 112019075539957-pat00147
를 계산한다.③ All
Figure 112019075539957-pat00146
about
Figure 112019075539957-pat00147
to calculate

④ 모든

Figure 112019075539957-pat00148
에 대하여
Figure 112019075539957-pat00149
를 계산한다.④ all
Figure 112019075539957-pat00148
about
Figure 112019075539957-pat00149
to calculate

Figure 112019075539957-pat00150
를 계산한다.⑤
Figure 112019075539957-pat00150
to calculate

⑥ 사용자 헬퍼 데이터

Figure 112019075539957-pat00151
와 키
Figure 112019075539957-pat00152
를 출력한다.⑥ User helper data
Figure 112019075539957-pat00151
with key
Figure 112019075539957-pat00152
to output

키 추출 함수(FE.Extract)Key Extraction Function (FE.Extract)

시스템 파라미터

Figure 112019075539957-pat00153
, 사용자 헬퍼 데이터
Figure 112019075539957-pat00154
, 및 사용자의 데이터
Figure 112019075539957-pat00155
을 입력으로 받아 다음과 같이 키
Figure 112019075539957-pat00156
를 생성한다.system parameters
Figure 112019075539957-pat00153
, user helper data
Figure 112019075539957-pat00154
, and your data
Figure 112019075539957-pat00155
takes as input and the key as
Figure 112019075539957-pat00156
create

① 모든

Figure 112019075539957-pat00157
에 대하여
Figure 112019075539957-pat00158
를 계산한다.① All
Figure 112019075539957-pat00157
about
Figure 112019075539957-pat00158
to calculate

② 모든

Figure 112019075539957-pat00159
에 대하여
Figure 112019075539957-pat00160
를 계산한다.② All
Figure 112019075539957-pat00159
about
Figure 112019075539957-pat00160
to calculate

Figure 112019075539957-pat00161
를 계산한다.③
Figure 112019075539957-pat00161
to calculate

④ 키

Figure 112019075539957-pat00162
를 출력한다.④ key
Figure 112019075539957-pat00162
to output

여기서, 사용자의 데이터 대푯값

Figure 112019075539957-pat00163
와 사용자의 데이터
Figure 112019075539957-pat00164
사이의 거리가 임계치보다 작다면(또는 작거나 같다면), 키 추출 함수(EF.Extract)를 통해 추출된 키와 셋업(EF.Setup) 과정에서 생성된 키는 동일한 값을 가져야 한다.Here, the user's data representative value
Figure 112019075539957-pat00163
and user data
Figure 112019075539957-pat00164
If the distance between them is less than (or less than or equal to) the threshold, the key extracted through the key extraction function (EF.Extract) and the key generated in the setup (EF.Setup) process must have the same value.

(3) 서버-사용자 모델에서의 사용자 인증 프로토콜(3) User authentication protocol in server-user model

서버-사용자 모델에서 사용자는 서버에게 본인 인증을 수행한다. 이때, 사용자는 패스워드나 다른 비밀 정보 없이 사용자의 생체 정보와 같은 고유한 특성을 이용하여 인증을 수행한다. 인증 프로토콜은 등록 단계와 인증 단계로 구성되며, 노이즈가 포함된 사용자 데이터로부터 키를 추출하는 함수와 ECDSA 전자서명 기법을 이용하여 설계된다.In the server-user model, the user authenticates himself to the server. In this case, the user performs authentication using unique characteristics such as the user's biometric information without a password or other secret information. The authentication protocol consists of a registration step and an authentication step, and is designed using a function that extracts a key from user data containing noise and the ECDSA digital signature technique.

인증 프로토콜의 구체적인 단계는 다음과 같다. 여기서 노이즈가 포함된 사용자 데이터로부터 키를 추출하는 함수의 두 가지 알고리즘을 각각 FE.Setup, FE.Extract라고 표현하며((2)에서 설명), ECDSA 기법의 세 가지 알고리즘을 각각 KeyGen, Sign, Verify라고 표현한다.The specific steps of the authentication protocol are as follows. Here, the two algorithms of the function that extract the key from user data containing noise are expressed as FE.Setup and FE.Extract, respectively (described in (2)), and the three algorithms of the ECDSA technique are KeyGen, Sign, and Verify, respectively. express it

키 추출기(Fuzzy extractor, FE)에서 사용되는 시스템 파라미터

Figure 112019075539957-pat00165
와 ECDSA에서 사용되는 타원곡선에 대한 정보는 시스템 전체적으로 사용되는 공개된 값으로, 시스템 내 모든 사용자들에게 주어진 값으로 가정한다.System parameters used by the fuzzy extractor (FE)
Figure 112019075539957-pat00165
The information on the elliptic curve used in and ECDSA is a public value used throughout the system and is assumed to be a value given to all users in the system.

등록 단계(Enrollment Phase)Enrollment Phase

·사용자는 생체 정보와 같은 자신의 특성 데이터

Figure 112019075539957-pat00166
를 추출한다.・Users have their own characteristic data such as biometric information
Figure 112019075539957-pat00166
to extract

·사용자는 FE.Setup을 수행하여 사용자 헬퍼 데이터

Figure 112019075539957-pat00167
와 키
Figure 112019075539957-pat00168
를 생성한다.・Users perform FE.Setup to obtain user helper data
Figure 112019075539957-pat00167
with key
Figure 112019075539957-pat00168
create

·사용자는 KeyGen을 수행하여

Figure 112019075539957-pat00169
를 서명키
Figure 112019075539957-pat00170
로 하는 검증키
Figure 112019075539957-pat00171
를 생성한다. 즉, FE.Setup을 통해 생성된 키
Figure 112019075539957-pat00172
가 바로 ECDSA의 서명키
Figure 112019075539957-pat00173
로 사용되며, 이는 KeyGen에서
Figure 112019075539957-pat00174
를 랜덤하게 선택하는 과정을 FE.Setup이 대체한다고 볼 수 있다.·Users perform KeyGen to
Figure 112019075539957-pat00169
signing key
Figure 112019075539957-pat00170
verification key with
Figure 112019075539957-pat00171
create That is, the key generated through FE.Setup
Figure 112019075539957-pat00172
is the signature key of ECDSA
Figure 112019075539957-pat00173
, which is used by KeyGen
Figure 112019075539957-pat00174
It can be seen that FE.Setup replaces the process of randomly selecting .

·사용자는 서버에 자신의 아이디

Figure 112019075539957-pat00175
와 함께
Figure 112019075539957-pat00176
를 등록한다.・Users have their IDs on the server
Figure 112019075539957-pat00175
with
Figure 112019075539957-pat00176
register

인증 단계(Authentication Phase)Authentication Phase

·사용자가 먼저 자신의 아이디

Figure 112019075539957-pat00177
를 서버에 전송하고, 서버는 그에 대응하는 사용자 헬퍼 데이터
Figure 112019075539957-pat00178
와 질의값
Figure 112019075539957-pat00179
를 사용자에게 전송한다.・Users first enter their ID
Figure 112019075539957-pat00177
to the server, and the server sends the corresponding user helper data
Figure 112019075539957-pat00178
and query value
Figure 112019075539957-pat00179
is sent to the user.

·사용자는 자신의 특성 데이터

Figure 112019075539957-pat00180
를 추출한다.・Users have their own characteristic data
Figure 112019075539957-pat00180
to extract

·사용자는 FE.Extract를 수행하여 서명키

Figure 112019075539957-pat00181
를 생성한다.· The user executes FE.Extract to sign key
Figure 112019075539957-pat00181
create

·사용자는 Sign을 수행하여

Figure 112019075539957-pat00182
에 대한 서명
Figure 112019075539957-pat00183
를 생성하고, 이를 서버에 전송한다. 즉, 서명
Figure 112019075539957-pat00184
는 질의
Figure 112019075539957-pat00185
에 대한 응답
Figure 112019075539957-pat00186
으로 볼 수 있다.· Users sign
Figure 112019075539957-pat00182
signature for
Figure 112019075539957-pat00183
, and send it to the server. i.e. signature
Figure 112019075539957-pat00184
is the query
Figure 112019075539957-pat00185
response to
Figure 112019075539957-pat00186
can be seen as

· 서버는 Verify를 수행하여

Figure 112019075539957-pat00187
Figure 112019075539957-pat00188
에 대한 사용자의 정당한 서명인지를 검증한다.· Server performs Verify
Figure 112019075539957-pat00187
go
Figure 112019075539957-pat00188
Verifies whether the user's signature is valid.

·출력이

Figure 112019075539957-pat00189
이면 정당한 사용자로, 출력이
Figure 112019075539957-pat00190
이면 정당하지 않은 사용자로 판단한다.· output
Figure 112019075539957-pat00189
If it is a legitimate user, the output is
Figure 112019075539957-pat00190
Otherwise, it is judged as an invalid user.

도 1은 본 발명의 일 실시예에 따른 시스템을 도시한다.1 shows a system according to an embodiment of the present invention.

도 1을 참조하면, 시스템(10)은 복수의 사용자 단말들(100)과 서버(300)를 포함한다. 복수의 사용자 단말들(100) 각각은 서버(300)로부터 소정의 콘텐츠나 서비스를 제공받기 위하여, 서버(300)와 인증 동작을 수행할 수 있다. 서버(300)는 인증 동작을 완료한 사용자 단말에 한하여 소정의 콘텐츠나 서비스를 제공할 수 있다.Referring to FIG. 1 , a system 10 includes a plurality of user terminals 100 and a server 300 . Each of the plurality of user terminals 100 may perform an authentication operation with the server 300 in order to receive a predetermined content or service from the server 300 . The server 300 may provide predetermined content or services only to the user terminal that has completed the authentication operation.

복수의 사용자 단말들(100) 각각은 퍼지 데이터로부터 동일한 키를 추출할 수 있으며, 추출된 키를 이용하여 서버(300)와의 인증 동작을 수행할 수 있다. 복수의 사용자 단말들(100) 각각은 적어도 하나의 프로세서와 메모리를 포함하는 컴퓨팅 장치로써, PC(personal computer), 태블릿 PC, 노트북(notebook), 넷-북(net-book), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 또는 MP4 플레이어와 같은 데이터 처리 장치나 모바일폰(mobile phone), 스마트폰(smart phone)과 같은 핸드헬드 장치(handheld device)로 구현될 수 있다.Each of the plurality of user terminals 100 may extract the same key from the fuzzy data, and may perform an authentication operation with the server 300 using the extracted key. Each of the plurality of user terminals 100 is a computing device including at least one processor and a memory, and includes a personal computer (PC), a tablet PC, a notebook, a net-book, and an e-reader ( a data processing device such as an e-reader), a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, or an MP4 player, or a handheld device such as a mobile phone or a smart phone ( It can be implemented as a handheld device).

시스템(10)에 포함된 사용자 단말(100)과 서버(300)는 임의의 전자 서명 기법(예컨대, DSA(Digital Signature Algorithm), ECDSA(Elliptic Curve Digital Signature Algorithm) 등)을 이용하여 서명을 생성하거나 생성된 서명에 대한 검증을 수행할 수 있다. 특히, ECDSA 기법이 이용될 경우, 사용되는 타원곡선에 대한 정보(타원곡선 정보)는 사용자 단말들(100)과 서버(300)에게 공유되어 있다고 가정하며, 타원곡선 정보는 타원곡선 체와 방정식(Elliptic curve field and equation), 생성원(Elliptic curve base point)

Figure 112019075539957-pat00191
, 그리고 위수(integer order of
Figure 112019075539957-pat00192
)
Figure 112019075539957-pat00193
이 포함할 수 있다.The user terminal 100 and the server 300 included in the system 10 generate a signature using any electronic signature technique (eg, Digital Signature Algorithm (DSA), Elliptic Curve Digital Signature Algorithm (ECDSA), etc.) or Verification of the generated signature can be performed. In particular, when the ECDSA technique is used, it is assumed that the information on the elliptic curve used (elliptic curve information) is shared with the user terminals 100 and the server 300, and the elliptic curve information is the elliptic curve body and the equation ( Elliptic curve field and equation, Elliptic curve base point
Figure 112019075539957-pat00191
, and the integer order of
Figure 112019075539957-pat00192
)
Figure 112019075539957-pat00193
This may include

또한, 도 1에는 4개의 사용자 단말만이 도시되어 있으나, 본 발명이 사용자 단말의 개수에 제한되는 것은 아니다. 또한, 복수의 사용자 단말들 중 적어도 일부는 하나의 사용자가 사용하는 단말이거나, 각각의 단말이 서로 다른 사용자의 단말일 수도 있다. 즉, 각 사용자는 적어도 하나의 단말을 사용하여 서버(300)와 인증 동작을 수행할 수 있다.In addition, although only four user terminals are illustrated in FIG. 1 , the present invention is not limited to the number of user terminals. Also, at least some of the plurality of user terminals may be terminals used by one user, or each terminal may be terminals of different users. That is, each user may perform an authentication operation with the server 300 using at least one terminal.

복수의 사용자 단말들(100) 각각과 서버(300)의 구체적인 동작에 관하여는 후술하기로 한다.Specific operations of each of the plurality of user terminals 100 and the server 300 will be described later.

도 2는 도 1에 도시된 사용자 단말의 기능 블럭도이다.FIG. 2 is a functional block diagram of the user terminal shown in FIG. 1 .

도 2를 참조하면, 사용자 단말(100)은 셋업부(110)와 키 추출부(130)를 포함한다. 실시 예에 따라, 사용자 단말(100)은 등록부(150), 인증부(170), 및 저장부(190) 중 적어도 하나 이상을 더 포함할 수도 있다.Referring to FIG. 2 , the user terminal 100 includes a setup unit 110 and a key extraction unit 130 . According to an embodiment, the user terminal 100 may further include at least one of a registration unit 150 , an authentication unit 170 , and a storage unit 190 .

셋업부(110)는 보안 상수

Figure 112019075539957-pat00194
와 시스템 파라미터
Figure 112019075539957-pat00195
, 및
Figure 112019075539957-pat00196
(
Figure 112019075539957-pat00197
) 개의 사용자 데이터
Figure 112019075539957-pat00198
를 입력으로 받아 헬퍼 데이터
Figure 112019075539957-pat00199
를 생성할 수 있다. 실시예에 따라, 셋업부(110)는 키
Figure 112019075539957-pat00200
를 더 생성할 수도 있다. 이때, 시스템 파라미터
Figure 112019075539957-pat00201
는 공개된 값으로, 사용자 단말(100)과 서버(300) 사이에서 미리 공유되어 저장부(190)에 저장되어 있는 정보일 수 있다.The setup unit 110 is a security constant
Figure 112019075539957-pat00194
and system parameters
Figure 112019075539957-pat00195
, and
Figure 112019075539957-pat00196
(
Figure 112019075539957-pat00197
) user data
Figure 112019075539957-pat00198
Takes as input the helper data
Figure 112019075539957-pat00199
can create According to the embodiment, the setup unit 110 is a key
Figure 112019075539957-pat00200
can also be created. At this time, the system parameters
Figure 112019075539957-pat00201
is a public value, and may be information previously shared between the user terminal 100 and the server 300 and stored in the storage unit 190 .

또한, 셋업부(110)는 소정의 인터페이스를 통하여 사용자로부터 퍼지 데이터를 복수회(예컨대, s회) 입력받을 수 있다. 상기 사용자 데이터

Figure 112019075539957-pat00202
는 상기 퍼지 데이터로부터 추출된 데이터로써, 벡터(예컨대, 실수 벡터) 형태일 수 있다. 따라서, 셋업부(110)는 사용자로부터 입력받은 복수의 퍼지 데이터를 벡터 형태로 변화하는 동작을 수행할 수도 있다.Also, the setup unit 110 may receive fuzzy data multiple times (eg, s times) from the user through a predetermined interface. said user data
Figure 112019075539957-pat00202
is data extracted from the fuzzy data, and may be in the form of a vector (eg, a real vector). Accordingly, the setup unit 110 may perform an operation of changing a plurality of fuzzy data received from a user into a vector form.

실시 예에 따라, 상기 사용자 데이터

Figure 112019075539957-pat00203
는 미리 입력받은 후 저장부(190)에 저장되어 있는 데이터일 수도 있다.According to an embodiment, the user data
Figure 112019075539957-pat00203
may be data stored in the storage unit 190 after being input in advance.

셋업부(110)에 의한 헬퍼 데이터

Figure 112019075539957-pat00204
의 생성 과정 및/또는 키
Figure 112019075539957-pat00205
의 생성 과정은 다음과 같다.Helper data by the setup unit 110
Figure 112019075539957-pat00204
creation process and/or key of
Figure 112019075539957-pat00205
The creation process is as follows.

① 앞서 기술한 (1)의 방법(Init, ThreGen)을 이용하여 사용자 데이터의 대푯값

Figure 112019075539957-pat00206
와 사용자 임계치
Figure 112019075539957-pat00207
를 설정한다.① A representative value of user data using the method (Init, ThreGen) of (1) described above
Figure 112019075539957-pat00206
and user threshold
Figure 112019075539957-pat00207
to set

Figure 112019075539957-pat00208
를 랜덤하게 선택한다.②
Figure 112019075539957-pat00208
is randomly selected.

③ 모든

Figure 112019075539957-pat00209
에 대하여
Figure 112019075539957-pat00210
를 계산한다.③ All
Figure 112019075539957-pat00209
about
Figure 112019075539957-pat00210
to calculate

④ 모든

Figure 112019075539957-pat00211
에 대하여
Figure 112019075539957-pat00212
를 계산한다.④ all
Figure 112019075539957-pat00211
about
Figure 112019075539957-pat00212
to calculate

Figure 112019075539957-pat00213
를 계산한다.⑤
Figure 112019075539957-pat00213
to calculate

⑥ 사용자 헬퍼 데이터

Figure 112019075539957-pat00214
와 키
Figure 112019075539957-pat00215
를 출력한다.⑥ User helper data
Figure 112019075539957-pat00214
with key
Figure 112019075539957-pat00215
to output

즉, 셋업부(110)는 임계치

Figure 112019075539957-pat00216
와 임의의 비트 스트림
Figure 112019075539957-pat00217
(
Figure 112019075539957-pat00218
)를 포함하는 헬퍼 데이터
Figure 112019075539957-pat00219
를 생성할 수 있다. 또한, 셋업부(110)는 상술한 과정을 통하여 키
Figure 112019075539957-pat00220
를 생성할 수도 있다.That is, the setup unit 110 is a threshold
Figure 112019075539957-pat00216
and random bitstream
Figure 112019075539957-pat00217
(
Figure 112019075539957-pat00218
helper data containing )
Figure 112019075539957-pat00219
can create In addition, the setup unit 110 through the above-described process
Figure 112019075539957-pat00220
can also create

또한, 셋업부(110)는 등록부(150)의 요청에 따라, 헬퍼 데이터

Figure 112019075539957-pat00221
와 키
Figure 112019075539957-pat00222
를 생성하고, 생성된 헬퍼 데이터
Figure 112019075539957-pat00223
와 키
Figure 112019075539957-pat00224
를 등록부(150)로 전송할 수도 있다. 실시예에 따라, 셋업부(110)는 임의의 서명 기법(예컨대, ECDSA 기법)의 키 생성 알고리즘(KeyGen)을 수행하여 키
Figure 112019075539957-pat00225
를 서명키
Figure 112019075539957-pat00226
로 하는 검증키
Figure 112019075539957-pat00227
를 생성하고, 생성된 검증키
Figure 112019075539957-pat00228
를 헬퍼 데이터
Figure 112019075539957-pat00229
와 함께 등록부(150)로 송신할 수도 있다.In addition, the setup unit 110 according to the request of the registration unit 150, helper data
Figure 112019075539957-pat00221
with key
Figure 112019075539957-pat00222
, and the generated helper data
Figure 112019075539957-pat00223
with key
Figure 112019075539957-pat00224
may be transmitted to the registration unit 150 . According to an embodiment, the setup unit 110 performs a key generation algorithm (KeyGen) of an arbitrary signature technique (eg, ECDSA technique) to obtain a key
Figure 112019075539957-pat00225
signing key
Figure 112019075539957-pat00226
verification key with
Figure 112019075539957-pat00227
and the generated verification key.
Figure 112019075539957-pat00228
helper data
Figure 112019075539957-pat00229
It may be transmitted to the registration unit 150 together with

키 추출부(130)는 시스템 파라미터

Figure 112019075539957-pat00230
, 사용자의 헬퍼 데이터
Figure 112019075539957-pat00231
, 및 사용자의 데이터
Figure 112019075539957-pat00232
를 입력으로 받아 키
Figure 112019075539957-pat00233
를 생성(또는 추출)할 수 있다. 이때, 소정의 인터페이스를 통하여 사용자로부터 퍼지 데이터를 입력받을 수 있다. 사용자 데이터
Figure 112019075539957-pat00234
은 상기 퍼지 데이터로부터 추출된 데이터로써, 벡터(예컨대, 실수 벡터) 형태일 수 있다. 따라서, 키 추출부(130)는 사용자로부터 입력받은 복수의 퍼지 데이터를 벡터 형태로 변화하는 동작을 수행할 수도 있다.The key extraction unit 130 is a system parameter
Figure 112019075539957-pat00230
, the user's helper data
Figure 112019075539957-pat00231
, and your data
Figure 112019075539957-pat00232
take as input the key
Figure 112019075539957-pat00233
can be created (or extracted). In this case, fuzzy data may be input from the user through a predetermined interface. user data
Figure 112019075539957-pat00234
is data extracted from the fuzzy data, and may be in the form of a vector (eg, a real vector). Accordingly, the key extractor 130 may perform an operation of changing the plurality of fuzzy data received from the user into a vector form.

구체적으로, 키 추출부(130)는 다음과 같은 과정을 통해 키

Figure 112019075539957-pat00235
를 생성하거나 추출할 수 있다.Specifically, the key extraction unit 130 performs the following process
Figure 112019075539957-pat00235
can be created or extracted.

① 모든

Figure 112019075539957-pat00236
에 대하여
Figure 112019075539957-pat00237
를 계산한다.① All
Figure 112019075539957-pat00236
about
Figure 112019075539957-pat00237
to calculate

② 모든

Figure 112019075539957-pat00238
에 대하여
Figure 112019075539957-pat00239
를 계산한다.② All
Figure 112019075539957-pat00238
about
Figure 112019075539957-pat00239
to calculate

Figure 112019075539957-pat00240
를 계산한다.③
Figure 112019075539957-pat00240
to calculate

④ 키

Figure 112019075539957-pat00241
를 출력한다.④ key
Figure 112019075539957-pat00241
to output

상술한 과정을 통하여, 키 추출부(130)는 노이즈가 포함되어 있는 퍼지 데이터로부터 매번 동일한 값을 갖는 키를 추출할 수 있다. 물론, 키가 추출되는 사용되는 사용자 데이터

Figure 112019075539957-pat00242
와 사용자 데이터의 대푯값
Figure 112019075539957-pat00243
사이의 거리
Figure 112019075539957-pat00244
가 미리 정해진 임계치
Figure 112019075539957-pat00245
보다 작거나 같아야(또는 작아야) 한다. 이를 위해, 키 추출부(130)는 사용자 데이터
Figure 112019075539957-pat00246
와 사용자 데이터의 대푯값
Figure 112019075539957-pat00247
사이의 거리
Figure 112019075539957-pat00248
가 미리 정해진 임계치
Figure 112019075539957-pat00249
보다 작은지(또는 작거나 같은지)를 판단한 후 이를 만족하는 경우에만 키 추출 동작을 수행할 수 있다. Through the above-described process, the key extractor 130 may extract a key having the same value every time from the fuzzy data including noise. Of course, the user data from which the key is extracted
Figure 112019075539957-pat00242
and representative values of user data
Figure 112019075539957-pat00243
distance between
Figure 112019075539957-pat00244
is a predetermined threshold
Figure 112019075539957-pat00245
It must be less than or equal to (or less than). To this end, the key extraction unit 130 is the user data
Figure 112019075539957-pat00246
and representative values of user data
Figure 112019075539957-pat00247
distance between
Figure 112019075539957-pat00248
is a predetermined threshold
Figure 112019075539957-pat00249
After determining whether it is less than (or less than or equal to), the key extraction operation can be performed only when it is satisfied.

키 추출부(130)에 의해 생성된 키

Figure 112019075539957-pat00250
는 상기 사용자를 인증하기 위한 과정 등에 이용될 수 있다. The key generated by the key extractor 130
Figure 112019075539957-pat00250
may be used in a process for authenticating the user.

또한, 키 추출부(130)는 인증부(170)의 요청에 따라, 사용자 데이터

Figure 112019075539957-pat00251
으로부터 키
Figure 112019075539957-pat00252
를 추출한고 추출된 키
Figure 112019075539957-pat00253
를 인증부(170)로 전송할 수도 있다. 이때, 키
Figure 112019075539957-pat00254
는 임의의 전자 서명 기법(예컨대, ECDSA 기법)에서 사용되는 서명키
Figure 112019075539957-pat00255
로 설정되기 때문에, 키 추출부(130)는 서명키
Figure 112019075539957-pat00256
를 생성한 후 생성된 서명키
Figure 112019075539957-pat00257
를 인증부(170)로 전송하는 것으로 이해될 수도 있다.In addition, the key extraction unit 130 according to the request of the authentication unit 170, user data
Figure 112019075539957-pat00251
key from
Figure 112019075539957-pat00252
and extract the extracted key
Figure 112019075539957-pat00253
may be transmitted to the authenticator 170 . At this time, the key
Figure 112019075539957-pat00254
is a signing key used in any digital signature technique (eg, ECDSA technique)
Figure 112019075539957-pat00255
Since it is set to , the key extraction unit 130
Figure 112019075539957-pat00256
Signing key generated after creating
Figure 112019075539957-pat00257
may be understood to be transmitted to the authenticator 170 .

등록부(150)는 서버(300)와의 유무선 통신을 통해 사용자 단말(100)의 사용자를 등록할 수 있다.The registration unit 150 may register a user of the user terminal 100 through wired/wireless communication with the server 300 .

구체적으로, 등록부(150)는 상기 사용자의 등록을 요청하는 등록 요청 메시지를 서버(300)로 송신할 수 있다. 이때, 상기 서버(300)는 상기 등록 요청 메시지에 응답하여 등록에 필요한 정보를 요청하는 등록 정보 요청 메시지를 등록부(150)로 송신할 수 있다.Specifically, the registration unit 150 may transmit a registration request message requesting registration of the user to the server 300 . In this case, the server 300 may transmit a registration information request message requesting information necessary for registration to the registration unit 150 in response to the registration request message.

또한, 등록부(150)는 상기 등록 정보 요청 메시지에 응답하여, 상기 사용자의 등록에 필요한 정보인 등록 정보를 서버(300)로 송신할 수 있다. 상기 등록 정보는 상기 사용자를 식별하기 위한 식별 정보(예컨대, ID와 같은 식별자), 임계치

Figure 112019075539957-pat00258
와 임의의 비트 스트림
Figure 112019075539957-pat00259
를 포함하는 헬퍼 데이터
Figure 112019075539957-pat00260
, 및 상기 사용자의 검증키
Figure 112019075539957-pat00261
를 포함할 수 있다. 이때, 상기 식별 정보는 소정의 인터페이스를 통하여 상기 사용자로부터 입력받은 것이거나 입력받은 후 저장부(190)에 저장되어 있는 것일 수 있다.Also, in response to the registration information request message, the registration unit 150 may transmit registration information, which is information required for registration of the user, to the server 300 . The registration information includes identification information for identifying the user (eg, an identifier such as an ID), a threshold
Figure 112019075539957-pat00258
and random bitstream
Figure 112019075539957-pat00259
helper data containing
Figure 112019075539957-pat00260
, and the user's verification key
Figure 112019075539957-pat00261
may include. In this case, the identification information may be input from the user through a predetermined interface or may be stored in the storage unit 190 after being input.

또한, 헬퍼 데이터

Figure 112019075539957-pat00262
및/또는 상기 사용자의 검증키
Figure 112019075539957-pat00263
는 셋업부(110)에 의해 생성된 후 등록부(150)로 전송되거나 셋업부(110)에 의해 생성된 후 저장부(190)에 저장된 것일 수 있다. 실시예에 따라, 셋업부(110)는 생성된 키
Figure 112019075539957-pat00264
를 등록부(150)로 전송하고, 등록부(150)는 임의의 전자 서명 기법(예컨대, ECDSA 기법)의 키 생성 알고리즘(KeyGen)을 수행하여 키
Figure 112019075539957-pat00265
를 서명키
Figure 112019075539957-pat00266
로 하는 검증키
Figure 112019075539957-pat00267
를 생성할 수도 있다.Also, helper data
Figure 112019075539957-pat00262
and/or the user's verification key
Figure 112019075539957-pat00263
may be generated by the setup unit 110 and then transmitted to the registration unit 150 or stored in the storage unit 190 after being generated by the setup unit 110 . According to an embodiment, the setup unit 110 generates the key
Figure 112019075539957-pat00264
to the registration unit 150, and the registration unit 150 performs a key generation algorithm (KeyGen) of any electronic signature technique (eg, ECDSA technique) to obtain a key
Figure 112019075539957-pat00265
signing key
Figure 112019075539957-pat00266
verification key with
Figure 112019075539957-pat00267
can also create

등록부(150)에 의해 전송된 상기 등록 정보는 서버(300)에 안전하게 저장됨으로써 상기 사용자에 대한 등록 과정이 완료되게 된다. 상기 사용자에 대한 등록이 완료된 후 등록부(150)는 서버(300)로부터 등록 완료를 의미하는 메시지인 등록 완료 메시지를 수신할 수도 있다.The registration information transmitted by the registration unit 150 is safely stored in the server 300, thereby completing the registration process for the user. After the registration of the user is completed, the registration unit 150 may receive a registration completion message, which is a message indicating registration completion, from the server 300 .

인증부(170)는 서버(300)와의 유무선 통신을 통해 사용자에 대한 인증 동작을 수행할 수 있다. 인증부(170)에 의한 인증 동작을 구체적으로 설명하면 다음과 같다.The authenticator 170 may perform an authentication operation for the user through wired/wireless communication with the server 300 . The authentication operation by the authentication unit 170 will be described in detail as follows.

우선, 인증부(170)는 사용자에 대한 인증을 요청하는 메시지인 인증 요청 메시지를 서버(300)로 송신할 수 있다. 이때, 상기 인증 요청 메시지는 상기 사용자를 식별하기 위한 식별 정보(예컨대, 상기 사용자의 ID와 같은 식별자)를 포함할 수 있다.First, the authentication unit 170 may transmit an authentication request message, which is a message requesting authentication for a user, to the server 300 . In this case, the authentication request message may include identification information for identifying the user (eg, an identifier such as an ID of the user).

상기 인증 요청 메시지를 수신한 서버(300)는 상기 사용자의 인증을 위한 질의 메시지를 인증부(170)로 전송할 수 있다. 상기 질의 메시지는 상기 사용자, 즉 상기 식별 정보에 대응하는 헬퍼 데이터

Figure 112019075539957-pat00268
와 질의값
Figure 112019075539957-pat00269
을 포함할 수 있다.The server 300 receiving the authentication request message may transmit a query message for authentication of the user to the authentication unit 170 . The query message includes helper data corresponding to the user, that is, the identification information.
Figure 112019075539957-pat00268
and query value
Figure 112019075539957-pat00269
may include.

인증부(170)는 상기 질의 메시지에 응답하여 응답 메시지를 서버(300)로 송신할 수 있다. 상기 응답 메시지는 질의값

Figure 112019075539957-pat00270
에 대한 서명
Figure 112019075539957-pat00271
을 생성하고, 생성된 서명
Figure 112019075539957-pat00272
를 서버(300)로 송신할 수 있다.The authenticator 170 may transmit a response message to the server 300 in response to the query message. The response message is a query value
Figure 112019075539957-pat00270
signature for
Figure 112019075539957-pat00271
to generate the generated signature
Figure 112019075539957-pat00272
may be transmitted to the server 300 .

질의값

Figure 112019075539957-pat00273
에 서명
Figure 112019075539957-pat00274
가 임의의 서명 기법(예컨대, ECDSA(Elliptic Curve Digital Signature Algorithm))의 서명 알고리즘(예컨대, ECDSA의 서명 알고리즘(Sign))을 통해 생성되는 경우, 서명을 위한 서명키
Figure 112019075539957-pat00275
가 필요하다. 서명키
Figure 112019075539957-pat00276
는 키 추출부(130)에 의해 생성된 키
Figure 112019075539957-pat00277
로써, 키 추출부(130)로부터 인증부(170)로 전송될 수 있다. 또한, 키 추출부(130)는 사용자로부터 수신된 데이터를 이용하여 키
Figure 112019075539957-pat00278
를 생성할 수 있다.query value
Figure 112019075539957-pat00273
sign on
Figure 112019075539957-pat00274
When is generated through a signature algorithm (eg, ECDSA's signature algorithm (Sign)) of an arbitrary signature technique (eg, Elliptic Curve Digital Signature Algorithm (ECDSA)), a signing key for signing
Figure 112019075539957-pat00275
is needed signing key
Figure 112019075539957-pat00276
is the key generated by the key extraction unit 130
Figure 112019075539957-pat00277
Accordingly, it may be transmitted from the key extraction unit 130 to the authentication unit 170 . In addition, the key extraction unit 130 uses the data received from the user to
Figure 112019075539957-pat00278
can create

도 3은 도 1에 도시된 사용자 단말에서 수행되는 키 생성 방법을 설명하기 위한 흐름도이다.FIG. 3 is a flowchart illustrating a key generation method performed in the user terminal shown in FIG. 1 .

우선, 키 생성 방법은 제1 사용자 단말에 의해 수행되는 셋업 단계(S11, S13, S15)와 제2 사용자 단말에 의해 수행되는 키 추출 단계(S17)를 포함할 수 있다. 상기 제1 사용자 단말과 상기 제2 사용자 단말은 동일한 단말을 의미할 수도 있으나, 실시예에 따라 서로 다른 단말을 의미할 수도 있다. 또한, 키 생성 방법을 설명함에 있어 앞선 기재와 중복되는 내용에 관하여는 그 기재를 생략하기로 한다.First, the key generation method may include a setup step (S11, S13, S15) performed by a first user terminal and a key extraction step (S17) performed by a second user terminal. The first user terminal and the second user terminal may mean the same terminal, but may mean different terminals according to embodiments. In addition, in the description of the key generation method, descriptions of contents overlapping with those described above will be omitted.

우선, 상기 제1 사용자 단말의 셋업부는 복수의 제1 사용자 데이터들

Figure 112019075539957-pat00279
로부터 데이터의 대푯값
Figure 112019075539957-pat00280
과 임계치
Figure 112019075539957-pat00281
를 설정할 수 있다(S11).First, the setup unit of the first user terminal is a plurality of first user data
Figure 112019075539957-pat00279
Representative values of data from
Figure 112019075539957-pat00280
and threshold
Figure 112019075539957-pat00281
can be set (S11).

이후, 상기 셋업부는 사용자의 헬퍼 데이터

Figure 112019075539957-pat00282
를 구성하는 임의의 값
Figure 112019075539957-pat00283
를 선택할 수 있다(S13). 또한, 상기 셋업부는 상기 임의의 값
Figure 112019075539957-pat00284
와 임계치
Figure 112019075539957-pat00285
를 포함하는 사용자 헬퍼 데이터
Figure 112019075539957-pat00286
와 제1 키
Figure 112019075539957-pat00287
를 생성할 수 있다(S15). 셋업 단계에서 수신되는 데이터, 생성되는 데이터 등은 상기 제1 사용자 단말의 저장부에 저장될 수 있다.After that, the setup unit is a user's helper data
Figure 112019075539957-pat00282
any value that makes up
Figure 112019075539957-pat00283
can be selected (S13). In addition, the set-up unit is the arbitrary value
Figure 112019075539957-pat00284
and threshold
Figure 112019075539957-pat00285
User helper data containing
Figure 112019075539957-pat00286
and the first key
Figure 112019075539957-pat00287
can be generated (S15). Data received in the setup step, generated data, etc. may be stored in a storage unit of the first user terminal.

상기 제2 사용자 단말의 키 추출부는 상기 사용자로부터 제2 사용자 데이터

Figure 112019075539957-pat00288
를 수신하고, 상기 제2 사용자 데이터로부터 제2 키
Figure 112019075539957-pat00289
를 추출할 수 있다(S17). 상기 데이터의 대푯값
Figure 112019075539957-pat00290
과 상기 제2 사용자 데이터
Figure 112019075539957-pat00291
의 거리는 임계치
Figure 112019075539957-pat00292
보다 작기 때문에 제2 키
Figure 112019075539957-pat00293
와 제1 키
Figure 112019075539957-pat00294
는 동일한 값을 가질 수 있다.The key extracting unit of the second user terminal receives the second user data from the user.
Figure 112019075539957-pat00288
receiving a second key from the second user data
Figure 112019075539957-pat00289
can be extracted (S17). Representative values of the data
Figure 112019075539957-pat00290
and the second user data
Figure 112019075539957-pat00291
distance of the threshold
Figure 112019075539957-pat00292
2nd key because less than
Figure 112019075539957-pat00293
and the first key
Figure 112019075539957-pat00294
may have the same value.

도 4는 도 1에 도시된 시스템 상에서 수행되는 사용자 인증 방법을 설명하기 위한 흐름도이다.FIG. 4 is a flowchart illustrating a user authentication method performed on the system shown in FIG. 1 .

도 1 내지 도 4를 참조하면, 퍼지 데이터(예컨대, 사용자의 생체 데이터)를 이용한 인증 방법은 사용자 등록 단계(S100)와 사용자 인증 단계(S300)를 포함한다.1 to 4 , the authentication method using fuzzy data (eg, biometric data of a user) includes a user registration step S100 and a user authentication step S300 .

사용자 등록 단계(S100)는 서버(300)로부터 소정의 컨텐츠나 서비스를 제공받기 위해 사용자를 서버(300)에 등록하는 단계이며, 사용자 인증 단계(S300)는 서버(300)로부터 소정의 컨텐츠나 서비스를 제공받기 위해 사용자를 인증하기 위한 서버(300)로부터 인증을 받는 단계를 의미한다. 인증이 완료된 사용자는 서버(300)로부터 콘텐츠나 서비스를 제공받을 수 있다.The user registration step (S100) is a step of registering a user with the server 300 in order to receive a predetermined content or service from the server 300, and the user authentication step (S300) is a predetermined content or service from the server 300 It means a step of receiving authentication from the server 300 for authenticating the user to receive the. A user whose authentication has been completed may be provided with contents or services from the server 300 .

사용자 등록 단계(S100)와 사용자 인증 단계(S300)의 구체적인 내용은 도 5와 도 6을 통해 설명하기로 한다.Specific details of the user registration step ( S100 ) and the user authentication step ( S300 ) will be described with reference to FIGS. 5 and 6 .

도 5는 도 4에 도시된 사용자 등록 단계를 설명하기 위한 흐름도이다.FIG. 5 is a flowchart for explaining the user registration step shown in FIG. 4 .

사용자는 서버(300)로부터 컨텐츠나 서비스를 제공받기 위해 서버(300)에 등록하여야 한다. 이를 위해, 사용자 단말(100)의 등록부(150)는 사용자에 대한 등록을 요청하는 등록 요청 메시지를 서버(300)로 송신할 수 있다(S110).A user must register with the server 300 to receive content or services from the server 300 . To this end, the registration unit 150 of the user terminal 100 may transmit a registration request message for requesting registration of the user to the server 300 (S110).

서버(300)는 사용자 단말(100)로부터 수신된 상기 등록 요청 메시지에 응답하여, 등록 대상인 사용자의 등록 정보를 요청하는 등록 정보 요청 메시지를 사용자 단말(100)로 송신하고, 사용자 단말(100)의 등록부(150)는 상기 등록 정보 요청 메시지를 수신할 수 있다(S130).In response to the registration request message received from the user terminal 100 , the server 300 transmits a registration information request message requesting registration information of a user to be registered to the user terminal 100 , The registration unit 150 may receive the registration information request message (S130).

등록부(150)는 상기 등록 정보 요청 메시지에 응답하여, 상기 사용자의 등록 정보를 서버(300)로 송신할 수 있다(S150). 상기 등록 정보는 상기 사용자를 서버(300)에 등록하기 위해 필요한 정보로써, 식별 정보, 헬퍼 데이터, 및 검증키를 포함할 수 있다. 상기 식별 정보는 상기 사용자를 식별하기 위한 정보로 사용자의 ID와 같은 식별자를 의미하고, 상기 헬퍼 데이터는 사용자 인증 단계에서 상기 사용자 단말(100)이 응답 메시지를 생성하는 과정에서 사용하는 데이터를 의미하고, 상기 검증키는 사용자 인증 단계에서 사용자 단말(100)이 서버(300)로 송신한 서명을 검증하기 위한 키를 의미할 수 있다.The registration unit 150 may transmit the user's registration information to the server 300 in response to the registration information request message (S150). The registration information is information necessary to register the user with the server 300 , and may include identification information, helper data, and a verification key. The identification information is information for identifying the user and means an identifier such as a user ID, and the helper data means data used in the process of generating a response message by the user terminal 100 in the user authentication step, , the verification key may mean a key for verifying the signature transmitted by the user terminal 100 to the server 300 in the user authentication step.

상기 등록 정보를 수신한 서버(300)는 상기 등록 정보를 내부의 저장 장치에 저장한 후 등록 완료 메시지를 사용자 단말(100)로 송신할 수 있다(S170).After receiving the registration information, the server 300 may transmit the registration completion message to the user terminal 100 after storing the registration information in an internal storage device (S170).

상술한 과정을 통해, 상기 사용자에 대한 등록은 완료될 수 있다.Through the above-described process, registration for the user may be completed.

도 6은 도 4에 도시된 사용자 인증 단계를 설명하기 위한 흐름도이다. 사용자 등록 단계를 수행하는 사용자 단말과 사용자 인증 단계를 수행하는 사용자 단말은 하나의 단말이거나 서로 다른 단말일 수 있다. 즉, 사용자는 사용자 등록 단계를 수행한 사용자 단말을 이용하거나 사용자 등록 단계를 수행한 사용자 단말과는 다른 사용자 단말을 이용하여 사용자 인증 단계를 수행할 수 있다.FIG. 6 is a flowchart for explaining the user authentication step shown in FIG. 4 . The user terminal performing the user registration step and the user terminal performing the user authentication step may be one terminal or different terminals. That is, the user may perform the user authentication step by using a user terminal that has performed the user registration step or using a user terminal different from the user terminal that has performed the user registration step.

사용자가 서버(300)로부터 소정의 컨텐츠나 서비스를 제공받기 위해서는 사용자에 대한 인증을 완료하여야 한다. 이를 위해, 사용자 단말(100)의 인증부(170)는 상기 사용자에 대한 인증을 요청하는 인증 요청 메시지를 서버(300)로 송신할 수 있다(S310). 이때, 상기 인증 요청 메시지는 상기 사용자를 식별하기 위한 식별 정보(예컨대, 상기 사용자의 ID와 같은 식별자)를 포함할 수 있다.In order for a user to receive a predetermined content or service from the server 300 , authentication of the user must be completed. To this end, the authentication unit 170 of the user terminal 100 may transmit an authentication request message requesting authentication for the user to the server 300 (S310). In this case, the authentication request message may include identification information for identifying the user (eg, an identifier such as an ID of the user).

사용자 단말(100)로부터 상기 인증 요청 메시지를 수신한 서버(300)는 질의 메시지를 사용자 단말(100)로 송신할 수 있다(S330). 상기 질의 메시지는 헬퍼 데이터

Figure 112019075539957-pat00295
및/또는 질의값
Figure 112019075539957-pat00296
을 포함할 수 있다. 헬퍼 데이터
Figure 112019075539957-pat00297
는 사용자 등록 단계에서 사용자 단말(100)로부터 수신되어 서버(300)에 저장되어 있는 정보일 수 있다. 사용자 등록 단계를 수행한 단말과 사용자 인증 단계를 수행하는 사용자 단말이 동일한 경우, 헬퍼 데이터
Figure 112019075539957-pat00298
는 사용자 단말(100) 내에 저장되어 있을 수 있어 별도의 송신 과정이 불필요할 수 있다. 그러나, 사용자 등록 단계를 수행한 사용자 단말과 사용자 인증 단계를 수행하는 사용자 단말이 다를 경우, 헬퍼 데이터
Figure 112019075539957-pat00299
는 사용자 단말 내에 존재하지 않기 때문에, 사용자 인증을 수행하는 사용자 단말은 서버(300)로부터 헬퍼 데이터
Figure 112019075539957-pat00300
를 수신하여야 한다. 즉, 사용자 등록 단계와 사용자 인증 단계를 동일한 사용자 단말이 수행하는 경우, 상기 질의 메시지에는 헬퍼 데이터
Figure 112019075539957-pat00301
가 포함되어 있지 않을 수도 있다.Upon receiving the authentication request message from the user terminal 100, the server 300 may transmit a query message to the user terminal 100 (S330). The query message is helper data
Figure 112019075539957-pat00295
and/or query value
Figure 112019075539957-pat00296
may include. helper data
Figure 112019075539957-pat00297
may be information received from the user terminal 100 in the user registration step and stored in the server 300 . When the terminal performing the user registration step and the user terminal performing the user authentication step are the same, helper data
Figure 112019075539957-pat00298
may be stored in the user terminal 100, so a separate transmission process may be unnecessary. However, when the user terminal performing the user registration step and the user terminal performing the user authentication step are different, helper data
Figure 112019075539957-pat00299
does not exist in the user terminal, the user terminal performing user authentication is the helper data from the server 300
Figure 112019075539957-pat00300
should receive That is, when the same user terminal performs the user registration step and the user authentication step, the query message includes helper data.
Figure 112019075539957-pat00301
may not be included.

상기 질의 메시지를 수신한 인증부(170)는 응답 메시지를 생성하고, 상기 응답 메시지를 서버(300)로 송신할 수 있다(S350). 상기 응답 메시지에는 질의값

Figure 112019075539957-pat00302
에 대한 서명
Figure 112019075539957-pat00303
이 포함될 수 있다. 서명
Figure 112019075539957-pat00304
을 생성하기 위해 필요한 서명키
Figure 112019075539957-pat00305
는 키 추출부(130)에 의해 생성된 후 인증부(170)로 전송될 수 있다.Upon receiving the query message, the authenticator 170 may generate a response message and transmit the response message to the server 300 (S350). The response message includes a query value
Figure 112019075539957-pat00302
signature for
Figure 112019075539957-pat00303
may be included. signature
Figure 112019075539957-pat00304
Signing key required to generate
Figure 112019075539957-pat00305
may be generated by the key extraction unit 130 and then transmitted to the authentication unit 170 .

사용자 단말(100)로부터 서명

Figure 112019075539957-pat00306
을 수신한 서버(300)는 미리 저장되어 있는 검증키
Figure 112019075539957-pat00307
를 이용하여 서명
Figure 112019075539957-pat00308
을 검증할 수 있다. 실시예에 따라, 서버(300)는 ECDSA 기법의 검증 알고리즘(Verify)을 이용하여 서명
Figure 112019075539957-pat00309
을 검증할 수 있다. 서명
Figure 112019075539957-pat00310
에 대한 검증이 성공적으로 완료된 경우, 서버(300)는 인증 완료 메시지를 사용자 단말(100)로 송신할 수 있다.signature from the user terminal 100
Figure 112019075539957-pat00306
The server 300 receiving the verification key stored in advance
Figure 112019075539957-pat00307
sign using
Figure 112019075539957-pat00308
can be verified. According to the embodiment, the server 300 is signed using the verification algorithm (Verify) of the ECDSA technique.
Figure 112019075539957-pat00309
can be verified. signature
Figure 112019075539957-pat00310
When the verification is successfully completed, the server 300 may transmit an authentication completion message to the user terminal 100 .

이상에서 설명된 장치는 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 집합으로 구현될 수 있다. 예를 들어, 실시 예들에서 설명된 장치 및 구성 요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(Digital Signal Processor), 마이크로컴퓨터, FPA(Field Programmable array), PLU(Programmable Logic Unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(Operation System, OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술 분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(Processing Element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(Parallel Processor)와 같은, 다른 처리 구성(Processing Configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a set of hardware components and software components. For example, the devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), and a PLU. It may be implemented using one or more general purpose computers or special purpose computers, such as a Programmable Logic Unit (Programmable Logic Unit), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other Processing Configurations are also possible, such as a Parallel Processor.

소프트웨어는 컴퓨터 프로그램(Computer Program), 코드(Code), 명령(Instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(Collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성 요소(Component), 물리적 장치, 가상 장치(Virtual Equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(Signal Wave)에 영구적으로, 또는 일시적으로 구체화(Embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, and configure the processing device to operate as desired or independently or collectively processed You can command the device. The software and/or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or provide instructions or data to the processing device. , or may be permanently or temporarily embodied in a transmitted signal wave (Signal Wave). The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 좋ㅂ하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-optical Media), 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or preferably. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and used by those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magnetic media such as floppy disks. - Includes hardware devices specially configured to store and execute program instructions, such as Magneto-optical Media, ROM, RAM, Flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성 요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to the embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result. Accordingly, the true technical protection scope of the present invention should be determined by the technical spirit of the appended claims.

10 : 시스템
100 : 사용자 단말
110 : 셋업부
130 : 키 추출부
150 : 등록부
170 : 인증부
300 : 서버
10: system
100: user terminal
110: setup unit
130: key extraction unit
150: register
170: authentication unit
300 : server

Claims (9)

사용자 단말에서 수행되는, 노이즈를 포함하는 퍼지 데이터(fuzzy data)로부터 동일한 키를 추출하는 방법에 있어서,
보안 상수(
Figure 112019075539957-pat00311
), 시스템 파라미터(
Figure 112019075539957-pat00312
), 및
Figure 112019075539957-pat00313
(
Figure 112019075539957-pat00314
) 개의 제1 사용자 데이터들(
Figure 112019075539957-pat00315
,
Figure 112019075539957-pat00316
,
Figure 112019075539957-pat00317
은 임의의 자연수)을 이용하여 헬퍼 데이터(
Figure 112019075539957-pat00318
)와 제1 키(
Figure 112019075539957-pat00319
)를 생성하는 셋업 단계; 및
상기 시스템 파라미터(
Figure 112019075539957-pat00320
), 상기 헬퍼 데이터(
Figure 112019075539957-pat00321
), 및 제2 사용자 데이터(
Figure 112019075539957-pat00322
)를 이용하여 상기 제1 키(
Figure 112019075539957-pat00323
)와 동일한 값을 갖는 제2 키(
Figure 112019075539957-pat00324
)를 추출하는 키 추출 단계를 포함하고,
상기 헬퍼 데이터(
Figure 112019075539957-pat00325
)는 임계치(
Figure 112019075539957-pat00326
)와 임의의 값(
Figure 112019075539957-pat00327
)을 포함하는,
키를 추출하는 방법.
In the method of extracting the same key from fuzzy data including noise, performed in a user terminal,
security constant (
Figure 112019075539957-pat00311
), system parameters (
Figure 112019075539957-pat00312
), and
Figure 112019075539957-pat00313
(
Figure 112019075539957-pat00314
) first user data (
Figure 112019075539957-pat00315
,
Figure 112019075539957-pat00316
,
Figure 112019075539957-pat00317
is an arbitrary natural number) using helper data (
Figure 112019075539957-pat00318
) and the first key (
Figure 112019075539957-pat00319
) to create a setup step; and
The system parameters (
Figure 112019075539957-pat00320
), the helper data (
Figure 112019075539957-pat00321
), and the second user data (
Figure 112019075539957-pat00322
) using the first key (
Figure 112019075539957-pat00323
) and the second key (
Figure 112019075539957-pat00324
) comprising a key extraction step of extracting,
The helper data (
Figure 112019075539957-pat00325
) is the threshold (
Figure 112019075539957-pat00326
) and any value (
Figure 112019075539957-pat00327
) containing,
How to extract the key.
제1항에 있어서,
상기 셋업 단계는,
상기 제1 사용자 데이터들을 대표하는 제1 대푯값(
Figure 112019075539957-pat00328
)과 상기 임계치(
Figure 112019075539957-pat00329
)를 설정하는 단계;
상기 임의의 값(
Figure 112019075539957-pat00330
)을 선택하는 단계; 및
상기 제1 키(
Figure 112019075539957-pat00331
)를 생성하는 단계를 포함하는,
키를 추출하는 방법.
According to claim 1,
The setup step is
A first representative value representing the first user data (
Figure 112019075539957-pat00328
) and the threshold (
Figure 112019075539957-pat00329
) to set;
Any value above (
Figure 112019075539957-pat00330
) to select; and
the first key (
Figure 112019075539957-pat00331
) comprising the step of creating
How to extract the key.
제2항에 있어서,
상기 제1 대푯값(
Figure 112019075539957-pat00332
)과 상기 임계치(
Figure 112019075539957-pat00333
)를 설정하는 단계는,
상기 제1 사용자 데이터들 중 이상치(Outlier)를 제거하는 단계;
이상치가 제거된 제1 사용자 데이터들(
Figure 112019075539957-pat00334
,
Figure 112019075539957-pat00335
)의 평균, 중앙값, 및 최빈값 중 어느 하나를 상기 제1 대푯값(
Figure 112019075539957-pat00336
)으로 설정하는 단계;
제1 수학식을 이용하여 제2 대푯값(
Figure 112019075539957-pat00337
)을 설정하는 단계;
모든
Figure 112019075539957-pat00338
(
Figure 112019075539957-pat00339
)에 대하여, 제1 계산값(
Figure 112019075539957-pat00340
)을 계산하는 단계;
모든
Figure 112019075539957-pat00341
(
Figure 112019075539957-pat00342
)에 대하여, 제2 계산값(
Figure 112019075539957-pat00343
)과 제3 계산값(
Figure 112019075539957-pat00344
)을 계산하는 단계; 및
모든
Figure 112019075539957-pat00345
(
Figure 112019075539957-pat00346
)에 대하여,
Figure 112019075539957-pat00347
(
Figure 112019075539957-pat00348
)가 더 작은
Figure 112019075539957-pat00349
Figure 112019075539957-pat00350
로 설정하거나,
Figure 112019075539957-pat00351
가 더 큰
Figure 112019075539957-pat00352
Figure 112019075539957-pat00353
로 설정하는 단계를 포함하고,
상기 제1 수학식은
Figure 112019075539957-pat00354
이고,
상기
Figure 112019075539957-pat00355
는 양의 실수인,
키를 추출하는 방법.
3. The method of claim 2,
The first representative value (
Figure 112019075539957-pat00332
) and the threshold (
Figure 112019075539957-pat00333
) is set,
removing an outlier among the first user data;
The first user data from which the outlier has been removed (
Figure 112019075539957-pat00334
,
Figure 112019075539957-pat00335
Any one of the mean, median, and mode of the first representative value (
Figure 112019075539957-pat00336
) to set;
Using the first equation, the second representative value (
Figure 112019075539957-pat00337
) to set;
every
Figure 112019075539957-pat00338
(
Figure 112019075539957-pat00339
) for the first calculated value (
Figure 112019075539957-pat00340
) to calculate;
every
Figure 112019075539957-pat00341
(
Figure 112019075539957-pat00342
) for the second calculated value (
Figure 112019075539957-pat00343
) and the third calculated value (
Figure 112019075539957-pat00344
) to calculate; and
every
Figure 112019075539957-pat00345
(
Figure 112019075539957-pat00346
)about,
Figure 112019075539957-pat00347
(
Figure 112019075539957-pat00348
) is smaller
Figure 112019075539957-pat00349
cast
Figure 112019075539957-pat00350
or set to
Figure 112019075539957-pat00351
is bigger
Figure 112019075539957-pat00352
cast
Figure 112019075539957-pat00353
comprising the steps of setting
The first equation is
Figure 112019075539957-pat00354
ego,
remind
Figure 112019075539957-pat00355
is a positive real number,
How to extract the key.
제3항에 있어서,
상기 제1 키(
Figure 112019075539957-pat00356
)를 생성하는 단계는,
모든
Figure 112019075539957-pat00357
(
Figure 112019075539957-pat00358
)에 대하여, 제4 계산값(
Figure 112019075539957-pat00359
)을 계산하는 단계;
모든
Figure 112019075539957-pat00360
(
Figure 112019075539957-pat00361
)에 대하여, 제5 계산값(
Figure 112019075539957-pat00362
)을 계산하는 단계;
제6 계산값(
Figure 112019075539957-pat00363
)을 계산하는 단계; 및
상기 시스템 파라미터(
Figure 112019075539957-pat00364
)에 포함된 암호학적인 해쉬 함수(
Figure 112019075539957-pat00365
)를 이용하여 상기 제1 키(
Figure 112019075539957-pat00366
)를 생성하는 단계를 포함하고,
상기 시스템 파라미터(
Figure 112019075539957-pat00367
)에 포함된 상기
Figure 112019075539957-pat00368
Figure 112019075539957-pat00369
를 키로 하는 의사난수함수(Pseudo-random function, PRE)이고,
상기
Figure 112019075539957-pat00370
는 반올림 연산(Rounding operation)을 의미하는,
키를 추출하는 방법.
4. The method of claim 3,
the first key (
Figure 112019075539957-pat00356
) to create the step,
every
Figure 112019075539957-pat00357
(
Figure 112019075539957-pat00358
) for the fourth calculated value (
Figure 112019075539957-pat00359
) to calculate;
every
Figure 112019075539957-pat00360
(
Figure 112019075539957-pat00361
) for the fifth calculated value (
Figure 112019075539957-pat00362
) to calculate;
6th calculated value (
Figure 112019075539957-pat00363
) to calculate; and
The system parameters (
Figure 112019075539957-pat00364
) in the cryptographic hash function (
Figure 112019075539957-pat00365
) using the first key (
Figure 112019075539957-pat00366
) comprising the steps of creating
The system parameters (
Figure 112019075539957-pat00367
) included in the above
Figure 112019075539957-pat00368
Is
Figure 112019075539957-pat00369
is a pseudo-random function (PRE) with a key,
remind
Figure 112019075539957-pat00370
means a rounding operation,
How to extract the key.
제2항에 있어서,
상기 키 추출 단계는,
모든
Figure 112019075539957-pat00371
(
Figure 112019075539957-pat00372
)에 대하여, 제1 계산값(
Figure 112019075539957-pat00373
)을 계산하는 단계;
모든
Figure 112019075539957-pat00374
(
Figure 112019075539957-pat00375
)에 대하여, 제2 계산값(
Figure 112019075539957-pat00376
)을 계산하는 단계;
제3 계산값(
Figure 112019075539957-pat00377
)을 계산하는 단계; 및
상기 시스템 파라미터(
Figure 112019075539957-pat00378
)에 포함된 암호학적인 해쉬 함수(
Figure 112019075539957-pat00379
)를 이용하여 상기 제2 키(
Figure 112019075539957-pat00380
)를 생성하는 단계를 포함하고,
상기 시스템 파라미터(
Figure 112019075539957-pat00381
)에 포함된
Figure 112019075539957-pat00382
Figure 112019075539957-pat00383
를 키로 하는 의사난수함수이고,
상기
Figure 112019075539957-pat00384
는 반올림 연산(Rounding operation)을 의미하는,
키를 추출하는 방법.
3. The method of claim 2,
The key extraction step is
every
Figure 112019075539957-pat00371
(
Figure 112019075539957-pat00372
) for the first calculated value (
Figure 112019075539957-pat00373
) to calculate;
every
Figure 112019075539957-pat00374
(
Figure 112019075539957-pat00375
) for the second calculated value (
Figure 112019075539957-pat00376
) to calculate;
the third calculated value (
Figure 112019075539957-pat00377
) to calculate; and
The system parameters (
Figure 112019075539957-pat00378
) in the cryptographic hash function (
Figure 112019075539957-pat00379
) using the second key (
Figure 112019075539957-pat00380
) comprising the steps of creating
The system parameters (
Figure 112019075539957-pat00381
) included in
Figure 112019075539957-pat00382
Is
Figure 112019075539957-pat00383
is a pseudo-random function with a key,
remind
Figure 112019075539957-pat00384
means a rounding operation,
How to extract the key.
적어도 하나의 사용자 단말과 서버 사이에서 수행되는, 사용자를 인증하는 방법에 있어서,
상기 적어도 하나의 사용자 단말에 포함되는 제1 사용자 단말이 상기 사용자를 식별하기 위한 식별 정보, 헬퍼 데이터(
Figure 112019075539957-pat00385
), 및 검증키(
Figure 112019075539957-pat00386
)를 상기 서버로 송신하는 사용자 등록 단계; 및
상기 적어도 하나의 사용자 단말에 포함되는 제2 사용자 단말이 상기 서버로부터 수신된 질의 메시지에 대응하는 응답 메시지를 상기 서버로 송신하는 사용자 인증 단계를 포함하고,
상기 헬퍼 데이터(
Figure 112019075539957-pat00387
)는 임계치(
Figure 112019075539957-pat00388
)와 임의의 값(
Figure 112019075539957-pat00389
)을 포함하고,
상기 응답 메시지는 상기 질의 메시지에 포함된 질의값(
Figure 112019075539957-pat00390
)에 대한 서명(
Figure 112019075539957-pat00391
)을 포함하는,
사용자를 인증하는 방법.
In the method of authenticating a user, performed between at least one user terminal and a server,
Identification information, helper data (
Figure 112019075539957-pat00385
), and the verification key (
Figure 112019075539957-pat00386
) a user registration step of transmitting to the server; and
a user authentication step in which a second user terminal included in the at least one user terminal transmits a response message corresponding to the query message received from the server to the server,
The helper data (
Figure 112019075539957-pat00387
) is the threshold (
Figure 112019075539957-pat00388
) and any value (
Figure 112019075539957-pat00389
), including
The response message is a query value (
Figure 112019075539957-pat00390
) for signature (
Figure 112019075539957-pat00391
) containing,
How to authenticate users.
제6항에 있어서,
상기 사용자 등록 단계는,
상기 제1 사용자 단말이 상기 서버로 등록 요청 메시지를 송신하는 단계;
상기 제1 사용자 단말이 상기 서버로부터 수신된 등록 정보 요청 메시지에 대응하는 등록 정보를 상기 서버로 송신하는 단계를 포함하고,
상기 등록 정보는 상기 식별 정보, 상기 헬퍼 데이터(
Figure 112021076772523-pat00392
), 및 상기 검증키(
Figure 112021076772523-pat00393
)를 포함하고,
상기 헬퍼 데이터(
Figure 112021076772523-pat00394
)는,
Figure 112021076772523-pat00395
(
Figure 112021076772523-pat00396
) 개의 제1 사용자 데이터들(
Figure 112021076772523-pat00397
,
Figure 112021076772523-pat00398
,
Figure 112021076772523-pat00399
은 임의의 자연수)을 대표하는 제1 대푯값(
Figure 112021076772523-pat00400
)과 임계치(
Figure 112021076772523-pat00401
)를 설정하는 단계; 및
상기 임의의 값(
Figure 112021076772523-pat00402
)을 선택하는 단계를 수행함으로써 생성되고,
상기 제1 대푯값(
Figure 112021076772523-pat00403
)과 상기 임계치(
Figure 112021076772523-pat00404
)는,
상기 제1 사용자 데이터들 중 이상치(Outlier)를 제거하는 단계;
이상치가 제거된 제1 사용자 데이터들(
Figure 112021076772523-pat00405
,
Figure 112021076772523-pat00406
)의 평균, 중앙값, 및 최빈값 중 어느 하나를 상기 제1 대푯값(
Figure 112021076772523-pat00407
)으로 설정하는 단계;
제1 수학식을 이용하여 제2 대푯값(
Figure 112021076772523-pat00408
)을 설정하는 단계;
모든
Figure 112021076772523-pat00409
(
Figure 112021076772523-pat00410
)에 대하여, 제1 계산값(
Figure 112021076772523-pat00411
)을 계산하는 단계;
모든
Figure 112021076772523-pat00412
(
Figure 112021076772523-pat00413
)에 대하여, 제2 계산값(
Figure 112021076772523-pat00414
)과 제3 계산값(
Figure 112021076772523-pat00415
)을 계산하는 단계; 및
모든
Figure 112021076772523-pat00416
(
Figure 112021076772523-pat00417
)에 대하여,
Figure 112021076772523-pat00418
(
Figure 112021076772523-pat00419
)가 더 작은
Figure 112021076772523-pat00420
Figure 112021076772523-pat00421
로 설정하거나,
Figure 112021076772523-pat00422
가 더 큰
Figure 112021076772523-pat00423
Figure 112021076772523-pat00424
로 설정하는 단계를 수행함으로써 생성되고,
상기 제1 수학식은
Figure 112021076772523-pat00425
이고,
상기 검증키(
Figure 112021076772523-pat00426
)는,
모든
Figure 112021076772523-pat00427
(
Figure 112021076772523-pat00428
)에 대하여, 제4 계산값(
Figure 112021076772523-pat00429
)을 계산하는 단계;
모든
Figure 112021076772523-pat00430
(
Figure 112021076772523-pat00431
)에 대하여, 제5 계산값(
Figure 112021076772523-pat00432
)을 계산하는 단계;
제6 계산값(
Figure 112021076772523-pat00433
)을 계산하는 단계; 및
시스템 파라미터(
Figure 112021076772523-pat00434
)에 포함된 암호학적인 해쉬 함수(
Figure 112021076772523-pat00435
)를 이용하여 제1 키(
Figure 112021076772523-pat00436
)를 생성하는 단계를 수행함으로써 생성되고,
상기 시스템 파라미터(
Figure 112021076772523-pat00437
)에 포함된 상기
Figure 112021076772523-pat00438
Figure 112021076772523-pat00439
를 키로 하는 의사난수함수이고,
상기 검증키(
Figure 112021076772523-pat00440
)는 상기 제1 키(
Figure 112021076772523-pat00441
)이고,
상기
Figure 112021076772523-pat00442
는 반올림 연산(Rounding operation)을 의미하는,
사용자를 인증하는 방법.
7. The method of claim 6,
The user registration step is
transmitting, by the first user terminal, a registration request message to the server;
and transmitting, by the first user terminal, registration information corresponding to the registration information request message received from the server to the server,
The registration information includes the identification information, the helper data (
Figure 112021076772523-pat00392
), and the verification key (
Figure 112021076772523-pat00393
), including
The helper data (
Figure 112021076772523-pat00394
)Is,
Figure 112021076772523-pat00395
(
Figure 112021076772523-pat00396
) first user data (
Figure 112021076772523-pat00397
,
Figure 112021076772523-pat00398
,
Figure 112021076772523-pat00399
is the first representative value (
Figure 112021076772523-pat00400
) and the threshold (
Figure 112021076772523-pat00401
) to set; and
Any value above (
Figure 112021076772523-pat00402
) is created by performing the step of selecting
The first representative value (
Figure 112021076772523-pat00403
) and the threshold (
Figure 112021076772523-pat00404
)Is,
removing an outlier among the first user data;
The first user data from which the outlier has been removed (
Figure 112021076772523-pat00405
,
Figure 112021076772523-pat00406
Any one of the mean, median, and mode of the first representative value (
Figure 112021076772523-pat00407
) to set;
Using the first equation, the second representative value (
Figure 112021076772523-pat00408
) to set;
every
Figure 112021076772523-pat00409
(
Figure 112021076772523-pat00410
) for the first calculated value (
Figure 112021076772523-pat00411
) to calculate;
every
Figure 112021076772523-pat00412
(
Figure 112021076772523-pat00413
) for the second calculated value (
Figure 112021076772523-pat00414
) and the third calculated value (
Figure 112021076772523-pat00415
) to calculate; and
every
Figure 112021076772523-pat00416
(
Figure 112021076772523-pat00417
)about,
Figure 112021076772523-pat00418
(
Figure 112021076772523-pat00419
) is smaller
Figure 112021076772523-pat00420
cast
Figure 112021076772523-pat00421
or set to
Figure 112021076772523-pat00422
is bigger
Figure 112021076772523-pat00423
cast
Figure 112021076772523-pat00424
It is created by performing the steps of setting
The first equation is
Figure 112021076772523-pat00425
ego,
the verification key (
Figure 112021076772523-pat00426
)Is,
every
Figure 112021076772523-pat00427
(
Figure 112021076772523-pat00428
) for the fourth calculated value (
Figure 112021076772523-pat00429
) to calculate;
every
Figure 112021076772523-pat00430
(
Figure 112021076772523-pat00431
) for the fifth calculated value (
Figure 112021076772523-pat00432
) to calculate;
6th calculated value (
Figure 112021076772523-pat00433
) to calculate; and
system parameters (
Figure 112021076772523-pat00434
) in the cryptographic hash function (
Figure 112021076772523-pat00435
) to the first key (
Figure 112021076772523-pat00436
) is created by performing the steps of generating
The system parameters (
Figure 112021076772523-pat00437
) included in the above
Figure 112021076772523-pat00438
Is
Figure 112021076772523-pat00439
is a pseudo-random function with a key,
the verification key (
Figure 112021076772523-pat00440
) is the first key (
Figure 112021076772523-pat00441
)ego,
remind
Figure 112021076772523-pat00442
means a rounding operation,
How to authenticate users.
제6항에 있어서,
상기 사용자 인증 단계는,
상기 제2 사용자 단말이 상기 식별 정보를 포함하는 인증 요청 메시지를 상기 서버로 송신하는 단계;
상기 제2 사용자 단말이 상기 헬퍼 데이터(
Figure 112021076772523-pat00443
)와 질의값(
Figure 112021076772523-pat00444
)을 포함하는 질의 메시지를 상기 서버로부터 수신하는 단계; 및
상기 제2 사용자 단말이 상기 질의 메시지에 대응하는 응답 메시지를 상기 서버로 송신하는 단계를 포함하고,
상기 응답 메시지는 상기 질의값(
Figure 112021076772523-pat00445
)에 대한 서명(
Figure 112021076772523-pat00446
)을 포함하고,
상기 서명(
Figure 112021076772523-pat00447
)을 생성하기 위한 서명키(
Figure 112021076772523-pat00448
)는 시스템 파라미터(
Figure 112021076772523-pat00449
), 상기 헬퍼 데이터(
Figure 112021076772523-pat00450
), 및 제2 사용자 데이터(
Figure 112021076772523-pat00451
)를 이용하여 생성되고,
상기 서명키(
Figure 112021076772523-pat00452
)는,
모든
Figure 112021076772523-pat00453
(
Figure 112021076772523-pat00454
)에 대하여, 제1 계산값(
Figure 112021076772523-pat00455
)을 계산하는 단계;
모든
Figure 112021076772523-pat00456
(
Figure 112021076772523-pat00457
)에 대하여, 제2 계산값(
Figure 112021076772523-pat00458
)을 계산하는 단계;
제3 계산값(
Figure 112021076772523-pat00459
)을 계산하는 단계; 및
시스템 파라미터(
Figure 112021076772523-pat00460
)에 포함된 암호학적인 해쉬 함수(
Figure 112021076772523-pat00461
)를 이용하여 제2 키(
Figure 112021076772523-pat00463
)를 생성하는 단계를 수행함으로써 생성되고,
상기 서명키(
Figure 112021076772523-pat00464
)는 상기 제2 키(
Figure 112021076772523-pat00465
)이고,
상기 시스템 파라미터(
Figure 112021076772523-pat00466
)에 포함된 상기
Figure 112021076772523-pat00467
Figure 112021076772523-pat00468
를 키로 하는 의사난수함수이고,
상기
Figure 112021076772523-pat00469
는 반올림 연산(Rounding operation)을 의미하는,
사용자를 인증하는 방법.
7. The method of claim 6,
The user authentication step is
transmitting, by the second user terminal, an authentication request message including the identification information to the server;
The second user terminal is the helper data (
Figure 112021076772523-pat00443
) and the query value (
Figure 112021076772523-pat00444
) receiving a query message including a from the server; and
and transmitting, by the second user terminal, a response message corresponding to the query message to the server,
The response message is the query value (
Figure 112021076772523-pat00445
) for signature (
Figure 112021076772523-pat00446
), including
the signature (
Figure 112021076772523-pat00447
) to generate a signing key (
Figure 112021076772523-pat00448
) is the system parameter (
Figure 112021076772523-pat00449
), the helper data (
Figure 112021076772523-pat00450
), and the second user data (
Figure 112021076772523-pat00451
) is created using
the signing key (
Figure 112021076772523-pat00452
)Is,
every
Figure 112021076772523-pat00453
(
Figure 112021076772523-pat00454
) for the first calculated value (
Figure 112021076772523-pat00455
) to calculate;
every
Figure 112021076772523-pat00456
(
Figure 112021076772523-pat00457
) for the second calculated value (
Figure 112021076772523-pat00458
) to calculate;
the third calculated value (
Figure 112021076772523-pat00459
) to calculate; and
system parameters (
Figure 112021076772523-pat00460
) in the cryptographic hash function (
Figure 112021076772523-pat00461
) to the second key (
Figure 112021076772523-pat00463
) is created by performing the steps of generating
the signing key (
Figure 112021076772523-pat00464
) is the second key (
Figure 112021076772523-pat00465
)ego,
The system parameters (
Figure 112021076772523-pat00466
) included in the above
Figure 112021076772523-pat00467
Is
Figure 112021076772523-pat00468
is a pseudo-random function with a key,
remind
Figure 112021076772523-pat00469
means a rounding operation,
How to authenticate users.
제8항에 있어서,
상기 서버는 상기 검증키(
Figure 112019075539957-pat00470
)를 이용하여 상기 서명(
Figure 112019075539957-pat00471
)을 검증하는,
사용자를 인증하는 방법.
9. The method of claim 8,
The server is the verification key (
Figure 112019075539957-pat00470
) to the signature (
Figure 112019075539957-pat00471
) to verify,
How to authenticate users.
KR1020190088870A 2019-05-13 2019-07-23 Method for extracting a same key from fuzzy data and method for authenticating user using the same KR102322435B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190055428 2019-05-13
KR20190055428 2019-05-13

Publications (2)

Publication Number Publication Date
KR20200131716A KR20200131716A (en) 2020-11-24
KR102322435B1 true KR102322435B1 (en) 2021-11-10

Family

ID=73679420

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190088870A KR102322435B1 (en) 2019-05-13 2019-07-23 Method for extracting a same key from fuzzy data and method for authenticating user using the same

Country Status (1)

Country Link
KR (1) KR102322435B1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100878906B1 (en) * 2007-06-22 2009-01-15 성균관대학교산학협력단 Method and system for filtering of message in sensor network
CN110166246B (en) 2016-03-30 2022-07-08 创新先进技术有限公司 Identity registration and authentication method and device based on biological characteristics
KR101853610B1 (en) 2017-11-07 2018-05-02 주식회사 시큐브 Digital signature authentication system based on biometric information and digital signature authentication method thereof
KR102181340B1 (en) * 2018-05-11 2020-11-20 인하대학교 산학협력단 Method and system for generating cryptographic key using biometrics and fuzzy vault

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Minhye Seo 외 5명, Construction of a New Biometric-Based Key Derivation Function and Its Application, Hindawi Security and Communication Networks, Volume 2018 (2018.)*
Nan Li 외 4명, Fuzzy Extractors for Biometric Identification, University of Wollongong Research Online (2017.)*

Also Published As

Publication number Publication date
KR20200131716A (en) 2020-11-24

Similar Documents

Publication Publication Date Title
JP6882254B2 (en) Safety verification methods based on biological characteristics, client terminals, and servers
US9871783B2 (en) Universal enrollment using biometric PKI
Das et al. A secure and efficient uniqueness-and-anonymity-preserving remote user authentication scheme for connected health care
Gunasinghe et al. PrivBioMTAuth: Privacy preserving biometrics-based and user centric protocol for user authentication from mobile phones
JP5710075B2 (en) Certificate validation
KR101755995B1 (en) Method and system for feature vector based remote biometric verification using homomorphic encryption
Kim et al. Cryptanalysis and improvement of a biometrics-based multi-server authentication with key agreement scheme
EP3121991B1 (en) System and method of user authentication using digital signatures
US11227037B2 (en) Computer system, verification method of confidential information, and computer
EP2991263B1 (en) Offline pin authentication method and system for ic card
Ali et al. Three-factor-based confidentiality-preserving remote user authentication scheme in multi-server environment
US11546164B2 (en) Verification of biometric templates for privacy preserving authentication
US20150244695A1 (en) Network authentication method for secure user identity verification
KR102274132B1 (en) User authentication server that performs verification of electronic signature data generated based on biometric authentication in association with a plurality of verification servers and operating method thereof
KR101739203B1 (en) Password-based user authentication method using one-time private key-based digital signature and homomorphic encryption
CN101964789A (en) Method and system for safely accessing protected resources
Giri et al. A novel and efficient session spanning biometric and password based three-factor authentication protocol for consumer USB mass storage devices
Agrawal et al. Game-set-MATCH: Using mobile devices for seamless external-facing biometric matching
KR101579923B1 (en) Method for generating one-time password and apparatus for performing the same
Verma et al. A novel model to enhance the data security in cloud environment
CN114581091A (en) Identity authentication method and device, computer equipment and storage medium
KR102322435B1 (en) Method for extracting a same key from fuzzy data and method for authenticating user using the same
CN106533685B (en) Identity authentication method, device and system
KR101659226B1 (en) Method and system for remote biometric verification using fully homomorphic encryption
KR20210072711A (en) Method and apparatus for mutual authentication between internet of things device and trusted server

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant