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