퍼지 추출기
Fuzzy extractor퍼지 추출기는 생체인식 데이터를 보안용 표준암호 기법의 입력으로 사용할 수 있도록 하는 방법이다. 이런 맥락에서 '퓨지'는 암호화에 필요한 고정값을 필요한 보안을 훼손하지 않고 원래 키와 비슷하지만 동일하지는 않은 값에서 추출한다는 사실을 말한다. 한 응용 프로그램은 사용자의 생체 인식 입력을 키로 사용하여 사용자 레코드를 암호화하고 인증하는 것이다.
퍼지 추출기는 사용자의 생체 데이터로 구성된 생체 인식 템플릿을 키로 사용하여 사용자 인증을 허용하는 생체 인식 도구다. 노이즈에 대한 허용오차가 있는 입력 에서 균일하고 문자열 R{\ R을(를) 추출한다. 입력이 으)로 변경되지만 w 에 가까우면 동일한 문자열 이(가) 다시 생성된다 를 위해 R 을(를) 초기 계산하는 동안 프로세스는 에 R{\}을(를) 복구하기 위해 저장될 도우미 P 도 출력하며, R {\ R}의 보안을하지 않고 공개될 수 있다 프로세스의 보안도 보장된다. 상대가 을(를) 수정하는 경우 고정 R{\R}을([1][2]를) 계산한 후에는 생체 인식 입력만으로 사용자와 서버 간의 키 합의에 사용할 수 있다.
역사
퍼지 추출기의 선구자 중 하나는 쥬얼스와 왓텐버그가 설계한 소위 "퍼지 커밋"이었다.[2] 여기서 암호키는 생체인식 데이터를 이용하여 불용된다.
후에, 줄스와 수단은 퍼지 금고 계획을 고안했다. 이것은 퍼지 약속 체계에 불변하는 주문이며 Reed-Solomon 코드를 사용한다. 코드어는 다항식의 계수로 삽입되며, 이 다항식은 생체 데이터의 다양한 속성과 관련하여 평가된다.
퍼지 약속과 퍼지 볼트 모두 퍼지 추출기에 대한 선행자였다.
동기
퍼지 추출기가 생체 인식 및 기타 잡음이 많은 데이터에서 강력한 키를 생성하기 위해 암호화 패러다임이 이 생체 인식 데이터에 적용된다. 이는 다음을 허용해야 함을 의미한다.
(1) 생체 인식 데이터의 내용에 대한 가정 수를 제한한다(이 데이터는 다양한 출처로부터 제공되므로, 적에 의한 착취를 피하기 위해서는 입력이 예측 불가능하다고 가정하는 것이 가장 좋다).
(2) 입력에 통상적인 암호기술을 적용한다. (Fuzzy 추출기는 생체측정 데이터를 비밀스럽고 균일하게 무작위적이며 신뢰성 있게 재현 가능한 무작위 문자열로 변환한다.
이러한 기법들은 또한 인간의 기억에서 나오는 근사 데이터, 암호로 사용되는 이미지, 양자 채널에서 나오는 키와 같은 다른 유형의 잡음 입력에 대해 더 광범위한 응용 프로그램을 가질 수 있다.[2] 신시아 드워크(ICALP 2006)의 차등 프라이버시 문서에 따르면 퍼지 추출기는 통계 데이터베이스에 대한 강력한 프라이버시 개념의 불가능성의 증명에도 응용 프로그램을 가지고 있다.
기본 정의
예측 가능성
예측가능성은 상대가 비밀키를 추측할 수 있는 확률을 나타낸다. 수학적으로 말하면 랜덤 변수 의 예측 가능성은 [ = 이다
For example, given a pair of random variable and , if the adversary knows of , then the predictability of will be . So, an adversary can predict with . We use the average over as it is not under adversary control, but since knowing makes the prediction of 는 A에 대해 최악의 경우를 본다
민엔트로피
최소 엔트로피는 최악의 엔트로피를 나타낸다. 수학적으로 ∞ (A)=- ( [ = {a 로 정의된다.
m의 min-entropy를 가진 임의 변수를 m {\ m -source라고 한다.
통계 거리
통계적 거리는 구별성의 척도다. Mathematically speaking, it is expressed for two probability distributions and as = . In any system, if 은(는) 로 대체되며, 적어도 1- [ 의 확률로 시스템처럼 동작한다
정의 1(강력 추출기)
을(를) 강력한 임의 추출기로 설정. The randomized function Ext: with randomness of length is a strong extractor if for all -sources on , ), displaystyle M(\}( 서I = I은 W와 독립적이다
The output of the extractor is a key generated from with the seed . It behaves independently of other parts of the system with the probability of . Strong extractors can extract at most ) 임의 {1) 임의 m {\ m -source에서 나온 비트는displaystyle m} -source.
보안 스케치
보안 스케치를 사용하면 노이즈가 많은 입력을 재구성할 수 있으므로 입력이 w 이고 스케치가 s 인 경우 displaystyle w에 가까운 {\ w}을를 할 수 있다. 그러나 스케치 은는) 보안을 유지하기 위해 에 대한 정보를 노출해서는 안 된다.
가) 거리 함수를 디스하는 메트릭 공간인 경우 Secure 스케치는 {\ 이가) w 을(를) 표시하지 않고 모든 닫힌 에서을 복구한다.
정의 2(보안 스케치)
, ~ ,) 보안 스케치는 다음과 같은 효율적인 무작위 절차(Scotch noted SS, Recover noted Rec)의 한 쌍이다.
(1) M {M 입력에 적용된 스케치 절차 SS는 s { 을(를) 반환한다
복구 절차 Rec은 {\ w 및 { 의 두 요소를 입력으로 사용한다
(2) 정확성: ( , ) t 인 경우 (w )= {\
(3) 보안: 을(를) 통한 - source의 s에 지정된 의 최소 엔트로피가 높음
for any , if , then .
퍼지 추출기
퍼지 추출기는 원래 입력을 복구하지 않지만 에서 R 균일성에 가까운)을 생성하고 w 에 가까운 을도움말 문자열 강력한 = 0 및 = 일 때 퍼지 추출기의 특별한 경우
정의 3(퍼지 추출기)
(, , , t ,) 퍼지 추출기는 다음과 같은 효율적인 임의 추출 절차의 한 쌍이다.
(1) Gen, given , outputs an extracted string and a helper string .
(2) 정확성: If and , then .
(3) 보안: For all m-sources over , the string is nearly uniform even given , So , then
그래서 퍼지 추출기는 암호 응용 프로그램을 (비밀 키로) 사용하기 위한 필수 조건인 거의 동일한 무작위 비트 시퀀스를 출력한다. 출력 비트가 약간 균일하지 않기 때문에 보안이 저하될 위험이 있지만 균일한 분포로부터의 거리는 에 지나지 않으며, 이 거리가 충분히 작으면 보안이 적절하게 유지될 것이다.
안전한 스케치 및 퍼지 추출기
안전한 스케치는 퍼지 추출기를 만드는 데 사용될 수 있다. 을(를) 얻기 위해 {\displaystyle w}에 SS를 적용하고 r 을(를 얻기 위해 에 강한 추출기 Ext를 적용하는 것과 마찬가지로 {\을(로 저장할 수 있다 can be reproduced by and . can recover and can reproduce . The following lemma formalizes this.
보조정리 1 (스케치에서 퍼지 추출기)
가정(SS,Rec)은( m ~, t) 보안 스케치이며 Ext를 평균 케이스 ~, l로 한다. Then the following (Gen, Rep) is an fuzzy extractor: (1) Gen : set and output . (2) Rep ( , ) ,( w= R ( , s) 및 R= E t(; )
Proof: From the definition of secure sketch (Definition 2), . And since Ext is an average-case -strong extractor.
코롤러리 1
If (SS,Rec) is an secure sketch and Ext is an strong extractor, then the above construction (Gen,Rep) is a 퍼지 추출기
참조 문서는 보안 스케치와 퍼지 추출기에 대한 많은 일반 결합 한계를 포함한다.[2]
기본 구성
Due to their error tolerant properties, secure sketches can be treated, analyzed, and constructed like a general error correcting code or for linear codes, where is the length of codewords, 은(는) 코드화할 메시지의 길이, d 은(는) 코드 워드 사이의 거리, 은(는) 알파벳이다. If is the universe of possible words then it may be possible to find an error correcting code such that there exists a unique codeword for every 해밍 거리가 d ) - ) / 2 인 \mathcal{F}^{n}. 보안 스케치 구성을 위한 첫 번째 단계는 발생할 수 있는 오류 유형을 결정한 후 측정할 거리를 선택하는 것이다
해밍 거리 구조
데이터가 삭제될 위험이 없고 데이터만 손상될 경우 오류 보정에 사용할 수 있는 최선의 측정값은 해밍 거리입니다. 해밍 오류는 코드가 선형인지 아닌지에 따라 두 가지 일반적인 구조로 수정된다. 두 구성 모두 거리가 + 인 코드 수정 오류로 시작하며, 서 t 은(는) 허용되는 오류 수입니다.
코드 오프셋 구성
When using a general code, assign a uniformly random codeword to each , then let which is the shift needed to change into w {\의 오류를 수정하려면 에서 s s을(를) 뺀 다음 코드 의 를 수정하여 c 에 마지막으로 s를 .. This means . This construction can achieve the best possible tradeoff between error tolerance and entropy loss when and a Reed–Solomon code is used resulting in an entropy loss of () . 더 나은 방법은 리드-솔로몬보다 더 나은 암호를 찾는 것뿐일 것이다.
신드롬 건설
When using a linear code let the be the syndrome of . To correct find a vector such that = - .
차이 구성 설정
매우 큰 알파벳 문자나 매우 긴 문자열로 작업하여 매우 큰 우주 을(를) 생성할 때 및 w w을(를) 세트로 처리하고 설정된 차이를 살펴 오류를 수정하는 것이 더 효율적일 수 있다 w {\과(와 함께 작업하려면vector U {\ a\일때 값이 1인 길이 의 2진 벡터인 특성 벡터 또는 0을 살펴보는 것이 유용하다. w The best way to decrease the size of a secure sketch when is large is make large since the size is determined by . A good code to base this construction on is a BCH code where = - }- t t n - g ( ) {n BCH 코드가 하위 선형으로 디코딩될 수 있는 것도 유용하다
핀 스케치 구조
( )= s= n( ) . To correct first find , then find a set v where , finally compute the symmetric difference to get 차이를 설정하는 데 사용할 수 있는 구조는 이것만이 아니지만 가장 쉬운 구조다.
거리 구성 편집
데이터가 손상되거나 삭제될 수 있는 경우 가장 좋은 측정은 거리 편집이다. 편집 거리를 기준으로 시공하려면 중간 보정 단계로서 설정 차이 또는 해밍 거리에 대한 시공부터 시작한 다음 그 주위에 편집 거리 시공부터 하는 것이 가장 쉽다.
기타 거리 측정 구성
다른 상황을 모형화하는 데 사용될 수 있는 많은 유형의 오류와 거리가 있다. 이러한 다른 가능한 구성의 대부분은 거리 구성 편집과 같은 단순한 구성에 기초한다.
완화된 정확성 개념을 통해 오류 허용 오차 개선
오류 수정에 확률론적 방법을 적용하고 높은 확률로 오류 수정만 요청하면 보안 스케치의 오류 허용오차를 개선할 수 있음을 알 수 있다. 이렇게 하면 플롯킨 바운드를 초과할 수 있으며, 이 바운드는 / 오류를 수정하고 섀넌의 바운드에 근접하여 거의 / 2 작업을 허용한다. 이렇게 강화된 오류 보정을 달성하려면 보다 제한적인 오류 분포 모델을 사용해야 한다.
무작위 오류
이 가장 제한적인 모델의 경우 p 를 사용하여 비트가 수신된 w′ 의 각 위치에서 확률 이(가) 잘못되었다는 w을 생성한다. This model can show that entropy loss is limited to , where is the binary entropy function, and if min-entropy then 개의 오류는 일부 상수 > \ >에 대해 허용할 수 있다
입력 종속 오류
이 모델 오류는 알려진 분포를 가지고 있지 않고 상대 모델에서 발생할 수 있으므로, 한 제약조건은 d err 오류 err) {\ t이며, 손상된 단어는 보안 스케치가아닌 w {\w}에만 의존한다는 것이다. 이 오류 모델에 대해 이 모델은 모든 복잡한 소음 프로세스를 설명할 수 있기 때문에, 즉 섀넌의 한계치에 도달할 수 있기 때문에, 이를 위해 무작위 순열화가 엔트로피 손실을 줄이는 보안 스케치에 선행되기 때문에 스타일 이상의 오차는 결코 없을 것임을 보여줄 수 있다.
계산적으로 한정된 오류
이는 입력 과(와) 보안 스케치 모두에 의존하는 오류를 갖는 입력 종속 모델과 다르며, 적수는 오류를 도입하기 위한 다항 시간 알고리즘으로 제한된다. 다항식 시간보다 더 잘 실행할 수 있는 알고리즘은 현재 현실 세계에서 실현 가능하지 않기 때문에, 이 오류 모델을 사용한 긍정적인 결과는 어떤 오류도 고칠 수 있음을 보장할 것이다. 단일 암호문 대신 목록을 반환하는 것이 항상 허용되는 것은 아닐 수 있으므로 실제로는 항상 유용하지는 않을 수 있지만 섀넌의 바인딩에 접근하는 유일한 방법은 목록 해독 가능한 코드를 사용하는 것이다.
프라이버시 보장
일반적으로 보안 시스템은 가능한 한 적은 정보를 적에게 유출하려고 시도한다. 생체 측정의 경우 생체 측정 판독에 대한 정보가 유출되면 상대방은 사용자에 대한 개인 정보를 학습할 수 있을 것이다. 예를 들어, 상대방은 도우미 문자열에 사용자의 민족성을 암시하는 일정한 패턴이 있음을 알아차린다. 적수가 도우미 문자열을 배운다면 이 로부터 생체 측정 판독을 받은 사람에 대한 어떤 데이터도 유추할 수 없다는 것을 확실히 한다
도우미 문자열과 생체 인식 입력 간의 상관 관계
이상적인 경우 도우미 문자열 은(는 인식 입력에 대한 정보를 표시하지 않는다 w 이는 의 모든 생체 인식 판독값이 원본 w 과(와) 같을 때만 가능하다 이 경우 도우미 문자열은 실제로 필요하지 않다., 따라서 과(와) 전혀 상관되지 않는 문자열을 생성하는 것은 쉽다
과(와) 유사한 인식 입력 w을(를) 받아들이는 것이 도우미 문자열 P은(는) 어떻게든 상관되어야 한다. 과 {\w이(가) 서로 다를수록 {\ }과와) 더 많은 상관관계가 있을 이고 P {\ P이( w {\ w}에 대해 더 많은 정보를 공개하는 것을 고려할 수 있다 함수 ) 이 되기 위한 정보 가장 좋은 해결책은 상대가 도우미 문자열에서 유용한 것을 배울 수 없도록 하는 것이다.
확률적 지도로서의 Gen(W)
확률론적 지도 () Y은(는 소량의 이 있는 함수의 결과를 {\ \epsilon 누설은 확률론적 지도를 알고 있고 한 명이 추측하지 못할 때 두 적수가 어떤 함수를 추측할 확률의 차이다. 공식:
( ) 기능이 확률론적 지도라면, 상대가 도우미 P 과 비밀 R 을 모두 알고 있더라도 그들은 아무것도 모르는 것처럼 주제에 대해 뭔가를 알아낼 가능성이 무시해도 될 뿐이다. 문자열 은(는) 비밀로 하기로 되어 있기 때문에 (매우 가능성이 희박하지 않을 것) 되더라도 {{\이(가) 작다면 상대방은 여전히 주제에 대해 유용한 것을 알아낼 수 없다. 는 f( ) 을(를) 생물학적 입력과 그 사람의 신체적 특성 사이의 어떤 상관관계라고 생각할 수 있다. 방정식에서 Y= ( W)= , 을(를) 설정하면 다음과 같이 변경된다.
이는 한 적수 A 에 (R ,P) 이가) 있고 두 번째 A 도 모르면 f() 에서 그들의 최선의 추측은 밖에 차이가 나지 않는다는 것을 의미한다.
균일한 퍼지 추출기
Uniform fuzzy extractors are a special case of fuzzy extractors, where the output of are negligibly different from strings picked from the uniform distribution, i.e.
균일한 보안 스케치
보안 스케치는 퍼지 추출기를 의미하므로, 균일한 보안 스케치를 구성하면 균일한 퍼지 추출기를 쉽게 구성할 수 있다. 동일한 보안 스케치에서 스케치 ( ) 은 랜덤성 E x ( ; ) 입니다 여기서 은 생체인식 입력이고 i i은 랜덤 시드입니다. 랜덤성 추출기는 균일한 분포에서 나온 것으로 보이는 문자열을 출력하기 때문에 입력에 대한 모든 정보를 숨긴다.
적용들
추출기 스케치는( , t , ) -fuzzy 완벽히 단방향 해시함수를 구성하는 데 사용될 수 있다. 해시 함수로 사용할 경우 입력 w은(는) 해시할 개체임. ( w) 출력하는 , R 은 해시 값이다. If one wanted to verify that a within from the original , they would verify that . -fuzzy perfectly one-way hash functions are special hash functions 입력이 원본과 정확히 일치할 때만 수용하는 기존 해시함수와 비교하여 대부분의 오류가 있는 입력을 허용한다. 기존의 암호해시함수는 동일한 값으로 해시하는 두 개의 다른 입력을 찾는 것이 계산상 불가능하다는 것을 보증하려고 시도한다. 퍼지 완벽하게 단방향 해시함수는 유사한 주장을 한다. 그들은 계산적으로 실현 불가능한 두 개의 입력을 찾도록 하는데, 두 입력이 {\ Hamming 거리 이상 떨어져 동일한 값으로 해시된다
활성 공격으로부터 보호
An active attack could be one where the adversary can modify the helper string . If the adversary is able to change to another string that is also acceptable to the reproduce function , it causes to 잘못된 비밀 문자열 ~ 수정된 도우미 문자열이 입력으로 제공되는 경우 재생산 기능이 실패하도록 하여 강력한 퍼지 추출기가 이 문제를 해결한다.
강력한 퍼지 추출기
강력한 퍼지 추출기를 구성하는 한 가지 방법은 해시함수를 사용하는 것이다. 이 시공에는 2개의 해시함수 1}와 H2 {\}}개가 필요하다 ( W) 함수는 보안 s= ( ) 의 출력을 판독w {\ w와 스케치 s {\ s}의 해시에 추가하여 도우미 P P}을 생성한다. by applying the second hash function to and . Formally:
The reproduce function also makes use of the hash functions and . In addition to verifying the biometric input is similar enough to the one recovered using the function, it also 의 두 번째 부분에 있는 해시가 w{\ 및 {\s}에서 파생되었는지 검증한다 이 두 조건이 모두 충족되면 을 반환하며, 이는 및 s에 적용된 두 번째 해시함수이다 Form s. Formally:
Get and from ~ , ) 및 h~= H ~ ,~) 인 경우 다음에 t r : H ~, ~) 다른 e n:
을(를) 임의로 변경했다면 R p 이(가) 출력되지 않고 매우 높은 확률로 발생하기 때문에 명백할 수 있다. 알고리즘이 다른 을(를) 수용하도록 하려면 상대방은 H , = ~ ,~) 와 같은 ~ 을 찾아야 한다. 해시함수는 단방향 함수로 간주되기 때문에 이러한 ~ 을(를) 찾는 것이 계산상 불가능하다 를 보면 상대에게 유용한 정보가 없을 것이다. 다시 말하지만 해시함수는 일방 함수가므로 상대방은 해시함수를 하여 w{\을(를) 알아내는 것이 계산상 불가능하다 의 일부가 보안 스케치지만, 정의상 스케치는 그 입력에 대해 무시할 수 없는 정보를 드러낸다. 이와 하게 R R을(를) 보면(그것은 절대 보면 안 되겠지만) 상대는 해시함수를 되돌릴 수 없고 생체인식 입력을 볼 수 없기 때문에 상대에게 유용한 정보를 제공하지 못할 것이다.
참조
- ^ "Fuzzy Extractors: A Brief Survey of Results from 2004 to 2006". www.cs.bu.edu. Retrieved 2021-09-11.
- ^ a b c d 예브게니 도디스, 라페일 오스트로프스키, 레오니드 레이진, 아담 스미스. "후지 추출기: 생체 인식 및 기타 잡음 데이터에서 강력한 키를 생성하는 방법". 2008.
- "Fuzzy Extractors: A Brief Survey of Results from 2004 to 2006".
- "Biometric Fuzzy Extractor Scheme for Iris Templates" (PDF).
{{cite journal}}
: Cite 저널은 필요로 한다.journal=
(도움말) - "A Fuzzy Vault Scheme" (PDF).
{{cite journal}}
: Cite 저널은 필요로 한다.journal=
(도움말)
외부 링크
- "Minisketch: An optimized C++ library for BCH-based (Pin Sketch) set reconciliation". github.com. 31 May 2021.