Phương pháp mã hóa bất đối xứng dựa trên thuật toán RSA cải tiến, mô-đun xác thực người dùng và quá trình tạo cặp khóa công khai/khóa bí mật sẽ được mô tả và phân tích trong các phần d[r]
(1)5 KỸ THUẬT KẾT HỢP DẤU VÂN TAY VÀ THUẬT TOÁN RSA CẢI TIẾN ỨNG DỤNG VÀO AN TỒN BẢO MẬT THƠNG TIN
NCS Trịnh Văn Anh1 ThS Đỗ Thị Hằng2 Tóm tắt: Bài báo đề cập đến hệ thống tính tốn an tồn, tập trung vào q trình tạo khóa bất đối xứng dựa sinh trắc học Thông thường, hệ thống PKI (cơ sở hạ tầng khóa cơng khai) dựa khóa bí mật/cơng khai tạo thơng qua RSA (thuật toán) thuật toán tương tự Giải pháp nhúng sinh trắc học vào trình tạo khóa bí mật/khóa cơng khai Các thử nghiệm ban đầu cho thấy tạo khóa bất đối xứng phụ thuộc vào độ xác xác thực sinh trắc học, đảm bảo khóa bất đối xứng cho người dùng được chứng thực
Từ khóa: Dấu vân tay, kỹ thuật mã hóa bất đối xứng, kết hợp sinh trắc học thuật toán mã hóa
1 Giới thiệu
Điện tốn đám mây, hệ thống quy mô lớn, Ambient Intelligence (AMI) dựa hệ thống mở cung cấp dịch vụ đáp ứng nhu cầu người dùng Những hệ thống, ứng dụng yêu cầu mức bảo mật cao, chẳng hạn xác thực người dùng, giám sát hành vi người dùng, đảm bảo an tồn mơi trường truyền thơng Mật mã học sinh trắc học đóng vai trò quan trọng ứng dụng bảo mật Ưu điểm mật mã tính khả dụng điều chỉnh mức bảo mật tùy thuộc vào mục đích truy cập quản lý liệu, tài nguyên, dịch vụ [1] Mặt khác, sinh trắc học giúp chống chối bỏ chống giả mạo mật token [2], [3] Nhiều nhà nghiên cứu khai thác đề xuất nâng cao chất lượng khóa mật mã tạo từ sinh trắc học theo độ an tồn hủy bỏ u cầu lưu trữ khóa dựa mật Kết nghiên cứu phương pháp kết hợp sinh trắc học với mật mã nâng cao an tồn cho hệ thống
Mục đích nghiên cứu tích hợp đặc điểm sinh trắc học người dùng vào q trình tạo khóa dựa thuật toán RSA cải tiến [4] Việc áp dụng hệ thống mật mã RSA cải tiến vào trình tạo khóa đảm bảo an tồn phương pháp tạo biến n lớn q trình phân tích yếu tố phức tạp so với thuật toán ban đầu [5], tin tặc khơng thể đốn trước q trình tạo khóa để thực hành vi gây an tồn Trong tốn này, dấu vân tay đặc tính chọn lọc để tích hợp q trình tạo khóa cơng khai/bí mật dựa thuật tốn RSA
Khóa bí mật sinh trắc không lưu trữ thiết bị nào, tạo đặc điểm vân tay lưu trữ Smartcard giai đoạn đăng ký Vì vậy, khơng thể bị bị đánh cắp
1, 2 Trung tâm Công nghệ Thông tin - Trường Đại học Văn hóa, Thể thao Du lịch Thanh Hóa
(2)6
Hệ thống Biometric RSA đề xuất bao gồm hai mơ-đun chính: mơ-đun xác thực vân tay mơ-đun mã hóa bất đối xứng Mô-đun xác thực vân tay dựa phương pháp tiếp cận đơn thức sử dụng điểm Core Delta Mơ-đun mã hóa bất đối xứng thực thuật tốn RSA cải tiến Mơ-đun đề cập đến việc trích xuất định danh sinh trắc xác thực người dùng Mô-đun thứ hai liên quan đến việc tạo cặp khóa cơng khai/bí mật tích hợp định danh sinh trắc trích xuất
Bài báo tổ chức sau Phần đưa sở lý thuyết phương pháp nghiên cứu Trình bày tốn liên quan; hệ thống Biometric RSA Phần 3, trình bày kết thực nghiệm, đánh giá hiệu kiến trúc đề xuất dựa độ phức tạp mã hóa giải mã Cuối cùng, phần báo cáo, kết luận báo
2 Bài toán liên quan
Gần đây, nhiều toán nghiên cứu thực phát triển phương pháp tạo khóa bí mật từ đặc điểm sinh trắc học xác thực người dùng cách kết hợp nhiều phương thức sinh trắc học Tiếp theo, số tốn mật mã sinh trắc mô tả
Trong [6], tác giả trình bày phương pháp mã hóa dựa sinh trắc học sử dụng đặc điểm mống mắt sử dụng token chống giả mạo (tương tự Smartcard) để lưu trữ khóa tạo từ hỉnh ảnh mống mắt Khơi phục khóa phụ thuộc vào hai yếu tố: sinh trắc mống mắt token Phương pháp đánh giá dựa kết thực nghiệm lấy từ mẫu mống mắt với 70 mắt khác nhau, 10 mẫu từ mắt Khóa tạo từ mã mống mắt với tỷ lệ khơng sai số đạt 99,5% Độ dài khóa sinh trắc 140-bit phù hợp với tiêu chuẩn mã hóa tiên tiến AES 128-bit AES tên viết tắt cụm từ Advanced Encryption Standard, chuẩn mã hóa liệu phổ biến AES kiểu mã hóa đối xứng dạng khối, nghĩa khối văn có kích thước định (ở 128 bit) mã hóa, khác với mã hóa dạng chuỗi kí tự mã hóa Trong [9], tác giả mô tả phương pháp ánh xạ mạng lưới dựa phương thức cam kết mờ để tạo khóa mật mã từ liệu sinh trắc học Kỹ thuật che giấu liệu sinh trắc học ban đầu tạo khóa entropy cao Các kết mơ xác nhận độ xác xác thực phương pháp k-nearest neighbor K-nearest neighbor thuật tốn supervised-learning tìm đầu điểm liệu cách chỉ dựa thông tin K điểm liệu training set gần (K-lân cận), khơng quan tâm đến việc có vài điểm liệu
điểm gần nhiễu Trong [10], tác giả trình bày sơ đồ tạo khóa sinh trắc học dựa
trên sinh trắc học ngẫu nhiên Kỹ thuật bao gồm hai bước: xây dựng mã dự phịng q trình rời rạc hóa điểm ngẫu nhiên Đầu tiên, cho phép giảm thiểu lỗi Thứ hai, kiểm soát biến thể lớp liệu sinh trắc đến mức tối thiểu Tập sở liệu Facial Recognition Technology (FERET công nghệ nhận dạng khuôn mặt) giúp đánh giá kỹ thuật phạm vi liệu khuôn mặt
3 Hệ thống Biometric RSA
(3)7 Trong giai đoạn đăng ký, đặc điểm sinh trắc thu thập xử lý để trích xuất điểm riêng biệt Sau mã hóa lưu trữ thiết bị chống giả mạo Smartcard
Trong giai đoạn xác thực, định danh sinh trắc đăng ký sử dụng với định danh sinh trắc truy vấn để xác thực người dùng tạo cặp khóa cơng khai khóa bí mật (xem hình 1)
Xét phương pháp mật mã bất đối xứng với giải thuật RSA, mối liên hệ đặc điểm sinh trắc thuật toán mật mã cặp số nguyên tố Quy trình ánh xạ định danh sinh trắc vào tập số nguyên tố thực cách sử dụng chức ad-hoc Bắt đầu từ việc phân tích dấu vân tay xuất chuỗi bit, mẫu thực phần vector Các nhóm bit lấy mẫu ghép nối để tạo chuỗi bit cuối Dãy biểu diễn cho số số nguyên tố lưu trữ bảng tra cứu Lấy mẫu lần hai thực phần khác vector ban đầu, thực thi để tính tốn số khác biểu diễn cho số nguyên tố thứ hai Bảng tìm kiếm xây dựng ngoại tuyến chứa số nguyên tố có kích thước lớn
Hình 1: Hệ thống đề xuất Biometric RSA
Phương pháp mã hóa bất đối xứng dựa thuật toán RSA cải tiến, mơ-đun xác thực người dùng q trình tạo cặp khóa cơng khai/khóa bí mật mơ tả phân tích phần
- Phương pháp mã hóa bất đối xứng dựa thuật tốn RSA cải tiến
Hệ mật khóa cơng khai RSA chậm nhiều so với DES hệ mật khóa đối xứng khác Đã có nhiều nghiên cứu thực cải thiện tốc độ hệ mật mã RSA
(4)8
kết hợp thuật toán Trong năm 2009, D.Garg S Verma so sánh biến thể RSA (Batch RSA, Multiprime RSA, Multipower RSA, Rebalanced RSA, Rprime RSA) Một phương pháp đề xuất mở rộng RSA giới thiệu AH Al-Hamami IAAldariseh mô tả [4]
Vào năm 2012, A.H Al-Hamami I.A Aldariseh [7] đề xuất khái niệm hệ thống mật mã RSA cách cải thiện thuật toán RSA sử dụng số nguyên tố thứ ba bổ sung thành phần khóa cơng khai khóa bí mật với kích thước thu gọn, thay sử dụng hai số nguyên tố lớn Phương pháp luận giải thuật trình bày sau:
Chọn ba số nguyên tố khác biệt p, q s
Tính giá trị n cho n = p*q*s; n sử dụng cho khóa cơng khai khóa bí mật
Tìm φ(n) = (p-1)(q-1)(s-1)
Chọn số e cho < e <φ(n) e φ(n) nguyên tố e số mũ khóa cơng khai
Tương tự thuật toán RSA ban đầu, xác định số mũ khóa bí mật d cách tính tốn d*e = (mod φ(n))
Trong thuật toán Hamami Aldariseh trình bày trên, khóa cơng khai (e, n) khóa bí mật (d, n) giống thuật tốn RSA ban đầu khác trình tạo khóa Để cải tiến tốc độ giải mã RSA nhằm tránh số cơng xảy RSA Sử dụng số ngẫu nhiên k giai đoạn mã hóa, thơng điệp mã hóa nhiều lần, giá trị k lần khác Thuật toán RSA cải tiến sau:
Tạo khóa
Để tạo khóa sử dụng ba số nguyên tố người dùng A nên làm sau: Bước 1: Tạo ba số nguyên tố lớn p, q, s
Bước 2: Tính n = p*q*s φ(n) = (p-1)(q-1)(s-1) Bước 3: Chọn e cho (e, φ(n)) nguyên tố
Bước 4: Lấy giá trị d cách sử dụng e*d = mod φ(n) Bước 5: Tìm dp = d mod (p-1), dq = d mod (q-1), ds = d mod (s-1)
Bước 6: Khóa cơng khai Ku = <e, n> khố bí mật Kr = <d, p, q, s, dp, dq, ds>
Mã hóa
Để mã hóa thông điệp M người dùng B nên làm sau: Người dùng B nên lấy khóa cơng khai người dùng A <e, n>
Bước 1: Biểu diễn thông điệp M dạng số nguyên khoảng [0, n-1] Bước 2: Chọn số nguyên ngẫu nhiên k với gcd(k, n) = <k<n-1 Bước 3: Tính C1 = ke
mod n Bước 4: Tính C2 = Me
.k mod n
Bước 5: Gửi giá trị mã (C1, C2) đến người dùng A
Giải mã
(5)9 Bước 1: Tính Cp = C1 mod p, Cq = C1 mod q, Cs = C1 mods Và sau tính toán kp = Cpdpmod p, kq = Cqdqmod q ks = Csds mod s
Bước 2: Tính k cách sử dụng công thức:
k = [kp.(qs)(p-1)mod n + kq.(ps)(q-1)mod n + ks.(pq)(s-1)mod n]
Bước 3: Bằng cách sử dụng thuật tốn Euclidean, tính giá trị số nguyên t, t*k = modn <t <n
Bước 4: Sau tính Me
,
C2*t = (Me.k)t = (Me)k.t = Me mod n
Bước 5: Để nhận giá trị thông điệp M nên làm theo bước sau: Trước tiên tính C'p = Me
mod p, C'q = Me mod q, C's = Me mods sau tính Mp = C'pdp mod p, Mq = C'qdq mod q, Ms = C'sds mod s
Bước 6: Cuối thu hồi thông điệp M cách sử dụng công thức sau: M = [Mp.(qs)(p-1) mod n + Mq.(ps)(q-1) mod n + Ms.(pq)(s-1) mod n]
Bài tốn ví dụ
Dưới trình bày ví dụ mơ q trình mã hóa giải mã Ví dụ sử dụng giá trị nhỏ để làm rõ khái niệm
Tạo khóa: Người dùng A nên làm sau:
Bước 1: Chọn ba số nguyên tố p, q s.p=71, q=37, s=11 Bước 2: Tính
n=p*q*s=28897, φ(n)=(p-1)(q-1)(s-1)=25200 Bước 3: gcd[e, φ(n)]=1 < e <φ(n) Lựa chọn e=29
Bước 5: e*d = mod φ(n), d=869 dp=29, dq=5, ds=9
Bước 6: Ku={29, 28897}, Kr={869, 71, 37, 11, 29, 5, 9}
Mã hóa: Người dùng B nên làm sau:
Lấy khóa cơng khai người dùng A (29, 28897) Bước 1: Xét thông điệp M=45, < M < n-1
Bước 2: Chọn giá trị ngẫu nhiên k=46, gcd[k, n]=1 Bước 3: Tính C1= 4629
mod 28897 = 12513 Bước 4: C2= 4529
.46 mod 28897 = 6756 Bước 5: Gửi (12513, 6756) tới người dùng A
Giải mã: Người dùng A nên làm sau:
Bước 1: Tính Cp=17, Cq =7, Cs=6, sau tính kp=46, kq=9, ks=2 Bước 2: Tính k = 46
Bước 3: Tính t=3141 Bước 4: Tính Me
, 756*3141 = Me mod 28897,Me =10198 Bước 5: Tínhcác giá trị
(6)10
Sau tính giá trị: Mp=45, Mq=8, Ms=1 Bước 6: Cuối thu hồi thông điệp M=45 - Mô-đun xác thực vân tay
Dấu vân tay bao gồm đường vân đường rãnh Các đường vân đặc trưng điểm kết thúc điểm rẽ nhánh, chúng gọi điểm kì dị (minutiae) Minutiae điểm vi mơ hình ảnh dấu vân tay Delta Core gọi điểm vĩ mô Điểm Core tâm vịng xốy vân tay, điểm Deltalà tam phân điểm, nơi giao ba hướng vân
Hệ thống nhận dạng dấu vân tay đặc trưng ba giai đoạn chính: thu thập hình ảnh, trích xuất chữ ký sinh trắc, kết hợp chữ ký sinh trắc thu thông tin lưu trữ Hệ thống nhận dạng vân tay chia nhỏ thành hai lớp Lớp hệ thống sử dụng thông tin vi mô (minutiae) để thực đối sánh dấu vân tay, lớp thứ hai hệ thống sử dụng thông tin vĩ mô (Core Delta) để thực phân loại dấu vân tay
Hình 2: Mô-đun xác thực dấu vân tay dựa điểm Core điểm Delta
Hệ thống xác thực dấu vân tay dựa điểm Core điểm Delta (xem hình 2) Mơ-đun xác thực người dùng đề xuất tuân theo hướng dẫn phát triển [8] tối ưu hóa qua giai đoạn thu nhận xử lý sau đây:
1 Giai đoạn thu thập dấu vân tay (Fingerprint Acquisition phase) Giai đoạn trích xuất Core Delta (Core and Delta extraction phase) Giai đoạn chuẩn hóa Core Delta (Core and Delta normalization phase) Giai đoạn tạo định danh (Identifier generation phase)
5 Giai đoạn đối sánh (Matching phase)
Giai đoạn Acquisition liên quan đến việc thu thập hình ảnh dấu vân tay, giai đoạn lại xử lý đối sánh dấu vân tay Các giai đoạn mô tả ngắn gọn phần
1) Giai đoạn trích xuất Core Delta
(7)11
Tính Gx Gy gradients cách sử dụng tốn tử Sobel
Tính tốn đạo hàm Dx Dy
Tính góc θ(i, j)của khối (i, j)
Ứng dụng lọc làm nhẵn Gaussian ma trận góc
Cuối cùng, điểm kì dị, Core Delta dị tìm cho phù hợp với số Poincarè
Hình 3: Core Delta với vùng riêng biệt (ROIs)
2) Giai đoạn chuẩn hóa Core Delta
Quy trình chuẩn hóa phải thực sau giai đoạn thu thập Core Delta Trên thực tế, kích thước đặc điểm sinh trắc thay đổi thay đổi độ sáng biến thể áp suất giai đoạn lấy dấu vân tay
Tọa độ trình biến đổi mẫu dấu vân tay 21 * 96 vùng trích xuất có nghĩa: 21 số lượng mẫu chọn, 96 pixel bán kính vịng trịn trung tâm điểm Core Delta (xem hình 4)
Hình Ví dụ ROI chuẩn hóa
3) Giai đoạn tạo định danh
Sau giai đoạn chuẩn hóa vùng vân tay, chúng mã hóa phương pháp Log-Gabor Bộ lọc thay lọc Gabor (về phương diện hiệu suất), thiết kế với băng thông tùy ý Đồng thời, cấu tạo lọc Gabor biểu diễn Gaussian phạm vi lôgarit Bộ lọc tần số xác định phương trình (1):