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 toàn bảo mật thông tin
Điện toán đám mây, các hệ thống quy mô lớn, Ambient Intelligence (AMI) dựa trên các
hệ thống mở cung cấp các dịch vụ đáp ứng nhu cầu người dùng. Những hệ thống, ứng dụng
này yêu cầu mức bảo mật cao, chẳng hạn như xác thực người dùng, giám sát hành vi người
dùng, đảm bảo an toàn môi trường truyền thông. Mật mã học và sinh trắc học đóng một vai
trò quan trọng trong các ứng dụng bảo mật. Ưu điểm của mật mã là tính khả dụng và có thể
điều chỉnh mức bảo mật tùy thuộc vào mục đích truy cập và quản lý dữ 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ỏ và chống giả mạo mật khẩu hoặc các token
[2], [3]. Nhiều nhà nghiên cứu khai thác và đề xuất nâng cao chất lượng của khóa mật mã được
tạo từ sinh trắc học theo độ an toàn hủy bỏ yêu cầu lưu trữ khóa dựa trên mật khẩu. Kết quả
nghiên cứu và phương pháp kết hợp sinh trắc học với mật mã nâng cao an toàn cho hệ thống.
Mục đích của nghiên cứu này là tích hợp các đặc điểm sinh trắc học của người dùng vào
quá trình tạo khóa dựa trên 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 quá trình tạo khóa đảm bảo an toàn hơn bởi phương pháp này tạo ra biến n lớn và
quá trình phân tích các yếu tố phức tạp hơn so với thuật toán ban đầu [5], do vậy tin tặc không
thể đoán trước được quá trình tạo khóa để thực hiện hành vi gây mất an toàn. Trong bài toán
này, dấu vân tay là một trong những đặc tính được chọn lọc để tích hợp trong quá trình tạo
khóa công khai/bí mật dựa trên thuật toán RSA.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: 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 toàn bảo mật thông tin
i (e, n) và khóa bí mật (d, n) giống như thuật toán RSA ban đầu nhưng khác nhau ở quá trình tạo khóa. Để cải tiến tốc độ giải mã của RSA nhằm tránh một số cuộc tấn công có thể xảy ra trên RSA. Sử dụng số ngẫu nhiên k trong giai đoạn mã hóa, nếu cùng một thông điệp được mã hóa nhiều lần, giá trị k mỗi lần sẽ khác nhau. Thuật toán RSA cải tiến như 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 như 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 và φ(n) = (p-1)(q-1)(s-1). Bước 3: Chọn e sao cho (e, φ(n)) nguyên tố cùng nhau. Bước 4: Lấy giá trị của d bằng cách sử dụng e*d = 1 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 = và khoá bí mật Kr = . Mã hóa Để mã hóa thông điệp M người dùng B nên làm như sau: Người dùng B nên lấy khóa công khai của người dùng A Bước 1: Biểu diễn thông điệp M dạng một số nguyên trong khoảng [0, n-1]. Bước 2: Chọn số nguyên ngẫu nhiên k với gcd(k, n) = 1 và 1 <k<n-1. Bước 3: Tính C1 = kemod n. Bước 4: Tính C2 = Me.k mod n. Bước 5: Gửi các giá trị bản mã (C1, C2) đến người dùng A. Giải mã Quá trình giải mã sử dụng khái niệm RSA CRT. Để phục hồi thông điệp từ văn bản mã C2 người dùng A nên làm như sau: 8 QUẢN LÝ - ĐÀO TẠO 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 và ks = Csds mod s. Bước 2: Tính k bằng 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 toán Euclidean, tính giá trị của số nguyên duy nhất t, t*k = 1 modn và 1 <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 được giá trị của thông điệp M nên làm theo các bước sau: Trước tiên tính C'p = Me mod p, C'q = Me mod q, C's = Me mods và sau đó tính Mp = C'pdp mod p, Mq = C'qdq mod q, Ms = C'sds mod s. Bước 6: Cuối cùng thu hồi thông điệp M bằng 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 toán ví dụ Dưới đây trình bày một ví dụ mô phỏng quá trình mã hóa và giải mã. Ví dụ sử dụng các giá trị nhỏ để làm rõ khái niệm. Tạo khóa: Người dùng A nên làm như sau: Bước 1: Chọn ba số nguyên tố p, q và 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 và 1 < e <φ(n). Lựa chọn e=29 Bước 5: e*d = 1 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 như sau: Lấy khóa công khai của người dùng A (29, 28897) Bước 1: Xét thông điệp M=45, 1 < 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 như 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ị C’p=45, C’q=23, C’s=1 9 QUẢN LÝ - ĐÀO TẠO Sau đó tính các giá trị: Mp=45, Mq=8, Ms=1. Bước 6: Cuối cùng 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 các đường vân và các đường rãnh. Các đường vân được đặc trưng bởi các điểm kết thúc và điểm rẽ nhánh, chúng còn được gọi là điểm kì dị (minutiae). Minutiae là các điểm vi mô của hình ảnh dấu vân tay. Delta và Core được gọi là các điểm vĩ mô. Điểm Core là tâm của vòng xoáy vân tay, và điểm Deltalà tam phân điểm, là nơi giao nhau của ba hướng vân. Hệ thống nhận dạng dấu vân tay đặc trưng bởi 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 giữa chữ ký sinh trắc thu được và thông tin được lưu trữ. Hệ thống nhận dạng vân tay chia nhỏ thành hai lớp chính. Lớp đầu tiên của hệ thống sử dụng thông tin vi mô (minutiae) để thực hiện đối sánh dấu vân tay, trong khi lớp thứ hai của hệ thống sử dụng thông tin vĩ mô (Core và Delta) để thực hiện 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 trên điểm Core và điểm Delta Hệ thống xác thực dấu vân tay dựa trên điểm Core và điểm Delta (xem hình 2). Mô-đun xác thực người dùng được đề xuất tuân theo các hướng dẫn được phát triển trong [8] và được tối ưu hóa qua các giai đoạn thu nhận và xử lý sau đây: 1. Giai đoạn thu thập dấu vân tay (Fingerprint Acquisition phase). 2. Giai đoạn trích xuất Core và Delta (Core and Delta extraction phase). 3. Giai đoạn chuẩn hóa Core và Delta (Core and Delta normalization phase). 4. 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, trong khi các giai đoạn còn lại xử lý và đối sánh dấu vân tay. Các giai đoạn này sẽ được mô tả ngắn gọn trong các phần dưới đây. 1) Giai đoạn trích xuất Core và Delta Giai đoạn trích xuất Core và Delta được thực hiện bằng cách kiểm tra các chỉ số Poin kết hợp với ma trận chỉ hướng. Các điểm kì dị liên quan đến Core, Delta và double Corevới chỉ số Pointương ứng là 180 °, -180 °, 360°. Trong bài báo này, điểm double Coređược kết hợp với điểm Core đơn (xem hình 3). Cụ thể, giai đoạn trích xuất bao gồm bốn thao tác tuần tự: 10 QUẢN LÝ - ĐÀO TẠO Tính Gx và Gy gradients bằng cách sử dụng toán tử Sobel. Tính toán các đạo hàm Dx và Dy. Tính góc θ(i, j)của khối (i, j). Ứng dụng bộ lọc làm nhẵn Gaussian trên ma trận góc. Cuối cùng, các điểm kì dị, Core và Delta được dò tìm sao cho phù hợp với các chỉ số Poincarè. Hình 3: Core và Delta với các vùng riêng biệt (ROIs). 2) Giai đoạn chuẩn hóa Core và Delta Quy trình chuẩn hóa phải được thực hiện sau giai đoạn thu thập Core và Delta. Trên thực tế, kích thước đặc điểm sinh trắc có thể thay đổi do thay đổi độ sáng hoặc biến thể áp suất trong giai đoạn lấy dấu vân tay. Tọa độ quá trình biến đổi mẫu dấu vân tay 21 * 96 đối với mỗi vùng trích xuất có nghĩa: 21 là số lượng các mẫu đã chọn, trong khi 96 pixel là bán kính vòng tròn trung tâm trong điểm Core và Delta (xem hình 4). Hình 4. Ví dụ của 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 được mã hóa bằng phương pháp Log- Gabor. Bộ lọc này thay thế bộ lọc Gabor (về phương diện hiệu suất), có thể được thiết kế với băng thông tùy ý. Đồng thời, cấu tạo bộ lọc Gabor biểu diễn như Gaussian trên phạm vi lôgarit. Bộ lọc tần số này được xác định bởi phương trình (1): Trong đó f0 là tần số trung tâm và σ là băng thông bộ lọc. Mỗi một hàng định danh được chuẩn hóa coi như một tín hiệu đơn 1D, xử lý bởi thao tác nhân chập bằng bộ lọc Log-Gabor 1D (xem hình 5). 11 QUẢN LÝ - ĐÀO TẠO 4) Giai đoạn đối sánh Điểm đối sánh được tính thông qua tính toán khoảng cách Hamming giữa hai định danh cuối cùng. Mẫu thu được trong quá trình tạo định danh sẽ cần đối sánh số đo tương ứng tiêu chuẩn cung cấp để đánh giá mức độ tương đồng giữa hai định danh. Nếu hai mô hình X và Y được so sánh, khoảng cách Hamming (HD) được định nghĩa là tổng các bit không liên quan ở vị trí tương đồng (hoạt động XOR giữa X và Y bit). Nói cách khác, thuật toán đối sánh tuân theo phương trình (2): Trong đó N là tổng số bit. Hình 5: Mã nhận dạng vân tay được mã hóa thu được khi áp dụng bốn mức lượng tử hóa trong bộ lọc Log-Gabor 1D. - Tạo và phân phối khóa công khai, khóa bí mật Biometric RSA sử dụng thuật toán RSA cải tiến để tính toán hai khóa từ các đặc điểm dấu vân tay của mỗi người dùng được lưu trữ trên Smartcard trong giai đoạn đăng ký. Hệ thống PKI sinh trắc mới được đề xuất chỉ tập trung vào việc tạo khóa bí mật khi cần. Khóa bí mật được tạo ra có thể được sử dụng cho hai nhiệm vụ chung: giải mã và chứng thực tài liệu. Bằng cách này, khóa bí mật không thể bị mất hoặc bị đánh cắp. Trong giai đoạn tạo khóa công khai, người dùng phải đăng ký vào hệ thống/nền tảng ứng dụng với dấu vân tay của mình. Sau khi người dùng lấy dấu vân tay, định danh được trích xuất và lưu trữ trong Smartcard của người dùng. Sử dụng thông tin định danh để tạo và phân phối khóa công khai (xem hình 6). Hình 6: Pha tạo khóa công khai 12 QUẢN LÝ - ĐÀO TẠO Trong giai đoạn tạo khóa bí mật, người dùng phải trải qua giai đoạn xác thực. Cụ thể hơn, người dùng giới thiệuSmartcard đến người đọc và đưa ra dấu vân tay của mình thông qua cảm biến. Hai dữ liệu này được xử lý: nếu người dùng được xác thực chính xác, thì họ có thể đăng nhập vào hệ thống để sử dụng và quản lý dữ liệu, dịch vụ, tài nguyên, và cũng có thể tạo ra khóa bí mật của mình; Nếu người dùng không được chứng thực thì họ sẽ bị từ chối bởi hệ thống (xem hình 7). Hình 7: Giai đoạn tạo khóa bí mật DoD đã phát hành thành công các chứng chỉ số trên Common Access Cards (CAC) tới hơn 85% trong tổng số 3,5 triệu người sử dụng. PKI của DoD bao gồm một Root CA và nhiều CA cấp dưới. Root CA chỉ cấp giấy chứng nhận cho CA cấp dưới. Các CA cấp dưới phát hành năm loại chứng chỉ: định danh, chữ ký, mã hóa, Componentvà Code Signing. Tất cả các khóa bí mật liên quan đến chứng chỉ mã hóa đều được đảm bảo trước khi phát hành chứng chỉ. Ngoài ra, để cập nhật hồ sơ chứng nhận và CA, DoD phải quản lý các vấn đề chuyển đổi Smartcard của người dùng. Sử dụng không gian thẻ thông minh, giải pháp được đề xuất này sẽ cho phép người dùng thực hiện bảo trì thẻ, chẳng hạn như cập nhật chứng chỉ từ máy trạm cá nhân thay vì phải quay lại trạm cấp phát. 4. Kết quả đạt được Dựa trên các bài báo nghiên cứu, bài viết đạt được kết quả sau: nghiên cứu giải thuật RSA cải tiến sử dụng ba số nguyên tố p, q, s ứng dụng trong hệ thống Biometric RSA. Trong giải thuật RSA cải tiến, khóa công khai (e, n) giống như thuật toán RSA ban đầu. Tuy nhiên, điểm mới của RSA cải tiến là quá trình tạo khóa, và khóa bí mật, bản mã thu được. Thành phần khóa bí mật trong RSA cải tiến bao gồm bảy yếu tố thay vì chỉ có hai yếu tố (d, n) như trước. Và bản mã nhận được là một cặp (C1, C2). Giải thuật mới đã cải thiện tốc độ giải mã nhờ sử dụng cơ chế bảo mật RSA CRT làm giảm một số cuộc tấn công có thể xảy ra trên thuật toán RSA. Độ phức tạp mã hóa của thuật toán là 22n2 + O (n3) và độ phức tạp giải mã là (8u + 6ne + 10) n2 + O (n2). Nếu so sánh với độ phức tạp của thuật toán RSA ban đầu nhận thấy rằng giải pháp sử dụng thuật toán RSA cải tiến tốn kém ít hơn. 5. Kết luận Trong bài báo này, dấu vân tay đã được tích hợp trong thuật toán RSA cải tiến để phát triển một hệ thống mã hóa bất đối xứng mới. Trong giai đoạn đăng ký, đặc điểm sinh trắc được thu thập và xử lý để trích xuất các điểm riêng biệt. Được biểu diễn dạng mã và lưu trữ 13 QUẢN LÝ - ĐÀO TẠO trong Smartcard của người dùng. Trong giai đoạn xác thực, định danh sinh trắc đã đăng ký kết hợp định danh sinh trắc truy vấn để xác thực người dùng và tạo cặp khóa công khai/bí mật. Với giải pháp được đề xuất, khóa bí mật của người dùng được đảm bảo an toàn hơn so với khóa bí mật được tạo bởi thuật toán RSA ban đầu. Bài toán trong tương lai được mở rộng đối với một số đặc tính sinh trắc học đặc biệt khác. Tài liệu tham khảo Tiếng Việt [1]. Nguyễn Tài Nguyên, Nguyễn Đức Huy (2010), “Ứng dụng sinh trắc học trong chứng thực mạng riêng ảo”, tạp chí Công nghệ thông tin và truyền thông, kỳ 2, số (1), trang 45. [2]. Bùi Ánh Dương (2006), “Bảo mật thông tin sử dụng cơ sở hạ tầng khóa công khai (PKI), Luận văn thạc sĩ khoa học Trường Đại học Bách khoa Hà Nội. Tiếng Anh [1]. Jagadeesan, T. Thillaikkarasi, K. Duraiswamy, “Cryptographic Key Generation from Multiple Biometric Modalities: Fusing Minutiae with Iris Feature”, International Journal of Computer Applications (0975-8887) Vol. 2-No.6, pp. 16-26, June 2010. [2]. C. Militello, V. Conti, S. Vitabile and F. Sorbello, “Embedded Access Points for Trusted Data and Resources Access in HPC Systems”, The Journal of Supercomputing - An international journal of HighPerformance Computer Design, Analysis and Use, Springer Netherlands Publisher, 2010, ISSN 0920-8542, Vol. 55, N° 1, pp. 4-27, (ISSN Online 1573- 0484), doi:10.1007/s11227-009-0379-1. [3]. V. Conti, C. Militello, S. Vitabile and F. Sorbello, “A Multimodal Technique for an Embedded Fingerprint Recognizer in Mobile Payment Systems”, International Journal on Mobile Information Systems-Vol. 5, No. 2, 2009, pp. 105-124, IOS Press Ed., ISSN: 1574- 017X, doi:10.3233/MIS-2009-0076. [4]. Vincenzo Conti, S. V. (2012). Fingerprint Traits and RSA Algorithm Fusion Technique. Sixth International Conference on Complex, Intelligent, and Software Intensive Systems, (pp. 351-356). Palermo. [5]. Nikita Somani, Dharmendra Mangal “An Improved RSA Cryptographic System”, International Journal of Computer Applications (0975-8887), Volume 105- No. 16, November 2014. [6]. J. Daemen, V. Rijmen AES proposal: Rijndael. From web: [7]. A. H. Al-Hamami and I. A. Aldariseh, “Enhanced Method for RSA Cryptosystem Algorithm”, IEEE International Conference on Advanced Computer Science Applications and Technologies, pp. 402-408, 2012. [8]. V.Conti, C. Militello, F.Sorbello, S.Vitabile. “A Frequency-based Approach for Features Fusion in Fingerprint and Iris Multimodal Biometric Identification Systems”, IEEE Transactions on Systems, Man, and Cybernetics (SMC) Part C: Applications & Reviews, pp.384-395. ISSN: 1094 6977, doi:10.1109/TSMCC.2010.2045374. [9]. Gang Zheng, Wanqing Li and Ce Zhan, “Cryptographic Key Generation from 14 QUẢN LÝ - ĐÀO TẠO Biometric Data Using Lattice Mapping”, in Proceedings of the 18th International Conference on Pattern Recognition, vol.4, pp. 513-516, 2006. [10]. Beng.A, Jin Teoh and Kar-Ann Toh, “Secure biometrickey generation with biometric helper”, in proceedings of 3rd IEEE Conference on Industrial Electronics and Applications, pp.2145-2150, Singapore, June 2008. COMBINATION OF FINGERPRINT AND IMPROVED RSA ALGORITHM IN INFORMATION SECURITY Trinh Văn Anh, Ph.D student Do Thi Hang, M.A Abstract: The article analyzes a safe computing system which focuses on the asymmetric key generation based on biometrics. Typically, PKI systems based on secret / public keys are created via RSA or similar algorithms. The current solution is to embed biometrics into the process of generating a secret / public key. Initial tests show that creating asymmetric keys depends on the actual accuracy of biometrics that ensures unique asymmetric keys for each authenticated user. Key words: fingerprint, asymmetric coding techniques, combination of biometrics and encryption algorithms Người phản biện: NCS. Trịnh Tất Đạt (ngày nhận bài 03/01/2019; ngày gửi phản biện 05/01/2019; ngày duyệt đăng 02/4/2019). 15
File đính kèm:
- ky_thuat_ket_hop_dau_van_tay_va_thuat_toan_rsa_cai_tien_ung.pdf