NGHIÊN CUU LIEN QUAN

Một phần của tài liệu Khóa luận tốt nghiệp An toàn thông tin: Bảo mật dữ liệu cho phương pháp đối sánh mẫu nhanh trên thiết bị IoT (Trang 28 - 33)

NGHIÊN CỨU LIÊN QUAN

Chương 2. NGHIÊN CUU LIEN QUAN

2. Khởi tao: Với mỗi ký tu trong ©, thuật toán tao ra một vector, gọi là Character

Delay Vector (CDV). Các vector này có kích thước bằng với kích thước của mẫu

p, tức là mm. Ban đầu tất cả các phần tử của những vector này được khởi tạo bởi

0. Ví dụ, nếu mẫu là p = “TACT”, bang chữ cái gồm © = {A,C,G,T}. Các CDV cần có là CDV(A), CDV(C), CDV(G), và CDV(T). Tất cả chúng đều được

khởi tạo là [0, 0,0,0].

3. Tiền xử lý mẫu: Với mỗi lần xuất hiện thứ r của ký tự p; (1 < i < m) trong

mẫu 7, ta gọi giá tri delay dj, là số lượng ký tự tính từ p; đến cuối mẫu, tức

độ, = mi. Sau đó, phan tử thứ đ;, trong CDV(p;) được đặt là 1. Tiếp tục với

vi dụ trên (mau là "TACT"), ta có:

* CDV(A) = [0,0,1,0| bởi vì d1 = 4— 2= 2

s CDV(C) = [0,1,0,0] bởi vì đè = 4— 3 = 1

* CDV(G) = [0,0,0,0] bởi vì G không xuất hiện trong mẫu.

* CDV(T) = [1,0,0,1] bởi vì đ} = 4— 1 = 3 và đ‡ = 4— 4= 0

4. Quá trình đối sánh: Thuật toán tạo một vector có phần tử gọi là Activation

Vector (AV) và các phần tử trong vector này được khởi tạo là 0. Với mỗi ký tự thứ ƒ (1 < j < n) trong T, gọi là T;, CDV(T;) sẽ được cộng (theo từng phần tử) với các phan tử trong AV bat đầu từ j đến min(n, j + im — 1).

5. So sánh với kích thước mẫu: Để xác định mẫu có tổn tại trong văn bản hay

không, thuật toán sẽ kiểm tra điều kiện AV(j) = m (với j > m). Nếu điều kiện trên đúng, thì mẫu p sẽ xuất hiện trong T ở vị trí j — ím + 1.

Tiếp theo, họ chuyển thuật toán từ dạng "dé minh hoa" sang dạng chi sử dung các phép toán đại số tuyến tính, nơi mà các phép toán trên ma trận được sử dụng thay

vì cách biểu diễn trực quan như đã trình bày. Từ đó, các tác giả có thể sử dụng các phép toán trong thuật toán mã hóa đồng hình lên dữ liệu một cách dé dàng, mà cụ thể là thuật toán mã hóa ElGamma. Tuy nhiên, điểm yếu của bài toán này là nó sử dụng mã hóa đồng hình không phù hợp với các thiết bị IơT. Hơn thé nữa, các bước trong thuật toán cũng quá phức tạp để biếu diễn khi không thể sử dụng các phép toán đại số tuyến tính.

16

Chương 2. NGHIÊN CUU LIEN QUAN

Bên cạnh đối sánh chuỗi, đối sánh hình ảnh cũng là một trong những bai toán thú

vị của đối sánh mẫu mà nó thu hút rất nhiều sự quan tâm của các nhà khoa học.

Năm 2016, Abduljabbar và cộng sự đã dé xuất bài báo nghiên cứu về đối sánh hình

ảnh an toàn "Towards Secure Private Image Matching" [2]. Trong bai bao nay, ho giai

quyết bài toán được mô tả như sau:

* Alice và Bob là hai đối tượng không tin cậy lẫn nhau.

¢ Bob sở hữu một tập các hình ảnh.

® Alice sở hữu một hình ảnh.

¢ Alice muốn kiểm tra trong tập hình ảnh của Bob có hình ảnh nào giống với

hình ảnh của Alice không?

© Điều kiện là cả Alice và Bob đều không được để lộ hình ảnh của mình cho đối

phương.

Trong khi nghiên cứu của Baron và cộng sự thuộc về loại đối sánh chính xác, nghiên cứu về đối sánh hình ảnh thuộc loại đối sánh tương tự. Đối sánh tương tự mong muốn tính toán được một độ đo thể hiện mức độ giống nhau giữa hai mẫu, được gọi là mức độ tương đồng (similarity). Phép toán để đánh giá mức độ tương đồng được các tác giả sử dụng trong bài báo là độ đo cosin. Nó có tính chất: độ đo cosin giữa 2 vector càng nhỏ, 2 vector càng "giống" nhau. Ban dau, họ biến các hình ảnh thành các vector đặc trưng thông qua các thuật toán trích xuất đặc trưng hình

ảnh (chang han SIFT, SURF) và áp dụng phép đo lên các vector đặc trưng đó. Giống

với nghiên cứu của Baron và cộng sự (71, ho cũng chuyển các phép toán về dang

đại số tuyến tính. Việc này có thể giúp ho dé dàng sử dung các phép toán trong mã hóa đồng hình lên các vector đặc trưng. Trong cùng năm đó, bài báo "SEPIM: Secure and Efficient Private Image Matching" [1] cũng đã được công bé bởi cùng các tác giả (Abduljabbar và cộng sự). Lần này Bob được giả định là sở hữu một lượng rất lớn hình ảnh trong cơ sở dữ liệu của anh ta. Sẽ mat thời gian nếu áp dụng thuật toán

so khớp hình ảnh lên tat cả các dữ liệu của Bob. Thay vào đó, họ dé xuất một mô

hình mà nó sử dụng thuật toán phân cụm K-means (K-means clustering) cùng với

cây chỉ mục (index tree) trên các vector đặc trưng đã được mã hóa để phân nhóm các hình ảnh trong tập dữ liệu của Bob. Việc này có thể giảm đi đáng kể số lần thực

17

Chương 2. NGHIÊN CUU LIEN QUAN

hiện thuật toán đối sánh. Điều đặc biệt trong hai bai báo của các tác giả trên là họ

sử dụng các vector đặc trưng thay cho hình ảnh gốc, từ đó có thể giảm rất nhiều chi

phí tính toán do các vector đặc trưng có kích thước khá nhỏ. Tuy nhiên, giải pháp

này khó có thể áp dụng lên các bài toán mà mẫu không phải là hình ảnh.

Mặc dù các thuật toán nêu trên cố gắng làm giảm thời gian đối sánh mẫu, nhưng chúng vẫn phải sử dụng các thuật toán mã hóa đồng hình có chỉ phí tính toán rất lớn. Những thuật toán này không thích hợp khi áp dụng lên các thiết bị IơT. Tuy nhiên họ vẫn cung cấp cho chúng tôi ý tưởng và động lực để thực hiện nghiên cứu

của mình.

2.2 Các nghiên cứu về đảm bao tính toàn ven của dữ

liệu đám mây

Vào năm 2007, Ateniese và cộng sự [5] đã đưa ra định nghĩa chính thức của mô hình

xác thực tính toàn vẹn của dữ liệu từ xa, được gọi là Provable of Data Possession hay

PDP. Mô hình này yêu cầu máy chủ (bên lưu trữ dữ liệu) cung cấp các bằng chứng

về sự tồn tại của dữ liệu cho máy khách (chủ sở hữu dữ liệu). Máy khách cần sở hữu một số thông tin nhằm xác thực lại các bằng chứng của máy chủ.

Một điều đặc biệt là thuật toán của Ateniese và cộng sự là một thuật toán xác suất, tức là nó không đảm bảo chắc chắn về kết quả đầu ra. Cụ thể, các tác giả không yêu cầu bằng chứng của toàn bộ dữ liệu, thay vào đó họ chia dữ liệu thành nhiều khối

và máy chủ chỉ chứng minh sự toàn vẹn của các khối mà máy khách chọn. Nếu các khối đã chọn được chứng minh là toàn vẹn, thì khả năng cao là toàn bộ tệp tin cũng

toàn vẹn. Ngược lại, nếu chỉ có một khối không còn toàn vẹn, điều này khẳng định rằng tệp tin đã bị sửa đổi hoặc không còn tổn tại ở máy chủ. Ưu điểm của các thuật toán xác suất thường là có tốc độ vượt trội hơn so với thuật toán chính xác.

Các tác giả xây dựng bài toán PDP tổng quát bao gồm một tập hợp 4 thuật toán sau

đây:

tTrong bài báo, các tác giả gọi cặp khóa của mã hóa khóa công khai là "public key/secret key" và

được chúng tôi dịch là "khóa công khai/khóa bí mật".

18

Chương 2. NGHIÊN CUU LIEN QUAN

1. KeyGen(1*) —> (pk,sk) là một thuật toán sinh khóa được chạy bởi máy khách.

Nó nhận một tham số an toàn k làm đầu vào và tạo ra một cặp khóa công

khai/bí mật (pk, sk).

2. TagBlock(pk,sk,m) — Tm là một thuật toán được chạy bởi máy khách nhằm

sinh ra các thông tin xác thực. Đầu vào của nó là khóa công khai pk, khóa bí mật sk và một khối dữ liệu m. Nó trả về kết quả là dữ liệu xác thực Ty, của khối

dữ liệu đó.

3. GenProof(pk, F, chal,>) + V được chạy bởi máy chủ để sinh ra bằng chứng của

việc sở hữu tệp tin. Nó nhận đầu vào là khóa công khai pk, một tập hợp gồm nhiều khối dữ liệu F, một tham số thử thách chal và một tập hợp các dữ liệu xác thực 4 tương ứng với các khối dữ liệu trong F. Thuật toán này trả về một bằng chứng sở hữu V.

4. CheckProof(pk,sk,chal, V) —> {success, failure} được chạy bởi máy khách để xác

thực bằng chứng sở hữu. Nó nhận đầu vào là khóa công khai pk, khóa bí mật

sk, tham số thử thách chal và bang chứng sở hữu V. Kết quả của thuật toán này

sẽ xác định V có phải là một bằng chứng đúng hay không.

Mô hình mà các tác giả đề xuất được dựa trên mã hóa khóa công khai RSA và giả

định KEA-1 (Knowledge of Exponent Assumption). Tuy nhiên, vì sử dụng các thuật

toán mã hóa khóa công khai, nó rất khó để có thể áp dụng trên các thiết bị IoT.

Sau một năm, Ateniese và cộng sự tiếp tục công bó thêm bài báo "Scalable and Ef-

ficient PDP" vào năm 2008 [6]. Đây là một nghiên cứu về thuật toán PDP được kế

thừa và mở rộng từ nghiên cứu trước đó của họ [5]. Mô hình này chỉ sử dụng mã hóa đối xứng và hàm băm mật mã thay cho mã hóa bất đối xứng, do đó có tốc độ vượt trội hơn so với mô hình trước. Chúng tôi nhận ra rằng giải pháp này rất phù hợp với các mục tiêu và yêu cầu bài toán mà chúng tôi đặt ra, đó là sử dụng AES-256

và SHA-256 để bảo vệ dữ liệu. Do đó, chúng tôi áp dụng phương pháp này để đảo

bam tính toàn vẹn dw liệu trong mô hình lưu trữ an toàn của chúng tôi.

Vào năm 2011, Jian Yang và cộng sự dé xuất một phương pháp mà có thể giải quyết bài toán PDP trên các thiết bị di động. Thành quả nghiên cứu của họ được cải tiến từ các mô hình trước đó với cầu trúc Merkel Hash Tree, chữ ký số và ánh

xạ song tuyến (bilinear map). Một ưu điểm của mô hình này so với mô hình trước

19

Chương 2. NGHIÊN CUU LIEN QUAN

đó là nó có thể truy vấn sự toàn vẹn của đữ liệu với số lần không giới hạn, điều

mà mô hình của Ateniese và cộng sự (6) không lam được. Tuy nhiên trong mô

hình này, các thiết bị di động không thực sự thực hiện các nhiệm vụ tiêu tốn nhiều tài nguyên, chẳng hạn như mã hóa dữ liệu, xác thực dữ liệu và sinh siêu dữ liệu.

Thay vào đó, những nhiệm vụ này được hỗ trợ thực hiện bởi một bên thứ ba (Third Party Agent - TPA). Hơn thế nữa, mô hình trong nghiên cứu của các tác giả yêu cầu thiết bị di động có hỗ trợ TPM (Trusted Platform Module) và bên thứ ba TPA cũng được cho là tin cậy. Đây là nguyên nhân khiến cho mô hình của họ khó để triển khai.

2.3 Các thuật toán mat mã

Năm 2016, Chen và cộng sự đã chỉ ra rằng khi các máy tính lượng tử được phát

triển, chúng có thể phá vỡ nhiều hệ thống mã hóa khóa công khai. Theo Mavroeidis

và cộng sự [15], các thuật toán mã hóa khóa công khai hiện tại đều dựa trên hai bài

toán chính, đó là phân tích thừa số nguyên tố và tính toán logarit rời rạc. P.W. Shor

đã dé xuất một thuật toán mà nó có thể giải quyết bài toán phân tích thừa số nguyên tố với máy tính lượng tử. Thuật toán của Shor còn có thể khiến nhiều loại

mã hóa dựa trên tính toán với số lớn không còn an toàn nữa. Tuy nhiên, không chỉ

có mã hóa bắt đối xứng, mã hóa đối xứng và hàm băm mật mã vẫn chịu ảnh hưởng

bởi máy tính lượng tử. Lov Grover đã tạo ra một thuật toán lượng tử có thể phá

mã thuật toán DES với khóa có độ dài 56 bit. Trong bài báo của Mavroeidis và cộng

sự [15], cac tac gia cho biết các thuật toán AES vẫn được xem xét là một trong những

thuật toán mật mã có khả năng an toàn trước các cuộc tấn công lượng tử, tuy nhiên điều này chỉ đúng nếu nó được sử dụng với khóa có độ dài 192 bit hoặc 256 bit. Brassard và cộng sự đã sử dụng thuật toán của Grover để tạo ra một cuộc tân công birthday lượng tử chống lại các hàm băm mật mã có kích thước đầu ra ngắn. Tuy nhiên, SHA-2 (trong đó có SHA-256) và SHA-3 có kích thước đầu ra lớn hơn vẫn còn an toàn trước các cuộc tân công này.

20

Chương 3

Một phần của tài liệu Khóa luận tốt nghiệp An toàn thông tin: Bảo mật dữ liệu cho phương pháp đối sánh mẫu nhanh trên thiết bị IoT (Trang 28 - 33)

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

(71 trang)