Bảo mật sinh trắc học

Một phần của tài liệu (LUẬN văn THẠC sĩ) mã hóa dữ liệu trên điện thoại thông minh sử dụng sinh trắc học (Trang 46)

c. Chuẩn mã hóa dữ liệu AES

3.1 Bảo mật sinh trắc học

Việc bảo vệ mẫu đặc trƣng sinh trắc học đƣợc lƣu trữ trên điện thoại là rất quan

trọng. Vì đặc trƣng sinh trắc học nếu bịngƣời khác xem đƣợc hoặc bị đánh cắp

thì không thể thu hồi và ngƣời khác thể nhân bản để sử dụng nhiều lần. Đo đó

cần phải mã hóa để bảo vệ đặc trƣng sinh trắc học thật an toàn kể cả khi ngƣời

dùng đánh mất chiếc điện thoại thông minh.

- Tính đa dạng: Các mẫu bảo mật phải cho phép đổi chiếu trong cơ sở dữ

liệu. Do đó phải đảm bảo tính riêng tƣ của ngƣời dùng.

- Tính có thể hủy bỏ: Có thể dễ dàng thu hồi các mẫu bịhƣ hại và tạo ra lại các mẫu mới dựa trên các dữ liệu sinh trắc học giống nhau.

- Tính bảo mật: nó phải đảm bảo việc khó tính toán để tạo lại các mẫu sinh trắc học gốc từ mẫu bảo mật. Tính chất này nhằm ngăn chặn một ai đó tấn công bằng cách sử dụng đặc trƣng sinh trắc học vật lý giả mạo từ một mẫu

đã bịđánh cắp.

- Tính hiệu quả: Hệ thống bảo mật mẫu sinh trắc học không làm giảm tính nhận dạng (FAR và FRR) của hệ thống sinh trắc học.

Có hai phƣơng pháp bảo mật mẫu đặc trƣng sinh trắc học: feature

transformation và biometric cryptosystem. Trong luận văn này, tôi trình bày

phƣơng pháp biometric cryptosystem:

Trong phƣơng pháp này, một số thông tin đƣợc công khai về mẫu sinh trắc học

đƣợc gọi là thông tin hỗ trợ (helper data). biometric cryptosystem có thể tiếp tục phân loại thành hai hệ thống key bindingkey generation tùy thuộc vào helper

data mà nó thu đƣợc. Khi helper data thu đƣợc bằng cách sinh ra một khóa từ

mẫu đặc trƣng sinh trắc học đƣợc gọi là key-binding biometric cryptosystem.

Helper data kết hợp với mẫu đặc trƣng sinh trắc học để tái tạo lại khóa, mẫu đặc

trƣng sinh trắc học đƣợc truy vấn, quá trình này đƣợc gọi là key generation biometric cryptosystem.

Phát sinh khóa trực tiếp từ sinh trắc học là một đề xuất hấp dẫn, nhƣng có vấn đề

khó khăn là những biến đổi nội tại của ngƣời dùng. Dodis và cộng sự [20] đã

giới thiệu định nghĩa secure sketchfuzzy extractor trong ngữ cảnh của việc phát sinh khóa từ sinh trắc học.

3.2 Các giải thuật mã hóa đặc trưng sinh trắc học

Để giải quyết vấn đề, sử dụng đặc trƣng sinh trắc học để mã hóa dữ liệu, tôi giới thiệu bốn giải thuật sau: Fuzzy Extractor, Secure Sketch, Fuzzy Commitment, và

Fuzzy Vault.

Secure Sketch[20,12]: Cho phép xây dựng lại một cách chính xác đầu vào

không đồng nhất nhƣ sau: đầu vào w, qua xử lý tạo ra s (ouput sketch), sau đó

cho s và một giá trị w’ gần giống với w, w có thể đƣợc khôi phục lại. Các phác thảo đƣợc bảo mật theo nghĩa là nó không tiết lộ nhiều về w: w giữ nhiều dữ liệu ngẫu nhiên của nó thậm chí nếu s đƣợc biết đến. Do đó, thay vì lƣu trữ w vì sợ

rằng việc đọc sau này sẽ bị nhiễu, có thể lƣu trữ s thay vì lƣu w, mà không ảnh hƣởng đến sự bảo mật của w.

Fuzzy Extractor[20,19]: Rút trích một chuổi R ngẫu nhiên đồng nhất từ đầu vào (input) w theo phƣơng pháp giới hạn gây nhiễu, nghĩa rằng nếu đầu vào w’

gần giống với w thì chuỗi R tạo lại một cách chính xác. Để hỗ trợ việc tạo lại R

Hình 3-1 (a) secure sketch; (b) fuzzy extractor; (c) ứng dụng fuzzyextractor mã hóa dữ liệu

Khóa R đƣợc rút trích từ sinh trắc học w thông qua giải thuật fuzzy extractor, cả

hai PC (encrypted record) không cần phải giữ bí mật, bởi vì chúng ta chỉ có thể giải mã record nếu w’ gần giống với w.

R đƣợc rút trích từw và có thểđƣợc sử dụng nhƣ là một khóa trong ứng dụng mã

hóa nhƣng không giống các khóa truyền thống, nó không cần lƣu trữ (bởi vì nó

có thểđƣợc khôi phục lại từ bất kì một w’ nào gần giống với w)[20].

Một ví dụ cụ thể làm thế nào để sử dụng fuzzy extractor: Trong trƣờng hợp chứng thực mật khẩu, server có thểlƣu trữ (P, f(R)). Khi ngƣời dùng đƣa vào w’

gần giống w, server sẽ tạo lại R và sử dụng P để kiểm tra f(R) có giống với

những gì mà nó lƣu trữ.

Secure sketch không giống nhƣ fuzzy extractor, nó cho phép tái tạo một cách chính xác của các bản gốc đầu vào.

Secure sketchfuzzy extractor có thể đƣợc xem nhƣ là sự cung cấp lƣu trữ

khóa mờ: Chúng cho phép lấy lại khóa bí mật (w hay R) từ việc đọc w’ của w

bằng cách sử dụng một số thông tin công khai (s hay P)[20].

Fuzzy Commitment là giải thuật dùng để kết hợp đặc trƣng sinh trắc học với khóa

đƣợc tạo ngẫu nhiên thông qua phép toán XOR. Các hệ thống mã hóa theo kiểu truyền thống dựa trên các bit-string (khóa) bí mật để bảo vệ dữ liệu, tuy nhiên khi khóa bí mật này chứa lỗi thì việc giải mã sẽ bị thất bại. Vì vậy Fuzzy Commitment là một kiểu mật mã truyền thống đƣợc thiết kế để xử lý độc lập những lỗi ngẫu nhiên của các bit trong khóa bí mật.

Mô hình Fuzzy Commitment:

Hình 3-2 Mô hình Fuzzy Commitment

Fuzzy Vault[9,8]

Fuzzy Vault là giải thuật dùng để tạo các đặc trƣng nhị phân và khóa ngẫu nhiên.

Đặt một khóa bí mật K vào trong Fuzzy Vault và “lock” nó bằng cách dùng một tập A (biểu diễn ), để “unlock” Vault ( ) ta dùng một tập B có cùng kích

thƣớc với A và A ~ B, khi đó k đƣợc tái tạo lại và đƣợc unlock.

Hình 3-3 Mô hình Fuzzy Vault

Mục tiêu của đề tài là mã hóa dữ liệu trên điện thoại thông minh sử dụng sinh trắc học. Để mã hóa và giải mã dữ liệu, chúng ta có thể sử dụng các thuật toán mã hóa truyền thống (DES hoặc AES) với khóa bí mật là R hoặc w qua giải thuật

fuzzy extractor hoặc thuật secure sketch từ sinh trắc học w.

3.3 Các định nghĩa cơ bản: Min-entropy[20]: Min-entropy[20]:

Khi thảo luận về vấn bảo mật, ngƣời ta thƣờng quan tâm đến khả mà những kẻ

tấn công có thể đoán đƣợc giá trị ngẫu nhiên (ví dụ đoán đƣợc khóa bí mật). Kẻ

tấn công mong muốn đoán đƣợc giá trị có khảnăng cao nhất. Khảnăng dự đoán

của một biến ngẫu nhiên A là Maxa Pr[A = a]. và tƣơng ứng min-entropy đƣợc

định nghĩa là:

H∞(A) = -log(maxaPr[A=a]) (xác định trƣờng hợp entropy xấu nhất).

Statistical distance (Khoảng cách thống kê)[20]:

SD(A,B) = ∑ ( ) ( )

Strong extractor[20]:

Đặt Ext: * + * + là một hàm xác xuất sử dụng r bit ngẫu nhiên. Có thể

nói rằng Ext là một (n,m, ℓ, ε)-strong extractor có hiệu quả nếu đối với tất cả

min-entropy m sự phân phối W trên {0,1}n, SD((Ext(W;X),X), (Uℓ,X)) ≤ ε, mà X là đồng nhất trên {0,1}r.

Secure sketch[20]:

Đặt M là không gian dữ liệu với hàm khoảng cách dis.

Một (M,m, ̃,t)-secure sketch là một cặp thủ tục ngẫu nhiên, “sketch” (SS) và

“Recover” (Rec), với những tính chất sau:

- Thủ tục “sketch” (SS) đầu vào và trả về một chuỗi bit {0,1}*. - Thủ tục “Recover” Rec lấy một phần tửw’ M và chuỗi bit s {0,1}*.

Tính chính xác của secure sketch phải đảm bảo rằng nếu ( ) ,

thì Rec(w’,SS(w))=w. Nếu ( ) thì không đảm bảo đầu ra

của Rec.

- Tính chất bảo mật đảm bảo rằng bất kỳ sự phân phối W trên M với min- entropy m, giá trị của W có thểđƣợc khôi phục lại bởi kẻ mạo danh với xác xuất không lớn hơn ̃ . Đó là ̃ ( ( ) ̃.

Một secure sketch đạt hiệu quả nếu SSRec chạy trong thời gian đa thức đƣợc

mong đợi.

Fuzzy extractor[20]:

Một (M,m, ℓ, t, ε)-fuzzy extractor là một cặp thủ tục ngẫu nhiên, “generate”

Thủ tục phát sinh Gen ởđầu vào w M sinh ra một chuỗi đƣợc rút trích R {0, 1}ℓ và một chuỗi helper P {0, 1}*.

Thủ tục tái tạo Rep lấy một phần tửw’ M và một chuỗi bit P {0, 1}*nhƣ đầu vào, tính chất chính xác của fuzzy extractor bảo đảm rằng nếu dis(w,w’) ≤t và R,

P đƣợc phát sinh bởi (R, P) ← Gen(w), thì Rep(w′, P) = R. Nếu dis(w,w’) > t, thì

không có sựđảm bảo vềđầu ra của Rep.

Sự bảo đảm tính bảo mật cho bất kỳ sự phân phối W trên M của min-entropy m, chuỗi R là gần nhƣ đồng nhất: nếu (R, P) ← Gen(W), thì SD((R, P), (Uℓ, P)) ≤ ε.

Một fuzzy extractor đạt hiệu quả nếu Gen và Rec chạy trong thời gian đa thức

đƣợc mong đợi. Fuzzy extractor cho phép rút trích giái trị ngẫu nhiên R từ w và

sau đó tái tạo lại R từ bất kì chuỗi w’ nào gần giống với w. Việc tái tạo sử dụng các chuỗi helper P đƣợc sinh ra trong quá trình rút trích ban đầu. Nhƣng chuổi P

không cần giữ bí mật, bởi vì R thật sự là ngẫu nhiên ngay cả khi cho P.

Các bit ngẫu nhiên đồng dạng đƣợc sinh ra từ fuzzy extractor có thể đƣợc sử

dụng trong bất kì văn bản mã hóa nào đòi hỏi sử dụng bit ngẫu nhiên đồng dạng (ví dụ nhƣ khóa bí mật). Những bit kém đồng dạng sẽ làm giảm sự an toàn.

Nhƣng không quá khoảng cách của chúng bằng cách lựa chọn không gian nhỏ

(ví dụ từ 2-80) có thể làm giảm những bảo mật không liên quan.

Tƣơng tự nhƣ secure sketch, số lƣợng đƣợc gọi là entropy loss của fuzzy

extractor. Tƣơng tựnhƣ vậy, một cái định nghĩa là average-case fuzzy extractor,

cái này yêu cầu nếu ̃ ( ) thì (( ) ( )) cho bất giá trị ngẫu nhiên I.

3.4 Xây dựng fuzzy extractor từ secure sketch

Secure sketch rất hữu ích trong việc xây dựng fuzzy extractor. Cụ thể, chúng ta xây dựng fuzzy extractor từ secure sketch và strong extractor nhƣ sau: áp dụng SS cho w để có đƣợc s, và một strong extractor Ext với x ngẫu nhiên để w có

đƣợc R. Lƣu (s, x) nhƣ là một chuỗi helper P. Để sinh ra R từw’ và P = (s, x),

đầu tiên sử dụng Rec (w’, s) để khôi phục w và sau đó Ext(w, x) để có đƣợc R [20].

Nguồn: [20]

Hình 3-4 Fuzzy extractor đƣợc xây dựng từ secure sketch và strong extractor

Đối với nguồn phân phối liên tục, cơ chếlƣợng tửhóa Q đƣợc áp dụng để

chuyển từ miền liên tục sang miền rời rạc. Fuzzy extractor cho miền rời rạc sau

đó mới đƣợc áp dụng.

Trong quá trình tái tạo (Rep), phiên bản rời rạc của dữ liệu đƣợc tái tạo thay vì x nguyên gốc trong miền liên tục. Entropy loss trong giai đoạn này đƣợc tính bởi H∞(Q(X))-H∞(Q(X) | P) đƣợc gọi là left-over entropy. Mục đích của chúng ta là

tối đa hóa left-over entropy bởi vì nó là “entropy nguồn” cho giai đoạn strong

extractor. Strong extractor sau đó áp dụng Q(X) để lọc ra chuỗi bit an toàn. Tổng

entropy loss của fuzzy extraction là:

(H∞(Q(X)) - H∞(Q(X) | P))+(H∞(Q(X) | P)- ℓ)=H∞(Q(X))- ℓ,

Xây dựng fuzzy extractor trong phần này có tính chất là

H∞(Q(X)) = H∞(Q(X) | P), tức là dữ liệu hỗ trợ không tiết lộ bất kỳ thông tin gì

về chuỗi đƣợc lọc. Hơn nữa, chúng ta có đầu ra sau khi lƣợng tửhóa là đồng

nhất, vì vậy chúng ta không cần phải có strong extractor nữa.

3.5 Bảo mật mẫu sinh trắc học sử dụng secure sketch

Trong luận văn này, tôi sử dụng giải thuật secure sketch để bảo mật mẫu sinh trắc học. Mẫu sinh trắc học bảo mật có thể đƣợc lƣu trữ bằng cách sử dụng hàm

băm một chiều (one-way hash function)[14].

3.5.1 Các bước xử lý

Các bƣớc xử lý trong [14] đƣợc thể hiện trong hình bên dƣới. Đầu tiên, rút trích

các đặc trƣng sinh trắc. Bƣớc thứ hai, lƣợng tử hóa cho những giá trị đƣợc rút

trích trong miền liên tục để chuyển sang những giá trị trong miền rời rạc. Bƣớc này là cần thiết bởi vì giá trị rời rạc cho phép khôi phục dễ dàng và chính xác

hơn giá trị liên tục. Những giá trịđƣợc lƣợng tử hóa đóng vai trò là w và w’ của

secure sketch đƣợc giới thiệu trong phần trƣớc. Bƣớc phát sinh sketch tạo ra s từ đầu vào w. Bƣớc cuối cùng, bƣớc khôi phục w ban đầu khi cho đầu vào w’ và s.

Để kiểm tra tính hợp lệ của đặc trƣng đƣợc khôi phục có đúng với đặc trƣng w

ban đầu hay không, một hàm băm một chiều đƣợc sử dụng cho w và kết quả

đƣợc lƣu trữ. Sau đó, sử dụng hàm băm tƣơng tự cho đặc trƣng đƣợc khôi phục

Nguồn: [14]

Hình 3-5 Các bƣớc xử lý chính

3.5.2 Lượng tử hóa

Mục đích của việc lƣợng tử hóa là chuyển những giá trị đặc trƣng từ miền liên

tục sang miền rời rạc. Các bƣớc xử lý lƣợng tử hóa nhƣ sau: sau khi chuẩn hóa,

mỗi phần tử của vector đặc trƣng là một số thực nằm trong [0, 1]. Sau đó, xử lý

lƣợng tử hóa sẽ chuyển giá trị này sang một số nguyên nằm trong [0, N], với N >

0. Đặt x là giá trị trƣớc khi lƣợng tử hóa, x’ là giá trị sau khi lƣợng tử hóa, hàm

Round là lƣợng tử hóa[14].

x’ = round(xN)

3.5.3 Phát sinh sketch

Bƣớc phát sinh sketch tạo ra thông tin chuỗi công khai s có thểđƣợc sử dụng sau

này để tái tạo lại mẫu wđƣợc lƣợng tử hóa.

Sau quá trình lƣợng tử, miền của w là [0, N]. Chúng ta tạo một codebook mà những codeword trải dài trong [0, N] và khoảng cách giữa hai codeword là nhƣ

nhau. Cụ thể, khoảng cách giữa codeword cici+1 với δ là một số nguyên

ánh xạ M trả về codeword gần nhất của w, hoặc M(w)=ci. Phát sinh sketch sử

dụng hàm ánh xạ để trả về sự khác biệt giữa một giá trị của wcodeword gần nó nhất:

SS(w) = w – M(w) (*)

Giá trị phát sinh sketch SS(w) trong khoảng [-δ, δ]. Vì thế, cho SS(w), kẻ tấn công chỉ có thể biết rằng giá trịđúng của w có dạng SS(w) + M(w). Để tấn công

brute-force vào hệ thống, những kẻ tấn công cần phải thử tất cả các giá trị có thể

của M(w), hay mỗi codeword. δ càng lớn thì không gian codeword càng nhỏ.

Lƣu ý rằng không gian codeword luôn luôn nhỏ hơn so với không gian lƣợng tử

[0, N]. khi δ = 1, không gian codeword nhỏ hơn không gian lƣợng tử ba lần, và khi δ = 2 thì nhỏ hơn năm lần[14].

3.5.4 Khôi phục đặc trưng

Cho w’ sao cho |w – w’| ≤ δ, khi đó feature recovery sẽ dùng sw’ để tái tạo lại w. Gọi w’’ là giá trịđƣợc khôi phục, khi đó w’’đƣợc tính nhƣ sau [14]:

w” = M(w’ – SS(w))+SS(w)

wđƣợc tái tạo chính xác khi |w - w’| ≤ δ, thay SS(w) bởi vế phải ở công thức (*), chúng ta có:

w” = M(w’ – w+M(w)) + w - M(w)

Nếu |w - w’| ≤ δ, thì w’ – w +M(w) nằm trong khoảng [M(w) –δ, M(w) + δ]

Theo nhƣ cấu trúc của codebook, áp dụng hàm ánh xạ trên bất kỳ giá trị nào nằm trong phạm vi này sẽ trả vềcodeword gần nhất, và bằng M(w) nên M(w’ – w + M(w)) = M(w), nhƣ vậy chúng ta ców”=w.

3.6 Mô hình mã hóa dữ liệu sử dụng đặc trưng sinh trắc học

Hệ thống mã hóa dữ liệu sử dụng sinh trắc học bao gồm hai quá trình: mã hóa và giải mã:

Mã hóa: Quá trình này bắt đầu bằng việc đƣa vào một văn bản rõ và kết hợp với

sử dụng đặc trƣng sinh trắc học làm khóa mã. Kết thúc quá trình này sẽ cho ra

một văn bản đã mã hóa.

Giải mã: Quá trình này làm ngƣợc lại, bắt đầu bằng một văn bản đã đƣợc mã hóa

và kết hợp với đặc trƣng sinh trắc học sẽ cho ra một văn bản đã đƣợc giải mã. Mô hình mã hóa dữ liệu sử dụng đặc trƣng sinh trắc học:

Hình 3-6 Mô hình mã hóa dữ liệu sử dụng đặc trƣng sinh trắc học

Trong đó k là khóa đƣợc sinh ra từđặc trƣng sinh trắc học (Khóa sinh trắc).

Quá trình tạo khóa sinh trắc: khóa sinh trắc k thông qua giải thuật secure sketch

sẽ sinh ra chuổi s, thông tin chuổi s đƣợc lƣu trữđể giúp khôi phục lại khóa sinh trắc k sau này.

Hình 3-7 Quá trình phát sinh sketch

Quá trình khôi phục khóa sinh trắc: Khi đƣa vào k’ ~ k kết hợp với chuỗi s, khóa k sẽđƣợc tái tạo lại.

Hình 3-8 Quá trình khôi phục khóa sinh trắc

Luận văn áp dụng giải thuật secure sketch Dodis [20] để tạo khóa sinh trắc:

Một phần của tài liệu (LUẬN văn THẠC sĩ) mã hóa dữ liệu trên điện thoại thông minh sử dụng sinh trắc học (Trang 46)

Tải bản đầy đủ (PDF)

(80 trang)