DOI QR코드

DOI QR Code

효율적인 LWE 기반 재사용 가능한 퍼지 추출기

An Efficient LWE-Based Reusable Fuzzy Extractor

  • 투고 : 2022.08.03
  • 심사 : 2022.09.16
  • 발행 : 2022.10.31

초록

퍼지 추출기는 노이즈가 섞여 입력값이 항상 같지 않은 생체 데이터로 키를 생성하여 생체 정보 노출 없이 안전하게 인증을 수행하는 바이오-암호화 기술이다. 그러나 한 사용자가 생체 데이터를 여러 서버에 등록할 경우 퍼지 추출기의 인증 과정에서 키를 올바르게 추출하기 위해 공개되는 정보인 보조 데이터에 대한 다양한 공격으로 키가 노출될 수 있다. 따라서 여러 서버에 같은 사람의 생체 데이터를 등록해도 안전한 재사용 가능한 퍼지 추출기에 관한 연구가 많이 이루어지고 있으나, 현재까지 제시된 연구들은 키 길이가 늘어남에 따라 키를 복구하는 과정의 횟수가 점진적으로 증가하여 효율적이지 않고 보안성 높은 시스템에 적용하기 힘들다. 이에 본 논문에서는 키 길이가 늘어나도 인증 과정의 수행 횟수가 같거나 비슷한 LWE 기반의 효율적이고 재사용 가능한 퍼지 추출기를 설계하였고, 제안 기법이 Apon et al.[5]이 정의한 재사용의 안전성을 만족함을 보였다.

Fuzzy extractor is a biometric encryption that generates keys from biometric data where input values are not always the same due to the noisy data, and performs authentication securely without exposing biometric information. However, if a user registers biometric data on multiple servers, various attacks on helper data which is a public information used to extract keys during the authentication process of the fuzzy extractor can expose the keys. Therefore many studies have been conducted on reusable fuzzy extractors that are secure to register biometric data of the same person on multiple servers. But as the key length increases, the studies presented so far have gradually increased the number of key recovery processes, making it inefficient and difficult to utilize in security systems. In this paper, we design an efficient and reusable fuzzy extractor based on LWE with the same or similar number of times of the authentication process even if the key length is increased, and show that the proposed algorithm is reusably-secure defined by Apon et al.[5].

키워드

I. 서론

생체 데이터는 한 번 노출되면 값을 변경하기 어렵고, 생체 정보 특성상 노이즈가 존재하므로 생체 데이터 노출 없이 적절한 오차 범위 내에서 인증이 수행되어야 한다. 퍼지 추출기(Fuzzy extractor)는 생체 인식 시스템에서 생체 정보로부터 키를 생성 하여 안전하게 인증하는 바이오-암호화 기술로, 등록 과정과 인증 과정으로 구성되어 있다[1]. 등록 과정 에서 생체 정보를 입력하여 암호화 키를 만들고 보조 데이터를 생성해 서버에 저장하면, 인증 과정에서 입력된 노이즈가 섞인 생체 정보와 저장된 보조 데이터를 이용해 키를 재생성하여 등록 과정에서 만든 키와 비교함으로써 사용자를 검증한다. 이때 보조 데이터는 키와 독립적인 공개된 값으로 생체 데이터나 키에 대한 어떠한 정보도 노출해서는 안 된다[2].

그러나 한 사용자가 생체 데이터를 여러 서버에 등록하면, 상관관계가 있는 입력값들에 대해 출력되는 보조 데이터로 인증에 필요한 키에 대한 정보가 노출될 수 있다[3]. 따라서 사용자가 동일한 생체정보를 여러 곳에 등록해도 키가 노출될 수 있는 공격들로부터 안전한 퍼지 추출기가 필요하다. Boyen[3]은 상관관계가 있는 비밀 값, 즉 같은 사람의 생체 데이터를 여러 번 반복해서 등록해도 안전한 재사용 가능한 퍼지 추출기에 대해 처음으로 정의를 내렸으며, 최근 이에 관한 연구가 활발히 이루어지고 있다[4-7].

Canetti et al.은 노이즈가 있는 생체 데이터들의 상관관계에 대한 가정 없이 생체 데이터 분포의 엔트로피가 낮을 때도 안전하고 재사용 가능한 퍼지 추출기를 설계하였다[4]. 그러나 Canetti et al.이 제안한 기법은 랜덤 오라클 모델에 의존하며 노이즈로 인해 발생하는 오차의 하위 선형 부분만을 허용하는 단점이 있다. Wen et al.이 제안한 DDH 가정 기반 재사용 가능한 퍼지 추출기는 오차의 선형 부분을 모두 허용하나, 입력하는 생체 데이터 분포에 제한이 있다[6]. Apon et al.은 랜덤 오라클 모델에 의존하지 않고 생체 데이터의 조건과 상관없이 재사용 가능한 LWE 기반의 퍼지 추출기를 설계하였다 [5]. 그러나 Apon et al.이 제안한 기법은 키가 {0,1}m으로 키 길이(m)가 늘어남에 따라 인증 과정의 수행 횟수가 점진적으로 증가하는 한계가 있다.

따라서 본 논문에서는 랜덤 오라클 모델에 의존하지 않고, 입력하는 생체 데이터 분포에 제한이 없으며, 키를 {0,1}m에서 Zq 로 확장하여 키 길이가 늘어나도 인증 과정에서 키를 복구하기 위해 수행되는 알고리즘의 횟수가 같거나 비슷한 LWE 기반의 효율적이고 재사용 가능한 퍼지 추출 기법을 제시한다. Apon et al. 기법은 키의 길이가 m일 때 인증 과정을 ⌈log2m⌉번 수행해야 하지만, 제안 기법은 ⌈logqm⌉번 수행하여 키를 복구할 수 있다. 설계한 기법은 LWE 기반 키 교환 시 한 비트 오류 여부를 알 수 있도록 하는 Peikert의 조정 (reconciliation) 메커니즘을 활용하여 키를 복구하며, Apon et al.이 정의한 재사용의 안전성(reusably-secure)을 만족한다.

본 논문의 구성은 다음과 같다. 2장에서는 배경지식을 서술하고, 3장에서는 퍼지 추출기를 소개한다. 4장에서는 제안하는 효율적인 LWE 기반 재사용 가능한 퍼지 추출기를 제시하고, 5장에서는 제안한 모델의 안전성을 분석한다. 마지막으로 6장에서는 결론을 맺는다.

II. 배경지식

2.1 Peikert의 조정 메커니즘

Peikert[11]는 조정 메커니즘(Rec)을 이용해 두 사용자가 키를 올바르게 합의하는 래티스 기반 키 교환 프로토콜을 설계하였다. Rec은 노이즈로 인해 한 비트 에러가 생길 수 있는 LWE 기반 키를 정확하게 복구하기 위해 모듈러 라운딩(modular rounding) 함수 ⌊ ∙ ⌉2 : Zq → Z2와 크로스 라운딩(cross rounding) 함수 < ∙ >2 : Zq → Z2를 사용한다.

모듈러 라운딩 함수는 키 스트림을 생성하는 함수로, Zq 상에 있는 계수를 각각 그림 1의 (a)와 같이 0과 \(\begin{aligned}\frac{q}{2}\end{aligned}\) 중 더 가까운 지점의 범위 값(0 또는 1)으로 바꾸어 키를 만든다. 크로스 라운딩 함수는 노이즈로 인해 키에 에러가 생겼는지에 대한 정보를 주기위해 추가적인 힌트를 만드는 함수로, Zq 상에 있는 계수를 각각 그림 1의 (b)와 같이 0, \(\begin{aligned}\frac{q}{4}\end{aligned}\), \(\begin{aligned}\frac{q}{4}\end{aligned}\), \(\begin{aligned}\frac{3q}{4}\end{aligned}\) 중 더 가까운 지점의 범위 값(0 또는 1)으로 바꾸어 공개한다.

JBBHCB_2022_v32n5_779_f0001.png 이미지

Fig. 1. (a) Modular rounding function (b) Cross rounding function

예를 들어, 두 사용자 A와 B가 키를 합의하고자 하는데 노이즈로 인해 A,B가 공유하는 값을 각 각 \(\begin{aligned}\frac{q}{4}\end{aligned}\)\(\begin{aligned}\frac{q}{4}+1\end{aligned}\) 로 도출했다고 하자. 모듈러 라운딩 함수의 결과 키로 A는 0을, B는 1을 갖게 되므로 둘은 올바르게 키를 합의하지 못한다. 이때, 크로스 라운딩 함수로 출력된 공개 값이 각각 0, 1로 다르므로 A,B는 이를 통해 키에 한 비트 에러가 발생한 사실을 알 수 있으며 결과적으로 같은 키를 합의할 수 있다.

2.2 Learning With Errors

Regev[12]가 제안한 LWE(Learning With Errors)는 양자 컴퓨터로도 풀기 어려운 격자 기반 문제다. LWE 문제는 단순하고 유연하며 현재까지 이를 푸는 양자 알고리즘이 없어 다양한 공개키 암호시스템에 응용된다[13-16]. LWE 분포에서 표본추출된 결과가 출력될 때 LWE 문제는 Search LWE 문제와 Decision LWE 문제로 나뉘며 LWE 가정은 두 LWE 문제를 다항 시간 안에 풀 확률이 무시할 수 있을 만큼 매우 낮다(negligble) 는 것을 의미한다. Goldwasser et al.[18]은 에러분포의 엔트로피를 바탕으로 다항 시간 안에 LWE 가정이 성립하는 Decision LWE 문제의 안전성 파라미터를 정리 1과 같이 설정하였다.

정의 1. [LWE 표본] 임의의 A ←Zqm×n, 비밀 벡터 s ←Zqn, 그리고 에러 분포 χ(이산 가우시안 분포 DZ,α)에서 추출한 오류 e ←Xm를 이용해 출력한 (A,b = < A,s > + e(modq))를 LWEn,m,q,x 표본이라고 한다.

정의 2. [Search LWE] m개의 LWE 표본 (A, < A, s >+e (modq))이 주어졌을 때, s←Zqn를 찾는 문제를 Search LWE 문제라고 한다.

정의 3. [Decision LWE] m개의 표본이 주어졌을 때, 이것이 LWE 표본 (a, < a,s > +e (modq))인지 임의의 값 (a,b)인지 구분하는 문제를 Decision LWE 문제라고 한다.

정리 1. k ≥ logq 이고 함수 h : {0, 1}n → {0, 1}*를 역변환하는 것이 2-k만큼 어려울 때, 즉 주어진 h(s)에서 s를 다항 시간 안에 찾을 확률이 2-k보다 작을때 다음과 같다. \(\begin{aligned}l=\frac{k-w(\log n)}{\log q}\\\end{aligned}\)인 LWEl, m , q, DZ, β가정에서 m = poly(n), α,β∈(0,q)여서 β/α negl(n)이면 {A, b = as + e, h(s)}와 임의의 u ←Zqm으로 구성된 {A, u, h(s)}를 구분하기 어렵다[18].

III. 퍼지 추출기

3.1 퍼지 추출기 개요

Dodis et al.[8]이 정의한 퍼지 추출기는 생체 정보로 키를 생성하여 사용자를 인증하는 생체 인증 프리미티브로, (Gen, Rep) 알고리즘 쌍으로 구성된다. Gen(Generation) 알고리즘은 퍼지 추출기의 등록 과정으로 생체 정보(w)를 입력하여 키(r)와 보조 데이터(p)를 출력하고 출력된 보조 데이터는 서버에 저장한다. Rep(Reproduction) 알고리즘은 퍼지 추출기의 인증 과정으로 입력된 생체 정보 (w′)와 서버에 저장된 보조 데이터(p)를 이용하여 (r′)를 출력한다.

등록 과정에서 입력된 생체 정보 w와 인증 과정에서 입력된 생체 정보 w′의 차이가 임계치를 넘지 않고 충분히 비슷하면, Rep 알고리즘에서 키를 재생성하였을 때 Gen 알고리즘에서 생성한 키 r이 올바르게 복원되어 사용자는 인증을 통과한다. 그림 2는 등록, 인증 과정으로 구성된 퍼지 추출기로, (Gen, Rep) 알고리즘 쌍을 각각 수식으로 나타내면 (p,r) ← Gen(w), r′←Rep(p,w′)이다.

JBBHCB_2022_v32n5_779_f0002.png 이미지

Fig. 2. Fuzzy extractor scheme

정확성(Correctness). w와 w′을 벡터로 나타냈을 때 해밍 거리 dist가 임계치 δ 이하라면, 즉 dist(w,w′) ≤ δ이면 r′은 r과 같다.

퍼지 추출기의 안전성은 Gen 알고리즘에서 출력되는 키 r을 임의의 값과 구분할 수 없는 것을 기반으로 한다[9]. 하나의 생체 데이터 w1에서 추출한 키 r1이 임의의 값과 구분 불가능하며 보조 데이터 p1을 가지고 어떠한 정보도 얻을 수 없으면 안전하다. 그러나 노이즈가 섞인 상관관계가 있는 여러 개의 생체 데이터들 w1, w2, ..., wn 에서 추출한 키들 r1, r2, ..., rn은 서로 상관관계가 있는 완전한 임의의 값이 아니며, 보조 데이터 p1, p2, ..., pn를 이용해 키와 관련된 정보를 도출할 수 있는 공격이 가능하므로 동일한 생체 정보를 재사용하는 것은 안전하지 않다.

3.2 재사용 가능한 퍼지 추출기

재사용 가능한 퍼지 추출기는 사용자가 같은 생체 정보를 여러 번 등록했을 때 상관관계가 있는 생체 데이터들 w1, w2, ..., wn에서 추출한 키들 r1, r2, ..., rn이 완전한 임의의 값을 가지며 보조 데이터 p1, p2, ..., pn가 모두 공개되어도 키에 관한 어떠한 정보도 얻을 수 없는 것이다. Apon et al.[5]은 Fuller et al.[10]이 제안한 재사용 불가능한 LWE 기반의 퍼지 추출기를 재사용이 가능하도록 새롭게 설계하였다. 행렬 A를 Zqm×n에서 균일하고 랜덤하게 뽑았을 때, Apon et al.이 설계한 LWE 기반 재사용 가능한 퍼지 추출기(RFE)는 다음과 같이 3개의 알고리즘(그림 3~5)으로 이루어져 있다.

JBBHCB_2022_v32n5_779_f0003.png 이미지

Fig. 3. RFE Gen algorithm

JBBHCB_2022_v32n5_779_f0004.png 이미지

Fig. 4. RFE Rep algorithm

JBBHCB_2022_v32n5_779_f0005.png 이미지

Fig. 5. RFE Decode algorithm

Gen(Generation) 알고리즘(그림 3)은 생체 정보로부터 키를 생성하여 사용자를 등록하는 과정으로, 랜덤으로 뽑은 비밀 값 s를 통해 c에서 생체 정보 w를 숨기고 h에서 LWE 문제에 기반하여 키 r을 숨긴다. Rep(Reproduction) 알고리즘(그림 4)은 키를 재생성하여 사용자를 인증하는 과정으로, 생체 정보 w′을 입력하여 Decode 알고리즘(그림 5)으로 s′을 계산한다. 이때, w′과 w의 해밍 거리가 임계치보다 작아 충분히 비슷하면 s′을 이용해 키를 올바르게 복구할 수 있다. Decode(Decoding) 알고리즘은 w와 w′간에 노이즈로 인해 오차가 존재하는 벡터의 개수, 즉 해밍 거리가 O(log(n)) 이하일 때 비밀 값 s′을 계산하는 과정이다.

IV. 제안하는 효율적인 LWE 기반 재사용 가능한 퍼지 추출기

4.1 등록 과정

그림 6은 제안 모델의 Gen 알고리즘으로 Zqm×n에서 균일하고 랜덤하게 뽑은 행렬 A와 생체 정보 w를 입력하였을 때, w에 대응되는 보조 데이터 p와 키 r을 생성함으로써 사용자를 등록한다. c는 Zqn에서 비밀 값 s를 뽑아 A와 곱한 후 생체 정보 w를 더한 것으로, w와 유사한 생체 데이터를 갖고 있지 않으면 c가 공개되어도 s를 올바르게 계산할 수 없다. h는 ZQm×n에서 균일하고 랜덤하게 뽑은 행렬 B와 비밀 값 s를 곱한 후 2r, r × ⌊r⌉2, 그리고 랜덤하게 뽑은 매우 작은 e를 더한 값으로 LWE 기반 형태이다.

JBBHCB_2022_v32n5_779_f0006.png 이미지

Fig. 6. Proposed Gen algorithm

제안하는 모델은 인증 시 보조 데이터 h에서 Bs를 뺀 후 작은 값 e의 범위를 고려하여 키 r을 재생성한다. 따라서 s를 올바르게 계산한 정당한 사용자만 Peikert의 조정 메커니즘에 기반하여 r을 복구 할 수 있다. h - Bs에서 r을 올바르게 복구하기 위해 제안 기법의 Gen 알고리즘에서는 h를 다음과 같은 세 조건을 만족하도록 설계하였다.

① 키를 모듈러 라운딩 함수에 입력한 결과인 ⌊r⌉2 을 포함한다.

② 키를 크로스 라운딩 함수에 입력하였을 때 출력되는 힌트 값인 h′ =< r >2을 이용해 ⌊r⌉2가 0일 때와 1일 때를 구분할 수 있다.

③⌊r⌉2가 0일 때와 1일 때의 h - Bs의 범위가 겹치는 부분에서는 h′ 값이 각각 다르다.

4.2 인증 과정

그림 7은 제안 모델의 Rep 알고리즘으로 주어진 행렬 A와 보조 데이터 c, B, h, h′, 그리고 인증 과정에서 입력된 생체 데이터 w′로 키 r′을 재생성함으로써 사용자를 인증한다. h에서 키를 복구하기 위해서는 먼저 s를 계산해야 하므로 그림 5의 Decode 알고리즘을 이용한다. c에서 w′을 뺀 값 b(=As′)와 행렬 A를 Decode 알고리즘에 입력하면 s′이 출력되는데, 이때 w′이 w와 충분히 비슷하면 s′이 s와 거의 유사하여 h - Bs′을 계산하여 키를 올바르게 재생성할 수 있다.

JBBHCB_2022_v32n5_779_f0007.png 이미지

Fig. 7. Proposed Rep algorithm

h - Bs′은 e + 2r + r × ⌊r⌉2로 r의 범위에 따라 표 1과 같이 두 경우(Case 1, Case 2)로 나뉜다. r이 \(\begin{aligned}\left[0, \frac{q}{4}\right]\end{aligned}\)또는 \(\begin{aligned}\left[\frac{3 q}{4}, q\right]\\\end{aligned}\)에 속할 때, ⌊r⌉2 은 0이므로 h - Bs′은 2r + e이며 해당 범위는 \(\begin{aligned}\left[0+e, \frac{q}{2}+e\right]\\\end{aligned}\)  또는 \(\begin{aligned}\left[\frac{3 q}{2}+e, 2 q+e\right]\\\end{aligned}\)이다. r이 \(\begin{aligned}\left[\frac{q}{4}, \frac{3 q}{4}\right]\\\end{aligned}\)에 속할 때, ⌊r⌉2 은 1이므로 h - Bs'은 3r + e이며 해당 범위는 \(\begin{aligned}\left[\frac{3 q}{4}+e, \frac{9 q}{4}+e\right]\\\end{aligned}\)이다. e는 매우 작은 수이므로 키를 복구할 때 \(\begin{aligned}\frac{q}{2}\end{aligned}\), \(\begin{aligned}\frac{3q}{4}\end{aligned}\), \(\begin{aligned}\frac{3q}{2}\end{aligned}\), 2q, \(\begin{aligned}\frac{9q}{4}\end{aligned}\)를 기준으로 한 비트 오류가 생길 수 있다. 또한, h - Bs'가 \(\begin{aligned}\left[\frac{3 q}{2}+e, 2 q+e\right]\\\end{aligned}\) 범위에 있을 때는 두 경우가 겹치므로 이를 구분하기 위해 추가적인 정보가 필요하다. 따라서 키를 오류없이 올바르게 복구하기 위해 \(\begin{aligned}\frac{q}{2}\end{aligned}\), \(\begin{aligned}\frac{3q}{4}\end{aligned}\), \(\begin{aligned}\frac{3q}{2}\end{aligned}\), 2q, \(\begin{aligned}\frac{9q}{4}\end{aligned}\) 지점에서 공개된 힌트(h′)를 활용한다.

Table 1. 2 cases of h - Bs'

JBBHCB_2022_v32n5_779_t0001.png 이미지

표 2는 h - Bs′에서 ⌊r⌉2이 달라지는 구간인 \(\begin{aligned}\frac{q}{2}\end{aligned}\), \(\begin{aligned}\frac{3q}{4}\end{aligned}\), \(\begin{aligned}\frac{3q}{2}\end{aligned}\), 2q, \(\begin{aligned}\frac{9q}{4}\end{aligned}\) 을 기준점으로 보조 데이터 h′을 이용하여 키 r′을 재생성하는 방법으로, h - Bs′ 범위 \(\begin{aligned}\left[0, \frac{9 q}{4}\right]\end{aligned}\)의 각 기준점에서 ⌊r⌉2이 0일 때와 1일 때 두 가지 경우의 수로 나누어 키를 복구한다. ⌊r⌉2이 0인 경우 h - Bs′는 2r + e이고 ⌊r⌉2이 1인 경우 h - Bs′는 3r + e이다. 이때 e는 매우 작은 값이며 양수인지 음수인지 알 수 없으므로, 키 r을 복구하기 위해 ⌊r⌉2이 0인 경우 h - Bs′를 2로 나눈 후 반올림하고, ⌊r⌉2이 1인 경우 h - Bs′를 3으로 나눈 후 반올림한다. 이를 수식으로 나타내면,⌊r⌉2이 0일 때 키는 \(\begin{aligned}\left\lfloor\frac{h-B s^{\prime}}{2}+\frac{1}{2}\right\rfloor\\\end{aligned}\) 이고 ⌊r⌉2이 1일 때 키는 \(\begin{aligned}\left\lfloor\frac{h-B s^{\prime}}{3}+\frac{1}{2}\right\rfloor\\\end{aligned}\) 이다.

Table 2. Key reproduction method using reconciliation mechanism

JBBHCB_2022_v32n5_779_t0002.png 이미지

표 2의 각 행에 대한 설명은 다음과 같다. 첫 번째 행은 h - Bs′이 \(\begin{aligned}\left[0, \frac{q}{2}\right]\end{aligned}\) 범위에 있을 때로 Case 1의 ⌊r⌉2이 0인 경우이다. 이때 r의 범위는 h - Bs′의 범위를 2로 나눈 \(\begin{aligned}\left[0, \frac{q}{4}\right]\end{aligned}\)이므로 h′은 0이다.

두 번째 행은 h - Bs′이 \(\begin{aligned}\left[\frac{q}{2}, \frac{3 q}{4}\right]\\\end{aligned}\) 범위에 있을 때로, r이 \(\begin{aligned}\frac{q}{2}\end{aligned}\) 이면서 e가 양수인 ⌊r⌉2이 0인 경우와 r이 \(\begin{aligned}\frac{3q}{4}\end{aligned}\) 이면서 e가 음수인 ⌊r⌉2이 1인 경우로 나뉜다. ⌊r⌉2이 0인 경우 r의 범위는 h - Bs′의 범위를 2로 나눈 \(\begin{aligned}\left[\frac{q}{4}, \frac{3 q}{8}\right]\\\end{aligned}\)이므로 h′은 1이고, ⌊r⌉2이 1인 경우 r의 범위는 h - Bs′의 범위를 3으로 나눈 \(\begin{aligned}\left[\frac{q}{6}, \frac{q}{4}\right]\end{aligned}\)이므로 h′은 0이다. 따라서 h′ 정보를 이용해 h - Bs′이 겹치는 \(\begin{aligned}\left[\frac{q}{2}, \frac{3 q}{4}\right]\end{aligned}\) 범위에서 키를 올바르게 복구할 수 있다.

세 번째 행은 h - Bs′이 \(\begin{aligned}\left[\frac{3q}{4}, \frac{3 q}{2}\right]\end{aligned}\) 범위에 있을 때로, r이 \(\begin{aligned}\frac{3q}{2}\end{aligned}\)이면서 e가 음수인 ⌊r⌉2이 0인 경우와 Case 2의 ⌊r⌉2이 1인 경우로 나뉜다. ⌊r⌉2이 0인 경우 r의 범위는 h - Bs′의 범위를 2로 나눈 \(\begin{aligned}\left[\frac{3q}{8}, \frac{3 q}{4}\right]\end{aligned}\)이므로 h′은 0이고, ⌊r⌉2이 1인 경우 r의 범위는 h - Bs′의 범위를 3으로 나눈 \(\begin{aligned}\left[\frac{q}{4}, \frac{q}{2}\right]\end{aligned}\)이므로 h′은 1이다. 따라서 h′ 정보를 이용해 h - Bs′이 \(\begin{aligned}\left[\frac{3q}{4}, \frac{3 q}{2}\right]\end{aligned}\)인 범위에서 키를 올바르게 복구할 수 있다.

네 번째 행은 h - Bs′이 \(\begin{aligned}\left[\frac{3q}{2}, {2q}\right]\end{aligned}\) 범위에 있을 때로, Case 1의 ⌊r⌉2이 0인 경우와 Case 2의 ⌊r⌉2이 1인 경우로 나뉜다. ⌊r⌉2이 0인 경우 r의 범위는 h - Bs′의 범위를 2로 나눈 \(\begin{aligned}\left[\frac{3q}{4}, {q}\right]\end{aligned}\)이므로 h′ 은 1이고, ⌊r⌉2이 1인 경우 r의 범위는 h - Bs′의 범위를 3으로 나눈 \(\begin{aligned}\left[\frac{q}{2}, \frac{2 q}{3}\right]\end{aligned}\)이므로 h′은 0이다. 따라서 h′ 정보를 이용해 h - Bs′이 \(\begin{aligned}\left[\frac{3q}{2}, {2q}\right]\end{aligned}\)인 범위에서 키를 올바르게 복구할 수 있다.

다섯 번째 행은 h - Bs′이 \(\begin{aligned}\left[{2q}, \frac{9 q}{4}\right]\end{aligned}\) 범위에 있을 때로 Case 2의 ⌊r⌉2이 1인 경우이다. 이때 r의 범위는 h - Bs′의 범위를 3으로 나눈 \(\begin{aligned}\left[\frac{2q}{3}, \frac{3 q}{4}\right]\end{aligned}\)이므로 h′은 0이다. 위의 8가지 경우를 바탕으로 제안 모델은 인증 시 h - Bs′의 범위와 h′을 이용해 ⌊r⌉2이 0인지 1인지 판단한 후 r′을 생성한다.

4.3 효율성

제안하는 모델은 퍼지 추출기의 등록 과정에서 키 길이가 늘어나도 인증 시 키를 복구하기 위해 수행하는 과정의 횟수가 같거나 비슷한 효율적이고 재사용 가능한 퍼지 추출기이다. 설계한 기법은 Apon et al.[5]이 설계한 LWE 기반 재사용 가능한 퍼지 추출기를 개선하여 랜덤 오라클에 의존하지 않고 입력하는 생체 정보에 제한이 없으며 효율적이다. Apon et al. 기법의 키는 길이가 m일 때 {0,1}m로 인증과정을 ⌈log2m⌉번 반복해야 하지만, 제안 모델의 키는 Zq로 인증 과정을 ⌈logqm⌉번 수행해 키를 재생성할 수 있다. 또한, Apon et al. 기법은 키 길이가 m일 때 공격자가 전사적 공격으로 키를 계산하는 복잡도가 2m이지만, 제안 모델은 qm으로 보안성이 더 높다.

제안 모델의 효율성을 분석하기 위해 Intel Core i5-7500 CPU(RAM 16GB) 환경에서 기존 기법 (Apon et al.[5])과 제안 기법을 C언어로 각각 구현하여 표 3과 같이 키의 길이에 따라 인증 과정을 한 번 수행하는데 걸리는 시간을 측정하였다. 기존기법과 제안 기법의 올바른 비교를 위해 구현 시 두기법의 조건은 동일하게 설정하였다. 행렬 A와 B는 행과 열의 수가 키의 길이로 같은 정방행렬로 하였으며 키와 행렬값의 범위인 q와 Q는 모듈러 라운딩 함수와 크로스 라운딩 함수의 분포를 균일하게 하는 4의 배수인 8로 설정하였다. 또한, 인증 과정에서의 생체 정보가 등록 과정에서의 생체 정보와 충분히 비슷하여 키를 올바르게 재생성하고 인증을 통과한다는 가정하에 실험을 진행하였다.

Table 3. Comparison of original scheme and proposed scheme for the time required to perform the authentication process once according to the key length

JBBHCB_2022_v32n5_779_t0003.png 이미지

표 3과 4는 각각 퍼지 추출기에서 인증 과정의 알고리즘을 한 번 수행하기 위한 시간과 인증 과정의 알고리즘 총 수행 횟수를 키의 길이에 따라 기존 기법과 제안 기법으로 나누어 비교한 표다. 표 5는 표 3과 4의 값을 곱하여 인증을 수행하는데 걸리는 총 시간을 나타낸 표로 인증 과정을 한 번 수행하는데 걸리는 시간은 두 기법이 비슷하지만, 제안 기법은 키를 복구하기 위한 과정의 횟수가 적어 최종적으로 인증을 위해 걸리는 시간이 기존 기법보다 덜 소요된다.

Table 4. Comparison of original scheme and proposed scheme for the number of algorithms required to perform authentication according to the key length

JBBHCB_2022_v32n5_779_t0004.png 이미지

Table 5. Comparison of original scheme and proposed scheme for the total time required to perform the authentication process according to the key length

JBBHCB_2022_v32n5_779_t0005.png 이미지

V. 안전성 분석

본 장에서는 제안 모델이 LWE 문제의 어려움에 기반하여 Apon et al.[5]이 정의한 재사용의 안전성을 만족함을 보인다. Apon et al.[5]은 안전성 모델에서 공격자에게 보조 데이터 p만 주어졌을 때의 약한 재사용 가능한 안전성과 공격자에게 보조 데이터 p와 추출한 키 r이 주어졌을 때의 강한 재사용 가능한 안전성을 각각 정의하였다. 정의 4는 [5]에서 정의한 강한 재사용 가능한 퍼지 추출기이며 그림 8은 정의 4의 안전성 모델이다.

JBBHCB_2022_v32n5_779_f0008.png 이미지

Fig. 8. Reusable fuzzy extractor security model

정의 4. [재사용 가능한 퍼지 추출기] 공격자 Adv와 챌린저 C로 이루어진 안전성 모델에서 Adv가 공격에 성공할 확률이 1/2+𝜖보다 작으면 분포 Ⱳ에서의 (l,t,𝜖)-퍼지 추출 ∏ = (Gen, Rep) 은 𝜖-재사용 가능하다.

1) C가 행렬 A∈Zqm×n와 분포 W∈Ⱳ를 지정한다.

2) C가 W에서 표본 추출한 값 w*와 행렬 A를 Gen 알고리즘에 입력해 p*과 r*을 출력한 후 Adv에게 p*을 준다.

3) C가 b←{0,1}를 선택하여 만약 b가 0이면 C가 Adv에게 r*을 주고, b가 1이면 C가 Adv에게 u←{0,1}l을 준다.

4) Adv는 해밍 가중치가 t 이하인 δi∈ {0,1}m으로 생성한 w +δi을 Gen 알고리즘에 질의하여 Gen(w +δi)의 출력값인 pi와 ri를 얻는다.

5) Adv는 b′을 출력한다. 만약 b = b′이면 Adv는 공격에 성공한다.

정리 2. 적절한 파라미터 Q, α∈superpoly(n),q, β∈poly(n)에 대해 n ≥ 3m, \(\begin{aligned}l=\frac{k-w(\log n)}{\log q}\end{aligned}\)인LWEn,m,q,u (-β,β)와 LWEl,m,q, DZ,α가 어려우면, ∏ = (Gen, Rep)는 재사용의 안전성을 만족한다[5].

제안 모델은 정의 4의 강한 재사용 가능한 안전성 모델에서 Apon et al.이 정리한 재사용 안전함을 보인다. 재사용 가능한 퍼지 추출기는 키와 보조 데이터가 독립적이며 키를 임의의 값과 구분할 수 없으므로 공격자가 한 서버에 등록한 생체 정보 wi로 추출된 키 ri를 알아내도 다른 서버에 등록한 wi (i≠j)로 추출한 키 rj는 안전하다. 표 6은 제안하는 기법의 안전성 분석을 위해 구성한 6개의 시나리오다. 시나리오 i(i = 1,2,...,5)와 i+1이 모두 구분 불가능하면, 즉 키 r*과 임의의 값 0을 구분할 수 없으면 hi가 ri에 의존하지 않고 독립적이기 때문에 재사용해도 안전하다.

Table 6. 6 Scenarios for security analysis​​​​​​​

JBBHCB_2022_v32n5_779_t0006.png 이미지

정리 3. 시나리오 1과 2는 분포가 동일하여 구분 불가능하다.

증명. 시나리오 2는 시나리오 1의 si를 s에서 아주 작은 오차 ∆i만큼 더한 값으로 대체했다. ci는 래티스를 기반으로 하는 LWE 표본으로 주어진 분포 내에서 값을 조금 이동해도 준동형 사상이므로 이동하기 전과 분포가 동일하다.

정리 4. 시나리오 2와 3은 Decision LWE 문제의 어려움에 기반하여 계산적으로 구분 불가능하다.

증명. 시나리오 3은 시나리오 2의 임의의 행렬 Bi를 CiDi +Ei로 대체했다. CiDi +Ei는 공개되는 임의의 두 행렬 Ci∈Zqm×l , Di∈Zql×n와 정규 분포 (-β,β) , β∈poly(n)상의 공개되지 않는 m × n 크기의 행렬 Ei로 구성된 LWE 표본 형태이다. 이때 hi를 구성하는 ei의 크기가 매우 작다면 Bi와 CiDi +Ei를 구분하는 것은 Decision LWE 문제로 계산적으로 어렵다.

정리 5. 시나리오 3과 4는 통계적으로 구분 불가능하다.

증명. 시나리오 4는 시나리오 3의 CiDi +Ei를 CiDi로 대체했다. hi를 구성하는 정규 분포의 표본 ei가 Ei(s +∆i)보다 크기 때문에 시나리오 3의 분포와 이를 미세하게 이동시킨 시나리오 4의 분포는 통계적으로 구분 불가능하다.

정리 6. 시나리오 4와 5는 계산적으로 구분 불가능하다.

증명. 시나리오 5는 시나리오 4의 Di(s +∆i)를 ui로 대체했다. 이는 ui∈Zqn를 이용해 키 s를 재구성하는 것이 계산적으로 어려운 leftover hash lemma를 기반으로 한다[17][18]. LWE 형태의 b*= As +w 에서 fA(s)의 역변환이 어려우므로 Di(s +∆i)와 ui는 구분 불가능하다.

정리 7. 시나리오 5와 6은 Decision LWE 문제의 어려움에 기반하여 계산적으로 구분 불가능하다.

증명. 시나리오 6은 시나리오 5의 ri′를 0으로 된 문자열 000...0으로 두었다. 이에 따라 ui = u+ ∆i와 c*의 s는 독립적이기 때문에 h*와 임의의 hi를 구분하는 것은 Decision LWE 문제로 계산적으로 어렵다. 임의의 hi가 키 ri′으로 이루어진 것인지 0으로 된 문자열인지와 관계없이 h*와 구분 불가능하므로 r*과 임의의 값 0을 구분할 수 없다.

정리 3~7은 표 6의 6개의 시나리오가 각각 구분 불가능함을 나타내며 결과적으로 제안하는 퍼지 추출기의 기존 파라미터인 시나리오 1과 임의의 값인 시나리오 6이 구분 불가능함을 보인다. 따라서 제안하는 모델은 Apon et al.이 정의한 키와 임의의 값을 구분할 수 없고 키와 보조 데이터가 독립적인 재사용의 안전성을 만족한다.

VI. 결론

본 논문에서는 사용자가 여러 서버에 같은 생체 데이터를 등록해도 키나 생체 데이터의 노출로부터 안전하며, 키 길이가 증가해도 사용자를 검증하기 위한 과정의 알고리즘 수행 횟수가 같거나 비슷한 효율적이고 재사용 가능한 퍼지 추출기를 제안하였다. 제안 모델은 노이즈가 섞인 생체 데이터로 보조 데이터와 독립적인 키를 생성하며, LWE 문제를 기반으로하여 Apon et al.이 정의한 재사용의 안전성을 만족함을 보였다. 본 연구는 긴 키 길이가 필요한 보안성 높은 시스템에 적용할 수 있으므로 향후 다양한 생체 인증 프로토콜에 활용 가능할 것으로 기대된다.

참고문헌

  1. M. Zhang, B. Yang, W. Zhang, and T. Takagi, "Multibiometric Based Secure Encryption, Authentication Scheme with Fuzzy Extractor," International Journal of Network Security, vol. 12, no. 2, pp. 50-57, Mar. 2011.
  2. N. Li, F. Guo, Y. Mu, W. Susilo, and S. Nepal, "Fuzzy extractors for biometric identication," 2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS), pp. 667-677, July 2017.
  3. X. Boyen, "Reusable cryptographic fuzzy extractors," Proceedings of the 11th ACM conference on Computer and Communications Security, pp. 82-91, Oct. 2004.
  4. R. Canetti, B. Fuller, O. Paneth, L. Reyzin, and A. Smith, "Reusable fuzzy extractors for low-entropy distributions," Annual International Conference on the TheoryandApplications of CryptographicTechniques, pp. 117-146, 2016.
  5. D. Apon, C.Cho, K. Eldefrawy, andJ.Katz "Efficient, reusable fuzzyextractors from LWE," International Conference on Cyber SecurityCryptography and Machine Learning.Springer, Cham, pp. 1-18, June2017.
  6. Y. Wen, S. Liu, and S. Han,"Reusable fuzzy extractor fromthedecisional Diffie-Hellman assumption," Designs, Codes and Cryptography,vol. 86, no. 11, pp. 2495-2512, Jan.2018. https://doi.org/10.1007/s10623-018-0459-4
  7. Y. Wen and S. Liu, "Robustlyreusable fuzzy extractor from standard assumptions," International Conference on the TheoryandApplication of Cryptology and Information Security, Springer, Cham,pp.459-489, June 2018.
  8. Y. Dodis, L. Reyzin, and A. Smith,"Fuzzy extractors: Howto generatestrong keys from biometrics and othernoisy data," International conferenceon the theory and applicationsof cryptographic techniques, Springer,Berlin, Heidelberg, pp. 523-540, May2004.
  9. M. Blanton and M. Aliasgari, "Onthe(non-) reusability of fuzzy sketchesand extractors and security inthecomputational setting," Proceedings of the International ConferenceonSecurity and Cryptography, pp. 68-77,July 2011.
  10. B. Fuller, X. Meng, and L. Reyzin,"Computational fuzzy extractors," Information and computation, vol.275, 104602, Dec. 2020. https://doi.org/10.1016/j.ic.2020.104602
  11. C. Peikert, "Lattice cryptographyforthe internet," International workshop on post-quantum cryptography, Springer, vol. 8772, pp. 197-219, 2014. https://doi.org/10.1007/978-3-319-11659-4_12
  12. O. Regev, "On lattices, learning with errors, random linear codes, and cryptography," Journal of the ACM (JACM), vol. 56, no. 6, pp. 1-40, Sept. 2009. https://doi.org/10.1145/1568318.1568324
  13. Z. Brakerski and V. Vaikuntanathan, "Efficient fully homomorphic encryption from (standard) LWE," SIAM Journal on computing, vol. 43, no. 2, pp. 831-871, 2014. https://doi.org/10.1137/120868669
  14. Z. Brakerski and V. Vaikuntanathan, "Lattice-based FHE as secure as PKE," Proceedings of the 5th conference on Innovations in theoretical computer science, pp. 1-12, Jan. 2014.
  15. C. Gentry, C.Peikert, and V.Vaikuntanathan, "Trapdoors for hard lattices and new cryptographic constructions," Proceedings of the fortieth annual ACM symposium on Theory of computing, pp. 197-206, May 2008.
  16. S. Agrawal, D. Boneh, and X. Boyen,"Efficient lattice (H) IBEinthestandard model," Annual International Conference on the TheoryandApplications of CryptographicTechniques, Springer, Berlin,Heidelberg, pp. 553-572, 2010.
  17. B. Barak, Y. Dodis, H. Krawczyk, O.Pereira, K. Pietrzak, F. X. Standaert,Y. Yu, "Leftover hash lemma,revisited," Annual CryptologyConference, Springer, Berlin,Heidelberg, pp. 1-20, 2011.
  18. S. Goldwasser, YT. Kalai, C. Peikert,and V. Vaikuntanathan, "Robustnessof the learning witherrorsassumption," Proceedings of theInnovations in Computer Science, pp.230-240, 2010.