Mô hình xác thực dựa trên rút trích mờ

Một phần của tài liệu Đánh giá hệ thống xác thực trên thiết bị di động sử dụng kỹ thuật rút trích mờ từ dữ liệu sinh trắc học (Trang 55 - 59)

Chương 4. XÁC THỰC TRÊN DỮ LIỆU KHUÔN MẶT SỬ DỤNG RÚT TRÍCH MỜ

4.2 Mô hình xác thực dựa trên rút trích mờ

Mục đích của quá trình lượng tử hoá là chuyển đổi giá trị từ miền liên tục đến giá trị trong miền rời rạc. Giai đoạn lượng tử này có thể làm giảm sự an toàn của quá trình xác thực bởi vì quá trình này làm giảm không gian tìm kiếm liên tục với yếu tố vô hạn để tìm kiếm một không gian riêng biệt với phần tử hữu hạn.

Quá trình lượng tử được thực hiện các bước sau: sau khi chuẩn hoá, giá trị của mỗi thành phần trong vector đặc trưng là một số dấu chấm động trong [0,1]. Sau đó quá trình lượng tử hoá sẽ chuyển đổi giá trị này đến một số nguyên [0,N] với N > 0.

Lấy một giá trị x trước khi lượng tử hoá và giá trị x’ sau quá trình lượng tử hoá.

Công thức của quá trình lượng tử hoá được tính như sau:

x’ = round(xN). (4.1)

Ví dụ: double[] feature = {0.1, 0.4, 0.4, 0.7, 0.5, 0.3, 0.2};

Qua lượng tử hóa : double[] qFeature = {1, 4, 4, 7, 5, 3, 2} với N = 10

4.2.2 Sinh phác thảo (Sketch Generation)

Quá trình sinh phác thảo tạo ra giá trị công khai s mà được sử dụng để phục hồi giá trị w. Miền giá trị của w là [0, N], tạo ra giá trị codebook với giá trị

Đánh giá hệ thống xác thực trên thiết bị di động sử dụng kỹ thuật rút trích mờ từ dữ

liệu sinh trắc học    

codebook nằm trong vùng [0,N] và khoảng cách giữa các cặp codebook bất kỳ thì giống nhau. Đặc biệt, khoảng cách giữa codebook ci và ci+1 là 2δ với δ là số nguyên không âm. Sau đó với bất kỳ giá trị nào của w trong khoảng [ci–δ, ci +δ], một hàm kết nối M trả về giá trị codewords gần nhất của w, hay M(w) = ci . Sinh phác thảo sử dụng hàm kết nối để trả về khoảng cách giữa giá trị w và giá trị codeword gần nhất.

SS(w) = w – M(w) (4.2)

Giá trị của SS(w) trong khoảng [-δ, δ] không phụ thuộc vào giá trị cụ thể của w. Vì vậy, với SS(w) kẻ tấn công chỉ biết giá trị chính xác của w là SS(w) +M(w) 4.2.3 Hàm phục hồi (Feature Recovery)

Với đầu vào là giá trị w’, quá trình phục hồi sử dụng s và w’ để tái tạo w nếu giá trị khác biệt giữa w và w’ thì nhỏ hơn hoặc bằng δ. Gọi giá trị phục hồi w’’ nó thì được tính như sau:

w’’ = M(w’ – SS(w)) +SS(w) (4.3) Để chứng minh giá trị phục hồi chính xác w khi |w – w’| < δ , ta có:

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

Nếu |w – w’| ≤ δ thì w’-w+M(w) thuộc trong khoảng [M(w) – δ , M(w) +δ]

Mặt khác, theo cách xây dựng codebook, áp dụng hàm liên kết cho bất kỳ giá trị trong khoảng này sẽ trả về codeword gần nhất, mà cũng là M(w). Thay thế hàm M(w’-w+M(w)) bằng hàm M(w) ta có w’’ = w.

Như vậy ta chứng minh được tính đúng đắn của hàm phục hồi.

4.2.4 Phương pháp cụ thể - Hàm SS

- Cho m vector đặc trưng w1, w2,..., wn

- Đối với mỗi thành phần của vector đặc trưng ta tính giá trị lớn nhất, nhỏ nhất và codebook gần nhất với từng thành phần của w; min = wn – codesize/2 và max = wn + codeSize/2 và giá trị codebook được chọn trong khoảng từ min đến max sao cho (codebook%codesize ==0)

- Tính ss(i) = wi – getcodebook(wi) - Độ phức tạp là O(n)

- Hàm Rec

- Cho m vector đặc trưng w’1, w’2,..., w’n

- Tính codebook ci = getcodebook(w’i – ss(i))

Đánh giá hệ thống xác thực trên thiết bị di động sử dụng kỹ thuật rút trích mờ từ dữ

liệu sinh trắc học    

- giá trị phục hồi lại; w’’I = ci + ss(i) - Độ phức tạp O(n)

4.2.5 Hàm sinh khoá sử dụng hàm băm và thuật toán DSA

Digital Signature Algorithm, DSA thì được đưa ra bởi U.S. National Institute of Standards and Technology (NIST) năm 1991. Sinh trắc học qua quá trình rút trích sẽ tạo ra vector đặc trưng được chuyển vào hàm băm SHA-1, sau đó qua thuật toán DSA sinh ra giá trị R, không chứa nhiều thông tin của đặc trưng sinh trắc học và có thể dùng cho quá trình xác thực.

Hình 4.1 Mô hình sinh khóa sử dụng DSA

Thuật toán

• Dữ liệu đầu vào DSA

o p = 2L là một số nguyên tố, với L= 512 đến 1024 bits và là bội số của 64

o q là 160 bit yếu tố chính của p-1

o g = h(p-1)/q với h < p-1 và h(p-1)/q(mod p)> 1

o x là 1 số nhỏ hơn q

o y = gx(mod p) (4.4)

• Để sign a message h(w) = SHA1(w)

o Lấy một số ngẫu nhiên , k<q

o Tính

§ r = (gk mod p) mod q (4.5)

§ s = k-1 (h(w) + xr) mod q (4.6)

o Giá trị kết quả sign(h(w),k) = (r,s) Feature

vector

p

SHA-1 DSA R

Đánh giá hệ thống xác thực trên thiết bị di động sử dụng kỹ thuật rút trích mờ từ dữ

liệu sinh trắc học    

• Để xác thực giá trị đã được đăng ký với giá trị hàm băm H(M) được lấy từ quá trình xác thực:

o z = s-1 mod q (4.7)

o u1 = h(w).z mod q (4.8)

o u2 = r.w mod q (4.9)

o v = ((gu1 yu2) mod p) mod q

o nếu v = r thì kết quả trả về làm chính xác Chứng minh quá trình xác thực là đúng:

Trong quá trình sinh ra giá trị s ta có

§ s = k-1 (h(w) + xr) mod q Từ đó : k = (h(w)s-1 + xr s-1) mod q = h(w).z + xrz

Mặt khác : gk= gh(w)zgxrz

= gh(w)z yrw = gu1 yu2 (mod p)

Cuối cùng với những giá trị được tính ở trên ta có:

r = (gk mod p) mod q= (gu1 yu2 (mod p)) mod q

= v

Vậy quá trình xác thực là đúng Đánh giá tính bảo mật

Giá trị sau khi sign giá trị sinh trắc học là (r,s), hai giá trị này được lưu vào database

s = k-1 (h(w) + xr) mod q

Khi kẻ tấn công lấy được hai giá trị r, s. Để phục hồi được giá trị sinh trắc học ban đầu thì kẻ tấn công phải biết được giá trị của k (s phục thuộc vào k ở biểu thức trên). Tuy nhiên giá trị k không được lưu trữ, đồng thời giá trị k được sinh ngẫu nhiên cho mổi lần sign một key mới. Vì vậy, DSA có thể sử dụng cho việc sinh khoá, bảo mật dữ liệu ban đầu và xác thực lại với dữ liệu đưa vào trong quá trình phục hồi sinh trắc học ban đầu.

4.2.5 Đánh giá bảo mật

- Kiểm chứng bằng cuộc tấn công brute-force

Để kiểm chứng tính bảo mật của hệ thống được đưa ra qua một cuộc tấn công cơ bản nhất là: brute-force. Mỗi mẫu đặc trưng w có thể được xem như 1

Đánh giá hệ thống xác thực trên thiết bị di động sử dụng kỹ thuật rút trích mờ từ dữ

liệu sinh trắc học    

vector của N thành phần. Để phục hồi chính xác w, mỗi thành phần trong vector phải được chính xác hoàn toàn. Kẻ tấn công cần phải thử tất cả các giá trị có thể của M(w) hoặc là mỗi codeword. Mặt khác không gian codeword luôn nhỏ hơn không gian lượng tử [0,N]. Khi δ = 1 không gian codeword nhỏ hơn 3 lần không gian lượng tử và khi δ = 2 thì không gian codeword nhỏ hơn 5 lần.

Nếu sử dụng cùng giá trị lượng tử hóa và codebook cho mọi phần tử bất kỳ.

Giả sử có S codeword trong 1 codebook và trong giá trị trung bình, một kẻ tấn công phải thử !!! trường hợp để có thể lấy chính xác giá trị w sử dụng kiểu tấn công brute-force. Tất nhiên, kẻ tấn công phải sử dụng phân phối thông tin của những giá trị để làm giảm số lượng tìm kiếm cần thiết.

- Đánh giá bằng entropy

Như đã trình bày trong phần 3.4.5, độ mạnh của một “Secure Sketch” được biểu diễn bởi một bộ thông số (M,m,𝑚,t), trong đó, m là entropy tối thiểu của phân ℳ(phân bố xác xuất của vector đặc trưng), giá trị này rất khó đánh giá. Tuy nhiên, ởđây ta sẽ quan tâm và tập trung phân tích 𝑚 là entropy sau cùng của hệ thống khi đã tiết lộ s:

𝐻! 𝑊 𝑆𝑆 𝑊 ≥  𝑚

𝐻! 𝑊 𝑆𝑆 𝑊 ≥𝑚−(𝑛−𝑘)

Ước lượng entropy của phương pháp này bằng cách ước lượng entropy của giá trị codebook c dựa trên kết quả thống kê thực nghiệm

Một phần của tài liệu Đánh giá hệ thống xác thực trên thiết bị di động sử dụng kỹ thuật rút trích mờ từ dữ liệu sinh trắc học (Trang 55 - 59)

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

(95 trang)