Tải bản đầy đủ (.pdf) (7 trang)

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 - Trường Đại học Công nghiệp Thực phẩm Tp. Hồ Chí Minh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (386.88 KB, 7 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

5

<b>KỸ THUẬT KẾT HỢP DẤU VÂN TAY VÀ THUẬT TOÁN RSA </b>


<b>CẢI TIẾN ỨNG DỤNG VÀO AN TỒN BẢO MẬT THƠNG TIN </b>



<b>NCS. Trịnh Văn Anh1</b>
<b>ThS. Đỗ Thị Hằng2</b>
<i><b>Tóm tắt: </b>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 </i>
<i>khóa bất đối xứng dựa trên sinh trắc học. Thông thường, hệ thống PKI (cơ sở hạ tầng khóa </i>
<i>cơng khai) dựa trên khóa bí mật/cơng khai được tạo thông qua RSA (thuật toán) hoặc các </i>
<i>thuật toán tương tự. Giải pháp hiện tại nhúng sinh trắc học vào quá trình tạo khóa bí </i>
<i>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 </i>
<i>độ chính xác xác thực sinh trắc học, đảm bảo khóa bất đối xứng duy nhất cho mỗi người dùng </i>
<i>được chứng thực. </i>


<b>Từ khóa: </b>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 và thuật tốn
mã hóa.


<b>1. Giới thiệu </b>


Đ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 tồ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 tố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 q trình tạo khóa đảm bảo an tồn hơn bởi phương pháp này tạo ra biến n lớn và
q 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ể đốn trước được q 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 tốn RSA.


Khóa bí mật sinh trắc khơng được lưu trữ trong bất kỳ thiết bị nào, vì nó được tạo bởi
các đặc điểm vân tay lưu trữ trong Smartcard tại giai đoạn đăng ký. Vì vậy, nó khơng thể bị
mất cũng như bị đánh cắp.




1, 2<sub> Trung tâm Công nghệ Thơng tin - Trường Đại học Văn hóa, Thể thao và Du lịch Thanh Hóa </sub>


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

6


Hệ thống Biometric RSA được đề xuất bao gồm hai mô-đun chính: mơ-đun xác thực
vân tay và mơ-đun mã hóa bất đối xứng. Mơ-đun xác thực vân tay dựa trên phương pháp tiếp
cận đơn thức sử dụng các điểm Core và Delta. Mơ-đun mã hóa bất đối xứng thực hiện thuật
toán RSA cải tiến. Mơ-đun đầu tiên đề cập đến việc trích xuất định danh sinh trắc và 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 đã được trích xuất.


Bài báo được tổ chức như sau. Phần 2 đưa ra cơ sở lý thuyết và phương pháp nghiên
cứu. Trình bày bài tốn liên quan; hệ thống Biometric RSA. Phần 3, trình bày kết quả thực
nghiệm, đánh giá hiệu năng của kiến trúc đề xuất dựa trên độ phức tạp mã hóa và giải mã.
Cuối cùng, phần 4 báo cáo, kết luận của bài báo.


<b>2. Bài toán liên quan </b>



Gần đây, nhiều bài toán nghiên cứu thực hiện phát triển các phương pháp tạo khóa bí
mật từ các đặc điểm sinh trắc học và xác thực người dùng bằng cách kết hợp nhiều phương
thức sinh trắc học. Tiếp theo, một số bài toán chính của mật mã sinh trắc sẽ được mơ tả.


Trong [6], các tác giả đã trình bày một phương pháp mã hóa dựa trên sinh trắc học sử
dụng đặc điểm mống mắt và sử dụng token chống giả mạo (tương tự Smartcard) để lưu trữ
khóa được tạo ra 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 và token. Phương pháp được đánh giá dựa trên kết quả thực nghiệm lấy từ các mẫu
mống mắt với 70 mắt khác nhau, và 10 mẫu từ mỗi mắt. Khóa được tạo ra từ một mã mống
mắt với tỷ lệ khơng sai số đạt 99,5%. Độ dài khóa sinh trắc là 140-bit phù hợp với tiêu chuẩn
mã hóa tiên tiến AES 128-bit. AES là tên viết tắt của cụm từ Advanced Encryption Standard,
chuẩn mã hóa dữ liệu cực kì phổ biến hiện nay và AES là một kiểu mã hóa đối xứng dạng
khối, nghĩa là mỗi khối văn bản có một kích thước nhất định (ở đây là 128 bit) được mã hóa,
khác với mã hóa dạng chuỗi khi từng kí tự được mã hóa. Trong [9], các tác giả mơ tả phương
pháp ánh xạ mạng lưới dựa trên phương thức cam kết mờ để tạo ra khóa mật mã từ dữ liệu
sinh trắc học. Kỹ thuật này che giấu dữ liệu sinh trắc học ban đầu và tạo ra các khóa entropy
cao. Các kết quả mơ phỏng đã xác nhận độ chính xác xác thực bằng phương pháp k-nearest
neighbor. K-nearest neighbor là một trong những thuật toán supervised-learning đi tìm đầu ra
của một điểm dữ liệu mới bằng cách <i>chỉ </i>dựa trên thông tin của K điểm dữ liệu trong training
set gần nó nhất (K-lân cận), <i>khơng quan tâm đến việc có một vài điểm dữ liệu trong những </i>


<i>điểm gần nhất này là nhiễu</i>. Trong [10], các 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 này bao gồm hai bước: xây dựng một mã dự phịng và
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 các lỗi. Thứ hai, kiểm
soát các biến thể trong lớp dữ liệu sinh trắc đến mức tối thiểu. Tập con của cơ sở dữ liệu
Facial Recognition Technology (FERET là công nghệ nhận dạng khuôn mặt) giúp đánh giá kỹ
thuật trong phạm vi dữ liệu khuôn mặt.



<b>3. Hệ thống Biometric RSA </b>


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

7
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. Sau đó được mã hóa và lưu trữ trong thiết bị chống giả mạo là Smartcard.


Trong giai đoạn xác thực, định danh sinh trắc đã đăng ký được sử dụng cùng với định
danh sinh trắc truy vấn để xác thực người dùng và tạo ra cặp khóa cơng khai và 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ệ giữa các đặc
điểm sinh trắc và thuật toán mật mã là một cặp số nguyên tố. Quy trình ánh xạ định danh sinh
trắc vào tập số nguyên tố được thực hiện bằng cách sử dụng chức năng ad-hoc. Bắt đầu từ
việc phân tích dấu vân tay xuất ra chuỗi bit, mẫu đầu tiên được thực hiện trên một phần của
vector. Các nhóm bit lấy mẫu được ghép nối để tạo chuỗi bit cuối cùng. Dãy này biểu diễn
cho chỉ số của số nguyên tố đầu tiên được lưu trữ trong bảng tra cứu. Lấy mẫu lần hai thực
hiện trên các phần khác nhau của vector ban đầu, được thực thi để tính tốn một chỉ số khác
biểu diễn cho số nguyên tố thứ hai. Bảng tìm kiếm được xây dựng ngoại tuyến và nó chứa số
ngun tố có kích thước lớn.


<i>Hình 1: Hệ thống đề xuất Biometric RSA </i>


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à q 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ưới đây.


- <i><b>Phương pháp mã hóa bất đối xứng dựa trên thuật tốn RSA cải tiến </b></i>


Hệ mật khóa cơng khai RSA chậm hơn nhiều so với DES và các hệ mật khóa đối xứng
khác. Đã có nhiều nghiên cứu được thực hiện cải thiện tốc độ của hệ mật mã RSA.



</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

8


kết hợp của thuật toán này. Trong năm 2009, D.Garg và S. Verma so sánh các biến thể RSA
(Batch RSA, Multiprime RSA, Multipower RSA, Rebalanced RSA, Rprime RSA). Một trong
những phương pháp đề xuất mở rộng RSA được giới thiệu bởi AH Al-Hamami và
IAAldariseh và được mô tả ở đây [4].


Vào năm 2012, A.H. Al-Hamami và I.A. Aldariseh [7] đề xuất một khái niệm mới trong
hệ thống mật mã RSA bằng cách cải thiện thuật toán RSA sử dụng số nguyên tố thứ ba bổ
sung trong thành phần của khóa cơng khai và khóa bí mật với kích thước thu gọn, thay vì sử
dụng hai số nguyên tố lớn. Phương pháp luận của giải thuật được trình bày như sau:


 Chọn ba số nguyên tố khác biệt p, q và s.


 Tính giá trị của n sao cho n = p*q*s; n sẽ được sử dụng cho cả khóa cơng khai và khóa
bí mật.


 Tìm φ(n) = (p-1)(q-1)(s-1).


 Chọn một số e sao cho 1 < e <φ(n). e và φ(n) là nguyên tố cùng nhau. e là số mũ khóa
cơng khai.


 Tương tự thuật tốn RSA ban đầu, xác định số mũ khóa bí mật d bằng cách tính tốn
d*e = 1 (mod φ(n)).


Trong thuật tốn Hamami và Aldariseh trình bày ở trên, khóa cơng khai (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:


<b>Tạo khóa </b>


Để 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 = <e, n> và khố bí mật Kr = <d, p, q, s, dp, dq, ds>.


<b>Mã hóa </b>


Để 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 <e, n>


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 = ke


mod 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.



<b>Giải mã </b>


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

9
Bước 1: Tính Cp = C1 mod p, Cq = C1 mod q, Cs = C1 mods. Và sau đó tính tố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 tố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>Bài tốn ví dụ </b>



Dưới đây trình bày một ví dụ mơ phỏng q 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.


<b>Tạo khóa</b>: 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}


<b>Mã hóa</b>: 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.


<b>Giải mã</b>: 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ị


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

10


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.
- <i><b>Mô-đun xác thực vân tay </b></i>


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 xố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.


<i>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 </i>


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


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

11


 Tính Gx và Gy gradients bằng cách sử dụng toán tử Sobel.


 Tính tố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è.


<i>Hình 3: Core và Delta với các vùng riêng biệt (ROIs). </i>


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).


<i>Hình 4. Ví dụ của ROI chuẩn hóa </i>


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):


</div>

<!--links-->

×